提供编码/压缩和解码/解压缩之间的计算复杂度的可调节分配的鲁棒且高效的压缩/解压缩的制作方法

文档序号:7677782阅读:213来源:国知局
专利名称:提供编码/压缩和解码/解压缩之间的计算复杂度的可调节分配的鲁棒且高效的压缩/解压缩的制作方法
技术领域
本发明涉及压缩/解压缩,包括用于编码和解码视频信号的压缩/解压缩方法、系统和设备,更具体地,涉及一种新型压缩/解压缩方法、系统和设备,其可被调谐到编码/压缩功能性和解码/解压缩功能性之间的压缩/解压缩的计算复杂度的不同分配(division)的范围。

背景技术
包括运动图像专家组(“MPEG”)MPEG-1、MPEG-2、和MPEG-4视频编码标准和最近的H.263+视频编码标准的各种各样的视频压缩/解压缩方法和压缩/解压缩硬件/固件模块和软件模块(“编解码器”)已经被开发出来以将基于像素和基于帧的视频信号通过有损压缩技术编码为压缩比特流,以用于电子、磁和光存储介质中的紧凑存储,包括DVD和计算机文件,以及用于经由有线电视、卫星电视和因特网进行高效传输。随后,该压缩比特流可被访问或接收,并通过解码器来解压缩以便产生对基于像素和基于帧的原始视频信号的合理的高保真重建。
由于目前可用的许多视频编码方法都被设计用于将压缩比特流广播和分发到各种相对廉价的、低功率的消费者设备,所以目前使用的视频编码方法通常趋向于将编码-压缩/解码-解压缩过程的全部计算复杂度进行分配,以使得通常由视频分发器和广播器执行一次或很少几次的编码在计算上复杂而且昂贵,而通常在相对廉价、低功率的消费者设备上执行的解码在计算上简单而且廉价。这种计算复杂度的非对称分配将计算上的负担恰当地放在广播器或分发器身上,它们通常仅对基于像素和基于帧的视频信号编码一次或很少几次,之后便可将该编码的视频信号分发给潜在的巨大数量的消费者。消费者可使用相对廉价的消费者设备来重建高保真视频信号,该消费者设备例如是卫星电视机顶盒、DVD播放器和视频解码软件应用,因为该解码过程在计算上是相对廉价和简单的。然而,随着各种手持视频记录消费者设备的出现,这其中包括摄像机、蜂窝电话和其他这种手持便携设备,也就出现了对能够将相对较小的计算负担放在该手持视频记录设备的编码/压缩功能上、并将相对较高的计算负担放在解码设备上的需求,该解码设备通常是高功率服务器或具有较强计算能力的编码视频信号接收实体。这种对计算复杂度的分配被称作“逆计算复杂度”。便携、手持视频记录设备的制造商、销售商、设计者和用户,编解码器的设计者、制造商和销售商,以及视频数据管理提供者都已经意识到对具有逆计算复杂度的新的、高效的和鲁棒的视频编解码器的需求。


发明内容
本发明的各种实施例包括调整编码和解码之间的压缩和解压缩的总计算复杂度的分配的压缩/解压缩方法、系统和设备。这些实施例包括在计算复杂度的可选级别上编码接收的信号的编码器和在计算复杂度的可选级别上解码所接收的编码信号的解码器。本发明的视频编解码器实施例可被合并到相对廉价的视频记录设备中,这其中包括手持的视频记录消费者设备,比如视频记录机和蜂窝电话。



图1示出了基于像素的视频信号帧。
图2示出了对视频信号的编码。
图3示出了在帧的编码中的第一逻辑步骤。
图4示出了视频帧到宏块(macroblock)的合成。
图5示出了宏块到六个8×8块的分解。
图6示出了对从如上参照图1-5所述的视频帧中提取出来的8×8块的空间编码。
图7示出了对频域系数的示例性量化。
图8示出了帧序列之间的子图像移动和描述子图像移动的运动矢量。
图9显示了用于对当前帧的时间(temporal)编码的信息。
图10示出了P帧时间编码。
图11示出了B帧时间编码。
图12示出了DC编码。
图13概述了I帧、P帧和B帧编码。
图14图示了对与符号串相关联的熵的计算和对该符号串的基于熵的编码。
图15图示了用于根据两个不同随机变量X和Y产生的两个不同符号串的联合条件熵。
图16示出了用于编码和发送其后为符号串X的符号串Y的下限传输速率,该速率的单位为比特每符号。
图17示出了一旦符号串Y已经被发送到解码器,用于编码和发送符号串X的一种可能的编码方法。
图18示出了Slepian-Wolf定理。
图19示出了Wyner-Ziv定理。
图20图形化地示出了对编解码器的编码器/压缩和解码器/解压缩功能性之间的计算负担或计算复杂度的分配。
图21示出了本发明的实施例可应用的问题领域。
图22示出了本发明实施例的基本概念。
图23A-B示出了本发明的两种不同概括的实施例。
图24示出了对B帧的标准编码。
图25A-C示出了根据本发明实施例的NRWZ-B帧编码。
图26A-D示出了根据本发明一个实施例的对NRWZ-B帧的解码。
图27A显示了典型的拉普拉斯(Laplacian)分布。
图27B显示了在本发明的各个实施例中使用的噪声模型的第一项中所使用的高斯分布。
图27C显示了在本发明的各个实施例中使用的噪声模型的第二项中所使用的高斯分布。
图27D显示了对有噪残留帧系数y建模的组合分布。
图28图示了根据本发明一个实施例的用于产生WZ层比特流的残留帧系数(图25C中的2526)的信道编码。
图29图示了在本发明各个实施例中使用的陪集(coset)映射。
图30图示了由拉普拉斯分布的频域残留帧系数x确定量化的残留帧系数值的概率分布。
图31显示了使用与图30中所使用的相同的图示惯例对具有值2的陪集的概率的计算的示例。
图32显示了在本发明各个实施例中所使用的残留帧频域系数量化和陪集映射的更详细的呈现。
图33A图示了使用从本发明各个实施例中所使用的WZ层比特流中所获得的有噪残留帧系数y和相应的陪集c的Wyner-Ziv信道解码过程。
图33B示出了对在本发明各个实施例中所使用的频域残留帧系数的估计。
图34示出了在本发明各个实施例中所使用的网格(trellis)编码技术。
图35示出了在本发明各个实施例中所使用的通过翻转对称地关于零值布置的一对或多对基础陪集函数(base-coset-function)陪集值的符号来产生基础陪集函数

(k)族。
图36是用于在本发明的各个实施例中所使用的基于网格的编码的控制流程图。
图37示出了用于通过在本发明的各个实施例中所使用的网格编码方法来产生陪集的陪集产生状态机(state machine)。

