首页> 中国专利> 一种降分辨率视频转码中的运动矢量合成方法

一种降分辨率视频转码中的运动矢量合成方法

摘要

本发明公开了一种降分辨率视频转码中的运动矢量合成方法,首先根据权重计算多个输入运动矢量精确度较为一致时和不一致时的第一次合成运动矢量;然后计算相邻运动矢量中距离第一次合成运动矢量最远运动矢量和中值运动矢量所对应的绝对差值和、比特数、拉格朗日乘子;再计算各运动矢量对应的率失真函数值,并选择最小率失真函数值的运动矢量作为第二次合成运动矢量;最后以第二次合成运动矢量为中心,进行小窗口的运动矢量重搜索得到最终的合成运动矢量。本发明在第一次合成中基于精确度对运动矢量进行加权平均,在第二次合成中基于精确度对运动矢量进行率失真选择,从而使得选择合成的误差减小。

著录项

  • 公开/公告号CN101340582A

    专利类型发明专利

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

    原文格式PDF

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

    申请/专利号CN200810048800.5

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

    申请日2008-08-13

  • 分类号H04N7/26;

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

  • 代理人刘荣

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

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

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-30

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

    专利权的终止

  • 2010-07-28

    授权

    授权

  • 2009-02-25

    实质审查的生效

    实质审查的生效

  • 2009-01-07

    公开

    公开

说明书

技术领域

本发明涉及一种降分辨率视频转码方法,特别是一种降分辨率视频转码中的运动矢量合成方法,属于多媒体视频转码领域。

背景技术

视频转码能够将已压缩的视频流从一种格式(如分辨率、帧率、码率等)转换为另一种格式,以适应不同性能的网络和终端。作为视频转码的关键技术之一,降分辨率视频转码能够通过空间下采样将压缩视频由高分辨率转换为低分辨率,以适应终端显示能力和处理能力的限制。在降分辨率转码中,高分辨率图像中的多个宏块需要合成为低分辨率图像中的一个宏块,相应地多个运动矢量也需要合成一个新的运动矢量。因此运动矢量合成成为降分辨率视频转码的关键问题。

已有的运动矢量合成算法可以总结为两种:第一种是选择,第二种是求和。根据第一种思路,参考文献1(Rajeev Kumar,Vasant Pati],An efficientmotion vector composition scheme for arbitrary frame down-sampling videotranscoder.IEEE Transactions on Circuits and Systems for VideoTechnology,2006,16(9):1148~1152)提出了空间主导向量选择合成算法,从多个输入运动矢量中选择具有最大覆盖面积的运动矢量作为输出运动矢量。根据第二种思路,参考文献2(Jiao Wang,En-hui Yang,Xiang Yu,An efficientmotion estimation method for H.264-based video transcoding with spatialresolution conversion.In:Proceedings of 2007 IEEE InternationalConference on Multimedia and Expo,Bei jing,China,2007:444~447)提出了基于线性衰退模型的合成算法,将多个输入运动矢量根据线性模型系数进行加权求和得到输出运动矢量。

上述算法虽然对运动矢量合成的性能有所改善,但是却存在着一个共同的问题:没有考虑输入运动矢量的精确度,即假设输入运动矢量是足够精确的。但是在降分辨率视频转码中,这一候设并不一定成立。首先,当输入运动矢量对应的采样面积小于搜索面积(例如当搜索面积为16×16而采样面积为4×4)时,输入运动矢量相对于搜索面积虽然足够精确,但是相对于采样面积则不一定是足够精确的。其次,当转码前后的视频流所采用的运动矢量精确度度量不同(例如当转码前输入的MPEG-2视频流和转码后输出的H.264视频流分别采用SAD(绝对差值和)和率失真函数作为运动矢量精确度的度量)时,输入运动矢量相对于输入视频流虽然足够精确,但是相对于输出视频流则不一定是足够精确的。

发明内容

本发明的目的是提供一种降分辨率视频转码中的运动矢量合成方法。

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

