<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談基于IP網(wǎng)絡(luò)的H.264關(guān)鍵技術(shù)及其應(yīng)用

          淺談基于IP網(wǎng)絡(luò)的H.264關(guān)鍵技術(shù)及其應(yīng)用

          作者: 時(shí)間:2013-04-10 來源:網(wǎng)絡(luò) 收藏


          (2)只包含幀內(nèi)宏塊的片有兩種,一種是幀內(nèi)片(Islice),一種是立即刷新片(IDRslice),立即刷新片必存在于立即刷新圖像 (IDRpicture)中。與短期參考圖像相比,立即刷新圖像有更強(qiáng)壯的重同步性能。
            
          在無線環(huán)境下,為了提高幀內(nèi)圖像的重同步性能,要采用率失真優(yōu)化編碼和設(shè)置限制幀內(nèi)預(yù)測標(biāo)記。

          2. 圖像的分割
            
          支持一幅圖像劃分成片,片中宏塊的數(shù)目是任意的。在非FMO模式下,片中的宏塊次序是同光柵掃描順序,F(xiàn)MO模式下比較特殊。片的劃分可以適配不同的MTU尺寸,也可以用來交織分組打包。

          3. 參考圖像選擇
            
          參考圖像數(shù)據(jù)選擇,不論是基于宏塊、基于片,還是基于幀,都是錯(cuò)誤恢復(fù)的有效工具。對于有反饋的系統(tǒng),編碼器獲得傳輸中丟失圖像區(qū)域的信息后,參考圖像可以選擇解碼已經(jīng)正確接收的圖像對應(yīng)的原圖像區(qū)域作參考。在沒有反饋的系統(tǒng)中,將會(huì)使用冗余的編碼來增加錯(cuò)誤恢復(fù)性能。

          4. 數(shù)據(jù)的劃分
            
          通常情況下,一個(gè)宏塊的數(shù)據(jù)是存放在一起而組成片的,數(shù)據(jù)劃分使得一個(gè)片中的宏塊數(shù)據(jù)重新組合,把宏塊語義相關(guān)的數(shù)據(jù)組成一個(gè)劃分,由劃分來組裝片。
              
          中有三種不同的數(shù)據(jù)劃分。
            
          頭信息劃分:包含片中宏塊的類型,量化參數(shù)和運(yùn)動(dòng)矢量,是片中最重要的信息。

          幀內(nèi)信息劃分:包含幀內(nèi)CBPs和幀內(nèi)系數(shù),幀內(nèi)信息可以阻止錯(cuò)誤的蔓延。

          幀間信息劃分:包含幀間CBPs和幀間系數(shù),通常比前兩個(gè)劃分要大得多。
            
          幀內(nèi)信息劃分結(jié)合頭信息解出幀內(nèi)宏塊,幀間信息劃分結(jié)合頭信息解出幀間宏塊。幀間信息劃分的重要性最低,對重同步?jīng)]有貢獻(xiàn)。當(dāng)使用數(shù)據(jù)劃分時(shí),片中的數(shù)據(jù)根據(jù)其類型被保存到不同的緩存,同時(shí)片的大小也要調(diào)整,使得片中最大的劃分小于MTU尺寸。

          解碼端若獲得所有的劃分,就可以完整重構(gòu)片;解碼端若發(fā)現(xiàn)幀內(nèi)信息或幀間信息劃分丟失,可用的頭信息仍然有很好的錯(cuò)誤恢復(fù)性能。這是因?yàn)楹陦K類型和宏塊的運(yùn)動(dòng)矢量含有宏塊的基本特征。

          5. 參數(shù)集的使用
            
          序列的參數(shù)集(SPS)包括了一個(gè)圖像序列的所有信息,圖像的參數(shù)集(PPS)包括了一個(gè)圖像所有片的信息。多個(gè)不同的序列和圖像參數(shù)集經(jīng)排序存放在解碼器。編碼器參考序列參數(shù)集設(shè)置圖像參數(shù)集,依據(jù)每一個(gè)已編碼片的片頭的存儲地址選擇合適的圖像參數(shù)集來使用。對序列的參數(shù)和圖像的參數(shù)進(jìn)行重點(diǎn)保護(hù)才能很好地增強(qiáng)錯(cuò)誤恢復(fù)性能。
            
          在差錯(cuò)信道中使用參數(shù)集的關(guān)鍵是保證參數(shù)集及時(shí)、可靠地到達(dá)解碼端。例如,在實(shí)時(shí)信道中,編碼器用可靠控制協(xié)議及早將他們以帶外傳輸?shù)姆绞桨l(fā)送,使控制協(xié)議能夠在引用新參數(shù)的第一個(gè)片到達(dá)之前把它們發(fā)給解碼器;另外一個(gè)辦法就是使用應(yīng)用層保護(hù),重發(fā)多個(gè)備份文件,確保至少有一個(gè)備份數(shù)據(jù)到達(dá)解碼端;第三個(gè)辦法就是在編解碼器的硬件中固化參數(shù)集設(shè)置。

          6. 靈活的宏塊次序(FMO)
            
          靈活的宏塊次序是H.264的一大特色,通過設(shè)置宏塊次序映射表(MBAmap)來任意地指配宏塊到不同的片組,F(xiàn)MO模式打亂了原宏塊順序,降低了編碼效率,增加了時(shí)延,但增強(qiáng)了抗誤碼性能。FMO模式劃分圖像的模式各種各樣,重要的有棋盤模式、矩形模式等。當(dāng)然FMO模式也可以使一幀中的宏塊順序分割,使得分割后的片的大小小于無線網(wǎng)絡(luò)的MTU尺寸。經(jīng)過FMO模式分割后的圖像數(shù)據(jù)分開進(jìn)行傳輸,以棋盤模式為例,當(dāng)一個(gè)片組的數(shù)據(jù)丟失時(shí)可用另一個(gè)片組的數(shù)據(jù)(包含丟失宏塊的相鄰宏塊信息)進(jìn)行錯(cuò)誤掩蓋。實(shí)驗(yàn)數(shù)據(jù)顯示,當(dāng)丟失率為(視頻會(huì)議應(yīng)用時(shí))10%時(shí),經(jīng)錯(cuò)誤掩蓋后的圖像仍然有很高的質(zhì) 量。

          7. 冗余片方法
            
          前邊提到了當(dāng)使用無反饋的系統(tǒng)時(shí),就不能使用參考幀選擇的方法來進(jìn)行錯(cuò)誤恢復(fù),應(yīng)該在編碼時(shí)增加冗余的片來增強(qiáng)抗誤碼性能。要注意的是這些冗余片的編碼參數(shù)與非冗余片的編碼參數(shù)不同,也就是用一個(gè)模糊的冗余片附加在一個(gè)清晰的片之后。在解碼時(shí)先解清晰的片,如果其可用就丟棄冗余片;否則使用冗余模糊片來重構(gòu)圖像。

          四、H.264中實(shí)時(shí)傳輸協(xié)議(RTP)

          1. RTP載荷規(guī)范
            
          在第二部分已經(jīng)對H.264的網(wǎng)絡(luò)協(xié)議環(huán)境作了闡述,這里要詳細(xì)討論RTP的載荷規(guī)范和抗誤碼性能。RTP通過發(fā)送冗余信息來減少接收端的丟包率,會(huì)增加時(shí)延,與冗余片不同的是它增加的冗余信息是個(gè)別重點(diǎn)信息的備份,適合于應(yīng)用層的非等重保護(hù)。下邊闡述與多媒體傳輸有關(guān)的3個(gè)規(guī)范。

          (1)分組復(fù)制多次重發(fā),發(fā)送端對最重要的比特信息分組進(jìn)行復(fù)制重發(fā),使得保證接收端能至少正確接收到一次,同時(shí)接收端要丟棄已經(jīng)正確接收的分組的多余備份。

          (2)基于分組的前向糾錯(cuò),對被保護(hù)的分組進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果作為冗余信息發(fā)送到接收方。由于時(shí)延,不用于對話型應(yīng)用,可用于流媒體。

          (3)音頻冗余編碼,可保護(hù)包括視頻在內(nèi)的任何數(shù)據(jù)流。每個(gè)分組由頭標(biāo)、載荷以及前一分組的載荷組成,H.264中可與數(shù)據(jù)分割一起使用。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();