专利名称:重叠变化处理中的减少的dc增益失配和dc泄漏的制作方法
重叠变化处理中的减少的DC增益失配和DC泄漏背景变换编码是在许多音频、图像和视频压缩系统中使用的一种压缩技术。未压缩的数字图像和视频通常作为以二维OD)网格排列的图像或视频帧中各位置处的图元或色彩的样本来表示或捕捉。这在常规上被称为图像或视频的空间域表示。例如,矩形形状的图像的典型格式包括8位色彩样本的三个二维阵列。每一样本都是表示网格中的空间位置处的色彩分量的值的数字,其中每一个色彩分量都表示沿着诸如RGB或YUV等色彩空间中的轴的幅度。这些阵列中的一个中的单独样本可被称为像素。(在其他常见用途中,术语像素被用来指在空间上位于同处的η个色彩分量样本的η元组一例如,指给定空间位置的R、 G和B色彩分量值的3元组分组一然而,该术语在此处可另选地用来指标量值样本)。各种图像和视频系统可使用不同的色彩、空间和时间分辨率的采样。类似地,数字音频通常被表示为时间采样的音频信号流。例如,典型的音频格式由表示有规律间隔的时刻处的音频信号幅度的16位音频信号幅度样本流构成。未压缩的数字音频、图像和视频信号可消耗大量的存储和传输能力。变换编码可以与其他编码技术一起用来减少表示这种数字音频、图像和视频所需的数据量,例如通过将信号的空间域(或时域)表示变换成频域(或其他类似的变换域)表示,以使得能够随后减少表示信号所需的数据量。数据量的减少通常通过应用被称为量化的过程或者通过选择性地丢弃变换域表示的特定频率分量(或者两者的组合),之后通过应用诸如自适应霍夫曼编码或自适应算术编码等熵编码技术来实现。量化过程可以基于各频率分量的估算出的知觉敏感度或基于其他准则来选择性地应用。对于给定比特率的输出,与直接在空间域中降低图像或视频的色彩样本保真度或空间分辨率、或者在时域中降低音频的样本保真度相比,适当地应用变换编码通常产生低得多的可察觉的数字信号降级。更具体而言,典型的基于块变换的编码技术将数字图像的未压缩像素分成固定大小的二维块OC1……Xn)。对给定块应用进行空间-频率分析的线性变换,这将块内时域样本转换成一般表示块间隔上相应的频带内的数字信号的强度的一组频率(或变换)系数。为了压缩,变换系数可被量化(即,诸如通过丢弃系数值的最低有效位或将较高精度数字集中的值映射到较低精度来降低精度),并且还被熵编码或可变长度编码成已压缩数据流。在解码时,变换系数将被逆量化和逆变换回到空间域以便几乎重构原始的色彩/空间采样的图像/视频信号(重构块戈,…戈 )。利用块中的样本的相关并由此最大化压缩能力的能力是变换设计中的主要要求。 在许多基于块变换的编码应用中,变换应当是可逆的以取决于在变换域中应用的量化运算既支持有损压缩又支持无损压缩。例如,在不应用量化的情况下,利用可逆变化的编码可使得能够在应用对应的解码时确切地重现输入数据。然而,这些应用中的可逆性的要求约束了对用于设计编码技术的变换的选择。变换的实现复杂性是另一重要的设计约束。因此, 通常选择变换设计以使得应用正变换和逆变换只涉及小整数的乘法以及其他简单的数学运算,诸如加法、减法和移位运算(通过2的幂,诸如4、8、16、32等实现乘法或除法),以使得可获取具有最少动态范围扩展的快速整数实现。诸如JPEG(ITU-T T. 811IS0/IEC 10918-1)和 MPEG-2(ITU-T H. 262|IS0/IEC 13818-2)等许多图像和视频压缩标准利用基于离散余弦变换(DCT)的变换。已知DCT 具有有利的能量压缩特性,但在许多实现中也具有缺点。DCT由N.Ahmed,Τ. Natarajan 和K. R. Rao所著的“Discrete Cosine Transform(离散余弦变换)”,IEEE计算机学报, C-23 (1974年一月),第90-93页描述。在压缩静止图像(或视频序列中的内编码帧)时,诸如JPEG和MPEG-2等许多常见标准将表示图像的阵列划分成8X8样本块并且对每一个这样的图像块应用块变换。这些设计中的给定块中的变换系数只受到块区域中的样本值的影响。在图像和视频编码中, 这些独立构造的块中的样本的量化可导致块边界不连续性,并由此产生被称为块伪像或块效应的可见的恼人伪像。对于音频数据类似地,在非重叠的块被独立地进行变换编码时,在解码器处重构音频信号之际,量化误差将在信号中的块边界处产生不连续性。对于音频,可以听到周期性微小静电干扰声(clicking)效应。用于缓解块伪像的技术包括使用解块滤波器来平滑跨块间边缘边界的信号值。这些技术并非没有缺陷。例如,解块技术可能需要大量计算实现资源。另一种方法是通过使用如在H. Malvar所著的“Signal Processing with Lapped Transforms (具有互搭变换的信号处理)”,Artech House, Norwood ΜΑ, 1992中描述的重叠变换来减少块效应。一般而言,互搭变换是具有除了当前块中的样本之外还跨越相邻块中的某些相邻样本的输入区域的变换。同样,在重构侧,逆互搭变换影响相邻块中的某些已解码样本以及当前块的样本。由此,即使存在量化,逆变换也可保持跨块边界的连续性,由此导致块效应减少。互搭变换的另一优点是它能够利用跨块相关,这产生更好的压缩能力。 在某些互搭变换实现中,样本的重叠块在正和逆变换中处理。在其他实现中,重叠处理与变换处理分开;对于编码,重叠处理在对非重叠块执行的正变换之前跨块边界执行,而对于解码,对非重叠块执行逆变换并且然后跨块边界执行重叠变换。对于二维数据的情况,一般而言,互搭二维变换是当前块、以及在当前块的左侧、 上面、右侧、下面的块的选择元素、以及可能当前块的左上、右上、左下和右下的块的函数。 用于为当前块计算互搭变换的相邻块中的样本的数量被称为重叠或支持量。概述总而言之,详细描述涉及用于数字媒体压缩和解压缩的各种技术。例如,应用解决编码和/或解码期间的重叠处理操作中的DC增益失配和/或DC泄漏现象的各种技术。根据所公开的技术的一方面,数字媒体解码设备在解码数字媒体时执行逆重叠变换。数字媒体解码设备对数字媒体执行逆频率变换。设备然后对逆频率变换的结果应用多个重叠算子。多个重叠算子中的第一个是内部重叠算子,而多个重叠算子中的第二个是边缘或角落重叠算子。多个重叠算子中的每一个都由基本上等价的DC增益来表征。这减少了算子之间的DC增益失配。在对应的编码中,数字媒体编码设备在编码数字媒体时执行重叠变换。在预处理时,设备对数字媒体数据样本或对来自编码这种数字媒体数据样本的较早阶段的结果应用多个重叠算子。多个重叠算子中的第一个是内部重叠算子,而多个重叠算子中的第二个是边缘或角落重叠算子。同样,多个重叠算子中的每一个都由基本上等价的DC增益来表征,
5这减少了算子之间的DC增益失配,并由此提高了压缩性能。数字媒体编码设备对重叠预处理的结果执行频率变换。除了 DC增益失配减少之外,多个重叠算子在许多情况下显示出减少的DC泄漏。根据所公开的技术的另一方面,数字媒体解码设备在已编码比特流中接收指示所选小块边界选项的信息,其中该所选小块边界选项指示对重叠算子的硬小块边界处理以及对重叠算子的软小块边界处理中的一个。至少部分地基于所选小块边界选项,数字媒体解码设备执行逆重叠处理。例如,软小块边界处理由跨小块边界的重叠处理来表征,而硬小块边界处理由这一跨小块边界的重叠处理的缺失来表征。在某些实现中,逆重叠处理可包括应用被设计成具有减少的DC增益失配和/或DC泄漏的重叠算子。在对应的编码中,数字媒体编码设备在使用对重叠算子的硬小块边界处理和对重叠算子的软小块边界处理之间进行选择。数字媒体编码设备根据所选小块边界选项来执行重叠处理。该设备还在已编码比特流中发信号通知指示所选小块边界选项的信息。在某些实现中,这允许在第一模式(硬小块)和第二模式(软小块)之间进行切换,其中第一模式通常具有较低压缩效率但不具有小块之间的依赖关系,第二模式通常具有较高压缩效率但具有小块之间的依赖关系。以上概述只是简要概览并且并不旨在描述此处所呈现的本发明的所有特征。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。附图简述
图1是包括利用可逆重叠算子的互搭变换的编码器的流程图。图2是包括对应的逆互搭变换的解码器的流程图。图3是示例实现中的块排列的图示,描绘了示例实现中的供在第一阶段重叠变换中使用的以及用于重叠变换的第二阶段中的全分辨率通道的4x4内部重叠算子、4x1边缘重叠算子和2x2角重叠算子的布局。所描绘的重叠算子还在示例实现中的逆重叠变换的对应阶段中使用。图4是示例实现中的块排列的图示,描绘了示例实现中的供在用于4:2:2下采样色度通道的第二阶段重叠变换中使用的2x2内部重叠算子、2x1边缘重叠算子和Ixl角重叠算子的布局。所描绘的重叠算子还在示例实现中的逆重叠变换的对应阶段中使用。图5是示例实现中的块排列的图示,描绘了示例实现中的供在用于4:2:0下采样色度通道的第二阶段重叠变换中使用的2x2内部重叠算子、2x1边缘重叠算子和Ixl角重叠算子的布局。所描绘的重叠算子还在示例实现中的逆重叠变换的对应阶段中使用。图6A是描绘用于选择和发信号通知硬或软小块边界以便进行重叠处理的示例方法的流程图。图6B是描绘用于接收所选择的硬或软小块边界指示符以便进行逆重叠处理的示例方法的流程图。图7A是描绘用于使用重叠算子来执行具有减少的DC增益失配和减少的DC泄漏的重叠变换的示例方法的流程图。图7B是描绘用于使用重叠算子来执行具有减少的DC增益失配和减少的DC泄漏的逆重叠变换的示例方法的流程图。图8是用于实现此处所描述的技术的合适计算环境的框图。
详细描述以下描述涉及数字媒体压缩或解压缩系统,即编码器或解码器,其利用解决DC增益失配和/或DC泄漏现象的正/逆重叠变换设计。出于说明的目的,结合这些技术的压缩 /解压缩系统的实施例是图像或视频压缩/解压缩系统。或者,此处所描述的技术可被结合到用于其他二维数据或其他媒体数据的压缩或解压缩系统,即编码器或解码器中。此处所描述的技术不要求数字媒体压缩系统以特定的编码格式来编码压缩的数字媒体数据。以下呈现的示例实现示出了解决图像编码和解码中的DC增益失配和/或DC 泄漏问题的解决方案。例如,这些解决方案可被结合到JPEG )(R图像编码标准(ITU-T Τ. 832|IS0/IEC 29199-2)中。另外,对第一和第二示例实现的各种选择使用在JPEG XR标准中参考和/或定义的算子。这些实现还参考解决用于图像编码和解码中的重叠处理的4x4算子中的DC泄漏问题的各种方式,如在2008年6月30日提交的第12/165,474号美国专利申请中描述的。1.编码器/解码器如下示出并描述了代表性但一般化且简化的数据编码器和解码器。图1和图2是在代表性二维数据编码器100和对应的解码器200中采用的过程的一般化图示。编码器100和解码器200包括使用解决DC增益失配和/或DC泄漏的技术的互搭变换处理。这些图示呈现了在结合二维数据编码器和解码器的压缩系统和解压缩系统中的对此处所描述的技术的使用和应用的一般化或简化说明。在基于这些减少的DC增益失配和DC泄漏技术的替换编码器和解码器中,比在该代表性编码器和解码器中示出的更多或更少的过程可用于二维数据压缩。例如,某些编码器/解码器还可包括色彩转换、任何种类的色彩格式处理、可缩放编码等。所述压缩和解压缩系统(编码器和解码器)可提供无损和/或有损的二维数据压缩,这取决于可基于一个或多个量化控制参数的量化的应用, 量化控制参数控制在大范围的可选择保真度上的已编码表示中的保真度损失程度,范围从完美无损到非常粗糙的(高压缩比)表示。二维数据编码器100产生压缩比特流120,压缩比特流220是作为输入提供给编码器100的二维数据110的更紧凑表示(对于典型输入)。例如,二维数据输入可以是图像、 视频序列的帧、或具有两个维度的一般被称为图像的其它数据。在区域排列阶段130中,编码器100将输入数据组织成块以供稍后处理。例如,块是4x4样本块、2x4样本块或2x2样本块。或者,块具有其他大小。在正重叠处理的第一阶段140,编码器对输入数据块应用重叠算子。在一示例性实施例中,正重叠算子(被示为阴影块14 是四个重叠变换算子。编码器100然后对各个块执行块变换150。编码器100将与各个块的DC系数AC系数分开以便随后编码。编码器100对DC 系数执行重叠处理和正频率变换的附加步骤。可跳过重叠处理的附加步骤,并且该附加步骤可使用和第一阶段相同的重叠算子或不同的重叠算子。例如,在某些实现中,编码器100 可选择是否执行重叠处理的附加步骤,并且在已编码数据中发信号通知该决定供解码器用于决定执行哪一个逆重叠处理。编码器量化170DC系数的附加重叠变换的结果,并且该编码器量化AC系数。编码器然后对这些系数进行熵编码180,并且分组化经熵编码的信息以便于在比特流120中连同指示解码器200将在解码时使用的编码决定的辅助信息一起发信
7号通知。参考图2,作为简要概览,解码器200执行逆过程。在解码器侧,从其在压缩比特流205中的各自的分组中提取210变换系数位,从中DC和AC系数本身被解码220和解量化230。DC系数240通过应用逆变换来重新生成,并且在使用跨DC块边缘应用的合适的算子的后变换滤波中“逆重叠”DC系数的平面。随后,通过向从比特流中解码的DC系数和AC 系数242应用逆变换250来重新生成样本块。最后,对所得图像平面中的块边缘进行逆重叠滤波沈0。逆重叠处理的第二阶段可使用和重叠处理的第一阶段相同的重叠算子或不同的重叠算子。这产生重构的二维数据输出四0。2.所述技术的一般示例本节包含提高重叠变换编码和对应的解码的性能的技术的一般示例。图6A描绘了用于选择和发信号通知硬或软小块边界以便进行重叠处理的示例方法600。诸如参考图1解释的编码器执行该技术。或者,另一编码器执行该技术。在610,编码器选择硬小块边界和软小块边界中的一个来在重叠变换编码期间执行重叠处理时使用。例如,该选择可以基于存在于要编码的图像中的小块的数量、所期望的解码的计算复杂性、所期望的输出质量、用户设置、各个小块的单独解码(不具有小块间依赖关系)是否是所需应用特征、或另一因素。一般而言,使用图像中的硬小块边界导致更少的小块间依赖关系,因为小块的边缘被视作供进行重叠处理的图像边界。这方便以可能的压缩效率成本解码各个小块(与整个图像形成对比)(因为可能需要更多的位来缓解本可用重叠处理来避免的块伪像,并且因为重叠操作一般还改进被称为编码增益的变换压缩特性)。另一方面,使用软小块边界准许进行跨小块边界的重叠处理,但创建供解码的小块之间的依赖关系。在作出小块边界决定之后,编码器相应地执行重叠变换处理。在620,编码器在已编码比特流中发信号通知所选小块边界决定。例如,所选小块边界决定可被发信号通知为单独的句法元素(例如,作为图像首部中的指示选择硬小块边界还是软小块边界来对给定图像进行重叠处理的单个位)。所选小块边界还可结合或联合其他句法元素来发信号通知,并且可以在除了逐个图像之外的基础上发信号通知。图6B描绘了用于接收所选硬或软小块边界指示符的示例方法630。诸如参考图2 解释的解码器执行该技术。或者,另一解码器执行该技术。在640,解码器在已编码比特流中接收指示用于逆重叠处理的所选小块边界选项的信息。所选小块边界选项指示硬小块边界选项和软小块边界选项中的一个用于逆重叠处理。例如,所选小块边界选项可被接收作为单独的句法元素或联合编码的句法元素,并且该信息可以在图像的图像首部中接收或者在某一其他句法层面接收。在650,解码器至少部分地基于所选小块边界选项来执行逆变换解码。例如,解码器执行、选择性地执行、或不执行跨小块边界的逆重叠处理,这取决于使用软小块还是硬小块。小块边界决定指示符也可与所选重叠模式组合,以使得重叠模式选项指示重叠阶段和硬/软小块化决定的组合。例如,重叠模式选项的一个值可指示未应用重叠(例如,在具有两个阶段的分层重叠变换方案中未应用第一和第二重叠阶段),重叠模式选项的另一个值可指示只对软小块化应用两个重叠阶段中的第一个,重叠模式选项的另一个值可指示对软小块化应用两个重叠阶段,重叠模式选项的另一个值可指示只对硬小块化应用两个重叠阶段中的第一个,而重叠模式选项的又一个值可指示对硬小块化应用两个重叠阶段。这一重叠模式选项可以在执行重叠变换编码时选择、使用并在已编码比特流中发信号通知。 已编码比特流由对应的解码器接收,并且所选重叠模式选项在执行逆重叠变换解码时被解码和使用。图7A描绘了用于在编码期间在重叠变换中使用具有减少的DC增益失配和减少的 DC泄漏的重叠算子的示例方法700。诸如参考图1解释的编码器执行该技术。或者,另一编码器执行该技术。在710,编码器编码数字媒体,其中该编码包括使用具有减少的DC增益失配和减少的DC泄漏的多个重叠算子的重叠变换处理。具体而言,第一重叠算子(用于内部区域) 具有第一 DC增益,而第二重叠算子(用于边缘或角区域)具有基本上等价于第一 DC增益的第二 DC增益。在下文中为处于不同分辨率的亮度样本和色度样本块提供具有基本上等价的DC增益的内部重叠算子、边缘重叠算子和角重叠算子的示例。在720,编码器产生已编码比特流。例如,该比特流遵循JPEG XT格式或另一格式。图7B描绘了用于在解码期间在逆重叠变换中使用具有减少的DC增益失配和减少的DC泄漏的重叠算子的示例方法730。诸如参考图2解释的编码器执行该技术。或者,另一解码器执行该技术。在740,解码器接收已编码比特流。例如,该比特流遵循JPEG XT格式或另一格式。在750,解码器执行使用具有减少的DC增益失配和减少的DC泄漏的多个重叠算子的逆重叠变换处理。具体而言,第一重叠算子(用于内部区域)具有第一 DC增益,而第二重叠算子(用于边缘或角区域)具有基本上等价于第一 DC增益的第二 DC增益。在下文中为处于不同分辨率的亮度样本和色度样本块提供具有基本上等价的DC增益的内部重叠算子、边缘重叠算子和角重叠算子的示例。术语“基本上等价的DC增益”并不意味着重叠算子必须具有恰好相同的DC增益。 而是在考虑操作约束和计划应用的情况下,DC增益差异应足够小以减少(或甚至消除)由于重叠算子之间的DC增益差异而导致的不合需要的伪像。DC增益的目标相似性水平可取决于目标实现复杂性对比所需质量以及其他因素而变化。作为示例,以下呈现的重叠算子的集合在各个集合中具有基本上等价的DC增益。3.示例实现这些示例实现包括互搭变换技术。3. 1理论基础如上所述,互搭变换(也被称为重叠变换)在概念上与块变换相似。常规的块变换具有以下两个步骤1.将输入数据划分成块区域(包括一维系列的样本串或具有诸如图像等二维数据集中的矩形块形状的样本阵列串的区域),以及2.对每一块应用变换过程以分析/分解其频率内容。对于压缩应用程序而言,量化块变换的输出,并且对结果应用熵编码。这些步骤有时与诸如预测过程和概率估算过程等其他操作组合。在解码期间,解码器对这些处理阶段中的每一个应用逆操作或似逆操作。与块变换相关联的公知现象是产生块伪像,块伪像是可出现在从解码过程中产生
9的重构近似中的知觉不连续性。缓解块伪像的公知方法是使用互搭变换。如上所述,在互搭变换中,形成对变换过程的输入的数据块彼此重叠。在使用互搭变换时引发的一个问题是如何处理信号边缘。在输入数据样本集的边缘(诸如图像边缘)处,最初是对编码器的互搭变换输入的一部分的一些数据不存在。系统设计者必须确定如何处理这些边缘情况。在图像编码技术中,关键概念是将较大的图像分解成多个小块。小块是恰好或近似地对应图片的特定(最初为矩形的)空间图像区域的数据集。通过将图像分割成小块并单独地编码每一个小块,可能访问图像的一部分并且在不解码整个图像的情况下解码该部分。访问图像的特定区域的能力在图像很大时可以尤其有用。然而,将大图像分割成较小的小块区域可以在图片中创建更多边缘——即,将小块与图像中的其他小块分开的边缘。在这些边缘中的每一个处,可能出现直接类似于块伪像的小块边界现象。在JPEG XR标准的现有版本中,重叠操作在被启用时跨图像小块边界以及跨块变换的各个块边界应用。虽然该方法在某些情况下具有优点,但该设计选择的结果是,和不跨图像小块边界应用重叠操作的情况相比,基于小块的图像编码和检索在访问小块对齐的图像区域时具有更多的计算复杂性。这多出的计算成本是由于通过变换区域的重叠处理引入的跨相邻小块的数据依赖关系,这具有以下结果为了解码特定小块区域,必须还访问并且至少部分地解码为空间上相邻的小块存储的数据。相反,在此处呈现的示例实现中,小块边界被归类为两种类型中的一种,如下-“硬”小块边界,以使得小块的边缘以与图像边缘相同的方式处理,因此不存在跨小块边界应用的变换块的重叠,或者-“软”小块边界,其中变换块的重叠跨小块边界应用。在诸如JPEG 1和JPEG 2000等现有设计中,所有小块边界都作为硬小块边界来处理。相反,在FPEG XR标准的现有版本中,小块边界作为软小块边界来处理。每一种类型的边界处理实际上在某些情况下都是有用的。在此处呈现的示例实现中,编码器可选择使用硬或软小块边界作为其判断,并且连同图像数据的压缩表示一起发信号通知该选择。此外, 在此处呈现的示例实现中,即使在使用硬小块边界时,但给定小块中的接近小块边界的至少一些边缘样本用边缘算子来进行重叠处理,以便减少可由于在小块中应用内部重叠算子而导致问题的DC增益失配。示例实现还使用基于提升的变换操作。被称为“DC泄漏”的现象有时可以是这些变换中的问题。如果变换显示出DC泄漏,则正变换的输出可能包含某些恒定值输入信号的显著的非DC变换系数(对于其理论上DC系数应当仅是非零频率系数)。DC泄漏有时可导致已解码输出中的压缩性能损失和可察觉的伪像(诸如平滑区域中的波或失真)。在大图像中,只在图像的外边界附近出现某些压缩性能损失和可察觉伪像在压缩编码设计中可以是可接受的。然而,因为使用硬小块边界的小块分割创建引发这一现象的更多区域,所以在设计可包括硬小块边界支持时仔细地设计边缘区域的处理变得更重要。图像编码器中的小块支持引发的问题还可引发系统层面的对大“元图像”的更高级的支持,其中元图像从各自被单独地编码的多个较小图像中被构造成较大数据集。同样, 在这一使用情况下,仔细地处理图像边缘更得更加重要。由此,期望具有硬小块边界编码选项,以使得每一个图像小块都可进行独立处理。 一种解决方案是与总图像边界相同地处理小块边界。然而,在某些情况下,变换设计在图像边缘附近使用的操作中具有不合需要地高的DC泄漏现象。另外,并且甚至更重要地,在边缘处理操作的输出和对图像的内部区域的处理之间存在DC增益差异。识别几个点能帮助解决靠近图像边界的重叠变换中的DC增益失配和DC泄漏。首先,在现有实现中,重叠算子受到内部算子和角及边算子之间的DC增益失配的损害,从而造成降低的压缩效率和显著的视觉伪像。其次,在现有实现中,边、角、以及色度内部算子也受到DC泄漏的损害,这也造成降低的压缩效率和显著的视觉伪像。另外,在现有实现中,在 4:2:0和4:2:2色度的情况下,用于处理图像的内部区域的DC泄漏特性也是有问题的。3. 2示例实现的概览各示例实现使用分层互搭的变换。该变换具有四个阶段1.第一阶段重叠处理;2.第一阶段核心变换;3.第二阶段重叠处理;4.第二阶段核心变换。重叠阶段相对于核心变换算子作用于倾斜网格。即,核心变换作用于在与图像中的左上像素对齐的网格中排列的4x4块。重叠阶段作用于相似大小的网格,但距左上角像素有2个像素的水平偏移和2个像素的垂直偏移。对应的逆重叠变换也具有四个阶段第一阶段逆核心变换,第一阶段逆重叠处理,第二阶段逆核心变换,以及第二阶段逆重叠处理。不幸的是,如先前实现的,重叠算子拥有DC增益失配和DC泄漏的缺点。具体而言, 边缘重叠算子(在重叠阶段的网格偏移引入的2个像素宽的边缘中操作的算子)是有问题的。因为硬小块化涉及将这些边缘算子大量用于图像的中央区域(作为允许硬小块化的最自然的方案),所以这些算子所带的问题导致的伪像变得太过明显。即使没有硬小块化,以前的重叠算子也在图像中产生不可接受的可见伪像量。在本文呈现的示例实现中,重叠变换是通过6个不同的算子来实现的。它们被编组成两组三个算子,全分辨率组和色度组。这三个全分辨率重叠算子是1. 0verlap4x4算子——内部重叠处理运算;2. 0verlap4xl算子——边缘重叠处理运算;3. CornerOverIap2x2算子-角重叠处理运算。图3描绘这些算子的布局的示图300。图3描绘样本的2块x2块区域。点表示样本,并且中央的水平和垂直虚线指示用于变换编码和解码的块边界。圆角框表示支持各重叠算子的每一个的区域。中央4x4样本区域周围的圆角框310表示内部0verlap4X4算子, 四个角2x2样本区域周围的圆角框(例如,320)表示Corner0verlap2x2算子,并且其他8 个虹1(或1x4)样本区域周围的圆角框(例如,330)表示0verlap4Xl算子。这三个全分辨率算子被用于第一阶段重叠变换中的所有通道以及第二阶段重叠变换中的全分辨率通道 (即,4 4 4采样模式中的亮度和色度)。这三个色度算子是1. 0verlap2x2算子——内部重叠处理运算;2. 0verlap2xl算子——边重叠处理运算;3. CornerOverlaplxl算子-角重叠处理运算。这些色度算子被用于下采样0:2:2或4:2:0重新采样)的色度通道的第二阶段重叠变换。图4示出这些色度算子在应用于使用4 2 2重新采样的色度通道时的布局的示图 400。图4描绘用于4:2:2下采样的色度通道的第二阶段重叠变换的重叠算子。对于的块排列,重叠色度算子的布局被应用于4:2:2样本。点表示样本,并且中央的水平和垂直虚线指示用于变换编码和解码的块边界。圆角框(以及圆圈)因而表示各重叠算子的域/ 支持。中央2x2样本区域周围的圆角框410表示内部0verlap2X2算子,四个角Ixl样本区域周围的圆角框(例如,420)表示CornerOverlaplxl算子,并且其他8个&1 (或1x2)样本区域周围的圆角框(例如,430)表示0verlap2Xl算子。图5示出这些色度算子在应用于使用4 2 0重新采样的色度通道时的布局的示图 500。图5描绘用于4:2:0下采样的色度通道的第二阶段重叠变换的重叠算子。对于2x2的块排列,重叠色度算子的布局被应用于4 2 0样本。点表示样本,并且虚线指示用于变换编码和解码的块边界。圆角框(以及圆圈)因而表示各重叠算子的域/支持。中央2x2样本区域周围的圆角框510表示内部0verlap2X2算子,四个角Ixl样本区域周围的圆角框(例如,520)表示CornerOverlaplxl算子,并且其他4个&1 (或Ix^样本区域周围的圆角框 (例如,530)表示0verlap2xl算子。设计这些算子时产生了两个问题DC增益失配和DC泄漏。理想地,在这两个算子集合(全分辨率和色度)的每一个中,所有三个算子的DC增益因子应当是相等的。在三个 DC增益不匹配时,产生DC增益失配的问题。DC泄漏是对变换的完全平坦输入造成DC和AC系数的现象。DC泄漏由所产生的 AC系数的大小来测量。作为这两个问题的结果,只使用其DC系数(忽略所有高频系数)来编码的完全平坦的图像将不具有完全平坦的重构。经重构的像素值中的差可被看作两项的和a)缩放的 DC增益失配,以及b) DC泄漏。差=缩放增益失配+DC泄漏。0verlap4X4算子中的DC泄漏问题的一个解决方案在美国专利申请第12/165,474 号中提出。在本文呈现的示例实现中,对于其余5个算子(除0velap4X4全分辨率算子之外的5个算子)提出了降低或甚至消除DC增益失配和DC泄漏的多个解决方案。对于其余5 个算子,DC增益失配的大小通常比DC泄漏的大小大得多,但DC泄漏造成的可察觉伪像一般更讨厌。因此,需要解决的主要问题是重叠算子之间的DC增益失配。次要问题是重叠算子中的DC泄漏。下一章节描述启用软/硬小块边界决策的若干解决方案的句法和语义。再后章节描述被设计成消除现有重叠算子所造成的伪像的新重叠算子。除硬小块化场景之外,这些新重叠算子在“缝合”场景中也是有用的,在“缝合”场景中单个大型图像被分解成被独立地压缩的小的块。稍后,通过根据各图像的原始关系将各图像相邻地显示来将图像“缝合”
在一起。3. 3硬/软小块化决策的句法的概览示例实现支持硬和软小块边界。软小块边界对处理小块化图像中的大量小块而言更高效,并且缓解块伪像。硬小块边界允许对图像中的有限数量的小块进行更高效的处理。参考硬/软小块边界决策的句法和语义描述了两个类别的选项。分块改变句法。第一类别的选项改变现有实现的句法。第一选项是添加指示是使用硬小块化还是软小块化的新句法元素。例如,新句法元素是图像首部中的一标志。第二选项是添加已经指示重叠模式信息的重叠水平句法标志(0VERLAP_M0DE)的值。在现有实现中,0VERLAP_M0DE (重叠模式)是具有以下三个可能的值和对应解释的2位句法元素。1. 0VERLAP_M0DE = 0意味着重叠处理的任一阶段都不被应用。2. 0VERLAP_M0DE = 1意味着两个重叠处理阶段只有第一重叠处理阶段被应用。3. 0VERLAP_M0DE = 2意味着应用重叠处理的两个阶段。第二个选项将0VERLAP_M0DE句法元素更改为3位句法元素。以上重叠模式被更改为对应软小块化模式(至少对于0VERLAP_M0DE = 1或0VERLAP_M0DE = 2,因为0VERLAP_ MODE = 0是默认硬小块边界,且不具有重叠处理),并且添加以下附加值和解释。4. 0VERLAP_M0DE = 3意味着只应用第一个重叠处理阶段,并且以硬小块化格式执
行重叠处理。5. 0VERLAP_M0DE = 4意味着应用两个重叠处理阶段,并且以硬小块化格式执行重
叠处理。不支持3位0VERLAP_M0DE句法元素的解码器无法使用该句法元素来成功解码图像。因此,添加新位将导致传统解码器无法解码图像。向后兼容句法。为了允许传统解码器处理新比特流(即使解码导致显著的伪像), 可使用子版本号句法元素(在JPEG )(R规范中被标记为RESERVED_C)的用途。例如,包含美国专利申请第12/165,474号中呈现的改变的比特流具有子版本值1,否则具有子版本值 0。该子版本号的次低有效位可用于发信号通知硬或软小块化。在该方案中,对软件小块的使用通过将次低有效位设为零来发信号通知,而对硬小块的使用通过将次低有效位设为一来发信号通知。忽略子版本值的传统解码器将成功解码硬和软小块化图像两者,但显著的伪像可产生硬小块图像,因为默认使用软小块边界重叠处理。更先进的解码器将能够响应子版本号的值并且在使用硬小块化时正确地解码图像而没有伪像。硬小块化设置将如下编码HardTiIingTrueFlag (硬小块化真标志)=(RESERVED_C >> 1)&1。3. 4现有重叠算子的概览在解码器处,现有0Verlap4X4算子被设计成具有缩放l/(s~2),其中s = 0.8272。换言之,0verlap4X4算子按大致1.4614的比例放大。(这是如在美国专利申请第12/165,474号中描述的0verlap4X4算子)。现有0verlap4Xl算子被设计成具有 DC值的缩放Ι/s。换言之,0Verlap4Xl算子按大致1.2089的比例放大DC。现有角算子 Corner0verlap2x2为空(不执行操作),因此对应的DC值具有隐式缩放1. 0。应进行关于这些现有算子的若干观察。首先,对现有算子进行缩放通常确保逆重叠的基础是平滑的并且提供除了较少的显著伪像之外的更多的编码增益。第二,由算子执行的实际缩放由于整数化的实现而稍微不同。第三,对应的编码器重叠算子对解码器的重叠算子执行逆缩放。第四,编码器处的这一按比例缩小具有对无损编码的某些暗示。对于无损编码,甚至完全平坦的图像也需要产生AC系数(并由此一定损失某一压缩效率)。第五,整数化实现中使用的舍入对某些分析和经验结果具有小效果。具体而言,诸如kalingGainMismatch (缩放增益失配)和DCLeakageRatio (DC泄漏比)等许多数量只是接近线性。在以下对重叠算子的描述中,为算子计算DC泄漏和DC增益失配。以下使用的用于计算DC泄漏的方法给出与基于矩阵系数的理论分析大致相同的结果,并且该方法更简单且更快速。最终,为了示出DC泄漏和DC增益失配的范围,通过考虑其中所有像素值都等于1000000(10~6)的输入块来为每一个重叠算子导出DC缩放增益比和DC泄漏。该输入被称为值&。用于全分辨率的现有Over Iap4x4算子。对于示例的现有Over Iap4x4算子,如果给定输入X1,则输出像素具有值1461540或1461M7。由此,0verlap4x4算子的kalingGainRatio (缩放增益比)大约是1. 461543。输出值中的差异(艮口,
1461540-1461547 = 7)是由于 DC 泄漏。现有 0verlap4x4 算子的 DCLeakageRatio (DC 泄漏比)是7/10~6。对于8位样本图像,最大范围是+/-1 /(缩放增益比)。由此,8位图像上的4x4 算子的最大DC泄漏是(7/10~6)xl28/缩放增益比=0. 000896/缩放增益比=0. 000614。 16位图像上的最大DC泄漏是256x 0. 000614 0. 157。用于全分辨率的现有Overlap^l算子。对于示例现有Overlap^l算子,如果给定输入&,则数据像素具有值12067 或1205078。0verlap4xl的缩放增益比大约是1. 2058。 如果对逆0verlap4Xl算子的输入全都是相同的值,则一对输入值上的该算子的缩放阶段的矩阵表示可被表示为
"1 + xy χ (2 + xyj .y l + xy ,其中χ = 3/32and y = 3/16。对一个输入的缩放是 1+xy+xQ+xy)= 19771/16384 1. 206726,而对另一输入的缩放是 y+1+xy = 617/512 1. 205078。DC 泄漏比是 19771/16384-617/512 = 27/16384 = 0. 001648。输出值中的差异(1206726-1205078 =1648)是由于DC泄漏。DC泄漏比是(1648/10~6)。该DC泄漏是小的,但仍旧显著。对于8位图像,最大DC泄漏是127/缩放增益比χ(1648/1(Γ6) 0. 1788/缩放增益比 0. 12247.对于16位样本图像,最大DC泄漏可以是+/-46/缩放增益比 31. 35。用于全分辨率的现有Corner0Verlap2x2算子。在现有实现中,不存在用于角的重叠算子。缩放增益比为1.0,而DC泄漏比为0.0。对于现有全分辨率算子的DC增益失配效应。在现有实现中,按照大小,主要问题是DC增益失配(如果不是知觉显著性的话),并且最坏情况效应可如下在理论上进行量化。对于8位样本图像,在边缘处,最坏情况kalingGainMismatch(缩放增益失配)将会是(1.4615-1. 205) χ 128/缩放增益比 22. 48。对于8位样本图像,在角处,最坏情况缩放增益失配将会是(1. 4615-1. 0)x 128/缩放增益比 59/缩放增益比 40. 46。对于16 位样本图像,边缘和角处的最坏情况缩放增益失配将会分别是22. 4x256和40. 46x256 = 10,393. 6。总最坏情况差异可被逼近为缩放增益失配和DC泄漏的总和。现有0verlap2x2色度算子。对于示例的现有0verlap2x2算子,如果对逆 0verlap2X2算子的输入全都是相同的值,则一对输入值上的该算子的缩放阶段的矩阵表示可被表示为
权利要求
1.一种执行逆重叠变换O60)的方法,所述方法用于使用数字媒体解码设备(800)来解码数字媒体,所述方法包括用所述数字媒体解码设备来对数字媒体执行逆频率变换O50);用所述数字媒体解码设备来对所述逆频率变换的结果应用多个重叠算子,所述多个重叠算子至少包括第一重叠算子和第二重叠算子,其中所述第一重叠算子是内部重叠算子, 并且其中所述第二重叠算子是边缘或角重叠算子,所述多个重叠算子中的每一个都由基本上等价的DC增益来表征(750)。
2.如权利要求1所述的方法,其特征在于,作为所述应用的一部分对图像和/或小块的内部4x4样本区域(310)应用所述第一重叠算子;所述第二重叠算子是对所述图像和/或小块的边缘4x1样本区域(330)应用的边缘重叠算子;以及对所述图像和/或小块的角2x2样本区域(320)应用所述多个重叠算子中的第三重叠算子。
3.如权利要求2所述的方法,其特征在于,所述第一重叠算子包括缩放阶段,并且其中所述第二重叠算子使用所述第一重叠算子的所述缩放阶段。
4.如权利要求2所述的方法,其特征在于,所述逆重叠变换是具有多个阶段的分层逆变换,并且其中所述第一、第二和第三重叠算子应用于所述多个阶段中的第一阶段中的至少一个通道的样本。
5.如权利要求2所述的方法,其特征在于,所述逆重叠变换是具有多个阶段的分层逆变换,并且其中所述第一、第二和第三重叠算子应用于所述多个阶段中的第二阶段中的多个全分辨率通道中的每一个的样本。
6.如权利要求2所述的方法,其特征在于,所述第一重叠算子包括具有给定缩放阶段的第一缩放,其中所述第二重叠算子包括具有给定缩放阶段的第二缩放,并且其中所述给定缩放阶段是
7.如权利要求2所述的方法,其特征在于,应用于所述角2x2样本区域的所述第三重叠算子在将所述角2x2样本区域中的左上、右上、左下和右下样本重新排序成中间样本区域之后使用所述第二重叠算子来应用。
8.如权利要求1所述的方法,其特征在于,所述逆重叠变换是具有多个阶段的分层逆变换,其中作为所述应用的一部分对图像和/或小块的内部2x2样本区域GlO ;510)应用所述第一重叠算子; 所述第二重叠算子是对所述图像和/或小块的边缘hi样本区域G30 ;530)应用的边缘重叠算子;以及对所述图像和/或小块的角Ixl样本区域G20 ;520)应用所述多个重叠算子中的第三重叠算子;并且其中所述第一、第二和第三重叠算子在所述多个阶段中的第一阶段中被应用于下采样色度通道的样本。
9.如权利要求8所述的方法,其特征在于,所述第一重叠算子和所述第二重叠算子包括具有因子―、▲和▲的二元提升步骤。
10.如权利要求8所述的方法,其特征在于,使用水平相邻位置B处的样本值来将所述第三重叠算子应用于位置A的样本值,并且其中所述第三重叠算子通过以下操作实现在重叠算子应用于位置B处的所述样本值之前,通过从位置A处的样本值中减去位置 B处的样本值来调整所述位置A处的样本值;以及在重叠算子已经应用于位置B处的所述样本值之后,通过将位置B处的样本值加到位置A处的样本值来调整所述位置A处的样本值。
11.一种使用数字媒体解码设备(800)来解码数字媒体的方法,所述方法包括 用所述数字媒体解码设备在已编码比特流中接收指示所选小块边界选项的信息(640),其中所述所选小块边界选项指示对重叠算子的硬小块边界处理和对重叠算子的软小块边界处理中的一个;至少部分地基于所述所选小块边界选项,执行逆重叠处理(650)。
12.如权利要求11所述的方法,其特征在于,还包括当所述所选小块边界选项指示所述对重叠算子的软小块边界处理时,跨小块边界执行具有逆重叠运算的逆重叠处理;以及当所述所选小块边界选项指示所述对重叠算子的硬小块边界处理时,跨小块边界执行不具有逆重叠运算的逆重叠处理,其中所述逆重叠处理仍然包括对各个小块边界的至少一侧上的边缘样本的逆重叠运算以减少DC增益失配。
13.如权利要求11所述的方法,其特征在于,所述所选小块边界选项在图像首部中发信号通知。
14.如权利要求11所述的方法,其特征在于当所述所选小块边界选项指示所述对重叠算子的软小块边界处理时,对当前小块的逆重叠处理包括至少部分地解码至少一个空间上相邻的小块;以及当所述所选小块边界选项指示所述对重叠算子的硬小块边界处理时,对所述当前小块的逆重叠处理独立于解码空间上相邻的小块。
15.一种计算机可读介质,其存储用于使得所述数字媒体解码设备由此被编程为执行如权利要求1-14中任一项所述的方法的计算机可执行指令。
全文摘要
在特定实施例中,在数字媒体的编码和/或解码期间应用重叠算子,其中重叠算子具有内部重叠算子与边缘和/或角处的重叠算子之间的减少的DC增益失配和/或DC泄漏。在其他实施例中,可对指示用于重叠处理的所选小块边界选项的信息进行编码和/或解码。所选小块边界选项指示用于对重叠算子进行处理的硬小块边界选项和软小块边界选项中的一个。然后可至少部分地基于所选小块边界选项来应用重叠变换处理。
文档编号H04N7/26GK102177714SQ200980141086
公开日2011年9月7日 申请日期2009年10月9日 优先权日2008年10月10日
发明者D·舍恩伯格, G·J·沙利文, S·L·瑞古纳萨恩, S·孙, S·斯里尼瓦桑, Z·周 申请人:微软公司