数据编码/解码方法及使用该方法的系统与装置 【技术领域】
本发明是有关于一种数据编码/解码方法及使用该方法的系统与装置,且特别是有关于一种适用于对于数据编码采用对照表(Table)的数据编码/解码方法及使用该方法的系统与装置,可减少对照表的位数大小,并大幅提升处理效率,及降低制造成本。
背景技术
在硬盘或是光盘系统中,由于盘片(Disk)的读取信道(Access Channel)有频宽(Bandwidth)上的限制,所以,在读取记录在盘片上的数据时,会产生所谓的符号间干扰(Inter-Symbol Interference,底下简称ISI)效应。为了在所谓符号间干扰(ISI)的效应下,能可靠地读取数据,通常会将记录的数据做信道位编码(Channel Bit Modulation)而变成具有运行长度限制(Run-Length Limit,底下简称RLL)数据格式的信道位数据后,再记录到盘片上。请参照第1图所示,系显示对于数据位经由一信道位编码的后,转换成为信道位地简单图示。
而以往处理符合RLL数据格式的信道位编码程序,请参照第2图,系接收一具有M位长度的源数据信号22后,经由RLL编码表的对照转换后,输出符合具有N位长度的信道位信号24,并记录到记录信道(RecordingChannel)25上,此记录信道25例如光盘片的存储空间。例如以DVD(Digital-Versatile Disk)调变方式而言,系采用EFF+(8位转16位)编码方法,因此,必须将源数据从8位转到具有16位的信道位信号。
而若是在读取数据时,也要做一次信道位解码程序。如第2图所示,将存储在记录信道25上的数据读出,成为信道位信号26,并经由RLL解码表27对照,将具有RLL数据格式的N位长度的信道位信号26,转换成为原有具有M位长度的数据28。上述的编码与解码转换,通常为了简化运算,皆会以查表方式实现,因此需要1个M位×N位的编码表,以及1个N位×M位的解码表。此不但占据相当大的芯片面积,耗费更多的成本外,更会影响读取/写入效率,影响整个系统的操作速率。
【发明内容】
因此,本发明的主要目的就是提供一种数据编码方法,用以将一源数据信号编码成为一编码信号,将此源数据信号转换成为多个具有一第一位长度的源转换数据。接着,根据一数据转换步骤,将这些源转换数据扩展转换成为多个具有一第二位长度的编码数据单元所组成的编码信号。此第一位长度小于第二位长度,而第一位长度系根据编码数据单元的数据特性所决定。
本发明的主要目的就是提供一种数据编码装置,包括一编码单元与一扩展单元。其中编码单元用以接收一源数据信号,并根据一编码表转换成为多个具有一第一位长度的源转换数据。扩展单元将源转换数据扩展转换成为多个具有一第二位长度的编码数据单元所组成的一编码信号。此第一位长度小于该第二位长度,而第一位长度系根据编码数据单元的数据特性所决定。
本发明的主要目的就是提供一种数据解码方法,用以将一编码信号解码成为一数据信号。此解码方法包括将编码信号分割成多个具有一第一位长度的分割部分。接着根据一数据转换步骤,将所有分割部分折迭成为多个具有一第二位长度的编码转换数据。此第一位长度大于该第二位长度,而该第二位长度系根据编码信号的分割部分的数据特性所决定。根据一解码表,将编码转换数据转换后成为数据信号。
本发明的主要目的就是提供一种数据解码装置,包括一折迭装置与一解码单元。此折迭装置用以接收一编码信号,并将编码信号分割成多个具有一第一位长度的分割部分,并根据一数据转换步骤,将所有分割部分折迭成为多个具有一第二位长度的编码转换数据输出。其中,第一位长度大于第二位长度,而第二位长度系根据编码信号的所述分割部分的数据特性所决定。而解码单元,用以将编码转换数据根据一解码表转换后成为一数据信号。
【附图说明】
为让本发明的上述目的、特征、和优点能更明显易懂,下文将配合附图特举一较佳实施例说明,其中:
第1图示出常规的信道位编码与解码的数据格式转换流程;
第2图示出常规的符合RLL数据格式的信道位编码程序;
第3图系本发明一较佳实施例的编码装置的电路方块图;
第4图示出在第3图中的β/α扩展装置的一较佳实施例的逻辑电路图;
第5图系本发明一较佳实施例的解码装置的电路方块图;
第6图系说明在第5图中的α/β折迭装置的一较佳实施例的电路方块图;以及
第7图示出在第6图中的α/β折迭单元的一较佳实施例的逻辑电路图。
在附图中,23表示RLL编码表;25表示记录信道;27表示RLL解码表;30表示数据编码装置;33表示编码单元;35表示β/α扩展装置;50表示数据解码装置;53表示α/β折迭装置;55表示解码单元;57表示逻辑“或”门;59表示逻辑“或”门;以及53a、53b、53c表示α/β折迭单元。
【具体实施方式】
下面将详细描述本发明的较佳实施例,其范例显示于附图中。相同参考符号使用于图标与描述中,以指向相同或相似部份。
本发明系提供一种适用于将从存储媒体上所读取的数据,例如从硬盘读取或是外界存储装置所提供的位数据流,经由编码(Modulation)的程序,例如信道位编码(Channel Bit Modulation)程序,而编制成适用于记录到盘片数据格式的数据流,例如运行长度限制(Run-Length Limit,底下简称RLL)的信道位(Channel Bits)。而后,可从记录数据的盘片中读取所存储的位数据,例如信道位的数据,经由解码(Demodulation)的程序,而转成适用的数据,例如适合主机所能操作的数据。
而本发明的特点在于提出一种编码的方法,可将所要编码的位数据,根据所要编制符合存储格式的编码数据特性的转换表,完成编码的转换,而此转换表则需要较少的位长度即可完成此编码程序。例如,先将符合存储格式的编码后的符号码(Codeword),依照α位长度分割成多个分割部份(Partition)。而后,根据每一个分割部分所要转换的数据格式的特性,例如若是符合运行长度限制(RLL)格式的特性,则将可推算出对应于α位长度所有可能性,而根据这些所有的可能情况编制成转换为具有β位长度的数据转码表,并据以完成编码的步骤。
根据这些所有会出现在α位的情况,决定β值,再将所要编码的位数据流,经由此转换为β位长度的数据转码表,而β<α。根据此具有β位长度的数据,再经过扩展(Extend)的方法,将每一个具有β位长度的数据,转换为具有符合运行长度限制(RLL)格式特性的α位长度的数据,进而可记录在盘片上。而由于此编码的方法,系利用具有较少位长度(β位)的数据转码表转换,而非运用原有α位长度的转换表转换,因此,可增加处理的效率。而由于对照表所需要的位数也降低了,所以,将可降低所需要的组件,而降低生产的成本。
例如以DVD(Digital-Versatile Disk)调变方式而言,系采用EFF+(8位转16位)的编码方法,而其符号码(Codeword)针对RLL格式的特性,其长度为16位。而当其最小运行长度(Minimum Run Length)=3T,则α位长度为3。此时,若是将此16位的符号码依照α位长度分割,则具有5个分割部分,而剩余1个位,此剩余位不需经由编码。此5个分割部分,必须符合最小运行长度(Minimum Run Length)=3T的特性,也就是可能出现的数据位组成分别是[ai+1,ai,ai-1]=
,
,
或[100]其中之一。根据这些分割部分的数据特性,共有四种情形,因此,若由一β位长度的位数据所涵盖,则2的β次方,也就是2β必须大于等于四。由上可知,β必须至少2位才可涵盖所有的分割部分可能出现的情形。而若以两位为例,则β位长度的位数据的组合[bi,bi-1]为
,
,[10]或[11]其中之一,则可代表此[ai+1,ai,ai-1]所有的组合,例如
[ai+1,ai,ai-1]→[bi,bi-1]
000 → 00
001 → 01
010 → 10
100 → 11
而当其最小运行长度(Minimum Run Length)=4T,则α位长度为4。此时,若是将此16位的符号码依照α位长度分割,则具有4个分割部分。此4个分割部分,必须符合最小运行长度(Minimum Run Length)=3T的特性,也就是可能出现的数据位组成分别是[ai+2,ai+1,ai,ai-1]=
,
,
、
、[1000]、[1001]其中之一。根据这些分割部分的数据特性,共有六种情形。因此,若由一β位长度的位数据所涵盖,则2的β次方,也就是2β必须大于等于六。由上可知,β必须至少3位才可涵盖所有的分割部分可能出现的情形。而若以3位为例,则β位长度的位数据的八种组合[bi+1,bi,bi-1](23=8)中的六种代表所有的分割部分的数据特性。例如
[ai+2,ai+1,ai,ai-1] →[bi+1,bi,bi-1]
0000 → 000
0001 → 001
0010 → 010
0100 → 011
1000 → 100
1001 → 101
当然,上列的六种情形的[bi+1,bi,bi-1]组合仅系一例子。若α位长度为5,则可能出现的数据共有例如9种,在此不再冗述。其换算的方法仅根据α位长度的分割部分所有可能出现的情形,决定β值。
上述本发明的编码方法,请参照第3图所示本发明一较佳实施例的编码装置的电路方块图。在此实施例中为方便说明,系以DVD光盘存储格式的EFM+编码,即16位为例。此编码装置30首先接收到具有M位的源数据信号32,在此例中的DVD格式的EFM+编码为8位。而后将此源数据信号32转换为具有N位的编码信号36。此编码信号36例如对于此例中的DVD格式的EFM+编码为16位。编码装置30的数据转换方法,首先将所要编码的源数据信号32,根据所要编制符合存储格式的编码信号36特性的转换表,完成编码的转换。例如,先将符合存储格式的编码信号36,依照α位长度分割成多个分割部份(Partition),例如上述依照3位长度分割成5个分割部分,并剩余一位,此剩余位不需编码,可直接由源数据信号32的一位转送到转换结果的编码信号36。而后,根据每一个分割部分所要转换的数据格式的特性,例如若是符合运行长度限制(RLL)格式的特性,则可推算出对应于α=3位长度所有可能性为上述的四种,而根据这些所有的可能情况推算β=2。
根据β=2,在一编码单元33中编制一编码表。此编码单元33用以接收源数据信号32,并根据编码表转换成为多个具有β位长度的源转换数据34。接着,藉由一β/α扩展装置35,将编码转换数据34扩展转换成为多个具有α=3位长度的编码信号36。简单而言,以DVD的EFM+格式的16位为例,先将编码信号36换算成(3×5+1),此3即为α值,而5即为分割部分的数量,1则为剩余位。而后,因为α=3的所有可能数据格式为四种,因此,可用β=2的位长度涵盖所有α=3的所有可能数据格式。接着,运用β=2将上述(3×5+1)转换为(2×5+1),其中此2即为β值,而5即为分割部分对应的数量。因此,编码单元33根据其编码表所输出的源转换数据34具有(β/α)×15+1=11,也就是11位长度的数据。而后,所有分割部分在经由β/α扩展装置35转换后,成为(3×5+1)=16位长度的编码信号36。
请参照第4图,系说明在β/α扩展装置35中如何将属于编码转换数据的β=2位长度的数据[bi,bi-1]转换为α=3位长度的数据[ai+1,ai,ai-1]的一本发明较佳实施例。在其中运用了三个逻辑“与”门的运算,例如将bi与bi-1输入其中一逻辑“与”门,并做逻辑“与”的运算后形成编码信号36的ai+1。将编码转换数据的bi与对于bi-1的反值作一逻辑“与”的运算以形成编码信号36的ai。对编码转换数据的bi的反值与bi-1作一逻辑“与”的运算以形成编码信号36的ai-1。
在此例中的编码方法,系利用具有较少位长度(β=2位)的数据编码表转换,而非运用原有α=3位长度的转换表转换,因此,可增加处理的效率。而由于对照表所需要的位数也降低了,所以,可降低所需要的组件,进而降低生产的成本。当然,如前所述,α值可依照设计所需而定,并不限于此例的4种。例如α值可为4位长度,而根据前述分割部分的数据特性,共有六种情形。因此,β必须至少3位才可涵盖所有的分割部分可能出现的情形,以DVD的EFM+格式的16位为例,先将编码信号36换算成(4×4),此第一个4即为α值,而第二个4即为分割部分的数量。而后,因为α=4的所有可能数据格式为六种,因此,可用β=3的位长度涵盖所有α=4的所有可能数据格式。接着,运用β=3将上述(4×4)转换为(3×4),其中此3即为β值,而4即为分割部分对应的数量。因此,编码单元33根据其编码表所输出的源转换数据34,具有(β/α)×16=12,也就是12位长度的数据。而后,所有分割部分在经由β/α扩展装置35转换后,成为(4×4)=16位长度的编码信号36。
另外,本发明提出一种解码的方法,可将存储于盘片中符合存储格式的数据,以较少的位数完成解码的转换,而此解码的演算法则与编码时相同。例如将存储在盘片中的符号码(Codeword),分割成具有α位长度的多个分割部份。而后,再对每一个分割部分依照上述格式的特性,例如运行长度限制(RLL)格式的特性,重新编码转换成为具有β位长度的数据,β<α。而根据此具有β位长度的数据,进行解码表的对照与转换。而由于此解码的方法,系利用具有较少位长度(β位)的对照表转换,因此,也如上所述,可增加处理的效率,并将可减少所需要的组件而降低生产的成本。而此α值与β值的选定,则视产品设计的需求而定。
本发明的解码方法,更提供一种具有错误位侦测的功能,可检查所转换具有α位长度的分割部份,是否具有所要求数据格式的特性,例如运行长度限制(RLL)格式的特性,若是违反此特性,则将会产生错误信号。根据此错误信号,可作为错误的标记(Erasure Flag),可判断存储在盘片上的符号码(Codeword)是否正确。而此错误位侦测的功能,更可根据上述具有β位长度的数据,若未存在于对照表(Table)中,则可产生另一错误信号,而判断此符号码(Codeword)正确与否。当然,本发明亦可由α位长度的分割部份所产生的错误信号,与由β位长度的数据对照于对照表(Table)所产生的另一错误信号的结合,而作为判断此符号码(Codeword)正确与否的依据,此系依照应用的范围而定。
请参照第5图,系显示本发明一较佳实施例的数据解码装置50,包括一α/β折迭装置53与一解码单元55。此α/β折迭装置53用以接收一具有N位的编码信号52,并将此编码信号52分割成多个具有α位长度的分割部分,并根据一数据转换步骤,将所有分割部分折迭成为多个具有β位长度的编码转换数据54a输出,在此例中,编码转换数据54a为2N/3位长度。β位长度系根据编码信号52的α位长度分割部分的数据特性所决定。在此实施例中,N位长度系以符合RLL格式的特性、而最小运行长度(Minimum RunLength)=3T为例,而N则为3可整除的整数。当然,本发明并不限于仅适用最小运行长度=3T,而N则为3可整除的整数。若是无法整除,可取可整除的部分,剩余位的部分将可直接转送,不需解码。但为方便说明,仅以可整除为例。
例如以DVD(Digital-Versatile Disk)调变方式而言,系采用EFF+(8位转16位)的调变,而其符号码(Codeword)针对RLL格式的特性,其长度为16位。而当其最小运行长度(Minimum Run Length)=3T,则α位长度为3。此时,若是将此16位的符号码依照α位长度分割,则具有5个分割部分,而剩余1个位,此剩余位不需经由解码。此5个分割部分,必须符合最小运行长度(Minimum Run Length)=3T的特性,也就是可能出现的数据位组成分别是[ai+1,ai,ai-1]=
,
,
或[100]其中之一。根据这些分割部分的数据特性,共有四种情形,因此,若由一β位长度的位数据所涵盖,则2的β次方,也就是2β必须大于等于四。而其详细的β位长度决定方式,与在解码装置中所述方法相同,不再赘述,当然,若α位长度为4,则可能出现的数据共有例如6种,则β值最少需要3,而若α位长度为5,则可能出现的数据共有例如9种,因此,β值最少需要4。此需根据α位长度值与设计的要求而决定β值。而后,由解码单元55将编码转换数据54a根据其所具有的一解码表转换后成为此数据解码装置50的数据信号56a输出,并适合主机的运算与使用。
上述的数据解码装置50,在数据转换步骤中,在将分割部分折迭成为编码转换数据54a时,若是至少有一分割部分不符合数据特性时,也就是不符合例如RLL格式的特性时,则将会使一错误位由逻辑“0”转换为逻辑“1”,以指出编码信号52有错误,此时可能经由重新读取此编码信号52,或是做错误的修正(Error Correction),视运用而定。而此错误位可能会由任何一个分割部分所产生,因此,所有可能产生的错误位,将会由一逻辑“或”的运算,只要其中有一个分割部分出现错误,则将显示此编码信号52有错误。例如在第5图中所示的具有N/3位的错误信号54b,而这些由N/3个错误位所组成的错误信号54b将经由逻辑“或”门57输出。
另外,上述的数据解码装置50,其中在解码单元55在将编码转换数据54a转换成为数据信号56a的步骤中,若在编码转换数据54a中至少有一部分无法在解码表中找到对应数据时,则会产生错误信号56b,用以指出此编码信号52有错误存在,此时,可经由重新读取此编码信号52,或是做错误的修正(Error Correction),视运用而定。上述可能发生在任一分割部分的错误,经由逻辑“或”门57的输出,与解码单元55的错误信号56b,可经由一逻辑“或”门59的运算,提供一错误的信息59a,以便指出此编码信号52有错误存在。
请参照第6图,系显示第5图中的α/β折迭装置53的本发明较佳实施例。在此实施例中,仅以α位长度为3,则可能出现的数据共有4种,则β值为2为例。然而,并不限此发明运用到任何的α与β值。此α/β折迭装置53包括多个α/β折迭单元,如53a、53b与53c等等。而具有N位的编码信号52(为方便说明,以下以A代表编码信号52,而Ai代表编码信号52的第i个位),将分为多个分割部分,在此实施例中系以符合RLL格式的特性为例,而最小运行长度(Minimum Run Length)=3T。经由解码后的编码转换数据54a则具有2N/3位,为方便说明,以下以B代表编码转换数据54a,而Bi代表编码转换数据54a的第i个位。
以α/β折迭单元53a为例,其分别经由ai+1、ai与ai-1端口接收N位编码信号52的第AN-1、AN-1与AN-1位,则α/β折迭单元53a根据折迭的方法,例如将[ai+1,ai,ai-1]=
,
,
,[100]值,分别对应到[bi,bi-1]=
,
,[10],[11],并由bi与bi-1输出。因此可将[AN-1,AN-1,AN-1]转换为[B2N/3-1,B2N/3-2]。而若是[AN-1,AN-2,AN-3]并未出现在如上列的四种情形时,则会将改变错误位ERRORN/3-1的状态,例如由逻辑“0”改变为逻辑“1”。
而将α/β折迭装置53的所有α/β折迭单元,如53a、53b与53c等等所输出的位B2N/3-1、B2N/3-2、B2N/3-3、B2N/3-4、......、B1、B0即为具有2N/3位长度的编码转换数据54a。而所有的错误位,如ERRORN/3-1、ERRORN/3-2、......、ERROR0等则为错误信号56b。
请参照第7图,系显示第6图中的α/β折迭单元,例如53a的一较佳实施例。其中,编码信号52的第AN-1、AN-1与AN-1的位,则分别连接到α/β折迭单元53a的ai+1、ai与ai-1,并经由许多的逻辑门将[AN-1,AN-1,AN-1]转换为[B2N/3-1,B2N/3-2]。此图示中以ai+1、ai与ai-1分别代表由ai+1、ai与ai-1端口所输入的位值,而bi与bi-1则代表输出到bi与bi-1端口的逻辑值。
在α/β折迭单元53a中,这些逻辑门包括一逻辑“或”门,用以接收ai-1与ai值,在逻辑“或”运算后输出bi位值。一逻辑“或”门,用以接收ai+1与al-1值,在逻辑“或”运算后输出bI-1位值。而对于所输出错误位,如ERRORN/3-1,则系经由一逻辑“或”门,用以接收ai+1与ai值,并以逻辑“或”运算后输出,其输出值并与ai-1值经由一逻辑“与”门的逻辑“与”运算后输出,并接着其输出值,与经由一逻辑“与”门对ai+1与ai值进行一逻辑“与”运算后输出值,两者经由一逻辑“或”门后输出此错误位ERRORN/3-1。
本发明较佳实施例的数据处理系统,包括如第3图中的编码装置30与第5图中的数据解码装置50两者或者两者择一。可适用于一源数据信号与一编码信号之间的编码与解码处理。而更可适用于光学数据存储系统。此光学数据存储系统包括一光学记录装置及一数据编码/解码装置,其中此编码/解码装置系运用于对一源数据信号与一编码信号之间的编码与解码,如第3图中的编码装置30与第5图中的数据解码装置50所示。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围当视所附权利要求书界定的为准。