在分层层级中信号编码、解码和重构期间残差数据分解的方法、存储硬件及系统与流程

文档序号:14730966发布日期:2018-06-19 19:32阅读:375来源:国知局
在分层层级中信号编码、解码和重构期间残差数据分解的方法、存储硬件及系统与流程

在本领域中处理多维信号的或沿时间演进的信号的压缩和解压缩的许多技术是已知的。音频信号、视频信号和类似科学和医学领域中使用的体积信号的其它多维信号是这种情况。

为了实现高压缩比,那些技术利用信号内的空间和时间相关性。例如,常规的方法识别参考,并尝试确定当前位置和给定参考之间的信号的差异。这是在空间域和在时域二者中完成的,在空间域中参考是已经接收和解码的空间平面的一部分(例如块或“宏块”),在时域中,在信号(例如帧序列中的视频帧)的时间上的单个实例被视为针对某个持续时间的参考。例如MPEG(运动图像专家组)系列压缩算法是这种情况,其中先前解码的宏块被视为空间域中的参考,而I帧和P帧被用作针对时域中后续的P帧的参考。

已知的技术以许多方式利用空间相关性和时间相关性,采用几种不同的技术,以便识别、简化、编码和传输差异。根据常规的方法,为了利用图片元素的各个的块内残差(residual)的空间相关性,执行域变换(例如变换成频域),并且然后执行变换的信息的有损删除和量化,典型地引入一定程度的块伪像。替代地,在时域中,常规的方法发送当前样本和经运动补偿的参考样本之间的量化的差异。为了最大化样本之间的相似性,编码器尝试估计沿时间发生的修改对比参考信号。在常规的编码方法(例如MPEG系列技术、VP8等)中,这被称为运动估计和补偿。

如今的CPU(中央处理单元)和GPU(图形处理单元)典型地非常强大;单个GPU可包括数百个计算核心,以执行信息的并行处理。当使用当前的技术硬件时,图像的非常大的部分可存储在用于处理的处理器高速缓存中。需要将图像分段成许多小块,当创建JPEG和MPEG时这是驱动因素,因为来自那个时代的处理器一次只可以处理非常小组块的视频数据——并且然后返回来只顺序地处理——不再应用到现代的CPU和GPU。因此,当实现类似MPEG类型的编码/解码时,大部分的可用处理能力可能变得不使用,其中阻止伪像不必要地引入到信号中。

此外,和开发MPEG时的当前情况相比,现代的应用典型地需要更高清晰度的视频编码和更高的整体重放质量。在高清晰度(例如fullHD(全HD)、UltraHD(超HD))、高质量视频(例如关于原始信号的相对不可见的伪像)中,在具有低细节(甚至可能散焦)的区域和具有非常细微的细节的区域之间存在更大的差异。这使得使用频域变换(诸如在基于JPEG和基于MPEG的方法中所使用的那些变换)更不适合于图像处理和重放,因为相关频率的范围正变得更宽泛。

此外,较高分辨率的图像包括较大数量的摄像机噪声和/或胶片颗粒,即需要许多位来编码但对于观看可能相当不相干的非常详细的高频像素过渡对比对象的边界的类似高频率像素过渡。

除了少数尝试以外,在已知技术中忽略的另一个方面是质量可缩放性需求。可缩放的编码方法将编码压缩的信号的单个版本,并使得能够递送到不同质量水平、带宽可用性和解码器复杂度。由于计算复杂度以及一般来说相对于非可缩放技术的压缩效率低下,迄今在具有相对差的采用的类似MPEG-SVC和JPEG2000的已知方法中已经考虑了可缩放性。

在过去,作为对用于编码/解码的JPEG/MPEG标准的可缩放替代方案,所谓的图像拉普拉斯金字塔已用于编码/解码的目的。例如,常规的拉普拉斯金字塔系统使用高斯滤波器创建较低分辨率的图像,并且然后建立通过用严格编程的解码器从较低分辨率水平上采样回原始水平获得的图像之间的差异的金字塔。由于它们的压缩效率低下,已经放弃常规的拉普拉斯金字塔编码的使用。

迄今通过编码方法的技术发展水平利用的残差的域变换(例如傅立叶变换、离散余弦变换、哈达玛变换、小波变换等)遇到许多问题。

首先,变换成频域的非常选择使它们不适合适当地利用跨信号的大部分的相关性(即针对每个维度的具有大量样本的部分),因为真实世界的信号典型地示出有限数量的周期性。结果,在同时太大和太小的块上执行频域变换:太大以致于不能在计算上简单地利用高分辨率信号的相关性,太小以致于不能充分地利用高分辨率信号的相关性。例如,为了利用足够大的一组样本的相关性,而同时管理计算复杂度,常规的图像和视频编码技术在8x8、16x16或32x32个元素的块上操作:明显太小以致于不能完全捕获高清晰度图像(例如具有800万像素)中图像图案的相关性,但足够大以吸收显著的计算能力。

其次,利用频域变换的已知方法以不取决于转换方向的方式隐含地假设:人类对谐波(例如色彩转换的频率)敏感,而几个研究已经示出:人类识别转换锐度要比转换的精确方向/角度好得多,尤其是在观看复杂形状时。

第三,已知的有损编码技术通过量化变换的结果而操作,不可避免地生成两个问题:(1)在一个块和相邻块之间的基于块的伪像,将用相对复杂的去块化(de-blocking)图像处理方法来校正;(2)不可能容易地控制经编码图像中的最大误差,因为实际的像素值是去量化的参数的逆变换的结果,以使得块的量化的参数中的量化误差以难于管理而没有多次重新编码和/或极其复杂的量化方案的方式彼此组合。避免块伪像并保证最大误差控制是特别重要的特征,尤其是在诸如医疗成像或专业图像/视频制作之类的应用中。



技术实现要素:

本文中的实施例相对于常规系统和方法而偏离,提供新颖的方法以量化和/或变换元素信息(诸如残差数据)以重构的图像的再现(rendition),从而实现编码方法,其特征在于:高效的熵编码、低的计算复杂度、并行性、可缩放性、误差控制等。本文中的方法和实施例表示用以实现具有低的计算复杂度、并行性、可缩放性和误差控制的有效的熵编码结果的一种创新的方法。

根据其最广泛的方面,本文中的实施例包括用于将信号元素的集合(即合适的值的序列)变换成经变换的信号元素的集合的方法,以便高效地对其进行熵编码。本文中图示的实施例尤其聚焦于非限制性的使用情况,其中所述信号元素对应于将添加到图像的预测(即初步)再现以便获得相同图像的目标再现的残差数据,至少部分地通过上采样和/或处理处于较低质量水平(例如对比原始信号再现而具有较低的保真度水平)的相同图像的再现而获得所述预测再现。本文中图示的实施例尤其聚焦于非限制性的情况,其中较低质量水平是跨一个或多个信号维度的较低分辨率(即较粗略的采样网格),虽然本领域技术人员可容易地使相同的方法适应于其中处于较低质量水平的信号是具有相同分辨率和较低细节水平的信号的情况(例如,但不限于,元素值的较粗略的量化)。

本文中的实施例结合传统的编码方法是有用的,并且结合基于层的编码方法、在相同作者的其它专利申请中描述的一组其它新颖的方法是有用的。

为简单起见,本文中图示的非限制性实施例将信号称为多维样本的序列(即被组织为具有一个或多个维度的阵列的一个或多个元素的集合,例如通过非限制性示例的方式,被组织为二维图像的图片元素的集合)。在描述中,术语“图像”或“平面”(旨在具有“超平面”的最广泛的含义,即,具有任何数量的维度和给定的采样网格的元素的阵列)将经常用来识别沿着样本序列的信号的样本的数字再现,其中对于它的维度(例如X和Y,在二维的情况下)中的每一个,每个平面具有给定的分辨率,并且包括用一个或多个“值”或“设置”(例如通过非限制性示例的方式,在合适的色彩空间中的色彩设置、指示密度水平的设置、指示温度水平的设置、指示音频音调的设置、指示振幅的设置等)表征的平面元素(或“元素”,或“像元(pel)”,对于二维图像经常被称为“像素”,对于体积图像经常被称为“体素”等)的集合。每个平面元素由合适的坐标集标识,指示在图像的采样网格中所述元素的整数位置。信号维度可仅仅包括空间维度(例如在图像的情况下)或者还可包括时间维度(例如在随着时间的推移演进的信号的情况下)。

作为非限制性示例,信号可以是图像、音频信号、多通道音频信号、视频信号、多视图视频信号(例如3D视频)、全光信号、多谱信号、体积信号(例如医学成像、科学成像、全息成像等)、体积视频信号或者甚至是具有多于四个维度的信号。

为简单起见,本文中图示的非限制性实施例经常指的是被显示为设置的2D平面(例如在合适的色彩空间中的2D图像)的信号,诸如例如图像或视频信号(即随着时间的推移演进的2D图像的序列)。然而,本领域技术人员可将相同的概念和方法容易地应用到任何其它类型的多维信号(例如体积信号、视频信号、3D视频信号、全光信号等)。

本文中图示的非限制性实施例还经常图示以质量水平(“LOQ”)的分层层级编码的信号的情况,其中在分层层级中较高的质量水平具有逐渐更高的分辨率(即用于信号的一个或多个维度的更大数量的样本)。为简单起见,本文中图示的非限制性实施例经常指的是针对信号的每个维度的用比例因子2增加的分辨率的简单情况,但本领域技术人员可容易地将相同方法也应用到具有不同的(和可能各向异性的)比例因子的情况。当与以质量水平的分层层级编码的信号一起工作时,允许重构由较低LOQ的相同元素(例如与其位于同处)“控制”的给定LOQ的元素设置的残差表现出由本文中图示的非限制性实施例有效利用的重要相关性。为简单起见,我们将处于较高的LOQ的平面元素(“受控像元”)的给定集合的“控制平面元素”(或“控制像元”)称为处于较低LOQ的父元素,该父元素与处于较高的LOQ的给定的平面元素集合位于同处。

本文中图示的进一步的非限制性实施例变换残差数据(即,关于应用于信号的元素以便获得处于给定质量水平的合适的信号的再现的调整的信息),以便利用残差本身之间的相关性以及存在于残差和处于较低质量水平的信号的再现之间的相关性二者。特别地,为了将残差数据高效地编码成数字位流,两个操作是必需的:量化(即,给每个值分配属于给定的符号的有限字母表的符号)和熵编码。熵编码之前变换符号允许降低将被编码的符号的变化性,因此提高熵编码器的效率。利用处于较低质量水平的信号的再现允许基于已经在解码器处可用的信息预测残差信息的部分,进一步提高编码效率。变换残差块而同时利用处于较低质量水平的信号的再现——即有效地实现多尺度变换——还允许利用跨比块本身宽的信号的一部分的信号相关性:这样,我们可以保持块尺寸极小(例如甚至2x2),而同时利用跨更宽区域的相关性,同时实现计算复杂度益处和编码效率益处二者。

本文中图示的方法基本上允许变换残差,以便最小化在经变换的量化残差数据的多个集合中的不同符号的数量,因此降低编码和发送所述多个集合所必需的位流的大小。在本文中所述的一些非限制性实施例中,在编码侧的变换步骤之后执行量化步骤(并且因此在解码侧的逆变换步骤之前),类似于迄今用常规编码方法所做的。在本文中所述的其它新颖的非限制性实施例中,在编码侧的变换步骤之前执行量化步骤(并且因此在解码侧的逆变换步骤之后),有效地实现无损变换方法。在变换步骤之前执行量化步骤允许控制(并且在必要的限制的情况下)在甚至开始编码的更计算密集的部分之前用有损编码引入的误差。本文中所述的非限制性实施例还有效地处理跨通过无损变换获得的符号的已知相关性。

本文中图示的非限制性实施例经常图示应用到2x2的残差集合上的分解变换。这应当旨在作为非限制性的,并且本领域技术人员能够在具有不同尺寸的残差的集合上容易地应用相同的方法,包括每个维度(例如2x1残差集合)或多于两个维度(例如,在体积图像中或者在其中第三维度表示时间的视频信号中LxNxM残差集合)的不同尺寸。

在本文中所述的非限制性实施例中,第一信号处理器(“编码器”)被配置成以质量水平的层级对信号进行编码,而第二信号处理器(“解码器”)被配置成以质量水平的层级对所述信号的再现进行解码。

