首页> 中国专利> 基于直接模式选择的H.264/AVC快速转码方法及装置

基于直接模式选择的H.264/AVC快速转码方法及装置

摘要

本发明公开了一种基于直接模式选择的H.264/AVC快速转码方法及装置,主要解决现有技术运算复杂度高、实时性差及对运算/存储等资源的占用率高的缺点。该转码装置由解码器、宏块失真估计模块、宏块模式选择模块和编码器组成。解码器对压缩码流解码,得到宏块模式、运动信息、残差和解码帧图像;宏块失真估计和模式选择模块根据解码信息及编、解码器的参考帧作宏块失真估计,并进行快速模式选择;编码器对于当前GOP的I帧和第一个P帧进行RDO判决,统计第一个P帧各最佳帧间模式的平均失真作为快速模式选择的门限,否则对解码帧图像进行快速编码,得到既定目标码率的H.264/AVC压缩码流。本发明极大的降低转码运算复杂度,减少了转码的时间,可用于实时多媒体传输及其它数据传输。

著录项

  • 公开/公告号CN101888547A

    专利类型发明专利

  • 公开/公告日2010-11-17

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201010204240.5

  • 发明设计人 秦浩;刘海啸;宋彬;

    申请日2010-06-18

  • 分类号H04N7/26;H04N7/50;

  • 代理机构陕西电子工业专利中心;

  • 代理人王品华

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-18 01:05:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

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

    专利权的终止

  • 2012-12-05

    授权

    授权

  • 2010-12-29

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20100618

    实质审查的生效

  • 2010-11-17

    公开

    公开

说明书

技术领域

本发明属于网络通信技术领域,涉及H.264/AVC(advanced video coding)标准内的快速码率转码方法,可用于实时多媒体传输及其它数据传输。

背景技术

随着移动通信技术的不断发展,网络接入速度的飞速提升,移动终端日趋智能化,以及数字压缩技术的日益优化,移动终端已从简单的通信、联络工具,发展成为一个多媒体智能平台。与此同时,传统的彩信、图铃下载等增值业务已无法满足用户的需求。移动流媒体的出现将改变这种状况,它能为用户提供包括视频点播、移动视频聊天、移动视频监控等服务。移动流媒体是移动通信和流媒体传输的结合,它通过移动网络在移动终端上采用流媒体技术进行数据传输。然而,移动终端的多样性,无线网络的波动性以及移动终端的处理能力有限制约了移动流媒体的发展,需要研究相应的技术来解决这些问题。

码率变换的视频转码可以根据终端的处理能力以及网络带宽的条件,提供最合适的视频流,因此码率变换是解决上述问题的关键技术。码率转换最直接的办法是采用级联的全解全编转码器。它将解码后的视频流按目标码率进行重新编码,并且为了消除漂移误差引入了反馈环路从而能得到最佳的图像质量。但是完整的解码和编码过程具有极高的计算复杂度,实用的转码结构一般是在上述结构的基础上采取许多优化措施,充分利用输入码流信息,在保持视频质量下降不大的条件下,尽可能降低转码运算复杂度。

视频码率转码是视频转码中最早研究的内容,其目的是在保持低运算复杂度和高图像质量的基础上实现压缩视频流的高码率到低码率的转换,从而适应不同信道带宽。码率转码研究的重点集中在两个方面:一是如何减小系统的复杂度,二是如何在目标压缩码率下达到最高的图像质量。

码率转码最直接的方式是采用级联式码率变换转码器。参照图1,它分为两个部分:先由解码器对输入视频流解码,再由一个编码器按照要求对解码后的视频进行编码。通过将解码后的视频流按目标码率进行重新编码,从而能够得到最佳的图像质量。该技术方案由于在实现时需要对输入码流进行完全解码,再对解码后图像重新进行运动估计、编码模式判决等编码操作,因而运算复杂度高,不能满足实时视频转码要求,且在实际视频通信系统中对运算/存储等资源的占用率很高,从而造成设备成本居高。

发明内容

