退色补偿的参数化的制作方法

文档序号:7970263阅读:316来源:国知局
专利名称:退色补偿的参数化的制作方法
技术领域
描述在视频处理应用中用于对退色补偿参数化的技术和工具。例如视频编码器根据退色参数在参考图象上进行退色补偿。
背景技术
数字视频占用大量的存储和发送能力。典型的原始数字视频序列每秒包括15或30帧。每帧能包括数万至数十万个象素(称为象元),每个象素表示图的细小单元。以原始形式,计算机通常用24数据位表示一个象素。因此,通常原始数据视频序列的每秒的位数,或位速率可以是5百万位/秒或更多。
大多数计算机和计算机网络缺乏处理原始数字视频的资源。为此原因,工程师使用压缩(也称编码)来减少数字视频的位速率。压缩能是无损的,其中质量不受影响,但由于视频的复杂性在速率方面的减少是有限的。或者,压缩可以是有损的,其中视频的质量受影响,但在位速率方面的减少是惊人的。解压缩逆转压缩。
通常,视频压缩包括帧内压缩及帧间压缩。帧内压缩技术压缩单独的帧,常称为I-帧或关键帧。帧间压缩技术参考以前帧或后续帧压缩帧,它们通常称为预计帧、P-帧、或B-帧。
微软公司的Windows Media Video,Version 8“WMV8”包括视频编码器和视频解码器。WMV8编码器使用帧内及帧间压缩,而WMV8解码器使用帧内及帧间解压缩。
A、WMV8中的帧内压缩图1示出在WMV8编码器中在关键帧中象素的块(105)的基于块的帧内压缩的例子,例如,WMV8编码器将关键视频帧分割成8×8的象素块,并对各个块应用8×8的离散余弦变换(“DCT”)(110),将8×8的象素块(105)转换成8×8块的DCT系数(115)。编码器量化(120)了DCT系数,导致量化DCT系统的8×8块(125),然后编码器使其为熵编码作好准备。
编码器将DC系数(126)编码成从被编码的块的以前编码的邻区(如相邻块(135))的DC系数(136)来的差分。该编码器熵编码该差分(140)。图1示出编码成从相邻(到左边)块(135)的左列(137)来的差分(147)的AC系数的左列(127)。余下的AC系数从量化的DCT系统的块(125)而来。
编码器将预测的量化的AC DCT系数的8×8块(145)扫描(150)成一维数组(155)并随后使用游程长度编码(160)的变化熵编码该扫描的AC系数。编码器从一个或多个游程/层/最近(rum/level/last)表(165)熵编码,并输出该熵码(170)。
B、WMV8中的帧间压缩在WMV8编码器中的帧间压缩使用基于块移动的补偿预测编码,随后是残留误差的转换编码。图2和3示出在WMV8编码器中对预测帧的基于块的帧间压缩。特别是,图2示出对预测帧(210)的移动估计而图3示出对预测帧的移动估计块的预测残留的压缩。
例如,WMV8编码器将预测帧分割成象素的8×8的块。4个8×8块的组形成宏块。对每个宏块,完成移动估计处理。移动估计近似于象素的宏块相对于如以前已编码的前一帧那样的参考帧的移动。在图2中,WMV8编码器计算在预测帧(210)中宏块(215)的移动向量。为计算此移动向量,编码器在参考帧(230)的搜索区域(235)中搜索。在搜索区域(235)中,编码器将从预测帧(210)来的宏块(215)与各种后选的宏块比较以找到很好匹配的后选宏块。在编码器找到很好匹配的宏块之后,编码器输出指定对匹配宏块的移动向量(编码的熵)的信息,使得解码器在解码过程中能找到匹配的宏块。当解码带着移动补偿的预测帧(210)时,解码器使用移动向量对采用从参考帧(230)来的信息的宏块(215)计算预测帧。宏块(215)的预测难以完美,所以解码器通常编码在预测宏块和宏块(215)本身之间的象素差(也称为误差或残留块)的8×8的块。
图3示出在WMV8编码器中误差块(335)的计算和编码的例子。误差块(335)是预测块(315)和原始当前块(325)之间的差。编码器应用DCT(340)于误差块(335),导致8×8系数块(345)。然后编码器量化(350)DCT系统,导致8×8的量化DCT系数块(355)。量化步长是可调节的。量化导致精确损失,但不完全损失系数的信息。
然后编码器使8×8的量化DCT系数块(335)为熵编码化好准备。编码器将8×8的块(355)扫描成64元素的一维数组(365),使得系数通常从最低频排序到最高频,这通常建立零值的长游程。
编码器使用游程长度编码(370)的变种熵编码该扫描的系数。编码器从一个或多个游程/层/最后表(375)中选择熵码并输出该熵码。
图4示出对帧间编码(inter-coded)的块的对应解码过程(400)的例子。由于DCT系数的量化,重构的块(475)不同于对应的原始块。压缩是有损的。
综观图4,解码器使用带一个或多个游程/层/最后表(415)的可变长度解码(410)和游程长度解码(420)解码(410,420)表示预测残留的熵编码信息。解码器逆向扫描(430)一维数组(425)将熵解码信息存入二维块(435)。解码器逆向量化并逆向离散余弦变换(一起,440)数据,导致重构的误差块(445)在分别的移动补偿路径中,解码器使用对于从参考帧的位移的移动向量信息(455)计算预测块(465)。解码器将预测块(465)与重构误差块(445)相结合(470)以形成重构的块(475)。
在原始的和重构的帧之间的改变量称为失真,编码帧所需要的位数称为对帧的速率。失真的量粗略地反比于速率。换言之,用更少的位编码一个帧(更大的压缩)导致更大的失真,反之亦然。
C、传统的基于移动的视频压缩的局限性带有如退色、幻影化、和混合效果的视频序列需要相当大量的数据位去编码,因为传统基于移动的视频压缩方法通常对那样的帧不起作用。例如,考虑一个视频序列,其中一帧中的一个对象从一帧到下一帧在一个方向上稍有移动。在通常的块一匹配移动估计技术中,在没有退色的视频序列中对在当前帧中的一个块找到在以前帧中的匹配,并编码最终的移动向量可能是简单的事情。但是例如若“退色到黑”发生在视频序列中,在当前帧中的每个亮度值可以相对于前一帧改变,使得视频编码器不能对该块找到很好的匹配。退色也能由于自然的亮度变化发生在序列中。如混合和幻影化那样的其他渐变效应也降低了直接移动估计/补偿的有效性。
D、视频压缩和解压缩的标准除WMV8之外,若干国际标准关系到视频压缩和解压缩。这些标准包括Motion Picture Experts Group“MPEG”1、2、和4标准以及从InternationalTelecommunication Union“ITU”来的H.261、H.262、和H.263标准。类似WMV8,这些标准使用帧内及帧间帧间压缩的组合,虽然该标准通常在所使用的压缩技术的细节上不同于WMV8。例如,H.263标准的附录P描述了Reference Picture Resampling方式(参考图形重采样方式),用于在编码期间适当地改变图形的分辨率的预测。
给出对数字视频的视频压缩和解压缩的关键的重要性,不令人惊讶地感到,视频的压缩和解压缩有很大发展余地。无论以前的视频压缩和解压缩技术有多少益处,但是他们没有下列技术和工具的优点。

