CN101188755A - 一种对实时视频信号在avs编码过程中vbr码率控制的方法 - Google Patents

一种对实时视频信号在avs编码过程中vbr码率控制的方法 Download PDF

Info

Publication number
CN101188755A
CN101188755A CN 200710161158 CN200710161158A CN101188755A CN 101188755 A CN101188755 A CN 101188755A CN 200710161158 CN200710161158 CN 200710161158 CN 200710161158 A CN200710161158 A CN 200710161158A CN 101188755 A CN101188755 A CN 101188755A
Authority
CN
China
Prior art keywords
image
group
current frame
image group
actual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200710161158
Other languages
English (en)
Other versions
CN101188755B (zh
Inventor
黄晁
郑从卓
徐涛
杨文勇
王标
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Original Assignee
NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NINGBO ZHONGKE IC DESIGN CENTER CO Ltd filed Critical NINGBO ZHONGKE IC DESIGN CENTER CO Ltd
Priority to CN 200710161158 priority Critical patent/CN101188755B/zh
Publication of CN101188755A publication Critical patent/CN101188755A/zh
Application granted granted Critical
Publication of CN101188755B publication Critical patent/CN101188755B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种对实时视频信号在AVS编码过程中VBR码率控制的方法,根据当前图像组的预测复杂度分配当前图像组的目标码率,对当前图像组内的图像采取平均分配目标比特数,再根据率失真模型计算图像的量化参数,当检测到场景切换时,对复杂度突变的图像所处的图像组更新相应剩余比特数,确保了码率控制的准确性,且能较好的逼近限定的码率,提高视频质量,避免因质量波动造成的总体质量下降,使得视频质量的平缓性更好;本发明能够较好的根据当前图像组的预测复杂度来分配当前图像组的目标码率,对信源具有较强的适应性;本发明具有不需要对图像预编码分析,一次编码的特点,计算复杂度低,运算量小,可以降低编码的复杂度,提高实时性。

Description

一种对实时视频信号在AVS编码过程中VBR码率控制的方法
技术领域
本发明涉及一种视频信号处理方法,尤其是涉及一种对实时视频信号在AVS编码过程中VBR码率控制的方法。
背景技术
AVS(Audio Video coding Standard,数字音视频编解码技术标准)是中国第一个具有自主知识产权的第二代数字音视频编解码标准,全称是《信息技术先进音视频编码标准》,它的编码效率和竞争性与国际标准MPEG-4/H.264相当,代表了当前国际先进水平。
码率控制是视频编码的重要技术之一,无论是在视频传输、视频存储以及硬件设计过程中都起着极为重要的作用。VBR(Variable Bit Rate,可变码率)码率控制编码在理想状态下是根据视频序列的信源特性,动态地分配编码比特数,使得编码产生视频质量恒定。各个国际视频编解码标准都有其各自的典型码率控制方法,如:MPEG-2的TM5、H.263的TMN8、MPEG-4的VM8及H.264的JVT-H017,由于AVS和H.264有很大的相似性,因此AVS在参考代码rm52j里采取的码率控制方法也采用JVT-H017。
JVT-H017码率控制方法的主要过程如下:
(1)根据流体流动阻塞模型计算当前帧图像的目标比特数;
(2)为当前帧图像中未编码的基本单元平均分配剩余的比特数;
(3)根据MAD(Mean Absolute Difference,差值的平方和)线性预测模型和前一帧图像中相同位置基本单元的MAD预测当前帧图像中未编码的基本单元的MAD;
(4)根据二次率失真模型计算当前帧图像中未编码的基本单元的量化参数;
(5)根据计算得到的量化参数对当前帧图像中所有的基本单元中的每个MB(Macro-block,宏块)做RDO(Rate distortion optimization,率失真优化)运算。
该方法采用了基于泰勒级数展开的二次率失真模型和MAD线性预测模型,在实现过程中通过对可变大小的窗口内的样点进行函数拟和,更新二次R-D(Rate Distortion,率失真)模型和MAD线性预测模型参数,接着去除窗口内的坏点,再次更新二次R-D模型和MAD线性预测模型参数。其中,函数拟和一般采用最小二乘法,要进行多次的矩阵相乘运算,矩阵的大小由窗口的大小决定。该方法由于引入了二次R-D模型和MAD线性预测模型,使得码率控制更加准确,而且能够很好的逼近限定的目标码率;此外,利用该方法能够产生相对平缓的视频质量。但该方法同时存在明显的缺点:
1)二次R-D模型和MAD线性预测模型的引入同时增加了计算复杂度,对于嵌入式处理器,乘运算占有的循环运算要远大于一般的加减、移位运算,对实时的视频编码应用,对嵌入式处理器是个很大挑战;
2)视频编码本身运算量就比较高,再加上运算过程中采用的高运算量的基于宏块,结合RDO的码率控制方法,这将成为编码器实时应用的瓶颈;
3)由于该算法GOP(Group of Picture,图像组)的码率的分配方法和假设参考解码器缓冲机制,限制了前后质量平缓度的进一步提高。
发明内容
本发明所要解决的技术问题是提供一种能够保证产生的视频质量更加平缓、且简单易行、计算复杂度低的对实时视频信号在AVS编码过程中VBR码率控制的方法。
本发明解决上述技术问题所采用的技术方案是:一种对实时视频信号在AVS编码过程中VBR码率控制的方法,信号采集装置从实际场景获取视频信号并对所述的视频信号在AVS编码过程中进行VBR码率控制,所述的视频信号包括多个图像组,每个图像组包括一个I帧图像和至少一个P帧图像,它包括以下步骤:
a.初始化视频信号的初始量化参数,设定初始目标码率,并获取编码器的帧率、一个图像组包含图像的帧数和图像的高与宽,记图像的高和宽的乘积为图像的大小;
b.判断当前帧图像所处的当前图像组是否为视频信号的第一个图像组,如果是,则当前图像组的目标码率为初始目标码率,当前图像组的目标比特数为当前图像组的目标码率和一个图像组包含图像的帧数与帧率之比的乘积,并执行步骤f;否则,继续执行;
c.根据前一图像组的平均实际复杂度和所有已编码的图像组的平均实际复杂度,通过式 XGopCurEst = ( XGopPre XGopAvg ) * XGopPre 计算得到当前图像组的预测复杂度XGopCurEst,其中,XGopPre为前一图像组的平均实际复杂度,XGopAvg为所有已编码的图像组的平均实际复杂度;
d.根据c步计算得到的当前图像组的预测复杂度XGopCurEst,用公式 GopBitRate = ( int ) floor ( ( XGopCurEst * PrePQpAVG ) ( XGopAvgCurEst * TotalAvgQp ) * avg _ bit _ rate + 0.5 ) 计算得到当前图像组的目标码率GopBitRate,其中,XGopCurEst为当前图像组的预测复杂度,PrePQpAVG为前一图像组的平均量化参数,XGopAvgCurEst为所有已编码的图像组的实际平均复杂度和当前图像组的预测复杂度的加权计算得到的平均复杂度,TotalAvgQp为所有已编码的图像组的平均量化参数,avg_bit_rate为所有已编码的图像组的平均实际码率;
e.根据步骤d中计算得到的当前图像组的目标码率GopBitRate,计算当前图像组的目标比特数,其值为当前图像组的目标码率和一个图像组包含图像的帧数与帧率之比的乘积;
f.判断当前帧图像是否为当前图像组的I帧图像或第一个P帧图像,如果是,则当当前图像组为第一个图像组时,I帧图像或第一个P帧图像的量化参数为初始量化参数,并通过初始量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;当当前图像组不是第一个图像组时,I帧图像或第一个P帧图像的量化参数为前一图像组的平均量化参数,并通过前一图像组的平均量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;否则,继续执行;
g.根据当前图像组的目标比特数,通过式 FrameBits = ( int ) floor ( RemainBits ( picnum _ Gop - NumberofCdedPFrame - 1 ) + 0.5 ) 计算得到当前帧图像的目标比特数FrameBits,其中,RemainBits为当前图像组的剩余比特数,其值为当前图像组的目标比特数与当前图像组占用的实际比特数总和之差,picnum_Gop为一个图像组包含图像的帧数,NumberofCodedPFrame为当前图像组的所有已编码的P帧图像的帧数;
h.根据步骤g中计算得到的当前帧图像的目标比特数,先通过率失真模型 R = C * X QP 计算得到模型参数C,其中R为前一P帧图像占用的实际比特数,X为前一P帧图像的实际复杂度,QP为前一P帧图像的量化参数;再通过 R ′ = C * X ′ Q P ′ 计算得到当前帧图像的量化参数QP’,其中X’为当前帧图像的预测复杂度,其值为前一帧图像的实际复杂度,R’为当前帧图像的目标比特数;然后通过当前帧图像的量化参数对当前帧图像进行编码;
i.i-①如果当前编码完的图像是I帧图像,则统计当前帧图像占用的实际比特数,当前图像组的剩余比特数为当前图像组的目标比特数与当前帧图像占用的实际比特数之差,当前图像组占用的实际比特数总和的初值为当前帧图像占用的实际比特数;i-②如果当前编码完的图像是P帧图像,则统计当前帧图像占用的实际比特数,计算当前帧图像的实际复杂度,其值为当前帧图像占用的实际比特数与当前帧图像对应其参考图像的差值平方和的乘积除以图像的大小,当当前帧图像为当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和的初值为当前帧图像的实际复杂度,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和的初值为当前帧图像的量化参数;当当前帧图像不是当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和为当前帧图像编码前的当前图像组的实际复杂度总和与当前帧图像的实际复杂度之和,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和为当前帧图像编码前的当前图像组的量化参数总和与当前帧图像的量化参数之和;
j.如果当前图像组不是第一个图像组且当前帧图像是P帧图像,所有已编码的图像组每帧图像占用的平均实际比特数为所有已编码的图像组的平均实际码率和帧率的商,并判断当前帧图像占用的实际比特数和当前帧图像的量化参数的乘积是否大于所有已编码的图像组每帧占用的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的2~3倍或小于所有已编码的图像组的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的0.4~0.5倍,如果是,则确定检测到场景切换,通过式 RemainBites + = 1.5 * ( Frame Real lyBits - avg _ bite _ rate FRAMERATE ) 更新当前图像组的剩余比特数,式中RemainBits为当前图像组的剩余比特数,FrameReallyBits为当前帧图像占用的实际比特数,avg_bit_rate为所有已编码的图像组的平均实际码率,FRAMERATE为帧率;
k.判断是否存在后续的视频信号,如果存在,则再判断编码后的图像是否为当前图像组的最后一个图像,如果是,则根据步骤i得到的当前图像组的实际复杂度总和、量化参数总和及占用的实际比特数总和,计算当前图像组的平均量化参数和平均实际复杂度、所有已编码的图像组的平均实际复杂度、平均量化参数和平均实际码率,然后跳转至步骤b,否则,执行步骤f;如果不存在,则结束。
与现有技术相比,本发明的优点在于通过当前图像组的预测复杂度动态自适应分配当前图像组的目标码率,对当前图像组内的图像采取平均分配目标比特数,再根据简单的率失真模型计算图像的量化参数,当图像实际复杂度发生突变的时候,对该图像所处的图像组追减或追加相应剩余比特数。它不仅确保了码率控制的准确性,且能较好的逼近限定的码率,提高视频质量,避免了因质量波动造成的总体质量下降,使得视频平缓性更好;本发明能够较好的根据当前图像组的预测复杂度来分配当前图像组的目标码率,对信源具有较强的适应性;本发明具有一次编码的特点,不需要对图像预编码分析,可以降低编码的复杂度,便于硬件实现,提高实时性;此外,本发明计算复杂度低,运算量小,可广泛应用于高实时要求的视频监控等领域,较好的解决了视频质量、实时性和码率之间矛盾。
附图说明
图1为本发明方法的流程图;
图2为视频信号的结构示意图;
图3为在初始目标码率为1.5Mbps时采用本发明方法与采用JVT-H017方法产生的视频质量的统计比较图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1和图2所示,一种对实时视频信号在AVS编码过程中VBR码率控制的方法,信号采集装置从实际场景获取视频信号并对视频信号在编码器中AVS编码过程中进行VBR码率控制,视频信号包括多个图像组,AVS编码后的每个图像组包括一个I帧图像和至少一个P帧图像,不包括B帧图像。
本发明方法给复杂度较高的图像分配较多的比特数,给复杂度较低的图像分配较少的比特数,根据所有已编码的图像组的实际复杂度来预测当前图像组的预测复杂度(除第一个图像组以外),结合所有已编码的图像组的实际平均码率,根据当前图像组预测复杂度动态自适应的分配当前图像组的目标码率;再根据当前图像组的目标码率计算当前图像组的目标比特数;然后根据当前图像组的目标比特数,有效的给图像组内的每个图像平均分配它们的目标比特数;然后根据一个简单的率失真R-D模型来计算当前图像的量化参数,在编码完当前图像之后,计算当前图像占用的实际比特数,再场景切换检测,如果确定检测到场景切换,则更新当前图像组的剩余比特数,以便更好的适应真实信源特征。本发明方法流程如图1所示,它包括以下具体步骤:
a.初始化视频信号的初始量化参数,设定初始目标码率,并获取编码器的帧率、一个图像组包含图像的帧数和图像的高与宽,记图像的高和宽的乘积为图像的大小;
b.判断当前帧图像所处的当前图像组是否为视频信号的第一个图像组,如果是,则当前图像组的目标码率为初始目标码率,当前图像组的目标比特数为当前图像组的目标码率(也就是初始目标码率)和一个图像组包含图像的帧数与帧率之比的乘积,并执行步骤f;否则,继续执行;
c.根据前一图像组的平均实际复杂度和所有已编码的图像组的平均实际复杂度,通过式 XGopCurEst = ( XGopPre XGopAvg ) * XGopPre 计算得到当前图像组的预测复杂度XGopCurEst,结合图2,式中,XGopPre为前一图像组(即图2中编号为N-1的图像组)的平均实际复杂度,前一图像组与当前图像组相关性最强,XGopAvg为所有已编码的图像组的平均实际复杂度(即图2中编号0~N-1所有已经编码图像组的平均实际复杂度);
d.根据c步计算得到的当前图像组的预测复杂度XGopCurEst,通过式 GopBitRate = ( int ) floor ( ( XGopCurEst * PrePQpAVG ) ( XGopAvgCurEst * TotalAvgQp ) * avg _ bit _ rate + 0.5 ) 计算得到当前图像组的目标码率GopBitRate,结合图2,式中,XGopCurEst为当前图像组的预测复杂度,PrePQpAVG为前一图像组(即图2中编号为N-1的图像组)的平均量化参数,TotalAvgQp为所有已编码的图像组(即图2中编号0~N-1所有的图像组)的平均量化参数,avg_bit_rate为所有已编码的图像组(即图2中编号0~N-1所有的图像组)的平均实际码率,XGopAvgCurEst为所有已编码的图像组(即图2中编号0~N-1所有的图像组)的实际平均复杂度和当前图像组的预测复杂度的加权计算得到的平均复杂度,XGopAvgCurEst具体计算方法为XGopAvgCurEst=(XGopAVG*(NumberofGOP-1)+XGopCurEst)/NumberofGOP,XGopAVG为图2中编号0~N-1所有图像组的平均实际复杂度,NumberofGOP为包括当前图像组和已经编码图像组的总数;
为了保证视频信号平均码率的收敛性,对当前图像组的目标码率需限定在最开始用户设定的初始目标码率上下波动范围内,波动幅度一般为设定的初始目标码率的±20%,即:GopBitRate=MIN(MAX(GopBitRate,bit_rate_down),bit_rate_up),其中bit_rate_down的值为初始目标码率×(1-20%),bit_rate_up的值为初始目标码率×(1+20%);
e.根据步骤d中计算得到的当前图像组的目标码率GopBitRate,计算当前图像组的目标比特数,其值为当前图像组的目标码率和一个图像组包含图像的帧数与帧率之比的乘积;
f.判断当前帧图像是否为当前图像组的I帧图像或第一个P帧图像,如果是,则当当前图像组为第一个图像组时,I帧图像或第一个P帧图像的量化参数为初始量化参数,并通过初始量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;当当前图像组不是第一个图像组时,I帧图像或第一个P帧图像的量化参数为前一图像组的平均量化参数,并通过前一图像组的平均量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;否则,继续执行;
g.根据当前图像组的目标比特数,通过式 FrameBits = ( int ) floor ( RemainBits ( Picnum _ Gop - NumberofCodedPFrame - 1 ) + 0.5 ) 计算得到当前帧图像的目标比特数FrameBits,其中,RemainBits为当前图像组的剩余比特数,其值为当前图像组的目标比特数与当前图像组占用的实际比特数总和之差,picnum_Gop为一个图像组包含图像的帧数,NumberofCodedPFrame为当前图像组的所有已编码的P帧图像的帧数;
h.根据步骤g中计算得到的当前帧图像的目标比特数,先通过率失真模型 R = C * X QP 计算得到模型参数C,其中R为前一P帧图像占用的实际比特数,X为前一P帧图像的实际复杂度,QP为前一P帧图像的量化参数;再通过 R ′ = C * X ′ Q P ′ 计算得到当前帧图像的量化参数QP’,其中X’为当前帧图像的预测复杂度,其值为前一帧图像的实际复杂度,R’为当前帧图像的目标比特数;然后通过当前帧图像的量化参数对当前帧图像进行编码;
为了保持视频质量的平缓,前后帧图像的量化参数的变化小于等于2,即量化参数的变化值ΔQP只能为0、1、2、-1、-2;在当前帧图像的预测复杂度下,对应于每个ΔQP,存在相应的ΔR,ΔR为前一帧图像的量化参数增加或减少时对应的图像目标比特数的变化值;通过 ΔR = C * X Pre 1 FrameQP + ΔQP - Pre 1 Framebits 得到ΔQP为-2、-1、0、1、2时对应的ΔR值分别记为ΔR-2、ΔR-1、ΔR0、ΔR1、ΔR2。由于ΔR-2>ΔR-1>ΔR0>ΔR1>ΔR2,再通过计算point1=(ΔR2+ΔR1+1)>>1;point2=(ΔR0+ΔR1+1)>>1;point3=(ΔR0+ΔR-1+1)>>1;point4=(ΔR-1+ΔR-2+1)>>1作为比较参照点,符号“>>”为向右移位运算符,为了得到较精确的量化参数QP,对参照点做恰当的调整,具体可用以下代码来实现:
if(DiffBits<β1*point1)
   {QP=PrelPFrameQp+2;}