本发明的目的在于克服上述已有技术的缺点,提出一种基于直接模式选择的H.264/AVC快速转码方法及装置,以降低转码运算复杂度和对运算/存储等资源的占用率,满足实时转码的要求,降低设备成本。

为实现上述目的,本发明提供的基于直接模式选择的H.264/AVC快速转码装置,包括:

解码器:用于对H.264/AVC视频码流解码,得到宏块模式、运动信息、解码端残差、解码端参考帧和解码帧图像,并将宏块模式、运动信息、解码端残差和解码端参考帧图像传送给宏块失真估计模块,将解码帧图像传送给编码器;

宏块失真估计模块:用于根据解码器送来的宏块模式、运动信息和解码端残差,以及编、解码器两侧送来的参考帧,进行宏块失真的估计,并把估计值传送给宏块模式选择模块;

宏块模式选择模块:用于根据宏块失真估计模块送来的宏块失真估计值,和编码器送来的平均失真门限进行快速模式选择,得到新的宏块模式,同时对该新的宏块模式进行修正和运动矢量的细化,传送给编码器;

编码器:用于根据宏块模式选择模块传送的信息对解码器送来的解码帧图像进行编码,得到既定目标码率的H.264/AVC压缩码流,并将在编码过程中产生的平均失真门限和编码端参考帧图像分别传送给宏块模式选择模块和宏块失真估计模块。

为实现上述目的,本发明提供的基于直接模式选择的H.264/AVC快速转码方法,包括如下步骤:

(1)对接收到的视频码流进行解码,得到解码帧图像F以及每一个宏块的编码模式M、运动矢量MV和残差Diff,该解码图像作为当前时刻的编码帧;

(2)判断当前帧组GOP的编码帧是否为帧内帧I帧,如果是,则不参与快速转码,用率失真优化RDO的模式判决方法,选择当前编码帧每个宏块的最佳帧内宏块模式进行编码,退出直接模式选择,否则继续执行步骤(3);

(3)判断当前GOP的编码帧是否为第一个帧间帧P帧,如果是,则不参与快速转码,转到步骤(4),否则对当前帧的每个宏块执行步骤(5)~(11);

(4)用RDO的模式判决和运动搜素方法,计算当前编码帧每个宏块的最佳宏块模式和运动矢量,并对解码帧图像F进行编码,最后计算出当前帧不同最佳宏块模式m的平均失真值ADM(m),作为后续编码帧的直接模式选择门限并退出直接模式选择,其中m为枚举类型,设为P16x16,P16x8,P8x16和P8x8四种值;

(5)如果当前宏块模式为帧内模式或者跳过模式SKIP,则直接复用当前宏块模式,记为新的宏块模式H,转到步骤(10);否则转到步骤(6);

(6)通过下式计算当前宏块像素点的编、解码参考帧差值的运动补偿值ΔMC(i,j),

ΔMC(i,j)=MC(RefD(i,j)-RefE(i,j))MV

其中RefE(i,j)和RefD(i,j)分别表示编、解码器参考帧在(i,j)像素点的值,MV表示步骤(1)得到的当前宏块解码运动矢量,MC表示利用该MV对编、解码参考帧差值的运动补偿;

(7)利用步骤(1)得到宏块残差Diff和步骤(6)得到的编、解码参考帧差值的运动补偿值ΔMC,通过下式估计宏块失真D:

D≈∑i,j[Diff(i,j)+ΔMC(i,j)]2

其中(i,j)表示当前宏块的每个像素点;

(8)利用估计宏块失真D和步骤(4)得到的模式判决门限ADM(m),通过式H=arg min|ADM(m)-D|,遍历每种帧间预测编码模式m,选择与D最接近的ADM(m)所对应的模式m作为新的宏块模式H,其中m设为帧间P16x16,P16x8,P8x16和P8x8模式;

(9)如果新的宏块模式H,按照SKIP、P16x16、P16x8、P8x16、P8x8、帧内I16x16和I4x4编码复杂度呈依次增强的顺序,比解码宏块模式M更复杂,则将新的宏块模式H更新为M;

(10)利用解码宏块运动矢量和预测运动矢量分别作为搜索起点,对当前宏块做4~5像素范围的全搜索,得到新的运动矢量S;

