HEIF
1. 개요
'''HEIF''' (High Efficiency Image Format)는 MPEG에서 개발된 이미지 포멧이다.
2. 상세
정확히는 이미지 컨테이너 포멧이므로 HEIC (High Efficiency Image Container)라는 별칭으로 불리기도 한다. 국내 아이폰 사용자들은 '히프' 또는 '헤익'이라고 부른다. 확장자는 *.heif 또는 *.heic이다.
H.265/HEVC 코덱으로 인코딩된 개별 프레임을 저장할 수 있는 별도의 이미지 컨테이너이다. 즉, HEVC 코덱으로 저장된 비디오의 스틸 이미지를 담아두는 것.
3. 특징
3.1. 복수의 이미지 저장 가능
단일 이미지 포멧이 아니라 이미지 컨테이너 포멧이기 때문에 여러 이미지를 한 파일에 담아둘 수 있다.
스틸 이미지 모드와 에니메이션 모드가 존재하는데 에니메이션 모드에서는 동영상의 컷씬을 그대로 저장하여 움짤을 만들 수 있다.
이 포맷은 iOS 11과 macOS High Sierra 에서 처음으로 사진, 동영상 저장 포맷으로 정식 채택되었다. 4K 60fps 촬영은 용량 최적화를 위해서인지 HEVC(HEIF)로만 기록할 수 있다.
3.2. 용량
JPEG와 비교했을 때 같은 화질에서 용량이 절반 가량이다. 덕분에 적은 용량으로 연사로 찍은 사진이나 영상을 넣을 수 있다. 특히 240~300PPI가 넘어가는 고해상도의 4,8K 이미지의 경우, RAW,JPEG,PNG 확장자에 비해 압축률이 매우 뛰어난 것을 확인 할 수 있다.
손실 압축과 무손실 압축을 모두 지원하지만 HEVC의 특성상 손실 압축에 더 최적화된 포맷이다.
3.3. 광색역 및 HDR 지원
보급은 모바일에서 시작했지만 그 효용성의 범위는 넓은데, HDR 표준 및 디스플레이가 점점 널리 보급되면서 8비트의 색정보만 담을 수 있는 JPG는 점점 뒤쳐지는 반면 HEIF는 최대 12bit까지 정보를 담을 수 있고 압축률도 우수해 차세대 사진 저장 포맷으로 인기를 끌 것으로 보인다.[1] 다만, 이렇게 높은 비트의 색상을 지원하는 것은 HDR 사진을 저장하기 위해서이지 SDR 사진을 저장하기 위해서가 아니다.
10비트 이상의 색상을 지원하는 것과 더불어서 PQ와 HLG EOTF를 지원한다.
3.4. 컬러 메니지먼트
HEIF는 동영상 스틸을 추출하여 저장하는 컨테이너이므로 컬러 메니지먼트도 동영상 방식을 따른다. 따라서 HEIF에서는 색 영역과 EOTF가 ICC 프로파일을 통해 지정되는 것이 아니라 메타데이터를 통해 지정되며 디스플레이 장치에서 이를 인식하여 자체적으로 화면으로 출력한다.
ICC 프로파일을 사용하면 부동소수점 색상이 아닌 이상에 HDR 영역의 색상을 표현하기 어렵다는 단점이 존재하는데 HEIF는 동영상의 컬러 메니지먼트 방식을 따르므로 정수 방식의 인코딩을 사용하면서도 HDR 색상을 화면상으로 구현할 수 있다.
3.5. 호환성
효율성이 장점이라면 모든 신기술이 그렇듯 범용성이 단점이다. 출시 시점부터 2018년 즈음 까지도 애플이 범용 소비자용 소프트웨어 중에서는 사실상 유일하게 사용했기 때문에 (H.264 때에도 그랬다.) macOS, iOS 플랫폼을 쓰지 않는 이상은 접하기도, 사용하기도 어려웠다. 응용 프로그램 역시 HEIF를 지원해야 파일을 처리하고 볼 수 있다. 2019년 시점에서는 HEIF 지원 범위는 넓어지고 있는데, 주요 이미징 소프트웨어인 어도비 포토샵[2] , 라이트룸[3] , 캡처원, GIMP가 HEIF를 지원하기 시작했다. OS 수준에서는 Windows 10 RS4, 안드로이드 P 이후부터 지원하기 시작했다. 다만 오픈소스이고 누구나 무료로 가져다 쓸수 있는 WebP에 비해 HEIF는 로열티 문제가 있어서 보편적인 형식으로까지 나아가는데는 어려움이 있다. # 능력만 있으면 마음대로, 공짜로 갖다 쓸수 있는 WebP 조차도 아직 크게 대중화가 되지 않았다는 점을 생각해보자.
실제 2020년에 공개된 캐논의 전문가용 DSLR인 EOS 1Dx iii이 처음으로 JPG를 대체하거나 병행해 사용할 수 있는 10bit HEIF 저장 기능을 선보였고, 이후 EOS R5, R6등 미러리스 바디 역시 HEIF 저장 옵션을 내장하고 출시되었다. 2020년 7월에는 소니가 자사의 미러리스 카메라인 a7s3에 역시 10bit HEIF 저장 기능을 선보여, 앞으로 많은 카메라 제조사에서 HEIF를 기존의 JPG과 RAW 사이에서 적절히 타협하는 사진 저장방식으로 채택할 것임을 시사했다.
4. 상용화
IOS11의 메인 이미지 포맷이라 기본 설정으로 사용되고 있기 때문에 iOS에 한해서는 빠른 보급이 되고 있다. iOS11부터 설정에서 고효율 포맷을 선택하고 사진을 찍으면 HEIF로 사진이 저장된다. JPEG처럼 8비트의 색상으로만 저장된다. 차후에 10비트 HDR 촬영을 지원할 예정이다.
캐논의 EOS-1D X Mark III, EOS R5, EOS R6가 HDR10 및 HLG 전송함수로 인코딩된 10비트 HDR 이미지 저장을 지원하며 업계를 선도하고 있다. 소니는 A7S3에서 HLG 전송함수로 인코딩된 HDR HEIF 이미지 저장을 지원한다.
Windows 10 RS4의 경우 디코딩은 무료이지만(MS스토어에서 HEIF 확장 기능#과 함께 HEVC 확장 기능# 설치 필요), 인코딩을 하려면 MS가 스토어에 유료로 올려놓은 HEVC 확장 기능#을 사용해야 한다.[4] 참고로 2019년 10월 기준 ffmpeg는 HEIF를 지원하지 않는다. 이미지 뷰어/편집 프로그램도 라이센스 문제 때문에 상당수가 지원을 하지 않는 상황이며 인코딩 옵션도 제한적인 경우가 많다. 포토샵도 윈도우용은 아직 지원하지 않고, 라이트룸은 지원이 되지만 목록에서 썸네일이 제대로 표기되지 않는 문제가 있다.[5]
안드로이드의 경우 P부터 지원하지만 RAW와 마찬가지로 저장을 위한 도구인 API를 제공하는 것으로 카메라 앱에서 반영하지 않았다면 쓸 수 없다. 2019년 삼성 스마트폰 중에서는 갤럭시 A30 이상의 제품에서 지원한다. Pixel의 Android 11 개발자 프리뷰 버전에서 카메라 저장 옵션으로 HEIF가 추가되었다#확인 결과. 향후 시퀀스가 있는 GIF나 Burst Shot 이미지 저장에 활용될 것으로 예상된다.
macOS의 경우 별다른 설정 없이 기본 사진앱과 미리보기앱에서 열람할 수 있으며 미리보기앱의 내보내기 옵션에서 heic코덱을 선택해서 내보냄으로서 이미지 파일들을 heic로 변환할 수 있다. iOS, iPadOS의 경우 Apple에서 제공하는 단축어앱 내부의 동작 옵션 중 이미지 변환 옵션을 통해 이미지 파일들을 Heic로 변환할 수 있다. [주의]
퀄컴 스냅드래곤 855(갤럭시 S10, 픽셀4)부터 하드웨어 가속을 지원한다
애플 iOS계열은 A9(iPhone 6s)부터 하드웨어 가속을 지원한다.
[1] 12bit 무손실 압축이면 일부 RAW(파일)에도 맞먹는 수준의 색정보이다! JPG에 비하면 16배. 다만, 이렇게 높은 비트의 색상을 지원하는 것은 HDR로 저장할 때에 큰 의미가 있지 SDR에서는 10비트로도 충분하다.[2] 윈도우 버전 지원하지 않음[3] 모바일버전[4] 물론 어디까지나 서드파티가 아닌 윈도우 기본 코덱을 사용하는 경우에만..[5] 당연하겠지만 RS4부터 API로도 HEIF 관련 기능을 제공하므로 조건이 된다면 끌어다 쓸 수는 있다. 다만 전문 뷰어 프로그램이라면 다양한 기능을 위하여 윈도우 기본 코덱을 쓰기보단 서드파티 라이브러리를 따로 가져다 쓸 테니....[주의] iOS 및 iPadOS 단축어 앱을 통한 HEIC 인코딩의 경우 품질 조정 옵션이 없이 무조건 손실압축이 이루어진다. 용량절감 면에선 효과적이지만 최대한 데이터의 손실을 방지하고 싶을 경우에는 macOS의 미리보기 앱을 통해 무손실 HEIC 인코딩을 해야만 한다.