范勁松, 范彥斌, 裴繼剛
(佛山科學技術學院,廣東 佛山 528000)
高動態范圍圖像(High Dynamic Rang Image,HDRI)技術是近年來數字圖像領域的重要發展和突破,較之于傳統的把像素色彩分解為3個8位RGB通道來記錄的方式,HDRI圖像采用16位或32位的浮點數據來記錄像素信息,能夠更加準確記錄真實場景的全部色彩范圍值,表現豐富的色彩細節和明暗層次。據目前最新的研究表明,HDRI圖像是數字圖像的未來和明天,將有著十分寬廣的應用領域。
最近國外學者對它的研究已經日漸成熟[1-3]。然而,HDRI的應用研究在國內卻沒有引起足夠的重視,目前的應用主要集中在電腦游戲方面,和作為渲染時的環境、紋理貼圖時的技術方法。人們認為高動態范圍圖像(HDRI)僅僅是眾多格式的數字圖像中的一個選項,很少有人意識到它實際上是今后發展的重要方向。本文力圖對高動態范圍(High Dynamic Rang, HDR)技術的基本理論和一些關鍵技術進行研究和探討。
動態范圍是指一個物理測量量的最大值與最小值之比。對于不同的對象它有不同的含義,就實際環境而言,它指場景中最亮和最暗部分的比值;對于數字相機,它指從飽和值到鏡頭噪波之比;對于顯示器來講,它指從屏幕發出的最大亮度和最小亮度之比。就數字圖像而言,動態范圍d是指一個數字圖像中最大和最小光度(Luminance)的比值,即

這里光度的單位用每平方米上的坎德拉(燭光)表示,即cd/m2。數字圖像的動態范圍大小主要影響圖像所能夠記錄的細節的豐富程度,是衡量圖像質量的重要指標。
人眼能夠觀察的動態范圍是很寬的,夜晚人們能夠看到晴朗星空的光度大約為0.001 cd/m2,而明亮陽光照射下的場景大約有100,000 cd/m2的光度,而太陽自身的光度大約為109cd/m2,,如圖1所示。

圖1 各種情況下的光度值(單位cd/m2)
這樣計算出來的動態范圍將是一個很大的數字,因此常用對數的形式表示動態范圍D,即:D=log10(Lmax/Lmin)。據有關研究數據表明,在瞳孔不放大也不縮小的情況下,人眼所能夠觀測到的動態范圍(即瞬時動態范圍)為3.0~4.2,而在允許瞳孔縮放的情況下,人眼的動態范圍值將達到9。人眼的這種觀察能力是目前流行的圖像表示方法所不能達到的。
一個普通的場景的動態范圍能夠達到10,000:1,在極端的情況下甚至可以達到109:1。目前常用的數字圖像所能夠記錄動態范圍都是有限的,稱之為低動態范圍(LDR)圖像,高動態范圍數字圖像的每個像素可以準確記錄真實場景的全部色彩范圍值。HDR圖像具有的另外一個特性是它存儲的是線性值,即每個像素的值與測量到的實際環境的光度值成正比,稱這種特性為場景相關性。
對于數字圖像來說,如何存儲圖像數據是一個重要的問題。由于HDR圖像比傳統的24位RGB圖像記錄了更寬的色彩范圍,因而需要更加有效的編碼方法來利用存儲空間。圖像的編碼(Encoding)指對單個像素數據的表示,而圖像格式(Format)指如何打包整幅圖像的全部像素[4]。最后圖像的質量主要取決于圖像的編碼而不是圖像格式。因此,在此僅討論圖像的編碼問題。
RGBE編碼方法是美國勞倫斯貝克利國家實驗室推出的基于物理世界的渲染軟件“Radiance”時開發的,文件擴展名為.hdr,.pic。它在HDR攝影和基于圖像的光照渲染中得到廣泛的運用。RGBE使用4個字節來表示一個像素,其中3個8位的字節分別表示RGB分量,1個8位字節表示指數值(如圖2所示),此指數值用作對其它3個線性色彩值的縮放比例系數。

圖2 Radiance的32位RGBE編碼
假設場景相關的色彩為RW、GW、BW,那么RGBE中的RM、GM、BM分量由下式計算

