首页> 中国专利> 具有固定计算复杂性的运动图像编码的方法和装置

具有固定计算复杂性的运动图像编码的方法和装置

摘要

提供一种能够有规律地保持计算复杂性的用于运动图像编码的方法和装置。这种方法包括:(a)计算视频数据的运动估值(ME)计算复杂性,并估算所计算的ME计算复杂性和目标计算复杂性之间的偏差;(b)基于在(a)中估算的ME计算复杂性中的偏差更新目标离散余弦变换(DCT)复杂性;(c)基于在(b)中已更新的目标DCT计算复杂性设置阈值,以便确定是否对视频数据跳越执行DCT处理;及(d)根据在(c)中设置的阈值,对视频数据跳越执行DCT处理或执行DCT处理。

著录项

  • 公开/公告号CN1440202A

    专利类型发明专利

  • 公开/公告日2003-09-03

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN02150369.9

  • 发明设计人 宋秉哲;

    申请日2002-11-08

  • 分类号H04N7/32;

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人黄小临;王志森

  • 地址 韩国京畿道

  • 入库时间 2023-12-17 14:57:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    未缴年费专利权终止 IPC(主分类):H04N7/32 授权公告日:20060705 终止日期:20141108 申请日:20021108

    专利权的终止

  • 2006-07-05

    授权

    授权

  • 2003-11-19

    实质审查的生效

    实质审查的生效

  • 2003-09-03

    公开

    公开

说明书

技术领域

本发明涉及到视频编码系统,更具体地说,涉及一种运动图像编码的方法和装置,这种编码采用固定计算复杂性,且不考虑运动图像的特性。

背景技术

通常,用硬件对运动图像编码。然而,个人计算机(PC)的中央处理单元(CPU)性能的改进,以及高性能多媒体处理器的发展,使得用软件对运动图像编码成为可能。从而,就需要能有效地减少计算量的编码技术,以便实时地压缩和恢复运动图像。举例来说,假如按照H.263标准并采取n步搜索由视频编码器来估算运动图像的运动,离散余弦变换(DCT)/反离散余弦变换(IDCT)模块就占用了编码器处理时间的30%。为了减小这种计算复杂性,传统的视频编码器采用一种DCT跳越技术。

图1是传统视频编码系统的方框图。首先,把输入的视频数据划分成若干图像组(GOP)单元。DCT单元120对视频数据以8×8的方块为基数执行DCT处理,从而获得视频数据的空间冗余度(spatial redundancy)。经DCT单元120对其执行DCT处理的视频数据,由量化器(Q)130进行量化。反量化器(IQ)150对由Q 130量化的视频数据作反向量化。经IQ 150反量化的视频数据,由反DCT(IDCT)160对其执行IDCT处理。经IDCT单元160 IDCT处理的视频数据,以帧为单元,存储在帧存储器(FM)170中。运动估值(ME)单元180利用存储在FM单元170中的当前帧视频数据和前一帧视频数据估算每宏块(macro block)的运动图像的运动矢量(MV)和每宏块运动图像的绝对偏差和(SAD)。变长编码(variable length coding,VLD)单元140根据ME单元180估算的MV消除量化后的视频数据中的统计冗余度(statisticalredundancy)。

DCT跳越单元(DCT skipping unit)110接收ME单元180估算的每块的SAD,或接收由Q130产生的量化参数(QP),并将SAD或QP与阈值T相比较,再将比较结果发送给DCT单元120,作为按8×8方块基数的跳越信息。也就是说,当SAD/QP的比值小于阈值T时,DCT跳越单元110就限制视频数据不被编码,这就意味着,块结束近似于0,而当SAD/QP的比值大于阈值T时,DCT跳越单元110就允许DCT单元120对视频数据执行DCT处理。可是,当阈值T是视频序列范围内的一个固定值时,DCT计算中的复杂性对每个宏块或每帧而言就各不相同。尤其是,当用PC或多媒体处理器来实现软件视频编码器时,实时编码就不可能,这是由于,如果DCT的计算复杂性随宏块或帧而变化,PC或多媒体处理器的计算复杂性就受到限制。

