联合译码可能损坏的码字的方法

文档序号:6752603阅读:171来源:国知局
专利名称:联合译码可能损坏的码字的方法
技术领域
本发明涉及对代码的可能损坏的码字进行译码的方法,其中通过使用生成矩阵将信息字和地址字编码成所述代码的码字,以及其中选择所述地址字从而使得具有已知关系的地址字被分配给连续的码字。本发明还涉及用于对可能损坏的码字进行译码的相应设备和用于实施所述方法的计算机程序。
在欧洲专利申请01201841.2(PHNL 10331)中,描述了对被告知的译码进行编码的概念。在欧洲专利申请01203147.2(PH-NL 010600)中可以找到一种改进。在所述欧洲专利申请中描述的发明的关键元素是从应用的纠错码(ECC)中适当地选择信息串到码字的映射。如果译码器事先已知部分编码信息,对被告知的译码器进行编码的目的是使得能够进行更可靠的信息检索。典型的例子是光媒体的地址检索领域。在强迫跳转到某个扇区的情形下,已知在其中读/写头将着陆的扇区的部分地址考虑了跳转精度。例如,在DVR(数字视频记录)中,预期在光盘的螺旋轨道上编码有助于逻辑定位读/写头在光盘上的位置的一系列消息,例如,该消息包含版权信息,日期信息和逻辑轨道计数器。在这些信息中,只有逻辑轨道计数器在连续的消息之间改变。因此,通过对之前的消息的成功译码可以得到事先已知的消息。
按照上述的欧洲专利申请中描述的解决方案,如果所述第一译码成功,第二消息的泽码只能从第一消息的译码中获取。第二译码然后依次帮助第三消息的译码,等等。然而,如果第一消息的译码失败,则第二消息已经以特殊的方式被编码的事实并不能改进纠错能力,即,第二和任何进一步的译码没有得到之前的译码的帮助。然后所有的译码都可能失败。在另外的情形下,例如,在记录或重放过程一开始,对于读/写头的实际的着陆位置知道得不多。在这种情形下,只有代码的纠错能力可被用于检索信息。
因此,本发明的一个目的是提供一种对可能损坏的码字进行泽码的改进的方法和设备,该方法和设备可以在代码的纠错能力不足以允许可靠的信息检索时使用,以及也可以在有太多的错误以致于尽管应用了如上述欧洲专利申请中描述的被告知的译码,这些错误仍不能被纠正时使用。
该目的可以根据本发明通过如权利要求1中要求保护的译码方法实现,该方法包括以下步骤-对多个可能损坏的码字对的差别进行译码,以便获得对相应码字对的差别的估值,-组合所述估值以便得到特定码字的多个至少两个破坏的版本,-在每个坐标中根据所述特定的码字的所述数目的破坏的版本来形成代码矢量,-将所述代码矢量译码成所述代码中的译码的码字,以及-使用所述生成矩阵得到嵌入在所述译码的码字中的信息字和地址字。
根据本发明的用于译码的相应设备是在权利要求11中要求保护的。包括计算机程序代码装置的计算机程序是在权利要求12中要求保护的,当该计算机程序在所述计算机上运行时,该计算机程序代码装置使得计算机执行如权利要求1中要求保护的方法的步骤。本发明的优选实施例在从属权利要求中限定。
本发明基于这样的构思利用连续码字之间的某些关系并且联合译码多个这样的连续码字。在本文中,“连续的”码字是指顺序地读取和/或输入到译码器的码字,例如在数据流中顺序地彼此相邻的码字或被存储在信息载体(诸如CD、DVD或DVR或磁盘)的连续扇区中的码字。
提出的联合译码的方法包括两个主要元素。第一个主要元素包括通过译码其破坏的版本的差别从而得到不同的连续码字对的差别的估值的步骤。根据第二个主要元素,组合破坏的多对连续的码字的所述差别的译码结果,产生多个同一个码字的破坏的版本。这些破坏的版本然后都被用于获得想要的码字,最后从该想要的码字可以检索信息字和地址字。因为被编码在码字中的地址字具有某个已知的关系,所以在译码期间可以知道很多关于可能损坏的码字的差别,这些知识可以根据本发明在译码期间被有利地使用。
在权利要求2到4中限定形成代码矢量的步骤的优选实施例。优选地,所述代码矢量是通过在每个坐标中从估值得到的多个破坏的版本中进行多数表决而形成的。如果在所述多个纠正的版本中最频繁出现的值不止一个,则根据另一个优选的实施例擦除所述代码矢量的相应坐标。可替换地或此外加上,在一个或多个可能损坏的码字的符号上可得到的可靠性信息被用来根据又一个优选实施例选择所述代码矢量的坐标。可靠性信息可以是关于某个数值是正确的概率的信息。如果可以得到的话,优选地为代码向量的每一比特包括可靠性信息以便增强其译码。
获得对一对码字的差别的估值的优选方法是根据包含主代码的两个连续码字的所有可能差别的子代码,把相应的可能损坏的码字对的差别译码成最接近的码字,该最接近的码字然后被用作所述估值。。
不正确译码的概率可以通过引入额外检验而进一步减小,如果得到的估值显示预定的形式和/或具有可能的数值,则该得到的估值可以根据该额外检验而被检验。优选地,如果该检验失败,则应该拒绝该译码结果。
本发明被有利地用于泽码存储在信息载体(诸如光盘或磁盘)中的码字。根据用于光记录的标准,诸如CD-DA或DVR标准,分配给连续码字的地址字是连续的,例如顺序地增加1,以及优选地表示在其中存储有相应码字的扇区的扇区地址。本发明采用在分配给连续码字的地址字之间的所述关系。
为了减小译码延迟,如果要被译码的可能损坏的码字对的数目尽可能小,则是有利的。然而,至少两对两个连续的可能损坏的码字必须被译码,这样至少可得到三个估值,因为对于两个替换物进行特定的多数表决是没有用的。如果使用可靠性信息而不是多数表决,则一对两个连续的可能损坏的码字可能就足够了。
根据本发明的另一个方面,提出了在组合所述估值以获得特定码字的多个破坏的版本的所述步骤中,第一破坏的版本对应于第一可能损坏的码字,第二破坏的版本对应于第二可能损坏的码字与第一估值之间的差别,该第一估值是通过译码所述第一和所述第二可能损坏的码字之间的差别得到的,以及第三破坏的版本对应于第三可能损坏的码字、所述第一估值与第二估值之间的差别,该第二估值是通过译码所述第二和所述第三可能损坏的码字之间的差别得到的。
根据本发明的又一个方面,提出的解决方案也可以与在上述的欧洲专利申请中描述的、在译码期间使用事先已知的信息的解决方案组合使用。优选的方法可以是,在第一步骤,译码器尝试通过使用在嵌入在所述可能损坏的码字中的地址字上可获得的事先已知的信息来译码可能损坏的码字。如果该译码失败或者如果结果不够可靠,则可以使用联合译码的本解决方案。然而,也有可能在译码期间除了使用事先已知的信息之外,总是使用本解决方案。
现在参照附图更详细地说明本发明,其中

