CN100479332C - 运行长度有限码的编码解码方法及相关装置 - Google Patents
运行长度有限码的编码解码方法及相关装置 Download PDFInfo
- Publication number
- CN100479332C CN100479332C CNB2004100923605A CN200410092360A CN100479332C CN 100479332 C CN100479332 C CN 100479332C CN B2004100923605 A CNB2004100923605 A CN B2004100923605A CN 200410092360 A CN200410092360 A CN 200410092360A CN 100479332 C CN100479332 C CN 100479332C
- Authority
- CN
- China
- Prior art keywords
- character codes
- var
- code
- character
- length
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开一种编码器及解码器,用来将一二进制原始信号中的一数据位流编码成为一二进制通道信号中的一数据位流,或是进行反向的解码工作。在本发明中,使用了一转换表,用来将多个m位原始字转换成多个字码,该多个字码具有可变的代码长度、基本的代码长度为n位、代码总长度则为n*i位,其中i为一正整数。该转换表在转换的过程中,将该多个m位原始字中的同位性保留于该多个字码中,并对该多个字码中每一个起始位位置所对应到的字码特性进行限制。
Description
技术领域
本发明公开一种编码装置及解码装置,特别是指一种用于高密度记录系统或高密度数据传输系统中的编码装置及解码装置。
背景技术
当数据通过传输线进行传输,或是将数据记录在如磁盘、光盘、或磁光盘(magneto-optic disc)等不同种类的记录媒体上时,首先要做的一件工作,通常是将数据编码成适用于该种传输线或是存储媒体的代码(code)。Kahlman等人在美国第4,477,222号及第6,496,541号的专利中即提出了一种不同于区块编码(block encoding)的技术,称为“运行长度有限”(runlength limited,以下简称RLL)的编码技术,而被广泛地使用。在RLL(d,k;m,n;r)中,每i个m位的原始字(source word)会被组合成一个大小为m*i位的单位。每一个单位则会被转换成代码总长度(total code length)为n*i位的一个字码(code word)。因为RLL为可变长度码(variable lengthcode),故i可以是一个介于1与r之间的正整数。
由于不同位间的转换(transition)至少会花掉一段不为零的时间,为了于接收端防止两个依次收到的”1”位之间,有的”0”位被误认为”1”位,在RLL中使用了一个参数d,用来表示两个连续的”1”位之间的”0”位的最少数目,亦即,参数d代表了”0”位的”最小运行数」(minimum run of zeros)。另外,为了防止误认出太多连续的”0”位(误认出太多的”0”位时,解码器即必须进行时序恢复(timing recovery)的工作),RLL中则使用了参数k,用来表示两个连续的”1”位之间的”0”位的最多数目,亦即,参数k代表了”0”位的”最大运行数」(maximum run of zeros)。
大多数的传输线以及存储媒体皆不适用于处理”0”位与”1”位的绝对值,而相对地比较适用于处理位间的转换(也就是从”0”位变成”1”位的转换或是从”1”位变成”0”位的转换)。不归零反转(non return to zero inverted,NRZI)就是用来适应此种限制的方式,在可变长度码中遇到”1”位时都以位反转(bit inversion)表示,至于在遇到”0”位时则以不反转(non-inversion)表示。以不归零反转调制出的可变长度码则可以称为一记录波串(recordingwave train)。
以下将以Tmin和Tmax分别来表示一记录波串中位的最短和最长的反转时段(invertion period)。为了要以高记录密度(recording density)来记录上述的记录波串,通常较佳的情形是有一个较大的最短反转时段Tmin(此时代表较大的最小运行数d)。而若以时钟恢复(clock recovery)的观点来看,则希望可以有较短的最长反转时段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是记录波串中一个位间隙(bit gap)的大小,在图1中Tmin则等于2T。在接收端,在较短的时段内有较多的位边缘(bit edge)是一个有利于产生用于同步工作的时钟信号的情形。然而,如此一来记录密度也会因而增加,此时最小运行数d反而会对整体的效能有不良的影响。举例来说,若连续地产生了一些最短反转时段2T,在记录波串中太过相邻的波形非常容易受到一些干扰因素(例如噪声)的影响而产生失真(distortion)的情形。另外,在读取存储于高密度记录系统中所存储的数据时,最主要的错误状况是将2T的时距误解成1T的时距,一个这样错误会使得接收到字码中一区块内的前缘的位置产生改变,而导致在整个连续最小运行数d个”0”位的整个重复过程中产生一连串的位错误。
在美国第6,496,541号的专利中,Kahlman等人讨论到了一种RLL(1,7)的编码器/解码器,将最小转换次数限定在6,亦可以表示成RMTR=6(RMTR为Repeated Minimum Transition Run-length的缩写,即重复最小转换运行长度)。RMTR的限制限定了”0”位最小运行数d的最大值只能是6。
图2显示了公知技术中一具有RLL(1,7)、RMTR=6限制的系统中一有限状态转换(finite state transition)的示意图。所有符合规范的位转换皆显示于图中。至于不符合规范的位转换,假设目前的状态位于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有可能会被误判为一同步信号(SYNC signal)。一般而言,数据系统中通常会使用连续性长运行长度的模式作为同步模式(SYNC pattern)。举例来说,一典型的同步模式可能定义为连续的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为一通道信号(channel signal)的位流的例子30(可分成A、B、C三个字码)。根据本发明,每一个字码皆分成一个以上的位位置(bit position),分别标式为P1P2P3...Pn。其中P1为第一位位置、P2为第二位位置、Pn则为第n位位置(亦为最后一个位的位置)。藉由对每一个开始位位置所对应到的字码特性进行限制,可以达到错误更正(error correction)的效果,且对同步模式的检测会变得更为准确。由于位位置代表了位时间(bittime),限制了字码的特性亦会关连产生一个时变(time-variable)参数。
以下的例子显示了在一以RLL(1,7)为基础的字码中,时变的重复最小转换运行RMTR可以如何用来执行错误更正的工作。
123 123 123 123 123 123<--字码所在的位位置
101 010 011 001 010 100<--接收代码
2 2 3 13 2 2 3<--转换时间
在上述接收代码(received code)中,包含有一个1T的转换,在RLL(1,7)系统中是不合法的。假设此种不合法的情形是由于一时序错误(timingerror)造成一单一的位转换在错误的时间点上被接收,则有两种可能的方法可用来对接收代码进行错误更正。
第一种错误更正的方法是,在接收代码中将1T转换的前缘(leading-edge)往前移一个位的位置,此时即可产生可能的接收代码#1。
123 123 123 123 123 123<--字码所在的位位置
101 010 101 001 010 100<--可能的接收代码#1
2 2 2 2 3 2 2 3<--转换时间
第二种错误更正的方法是,在接收代码中将1T转换之后缘(trailing-edge)往后移一个位的位置,此时即可产生可能的接收代码#2。
123 123 123 123 123 123<--字码所在的位位置
101 010 010 101 010 100<--可能的接收代码#2
2 2 3 22 2 2 3<--转换时间
在一个受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包含有一输入数据移位寄存器(incoming data shift-register)42,耦合于一编码电路44,至于编码电路44则耦合于一输出字码移位寄存器(outgoingcodeword shift-register)46。另外,编码电路44则包含有一主转换表(mainconversion table)48以及一时变转换表(time-variable conversion table)49。
编码器40可将2位原始字转换成3位字码,最大代码长度(maximum codelength)为r=5。一二进制原始信号中的序列数据位会依序移位进入输入数据移位寄存器42。于图4中,D1D2代表第一2位原始字,D3D4代表第二2位原始字,依此类推,D9D10代表第五2位原始字。编码电路44用来对时变转换表49以及最后送出的字码C-2C-1C0进行检查,以判断是否有将5个原始字转换成5个字码的一取代规则(substitution rule)存在。若取代规则存在,编码电路44会将相对应的五个字码载入输出字码移位寄存器(C1至C15)中。5个字码移位输出之后,5个新的原始字就又会移位进入输入数据移位寄存器42内。
若是没有以上述前5个字码为整体的取代规则存在,编码电路44则会在主转换表48中检查出用来将前4个原始字转换成4个字码的一取代规则(该取代规则依据最后送出的字码C-2C-1C0所决定)。若有这样的规则存在,编码电路44会将相对应的4个字码载入到输出字码移位寄存器46内的前4个字码位置中(C1至C12)。4个字码(C1 to C12)移位输出之后,4个新的原始字就又会移位进入输入数据移位寄存器42内。
相似地,若是没有上述以前4个字码为整体的取代规则存在,编码电路44会在主转换表48中检查,是否有用来转换前3个原始字(D1 to D6)的一取代规则存在。然后,若是没有上述以前3个字码为整体的取代规则存在,编码电路44会在主转换表48中检查,是否有用来转换前2个原始字(D1 toD4)的一取代规则存在。若是到最后都没有发现适当的取代规则存在,则编码电路会使用主转换表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位数据字(data word),最大代码长度为r=5。一二进制字码信号中的序列字码位会依序移位进入输入字码移位寄存器52。于图5中,C1C2C3代表第一3位字码,C4C5C6代表第二3位字码,依此类推,C13C14C15代表第五3位字码。由于解码电路54还需要检查下一个输入的字码(即第六3位字码),故C16C17C18亦显示于输入字码移位寄存器52中。解码电路54用来对时变转换表49以及下一个输入的字码C16C17C18进行检查,以判断是否存在有将5个字码(C1 to C15)转换成5个原始字(D1 to D10)的一取代规则。若取代规则存在且下一个输入字码C16C17C18不等于(010),解码电路54会将相对应的五个数据字载入输出数据移位寄存器56中。5个数据字(D1 to D10)移位输出之后,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个数据字(D1 to D8)移位输出之后,4个新的字码就又会移位进入输入字码移位寄存器52。若是上述的取代规则存在,但下一个输入的字码C13C14C15等于(010),解码电路54即对主转换表48进行检查,以将第一字码C1C2C3转换成第一数据字D1D2。此时解码电路54会将相对应的一个数据字载入输出数据移位寄存器56内。当1个数据字(D1D2)移位输出之后,1个新的字码又会移位进入输入字码移位寄存器52。
相似地,若没有适用于整体前4个字码(C1 to C12)的取代规则存在,解码电路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,and r=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’t care),任何前一字码C-2C-1C0的值都可以被接受。另外,在图6中,大写的X是表示单一位具有不理会值,“非000”则表示前一字码C-2C-1C0的值不是“000”。
当使用于图5所示的解码器50中时,解码电路54首先会在第一时变转换表60内搜寻用来转换5个字码(C1 to C15)的取代规则;若没有找到适用的取代规则,解码电路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,and r=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个原始字(D1 to D2m)以及前一字码C-2C-1C0的取代规则。而搜寻的过程则是从转换表由上往下、经过各个不同的部分进行搜寻。有一些原始字的值(D1至D2m)并没有对应到特定的前一字码C-2C-1C0,此时可视为前一字码C-2C-1C0具有不理会(Don’t care)值,任何的值都是可以接受的。另外,在图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)的信号。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。
Claims (38)
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位原始字。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/707,419 US7330137B2 (en) | 2003-12-12 | 2003-12-12 | Method and apparatus for RLL code encoding and decoding |
US10/707,419 | 2003-12-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1627646A CN1627646A (zh) | 2005-06-15 |
CN100479332C true CN100479332C (zh) | 2009-04-15 |
Family
ID=34652613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100923605A Expired - Fee Related CN100479332C (zh) | 2003-12-12 | 2004-11-09 | 运行长度有限码的编码解码方法及相关装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7330137B2 (zh) |
CN (1) | CN100479332C (zh) |
TW (1) | TWI251983B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4118536B2 (ja) * | 2001-07-03 | 2008-07-16 | 株式会社東芝 | クロック遅延設定方法 |
TWI225730B (en) * | 2003-12-31 | 2004-12-21 | Ind Tech Res Inst | Type-dependent coding method with type control |
WO2009075936A1 (en) * | 2007-12-07 | 2009-06-18 | Rambus Inc. | Encoding and decoding techniques for bandwidth-efficient communication |
TWI384377B (zh) | 2008-12-04 | 2013-02-01 | Ind Tech Res Inst | 資料編碼及解碼方法 |
JP6623843B2 (ja) * | 2016-03-01 | 2019-12-25 | 富士ゼロックス株式会社 | データ処理装置およびプログラム |
KR102417980B1 (ko) * | 2017-11-07 | 2022-07-07 | 에스케이하이닉스 주식회사 | 범용 비동기 송수신 부 및 이를 포함하는 메모리 컨트롤러 및 메모리 시스템 |
US10608664B2 (en) | 2018-05-09 | 2020-03-31 | Samsung Electronics Co., Ltd. | Electronic apparatus for compression and decompression of data and compression method thereof |
CN111384969B (zh) * | 2018-12-28 | 2023-06-02 | 上海寒武纪信息科技有限公司 | 编码方法、处理器、编码装置及存储介质 |
CN111238547B (zh) * | 2020-01-19 | 2022-02-08 | 东方电气自动控制工程有限公司 | 一种位置式编码器过零翻转时转速计算的算法 |
US11967973B2 (en) | 2021-05-06 | 2024-04-23 | Samsung Display Co., Ltd. | Low overhead transition encoding codes |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3210996B2 (ja) * | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
JP3985173B2 (ja) | 1998-05-29 | 2007-10-03 | ソニー株式会社 | 変調装置および方法、復調装置および方法、並びにデータ格納媒体 |
JP4109404B2 (ja) * | 2000-04-26 | 2008-07-02 | 松下電器産業株式会社 | 符号化装置および符号化方法 |
KR100424482B1 (ko) | 2000-06-22 | 2004-03-24 | 엘지전자 주식회사 | 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치 |
US6765511B2 (en) * | 2002-06-27 | 2004-07-20 | Victor Company Of Japan, Ltd. | Method and apparatus for encoding digital data |
-
2003
- 2003-12-12 US US10/707,419 patent/US7330137B2/en not_active Expired - Fee Related
-
2004
- 2004-10-07 TW TW093130410A patent/TWI251983B/zh not_active IP Right Cessation
- 2004-11-09 CN CNB2004100923605A patent/CN100479332C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050129133A1 (en) | 2005-06-16 |
TW200529572A (en) | 2005-09-01 |
US7330137B2 (en) | 2008-02-12 |
TWI251983B (en) | 2006-03-21 |
CN1627646A (zh) | 2005-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1213062A (en) | Direction-constrained ternary codes using peak and polarity detection | |
KR100675029B1 (ko) | 변조장치 및 방법, 복조장치 및 방법, 및 제공매체 | |
JPH11346154A (ja) | 変調装置および方法、復調装置および方法、並びに提供媒体 | |
GB1578635A (en) | Dc free encoding for data transmission system | |
EP0344903A2 (en) | Traversed (d, k) code translation | |
CN100479332C (zh) | 运行长度有限码的编码解码方法及相关装置 | |
US5646966A (en) | Method and apparatus for detecting synchronizing signals by latching successived count values that represent time between received sync pulses for comparison to a predetermined sync pattern of count values | |
JPH0519332B2 (zh) | ||
EP0094293B1 (en) | An arrangement for encoding and decoding information signals | |
US7256718B2 (en) | Modulation apparatus and method | |
US7142134B2 (en) | Techniques for generating modulation codes using running substitutions | |
JP2000502545A (ja) | mビット情報ワードのシーケンスから変調信号への変換 | |
CN1422457A (zh) | 把m比特信息字序列变换为已调信号的方法 | |
JP2003288760A (ja) | 変調方法、変調装置、記録媒体、復調方法および復調装置 | |
JPH0462216B2 (zh) | ||
JPH11177433A (ja) | 復調装置および方法、並びに提供媒体 | |
JP4207073B2 (ja) | 変調装置および方法、記録媒体、並びに復調装置および方法 | |
US20030123173A1 (en) | Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system | |
JP4155312B2 (ja) | 変調装置および方法、記録媒体、並びに復調装置および方法 | |
JPH02119434A (ja) | 符合化回路及び復合化回路 | |
KR850000954B1 (ko) | 복 호 장 치 | |
JPH0991885A (ja) | 同期情報付加方法及び同期情報付加装置、並びに同期情報検出方法及び同期情報検出装置 | |
JP4919121B2 (ja) | 変調装置、変調方法、および記録媒体 | |
JP4366662B2 (ja) | 変調装置、変調方法、記録媒体 | |
JP2005513706A (ja) | データストリームの符号化方法 |
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 |
Granted publication date: 20090415 Termination date: 20191109 |
|
CF01 | Termination of patent right due to non-payment of annual fee |