一种多视点纹理视频和深度图编码的码率控制方法转让专利

申请号 : CN201410387352.7

文献号 : CN104159095B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈礼权曹志明胡乾乾赵振军张兆扬

申请人 : 上海大学

摘要 :

本发明公开了一种多视点纹理视频和深度图编码的码率控制方法,该方法,给定目标比特速率 ,编码端基于多视点纹理视频和深度图编码,进行编码视点之间的码率分配,纹理视频与深度图之间的码率分配,码率控制图像组(RCGOP)级的码率分配,纹理视频和深度图TD)单元级的码率分配和帧级的码率分配算法来实现码率控制。该方法对多视点纹理视频和深度图编码的码率控制提供了一个通用的处理框架,能提高码率控制精度,降低计算复杂度,并提高了编码效率。

权利要求 :

1.一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,给定目标比特速率Rtarget,编码端基于多视点纹理视频和深度图编码,进行编码视点之间的码率分配,纹理视频与深度图之间的码率分配,码率控制图像组(RCGOP)级的码率分配,纹理视频和深度图(TD)单元级的码率分配和帧级的码率分配算法来实现码率控制,其具体步骤如下:(1)、预编码一个图像组,获取码率控制方法初始的特征参数;

(2)、根据给定目标比特速率,计算码率控制图像组(RCGOP)所能分配的码率;

(3)、计算纹理视频和深度图(TD)单元的目标码率,得到非关键的纹理视频和深度图(TD)单元的目标码率;

(4)、计算当前纹理视频和深度图(TD)单元的目标比特数Ti(j);

(5)、根据步骤(1)中预编码获取的视频序列的特征参数{A,B,C,μt,νt,ωt,μd,νd和ωd},计算最优的纹理视频与深度图之间的目标码率比例υt,d,其中A,B,C分别为虚拟绘制视点的失真参数、纹理视频的失真参数、深度图的失真参数,μt,νt,ωt为预编码得到的纹理视频的码率失真模型的常系数,μd,νd,ωd为预编码得到的深度图的码率失真模型的常系数;

(6)、统计最优的编码视点之间目标码率比例σview;

(7)、根据步骤(4)中所述的当前纹理视频和深度图(TD)单元的目标比特数Ti(j)、与步骤(5)所述的纹理视频与深度图之间的目标码率比例υt,d、以及步骤(6)所述的编码视点之间目标码率比例σview,计算当前帧的目标比特数Tf;

(8)、根据当前帧的目标比特数Tf和当前帧的量化步长Qstep的二项式模型关系,计算当前帧的量化步长Qstep,得到当前帧的量化参数Qp;

(9)、以量化参数Qp编码当前纹理视频帧或深度图帧;

(10)、判断编码纹理视频和深度图(TD)单元中所有帧是否结束,选择跳转位置。

2.根据权利要求1所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(2)所述的计算码率控制图像组(RCGOP)所能分配的码率,其计算式为:其中,Rtarget为给定目标比特速率,LGOP为码率控制图像组(RCGOP)长度,Lview为视点数目,f为视频编码帧率。

3.根据权利要求2所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(3)所述的计算纹理视频和深度图(TD)单元的目标码率,得到非关键的纹理视频和深度图(TD)单元的目标码率,其步骤如下:(3-1)、计算关键的纹理视频和深度图(TD)单元的目标码率,记为Rk,如下:其中,R表示每一个纹理视频和深度图(TD)单元分配的平均目标码率,L表示分级层数LGOP≤2L,GOP为8,则可分为3个分级层,NB表示非关键的纹理视频和深度图(TD)单元的数目,表示当前层l中非关键的纹理视频和深度图(TD)单元的数目, 表示当前层l中非关键的纹理视频和深度图(TD)单元的分级因子;

(3-2)、利用可分级因子 得到非关键的纹理视频和深度图(TD)单元的目标码率,记为其计算式为:。

4.根据权利要求3所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(4)所述的计算当前纹理视频和深度图(TD)单元的目标比特数Ti(j),其步骤如下:(4-1)、根据码率控制图像组(RCGOP)的剩余比特数,计算当前关键的纹理视频和深度 图(TD)单元的目标比特数 计算式为:其中,Nk,r表示当前码率控制图像组(RCGOP)中的剩余关键的纹理视频和深度图(TD)单元数, 表示第l层中剩余非关键的纹理视频和深度图(TD)单元数,Bi(j)为当前码率控制图像组(RCGOP)中的剩余比特数,i表示第i个码率控制图像组(RCGOP),j表示第j个纹理视频和深度图(TD)单元,Rcurrent表示当前纹理视频和深度图(TD)单元的目标码率,Rk为关键的纹理视频和深度图(TD)单元的目标码率, 为非关键的纹理视频和深度图(TD)单元的目标码率;

