首页> 中国专利> 一种容错性视频转码中的率失真优化方法

一种容错性视频转码中的率失真优化方法

摘要

本发明公开了一种容错性视频转码中的率失真优化方法,包括在帧层对片长度的优化和在宏块层对宏块模式的优化,本发明在帧层对片长度的选择进行率失真优化时,充分考虑片间预测的影响,并推导出具体的拉格朗日乘子公式,从而提高帧层算法的精确性;在宏块层对模式的选择进行率失真优化时,充分利用转码输入视频流的当前帧信息和转码输出视频流的前一帧信息,预测最优模式,从而降低宏块层算法的复杂度。

著录项

  • 公开/公告号CN101340593A

    专利类型发明专利

  • 公开/公告日2009-01-07

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN200810048801.X

  • 发明设计人 胡瑞敏;韩镇;陈皓;曾书婧;李明;

    申请日2008-08-13

  • 分类号H04N7/64;H04N7/68;

  • 代理机构武汉华旭知识产权事务所;

  • 代理人刘荣

  • 地址 430072 湖北省武汉市武昌珞珈山

  • 入库时间 2023-12-17 21:19:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-30

    未缴年费专利权终止 IPC(主分类):H04N7/64 授权公告日:20100728 终止日期:20140813 申请日:20080813

    专利权的终止

  • 2010-07-28

    授权

    授权

  • 2009-02-25

    实质审查的生效

    实质审查的生效

  • 2009-01-07

    公开

    公开

说明书

技术领域

本发明涉及一种容错性视频转码方法,特别是一种容错性视频转码中的率失真优化方法,属于视频转码领域。

背景技术

狭义的视频转码是指将已压缩的视频流从一种格式(如分辨率、帧率、码率等)转换为另一种格式的操作。广义的视频转码则包括在已压缩视频流中嵌入信息(如数字水印、容错性工具等)的操作。容错性视频转码就是指在已压缩视频流中嵌入容错性工具的转码。容错性视频转码能够有效增强视频流面向无线信道的抗误码能力,因此对于无线异构网络环境下的通用多媒体存取具有重要意义,在移动娱乐、移动监控等领域具有广泛的应用价值。

基本的容错性视频转码分为空域容错和时域容错两种。前者主要是片长度的选择,后者主要是宏块模式的选择。虽然容错性转码可以有效地增强视频流的抗误码能力,降低无线环境下解码端的视频重建失真,但是同时也会增加码率。因此利用率失真优化在失真与码率之间取得平衡是容错性转码的关键问题。近年来已有研究人员对容错性转码的率失真优化进行了研究。参考文献1(Vetro,A,Xin,J,et al.Error resilient video transcoding for wirelesscommunications.IEEE Wireless Communications,2005,12(4):14-21)针对容错性转码提出了一种帧层的率失真优化方法,对片长度和宏块模式的选择同时进行优化。参考文献2(SeongHwan,Jang Jayant,N.An efficient errorresilient technique for applications of one-way video using transcodingand analysis by synthesis.In:Proceedings of IEEE GlobalTelecommunications Conference Workshops,Texas,USA,2004:428-432)则针对容错性转码提出了一种宏块层的率失真优化方法,但只对宏块模式的选择进行优化,对片长度的选择则通过阈值来决定。上述率失真优化方法使得容错性转码的效率有所提高,但仍然在以下方面存在着问题:(1)精确性:在参考文献1提出的帧层方法中:对于率模型,没有考虑片间预测对比特数的影响;对于拉格朗日乘子,没有给出具体的计算公式。这使得帧层方法的精确性降低。(2)复杂度:在参考文献2提出的宏块层方法中,没有利用转码输入视频的信息预测最优模式。这使得宏块层方法的复杂度增高。

发明内容

本发明的目的是提供一种容错性视频转码中的率失真优化方法。

本发明的技术方案包括以下步骤:

(1)在对当前帧进行转码前,根据当前帧中宏块转码前的量化步长,计算当前帧转码前的信源失真。根据下式计算当前帧转码前的信源失真DFR,s,1

DFR,s,1=ΣMB=0n(QMB,1212)

其中QMB,1为当前帧中宏块MB转码前的量化步长,由转码输入流解码得到,n为当前帧的宏块数目。

