H.264/AVC視頻壓縮編碼標準的新進展

H .264/AVC是由ISO/IEC與ITU-T組成的聯合視頻組(JVT)制定的新一代視頻壓縮編碼標準,于2003年5月完成制訂。相對于先前的標準,H.264/AVC無論在壓縮效率、還是在網絡適應性方面都有明顯的提高,因此,業界普遍預測其將在未來的視頻應用中替代現有的視頻壓縮標準。

  但是,H.264/AVC標準由于對視頻源的限制,僅支持娛樂級視頻質量。為了進一步擴大其應用范圍,使其適應高保真視頻壓縮的應用,JVT于2004年7月對H.264/AVC做了重要的補充擴展,稱為FRExt(Fidelity Range Extensions)。

FRExt概述

  H.264/AVC標準第一版支持的源圖像為每象素8b,且采樣方式僅限于4∶2∶0;而新近擴展的FRExt部分則擴大了標準的應用范圍,如專業級的視頻應用、高分辨率/高保真的視頻壓縮等。FRExt對H.264/AVC的改善主要在:(1)進一步引入一些先進的編碼工具,提高了壓縮效率;(2)視頻源的每個樣值均可超過8b,最高可達12b;(3)增加了4∶2∶2與4∶4∶4的采樣格式;(4)更高的比特率,更高的圖像分辨率;(5)可達到圖像高保真的要求,支持無損壓縮;(6)支持RGB格式的壓縮,同時避免了色度空間轉換的舍入誤差。

高保真編碼

  在高類中,H.264/AVC對FRExt定義了特別的編碼方案——支持無損編碼和多種顏色格式。

  (1)無損編碼

  為滿足視頻信號高保真的要求,H.264/AVC只在H444P類中引入了無損壓縮編碼方案。第一個是PCM方案,它沒有預測、變換和量化,直接傳送取樣點的值以達到無損編碼的目的;第二個是無變換的無損編碼方案,運用預測與熵編碼技術來表示圖像高效無損,相對于第一個方案提高了編碼效率。

  (2)支持多種顏色格式

  RGB與YCbCr相互之間的顏色轉換使用的都是浮點運算,這必將引入舍入誤差。為了消除在浮點運算中引入的舍入誤差,H.264/AVC在支持RGB的同時引入了新的彩色空間YCgCo:

  Y=1/2(G+(R+B)/2), Cg=1/2(G-(R+B)/2),Co=(R-B)/2

  上面的公式減小了色彩空間轉換的復雜度;但是,為了避免舍入誤差,要求增加額外的比特以保持精確性。為了把這個額外比特降到1b,使用下面的公式:

  Co=R-B,Cg=G-(B+(Co>>1)),Y=(B+(Co>>1))+Cg>>1)

壓縮效率

  從壓縮效率上講,H.264/AVC已經大大超過了以往的視頻壓縮標準,加入了FRExt之后,其在大尺寸、高保真等視頻壓縮方面更具優勢。圖5示出H.264/AVC FRExt與MPEG-2在HDTV圖像主觀評價方面的一個比較,H.264/AVC在不同的碼率下壓縮,而MPEG-2的壓縮碼率是24Mb/s,由此圖可見8Mb/s的H.264/AVC FRExt與MPEG-2相當。

H.264/AVC視頻壓縮編碼標準的新進展

圖5 H.264/AVC FRExt 與MPEG-2的性能比較

  由于引入了基于空域的幀內預測技術,并且經過FRExt的改善,H.264/AVC的I幀與JPEG2000的編碼效率相當,非常適合高質量的視頻壓縮應用。

