首頁>>>技術>>>視像通信  視像通信產品

多媒體會議中的H.264編碼

南京郵電大學 馬國強 畢厚杰 2006/09/22

  H.264是新一代視頻壓縮編碼標準,由兩大國際標準化組織ITU-T和ISO/IEC聯(lián)合開發(fā)。H.264和以前的標準一樣,也是采用基于塊的混合編碼模式,但是它在以往標準的基礎上對編碼算法進行了改進,使得H.264算法具有很高的編碼效率。在同等的圖像質量條件下,H.264的數(shù)據(jù)壓縮性能比當前DVD系統(tǒng)中使用的MPEG-2高2~3倍,比MPEG-4高1.5~2倍。正因為如此,經過H.264壓縮的視頻數(shù)據(jù),在網絡傳輸過程中所需要的帶寬更少,也更加經濟,所以更適合視頻會議業(yè)務。

  編碼器架構與算法模塊

  隨著壓縮性能的提高,H.264的計算復雜度變得極高,H.264編碼的計算復雜度大約相當于H.263(H.264的同系列標準)的3~5倍,解碼復雜度大約相當于H.263的2倍。為此,一款設計優(yōu)良的H.264編碼器必須充分考慮編碼速度與率失真性能之間的平衡。一般而言,H.264編碼器架構主要包括以下各種算法。
  這是視頻壓縮編碼領域的核心技術之一。運動搜索技術的基本原理是搜索視頻序列中的相鄰圖像,找出運動信息和運動矢量,用表征物體運動的數(shù)據(jù)代替相應圖像的原始信息,從而極大地消除時間冗余,達到數(shù)據(jù)壓縮的目的。
  在視頻流中,每幀圖像的編碼方式既可以是I幀(幀內預測幀),也可以是P幀(幀間預測幀)。I幀的編碼效率沒有P幀高,但I幀是視頻碼流中的重要組成單位,因為I幀提供重同步的能力。在傳輸中如果某幀發(fā)生丟包,則使用該幀預測的后續(xù)P幀將不能正確解碼,但由于I幀是自包含的,沒有引用任何以往的圖像,所以碼流在這里獲得重新同步,將錯誤限制在一定范圍內。
  在視頻編碼中會有許多編碼模式和參數(shù)的決策問題,率失真優(yōu)化算法對每個侯選的編碼模式或參數(shù)進行評估,然后按照一定的法則挑選出最優(yōu)模式。
  監(jiān)測信道狀況,對碼率的分配作出決策。這個算法模塊需要和率失真優(yōu)化結合起來,形成編碼器的決策層。
  存儲器的邏輯和物理管理,并負責對參考幀隊列管理。在對P幀編碼時,需要參考以往已編碼或解碼的圖像,進行運動搜索,所以在編碼和解碼的同時必須建立參考幀隊列,存儲參考幀數(shù)據(jù)。
  對視頻序列壓縮的各種方法都圍繞三個方面:消除時間冗余、消除空間冗余、消除統(tǒng)計冗余。幀間和幀內預測分別針對時間冗余和空間冗余,而消除統(tǒng)計冗余的方法就稱作熵編碼。

  H.264編碼器的工作流程

  編碼程序在設定編碼參數(shù)后,首先從輸入圖像序列中讀出一幀圖像數(shù)據(jù)作為當前編碼圖像,并根據(jù)圖像特征分析編碼類型。每一幀圖像數(shù)據(jù)由若干個片數(shù)據(jù)組成,每一個片數(shù)據(jù)獨立編碼為一個NAL。當寫好NAL的起始信息和片頭數(shù)據(jù)后,進入圖像宏塊層編碼。

  進入宏塊數(shù)據(jù)編碼子程序后,首先根據(jù)宏塊所處的幀類型,進入相應的宏塊編碼模式選擇算法模塊。選擇宏塊的編碼模式后,根據(jù)編碼模式進入相應的宏塊編碼模塊。幀內編碼的宏塊的預測值是來自在同一圖像中的相鄰宏塊的像素值;幀間編碼的宏塊的預測值是來自于運動矢量所指向的參考圖像中相應區(qū)域的像素值。用圖像的原始值減去預測值得到殘差數(shù)據(jù),對殘差數(shù)據(jù)變換、量化、熵編碼,進一步消除其冗余信息,得到視頻編碼后的碼流。

  當宏塊的編碼模式是幀內亮度16×16或者幀內色度8×8時,整數(shù)變換后的直流分量要提出來經過第二次變換。編碼后的碼流進行反變換,重建宏塊數(shù)據(jù),為后續(xù)宏塊預測做準備。當一幀圖像重建好之后,繼續(xù)對該重建圖像進行塊濾波,消除量化造成圖像的塊效應,隨后將可用于后續(xù)圖像編碼參考的圖像數(shù)據(jù)存入參考圖像隊列,更新參考圖像隊列。

計算機世界網(www.ccw.com.cn)



相關鏈接:
視頻會議系統(tǒng)的建設要注重合適的前期規(guī)劃 2006-09-22
視頻會議系統(tǒng)變局 2006-09-22
高清視頻會議系統(tǒng)——超越標清 2006-09-22
看不清的高清 2006-09-22
視頻會議系統(tǒng)已成為美國主要教學工具之一 2006-09-19

相關頻道:           文摘   技術_視像通訊_文摘      
         
科尔| 铁力市| 开平市| 兰西县| 濮阳县| 弥渡县| 赤水市| 馆陶县| 平度市| 勐海县| 印江| 社旗县| 茂名市| 宜黄县| 连平县| 通州区| 济宁市| 虞城县| 白河县| 玉田县| 永年县| 克拉玛依市| 卓资县| 长春市| 济南市| 通辽市| 壶关县| 阿合奇县| 科尔| 遵义县| 德清县| 辽阳市| 满洲里市| 当雄县| 公安县| 永清县| 松潘县| 徐闻县| 和顺县| 方城县| 晋宁县|