BM這種編碼方法相對于標準的RGB編碼來講在動態范圍和圖像精度上都有大大的提高。
作者通過研究發現,RGBE編碼方法仍然存在一些重要的不足,主要表現在:
(1)它能夠代表的動態范圍過大,高達74級,而從明亮的日光到夜晚星光下巖石的背光面之間的動態范圍才12級,因此會有許多浪費;
(2)此編碼方式中的RGB值僅為正值,不能有效覆蓋全部的可見光范圍。
(3)這種編碼的誤差分布不均勻,在表現飽和的藍色和紫色時尤為明顯。
OpenEXR是專門為好萊塢電影進行特效制作的工業光魔公司的內部格式。OpenEXR的文件擴展名為.exr,采用的是一種與IEEE浮點類型相似的16位半浮點類型。半浮點類型又稱為S5E10(sign,five exponent,ten Mantissa,即符號、5個指數、10個對數的小數部分),如圖3所示。OpenEXR庫同時也支持全32位浮點類型和24位浮點類型。

圖3 OpenEXR的半浮點類型編碼
下式是從編碼的半浮點數值進行轉換的公式,其中:S代表符號位,E代表指數(0~31),M為小數部分。

通過分析,可以得到OpenEXR編碼的這樣一些特點:由于OpenEXR中可以表示正值和負值,因此它涵蓋了全部的可見光范圍并具有10.7的動態范圍值,相對精度達0.1%。雖然動態范圍不是最高,但對于大多數的運用已經足夠了,更加重要的是,OpenEXR格式被目前許多高端的圖形卡所支持,相信它的應用將十分廣泛。
LogLuvTIFF編碼的初衷是基于對RGBE編碼進行改進,以獲得一種工業標準的HDR標準。該編碼的思想基礎是基于人類視覺的生理基礎,把圖像數據量化步長值控制在人眼辨別色彩和亮度變化的域限以下,使人眼能夠得到連續光滑過渡的圖像質量。LogLuvTIFF編碼將亮度通道(L)和色度通道(u,v)分開,對亮度采用對數編碼,從而達到理想的結果。這里的u,v是指國際發光照明委員會(CIE,Commission Internationale de L'Eclairage)推出的CIE國際標準顏色系統的坐標值,可以通過一個3×3的矩陣進行CIEXYZ和RGB互算。
LogLuvTIFF編碼有兩種版本:LogLuv24和LogLuv32。LogLuv24編碼把過去慣用的24位色彩表示分為兩個部分:一個10位的對數亮度值和一個14位的CIEuv查表值(如圖4所示)。表示的亮度值L10可用下式計算

式中YW為物理亮度級別,范圍0.00015~15.9。
剩下的14位表示色度值(u,v),可以通過查表方式得到色彩值。這種表達方法可以在滿足肉眼觀察的基礎上達到4.8級的動態范圍。

圖4 LogLuv24(上)和LogLuv32(下)編碼
LogLuv32的基本思想與LogLuv24一樣,只是位數分配的不同,可以記錄更大的范圍和更高的精度。LogLuv32使用16位來記錄亮度信息,兩個8位來記錄CIE的uv值,如圖4所示。亮度的轉換計算見下式

對比目前其它的編碼方式,LogLuvTIFF編碼是目前最適合紀錄HDR圖像的編碼方法,可以這樣說,在人類進化還沒有提高人類的辨色能力之前,這是最適合保存彩色圖像的格式。但是,遺憾地看到,LogLuvTIFF還沒有得到廣泛的應用,部分原因是由于LogLuvTIFF中的色彩信息需要一個3×3的矩陣進行轉換,而人們仍然習慣使用過去常用的RGB色彩空間。
HDR圖像的一個特點是它存儲的像素值是線性的,即每個像素的值與測量到的實際環境的光度值成正比。稱這種特性叫場景相關性(Scene-referred)。而目前流行的LDR圖像都是輸出相關的(Output-referred),它們的色彩空間是相對于一定的輸出設備,而不是對應于所記錄的場景,雖然優點是在顯示這些數據前不需要再作處理,可直接輸出到設備,但缺點是只記錄有限范圍的色彩值。而場景相關的圖像數據則能夠盡可能記錄原始場景的信息。如果要在特定設備上顯示HDR圖像則需要用一些方法來把像素值映射到設備的色彩空間,這種映射方法稱為色調映射(Tone Mapping)。進行色調映射的主要優點是可以為現在的還是將來的設備產生正確的輸出數據,而且,可以對它進行復雜的圖像處理操作而不會影響圖像的質量。
現在的所有顯示、印刷設備只能再現有限的動態范圍,大概為100:1。色調映射算法的主要目的就是在降低圖像數據動態范圍的同時保留原始圖像中明亮部分和陰暗部分的細節,使圖像在一般低動態范圍的顯示設備、印刷設備上再現出更多的細節。色調映射算法是目前圖像處理領域的一大研究熱點。
目前大部分的色調映射算法是將圖像整體的像素亮度值作為參考來進行每一個像素色調映射計算的依據,稱為全局(Globe)色調映射算法[5-6]。全局色調映射把圖像全部像素的強度值平均后作為色調映射中的背景亮度Ib值,可以是算術平均或幾何平均

全局色調映射可以較簡單和快速地把圖像的強度水平和對比范圍按比例縮放到顯示設備的限制范圍里,圖像處理速度較快。但這種算法沒有考慮到人眼在不同亮度背景下的適應特性,簡單地壓縮強度水平勢必會使HDR圖像里的許多原始細節喪失,如圖5(a)所示。
為了更好地解決這個問題,根據Tumblin和Rushmeier在IEEE計算機圖像及應用會議上提出的人類視覺模型的觀點,得到基于視覺模型的局部色調映射算法,最終的目標是使實際的場景與經過色調映射后在顯示設備上再現的HDR圖像達到視覺上的一致和匹配,如圖5(b)所示。

圖5 全局色調映射和局部色調映射結果對比
局部色調映射以像素p空間距離為s范圍內像素的亮度平均值為背景強度

根據視覺閾限與背景強度之間的TVI(Tolerance of Visual Intensity)關系,可以推導出基于限強度關系的色調映射模型。設與場景相對應的某像素亮度值為Is,任意場景背景亮度Ibs下的視覺閾限為?Ibs,則相對比值Njnd為

顯示設備上對應這點的亮度值可由下式計算

其中 ?Ibd為顯示設備視覺閾限,Ibd為顯示設備背景亮度。
由于對有每一個像素都要計算背景像素的強度值,局部色調映射的計算量相對較大,速度慢,但是會得到更加令人滿意的結果,它能夠有效保護高亮部分和陰影部分的細節對比。
高動態范圍圖像技術的研究和發展為數字圖像向高品質、高信息量的形式發展提供了強有力的前進動力。人們高興地看到近年來與HDRI相關的采集、顯示技術得到飛速的發展,我國研發的下一代顯示技術——激光顯示已經和國際水平接近并將在不久的將來得到普及和應用。同時也注意到對于HDR技術的研究在我國還沒有引起足夠的重視。在此,本文僅作為作者在此領域開展的一個初步研究,希望能夠起到拋磚引玉的作用。
目前,HDR技術的應用才剛剛開始,可以預計它今后的推廣應用將是十分廣泛的:
(1)基于物理的渲染 現在高端渲染軟件中的IBR(Image based Rendering)技術就是HDR的一個重要應用。
(2)數字攝影 HDR技術以其超凡的記錄光影細節的能力,無疑會為攝影創作提供廣闊的空間。
(3)數字影院和數字視頻。
(4)基于圖像的虛擬現實 全景圖像數據包含了場景全方位的圖像信息,動態范圍比一般的圖像要大得多,這正好為HDR技術提供了用武之地。
(5)遙測遙感技術 衛星傳回來的圖像包含有許多肉眼可見范圍以外的光譜信息,而HDR寬泛的動態范圍記錄、多光譜記錄和圖像元數據的能力,使之在科學研究上有著許多潛在的應用。
除了上述的應用外,HDR還會應用在圖像編輯、人工視覺模擬、數字合成等領域。
可以確信,作為數字圖像技術未來的HDR技術必將得到有關研究人員的重視,其在各個領域的應用將得到普及和推廣。
[1]Hamish Millar. High dynamic range ("HDR")technology [C]//Proceedings of ACM SIGGRAPH,2006: 698-706.
[2]Kimmo Roimela, Tomi Aarnio. High dynamic range texture compression [C]//Proceedings of ACM SIGGRAPH, 2006: 707-712.
[3]王家亮, 顧耀林. 基于局部適應性的高動態范圍圖像顯示方法[J]. 計算機應用, 2007, 27(4): 989-990.
[4]Ruifeng XU, Sumanta N Pattanaik, Charles E Hughes.High-dynamic-range still-image encoding in JPEG 2000 [J]. IEEE CG and Applications, 2005, 25(6):57-64.
[5]Reinhard E, Stark M, Shirley P. Photographic tone reproduction for digital images [C]//Proceedings of ACM SIGGRAPH 2002. San Antonio, Texas, 2002:267-276.
[6]Ward G. Fast robust image registration for compositing high dynamic range photo graphics from hand-held exposures [J]. Journal of Graphics Tools, 2003, 8(2):17-30.