2026-09-30
내 폰에서는 완벽했던 HDR 사진이 다른 곳에서는 다르게 보이는 이유
최신 아이폰이나 안드로이드 폰으로 사진을 찍으면 내 화면에서는 하이라이트가 밝고 색감도 선명하며 입체감까지 느껴집니다. 그런데 그 파일을 친구에게 보내거나 단체 채팅방에 올리거나 다른 앱에서 열어보면, 픽셀 하나 건드리지 않았는데도 사진이 밋밋하고 흐릿하게 보이거나, 반대로 이상하게 과다노출된 것처럼 보일 때가 있습니다. 안드로이드 공식 개발자 문서는 그 이유를 이렇게 설명합니다: 안드로이드 14부터 이 파일은 사실 이미지 한 장이 아닙니다. 평범한 JPEG 파일 끝에 “게인 맵(gain map)”이라는 두 번째 숨은 이미지가 덧붙어 있고, 무엇이 보이는지는 그 파일을 여는 앱이 이 두 번째 부분을 읽을 줄 아는지에 완전히 달려 있습니다.
파일 안에 실제로 들어 있는 것
구글은 이 방식을 Ultra HDR, 애플은 Adaptive HDR이라고 부릅니다. 둘 다 작동 원리는 같고, 2024년 말부터는 같은 표준인 ISO 21496-1을 기반으로 합니다. 안드로이드의 이 포맷 개발자 문서는 구조를 명확히 밝힙니다: 파일은 완전한 일반 SDR(표준 다이나믹 레인지) JPEG로 시작하고, 그 뒤에 멀티 픽처 포맷(MPF)을 이용해 두 번째 이미지인 게인 맵이 덧붙습니다. 게인 맵에는 사진의 각 부분을 얼마나 더 밝게 만들지에 대한 메타데이터가 함께 담깁니다. 게인 맵을 이해하는 앱은 두 부분을 모두 읽어 더 밝고 대비가 강한 버전을 재구성합니다. 반면 게인 맵을 모르는 앱은 — 안드로이드 문서가 명시적으로 밝히는 대로 — 그냥 이 파일을 평범한 JPEG로 읽고 거기서 멈춰, 첫 번째 부분인 더 밋밋한 SDR 이미지만 보여줍니다. 어느 쪽도 깨지거나 오류가 나지 않습니다. 두 앱은 그저 같은 파일 중 서로 다른 분량만 읽고 있을 뿐입니다.
| 파일의 부분 | 담긴 내용 |
|---|---|
| 기본 이미지 | 완전한 일반 SDR JPEG — 어떤 앱이든 이미 읽을 수 있는 부분 |
| 게인 맵 | 기본 이미지의 각 부분을 얼마나 더 밝게 만들지를 픽셀값으로 인코딩한 더 작은 두 번째 이미지 |
| 메타데이터(XMP) | 둘을 합치는 계산식 — 최소·최대 밝기 보정값, 감마, 파일 안에서 게인 맵을 찾는 위치 |
실제로 생기는 두 가지 불만
- “사진이 갑자기 너무 밝게, 과다노출된 것처럼 나와요.” 9to5Google은 2024년 3월, Pixel 8·Pixel 8 Pro·갤럭시 S24 시리즈·OnePlus 12에서 Ultra HDR 사진을 각 기기의 기본 갤러리 앱은 물론 인스타그램·스레드에서 열었을 때 하이라이트가 지나치게 밝고 날아간 것처럼 보였다고 보도했습니다. 구글은 이 문제 때문에 Pixel 카메라의 “고급 설정” 안에 Ultra HDR 촬영을 다시 끌 수 있는 토글을 따로 넣었습니다.
- “내 폰에서는 멋졌는데 다른 데서는 칙칙해 보여요.” 오랫동안 구글의 Ultra HDR과 애플의 자체 게인 맵 방식은 서로 호환되지 않아서, 한쪽 생태계의 게인 맵 리더용으로 만들어진 사진이 다른 쪽에서는 그냥 더 밋밋한 기본 이미지로 되돌아갔습니다. Android Authority는 2024년 10월, 구글과 애플이 마침내 공통 인코딩 방식인 ISO 21496-1에 합의했다고 보도했습니다 — 안드로이드 15는 자체 Ultra HDR 메타데이터와 새 공통 표준을 함께 기록하고, 애플은 2024년 6월 WWDC24에서 발표한 대로 iOS 18·iPadOS 18·macOS 15에 이를 읽고 쓰는 개발자용 지원을 추가했습니다. 그 합의 전까지는 HDR 사진이 아이폰과 안드로이드 폰 사이를 오갈 때 원래 보이던 모습 그대로 전달되지 않았습니다.
두 불만 모두 원인은 같습니다: 사진의 “진짜” 모습은 게인 맵이 올바르게 읽혔을 때만 존재합니다. 건너뛰면 더 밋밋한 기본 이미지가 나오고, 잘못 읽으면 보정이 과하게 적용돼 과다노출된 이미지가 나옵니다.
리사이즈·크롭·컨버트·컴프레스가 이런 사진에 하는 일
nearIMG는 모든 사진을 브라우저 자체의 이미지 디코더로 해독한 뒤 순수한 2D 캔버스에 그리고, 거기서 다시 인코딩합니다 — 어떤 도구를 쓰든 똑같은 파이프라인입니다. 표준 2D 캔버스는 게인 맵을 이어받지 못합니다. 캔버스에는 그려진 하나의 밋밋한 이미지만 남습니다. 그래서 채팅 앱에 맞게 줄이는 리사이즈든, 구도를 다시 잡는 크롭이든, JPEG·PNG·WebP를 바꾸는 컨버트든, 용량을 줄이는 컴프레스든 — 어느 도구를 거치든 결과물은 잘못 읽힐 게인 맵이 붙어 있지 않은 평범한 SDR 이미지 한 장입니다. 다음에 어디서 열어도 똑같이 보입니다 — HDR을 아는 일부 앱이 만들어낼 수 있는 더 밝은 버전은 아니지만, 다음 앱이 위 세 가지 결과 중 무엇을 뽑을지 도박하는 사진 대신 예측 가능한 사진 하나를 얻는 셈입니다.
이게 못 하는 것
- HDR을 다시 되살리지는 못합니다. 톤 매핑이나 게인 맵을 새로 만드는 기능은 없습니다 — 일단 파일이 평평해지면 그 상태로 남습니다.
- 업로드 과정에서 플랫폼 자체가 HDR을 SDR로 변환하며 이미 망가뜨린 사진은 고치지 못합니다. 채팅 앱이나 SNS가 파일을 건드리기도 전에 게인 맵을 엉성하게 제거해버렸다면, 그 결과물을 다시 인코딩해도 원래 없던 디테일이 살아나지는 않습니다.
- 어떤 앱이 게인 맵을 지원하는지는 알려주지 않습니다. 이는 앱과 버전마다 다릅니다. 내가 통제할 수 있는 건 내가 보내는 파일에 게인 맵이 여전히 붙어 있는지뿐입니다.
한 줄 요약
최신 아이폰·안드로이드 사진에는 게인 맵이라는 숨은 두 번째 이미지가 붙어 있어, 이를 지원하는 앱에게 사진을 얼마나 더 밝게 보여줄지 알려줍니다. 제대로 읽는 앱은 화사한 버전을 보여주고, 무시하는 앱은 더 밋밋한 기본 이미지를 보여주며, 잘못 읽는 앱은 사진을 과다노출로 만들 수 있습니다 — 9to5Google이 2024년 3월 Pixel과 갤럭시 기기에서 실제로 확인하고 보도한 뒤에야 구글이 끄는 옵션을 추가한 바로 그 문제입니다. 구글과 애플은 2024년 말에야 공통 게인 맵 표준인 ISO 21496-1에 합의했기 때문에, 그 이전의 기종 간 공유는 양쪽 방향 모두로 잘못 보일 수 있었습니다. 리사이즈·크롭·컨버트·컴프레스 중 무엇을 거치든 사진은 잘못 해석될 게 없는 순수 SDR 파일 하나로 다시 인코딩됩니다 — 가끔 얻는 추가 밝기 대신, 어디서 열어도 똑같이 보이는 사진을 얻는 셈입니다.