带保护字的二维游程长度受限约束的编解码器及使用方法

文档序号:6771688阅读:240来源:国知局
专利名称:带保护字的二维游程长度受限约束的编解码器及使用方法
技术领域
本发明属于数据存储领域和通信领域。具体涉及当将二进制数据存储在矩形格子组成的平面上,无论是在水平方向还是在垂直两个方向上,在连续数据” 1”之间,数据“0” 的游程长度最少等于1,最多不超过3的编解码器及使用方法。
背景技术
在现代存储技术和通信技术中,通道由于内在的物理特性,会对穿越通道的信号产生具有某种形式的约束限制。为降低通道对信号的影响,提高存储系统和通信系统可靠性,解决这一问题的办法之一就是用约束编码技术,约束编码又称调制编码。(d,k)游程长度受限约束(RLL)是这类约束的一个典型代表。这里d表示在连续数据“1”之间,“0”的游程长度最小值,k表示其最大值。著名的Miller码,即改进型调频码MFM(美国专利号 3,108,沈1,公布日1963年10月22日),就是其中的一个代表。在MFM码中,相邻数据“ 1” 之间,“0”的游程长度至少等于1,最多不超过3,因此MFM码有时候又称为一维(1,3)RLL 码。随着技术的发展,近些年出现了将数据以二维页面方式进行存储的新型存储器, 比如全息存储器和二维光盘等。这类存储器和目前主流存储器的一个最大不同之处在于 数据每次按照二维页面的方式存储在记录介质上,在读取数据时,也是按照整页整页的方式进行。图1描述了在全息存储器中数据的这种二维布局示意。在上述二维存储器中,以图1为例,若不考虑边界的影响,每位比特信息都有4个比特信息和它本身直接相邻(即通常所说的上、下、左和右)。比较而言,在一维情形下,数据的布局如图2所示。从图1和图2可以看出,在二维存储中,二进制数据阵列在水平和垂直两个方向上都有约束限制要求。这样前面提到的改进型调频码(MFM),数据之间的内在约束条件会因空间尺度从一维转到二维而发生相应变化,原先在一维条件下满足的约束限制在二维情形下就不再有效。因此寻求新的二维约束编解码方法,保证数据在水平和垂直两个方向上能同时满足新型二维存储技术的发展和需求就显得非常有必要。