具体实施例方式 本发明的实施例提供了压缩/解压缩方法、系统和设备,其通常被称作“编解码器”,以允许对压缩/解压缩方法、系统和设备的编码/压缩功能和解码/解压缩功能之间的压缩/解压缩的总计算负担的分配在计算负担分配的范围内的调节。下面,在第一子部分中,提供了对典型的、目前可用的视频编解码器的概述,以作为理解本发明后续论述的基础。然后,在第二子部分,提供了对信息科学和编码理论中的特定概念的简介、以及Slepian-Wolf和Wyner-Ziv编码定理的概述。下面,在第三子部分,提供对本发明的概述。最后,在最长的第四部分,提供包括本发明的各个实施例的编解码器的实施细节。
目前可用的视频编解码器概述 图1示出了基于像素的视频信号帧。帧102可以被认为是像素值的二维阵列。该二维阵列的每个单元(比如单元104)都代表一个用于由电子显示设备的相应像素来显示的像素值,该电子显示设备比如是电视显示器或计算机监视器。在一种标准中,视频信号帧102代表包含240×352个像素的图像的显示。每个像素的数字表示,比如像素值106,包括亮度值108和两个色度值110-111。亮度值108可被认为是控制像素的灰度的暗度或亮度,而色度值110和111指定将由像素显示的颜色。
图2示出了对基于帧的视频信号的编码。原始视频信号可被认为是根据时间排序的帧120的系列或序列。在一种公共标准中,任何两个连续帧(比如图2中的帧122和124)都由一秒钟的1/30的时间差来分隔。该视频编码过程将该原始信号中的帧序列划分为按时间排序的子序列的序列,每个子序列被称作“GOP”。每个GOP可重叠在第一和最后帧中的先前的和后续的GOP。在图2中,13个帧126包括单个GOP。在GOP中的帧的数量可依据特定编解码器的实施、所期望的视频信号的重建的保真度、所期望的分辨率、以及其他因素而变化。GOP通常开始于并结束于内部帧(intraframe),比如GOP 126中的内部帧128和130。内部帧,也称作“I帧”,是被空间编码的参考帧。许多P帧132-134和B帧136-139及140-143可出现在该GOP中。P帧和B帧可以被空间和时间编码。P帧的编码依赖于先前的I帧或P帧,而B帧的编码依赖于先前的和后续的I帧或P帧二者。通常,I帧和P帧被认为是参考帧。如图2中箭头所示,比如箭头144,被选择用于P帧和B帧的原始帧在该GOP中出现的顺序可不同于它们在原始视频信号中出现的顺序。每个GOP都以时间顺序被输入到编码模块148,该编码模块将包含在该GOP中的信息编码为压缩比特流150,该压缩比特流150可以被输出用于存储在电子存储介质上或用于经由电子通信介质进行传输。
图3图示了在帧的编码中的第一逻辑步骤。如上面参考图1所论述的,视频帧102可被认为是像素值的二维阵列,每个像素值包括一个亮度值和两个色度值。这样,单个视频帧可被可选地认为由一个亮度帧302和两个色度帧304和306组成。因为相对于色度来说,人类视觉知觉能更敏锐地辨别亮度,所以两个色度帧304和306通常在每个维度中以因子2抽取或由总因子4来抽取,以产生较低分辨率的120×175帧。
图4图示了从视频帧到宏块的合成。如图4所示,图4中仅仅示出了其中的一小部分的视频帧(比如240×352视频帧401)能够被分解为一组非重叠的16×16宏块。图4中显示的帧的这一小部分已经被分成四个宏块404-407。当这些宏块以在该视频帧的连续行中从左到右出现的顺序被用数字标记时,图4中的第一个宏块401被标记为“0”,第二个宏块405被标记为“1”。没有显示在图4中的二十个额外宏块在该视频帧的第一行中跟在宏块1之后,所以图4中显示的第三宏块406,也即第二行的第一个宏块,被标记为“22”,而图4中所显示的最后一个宏块407被标记为“23”。
图5图示了将一个宏块分解为六个8×8块。如上所述,比如图1中的视频帧102的视频帧可被分解成16×16宏块的系列,比如图4中的宏块404。如参照图3所论述的,每个视频帧、或视频帧中的宏块可被认为是分别由一个亮度帧和两个色度帧组成或由一个亮度宏块和两个色度宏块组成。如参考图3所论述的,色度帧和/或宏块通常通过总因子4进行抽取。因此,视频帧中的给定宏块(比如图4中的宏块404)可被认为是由一个16×16亮度宏块502和两个8×8色度宏块504和505组成。该亮度宏块502可以如图5所示被分解成四个8×8块。这样,视频帧中的给定宏块(比如图4中的视频帧401中的宏块404)可被分解成六个8×8块506,包括四个亮度8×8块和两个色度8×8块。在8×8块的基础上执行视频帧的空间编码。在16×16宏块的基础上执行视频帧的时间编码。
图6示出了从视频帧中提取的8×8块的空间编码,如上面参照图1-5所论述的。该8×8块602的每个单元或元素(比如单元604)包括亮度或色度值f(i,j),其中i和j分别是该单元的横坐标和纵坐标。该单元被从由强度值f(i,j)的阵列所表示的空间域变换606到由频域系数F(u,v)的二维8×8阵列所表示的频域,该变换在多数情况下使用离散余弦变换(“DCT”)。示例性DCT的表达式608被示出在图6的上方。频域中的系数指示在空间域中垂直、水平以及垂直和水平二者方向上的空间周期性。F(0,0)系数610被称作“DC”系数,并具有与该8×8空间域块602内的平均强度成比例的值。由频域系数所表示的周期性在频率上沿着互连DC系数610和最高频率系数612的对角线从最低频率系数610增长到最高频率系数612。
接着,频域系数被量化614以产生量化后的频域系数616的8×8块。图7示出了对频域系数的示例性量化。量化使用8×8的量化矩阵Q702。在一个示例性量化过程中,在图7中用表达式704表示,将每个频域系数f(i,j)乘以8,然后使用整数除法将其除以量化矩阵Q中的对应值Qi,j,Qi,j可首先通过尺度因子(scale factor)被缩放。量化的系数具有小整数值。对量化矩阵Q的检查揭示了通常情况下,在量化过程中相比较低频系数,较高频率系数被较大值相除。因为Q矩阵整数对于较高频率系数来说是较大的,所以较高频率系数最终被量化成较小的整数范围,或量化仓(quantization bin)。换句话说,较低频率系数的量化值的范围大于较高频率系数的量化值的范围。因为较低频率系数通常具有较大的幅值(magnitude),并相比较高频率系数,对感知的图像通常贡献更大,因此量化的结果是许多较高频率量化系数,也就是在量化系数块616的右下三角部分中,被迫使为零。然后,以zig-zig方式来回穿行(traverse)量化系数618的块,以创建量化系数620的一维矢量。然后使用各种熵编码技术来编码该量化系数的一维矢量以产生压缩的比特流622,熵编码技术通常是游程(run-length)编码后跟着霍夫曼(Huffman)编码。熵编码技术利用了符号流中符号的出现频率的非均匀分布来压缩该符号流。该具有最高索引的一维量化系数矢量620的最后部分通常仅包含零值。游程编码可通过数值“0”的单次出现和该零值子序列的长度来代表长的、连续的零值序列。霍夫曼编码使用符号的变化比特长度编码,利用较短长度的编码来表示出现频率更高的符号,以便压缩符号串。
空间编码仅使用包含在特定8×8空间域块中的信息来编码该空间域块。如上所述,仅通过使用空间编码来编码I帧。换句话说,每个I帧都被分解成8×8块,并且每个块都被空间编码,如上面参照图6所论述的。因为对I帧的编码并不依赖于视频信号中的任何其他帧,所以I帧充当独立(self-contained)的参考点,其使得该解码过程固定(anchor)在规则隔开的间隔,防止了由编码帧之间的相互依赖而出现的解码信号的漂移。
因为视频帧序列或视频信号通常对相对于较为固定的背景移动的人物或物体的动态图像进行编码,摄像机对在一段时间里相对静止的背景或者场景进行摇摄(panned),所以视频帧序列通常包含大量的冗余信息,其中的一些或大部分从其在最初帧中的最初位置被转移或位移到后续帧上的一系列后续位置。由于这个原因,对一系列视频帧中的图像或子图像的运动的检测提供了一种相对高等级的压缩方式。检测视频帧序列中的图像或子图像的随着时间的运动并使用包含在这些运动图像和子图像中的冗余信息的技术被称作时间压缩。
图8示出了帧序列之间的子图像移动和描述子图像移动的运动矢量。在图8中,示出了从GOP中选择的三个视频帧802-804。帧803被认为是当前帧,或将被编码和压缩的帧。帧802在时间上比当前帧803更早地出现在帧的原始视频信号序列中,并且帧804在原始视频信号中在帧803后面。当前帧803中的特定16×16宏块806存在于先前帧802中的第一不同位置808处以及存在于后续帧804中的第二不同位置810处。通过在单个帧812内叠加先前帧、当前帧和后续帧中的宏块806的位置,可以发现该宏块在原始视频信号的帧序列中呈现为沿对角线向下移动,从第一位置808通过当前位置806到达第二位置810。在当前帧806中的宏块的位置以及两个位移或运动矢量814和816描述了该宏块806在由先前帧、当前帧和后续帧表示的时间段中的时间和空间运动。时间压缩的基本概念是当前帧中的宏块806可被编码为运动矢量814和816之一或两者,因为该宏块将会在先前帧和后续帧的编码中被编码,并因此除了涉及它在当前帧中的位置的基于运动矢量的信息之外代表当前帧中的冗余信息。
图9显示了用于对当前帧进行时间编码的信息。当前帧的时间编码使用当前帧902,以及使用单个先前帧904和与该先前帧相关联的单个运动矢量906或同时使用先前帧904及相关联的运动矢量906和后续帧908及相关联的运动矢量910。P帧时间编码可仅使用先前帧和先前的I帧或P帧,以及B帧编码可同时使用先前的和后续的I帧和/或P帧。
图10图示了P帧时间编码。在P帧时间编码中,16×16当前帧宏块1002和在先前帧中找到的16×16匹配宏块1004被用于编码16×16当前帧宏块1002。该先前帧宏块1004被识别为足够类似于当前帧宏块1002以至于能够通过时间压缩来压缩,并被识别为最类似于当前帧宏块的宏块。多种技术可被用于为当前帧中的给定宏块识别先前帧中的最佳匹配宏块。如果当前帧宏块和最佳匹配先前帧宏块中的相应值之间的绝对差之和(“SAD”)或平方差之和(“SSD”)小于阈值的话,则先前帧中的最佳匹配宏块可被认为是充分类似的。与当前帧宏块1002和最佳匹配先前帧宏块1004相关联的是运动矢量(图9中的906)。该运动矢量可被计算为当前帧和最佳匹配先前帧宏块的左上单元的水平和垂直偏移Δx和Δy。从最佳匹配先前帧宏块1004中减去当前帧宏块1002以产生残留宏块1006。该残留宏块然后被分解成六个8×8块1008,如上面参考图5描述的,并且每个8×8块都被DCT 1010变换以产生频域系数1012的8×8块。该频域系数的块被量化1014和线性化1015以产生量化系数1016的一维矢量。该量化系数1016的一维矢量然后被游程编码和霍夫曼编码,并和与当前帧宏块1002和最佳匹配先前帧宏块1004关联的运动矢量一起被打包(package)以产生压缩比特流1018。P块的时间压缩在逐宏块的基础上执行。如果在先前帧中找不到特定当前帧宏块的类似宏块,那么当前帧宏块可被空间编码,如上面参照图6所描述的。在对当前帧的时间编码期间,先前的I帧或先前的P帧都可被用作先前帧。
图11图示了B帧时间编码。在B帧时间编码中的许多步骤与P帧编码中的那些步骤相同。在B帧编码中,与当前帧宏块1106对应的来自先前帧1102的最佳匹配宏块和来自后续帧1104的最佳匹配宏块被一起平均以产生平均匹配帧1108。从该平均匹配宏块1108中减去当前帧宏块1106以产生残留宏块1110。该残留宏块然后以与P帧编码中残留宏块1006被空间编码的方式完全相同的方式被空间编码,如图10所描述的。从残留宏块的空间编码所得的一维量化系数矢量1112被熵编码,并和与最佳匹配先前帧宏块1102和最佳匹配后续帧宏块1104关联的两个运动矢量一起被打包以产生压缩比特流1114。B帧中的每个宏块可仅使用最佳匹配先前帧宏块和相关联的运动矢量而被时间压缩,如在图10中,仅使用最佳匹配后续帧宏块和相关联的运动矢量而被时间压缩,或者如在图11中显示的,同时使用最佳匹配先前帧宏块及相关联的运动矢量和最佳匹配后续帧宏块及相关联的运动矢量而被时间压缩。此外,如果在先前帧或后续帧中都找不到特定当前帧宏块的匹配宏块,那么当期帧宏块可被空间编码,如参考图6所论述的。先前帧和后续帧可以是P帧或I帧。
图12图示了DC编码。如上所述,频域的F(0,0)系数代表了空间域中的平均强度。该DC系数对高保真帧重建来说是最重要的一条信息。因此,该DC系数通常被表示为最高可能的分辨率,并用DCPM编码进行编码。在DCPM编码中,第一个I帧1204的DC系数1202被编码为比特流,并且对于后续帧1206-1208的每一个DC系数,后续帧DC系数和第一个参考帧DC系数1202之间的差被编码成比特流。
图13概述了I帧、P帧和B帧编码。在步骤1302,下一个16×16宏块被接收以用于编码。如果该宏块是从I帧中提取出来的,如在步骤1304中所确定的,那么该宏块在步骤1306被分解成六个8×8块,这六个8×8块经由DCT、量化、线性化和熵编码被空间编码,如上面参考图6所描述的,由此完成对该宏块的编码。否则,如果所接收的宏块是从P帧中提取出来的,如在步骤1308中所确定的,那么如果在先前的参考帧中可以找到对应的宏块,如在步骤1310中所确定的,该宏块在步骤1312被时间编码,如参考图10所描述的。相反,如果在先前的参考帧中没有找到类似宏块,那么所接收的宏块在步骤1306被空间编码。如果所接收的宏块是从B帧中提取出来的,如在步骤1314中所确定的,那么如果在先前的和后续的参考帧中都找到了类似的匹配宏块,如在步骤1316中所确定的,则在步骤1318中同时使用先前的和后续的参考帧来对所接收的宏块进行时间编码,如上面参考图11所描述的。否则,该宏块以类似于P帧宏块的方式被编码,除了单个最佳匹配块时间编码可用先前的或后续的参考帧中的最佳匹配块来执行。如果所接收的16×16宏块不是I帧、P帧或B帧宏块之一,那么或者已经出现错误条件,或者在当前编码方法中的GOP内还有其他类型的块,而这两种情况中的任何一个都在步骤1320被处理。
对由上面参照图1-13所论述的视频编码方法所产生的压缩比特流(图2中的150)的解码通过逆向进行该编码步骤来执行。对该比特流的熵解码返回用于空间编码块和用于在时间压缩期间所产生的残留块的一维量化系数矢量。熵解码还返回了运动矢量和其他打包在该压缩比特流中用来描述该编码信息和促进解码的报头(header)信息。该一维量化系数阵列可被用来产生相应的二维量化系数块和量化残留块,并且该量化系数块和量化残留块然后可被转换成重建的频域系数块。对频域系数块的重建通常会引入噪声,因为信息在编码过程中的量化步骤中丢失。该重建的频域系数块然后可使用逆DCT被变换到空间域,并被重新装配为重建的视频帧,其中将残留帧添加回由运动矢量在逆时间编码期间已经重建的帧中所找到的宏块。因此,上面描述的编解码器基于有损压缩,因为重建的视频帧包含由编码过程的量化步骤中的信息丢失所导致的噪声。
信息科学和编码理论以及Slepian-Wolf和Wyner-Ziv定理中的特定概念简介 图14示出了与符号串相关联的熵的计算以及对该符号串的基于熵的编码。在图14中,显示了24符号的串1402。在该24个符号的串中的符号选自包括符号A、B、C和D的符号集X 1404。考虑到该符号串是对随机变量X进行采样的产物,而该随机变量X在给定时间点具有四个值A、B、C和D之一,所以这四个不同符号中的每一个在该符号串1402中的给定位置出现的概率可以从这四个符号在该符号串1402中的出现频率来推断,如表达式1404所示。这四个符号的出现频率的柱状图1046被显示在图14中。该符号串或用来产生该符号串的随机变量X的熵被计算为 熵H总是正的,并且在计算熵的过程中,log2(0)被定义为0。这24个字符符号串的熵可从符号1404的出现概率计算出来为1.73。熵越小,对随机变量X的采样的结果的可预测性就越大。例如,如果在对随机变量X的采样过程中获取这四个符号A、B、C和D中的每一个的概率是相同的,并因此每个概率都等于0.25,那么该随机变量X的熵,或对于由重复采样该随机变量X所产生的符号串的熵,为2.0。相反,如果该随机变量总是产生值A,并且该符号串仅包含该符号A,那么从对该随机变量的采样中获取A的概率将等于1.0,并且获取其他值B、C、D任意之一的概率将为0.0。该随机变量的熵,或全部包含A的符号串的熵,由上述表达式计算出熵为0。熵为0表示了没有不确定性。
对于上面考虑的符号串(也被称作串X)的4符号随机变量,在0和2.0之间的熵的中间值对应于增长的不确定性的范围。例如,在柱状图1406和概率等式1404中示出的符号出现分布中,可以推断对随机变量X的采样返回符号A的可能性与其他三个符号B、C和D任意之一相同。由于在符号串内的符号出现频率的非均匀分布,该符号串中的任意特定符号具有值A的可能性大于具有剩下三个值B、C、D中任一个的可能性。同样,该符号串中任意特定符号具有值D的可能性要大于具有两个值B和C中的任意一个的可能性。该中间确定性,或从符号出现的非均匀分布中收集的知识,被反映在该符号串1402的熵H[X]的中间值上。随机变量或符号串的熵与各种不同现象相关联。例如,如在图14的公式1410中所示的,编码随机变量X的采样或编码符号串1402的符号所需的二进制码的平均长度大于或等于该随机变量或符号串的熵,并小于或等于该随机变量或符号串的熵加一。这四个符号的霍夫曼编码1414产生了符号串的编码版本,其具有等于1.751416的每符号平均比特数或速率,该值落在由表达式1410所指定的范围内。
可以如下所示利用图14中显示的符号串的符号出现频率来计算产生任何特定的n个符号的符号串的概率, 因此,典型符号串或具有图14中显示的符号出现频率的符号串的数量可被计算为 如果想要给这些典型符号串的每一个分配唯一的二进制整数值,那么表示这些数值的最大值所需要的最小比特数可被计算为 log2(3.153×1012)=41.521 对这些典型符号串的每一个的每个字符进行编码所需要的平均比特数因此为 图15示出了用于从两个不同随机变量X和Y所产生的两个不同符号串的联合条件熵。在图15中,来自图14的符号串1402被显示为与符号串1502配对,该符号串1502同样为长度24、通过对返回符号A、B、C和D之一的随机变量Y进行采样而产生。符号A、B、C和D在符号串Y中的给定位置出现的概率在图15中的等式1504中被计算。符号在符号串X和符号串Y中的相同位置出现的联合概率在图15中的等式组1506中被计算,并且在给定特定符号在符号串Y中的对应位置出现的情况下,符号在符号串X中的特定位置出现的条件概率从等式1508中获知。符号串Y的熵H[Y]可从符号在串Y中的出现频率被计算为1.906。符号串X和Y的联合熵H[X,Y]被定义为 并且,使用图15中的联合概率值1506,对于串X和Y,该联合熵可被计算为具有值2.48。给定符号串Y,那么符号串X的条件熵H[X|Y]被定义为 并可使用图15中的联合概率1506和图15中的条件概率1508而被计算为具有值0.574。条件概率H[Y|X]可根据联合熵和先前计算的符号串X的熵被计算为 H[Y|X]=H[X,Y]-H[X] 并且,使用先前计算的H[X,Y]和H[X]的值,其可被计算为0.75。
图16图示了用于编码和传输后面跟有符号串X的符号串Y的以比特每符号为单位的下限传输速率。符号串Y理论上可由编码器1602编码并被发送到解码器1604用于以H[Y]1606的比特/符号速率进行完美的、无损重建。如果解码器保存有符号串Y的副本1608,那么符号串X理论上可以以等于H[X|Y]的速率1610被编码并发送到解码器。那么,用于编码和传输第一符号串Y及后续的符号串X的总速率为 H[Y]+H[X|Y]=H[Y]+H[Y,X]-H[Y]=H[Y,X]=H[X,Y] 图17图示了一旦符号串Y已经被发送到解码器则用于编码和发送符号串X的一种可能的编码方法。正如通过检查图15中的条件概率1508、或通过比较图15中对准的符号串X和Y可以获知的,符号串Y中的符号B、C和D可被分别确定地转换为符号串X中相应位置上的相应符号A、A和D。因此,得到了符号串Y,那么将符号串Y转换为符号串X过程中的唯一不确定性就是关于符号串Y中符号A的出现。可以设计用于三个转换1704的霍夫曼编码并使用符号串Y中符号A的每次出现的霍夫曼编码来编码符号串X。对符号串X的这种编码被显示在图17中的稀疏阵列1706中。符号串Y 1702在存储器中,并接收用于根据符号A转换1704的霍夫曼编码来编码符号串X的14个比特1706,符号串X可被如实地、无损地从符号串Y和对符号串X的14比特编码1706中被解码以获得符号串X 1708。用于编码24个符号的14个比特代表了0.583比特每符号的速率,其稍大于理论上的最小比特速率H[X\Y]=0.574。然而,虽然理论上的最小比特速率对于理解编码效率的理论极限是有用的,但是它们通常并不提供对如何实现该理论极限的指示。同样,在发展不能在实际情况中实现的定理时也做出了各种假设。
图18图示了Slepian-Wolf定理。如参考图16和17所论述的,如果编码器/解码器对的编码器和解码器都分别在存储器1808和1810中保留符号串Y,那么符号串X 1812可以以大于或等于条件熵H[X|Y]的比特每符号速率1814由编码器1804编码并无损地发送到解码器1806。Slepian和Wolf显示了,如果符号串X和Y中的符号的联合概率分布在解码器处已知,但是只有解码器能够访问符号串Y1816,那么无论如何,符号串X 1818都能够以H[X|Y]的比特率1820被编码器1804编码并发送到解码器1806。换句话说,当解码器能够访问边信息时,该边信息在当前示例中由符号串Y表示,并且知道将被编码和发送的符号串的联合概率分布和该边信息,那么该符号串可以以等于H[X|Y]的比特速率被发送。
图19图示了Wyner-Ziv定理。Wyner-Ziv定理涉及有损压缩/解压缩,而不是无损的压缩/解压缩。然而,如图19所示,该Wyner-Ziv定理类似于Slepian-Wolf定理,除了代表有损编码和传输的下限的比特率是条件速率失真函数RX|Y(D),该函数通过最小化算法被计算为用于有损压缩/解压缩传输的最小比特速率,该有损压缩/解压缩导致产生小于或等于阈值D的失真,其中该失真被定义为原始符号串或信号X和有噪的重建符号串或信号