else if(DiffBits<β2*point2)
   {QP=PrelPFrameQp+1;}
else if(DiffBits<β3*point3)
   {QP=PrelPFrameQp;  }
else if(DiffBits<β4*point4)
   {QP=PrelPFrameQp-1;}
else
   {QP=PrelPFrameQp-2;}
QP=MAX(1,QP=MIN(63,QP));
以上代码中,DiffBits为当前帧图像的目标比特数FrameBits与前一帧图像的实际比特数的差值,β1、β2、β3、β4为调整参数,一般取值为{4,3,2,4},代码中QP为当前帧图像的量化参数,PrelPFrameQp为前一帧图像的量化参数,PrelPFramebits为前一帧图像占用的实际比特数;
i.i-①如果当前编码完的图像是I帧图像,则统计当前帧图像占用的实际比特数,当前图像组的剩余比特数为当前图像组的目标比特数与当前帧图像占用的实际比特数之差,当前图像组占用的实际比特数总和的初值为当前帧图像占用的实际比特数;i-②如果当前编码完的图像是P帧图像,则统计当前帧图像占用的实际比特数,计算当前帧图像的实际复杂度,其值为当前帧图像占用的实际比特数与当前帧图像对应其参考图像的差值平方和的乘积除以图像的大小,当当前帧图像为当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和的初值为当前帧图像的实际复杂度,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和的初值为当前帧图像的量化参数;当当前帧图像不是当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和为当前帧图像编码前的当前图像组的实际复杂度总和与当前帧图像的实际复杂度之和,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和为当前帧图像编码前的当前图像组的量化参数总和与当前帧图像的量化参数之和;
j.如果当前图像组不是第一个图像组且当前帧图像是P帧图像,所有已编码的图像组每帧图像占用的平均实际比特数为所有已编码的图像组的平均实际码率和帧率的商,并判断当前帧图像占用的实际比特数和当前帧图像的量化参数的乘积是否大于所有已编码的图像组每帧占用的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的2~3倍或小于所有已编码的图像组的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的0.4~0.5倍,如果是,则确定检测到场景切换,通过式 RemainBites + = 1.5 * ( Frame Real lyBits - avg _ bite _ rate FRAMERATE ) 更新当前图像组的剩余比特数,式中RemainBits为当前图像组的剩余比特数,FrameReallyBits为当前帧图像占用的实际比特数,avg_bit_rate为所有已编码的图像组的平均实际码率,FRAMERATE为帧率;
k.判断是否存在后续的视频信号,如果存在,则再判断编码后的图像是否为当前图像组的最后一个图像,如果是,则根据步骤i得到的当前图像组的实际复杂度总和、量化参数总和及占用的实际比特数总和,计算当前图像组的平均量化参数和平均实际复杂度、所有已编码的图像组的平均实际复杂度、平均量化参数和平均实际码率,然后跳转至步骤b,否则,执行步骤f;如果不存在,则结束。
通过步骤j能够很好地解决以下两种特殊情况,第一种情况是:当前图像组的复杂度突然上升到很大,如果不追加相应的比特数,那么当前图像组的前面编码的图像几乎会消耗掉当前图像组的大部分目标比特数,那么当前图像组的未编码图像将因目标比特数不足而造成质量急剧下降;第二种情况则是:当前图像的复杂度突然下降很多,如果不追减相应的比特数,那么当前图像组的前面编码的图像只消耗掉当前图像组的目标比特数的很小一部分,那么当前图像组的未编码的图像将分配的目标比特数就会大大增加,造成这些图像的质量急剧上升,这两种情况都将造成视频质量的不稳定。通过实验表明:经场景切换检测处理后,能够获得的很好视频质量的平缓性。
对采用本发明方法与采用JVT-H017方法在AVS的平台上,在相同的实验条件下进行对比实验。
由coastguard_cif、container_cif、flower_cif、hall_cif、mobile_cif、news_cif、Sign_Irene_cif、waterfall_cif八个测试序列各300帧循环拼接组成测试序列,取这样的CIF格式测试序列9000帧在不同初始目标码率,帧率为30f/s条件下进行测试,结果数据如表1所示:
表1采用本发明方法与JVT-H017方法的综合客观性能比较表
  初始目标码率 所用方法   亮度平均PSNR-Y单位(dB)     PSNR的方差VAR单位(dB)   实际比特数单位(bit)   实际码率单位(Mbps)
