《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 可分级视频错误隐藏的研究与工程实现
可分级视频错误隐藏的研究与工程实现
来源:电子技术应用2012年第4期
刘祎楠, 于鸿洋
电子科技大学 电子科学技术研究院, 四川 成都 611731
摘要: 基于JSVM提出多种错误隐藏方案,结合Opensvcdecoder开源项目设计并实现了可以进行错误隐藏的解码播放软件。最终实验结果表明,相比于之前的软件,该设计方案在错误隐藏效果上有明显提升。
中圖分類號: TP37
文獻標識碼: A
文章編號: 0258-7998(2012)04-0120-03
Research of error concealment for SVC and engineering realization
Liu Yi′nan,Yu Hongyang
Research Institute of Electronic Science and Technology, University of Electronic Science and Technology of China, Chengdu 611731, China
Abstract: In this paper, a video replay software is designed and realized using Opensvcdecoder based on the error concealment methods from the JSVM reference software. Experimental results show that, compared with the former version of error concealment in Opensvcdecoder, the new EC mode has a better outcome.
Key words : H.264; scalable video coding; error concealment; Opensvcdecoder; joint scalable video model

    可分級視頻編碼[1]SVC(Scalable Video Coding)是H.264標準的擴展,利用分層結構將時域、空域和質量可分級有機地結合在一起。針對不同的網絡環境與終端提供了一種適應性更廣的視頻序列方案。

    但是由于網絡環境的復雜性與不確定性,在IP網絡以及無線網絡等易錯信道中,往往易造成碼流數據的錯誤與丟失[2]。由于SVC的特殊分層結構,傳統H.264的單層錯誤隱藏技術并不能完全適用。另外相比于之前的AVC編碼,SVC無論是在結構上還是在壓縮方式和自適應性上都有著不小的提升。因此對于SVC錯誤隱藏的相關研究一直是視頻領域的一個熱點。
1 SVC錯誤隱藏方法
    目前SVC的錯誤隱藏方法[3-5]的研究主要基于參考軟件JSVM(Joint Scalable Video Model),分為同層錯誤隱藏和層間錯誤隱藏兩類。
    其中同層錯誤隱藏主要有幀拷貝方法FC(Frame Copy)和B幀時間直接方法TD(Temporal Direct)。
    層間錯誤隱藏主要有基本層跳過方法BLSkip(Base Layer Skip)、重建基本層和可能的上采樣方法RU(Reconstruction Base Layer and Possibly Upsampling)。
1.1  幀拷貝方法FC
    在幀拷貝方法FC中,丟失幀的每一個像素的重建都是從前向參考幀列表的第一幀圖像對應位置復制而來。如果當錯誤隱藏方法支持多環解碼時,則該方法可以同時給基本層和增強層使用,否則只能給當前訪問單元AU(Access Unit)的最高層使用該方法。
1.2 B幀的時間直接方法TD
    B幀的時間直接方法TD如圖1所示,如果當前幀的宏塊或者宏塊分割在解碼時被當成TD模式來進行重建,則它的運動矢量通過相鄰的參考幀進行計算。

    如果當前編碼宏塊或者宏塊分割在后向參考幀上對應位置的宏塊或者宏塊分割(圖1中的參考幀1),使用與當前編碼宏塊或者宏塊分割相同的前向參考幀(圖1中的參考幀0),則參考幀0與參考幀1會被選作當前編碼宏塊或者宏塊分割的參考幀。前向和后向運動矢量mvL0和mvL1會使用POC從mvCol計算出來。在計算出前向和后向運動矢量之后,運動補償MC(Motion Compensation)將從兩個參考幀得到當前宏塊或者宏塊分割方式的隱藏值(殘差信息假設等于0)。
    對于SVC中的基本層和增強層的B幀,該方法可以使用,但是不能直接用于質量增強層。
1.3 基本層跳過方法BLSkip
    在該方法中,如果基本層是幀內預測宏塊,則采用基本層的重建值來對增強層進行重建;如果基本層是幀間預測宏塊,則使用基本層的運動和殘差信息作為增強層的運動和殘差信息,生成增強層重建。如果基本層幀正確接收,則該方法可以用到增強層;如果基本層幀沒有正確接收,則需要使用TD的方法恢復基本層的運動矢量,然后再使用BLSkip生成增強層幀。下面對該方法的具體過程進行討論。


 


3 Opensvcdecoder中錯誤隱藏的設計與實現
3.1 Opensvcdecoder介紹

    Opensvcdecoder(簡稱Opensvc)[8]是一個開源的SVC解碼器軟件庫,該項目在2006年7月啟動,致力于將SVC標準進行工程實用化。根據官方的資料顯示,在解碼速度上相比JSVM自帶的解碼模塊,Opensvc有5~14倍的提升,并且可以跨平臺開發。
    Opensvc自帶有顯示模塊,入口數據為264碼流序列,解碼的同時可以直接進行播放,使用簡易直接媒體層SDL(Simple Direct Media Layer)進行顯示輸出。