之间的差的方差 I(Y;X)=H[Y]-H[Y|X]
当σ2≤D 即使在该编码器不能访问该边信息Y,如果该解码器能够访问该边信息Y并且知道X和Y的联合概率分布,那么该比特速率也能实现。存在很少的速率失真函数的闭式表达式,但是当考虑无记忆的高斯分布的源时,该速率失真具有下限 R(D)≥H[X]-H[D] 其中H[D]是高斯随机变量的熵,其中σ2≤D。
因此,当相关边信息以及该边信息和编码信号的联合概率分布知识对解码器可用时,可通过利用边信息的源编码方法而获得高效压缩。如在上面示例中看到的,当X和Y相关时,条件熵H[X|Y]和条件速率失真函数RX\Y(D)的值分别远小于H[X]和RX(D)。
本发明的概述 图20图形化地图示了编解码器的编码器/压缩和解码器/解压缩功能之间的计算负担或计算复杂度的分配。应注意到图20并不是从实际的实施数据中得到的,而是意在图形化地并非常近似地图示计算负担的分配。在图20中,编码器复杂度沿着水平轴2002绘出,而解码器复杂度沿着垂直轴2004绘出。原点2006和复杂度曲线2008上的点之间的距离由矢量2010的幅值表示,其对应于提供特定保真度或鲁棒性的编解码器中编码/压缩和解码/解压缩的总的、整体计算负担。通常,该总计算负担或计算复杂度可在编码器/压缩功能和解码器/解压缩功能之间任意地分配,不过并不一定是连续的,因为可能需要为不同的分配采用不同的方法。例如,点2008对应于编码器/压缩和解码器/解压缩之间的计算负担的相当平均的分配。在图20中,矢量2010在编码器复杂度轴2002上的投影2012代表了分配给编码器/压缩的计算负担,而矢量2010在垂直轴上的投影2014代表了分配给解码器/解压缩的计算负担的部分。在大范围的复杂度分配上复杂度曲线通常是圆形的,但是在极端情况,整体复杂度大大增长以实现在期望的重建保真度和压缩速率的限制下计算负担到编码/压缩或解码/解压缩之一的转移。例如,在点2014,大部分计算负担被分配给编码器/压缩功能,而很少的计算负担2018被分配给解码器/解压缩功能。分配给解码器/解压缩功能的计算负担的进一步降低可能需要大幅度提高整体计算复杂度,这由从原点2006指向远处沿着复杂度曲线的点的矢量的幅值所表示。
该复杂度曲线对应于在重建信号中保证所期望的保真度或在期望的比特率下保证鲁棒性的编解码器实施方案的范围。因此,每个复杂度曲线代表实现期望的鲁棒性和比特率的编解码器实施方案的范围。如果所期望的是降低其中大部分计算负担被分配给编码器/压缩功能的编解码器的该编码器/压缩功能的计算负担,正如图20中用点2014表示的当前可用的编解码器中的普遍情形,那么可以选择可选的实施方式,比如图20中用点2016表示的,其中计算负担被从该编码器/压缩功能转移到解码器/解压缩功能。可选地,不那么鲁棒的实施方式可从由复杂度曲线2022表示的不那么鲁棒的实施方式族中选择,这导致由连接原点2006和点2024的矢量表示的总计算负担的降低,并因此导致了降低的由该矢量在水平轴2026上的投影表示的编码器/压缩计算负担,同时保持了编码器/压缩计算负担与解码器/解压缩计算负担的比率。当然,总的整体计算负担以及计算负担的分配可以一同被修改,以实现期望的编码器/压缩计算复杂度和期望的解码器/解压缩计算复杂度。
图21图示了本发明实施例可应用到其中的问题领域。如上所述,具有适度计算能力的相对廉价的消费者手持视频记录设备2012的出现已经产生了对逆复杂度编解码器的需求。这种手持设备记录信号2104,比如经由摄像机记录的运动图像,编码该信号,并发送该信号2106到相对大功率的服务器2108或其他接收实体,用于存储、显示和处理。因为该手持设备具有适度的计算能力,所以需要一种低复杂度的编码功能2110。在该应用中,低复杂度编码可通过将计算负担转移到大功率服务器中的解码功能2112来实现。然而,该手持设备还需要接收和解码已编码的信号2114和2116以显示从远程源发送的视频信号。在这种情况下,在该手持设备中需要低复杂度的解码器/解压缩功能,并且许多情况下,总计算负担可被转移到远程源中的更复杂的编码功能2118。类似地,该手持设备可能需要能够解码和显示由该手持设备内部编码和存储的信号。尽管有可能在该手持设备中实施两种不同的编解码器,对应于图20中的点2014和2016,但是使用多个编解码器会大大增加该手持设备的成本和复杂度。作为另外一种方法,比如图20中由点2026所代表的不那么鲁棒的编解码器可被实施以在该手持设备内的编码/压缩功能和解码/解压缩功能中同时实现合理的低复杂度。然而,信号重建的整体保真度和鲁棒性将大打折扣。
图22示出了本发明实施例的基本概念。图22使用与图20中相同的图示规定。不是在手持视频记录设备以及其他需要以低计算复杂度编码/压缩和解码/解压缩的消费者设备中使用两个编解码器,如参考图21所论述的,而是使用单个编解码器,其能够提供编码/压缩和解码/解压缩功能之间的计算负担的分配在不同分配范围内的调整。如图22所显示的,对计算负担的划分可沿着从点2202到点2204的计算曲线段被调整,以保持相同的整体计算复杂度。在一个极端情况,大部分计算负担落在编码/压缩功能上,由点2206所表示,而解码/解压缩功能具有由点2208所代表的相对低的计算复杂度。在另一个极端情况,大部分计算负担被转移到解码/解压缩功能,由点2210表示,而相对小的计算负担被施加在编码/压缩功能上,由点2212表示。本发明的可调节编解码器允许在由点2202到点2204之间的复杂度曲线的区域所代表的不同计算复杂度分配的范围内维持所期望的鲁棒性。此外,在某些情况下,该可调节编解码器被调节为提供降低的鲁棒性,或者换句话说,提供不同的复杂度曲线,以进一步降低施加在解码器/解压缩功能上的计算负担。
图23A-B示出了两种不同的本发明的概括实施例。如图23A所示,根据当前视频压缩标准工作的编解码器被修改为通过Wyner-Ziv方法编码B帧,图23A中阴影所示,其将计算负担从编码/压缩功能转移到解码/解压缩功能,因为解码器/解压缩功能需要使用更复杂的方法以利用边信息和联合概率分布来解码该Wyner-Ziv编码的B帧。在这个实施例中,Wyner-Ziv编码被用于B帧编码以产生非参考帧,Wyner-Ziv编码的B帧(“NRWZ-B帧”)。在可选实施例中,如图23B中显示的,插在有规律隔开的I帧和P帧之间的许多非参考P帧通过非参考帧Wyner-Ziv P帧编码被编码以产生非参考Wyner-Ziv编码的P帧(“NRWZ-P帧”)。该可选实施例将较少的计算负担转移给解码器/解压缩功能。
如上所述,在每个GOP中使用的非参考帧的数量是可以动态调整的。对于相对低的传输速率,当在接收实体处可得到超额的处理循环时,可使用大量的非参考帧来提高分辨率。相反,当传输速率较高并且在该接收实体处可得到较少的处理循环时,那么非参考帧的数量可被降低。因此,调整计算负担的划分的一种方法就是通过调整包括在每个GOP中的NRWZ-B帧或NRWZ-P帧的数量。调整分配给代表本发明实施例的编解码器的解码/解压缩功能的计算负担的另一种方法是解码/解压缩功能忽略NRWZ-B帧和NRWZ-P帧,并仅解码参考帧。这在降低编解码器的整体计算复杂度的同时也降低了帧重建的保真度,但是与此同时,也通过将计算负担更多地转移向编码/压缩功能而重新分配了整体计算复杂度。又一种用于调整计算复杂度的分配的方法是改变编码NRWZ-B帧和NRWZ-P帧的分辨率,以及改变解码器所使用的边信息的性质。因为存在如此多的调整技术和计算负担分配的范围,所以根据本发明设计的编解码器能够在相对大的分配范围内提供对计算复杂度分配的非常精细的调整。
总而言之,传统的当前可用的编解码器将计算负担中相当大的部分分配给编解码器的编码器/压缩功能,但是通过使用NRWZ-B帧和NRWZ-P帧,而不是传统的B帧和P帧,本发明的实施例将计算复杂度转移向编解码器的解码/解压缩功能。然而,可通过改变所使用的非参考帧的数量、通过在解码器/解压缩功能处选择性地忽略非参考帧、以及通过调整由解码器/解压缩功能解码NRWZ-B帧和NRWZ-P帧所用的边信息的性质和编码NRWZ-B帧和NRWZ-P帧的分辨率而或多或少连续地调节计算复杂度的转移。通过仅对非参考帧使用Wyner-Ziv编码,由Wyner-Ziv编码引起的漂移被仅限制于Wyner-Ziv编码的非参考帧的每个子序列,并且通过对每个参考帧的解码而被校正。对当前实施的编解码器和编码标准只需要最小的改变,因为非参考帧是利用当前技术和标准编码的。此外,通过将Wyner-Ziv编码限制于非参考帧,更大的块长度信道码可被使用,其潜在地跨越多个Wyner-Ziv编码的帧。
本发明的各个实施例的详细描述 如前面子部分中所论述的,本发明的实施例将B帧编码为NRWZ-B帧,或可选地,将P帧编码为NRWZ-P帧。在下面论述中,论述B帧的标准编码和用于产生NRWZ-B帧的对B帧的Wyner-Ziv编码。如上面参照图10所论述的,这些方法类似于用于编码标准P帧和NRWZ-P帧的方法,后者仅需要使用先前帧和每宏块的单个运动矢量,而不是同时使用先前帧、后续帧和每宏块的两个运动矢量。为了简明,在该子部分中只有B帧编码和NRWZ-B帧编码被描述。
图24图示了对B帧的标准编码。在该论述中,假设使用先前帧和后续帧两者对B帧中的至少一部分宏块进行时间编码。如上所述,某些宏块可仅被空间编码,而其他的可仅使用先前帧和单个运动矢量被时间编码,如在P帧编码的情况中那样。因此,图24假设更复杂类型的时间编码,以便显示B帧编码所需的最大信息量,应理解,在本发明的特定实施例中,B帧中的某些宏块可被更简单地编码,并使用更少的信息。
除了需要被编码的当前帧2402,对当前帧的B帧编码通常使用原始接收的先前帧2404和原始接收的后续帧2406以定位最佳匹配宏块和计算运动矢量,并且还在时间编码期间使用先前帧2408的重建版本和后续帧2410的重建版本来计算残留帧。该残留帧需要从重建帧中计算,因为只有重建帧对解码器是可用的。重建的先前帧2408和后续帧2410在对原始的先前帧和后续帧的预先编码(priorencoding)期间被产生。如参考图2所论述的,GOP帧关于原始视频信号被重新排序,以便重建的参考帧可用于B帧的B帧编码。如上所述,由于对频域系数的量化所导致的压缩/解压缩循环中信息的丢失,重建帧包含附加噪声。在第一步骤2412,为当前帧中的每个宏块在原始先前帧2404和原始后续帧2406之一或二者中找到最佳匹配块,并且计算运动矢量。然后,在第二步骤2414,重建的先前帧2408和重建的后续帧2410、以及该先前帧和后续帧的运动矢量和语法元素对象2416-17被一同用于产生压缩的比特流2418、随后在解压缩期间由解码器/解压缩产生的当前帧2420的重建版本、以及用于当前帧的语法元素对象2422. 图25A-C图示了根据本发明实施例的NRWZ-B帧编码。同样,示出的NRWZ-B编码假设当前帧中的至少一部分宏块使用先前帧和当前帧和两个运动矢量被时间编码。如同标准B帧编码一样,NRWZ-B帧编码使用先前的原始帧2504、先前的重建帧2506、后续的原始帧2508、后续帧的重建版本2510以及用于先前的和后续帧的语法元素对象2512和2514来编码当前帧2502。在第一步骤中,所有这些帧和语法元素对象被2n×2n因子抽取以产生当前帧的低分辨率(“LR”)版本2516、先前的原始和先前的重建帧2518和2520的低分辨率(“LR”)版本、后续的原始帧和后续的重建帧2522和2524的低分辨率(“LR”)版本、以及语法元素对象2526和2528的低分辨率(“LR”)版本。不是对于每个B帧的NRWZ-B帧编码都需要所有这些对象的抽取,因为两个或更多的B帧可依赖于相同的先前的和后续的参考帧。因此,编码使用所有数据对象的低分辨率版本以产生低分辨率编码的比特流。
通过以低分辨率编码,避免了相对大量的处理,然而,处理开销的节省是通过对数据对象的2n×2n抽取的额外计算负担(一般为相对简单的任务)以及通过所产生的压缩信号的较低分辨率而获得的。然而,就像后面论述的,使用边信息在解码器处对较低分辨率信号进行补偿以产生具有接近原始(near-original)分辨率的重建帧。因此,计算开销在编码器/压缩功能和解码器/解压缩功能之间被重新分配。通过以低分辨率对帧进行编码大大降低了编码器计算负担,但是通过需要使用Wyner-Ziv信道解码和边信息来将低分辨率重建帧返回为接近原始的分辨率而大大增加了解码器/解压缩功能的负担。
如在图25B中显示的,对当前帧的低分辨率版本的低分辨率编码与参考图24所论述的标准B帧编码完全相同地进行。低分辨率当前帧编码产生了低分辨率压缩比特流2520、低分辨率重建的当前帧2522和用于当前帧的低分辨率语法元素对象2524。然后,如图25C所示,在一系列标准B帧编码中没有遇到的步骤中,低分辨率重建的当前帧2522被内插(interpolated)回标准尺寸的低分辨率的重建的、内插当前帧2524。从当前帧中一个强度值一个强度值地减去该重建的、内插的当前帧2524,以产生残留当前帧2526,然后使用Wyner-Ziv编码来编码残留当前帧2526以产生Wyner-Ziv层比特流(“WZ层比特流”)2528,该WZ层比特流2528被解码器/解压缩功能用来将低分辨率重建帧恢复为接近原始分辨率的重建帧。因此,NRWZ-B帧编码产生了低分辨率压缩比特流2520和WZ层比特流2528。这两个比特流被合并到一起以产生合并的、压缩的比特流,根据该比特流,可由解码器恢复低分辨率压缩比特流2520和WZ层比特流。
图26A-D图示了根据本发明一个实施例的对NRWZ-B帧的解码。低分辨率压缩比特流2520被部分解压缩以恢复运动矢量和量化的残留帧系数。先前帧的重建版本2602和后续帧的重建版本2604被抽取以产生低分辨率版本的先前帧2606和后续帧2608。通过使用低分辨率版本的先前帧和后续帧2606和2608,以及从低分辨率比特流2520恢复得到的运动矢量,还有用于先前帧和后续帧的低分辨率版本的语法元素对象2610和2612,产生对应于当前解码帧的低分辨率解码帧2614。该低分辨率的解码帧然后被内插以产生内插的、低分辨率帧F02616,其具有与编码前的原始帧相同数量的强度值,但是由于编码/压缩过程中对帧的抽取期间的数据丢失而处于低分辨率。然后,如图26B所示的,低分辨率内插帧F0,和全尺寸(full-size)的重建的先前和后续帧2602和2604被用在基于运动的半超级(semisuper)分辨率处理步骤2618中,以产生估计的较高分辨率帧Fi(HR)2620,将在下面更详细地描述。该估计的较高分辨率帧Fi(HR)2620是迭代过程中产生的第一个估计的较高分辨率帧,该迭代过程使用编码/压缩期间产生的WZ层比特流来逐步地提高重建的当前帧的分辨率。在该迭代过程中,从低分辨率内插帧F02616中减去该当前估计的较高分辨率帧Fi(HR)2620以产生有噪残留帧2622。该有噪残留帧是在WZ层比特流的Wyner-Ziv解码中使用的边信息。然后,该有噪残留帧2622在信道解码过程2624中与WZ层比特流一起用于产生接近于在编码/压缩阶段期间所产生的残留帧(图26中的2526)的校正残留帧。该校正残留帧被添加到低分辨率内插帧F02616以产生下一个重建的当前帧Fi+12628。在步骤2630,解码器确定是否需要分辨率增强的附加迭代。可以基于期望的、固定数量的增强步骤、或通过监控当前重建帧Fi+1相对于先前重建帧Fi的改进以检测增强过程的收敛做出该确定。不论如何作出最终确定,如果需要附加的增强步骤,如在步骤2630中确定的,那么当前重建帧Fi+1 2628被馈送回基于运动的半超级分辨率处理步骤2618以启动分辨率增强的另一个迭代。当不需要或期待进一步增强迭代的时候,当前重建帧Fi+1在步骤2632被返回作为从低分辨率比特流2520和WZ层比特流2628恢复的解码/解压缩帧。
图26C示出了在本发明各个实施例中使用的基于运动的半超级分辨率处理步骤(图26B中的2618)。重建的先前参考帧2602和重建的后续参考帧2604被低通滤波以产生滤波的先前重建参考帧2640和滤波的后续重建参考帧2642。低通滤波将高频细节从重建帧中移除。对于当前重建帧Fi 2644中的每个8×8块,为当前重建帧Fi 2644中的该8×8块分别找到最佳匹配块PBp 2646和PBp 2648。这两个最佳匹配块2646和2648然后在最小化过程2652中被不同地组合,该最小化过程产生用于组合这两个最佳匹配块2646和2648的最佳系数α。如果这两个匹配块的组合与当前重建帧Fi中的当前块2650之间的绝对差之和小于阈值,那么在与未滤波的先前参考帧2602和未滤波的后续参考帧2604中的匹配块相同位置处的8×8块将被提取并且使用最小化过程2652中确定的系数α来组合以产生用于当前重建帧Fi 2644中的当前考虑的8×8块2650的替换块。该替换块被复制到较高分辨率估计帧Fi(HR)2646中的当前考虑的8×8块的位置处。否则,当不能在滤波的先前的和后续帧2640和2642中找到合适的匹配块时,当前考虑的8×8块2650被直接复制到当前重建块Fi(HR)的较高分辨率估计中。
图26C中图示的基于运动的半超级分辨率处理步骤被至少三个参数控制(1)对先前的和后续的重建帧的低通滤波的强度;(2)用于检验匹配块的组合与当前考虑的块的阈值以确定是否将当前考虑的块复制到较高分辨率估计Fi(HR)或将匹配块的组合写入该较高分辨率估计Fi(HR);以及(3)用于选择当前重建帧Fi中的8×8块的基于栅格(grid-based)的偏移。在解码/解压缩过程的分辨率增强部分的每次迭代期间,如图26B所示,这三个参数可被调整以额外地提高分辨率。对于每次附加迭代通常降低低通滤波器强度,因为随着该当前重建帧Fi在每次迭代中分辨率的增加,8×8匹配块2646和2648可被更精确地定位在先前的和后续的重建帧的较高分辨率版本中。该阈值可被降低,使得随着迭代的增加,8×8块替换的数量会降低。最后,栅格偏移一个迭代一个迭代地被改变,以平滑对重建帧Fi的基于运动的半超级分辨率处理,从而防止在分辨率增强迭代过程中重建帧Fi中的8×8块之间出现局部差异。
图26D是描述图26B中显示的NRWz-B帧解码/解压缩的分辨率增强循环部分的控制流程图。在第一步骤2660,通过解码该低分辨率比特流而产生低分辨率内插帧F0,迭代变量I被设定为1,并且当前重建帧Fi被设定为低分辨率内插帧F0。然后,在步骤2662,上面讨论的低通滤波器强度、栅格偏移和阈值参数被设定为初始值。然后,在步骤2664-2669的while循环中,使用该当前低通滤波器强度、栅格偏移、阈值参数以及当前重建帧Fi通过基于运动的半超级分辨率处理产生下一个较高分辨率估计帧Fi(HR)。然后,在步骤2666,使用有噪残留帧地点(site)信息、WZ层比特流和低分辨率内插帧F0通过信道解码产生新的重建当前帧Fi+1。如果满足分辨率增强循环的终止条件,如在步骤2667中确定的,那么在步骤2666中产生的当前增强的分辨率帧Fi+1在步骤2670被返回。否则,在步骤2668递增迭代变量I,并且在步骤2669更新低通滤波器强度、栅格偏移和阈值参数。
下面描述NRWZ-B帧编码和解码中的Wyner-Ziv编码和解码部分。如上面参照图26B讨论的,有噪残留帧系数(图26B中的2622)y,和在WZ层比特流(图25C中的2528)中编码的残留帧(图25C中的2526)系数x在信道解码过程中被组合以产生校正的残留帧2625,该校正的残留帧2625被用来根据低分辨率内插帧F02616产生重建的当前帧2628。有噪残留帧系数y是通过从低分辨率解释(interpretive)帧F0中减去高分辨率估计帧Fi(HR)而获得的。然而,该残留帧系数x是通过从原始的当前帧2502中减去重建的内插当前帧2524而获得的。因此该残留帧系数x可被认为是比有噪残留帧系数y的噪声小。因此,对于每个系数 yi=xi+zi 其中z代表在计算该有噪残留帧系数y的过程中引入的噪声。该噪声z被建模为两个高斯项的混合 其中N(μ,σ2)表示具有均值μ和方差σ2的高斯分布,Pz大约是0.95,而Kz大约是8。这个噪声模型假设系数的一小部分在图26B中的基于运动的半超级分辨率处理步骤2618期间恶化。残留帧(图26C中的2526)系数x被建模为依照拉普拉斯分布而分布。图27A显示了代表性的拉普拉斯分布。图27B显示了用在本发明各个实施例所使用的噪声模型的第一项中的高斯分布。图27C显示了使用在本发明各个实施例所使用的噪声模型的第二项中的高斯分布。图27D显示了对有噪残留帧系数y建模的组合分布。
图28图示了根据本发明实施例的对残留帧系数(图25C中的2526)进行信道编码以产生WZ层比特流。来自残留帧(图25C中的2526)中的每个8×8块被DCT 2804变换以产生残留帧频域系数x2806。然后,该残留帧频域系数x被量化2808以产生量化系数2810的8×8块。用于频域系数x的量化仓q被计算为q=Φ(x,Q)。DCM系数2812被直接复制到8×8陪集块2814中,并且数量为n的剩余量化系数通过陪集映射2816,

