1. H.263
簡介 H.263 由 ITU 定義,為視頻會議和視頻電話應用程式提供圖象壓縮(解碼)。H.263 基於 H.261,並且其頻寬是由小於 20K 到 24K bit/sec 的視頻流形成。作為一種一般規則,H.263 要求其半頻寬要於 H.261 的對應頻寬達到相同的視頻品質,所以在很大程度上 H.263 取代了 H.261。H.263 使用傳輸視頻流。 H.263 的解碼演算法和 H.261 中的類似,但它在 H.261 的基礎上有了提高和改變,從而增強了效能和錯誤恢複能力。H.263 中運動補償採用的是半象素精確度,而在 H.261 中採用的是全象素精確度和環路濾波器。資料流中分層結構的某些部分是可選的,如此可以通過一個較低的資料率或較好的錯誤恢複能力來配置視頻編解碼。目前有四種能夠提高效能的可選協商選項:無限制運動向量、基於文法的演算法解碼、前向預測和前後幀預測,類似於 MPEG,叫做 P-B 幀。
2
.視頻壓縮中的一些基本概念
1
有損和無損壓縮在視頻壓縮中有損(Lossy)和無損(Lossless)的概念與靜態映像中基本類似。無損壓縮也即壓縮前和解壓縮後的資料完全一致。有損壓縮意味著解壓縮後的資料與壓縮前的資料不一致。在壓縮的過程中要丟失一些人眼和人耳所不敏感的映像或音頻資訊,而且丟失的資訊不可恢複。丟失的資料率與壓縮比有關,壓縮比越小,丟失的資料越多,解壓縮後的效果一般越差。此外,某些有損壓縮演算法採用多次重複壓縮的方式,這樣還會引起額外的資料丟失。
2
幀內和幀間壓縮幀內(Intraframe)壓縮也稱為空白間壓縮(Spatial compression)。當壓縮一幀映像時,僅考慮本幀的資料而不考慮相鄰幀之間的冗餘資訊,這實際上與靜態映像壓縮類似。幀內壓縮一般達不到很高的壓縮。 採用幀間(Interframe)壓縮是基於許多視頻或動畫的連續前後兩幀具有很大的相關性,或者說前後兩幀資訊變化很小的特點。也即連續的視頻其相鄰幀之間具有冗餘資訊,根據這一特性,壓縮相鄰幀之間的冗餘量就可以進一步提高壓縮量,減小壓縮比。幀間壓縮也稱為時間壓縮(Temporal compression),它通過比較時間軸上不同幀之間的資料進行壓縮。幀間壓縮一般是無損的。
3
對稱和不對稱編碼對稱性(symmetric)是壓縮編碼的一個關鍵特徵。對稱意味著壓縮和解壓縮佔用相同的計算處理能力和時間,對稱演算法適合於即時壓縮和傳送視頻,如視頻會議應用就以採用對稱的壓縮編碼演算法為好。不對稱或非對稱意味著壓縮時需要花費大量的處理能力和時間,而解壓縮時則能較好地即時回放,也即以不同的速度進行壓縮和解壓縮。一般地說,壓縮一段視頻的時間比回放(解壓縮)該視頻的時間要多得多
4 H.263
框架類型A 內碼幀(I幀)不能由任何其它幀構造出來,包含所有可顯示它的資訊。 I幀編碼過程: l 每個光亮度和色差平面被分成8*8的塊 l 各塊使用DCT轉換成頻率域 l 利用量化表進行量化。 l 對各塊中最重要係數序列(DC係數)用DPCM技術進行編碼,且僅編碼兩個相鄰DC值的差 l 各塊中的係數是按鋸齒形次序進行行程編碼 l 最後進行類哈夫曼編碼 預測幀(P幀):由前面的幀構造所得。 P幀編碼: P幀編碼過程: l 在基準幀中對每個宏塊均尋找其首選宏塊 l 計算實際宏塊和首選宏塊的差,作為運動向量 l 誤差項用DCT進行轉換 l 接著進行量化步,形成“鋸齒形次序”行程編碼,最後進行類哈夫曼平均資訊量編碼。注意量化表與I幀所用的不同,DC係數的編碼與其他係數的編碼方式相同
3. H.263
的內容和特點 H.263 視頻編碼通訊協定是專為中高品質運動映像壓縮所設計的低碼率映像壓縮標準。與H.261 的p×64K 的傳輸碼率相比,H.263的碼率更低,單位碼率可以小於 64K,且支援的原始映像格式更多,包括了在視頻和電視訊號中常見的QCIF,CIF,EDTV,ITU-R 601,ITU-R 709 等等。 H.263 採用運動視頻編碼中常見的編碼方法,將編碼過程分為幀內編碼和幀間編碼兩個部分。埃幀內用改進的DCT 變換並量化,在幀間採用1/2 象素運動向量預測補償技術,使運動補償更加精確,量化後適用改進的變長編碼錶(VLC)地量化資料進行熵編碼,得到最終的編碼係數。 H.263的編碼速度快,其設計編碼延時不超過150ms;碼率低,在512 K 乃至 384K 頻寬下仍可得到相當滿意的映像效果,十分適用於需要雙向編解碼並傳輸的場合(如:可視電話)和網路條件不是很好的場合(如:遠程監控) 如下是H263的編解碼圖: 為了達到這些目標,H.263採用如下方法: 1)信源編碼器基於通用中間格式(CIF),使其可以同時應用於625線和525線兩種電視標準。視頻編碼器對圖象的取樣次數為視頻訊號場線的整數倍,取樣時鐘和數字網之間的關係是非同步關係,提供可以和其它各種裝置訊號相結合的獨立的數字位元流。 2)採用可減少時間冗餘的幀間預測和可減少空間冗餘的殘留訊號編碼方法。解碼器具有運動補償的能力,並允許可選擇地在編碼器中增加這種技術。H263運動補償採用的是半象素精度,而不是H.261建議中的全象素精度和迴圈濾波器。而對待傳送的符號採用了遊程編碼。 3)允許採用無限制運動向量模式,在該模式中,運動向量被允許指到圖片的外部,可使用更大的運動向量。允許採用基於句法的算術編碼模式代替遊程編碼,可將最終的位元數顯著降低。允許採用進階預測模式,對P幀的亮度部分採用了塊重疊運動補償。對圖片中的某些宏塊採用4個8x8向量來代替原來的1個16x16向量。編碼器必須決定使用哪一種向量。允許採用PB幀模式,一個PB幀包含一個由前面的解得的P幀圖象預測得出的P幀和一個由前一個P幀和當前解碼的P幀共同預測得出的B幀。使用這種模式可以在位元速率增加幅度很小的情況下大幅度增加幀頻。 4)信源編碼器的主要原理是預測,塊變換和量化。信源格式信源編碼器對每秒發生30000/1001(大約29.97)次的圖象進行操作。對圖象頻率的允許誤差為±50 ppm。採用五種圖象格式,圖象被編碼為一個亮度訊號和兩個色差成分(Y,CB和CR)。五種標準圖象格式為: sub-QCIF, QCIF, CIF, 4CIF和16CIF。對每種圖象格式而言,在正交排列時,亮度的取樣結構都是dx個象素每行,dy行每幅圖象。兩個色差成分的取樣都是dx/2個象素每行,dy/2行每幅圖象。dx, dy, dx/2和dy/2的值在下表給出。 H.263各種圖象格式的象素個數圖象格式 亮度取樣的象素個數(dx) 亮度取樣的行數 (dy) 色度取樣的象素個數(dx/2) 色度取樣的行數(dy/2) sub-QCIF 128 96 64 48 QCIF 176 144 88 72 CIF 352 288 176 144 4CIF 704 576 352 288 16CIF 1408 1152 704 576 對每種圖象格式,色差取樣被定位在和亮度塊邊界一致的塊上。取樣象素的縱橫比和圖象格式的縱橫比一致,也和H.261建議中定義的QCIF和CIF一致:(4/3)*(288/352)。除了sub-QCIF格式的 縱橫比為4:3。 解碼器使用sub-QCIF以及QCIF格式等。編碼器可對sub-QCIF和QCIF中的一種進行操作。 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////H.263 支援五種解析度。除了 H.261 支援的 QCIF 和 CIF 外,還有 SQCIF、4CIF 和 16CIF。SQCIF 的解析度大約是 QCIF 的一半,而 4CIF 和 16CIF 的解析度分別是 CIF 的4倍和16倍。
在解碼演算法上,H.261 與 H.263 的不同點列表如下: |
圖畫格式 |
象素亮度 |
線條亮度 |
H.261是否支援 |
H.263是否支援 |
非壓縮位元速率(Mbits/s) |
10 frames/s |
30 frames/s |
灰色 |
彩色 |
灰色 |
彩色 |
SQ_CIF |
128 |
96 |
|
是 |
1.0 |
1.5 |
3.0 |
4.4 |
Q_CIF |
176 |
144 |
是 |
是 |
2.0 |
3.0 |
6.1 |
9.1 |
CIF |
352 |
288 |
可選 |
可選 |
8.1 |
12.2 |
24.3 |
36.5 |
4CIF |
704 |
576 |
|
可選 |
32.4 |
48.7 |
97.3 |
146.0 |
16CIF |
1408 |
1152 |
|
可選 |
129.8 |
194.6 |
389.3 |
583.9 |
文章引用自:http://www.goalercn.com/article/article.asp?Id=10244