发明内容

为了解决上述问题,本发明的目的是提供一种运动编码方法,该方法能够通过对离散余弦变换(DCT)模块施加一个运动估值器中的计算复杂性的变量而保持视频编码器的计算复杂性固定不变。

为了实现上述目的的一个方面,在这里提供一种运动图像编码的方法,该方法包括:(a)计算视频数据的ME计算复杂性,并推算所计算的ME计算复杂性和目标计算复杂性之间的偏差;(b)基于在(a)中估算的ME计算复杂性偏差更新目标DCT复杂性;(c)基于在(b)中已更新的目标DCT计算复杂性设置阈值,以便确定是否跳越执行对视频数据的DCT处理;以及(d)根据在(c)中设置的阈值,对视频数据跳越执行DCT处理或执行DCT处理。

为了实现上述目的另一个方面,在这里提出了一种运动图像编码的装置,该装置包括:DCT单元,它用来对输入视频数据基于块执行DCT处理;量化器,它用来量化由DCT单元对其执行DCT处理的视频数据;ME单元,该单元利用输入视频数据和前一帧的视频数据,计算每宏块的运动矢量和SAD;DCT计算复杂性计算器,它用来计算ME单元的计算复杂性,估算ME计算复杂性与目标计算复杂性之间的偏差,并基于所估算的ME计算复杂性中的偏差更新目标DCT计算复杂性;以及DCT跳越单元,它用来根据由DCT计算复杂性计算器更新的目标DCT计算复杂性设置阈值,以便确定是否对视频数据跳越执行DCT处理,并且将由ME单元产生的每块SAD和由量化器产生的量化参数与阈值比较,并确定是否允许DCT单元对视频数据执行DCT处理。

附图说明

通过参照附图对其优选实施例进行详细描述,本发明的上述目的和优点将会变得更加清楚,其中:

图1是一种对其施加了DCT跳越技术的传统的视频编码系统的方框图;

图2是根据本发明的视频编码器结构的方框图;

图3是图2的DCT计算复杂性计算器结构的方框图;

图4是图2的DCT跳越单元结构的方框图;以及

图5是说明根据本发明的运动图像编码方法的流程图。

具体实施方式

图2是根据本发明的视频编码器结构的方框图。参考图2,输入视频数据由以8×8方块为单元的帧组成。

DCT单元220对输入视频数据按8×8方块执行DCT处理,或者响应由DCT跳越单元290产生的DCT跳越控制信号,处理输入视频数据不进行编码。量化器(Q)230量化由DCT单元220对其执行DCT处理的视频数据。VLC单元240消除已量化的视频数据中的统计冗余度。反量化器(IQ)250反量化由Q 230量化的视频数据。IDCT单元260对由IQ 250反量化的视频数据执行IDCT处理。FM单元270以帧为单元存储由IDCT单元260执行IDCT处理的视频数据。ME 280采用储存在FM270中的当前帧的视频数据和前一帧的视频数据估算每宏块的MV和SAD。

DCT计算复杂性计算器284计算由ME单元280所采用的前一帧的总体的运动估值计算复杂性,以便估计总体的运动估值计算复杂性和目标计算复杂性之间的偏差,并基于这种偏差更新目标DCT计算复杂性。

DCT跳越单元290根据更新的目标DCT计算复杂性设置阈值Ton+1,以便对当前帧跳越执行DCT处理。下一步,DCT跳越单元290将由ME单元280估算的每一块的SAD和由Q 230估算的QP与所设置的阈值Ton+1进行比较,并把比较结果发送给DCT单元220作为DCT跳越信息。

图3是图2的DCT计算复杂性计算器284的结构方框图。参照图3,ME计算复杂性计算器310将从ME280输入的每个宏块的各个搜索点的数求平均或相加,以便计算当前帧的总体的ME计算复杂性S(n)。

