压缩一组相关信号的方法

文档序号:7537634阅读:226来源:国知局
专利名称:压缩一组相关信号的方法
技术领域
一般说来,本发明涉及信号压缩的领域,更确切地说,涉及使用纠错信道编码压缩相关信号。
背景技术
数据存储和信号通信领域的一个基本问题是开发压缩输入信号然后无畸变或畸变量最小地再现压缩信号的实用方法。应当理解,本文所述的信号可以为数字数据的形式。
在存储或传递大量数据(比如对常见的音频、影像或视频文件)的系统中,压缩和再现信号的方法是非常重要的部分。
在许多受关注的情况下,需要压缩的信号是相关的,但是信号的产生却以某种方式分布。例如,无论由于何种原因,信号由彼此不通信的传感器采集。这意味着无法使用单一的编码器对信号编码。例如,将要编码的信号是不同摄像机采集的场景影像,需要从全体摄像机向单一的中心处理器发送影像的编码版本,而无须摄像机彼此直接通信。
D.Slepian和J.K.Wolf在其通常被称之为“分布源编码”的标志性文章中介绍了这种情形,参见D.Slepian and J.K.Wolf,“Noiseless Coding of Correlated Information Sources”,IEEETransactions on Information Theory,vol.19,pp.471-480,1973。他们证明的惊人结果可以非正式得表述为“通过不允许编码器通信不会丧失任何压缩能力”。换言之,相关信号的两个编码器不通信时能够实现的压缩与这两个编码器确实彼此通信时能够实现的压缩完全相同。


