录制有音频视频交错结构文件的光学储存媒体及录制方法转让专利

申请号 : CN200610079041.X

文献号 : CN100593817C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢明甫翁群棠

申请人 : 凌阳科技股份有限公司

摘要 :

一种录制有音频视频交错结构文件的光学储存媒体及其录制方法,其中光学储存媒体为一次写入型且所采用的文件系统并未使用多段文件来记录。此方法在AVI结构中利用一个赘冗块使得每个连续烧录区段之间所产生的链接区被包含在此赘冗块内,故得以避免整个AVI结构被链接区破坏。

权利要求 :

1、一种在光学储存媒体上实时录制具有AVI结构的文件的方法,其中 该光学储存媒体为一次写入型且所采用的一光盘文件系统并未使用多段文件 来记录,该AVI结构包括用以存放头信息数据的一第一列表及用以存放影音 数据的一第二列表,该第二列表包括一头信息及一子数据区,且该子数据区 的长度依据录制的影音数据的长度所决定,该方法包括:根据该光学储存媒体的类型确定每个连续烧录区段之间所产生的一链接 区的长度;

根据该第一列表、该第二列表的头信息及一赘冗块的长度总和,保留一 保留区于该子数据区之前,且该保留区的长度等于该长度总和,其中该赘冗 块的长度大于该链接区的长度;

开始录制一影音数据,并在录制停止前,将录制的影音数据写入该子数 据区;以及在录制停止后,将整个AVI文件的头信息写在保留区之前的区域,再依 序将该第一列表、该第二列表的头信息及该赘冗块的数据写入该保留区。

2、如权利要求1所述的方法,还包括:

在录制进行时,记录影音块的长度和数量,在录制停止后,先根据记录 的影音块的长度和数量计算出该第二列表及该AVI结构的长度,再写入所述 整个AVI文件、第一列表和该第二列表的头信息及该赘冗块的数据。

3、如权利要求1所述的方法,其中该AVI结构还包括用以存放索引数 据的一索引块,在录制停止后,先将索引数据写入该子数据区之后的该索引 块,再写入所述整个AVI文件、第一列表和该第二列表的头信息及该赘冗块 的数据。

4、如权利要求3所述的方法,还包括:

在录制进行时,记录影音块的长度和数量;录制停止后,在将索引数据 写入该索引块后,先根据记录的影音块的长度和数量计算该第二列表及该 AVI结构的长度,再写入所述整个AVI文件、第一列表和该第二列表的头信 息及该赘冗块的数据。

5、如权利要求1所述的方法,其中该赘冗块包括有一识别码,且播放装 置读到该识别码时忽略该赘冗块的内容。

6、如权利要求5所述的方法,其中该赘冗块的识别码为四字符码。

7、一种录制有AVI结构文件的光学储存媒体,其中该光学储存媒体为 一次写入型且所采用的一光盘文件系统并未使用多段文件来记录,该光学储 存媒体的每个连续烧录区段之间存在一链接区,其中该AVI结构包括:一第一列表,用以存放与一影音数据相关的头信息数据;以及

一第二列表,包括一头信息、一赘冗块及一子数据区,其中该赘冗块的 长度大于该链接区的长度,且该子数据区用以存放所录制的该影音数据,其中,该第一列表在该第二列表之前,该第二列表的头信息在该第二列 表的赘冗块之前,且该第二列表的赘冗块在该第二列表的子数据区之前。

8、如权利要求7所述的光学储存媒体,其中该AVI结构文件还包括:一索引块,用以存放与该影音数据相关的索引数据,且该索引块在该第 二列表之后。

9、如权利要求7所述的光学储存媒体,其中该赘冗块中包括有一识别 码,该识别码为一四字符码,且播放装置读到该四字符码时忽略该赘冗块的 内容。

10、如权利要求7所述的光学储存媒体,其中该赘冗块的长度大于或等 于一识别码字段的长度加上该链接区的长度。

说明书 :

技术领域

本发明涉及一种实时录制多媒体文件的方法,特别涉及一种在光学储存 媒体上实时录制具有AVI结构的文件的方法。

背景技术

