淺談基于IP網絡的H.264關鍵技術及其應用
(2)只包含幀內宏塊的片有兩種,一種是幀內片(Islice),一種是立即刷新片(IDRslice),立即刷新片必存在于立即刷新圖像 (IDRpicture)中。與短期參考圖像相比,立即刷新圖像有更強壯的重同步性能。
在無線IP網絡環境下,為了提高幀內圖像的重同步性能,要采用率失真優化編碼和設置限制幀內預測標記。
2. 圖像的分割
H.264支持一幅圖像劃分成片,片中宏塊的數目是任意的。在非FMO模式下,片中的宏塊次序是同光柵掃描順序,FMO模式下比較特殊。片的劃分可以適配不同的MTU尺寸,也可以用來交織分組打包。
3. 參考圖像選擇
參考圖像數據選擇,不論是基于宏塊、基于片,還是基于幀,都是錯誤恢復的有效工具。對于有反饋的系統,編碼器獲得傳輸中丟失圖像區域的信息后,參考圖像可以選擇解碼已經正確接收的圖像對應的原圖像區域作參考。在沒有反饋的系統中,將會使用冗余的編碼來增加錯誤恢復性能。
4. 數據的劃分
通常情況下,一個宏塊的數據是存放在一起而組成片的,數據劃分使得一個片中的宏塊數據重新組合,把宏塊語義相關的數據組成一個劃分,由劃分來組裝片。
在H.264中有三種不同的數據劃分。
頭信息劃分:包含片中宏塊的類型,量化參數和運動矢量,是片中最重要的信息。
幀內信息劃分:包含幀內CBPs和幀內系數,幀內信息可以阻止錯誤的蔓延。
幀間信息劃分:包含幀間CBPs和幀間系數,通常比前兩個劃分要大得多。
幀內信息劃分結合頭信息解出幀內宏塊,幀間信息劃分結合頭信息解出幀間宏塊。幀間信息劃分的重要性最低,對重同步沒有貢獻。當使用數據劃分時,片中的數據根據其類型被保存到不同的緩存,同時片的大小也要調整,使得片中最大的劃分小于MTU尺寸。
解碼端若獲得所有的劃分,就可以完整重構片;解碼端若發現幀內信息或幀間信息劃分丟失,可用的頭信息仍然有很好的錯誤恢復性能。這是因為宏塊類型和宏塊的運動矢量含有宏塊的基本特征。
5. 參數集的使用
序列的參數集(SPS)包括了一個圖像序列的所有信息,圖像的參數集(PPS)包括了一個圖像所有片的信息。多個不同的序列和圖像參數集經排序存放在解碼器。編碼器參考序列參數集設置圖像參數集,依據每一個已編碼片的片頭的存儲地址選擇合適的圖像參數集來使用。對序列的參數和圖像的參數進行重點保護才能很好地增強H.264錯誤恢復性能。
在差錯信道中使用參數集的關鍵是保證參數集及時、可靠地到達解碼端。例如,在實時信道中,編碼器用可靠控制協議及早將他們以帶外傳輸的方式發送,使控制協議能夠在引用新參數的第一個片到達之前把它們發給解碼器;另外一個辦法就是使用應用層保護,重發多個備份文件,確保至少有一個備份數據到達解碼端;第三個辦法就是在編解碼器的硬件中固化參數集設置。
6. 靈活的宏塊次序(FMO)
靈活的宏塊次序是H.264的一大特色,通過設置宏塊次序映射表(MBAmap)來任意地指配宏塊到不同的片組,FMO模式打亂了原宏塊順序,降低了編碼效率,增加了時延,但增強了抗誤碼性能。FMO模式劃分圖像的模式各種各樣,重要的有棋盤模式、矩形模式等。當然FMO模式也可以使一幀中的宏塊順序分割,使得分割后的片的大小小于無線網絡的MTU尺寸。經過FMO模式分割后的圖像數據分開進行傳輸,以棋盤模式為例,當一個片組的數據丟失時可用另一個片組的數據(包含丟失宏塊的相鄰宏塊信息)進行錯誤掩蓋。實驗數據顯示,當丟失率為(視頻會議應用時)10%時,經錯誤掩蓋后的圖像仍然有很高的質 量。
7. 冗余片方法
前邊提到了當使用無反饋的系統時,就不能使用參考幀選擇的方法來進行錯誤恢復,應該在編碼時增加冗余的片來增強抗誤碼性能。要注意的是這些冗余片的編碼參數與非冗余片的編碼參數不同,也就是用一個模糊的冗余片附加在一個清晰的片之后。在解碼時先解清晰的片,如果其可用就丟棄冗余片;否則使用冗余模糊片來重構圖像。
四、H.264中實時傳輸協議(RTP)
1. RTP載荷規范
在第二部分已經對H.264的網絡協議環境作了闡述,這里要詳細討論RTP的載荷規范和抗誤碼性能。RTP通過發送冗余信息來減少接收端的丟包率,會增加時延,與冗余片不同的是它增加的冗余信息是個別重點信息的備份,適合于應用層的非等重保護。下邊闡述與多媒體傳輸有關的3個規范。
(1)分組復制多次重發,發送端對最重要的比特信息分組進行復制重發,使得保證接收端能至少正確接收到一次,同時接收端要丟棄已經正確接收的分組的多余備份。
(2)基于分組的前向糾錯,對被保護的分組進行異或運算,將運算結果作為冗余信息發送到接收方。由于時延,不用于對話型應用,可用于流媒體。
(3)音頻冗余編碼,可保護包括視頻在內的任何數據流。每個分組由頭標、載荷以及前一分組的載荷組成,H.264中可與數據分割一起使用。
評論