轉碼技術在視頻領域內的應用分析
本文簡單介紹了視頻轉碼技術的定義、分類及實現手段,重點分析了如何在視頻工程中使用轉碼技術,包括轉碼技術的使用方式及其優(yōu)勢所在。分析了在流方式和文件方式下如何使用轉碼技術。通過對移動非線性編輯系統(tǒng)遠程傳輸視頻數據和節(jié)目制作網絡素材集中上載兩個工程實例的分析,探討了轉碼系統(tǒng)工作的靈活性和通用性。闡明了作者對在專業(yè)視頻領域內,配合計算機設備及網絡架構,使用轉碼技術前景的看法。
本文引用地址:http://m.ptau.cn/article/166167.htm1 引言
從一個簡單的問題開始我們的討論:對于一個視頻工程技術人員而言,工作中所需面對的視音頻編碼方式有多少種?
以編碼和壓縮方式的大類而言,我們需要面對 Motion-JPEG 、 MPEG 、 DV 、 H.261H.263 等不同系列的壓縮編碼方式;每一種編碼方式我們又需面對不同的子類或子級,如討論 DVB ,經常就要涉及 MPEG-2 MP@ML 和 MP@HL ;不同廠商的視頻產品,也根據各自情況采用不同的 幀內、幀間編碼關系及不同的碼流; GOP 長度、 I 、 B 、 P 幀、 50 、 25 Mbps 等名詞現在已經成為視頻產品技術參數的重要組成部分;每個廠商在視頻數據的封裝上也有各自的編碼方式,不同廠商開發(fā)的視頻服務器,如 Grass Valley 的 Profile 系列服務器和 SONY 的 MAV 系列的服務器,雖然可以支持以相同 GOP 長度、相同碼流的編碼方式產生 MPEG-2 視頻文件,但由于在文件封裝上的不同,二者產生的視頻文件是無法相互直接使用的,這種情況在數字視頻領域相當普遍,有時甚至在同一廠商所開發(fā)的不同系列的視頻產品中,數據流或文件也是無法相互識別的。
我們不想在這里探討哪一種編碼壓縮方式更好、更優(yōu)秀,本文想要討論的是:在采用不同壓縮編碼方式的視頻設備之間如何高質量、高效效率的共享和交換視音頻數據。
現在交換視頻數據的普遍做法是將編碼完成的視頻數據解壓縮為基帶信號,根據情況進行再編碼,并加以適當的封裝,使用相同的接口協(xié)議,以流的方式,在不同的視頻產品之間進行傳輸共享。如在不同的視頻產品間使用 SDI 連接,不論設備內部使用何種編碼方式,均通過內置的 SDI 編解碼器將視頻數據編解碼為標準的 SDI 數據流,進行傳輸。
無論設備 A 內部的采用何種壓縮編碼方式,在向設備 B 傳輸視頻數據時,首先通過其內置的數據解碼單元將視頻數據解碼送至 SDI 編碼器,封裝轉換成 SDI 數據流,再通過 SDI 接口傳輸給設備 B 的 SDI 接口,設備 B 將其通過 SDI 解碼器,送至其本身的數據編碼單元,對視頻數據重新編碼進行處理或存儲。
這種數據交換的前提,是不同的設備存在遵從相同協(xié)議的接口,如 SDI 接口,并具備相應的編解碼硬件設備,使用一種可以共同識別的數據流作為中介進行視音頻數據的交換。
我們換一個角度來看,這種方式本身可以看成是一個編碼方式轉換,即轉碼的過程。它將設備 A 中編碼處理的視頻數據解碼,通過 SDI 編解碼器轉換成 SDI 流,傳輸給設備 B ,再將其傳換成為設備 B 所使用的數據編碼方式進行處理和存儲。
在這種情況下,如果我們可以使用直接的轉碼手段,將基于設備 A 編碼方式的視頻數據轉換為設備 B 可以識別并使用的數據編碼格式,為設備 B 處理或存儲,可以減少重復編解碼所帶來的設備開銷和信號質量下降,并且可以利用多種的傳輸通道,而不局限于指定的接口通道,可以大大的提高工作效率。
這正是本文想要和大家探討的,如何靈活的利用轉碼方式,在基于不同編碼方式的設備間共享視頻數據,提高工作效率,同時討論在工程方面的可能會遇到的問題及解決方案。
2 視頻轉碼技術
視頻轉碼技術,顧名思義就是在通過某種手段改變現有視頻數據的編碼方式。視頻轉碼技術使用的目的不同,其實現的手段也各不相同。大致上可以分為兩類:
一、不同編碼格式之間的視頻數據轉碼
不同編碼格式之間的數據轉碼,指通過轉碼方法改變視頻數據的編碼格式。通常這種數據轉碼會改變視頻數據的現有碼流和分辨率。
例如我們可以將基于 MPEG-2 格式的視頻數據轉換為 DV 、 MPEG-4 或其它編碼格式,同時根據其轉碼目的,指定轉碼產生視頻數據的碼流和分辨率。我們可以將 MPEG-2 全 I 幀 50Mbps 的視頻源數據轉換為 25Mbps 碼流的 DV 格式數據,用于筆記本移動編輯系統(tǒng),同時產生一個 300*200 低分辨率的 MPEG-4 文件,使用 REAL 或者微軟的 WMV 格式進行封裝,通過互聯網絡傳輸至主管領導處用于審看。
這種轉碼方式設計的算法較為復雜,其實質上是一個重新編碼的過程,涉及的算法復雜度和系統(tǒng)開銷,是由轉碼所需圖像質量要求及轉碼前后兩種編碼方式的相關度所決定的。
二、相同編碼格式之間的視頻數據轉碼
相同編碼格式的數據轉碼,指不改變壓縮格式,只通過轉碼手段改變其碼流或頭文件信息。根據其使用目的,可分為改變碼流和不改變碼流兩種。
如我們可以將 MPEG-2 全 I 幀 50Mbps 碼流的視頻數據轉碼為 MPEG-2 IBBP 幀 8Mbps 碼流的視頻數據,直接用于播出服務器用于播出?;蛘呶覀儗⒒?SONY 視頻服務器頭文件封裝的 MPEG-2 全 I 幀 50Mbps 碼流的視頻文件,改變其頭文件和封裝形式,使之可以在給予 MATROX 板卡的編輯系統(tǒng)上直接編輯使用。
這種轉碼方式的復雜度要小于不同編碼格式轉碼的復雜度,而且對視頻工程上而言,更加具有可操作性。
3 視頻數據轉碼的實現
視頻數據不同編碼之間的相互轉化有很多算法可以實現,許多運動圖像專家對此也作了深入的研究,針對不同的編碼方式提出了相當多可行的方案。這些方案共同的特點就是充分利用所需相互轉換編碼之間的共同特征,盡量減少編解碼所帶來的圖像質量損失,同時達到時間和資源消耗的平衡。
如我們將一個 MPEG-2 的視頻數據轉換成 MPEG-4 的視頻數據,當然可以采用的方法是先將 MPEG-2 的視頻解壓縮成單 幀的圖像序列,再將其重新壓縮編碼成為 MPEG-4 的視頻數據。但這種轉碼方式的運算復雜度的使用 SDI 數據流作為中介的運算復雜度并沒有什么區(qū)別。我們可以通過一些方法提高轉碼的效率,降低運算復雜度,比如 MPEG-2 和 MPEG-4 在其編碼算法上有很多相通的地方,在 DCT 變換, MC 運動補償, MV 運動補償等方面有許多可以公用的地方,我們并不需要將其完全解碼成獨立的圖像序列,可利用不同編碼方式間的相關性進行轉碼工作
MPEG-2 視頻數據中所有的頭信息被解碼后都直接送到 MPEG -4 編碼器中進行編碼,其中少數頭信息需要調整,以適應新的編碼格式。而 DCT 系數和 MV 信息被重用,省去了運動估計和 DCT 的系統(tǒng)消耗。同時 MPEG -4 做運動補償的時候,也可以直接利用 MPEG -2 解碼器解碼得出的運動矢量的信息。
我們可以看出,使用不同的轉碼算法在不同需求的編碼轉換時,可以得到不同的時間及系統(tǒng)消耗復雜度。這些不同復雜度算法的是否采用取決于用戶對工作任務的要求。比如工作任務需要實時獲得轉碼結果,要求高可靠性,并且對轉碼前后的數據的編碼方式及碼流指定不變。那么我們可以采用高效的轉碼算法,必要時犧牲一些圖像質量,將算法固化在硬件芯片板卡上,從而滿足任務需求。如果工作任務對轉碼同步性要求并不高,不要求實時輸出,但對圖像質量有很高的要求,我們可以采用一些效率較低,但圖像質量損失較小的轉碼算法。可以將算法固定在硬件芯片中,也可以使用通用的計算機運算系統(tǒng)、存儲系統(tǒng)和數據交換系統(tǒng),使用軟件算法進行轉碼工作,這些方式的具體應用方式在本文的后半部分會詳細介紹。
評論