1.8Mbps 本发明方法JVT-H017   39.9385939.77395     12.9911367325.17111371   534533784540009184   1.7821.800
1.5Mbps 本发明方法JVT-H017   39.0206838.81164     14.2320862630.17280883   44443 6600450006824   1.4811.500
1.2Mbps 本发明方法JVT-H017   37.8937237.71444     15.7009482933.558584   349600032359999960   1.1661.200
0.9Mbps 本发明方法JVT-H017   36.4652936.20052     18.0881373340.78399926   259454552270005576   0.8650.900
0.6Mbps 本发明方法JVT-H017   34.4422033.87817     20.674394251.74962276   171687264180003880   0.5730.600
分析表1中的实验数据,表明:本发明方法产生的实际平均码率虽然没有JVT-H017那样接近目标码率,但是也能较好的满足码率限制要求,在相同目标码率的条件下,实际消耗的比特数只占JVT-H017方法实际消耗比特数的98%左右,但是采用本发明方法的视频质量比JVT-H017方法的亮度峰值信噪比PSNR(Peak Signal to Noise Ratio)平均提高了0.2dB左右,其值越大表示图像质量越好,平缓度用样本方差VAR()函数值来表示,其值越小说明质量波动性小,本发明方法的样本方差值只有JVT-H017方法的40%左右,说明本发明方法是可行有效地。
此外,图3示出了在初始目标码率为1.5Mbps时采用本发明方法与采用JVT-H017方法产生的视频质量亮度峰值信噪比PSNR的统计比较,从图3中可以看出采用本发明方法的视频视觉的平缓性较好,波动性较小。

