用于变长码率的二维游程长度受限约束编解码装置及方法制造方法及图纸

技术编号:8272103 阅读:350 留言:0更新日期:2013-01-31 04:34
本发明专利技术提供了用于变长码率的二维游程长度受限约束编解码装置及方法,该装置包括编码器和解码器,所述编码器包括一维数据流缓冲及分组模块、2×2码字生成模块、二维字单元阵列构造模块、2×2码字写入二维字单元阵列模块,最后通过其中的2×2码字写入二维字单元阵列模块将二维数据阵列输出给二维数据记录装置;所述解码器包括二维阵列缓冲模块、二维字单元页构造模块、二维字单元读取模块、2×2码字到一维数据映射模块、一维数据流组装模块,最后通过其中的一维数据流组装模块输出。本发明专利技术能解决二维数据阵列在水平和垂直两个方向上,相邻数据1之间,数据0的游程长度最小等于1最大等于3的二维数据阵列构造的技术问题。

【技术实现步骤摘要】
本专利技术属于数据存储领域和通信领域。具体涉及当将二进制数据存储在矩形格子组成的平面上,无论是在水平方向还是在垂直两个方向上,在相邻数据” I”之间,数据“O”的游程长度最少等于1,最多不超过3的编解码方法及其使用装置。本专利技术是一种变长码率的编译码技术,即输出的二维码字长度和输入的一维数据长度之比是随着输入条件变化而变化,码率是变化的。
技术介绍
在当前主流的磁带和光盘存储技术中,数据是沿着轨道(Track)记录在存储介质上。在这些存储器中,为提高存储系统的可靠性,通常对二进制数据序列做必要的 约束限制。其中最为常见的限制是RLL(d,k)游程长度受限约束(Runlength LimitedConstraint),d表示在连续数据“I”之间,“O”的游程长度最小值,k表示其最大值。通过选取适当的参数d可控制最高传输频率,以达到减少码间串扰的目的;在读取数据时,参数k则可确保有足够的跳变频率来满足对时钟同步控制的需求。著名的Miller码,即改进型调频码MFM(美国专利号3,108,261,公布日1963年10月22日),就是其中的一个代表。在MFM码中,相邻数据“ I”之间,“O”的游程长度至少等于I,最多不超过3。近些年出现了以二维页面方式记录数据的新型存储器,比如全息存储器、二维光盘和二维图案记录等。这类存储器有一个共同特点数据每次按照二维页面的方式存储在记录介质上,在读取数据时,也是按照整页整页的方式进行。图I描述了 8X8的二进制比特数据在这种新型二维存储器中的布局示意。在这个例子中,一个方形格子代表了 I位数据信息,即黑色代表“1”,白色代表“0”,每位二进制数据比特“O”或“I”都有4个比特信息和它本身直接相邻(即通常所说的上、下、左和右)。类似于在一维存储技术中对二进制序列做出的约束限制,在这种二维页面记录的存储器中,也需要对二维数据阵列在行(水平)方向和列(垂直)方向上做约束限制。不难看出,前面提到的改进型调频码(MFM),在这种二维情形下就不再有效,即由数据“O”和“I”构成的二维二进制数据阵列在行方向和列方向上不能同时满足当d=l及k=3的时候,对数据“O”的游程长度最小等于1,最多不超过3的限制要求。专利申请201110148840. 9提出了一种带保护字的沿二维格子对角线编码方法,基于该专利的方法可构造出由数据“I”和数据“O”组成的二进制矩形数据阵列在行(水平)方向和列(垂直)方向两个方向能同时满足数据“O”的游程长度的最小值等于1,最多不超过3的二维数据阵列。但该专利给出的技术是固定码率的,码字长度和输入数据之比是固定值,即码率等于O. 25。
技术实现思路
本专利技术所要解决的技术问题是提供用于变长码率的二维游程长度受限约束的编解码装置及使用方法,本专利技术的编解码方法和装置能解决由“O”和“ I ”构成的二维数据阵列在水平(行方向)和垂直(列方向)两个方向上,在相邻数据“I”之间,数据“O”的游程长度最小等于1,最大等于3的二维数据阵列构造的技术问题,相对于专利201110148840. 9给出的码率等于O. 25,本专利技术的平均编码码率大约提高了大约12. 3%,达到了 O. 2808左右。为了达到上述专利技术目的,本专利技术采取的技术方案是用于变长码率二维游程长度受限约束的编解码装置,包括编码器和解码器,所述编码器包括 一维数据流缓冲及分组模块,该模块在缓冲接收一维数据流的同时,按照2比特为一组将其划分成若干个一维数据字; 2 X 2码字生成模块,该模块根据编译码规则表,将一维数据流缓冲及分组模块划分的若干个一维数据字生成相应的2X2 二维约束码字,按照先后产生次序输入到2X2码字写入二维字单元阵列模块的2X2字单元缓冲区; 二维字单元阵列构造模块,该模块将二维阵列划分成若干个由大小为2X2的二维字单元组成的二维字单元阵列,并置二维字单元阵列的每个二维字单元写入标志位等于可写标志; 2X2码字写入二维字单元阵列模块,该模块将2X2码字生成模块中的2X2 二维约束码字序列从本模块的缓冲区按照先后顺序读出,并沿着二维字单元阵列对角行,逐行将2X2 二维约束码字写入到二维字单元阵列中; 上述编码器的四个模块依次连接,最后通过其中的2X2码字写入二维字单元阵列模块将二维数据阵列输出给二维数据记录装置; 所述解码器包括 二维阵列缓冲模块,该模块主要用于暂时存放从二维数据记录装置读取的大小为2NX2M的二维数据阵列; 二维字单元页构造模块,该模块主要用于将二维阵列缓冲模块中的2NX2M 二维数据阵列划分成由2X2为最小读取单元的NXM的二维字单元阵列,并置二维字单元阵列的每个字单元读取标志位为可读标志; 二维字单元读取模块,该模块主要用于从二维字单元阵列读取适宜的2X2 二维约束码字,并暂时存放所产生的2X2 二维约束码字序列; 2X2码字到一维数据映射模块,该模块主要用于从二维字单元读取模块中读取2X2二维约束码字序列,根据编译码规则表,将2 X 2 二维约束码字按照先后次序译码成大小等于2比特的一维数据字; 一维数据流组装模块,该模块主要用于将2 X 2码字到一维数据映射模块产生的2比特一维数据字按照产生的先后顺序组装成一维数据流; 上述解码器的五个模块依次连接,最后通过其中的一维数据流组装模块输出。所述用于变长码率的二维游程长度受限约束的编解码装置的编解码方法,通过编码器实现编码过程,依次包括以下步骤 5101)—维数据流缓冲及分组模块将输入的二进制一维数据流按每2比特为一组均匀地划分成若干一维2比特数据字,并将该2比特数据字输入到2X2码字生成模块的数据缓冲区暂存; 5102)2X2码字生成模块从数据缓冲区逐一读取一维2比特数据字,选取编解码规则表的输出方案将一维2比特数据字转化成2X2 二维约束码字; 5103)二维字单元阵列构造模块根据二维数据记录装置的存储大小,将大小为2NX2M的一个二维数据阵列以2 X 2的字单元为一组,划分成包含NXM个大小相同的2 X 2 二维字单元的二维字单元阵列,并置每个2 X 2 二维字单元写入标志为真,其中N和M为正整数; 5104)2X2码字写入二维字单元阵列模块将步骤S102得到的2X2 二维约束码字,以步骤S103得到的2X2的二维字单元为基准,沿二维字单元阵列对角方向从右上角到左下角依次将二维约束码字写入大小等于2X2的二维字单元中,同时根据编解码规则表对当前写入的二维字单元的右方和下方的直接相邻二维字单元进行选择性填充;若该对角行的二维字单元全部被写入则进入下一步,若所有的二维约束码字已填充完毕则直接结束编码过程; 5105)判断是否有下一个对角行尚未写入,若有则转至步骤S104;若该二维字单元页的所有2X2 二维字单元已写满二维约束码字,则进入下一步; 5106)判断是否还有未编码的一维数据字,若有则转至步骤S102;否则结束编码过程。所述的用于变长码率二维游程长度受限约束的编解码装置的编解码方法,通过解 码器实现解码过程,依次包括以下步骤 5201)将从二维数据记录装置读取的二维数据阵列暂时存放在二维数据缓冲模块中; 5202)二维字单元页构造模块读取大小为2NX2M的二维数据阵列,将该二维数据本文档来自技高网
...

