CN102724524B - 一种基于h.264 的立体视频码率控制方法 - Google Patents
一种基于h.264 的立体视频码率控制方法 Download PDFInfo
- Publication number
- CN102724524B CN102724524B CN201210179874.9A CN201210179874A CN102724524B CN 102724524 B CN102724524 B CN 102724524B CN 201210179874 A CN201210179874 A CN 201210179874A CN 102724524 B CN102724524 B CN 102724524B
- Authority
- CN
- China
- Prior art keywords
- image
- picture group
- stereo
- visual point
- present image
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明公开了一种基于H.264的立体视频码率控制方法,其首先根据可用的信道带宽和立体图像组的长度,计算立体图像组的初始编码量化参数,然后针对第1个图像对和第2个图像对,直接利用立体图像组的初始编码量化参数进行编码,第3个图像对开始,给图像对预分配目标比特数,并计算图像对中左右视点图像的编码量化参数,再更新立体图像组内的剩余比特数,优点在于通过考虑图像的编码复杂度、位置重要性及左右视点图像间的参考特性等因素,采用新的编码复杂度度量方式,使目标比特数分配更加合理,从而使得编码输出的实际比特率与给定信道带宽相吻合,同时在保证码率控制精度的前提下,有效提高了率失真性能、编码效率和视频编码质量。
Description
技术领域
本发明涉及一种立体视频码率控制技术,尤其是涉及一种基于H.264的立体视频码率控制方法。
背景技术
3D(三维/立体)视频能够给观众带来很强的深度感,自然真实的把外部世界呈现给观众。作为当前的研究热点之一,立体视频技术有着广泛的应用前景,例如它结合网络技术将来可以应用于远程医疗、娱乐节目直播、立体电视、网上购物、立体游戏与动漫、视频会议等领域。立体视频信号由于自身的属性,其数据量是非常巨大的,立体视频信号的这种特性使得通信的成本大大增加,在低码率情况下会导致通信根本无法实现。因此,结合立体视频的特点,设计针对立体视频编码系统的码率控制算法具有非常重要的意义。
近年来,针对单通道视频压缩,众多学者和机构已经提出了很多有效的码率控制算法,在一定程度上提高了编码效率。但是,由于单通道视频与立体视频存在差异,因此这些用于单通道视频的码率控制算法难于有效地用于立体视频编码系统上。即使将用于单通道视频的码率控制算法应用于立体视频编码系统上,码率控制效果也不一定好,分析其原因,是由于比特分配时考虑的因素过于简单,大都没有充分考虑图像本身的复杂度特性、位置重要性以及左右视点间的参考相关性,导致比特分配不够合理,使得码率控制精度不高,率失真性能不够好。此外,目前针对立体视频编码并没有提出相应的标准,因此对不同的编码方案,应该有不同的码率控制方案。目前,立体视频的码率控制算法大致可以从以下几个方面考虑:一是率失真模型的改进,通过率失真模型的改进,使其更加准确,码率控制精度更高,但是这往往会增加计算复杂度;二是人眼视觉特性,通过考虑人眼视觉特性,可以采用左右通道质量非对称和分辨率非对称的方式,在不影响人眼主观质量的前提下,达到节省码率的目的。
发明内容
本发明所要解决的技术问题是提供一种在保证码率控制精度的前提下,能够有效的提高率失真性能和视频编码质量的基于H.264的立体视频码率控制方法。
本发明解决上述技术问题所采用的技术方案为:一种基于H.264的立体视频码率控制方法,其特征在于包括以下步骤:首先将立体视频分为立体图像组层、图像对层和帧层三个层次;然后根据可用的信道带宽和立体图像组的长度计算立体图像组的初始编码量化参数;接着直接利用立体图像组的初始编码量化参数对立体图像组中的第1个图像对和第2个图像对进行编码,对于立体图像组中的第3个图像对开始,利用二次R-Q模型并根据预分配给图像对的左视点图像和右视点图像的目标比特数计算图像对的左视点图像和右视点图像的编码量化参数,并对图像对的左视点图像和右视点图像进行编码。
其具体包括以下步骤:
①将立体视频分为立体图像组层、图像对层和帧层三个层次,将立体视频中自左视点视频中的时刻在前的I帧图像到时刻在后的I帧图像之前的一帧图像之间的连续立体图像作为一个立体图像组,将立体图像组中同一时刻的左视点图像和右视点图像作为一个图像对,将立体图像组中同一时刻的左视点P帧图像和右视点P帧图像构成的图像对定义为P图像对;
②将立体视频中当前正在处理的立体图像组定义为当前立体图像组;
③根据可用的信道带宽和当前立体图像组的长度,计算当前立体图像组的初始编码量化参数;
④将当前立体图像组中当前正在处理的第n个图像对定义为当前图像对,其中,1≤n≤N,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数;
⑤判断当前图像对是否为当前立体图像组中的第1个图像对或第2个图像对,如果是,则利用当前立体图像组的初始编码量化参数对当前图像对进行编码,然后执行步骤⑦,否则,执行步骤⑥;
⑥计算预分配给当前图像对的目标比特数,然后计算预分配给当前图像对的左视点图像和右视点图像的目标比特数,接着利用二次R-Q模型计算当前图像对的左视点图像和右视点图像的编码量化参数,再利用当前图像对的左视点图像的编码量化参数对当前图像对的左视点图像进行编码,并利用当前图像对的右视点图像的编码量化参数对当前图像对的右视点图像进行编码;
⑦编码完当前图像对后,更新当前立体图像组内的剩余比特数以及二次R-Q模型;
⑧令n'=n+1,n=n',将当前立体图像组中下一个待处理的图像对作为当前图像对,然后返回步骤⑤继续执行,直至当前立体图像组中的所有图像对处理完毕,其中,n'的初始值为0,在“n'=n+1,n=n′”中“=”为赋值符号;
⑨将立体视频中下一个待处理的立体图像组作为当前立体图像组,然后返回步骤③继续执行,直至立体视频中的所有立体图像组处理完毕。
所述的步骤③的具体过程为:
③-1、判断当前立体图像组是否为立体视频中的第1个立体图像组,如果是,则执行步骤③-2,否则,执行步骤③-3;
③-2、根据可用的信道带宽和当前立体图像组的长度,人为地确定当前立体图像组的初始编码量化参数,然后执行步骤④;
③-3、根据可用的信道带宽、帧率和当前立体图像组的长度,计算当前立体图像组共可分配的比特数,记为T(0),其中,u(0)表示可用的信道带宽,Fr表示帧率,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数,B0表示虚拟缓冲区的初始值,B0=Bs/8,Bs表示缓冲区的大小,Bc(0)表示编码完当前立体图像组的前一个立体图像组后立体视频内的实际缓冲区;
③-4、根据当前立体图像组共可分配的比特数T(0)计算当前立体图像组的初始编码量化参数,记为QPst,其中,SPQP表示当前立体图像组的前一个立体图像组中的所有左视点P帧图像的编码量化参数之和,Np表示当前立体图像组的前一个立体图像组中的左视点P帧图像的帧数,Tr表示编码完当前立体图像组的前一个立体图像组后立体视频内的剩余比特数;然后执行步骤④。
所述的步骤⑥中计算预分配给当前图像对的目标比特数的具体过程为:
⑥-a1、计算当前图像对的预测平均绝对差值,记为PMAD(n),其中,W表示当前图像对中的左视点图像和右视点图像的宽度,H表示当前图像对中的左视点图像和右视点图像的高度,符号“||”为取绝对值符号,Ii,j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j)的像素的亮度平均值,I′i,j表示当前图像对中的左视点图像的重建图像和当前图像对中的右视点图像的重建图像中坐标位置为(i,j)的像素的亮度平均值;
⑥-a2、计算当前图像对的梯度因子,记为Grad(n), 其中,符号“||”为取绝对值符号,Ii+1j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i+1,j)的像素的亮度平均值,Ii,j+1表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j+1)的像素的亮度平均值;
⑥-a3、根据当前图像对的预测平均绝对差值PMAD(n)和当前图像对的梯度因子Grad(n),计算当前图像对的编码复杂度,记为COMP(n),COMP(n)=α×RGrad(n)+(1-α)×RMAD(n),其中,α为常数,RMAD(n)表示当前图像对的预测平均绝对差值PMAD(n)与当前立体图像组中所有已编码的图像对的实际平均绝对差值的平均值AMAD(n)的比值, k∈[1,N-1],MADL(k)表示当前立体图像组中的第k个图像对的左视点图像的实际平均绝对差值,MADR(k)表示当前立体图像组中的第k个图像对的右视点图像的实际平均绝对差值,RGrad(n)表示当前图像对的梯度因子Grad(n)与当前立体图像组中所有已编码的图像对的梯度因子的平均值AGrad(n)的比值, GradL(k)表示当前立体图像组中的第k个图像对的左视点图像的梯度因子,GradR(k)表示当前立体图像组中的第k个图像对的右视点图像的梯度因子;
⑥-a4、根据当前图像对的编码复杂度COMP(n)计算编码当前图像对时的目标缓冲区,记为Tbl(n), 其中,Tbl(n-1)表示编码当前立体图像组中的当前图像对的前一个图像对时的目标缓冲区,Tbl(2)表示编码当前立体图像组中的第2个图像对时的目标缓冲区,Tbl(2)=Bc(2),Bc(2)表示编码完当前立体图像组中的第2个图像对后当前立体图像组内的实际缓冲区,Np表示当前立体图像组中包含的P图像对的个数;
⑥-a5、根据编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数Tr(n-1),计算拟预分配给当前图像对的目标比特数,记为T(n),然后利用当前图像对的编码复杂度COMP(n)对拟预分配给当前图像对的目标比特数进行修正,得到拟预分配给当前图像对的目标比特数T(n)的修正值,记为T'(n),其中,Nrp表示当前立体图像组中时域上在当前图像对之后剩余的P图像对的个数;
⑥-a6、根据编码当前图像对时的目标缓冲区Tbl(n),计算拟预分配给当前图像对的目标比特数,记为T*(n), 然后利用当前图像对在当前立体图像组中的位置对拟预分配给当前图像对的目标比特数T*(n)进行修改正,得到拟预分配给当前图像对的目标比特数T*(n)的修正值,记为T″(n), 其中,u(n)表示编码当前图像对时的信道带宽,γ为常数,Bc(n)表示编码完当前图像对后当前立体图像组内的实际缓冲区,WP为常数;
⑥-a7、根据T'(n)和T″(n),计算预分配给当前图像对的目标比特数,记为RT(n),RT(n)=β×T'(n)+(1-β)×T″(n),其中,β为常数。
所述的步骤⑥中当前图像对的左视点图像和右视点图像的编码量化参数的获取过程为:
⑥-b1、计算预分配给当前图像对的左视点图像的目标比特数,记为R_left(n), 其中,η为常数,RT(n)表示预分配给当前图像对的目标比特数,GradL(n)表示当前图像对的左视点图像的编码复杂度,GradR(n)表示当前图像对的右视点图像的编码复杂度;
⑥-b2、利用二次R-Q模型,并根据预分配给当前图像对的左视点图像的目标比特数R_left(n),获得当前图像对的左视点图像的编码量化参数;
⑥-b3、根据预分配给当前图像对的左视点图像的目标比特数R_left(n),计算预分配给当前图像对的右视点图像的目标比特数,记为R_right(n),R_right(n)=RT(n)-R_left(n);
⑥-b4、利用二次R-Q模型,并根据预分配给当前图像对的右视点图像的目标比特数R_right(n),获得当前图像对的右视点图像的编码量化参数。
所述的步骤⑦的具体过程为:
⑦-1、计算编码完当前图像对后当前立体图像组内的剩余比特数,记为Tr(n), 其中,Tr(n-1)表示编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数,u(n)表示编码当前图像对时的信道带宽,u(n-1)表示编码当前图像对的前一个图像对时的信道带宽,A(n-1)表示编码当前图像对时的实际比特数;
⑦-2、采用与JVT-G012相同的操作过程,利用线性回归方法更新二次R-Q模型。
与现有技术相比,本发明的优点在于通过考虑图像的编码复杂度、位置重要性及左右视点图像间的参考特性等因素,采用一种新的编码复杂度度量方式,使得目标比特数分配更加合理,从而使得编码输出的实际比特率与给定信道带宽相吻合,同时在保证码率控制精度的前提下,有效提高了率失真性能、编码效率和视频编码质量。
附图说明
图1为本发明方法采用的立体图像组的组成结构示意图;
图2a为Aquarium立体视频测试序列的左视点第48帧图像;
图2b为Crowd立体视频测试序列的左视点第48帧图像;
图2c为Akko立体视频测试序列的左视点第48帧图像;
图2d为Ballroom立体视频测试序列的左视点第48帧图像;
图2e为Rena立体视频测试序列的左视点第48帧图像;
图2f为Soccer2立体视频测试序列的左视点第48帧图像;
图3a为Aquarium立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图3b为Crowd立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图3c为Akko立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图3d为Ballroom立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图3e为Rena立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图3f为Soccer2立体视频测试序列在本发明方法与固定QP模式方法下的率失真曲线比较;
图4a为Akko立体视频测试序列的右视点第48帧图像在固定QP模式方法下的重建图像;
图4b为Akko立体视频测试序列的右视点第48帧图像在本发明方法下的重建图像;
图5a为Soccer2立体视频测试序列的右视点第48帧图像在固定QP模式方法下的重建图像;
图5b为Soccer2立体视频测试序列的右视点第48帧图像在本发明方法下的重建图像。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于H.264的立体视频码率控制方法,其充分考虑了图像自身的特性,在缓冲区分配时还考虑了图像的编码复杂度,在目标比特数预分配时还考虑了图像的编码复杂度和位置重要性,首先将立体视频分为立体图像组层、图像对层和帧层三个层次;然后根据可用的信道带宽和立体图像组的长度计算立体图像组的初始编码量化参数;接着直接利用立体图像组的初始编码量化参数对立体图像组中的第1个图像对和第2个图像对进行编码,对于立体图像组中的第3个图像对开始,利用二次R-Q模型并根据预分配给图像对的左视点图像和右视点图像的目标比特数计算图像对的左视点图像和右视点图像的编码量化参数,并对图像对的左视点图像和右视点图像进行编码。其具体包括以下步骤:
①将立体视频分为立体图像组(SGOP,stereo group of pictures)层、图像对层和帧层三个层次,将立体视频中自左视点视频中的时刻在前的I帧图像到时刻在后的I帧图像之前的一帧图像之间的连续立体图像(包括左视点图像和右视点图像)作为一个立体图像组,将立体图像组中同一时刻的左视点图像和右视点图像作为一个图像对,将立体图像组中同一时刻的左视点P帧图像和右视点P帧图像构成的图像对定义为P图像对。图1给出了立体图像组的组成结构,从图1中可以看出,构成一个立体图像组的连续立体图像为自左视点视频中的时刻较前的I帧图像到时刻较后的I帧图像之前的一帧图像即P帧图像之间的立体图像,在该立体图像组中除由左视点I帧图像和右视点P帧图像构成的第1幅立体图像即图像对外,其余的图像对均为P图像对。
②将立体视频中当前正在处理的立体图像组定义为当前立体图像组。
③根据可用的信道带宽和当前立体图像组的长度,计算当前立体图像组的初始编码量化参数。
在此具体实施例中,步骤③的具体过程为:
③-1、判断当前立体图像组是否为立体视频中的第1个立体图像组,如果是,则执行步骤③-2,否则,执行步骤③-3。
③-2、根据可用的信道带宽和当前立体图像组的长度,人为地确定当前立体图像组的初始编码量化参数,然后执行步骤④。在此,第1个立体图像组的初始编码量化参数是通过无数次实验经验地确定的一个值,该值一般在18~45之间。
③-3、根据可用的信道带宽、帧率和当前立体图像组的长度,计算当前立体图像组共可分配的比特数,记为T(0),其中,u(0)表示可用的信道带宽,Fr表示帧率,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数,B0表示虚拟缓冲区的初始值,B0=Bs/8,Bs表示缓冲区的大小,Bc(0)表示编码完当前立体图像组的前一个立体图像组后立体视频内的实际缓冲区。在本实施例中取N=15,Fr=30。
③-4、根据当前立体图像组共可分配的比特数T(0)计算当前立体图像组的初始编码量化参数,记为QPst,其中,SPQP表示当前立体图像组的前一个立体图像组中的所有左视点P帧图像的编码量化参数之和,Np表示当前立体图像组的前一个立体图像组中的左视点P帧图像的帧数,Tr表示编码完当前立体图像组的前一个立体图像组后立体视频内的剩余比特数;然后执行步骤④。
在本实施例中,测试采用如下标准立体视频测试序列:Aquarium(320×240),Crowd(320×240),Akko(640×480),Ballroom(640×480),Rena(720×480),Soccer2(720×480),其中括号内的数字表示分辨率。图2a、图2b、图2c、图2d、图2e和图2f分别给出了上述各立体视频测试序列的左视点的第48帧图像。
④将当前立体图像组中当前正在处理的第n个图像对定义为当前图像对,其中,1≤n≤N,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数。
⑤判断当前图像对是否为当前立体图像组中的第1个图像对或第2个图像对,如果是,则利用当前立体图像组的初始编码量化参数对当前图像对进行编码,即如果当前图像对为第1个图像对,则利用当前立体图像组的初始编码量化参数对左视点I帧图像和右视点P帧图像进行编码,如果当前图像对为第2个图像对,则利用当前立体图像组的初始编码量化参数对左视点P帧图像和右视点P帧图像进行编码,然后执行步骤⑦,否则,执行步骤⑥。
⑥计算预分配给当前图像对的目标比特数,然后计算预分配给当前图像对的左视点图像和右视点图像的目标比特数,接着利用二次R-Q模型计算当前图像对的左视点图像和右视点图像的编码量化参数,再利用当前图像对的左视点图像的编码量化参数对当前图像对的左视点图像进行编码,并利用当前图像对的右视点图像的编码量化参数对当前图像对的右视点图像进行编码。
在此具体实施例中,步骤⑥中计算预分配给当前图像对的目标比特数的具体过程为:
⑥-a1、H.264中的JVT-G012算法中用平均绝对差值(MAD,mean absolute difference)衡量图像的复杂度,因此本发明先计算当前图像对的预测平均绝对差值,记为PMAD(n),其中,W表示当前图像对中的左视点图像和右视点图像的宽度,H表示当前图像对中的左视点图像和右视点图像的高度,符号“||”为取绝对值符号,Ii,j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j)的像素的亮度平均值,I′i,j表示当前图像对中的左视点图像的重建图像和当前图像对中的右视点图像的重建图像中坐标位置为(i,j)的像素的亮度平均值。
⑥-a2、从定义上理解,平均绝对差值表示当前帧图像与前一帧图像经过运动矢量位移后对应像素间的时域差值关系,而其并没有考虑当前帧图像内部相邻像素之间的变化关系,因此为了更准确的表达图像对的复杂度,本发明引入梯度因子来表示图像内部相邻像素间的变化关系,即本发明再计算当前图像对的梯度因子,记为Grad(n), 其中,符号“||”为取绝对值符号,Ii+1,j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i+1,j)的像素的亮度平均值,Ii,j+1表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j+1)的像素的亮度平均值。
⑥-a3、根据当前图像对的预测平均绝对差值PMAD(n)和当前图像对的梯度因子Grad(n),计算当前图像对的编码复杂度,记为COMP(n),COMP(n)=α×RGrad(n)+(1-α)×RMAD(n),其中,α为常数,在本实施例中取α=0.5,RMAD(n)表示当前图像对的预测平均绝对差值PMAD(n)与当前立体图像组中所有已编码的图像对的实际平均绝对差值的平均值AMAD(n)的比值, k∈[1,N-1],MADL(k)表示当前立体图像组中的第k个图像对的左视点图像的实际平均绝对差值,MADR(k)表示当前立体图像组中的第k个图像对的右视点图像的实际平均绝对差值,RGrad(n)表示当前图像对的梯度因子Grad(n)与当前立体图像组中所有已编码的图像对的梯度因子的平均值AGrad(n)的比值, GradL(k)表示当前立体图像组中的第k个图像对的左视点图像的梯度因子,GradR(k)表示当前立体图像组中的第k个图像对的右视点图像的梯度因子。在此,本发明通过利用RMAD(n)和RGrad(n)可以有效反映图像对相对于整个立体视频的相对复杂度。
⑥-a4、根据当前图像对的编码复杂度COMP(n)计算编码当前图像对时的目标缓冲区,记为Tbl(n), 其中,Tbl(n-1)表示编码当前立体图像组中的当前图像对的前一个图像对时的目标缓冲区,Tbl(2)表示编码当前立体图像组中的第2个图像对时的目标缓冲区,将Tbl(2)设为目标缓冲区大小的初始值,Tbl(2)=Bc(2),Bc(2)表示编码完当前立体图像组中的第2个图像对后当前立体图像组内的实际缓冲区,Np表示当前立体图像组中包含的P图像对的个数。
⑥-a5、根据编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数Tr(n-1),计算拟预分配给当前图像对的目标比特数,记为T(n),然后利用当前图像对的编码复杂度COMP(n)对拟预分配给当前图像对的目标比特数进行修正,得到拟预分配给当前图像对的目标比特数T(n)的修正值,记为T'(n),其中,Nrp表示当前立体图像组中时域上在当前图像对之后剩余的P图像对的个数。在此,计算拟预分配给当前图像对的目标比特数时还考虑了当前图像对的编码复杂度,这样可使得预分给当前图像对的目标比特数更为精确。
⑥-a6、给当前图像对预分配目标比特数时还需考虑缓冲区的占用情况,因此本发明根据编码当前图像对时的目标缓冲区Tbl(n),计算拟预分配给当前图像对的目标比特数,记为T*(n),然后利用当前图像对在当前立体图像组中的位置对拟预分配给当前图像对的目标比特数T*(n)进行修改正,得到拟预分配给当前图像对的目标比特数T*(n)的修正值,记为T″(n), 其中,u(n)表示编码当前图像对时的信道带宽,γ为常数,在本实施例中取γ=0.5,Bc(n)表示编码完当前图像对后当前立体图像组内的实际缓冲区,WP为常数,在本实施例中取Wp=2。在此,根据当前图像对在当前立体图像组中的位置来调整目标比特数的分配,使得在当前立体图像组中位置靠前的P帧图像能够分到相对多一些的目标比特数。
⑥-a7、根据T'(n)和T″(n),计算预分配给当前图像对的目标比特数,记为RT(n),RT(n)=β×T'(n)+(1-β)×T″(n),其中,β为常数,在本实施例中取β=0.5。
在此具体实施例中,步骤⑥中当前图像对的左视点图像和右视点图像的编码量化参数的获取过程为:
⑥-b1、利用当前图像对的左视点图像和右视点图像之间的参考特性,同时利用当前图像对的左视点图像和右视点图像各自的编码复杂度之比进行调整,从而为当前图像对的左视点图像预分配目标比特数。在此,为当前图像对的左视点图像预分配目标比特数的过程为:计算预分配给当前图像对的左视点图像的目标比特数,记为R_left(n), 其中,η为常数,在本实施例中取η=1.2,RT(n)表示预分配给当前图像对的目标比特数,GradL(n)表示当前图像对的左视点图像的编码复杂度,GradR(n)表示当前图像对的右视点图像的编码复杂度。
⑥-b2、利用现有的二次R-Q模型,并根据预分配给当前图像对的左视点图像的目标比特数R_left(n),获得当前图像对的左视点图像的编码量化参数。即:将预分配给当前图像对的左视点图像的目标比特数代入二次R-Q模型中,即可计算得到当前图像对的左视点图像的编码量化参数。现有的二次R-Q模型为其中,R表示总的目标比特数,H表示头信息比特数,MAD表示平均绝对误差和,Q表示编码的量化步长,X1和X2均为模型参数。在此在计算当前图像对的左视点图像的编码量化参数时,将预分配给当前图像对的左视点图像的目标比特数R_left(n)作为二次R-Q模型中的总的目标比特数R,这样就得计算得到当前图像对的左视点图像的编码量化参数。
⑥-b3、根据预分配给当前图像对的左视点图像的目标比特数R_left(n),计算预分配给当前图像对的右视点图像的目标比特数,记为R_right(n),R_right(n)=RT(n)-R_left(n)。
⑥-b4、利用二次R-Q模型,并根据预分配给当前图像对的右视点图像的目标比特数R_right(n),获得当前图像对的右视点图像的编码量化参数。即:将预分配给当前图像对的右视点图像的目标比特数代入二次R-Q模型中,即可计算得到当前图像对的右视点图像的编码量化参数。
⑦编码完当前图像对后,更新当前立体图像组内的剩余比特数以及二次R-Q模型。
在此具体实施例中,步骤⑦的具体过程为:
⑦-1、计算编码完当前图像对后当前立体图像组内的剩余比特数,记为Tr(n), 其中,Tr(n-1)表示编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数,u(n)表示编码当前图像对时的信道带宽,u(n-1)表示编码当前图像对的前一个图像对时的信道带宽,A(n-1)表示编码当前图像对时的实际比特数。
⑦-2、采用与现有的JVT-G012相同的操作过程,利用线性回归方法更新二次R-Q模型。
⑧令n'=n+1,n=n',将当前立体图像组中下一个待处理的图像对作为当前图像对,然后返回步骤⑤继续执行,直至当前立体图像组中的所有图像对处理完毕,其中,n'的初始值为0,在“n'=n+1,n=n′”中“=”为赋值符号;
⑨将立体视频中下一个待处理的立体图像组作为当前立体图像组,然后返回步骤③继续执行,直至立体视频中的所有立体图像组处理完毕。
以下就对本发明的码率控制方法进行测试,以证明本发明的码率控制方法的有效性和可行性。测试考察本发明方法的码率控制精度和率失真性能两个性能指标,码率控制精度指标定义为其中,符号“||”为取绝对值符号,Ract表示实际码率,Rtar表示目标码率。测试过程分成两步:
1)在立体视频编码平台上以固定编码量化参数(22、27、32、37)分别进行编码,得到固定编码量化参数下的码率和平均峰值信噪比(PSNR)。
2)以所得的码率作为目标码率,以相应的固定编码量化参数减2作为初始编码量化参数,对本发明方法进行实验,得到本发明方法下的实际码率和平均峰值信噪比(PSNR)。
表1给出了利用本发明方法对Aquarium、Crowd、Akko、Ballroom、Rena、Soccer2立体视频测试序列进行处理的码率控制精度,表2给出了利用本发明方法和固定QP模式算法对Aquarium、Crowd、Akko、Ballroom、Rena、Soccer2立体视频进行处理的平均峰值信噪比(PSNR)比较。表1中码率控制精度控制范围从0~0.402%,平均的控制精度达到了0.171%,表2中本发明方法得到的PSNR比固定QP模式相比平均提高了0.24dB,因此,利用本发明方法编码所产生的实际码率精确地接近于目标码率,能对立体视频有效的进行码率控制,同时能够较大的提高图像编码质量。
为了更形象的比较本发明方法和固定QP模式方法的率失真性能,画出图2a、图2b、图2c、图2d、图2e和图2f立体视频测试序列在本发明方法和固定QP模式方法下的率失真曲线,如图3a、图3b、图3c、图3d、图3e和图3f所示,其中横轴表示码率,纵轴表示左右通道(左右视点)的平均峰值信噪比,实线表示固定QP模式算法,虚线表示本发明方法。此外,运用Bjontegaard Delta峰值信噪比(BDPSNR,Bjontegaard Delta Peak Signal toNoise Ratio)求取软件求得各测试序列对应的BDPSNR,结果如表2最后一列所列。与固定QP模式方法相比,本发明方法有着更佳的率失真性能。
此外,为了比较重建图像主观质量的好坏,图4a和图4b分别给出了采用本发明方法与固定QP模式方法对Akko立体视频测试序列进行测试后的右视点第48帧重建图像的主观效果图,左视点的重建图像与此相似。图5a和图5b分别给出了采用本发明方法与固定QP模式方法对Soccer2立体视频测试序列进行测试后的右视点第48帧重建图像的主观效果图,左视点的重建图像与此相似。由于本发明方法综合考虑了图像的编码复杂度、位置重要性和左右视点图像间的参考特性等因素,因此可使得码率分配更加合理,最终能够获得更好的重建图像主观质量与客观质量。
表1本发明方法的码率控制精度
表2本发明方法与固定QP模式方法的平均峰值信噪比比较
Claims (4)
1.一种基于H.264的立体视频码率控制方法,其特征在于包括以下步骤:首先将立体视频分为立体图像组层、图像对层和帧层三个层次;然后根据可用的信道带宽和立体图像组的长度计算立体图像组的初始编码量化参数;接着直接利用立体图像组的初始编码量化参数对立体图像组中的第1个图像对和第2个图像对进行编码,对于立体图像组中的第3个图像对开始,利用二次R-Q模型并根据预分配给图像对的左视点图像和右视点图像的目标比特数计算图像对的左视点图像和右视点图像的编码量化参数,并对图像对的左视点图像和右视点图像进行编码;
该立体视频码率控制方法具体包括以下步骤:
①将立体视频分为立体图像组层、图像对层和帧层三个层次,将立体视频中自左视点视频中的时刻在前的I帧图像到时刻在后的I帧图像之前的一帧图像之间的连续立体图像作为一个立体图像组,将立体图像组中同一时刻的左视点图像和右视点图像作为一个图像对,将立体图像组中同一时刻的左视点P帧图像和右视点P帧图像构成的图像对定义为P图像对;
②将立体视频中当前正在处理的立体图像组定义为当前立体图像组;
③根据可用的信道带宽和当前立体图像组的长度,计算当前立体图像组的初始编码量化参数;
④将当前立体图像组中当前正在处理的第n个图像对定义为当前图像对,其中,1≤n≤N,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数;
⑤判断当前图像对是否为当前立体图像组中的第1个图像对或第2个图像对,如果是,则利用当前立体图像组的初始编码量化参数对当前图像对进行编码,然后执行步骤⑦,否则,执行步骤⑥;
⑥计算预分配给当前图像对的目标比特数,然后计算预分配给当前图像对的左视点图像和右视点图像的目标比特数,接着利用二次R-Q模型计算当前图像对的左视点图像和右视点图像的编码量化参数,再利用当前图像对的左视点图像的编码量化参数对当前图像对的左视点图像进行编码,并利用当前图像对的右视点图像的编码量化参数对当前图像对的右视点图像进行编码;
所述的步骤⑥中计算预分配给当前图像对的目标比特数的具体过程为:
⑥-a1、计算当前图像对的预测平均绝对差值,记为PMAD(n),其中,W表示当前图像对中的左视点图像和右视点图像的宽度,H表示当前图像对中的左视点图像和右视点图像的高度,符号“||”为取绝对值符号,Ii,j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j)的像素的亮度平均值,I'i,j表示当前图像对中的左视点图像的重建图像和当前图像对中的右视点图像的重建图像中坐标位置为(i,j)的像素的亮度平均值;
⑥-a2、计算当前图像对的梯度因子,记为Grad(n), 其中,符号“||”为取绝对值符号,Ii+1,j表示当前图像对中的左视点图像和右视点图像中坐标位置为(i+1,j)的像素的亮度平均值,Ii,j+1表示当前图像对中的左视点图像和右视点图像中坐标位置为(i,j+1)的像素的亮度平均值;
⑥-a3、根据当前图像对的预测平均绝对差值PMAD(n)和当前图像对的梯度因子Grad(n),计算当前图像对的编码复杂度,记为COMP(n),COMP(n)=α×RGrad(n)+(1-α)×RMAD(n),其中,α为常数,RMAD(n)表示当前图像对的预测平均绝对差值PMAD(n)与当前立体图像组中所有已编码的图像对的实际平均绝对差值的平均值AMAD(n)的比值, k∈[1,N-1],MADL(k)表示当前立体图像组中的第k个图像对的左视点图像的实际平均绝对差值,MADR(k)表示当前立体图像组中的第k个图像对的右视点图像的实际平均绝对差值,表示当前图像对的梯度因子Grad(n)与当前立体图像组中所有已编码的图像对的梯度因子的平均值AGrad(n)的比值, GradL(k)表示当前立体图像组中的第k个图像对的左视点图像的梯度因子,GradR(k)表示当前立体图像组中的第k个图像对的右视点图像的梯度因子;
⑥-a4、根据当前图像对的编码复杂度COMP(n)计算编码当前图像对时的目标缓冲区,记为 其中,Tbl(n-1)表示编码当前立体图像组中的当前图像对的前一个图像对时的目标缓冲区,Tbl(2)表示编码当前立体图像组中的第2个图像对时的目标缓冲区,Tbl(2)=Bc(2),Bc(2)表示编码完当前立体图像组中的第2个图像对后当前立体图像组内的实际缓冲区,Np表示当前立体图像组中包含的P图像对的个数;
⑥-a5、根据编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数Tr(n-1),计算拟预分配给当前图像对的目标比特数,记为然后利用当前图像对的编码复杂度COMP(n)对拟预分配给当前图像对的目标比特数进行修正,得到拟预分配给当前图像对的目标比特数T(n)的修正值,记为T'(n),其中,Nrp表示当前立体图像组中时域上在当前图像对之后剩余的P图像对的个数;
⑥-a6、根据编码当前图像对时的目标缓冲区Tbl(n),计算拟预分配给当前图像对的目标比特数,记为 然后利用当前图像对在当前立体图像组中的位置对拟预分配给当前图像对的目标比特数T*(n)进行修改正,得到拟预分配给当前图像对的目标比特数T*(n)的修正值,记为T″(n), 其中,u(n)表示编码当前图像对时的信道带宽,γ为常数,Bc(n)表示编码完当前图像对后当前立体图像组内的实际缓冲区,WP为常数;
⑥-a7、根据T'(n)和T''(n),计算预分配给当前图像对的目标比特数,记为RT(n),RT(n)=β×T'(n)+(1-β)×T''(n),其中,β为常数;
⑦编码完当前图像对后,更新当前立体图像组内的剩余比特数以及二次R-Q模型;
⑧令n'=n+1,n=n',将当前立体图像组中下一个待处理的图像对作为当前图像对,然后返回步骤⑤继续执行,直至当前立体图像组中的所有图像对处理完毕,其中,n'的初始值为0,在“n'=n+1,n=n'”中“=”为赋值符号;
⑨将立体视频中下一个待处理的立体图像组作为当前立体图像组,然后返回步骤③继续执行,直至立体视频中的所有立体图像组处理完毕。
2.根据权利要求1所述的一种基于H.264的立体视频码率控制方法,其特征在于所述的步骤③的具体过程为:
③-1、判断当前立体图像组是否为立体视频中的第1个立体图像组,如果是,则执行步骤③-2,否则,执行步骤③-3;
③-2、根据可用的信道带宽和当前立体图像组的长度,人为地确定当前立体图像组的初始编码量化参数,然后执行步骤④;
③-3、根据可用的信道带宽、帧率和当前立体图像组的长度,计算当前立体图像组共可分配的比特数,记为其中,u(0)表示可用的信道带宽,Fr表示帧率,N表示当前立体图像组的长度即当前立体图像组中包含的图像对的个数,B0表示虚拟缓冲区的初始值,B0=Bs/8,Bs表示缓冲区的大小,Bc(0)表示编码完当前立体图像组的前一个立体图像组后立体视频内的实际缓冲区;
③-4、根据当前立体图像组共可分配的比特数T(0)计算当前立体图像组的初始编码量化参数,记为QPst,其中,SPQP表示当前立体图像组的前一个立体图像组中的所有左视点P帧图像的编码量化参数之和,Np表示当前立体图像组的前一个立体图像组中的左视点P帧图像的帧数,Tr表示编码完当前立体图像组的前一个立体图像组后立体视频内的剩余比特数;然后执行步骤④。
3.根据权利要求1所述的一种基于H.264的立体视频码率控制方法,其特征在于所述的步骤⑥中当前图像对的左视点图像和右视点图像的编码量化参数的获取过程为:
⑥-b1、计算预分配给当前图像对的左视点图像的目标比特数,记为R_left(n), 其中,η为常数,RT(n)表示预分配给当前图像对的目标比特数,GradL(n)表示当前图像对的左视点图像的编码复杂度,GradR(n)表示当前图像对的右视点图像的编码复杂度;
⑥-b2、利用二次R-Q模型,并根据预分配给当前图像对的左视点图像的目标比特数R_left(n),获得当前图像对的左视点图像的编码量化参数;
⑥-b3、根据预分配给当前图像对的左视点图像的目标比特数R_left(n),计算预分配给当前图像对的右视点图像的目标比特数,记为R_right(n),R_right(n)=RT(n)-R_left(n);
⑥-b4、利用二次R-Q模型,并根据预分配给当前图像对的右视点图像的目标比特数R_right(n),获得当前图像对的右视点图像的编码量化参数。
4.根据权利要求3所述的一种基于H.264的立体视频码率控制方法,其特征在于所述的步骤⑦的具体过程为:
⑦-1、计算编码完当前图像对后当前立体图像组内的剩余比特数,记为Tr(n), 其中,Tr(n-1)表示编码完当前图像对的前一个图像对后当前立体图像组内的剩余比特数,u(n)表示编码当前图像对时的信道带宽,u(n-1)表示编码当前图像对的前一个图像对时的信道带宽,A(n-1)表示编码当前图像对时的实际比特数;
⑦-2、采用与JVT-G012相同的操作过程,利用线性回归方法更新二次R-Q模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210179874.9A CN102724524B (zh) | 2012-06-01 | 2012-06-01 | 一种基于h.264 的立体视频码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210179874.9A CN102724524B (zh) | 2012-06-01 | 2012-06-01 | 一种基于h.264 的立体视频码率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102724524A CN102724524A (zh) | 2012-10-10 |
CN102724524B true CN102724524B (zh) | 2014-08-27 |
Family
ID=46950168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210179874.9A Expired - Fee Related CN102724524B (zh) | 2012-06-01 | 2012-06-01 | 一种基于h.264 的立体视频码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724524B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002287B (zh) * | 2012-12-06 | 2015-09-02 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103002285B (zh) * | 2012-12-06 | 2015-07-08 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103391436B (zh) * | 2013-07-12 | 2016-06-29 | 宁波大学 | 一种基于双目视觉特性的立体视频码率控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198042A (zh) * | 2007-12-26 | 2008-06-11 | 广东威创视讯科技股份有限公司 | 视频编码的码率控制方法及视频数据的发射设备 |
CN102137258A (zh) * | 2011-03-22 | 2011-07-27 | 宁波大学 | 一种立体视频码率控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9414080B2 (en) * | 2009-08-21 | 2016-08-09 | Broadcom Corporation | Method and system for asymmetrical rate control for 3D video compression |
-
2012
- 2012-06-01 CN CN201210179874.9A patent/CN102724524B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198042A (zh) * | 2007-12-26 | 2008-06-11 | 广东威创视讯科技股份有限公司 | 视频编码的码率控制方法及视频数据的发射设备 |
CN102137258A (zh) * | 2011-03-22 | 2011-07-27 | 宁波大学 | 一种立体视频码率控制方法 |
Non-Patent Citations (6)
Title |
---|
A Novel Rate Control Method for H. 264/AVC Based on Frame Complexity and Importance;Haibing Chen;《Advanced Concepts for Intelligent Vision Systems》;Springer;20100131;365-368 * |
Approaches to H. 264-based stereoscopic video coding;Shiping Li;《Image and Graphics, International Conference on. IEEE Computer Society》;20041130;69-78 * |
Frame complexity-based rate-quantization model for H. 264/AVC intraframe rate control;Xuan Jing;《Signal Processing Letters, IEEE》;20081231;第15卷;373-376 * |
Haibing Chen.A Novel Rate Control Method for H. 264/AVC Based on Frame Complexity and Importance.《Advanced Concepts for Intelligent Vision Systems》.Springer,2010,69-78. |
ShipingLi.ApproachestoH.264-basedstereoscopicvideocoding.《ImageandGraphics International Conference on. IEEE Computer Society》.2004 |
Xuan Jing.Frame complexity-based rate-quantization model for H. 264/AVC intraframe rate control.《Signal Processing Letters, IEEE》.2008,第15卷373-376. |
Also Published As
Publication number | Publication date |
---|---|
CN102724524A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979663B2 (en) | Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos | |
CN101835056B (zh) | 基于模型的纹理视频与深度图的最优码率分配方法 | |
CN103179405B (zh) | 一种基于多级感兴趣区域的多视点视频编码方法 | |
CN103561266B (zh) | 基于对数r-q模型和层次化比特分配的码率控制方法 | |
CN101888566B (zh) | 立体视频编码率失真性能估计方法 | |
CN102970540B (zh) | 基于关键帧码率-量化模型的多视点视频码率控制方法 | |
CN102447925B (zh) | 一种虚拟视点图像合成方法及装置 | |
CN107852496A (zh) | 用于预测感知视频质量的技术 | |
CN108063944B (zh) | 一种基于视觉显著性的感知码率控制方法 | |
CN102938840A (zh) | 应用于多视点视频编码系统的关键帧量化参数选择方法 | |
CN103347188B (zh) | 一种分布式视频编码非关键帧压缩感知编解码方法 | |
CN104756489A (zh) | 一种虚拟视点合成方法及系统 | |
CN101572806B (zh) | 一种基于h.264的i帧码率控制方法 | |
EP4175297A1 (en) | Point cloud quality assessment method, encoder, decoder, and storage medium | |
CN103634601B (zh) | 基于结构相似度的高效视频编码感知码率控制优化方法 | |
CN103067705B (zh) | 一种多视点深度视频预处理方法 | |
CN102724524B (zh) | 一种基于h.264 的立体视频码率控制方法 | |
CN105306954B (zh) | 一种基于视差最小可察觉误差模型的感知立体视频编码 | |
CN108810530A (zh) | 一种基于人眼视觉系统的avc码率控制方法 | |
CN112437301B (zh) | 一种面向视觉分析的码率控制方法、装置、存储介质及终端 | |
CN103096076B (zh) | 视频编码方法 | |
CN103414889B (zh) | 一种基于双目恰可察觉失真的立体视频码率控制方法 | |
CN113784108B (zh) | 一种基于5g传输技术的vr旅游观光方法及系统 | |
CN116723305B (zh) | 一种基于生成式对抗网络的虚拟视点质量增强方法 | |
CN102325254B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20210601 |
|
CF01 | Termination of patent right due to non-payment of annual fee |