(1)计算输入运动矢量在精确度较低、较高和介于两种情况之间时的权重。运动矢量的精度可以通过其对应的采样面积和搜索面积的比值Si/S来界定,比值Si/S大于3/4则精确度较高,比值Si/S小于1/4则精确度较低,其他则介于较低和较高两者之间。根据下式计算输入运动矢量MVi在精确度较低、较高和介于两种情况之间时的权重Ai、Bi和Ci

Ai=Si/SADiSi=Si2/SADi

Bi=Si·SADiSi=SADi

Ci=Si

其中Si、SADi分别表示MVi对应的采样面积、绝对差值和,SADi/Si表示单位采样面积的绝对差值和,Si通过采样比例计算,SADi通过解码转码输入视频流得到。

(2)根据权重计算多个输入运动矢量精确度较为一致时的第一次合成运动矢量。根据下式计算多个输入运动矢量精确度较为一致时的第一次合成运动矢量:

MVA=Σi=0n(Ai·MVi)Σi=0nAi=Σi=0n(Si2/SADi·MVi)Σi=0n(Si2/SADi)

MVB=Σi=0n(Bi·MVi)Σi=0nBi=Σi=0n(SADi·MVi)Σi=0nSADi

MVC=Σi=0n(Ci·MVi)Σi=0nCi=Σi=0n(Si·MVi)Σi=0nSi

其中MVA、MVB、MVC分别表示多个输入运动矢量精确度均较低、较高和介于两种情况之间时的第一次合成运动矢量,n表示输入运动矢量的数目;

(3)根据权重计算多个输入运动矢量精确度不一致时的第一次合成运动矢量。根据下式计算多个输入运动矢量精确度不一致时的第一次合成运动矢量MVD

MVD=Σi=0n(Di·MVi)Σi=0nDi

其中Di表示输入运动矢量MVi在精确度不一致时的权重,具体如下式计算:

其中S表示MVi对应的搜索面积。

(4)计算第一次合成运动矢量对应的绝对差值和,根据下式分别计算MVA、MVB、MVC和MVD对应的绝对差值和SADA、SADB、SADC和SADD

SADA=Σi=0n(Ai·SADi)Σi=0nAi=Σi=0nSi2Σi=0n(Si2/SADi)

SADB=Σi=0n(Bi·SADi)Σi=0nBi=Σi=0nSADi2Σi=0nSADi

SADC=Σi=0n(Ci·SADi)Σi=0nCi=Σi=0n(Si·SADi)Σi=0nSi

SADD=Σi=0n(Di·SADi)Σi=0nDi

(5)计算当前宏块左、上、右上、左上四个相邻运动矢量中距离第一次合成运动矢量最远的运动矢量和中值运动矢量所对应的绝对差值和;

(6)根据当前块和后续块的运动矢量、预测运动矢量计算各运动矢量对应的比特数;

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

(8)根据各运动矢量对应的绝对差值和、比特数、拉格朗日乘子,计算各运动矢量对应的率失真函数值,根据下式计算各运动矢量对应的率失真函数值J(MVm):

J(MVm)=SADmMOTIONRm

其中MVm候选范围包括转码输出流中的相邻运动矢量MVN、MVF和第一次合成得到的运动矢量MVA、MVB、MVC、MVD数。

(9)选择具有最小率失真函数值的运动矢量作为第二次合成运动矢量;

(10)以步骤(9)中得到的第二次合成运动矢量为中心,进行小窗口的运动矢量重搜索得到最终的合成运动矢量。运动矢量重搜索的搜索窗口为[-2,2]。

本发明与现有技术相对照,效果是积极且明显的:本发明在第一次合成中基于精确度对运动矢量进行加权平均,在第二次合成中基于精确度对运动矢量进行率失真选择,从而使得选择合成的误差减小。

附图说明

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

具体实施方式

以下为本发明实施例的具体步骤,此实施例进行的是MPEG-2到H.264的视频转码:

(1)运动矢量的精度通过其对应的采样面积和搜索面积的比值Si/S来界定,比值Si/S大于3/4则精确度较高,比值Si/S小于1/4则精确度较低,其他则介于较低和较高两者之间。根据下式分别计算输入运动矢量MVi在精确度较低、较高和介于较低、较高两种情况之间时的权重Ai、Bi和Ci