Claims (1)

1.一种对实时视频信号在AVS编码过程中VBR码率控制的方法,信号采集装置从实际场景获取视频信号并对所述的视频信号在编码器中AVS编码过程中进行VBR码率控制,所述的视频信号包括多个图像组,其特征在于AVS编码的每个图像组包括一个I帧图像和至少一个P帧图像,它包括以下步骤:
a.初始化视频信号的初始量化参数,设定初始目标码率,并获取编码器的帧率、一个图像组包含图像的帧数和图像的高与宽,记图像的高和宽的乘积为图像的大小;
b.判断当前帧图像所处的当前图像组是否为视频信号的第一个图像组,如果是,则当前图像组的目标码率为初始目标码率,当前图像组的目标比特数为当前图像组的目标码率和一个图像组包含图像的帧数与帧率之比的乘积,并执行步骤f;否则,继续执行;
c.根据前一图像组的平均实际复杂度和所有已编码的图像组的平均实际复杂度,用公式 XGopCurEst = ( XGopPre XGopAvg ) * XGopPre 计算得到当前图像组的预测复杂度XGopCurEst,其中,XGopPre为前一图像组的平均实际复杂度,XGopAvg为所有已编码的图像组的平均实际复杂度;
d.根据c步计算得到的当前图像组的预测复杂度XGopCurEst,通过式 GopBitRate = ( int ) floor ( ( XGopCurEst * PrePQpAVG ) ( XGopAvgCurEst * TotalAvgQp ) * avg _ bit _ rate + 0.5 ) 计算得到当前图像组的目标码率GopBitRate,其中,XGopCurEst为当前图像组的预测复杂度,PrePQpAVG为前一图像组的平均量化参数,XGopAvgCurEst为所有已编码的图像组的实际平均复杂度和当前图像组的预测复杂度的加权计算得到的平均复杂度,TotalAvgQp为所有已编码的图像组的平均量化参数,avg_bit_rate为所有已编码的图像组的平均实际码率;
e.根据步骤d中计算得到的当前图像组的目标码率GopBitRate,计算当前图像组的目标比特数,其值为当前图像组的目标码率和一个图像组包含图像的帧数与帧率之比的乘积;
f.判断当前帧图像是否为当前图像组的I帧图像或第一个P帧图像,如果是,则当当前图像组为第一个图像组时,I帧图像或第一个P帧图像的量化参数为初始量化参数,并通过初始量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;当当前图像组不是第一个图像组时,I帧图像或第一个P帧图像的量化参数为前一图像组的平均量化参数,并通过前一图像组的平均量化参数对I帧图像或第一个P帧图像进行编码,然后执行步骤i;否则,继续执行;
g.根据当前图像组的目标比特数,通过式 FrameBits = ( int ) floor ( RemainBits ( picnum _ Gop - NumberofCodedPFrame - 1 ) + 0.5 ) 计算得到当前帧图像的目标比特数FrameBits,其中,RemainBits为当前图像组的剩余比特数,其值为当前图像组的目标比特数与当前图像组占用的实际比特数总和之差,picnum_Gop为一个图像组包含图像的帧数,NumberofCodedPFrame为当前图像组的所有已编码的P帧图像的帧数;
h.根据步骤g中计算得到的当前帧图像的目标比特数,先通过率失真模型 R = C * X QP 计算得到模型参数C,其中R为前一P帧图像占用的实际比特数,X为前一P帧图像的实际复杂度,QP为前一P帧图像的量化参数;再通过 R ′ = C * X ′ Q P ′ 计算得到当前帧图像的量化参数QP’,其中X’为当前帧图像的预测复杂度,其值为前一帧图像的实际复杂度,R’为当前帧图像的目标比特数;然后通过当前帧图像的量化参数对当前帧图像进行编码;
i.i-①如果当前编码完的图像是I帧图像,则统计当前帧图像占用的实际比特数,当前图像组的剩余比特数为当前图像组的目标比特数与当前帧图像占用的实际比特数之差,当前图像组占用的实际比特数总和的初值为当前帧图像占用的实际比特数;i-②如果当前编码完的图像是P帧图像,则统计当前帧图像占用的实际比特数,计算当前帧图像的实际复杂度,其值为当前帧图像占用的实际比特数与当前帧图像对应其参考图像的差值平方和的乘积除以图像的大小,当当前帧图像为当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和的初值为当前帧图像的实际复杂度,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和的初值为当前帧图像的量化参数;当当前帧图像不是当前图像组的第一个P帧图像时,当前图像组的剩余比特数为当前帧图像编码前的当前图像组的剩余比特数与当前帧图像占用的实际比特数之差,当前图像组的实际复杂度总和为当前帧图像编码前的当前图像组的实际复杂度总和与当前帧图像的实际复杂度之和,当前图像组占用的实际比特数总和为当前帧图像编码前的当前图像组占用的实际比特数总和与当前帧图像占用的实际比特数之和,当前图像组的量化参数总和为当前帧图像编码前的当前图像组的量化参数总和与当前帧图像的量化参数之和;
j.如果当前图像组不是第一个图像组且当前帧图像是P帧图像,所有已编码的图像组每帧图像占用的平均实际比特数为所有已编码的图像组的平均实际码率和帧率的商,并判断当前帧图像占用的实际比特数和当前帧图像的量化参数的乘积是否大于所有已编码的图像组每帧占用的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的2~3倍或小于所有已编码的图像组的平均实际比特数和所有已编码的图像组的平均量化参数的乘积的0.4~0.5倍,如果是,则确定检测到场景切换,通过式 RemainBites + = 1.5 * ( Frame Real lyBits - avg _ bite _ rate FRAMERATE ) 更新当前图像组的剩余比特数,式中RemainBits为当前图像组的剩余比特数,FrameReallyBits为当前帧图像占用的实际比特数,avg_bit_rate为所有已编码的图像组的平均实际码率,FRAMERATE为帧率;
k.判断是否存在后续的视频信号,如果存在,则再判断编码后的图像是否为当前图像组的最后一个图像,如果是,则根据步骤i得到的当前图像组的实际复杂度总和、量化参数总和及占用的实际比特数总和,计算当前图像组的平均量化参数和平均实际复杂度、所有已编码的图像组的平均实际复杂度、平均量化参数和平均实际码率,然后跳转至步骤b,否则,执行步骤f;如果不存在,则结束。
CN 200710161158 2007-12-14 2007-12-14 一种对实时视频信号在avs编码过程中vbr码率控制的方法 Expired - Fee Related CN101188755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710161158 CN101188755B (zh) 2007-12-14 2007-12-14 一种对实时视频信号在avs编码过程中vbr码率控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710161158 CN101188755B (zh) 2007-12-14 2007-12-14 一种对实时视频信号在avs编码过程中vbr码率控制的方法

