公开/公告号CN1848278A
专利类型发明专利
公开/公告日2006-10-18
原文格式PDF
申请/专利权人 联发科技股份有限公司;
申请/专利号CN200610065830.8
申请日2006-03-23
分类号G11B20/10;G11B20/18;
代理机构北京三友知识产权代理有限公司;
代理人任默闻
地址 中国台湾新竹科学工业园区
入库时间 2023-12-17 17:46:56
法律状态公告日
法律状态信息
法律状态
2009-01-21
授权
授权
2006-12-13
实质审查的生效
实质审查的生效
2006-10-18
公开
公开
技术领域
本发明是有关于光学储存装置,尤指用来选择性地再缓冲(rebuffering)读取自一光学储存媒体的数据区块(block)的至少一部分的方法与装置,以及用来解码读取自一光学储存媒体超过一次的数据区块的方法与装置。
背景技术
由于多媒体应用蓬勃地发展,储存大量数字数据的需求便快速地增加。于是,高储存容量、体积小巧的光学储存媒体,如光盘(Compact Disc,CD)与数字多用途光盘(Digital Versatile Disc,DVD)就愈来愈流行,而储存装置如光驱(CD drive)或数字多用途光驱(DVD drive)就成为个人计算机的标准配备,用来处理多媒体应用。
记录于一传统光盘如可记录式光盘(CD-Recordable,CD-R)上的数据通常是以区段(sector)为单位来编码。一传统光驱为了读取该光盘上的数据,通常也以区段为单位来解码。对于一些其它的光学储存媒体,如DVD-R碟片或DVD+R碟片,其解码单位是由多个(例如:十六个)区段所组成的错误修正码(Error Correction Code,ECC)区块;依据高分辨率数字多用途光盘(High-Definition DVD,HD-DVD)规格,HD-DVD光盘的解码单位也为由多个(例如:三十二个)区段所组成的错误修正码区块;而依据蓝光盘(Blu-ray Disc,BD)规格,蓝光盘的解码单位则为由多个(例如:三十二个)区段所组成的丛集(cluster)。于是,用来存取(access)一DVD光盘/HD-DVD光盘/BD光盘的光驱,应当可缓冲读取自DVD光盘/高HD-DVD光盘/BD光盘、对应于其解码单位的大小的数据以供进一步解码。
发明内容
本发明的目的之一在于提供一种方法与装置,用来选择性地再缓冲(rebuffering)读取自一光学储存媒体的数据区块(block)的至少一部分(portion),以及一种方法与装置,用来解码读取自一光学储存媒体的多个部分所组成的数据区块。
本发明的一实施例提供一种装置,用来选择性地再缓冲读取自一光学储存媒体的数据区块的至少一部分。该装置包含一储存装置,以及一再缓冲控制模块,耦接至该储存装置。储存装置是用来缓冲(buffering)数据区块以供解码。再缓冲控制模块依据先前解码来决定数据区块中、需要再缓冲的一特定部分,并将该特定部分再缓冲进储存装置,藉此更新之前被缓冲的数据区块。
本发明的实施例另提供一种方法,用来选择性地再缓冲读取自一光学储存媒体的数据区块的至少一部分。该方法包含缓冲数据区块以供解码,依据先前解码来决定数据区块中、需要再缓冲的一特定部分,以及再缓冲该特定部分,藉此更新先前被缓冲的数据区块。
本发明另一实施例提供一种解码装置,用来解码读取自一光学储存媒体的数据区块。该装置包含一储存装置,以及耦接至该储存装置的一解码模块。储存装置是用来缓冲在不同次读取自光学储存媒体的同一数据区块,依序储存第一缓冲数据与第二缓冲数据,其中第一缓冲数据不被第二缓冲数据覆写(overwrite)。解码模块包含一储存单元,以及耦接至该储存单元的一解码器。储存单元是储存一参数,用来指出(indicate)第一缓冲数据的每一部分或至少一部分是否被正确地解码。解码器使用第一、第二缓冲数据,依据所述参数来解码该数据区块。
依据本实施例的一变化例,该储存装置可通过将光学储存媒体上读取到同一数据区块缓冲两次以上,依序储存两组以上的缓冲数据。此实施例中该参数则可被用来指出一组或多组缓冲数据是否被正确地解码。解码器可使用两组以上的缓冲数据,并依据该参数来解码数据区块。
本发明的另一实施例所提供的方法,用来解码读取自一光学储存媒体的数据区块。该方法包含通过缓冲在不同次读取自光学储存媒体的同一数据区块,来依序储存第一缓冲数据与第二缓冲数据,其中第一缓冲数据不会被第二缓冲数据覆写。该方法另包含:决定一参数,用来指出第一缓冲数据的每一部分或至少一部分是否被正确地解码;以及使用第一、第二缓冲数据,依据该参数来解码该数据区块。
依据本实施例的一变化例,依序储存第一、第二缓冲数据的步骤另包含将从光学储存媒体读取到的同一数据区块缓冲两次以上,依序将此数据区块储存成两组以上的缓冲数据。另外,该参数可被用来指出一组或多组缓冲数据是否被正确地解码,而解码该数据区块的步骤另包含使用两组以上缓冲数据,并依据该参数来解码该数据区块。
附图说明
图1为依据本发明的实施例、一种用来选择性地再缓冲(rebuffering)读取自一光学储存媒体的数据区块(block)的至少一部分的装置的示意图。
图2为光学储存媒体中所储存的数据区块以及如图1所示的储存装置中、被缓冲的数据区块的示意图,其中一单一区段(sector)可被个别地(individually)更新。
图3为光学储存媒体中所储存的数据区块以及储存装置中、被缓冲的数据区块的示意图,其中依据实施例的一变化例,每次可有一编码字(codeword)被更新。
图4为依据本发明另一实施例、一种用来选择性地再缓冲读取自一光学储存媒体的数据区块的至少一部分的装置的示意图。
图5为对应于一数据区块的解交插(de-interleaved)数据以及动态随机存取存储器中、被缓冲的数据区块的示意图。
图6为依据本发明一实施例、一种用来解码读取自光学储存媒体的多个部分(portion)所组成的数据区块的装置的示意图。
图7为光学储存媒体中所储存的数据区块以及动态随机存取存储器中、被多重缓冲(multi-buffered)的数据区块的示意图。
主要组件符号说明:
100,200,300 装置
108,115,208 信号
110,210 再缓冲控制模块
112,212,324 寄存器
113 参数
114,214 再缓冲控制单元
116,216,226 数据控制单元
120 储存装置
220 解交插电路
228 静态随机存取存储器
230,310 动态随机存取存储器
320 解码模块
322 解码器
具体实施方式
请参考图1,图1为依据本发明的第一实施例、一种用来选择性地再缓冲(rebuffering)读取自一光学储存媒体的数据区块(block)的至少一部分(portion)的装置100的示意图。在本实施例中,该光学储存媒体为一数字多用途光盘(Digital Versatile Disc,DVD),而数据区块为一错误修正码(ErrorCorrection Code,ECC)区块。装置100位于一光学储存装置内,例如:一数字多用途光驱(DVD drive),可用来缓冲(buffering)读取自光学储存媒体的数据区块以供解码。装置100包含一再缓冲控制模块110,以及一储存装置120,例如:一动态随机存取存储器(Dynamic Random Access Memory,DRAM),其中储存装置120用来缓冲数据区块以供解码。另外,再缓冲控制模块110可依据数据区块的先前解码来决定该数据区块中、需要再缓冲的特定部分,并将特定部分再缓冲进储存装置120以更新之前被缓冲的数据区块。
如图1所示,再缓冲控制模块110包含一储存单元,例如:寄存器112,用来储存再缓冲控制模块110所决定的参数(例如:参数113),该参数是用来记录数据区块的每一部分或至少一部分是否被正确地解码,而再缓冲控制模块110则依据该参数来决定数据区块哪一部分为特定部分。在某些实施例中,该参数是依据一微处理单元(micro-processing unit,MPU)或一解码器(例如:DVD光驱中的错误修正码解码器)所产生的命令来决定的。此外,再缓冲控制模块110另包含有一再缓冲控制单元114与一数据控制单元116。在本实施例中,DVD光驱的解调电路(未显示)依据自DVD光盘所读取的数据来产生一解调信号108。再缓冲控制模块110可通过数据控制单元116接收解调信号108,数据控制单元116可在将读取自DVD光盘的数据区块传送(transfer)至储存装置120之前,交插(de-interleave)或重新排列(rearrange)该数据区块。另外,数据控制单元116可依据再缓冲控制单元114的控制,在正常模式中将读取自DVD光盘的数据缓冲进储存装置120、或是在再缓冲模式中将读取自DVD光盘的数据再缓冲进储存装置120。
在正常模式中,数据控制单元116将带有被交插或被重新排列数据的数据区块传至储存装置120,并且在典型的实施方式中,通过数据控制单元116的运作,记录于DVD光盘的内容可被依序缓冲进储存装置120以供解码。若发生解码错误,装置100就从正常模式切换至再缓冲模式。在再缓冲模式中,再缓冲控制单元114依据储存于寄存器112的参数113来产生控制信号115。在某些实施例中,参数113包含一个以上的数据位置,以及一个以上先前解码的结果。数据控制单元116依据控制信号115来再缓冲数据区块的特定部分。先前解码的结果通常是得自数据区块中的错误侦测码(errordetection code,EDC)。在本实施例中,参数113包含有多个位,每一个位分别对应数据区块中一个数据位置,参数113的每一位也可被视为一旗标(flag)。另外,每一位的值可被用来代表对应于一特定数据位置的先前解码结果,所以参数113可同时代表数据位置与先前解码结果的信息。再缓冲控制单元114通过依据参数113所产生的控制信号115来控制数据控制单元116。
需要注意的是,再缓冲控制模块110是否产生一个或超过一个参数113并非本发明的限制。在第一实施例的一变化例中,再缓冲控制模块110产生多个参数,其中每一参数对应于数据区块中的一数据位置,且被用来记录该数据区块的一部分是否被正确地解码。另外,上述每一参数可包含一个或超过一个位。此外,参数的数量并不必然等于数据区块中数据位置的数量。这个(或这些)参数只要包含足够的信息,就可被用来记录数据区块的各部分是否被正确地解码。
图2为依据第一实施例、DVD光盘中所储存的错误修正码区块以及图1所示的储存装置120(即动态随机存取存储器DRAM 120)中被缓冲的错误修正码(ECC)区块的示意图。DVD光盘中所储存的ECC区块包含有多个区段(sector)DS-0、DS-1、DS-2、…与DS-(N-1),而被缓冲的ECC区块则包含分别对应于区段DS-0、DS-1、DS-2、…与DS-(N-1)的多个区段BS-0、BS-1、BS-2、…与BS-(N-1),对DVD光盘而言,N等于16。图1所示的寄存器112中储存着参数113,参数113可包含前面所述的旗标,分别对应ECC区块的各个部分,例如:区段DS-0、DS-1、DS-2、…与DS-(N-1),或是区段BS-0、BS-1、BS-2、…与BS-(N-1)。每一旗标是用来指出(indicate)所对应的部分是否需要被再缓冲。这些旗标的初始值可通过执行韧体码(firmware code)的微处理单元来决定,用来表示再缓冲控制单元114的初始状态,所以在第一次缓冲ECC区块时,再缓冲控制单元114将整个ECC区块缓冲进储存装置120。在解码该ECC区块之后,解码器产生ECC区块的解码结果,(例如:使用前面所述的错误侦测码的信息得到解码结果)。执行韧体码的微处理单元则决定寄存器112中储存的旗标的最新值,以指出每一区段BS-0、BS-1、BS-2、…、BS-(N-1)是否需要再缓冲。请注意,该参数可由再缓冲控制模块110依据这些解码结果来决定,或是通过使用微处理单元执行韧体码来决定。
这些旗标分别代表区段BS-0、BS-1、BS-2、…与BS-(N-1)的解码的正确性。旗标的值可依据ECC区块的先前解码结果来决定。例如:若第一次所缓冲的区段BS-1、BS-4与BS-(N-1)在解码ECC区块之后被判为解码有误,则旗标会被调整以指出区段BS-1、BS-4与BS-(N-1)均不正确且需要被再缓冲。在图2中,有点状图案的区段被用来代表解码有误的区段。DVD光驱于是再次读取区段BS-1、BS-4与BS-(N-1)以供再缓冲。再缓冲控制单元114产生控制信号1 15以告知数据控制单元116,数据控制单元116将读取自DVD光盘的区段BS-1、BS-4与BS-(N-1)缓冲进储存装置120以更新前次写入的区段BS-1、BS-4与BS-(N-1)。ECC解码器可依据储存装置120中被缓冲的ECC区块的最新内容,再度解码ECC区块。此外,用来再缓冲的最小单位并不必然是一区段;这是因为区段可以进一步地被分割为多个部分。同样地,若该参数可指出每一区段中的哪一部分在解码后有误,则数据控制单元116可依据ECC区块的至少一最新解码结果来更新区段BS-1、BS-4与BS-(N-1)的至少一部分。于是,成功地解码ECC区块所需要的总时间可被缩短,这是由于本实施例中不需要再缓冲整个ECC区块。
依据一些尝试性实验,连续地读取区段DS-0、DS-1、DS-2、…与DS-(N-1)有可能比分开读取有误的区段(在此处为区段DS-1与DS-4)来得快。因此,韧体码可被修改,让微处理单元控制DVD光驱在第一次解码后再次读取区段DS-0、DS-1、DS-2、DS-3与DS-4,即使再缓冲区段BS-0、BS-2与BS-3在这种情况中是不必要的。另外,依据另一尝试性实验,若连续地再缓冲区段BS-0、BS-1、BS-2、BS-3与BS-4比仅仅再缓冲有误的区段(在此处为区段BS-1与BS-4)来得快,则韧体码可被对应地修改,让再缓冲控制模块110依据参数的旗标来再缓冲区段BS-0、BS-1、BS-2、BS-3与BS-4,即使再缓冲区段BS-0、BS-2与BS-3在这种情况中是不必要的。ECC区块中有可能存在永久性损坏的数据。此状况下,可以使用一预定门槛值来限制再缓冲控制模块110再缓冲同一ECC区块的次数,可避免浪费过多时间于同一ECC区块。
图3为依据第一实施例的一变化例、一DVD光盘所储存的一错误修正码区块以及一动态随机存取存储器中被缓冲的一错误修正码区块的示意图,其中再缓冲控制模块110每次可更新一部分,而该部分包含有至少一编码字(codeword)。在此变化例中,该参数的这些旗标分别代表解码后的编码字BC-0、BC-1、BC-2、…与BC-(M-1)的正确性。相似地,再缓冲控制单元114依据该参数来产生至少一控制信号115以告知数据控制单元116。于是,数据控制单元116可依据该参数的一特定旗标来更新一特定编码字。请注意,在本发明的其它实施例中,也可应用具有不同长度的多个部分(portion)。例如:若一部分包含有两个或超过两个编码字,则旗标的数量可被减少。
在本发明的另一实施例中,一数据区块解码器,例如:ECC区块解码器,另可用来决定该参数的值,该参数是用来分别指出数据区块中的哪些部分需要被再缓冲。依据本发明不同的实施方式的选择,用来储存该参数的储存单元可被置于ECC区块解码器中或微处理单元中。
在本发明的另一实施例中,光学储存媒体为一高分辨率数字多用途光盘(High-Definition DVD,HD-DVD),而图2所示的N值可对应地变化;这是依据HD-DVD光盘规格所定义的数据区块中的区段数量。另外,图3所示的M值可对应地被重新定义。针对HD-DVD光盘,相似的说明不在此重复赘述。
图4为依据本发明第二实施例、一种用来选择性地再缓冲读取自一光学储存媒体的数据区块的至少一部分的另一装置200的示意图,其中光学储存媒体为一蓝光盘(Blu-ray Disc,BD),而数据区块为一丛集(cluster)。装置200包含一再缓冲控制模块210与一动态随机存取存储器230。如图4所示,再缓冲控制模块210包含有一寄存器212、一再缓冲控制单元214、一第一数据控制单元216(也称为数据控制单元216)与一解交插(de-interleave)电路220,其中解交插电路220包含一第二数据控制单元226(也称为数据控制单元226)与一中间(intermediate)缓冲器,而本实施例的中间缓冲器为静态随机存取存储器(Static Random Access Memory,SRAM)228。寄存器212、再缓冲控制单元214与数据控制单元216的功能与图1所示的寄存器112、再缓冲控制单元114与数据控制单元116的功能相似。数据控制单元226解交插读取自蓝光盘的数据区块,而静态随机存取存储器228是用来缓冲来自数据控制单元226且被解交插的数据区块,并将被解交插的数据区块转移(transfer)至数据控制单元216。
在本实施例中,数据控制单元226通过蓝光驱(BD drive)的解调电路(未显示)所产生的解调信号208来接收读取自蓝光盘的多个丛集。读取自蓝光盘的丛集的解交插方法与重新排列为熟习技艺者所知悉,故不在此赘述。
图5为对应于一丛集(其包含有多个编码字)的解交插数据以及一动态随机存取存储器(例如:图4所示的动态随机存取存储器230)中被缓冲的一丛集的示意图。依据本实施例,可一次仅更新一丛集的一部分。在本实施例中,该解交插数据储存于一静态随机存取存储器(例如:图4所示的静态随机存取存储器228)中;依据本实施例的一变化例,解交插数据并不必然被储存于静态随机存取存储器中。依据本实施例,一数据控制单元(例如:图4所示的数据控制单元216)进行重新排列的结果,被缓冲的丛集的每一部分RP-I-J(I=0、1、…或Ni,且J=0、1、…或Nj)对应于解交插数据的一部分DP-I-J,其中Ni与Nj可依据蓝光盘规格来分别决定为两特定值。在此,一区段I包含有多个部分RP-I-0、RP-I-1、RP-I-2、…与RP-I-(Nj-1)。在本实施例中,一参数包含有多个旗标,分别指出各部分RP-I-J(I=0、1、…与Ni,且J=0、1、…与Nj)是否需要被再缓冲。该参数的意义、其在各种变化例的变形、以及用来产生该参数的方法均已揭露于第一实施例中,故不在此重复赘述。若该参数的旗标指出动态随机存取存储器中、被缓冲的丛集的多个特定区段需要被再缓冲,则再缓冲控制模块(例如:图4所示的再缓冲控制模块210)将对应于这些特定区段的这些部分再缓冲进动态随机存取存储器中,以更新这个丛集。例如:在蓝光驱中、执行韧体码的微处理单元依据被缓冲的丛集的解码结果判断对应到RP-1-0、RP-1-1、RP-1-2、…与RP-1-(Nj-1),以及对应到RP-2-0、RP-2-1、RP-2-2、…与RP-2-(Nj-1)的区段均不正确。图5中,这些不正确的部分是以“*”来标示。由于执行韧体码的微处理单元可对应地决定该参数的旗标的值,再缓冲控制模块依据这些旗标来将DP-1-0、DP-1-1、DP-1-2、…与DP-1-(Nj-1)以及DP-2-0、DP-2-1、DP-2-2、…与DP-2-(Nj-1)再缓冲进动态随机存取存储器中,以更新RP-1-0、RP-1-1、RP-1-2、…与RP-1-(Nj-1)以及RP-2-0、RP-2-1、RP-2-2、…与RP-2-(Nj-1)。相似地,再缓冲控制模块可将DP-1-0、DP-1-1、DP-1-2、…与DP-1-(Nj-1)以及DP-2-0、DP-2-1、DP-2-2、…与DP-2-(Nj-1)的有误的再缓冲进动态随机存取存储器中,而非再缓冲整个区段。另外,再缓冲控制模块可再缓冲同一丛集的次数可依据一预定门槛值来加以限制。针对本实施例,其与前面相似的变化例不在此重复赘述。
图6为依据本发明一实施例、一种用来解码读取自一光学储存媒体、由多个部分所组成的数据区块的装置300的示意图。在本实施例中,光学储存媒体为DVD光盘,而数据区块为错误修正码(ECC)区块。装置300包含有一储存装置与一解码模块320。在本实施例中,储存装置为一动态随机存取存储器(DRAM)310。如图6所示,解码模块320包含有一解码器322,以及一储存单元(例如寄存器324)。与图1所示的寄存器112相似,寄存器324依据不同的实施方式的选择,可置于光驱中不同的位置。在本实施例中,寄存器324储存参数。寄存器324中所储存的参数可指出对应于DVD光盘中、ECC区块的缓冲数据的哪部分应当被解码器322重新读取。对应于前面所述的实施例中、该参数(或这些参数)的意义及相关变化例(例如:该参数包含有多个旗标,且每一旗标具有单一位或多个位的相关变化,又如:该参数指出有误部分的位置的相关变化),在本实施例也可以进行对应的变化。
图7为一DVD光盘(例如:前一段所述的DVD光盘)中所储存的ECC区块、以及一动态随机存取存储器(例如图6所示的动态随机存取存储器310)中、被多重缓冲(multi-buffered)的ECC区块的示意图。动态随机存取存储器通过缓冲于不同次读取自DVD光盘的同一错误修正码区块,来依序储存缓冲数据B-1、B-2、…与B-K,其中缓冲数据B-1、B-2、…与B-K彼此互不覆写(overwrite)。在此,同一错误修正码区块被缓冲进动态随机存取存储器K次。另有一存储器,例如:图6所示的寄存器324,储存着一参数,该参数是由对应ECC区块的多个部分DC-0、DC-1、DC-2、…、DC-(M-1)的多个旗标所组成。每一旗标是用来指出缓冲数据B-1的一部分是否被错误地解码。在此,每一旗标包含有多个位,藉此储存足够的信息来指出缓冲数据B-1、B-2、…与B-K中的哪一个可被用来解码。解码器322可通过使用缓冲数据B-1、B-2、…与B-K,依据这些旗标来解码此ECC区块。
在本实施例中,解码器322为一ECC区块解码器。在缓冲数据B-1被储存于动态随机存取存储器310之后,解码器322解码缓冲数据B-1以产生一解码结果。然后一控制器,例如:该微处理单元,依据解码缓冲数据B-1所得的解码结果,尤其是依据解码缓冲数据B-1后、被解码的数据区块(即ECC区块)每一部分的正确性,来决定参数的旗标的值,所以该参数指出每一部分B-1-0、B-1-1、B-1-2、…、B-1-(M-1)是否被错误地解码。例如:若图7所示带有点状图案的部分B-1-1、B-1-2、…、B-1-(M-1)被错误地解码,则缓冲数据B-2就被储存于动态随机存取存储器310中。依据该参数,解码器322会依据缓冲数据B-1的B-1-0以及缓冲数据B-2的B-2-1、B-2-2、…、B-2-(M-1)来解码ECC区块以产生至少一解码结果。相似地,微处理单元依据最新解码结果来决定该参数的旗标的值,而该参数的旗标则分别指出B-1-0、B-2-1、B-2-2、…、B-2-(M-1)是否被错误地解码。例如:B-2-2、…、B-2-(M-1)被错误地解码,于是缓冲数据B-3就被储存于动态随机存取存储器310中。通过相同的方法,DVD光盘所储存的各个部分DC-0、DC-1、DC-2、…、DC-(M-1),若都能分别在缓冲数据B-1、B-2、…与B-K当中,至少找到一笔对应该部分的正确数据,即K个缓冲数据中至少能找到一正确部分来代表DVD光盘所储存的某一部分DC-0、DC-1、DC-2、…或DC-(M-1),则解码器322就可成功地解码此ECC区块。相似地,针对同一丛集的缓冲数据的数量,即K值,可依据一预定门槛值来加以限制。
请注意,在本实施例中,部分DC-0、DC-1、DC-2、…、DC-(M-1)可为编码字。在本发明的其它实施例中,也可使用各种具有其它长度的部分;各部分的长度可不同或不全然相同。例如:若这些部分中一部分包含有两个或超过两个编码字,则该参数的旗标或位的数量就可被减少。依据本发明的另一实施例,这些部分中的一部分可包含有一区段。
在图6所示的实施例的一变化例中,解码器322可依据缓冲数据B-1、B-2、…与B-K的正确性,来决定该参数的值。此外,在图6所示的实施例的其它变化例中,光学储存媒体可为一高分辨率数字多用途光盘或一蓝光盘,及/或数据区块可为对应于光学储存媒体的一丛集。相似地,关于这类变化例的说明不在此重复赘述。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,都应属本发明的涵盖范围。
机译: 从光学存储介质中选择性地重新缓冲和解码一部分数据块的方法和装置
机译: 从光学存储介质中选择性地重新缓冲和解码一部分数据块的方法和装置
机译: 用于通过将视频数据发送回去的方法来对视频数据进行编码和解码的系统使用缓冲器对与已发送的视频数据包中的本地比特错误有关的选择性重发过程进行操作。