iPhone(iOS11)の写真フォーマットはJPEGからHEIFへ。仕様&元に戻す方法

本記事の最後に新iPhone(8/X) or iOS11にアップデートしたiPhone 7以降で「おもいでばこ」を利用する際の設定のお願いについてまとめていますので、「おもいでばこ」ユーザーの方はご確認ください。

こんにちは、「おもいでばこ」のマーケティング&製品企画担当の根本です。先日、iPhoneの新モデルが発表、iOS11がリリース、そして本日iPhone 8が発売されましたが、おもいでばこチームは絶えず研究開発/動作検証を行っています。

写真や動画データに深く関わりのある「おもいでばこ」ですが、今回の新iPhone&iOS11はそんな「おもいでばこ」にとっても影響の大きい、新しい写真や動画形式の追加という重大な変更が行われています。そこで、「おもいでばこ」の開発現場から、新iPhone(iOS11以降)で起こっている写真・動画の現状についてまとめさせていただきました。技術的に踏み込んだ内容も含まれるため読みにくい部分もあると思いますが「おもいでばこ」ユーザー&iPhoneを普段ご利用いただいている皆様に、ぜひご一読いただければと思います。

新iPhoneは写真も動画も新しいフォーマットが標準設定に

iOS11から、写真と動画の撮影コーデックの標準設定が(一部の機種で)変更になりました。写真はHEIF(読み方は、エイチイーアイエフもしくはヒーフ)、動画はHEVC(エイチイーブイシー)といいます。

iOS11からなので、新モデルのiPhone 8/8 Plus、iPhone Xでは出荷時から、iPhone 7/7 Plusでは、iOS11へのアップデートを行うことでHEIF/HEVC形式に変更となります。iPhone 7より前のモデル(具体的にはA10 Fusionチップ搭載より前のiPhone/iPad)では、iOS11にアップデートしてもこの「フォーマット」の項目は表示されず、これまで通りJPEG/H.264形式での撮影となります。

image1
iPhone 7(iOS11)の場合の表示

iPhone 7をiOS11にアップデートすると、「設定」アプリ内の項目「カメラ」に、これまではなかった「フォーマット」という設定が追加されます。選択肢は2つで、”高効率”と”互換性優先”が選べるようになっています。iOSの設定画面では、この2つの設定についてそれぞれ、このように説明されています。

ファイルサイズを減らすため、写真とビデオを高効率のHEIF/HEVCフォーマットで撮影・録画します。”互換性優先”では、常にJPEG/H.264を使用します。

iPhone 7をiOS11にアップデートすると、このフォーマット設定が自動的に”高効率”に変更される仕様となっている模様(※注)です。知らずのうちに、撮影した写真と動画がHEIF/HEVC形式での保存に切り替わるのです。

※一部では、iOS11にしても最初から従来フォーマットでの撮影になる“互換性重視“設定にだったという情報もいただいています。もしかすると、iOS11へのアップデート時なんらかの基準によって、自動的にどちらかが選ばれるようになっているのかもしれません。新しい情報があれば、またアップデートいたします。

容量効率は良いが互換性に難アリの新画像フォーマット「HEIF」とは

HEIFは、これまで長らく撮影用画像フォーマットとして利用されてきたJPEGフォーマットとの互換性はありません。今回から合わせて変更となった動画コーデックであるHEVCの圧縮技術を利用した静止画フォーマットがHEIFというイメージで理解すればOKです。おもいでばこチームでのテスト結果でも、同じシチュエーションで撮影した場合、JPEGと比較して約半分ほどのファイルサイズになることが確認できているので、保存領域の節約という点では有利なフォーマットです。

iPhoneで撮影したHEIF形式の写真の拡張子は、.heicとなっています。(iPhoneの画面上ではファイル名は表示されません)定義上、HEIF形式の画像なら必ず.heicという拡張子になる訳ではなく、“HEVCエンコーダを利用したHEIF画像の場合”に.heicが採用されています。ちなみに、HEVC動画の拡張子は、従来使われてきた動画と同様の.movや.mp4拡張子となるため、拡張子からはその動画がHEVC形式なのか、H.264形式なのかの判別はできません。ソフトウェア的にデータに含まれるヘッダー領域から読み取る必要があります。

HEIF形式で保存されていても、写真アプリでシェアしたりする場合は、その場でiPhone内部でJPEG形式に変換されるようになっているため、通常の使い勝手にはあまり影響しません。AirDropで写真を送る場合も、シェア先がiOS11の端末やmacOS High SierraではHEIFのまま、iOS10以前や、Sierra以前のmacOSではJPEGに変換と、自動判別されて転送されるようになっています。

