发明名称 一种基于双目视觉特性的立体视频码率控制方法
摘要 本发明公开了一种基于双目视觉感知的立体视频码率控制方法,特点是过对立体图像组层、立体图像对层、帧层这三个层次分别进行码率控制,在立体图像组层,计算每个立体图像组的目标比特数并计算关键帧的量化参数;在立体图像对层,根据剩余比特数和缓冲区饱和度来计算每个立体图像对的目标比特数;在帧层,根据人眼双目视觉掩蔽效应,建立了立体指数码率与量化参数模型来优化立体率失真模型,使左图像分配较多的目标比特数,而右图像相对分配较少的目标比特数,最终确定非关键帧的量化参数。优点是通过本发明的码率控制方法后有效地提高了立体视频客观质量和率失真性能。
申请公布号 CN103391436B 申请公布日期 2016.06.29
申请号 CN201310294675.7 申请日期 2013.07.12
申请人 宁波大学 发明人 蒋刚毅;廖义;郁梅;彭宗举;邵枫
分类号 H04N19/00(2014.01)I;H04N17/00(2006.01)I 主分类号 H04N19/00(2014.01)I
代理机构 宁波市鄞州甬致专利代理事务所(普通合伙) 33228 代理人 李迎春
主权项 一种基于双目视觉特性的立体视频码率控制方法,其特征在于通过对立体图像组层、立体图像对层、帧层这三个层次分别进行码率控制,在立体图像组层,计算每个立体图像组的目标比特数并计算关键帧的量化参数;在立体图像对层,根据剩余比特数和缓冲区饱和度来计算每个立体图像对的目标比特数;在帧层,根据人眼双目视觉掩蔽效应,建立了立体指数码率与量化参数模型来优化立体率失真模型,使左图像分配较多的目标比特数,而右图像相对分配较少的目标比特数,最终确定非关键帧的量化参数,其具体包括以下步骤:①.以双目相机拍摄得到的颜色空间为YUV的立体视频定义为原始立体视频,该立体视频包括左视点视频和右视点视频,YUV序列由3个颜色分量组成,其中Y表示亮度值,U和V分别表示第一色度和第二色度,用来描述色彩及饱和度;②.根据立体视频编码结构,将同一时刻的左右图像构成一个立体图像对,所述左右视点中的图像帧分为关键帧与非关键帧,由左右视点的关键帧和到下一个关键帧之间所有的立体图像对组成一个立体图像组,根据设定的总目标比特数和初始量化参数,对每个立体图像组的目标比特数和每个立体图像组中第一个立体图像对的量化参数进行计算,对于第一个立体图像组(i=1),目标比特数<img file="FDA0000879191090000011.GIF" wi="447" he="140" />第一个立体图像组中第一个立体图像对中左图像的量化参数QP<sub>L</sub>(1,0)和右图像的量化参数QP<sub>R</sub>(1,0)直接采用设定的初始量化参数,对于其他立体图像组(i&gt;1),记T<sub>r</sub>(i,0)表示开始编码第i个立体图像组的目标比特数,则<maths num="0001"><math><![CDATA[<mrow><msub><mi>T</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>u</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow><msub><mi>F</mi><mi>r</mi></msub></mfrac><mo>&times;</mo><msub><mi>N</mi><mi>s</mi></msub><mo>-</mo><mrow><mo>(</mo><mfrac><msub><mi>B</mi><mi>s</mi></msub><mn>8</mn></mfrac><mo>-</mo><msub><mi>B</mi><mi>C</mi></msub><mo>(</mo><mrow><mi>i</mi><mo>,</mo><mn>0</mn></mrow><mo>)</mo><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000012.GIF" wi="767" he="134" /></maths>第i个立体图像组中第一个立体图像对中左图像的量化参数计算为<img file="FDA0000879191090000013.GIF" wi="854" he="142" />第i个立体图像组中第一个立体图像对中右图像的量化参数计算为<maths num="0002"><math><![CDATA[<mrow><msub><mi>QP</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mo>{</mo><mfrac><msub><mi>S</mi><mrow><mi>R</mi><mi>Q</mi><mi>P</mi></mrow></msub><mrow><msub><mi>N</mi><mi>s</mi></msub><mo>-</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mfrac><mrow><mn>8</mn><msub><mi>T</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>N</mi><mi>s</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>T</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mfrac><msub><mi>N</mi><mi>s</mi></msub><mn>15</mn></mfrac><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>QP</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>VT</mi><mrow><mi>Q</mi><mi>P</mi></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>0</mn><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000014.GIF" wi="1382" he="143" /></maths>其中,u(i,0)表示编码第i个立体图像组时可用的信道带宽,F<sub>r</sub>表示视频帧率,N<sub>s</sub>表示每一个立体图像组中的立体图像对数,B<sub>s</sub>表示缓冲区的容量大小,B<sub>c</sub>(i,0)表示编码完第i个立体图像组之前的缓冲区饱和度,S<sub>LQP</sub>、S<sub>RQP</sub>分别表示前一个立体图像组中左、右图像的非关键帧量化参数的总和,VT<sub>QP</sub>(i,0)表示在双目掩蔽效应下左右图像之间可允许的量化参数差值,VT<sub>QP</sub>(i,0)=p<sub>1</sub>×QP<sub>L</sub>(i,0)+p<sub>2</sub>,其中p<sub>1</sub>、p<sub>2</sub>分别为常量‑0.3265和17.35;③.对当前第i个立体图像组的剩余立体图像对的目标比特数进行预算,记在编码第i个立体图像组中第j个立体图像对前,所有未编码的立体图像对的目标比特数为T<sub>r</sub>(i,j),<maths num="0003"><math><![CDATA[<mrow><msub><mi>T</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>T</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mi>u</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><msub><mi>F</mi><mi>r</mi></msub></mfrac><mo>&times;</mo><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>A</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000021.GIF" wi="1222" he="143" /></maths>其中j≥1,u(i,j)表示编码第i个立体图像组中第j个立体图像对时的带宽,F<sub>r</sub>表示视频帧率,N表示每一个立体图像组中的立体图像对数,A(i,j‑1)表示编码第i个立体图像组中第j‑1个立体图像对消耗的比特数;④.根据第i个立体图像组中剩余比特数和缓冲区饱和度来计算第i个立体图像组中第j个立体图像对的目标比特数,根据第i个立体图像组中剩余比特数T<sub>r</sub>(i,j),计算第j个立体图像对的第一候选目标比特数为<img file="FDA0000879191090000022.GIF" wi="363" he="134" />其中N表示每一个立体图像组中的立体图像对数,为了防止缓冲区的上溢和下溢,根据缓冲区的占用情况,计算第j个立体图像对的第二候选目标比特数为<img file="FDA0000879191090000023.GIF" wi="837" he="135" />其中u(i,j)表示编码第i个立体图像组中第j个立体图像对时的带宽,F<sub>r</sub>表示视频帧率,TB(i,j)和CB(i,j)分别表示目标缓冲区大小和实际缓冲区大小,γ为常量0.75,将第一候选目标比特数和第二候选目标比特数进行加权,获取第i个立体图像组中第j个立体图像对的目标比特数<maths num="0004"><math><![CDATA[<mrow><mi>T</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mi>&beta;</mi><mo>*</mo><mover><mi>T</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&beta;</mi><mo>)</mo></mrow><mo>*</mo><mover><mi>T</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000024.GIF" wi="759" he="79" /></maths>其中β为常量0.5;⑤.通过对立体图像对中左右图像的码率与量化参数之间的统计分析,以Ratio表示立体图像对中左图像与右图像的码率比例,以△QP表示立体图像对中左图像与右图像的量化参数差值,以QP<sub>L</sub>、QP<sub>R</sub>分别表示立体图像对中左图像与右图像的量化参数,建立立体图像对中左右图像之间的码率比例与量化参数差值之间的模型;所述的步骤⑤的具体过程为:⑤‑1.任取N个各不相同的编码量化参数作为左图像的编码量化参数值,分别记为QP′<sub>L1</sub>,QP′<sub>L2</sub>,…,QP′<sub>Li</sub>,…,QP′<sub>LN</sub>,对每一个左图像的编码量化参数值,又分别取M个各不相同的左右图像的编码量化参数差值,分别记为△QP′<sub>1</sub>,△QP′<sub>2</sub>,…,△QP′<sub>j</sub>,…,△QP'<sub>M</sub>,得到对应的右图像的编码量化参数值,分别记为QP′<sub>R1</sub>,QP′<sub>R2</sub>,…,QP′<sub>Rk</sub>,…,QP′<sub>R(M×N)</sub>;⑤‑2.采用左图像的编码量化参数QP′<sub>L1</sub>,QP′<sub>L2</sub>,…,QP′<sub>Li</sub>,…,QP′<sub>LN</sub>和对应的右图像的编码量化参数QP′<sub>R1</sub>,QP′<sub>R2</sub>,…,QP′<sub>Rk</sub>,…,QP′<sub>R(M×N)</sub>,分别对左图像和右图像进行编码,分别得到以该M×N个不同的编码量化参数对左图像和右图像进行编码的码率,分别记为R'<sub>L1</sub>,R'<sub>L2</sub>,…,R'<sub>Lk</sub>,…,R'<sub>L(M×N)</sub>和R'<sub>R1</sub>,R'<sub>R2</sub>,…,R'<sub>Rk</sub>,…,R'<sub>R(M×N)</sub>,对应的左图像与右图像的码率比例记为Ratio′<sub>1</sub>,Ratio'<sub>2</sub>,…,Ratio'<sub>k</sub>,…,Ratio'<sub>(M×N)</sub>;⑤‑3.将左图像的编码量化参数、左图像与右图像的编码量化参数差值和左图像与右图像的码率比例进行拟合,得到指数模型Ratio=Ae<sup>B×△QP</sup>,其中参数A和B分别表示指数模型的幅度和频率,与左图像的编码量化参数有关;⑤‑4.将参数A与左图像的编码量化参数拟合成线性关系,通过线性关系计算参数A,将参数B与左图像的编码量化参数拟合成线性关系,通过线性关系计算参数B;⑥.根据第i个立体图像组中第j个立体图像对的目标比特数T(i,j),以QP<sub>L</sub>(i,j)表示第i个立体图像组中第j个立体图像对中左图像的量化参数,以△QP(i,j)表示第i个立体图像组中第j个立体图像对中左图像与右图像的量化参数差值,以Ratio(i,j)表示第i个立体图像组中第j个立体图像对中左图像与右图像的码率比例,以VT<sub>QP</sub>(i,j)表示在双目掩蔽效应下第i个立体图像组中第j个立体图像对中左右图像之间可允许的量化参数差值,获取第i个立体图像组中第j个立体图像对中左图像和右图像的目标比特数,分别记为T<sub>L</sub>(i,j)、T<sub>R</sub>(i,j);⑦.根据第i个立体图像组中第j个立体图像对中左图像和右图像的目标比特数T<sub>L</sub>(i,j)和T<sub>R</sub>(i,j),分别计算第i个立体图像组中第j个立体图像对中左图像和右图像的量化参数,分别记为QP<sub>L</sub>(i,j)、QP<sub>R</sub>(i,j),QP<sub>L</sub>(i,j)=6log<sub>2</sub>(Q<sub>L,step</sub>(i,j))+4,QP<sub>R</sub>(i,j)=6log<sub>2</sub>(Q<sub>R,step</sub>(i,j))+4,其中Q<sub>L,step</sub>(i,j)和Q<sub>R,step</sub>(i,j)分别表示第i个立体图像组中第j个立体图像对中左图像和右图像的量化步长,Q<sub>L,step</sub>(i,j)和Q<sub>R,step</sub>(i,j)通过二次码率与量化参数模型得到,<maths num="0005"><math><![CDATA[<mrow><msub><mi>T</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>a</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mfrac><mrow><msub><mi>MAD</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>Q</mi><mrow><mi>L</mi><mo>,</mo><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mfrac><mrow><msub><mi>MAD</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>Q</mi><mrow><mi>L</mi><mo>,</mo><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>H</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000041.GIF" wi="1229" he="151" /></maths><maths num="0006"><math><![CDATA[<mrow><msub><mi>T</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>a</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mfrac><mrow><msub><mi>MAD</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>Q</mi><mrow><mi>R</mi><mo>,</mo><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>a</mi><mn>4</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mfrac><mrow><msub><mi>MAD</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>Q</mi><mrow><mi>R</mi><mo>,</mo><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>H</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000879191090000042.GIF" wi="1253" he="150" /></maths>其中MAD<sub>L</sub>(i,j)、MAD<sub>R</sub>(i,j)分别为左图像和右图像在编码前与编码后亮度值Y的平均绝对差值,H<sub>L</sub>(i,j)、H<sub>R</sub>(i,j)分别为左图像和右图像的头比特数,a<sub>1</sub>(i,j)、a<sub>2</sub>(i,j)、a<sub>3</sub>(i,j)和a<sub>4</sub>(i,j)为模型参数,采用线性回归模型进行逐帧更新;⑧.对当前立体图像组的下一个立体图像对重复执行步骤②至⑦,直至所有立体图像对完成编码;⑨.返回步骤②继续执行,直至当前视频中所有立体图像组完成编码。
地址 315211 浙江省宁波市江北区风华路818号