H.264/MPEG-4 AVC

2024-03-08 10:32
文章标签 h.264 avc mpeg

本文主要是介绍H.264/MPEG-4 AVC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

维基百科,自由的百科全书
跳转到: 导航, 搜索

跳过字词转换说明

 

H.264,或稱MPEG-4第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISOIEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標準。

目录

[隐藏]
  • 1 標準
  • 2 技術細節
  • 3 專利許可
  • 4 應用
    • 4.1 光碟儲存
    • 4.2 數位電視
      • 4.2.1 歐洲與北美洲地區
      • 4.2.2 亞洲地區
    • 4.3 衛星數碼電視
    • 4.4 网络電視
    • 4.5 通訊與多媒體
  • 5 產品和實現
  • 6 參考資料
  • 7 外部鏈接

[编辑] 標準

ITU-T的H.264標準和ISO/IEC MPEG-4第10部分(正式名稱是ISO/IEC 14496-10)在編解碼技術上是相同的,這種編解碼技術也被稱為AVC,即進階視訊編碼(Advanced Video Coding)。該標準第一版的最終草案已於2003年5月完成。

H.264是ITU-T以H.26x系列為名稱命名的標準之一,同時AVC是ISOIEC MPEG一方的稱呼。這個標準通常被稱之為H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明確的說明它兩方面的開發者。該標準最早來自於ITU-T的稱之為H.26L的項目的開發。H.26L這個名稱雖然不太常見,但是一直被使用著。

有時候該標準也被稱之為「JVT編解碼器」,這是由於該標準是由JVT組織並開發的(作為兩個機構合作開發同一個標準的事情並非空前,之前的視訊編碼標準MPEG-2也是由MPEG和ITU-T兩方合作開發的,因此MPEG-2在ITU-T的命名規範中被稱之為H.262)。

H.264/AVC項目最初的目標是希望新的編解碼器能夠在比相對以前的視訊標準(比如MPEG-2或者H.263)低很多的位元率下(比如說,一半或者更少)提供很好的視頻質量;同時,並不增加很多複雜的編碼工具,使得硬件難以實現。另外一個目標是可適應性,即該編解碼器能夠在一個很廣的範圍內使用(比如說,即包含高碼率也包含低碼率,以及不同的視頻分辨率),並且能在各種網絡和系統上(比如組播DVD存儲、RTPIP包網絡、ITU-T多媒體電話系統)工作。

JVT最近完成了一個對原標準的拓展,該拓展被稱為高精度拓展(Fidelity Range Extensions,FRExt)。該拓展通過支持更高的像素精度(包括10位元和12位元像素精度)和支持更高的色度抽樣率(包括YUV 4:2:2和YUV 4:4:4)來支持更高精度的視頻編碼。該拓展加入了一些新的特性(比如自適應的4x4和8x8的整數變換,用戶自定義量化加權矩陣,高效的幀間無失真編碼,支持新增的色度空間和色度參差變換)。該拓展的設計於2004年7月完成,草案也於2004年9月完成。由於該標準的最早版本於2003年5月完成,JVT已經完成了一輪對標準的勘誤工作,新一輪的勘誤也已於最近完成並且得到了ITU-T的批准,不久也將被MPEG批准。

[编辑] 技術細節