(q,M),被以zig-zag(之字形)顺序映射到在陪集块2814中处于相应位置的陪集c。
该陪集映射函数

被如下定义 其中M是用于该陪集映射的模数。
图29图示了用在本发明各个实施例中的陪集映射。在第一矢量2902中,量化的残留帧系数q的可能值以数字顺序放置。在许多实施例中,q的范围是-127到127。通过上面提供的

的表达式,使用模数5对这些可能的残留帧量化系数值2903的陪集映射产生矢量2904中的相应陪集值。因此,例如,量化残留帧系数值42906被映射到陪集值-12908。当M=5时,该陪集值范围是-2到2。因为陪集值少于量化残留帧系数值,所以可以以较小的比特率来编码陪集串。然而,将256个值映射到5个值会带来歧义。例如,当解码器接收具有值-1的陪集时,产生陪集的相应量化残留帧系数可以是-11、-6、-1、4、9或其它值。可以采用各种技术来解决这种歧义,包括使用边信息,如下面讨论的。
图30图示了对来自拉普拉斯分布的频域残留帧系数x的量化残留帧系数值确定概率分布。连续的、频域残留帧系数分布3002的曲线图与量化残留帧系数分布3004和对应于每个量化值的连续系数值的范围3006对准。通常,占据第q个量化仓的量化系数的概率被给出为 例如,具有值2的量化残留帧系数的概率计算通过阴影区域3008、3010和箭头3012、3014被显示在图30中。陪集值的概率分布的计算稍微更复杂,并表示为 图31显示了使用图30中所使用的相同图示规定对具有值2的陪集的概率的计算的示例。注意,陪集概率分布3102是不均匀的,就像量化残留帧系数概率分布3004是不均匀的一样。这种不均匀性提供了对陪集映射产生的陪集序列进行熵编码的机会。因此,图28中的陪集块2814可被线性化和熵编码以用于传输到解码器/解压缩功能。还应注意,返回到图28,零值的量化残留帧系数被映射到陪集零。因此,陪集块的右下三角部分通常被零填满。所以,只有该陪集块的左上三角部分需要被编码和发送。而且,即使某些非零的高频系数也可被省略,并且可以在解码/解压缩步骤期间从地点信息产生中被全部恢复。以zig-zag扫描顺序发送的用于给定陪集块的系数数量被表示为n。
为每个残留帧频域系数x的量化和陪集映射使用不同的量化步长Q和模数M。图32显示了本发明各个实施例中使用的残留帧频域系数量化和陪集映射的更详细表示。首先,频域残留帧系数x的8×8块3202被评估并分类为S个不同类型3204之一。对于每个类型S,通过下式来选择量化矩阵Q(S)和陪集模数矩阵M(S) Q(S)=Q+A(S) M(S)=max(B-2m(s),3) 其中m(s)是由分类索引s确定的参数。该8×8系数块3202的分类还确定了所发送的陪集的数量n(S)3206。示例性Q修改矩阵A(S)3208和示例性M(S)产生矩阵B3101被显示在图32中。系数块3202中的每个系数都使用该Q(S)和M(S)矩阵中的相应值被量化并映射到陪集。
图33A图示了使用从本发明各个实施例中所用的WZ层比特流(图26B中的2624)中所获得的有噪残留帧系数y和相应的陪集c的Wyner-Ziv信道解码过程。该y有噪帧系数3302和相应的陪集c3304被用在贝叶斯(Bayesian)分类器步骤3306中以产生解码的量化矢量

