西昌衛星發射中心 敬文慧 劉雪峰 王立忠 陶俊豪 梅高杰
針對視頻因信道傳輸引起的圖像信息丟失問題,在研究傳統圖像修復技術的基礎上,提出了一種基于限定信源區域的紋理合成錯誤隱藏算法,實驗表明,與傳統的雙線性插值相比,該算法在不增加復雜度的同時,有效提高了修復后視頻的主客觀質量。
早期錯誤隱藏算法主要研究如何實現圖像的平滑過渡,以使丟失塊與其相鄰塊的邊界能夠平滑連接,提出了雙線性差值算法[1];針對雙線性插值易丟失圖像邊緣信息,提出了采用Sobel算子進行邊緣檢測的方法[2];邊界像素邊緣差值最小算法[3]利用相鄰圖像塊的邊界像素點,使修復后的圖形避免出現方塊效應,保留圖像紋理細節;文獻[4-7]所提算法計算復雜度較高,對較大尺度圖像的修復效果有限,且不能用于視頻序列的錯誤隱藏?;诩y理結構的圖像修復技術可用于修復圖像中較大尺寸的缺損。代表性的有基于模板的修復算法[8]、基于碎片的圖像補全算法[9]和基于樣本的圖像修復算法[10]等,后者結合結構傳輸和紋理合成的方法,對較大尺寸的圖像信息丟失情況有很好的修復效果,但缺點是計算復雜度較大。H.265(新一代視頻編碼標準)與H.264相比,最大編碼單元由16×16變為64×64,傳統雙線性插值算法等效果降低,為提高修復后的視頻主客觀質量,本文根據圖像空域相關性原理,提出了基于限定信源區域的紋理合成錯誤隱藏算法。
根據紋理合成的思想,Criminisi等人提出了基于最佳樣本塊的圖像修復算法[10]。此算法主要借鑒了紋理生成的方法,在紋理生成過程中尋找最佳的樣本匹配區域,然后將匹配區域的圖像信息復制至待修復區域即可。
Criminisi算法的核心思想是最佳修復塊的優先級確定問題,他根據圖像自身的信息,確定待修復區域的填充優先級,再根據優先級進行修復。此算法在一定程度上保持了圖像的紋理和結構信息,對較大尺寸的圖像丟失或缺損部分具有較好的修復效果。算法標示圖如圖1所示,其中I代表原始圖像、Ω為待修復區域、δΩ表示Ω的填充前沿;Φ表示原始圖像中最佳匹配樣本的來源區域,滿足I=Ω+Φ的關系;Φp表示中心點為p且位于填充前沿δΩ上的修復塊,它是尺寸為9×9的矩形塊[10]。

圖1 算法標示圖[10]Fig.1 Algorithm marking diagram
在Criminisi等人的算法中,需要先指定待修復的圖像區域和匹配樣本的來源區域,在實際應用中可通過待修復區域的像素值或亮度范圍來與原始圖像區域進行區分。其算法流程為:
步驟1 提取待修復區域Ω的初始邊界δΩ0;
步驟2 循環運行以下步驟直至待修復區域Ω被填充完畢;
步驟2.1 標志填充前沿δΩt,如果則退出循環;
步驟2.2 計算優先級P(p),? p∈δΩt;
步驟2.3 尋找優先級最大的點 P?的窗口模板ψp? ,即
如圖2所示,從上述步驟中可以看出,此算法涉及到兩個關鍵的問題,其一是如何確定最匹配的修復塊并對其進行填充也就是紋理生成(即搜索、匹配和合成)的過程,其二是如何確定修復塊的優先級,也就是哪一塊首先被填充。修復塊優先級的確定主要取決于兩個因素,一個是數據項,一個是置信度項。數據項在圖像邊緣附近處有較大的值。因此在修復時,會優先處理這樣的結構信息,將信息沿等照度線方向向內傳播。置信度項則是待修復塊信息完整程度的直接反映,置信度越高,則信息損失的越少,修復時的可靠性越高,因此有較高的修復優先級。此算法可以有效地修復圖像,但它采用全局搜索的方法來確定最佳匹配樣本塊,時效較低[10]。

