多重字符信息的解码方法与装置 |
|||||||
申请号 | CN200510116973.2 | 申请日 | 2005-10-28 | 公开(公告)号 | CN1783315A | 公开(公告)日 | 2006-06-07 |
申请人 | 联发科技股份有限公司; | 发明人 | 吴文义; 林利莲; 谢嘉鸿; | ||||
摘要 | 本 发明 揭示一种多重字符信息的解码方法,首先提供一包含高保护性码字及低保护性码字的多重字符信息丛集,其中所述多重字符信息、高保护性码字、低保护性码字可分别为ECC、BIS及LDC数据。接着,将低保护性码字分隔成多个群组。将所述低保护性码字解交错以产生一低保护性字符丛集。所述低保护性字符丛集包含对应该多个群组的多个区段。若检测到任何低保护性码字的错误,将产生具有地址的区段抹除指标。之后,将低保护性码字和区段抹除指标储存于一第一 存储器 ,且将该区段抹除指标储存于一第二存储器。根据所述区段抹除指标产生所述低保护性码位的抹除位。通过所述抹除位将由所述第一存储器读出的低保护性字符进行解码。 | ||||||
权利要求 | 1.一种多重字符信息的解码方法,其特征在于包含以下步骤: |
||||||
说明书全文 | 技术领域本发明涉及一种多重字符(multiword)信息的解码方法与装置,其应用 于一光驱件。 背景技术如图1所示,一错误修正码(ECC)丛集10包括152个长距离码(LDC)数 据行、一SYNC(同步)数据行11及三个丛发指标子码(BIS)数据行12,其中 由所述SYNC数据行11及三个BIS数据行12将所述LDC数据行分离成4个LDC区块 13。所述原始LDC数据是不连续的且被交错至不同LDC区块13内。某些ECC编码 或解码技术描述于美国专利US 6,378,100、US 6,367,049、US 6,604,217 及US 2003/020871中,其中US 6,378,100揭示了一多重字符(multiword) 信息编码方法,US 6,367,049揭示通过交错技术的编码方法,US 6,604,217 揭示了一将同步(SYNC)码、BIS码或其动态或静态组合用作抹除的解码方法, 且US 2003/0208714(US 6,604,217的连续申请案)进一步揭示了一将SYNC码 用作抹除指标的方法。另外,Narahara等人揭示了一使用LDC及BIS码的错误 修正方法,其出版于Jpn.J.Appl.Phys第39卷(2000),第912-919页。 然而,上文所提及的专利及文章仅提出一用于解码ECC数据的方法的概 念,意即其未明确地揭示实际的实施方法。在这样的情况下,有必要开发用 于解码ECC数据的有用的实施方法及装置。 发明内容本发明的目的是提供一种可有效解码多重字符信息(如ECC丛集)的方法 及实施装置。更确切地说,该方法及装置主要是用以对ECC丛集的LDC数据进行 解码。现今,本发明的方法及装置可应用于所谓的蓝光盘片(Blu-ray disk) 解码。 一般LDC抹除位是存于一存储器(例如DRAM)中。然而,所述LDC数据交 错在所述ECC丛集内,意即原始LDC数据是不连续的且安置于多个LDC区块内, 所以必须分别地自DRAM撷取每一LDC数据的位置。因此,若所有抹除指标皆储 存于所述DRAM内,则所述DRAM的频宽将减少,而降低解码效率。 为增加ECC解码效率,本发明揭示一种多重字符信息的解码方法,其包含 (a)至(h)的步骤。在步骤(a)中,提供一包含高保护性码字及低保护性码字的 多重字符信息丛集,其中所述多重字符信息、高保护性码字、低保护性码字 可分别为ECC、BIS及LDC数据。在步骤(b)中,将低保护性码字分隔成多个群 组以产生一低保护性码字丛集。所述低保护性码字丛集包含对应所述多个群 组的多个区段。在步骤(c)中,若检测到任何低保护性码字的错误指针,将产 生具有地址的区段抹除指标。在步骤(d)中,将所述低保护性码字解交错。在 步骤(e)中,将经解交错的低保护性码字和区段抹除指标储存于一第一存储器 (例如DRAM)。在步骤(f)中,将所述区段抹除指标储存于一第二存储器(例 如SRAM)。在步骤(g),根据所述区段抹除指标产生所述低保护性码字的抹除 位(erasure bit)。在步骤(h),通过所述抹除位将由所述第一存储器读出的 低保护性码字进行解码。 本发明另提供一种多重字符信息的解码方法,其包括如下步骤: 提供一包括高保护性码字及低保护性码字的多重字符信息丛集; 将所述低保护性码字分隔为多个区段; 检测所述低保护性码字的任一错误标记以产生区段抹除指标;以及 利用所述区段抹除指标对所述低保护性码字进行解码。 本发明另提供一种多重字符信息的解码方法,其包括以下步骤: 提供一包括同步码字及低保护性码字的多重字符信息丛集; 将所述低保护性码字分隔为多个区段; 检测所述低保护性码字的任一错误标记以产生区段抹除指标; 检测所述同步码字的任一错误标记以产生同步抹除指标; 储存所述同步抹除指标和区段抹除指针于一第一存储器; 储存自所述第一存储器读出的所述同步抹除指标和区段抹除指针于一第 二存储器; 根据所述同步抹除指标或区段抹除指针产生所述同步码字或低保护码字 的抹除位;以及 利用所述抹除位对所述低保护码字进行解码。 本发明另提供一种多重字符信息的解码方法,其包括如下步骤: 提供一包括地址字段信息、使用者控制数据及低保护性码字的多重字符 信息丛集; 将所述低保护性码字分隔为多个区段; 检测该地址字段信息或使用者控制数据的任一错误标记,以产生地址字 段信息/使用者控制数据抹除指针; 检测所述低保护码字的任一错误标记,以产生区段抹除指标; 储存所述地址字段信息/使用者控制数据抹除指针或区段抹除指针于一 第一存储器; 储存自所述第一存储器读出的所述地址字段信息/使用者控制数据抹除 指针或区段抹除指针于一第二存储器; 根据所述地址字段信息/使用者控制数据抹除指针或区段抹除指针产生 所述地址字段信息/使用者控制数据或低保护码字的抹除位;以及 利用所述抹除位对所述低保护码字进行解码。 上述方法可通过一包含一区段错误产生器、一第一存储器、一第二存储 器、一抹除产生器和一解码器的装置加以实施。所述区段错误产生器检测所 述多个区段中的错误,以产生显示错误发生的区段抹除指标。所述第一存储 器电性耦合至所述区段错误产生器,用以储存所述低保护性码字和所述区段 抹除指标。所述第二存储器用以储存自所述第一存储器读出的区段抹除指标。 所述抹除产生器电性耦合至所述第二存储器,可根据所述区段抹除指标产生 所述低保护性码字的抹除位。所述解码器电性耦合至所述第一存储器和所述 抹除产生器,以利用所述抹除位针对所述低保护性码字进行解码。 为此,本发明还提供一种多重字符信息的解码装置,所述多重字符信息 包含高保护性码字和低保护性码字,且所述低保护性码字分隔成多个区段, 所述装置包含:一区段错误产生器,用以检测所述多个区段中的任一错误标 记且产生显示错误发生位置的区段抹除指标;一第一存储器,电性耦合至所 述区段错误产生器,用于储存所述区段抹除指标;一第二存储器,电性耦合 至所述第一存储器,用于储存自所述第一存储器读出的所述区段抹除指标; 一抹除产生器,电性耦合至所述第二存储器,用于根据所述区段抹除指标为 所述低保护性码字产生抹除位;以及一解码器,电性耦合至所述第一存储器 和所述抹除产生器,以利用所述抹除位对所述低保护性码字进行解码。 本发明另提供一种多重字符信息的解码装置,所述多重字符信息包含高 保护性码字和低保护性码字,且所述低保护性码字分隔成多个区段,所述装 置包含:一区段错误产生器,用以检测所述多个区段中的错误且产生显示错 误发生位置的区段抹除指标;一存储器,电性耦合至所述区段错误产生器, 用于储存所述低保护性码字和所述区段抹除指标;以及一解码器,电性耦合 至所述存储器,以根据所述区段抹除指标对所述低保护性码字进行解码。 通过本发明的多重字符信息的解码方法与装置,有效提高了ECC解码效 率。 附图说明 图1显示一现有ECC丛集; 图2a至图2d显示本发明第一实施例的LDC丛集的解码装置; 图3显示一ECC丛集以说明本发明的解码方法; 图4a和图4b显示标记区段抹除指针的一LDC丛集; 图5a显示本发明第二实施例的LDC丛集的解码装置; 图5b、5c和5d例示本发明储存于SRAM中的SYNC抹除指标和BIS抹除指标; 图6a至6c显示包含地址字段信息及使用者控制数据的BIS数据; 图7显示本发明第三实施例的LDC丛集的解码装置; 图8a显示所述LDC和SYNC/BIS码的相应状态; 图8b显示解交错后第一和第二区块的LDC数据; 图9显示本发明第四实施例的LDC丛集的解码装置; 图10显示本发明第五实施例的LDC丛集的解码装置。 主要组件符号说明: 10 错误修正码(ECC)丛集 11 同步(SYNC)数据行 12 丛发指针子码(BIS)数据行 13 LDC区块 20 解码装置 21 DRAM 22 LDC解码器 23 SRAM 24 解调变器 25 区段错误产生器 26 解交错电路 26′解交错电路 26″部分解交错电路 26部分解交错电路 27 SRAM 28 区段至LDC抹除产生器 30 ECC丛集 31 SYNC行 32 BIS数据行 33 LDC区块 34 区段 50 装置 51 AF/UC映射电路 52 AF解码器 60 装置 61 DRAM 62 LDC/BIS解码器 63 SRAM 64 解调变器 65 SYNC/区段错误产生器 66 解交错电路 68 LDC抹除产生器 70 装置 71 DRAM 72 LDC解码器 74 解调变器 75 区段错误产生器 76 解交错电路 80 装置 具体实施方式图2a为本发明的多重字符(multiword)信息的解码装置20示意图。该装 置20包括一第一存储器(如DRAM 21)、一LDC解码器(Decoder)22、一第二 存储器(如SRAM 23)、一解调变器(Demodulator)24、一区段错误产生器 (Segment Error Generator)25、一解交错电路(De-interleaving Circuit) 26、一区段至LDC抹除产生器(Segment-to-LDC Erasure Generator)28。 如图3所示,一ECC丛集30包括一SYNC码行(code column)31、三个BIS数 据行32及四个LDC区块33,其中每一区块33具有38个LDC数据行,意即总共有1 52个LDC数据行。此外所述ECC丛集30包括496列。三个BIS数据行32(自左及 右)分别由BIS1、BIS2及BIS3表示。若将所有的LDC数据区隔成8个区段34于 所述ECC丛集30中,每个区段34包含19个LDC数据行。 再参考图2a,所述ECC丛集30内的LDC数据由解调变器24解调变至8位,且接 着将LDC数据由所述解交错电路26进行解交错,且储存于所述存储器(DRAM)21。 一解调变错误标记信号可协同所述LDC数据以显示解调变数据错误地址 的线索。例如,若频宽位无法解调变至适当的8位的LDC数据,所述解调变错 误标记信号将被设定为指示所述LDC数据中可能有错误存在。或者,于解调变 前或解调变中任何方法指示可能的错误均可视为一良好的错误指标。例如, 在先读取频宽检测到可使数据解调变不正确的不稳定频宽位,即视为一缺陷 发生,或两个同步码间的频宽位的数目并非如预期。 如图4a所示,若一区段34的一列的19个LDC数据的解调变错误标记的个数 超过一阈值(threshold value),一具地址的区段抹除指标413将标示于所述 区段34,以指示所述区段34的错误地址线索。例如,所述解调变错误标记的 数目超过该阈值,所述区段抹除指标将设为″1″,否则为″0″。因此,图2a所 示的区段错误产生器25具有计数器的功能,以计算解调变错误标记的数目, 且藉此产生一区段抹除指标。一个区段34的每列各有一位以储存所述区段抹 除指标,因此所述LDC丛集30的区段抹除指标总共需要496(496×8÷8)字节 加以储存。再参照图3,所有的LDC数据的每单一个解调变错误标记均需加以 记录,需要9424(496×152÷8)字节的记忆容量。显然,本发明揭示的上述 方法可大幅减少储存区段抹除指针所需的记忆容量。可依所需的记忆频宽或 记忆容量选择一个适当大小的区段群组。另一替代方案如图4b所示。若一区 段的超过一列的LDC数据的解调变错误标记的数目超过所述阈值,将标示所述 错误抹除指标。另外,当所述LDC的解调变错误标记数目与BIS的解调变错误 指标数目乘上一加权数的和(Sum)超过一阈值时,亦可标示所述区段抹除指 标。换言之,若多列的解调变错误标记大于所述阈值,于所述区域的区段标 示一区段抹除指标。 接着,所述区段抹除指标及经解交错的LDC数据储存于所述DRAM 21中。 或者,如图2b所示,也可将一解交错电路26′置于DRAM 21与SRAM 23/LDC解码 器22之间,如此所述LDC及BIS数据是先储存于DRAM 21中,解码时才解交错。 另一替代方法为将DRAM 21储存一部分解交错的LDC及BIS数据,且LDC及BIS数 据的其余部分在自DRAM读取的同时被解交错,其中采用一部分解交错电路26″ 及另一部分解交错电路26,如图2c所示。 所述区段群组也可于LDC数据解交错后进行分隔。如图2d所示,所述区段 错误产生器25的输入电性耦合至所述解交错电路26的输出。换言之,所述区 段错误计算于LDC数据和解调变错误标记解交错后。或者,所述区段群组分隔 于所述LDC数据部分解交错后。 在数据解码前,所述区段错误指标是读自所述DRAM 21且储存于SRAM 23。 当一LDC码字进行解码时,所述区段至LDC抹除产生器28自SRAM 23撷取相关于 所述LDC码字的区段抹除指标,以产生一具地址的LDC抹除指针。所述LDC抹除 指标和储存于DRAM 21中的所述LDC数据传送至所述LDC解码器22以进行LDC码 字的解码。所述区段错误指针和LDC数据可储存于不同的存储器中。如图10所 示,所述区段错误指标储存于SRAM 27中,而所述SRAM 27与所述DRAM 21形成 区隔。 实际应用上,一BIS抹除指标和/或SYNC(同步)错误指标也可用来产生 一LDC抹除位。这两个指标也可结合前述的区段错误指标以产生一LDC抹除位。 若检测到SYNC错误,SYNC抹除指标将为“1”,否则为“0”。对于SYNC错误 的判定,若在SYNC位置上接收的解调变前数据不同于SYNC模式,例如蓝光的 SYNC0模式=01 010 000 000 010 000 000 010,或在两个相近SYNC行31之间 的数据数量不正确,或发现任何不连续的SYNC码,或读出信道显示相近于SYNC 码的数据不可靠,其均可被认为是一SYNC错误。 图5a例示解码装置的另一实施例。一装置60包含一第一存储器(例DRAM 61)、一LDC/BIS解码器62、一第二存储器(例SRAM 63)、一解调变器64、一 SYNC/区段错误产生器65、一解交错电路66、一映射电路(Mapping Circuit) 67及一LDC抹除产生器68。和图2a所示的实施例比较,BIS抹除产生器和/或SYNC 错误指标被采用作为另外的抹除指标。类似地,若BIS数据解码时检测到错误, 所述BI S抹除指标为″1″,否则为″0″。 所述BIS抹除指针通过所述映射电路67进行自身的重新安置,其于ECC丛 集30中相应的BIS数据被指出,以建立于ECC丛集30中BIS抹除指针和BIS数据 间的位置关系。 所述映射电路67的可能映射函数显示如下: (N,C)→(u×31+r,e) 其中(N,C)为BIS区块中的位置;N表示在一BIS码(0~61)中的位置; C表示BIS码序号(0~23); 且其中(u,r,e)为BIS丛集中的位置;u表示单元序号u=mod({div(N,2) +8div(C,3)},8)+8×mod(N,2);r表示列序号r=div(N,2);e表示栏序号 e=mod({C+div(N,2)},3)。 之后,储存具有位置的BIS抹除指针于所述SRAM 63中。此外,可传送SYNC 抹除指标且将其储存于所述SRAM 63中。因此,每一列ECC丛集30中有四个可 能的抹除指标,所以采用四个位来储存所述可能的SYNC抹除指标及三个BIS抹 除指标。因此一字节可储存一ECC丛集中的两列抹除指标,且每一ECC丛集需 要248个字节(496×4/8=248)。 在开始解码一ECC丛集时,必须初始化SRAM 63以覆写其中的先前数据, 意即读取储存于DRAM 61中的SYNC抹除指标覆写SRAM 63中所述字段的SYNC抹 除指标,且将BIS抹除指标全部重设为初始值零。图5b显示一初始化的SRAM 63 中的字节,其中由DRAM 61中的地址0及地址4的SYNC抹除指标分别为SYNC抹除 指标S0及S1。S0为第一列的同步抹除指标,而S1为第二列的同步抹除指标, 且BIS抹除指标被重设为“0”。 图5c显示储存于SRAM 23中的抹除指针的实例,其中第二列的SYNC及BIS2 字段及第一列的BIS1及BIS3字段显示错误。这些情形意指错误可发生在接近 或介于所述ECC丛集的相同列内显示错误的SYNC或BIS数据的LDC数据内。 如图5b所示,图2a中SRAM 23的1字节包含第一及第二列的SYNC及BIS抹除 指标。或者,所述SRAM 23的1字节还可包含行方向的抹除指标,即所述抹除 指标可沿行而非列储存。如图5d所示,将列“n”的SYNC、BIS1抹除指标、 BIS2抹除指标及BIS3抹除指标分别储存于一SRAM的字节k、字节k+1、字节k+2 及字节k+3的位“0”内,而将列“n+1”的SYNC、BIS1抹除指标、BIS2抹除指 标及BIS3抹除指标分别储存于一SRAM的字节k、字节k+1、字节k+2及字节k+3 的位“1”内。所述抹除指标也可由对SRAM 23的写及/或读效率有益的任一其 它映射格式储存。举例而言,通过用于LDC的解码的顺序或通过BIS或SYNC错 误的位置或通过格式αloci可储存所述抹除指标,其中α为质多项式(primitive polynomial)的根,且loci为序号i,在LDC码字中的第i字的抹除位不为零。 当解码一LDC码字时,LDC抹除产生器68自SRAM 63撷取与LDC码字相应的 区段、BIS及SYNC抹除指标。因此,基于所述区段、BIS或SYNC抹除指标可产 生一抹除位,意即根据所述区段抹除指标,或将所述LDC数据位置映射回所述 ECC丛集及查找储存于所述SRAM 63中的BIS抹除指标,或整合上述指标可产生 所述抹除位。接着,所述LDC抹除指标传输至LDC/BIS解码器62以修正其相关 的LDC数据,且修正后的LDC数据送回所述DRAM 61。 显示于图6a、6b及6c的BIS数据中包含地址字段(Address Field;AF) 信息及使用者控制(User Control;UC)数据,其中AF包含地址及其配核码 (parity)。因为地址是连续的,根据已知地址可向前或向后推导所有地址。 因此,BIS的AF数据位置可与一预期AF数据的位置相比较。若所述AF位置不同 于预期的AF位置,则其被认为是一抹除指标。另外,AF数据有编码保护,因 此AF的解码结果可做为抹除指标。若所述UC数据未被指定应用时,则UC数据 的字节可设置为00h。将BIS的UC数据部份与0相比较,若不同,则该位置可被 认为是抹除指标。因为AF及UC是已知的,所以BIS区块的配核码可由计算得出。 可比较经计算后的配核码与BIS接收配核码的数据以产生抹除指针。另外,BIS 数据除了比较在BIS ECC解码器之前的区段抹除指标或AF或UC预期数据可做 为抹除指针外,其还可增强所述BIS解码错误修正能力,进而提供更多的LDC 抹除指针以改良LDC数据错误修正。 参考图7,由BIS码所保护用于判定在一盘片中的位置的地址字段(AF) 信息及使用者控制信息(UC)亦可用来产生LDC抹除指标。与图2a的装置20相 较,一装置50包含进一步增加的AF解码器52及AF/UC映射电路51。所述使用者 控制(UC)信息未被应用指定时通常等于零。因此,若相近丛集之间的地址 序号不正确,或使用者控制数据不等于零,或所述错误在AF解码期间被检测 出,则可将它们认为是AF/UC解码错误。所产生的AF/UC抹除指标储存于SRAM 63中或DRAM 61中用于产生LDC抹除位。产生的AF/UC抹除指标还可与BIS/SYNC /区段抹除指针整合以进行LDC解码。 上述使用区段抹除指标、BIS抹除指标、SYNC抹除指标、AF抹除指标、UC抹 除指针及其组合等策略可自动切换。若抹除位的数目超过临界数目(例如32), 所述抹除位的设置可被自动切换成另一策略直到所述抹除位的数目小于一临 界数目。 若在所述ECC丛中发生任一解码错误,需重新从盘片读取数据时,只有当 彼等数据无法通过错误检测码(EDC)检查的部份,需要重新覆写DRAM 21内 经解调变后的数据。如图8(b)所示,其中图8(a)的LDC数据在解交错后按次序 排列,且在此以第一及第二区段举例说明。若所述第一区段通过EDC检查,但 所述第二区段未通过,则当重新从盘片读取数据至DRAM时,仅须覆写所述第 二区段。解码时,LDC码字0-8因为通过EDC检查而不需解码。对于解码码字 (codeword)9而言,因为该上部属于区段“0”,且该下部属于区段“1”, 属于区段“0”的部分的抹除位在被读取时必须设为“0”。并且保护区段“0” 的部分于解码时不被改变。因此,对于重新从盘片读取ECC丛集解码产生所述 LDC抹除位时会使用之前错误检测码(EDC)的结果。 在所述LDC解码期间,可应用一递增LDC抹除存取方法。对两个相近的LDC 码字而言,归因于交错特性大多数抹除位指向相同的SYNC及BIS抹除指标。仅 部分抹除位需查找储存于SRAM 23中的不同的抹除指标。如图8a,因为交错的 顺序,除了交错使得两码字i及i+2被一SYNC/BIS分离时外,大多数码字i及i+ 2的抹除读取相同的抹除指标。因此,当读取码字i+2的抹除时,仅需要更新 跨过区段的抹除的部分。 或者,亦可采用不具SRAM的装置。参考图9,一装置70包括一DRAM 71、 一解调变器74、一区段错误产生器75、一解交错电路76及一LDC解码器72。区 段错误可于解交错电路76前或后进行计算,而用于LDC解码的区段抹除指标储 存于DRAM 71而非SRAM中。LDC数据由所述解交错电路76进行解交错,所述区 段错误产生器75用以检测解交错的LDC数据的错误,以产生区段抹除指标。不 过,因为可省略SRAM、相关映射电路及抹除产生器,可简化电路。 为减少对解码效率的影响,可以递增方式存取需改变的抹除指针区域(如 图8(a)所示)以减少对DRAM频宽的影响。或应用另一不具精确抹除指针位置 映射的抹除指针存取方法来减少DRAM存取。如图8a,圆圈中的码字i和i+2分 别包含于两不同区段,因此所述抹除指标需重读。为节省DRAM的存取,所述 码字i+2仍使用码字i的抹除指针。换言之,读出的抹除指标是供多个码字使 用,且受位于不同区段的抹除指标的影响。因为存在一经简化的抹除指针位 置映射操作,所以抹除指针对映LDC数据的位置相对不精确。所述经简化的抹 除指针位置映射操作也可用于图2a中SRAM 23的存取。 或者,所述LDC数据和区段抹除指标亦可储存于不同存储器。图10显示一 解码装置80,其是基于图2但额外导入一SRAM 27,其中所述DRAM 21和SRAM 27 分别用来储存LDC数据和区段抹除指标。 本发明的技术内容及技术特点已揭示如上,然而熟悉本项技术的人士仍 可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因 此,本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离 本发明的替换及修饰,并为权利要求书的范围所涵盖。 |