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