(4-2)、计算当前纹理视频和深度图(TD)单元的目标比特数,记为 其计算式如下:其中,TBi(j)为目标缓冲级,CBi(j)为当前缓冲器满溢程度,u(ni,j)为当前剩余可用码率,f为视频编码帧率,γ=0.25;

(4-3)、由 和 加权,计算当前关键的纹理视频和深度图(TD)单元的目标比特数,其计算式为:

其中,β=0.5;

(4-4)、如果当前的纹理视频和深度图(TD)单元为关键的纹理视频和深度图(TD) 单元,则直接跳转到步骤(5),如果当前的纹理视频和深度图(TD)单元为非关键的纹理视频和深度图(TD)单元,则其目标比特数为Ti(j)=Ti(j)/θ,θ=0.45。

5.根据权利要求4所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(5)所述的计算最优的纹理视频与深度图之间的目标码率比例υt,d,其步骤如下:(5-1)、设视频失真和码率之间的失真关系式,其失真表达式为:Rt+Rd≤Rc

Rd≤Rt

其中,x1和x2为虚拟视点和编码视点的比例因子,Rt表示纹理视频的目标码率,Rd表示深度图的目标码率,Rc表示所有的目标码率,Dv表示虚拟视点的绘制失真,Dt表示纹理视频的编码失真,Rd≤Rt表示纹理视频需要使用比深度图多的比特数;

(5-2)、设步骤(5-1)中的虚拟视点的绘制失真为纹理视频的编码失真和深度图的编码失真的加权值,其表达式为:Dv=ADt+BDd+C

其中Dv为虚拟视点的绘制失真值,Dt为虚拟视点相邻两视点的纹理视频的编码失真均值,Dd为虚拟视点相邻两视点的深度图的编码失真均值,A,B,C分别为虚拟绘制视点的失真参数、纹理视频的失真参数、深度图的失真参数;

(5-3)、定义步骤(5-1)中的纹理视频的编码失真和纹理视频的码率之间的码率失真模型,其表达式如下:其中,Dt为纹理视频的编码失真值,Rt为纹理视频的目标码率,μt,νt,ωt为预编码得到的纹理视频的码率失真模型的常系数;

(5-4)、定义步骤(5-2)中的深度图的编码失真和深度图的码率之间的码率失真模型,其表达式如下:其中,Dd为深度图的编码失真值,Rd为深度图的目标码率,μd,νd,ωd为预编码得到的深度图的码率失真模型的常系数;

(5-5)、根据步骤(5-1)所述的视频失真和码率之间的失真表达式、步骤(5-2)所述的虚拟视点的绘制失真值、步骤(5-3)所述的纹理视频的编码失真值、步骤(5-4)所述的深度图的编码失真值,建立纹理视频码率Rt、深度图码率Rd、及所有的目标码率Rc的表达式,其表达式如下:Rt+Rd≤Rc

Rd≤Rt

(5-6)、利用拉格朗日乘子法将步骤(5-5)中所述的表达式转换为如下表达式:(5-7)、利用计算机软件编程中的二分法求解上述步骤(5-6)中所述的表达式,计算最优的纹理视频与深度图之间的目标码率比例υt,d,如果当前帧为纹理视频帧,则目标码率比例表达式为:

υt,d=Rt/Rc

如果当前帧为深度图帧,则目标码率比例表达式为:

υt,d=Rd/Rc。

6.根据权利要求5所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(6)所述的统计最优的编码视点之间目标码率比例σview,其步骤如下:(6-1)、固定纹理视频的量化参数Qp,其深度图的量化参数Qp在固定的纹理视频的量化参数Qp的基础上,每次递增2逐步调整,最大增加10,编码一个码率控制图像组(RCGOP);

(6-2)、计算最优的编码视点之间目标码率比例,记为σview,其计算式为:σview=σcurr/σall

其中,σcurr表示当前视点的实际码率,σall为所有视点的码率。

7.根据权利要求6所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(7)所述的计算当前帧的目标比特数Tf,其计算式如下:Tf=Ti(j)×σview×υt,d。

