用于播放媒体文件的方法和系统的制作方法

文档序号:6749675阅读:190来源:国知局
专利名称:用于播放媒体文件的方法和系统的制作方法
技术领域
本发明涉及从数据载体中播放媒体文件的方法,该方法包含了管理包含一个损坏扇区数据载体的第一步骤。
进一步讲,本发明涉及用于从数据载体中播放媒体文件的系统,该系统包含用于管理在该数据载体上的损坏扇区的管理装置。
再进一步讲,本发明涉及在数据载体上记录媒体文件的方法,以及在数据载体上记录媒体文件的系统。
上述类型的方法和系统的一个实施方案在美国5,237,553中已知。本文中,使用由记录诸如声音或者视频图象等等实时数据组成的,分配给顺序存取区域的数据记录媒体。进一步讲,在此被分配的包括用于记录管理在格式化进程中被检测出有缺陷扇区的一个C(身份certification)缺陷列表的一个C列表区域,以及用于记录管理在格式化进程中被检测出有缺陷扇区的一个G(生长growing)缺陷列表的一个G列表区域,以及由用于记录诸如编码数据等等随机存取数据的一个数据区域所组成的一个随机存取区,用于替代在记录进程中被检测出有缺陷扇区的一个空闲区域,用于记录管理在有缺陷扇区和空闲区域之间关系的一个R(关系relation)缺陷列表的R列表区域。在顺序存取区域的数据记录进程中,当被登记在该C列表区域和G列表区域之中的有缺陷扇区被忽略的同时,数据被记录,由此获得既是随机存取数据又是实时数据这两者的记录。该C,G和R列表区域还被用来读取随机存取数据和实时数据。
本发明的一个目标就是根据一种改进的方式来管理在数据载体上的损坏扇区为前提而提供播放媒体文件的方法。为获得此目标,根据本发明方法的特征在于该方法进一步包含映射一个文件块到损坏扇区的第二步骤,其中该媒体文件包含该文件块,播放该媒体文件的第三步骤,其中被该媒体文件用来隐藏损坏扇区的预定义数据被播放。通过映射多个文件块到一个记录媒体上的多个扇区,这些文件块就能反映记录媒体的物理状态。例如,因为损坏扇区不能被正确地读取和写入,此状态相关于记录媒体的读取和写入数据。通过使用在其文件块中控制对多个文件读出和写入的一个文件系统,此文件系统仅需咨询这些文件块而不是该记录媒体的这些扇区。但是,该记录媒体被防止存取它自己的、对多个耗时的损坏扇区进行管理的机构。进一步讲,通过对应用程序隐藏损坏扇区而使用预定义数据,例如当应用程序尝试存取被映射到损坏扇区的这些文件块时,显示视频帧或播放视频的应用程序接收定义数据。这就使此应用程序避免可在其接收未定义数据的时候出现类似应用程序崩溃或者失效等等出错情形。因为数据载体的物理损伤能损坏这些扇区。此物理损伤能在数据已被写入到这些扇区之后出现,而这些扇区可导致损坏数据。一些能显示帧或者总体上播放媒体文件的应用程序不能处理损坏的数据,这是因为损坏的数据可具有一种未知的、无法进行错误恢复的数据结构。而损坏的数据就可造成此应用程序失效。为了防止应用程序失效,假如此应用程序尝试存取那些被映射到损坏扇区中的文件块,该文件系统就能把预定义数据返回到此应用程序。
根据本发明的方法的一个实施方案在权利要求2中被描述。通过用可包含于媒体应用程序的一个定义数据结构的预定义数据来隐藏损坏的数据,该媒体应用程序将避免对可具有一个未定义的数据结构的、损坏的数据起反应。该反应可花费几个毫秒,这被用户注意到,或者,它会造成此应用程序失效,而这是必须被避免的。在读取期间,例如因该数据未以正确速度发送到记录媒体,或者当在该数据经由一个网络发送的情形下出现网络故障的时候,会损坏该数据。另外,数据在它处于如记录媒体被损伤的情形之后被写入也会造成损坏。
根据本发明的方法的一个实施方案在权利要求3中被描述。通过映射一个状态到引用损坏扇区的文件块,该状态就能被用来引用隐藏损坏扇区的预定义数据。该状态可包含一个被用作预定义数据的预定义的字节流,或者如,包含对包括了预定义字节模型的另一个文件块或者多个文件块的一个引用。在后者的情形中,该预定义数据可被更新。进一步讲,该状态可被用作指示出损坏扇区是否能被新的数据所写入。该字节模型的大小可等于该损坏扇区的大小。
根据本发明的方法的一个实施方案在权利要求4中被描述。通过不读取或者忽略损坏的数据,就没有时间被消耗在试图读取和/或重新尝试读取来自该媒体的数据。然后,仅未损坏的数据能从该媒体中读取,并且该文件系统能返回用于引用损坏扇区的所有文件块的预定义数据。
本发明的进一步的目标就是根据一种改进的方式来处理在数据载体上的损坏扇区为前提而提供播放来自数据载体中的媒体文件的系统。为获得此目标,根据本发明播放媒体文件的系统的特征在于该系统进一步包含用于映射一个文件块到损坏扇区的映射装置,其中该媒体文件包含该文件块,用于播放媒体文件的播放装置,其中预定义数据被播放,而该预定义数据正被用来隐藏损坏扇区。
根据本发明播放一个媒体文件的该系统实施方案在权利要求8到10中被描述。
本发明的进一步的目标就是根据一种改进的方式处理在数据载体上的损坏扇区为前提而提供在数据载体上记录媒体文件的方法。为获得此目标,根据本发明记录媒体文件的方法的特征在于该方法进一步包含映射一个文件块到损坏扇区的第二步骤,其中该媒体文件包含该文件块,记录该媒体文件的第三步骤,其中,在损坏扇区上没有数据被记录。
根据本发明记录一个媒体文件的该方法实施方案在权利要求5到10中被描述。
本发明的进一步的目标就是根据一种改进的方式处理在数据载体上的损坏扇区为前提而提供记录媒体文件的系统。为获得此目标,根据本发明记录媒体文件的系统的特征在于该系统进一步包含用于映射一个文件块到损坏扇区的映射装置,其中一个文件包含该文件块,用于播放媒体文件的播放装置,其中预定义数据被播放,而该预定义数据正被用来隐藏损坏扇区。
根据本发明记录一个媒体文件的该系统实施方案在权利要求12中被描述。
本发明将通过以下附图所示的实施方案方式进行描述