3.2 整合JSVM錯誤隱藏方法的Opensvc的設計
  Opensvc中雖然自帶了錯誤檢測與錯誤隱藏模塊,但是由于設計得并不完善,所以實際中對于丟包的情況不能進行很好的處理。基于上一節中對JSVM中三種錯誤隱藏方法的研究和結論,設計了一種opensvc的改進型錯誤隱藏方法,依據判斷基本層是否丟失的情況來選擇合適的算法進行錯誤隱藏。
    (1) 當僅丟失增強層時,使用BLSkip方法進行增強層的隱藏;
    (2) 當增強層和基本層都丟失時,先使用TD的方法對基本層進行恢復,然后使用BLSkip恢復對應的增強層;
  (3) 具體檢測基本層和增強層丟失的方法可以通過統計Nal類型和SliceGap等語法元素實現[4];
  (4) 以步驟(1)、步驟(2)為核心思想進行從JSVM向Opensvc的移植;
  (5) 開發環境為微軟的Visual Studio 2005,JSVM參考版本為9.8,Opensvc版本為src_1.11;
  (6) 整合完成后通過命令行
    >Opensvcdecoder.exe -h264 test.264 -layer 16
直接播放最高層數據進行測試。
3.3 具體實驗結果
    由于opensvc沒有自帶PSNR的比較器,所以只能通過主觀播放效果對比進行評判。為了測試基本層與增強層都有丟包時的恢復情況,這里只選用所有模擬序列中基本層丟包5%、增強層丟包20%的最嚴重的情況來進行對比。
    圖2為Bus序列的恢復結果對比,圖3為Crew序列的恢復結果對比,圖4為Football序列的恢復結果對比。

    實際比較中,圖2、圖3、圖4的左圖與右圖均有不同程度的損失。左圖采用整合型EC后圖像會出現輕微的模糊現象與偶爾的搜索塊不匹配,但是不會出現像右圖那樣明顯的塊效應,說明改進型的EC模式有著較為良好的實際效果。
    本文介紹了目前SVC所采用的幾種錯誤隱藏的方法,并對其中的三種進行了實驗。在實驗結論的基礎上選取了恢復效果最佳的方法,進行向Opensvcdecoder的整合。最后給出了整合后與整合前的實際效果對比截圖,證明了整合JSVM錯誤隱藏方法的Opensvc確實有更佳的錯誤隱藏效果。
參考文獻
[1] SCHWARZ H, MARPE D, WIEGAND T. Overview of the scalable video coding extension of the H.264/AVC standard[J]. IEEE Transactions on Circuits and Systems for VideoTechnology, 2007,17(9):1103-1120.
[2] CHEN Y, XIE K, ZHANG F,et al. Frame loss error concealment for SVC[C]. Journal of Zhejiang University SCIENCE,also in Proc. Packet Video Workshop' 06, 2006:677-683.
[3] BLESTEL M, RAULET M. Open SVC Decoder[DB/OL][2011-04-07].http://sourceforge.net/projects/opensvcde-coder/files/opensvcdecoder/Release%201.11/src_1.11.tar.bz2/down load.
[4] CHEN Y, BOYCE J, XIE K. Frame loss error concealment for SVC[C]. Joint Video Team(JVT),Doc.JVT-Q046, Oct.2005.
[5] 郭宜.可伸縮視頻編碼的差錯控制方法研究[D]. 安徽:中國科學技術大學,2009.
[6] 張學波.基于H.264/AVC SVC的錯誤隱藏技術研究[D]. 北京:北京師范大學,2010.
[7] GUO Y, LI H, WANG Y K. SVC/AVC loss simulator[M]. JVT-Q069. 2005.
[8] VIERON J, WIEN M, SCHWARZ H. Jsvm 11 software[DB/OL].[2007-06-29].http://wftp3.itu.int/av-arch/jvt-site/2007_06_Geneva/JVT-X203.zip

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久久亚洲福利精品午夜| 久久久久久久香蕉| 久久99热精品| 在线不卡日本| 国产精品午夜视频| 国产精品专区在线| 国产亚洲一区二区三区在线播放| 欧美精品久久久| 久久精品亚洲一区| 国产免费一区视频观看免费| 久久久久久国产免费| 久久国产精品久久精品国产| 国模无码视频一区二区三区| 国产精品久久久久久久久电影网 | 亚洲爆乳无码专区| 亚洲中文字幕久久精品无码喷水| 91精品久久久久久久久久另类| 五月天综合婷婷| 欧美综合激情| 久久99精品久久久水蜜桃| 国产精品人成电影在线观看| 亚洲在线视频福利| 麻豆一区二区三区在线观看| 久久riav二区三区| 丝袜亚洲欧美日韩综合| 久久精精品视频| 日韩在线观看你懂的| 亚洲精品乱码久久久久久自慰| 一区二区欧美日韩| 国产系列第一页| 日韩人妻精品无码一区二区三区 | 欧美日韩视频免费| 国产精品福利在线观看| 欧美日本在线视频中文字字幕| 国产精品乱子乱xxxx| 久久久久久久久亚洲| 天天综合五月天| 国产精品欧美在线| 欧美成人中文字幕| 日韩美女在线观看一区| 国产成人精品在线播放|