H.263視訊標準

        H.263ITU-T發展的視訊編碼標準,是為了超低位元率視訊編碼在無線與網路通訊的應用而發展出來的,主要用於視訊電話與視訊會議上,在H.263之前還有H.261H.263可視為H.261的延伸,兩者編解碼器的基本架構都相當類似,只是H.263多了許多新功能,有更好的編碼效能。在這將簡單介紹H.263H.263+

1.H.263

   1-1.畫面格式

   1-2.區塊組成結構

   1-3.DCT與量化

   1-4.半像素精確度

   1-5.動作向量的預測

   1-6.方塊編碼

   1-7.四種可協商模式(Negotiable modes)

2.H.263+

1.H.263

1-1.畫面格式  back to top

H.263比H.261支援了更多種畫面格式,以下是H.263所支援的畫面格式

Picture Format

Y

Cb & Cr

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

1-2.區塊組成結構  back to top

H.263以一種階層式的結構組成由上而下依序分為Picture、Group of blocks(GOB)、Macroblock(MB)Block四層其架構如下圖所示

1-3.DCT與量化  back to top

使用DCT的方式會使得區塊的DC值偏向於左上角再用ZigZag的排列方式排成一串頭重腳輕的bitstream,以下是8×8 block 的ZigZag掃描順序

1

2

6

7

15

16

28

29

3

5

8

14

17

27

30

43

4

9

13

18

26

31

42

44

10

12

19

25

32

41

45

54

11

20

24

33

40

46

53

55

21

23

34

39

47

52

56

61

22

35

38

48

51

57

60

62

36

37

49

50

58

59

63

64

一個8×8block經過DCTZigZag的轉換後,形成一個數值都集中前面的bitstream,如果再經過量化處理,bitstream後頭的數值都因太小被量化為零,而使得後來的編碼更為減少。還原時一定要把量化值放在H.263檔案的檔頭,以便作反還原之用,經過量化的還原當然會與原本的有所差距,但如果量化值取得適當,不但會有好的壓縮效果,而且畫面也與原本相差不大。量化值的範圍從131,值越小畫面越好,不過得到的碼也越多。以下是個量化的例子

1-4.半像素精確度  back to top

H.263採用半像素精確度的動作補償,使得它的視訊品質改善許多,其半像素值是由Bilinear interpolation而得,其做法如下

1-5.動作向量的預測  back to top

在編碼的時候,我們是對真正動作向量預測動作向量差值來做編碼,如果動作向量預測值和實際的很接近,那麼要傳的向量就很小。以下是一般正常情況動作向量的預測方式以及三種特殊狀況

 

   MV:Current Motion Vector

   MV1,MV2,MV3:predictors

   MVp=median(MV1,MV2,MV3)

        

                            

Picture or GOB boundary

1-6.方塊編碼  back to top

畫面預測則採用IntraInter混合方法:利用動作補償預測,當預測誤差超過某個臨界,則做Intra coding,否則都做Inter coding。而對於第一張畫面或景物變換後的第一張畫面採用Intra coding(因為無法在兩張畫面間找到相近的MB)

所謂Intra coding是將MB經過DCT、量化和可變長度編碼處理完成編碼,不參考其他畫面,主要是用DCT的特性來消除單張影像的 redundancyInter coding是將分別在不同畫面中最相似的MB之間的差異處做編碼,即是使用參考畫面做動作補償預測編碼。

1-7.四種可協商模式(Negotiable modes)  back to top

bullet

Unrestricted Motion Vector Mode(UMV)

   使用此模式時,動作向量可以指出畫面之外,其範圍由原本的[-16,15.5]增大至[-31.5,31.5],此模式對於在畫面邊緣移動的物體特別有效。

bullet

Advanced Prediction Mode(AP)

   使用此模式時,UMV會自動地啟用,而每個MB可使用四個動作向量(1個16×16MB分成四個8×8,每個8×8的block一個動作向量),其MV預測方式如下,由三個鄰近方塊取中間值

 

bullet

PB-Frame Mode(PB)

   一個PB-Frame包含了P-Frame和B-Frame,在此模式H.263將兩者視為一個單位來編碼傳送。對於比較簡單的視訊,此模式可以提高畫面率而不致增加太多位元率。

bullet

Syntax-based Arithmetic Coding Mode(SAC)

   使用算數編碼來取代Huffman編碼以提高編碼效能,可減低位元率,但也增加了運算量。

2.H.263+  back to top

提供更多的可協商模式以增進H.263的應用範圍以及編碼效能

bullet

Improved PB-frame Mode

   PB-Frame不同的是Improved PB-frame裡的B巨方塊有順向逆向雙向三種預測模式可選擇,若是前兩項則只需要一個MV,可省下一些位元率。

bullet

Advanced Intra Coding Mode(AIC)

   使用同一顏色份子(Y、Cb、Cr)的相鄰I方塊做預測,以善用相鄰方塊的關聯性,並改良轉換係數的量化方法,且對於IntraDCT係數使用另外的VLC編碼表。

bullet

Deblocking Filter Mode

   將方塊效應弄平滑以提高畫面的品質

bullet

Alternative Inter-VLC Mode

   把原本為Intra設計的VLC碼給Inter使用,使得在畫面變化快速時,提高原本畫面間的編碼效能。

bullet

Modified Quantizer Mode

   使用更有彈性的量化階大小,且擴充量化DCT係數的範圍。

以上五項用以改善或提高編碼效率  back to top

bullet

Slice Structured Mode

   兩種子模式矩形slice任意slice順序子模式。任意slice順序子模式可能將因為丟失封包而造成的損壞區孤立起來,可提高傳輸錯誤的免疫力。在這種子模式下通常資料都沒有跨切片的依存性。

bullet

Reference Picture Selection Mode

   編碼器可以從畫面記憶體中選擇一張最適合的畫面來做參考畫面,例如沒有錯誤的畫面,來減少畫面編碼的錯誤傳遞。

bullet

Independent Segment Decoding Mode

   使用此模式時,每個畫面部分都可以獨立地解碼,不考慮任何跨slice或跨GOB的資料相關性。

以上三項用以增強錯誤免疫力  back to top

bullet

Scalability Mode

   此模式可根據頻寬需求或是兩端性能而調整畫面大小,有畫面率SNR、解析度三種可調模式

bullet

Reference Picture Resampling Mode

   允許在把編碼畫面選為參考畫面前先對其做重新取樣或扭曲(wrap)

bullet

Reduced-Resolution Update Mode

   可將畫面的解析度降低再編碼傳送,情況允許的話再將誤差畫面當成更新資訊送給解碼器以產生原解析度畫面,當編碼動作頻繁時使用此模式有較好效果。

bullet

Supplemental Enhancement Information Mode

   bitstream中加入補充資訊來要求特殊處理方式,例如全畫面或部分畫面的 凍結/解凍、旗幟資訊等  back to top