Date: 2018.10.13
1、參考
https://blog.csdn.net/xjbclz/article/details/51854297
https://blog.csdn.net/u011425939/article/details/78751935
https://blog.csdn.net/liu0808/article/details/72453539
https://blog.csdn.net/luchy/article/details/1542478
2、前言
視頻壓縮編碼領域對於視頻信號傳輸和存儲具有重要的意義。在國際組織的獨立和聯合開發中,產生了很多重要的視頻編解碼標准。主要國際組織包括ISO/IEC MPEG、ITU-T、Google、Microsoft、AVS工作組和AOM聯盟等。本文旨在簡要分析各個視頻編解碼標准的發展歷程。主要標准包括:JPEG、MJPEG、JPEG2000、H.261、MPEG-1、H.262/MPEG-2、H.263、MPEG-4 (Part2/ASP)、H.264/MPEG-4 (Part10/AVC)、H.265/MPEG-H (Part2/HEVC)、H.266/VVC、VP8/VP9、AV1、AVS1/AVS2、SVAC1/SVAC2等。
3、主要視頻編碼標准發展歷程
4、主要視頻編碼標准介紹
4.1、JPEG
https://en.wikipedia.org/wiki/JPEG
JPEG 是Joint Photographic Experts Group(聯合圖像專家小組)的縮寫,是第一個國際圖像壓縮標准。JPEG圖像壓縮算法能夠在提供良好的壓縮性能的同時,具有比較好的重建質量,被廣泛應用於圖像、視頻處理領域。
4.2、MJPEG
M-JPEG(Motion- Join Photographic Experts Group)技術即運動靜止圖像(或逐幀)壓縮技術,廣泛應用於非線性編輯領域可精確到幀編輯和多層圖像處理,把運動的視頻序列作為連續的靜止圖像來處理,這種壓縮方式單獨完整地壓縮每一幀,在編輯過程中可隨機存儲每一幀,可進行精確到幀的編輯,此外M-JPEG的壓縮和解壓縮是對稱的,可由相同的硬件和軟件實現。但M-JPEG只對幀內的空間冗余進行壓縮。不對幀間的時間冗余進行壓縮,故壓縮效率不高。采用M-JPEG數字壓縮格式,當壓縮比7:1時,可提供相當於Betecam SP質量圖像的節目。
JPEG標准所根據的算法是基於DCT(離散余弦變換)和可變長編碼。JPEG的關鍵技術有變換編碼、量化、差分編碼、運動補償、霍夫曼編碼和游程編碼等
M-JPEG的優點是:可以很容易做到精確到幀的編輯、設備比較成熟。缺點是壓縮效率不高。
此外,M-JPEG這種壓縮方式並不是一個完全統一的壓縮標准,不同廠家的編解碼器和存儲方式並沒有統一的規定格式。這也就是說,每個型號的視頻服務器或編碼板有自己的M-JPEG版本,所以在服務器之間的數據傳輸、非線性制作網絡向服務器的數據傳輸都根本是不可能的。
4.3、JPEG2000
JPEG 2000 (JP2) is an image compression standard and coding system. It was created by the Joint Photographic Experts Group committee in 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard (created in 1992) with a newly designed, wavelet-based method. The standardized filename extension is .jp2 for ISO/IEC 15444-1 conforming files and .jpx for the extended part-2 specifications, published as ISO/IEC 15444-2. The registered MIME types are defined in RFC 3745. For ISO/IEC 15444-1 it is image/jp2.
4.4、H.261
H.261視頻編碼標准誕生於1988年,可謂是視頻壓縮編碼發展的第一個里程碑。因為從H.261開始,視頻編碼方法采用了沿用至今的基於波形的混合編碼方法。H.261標准主要目標是用於視頻會議和可視電話等高實時性、低碼率的視頻圖像傳輸場合。
在H.261標准產生的時代,由於各國的電視制式不一致,因此不能直接互通。為了解決數據源格式不兼容的問題,H.261定義了一種公共中間格式CIF(Common Intermediate Format)。編碼的目標格式首選轉換為CIF格式進行編碼和傳輸,接收端進行解碼后再轉換為各自的格式。H.261規定的CIF格式視頻的亮度分辨率為352×288,QCIF格式的亮度分辨率為176×144。
H.261信源編碼所采用的技術:
- 幀內編碼/幀間編碼判定:根據幀與幀之間的相關性判定——相關性高使用幀間編碼,相關性低使用幀內編碼。
- 幀內編碼:對於幀內編碼幀,直接使用DCT編碼8×8的像素塊。
- 幀間編碼/運動估計:使用以宏塊為基礎的運動補償預測編碼;當前宏塊從參考幀中查找最佳匹配宏塊,並計算其相對偏移量(Vx, Vy)作為運動矢量;編碼器使用DCT、量化編碼當前宏塊和預測宏塊的殘差信號;幀間編碼/運動估計:使用以宏塊為基礎的運動補償預測編碼;當前宏塊從參考幀中查找最佳匹配宏塊,並計算其相對偏移量(Vx, Vy)作為運動矢量;編碼器使用DCT、量化編碼當前宏塊和預測宏塊的殘差信號;
- 環路濾波器:實際上是一個數字低通濾波器,濾除不必要的高頻信息,以消除方塊效應;環路濾波器:實際上是一個數字低通濾波器,濾除不必要的高頻信息,以消除方塊效應;
4.5、MPEG-1
MPEG-1標准於1993年8月公布,用於傳輸1.5Mbps數據傳輸率的數字存儲媒體運動圖像及其伴音的編碼。該標准包括五個部分:
第一部分說明了如何根據第二部分(視頻)以及第三部分(音頻)的規定,對音頻和視頻進行復合編碼。第四部分說明了檢驗解碼器或編碼器的輸出比特流符合前三部分規定的過程。第五部分是一個用完整的C語言實現的編碼和解碼器。
該標准從頒布的那一刻起,MPEG-1取得一連串的成功,如VCD和MP3的大量使用,Windows95以后的版本都帶有一個MPEG-1軟件解碼器,可攜式MPEG-1攝像機等等。
4.6、MPEG-2/H.262
MPEG組織於1994年推出MPEG-2壓縮標准,以實現視/音頻服務與應用互操作的可能性。 MPEG-2標准是針對標准數字電視和高清晰度電視在各種應用下的壓縮方案和系統層的詳細規定,編碼碼率從每秒3兆比特~100兆比特,標准的正式規范在ISO/IEC13818中。MPEG-2不是MPEG-1的簡單升級,MPEG-2在系統和傳送方面作了更加詳細的規定和進一步的完善。MPEG-2特別適用於廣播級的數字電視的編碼和傳送,被認定為SDTV和HDTV的編碼標准。
MPEG-2圖像壓縮的原理是利用了圖像中的兩種特性:空間相關性和時間相關性。這兩種相關性使得圖像中存在大量的冗余信息。如果我們能將這些冗余信息去除,只保留少量非相關信息進行傳輸,就可以大大節省傳輸頻帶。而接收機利用這些非相關信息,按照一定的解碼算法,可以在保證一定的圖像質量的前提下恢復原始圖像。一個好的壓縮編碼方案就是能夠最大限度地去除圖像中的冗余信息。
MPEG-2的編碼圖像被分為三類,分別稱為I幀,P幀和B幀。 I幀圖像采用幀內編碼方式,即只利用了單幀圖像內的空間相關性,而沒有利用時間相關性。P幀和B幀圖像采用幀間編碼方式,即同時利用了空間和時間上的相關性。P幀圖像只采用前向時間預測,可以提高壓縮效率和圖像質量。P幀圖像中可以包含幀內編碼的部分,即P幀中的每一個宏塊可以是前向預測,也可以是幀內編碼。B幀圖像采用雙向時間預測,可以大大提高壓縮倍數。
MPEG-2的編碼碼流分為六個層次。為更好地表示編碼數據,MPEG-2用句法規定了一個層次性結構。它分為六層,自上到下分別是:圖像序列層、圖像組(GOP)、圖像、宏塊條、宏塊、塊。
4.7、H.263
H.263是國際電聯ITU-T的一個標准草案,是為低碼流通信而設計的。但實際上這個標准可用在很寬的碼流范圍,而非只用於低碼流應用,它在許多應用中可以認為被用於取代H.261。H.263的編碼算法與H.261一樣,但做了一些改善和改變,以提高性能和糾錯能力。.263標准在低碼率下能夠提供比H.261更好的圖像效果,兩者的區別有:(1)H.263的運動補償使用半象素精度,而H.261則用全象素精度和循環濾波;(2)數據流層次結構的某些部分在H.263中是可選的,使得編解碼可以配置成更低的數據率或更好的糾錯能力;(3)H.263包含四個可協商的選項以改善性能;(4)H.263采用無限制的運動向量以及基於語法的算術編碼;(5)采用事先預測和與MPEG中的P-B幀一樣的幀預測方法;(6)H.263支持5種分辨率,即除了支持H.261中所支持的QCIF和CIF外,還支持SQCIF、4CIF和16CIF,SQCIF相當於QCIF一半的分辨率,而4CIF和16CIF分別為CIF的4倍和16倍。
1998年IUT-T推出的H.263+是H.263建議的第2版,它提供了12個新的可協商模式和其他特征,進一步提高了壓縮編碼性能。如H.263只有5種視頻源格式,H.263+允許使用更多的源格式,圖像時鍾頻率也有多種選擇,拓寬應用范圍;另一重要的改進是可擴展性,它允許多顯示率、多速率及多分辨率,增強了視頻信息在易誤碼、易丟包異構網絡環境下的傳輸。另外,H.263+對H.263中的不受限運動矢量模式進行了改進,加上12個新增的可選模式,不僅提高了編碼性能,而且增強了應用的靈活性。H.263已經基本上取代了H.261。
4.8、MPEG-4 (Part2/ASP)
運動圖像專家組MPEG 於1999年2月正式公布了MPEG-4(ISO/IEC14496)標准第一版本。同年年底MPEG-4第二版亦告底定,且於2000年年初正式成為國際標准。
MPEG-4與MPEG-1和MPEG-2有很大的不同。MPEG-4不只是具體壓縮算法,它是針對數字電視、交互式繪圖應用(影音合成內容)、交互式多媒體(WWW、資料擷取與分散)等整合及壓縮技術的需求而制定的國際標准。MPEG-4標准將眾多的多媒體應用集成於一個完整的框架內,旨在為多媒體通信及應用環境提供標准的算法及工具,從而建立起一種能被多媒體傳輸、存儲、檢索等應用領域普遍采用的統一數據格式。
4.9、H.264/MPEG4 (Part10 AVC)
H.264是由ISO/IEC與ITU-T組成的聯合視頻組(JVT)制定的新一代視頻壓縮編碼標准。在ISO/IEC中該標准命名為AVC (Advanced Video Coding),作為MPEG-4標准的第10個選項;在ITU-T中正式命名為H.264標准。
4.10、H.265/HEVC
H.265是ITU-T VCEG 繼H.264之后所制定的新的視頻編碼標准。H.265標准圍繞着現有的視頻編碼標准H.264,保留原來的某些技術,同時對一些相關的技術加以改進。新技術使用先進的技術用以改善碼流、編碼質量、延時和算法復雜度之間的關系,達到最優化設置。具體的研究內容包括:提高壓縮效率、提高魯棒性和錯誤恢復能力、減少實時的時延、減少信道獲取時間和隨機接入時延、降低復雜度等。H264由於算法優化,可以低於1Mbps的速度實現標清數字圖像傳送;H265則可以實現利用1~2Mbps的傳輸速度傳送720P(分辨率1280*720)普通高清音視頻傳送。
4.11、VP8/VP9
https://en.wikipedia.org/wiki/VP8
4.12、AV1
AV1(AOMedia Video Codec 1.0):
相關網址:
http://audiovisualone.com : AV1公司網站
http://audio-video1.com :主要面向家庭提供視音頻應用的供應商
http://www.ctolib.com/learndromoreira-digital video introdution.html :相關學習資料
https://xiph.org/daala :Xiph(Mozilla基金會)的視頻壓縮技術,即Daala(達拉)
http://aomedia.org : 開放媒體聯盟官網,主要由一些硬件制造商共同建立,是發布AV1的主要組織
http://aomanalyzer.org/ : AV1編解碼器對應的碼流分析工具網站
AV1背景:
2015年年初,Google正致力於VP10的研究,Xiph在繼續Daala視頻壓縮技術的研究,Cisco開源了免版稅的視頻編解碼器,即雷神(Thor)。 之后,MPEG-LA公司首次宣布H265的使用年費(是使用H264的8倍多)。由於H265使用年費太高,一些硬件制造商(Amozon、Cisco、Google、Intel、Microsoft、Mozilla、Netflix)於2015年9月聯合成立了“開放媒體聯盟”,其中內容的發布由Google、Netflix和Amozon負責,網站的維護由Google和Mozilla負責。2016年4月5日,AMD、ARM和NVIDIA也加入了該聯盟,這些加入聯盟的公司都有一個共同的目標,即開發出一個免版稅的視頻編解碼器,此時AV1順勢而起。
AV1簡介:
AV1是一種免版稅、開源的新視頻編碼標准,集成Daala、Thor和VPx部分最優秀的編碼思想,由開放媒體聯盟(AOMedia)發布,目前第一版Version0.1.0已經在2016年4月7日發布。AV1現階段的主要目標是在編解碼復雜度合理增加的前提下,編碼性能高於VP9/HEVC的50%。
AOMedia聲稱,預計在2016年年底至2017年3月最終確定AV1碼流相關信息,並於2018年3月首次在硬件上支持。需要說明的是,AV1與以往視頻編碼標准較大的區別之一是更加偏向於硬件編解碼的支持,這也是AV1發起者(大多數為硬件設備制造廠商)的個人利益角度所考慮的。
AV1資源下載:
AV1源碼下載地址:https://aomedia.googlesource.com/aom
AV1測試視頻序列:http://media.xipha.org/video/derf/
AV1碼流分析工具源碼:https://github.com/mbebenita/aomanalyzer
AV1碼流分析工具:https://people.xiph.org/~mbebenita/analyzer/
4.13、AVS1/AVS2
AVS1標准是中國自主研發的音視頻編解碼標准,主要用於國內衛星電視的壓縮傳輸,其壓縮率相較於H.264要低一些,在使用范圍和推廣上也不如H.264。
4.14、SVAC1/SVAC2
SVAC(Surveillance Video and Audio Coding),安全防范監控音視頻編解碼技術,該技術標准是有中星微和公安一所針對視頻監控應用提出的音視頻編碼標准,該標准2010年12月23日發布,於2011年5月1日開始實施。
SVAC標准的主要技術特點有以下幾點:
1)高精度,支持8bit~10bit;
2)支持幀內4x4預測與變換量化,支持自適應幀-場編碼(AFF)和CABAC等技術。
3)支持ROI變質量編碼和SVC可伸縮編碼。
4)支持監控專用信息,數據安全保護和加密認證。
4.15、H.266/VVC
JVET was founded as the Joint Video Exploration Team (on Future Video coding) of ITU-T VCEG and ISO/IEC MPEG in October 2015. After a successful call for proposals, it transitioned into the Joint Video Experts Team (also abbreviated to JVET) in April 2018 with the task to develop a new video coding standard.
The new video coding standard was named Versatile Video Coding (VVC).
THE END!