发明内容
本发明所要解决的技术问题是提供一种带保护字的二维游程长度受限约束的编解码器及使用方法,本发明的编解码方法和装置能解决由“0”和“1”构成的二维数据阵列在两个方向上均满足(1,3)RLL约束的二维(1,3)RLL的技术问题。本发明所采用的技术方案是带保护字的二维游程长度受限约束的编解码器,包括编码器和解码器,所述编码器包括数据缓冲及分组模块,该模块在缓冲接收一维数据流的同时,根据二维数据页的大小,将数据划分成若干个长度相等的分组;二维码字生成模块,该模块根据编解码规则表,将2比特的一维数据生成2X2的二维约束码字;二维字单元页构造模块,该模块将二维数据页划分成若干个2X2的二维数据子阵列组成的二维字单元页;二维码字写入阵列模块,该模块将2X2的二维约束码字,沿着二维字单元页斜线方向的奇数行逐行写入到二维数据阵列中;保护字填充模块,该模块依据二维码字生成模块所选编解码规则表选取相应的二维保护字,并沿二维字单元页斜线方向的偶数行顺序,将二维保护字逐行填入到二维数据阵列;上述五个模块依次连接,最后通过其中的保护字填充模块输出给二维数据记录装置;所述解码器包括二维数据缓冲模块,该模块暂时存放从二维数据记录装置读取的二维数据阵列;二维字单元页构造模块,该模块将二维数据阵列划分成由2X2的二维数据子阵列为最小读取单元的二维字单元页;一维数据字译码模块,该模块将2X2的二维约束码字,根据相应的编解码规则表译码成大小等于2比特的一维数据字;一维数据流组装模块,该模块将一维数据字按照产生的先后顺序组装成一维数据流;上述五个模块依次连接,最后通过其中的一维数据流组装模块输出。所述的带保护字的二维游程长度受限约束的编解码器的使用方法,是通过编码器实现编码过程,依次包括以下步骤S101)首先根据二维数据记录装置的存储大小,将大小为2NX2M的二维数据页以 2 X 2的字单元为一组,划分成包含NXM个大小相同的二维数据字单元的数据页,然后判断该数据页中可编码的位数;S102)数据缓冲及分组模块将输入的二进制一维数据流均勻地划分成若干一维数据字块,每个数据字块包含数目等于一个数据页中可编码位数的数据,然后对每块中的数据按2比特一组划分成若干一维数据字,并将数据字输入到数据缓冲区暂存;S103) 二维码字生成模块从数据缓冲区读取一个数据字块,选取编解码规则表将当前数据字块中的所有一维2比特数据字转化成相应的2X2 二维约束码字;S104) 二维字单元页构造模块将二维数据页划分成若干个以2X2的二维数据子阵列为最小读取单元的二维字单元页,与步骤Sioi得到的数据页相对应;S105) 二维码字写入阵列模块将步骤S103)得到的2X 2 二维约束码字以步骤 S104得到的二维字单元页的字单元行为基准,沿二维字单元页斜线方向的奇数行,从右上角到左下角依次将二维数据字写入大小等于2X2的字单元中,直至该行的字单元全部被写入为止;S106)判断是否有下一个斜线方向的奇数行尚未写入,若有转至步骤S105 ;若二维字单元页奇数行的所有字单元被写满二维数据字,则进入下一步;S107)保护字填充模块根据步骤S10;3)选取的编解码规则表,选取对应的二维保护字,沿二维字单元页斜线方向的偶数行,从右上角到左下角依次将该二维保护字填充到
6字单元中,直至该行的所有字单元全部被填满为止;S108)判断是否有下一个斜线方向的偶数行尚未填满,若有转至步骤S107 ;若所有偶数行的二维字单元被填满二维保护字,进入下一步;S109)判断是否还有未编码的一维数据字块,若有转至步骤S103 ;否则结束编码过程。所述的带保护字的二维游程长度受限约束的编解码器的使用方法,是通过解码器实现解码过程,依次包括以下步骤S201)将从二维数据记录装置读取的二维数据阵列暂时存放在二维数据缓冲模块中;S202) 二维字单元页构造模块读取大小为2NX2M的二进制数据阵列,将该二维数据阵列以2X2为最小读取单元进行均勻划分,形成大小等于NXM的二维字单元页;S203) 一维数据字译码模块以该二维字单元页的字单元行为基准,沿字单元页斜线方向的奇数行,依据编码器编码顺序,从右上角到左下角依次读取字单元数据,根据编解码表译码出相应的一维2比特数据字;S204)判断是否有下一个斜线方向的奇数行尚未译码,若有转至步骤S203 ;若二维字单元页的奇数行所有字单元被译码,进入下一步;S205) 一维数据流组装模块将得到的一维2比特数据字按照相应的译码先后次序进行组装,获取对应的一维二进制数据块;S206)判断是否还有尚未解码的二维数据阵列,若有转至步骤S202 ;否则将上述步骤得到的一维二进制数据块按照先后顺序合并成一维数据流输出,译码结束。本发明的技术效果如下所述1)编码器是状态无关的。编码器状态数是评价编码器性能的一个重要指标。状态无关的编码器是设计编码器的最佳选择。在本发明中,数据在编码和译码过程中,都是分块独立的,数据无论是在编码和译码过程中,都和相邻数据无关,即编码器是状态无关的。2) 二维码字编解码规则表构造简单。在本发明中,2X2的二维约束码字和一维2 比特数据是一一对应的,通过简单的编解码规则方程,即可实现一维2比特数据到2X2的二维约束码字的编码过程,反之,通过查找2X2阵列的特定数据比特,即可实现一维2比特数据的译码。3) 二维保护字是和编解码规则一一对应的。在本发明中,所述二种编解码规则,分别对应于不同的二维保护字,即对指定的编解码规则表,其所需的二维保护字是唯一的,不同的编解码规则,对应不同的二维保护字,二者不可替代。