(11)利用新的宏块模式H和新的运动矢量S,对解码帧图像F的当前宏块进行编码;如果当前帧的所有宏块编码完成,返回步骤(2),否则返回步骤(5),直至所有GOP的全部帧编码结束,退出快速转码。

本发明与现有技术相比具有如下优点:

1)本发明中的宏块失真估计模块,在转码系统中充分利用了解码器得到的解码信息和编、解码器两侧的参考帧信息,避免了计算宏块失真所必需的H.264/AVC编码端复杂的变换、量化、反量化和反变换重构过程,使得宏块失真的估计操作变得简单易行。

2)本发明中的宏块模式选择模块,由于充分利用了宏块失真和编码模式的关系,直接利用宏块失真的估计值进行宏块模式的选择和运动矢量的细化,简化了H.264/AVC编码端复杂的RDO模式判决和运动估计等操作,在保持编码图像质量的前提下,极大地降低了编码运算复杂度。

3)本发明中的编码器,由于采用了宏块模式选择模块的结果,简化了编码器的运动矢量搜索和宏块模式判决操作,进而降低了转码系统的整体运算复杂度,节省了转码时间,可应用于实时视频通信中。

附图说明

图1是现有的H.264/AVC像素域级联全解全编转码系统框图;

图2是本发明基于直接模式选择的H.264/AVC快速转码装置示意图;

图3是本发明基于直接模式选择的H.264/AVC快速转码方法流程图。

具体实施方式

参照图2,本发明的基于直接模式选择的H.264/AVC快速转码装置,由解码器、宏块失真估计模块、宏块模式选择模块和编码器四部分组成。其中:

解码器,主要用于对输入的H.264/AVC压缩视频码流进行解码,它由变长解码、反量化、反变换、运动补偿和解码端参考帧五个单元组成。变长解码单元对H.264/AVC压缩比特流依次进行熵解码和重排序,得到一组变换系数传送给反量化单元,并从H.264/AVC压缩比特流中提取出宏块模式、运动矢量和参考帧信息,分别传送给宏块失真估计模块和解码端参考帧单元,同时将运动矢量传送给解码器运动补偿单元;反量化单元将变长解码单元传送的变换系数进行反量化得到量化系数,并把量化系数传送给反变换单元;反变换单元将该量化系数进行反DCT变换得到解码端残差图像,并传送给宏块失真估计模块,同时将解码端残差图像和运动补偿单元传送的解码端预测图像相加,得到解码图像传送给编码器;解码端参考帧单元用于产生参考帧,并送给解码器运动补偿单元;运动补偿单元,用于根据解码端参考帧单元传送的参考帧和变长解码单元传送的运动矢量进行运动补偿,得到解码端预测图像传送给反变换单元。

宏块失真估计模块,根据解码器变长解码单元送来的宏块模式和运动信息,解码器反变换单元送来的宏块残差,以及编、解码器两侧的参考帧进行宏块失真的估计,并传送给宏块模式选择模块;

宏块模式选择模块,根据宏块失真估计模块送来的宏块失真,和编码器送来的平均失真门限进行快速模式选择得到新的宏块模式,同时对宏块模式进行适当的修正和运动矢量的细化,并传送给编码器;

编码器,利用宏块模式选择模块得到的宏块模式和运动信息对解码器解码图像进行编码,输出既定目标码率的H.264/AVC压缩码流,并且将编码过程中产生平均失真门限传送给宏块模式选择模块,以及编码端参考帧图像传送给宏块失真估计模块。该编码器由变换、量化、变长编码、运动补偿、解码环和编码端参考帧六个单元组成。其中编码端参考帧单元用于产生参考帧,并把参考帧分别传送给运动补偿单元和宏块失真估计模块;运动补偿单元根据宏块模式选择模块传送的宏块模式和运动矢量,对编码器参考帧单元传送的参考帧作运动补偿,得到预测帧传送给变换单元;变换单元将解码器送来解码图像减去运动补偿单元传送的预测图像得到残差图像,并对该残差图像进行整数DCT变换得到变换系数,传送到量化单元;量化单元对其进行量化,得到量化系数送给变长编码单元;变长编码单元对量化单元传送的量化系数进行熵编码,将得到的数据和其他编码信息按H.264/AVC的码流格式要求组成压缩视频码流;解码环路包括反量化和反变换两个单元,用于产生反馈环路的重构图像作为下一帧编码的参考帧。

