新聞中心

EEPW首頁 > 物聯網與傳感器 > 設計應用 > 光盤AVI視頻流的實時錄制

光盤AVI視頻流的實時錄制

——
作者:上海交通大學電子信息學院電子工程系 謝開明 周玲玲 時間:2007-08-06 來源:電子產品世界 收藏

摘要: 本文討論了文件格式及典型的,提出一種在可寫式光盤上視頻流錄制的實用方案,并且獲得了驗證。

關鍵詞: ;;

引言

近20年來,電子設計數字化推動多媒體的迅猛發(fā)展,聲音、動畫、視頻等的采集、創(chuàng)建、傳輸和欣賞等方式都經歷著巨大的變革。與此同時,在數字化音頻和視頻的壓縮、物理存儲和傳播方面也提出了多種國際標準。隨著計算機的普及,有更多關于文件格式和文件系統(tǒng)的標準被提出。把多媒體格式引進個人計算機(PC)也導致了PC和技術的相互滲透和融合。

現有的大部分光盤錄像機只支持MPEG-2編碼的DVD格式。然而,對于壓縮比更高、更為先進的MPEG-4編碼來說,目前兼容的文件格式是。在對光盤特性和AVI文件格式進行深入研究的基礎上,本文將提出一種實用的方法,用它在光盤上包含有數字音頻、視頻和數據流的AVI文件。

AVI文件格式

AVI(Audio Video Interlace,音頻視頻交錯),是微軟公司在1992年推出的一種數字音頻視頻格式,它符合RIFF(Resource Interchange File Format,資源互換文件格式)規(guī)范,作為管理Windows環(huán)境的多媒體數據,例如波形音頻WAVE、MIDI和數字視頻AVI都采用這種存儲格式。構造RIFF文件的基本單元是數據塊(Chunk),每個數據塊包含3個部分:4字符標志符、數據大小和數據內容(見圖1),值得注意的是,數據大小是指數據內容的大小而不是整個數據塊的大小,即不包括數據塊的前面8個字節(jié)。

圖1 數據塊組成

AVI文件由多個數據塊組成,當然,數據塊內還可以包含其它的數據塊。通常來說,AVI文件由三大部分組成:信息區(qū)、數據區(qū)、索引區(qū)(可缺省),如圖2所示。

圖2 AVI文件組成

AVI文件的RIFF格式如圖3所示,這是當前流行的DivX的AVI基本文件格式。其中“LIST’hdrl’”和“LIST’INFO’”是信息區(qū)的內容,如寬度、高度、比特率、音頻編碼格式等等。“JUNK”是個填充區(qū),它的作用是使信息區(qū)的數據對齊,如32KB的整數?!癓IST’movi’”是數據區(qū),包含有交織的音頻和視頻數據幀?!癓IST’idx1’”是索引區(qū),記錄各個音視頻數據幀的起始位置、大小和是否關鍵幀的信息。

光盤實時錄制系統(tǒng)

實時錄制系統(tǒng)方案

圖4是一個典型的實時音視頻錄制系統(tǒng),展示了實時錄制系統(tǒng)的各個主要組成部分。圖中的“音頻、視頻源”可來自無線系統(tǒng)的模擬電視信號,或者是來自數字廣播系統(tǒng)的數字源。如果是模擬信號,信息會被預處理、數字化、并被壓縮成音頻和視頻的單元流。音頻和視頻的單元流經過“AVI復合器”轉換成符合AVI格式的數據,然后把這些數據實時錄制在光盤上。

圖3 AVI文件的RIFF格式

值得注意的是,實時錄制中的“實時”要求是指,刻錄在光盤等介質的速度要等于或者大于采集音視頻數據流的速度,否則就會出現數據瓶頸。具體來說,數據刻錄到光盤的速度是有限的,不能高于一定的閥值,這個閥值取決于光盤的特性。通常我們是以恒定的速率刻錄光盤,然而,從音視頻源采集數據的速度是不恒定的,場景快速變化所包含的數據流速度比較大,相反場景平緩變化的數據流速度比較小,當然采樣精度也是影響數據流速度的一個重要因素。因此,我們必須在兩者之間加入緩存,如圖4所示。

圖4 典型的實時錄制系統(tǒng)

實時錄制難點

對于AVI文件來說,信息區(qū)里的內容最為重要。如果信息區(qū)里的數據不正確,解碼器就無法準確解碼整個文件。信息區(qū)是數據區(qū)的總結,在數據區(qū)沒有完成錄制時,無法得到有效的信息區(qū)數據。然而,從文件的排列結構來看,AVI的信息區(qū)在文件頭,數據區(qū)在文件中間,最后是索引區(qū)。

如果在可重寫光盤上(CD-RW, DVD+RW, DVD-RW)錄制AVI,可以先在信息區(qū)的位置預先寫點無用的數據,等到錄制完成之后再把正確的數據覆蓋寫到這個區(qū)域上。

然而在一次性可寫式光盤(CD-R, DVD+R, DVD-R)上進行實時錄制時,就無法用以上方法了,因為數據一旦寫上去就無法改寫了;另外,在一個光軌里必須順序寫入,即從這個光軌的起始塊地址寫到結束的塊地址??蓪懯焦獗P的這些特性是我們整個錄制過程中最大的技術難點。下面就重點介紹在可寫式光盤上解決實時錄制難題的方案。

在可寫式光盤上實時錄制

可寫式光盤各個可寫的數據區(qū)域是以光軌的形式排列在光盤上的。光軌通常也是一個挨著一個順序排列,但是在一些限制前提下,可以預留一個光軌來改變各個連續(xù)的數據區(qū)域寫在光盤上的順序。限制前提如下:
* 預留光軌的長度必須符合光盤糾錯的要求;
* 光軌之間必須有一定的空隙,空隙里的內容取決于刻錄機;
* 最多預留2個光軌。

針對可寫式光盤的特點,實時錄制要分為幾個步驟進行,如圖5所示。

1) 預留一定大小的光軌,這個光軌將用來存儲信息區(qū)的內容;
2) 開始實時錄制時,把音頻視頻源采集的數據處理、編碼、交織形成音頻和視頻數據塊。然后把這些數據塊的數據放在緩存里。接下來系統(tǒng)把緩存的數據通過刻錄機寫到光盤上,完成實際的錄制;
3) 在錄制過程中,數據區(qū)中movi數據塊的大小可以通過音頻數據塊、視頻數據塊、填充數據塊的大小總合來計算;
4) movi數據塊的結尾填充一個數據塊來保證movi數據塊為32KB的整數倍。這個數據塊可以是JUNK的形式,并作為movi數據庫的字數據塊;
5) 寫索引區(qū)數據塊,記錄movi區(qū)里音頻、視頻的索引信息;
6) 寫預留的光軌,包含信息區(qū)的內容、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



評論


相關推薦

技術專區(qū)

關閉