iPhoneやiPadでHEIF形式の写真データを表示するには、iOS11へのアップデートが必須です。iOS11にアップデートしない限り、HEIF形式のデータを直接表示することができません。つまりiOS10からiOS11にアップデートが用意されないiPhone5/5c及びそれ以前の機種では、HEIF形式の画像データを表示する手段は、基本的には用意されていません。

iOS内HEIF→JPEG変換機能はあるが毎回ハッシュ値が変わる

「おもいでばこ」の写真は、基本的にJPEGを前提としたつくりとなっています。例えば「おもいでばこ」はiPhoneのスクリーンショットの取り込みに対応していますが、これもiOSアプリから送信されたPNGを「おもいでばこ」本体で表示用のJPEGに変換し、ソースのPNGとセットで保持しています。HEIFの対応については、当初はiPhone内部で行われるHEIF→JPEG変換機能を利用できないか、と調査を開始しました。しかし、結果は「おもいでばこ」にとって芳しくないものでした。

「おもいでばこ」は、写真や動画のデータの重複検知機能を搭載しており、取り込み時にデータがダブらないようになっています。この機能のベースは、”ハッシュ値照合”という手法です。この技術は、元々、あるデータが改ざんされていないかどうかを確認する際に、同じようにみえる2つのデータでも、それぞれから計算されるハッシュ値が異なる場合は、データ内部が何者かによって改ざんされていると判断する、というユースケースで利用されるものです。「おもいでばこ」は、この技術を応用し、データ本体のハッシュ値が同じデータは、重複扱いとして取り込まない、としています。よって、ファイル名が同じでも異なるデータは両方取り込みますし、逆に、ファイル名だけ変えた同じデータはダブっているので取り込まない、という仕様になっています。

しかし、今回のiPhoneに搭載された「HEIFからJPEGに変換する仕組み」では、各データから生成されるハッシュ値が、同じ写真を選択しても、毎回異なるような状態となることが判明しました。理由は不明ですが、JPEG変換時に毎回異なる何らか固有の情報が埋め込まれているのではないかと推測しています。
この状況から、HEIF形式のデータを、iPhone内部で、JPEGに都度変換しておもいでばこに、送るという手法で進めるのは難しいと判断しました。これは、誰でも重複などを気にせずオリジナルデータの写真を気軽に保存できるという「おもいでばこ」の基本体験から外れた実装となってしまうからです。

「おもいでばこ」本体でHEIF表示に対応させる発想へ

iPhone内でJPEGに変換して送る方向性を検討しつつ、おもいでばこチームではもう一つ、考えられる選択肢にもチャレンジしていました。「おもいでばこ」本体の仕様を拡張し、新たな対応フォーマットにHEIF形式を加えるというコンセプトです。「おもいでばこ」本体が、新たにHEIF形式画像のとりこみや表示、取り扱いに対応することができれば、iPhoneのJPEG変換に頼らず、HEIF形式のオリジナルデータをとりこめるようになります。これまで継続して採用してきた”ハッシュ値照合”による重複排除のルールに変更を加えることなく対応できる、筋の良い方法です。

ただ、これを実現するためには、iOS11で作成されるHEIF形式のデータを正しく解釈して、「おもいでばこ」でテレビに表示できるようになるところまで本体のソフトウェアをつくりこむ必要があります。参考となる情報が極端に少ない中のチャレンジとなりましたが、2017年9月現在、なんとか試作版として表示し、動作するところまでこぎつけることができています。

image2
HEIF形式の写真を表示する「おもいでばこ」の画面(開発中)

iPhoneが作成するHEIFフォーマットの概要(※おもいでばこチーム独自解析結果)

iPhoneが生成するHEIF形式のデータの構造解析を進めると、興味深い結果が得られました。

まず、その保存形式です。iPhoneのHEIFは、1枚の画像がそのまま納められているのではなく、その画像を分割しピース化したもの(=「画像のかけら」)が48分割されてHEVCストリームとして格納されていることが判明しました。それぞれの「画像のかけら」は、512×512ドットの正方形サイズとなっていて、それらの「画像のかけら」をどういう風に並べてつなげるか、といった情報がHEIFデータ内で定義されています。

heif_image
(タップで拡大)

その定義に合わせて「画像のかけら」を、横8枚x縦6枚のタイル状に並べることで、4096×3072ドットの大きなサイズの一枚絵として復元します。この段階では、実際のiPhoneの写真データより若干大きいサイズになっているのですが、長方形左上の頂点を起点として、右端の辺と下端の辺を断ち切る形での加工処理を行うことで、iPhoneの1200万画素写真データの標準ピクセルである4032×3024ドット(=12,192,768ドット=1200万画素)の写真データとして正確に復元してとりだすことができるようになるのです。また、それぞれのデータには、写真の本体データとは別に、同じくHEVCストリーム形式で画像全体を縮小した、320×240サイズの小型サムネイル画像も格納されていることを確認できました。