Publications (2)

Publication Number Publication Date
CN101188755A true CN101188755A (zh) 2008-05-28
CN101188755B CN101188755B (zh) 2010-06-09

Family

ID=39480905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710161158 Expired - Fee Related CN101188755B (zh) 2007-12-14 2007-12-14 一种对实时视频信号在avs编码过程中vbr码率控制的方法

Country Status (1)

Country Link
CN (1) CN101188755B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101677398A (zh) * 2008-09-19 2010-03-24 三星电子株式会社 场景切换码率控制方法
CN101511026B (zh) * 2009-02-23 2011-01-19 四川长虹电器股份有限公司 一种基于场景的avs二次编码码率控制方法
CN101931800B (zh) * 2009-06-24 2013-08-14 财团法人工业技术研究院 利用有限可变比特率控制的感兴趣区域编码方法与***
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及***
CN104159109A (zh) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 基于vbr视频编码的码率控制方法及***
CN104994387A (zh) * 2015-06-25 2015-10-21 宁波大学 一种融合图像特征的码率控制方法
CN107087169A (zh) * 2017-03-22 2017-08-22 建荣半导体(深圳)有限公司 一种压缩方法、uvc视频设备及电子设备
CN108600758A (zh) * 2018-03-26 2018-09-28 南京地铁建设有限责任公司 基于城市轨道乘客信息***的i帧高突发码流整形方法
CN108989818A (zh) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 一种图像编码参数调整方法及装置
WO2019033877A1 (zh) * 2017-08-17 2019-02-21 腾讯科技(深圳)有限公司 一种视频帧编码方法、终端及存储介质
CN110971900A (zh) * 2019-11-14 2020-04-07 杭州当虹科技股份有限公司 一种适用于4k、8k超高清运动平缓视频的码率控制方法
CN113286145A (zh) * 2021-04-26 2021-08-20 维沃移动通信有限公司 视频编码方法、装置和电子设备
CN114598866A (zh) * 2020-12-03 2022-06-07 北京君正集成电路股份有限公司 一种视频实时编码的vbr码率控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1275469C (zh) * 2004-11-10 2006-09-13 华中科技大学 一种复杂度可分级的帧内预测方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101677398A (zh) * 2008-09-19 2010-03-24 三星电子株式会社 场景切换码率控制方法
CN101511026B (zh) * 2009-02-23 2011-01-19 四川长虹电器股份有限公司 一种基于场景的avs二次编码码率控制方法
CN101931800B (zh) * 2009-06-24 2013-08-14 财团法人工业技术研究院 利用有限可变比特率控制的感兴趣区域编码方法与***
CN103841418A (zh) * 2012-11-22 2014-06-04 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及***
CN103841418B (zh) * 2012-11-22 2016-12-21 中国科学院声学研究所 一种3g网络中视频监控器码率控制的优化方法及***
CN104159109B (zh) * 2014-05-28 2018-12-11 百视通网络电视技术发展有限责任公司 基于vbr视频编码的码率控制方法及***
CN104159109A (zh) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 基于vbr视频编码的码率控制方法及***
CN104994387A (zh) * 2015-06-25 2015-10-21 宁波大学 一种融合图像特征的码率控制方法
CN104994387B (zh) * 2015-06-25 2017-10-31 宁波大学 一种融合图像特征的码率控制方法
CN107087169A (zh) * 2017-03-22 2017-08-22 建荣半导体(深圳)有限公司 一种压缩方法、uvc视频设备及电子设备
CN107087169B (zh) * 2017-03-22 2019-11-12 建荣半导体(深圳)有限公司 一种压缩方法、uvc视频设备及电子设备
CN108989818A (zh) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 一种图像编码参数调整方法及装置
US11089305B2 (en) 2017-08-17 2021-08-10 Tencent Technology (Shenzhen) Company Limited Video frame coding method during scene change, terminal and storage medium
WO2019033877A1 (zh) * 2017-08-17 2019-02-21 腾讯科技(深圳)有限公司 一种视频帧编码方法、终端及存储介质
CN108600758A (zh) * 2018-03-26 2018-09-28 南京地铁建设有限责任公司 基于城市轨道乘客信息***的i帧高突发码流整形方法
CN110971900A (zh) * 2019-11-14 2020-04-07 杭州当虹科技股份有限公司 一种适用于4k、8k超高清运动平缓视频的码率控制方法
CN114598866A (zh) * 2020-12-03 2022-06-07 北京君正集成电路股份有限公司 一种视频实时编码的vbr码率控制方法
CN114598866B (zh) * 2020-12-03 2024-05-03 北京君正集成电路股份有限公司 一种视频实时编码的vbr码率控制方法
CN113286145A (zh) * 2021-04-26 2021-08-20 维沃移动通信有限公司 视频编码方法、装置和电子设备
CN113286145B (zh) * 2021-04-26 2022-07-22 维沃移动通信有限公司 视频编码方法、装置和电子设备
WO2022228375A1 (zh) * 2021-04-26 2022-11-03 维沃移动通信有限公司 视频编码方法、装置和电子设备