3308。注意,y没有被量化并且具有比量化系数更高的精度。每个系数都与包括种类索引s和频率x(ij)的上下文(context)相关联,产生编码期间使用的量化步长Qij(s)和陪集模数Mij(s)。此外,系数的种类索引s和频率x(ij)映射到直接用于解码过程的{σx,σx,pz,Kz}。具体来说,解码仓(decoded bin)

被获取为 其中p(q,y)是量化仓q和接收的值y的联合概率。应用如下的近似 可通过对高斯变量的erf()函数的预计算表格的缩放(scaling)和内插而方便地计算累积分布函数Fz(.)。同样,第q个仓pQ(q)的先验(priori)概率可基于对拉普拉斯分布的累积分布函数的预计算表格的内插而计算。
然后,所估计的量化仓

可被用于估计残留帧频域系数
注意,因为fX/Y(x,y)不能被直接写成fz(z)的形式,所以对

的准确计算是复杂的。然而,即使是粗略的近似也比仅使用量化仓

的中点作为

更好。具体来说,假设fX/Y(x,y)是以y为中心、方差等于σx和σz的几何平均值的高斯函数,那么可基于对来自高斯函数的一阶中心矩的预计算表格的值的内插来计算

。图33B图示了本发明各个实施例中使用的频域残留帧系数的估计。图33B显示了当接收的陪集索引为2时的特定解码示例。给定如图所示的y,贝叶斯分类器解码

