Post

High Dynamic Range Imaging

High Dynamic Range Imaging

๐Ÿ“ธ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€(Dynamic Range)

์‹ค์ œ ์„ธ๊ณ„๋Š” ๋งค์šฐ ๋„“์€ ๋ฐ๊ธฐ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. ์•„๋ž˜์˜ ํ‘œ์™€ ๊ฐ™์ด ์šฐ๋ฆฌ๊ฐ€ ๋ฐ”๋ผ๋ณด๊ณ  ๋งˆ์ฃผํ•˜๋Š” ์žฅ๋ฉด์€ ์ˆ˜์–ต ๋ฐฐ์— ์ด๋ฅด๋Š” ๋ฐ๊ธฐ ์ฐจ์ด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.

ํ™˜๊ฒฝ์ƒ๋Œ€ ๋ฐ๊ธฐ
์–ด๋‘์šด ๋ฐฉ ๐Ÿ›๏ธ1
๋ฐ์€ ์‚ฌ๋ฌด์‹ค ๐Ÿ’ก1,500
ํ๋ฆฐ ๋‚  ์•ผ์™ธ ๐ŸŒฅ๏ธ25,000
๋ง‘์€ ๋‚  ์•ผ์™ธ โ˜€๏ธ400,000
ํƒœ์–‘์„ ์ง์ ‘ ๋ณผ ๋•Œ ๐ŸŒž2,000,000,000

์ด๋Ÿฌํ•œ ์‹ค์ œ ์„ธ๊ณ„๋Š” ๋งค์šฐ ๋†’์€ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€(Dynamic Range, DR)๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ์šฐ๋ฆฌ๋Š” ๋งํ•œ๋‹ค.
์ด ๋•Œ DR, Dynamic Range๋Š” ๊ฐ€์žฅ ๋ฐ์€ ๋น›๊ณผ ๊ฐ€์žฅ ์–ด๋‘์šด ๋น›์˜ ๋น„์œจ๋กœ ์ •์˜๋˜๋ฉฐ, ์šฐ๋ฆฌ ์„ธ์ƒ์€ ํฐ DR์„ ๊ฐ€์ง„๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ์„ ํ†ตํ•ด ์‚ฌ์ง„ ์ดฌ์˜์„ ํ•  ๋•Œ์—๋Š” ์–ด๋–ค ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š” ๊ฑธ๊นŒ? ๋‹น์—ฐํ•˜๊ฒŒ๋„ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ๋Š” ํ˜„์‹ค ์„ธ๊ณ„๋ณด๋‹ค ํ›จ์”ฌ ์ข์€ ๋ฒ”์œ„์˜ ๋ฐ๊ธฐ๋งŒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ฐ™์€ ์žฅ๋ฉด์„ ์„œ๋กœ ๋‹ค๋ฅธ ์…”ํ„ฐ ์†๋„๋กœ ์ดฌ์˜ํ•˜๋ฉด ์•„๋ž˜๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค.

Desktop View Figure 1: ๋‹ค์–‘ํ•œ Shutter speed์— ์ธก์ • intensity ๋ชจ์‹๋„

  • 1์ดˆ โฑ๏ธ : ์–ด๋‘์šด ์˜์—ญ์€ ์ž˜ ๋ณด์ด์ง€๋งŒ ๋ฐ์€ ์˜์—ญ์€ ํ•˜์–—๊ฒŒ ๋‚ ์•„๊ฐ (clipping)
  • 0.5์ดˆ : ์ค‘๊ฐ„ ์ˆ˜์ค€์˜ ๊ท ํ˜•, ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ผ๋ถ€ ๋ฐ์€ ์˜์—ญ์ด clipping
  • 0.25์ดˆ : ๋ฐ์€ ์˜์—ญ์€ ์ž˜ ํ‘œํ˜„๋˜์ง€๋งŒ ์–ด๋‘์šด ์˜์—ญ์€ ์–ด๋‘ก๊ฒŒ ๋ญ‰๊ฐœ์ง

โžก๏ธ ์ฆ‰, ํ•œ ์žฅ์˜ ์‚ฌ์ง„์œผ๋กœ๋Š” ์ „์ฒด ์žฅ๋ฉด์˜ ๋ฐ๊ธฐ ์ •๋ณด๋ฅผ ์™„์ „ํ•˜๊ฒŒ ๋‹ด์„ ์ˆ˜ ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