图1概要示出了播放实时视频和/或音频的系统,图2示出了一个逻辑扇区编号对物理扇区编号的映射,图3示出了根据本发明这些方法的主要初始化步骤,图4示出了结果文件示意,图5示出了根据本发明记录一个媒体文件方法的主要步骤,图6示出了根据本发明播放一个媒体文件方法的主要步骤,图7以一种原理图方式示出了根据本发明系统的一个实施方案的最重要部分,图8以一种原理图方式示出了包含根据本发明系统的一个实施方案的电视机,图9以一种原理图方式示出了包含根据本发明系统的一个实施方案的一个机顶盒。
图1概要示出了播放实时视频和/或音频的系统。播放实时视频和/或音频的系统通常具有严格的定时限制。例如,50Hz的视频表示一个视频帧必须从磁盘读取,以及在0.02秒之中处理和显示。这就意味着这些步骤中的每一个必须在一个有限的时间内被实现,不给错误恢复留有很多余地。错误恢复可通过例如控制磁盘100的磁盘驱动器或者类似于光盘、可装卸磁盘等等的其它类型存储媒体,来执行错误恢复。在确定数据从被读取的某个扇区已坏掉而数据必须被跳越之前,该驱动器首先执行一些读取该数据的重试。但是,此错误恢复要花费时间,这就对被播放的视频或者音频的质量有负面效果。应用程序102,处理被读取的数据并且显示视频帧和/或播放音频,也还能执行错误恢复。当磁盘驱动器成功读取了数据,但是该数据本身又是损坏的时候,应用程序102就能在处理它之前评估该数据或者对接收自所执行的处理步骤的多个错误进行反应。在最坏情况下,应用程序可能崩溃。此错误恢复也要花费时间,而在此实时处理领域中这极为罕见。因此,文件系统104防止损坏扇区将被磁盘驱动器所重读,并且使此应用程序与出现在该磁盘100之上的损坏的数据相隔开。
损坏扇区为来自于两种情况的产物。在第一种情况中,扇区是有缺陷的或者是坏的并且不能正确地容纳数据。进而由于在磁盘生产过程之中的不完善或者划伤,扇区受到了物理损伤。在格式化磁盘100期间来检测这些扇区并且磁盘驱动器在它的基本缺陷表106(PDL)中记录了该扇区的物理扇区号(PSN)。一个二级缺陷表108(SDL)被用来记录在磁盘被格式化之后变坏的扇区。在格式化之后扇区变坏是由于该磁盘表面上的灰尘或者是因为其它任何物理损伤所产生的结果。磁盘驱动器在尝试写入到这些扇区时检测这些坏扇区然后更新它的SDL108。通常,PDL和SDL也记录在该磁盘上并且能从该磁盘中检索出来。文件系统104控制它自己的缺陷表。此缺陷表被称为坏扇区报警表110,并且当某个写入错误被该磁盘驱动器所指出时它被该文件系统用来管理某个扇区的PSN。在确定该扇区为坏的之前重试写入到这些扇区的时间消耗的次数而在指出写入错误后被减少。这一减少使得它适合提供给读取某个扇区所允许的时间。
当磁盘驱动器在它尝试从某个坏扇区中读出时检测到一个坏扇区的时候,SDL108以及坏扇区报警表110也被更新。进一步讲,在确定该扇区为坏的之前重试写入到这些扇区的时间消耗次数在指出写入错误后被减少。这一减少使得它适合提供给读取某个扇区所允许的时间。
当系统112有时间,即它完成记录音频或者视频的时候,坏扇区报警表110就被写入到磁盘100。当磁盘100为写保护时,坏扇区报警表110就保持在存储器之中。
在第二种情况中,扇区本身并没坏掉,但当前数据因为,例如,不再顺应诸如MPEG或者MPEG4等等有效的视频或视频格式而损坏。数据因未完全写入到该扇区,故也可能是损坏的。由于电源故障或者网络故障,数据流可能在该数据通过网络写到磁盘时被中断。应用程序102在从文件系统读出时检测这一故障或者它接收损坏的数据。然后,它管理在坏数据报警表114中包含损坏数据的物理上正确的扇区的PSN。还可能应用程序102事先管理一些扇区的余量以及管理在损坏数据扇区之后的一些扇区。当系统112有时间的时候,坏数据报警表114还能被文件系统104所存取并被写入到该磁盘上的某个预定义的位置。当磁盘100不为写保护时,坏数据报警表114被写到磁盘100。当磁盘100为写保护时,坏数据报警表114则被保留在存储器中。还有可能文件系统104管理坏数据报警表114中的坏数据扇区。当系统112有时间时,则应用程序102把仍保存在存储器中的、适当的和正确的数据经由文件系统104写到在坏数据报警表114中所提到那些扇区,并且从坏数据报警表114中擦除那些扇区。
文件系统104安装磁盘100并从该磁盘中读取PDL106和SDL108。在这些表中所提到的扇区被用来构造坏扇区报警表110。当磁盘100未被写保护时,坏扇区报警表110和坏数据报警表114被写入到磁盘100。当该磁盘例如为可被另一个系统所更新的移动磁盘时,则SDL108的内容能被其它系统所检测的坏扇区而改变。当该磁盘进而被初始文件系统所安装的时候,坏扇区报警表110的内容就与PDL106和SDL108的内容进行比较并且根据这些内容进行更新。
替代于管理PSN,还可能管理一个扇区的逻辑扇区号(LSN)并使用LSN对PSN映射,反之亦然。此映射在图2中示出。
图3示出了根据本发明的这些方法的主要初始化步骤。在步骤S300中,磁盘100由文件系统104安装。文件系统104从该磁盘中检索PDL106和SDL108。该文件系统使用在此两个表中都被标志了的扇区的PSN来填充坏扇区报警表110。在步骤S302中,文件系统在磁盘100所有扇区的顶端创建一个逻辑结构。此逻辑结构由成组进入文件的多个块所组成。块可为任何字节大小的。属于一个文件的那些块能分散在该磁盘中的任何地方。为了识别属于某个文件的这些块,文件系统经由一个文件索引表来使用标引。一步完整的影片能生成一个文件,或者一首歌可生成一个文件。该文件索引表也在步骤S302之中创建。该文件索引表为每个文件包含了具有指向属于一个文件那些块地址指针的一个索引。从多个块中识别文件的其它两个方式为第一,使用链列表,其中数据的每个块都包括指向下一个数据块的指针;第二,使用链表,其中那些指向多个块的多个指针的每个文件的该链列表在一个文件分配表中存储。对于出现在坏扇区报警表110中的每个扇区,该文件系统的确都创建了一个索引,但是,这个索引并不包含指向一个块的一个指针。而代之于该索引包括了一个状态。通过一次读请求,此状态被用来把预定义数据返回到应用程序。当该状态等于“x”时,所有零值都被返回到应用程序,当该状态等于“y”时,所有壹值都被返回到应用程序。其它不造成应用程序失效的字节模式,例如象由该应用程序所指出的一个字节模式,也被返回。当应用程序没有满足它的定时需要时,它也会失效。进一步讲,该状态可被用来包含引用多个块(和多个扇区)的一个指针,而这些块又包含了预定义数据。结果文件的示意图在图4中示出。这里400为该磁盘的示意图,其中402指示出一个坏扇区。文件404进而包含数据块的两个盘区范围406和408。每个范围都由区距410和412,起始扇区414和416以及长度418和420来寻址。该文件系统保留了1120个块来写入完整的文件,100到119块不能包含数据。
图5示出了根据本发明记录一个媒体文件方法的主要步骤。为了记录一个媒体文件,应用程序102请求文件系统104把数据写到磁盘100。记录一个媒体文件意味着,例如,从电视所放映的一部影片中记录一个视频文件或者记录一个来自数字相片的相片文件或者记录一个与该影片一起被接收的音频信号的音频文件。经过一次写请求,文件系统104就在S500中分配足够大小的一个文件。当应用程序预先得知该文件大小的估算值时,这一大小就被传送到文件系统。当用户请求记录一个小时的影片以及应用程序得知它每秒所接收的最大字节流的时候,该文件的大小就被预先估算出来。在此步骤中,文件系统104咨询它的坏扇区报警表110。为了那些出现在此列表中的扇区,文件系统104更新了它指向前述那些块的多个索引。在步骤S502中,文件系统104开始把它接收自应用程序的媒体数据记录到磁盘100上。在步骤S504中,文件系统104接收来自磁盘驱动器的一个指出每个扇区不能被写入的一条写错误信息。该磁盘驱动器更新它的SDL108。在步骤S506中,文件系统104更新它的坏扇区报警表110。而且,文件索引表正如以前所述那样被更新。在步骤S508中,包含在引用那些坏扇区逻辑存储块中的数据从那些逻辑存储块中删除。而且,适当的状态作为初始引用被加入到前述这些块的那些索引中。在文件系统有时间,例如在记录会话的背景下或者它一旦完成的时候,执行此步骤S508。
图6示出了根据本发明播放一个媒体文件方法的主要步骤。为了播放一个媒体文件,应用程序102请求文件系统104从磁盘100读取数据。播放一个媒体文件意味着,例如,当一个视频文件或相片文件时在屏幕上显示出它,或者当一个音频文件时播放一个音频信号。经过从应用程序对一个媒体文件的一次读请求,在步骤S600中该文件系统咨询它的文件索引表来确定属于被请求的媒体文件的那些相关块。在步骤S602中,文件系统104请求磁盘驱动器从被那些相关块所引用的扇区读取数据。为了那些不引用块的索引,由如前所述状态确定的预定义数据被读取。为了这些索引,磁盘驱动器不被请求从该磁盘中读取数据,但是该磁盘驱动器忽略这些坏扇区。在步骤S604中,被读取的数据被该文件系统返回到应用程序。在步骤S606中,应用程序处理被读取的数据。当在该数据被处理期间出现一个错误时或者当应用程序首先筛选被读取的数据以在处理之前与所期望的格式相符合时,则该数据从中被读取的扇区加入到坏数据报警表114。在步骤S608中,应用程序通过显示视频帧或图象来播放媒体文件,或者播放音频文件。预定义数据可被用来代表在视频帧或者图象中的黑区域,或者通过来自音频信号的缺少的片段。预定义数据因此被用来防止应用程序崩溃或防止播放希奇古怪的东西。在步骤S610中,该文件系统使用坏数据报警表114来更新其类似于依据坏扇区报警表110的那种更新的文件索引表。其后,在通过应用程序的、相同文件的下一个读请求中,包含了坏数据的那些扇区也被忽略。
根据本发明的方法的所述实施方案中的步骤顺序并不是强制的,本领域的技术人员能不脱离本发明所指概念改变步骤顺序,或者在执行步骤的同时使用线程模式、多处理器系统或多个进程。
图7以一种原理图方式示出了根据本发明的系统的一个实施方案的最重要的部分。本文中的系统700能够既记录又播放如前所述的媒体文件。该系统读取和写入来自和到达可被激光阅读器/写入装置714所读取和写入的光盘702。PDL106和SDL108被写入到光盘702。文件系统104驻留在存储器706中并且经由连接到CPU722的数据总线720接收数据。该磁盘驱动器驻留在存储器704中并且能被文件系统指示来读取或者写入该光盘702。被文件系统使用以把多个逻辑块分组进入多个文件的文件索引表驻留在存储器708中并且可被文件系统更新。存储器710包含在前述损坏区域情况下必须返回的预定义数据。此预定义数据还能从光盘702上的预定义位置读出。存储器708也包含坏扇区报警表110以及坏数据报警表114。进一步讲,该系统包含驻留在存储器712中的一个多媒体应用程序。该多媒体应用程序能播放音频、视频和显示图象等等,以及执行该数据的处理。进一步讲,该系统700被连接到一个扬声器716和一个屏幕718。
图8以一种原理图方式示出了包含根据本发明系统一个实施方案的电视机。本文中一条天线800接收一个电视信号。任何例如象碟形卫星天线、电缆、存储设备、互联网或以太网等等能够接收或者重新生成电视信号的设备也能代替此天线800。接收机802接收信号。该信号可为例如数字、模拟、RGB或YUV。除了接收机802之外,该电视机还包含可编程的组件804,例如一个可编程的集成电路。可编程的组件包含一个根据本发明的系统806。电视屏幕808显示被接收机802所接收的并且被可编程组件804所处理的多个图象。当用户想要记录例如电影等等被接收的信号时,根据本发明的系统806就在类似于DVD+RW、光盘或者硬盘等等记录设备上记录被接收的信号。当用户想要播放被记录的电影。根据本发明的系统806就从记录设备中检索适合的数据。
图9以一种原理图方式示出了包含一个根据本发明系统实施方案的一个机顶盒之中的多个最重要部分。本文中,天线900接收电视信号。该天线也能是例如碟形卫星天线、电缆、存储设备、互联网、以太网或者是其它任何能够接收电视信号的设备。机顶盒902接收信号。该信号例如可以是数字、模拟、RGB或YUV等。除了包含在机顶盒里的、但未在本文中显示的通常那部分之外,该机顶盒还包含了一个根据本发明的系统904。当用户想要记录例如电影等等被接收信号的时候,根据本发明的系统904就在类似于DVD+RW、光盘或者硬盘等等记录设备上记录被接收的信号。当用户想要播放一部被记录的电影时,根据本发明的系统904就从记录设备中检索适合的数据。电视机906能显示出由机顶盒902接收信号所生成的输出信号。
权利要求
1.一种用于播放来自数据载体媒体文件的方法,该方法包含管理包含一个损坏扇区数据载体的第一步骤,其特征在于,该方法进一步包含映射一个文件块到损坏扇区的第二步骤,其中该媒体文件包含该文件块,播放该媒体文件的第三步骤,其中预定义数据被播放,而该预定义数据正被该媒体文件用来隐藏损坏扇区。
2.权利要求1中播放媒体文件的方法,其中,损坏扇区包含损坏的数据并且预定义数据隐藏损坏的数据。
3.权利要求1中播放媒体文件的方法,该第二步骤包含了映射一个状态到该文件块的一个映射子步骤,其中该状态引用预定义数据。
4.权利要求1中播放媒体文件的方法,该第三步骤进一步包含了忽略读取损坏扇区的一个忽略子步骤。
5.一种在数据载体上记录媒体文件的方法,该方法包含管理包含一个损坏扇区数据载体的第一步骤,其特征在于,该方法进一步包含映射一个文件块到损坏扇区的第二步骤,其中该媒体文件包含该文件块,记录该媒体文件的第三步骤,其中,在损坏扇区上没有数据被记录。
6.权利要求5中记录媒体文件的方法,其中损坏扇区被写入。
7.权利要求5中记录媒体文件的方法,该第二步骤包含了映射一个状态到该文件块的一个映射子步骤,其中该状态引用该预定义数据。
8.一种用于播放来自数据载体(702)的媒体文件的系统(700),该系统包含用于管理在该数据载体上的损坏扇区的管理装置(720),其特征在于,该系统进一步包含用于映射一个文件块到损坏扇区的映射装置(708),其中该媒体文件包含该文件块,用于播放媒体文件的播放装置(712),其中预定义数据被播放,而该预定义数据正被用来隐藏损坏扇区。
9.权利要求8中用于播放媒体文件的系统(700),进一步包含引用预定义数据的引用装置(710)。
10.权利要求8中用于播放媒体文件的系统(700),进一步包含被用于忽略读取损坏扇区的读装置(706)。
11.一种用于在数据载体上记录媒体文件的系统(700),该系统包含用于管理在该数据载体上的损坏扇区的管理装置(720),其特征在于,该系统进一步包含用于映射一个文件块到损坏扇区的映射装置(708),其中该媒体文件包含该文件块,用于记录该媒体文件的记录装置(706),其中损坏扇区不被记录。
12.权利要求11中用于记录媒体文件的系统(700),进一步包含用于引用该预定义数据的引用装置(710)。
13.一种被设计用来执行从权利要求1到7任何权利要求中的方法的计算机程序产品。
14.一种包含在权利要求13中计算机程序产品的存储设备(702)。
15.一种包含在从权利要求8到12任何权利要求中的系统的电视机(810)。
16.一种包含在从权利要求8到12的任何权利要求中的系统的机顶盒(902)。
全文摘要
能播放实时音频和/或视频的系统(112)经常针对读取、处理和播放该数据有着严格的定时限制。但是,当数据有损坏或者来自数据载体(100)的扇区不正确时,该系统就尝试从损坏的数据中恢复。为防止损坏的数据造成该系统错过其定时需求,本发明管理该数据载体的损坏扇区(110,114),并且通过返回预定义数据而不是损坏的数据以隐藏来自应用程序损坏的数据。进一步讲,本发明维护逻辑文件块到损坏扇区的一次映射,以防止驱动器试图读取损坏的数据。
文档编号G11B20/10GK1488141SQ02801577
公开日2004年4月7日 申请日期2002年4月23日 优先权日2001年5月9日
发明者R·M·托尔, J·F·R·布拉克奎雷, R M 托尔, R 布拉克奎雷 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1