编码器接收处于第一质量水平的信号,并产生处于第二质量水平的信号的再现,第二质量水平低于第一质量水平。编码器然后处理处于第二质量水平的信号的再现,产生处于第一质量水平的预测的信号的再现。编码器然后生成残差数据,所述残差数据对应于处于第一质量水平的信号和处于第一质量水平的预测的信号的再现之间的差异。编码器然后通过应用分解变换、产生参数(“分量”或“残差分量”)而变换残差数据。分解残差以获得残差分量允许编码器更好地利用残差之间的相关性;此外,一些分量比残差与具有处于第二质量水平的信号的再现更相关,使得它们比未变换残差更容易发送。编码器然后处理所述分量、所述处于第一质量水平的预测的信号的再现、以及所述处于第二质量水平的信号的再现,产生变换残差。编码器然后将所述处于第二质量水平的信号的再现和所述变换残差编码成对应的经编码数据。

解码器接收所述经编码数据,并至少部分地基于所述经编码数据而重构处于第二质量水平的信号的再现以及经重构的变换残差。解码器处理处于第二质量水平的信号的再现,产生处于第一质量水平的预测的信号的再现,第一质量水平高于第二质量水平。解码器处理所述处于第一质量水平的预测的信号的再现、所述处于第二质量水平的信号的再现以及所述经重构的变换残差而产生经重构的分量。解码器将逆分解变换应用到经重构的分量,产生经重构的残差。解码器将处于第一质量水平的预测的信号的再现与经重构的残差相组合,产生处于第一质量水平的信号的再现。

在本文中所述的非限制性实施例中,通过包括残差之间的加法和/或差异的计算而获得残差分量,并通过包括残差分量之间的加法和/或差异的计算而获得残差。在非限制性实施例中,被执行以编码变换残差的操作包括:选择变换残差的子集,该变换残差的子集对应于处于第一质量水平的残差的平面中相邻残差的子集,至少部分地基于处于第二(较低)质量水平的信号的再现而生成值,并组合所述值与残差分量的至少一个,产生对应于所述残差的子集的变换残差的子集。

在本文中所述的其它非限制性实施例中,解码器处理经编码数据,生成对应于调整的残差集合,要对处于第一质量水平的预测的信号的再现的元素执行所述调整以便产生处于第一质量水平的信号的再现,所述处于第一质量水平的预测的信号的再现由解码器至少部分地基于处于第二质量水平的信号的再现而产生,第二质量水平低于第一质量水平。解码器接收对应于变换残差的经编码数据,并至少部分地基于所述经编码数据而产生经重构的残差分量。解码器然后通过将逆分解应用到经重构的残差分量而生成经重构的残差的集合。

在非限制性实施例中,解码器还至少部分地基于处于第二(较低)质量水平的信号的再现产生所述经重构的残差分量。在非限制性实施例中,对于处于第一质量水平的信号的元素的每个子集,解码器产生参数集合(“经重构的变换残差”)。解码器产生对应于所述参数集合的值,所述值至少部分地基于处于第二(较低)质量水平的信号的再现。解码器然后组合一个或多个参数和所述值,产生对应于所述处于第一质量水平的信号的元素的子集的经重构的残差分量的集合。解码器然后通过应用逆分解而处理经重构的残差分量,产生经重构的残差的集合。在非限制性实施例中,通过经重构的残差分量之间的加法和/或差异而获得所述集合中的每个经重构的残差。

在本文中所述的一些非限定实施例中,在被处理以便产生经重构的残差分量之前去量化经重构的变换残差,即在应用逆分解之前执行去量化。在非限制性实施例中,应用到每个经重构的变换残差(或者应用到每个经重构的残差分量)的去量化操作基于在变换残差的集合中对应的变换残差的相对位置而变化。

在本文中所述的其它非限制性实施例中,在逆分解之后应用去量化操作,去量化经重构的残差。

在本文中所述的一些非限制性实施例中,与经重构的变换残差相组合以便产生对应的残差分量的集合的所述值对应于集合中残差的平均(“预测平均”)。在非限制性实施例中,通过平均处于第一(较高)质量水平的预测的信号的再现的元素的集合并减去处于第二(较低)质量水平的信号的再现的对应元素,而产生残差的集合的预测平均。

在本文中所述的一些非限制性实施例中,处于第一(较高)LOQ的残差的分解利用以下事实:对应于平面元素(“受控像元”)的给定子集的残差的子集与处于较低LOQ的控制像元的值相关,因为预测元素的平均(对解码器已知)和残差的平均(将由解码器重构)的总和对应于控制像元的值(也是对解码器已知)。事实上,在不存在量化操作的情况下,在甚至开始提供残差数据之前由已经在解码器侧已知的信息精确地确定残差的平均(或者等效地,残差的总和)。

存在几种方法来利用计算预测的残差的平均的可能性,以便改善残差编码和解码的效率。在非限制性实施例中,处于第一LOQ的残差的平面被划分成2x2块。对于每个2x2块,残差中的一个不被编码(即它不被发送到解码器),因为解码器从其它三个和从预测的残差的平均中重构它(即,基于每个2x2块的其它三个残差,解码器具有产生缺失的残差所必需的信息)。当量化残差数据时,此实施例将所有的累计的量化误差集中在每个2x2块的四个残差之一。通过将分解变换应用到残差的每个块,其它非限制性实施例避免了此问题(而仍然维持利用预测的平均信息的效率优点)。

在本文中所述的一些非限制性实施例中,编码器将“方向分解(directional decomposition)”变换应用到对应于处于第一质量水平的信号的再现的残差的二维平面的残差的每个2x2块。在这种实施例中,四个残差分量对应于针对2x2残差块的变化性的四个“方向”:平均(“A”,对应于“强度倾斜(tilt)”,概念上正交于2x2块的平面,残差的总和除以四)、水平倾斜(“H”,对应于残差的水平差异,左边残差的总和减去右边残差的总和)、垂直倾斜(“V”,对应于残差的垂直差异,顶部的残差的总和减去底部残差的总和)以及“对角”倾斜(“D”,对应于剩余的差异,未由2x2残差块中简单的方向转换解释)。

平均分量A和预测的平均之间的差异(例如,但不限于,被计算作为预测元素的平均总和减去处于较低LOQ的控制元素)被称为“delta平均”或“δa”。对于现实世界的信号,δa经常等于零,并且结果,经常优选地计算δa和熵编码δa而不是分量A。2x2残差块的水平和垂直倾斜表示转换的强度和方向:对于常规的信号,它们可能局部地相关,同样提高熵编码的效率。

其它非限制性实施例应用方向分解的其它方法,其中在变换残差的给定集合中的至少一个变换残差对应于与所述变换残差的给定集合对应的残差集合的值的方向倾斜。非限制性实施例通过执行包括图像处理操作的计算(例如方向变换、样条(spline)计算、Sobel滤波、梯度计算等)来计算变换的残差。

在本文中所述的非限制性实施例中,对于残差的平面中每个NxM残差块(例如,但不限于,对于每个2x2残差块),编码器产生对应于变换残差的参数集合。编码器然后将参数分成子集——所述子集的每一个对应于相同类的变换残差,其中子集的每个元素对应于残差块——并且单独地编码每个子集(即,分离地编码子集,并且用来熵编码每个子集的参数独立于其它子集的熵编码)。

在本文中所述的一些非限制性实施例中,编码器在2x2残差块上执行方向分解,并且单独地(即分离地)编码δa、H、V和D参数的四个子集。

在其它非限制性实施例中,至少一个经编码参数对应于相同残差块的多个变换残差。在非限制性实施例中,编码器在2x2残差块上执行方向分解,并且针对每个2x2残差块产生对应于四个参数δa、H、V、D的单个参数(即单个符号),其中所述参数变成对应于所述残差块的唯一经编码参数。在其它非限制性实施例中,单独地编码δa参数和D参数的子集,而处理H和V参数以便产生参数的单个子集,其中每个参数对应于给定的2x2残差块的H参数和V参数。

在本文中所述的其它非限制性实施例中,解码器接收对应于针对受控像元(即针对LOQ的分层层级中解码的信号的处于给定的LOQ的再现的元素)的变换残差的数据。为了基于变换残差而重构残差,解码器将变换残差与至少部分地基于处于低于所述给定LOQ的LOQ的信号的再现的参数相组合。在非限制性实施例中,解码器将变换残差之一与在处于较低LOQ的控制像元的设置和处于给定LOQ的受控像元的预测设置(即在添加残差之前的设置)的平均之间的差异相组合。在非限制性实施例中,每个变换残差对应于残差块,并影响属于其对应块的所有残差的值。

在本文中所述的其它非限制性实施例中,编码器选择处于第一(较高)LOQ的残差平面中的残差块,并且至少部分地基于所述块中的残差并基于处于第二(较低)LOQ的信号的再现而产生参数集合。

在本文中所述的其它非限制性实施例中,解码器接收对应于处于第一(较高)LOQ的残差平面中的残差块的参数集合,并至少部分地基于所述参数集合并基于处于第二(较低)LOQ的经重构的信号的再现而产生残差集合。

根据进一步的非限制性实施例,通过基于层的层级编码方法来编码和解码输入信号,并且至少部分地基于相同的元素集合(“支持平面”),通过运动补偿所述支持平面并通过将其与相对残差组合,而产生跨时间维度的针对相邻样本的残差平面,根据在相同作者的其它专利申请中描述的方法。在非限制性实施例中,变换的相对残差至少部分地基于所述支持平面。在非限制性实施例中,根据本文中所述的方法编码和解码支持平面和相对残差的平面二者。

应注意的是,本文中的实施例可用软件或硬件来实现,或者可使用软件和硬件的组合来实现,并且其可以包括一个或多个计算机化设备、路由器、网络、工作站、手持式或膝上型计算机、平板计算机、移动电话、游戏控制台、机顶盒等的配置以执行和/或支持本文公开的任何或所有方法操作。换言之,可以将一个或多个计算机化设备或处理器编程和/或配置成如本文所解释地进行操作以执行不同的实施例。

除如上文所讨论的技术之外,本文中的又其它实施例包括用以执行上文概述和下面详细地公开的步骤和操作的软件程序。一个此类实施例包括计算机可读硬件存储资源(即,非临时计算机可读介质),其包括编码在其上的计算机程序逻辑、指令等,其当在具有处理器和对应存储器的计算机化设备中执行时对处理器编程和/或使处理器执行本文公开的任何操作。可以将此类装置提供为在计算机可读介质上布置或编码的软件、代码和/或其它数据(例如,数据结构),所述计算机可读介质诸如光学介质(例如,CD-ROM、DVD-ROM或BLU-RAY)、闪速存储器卡、软盘或硬盘或能够存储计算机可读指令的任何其它介质,诸如一个或多个ROM或RAM或PROM芯片中的固件或微码或者作为专用集成电路(ASIC)。可以将软件或固件或其它此类配置安装到计算机化设备上以使计算机化设备执行本文所解释的技术。

因此,本公开中的一个特定实施例针对一种包括其上存储有指令以用于支持信号处理操作的计算机可读硬件存储介质的计算机程序产品。

步骤的排序已被添加以为了清楚起见。可以按照任何适当次序来执行这些步骤。

本公开的其它实施例包括用以执行上文概述和下面详细地公开的任何方法实施例步骤和操作的软件程序、固件和/或相应硬件。

另外,应理解的是可以将如本文所讨论的系统、方法、设备、在计算机可读存储介质上的指令等严格地体现为软件程序、作为软件、固件和/或硬件的混合或者单独地作为硬件,诸如在处理器内或操作系统内或软件应用内等。

如上文所讨论的,本文中的技术非常适合于在处理信号并产生经编码数据的位流或处理经编码数据的位流且产生信号的再现的软件、固件和/或硬件应用中使用。然而,应注意的是本文中的实施例不限于在此类应用中使用,并且本文所讨论的技术也非常适合于其它应用。

另外,应注意的是虽然可以在本公开的不同位置处讨论了本文中的不同特征、技术、配置等中的每一个,但意图在于可以相互独立地或相互组合地执行每个概念。因此,可以以许多不同方式来体现和查看如本文所述的一个或多个本发明、实施例等。

而且,应注意的是,本文中的实施例的此初步讨论并未指定本公开或一个或多个要求保护的发明的每个实施例和/或递增式创新方面。而是,此简要描述仅提出了一般实施例和相比于常规技术的对应创新点。针对一个或多个发明的附加细节和/或可能观点(替换),将读者引向如下面进一步讨论的本公开的具体实施方式小节和对应附图。

附图说明

