运行长度有限码的编码解码方法及相关装置的制作方法

文档序号:425023阅读:144来源:国知局

专利名称::运行长度有限码的编码解码方法及相关装置的制作方法
技术领域
:本发明公开一种编码装置及解码装置,特别是指一种用于高密度记录系统或高密度数据传输系统中的编码装置及解码装置。
背景技术
:当数据通过传输线进行传输,或是将数据记录在如磁盘、光盘、或磁光盘(magneto-opticdisc)等不同种类的记录媒体上时,首先要做的一件工作,通常是将数据编码成适用于该种传输线或是存储媒体的代码(code)。Kahlman等人在美国第4,477,222号及第6,496,541号的专利中即提出了一种不同于区块编码(blockencoding)的技术,称为“运行长度有限”(runlengthlimited,以下简称RLL)的编码技术,而被广泛地使用。在RLL(d,k;m,n;r)中,每i个m位的原始字(sourceword)会被组合成一个大小为m*i位的单位。每一个单位则会被转换成代码总长度(totalcodelength)为n*i位的一个字码(codeword)。因为RLL为可变长度码(variablelengthcode),故i可以是一个介于1与r之间的正整数。由于不同位间的转换(transition)至少会花掉一段不为零的时间,为了于接收端防止两个依次收到的”1”位之间,有的”0”位被误认为”1”位,在RLL中使用了一个参数d,用来表示两个连续的”1”位之间的”0”位的最少数目,亦即,参数d代表了”0”位的”最小运行数」(minimumrunofzeros)。另外,为了防止误认出太多连续的”0”位(误认出太多的”0”位时,解码器即必须进行时序恢复(timingrecovery)的工作),RLL中则使用了参数k,用来表示两个连续的”1”位之间的”0”位的最多数目,亦即,参数k代表了”0”位的”最大运行数」(maximumrunofzeros)。大多数的传输线以及存储媒体皆不适用于处理”0”位与”1”位的绝对值,而相对地比较适用于处理位间的转换(也就是从”0”位变成”1”位的转换或是从”1”位变成”0”位的转换)。不归零反转(nonreturntozeroinverted,NRZI)就是用来适应此种限制的方式,在可变长度码中遇到”1”位时都以位反转(bitinversion)表示,至于在遇到”0”位时则以不反转(non-inversion)表示。以不归零反转调制出的可变长度码则可以称为一记录波串(recordingwavetrain)。以下将以Tmin和Tmax分别来表示一记录波串中位的最短和最长的反转时段(invertionperiod)。为了要以高记录密度(recordingdensity)来记录上述的记录波串,通常较佳的情形是有一个较大的最短反转时段Tmin(此时代表较大的最小运行数d)。而若以时钟恢复(clockrecovery)的观点来看,则希望可以有较短的最长反转时段Tmax(此时则代表较小的最大运行数k)。为了要满足上述的一些限制,有越来越多种不同的编码技术陆续地被开发提出。请参阅图1,图1为公知技术可变长度码RLL(1,7)的一转换表的示意图。可变长度码RLL(1,7)是一个常见于光盘、磁盘、或是磁光盘中的编码技术,通常亦可以表示成RLL(1,7;2,3;2)。请注意在图1中,当下一个连续的通道位是”0”位时,小写的x即用来表示”1”位;当下一个连续的通道位是”1”位时,小写的x则用来表示”0”位。最短反转时段Tmin可以表示成(d+1)T,其中T是记录波串中一个位间隙(bitgap)的大小,在图1中Tmin则等于2T。在接收端,在较短的时段内有较多的位边缘(bitedge)是一个有利于产生用于同步工作的时钟信号的情形。然而,如此一来记录密度也会因而增加,此时最小运行数d反而会对整体的效能有不良的影响。举例来说,若连续地产生了一些最短反转时段2T,在记录波串中太过相邻的波形非常容易受到一些干扰因素(例如噪声)的影响而产生失真(distortion)的情形。另外,在读取存储于高密度记录系统中所存储的数据时,最主要的错误状况是将2T的时距误解成1T的时距,一个这样错误会使得接收到字码中一区块内的前缘的位置产生改变,而导致在整个连续最小运行数d个”0”位的整个重复过程中产生一连串的位错误。在美国第6,496,541号的专利中,Kahlman等人讨论到了一种RLL(1,7)的编码器/解码器,将最小转换次数限定在6,亦可以表示成RMTR=6(RMTR为RepeatedMinimumTransitionRun-length的缩写,即重复最小转换运行长度)。RMTR的限制限定了”0”位最小运行数d的最大值只能是6。图2显示了公知技术中一具有RLL(1,7)、RMTR=6限制的系统中一有限状态转换(finitestatetransition)的示意图。所有符合规范的位转换皆显示于图中。至于不符合规范的位转换,假设目前的状态位于A点(A点表示的前紧邻接收到的位为“...10101010101010”,这也是到达A点的唯一方法),只有当接收到一”0”位时,A点才有可能会前进到B点;A点之后若又接收到一”1”位,则表示此时的前紧邻接收到的位为“...101010101010101”,此时便违反了RMTR=6的限制条件。相似地,由于”0”位的最大运行数定义为k=7,C点只有一个单一的通道可以通往D点(在接收到”1”位的情形下)若在C点接收到了额外的”0”位,便表示连续地收到了8个”0”位,而违反了k=7的限制。虽然一具有RMTR限制的系统(例如图2的例子)会减少因为在连续出现的最小运行数中将2T时距误判为1T时距而造成产生连续的位错误,但是通常会发生的位错误都是无法修正的(uncorrectable)。举例来说,若是在A点真的接收到了”1”位,此时虽然系统可以检测出已产生了位错误,但是正确的位流究竟为何,依旧是不得而知。公知技术的RLL(1,7)编码器/解码器还有一个缺点,就是最大运行数k有可能会被误判为一同步信号(SYNCsignal)。一般而言,数据系统中通常会使用连续性长运行长度的模式作为同步模式(SYNCpattern)。举例来说,一典型的同步模式可能定义为连续的9T时距。在以RLL(1,7)为基础的系统中,最大反转时距为8T。因此若有时序上的错误(或是其他错误)产生,则接收器有可能会将一8T时距误判为一9T时距。若是连续发生上述的错误情形,则很可能就会对一同步模式进行了错误的接收操作。
发明内容因此本发明的一个目的,在于提供一种编码器及解码器,在编解码的过程中,对于字码中每一个起始位位置的字码特性进行限制,使得系统可以于将2T时距误判为1T时距时进行错误的更正,并且防止对同步模式进行错误的接收操作。根据本发明所提出的一实施例,公开了一种装置,用来将一二进制原始信号中的一数据位流编码成为一二进制通道信号中的一数据位流,其中,该二进制原始信号中的位流由多个m位原始字所组成。该装置包含有一转换模块,用来将多个原始字转换成多个字码,其中该多个字码具有可变的代码长度,基本的代码长度为n位,代码总长度则为n*i位;其中i为一正整数。另外,该转换模块限制了该多个字码中每一个起始位位置的字码特性。根据本发明所提出的另一实施例,公开了一种装置,用来将一二进制通道信号中的一数据位流解码成为一二进制原始信号中的一数据位流,其中,该二进制原始信号中的位流由多个m位原始字所组成。该装置包含有一转换模块,用来将多个字码转换成多个m位原始字,其中该多个字码具有可变的代码长度,基本的代码长度为n位,代码总长度为n*i位;其中i为一正整数。另外,该转换模块限制了该多个字码中每一个起始位位置的字码特性。图1为公知技术RLL(1,7;2,3;2)的一转换表的示意图。图2为公知技术一具有RLL(1,7)、RMTR=6限制的系统的一有限状态转换的示意图。图3为依据本发明每个字码内各字元的字元位置的示意图。图4为本发明一编码器的实施例功能方块图。图5为本发明一解码器的实施例功能方块图。图6为本发明用于图3的编码器及图4的解码器中的时变转换表的第一图7为本发明用于图3的编码器及图4的解码器中的时变转换表的第二图8为本发明用于图3的编码器及图4的解码器中的主转换表的实施例示意图。主要元件符号说明40编码器42输入数据移位寄存器44编码电路46输出字码移位寄存器48主转换表49时变转换表50解码器52输入字码移位寄存器54解码电路56输出数据移位寄存器具体实施方式请参阅图3,图3为一通道信号(channelsignal)的位流的例子30(可分成A、B、C三个字码)。根据本发明,每一个字码皆分成一个以上的位位置(bitposition),分别标式为P1P2P3...Pn。其中P1为第一位位置、P2为第二位位置、Pn则为第n位位置(亦为最后一个位的位置)。藉由对每一个开始位位置所对应到的字码特性进行限制,可以达到错误更正(errorcorrection)的效果,且对同步模式的检测会变得更为准确。由于位位置代表了位时间(bittime),限制了字码的特性亦会关连产生一个时变(time-variable)参数。以下的例子显示了在一以RLL(1,7)为基础的字码中,时变的重复最小转换运行RMTR可以如何用来执行错误更正的工作。123123123123123123<--字码所在的位位置101010011001010100<--接收代码22313223<--转换时间在上述接收代码(receivedcode)中,包含有一个1T的转换,在RLL(1,7)系统中是不合法的。假设此种不合法的情形是由于一时序错误(timingerror)造成一单一的位转换在错误的时间点上被接收,则有两种可能的方法可用来对接收代码进行错误更正。第一种错误更正的方法是,在接收代码中将1T转换的前缘(leading-edge)往前移一个位的位置,此时即可产生可能的接收代码#1。123123123123123123<--字码所在的位位置101010101001010100<--可能的接收代码#122223223<--转换时间第二种错误更正的方法是,在接收代码中将1T转换之后缘(trailing-edge)往后移一个位的位置,此时即可产生可能的接收代码#2。123123123123123123<--字码所在的位位置101010010101010100<--可能的接收代码#222322223<--转换时间在一个受RMTR=4限制的系统之中,上述两种可能的接收代码#1和#2都可能是正确的字码。但若将第一位位置、第二位位置、第三位位置的重复最小转换运行RMTR分别限制为3、4、3,表示为RMTRVAR=(3,4,3),则只有代码#2会是符合限制的代码。先来看代码#1,因为从位位置1开始,连续产生了四个最小转换运行2T,故并不符合上述限制。再来看代码#2,因为从位位置2开始,连续产生了四个最小转换运行2T,故确实符合上述限制。而使用了最大运行数k来对时变的因素进行限制,又能更进一步的处理防止接收到错误同步模式的情形产生。举例来说,若将第一位位置、第二位位置、第三位位置的最大运行数k分别限制为6、7、6,表示为kVAR=(6,7,6)则只有在开始位置是第二位位置时,才有可能产生连续7个”0”位的运行(亦即8T的时距)。而由于一典型的同步模式定义为连续的9T时距,故连续产生的时序错误可能造成一8T时距被误判成一同步模式。在kVAR=(6,7,6)限制的系统中,如此的错误仅有可能会在由第二位位置开始的处发生(因为编码器在第一和第三位位置仅会传送最多6的”0”位)。相较于仅使用单纯k值作为限制的系统,在使用上述kVAR作为限制的系统中,字码内的数据模式与同步模式间的区别会变的更加的明显。图4为本发明编码器的一实施例示意图。在本实施中,编码器40包含有一输入数据移位寄存器(incomingdatashift-register)42,耦合于一编码电路44,至于编码电路44则耦合于一输出字码移位寄存器(outgoingcodewordshift-register)46。另外,编码电路44则包含有一主转换表(mainconversiontable)48以及一时变转换表(time-variableconversiontable)49。编码器40可将2位原始字转换成3位字码,最大代码长度(maximumcodelength)为r=5。一二进制原始信号中的序列数据位会依序移位进入输入数据移位寄存器42。于图4中,D1D2代表第一2位原始字,D3D4代表第二2位原始字,依此类推,D9D10代表第五2位原始字。编码电路44用来对时变转换表49以及最后送出的字码C-2C-1C0进行检查,以判断是否有将5个原始字转换成5个字码的一取代规则(substitutionrule)存在。若取代规则存在,编码电路44会将相对应的五个字码载入输出字码移位寄存器(C1至C15)中。5个字码移位输出之后,5个新的原始字就又会移位进入输入数据移位寄存器42内。若是没有以上述前5个字码为整体的取代规则存在,编码电路44则会在主转换表48中检查出用来将前4个原始字转换成4个字码的一取代规则(该取代规则依据最后送出的字码C-2C-1C0所决定)。若有这样的规则存在,编码电路44会将相对应的4个字码载入到输出字码移位寄存器46内的前4个字码位置中(C1至C12)。4个字码(C1toC12)移位输出之后,4个新的原始字就又会移位进入输入数据移位寄存器42内。相似地,若是没有上述以前4个字码为整体的取代规则存在,编码电路44会在主转换表48中检查,是否有用来转换前3个原始字(D1toD6)的一取代规则存在。然后,若是没有上述以前3个字码为整体的取代规则存在,编码电路44会在主转换表48中检查,是否有用来转换前2个原始字(D1toD4)的一取代规则存在。若是到最后都没有发现适当的取代规则存在,则编码电路会使用主转换表48将第一原始字D1D2转换成第一字码C1C2C3。在上述的过程中,发现了适用于前y个原始字的取代规则后,编码电路44会将相对应的y个字码载入到输出字码移位寄存器46内的前y个字码位置中。y个字码移位输出之后,y个新的原始字就又会移位进入输入数据移位寄存器42内。图5为本发明解码器的一实施例示意图。在本实施中,解码器50包含有一输入字码移位寄存器52,耦合于一解码电路54,至于解码电路54则耦合于一输出数据移位寄存器56。另外,类似于图4,解码电路54中亦包含有一主转换表48以及一时变转换表49。解码器50可执行与前述编码器40相反的工作。解码器50用来将3位字码转换成2位数据字(dataword),最大代码长度为r=5。一二进制字码信号中的序列字码位会依序移位进入输入字码移位寄存器52。于图5中,C1C2C3代表第一3位字码,C4C5C6代表第二3位字码,依此类推,C13C14C15代表第五3位字码。由于解码电路54还需要检查下一个输入的字码(即第六3位字码),故C16C17C18亦显示于输入字码移位寄存器52中。解码电路54用来对时变转换表49以及下一个输入的字码C16C17C18进行检查,以判断是否存在有将5个字码(C1toC15)转换成5个原始字(D1toD10)的一取代规则。若取代规则存在且下一个输入字码C16C17C18不等于(010),解码电路54会将相对应的五个数据字载入输出数据移位寄存器56中。5个数据字(D1toD10)移位输出之后,5个新的字码就又会移位进入输入字码移位寄存器52内。若取代规则存在但是下一个输入字码C16C17C18等于(010),解码电路54会对主转换表48进行检查,以将第一字码C1C2C3转换成第一数据字D1D2。在解码电路54将相对应的数据字D1D2载入输出数据移位寄存器56之内后,数据字(D1D2)即被移位输出,1个新的字码则移位进入输入字码移位寄存器52内。若没有适用于整体5个字码的取代规则存在,解码电路54会对主转换表48进行检查,看看是否有可以依据下一字码C13C14C15来将前4个字码(C1至C12)转换成4个数据字的取代规则存在。若是有如此的取代规则存在且下一个输入的字码C13C14C15不等于(010),解码电路54会将相对应于前4个字码的4个数据字载入输出数据移位寄存器56内。4个数据字(D1toD8)移位输出之后,4个新的字码就又会移位进入输入字码移位寄存器52。若是上述的取代规则存在,但下一个输入的字码C13C14C15等于(010),解码电路54即对主转换表48进行检查,以将第一字码C1C2C3转换成第一数据字D1D2。此时解码电路54会将相对应的一个数据字载入输出数据移位寄存器56内。当1个数据字(D1D2)移位输出之后,1个新的字码又会移位进入输入字码移位寄存器52。相似地,若没有适用于整体前4个字码(C1toC12)的取代规则存在,解码电路54会对主转换表48进行检查,看看是否有将前3个字码(C1至C9)转换成3个数据字的取代规则存在。若没有上述的取代规则存在,解码电路54会再对主转换表48进行检查,看看是否有将前2个字码(C1至C6)转换成2个数据字的取代规则存在。若是到最后都没有适用的取代规则存在,则解码电路54会使用主转换表48将第一字码C1C2C3转换成第一数据字D1D2。在上述的过程中,发现了适用于前y个字码的取代规则后,y个数据字会从输出数据移位寄存器56内移位出,y个字码则会移位进入输入字码移位寄存器52内。图6为依据本发明实施例的第一时变转换表60的示意图。在本实施例中,RLL可变长度码具有以下的参数d=1,m=2,n=3,andr=5。原始字的同位性(parity)被保留于字码内,且对字码内每一个起始位位置的RLL特性皆有两个限制存在。更明确地说,第一个限制就是第一位位置、第二位位置、第三位位置的重复最小转换运行RMTR分别被限制为3、4、3,亦可表示为RMTRVAR=(3,4,3)。第二个限制则是第一位位置、第二位位置、第三位位置的”0”位最大运行数k分别被限制为6、7、7,亦可表示为kVAR=(6,7,7)。第一时变转换表60可以分成以下的两个部分62用于RMTRVAR=(3,4,3)、kVAR=(6,7,7)的取代规则。这部分所提供的取代规则是用来保证可以符合时变的RMTRVAR限制以及时变的kVAR限制。64用于RMTR=4的取代规则。这部分所提供的取代规则是用来将重复最小转换运行RMTR限制为4。当用于图4所示的编码器40中时,编码电路44会于第一时变转换表内找寻符合5个原始字(D1至D10)以及前一字码C-2C-1C0的取代规则。寻找的过程则会由转换表内由上往下,搜寻不同的部分。考虑前一字码C-2C-1C0,若是一些原始字(D1至D10)的组合没有明确指出前一字码C-2C-1C0的值为何,则这种情形被视为不理会(don’tcare),任何前一字码C-2C-1C0的值都可以被接受。另外,在图6中,大写的X是表示单一位具有不理会值,“非000”则表示前一字码C-2C-1C0的值不是“000”。当使用于图5所示的解码器50中时,解码电路54首先会在第一时变转换表60内搜寻用来转换5个字码(C1toC15)的取代规则;若没有找到适用的取代规则,解码电路54则会检查主转换表以找出更短的取代规则(即小于5个字码的取代规则)。若是有适用的取代规则存在,解码电路54会检查下一字码C16C17C18的值是否为“010”。若有适用的取代规则存在且C16C17C18=“010”,第一时变转换表60并不会被使用,解码电路54会使用主转换表直接将第一字码C1C2C3转换成数据位D1D2。若有适用的取代规则存在且C16C17C18的值不等于“010”,解码电路54就会搜寻第一时变转换表60以找出适用于5个字码的取代规则(C1至C15)。图7为依据本发明实施例的第二时变转换表70的示意图。在本实施例中,RLL可变长度码具有以下的参数d=1,m=2,n=3,andr=5。原始字的同位性(parity)被保留于字码内,而时变的参数为RMTRVAR=(4,5,4)、kVAR=(6,7,6)。第二时变转换表70仅具有一个部分72用于RMTRVAR=(4,5,4),kVAR=(6,7,6)的取代规则。这部分的取代规则用来确保可以符合时变RMTR的限制以及时变k的限制。根据所选择的实施例,第一时变转换表或是第二时变转换表可以使用于依据本发明的编码器40及解码器50中。至于第二时变转换表的使用方式则于图6所示的第一时变转换表的使用方式相同。图8为依据本发明的一主转换表80的示意图。若是编码电路44或解码电路54无法于时变转换表48中找出适用的取代规则,或是在使用解码器的情形下,下一字码的值为“010”时,系统就必须使用主转换表80。在这个例子中,主转换表80可以分成以下六个不同部分82用于RMTR=5的取代规则。这部分用来提供将重复最小转换运行RMTR限制为5的取代规则。84用于RMTR=6的取代规则。这部分用来提供将重复最小转换运行RMTR限制为6的取代规则。86用于k=7的取代规则。这部分用来提供将最大运行数k限制为7的取代规则。88用于k=8的取代规则。这部分用来提供将最大运行数k限制为8的取代规则。90用于d=1的取代规则。这部分用来提供将最小运行数d限制为1的取代规则。92基本的取代规则。这部分用来提供将2位原始字转换成3位字码的取代规则(反之亦然)。并且于转换时将原始字的同位性(parity)保留于字码当中。当使用于图4所示的编码器40中时,编码电路44会于主转换表内搜寻符合m个原始字(D1toD2m)以及前一字码C-2C-1C0的取代规则。而搜寻的过程则是从转换表由上往下、经过各个不同的部分进行搜寻。有一些原始字的值(D1至D2m)并没有对应到特定的前一字码C-2C-1C0,此时可视为前一字码C-2C-1C0具有不理会(Don’tcare)值,任何的值都是可以接受的。另外,在图8中大写的X表示一单一位具有不理会值,“非000”则表示前一字码C-2C-1C0的值不等于“000”。相似于第一、第二时变转换表,对主转换表的搜寻过程是从转换表由上往下、经过各个不同的部分进行搜寻。至于如图5所示的解码器50,解码电路54首先会检查下一字码的值是否等于“010”(在82这个部分内下一字码由C16C17C18组成,在84和86这两个部分内下一字码则由C13C14C15组成)。若下一字码=“010”,则解码器会使用基本的取代规则92,以直接将第一字码C1C2C3转换成数据位D1D2。若下一字码的值不等于“010”,则解码电路54会在主转换表80中寻找合适的取代规则。在88、90、92这三个部分中,解码的工作与下一字码无关,此时解码电路54会直接于主转换表80找到合适的取代规则。请注意,上述的转换表针对编码器及解码器仅于转换表内搜寻单一个部分,以提供一有效的RLL代码的情形所设计。举例来说,若编码器和解码器并不使用时变转换表,而改为从主转换表内的84开始往下搜寻,则在用于RMTR=6的取代规则中,所得出的RLL代码将会是RLL(1,7;2,3;5),且RMTR=6。若编码器和解码器从主转换表内的86开始往下搜寻,则在用于k=7的取代规则中,所得出的RLL代码将会是RLL(1,7;2,3;5)...等等。与公知技术相比较,本发明的编码器及解码器限制字码中每一个起始字元位置的字码特性,故系统可以对由将2T时距误判为1T时距所造成的的错误进行更正,且对同步模式错误判断的情形亦可以更容易地检测出来。在编码器产生字码的过程中,原始字的同位性依旧会被保留,相似于美国第4,477,222号的专利,这样的特性可以用来进行直流抑制(DC-suppressing)的工作,以产生无直流成分(DC-free)的信号。以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。权利要求1.一种装置,用来将一二进制原始信号中的一数据位流编码成为一二进制通道信号中的一数据位流,在编码的过程中,m位的原始字被转换成n位的字码,该装置包含有一转换模块,用来将多个原始字转换成多个字码,其中该多个原始字具有可变的字长,基本的字长为m位,总字长为m*i位;而该多个字码的代码总长度则为n*i位;其中i为一正整数;其中,该转换模块限制了该多个字码中每一个起始位位置的字码特性。2.如权利要求1所述的装置,其中该转换模块将该多个m位原始字的同位性保留于该多个字码之中。3.如权利要求1所述的装置,其中该转换模块限制了该多个字码中每一个起始位位置的重复位模式的一最大数目。4.如权利要求1所述的装置,其中该转换模块限制了该多个字码中每一个起始位位置的”0”位最小运行数d连续出现的一最大次数。5.如权利要求1所述的装置,其中该转换模块限制了该多个字码中每一个起始位位置的”0”位最大运行数k。6.如权利要求1所述的装置,其中该多个字码为可变长度码(d,kVAR;m,n;r;RMTRVAR),其中r为i的一最大值,且r至少为2,d为一”0”位最小运行数,kVAR为该多个字码中每一个起始位位置所对应的一”0”位最大运行数,RMTRVAR为该多个字码中每一个起始位位置所对应的”0”位最小运行数连续出现的一最大次数。7.如权利要求6所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(3,4,3);kVAR=(6,7,7);m=2;n=3;以及r=5。8.如权利要求6所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(4,5,4);kVARr=(6,7,6);m=2;n=3;以及r=5。9.如权利要求1所述的装置,其中该转换模块以参考该多个m位原始字中直接位于后方的一字串的方式,决定出该多个字码。10.如权利要求1所述的装置,其中该转换模块以参考直接位于前方的一字码的方式,决定出该多个字码。11.一种装置,用来将一二进制通道信号中的一数据位流解码成为一二进制原始信号中的一数据位流,在解码的过程中,n位的通道字码被转换成m位的原始字,该装置包含有一转换模块,用来将多个字码转换成多个原始字,其中该多个字码具有可变的代码长度,基本的代码长度为n位,代码总长度为n*i位;而该多个原始字的总字长则为m*i位;其中i为一正整数;其中,在该多个字码所组成的位流中,对应于每一个起始位位置皆具有一字码特性存在。12.如权利要求11所述的装置,其中该转换模块将该多个字码的同位性保留于该多个m位原始字之中。13.如权利要求11所述的装置,其中该多个字码中限制了对每一个起始位位置的重复位模式的一最大数目。14.如权利要求11所述的装置,其中该多个字码中限制了对每一个起始位位置的”0”位最小运行数d连续出现的一最大次数。15.如权利要求11所述的装置,其中该多个字码中限制了每一个起始位位置的一”0”位最大运行数k。16.如权利要求11所述的装置,其中该多个字码为可变长度码(d,kVAR;m,n;r;RMTRVAR),其中r为i的一最大值,且r至少为2,d为一”0”位最小运行数,kVAR为该多个字码中每一个起始位位置所对应的一”0”位最大运行数,RMTRVAR为该多个字码中每一个起始位位置所对应的”0”位最小运行数连续出现的一最大次数。17.如权利要求16所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(3,4,3);kVAR=(6,7,7);m=2;n=3;以及r=5。18.如权利要求16所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(4,5,4);kVARr=(6,7,6);m=2;n=3;以及r=5。19.如权利要求11所述的装置,其中该转换模块以参考该多个字码中直接位于后方的一字串的方式,决定出该多个m位原始字。20.一种方法,用来将一二进制原始信号中的一数据位流编码成为一二进制通道信号中的一数据位流,在编码的过程中,m位的原始字被转换成n位的字码,该方法包含有将多个原始字转换成多个字码,其中该多个原始字具有可变的字长,基本的字长为m位,总字长为m*i位;而该多个字码的代码总长度则为n*i位;其中i为一正整数;以及限制该多个字码中每一个起始位位置的字码特性。21.如权利要求20所述的方法,其还包含有将该多个m位原始字的同位性保留于该多个字码之中。22.如权利要求20所述的方法,其中,限制字码特性的步骤中还包含有限制该多个字码中每一个起始位位置的重复位模式的一最大数目。23.如权利要求20所述的方法,其中,限制字码特性的步骤中还包含有限制该多个字码中每一个起始位位置的”0”位最小运行数d连续出现的一最大次数。24.如权利要求20所述的方法,其中,限制字码特性的步骤中还包含有限制该多个字码中每一个起始位位置的一”0”位最大运行数k。25.如权利要求20所述的方法,其中该多个字码为可变长度码(d,kVAR;m,n;r;RMTRVAR),其中r为i的一最大值,且r至少为2,d为一”0”位最小运行数,kVAR为该多个字码中每一个起始位位置所对应的一”0”位最大运行数,RMTRVAR为该多个字码中每一个起始位位置所对应的”0”位最小运行数连续出现的一最大次数。26.如权利要求25所述的方法,其中该可变长度码包含有d=1;RMTRVAR=(3,4,3);kVAR=(6,7,7);m=2;n=3;以及r=5。27.如权利要求25所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(4,5,4);kVARr=(6,7,6);m=2;n=3;以及r=5。28.如权利要求20所述的方法,其还包含有以参考该多个m位原始字中直接位于后方的一字串的方式,决定出该多个字码。29.如权利要求20所述的方法,其还包含有以参考直接位于前方的一字码的方式,决定出该多个字码。30.一种方法,用来将一二进制通道信号中的一数据位流解码成为一二进制原始信号中的一数据位流,在解码的过程中,n位的通道字码被转换成m位的原始字,该方法包含有将多个字码转换成多个原始字,其中该多个字码具有可变的代码长度,基本的代码长度为n位,代码总长度为n*i位;而该多个原始字的总字长则为m*i位;其中i为一正整数;以及限制该多个通道字码中每一个起始位位置的字码特性。31.如权利要求30所述的方法,其还包含有将该多个字码的同位性保留于该多个m位原始字之中。32.如权利要求30所述的方法,其中,该多个字码中每一个起始位位置的重复位模式受一最大数目所限制。33.如权利要求30所述的方法,其中,该多个字码中每一个起始位位置的”0”位最小运行数d连续出现的次数受一最大数目所限制。34.如权利要求30所述的方法,其中,该多个字码中每一个起始位位置受”0”位最大运行数k所限制。35.如权利要求30所述的方法,其中该多个字码为可变长度码(d,kVAR;m,n;r;RMTRVAR),其中r为i的一最大值,且r至少为2,d为一”0”位最小运行数,kVAR为该多个字码中每一个起始位位置所对应的一”0”位最大运行数,RMTRVAR为该多个字码中每一个起始位位置所对应的”0”位最小运行数连续出现的一最大次数。36.如权利要求35所述的方法,其中该可变长度码包含有d=1;RMTRVAR=(3,4,3);kVAR=(6,7,7);m=2;n=3;以及r=5。37.如权利要求35所述的装置,其中该可变长度码包含有d=1;RMTRVAR=(4,5,4);kVARr=(6,7,6);m=2;n=3;以及r=5。38.如权利要求30所述的方法,其还包含有以参考由该多个字码中直接位于后方的一字串的方式,决定出该多个m位原始字。全文摘要本发明公开一种编码器及解码器,用来将一二进制原始信号中的一数据位流编码成为一二进制通道信号中的一数据位流,或是进行反向的解码工作。在本发明中,使用了一转换表,用来将多个m位原始字转换成多个字码,该多个字码具有可变的代码长度、基本的代码长度为n位、代码总长度则为n*i位,其中i为一正整数。该转换表在转换的过程中,将该多个m位原始字中的同位性保留于该多个字码中,并对该多个字码中每一个起始位位置所对应到的字码特性进行限制。文档编号H03M7/46GK1627646SQ200410092360公开日2005年6月15日申请日期2004年11月9日优先权日2003年12月12日发明者刘碧海申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1