为-3。之后,最优重建函数获得该仓内的最终重建

。结果显示使用这个使用边信息y的最优重建函数使得可以使用大于目标质量的量化步长,从而允许在Wyner-Ziv层节省比特率。除了使用陪集发送的系数外,还有根本没有发送的其他系数。这些系数被重建为与它们在边信息中所出现的完全相同。
最后,估计的频域系数

可以被逆DCT 3312变换以产生原始空间域残留帧强度值f(i,j)3314。因此,产生的校正残留帧用于在参照图26B和图26D所讨论的分辨率增强循环中依次产生下一个恢复的帧Fi+1。
在上面讨论的Wyner-Ziv编码方法中,具有相同索引的量化仓之间的距离在数值上等于陪集模数M。网格(Trellis)编码方法可被用于增加该距离,以降低可能的歧义而不需要太多的附加速率损失。然而,该网格编码需要保持编码符号的非均匀分布以使得陪集值可由熵编码技术来编码。图34图示了用在本发明各个实施例中的网格编码技术。图34显示了频域残留帧系数3402的拉普拉斯分布,该频域残留帧系数3402与相应的量化仓q 3404、由上述陪集映射所产生的陪集值3406和由网格编码产生的符号函数3408和基础陪集函数3410符号对对齐。如上所述,在上述的陪集映射中,具有相同值3412的两个陪集之间的量化仓的距离等于M,也就是用于该陪集映射的模数。通过使用符号函数/基础陪集函数对来代替,该距离可被延伸为 M(k)=(M-1).k+1 其中k是由该符号函数所产生的符号数。网格编码通过在对多个符号的编码中引入依赖性(dependency)而提高了有效距离。那么一个符号的编码并不仅仅依赖于当前符号,而且依赖于可能在当前符号之前的几个其他符号。然而在Wyner-Ziv编码方案中,除了增加码之间的距离,所发送的符号的熵却不能被人为降低(flatten),否则对陪集流的熵编码将是无效的。
在给定陪集模数M的情况下,由该量化仓q产生k-ary符号的符号函数ζ(k)(q,M)被如下定义 M(k)=(M-1).k+1 q(k)=(|q|modM(k))
基础陪集函数

(k)(q,M)被定义为 M(k)=(M-1).k+1 q(k)=(|q|modM(k)) m=(M-1)/2
考虑通过翻转与q的一个或多个值对应的输出符号来从基础陪集函数构造的陪集函数

’(q,M)的种类,同时确保限制条件

’(q,M)=-

’(-q,M)。来自该函数的全部种类中的每一个函数都具有与基础陪集函数完全相同的概率群分布函数。图35示出了在本发明各个实施例中使用的通过翻转对称地位于零值附近的一个或多对基础陪集函数陪集值的符号来产生基础陪集函数族

(k)。例如,新的基础陪集函数

(2)’3502可通过翻转两个系数3504和3506的符号而由基础陪集函数

(2)产生。图34显示了由函数-

(k)(q,M)产生的结果3412的示例,其中所有来自

(k)(q,M)的输出符号都被翻转,但是概率群分布函数仍保持不变。因此,即使用来获取发送系数的陪集函数从系数到系数是改变的,但只要它们仍旧在这个种类中,就可使用相同的熵编码器而不会造成编码效率的任何损失。在本发明各个实施例所用的编码方案中利用这个特性。对于函数的该整个种类,零值总是保留在相同的位置。因为对零陪集索引的编码本身就是高效的,并且这些零值已经被(M-1).k+1个量化仓所隔开,所以只有非零基础陪集索引需要被考虑进行编码。为了编码目的移除零陪集索引还确保符号函数在k=2的情况下产生等概率的符号,并因此实现了鲁棒的信道解码。
对于k=2的典型情况,由这些函数产生的符号串的示例3406和3408被显示在图34中。陪集函数的零也已经被放置为使得它们被隔开相同量。目的是得到一种编码和解码方案,其中可以通过基于非量化的y的软解码来恢复符号函数,而不需要明确地(explicitly)发送它。
具体来说,该符号函数被应用到具有非零基础陪集函数的每个量化的系数qt,以产生k-ary符号bt。从{qt}中产生的符号{bt}的序列驱动具有Ns个状态的状态机。对于每个编码的量化系数qt,状态机Stε{0,1,2,...,Ns-1}的当前状态确定用来从qt获得发送的符号ct的特定陪集函数