小結

  新一代視頻壓縮編碼標準H.264/AVC的新進展——FRExt,相對于第一版標準擴展了視頻源的采樣格式與比特深度,加入了一些提高編碼效率的工具。從而H.264/AVC進一步提高了編碼效率,擴大了應用范圍。

  目前,高類已經代替主類而成為廣播和其他娛樂應用的首選。主要原因是,它比起先前的主類只增加了極小的算法復雜度,卻大大提高了壓縮性能且編碼器控制的靈活性。其中,H422P類可望在演播室環境中得以應用。在補充了FRExt之后,H.264/AVC被迅速推廣到各種應用中,主要包括:歐洲數字視頻廣播標準DVB;美國先進電視系統委員會ATSC;DVD論壇的HD-DVD規范;藍光光碟協會(BDA)的BD-ROM規范。

H.264/AVC視頻壓縮編碼標準的新進展

圖1 FRExt 編碼工具

  FRExt增加了4個新的類:(1)High Profile(HP),支持8b、4∶2∶0采樣;(2)High 10 Profile(Hi10P),支持10b、4∶2∶0采樣;(3)High 4∶2∶2 Profile(H422P),支持10b、4∶2∶2采樣;(4)High 4∶4∶4 Profile (H444P),支持12b、4∶4∶4采樣、無損編碼與多種色彩空間的編碼。

  H.264/AVC FRExt詳細說明了一組4個新的類,它們如同性能的嵌套子集一樣被創立。這4個類全都繼承了主類的工具集,就像它們的公共交集;而高類(HP)還額外地包含了所有能夠提高編碼效率的主要的新工具。相對于主類(MP),這些工具在算法復雜度上只是稍有提高。因此,在數字視頻應用中,在4∶2∶0色度采樣格式中使用8b視頻的高類有可能代替主類。

  增加了高類之后,H.264/AVC各類的關系如圖2所示,具體所包含的編碼工具如下:

H.264/AVC視頻壓縮編碼標準的新進展

圖2 H.264 各個類的關系

  1.所有類的共同部分:I片、P片、CAVLC;

  2.基本類(Baseline):FMO、ASO、冗余片;

  3.主類(Main):B片、加權預測、CABAC、隔行編碼;

  4.擴展類(Extended):包含基本類的所有部分(FMO、ASO、冗余片)、SP片、SI片、數據分割、B片、加權預測;

  5.高類(High):包含主類的所有部分(B片、加權預測、CABAC、隔行編碼)、自適應變換塊尺寸(4×4或8×8整數變換)、量化矩陣。

FRExt增加的關鍵算法

  FRExt之所以能進一步提高編碼效率及保真度,是因為加入了一些有效的編碼工具。其中大部分是在取樣點比特深度和色度格式方面;而在提高編碼效率方面,主要是利用8×8的亮度幀內預測、4×4變換及8×8變換、量化矩陣等技術。

  9種8×8的亮度幀內預測

  H.264/AVC第一版的幀內預測包括9種4×4亮度塊、4種16×16亮度塊和4種色度塊的預測。

H.264/AVC視頻壓縮編碼標準的新進展

圖3 幀內預測方向

??? 在FRExt中增加了9種8×8亮度塊的預測,其預測方向(如圖3)、預測塊的計算與4×4塊的基本一樣,如圖4所示。在一個給定的8×8亮度塊中,每個象素值可從相鄰的參考象素值(A~X、Z)中預測得到,編碼器可選擇8種不同的預測方向和直流預測。

  還有一點與4×4塊的不同,就是要對預測值進行低通濾波,以提高預測的精確度。新的8×8幀內預測中,給出了一個簡單的二階低通濾波器,它在預測之前被用來重建亮度的參考象素值。經過濾波的參考象素按照9種模式的預測方法進行預測。

  8×8的整數變換

  H.264/AVC第一版中,對所有的殘差塊采用了4×4整數變換;對16×16亮度塊進行幀內預測;整數變換后的16個DC系數采用4×4哈達瑪變換,色度塊的DC系數采用2×2哈達碼變換。

  4×4整數變換除了算法復雜度低外,還可以有效地降低塊效應。但是,對于大尺寸、高保真的視頻,須要很好地保存圖像的細節和紋理,這就需要更大尺寸的變換。為了達到各方面的平衡,FRExt引入了8×8整數變換,且編碼器可以在宏塊級自適應地選擇4×4或8×8變換。在制定H.264/AVC標準之前,曾提出可變塊尺寸的變換,其算法復雜度要低一些。

