1. 程式人生 > >各種音視訊編解碼學習詳解之 編解碼學習筆記(六):H.26x系列

各種音視訊編解碼學習詳解之 編解碼學習筆記(六):H.26x系列

    最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解成很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.html。若讀過@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,就不用向後看啦

H.261

H.261其速率為64kbps的整數倍(1~30倍)。它最初是 針對在ISDN(綜合業務數字網,Integrated Services Digital Network)上雙向聲像業務(特別是可視電話、視訊會議)而設計的。

H.261是最早的運動影象壓縮標準,它只對CIF和QCIF兩 種影象格式進行處理,每幀影象分成影象層、巨集塊組(GOB)層、巨集塊(MB)層、塊(Block)層來處理;並詳細制定了視訊編碼的各個部分,包括運動補償的幀間預測、DCT(離散餘弦變換)、量化、熵編碼,以及與固定速率的通道相適配的速率控制等部分。實際的編碼演算法類似於MPEG演算法,但不能與後者兼 容。H.261在實時編碼時比MPEG所佔用的CPU運算量少得多,此演算法為了優化頻寬佔用量,引進了在影象質量與運動幅度之間的平衡折衷機制。也就是說,劇烈運動的影象比相對靜止的影象質量要差。因此這種方法是屬於恆定碼流可變質量編碼。

H.261是第一個實用的數字視訊編碼標準。H.261的設計相當成功,之後的視訊編碼國際標準基本上都是基於 H.261相同的設計框架,包括 MPEG-1,MPEG-2/H.262,H.263,甚至 H.264。同樣,H.261開發委員會(由Sakae Okubo領導,他的日文姓名是大久保榮)的基本的運作方式也被之後的視訊編碼標準開發組織所繼承。H.261使用了混合編碼框架,包括了基於運動補償的 幀間預測,基於離散餘弦變換的空域變換編碼,量化,zig-zag掃描和熵編碼。

實際上H.261標準僅僅規定了如何進行視訊的解碼(後繼的各個視訊編碼標準也繼承了這種做法)。這樣的話,實際上開發者在編碼器的設計上擁有相當的自由來設計編碼演算法,只要他們的編碼器產生的碼流能夠被所有按照H.261規範製造的解碼器解碼就可以了。編碼器可以按照自己的需要對輸入的視訊進行任何預處理,解碼器也有自由對輸出的視訊在顯示之前進行任何後處理。去塊效應濾波器是一個有效的後處理技術,它能明顯的減輕因為使用分塊運動補償編碼造成的 塊效應(馬賽克)--在觀看低位元速率視訊(例如網站上的視訊新聞)的時候我們都會注意到這種討厭的效應。因此,在之後的視訊編碼標準如H.264中就把去塊 效應濾波器加為標準的一部分(即使在使用H.264 的時候,再完成解碼後再增加一個標準外的去塊效應濾波器也能提高主觀視訊質量)。

後來的視訊編碼標準都可以說是在H.261的基礎上進行逐步改進,引入新功能得到的。現在的視訊編碼標準比起H.261 來在各效能方面都有了很大的提高,這使得H.261成為了過時的標準,除了在一些視訊會議系統和網路視訊中為了向後相容還支援H.261,已經基本上看不到使用H.261的產品了。 但是這並不妨礙H.261成為視訊編碼領域一個重要的里程碑式的標準。

H.263

H.263最初設計為基於H.324的系統進行傳輸 (即基於公共交換電話網和其它基於電路交換的網路進行視訊會議和視訊電話)。後來發現H.263也可以成功的應用與H.323(基於RTP/IP網路的視 頻會議系統),H.320(基於綜合業務數字網的視訊會議系統),RTSP(流式媒體傳輸系統)和SIP(基於因特網的視訊會議)。

基於之前的視訊編碼國際標準(H.261,MPEG-1和H.262/MPEG-2),H.263的效能有了革命性的提高。它的第一版於1995年 完 成,在所有位元速率下都優於之前的H.261。 之後還有在1998 年增加了新的功能的第二版H.263+,或者叫H.263v2,以及在2000年完 成的第三版H.263++,即H.263v3。

