淺談基于IP網(wǎng)絡的H.264關鍵技術及其應用
2. H.264 NAL單元的概念
H.264 NAL單元對編碼數(shù)據(jù)進行打包,NAL單元由1字節(jié)的頭,3個定長的字段和一個字節(jié)數(shù)不定的編碼段組成。
頭標的語法:NALU類型(5bit)、重要性指示位(2bit)、禁止位(1bit)。
NALU類型:1~12由H.264使用,24~31由H.264以外的應用使用。
重要性指示:標志該NAL單元用于重建時的重要性,值越大,越重要。
禁止位:網(wǎng)絡發(fā)現(xiàn)NAL單元有比特錯誤時可設置該比特為1,以便接收方丟掉該單元。
3. 分組打包的規(guī)則
(1)額外開銷要少,使MTU尺寸在100~64k字節(jié)范圍都可以;
(2)不用對分組內(nèi)的數(shù)據(jù)解碼就可以判別該分組的重要性;
(3)載荷規(guī)范應當保證不用解碼就可識別由于其他的比特丟失而造成的分組不可解碼;
(4)支持將NALU分割成多個RTP分組;
(5)支持將多個NALU匯集在一個RTP分組中。
RTP的頭標可以是NALU的頭標,并可以實現(xiàn)以上的打包規(guī)則。
4. 簡單打包
一個RTP分組里放入一個NALU,將NALU(包括同時作為載荷頭標的NALU頭)放入RTP的載荷中,設置RTP頭標值。為了避免IP層對大分組的再一次分割,片分組的大小一般都要小于MTU尺寸。由于包傳送的路徑不同,解碼端要重新對片分組排序,RTP包含的次序信息可以用來解決這一問 題。
5. NALU分割
對于預先已經(jīng)編碼的內(nèi)容,NALU可能大于MTU尺寸的限制。雖然IP層的分割可以使數(shù)據(jù)塊小于64千字節(jié),但無法在應用層實現(xiàn)保護,從而降低了非等重保護方案的效果。由于UDP數(shù)據(jù)包小于64千字節(jié),而且一個片的長度對某些應用場合來說太小,所以應用層打包是RTP打包方案的一部分。
新的討論方案(IETF)應當符合以下特征:
(1)NALU的分塊以按RTP次序號升序傳輸;
(2)能夠標記第一個和最后一個NALU分塊;
(3)可以檢測丟失的分塊。
6. NALU合并
一些NALU如SEI、參數(shù)集等非常小,將它們合并在一起有利于減少頭標開銷。已有兩種集合分組:
(1)單一時間集合分組(STAP),按時間戳進行組合;
(2)多時間集合分組(MTAP),不同時間戳也可以組合。
五、結(jié)束語
本文重點講述了在IP網(wǎng)絡的限制條件下H.264進行錯誤恢復的幾種有力工具,但在不同的IP網(wǎng)絡中要組合使用各種工具才能實現(xiàn)高效率編碼和傳輸。因為目前無線網(wǎng)絡對MTU尺寸和時延的限制,所以錯誤恢復工具可以結(jié)合使用圖像的分割、數(shù)據(jù)的劃分和RTP分組技術,避免使用冗余信息和反饋來提高錯誤恢復性能;另外高效率的FMO編碼模式可以大大提高編碼的抗分組丟失性能。
評論