2P by GN⁺ 10일전 | ★ favorite | 댓글 1개
  • 디지털 카메라의 RAW 센서 데이터가 어떤 형태로 기록되는지를 단계별로 보여주는 실험
  • 초기 데이터는 14비트 ADC 출력을 0–255 RGB로 단순 매핑한 회색조 형태로, 실제 밝기 범위가 제한됨
  • Bayer 필터를 적용해 각 픽셀의 색 필터 정보를 반영하고, 인접 픽셀 평균을 통해 디모자이싱(demosaicing) 수행
  • 감마 보정화이트 밸런스 조정을 거치며, 인간 시각과 디스플레이의 비선형 밝기 인식 차이를 보정
  • 최종적으로 카메라 내부 JPEG 처리와 비교해, “보정되지 않은 사진”이라는 개념이 사실상 존재하지 않음을 보여줌

RAW 센서 데이터의 초기 상태

  • 카메라 센서가 기록한 원본 데이터는 14비트 ADC 값으로 구성되며, 이를 0–255 RGB로 단순 변환하면 회색조 이미지 형태
    • 실제 ADC 값의 범위는 약 2110~13600으로, 이 구간을 흑백 기준으로 설정해 밝기 재조정
  • 이 단계의 이미지는 색 정보가 거의 없으며, 센서가 빛의 세기만 측정하기 때문임

색상 정보 복원 과정

  • 컬러 카메라 센서는 Bayer 필터 배열을 통해 각 픽셀마다 빨강·초록·파랑 중 하나의 색만 감지
  • 각 픽셀의 색 필터에 맞춰 색을 입히면 색감이 생기지만, 한 픽셀당 RGB 중 하나만 존재
  • 인접 픽셀의 값을 평균해 디모자이싱을 수행하면 전체 이미지에 색이 복원됨

밝기와 감마 보정

  • 결과 이미지가 어둡게 보이는 이유는 모니터의 동적 범위 한계인간 시각의 비선형 밝기 인식 때문
  • 선형 데이터를 그대로 표시하면 어둡게 보이므로, 비선형 감마 곡선을 적용해 어두운 영역을 밝힘
  • 그러나 이 과정에서 녹색 채널 과다 현상이 발생, 이는 센서의 녹색 민감도와 Bayer 배열의 녹색 비중 때문

화이트 밸런스 및 색상 보정

  • 각 색 채널을 일정 비율로 조정해 화이트 밸런스를 맞춤
  • 비선형 변환 이전 단계로 돌아가 녹색 채널을 낮춘 뒤 다시 감마 곡선을 적용
  • 이 과정을 거쳐 자연스러운 색감의 사진 완성

카메라 JPEG 처리와의 비교

  • 동일한 RAW 데이터로부터 카메라가 생성한 내장 JPEG 이미지는 이미 여러 수학적 보정 과정을 거친 결과물
  • 대비나 화이트 밸런스를 편집 소프트웨어에서 조정하는 것은 카메라 내부 처리와 본질적으로 동일한 연산
  • “편집되지 않은 사진”이라는 개념은 실제로 존재하지 않으며, 모든 사진은 수학적 처리의 결과물
  • 인간의 시각을 완벽히 재현하기 어렵고, 디스플레이 한계로 인해 수동 보정의 필요성이 항상 존재함
