搭配色調再生的高動態範圍影像編碼
The High Dynamic Range Encoding with Tone Reproduction Algorithm
戴顯權 張蓺英 林思瑤
國立成功大學電機工程所 國立成功大學電通所
[email protected] [email protected] [email protected]
摘要
近年來,由於高動態範圍影像的發 展,影像的品質也隨著動態範圍的提高而 更加精緻,然而這些高動態範圍的影像或 影片卻也在儲存或傳輸上產生了問題。本 文提出了一針對高動態範圍影像的編碼方 式,此種演算法能壓縮高動態範圍的影 像,使之儲存大小為低動態範圍影像的大 小,並且在解碼後的高動態範圍影像經過 色調再生(Tone mapping) [3]成低動態範圍 的影像,與原本未經壓縮的高動態範圍影 像做色調再生所得到的結果非常地相近。
此演算法可以應用在高動態範圍的相 機上,經實驗結果得知,我們不需要儲存 原始的高動態範圍影像,只需儲存壓縮後 的檔案,而在解碼之後的影像,搭配色調 再生演算法所得到的低動態範圍影像的品 質也與原本的相近。
關鍵字:高動態範圍影像、色調再生演算 法、壓縮編碼
Abstract
In recent years, there is tremendous progress in development of high dynamic range (HDR) imaging technology. Images with more dynamic range have higher quality.
However, the raw size of HDR image brings about problems in storage and transmission.
In this paper, we propose a compression scheme for high dynamic range images. Our method compress HDR image into a smaller size such as size of LDR image, the result of tone mapped compressed HDR image is very similar to the original HDR image after tone mapped [3].
Our proposed algorithm can apply in high dynamic range camera. We demonstrate that we do not store raw size of HDR image but store compressed size of HDR image, because that the result of tone mapped compressed HDR image can preserve similar quality like origin ones.
Keywords: High dynamic range、Tone reproduction technique、compression
一、簡介
高 動 態 範 圍 影 像 (High Dynamic Range Image)能夠捕捉如真實場景一般的 影像,因為它能夠大量的保留真實場景中 的亮度、對比度及影像細節資訊。高動態 範圍影像的每一個像素是以三個浮點數來 表示,範圍從 10-5至 1010之間。然而,對 於一般傳統的顯示器所能顯示的動態範圍 通常只有 1:100 或是更小,為了讓一般的
顯示器也能夠呈現高動態範圍的影像,色 調再生技術(Tone reproduction technique) 或 稱 色 調 映 成 技 術 ( Tone Mapping technique)則孕育而生。將高動態範圍影像 壓 縮 至 低 動 態 範 圍 影 像 (Low Dynamic range Image)中。經由色調再生演算法所得 到的低動態範圍影像,不但能在傳統的顯 示器中呈現,並且保留原始高動態範圍影 像中的精細度與高品質。
為了解決傳統數位影像對於細微資訊 失真的問題,1991 年,Ward 提出一個 32-bit/pixelRGBE (Red-Green-Blue-Exponent) 的影像格式,儘可能地儲存真實環境中所 有的資訊[4],Ward 於 1994 年進一步將 RGBE 的影像格式應用於電腦繪圖系統 (Computer Graphics Rendering System)中 [5],除此之外,Ward Larson 於 1998 年亦 提出一 LogLuv 的影像格式來解決細微資 訊失真的問題[6],LogLuv 格式能夠儲存 比 RGBE 格式更多的資訊,並且只需利用 簡單的方式便能將 LogLuv 格式的影像轉 換至 XYZ 或 RGB 色彩空間以做其他的處 理或應用,而 RGBE 格式則需要以較複雜 的方式將影像轉換至 RGB 色彩空間。
很明顯地,運用浮點數來表示的高動 態範圍影像必須花費大量的儲存空間,並 且在影像或影片的傳輸上也會造成極大的 負擔。因此,在高動態範圍影像的儲存上,
通常不會儲存原始的 raw data 影像,而會 採用 RGBE 或是 LogLuv 等格式,以減少 記憶體的需求。這些針對高動態範圍影像 的壓縮格式通常是以無失真壓縮,或是近 乎無失真壓縮來儲存高動態範圍影像。另 一類以失真性的編碼來壓縮高動態範圍的 影像,用更大的壓縮倍率來壓縮高動態範 圍影像,如 Ruifeng Xu 在 2005 年提出了 搭配 JPEG2000 編碼的高動態範圍影像壓 縮的技術 [9],在低位元率時也能有不錯
的影像品質。此外,以前後相容性為考量,
Greg Ward 在 2005 年提出 JPEG-HDR 的格 式 [8],由 JPEG 編碼為延伸,所儲存的格 式能相容於高動態範圍低及低動態範圍影 像。本文所提出的演算法,顧及普遍使用 者無法負荷起高價的高動態範圍顯示器,
而高動態範圍影像通常會經後製色調再生 為低動態範圍影像以便呈現於傳統顯示 器,因此以無失真壓縮來儲存高動態範圍 影像是沒有必要且浪費空間的。我們提出 了一搭配色調再生的高動態範圍影像的失 真壓縮,經壓縮的高動態範圍影像大小約 是傳統儲存影像的大小,並在解碼時經過 色調再生演算法處理,所得到的影像與原 高動態範圍影像直接作色調再生的比較結 果為近乎無失真。
本文的組織架構如下:第二節為與本 文相關文獻的回顧,接下來第三節則將我 們提出的演算法做詳細的說明; 第四節是 針對提出的演算法提出實驗的結果與討 論;最後則是對本文的結論與未來努力的 方向。
二、文獻回顧
色調再生(Tone reproduction)或稱為色 調對應(Tone mapping) [1,2,3,7]主要的目 的是將高動態範圍影像色調對應至低動態 範圍影像,為一影像動態範圍的壓縮方 法。接下來,我們介紹幾種較具代表性的 色調再生演算法。
1994 年,Ward Greg 提出一針對亮度 顯示以對比度為縮尺因子 [7]的方式,以 真 實 世 界 與 顯 示 器 JND(Just noticeable differences)亮度的比例,利用線性縮尺因 子來做色調運作。Ward 的方法保留了真實 世界的對比度而不是亮度值,透過線性縮 尺因子來轉換真實世界的亮度至顯示器
2
上 。 這 個 方 法 中 亮 度 單 位 , 是 以 HVS(Human visual system)為基礎所發展 的一個 JND 為來作為所對應的亮度單位。
2002 年 Reihard 等學者提出了一包含 區 域 頻 率 濾 波 器 的 全 域 色 調 再 生 曲 線 [3],這個技術能夠處理影像中過曝或低曝 光的區塊,並產生出一個良好的顯示層 級。他們利用原始影像中的平均自然對數 明視度值(Log average luminance)唯一關 鍵值,來重建接近真實世界明視度的高動 態 範 圍 值 , 然 後 利 用 依 空 間 均 勻 性 (Spatially uniform)的運算元來壓縮影像中 強烈的明視度值。此外,他們利用曝光與 遮光的技術(Dodging and burning)來保留 影像中細部的資訊。
2004 年 Reihard 與 Kate Devlin[2]利用 電腦圖像中對應數位高動態範圍影像至低 動態範圍影像的程序來模擬出人眼視覺系 統(Human visual system)適應性的改變。以 發生在人眼視覺感受上的生理跡象,明確 地建立出一個容易調適的色調再生技術。
對於大部分的情況來說,都是一個快速且 有效率的演算法,並且提供了直覺性的使 用者參數用來適應性的調整對比度或是強 度等資訊。
2003 年 F.Drago 提出一快速、高品質 的色調再生技術[1]。主要是以亮度的對數 值來做壓縮,並模仿人眼對光線的反應。
因其中偏向次方函式(Bias power function) 能適應性的變換對數的基底,所以能保留 較 多 的 細 節 與 對 比 。 他 利 用 Gamma correction 在程序上的改變,來改進黑暗區 域中的對比度。他的適應性對數對應技術 不但能保留高動態範圍影像中感知上細微 的內容,並且能快速地執行。
然而,色調再生演算法是高動態範圍 影像對應至低動態範圍影像上的壓縮,最 終的目的是保留高動態範圍影像上的細
節、對比、亮度等。影像壓縮的倍率是以 影像的動態範圍為標準,屬於失真壓縮的 一種。以傳統的失真壓縮技術來說,壓縮 的倍率是以影像的大小為標準,也就是不 管影像的內容,其最終的目的不是以保留 影像的細節、對比度、亮度等資訊,而是 以壓縮影像的倍率以及最終還原影像與原 始影像的差異性為標準。以往所發展的失 真壓縮,只限於套用在低動態範圍的影像 上,如 JPEG、JPEG2000…等等,所以近 年來,也發展了許多對於高動態範圍影像 的壓縮技術。以下介紹幾種高動態範圍影 像的編碼。
Ruifeng Xu 在 2005 年提出一種在 JPEG2000 上的高動態範圍影像編碼[9],
由於 JPEG2000 能夠處理影像的動態範圍 最大為 16bit,所以他先將影像使用指數將 動態範圍壓縮到 16bit,再交給 JPEG2000 作編碼。
Greg Ward 在 2005 年提出向後相容的 高動態範圍影像的格式-JPEG-HDR[8],以 JPEG 的格式來做延伸,其概念是將經過 色調再生的高動態範圍影像的低動態範圍 影像儲存在 JPEG 的本體,而在 JPEG 的 標頭檔,則是儲存高動態範圍影像以及其 經過色調再生後的結果兩者之比率值,如 此,只要經過存放在 JPEG 影像本體的低 動態範圍影像與標頭檔的比例值相乘之 後,即可得到高動態範圍影像的結果。
三、演算法
圖 2 為我們所提出的高動態範圍影像 的壓縮及解壓縮架構圖,利用此種壓縮模 式,壓縮前後的 HDR(high dynamic range) 影像的差異性並不是太大,因此,我們將 壓縮的 HDR 影像搭配色調再生所得出來的 LDR(low dynamic range)影像,會與原始
壓縮 HDR 影像壓縮後的 解壓縮
HDR 影像
LDR 影像
HDR 影像 色調再生
LDR 影像 近乎無失真 Memorial.hdr
Size 1.12MB
Size 384KB
PSNR 50.26dB
圖 1. 經壓縮的 HDR 影像解碼與原始 HDR 影像作色調再生的比較
圖 2.搭配色調再生的高動態範圍影像編碼流程圖
HDR 影像做色調再生的結果相近。
如圖 1 所示,壓縮後的 HDR 影像與未壓 縮的 HDR 影像經過色調再生技術處理的 結果比較,其 PSNR 大約是 40 幾個 db 以 上,對於人眼幾乎是近乎無失真的效果。
所以我們在 HDR 影像的儲存上,只要儲 存如 LDR 影像格式的檔案大小,就可以保 留與原圖相同品質的內容。我們所提出的 HDR 影像壓縮演算法分成四個步驟:
1. 對數轉換(logarithm transform) 2. 浮點數與整數的對應
3. SPIHT(Set Partitioning Hierarchical Trees)編碼
4. 色調再生
首先,我們先將 HDR 影像做一次的對數 轉換,對數底數大多數都是 10,在對數轉 換之後我們再作一次均勻量化將浮點數對
應至整數 0-255 的範圍內,也就是一個 byte 大小的範圍。
]) , , log([
] , ' , '
[
r g b
=r g b
]255 ) ' ' /(
) ' '
[( − min max− min ⋅
− =
r r r
r
r
] 255 ) ' ' /(
) ' '
[( − min max− min ⋅
− =
g g g
g
g
] 255 ) ' ' /(
) ' '
[( − min max− min ⋅
− =
b b b
b b
r,g,b 分別為 HDR 原始影像中以 32bit
浮點數表示的三元色; 'r ,
, 分別為 經過對數轉換後的結果,而 , ,及 , , 分別為經過對數
轉換後,整張圖中三元色的各別最小及最 大值,利用這些最大及最小值,我們將 HDR 影像中的浮點數對應至 0-255 的整數
'
g
b''min
r g
'min 'minb
r'max g'max b'max4
範圍,其中r−, , 為經過對應後範圍為 0-255 大小的三元素。並且,我們會保留 三元素個別的最大及最小值,在解碼時便 於我們還原出原始影像的範圍。
−
g
−
b
以上的步驟,我們將三元素的範圍分別地 做壓縮,而不是像 Ward Greg 所提出的 JPEG-HDR[8]單用灰階值來做壓縮,因為 單以灰階值來做編碼,在解碼時會產生飽 和度以及色偏等現象。所以利用三元素個 別地編碼,不但不會產生負值的色彩,並 且保留了原始影像的飽和度及每個色彩的 範圍大小…等資訊。
HDR 影像經過第一及第二個步驟的壓縮 後,範圍為一個 byte 的大小,所以我們可 以套用現有的 LDR 影像的壓縮演算法來 做 編 碼 , 以 往 使 用 的 編 碼 有 JPEG 及 JPEG2000,由於 JPEG 的最大品質(quality 100)的失真度,對於我們的需求(近乎無失 真)來說還是過大,所以這裡所採用的編碼 為 SPIHT , 我 們 將 它 的 位 元 率 控 制 在 8bits/pixel,對於影像的壓縮倍率大約為兩 三倍左右。以一張 memorial.hdr 的影像為 例,經過第一第二個步驟的範圍壓縮後,
影像的大小為 1.12MB,再經 SPIHT 壓縮 後,大小為 384KB,是一般 LDR 影像儲 存的容量,因此,我們只要儲存這 384KB 的大小,在還原後經色調再生,就可以得 到等同於 HDR 影像品質的 LDR 影像。
而在解碼端的部份,首先用 SPIHT 技術來 解碼,然後,我們再使用編碼時所儲存的 最大最小值,來還原出經過對數轉換後影 像的範圍。接著,使用以 10 為底的指數轉 換來還原出 HDR 的影像。
min min
max ' ) '
' ( ) 255 /
(r r r r
r== − ⋅ − +
min min
max ' ) '
' ( ) 255 /
(g g g g
g= = − ⋅ − +
min min
max ' ) '
' ( ) 255 /
(b b b b
b= = − ⋅ − +
]) , , exp([
]
"
,
"
,
"
[
=
=
=
r
=g b b
g r
最後,我們撘配數種如 Reihard [3]、Greg Ward [7]..等色調再生演算法來對解碼後 的影像做色調對應。
四、實驗結果
我們利用 Reihard [3]、Greg Ward [7]、
Erikate [2](Erik Reinhard and Kate Devling) 及 Drago [1]所提出的四種色調再生演算 法來做測試,其中 Reihard [3]演算法所得 到的色調再生結果是最佳的。我們使用四 組 圖 片 來 做 測 試 :memorial 、 dyrham 、 boats、sunset。用 memorial 來作為四組色 調再生演算法的比較,將壓縮後的影像還 原後再做色調再生再與原本未經壓縮的影 像色調再生的影像來做比較。我們用 Reihard 的色調再生演算法來測試四組影 像。以下為四組影像壓縮前後的檔案大小。
sunset
memorial
dyrham
表 1.測試影像各種格式的大小
影像名稱/格式 Raw size RGBE 壓縮後大小
memorial 4.5MB 1.28MB 384KB
dyrham 5.93MB 1.66MB 507KB
boats 5.93MB 1.75MB 507KB
sunset 5.93MB 1.66MB 507KB
圖 3.經壓縮後使用 Reihard 演算法 圖 4.經壓縮後使用 Greg Ward 演算法
圖 5.經壓縮後使用 Erikate 演算法 圖 6.經壓縮後使用 Drago 演算法
6
測試圖片:memorial
raw size=4.5MB,RGBE=1.28MB,經壓縮後 size=384KB 表 2. 搭配四種色調演算法編碼與原始 HDR 影像色調再生的比較 PSNR
(luminance)
PSNR (Red)
PSNR (Green)
PSNR (Blue) Reihard 43.83 41.75 44.65 46.39 Greg Ward 50.56 48.78 50.70 53.35 EriKate 46.16 45.37 46.24 47.03 Drago 50.26 48.51 51.15 51.89
表 3.搭配 Reihard 色調再生所解碼出的影像與原影像作色調再生結果的比較 PSNR
luminance
PSNR Red
PSNR Green
PSNR Blue
壓縮後 大小
memorial 43.83 41.75 44.65 46.39 384KB sunset 48.87 49.97 47.58 49.42 507KB dyrham 41.76 40.76 43.25 41.61 507KB boats 41.98 41.74 43.70 40.95 507KB
五、結論與未來研究方向
本文中,提出了一種搭配色調再生的 高動態範圍影像編碼方法,根據實驗 的結果,經過壓縮的高動態範圍影像 搭配色調再生的結果,會與未經壓縮 的高動態範圍影像的色調再生結果相 似。然而,不同的色調再生演算法所 得到的低動態範圍影像的品質也不 同。由目前的研究得知,Reihard 的演 算法被評估為色調再生演算法中品質 較好的一種;但是以我們的實驗結果 來說,利用這四種色調再生演算法來 作為編碼後影像的色調再生,與未經 壓縮影像色調再生相比較的 PSNR,
效 果 最 好 的 為 Greg 或 Drago , 而 Reihard 的色調再生演算法上的效果 比較不好。原因是 Greg 或 Drago 的色 調再生演算法所保留的細部內容較 少,而 Reihard 演算法色調再生後,所 保留的影像細節或內容較多。未來,
在我們的編碼中,對於高動態範圍的 壓縮,我們可以改進指數及浮點數對
應整數的部份,並針對不同色調再生 演算法的特性來對高動態影像範圍做 壓縮。壓縮的方式若與使用的色調演 算法相關所得出來的編碼效果也會隨 之增加。
就目前發展的趨勢,高動態範圍的 顯示器仍是非常昂貴的,所以使用者 通常在高動態範圍的相機上儲存高動 態範圍影像的原始檔,在經過後處理 後得到色調再生的低動態範圍影像。
因此,我們所提出來的演算法可以應 用在高動態範圍的數位相機中,在相 機擷取高動態範圍影像的同時,即先 做壓縮並且儲存在相機的記憶卡內,
如此我們僅需要儲存低動態範圍影像 大小的檔案,而不需要儲存高動態範 圍影像的原始檔。當這些影像後處理 時,我們只需經過解碼的程序,而後 搭配色調再生技
術,就可以得到一張與原始未經壓縮 的高動態範圍影像作色調再生結果相 近的影像。
[7] Greg Ward, “A Contrast-Based Scalefactor for Luminance Display.” Graphics Gems IV, Edited by Paul Heckbert, Academic Press 1994.
參考文獻
[1] F. Drago, K.Myszkowski, and N.Chiba. “Adaptive Logarithmic Mapping For Displaying High Contrast Scenes.” Eurographics Symposium on Rendering 2003.
[8] Greg Ward, and Maryann Simmons, “JPEG-HDR: A Backwards-Compatible, High Dynamic Range Extension to JPEG.”Proceedings of the Thirteenth Color Imaging Conference, November 2005.
[2] Erik Reinhard and Kate Devlin,“Dynamic Range Reduction Inspired by
Photoreceptor Physiology.”by IEEE Transactions on
Visualization and Computer Graphics, 11(1),Jan/Feb 2005.
[9] Ruifeng Xu, Sumanta N.
Pattanil, and CharlesE.Hughes.
“High-Dynamic-Range Still-Image Encoding in JPEG2000.”IEEE Computer Graphics and Application.
[3] Erik Reihard , M. Stark, P.Shriley, and J. Ferwerda.
“Photographic Tone Reproduction for Digital
Images. ”In Proceedings of ACM SIGGRAPH 2002, Computer Graphics Proceeding, Annual Conference Series. ACM Press / ACM SIGGRAPH,July 2002.
[4] Greg Ward, “Real
Pixels,Graphics GemsII” edited by James Arvo, Academic Press, 1991.
[5] Greg Ward, “The RADIANCE lighting simulation and rendering system”, Computer Graphics (Proceedings of SIGGRAPH 94), ACM, 1994.
[6] Greg Ward Larson, “The LogLuv encoding for Full Gamut, High Dynamic Range Images”, Journal of Graphics Tools, 3(1):15-31 1998.
8