CN1491486A - 用于解码纠错码的方法和设备 - Google Patents

用于解码纠错码的方法和设备 Download PDF

Info

Publication number
CN1491486A
CN1491486A CNA028048423A CN02804842A CN1491486A CN 1491486 A CN1491486 A CN 1491486A CN A028048423 A CNA028048423 A CN A028048423A CN 02804842 A CN02804842 A CN 02804842A CN 1491486 A CN1491486 A CN 1491486A
Authority
CN
China
Prior art keywords
memory
correct
code word
symbol
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028048423A
Other languages
English (en)
Other versions
CN1316751C (zh
Inventor
亚历山大・克拉夫琴科
亚历山大·克拉夫琴科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1491486A publication Critical patent/CN1491486A/zh
Application granted granted Critical
Publication of CN1316751C publication Critical patent/CN1316751C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • H03M13/2924Cross interleaved Reed-Solomon codes [CIRC]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

CIRC码的解码过程包括用于各个输入帧的每隔一个数据码符的单码符延迟操作和奇偶校验码符反相操作,C1字解码操作,解交织操作,C2字解码操作和输出前的双码符延迟操作。如果在双码符延迟操作和输出之前,执行两次(双路操作)C1字解码,解交织和C2字解码,可以提高纠错能力。本发明允许双路操作,也允许单路操作,并使用具有最小容量的单一存储器,其中存储器的三个部分被分配了特定的操作并用一种特殊方式控制存储器。

Description

用于解码纠错码的方法和设备
技术领域
本发明涉及到一种用于解码CIRC(Cross Interleave Reed-solomonCode,交叉交织里德-所罗门码)纠错码的方法和设备,特别是一种对于从光学存储介质读取数字化数据时遇到的突发错误或随机错误具有增强的校正能力的解码方法。
背景技术
例如,一个Reed-Solomon码为(28,24)(C2码)的CIRC码的编码方法使用24个数据码符(symbol)来完成,每一个码符的字长是8比特。在典型的音频设备中,每一个音频采样由16比特表示。如果上述的CIRC码用于这种数字音频信号的信道编码,则每一个采样要用两个8比特码符来表示。这样每一个8比特码符表示一个音频采样的8个最高有效位(MSB)或是8个最低有效位(LSB),该音频信号来自立体声音频信号两个声道中的一个。这些具有第一排列状态的数据码符通过交织操作被转换为第二排列状态。而(32,28)Reed-Solomon码(C1码字)进一步进行编码处理的对象就是这28个现在处于第二排列状态的码符。
图1所示为解这种RS码的传统CIRC电路。这种CIRC解码器的主要处理步骤为:
a)在1SYMDEL级,将每隔一个的输入数据码符延迟一个码符,其中一部分延迟的码符被反相;
b)在C1DEC级,将RS码C1(32,28,5)解码,从而校正不正确的码符;
c)在UNEQDEL级解交织;
d)在C2DEC级,将RS码C2(28,24,5)解码,从而校正不正确的码符;
e)在2SYMDEL级,将一部分已进行了C2解码的数据码符延迟两个码符;
每32个输入的数据码符形成一帧并被提供给电路1SYMDEL,在该电路中,只有编号为偶数的码符被延迟一个数据码符周期,亦即帧的周期。从电路1SYMDEL输出的32个码符被提供给C1解码器C1DEC,在这里执行当前的(32,28,5)Reed-Solomon码(C1码字)解码,其中最多可以校正C1码字中2个不正确的码符。在C1解码器检测到3个或更多错误的情况下,会给当前的C1码字中的所有数据码符设置C1指针(即疑符标志-erasure flag)。
数据码符和疑符标志的进一步处理在解交织级UNEQDEL进行,这一级包括一些长度不等的延迟线。将UNEQDEL级的输出提供给C2解码器C2DEC。在解交织级UNEQDEL,对C1解码器产生的各个数据码符的疑符标志进行与数据解交织的方式相同的解交织过程。利用所述的C1疑符标志,在C2解码器中最多可以校正四个错误。如果已经校正了4个错误,清除C1疑符标志。如果错误超过了4个,可以将C1疑符标志复制给这个C2码字,也可以给C2码字中的所有码符设置疑符标志。CIRC解码的最后一级是双码符延迟器2SYMDEL。
已经有各种用于解码CIRC码的传统方法被发表,例如EP-A-0 497593,US-A-4 476 562,US-A-4 497 058,US-A-4 546 474,US-A-5 276674和EP-A-0 156 440。在这些传统的解码方法中,根据所谓的疑符校正(erasure correction)方法进行错误处理,在这些方法中,错误码符的位置由指针信息指出,并对该错误码符进行必要的校正。在上述C1和C2码字的情况下,最多可以检测并校正2个错误,而如果错误位置已知,最多可以校正4个疑符或是错误。所以,为了增加纠错能力,在解码错误时,优先采用疑符校正方法。而且发现疑符校正方法在校正突发错误时特别有效。
如图1所示的传统解码方法不能双路处理CIRC码块,双路处理可以提高纠错能力。为了获得这个附加的特性,可以给传统的CIRC解码器附加电路,或是改善传统的CIRC解码器。
EP-A-0 278 383公开的解码方法使用了传统的解码方法,即传统的CIRC解码器,不过它可以双路处理CIRC码。在“双路处理”中,C1解码和C2解码按照特定的顺序执行两次:将C1码字提供给C1解码器,该解码器执行当前的(32,28)Reed-Solomon码的解码。最多可能校正两个错误。如果在C1解码器检测到3个或更多错误,给这个C1码字中的所有码符设置一个C1指针。在解交织级进行已校正的数据和C1错误指针的进一步处理。将解交织级的输出提供给C2解码器,利用上述的C1指针,C2解码器最多可以完成4个疑符的疑符校正。在C2解码器完成了疑符校正的基础上,清除这些C1指针,这样就没有把指针信息传送给C2解码周期。在第二个周期,将来自C2解码器的数据提供给交织器,交织器将数据按照最初的复制顺序返回。接着,与第一个解码周期重复的第二个解码周期就开始了。因此,利用附加的交织级就实现了CIRC码的双路处理。
US-A-4 637 021所述的解码方法实现了CIRC码的双路处理,但不能实现单路处理。利用一个C1和一个C2解码器,通过处理数据字节块来实现错误检测和校正。为了使数据处理的速度达到最快,C1和C2解码器同时处理存储于系统存储器中的数据,其中C1解码器在C2解码器之前处理对应的数据。在第一C1解码级,最多可以进行双纠错错误处理,而在C2解码级,可参考来自C1解码级的指针信息进行双纠错。C1指针信息不能增大纠错系统的纠错能力,但可以用于检验解码处理的质量。
C1和C2解码器从系统存储器中读取数据字节的顺序如下:第一C1解码器处理C1数据码符字节块(32字节),接着第一C2解码器处理由C1解码器处理得到的C2数据码符字节块(28字节)。这样,第一路结束。第二C1解码器处理由第一路处理得到的数据字节,接着第二C2解码器处理由第一路和第二C1解码器处理得到的数据字节。这样,第二路结束。一个解码器周期包括第一路和第二路的操作。每完成一个解码器周期,地址计数器加1,并开始下一个解码周期。
在数据码符(C1块)准备好进入输入缓存器之后,立刻将新数据写入系统存储器。这样,在操作中连续地通过系统存储器实现4个解码器的读取,直至处理完所有的可用数据。
这里使用了不同的方法执行解交织和控制数据。解交织块的执行在存储器中进行。解交织块的大小为256*32字节,包括两个块,其中C1块有128*32字节,C2块有128*32字节。C1块的地址从112行到239行。C2块的地址从240行到255行,接着再从0行到111行。存储器是循环的。第一解码器处理32个数据字节的C1块,读取C1块的初始位置是地址112。在每一个连续的解码器周期里(即C1解码器和C2解码器的两路操作),C1解码器定位并且读取在下一个连续的较高地址的C1块。这样,对于第二个周期来说,C1块定位在存储器地址为113的位置。第一C2解码器处理的C2块大小为28个数据字节,读取C2块的初始位置是存储地址0。包含了C2块的字节沿着二维存储空间的对角线放置。在连续的解码周期里,改变那些包含了C2块的字节。第二C1解码器从初始位置为存储地址240处读取C1块,而第二C2解码器从初始位置为存储地址113处读取C2块。通过存储器,连续地执行这四路解码。只要存储器里仍然有未处理过的数据,解码周期就会继续下去。如果已校正了存储器中所有的数据,纠错系统的操作过程就完成了。
发明内容
然而,根据US-A-4 637 021给出的CIRC码的解码技术有一些缺点:
a)执行单码符延迟操作和一帧中奇偶码符的反相需要使用附加电路;
b)双码符延迟操作需要使用附加电路;
c)存储器需要256个存储体(bank),加上它们附带的疑符标志,每一个存储体包括32字节。这样存储容量明显地大于两个CIRC块的存储容量,其中的每一个块只包含109个存储体;
d)不能进行CIRC解码器的单路操作。
本发明通过解码CIRC码解决了上述问题,该解码过程允许双路操作,也允许单路操作,避免了不必要的附加电路,并且只需要一个最小的存储容量。权利要求1公开的方法解决了这个问题。权利要求6公开了一种采用了该方法的设备。
将经过适当延迟的C1码字提供给执行当前的(32,28)Reed-Solomon码的解码的C1解码器。最多可能校正两个错误。如果在C1解码器中检测到3个或更多错误,给该C1码字的所有码符设置一个C1指针。在解交织级对已校正的数据和C1错误指针的进行进一步处理。将解交织级的输出提供给C2解码器,C2解码器利用上述的C1指针最多可以执行四个疑符的疑符校正。如果需要,其后开始第二解码周期,该周期重复进行上述的第一解码周期。这样,存储于存储器中的第一路C2解码的例如28个已初步校正的输出字,连同仍存储于存储器中的例如4个奇偶校验位或字(或对应的纠错位)一起形成第二路C1解码的(例如32个)输入数据码符。这样就实现了CIRC码的“双路处理”。
根据本发明,利用对存储器特殊的控制和寻址来实现CIRC码的解码的单码符和双码符延迟操作以及单路、双路CIRC码解码的可行性。其优势在于无需附加硬件并可以充分地减小存储器的容量。
为了实现双路解码,采用单一的解码器把存储器中的所有数据字节校正两遍。为了实现解交织,使用了大小为218*32的较小存储器(218对应着上文所述CIRC块长度的两倍)来取代上文所述解码方法中使用的256*32的存储器。本发明采用了RS码的疑符校正方法。如果每一个C1码字最多包含了6个随机错误,则在低输入错误率的情况下,可以非常有效地校正已被破坏的C1码字里大量的突发错误。
原则上,本发明的方法适用于纠错码的解码,如CIRC码,该方法包括步骤:
将包含了纠错位的已编码数据码符的当前帧存储于存储器的第一部分;
将数据码符的所述当前帧写入所述存储器的第二部分,并由此将该数据码符的一部分延迟一个数据码符周期,这些数据码符就表示了一个C1码字;
从所述存储器中读取所述的C1码字,对所述C1码字执行包括第一次纠错的C1解码,并将已校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已校正的C1码字,对所述已校正的C1码字执行解交织和包括第二次纠错或疑符校正的C2解码;
将得到的已校正的C2码字存储于所述存储器的第三部分;
从所述存储器的所述第三部分读取所述已校正的C2码字,将码字数据码符的一部分延迟两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分;
从所述存储器的所述第三部分输出当前帧的已校正的数据码符;或步骤:
将包含了纠错位的已编码数据码符的当前帧存储于存储器的第一部分;
将数据码符的所述当前帧写入所述存储器的第二部分,并由此将该数据码符的一部分延迟一个数据码符周期,这些数据码符就表示了一个C1码字;
从所述存储器中读取所述C1码字,对所述C1码字执行包括第一次初步纠错的初步C1解码,并将已初步校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已初步校正的C1码字,对所述已初步校正的C1码字执行解交织和包括第二次初步纠错或初步疑符校正的初步C2解码,并将得到的已初步校正的C2码字写入所述存储器的所述第二部分;
从所述存储器读取所述已初步校正的C2码字,对所述已初步校正的C2码字连同纠错位中所需要的部分执行包括第一次纠错的进一步C1解码,并将已进一步校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已进一步校正的C1码字,对所述已进一步校正的C1码字执行解交织操作和包括第二次纠错或疑符校正的进一步C2解码;
将得到的进一步校正的C2码字存储于所述存储器的第三部分;
从所述存储器的所述第三部分读取所述已校正的C2码字,将码字数据码符的一部分延迟两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分;
从所述存储器的所述第三部分输出当前帧的已校正的数据码符。
各自独立的权利要求中公开了本发明方法其它具体的优势。
原则上,本发明用于解码纠错码例如CIRC码的设备包括:
RS解码器;
存储器,在该存储器的第一部分中存储了包含纠错位的已编码数据码符的当前帧;
控制器,控制将数据码符的所述当前帧写入所述存储器的第二部分,并由此将该数据码符的一部分延迟一个数据码符周期,这些数据码符就表示了一个C1码字,在所述控制器的进一步控制下:
从所述存储器中读取所述C1码字,在所述RS解码器中对所述C1码字执行包括第一次纠错的C1解码,并将已校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已校正的C1码字,对所述已校正的C1码字执行解交织,并在RS解码器中执行包括第二次纠错或疑符校正的C2解码;
将得到的已校正的C2码字存储于所述存储器的第三部分;
从所述存储器的所述第三部分读取所述已校正的C2码字,将码字数据码符中的一部分延迟两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分;
用于从所述存储器的所述第三部分输出当前帧已校正的数据码符的装置,或包括:
单一的RS解码器;
存储器,在所述存储器的第一部分中存储了包含纠错位的已编码数据码符的当前帧;
控制器,控制将数据码符的所述当前帧写入所述存储器的第二部分,并由此将该数据码符的一部分延迟一个数据码符周期,这些数据码符就表示了一个C1码字,所述控制器的进一步控制下:
从所述存储器中读取所述C1码字,在RS解码器中对所述C1码字执行包括第一次初步纠错的初步C1解码,并将已初步校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已初步校正的C1码字,对所述已初步校正的C1码字执行解交织,并在所述RS解码器中执行包括第二次初步纠错或初步疑符校正的初步C2解码,并将得到的已初步校正的C2码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已初步校正的C2码字,在所述RS解码器中对所述已初步校正的C2码字连同纠错位中所需要的必要部分执行包括第一次纠错的进一步C1解码,并将已进一步校正的C1码字写入所述存储器的所述第二部分;
从所述存储器中读取所述已进一步校正的C1码字,对所述已进一步校正的C1码字执行解交织,并在RS解码器中执行包括第二次纠错或疑符校正的进一步C2解码;
将得到的已进一步校正的C2码字存储于所述存储器的所述第三部分;
从所述存储器的所述第三部分中读取所述已校正的C2码字,将码字数据码符的一部分延迟两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分;
用于从所述存储器的所述第三部分输出当前帧的已校正的数据码符的装置。
各自独立的权利要求中公开了本发明设备其它具体的优势。
附图说明
本发明的实施例描述参考了这里给出的附图:
图1传统CIRC码解码器的功能框图;
图2一种本发明CIRC码解码器的方框图,该解码器用于单路和双路操作;
图3CIRC码的解码流程图,用于单路和双路操作;
图4M1存储器中单码符延迟数据流,M1存储器是图2中RAM的一部分;
图5用于计算M1存储器中地址的值的电路;
图6M2存储器,c2_1和c2_2解码器的起始位置以及来自M2存储器不同存储体C2码字的组合结构,M2存储器是图2中RAM的一部分;
图7用于计算M2存储器中地址的值的电路;
图8在CIRC码的解码中的两码符延迟操作过程中,M3存储器中的数据流;
图9传统的和本发明CIRC码的解码校正结果。
具体实施方式
图2所示为本发明的CIRC码解码器的主要组成部分,其中D表示数据线或数据总线,A表示地址线或地址总线。这种体系结构可以执行双路和单路操作。
来自获取级的数据流acq_d存储于能够存储32个码符的输入逻辑inp_log。该输入逻辑还接收下一帧的起始信号nxf和字节时钟bc。如果输入逻辑的缓存中已有足够多的有效数据,则将完整的一帧存储于RAM存储器的M1部分。解码器设备包括传统的RS解码器RSDEC,其采用上述的疑符校正方法来处理RS码。RSDEC最多能够校正4个疑符或2个错误,或是满足下述条件的错误与疑符的组合,2*t+E<d,其中,t为一个码字中错误的数量,E为疑符的数量,d为RS码的汉明(Hamming)距离,例如在音频光盘应用中,d=5。
控制器CONTR控制存储器RAM中位置的推断和寻址、RAM中数据或数据字节的读写传送、单码符和双码符延迟操作、解交织操作以及读写操作。举例说,存储器RAM包括224个存储体,附带疑符标志,每一个存储体包括32个字节。存储器包括3个部分:
M1部分(例如存储体218-220)用于单码符延迟操作;
M2部分(例如存储体0-217)用于解交织操作;
M3部分(例如存储体221-223)用于双码符延迟操作;
RSDEC分别从存储器RAM的对应部分接收需要的数据和向其中发送需要的数据。在上述的双码符延迟操作之后,将每24个数据字节连同它们附带的疑符标志一起从存储器RAM的M3部分载入到输出逻辑out_log,输出已纠错的数据aud_D,还可能输出一帧的起始信息fr_strt和字节时钟bc。
如图3所示,在流程图的模块31,CIRC解码器首先进行控制器CONTR的初始化,为双路或单路操作设置存储器RAM以及复位计数器。M2存储器的存储体0-217用于CIRC解码器的双路操作,而存储体108-217用于CIRC解码器的单路操作。在双路模式中,执行两路C1解码和两路C2解码,而单路模式执行一路C1解码和一路C2解码。在双路操作中,c1_1解码(_1表示第一路)的起始位置在存储体108,c2_1解码的起始位置在存储体0,c1_2解码(_2表示第二路)的起始位置在存储体217,c2_2解码的起始位置在存储体109。在单路操作中,c1_1解码和c2_1解码的起始位置分别在存储体108和存储体0。
如果输入逻辑的缓存中已有足够的有效数据,将一帧数据存储于M1存储器的存储体218,并如步骤32及流程图模块33所示,执行单码符延迟操作。
如上所述,从输入逻辑inp_log中将一帧的32个码符载入如图4所示的M1存储器中对应的存储体(图4a和4c中存储体地址为bk_add_m1218,图4b为存储体219,图4c为存储体220)。箭头“wrt”以循环方式指向存储体地址218至220中当前写入数据的一个。
图5所示为M1存储器部分地址bk_add_m1和M2存储器基址的计算过程。当前M1存储体的写地址由下式计算得到:
bk_add_m1_w=ofst_m1+count_m1_w,
这里count_m1_w的值基于写地址计数器count_m1_w,它确定了用于写操作的M1存储器的存储体的地址,而ofst_m1是一个值为“218”的固定偏移量。如果count_m1_w>2,则计数器count_m1_w复位为零。
计数器count_b有三个输出(其中一个未在图5中标出),分别输出一个存储体中的码符地址SYMADRBK和用于M1存储器的奇或偶码符ev/od。该计数器一般以字节时钟信号bc作为时钟。
M1存储器的M1存储体读地址取决于偶或奇码符ev/od的值是“0”或“1”,并根据下式计算:
bk_add_m1_r_0=ofst_m1+count_m1_r              偶
bk_add_m1_r_1=ofst_m1+(count_m1_r+2)mod 3     奇
这里count_m1_r的值基于读地址计数器count_m1_r。如果count_m1_r>2,计数器count_m1_r复位为零。如果ev/od的值为“1”,也就是奇数,则给初始的计数器count_m1_r值加上2,并将结果通过模3电路“mod 3”处理,再与ofst_m1相加。
将M1存储器中的一个码符载入暂时寄存器TR。对照图1中C1DEC的输入,除计数器count_b输出的SYMADRBK值为12,13,14,15,28,29,30或31的情况之外,该码符的一个字节反相。经三态数据总线DBS,将相应适合的count_b值写到M2存储器的存储体。被延迟的码符存储于M2存储器对应的存储体中,例如“108”是在M2存储器中的起始位置。
根据下式计算M2存储体的写地址bk_add_m2_w:
bk_add_m2_w=(ofst_c1_1+count_m2_w)mod 218/109,
这里的ofst_c1_1是一个偏移量,它的值由存储器中M2的起始区域确定并根据下文所述而改变,count_m2_w是计数器count_m2_w的输出值,这里和下文中的“mod 218/109”表示双路操作的情况下取“mod 218”,而在单路操作的情况下取“mod 109”,这是对应的模电路的功能。如果count_m2_w>mod(218/109-1),计数器count_m2_w复位为零。
在不同的时间周期里,经地址总线ADRBS输出不同的地址值bk_add_m1,bk_add_m2_w和SYMADRBK。地址值bk_add_m1和SYMADRBK表示了一个普通地址值的两个部分。
计数器count_m1_w、count_m1_r和count_m2_w的时钟信号是下一帧信号nxf。计数器count_b的时钟信号是时钟bc,其计数值从0到31。在3个nxf信号之后,M1存储器中的数据流重复一遍,也就是对于M1部分来说,图4a和图4d是等同的。
一个单码符延迟操作之后,执行C1解码器的第一路操作(参照图3中的模块34)。将一个C1码字从M2存储器中读到RS解码器的校正子(syndrome)发生器。执行C1码字的解码和校正并将已校正的码字存储于M2存储器。
在读写操作的过程中,C1存储体的地址按照下式计算:
bk_add_c1_fp=(ofst_c1_1+count_rsd)mod 218/109
其中ofst_c1_1的值为固定的108,处理计数器count_rsd(未在图5标出)的输出值确定了CIRC解码器所作处理的个数。
CIRC解码器的双路操作包括以下步骤,其中每执行一个步骤,处理计数器加1:
a)c1_1解码,校正;
b)为c2_1解码器解交织;
c)c2_1解码,校正;
d)c1_2解码,校正;
e)为c2_2解码器解交织;
f)c2_2解码,校正;
需要将输入的CIRC编码数据的每一个数据码符处理两次。
CIRC解码器的单路操作包括以下步骤:
a)c1_1解码,校正;
b)为c2_1解码器解交织;
c)c2_1解码,校正;
M2存储器的大小为218*32*9。M2有两个半区。图6a所示为存储器M2中c1_1、c1_2、c2_1和c2_2解码器的起始位置和来自M2存储器中不同存储体C2码字的组合结构。垂直位置表示存储器的存储体地址bk_add,其值从0到217,水平位置表示码符地址sym_add,其值从0到31。从28到31的码符地址被分配给了C1码字的奇偶(校验)部分PARP。上述处理步骤中,存储体地址偏移量ofst_c1_1、ofst_c1_2、ofst_c2_1和ofst_c2_2的值分别为108、217、0和109,分别表示了存储器中新的一帧的起始位置。
将新数据从M1存储器载入到M2存储器的存储体108至217(第一部分)并由c1_1、c2_1解码器进行处理。如果109存储体已经被c1_1解码器使用,则从存储体0继续操作。c1_2和c2_2解码器处理M2存储器中第二部分的旧数据。作为备选,可以将起始位置108和217同0和109进行交换,也就是可以在存储器的另一半开始四个处理序列。
在第一路,每一个连续的解码器周期中,从C1解码器将已校正的C1字写到相同的存储体地址。将下一个来自M1存储器的C1字写到M2存储器的下一个连续的较高存储体地址。例如:
a)从M1存储器将C1码字写到M2存储器的存储体地址#108;
b)从M2存储器的存储体地址#108读取这个C1码字,并将其载入C1解码器;
c)从C1解码器将已校正的C1码字写到M2存储器的存储体地址#108;
d)从M1存储器将C1码字写到M2存储器的存储体地址#109;
e)从M2存储器的存储体地址#109读取这个C1码字,并将其载入C1解码器;
f)从C1解码器将已校正的C1码字写到M2存储器的存储体地址#109,依此类推。
在第二路,每一个连续的解码器周期中,从下一个连续的较高存储体地址读取C1解码器的输入。将已校正的C1码字载入那个相同的存储器的存储体地址。
C2码字的码符沿着M2存储器空间的对角线存储。在连续的解码周期里,会改变代表C2码字的数据码符。在存储器的存储体地址0、数据码符地址0写C2码字的初始数据码符。
第一路处理之后,将已校正的C2码字载入同一个位置(存储器的存储地址,数据码符地址)。第二路处理之后,将已校正的C2码字载入M3存储器。
图7详细地说明了M2存储器部分地址值的计算。有利之处在于,计数器count_b可以用作不同的计数目的,并确定了当前存储体中的一个码符地址。图2中来自控制器CONTR的计数模式信号con_mod确定了RS解码器的当前一路和计数器count_b对应的计数模式:
a)count_mode=00 C1解码器,第一路;
b)count_mode=01 C2解码器,第一路;
c)count_mode=10 C1解码器,第二路;
d)count_mode=11 C2解码器,第二路。
在C1处理的过程中,count_b的值从0到32,而在C2处理的过程中,count_b的值从0到28。在这些时间周期中,计数器count_b的时钟不是字节时钟信号bc,而是码符地址的递增+1sym_add。
当cnt_mod=00,有四个输入的多路复用器mux4在输入1选择存储体地址bk_add_c1_fp(fp意为第一路)。将一个已解交织的C1码字转换为C2码字,并执行C2解码器的第一路(图3中的模块35)。将C2码字写入RS解码器的校正子发生器。完成C2码字的解码和校正并将已校正的C2码字存储于M2存储器。
图6b所示为来自M2存储器中不同存储体C2码字的组合结构。第一行所示为存储体地址编号,而第二行为存储器的存储体中对应的码符地址。在读/写的操作过程中,所需的28个存储体的地址由下式计算得到:bk_add_c2_fp=(ofst_c2_1+count_rsd+4*count_b)mod 218/109,
这里的count_b确定了当前存储体地址中的码符地址。
当cnt_mod=01,多路复用器mux4在输入2选择存储体地址bk_add_c2_fp。由CIRC解码器双路操作模式开关的开或合(c2_1解码器,图3中的模块37)确定执行C1解码器或C2解码器的第二路。从M2存储器读取C1码字并将其载入RS解码器的校正子发生器。完成C1码字的解码和校正并将已校正的码字存储于M2存储器。在读/写的操作过程中,存储体的地址由下式计算得到:
bk_add_c1_fp=(ofst_c1_2+count_rsd)mod 218/109。
当cnt_mod=10,多路复用器mux4在输入3选择存储体地址bk_add_c1_sp(sp意为第二路)。将一个已解交织的C1码字转换为C2码字,并执行C2解码器的第二路(c2_1解码器,图3中的模块38)。将C2码字写入RS解码器的校正子发生器。完成C2码字的解码和校正并将已校正的C2码字存储于M2存储器。在读/写的操作过程中,所需的28个存储体的地址由下式计算得到:bk_add_c2_sp=(ofst_c2_2+count_rsd+4*count_b)mod 218/109
当cnt_mod=11,多路复用器mux4在输入4选择存储体地址bk_add_c2_sp。根据CIRC解码器单路或双路,将C2码字也存储于M3存储器(对应的存储体)。下面符合“C”语法的规则给出了M2和M3存储器中读/写地址的寻址。
If(single pass){

  for(count_b=0;count_b<28 ;++count_b){

  bk_add_c2_fp=(ofst_c2_1+count_rsd+4 times
accumulated count_b)mod 109;

  M3[ofst_m3][count_b]=M2[bk+add_c2_fp][count_b];
   }
}else if(double pass){
        <!-- SIPO <DP n="14"> -->
        <dp n="d14"/>
  for(count_b=0;count_b<28;++count_b)  {

  bk_add_c2_sp=(ofst_c2_2+count_rsd+4 times

  accumulated count_b)mod 218 ;

  M3[ofst m3][count_b]=M2[bk+add_c2_sp][count_b];

  }
为了节省乘法器,当前count_b值的增加量是4的倍数,而不是直接用count_b乘以4。
计数器count_rsd的时钟是下一次处理信号+1proc。在单路操作中,如果count_rsd>mod 108,则计数器复位,而在双路操作中,如果count_rsd>mod 217,计数器复位。
计数器count_b的第一输出在存储体中发出码符地址SYMADRBK。SYMADRBK连同mux4的输出一起经地址总线ADRBS被传送出去。该计数器的另一个输出信号bk_add_m2表示M2中存储体的地址,它在一个加法器中与该加法器的延迟输出信号相加,其中通过将加法器的输出信号存储于暂时寄存器TR1而达到输出信号延迟的目的。加法器的输出信号经一个AND(与)门提供给第二个加法器,这个加法器的第二个输入信号是count_rsd的输出信号。如果count_rsd的值为“01”或“11”,则AND门的第二个输入逻辑值为“1”,否则输入逻辑值为“0”。
第二个加法器的输出信号经过mod 218/109级分别被提供给四个加法器的输入端。这四个加法器中的第一个在其第二输入端接收偏移量ofst_c1_1=108,并将输出信号送到mux4的输入1。这四个加法器中的第二、第三和第四个分别在各自的第二输入端接收偏移量ofst_c2_1=0,ofst_c1_2=217 ofst_c2_2=109,并分别将输出信号送到mux4的输入2、3或4。
如果执行的是CIRC解码器双路操作,在C2解码器的第二路操作完成之后执行双码符延迟操作(图3中的模块39)。如果执行的是CIRC解码器单路操作,在C2解码器的第一路操作完成之后执行双码符延迟操作(图3中的模块39)。
图8给出了CIRC解码器在双码符延迟操作过程中M3存储器部分的数据流,其中M3存储器包括三个存储体:bk_221、bk_222和bk_223。在C2解码和校正之后,将数据m2mem从M2存储器载入存储体bk_221。双码符延迟操作包括两个步骤:
a)读取已延迟的数据并将其发送到输出逻辑out_log;
b)重写M3存储器。
下面的第一个表用于在第一个步骤的过程中生成地址。
count_b     0     1     2     3     4     5     6     7     8     9     10     11
bank     221     221     221     221     223     223     223     223     221     221     221     221
sym add     0     1     6     7     4     5     6     7     2     3     8     9
count_b     12     13     14     15     16     17     18     19     20     21     22     23
bank     223     223     223     223     221     221     221     221     223     223     223     223
svm add     12     13     14     15     4     5     10     11     20     21     22     23
在这个表中:
a)“count_b”计数器的的计数值;
b)“bank”  RAM中“bk”的存储体地址;
c)“sym_add”存储体中的码符地址。
下面的第二个表用于在第二个步骤的过程中生成读/写地址。“bank_r”是RAM中用于读的“bk”存储体地址,同样,“bank_w”是RAM中用于写的“bk”存储体地址。
count_b   0   1   2   3   4   5   6   7     8   9   10   11
bank_r   222   222   222   222   221   221   221   221   222   222   222   222
sym_add   4   5   6   7   16   17   22   23     12   13   14   15
bank_w   223   223   223   223   222   222   222   222   223   223   223   223
sym_add   4   5   6   7   4   5    6   7   12   13   14   15
count_b     12     13     14     15     16     17     18     19     20     21     22     23
bank_r     221     221     221     221     222     222     222     222     221     221     221     221
sym_add     18     19     24     25     20     21     22     23     20     21     26     27
bank_w     222     222     222     222     223     223     223     223     222     222     222     222
sym_add     12     13     14     15     20     21     22     23     20     21     22     23
将输出数据OPLOG从“bk_223”提供给输出逻辑“out_log”。在图3流程图的步骤39之后,更新控制器CONTR的计数器,接着CIRC解码器为处理来自输入逻辑的下一帧做好准备。
图9所示为传统的CIRC解码器和本发明的双路CIRC解码器中,已标志字节率FLGBR相对输入错误率IPERRR的比较结果。传统的CIRC解码器CCIRCDEC的校正结果如实线所示,本发明的CIRC解码器NCIRCDEC的校正结果如虚线所示。每一条曲线对应着4个不同输入错误率的测量结果。下面是用于校正的输入错误组合:
a)20个C1码字“cdw”中的突发错误“brst”,每一个C1码字有3个错误。
在这里及下文所述的错误形式中,“每一个C1码字有的错误”指随机错误。
b)20个C1码字中的突发错误,每一个C1码字有4个错误。
c)20个C1码字中的突发错误,每一个C1码字有5个错误。
d)20个C1码字中的突发错误,每一个C1码字有6个错误。
e)30个C1码字中的突发错误,每一个C1码字有3个错误。
f)30个C1码字中的突发错误,每一个C1码字有4个错误。
g)30个C1码字中的突发错误,每一个C1码字有5个错误。
h)30个C1码字中的突发错误,每一个C1码字有6个错误。
i)40个C1码字中的突发错误,每一个C1码字有3个错误。
j)40个C1码字中的突发错误,每一个C1码字有4个错误。
k)40个C1码字中的突发错误,每一个C1码字有5个错误。
l)40个C1码字中的突发错误,每一个C1码字有6个错误。
本发明的CIRC解码器和传统的CIRC解码器可以校正14个完全被破坏的C1码字中的突发错误。很明显,与传统的CIRC解码器相比,本发明的CIRC解码器可以校正20个C1码字中的突发错误,其中每一个C1码字有3个或4个错误。在每一个码字有5个和6个错误的情况下,解码器不能校正突发错误,但是音频数据的已标志字节率FLGBR仍然明显低于传统的CIRC解码器。
在“30个C1码字”突发错误的情况下,也可以得到较好的性能。本发明的CIRC解码器可以校正30个C1码字中的突发错误,其中每一个码字有3个错误,而且随着每个码字中的错误数增加,已标志字节率FLGBR也比较低。
本发明也可应用于其它的数字存储介质,如视频CD(VCD)和CD-ROM,也可用于与CIRC码类似码的解码。

