- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
* HEIF って何? [#d76c9108]
- 動画コーデック H.265/HEVC の静止画を、JPEG2000 に似たコンテナで包んだもの
- 将来的には JPEG の立ち位置を乗っ取る技術的ポテンシャルがある。
- 静止画データを格納するコンテナ仕様。データ形式的には JPEG2000 の後継で ISOBMF(QuickTimeの後継)。
- 圧縮のよく効く動画コーデック H.265/HEVC を入れて、将来的には JPEG を倒す技術的ポテンシャルを手に入れた。
* 拡張子 [#a915e65e]
- *.HEIC です。
-- 中身が H.265/HEVC という事を示します、
- なお同じ HEIF コンテナで H.264/AVC を入れる場合は、*.AVCI
- その他のコーデックだと .HEIF です。(具体例ないですが)
* 何がすごいの? [#t664b70f]
- 圧縮率 (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 で処理できるようになる。
-- iPhone7 の A10 Fusion chip、iPhone8 の A11 Bionic chip なら H/W エンコードできるはず
-- iPhone6、SE の A9 chip でもデコードならいける。ソフトウェアデコードできるので遅くて良いなら 5S の A7 chip でも多分いける。
-- iPhone5 以下は iOS11 対象外なので駄目です。
* どこで表示できるの? [#u42be2f5]
- iOS 11 / macOS High Sierra から標準ビューアで見られる。ブラウザは駄目。
- iOS 11 / macOS High Sierra から標準ビューアで見られる。
- でも、ブラウザは駄目。
- 今のところ保存形式は HEIC、一般ユーザが画像を取り出すと JPEG という流れ。
-- 勿論、HEIC のまま取り出せます)
- どうやって HEIF 形式で画像ファイルを取り出すの?
-- iOS で設定。対応アプリで撮影。macOS の写真アプリのオリジナル書き出し。
-- iOS で設定>写真>「元のフォーマットのまま」を洗濯
-- 対応アプリで撮影。標準カメラとか
-- macOS の写真アプリのオリジナル書き出し。
* サンプル画像ある? [#y4048c23]
- https://github.com/nokiatech/heif/tree/gh-pages/content/images
- http://download.tsi.telecom-paristech.fr/gpac/MPEG/ISOBMFF-Conformance/heif/
- http://download.tsi.telecom-paristech.fr/gpac/MPEG/IFF/Conformance/ ([http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=16601 説明])
* どうやって作るの? [#p717ace6]
- iOS の API CGImage〜 を使っても良いですが。
- JPEG/PNG から H.265/HEVC
-- FFmpeg 、または x265 、または de265
-- FFmpeg 、または x265 、または libde265
- H.265/HEVC から HEIF
-- MP4Box、または公式の nokiatech heif ライブラリ。
ffmpeg と MP4Box(または公式の nokiatech heif ライブラリ)
* バイナリの実際 [#w94eac61]
- iPhone が出力するバイナリ
-- メタデータ色々
-- タイリング。
- nokiatech の出力するバイナリ (未検証)
- GPAC/MP4Box が出力するバイナリ
-- 超シンプル
* 自力でバイナリ作って見た [#wf1692a5]
IO_HEIF とか。許可が出れば社内で作ってるのとか。
* 知見 [#td6baa04]
- H.265/HEVC に引きずられる部分がある。
- macOS, iOS が 恐らく、最低ラインの main プロファイルしか対応出来てない?
- グレースケール(YUV400) と YUV 420 だけ。(一時期、マイナーバージョンアップで 444 表示出来た事があるような。。)
- 8bit しか多分駄目。10bit や 12bit 16bit は?
- 色空間指定も駄目。(JPEG の YUV データをそのまま放り込んで彩度が合わない時期があったので、一時期対応してたかも。)
-- グレースケール(YUV400) と YUV 420 だけ。(一時期、マイナーバージョンアップで 444 表示出来た事があるような。。)
-- 8bit しか多分駄目。10bit や 12bit 16bit は?
-- 色空間指定も駄目。(JPEG の YUV データをそのまま放り込んで彩度が合わない時期があったので、一時期対応してたかも。)
- 最小ブロック以下はエンコード出来ない。64x64 以下は駄目。
- クロマサブサンプリングで 420 だと width, height 偶数じゃないと駄目。(奇数だとエラー)
- これって、HEIF 側の crop 機能で対応できるかも?
* ライセンスの話は? [#u84b972d]
- 匂わすだけで、具体的には話さないかも。話せないかも。
* 参考資料 [#s8c2ae3a]
- http://nokiatech.github.io/heif/index.html
-- https://github.com/nokiatech/heif
-- https://github.com/nokiatech/heif/tree/gh-pages/js
- Working with HEIF and HEVC
-- https://developer.apple.com/videos/play/wwdc2017/511/ ([https://devstreaming-cdn.apple.com/videos/wwdc/2017/513fzgbviu23l/513/513_high_efficiency_image_file_format.pdf slide])
- High Efficiency Image File Format
-- https://developer.apple.com/videos/play/wwdc2017/513/ ([https://devstreaming-cdn.apple.com/videos/wwdc/2017/511tj33587vdhds/511/511_working_with_heif_and_hevc.pdf slide])
- Capturing Depth in iPhone Photography
-- https://developer.apple.com/videos/play/wwdc2017/507/ ([https://devstreaming-cdn.apple.com/videos/wwdc/2017/507koao27wdpt/507/507_capturing_depth_in_iphone_photography.pdf slide])
- Technical information
-- http://nokiatech.github.io/heif/technical.html ([http://nokiatech.github.io/heif/img/isobmff.png isobmff.png])
- LASSE HEIKKILÄ HIGH EFFICIENCY IMAGE FILE FORMAT IMPLEMENTATION
-- https://dspace.cc.tut.fi/dpub/bitstream/handle/123456789/24147/heikkila.pdf
- Overview of the High Efficiency Image File Format
-- http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=10265
- iOSDC2017「新しい画像フォーマットHEIFを 用いたiOSアプリの通信量削減」のまとめと補足
-- https://qiita.com/tamanyan/items/653563efcbb0e4b801fc#_reference-f7926e05eb485507e431
- WWDC17で新しく発表された画像フォーマットHEIFを使ってみた
-- https://qiita.com/tamanyan/items/cac337e8d08fb7eb2c2d
* その他 [#r92eb36c]
- https://twitter.com/yoya/status/946242701795586049
- https://twitter.com/yohhoy/status/948927282034257920