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