H.263v2(通常也叫做H.263+或者1998年版H.263)是ITU-TH.263 視訊編 碼標準第二版的非正式名稱。 它保持了原先版本H.263的所有技術,但是通過增加了幾個附錄顯著的提高了編碼效率並提供了其它的一些能力,例如增強了抵抗傳輸通道的資料丟失的能力(Robustness)。H.263+ 專案於1997年底/1998年初完成(這取決於我們怎麼定義"完成")。

H.263v3:接下來一個被稱為"H.263++" 的專案被隨即推出,在H.263+的基礎上增加了更多的新的功能。H.263++於2000年底完成。增加了下面的附錄:

  • Annex A - Inverse transform accuracy specification
  • Annex B - Hypothetical Reference Decoder
  • Annex C - Considerations for Multipoint
  • Annex D - Unrestricted Motion Vector mode
  • Annex E - Syntax-based Arithmetic Coding mode
  • Annex F - Advanced Prediction mode
  • Annex G - PB-frames mode
  • Annex H - Forward Error Correction for coded video signal

在H.263之後,ITU-T(在與MPEG的合作下)的下一代視訊編解碼器是H.264,或者叫AVC以及MPEG- 4第 10部分。由於H.264在效能上超越了H.263很多,現在通常認為H.263是一個過時的標準(雖然它的開發完成並不是很久以前的事情)。大多數新的 視訊會議產品都已經支援了H.264視訊編解碼器,就像以前支援H.263和H.261一樣。

話雖然如此,H.263在3GPP中仍然佔有很高的地位,後繼修訂的版本,包括運營商的標準一直保留著H.263, 作為必選的要求,地位遠遠高於H.264,這是個奇怪的現象。一個重要的可能原因是H.263的編碼比H.264的要輕載,在手機的modem中提供 H.263的編解碼能力,不提供H.264的編解碼能力,或者只提供H.264的解碼能力不提供編碼能力,如果不是智慧手機不能在主機板的其他晶片(例如 CPU)提供H.264的編解碼能力,開發者就沒什麼辦法,H.263可以通過軟體來提供,H.264對處理能力的要求很高,目前需要依賴硬體能力提供。因此H.263仍然具有很大的市場,尤其對於小尺寸的手持裝置,螢幕解析度有限,高清無意義。

H.264

H.264等同於MPEG-4的第10部,在這裡仍然收集資料進行學習記錄。

在H.263之後,ITU-T(在與MPEG的合作下)的下一代視 頻編解碼器是H.264,或者叫AVC以 及MPEG-4第 10部分。由於H.264在效能上超越了H.263很多,現在通常認為H.263是一個過時的標準(雖然它的開發完成並不是很久以前的事情)。大多數新的 視訊會議產品都已經支援了H.264視訊編解碼器,就像以前支援H.263和H.261一樣。

H.264/AVC可工作於多種速率,廣泛應用於Internet/intranet上的多媒體流服務、視訊點播、可視遊戲、低位元速率移動多媒體通訊 (視訊 手機等)、互動式多媒體應用、實時多媒體監控、數字電視與演播電視和虛擬視訊會議等,大有在上述領域一統天下的趨勢,有非常廣泛的開發和應用前景。

H.264是一種視訊高壓縮技術,同時稱為MPEG-4 AVC,或MPEG-4 Part10。ITU-T從1998年就H.26L的H.26S兩個分組,H.26L研製節目時間較長的高壓縮編碼技術,H.26S則指短節目標準制訂部 門。前面的H.263就是H.26S標準化技術,而H.264標準是在H.26L基礎上發展而來的。為了不引起誤解,ITU-T推薦使用H.264作為這 一標準的正式名稱。H.264集中體現了當今國際視訊編碼解碼技術的最新成果。在相同的重建影象質量下,H.264比其他視訊壓縮編碼具有更高的壓縮比、 更好的IP和無線網路通道適應性。