(2)根据当前帧转码前的信源失真、方差、码率和转码后的码率,计算当前帧转码后的信源失真。根据下式计算当前帧转码后的信源失真DFR,s,2

DFR,s,2=bbDFR,S,1-2RFR,1RFR,2

其中b为当前帧转码前的方差,RFR,1为当前帧转码前的码率,均由转码输入流解码得到,RFR,2为当前帧转码后的比特数,由转码后的目标码率决定。

(3)根据转码输入流中的运动矢量计算当前帧的掩盖失真和扩散失真。

(4)根据当前帧转码前的方差和转码后的信源失真、码率,计算拉格朗日乘子。根据下式计算当前帧的拉格朗日乘子λFR,0

λFR,0=ln2·DFR,s,2RFR,2·log2(bDFR,s,2)

(5)根据当前帧转码后的信源失真、码率,当前帧的掩盖失真、扩散失真、帧长度,前一帧转码后实际码率与目标码率之间的差值、帧长度,片头的比特数,信道的突发错误长度、误码率,计算当前帧的最优片长度。根据下式计算当前帧的最优片长度s:

s=L·λFR,0·(s0·Rhead+s·ΔRFR)BER·(DFR,c-DFR,s,2-DFR,p-λFR,0·RFR,2)

其中Rhead为视频编码标准定义的片头的比特数,s0为当前帧的帧长度,ΔR′FR为前一帧转码后片间预测导致的码率增益,s′为前一帧的帧长度,L为信道的突发错误长度,BER为信道的误码率;

(6)在对当前宏块进行转码前,根据其转码前的模式进行如下判断:如果转码前的模式为帧内模式,那么转码后的最优模式仍然为帧内模式;如果转码前的模式为帧间模式,那么转码后的最优模式需要进一步选择;

(7)根据当前宏块转码前的码率、方差和当前宏块信源率失真模型参数,计算当前宏块转码前的信源失真。根据下式计算当前宏块转码前的信源失真DMB,s,1(minter):

DMB,s,1(minter)=bMB,inter2RMB,1(minter)aMB

其中RMB,1(minter)和bMB,inter为当前宏块转码前的码率和方差,均由从转码输入流中解码得到,aMB为当前宏块信源率失真模型参数,基于已实际编码宏块的数据根据H.264参考模型中的线性衰退模型预测得到;

(8)根据当前帧宏块转码前后的量化步长,当前宏块转码前的码率、方差,当前宏块信源率失真模型参数,计算当前宏块转码后为帧间模式时的信源失真和码率。步骤(8)中根据下式分别计算当前宏块转码后为帧间模式时的信源失真DMB,s,2(minter)和码率RMB,2(minter):

DMB,s,2(minter)=DMB,s,1(minter)·QMB,22QMB,12

RMB,2(minter)=aMBlog2(bMB,interDMB,s,2(minter))

其中QMB,1和QMB,2分别为当前宏块转码前后的量化步长。

(9)根据转码输入流中的运动矢量计算当前宏块转码后为帧间模式时的扩散失真;

(10)根据当前宏块量化步长计算得到当前宏块的拉格朗日乘子;

(11)根据当前宏块转码后为帧间模式时的信源失真、扩散失真、码率和当前宏块的拉格朗日乘子,计算当前宏块转码后为帧间模式时的率失真函数值。根据下式计算当前宏块转码后为帧间模式时的率失真函数值Jinter

Jinter=DMB,s,2(minter)+DMB,p,2(minter)+λMB,0RMB,2(minter)

(12)根据当前宏块中子块的非零系数比,子块及其在前一帧中对应子块的量化步长,对应子块在帧内模式时的信源失真、方差,计算当前宏块转码后为帧内模式时的信源失真和码率的最大值以及最小值。根据下式分别计算当前宏块转码后为帧内模式时的信源失真和码率的最大值DMB,s,2(mintra)和RMB,2(mintra)以及最小值DMB,s,2(mintra)和RMB,2(mintra):

DMB,s,2(mintra)=ΣB=016(DB,s,2(mintra)·QB,22QB,22·(1+ρB))

RMB,s,2(mintra)=aMBlog2(ΣB=016(bB,intra·(1+ρB))DMB,s,2(mintra))