圖2 紋理合成錯誤隱藏算法示意圖[10]Fig.2 Schematic diagram of texture synthesis error concealment algorithm
此算法可以有效地修復圖像,但它采用全局搜索的方法來確定最佳匹配樣本塊,算法復雜度較高,不能直接用于H.265的錯誤隱藏,可在限定信源區域的情況下,減小其復雜度。
與傳統視頻編碼標準相比而言,H.265的編碼單元變的更大,由H.264的16×16變為了現在的64×64,若出現編碼塊丟失,丟失的編碼塊內部的像素與相鄰塊像素之間的空域相關性將隨著其與邊界距離的增大而急劇減小,基于空域相關性的雙線性插值錯誤隱藏算法雖然在H.264中取得了較好的效果,但已經很難適用于H.265標準,為解決大尺寸丟失塊的錯誤隱藏問題,必須考慮其他的算法,對于64×64或者更大尺寸的丟失塊而言,基于紋理合成的圖像修復技術能基本滿足要求。對于較大尺寸的圖像信息丟失問題,基于紋理合成的錯誤隱藏算法有著更好的修復效果,其修復后的主、客觀質量遠遠高于傳統的錯誤隱藏算法,但從紋理合成修復算法的基本原理[10]中不難發現,算法在進行圖像修復時,需要搜索整幅圖像中除去待修復區域之外的所有圖像區域,以尋找最佳匹配區域對待修復區域進行修復,因此,算法的計算復雜度將隨著源圖像的分辨率增加而不斷變大;若圖像中存在多個丟失區域,算法將對源圖像進行反復搜索,復雜度將成倍增加。
圖像信息存在較強的空域相關性,圖像修復技術也正是利用了這一特性,但圖像的空域相關性受像素間距離的影響較大,隨著距離增加到一定程度,像素間的相關性將很小甚至沒有,基于此,本文提出了限定信源區域的紋理合成錯誤隱藏算法,將信源區域限定為圖像信息丟失塊(64×64)周圍像素寬度為16×16(實驗得出最佳)的環狀區域,以此減少不必要的搜索,大大降低算法復雜度,并與H.264中的雙線性插值法進行對比,實驗數據如表1所示。

表1 雙線性插值與紋理合成的對比實驗結果Tab.1 Comparative experimental results of bilinear interpolation and texture synthesis
如圖3(a)所示為BasketballDrill基于雙線性插值的修復效果圖,(b)為基于本文算法的修復效果圖,比較發現,基于本文算法的修復效果更好,圖像的紋理得到了更好的修復。

圖3 Basketball Drill基于雙線性插值與紋理合成的修復效果比較圖Fig.3 Comparison of repair effect of Basketball Drill based on bilinear interpolation and texture synthesis
表1的實驗數據表明,對于64×64的丟失塊,若限定其搜索區域為16×16的環狀區域,其限定信源區域后的紋理合成錯誤隱藏算法耗時僅為1.29秒左右,與傳統的雙線性插值錯誤隱藏算法的1.23秒相當,但圖像修復質量從35.20dB提高到了36.70dB,且基于紋理合成的錯誤隱藏算法有利于保存圖像的紋理和細節信息,視覺效果更佳,如圖4、圖5所示為基于本文算法的修復效果圖。

圖4 Blowing-Bubbles修復效果圖Fig.4 Repair effect of Blowing-Bubbles based on texture synthesis

圖5 FourPeople修復效果圖Fig.5 Repair effect of FourPeople based on texture synthesis
本文將基于紋理合成的圖像修復技術應用于H.265的錯誤隱藏算法之中,對計算復雜度過高的問題,提出了基于限定信源區域的紋理合成錯誤隱藏算法,解決了因H.265編碼單元過大導致傳統的基于雙線性插值的錯誤隱藏算法修復效果不佳的問題。與傳統錯誤隱藏算法相比,在算法復雜度相當的情況下,視頻客觀修復質量平均提升約1.5dB,且主觀質量更佳。