首先,H.264具備超高壓縮率,其壓縮率為MPEG-2的2 倍,MPEG-4的1.5倍。這樣的高壓縮率是以編碼的大運算量來換取的,H.264的編碼處理計算量有MPEG-2的十多倍。不過其解碼的運算量並沒有上升很多。從CPU頻率和記憶體的高速發展的角度來看,1995年推出MPEG-2時,主流的CPU是奔騰100,記憶體更是小的可憐。而如今主流CPU的工 作頻率比那個時候快了30倍,記憶體擴大了50多倍。所以H.264編碼的大運算現在也不算什麼大問題了。

高壓縮率使影象的資料量減少,給儲存和傳輸帶來了方便。加上基本規格公開的國際標準和公正的許可制度,所以,電視廣播、家電和通訊三大行業都進入到 H.264的實際運用研發中心。美國高等電視系統會議和日本無線電工業和事務協會都準備把H.264作為地面行動式數字電視廣播的編碼方式。歐洲數字電視廣播標準化團體也正在將H.264作為數字電視的一種編碼方式來採用。

家電行業中的視訊儲存裝置廠商也看中了H.264。東芝和NEC推出的下一代採用藍色鐳射的光碟HD DVD-ROM,因為容量小於Sony等九大公司的藍光碟,故將視訊壓縮編碼改用H.264,從而使最終的節目錄制時長能與藍光碟相近。H.264也能使 HDTV節目錄像和 SDTV的長時間錄影成為可能。因而,生產LSI晶片的廠商也十分重視H.264。D9型DVD碟只有8.5GB,不足以存放2小時的HDTV節目,如用 H.264來壓縮就變得有可能。同時,在通訊領域,網際網路工程任務已開始將H.264作為實時傳輸協議流的格式進行標準化。網際網路和手機的視訊傳送也會有 H.264作為編碼方式。

相對於MPEG壓縮編碼H.264的變化之一是在幀內編碼I畫面中,又加入了幀內預測編碼技術,即解碼時可用周圍資料的差分值來重構畫面。在運動預 測塊中,H.264採用全面運動預測和I畫面幀內預測後,編碼量得到減少,但LSI的運算處理量增大。為此,H.264引入了DCT的簡化處理技術,來減 輕LSI的負擔,畫質也有所改善。H.264與MPEG-2和MPEG-4的不同還存在於熵編碼塊中,H.264的熵編碼CAVLC(內容自適應可變長度 碼)和CABAC(內容自適應二進位制演算法編碼)能提高糾錯能力。而MPEG-2和MPEG-4是霍夫曼編碼。另外,還加入瞭解鎖濾波器 (Deblocking Filter),有降低噪聲的效果。H.264的整數變換以4×4畫素塊為單位,已比原來的8×8畫素塊的塊噪聲少,再次降低,畫質得到了進一步提高。

H.264標準分為三檔:基本檔次;主要檔次(可用於SDTV、HDTV和DVD等);以及擴充套件檔次(用於網路的視訊流)。其中H.264的基本檔 次是免費,使用者可以無償使用,現得到美國蘋果公司和美國Cisco系統公司、中國聯想公司、諾基亞、美國On2技術公司、德國西門子、TI公司等的支援; 其許可體系要比MPEG-4單純,公正無差別對待使用者和專利持有者。H.264替代MPEG-4的呼聲很高,除了其高效能外,低額專利費和公正的無差別許 可制度也至關重要。由於技術的日益成熟,半導體廠商已在進行H.264的編碼/解碼LSI的開發。特別是HDD錄影機和DVD錄影機等裝置中,採用 H.264的例項已很多,更引起了半導體廠商的關心。加之,H.264採用的動畫編碼方式和音訊編碼方式具有多樣化特性,今後幾乎將會是全部廠商的主要規格之一。

編碼效率比較

Codec

MPEG-4

H.263

MPEG-2

H.264

39%

49%

64%

MPEG-4

--

17%

43%

H.263

--

--

31%