Rick Tewell
早在19世紀50年代,連環畫偵探就用Dick Tracy發明的手表直接從自己的手腕上打出電話。他能打通的人數肯定有限,但他的這一舉動給所有親眼目睹的人都留下了深刻印象。 當然,移動電話技術現已無處不在,因此現在的年輕人對Detective Tracy的手表都不以為然。現有的這種類似的技術設備可以讓我們將視頻流通過無線方式傳輸到任何一個地方的便攜式設備上。這項技術一旦成功,便攜式實時視頻會議就能成為現實。
現在,Dick Tracy的手表發明已經過去50年了,電信基礎設施也達到了數十億美元,我們已經成功地解決了許多音頻問題的挑戰——但是,對于無線視頻技術呢?大部分的技術都到位了——剩下的唯一一個主要問題就是消費需求及一個使企業開發可行解決方案的經濟模式。其中最重要的一項技術是MPEG-4視頻標準,及它的早期實現。MPEG-4非常適合無線移動視頻設備,這一問題下面將會談到。我們先來了解一些技術背景,讓它帶我們進入正題。
音頻流這項技術本身是可取的——例如在音樂播放和電話交談中。然而,視頻——當然它需要伴音——卻有所不同。在19世紀20年代,有聲技術得到足夠發展以后,有聲電影就立即取代了無聲電影。今天,無聲視頻在消費者的眼中已經是種用處不大的設備。將聲音添加到電影中去的兩個關鍵問題是“音頻同步”和“放大”。在視頻流的環境中——不論通過無線或有線網絡——音頻/視頻同步這一基本問題仍然在困擾著我們。 我們可以容忍視頻出現偶爾出現些小故障,但我們對聲音斷續和音頻不同步等音頻差異卻極度敏感。人耳可以分辨出僅相差幾毫秒的音頻差錯,因此,視頻和音頻的精確同步對視頻傳輸的成功是至關重要的。
要通過無線方式將視頻和音頻同時傳輸,就必須先利用技術將視頻和音頻同時送入容器中,并要它們在傳輸之前、之中和之后都合并在一起。盡管我們對音頻和視頻的編碼和解碼都談到了很多、也寫到了很多,但對將已編碼的音頻流和視頻流都置于容器當中,以在有線或無線網絡上傳輸的技術卻了解不夠。本文的目的就是幫助大家進一步了解音頻和視頻的傳輸技術。
A/V容器格式
那么,什么是A/V容器格式呢?簡單地說,A/V容器格式就是容納音頻和視頻樣本的信息框(見圖1),它的另一個名稱叫做“文件格式”。容器格式并不是一種編碼或壓縮的手段,事實上,許多容器都不具備這種功能。它們只是告訴我們A/V樣本們是怎樣共存于一個“文件”當中。AVI、MOV、ASF、MPEG-1系統流、MPEG-2節目流、MPEG-2傳輸流以及MPEG-4系統流都是A/V容器格式。
 |
圖1:A/V容器格式 |
A/V容器格式的基本概念是:一個容納將被傳輸到目的地的音頻和視頻流的盒子。“目的地”文件包括居于CD-ROM、DVD這樣的硬盤驅動器上,或置于局域網或互聯網遠端的存儲設備上。有時候,接收端直到容器打開之后才知道里面裝的是什么。所有的容器格式都會附有報頭,以告知接收端容器中傳輸的內容。
 |
圖2:音頻/視頻編碼器 |
AVI文件
一種早期基于PC技術的A/V容器叫做AVI——音頻視頻交錯(Audio/Video Interleaved)。AVI文件含有AVI文件的報頭,還含有音頻和視頻的樣本。AVI文件的報頭中含有一個四字符代碼(FOURCC),說明文件內視頻流的類型。該FOURCC告訴接收端觀看文件需要什么樣的視頻解碼器。 http://www.fourcc.org/codecs.php上有一組可用的四字代碼。AVI文件不是為網絡上的碼流(有線網絡或無線網絡)而設計的。AVI文件事實上比常用的PC網絡更早出現。圖3為AVI文件中一個視頻流和一個音頻流的典型分布圖。
 |