Claims (10)

1.一种解码(inp_log,RSDEC,out_log,CONTR,RAM)纠错码如CIRC码的方法,其特征在于包括步骤:
将包含了纠错位的已编码数据码符的当前帧存储于存储器(RAM)的第一部分(M1);
将数据码符的所述当前帧写入(33)所述存储器的第二部分(M2),并由此将该数据码符的一部分延迟(1SYMDEL)一个数据码符周期,这些数据码符就表示了一个C1码字;
从所述存储器中读取(34)所述的C1码字,对所述C1码字执行包括第一次纠错的C1解码(C1DEC),并将已校正的C1码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(35)所述已校正的C1码字,对所述已校正的C1码字执行解交织(UNEQDEL)和包括第二次纠错或疑符校正的C2解码(C2DEC);
将得到的已校正的C2码字存储于所述存储器的第三部分(M3);
从所述存储器的所述第三部分(M3)读取(39)所述已校正的C2码字,将码字数据码符的一部分延迟(2SYMDEL)两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分(M3);
从所述存储器的所述第三部分(M3)输出(out_log)当前帧的已校正的数据码符。
2.一种解码(inp_log,RSDEC,out_log,CONTR,RAM)纠错码如CIRC码方法,其特征在于包括步骤:
将包含了纠错位的已编码数据码符的当前帧存储于存储器(RAM)的第一部分(M1);
将数据码符的所述当前帧写入(33)所述存储器的第二部分(M2),并由此将该数据码符的一部分延迟(1SYMDEL)一个数据码符周期,这些数据码符就表示了一个C1码字;
从所述存储器中读取(34)所述C1码字,对所述C1码字执行包括第一次初步纠错的初步C1解码(C1DEC),并将已初步校正的C1码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(35)所述已初步校正的C1码字,对所述已初步校正的C 1码字执行解交织(UNEQDEL)和包括第二次初步纠错或初步疑符校正的初步C2解码(C2DEC),并将得到的已初步校正的C2码字写入所述存储器的所述第二部分(M2);
从所述存储器读取(37)所述已初步校正的C2码字,对所述已初步校正的C2码字连同纠错位中所需要的部分执行包括第一次纠错的进一步C1解码(C1DEC),并将已进一步校正的C1码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(38)所述已进一步校正的C1码字,对所述已进一步校正的C1码字执行解交织(UNEQDEL)和包括第二次纠错或疑符校正的进一步C2解码(C2DEC);
将得到的已进一步校正的C2码字存储于所述存储器的所述第三部分(M3);
从所述存储器的所述第三部分(M3)中读取(39)所述已校正的C2码字,将码字数据码符的一部分延迟(2SYMDEL)两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分(M3);
从所述存储器的所述第三部分(M3)输出(out_log)当前帧的已校正的数据码符。
3.根据权利要求1或2所述的方法,其特征在于:
所述存储器(RAM)的所述第一部分(M1)由第一数目例如3个存储体(bk)组成,在所述存储体中,用循环方式写入连续每一帧的数据码符。
4.根据权利要求1到3之一所述的方法,其特征在于:
所述存储器(RAM)的所述第二部分(M2)由第二数目的存储体(bk)组成,存储体的数目是所述纠错码块存储体数目的二倍,并且所述存储器的所述第二部分(M2)用于所述的解交织。
5.根据权利要求1到4之一所述的方法,其特征在于:
所述存储器(RAM)的所述第三部分(M3)由第三数目例如3个存储体(bk)组成。
6.一种用于解码(inp_log,RSDEC,out_log,CONTR,RAM)纠错码如CIRC码的设备,其特征在于包括:
RS解码器(RSDEC);
存储器(RAM),在所述存储器的第一部分(M1)存储了包含纠错位的已编码数据码符的当前帧;
控制器(CONTR),控制将数据码符的所述当前帧写入(33)所述存储器的第二部分(M2),并由此将该数据码符的一部分延迟(1SYMDEL)一个数据码符周期,这些数据码符就表示了一个C1码字,在该控制器(CONTR)的进一步控制下:
从所述存储器中读取(34)所述C1码字,在所述RS编码器中对C1码字执行包括第一次纠错的C1解码(C1DEC),并将已校正的C1码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(35)所述已校正的C1码字,对所述已校正的C1码字执行解交织(UNEQDEL)并在RS解码器中执行包括第二次纠错或疑符校正的C2解码(C2DEC);
将得到的已校正的C2码字存储于所述存储器的所述第三部分(M3);
从所述存储器的所述第三部分(M3)读取(39)所述已校正的C2码字,将码字数据码符中的一部分延迟(2SYMDEL)两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分(M3);
用于从所述存储器的所述第三部分(M3)输出当前帧的已校正的数据码符的装置(out_log)。
7.一种用于解码(inp_log,RSDEC,out_log,CONTR,RAM)纠错码如CIRC码的设备,其特征在于包括:
单一的RS解码器(RSDEC);
存储器(RAM),在所述存储器的第一部分(M1)存储了包含纠错位的已编码数据码符的当前帧;
控制器(CONTR),控制将数据码符的所述当前帧写入(33)所述存储器的第二部分(M2),并由此将该数据码符的一部分延迟(1SYMDEL)一个数据码符周期,这些数据码符就表示了一个C1码字,在该控制器(CONTR)的进一步控制下:
从所述存储器中读取(34)所述C1码字,在所述RS解码器中对所述C1码字执行包括第一次初步纠错的初步C1解码(C1DEC),并将已初步校正的C1码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(35)所述已初步校正的C1码字,对所述已初步校正的C1码字执行解交织(UNEQDEL)并在RS解码器中执行包括第二次初步纠错或初步疑符校正的初步C2解码(C2DEC),并将得到的已初步校正的C2码字写入所述存储器的所述第二部分(M2);
从所述存储器中读取(37)所述已初步校正的C2码字,在所述RS解码器中对所述已初步校正的C2码字连同纠错位中所需要的一部分执行包括第一次纠错的进一步C1解码(C1DEC),并将已进一步校正的C1码字写入所述存储器的第二部分(M2);
从所述存储器中读取(38)所述已进一步校正的C1码字,对所述已进一步校正的C1码字执行解交织(UNEQDEL)并在所述RS解码器中执行包括第二次纠错或疑符校正的进一步C2解码(C2DEC);
将得到的已进一步校正的C2码存储于所述存储器的所述第三部分(M3);
从所述存储器的所述第三部分(M3)中读取(39)所述已校正的C2码字,将码字数据码符的一部分延迟(2SYMDEL)两个数据码符周期,并将得到的已校正的数据码符写入所述存储器的所述第三部分(M3);
用于从所述存储器的所述第三部分(M3)输出(out_log)当前帧的已校正的数据码符的装置。
8.根据权利要求6或7所述的设备,其特征在于:
所述存储器(RAM)的所述第一部分(M1)由第一数目例如3个存储体(bk)组成,在所述存储体中,用循环方式写入连续每一帧的数据码符。
9.根据权利要求6到8之一所述的设备,其特征在于:
所述存储器(RAM)的所述第二部分(M2)由第二数目的存储体(bk)组成,存储体的数目是纠错码块存储体数目的二倍,所述存储器的所述第二部分(M2)用于所述解交织。
10.根据权利要求6到9之一所述的设备,其特征在于:
所述存储器(RAM)的所述第三部分(M3)由第三数目例如3个存储体(bk)组成。
CNB028048423A 2001-02-16 2002-02-04 用于解码纠错码的方法和设备 Expired - Fee Related CN1316751C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01103804A EP1233523A1 (en) 2001-02-16 2001-02-16 Method and apparatus for decoding error correction code
EP01103804.9 2001-02-16

