HEIF って何?
- 動画コーデック H.265/HEVC の静止画を、JPEG2000 に似たコンテナで包んだもの
- 将来的には JPEG の立ち位置を乗っ取る技術的ポテンシャルがある。
何がすごいの?
- 圧縮率 (JPEG の半分くらいまで減る)
- ロスレスも対応してるので PNG の代わりにもなる。
- HDR、Deep color 対応。但し macOS, iOS は最低ラインの main profile 辺りなので Deep Color 未対応。
- YUV 444 対応。これも macOS は 420 のみ。。ベータ版で一時期 444 表示できてたけど、何やってるの。。
- 透明度をつけられる。
- カメラからの距離、Depth も対応。iPhone だと画像認識で深さを推測してる (らしい)
- Exif や ICC も入れられる (実例作れる?)
- H264 とおなじく H.265 もハードウェアエンコーダが積まれれば H/W で処理できるようになる。
どこで表示できるの?
- iOS 11 / macOS High Sierra から標準ビューアで見られる。ブラウザは駄目。
- どうやって HEIF 形式で画像ファイルを取り出すの?
- iOS で設定。対応アプリで撮影。macOS の写真アプリのオリジナル書き出し。
どうやって作るの?
- JPEG/PNG から H.265/HEVC
- FFmpeg 、または x265 、または de265
- H.265/HEVC から HEIF
ffmpeg と MP4Box(または公式の nokiatech heif ライブラリ)
バイナリの実際
- iPhone が出力するバイナリ
- nokiatech の出力するバイナリ (未検証)
自力でバイナリ作って見た
IO_HEIF とか。許可が出れば社内で作ってるのとか。
知見
- 最小ブロック以下はエンコード出来ない。64x64 以下は駄目。
- クロマサブサンプリングで 420 だと width, height 偶数じゃないと駄目。(奇数だとエラー)
- これって、HEIF 側の crop 機能で対応できるかも?
ライセンスの話は?
- 匂わすだけで、具体的には話さないかも。話せないかも。
その他