一.HDR是個什麼?
實質上,HDR 嚴謹的講,應該叫 HDRI。HDRI 即 High-Dynamic Rangeimage 的縮寫,也就是高動态範圍圖像的意思。在它之前,它還有個前輩叫SDR(标準動态範圍),它的前輩老眼昏花,能夠顯示的亮度範圍比較窄,在實際應用中經常出現顔色不均甚至失真,為了解決這個這個問題,催生了我們今天要講解的 HDR,它相較于 SDR 而言,有着更高的能力顯示更大的亮度範圍(動态範圍)(從最暗到最亮)。話不多說,上圖對比,左邊是HDR,右邊是SDR。
二.為什麼HDR比傳統的顯示效果好?好在哪裡?
我們知道。影響圖像的質量的五個要素為:分辨率、位深度、幀速率、色域和亮度(動态範圍),而 HDR 主要的作用就是在動态範圍上做出了驚人的改進。要想說明白動态範圍改進的這件事,還得上個圖。
如上圖,人眼可見的亮度(動态範圍)差異為10−6至106,在 SDR 中,它的最大的調節範圍隻有103,而在 HDR 上,創新的将其突破至105,整個亮度顯示範圍直接增加了 100 倍,因此,對比于 SDR,HDR 有着更好的顯色範圍,更大程度上的避免了因為動态範圍不足而導緻的圖像失真。
三.HDR的原理
那麼,HDR的原理是什麼呢?
首先,再讀一遍 HDR 的定義:HDR(High Dynamic Range,高動态範圍)是一種圖像後處理技術,是一種表達超過了顯示器所能表現的亮度範圍的圖像映射技術。高動态範圍技術能夠很好地再現現實,産生逼真的效果。通常,顯示器能夠顯示 R、G、B 分量在[0,255]之間的像素值。而對這 256 個不同的亮度級别來說,顯然不能表示自然界中所有的亮度情況。比如,太陽的亮度可能是一個燈管的數千倍,遠遠超出了一台顯示器的亮度表現力。這時,我們可以 将一個寬廣的亮度範圍映射到紙張或屏幕能表示的亮度範圍(類似于照相機的曝光功能)。通過相機的光圈,控制進入感光器的光線數量,感光器将得到的明暗程度經過一定的處理,就可以得到一張比較合規的照片。(相機是一個典型的從高動态範圍映射到低動态範圍的例子)類似地,我們模拟相機的工作原理,就可以在屏幕上顯示高動态範圍的圖像。(而對于人眼或鏡頭,過亮的光線射入時會産生光暈效果,也可以通過其它技術模拟)動态曝光控制和光暈效果結合起來,就構成了一個經典的高動态範圍渲染器
所以我們知道,HDR 渲染的兩個步驟,一是曝光控制,即将高動态範圍的圖像映射到顯示器可以顯示的的範圍内。二是對于高亮模拟出光暈效果。其中,曝光控制是 HDR 渲染的核心環節,光暈效果對表現高亮的像素起了重要的作用。我們将高動态範圍的圖像每一個像素都由浮點分量 R,G,B 分量表示,這樣對于渲染器而言,就變成了一個浮點紋理。然後通過創建光照貼圖,使用OpenGL 的 FBO(幀緩沖對象)将綁定了浮點光照貼圖的場景渲染到一個同屏幕大小一緻的浮點紋理中。然後加上光暈效果。所謂光暈效果,就是抽出場景中色彩比較亮的部分,然後加以模糊,使這些較量的像素擴散到周邊像素中,再把模糊後的圖像疊加在色調映射之後的圖像上。最終經過軟件一系列的操作,生成一張所謂的 HDR 圖片或者是一段視頻。
四.結語
HDR 作為現今的一個通用顯示技術,已經更加的接地氣,配置 HDR 技術的顯示設備價格已經不再是高不可攀。而我們也有充分的理由相信,随着科技的進步,更優于 HDR 的動态範圍的顯示技術也必不再是難于攀登的高峰,在現代科技的加持下,世界,觸手可及。
漲知識啦~動動小手給小編點贊關注一下嘛,嘻嘻~
,