DMB,s,2(mintra)=ΣB=016(DB,s,2(mintra)·QB,22QB,22·(1-ρB))

RMB,2(mintra)=aMBlog2(ΣB=016(bB,intra·(1-ρB))DMB,s,2(mintra))

其中ρB为当前宏块中子块B的非零系数比,QB,2和Q′B,2分别为子块B及其在前一帧中对应子块的量化步长,D′B,s,2(mintra)、b′B,intra为对应子块在帧内模式时的信源失真、方差;

(13)根据当前宏块转码后为帧内模式时的信源失真和码率的最大值以及最小值,计算当前宏块转码后为帧内模式时的率失真函数值的最大值和最小值。步骤(13)中根据下式分别计算当前宏块转码后为帧内模式时的率失真函数值的最大值Jintra和最小值Jintra

Jintra=DMB,s,2(mintra)+λMB,0RMB,2(mintra)

JintraDMB,s,2(mintra)+λMB,0RMB,2(mintra)

(14)如果当前宏块转码后为帧间模式时的率失真函数值大于为帧内模式时率失真函数值的最大值,则当前宏块转码后的最优模式为帧内模式;否则,如果当前宏块转码后为帧间模式时的率失真函数值小于为帧内模式时率失真函数值的最小值,则当前宏块转码后的最优模式为帧间模式;否则,转入步骤(15);

(15)对当前宏块进行帧内模式编码,得到帧内模式时信源失真和码率的实际值,然后根据信源失真和码率的实际值,计算帧内模式时率失真函数值的实际值。步骤(15)中根据下式计算帧内模式时率失真函数值的实际值Jintra

Jintra=DMB,s,2(mintra)+DMB,p,2(mintra)+λMB,0RMB,2(mintra)

其中DMB,s,2(mintra)和RMB,2(mintra)为帧内模式时信源失真和码率的实际值。

(16)如果当前宏块转码后为帧间模式时的率失真函数值大于为帧内模式时率失真函数值的实际值,则当前宏块转码后的最优模式为帧内模式;否则,当前宏块转码后的最优模式为帧间模式。

本发明与现已有技术相对照,效果是积极且明显的:本发明在帧层对片长度的选择进行率失真优化时,充分考虑片间预测的影响,并推导出具体的拉格朗日乘子公式,从而提高帧层算法的精确性;在宏块层对模式的选择进行率失真优化时,充分利用转码输入视频流的当前帧信息输出视频流的前一帧信息,预测最优模式,从而降低宏块层算法的复杂度。

附图说明

附图为本发明的Hall Monitor测试序列的仿真实验结果图。

具体实施方式

下面以MPEG-2到H.264的视频转码为具体实施例,结合附图对本发明作进一步的说明:

(1)在对当前帧进行转码前,根据下式计算当前帧转码前的信源失真DFR,s,1

DFR,s,1=ΣMB=0n(QMB,1212)---(1)

其中QMB,1为当前帧中宏块MB转码前的量化步长,由转码输入流解码得到,n为当前帧的宏块数目;

(2)根据下式计算当前帧转码后的信源失真DFR,s,2

DFR,s,2=1bDFR,s,1-2RFR,1RFR,2---(2)

其中DFR,s,1根据式(1)计算得到,b和RFR,1分别为当前帧转码前的方差和码率,均由转码输入流解码得到,RFR,2为当前帧转码后的比特数,由转码后的目标码率决定;

(3)根据参考文献3(Zhang Y,Gao W,Lu Y,et al.Joint source-channelrate-distortion optimization for H.264 video coding over error-pronenetworks.IEEE Transactions on Multimedia.2007,9(3):445-454)中的掩盖失真公式和扩散失真公式,由转码输入流中的运动矢量分别计算得到当前帧的掩盖失真DFR,c和扩散失真DFR,p

(4)根据下式计算当前帧的拉格朗日乘子λFR,0

λFR,0=ln2·DFR,s,2RFR,2·log2(bDFR,s,2)---(3)

(5)根据下式计算当前帧的最优片长度s:

s=L·λFR,0·(s0·Rhead+s·ΔRFR)BER·(DFR,c-DFR,s,2-DFR,p-λFR,0·RFR,2)---(4)