H.264/AVC包含了一系列新的特徵,使得它比起以前的編解碼器不但能夠更有效的進行編碼,還能在各種網絡環境下的應用中使用。這些新特性包括:

  • 多參考幀的運動補償。比起以前的視頻編碼標準,H.264/AVC以更靈活的方式使用已編碼的更多幀來作為參考幀。在某些情況下,可以使用最多32個參考幀(在以前的標準裡面,參考幀的數目不是1就是對B幀來說的2)。該特性對大多數場景序列都可以帶來一定的碼率降低或者質量提高,對某些類型的場景序列,例如快速重複的閃光,反覆的剪切或者背景遮擋的情況,它能很顯著的降低編碼的碼率。
  • 變塊尺寸運動補償。可使用最大16x16至最小4x4的塊來進行運動估計與運動補償,能夠對圖像序列中的運動區域進行更精確的分割。這些類型共有16×16、16×8、8×16、8×8、8×4、4×8、4×4。
  • 為了減少混疊(Aliasing)並得到更銳化的圖像,採用六抽頭的濾波器來產生二分之一像素的亮度份量預測值。
  • 宏塊對結構允許場模式中採用16x16的宏塊(相對於MPEG-2中的16x8)。
  • 1/4像素精度的運動補償能夠提供更高精度的運動塊預測,由於色度通常是亮度抽樣的1/2(參見4:2:0),這時運動補償的精度就達到了1/8像素精度。
  • 加權的運動預測,指在運動補償時可以使用增加權重和偏移的辦法。它能在一些特殊的場合,如淡入、淡出、淡出而後淡入等情況提供相當大的編碼增益。
  • 使用了一個環內的除塊效應濾波器,能夠減輕普遍存在於其他基於離散餘弦變換DCT)的視頻編解碼器的塊效應。
  • 一個匹配的整數4x4變換(類似於離散餘弦變換的設計),同樣在高精度拓展中,採用整數8x8變換,並能在4x4變換和8x8變換中進行自適應的選擇。
  • 在第一次4x4變換後,對DC係數(色度的DC係數和某種特殊狀況的亮度DC係數)再進行一次Hadamard變換,使得在平滑區域得到更好的壓縮效果。
  • 利用臨近塊的邊界像素的Intra空間預測(比曾在MPEG-2視頻部分使用的直流係數預測和在H.263+MPEG-4視頻部分使用的變換係數預測的效果要好)。
  • 基於上下文的二元算數編碼(CABAC),它能夠靈活的將各種語法元素,在已知相應上下文概率分佈的狀況下進行更有效的無損熵編碼
  • 基於上下文的變長編碼(CAVLC),用於對量化後的變化係數進行編碼。比起CABAC它的複雜度相對較低,壓縮比不高,但是比起以前的視頻編碼標準所使用的熵編碼方案,它又是相當有效的。
  • 對既不是用CABAC也不是用CAVLC的語法元素,使用指數哥倫布碼(Exponential-Golomb,Exp-Golomb)熵編碼方案,進行編碼。
  • 使用一個網絡抽像層 (NAL),使得相同的視頻語法可以適用於多種網絡環境中;並且使用了序列參數集(SPSs)和圖像參數集(PPSs)來提供更高的強健性(robustness)和靈活性。
  • 切換條帶(Switching slices,包括SP和SI兩種),它使得編碼器能夠指令解碼器跳轉到一個正在處理的視頻碼流,用來解決視頻碼流碼率切換和"竅門模式"(Trick mode)操作。當解碼器利用SP/SI條帶跳轉到一個視頻碼流中間時,除非之後的解碼幀引用切換幀之前的圖像作為參考幀,它都可以得到完全一致的解碼重建圖像。
  • 靈活的宏塊排列模式(FMO for Flexible macroblock ordering,也被稱為條帶組slice groups技術)和任意條帶排列(ASO for arbitrary slice ordering)模式,用來更改圖像編碼的最基本單位-宏塊的編碼順序。它能夠用來提高有繞信道下碼流的強韌性(robustness)以及一些其它的目的。
  • 數據分區(DP for Data partitioning),能夠將重要程度不同的語法元素分開打包傳輸,並使用非平等數據保護(UEP for unequal error protection)等技術來改善視頻碼流對抗信道誤碼/丟包的強韌性(Robustness).
  • 冗余條帶(RS for Redundant Slices),同樣是一個提高碼流魯棒性的技術。編碼器利用該技術可以發送圖像某區域(或者全部)的另一個編碼表示(通常是較低分辨率的編碼碼流)使得當主表示發生錯誤或者丟失的時候能夠用冗余的第二個編碼表示來解碼。
  • 使用了一個自動的字節碼流打包方法,避免了碼流中出現與開始碼重複的碼字。開始碼是碼流中用於隨機訪問和重建同步的碼字。
  • 補充增強信息(SEI for Supplemental Enhancement Information)和視頻可用信息(VUI for Video Usability Information)增加了向視頻碼流中加入信息的辦法,為各種應用提供了用途。
  • 輔助圖層(Auxiliary pictures),可以用來實現某些特殊的功能,例如alpha復合(alpha compositing)。
  • 幀編號,使用該功能支持創建一個視頻序列的子序列,可用來支持實現時域的可伸縮性,還支持對丟失的整幀圖像進行檢測和隱藏(丟失可能是由於網絡丟包或者信道誤碼造成的)。
  • 圖像順序計數,使用該功能使得各幀圖像的順序和解碼圖像的像素值與時間信息無關,即使用一個單獨的系統對時間信息進行傳輸、控制、更改,從而不影響解碼圖像的像素值。