根据如附图中所示的本文中的优选实施例的以下更特定描述,本发明的前述及其它目的、特征以及优点将是显而易见的,在附图中相同的附图标记遍及不同视图指示相同部分。附图不一定按比例,而是着重于说明实施例、原理、概念等。

图1A、1B、1C、1D和1E是根据本文中图示的非限制性实施例的描述编码和解码系统的示例图。

图2A和2B是根据本文中图示的非限制性实施例的描述基于分层的层级解码和编码的示例图。

图3A、3B、3C、3D、3E和3F图示根据本文中图示的非限制性实施例的残差的分解和逆分解。

图4A、4B、4C、4D和4E是根据本文中图示的非限制性实施例的描述逆分解的示例图。

图5图示根据本文中图示的非限制性实施例的由解码器执行的操作。

图6图示根据本文中图示的非限制性实施例的执行方向分解的编码器的流程图。

图7图示根据本文中图示的非限制性实施例的执行逆方向分解的解码器的流程图。

图8是图示根据本文中所述的实施例的提供数据处理的计算机系统的示例图。

图9是图示根据本文中的实施例的编码信息的示例图。

图10和11是图示根据本文中实施例的示例方法的示例流程图。

具体实施方式

本文中图示的方法适合于任何类型的多维信号,包括但不限于声音信号、多通道声音信号、图片、二维图像、视频信号、多视图视频信号、3D视频信号、体积信号、体积视频信号、医学成像信号、具有多于四个维度的信号等。

为简单起见,根据描述,图示的实施例通常采用2D图像(例如或者是分离的图片,或者是视频信号的帧/场)的使用情况,其中每个元素(在这种非限制性示例的情况下典型地被称为“像素”,更一般地被称为“像元”)由在合适的色彩空间(例如YUV、RGB、HSV等)中的色彩集合或其它参数设置表征。不同的色彩平面(例如亮度——Y平面和两个色度——U和V——平面)经常被分离地编码,并且经常具有不同的分辨率(由于人眼对色度信息的较低灵敏度)。

本文中图示的方法和实施例可彼此和/或与其它方法结合使用。本文中图示的许多优选实施例描述具有实现压缩的目标的技术和算法,即:用最小数量的位编码合适的信号的再现。这也是非限制性的示例:其它非限制性实施例实现不同的目的,诸如多尺度编码和解码、自适应流式传输、鲁棒和高效的滤波、信号降噪(例如图像降噪、视频降噪等)、信号增强(例如信号超采样、去交织等)、信号质量度量的生成、内容识别、机器视觉、信号加密(例如安全通信)等。

图1A是描述利用本文中图示的方法的编码和解码系统的非限制性实施例的示例图。

编码器110接收信号100(诸如二维图像),并将其编码成数据流115。解码器120接收数据流115,并产生经重构的信号130。经重构的信号130可与原始信号100相同或仅仅大体上类似,这取决于编码/解码是有损还是无损。

在一个实施例中,编码器111接收原始信号140(视频信号,即二维图像的多个帧的序列),并将其编码成通过相应的通信链路发送到目标接收方的数据流116。在接收方处的解码器121接收数据流116,并产生经重构的信号150,其中经重构的图像150-1,150-2,...,150-n是对应于原始图像140-1,140-2,...,140-n的经重构的再现。经重构的图像150-1可与原始图像140-1相同或大体上类似,这取决于相应的编码和/或解码是有损还是无损;经重构的图像150-2可与原始图像140-2相同或大体上类似,这取决于相应的编码和/或解码是有损还是无损;经重构的图像150-3可与原始图像140-3相同或大体上类似,这取决于相应的编码和/或解码是有损还是无损;等等。

根据进一步的实施例,编码器112接收原始信号160(包括多个元素的体积信号),并将其编码成数据流117。解码器122接收数据流117,并产生经重构的信号170(例如原始信号的再现)。

图1B是根据本文中实施例的图示多尺度编码和解码系统的非限制性示例图。

在一个实施例中,编码器111接收原始信号140,并将其编码成多尺度数据流116。在此示例性实施例中,解码器121-2接收数据流116,并产生与原始信号和/或信号150相比处于第一(较低)质量水平的较低LOQ的经重构的信号151(例如包括帧151-1、151-2等等)。

此外,在此示例性实施例中,解码器121-1接收数据流116,并产生处于较高LOQ(例如处于第二质量水平)的经重构的信号150。在此示例性实施例中,第二质量水平高于第一质量水平。

在非限制性实施例中,第二质量水平具有比第一质量水平更高的分辨率(空间和/或时间)。在另一个非限制性实施例中,解码器121-2利用基于MPEG的解码技术(例如MPEG2、MPEG4、h.264等),以便解码数据流116。在又一个非限制性实施例中,解码器121-1产生处于较低LOQ的经重构信号151,并且然后至少部分地基于首先再生处于较低的LOQ的经重构的信号151而重构或得出处于较高的LOQ的经重构的信号150。换句话说,解码器121-1使用在数据流116中编码的第一部分,以再生信号的再现151(例如151-1、151-2等等)。此后,解码器121-1使用数据流116中的数据的第二部分,以上采样信号的再现151并将其修改成信号的再现150。

在非限制性实施例中,第二质量水平具有通过用比例因子二来对第一质量水平的每个空间维度进行上采样而获得的分辨率。例如,数据流116可被配置成包括重构数据的第一部分,该重构数据指示如何再生处于第一质量水平的信号的再现的原始元素。数据流116中附加的重构数据可指示如何将处于第一质量水平的元素转换成处于第二质量水平的多个元素。通过非限制性的示例,处于第二质量水平的多个元素提供处于第一质量水平的原始元素的较高分辨率。重复这些步骤,低分辨率的图像可被转换成较高分辨率的图像。较高的图像分辨率提供更多的图像细节(因为它包括更多的图像元素),并且因此对于观众可能更有吸引力。

在其它非限制性实施例中,第二质量水平具有通过用特定比例因子(包括非整数的比例因子和/或等于1的比例因子)上采样信号的每个维度而获得的分辨率。例如,

在非限制性的示例性实施例中,TV解码器的解码信号处理器(例如,但不限于,机顶盒)被编程为以便实现如图1B中图示的方法,其中数据流116对应于接收的广播信号。这样,传统解码器接收相同的数据流116,但是恰恰忽略允许重构处于较高质量水平的信号的再现的附加数据。正如所提到的,较高质量水平可以是以较高分辨率的信号的再现。

在其它非限制性实施例中,流式传输服务器处理经编码的数据流116,并且响应于解码器的特性和/或带宽拥塞而生成数据流的版本,该版本仅包括将信号解码直到给定的质量水平(与最大可能的质量水平相对)所必需的经编码数据。在这种实例中,带宽不被浪费在将不用来重构原始信号的再现的数据的传输上。

图1C图示根据本文中实施例在任何后续的质量水平之间在两个维度中用比例因子2对二维图像进行基于分层层级编码和解码的非限制性的示例性实施例。

在此示例性实施例中,图像130-3是处于给定的质量水平的图像的再现,并且特别地具有8x8个元素的分辨率。图像130-4是处于紧接较低的质量水平的相同图像的再现,并具有4x4个元素的分辨率。

较低LOQ的元素130-4-1与较高LOQ的元素130-3-1、130-3-2、130-3-3和130-3-4位于同处。在此示例性实施例中,元素130-4-1因此是元素130-3-1、130-3-2、130-3-3和130-3-4(“受控元素”或“子元素”)的“控制元素”(或“控制像元”或“父元素”)。

其它非限制性实施例在具有多于两个维度的图像上应用相同的方法,产生具有对于每个层合适的比例因子的分层层级,包括非整数的比例因子和/或针对不同维度的不同比例因子和/或沿着层级的不同比例因子。

图1D图示根据本文中实施例在LOQ N-1和LOQ N之间在两个维度中用比例因子2对二维图像进行基于分层的层级编码和解码的另一个非限制性的示例性实施例。

LOQ N-1的父元素130-(N-1)-1(“控制元素”)与LOQ N的对应的四个子元素130-N-1(“受控元素”)位于同处。一般地,父元素130-(N-1)-1被用作在其中再生(例如经由随后为使用残差数据的调整的上采样)对应的四个子元素130-N-1的基线。

图1E图示根据本文中实施例在LOQ N-1和LOQ N之间在二维中用3/2的非整数比例因子对二维图像进行基于分层的层级编码和解码的另一个非限制性的示例性实施例。

LOQ N-1的父块130-(N-1)-2(控制元素的群组,因为在这种情况下,没有LOQ N-1的单个元素与LOQ N的元素集合精确地位于同处)与LOQ N的子元素130-N-2(受控元素集合)位于同处。在此非限制性示例中,计算对应于子元素130-N-2的残差的预测平均可能需要处理父块130-(N-1)-2和子元素130-N-2的预测再现二者(与单个父元素相对)。

为简单起见并且为了进一步的图示的缘故,公开的以下部分包括从一个质量水平到下一个使用二的比例因子的示例。然而,本领域技术人员可以容易地适应本文中所述的用于分层层级的所有方法,该分层的层级具有多个不同类型的比例因子中的任一个,包括各向异性和/或非整数的比例因子。

图2A是根据本文中实施例的描述在质量水平的分层层级中的信号的解码的示例图。

在此示例性实施例中,解码器210接收重构数据200-1,并产生处于LOQ N-1(在此示例中是底部质量水平或较低质量水平)的经解码的图像245-(N-1)。

针对下一个LOQ 220-1的预测的计算器用如由针对操作215-1的对应的参数所指定的操作来处理图像245-(N-1),产生预测图像225-1。假设2x2的向上比例因子,计算器220-1产生指定针对8x8的元素块的设置的预测图像225-1。

解码器230接收重构数据200-2,并产生残差240(即重构数据或残差数据)。在此示例性实施例中,残差240可以是匹配图像245-N中元素的数量的元素设置信息的8x8矩阵。

由计算器220产生的预测图像225-1也可以是匹配图像245-N中元素的数量的元素设置信息的8x8矩阵。

在一个实施例中,将图像245-(N-1)上采样成预测图像225-1仅仅是包括8x8个元素的基线图像。预测图像225-1和残差240逐个元素地组合,从而产生经解码的图像245-N,经解码的图像245-N是处于LOQ N(例如8x8个元素)的信号的再现。在一个实施例中,残差240包括与预测图像225-1中的元素相加或组合以产生图像245-N的8x8个元素的集合。残差240应用到预测图像225-1产生处于对应的质量水平的信号的更准确的再现。换句话说,信号的再现245-N是比预测图像225-1更准确的原始信号的再现。

可根据相同的方法产生处于每个随后的较高LOQ的信号的再现:基于处于当前LOQ的再现,产生处于下一个较高的LOQ的预测再现;解码残差;组合处于较高LOQ的预测再现与经解码的残差,从而产生处于较高LOQ的信号的再现。对于阵列中的每个元素,组合可包括:选择在预测图像225-1以及残差240内的元素的位置,并将该值求和以产生针对图像245-N中对应的元素的值。

在非限制性实施例中,解码器210利用——以便解码重构数据200-1——解码方法,该解码方法不同于由解码器230利用的解码方法。在一个非限制性的示例性实施例中,解码器210实现H.264解码方法。

在其它非限制性实施例中,解码器230基于还被用于产生针对图像序列中的相邻图像的残差的经编码数据的集合(“支持平面”经编码数据)而产生残差240。

因此,任何合适的上采样算法可用来将处于第一质量水平的基线信号或图像转换到处于下一个较高质量水平的较高分辨率的预测图像。

图2B是根据本文中实施例的描述编码器在质量水平的分层层级中对信号进行编码的示例图。

被配置为编码器的信号处理器接收处于LOQ #0的图像130-0作为输入,诸如以较高分辨率的图像。图像130-0被下采样器250-0处理,产生处于LOQ #-1的图像130-1。图像130-1被下采样器251-1处理,产生处于下一个较低的LOQ #-2的图像130-2。重复此下采样过程,直到产生处于底部LOQ #B(还更低的质量水平)的图像130-B。

一旦产生处于最低的质量水平的图像130-B,编码器开始产生重构数据(残差数据或调整值),所述重构数据将是在解码侧(即解码器)为了重构处于不同质量水平的原始信号的再现(或者更精确地,信号的再现的分层层级)所必需的。

在此示例性实施例中,为了做到这点,编码器产生针对底部LOQ(用于信号的重构的起始LOQ)的重构数据,并且然后模拟将由解码器执行以便基于较低的LOQ逐步重构到每个下一个较高的LOQ的所有操作。创建当在层级中向上遍历时针对每个元素的调整值使得相应的解码器能够再生处于多个质量水平中每一个的原始信号的再现。

