使用选择性奇偶外部码校正的dvd解码方法和装置的制作方法

文档序号:6756477阅读:208来源:国知局
专利名称:使用选择性奇偶外部码校正的dvd解码方法和装置的制作方法
技术领域
本发明涉及一种解码DVD格式的数据的方法和装置。
背景技术
在DVD-ROM(数字通用光盘只读存储器)上存储的数字视频信号被排列为ECC(纠错码)数据的多个块。如按照背景技术的图1所述,ECC块100包括2048个加扰的用户数据字节,它们被当作具有192行和172列(其中每列是一个字节宽)的主数据102的阵列。用户数据的ECC编码通过增加10字节的PI(奇偶内部码)数据104来加宽192行的每一行,以及通过增加16行的PO(奇偶外部码)数据106来延长172列的每一列。
图2是按照背景技术的DVD设备(播放机/记录机)202的方框图。DVD设备202包括ECC解码器204和在ECC解码器204外部的第一存储器206。以下,存储器206将被称为外部存储器206。ECC解码器204包括解调器208;ECC引擎210;第二存储器212(以下称为内部存储器212,这是因为它对于ECC解码器204是内部的)。ECC引擎210包括PI校正子产生器214;PO校正子产生器216。如所公知的,校正子(syndrome)是矩阵相乘的积,它用于识别几个可能被噪音损害的候选数据段的哪一个表示真实的数据。具体而言,校正子是奇偶校验矩阵乘以候选数据的向量的乘积。
解调器208从DVD 200读取和解调ECC数据块,并且在外部存储器204中存储所解调的ECC块。DVD设备202的更原始、更老的版本经由ECC引擎210如下解码ECC块(1)经由PI校正子产生器214产生PI校正子;(2)在内部存储器212中暂时存储PI校正子和ECC块;(3)对于整个ECC块执行PI校正;(4)在内部存储器212中以整个PI校正块重写所述整个ECC块;(5)经由PO校正子产生器216来产生PO校正子;(6)在内部存储器212中暂时存储PO校正子;(7)对于整个PI校正块执行PO校正;以及(8)在内部存储器204中存储PO校正块。PO校正块表示解码的DVD数据,它可以从外部存储器206被输出到主机。
所述DVD设备202的更老的版本具有优点仅仅需要单个ECC引擎210。但是它具有更大的缺点它需要大的内部存储器212(例如40k字节的SRAM)以便暂时存储PI校正块。因为内部存储器212的大小代表DVD设备202的总成本的很大部分,因此努力降低内部存储器212的大小。
可以认识到如果(1)仅仅PO校正子被存储在内部存储器212中而PI校正块被存储在外部存储器206中,并且(2)提供了第二ECC引擎,则可以以足够的速度来执行解码。这带来了将内部存储器212的大小大大降低到6k字节的益处。第二ECC引擎使得有可能同时产生用于块(k)的PO校正子和PO校正块(k-1)。

发明内容
本发明的至少一个实施例提供了解码DVD格式数据的方法。这样的方法可以包括接收DVD格式数据的解调的纠错码(ECC)块;按照需要来奇偶内部码校正(PI校正)解调的ECC块;识别应该受到PO校正的PI校正块内的任何错误列;以及仅仅选择性地PO校正错误的PI校正列以获得ECC块的解码版本。
本发明的至少一个其他实施例提供了一种用于解码DVD格式数据的装置。这样的装置可以包括外部存储器,其中存储了DVD格式数据的解调的纠错码(ECC)块;ECC引擎,用于按照需要奇偶内部码校正(PI校正)解调的ECC块;奇偶外部码确定(PO确定)逻辑,用于指示应当受到PO校正的PI校正块内的任何错误列,并且用于选择性地使得ECC引擎仅仅PO校正错误的PI校正列,以便获得ECC块的解码版本。
通过下面示例实施例的详细说明、附图和相关联的权利要求,本发明的其他特点和优点将更清楚。