图1显示要被编码的数据字信息的格式,图2显示码字的格式,图3显示编码和泽码方案的方框图,以及图4显示根据本发明的译码方法的方框图。
下面,假设信息被表示为如图1所示的被称为数据字d的k比特的串,所述数据字d包括地址字a(i)和信息字m。地址字a(i)是b比特的串,表示扇区i的扇区地址;信息字m是(k-b)比特的串,包含要被存储的任何信息,诸如音频、视频、软件、版权或日期信息或任何其他种类的数据。应当注意,如果i是已知的,则地址字a(i)是已知的,反之亦然;然而,i的知识没有给出有关信息字m的信息。
通过使用kxn二进制生成矩阵G编码图1所示的数据字d,这样,数据字d=(a(i),m)被映射到如图2所示的n比特的码字c(i,m)=(a(i),m)G。
图3显示使用编码和译码的典型系统的方框图。这里,来自(例如被记录在母带或母盘上的)数据源1的用户数据(例如音频或视频数据)在被存储到数据载体(例如光盘)上、或通过传输信道(例如通过互联网)被传输之前,在它们再次被译码以便把它们转发到数据接收器9,例如用于重播它们之前,被编码。
在编码的用户数据(码字)被放置到在其上可能在这些码字中引入错误的信道5之前,源1的用户数据首先由源编码器2进行编码,然后,由ECC编码器3进行纠错编码,此后由例如EFM调制器的调制器4进行调制。术语“信道”5在这里应被广义地解释,包括传输信道,以及把编码的数据存储在数据载体上供以后重播。
当打算重播数据时,在由ECC泽码器7进行纠错译码和由源译码器8进行源译码之前,编码的数据首先必须由例如EFM解调器的解调器6进行解调。最后,泽码的用户数据被输入到接收器9,例如,用于重播用户数据的播放设备。
参照图4更详细地说明根据本发明的译码方法。假设以编码的格式存储在记录载体10上的数据将被重播。在第一个步骤,一些数据r由读取单元11读取,并被发送到编码设备12。在数据从编码器到译码器的过程期间,例如由于光学记录载体上的划痕或由于传输错误,码字中可能引入了错误,因此读出的码字r有可能被损坏。这些错误将由译码器12纠正。
首先,在单元13计算位于连续扇区中(或连续地位于传输的数据流中)的码字的差别D。在扇区i和i+1中的码字ri和ri+1的差别D被按如下计算c(i,m1)c(i+1,m2)=(Δ(i),m1m2)G,其中Δ(i)=a(i)a(i+1),0≤i≤2b-2。关键的观察结果是,为了适当地选择地址字a,要提到两个连续地址字的差别Δ(i)。应当指出,表示模2运算,其中加法和减法具有相同的结果。
假设读出L=3个连续码字c1,c2,c3的破坏的版本r1,r2,r3,则对于j=1,2,3可以写出rj=c(i+j-1,mj)ej=(a(i),mj)Gej,ej表示错误矢量。显然有D12=r1r2=(a(i),m1)G(a(i+1),m2)G(e1e2)=(Δ(i),m1m2)G(e1e2)和D23=r2r3=(Δ(i+1),m2m3)G(e2e3).
这些L-1=2个差别D12和D23由单元13进行计算,并被输入到第一译码单元14。
在译码单元14中,所述差别D12和D23的每一个均根据子代码C’被译码为最接近的码字,该子代码C’包含主代码C的两个连续码字的所有可能的差别。例如,这可以通过比较差别D12、D23与子代码C’的所有可能的码字,以及通过选择最接近的码字作为对c(i,m1)c(i+1,m2)的估值u和作为对c(i+1,m2)c(i+2,m3)的估值v来完成。因此,在第一译码单元14中,得到对应于可能损坏的码字对r1r2和r2r3的码字对c1c2和c2c3的差别的估值u和v。
这些估值u和v在单元15中通过以下计算被组合
w1=r1=c(i,m1)e1w2=r2u=r1(r1r2u)w3=r3uv=r1(r1r2u)(r2r3v).
如果估值u是正确的,则r1r2u=e1e2。同样地,如果估值v是正确的,则r2r3v=e2e3。因此,如果估值u和v都是正确的,则w1=c(i,m1)e1w2=c(i,m1)e2w3=c(i,m1)e3.
因此,在组合单元15中得到特定的码字c1=c(i,m1)的数目L=3个破坏的版本w1,w2,w3。
接着,在单元16中,通过对码字c1的破坏的版本w1,w2,w3按分量方式进行多数表决,构建代码矢量z。也就是说,对于每个i∈{1,2,...,n},如果w1i,w2i和w3i是不同的,则代码矢量z的第i个分量zi是一个消除(erasure);否则,分量zi等于w1i,w2i和w3i中的最常见的元素。代码矢量z然后由用于代码C的第二译码单元17进行译码,把它译码成所述代码C的码字c’。最后,在单元18中,曾被编码器使用以便把地址字和信息字编码成码字的生成矩阵G,最后被用于检索嵌入在所述码字c’中的信息字m和地址字a。
通常,L个连续码字的多个破坏的版本被读出,比如说,对于j=1,2,...,L,rj=c(i+j-1,mj)ej。得到对于(L-1)对连续码字的的每一对的差别的估值。通过组合这些估值,得到码字c1=c(i,m1)的L个破坏的版本w1,w2,...,wL。如果所有的估值都是正确的,则对于j=1,2,...,L,有wj=c(i,m1)ej。在每个坐标中,代码矢量z按照w1,...,wL的多数表决得到。如果在某个坐标中最经常出现的不止一个符号,则代码矢量z中的这个坐标被消除。最后,代码矢量z被译码为代码C中的码字。
为了减小译码延迟,如果数目L尽可能小则是有利的。对于L=2,上述方法是不适用的,因为对于两个替换物进行多数表决是没有用的。如果在可能损坏的码字r1和r2上可以得到可靠性信息,也被称为软判决信息,则可以根据公知的方法得到对于w2=r2u的每个比特的可靠性信息。现在可以通过将坐标zi替换设置成来自r1i和w2i的最可靠的比特,而不是通过多数表决来得到代码矢量z。为了增强代码矢量z的译码,可以为代码矢量z的每个比特都包括可靠性信息。通过组合比特r1i和w2i的可靠性信息,得到z中的比特i的可靠性信息。
接着,将概略地讨论两种特殊的情况。在第一种特殊的情况中,考虑到信息字a(i)是整数i的传统的k比特二进制表示。例如,如果k=8,则a(57)=00111001,因为57=0·27+0·26+1·25+1·24+1·23+0·22+0·21+1·20。两个连续整数的二进制表示几乎总是具有相同的最左边的比特;唯一的例外是地址011...1,它的后续地址是10...0。因此,可以假设,两个连续地址字的差别Δ(i)=a(i)a(i+1)的最左边的比特等于0,只有非常小的错误概率。更一般地,将会看到,Δ(i)非常可能以多个0开始。换句话说,可以应用如在上述欧洲专利申请EP01201841.2和在译码器中使用事先已知的信息的欧洲专利申请中提出的解决方案,因为已知Δ(i)的多个最左边的信息比特(以很大的概率)等于0。
令i是在0与2b-2之间的整数。令j是a(i)结尾的1的数目,并且0≤j≤b-1。可以写出a(i)=s01j,其中s具有长度b-j-1,并且1j表示具有j个1的串。可以容易地推测出,a(i+1)=s10j,以及Δ(i)=a(i+1)a(i)=0b-j-11j+1。
可以得出以下的结论(a)对于每个i∈{0,1,...,2b-2},Δ(i)具有0b-m1m的形式,对于某些m∈{1,2,...,b}。
(b)当且仅当a(i)以(m-1)个1结尾,Δ(i)=0b-m1m。
从结论(b)可以得出,Δ(i)以b-m个0开始并以m个1结尾的整数i的数目等于2b-m。换句话说,对于m≥1,Δ(i)以正好m个1结尾的整数i∈{0,1,...,2b-2}的比值(fraction)等于2b-m/(2b-1)≈(1/2)m。
例如,Δ(i)以至多4个1结尾的整数i的比值近似等于1/2+1/4+1/8+1/16=15/16=0.9375。也就是说,如果假设Δ(i)以b-4个0开始,则接近94%的情况是正确的。如果假设Δ(i)以b-8个0开始,则当在译码器中使用事先已知的信息符号的概念时,最小汉明距离降低,但该假设有很大的概率255/256≈0.9961是正确的。
在译码(Δ(i),m1m2)G的破坏的版本之后,即,在译码差别D12之后,应当检验对于某些m≥1,Δ(i)的假设值是否具有0n-m1m的形式。如果不是的话,译码结果应当被拒绝。该额外检验大大地减小了不正确译码(例如,版权信息)的概率。
按照另一种特殊情况,所有的扇区具有相同的信息字m。在扇区i和i+1的码字之间的差别可以按如下计算c(i,m)c(i+1,m)=(Δ(i),0)G.
换句话说,任何两个连续码字的差别是在代码CΔ中,被定义为CΔ={(Δ(i),0)G|0≤i≤2b-2}.
因此,两个连续码字的破坏的版本的差别可以被译码成代码CΔ。如果差别矢量组{Δ(i)|0≤i≤2b-2}具有小的基数,则作为主代码C的子代码的代码CΔ具有小的基数,并且在这种情况下,它的最小距离很可能超过代码C的最小距离。
在地址字a(i)是i的传统二进制表示的特殊情况下,有CΔ={(0i,1b-i,0k-b)G|0≤i≤b-1}.
因此,子代码CΔ只包含b个字,而不是2b-1个字,并且通过把两个连续的可能损坏的字r的差别与来自子代码CΔ的所有b个字进行比较,可以容易地执行最优化的译码。应当注意,要进行的比较的数目与b成线性关系,而不是指数关系。
由于Δ(i)通常不是以多个1结尾,所以可以考虑译码到甚至更小的子代码,即C′Δ={(0i,1b-1,0k-b)G|b′≤i≤b-1}其中b’是在0和b-1之间的整数。b’越大,C’Δ越小,而正确译码的可能性也越小。
在地址表示a对应于二进制格雷编码的情况下,子代码CΔ只有b个元素。这是因为按照定义,二进制格雷编码意味着两个连续地址只在一个位置上不同,即,对于每个i,Δ(i)包含一个1和b-1个0。
本发明构建用于检索信息的有效和可靠的方法,该信息被存储在处于几个连续扇区中的码字中或在数据流中被顺序地发送。本发明采用在连续码字之间的某些关系,以及联合译码几个这样的连续码字。本解决方案可被应用于任何编码和译码系统中,其中具有已知关系的地址字被分配给连续的码字。
权利要求
1.对代码(C)的可能损坏的码字(r)进行译码的方法,其中使用生成矩阵(G)将信息字(m)和地址字(a)编码成所述代码(C)的码字(c),以及其中选择所述地址字(a)使得具有已知关系的地址字(a)被分配给连续的码字(c),所述方法包括以下步骤-对多(L-1)个可能损坏的码字对(ri,ri+1)的差别(D)进行译码,以便获得对相应的码字对(ci,ci+1)的差别的估值(u,v),-组合所述估值(u,v)以得到特定的码字(c)的多(L)个至少两个破坏的版本(wj),-在每个坐标中从所述特定的码字(c)的所述数目(L)的破坏的版本(wj)中形成代码矢量(z),-将所述代码矢量(z)译码成所述代码(C)中的译码的码字(c’),以及-使用所述生成矩阵(G)以得到嵌入在所述译码的码字(c’)中的信息字(m)和地址字(a)。
2.如权利要求1所述的方法,其中形成所述代码矢量(z)的步骤通过多数表决执行。
3.如权利要求2所述的方法,其中在形成所述代码矢量(z)的步骤中,如果在所述特定的码字(c)的所述数目(L)的破坏的版本(wj)中最频繁出现的不止一个数值,则所述代码矢量(z)的坐标被消除。
4.如权利要求1所述的方法,其中在形成所述代码矢量(z)的步骤中,在一个或多个可能损坏的码字(r)的符号上可得到的可靠性信息被用于选择所述代码矢量(z)的坐标。
5.如权利要求1所述的方法,其中在对多(L-1)个可能损坏的码字对(r)的差别(D)进行译码的步骤中,可能损坏的码字对(ri,ri+1)的差别根据子代码(C’)被译码成最接近的码字,该子代码(C’)包含代码(C)的两个连续码字(c)的所有可能的差别,所述最接近的码字被用作估值(u)。
6.如权利要求1所述的方法,还包括在对多(L-1)个可能损坏的码字对(r)的差别(D)进行译码以得到所述估值(u,v)的步骤之后,检验所述估值(u,v)是否显示预定的形式和/或具有可能的数值的步骤。
7.如权利要求1所述的方法,其中被分配给连续码字(c)的所述地址字(a)是连续的,特别是存储所述码字(c)的信息载体的扇区的连续的扇区地址。
8.如权利要求1所述的方法,其中在所述对多(L-1)个可能损坏的码字对(r)的差别(D)进行译码的步骤中,至少两对的两个连续的可能损坏的码字(r)被译码。
9.如权利要求1所述的方法,其中在所述组合所述估值(u,v)以得到特定的码字(c)的多(L)个破坏的版本(wj)的步骤中,第一破坏的版本(w1)对应于第一可能损坏的码字(r1),第二破坏的版本(w2)对应于第二可能损坏的码字(r2)与第一估值(u)之间的差别,该第一估值(u)通过对所述第一和所述第二可能损坏的码字(r1,r2)之间的差别进行译码而得到,以及第三破坏的版本(w3)对应于第三可能损坏的码字(r3)、所述第一估值(u)与第二估值(v)之间的差别,该第二估值(v)通过对所述第二和所述第三可能损坏的码字(r2,r3)之间的差别进行译码而得到。
10.如权利要求1所述的方法,还包括在对多(L-1)个可能损坏的码字对(r)的差别(D)进行译码之前,使用嵌入在所述可能损坏的码字(r)中的地址字(a)的事先已知的信息对所述码字(r)进行译码的步骤。
11.用于对代码(C)的可能损坏的码字(r)进行译码的设备,其中使用生成矩阵(G)将信息字(m)和地址字(a)编码成所述代码(C)的码字(c),以及其中选择所述地址字(a)使得具有已知关系的地址字(a)被分配给连续的码字(c),所述设备包括-第一译码装置,用于对多(L-1)个可能损坏的码字对(ri,ri+1)的差别(D)进行译码,以便得到对相应的码字对(ci,ci+1)的差别的估值(u,v),-组合装置,用于组合所述估值(u,v)以得到特定的码字(c)的多(L)个至少两个破坏的版本(wj),-形成装置,用于在每个坐标中从所述特定的码字(c)的所述数目(L)的破坏的版本(wj)中形成代码矢量(z),-第二译码装置,用于将所述代码矢量(z)译码成所述代码(C)中的译码的码字(c’),以及-使用装置,用于使用所述生成矩阵(G)以得到嵌入在所述译码的码字(c’)中的信息字(m)和地址字(a)。
12.包括计算机程序代码装置的计算机程序,当所述计算机程序在计算机上运行时,该计算机程序代码装置用于使得所述计算机执行如权利要求1所述的方法的步骤。
全文摘要
本发明涉及一种对代码(C)的可能损坏的码字(r)进行译码的方法,其中通过使用生成矩阵(G)将信息字(m)和地址字(a)编码成所述代码(C)的码字(c),以及其中选择所述地址字(a)使得具有已知关系的地址字(a)被分配给连续的码字(c)。为了提供使用已知关系进行译码的可靠方式,提出了一种方法包括以下步骤对多(L-1)个可能损坏的码字对(r
文档编号G11B20/10GK1701519SQ03805289
公开日2005年11月23日 申请日期2003年2月14日 优先权日2002年3月8日
发明者A·P·赫克斯特拉, C·P·M·J·巴格根, L·M·G·M·托休伊曾 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1