在一个实施例中,最低的质量水平是最低的分辨率。相继较高的质量水平表示信号的较高分辨率再现。

在此示例性实施例中,图像130-B由残差计算器260+B处理,产生残差数据RB 270+B。残差数据270+B由重构数据的生成器280+B处理,产生重构数据290+B。

重构数据290+B由模拟解码器2100+B处理,产生处于底部LOQ #B的信号的再现245-B和处于LOQ #(-B+1)的预测再现225-(B+1)。处于任何给定的LOQ #N的预测再现连同对应的图像130-N一起由编码器处理,以便产生残差数据。

残差计算器261接收处于LOQ #-1的图像130-1和处于LOQ #-1的预测再现225-(-1),产生残差数据271。在一个实施例中,残差数据271(或重构数据)包括将应用到接收的预测再现225-(-1)以便再生处于对应的质量水平#-1的信号的再现的调整值。残差数据271由重构数据的生成器281处理,产生重构数据291。

重构数据291由模拟解码器2101处理,产生处于LOQ #-1的信号的再现245-1以及处于LOQ #0的预测再现225-0。

残差计算器260接收处于LOQ #0的原始图像130-0和处于LOQ #0的预测再现225-0,产生残差数据270。在一个实施例中,残差数据270(或重构数据)包括将应用到接收的预测再现225-0以便再生处于对应的质量水平#0的信号的再现的调整值。残差数据270由重构数据的生成器280处理,产生重构数据290。

重构数据290由模拟解码器2100处理,产生信号的再现245-0,信号的再现245-0是处于将在解码侧生成的再现的层级中的最高LOQ的信号的再现。

在非限制性实施例中,根据质量度量,编码器验证:再现245-0合适地类似于原始图像130-0。如果质量度量得分低于阈值,则编码器重新处理针对一个或多个LOQ的重构数据(例如通过调整合适的编码参数),直至针对245-0和130-0之间相似性的质量度量高于阈值。

在另一个非限制性实施例中,编码器验证:编码重构数据290,291,...,290+B所必需的位流的数量低于最大阈值。如果必需的位流的数量高于阈值,则编码器重新处理针对一个或多个LOQ的重构数据(例如通过调整合适的编码参数),直至将在位流中发送的必需的数据量低于阈值。