Also Published As

Publication number Publication date
CN101188755B (zh) 2010-06-09

Similar Documents

Publication Publication Date Title
CN101188755B (zh) 一种对实时视频信号在avs编码过程中vbr码率控制的方法
US8416849B2 (en) Self-adapting code rate distribution method of video image macro-block level
KR101104654B1 (ko) 품질 제어된 인코딩을 위한 방법 및 시스템
CN100425077C (zh) 采用帧目标比特数不平均分配的视频压缩码率控制方法
EP1830573A1 (en) Method and apparatus for determining in picture signal encoding the bit allocation for groups of pixel blocks in a picture
CN103124347A (zh) 利用视觉感知特性指导多视点视频编码量化过程的方法
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN100574447C (zh) 基于avs视频编码的快速帧间预测模式选择方法
GB2459671A (en) Scene Change Detection For Use With Bit-Rate Control Of A Video Compression System
CN106303530A (zh) 一种融合视觉感知特性的码率控制方法
CN108769696A (zh) 一种基于Fisher判别式的DVC-HEVC视频转码方法
US20060256858A1 (en) Method and system for rate control in a video encoder
CN1992898A (zh) 一种低复杂度的视频码率控制方法
CN100563338C (zh) 一种恒定码率的控制方法
CN108989818A (zh) 一种图像编码参数调整方法及装置
CN112218084B (zh) 面向监控视频的高效视频编码标准帧级码率控制方法
Zhou et al. Complexity-based intra frame rate control by jointing inter-frame correlation for high efficiency video coding
Kim et al. ROI-centered compression by adaptive quantization for sports video
CN101977309B (zh) 码率控制方法及装置
Vu et al. VMAF based quantization parameter prediction model for low resolution video coding
KR101868270B1 (ko) 싱글 패스 일관 화질 제어를 기반으로 하는 컨텐츠 인식 비디오 인코딩 방법, 컨트롤러 및 시스템
CN105681784B (zh) 一种基于h264/avc视频的psnr盲估计方法
US8971393B2 (en) Encoder
KR100316764B1 (ko) 시감특성을 이용한 영상 부호화방법 및 장치
CN104796704A (zh) 一种用于可伸缩视频编码的宏块级码率控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20131214