โš™๏ธ RAW ์ด๋ฏธ์ง€์™€ ์„ ํ˜•์„ฑ

๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ์˜ RAW ์ด๋ฏธ์ง€๋Š” ์‹ค์ œ ์žฅ๋ฉด์˜ ๋ฐ๊ธฐ์™€ ์„ ํ˜•์  ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค.

\[\text{ํ”ฝ์…€ ๊ฐ’} \propto \text{์žฅ๋ฉด์˜ ๋ฐ๊ธฐ (radiance)}\]

์ด๋Ÿฌํ•œ ์„ ํ˜• ๊ด€๊ณ„๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์˜๋ฏธ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜์ง€๋งŒ, ์•ž์„œ ์‚ดํŽด๋ณธ ๋ฐ”์™€ ๊ฐ™์ด ๋…ธ์ถœ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  • ๋…ธ์ถœ ์‹œ๊ฐ„์ด ๊ธธ๋ฉด ๋ฐ์€ ์˜์—ญ์ด ํฌํ™”(clipping) ๋˜์–ด ์ •๋ณด ์†์‹ค
  • ๋…ธ์ถœ ์‹œ๊ฐ„์ด ์งง์œผ๋ฉด ์–ด๋‘์šด ์˜์—ญ์˜ ์‹ ํ˜ธ๊ฐ€ ๋„ˆ๋ฌด ์•ฝํ•ด ๋””ํ…Œ์ผ ์†์‹ค

๋…ธ์ถœ์„ ์ค„์ด๋ฉด ๋ฐ์€ ์˜์—ญ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์–ด๋‘์šด ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋Š” ์„ผ์„œ์— ๋„๋‹ฌํ•˜๋Š” ๋น›์ด ์ ์–ด ์‹ ํ˜ธ๊ฐ€ ์•ฝํ•˜์ง€๊ฒŒ ๋˜๊ณ , quantization step์— ์˜ํ•ด ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ๋‹จ๊ณ„ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ๊ณ„์กฐ ๊ฐ„๊ฒฉ์ด ์ปค์ง€๋ฉฐ ๋””ํ…Œ์ผ ์†์‹ค์ด ๋ฐœ์ƒํ•œ๋‹ค. ์‚ฌ๋žŒ์˜ ๋ˆˆ๋„ ๋ฐ๊ธฐ์— ๋”ฐ๋ผ ๋ฏผ๊ฐ๋„๊ฐ€ ๋‹ค๋ฅธ๋ฐ, ์–ด๋‘์šด ์˜์—ญ์—์„œ๋Š” ๋ฏผ๊ฐ๋„๊ฐ€ ๋†’๊ณ  ๋ฐ์€ ์˜์—ญ์—์„œ๋Š” ๋ฏผ๊ฐ๋„๊ฐ€ ๋‚ฎ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ๋””ํ…Œ์ผ ์†์‹ค์€ ์‚ฌ๋žŒ์˜ ๋ˆˆ์— ๋” ์‰ฝ๊ฒŒ ์ธ์‹๋œ๋‹ค.

๐Ÿ’ป ๋””์ง€ํ„ธ ์žฅ์น˜์˜ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ vs ์‹ค์ œ ์„ธ๊ณ„

๋‹ค์–‘ํ•œ ๋””์ง€ํ„ธ ๋งค์ฒด ๋ฐ ์žฅ์น˜๋“ค์ด ์ง€์›ํ•˜๋Š” ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์žฅ์น˜/๋งค์ฒด๋Œ€๋žต์ ์ธ DR ๋น„์œจ
์‚ฌ์ง„ ์ธํ™”์ง€ ๐Ÿ–จ๏ธ10:1
์˜ˆ์ˆ ์šฉ ํŽ˜์ธํŠธ ๐ŸŽจ20:1
์Šฌ๋ผ์ด๋“œ ํ•„๋ฆ„ ๐Ÿ“ฝ๏ธ200:1
๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ•„๋ฆ„ ๐Ÿ“ท500:1
LCD ๋””์Šคํ”Œ๋ ˆ์ด ๐Ÿ’ป1,000:1
๋””์ง€ํ„ธ SLR (12bit) ๐Ÿ“ธ2,000:1
์‹ค์ œ ์„ธ๊ณ„ ๐ŸŒž100,000:1 ์ด์ƒ

