本发明专利技术提供一种低延迟视频编码中基于场景切换的码率控制方法。本发明专利技术通过计算当前帧的灰度直方图与上一帧的灰度直方图计算两相邻帧的相似度指标准确地检测出场景切换,从而有效地通过调节GOP长度来控制码率,进一步的,还可以同时通过调节量化参数、当前编码帧率来控制码率。如果场景切换检测到发生,立即将当前帧类型设置为I-帧,将GOP中关于已编码P-帧的计数器置0,相关环境作初始化,即重新开始一个GOP的编码以提高视频编码的自适应性。
【技术实现步骤摘要】
低延迟视频编码基于场景切换检测的码率控制方法
本专利技术涉及视频图像压缩编码技术。
技术介绍
码率控制是视频编码器中重要的功能组成部分。随着网络视频应用的不断拓展,网上视频点播、网络视频监控、视频电话通信和社交网络中视频应用的不断兴起和流行,视频图像的即时高质量传输及服务成为急迫的技术需求。上述这些应用在低延迟数据传输、控制、响应、带宽等方面都具有相对受限性。因此,开发适用于多种视频编解码标准的低延迟码率控制系统具有强烈的现实意义。视频编码中的低延迟(Low-delay)特指帧间预测编码过程中仅包含帧内预测I-帧和单向预测P-帧,不使用双向预测即不采用B-帧结构编码。低延迟编码是快速进行的顺序编码,编码顺序和播放顺序一致。最常见的低延迟编码为“IPP..”或“IPP..IPP..”结构。图像组GOP被定义为以一个起始I-帧和若干连续P-帧组成,它的长度可以是固定的也可以是变化的。此外,全I-帧编码结构作为低延迟编码的特殊,其编码为“III..”。在全I-帧编码结构下,每一个GOP仅包含一个I-帧。视频图像信号源场景变化、镜头瞬间切换频繁。从编解码器内部来看,由于采用帧间预测方式,后续帧将参考早前解码帧,那么在场景切换的瞬间,当前编码帧将无法直接从早前解码帧中获得有效的可参考图像(块)。从外部应用角度来看,场景切换时恰好应该是图像进行合理重新分组的时候,这样可以有效阻断视频编码预测误差蔓延。
技术实现思路
本专利技术所要解决的技术问题是,提供一种面向低延迟视频编码结构,可以准确检测出场景切换,进一步调整GOP长度,进行码率控制的方法。本专利技术为解决上述技术问题所采用的技术方案是,低延迟视频编码中基于场景切换的码率控制方法,包括以下步骤:1)计算当前帧的灰度直方图;2)通过当前帧的灰度直方图与上一帧的灰度直方图计算两相邻帧的相似度指标;所述相似度指标通过高维向量余弦相似度表示:其中,cos(θt-1,t)为两相邻帧直方图的余弦相似度,t表示当前编码时刻,Ht[i]表示在编码时刻t的视频图像帧像素灰度值为i的像素点总数,Ht-1[i]表示在上一编码时刻t-1的视频图像帧像素灰度值为i的像素点总数,视频图像帧像素灰度值的范围为1至n,n是灰度直方图用一维数组表示时的总元素个数;3)当两相邻帧的相似度指标小于阈值,则表示发生场景切换,进入步骤4);否则设置当前帧类型设置为P-帧,提取下一帧数据后返回步骤1);4)统计当前图像组GOP中已编码的P-帧是否达到帧率周期数值,如是,则进入步骤5),否则设置当前帧类型设置为P-帧,提取下一帧数据后返回步骤1);5)设置当前帧类型设置为I-帧,开始一个新的GOP,提取下一帧数据后返回步骤1);在当前的编码时刻t,如当前编码帧为I-帧时,使用量化参数Q:在当前的编码时刻t,如当前编码帧为P-帧时,使用量化参数Q:其中,Qt为当前的编码时刻t使用的量化参数Q,Qt-1为上一个编码时刻t-1使用的量化参数Q,Rt-1表示上一个编码时刻t-1的帧编码输出比特,Ct为当前的编码时刻t的编码图像纹理复杂度,Ct-1为上一个编码时刻t-1的编码图像纹理复杂度;ΔR为编码时刻t需要修正的比特增量,表示B(t)被修正后的结果,Ipt(t)表示1个实际编码帧率FC周期内相邻帧编码的量化参数Q的绝对差值和,为B(t)为当前的编码时刻t的缓冲区容量,B(t-1)为上一编码时刻t-1的缓冲区容量,α,β称为控制器参数,μ为防除0的经验参数;当前编码帧为I-帧时率失真模型为lnR=a·lnQ+b·lnC+c,Q表示量化参数,R表示帧编码输出比特,C表示编码图像纹理复杂度,a、b、c为率失真模型参数,率失真模型参数a、b的取值通过多元线性回归进行更新;当前编码帧为P-帧时率失真模型为lnR=a·lnQ+c,率失真模型参数a的取值通过一元线性回归进行更新。本专利技术的目的是,如果场景切换检测到发生,立即将当前帧类型设置为I-帧,将GOP中关于已编码P-帧的计数器置0,相关环境作初始化,即重新开始一个GOP的编码以提高视频编码的自适应性,还可以在通过调节GOP长度的同时,通过调节量化参数来控制码率。进一步的,为了提高检测准确性,引入线性相关系数,与余弦相似度一起来表征相似度指标;其中,rt-1,t为两相邻帧直方图的线性相关系数,为在编码时刻t的视频图像帧像素灰度值均值,为在编码时刻t-1的视频图像帧像素灰度值均值。具体的,相似度指标可以为余弦相似度与线性相关系数的乘积;也可以为线性相关系数的平方与余弦相似度的乘积。本专利技术通过建立的率失真模型,发现了视频图像编码中量化参数、帧编码输出比特、编码图像纹理复杂度之间的两两存在的线性关系,给出了一种调节量化参数的新方法。并且,为了合理地进行量化参数的调节,引入了调节强度Ipt(t),当连续若干帧编码的量化参数值变化的频率和强度越大,那么将减小调节强度Ipt(t);连续若干帧编码的量化参数值变化的频率和强度越小,那么将增大调节强度Ipt(t)。进一步的,本专利技术还可以在通过调节GOP长度的同时,通过调节当前编码帧率来控制码率。本专利技术方法还包括,通过当前的Q来调节当前编码帧率FC:当Q的取值在低段区间,在不高于帧率上限范围内增加当前编码帧率FC;当Q的取值在高段区间,在不低于帧率下限范围内降低当前编码帧率FC;当Q的取值在中段区间,保持当前编码帧率FC不变;当Q值频繁落在低段区间时候,适当增加帧率,将直接减小帧编码输出比特数,码率控制将调节后续QP值到中段区间;当Q值频繁落在高段区间时候,适当减小帧率,将直接增加帧编码输出比特数,也可以使得后续QP值调整到中段区间,保证视觉质量保持平滑和优异。当上一编码时刻中的编码帧率FC变化后,需要根据新的编码帧率FC重新确定像素点目标比特Tbpp,从而当前编码时刻的缓冲区容量B(t),B(t)=B(t-1)+Rt-1-Tbpp,Rt-1表示上一个编码时刻t-1时帧编码输出比特,TBR为目标比特率,W为图像像素宽,为图像像素高H。码率控制中,输出码流数据受Q值影响明显,但同时受图像内容的影响也很大。场景纹理复杂、运动变化剧烈的视频信源将消耗更多的比特。为了平衡编码消耗比特极少和编码消耗比特极多的视频源,采取主动的帧率调节既可以保证传输过程中的码率控制,又能在视觉质量上保持平滑和优异。本专利技术的有益效果是,能准确地检测出场景切换,从而有效地通过调节GOP长度来控制码率,进一步的,还可以同时通过调节量化参数、当前编码帧率来控制码率。附图说明图1为实施例集成码率控制器在整个视频编码系统中的位置。图2是实施例集成码率控制器工作原理图。图3是实施例场景切换检测与动态GOP调整流程图。图4是实施例可变帧率的调节流程图。图5是实施例可变比特率的控制流程图。图6是实施例在不同序列组中的测试结果缓冲区、相似度和场景切换检测状态图。图7是实施例以全I-帧可变比特率控制在Deadline序列编码后的状态图。具体实施方式本实施例中码率控制通过视频图像编码码率控制器来完成,具体而言包含三个部分的功能:可变比特率控制功能,场景切换检测与动态GOP调整功能、可变帧率的调节功能,可变比特率控制、可变帧率的调节功能与场景切换检测与动态GOP调整功能、可变帧率的调节功能可以同本文档来自技高网...
【技术保护点】
低延迟视频编码基于场景切换检测的码率控制方法,其特征在于,包括以下步骤: 1)计算当前帧的灰度直方图; 2)通过当前帧的灰度直方图与上一帧的灰度直方图计算两相邻帧的相似度指标;所述相似度指标通过高维向量余弦相似度表示: 其中,cos(θt‑1,t)为两相邻帧直方图的余弦相似度,t表示当前编码时刻,Ht[i]表示在编码时刻t的视频图像帧像素灰度值为i的像素点总数,Ht‑1[i]表示在上一编码时刻t‑1的视频图像帧像素灰度值为i的像素点总数,视频图像帧像素灰度值的范围为1至n,n是灰度直方图用一维数组表示时的总元素个数; 3)当两相邻帧的相似度指标小于阈值,则表示发生场景切换,进入步骤4);否则设置当前帧类型设置为P‑帧,提取下一帧数据后返回步骤1); 4)统计当前图像组GOP中以编码的P‑帧是否达到帧率周期数值,如是,则进入步骤5),否则设置当前帧类型设置为P‑帧,提取下一帧数据后返回步骤1); 5)设置当前帧类型设置为I‑帧,开始一个新的GOP,提取下一帧数据后返回步骤1)。
【技术特征摘要】
1.低延迟视频编码基于场景切换检测的码率控制方法,其特征在于,包括以下步骤:1)计算当前帧的灰度直方图;2)通过当前帧的灰度直方图与上一帧的灰度直方图计算两相邻帧的相似度指标;所述相似度指标通过高维向量余弦相似度表示:其中,cos(θt-1,t)为两相邻帧直方图的余弦相似度,t表示当前编码时刻,Ht[i]表示在编码时刻t的视频图像帧像素灰度值为i的像素点总数,Ht-1[i]表示在上一编码时刻t-1的视频图像帧像素灰度值为i的像素点总数,视频图像帧像素灰度值的范围为1至n,n是灰度直方图用一维数组表示时的总元素个数;3)当两相邻帧的相似度指标小于阈值,则表示发生场景切换,进入步骤4);否则设置当前帧类型设置为P-帧,提取下一帧数据后返回步骤1);4)统计当前图像组GOP中已编码的P-帧是否达到帧率周期数值,如是,则进入步骤5),否则设置当前帧类型设置为P-帧,提取下一帧数据后返回步骤1);5)设置当前帧类型设置为I-帧,开始一个新的GOP,提取下一帧数据后返回步骤1);在当前的编码时刻t,如当前编码帧为I-帧时,使用量化参数Q:在当前的编码时刻t,如当前编码帧为P-帧时,使用量化参数Q:其中,Qt为当前的编码时刻t使用的量化参数Q,Qt-1为上一个编码时刻t-1使用的量化参数Q,Rt-1表示上一个编码时刻t-1的帧编码输出比特,Ct为当前的编码时刻t的编码图像纹理复杂度,Ct-1为上一个编码时刻t-1的编码图像纹理复杂度;△R为编码时刻t需要修正的比特增量,表示B(t)被修正后的结果,Ipt(t)表示1个实际编码帧率FC周期内相邻帧编码的量化参数Q的绝对差值和,为B(t)为当前的编码时刻t的缓冲区容量,B(t-1)为上一编码时刻t-1的缓冲区容量,α,β称为控制器参数,μ为防除0的经验参数;当前编码帧为I-帧时率失真模型为lnR=a·lnQ+b·lnC+c,Q表示量化参数,R表示帧编码输出比特,C表示编码图像纹理复杂度,a、b、c为率失真模型参数,率失真模型参数a、b的取值通过多元线性回归进行更新;当前编码帧为P-帧时率失真模型...
【专利技术属性】
技术研发人员:周益民,朱策,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。