<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 195, comments - 34, trackbacks - 0, articles - 1

    H.264中的NAL技術

    Posted on 2010-05-06 17:58 小強摩羯座 閱讀(337) 評論(0)  編輯  收藏 所屬分類: 好文章

    H.264中的NAL技術

    NAL技術

    1.NAL概述
    NAL全稱Network Abstract Layer, 即網絡抽象層。
    在H.264/AVC視頻編碼標準中,整個系統框架被分為了兩個層面:視頻編碼層面(VCL)和網絡抽象層面(NAL)。其中,前者負責有效表示視頻數據的內容,而后者則負責格式化數據并提供頭信息,以保證數據適合各種信道和存儲介質上的傳輸。
    現實中的傳輸系統是多樣化的,其可靠性,服務質量,封裝方式等特征各不相同,NAL這一概念的提出提供了一個視頻編碼器和傳輸系統的友好接口,使得編碼后的視頻數據能夠有效地在各種不同的網絡環境中傳輸。

    2.NAL單元
    NAL單元是NAL的基本語法結構,它包含一個字節的頭信息和一系列來自VCL的稱為原始字節序列載荷(RBSP)的字節流。頭信息中包含著一個可否丟棄的指示標記,標識著該NAL單元的丟棄能否引起錯誤擴散,一般,如果NAL單元中的信息不用于構建參考圖像,則認為可以將其丟棄;最后包含的是NAL單元的類型信息,暗示著其內含有效載荷的內容。
    送到解碼器端的NAL單元必須遵守嚴格的順序,如果應用程序接收到的NAL單元處于亂序,則必須提供一種恢復其正確順序的方法。

    3.NAL實現編解碼器與傳輸網絡的結合
    NAL提供了一個編解碼器與傳輸網絡的通用接口,而對于不同的網絡環境,具體的實現方案是不同的。對于基于流的傳輸系統如H.320、MPEG等,需要按照解碼順序組織NAL單元,并為每個NAL單元增加若干比特字節對齊的前綴以形成字節流;對于RTP/UDP/IP系統,則可以直接將編碼器輸出的NAL單元作為RTP的有效載荷;而對于同時提供多個邏輯信道的傳輸系統,我們甚至可以根據重要性將不同類型的NAL單元在不同服務質量的信道中傳輸[2]。

    4.結論
    為了實現編解碼器良好的網絡適應性,需要做兩方面的工作:第一、在Codec中將NAL這一技術完整而有效的實現;第二、在遵循H.264/AVC NAL規范的前提下設計針對不同網絡的最佳傳輸方案。如果實現了以上兩個目標,所實現的就不僅僅是一種視頻編解碼技術,而是一套適用范圍很廣的多媒體傳輸方案,該方案適用于如視頻會議,數據存儲,電視廣播,流媒體,無線通信,遠程監控等多種領域。

    NALU類型

    標識NAL單元中的RBSP數據類型,其中,nal_unit_type為1, 2, 3, 4, 5及12的NAL單元稱為VCL的NAL單元,其他類型的NAL單元為非VCL的NAL單元。

    0:未規定
    1:非IDR圖像中不采用數據劃分的片段
    2:非IDR圖像中A類數據劃分片段
    3:非IDR圖像中B類數據劃分片段
    4:非IDR圖像中C類數據劃分片段
    5:IDR圖像的片段
    6:補充增強信息 (SEI)
    7:序列參數集
    8:圖像參數集
    9:分割符
    10:序列結束符
    11:流結束符
    12:填充數據
    13 – 23:保留
    24 – 31:未規定

    NALU的順序要求

    H.264/AVC標準對送到解碼器的NAL單元順序是有嚴格要求的,如果NAL單元的順序是混亂的,必須將其重新依照規范組織后送入解碼器,否則解碼器不能夠正確解碼。

    1.序列參數集NAL單元必須在傳送所有以此參數集為參考的其他NAL單元之前傳送,不過允許這些NAL單元中間出現重復的序列參數集NAL單元。所謂重復的詳細解釋為:序列參數集NAL單元都有其專門的標識,如果兩個序列參數集NAL單元的標識相同,就可以認為后一個只不過是前一個的拷貝,而非新的序列參數集。
    2.圖像參數集NAL單元必須在所有以此參數集為參考的其他NAL單元之先,不過允許這些NAL單元中間出現重復的圖像參數集NAL單元,這一點與上述的序列參數集NAL單元是相同的。
    3.不同基本編碼圖像中的片段(slice)單元和數據劃分片段(data partition)單元在順序上不可以相互交叉,即不允許屬于某一基本編碼圖像的一系列片段(slice)單元和數據劃分片段(data partition)單元中忽然出現另一個基本編碼圖像的片段(slice)單元片段和數據劃分片段(data partition)單元。
    4.參考圖像的影響:如果一幅圖像以另一幅圖像為參考,則屬于前者的所有片段(slice)單元和數據劃分片段(data partition)單元必須在屬于后者的片段和數據劃分片段之后,無論是基本編碼圖像還是冗余編碼圖像都必須遵守這個規則
    5.基本編碼圖像的所有片段(slice)單元和數據劃分片段(data partition)單元必須在屬于相應冗余編碼圖像的片段(slice)單元和數據劃分片段(data partition)單元之前。
    6.如果數據流中出現了連續的無參考基本編碼圖像,則圖像序號小的在前面。
    7.如果arbitrary_slice_order_allowed_flag置為1,一個基本編碼圖像中的片段(slice)單元和數據劃分片段(data partition)單元的順序是任意的,如果arbitrary_slice_order_allowed_flag置為零,則要按照片段中第一個宏塊的位置來確定片段的順序,若使用數據劃分,則A類數據劃分片段在B類數據劃分片段之前,B類數據劃分片段在C類數據劃分片段之前,而且對應不同片段的數據劃分片段不能相互交叉,也不能與沒有數據劃分的片段相互交叉。
    8.如果存在SEI(補充增強信息) 單元的話,它必須在它所對應的基本編碼圖像的片段(slice)單元和數據劃分片段(data partition)單元之前,并同時必須緊接在上一個基本編碼圖像的所有片段(slice)單元和數據劃分片段(data partition)單元后邊。假如SEI屬于多個基本編碼圖像,其順序僅以第一個基本編碼圖像為參照。
    9.如果存在圖像分割符的話,它必須在所有SEI 單元、基本編碼圖像的所有片段slice)單元和數據劃分片段(data partition)單元之前,并且緊接著上一個基本編碼圖像那些NAL單元。
    10.如果存在序列結束符,且序列結束符后還有圖像,則該圖像必須是IDR(即時解碼器刷新)圖像。序列結束符的位置應當在屬于這個IDR圖像的分割符、SEI 單元等數據之前,且緊接著前面那些圖像的NAL單元。如果序列結束符后沒有圖像了,那么它的就在比特流中所有圖像數據之后。
    11.流結束符在比特流中的最后。

     

    本文來自CSDN博客,轉載請標明出處:file:///D:/新建文件夾/桌面/H_264中的NAL技術%20-%20Bolt%20的專欄%20-%20CSDN博客.htm



    主站蜘蛛池模板: 亚洲精品国产精品乱码不卡√ | 免费人成大片在线观看播放电影| 日韩免费无码一区二区三区| 亚洲熟妇丰满多毛XXXX| 乱淫片免费影院观看| www.亚洲色图.com| 成年网在线观看免费观看网址| 免费国产成人午夜私人影视| 国产精品亚洲天堂| 亚洲精品国产日韩无码AV永久免费网 | 成人人观看的免费毛片| 精品久久久久久亚洲精品| 精品无码免费专区毛片| 亚洲不卡中文字幕| 四虎影院免费视频| 杨幂最新免费特级毛片| 亚洲日本一区二区三区在线| 久久久久国产精品免费看| 亚洲精品白色在线发布| 日本精品人妻无码免费大全| 亚洲精品自偷自拍无码| 免费一级毛片不卡在线播放| 一个人免费观看视频在线中文 | 亚洲精品mv在线观看| 成人午夜免费福利视频| 亚洲人成色77777在线观看| 又大又粗又爽a级毛片免费看| h视频在线免费观看| 久久久久久亚洲精品| 日韩亚洲国产高清免费视频| 日本亚洲欧美色视频在线播放| 亚洲性在线看高清h片| 久久久国产精品无码免费专区| 亚洲成a人片在线观看播放| 国产美女a做受大片免费| 中文在线观看国语高清免费| 亚洲综合激情六月婷婷在线观看 | 丁香花在线观看免费观看| 免费福利资源站在线视频| 亚洲国产一区在线| 国产成人免费a在线视频色戒|