โžก๏ธ ์„ผ์„œ๋„ ๋””์Šคํ”Œ๋ ˆ์ด๋„ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ฐ๊ธฐ ๋ฒ”์œ„๋ฅผ ๋ชจ๋‘ ๋‹ค๋ฃฐ ์ˆ˜ ์—†์Œ
โžก๏ธ ๊ทธ๋ž˜์„œ HDR (High Dynamic Range) ๊ธฐ์ˆ ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋ฉฐ ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์ด๋ฅผ ๋‹ค๋ฃจ์–ด ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.


๐Ÿงฉ HDR ์ด๋ฏธ์ง€๋ž€?

Desktop View Figure 2: HDR imaging ๋ชจ์‹๋„

๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ๋Š” ํ•˜๋‚˜์˜ ๋…ธ์ถœ๋กœ ๋ชจ๋“  ๋ฐ๊ธฐ ์ •๋ณด๋ฅผ ๋‹ด์„ ์ˆ˜ ์—†์œผ๋ฉฐ,
๊ทธ๋ž˜์„œ Figure 2์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ์žฅ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ์ถœ ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•ด์„œ
๋ฐ์€ ์˜์—ญ๊ณผ ์–ด๋‘์šด ์˜์—ญ ๋ชจ๋‘์˜ ๋””ํ…Œ์ผ์„ ๋‹ด๋Š” HDR ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ ๋‹ค.

์ด๋Ÿฌํ•œ HDR ์ด๋ฏธ์ง€๋Š” ๋‘ ๋‹จ๊ณ„์— ๊ฑธ์ณ ์ƒ์„ฑ๋œ๋‹ค.

๐Ÿ“ท Step 1: Exposure Bracketing (๋‹ค์ค‘ ๋…ธ์ถœ ์ดฌ์˜)

  • ๊ฐ™์€ ์žฅ๋ฉด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ดฌ์˜ํ•˜๋˜, ์…”ํ„ฐ ์†๋„๋งŒ ๋‹ค๋ฅด๊ฒŒ ํ•œ๋‹ค.
  • ์˜ˆ: 1์ดˆ, 0.5์ดˆ, 0.25์ดˆ ๋“ฑ
  • ๊ฐ๊ฐ์˜ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ค๋ฅธ ๋ฐ๊ธฐ ๋ฒ”์œ„์˜ ์ •๋ณด๋ฅผ ๋ณด์กดํ•จ

๐Ÿ”— Step 2: HDR Merging (์ด๋ฏธ์ง€ ๋ณ‘ํ•ฉ)

\[I(x, y) = \operatorname{clip}(t_i \cdot \phi(x, y) + n)\]

๊ธฐํ˜ธ ์„ค๋ช…

  • \(I(x, y)\) : RAW ์ด๋ฏธ์ง€์—์„œ ์œ„์น˜ \((x, y)\)์˜ ํ”ฝ์…€ ๊ฐ’
  • \(t_i\) : ์ด๋ฏธ์ง€์˜ ๋…ธ์ถœ ์‹œ๊ฐ„ (shutter speed)
  • \(\phi(x, y)\) : ์žฅ๋ฉด์˜ ๋ฐฉ์‚ฌํœ˜๋„ (scene radiance)
  • \(n\) : ์„ผ์„œ ๋…ธ์ด์ฆˆ (sensor noise)
  • \(\operatorname{clip}(\cdot)\) : ์„ผ์„œ๊ฐ€ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋กœ ๊ฐ’์„ ์ž๋ฅด๋Š” ์—ฐ์‚ฐ (clipping)
  • \(\hat{\phi}(x, y)\) : ๋…ธ์ถœ ์‹œ๊ฐ„์œผ๋กœ ์ •๊ทœํ™”๋œ ๋ฐฉ์‚ฌํœ˜๋„ ์ถ”์ •๊ฐ’

์ด ์ˆ˜์‹์€ RAW ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •๋˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์žฅ๋ฉด์—์„œ ์œ„์น˜ \((x, y)\)์— ํ•ด๋‹นํ•˜๋Š” ๋ฐฉ์‚ฌํœ˜๋„ \(\phi(x, y)\)๋Š” ๋…ธ์ถœ ์‹œ๊ฐ„ \(t_i\)์— ๋”ฐ๋ผ ๋ˆ„์ ๋˜๋ฉฐ, ์—ฌ๊ธฐ์— ์„ผ์„œ ๋…ธ์ด์ฆˆ \(n\)๊ฐ€ ๋”ํ•ด์ง„๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๊ฒฐ๊ณผ ๊ฐ’์ด ์„ผ์„œ์˜ ํ‘œํ˜„ ๊ฐ€๋Šฅ ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, \(\operatorname{clip}\) ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ํ•ด๋‹น ๊ฐ’์„ ์ œํ•œํ•˜๊ฒŒ ๋œ๋‹ค.

