H264碼流打包分析

來源:互聯網
上載者:User

 

H264碼流打包分析

SODB 資料位元串-->最原始的編碼資料

RBSP 原始位元組序列載荷-->在SODB的後面填加了結尾位元(RBSP trailing bits 一個bit“1”)若干位元“0”,以便位元組對齊。

EBSP 擴充位元組序列載荷-- >在RBSP基礎上填加了仿校正位元組(0X03)它的原因是: 在NALU加到Annexb上時,需要填加每組NALU之前的開始碼 StartCodePrefix,如果該NALU對應的slice為一幀的開始則用4位位元組表示,ox00000001,否則用3位位元組表示
ox000001.為了使NALU主體中不包括與開始碼相衝突的,在編碼時,每遇到兩個位元組連續為0,就插入一個位元組的0x03。解碼時將0x03去掉。 也稱為脫殼操作。

h264的功能分為兩層,視頻編碼層(VCL)和網路提取層(NAL)

        VCL資料即被壓縮編碼後的視頻資料序列。在VCL資料要封裝到NAL單元中之後,才可以用來傳輸或儲存。NAL儲存格式如:

   

Nal頭 EBSP Nal頭 EBSP Nal頭 EBSP


NAL單元
    每個NAL單元是一個一定文法元素的可變長位元組字串,包括包含一個位元組的頭資訊(用來表示資料類型),以及若干整數位元組的負荷資料。一個NAL單元可以攜帶一個編碼片、A/B/C型資料分割或一個序列或映像參數集。

  NAL單元按RTP序號按序傳送。其中,T為負荷資料類型,佔5bit;R為重要性指示位,佔2個bit;最後的F為禁止位,佔1bit。具體如下:

  (1)NALU類型位

  可以表示NALU的32種不同類型特徵,類型1~12是H.264定義的,類型24~31是用於H.264以外的,RTP負荷規範使用這其中的一些值來定義包彙總和分裂,其他值為H.264保留。

  (2)重要性指示位

  用於在重構過程中標記一個NAL單元的重要性,值越大,越重要。值為0表示這個NAL單元沒有用於預測,因此可被解碼器拋棄而不會有錯誤擴散;值高於0表示此NAL單元要用於無漂移重構,且值越高,對此NAL單元丟失的影響越大。

  (3)禁止位

  編碼中預設值為0,當網路識別此單元中存在位元錯誤時,可將其設為1,以便接收方丟掉該單元,主要 用於適應不同種類的網路環境(比如有線無線相結合的環境)。例如對於從無線到有線網關,一邊是無線非IP環境,一邊是有線網路的無位元錯誤的環境。假 設一個NAL單元到達無線那邊時,校正和檢測失敗,網關可以選擇從NAL流中去掉這個NAL單元,也可以把已知被破壞的NAL單元前傳給接收端。在這種情 況下,智能的解碼器將嘗試重構這個NAL單元(已知它可能包含位元錯誤)。而非智能的解碼器將簡單地拋棄這個NAL單元。NAL單元結構規定了用於面向分
組或用於流的傳輸子系統的通用格式。在H.320和MPEG-2系統中,NAL單元的流應該在NAL單元邊界內,每個NAL單元前加一個3位元組的起始首碼 碼。在分組傳輸系統中,NAL單元由系統的傳輸規程確定幀界,因此不需要上述的起始首碼碼。一組NAL單元被稱為一個接入單元,定界後加上定時資訊 (SEI),形成基本編碼映像。該基本編碼映像(PCP)由一組已編碼的NAL單元組成,其後是冗餘編碼映像(RCP),它是PCP同一視頻映像的冗餘表 示,用於解碼中PCP丟失情況下恢複資訊。如果該編碼視頻映像是編碼視頻序列的最後一幅映像,應出現序列NAL單元的end,表示該序列結束。一個映像序
列只有一個序列參數組,並被獨立解碼。如果該編碼映像是整個NAL單元流的最後一幅映像,則應出現流的end。 

  H.264採用上述嚴格的接入單元,不僅使H.264可自適應於多種網路,而且進一步提高其抗誤碼能力。序號的設定可發現丟的是哪一個VCL單元,冗餘編碼映像使得即使基本編碼映像丟失,仍可得到較“粗糙”的映像。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.