8.根据权利要求7所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(8)所述的根据当前帧的目标比特数Tf和当前帧的量化步长Qstep的二项式模型关系,计算当前帧的量化步长Qstep,二项式模型的计算式为:其中,d1,d2为模型参数,H为头信息,MAD为平均绝对误差,在H.264编码标准中,量化步长Qstep与量化参数Qp存在一一对应的关系,得到当前帧的量化参数Qp。

9.根据权利要求8所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(9)所述的以量化参数Qp编码当前纹理视频帧或深度图帧,其具体如下:(9-1)、编码纹理视频帧或深度图帧,获得该帧的真实码率Rf;

(9-2)、计算剩余可用码率u(ni,j)=max{0,u(ni,j)-Rf},其中,符号max{.}表示取两个数的最大值。

10.根据权利要求9所述的一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,上述步骤(10)所述的判断编码纹理视频和深度图(TD)单元中所有帧是否结束,选择跳转位置,其具体步骤如下:(10-1)、如果编码当前纹理视频和深度图(TD)单元中所有帧没有结束,则跳转至步骤(7);

(10-2)、如果编码当前纹理视频和深度图(TD)单元中所有帧结束,并且纹理视频和深度图(TD)单元的序号k与码率控制图像组(RCGOP)长度LGOP不相等,即k≠LGOP, 则令k=k+1,跳转至步骤(3);

(10-3)、如果编码当前纹理视频和深度图(TD)单元中所有帧结束,并且纹理视频和深度图(TD)单元的序号k与码率控制图像组(RCGOP)长度LGOP相等,即k=LGOP,则令k=1,跳转至步骤(2)。

说明书 :

一种多视点纹理视频和深度图编码的码率控制方法

技术领域

[0001] 本发明属于多媒体通信技术领域,特别涉及一种高效的多视点纹理视频和深度图编码的码率控制方法。

背景技术

[0002] 在视频传输中,现有网络带宽是有限、不稳定的,并且随着高清视频、三维(3D)视频的普及,视频数据量越来越大,网络带宽资源严重不足。仅依靠高压缩比来编码传输视频,将严重降低视频显示质量。视频编码的码率控制方法能充分利用有限的网络资源,实时调整视频编码器的输出码率,获取视频质量和带宽利用之间的最佳均衡,以提高信道利用率。
[0003] 3D视频有众多表示方法,多视点纹理视频和深度图表示方法因具有较好的二维(2D)视频兼容性和较小的虚拟绘制视点失真而受到青睐,该3D视频表示方法在发送端只需编码和传输有限视角的视频,其他视角的视频通过基于深度图的绘制视点在接收端重建获得(见阅文献[1]),因此,多视点纹理视频和深度图表示方法提高了3D视频编码的效率,是目前常用的一种3D视频表示方法。在H.264标准现有的码率控制方法中,基于单视点的2D视频编码的码率控制方法通常是从图像组(GOP)结构(IPP,IBP,IBBP),帧类型(I帧,P帧和B帧),缓存限制等角度入手,然后通过动态调节量化参数Qp等编码器参数,最终逼近期望比特数。然而在单视点的2D视频编码的码率控制方法基础上,通用的多视点纹理视频和深度图编码的码率控制方法还需要考虑视点之间的比特数分配,纹理视频与深度图之间的比特数分配等的问题,再通过动态调节量化参数Qp等编码器参数,逼近期望比特数。因此,单视点的2D视频编码的码率控制方法不能直接应用到多视点纹理视频和深度图编码的码率控制方法中。
[0004] H. Yuan等人发表在国际电气电子工程师协会杂志《针对视频技术的电路与系统》 (IEEE Trans. on Circuits and Systems for Video Technology)上的文章《3D视频编码的基于模型的纹理视频和深度图联合比特分配》(Model-Based Joint Bit Allocation Between Texture Videos and Depth Maps for 3-D Video Coding)中指出:在3D视频编码中,为了使虚拟绘制视点的失真最小化,可以建立虚拟绘制视点的失真、纹理视频的码率、深度图的码率、所有的码率 的关系式,具体如下码率失真关系式:
[0005]
[0006] 其中, 是虚拟绘制视点的失真,表示纹理视频的码率,单位为比特/像素, 表示深度图的码率, 表示所有的码率,在该文还提出虚拟绘制视点的失真、纹理视频的失真、深度图的失真的关系;码率与量化步长倒数的线性关系,建立编码失真与量化步长的线性关系,各量化步长与各码率之间的受限方程式组为:
[0007]
[0008] 其中, 表示纹理视频的量化步长, 分别表示深度图的量化步长, 表示纹理视频的量化步长的系数,表示深度图的量化步长的系数,表示虚拟绘制视点的失真与编码量化步长的系数, 和 表示纹理视频编码的码率量化步长关系式的系数, 和 表示深度图编码的码率深量化步长关系式的系数。
[0009] 上述每一个量化参数Qp对应一个固定的量化步长,求解出的各量化步长的量化参数Qp,利用量化参数Qp编码视频序列。但是,该码率与失真关系的不足之处在于,由于编解码后的纹理视频会通过显示器呈现给观众,上述模型只考虑了虚拟绘制视点的失真,没有考虑编码的纹理视频的失真,而且,通过求解编码量化步长与码率之间的受限方程组获得编码量化步长直接用于编码,导致码率控制非常不精确,并且随着视频分辨率变大,码率控制误差进一步扩大,因此,需要进一步修正。
[0010] 此外,Y. Morvan等人在文献[2]中指出:在给定的目标码率下,每间隔2逐步调整纹理视频和深度图的量化参数Qp并编码,此种方法能获得最小的虚拟绘制视点失真,但计算复杂度高。
[0011] 针对以上两种方法的不足,有必要找到一个既有较低计算复杂度,又有较高码率控制精度及较高编码质量的通用码率控制方法。
[0012] 文献[1]: C. Fehn, “Depth-Image-Based Rendering (DIBR), compression and transmission for a new approach on 3D-TV,” Proc. SPIE, Stereoscopic Image Process. Render., vol. 5291, pp. 93-104, Jan. 2004.
[0013] 文献[2]: Y. Morvan, D. Farin, and P. H. N. de With, “Joint depth/thtexture bit allocation for multi-view video compression,” in Proc. 26  PCS, Nov. 2007, pp. 265-268。