\[\hat{\phi}(x, y) = \frac{I(x, y)}{t_i}\]

์ด ์ˆ˜์‹์€ RAW ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ๋ฐฉ์‚ฌํœ˜๋„๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
๊ฐ ์ด๋ฏธ์ง€๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ์ถœ ์‹œ๊ฐ„ \(t_i\)์œผ๋กœ ์ดฌ์˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ”ฝ์…€ ๊ฐ’์„ ๋…ธ์ถœ ์‹œ๊ฐ„์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ์ •๊ทœํ™”๋œ ๋ฐฉ์‚ฌํœ˜๋„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
์ด ๊ณผ์ •์„ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ์ถœ์˜ ์ด๋ฏธ์ง€๋“ค์„ ๋™์ผํ•œ ์Šค์ผ€์ผ์—์„œ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉฐ, HDR ๋ณ‘ํ•ฉ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

HDR ๋ณ‘ํ•ฉ์€ ๋‹ค์Œ์˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

  1. ๊ฐ ํ”ฝ์…€๋งˆ๋‹ค ์œ ํšจํ•œ ๋ฒ”์œ„์˜ ๊ฐ’์„ ์„ ํƒ (์˜ˆ: \(0.05 < I(x, y) < 0.95\))
  2. ํ”ฝ์…€ ๊ฐ’์„ ๋…ธ์ถœ ์‹œ๊ฐ„์œผ๋กœ ์ •๊ทœํ™” : \(\hat{\phi}(x, y) = \frac{I(x, y)}{t_i}\)
  3. ์—ฌ๋Ÿฌ ๋…ธ์ถœ ์ด๋ฏธ์ง€์—์„œ ์ •๊ทœํ™”๋œ ํ”ฝ์…€ ๊ฐ’๋“ค์„ ํ‰๊ท ํ•˜์—ฌ ์ตœ์ข… HDR ํ”ฝ์…€ ๊ฐ’์„ ์ƒ์„ฑ

โžก๏ธ ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋Š” ์–ด๋‘์šด ์˜์—ญ๊ณผ ๋ฐ์€ ์˜์—ญ ๋ชจ๋‘์˜ ์ •๋ณด๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋„“์€ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€(HDR)๋ฅผ ๊ฐ€์ง„๋‹ค.

๐Ÿงฐ Tone Mapping (ํ†ค ๋งคํ•‘)

๊ทธ๋Ÿฐ๋ฐ HDR ์ด๋ฏธ์ง€๋Š” ๊ทธ๋ƒฅ ๋””์Šคํ”Œ๋ ˆ์ด์— ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์„๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋””์Šคํ”Œ๋ ˆ์ด๋Š” ๋‚ฎ์€ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€๋งŒ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” HDR ์ด๋ฏธ์ง€๋ฅผ ์••์ถ•, tone mapping์„ ํ•ด์„œ ๋ณด์—ฌ์ค˜์•ผ ํ•œ๋‹ค. ์ด์˜ ๋ฐฉ์‹์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ ์‚ดํŽด๋ณด๊ณ ์ž ํ•œ๋‹ค.

๐Ÿ“ ๋ฐฉ๋ฒ• 1: Linear Scaling (์„ ํ˜• ์Šค์ผ€์ผ๋ง)

  • ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•
    \(\text{output} = \frac{\text{input} - \min}{\max - \min} \times 255\)
  • ๋ฐ๊ธฐ ๊ฐ’ ์ „์ฒด๋ฅผ 0~255 ๋ฒ”์œ„๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ์ •๊ทœํ™”

โŒ ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ๋ฐ์€ ์˜์—ญ์ด๋‚˜ ์–ด๋‘์šด ์˜์—ญ์˜ ๋””ํ…Œ์ผ์„ ์žƒ์–ด๋ฒ„๋ฆฐ๋‹ค.

๐Ÿ“ท ๋ฐฉ๋ฒ• 2: Photographic Tone Mapping (์‚ฌ์ง„ ์Šคํƒ€์ผ ํ†ค ๋งคํ•‘)

