二、 影像內插演算法
2.6 實驗比較結果
為了能夠定量地比較不同影像放大方法所做出來的效果,我們一開始執行一般的螢 幕測試程式,以 Pattern Generation 的方式來產生不同解析度下的測試影像,包含了 800×600、1024×768、1280×1024 等解析度的線條影像、文字影像、格線影像、曲線影 像與邊界測試影像等,以作為 Ground Truth 的標準影像,並嘗試將如 800×600 的標準影 像,以不同的內插演算法放大到 1280×1024,再與 1280×1024 的標準影像作差值的分析 比較,然而,此一比較方法實際上卻是行不通的,問題在於由 Pattern Generation 程式在 不同解析度下所產生的影像,如 800×600 與 1280×1024,其兩張影像所含的內容不盡相 同,故當把 800×600 的影像放大到 1280×1024 後,與原有 1280×1024 的標準影像內容相 較,會無法對齊一致,因此我們便無法以這樣的方式來作定量的影像放大誤差分析。舉 例來說,若在 800×600 的標準影像中,原本為 1 個像素寬的線段,放大到 1280×1024 後,
其寬度會變得大於 1 個像素寬,然而,在 1280×1024 的標準影像中,其相對應比較的線 段仍是 1 個像素寬,因此便發生了影像對準(Image Registration)的問題,此一問題在
Pattern Generation 的情況下,(標準影像的產生是由外在的程式所控制),變得難以控 制(圖 2-29)。
(a)
(b)
圖 2-27 以一般業界常用的 Pattern Generator 分別在 SVGA(a)及 SXGA(b)解析度下 產生出的測試圖,線狀圖形之寬度皆為 1 pixel。
圖 2-28 放大實驗測試比較結果流程圖。
由上述說明可知,在作影像放大誤差分析的過程中,如何選擇 Ground Truth 的標準 影像,以及如何處理內插放大影像與標準影像的內容對準(Registration)問題,對於比 較結果是否正確而言,是一個重要而根本的因素。對此,我們提出了如圖 2-所示的比 較流程,對於一張大張的1280×1024之 Ground Truth 影像 I0,先將該圖縮小至 800×600 的小圖,再分別用 Nearest Neighbor、Bi-Linear 以及 Bi-Cubic 放大回1280×1024的大張 影像 I1、I2和 I3,之後再將三張影像與 I0作相減比較,求出影像差值的最大值及平均值 與變異量,其中,關於第一個大張影像縮小的作法,我們是以簡單的 Nearest Neighbor 來進行,單純的對大張影像作重新取樣,丟掉部分的影像資訊而得出小張影像,作為放 大的基準;而關於放大影像與原始標準影像的影像對準問題,我們則是採取了自行撰寫 程式的方式來作控制,也就是無論是以 Nearest Neighbor 作縮小,或是以 Nearest Neighbor、Bi-Linear、Bi-Cubic 作放大,我們都是以如圖 2-22 所示的取樣方式,自行撰 寫程式來對影像的第一點與最末點作對準,因此可以適當的控制影像對準的精確度,使 得之後的誤差分析有一個公平的基準。在這樣的取樣排列之下,我們特別可以看到如圖 2-31、圖 2-33 所示,對於具有邊框的原始影像,其縮小與放大後的影像,邊框都會存 在。
Nearest Neighbor 縮小
1280×1024 I0 800×600 I
Nearest Neighbor 放大 Bi-Linear 放大 Bi-Cubic 放大 1280×1024 I1
1280×1024 I2
1280×1024 I3
圖 2-29 誤差分析之影像取樣排列示意圖
關於影像放大誤差的分析結果如圖 2-31 至圖 2-35、表 2-1 至表 2-4 所示,由數值 上的誤差統計可以看出,對於接近文字模式的測試影像,Nearest Neighbor、Bi-Linear、
Bi-Cubic 的放大誤差都差不多,甚至是 Nearest Neighbor 有可能平均誤差會稍小一些,
這是因為在文字模式中,影像顏色與圖樣的變化較少且較單調,較適合以 Nearest Neighbor 的放大方式來維持原本影像的亮度與單調的特性,但是對於自然影像而言,一 般來說就會呈現出 Bi-Cubic 優於 Bi-Linear 與 Nearest Neighbor 的情況,這也符合一般在 作影像放大時,所預期的情況,因此可以佐證,採用 Bi-Cubic 的核心函數作內插放大,
是一個理想的選擇。
圖 2-30 邊框與文字影像:由原始 1280×1024 標準影像經 Nearest Neighbor 縮小到 640×480 的影像,用來作為後續放大回 1280×1024 的基準。
x0 xN
−1
x xN+1
圖 2-31 將圖 2-30 中 640×480 影像,以 Bi-Cubic 放大回 1280×1024 的局部結果。
表 2-1 以邊框與文字影像作不同演算法之放大誤差統計表。
ΔI Nearest Neighbor Bi-Linear Bi-Cubic
Max 255.000000 255.000000 255.000000
Ave. 2.610062 2.916142 2.857430
Std. 2.175092 3.340302 3.084792
圖 2-32 Master 影像:原始 1280×1024 標準影像經 Nearest
Neighbor 縮小到 800×600 的影像,再放大回 1280×1024。
表 2-2 以 Master 影像作不同演算法之放大誤差統計表。
ΔI Nearest Neighbor Bi-Linear Bi-Cubic
Max 255.000000 255.000000 255.000000
Ave. 17.363450 17.250752 17.278905
Std. 5.297565 5.337443 5.325322
圖 2-33 風景影像:原始 1280×857 標準影像經 Nearest Neighbor 縮小到 800×600 的影像,再放大回 1280×857。
表 2-3 以風景影像作不同演算法之放大誤差統計表。
ΔI Nearest Neighbor Bi-Linear Bi-Cubic
Max 189.666667 137.666667 144.666667
Ave. 3.978078 3.642789 3.483795
Std. 4.761046 4.576241 4.497608
圖 2-34 動物影像:原始 1280×1024 標準影像經 Nearest Neighbor 縮小 到 800×600 的影像,再放大回 1280×1024。
表 2-4 以動物影像作不同演算法之放大誤差統計表。
ΔI Nearest Neighbor Bi-Linear Bi-Cubic
Max 252.000000 252.000000 228.666667
Ave. 2.380312 2.380312 1.945215
Std. 3.772444 3.772444 3.028578
除了以上的比較方法外,為了進一步分析不同區塊於整張影像的特性差異,我們另 外開發了以影像中的 n×n 像素為評估單位的比較方法(如圖 2-26)。除了計算像素間的差 異值大小外,我們將差異小的影像分別以紅色(Nearest Neighbor)、藍色(Bi-Linear)、綠 色(Bi-Cubic)為遮罩後再貼回原影像以方便觀察其差異。我們嘗試了分別以 1×1, 2×2, 8×8, 16×16, 32×32 為影像取樣比較的單位做比較,我們將 8×8 及 16×16 之比較後的結果圖 2-37~圖 2-44,於自然影像得到的結果依然是 Bi-Cubic 優於其餘兩種內插演算法(表 2-5)。
圖 2-35 以部分影像為單位之內插演算法比較方法
圖 2-36 以 8×8 為 window size,分析圖 2-30 以三種演算法放大的結果。
圖 2-37 以 16×16 為 window size,分析圖 2-30 以三種演算法放大的結果。
圖 2-38 以 8×8 為 window size,分析圖 2-32 以三種演算法放大的結果。
圖 2-39 以 16×16 為 window size,分析圖 2-32 以三種演算法放大的結果。
圖 2-40 以 8×8 為 window size,分析圖 2-33 以三種演算法放大的結果。
圖 2-41 以 16×16 為 window size,分析圖 2-33 以三種演算法放大的結果。
圖 2-42 以 16×16 為 window size,分析圖 2-34 以三種演算法放大的結果。
圖 2-43 以 16×16 為 window size,分析圖 2-34 以三種演算法放大的結果。
表 2-5 實驗測試影像之比較表。
Text Text Nearest Neightbor Nearest Neightbor
Landscape (Natural) Landscape2 (Natural)
Bi-Cubic Bi-Cubic
Animal (Natural) Lenna (Natural)
Bi-Cubic Bi-Cubic
最後,我們大約可以歸納出,以上所介紹的內插補點函數核心在其處理後影像之效 果差異及在軟體及硬體實作上的考量(表 2-6)。
表 2-6 內插補點函數核心在其處理後影像之效果差異及在軟體及硬體實作上的考量。
內插核心函數 處理後影像效果 軟體實作之複雜度 軟體實作之暫存記
憶體(cost)考量
Sinc Ideal/Ringing 高
與輸入影像之解析 度有關 Nearest Neighbor Blocking Effect 最低 2 條 line buffer
Linear/Bi-Linear Smooth 低 3 條 line buffer Cubic/Bi-Cubic Clear 中 5 條 line buffer