发明内容

[0014] 本发明的目的是为了克服已有技术的不足,提供一种高效的多视点纹理视频和深度图编码的码率控制方法,该方法能提高码率控制精度,降低计算复杂度。
[0015] 为了达到上述目的,本发明提出了一种多视点纹理视频和深度图编码的码率控制方法,其特征在于,给定目标比特速率 ,编码端基于多视点纹理视频和深度图编码,进行编码视点之间的码率分配,纹理视频与深度图之间的码率分配,码率控制图像组(RCGOP, Rate control group of pictures)级的码率分配,纹理视频和深度图(TD,Texture Depth)单元级的码率分配和帧级的码率分配算法来实现码率控制,其具体步骤如下:
[0016] (1)、预编码一个图像组,获取码率控制方法初始的特征参数;
[0017] (2)、根据给定目标比特速率,计算码率控制图像组(RCGOP)所能分配的码率;
[0018] (3)、计算纹理视频和深度图(TD)单元的目标码率,得到非关键的纹理视频和深度图(TD)单元的目标码率;
[0019] (4)、计算当前纹理视频和深度图(TD)单元的目标比特数 ;
[0020] (5)、根据步骤(1)中预编码获取的视频序列的特征参数{A,B,C, , , , ,和 },计算最优的纹理视频与深度图之间的目标码率比例 ;
[0021] (6)、统计最优的编码视点之间目标码率比例 ;
[0022] (7)、根据步骤(4)中所述的当前纹理视频和深度图(TD)单元的目标比特数 、与步骤(5)所述的纹理视频与深度图之间的目标码率比例 、以及步骤(6)所述的编码视点之间目标码率比例 ,计算当前帧的目标比特数 ;
[0023] (8)、根据当前帧的目标比特数 和当前帧的量化步长 的二项式模型关系,计算当前帧的量化步长 ,得到当前帧的量化参数Qp;
[0024] (9)、以量化参数Qp编码当前纹理视频帧或深度图帧;
[0025] (10)、判断编码纹理视频和深度图(TD)单元中所有帧是否结束,选择跳转位置。
[0026] 上述步骤(2)所述的计算码率控制图像组(RCGOP)所能分配的码率,其计算式为:
[0027]
[0028] 其中, 为给定目标比特速率, 为码率控制图像组(RCGOP)长度, 为视点数目, 为视频编码帧率。
[0029] 上述步骤(3)所述的计算纹理视频和深度图(TD)单元的目标码率,得到非关键的纹理视频和深度图(TD)单元的目标码率,其步骤如下:
[0030] (3-1)、计算关键的纹理视频和深度图(TD)单元的目标码率,记为 ,如下:
[0031]
[0032] 其中, 表示每一个纹理视频和深度图(TD)单元分配的平均目标码率,  表示分级层数 , GOP为8,则可分为3个分级层,  表示非关键的纹理视频和深度图(TD)单元的数目,  表示当前层 中非关键的纹理视频和深度图(TD)单元的数目,   表示当前层 中非关键的纹理视频和深度图(TD)单元的分级因子;
[0033] (3-2)、利用可分级因子 得到非关键的纹理视频和深度图(TD)单元的目标码率,记为 ,其计算式为:
[0034]
[0035] 上述步骤(4)所述的计算当前纹理视频和和深度图(TD)单元的目标比特数 ,其步骤如下:
[0036] (4-1)、根据码率控制图像组(RCGOP)的剩余比特数,计算当前关键的纹理视频和深度图(TD)单元的目标比特数 ,计算式为:
[0037]
[0038] 其中, 表示当前码率控制图像组(RCGOP)中的剩余关键的纹理视频和深度图(TD)单元数, 表示第 层中剩余非关键的纹理视频和深度图(TD)单元数, 为当前码率控制图像组(RCGOP)中的剩余比特数,i表示第i个码率控制图像组(RCGOP), 表示第个纹理视频和深度图(TD)单元,  表示当前纹理视频和深度图(TD)单元的目标码率,  为关键的纹理视频和深度图(TD)单元的目标码率,  为非关键的纹理视频和深度图(TD)单元的目标码率;
[0039] (4-2)、计算当前纹理视频和深度图(TD)单元的目标比特数,记为 ,其计算式如下:
[0040]
[0041] 其中, 为目标缓冲级,   为当前缓冲器满溢程度,   为当前剩余可用码率,  为视频编码帧率,  为小于1的常量;
[0042] (4-3)、由 和 加权,计算当前关键的纹理视频和深度图(TD)单元的目标比特数,其计算式为:
[0043]
[0044] 其中,为小于1的常量;
[0045] (4-4)、如果当前的纹理视频和深度图(TD)单元为关键的纹理视频和深度图(TD)单元,则直接跳转到步骤(5),如果当前的纹理视频和深度图(TD)单元为非关键的纹理视频和深度图(TD)单元,则其目标比特数为 ,  为小于1的常量。
[0046] 上述步骤(5)所述的计算最优的纹理视频与深度图之间的目标码率比例 ,其步骤如下:
[0047] (5-1)、设视频失真和码率之间的失真关系式,其失真表达式为:
[0048]
[0049] 其中, 和 为虚拟视点和编码视点的比例因子,  表示纹理视频的目标码率,表示深度图的目标码率,  表示所有的目标码率, 表示虚拟视点的绘制失真, 表示纹理视频的编码失真,  表示纹理视频需要使用比深度图多的比特数;
[0050] (5-2)、设步骤(5-1)中的虚拟视点的绘制失真为纹理视频的编码失真和深度图的编码失真的加权值,其表达式为:
[0051]
[0052] 其中 为虚拟视点的绘制失真值, 为虚拟视点相邻两视点的纹理视频的编码失真均值, 为虚拟视点相邻两视点的深度图的编码失真均值,A,B,C分别为虚拟绘制视点的失真参数、纹理视频的失真参数、深度图的失真参数;
[0053] (5-3)、定义步骤(5-1)中的纹理视频的编码失真和纹理视频的码率之间的码率失真模型,其表达式如下:
[0054]
[0055] 其中, 为纹理视频的编码失真值,  为纹理视频的目标码率,  , , 为预编码得到的纹理视频的码率失真模型的常系数;
[0056] (5-4)、定义步骤(5-2)中的深度图的编码失真和深度图的码率之间的码率失真模型,其表达式如下:
[0057]
[0058] 其中, 为深度图的编码失真值,  为深度图的目标码率,  , , 为预编码得到的深度图的码率失真模型的常系数;
[0059] (5-5)、根据步骤(5-1)所述的视频显示质量和码率之间的失真表达式、步骤(5-2)所述的虚拟视点编码失真的加权值 、步骤(5-3)所述的纹理视频的编码失真值、步骤(5-4)所述的深度图的编码失真值,建立纹理视频码率 、深度图码率 、及所有的目标码率的表达式,其表达式如下:
[0060]
[0061] (5-6)、利用拉格朗日乘子法将步骤(5-5)中所述的表达式转换为如下表达式:
[0062]
[0063] (5-7)、利用计算机软件编程中的二分法求解上述步骤(5-6)中所述的表达式,计算最优的纹理视频与深度图之间的目标码率比例 ,
[0064] 如果当前帧为纹理视频帧,则目标码率比例表达式为:
[0065]
[0066] 如果当前帧为深度图帧, 则目标码率比例表达式为:
[0067]
[0068] 上述步骤(6)所述的统计最优的编码视点之间目标码率比例 ,其步骤如下:
[0069] (6-1)、固定纹理视频的量化参数Qp,其深度图的量化参数Qp在固定的纹理视频的量化参数Qp的基础上,每次递增2逐步调整,最大增加10,编码一个码率控制图像组(RCGOP);
[0070] (6-2)、计算最优的编码视点之间目标码率比例,记为 ,其计算式为:
[0071]
[0072] 其中, 表示当前视点的实际码率, 为所有视点的码率。
[0073] 上述步骤(7)所述的计算当前帧的目标比特数 ,其计算式如下:
[0074]
[0075] 上述步骤(8)所述的根据当前帧的目标比特数 和当前帧的量化步长 的二项式模型关系,计算当前帧的量化步长 ,二项式模型的计算式为:
[0076]
[0077] 其中, , 为模型参数,H为头信息,MAD为平均绝对误差,在H.264编码标准中,量化步长 与量化参数Qp存在一一对应的关系,得到当前帧的量化参数Qp。
[0078] 上述步骤(9)所述的以量化参数Qp编码当前纹理视频帧或深度图帧,其具体如下:
[0079] (9-1)、编码纹理视频帧或深度图帧,获得该帧的真实码率 ;
[0080] (9-2)、计算剩余可用码率 ,其中,符号 表示取两个数的最大值。
[0081] 上述步骤(10)所述的判断编码纹理视频和深度图(TD)单元中所有帧是否结束,选择跳转位置,其具体步骤如下:
[0082] (10-1)、如果编码当前纹理视频和深度图(TD)单元中所有帧没有结束,则跳转至步骤(7);
[0083] (10-2)、如果编码当前纹理视频和深度图(TD)单元中所有帧结束,并且纹理视频和深度图(TD)单元的序号 与码率控制图像组(RCGOP)长度 不相等,即 ,则令,跳转至步骤(3);
[0084] (10-3)、如果编码当前纹理视频和深度图(TD)单元中所有帧结束,并且纹理视频和深度图(TD)单元的序号 与码率控制图像组(RCGOP)长度 相等,即 ,则令,跳转至步骤(2)。
[0085] 本发明实用性强,性能优越,主要有如下有益效果:
[0086] 对多视点纹理视频和深度图编码的码率控制提供了一个通用的处理框架,能提高码率控制精度,降低计算复杂度,并提高了编码效率。