H.264/AVC視頻壓縮編碼標準的新進展

圖4 用于8×8空間亮度預測的樣本

  8×8正變換和逆變換都可以通過快速蝶形算法實現,對于n比特的輸入視頻,只需要(8+n)比特的運算動態范圍。8×8變換蝶形算法的復雜度只略高于4×4變換。

  新的變換同時要求相應的量化方法。FRExt在第一版的基礎上做了擴展,與MPEG-2一樣可以選擇量化矩陣進行量化,而量化矩陣可以提高圖像的主觀質量。同時,CABAC也做了改進,增加了3個內容模型,而CAVLC把8×8的系數分為4組4×4的系數。

H.264/AVC視頻壓縮編碼標準的新進展

表1 FRExt中的二維8×8變換矩陣

  須要指出的是,編碼器可以對每一個宏塊選擇4×4或8×8變換,但變換尺寸的選擇過程受到兩種約束:(1)對于幀內預測,只有在采用8×8亮度塊的預測時,選擇8×8整數變換;(2)對于幀間預測,宏塊中包含一個或多個小于8×8的塊(4×8、8×4、4×4),必須采用4×4整數變換。

??? 本文作者郭曉強先生,國家廣播電影電視總局廣播科學研究院博士;解偉先生,北京郵電大學博士研究生。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python注釋及語句分類

注釋 注釋就是:注解,解釋。 主要用于在代碼中給代碼標識出相關的文字提示(提高代碼的可讀性) 或 調試程序。Python中注釋分為兩類: 1.單行注釋 : 單行注釋以 # 號開頭,在當前行內,# 號后面的內容就是注釋…

【機器學習】回歸誤差:MSE、RMSE、MAE、R2、Adjusted R2 +方差、協方差、標準差(標準偏差/均方差)、均方誤差、均方根誤差(標準誤差)、均方根解釋

我們通常采用MSE、RMSE、MAE、R2來評價回歸預測算法。 1、均方誤差:MSE(Mean Squared Error) 其中,為測試集上真實值-預測值。 def rms(y_test, y): return sp.mean((y_test - y) ** 2) 2、均方根誤差:RMSE&#xff…

大院大所合作對接會7天倒計時!亮點搶先看

為什么80%的碼農都做不了架構師?>>> 推動產業特色發展,提升企業自主創新能力,加快成果轉化落地,繼江蘇發展大會之后,圍繞“聚力創新”,7月5日-6日,中國江蘇大院大所合作對接會暨第六…

通過取父級for循環的i來理解閉包,iife,匿名函數

在使用for循環的時候,假如需要在循環體中添加一個匿名函數處理其他的事情,那么,在這個匿名函數內,如果需要用到對應的i,因為閉包的緣故,循環體循環結束后才返回i,所以i最終為最后一次的數值。閉…

H.264將普及 視頻編碼講壇之H.264前世今生

隨著HDTV等高清資源的興起,H.264這個規范頻頻出現在我們眼前,HD-DVD和藍光DVD均計劃采用這一標準進行節目制作。而且自2005年下半年以來,無論是NVIDIA還是ATI都把支持H.264硬件解碼加速作為自己最值得夸耀的視頻技術。而數碼播放器領域也吹來…

python命令方式和關鍵字

常用命名方式 不管是文件,變量,函數或類名等等,命名都要遵守一個基本規范,就是,命名要有意義,易讀易懂。因此,兩種主流的命名方式出現了,他們分別是駝峰命名方法 和 使用下劃線分隔…

【機器學習】嶺回歸

import numpy as npimport matplotlib.pyplot as plt %matplotlib inlinefrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error,r2_score from sklearn import datasets# CV crosss validation :交叉驗證 from skl…

P1057 傳球游戲