Hacker News 의견들
  • 각 픽셀에 같은 전달 함수를 적용하는 게 ‘처리’로 봐야 하는지 고민됨
    필름 시절엔 ISO 400 흑백 필름을 1600으로 밀어 쓰면 거친 입자가 생겼지만, 그건 사진 전체에 균일한 ‘노이즈’였음
    요즘은 노이즈 제거가 놀라울 정도로 발전했지만, 그 과정에서 이미지 자체가 변형되는 경우가 있음
    예를 들어, 내 IP 카메라는 자전거를 타고 들어올 때 바퀴 일부가 사라지기도 함. 알고리즘이 아스팔트 질감을 노이즈로 착각해 지워버린 것임
    스마트폰이나 디지털 카메라도 확대하거나 저조도에서 보면 얼굴이 ‘그림처럼’ 보임
    나는 차라리 정직한 노이즈나, ‘없음’부터 현재 기본값까지 조절 가능한 노이즈 제거 알고리즘을 원함

  • ‘이미지’의 추상화 층을 벗겨내는 글을 좋아함. 결국 현대 사진은 신호 처리에 마케팅이 더해진 것일 뿐임
    Bayer 패턴이 RGGB(초록 50%)인 이유는 색 균형뿐 아니라 공간 해상도 때문임
    인간의 눈은 초록빛에 가장 민감하므로, 초록 채널이 밝기(세부 정보)의 대부분을 담당함
    고급 디모자이킹 알고리즘은 초록 채널로 고해상도 휘도 맵을 만든 뒤, 빨강·파랑을 색차 레이어로 보간함
    이런 원리 덕분에 4:2:0 크로마 서브샘플링 같은 영상 압축도 가능함
    더 깊이 알고 싶다면 dcraw나 libraw의 소스 코드를 보는 걸 추천함. 각 센서 제조사별로 ‘raw 전압’을 해석하기 위한 수많은 예외 처리가 있음

    • 고전 포맷인 PPM에서 PGM으로 변환할 때 사용하는 ppmtopgm양자화 공식을 보면 초록의 비중이 거의 60%임
      g = .299r + .587g + .114b
      이 비율이 회색조 이미지의 밝기를 결정함
      그리고 거기에 인용된 시 구절이 인상적이었음 — 색이 사라진 세상을 묘사하며, 결국 우리가 ‘옳다’고 정하는 게 단지 양자화 오차일 뿐이라는 점을 풍자함
    • Amazon Kindle 광고팀에서 일할 때, RGB를 단순 평균으로 회색조로 바꾼 탓에 6개월간 엉망인 광고 이미지가 노출된 적이 있었음
      FFmpeg 호출에 RGB→휘도 변환 플래그 하나만 추가했으면 해결됐을 일임
    • 사실 필름 사진도 신호 처리의 다른 형태였음. 우리가 인식할 수 있는 ‘가공되지 않은 데이터’란 존재하지 않음
    • Bayer 패턴이 초록에 두 배의 면적을 할당하는 게 조금 억울하게 느껴짐
      물론 인간의 눈이 초록에 민감하다는 이유지만, 그래도 뭔가 불합리하게 느껴짐 (⩺_⩹)
    • 사람들이 사진을 “편집했냐, 원본이냐” 묻는 게 싫음
      카메라가 만들어내는 JPEG 자체가 이미 강하게 처리된 결과물
      곡선, 매핑, 보정값을 다르게 적용해 다른 JPEG를 만드는 건 ‘조작’이 아니라 단지 다른 해석일 뿐임
  • 카메라 센서 관련 일을 하는데, 이 글은 신입 교육용으로 아주 좋다고 생각함
    RAW 데이터에서 시작해 익숙한 출력으로 이어지는 과정을 보여주면 이해가 빠름

  • “then” 대신 “than”을 써야 한다는 사소한 오타 지적임

  • 학부 때 원격 탐사(remote sensing) 를 공부하면서 센서와 신호 처리를 제대로 이해하게 됨
    내가 보는 건 ‘진실’이 아니라 데이터의 한 부분적 뷰(view)
    인간의 눈, 고양이의 눈, 카메라가 각각 다른 데이터 하위집합을 수집하고 표현함
    공간과 시간을 신호의 추가 차원으로 보면 더 흥미로움
    결국 우리는 모두 우주의 일부를 관측하는 센서 시스템일 뿐이라는 생각이 듦

  • 디지털 사진에서 다이내믹 레인지 압축디베이어링은 필수지만,
    반대로 AI가 사물을 인식해 ‘이래야 한다’는 식으로 이미지를 환상적으로 재구성하는 건 다른 문제임
    제조사들이 이 방향으로 밀고 있어, 증거 사진의 신뢰성 같은 문제를 야기함

    • 사진에는 ‘진짜’와 ‘가짜’가 없다고 생각함
      모든 이미지는 데이터의 해석이며, 수많은 선택의 결과임
      굳이 구분하자면 전역 편집(global)국소 편집(local) 으로 나눌 수 있고, 국소 편집이 더 ‘가짜’에 가깝다고 볼 수 있음
      하지만 결국 핵심은 의도(intent)
      속이려는 의도가 있다면, 카메라에서 바로 나온 사진이라도 ‘가짜’가 될 수 있음
      대부분의 사람들은 필터 적용을 ‘가짜’로 여기지만, 사실 모든 사진엔 필터가 적용되어 있음
      그 과정 자체를 ‘가짜’라 부르는 건 무의미함
  • 영화 Tim’s Vermeer의 인용이 떠오름
    “예술과 기술은 분리되어야 한다는 현대적 생각은 잘못된 것”이라는 말처럼,
    예술과 기술의 융합이 바로 황금기의 특징이었음
    John Lind의 The Science of Photography
    Bob Atkins의 센서 해설도 추천함.
    특히 픽셀 웰 크기가 왜 중요한지 설명한 부분이 인상 깊었음

  • 선형 데이터를 그대로 표시하면 어둡게 보이는 건 모니터의 한계 때문이라고 생각함
    비트 깊이가 충분히 크다면 감마 보정 없이 선형광으로 표시할 수도 있지 않을까 함

    • 아니, 문제는 곡선의 형태
      인간의 광도 인식은 선형이 아니므로, 어느 단계에서든 비선형화가 필요함
      계산은 16비트 이상 선형 색공간에서 하고, 표시 직전에 감마를 적용하는 게 이상적임
      과거에는 비선형 RGB로 블렌딩을 해서 어두운 밴딩 현상이 생기곤 했음
    • 감마 보정은 모니터 때문만이 아니라, 하이라이트·섀도우에 더 많은 비트를 배분하기 위한 이유도 있음
      CRT는 전자총의 비선형 반응을 보정하기 위해 감마를 썼고, 필름이나 CMOS 센서도 빛에 대한 감도가 로그 형태라 비슷한 처리를 함
    • 만약 선셋을 선형으로 표시하면, 태양 부분이 눈이 아플 정도로 밝게 나올 것임. 그건 현실적이지 않음
  • ‘가공되지 않은 사진’은 사실상 존재하지 않음
    RAW는 RGGB 픽셀 값의 집합일 뿐이며, 이를 화면의 좁은 다이내믹 레인지에 맞추기 위해 데이터를 전략적으로 버리고
    중간 회색점을 정의하는 과정이 바로 창의적 해석의 영역임

  • 글의 예시가 너무 인공적이고 다채로운 조명이라, ‘기준 진실’이 무엇인지 이해하기 어렵다는 아쉬움이 있음

    • 하지만 그게 핵심임. ‘기준 진실’이라는 개념 자체를 도전적으로 재고하게 만드는 게 글의 목적임
      마지막 두 이미지를 비교하며 각자 선호에 따라 ‘결과’를 판단하면 됨