HEVCストリームから「画像のかけら」データのとりだし(デコード)は、「おもいでばこ」に新たに搭載を予定しているソフトウェアデコーダーにて実装しました。残念ながら、「おもいでばこ」チップの世代的に、ハードウェアアクセラレーションが利用できないため、ソフトウェア単体で行うのはかなり重たい処理となっているのですが、写真一枚分のデータをHEVCからとりだすことに特化し「おもいでばこ」の持つ4つのCPUコアを生かしたマルチスレッド処理を実装することにより、HEIF形式であっても、ストレスを感じない時間で内部処理が行えることが確認できました。

また、HEIFデータ内には、JPEGと同様に撮影情報データ(いわゆるEXIFデータ)も格納されていることも発見しました。これで、「おもいでばこ」らしい、とりこむだけで自動整理の体験をHEIFとりこみでも実施することができることも確認できました。

「おもいでばこ」のHEIFとりこみ対応は鋭意開発中

これらの開発成果により、「おもいでばこ」(PD-1000Sシリーズ/PD-1000シリーズ)でのHEIF画像の正式対応が現実味を帯びてきました。しかし、まだまだタスクが山積みです。

ここからは、HEVCライセンスについての対応や、HEIFデータを画像に変換できないAndroidやiOS10以前のiPhoneに向けたかきだしの対応、また、おもいでばこのiOSアプリ/MacアプリをHEIF形式の送信に対応といったこまごまとした内容が積みあがっています。(さらに、iPhone X向けの改修も!)しかし、実のところ、解析当初はあきらめかけた、iPhoneのHEIF画像のデコードとEXIF情報のとりだしに一定の目途が既に立っているので、チーム内の雰囲気は明るいです(笑)

image3
開発中のHEIF対応&iPhone Xレイアウト対応おもいでばこアプリ(開発エミュレーターの画面です)

まだ、「おもいでばこ」本体のHEIFとりこみ対応の明確なリリース時期をお知らせできないのが心苦しいところですが、現在鋭意開発中ですので、今しばらくお待ちください。
(動画形式である、HEVCについても、「おもいでばこ」本体で直接再生できるようにする対応は、「おもいでばこ」のハードウェア的にリアルタイム処理が間に合わず難しい状況ですが、何か工夫ができないかと、チーム内で検討しているところです)

【お願い】iPhone X/8/7のカメラのフォーマットは”互換性重視”に設定を

長々と書いてしまいましたが、最後にお願いです。2017年9月現在、「おもいでばこ」は、HEIFやHEVCで撮影された写真・動画データの取り込みやテレビでの表示ができません。

対象機器(2017年9月現在)

  • iOS11にアップデートしたiPhone 7/7 Plus(「A10 Fusionチップ」搭載)
  • iOS11にアップデートしたiPad Pro 12.9インチディスプレイモデル(第2世代)(「A10X Fusionチップ」搭載)
  • iOS11にアップデートしたiPad Pro 10.1インチディスプレイモデル(「A10X Fusionチップ」搭載)
  • iPhone 8/8 Plus (「A11 Bionicチップ」搭載)
  • iPhone X(「A11 Bionicチップ」搭載)

従来のフォーマット(互換性重視)に戻す方法

「設定」アプリを起動して、→「カメラ」→「フォーマット」の設定を”高効率”から”互換性重視”に変更すればOKです。

21895282_1621108454600337_102315750_o 21875596_1621108987933617_1788199084_o
i
Phone 7(iOS11)の場合

 

21908969_1623697664341416_2123913911_o
iPhone 8の場合は、「互換性優先」設定時に動画のフレーム数や解像度に制限があることが案内されています。

従来通り、「おもいでばこ」への写真や動画の送信・表示をご利用いただけます。新しいiPhoneで「おもいでばこ」をご利用の場合は、現状、こちらの設定変更をお願いします。

上記以外のiPhone・iPad・iPod touchでは、そもそもHEIF/HEVC形式での撮影が利用できませんので、設定の必要はありません。

※おもいでばこは、ハードウェアの制限により4kの動画をとりこめません。また、60fps(60フレーム)撮影の縦長の動画をテレビで回転表示できず、横向き表示となりますので、ビデオ撮影はデフォルトの1080p HD/30fpsの設定のままにしておくことをお勧めします。

「おもいでばこ」はすべての写真を安心して保存できる居場所となるべく、従来の機器の写真にかぎらず、新しいフォーマットにも可能な限り対応を続けてまいります。

それでは、「おもいでばこ」のある生活を、引き続きお楽しみください!

関連リンク

▼デジタルフォト・アルバム「おもいでばこ」
PD-1000Sシリーズ
Amazon: 1TBモデル 2TBモデル
バッファローダイレクト: 1TBモデル 2TBモデル

このエントリーをはてなブックマークに追加