\(I_{\text{mapped}} = \frac{I}{I + 1}\)

  • ์ „์ฒด ์ด๋ฏธ์ง€์— ๋น„์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด ๋ฐ๊ธฐ ๋ถ„ํฌ๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.
  • ๋ฐ์€ ์˜์—ญ์€ 1์— ์ˆ˜๋ ด (๋” ์ด์ƒ ๋ฐ์•„์ง€์ง€ ์•Š์Œ)
  • ์–ด๋‘์šด ์˜์—ญ์€ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ์œ ์ง€
  • ์‹ค์ œ ์‚ฌ์ง„ ํ•„๋ฆ„์˜ ๋ฐ˜์‘์„ ๋ชจ๋ฐฉ (film response curve)

โžก๏ธ ์‹œ๊ฐ์ ์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฌ์šฐ๋ฉฐ, ์‚ฌ๋žŒ์˜ ์ง€๊ฐ ํŠน์„ฑ์„ ๋ฐ˜์˜

์ด์˜ ์˜ˆ์‹œ๋ฅผ ์•„๋ž˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Desktop View Figure 3: Tone mapping ์˜ˆ์‹œ

๐ŸŽจ RGB ์ฑ„๋„์— ๋™์ผํ•œ ํ†ค ๋งคํ•‘์„ ์ ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ƒ‰์ƒ ์™œ๊ณก

HDR ์ด๋ฏธ์ง€์—์„œ ํ†ค ๋งคํ•‘์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ๊ฐ RGB ์ฑ„๋„์— ๋™์ผํ•œ ๋น„์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๋ฉด ์ƒ‰์ƒ์ด ํƒˆ์ƒ‰๋˜๋Š” (washed out) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ ์ฑ„๋„์— ๋™์ผํ•œ ํ†ค ๋งคํ•‘ ํ•จ์ˆ˜ \(f(\cdot)\)๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

\[R_{\text{mapped}} = f(R), \quad G_{\text{mapped}} = f(G), \quad B_{\text{mapped}} = f(B)\]

ํ•˜์ง€๋งŒ \(R, G, B\) ๊ฐ’์ด ์„œ๋กœ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๋น„์„ ํ˜• ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๋ฉด ์ƒ๋Œ€์ ์ธ ๋น„์œจ์ด ๋‹ฌ๋ผ์ง„๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์›๋ž˜ ์ƒ‰์ƒ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

\[R : G : B = 2 : 1 : 1\]

์ด ๋น„์œจ์€ ์•ฝ๊ฐ„ ๋ถ‰์€์ƒ‰์„ ์˜๋ฏธํ•˜์ง€๋งŒ, ํ†ค ๋งคํ•‘ ํ›„์—๋Š”

\[f(2) : f(1) : f(1) = \frac{2}{3} : \frac{1}{2} : \frac{1}{2} = 1 : 0.75 : 0.75\]

์ด๋ ‡๊ฒŒ RGB์˜ ๋น„์œจ์ด ๊นจ์ง€๊ณ , ์ƒ‰์ƒ์ด ํšŒ์ƒ‰์— ๊ฐ€๊นŒ์šด ์ƒ‰์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋˜๋ฉฐ,
์ด๋ฅผ ์ƒ‰์ƒ ํƒˆ์ƒ‰(washed out) ํ˜„์ƒ์ด๋ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

๐ŸŽฏ ํ•ด๊ฒฐ์ฑ… 1: Intensity-only Tone Mapping

  • ๋จผ์ € ์ด๋ฏธ์ง€๋ฅผ intensity (๋ฐ๊ธฐ)์™€ ์ƒ‰์ƒ ์ •๋ณด(chroma)๋กœ ๋ถ„๋ฆฌ
  • ํ†ค ๋งคํ•‘์€ ์˜ค์ง ๋ฐ๊ธฐ(intensity)์—๋งŒ ์ ์šฉ
  • ์ƒ‰์ƒ์€ ์›๋ž˜์˜ ์ƒ‰ ๋น„์œจ์„ ์œ ์ง€ํ•˜๊ฒŒ ๋˜์–ด ์ƒ‰์ƒ์ด ์œ ์ง€๋œ๋‹ค.
  • ํ•˜์ง€๋งŒ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ๋Š” ๋””ํ…Œ์ผ์ด๋‚˜ ๋Œ€๋น„๊ฐ€ ์•ฝํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿง  ํ•ด๊ฒฐ์ฑ… 2: Low-Frequency Intensity-Only Tone Mapping