发明内容
视频压缩的一个目的是改善速率一失真的性能-换言之,使用较少的位得到同样的质量,或使用同样的位数达到更高的质量。达到此目标的一个方法是识别出需要相当大量的位来编码的视频序列的部分,并随后找到更好压缩那些部分的方法。带有如退色、幻影化、和混合效果的视频序列的部分是不常见的,但当发生时需要大量的位来编码,因为传统的基于移动视频压缩方法通常在那些部分无效。
因而,总之,详细的描述针对改善对视频序列的速率-失真的性能的各种技术及工具。那些视频序列包括渐强显示、渐弱显示、交叉退色或其他退色、混合或幻影化效果。例如,视频编码器通过根据退色参数调节参考帧实现对当前帧的退色补偿。这使得更有效地使用参考帧作移动补偿。视频解码器通过调节参考帧实现退色补偿。尤其是详细的描述提及参数化参考帧调节的有效方法。
在第一组技术和工具中,视频编码器或解码器获得包括缩放参数和移位参数的退色参数。视频编码器或解码器通过重映射在参考视频图象(如帧、域、或对象平面)中的象素值(如色度或亮度值),借助退色参数进行退色补偿,那些参数可以使用诸如固定长度或可变长度码被编码。例如,退色参数指定象素范围的线性变换,包括使用缩放参数的缩放象素值(如色度或亮度值)。在某些情况中,象素范围的线性变换还包括使用移位参数移位被缩放的象素值。视频编码器或解码器对相对于重映射的参考视频图象的当前视频图象的至少一部分进行移动补偿。
在第二组技术和工具中,视频编码器或解码器获得包括缩放参数和移位参数的整体亮度改变补偿参数。视频编码器或解码器通过重映射对一个参考视频帧的所有象素值,借助整体亮度改变补偿参数,进行整体亮度改变补偿。视频编码器或解码器对相对于重映射的参考视频帧的当前视频帧的至少一部分进行移动补偿。
各种技术和工具可以组合地或单独地使用。不同实施例实施一个或多个所描述的技术和工具。
从下面参考附图对不同实施例的描述,另外的特征和优点将变得一清二楚。


