高密度光盘的纠错编码方法及数据格式编制方法
技术领域
本发明属于光盘存储技术领域,具体涉及光盘数据格式的设计,可以在高密度光存储设备中应用。
背景技术
目前,传统的DVD碟片容量已无法满足观看高清晰视频节目的高容量要求,虽然国外已经出了蓝光光盘(其容量单面单层可以达到25G),但是其昂贵的成本使其在目前的市场中无法推广,因此,开发一种基于红光技术的高容量碟片势在必行。与此同时,我国DVD碟机的生产厂商因为DVD版权专利的问题,其生存受到很大威胁,而目前研制的EVD、FVD、HVD等由于基本物理格式仍然采用DVD的格式,因此都无法避免该问题。为了摆脱昂贵的专利费负担,急需开发一种具有自有知识产权的新的多媒体光盘物理格式标准,以使我国的多媒体碟机生产具有较强的市场竞争力。
DVD的基本物理格式如下:
1 DVD数据扇区
用户扇区中包括2048字节的用户数据,在数据前面加上12字节的扇区头(包括4字节的扇区标示码ID、2字节的ID检错码IED和6字节的拷贝保护信息CPR)和4字节的扇区尾(包括4字节的检错码EDC),一共2064字节。将这2064字节组成一个12行172列的块,而块中的2048用户数据还要再经过扰频处理,最后得到的数据块就是数据扇区。参见图1所示。图1DVD数据扇区(共172×12=2064字节)。
2 DVD ECC
连续的16个数据扇区(共16×2064=33024字节)组合在一起,形成一个192行172列的ECC块,对该ECC块进行RS-PC编码:对这172列的每一列,进行RS(208,192,17)编码,得到一个16字节的外部校验码PO(Outer-parity Redd-Solomoncode);将得到的PO数据附加在这对应列的末尾,即数据块新增16行。然后对这208行(原数据192行,PO数据16行)的每一行进行RS(182,172,11)编码,得到一个10字节的内部校验码PI(Inner-parity Reed-Solomon code);将得到的PI数据附加在对应行的末尾,即数据块新增10列。最后得到一个208行182列的ECC块。参见图2所示。
3 DVD记录帧的形成
DVD的ECC块被分为16个记录扇区,每个扇区为13行/182列,在生成记录扇区时,16行PO和相应PI码分别交错分布于16个扇区之中,具体构成如图3所示。
图3DVD记录帧的形成
该格式有下列不足:
1、编码效率低(每记录扇区(2366字节)约为308/2366≈13%的数据冗余,其中308字节额外数据中有302字节的RS码校验字),不能满足单面双面(容量13G)的高清晰(分辨率1920×1080i)视频节目的要求;
2、纠错能力的提供依赖于高冗余度的数据编码方式,DVD采用的纠错码(ECC)块长为16个记录扇区,共计38688个字节,对应光道上82.5344mm长度;若原始误码率为10-3,经纠错后,误码率可小于10-20,远远低于计算机所需的误码率10-12。但是,该方案的强纠错能力主要得益于高数据冗余度,不利于有限空间的合理利用;而且该方案对突发错误的应对能力并不是十分强大,没有针对高密度光盘的特点。因此,其无法适应高密度盘片的高编码效率与高纠错能力(特别是纠正突发错误的能力)的要求。
发明内容
本发明的目的是克服DVD的基本物理格式的不足,提供一种高密度光盘的纠错编码方法及数据格式编制方法,该纠错编码及数据格式具有高的编码效率,以使光盘具有较大的有效存储容量,其纠错能力并不下降。
本发明的技术方案是:一种高密度光盘的纠错编码方法,其特征在于:
纠错编码分别采用冗余较少的RS编码4RS(n1,k1,2×t1)和冗余度大的RS编码5RS(n2,k2,2×t2)的里德所罗门编码,t1小于等于t2,且都远远小于高密度光盘大尺度噪声可能引发的大片突发错误数;
将RS编码5RS(n2,k2,2×t2)用于光盘中的控制数据的编码;而将RS编码4RS(n1,k1,2×t1)用于光盘中的音视频数据;
移位交错算法:即对进行RS编码后的数据进行移位交错,以补偿RS编码纠正突发错误能力的不足;
分为针对控制数据ECC块的移位交错,以及音视频数据ECC块与控制数据ECC块混合后的ECC簇数据的移位交错;
控制数据ECC块的移位交错:ECC块中的数据按行进行循环右移,每行数据循环右移的字节数为i×k,其中i为ECC块的行号、k为循环右移字节单位;例如:从第0行开始,由于i=0,循环右移i×k=0字节,即第0行保持原状;第1行右移k字节,移出的k字节补足到左边空出的k字节中;第i行则右移i×k字节,移出的i×k字节补足到左边空出的i×k字节中;循环右移时需要合理地选择k的值,使ECC块经过移位交错后,每一列中同一码字的码元数量小于t2,这样对纠错能力为t2的编码,每一列中的控制数据都可以正确地纠正;
ECC簇数据的移位交错:将ECC簇中的数据分为m个组,然后分别对各组数据进行循环移位交错;按照控制数据ECC块相同的移位交错方法,以n字节为单位进行循环右移操作;需要合理地选择m和n的值,使得ECC簇数据移位交错后,纠错编码码字的交错度达到s。
如上所述的高密度光盘的纠错编码方法,其特征在于:
所述的对音视频数据进行冗余较少的RS编码4,采用RS(248,228,21)编码,是长距离RS码;具有数据冗余度小的特点,编码效率达到91.9%;
所述的对控制数据进行冗余度大的RS编码5,采用RS(36,16,21)编码,是冗余度大的RS编码方案;结合移位交错运算,对数据的可靠性进行保证。
一种高密度光盘的数据格式编制方法,其光盘数据存放的数据格式,包括数据帧、音视频数据扇区、音视频数据ECC块、控制数据ECC块,编码中采用与DVD相同的:用户数据,每数据帧中用户数据的EDC码生成算法,对数据扇区数据进行扰频的扰频算法,其特征在于:将音视频数据与控制数据分开处理,对音视频数据进行冗余较少的RS编码4RS(n1,k1,2×t1),对控制数据进行冗余度大的RS编码5RS(n2,k2,2×t2),并用移位交错算法作为纠错能力的补偿,将相应的控制数据ECC块的数据按列分别插入音视频数据ECC块并经过移位交错运算形成ECC簇;
所述RS编码4RS(n1,k1,2×t1)和RS编码5RS(n2,k2,2×t2)的里德所罗门编码,t1小于等于t2,且都远远小于高密度光盘大尺度噪声可能引发的大片突发错误数;
将RS(n2,k2,2×t2)用于光盘中的控制数据的编码;而将RS(n1,k1,2×t1)用于光盘中的音视频数据的编码;
所述移位交错算法:即对进行RS编码后的数据进行移位交错,以补偿RS编码纠正突发错误能力的不足;
分为针对控制数据ECC块的移位交错,以及音视频数据ECC块与控制数据ECC块混合后的ECC簇数据的移位交错;
控制数据ECC块的移位交错:ECC块中的数据按行进行循环右移,每行数据循环右移的字节数为i×k,其中i为ECC块的行号、k为循环右移字节单位;例如:从第0行开始,由于i=0,循环右移i×k=0字节,即第0行保持原状;第1行右移k字节,移出的k字节补足到左边空出的k字节中;第i行则右移i×k字节,移出的i×k字节补足到左边空出的i×k字节中。循环右移时需要合理地选择k的值,使ECC块经过移位交错后,每一列中同一码字的码元数量小于t2,这样对纠错能力为t2的编码,每一列中的控制数据都可以正确地纠正;
ECC簇数据的移位交错:将ECC簇中的数据分为m个组,然后分别对各组数据进行循环移位交错。按照控制数据ECC块相同的移位交错方法,以n字节为单位进行循环右移操作。需要合理地选择m和n的值,使得ECC簇数据移位交错后,纠错编码码字的交错度达到s。
如上所述的高密度光盘的数据格式编制方法,其特征在于:
所述的对音视频数据进行冗余较少的RS编码4,采用RS(248,228,21)编码,是长距离RS码;具有数据冗余度小的特点,编码效率达到91.9%;
所述的对控制数据进行冗余度大的RS编码5,采用RS(36,16,21)编码,是冗余度大的RS编码方案;结合移位交错运算,对数据的可靠性进行保证。
本发明的原理是:
对音视频数据进行冗余较少的RS编码4,提高编码效率,纠错能力的不足用通过ECC簇内数据移位交错(详见图10)进行补偿;对控制数据进行冗余度大的RS编码5,结合有效的控制ECC块内数据交错(详见图7-2),力求保证控制数据的正确性;用纠错编码移位交错算法(包括ECC簇内数据交错与控制ECC块内数据交错)6,补偿RS编码的纠错能力限制,提高应对突发错误的能力。利用本发明申请提出的数据格式和纠错编码及其交错技术,将大量纠错编码的码字集中在一起,并通过交错排列将不同码字的码元分散到不同的地方,以克服高密度光盘的大尺度噪声,使纠错编码纠正突发错误的能力提高为s×t,其中s为纠错编码码字的交错度,t是单个纠错码的纠错能力。
本发明的有益效果是:
具有比DVD高的编码效率,单面双层容量可以达到13G,满足高清视频节目(分辨率1920×1080i)的要求。同时,其纠错能力在可接受的范围内,控制数据的错误几乎可以全部得到纠正,音视频数据的纠错能力约为DVD纠错能力的47.5%,而其编码效率可达>90%。
附图说明
图1,DVD数据扇区(共172×12=2064字节)。
图2,DVD ECC块(共172×12=2064字节)。
图3,DVD记录帧的形成。
图4,本发明实施例的多媒体数据编码流程。
图5,本发明实施例的数据帧格式。
图6-1,本发明实施例的RS(248,228,21)编码的一个音视频数据扇区。
图6-2,本发明实施例的RS(248,228,21)编码的一个音视频数据ECC块。
图7-1,本发明实施例的一个控制数据ECC块。
图7-2,本发明实施例的一个控制数据ECC块中数据的循环变换。
图8,本发明实施例加入控制数据后的ECC。
图9,本发明实施例的一个ECC族。
图10,本发明实施例的ECC族中进行行循环移位变换的数据。
具体实施方式
本发明的实施例通过图3——图10给予了表述。以下结合附图,做进一步详细地描述。
本发明实施例的高密度光盘的纠错编码方法及数据格式,其光盘数据存放的数据格式,包括数据帧、音视频数据扇区、音视频数据ECC块、控制数据ECC块,将相应的控制数据ECC块的数据按列分别插入8个音视频数据ECC块并经过移位交错运算形成ECC簇。
1.数据帧设计
每个数据帧定义为(2048+4)字节。其中2048字节为音视频数据,另外4字节为检错码;该数据帧对应的控制信息为16字节。数据帧及其控制信息如图5所示。图5数据帧格式。
2.音视频数据ECC块数据格式设计
根据多媒体文件的特点,对于一般的音视频数据不要求100%的正确率,而在多媒体文件中绝大部分信息均为音视频数据。因此,对音视频数据编码效率的提高有利于提高盘片空间的利用率。在音视频数据ECC块的设计中,以4个数据帧形成一个音视频数据扇区进行编码,4个数据帧的数据以列优先的顺序存放在一个音视频数据扇区中(228行×36列),对该扇区矩阵的列进行RS(248,228,21)编码(如图6-1,图6-2所示)。图6-1一个音视频数据扇区,图6-2一个音视频数据ECC块。
3.控制数据ECC块数据格式设计
由于控制数据的重要性,要求控制数据具有高的可靠性。因此以32个连续数据帧的控制数据集中进行RS编码,其中每帧的控制数据按列存放,并对每列数据进行RS(36,16,21)编码。编码结束后进行块内移位交错:36行编码后数据从第0行开始,依次循环右移8字节,即第0行保持原状;第1行右移8字节,移出的8字节补足到左边空出的8字节中;第2行右移16字节,移出的16字节补足到左边空出的16字节中……,每4行数据完成一轮循环;第4行同第0行,第5行同第1行……,依次共进行9轮循环。这样,当应对突发错误时,可以看到,由于一行数据中未变动的码字为9个字节,而编码的纠错能力为10个字节,可以保证控制数据高正确性的要求(如图7-1,图7-2所示)。图7-1一个控制数据ECC块,图7-2一个控制数据ECC块中数据的循环变换。
4.ECC簇设计
将32个连续的数据帧进行组合,构造成一个ECC簇以供下一步处理。ECC簇的构造方法如下:
根据以上2,3条设计的音视频数据ECC块和控制数据ECC块,32个连续的数据帧将得到8个音视频数据ECC块和一个控制数据ECC块,将这个控制数据ECC块中共32列数据以4列为一组插入到8个音视频数据ECC块中。
1)插入方法如下:
控制数据ECC块0~3列 ——音视频数据ECC块0
控制数据ECC块4~7列 ——音视频数据ECC块4
控制数据ECC块8~11列 ——音视频数据ECC块1
控制数据ECC块12~15列 ——音视频数据ECC块5
控制数据ECC块16~19列 ——音视频数据ECC块2
控制数据ECC块20~23列 ——音视频数据ECC块6
控制数据ECC块24~27列 ——音视频数据ECC块3
控制数据ECC块28~31列 ——音视频数据ECC块7
每个音视频数据ECC块分得的4列控制数据以简单追加的方式分散到ECC块中,这个每个音视频数据ECC块将得到4个新增的数据行(如图8所示)。图8加入控制数据后的ECC。
2)完成控制数据插入操作后,对ECC簇的数据分2组进行循环移位交错变换,其中第0、1、4、5块数据为第1组,第2、3、6、7块数据为第2组。循环移位交错变换时,以3字节为单位进行循环右移操作(如图10所示)。ECC簇中ECC块的排列方式如图9所示。图9一个ECC族;图10ECC族中进行行循环移位变换的数据。
在本发明实施例的纠错编码和数据格式中,编码效率为(以一个ECC簇为单位来进行计算):
用户数据: 2048B×32=65536B
检错码: 4B×32=128B
音视频数据RS纠错码: 20B×36×8=5760B
控制数据: 16B×32=512B
控制数据RS纠错码: 20B×32=640B
音视频数据RS码编码效率:65536/(65536+5760)=91.9%
方案整体编码效率: 65536/(65536+5760+512+640)=90.5%(加入的控制信息也作为冗余数据)
本发明实施方案中,纠错编码的纠错能力评估如下:
根据高密度光盘多媒体应用的特点,针对光盘中重要的控制数据和相对次要的音视频数据分别进行纠错编码设计。
对于要求高可靠性的控制数据,采用了冗余度大的RS(36,16,21)编码,并且在一个控制数据ECC块编码结束后对编码后的数据进行了块内移位交错处理,最后再将控制数据分散到音视频数据ECC块中,形成最终的ECC簇。经过以上处理,对于控制数据而言,其纠错能力远强于DVD编码方式提供的纠错能力,对于不大于1/2ECC簇数据长度的连续突发错误,控制数据的错误几乎可以全部得到纠正。
对于相对允许稍许错误的音视频数据,采用了冗余度小的RS(248,228,21)编码。为了弥补大量减少纠错码所带来的纠错性能的损失,使用了将数据按列优先存放、按列编码、按行记录的策略;并且在插入控制数据ECC块后,再次进行了ECC簇内移位交错变换,将连续的音视频数据在ECC簇中进行分散,平均交错度s达到:(23×3×24+1×3×1)/24=69.125,单个纠错码的纠错能力t为10,因此,该音视频数据纠错码设计方案的纠错能力(s×t)为691,约为DVD(182×8=1456)的47.5%。
根据以上分析,在本发明方案设计中,采用了高冗余度的控制数据RS编码方式,保证了控制数据的可靠性;采用冗余度低的音视频数据RS编码方式,在具有47.5%的DVD纠错能力的条件下,大大地减少了数据冗余(本方案中,整体编码效率可达90.5%,高于DVD的编码效率)。因此,具有应用于高密度光盘提高光盘有效存储容量的可行性。