圖3: RIFF AVI數據塊。 |
盡管視頻流和音頻流傳輸AVI文件,因為音頻流和視頻流可以交錯編碼,但是當網絡的信息包丟失時,AVI文件不會在音頻流和視頻流內為的嵌入式時標提供讓兩者重新達成同步的機制。另外,由于索引常常出現在文件的末尾,因此很多人都等到文件收到——即整個文件都傳輸完之后再試圖啟動AVI文件。請注意,如何才能對AVI文件中的音頻和視頻采用任何一種壓縮手段處理呢?
由于AVI文件簡單靈活, 是最常用最普遍的A/V容器格式之一。例如,從數碼相機中捕捉到的A/V就包含在視窗操作系統下的AVI 文件中。DivX這種流行的公共域MPEG-4編解碼器就把它本身包含在在視窗操作系統下的AVI 文件中。所以,未來好幾十年我們仍然會使用AVI這一文件格式,但是它不能也不會流動。這是可下載容器格式的最好例證。下面我們來看看另一種非常流行的容器格式——MPEG。
MPEG容器格式
許多人都認為MPEG不是一種容器格式,而是一項編碼或壓縮技術。按理說,這種理解是正確的。MPEG不僅指定了視頻、音頻解碼的有效手段,而且指定了視頻、音頻解碼在比特流或容器中的分布情況。MPEG將基本流(音頻流和視頻流)在容器中的分布稱為“系統”。在MPEG中,單一基本流的孤立存在是不“合法”的;只有加進系統信息之后,才會產生有效的MPEG比特流。在MPEG-1中,MPEG中的系統信息或層都是直接傳輸的;基本流與系統流之間的關系緊密,二者能夠組成完整的MPEG流。這種關系在MPEG-2中更加緊密,在MPEG-4中又進一步緊密。
那么,MPEG系統流和MPEG層的目的是什么呢?簡單地說,就是記錄基本流下所發生的情況。流層提供時標、音頻同步、封包及其它的一些性能,讓基本流的錄音重放裝置可靠并使視頻和音頻精確同步。
MPEG-1是為一種無錯誤傳輸環境如CD-ROM而設計的。MPEG-2增強了在容易出現錯誤的網絡上的傳輸能力,這就是說,處理這樣的環境的MPEG-2系統層的復雜性更高;并且,它與MPEG-1保持后向兼容性。圖4為MPEG-2中MPEG系統層的范圍。
 |
