這篇部落格h.265的各種幀(詳解):接入影象對所有的vcl nal進行了詳細解說。
下圖所有h.265的nalu
trailing pictures包括tsa、stsa和trail。
在trailing pictures中,除了tsa和stsa之外,其他的都定義為trail幀。
這兩種是h265中引入的新結構。
temporal sub-layer access picture隨機接入點後按解碼和輸出順序的影象。
tsa(temporal sublayer access)
stsa(stepwise temporal sublayer access)
1.3 關於radl和rasl
leading picture 包括rasl和radl。
radl(random access decodable leading):在隨機接入點後,可以按順序解碼的影象。不依賴irap前碼流資訊的前置影象。即irap介入,其radl影象可以正確解碼。
rasl(random access skipped leading) 因為包含幀間資訊而不能解碼的影象–會被丟棄。依賴irap前碼流資訊的前置影象。即irap介入,其radl影象不能正確解碼
這是兩種gop間的影象型別。如果解碼器從某個cra隨機接入,則按照顯示順序的後面幾幀資料由於缺少參考幀而不能解碼,這些影象將被解碼器拋棄,即skip leading。而對於沒有從當前cra接入的資料,這些影象可以被正常解碼顯示,因此稱為decodable leading。由於這些資料是有可能捨棄的,因此其他影象(trailing pictures)不能參考這些資料,否則萬一這些影象被捨棄,將會有更多的影象受其影響而不能正常解碼。
以下是一些國外研究者在論壇中對這個問題的一些討論,可以拿來做一下參考:
forum.doom9.org/archive/index.php/t-105129.html
idr:instantaneous decoding refresh
是在h.264中定義的結構。在h.264中,idr幀一定是i幀,而且一定是gop的開始,也是h.264 gop的關鍵幀。但是反過來卻不成立,i幀不一定是idr幀。gop的長度不是定死不變的,在h.264的編碼器中,如果判定場景發生變化,那麼即使不到原定gop的末尾,也會在這個位置加入乙個idr,作為新乙個gop的開始。此時這個gop的長度就被縮小了。
gop:group of pictures
cra:clean random access
irap的分類:bla影象,idr影象,和cra影象。
video parameter sets
sequence parameter sets
picture parameter sets
access unit delimiter
end of sequence
end of bitstream
filler data
supplemental enhancement information
sei_prefix
sei_suffix
有另一位博主的部落格寫的很專業,以供參考:
H265的參考幀理解
1.為什麼要分短時參考幀short term reference和長時參考幀long term reference 參考中所述,因為short term參考幀以frame num做為索引,而frame num是有最大值的,達到最大值後會進行取模,所以短期參考幀不能長期存在於參考列表中,因為一旦fra...
h265裸流分析
型別判斷方式為分隔符之後的第乙個位元組右移一位的值 第一幀 0x40 1 得到0x20,十進位制32,為nal vps 第二幀 0x42 1 得到0x21,十進位制33,為nal sps 第三幀 0x44 1 得到0x22,十進位制34,為nal pps 第四幀 0x26 1 得到0x13,十進位制...
H265碼流分析
h265相比較於h264,除了包含sps pps外,還多包含乙個vps 在nalu header上,h.264的nalu header是乙個位元組,而h.265則是兩個位元組。以0x4001為例,頭資訊可以被解析成4個部分,其中 對比h.264的頭資訊,h.265移除了nal ref idc,此資訊...