图1是示出按以前技术的基于块的帧内压缩的原理图。
图2是示出按以前技术在视频编码器中移动估计的原理图。
图3是示出按以前技术基于块的帧间压缩的原理图。
图4是示出按以前技术基于块的帧间解压缩的原理图。
图5是能实现若干所述诸实施例的合适的计算环境的原理框图。
图6是用于若干所述实施例的普通的视频编码器系统的原理框图。
图7是用于若干所述实施例的普通的视频解码器系统的原理框图。
图8是流程图,示出使用退色估计和补偿编码视频的技术。
图9是流程图,示出使用退色补偿解码经编码的视频的技术。
图10是能实现退色估计和补偿的视频编码系统的原理框图。
图11是能实现退色补偿的视频解码系统的原理框图。
图12是流程图,示出用于退色估计和参数提取的技术。
图13是示出发信号方案的图表,用于指出对一个帧是否使用退色补偿。
具体实施例方式
描述的实施例涉及退色估计和/或补偿的技术和工具。没有退色补偿/估计功能,具有如退色、幻影化、和混合现象的视频序列需要相当大量的数据位来编码,因为传统的基于移动的视频压缩方法在那样的帧上一般不起作用。描述的实施例通过在那样帧中做出退色估计/补偿改善速率-失真性能。各种实施例涉及用于估计、应用、编码和/或解码整体亮度改变参数的技术和工具。
在某些实施例的退色补偿包括对一个或多个参考帧作出整体亮度改变,它们可以是一帧、一帧的一部分(如帧中的单独块或宏块或帧中的一组宏块)、或要编码或解码的另外特定部分。然后通过从被调节的一个或多个参考帧来的移动估计/补偿预测当前帧。另外,退色补偿包括整体改变到参考帧,以补偿如混合或幻影那样的现象。通常,退色补偿包括对退色(即退色到黑或从黑色退色)、混合、幻影化或其他影响象素值强度的自然或合成光照效果的补偿。然而,不失一般性,除非上下文另作明确表示,术语整体亮度改变及退色在这里可交换地使用。
除了在帧上完成退色补偿,某些实施例在域、对象层或其他图象上完成退色补偿。
在某些实施例中,通过在YUV颜色空间中调节参考帧在亮度和色度通道中的值发生退色补偿。调节包括缩放及移位亮度象素值和缩放及移位色调象素值。另外,颜色空间可以不同(如YIQ或RGB)和/或补偿可使用其他调节技术。
编码器/解码器在逐帧的基础上完成退色估计/补偿。另外,编码器/解码器可在某个另外基础上,或在诸如一个或多个块或宏块的部分上实现退色估计/补偿。
各种技术和工具可以组合地或单独地使用。不同的实施例采用一个或多个所述技术和工具。虽然出于表示目的,通常以特定的顺序次序来描述这些技术的操作,应该理解,描述的方式包含在操作次序中的次要的重排序,除非需要特定的排序。例如,在某些情况顺序描述的操作能重排序或同时执行。此外,为简单起见,流程图通常不示出特定技术能结合其他技术使用的各种途径。
在某些实施例中,视频编码器和解码器使用位流中的各种标志及信号。虽然叙述了特定标志及信号,应明白,此描述方式包括对标志和信号的不同传统(如0而不是1)。
I.计算环境图5示出能实现若干所述实施例的合适的计算环境(500)的普通的例子。该计算环境不试图作为使用或功能范围的任何限制,因为技术和工具能在各种通用或特定计算环境中实现。
参考图5,计算环境(500)包括至少一个处理单元(510)和存储器(520)。在图5中,最基本的配置(530)包括在虚线之中。处理单元(510)执行计算机可执行指令,并且可以是真实的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令,以增加处理能力。存储器(520)可以是易失存储器(如寄存器,缓冲器,RAM)、非易失存储器(如ROM,EEPROM,闪存等等),或两者的组合。存储器(520)存储软件(580),用于实现如视频编码器或解码器那样的编码器或解码器。
计算环境可具有另外特征。例如,计算环境(500)包括存储器(540)、一个或多个输入设备(550)、一个或多个输出设备(560)和一个或多个通讯连接(570)。如总线、控制器或网络等互联机构(未示出)互联该计算环境(500)设备部件。通常,操作系统软件为在该计算环境(500)中执行的其他软件提供运行环境,并协调计算环境(500)各部件的活动。
存储器(540)可以是可拆卸或不可拆卸的,并且包括磁盘、磁带或盒带、CD-ROM、DVD或任何其他能用于存储信息并在该计算环境(500)中被访问的其他介质。存储器(540)存储实现编码器或解码器的软件的指令。
输入设备(550)可以是诸如键盘、鼠标、笔或跟踪球等接触输入设备,语音输入设备,扫描设备,或另外向计算环境(500)提供输入的设备。对声频或视频编码,输入设备(550)可以是声卡、视频卡、TV调谐卡或以模拟或数字方式接收声频或视频输入的类似设备,或者是将声频或视频样本读入计算环境(500)的CD-ROM或CD-RW。输出设备(560)可以是显示器、打印机、扬声器、CD-写入器或从计算环境(500)提供输出的其他设备。
通讯连接(570)能够通过一通讯介质与另一个计算实体通信。通讯介质传递信息,诸如计算机可执行指令、声频或视频输入或输出,或以调制数据信号方式的其他数据。调制数据信号是那样的信号,它的一个或多个特征以在信号中编码信息的方式而设置或改变。作为例子,通讯介质包括用电、光、RF、红外、声频或其他载体实现的有线或无线技术,但不限于这些。
技术和工具能以计算机可读介质的一般情况来描述。计算机可读介质是任何在计算环境中能访问的可用介质。作为例子,对计算机环境(500),计算机可读介质包括内存(520)、存储器(540)、通讯介质和上述的任何组合,但不限于这些。
技术和工具能以计算机可执行指令的一般情况描述,诸如包括在程序模块中的那些指令,这些指令在一目标真实的或虚拟的处理器上并在一计算环境中执行。通常,程序模块包括例行程序、程序、库、对象、类、组体,数据结构等,它们完成特定任务或实现特定抽象数据类型。在各种实施例中,程序模块的功能在程序模块之间按需要分割或组合。程序模块的计算机可执行指令能在当地的或分布式计算环境中执行。
为表示方便,详细描述使用术语“估计”,“信号”,“编码”,“解码”来描述在计算机环境中的操作。这些术语对由计算机完成的操作是高级抽象,应不会和人完成的动作混淆。对应于这些术语的实际计算机操作根据实现而变化。
II.普通的视频编码器和解码器图6是普通的视频编码器(600)的原理框图,图7是普通的视频解码器(700)的原理框图。
所示在编码器和解码器中各模块之间的关系指出了在编码器和解码器中的主要信息流,为简单起见未示出其他关系。尤其是,图6和7通常不示出提示用于视频序列、帧、宏块和块等的编码器设置、模式和表格等等周边信息。那样的周边信息通常在对周边信息作熵编码之后在输出位流中发出。输出位流的格式可以是Windows Media Video格式或其他格式。
编码器(600)和解码器(700)是基于块的,并使用4:2:0宏块格式,其中每个宏块包括4个亮度8×8亮度块(时常处理成一个16×16宏块)和2个8×8色度块。另外,编码器(600)和解码器(700)可以是基于对象的,使用不同的宏块或块的格式,或者对具有不同于8×8块及16×16宏块的尺寸与配置的象素组完成操作。
根据所需的实现和压缩类型,能对编码或解码模块进行加入,忽略,分割成多个模块,与其他模块组合,和/或用类拟模块替代。在另选实施例中,带不同模块和/或其他模块配置的编码器及解码器实现一个或多个所述技术。
A.视频编码器图6是普通视频编码系统(600)的原理框图。编码器(600)接收包括当前帧(605)的一系列视频帧,并产生压缩的视频信息(695)作为输出。特定的视频编码器实施例通常使用普通编码器(600)的变种或补充版本。
编码器系统(600)压缩预测帧及关键帧。为便于表示,图6示出关键帧通过编码器系统(600)的路径和前向预测帧的路径。编码器系统(600)的许多部件被用于压缩关键帧和预测帧。由那些部件完成的确切操作可根据要压缩的信息的类型而变化。
预测帧[也称为双向预测的p-帧,b-帧,或编码之间帧]借助对一个或多个其它帧的预测(或差)来表示。预测残留是预测帧和原始帧之间的差。相反,关键帧[也称i-帧,编码内部帧]在不参考其它帧的情况下被压缩。
若当前帧(605)是前向预测帧,移动估计器(610)估计当前帧(605)的宏块或其他象素组相对于参考帧的移动,参考帧是缓存在帧存储器(620)的重构的以前帧(625)。在另外的实施例中,参考帧是后续帧,或当前帧被双向预测。移动估计器(610)将诸如移动向量那样的移动信息(615)作为周边信息输出。移动补偿器(630)将移动信息(615)应用到重构的以前帧(625)以形成移动补偿当前帧(635)。然而,预测难以完美,在移动补偿当前帧(635)和原始当前帧(605)之间的差是预测残留(645)。另外,移动估计器和移动补偿器应用另外类型的移动估计/补偿。
频率转换器(660)将空间域视频信息转换成频率域(即,频谱)数据。对基于块的视频帧,频率转换器(660)将离散余位转换[“DCT”]或DCT的变化应用到移动预测残留数据的块,产生DCT系数块。另外,频率转换器(660)应用诸如傅立叶变换那样的另外传统频率变换,或使用子波或子波段分析。在某些实施例中,频率转换器(660)将频率转换应用到用于关键帧的空间预测残留块。频率转换器(660)能应用8×8、8×4、4×8或其他大小的频率转换。
然后,量化器(670)量化频谱数据系数的块。量化器将均匀的标量的量化应用于步长逐帧变化或根据其他变化的谱数据。另外,量化器将另外类型的量化应用于谱数据系数,如非均匀的、向量的、或非适应性量化,或者在不使用频率转换的编码系统中直接量化空间域数据。除了适应的量化,编码器(600)可以使用帧丢失(frame dropping),适应的滤波,或用于速率控制的其他技术。
当需要重构的当前帧用于后续的移动估计/补偿时,逆向量化器(676)对量化的谱数据系数完成逆向量化。然后逆向频率转换器(666)完成频率转换(660)的逆向操作,产生重构的预测残留(对预测帧)或重构的关健帧。若当前帧(605)是关键帧,将重构的关键帧取作重构的当前帧(未示出)。若当前帧(605)是预测帧,重构的预测残留被加到移动-补偿当前帧(635),以形成重构的当前帧。帧存储(620)缓存了重构的当前帧,用于预测下一个帧。在某些实施例,解码器应用解块(deblocking)滤波器到重构帧,以适应地平滑帧的块中的不连续性。
熵编码器(680)压缩了量化器(670)的输出和某些周边信息[如移动信息(615),量化步长]。典型的熵编码技术包括算术编码、差分编码、Huffman编码、游程长度编码、LZ编码、词典编码和上述的组合。熵编码器(680)通常对于不同类型的信息(如DC系数,AC系数,不同类型的周边信息)使用不同编码技术,并能从特定编码技术中的多个编码表中进行选择。
熵编码器(680)将压缩的视频信息(695)放入缓存器(690)。缓存级指示器被反馈给位速率适应的模块。压缩的视频信息(695)从缓存器(694)以定常或相当定常的位速率流出,并对后续的流,以此位速率存储。另外,编码器系统(600)在压缩后立即流出压缩的视频信息。
在缓存器(690)的前后,压缩的视频信息(695)可以被通道编码,用于在网络上发送。通道编码能将误差检测和校正数据应用于压缩的视频信息(695)。
B.视频解码器图7是普通视频解码器系统(700)的原理框图。解码器系统(700)接收用于压缩的视频帧序列的信息(795),并产生包括一重构帧(705)的输出。视频解码器的特定实施例通常使用普通解码器(700)的变种或补充版本。
解码器系统(700)解压缩预测帧和关键帧。为便于表示,图7示出用于关键帧通过解码系统(700)的路程以及用于前向预测帧的路径。许多解码器系统(700)的部件被用于解压缩关键帧和预测帧。由那些部件完成的确切操作可根据要压缩的信息类型而变化。
缓存器(790)接收用于压缩的视频序列的信息(795),并使接收的信息对熵解码器(780)可用。缓存器(790)通常以随时间相当恒定的速率接收信息,并包括抖动(jitter)缓存器,以平滑在带宽或发送中的短促变化。缓存器(790)可包括回放缓存器和其他缓冲器。另外,缓存器(790)以变化的速率接收信息。在缓存器(790)前后,压缩的视频信息可被通道解码,并被处理以用于误差检测及校正。
熵解码器(780)熵解码经熵编码的量化数据以及熵编码的周边信息(如移动信息(715)、量化步长),通常应用在编码器中实现的熵编码的逆向操作。熵解码技术包括算术解码、差分解码、Huffman解码、游程长度解码、LZ解码、词典解码和上述的组合。熵解码器(780)频繁地对不同类型的信息(如DC系数、AC系数、不同类型的周边信息)使用不同的解码技术,并能从特定解码技术的多个编码表中进行选择。
若要重构的帧(705)是前向预测帧,移动补偿器(730)将移动信息(715)应用到参考帧(725),以形成要重构的帧(705)的预测(735)。例如,移动补偿器(730)使用宏块移动向量寻找在参考帧(725)中的宏块。帧缓存器(720)存储以前重构的帧,用作参考帧。另外,移动补偿器能应用其他类型的移动补偿。由移动补偿器作出的预测难以完美,所以解码器(700)也重构预测残留。
当解码器需要重构帧以用于后续的移动补偿时,帧存储器(720)缓存重构的帧,用于预测下一帧。在某些实施例中,编码器将解块滤波器应用于重构的帧,以适应地平滑帧的块中的不连续性。
逆向量化器(770)逆向量化熵解码数据。通常,逆向量化器将均匀的标量逆向量化应用于步长逐帧变化或根据其他而变化的熵解码数据。另外,逆向量化器应用其他类型的数据逆向量化,例如,非均匀的、向量的、或非适应性量化、或在不使用逆向频率转换的解码系统中直接逆向量化空间域数据。
逆向频率转换器(760)将量化的频率域数据转换成空间域视频信息。对基于块的视频帧,逆向频率转换器(760)将逆向DCTIDCT,或IDCT的变化应用于DCT系数的块,产生移动预测残留数据。另外,频率转换器(760)应用另外传统的逆向频率转换(如傅立叶变换)或使用子波或子频带综合。在某些实施例中,逆向频率转换器(760)将逆向频率转换应用到关键帧的空间预测残留块。逆向频率转换器(760)能应用8×8,8×4,4×8或其他大小的逆向频率转换。
III、整体亮度改变估计/补偿某些描述的实施例包括用于估计、应用、编码和/或解码由少量参数描述的整体亮度改变。该工具与技术允许重构视频的主观和客观质量在更低的位速率达到。每个单独的工具或技术实现下列中一个或多个1)整体亮度改变补偿方案;2)整体亮度参数的参数化;3)计算上有效地估计/提取整体亮度参数;4)低代价地对带整体亮度改变的帧发信号通知;和5)低代价地对整体亮度参数发信号通知。对一个帧、一个域、帧/域的一部分(诸如单独块、单独的宏块、或宏块组)、或图象的另外特定部分而言,亮度改变可以是整体的。虽然下面描述谈到在整个帧上亮度改变的参数化和补偿,亮度改变补偿的相同框架也可被用于(a)判定在图象一部分(如单独块或宏块)存在退色,(b)计算在此部分内的退色参数,和(c)参数化及发送这些用于图象的给定部分的退色参数。这些技术可重复用于图象的多个部分。
整体亮度改变(也称为“退色”)可以是视景的亮度和/或对比度的改变。通常,改变是线性的,但退色也可被定义为包括在同一框架内的任何平滑的非线性映射。退色、幻影化和混合广泛地被用于建立视频内容,以便平滑在视景迁移中视频帧的演变,并提供特殊效果。而且,某些序列由于亮度的改变自然地展现出退色。带有诸如退色、幻影化和混合效果的视频帧需大量数字位以使用传统的基于移动的视频压缩方法进行编码,那通常对那样帧是不可行的。
A、整体亮度改变补偿方案图8示出使用整体亮度改变补偿编码视频的技术(800)。如图6所示的编码器(600)那样的编码器能实现该技术(800)。
首先,编码器检验在诸如视频序列中编码的当前帧那样的要编码的帧中的退色(801)。若编码器检测到该帧的退色(810),编码器获得退色参数。例如,编码器如下面章节C中所述的检测到退色并获得退色参数。或者,编码器使用不同技术检测退色和/或获得参数。编码器发信号通知退色补偿是打开或是关闭,若是打开则信号发信号通知退色参数。
若对该帧检测到退色,则如下面章节B所述的,编码器对该帧(830)在一个或多个参考帧上实现退色补偿。当编码器在多个参考帧上完成退色补偿时,这些多个参考帧可以是要编码帧之前或之后的(以回放的次序)。编码器发信号通知,从多个参考帧的哪一个来补偿要编码的哪部分。对此信号通知,编码器可使用在那样系统中已经用于参考帧选择的信号通知。在某些实施例中,编码器可既使用原始参考帧,又使用在移动估计/补偿中的重映射参考帧于要编码的帧。例如,编码器这样做可编码既有退色内容又有未退色的当前帧。
退色补偿后,编码器使用从调节的参考帧来的移动估计/补偿来编码该帧(840)。若编码器未检测到退色,编码器在不获得退色参数或不完成退色补偿的情况下编码该帧(840)。当编码做完(850),过程结束。
图9示出使用退色补偿来解码已编码的视频的技术(900)。如图7所示的解码器(700)能实现该技术(900)。
首先,解码器检验(910)对要解码的帧退色是否已打开或关闭。完成此检验的一个方法是校验由编码器发出的信号信息。若解码器判定对该帧退色是打开的(910),则解码器完成退色补偿(920)。例如,解码器得到由编码器送出的退色参数并对要解码的帧在一个或多个参考帧上完成退色补偿(如在编码中那样)。
然后解码器使用如从调节的参考帧来的移动补偿对帧(930)进行解码。若退色关闭,解码器解码该帧(930)而不完成退色补偿。当解码完成(940),过程结束。
图10示出用于完成整体亮度改变补偿的示例性编码器框架(1000)。在此框架(1000)中,编码器使用由退色估计获得的参数有条件地重映射参考帧。当编码器以经过帧的很好程度的可靠性与一致性检测到退色,解码器完成重映射或退色补偿。否则退色补偿是等同操作(即输出=输入)。
参考图10,编码器使用退色检测模块(1030)将当前帧(1010)与参考帧(1020)进行比较,以判定是否发生退色。在某些实施例中,参考帧是视频序列中在当前帧之前的帧。另外,参考帧可以是早于以前帧或在当前帧之后。当使用多个参考帧时,解码器能检验每个参考帧中的退色。编码器根据退色检测的结果产生“退色打开”或“退色关闭”信号(1040)。
若退色打开,退色估计模块(1050)根据对当前帧(1010)和参考帧(1020)完成的计算估计退色参数(1060)(在下面章节C中讨论某些实施例中退色估计的细节)。
退色补偿模块(1070)使用退色参数(1060)来重映射参考帧(1020)(或者多个参考帧)。然后编码器可使用其他编码器模块(1080)(如移动估计和补偿、频率转换器和量化模块)来压缩该帧。编码器输出定义编码的当前帧(1010)的移动向量,残留和其他信息(1090)。除了从用平移移动向量的移动估计/补偿以外,对整体亮度改变补偿的框架可应用于各种基于移动补偿的视频编码解。
图11示出用于实现整体亮度改变补偿的示例性解码器框架(1100)。解码器产生经解码的当前帧(1110)。为解码经编码的退色一补偿的帧,解码器使用退色补偿模块(1130)在以前解码的参考帧(1120)上(或者多个参考帧)完成退色补偿。
若退色打开/关闭信号(1140)指出,对编码的当前帧(1110)退色是打开,解码器在参考帧(1120)上完成退色补偿。解码器通过使用在退色估计期间获得的退色参数(1150)完成退色补偿(如在编码器那样)。否则(若对当前帧退色被关闭),退色补偿是等同操作(即输出=输入)。
然后解码器能使用其他解码器模块(如移动补偿、逆向频率转换和逆向量化模块)采用由编码器提供的移动向量、残留和其他信息(1170)来解压缩经编码的帧。
B、参数化和补偿在视频编辑中,有时借助应用简单的象素范围的到亮度和色度通道的线性转换实现合成的退色。相似地,交叉-退色有时被实现为成分随时间改变的的两个视频序列的线性和。因而在某些实施例中,如图10的框架(1000)示出的编码器将退色(不论是自然的或合成的)参数化成象素范围的线性转换,并将交叉-退色参数化成线性和,而如在图11的框架(1100)中所示的解码器完成对应转换。
令I(n)是帧n处的图象,而I(n-1)是在前一帧的图象。在移动小的地方,通过在等式1中的一阶关系模型化简单的退色(由于在视频序列中的可能移动,等式1的关系是近似的。)I(n)≈CI(n-1)+B (1)其中退色参数B和C分别对应于辉度和对比度。当发生非线退色时,第一阶分量通常考虑基本的改变。
从一个图象系列U(n)到一个图象系列V(n)的交叉退色能借助等式2的关系而模型化。等式2中的关系是近似的,因为在序列中可能有移动。
I(n)≈αnV+(1-αn)U≈I(n-1)+α(V-U)
=(1-α)I(n-1)n≈0(1-α)I(n-1)n≈1/α---(2)]]>n≈0表示交叉-退色的开始,n≈1/α表示交叉退色的结束。对延伸若干帧的交叉退色,α是小的。在交叉-退色起点,若n帧接近于n-1帧的衰减(对比度<1)版本。趋向终点,第n帧是第n-1帧的放大(对比度>1)版本。换言之,在交叉-退色的起点,第n帧能模型化成第n-1帧乘以对比度值1-α,而在交叉-退色的终点。第n帧能模型化成第n-1帧乘以对比度值1+α。等式2示出,在交叉-退色的起点和终点,编码器可通过使用线性规则(如在下面等式3和4中所示)重映射参考帧(如n-1帧)来获得第n帧。
编码器通过重映射参考帧完成整体亮度改变的补偿。编码器在逐个图素的基础上或在某些其他基础上重映射参考帧。原始的未重映射的参考帧基本上被舍弃(虽然在多参考帧的情况,未重映射的参考帧也可被使用)。
根据等式1,下面的线性规则借助两个参数B和C(对应于视景的辉度和对比度)将参考帧R的亮度值映射到重映射的参考帧 R^≈CR+B---(3)]]>参考帧的亮度值用对比度缩放(或“加权”)并用辉度值移位(即加上偏移量)。对色度,重映射遵照下列规则R^≈C(R-μ)+μ---(4)]]>其中μ是色度值的均值。在一个实施例中,128认为是色度值的无符号8位表示的均值。此色度重映射的规则不使用辉度分量。
在某些实施例中,在等式3和4中使用的二参数线性重映射扩展到高阶项。例如,等式5是重映射R的亮度值到 的二阶等式R^≈C1R2+C2R+B---(5)]]>其他实施例使用其他重映射规则。在重映射规则的一个类别中,对非线性退色,线性映射由非线性映射替代。
C、退色参数的估计退色估计是在编码过程期间计算退色参数的过程。如在图10的框架(1000)中示出的编码器能在编码过程中计算辉度(B)和对比度(C)参数。
在某些实施例中,为了精确地并以立即方式估计参数,编码器使用图12中示出的技术(1200)。在图示的技术中,只分析亮度通道。另外,当有更多计算资源可用时,编码器在分析中包括色度。例如,解码器在等式3和4(不只是等式3)对C求解,使C更可靠。
在图12中示出的实施例中,在退色估计过程中视景的移动是被忽视的。这是基于下列观察(a)退色和交叉退色通常发生在静止或低移动的视景,和(b)在高运动视景中对整体亮度改变补偿的效用是很低的。另外,解码器对退色参数和移动信息联合地求解。然后使用移动信息在技术(1200)的较后的阶段或在某些其他时间细化退化参数的精确度。使用移动信息的一个方法是在退色估计计算中忽略参考帧中移动被检测的那些部分。
在技术(1200)的各种部分,∑abs(I(n)-R)或 的绝对误差之和作为判定退色的存在和参数的量度。另外,编码器可使用其他或附加的量度,如在同一误差项上的平方误差和“SSE”或均方误差“MSE”,或者编码器使用不同的误差项。
在技术(1200)期间的各个点上,编码器在满足退出条件后能结束技术(1200)。图12示出若干退出条件。对于另外的退出条件(图12中未示出),编码器在技术(1200)的开始及中间阶段检验对比度参数是否接近1(在一个实施例中,99<C<1.02)若是,结束该技术。
编码器通过间隔采样当前帧和参考帧(1210)开始过程(1200)。在一个实施例中,解码器用因子4水平和垂直地间隔采样。另外,编码器能用任何因子间隔采样,或完全不间隔地采样。
然后编码器在当前帧和参考帧的低分辨率版本上(由下标d指出)计算绝对误差和∑abs(Id(n)-Rd)(1220)。绝对误差和测量在间隔采样当前帧和间隔采样参考帧之间的象素值的差。若该绝对误差和小于某个阈值(1230)(如在间隔采样的当前帧和参考帧的象素的亮度值之间预定的差值量度),编码器得出结论,未发生退色,并且不进行退色补偿(1235)。
另外,编码器估计亮度(B)和对比度(C)参数(1240)。对B和C的第一截断估计借助Rd由模型Id(n)获得。在一个实施例中,亮度和对比度通过整个间隔采样帧的线性回归分析而获得。在另外实施例中,编码器为了更可靠的分析使用其他形式的统计分析,如整体最小平方、最小平方均值等。例如,解码器最小化误差项Id(n)-Rd的MSE或SSE。在某些情况,MSE和SSE不可靠,所以编码器还测试用于该误差项的绝对误差和。编码器舍弃用于特定点(可能由于移动而非退色)的高误差值。
然后编码器通过量化及解量化B和C计算Bf和Cf(1250)。第一截断参数被量化及解量化,给出Bf和Cf,以保证它们落入允许的范围,并测试一致性。在某些实施例中,对通常8位深度的成象,B和C每个量化到6位。B取从-32到31的整数值,表示成有符号的5-位整数。表示成Cq的C的量化值从0.515625以0.015625(1/64)的相同步长变化到1.484375,对应于1到63的量化值。通过将B和C舍入到最近的有效解量化值,并选取合适的二进制索引而完成量化。
然后编码器计算原始的有界绝对误差和(SOrgBnd)以及重映射的有界绝对误差和(SRmpBnd)(1270)。在某些实施例中,编码器使用拟合优良度分析计算这些和。对于在原始分辨率处随机的或伪随机的图素组,编码器计算重映射的有界绝对误差和∑babs(I(n)-CfR-Bf),其中对某个界限M,babs(x)=min(abs(x),M)。在一个实现中,M是要编码的帧的量化参数的倍数。当量化参数是粗略的,界限M较高,当量化参数是精确的,它较低。编码器还累计原始有界绝对误差和∑babs(I(n)-R)。若计算资源足够,编码器可计算整个帧上的有界误差和。
然后,根据原始的和重映射的有界绝对误差和的相对值,编码器判定是否使用退色补偿(1280)。例如在某些实施例,编码器不进行退色补偿,除非重映射有界绝对误差和小于或等于原始有界绝对误差和的某个阈值百分比σ。在一个实现中,σ=0.95。若编码器执行退色补偿,这次根据满分辨率下在I(n)和R之间的线性回归分析,编码器重新计算退色参数(1290)。为节省计算时间,编码器能在帧的随机或伪随机采样上进行重复线性回归分析。而且为了更可靠的分析,编码器能另选地使用其他形式的统计分析(如总的最小平方、最小平方均值等)。当编码完成(1295),过程结束。
在一个实施例中,编码器允许在等式3和4中C=-1的特殊情况。此特殊情况用位流中Cq=0发信号。在此“逆向”方式,在发生移位B之前反转参考帧,而B的范围是以相同步长2从193到319。
D、信号通知如图10的框架(1000)所示的编码器发送退色打开/关闭信号信息和退色参数。如图11的框架(1100)所示的解码器接收信号信息和退色参数。
在某些实施例中,在序列级上,编码器发送一位,指示整体亮度改变补偿是否被使能,以用于该序列。编码器还能信号通知在帧级上的整体亮度改变和/或信号通知对一部分帧(如帧中单独块或宏块)的整体亮度改变。
在通常的视频序列的帧中,整体亮度改变或退色的发生是少见的。可能通过增加一位来信号通知退色(或等价地,不存在退色)。例如,编码器能通过使用一位来信号通知在帧级上退色(或等价地,不存在退色)。然而,与其他信息一起信号通知退色(或等价地,不存在退色)更为经济。例如,编码器使用用于移动方式的可变长度码(VLC)中的换码序列(即,移动向量的数量和配置,子象素内插方案)完成帧级的信号通知。在那样的实施例中,编码器连带地信号通知最少见的移动方式和退色补偿的激活。
令事件F表示存在退色,G表示对该帧挑选最少见的移动方式。令VLC<MVMODE>表示当G为假时的移动方式。VLC表被设计成带有当F和/或G为真时用于信号通知的换码符号<ESC>。表1示出F和移动方式的联合编码,其后是当退色补偿被激活时的退色参数B和C。