本发明系统的工作原理如图2所示:解码器对输入的H.264/AVC压缩比特流通过变长解码、反量化和反变换后,得到解码端残差图像值,并与解码端运动补偿单元得到的解码端预测图像相加得到解码图像传送至编码器,同时变长解码单元将运动信息传送至宏块失真估计模块和解码器运动补偿单元。宏块失真估计模块利用解码宏块残差信息、宏块模式、运动信息以及编、解码器两侧的参考帧进行宏块失真的估计,并传送至宏块模式选择模块。宏块模式选择模块根据宏块失真估计值,和编码器送来的平均失真门限进行直接模式选择得到新的宏块模式,并对其进行适当修正和运动矢量的细化。编码器利用新的宏块模式和运动矢量对解码器输出的解码图像进行编码,将解码图像和编码端运动补偿单元得到的编码端预测图像相减得到的编码端残差图像,然后对其进行整数DCT变换、量化和变长编码,和解码所需要的其他信息,一起组成压缩视频码流输出;同时将编码端量化单元得到量化系数通过解码环路和反馈环路得到重构图像作为下一帧编码的参考帧,并且将其送至宏块失真估计模块以供后续帧进行失真估计操作。

参照图3,本发明的基于直接模式选择的H.264/AVC快速转码方法,包括如下步骤:

步骤1,对接收到的视频码流依次进行熵解码、反量化和变换,得到解码端残差图像,该残差图像和参考帧进行运动补偿得到的预测图像相加得到解码帧图像F,该解码帧图像F作为当前时刻的编码帧;同时从压缩码流中解码出每一个宏块的编码模式M、运动矢量MV和残差Diff;

步骤2,针对当前帧组GOP中的编码帧的不同类型,确定不同的转码方式。

在H.264/AVC视频压缩编码标准的基本档次里,视频编码帧分为帧内帧,即I帧,和帧间帧,即P帧两种类型,考虑到I帧对视频转码质量的重要性,以及相邻P帧之间较强的相关性,本发明对I帧和P帧采取不同的转码方式:

如果当前编码帧是I帧,则不参与快速转码,用率失真优化RDO的模式判决方法,选择当前编码帧每个宏块的最佳帧内宏块模式,退出直接模式选择;

如果当前编码帧是第一个P帧,则不参与快速转码,用RDO的模式判决和运动搜素方法,计算当前编码帧每个宏块的最佳宏块模式和运动矢量,并对解码帧图像F进行编码,最后计算出当前帧不同最佳宏块模式m的平均失真值ADM(m),作为后续编码帧的直接模式选择门限并退出直接模式选择,其中m为枚举类型,设为P16x16,P16x8,P8x16和P8x8四种值;

如果当前编码帧是P帧,但不是当前GOP里的第一个P帧,则对当前帧的每个宏块执行步骤3。

步骤3,针对当前宏块解码出来的不同的模式,采取不同的方法进行重新选择。

在H.264/AVC视频压缩编码标准里,宏块编码模式共分为跳过模式SKIP、帧间P16x16、帧间P16x8、帧间P8x16、帧间P8x8、帧内I16x16和帧内I4x4七种类型,其中帧间P8x8模式又可以细分为P8x4、P4x8、P4x4。不同编码模式的计算复杂度是不同的,本发明的直接模式选择方法,针对当前宏块解码出来的不同的模式,采用不同的方法进行判决:

如果当前宏块模式为帧内模式I16x16、I4x4或跳过模式SKIP,则直接复用当前宏块模式,记为新的宏块模式H,转到步骤9;

如果当前宏块模式为帧间P16x16、P16x8、P8x16或P8x8模式,则分别执行下述步骤4~步骤9。