Publications (2)

Publication Number Publication Date
CN1491486A true CN1491486A (zh) 2004-04-21
CN1316751C CN1316751C (zh) 2007-05-16

Family

ID=8176515

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028048423A Expired - Fee Related CN1316751C (zh) 2001-02-16 2002-02-04 用于解码纠错码的方法和设备

Country Status (8)

Country Link
US (1) US7139961B2 (zh)
EP (2) EP1233523A1 (zh)
JP (1) JP3891568B2 (zh)
KR (1) KR20030070135A (zh)
CN (1) CN1316751C (zh)
MY (1) MY130133A (zh)
TW (1) TWI266487B (zh)
WO (1) WO2002069505A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034555A (zh) * 2011-01-19 2011-04-27 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
CN102541675A (zh) * 2010-12-23 2012-07-04 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
CN101427474B (zh) * 2006-04-13 2013-09-25 熵通信有限公司 一种疑符辅助块码解码器及其相关方法
CN107710163A (zh) * 2015-05-04 2018-02-16 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3960061B2 (ja) * 2002-01-31 2007-08-15 ソニー株式会社 データ記録媒体、データ記録方法および装置、データ再生方法および装置、データ送信方法およびデータ受信方法
TWI254283B (en) * 2003-06-03 2006-05-01 Sunplus Technology Co Ltd Error correction device of block code and method thereof
EP1830471A1 (en) * 2006-02-10 2007-09-05 Deutsche Thomson-Brandt Gmbh Apparatus and method for decoding data
US8077520B1 (en) * 2008-09-05 2011-12-13 Marvell International Ltd. Determining threshold voltage distribution in flash memory
KR101037578B1 (ko) * 2010-03-16 2011-05-27 주식회사 한빛구조엔지니어링 경간보강재를 이용한 띠장부재 및 이를 이용한 흙막이지지공법
US8924815B2 (en) * 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8910012B2 (en) * 2012-10-16 2014-12-09 International Business Machines Corporation Block-interleaved and error correction code (ECC)-encoded sub data set (SDS) format
JP2015222467A (ja) * 2014-05-22 2015-12-10 ルネサスエレクトロニクス株式会社 マイクロコントローラ及びそれを用いた電子制御装置
KR20180059151A (ko) * 2016-11-25 2018-06-04 에스케이하이닉스 주식회사 에러 정정 회로 및 이를 포함하는 메모리 컨트롤러

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
US4845714A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Multiple pass error correction process and apparatus for product codes
KR950009386B1 (ko) * 1993-04-21 1995-08-21 삼성전자주식회사 어드레스 생성회로
WO1995024037A1 (fr) * 1994-03-01 1995-09-08 Sony Corporation Procede et appareil de codage de signaux numeriques, support d'enregistrement de signaux numeriques et procede et appareil de decodage de signaux numeriques
JP3305966B2 (ja) * 1995-12-25 2002-07-24 ソニー株式会社 データ復号装置及びその方法並びにデータ再生装置
JP2002501655A (ja) * 1998-03-18 2002-01-15 エスティーマイクロエレクトロニクス エス.アール.エル. Dvd又はcdサポートから読取ったデータのリード−ソロモンデコーディング
US6701151B2 (en) * 2001-03-27 2004-03-02 Ericsson Inc. Short access for realizing a signaling radio bearer in geran

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101427474B (zh) * 2006-04-13 2013-09-25 熵通信有限公司 一种疑符辅助块码解码器及其相关方法
CN102541675A (zh) * 2010-12-23 2012-07-04 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
CN102541675B (zh) * 2010-12-23 2015-03-11 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
CN102034555A (zh) * 2011-01-19 2011-04-27 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
CN102034555B (zh) * 2011-01-19 2012-09-19 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
CN107710163A (zh) * 2015-05-04 2018-02-16 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理
CN107710163B (zh) * 2015-05-04 2021-06-18 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理的电路、系统和方法

