专利名称:有漂移补偿的视频代码转换器的制作方法
技术领域:
本发明通常涉及对位流进行代码转换的领域,并更具体地涉及当对视频位流进行代码转换时减小漂移。
背景技术:
视频压缩使得能以较少的存储、网络和处理器资源来存储、传输和处理可视信息。最广泛使用的视频压缩标准包括用于存储和取回移动画面的MPEG-1、用于数字电视的MPEG-2和用于视频会议的H.263,见ISO/IEC 11172-21993,“Information Technology-Coding ofMoving Pictures and Associated Audio for Digital Storage Mediaup to about 1.5Mbit/s-Part 2Video(信息技术——达大约1.5Mbit/s的用于数字存储媒体的移动画面和关联音频的编码——第二部分视频),”D.LeGall,“MPEGAVideo Compression Standardfor Multimedia Application(MPEG一种用于多媒体应用的视频压缩标准),”Communications of the ACM(ACM通信),Vol.34,No.4,pp.46-58,1991,ISO/IEC 13818-21996,“InformationTechnology-Generic Coding of Moving Pictures and AssociatedAudio Information-Part2Video(信息技术——移动画面和关联音频信息的一般编码——第二部分视频),”1994,ITU-TSG XV,DRAFT H.263,“Video Coding for Low Bitrate Communication(用于低位速率通信的视频编码),”1996,ITU-TSG XVI,DRAFT13H.263+Q15-A-60 rev.0,“Video Coding for Low BitrateCommunication(用于低位速率通信的视频编码),”1997。
这些标准是相对低水平的规范,其主要涉及图像或帧的空间压缩以及帧序列的空间和时间压缩。作为共有的特征,这些标准在每帧的基础上进行压缩。有了这些标准,人们可为各种各样的应用实现高压缩比。
较新的视频编码标准如用于多媒体应用的MPEG-4,见ISO/IEC14496-21999,“Information Technology-coding of audio/visual object,Part2Visual(信息技术——音频/可视对象的编码,第二部分可视),”允许任意形状的对象作为分离的视频对象平面(VOP)被编码和解码。对象可以是可视、音频、自然、合成、原始、混合的,或者其组合。另外,有成为这个标准组成部分的明显量的误差回弹特征,从而允许穿过易于产生误差的通道如无线通道的鲁棒(robust)传输。
新兴的MPEG-4标准倾向于使得能进行多媒体应用,如交互式视频,其中自然和合成的材料被集成,并且访问是通用的。在视频传输的情况下,需要这些压缩标准以减小网络上的带宽量。网络可以是无线的或为互联网。在任何情况下,网络具有有限的容量,并且对稀少资源的争夺应被最小化。
大量的精力已被用于使得设备能鲁棒地传输内容并且能将内容的质量适配于可用网络资源的系统和方法上。当内容被编码时,有时有必要在它能以较低位速率或分辨率通过网络被传输之前进一步解码位流。
如
图1中所示,这可通过代码转换器100来完成。在最简单的实施中,代码转换器100包括级联的解码器110和编码器120。被压缩的输入位流101被以输入位速率Rin完全解码,然后以输出位速率Rout102被编码以产生输出位流103。通常,输出速率比输入速率低。在实践中,由于编码被解码的位流的高复杂度,不进行在代码转换器中的完全解码和完全编码。
有关MPEG-2代码转换的较早工作已由Sun等公布于“Architectures for MPEG compressed bitstream scaling(用于MPEG压缩位流按比例缩放的体系结构),”IEEE Transactions onCircuits and Systems for Video Technology(有关用于视频技术的电路和系统的IEEE学报),1996年4月。在那里,有变化的复杂度和体系结构的速率减小的四种方法被描述。
图2示出第一实例方法200,被称为开环体系结构。在这个体系结构中,输入位流201仅被部分解码。更具体地,输入位流的宏块被可变长度地解码(VLD)210并被用精细量化器Q1而逆量化220,以得到离散余弦变换(DCT)系数。给定所需输出位速率202,DCT块由量化器的较粗糙水平的量化器Q2再量化230。然后这些被再量化的块被可变长度地编码(VLC)240,由此形成较低速率的新输出位流203。这个方案比图1中所示的方案更简单,这是因为运动矢量被再使用并且不需要逆DCT运算。注意,在此Q1和Q2的选择严格依赖于位流的速率特征。其它因素,如可能地,位流的空间特征不被考虑。
图3示出第二实例方法300。这种方法被称为闭环体系结构。在这种方法中,输入视频位流又被部分解码,即输入位流的宏块被可变长度地解码(VLD)310并被用Q1逆量化320,以得到离散余弦变换(DCT)系数321。与上述第一实例方法相比,校正DCT系数332被加330给输入的DCT系数321以补偿由再量化产生的失配。这个校正提高了最终将被用于解码的基准帧的质量。在校正被加之后,象前面那样,新形成的块被用Q2再量化以满足新速率,并被可变长度地编码350。注意,Q1和Q2又是基于速率的。
为获得校正分量332,被再量化的DCT系数被逆量化360并被从原始的被部分解码的DCT系数减去370。这个差通过逆DCT(IDCT)365被变换到空间域并被存储到帧存储器380中。与每个输入的块关联的运动矢量然后被用于再调用相应的差块,如在运动补偿290中。然后相应的块通过DCT 332被变换以得到校正分量。图3中所示方法的出处由Assuncao等描述于“Afrequency domain video transcoder fordynamic bit-rater eduction of MPEG-2bitstreams(用于MPEG-2位流的动态位速率减小的频域视频代码转换器),”IEEETransactions on Circuits and Systems for Video Technology(有关用于视频技术的电路和系统的IEEE学报),pp.953-957,1998。
Assuncao等亦描述了用于相同目的的另一方法。在该可选方法中,他们使用了用于漂移补偿在频域中运算的运动补偿(MC)环。为在频域中快速计算MC块,近似矩阵被得出。拉格朗日最优化被用于计算用于代码转换的最佳量化器缩放比例(scale)。这个可选方法去除了对IDCT/DCT分量的需要。
依照现有技术压缩标准,被分配用于编码结构(texture)信息的位数由量化参数(QP)来控制。在基于被包含于原始位流中的信息而改变QP减小了结构位的速率这方面,以上方法是类似的。对于有效的实施,信息通常直接从被压缩域提取并可包括与宏块的运动或DCT块的残留能量有关的测量。上述方法仅可用于位速率减小。
除了位速率减小,亦可进行位流变换的其它类型。例如,基于对象的变换已由Vetro等描述于被提交于2000年2月14日的U.S.专利申请Sn.09/504,323,“Object-Based Bitstream Transcoder(基于对象的位流代码转换器)。”有关空间分辨率的变换已由Shanableh和Ghanbari描述于“Heterogeneous video transcoding to lowerspatio-temporal resolution,and different encoding formats(至较低时空分辨率的不均匀视频代码转换以及不同的编码格式),”IEEE Transaction on Multimedia(有关多媒体的IEEE学报),2000年6月。
应指出,这些方法以缺乏质量的减小的空间分辨率减小而产生位流,或者以高复杂度来完成。还有,没有适当考虑通过其形成被重构的宏块的装置。这均可影响质量和复杂度,并且当考虑不同于二的减小因子时是特别重要的。而且,这些方法未指定任何体系结构的细节。大部分注意力都花费在以因子二按比例缩放运动矢量的各种装置上。
图4示出用于以较低空间分辨率将输入位流代码转换为输出位流402的方法400的细节。这种方法是图1中所示方法的扩展,但是有所示解码器110和编码器120的细节,以及解码和编码过程之间的向下采样(down-sampling)块410。解码器110进行位流的部分解码。向下采样器减小部分宏块的组的空间分辨率。解码器中的运动补偿420使用全分辨率运动矢量mvf421,而编码器中的运动补偿430使用低分辨率运动矢量mvr431。低分辨率运动矢量或者从被向下采样的空间域帧yn1403被估算,或者从全分辨率运动矢量来映射。代码转换器400进一步的细节在以下被描述。
图5示出用于以较低空间分辨率将输入位流501代码转换为输出位流502的开环方法500的细节。在这种方法中,视频位流又被部分解码,即输入位流的宏块被可变长度地解码(VLD)510并被逆量化520以得到离散余弦变换(DCT)系数,这些步骤是众所周知的。然后DCT宏块通过屏蔽16×16(24×24)宏块中每个8×8(23×23)亮度(luminance)块的高频系数而以因子二被向下采样530,从而得到四个4×4DCT块,见1993年11月16日授予Ng的U.S.专利5,262,854,“Low-resolution HDTV receivers(低分辨率HDTV接收器)。”换句话说,向下采样使一组块例如四个成为一组较小尺寸的四个块。
通过在代码转换器中进行向下采样,代码转换器必须采取附加步骤以再形成顺从的(compliant)16×16宏块,其涉及变换回空间域,然后再到DCT域。在向下采样之后,块用相同的量化水平被再量化540,然后被可变长度地编码550。没有在被减小的分辨率的块上进行速率控制的已被描述的方法。
为进行从全599到被减小的561运动矢量的运动矢量映射,适合于基于帧的运动矢量的几种方法已在现有技术中被描述。为从四个基于帧的运动矢量即一组中每个宏块一个,映射到用于新形成的16×16宏块的一个运动矢量,可应用简单平均或中滤波器(median filter)。这被称为4∶1映射。
然而,某些压缩标准如MPEG-4和H.263,支持允许每个8×8块一个运动矢量的高级预测模式。在此情况下,每个运动矢量被从原始分辨率的16×16宏块映射到被减小的分辨率的宏块中的8×8块。这被称为1∶1映射。
图6示出从一组四个16×16宏块601到一个16×16宏块602或四个8×8宏块603的运动矢量的可能映射600。总使用1∶1映射是没有效率的,这是因为较多的位被用于编码四个运动矢量。还有,通常,用于交错图像的基于场的运动矢量的扩展是重要的。给定被向下采样的DCT系数和被映射的运动矢量,则数据经受可变长度编码,并且被减小的分辨率的位流可如众所周知的被形成。
需要提供一种用于对位流进行代码转换的方法,其针对空间分辨率减小而克服了现有技术方法的问题。此外,需要提供一种在代码转换器中的复杂度和质量之间的平衡。此外还需要补偿漂移,并提供在代码转换期间的较好的向上采样(up-sampling)技术。
发明公开内容一种方法补偿部分被解码的输入位流的宏块中的漂移。宏块包括内模式(intra-mode)和间模式(inter-mode)宏块,并且每个宏块包括DCT系数和至少一个运动矢量。对漂移的估算在部分被解码的输入位流中被测量。所估算的漂移被转换为内刷新率。依照该刷新率,间模式宏块的模式被映射到间模式宏块。用于每个被改变的宏块的DCT系数和运动矢量依照用于每个被改变的宏块的映射被修改。
附图简述图1为现有技术级联代码转换器的方块图;图2为用于位速率减小的现有技术开环代码转换器的方块图;图3为用于位速率减小的现有技术闭环代码转换器的方块图;图4为用于空间分辨率减小的现有技术级联代码转换器的方块图;图5为用于空间分辨率减小的现有技术开环代码转换器的方块图;图6为现有技术运动矢量映射的方块图;图7为依照本发明将位流代码转换到被减小的空间分辨率的第一应用的方块图;图8为依照本发明将位流代码转换到被减小的空间分辨率的第二应用的方块图;图9为依照本发明用于空间分辨率减小的开环代码转换器的方块图;图10为依照本发明用于有以被减小的分辨率进行漂移补偿的空间分辨率减小的第一闭环代码转换器的方块图;图11A为依照本发明用于有以原始分辨率进行漂移补偿的空间分辨率减小的第二闭环代码转换器的方块图;图11B为依照本发明用于有以原始分辨率进行漂移补偿的空间分辨率减小的第三闭环代码转换器的方块图;图12为包含宏块模式、DCT系数数据和相应运动矢量数据的一组宏块的实例;图13为依照本发明的块组处理器的方块图;图14A为依照本发明用于块组处理的第一方法的方块图;图14B为依照本发明用于块组处理的第二方法的方块图;图14C为依照本发明用于块组处理的第三方法的方块图;图15A示出在DCT或空间域中向下采样的现有技术概念;图15B为在DCT或空间域中现有技术向上采样的方块图;图15C为依照本发明在DCT域中向上采样的方块图;并且图16为依照本发明在DCT域中向上采样的图。
用于实现本发明的最佳模式简介本发明提供了一种用于以最小漂移将数字视频信号的压缩位流代码转换到被减小的空间分辨率的系统和方法。首先,可使用依照本发明的代码转换器的用于内容分布的几种应用被描述。接下来,提供了对用于以较低空间分辨率产生位流的基本方法的分析。基于这个分析,基本方法的几个可选项以及与每个可选项关联的相应体系结构被描述。
见图9,第一可选项使用开环体系结构,而其它三个可选项图10和11A-B,则对应于闭环体系结构,其提供补偿由向下采样、再量化和运动矢量截断而导致的漂移的装置。为了较好的质量,在DCT域中,闭环体系结构之一以被减小的分辨率进行这个补偿,而其它以原始分辨率进行这个补偿。
如在以下将较具体描述的,图9的开环体系结构是低复杂度的。没有重构环,没有DCT/IDCT块,没有帧存储,并且对于低画面分辨率和位速率,质量是合理的。这种体系结构适合于互联网应用和软件实施。图10的第一闭环体系结构亦为中等复杂度。它包括重构环、IDCT/DCT块和帧存储。在此,在被减小的分辨率的域中用漂移补偿可提高质量。图11A的第二闭环体系结构为中等复杂度。它包括重构环、IDCT/DCT块和帧存储。在原始分辨率的域中用漂移补偿可提高质量,并且确实需要被减小的分辨率的帧的向上采样。第三闭环体系结构使用在被减小的分辨率的域中获得的校正信号。
为支持依照本发明的体系结构,亦描述了几种附加技术,用于以被减小的分辨率用“混合”模式来处理否则将具有宏块组的块。
当欲被向下采样的块组包含以内模式和间模式两者来编码的块时,欲被向下采样的一组块例如四个,被考虑为“混合”块。在MPEG标准中,I帧仅包含依照内模式被编码的宏块,而P帧可包括内和间模式的被编码块。这些模式需要被重视,特别是当向下采样时,否则输出的质量可被降级。
还有,用于基于数据的向上采样DCT和漂移补偿的方法被描述。这些方法对第二和第三闭环体系结构是有用的,这样,向上采样之后的运算可被适当进行,而无需附加的转换步骤。
被减小的空间分辨率的代码转换的应用本发明的首要目标应用是将数字电视(DTV)广播和互联网内容分配给有低分辨率显示器的设备,如无线电话、寻呼机和个人数字助理。MPEG-2在当前被用作用于DTV广播和DVD记录的压缩格式,而MPEG-1内容在互联网上是可用的。
由于MPEG-4被用作用于在移动网络上进行视频传输的压缩格式,本发明亦涉及用于将MPEG-1/2内容代码转换为较低分辨率的MPEG-4内容的方法。
图7示出使用本发明的多媒体内容分配系统700的第一实例。系统700包括通过外部网络703被连接于客户702的自适应(adaptive)服务器701。作为特征,客户具有小尺寸显示器或者被低位速率通道连接。因此,需要减小被分配给客户702的任何内容的分辨率。
输入源多媒体内容704被存储于数据库710中。该内容经受特征提取和索引过程720。数据库服务器740允许客户702浏览数据库710的内容并请求特定内容。搜索引擎730可被用于定位多媒体内容。在所需内容被定位之后,数据库服务器740将多媒体内容转送到依照本发明的代码转换器750。
代码转换器750读取网络和客户特征。如果内容的空间分辨率比客户的显示器特征高,则依照本发明的方法被用于减小内容的分辨率以匹配客户的显示器特征。还有,如果网络通道上的位速率比内容的位速率小,本发明亦可被使用。
图8示出内容分配系统800的第二实例。系统800包括本地“家庭”网络801、外部网络703、广播网络803和如图7所述的自适应服务器701。在这个应用中,高质量输入源内容804被传输给客户805,其通过广播网络803例如电缆、地球或卫星被连接于家庭网络801。该内容由置顶盒或网关820接收并被存储到本地存储器或硬盘驱动器(HDD)830中。所接收的内容可被分配给家庭内的客户机805。另外,内容可被代码转换850以适应不具有解码/显示全分辨率内容的能力的任何客户机。当高清晰度电视(HDTV)位流被标准清晰度电视机接收时可以是这样的情况。因此,内容应被代码转换以满足家庭内的客户机能力。
而且,如果访问被存储于HDD 830上的内容是通过外部网络802被低分辨率外部客户机806所需要的,则代码转换器850亦可被用于将低分辨率多媒体内容递送给这个客户机。
基本方法的分析为了以变化的复杂度和质量来设计代码转换器,由图4的方法产生的信号被进一步描述和分析。对于方程中的符号,小写的变量表示空间域信号,而大写的变量表示DCT域中的等效信号。变量的下标表示时间,而等于一的上标表示具有漂移的信号,并且等于二的上标表示无漂移的信号。漂移通过有损过程被引入,如再量化、运动矢量截断或向下采样。用于漂移补偿的方法在以下被描述。
I-帧由于没有用于I帧的被运动补偿的预测,即,xn1=en1,---(1)]]>信号被向下采样410,yn1=D(xn1).---(2)]]>然后,在编码器120中,gn2=yn1.---(3)]]>信号gn2经受DCT 440,然后以量化参数Q2被量化450。被量化的信号cout被可变长度地编码460并被写到所代码转换的位流402中。作为编码器中运动补偿环的部分,cout被逆量化470并经受IDCT 480。被减小的分辨率的基准信号yn2481作为用于将来帧预测的基准信号被存储到帧缓冲器490中。
P帧在P帧的情况下,恒等式xn1=en1+Mf(xn-11)---(4)]]>得到被重构的全分辨率画面。同I帧的情况一样,这个信号然后通过方程(2)被向下转换。则被减小的分辨率的残余(residual)依照下式被产生gn2=yn1-Mr(yn-12)---(5)]]>其被等效地表达为gn2=D(en1)+D(Mf(xn-11))-Mr(yn-12)---(6)]]>由方程(6)给出的信号表示一基准信号,它是由本发明所述体系结构近似。应强调,产生这个基准信号的复杂度是高的并需要当获得明显的复杂度减小时近似于质量。
开环体系结构给出近似,yn-12=yn-11---(7a)]]>D(Mf(xn-11))=Mr(D(xn-11))=Mr(yn-11)---(7b)]]>方程(6)中的被减小的分辨率的残留信号被表达为gn2=D(en1).---(8)]]>上面的方程暗示了用于如图9中所示代码转换器900的开环体系结构。
在代码转换器900中,输入的位流901信号被可变长度地解码910以产生逆量化DCT系数911和全分辨率运动矢量mvf902。全分辨率运动矢量通过MV映射920被映射到被减小的分辨率的运动矢量mvr903。被量化的DCT系数911被用量化器Q1逆量化930以得到信号En1931。然后如在以下被较具体描述的,这个信号经受块组处理器1300。处理器1300的输出被向下采样950以产生信号Gn2951。在向下采样之后,信号被用量化器Q2量化960。最后,被减小的分辨率的再量化DCT系数和运动矢量被可变长度地编码970并被写给被代码转换的输出位流902。
块组处理器1300的细节和优选实施例在以下被描述,但简而言之,块组处理器的目的是处理所选组的宏块以确保向下采样过程950将不产生宏块组,在其中其子块具有不同的编码模式,例如间和内块(inter-and intra-blocks)。宏块内的混合编码模式不被任何已知的视频编码标准支持。
以被减小的分辨率进行的漂移补偿仅给出由方程(7b)给出的近似,方程(6)中被减小的分辨率的残留信号被表达为gn2=D(en1)+Mr(yn-11-yn-12)---(9)]]>上面的方程暗示了图10中所示的闭环体系结构1000,其以被减小的分辨率来补偿漂移。
在这个体系结构中,输入的信号1001被可变长度地解码1010以产生被量化的DCT系数1011和全分辨率运动矢量mvf1012。全分辨率运动矢量1012通过MV映射1020被映射以得到一组被减小的分辨率的运动矢量mvr1021。被量化的DCT系数被用量化器Q1逆量化1030以得到信号En11031。然后这个信号经受块组处理器1300的并被向下采样1050。在向下采样之后,被减小的分辨率的漂移补偿信号1051被加1060给DCT域中的低分辨率余项1052。
信号1061被用空间量化器Q2量化1070。最后,被减小的分辨率的再量化DCT系数1071和运动矢量1021被可变长度地编码1080以产生输出的被代码转换的位流1002。
被减小的分辨率的漂移补偿信号从其产生的基准帧通过再量化器余项Gn21071的逆量化1090而被获得,然后其被从被向下采样的余项Gn11052减去1092。这个差信号经受IDCT 1094并被加1095给被存储于帧存储1091中的先前宏块的低分辨率预测分量1096。这个新的信号表示差(yn-11-yn-12)1097并被用作用于对当前块进行低分辨率运动补偿的基准。
给出所存储的基准信号,低分辨率运动补偿1098被进行,并且预测经受DCT 1099。这个DCT域信号为被减小的分辨率的漂移补偿信号1051。这个运算是使用低分辨率运动矢量mvr1012的组在逐宏块的基础上进行的。
以原始分辨率进行的漂移补偿的第一方法对于近似,Mr(yn-12)=D(Mf(U(yn-12)))=D(Mf(xn-12)),---(10)]]>方程(6)中被减小的分辨率的残留信号被表达为gn2=D(en1)+Mf(xn-11-xn-12).---(11)]]>上面的方程暗示了图11中所示的闭环体系结构1100,其补偿原始分辨率位流中的漂移。
在这个体系结构中,输入的信号1001被可变长度地解码1110以得到被量化的DCT系数1111和全分辨率运动矢量mvf1112。被量化的DCT系数1111被用量化器Q1逆量化1130以得到信号En11131。然后这个信号通过块组处理器1300。在块组处理1300之后,原始分辨率的漂移补偿信号1151被加1160给DCT域中的余项1141。然后信号1162被向下采样1150,并被用量化器Q2量化1170。最后,被减小的分辨率的再量化DCT系数1171和运动矢量1121被可变长度地编码1180并被写给被代码转换的位流1102。
原始分辨率的漂移补偿信号1151从其产生的基准帧通过再量化器余项Gn21171的逆量化1190而被获得,然后其被向上采样1191。在此,在向上采样之后,被向上采样的信号被从原始分辨率的余项1161减去1192。这个差信号经受IDCT 1194并被加1195给先前宏块的原始分辨率预测分量1196。这个新的信号表示差(x1n-1-x2n-1)1197并被用作用于以原始分辨率对当前宏块进行运动补偿的基准。
给出被存储于帧缓冲器1181的基准信号,原始分辨率运动补偿1098被进行,并且预测经受DCT 1199。这个DCT域信号为原始分辨率的漂移补偿信号1151。这个运算是使用原始分辨率运动矢量mvf1112的组在逐宏块的基础上进行的。
以原始分辨率进行的漂移补偿的第二方法图11B示出图11A的闭环体系结构的可选实施例。在此,在向上采样1191之前,再量化器余项Gn21172的逆量化1190的输出被从被减小的分辨率的信号1161减去1192。
原始分辨率中的两个漂移补偿体系结构均不使用产生漂移补偿信号1151的过程中的运动矢量近似。这是通过使用向上采样1191而完成的。这两个可选体系结构主要区别在对被用于产生差信号的信号的选择上。在第一方法中,差信号表示由于再量化和分辨率转换而造成的误差,而第二方法中的差信号仅考虑由于再量化而造成的误差。
由于被向上采样的信号在将来解码被代码转换的位流时不被考虑,排除由在漂移补偿信号中连续向下采样和向上采样所测量的任何误差是合理的。然而,由于两个原因仍采用向上采样为利用全分辨率运动矢量1121以避免任何进一步的近似,并使得漂移补偿信号是以原始分辨率的并可在向下采样1150之前被加1160给输入的余项1161。
混合块处理器块组处理器1300的目的是预处理所选宏块以确保向下采样过程不产生宏块,在其中其子块具有不同的编码模式,例如,间和内块。宏块内的混合编码模式不被任何已知视频编码标准支持。
图12示出在代码转换1203之后可导致被减小的分辨率的一组块1202的一组宏块1201的实例。在此,有三个间模式块和一个内模式块。注意,用于内模式块的运动矢量(MV)为零。确定块的特定组是否为混合组仅依赖于宏块模式。块组处理器1300考虑形成被减小的分辨率的单个宏块1202的四个宏块1201的组。换句话说,对于亮度分量,MB(0)1210对应于被减小的分辨率的宏块1202中的子块b(0)1220,并且类似地,MB(1)1211将对应于b(1)1221,MB(k)1212对应于b(2)1222,而MB(k+1)1213对应于b(3)1223,其中k为原始分辨率的每行的宏块数。色度分量被以与亮度模式一致的类似方式处理。
MB组模式确定块组处理器1300是否应处理特定的MB。如果该组包含至少一个内模式块和至少一个间模式块,则块组被处理。在宏块被选择之后,其DCT系数和运动矢量数据经受修改。
图1300示出块组处理器1300的部件。对于所选组的混合块1301,块组处理器进行模式映射1310、运动矢量修改1320和DCT系数修改1330以产生输出的非混合块1302。假定块组1301被识别,则宏块的模式被修改以使所有的宏块相同。这是依照使被减小的分辨率的块中的每个子块的模式匹配的预定策略而实现的。
依照所选的模式映射,MV数据然后经受修改1320。与相应的模式映射一致的可能修改根据图14A-C在以下被具体描述。最后,给定新的MB模式和MV数据,相应的DCT系数亦被修改1330以与映射一致。
在如图14A中所示的块组处理器的第一实施例中,块组1301的MB模式通过模式映射1310被修改以成为间模式。因此,用于内块的MV数据通过运动矢量处理被复位为零,并且对应于内块的的DCT系数亦通过DCT处理1330被复位为零。以这种方式,已被转换的这种子块用来自基准帧中相应块的数据而被复制。
在如图14B中所示的块组处理器的第二实施例中,混合块组的MB模式通过映射1310被修改以成为间模式。然而,与第一优选实施例相比,用于MB内的MV数据被预测。该预测基于相邻块中的数据,其可包括结构和运动数据两者。基于这个被预测的运动矢量,所修改块的新余项被计算。最后的步骤1320将间DCT(inter-DCT)系数重设为内DCT(intra-DCT)系数。
在图14C中所示的第三实施例中,块组的MB模式被修改1310为内模式。在此情况下,没有与被减小的分辨率的宏块关联的运动信息,因此所有关联的运动矢量数据被重设1320为零。这在代码转换器中是有必要进行的,因为相邻块的运动矢量被从这个块的运动预测。为确保在解码器中的适当重构,块组的MV数据必须在代码转换器中被重设为零。如以上,最后的步骤1330产生内DCT系数以替换间DCT系数。
应指出,为实施上述第二和第三实施例,重构为全分辨率的解码环可被使用。这个所重构的数据可被用作在内和间模式或间和内模式之间转换DCT系数的基准。然而,使用这种解码环是不需要的。其它实施可在漂移补偿环内进行转换。
对于有小量运动和低水平细节的帧序列,图14A的低复杂度策略可被使用。否则,图14b或图14c的同等复杂的策略应被使用。图14c的策略提供最佳质量。
有块处理的漂移补偿应指出,块组处理器1300亦可被用于控制或最小化漂移。由于内编码块不经受漂移,间编码块到内编码块的转换减小了漂移的影响。
如图14C的第一步1350,压缩位流中的漂移量被测量。在闭环体系结构中,可依照由1092和1192产生的差信号或被存储于1091和1191中的漂移补偿信号的能量来测量漂移。计算信号的能量是众所周知的方法。所计算的能量考虑了各种近似,包括再量化、向下采样和运动矢量截断。
亦可被用于开环体系结构的计算漂移的另一方法估算由被截断的运动矢量导致的误差。已知当分辨率被减小时,原始分辨率的半像素运动矢量导致大的重构误差。全像素运动矢量不经受这种误差,这是因为它们仍可被正确地映射到半像素位置。有了这一点,测量漂移的一个可能性是记录半像素运动矢量的百分比。然而,由于运动矢量近似的影响依赖于内容的复杂度,另一个可能性是所测量的漂移为与具有半像素运动矢量的块关联的残留分量的函数。
使用差信号的能量和运动矢量数据以测量漂移的方法可被组合使用,并亦可在帧内的子区域上被考虑。考虑帧内的子区域是有利的,这是因为可识别通过漂移补偿方法而使受益最大的宏块的位置。为组合使用这些方法,通过具有原始分辨率的半像素运动矢量的宏块的漂移补偿信号或差信号的能量,漂移被测量。
如第二步,漂移的测量值被转换为“内刷新率”1351,其被用作块组处理器1300的输入。控制内编码块的百分比已在现有技术中被考虑以便编码用于误差回弹(error-resilient)传输的视频,见例如“Analysis of Video Transmission over Lossy Channels(有损信道上视频传输的分析)”Journal of Selected Areas ofCommunications(通信的所选区域的期刊),Stuhlmuller等,2000。在这个工作中,从接收器到编码器的后通道(back-channel)被假定传达由传输通道导致的损失量,并且内编码块的编码直接从源被进行以防止由在预测编码方案中丢失数据而造成的误差传播。
相比而言,本发明为已被编码的视频在被压缩的域中产生新的内块,并且从间到内模式的转换是由块组处理器1300来完成的。
如果漂移超过漂移的阈量,则图14c的块组处理器1300被调用以将间模式块转换为内模式块,在此情况下,转换是以固定且预定的内刷新率而被进行的。可选地,转换能以与所测漂移量成比例的内刷新率而被进行。还有,信号的速率失真特征可被考虑以进行被用于编码内和间块(intra and inter-blocks)的量化器和内刷新率之间的适当折中。
应指出,本发明在压缩域中产生新的内块,并且这个形式的漂移补偿可以有或没有分辨率减小而在任何代码转换器中被进行。
向下采样任何向下采样方法可依照本发明由代码转换器使用。然而,优选的向下采样方法是依照1998年11月10日被授予Sun等的U.S.专利5,855,151“Method and apparatus for down-converting a digitalsignal(用于向下转换数字信号的方法和设备)”,在此引入作为参考。
这种向下采样方法的概念如图15A中所示。一组包括四个2N×2NDCT块1501。即,组的尺寸为2N+1×2N+1。“频率合成”或过滤1510被应用于块组以产生单个2N×2NDCT块1511。从这个所合成的块,被向下采样的DCT块1512可被提取。
这个运算已使用2D运算针对DCT域被描述,但该运算亦可使用可分离的1D滤波器来进行。还有,该运算可在空间域中被完全进行。通过使用在此引入作为参考、由Vetro等提交于1998年3月6日的U.S.专利申请Sn.09/035,969“Three layer scalable decoder andmethod of deco ding(三层可按比例缩放解码器和解码方法)”中所述的方法,可得出等效的空间域滤波器。
在依照本发明的代码转换器中使用向下采样方法的优点是,宏块中子块的正确维数(dimension)可被直接获得,例如,从四个8×8 DCT块,可形成单个8×8块。另一方面,用于向下采样的另外的现有技术方法以与宏块的输出子块的所需大小不相等的大小而产生被向下采样的数据,例如,从四个8×8 DCT块获得四个4×4 DCT块。然后,需要附加步骤以构成单个8×8 DCT块。
以上滤波器是有效实施需要向上采样的图11中所示体系结构的有用部件。更一般地,在此得到的滤波器可被有或没有分辨率减小或漂移补偿而应用于需要在被向上采样的DCT数据上的数学运算的任何系统。
向上采样现有技术向上采样的任何装置可被用于本发明。然而,在如上的U.S.专利申请“Three layer scalable decoder and method ofdecoding(三层可按比例缩放解码器和解码方法)”中,Vetro等指出,最佳向上采样方法依赖于向下采样方法。因此,使用对应于向下采样滤波器xd的向上采样滤波器xu是优选的,其中两个滤波器之间的关系由以下给出xu=xdT(xdxdT)-1---(12)]]>有两个问题与从以上方程得到的滤波器关联。首先,滤波器仅可用于空间域滤波器,这是因为DCT域是不可逆的。但是,这是较小的问题,因为相应的空间域滤波器可被得出,然后被转换到DCT域。
然而,第二个问题是,以这种方式获得的向上采样滤波器对应于图15B所示的过程。在这个过程中,例如,2N×2N块1502被向上采样1520为单个2N+1×2N+1块1530。如果向上采样是完全在空间域中进行的,则没有问题。然而,如果向上采样是在DCT域中进行的,则人们有2N+1×2N+1DCT块要处理,即有一个DC分量。这对于需要是标准MB格式的被向上采样的DCT块即四个2N×2NDCT块的运算是不合适的,其中N为4。就是说,被向上采样的块具有与原始块相同的格式或维数,正好有许多它们。
在DCT域中向上采样的以上方法不适合于在本发明所述的代码转换器中使用。在图11A中,被向上采样的DCT数据从输出自混合块处理器1300的DCT数据被减去。两个块的两个DCT数据必须具有相同的格式。因此,需要可进行图15C中所示向上采样的滤波器。在此,单个2N×2N块1502被向上采样为四个2N×2N块1550。由于这种滤波器尚未被考虑并且不存在于已知的现有技术中,1D情况的表达式在以下被得出。
对于以下方程中的符号,小写的变量表示空间域信号,而大写的变量表示DCT域中的等效信号。
如图16中所示,C 1601表示欲在DCT域中被向上采样的DCT块,而c 1602表示空间域中的等效块。通过N-pt DCT和IDCT 1603的定义,两个块被相互联系,见Rao和Yip,“Discrete Cosine TransformAlgorithms,Advantages and Application(离散余弦变换算法、优点和应用)”,学院(Academic),波士顿,1990。为方便起见,该表达式亦在以下给出。
DCT定义为Cq=zq2NΣi=0N-1cicos((2i+1)qπ2N),]]>并且(13)IDCT定义为cj=2NΣq=0N-1zqCqcos((2j+1)qπ2N),---(14)]]>其中 有了以上,块E 1610表示在用Xu1611进行过滤C的基础上被向上采样的DCT块,而e表示在用由方程(12)给出的xu1621进行过滤c的基础上被向上采样的空间域块。注意,e和E通过2N-pt DCT/IDCT1630被相互联系。所过滤输入的输入输出关系由以下给出
Ek=Σq=0N-1CqXu(k,q);0≤k≤2N-1,]]>并且 (16a)ei=Σj=0N-1cjxu(i,j);0≤i≤N-1.---(16b)]]>如图16中所示,所需DCT块由A1611和B1612表示。这个推导的目的是得出可被用于直接从C分别计算A和B的滤波器Xca1641和Xcb1642。
如第一步,方程(14)被替换为方程(16b)。结果表达式是作为DCT输入C的函数的空间域输出e,其由以下给出ei=Σq=0N-1Cq[2NzqΣj=0N-1xu(i,j)·cos((2j+1)qπ2N)].---(17)]]>为使用方程(17)根据C来表达A和B,a、b和e之间的空间域关系式为ai=ei;0≤i≤N-1 (18)bi-N=ei;N≤i≤2N-1’其中以上的i表示空间域索引。a的DCT域表达式由以下给出Ak=zk2NΣi=0N-1aicos((2i+1)kπ2N).---(19)]]>使用方程(17)-(19)给出Ak=Σq=0N-1Cq[2NzkzqΣi=0N-1cos((2i+1)kπ2N)Σj=0N-1xu(i,j)cos((2j+1)qπ2N)]---(20)]]>
其被等效地表达为Ak=Σq=0N-1CqXca(k,q)---(21)]]>其中Xca(k,q)=2NzkzqΣi=0N-1cos((2i+1)kπ2N)Σj=0N-1xu(i,j)cos((2j+1)qπ2N)---(22)]]>类似地,Bk=Σq=0N-1Cq[2NzkzqΣi=0N-1cos((2i+1)kπ2N)Σj=0N-1xu(i+N,j)cos((2j+1)qπ2N)]---(23)]]>其被等效地表达为Bk=Σq=0N-1CqXcb(k,q)---(24)]]>其中Xcb(k,q)=2NzkzqΣi=0N-1cos((2i+1)kπ2N)Σj=0N-1xu(i+N,j)cos((2j+1)qπ2N).---(25)]]>然后,以上滤波器可被用于将给定大小的单个块向上采样为较大数量的块,每个都具有与原始块相同的大小。更一般地,在此得出的滤波器可被应用于需要在被向上采样的DCT数据上的数学运算的任何系统。
为实施由方程(22)和(25)给出的滤波器,应指出,每个表达式都提供了滤波器抽头(tap)的k×q矩阵,其中k为输出像素的索引,而q为输入像素的索引。对于1D数据,输出像素按矩阵乘法被计算。对于2D数据,采用两个步骤。首先,数据在第一方向例如水平方向上被向上采样。然后在水平方向上被向上采样的数据在第二方向例如垂直方向上被向上采样。向上采样的方向顺序可被颠倒,而不对结果有任何影响。
对于水平的向上采样,块中的每行可被独立地运算并被看做N维输入矢量。每个输入矢量依照方程(21)和(24)被过滤。这个过程的输出将是两个标准的DCT块。
对于垂直的向上采样,块中的每列可被独立地运算并又被看作N维输入矢量。同水平向上采样的情况一样,每个输入矢量依照方程(21)和(24)被过滤。这个过程的输出将是如图15C中所示的四个标准的DCT块。
语法转换如针对依照本发明的代码转换器的以上应用所指出的,本发明的关键应用之一是MPEG-2到MPEG-4的转换。至此,焦点主要在于当代码转换到较低空间分辨率时被用于漂移补偿的体系结构以及支持转换到较低空间分辨率的附加技术。
然而,标准编码方案之间的语法转换是另一个重要问题。由于我们相信这已由已未决的专利申请描述,我们不提供有关这个部分的任何另外的细节。
尽管本发明已通过优选实施例的实例被描述,应理解,各种其它改进和修改可在本发明的精神和范围内进行。因此,随后权利要求的目的是覆盖如在本发明真正精神和范围内的所有这样的变化和修改。
权利要求
1.一种用于补偿被部分解码的输入位流的宏块中的漂移的方法,宏块包括内模式和间模式宏块,并且每个宏块包括DCT系数和运动矢量,该方法包括测量对被部分解码的输入位流中漂移的估算;将所估算的漂移转换为内刷新率;依照该刷新率将间模式宏块的模式映射到间模式宏块;以及依照每个被改变的宏块的映射,修改每个被改变的宏块的DCT系数和运动矢量,以补偿漂移。
2.权利要求1的方法,进一步包括在量化之前和之后从DCT系数产生差信号;以及测量差信号的能量以确定对漂移的估算。
3.权利要求1的方法,进一步包括为每个被向下采样的宏块产生全分辨率漂移补偿信号;以及测量全分辨率漂移补偿信号的能量以确定对漂移的估算。
4.权利要求1的方法,进一步包括测量被截断的运动矢量中的误差。
5.权利要求1的方法,进一步包括为每个被向下采样的宏块产生全分辨率漂移补偿信号;测量全分辨率漂移补偿信号的能量以确定对漂移的估算;以及测量被截断的运动矢量中的误差。
6.权利要求1的方法,进一步包括依照预定阈进行转换。
7.权利要求1的方法,其中所述转换与对漂移的估算成比例。
8.权利要求1的方法,其中所述转换依赖于宏块的速率失真特征。
9.一种用于补偿被部分解码的输入位流的宏块中的漂移的设备,宏块包括内模式和间模式宏块,并且每个宏块包括DCT系数和运动矢量,该设备包括用于测量对被部分解码的输入位流中漂移的估算的装置;用于将所估算的漂移转换为内刷新率的装置;用于依照该刷新率将间模式宏块的模式映射到间模式宏块的装置;以及用于依照每个被改变的宏块的映射,修改每个被改变的宏块的DCT系数和运动矢量以补偿漂移的装置。
全文摘要
一种方法补偿被部分解码的输入位流的宏块中的漂移。宏块包括内模式和间模式宏块,并且每个宏块包括DCT系数和至少一个运动矢量。对被部分解码的输入位流中漂移的估算被测量。所估算的漂移被转换为内刷新率。依照刷新率,间模式宏块的模式被映射到间模式宏块。每个被改变的宏块的DCT系数和运动矢量依照每个被改变的宏块的映射而被修改。
文档编号H04N7/32GK1516975SQ0280236
公开日2004年7月28日 申请日期2002年4月30日 优先权日2001年5月11日
发明者A·韦特罗, A 韦特罗, 孙惠方, 普恩, 尹鹏, 刘必治, T·C·普恩 申请人:三菱电机株式会社