附图说明

[0087] 图1是本发明实例中以不同的初始化的量化参数Qp编码视频序列的一组长度为8码率控制图像组(RCGOP)的编码预测结构图;
[0088] 图2是本发明的一种多视点纹理视频和深度图编码的码率控制方法的流程框图。

具体实施方式

[0089] 以下将结合附图对本发明的技术方案作进一步的详细描述。
[0090] 本发明实例中采用国际运动图像专家组(Moving Picture Experts Group,MPEG)组织提供的参考软件3DV-ATM,PIP三视点结构,编码器GOP为分层B帧结构,一个GOP中B帧占数量为7,I帧或P帧占数量为1;视频编码帧率 ,如图1所示,以不同的初始化的量化参数Qp编码视频序列的一组长度为8码率控制图像组(RCGOP),图中,箭头表示编码的空间预测方向,水平方向的数字,0-8为按视频显示先后顺序排列的9帧的编号,垂直方向为视点方向,其中,T1,T5,T9表示1,5,9视点的纹理视频,D1,D5,D9表示1,5,9视点的深度图。
[0091] 如图2所示,本实施例的一种多视点纹理视频和深度图编码的码率控制方法为:给定目标比特速率 ,编码端基于多视点纹理视频和深度图编码,进行编码视点之间的码率分配,纹理视频与深度图之间的码率分配,码率控制图像组(RCGOP)级的码率分配,纹理视频和深度图(TD)单元级的码率分配和帧级的码率分配算法来实现码率控制,其具体步骤如下:
[0092] (1)、预编码一个图像组,获取码率控制方法初始的特征参数
[0093] 以不同的初始化的量化参数Qp,例如Qp=17,Qp=22,Qp=27,分别编码视频序列的一组GOP帧,在信息库中记录下每个视频序列的特征参数{A,B,C, , , , , 和 },其中,字母下标t表示视点的纹理视频的标记,字母下标d表示视点的深度图的标记,A,B,C分别为虚拟绘制视点的失真参数、纹理视频的失真参数、深度图的失真参数; , , 分别为纹理视频的码率失真、视点失真的幂函数关系式 中的参数, , , 为深度图的码率失真、视点失真的幂函数关系式 中的参数;
[0094] (2)、根据给定目标比特速率,计算码率控制图像组(RCGOP)所能分配的码率[0095] 计算一个码率控制图像组(RCGOP)所能分配的码率,其计算式为:
[0096] ,
[0097] 例如, ;
[0098] 更新剩余可用码率 ,首次运行时, 初始化为零,其中, 为目标比特速率, 为码率控制图像组(RCGOP)长度, 为视点数目, 为视频编码帧率,为剩余可用码率;
[0099] (3)、计算纹理视频和深度图(TD)单元的目标码率,得到非关键的纹理视频和深度图(TD)单元的目标码率,其步骤如下:
[0100] (3-1)、计算关键的纹理视频和深度图(TD)单元的目标码率,记为 ,如下:
[0101]
[0102] 其中, 表示每一个纹理视频和深度图(TD)单元分配的平均目标码率, 表示当前层 中非关键的纹理视频, =1,  =2,  =4,  表示深度图(TD)单元的数目及可分级因子, =0.5,  =0.25,  =0.22,  表示分级层数, ,GOP为8,则可分为3个分级层, 表示非关键的纹理视频和深度图(TD)单元的数目, 表示当前层 中非关键的纹理视频和深度图(TD)单元的数目,  为当前层 中非关键的纹理视频和深度图(TD)单元的分级因子;
[0103] (3-2)、利用可分级因子 得到非关键的纹理视频和深度图(TD)单元的目标码率,记为 ,其计算式为:
[0104]
[0105] (4)、计算当前纹理视频和和深度图(TD)单元的目标码率数 ,其步骤如下:
[0106] (4-1)、根据码率控制图像组(RCGOP)的剩余比特数,计算当前关键的纹理视频和深度图(TD)单元的目标码数 ,计算式为:
[0107]
[0108] 其中, 表示当前码率控制图像组(RCGOP)中的剩余关键的纹理视频和深度图(TD)单元数, 表示第 层中剩余非关键的纹理视频和深度图(TD)单元数,  为当前码率控制图像组(RCGOP)中的剩余比特数, 表示第 个码率控制图像组(RCGOP), 表示第 个纹理视频和深度图(TD)单元,  表示当前纹理视频和深度图(TD)单元的目标码率, 为关键的纹理视频和深度图(TD)单元的目标码率, 为非关键的纹理视频和深度图(TD)单元的目标码率;
[0109] (4-2)、计算当前纹理视频和深度图(TD)单元的目标比特数,记为 ,其计算式如下:
[0110]
[0111] 其中, 为目标缓冲级,   为当前缓冲器满溢程度,   为当前剩余可用码率, 为视频编码帧率;
[0112] (4-3)、由 和 加权,计算当前关键的纹理视频和深度图(TD)单元的目标比特数,其计算式为:
[0113]
[0114] (4-4)如果当前的纹理视频和和深度图(TD)单元为关键的纹理视频和深度图(TD)单元,则直接跳转到步骤(5),如果当前的纹理视频和和深度图(TD)单元为非关键的纹理视频和深度图(TD)单元,则其目标比特数为 ;
[0115] (5)、根据步骤(1)中预编码获取的视频序列的特征参数{A,B,C, , , , ,和 },计算最优的纹理视频和深度图(TD)之间的目标码率比例 ,其步骤如下:
[0116] (5-1)、设视频失真和码率之间的失真关系式,其失真表达式为:
[0117]
[0118] 其中, 和 为虚拟视点和编码视点的比例因子,例如, 为6, 为3, 表示纹理视频的目标码率,  表示深度图的目标码率,  表示所有目标码率, 表示虚拟视点的绘制失真, 表示纹理视频的编码失真, 表示纹理视频需要使用比深度图多的比特数;
[0119] (5-2)、设步骤(5-1)中的虚拟视点的绘制失真为纹理视频的编码失真和深度图的编码失真的加权值,其表达式为:
[0120]
[0121] 其中 为虚拟视点的绘制失真值, 为虚拟视点相邻两视点的纹理视频的编码失真均值, 为虚拟视点相邻两视点的深度图的编码失真均值,A,B,C分别为虚拟绘制视点的失真参数、纹理视频的失真参数、深度图的失真参数;
[0122] (5-3)、定义步骤(5-1)中的纹理视频的编码失真和纹理视频的码率之间的码率失真模型,其表达式如下:
[0123]
[0124] 其中, 为纹理视频的编码失真值, 为纹理视频的目标码率, , , 为预编码得到的纹理视频的码率失真模型的常系数;
[0125] (5-4)、定义步骤(5-2)中的深度图的编码失真和深度图的码率之间的码率失真模型,其表达式如下:
[0126]
[0127] 其中, 为深度图的编码失真值, 为深度图的目标码率, , , 为预编码得到的深度图的码率失真模型的常系数;
[0128] (5-5)、根据步骤(5-1)所述的视频显示质量和码率之间的失真表达式、步骤(5-2)所述的虚拟视点编码失真的加权值 、步骤(5-3)所述的纹理视频的编码失真值、步骤(5-4)所述的深度图的编码失真值,建立纹理视频码率 、深度图码率 、及所有目标码率的表达式,其表达式如下:
[0129]
[0130] (5-6)、利用拉格朗日乘子法将步骤(5-5)中所述的表达式转换为如下表达式:
[0131]
[0132] (5-7)、利用计算机软件编程中的二分法求解上述步骤(5-6)中所述的表达式,计算最优的纹理视频与深度图之间的目标码率比例 ,
[0133] 如果当前帧为纹理视频帧,则目标码率比例表达式为:
[0134]
[0135] 如果当前帧为深度图帧,则目标码率比例表达式为:
[0136]
[0137] (6)、统计最优的编码视点之间目标码率比例 ,其步骤如下:
[0138] (6-1)固定纹理视频的量化参数Qp,深度图的量化参数Qp在固定的纹理视频的量化参数Qp的基础上,每次递增2逐步调整,最大增加10,例如,纹理视频的量化参数Qp为23,则深度图的量化参数Qp依次为23、25、27、29、31、33,分别编码一个码率控制图像组(RCGOP);
[0139] (6-2)、计算最优的编码视点之间目标码率比例,记为 ,其计算式为:
[0140]
[0141] 其中, 表示当前视点的实际码率, 为全部视点的码率;
[0142] (7)、根据步骤(4)中所述的纹理视频和深度图(TD)单元的目标比特数 、步骤(5)所述的纹理视频与深度图之间的目标码率比例 、步骤(6)所述的编码视点之间目标码率比例 ,计算当前帧的目标比特数 ,其计算式如下:
[0143]
[0144] (8)、根据当前帧的目标比特数 和当前帧的量化步长 的二项式模型关系,计算当前帧的量化步长 ,二项式模型的计算式为:
[0145]
[0146] 其中,  , 为模型参数,例如, =1.0, =0.01,H为头信息,MAD为平均绝对误差,即,将当前帧和预测帧间的所有残差系数的绝对值之和再除以255,在H.264编码标准中,量化步长 与量化参数Qp存在一一对应的关系,得到当前帧的量化参数Qp;
[0147] (9)、以量化参数Qp编码当前纹理视频帧或深度图帧,其具体如下:
[0148] (9-1)、编码纹理视频帧或深度图帧,获得该帧的真实码率 ;
[0149] (9-2)、计算剩余可用码率 ,其中,符号 表示取两个数的最大值;
[0150] (10)、判断编码纹理视频和深度图(TD)单元中所有帧是否结束,选择跳转位置,其具体步骤如下:
[0151] (10-1)、如果编码当前纹理视频和深度图(TD)单元中所有帧没有结束,则跳转至步骤(7);
[0152] (10-2)、如果编码当前纹理视频和深度图(TD)单元中所有帧结束,并且纹理视频和深度图(TD)单元的序号 与码率控制图像组(RCGOP)长度 不相等,即 ,则令,跳转至步骤(3);
[0153] (10-3)、如果编码当前纹理视频和深度图(TD)单元中所有帧是结束,并且纹理视频和深度图(TD)单元的序号 与码率控制图像组(RCGOP)长度 相等,即 ,则令,跳转至步骤(2)。