目标DCT计算复杂性计算器320把总体的ME计算复杂性S(n)与目标ME计算复杂性St进行比较,计算其间的偏差,并将这个偏差加到目标DCT计算复杂性Ct上。作为结果,就改变了目标DCT计算复杂性Ct,从而得到一个更新的DCT计算复杂性C’t

图4是图2的DCT跳越单元290的结构方框图。参照图4,阈值计算器410基于其中反映了ME计算复杂性中的偏差的更新的目标DCT计算复杂性C’t计算当前帧的阈值Ton+1

DCT跳越判定单元420把分别由ME单元280和Q230估算的每块的SAD和QP与当前帧的阈值进行比较,并基于比较结果确定图2的DCT单元220是否对当前帧跳越执行DCT处理。更准确地说,当SAD/QP小于阈值Ton+1时,DCT跳越判定单元420就强制把当前帧当作“不编码”数据,这就意味着块结束(EOB)可能近似于0;当SAD/QP大于阈值Ton+1时,DCT跳越判定单元420允许DCT单元220对当前帧执行DCT处理。

图5是说明根据本发明的运动图像编码方法的流程图。参照图5,首先,基于总体编码器计算复杂性设置目标ME计算复杂性St和目标DCT计算复杂性Ct。例如,在H.263视频编码器中,在假定总体编码器的计算复杂性为1的情况下,一个搜索区的目标ME计算复杂性St和目标DCT计算复杂性Ct分别设置为0.3。

然后,在步骤510中对第n帧的每个宏块的搜索点数求平均,以便计算总的ME计算复杂性S(n)。在这种情况下,普通的高速运动估值方法是不利的,因为搜索每个宏块的计算复杂性没有规律。普通高速运动估值方法被分类成几种方法,其中一种方法是在搜索区内搜索点数是不相同的,其中另一种方法是,有效地减少每个块匹配所需要的计算量,例如,一种快速完全搜索方法。每帧的ME计算复杂性可用上述方法之一来计算。

步骤510之后,在步骤520从目标计算复杂性St中减去前一帧的ME计算复杂性S(n),就得到ME计算复杂性的偏差,即St-S(n)。换句话说,就是检查前一帧的ME计算复杂性S(n)是大于或是小于目标ME计算复杂性St,这是基于这样的事实,即连续帧(例如,前一帧和当前帧)的ME计算复杂性是相似的。

步骤520之后,在步骤530把偏差St-S(n)加到原来的目标DCT计算复杂性Ct上去,就得到一个更新的目标DCT计算复杂性C’t。在这里,目标ME计算复杂性St和前一帧的ME计算复杂性S(n)表示每个宏块的搜索点的平均数,而目标DCT计算复杂性Ct表示每宏块DCT执行块的总数。其后,假定处理一个搜索点耗费的计算复杂性和8×8DCT计算复杂性相同,把偏差St-S(n)与原来的目标DCT计算复杂性Ct相加。否则,也就是,如果处理一个搜索点耗费的计算复杂性与8×8 DCT计算复杂性不同,就要将偏差St-S(n)乘以适当的权重W,再与原来的目标DCT计算复杂性Ct相加,从而得到W{St-S(n)}+Ct

步骤530之后,在步骤540中根据更新的目标DCT计算复杂性C’t,设置当前帧的阈值Ton+1,该阈值Ton+1是用来确定是否对当前帧执行DCT处理。

计算当前帧阈值Ton+1的等式由下面的几个等式得到。

DCT复杂性是指DCT单元对视频数据执行DCT处理的概率和DCT计算复杂性,并用DCT执行块数目来确定。基于阈值Ton+1反比于阈值和量化系数(T、Q)的事实,DCT复杂性表达为如下等式: >>C>≈>>V>>>T>0>>Q>>>·>·>·>·>·>·>·>·>>(>1>)>>>s>

