휴대기기에서 HDR (High Dynamic Range) 동영상을 전송할 때는 다양한 패널 간의 시각적 불일치라는 심각한 결함이 있는 경우가 많습니다. SDR (Standard Dynamic Range) 및 HDR 요소가 공존하는 혼합 콘텐츠 피드를 탐색할 때 렌더링 파이프라인은 이러한 요소를 균형 있게 조정하는 데 어려움을 겪습니다. 이로 인해 불규칙하고 거슬리는 전환과 예측할 수 없는 밝기 급증이 발생합니다.
콘텐츠 크리에이터의 경우 이러한 불균일성으로 인해 예술적 의도가 손상됩니다. 전문 모니터에서 세심하게 그레이딩된 HDR 동영상은 소비자 기기에서 볼 때 하이라이트가 잘리거나, 톤이 흐려지거나, 그림자가 깨질 수 있습니다.
Eclipsa 동영상은 이러한 정확한 교차 기기 생태계 문제를 해결하기 위해 설계된 최신 HDR 동영상 표준입니다. SMPTE ST 2094-50 사양을 기반으로 구축된 Eclipsa 동영상은 디스플레이가 물리적 하드웨어 기능과 실시간 주변 조명 조건을 모두 기반으로 콘텐츠 매핑을 동적으로 조정할 수 있도록 지원합니다. Jetpack Media3 ExoPlayer 및 표준 Camera2 캡처 파이프라인의 기본 제공 구성이 필요 없는 통합으로 지원되는 Eclipsa 동영상은 모바일 엔지니어링팀에 모든 화면에서 예술적 의도를 보존하는 차세대 하드웨어 적응형 동영상 스트리밍을 구현하는 비용이 들지 않고 마찰이 없는 경로를 제공합니다.
SMPTE ST 2094-50의 기술 아키텍처
모바일 디스플레이는 휘도 여유 공간, 즉 디스플레이의 화이트 포인트 위에 사용할 수 있는 밝기 양이 크게 다릅니다. 디스플레이의 하드웨어 제한이 HDR 동영상의 마스터링 요구사항과 일치하지 않으면 밝은 부분이 잘리거나 흐릿하게 보입니다. 주변광 센서가 패널을 주변 환경에 맞게 조정하므로 화면의 실제 여유 공간과 화이트 포인트가 동적으로 변경됩니다.
SMPTE ST 2094-50은 다음 두 가지 기본 요소를 통해 시각적 일관성을 보장하는 이중 레이어 메타데이터를 도입하여 이 문제를 해결합니다.
참조 흰색 앵커
이렇게 하면 SDR 요소의 최대 밝기를 디스플레이의 참조 흰색 점에 직접 매핑하는 엄격한 기준이 설정됩니다. 이 기준을 초과하는 모든 휘도 값은 HDR 하이라이트에만 엄격하게 예약됩니다. 이 예측 가능한 고정 메커니즘을 사용하면 SDR 레이어와 HDR 레이어가 화면에서 함께 합성될 때 서로 번지지 않고 의도한 시각적 관계를 유지할 수 있습니다.
헤드룸 적응형 게인 곡선 (AGTM)
정적 톤 매핑 곡선을 강제하는 대신 크리에이터는 제한된 헤드룸이 있을 때 디스플레이 파이프라인이 확장하는 방법을 정확하게 알려주는 파라메트릭 메타데이터를 삽입합니다. 이 표준은 크리에이터에게 타겟 패널이 하이라이트를 소프트 클립할지, 하드 클립할지, 미드톤과 그림자를 압축하여 밝은 영역의 미세한 디테일을 적극적으로 보존할지 선택할 수 있는 세부적인 유연성을 제공합니다.
플랫폼 지원
Eclipsa 동영상 재생 및 캡처를 위한 플랫폼 수준 지원은 Android 17 (API 수준 37)에서 도입되었습니다.
재생 구현
표준 앱 개발의 경우 Media3 ExoPlayer는 Eclipsa 동영상을 기본적으로 지원합니다. SMPTE 2094-50 메타데이터가 삽입된 파일을 파싱할 때 ExoPlayer는 메타데이터를 원활하게 추출하고 적용하므로 맞춤 플레이어 구성이 필요하지 않습니다.
표준 플레이어 초기화: 플레이어 화면을 인스턴스화하려면 Media3 ExoPlayer 개요를 참고하세요.
재정의 추적: 앱이 특정 HDR 프로필을 프로그래매틱 방식으로 쿼리하거나 잠그는 경우 Media3 트랙 선택 API를 참고하세요.
재생 파이프라인을 Jetpack Media3로 오프로드하는 것이 좋습니다. ExoPlayer는 하위 수준 컨테이너 추출을 기본적으로 처리하므로 Android 16 (API 수준 36) 이하의 기존 렌더링 레이어에 있는 알려진 플랫폼 수준 디코딩 아티팩트를 완전히 우회합니다.
동영상 캡처 구현
기기에서 Eclipsa 동영상을 녹화하려면 호환되는 동적 범위 프로필을 할당하여 AGTM 메타데이터를 생성하도록 카메라 파이프라인을 구성해야 합니다.
CameraCharacteristics를 사용하여 기기 지원을 검증한 후 DynamicRangeProfiles.HLG10_SMPTE_2094_50 프로필을 사용하여 스트림을 인코더 표면으로 라우팅합니다. 카메라 세션에서 동적 범위 프로필을 쿼리하고 구성하는 방법은 HDR 동영상 캡처를 참고하세요.
AGTM 메타데이터에는 명시적 코덱 구성이 필요하지 않습니다. Android 미디어 프레임워크는 활성 동적 프로필에 메타데이터가 있는 경우 자동으로 메타데이터를 연결하고 전달합니다.
호환성 및 성능 고려사항
성능을 모니터링하려면 활성 Display 객체를 가져오고 overlayProperties에서 LutProperties를 확인하여 하드웨어 가속 경로의 사용 가능 여부를 식별합니다.
하드웨어 가속 기능이 없는 기기의 경우 Exoplayer에서 Eclipsa 동영상 렌더링을 선택 해제하는 기능이 개발 중입니다.