【技术保护点】
用于变长码率的二维游程长度受限约束编解码装置,其特征在于包括编码器和解码器,所述编码器包括:一维数据流缓冲及分组模块,该模块在缓冲接收一维数据流的同时,按照2比特为一组将其划分成若干个一维数据字;2×2码字生成模块,该模块根据编译码规则表,将一维数据流缓冲及分组模块划分的若干个一维数据字生成相应的2×2二维约束码字,按照先后产生次序输入到2×2码字写入二维字单元阵列模块的2×2字单元缓冲区;二维字单元阵列构造模块,该模块将二维阵列划分成若干个由大小为2×2的二维字单元组成的二维字单元阵列,并置二维字单元阵列的每个二维字单元写入标志位等于可写标志;2×2码字写入二维字单元阵列模块,该模块将2×2码字生成模块中的2×2二维约束码字序列从本模块的缓冲区按照先后顺序读出,并沿着二维字单元阵列对角行,逐行将2×2二维约束码字写入到二维字单元阵列中;上述编码器的四个模块依次连接,最后通过其中的2×2码字写入二维字单元阵列模块将二维数据阵列输出给二维数据记录装置;所述解码器包括:二维阵列缓冲模块,该模块主要用于暂时存放从二维数据记录装置读取的大小为2N×2M的二维数据阵列;二维字单元页构造模块,该模块主要用于将二维阵列缓冲模块中的2N×2M二维数据阵列划分成由2×2为最小读取单元的N×M的二维字单元阵列,并置二维字单元阵列的每个字单元读取标志位为可读标志;二维字单元读取模块,该模块主要用于从二维字单元阵列读取适宜的2×2二维约束码字,并暂时存放所产生的2×2二维约束码字序列;2×2码字到一维数据映射模块,该模块主要用于从二维字单元读取模块中读取2×2二维约束码字序列,根据编译码规则表,将2×2二维约束码字按照先后次序译码成大小等于2比特的一维数据字;一维数据流组装模块,该模块主要用于将2×2码字到一维数据映射模块产生的2比特一维数据字按照产生的先后顺序组装成一维数据流;上述解码器的五个模块依次连接,最后通过其中的一维数据流组装模块输出。...