其中,T0代表阈值,Q代表量化系数。在第n帧时,由等式1得到V=CnQnTon的公式。

此外,第n+1帧的优选阈值由等式1得到,并表达如下: >>>T>>on>+>1>>>=>>V>>>C>t>>>Q>>n>+>1>>>>>·>·>·>·>·>·>>(>2>)>>>s>

其中,Ct代表目标DCT复杂性。

等式2也可以表达如下: >>>T>>on>+>1>>>=>>T>on>>>>>Q>n>>>C>n>>>>>C>t>>>Q>>n>+>1>>>>>·>·>·>·>·>·>>(>3>)>>>s>

等式3也可以表达如下: >>>T>>on>+>1>>>=>>T>on>>>>Q>n>>>Q>>n>+>1>>>>>(>1>+>>>>C>n>>->>C>t>>>>C>t>>>)>>·>·>·>·>·>·>>(>4>)>>>s>

等式4可以表达如下: >>>T>>on>+>1>>>=>>T>on>>>>Q>n>>>Q>>n>+>1>>>>>(>1>+>>>>C>n>>->>C>t>>>>kC>t>>>)>>·>·>·>·>·>·>>(>5>)>>>s>

其中,阈值Ton+1的收敛速度取决于常数k。参考等式5,注意,当前帧的阈值Ton+1用前一帧的阈值Ton、量化系数Qn和Qn+1以及前一帧的DCT复杂性Cn来计算。

最后,如果等式5中表示的目标DCT复杂性Ct被更新为目标DCT计算复杂性C’t,也就是C’t=Ct+St-Sn,则应用到本发明中的当前帧的阈值Ton+1就由下式计算: >>>T>>on>+>1>>>=>>T>on>>>>Q>n>>>Q>>n>+>1>>>>>(>1>+>>>>C>n>>->>C>t>>sup>>kC>t>′sup>>>)>>·>·>·>·>·>·>>(>6>)>>>s>

其中,Ton代表前一帧的阈值,Qn代表前一帧的量化系数,Qn+1代表当前帧的量化系数,Cn代表前一帧的DCT计算复杂性,k是常数,C’t代表更新的目标DCT计算复杂性。

步骤540之后,在步骤550中,将分别在运动估值和量化过程产生的、每块的SAD和量化参数Qn+1与当前帧的阈值Ton+1进行比较。

在步骤560中,如果SAD与量化参数Qn+1之比小于阈值Ton+1,对相关块就不执行DCT处理,且该块限于不被编码。在步骤570中,如果SAD与量化参数Qn+1之比大于阈值Ton+1’就对该块执行DCT处理。

步骤570之后,在步骤580中,检查对输入运动图像的编码是否结束,如果没有结束,则重复上述各步,直到编码结束为止。

如上所述,根据本发明,将ME单元280的计算复杂性中的偏差施加到DCT跳越模块,由此,使总体计算的总量保持接近于目标计算复杂性Ct+St

尽管本发明是参照其优选实施例来具体地描述的,但本领域的技术人员应当理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。

本发明可以由计算机可读媒体能够执行的计算机可读码进行实施。这里,计算机可读媒体可以是能够存储能由计算机系统读取的数据的任何一种记录装置,例如,只读存储器(ROM)、随机存取存储器(RAM)、光盘(CD-ROM)、磁带、软盘、快闪(flash)存储器、光数据存储装置、等等。此外,举个例子,计算机可读媒体还可以是通过因特网发送数据的载波。计算机可读记录媒体可能分散地安装在连接到网络的计算机系统中,并借助分布式计算环境,存储和执行计算机可读码。

如上所述,根据本发明,利用设计时考虑到ME计算复杂性的DCT跳越方法,即使采用高速运动估值方法,也可能持续不变地保持总体编码计算复杂性。

这项申请基于2002年2月19日申请的其专利申请号为2002-8759的韩国专利申请,并且要求其优先权,这里引入其内容以供参考。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号