步骤4,通过下式计算当前宏块像素点的编、解码参考帧差值的运动补偿值ΔMC(i,j):

ΔMC(i,j)=MC(RefD(i,j)-RefE(i,j))MV

其中RefE(i,j)和RefD(i,j)分别表示编、解码器参考帧在(i,j)像素点的值,

MV表示步骤(1)得到的当前宏块解码运动矢量,

MC表示利用该MV对编、解码参考帧差值的运动补偿。

步骤5,利用步骤1得到宏块残差Diff和步骤4得到的编、解码参考帧差值的运动补偿值ΔMC,通过下式估计宏块失真D:

D≈∑i,j[Diff(i,j)ΔMC(i,j)]2

其中(i,j)表示当前宏块的每个像素点。

步骤6,利用估计宏块失真D和步骤2得到的模式判决门限ADM(m),通过式H=arg min|ADM(m)-D|,遍历每种帧间预测编码模式m,选择与D最接近的ADM(m)所对应的模式m作为新的宏块模式H,其中m设为帧间P16x16,P16x8,P8x16和P8x8模式。

步骤7,将新的宏块模式H更新为M。

如步骤2所述,在H.264/AVC视频压缩编码标准里宏块编码模式分为七种类型,而且不同的模式编码复杂度是不同的,一般而言SKIP、P16x16、P16x8、P8x16、P8x8、帧内I16x16和I4x4宏块模式的编码复杂度呈依次增强的顺序。如果新的宏块模式H,按照上述顺序比解码宏块模式M更复杂,则将新的宏块模式H更新为M。

步骤8,运动矢量的细化。

在H.264/AVC的运动搜索中,编码器首先会利用当前宏块相邻几个宏块的运动矢量,计算出当前宏块的预测运动矢量PMV。本发明利用步骤1得到的解码宏块运动矢量MV和编码过程中计算的预测运动矢量PMV分别作为搜索起点,对当前宏块进行4~5像素范围的全搜索,得到新的运动矢量S。

步骤9,利用新的宏块模式H和新的运动矢量S,对解码帧图像F的当前宏块进行编码。

首先,由编码器根据最佳宏块模式H和运动矢量S,对编码端参考帧进行运动补偿得到编码端预测图像P,将步骤1得到的解码帧图像F和预测图像P相减得到残差图像;

然后,将该残差图像依次经过DCT整数变换、量化和变长编码,输出既定目标码率的H.264/AVC压缩码流,同时根据编码端预测图像P和编码器的解码环路,重构出下一编码帧的参考帧;

如果当前帧的所有宏块编码完成,返回步骤2,否则返回步骤3,直至所有GOP的全部帧编码结束,退出快速转码。

本发明的效果通过以下实验进一步说明:

1)实验条件

硬件环境:CPU Intel Pentium(R)4,3.0GHZ,1.0G内存;

软件测试模型:Joint Video Team of ISO/IEC MPEG & ITU-T VCEG会议参考软件Joint Model,版本12.0;

档次:基本档次;

GOP结构:IPPPP...;

编码帧数:100;

参考帧数目:1;

搜索精度:1/4像素精度;

RDO:Joint Model规定的高复杂度RDO;

参考序列:akiyo、bridge-close、bidge-far、coastugard、container、flower、highway、mobile和news标准视频参考序列;

输入码流的源码率为1024kbps,分辨率为352x288,CIF格式,帧率30fps;

输出码流的目标码率为512kbps,分辨率为352x288,CIF格式,帧率30fps。

2)实验内容

实验1:

统计各标准参考序列在上述实验条件下采用级联全解全编编码方法得到的第一个P帧的各最佳帧间模式的平均失真值,实验结果见表1。

表1:最佳帧间模式的平均失真值

从表1可以看出,绝大部分序列在编完第一个P帧后得到最佳帧间模式大致可以根据平均宏块失真分为四类:P16x16,P8x8,P16x8/P8x16,而且P8x8帧间模式的平均宏块失真最大,P16x16帧间模式的最小,而P16x8/P8x16介于两者之间,说明可以根据宏块失真作为门限值有效的对宏块模式进行区分。