图1显示了现有技术Slepian-Wolf编码系统100的框图。分布信号源110的相关输出信号X101和Y102分开发送到两个编码器121、122,它们彼此不通信。第一个编码器产生压缩信号流X131,第二个编码器122产生压缩信号流Y132。压缩信号131、132发送到解码器140,它试图重建信号X和Y141。
由彼此不通信的编码器对相关信号的编码称为“Slepian-Wolf压缩”。Slepian和Wolf在其工作中致力于信息论设定的压缩限度。他们没有介绍实施Slepian-Wolf压缩编码器和解码器的任何实际方法。
A.Wyner可能是指出以下观点的第一人理论上可以通过使编码器发送纠错信道编码的“校正子”而实施Slepian-Wolf压缩,见A.D.Wyner,“Recent Results in the Shannon Theory”,IEEETransactions on Information Theory,vol.20,pp.2-10,1974。不过,他没有提供编码和解码实用方法的任何建设性细节。
在1974年和20世纪末之间,在设计实用的Slepian-Wolf压缩系统方面没有实质的进展。例如,Sergio Verdu在其信息论五十年的回顾中指出“尽管存在着潜在的应用,但是Slepian-Wolf编码在概念上的重要性尚未反映在实际的数据压缩中,S.Verdu,‘Fifty years ofShannon Theory’,IEEE Transactions on Information Theory,vol.44,pp.2057-2078,1998。除了与纠错信道编码联系所揭示的性质以外,在建设性Slepian-Wolf方案上还没有多大进展[引自Wyner]”。
Slepian和Wolf致力于以分布的相关信号后来能够完全恢复方式对其压缩的理论。他们的理论扩展到A.Wyner和J.Ziv提出的分布式相关源的有损压缩,参见A.Wyner and J.Ziv,“The rate-distortionfunction for source coding with side information at the decoder”,IEEE Transactions on Information Theory,vol.22,pp.1-10,1976。不过,如同Slepian和Wolf,Wyner和Ziv也没有介绍达到其证明之限度的任何建设性方法。
在“有损压缩”中,压缩信号的重建并非精确符合原始信号。而是重建的信号仅仅符合原始信号到一定的畸变水平。因为有损压缩并非志在精确地重建信号,所以有损压缩能够比无损压缩实现的压缩比更高。有损Slepian-Wolf压缩称为“Wyner-Ziv压缩”。
在最近几年,已经出现了基于使用纠错信道编码之校正子的Slepian-Wolf和Wyner-Ziv压缩的建设性方法。
熵Slepian-Wolf压缩系统的性能度量是基于将要压缩的信号或数据的熵。“熵”的记号回溯到Shannon引入信息论之首开先河的论文,参见C.E.Shannon,“A Mathematical Theory of Communication”,Bell Sys.Tech.Journal,vol.27,pp.379-423,1948。在信息论的教科书中详细论述了该素材,例如参见T.M.Cover and J.A.Thomas,“Elements of Information Theory”,1990的第二章。
如果X为选自具有概率分布pX(x)=Pr{X=x)的某个字母表AX的离散随机变量,那么随机变量X的熵片H(X)定义为H(X)=-Σx∈AXpX(x)log2pX(x)---(1)]]>Shannon在源自其1948年论文中的著名编码定理中证明,由数据X发出的N个符号的长序列可以压缩成比率为每个符号不少于H(X)位的位流,然后无损地恢复。因此,信号的熵是其可压缩性的基本度量。
图2显示了常规编码系统200。编码器210把源自源X 220的、N个符号的信号X 201压缩成不少于NH(X)位的压缩位流X 202,然后由解码器230用于产生重建信号X 203。
现在假设有恰好两个相关源X和Y,而且由源X和Y产生的信号是相关随机变量X和F。假设根据联合概率分布pXY(x,y)=Pr{X=x,Y=y)选择所述随机变量。以下的定义是有用的。
边际概率分布pX(x)和,pY(y)定义为pX(x)=ΣypXY(x,y)]]>和pY(y)=ΣxpXY(x,y)]]>条件概率分布定义为pX(x|y)=pXY(x,y)/pY(y)随机变量对(X,Y)的联合熵定义为H(X,Y)=-ΣxΣypXY(x,y)log2pXY(x,y)---(2)]]>
条件熵H(X|Y)定义为H(X|Y)=-ΣxΣypXY(x,y)log2pXY(x|y)---(3)]]>联合熵H(X,Y)和条件熵H(X|Y)的关系为方程H(X,Y)=H(Y)+H(X|Y)。
根据Shannon的源编码定理,只要N足够大,编码系统300比如图3所示系统就能够把相关源X和Y 320发出的N对信号(X,Y)成功地压缩310成不少于NH(X,Y)位的压缩位流302,然后恢复330成重建信号X和Y303。图3所示压缩系统中的编码器310对源X和Y的输出都已经访问了,即所述源不分开。
Slepian和Wolf表明,只要对源X有访问权限的编码器发出至少NH(X|Y)位,对源Y有访问权限的编码器发出至少NH(Y|X)位,并且发出的总位数不少于NH(X,Y)位,假设N足够大,编码系统(比如图1所示,其中两个编码器分别访问符号X和Y,且无法彼此通信)仍然可以恢复原始的N对信号(X,Y)。
图4总结了Slepian-Wolf定理,其中纵轴表示由源Y发出的位数,横轴表示由源X发出的位数,等值线401表示了为使解码器有可能成功重建信号,两个编码器必须发出的最少位数。等值线将此图划分为有可能重建信号的区域411和不可能重建信号的区域412。
基于校正子的压缩方法的其他应用基于校正子的压缩方法除了上述介绍的压缩分布源发出的相关信号的应用之外,还存在其他应用。具体地说,基于校正子的压缩方法将许多压缩计算负荷从编码器移向解码器,所以适于需要在非常简单的发送机和接收机中进行编码的情况,参见Vetro等人的有关专利申请,其内容在此引用作为参考。例如,如果发送设备是配备了数码相机的移动电话或传感器,重要的是发送时它们功耗不大,因此需要简单的编码器。
所以已经建议将基于校正子的编码方法用于具有相对简单编码器的视频压缩方法,例如参Puri and Ramchandran,“PRISMA NewRobust Video Coding Architecture Based on Distributed CompressionPrinciples”,Proc.40thAllerton Conference on Communication,Control and Computing,October,2002以及A.Aaron,et al.,“Towards practical Wyner-Ziv coding of video”,Proc.IEEEInternational Conference on Image Processing,September 2003。在有关的专利申请中详细地介绍了这些编码器的缺点。
线性块纠错码如上所述,Wyner在1974年首先指出,通过发送线性块纠错码的校正子可以进行Slepian-Wolf压缩。以下提供了关于这种线性块纠错码的相关背景信息。关于纠错码的更多信息可以在许多教科书中找到,例如,这里讨论的资料在S.Lin和D.J.Costello,Jr.的教科书“Error Control Coding,2ndEdition”,Pearson Prentice Hall,2004的前四章中进行了更详细的介绍。
本文中的任何“编码”都特别指线性块纠错码。在这些编码背后的基本思想是使用一串N个符号对一串k个符号进行编码,其中N>k。在纠错码的常规应用中,另外的N-k位用于解码和纠正受损的编码信息。
任意一串N个符号往往称为“块”或“字”。满足所述编码之所有约束的一块N个符号称为“编码字”。所述符号取自q进制字母表。一种非常重要的特殊情况是当q=2时。在这种情况下,所述编码是“二进制”编码。
图5显示了使用线性块纠错码的常规信道编码器500。源510产生k个符号u[a]的信息块501,其中所述符号取自q进制字母表。所述信息块传递到纠错码的编码器520,并转换成N个符号的代码字x[n]502。
所述代码字然后通过信道530传输,其中代码字受损为信号y[n]531受损的信号y[n]531然后传递到解码器540,它假设所述信道中的噪声比较小,输出信息块u[a]501的重建509。
代码参数代码C由一组qk个、块长度为N的可能代码字定义。参数k往往称为代码的“维”。当N和k足够大时,代码通常有效得多。然而,随着参数N和k的尺寸增大,所述代码的解码器的复杂度通常也随之增加。所述代码的“速率”由R=k/N定义。
两个代码字之间的汉明距离定义为两个代码字中不同符号的数目。代码的距离d定义为代码中所有代码字对之间的最小汉明距离。拥有较大d值的代码具有较强的纠错能力。拥有参数N、k和q的代码记为[N,k]q代码。如果距离d也已知,则它们记为[N,k,d]q代码。
伽罗瓦域线性代码可以由奇偶校验矩阵表示。为了定义这些矩阵,首先需要q进制字符相加和相乘的方法。有限域——也称为伽罗瓦域——的理论提供了对q进制字符定义加法和乘法的方法。有关伽罗瓦域的详细说明,参见先前引用的S.Lin和D.Costello所著教科书的第二章。
在伽罗瓦域中,当来自q进制字母表的任何两个字符相加或相乘在一起时,所得结果是来自同一字母表的元素。存在着乘法和加法的幺元,并且除了加法幺元没有乘法逆元之外,每个元素都有乘法和加法的逆元。
伽罗瓦域记为GF(q)表示,其中q是字母表中元素数目。伽罗瓦域可以按照其加法和乘法表定义。最简单的伽罗瓦域是GF(2),它具有两个元素0和1,其中0是加法幺元,1是乘法幺元。GF(2)的加法规则是0+0=1+1=0,0+1=1+0=1,GF(2)的乘法规则是0*0=0*1=1*0=0,1*1=1。
只要q是质数或质数的整数次幂,对于任何q都能够定义伽罗瓦域。在关于纠错码的教科书中介绍了对任意伽罗瓦域的加法和乘法规则。除非另外指出,否则本文提及的所有加法和乘法都应当假设为使用GF(2)规则之二进制字符的加法和乘法。
代码的奇偶校验矩阵表达如果任意两个代码字的和还是一个代码字,则块代码是“线性的”。N个符号的两个代码字之和定义为N个符号的代码字,通过每次对各个字符分别求和而获得。例如采用GF(2)之两个代码字(1110100)与(0111010)的和是(1001110)。
线性代码可以由奇偶校验矩阵表示。表示[N,k]q代码的奇偶校验矩阵由M行N列的q进制字符的矩阵定义。奇偶校验矩阵的N列对应于所述代码的N个字符。矩阵中线性无关行的数目是N-k。
奇偶校验矩阵的每行都表示一项约束。由一个具体行表示的约束所涉及的符号对应于在该行中具有非0符号的列。奇偶校验约束强制这些符号在GF(q)上的加权和等于0。例如,对二进制代码,奇偶校验矩阵H=111010001110100011101---(4)]]>表示了三项约束x[1]+x[2]+x[3]+x[5]=0 (5)x[2]+x[3]+x[4]+x[6]=0 (6)x[3]+x[4]+x[5]+x[7]=0 (7)其中x[n]是第n位的值。这是[N=7,k=4,d=3]q=2汉明代码的奇偶校验矩阵。
纠错码的编码器和解码器线性[N,k]q码的编码器将包括k个符号的信息块u[a]转换成N个符号的代码字x|n]。线性[N,k]q码的解码器将传输代码字的畸变型式y[n]转换回信息块u[a]。
传输代码字的畸变型式常常是字y[n],其样点值取自与纠错码相同的q进制字母表。接受这种输入信号的解码器往往称为“硬输入”解码器。如果信道将代码字中的q进制符号损毁成其他q进制符号的概率不大时,这种解码器是有用的。这种信道最理想的硬输入解码器输出的代码字x[n]到y[n]的距离最小。
在某些应用中,收到的信号首先转换为“价值函数”,然后该价值函数输入到解码器中。价值函数是对每个符号的各个可能状态指定价值的向量。
接受这种输入价值函数的解码器常常称为“软输入”解码器。对块长度为3的二进制码,对软输入解码器的实例价值函数是[(0.1,0.3),(0.2,0.4),(0.25,0.15)]。这个价值函数意味着分配给第一位值为’0’的价值是0.1,分配给第一位值为’1’的价值是0.3,分配给第二位值为’0’的价值是0.2,等等。
最优软输入解码器返回的代码字对给定的价值函数,具有最低的可能总和价值。例如,要是在前段的实例中三位代码有两个代码字(000)和(111),则返回代码字(000),这是因为它具有0.1+0.2+0.25=0.55的价值,而代码字(111)具有0.3+0.4+0.15=0.85的价值。对给定的收到信号和信道模式,往往使软输入解码器中的价值取为每一位之似然的对数的相反数。
一般来说,为纠错码构建最优硬输入和软输入解码器的问题比为纠错码构建编码器复杂得多。代码的N和k变大时,所述问题变得尤其复杂。由于这个原因,实际采用的许多解码器不是最优的。非最优硬输入解码器试图判断最接近收到字的代码字,但是不保证做到,同样非最优软输入解码器也试图判断具有最低价值的代码字,但是不保证做到。
当可得到软输入信息时,仍然可以如下使用硬输入解码器首先将所有的软输入按阈值变为符号决策,然后输入到硬输入解码器中。不过,这种过程给出的性能通常显著差于使用软输入解码器所能够达到的性能。
代码最优性能的限度信息论给出了关于最优解码器可能性能的重要限度。C.E.Shannon在“A Mathematical Theory of Communication”,Bell Syst.Tech.Journal,vol 27,pp.379-423,623-656,1948中首先论证了这些结果的一部分。
Shannon以直观的术语表明任意的含扰信道都具有与其噪声量有关的容量C,当且仅当所述容量大于代码速率时,最优代码的最优解码器才可以纠正所有的误码。
多年来,由于实际纠错码方法与最优性能相差很远,Shannon的限度似乎仅仅具有理论的意义。然而在最近十年中,多种编码——最引人注目的是涡轮码、低密度奇偶校验码和串联累积码——已经实现的性能十分接近Shannon的限度。这些代码都使用迭代消息传递方法进行解码。串联累积码与本发明尤其相关,因而以下要更详细地讨论它们。
例如,对加性高斯白噪声(AWGN),仿真结果已经表明,人们可以使用低密度奇偶校验码和迭代消息传递解码器,在Shannon限度的0.0045dB之内获得10-5的误比特率,参见S.-Y.Chung,G.Forney,T.Richardson,and R.Urbanke,“On the Design of Low-DensityParity-Check Codes Within.0045 dB of the Shannon Limit”,IEEECommunications Letters,vol.5,pp.58-60,February,2001。
与直觉相反,重要的是理解对于信道编码问题,使用非最优解码器是接近达到Shannon限度的关键组成部分。这种明显悖论的解释在于,为了接近Shannon限度,必须使用块长和维度非常大的编码。在正常情况下,这种长代码实际上无法使用最优解码器进行解码。
因子图代码可以由因子图表示,参见F.R.Kschischang,B.J.Frey,和H.-A.Loeliger的“Factor Graphs and the Sum-Product Algorithm”,IEEE Transactions on Information Theory,vol.47,pp.498-519,February 2001,G.D.Forney,Jr.的“Codes on GrphsNormalRealizations”,IEEE Transactions on Information Theory,vol.47,pp.520-549,February 2001,以及R.M.Tanner的“A Recursive Approachto Low-Complexity Codes”,IEEE Transactions on InformationTheory,vol.27,pp.533-547,September,1981。
因子图可以用多种不同的形式绘制。本文以下的形式如同Kschischang等人所介绍的。因子图是双枝图,包含两种类型的节点,称为“变量节点”和“因子节点”。变量节点仅与因子节点相连,反之亦然。本文中因子节点用正方形绘制,变量节点用圆绘制,变量节点和因子节点之间的连接由连接对应圆和正方形的线指示。有时在因子节点之中绘制了符号即‘+’,表示其实施的约束种类。这是本文使用的常规记法。
代码的最简单的因子图表达是奇偶校验矩阵表达所对应的因子图。在这种因子图中,有N个变量节点对应于奇偶校验矩阵的N列,有M个因子节点对应于奇偶校验矩阵的M行。
图6显示的因子图用于以上面4式给出的奇偶校验矩阵的二进制汉明码。在这个因子图表达中,变量节点601对应于代码字中的N个符号。这些变量节点有时也称为“传输”符号。因子节点602对应于若干奇偶校验约束。
代码的更全面的因子图表达也是可能的。具体地说,变量节点组有时也包括称为“状态变量节点”的节点,它们有助于定义该节点,但是并非代码字中的N个符号之一。
有时,所述因子节点也表示比奇偶校验约束更全面的约束。例如,因子节点可以表示某种约束,使得只有连接它的变量节点的结构对应于某种小代码的代码字所对应的结构时,才能接受。
校正子对任何[N,k]块代码,对任何字的“校正子”定义为一组N-k个线性无关符号,当所述字是编代码字时它们为全0。代码的校正子经常使用奇偶校验矩阵定义。代码的任何代码字都满足该编码奇偶校验矩阵所表示的所有奇偶校验约束。不是代码字的其他字不满足所有的所述奇偶校验约束。如果字y由N个0和1的行向量表示,则所述字y的“校正子”s是行向量,可以定义为sT=HyT, (9)其中上标T表示转置。假设H是(N-k)×N的奇偶校验矩阵,则“校正子”s有N-k个分量。如果y是代码字,则“校正子”s必须是具有N-k个0的向量。
例如,取字y=(0000001),则使用以上面4式中给出的汉明码的奇偶校验矩阵,该字的校正子是s=(001)。这意味着字y满足H的前两个奇偶校验,但是第三个不满足。
可以修改代码的因子图,使之也包括其校正子位。人们简单地加入校正子位对应的新变量节点,并且以合理反映它们与其他代码字符号关系的方式,将所述校正子节点附加到其他节点上。
例如,图7显示了汉明码的扩充因子图700,有三个表示校正子变量节点。在图7中,变量节点703的三个校正子节点s[1]、s[2]和s[3]表示为附加到奇偶校验因子节点702上的校正子节点701。
注意,在代码的普通因子图中,表示所传输符号的N个变量节点处于代码字对应的集合状态。相反,在包括校正子变量节点的扩充因子图中,表示所传输符号的N个变量节点可以处于任何集合状态,并且当所有的校正子变量节点为0时,才处于代码字中。
更概括地说,通过使表示代码的因子图扩充到包括所需校正子位对应的校正子节点,可以图形地定义任何纠错编码的校正子位。
代码的陪集代码字定义为满足所有校正子的字。如果校正子为全0,则陪集代码字为普通的代码字。
基于校正子的源编码在第一编码器不考虑第二信号仅仅对第一信号编码,而第二编码器试图考虑两个信号之间相关的情况下,考虑Slepian-Wolf问题。Slepian-Wolf问题的这种具体情况称为“利用辅助信息的源编码”。取Y为直接编码的信号,这意味着第一编码器以接近每符号H(Y)位的速率进行压缩,而第二编码器以接近每符号H(X|Y)位的速率进行压缩,总的速率接近每符号H(X,Y)位。
Wyner在先前提及的1974年的文章中介绍了涉及利用辅助信息进行源编码的编码问题如何解决。用以下小实例展示这种思路。由于下面变得清晰的原因,不应当把这个实例解释为压缩真实世界信号的真实方法。
假定源X和Y都发出包括七位的信号,它们是随机的、等同地独立分布,并且是0是1的可能性相同,但是在它们彼此相差绝不多于一位的意义上,它们是相关的。例如,源X发出信号X=(0010100),源Y发出信号Y=(0011100)。这两个信号只有一位不同。这种联合信号对两个信号都要检验的常规编码系统的花费是总共十位进行编码七位编码信号Y,加上三位编码信号X与信号Y的差异。取三位对X与Y差异进行编码的原因是,有七种X与Y可能不同的位置,加上可能完全相同,总共有八种可能性,需要三位进行编码。当编码器对源X和Y都有访问权限时,可以实施上述方法。
如果只对两个编码器之一有访问权限,则基于校正子的方法可以花费七位发送信号Y直接通过,并且信号X的编码器发送信号X相对于[N=7,k=4,d=3]汉明码的校正子。例如,如果源X发出(0010100),代码的奇偶校验矩阵由上述(4)式给出,则使用(9)式算出的校正子是(010)。从而在基于校正子的方法中编码器总共发送了十位。
在基于校正子的方法中解码器的运算如下。解码器知道信号Y是不压缩地正确发送通过,解码器知道X与Y差异不多于一位,并且解码器已经收到了校正子。因此,解码器检索满足所述校正子并与Y差异不多于一位的字。由于[N=7,k=4,d=3]汉明码的结构,总是恰好存在一个满足这些条件的字。
对实用的基于校正子编码方法的需求以上实例展示了基于校正子编码背后的基本思路,但是上述基于校正子的编码器和解码器对实际应用的使用是有限的。为了在真实世界应用中有用,基于校正子编码方法应当满足以下需求。
第一,本方法应当有能力对具有大范围可能值的整数值符号进行编码,而不是仅仅对取两个值0或1的位进行编码。在真实应用中遇到的大多数信号是整数或实数值。例如,在典型情况下,视频流中的像素亮度值取0到255的整数值。实数值信号通常量化为整数值,并且在典型情况下为使畸变最小而使用大数目的量化级别。
第二,本方法应当有能力以非常高的压缩率编码。在许多应用中,比如视频压缩,源(摄像机)获取的信号中存在着大量的冗余。优秀的压缩方案应当有能力利用所有的冗余,因此应当有能力以适度的方式压缩至例如100∶1的比率。
第三,本方法应当速率自适应。现有技术校正子编码器都不是速率自适应的。因此,这些编码器对具有变化复杂度和可变位速率的真实世界信号,实质上是无用的。在许多情况下,源流中熵的数量从一个瞬间到下一个瞬间有变化。例如,视频流可能有的片段中相邻帧完全相同,因为冗余程度高而可压缩度高,但是随后帧中却是具有迅速变化的情景,因为冗余程度低而可压缩度低得多。本方法应当有能力平滑地改变压缩率,而不改变基础代码。
第四,本方法应当是可增补的。换言之,编码器应当有能力发送一定数目的校正子位,然后如果解码器请求更多的位,则发送有用的附加位,而不必浪费对先前发送的信息进行解码的若干位。这种增补特性对只有小反馈信道的应用十分有用,使得解码器能够通知编码器解码是否成功。
第五,本方法实现的压缩效率对无损压缩应当接近由Slepian-Wolf所述的界限,对有损压缩应当接近由Wyner-Ziv所述的界限。为了使其成为可能,本方法所依据的纠错编码需要接近关于信道编码问题的Shannon限度。
第六,本方法应当使用简单的编码和解码方法。具体地说,编码器和解码器的复杂度与源符号数目N应当有合理的比例,如线性。其必要性在于大数目的源符号通常需要压缩在一起,以便使实现的性能接近Shannon承诺的可能限度。尤其是期望使编码器相当简单。
串联累积码本发明使用源自所谓“重复累积码”即“乘积累积码”的代码以及称为“扩充汉明累积码”的代码。这类代码统称为“串联累积”(SCA)码。对SCA码,我们特别指的是以下代码,其编码器包括一组编码器若干基本代码的编码器,随后是置换的编码器,随后是单速率累加器编码的编码器。
重复累积(RA)码是SCA码的实例,其中基本代码是重复代码,参见D.Divsalar,H.Jin和R.J.McEliece的“Coding Theorems for‘turbo-like’codes”,Proceedings of the 36thAllerton Conference onCommunication,Control and Computing,pp.201-210,Sept.1998。
图8显示了RA码的编码器800。源X 810发出信号X 811。编码器首先重复820在信号X中的每一位。然后编码器置换830重复位821的结果集。然后置换后的位831通过累加器840发送,形成一组传输位841。注意,累加器可以视为单速率编码。
作为RA码的实例,考虑使用三个[N=3,k=1,d=3]重复码的小[N=9,k=3]RA码。这种重复码简单地把1位编码成(111),把0位编码成(000)。如果RA码的信息块是(101),则重复编码820将此转换为(111000111)。置换830根据某种固定规则置换这些位。RA码常常设计为使用随机选择的置换。假定为了这个实例的缘故,置换是(123456789)→(369274158),这意味着第一位被置换为第三个位置,第二位被置换为第六个位置,等等。那么,位(111000111)置换为(101011011)。RA码的最后阶段是累加器,它是单速率编码。累加器840不断地运行置换后位的模2之和。所以,(101011011)由累加器转换为字(110010010),它是由RA编码器传输的代码字841。注意,RA码的速率等于其组成的重复编码的速率,如果这些组成的编码是全部相同的。
图9显示了上面考虑的用作RA码实例的因子图900,具有重复编码901、变量节点902、因子节点903以及传输位904。
通常使用迭代消息传输方法对RA码进行解码。在这种方法中,来自信道的信息馈入用作单速率累加器的Bahl、Cocke、Jeline和Raviv(BCJR)解码器中,参见L.R.Bahl,J.Cocke,F.Jelinek和J.Raviv的“Optimal Decoding of Linear Codes for MinimizingSymbol Error Rate”,IEEE Transactions on Information Theory,vol.20,pp.284-287,1974。给定了输入和累加器编码的结构,BCJR解码器对每个置换后的位,都输出一组最优后验概率估计。然后这些估计馈入重复编码所用的解码器中,它为置换后的位输出一组新的后验概率估计。对给定的输入,每个重复编码的后验估计是最优的。估计反馈到累加器编码的BCJR解码器中。迭代此过程,直到所述概率估计投影到其最大似然值时对应于代码字,或者直到已经达到了固定的迭代次数。应当理解,所述RA码的解码方法不是最优的,即使所述解码器对RA码中的每个子码都是最优的。
RA码和乘积累积(PA)码之间的差异在于,在PA码中重复编码被单奇偶校验(SPC)码的乘积编码所替换,参见J.Li,K.R.Narayanan,and C.N.Georghiades,“Product Accumulate CodesAClass of Codes With Near-Capacity Performance and Low DecodingComplexity”,IEEE Transaction on Information Theory,vol.50,pp.31-46,January 2004。在所述乘积编码中,每一个代码字符号对两个分开的单奇偶校验(SPC)码都同时是代码字的一部分。SPC码的乘积码拥有特别简单的结构,其中每一个代码字符号都满足两个奇偶校验。
图10显示的因子图1000拥有因子节点1001和变量节点1002,用于单奇偶校验码的[N=9,k=4,d=4]乘积编码。在此因子图中实质上水平方向的奇偶校验称为“水平”奇偶校验,实质上垂直方向的称为“垂直”奇偶校验。
有L个水平奇偶校验和M个垂直奇偶校验之SPC码的乘积编码所具有的速率等于(L-1)(M-1)/(LM)。所以,如果选择大的L和M,则SPC码的乘积编码速率接近1。如果代码组成的乘积编码具有高速率,PA码就具有接近1的高速率。
PA码的解码与RA码类似。主要差异是乘积码的最优解码器不可行,所以对乘积编码使用了近似解码。
扩充汉明累积(EHA)码也类似于RA码,只不过RA码中的重复编码由扩充汉明编码取代,参见M.Isaka and M.Fossorier,“HighRate Serially Concatenated Coding with Extended HammingCoding”,2004年提交到IEEE Communications letters,以及D.Divsalar and S.Dolinar,“Concatenation of Hamming Codes andAccumulator Codes with High Order Modulation for High SpeedDecoding”,IPN Progress Report 42-156,Jet Propulsion Laboratory,Feb.15,2004。对大于或等于2的所有整数R,扩充汉明编码具有以下参数N=2R,k=N-R-1,以及d=4。因此,最初的几个扩充汉明编码具有的参数为[N=4,k=1,d=4]、[N=8,k=4,d=4]、[N=16,k=11,d=4]以及[N=32,k=26,d=4]。
扩充汉明编码具有实用的解码器,给定了先验概率估计,它正确地确定后验概率估计。所以,对扩充汉明编码使用这些解码器,对累加器使用BCJR解码器,就可以对EHA码解码。与PA码相比,EHA码的一个优点在于,对比等速率PA码更短的块长,它们可以设计为高速率。
通过用某种其他代码替换重复累积码中的重复编码,不难构建其他的SCA码。
图11显示了SCA码所用因子图1100的一般结构。这幅因子图顶层中使用的“基本代码”1101取决于SCA码的类型。基本代码对RA码是重复编码,对PA码是单奇偶校验码的乘积,对EHA码是扩充汉明编码。连接到每个基本代码的变量节点1102的数目等于该基本代码的块长。块1103是置换,块1104是因子节点,块1105是传输位。
多级解码器为解决信道编码问题也可以设计多级解码器,参见H.Imai and S.Hirikawa,“A New Multilevel Coding Method Using Error-CorrectingCodes”,IEEE Transaction in Information Theory,vol.23,pp.371-376,May 1977。多级解码器已经用于对多级块调制编码进行解码,参见例如以上引用的Lin和Costello著作的第19章。
现有技术中基于校正子的分布式压缩方法最近,已经提出了一些实用的基于校正子的压缩方法,尽管没有一个能满足以上列出的所有需求。基于校正子解码器所需的特点回顾如下(1)它应当压缩宽范围的整数值输入,(2)它应当具有高压缩率能力,(3)它应当速率自适应,(4)它应当可增补,(5)它应当接近Slepian-Wolf和Wyner-Ziv限度,(6)它应当复杂度低。
一种方法采用格式结构(卷积)编码,参见S.S.Pradhan and K.Ramchandran,Distributed Source Coding Using Syndromes(DISCUS)Design and Construction,IEEE Transcations onInformation Theory,vol 49,pp.626-643,March 2003。因为他们的方法使用量化器,所以他们能够应对实数值输入和宽范围的整数输入。然而,他们的编码不允许非常高的压缩率,并且压缩率实质上是固定的。而能够自适应编码是众望所归。此外,Pradhan和Ramchandran的方法在本文所述的意义上不是可增补的。由于他们的方法不基于接近容量的信道编码,其压缩性能受到了限制。所述性能也受限于该方法中仅仅使用了硬输入(维特比)解码器,因而无法有利地使用软输入信息的事实。总之,Pradhan和Ramchandran的方法满足了某些需求,但是未能满足对高压缩率、适度的和可增补的速率自适应以及性能接近信息理论限度的需求。
另一种方法采用低密度奇偶校验(LDPC)码作为基于校正子解码器的基础,参见A.Liveris,Z.Xiong and C.Georghiades,“Compression of binary source with side information at the decoderusing LDPC codes”,IEEE Communicaitons Letters,vol.6,pp.440-442,October 2002。该方法不允许宽范围的整数输入。因为难以产生在非常高压缩率时性能良好的LDPC编码,该方法也不允许非常高的压缩比。该方法也不允许可增补的速率自适应,它对数据速率随时间变化的信号比如视频信号是至关重要的。
总之,现有技术中没有一种方法满足以上对实用的基于校正子的编码方法列出的所有需求,本发明的目的就是满足所有这些需求。