【技术特征摘要】
1.用于变长码率的二维游程长度受限约束编解码装置,其特征在于包括编码器和解码器,所述编码器包括 一维数据流缓冲及分组模块,该模块在缓冲接收一维数据流的同时,按照2比特为一组将其划分成若干个一维数据字; 2X2码字生成模块,该模块根据编译码规则表,将一维数据流缓冲及分组模块划分的若干个一维数据字生成相应的2X2 二维约束码字,按照先后产生次序输入到2X2码字写入二维字单元阵列模块的2X2字单元缓冲区; 二维字单元阵列构造模块,该模块将二维阵列划分成若干个由大小为2X2的二维字单元组成的二维字单元阵列,并置二维字单元阵列的每个二维字单元写入标志位等于可写标志; 2X2码字写入二维字单元阵列模块,该模块将2X2码字生成模块中的2X2 二维约束码字序列从本模块的缓冲区按照先后顺序读出,并沿着二维字单元阵列对角行,逐行将2X2 二维约束码字写入到二维字单元阵列中; 上述编码器的四个模块依次连接,最后通过其中的2X2码字写入二维字单元阵列模块将二维数据阵列输出给二维数据记录装置; 所述解码器包括 二维阵列缓冲模块,该模块主要用于暂时存放从二维数据记录装置读取的大小为2NX2M的二维数据阵列; 二维字单元页构造模块,该模块主要用于将二维阵列缓冲模块中的2NX2M 二维数据阵列划分成由2X2为最小读取单元的NXM的二维字单元阵列,并置二维字单元阵列的每个字单元读取标志位为可读标志; 二维字单元读取模块,该模块主要用于从二维字单元阵列读取适宜的2X2 二维约束码字,并暂时存放所产生的2X2 二维约束码字序列; 2X2码字到一维数据映射模块,该模块主要用于从二维字单元读取模块中读取2X2二维约束码字序列,根据编译码规则表,将2X2 二维约束码字按照先后次序译码成大小等于2比特的一维数据字; 一维数据流组装模块,该模块主要用于将2 X 2码字到一维数据映射模块产生的2比特一维数据字按照产生的先后顺序组装成一维数据流; 上述解码器的五个模块依次连接,最后通过其中的一维数据流组装模块输出。2.根据权利要求I所述的用于变长码率的二维游程长度受限约束编解码装置的编解码方法,其特征在于通过编码器实现编码过程,依次包括以下步骤 5101)—维数据流缓冲及分组模块将输入的二进制一维数据流按每2比特为一组均匀地划分成若干一维2比特数据字,并将该2比特数据字输入到2X2码字生成模块的数据缓冲区暂存; 5102)2X2码字生成模块从数据缓冲区逐一读取一维2比特数据字,选取编解码规则表的输出方案将一维2比特数据字转化成2X2 二维约束码字; 5103)二维字单元阵列构造模块根据二维数据记录装置的存储大小,将大小为2NX2M的一个二维数据阵列以2 X 2的字单元为一组,划分成包含NXM个大小相同的2 X 2 二维字单元的二维字单元阵列,并置每个2 X 2 二维字单元写入标志为真,其中N和M为正整数;5104)2X2码字写入二维字单元阵列模块将步骤S102得到的2X2 二维约束码字,以步骤S103得到的2X2的二维字单元为基准,沿二维字单元阵列对角方向从右上角到左下角依次将二维约束码字写入大小等于2X2的二维字单元中,同时根据编解码规则表对当前写入的二维字单元的右方和下方的直接相邻二维字单元进行选择性填充;若该对角行的二维字单元全部被写入则进入下一步,若所有的二维约束码字已填充完毕则直接结束编码过程; 5105)判断是否有下一个对角行尚未写入...

【专利技术属性】
技术研发人员:刘继斌
申请(专利权)人:武汉纺织大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1