CN200510127101.6
2005.11.21
CN1805547A
2006.07.19
授权
有权
专利权的转移IPC(主分类):H04N 7/30变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150428|||授权|||实质审查的生效|||公开
H04N7/30(2006.01)
H04N7/30
微软公司;
涂承杰; H·S·玛尔瓦; S·斯里尼瓦杉
美国华盛顿州
2004.12.17 US 11/015,148
上海专利商标事务所有限公司
张政权
使用单位行列式成分矩阵构造的前置和后置滤波器(或可逆重叠算子)实现一种高效重叠变换。前置和后置滤波器被作为连续的平面旋转变换和单位行列式平面伸缩变换实现。平面伸缩变换可以使用平面剪切或提升步骤实现。此外,平面旋转和平面剪切具有作为可逆/无损操作的工具,作为结果,给出可逆重叠算子。
1. 一种编码和/或解码以块划分的数字媒体数据的方法,所述方法包括:跨块之间的至少部分边界上应用可逆重叠算子,所述可逆重叠算子为单位行列式;及对所述块应用可逆块变换,其中应用可逆重叠算子和应用可逆块变换两者在编码和解码数字媒体数据之间被逆转。2. 如权利要求1所述的方法,其特征在于,所述可逆重叠算子由多个分量构成,每个分量都是单位行列式。3. 如权利要求2所述的方法,其特征在于,所述应用可逆重叠算子包括:应用可逆Hadamard网络;应用可逆块旋转;应用可逆伸缩算子;应用另一个可逆块旋转;及应用可逆的反向Hadamard网络。4. 如权利要求3所述的方法,其特征在于,所述应用可逆伸缩算子包括执行一个四一提升步骤过程,该过程包括:执行第一提升步骤,用第一个值与第二个值乘以参数值与1减所述参数值的平方之比所得之积相加;执行第二提升步骤,用第二个值与第一个累加值乘以所述参数值所得之积相加;执行第三提升步骤,用第一个累加值与第二个累加值乘以所述参数值的负值所得之积相加;及执行第四提升步骤,用第二个累加值与第三个累加值乘以参数值与1减去所述参数值的平方之比的负值所得之积相加。5. 如权利要求3所述的方法,其特征在于,所述应用可逆伸缩算子包括执行一个五一提步骤过程,该过程包括:执行第一提升步骤,用第二个值与第一个值相加;执行第二提升步骤,用第一个值与第一个值乘以所得之积相加,其中s2+c2=1;执行第三提升步骤,用第一个累积值与第二个累积值乘以所得之积相加;执行第四提升步骤,用第二个累积值与第三个累积值乘以所得之积相加;及执行第五提升步骤,用第三个累积值与第四个累积值的负值之积相加。6. 如权利要求5所述的方法,其特征在于,所述提升步骤中的一个或多个与可逆重叠算子的另一个步骤组合或由所述可逆重叠算子的另一个步骤取消。7. 如权利要求5所述的方法,其特征在于,所述应用可逆伸缩算子包括通过使用2点伸缩级联的M个伸缩因子s1至sM来伸缩M个数据路径。8. 一种数字媒体编码器和/或解码器,包括:数据存储缓冲器,用于存储要编码和/或解码的数字媒体数据;处理器,编程用于:将所述数字媒体数据划分为块;在跨块之间的至少部分边界上应用可逆重叠算子,所述可逆重叠算子为单位行列式;及对所述块应用可逆块变换,其中应用可逆重叠算子和应用可逆块变换两者在编码和解码数字媒体数据之间被逆转。9. 如权利要求8所述的数字媒体编码器和/或解码器,其特征在于,所述可逆重叠算子由多个分量变换构成,每个分量变换都是单位行列式。10. 如权利要求9所述的数字媒体编码器和/或解码器,其特征在于,所述处理器通过下述动作实现可逆重叠算子:应用可逆Hadamard网络;应用可逆块旋转;应用可逆伸缩算子;应用另一个可逆块旋转;及应用可逆的反向Hadamard网络。11. 如权利要求10所述的数字媒体编码器和/或解码器,其特征在于,所述处理器在应用可逆伸缩算子时执行一个四一提升步骤过程,该过程包括:执行第一提升步骤,用第一个值与第二个值乘以参数值与1减所述参数值的平方之比所得之积相加;执行第二提升步骤,用第二个值与第一个累加值乘以所述参数值所得之积相加;执行第三提升步骤,用第一个累加值与第二个累加值乘以所述参数值的负值所得之积相加;及执行第四提升步骤,用第二个累加值与第三个累加值乘以参数值与1减去所述参数值的平方之比的负值所得之积相加。12. 如权利要求10所述的数字媒体编码器和/或解码器,其特征在于,所述处理器在应用可逆伸缩算子时执行一个五一提升步骤过程,该过程包括:执行第一提升步骤,用第二个值与第一个值相加;执行第二提升步骤,用第一个值与第一个值乘以所得之积相加,其中s2+c2=1;执行第三提升步骤,用第一个累积值与第二个累积值乘以所得之积相加;执行第四提升步骤,用第二个累积值与第三个累积值乘以所得之积相加;及执行第五提升步骤,用第三个累积值与第四个累积值的负值之积相加。13. 如权利要求12所述的数字媒体编码器和/或解码器,其特征在于,所述提升步骤中的一个或多个与可逆重叠算子的另一个步骤组合或由所述可逆重叠算子的另一个步骤取消。14. 如权利要求12所述的数字媒体编码器和/或解码器,其特征在于,所述处理器通过使用2点伸缩级联的M个伸缩因子s1至sM来伸缩M个数据路径来实现可逆伸缩算子。15. 至少一种计算机可读记录介质,在其上承载计算机可执行数字媒体处理程序,所述程序用于执行处理以块划分的数字媒体的方法,所述方法包括:在跨块之间的至少部分边界上应用可逆重叠算子,所述可逆重叠算子为单位行列式;及对所述块应用可逆块变换,其中应用可逆重叠算子和应用可逆块变换两者在编码和解码数字媒体数据之间逆转。16. 如权利要求15所述的至少一种计算机可读记录介质,其特征在于,所述可逆重叠算子由多个分量构成,每个分量都是单位行列式。17. 如权利要求16所述的至少一种计算机可读记录介质,其特征在于,所述应用可逆重叠算子包括:应用可逆Hadamard网络;应用可逆块旋转;应用可逆伸缩算子;应用另一个可逆块旋转;及应用可逆的反向Hadamard网络。18. 如权利要求17所述的至少一种计算机可读记录介质,其特征在于,所述应用可逆伸缩算子包括执行一个四一提升步骤过程,该过程包括:执行第一提升步骤,用第一个值与第二个值乘以参数值因子与1减所述参数值的平方之比所得之积相加;执行第二提升步骤,用第二个值与第一个累加值乘以所述参数值所得之积相加;执行第三提升步骤,用第一个累加值与第二个累加值乘以所述参数值的负值所得之积相加;及执行第四提升步骤,用第二个累加值与第三个累加值乘以参数值与1减去所述参数值的平方之比的负值所得之积相加。19. 如权利要求17所述的至少一种计算机可读记录介质,其特征在于,所述应用可逆伸缩算子包括执行一个五一步骤过程,该过程包括:执行第一提升步骤,用第二个值与第一个值相加;执行第二提升步骤,用第一个值与第一个值乘以所得之积相加,其中s2+c2=1;执行第三提升步骤,用第一个累积值与第二个累积值乘以所得之积相加;执行第四提升步骤,用第二个累积值与第三个累积值乘以所得之积相加;及执行第五提升步骤,用第三个累积值与第四个累积值的负值之积相加。20. 如权利要求19所述的至少一种计算机可读记录介质,其特征在于,所述应用可逆伸缩算子包括通过使用2点伸缩级联M个伸缩因子s1至sM来伸缩M个数据路径。
用于高效无损数据压缩的可逆重叠算子 技术领域 本发明总体上涉及使用重叠变换的数字媒体(如,视频和图像)压缩。 背景技术 重叠变换 重叠变换是强大的信号处理技术,被用在数据压缩中。参见H.S.Malvar的“Signal Processing with Lapped Transforms(使用重叠变换的信号处理)”,马萨诸塞州,波士顿:Artech House出版社,1992年。然而,迄今为止,具有线性相位的高效重叠变换尚未被公式化,也没有被应用于数据的无损(可逆)压缩。 如下面更详细的讨论所述,已知重叠变换可以公式化为数据变换之前的前置滤波器(且其逆变换公式化为后置滤波器之前的逆向数据变换)。参见如H.S.Malvar在Proc.Picture Coding Symposium中的“A pre-and post-filteringtechnique for the reduction of blocking effects(用于减少块效应的前置和后置滤波技术)”,瑞典,斯德哥尔摩,1987年6月;以及T.D.Tran,J.Liang和C.Tu的“Lapped Transform via Time-Domain Pre-andPost-Filter(通过时间域前置和后置滤波进行的重叠变换)”,IEEE Trans.OnSignal Processing,卷51,第6号,2003年6月。无损数据变换可以在此表述中用来实现较好的可逆性的度量。迄今为止,人们认为只有特定的、受限的一些前置和后置滤波器可以选择用于可逆性。此受限的集合在其压缩(束率对失真,或R-D)性能上是非常有限的。在一篇最近的文章中(W.Dai和T.Tran,“Regularity-constrained pre-and post-filtering for block DCT-basedsystems(用于基于块DCT的系统的正则性限制的前置和后置滤波)”,IEEETrans.on Signal Processing,卷51,2568-2581页,2003年10月),提出了其中多数元素可逆且具有良好压缩特性的结构。 在音频压缩中,提出了几种用于可逆重叠变换的结构。参见如R.Geiger、J.Herre、J.Koller和K.Brandenburg在Proc.IEEE Int.Conf.on Acoustics,Speech,and Signal Processing中的“IntMDCT-A link between perceptualand lossless audio coding(IntMDCT-感知和无损音频编码之间的连接)”,佛罗里达州,奥兰多,2002年5月;以及J.Li在Proc.IEEE Int.Conf.onAcoustics,Speech and Signal Processing中的“Reversible FFT and MDCTviva matrix lifting(通过矩阵提升进行可逆FFT和MDCT)”,蒙特利尔,加拿大,2004年5月。然而,这些结构只适用于调制重叠变换(MLT),该变换也称为改进的离散余弦变换(MDCT),其基函数是正交且不对称的(即,基函数不是线性相位的)。这些变换不适用于其中需要线性相位(对称)函数的数据压缩应用,如数字图像压缩。 对图片(图像)压缩,一种根据R-D性能衡量的性能最佳的变换是重叠双正交变换(LBT)。参见H.S.Malvar的“Biorthogonal and nonuniform lappedtransforms for transform coding with reduced blocking and ringingartifacts(用于具有减少的块效应和振铃效应的变换编码的双正交非均匀重叠变换)”,IEEE Trans.On Signal Processing,卷46,1043-1053页,1998年4月。不像MLT,LBT基函数是对称的,并且不是完全正交的(在LBT中,分析基函数与合成基函数正交,从而称为是双正交的)。LBT已成功地用在图像压缩应用中,但是它们尚未用在无损图像压缩中,因为整数可逆的结构还是未知的。 基于块变换的编码总述 变换编码在很多音频、图像和视频压缩系统中使用的是压缩技术。未压缩的数字图像和视频通常作为像素或颜色在图像或视频帧中排列在二维(2D)网格中的位置处的样本来表示或捕捉。这称为图像或视频的空域表示。例如,典型的图像格式由作为网格排列的24位颜色像素样本的流组成。每个样本都是网格中像素位置上表示颜色空间(如RGB或YIQ等等)内的颜色成分的数字。各种图像和视频系统可以使用各种不同的颜色、空间和时间取样分辨率。类似地,数字音频通常表示为时间取样的音频信号流。例如,典型的音频格式由规则的时间间隔上取得的音频信号的16位振幅的样本组成。 未压缩的数字音频、图像和视频信号可能消耗大量的存储和传输容量。变换编码通过将信号的空域表示变换为频域表示(或类似的变换域)表示来降低数字音频、图像和视频的大小,然后降低变换域表示中特定的一般较不容易感觉到的频率成分的分辨率。这和降低在空域中的图像或视频(或对音频来说是在时域中)的颜色或空间分辨率相比,通常产生少得多的感觉得到的信号劣化。 更具体地,图1中所示地典型的基于块变换的编解码器100划分未压缩的数字图像的像素为固定大小的二维块(X1,…Xn),每个块都可能与其他块重叠。对每个块应用进行空一频分析的线性变换120-121,线性变换把块内间隔的样本转换为一组频率(或变换)系数,这些系数通常表示数字信号在块间隔之上在对应的频段中的强度。为了压缩,变换系数可以选择性地量化130(即,降低分辨率,如通过丢弃系数值中最不显著的位或者将较高分辨率数字集合中的值映射到较低分辨率),而且还熵编码或可变长编码130成为压缩的数据流。在解码时,变换系数将逆向变换170-171以接近地重建原始的颜色/空间取样的图像/视频信号(重建的块 块变换120-121可以定义为大小为N的向量x上的数学操作。通常,该操作为线性乘法,产生变换域输出y=Mx,M为变换矩阵。当输入数据为任意长时,将其分段为大小为N的向量并对每个片段应用块变换。为了数据压缩的目的,选择可逆块变换。换句话说,矩阵M是可逆的。在多个维度上(如,对图像和视频),块变换通常作为可分离的操作实现。沿着数据的每个维度(即,行和列两者)可分离地应用矩阵乘法。 为了压缩,变换系数(向量y的分量)可以选择性地量化(即,降低分辨率,如通过丢弃系数值中最不显著的位或者将较高分辨率数字集合中的值映射到较低分辨率),而且还熵编码或可变长编码为压缩的数据流。 在解码器150中解码时,在解码器150方应用这些操作的逆操作(反量化/熵解码160和逆块变换170-171),如图1所示。在重建数据时,将逆矩阵M1(逆变换170-171)作为乘子应用到变换域数据。当应用到变换域数据时,逆变换接近地重建原始的时域或空域数字媒体。 在很多基于块变换的编码应用中,变换最好是可逆的,以便取决于量化因子支持有损和无损压缩两者。例如,在没有量化(一般表示为量化因子为1)时,使用可逆变换的编解码器可以在解码时确切地再现输入数据。然而,这些应用中的可逆性需求限制了对变换的选择,而编解码器是基于该变换设计的。 很多图像和视频压缩系统,如MPEG和Windows Media以及其他,都使用基于离散余弦变换(DCT)的变换。DCT已知具有较佳的能量压缩特性,可以带来接近最优的数据压缩。在这些压缩系统中,在重建循环内在压缩系统的编码器和解码器两者中使用逆DCT(IDCT)以重建单个的图像块。DCT由N.Ahmed、T.Natarajan和K.R.Rao在“Discrete Cosine Transform(离散余弦变换)”,IEEE Transactions on Computers,C-23(1974年1月),90-93页中描述。IDCT的示例性实现的描述可参见“IEEE Standard Specification for theImplementations of 8×8 Inverse Discrete Cosine Transform(8×8逆向离散余弦变换的实现的IEEE标准规范)”,IEEE Std.1180-1990,1990年12月6日。 当压缩静止图像(或视频序列中的帧内编码帧)时,多数普通标准,如MP3G-2、MPEG-4和Windows Media,将划分图像为正方形小片(tiles)并对每个图像小片应用块变换。给定分区(通常称为块)中的变换系数只受该块内的原始数据成分影响。在编码器方的不可逆或有损操作(如量化)使得人工因素出现在解码后的图像中。这些人工因素在块之间是独立的并且产生视觉上令人生厌的效果,即块效应。对音频数据也是类似的,当独立地变换编码不重叠的块时,量化错误在解码器重建音频信号时会在块边界处产生信号中的不连续。对音频来说,会听到周期性的咔哒效果。 几种技术被用来对付块效应-其中最普遍的是解块滤波器,它平滑块间边缘边界,以及空间插值,它编码原始输入数据和来自相邻块边缘的预测值的差别。这些技术并不是没有缺点。例如,解块滤波器方法是“开循环”的,即,正变换处理并不考虑这一事实:解块要在解码器方进行重建之前执行。此外,这些技术都是计算量巨大的。 为了最小化块效应,可以充分利用跨块相关。一种实现跨块相关的方法是使用如H.Malvar的“Signal Processing with Lapped Transforms(使用重叠变换的信号处理)”,Artech House,马萨诸塞州,诺伍德,1992年中所述的重叠变换。重叠变换是除了当前块中的数据元素之外,其输入还跨越邻近块中的一些相邻元素的变换。类似地,在重建方,逆变换影响当前块中所有数据点以及邻近块中的一些数据点。 对二维(2D)数据的情况,重叠的2D变换是当前块以及在左边、上边、右边、下边及可能左上、右上、左下和右下的块的选择元素一起的函数。邻近块中被用来计算当前变换的数据点的数量称为重叠。 空域重叠变换总述 重叠变换可以在变换域中作为在常规的块变换之后合并变换域的量的步骤实现。此外,它可以通过应用于重叠范围内的像素的预处理阶段在空域中实现。这两种实现在数学上是相关的并因此是等价的。 图2展示常规空域重叠变换的例子。在所示例子中,重叠为两个像素,彼此来自两个相邻块的两个像素如所示在预处理阶段210中预处理。两个预处理的输出被发送到每个块中以由编解码器100进行如图1所示的基于块变换的编码。在解码之后在处理后阶段220应用预处理阶段的逆处理。对预处理和块变换做出精心选择之后,可以实现广泛的重叠变换。 重叠变换的空域实现的关键优点是,使用现有的编解码器框架可以用预处理和后处理阶段翻新现有的基于块变换的编解码器来得到重叠变换的益处,即,减少块效应以及更好的压缩。预处理210和后处理可以表示为如图3所示的矩阵乘法。通常,预处理和后处理矩阵是彼此的逆,即,预处理矩阵(Pf)和其逆或后处理矩阵(Pi)一起相乘得到单位矩阵I。 定义 总的来说,变换的长度N是特定变换块中的变换系数的数量。 变换的支持度(support)K是影响变换块系数的输入数据点的数量。类似地,受每个变换系数影响、受逆变换处理影响的是输出数据数量。 对典型的块变换,如离散余弦变换(DCT),长度和支持度是相同的。然而,重叠变换(LT)是重要的一类变换,其中支持度K大于长度N。记号K×N被用于表示重叠变换的支持度和长度。(K<N的变换是展开的,因此不在数据压缩中使用)。 作为例子300,如图3中所示的6×4的LT 310是具有六个输入和四个输出的变换。由于该变换是可逆的,所以输入中的两个与相邻的变换块共享。逆重叠变换(ILT)320通过对它的四个输入产生六个输出。通过累加两个相邻的逆变换块的对应响应,块边界附近的输出数据点被重建(在此情况为块的每一端的一个点)。 对压缩系统中使用的重叠变换上的约束 从数学的意义上来说,当我们将输入和输出信号以及中间计算结果作为实数考虑时,重叠变换是可逆的结构。如果可以达到无限精度,则输入数据可以通过其重叠变换系数完全复原。然而,在现实中无限精度是不可能的,对数据的无损压缩,需求是设计操作整数或固定精度运算的变换,只能完全重建给出变换系数的整数表示的数据。这是比数学可逆性更强的条件,因此该变换在此称为“无损”变换。此外,还需要无损变换对数据压缩(无损和有损两者)高效。该效率可以通过变换后的数据的熵来衡量。熵越低,则可以通过标准的熵编码技术更多地压缩变换后的数据,标准的熵编码技术如基于上下文的算术编码或自适应游程长度(run-length)编码。 发明概述 在此描述了在整数运算中可逆并可以用作高效无损数据压缩/解压系统的基础的高效重叠变换的各种实现。 可以看到,最高效的无损变换设计(即,变换后的数据熵最低的那些)要求变换矩阵是单位行列式(即,变换矩阵的行列式为±1)。在下面的说明中,假设变换可以表示为矩阵乘法,虽然应承认会有少量非线性现象,如数据舍入。因此,当我们提及行列式时,不考虑截断或舍入方面。 使用前置和后置滤波器实现的高效重叠变换在此称为“重叠算子”。此实现是可逆的,同时非常R-D高效。在其他应用中,这些新的重叠算子允许实现可用于无损图像压缩的可逆LTB,它能够被用于无损图像压缩。前置和后置滤波器使用可逆的操作。此外,所述的重叠算子包括对计算效率的简化。 前置和后置滤波器的一种实现是连续的平面旋转变换和单位行列式平面伸缩变换。此外,平面旋转和平面剪切具有作为可逆/无损操作的实现,作为结果,给出可逆重叠算子。 一个示例性应用是使用计算高效的对可逆重叠算子的近似实现8×4的一维重叠变换。 本发明的其他特性和优点将通过下面引用参考附图对实施例进行的详细说明而变得显而易见。 附图说明 图1为框图,展示现有技术中常规的基于块变换的编解码器。 图2为框图,展示作为与图1中基于块变换的编解码器组合中的预处理和后处理操作实现的空域重叠变换,这也是现有技术。 图3为框图,展示1维数据上的重叠变换和逆重叠变换对。 图4为基于使用可逆重叠算子的重叠变换的编码器的流程图。 图5为基于重叠变换的解码器的流程图。 图6为框图,展示使用前置和后置滤波操作(或可逆重叠算子)与块变换结合的1维数据上的重叠变换和逆重叠变换对。 图7为信号流图,展示用作图6所示重叠变换中的可逆重叠算子的线性相位前置(或后置)滤波器的结构。 图8为信号流图,展示作为在可逆重叠算子中使用的四个提升步骤的无损伸缩。 图9为信号流图,展示作为在可逆重叠算子中使用的五个提升步骤的无损伸缩。 图10为信号流图,展示应用于较大的维度矩阵以便实现无损单元行列式伸缩的两点伸缩的级联。 图11为信号流图,展示具有图7所示结构并使用图10所示无损单元行列式伸缩的可逆重叠算子(或前置/后置滤波器)。 图12为流程图,展示图11所示可逆重叠算子的操作。 图13为信号流图,展示使用图11所示可逆重叠算子的可逆重叠变换实现的例子。 图14,展示图13所示例子重叠变换例子的DC系数的脉冲响应图。 图15为框图,展示适合于使用图4和5所示改进的空域重叠变换实现基于块变换的编解码器的计算环境。 具体实施方式 下面的说明涉及使用可逆重叠算子进行重叠变换的数字媒体压缩系统或编解码器。为说明目的,包括可逆重叠算子的压缩系统的一个实施例是图像或视频压缩系统。或者,可逆重叠算子也可以包括在其他2D数据的压缩系统或编解码器中。可逆重叠算子并不要求数字媒体压缩系统以特定的编码格式编码压缩的数字媒体数据。 1.编码器/解码器 图4和5是在基于使用可逆重叠算子的重叠变换的代表性2维(2D)数据编码器400和解码器500中使用的处理的一般化示意图。这些图提供了此可逆重叠算子在包括2D数据编码器和解码器的压缩系统中的使用和应用的一般化或简化展示。在基于此可逆重叠算子的其他编码器中,比在此代表性编码器和解码器中所示的附加的或少数的处理可以用于2D数据压缩。例如,某些编码器/解码器还可以包括颜色转换、颜色格式、可伸缩编码、无损编码、宏块模式等等。压缩系统(编码器和解码器)可以根据量化提供2D数据的无损和/或有损压缩,量化可以基于从无损到有损变化的量化参数。 2D数据编码器400产生压缩的位流420,那是作为编码器的输入提供的2D数据410的更紧凑表示(对典型的输入来说)。例如,2D数据输入可以是图像、视频序列中的一帧,或其他具有两个维度的数据。2D数据编码器划分430输入数据为宏块,宏块在此代表性编码器中是大小为16×16的多个像素。2D数据编码器还划分每个宏块为4×4的块432。在使用块变换450变换了每个4×4的块之后,对块之间的每个边缘应用“正重叠”算子440。此块变换450可以是由Srinivasan在与此同时提交的标题为“Improved Reversible Transform ForLossy And Lossless 2-D Data Compression(改进的用于有损和无损2D数据压缩的可逆变换)”的美国专利申请所述的可逆的、无伸缩2D变换,将其公开的内容包括在此作为参考。或者,可以对在此所述的可逆重叠算子使用离散余弦变换或其他块变换。在变换之后,对每个4×4变换块的DC系数460进行类似的链式处理(划分、前向重叠、然后4×4块变换)。结果DC变换系数和AC变换系数被量化470、熵编码480和分包490。 解码器执行相反的处理。在解码器方,从它们各自的包中提取510变换系数的位,从这些包中系数被自身解码520和反量化530。通过应用逆变换再生DC系数540,并使用对跨DC块边缘应用的适合的平滑算子“反向重叠”该DC系数的平面。接下来,通过对DC系数应用4×4逆变换550再生整个数据,且从位流中解码AC系数542。最后反向重叠过滤560在结果图像平面中的块边缘。这将产生重建的2D数据输出。 2.使用重叠算子实现的重叠变换 更一般地,编码器400的重叠算子440和块变换450(图4)是一大类重叠变换600的例子,如图6所示,重叠变换600可以分解为前置滤波操作610,随后是块数据变换620。图6展示了这样分解的重叠变换的一般化例子。在此所示情况中,图3所示的6×4重叠变换310被分解为前置滤波操作610和块变换620阶段。前置滤波操作610和块变换620均匀地分布在各数据点上。在此所示的6×4重叠变换600例子中,每个前置滤波器都是对跨相邻块的数据点进行的长度为2的变换。在解码方,在逆块变换630之后跨块边界应用后置滤波器640。类似地,对一般的K×N情况,将前置滤波器应用于和块边界相邻的每个块中的(K-N)/2个数据点。 为了可逆性,前置滤波器610和后置滤波器640是彼此的逆。然而,为了实现无损重叠变换,此条件是不够的。除了应以无损方式实现块(核心)变换620之外,这还限制了前置和后置滤波器610、640也是无损变换。DCT可以使用基于阶梯、点阵或提升的方法,以及其他方法以无损方式实现。参见例如,A.A.M.L.Bruekens和A.W.M.van den Enden的“New networks for perfectinversion and perfect reconstruction(用于完全转换和完全重建的新网络)”,IEEE J.Selected Areas Communications,卷10,第1号,1992年;以及I.Daubechies和W.Sweldens的“Factoring wavelet transform intolifting steps(分解小波变换为提升步骤)”,J.Fourier Anal.Appl.,卷4,247-268页,1998年。由Srinivasan在与此同时提交的标题为“ImprovedReversible Transform For Lossy And Lossless 2-D Data Compression(改进的用于有损和无损2D数据压缩的可逆变换)”的美国专利申请所述的可逆的、无伸缩2D变换,将其内容包括在此作为参考。基于提升的对DCT在一个维度上的可逆近似也是已知的。参见如J.Liang和T.D.Tran的“具有提升方案的DCT快速无乘法器近似)”,IEEE Trans.Signal Processing,卷49,3032-3044页,2001年12月。 高效的可逆性还要求两个步骤,即前置/后置滤波器和块变换,是单位行列式。 3.可逆重叠算子 用作编码器400/解码器500(图4和图5)所基于的无损重叠变换600的前置滤波器610(图6)的高效的可逆重叠算子,可以实现为线性相位前置滤波器,它被分解为图7中所示的结构700。此前置滤波器的逆(即,后置滤波器640)也具有相同的结构但是具有不同的系数。 此线性相位滤波器结构700具有多个正交成分,包括在其输入和输出处的交叉Hadamard网络710。所示的Hadamard网络710的内部箭头在此图中表示取反(negation)。结构700还包括正交矩阵U1、U2、V1和V2。这些成分可通过使用基于点阵/提升的方法以无损方式实现。 此外,结构700具有非零伸缩因子s1至sM。单位行列式限制蕴涵 Π i s i = ± 1 . ]]>当所有的伸缩因子都是±1时,前置/后置滤波器可以实现为无损变换,其中成分矩阵U1、U2、V1和V2实现为无限点阵/提升步骤。然而,当伸缩因子并不都是±1时,无损实现仍然是一个挑战,将如下面将更详细的说明那样来处理。 对此线性相位前置滤波器结构700,实现无损前置/后置滤波器对的问题被化简为下面的三个步骤: 1.分解滤波器F为下面的形式,对正交矩阵U1、U2、V1和V2: 其中I是单位矩阵,并 2.导出U1、U2、V1和V2的无损实现;及 3.导出伸缩矩阵的无损实现。 对于步骤1,在右边的第一个和最后一个矩阵定义2点Hadamard变换,并在某些项中包括为的因子使得这些阶段成为单位行列式。余下部分被重新排列成为具有两个块的块对角形式,每个块都具有线性维度F的一半。每个块的单值分解或SVD提供正交矩阵U1、U2、V1和V2,以及伸缩。 可以在步骤2中使用标准的基于提升的方法导出成分矩阵的无损实现,这样的方法如A.A.M.L.Bruekens和A.W.M.van den Enden的“New networksfor perfect inversion and perfect reconstruction(用于完全逆转和完全重建的新网络)”,IEEE J.Selected Areas Communications,卷10,第1号,1992年中所描述的那样。 步骤3中的伸缩矩阵的无损实现按如下处理。为了简单起见,假设我们有特定的2输入2输出成分(a)是无损的,且(b)通过对第一个成分使用s(0<s<1)并对第二个成分使用1/s(其他情况可以通过逆转一个或两个输出信号的符号获得)来实现伸缩。换句话说,我们可以有由如下公式给出的输入-输出关系: y = s 0 0 1 / s x - - - ( 2 ) ]]> 公式(2)中的变换矩阵的行列式是s/s=1。此矩阵可以在如图8和9所示的四提升步骤过程800或五提升步骤过程900中实现。我们通常以y=(a.x+r)>>b的形式近似所有的提升步骤,其中x是输入而y是输出,a、b和r是整数而r被用于舍入误差控制,来获得无除法整数实现。由公式(2)定义的变换在此称为单位行列式伸缩变换,简称为伸缩变换。 有趣的是,伸缩变换和剪切操作密切相关,如下定义: y = a b b a x - - - ( 3 ) ]]> 在限制a2-b2=1(a>0,b≥0)下,剪切操作具有单位行列式并且可以用三提升步骤实现: a b b a = 1 a - 1 a + 1 0 1 1 0 b 1 1 a - 1 a + 1 0 1 , - - - ( 4 ) ]]> 因此 a + b 0 0 a - b = 1 1 / 2 - 1 1 / 2 1 / 2 0 0 1 a b b a 2 0 0 1 1 / 2 - 1 / 2 1 1 ]]> = 1 0 - 1 1 1 1 2 ( a - 1 a + 1 + 1 ) 0 1 1 0 2 b 1 1 1 2 ( a - 1 a + 1 - 1 ) 0 1 1 0 1 1 - - - ( 5 ) ]]> 在此夹在剪切矩阵中间的矩阵中的伸缩因子和2被分布到剪切提升步骤,且第一个矩阵的最后一个提升步骤与第一个剪切提升步骤组合,同时最后一个矩阵的第一个提升步骤与第一个剪切提升步骤组合。作为图9所示的伸缩变换过程900的五步骤实现是基于公式(5)之上。通过在可能时取消公式(1)中的三个组,即Hadamard网络、正交矩阵,和缩放操作(该操作可以依次分解为Hadamard和剪切操作)之间的逆操作,可能实现对该结构的简化。 更特别地,如过程800的无损伸缩的四提升步骤实现的有效变换矩阵是 T = c - 2 0 0 c 2 , ]]>其中c2=1-s2。另一方面,过程900中的五提升步骤实现的有效变换矩阵是 T = 1 + s c 0 0 1 - s c , ]]>其中c2=1-s2。 虽然图8所示的伸缩过程800比图9所示的过程少一个提升步骤,但与具有四个关键提升步骤的前一过程相比,后一过程900只包含三个关键提升步骤。鉴于上一段所述的原因,图9中的第一个或最后一个非关键提升步骤可以在特定条件下(例如,当U1、U2和V1是单位矩阵时)与前面或后面的变换步骤(例如,在图7的任何一端与Hadamard网络710)合并。 伸缩过程可以容易地扩展到较大的矩阵。这在图10中展示,其中向M条数据路径应用M个可能的不同伸缩因子s1至sM作为伸缩变换的级联1000。为了以可逆方式实现此效果,一般需要M-1个可逆伸缩变换。 一个有用的特例是当M个伸缩因子s1至sM可以分组为形式为(s,1/s)的M/2个组时。在此情况,只需要M/2个可逆伸缩变换。一个例子是s1=s2=…=sM/2=s和sM/2+1=sM/2+2=…=sM=1/s。较佳的分组方式是保持沿中轴对称,换句话说,每个组都伸缩该系数si和sM+1-i。如果M是奇数,则未分入组的一个伸缩因子是1,对应于沿着该轴的数据路径。 在对其中前置/后置滤波器需要扩展至信号之外的信号边界上,一种解决方案是对称地扩展该信号,然后应用前置/后置滤波器。总的来说因为伸缩这不是无损操作。另一个解决方案是跳过边界上的前置/后置滤波。两种解决方案之间在R-D性能以及感知质量上没有明显的区别(例如,如果用于有损图像/视频压缩)。 现参考图11,然后具有所需的R-D高效(即,单位行列式)特性的可逆重叠算子被实现作为线性相位的前置滤波器结构700(图7),该结构包括可逆的单位行列式Hadamard网络710、可逆正交旋转1110(对成分矩阵U1、U2、V1和V2),及可逆单位行列式伸缩1120(如,使用提升步骤过程800、900或级联1100)。后置滤波器模拟前置滤波器,并使用相同的结构构建,只是逆提升步骤处于相反顺序。这在图7中展示,其中在块中的数据值的数量M总的来说可以是任何自然数。注意中心数据值的“1点Hadamard”变换是其自身,因此虽然展示了偶数值M,但奇数值也是可以的。此过程可以一般化到更高维度的数据。 总而言之,可逆重叠算子的操作在图12中展示。在第一个步骤1210,输入的2维数字媒体数据被划分为块(如对图4中的编码器400所示)。在步骤1220,可逆重叠算子跨相邻的小片应用Hadamard网络710。然后在步骤1230,算子对累加值和差值应用可逆旋转,随后是在步骤1240。可逆伸缩算子。这随后是另一个可逆块旋转(步骤1250),及可逆的反向Hadamard网络(步骤1260)。 现参考图13,可逆块旋转和伸缩算子的矩阵表示取决于使用例如公式(1)中描述的运算所需的重叠算子。图13展示具有图7和11所示结构700的后置滤波器的例子,可逆块变换(在此情况为4点Hadamard变换)在它之前。后置滤波器的传递函数是: T = 0.9885 0.1553 - 0.1553 0.2183 - 0.1499 0.9885 0.2183 0.1499 0.1502 0.2167 0.9884 - 0.1502 0.2167 - 0.1556 0.1556 0.9884 - - - ( 6 ) ]]> Hadamard的低通成分产生图14的图表中所示的脉冲响应。 4.计算环境 上述基于使用可逆重叠算子的重叠变换的编解码器可以在各种执行数字媒体信号处理的设备中的任何一种上面执行,这些设备包括计算机、图像和视频记录、传输和接收设备、可移动视频播放器、视频会议等等以及其他例子。这些数字媒体编码技术可以在硬件电路中实现,以及在计算机或其他计算环境内执行的数字媒体处理软件中实现,如图15所示。 图15展示在其中可实现所述实施例的适合的计算环境(1500)的一般化例子。计算环境(1500)并不暗示对本发明的使用范围或功能性建议任何限制本发明的,因为本发明可以在各种通用或专用计算环境中实现。 参考图15,计算环境(1500)包括至少一个处理单元(1510)和存储器(1520)。在图15中,最基本的配置(1530)包括在虚线内。处理单元(1510)执行计算机可执行指令,且可以是真实的或虚拟的处理器。在多一处理系统中,多个处理单元执行计算机可执行指令来增加处理能力。存储器(1520)可以是易失性存储器(如,寄存器、高速缓存、RAM)、非易失性存储器(如,ROM、EEPROM、闪存等等),或两者的某种组合。存储器(1520)存储实现所述编码器/解码器和变换的软件(1580)。 计算环境可以具有附加的特性。例如,计算环境(1500)包括存储(1540)、一个或多个输入设备(1550)、一个或多个输出设备(1560),及一个或多个通信连接(1570)。互连机制(未示出)如总线、控制器或网络,互连计算环境(1500)中的组件。通常,操作系统软件(未示出)为计算环境(1500)中执行的其他软件提供操作环境,并协调计算环境(1500)中的组件的活动。 存储(1540)可以是可移动或不可移动的,并包括磁盘、磁带或盒式磁带、CD-ROM、CD-RW、DVD,或可用于存储信息且可在计算环境(1500)内访问的任何其他介质。存储(1540)存储实现基于使用可逆重叠算子的重叠变换的编解码器的软件(1580)的指令。 输入设备(1550)可以是触摸式输入设备,如键盘、鼠标、笔,或轨迹球、语言输入设备、扫描设备,或向计算环境(1500)提供输入的任何其他设备。对音频来说,输入设备(1550)可以是接受模拟或数字形式的音频输入的声卡或类似设备,或向计算环境提供音频样本的CD-ROM读取器。输出设备(1560)可以是显示器、打印机、扬声器、CD刻录机,或提供来自计算环境(1500)的输出的任何其他设备。 通信链接(1570)支持通过通信介质与其他计算实体通信。通信介质传送信息如计算机可执行指令、压缩的音频或视频信息,或其他在调制的数据信号中的数据。调制的数据信号指以在信号中编码信息的方式设置或改变其特性中的一个或多个的信号。作为例子,而非限制,通信介质包括用电气、光学、RF、红外线、声音或其他载波实现的有线或无线技术。 数字媒体处理技术在此可以在计算机可读介质的一般上下文中描述。计算机可读介质是可以在计算环境内访问的任何可用介质。作为例子,而非限制,对计算环境(1500)来说,计算机可读介质包括存储器(1520)、存储(1540)、通信介质,及上述任何介质的组合。 数字媒体处理技术在此可以在计算机可执行指令的一般上下文中描述,如包括在程序模块中、在计算环境中在真实或虚拟的目标处理器上执行的那些。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。程序模块的功能可以根据各实施例的需要在程序模块之间组合或分割。用于程序模块的计算机可执行指令可以在本地或分布式计算环境内执行。 为了演示的目的,详细说明使用如“确定”、“生成”、“调整”和“应用”这样的术语来描述计算环境中的计算机操作。这些术语是由计算机执行的操作的高层抽象,不应与人类执行的动作混淆。对应于这些术语的实际计算机操作依赖于实现而不同。 5.可逆重叠算子的变体和扩展 可以做出上述可逆重叠算子的各种修改和扩展。虽然上面提供的说明针对一维的数据,可以分离地,或不分离地对多个数据维度应用相同的过程。 上述可逆重叠算子实现中的正交旋转可以由其近似或由其他非正交变换替代。 此外,虽然上述说明的主要焦点集中于输入数据的无损复原,相同的变换也可以用于有损数据压缩。在此情况,损失可能发生在量化处理中,或由于前置滤波器或后置滤波器的有限精度/近似实现,或由于其他不准确性,或多种因素的组合而发生。 在此描述的可逆重叠算子可以应用于数据压缩之外的领域。使用可逆重叠算子的重叠变换也可以自身就是扩展性的。 可以适当的修改形式应用可逆重叠算子,以实现多码率滤波器组、小波,及支持跨2个以上块宽度的(K>2N)的重叠变换。 可以用在空间上变化的方式应用可逆重叠算子,其中重叠滤波器的程度和形状可以在数据的空间范围中变化。 鉴于本发明的原理可以应用于很多可能的实施例,我们要求包含在下面的权利要求及其等价的范围和精神之内的所有这样的实施例都是我们的发明。
《用于高效无损数据压缩的可逆重叠算子.pdf》由会员分享,可在线阅读,更多相关《用于高效无损数据压缩的可逆重叠算子.pdf(31页珍藏版)》请在专利查询网上搜索。
使用单位行列式成分矩阵构造的前置和后置滤波器(或可逆重叠算子)实现一种高效重叠变换。前置和后置滤波器被作为连续的平面旋转变换和单位行列式平面伸缩变换实现。平面伸缩变换可以使用平面剪切或提升步骤实现。此外,平面旋转和平面剪切具有作为可逆/无损操作的工具,作为结果,给出可逆重叠算子。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1