表1最少见移动方式和退色信号的联合编码若对某个帧激活整体亮度改变,另外的VLC(<MVMODE>或<ESC>)接着指出移动方式。然后,使用用于B和C的二个6位固定长码字,分别发信号通知这些参数。另外,使用VLC信号通知参数。当应用于如块或宏块那样的帧的单独部分,编码器能对那部分单独地信号通知退色参数。例如,若退色只应用于视频帧的一个宏块,退色信息能与诸如编码块样式或转换类型那样的宏块级信息一起通过联合熵编码被作为信号通知发出。
图13是示出编码安排(对应于表1,对一个实现)的树形图,其中编码器联合地编码最少见的移动方式和退色的存在。(退色参数编码的细节被省略。)编码器使用VLC表示每个其他移动方式(如码“0”、“10”和“110”分别表示移动方式0、1和2)。当退色未被激活,编码器使用换码的码(如“111))后跟“0”表示最少见的移动方式。编码器使用换码的码后跟“1”,表示退色被激活。
应该理解,这里叙述的程序、过程、或方法不涉及也不限于任何特定类型的计算环境,除非另作说明。各类通用或专用计算环境可根据这里所述的教导而被使用或执行操作。以软件示出的实施例的单元能以硬件实现,反之亦然。
考虑到我们的发明的原理能应用于许多可能的实施例,我们要求所有可能落入下面的权利要求及其等价的范围及精神的实施例为我们的发明。
权利要求
1.一种方法,所述方法包括下述步骤在编码期间,对于具有多个参考视频帧的当前视频帧,在一视频位流中发信号通知第一语法等级上的退色补偿标志;以及当第一语法等级上的退色补偿标志指示为具有多个参考视频帧的当前视频帧激励退色补偿时,在所述视频位流中发信号通知第二语法等级上的多个退色参数,其中所述第二语法等级低于所述第一语法等级,所述多个退色参数用于为具有多个参考视频帧的所述当前视频帧的至少一部分进行退色补偿,而所述退色补偿包括至少部分基于所述多个退色参数,调节所述多个参考视频帧中的多个象素值。
2.一种方法,所述方法包括下述步骤在解码期间,对于具有多个参考视频帧的当前视频帧,接收并处理一视频位流中的第一语法等级上的退色补偿标志;以及当第一语法等级上的退色补偿标志指示为具有多个参考视频帧的当前视频帧激励退色补偿时,接收并处理所述视频位流中的第二语法等级上的多个退色参数,其中所述第二语法等级低于所述第一语法等级,所述多个退色参数用于为所述当前视频帧的至少一部分进行退色补偿,而所述退色补偿包括至少部分基于所述多个退色参数,调节所述多个参考视频帧中的多个象素值。
3.如权利要求1或2所述的方法,其特征在于,所述多个参考视频帧中的多个象素值包括亮度值和色度值。
4.如权利要求1或2所述的方法,其特征在于,所述多个象素值包括所述多个参考视频帧中的所有象素值。
5.如权利要求1或2所述的方法,其特征在于,第一语法等级是帧级。
6.如权利要求1或2所述的方法,其特征在于,所述多个退色参数包括至少一个加权参数和至少一个偏移参数。
7.如权利要求1或2所述的方法,其特征在于,所述多个退色参数包括一个或多个用于调节亮度值的退色参数,以及一个或多个不同的、用于调节色度值的退色参数。
全文摘要
描述了在视频处理应用中进行退色补偿的技术和工具。例如在编码期间,视频编码器使用包括在一个或多个参考图象上的缩放参数和移位参数进行退色补偿。在解码期间,视频解码器在一个或多个参考图象上进行对应的退色补偿。
文档编号H04N7/32GK1941911SQ20061014138
公开日2007年4月4日 申请日期2003年4月30日 优先权日2002年5月3日
发明者S·斯里尼瓦桑, S·雷格纳塔恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1