1. H265 NALU型別解析
F: 禁止位,必須為0,表示有效;為1的話表示無效。
Type: 6-bits NALType 確定NAL的型別,其中VCL NAL和non-VCL NAL各有32類。0-31是vcl nal單元;32-63,是非vcl nal單元。VCL是指攜帶編碼資料的資料流,而non-VCL則是控制資料流。
vcl nal單元的型別(0-31)如下表:
non-vcl nal單元的型別(32-63)如下表:
Non-VCL NAL Type:Non-VCL NAL的種類如上圖,Parameter sets包括VPS、SPS和PPS。
Delimiters(分隔符)包括AUD_NUT、EOS_NUT、EOB_NUT,其中AUD_NUT用於指示access unit的邊界,所以和access unit內的VCL NAL有相同的TID,是access unit內的第一個NAL。EOS_NUT、EOB_NUT分別表示CVS和bitstream的結束,它們的TID為0,沒有payload,只有2-Type的header。
Filler Data對解碼過程並沒有任何影響,payload就是由一串’11111111’和1-Type的’10000000’組成,主要用來填充
SEI:supplemental enhancement informatyion,輔助增強資訊,提供可選的解碼支援後設資料。在HEVC中,SEI是prefix(SEI必須在Access unit的所有VCL NAL之前)或者suffix(SEI可以在Access unit的VCL NAL之後)的,而且SEI有些是隻對當前Access unit有效,有些作用範圍可能是多個Access unit甚至整個SVC。VUI是在SPS中的可選資訊,VUI不直接影響解碼過程,但是提供兩個方面的資訊:1、解碼影像的展示資訊,包括寬高比、掃描、分時等資訊;2、限制解碼端的一些資訊,包括tiles、MV、參考影像等。
LayerID:表示NAL所在的Access unit所屬的層,該欄位是為了HEVC的繼續擴充套件設定。也就是目前都是0,以後的擴充套件可能會用到。
TID:該值減一,時域層標識號,表示該NALU的時域層級。
2. H265 幀型別解析
和H.264的&0x1F不同,H.265是 :
int type = (code & 0x7E)>>1;
根據H265的NALU型別定義分析:
(1)控制資料流:
00 00 00 01 40 01 的nuh_unit_type的值為 32, 語義為影片引數集 VPS
00 00 00 01 42 01 的nuh_unit_type的值為 33, 語義為序列引數集 SPS
00 00 00 01 44 01 的nuh_unit_type的值為 34, 語義為影像引數集 PPS
00 00 00 01 4E 01 的nuh_unit_type的值為 39, 語義為補充增強資訊 SEI
VPS、SPS、PPS:三者的結構和關係如下圖所示:
3. H265一個影像序列的組成:VPS+SPS+PPS+SEI+一個I幀+若干個P幀。VPS、SPS、PPS、SEI、一個I幀、一個P幀都可以稱為一個NALU。
4. H265的NALU結構:開始碼+NALU頭+NALU資料
(1)、開始碼大小為四個位元組,是一個固定值00 00 00 01(十六進位制),標識一個NALU的開始。
(2)、NALU頭大小為兩個位元組,共16位,第1位值為0,第2-7位為NALU的type位(共6位),標識當前NALU的型別
,第8-15位值為0,第16位值為1。
(3)、NALU資料為編碼器編出來的影像資訊或影像資料。
5. 六種型別的NALU
(1)、VPS(影片引數集):NALU頭值為0x40 01(十六進位制),NALU頭type位值為32(十進位制)。
(2)、SPS(序列引數集):NALU頭值為0x42 01(十六進位制),NALU頭type位值為33(十進位制)。
(3)、PPS(影像引數集):NALU頭值為0x44 01(十六進位制),NALU頭type位值為34(十進位制)。
(4)、SEI(補充增強資訊):NALU頭值為0x4e 01(十六進位制),NALU頭type位值為39(十進位制)。
(5)、I幀:NALU頭值為0x26 01(十六進位制),NALU頭type位值為19(十進位制)。
(6)、P幀:NALU頭值為0x02 01(十六進位制),NALU頭type位值為1(十進位制)。
————————————————
版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。
原文連結:https://blog.csdn.net/ichenwin/article/details/121385557