Also Published As

Publication number Publication date
EP1233523A1 (en) 2002-08-21
MY130133A (en) 2007-06-29
JP2004519174A (ja) 2004-06-24
KR20030070135A (ko) 2003-08-27
JP3891568B2 (ja) 2007-03-14
WO2002069505A1 (en) 2002-09-06
EP1362426A1 (en) 2003-11-19
US20040088635A1 (en) 2004-05-06
CN1316751C (zh) 2007-05-16
US7139961B2 (en) 2006-11-21
TWI266487B (en) 2006-11-11

Similar Documents

Publication Publication Date Title
CN1055586C (zh) 纠错译码器和纠错译码方法
CN1171391C (zh) 交错方法、交错装置、涡轮编码方法以及涡轮编码装置
CN1491486A (zh) 用于解码纠错码的方法和设备
CN1256812C (zh) 透平编码器和信道编码方法
CN1134782C (zh) 纠错方法和系统
CN1113295C (zh) 错误校正编码方法及其设备
CN1100391C (zh) 具有防差错的可变长度编码
CN1783963A (zh) E8-vsb接收系统、产生数据属性及信道编码的设备及方法
CN1324811C (zh) 通信系统中的交织器和交织方法
CN1836446A (zh) 用于数字双流广播接收/发送系统的可靠纠错编码/解码设备和方法
CN101047388A (zh) 纠错装置
CN1019704B (zh) 数字式数据录放装置
CN101040535A (zh) 转换成中间格式的两步算术解码
CN1692557A (zh) 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序
CN1306698A (zh) 移动通信系统中用于串行链接卷积码编码器中的交错装置和方法
CN1685621A (zh) 用于解交织通信设备中的交织数据流的方法和装置
CN1208906C (zh) 纠错编码方法、解码方法及其装置
CN1675842A (zh) 算术编码的方法和设备
CN1832003A (zh) 使用短块编码器调制数据的技术
CN1457553A (zh) 在通信系统中生成代码的设备和方法
CN1286275C (zh) 纠错装置
CN1275255C (zh) 在记录介质上形成数据的方法
CN1482744A (zh) 交叉交织理德-所罗门码的校正
CN1582555A (zh) 片段式解交织
CN1957533A (zh) 维特比译码装置以及维特比译码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070516

Termination date: 20170204