实验2:

统计各参考序列在上述实验条件下分别采用级联全解全编方法和本发明提出的基于直接模式选择的快速转码方法,对10帧图像进行转码,得到各模式的相匹配的比例。各序列的实验结果分别见表2、表3、表4、表5、表6和表7。

表2:akiyo参考序列模式匹配比例

表3:bridge-close参考序列模式匹配比例

表4:bridge-far参考序列模式匹配比例

表5:coastguard参考序列模式匹配比例

表6:flower参考序列模式匹配比例

表7:hall参考序列模式匹配比例

从表2、表3、表4、表5、表6和表7可以看出,用本发明提出的基于直接模式选择得到的宏块模式与级联全解全编高复杂度RDO得到的宏块模式相比匹配比例可达到60%~80%,这有效的保证了高效转码的图像质量。

实验3:

统计各参考序列在上述实验条件下分别采用级联全解全编方法和本发明提出的基于于直接模式选择的快速码率转码方法,对100帧图像进行转码,所消耗的编码时间、转码时间及图像的Y、U、V分量的峰值信噪比PSNR。级联全解全编转码性能结果见表8,高效性能转码结果见表9,两者性能比较结果见表10。

表8级联转码性能

  参考序列  PSNR_Y  (db)  PSNR_U  (db)  PSNR_V  (db)  编码时间  (s)  转码时间  (s)  Akiyo  47.59  50.69  51.72  571.096  593.552  Bridge-close  39  40.63  42.48  573.039  595.816  Bridge-far  43.07  42.91  44.24  541.023  564.318

  参考序列  PSNR_Y  (db)  PSNR_U  (db)  PSNR_V  (db)  编码时间  (s)  转码时间  (s)  Coastguard  32.59  48.67  49.26  561.778  586.384  Container  40.51  47.35  47.26  603.655  627.067  Flower  29.3  37.09  41.56  552.052  575.581  Highway  42.94  43.07  44.39  537.047  561.206  mobile  28.98  36.86  35.63  587.516  612.221  News  44.01  47.15  48.1  577.14  599.777

表9高效转码性能

  参考序列  PSNR_Y  (db)  PSNR_U  (db)  PSNR_V  (db)  编码时间  (s)  转码时间  (s)  Akiyo  47.09  50.25  51.33  49.067  71.389  Bridge-close  38.6  40.61  42.43  50.581  73.24  Bridge-far  42.61  42.77  44.09  52.439  75.641  Coastguard  31.94  48.33  49.1  61.628  86.365  Container  40.08  46.93  46.87  53.047  76.345  Flower  28.89  36.85  41.21  68.578  94.092  Highway  42.04  42.7  44.03  55.553  79.677  mobile  28.09  36.64  35.4  60.7  85.38  News  43.14  46.43  47.43  52  74.581

表10级联转码性能和高效转码性能比较结果

  参考序列  ΔPSNR_Y  (db)  ΔPSNR_U  (db)  ΔPSNR_V  (db)  编码时间  节省  转码时间  节省  Akiyo  -0.5  -0.44  -0.39  0.914083  0.879726  Bridge-close  -0.4  -0.02  -0.05  0.911732  0.877076

  参考序列  ΔPSNR_Y  (db)  ΔPSNR_U  (db)  ΔPSNR_V  (db)  编码时间  节省  转码时间  节省  Bridge-far  -0.46  -0.14  -0.15  0.903074  0.86596  Coastguard  -0.65  -0.34  -0.16  0.890298  0.852716  Container  -0.43  -0.42  -0.39  0.912124  0.878251  Flower  -0.41  -0.24  -0.35  0.875776  0.836527  Highway  -0.9  -0.37  -0.36  0.896558  0.858025  mobile  -0.89  -0.22  -0.23  0.896684  0.860541  News  -0.87  -0.72  -0.67  0.909901  0.875652

从表8、表9和表10可以看出,本发明提出的基于直接模式选择的H.264/AVC快速转码技术在质量损失很小的情况下,节省编码时间可达90%左右,而转码时间节省达到85%左右。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号