上述這些技術,與其它技術的結合,使得H.264比起以前的視頻編解碼能夠帶來性能上顯著的提高,並在各種不同的環境下達成更廣泛的應用。H.264在壓縮性能上比起MPEG-2有很大的提高,在相同的圖像質量下可以,碼率可以減少到一半或者更少。

和MPEG的其它視頻標準一樣,H.264/AVC也提供了一個參考軟件,並可以免費下載。它的主要目的是提供一個演示H.264/AVC各種功能的演示平台,而不是作為一個直接的應用平台。目前在MPEG也同時在進行一些硬件參考設計的實現。

[编辑] 專利許可

MPEG-2第一部分、第二部分,MPEG-4第二部分一樣,使用H.264/AVC的產品製造商和服務提供商需要向他們的產品所使用的專利的持有者支付專利許可費用。這些專利許可的主要來源是一家稱為MPEG-LA LLC的私有組織,該組織和MPEG標準化組織沒有任何關聯, 但是該組織也管理著MPEG-2第一部分系統、第二部分視頻、MPEG-4第二部分視頻和其它一些技術的專利許可。

其他的專利許可則需要向另一家稱為VIA Licensing的私有組織申請,這家公司另外也管理偏向音頻壓縮的標準如MPEG-2 AAC及MPEG-4 Audio的專利許可。

[编辑] 應用

[编辑] 光碟儲存

現時競爭下一代光碟格式的兩種主要技術,都已經計劃在2005年下半年,將H.264/MPEG-4 AVC作為必需的編碼格式,包括:

  • DVD論壇制訂的HD DVD格式
  • 藍光光碟聯盟(BDA)制訂的藍光光碟Blu-ray Disc格式

[编辑] 數位電視

[编辑] 歐洲與北美洲地區

歐洲的數位電視廣播(DVB)標準組織,於2004年下半年通過了採用H.264/MPEG-4 AVC於歐洲地區進行數位電視廣播,而法國總理讓-皮埃爾·拉法蘭於2004年宣佈法國將會選用H.264/MPEG-4 AVC作為高畫質電視接收器和數位電視地面廣播服務的付費電視頻道的一項要求。

另外,美國韓國正在考慮使用H.264/MPEG-4 AVC,作為數位電視地面廣播的視訊編碼規格。

[编辑] 亞洲地區

至於亞洲地區,日本所採用的ISDB數位電視廣播制式,提供的ISDB-T SB移動地面電視廣播服務,使用了H.264/MPEG-4 AVC編碼,而其中包括了以下的電視台:

  • 日本放送協會(NHK)
  • 東京放送(TBS)
  • 日本電視台(NTV)
  • 朝日電視台(TV Asahi)
  • 富士電視台(Fuji TV)
  • 東京電視台(TV Tokyo)

台灣公共電視台(PTS)以DVB-T數位電視廣播格式進行高畫質電視試播,採用H.264/MPEG-4 AVC作為視訊編碼格式。

香港方面,無綫電視亞洲電視的高畫質頻道與新增的標準畫質頻道,亦使用H.264/MPEG-4 AVC作為編碼制式。[1]