Ai=Si/SADiSi=Si2/SADi---(1)

Bi=Si·SADiSi=SADi---(2)

Ci=Si    (3)

其中Si、SADi分别表示MVi对应的采样面积、绝对差值和,SADi/Si表示单位采样面积的绝对差值和,Si可以通过采样比例计算得到,SADi则可以通过解码转码输入视频流得到;

(2)根据下式分别计算多个输入运动矢量精确度一致时的第一次合成运动矢量:

MVA=Σi=0n(Ai·MVi)Σi=0nAi=Σi=0n(Si2/SADi·MVi)Σi=0n(Si2/SADi)---(4)

MVB=Σi=0n(Bi·MVi)Σi=0nBi=Σi=0n(SADi·MVi)Σi=0nSADi---(5)

MVC=Σi=0n(Ci·MVi)Σi=0nCi=Σi=0n(Si·MVi)Σi=0nSi---(6)

其中MVA、MVB、MVC分别表示多个输入运动矢量精确度均较低、较高和介于两种情况之间时的第一次合成运动矢量,n表示输入运动矢量的数目;

(3)根据下式计算多个输入运动矢量精确度不一致时的第一次合成运动矢量MVD

MVD=Σi=0n(Di·MVi)Σi=0nDi---(7)

其中Di表示输入运动矢量MVi在精确度不一致时的权重,具体如下式计算:

其中S表示MVi对应的搜索面积;

(4)根据下式分别计算MVA、MVB、MVC和MVD对应的绝对差值和SADA、SADB、SADC和SADD

SADA=Σi=0n(Ai·SADi)Σi=0nAi=Σi=0nSi2Σi=0n(Si2/SADi)---(9)

SADB=Σi=0n(Bi·SADi)Σi=0nBi=Σi=0nSADi2Σi=0nSADi---(10)

SADC=Σi=0n(Ci·SADi)Σi=0nCi=Σi=0n(Si·SADi)Σi=0nSi---(11)

SADD=Σi=0n(Di·SADi)Σi=0nDi---(12)

(5)将当前宏块左、上、右上、左上四个相邻运动矢量中距离第一次合成运动矢量最远的运动矢量和中值运动矢量分别记为MVF和MVF,并计算MVF、MVF对应的绝对差值和SADF、SADF

(6)根据下式分别计算各运动矢量对应的比特数Rm

Rm=R(MVm-MVp)+R(MV′m-MV′p(MV′m))      (13)

其中MVm表示当前块的运动矢量,MVp表示当前块的预测运动矢量,MV′m表示后续块的运动矢量,MV′p(MV′m)表示后续块在当前块运动矢量为MVm时的预测运动矢量。对于当前块运动矢量差值的编码比特数,由于MVm与MVp均已知,因此两者之间差值的编码比特数可以通过查表直接得到。对于后续块运动矢量差值的编码比特数,MV′p(MV′m)可以根据当前块运动矢量MVm以及其他相邻运动矢量得到,MV′m可以以转码输入流中后续块的运动矢量近似替代,然后通过查表得到运动矢量差值的编码比特数;

(7)根据参考文献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)的宏块拉格朗日乘子公式,由当前宏块量化步长计算拉格朗日乘子λMOTION

(8)根据下式计算各运动矢量对应的率失真函数值J(MVm):

J(MVm)=SADmMOTIONRm    (14)

其中MVm候选范围包括转码输出流中的相邻运动矢量MVE、MVF和第一次合成得到的运动矢量MVA、MVB、MVC、MVD

(9)选择具有最小率失真函数值的运动矢量作为第二次合成运动矢量;

(10)以第二次合成运动矢量为中心,进行搜索窗口为[-2,2]的运动矢量重搜索得到最终的合成运动矢量。

实现效果:在MPEG-2到H.264视频转码的实施例中,采用本发明的方法对Stefan测试序列进行了测试。实验结果表明,本发明方法的复杂度与参考文献2的方法基本相当;而本发明方法的信噪比如附图所示,与全搜索方法相比提高了约1.2dB。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号