图1是二维数据记录格式示意图(全息存储器)。图2是一维数据光盘记录格式示意图。图3是满足二维2D_(1,3)RLL约束的二维数据阵列示意图。图4是4个方形格子构成的二维字单元。图5是二维阵列(6X6)划分成二维字单元页(3X;3)示意图。图6是两种编码解码规则表;图6 (a)表示第一种编码解码规则表;图6 (b)表示第
7二种编码解码规则表。图7是二维字单元行序编号示意图。图8是编码器原理框图。图9是解码器原理框图。图10是基于图6 (a)编解码规则的二维阵列构造造实施例。图11是基于图6(a)编解码规则的二维阵列译码实施例。
具体实施例方式本发明适用于将数据按照二维阵列(即页面)形式记录的数据存储系统。系统典型代表有全息全息存储器及二维光盘等二维新型存储器。本发明的另一个发明目的是提供两种二维游程长度受限约束的编码方法。本发明的另一个目的是提供两种二维游程长度受限约束的解码方法。本发明的另一个目的是提供相应的编码和解码装置。针对背景技术提出的问题,本发明给出了两种二维游程长度受限约束的编解码方法,即采取本发明给出的编码方法,能够保证二进制数据阵列,无论是在水平还是垂直方向上,在连续数据“1”之间,“0”的游程长度最少是1,最多不超过3的约束限制。我们将本发明给出的这种编解码方法二维(U)游程长度受限约束码,记为2D-(1,;3)RLL码。基于本发明给出的方法,因存在二维保护字,所述编码器的码率等于1/4,译码器在译码阶段不会产生错误传播,译码错误仅限于一个数据字即2bits数据,即当前数据的译码错误不会对后继数据的译码造成影响。为了实现本发明的目的,本发明采取的技术方案是,二维(1,3)RLL约束编码方法,包括下述步骤第一步首先将大小等于2NX2M的二维数据页以2X2为一组,划分成NXM个大小相同的二维字单元页,然后转步骤二 ;第二步将输入的二进制数据流均勻地划分成数目等于页面大小的若干块,然后对每块中的数据,按两两一组划分成大小等于2的若干一维数据字,每个字可以是如下4个值中的任意一个00,01,10,11,并将这些一维数据字输入到数据缓冲区暂存,转步骤三;第三步从缓冲区读取一维数据字,按照图6所示编解码规则表对当前一维数据字进行编码并转化成2X 2的二维约束码字,然后将该2X 2的二维约束码字以字单元行为基准,沿二维字单元页斜线方向的奇数行,从右上角到左下角依次将该2X2的二维约束码字写入大小等于2 X 2的字单元中,转步骤四;第四步重复第三步,直至奇数行的所有字单元被写满2X2的二维约束码字为止;转步骤五;第五步顺序沿着二维字单元页斜线方向的偶数行,从右上角到左下角,依次将和第三步所选编解码规则表对应的二维保护字填充到字单元中,直至该行的字单元全部被填满为止;第六步重复第五步,直到编码结束。解码步骤如下第一步读取大小等于2NX 2M的二进制数据阵列,将数据阵列按照2 X 2 二维子阵列的方式进行均勻划分,形成以2X2为基本读取单位,大小等于NXM的二维字单元页;
第二步沿着NXM的二维字单元页的斜线方向,从右上角到左下角,依次读取奇数行的二维字单元数据,根据编码过程所选的编解码规则表,译码出相应的2比特一维数据字;第三步重复第二步,直至二维阵列被译码完成;第四步将第二步得到的2比特一维数据字按照译码的先后次序进行组装,产生相应的一维二进制数据块,转步骤五;第五步判断是否输入下一个2NX2M的二维数据阵列,若是转步骤一;否则将上述步骤得到的一维二进制数据块按照先后顺序合并成一维数据流并输出,译码结束。为了实现本发明的目的,本发明还提供了实现上述数据编码方法的编码器,包括数据缓冲及分组模块,该模块在缓冲一维数据流的同时,根据二维阵列的大小,将数据划分成若干个长度相等的一维数据分组;二维码字生成模块,该模块根据图6描述的编解码规则表,生成相应的二维约束码字,并输入到二维字单元模块;二维字单元页构造模块,该模块将二维数据页划分成若干个2X2的二维数据子阵列组成的二维字单元页;二维码字写入阵列模块,该模块将2X2的二维约束码字,沿着二维字单元页斜线方向的奇数行逐行写入到二维数据阵列中;保护字填充模块,该模块依据图6编解码规则表,依据上述二维码字生成模块所选编解码规则,选取相应的保护字,沿着二维字单元页斜线方向,如图7所示二维字单元页的偶数行顺序,从右上角到左下角,将二维保护字逐行填入到2NX2M的二维数据阵列。为了实现本发明的目的,本发明还提供了实现上述数据解码方法的编码器,包括二维数据缓冲模块,该模块主要用于暂时存放从二维数据记录装置读取的二维数据阵列;二维字单元页构造模块,该模块主要用于将2NX2M的二维数据阵列划分成由 2X2为最小读取单元的NXM的二维字单元页;一维数据字译码模块,该模块主要用于将2X2的二维字单元,根据相应的编解码规则表,译码成大小等于2比特的一维数据字;—维数据流组装模块,该模块主要用于将大小等于2比特的一维数字按照产生的先后顺序组装成一维数据流。总之,本发明能将一维数据流转化成满足参数指定的游程长度受限的二维数据阵列。所述二维游程长度受限约束编码方法包括将输入数据进行分割成特定大小的分组;然后按照对应的编码规则将2比特的一维数据字转化成2X2的二维约束码字;最后将生成的 2 X 2的二维约束码字和相应的二维保护字根据预先指定方法进行写入,最终达到上述由数据“0”和“1”构成的二维数据阵列在水平和垂直两个方向上都满足约束条件,即数据“0”的游程长度无论是在水平还是在垂直方向上,都满足最小为1,最多等于3的要求。本发明设计了两种编解码规则及其对应的编解码器,两种编码器的码率均等于1/4。本发明给出的编解码器是状态无关的编码器,因此不会因译码错误而导致误码的灾难性传播,即当前数据译码错误不会对后继数据的译码造成任何负面影响,译码错误仅局限于当前2比特数据。下面结合附图和实施例对本发明作进一步的详细说明如图3所示,描述本发明产生的二维数据阵列,该阵列无论是在水平方向还是在垂直方向上,在相邻数据“1”之间,数据“0”的游程长度都满足最小等于1,最多不超过3的约束条件。如图4所示,由2X2个方形格子构造的二维字单元,是编解码二维阵列的基本单位数据。如图5所示,将大小等于6X6的二维阵列,转化为大小等于3X3的二维字单元页,用这种方式可完成将一维数据流写入到满足2D-(1,3)RLL约束限制的二维数据阵列中。如图6所示,图6(a)给出的是第一种编解码规则表以及相应的保护字,在该编解码规则中,00,01,10和11这四个数据分别用大小等于2X 2的二维约束码字来代替,同时在编码过程中,为了满足相应的约束限制,需要一个特殊的二维阵列来保护这4个二维约束
码字,该特殊的二维阵列称为二维保护字,在第一种编码规则中,这个二维保护字为=。如
图6(a)所示,在该编解码规则表中,一维数据字用X= [X1 X2]表示,二维约束码字如下所