图3A和3B图示根据本文中实施例的方向分解的示例。方向分解被应用于2x2残差块的分组,在沿两个维度用比例因子2来进行2D上采样的情况下(即对于处于LOQ #(N-1)的每个父元素,存在处于下一个较高的LOQ #N的四个受控像元(即图片元素),并且因此必须解码四个残差,以便合适地重构所述受控像元。

方向分解表示以有用的方式编码重构数据(诸如残差数据)的方法。

在此示例中,假设残差块300是处于给定的LOQ #N的残差数据的平面的一部分,该残差数据由解码器处理并与处于给定LOQ #N的预测的信号的再现组合,以便产生处于所述给定的LOQ #N的信号的再现。特别地,残差块300由四个残差ri,j,ri,j+1,ri+1,j和ri+1,j+1构成。残差ri,j是指示如何修改预测图像中的对应的元素pi,j以再生元素xi,j的再现的调整值;重构数据ri,j+1是指示如何修改预测图像中的对应的元素pi,j+1以再生元素xi,j+1的再现的调整值;重构数据ri+1,j是指示如何修改预测图像中的对应的元素pi+1,j以再生元素xi+1,j的再现的调整值;重构数据ri+1,j+1是指示如何修改预测图像中的对应的元素pi+1,j+1以再生元素xi+1,j+1的再现的调整值。

特别地,残差块300对应于由处于较低的LOQ #(N-1)的父元素y1 306控制的处于LOQ #N的图像元素xi,j,xi,j+1,xi+1,j,xi+1,j+1的块305,所述父元素y1 306由编码器基于处于LOQ #N的图像元素生成。

在此非限制性实施例中,用诸如双线性滤波内核之类的多个下采样算法之一并用位于块的中心父元素采样位置(即在双线性滤波的非限制性的情况下,父元素对应于受控像元的简单平均),通过量化对应于块300的元素的设置的加权平均而生成父元素的设置y1。因此,受控像元的残差的总和(即ri,j,ri,j+1,ri+1,j和ri+1,j+1的总和)至少部分地取决于父元素的设置y1;事实上,在不存在量化操作的情况下,它将由父元素精确地确定,到它开始重构块300的时候,这对于解码器已经是已知的。

为了合适地利用这种信息,如本文中所讨论的编码器执行分解变换,该分解变换联合地利用两种类型的相关性:(1)块300的残差之间的自相关,以及(2)块300的残差、对应于块300的预测元素以及父元素之间的相关性。正如所提到的,分解是将残差300编码成不同格式的方式(例如方向分量320和然后更适合于通过通信链路传输到解码数据以再生图像的远程目标设备的变换残差350)。

更具体地,在此示例性实施例中,为了利用残差之间的自相关性,编码器将“方向分解”变换应用到残差,产生四个方向向量A、H、V和D:

■A是残差ri,j,ri,j+1,ri+1,j和ri+1,j+1的平均;

■H是所述残差的水平/横向倾斜;

■V是所述残差的垂直/纵向倾斜;

■D是所述残差的对角/斜向倾斜。

一般地,值H、V和D包括针对残差分量ri,j,ri,j+1,ri+1,j和ri+1,j+1中的每一个将值A转换成更特定设置的充足的解码信息。从几何的观点看,变换等效于用由处于样本的平均的位于z轴上的平面给出的它们的表示来替换空间中的四个采样以及相应地倾斜以重构4个采样,如图3A中所图示。

正如已经提到的,变换瞄准两个目的:利用残差之间的相关性(例如线和图像的典型图案的方向相关),并减少对应于平均A的信息熵,可在解码器侧至少部分地基于预测值而容易地预测平均A。

在编码器侧,编码器知道:已经根据图3B中的公式3.12计算父元素。y和y1之间的差δa来自在量化/去量化过程期间生成的误差。根据图3B中的等式3.14,通过从y1中减去针对受控像元的设置x的预测p的平均值,可能生成针对四个残差300的平均值的预测(“PA”,用于“预测平均”),使得A和PA之间的差等于δa。

在此示例性实施例中,编码器因此如下生成变换残差350:

■用方向分解器310处理残差300,产生方向分量320。特别地,根据公式3.11中图示的计算来计算方向分量。

■产生预测平均340。

■用变换残差计算器330处理方向分量320和预测平均340,产生变换残差350。

在非限制性实施例中,根据公式δa = A - PA = A - (y'k,h - AvgP)计算δa,其中AvgP是针对受控像元的设置x的预测p的平均值。

在非限制性实施例中,当计算方向分量320时,编码器不如图3B中公式3.11中所指示的那样除以4,以便减小在解码侧所必需的逆分解处理所需的计算。

在非限制性实施例中,解码器接收变换残差δa、H、V、D(如上所述由编码器计算),并且通过首先产生预测平均PA并重构分量A、H、V、D并且然后通过针对ri,j,ri,j+1,ri+1,j和ri+1,j+1求解在公式3.11中指示的等式,计算残差ri,j,ri,j+1,ri+1,j和ri+1,j+1。

在另一个非限制性实施例中,解码器接收变换残差δa、H、V、D,并根据公式A = δa + (y'k,h - AvgP) 计算A,其中AvgP是针对受控像元的设置x的预测p的平均值。从信息熵的观点看,发送/接收δa(即残差的实际平均和残差的预测平均之间的差)而不是值A(平均)的益处基于以下事实:δa非常可能等于零(或者接近零),所以零符号变得更可能在经编码的变换残差的序列中被发现,从而改善编码效率。换句话说,和发送值A相对地发送值δa节省编码残差300所需的数据位的数量。在此示例中已经计算A之后,解码器通过使用3.11中指示的等式求解ri,j,ri,j+1,ri+1,j和ri+1,j+1而计算残差ri,j,ri,j+1,ri+1,j和ri+1,j+1。

如上面所指示,分解残差300以便随后产生变换残差350利用残差之间的相关性。在非限制性实施例中,分解允许分离恒定部分和一个或多个可变部分中的残差。一些变换元素可能是可预测的,使其更容易地发送它们。在一个实施例中,基于单独的分量之间的加法和/或差异的组合而获得变换残差350。

用等式来图示它,从向量 开始(包括四个残差300,诸如rij),编码器计算向量,其中向量包含从平均A、水平倾斜H、垂直倾斜V和对角倾斜D得出的四个参数。特别地,通过用矩阵M乘以向量而计算向量,解码器接收允许其重构向量的参数(特别地,在上述非限制性实施例中,代替接收参数A,解码器接收指示A和残差PA的预测平均之间的差的参数δa)。已经重构之后,解码器通过用向量乘矩阵M的逆而重构向量。正如由图3B中的下列等式所图示,在非限制性实施例中,矩阵M-1与矩阵M相同:

在另一个非限制性实施例中,根据不同的量化参数来量化变换残差的集合中的不同残差。这是由于针对感知的质量的方向分量的不同的相对重要性,其允许与其它不同地量化某些变换残差,而在质量上没有显著的差异。换句话说,正如所提到的,数据所关于的处于每个对应的质量水平的重构数据或残差数据负责将细节添加回预测的信号的再现中,使得产生的信号的再现更准确地反映针对对应的质量水平的原始信号。

例如,比其它更激烈地量化对应于平均或对角分量的变换残差。在一个实施例中,解码器根据不同的去量化参数而去量化不同的残差。在另一个实施例中,不同的量化参数允许独立于对角/斜向信息的精度而增强残差的垂直倾斜和水平倾斜(人眼对其特别敏感)的精度,以便在由压缩引入的量化伪像的情况下(例如由于滤波以节省数据位而发生的图像误差),残差的特定分量在比特率分配方面有特权。

在另一个非限制性实施例中,根据信号中水平对比垂直相关性的数量的估计而不同地量化H和V参数(例如在交错视频中的场经常由比高于垂直相关性的水平相关性表征,因此可通过不同地量化H和V而将其高效地编码)。

在另一个非限制性实施例中,对于最后的质量水平,解码器只接收对应于H和V的参数,并通过将A和D设置到默认值而重构完整的方向分量集合(以及然后是残差)。

其它非限制性实施例采用类似的残差变换方法,以便编码和/或解码针对以多于两个维度为特征的受控像元的集合的残差(例如通过非限制性示例的方式,针对通过三维上采样操作获得的八个控制像元的集合的残差),和/或从较低LOQ到下一个较高LOQ的不同比例因子。

本领域技术人员可以容易地扣除将在其它实施例中使用的变换矩阵,所述其它实施例在涉及多于二维的上采样操作上操作(例如通过非限制性示例的方式,涉及全部利用比例因子为2的两个空间维度和一个时间维度的操作,针对较低的LOQ中的每个控制像元重构在较高的LOQ中的8个受控像元)。通过非限制性示例的方式,在所有维度中用比例因子2的体积上采样需要8x8的残差分解变换矩阵,计算8个方向梯度/残差倾斜。在非限制性实施例中,对于每个2x2x2的信号块,编码器计算(并且解码器接收和解码)对应于平均残差值的一个参数和对应于7个残差倾斜值的7个参数。

在另一个非限制性实施例中,编码器和解码器二者在时间和空间维度上分离地操作。首先发送和解码时间倾斜,并且然后剩余的6个值(每个空间平面3个)作为斜向空间值被发送。

在另一个非限制性实施例中,编码器和解码器在两个维度上使用成熟的方向分解方法(例如,在编码器处,对于每个2x2残差块:计算残差的平均A、水平倾斜H、垂直倾斜V和对角倾斜D,并且然后编码——代替平均A——平均A和预测平均PA之间的差δa;在解码器处:接收平均A和预测平均PA之间的差δa、水平倾斜H、垂直倾斜V和对角倾斜D,并从这种参数中计算四个残差),并且然后在第三维度上使用部分的方向分解(例如,沿着时间,仅仅计算、编码和解码2x2残差块的两个平均之间的倾斜)。

在另一个非限制性实施例中,编码器可选择选项,以避免针对对应于处于较低的LOQ的相同控制像元的每个残差集合发送一个残差。这等效于将δa量化到零,而不管其实际的值。

在其它非限制性实施例中,解码器接收完整的残差集合,并且为了纠错或检错的目的而利用残差信息中的冗余,增强传输鲁棒性。

针对一个或多个方向在LOQ之间具有不同于2的比例因子的其它非限制性实施例中,编码器和解码器至少部分地基于处于较低LOQ的信号的再现的多个元素的值而计算针对残差集合的预测平均。

在其它非限制性实施例中,编码器将分解变换应用到特定的残差集合,以最大化被分配等于零的值的变换残差的数量为目标。这是由于以下事实:压缩包括较高百分比的等于零的值的数字流时熵编码技术更高效。在非限制性实施例中,对应于应用的分解变换的参数与重构数据一起被发送到解码器。

在非限制性实施例中,编码器选择在图像序列中处于相同LOQ的不同图像的残差的集合,所述残差的集合对应于沿着多个后续图像(例如沿着时间的多个采样位置)的相同位置(即坐标集)。对于残差集合中的每个给定位置,编码器选择在该位置(例如沿着时间的残差的时间序列)的集合的残差,并生成变换残差的序列,所述变换的残差的序列以对应于所述残差的平均的值开始以及然后——对应于每个给定的残差——对应于先前残差和给定残差之间的步长的值。这样,编码器非常高效地表示多值序列,所述多值序列暂时是恒定的,然后变化到不同的值,并且此后再次保持恒定:事实上,只用不同于零的两个值(即对应于平均的值和对应于其中步长变化发生的像元的值)表示这种序列。在这种实施例中,为了重构原始残差,解码器处理变换残差,并通过变换残差乘以诸如下列之类的矩阵来计算残差(取决于序列中残差的数量):

等等。

图3F是图示根据本文中实施例的重构数据生成的示例图。

正如所示出的,图3F中的计算机处理硬件被配置成产生根据本文中实施例的重构数据。正如所示出的,在编码期间,下采样算法371接收并处理包括X11、X12、X21、X22的块305。这些值X11、X12、X21、X22中的每一个表示与相应的元素相关联的对应的设置。

在一个实施例中,下采样算法371接收并处理处于第一质量水平的X-阵列,并将x-值(X11、X12、X21、X22)的阵列转换成单个y值(例如代表值361)。量化器算法371将y值转换成y1(例如经量化的代表值362,也被指示为图3B中的306)。通过处理处于较低的LOQ #2的信号的再现,与编码器相关联的上采样算法373发起将值362(例如y1)上采样成对应于信号的原始再现(X11、X12、X21、X22)的预测再现(P11、P12、P21、P22)。差函数376产生重构数据或残差数据300,作为由X11、X12、X21、X22所指定的原始信号与预测再现P11、P12、P21、P22之间的差,以产生调整值R11、R12、R21、R22。在一个实施例中,调整值R11=X11-P11;调整值R12=X12-P12;调整值R21=X21-P21;而调整值R22=X22-P22。

处理器资源377接收调整值的第一集合(诸如残差数据300或调整值R11、R12、R21、R22)。调整值的第一集合指定当在对应的水平#1处生成时将对预测的信号的再现(P11、P12、P21、P22)作出的调整,以重构处于第一质量水平的信号的再现(X11、X12、X21、X22)。处理器资源377处理调整值的第一集合R11、R12、R21、R22。基于调整值的第一集合R11、R12、R21、R22和处于第二质量水平的诸如y1之类的信号的再现,处理器资源377得出调整值的第二集合(或变换残差350或δa、H、V、D)。

在本示例中,质量水平#2低于质量水平#1。信号可以是包括多个元素的图像。通过非限制性的示例的方式,质量水平#1可以是第一图像分辨率;质量水平#2可以是第二图像分辨率。第二图像分辨率在分辨率上低于第一图像分辨率。

再次注意的是:正由图3F中编码器硬件编码的信号可以是任何合适类型的信号。例如,信号可以是二维图像;信号可以是视频信号;信号可以是体积图像;等等。

在另一个具体实施例中,处理器资源377包括重构数据处理器396。重构数据处理器396将残差数据300转换成分量值A、H、V和D。正如所提到的,值A、H、V和D是残差300的编码的表示。至少部分地基于值y1和方向元素A、H、V和D,重构数据变换器397产生调整值δa、H、V、D(变换残差数据350)。

在一个非限制性的示例性实施例中,通过处理调整值集合R11、R12、R21、R22以产生表示调整值集合R11、R12、R21、R22的多个调整分量A、H、V和D,处理器资源377得出调整值集合δa、H、V、D(变换残差数据350)。基于诸如值A之类的多个调整分量中的至少一个与关联于诸如处于质量水平#2的y1之类的信号的再现的至少一个设置的组合,重构数据变换器397产生调整数据集合δa、H、V、D(变换残差数据350)。

正如所提到的,基于调整值集合R11、R12、R21、R22与处于质量水平#2的信号的再现(诸如y1)的线性组合,可计算调整值δa、H、V、D(变换残差数据350)中的一个或多个。例如,可基于如由量化器算法372生成的平均值A(值X11、X12、X21、X22的平均)和至少部分地基于块393中元素(P11、P12、P21、P22)的平均(例如[P11+P12+P21+P22]/4)而产生的预测平均之间的差,可计算值δa。

例如,假设块305中的数据(在正被下采样的元素平面中的元素的对应部分)包括:X11=10,X12=20,X21=25,X22=30。在此示例中,下采样算法371使用元素X11、X12、X21、X22的平均而产生值y=21.25。处于质量水平#2的单个值y=21.25是与元素X11、X12、X21、X22相关联的设置的代表值。

假设量化器算法372量化值y=21.25以产生y1=21。在一个实施例中,量化包括比较诸如y=21.25之类的接收的值和多个范围。在此示例中,假设在21和21.999之间的范围A1中的任何值被分配值21。作为通过量化器算法372量化的结果,值y=21.25落入范围A1内,并且因此被量化和分配值21。

如先前所讨论,本文中实施例包括将量化的值y1=21(还至少部分地基于其相邻的元素)上采样成预测值的集合P11、P12、P21、P22。在此示例中,假设上采样算法373的应用产生设置P11=10,P12=15,P21=20,P22=25。这些P-值近似原始X-值(X11、X12、X21、X22)的设置,但需要一些调整。

本文中实施例包括应用差函数376以产生R-值(R11、R12、R21、R22)。例如,差函数376设置R11=X11-P11(R11=10-10=0);差函数376设置R12=X12-P12(R12=20-15=5);差函数376设置R21=X21-P21(R21=25-20=5);差函数376设置R22=X2-P22(R22=30-25=5)。

根据先前的等式,基于处于质量水平#1的设置R11、R12、R21、R22,重构数据处理器396产生针对A、H、V和D的设置。例如,根据相应的矩阵,重构数据处理器396产生方向分量320,如下:

基于针对A、H、V和D的这些值,重构数据变换器397产生变换残差300(δa、H、V、D),如下:

δa=平均-预测平均=

在此示例中,处理器资源377产生变换残差数据350,如下:

因此,如本文中所讨论的编码器硬件接收处于质量水平#1的信号的再现(X11、X12、X21、X22)。图3F中的编码器的下采样算法371基于处于质量水平#1的信号的再现(X11、X12、X21、X22)而产生处于质量水平#2的信号的再现y。上采样算法373从处于质量水平#2的信号的再现中产生处于质量水平#1的预测的信号的再现P11、P12、P21、P22。例如,量化器算法372从y产生y1。上采样算法373通过处理处于质量水平#2的信号的再现而将y1转换成P11、P12、P21、P22。正如所提到的,差函数376产生调整值集合R11、R12、R21、R22,作为处于质量水平#1的信号的再现R11、R12、R21、R22和处于质量水平#1的预测的信号的再现P11、P12、P21、P22之间的差。重构数据处理器396从调整值集合R11、R12、R21、R22而产生格式化的调整值集合(诸如方向分量320)。正如其名字所暗示的,重构数据变换器397将格式化的调整值集合变换成调整值集合δa、H、V、D。

本文中的实施例可进一步包括附加的编码器硬件和软件,以将调整值集合δa、H、V、D和处于质量水平#2的信号的再现y1编码成对应的经编码信息。发送器资源将对应的经编码信息通过通信链路发送到解码器处理硬件(参见用于解码的非限制性示例的图5)。

根据图5,解码器处理硬件接收经编码信息。解码器处理硬件从经编码信息而获得(经由解码)诸如值y1=21的重构数据。值y1指定如何重构处于质量水平#2的针对块306(图3B)的信号的再现。解码器处理硬件从接收的经编码信息而获得(经由解码)调整值集合δa、H、V、D。

解码器处理硬件至少部分地基于在获得的重构数据中的值y1而再生处于质量水平#1的预测的信号的再现P11=(元素500-1-1),P12(元素500-1-2),P21(元素500-1-3),P22(元素500-1-4)。解码器处理硬件基于与预测的信号的再现相关联的设置的处理和获得的重构数据(诸如y1=21)而得出调整值(“预测平均”或“PA”),诸如值430-5。在此示例性实施例中,块520生成等于y1减去预测的平均AvgP(诸如[(P11+P12+P21+P22)/4)的调整值430-5。回忆:解码器处理硬件中应用于y1及其相邻元素的上采样算法373(正如也是由解码器处理硬件使用)产生值P11=10,P12=15,P21=20,P22=25。注意的是:可在由解码器处理硬件接收的数据中指定将用来对值y1进行上采样的特定算法。特别地,对于处于较高质量水平的初步的信号的再现的给定元素,产生针对所述给定元素的设置可包括:接收与上采样操作相关联的元数据,以用来基于处于较低质量水平的信号的再现而产生处于较高质量水平的初步的信号的再现;识别如由元数据指定的上采样操作(例如,但不限于,上采样内核的系数);并将操作应用到处于较低质量水平的信号的再现的元素的子集,以得出针对处于较高质量水平的初步的信号的再现的所述给定元素的设置。

处理块520因此产生y1 – AvgP = 21 - [(10 + 15 + 20 + 25)/4] = 21 - 17.5= 3.5。

函数562对delta 445-1(例如δa= .25)如通过如上所讨论的解码获得)和值PA=3.5求和,以产生信号430-5,诸如值3.75(即平均A=3.75)。因此,解码器处理硬件利用得出的调整值(例如PA=3.5)作为基础,以将值δa=.25修改为调整值A=3.75)。

通过解码接收的信息所获得的数据还包括获得针对H、V和D的值。在此示例中,所述值如下:H=1.25,V=1.25,D=-1.25。

解码器处理硬件然后将修改的调整值集合(例如A、H、V、D)应用到再生的预测的信号的再现P11、P12、P21、P22,以产生处于质量水平#1的信号的再现550-1。例如,解码器处理硬件应用与矩阵值532相关联的一行加法器以产生:

元素550-1-1=元素500-1-1

元素550-1-2=元素500-1-2

元素550-1-3=元素500-1-3

以及

元素550-1-4=元素500-1-4

因此,经由诸如y1=21和值δa= .25、H=-1.25、V=-1.25和D=-1.25之类的残差数据的接收,解码器处理硬件能够再生原始值X11、X12、X21和X22。

根据在图9中的进一步的实施例,如本文中所讨论的编码器处理硬件可被配置成产生多个重构数据集合910。例如,可处理和编码诸如X-元素之类的信号的第一部分,以产生如先前所讨论的重构数据集合910-1。以与先前所讨论的类似方式,编码器可被配置成基于元素Z11、Z12、Z21、Z22产生重构数据集合910-2。

正如所讨论的,每个重构数据集合910可包括针对多个分量的设置,所述多个分量诸如通过变换值δa(第一变换值)、H(第二变换值)、V(第三变换值)和D(第四变换值)的A(第一分量)、H(第二分量)、V(第三分量)和D(第四分量)。在每个集合中诸如δa(delta平均)之类的第一变换值对应于第一属性类;在每个集合中的第二变换值对应于诸如水平(H)之类的第二属性类;在每个集合中的第三变换值对应于诸如垂直(V)之类的第三属性类;在每个集合中的第四变换值对应于诸如对角(D)之类的第四属性类。

在一个实施例中,编码器处理硬件创建第一分组925-1,以包括来自多个重构数据集合910中每一个的第一分量值。例如,分组925-1包括分量值δa1,δa2,...

编码器处理硬件创建分组925-2,以包括来自多个重构数据集合910中每一个的诸如H之类的第二分量值。例如,分组925-2包括分量值H1,H2,...

编码器处理硬件创建分组925-3,以包括来自多个重构数据集合910中每一个的诸如V之类的第三分量值。例如,分组925-3包括分量值V1,V2,...

编码器处理硬件创建分组925-4,以包括来自多个重构数据集合910中每一个的诸如D之类的第三分量值。例如,分组925-4包括分量值D1,D2,...

在一个实施例中,编码器处理硬件编码彼此独立的分组。例如,编码器处理硬件独立于将第二分组925-2熵编码成经编码信息965-2而将第一分组925-1熵编码成经编码信息965-1。

在其它非限制性实施例中,通过分组对应于信号的相同部分(诸如信号的分割(tile))的变换值并且因此单独地编码对应于信号的每个分割的变换残差而获得变换值的分组。在又其它非限制性实施例中,对应于相同的残差数据集合910的变换值被分配给定的符号,并且编码器处理硬件编码符号序列,其中每个符号对应于残差数据集合910之一。

图3C图示:在用比例因子2沿着水平维度和用比例因子1沿着垂直维度进行2D上采样的情况下(即,对于处于LOQ #(N-1)的每个父元素,存在处于下一个较高的LOQ #N的两个受控像元,并且因此必须解码两个残差,以便合适地重构所述受控像元),根据本文中实施例的应用到两个残差的分组的方向分解的非限制性实施例。

编码器计算——根据公式3.21——两个方向分量A(用于平均)和T(用于倾斜),并且然后产生变换残差δa和T,其中δa被计算为A和预测平均PA之间的差,并且其中PA被计算为元素308的值y1和对应于两个元素307的预测值的平均AvgP之间的差。

图3D图示根据本文中实施例的在用比例因子2沿着两个维度进行2D上采样的情况下(即,对于处于LOQ #(N-1)的每个父元素,存在处于下一个较高LOQ #N的四个受控像元,并且因此必须解码四个残差,以便合适地重构所述受控像元),应用到2x2残差块的分组的方向分解的非限制性实施例。

残差块300是处于给定的LOQ #N的残差数据的平面的一部分,该部分由解码器处理并与处于给定的LOQ #N的预测的信号的再现组合,以便产生处于所述给定的LOQ #N的信号的再现。特别地,残差块300由四个残差ri,j,ri,j+1,ri+1,j和ri+1,j+1组成。

残差300由方向分解器310根据公式3.11处理,产生方向分量320。方向分量320和预测平均340然后由变换残差计算器330处理,产生变换残差350。变换残差350然后由量化器360量化,产生量化的变换残差370。

在非限制性实施例中,量化的变换残差370然后被进一步处理,并被编码为经编码的重构数据。在非限制性实施例中,针对整个信号的量化的变换残差被分组为分离的分组,该分离的分组被单独熵编码为经编码的重构数据的分离的集合。在非限制性实施例中,分离的分组对应于不同类的变换残差(例如,但不限于,针对整个信号的对应于H分量的量化的变换残差对比针对整个信号的对应于V分量的量化的变换残差,等等)。在另一个非限制性实施例中,分离的分组对应于信号的不同部分(例如,但不限于,信号的分割)。

根据图3D,方向分解器310从残差集合300(例如调整值)产生格式化的调整值集合,诸如方向分量320。计算器330将诸如方向分量320之类的格式化的调整值集合变换为变换残差350(例如调整值)。编码器然后将量化器算法360应用到调整值集合(变换残差350)以产生量化的调整值集合,诸如量化的变换残差370。

在一个实施例中,调整值集合δa、H、V、D是包括多个重构数据分量(例如分量δa、分量H、分量V、分量D)的向量。量化器360量化每个调整分量,以产生量化的调整值集合,诸如残差370。

可根据不同的规则量化变换残差350中的不同分量。例如,第一组范围可用来量化相应残差370中的δa元素。每个范围可被分配相应的值。取决于值δa分量落入哪个范围,分配到该范围的对应的值然后被分配到δa分量,作为针对该分量的量化值。

第二组范围可用来量化在相应的残差370中的H分量。第二组中的每个范围可被分配相应的量化值。取决于值H分量落入第二组中的哪个范围,分配到该范围的对应的值然后被分配到H分量,作为针对该元素的量化值。

以这种方式,不同的量化范围集合可用来生成针对不同类型的分量δa、H、V、D中每一个的量化的值。正如所提到的,量化用来生成针对以其它方式的不同分量设置的类似设置。量化降低了捕获信号所需的数据量。

因此,本文中实施例包括计算机处理器硬件,以基于第一量化规则来量化向量中的第一调整数据分量δa、H、V、D。计算机处理器硬件基于第二量化规则来量化向量中的第二调整数据元素。第二量化规则不同于第一量化规则。

图3E图示根据本文中实施例的2x2残差块300的量化和变换的另一个非限制性实施例,其中在变换之前量化残差。值得强调的是:在变换之前量化是由本发明引入的重要的和附加的新颖的步骤,因为常规的编码方法迄今已经在变换之后应用量化,这是由于以下原因:其包括比其它更重地量化某些变换参数的可能性,即,从广义上讲,把较多的比特率用于变换的“较高优先级”部分。

如图3E中所图示,在此非限制性实施例中,在进入变换步骤之前执行残差量化,并且特别地,量化器380处理残差300,产生量化残差309。

量化残差309由无损方向分解器315处理,无损方向分解器315通过根据以下公式处理四个量化残差309(“qr”)的向量而产生无损方向分量325(“ldc”):

强调无损方向分量325所必需的位数大于用来描述量化残差309的位数是重要的,因为无损方向分量325是通过执行量化残差309的加法和减法而获得的。

无损方向分量325和预测总和345由变换残差计算器335处理,产生变换残差355。

在非限制性实施例中,量化器380内的残差300的量化至少部分地基于通过处理残差300所属于的残差的整个平面(即,作为整体看该信号)而产生的参数。

在非限制性实施例中,残差300的量化由量化器380经由优化方法执行,该优化方法确保:经重构的元素(即预测元素和其对应的残差的组合)和原始信号中对应的元素之间的差小于最大误差的给定阈值,有效地确保在解码器处重构的信号的再现的误差控制。在一些非限制性实施例中,基于通过大体上处理整个信号和/或包括残差300的整个残差平面而产生的参数来执行残差300的量化。在非限制性实施例中,这是通过处理整个信号和整个残差平面而实现的,生成将优先级值分配到残差的平面中每个残差的优先级映射;然后至少部分地基于所述优先级值而执行残差的量化。

在非限制性实施例中,变换残差是在具有不同位数(即符号总数)的符号字母表中基于变换残差355的向量中的每个变换残差的相对位置而选择的符号。

如上所讨论的,如果期望的话,可在分解成相应的值之前,在残差300上直接执行量化。例如,量化器算法380接收第一调整值集合(残差300),并产生量化的调整值集合,诸如量化的残差309。在一个实施例中,方向分解器315在接收的量化的调整值集合上应用一个或多个无损和可逆的操作,以产生中间的调整值集合,诸如S、V1、H1、D1。计算器335接收至少部分地基于处于第二质量水平的信号的再现和处于第一质量水平的预测的信号的再现而得出的值(诸如预测的总和)。计算器335利用该值(例如预测的总和345),以将中间的调整值集合S、V1、H1、D1转换成变换残差355(诸如δS、V1、H1、D1)。

在一个实施例中,产生量化的调整值集合(诸如量化的残差309)的设置,以便在该组量化的调整值集合(诸如量化的残差309)的集合的设置和调整值集合中对应的设置(诸如设置300)之间的差低于误差阈值。

附加的实施例

如上所讨论的,可在编码过程中的任何合适的点量化调整值。根据进一步的实施例,注意的是:调整值集合关于在不同质量水平编码的多个元素的平面中的特定位置的重构。在该平面中的元素的不同部分中的每一个可由不同的数量量化,这取决于对应的元素所在的特定位置。例如,在相对同质的信号的区域中,对应的区域可能被较少量化,以便保留这种区域的良好的信号质量;其中存在鲜明对比的区域可能被较少量化,以便保留这种区域的良好的信号质量;其中检测到诸如人或文本之类的特定对象的信号中的区域可能被较少量化,以便保留这种区域的良好的信号质量;等等。因此,本文中的实施例可包括取决于调整值集合所涉及的信号的属性而量化调整值。

根据进一步的实施例,该调整值集合可以是包括多个重构数据分量(诸如分量δ、分量H、分量V、分量D)的向量。在编码期间,这些元素中的两个或多个可被组合,并由单个经编码的符号表示。

正如所提到的,可使用相应的调整值集合(诸如δ、H、V、D)编码原始信号的多个区域中的每一个。例如,可经由第一调整值集合(诸如δ1、V1、H1、D1)编码信号的第一部分或区域;可经由第二调整值集合(诸如δ2、V2、H2、D2)编码信号的第二部分或区域;可经由第三调整值集合(诸如δ3、V3、H3、D3)编码信号的第三部分或区域;等等。本文中的实施例可包括使用共同的符号编码多个重构数据集合(诸如δ、H、V、D)中至少两个中的每一个或其部分。因此,单个符号可用来表示针对多个调整值集合的设置。

图4A图示根据本文中实施例的由解码器设备执行的逆方向分解的非限制性实施例。

块410逆方向分解接收以X×Y分辨率的元素的五个平面:预测平均的平面400-5和四个变换残差的平面:δ的平面400-1、H的平面400-2、V的平面400-3和D的平面400-4。

块410根据逆方向分解处理接收的平面,产生以分辨率2X×2Y的残差的平面420。

在非限制性实施例中,块410选择五个输入平面中对应的元素,并且针对对应的元素的每个分组执行逆方向分解,通过重构方向分量,并且然后通过合适地加上和减去方向分量,以便产生对应于分组的残差集合。

图4B图示根据本文中实施例的逆方向分解的另一个非限制性实施例。特别地,该图图示由被配置为解码器的信号处理器执行以便重构残差集合480的操作。

四个量化的参数Q(δa)430-1、Q(H)430-2、Q(V)430-3和Q(D)430-4由去量化器440-1、去量化器440-2、去量化器440-3和去量化器440-4各自处理。去量化器440-1产生由组合器450处理并与预测平均430-5组合的参数去量化的Delta 445-1,产生去量化的平均分量455-1。去量化器440-2产生去量化的水平分量455-2。去量化器440-3产生去量化的垂直分量455-3。去量化器440-4产生去量化的对角分量455-4。

根据对应于矩阵M 460的计算,参数455-1、455-2、455-3和455-4由块470逆方向分解处理,产生残差480。

在非限制性实施例中,矩阵M 460对应于16个系数,并且根据所述系数、通过参数455-1、455-2、455-3、455-4的加法和减法获得残差480。在非限制性实施例中,残差480是四个残差的集合,并且通过将参数455-1、455-2、455-3、455-4中的每一个乘以矩阵M 460的系数而获得所述的残差的每一个,并且然后求和所述乘法的结果。在另一个非限制性实施例中,矩阵M 460是4x4矩阵,并且通过将参数455-1、455-2、455-3、455-4的向量乘以矩阵M 460而获得残差480的向量。

在非限制性实施例中,去量化器440-1、440-2、440-3和440-4各自根据特定的量化参数执行量化操作(例如在参数430-1上执行的去量化操作不同于在参数430-2上执行的去量化操作)。

如图4B中所示出,不同的去量化操作可被应用到接收的量化数据,诸如Q(δa)430-1、Q(H)430-2、Q(Ⅴ)430-3和Q(D)430-4。去量化器440-1应用第一去量化操作,以再生第一调整值,诸如去量化的delta 445-1;去量化器440-2应用第二去量化操作,以再生第二调整值455-2;去量化器440-3应用第三去量化操作,以再生第三调整值455-3;去量化器440-4应用第四去量化操作,以再生第四调整值455-4。每个去量化操作可能相对于彼此是唯一的。

图4C图示根据本发明实施的由被配置为解码器的信号处理器执行以便重构四个残差的集合480的逆方向分解的另一个非限制性实施例。

图4C中的实施例执行类似于由图4B中图示的实施例执行的操作的操作,除了在该情况下解码器只接收两个量化的参数Q(H)和Q(Ⅴ)以便重构2x2的四个残差的块480。这是由于以下事实:由图4B中参数430-1和430-4携带的信息从广义上讲对于质量感知不太重要,所以响应于带宽限制,使得图4C中的解码器能够以仅仅基于430-2和430-3通过用默认值(例如,但不限于,零)代替430-1和430-4而重构残差480。

参数430-2和430-3由去量化器440-2和440-3处理,产生参数455-2和455-3。块470接收预测平均430-5、去量化的水平分量455-2、去量化的垂直分量455-3和零值440-6,根据对应于矩阵M 460的计算而产生残差480。

图4D图示根据本文中实施例的由被配置为解码器的信号处理器执行以便重构两个残差的集合481的无损逆分解的非限制性实施例。该实施例图示两个量化的残差的块的逆分解,所述两个量化的残差是通过无损的分解变换而变换的,即其中在变换之前而不是变换之后执行量化。无损地变换的量化残差具有允许基于相同集合的其它无损变换的量化残差来预测它们的一些位(例如,但不限于,最低有效位)的数学特性。更具体地,用无损变换操作获得的参数原则上具有更高的位数(例如,n位的两个参数的无损总和需要n+1位;n位的四个参数的无损总和需要n+2位,等等),但是——基于应用的变换的特定系数——最低有效位中的信息的部分变得冗余(例如对于变换的参数中的至少两个是相同的),因此向解码器发送一些变换的参数的位的仅仅一部分是充足的,而留给解码器利用已知冗余以重构成熟的变换的参数的集合的任务。

变换残差Rt1(由2位组成的参数)由组合器451接收并与预测总和431-3组合(由n+1位组成的参数)产生量化残差的总和S 456-1(由n+1位组成的参数)。

变换残差Rt2(由n位组成的参数)连同参数S 456-1一起由块491接收,产生量化残差456-2的差D(由n+1位组成的参数)。特别地,通过增加参数431-2的位数,并且具体地通过添加参数456-1的最低有效位作为参数431-2的附加的最低有效位(以使得参数456-1和456-2具有相同的最低有效位),获得参数D 456-2。

参数456-1和456-2连同矩阵M1 461一起由块471接收,产生n位的两个量化残差的集合481。在非限制性实施例中,两个量化残差481中的每一个对应于参数456-1和456-2的总和或差中的任一个,其中总和或差的最低有效位(其通过等于零的结构)被减去。

量化残差481然后由去量化器441处理,产生由n位组成的两个残差482。

在其它非限制性实施例中,所有参数由相同的位数组成,并且块491只将参数456-1的最低有效位复制到参数431-2的最低有效位上。

在另一个非限制性实施例中,残差482是由高于量化残差481的位数的位数组成的参数。

图4E图示根据本文中实施例的由被配置为解码器的信号处理器执行以便重构四个残差的集合483的无损逆分解的非限制性实施例。该实施例图示产生四个量化残差的块481的逆分解,所述四个量化残差481是通过无损分解变换而变换的,即其中在变换之前而不是变换之后执行量化操作。

变换残差Rt1 432-1(由2位组成的参数)由组合器451接收并与预测总和432-5组合(由n+2位组成的参数)产生量化残差457-1的总和S(由n+2位组成的参数)。

变换残差Rt2 432-2(由n+1位组成的参数),Rt3 432-3(由n+1位组成的参数)以及Rt4 432-4(由n位组成的参数)连同量化残差的总和S 457-1一起由冗余位的重构器495接收和处理。冗余位的重构器495利用通过在编码器侧执行的无损分解生成的已知信息冗余,并且通过使用457-1的最低有效位作为最低有效位并使用457-1、432-2和432-3的对应位的异或(XOR)作为添加到432-4的第二最低有效位而产生针对432-2、432-3和432-4的附加位。通过这样做,冗余位的重构器495产生四个参数S 457-1、H1 457-2、V1 457-3和D1 457-4,所述四个参数由n+2位组成并且特征在于全部具有相同的最低有效位和第二最低有效位,使得在所述第二最低有效位中的1的数量是偶数。

参数457-1、457-2、457-3和457-4由逆方向分解472根据对应于包含在矩阵M 460中的参数的操作来处理,产生四个量化残差的集合482,每个所述的量化残差由n位组成。

量化残差482然后由去量化器442处理,产生残差483。

由块495冗余位的重构器执行以重构参数457-1、457-2、457-3和457-4中的冗余信息(这是在编码器侧执行的无损变换的已知结果)的所述操作只是非限制性实施例。本领域技术人员可以容易地开发几种其它方法来提取在编码器侧的所述冗余信息(因此避免编码和发送冗余信息),并在解码器侧重构它。

正如所示出的,调整值集合可以是多个调整分量Rt1、Rt2、Rt3、Rt4的向量。经由将矩阵460和对应的处理应用到多个调整分量的向量,解码器处理硬件得出量化的调整值的集合,诸如残差482。经由去量化器442,解码器处理硬件将去量化算法应用到量化的调整值的集合(诸如残差482)以产生去量化的调整值的集合,诸如残差483(即重构数据)。在一个实施例中,解码器处理硬件将诸如残差483之类的去量化的调整值集合的集合应用到初步的信号的再现,以产生如本文中所讨论的信号的第二再现。

在一个实施例中,为了得出去量化的调整值的集合,解码器处理硬件可被配置成应用组合器451以修改向量中的特定调整分量,以产生多个调整分量的经修改的向量(诸如残差457-1、残差432-2、残差432-3、残差432-4)。修改的集合中的多个调整分量中的一个或多个可以具有不同的位长。解码器处理硬件将第一算法应用到多个调整分量的经修改的向量(诸如残差457-1、残差432-2、残差432-2、残差432-4),以将修改的集合中分量的位长合适地调整到共同的长度(诸如,n+2),如在此非限制性的示例性实施例中。

图5图示根据本文中实施例的由解码器执行的操作的非限制性实施例。解码器重构——基于处于LOQ #1的四个预测元素的集合500-1,基于处于较低的LOQ #2的信号的再现的对应元素,并基于四个参数445-1、455-2、455-3和455-4——处于LOQ #1的信号的再现的四个元素550-1。

块520处理四个元素500-1和处于LOQ #2的再现的对应的元素510,产生预测平均(PA)430-5。

预测平均430-5与参数Delta 445-1组合,产生参数A 455-1。

根据在图5中指定的操作(总和和/或差),参数455-1、455-2、455-3和455-4与元素500-1-1、500-1-2、500-1-3和500-1-4组合,产生元素550-1-1、550-1-2、550-1-3和550-1-4。例如,通过将455-1、455-2、455-3和455-4加到500-1-1,获得元素550-1-1;通过加上455-1和455-3并减去455-2和455-4到500-1-2,获得元素550-1-2;等等。

在非限制性实施例中,元素500-1-1,...,500-1-4具有n位,455-1,...,455-4具有n+2位,并且对于每个元素550-1-n,在参数455-1,...,455-4上首先执行图5中的总和和差(产生的n+2位的结果),然后将结果除以4(即消除最后的两位),获得n位的参数,并且然后n位的所述参数与对应的元素500-1-n求和,产生元素550-1-n。

因此,如图5中的解码器处理硬件接收与处于质量水平#2的信号的再现510相关联的设置信息或值y1。解码器处理硬件接收调整值集合(诸如delta 445-1、H 455-2、V 455-3和D 455-4)。解码器处理硬件基于处于质量水平#2的信号的再现510的元素的设置信息而产生处于质量水平#1的初步的信号的再现(诸如信号500-1)。解码器处理硬件基于调整值集合(诸如delta 445-1、H 455-2、V 455-3和D 455-4)和处于质量水平#2的初步的信号的再现510而产生处于质量水平#2的诸如再现550-1之类的信号的第二再现。

正如所示出的,产生诸如信号550-1之类的信号的第二再现可包括:至少部分地基于处于质量水平#1的初步的信号的再现550-1,修改调整值集合delta 445-1、H 455-2、V 455-3和D 455-4。解码器处理硬件将修改的调整值集合A 455-1、H 455-2、V 455-3和D 455-4应用到初步的信号的再现500-1,以产生信号的第二再现550-1。

根据进一步的实施例,诸如y1之类的设置信息可被认为是第一设置信息。诸如delta 445-1、H 455-2、V 455-3和D 455-4之类的调整值集合的修改可包括:在处理块520处,接收第一设置信息y1。第一设置信息y1与初步的信号的再现500-1相关联。处理块520接收第二设置信息,诸如元素500-1-1(P11)、元素500-1-2(P12)、元素500-1-3(P21)和元素500-1-4(P22)的设置。第二设置信息与处于质量水平#1的信号的再现相关联。至少部分地基于第一设置信息y1,得出初步的信号的再现500-1。处理块520将数学算法应用到第一设置信息y1和第二设置信息的组合,以产生修改值,诸如值430-5。函数562将修改值430-5应用到调整值集合(诸如delta 445-1),以产生修改的调整值集合,其包括值A 455-1。

在一个实施例中,函数562从包括delta 445-1、H 455-2、V 455-3和D 455-4的调整值集合接收诸如delta 445-1之类的数据分量。在一个实施例中,在调整值集合中的多个分量中的一个或多个包括方向倾斜信息。

函数562将修改值430-5和获取的分量delta 445-1相加,以将delta分量修改回平均455-1。经由矩阵值532的应用(即经由根据矩阵值532执行加法和减法),解码器处理硬件使用修改的delta分量455-1修改处于第二质量水平的初步的信号的再现中多个元素中的每一个的设置。换句话说,图5中的解码器处理硬件使用值430-5来修改每个初步的信号的再现500-1,以产生信号的第二再现550-1。

正如所讨论的,可在多个水平以上层级的多个水平中的每一个处执行解码。注意的是:信号的第二再现550-1随后可被用作基础,以产生处于下一个较高的质量水平的初步的信号的再现。

另外,如先前所讨论,处于质量水平#2的信号的再现510可以是第一质量水平,并且表示第一图像分辨率。质量水平#1可以是低于第一图像分辨率的第二图像分辨率。因此,处于一个质量水平的信号的再现510包括图像元素的第一集合(例如,但不限于,一个元素y1)。诸如信号500-1和550-1之类的信号的再现包括图像元素的第二集合(例如,但不限于,四个元素x11、x12、x21和x22)。

如先前所提到的,包括诸如y1之类的重构数据510以及调整值δa 445-1、H 455-2、V 455-3和D 455-4的重构数据可进一步包括元数据。图5中的解码器处理硬件可被配置成接收与调整值集合相关联的元数据。经由元数据的处理,解码器处理硬件识别将被应用到重构数据以使用元数据再生信号的再现550-1的一个或多个操作。例如,在一个实施例中,解码器处理硬件将识别的一个或多个操作应用到调整值集合和/或值y1,以从初步的信号的再现500-1得出信号的第二再现550-1。

本文中进一步的实施例可包括接收与调整值集合相关联的元数据。解码器处理硬件可被配置成识别如由元数据指定的一个或多个操作。解码器处理硬件将一个或多个识别的操作应用到调整值集合,以从初步的信号的再现500-1得出的信号的第二再现550-1。

本文中的一个实施例包括将修改的调整值集合线性应用到初步的信号的再现。例如,矩阵值532的应用可包括:经由诸如平均A 455-1、H 455-2、V 455-3和D 455-4之类的修改的调整值集合的线性应用(例如经由正如所示出的和与差函数)到初步的信号的再现500-1,产生信号的第二再现550-1。

因此,正如所示出的,经由矩阵值532,解码器处理硬件经由修改的调整值集合平均A 455-1、H 455-2、V 455-3和D 455-4的应用到初步的信号的再现500-1而产生信号的第二再现550-1。修改的调整值集合包括根据矩阵值532而应用到初步的信号的再现500-1的加权值的向量(正如由加法函数和减法函数所指示)。

根据又一个示例性实施例,对应于平均A 455-1、H 455-2、V 455-3和D 455-4的向量表示修改的调整值集合。解码器处理硬件可被配置成经由修改的调整值集合应用到初步的信号的再现500-1而产生信号的第二再现550-1。调整值的向量可由解码器处理硬件应用到初步的再现,以根据正如由矩阵值532指定的加权而产生信号的第二再现550-1。

矩阵值可以变化,并且可以从可能的矩阵的群组中选择,该矩阵包括:

以如先前所讨论的方式,包括诸如y1之类的重构数据510以及调整值delta 445-1、H 455-2、V 455-3和D 455-4的重构数据可被接收为经编码的信息。接收这种数据的解码器处理硬件可被配置成将经编码的信息解码成多个符号。解码器处理硬件可被配置成从多个符号获取符号,并且取决于编码而从获取的符号中产生调整值集合delta 445-1、H 455-2、V 455-3和D 455-4中的任何一个或多个分量。

图6是图示根据本文中实施例的在基于分层层级编码循环内实现方向分解的非限制性实施例的流程图。

被配置为编码器的信号处理器接收处于给定质量水平(“最顶层LOQ”)的信号,执行下采样操作,直到产生处于底部LOQ(所述底部LOQ低于最顶层LOQ)的信号的再现,用合适的编码方法编码处于底部LOQ的信号的再现——产生经编码的重构数据——并且然后处理所述经编码的重构数据,以模拟在解码侧执行的操作,产生处于底部LOQ的经解码的信号的再现(图6的步骤6.01)。

一旦产生处于底部LOQ的解码的信号的再现,编码器进入针对每个后续较高的LOQ重复的处理循环,逐个水平地处理LOQ层级直到最顶层LOQ。

特别地,编码器处理处于给定的LOQ(“较低的LOQ”)的经解码的信号的再现,并产生处于下一个较高的LOQ的预测的信号的再现。编码器然后产生残差数据,所述残差数据对应于处于下一个较高的LOQ的原始的信号的再现和处于下一个较高的LOQ的预测的信号的再现之间的差异(步骤6.02)。

编码器然后将残差数据分离成残差的分组(例如,但不限于,邻接的2x2残差分组),并针对每个分组执行方向分解变换,产生方向分量(步骤6.03)。

编码器然后产生方向分量的四个单独的平面(平均、水平、垂直、对角),其中所述四个平面的对应的元素对应于相同的残差的分组(步骤6.04)。

编码器然后产生预测的平均分量的平面,其中所述平面的每个元素是针对对应的残差的分组的预测平均,是基于处于下一个较高的LOQ的对应的预测元素的平均和处于较低的LOQ的对应元素之间的差计算的。编码器产生Delta分量的平面,其中平面的每个元素被计算为对应的平均分量及其对应的预测的平均分量之间的差。Delta的平面被替换到平均的平面,形成四个变换的方向分量Delta、H、V和D的集合。(步骤6.05)

编码器然后量化变换的方向分量的平面,产生量化的变换方向分量的平面。(步骤6.06)

然后编码量化的变换方向分量,产生经编码的重构数据。(步骤6.08)

为了继续进行层级中的下一个水平,编码器然后模拟将在解码侧执行的解码操作,产生处于下一个较高的LOQ的经解码的信号的再现。为了那样做,编码器对量化的变换方向分量的平面进行去量化;组合去量化的Delta的平面和预测平均的平面,重构去量化的平均分量的平面;通过针对四个残差的每个分组执行对应的方向分量A、H、V和D的逆方向分解而计算残差数据;组合残差数据和处于下一个较高的LOQ的预测的信号的再现,产生处于下一个较高的LOQ的经解码的信号的再现。(步骤6.07)

在那点上,如果下一个较高的LOQ不是最顶层LOQ,编码器继续进行层级中的下一个水平,返回到步骤6.02,其中——对于层级中的下一个水平——刚刚被解码的处于下一个较高的LOQ的信号的再现变为处于较低LOQ的经解码的信号的再现。

在其它非限制性实施例中,应用到变换的方向分量的每个平面的量化操作基于对变换的方向分量的每个类特定的参数(例如,但不限于,应用到对角分量的量化的水平比应用到水平和/或垂直分量的量化的水平强)。

在其它非限制性实施例中,编码器——代替产生和编码变换的分量的四个单独的平面——产生和编码四个变换的分量的分组,所述分组的每一个对应于残差的平面中四个残差的分组。

在其它非限制性实施例中,编码器在步骤6.02期间执行量化操作,产生量化残差。在这种实施例中,分解和逆分解操作是无损的操作,即没有任何进一步的量化应用到方向分量和/或变换的方向分量。

在其它非限制性实施例中,通过基于MPEG的方法编码处于底部LOQ的信号的再现;这样,不被配置成处理和重构层级中较高LOQ的传统解码器至少能够解码处于底部LOQ的信号的再现。

图7是根据本文中实施例的图示在基于分层的层级解码循环内实现逆方向分解的非限制性实施例的流程图。

被配置为解码器的信号处理器接收并解码对应于底部质量水平的经编码数据,产生处于所述底部LOQ的经解码的信号的再现(步骤7.01)。

一旦产生处于底部LOQ的经解码的信号的再现,解码器进入针对每个后续较高的LOQ而重复的解码循环,逐个水平地重构LOQ的层级直到最顶层LOQ。

特别地,解码器处理处于给定的LOQ(“较低的LOQ”)的经解码的信号的再现,解码对应于下一个较高的LOQ的重构数据,并产生量化的参数的四个平面。解码器然后在所述量化的参数的平面上执行合适的去量化操作,产生去量化的变换的参数。(步骤7.02)

通过利用上采样操作和/或如由接收的参数指定的其它信号处理操作,解码器然后产生处于下一个较高的LOQ的预测的信号的再现。(步骤7.03)

针对对应于四个残差的分组的四个去量化的变换的参数(Delta、H、V、D)的每个分组,解码器产生预测平均参数,是基于处于较低的LOQ的信号的对应元素和处于下一个较高的LOQ的预测的信号的再现的四个对应元素的平均之间的差计算的。对于每个分组,预测平均与去量化的Delta 分量相组合,产生去量化的平均分量。(步骤7.04)

对于每个分组,解码器然后执行去量化的分量平均、H、V和D的逆分解,产生四个残差。特别地,通过执行去量化的分量平均、H、V和D的线性组合(即,求和和/或差,具有合适的系数),获得每个残差。这样,解码器产生处于下一个较高的LOQ的残差的平面。(步骤7.05)

解码器然后组合处于下一个较高的LOQ的预测的信号的再现与产生的残差,重构处于下一个较高的LOQ的经解码的信号的再现。(步骤7.06)

在那点上,如果下一个较高的LOQ不是最顶层LOQ,解码器继续进行解码层级中的下一个水平,返回到步骤7.02,其中——对于层级中的下一个LOQ——刚刚被解码的处于下一个较高的LOQ的信号的再现变为处于较低LOQ的经解码的信号的再现。

在其它非限制性实施例中,在逆分解变换之后执行去量化操作,去量化残差而不是去量化变换的参数。

图8是根据本文中的实施例的提供计算机处理的计算机系统800的框图。

计算机系统800可以是或至少包括计算机化设备,诸如个人计算机、处理电路、电视、重放设备、编码设备、工作站、便携式计算设备、移动电话、平板计算机、控制台、机顶盒、网络终端、处理设备、网络设备、操作为交换机、路由器、服务器、客户端等。

应注意的是,以下讨论提供了指示如何如先前所讨论的执行与信号处理器相关联的功能的基本实施例。然而,应注意的是用于执行如本文所述的操作的实际配置可以取决于相应应用而改变。

如所示,本示例的计算机系统800包括通信总线811,其提供与诸如非临时计算机可读存储介质等之类的计算机可读存储介质812的通信,其中可以存储并获取数字信息。

计算机系统800还可以包括处理器813、I/O接口814以及通信接口817。

在一个实施例中,I/O接口814提供到储存库880以及(如果存在的话)到屏幕显示器、音频扬声器、诸如键盘、计算机鼠标等之类的外围设备816的连接。

如上文简要提到的,计算机可读存储介质812可以是任何适当的设备和/或硬件,诸如存储器、光学储存器、固态储存器、硬驱动器、软盘等。在一个实施例中,存储介质812是被配置成存储与信号处理器应用840-1相关联的指令的非临时存储介质(即,非载波介质)。该指令被诸如处理器813之类的相应资源执行以便执行如本文所讨论的任何操作。

通信接口817使得计算机系统800能够通过网络890进行通信以便从远程源获取信息和与其它计算机、交换机、客户端、服务器等进行通信。I/O接口814还使得处理器813能够从储存库880获取或尝试获取所存储的信息。

如所示,可以用由处理器813执行的信号处理器应用840-1作为进程840-2对计算机可读存储介质812进行编码。

应注意的是,可以将计算机系统800体现成包括用于存储数据和/或逻辑指令的计算机可读存储介质812。

与信号处理器应用840-1相关联的代码可以实现本文所述的信号处理器的功能和/或对实现本文所讨论的发明必要的其它资源。

在一个实施例的操作期间,处理器813经由通信总线811来访问计算机可读存储介质812以便启动、运行、执行、解释或以其它方式执行存储在计算机可读存储介质812中的信号处理器应用840-1的指令。信号处理器应用840-1的执行产生处理器813中的处理功能。换言之,与处理器813相关联的信号处理器进程840-2表示在计算机系统800中的处理器813内或上面执行信号处理器应用840-1的一个或多个方面。

本领域的技术人员将理解的是计算机系统800可以包括其它进程和/或软件和硬件部件,诸如控制硬件处理资源的分配和使用以执行信号处理器应用840-1的操作系统或其它软件。

根据不同的实施例,应注意的是,计算机系统可以是各种类型的设备中的任何一个,包括但不限于个人计算机系统、台式计算机、膝上计算机、笔记本、上网本计算机、大型机计算机系统、手持式计算机、工作站、网络计算机、应用服务器、存储设备、诸如摄像机、录像摄像机、机顶盒、移动设备、智能电话、平板计算机、视频游戏控制台、手持式视频游戏设备之类的消费电子设备、诸如交换机、调制解调器、路由器之类的外围设备或者一般地任何类型的计算或电子设备。

现在将经由图10-11中的流程图讨论由不同资源支持的功能。应注意的是,可以任何合适的次序执行在下面流程图中的步骤。

图10是图示根据本文中所述的非限制性实施例的示例性方法的流程图1000。应注意的是,将存在关于如上所讨论的概念的一些重叠。

在处理块1010中,计算机处理器硬件接收调整值的第一集合,调整值的第一集合指定对在第一质量水平生成的预测的信号的再现做出以重构处于第一质量水平的信号的再现的调整。

在处理块1020中,计算机处理器硬件处理调整值的第一集合。

在处理块1030中,基于调整值的第一集合并基于处于第二质量水平的信号的再现,计算机处理器硬件得出调整值的第二集合。第二质量水平低于第一质量水平。

图11是图示根据本文中所述的非限制性实施例的示例性方法的流程图1100。应注意的是,将存在关于如上所讨论的概念的一些重叠。

在处理块1110中,计算机处理器硬件接收与处于第一质量水平的信号的再现相关联的设置信息。

在处理块1120中,计算机处理器硬件接收调整值的集合。

在处理块1130中,计算机处理器硬件基于设置信息产生处于第二质量水平的初步的信号的再现。第二质量水平高于第一质量水平。

在处理块1140中,计算机处理器硬件基于调整值的集合和处于第二质量水平的初步的信号的再现而产生处于第二质量水平的信号的第二再现。

再次应注意的是,本文中的技术非常适合于层级系统中的编码和解码。然而,应注意的是本文中的实施例不限于在此类应用中使用,并且本文所讨论的技术也非常适合于其它应用。

基于本文所阐述的描述,已阐述了许多特定细节以提供要求保护的主题的透彻理解。然而,本领域的技术人员将理解的是可在没有这些特定细节的情况下实践要求保护的主题。在其它实例中,未详细地描述普通技术人员将知道的方法、装置、系统等以免使要求保护的主题晦涩难懂。已经在对存储于计算系统存储器(诸如计算机存储器)内的数据位或二进制数字信号的操作的算法或符号表示方面呈现了详细描述的某些部分。这些算法描述或表示是数据处理领域中的技术人员用来向本领域的其它人传达其工作的实质的技术的示例。如本文所述的算法一般地被视为导致期望结果的操作或类似处理的自相一致序列。在本上下文中,操作或处理涉及到物理量的物理操纵。通常,但不一定,此类数量可采取能够被存储、传输、组合、比较或以其它方式操纵的电或磁信号的形式。主要由于一般使用的原因,将此类信号称为位、数据、值、设置、元素、符号、字符、项、数、数字等有时是方便的。然而,应理解的是所有这些和类似术语将与适当的物理量相关联且仅仅是方便的标签。除非具体地另外说明,如从以下讨论显而易见的,应认识到的是遍及本说明书,利用诸如“处理”、“计算”、“运算”、“产生”、“确定”等术语的讨论指的是诸如计算机或类似电子计算设备之类的计算平台的动作或过程,其对表示为存储器、寄存器或计算平台的其它信息存储设备、传输设备或显示设备内的物理电子或磁性量的数据进行操纵或变换。

虽然已特别地示出并参考其优选实施例描述了本发明,但本领域的技术人员应理解的是在不脱离由所附权利要求限定的本申请的精神和范围的情况下可对其进行形式和细节方面的各种修改。此类变形意图被本申请的范围涵盖。正因为这样,本申请的实施例的前述描述并不意图是限制性的。而是,对本发明的任何限制在以下权利要求中提出。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1