圖4:MPEG-2系統。 |
MPEG-1因其子集具備一種稱為“約束參數比特流”或CPB的性能而得到廣泛應用。這種性能是為在CD-ROM上儲存符合紅皮書音頻標準規定的、相同數量的視頻和音頻數據而設計的。這意味著在一張74分鐘的CD-ROM上,你能存足足74分鐘的視頻和音頻。這個標準被稱為白皮書或視頻CD(VCD)。在44.1kHz的采樣率條件下,視頻數據率被定為1.15Mb/s,音頻數據率為224 Kb/s;視頻大小被鎖定為352x240 30fps NTSC和352x280 25fps PAL(也被稱為CIF)。
這一標準運作良好,但卻只有“標準”電視性能的四分之一,并且常在電視公眾中引起爭議,但當時來說這仍是一項令人驚訝的技術成果。在大約1.5 Mbit/s(125 Kbytes/s)比特率下,現有的電纜調制解調器能輕松地傳輸MPEG-1 CPB流,但是對于無線蜂窩技術網絡來說,要可靠地做好這一點還有很長一段路要走。此外,MPEG-1缺少更正網絡傳輸和重新同步中錯誤的能力。MPEG-2具有這一功能性,但是,到該技術趕上實際實施的時候,MPEG-4和其它的流格式已經展示在人們面前。
MPEG-2具有更高的數據傳輸率,其范圍是6到10 Mbit/s。比特率在6Mbit/s和9Mbit/s之間的MPEG-2(720x480分辨率)是DVD的理想選擇,因此也被選來做這項工作;然而,在那個比特率之下,網絡傳輸就要困難的多,但是畫面質量能夠達到觀看電視的標準。MPEG-2還具有封包、容錯和校正、快進倒帶及其它一些廣播所需的功能。那么 MPEG-2是否也適合無線/移動流視頻設備呢?網絡頻道必須以1MB/s的速率傳輸數據,才能保證MPEG-2視頻能可靠傳輸、可回放和可觀看。因此,人們一直在探索最佳的視頻流格式。MPEG-4就是答案。
為什么答案是MPEG-4?
要求: 高壓縮率、高視頻質量和強大的系統層;MPEG-4能夠為無線移動視頻設備提供這些理想性能。(注:這里沒有涉及到MPEG-3,是從MPEG-2直接上升到MPEG-4;常被誤認為是MPEG-3的MP3音頻事實上是MPEG-1音頻的第三層)。
MPEG-4格式在1MBit/s的比特率下能達到MPEG-2 720x480分辨率的質量。如果把該視頻降為MPEG-1CPB,就能得到350KBit/s的數據率及合理的可接收視頻效果。若進一步縮小比例,就可能得到100KB/s的數據率。當然,由于質量的下降,視頻已不值得看了。我們認為352x240的分辨率或通用交換格式(CIF,Common Interchange Format)是能夠接受的最小視頻清晰度。QCIF很有趣,并且在一些網絡頻道上是必不可少的。下表1列出了視頻清晰度的常用術語。
我們暫且不考慮視頻清晰度的問題,先來看看是否適合用無線方式傳輸MPEG-4視頻流。要回答這個問題,我們得從兩個方面來研究MPEG-4——視頻壓縮能力和系統層。現有的移動電話使用通用分組無線業務(GPRS)標準的2.5G技術,其網絡數據傳輸率能達到接近112kbps。這一速率并不快,也不算可靠,看你用在哪里。3G的網絡數據傳輸率接近2Mbps,這是一個很大的提高。盡管2.5G w/GPRS能支持一些視頻流,但直到3G出現之后,利用移動電話隨時隨地收看視頻流才普及起來。當然,數據管道越寬,視頻質量越高。
我們現在來仔細地看看一些數據,以將它們列入本文。大多數寬帶網數據率都是用每幾秒多少比特來表示。由于每個字節有8比特,因此我們把它更簡單地表示為每秒鐘多少個字節或bps除以8。那么,2.5G w/GPRS就是速度為每秒鐘14000字節的通道(14kBps。注:大寫B表示字節)。相應地,3G是速率為250kBps的通道。光盤驅動器在1X下的傳輸數據的速度為150kBps。由于3G的帶寬為250kBps,理論上講,將MPEG-1 CPB視頻、音頻流直接傳輸到3G接收端應該沒有什么問題。當然,我們也許只用通道的60%來為視頻服務,但這已經能得到非常好的視頻效果了。既然它的壓縮效果比MPEG-1好得多,那么,我們能否利用3G技術得到DVD格式的效果呢。對MPEG-4來說,答案是肯定的。
MPEG-1需要數據傳輸速率達到每秒600kBps(4.8Mbps)的通道,才能達到全D1的視頻清晰度。這就顯然要求3G那樣的帶寬預算為。DVD(目前使用MPEG-2視頻壓縮)常以每秒6Mbps的速度壓縮。所以,要想使用3G技術體驗視頻內容,需要的壓縮技術不是MPEG-1 也不是MPEG-2。現在我們仍不清楚第一代3G技術的實施能否使DVD視頻體驗成為可能;但如果可能的話,那MPEG-4及相關的壓縮技術就能給我們一個方向。那么現行的3G技術能使視頻性能最終達到什么樣的境界呢,我們認為會是CIF。如前所述,30幀數的CIF畫面質量已相當清晰,被定為目前的視頻基準。那么,如果有傳輸率為2Mbps的通道,而CPB VCD又適應于這一通道,我們為什么不直接用MPEG-1呢?理由很簡單,在同樣的比特率下,MPEG-4的壓縮效率是它的3倍,而且在某些條件下效率會更高。這就意味著,傳輸率為300-400 kbps的MPEG-4流與1.2Mbps下的MPEG-1 CPB具有同樣的CI畫面質量。
富士通已將MPEG-4的芯片添加到移動媒體處理器(MMP)的新產品線中。富士通節能型MPEG-4內核能達到每秒2Mbps的比特率,并以每秒30fps的速度為CIF編碼或解碼(見圖5),這一標準比較適合幀率為15fps的QCIF的視頻電話。MPEG-4內核有兩個值得注意的特點。一是具有自適應運動移動向量技術的運動估值電路的運算量是傳統運動監測系統的1/20。二是它的自動時鐘門控只為現有的編碼/解碼所需要的功能塊提供時間。簡言之,富士通MPEG-4內核是目前GPRS 2.5G無線電話及視頻效果要求更高的、下一代3G電話的理想選擇。
 |