权利要求
1.带保护字的二维游程长度受限约束的编解码器,其特征在于包括编码器和解码器, 所述编码器包括数据缓冲及分组模块,该模块在缓冲接收一维数据流的同时,根据二维数据页的大小, 将数据划分成若干个长度相等的分组;二维码字生成模块,该模块根据编解码规则表,将2比特的一维数据生成2X2的二维约束码字;二维字单元页构造模块,该模块将二维数据页划分成若干个2X2的二维数据子阵列组成的二维字单元页;二维码字写入阵列模块,该模块将2X2的二维约束码字,沿着二维字单元页斜线方向的奇数行逐行写入到二维数据阵列中;保护字填充模块,该模块依据二维码字生成模块所选编解码规则表选取相应的二维保护字,并沿二维字单元页斜线方向的偶数行顺序,将二维保护字逐行填入到二维数据阵列;上述五个模块依次连接,最后通过其中的保护字填充模块输出给二维数据记录装置; 所述解码器包括二维数据缓冲模块,该模块暂时存放从二维数据记录装置读取的二维数据阵列; 二维字单元页构造模块,该模块将二维数据阵列划分成由2X2的二维数据子阵列为最小读取单元的二维字单元页;一维数据字译码模块,该模块将2X2的二维约束码字,根据相应的编解码规则表译码成大小等于2比特的一维数据字;一维数据流组装模块,该模块将一维数据字按照产生的先后顺序组装成一维数据流; 上述五个模块依次连接,最后通过其中的一维数据流组装模块输出。
2.根据权利要求1所述的带保护字的二维游程长度受限约束的编解码器的使用方法, 其特征在于通过编码器实现编码过程,依次包括以下步骤5101)首先根据二维数据记录装置的存储大小,将大小为2NX2M的二维数据页以2X2 的字单元为一组,划分成包含NXM个大小相同的二维数据字单元的数据页,然后判断该数据页中可编码的位数;5102)数据缓冲及分组模块将输入的二进制一维数据流均勻地划分成若干一维数据字块,每个数据字块包含数目等于一个数据页中可编码位数的数据,然后对每块中的数据按2 比特一组划分成若干一维数据字,并将数据字输入到数据缓冲区暂存;5103)二维码字生成模块从数据缓冲区读取一个数据字块,选取编解码规则表将当前数据字块中的所有一维2比特数据字转化成相应的2X2 二维约束码字;5104)二维字单元页构造模块将二维数据页划分成若干个以2X2的二维数据子阵列为最小读取单元的二维字单元页,与步骤SlOl得到的数据页相对应;5105)二维码字写入阵列模块将步骤S103)得到的2X2 二维约束码字以步骤S104得到的二维字单元页的字单元行为基准,沿二维字单元页斜线方向的奇数行,从右上角到左下角依次将二维数据字写入大小等于2X2的字单元中,直至该行的字单元全部被写入为止;5106)判断是否有下一个斜线方向的奇数行尚未写入,若有转至步骤S105;若二维字单元页奇数行的所有字单元被写满二维数据字,则进入下一步;5107)保护字填充模块根据步骤S10;3)选取的编解码规则表,选取对应的二维保护字, 沿二维字单元页斜线方向的偶数行,从右上角到左下角依次将该二维保护字填充到字单元中,直至该行的所有字单元全部被填满为止;5108)判断是否有下一个斜线方向的偶数行尚未填满,若有转至步骤S107;若所有偶数行的二维字单元被填满二维保护字,进入下一步;5109)判断是否还有未编码的一维数据字块,若有转至步骤S103;否则结束编码过程。
3.根据权利要求1所述的带保护字的二维游程长度受限约束的编解码器的使用方法, 其特征在于通过解码器实现解码过程,依次包括以下步骤5201)将从二维数据记录装置读取的二维数据阵列暂时存放在二维数据缓冲模块中;5202)二维字单元页构造模块读取大小为2NX2M的二进制数据阵列,将该二维数据阵列以2X2为最小读取单元进行均勻划分,形成大小等于NXM的二维字单元页;5203)一维数据字译码模块以该二维字单元页的字单元行为基准,沿字单元页斜线方向的奇数行,依据编码器编码顺序,从右上角到左下角依次读取字单元数据,根据编解码表译码出相应的一维2比特数据字;5204)判断是否有下一个斜线方向的奇数行尚未译码,若有转至步骤S203;若二维字单元页的奇数行所有字单元被译码,进入下一步;5205)一维数据流组装模块将得到的一维2比特数据字按照相应的译码先后次序进行组装,获取对应的一维二进制数据块;5206)判断是否还有尚未解码的二维数据阵列,若有转至步骤S202;否则将上述步骤得到的一维二进制数据块按照先后顺序合并成一维数据流输出,译码结束。
4.根据权利要求2或3所述的方法,其特征在于,所述编解码表见下表
5.根据权利要求2或3所述的方法,其特征在于,所述编解码表见下表
全文摘要
本发明提供了一种带保护字的二维游程长度受限约束的编解码器及其使用方法,该编解码器包括编码器和解码器,所述编码器包括数据缓冲及分组模块、二维码字生成模块、二维字单元页构造模块、二维码字写入阵列模块、保护字填充模块,上述五个模块依次连接,最后通过其中的保护字填充模块输出给二维数据记录装置;所述解码器包括二维数据缓冲模块、二维字单元页构造模块、一维数据字译码模块、一维数据流组装模块,上述五个模块依次连接,最后通过其中的一维数据流组装模块输出。本发明的编解码方法和装置能解决由“0”和“1”构成的二维数据阵列在两个方向上均满足(1,3)RLL约束的二维(1,3)RLL的技术问题。
文档编号G11B27/031GK102298953SQ201110148840
公开日2011年12月28日 申请日期2011年6月3日 优先权日2011年6月3日
发明者刘继斌 申请人:武汉纺织大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1