๋” ๊ณ ๊ธ‰ ๋ฐฉ๋ฒ•:
์ด๋ฏธ์ง€๋ฅผ ์ €์ฃผํŒŒ(low-frequency) + ๊ณ ์ฃผํŒŒ(high-frequency) ์„ฑ๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๊ณ ,

  • ์ €์ฃผํŒŒ ์„ฑ๋ถ„์—๋งŒ tone mapping ์ ์šฉ
  • ๊ณ ์ฃผํŒŒ ์„ฑ๋ถ„(๋””ํ…Œ์ผ)์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€
  • ์ƒ‰์ƒ ์œ ์ง€ + ๋””ํ…Œ์ผ ๋ณด์กด + ๋Œ€๋น„ ์œ ์ง€
  • ๋ฐ๊ธฐ ์กฐ์ ˆ์€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ, ๋””ํ…Œ์ผ์€ ๋‚ ์นด๋กญ๊ฒŒ

๐Ÿ“Œ ์ˆ˜์‹ ๊ตฌ์กฐ (๊ฐœ๋…์ ์œผ๋กœ):

\[\text{Final Image} = \text{ToneMapped(Low-Freq)} + \text{High-Freq}\]

โš–๏ธ ๋น„๊ต ์˜ˆ์‹œ

๊ธฐ๋ฒ•์ƒ‰์ƒ ์œ ์ง€๋””ํ…Œ์ผ ์œ ์ง€๋‹จ์ 
RGB์— tone mappingโŒโœ…์ƒ‰์ƒ ์†์‹ค
Intensity-only tone mappingโœ…โŒ๋””ํ…Œ์ผ ์†์‹ค
Low-freq tone mappingโœ…โœ…๐ŸŽฏ ํ•˜์ง€๋งŒ โ€œhaloโ€ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

โš ๏ธ Halo Artifact ๋ฌธ์ œ

์ €์ฃผํŒŒ tone mapping์€ ์ด๋ฏธ์ง€ ๊ฒฝ๊ณ„ ๊ทผ์ฒ˜์—์„œ ๋ฐ๊ธฐ ์ฐจ์ด์˜ ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์šด ํ๋ฆผ ํ˜„์ƒ, ์ฆ‰
โ€œhaloโ€ artifcat๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Bilateral filter๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Bilateral filter๋Š” ๊ฒฝ๊ณ„๋Š” ์œ ์ง€ํ•˜๋ฉด์„œ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ํ๋ฆฌ๊ฒŒ ๋งŒ๋“ค๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ halo๋ฅผ ์ค„์ด๋ฉด์„œ ๋””ํ…Œ์ผ๊ณผ ์ƒ‰์ƒ๋„ ์œ ์ง€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿงต HDR & Tone Mapping ํ•ต์‹ฌ ์š”์•ฝ

  • ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ๋Š” ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋„“์€ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€๋ฅผ ๋ชจ๋‘ ๋‹ด๊ธฐ ์–ด๋ ค์›€
  • HDR์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ์ถœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์–ด๋‘์šด ๊ณณ๊ณผ ๋ฐ์€ ๊ณณ ๋ชจ๋‘์˜ ๋””ํ…Œ์ผ์„ ๋ณด์กด
  • Tone Mapping์€ HDR ์ด๋ฏธ์ง€๋ฅผ ์ €๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ ๋””์Šคํ”Œ๋ ˆ์ด์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๊ณผ์ •
  • Tone Mapping์ด ๊ณผ๋„ํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋˜๋ฉด ์ƒ‰์ƒ ์™œ๊ณก, ๋น„ํ˜„์‹ค์  ์™ธ๊ด€์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ
  • ํ•ต์‹ฌ์€ ๋””ํ…Œ์ผ ์œ ์ง€ + ์ƒ‰์ƒ ๋ณด์กด + ์•„ํ‹ฐํŒฉํŠธ ๋ฐฉ์ง€์˜ ๊ท ํ˜•
  • ์ตœ์‹  ์Šค๋งˆํŠธํฐ์—๋Š” ์ž๋™ HDR ๊ธฐ์ˆ ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ณ , ๊ด€๋ จ ๊ธฐ์ˆ ์€ ์—ฌ์ „ํžˆ ํ™œ๋ฐœํžˆ ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ์Œ
This post is licensed under CC BY 4.0 by the author.