发明内容
本发明提供了一种方法和系统,用于对N个样点的输入信号进行编码,它与作为校正子信号的一个或多个其他输入信号相关。此外,本发明还提供了对应的方法对校正子位流进行解码,以恢复原始的输入信号。
本方法通过首先把输入信号转换和量化成整数,能够应用于实数值或整数值信号的有损压缩。所以,所有的信号都由标准的转换和量化方法进行任选的预处理,将所述输入信号转换为具有适宜范围的整数。
编码的运算如下。对初始信号用常规的方式编码。编码后的初始信号用作初始附加信息,用于来自所有源的所有后续信号。所有其他信号仅仅编码至位平面形式的校正子位。
所述编码器或者使用所述解码器的反馈信道,或基于信号之间条件概率分布的估计,确定对每个位平面发送的校正子位数。
每个位平面所用的串联累积(SCA)码根据需要发送的校正子位数确定。由陆续地分割SCA代码中的基本代码,如或者是乘积码或者是扩充汉明码,对所述代码进行增补地调整。这使得编码速率自适应,它是在现有技术校正子编码器中没有的众望所归的特性。根据校正子解码器也已知的预定方案分割基本代码。
所述校正子编码器根据所述SCA码,按如下方式产生校正子位。首先,向反向累加器输入来自源的位平面中的所述位,随之进行反向置换,然后使用所述SCA码的所述基本代码中的奇偶校验确定所述校正子位。
解码方法按如下方式重建所述输入信号。使用可得到的附加信息和所述校正子位重建所述编码后的信号。在重建之后,解码后的信号用作下一个信号的附加信息,依次类推。
为每个信号发送的校正子位数与预定的块代码分割方案共同使用,在所述解码器中确定块代码的尺寸。
每个信号都由一组位平面表示,使用多级解码器解码而获得它们。所述位平面以预定的次序解码。根据概率分布估计第一位平面中所述位的先验概率。根据以先前解码后位平面的结果为条件的概率分布,确定后续位平面中的概率。
所述先验概率用作对串联累积码解码器的输入,适当地修改后可以正确地满足收到的校正子。
附图简要说明图1是现有技术的Slepian-Wolf压缩系统框图;图2是现有技术的压缩系统框图;图3是现有技术的压缩系统框图,对相关信号进行运算;图4是现有技术中为判定重建可能性要发送的最少位数图;图5是现有技术中信道编码问题方法的框图;图6是现有技术中汉明码的因子图;图7是现有技术中汉明码的扩充因子图,包括与校正子位对应的变量节点;图8是现有技术中重复累积(RA)码的编码器框图;图9是现有技术中RA码实例的因子图;图10是现有技术中单奇偶校验码乘积的因子图;图11是现有技术中串联累积(SCA)码的因子图;图12是根据本发明的编码器框图;图13是根据本发明的乘积累积(PA)码的扩充因子图,包括校正子位;图14是根据本发明采用PA码的校正子位编码器的框图;图15是根据本发明的扩充汉明累积(EHA)码的扩充因子图,包括校正子位;图16是根据本发明的单奇偶校验码的8×8乘积扩充因子图的框图;图17是根据本发明的单奇偶校验码的两个8×4乘积扩充因子图的框图;图18是根据本发明的解码器框图;图19是根据本发明的多级校正子解码器框图;图20是根据本发明用校正子修改的SCA解码器框图;图21是根据本发明的反变换框图。
具体实施例方式
校正子编码器的总体结构图12显示了根据本发明的编码器1200。编码器包括变换1210、量化器1220、整数编码1230、压缩模块1240、反馈解码器和熵估计器1250以及校正子编码器1260。对将要编码的各个输入信号1201-1203,所述变换、量化器、编码器和压缩器串联。
在前两个可选步骤中,信号经过变换1210和量化1220,以使得信号能够用取2B个可能值的N个整数表示。B指的是位平面的数目。可以使用的变换种类的实例是离散余弦变换(DCT)。
下一步,将这些整数编码1230到B个位平面内。
然后分开压缩1240每个位平面。对第一个信号1201的位平面进行常规编码。所有其他信号都编码成校正子位。
由校正子编码器1260产生的校正子位1261的数目可以用两种方法估计。在第一种方法中,我们假设反馈解码器1250可以指明该解码器是否有能力对先前传输的编码信号进行解码。编码器继续不断发送位,直到收到解码成功的应答。这种方法依赖于能够以增补方式发送校正子位的事实,如以下的介绍。这种方法的优点在于发送的校正子位数最少,而且解码总会成功。
在第二种方法中,根据条件概率分布估计条件熵。使校正子位数大于条件熵,以使得可以确信解码将成功。
选择压缩模式对每个信号都要做出决策是使用常规编码器,还是使用校正子位发送信号。T个信号标注为XA,、XB,、XC,、...、XT。对于某些应用,不同信号上的标注可以解释为时间索引。为了简单起见,假设信号p(xA,xB,xC,...xT)的联合概率分布具有马尔可夫结构,即p(xA,xB,xC,...,xT)=p(xA)p(xB|xA)p(xC|xB)...p(xT|xS) (10)以下将介绍当联合概率分布不具有马尔可夫结构时,可以做出的修改。
假设是马尔可夫结构,编码器和解码器运算如下。将信号xA用常规的方式编码至大约H(XA)位,而不对其与任何其他信号的相关性进行任何参考。将信号xB压缩至大约H(XB|XA)个校正子位,将信号XC编码至大约H(XC|XB)个校正子位,依次类推。解码器恢复信号XA。恢复后的信号XA用于恢复信号XB,恢复后的信号XB用于恢复信号XC,依次类推。
要解决的问题是如何使用先前解码的信号对下一个信号解码,即使当编码器不具有对所有信号的访问权限时也不例外。一般来说,具有许多信号的普通分布源编码问题可以通过每次解决一个带有附加信息的源编码(SCSI)问题而得到解决。
即使联合概率分布不具有简单的马尔可夫结构,一般来说该分布也具有可以模拟为贝叶斯网络的结构。例如,假设联合概率分布的结构为p(xA,xB,xC,...,xT)=p(xA)p(xB)p(xC|xA,xB)p(xD|xB,xC)...p(xT|xR,xS)为了恢复下一个信号,首先恢复了两个先前信号,而且依赖于这两个先前信号的条件概率分布函数用于恢复下一个信号。应当注意,可以用常规的方式获取两个先前信号。
假设信号之间的联合概率分布具有简单的马尔可夫结构。因此第一个信号用常规的方式编码和解码,而校正子位用于所有的其他信号,使用来自先前重建信号的附加信息依次再现它们。
预处理编码器以N个整数样点形式的信号作为输入。每个样点的整数值具有2B个可能值的范围,其中B是整数。例如,假若B是6,则每个样点可以取64个可能值。
如果信号具有不同的格式,则可以执行预处理步骤1210和1220。例如,假若信号包括实数值或大于2B整数值,则量化可以把信号转换为具有2B个可能值范围的整数。
作为替代,量化器1220可以在变换步骤1210之前。例如,假若要编码的信号是二维图像可以使用所述变换步骤。每幅图像可以分割成多个宏块,并对每个宏块应用DCT 1210。然后对DCT的系数进行量化1220。这种宏块变换有益于减少信号之内的相关性,并且是许多图像和视频压缩方法的标准部分。
可能期望根据变换系数的重要性,将其量化为不同数目的位平面。在这种情况下,具有相同重要性的所有系数分作一组进行编码。重点在于预处理确保每个信号都转换进具有N个整数值样点的组之内,每个样点都可以取2B个可能值。
在本发明的优选实施例中,N是非常大的数,数量级为数千或更大。为了使得我们的实例易于说明,我们使用N较小的实例。优选使用大值N的理由在于,块长大的编码和解码方法能够接近上述最优的信息论源编码限度。为了接近信道编码问题的最优限度,要使用块长大的编码,同样,为了实现分布源编码问题的最优限度,要使用可以处理长或大信号的编码器和解码器。
选择位平面整数代码信号的N个整数中的每一个都由整数编码1230进行编码1231。例如,假若整数的范围是0到15,则对4个位平面最直截了当的编码是把0映射到0000、1映射到0001、2映射到0010、3映射到0011、4映射到0100,依次类推。也可以使用其他编码,比如灰度编码。
使用串联累积编码计算校正子对第一个信号用常规的方式编码1240,将后续信号编码为校正子位1261。校正子位由校正子编码器1260使用SCA码产生。我们优选上述PA编码和EHA编码。
N个整数的每一个都可以取2B个可能值之一。所以我们使用一组B个SCA码,每个位平面都对应一个代码,对每个位平面我们都可以自适应地调节所使用的SCA码速率。
例如,假若N可以因子分解为乘积N=LM,其中L和M为幅度近似相等的整数,则我们可以使用PA编码。每个位平面PA编码的最高速率采用SPC码的单乘积。PA编码的最高速率具有速率(L-1)(M-1)/LM。
作为替代,如果N是若干2的幂之和,则可以使用EHA编码。例如,假若N=192,可以使用具有[N=128,k=120]的扩充汉明码和[N=64,k=57]的扩充汉明码的EHA编码。在这个实例中,所述[N=128,k=120]代码产生8个校正子位,所述[N=64,k=57]代码产生7个校正子位,总共是15个校正子位。
对每个位平面都要调节所用的具体代码,以使得为解码成功而发送足够的校正子位。换言之,我们的编码是速率自适应的。
确定PA编码的校正子位图13显示了加入了校正子位的PA码的扩充因子图1300。这幅扩充因子图可以用作PA编码校正子位编码器的基础。变量节点1305是源位,而附加在上面并在乘积码1310侧面的变量节点1301-1302是校正子位。块1320是置换,并且本图还包括了变量节点1303以及因子节点1304。
图14显示了对应的编码器1400。源X 1410产生信号X 1401。单个位平面的N位经由反向累加器1420发送。反向累加器确定相邻位以2为模的和。第一位总是以2为模与0的和。例如,N=6的位序列(101110),当经由反向累加器发送时,变换为(111001)。我们把出自反向累加器的位称为“经移位的位”1421。
使用定义PA码所用的置换的逆,对经移位的位进行置换1430。
所述经移位和置换的位1431排列成PA码中单奇偶校验乘积所对应的矩形,并确定1440每行和每列以2为模的和。这些以2为模的和是校正子位1441。
以介绍编码的等效方式,把每个位平面中的N位分配到它们在因子图中变量节点的位置,然后根据已经确定的变量节点确定所有的其他变量节点。首先从源位判定移位的位,然后从经移位的位判定校正子位。
计算EHA编码的校正子位图15显示了加入了校正子位的EHA码的扩充因子图1500。这幅扩充因子图可以用作EHA编码校正子位编码器的基础。
对EHA码校正子位的编码步骤与图13所示PA码的步骤相同,只不过在最后一步使用扩充汉明码1510的奇偶校验计算校正子位,而不是单奇偶校验的乘积。变量节点1505是源位,而附加在汉明码1510上面的变量节点1501是校正子位。块1520是置换,而且本图还包括变量节点1503,以及因子节点1504。
递增地改变PA编码速率如图16所示,如果使用PA码,则对每个位平面采用的校正子位数能够以如下方式递增。如果N=64,而且最高速率的PA码采用单奇偶校验的8×8乘积,则图16把这种代码表示为8×8格子1600,其中一个变量节点1601表示每行所关联的校正子位,另一个变量节点1602表示每列所关联的校正子位。在格子中的每个正方形1603都表示涉及两个奇偶校验的变量节点,一个奇偶校验对于同一行中所有的其他变量节点和校正子位,一个奇偶校验对于同一列中所有的其他变量节点和校正子位。这种代码采用了16个校正子位,每行一个,每列一个。
假设需要发送额外8个校正子位。为此,如图17中所示,表示8×8乘积码的图1700分割成两个8×4的乘积码1701-1702。现在确定并发送乘积码1701中4位的8行所对应的8个校正子位。不发送乘积码1702中4位的8行所对应的8个校正子位,而是根据8个位行已经发送的校正子位,以及根据为乘积码1701已经发送的校正子位直接确定。
如果需要发送更多的位,可以把每个8×4的乘积码进一步分割成4×4的乘积码,并可以发送这些乘积码之一的列所对应的校正子位。可以再次避免为另一个新乘积码的列发送附加校正子位,因为这些位可以根据先前发送的校正子位确定。
这个过程可以迭代。当需要发送附加校正子位时,每个SPC码的乘积都可以分割成两个SPC码的乘积。直接发送所述附加校正子位,而不发送另一个代码的校正子位,因为这些位可以根据先前传输的校正子位确定。以这种方式能够以递增的方式发送所有必要的校正子位,而不浪费先前发送的校正子位中所包含的信息。
递增地改变EHA编码速率如果使用EHA码,则对每个位平面采用的校正子位数能够以如下方式递增。作为实例,假设EHA码中的基本代码之一是[N=16,k=11,d=4]扩充汉明码。扩充汉明编码的奇偶校验矩阵具有非常规则的结构。例如,[N=16,k=11,d=4]扩充汉明码的奇偶校验矩阵为H=11111111111111111111111100000000111100001111000011001100110011001010101010101010---(11)]]>这种基本代码产生5个校正子位,矩阵的每行一个。假设需要产生三个附加校正子位,为此,[N=16,k=11,d=4]扩充汉明码被分割成两个[N=8,k=4,d=4]扩充汉明码,奇偶校验矩阵为H=11111111111100001100110010101010---(12)]]>第一个小扩充汉明码的奇偶校验矩阵的8列对应于较大扩充汉明码的奇偶校验矩阵的前8列,而第二个小扩充汉明码的奇偶校验矩阵的8列对应于较大扩充汉明码的奇偶校验矩阵的后8列。
为了为两个小扩充汉明码产生8个校正子位,仅仅需要产生三个附加校正子位,对应于第一个小扩充汉明码的第二、第三和第四行。其他行所对应的校正子位可以如下确定。第一个小扩充汉明码之第一行的校正子位等于较大矩阵第二行的校正子位。第二个小扩充汉明码之第一行的校正子位等于较大矩阵第一行的校正子位与第一个小奇偶校验矩阵之偶校验矩阵的第一行以2为模的和。第二个小矩阵之第二行的校正子位等于第一个小奇偶校验矩阵的第二行校正子位与大奇偶校验矩阵的第三行以2为模的和。同样可以确定其他的必要校正子位。
分割N=16扩充汉明码的过程可以用于任何尺寸的扩充汉明码。所有这样的代码都可以分割成两个比较小的扩充汉明码,而且通过发送附加校正子位和根据已经发送的位确定其他位,总是可以传输新扩充汉明码的校正子位。以这种方式可以避免浪费先前传输的校正子位中的信息。当分割扩充汉明码时,我们优选的分割代码方式为使得在EHA码中的所有扩充汉明的尺寸大致相等。
分割方案重要的是根据解码器知道的预定方案分割SCA码中的基本代码。例如,假若采用EHA码,优选的方案总是分割成两个首先可得到的块长最大的扩充汉明码。
校正子解码器的总体结构图18显示了根据本发明的解码器1800。所述解码器实质上对收到的校正子位执行解压,以重建原始信号。所述解码器包括常规解码器1810,以及一个或多个校正子解码器1820。第一个信号1801用常规的方式解码,而所有剩余信号1802-1803作为校正子位解码。在这种情况下,所述解码器重建所述信号,并使用重建的信号作为第二个位流的附加信息1811。当第二个信号1802解码后,使用重建的信号作为第三源的附加信息1812,依次类推。
相关源的概率分布形式校正子解码器的重要输入是相关信号之间的概率分布估计。我们先前假设整体联合概率分布具有马尔可夫结构p(xA,xB,xC,...,xT)=p(xA)p(xB|xA)P(xC|xB)...p(xT|xS)对将使用附加信息Y解码的每个信号X,重要的是具有条件概率分布p(x|y)的估计。
在典型情况下,条件概率分布的形式为高斯函数或拉普拉斯分布,在信号的每个整数上独立分布。也就是说,信号X中的每个整数与信号Y中的对应整数类似,并且信号差异为Δ的概率随着在Δ中的某种高斯或拉普拉斯分布而降低。
当然,条件概率分布的精确形式取决于具体的应用。在某些应用中,通过使用一组可得到的相关信号作为“训练”组,可以估计所述概率分布。
多级校正子解码器每个信号的校正子位分别解码。对每个信号都要对一组位平面解码。
图19显示了根据本发明的校正子解码器1900。解码器1900包括用于每个位平面1901的校正子修改的串联累积解码器1901。解码器1900还包括位证据估计器1920,用于产生位概率估计1921。
我们选择对位平面1901解码的次序。一种合理的选择是首先对若干最高有效位解码,并用译出的陪集代码字1902帮助对若干次高位解码,依次类推,直到完成最低有效位的解码。另一种合理的选择是以相反的次序解码,从最低有效位到最高有效位。译出的陪集代码字1902同样也向评估器1920提供。
为了对第一个位平面解码,我们首先利用估计出的概率分布对每一位判定其是0还是1的先验概率。这些概率用作解码器的软输入,修改串联累积码使解码满足收到的校正子位。
为了对第二个位平面解码,我们利用以先前解码的第一个位平面为条件估计出的概率分布,为每一位计算其先验概率。为了对更多的位平面解码,我们首先利用以所有先前解码的位平面为条件估计出的概率分布,计算先验概率。最终我们将对所有的位平面解码,并解码就完成了。
重建的位平面最后发送到反变换1930,撤销在编码器处应用的任何变换(如DCT变换),得到重建的信号1903。
位证据估计器位证据估计器1920的输入是先前解码之源的解码后位平面1904、信号X及其附加信息Y之间的条件概率分布1905以及先前解码的X之位平面的结果1902。输出1921是对下一个将解码的位平面,每一位是0还是1的概率估计。位证据估计器1920对仍然可能是先前译出位的所有整数值进行概率分布求和。
例如,假设下一个将解码的位平面是第b个位平面,位证据估计器现在正在解码这个位平面中的第i位,我们称之为xbi。为了确定xbi是1的概率,位证据估计器对与先前译出之位平面一致且xbi是1的所有整数值对输入概率分布求和,再除以与先前译出之位平面一致的所有整数值对输入概率分布求和。
校正子修改的串联累积解码器图20显示了根据本发明用校正子修改的SCA解码器2000。校正子修改的SCA解码器用作输入的是由位证据估计器1920所产生之位平面中每一位的概率估计1921以及收到的校正子位1901。
校正子修改的SCA解码器首先使用收到的校正子位数和已知的基本代码分割方案2010,来确定要采用的基本代码2020。
校正子修改的SCA解码器可以使用SCA编码所用的任何方法。需要进行的唯一修改是处理基本代码的解码器部分。当解码器的这部分用作信道解码器时,给出一组输入概率估计,它会为若干’移位’位产生一组概率估计。所述校正子修改的SCA解码器仍然会做这些,但是现在修改了该解码器,使其也满足收到的校正子也满足的约束。
例如,假若某校正子位连接到某奇偶校验,后者也连接许多其他校正子位,并且假若所述校正子位等于0,则所述基本代码所用的解码器就会为这些其他经移位的位输出一组后验概率。为了得到当校正子位是1时对应的后验概率组,将经移位的位等于0的输出后验概率复位成经移位的位等于1的后验概率,反之亦然。
在图20所示优选实施例中,校正子修改的SCA解码器2000使用迭代的解码方法,交替地对累积码2030和基本代码2020进行解码。使用BCJR方法、使用位概率估计1921以及来自基本代码的解码器的经移位的位的位概率估计2001,对优选实施例中的累积码进行解码。使用来自累积码之经移位的位的位概率估计2002,以及收到的校正子位1901,对基本代码进行解码。
在此优选实施例中,校正子修改的SCA解码器以固定的迭代次数在累积码和基本代码的解码之间交替,然后由累积码的解码器为位平面的若干位产生最终的位估计2003。对这些估计取阈值2040,即它们转换成硬决策,以在位平面中得到位的最终估计2004。
然后检查2050位平面中所述位的最终估计,以观察最终估计是否为陪集代码字,即是否满足了累积约束和校正子位。如果满足,则解码成功,并将陪集代码字2005输出为重建的信号。否则解码失败,除非存在反馈信道,在该情况下,产生对更多校正子位的请求2006。
重建原始信号图21显示了根据本发明的反变换2100。原始信号2103从陪集代码字2005重建。所述陪集代码字2005根据在编码器1200中使用的同一整数码1230,首先转换成整数序列2102。如果所述整数是过去在编码器处通过变换获取的,则所述整数在解码器处经由对应的反变换2120发送,以获取最终的重建信号2103。
本发明的效果仿真结果显示本发明满足了对实用的基于校正子编码所期望的所有需求。为了仿真本系统,产生了合成的相关信号。所述信号包括大约1000个整数,值范围从0到255,其中信号中的每个整数都由高斯或拉普拉斯分布与邻近信号中的对应整数相关。
根据本发明的系统有能力使用比本系统算出的熵略高(平均在2%和5%之间,取决于分布的细节)的若干校正子位压缩这种信号。它有能力实现这种结果,同时实现所有先前概述的其他需求。
对视频压缩系统的应用所阐述的本发明尤其适于在低复杂度编码器中对视频信号编码,如人们在移动电话中可见到的,即简单的数码摄像机。相关的专利申请详细地阐述了这种应用。因为本发明实现了高压缩比,是递增地速率自适应以及对低复杂度编码和低复杂度解码具有良好的性能,这些优点也改进了视频压缩系统。
虽然已经利用优选实施例介绍了本发明,但是应当理解,在本发明的实质和范围之内可以作出多种其他的适应和修改。所以,所附带的权利要求书的目的就是涵盖本发明真正的实质和范围之内出现的全部此类变化和修改。
权利要求
1.一种压缩一组相关信号的方法,包括把每个信号都转换成整数序列;把每个整数序列都组织成一组位平面;对每个位平面都应用反向累加器,以产生经移位的位的位平面;根据预定的置换,置换经移位的位的每个位平面,以生成经置换的位的位平面;把经置换的位的每个位平面分割成一组位块;以及根据基本代码为每个位块产生校正子位,所有校正子位都是一组相关信号的压缩。
2.根据权利要求1的方法,其特征在于,所述信号之间的相关是时间上的相关。
3.根据权利要求1的方法,其特征在于,所述信号之间的相关是空间上的相关。
4.根据权利要求2的方法,其特征在于,所述相关信号是视频序列中的图像。
5.根据权利要求1的方法,其特征在于,所述相关信号首先被量化。
6.根据权利要求1的方法,其特征在于,所述转换和组织包括把每个信号变换成一组系数;以及量化每组系数以生成位平面组。
7.根据权利要求4的方法,进一步包括把每幅图像分割成一组宏块;把每个宏块变换成一组系数;以及把每组系数量化成位平面组。
8.根据权利要求1的方法,其特征在于,所述基本代码是乘积码。
9.根据权利要求1的方法,其特征在于,所述基本代码是扩充汉明码。
10.根据权利要求1的方法,进一步包括为每个相关信号确定要产生的若干校正子位。
11.根据权利要求10的方法,其特征在于,使用来自所述校正子位解码器的反馈,确定所述校正子位的数目。
12.根据权利要求11的方法,其特征在于,使用所述相关信号关于可用辅助信息的条件熵的估计,确定所述校正子位的数目。
13.根据权利要求12的方法,其特征在于,所述辅助信息是所述解码器先前重建的信号。
14.根据权利要求1的方法,其特征在于,为所述对应信号产生的若干所述校正子位按照所述对应信号中的冗余程度自适应地变化。
15.根据权利要求14的方法,进一步包括递增地产生附加校正子位。
16.根据权利要求15的方法,其特征在于,所述产生所述附加校正子位进一步包括按照预定方案把所述基本代码分割成一组长度减小的基本代码;把所述对应的块分割成一组长度减小的块,对每个长度减小的基本代码都存在一个长度减小的代码;以及使用所述长度减小块的长度减小的基本代码的所述校正子以及先前产生的校正子位,产生所述附加校正子位。
17.根据权利要求16的方法,其特征在于,所述长度减小的基本代码是扩充汉明码。
18.根据权利要求16的方法,其特征在于,所述长度减小的基本代码是若干单奇偶校验码的乘积。
19.根据权利要求13的方法,其特征在于,第一个信号用常规的方式压缩。
20.根据权利要求1的方法,其特征在于,所述位平面为灰度编码的形式。
21.根据权利要求1的方法,其特征在于,解压所述信号之一对应的所述校正子位进一步包括为所述对应信号的每个位平面,产生所述位平面中每一位的位概率估计;使用所述位平面对应的所述校正子位和所述位概率估计,重建所述位平面;重建所述对应信号的所有位平面对应的所述整数序列;以及从所述整数序列重建所述信号。
22.根据权利要求21的方法,其特征在于,根据取决于先前重建信号并以所述对应信号的先前重建位平面为条件的概率分布产生所述位概率估计。
23.根据权利要求22的方法,其特征在于,所述概率分布是高斯函数。
24.根据权利要求22的方法,其特征在于,所述概率分布是拉普拉斯函数。
25.根据权利要求22的方法,进一步包括从一组训练信号估计所述概率分布。
26.根据权利要求22的方法,其特征在于,用常规的方式获取所述先前重建的信号。
27.根据权利要求21的方法,其特征在于,在所述解压缩期间,以从最高有效位到最低有效位的次序处理所述位平面。
28.根据权利要求21的方法,其特征在于,在所述解压缩期间,以从最低有效位到最高有效位的次序处理所述位平面。
29.根据权利要求1的方法,进一步包括基于要产生的所述校正子位数和预定的基本代码分割方案,选择所述基本代码。
30.根据权利要求21的方法,其特征在于,所述位平面的所述重建进一步包括基于要解压缩的若干校正子位和预定的基本代码分割方案,选择所述基本代码;以预定的迭代次数,交替地使用所述位概率估计对累积码解码和使用所述位概率估计以及将解压缩的所述校正子位对所述选择的基本代码解码,以生成所述位平面的最终位概率估计;以及对所述最终位概率估计取阈值,重建所述位平面。
31.根据权利要求30的方法,进一步包括判断最后取阈值的位概率估计是否对应于陪集代码字;如果是,接受所述最后取阈值的位概率估计作为所述位平面;以及如果否,拒绝所述最后取阈值的位概率估计。
32.根据权利要求31的方法,其特征在于,所述拒绝进一步包括在所述校正子位的所述产生期间,增加所述校正子位的数目。
全文摘要
首先通过把每个信号都转换成整数序列,并进一步组织为一组位平面,本方法压缩了一组相关信号。这可以利用信号变换和量化完成。对每个位平面应用了反向累加器,以生成经移位的位的位平面,它们按照预定的置换被置换,以生成经置换的位的位平面。经置换的位的每个位平面都分割成一组位块。根据速率自适应基本代码,为每个位块产生校正子位。随后所述校正子位可以在解码器中解压缩,以恢复所述原始的相关信号。对于所述对应信号的每个位平面,都会产生位概率估计。然后,使用所述校正子位和所述位概率估计,重建所述位平面。然后可以根据所述位概率估计重建所有位平面所对应的整数序列,并使用反量化和反变换从所述整数序列可以恢复所述原始信号。
文档编号H03M7/30GK1926769SQ20058000042
公开日2007年3月7日 申请日期2005年8月8日 优先权日2004年8月27日
发明者乔纳森·S.·耶迪蒂亚, 安索尼·维拖奥, 艾施·柯斯蒂, 迪弥特瑞·迈利奥托弗 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1