[编辑] 衛星數碼電視

衛星數碼電視廣播方面,以下數間服務供應商亦採用了該編碼標準,包括:

  • News Corp.DirecTV美國
  • Echostar / Dish Network / Voom TV(美國)
  • Euro1080歐洲
  • Premiere(德國
  • BSkyB英國愛爾蘭

[编辑] 网络電視

南京电信在南京推广的IPTV业务由于受带宽限制,将原有4M左右码流的MPEG-2格式的卫星节目用H.264重新重新编码为码流为略小于3M码流的节目播放。

[编辑] 通訊與多媒體

第三代移動通信合作組織(3GPP)已經在第六次發佈中批准H.264/AVC作為其移動多媒體電話服務標準的可選技術。

美國國防部下的運動圖像標準協會(MISB for The Motion Imagery Standards Board)已經接受H.264/AVC為其核心應用的推薦視頻編解碼器。

互聯網工程工作小組(IETF)已經完成了一個負載打包格式(RFC 3984)作為在其實時傳輸協議(RTP)上傳輸H.264/AVC碼流的打包辦法。

互聯網流媒體協會(ISMA for Internet Streaming Media Alliance)已經接受H.264/AVC作為其ISMA 2.0的技術規範。

MPEG組織將H.264/AVC完全的集成進入了它的系統協議(例如MPEG-2MPEG-4系統)和ISO媒體格式協議。

國際電信聯盟ITU-T標準組已經採納H.264/AVC作為其H.32x系列的多媒體電話系統的系統規範的一部分。ITU-T的採納,使得H264/AVC已經被廣泛的使用在視頻會議系統中,並獲得了視頻電話主要的兩家產品提供商(Polycom和Tandberg的支持。實際上所有新的視頻會議產品都支持H.264/AVC。

H.264將很可能被各種視頻點播服務(Video-On-Demand,VOD)使用,用來在互聯網上提供電影電視節目直接到個人電腦的點播服務。

[编辑] 產品和實現

有幾家公司正在製作能夠對H.264/AVC視頻進行解碼的可編程芯片。2005年1月博通(Broadcom)的BCM7411、科胜讯公司(Conexant)的CX2418X、Neomagic的MiMagic 6和意法半導體(STMicroelectronics)的STB7100等幾家公司推出的產品都提供了可供測試的樣片。Sigma Designs預計在2005年3月提供樣片。這些芯片的出現將極大的推動低成本的能夠播放標準畫質高畫質分辨率的H.264/AVC視頻的快速推廣。除了Neomagic的芯片是針對低能耗應用以外,其他四種晶片都具有播放高畫質分辨率視頻的能力,而且大部分都將支持標準中的High Profile。

蘋果公司已經將H.264集成進入Mac OS X版本v10.4(暱稱Tiger),並於2005年5月發佈了支持H.264的QuickTime版本7.0。2005年4月蘋果公司升級了軟件DVD Studio Pro以支持授權的高畫質格式的內容。該軟件支持將HD-DVD格式的內容刻錄到標準DVD或者HD-DVD媒體上。為了播放刻錄在標準DVD上的HD-DVD內容,所需要的硬件是PowerPC G5、軟件是Apple DVD Player v4.6,以及Mac OS X v10.4或者更新版本。

Envivio公司已經可以提供針對H.264組播用的標準畫質實時編碼器和離線的高畫質(720p、1080i、1080p)編碼器。Envivio公司同時提供針對windowsLinuxMacintosh平台的H.264解碼器,H.264視頻服務器和授權工具。

Modulus Video公司提供廣播、電話用廣播質量的H.264標準畫質實時編碼器,並宣佈將與2005年中提供高畫質實時編碼器(ME6000)。該公司曾在2004年4月在NAB上演示過高畫質實時編碼器,並獲得"Pick Hit"獎項。該公司使用LSI Logic的技術。

Tandberg television公司推出了EN5990實時編碼器。DirecTV和BSkyB已經把EN5990編碼器用於它們的衛星直播服務(DBS)。

哈雷(Harmonic)也推出了型號DiviCom MV 100的實時編碼器,。法國的廣播商TF1和Video Networks Limited (VNL)在倫敦的家用視頻點播服務已經宣佈使用該產品。 佩斯公司(Pace Micro)為一些主要的直播衛星公司提供了機頂盒。

Sony公司的PSP在硬件上提供對H.264 Main Profile Level 3解碼的支持。

Nero Digital公司推出的由Nero AGAteme共同開發的軟件包提供了對H.264編碼的支持,並在Doom9獲得"Pick Hit"[1] 獎項。

Sorenson提供了H.264實現方式。相關的編解碼軟件Sorenson AVC Pro codec已經包含在Sorenson Squeeze 4.1 for MPEG-4中。

自由軟件版x264的編解碼軟件採用GPL授權方式下載。

InterVideo的WinDVD 7於2005年6月24日正式發佈。發佈版本分為WinDVD 7 Gold黃金版和WinDVD 7 Platinum白金版,白金版支持H.264/MPEG-4 AVC解碼播放,推薦配置為P4 3.6G。(不屬於原文)

ATi於2005年10月5日發佈的Radeon X1300、X1600、X1800系列圖形芯片支持H.264硬件加速解碼。

Matrox公司推出的Matrox Mxo2 mini with MAX產品提供了H.264加速運算的功能,可以更快的輸出檔案。

[编辑] 參考資料

  1. ^ 工商及科技局,《立法會參考資料摘要:推行數碼地面電視廣播》,頁5,2006年6月4日

[编辑] 外部鏈接

  • http://www.fastvdo.com/spie04/ H.264/AVC綜述文章,包含了新的高精度拓展(Sullivan, Topiwala, and Luthra)
  • http://iphome.hhi.de/wiegand/pubs.htm 一些有關H.264/AVC的文章(Wiegand)
  • http://iphome.hhi.de/marpe/pub.htm 更多的關於H.264/AVC的文章(Marpe)
  • http://iphome.hhi.de/suehring/tml/ H.264/AVC參考軟件
  • http://www.vcodex.com/h264.html H.264/MPEG-4 Part 10教程 (Richardson)
  • http://www.vcodex.com/h264mpeg4/ 書:H.264 and MPEG-4 Video Compression (Richardson)
  • http://internet.impress.co.jp/books/1983/ H.264/AVC教科書(日文:Okubo, Kadono, Kikuchi, and Suzuki)
  • http://ftp3.itu.ch/av-arch/jvt-site JVT Experts Group文檔
  • http://www.mpegla.com/news/n_03-11-17_avc.html MPEG LA關於H.264/MPEG-4 AVC專利授權的條款
  • http://www.vialicensing.com/products/AVCH264VC/standard.html VIA Licensing關於H.264/MPEG-4 AVC專利授權的訊息
  • http://www.videolan.org/x264.html 一個基於GPL的H.264編碼庫,支持大部分H.264的功能
  • http://www.m4if.org/ MPEG工業論壇
  • http://www.itu.int/rec/recommendation.asp?type=folders&lang=e&parent=T-REC-H.264 ITU-T官方網頁
  • http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=40890&ICS1=35&ICS2=40&ICS3= H.264 ISO官方網頁
  • http://www.wwcoms.com/technology/standard.htm W&W Communications H.264概述和IEEE文章
  • http://www.apple.com/quicktime/hdgallery/ 蘋果公司H.264素材實例
  • http://www.61ic.com/club/bbs/index.asp?boardid=27 61IC工程師H.264討論區
  • 迎接高解析的未來 H.264與VC-1兩大視訊壓縮技術比較
视频编码标准
MPEG 标准MPEG制定MPEG-1 | MPEG-2 | (MPEG-3) | MPEG-4 | MPEG-7 | MPEG-21
ITU-T 标准VCEG制定H.261 | (H.262) | H.263 | H.263v2 | H.264

这篇关于H.264/MPEG-4 AVC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/786810

相关文章

H.264量化参数QP和量化步长Qstep

1. 量化参数QP是量化步长Qstep的序号。对于亮度(Luma)编码而言,量化步长Qstep共有52个值,QP取值0~51,对于色度(Chroma)编码,Q的取值0~39。 QP取最小值0 时,表示量化最精细;相反,QP取最大值51时,表示量化是最粗糙的。 QP和Qstep具有线性相关性,Qstep随着QP的增加而增加,每当QP值增加6,Qstep便增加一倍。 量化是在

android selinux报avc denied权限和编译报neverallow解决方案

avc: denied { read } for name=“present” dev=“sysfs” ino=42693 scontext=u:r:hal_health_default:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1 denied {xxx}: 表示缺少什么权限 scontext:表示谁缺少权限 tcontext:

v4l2(video4linux2) yuyv(yuv422)、MJPEG、H.264

V4L2(Video4Linux2)是Linux内核中的视频设备接口框架,专门用于捕获和输出视频数据。V4L2广泛应用于各种视频设备的驱动程序开发,如网络摄像头、电视调谐器、视频采集卡、以及其他视频输入/输出设备。 ### V4L2的主要功能 1. **视频采集**:    - 通过摄像头、视频采集卡等设备捕获视频数据。    - 支持多种视频格式,如YUYV、MJPEG、H.264等。 2

hevc和H.264格式的区别

HEVC(High Efficiency Video Coding)和H.264(也称为Advanced Video Coding,AVC)都是视频压缩标准,但它们之间存在一些显著的区别,主要集中在压缩效率、资源需求和兼容性方面。 压缩效率 HEVC,也被称为H.265,提供了比H.264更高的压缩效率。这意味着在相同的视频质量下,HEVC能够以大约一半的比特率进行编码,从而减少存储空间需求和

H.264的那些事

1.H265编码初探 2.H265 profile 3.H265编码等级以及图像的基础知识 4.H265码流格式 5.FFmpeg QT 实现h264、h265 音视频播放(Native方式) 6.Qt基于FFmpeg播放本地 H.264(H264)文件 7.H264码流和Mp4结构详解   FFMPEG的使用 #将264裸码流封装成mp4ffmpeg -f h264 -i s

H.264中最优运动矢量残差的输出

原文转自:http://www.360doc.cn/article/1412027_118336851.html H.264中最优运动矢量残差的输出 2010-07-27 10:03 最优运动矢量的求解是在encode_one_macroblock函数里面,因此该函数执行完毕运动矢量及分割模式也就相应的确定了,这里我们对这一块作一下简要的分析。 运动矢量的写码流是在

RTP RTSP H.264 实时视频

相关博文 :http://blog.csdn.net/evsqiezi/article/details/22881151                      http://blog.csdn.net/chen495810242/article/details/39207305

H.264官方文档下载

H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,运动图像专家组)联合制定的视频编码标准。其官方文档可以在ITU官网上下载:https://www.itu.int/rec/T-REC-H.264 可以看到H.264最新版的文档是2021年8月发布的:

Linux 下实现RTP实时打包发送H.264视频文件

在实现H264实时RTP打包和发送之前,我们需要先熟悉H264的编码原理及语法结构,然后是熟悉RTP协议以及RTP协议传输H264数据的相关准则。下面是与此相关的几篇博客。     H264语法结构及编码原理     RTP Payload H264     Linux 下实现RTP实时打包发送H.264码流     下面是rtp.c的代码 [objc]  view pla

Mpeg系列——AAC音频(1)

AAC在MPEG2和MPEG4中定义。 扩展名:.m4a, .m4b, .m4p, .m4v, .m4r, .3gp, .mp4, .aac  互联网媒体类型:audio/aac, audio/aacp, audio/3gpp, audio/3gpp2, audio/mp4, audio/MP4A-LATM, audio/mpeg4-generic  格式:有损数据压缩  延伸自:M