HEIF (.heic,.heif)

予備知識

    • MIMEタイプ:image/heic,image/heif,image/heic-sequence,image/heif-sequence
    • HEIFPEGラスタ画像および圧縮形式.
    • 一般に静止画像またはアニメーション画像の保存に使用される.
    • HEIFはHigh Efficiency Image File Formatの頭字語である.
    • バイナリ形式
    • グレースケールおよびRGBの色空間をサポートする.
    • 色チャンネルあたり16ビットまでサポートする.
    • 多様なブロックサイズの離散余弦変換に基づく不可逆圧縮法を用いる.種々の圧縮レベルをサポートする.
    • Moving Picture Experts Group (MPEG)によって開発された.
    • 国際標準ISO/IEC 23008-12として公開された.

ImportとExport

  • Import["file.heic"]はHEIFファイルをインポートし,単一のImageオブジェクトか画像のリストを返す.
  • Import["file.heic",elem]はHEIFファイルから指定の要素をインポートする.
  • インポート形式はImport["file","HEIF"]またはImport["file",{"HEIF",elem,}]で指定できる.
  • HEIFはmacOSでは完全にサポートされる.
  • Windowsでは,HEVCコーデックは手作業でインストールしなければならない.しかしそれでも,提供されるインポート機能はmacOSと比べて限定されたものとなる.
  • Linuxでは,HEIFのインポートとエキスポートはサポートされない.
  • Export["file.heic",expr]expr をHEIFにエキスポートする.
  • 以下の式がサポートされている:
  • imageImage
    graphicsラスタ化されたグラフィックス
    exprラスタ化された任意の式
    {expr1,expr2,}ラスタ化された式のアニメーション
    AnimatedImage[]AnimatedImageフレームのアニメーション
    Manipulate[]Manipulate式のアニメーション
  • グラフィックスや任意の式をエキスポートする際,結果の画像は表示形式と同じラスタサイズとなる.
  • 画像オブジェクトはデフォルトでもとのラスタサイズでエキスポートされる.
  • HEIFへのエキスポートはmacOSでのみサポートされる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Importファイルからインポートする
    CloudImportクラウドオブジェクトからインポートする
    ImportString文字列からファイルからインポートする
    ImportByteArrayバイト配列からインポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "AnimatedImage"AnimatedImageオブジェクトとして表されたアニメーションHEIF
    "Data"画素値の配列
    "EmbeddedThumbnail"埋め込まれたサムネイル
    "Graphics"Graphicsオブジェクトとして与えられるラスタ画像
    "Image"Imageオブジェクトとして与えられるラスタ画像
    "Thumbnail"画像の小さいサムネイル
    {"Thumbnail",size}指定の size を使ったサムネイル
  • マルチフレームのHEIFファイルについては,以下の要素でさまざまなフレームとその特性にアクセスできる:
  • "EmbeddedThumbnailList"埋め込まれたサムネイルのリスト
    "GraphicsList"グラフィックスのリスト
    "ImageCount"保存されているフレームの数
    "ImageList"画像のリスト
    "ThumbnailList"サムネイル画像のリスト
  • 深度データ要素:
  • "DepthImage"最初のフレームに関連付けられた深度画像
    "DepthImageFullSize"画像の大きさに合わせてサイズ変更された深度画像
  • Windowsでは,マルチフレームのHEIFファイルは常に単一フレーム画像としてインポートされ,深度情報はインポートできない.
  • Importはデフォルトで"Image"要素をHEIFファイルに使用する.
  • 高度なImport要素:
  • "BitDepth"ファイルの各色チャンネルを表すために使用されるビット
    "CameraTopOrientation"写真が撮影されたときのカメラの向き
    "Channels"
  • ファイルで使用される色チャンネル数
  • "ColorProfileData"ColorProfileDataオブジェクトとして与えられる埋込みカラープロファイル
    "ColorSpace"ファイルに使用する色符号化
    "EmbeddedThumbnailSize"埋め込まれたサムネイルの大きさ
    "FlashUsed"
  • フラッシュを使用したかどうか
  • "GeoPosition"GeoPositionオブジェックトで表された緯度と経度
    "GPSDateTime"
  • GPSによって登録された画像の作成日時
  • "RasterSize"ラスタ次元
    "RedEyeCorrection"赤目補正を行ったかどうか
    "Summary"
  • ファイルの概要
  • "SummarySlideView"すべてのフレームのスライドビューによる概要
  • メタデータ要素:
  • "Exif"整形されたExif(交換可能画像ファイル形式)
    "IPTC"整形されたIPTC(国際新聞電気通信評議会)
    "MetaInformation"ファイル内の存在するすべての成形されたメタデータの組合せ
  • ファイルに保存されているままの生のメタデータは"RawExif"および"RawIPTC"を使ってインポートすることができ,結果は連想で返される.
  • ExifおよびIPTCのタグはすべて別々にインポートできる.一般的なタグには以下のようなものがある:
  • "ApertureValue"レンズ口径
    "Artist"撮影者または画像の作成者
    "DateTime"画像の作成日時
    "ExposureTime"露光時間(秒)
    "FlashInfo"
  • フラッシュ情報(使用したフラッシュ,赤目補正等)
  • "FNumber"F値
    "FocalLength"レンズの実際の焦点距離(ミリメートル)
    "GPSAltitude"GPS位置の標高
    "GPSLatitude"GPS位置の緯度
    "GPSLongitude"GPS位置の経度
    "Make"記録装置の製造元
    "Model"装置のモデル名またはモデル番号
    "Software"画像生成に使用されたカメラまたは画像入力デバイスのソフトウェアまたはファームウェアの名前とバージョン番号
  • Windowsでは,向き等のメタデータ要素は失われる可能性がある.