St(k)(qt,Mt)。每个

St(k))(qt,Mt)都通过符号调制从基础陪集函数导出。换句话说 bt=ζ(k)(qt,Mt),St+1=η(St,bt),t=0,1,...,T-1 其中T是将被编码的系数的总数。注意,Qt和Mt是指对应于第t个系数xt的量化步长和陪集模数。η(St,bt)是状态机的下一个状态函数。
图36是本发明各个实施例中使用的基于网格的编码的控制流程图。然后,在步骤3604-3610的for循环中,为每个残留帧频域系数xi产生陪集。在步骤3605,该系数被量化。在步骤3606,通过使用基础陪集函数族成员

(k))State中的当前量化仓值qi和当前模数Mi而产生相应的陪集,其中state是状态机的当前状态。然后在步骤3607,根据符号函数ζ(k)产生当前符号Bi。然后在步骤3608,根据先前状态和当前符号Bi计算状态机的新状态。最后,在步骤3609,递增循环变量I。基于网格的编码一直继续,直到出现终止条件,如在步骤3610中检测到的。该终止条件稍为有些复杂,因为在基于网格的编码中,若干虚(dummy)陪集可能需要被添加到陪集序列的尾部。通常,当陪集已经从频域残留帧系数n(s)产生时,该基于网格的编码循环就终止了。
一个特定的情况是当仅使用两个陪集函数

(k)(q,M)和-

(k)(q,M)。来自该状态机的一半状态使用

(k)(q,M)作为陪集函数,而剩余的一半使用-

(k)(q,M)。换句话说,来自该基础陪集函数的索引的符号根据该状态机的状态而被翻转或不被翻转。该状态机可以卷积码从移位寄存器中得到。然而应注意,与卷积码的输出函数不同,当前系数qt的编码并不依赖于当前符号函数bt。这样做是为了确保在每个时间阶段,符号被最大化地分隔。作为示例,对于最有用的情况k=2,用于产生这种码的实际方法是来自速率1/2系统卷积码。该编码器的下一状态函数可以与该卷积码的完全相同。然而,如果这种卷积码的奇偶校验位的输出函数被表示为g(S,b),其中S是当前状态而b是当前输入比特,那么比特g(S,0)可在编码期间被用来指示基础陪集函数的符号是否将要被翻转。
图37示出了本发明各个实施例中使用的通过网格编码方法来产生陪集的陪集产生状态机。图37中显示的编码步骤如下。在计算整个帧的块变换之后,该系数被量化,然后基础陪集函数和符号函数被计算。如果基础陪集函数是零,或者如果该系数超出了将以zigzag扫描顺序为其块种类发送的系数数目,那么所发送的陪集索引是零。用于整个帧的具有非零基础陪集函数的系数被分隔并交织(interleave)。交织的系数的序列然后被编码。通过这样做所获得的陪集索引被解交织,并放回到它们所来自的原始块的对应位置中。这些块然后在常规编解码器中被熵编码。注意,必须一起编码来自单一帧的所有系数以确保块尺寸足够大。使用NRWZ帧也使得能够使用跨越多个帧的码。
通常网格码在固定状态S0中被启动,并被一些虚符号终止。终止是必要的以确保对末尾到来的符号的相同保护。然而,在TCSM的情况下,有两种方法来确保合适的终止。首先,在每一帧的末尾可使用一些比特来明确指定该末尾状态。然而,如果不希望改变比特流语法,那么可以使用咬尾网格(tail-biting trellises)。在咬尾网格中,开始状态和结束状态被限制为完全相同。使用这种网格确保了所发送的符号数量与系数的数量完全相同。公共的开始和结束状态可从非递归(nonrecursive)状态机中藉由通过其运行最后Nmem个符号而容易地获得,其中Nmem是该状态机的存储器的限制长度或尺寸。
解码器的目的是在给定所发送的陪集索引ct、有噪非量化系数yt和它们的上下文时获取对量化仓qt的最佳估计。注意,因为该序列中的每个样本可能潜在地使用不同的量化器、不同的陪集模数、和具有不同噪声方差的不同种类索引,所以在下面的等式中,下标t在任何合适的位置被使用。Viterbi解码器和MAP解码器可被使用。这两个解码器都依赖于对分支度量(branch metric)γt(i,j)的计算,该分支度量γt(i,j)被定义为 γt(i,j)=Pr(St+1=j,ct,yt/St=i) 可以看出 其中,Ωt是用于第t个样本的所有量化仓的集合,而pt(q,yt)被如下给出 这可以通过仅考虑y的每侧的一些量化仓而不是考虑所有的Ωq被简化。分支度量的这个定义在下面的两个解码器中均被使用。
Viterbi算法解码最可能的状态序列。适用于网格编码符号调制(“TCSM”)的步骤如下所述。首先进行初始化 δ0(i)=πi,λ0(i)=0,i=0,1,...,NS-1 其中πi是初始状态S0为i的概率。如果已知初始状态为k,则πk=1,并且对于i≠k有πi=0。然后递归计算 T是该序列中符号的总数。终止该网格 并对于t=T-1,T-2,...,0进行回溯 对于咬尾网格,Viterbi算法已经被许多研究者以多种方式修改。作为一个示例,假设初始状态为任意状态k并且相应地初始化。进行经过该序列的一次解码通过(decoding pass)并找到最佳路径的最终状态。检查开始状态是否与最佳结束状态相同。如果是,结束解码。如果不是,检查先前的最佳结束状态是否在以前已经被用作初始状态。如果是,挑选之前未使用的另一个任意初始状态并重新进行解码通过(decoding pass)。如果不是,使用先前的最佳结束状态作为初始状态,并重新解码。继续该过程直到初始和最终状态相匹配,或者如果所有的初始状态都已经被尝试了,那么该算法仅输出到目前为止的最佳路径。通常,初始和最终状态在两次通过(pass)中相匹配。
一旦知道解码状态序列,还需要一个额外的步骤来获取最佳量化仓,因为多个量化仓可以导致相同的状态转换。注意,给定在时期t发生了i到j的状态转换并且接收到了边信息yt和陪集索引ct,那么量化仓q的后验概率被给出为 其他 给定解码状态序列,那么解码规则是选择最大化μt(q,i*,j*)的q用于时期t中的i*到j*解码状态转换,其等同于 一旦解码的量化仓已经被获得,则使用

的最优重建。
MAP解码器,也被称作BCJP算法,在每个时期使用最可能的状态转换来解码。尽管解码序列可能与网格限制不一致,但是该解码器最小化了误差的概率。适用于TCSM网格的算法步骤如下所述。首先进行正向通过(forward pass) 初始化α0(i)=πi,i=0,1,...,NS-1 归纳对于t=0,1,..,T-2,T-1 其中πi是初始状态的概率分布。然后进行反向通过(backwardpass) 初始化βT(i)=θi,i=0,1,...,NS-1 归纳对于t=T-1,T-2,...1,0 其中θi是最终状态的概率分布。如果初始和/或最终状态已知,那么对于这些状态,πi和θi被选择为1,否则被选择为0。如果它们是未知的,那么相应的分布被假设为均匀的。
对于咬尾网格的情况,假设πi和θi为均匀分布。然后前向和后向归纳(induction)被以循环方式继续直到αt(i)和βt(i)的分布收敛。具体对于前向归纳,一旦获得最终分布αT(i),其可被赋予初始分布并再次继续归纳。该过程继续直到最初和最终分布收敛。事实上,该方法不需要等到通过(pass)的结束来决定分布是否相匹配。只要基于合适的阈值发现中间时期t的分布αt(i)足够接近于先前通过(pass)中的分布,那么可认为已经实现收敛。在每个t的最新分布然后被作为最终的。类似的方法被用于反向通过(backward pass)。通常,分布在少于两个全通过(pass)的过程中收敛。
一旦已经获得前向和后向分布,那么时期t中的i到j的状态转换的后验概率σt(i,j)被计算为 对于每个t,最大化上述概率的(i,j)对被认为是最可能的状态转换。然而,通过在所有可能的状态转换上平均来获得量化仓q的后验概率 其中μt(q,i,j)和σt(i,j)在上面被提供。解码规则是简单地选择最大化ηt(q)的q 一旦获得解码的量化仓,就使用

