第二章、 相關研究
2.3 分層架構之編碼方式 (Layer based)
由於在視窗影像中,會有完全不同特性的影像疊加在一起,例如文字疊加於自然影像 上,因此為了使相同特性的影像能一起壓縮,因此有了分層架構的編碼方式,其架構為Mixed Raster Content (MRC)影像分層的模型,[10][11]說明了MRC的基礎架構,MRC的方法主要 為利用多層影像並搭配遮罩的方式來表示原始的單一影像,基本的架構可將原始影像切割 成三層圖層,分別為前景、背景及二元遮罩層,利用切割演算法分層,之後再對各圖層採 用不同的壓縮演算法,如圖10所示。
二元遮罩層的功能為分別表示原始影像中前景及背景的部分,通常使用二元影像編碼 技術壓縮,如JBIG和JBIG2。而前景和背景圖層部分,則使用JPEG壓縮演算法進行前景及 背景的編碼,另外[12][13]則在MRC的架構修改了其前景及背景圖層的編碼演算法,[12]採 用IW44的演算法,[13]則使用了H.264中的Intra coding。另外[11]中有對MRC的架構做更詳 細的介紹,並提出在MRC架構下相較於傳統影像編碼的好處。在切割分層的演算法中,[14]
提出了一種利用閥值做二元切割的最佳演算法,此演算法為比較閥值和像素間大小作為判 斷分割的依據,例如比閥值大為前景,閥值小為背景,而閥值則是使用Lagrange cost function 去比較不同閥值的切割中何者為最佳值,以便做最佳切割。
2.3.1 填補空缺之演算法 (Hole filling)
由於分層後其前景及背景圖層分別會產生影像空缺的現象,這現象我們稱之為洞,另 外因為洞的關係,所以無法使用 DCT 進行轉換,因此在編碼前會先將洞填滿,以下將介紹 填補空缺之演算法,[12][15][16]分別提出了使用遞迴方式填補洞的演算法
參考鄰近資料的填補方法
[15]由於鄰近的像素間通常包含定的關聯性,因此將參考空缺鄰近的資料,填補空缺的 資料,如圖 11 所示 U 為存在的像素,X 為空缺的像素,當 X 附近有 U 的像素時(如藍色 X),則將以 X 為中心,其上、下、左、右四個存在的 U 取平均作為填補 X 的數值,X 附 近若全無 U 則跳過等待一下遞迴,遞迴執行直到所有 X 填補完成。
7
圖 11:參考鄰近資料的填補方法
圖 12:POCS 概念圖
利用 Projections onto Convex Sets (POCS)的填補演算法
此方法[12]的目標為填補完的區塊,進行 DCT 轉換後其部分的 AC 值為 0,並採用 POCS 的方法求解,此演算法為設定兩個區塊集合如圖 12 所示,第一個集合為區塊內的空缺(灰 色部分)任意填補所生成之區塊集合,而第二個集合為區塊經過 DCT 轉換後特定 AC 值(灰 色部分)為 0 之區塊集合,此時由於此兩個集合均為凸集,當此兩集合存在交集時,根據 POCS 的概念,可重複投影至這兩集合,並且最後會收斂且投影至交集部分。
2.3.2 Matching pursuit直接計算DCT係數
[2]所提出的方法,並不採取補洞的方式,而是使用 Matching pursuit 的演算法直接求出 在頻率域上的值,以下將介紹 Matching pursuit 的編碼方式。這是一種類似 DCT 的轉換法,
而 DCT 的基本概念如式子( 1 )所示為使用一組 n 維的 DCT 基底(𝑏⃑⃑⃑ ⋯ 𝑏1 ⃑⃑⃑⃑ ),並計算出各基底𝑛 所對應的係數(𝑐1⋯ 𝑐𝑛)來表示此區塊內的 n 個像素(𝑃⃑ ),然而由於特殊平面並不是完整 n 維 的區塊,但是又不改變 DCT 基底在空間域空間中相對應的位置情況底下,因此便將基底對 應的像素空缺部分設為0,再計算其係數,如式子( 2 )所示假設𝑝2位置的像素為空,則將所 對應的𝑏12⋯ 𝑏𝑛2設為0再求其係數(𝑐1⋯ 𝑐𝑛),然而由於特殊平面的像素個數維度小於 n,卻
8
有 n 個基底求解,因此這是一個 over complete function 會有無限多組解,而為了能儘量達 到能量集中的效果,所以將採用 Matching pursuit 的演算法求解。
𝑝 = 𝑐1𝑏⃑⃑⃑ + 𝑐1 2𝑏⃑⃑⃑⃑ + 𝑐2 3𝑏⃑⃑⃑⃑ + ⋯ + 𝑐3 𝑛𝑏⃑⃑⃑⃑ 𝑛 ( 1 )
Matching pursuit 是一種利用數值方法來求解的演算法,其可以從 over complete function 的解集合中求出一組解,主要概念為將原始向量不斷投影至最佳的基底上並求出其對應的 係數,直到收斂,而基底可從 over complete dictionary 中選擇,而在目前的例子中,令式子 ( 2 )中的( 𝑏11 0 𝑏13 … 𝑏1𝑛)𝑇 = 𝑏⃑⃑⃑ 及( 𝑝1′ 1 0 𝑝3 … 𝑝𝑛)𝑇 = 𝑝⃑⃑⃑ ,則此 over complete ′
上述說明了 Matching pursuit 的基本概念,而其演算法採用遞迴的方式進行,如圖 13 所示,首先𝑝⃑⃑⃑ 為原始的向量並設定為𝑟′ ⃑⃑⃑ ,將其投影至𝐷中最佳的基底𝑏1 ⃑⃑⃑⃑⃑⃑ ,其中最佳的基底𝑛1′ 是和𝑟⃑⃑⃑ 做內積,其內積絕對值最大的基底,再算出其對應的係數𝑎1 1,之後再將𝑟⃑⃑⃑ 扣除投影在1 基底𝑏⃑⃑⃑⃑⃑ 上的向量得到𝑟𝑡1′ ⃑⃑⃑ ,在重複以上動作,對𝑟2 ⃑⃑⃑ 尋找最佳的基底𝑏2 ⃑⃑⃑⃑⃑⃑ 及其對應係數𝑎𝑛2′ 2,並扣 除𝑟⃑⃑⃑ 投影在基底𝑏2 ⃑⃑⃑⃑⃑⃑ 的向量得到𝑟𝑛2′ ⃑⃑⃑ ,不斷重複,直到𝑟3 ⃑⃑ 的長度小於一個閥值則演算法結束,𝑡 如此即可求得每次 t 投影所對應的最佳 n 的基底𝑏⃑⃑⃑⃑⃑⃑⃑ 及其對應係數𝑎𝑛𝑡′ 𝑡。
9
圖 13:Matching pursuit 演算法
圖 14:將二維視窗影像區塊掃描成一維陣列
圖 15:字典編碼概念