将参照附图来更全面地说明本发明,在附图中描述了本发明的示例实施例。
应当理解,在不脱离本发明的精神和范围的情况下,可以在形式和细节上修改在此所述的本发明的示例实施例。因此,在此所述的实施例是举例而不是限定,并且本发明的范围不限于在此所述的特定实施例。
图1是按照背景技术的、在DVD-ROM上存储的、并且被排列为ECC数据块的数字视频信号的方框图。
图2是按照背景技术的、DVD设备(播放机/记录机)的方框图。
图3A是按照本发明的至少一个实施例的、DVD设备302的方框图。
图3B是按照本发明的至少一个实施例的、图3A的方框图变化形式,并且同样是DVD设备302的方框图。
图4是按照本发明的至少一个实施例的、图3A的PO校正子产生器的更详细的方框图。
图5是图解按照本发明的至少一个实施例的、用于解码DVD格式数据的示例方法的UML类型的时序图。在时序图中, 表示期望响应消息的行为。 表示响应消息。 表示包含响应的行为。并且, 表示不期望响应的行为。
具体实施例方式
在开发本发明的过程中,认识到在背景技术中的下列问题,并且识别了获得解决方案的路径。
背景技术
的DVD设备202对于PI校正块的每个列执行PO校正。但是,不是PI校正块的每个列具有需要校正的错误。这浪费了处理带宽,增加了解码所需要的总的时间,并且增加了内部存储器的大小。如果可以识别在PI校正块中的错误列和仅仅错误列被校正,则可以缓和这样的问题。本发明的至少一个实施例提供了一种解码DVD格式数据的方法,所述方法仅仅选择性地对错误的PI校正列进行PO校正以获得被ECC的块的解码版本。
图3A是按照本发明的至少一个实施例的DVD设备302的方框图。DVD设备302包括ECC解码器304和在ECC解码器304之外的第一存储器206,例如SDRAM。以下,存储器306将被称为外部存储器306。ECC解码器304包括解调器208;ECC引擎310;第二存储器312(以下称为内部存储器312,这是因为它对于ECC解码器304是内部的),如SRAM。ECC引擎310包括PI校正子产生器314(其中,再次,PI是术语奇偶内部的首字母缩写词);PO校正子产生器316(其中,再次,PO是术语奇偶外部的首字母缩写词);PO确定逻辑318。
ECC引擎310在执行PO校正之前执行PI校正。分别经由PI校正子和PO校正子的计算来帮助两种类型的校正。再次,校正子是矩阵相乘的乘积,它用于识别几个可能被噪音损害的候选数据段的哪一个表示真实的数据。具体而言,校正子是奇偶校验矩阵乘以候选数据的向量的乘积。
PO确定逻辑318可以对于PO校正子操作以向ECC引擎310指示在PI校正块内的哪些列是错误的并且应当接受PO校正。然后,ECC引擎310可以选择性地仅仅PO校正错误的PI校正列以获得被ECC的块的解码版本。
图3B是图3A的方框图变化形式,它在与其相关联的一些方面被简化,并且在与其相关的一些方面更为详细。同样,图3B是按照本发明的至少一个实施例的DVD设备302的方框图。
在DVD数据的解码中的中间点,ECC引擎310的输出是PI校正块,它是对应的、由解调器208解调的先前存储在外部存储器206中的ECC块的版本。但是,如下面更详细所述,ECC引擎310在逐行基础上产生PI校正块324。但是,为了简化说明,ECC引擎310的输出在图3B中被描述为阵列形式的PI校正块324。通过与row(i)邻接的括号来描述ECC引擎310操作来产生PI校正块324的逐行方式。
图3B也描述了被当作具有N行和M列,例如N=16和M=182的阵列的PO校正子数据322(在内部存储器312中)。如下进一步所述,对于由ECC引擎310产生的PI校正块324的每个row(i),PO校正子产生器316重复地产生PO校正子数据322的所有N行。因此,对于每个这样的重复,PO校正子产生器316接收PI校正块324的一行和PO校正子数据322的前一个重复的所有N行(也将在下面更详细地被说明)。
图4是按照本发明的至少一个实施例的、PO校正子产生器316的更详细的方框图。图4在与图3B相关联的一些方面上被简化,在与其相关联的一些方面上更为详细。
在图4中,PO校正子产生器316被描述为包括乘法器组401;移位寄存器组403;加法器组405。组401包括乘法器402g1、402g2、402g3、…、402g(N),用于将PI校正块324的row(i)乘以例如一组系数,用于对PI校正块324的row(i)执行伽罗瓦域相乘(Galois field multiplication)。每个乘法器402g(j)接收PI校正块324的row(i)和系数g(j),诸如伽罗瓦域系数(Galois fieldcoefficient)。
组403包括移位寄存器404r1、404r2、404r3、…、404r(N),它们在递归地计算PO校正子数据322的下一个版本(k)同时保存PO校正子数据322的前一个版本(k-1)。可以通过加法器406r1、406r2、406r3、…、406r(N)的组405来执行这样的递归计算。更具体而言,加法器406r(j)接收由乘法器402g(j)产生的乘积和来自移位寄存器404r(j)的row_(j)(k-1),并且将它们相加在一起(或换句话说,累加它们)以产生row_(j)(k)。
图5是按照本发明的至少一个实施例的、根据在图3A的部件之间的示例交互来描述一种用于解码DVD格式数据的方法的UML类型的时序图。
在消息500,解调器208从DVD 200读取和解调ECC数据块,并且重新排列和然后在外部存储器206中存储解调的ECC块。然后进入循环501。前面说明了将解调的ECC块当作行和列的阵列,在消息502,ECC引擎310读取在外部存储器206中的解调ECC块的row(i)。
在自我消息504,如果必要的话,ECC引擎310(经由PI校正子产生器314)对解调的ECC块的row(i)进行PI校正。PI错误是在解调的ECC块中的第一等级的错误,其中PO错误是第二等级的错误,不可校正的错误是第三等级的错误。在消息504需要PI校正的可能性大。因此,图3B的方框324被标为PI校正数据,即使可能有不要求PI校正的一个或多个行也是如此。
在该消息后,两个消息506A和506B可以基本上同时发生,如连接在ECC引擎310的生命线311上的各个消息源的虚线507所示。在消息506A,ECC引擎向PO校正子产生器316提供未校正的/PI校正的row(i)。如果执行row(i)的PI校正,则在消息506(B),row(i)ECC引擎310在外部存储器206中基本上同时使用PI校正row(i)重写未校正的row(i)。
在自我消息508,PO校正子产生器316执行图4所示的递归伽罗瓦域相乘和累加。在消息510,PO校正子产生器316(通过加法器406r(j)的组405)以PO校正子数据322的版本(k)重写PO校正子数据322的版本(k-1)的所有N行。在自我消息512,PO校正子产生器递增计数器i,例如i=i+1。如果i=N+1,则退出循环501。换句话说,循环501表示产生PO校正子数据322的递归计算。
在消息514,PO确定逻辑318从内部存储器312读取PO校正子数据322的版本(k=N)。在自我消息516,PO确定逻辑318对PO校正子数据322操作以确定在PI校正块324中剩余的错误。再次将PO校正子数据322当作行和列的阵列,PO确定逻辑318可以执行PO校正子数据322的按照列的查看。如果任何列具有非零值,则那表示在PI校正块324的对应列中存在至少一个错误。这样的查看可以是在列中的值的简单的逻辑或运算,其中非零的结果表示错误列。
在消息518,PO确定逻辑318向ECC引擎310提供对于PO校正子数据322中的错误指示列的指示。这样的指示可以是1xN矩阵或N比特字,其中每个矩阵元素/每个字比特表示PI校正块324的一个列。在矩阵/字中的非零元素/比特可以指示在PI校正块324中的错误列。
在消息520,ECC引擎310请求内部存储器312读取PO校正子数据322的错误列。在消息522,内部存储器312向ECC引擎310提供所请求的PO校正子列数据。在自我消息524,ECC引擎310对于所选择的PO校正子列数据操作以识别在PI校正块中的对应错误列。更具体而言,ECC引擎在PI校正块324中确定可校正的错误的位置和相对于校正值的差的数值。
在消息526中,ECC引擎310请求外部存储器206读取经由自我消息524识别的在PI校正块324中的位置。在消息528,外部存储器206向ECC引擎310提供所请求的可校正数据。在自我消息530,ECC引擎310根据需要PO校正可校正的数据。换句话说,在自我消息530,ECC引擎310选择性地仅仅校正错误的PI校正的列以获得在消息500中获得的解调的ECC块的解码版本。结果,在PI校正块324中的少于所有的列接受PO校正。
在消息532,ECC引擎使用对应的PO校正的数据来重写在PI校正块324中的可校正数据。在消息532后,外部存储器206保存在消息500中获得的解调ECC块的解码版本。
按照背景技术的双ECC引擎解码器可以被描述为并行执行PO校正子产生和PO校正(以2块/周期的速率),同时DVD设备302可以被描述(在至少使用一个ECC引擎的情况下)为串行执行PO校正(以1块/周期的速率)。ECC解码器304的解码速度依赖于需要被校正的PO错误的数量。因此,可能存在0-182个PO错误。通常存在的PO错误的数量转换为比按照背景技术的双ECC引擎解码器慢大约10%的解码速度。在ECC解码器304的覆盖范围上的节省是相对于按照背景技术的双ECC引擎解码器的重要优点,这个优点通过仅仅以慢10%的解码速度略微覆盖范围而取得。
除了少需要一个的ECC引擎之外,与基于按照背景技术的双ECC引擎解码器的内部存储器的大小(例如6k字节)相比较,使用PO确定逻辑318使得ECC解码器304有可能以尺寸减少的内部存储器312(例如3k字节)来操作。
当然,虽然在此说明了本发明的几种变化形式和示例实施例,但是本领域内的普通技术人员容易明白,也可以对本发明进行各种另外的修改。因此,在此讨论的示例实施例不是对本发明的限定。
权利要求
1.一种解码DVD格式数据的方法,所述方法包括接收DVD格式数据的解调的纠错码(ECC)块;按照需要来奇偶内部码校正(PI校正)解调的ECC块;识别应该受到PO校正的PI校正块内的任何错误列;选择性地仅仅PO校正错误的PI校正列以获得ECC块的解码版本。
2.按照权利要求1的方法,其中选择性地PO校正的步骤导致少于全部的PI校正块被PO校正。
3.按照权利要求1的方法,其中PI校正的步骤在逐行基础上进行需要的校正;所述方法还包括将解调的ECC块当作行和列的阵列;和重复PI校正的步骤以便PI校正整个解调的ECC块需要PI校正的部分。
4.按照权利要求3的方法,还包括如果产生PI校正行,则使用PI校正行的数据来重写解调的ECC块的对应数据。
5.按照权利要求1的方法,其中识别任何错误列的步骤包括将PI校正块当作行和列的阵列;根据PI校正块来产生奇偶外部码(PO)校正子;和根据PO校正子来识别在PI校正块内的任何错误列。
6.按照权利要求5的方法,其中PI校正步骤在逐行基础上按照需要来进行校正;所述方法还包括将解调的ECC块当作行和列的阵列;重复PI校正的步骤以便PI校正整个解调的ECC块的需要PI校正的部分;和重复产生PO校正子的步骤,以便连续地修正所产生的PI校正数据的每行的PO校正子或如果不需要其PI校正则连续地修正解调的ECC块的对应行的PO校正子。
7.按照权利要求6的方法,还包括如果产生PI校正行,则使用PI校正行的数据来重写解调的ECC块的对应数据;其中基本上在重写发生的同时重复产生PO校正子的步骤。
8.按照权利要求5的方法,其中所述方法还包括将解调的ECC块作为行和列的阵列;和初始化PO校正子的版本v(0)的值;通过对于i=1到N逐行重复执行下述步骤来同时完成PI校正的步骤和产生PO校正子的步骤,其中N是在解调的ECC块中的行的数量,PI校正解调的ECC块的row(i)以产生校正的PI数据PI_CORR_row(i);以及形成作为PI_CORR_line(i)和PO校正子的前一个版本PO_syndrome_v(k-1)的函数的PO校正子的第k个版本PO_syndrome_v(k)。
9.按照权利要求8的方法,其中产生PO校正子的步骤的第k次重复包括将PI校正块的第i行乘以一组系数以产生乘积;通过将所述乘积加到PO_syndrome_v(k-1)来递归地形成PO_syndrome_v(k)。
10.按照权利要求9的方法,其中所述一组系数是伽罗瓦域系数,所述相乘是伽罗瓦域相乘。
11.按照权利要求5的方法,还包括重复产生PO校正子的步骤,以便连续地修正在PI校正数据的阵列中的每行的PO校正子。
12.按照权利要求5的方法,其中,产生PO校正子的步骤的第i次重复包括将PI校正块的第i行乘以一组系数以产生乘积;通过将所述乘积加到PO校正子的前一个版本v(k-1)来递归地形成PO校正子的版本v(k)。
13.按照权利要求12的方法,其中所述一组系数是伽罗瓦域系数,并且所述相乘是伽罗瓦域相乘。
14.按照权利要求5的方法,还包括将PO校正子当作行和列的阵列;其中识别的步骤包括检测是否在PO校正子内存在任何非零的列,其中这样的非零列具有一个或多个非零项;和将在对应于PO校正子中的非零列的PI校正块内的任何列看作是错误的。
15.一种解码DVD格式数据的方法,所述方法包括接收DVD格式数据的解调的纠错码(ECC)块;按照需要使用ECC引擎来奇偶内部码校正(PI校正)解调的ECC块;和使用同一ECC引擎来选择性地PO校正少于全部的PI校正块。
16.按照权利要求15的方法,其中PO校正包括选择性地仅仅PO校正在PI校正块内的、显示至少一个错误的那些列。
17.按照权利要求15的方法,其中使用ECC引擎来PO校正的步骤包括根据PI校正块来产生奇偶外部码(PO)校正子;和根据所述PO校正子来识别在PI校正块内的任何错误列。
18.按照权利要求17的方法,其中使用ECC引擎来PI校正的步骤包括将PI校正块作为行和列的阵列;按照需要逐行进行PI校正;和重复PI校正的步骤以便PI校正整个解调的ECC块的需要PI校正的部分,以及使用ECC引擎来PO校正的步骤包括重复产生PO校正子的步骤,以便连续地修正所产生的PI校正数据的每行的PO校正子或如果不需要其PI校正则连续地修正解调的ECC块的对应行的PO校正子。
19.一种用于解码DVD格式数据的装置,所述装置包括外部存储器,其中存储了DVD格式数据的解调的纠错码(ECC)块;ECC引擎,用于按照需要PI校正解调的ECC块;和奇偶外部码确定(PO确定)逻辑,用于指示应该受到PO校正的PI校正块内的任何错误列;和选择性地使得ECC引擎仅仅PO校正错误的PI校正列以便获得ECC块的解码版本。
20.按照权利要求19的装置,其中PO确定逻辑还用于使得少于全部的PI校正块被PO校正。
21.按照权利要求19的装置,其中将解调的ECC块当作行和列的阵列;以及ECC引擎还用于在需要时逐行重复进行PI校正。
22.按照权利要求21的装置,其中ECC引擎还用于如果产生PI校正行,则使用PI校正行的数据来重写解调的ECC块的对应数据。
23.按照权利要求19的装置,还包括内部存储器;其中ECC引擎包括PO校正子产生器,用于根据PI校正块来产生PO校正子,并且在内部存储器中存储PO校正子。
24.按照权利要求23的装置,其中ECC引擎还用于在逐行基础上按照需要来进行PI校正;以及PO校正子产生器还用于重复产生PO校正子,以便连续地修正由ECC引擎所产生的PI校正数据的每行的PO校正子或如果不需要其PI校正则连续地修正解调的ECC块的对应行的PO校正子。
25.按照权利要求24的装置,其中ECC引擎还操作用于如果产生PI校正行,则使用PI校正行的数据来重写解调的ECC块的对应数据;PO校正子产生器还用于重复基本上在重写发生的同时发生的PO校正子的产生。
26.按照权利要求23的装置,其中将解调的ECC块作为行和列的阵列;PO校正子产生器还用于初始化PO校正子的版本v(0)的值;和ECC引擎和PO校正子产生器还用于合作地对于i=1到N逐行重复执行下述步骤,其中N是在解调的ECC块中的行的数量,ECC引擎按照需要PI校正解调的ECC块的row(i)以产生校正的PI数据PI_CORR_row(i);以及PO校正子产生器形成作为PO_syndrome_v(k-1)和PI_ORR_line(i)的或如果不需要其PI校正则和解调的ECC块的对应行的函数的第k个PO校正子PO_syndrome_v(k)。
27.按照权利要求26的装置,其中,对于第i次重复,PO校正子产生器还操作来用于将PI校正块的第i行乘以一组系数以产生乘积;通过将所述乘积加到PO校正子的前一版本v(k-1)来递归地形成PO校正子的版本v(k)。
28.按照权利要求27的装置,其中所述一组系数是伽罗瓦域系数,所述相乘是伽罗瓦域相乘。
29.按照权利要求23的装置,其中PO校正子产生器还重复操作以使得第i次重复包括将PI校正块的第i行乘以一组系数以产生乘积;通过将所述乘积加到PO校正子的前一个版本v(k-1)来递归地形成PO校正子的版本v(k)。
30.按照权利要求29的装置,其中所述一组系数是伽罗瓦域系数,并且所述相乘是伽罗瓦域相乘。
31.按照权利要求23的装置,其中将PO校正子当作行和列的阵列;PO确定逻辑还操作来用于检测是否在PO校正子内存在任何非零的列,其中这样的非零列具有一个或多个非零项;和将在PI校正块内的、对应于在PO校正子中的非零列的任何列看作是错误的。
32.一种解码DVD格式数据的装置,所述装置包括外部存储器,其中存储了DVD格式数据的解调的纠错码(ECC)块;ECC引擎,用于按照需要来PI校正解调的ECC块;和奇偶外部码(PO)确定逻辑,用于选择性地使得ECC引擎PO校正少于全部的PI校正块。
33.按照权利要求32的装置,其中PO确定逻辑还操作来选择性地PO校正在PI校正块内的、显示至少一个错误的那些列。
34.按照权利要求32的装置,其中PO确定逻辑还操作来用于根据PI校正块来产生奇偶外部码(PO)校正子;和根据所述PO校正子来识别在PI校正块内的任何错误列。
35.按照权利要求34的装置,其中ECC引擎还操作来按照需要而逐行进行PI校正;和PO确定逻辑还操作来重复产生PO校正子,以便连续地修正由ECC引擎所产生的PI校正数据的每行的PO校正子或如果不需要其PI校正则连续地修正解调的ECC块的对应行的PO校正子。
36.一种用于解码DVD格式数据的装置,所述装置包括用于接收DVD格式数据的解调的纠错码(ECC)块的部件;用于按照需要来奇偶内部码校正(PI校正)解调的ECC块的部件;用于识别应当受到PO校正的PI校正块内的任何错误列的部件;和用于选择性地仅仅PO校正错误的PI校正列以获得ECC块的解码版本的部件。
全文摘要
一种解码DVD格式数据的方法可以包括接收DVD格式数据的解调的纠错码(ECC)块;按照需要来奇偶内部码校正(PI校正)解调的ECC块;识别应该受到PO校正的PI校正块内的任何错误列;以及选择性地仅仅PO校正所述错误的PI校正列以获得ECC块的解码版本。
文档编号G11B20/18GK1649019SQ20051000589
公开日2005年8月3日 申请日期2005年1月28日 优先权日2004年1月31日
发明者郑胜在 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1