新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 光盘AVI视频流的实时录制

光盘AVI视频流的实时录制

——
作者:上海交通大学电子信息学院电子工程系 谢开明 周玲玲时间:2007-08-06来源:电子产品世界收藏

摘要: 本文讨论了文件格式及典型的,提出一种在可写式光盘上视频流录制的实用方案,并且获得了验证。

关键词: 

引言

近20年来,电子设计数字化推动多媒体的迅猛发展,声音、动画、视频等的采集、创建、传输和欣赏等方式都经历着巨大的变革。与此同时,在数字化音频和视频的压缩、物理存储和传播方面也提出了多种国际标准。随着计算机的普及,有更多关于文件格式和文件系统的标准被提出。把多媒体格式引进个人计算机(PC)也导致了PC和技术的相互渗透和融合。

现有的大部分光盘录像机只支持MPEG-2编码的DVD格式。然而,对于压缩比更高、更为先进的MPEG-4编码来说,目前兼容的文件格式是。在对光盘特性和AVI文件格式进行深入研究的基础上,本文将提出一种实用的方法,用它在光盘上包含有数字音频、视频和数据流的AVI文件。

AVI文件格式

AVI(Audio Video Interlace,音频视频交错),是微软公司在1992年推出的一种数字音频视频格式,它符合RIFF(Resource Interchange File Format,资源互换文件格式)规范,作为管理Windows环境的多媒体数据,例如波形音频WAVE、MIDI和数字视频AVI都采用这种存储格式。构造RIFF文件的基本单元是数据块(Chunk),每个数据块包含3个部分:4字符标志符、数据大小和数据内容(见图1),值得注意的是,数据大小是指数据内容的大小而不是整个数据块的大小,即不包括数据块的前面8个字节。

图1 数据块组成

AVI文件由多个数据块组成,当然,数据块内还可以包含其它的数据块。通常来说,AVI文件由三大部分组成:信息区、数据区、索引区(可缺省),如图2所示。

图2 AVI文件组成

AVI文件的RIFF格式如图3所示,这是当前流行的DivX的AVI基本文件格式。其中“LIST’hdrl’”和“LIST’INFO’”是信息区的内容,如宽度、高度、比特率、音频编码格式等等。“JUNK”是个填充区,它的作用是使信息区的数据对齐,如32KB的整数。“LIST’movi’”是数据区,包含有交织的音频和视频数据帧。“LIST’idx1’”是索引区,记录各个音视频数据帧的起始位置、大小和是否关键帧的信息。

光盘实时录制系统

实时录制系统方案

图4是一个典型的实时音视频录制系统,展示了实时录制系统的各个主要组成部分。图中的“音频、视频源”可来自无线系统的模拟电视信号,或者是来自数字广播系统的数字源。如果是模拟信号,信息会被预处理、数字化、并被压缩成音频和视频的单元流。音频和视频的单元流经过“AVI复合器”转换成符合AVI格式的数据,然后把这些数据实时录制在光盘上。

图3 AVI文件的RIFF格式

值得注意的是,实时录制中的“实时”要求是指,刻录在光盘等介质的速度要等于或者大于采集音视频数据流的速度,否则就会出现数据瓶颈。具体来说,数据刻录到光盘的速度是有限的,不能高于一定的阀值,这个阀值取决于光盘的特性。通常我们是以恒定的速率刻录光盘,然而,从音视频源采集数据的速度是不恒定的,场景快速变化所包含的数据流速度比较大,相反场景平缓变化的数据流速度比较小,当然采样精度也是影响数据流速度的一个重要因素。因此,我们必须在两者之间加入缓存,如图4所示。

图4 典型的实时录制系统

实时录制难点

对于AVI文件来说,信息区里的内容最为重要。如果信息区里的数据不正确,解码器就无法准确解码整个文件。信息区是数据区的总结,在数据区没有完成录制时,无法得到有效的信息区数据。然而,从文件的排列结构来看,AVI的信息区在文件头,数据区在文件中间,最后是索引区。

如果在可重写光盘上(CD-RW, DVD+RW, DVD-RW)录制AVI,可以先在信息区的位置预先写点无用的数据,等到录制完成之后再把正确的数据覆盖写到这个区域上。

然而在一次性可写式光盘(CD-R, DVD+R, DVD-R)上进行实时录制时,就无法用以上方法了,因为数据一旦写上去就无法改写了;另外,在一个光轨里必须顺序写入,即从这个光轨的起始块地址写到结束的块地址。可写式光盘的这些特性是我们整个录制过程中最大的技术难点。下面就重点介绍在可写式光盘上解决实时录制难题的方案。

在可写式光盘上实时录制

可写式光盘各个可写的数据区域是以光轨的形式排列在光盘上的。光轨通常也是一个挨着一个顺序排列,但是在一些限制前提下,可以预留一个光轨来改变各个连续的数据区域写在光盘上的顺序。限制前提如下:
* 预留光轨的长度必须符合光盘纠错的要求;
* 光轨之间必须有一定的空隙,空隙里的内容取决于刻录机;
* 最多预留2个光轨。

针对可写式光盘的特点,实时录制要分为几个步骤进行,如图5所示。

1) 预留一定大小的光轨,这个光轨将用来存储信息区的内容;
2) 开始实时录制时,把音频视频源采集的数据处理、编码、交织形成音频和视频数据块。然后把这些数据块的数据放在缓存里。接下来系统把缓存的数据通过刻录机写到光盘上,完成实际的录制;
3) 在录制过程中,数据区中movi数据块的大小可以通过音频数据块、视频数据块、填充数据块的大小总合来计算;
4) movi数据块的结尾填充一个数据块来保证movi数据块为32KB的整数倍。这个数据块可以是JUNK的形式,并作为movi数据库的字数据块;
5) 写索引区数据块,记录movi区里音频、视频的索引信息;
6) 写预留的光轨,包含信息区的内容、RIFF文件头,还有两个光轨之间的空隙信息。

图5 实时录制流程

录制结果

选取了几种有代表性的平台来测试录制出来的AVI文件。测试平台是
* Sony公司的DVP-NS930V DVD播放机;
* Microsoft公司的Windows Media Player9.0播放器;
* DivX Networks公司的DivX6.0播放器。

播放测试矩阵如表1。

测试结果表明,在几种主流的播放器上都能够流畅播放,证实了这种方法兼容性良好。

结语

本文介绍了一种在光盘上录制AVI文件的方法,这种方法也非常适用于一次性写入的介质。在基于LSI Logic公司的DMN-8603芯片的解决方案中,采用了本文所述的方法来录制AVI文件。
市面上现有的DVD光盘录像机产品大多只支持录制成DVD文件格式,而不支持录制成AVI文件格式,而且更少有直接支持从音视频源录制到光盘上的文件格式。DVD文件格式只支持MPEG-2压缩标准,与之相比,AVI文件格式可以兼容更高压缩标准的MPEG-4,这样在一张DVD盘上可以储存更长时间的视频数据。

参考文献:
1. Microsoft,  "AVI RIFF File Reference", http://www.microsoft.com.
2. 鄂大伟, 多媒体技术基础与应用。北京:高等教育出版社,2003。
3. Hirow Marumon,  "A Real Time Recording System for a camcorder by DVD Video Format”, June 2003, “Digital Object Identifier” 10.1109/ICCE.2003.1218853



评论


相关推荐

技术专区

关闭