AVI是一种针对声音和动态图片所制定的视窗多媒体(Windows Media) 文件格式,其使用微软(Microsoft)开发的RIFF格式,其中AVI是Audio Video Interleaved(音频视频交错)的缩写,而RIFF是Resource Interchange File Format(资源交换文件格式)的缩写。
首先介绍RIFF格式。如图1A所示,RIFF文件的结构包括“RIFF”、长 度、识别码及数据区,其中“RIFF”是一个四字符码(four-character code,简 称为FCC),且由于微软操作系统的字节排序使用小头方式(little-endian), 因此若四字符码“RIFF”的编码以十六进制表示为52 49 46 46,则写到文件中 的顺序为46 46 49 52。为了方便辨识,以下四字符码均用双引号括起来。此 RIFF文件的结构一开始用4个字节的四字符码“RIFF”表示这是一个RIFF文 件;紧跟着用4个字节表示此RIFF文件的长度;然后再用4个字节的四字 符码作为识别码,表示数据的类型,例如是AVI、WAVE等;最后就是存 放实际数据的数据区。需要注意的是长度字段所记载的长度为实际数据的长 度(即数据区的长度)加上识别码字段的长度(即4个字节)。
另外,RIFF格式使用列表(list)及块(chunk)两种数据结构,而且列 表/块可以再嵌套其他的列表/块。如图1B所示,列表的结构包括“LIST”、 长度、识别码及数据区,其中“LIST”是一个四字符码,表示这是一个列表; 长度字段所记载的长度为数据区的长度加上识别码字段的长度;而识别码例 如是四字符码“hdrl”、“movi”等,表示数据的类型。类似地,块的结构包括 识别码、长度及数据区,其中识别码例如是四字符码“idx1”等,表示数据的 类型;而长度字段所记载的长度为数据区的长度加上识别码字段的长度。
再来介绍AVI文件的结构,其中AVI是一种使用RIFF格式的视窗多媒 体文件格式。如图2A所示,AVI文件的结构为:一开始四字符码“RIFF”表 示这是一个RIFF文件;接着len1表示此文件的长度;然后四字符码“AVI” 表示这是AVI类型的文件,其中含有空格的四字符码是合法的;最后就是 存放AVI实际数据的数据区。一般将数据区之前的部分称为头信息 (header),例如AVI文件的头信息20包括“RIFF”、长度len1及识别码 “AVI”。另外,AVI文件的数据区包括两个列表21、22及一个可选的块23。 其中,列表21的结构包括“LIST”、长度len2、识别码“hdrl”及HDRL数据区 (其存放数字影音数据的各头信息数据)。列表22的结构包括“LIST”、长 度len3、识别码“movi”及MOVI数据区(其存放上述的数字影音数据)。块 23的结构包括识别码“idx1”、长度len4及IDX1数据区(其存放用于快转、 倒转等的索引数据)。
另外,再对用于光盘的文件系统稍做说明,以下以ISO 9660为例。ISO 9660文件系统允许文件可以由一个或多个片段(section)所组成。而在文件 系统里,对每个文件片段均有一个多延伸位(Multi-Extent bit)来表示目前 这个片段是否为该文件最后一个片段。若文件所使用到的媒体位置是连续且 顺序的,则这个文件只会有一个片段,且文件系统里的多延伸位为0。若文 件所使用到的媒体位置是离散的,则这个文件会有多个片段,并可以利用文 件系统将离散的片段连接成逻辑上连续的片段,此即为多段文件的记录方 式。
在光学储存媒体上实时录制具有AVI结构文件且所采用的光盘文件系 统并未使用多段文件来记录的情况下,文件所使用到的媒体位置必须是连续 且顺序的,这时文件只有一个片段而不需要查找文件系统来取得离散的各个 片段。由于列表22用于存放实时录制的数字影音数据的缘故,列表22的长 度len3在录制未停止前无法得知,因此必须保留列表22的头信息(其包括 “LIST”、长度len3及识别码“movi”)并先将录制的数据写入列表22的MOVI 数据区,等到录制结束后再回头将与录制的数字影音数据有关的头信息数据 填入列表21的头信息。
但是,对于一次写入型(write-once)光学储存媒体如DVD+/-R而言, 在每次连续烧录的结束点会产生一段无法写入数据的链接区(linking loss area),以便结束目前连续烧录的动作,一般这个链接区长度为2KB或32KB 且可以视做其数据全为零。所以,每个连续烧录区段之间会有这段链接区存 在。在上述的情形下,如图2B所示,列表22的MOVI数据区与其头信息之 间就会有这样的链接区存在。此时,当播放程序或播放机在处理这个AVI文 件时,读完列表22的头信息而得知长度与识别码之后,正常来说应该接着开 始读取MOVI数据区中第一个影音(A/V)块的识别码(其为一个四字符码), 但是事实上却因为链接区而读取到2KB或32KB的零。
由于在AVI文件中需要依靠每个列表/块在其头信息所记录的长度来找 到下一个列表/块的起始点,若头信息所记录的长度与实际的长度不一致,则 会造成AVI文件无法被正确解析。所以,若不进行特殊处理,产生在文件中 的这个链接区将会破坏文件的结构与正确性。虽然目前在进行实时录制可以 利用多段文件来记录,先将列表21写在列表22及块23二者的后面,再利用 文件系统将离散的片段连接成逻辑上连续的片段,但是这种利用多段文件来 记录的作法在现有市场的普及与支持程度并不全面。或是,通过限制每次AVI 文件的录制长度,以使得进行实时录制可以得到正确AVI结构的文件,但是 这种限制每次录制长度的作法在使用上并不方便。