題目描述 上體育課的時候,小蠻的老師經常帶著同學們一起做游戲。這次,老師帶著同學們一起做傳球游戲。 游戲規則是這樣的:n個同學站成一個圓圈,其中的一個同學手里拿著一個球,當老師吹哨子時開始傳球,每個同…

Keepalived 添加腳本配置監控haproxy方案

作者:風過無痕-唐出處:http://www.cnblogs.com/tangyanbo/ 上一篇文章已經講到了keepalived實現雙機熱備,且遺留了一個問題 master的網絡不通的時候,可以立即切換到slave,但是如果只是master上的應用出現問題的時候&am…

H.264編解碼標準的核心技術(提供相關流程圖)

最近在學習H.264編解碼知識,上網搜了不少資料看,發現大多數中文資料中都缺少相應的圖片,例如編解碼流程圖、編碼模板等,這對加深理解是很有幫助 的。木有辦法,只好回去潛心閱讀《H.264_MPEG-4_Part_10_White_Paper》&a…

【機器學習】總結:線性回歸求解中梯度下降法與最小二乘法的比較

在線性回歸算法求解中,常用的是最小二乘法與梯度下降法,其中梯度下降法是最小二乘法求解方法的優化,但這并不說明梯度下降法好于最小二乘法,實際應用過程中,二者各有特點,需結合實際案例具體分析。 最后有…

struts2學習(3)struts2核心知識II

一、struts.xml配置:                                                   1.分模塊配置方法: 比如某個系統多個模塊,我們把資產管理模塊和車輛管理模塊,分開,在總…

【機器學習】邏輯斯蒂回歸概率計算和手動計算對比

二分類,邏輯斯蒂回歸概率計算 import numpy as np from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_splitX,y datasets.load_iris(True)cond y!2X X[cond] y y[cond]resul…

WPF快速指導2:模板

WPF快速指導2:模板 本文摘要: 1:模板作用; 2:樣式模板; 3:數據模板; 4:如何使用ControlTemplate; 5:如何使用DataTempla…

五個最佳媒體格式轉換器

我們經常會遇到下載的視頻文件格式不對,無法在其他播放設備(如手機、DVD)中使用的問題,現在,我們介紹五個功能強大且易于使用的媒體轉換器,用于轉換不同類型的視頻文件。   Super (Windows) Super是一個免…

【機器學習】六種算法在人臉補全中的應用比較(K緊鄰,線性,決策樹,嶺回歸,套索回歸,ElasticNet)

需求: 根據人的上半邊臉預測下半邊臉,用各種算法取得的結果與原圖比較 思考: 這是一個回歸問題,不是分類問題(人臉數據不固定) 數據集一共包含40個人,每一個人10張照片,分布規律 每…

性能優化之NSDateFormatter

為什么要優化NSDateFormatter?首先,過度的創建NSDateFormatter用于NSDate與NSString之間轉換,會導致App卡頓,打開Profile工具查一下性能,你會發現這種操作占CPU比例是非常高的。據官方說法,創建NSDateForma…

QuickTime文件格式解析

QuickTime文件格式解析Peter Lee 2008-06-14 一、簡介 QuickTime是Apple公司開發的一套完整的多媒體平臺架構,可以用來進行多種媒體的創建,生產,和分發,并為這一過程提供端到端的支持:包括媒體的實時捕捉,…

python的數據類型轉換

數據類型轉換 將數據由當前類型變化為其他類型的操作就是數據類型轉換。數據類型轉換分為兩類,分別是自動數據類型轉換 和 強制數據類型轉換。 自動轉換(隱式轉換) 自動轉換時程序根據運算要求進行的轉換,不許要人工干預。 1.自動類型轉換不需要人工干…

Linux文件屬性及如何修改文件屬性

ls -al:顯示文件的文件名與相關屬性并列出所有文件詳細的權限與屬性 dr-xr-x---. 7 root root 4096 Apr3 12:31 . 權限 連接 所有者 用戶組 文件容量 修改日期 文件名 第一個字符代表這個文件是“目錄,文件&#x…