圖5:MPEG系統。 |
MPEG-4系統層
MPEG-4相對于MPEG-1和MPEG-2的一個主要優勢就在于它的“系統”層。大致地看看MPEG-4系統能幫我們更好地了解MPEG-4在目前和今后生活中發揮的重要作用。許多人都認為MPEG-4只是一種更好的音頻和視頻壓縮標準。這當然是正確的,但MPEG-4還有很多其他的性能,這些性能會涉及到今后幾年的視頻廣播產業。 除音頻、視頻壓縮之外,MPEG-4還為動漫編碼增加了3D環境和圖像,提供了碼流互動、數字版權管理、多個網絡間的內容分發(包括IP和MPEG-2傳輸流DVB)。數百家公司都參與到MPEG-4標準的研發中來,事實上,MPEG-4包含了20條國際標準組織(ISO)的規格,以及幾個行業組織,如3GPP(http://www.3gpp.org)和國際流媒體聯合會或ISMA(http://www.isma.tv)的標準。下圖6是MPEG-4標準的視圖書館表示。
據MPEG-4工作組透露,MPEG-4 “系統”是用來提供“一些必要的設施,以詳細說明視聽對象是如何排列在MPEG-4終端而形成完成的圖像場景、用戶端是如何與內容互動以及視頻、音頻流是如何得到傳輸或儲存的”。
同樣據工作組透露,“ MPEG-4提供的大部分功能出自系統部分。由于系統負責(在其它問題中)碼流管理和場景描繪,因此它的作用就好比源編碼技術的‘打包器’”。
 |
圖6:MPEG-4容器的容量。 |
MPEG-4系統中的一部分是它的文件或 “容器格式”。一條如富士通MPEG-4內核所產生的單一MPEG-4視頻基本碼流不能孤立存在,它必須被置于“容器”中,以得到MPEG-4解碼器的處理和解碼。這就是說,在從一移動電話傳到另一電話之前,MPEG-4視頻必須被放在容器格式(MPEG-4文件)中。這個文件詳細說明了MP4容器中的內容以及MP4文件接收端播放視頻和音頻的方式。沒有該框架,接收端就無法辨別接收到的數據。一個合理格式化了的MP4文件對于MPEG-4終端間的互通性來說是非常關鍵的。有關MPEG-4系統的知識,請詳見http://www.chiariglione.org/mpeg/faq/mp4-sys/mp4-sys.htm.
富士通的移動媒體處理器(MMP)能產生一種MPEG-4 視頻基本流(ES),也被稱為.M4V。這一視頻基本流與MPEG-4音頻基本流相結合,就構成了一個叫.MP4文件的“可視”視頻。那么,這一結合是在什么情況下由什么而產生的呢? 對富士通MMP而言,答案是MP4富士通軟件庫。富士通MPEG-4 數字視頻編解碼器芯片與富士通MP4儲存庫相結合就能產生MPEG-4符合性文件,這些文件在所有的MPEG-4終端都能互通。但是,沒有經過MP4文件壓縮的MPEG-4視頻基本流,不是能用在所有的MPEG-4符合性終端上播放。