发明内容

本发明的目的在于提供一种在光学储存媒体上实时录制具有AVI结构的 文件的方法,以解决实时录制在一次写入型且所采用的文件系统并未使用多 段文件来记录的光学储存媒体上所遭遇的文件结构被破坏的问题。
本发明的另一目的在于提供一种录制有AVI结构文件的光学储存媒体, 以解决实时录制在一次写入型且所采用的文件系统并未使用多段文件来记录 的光学储存媒体上所遭遇的文件结构被破坏的问题。
本发明提出一种在光学储存媒体上实时录制具有AVI结构的文件的方 法,其中光学储存媒体为一次写入型且所采用的光盘文件系统并未使用多段 文件来记录,且其中AVI结构包括用以存放头信息数据的第一列表及用以存 放影音数据的第二列表,第二列表包括头信息及子数据区,且子数据区的长 度依据录制的影音数据的长度所决定。此方法首先根据光学储存媒体的类型 确定每个连续烧录区段之间所产生的链接区的长度。接着,根据第一列表、 第二列表的头信息及赘冗块的长度总和,保留一个保留区于子数据区之前且 这个保留区的长度等于上述的长度总和,其中赘冗块的长度大于链接区的长 度。然后,开始录制影音数据,并在录制未停止前将录制的影音数据写入子 数据区,以及在录制停止后将整个AVI文件的头信息写在保留区之前的区域, 再依序将第一列表、第二列表的头信息及赘冗块的数据写入保留区。在一实 施例中,赘冗块的识别码为一四字符码,例如是“JUNK”,其能使播放装置读 到此四字符码时忽略该赘冗块的内容。
本发明还提出一种录制有AVI结构文件的光学储存媒体,而此光学储存 媒体为一次写入型且所采用的光盘文件系统并未使用多段文件来记录,故在 此光学储存媒体上每个连续烧录区段之间会产生一链接区。其中,AVI结构 包括一第一列表、一第二列表及一可选的索引块,且第一列表在第二列表(或 第二列表的头信息)之前,索引块在第二列表(或第二列表的子数据区)之 后。
第一列表用以存放与影音数据相关的头信息数据。第二列表包括一头信 息、一赘冗块及一子数据区。其中,赘冗块的长度大于链接区的长度,子数 据区用以存放所录制的影音数据,且第二列表的头信息在第二列表的赘冗块 之前,第二列表的赘冗块在第二列表的子数据区之前。索引块用以存放与影 音数据相关的索引数据。在一实施例中,赘冗块的识别码为一四字符码,例 如是“JUNK”,其能使播放装置读到此四字符码时忽略该赘冗块的内容。
本发明在AVI结构中利用一个赘冗块,使得录制停止后在将数据写入第 一列表及第二列表的头信息时,写入的数据与先前录制的影音数据之间所产 生的链接区被包含在此赘冗块内,故得以维持整个AVI结构的正确性。这样 的做法优点在于不需要限制每次录制长度或是降低光学储存媒体的相容性。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较 佳实施例,并配合附图,作详细说明如下。

附图说明

图1A为RIFF文件的结构示意图;
图1B为RIFF的两种数据结构示意图;
图2A为AVI文件的结构示意图;
图2B为AVI文件结构中链接区产生于列表22的头信息及其MOVI数 据区的第一个A/V块之间的示意图;
图3为本发明一实施例AVI文件的结构示意图;
图4为本发明一实施例在光学储存媒体上实时录制具有AVI结构的文 件的方法的流程图。

具体实施方式

图3为本发明一实施例的AVI文件的结构(即AVI结构)。请参照图 3,此AVI文件的结构为:一开始四字符码“RIFF”表示这是一个RIFF文件; 接着len1表示此文件的长度;然后四字符码“AVI”表示这是AVI类型的文 件;最后就是存放AVI实际数据的数据区,其包括第一列表31、第二列表 32及一个索引块33。
第一列表31的结构包括“LIST”、长度len2、识别码“hdrl”及HDRL数据 区(其存放数字影音数据的各头信息数据)。第二列表32的结构包括“LIST”、 长度len3、识别码“movi”及MOVI数据区(其存放上述的数字影音数据)。 索引块33的结构包括识别码“idx1”、长度len4及IDX1数据区(其存放用于 快转、倒转等的索引数据)。其中,第一列表31的长度len2可以为固定长 度,第二列表32的长度len3在实时录制未停止前无法得知,索引块33的 长度len4在第二列表32的长度len3确定后可以经由计算得知此值。因此, 长度len1及len4必须要在第二列表32的长度len3确定后才能得知。
本发明与传统的AVI结构不同处在于本发明在第二列表32的头信息及 原本的MOVI数据区(以下称为子数据区)32b之间加入一个赘冗块32a, 且赘冗块32a的长度大于链接区的长度。按照RIFF格式,赘冗块32a的长 度为识别码字段的长度(即4个字节)加上数据区的长度,而且因为赘冗块 32a的数据区被用来包含链接区(即赘冗块32a的数据区的长度大于或等于 链接区的长度)以避免AVI结构被破坏,因此赘冗块32a的长度大于或等 于识别码字段的长度(即4个字节)加上链接区的长度。所以,本发明第二 列表32的MOVI数据区包括赘冗块32a及子数据区32b。
在说明本发明的实时录制具有AVI结构的文件的方法之前,先对一些 名词加以定义清楚。由于一般将各数据区之前的部分称为头信息,所以整个 AVI文件的头信息30包括“RIFF”、长度len1及识别码“AVI”,第一列表31 的头信息包括“LIST”、长度len2及识别码“hdrl”,第二列表32的头信息包括 “LIST”、长度len3及识别码“movi”,而索引块33的头信息包括识别码“idx1” 及长度len4。另外,本领域技术人员一般将第一列表31称为HDRL列表, 而第二列表32称为MOVI列表。
图4为本发明一实施例在光学储存媒体上实时录制具有AVI结构的文 件的方法的流程图。其中,光学储存媒体为一次写入型且所采用的文件系统 并未使用多段文件来记录。在一实施例中,一次写入型光学储存媒体例如是 DVD+/-R光盘,而文件系统例如是ISO 9660或UDF(Universal Disc Format, 通用磁盘格式)。
请同时参照图3及图4,此方法首先在步骤S41根据光学储存媒体的类 型确定每个连续烧录区段之间所产生的链接区的长度,一般链接区的长度为 2KB或32KB。接着,在步骤S42根据HDRL列表31、MOVI列表32的头 信息及赘冗块32a的长度总和,在子数据区32b之前保留一个保留区且这个 保留区的长度等于上述的长度总和,其中赘冗块32a的长度大于链接区的长 度。然后,在步骤S43开始实时录制影音数据,而且由于在进行实时录制时 MOVI列表32的长度len3在录制结束后才能得知,录制无法从头信息开始 进行,所以必须先进行子数据区32b影音数据的烧录。
在步骤S44判断录制是否已经停止,若录制未停止,则到步骤S45将录 制的影音数据写入子数据区32b,一般录制的影音数据会先经过MPEG4的 编码再包装成AVI的块,例如是影音(A/V)块。接着,在步骤S46计数上 述的A/V块的数目及其长度,再回到步骤S44判断录制是否已经停止。
若在步骤S44判断录制已经停止,则到步骤S47根据MOVI数据区的 内容将相应的数据写入索引块33,包括将索引数据写入IDX1数据区及将索 引块33的长度len4写入索引块33的头信息。接着,在步骤S48根据步骤 S46的计数结果计算MOVI列表32的长度len3,进而得到整个AVI结构的 长度len1。最后,由于已经取得长度len1及len3的值,可据此填入正确的 长度信息以建立正确的头信息,因此在步骤S49将整个AVI文件的头信息 写在保留区之前,再依序将HDRL列表31、MOVI列表32的头信息及赘冗 块32a的数据写入保留区。
虽然录制停止后在将数据写入HDRL列表31及MOVI列表32的头信 息时,写入的数据与在子数据区32b先前所录制的影音数据之间会产生一链 接区,但是因为本发明在其间利用一赘冗块32a将链接区包含在此赘冗块 32a的范围内,使得链接区不会破坏整个AVI结构的正确性。另外,在一实 施例,赘冗块32a的识别码为一四字符码“JUNK”,这可以在播放程序或播 放机读完MOVI列表32的头信息,接着读到赘冗块32a的识别码为“JUNK” 时跳过这个块而直接读下一个块,所以会读到在MOVI列表32中的第一个 A/V块。当然,赘冗块32a的识别码可以是其它的四字符码,只要这个四字 元码可以使得播放程序或播放机读到它的时候会忽略或跳过赘冗块32a的 数据区的内容即可。当然,对于本领域普通技术人员而言,赘冗块32a的识 别码为其它多字符码亦在本发明的保护范围之内。
综上所述,在本发明在AVI结构中利用一个赘冗块,使得录制停止后 在将数据写入第一列表及第二列表的头信息时,写入的数据与先前录制的影 音数据之间所产生的链接区被包含在此赘冗块内,故得以维持整个AVI结 构的正确性。这样的做法优点在于不需要限制每次录制长度或是降低光学储 存媒体的相容性。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何 本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润 饰,因此本发明的保护范围应当以后附的权利要求所界定的为准。