其中Rhead为视频编码标准定义的片头的比特数,s0为当前帧的帧长度,ΔR′FR为前一帧转码后片间预测导致的码率增益,s′为前一帧的帧长度,L为信道的突发错误长度,BER为信道的误码率;

(6)在对当前宏块进行转码前,根据其转码前的模式进行如下判断:如果转码前的模式为帧内模式,那么转码后的最优模式仍然为帧内模式;如果转码前的模式为帧间模式,那么转码后的最优模式需要进一步选择;

(7)根据下式计算当前宏块转码前的信源失真DMB,s,1(minter):

DMB,s,1(minter)=bMB,inter2RMB,1(minter)aMB---(5)

其中RMB,1(minter)和bMB,inter为当前宏块转码前的码率和方差,均由从转码输入流中解码得到,aMB为当前宏块信源率失真模型参数,基于已实际编码宏块的数据根据H.264参考模型中的线性衰退模型预测得到;

(8)根据下式分别计算当前宏块转码后为帧间模式时的信源失真DMB,s,2(minter)和码率RMB,2(minter):

DMB,s,2(minter)=DMB,s,1(minter)·QMB,22QMB,12---(6)

RMB,2(minter)=aMBlog2(bMB,interDMB,s,2(minter))---(7)

其中QMB,1和QMB,2分别为当前宏块转码前后的量化步长;

(9)根据参考文献3中的扩散失真公式,由转码输入流中的运动矢量计算得到当前宏块转码后为帧间模式时的扩散失真DMB,p,2(minter);

(10)根据参考文献3的宏块拉格朗日乘子公式,由当前宏块量化步长计算得到当前宏块的拉格朗日乘子λMB,0

(11)根据下式计算当前宏块转码后为帧间模式时的率失真函数值Jinter

Jinter=DMB,s,2(minter)+DMB,p,2(minter)+λMB,0RMB,2(minter)  (8)

(12)根据下式分别计算当前宏块转码后为帧内模式时的信源失真和码率的最大值DMB,s,2(mintra)和RMB,2(mintra)以及最小值DMB,s,2(mintra)和RMB,2(mintra):

DMB,s,2(mintra)=ΣB=016(DB,s,2(mintra)·QB,22QB,22·(1+ρB))---(9)

RMB,2(mintra)=aMBlog2(ΣB=016(bB,intra·(1+ρB))DMB,s,2(mintra))---(10)

DMB,s,2(mintra)=ΣB=016(DB,s,2(mintra)·QB,22QB,22·(1-ρB))---(11)

RMB,2(mintra)=aMBlog2(ΣB=016(bB,intra·(1-ρB))DMB,s,2(mintra))---(12)

其中ρB为当前宏块中子块B的非零系数比,QB,2和Q′B,2分别为子块B及其在前一帧中对应子块的量化步长,D′B,s,2(mintra)、b′B,intra为对应子块在帧内模式时的信源失真、方差;

(13)根据下式分别计算当前宏块转码后为帧内模式时的率失真函数值的最大值Jintra和最小值Jintra

Jintra=DMB,s,2(mintra)+λMB,0RMB,2(mintra)  (13)

JintraDMB,s,2(mintra)+λMB,0RMB,2(mintra)  (14)

(14)如果Jinter>Jintra,则当前宏块转码后的最优模式为帧内模式;否则,如果JinterJintra,则当前宏块转码后的最优模式为帧间模式;否则,转入步骤(15);

(15)对当前宏块进行帧内模式编码,得到帧内模式时信源失真和码率的实际值DMB,s,2(mintra)和RMB,2(mintra),然后根据下式计算帧内模式时率失真函数值的实际值Jintra

Jintra=DMB,s,2(mintra)+DMB,p,2(mintra)+λMB,0RMB,2(mintra)  (15)

(16)如果Jinter>Jintra,则当前宏块转码后的最优模式为帧内模式;否则,当前宏块转码后的最优模式为帧间模式。

实现效果:在MPEG-2到H.264视频转码的实施例中,采用本发明的方法对Hall Monitor测试序列进行了编码测试。实验结果表明,本发明方法的复杂度与宏块层方法相比降低了约25%,与帧层方法基本相当;而本发明方法的信噪比如附图所示,与宏块层和帧层方法相比分别提高了约0.7dB和2.8dB。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号