オプション

例題

すべて開くすべて閉じる

  (3)

HEIF画像を画像としてインポートする:

画像の概要:

画像をHEIFファイルへエキスポートする:

スコープ  (6)

Import  (4)

画像をグラフィックスとしてインポートする:

画像サイズをインポートする:

メタデータ要素をインポートする:

深度画像をインポートする:

画像をテクスチャに使って深度マップをプロットする:

Export  (2)

画像をHEIFファイルにエキスポートする:

画像のリストをHEIFファイルにエキスポートする:

Import要素  (25)

利用できる要素  (2)

利用できる要素のリスト:

画像関連の情報を規則のリストとして取得する:

データ表現  (11)

画像の列をAnimatedImageとしてインポートする:

画像データをインポートする:

インポートされたデータから画像を作成する:

深度画像データをインポートする:

画像データをインポートする:

深度画像と画像は,一般に異なる次元を持つ:

深度画像をオリジナルの画像と合成する:

深度画像データをインポートする:

深度画像データを画像データの次元に合致するようにサイズ変更してインポートする:

画像データの次元と比較する:

Graphicsオブジェクトとしてインポートする:

データをGraphicsオブジェクトのリストとしてインポートする:

Imageオブジェクトとしてインポートする:

これはHEIFのデフォルトのインポート要素である:

データをImageオブジェクトのリストとしてインポートする:

これはHEIFのデフォルトのインポート要素である:

インポートするフレームを指定する:

画像のサムネイルをインポートする:

画像のすべてのフレームのサムネイルをインポートする:

メタデータ  (12)

各色チャンネルを表すためのビット数を取得する:

画像チャンネル数を取得する:

エキスポートで使用された色符号化を取得する:

インポートする画像の色空間をImageColorSpaceを使って取得する:

Exifメタデータを取得する:

連想から個々のタグを抽出する:

個々のExifタグは直接インポートすることもできる:

Exifタグの中には,処理すると,より詳細な情報を与えるものがある:

生の"Orientation"タグと比較する:

ファイルに保存されているフレームの数を取得する:

すべてのメタ情報を取得する:

ファイルに保存された画像の次元を取得する:

インポートした画像に ImageDimensions を使っても同じ結果を得る:

生のExifデータをインポートする:

生のExifタグはファイルに保存されている実際の値を返す:

"Exif"をインポートするときは,ほとんどのタグは処理される:

画像の概要を取得する:

画像のフレームの概要を取得する:

Importオプション  (4)

"ImageTopOrientation"  (1)

デフォルトでは,画像はファイルに保管されたネイティブの方向でインポートされる:

上部として想定する辺を指定する:

方向は画像を回転させて正すこともできる:

IncludeMetaInformation  (2)

デフォルトでは利用できるすべてのメタデータがインポートされる:

HEIFファイルの可能なメタデータクラスは"Exif""IPTC""XMP"である:

メタデータを含まないで画像をインポートする:

RasterSize  (1)

デフォルトでは,画像はその完全な解像度でインポートされる:

インポートしたHEIF画像のラスタサイズを指定する:

Exportオプション  (3)

CompressionLevel  (1)

デフォルトでは,エキスポート時に圧縮は行われない:

より高いCompressionLevelを使用するとファイルサイズが小さくなる:

エキスポートされた画像の画質が下がった:

さまざまな圧縮レベルを使った場合のファイルサイズと画質の差の変化を比べる:

IncludeMetaInformation  (1)

デフォルトでは利用可能なすべてのメタデータがエキスポートされる:

RasterSize  (1)

デフォルトでは,画像はその完全な解像度でインポートされる:

インポートしたHEIF画像のラスタサイズを指定する: