消費性多媒體產品硬軟件系統的互操作性測試
發布時間:2007/8/28 0:00:00 訪問次數:530
在消費性媒體產品的開發中,音、視頻編解碼器所面臨的軟件開發挑戰是最嚴峻的。算法需要消耗巨大的資源,人們對音、視頻品質的要求日益提高,采用低價處理器帶來許多限制,這一切都使得開發一個成功的媒體產品更加困難。仔細進行軟件優化和測試,精心選擇元件,這些才能幫助開發人員應對這樣的軟件開發挑戰。
圖1:消費性媒體產品的簡化軟件結構。
您在消費性產品的研制中是如何開發音視頻軟件的呢?本文中,兩位專家將根據多年的實際經驗給您提供一些指導性的意見。消費性媒體產品中的音、視頻軟件有時十分復雜,涉及實時信號處理、網絡協議、復雜的I/O,以及精細的用戶接口。本文探討了在實現消費性產品中的音、視頻(A/V)軟件時需要考慮的幾個重要方面,尤其是編解碼器軟件。文中介紹的方法都是在多年開發機頂盒、蜂窩電話、PDA、互聯網設備等產品的音、視頻軟件的經驗上總結出來的。
媒體設備的軟件組成
消費性媒體設備通常是個復雜的系統,其中包含幾個軟、硬件子系統。圖1給出了主要的軟件子系統,其中有播放器、壓縮算法(圖中以編碼器和解碼器,即編解碼器表示)、I/O模塊和實時操作系統(RTOS)。RTOS主要為多任務實時應用提供關鍵的任務調度和任務切換服務。其中,編解碼器是對計算能力要求最大的一部分,在設計這部分時,需要進行大量的軟件優化工作。因此,我們在討論軟件優化時,主要討論編解碼器的優化,但我們所介紹的技術也可以用于其他類型的A/V軟件。
編解碼器軟件設計
編解碼器的作用是壓縮音頻和視頻內容以便傳輸或存儲,或者將壓縮后的內容解壓,以便播放。如今在消費性產品上應用的編解碼器算法有很多種,表1中列出了幾種常用的A/V編解碼器算法。
MPEG-2視頻算法是當前用得最多的視頻壓縮算法。MPEG-2標準于1994年發布,至今該算法已經在DVD電影、機頂盒和衛星電視(DSB/DVB)等應用中廣泛使用。此外,微軟的Windows Media Video和RealNetworks的RealVideo等視頻壓縮算法也很常用。
用于音頻壓縮的MPEG格式一般是MPEG-1/2 layer III,也叫“MP3”。Windows Media Audio(WMA)和 Dolby AC-3(也叫做Dolby Digital)在音頻壓縮上也用得很多。許多便攜式數字音樂播放器都支持WMA,而幾乎所有的DVD都采用AC-3音頻壓縮。
根據所選的算法不同,編解碼器軟件可以由編解碼器創建者、芯片廠商或者獨立的開發商提供。這些廠商在提供編解碼器軟件時可以選擇多種方式,可以是可讀性較高(但效率不高)的高級參考實現,也可以是針對某個特別的處理器進行高度優化的軟件實現。雖然常用處理器都有一些現成的優化編解碼器實現,但系統開發商往往還是需要針對特定的產品進行編解碼器軟件的實現、優化,甚至可能是定制。
圖2:迭代優化過程。
軟件優化
在消費性媒體產品的軟件中,音、視頻編解碼器通常是對資源需求最大的一部分。現今的產品數據率高,采用的算法對計算能力要求也較高,并且常用價格較低(也可能是低功耗)的處理器,因此要想設計出具有競爭力的消費性媒體產品,往往需要對編解碼器軟件進行仔細優化。即便是在并非嚴格要求優化的情況下,優化仍是有益的。通過優化可以降低功耗,將處理器資源解放出來以便添加更多其他特性,或者方便較低價處理器的使用。
軟件的效績性能
編解碼器軟件的優化過程可以針對幾個不同的性能方面進行,如軟件運行速度、存儲器使用情況、能耗大小以及音頻/視頻質量。有時,在對某個性能進行優化時,另一種性能也得到了優化,而有時不同性能的優化要求又會產生沖突。大多數情況下,開發商都會主要針對運行速度、存儲器的使用和能耗這三個方面進行優化,而信號的音頻和視頻質量只需保持在一個足夠的范圍內即可。
為使設備具備實時性,通常需要針對軟件實現的運行速度進行大量優化。之所以需要進行如此高級的優化,原因主要有二:一是壓縮和解壓算法(這
在消費性媒體產品的開發中,音、視頻編解碼器所面臨的軟件開發挑戰是最嚴峻的。算法需要消耗巨大的資源,人們對音、視頻品質的要求日益提高,采用低價處理器帶來許多限制,這一切都使得開發一個成功的媒體產品更加困難。仔細進行軟件優化和測試,精心選擇元件,這些才能幫助開發人員應對這樣的軟件開發挑戰。
圖1:消費性媒體產品的簡化軟件結構。
您在消費性產品的研制中是如何開發音視頻軟件的呢?本文中,兩位專家將根據多年的實際經驗給您提供一些指導性的意見。消費性媒體產品中的音、視頻軟件有時十分復雜,涉及實時信號處理、網絡協議、復雜的I/O,以及精細的用戶接口。本文探討了在實現消費性產品中的音、視頻(A/V)軟件時需要考慮的幾個重要方面,尤其是編解碼器軟件。文中介紹的方法都是在多年開發機頂盒、蜂窩電話、PDA、互聯網設備等產品的音、視頻軟件的經驗上總結出來的。
媒體設備的軟件組成
消費性媒體設備通常是個復雜的系統,其中包含幾個軟、硬件子系統。圖1給出了主要的軟件子系統,其中有播放器、壓縮算法(圖中以編碼器和解碼器,即編解碼器表示)、I/O模塊和實時操作系統(RTOS)。RTOS主要為多任務實時應用提供關鍵的任務調度和任務切換服務。其中,編解碼器是對計算能力要求最大的一部分,在設計這部分時,需要進行大量的軟件優化工作。因此,我們在討論軟件優化時,主要討論編解碼器的優化,但我們所介紹的技術也可以用于其他類型的A/V軟件。
編解碼器軟件設計
編解碼器的作用是壓縮音頻和視頻內容以便傳輸或存儲,或者將壓縮后的內容解壓,以便播放。如今在消費性產品上應用的編解碼器算法有很多種,表1中列出了幾種常用的A/V編解碼器算法。
MPEG-2視頻算法是當前用得最多的視頻壓縮算法。MPEG-2標準于1994年發布,至今該算法已經在DVD電影、機頂盒和衛星電視(DSB/DVB)等應用中廣泛使用。此外,微軟的Windows Media Video和RealNetworks的RealVideo等視頻壓縮算法也很常用。
用于音頻壓縮的MPEG格式一般是MPEG-1/2 layer III,也叫“MP3”。Windows Media Audio(WMA)和 Dolby AC-3(也叫做Dolby Digital)在音頻壓縮上也用得很多。許多便攜式數字音樂播放器都支持WMA,而幾乎所有的DVD都采用AC-3音頻壓縮。
根據所選的算法不同,編解碼器軟件可以由編解碼器創建者、芯片廠商或者獨立的開發商提供。這些廠商在提供編解碼器軟件時可以選擇多種方式,可以是可讀性較高(但效率不高)的高級參考實現,也可以是針對某個特別的處理器進行高度優化的軟件實現。雖然常用處理器都有一些現成的優化編解碼器實現,但系統開發商往往還是需要針對特定的產品進行編解碼器軟件的實現、優化,甚至可能是定制。
圖2:迭代優化過程。
軟件優化
在消費性媒體產品的軟件中,音、視頻編解碼器通常是對資源需求最大的一部分。現今的產品數據率高,采用的算法對計算能力要求也較高,并且常用價格較低(也可能是低功耗)的處理器,因此要想設計出具有競爭力的消費性媒體產品,往往需要對編解碼器軟件進行仔細優化。即便是在并非嚴格要求優化的情況下,優化仍是有益的。通過優化可以降低功耗,將處理器資源解放出來以便添加更多其他特性,或者方便較低價處理器的使用。
軟件的效績性能
編解碼器軟件的優化過程可以針對幾個不同的性能方面進行,如軟件運行速度、存儲器使用情況、能耗大小以及音頻/視頻質量。有時,在對某個性能進行優化時,另一種性能也得到了優化,而有時不同性能的優化要求又會產生沖突。大多數情況下,開發商都會主要針對運行速度、存儲器的使用和能耗這三個方面進行優化,而信號的音頻和視頻質量只需保持在一個足夠的范圍內即可。
為使設備具備實時性,通常需要針對軟件實現的運行速度進行大量優化。之所以需要進行如此高級的優化,原因主要有二:一是壓縮和解壓算法(這