的最优重建。
TCSM方法可被简单地扩展为并行级联。在这种情况下,有两个并行的TCSM编码器,第二个被应用在原始样本的变换(permutation)之后。这种码被称为符号调制的turbo码,因为它们与Turbo码关联。解码操作强烈地使用于常规二进制turbo码的迭代解码过程并行。软量化仓后验输出概率被用作解码该第二个码时通过pQ,t(q)变换之后的先验。该解码过程在每次更新量化仓概率时在这两个码上进行多次迭代,直到发生收敛。
可容易地应用在网格编码的符号调制后面的原理来基于二进制系统线性块码来编码样本的任意块。考虑要被一起编码的N个样本的块。对每个样本应用具有k=2b的k-ary符号函数以获得bN个符号比特。这些bN个比特被输入到速率b/(b+1)(bN+N,bN)系统块编码以获得N个奇偶校验位,其中的每一个奇偶校验位在任意变换之后都被认为对应于一个数据样本。然后,为N个原始样本的每一个计算基础陪集函数,并根据相应奇偶校验位的值来发送其或其负值。最有用的情况是当k=2(b=1)时,其中基本的块编码是速率1/2。如果块长度不是太大,那么即使通过完全列举搜索来解码也不是完全不切实际的。否则,因为所有的线性码都具有网格表示,所以可使用网格解码。
可容易地应用上面的原理来创建符号调制的LDPC码。这种码的优势是N是可变的,并且可以为每个帧要编码的给定数量的符号动态地(on-the-fly)随机设计奇偶校验矩阵。然后,对通常用于LDPC码的迭代消息传递(message passing)算法的改编可被用于解码这种码。对符号调制码的最初调查揭露了将这种码中的变换操作以如下方式设计是明智的即每个奇偶校验位符号调制一个样本,该样本的符号函数不被用在包括该相同奇偶校验位的任何奇偶校验等式中。
虽然本发明已经以特定实施例的方式被描述,但这并不意味本发明局限于这些实施例。在本发明精神范围内的修改对本领域技术人员来说是显而易见的。例如,代表本发明实施例的编解码器的几乎无限制数量的不同实施方式都是可能的。这些编解码器可以任何数量的不同编程语言和机器级别语言和固件指令实施,并可使用许多不同模块组织、控制结构、数据结构和各种其他公共编程变形的任何一种。代表本发明实施例的编解码器可以完全以软件实施、完全以硬件逻辑电路实施、以固件实施、或以软件、逻辑电路和固件的任何组合实施。尽管本发明的一个实施例的大体实施方式被描述,但是许多其他可能实施方式可通过除了使用上面描述的信道编码和基于网格的编码外还使用不同类型的Wyner-Ziv编码,通过使用不同等式和陪集映射方案,通过选择不同帧用于Wyner-Ziv编码、包括特定实施例中的参考帧,以及许多其他变形来得到。编解码器的每个解码器和编码器部分可以分别实施在分隔的软件模块或设备中。例如,编解码器的编码器部分可以分开地被实施在不包括解码器的昂贵的记录设备中。
用于解释目的的以上描述使用特定术语来提供对本发明的整体理解。然而,为了实施本发明并不需要那些特定的细节,这对本领域技术人员来说是显而易见的。给出对本发明特定实施例的前述描述以用于图示和描述目的。它们并不打算是穷尽的或将本发明限制为所揭露的精确形式。考虑到上述教导,许多修改和变形都是有可能的。显示和描述这些实施例以最好地解释本发明的原理及其实际应用,由此使得本领域的其他技术人员能够最好地利用本发明和具有适用于所期望的特定用途的各种修改的各个实施例。本发明的范围意欲由以下的权利要求书及其等同物来限定。
权利要求
1.一种编解码器,其调整编码和解码之间的压缩和解压缩的总计算复杂度(2202,2204)的分配,该编解码器包括
编码器,其以可选择等级的计算复杂度(2206,2212)编码所接收的信号;以及
解码器,其以可选择等级的计算复杂度(2208,2210)解码所接收的编码信号。
2.如权利要求1所述的编解码器,
其中该编码器
通过时间、空间和熵编码技术以全分辨率来编码所接收的信号的第一部分(128、130)以产生高分辨率编码信号,该高分辨率编码信号随后能够被用于重建高分辨率信号,并且
以较低分辨率编码所接收的信号的第二部分(136-143)以为该信号的第二部分产生较低分辨率编码信号和附加的压缩信息,该压缩信息随后能够与该较低分辨率编码信号共同用于重建接近高分辨率的信号;以及
其中该解码器
解码该高分辨率编码信号以重建高分辨率信号,
使用附加的压缩信息来解码该较低分辨率编码信号以重建接近高分辨率的信号,并且
不使用附加的压缩信息来解码该较低分辨率编码信号以重建较低分辨率信号。
3.如权利要求2所述的编解码器,
其中对计算复杂度的分配可从第一非对称分配(2202)调整到第二非对称分配(2204),在所述第一非对称分配中,编码器通过以全分辨率编码整个接收的信号来承担比解码器更大的计算负担,而解码器解码所述高分辨率编码信号的一部分来重建该信号,在所述第二非对称分配中,编码器通过以全分辨率编码所接收的信号的第一部分并以较低分辨率编码该信号的第二部分来承担比解码器更小的计算负担,而解码器不使用所述附加的压缩信息来解码该较低分辨率编码信号以重建较低分辨率信号;并且
其中对计算复杂度的分配可通过以下方式中的一种或多种而被调整为所述第一非对称分配和所述第二非对称分配之间的中间分配
相对于以全分辨率编码的该信号的第一部分,增加以较低分辨率编码的该信号部分的第二部分,
由编码器使用不同的信息、和不同量的信息来产生该附加的压缩信息,以及
利用附加的压缩信息仅解码该较低分辨率信号的第一部分以重建接近高分辨率的信号,不使用附加的压缩信息而解码该较低分辨率信号的第二部分,以及将该第一部分从整个较低分辨率编码信号减少为没有较低分辨率编码信号。
4.如权利要求2所述的编解码器,
其中该信号(120)是基于帧和基于像素的视频信号;并且
其中该解码器通过时间、空间和熵编码技术以全分辨率来编码所接收的信号的第一部分,并以较低分辨率编码该接收的信号的第二部分以为该信号的第二部分产生较低分辨率编码信号和附加的压缩信息是通过以下方式进行的
将该视频信号划分成连续的帧组,
对于每组帧,选择一些参考帧(128,130)和一些非参考帧(132-134和136-143),
空间编码所述参考帧(图6),
以全分辨率空间和时间编码(图10)第一数量的非参考帧,
以较低分辨率空间和时间编码第二数量的非参考帧(图25A-C),同时产生附加的压缩信息,以及
对空间编码的参考帧、以全分辨率空间和时间编码的第一数量的非参考帧、以较低分辨率空间和时间编码的第二数量的非参考帧、以及该附加的压缩信息进行熵编码,以产生压缩比特流。
5.如权利要求4所述的编解码器,
其中以全分辨率编码的第一数量的非参考帧的范围是从零个非参考帧到所有的参考帧;
其中解码器通过以下方式解码高分辨率编码信号以重建高分辨率信号
熵解码该熵编码的比特流以恢复空间和时间编码的非参考帧以及空间编码的参考帧,
空间解码该空间解码的参考帧,以及
时间和空间解码该时间和空间编码的非参考帧;以及
其中以较低分辨率空间和时间编码(图25A-C)第二数量的非参考帧同时产生附加信息进一步包括
抽取第二数量的非参考帧和在编码该非参考帧中使用的参考帧,
空间和时间编码所抽取的第二数量的非参考帧,
内插该第二数量的非参考帧的重建版本,
根据原始的、未编码的第二数量的非参考帧和该内插的、重建版本的第二数量的非参考帧计算第二数量的非参考帧的每一个的残留帧,并且
通过利用边信息的源编码技术来压缩该残留帧以产生所述附加的压缩信息。
6.如权利要求5所述的编解码器,其中通过利用边信息的源编码技术来压缩该残留帧以产生所述附加的压缩信息进一步包括
对于该残留帧中的每个块,
将该块变换到频域(2804);
量化该频域块(2808);和
陪集映射(2816和图29)该量化的频域块以产生陪集映射块(2814)。
7.如权利要求6所述的编解码器,
其中陪集映射(2816)被定义为
其中M是用于该陪集映射的模数;
其中在陪集映射块中的每个陪集c通过如下方式被解码
从有噪残留帧中选择相应值y,
使用贝叶斯分类器产生解码的量化仓

根据解码的量化仓
来估计残留帧频域系数
,以及
将该残留帧频域系数
变换到空间域;
其中使用贝叶斯分类器产生解码的量化仓
进一步包括
其中p(q,y)是该量化仓q和值y的联合概率,其可按下式获得
并且其中根据解码的量化仓
来估计残留帧频域系数
进一步包括
8.如权利要求6所述的编解码器,其中陪集映射(2816)是使用基于网格的陪集映射技术来执行的。
9.如权利要求5所述的编解码器,
其中该解码器通过以下方式不使用附加的压缩信息来解码较低分辨率编码信号以重建较低分辨率信号(图26A)
熵解码该熵编码的比特流以恢复空间和时间编码的低分辨率非参考帧和空间编码的I参考帧,并且
空间解码该空间解码的参考帧,以及
其中该解码器通过以下方式利用附加的压缩信息来解码较低分辨率编码信号以重建接近高分辨率的信号
熵解码该熵编码的比特流以恢复空间和时间编码的低分辨率非参考帧和所述附加信息,
空间和时间解码该空间和时间编码的低分辨率非参考帧以产生低分辨率重建帧,
内插该低分辨率重建帧以产生低分辨率内插帧,以及
通过使用该附加的压缩信息,迭代地增强该低分辨率内插帧以产生接近高分辨率的重建帧。
10.如权利要求9所述的编解码器,
其中通过使用该附加的压缩信息迭代地增强低分辨率内插帧以产生接近高分辨率的重建帧(图26B-C)进一步包括
将当前接近高分辨率的重建帧设为等于所述低分辨率内插帧,
迭代地
对该当前接近高分辨率的重建帧应用基于运动的半超级分辨率处理以产生较高分辨率估计帧,
从该低分辨率内插帧中减去该较高分辨率估计帧以产生有噪残留帧,
使用该有噪残留帧作为边信息来信道解码所述附加的压缩信息以产生校正的残留帧,以及
将当前接近高分辨率的重建帧设为等于低分辨率内插帧和该校正的残留帧的组合;
其中基于运动的半超级分辨率(2618)处理进一步包括
低通滤波重建的参考帧以产生滤波后的重建参考帧,并且
对于当前接近高分辨率的重建帧中的每个块,
当在滤波后的重建参考帧中可以找到匹配块时,插入该块的替换块到该较高分辨率估计帧中与当前接近高分辨率的重建帧中该块的位置等同的该较高分辨率估计帧中的位置,该替换块是通过将从重建参考帧中提取的等同匹配块一起组合而产生的,以及
当在滤波后的重建参考帧中找不到匹配块时,将该块复制到该较高分辨率估计帧中与当前接近高分辨率重建帧中该块的位置等同的该较高分辨率估计帧中的位置;
其中该替换块是通过将由缩放器α缩放的第一等同匹配块加到由1-α缩放的第二等同匹配块而产生的;并且
其中α由优化过程确定。
全文摘要
本发明的各个实施例包括压缩/解压缩方法、系统和设备,其调节编码(2206,2212)和解码(2208,2210)之间的压缩和解压缩(2202,2204)的总计算复杂度的分配。这些实施例包括以可选择等级的计算复杂度编码接收信号的编码器和以可选择等级的计算复杂度解码所接收的、编码的信号的解码器。本发明的视频编解码器实施例可被合并到相对廉价的视频记录设备中,包括手持的、视频记录消费者设备,比如视频记录器和蜂窝电话。
文档编号H04N7/26GK101485206SQ200780024866
公开日2009年7月15日 申请日期2007年4月24日 优先权日2006年4月30日
发明者D·穆克赫吉 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1