- 轉碼技術的選擇
- 使轉碼器與應用相匹配
- 平臺考慮事項
- 設置性能標準 (Bar)
音視頻轉碼曾被視為一種直接的、傳統(tǒng)的處理過程,可將編碼源視頻解碼,生成與原始未壓縮內容相比并不完美的版本,然后將其重新編碼為傳輸或觀看所要求的格式。
隨著視頻壓縮算法種類的日益豐富,且越來越多的低成本消費類系統(tǒng)也都開始支持視頻功能,工程師肩負著設計出同時具備低成本與良好視頻性能的系統(tǒng)的重擔,因此必須認真審視上述這種簡單模式匹配算法(brute force approach)。盡管這種方法能產生高質量視頻效果,但由于視頻偽像被當作有效數(shù)據(jù)包含在編碼中,視頻質量會隨著每個編碼/解碼循環(huán)操作而遞減。此外,該算法還存在如下其它缺點:
對處理器要求高:在算法效率不斷提高的同時,其復雜性也越來越高,需要更高的處理能力,尤其是在需要實時轉換的情況下。即使轉碼技術所用的芯片能支持BF算法,那么計算強度較低的轉碼技術也能采用同一芯片來支持更多的通道,并降低整體系統(tǒng)成本。
對存儲器資源要求高:解碼/編碼操作通常需要將被解碼的數(shù)據(jù)存儲在存儲器中,而額外的存儲器則會增加系統(tǒng)的材料清單成本。尤其對那些價格敏感型消費類產品而言,這將關系到產品在市場中的成敗。
移動設備上的視頻回放功能就是一個需要減少處理器負載以及節(jié)約存儲器資源的很好的應用實例。盡管手機本身不進行轉碼工作,而是在視頻點播 (VoD) 服務器或視頻網(wǎng)關上進行轉碼,但移動電視/移動視頻電話除了受 VoD 服務器和視頻網(wǎng)關本身限制外仍然還受其它五點限制,具體包括如下:
網(wǎng)絡帶寬
移動電話的處理能力
顯示屏分辨率
存儲器容量
移動電話的能耗,人們往往不把這一因素視為視頻回放所要考慮的內容。
盡管移動視頻設備的處理能力一代比一代強大,但目前一般移動視頻設備的處理器速度介于 300~600 MHz 之間,存儲器容量約為 64 MB。甚至粗略評估顯示并非所有適用于大屏幕顯示的高清 (HD) 或標清 (SD) 視頻編碼的信息在移動設備上播放時都必須進行處理,但用手持設備捕獲的 HD 或 SD 視頻則全都需要處理,這樣才能被網(wǎng)絡服務器上的終端設備播放。
表 1 給出了不同視頻編碼參數(shù)對解碼設備所需資源選擇的大致影響。該表專門對采用運動補償與離散余弦變換 (DCT) 技術實現(xiàn)視頻壓縮的基于塊的視頻編解碼器進行了分析。
表 1. 編碼參數(shù)的影響
對上述關鍵參數(shù)稍加修改,就會產生迥異的結果。降低細節(jié)解析度(可在編碼進程中通過提高量化因數(shù)來實現(xiàn))可將視頻解碼的能耗降低 75% ~ 85%,但視頻質量僅下降 5% ~ 13%。
轉碼技術的選擇
過去幾年來,業(yè)界針對轉碼工作提出了幾種不同的方法,可提高處理與存儲器資源的使用效率。至少在一定程度上,大多數(shù)這種方案都建立在這樣一種認識基礎之上,即我們能通過更先進的技術對初始編碼過程中創(chuàng)建的量子化和頻率域信息進行修改,更好地加以利用,摒棄其中無用的東西,而不必簡單地對原始視頻內容進行重構。
換言之,就是說既可摒棄某些信息,也可在來源與目標之間轉換頻率域信息,而無需進入像素域進行解碼。
[page]
具體而言,傳統(tǒng)方案的最重要優(yōu)勢在于,其交付的視頻與原始視頻內容相比具有極高的保真度。因此,如果采用其他的轉碼技術,那么就需要在保證盡可能高的視頻質量的同時,還要降低對系統(tǒng)處理功能和存儲器資源的要求。只有讓轉碼技術與特定的應用相匹配,才能最佳地實現(xiàn)上述目標。
通常說來,轉碼可采用三種通用方案或架構,以下給出每種方案的簡單定義及其比較評定:
傳統(tǒng)的轉碼方法稱為去耦轉碼。除了可確保最佳視頻質量之外,這種方法在源至目標視頻的格式、分辨率及比特率方面也具有最大的靈活性。
松弛耦合轉碼器:這種轉碼技術大多數(shù)采用解碼的輸入視頻中的運動矢量和其他附屬信息進行編碼。再編碼過程可對運動矢量進行微調,或根據(jù)編碼要求進行更高效的運動矢量計算。該方法消除了去耦轉碼器所面臨的復雜計算問題,同時還能實現(xiàn)幾乎相同的視頻質量。
緊密耦合轉碼:再編碼通過采用運動矢量實現(xiàn),并且無需進入像素域對運動矢量信息進行再計算。轉碼工作也可在轉換域中進行。這里需要重點考慮的問題是,由于這種方法根本不進行運動再估計,因此不能更改分辨率。這種方法最大程度地地降低了對存儲器和處理器的要求,但代價是降低了畫質。緊密耦合轉碼算法難以制定,但可根據(jù)具體要求進行開發(fā)。
碼率轉換器 (Transrator):在轉換域對位流進行部分解碼,并用網(wǎng)絡可支持的所需比特率對位流進行再編碼。視頻格式在轉碼流過程中不發(fā)生變化,無需逆變換,且在頻率域進行再量化。通常采用這種方法來解決具體的問題。例如,線纜頭端的通道容量在線纜廠已衰減,但又需要確保向終端設備傳輸?shù)囊曨l質量和分辨率基本不變。
圖 1. 應用中最常用的松弛耦合轉碼器的典型流程圖
使轉碼器與應用相匹配
在諸如機頂盒、視頻會議、IPTV以及一些 VoD 等對畫質要求較高的應用中,通常采用去耦和松弛耦合轉碼技術。決定采用何種轉碼技術需要評估特定應用的預期表現(xiàn)與存儲器帶寬。
緊密耦合轉碼最適合存儲器有限或者不需要高畫質的系統(tǒng)。移動電話的端對端視頻電話應用就是一個很好的例子,因為視頻只需顯示在小屏幕上,而且分辨率相對較低。我們無需通過整個網(wǎng)絡傳輸高保真視頻。此外,對大量生產的設備,尤其是移動電話而言,合計還能節(jié)約大量處理功耗、存儲器容量及物料清單成本。
如前所述,碼率轉換器 (Transrator) 通常適用于有線電視、IPTV 及視頻電話應用中的某些特殊情況,并根據(jù)可用的系統(tǒng)帶寬來匹配傳輸數(shù)據(jù)速率??梢赞D換音頻和視頻的碼率,而且?guī)缀醺杏X不到品質的下降。
平臺考慮事項
長期以來,設計工程師一直都非常清楚地認識到,針對每個產品需求分別進行設計,效率遠不如在初期就設計一個統(tǒng)一靈活的平臺來滿足各種不同的需求。機頂盒 (STB) 就是一個很好的例子,這種產品存在眾多型號要求。在估算處理性能及其他平臺參數(shù)方面,轉碼發(fā)揮著重要的作用。
由于對 STB 而言最重要的就是實現(xiàn)高質量視頻,因此我們只能將松弛耦合轉碼作為主要方法。
STB設計能否成功進入市場不僅取決于設計初期選擇什么樣的平臺,而且也取決于隨后設計方案的逐步實施。STB 的價位各不相同并在全球各地銷售。與采用標準化格式的視頻會議系統(tǒng)截然不同,STB 必須滿足各種不同視頻格式的需要。
STB 設計人員需要考慮以下一些更高級的設計決策:
STB 應同時處理多少個頻道(如主視頻和畫中畫)以及室內每個房間中的多少臺電視?
需要采用哪些產品差異化功能來贏得市場優(yōu)勢(例如畫中畫、專有圖像、藍光光盤刻錄、視頻通信、連接至 IP 網(wǎng)絡、有線電視網(wǎng)絡等)?
[page]
市場部給出的初步價格點是多少?
與大多數(shù)設計的典型情況一樣,上述這三項標準彼此密切相關,因而是平臺創(chuàng)建的重要因素,所有產品變體在此基礎上演變產生。這意味著,不僅應讓靈活的處理器與可滿足各種設計的兼容性開發(fā)軟件相配合,而且還應提供廣泛的固件庫、算法和支持。
設置性能標準 (Bar)
對于 STB 平臺的高端性能而言,應支持 HDTV 1080p 標準。STB 必須能夠支持這種高級別的吞吐量,并實時調整顯示輸出。
此外,必須支持各種內容源和數(shù)字顯示格式。低端有CIF 格式及其分支,如 QCIF 格式等,可應用于視頻流中并為 DTV 上的拆分屏幕應用提供基礎支持。
根據(jù)是否需要在家庭計算機網(wǎng)絡中集成 STB,我們還要考慮到計算機顯示屏輸出問題,其中包括是否需要支持娛樂系統(tǒng)常用的各種 HD 格式等。源內容分辨率和目標顯示分辨率之間的格式轉換需要支持各種格式,如將 HD 視頻轉換為低分辨率顯示,以及將低分辨率視頻內容轉換為 HD 視頻。
眾所周知,HD 對帶寬有著很高的要求,這就意味著我們應當支持各種壓縮算法,其中包括 H.264/MPEG-4 part 10/AVC 以及 WMV9/VC-1 等高級編解碼算法。通常需要將常規(guī)的 MPEG-2 傳輸流轉碼為高級編解碼。
向更高級編解碼升級是一個漸進性過程,因此同樣也必須確保與 MPEG-2 的后向兼容性。視頻占用了大部分處理功能,同時音頻流也需要編解成不同格式。這也是面向未來設計的一個典型實例,這樣可盡可能地滿足新型編解碼器的要求。杜比數(shù)字 (Dolby digital)與 AAC 立體聲是廣播市場的典型音頻要求,用于其他傳統(tǒng)音頻格式的音頻轉碼。從硬件角度來說,不僅應支持可編程性,同時還要支持多處理器,如果在 SoC 上實施轉碼,則還要支持處理器內核。
最后,在家庭網(wǎng)絡中,轉碼不僅要改變內容的比特率和格式,同時還要轉換電視產業(yè)(各種形式的條件接入)和 PC 領域(數(shù)字權限管理 (DRM))間不同的所有權保護機制。
轉碼硬件必須與整個 STB 系統(tǒng)中的其他系統(tǒng)進行良好交互,其中包括數(shù)字調諧器、解多路復用器 (Demuxer) 和解調器、DDR2 存儲器、PCI 總線,以及向 STB SoC 傳輸音/視頻的高帶寬接口。圖 2 給出了常見的架構示意圖,但這不一定是一般性架構。
圖 2. 典型的 STB 系統(tǒng)架構
能處理雙通道編碼和解碼或單通道轉碼的 STB 視頻片上系統(tǒng) (SoC) 在處理音頻與視頻的解碼、編碼以及轉碼時應最少需要四個協(xié)處理器內核,分別是:處理 SoC 控制操作的 GPP 內核、處理音頻轉碼操作的 DSP/GPP 內核,以及可針對視頻處理支持兩個協(xié)處理內核的 DSP 內核(各支持一個通道)。DSP 和視頻/影像協(xié)處理器協(xié)同工作時,協(xié)處理器的基本功能就是執(zhí)行 H.264、MPEG-2 及 MPEG-4 等編解碼算法。傳輸進來的數(shù)據(jù)流是經多路復用的音頻和視頻,由處理音頻解碼的 GPP 進行解多路復用。
[page]
除了處理與系統(tǒng)控制功能之外,還需要添加通常分為連接外設、串行接口和程序/數(shù)據(jù)存儲等相關外設。外設通過交換架構 (Switch fabric)和橋接器(兩者稱作資源交換中心 (SCR),即可在主系統(tǒng)外設和從系統(tǒng)外設之間提供低時延連接的互連系統(tǒng))連接到處理器模塊。SCR 是解碼、路由以及判優(yōu)邏輯,支持與其相連的多個主從系統(tǒng)之間的連接。
德州儀器 (TI) 基于達芬奇 (DaVinci™) 技術的數(shù)字媒體處理器可實施這種架構。該架構的簡化版如圖 3所示。
圖 3. 基于達芬奇技術的 TMS320DM6467 數(shù)字媒體處理器方框圖
我們在上文對 STB 的分析中假定,STB 采用的是松弛耦合轉碼技術,這是最可能的情況。不過也應當指出,支持松弛耦合轉碼技術的硬件也可能支持其他三種轉碼技術。為了滿足多房間觀看電視和多頻道欣賞的要求,可通過 DDR2 和 PCI 連接多個 DM6467 數(shù)字媒體處理器,以在不同設備間交換數(shù)據(jù),并確保架構的可擴展性。例如,如果應用需要將攝像機上的 SD 或 HD 個人視頻通過 STB 硬盤驅動器傳輸?shù)绞謾C上,那么通過精巧的工程設計 (Clever engineering) 方案就可使用另一個解碼方法將基于達芬奇技術的 DM6467 等處理器壓縮到服務中。