(57)【要約】  本開示は、同じフレーム内の第２成分ブロックの関連付けられた再構成第２成分サンプルから、第１成分ブロックについての第１成分サンプルを取得するための線形モデルを導出するためのクロスコンポーネント予測及び方法に関し、この方法は、２点を通る直線を表す線形方程式のパラメータを決定することを含み、各点は２つの変数によって定義され、第１成分及び第２成分の両方の再構成サンプルに基づいて、その第１の変数は第２成分サンプル値に対応し、その第２の変数は第１成分サンプル値に対応し、直線パラメータによって定義される線形モデルを導出する。
2021519525.tif 000002
【特許請求の範囲】
【請求項１】
ファイル内に画像をカプセル化する方法であって、前記方法は、
前記画像の撮像モードに基づくグループ化タイプを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記グループ化タイプ、及び前記画像を前記ファイル内に埋め込むことと、
を含む、方法。
【請求項２】
前記グループ化タイプは、前記グループ化データ構造内に含まれる、請求項１に記載の方法。
【請求項３】
前記グループ化データ構造は汎用撮像モードタイプを含み、
前記グループ化タイプは、前記汎用撮像モードタイプを特徴付けるために、前記グループの前記画像に関連付けられたプロパティデータ構造内に含まれる、請求項１に記載の方法。
【請求項４】
前記プロパティデータ構造は、前記グループ化タイプに関連付けられたパラメータをさらに含む、請求項３に記載の方法。
【請求項５】
前記グループ化データ構造は、汎用撮像モードタイプを含み、
前記グループ化タイプは、追加のパラメータとして前記グループ化データ構造内に含まれる、請求項１に記載の方法。
【請求項６】
前記グループ化データ構造に関連付けられたプロパティデータ構造が、前記ファイル内にさらに埋め込まれる、請求項１に記載の方法。
【請求項７】
ファイル内に画像をカプセル化する方法であって、前記方法は、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記ラベルパラメータ、及び前記画像を前記ファイル内に埋め込むことと、
を含む、方法。
【請求項８】
ファイル内に画像をカプセル化する方法であって、前記方法は、
前記画像の撮像モードに基づくグループ化タイプを決定することと、
第１の画像に関連付けられた参照データ構造を生成し、第２の画像を参照することであって、前記参照データ構造は前記グループ化タイプを含む、生成することと、
前記参照データ構造及び前記画像を前記ファイル内に埋め込むことと、
を含む、方法。
【請求項９】
ファイル内の画像を読み取る方法であって、前記方法は、
前記画像の撮像モードに基づくグループ化タイプを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記グループ化タイプに従う前記グループ化データ構造内で識別される前記画像を読み取ることと、
を含む、方法。
【請求項１０】
前記グループ化タイプは、前記グループ化データ構造内に含まれる、請求項９に記載の方法。
【請求項１１】
前記グループ化データ構造は汎用撮像モードタイプを含み、
前記グループ化タイプは、前記汎用撮像モードタイプを特徴付けるために、前記グループの前記画像に関連付けられたプロパティデータ構造内に含まれる、請求項９に記載の方法。
【請求項１２】
前記プロパティデータ構造は、前記グループ化タイプに関連付けられたパラメータをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記グループ化データ構造は、汎用撮像モードタイプを含み、
前記グループ化タイプは、追加のパラメータとして前記グループ化データ構造内に含まれる、請求項９に記載の方法。
【請求項１４】
前記グループ化データ構造に関連付けられたプロパティデータ構造が、前記ファイル内にさらに埋め込まれる、請求項９に記載の方法。
【請求項１５】
ファイル内の画像を読み取る方法であって、前記方法は、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記ラベルパラメータに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
を含む、方法。
【請求項１６】
ファイル内の画像を読み取る方法であって、前記方法は、
前記画像の撮像モードに基づくグループ化タイプを読み取ることと、
第１の画像に関連付けられた参照データ構造を読み取り、第２の画像を参照することであって、前記参照データ構造は前記グループ化タイプを含む、読み取ることと、
前記ファイル内の前記第１及び第２の画像を読み取ることと、
を含む、方法。
【請求項１７】
データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるボックスである、請求項１乃至１６の何れか１項に記載の方法。
【請求項１８】
グループ化タイプが、オート露光ブラケットモード、ホワイトバランスブラケットモード、フォーカスブラケットモード、フラッシュ露光ブラケットモード、被写界深度ブラケットモード、ＩＳＯブラケットモード、タイムラプスモード、パノラマモード、画像バーストモード、ユーザコレクションモード、超解像モード、多重露光モード、ノイズ低減モード、長秒時露光ノイズ低減モード、口径食補償モード、及び／又はＨＤＲ撮像モードを含む前記撮像モードのうちの少なくとも１つに対して定義される、請求項１乃至６及び９乃至１４の何れか１項に記載の方法。
【請求項１９】
前記グループ化データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＥｎｔｉｔｙＴｏＧｒｏｕｐボックス、ＳａｍｐｌｅＴｏＧｒｏｕｐボックス、又はＴｒａｃｋＧｒｏｕｐボックスのうちの１つである、請求項１乃至６の何れか１項に記載の方法。
【請求項２０】
前記プロパティデータ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＳａｍｐｌｅＥｎｔｒｙボックス、ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックス、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックス、又はＩｔｅｍＰｒｏｐｅｒｔｙボックスのうちの１つである、請求項３、４、６、１１、１２、又は１４に記載の方法。
【請求項２１】
ファイル内に画像をカプセル化する装置であって、前記装置は、
前記画像の撮像モードに基づくグループ化タイプを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記グループ化タイプ、及び前記画像をファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項２２】
ファイル内に画像をカプセル化する装置であって、前記装置は、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記ラベルパラメータ、及び前記画像を前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項２３】
ファイル内に画像をカプセル化する装置であって、前記装置は、
前記画像の撮像モードに基づくグループ化タイプを決定することと、
第１の画像に関連付けられた参照データ構造を生成し、第２の画像を参照することであって、前記参照データ構造は前記グループ化タイプを含む、生成することと、
前記参照データ構造及び前記画像を前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項２４】
ファイル内の画像を読み取る装置であって、前記装置は、
前記画像の撮像モードに基づくグループ化タイプを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記グループ化タイプに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
のために構成される回路を含む、装置。
【請求項２５】
ファイル内の画像を読み取る装置であって、前記装置は、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記ラベルパラメータに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
のために構成される回路を含む、装置。
【請求項２６】
ファイル内の画像を読み取る装置であって、前記装置は、
前記画像の撮像モードに基づくグループ化タイプを読み取ることと、
第１の画像に関連付けられた参照データ構造を読み取り、第２の画像を参照することであって、前記参照データ構造は前記グループ化タイプを含む、読み取ることと、
前記ファイル内の前記第１及び第２の画像を読み取ることと、
のために構成される回路を含む、装置。
【請求項２７】
ファイル内にメディアデータをカプセル化する方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を生成することと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を生成することと、
前記グループ化データ構造、前記プロパティデータ構造、及び前記メディアデータを前記ファイル内に埋め込むことと、
を含む、方法。
【請求項２８】
エンティティのグループに関連付けられた少なくとも１つのテキスト属性と、前記少なくとも１つのテキスト属性に関連付けられた言語属性と、を含むテキストプロパティを、プロパティコンテナデータ構造内に生成する、請求項１に記載の方法。
【請求項２９】
テキストプロパティは、それぞれの複数の言語属性に関連付けられた複数の同じテキスト属性を含む、請求項２に記載の方法。
【請求項３０】
プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項２に記載の方法。
【請求項３１】
テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項２又は３に記載の方法。
【請求項３２】
プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを生成することであって、前記テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む、生成すること、を含む、請求項２に記載の方法。
【請求項３３】
テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項６に記載の方法。
【請求項３４】
プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられた前記テキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項６に記載の方法。
【請求項３５】
関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む、請求項１乃至８の何れか１項に記載の方法。
【請求項３６】
ファイル内にメディアデータをカプセル化する方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内にテキストプロパティを生成することと、
前記メディアデータと前記グループ化データ構造とを前記ファイル内に埋め込むことと、
を含む、方法。
【請求項３７】
テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１０に記載の方法。
【請求項３８】
テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項１０又は１１に記載の方法。
【請求項３９】
ファイル内のメディアデータを読み取る方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を読み取ることと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
を含む、方法。
【請求項４０】
エンティティのグループに関連付けられた少なくとも１つのテキスト属性と、前記少なくとも１つのテキスト属性に関連付けられた言語属性と、を含む、プロパティコンテナデータ構造内のテキストプロパティを読み取る、請求項１３に記載の方法。
【請求項４１】
テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１４に記載の方法。
【請求項４２】
プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、グループ化データ構造とを含む、請求項１６に記載の方法。
【請求項４３】
テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項１４又は１５に記載の方法。
【請求項４４】
プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを読み取ることであって、前記テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む、読み取ること、を含む、請求項１４に記載の方法。
【請求項４５】
テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１８に記載の方法。
【請求項４６】
プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項１８に記載の方法。
【請求項４７】
関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む、請求項１３乃至２０の何れか１項に記載の方法。
【請求項４８】
ファイル内のメディアデータを読み取る方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内のテキストプロパティを読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
を含む、方法。
【請求項４９】
テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項２２に記載の方法。
【請求項５０】
テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項２２又は２３に記載の方法。
【請求項５１】
ファイル内にメディアデータをカプセル化する装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を生成することと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を生成することと、
前記グループ化データ構造、前記プロパティデータ構造、及び前記メディアデータを前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項５２】
ファイル内にメディアデータをカプセル化する装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内にテキストプロパティを生成することと、
前記メディアデータと前記グループ化データ構造とを前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項５３】
ファイル内のメディアデータを読み取る装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を読み取ることと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
のために構成される回路を含む、装置。
【請求項５４】
ファイル内のメディアデータを読み取る装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内のテキストプロパティを読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
のために構成される回路を含む、装置。
【請求項５５】
プログラム可能機器に読み込まれ実行されるときに、請求項１乃至２０及び２７乃至５０の何れか一項に記載の方法を実装するための命令のシーケンスを含む、プログラム可能機器のためのコンピュータプログラム製品。
【請求項５６】
請求項１乃至２０及び２７乃至５０の何れか１項に記載の方法を実装するためのコンピュータプログラムの命令を格納する、コンピュータ可読記憶媒体。
【請求項５７】
実行されると、請求項１乃至２０及び２７乃至５０の何れか一項に記載の方法を行わせる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ファイル内に複数の画像をカプセル化するための方法及び装置に関する。
【背景技術】
【０００２】
最新のカメラでは、画像を撮像するためにさまざまな撮像モードが提供されている。これらの撮像モードのいくつかによれば、一連の画像が撮像される。例えば、それらのカメラはいくつかの画像が撮像されるブラケットモードを提供し、撮像の１つのパラメータの値は撮像画像毎に変化する。このパラメータは例えば、露光時間、ホワイトの値、又はフォーカスであってもよい。画像バーストモードは、遅延なしに一連の画像を撮る能力を提供する。これは、例えば、スポーツにおける高速イベントを撮像するために使用することができる。パノラマモードは、シーンの大きなビューを再構成するために一連の重なり合う画像を取得することを可能にする。
【０００３】
カメラで撮像された画像は、例えばメモリカード等の記憶装置に格納される。この画像は、典型的には記憶装置上のデータのサイズを縮小するために符号化される。ＪＰＥＧやより最近のＨＥＶＣ規格のように、多くの符号化規格が使われてもよい。
【０００４】
ＨＥＶＣ規格は静止画像の符号化のためのプロファイルを定義し、単一の静止画像又は静止画像のバーストを圧縮するための特定のツールを記述する。このような種類の画像データに使用されるＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）の拡張が、「ＨＥＩＦ又はHigh Efficienccy Image File Format」という名称でＩＳＯ／ＩＥＣ  ２３００８規格の第１２部に含めるために提案されている。
【０００５】
ＨＥＩＦ (High Efficiency Image File Format)は、画像及び画像シーケンスの記憶と共有とのためにMoving Picture Experts Group(ＭＰＥＧ)によって開発された規格である。
【０００６】
ＭＩＡＦ (Multi-Image Application Format)はＭＰＥＧによってＩＳＯ／ＩＥＣ ２３０００規格部２２に開発された規格であり、高効率画像ファイル（ＨＥＩＦ）フォーマットに埋め込まれた画像の作成、読み取り、解析、及び復号のための正確な相互運用性点に対するＨＥＩＦ仕様の制約のセットを定義する。
【発明の概要】
【０００７】
符号化画像のプロパティを記述する限定されたグループ化機構及び限定された機構を提供する一方で、ＨＥＩＦ及びＭＩＡＦファイルフォーマットは、引用された撮像モード若しくは収集モードの一つに従う撮像又は編集の結果として生じる画像及び画像のグループを収集及び記述するように適合された効率的なグループ化及びプロパティ記述機構を提供しない。
【０００８】
本発明は、前述の問題のうちの１つ以上を対処するように考案された。本発明は、複数の画像をもたらす撮影モード及び編集モードに適合した、ＨＥＩＦにおけるグループ化とプロパティメカニズムとの拡張に関する。
【０００９】
本発明の別の態様によれば、ファイル内に画像をカプセル化する方法であって、
画像の撮像モードに基づくグループ化タイプを決定することと、
画像をグループとして記述するグループ化データ構造を生成することであって、グループ化データ構造はグループの画像の画像識別子を含む、生成することと、
グループ化データ構造、グループ化タイプ、及び画像をファイル内に埋め込むことと、を含む方法が提供される。
【００１０】
一実施形態では、グループ化タイプはグループ化データ構造内に含まれる。
【００１１】
一実施形態では、
グループ化データ構造は汎用撮像モードタイプを含み、
グループ化タイプは、汎用撮像モードタイプを特徴付けるために、グループの画像に関連付けられたプロパティデータ構造内に含まれる。
【００１２】
一実施形態では、プロパティデータ構造はグループ化タイプに関連付けられたパラメータをさらに含む。
【００１３】
一実施形態では、
グループ化データ構造は、汎用撮像モードタイプを含み、
グループ化タイプは、追加のパラメータとしてグループ化データ構造内に含まれる。
【００１４】
一実施形態では、グループ化データ構造に関連付けられたプロパティデータ構造が、ファイル内にさらに埋め込まれる。
【００１５】
本発明の別の態様では、ファイル内に画像をカプセル化する方法であって、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
画像をグループとして記述するグループ化データ構造を生成することであって、グループ化データ構造はグループの画像の画像識別子を含む、生成することと、
グループ化データ構造、ラベルパラメータ、及び画像をファイル内に埋め込むことと、を含む方法が提供される。
【００１６】
本発明の別の態様では、ファイル内に画像をカプセル化する方法であって、
画像の撮像モードに基づくグループ化タイプを決定することと、
第１の画像に関連付けられた参照データ構造を生成し、第２の画像を参照することであって、参照データ構造はグループ化タイプを含む、生成することと、
参照データ構造及び画像をファイル内に埋め込むことと、を含む方法が提供される。
【００１７】
本発明の別の態様では、ファイル内の画像を読み取る方法であって、
画像の撮像モードに基づくグループ化タイプを読み取ることと、
画像をグループとして記述するグループ化データ構造を読み取ることであって、グループ化データ構造はグループの画像の画像識別子を含む、読み取ることと、
グループ化タイプに従うグループ化データ構造内で識別される画像を読み取ることと、を含む方法が提供される。
【００１８】
一実施形態では、グループ化タイプはグループ化データ構造内に含まれる。
【００１９】
一実施形態では、
グループ化データ構造は汎用撮像モードタイプを含み、
グループ化タイプは、汎用撮像モードタイプを特徴付けるために、グループの画像に関連付けられたプロパティデータ構造内に含まれる。
【００２０】
一実施形態では、プロパティデータ構造はグループ化タイプに関連付けられたパラメータをさらに含む。
【００２１】
一実施形態では、グループ化データ構造は、汎用撮像モードタイプを含み、
グループ化タイプは、追加のパラメータとしてグループ化データ構造内に含まれる。
【００２２】
一実施形態では、グループ化データ構造に関連付けられたプロパティデータ構造がファイル内にさらに埋め込まれる。
【００２３】
本発明の別の態様では、ファイル内の画像を読み取る方法であって、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることと、
画像をグループとして記述するグループ化データ構造を読み取ることであって、グループ化データ構造はグループの画像の画像識別子を含む、読み取ることと、
ラベルパラメータに従ってグループ化データ構造内で識別される画像を読み取ることと、を含む方法が提供される。
【００２４】
本発明の別の態様では、ファイル内の画像を読み取る方法であって、
画像の撮像モードに基づくグループ化タイプを読み取ることと、
第１の画像に関連付けられた参照データ構造を読み取り、第２の画像を参照することであって、参照データ構造はグループ化タイプを含む、読み取ることと、
ファイル内の第１及び第２の画像を読み取ることと、を含む方法が提供される。
【００２５】
一実施形態では、データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるボックスである。
【００２６】
一実施形態では、グループ化タイプが、オート露光ブラケットモード、ホワイトバランスブラケットモード、フォーカスブラケットモード、フラッシュ露光ブラケットモード、被写界深度ブラケットモード、ＩＳＯブラケットモード、タイムラプスモード、パノラマモード、画像バーストモード、ユーザコレクションモード、超解像モード、多重露光モード、ノイズ低減モード、長秒時露光ノイズ低減モード、口径食補償モード、及び／又はＨＤＲ撮像モードを含む撮像モードのうちの少なくとも１つに対して定義される。
【００２７】
一実施形態では、グループ化データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＥｎｔｉｔｙＴｏＧｒｏｕｐボックス、ＳａｍｐｌｅＴｏＧｒｏｕｐボックス、又はＴｒａｃｋＧｒｏｕｐボックスのうちの１つである。
【００２８】
一実施形態では、プロパティデータ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＳａｍｐｌｅＥｎｔｒｙボックス、ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックス、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックス、又はＩｔｅｍＰｒｏｐｅｒｔｙボックスのうちの１つである。
【００２９】
本発明の別の態様では、ファイル内に画像をカプセル化する装置であって、
画像の撮像モードに基づくグループ化タイプを決定することと、
画像をグループとして記述するグループ化データ構造を生成することであって、グループ化データ構造はグループの画像の画像識別子を含む、生成することと、
グループ化データ構造、グループ化タイプ、及び画像をファイル内に埋め込むことと、のために構成される回路を含む装置が提供される。
【００３０】
本発明の別の態様では、ファイル内に画像をカプセル化する装置であって、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
画像をグループとして記述するグループ化データ構造を生成することであって、グループ化データ構造はグループの画像の画像識別子を含む、生成することと、
グループ化データ構造、ラベルパラメータ、及び画像をファイル内に埋め込むことと、のために構成される回路を含む装置が提供される。
【００３１】
本発明の別の態様では、ファイル内に画像をカプセル化する装置であって、
画像の撮像モードに基づくグループ化タイプを決定することと、
第１の画像に関連付けられた参照データ構造を生成し、第２の画像を参照することであって、参照データ構造はグループ化タイプを含む、生成することと、
参照データ構造及び画像をファイル内に埋め込むことと、のために構成される回路を含む装置が提供される。
【００３２】
本発明の別の態様では、ファイル内の画像を読み取る装置であって、
画像の撮像モードに基づくグループ化タイプを読み取ることと、
画像をグループとして記述するグループ化データ構造を読み取ることであって、グループ化データ構造はグループの画像の画像識別子を含む、読み取ることと、
グループ化タイプに従ってグループ化データ構造内で識別される画像を読み取ることと、のために構成される回路を含む装置が提供される。
【００３３】
本発明の別の態様では、ファイル内の画像を読み取る装置であって、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることと、
画像をグループとして記述するグループ化データ構造を読み取ることであって、グループ化データ構造はグループの画像の画像識別子を含む、読み取ることと、
ラベルパラメータに従ってグループ化データ構造内で識別される画像を読み取ることと、のために構成される回路を含む装置が提供される。
【００３４】
本発明の別の態様では、ファイル内の画像を読み取る装置であって、
画像の撮像モードに基づくグループ化タイプを読み取ることと、
第１の画像に関連付けられた参照データ構造を読み取り、第２の画像を参照することであって、参照データ構造はグループ化タイプを含む、読み取ることと、
記ァイル内の第１及び第２の画像を読み取ることと、のために構成される回路を含む装置が提供される。
【００３５】
本発明の別の態様では、プログラム可能機器に読み込まれ実行されるときに、本発明に記載の方法を実装するための命令のシーケンスを含む、プログラム可能機器のためのコンピュータプログラム製品が提供される。
【００３６】
本発明の別の態様では、本発明に記載の方法を実装するためのコンピュータプログラムの命令を格納するコンピュータ可読記憶媒体が提供される。
【００３７】
本発明の別の態様では、実行されると本発明に記載の方法を行わせるコンピュータプログラムが提供される。
【００３８】
本発明の別の態様では、エンティティ（例えば、画像項目又はトラック）を含む符号化されたビットストリームをカプセル化する方法であって、そのカプセル化されたビットストリームはデータ部とメタデータ部を含む、方法が提供される。この方法は、
メタデータ部に１つ以上のエンティティを識別するエンティティ情報を提供することと、
メタデータ部に複数のグループ化情報の中から選択されたグループ化情報、エンティティ情報によって識別される１つ以上のエンティティがグループ化情報によって示される所定の基準に基づいてグループを形成することを示すシグナリング、それぞれ異なる所定の基準を示すグループ化情報、を提供することと、
ビットストリームを、提供された情報と共にカプセル化されたデータファイルとして出力することと、を含む。
【００３９】
一実施形態では、符号化されたビットストリームは、符号化された撮像画像、又は撮像画像を表す符号化されたサンプルを含む。
【００４０】
一実施形態では、エンティティ情報は少なくとも２つのエンティティを識別する。
【００４１】
一実施形態では、その方法は、撮像特徴に基づいて撮像装置によって画像を撮像することをさらに含み、所定の基準は撮像ステップの撮像特徴のうちの少なくとも１つに関連する。
【００４２】
一実施形態では、グループ化情報は４文字のコードである。
【００４３】
本発明の別の態様では、エンティティ（例えば、画像項目又はトラック）を表す符号化されたビットストリームをカプセル化する方法であって、そのカプセル化されたビットストリームはデータ部及びメタデータ部を含む、方法が提供される。
この方法は、
メタデータ部に１つ以上のエンティティを識別するエンティティ情報を提供することと、
エンティティ情報によって識別される少なくとも２つのエンティティが、少なくとも１つの共通プロパティに基づいてグループを形成することをシグナリングするグループ化情報をメタデータ部に提供することと、
少なくとも１つの共通プロパティについてのプロパティ情報を提供することと、
エンティティ情報によって識別される１つ以上のエンティティのそれぞれ１つを共通プロパティにそれぞれリンクするためのリンク情報を提供することと、
ビットストリームを、提供された情報と共にカプセル化されたデータファイルとして出力することと、を含む。
【００４４】
一実施形態では、エンティティ情報は少なくとも２つのエンティティを識別し、リンク情報はエンティティ情報によって識別される少なくとも２つのエンティティのそれぞれ１つを共通プロパティにリンクする。
【００４５】
一実施形態では、プロパティ情報は少なくとも１つの共通プロパティ、少なくとも２つの異なる値をシグナリングし、リンク情報はエンティティ情報によって識別された少なくとも２つのエンティティのそれぞれ１つを、共通プロパティの少なくとも２つの異なる値にリンクする。
【００４６】
一実施形態では、リンク情報はエンティティ情報によって識別される少なくとも２つのエンティティのそれぞれ１つを、共通プロパティの少なくとも２つの異なる値にリンクする。
【００４７】
一実施形態では、符号化されたビットストリームは、符号化された撮像画像、又は撮像画像を表す符号化されたサンプルを含む。
【００４８】
一実施形態では、その方法は、撮像特徴に基づいて撮像装置によって画像を撮像することをさらに含み、共通の特性は撮像ステップの撮像特徴のうちの少なくとも１つに関連する。
【００４９】
一実施形態では、リンク情報はグループ化構造に含まれるパラメータであり、そのパラメータはプロパティを表すために異なる値をとる。
【００５０】
一実施形態では、リンク情報はプロパティ情報をグループに関連付ける構造（例えば、ボックス）である。
【００５１】
本発明の一態様では、ファイル内にメディアデータをカプセル化する方法であって、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を生成することと、
プロパティとグループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
プロパティコンテナデータ構造と関連付けデータ構造とを含むプロパティデータ構造を生成することと、
グループ化データ構造、プロパティデータ構造、及びメディアデータをファイル内に埋め込むことと、を含む方法が提供される。
【００５２】
一実施形態では、この方法は、
エンティティのグループに関連付けられた少なくとも１つのテキスト属性と、少なくとも１つのテキスト属性に関連付けられた言語属性と、を含むテキストプロパティを、プロパティコンテナデータ構造内に生成することをさらに含む。
【００５３】
一実施形態では、テキストプロパティは、それぞれの複数の言語属性に関連付けられた複数の同じテキスト属性を含む。
【００５４】
一実施形態において、プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、第１の言語は第２の言語とは異なり、関連付けデータ構造は、第１及び第２のテキストプロパティ間の関連付け情報と、グループ化データ構造とを含む。
【００５５】
一実施形態では、テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む。
【００５６】
一実施形態では、この方法は、
プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを生成することであって、テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性とテキスト属性に関連付けられた言語属性とを少なくとも含む、生成すること、を含む。
【００５７】
一実施形態では、テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む。
【００５８】
一実施形態では、プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、第１の言語は第２の言語とは異なり、関連付けデータ構造は、第１及び第２のテキストプロパティ間の関連付け情報と、グループ化データ構造とを含む。
【００５９】
一実施形態では、関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む。
【００６０】
本発明の別の態様では、ファイル内にメディアデータをカプセル化する方法であって、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたテキスト属性とテキスト属性に関連付けられた言語属性とを少なくとも含むグループ化データ構造内にテキストプロパティを生成することと、
メディアデータとグループ化データ構造とをファイル内に埋め込むことと、を含む方法が提供される。
【００６１】
一実施形態では、テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む。
【００６２】
一実施形態では、テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む。
【００６３】
本発明の別の態様では、ファイル内のメディアデータを読み取る方法であって、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を読み取ることと、
プロパティとグループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
プロパティコンテナデータ構造と関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
プロパティに従ってグループ化データ構造内で識別されるメディアデータを読み取ることと、を含む方法が提供される。
【００６４】
一実施形態では、その方法は、
エンティティのグループに関連付けられた少なくとも１つのテキスト属性と、少なくとも１つのテキスト属性に関連付けられた言語属性と、を含む、プロパティコンテナデータ構造内のテキストプロパティを読み取ることをさらに含む。
【００６５】
一実施形態では、テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む。
【００６６】
一実施形態では、プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、第１の言語は第２の言語とは異なり、関連付けデータ構造は、第１及び第２のテキストプロパティ間の関連付け情報と、グループ化データ構造とを含む。
【００６７】
一実施形態では、テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む。
【００６８】
一実施形態では、その方法は、
プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを読み取ることであって、前記テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む、読み取ること、を含む。
【００６９】
一実施形態では、テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む。
【００７０】
一実施形態では、プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む。
【００７１】
一実施形態では、関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む。
【００７２】
本発明の別の態様では、ファイル内のメディアデータを読み取る方法であって、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内のテキストプロパティを読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、を含む方法が提供される。
【００７３】
一実施形態では、テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む。
【００７４】
一実施形態では、テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む。
【００７５】
本発明の別の態様では、ファイル内にメディアデータをカプセル化する装置であって、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を生成することと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を生成することと、
前記グループ化データ構造、前記プロパティデータ構造、及び前記メディアデータを前記ファイル内に埋め込むことと、のために構成される回路を含む装置が提供される。
【００７６】
本発明の別の態様では、ファイル内にメディアデータをカプセル化する装置であって、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内にテキストプロパティを生成することと、
前記メディアデータと前記グループ化データ構造とを前記ファイル内に埋め込むことと、のために構成される回路を含む装置が提供される。
【００７７】
本発明の別の態様では、ファイル内のメディアデータを読み取る装置であって、、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を読み取ることと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、のために構成される回路を含む装置が提供される。
【００７８】
本発明の別の態様では、ファイル内のメディアデータを読み取る装置であって、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内のテキストプロパティを読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、のために構成される回路を含む装置が提供される。
【００７９】
別の実施形態では、プログラム可能機器に読み込まれ実行されるときに、本発明に記載の方法を実装するための命令のシーケンスを含む、プログラム可能機器のためのコンピュータプログラム製品。
【００８０】
別の実施形態では、本発明に記載の方法を実装するためのコンピュータプログラムの命令を格納するコンピュータ可読記憶媒体が提供される。
【００８１】
別の実施形態では、実行されると本発明に記載の方法を行わせるコンピュータプログラムが提供される。
【００８２】
本発明による方法の少なくとも一部は、コンピュータで実施することができる。
したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又は本明細書では全て一般に「回路」、「モジュール」、若しくは「システム」と呼ばれることがあるソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本発明は、媒体に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【００８３】
本発明はソフトウェアで実現することができるため、本発明は、任意の適切なキャリア媒体上のプログラム可能装置に提供するためのコンピュータ可読コードとして実施することができる。有形の非一時的キャリア媒体は、フロッピーディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープ装置又はソリッドステートメモリ装置などの記憶媒体を含んでもよい。過渡搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、又は電磁信号、例えばマイクロ波又はＲＥ信号などの信号を含んでもよい。
【図面の簡単な説明】
【００８４】
ここで本発明の実施形態は、単なる例として、以下の図面を参照して記載される。
【００８５】
【図１】いくつかの画像又は画像のシーケンスを包含するＨＥＩＦファイルの例を示す。
【００８６】
【図２】ＨＥＩＦフォーマットを使用して一連の画像を１つのファイルにカプセル化する処理の主なステップを示す。
【００８７】
【図３】図２のカプセル化処理によって生成されるＨＥＩＦファイルの解析処理の主なステップを示す。
【００８８】
【図４】グループ化データ構造を含む、本発明の第１の実施形態に係る例を示す。
【００８９】
【図５】エンティティのグループの範囲内での項目プロパティの項目との関連付けの例を示す。
【００９０】
【図６】本発明のいくつかの実施形態による、項目プロパティと項目との間の異なる関連付け、エンティティのグループ、又はエンティティのグループの範囲内の項目を示す。
【００９１】
【図７】本発明のいくつかの実施形態による、ＨＥＩＦフォーマットを使用して１つのファイルに１つ以上のエンティティをカプセル化する処理の主なステップを示す。
【００９２】
【図８】本発明のいくつかの実施形態に従って生成されたＨＥＩＦファイルの解析処理の主なステップを示す。
【００９３】
【図９】本発明の１つ以上の実施形態を実施するための計算装置の概略ブロック図である
【発明を実施するための形態】
【００９４】
ＨＥＶＣ規格は静止画像の符号化のためのプロファイルを定義し、単一の静止画像又は静止画像のバーストを圧縮するための特定のツールを記述する。このような種類の画像データに使用されるＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）の拡張が、「ＨＥＩＦ又はHigh Efficienccy Image File Format」という名称でＩＳＯ／ＩＥＣ  ２３００８規格の第１２部に含めるために提案されている。
【００９５】
ＨＥＩＦ及びＭＩＡＦ規格は、異なるユースケースに対応する、
・デコーダで任意に使用されるタイミングを有し、画像が他の画像に依存し得る画像シーケンスの記憶、及び
・単一画像、及び独立して符号化された画像の集合の記憶
の２つの形態の記憶をカバーする。
【００９６】
この第１のケースでは、カプセル化がＩＳＯベースメディアファイルフォーマットにおけるビデオトラックのカプセル化に近く（文書「情報技術−オーディオビジュアルオブジェクトの符号化−第１２部：  ＩＳＯベースメディアファイルフォーマット」、ＩＳＯ／ＩＥＣ  １４４９６−１２：２０１５、第５版、２０１５年１２月を参照）、ファイルレベルが「ｍｏｏｖ」のボックス、「ｔｒａｋ」のボックス（「ｍｏｏｖ」ボックスにカプセル化されている）、並びにサンプル及びサンプルのグループの記述のためのサンプルグループ化など、同様のツール及び概念が使用される。サンプルは単一の時間に関連付けられた全ての時間設定されたデータ（例えば、ビデオ内のフレーム又は画像シーケンス内の画像）を示す。
【００９７】
ボックスはコンテナとも呼ばれ、ファイル内のデータを記述するために提供されるデータ構造である。ボックスは、一意のタイプ識別子（通常は４文字のコード、ＦｏｕｒＣＣ又は４ＣＣとも記される）と長さとによって定義されるオブジェクト指向のビルディングブロックである。ファイル内の全てのデータ（メディアデータ及びそのメディアデータを記述するメタデータ）は、ボックスに包含されている。このファイル内には他のデータがない。ファイルレベルのボックスは、他のボックスに包含されていないボックスである。
【００９８】
「ｍｏｏｖ」ボックスは「ｔｒａｋ」サブボックスを包含するファイルフォーマットボックスであり、各「ｔｒａｋ」ボックスはトラック、すなわち関連サンプルの時系列を記述する。
【００９９】
この第２のケースでは、ＩＳＯＢＭＦＦボックスのセットである「ｍｅｔａ」ボックスが使用される。これらのボックス及びそれらの階層は「ｔｒａｃｋ  ｒｅｌａｔｅｄ」ボックス（「ｔｒａｋ」ボックス階層）よりも少ない記述ツールを提供し、関連サンプルの代わりに「情報項目」又は「項目」に関連する。「ボックス」という表現及び「コンテナ」という表現は、両方とも、ファイル内の画像データの構成及び／又はプロパティを記述するメタデータを包含するデータ構造を指すために同じ意味で使用されてもよいことに留意されたい。同じ「ボックス」という表現及び「コンテナ」という表現はファイル中の画像データを包含するメタデータ構造（例えば「ｍｄａｔ」や「ｉｄａｔ」ボックス）を指すために同じ意味で使用されてもよい。
【０１００】
図１は、１つ以上の静止画像及び可能であればビデオ又は画像のシーケンスのようなメディアデータを包含するＨＥＩＦファイル１０１の例を示す。このファイルには、ファイルのタイプの識別子（通常は４つの文字コードのセット）を包含する、第１の「ｆｔｙｐ」ボックス（ＦｉｌｅＴｙｐｅＢｏｘ）１１１が包含されている。このファイルには、１つ以上の静止画を記述するメタデータ構造を含む一般的な時間設定のされていないメタデータを包含するために使用される、「ｍｅｔａ」と呼ばれる第２のボックス(ＭｅｔａＢｏｘ)１０２が含まれている。この「ｍｅｔａ」ボックス１０２は、いくつかの単一画像を記述する「ｉｉｎｆ」ボックス（ＩｔｅｍｌｎｆｏＢｏｘ）１２１を包含する。各単一画像は、項目１２１１及び１２１２とも示されるメタデータ構造ＩｔｅｍｌｎｆｏＥｎｔｒｙによって記述される。各項目は、一意の３２ビット識別子item_IDを有する。これらの項目に対応するメディアデータは、メディアデータ用のコンテナである「ｍｄａｔ」ボックス１０４に格納される。
【０１０１】
任意選択で、画像シーケンス又はビデオの記憶を記述するために、ＨＥＩＦファイル１０１は、いくつかのトラック１３１及び１３２を記述する「ｍｏｏｖ」（ＭｏｖｉｅＢｏｘ）１０３と呼ばれる第３のボックスを包含することができる。典型的には、トラック１３１は時間情報が必ずしも意味がない画像のセットを記述するように設計された画像シーケンス（「ｐｉｃｔ」）トラックであり、トラック１２２はビデオコンテンツを記述するように設計されたビデオ（「ｖｉｄｅ」）トラックである。これらの両方のトラックは一連の画像サンプルを記述し、画像サンプルは例えばビデオシーケンスのフレームのように、同時に撮像されたピクセルのセットである。２つのトラック間の主な違いは、「ｐｉｃｔ」トラックではタイミング情報は必ずしも意味がないが、「ｖｉｄｅ」トラックについてはタイミング情報がサンプルの表示部のタイミングを制約するように意図されていることである。これらのサンプルに対応するデータは、メディアデータ用のコンテナである「ｍｄａｔ」ボックス１０４に格納される。
【０１０２】
「ｍｄａｔ」コンテナ１０４は、データ部分１４１及び１４２によって表される項目に対応する時間設定のされていない符号化画像と、データ部分１４３によって表されるサンプルに対応する時間設定のされた符号化画像とを格納する。
【０１０３】
ＨＥＩＦファイル１０１の目的は、１つのＨＥＩＦファイルに複数の画像を格納するために利用可能な異なる代替例を記述することである。例えば複数の画像を、項目、又は「ｐｉｃｔ」トラック若しくは「ｖｉｄｅ」トラックであり得るサンプルのトラックのどちらかとして格納できる。実際の選択は、典型的には画像のタイプ及び予期されるファイルの用途に従ってファイルを生成するアプリケーション又は装置によって行われる。
【０１０４】
ＨＥＩＦ標準は画像に関連付けられるプロパティを指定するために設計されたいくつかのメカニズムを、特に、画像のプロパティ、及びより一般的には項目（あらゆる種類のメディアタイプ）のプロパティを宣言又は格納するためのいくつかのメタデータ構造を提供する。典型的には、「ｍｅｔａ」ボックス１０２は、任意の項目と順序付けられた一連の項目プロパティとの関連付けを可能にする「ｉｐｒｐ」ボックス（ＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ）１２３を包含してもよい。この「ｉｐｒｐ」ボックス１２３は、ＨＥＩＦファイルに記述される全ての項目のプロパティを記述する全てのプロパティデータ構造（ＩｔｅｍＰｒｏｐｅｒｔｙ及びｉｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ）１２３３を包含するプロパティコンテナデータ構造である「ｉｐｃｏ」ボックス（ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ）１２３１を包含する。ｉｐｒｐボックスは「ｉｐｍａ」ボックス（ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ）のセットも包含しており、これは１つ以上の項目プロパティを所与の項目に実際に関連付けるアソシエーションデータ構造である。その場合、同じプロパティをいくつかの項目に関連付けることが可能である。
【０１０５】
関連付けられた構文は次のとおりである。
aligned (8) class ItemProperty(property_type) extends Box(property_type)
{
}
aligned (8) class ItemFullProperty(property_type, version, flags) extends FullBox(property_type, version, flags)
{
}
aligned(8) class ItemPropertyContainerBox extends Box('ipco')
{
Box properties [] ; //ボックスを満たすために
//ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙから導出されるボックス
}
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma', version, flags)
{
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++) {
if (version < 1)
unsigned int(16) item_ID;
else
unsigned int(32) item_ID;
unsigned int(8) association_count;
for (i=0; i<association_count; i++) {
bit(1) essential;
if (flags & 1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
aligned(8) class ItemPropertiesBox extends Box('iprp') {
ItemPropertyContainerBox property_container;
ItemPropertyAssociationBox association [];
}
【０１０６】
ＩｔｅｍＰｒｏｐｅｒｔｙ及びＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックスはプロパティの記述のために設計され、すなわち、全てのプロパティはＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙのいずれかから継承されることになる。ＩｔｅｍＰｒｏｐｅｒｔｙと比較して、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙは、異なる構文を有する複数のバージョンのプロパティを条件付きでｖｅｒｓｉｏｎパラメータの値に定義でき、オプションの機能又はパラメータを通知／アクティブ化するフラグのマップを条件付きでｆｌａｇｓパラメータの値に定義できる。
【０１０７】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘは、プロパティのセットをＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックスの配列として記述するために設計されている。
【０１０８】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、項目とそのプロパティ間の関連付けを記述するように設計されている。それは項目識別子のリストの説明を提供し、各項目識別情報（item_ID）は、ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内のプロパティを参照するプロパティインデックスのリストに（１ベースのインデックス値として）関連付けられる。インデックス値０は、プロパティがその項目に関連付けられていないことを示すために予約される。ｅｓｓｅｎｔｉａｌ属性は、１に設定されている場合には関連付けられたプロパティがその項目に必須であり、そうでない場合には必須ではないことを示す。
【０１０９】
最後に、ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘとＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘがＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ内で収集される。
【０１１０】
ＩＳＯベースメディアファイルフォーマットは、項目及び／又はトラックのグループ化のために適合されるグループ化機構を明記する。この機構では、「エンティティ」という表現がメディアデータを項目（画像やメタデータ項目などの任意のタイプの項目）又はトラック（ビデオトラック「ｖｉｄｅ」、画像トラックのシーケンス「ｐｉｃｔ」、オーディオトラック、又はその他の任意のタイプのトラック）として参照するために使用される。この機構は、エンティティのグループ化を指定する。
【０１１１】
「ｍｅｔａ」ボックス１０２は、エンティティ１２２１及び１２２２のグループを記述するメタデータ構造のセットを包含することができるコンテナボックス「ｇｐｒｌ」(ＧｒｏｕｐｓＬｉｓｔＢｏｘ)１２２を包含してもよい。
【０１１２】
エンティティのグループは、次の構文に従って定義されたＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ と呼ばれるグループ化データ構造によって記述される。
aligned(8) class EntityToGroupBox(grouping_type, version, flags) extends FullBox(grouping_type, version, flags) {
unsigned it(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0 i<num_entities_in_group i++)
unsigned int(32) entity_id;
//残りのデータは特定のグループ化タイプに対して指定されてもよい
}
【０１１３】
group_idはエンティティのグループの一意の識別子であり、この場合、一意とは、ファイル内で一意であると理解する必要がある。これは、任意のＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのgroup_id値、ＧｒｏｕｐｓＬｉｓｔＢｏｘを含む階層レベル（ファイル、ムービー、又はトラック）のitem_ID値、又は任意のtrack_ID値（ＧｒｏｕｐｓＬｉｓｔＢｏｘがファイルレベルに包含されている場合）と等しくないものとする。次に、entity_idのリストは、グループに属する全てのエンティティを与える。
【０１１４】
grouping_typeは、グループ化のタイプを指定するために使用される。ＨＥＩＦは、grouping_type値の制限値を実際に定義する。第１のgrouping_type「ａｌｔｒ」は、異なるエンティティが代替的にアプリケーションで使用され得る代替物であることを指定する。第２のgrouping_type「ｅｑｉｖ」は、所与の時間設定のされていない画像がトラックのタイムライン内の特有の位置に関連することを指定する。「ｅｑｉｖ」エンティティグループに含まれる全ての項目は「均等物」であり、同じ「ｅｑｉｖ」エンティティグループ内のトラックは、その項目に対して「均等物」である選択されたサンプルを含む。第３のgrouping_type「ｓｔｅｒ」は、ステレオ・アプリケーションにおいて、２つのエンティティがステレオ写真、典型的には左右のビューであることを指定する。エンティティーの他のグループ化タイプは指定されない。
【０１１５】
この機構は、指定されたグループのタイプが３つのみであるように、非常に限定されていることに留意されたい。また、グループ上又はグループ内のエンティティ上に、さらなる潜在的な情報又はプロパティをいくつか提供するために指定されているものはない。
【０１１６】
本発明は、所与の撮像モードに従って撮像された画像のグループを記述するための手段を提供する機構を提供する。これは、使用された撮像モードを記述するための手段を提供する。いくつかの実施形態では、撮像に関するいくつかの追加情報は、画像のグループに関連して記述されてもよい。
【０１１７】
本発明は、ＨＥＩＦフォーマットを使用してカプセル化することができるエンティティの他のグループにも適用することができる。例えば、本発明はＥｘｉｆデータのグループなどのメタデータのグループに適用できる。別の例として、本発明はオーディオサンプルのグループに適用することができる。
【０１１８】
図２は、ＨＥＩＦフォーマットを使用して一連の画像を１つのファイルにカプセル化する処理の主なステップを示す。カメラは例えば、この処理を適用してもよい。与えられた例は、異なる撮像モードに従ってカメラによって撮像された画像のグループ化に適用される。
【０１１９】
まず、ステップ２０１において、一連の写真の撮像モードが決定される。この一連の画像の撮像モードは、シリーズの画像間の関係の種類を記述する。例えば、撮像モードは次のいずれかである。
【０１２０】
ブラケット撮像モードは、自動露光、ホワイトバランス、フォーカス、フラッシュブラケット撮像モードを含む。これらの全てのブラケットモードは、撮影の１つ以上のパラメータの値が異なる、同じコンテンツのいくつかのショットを行うことで構成される。これらの異なるブラケットモードは、一連の撮像で値が変化するパラメータで異なる。この撮像システムは、その異なるバージョンを生成するために１つの撮像パラメータを変更する。例えば、自動露光ブラケットでは、露光の時間は画像撮像ごとに修正される。
【０１２１】
画像バーストは、２つの画像撮像間の短い時間隔で一連の画像を連続的に撮像することにある撮像モードである。
【０１２２】
パノラマは、複数の画像が各撮像間で重なり合って撮像される撮像モードである。この場合、その原理は、より高い解像度のパノラマを形成するため、撮像された各画像をステッチすることである。
【０１２３】
タイムラプスは、各ショットの間に予め定められたタイミングで、複数の画像を同じ装置で撮像することにある撮像モードである。
【０１２４】
ユーザコレクションは、写真シリーズとも呼ばれ、同じコンテキストを共有するシリーズ内の画像をユーザが関連付ける撮像モードである。例えば、フォトグラフは同じ製品のいくつかの写真を作成し、作成した全ての画像を同じファイル内に格納したい。フォトグラフは、セッションの開始時にユーザ収集撮像モードを開始する。フォトグラフは、撮影セッションが終了すると撮影モードを停止する。
【０１２５】
超解像は、より高い解像度を有する新しい画像を生成するために処理することができる、異なる解像度でいくつかの画像を撮像することにある撮像モードである。
【０１２６】
多重露光は、画像の多重露光設定の重ね合わせである新しい画像を生成することを目的として、異なる露光でいくつかの画像を撮像することにある撮影モードである。
【０１２７】
ノイズ低減は、撮像処理によって生成されるランダムノイズを低減するために、単一のシーンのいくつかの画像を撮像することにある撮像モードである。
【０１２８】
長秒時露光ノイズ低減は、長秒時露光中にセンサ関連のノイズを除去するための撮像モードである。このモードでは、通常の画像に加えて、「ダーク」と呼ばれる画像が、光をセンサに到達させることなく（例えば、レンズ上にキャップを置くことによって、又はシャッタを開かないことによって）、同じ露光持続時間で撮像される。この「ダーク」は、通常の画像からセンサ関連のノイズを除去するために使用できる。
【０１２９】
口径食補償は、レンズの口径食を補償するための撮像モードである。多くのレンズは光に対して不均一な反応を有する（典型的には、中央よりも隅でレンズを通過してくる光が少ないことから、画像の隅は中央よりも暗くなる）。この不均一性を補償するために、「フラット」と呼ばれる基準画像が、均一に照明された表面の画像を撮ることによって撮像される。この基準画像は、同じレンズでの他の画像撮像の不均一性を補正するために使用することができる。
【０１３０】
ＨＤＲ(High Dynamic Range)は、撮像シーンにおける光度の非常に大きな差を処理するための撮像モードである。その結果として得られる画像は、異なる露光を有するいくつかの画像の組合せである。これは自動露光ブラケットモードに類似しているが、より一般的なやり方では画像間の露光変動が規則的でなくてもよく、又は不特定であってもよい。
【０１３１】
ステップ２０１で撮像モードが選択されたならば、ステップ２０２、２０３、及び２０４からなる処理ループが適用される。撮像モードの終了まで（例えば、装置のグラフィカルユーザインターフェース又は物理的なユーザインターフェースで特定のオプション又はボタンを起動することによって）、撮像装置はまずステップ２０３で画像を撮像し、次いでステップ２０４で、符号化された画像をファイルフォーマットでカプセル化する。撮像ステップ２０３は、画像の取得と、ビデオ又は静止ピクチャコーデックを使用する際の画像の符号化とを含む。例えば、この例では、コーデックはＨ．２６４又はＨＥＶＣ／Ｈ．２６５フォーマットである。
【０１３２】
画像の記憶のために、２つの主な可能代替例が利用可能である。
【０１３３】
第１の代替例では、画像は独立して符号化され、ＨＥＩＦ項目としてファイルに格納される。このカプセル化ステップの間に、撮像の条件に関する追加情報がファイル内に提供されてもよい。例えば、自動露光ブラケットモードの場合、各画像の撮像に使用される露光データが提供されてもよい。この説明は、ＩｔｅｍＰｒｏｐｅｒｔｙボックスのプロパティを使用して提供される。
【０１３４】
第２の代替例では、画像は「ｐｉｃｔ」又は「ｖｉｄｅ」トラックに格納される。追加情報は、ＳａｍｐｌｅＥｎｔｒｙ又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを使用して提供されてもよい。画像の符号化はビデオ符号化と同様に、ＨＥＶＣエンコーダを使用して以前の画像に依存してもよい。そのトラック内の以前の画像は、予測符号化のための基準画像として利用可能である。
【０１３５】
ステップ２０５において、一連の画像のカプセル化が終了される。このステップの間に、画像のグループとしての撮像された画像の格納は、先に述べた利用可能なグループ化機構の一つを使用してファイル内にシグナリングされる。ステップ２０４の間に撮像モードのタイプは、グループ化機構内でシグナリングされてもよく、あるいは画像ごとに格納された追加情報内でシグナリングされてもよい。
【０１３６】
図２で説明したような画像の記憶を行えるようにするために、新しいタイプのグループ化が、関連付けられたプロパティを有するファイル内のこれらのタイプのグループ化をシグナリングするための新しい方法と共に必要である。
【０１３７】
一実施形態では、２つ以上の撮像モードが一度に使用される。例えば、天文写真では、長秒時露光ノイズ低減と口径食補償の両方が一度に使用される。
【０１３８】
別の実施形態では、撮像モードが一連の画像から２つ以上のグループを生成する。例えば、タイムラプスでは、最初のグループ化は全ての画像を包含し、一方で２番目のグループ化は１つおきの画像を包含する。
【０１３９】
別の実施形態では、ステップ２０５に続いて、撮像編集ステップが実現される。この撮像編集ステップでは、新しい画像のグループが作成される。この撮像編集ステップは複数回実現されることができ、その結果、いくつかの画像のグループの追加が起こる。
【０１４０】
最初の可能なことは、初期の撮像モードと同じ撮像モードに対応する新しいグループ化を追加することである。例えば、撮影時には、毎秒の画像を包含するタイムラプスが実現される。タイムラプス画像は、撮像の終わりに一緒にグループ化される。撮像編集時に、１秒おきの画像を有する別のタイムラプスに対応する、２番目のグループ化が作成される。
【０１４１】
別の可能なことは、別の撮像モードに対応する新しいグループ化を追加することである。例えば、撮像時には、自動露光ブラケットグループが作成される。次いで撮像編集時に、自動露光ブラケットグループのサブセットを包含するＨＤＲグループ化が作成される。このＨＤＲグループ化は、ＨＤＲ画像を生成するための自動露光ブラケットグループ化の画像をいくつか選択した結果である。
【０１４２】
［撮像モードごとの１つのグループ化タイプ］
第１の実施形態によれば、グループ化タイプは、各撮像モードに対して定義される。このグループ化タイプは、グループ化情報内に記述される。
【０１４３】
図４は、この第１の実施形態による例を示す。
【０１４４】
ＩｔｅｍｌｎｆｏＢｏｘ４０３には、画像が項目４０４、４０５、及び４０６として記述されている。
【０１４５】
グループ化情報ボックス、例えばＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ４０１は、撮像モードに基づくグループ化タイプを含む。次に、グループ化情報ボックス４０１は、そのグループに属する項目の項目識別子のリスト４０２を含む。
【０１４６】
例えば、汎用的な「ｂｒａｋ」グループ化タイプがブラケット撮像モードのために定義されてもよい（ここでの「ｂｒａｋ」コードは一例である）。特有のタイプのブラケットモード、即ち、自動露光ブラケット、ホワイトバランスブラケット、フォーカスブラケット、フラッシュ露光ブラケット、被写界深度ブラケット及びＩＳＯブラケットは、「ｂｒａｋ」グループ化タイプのパラメータを用いてシグナリングされてもよい。例えば、エンティティのグループ化機構では、ＥｎｔｉｔｙＴｏＧｒｏｕｐがブラケットのタイプを決定するbracketing_typeパラメータを包含する。通常、bracketing_typeパラメータは、予約済みの４文字コードである。４文字コードの１つの値は、各ブラケットタイプごとに予め定められている。別の例では、サンプルのグループ化機構が使用され、「ｂｒａｋ」グループ化タイプのパラメータがＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの特定の種類で記述されている（ＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙから継承している）。
【０１４７】
あるいは、特定のグループ化タイプは、各特有のブラケット撮像モードごとに定義されてもよい。「ａｅｂｒ」は自動露光ブラケット撮影に対して、「ｗｂｂｒ」はホワイトバランスブラケット撮影に対して、「ｆｏｂｒ」はフォーカスブラケット撮影に対して、「ａｆｂｒ」はフラッシュ露光ブラケット撮影に対して、「ｄｏｂｒ」は被写界深度ブラケット撮影に対して、「ｉｓｂｒ」はＩＳＯブラケット撮影に対して定義されてもよい。
【０１４８】
タイムラプス撮像モードについて、グループ化タイプ「ｔｉｌａ」が定義されてもよい。このタイプのグループ化は、写真がいくつか撮られる、時間が重要である全ての用途をカバーする。主な用途は、写真間の規則的な時間隔の有無に関わらず、タイムラプスに対してである。タイムラプスのパラメータ（例えば、そのタイムラプスの合計持続時間、各画像間のオフセット）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１４９】
グループ化タイプ「ｐａｎｏ」は、パノラマグループ化タイプに対して定義されてもよい。これは、写真がいくつか撮られる、空間次元が重要である全ての用途を含む。これは、パノラマだけでなく所与の項目の異なるビューも含む。パノラマのパラメータ（例えば、左から右、右から左、ｚスキャン又はスパイラルスキャンなどの撮像パターン）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５０】
グループ化タイプ「ｉｍｂｕ」又は「ｂｒｓｔ」は、画像バーストグループ化タイプに対して定義されてもよい。これは、いくつかの画像が途切れることなく連続的に撮像される全ての場合をカバーする。画像バーストのパラメータ（例えば、各撮像間の時間オフセット、及び撮像の合計持続時間）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５１】
グループ化タイプ「ｕｃｏｌ」、「ｐｓｅｒ」、「ｌａｂｌ」、又は「ｕｄｃｓ」は、ユーザコレクション、同じタグ若しくはラベルを有する写真シリーズ又は写真のセット、又はユーザ定義の撮像シリーズ撮像モードに対して定義されてもよい。例えば自動処理は、同じ場所に、及び／又は予め定められた時間隔内に、写真ショットをグループ化してもよい。例えば撮像装置は、撮像画像の（例えば、ＧＰＳセンサからの）位置情報を使用して、その位置に対応する町の名前を決定する。同じ町で撮られた全ての画像は、画像の１つのグループを形成する。ユーザコレクションのパラメータ（例えば、撮像の位置又はコンテンツの説明）はグループ化のパラメータを使用して（例えばＥｎｔｉｔｙＴｏＧｒｏｕｐやＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５２】
「ｓｒｅｓ」グループ化タイプは、超解像撮像モードに対して定義されてもよい。これは、より高い解像度を有する新しい画像を生成することを意図していくつかの画像が連続的に撮像される全ての場合をカバーする。超解像グループのパラメータ（例えば、新しい画像の意図された解像度）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５３】
「ｍｕｌｔ」グループ化タイプは、多重露光撮像モードに対して定義されてもよい。これは、グループ内の画像の重ね合わせによって形成される新しい画像を生成することを意図して、いくつかの画像が連続的に撮像される全ての場合をカバーする。多重露光のパラメータ（例えば、グループの各画像に対するアルファブレンディング係数を示すことができる、画像のセットをブレンドするためのパラメータ）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５４】
グループ化タイプ「ｎｏｉｓ」は、ノイズ低減撮像モードに対して定義されてもよい。これは、より少ないノイズを有する新しい画像を生成することを意図していくつかの画像が連続的に撮像される全ての場合をカバーする。
【０１５５】
グループ化タイプ「ｄａｒｋ」は、長秒時露光ノイズ低減撮像モードのために定義されてもよい。これは、１つ以上の「ダーク」な画像（すなわち、光をセンサに到達させずに撮像された画像）と並んで１つ以上の画像が撮像される全ての場合をカバーする。長秒時露光ノイズ低減のパラメータ（例えば、どの画像がダークな画像に対応するか）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５６】
グループ化タイプ「ｆｌａｔ」は、口径食補償撮像モードに対して定義されてもよい。これは、１つ以上の「フラット」な画像（すなわち、均一に照明されたシーン上で撮像された画像）と並んで１つ以上の画像が撮像される全ての場合をカバーする。口径食補償のパラメータ（例えば、どの画像がフラットな画像に対応するか）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）シグナリングされてもよい。
【０１５７】
グループ化タイプ「ｈｄｒ  」は、ＨＤＲ撮像モードに対して定義されてもよい。これは、ＨＤＲ画像を生成するために１つ以上の画像が撮像される全ての場合をカバーする。ＨＤＲ撮像モードのパラメータ（例えば、最も明るい領域に対応するものから最も暗い領域に対応するものまでの画像の順序付け）はグループ化のパラメータを使用して（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙパラメータとして）選ばれてもよい。
【０１５８】
他のグループ化タイプは、これらのグループ化タイプの２つ以上を組み合わせて定義されてもよい。例えば、天文画像の場合、グループ化タイプ「ａｓｔｒ」は、長秒時露光ノイズ低減と口径食補償との両方を組み合わせて定義されてもよい。
【０１５９】
例えば、フォトグラフはＡＥブラケットを使用して２つの写真を作る。その結果、３×２のサンプルが得られる。各写真は、１つの画像項目に埋め込まれる。
【０１６０】
したがって、ＨＥＩＦファイルは以下で説明する６つの項目を包含する。
・項目１:ltem_id=１ //短い露光時間（例えば、exposure_stop=−２）で撮像される
・項目２:ltem_id=２ //中程度の露光時間（例えば、exposure_stop=０）で撮像される
・項目３:ltem_id=３ //長い露光時間（例えば、exposure_stop=２）で撮像される
・項目４:ltem_id=４ //短い露光時間（exposure_stop=−２）で撮像される
・項目５:ltem_id=５ //中程度の露光時間（例えば、exposure_stop=０）で撮像される
・項目６:ltem_id=６ //長い露光時間（例えば、exposure_stop=２）で撮像される
【０１６１】
グループ化タイプ値「ａｅｂｒ」を持つＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘが定義される。２つのエントリ（３つのサンプルの各ＡＥシリーズに対して１つ）が存在する。
Goups ListBox{
EntityToGroupBox('aebr') {
group_id='1234' //第１のブラケットセットの識別子
num_entities_in_group=3 //ブラケットセットサイズが３に等しい
entity_id=l //第１の項目参照
entity_id=2 //第２の項目参照
entity_id=3 //第３の項目参照
}
EntityToGroupBox('aebr') {
group_id='1235' //第２のブラケットセットの識別子
num_entities_in_group=3 //ブラケットセットサイズが３に等しい
entity_id=4 //第２のセットの第１の項目、すなわち第４の項目参照
entity_id=5 //第３のセットの第１の項目、すなわち第５の項目参照
entity_id=6 //第４のセットの第１の項目、すなわち第６の項目参照
}
}
【０１６２】
［汎用撮像シリーズグループ化タイプ］
第２の実施形態では、「撮像シリーズ」のための汎用グループ化タイプ「ｃａｓｅ」が定義される（４文字コード「ｃａｓｅ」は１つの例であり、任意の未使用の予約された４文字コードが使用されてもよい）。このグループ化タイプは、先に述べた全ての撮像モードに対して使用するよう意図されている。シリーズの画像が項目として記述されるとき、このグループ化情報は、「ｃａｓｅ」に等しいGrouping_typeパラメータを有するＥｎｔｉｔｙＴｏＧｒｏｕｐ情報ボックスである。シリーズの画像がトラック（「ｖｉｄｅ」又は「ｐｉｃｔ」トラックのいずれか）でのサンプルとして記述されている場合、そのグループ化情報は、例えば「ｃａｓｅ」に等しいGrouping_typeを有するＳａｍｐｌｅＴｏＧｒｏｕｐ及びＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＢｏｘ情報ボックスである。
【０１６３】
ＨＥＩＦが異なる撮像モードを有するいくつかの画像を包含する場合、それらは全て同じ「ｃａｓｅ」グループに所属する。一連の項目又はサンプルが撮像シリーズグループに所属する場合、カプセル化は、グループ化タイプ「ｃａｓｅ」を指定しなければならない。異なる撮像間を区別するために、撮像モードのタイプがプロパティ情報でシグナリングされてもよい。例えば、ＳａｍｐｌｅＥｎｔｒｙ、ＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＥｎｔｒｙ、ＩｔｅｍＰｒｏｐｅｒｔｙ、又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙが、そのグループのいくつかの項目のシリーズに関連する撮像モード及び／又はパラメータを正確にするために使用されてもよい。
【０１６４】
例えば、画像が項目として格納されている場合、ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘは、一連の画像の撮像モードを記述する一連のＩｔｅｍＰｒｏｐｅｒｔｙボックスを包含する。例えば、あるプロパティは自動露光ブラケット撮影モードを記述し、一方で別のプロパティは撮像に使用された実際の露光値を記述する。
【０１６５】
別の実施形態では、プロパティ情報がＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ情報として指定される。この実施形態では、ＳａｍｐｌｅＴｏＣｈｕｎｋＢｏｘはカメラに記録されたマルチ画像ファイルのｍｏｏｖ／ｔｒａｋ／ｓｔｂｌボックス階層に存在する。チャンクは、サンプルの連続したセットである。ＳａｍｐｌｅＴｏＣｈｕｎｋＢｏｘのsample_description_indexは、このチャンクのサンプルに適用されるＳａｍｐｌｅＥｎｔｒｙの「ｓｔｓｄ」ボックス内のインデックスを提供する。特定のビジュアルサンプルエントリは通常のビジュアルサンプルエントリ（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１５におけるような、「ｈｖｃ１」又は「ａｖｃ１」タイプ）と比較して、余分なボックスを包含して定義される。この余分なボックスはグループ化タイプに対するパラメータ、例えば、ブラケットモードの記述、又はユーザによって提供されるタグ若しくはラベル（又は本発明の非限定的なリストによって示唆されるような任意の特定のプロパティ）を提供する。
【０１６６】
さらに別の実施形態では、画像のグループ化は２つ以上の撮像モードを組み合わせる。この実施形態では、grouping_type「ｃａｓｅ」を使用してグループ化が指定される。次に、各撮像モードは、それ自身のプロパティ情報を使用して指定される。
【０１６７】
自動露光ブラケット撮像モードに関して、第１の実施形態では、露光の値は、Ｉｔｅｍｐｒｏｐｅｒｔｙ又はＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙとして、プロパティ情報内で次のように記述される。
1 . Syntax for Item Property
aligned (8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_stop;
}
2. Syntax for Sample Entry
Box type :'aebr'
Container : VisualSampleEntry
Mandatory : No
Quantity : Zero or one
aligned (8) class AutoExposureBracketing extends Box ('aebr') {
int (8) exposure_stop;
3. Syntax for Sample Group Entry
aligned (8) class AutoExposureBracketingEntry extends VisualSampleGroupEntry('aebr') {
int (8) exposure_stop
4. Semantic
・exposure_stopはこの項目のＥＶ絞りを指定する整数値である。
【０１６８】
別の実施形態によれば、各画像の露光値は、プロパティ情報、典型的にはＩｔｅｍＰｒｏｐｅｒｔｙで指定された情報から計算される。例えば、構文は次のようになる。
aligned (8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_step; /*full=1, half=2, thind=3, quarter=4*/
int (8) exposure_stop;
}
【０１６９】
ここで、exposure_stepは、露光ブラケットに使用される増分ステップを指定する整数値である。例えば、１に等しい場合は絞りインクリメントがそのまま使用され、２に等しい場合は１／２絞りインクリメントが使用され、３に等しい場合は三番目の絞りインクリメントが使用され、４に等しい場合は１／４絞りインクリメントが使用される。exposure_stopパラメータは、最大絞り値である。
【０１７０】
結果として、グループ化情報における宣言順の最初の画像は、露光時間が最も短い画像となる。このグループ化情報の画像数は奇数である。この画像の露光絞りは、式、−１×exposure_stop／exposure_stepの結果に等しい。
【０１７１】
その最後の画像は、exposure_stop／exposure_stepに等しい露光絞りを有する。グループ内の画像の数を２で割ったものに等しいインデックスを有する画像（すなわち、中央位置の画像）は、０に等しい露光絞りを有する。画像数が３より多い場合、exposure_stopの間隔［−exposure_stop／exposure_step、exposure_stop／exposure_step］は、そのグループに記述される全ての画像に均等に分配される。
【０１７２】
さらに別の実施形態によれば、ブラケットセット内の画像の順序（グループ化情報、すなわち、ＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＳａｍｐｌｅＴｏＧｒｏｕｐボックス内の記述の順序）は、自然な順序（昇順）とは異なる。このプロパティ情報は、ブラケットセットの順序を記述する新しいパラメータを含む。この構文は次のようであってもよい。
aligned (8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_order;
int (8) exposure_step;
int (8) exposure_stop;
}
【０１７３】
新たなexposure_orderパラメータは、ブラケットセット内の画像の順序を指定する。
exposure_orderパラメータが０に等しい場合は、この順序付けは、exposure_stop間隔内のexposure_stopの昇順による。例えば、この順序は｛−２ＥＶ，０ＥＶ，２ＥＶ｝である。
exposure_orderパラメータが１に等しい場合は、この順序付けは、exposure_stop間隔内のexposure_stopの降順による。例えば、この順序は｛２ＥＶ，０ＥＶ，２ＥＶ｝である。
exposure_orderパラメータが２に等しい場合は、この順序付けは、まず０ＥＶに等しいexposure_stopの画像によって始まり、昇順で他の画像が続く。例えば、この順序は｛０ＥＶ，−２ＥＶ，２ＥＶ｝である。
exposure_orderパラメータが３に等しい場合は、この順序付けは、まず０ＥＶに等しいexposure_stopの画像によって始まり、降順で他の画像が続く。例えば、この順序は｛０ＥＶ，２ＥＶ，−２ＥＶ｝である。
【０１７４】
ホワイトバランスブラケットの場合、プロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、又はＳａｍｐｌｅＥｎｔｒｙ若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにおける画像の色温度をシグナリングする。この構文は次のようであってもよい。
1. Syntax for Item Entry
aligned (8) class WhiteBalanceBracketingProperty extends ItemProperty(‘wbbr') {
unsigned int (16) color_temperature
}
2. Syntax for Sample Entry
Box type :'wbbr ‘
Container : VisualSampleEntry
Mandatory : No
Quantity : Zeno or one
aligned (8) class WhiteBalanceBracketingEntry extends Box ('wbbr') {
unsigned int (32) color_temperature
}
3. Syntax for Sample Group Entry
aligned (8) class WhiteBalanceBracketing extends VisualSampleGroupEntry('wbbr') {
unsigned int (32) color_temperature
}
4. Semantic
color_temperatureは、例えばケルビン単位の色温度値を表す。別の代替例では、この色温度がcolor_temperatureから計算される。例えば、パラメータの各値は、予め定められた色温度に対応する。例えば、ケルビン単位の色温度は、color_temperature×１０＋２２００に等しい。
【０１７５】
代わりの実施形態では、ホワイトバランスブラケットプロパティ情報（「ｗｂｂｒ」）が、その関連付けられた画像に初期カメラ設定と比較して適用される、青／黄色軸及び／又はマゼンタ／緑軸上のホワイトバランス補償を示す。
【０１７６】
ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０１７７】
この構文は以下であってもよい。
1. Syntax for ItemProperty
aligned (8) class FocusBracketingltemProperty extends ItemProperty('fobn') {
int (8) blue_amber;
int (8) green_magenta;
}
2. Semantic
blue_amber欄は、「色温度」を表す。
Green_magenta欄は「色合い」を表す。
【０１７８】
関連付けられた画像項目を参照するエンティティグループ「ｗｂｂｒ」が１つ及び１つのみ存在するはずである。プロパティ情報がＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、それぞれ異なるgrouping_type_parameterの値を有する、「ｗｂｂｒ」タイプのサンプルグループがいくつか存在してもよい。
【０１７９】
フォーカスブラケットの場合、プロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、又はＳａｍｐｌｅＥｎｔｒｙ若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかで画像を撮像するときに使用されるフォーカス距離をシグナリングする。この構文は次のようであってもよい。
1. Syntax for ItemProperty
aligned (8) class FocusBracketingltemProperty extends ItemProperty('fobr') {
usigned int (32) focus_distance_numerator;
usigned int (32) focus_distance_denominator;
2. Syntax for Sample Entry
Box type :'fobn'
Container : VisualSampleEntry
Mandatory : No
Quantity : Zero or one
aligned (8) class FocusBracketing extends Box ('fobr') {
usigned int (32) focus_distance_numerator
usigned int (32) focus_distance_denominator
}
3. Semantic
フォーカス距離は例えば、focus_distanse_numerator欄とfocus_distanse_denominator欄との比率としてメートル単位で表される。別の実施形態では、これらの２つのパラメータがミリメートル単位で距離を表すfocus_distanseパラメータによって置き換えられる。
【０１８０】
画像バースト撮像モードの場合、プロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、又はＳａｍｐｌｅＥｎｔｒｙ若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスのいずれかで撮像のインデックスをシグナリングする。以下は、項目プロパティとしてのプロパティ情報のあり得る構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスのこの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ、コードされた４文字を用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０１８１】
第１の実施形態では、この構文は以下のようであり得る。
aligned(8) class ImageBurstProperty extends ItemProperty('imbu') {
unsigned int (32) bunst_index
}
【０１８２】
これはこのセマンティックを有する。
・burst_indexは、画像のバースト内の項目のインデックスを表す。
【０１８３】
第２の実施形態では、バースト内の画像のインデックスがその項目の宣言の順序から推論される。これは記述するプロパティの数を削減し、ＨＥＩＦファイルがよりコンパクトになる。以下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０１８４】
この構文は以下であってもよい。
aligned(8) class ImageBurstProperty extends ItemProperty('imbu') {
unsigned int (1) infer_index_value;
if (infer_index_value == 0)
unsigned int (32) burst_index
}
【０１８５】
これは以下のセマンティクスを有する。
・infer_index_valueは、画像のバースト内の項目のインデックスが「ｉｉｎｆ」ボックス内の項目の位置インデックスと等しいことを示すブール値である。
・burst_indexは、画像のバースト内の項目のインデックスを表す。
【０１８６】
別の実施形態では、infer_index_valueは画像のバースト内の項目のインデックスがグループ化情報内の項目のインデックスと等しいことを示す。この実施形態は２つのグループを定義することによって、いくつかの順序付け（例えば、正規順序及び逆順序）を有利に定義することを可能にする。
【０１８７】
別の実施形態では、画像バーストプロパティ情報が、バーストの２つの画像間の時間隔を、ミリ秒単位で表される符号なし整数値として含む。
【０１８８】
この構文は以下であってもよい。
aligned (8) class ImageBurstProperty extends ItemProperty('imbu') {
unsigned int (32) time_delta;
}
【０１８９】
これは以下のセマンティクスを有する。
・time_deltaは、画像項目とバースト内の以前の項目との間に経過した１００分の１秒の数である。
・このプロパティは、タイプ「ｂｒｓｔ」のエンティティグループ内の最初の画像項目には存在しないか、又は無視される必要がある。
【０１９０】
さらに別の実施形態では、画像バーストプロパティ情報が画像のバースト内の関連付けられた画像の撮像時間を定義する。好ましくは、時間ゼロが撮像装置によって定義される基準時間に対応する。これは、複数の画像バーストが同じ基準時間を使用し、複数の画像バーストが同じ画像項目を含むように定義することを可能にする。この構文は以下であってもよい。
aligned (8) class ImageBurstProperty extends ItemProperty('imbu') {
unsigned int (32) capture_time;
}
【０１９１】
これは以下のセマンティクスを有する。
・capture_timeは、画像項目と撮像装置からの基準時間の間に経過した１００ 分の１秒の数である。
【０１９２】
さらに別の実施形態では、画像バーストプロパティ情報は、そのプロパティがどのバーストの画像に適用されるかを定義する。これにより、画像間の間隔が異なるいくつかのバーストに画像項目を所属させることができる。例えば、第１のバーストは毎秒撮像された画像を包含することができ、一方、第２のバーストは、１秒おきに撮像された画像のみを包含する。
【０１９３】
この構文は以下であってもよい。
aligned(8) class ImageBurstProperty extends ItemProperty('imbu') {
unsigned int(32) time_delta;
unsigned int (32) group_id;
}
【０１９４】
これは以下のセマンティクスを有する。
・time_deltaは、画像項目とバースト内の以前の項目との間に経過した１００分の１秒の数である。
・group_idは、ターゲット化されたＥｎｔｉｔｙＴｏＧｒｏｕｐの識別子である。
【０１９５】
このプロパティは、タイプ「ｂｒｓｔ」のエンティティグループ内の最初の画像項目には存在しないか、又は無視される必要がある。
【０１９６】
他の実施形態では、画像バースト撮像モードのためのプロパティ情報が「ｂｒｓｔ」４文字コードを使用する。
【０１９７】
タイムラプス撮像モードの場合、プロパティ情報は、連続する画像の撮像間の間隔、又は画像の撮像時間をシグナリングする。このプロパティ情報は、「ｔｉｌａ」４文字コードを使用できる。これは、時間関連のパラメータが使用されるImageBurstPropertyと同じ構文及びセマンティクスを有することができる。
【０１９８】
画像シリーズ又はユーザコレクション又はプロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、又はＳａｍｐｌｅＥｎｔｒｙ若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスのいずれかのセット内の撮像された画像のインデックスをシグナリングする。以下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０１９９】
この構文は以下であってもよい。
aligned(8) class PhotoSeriesProperty extends ItemProperty('pser') {
unsigned int (32) series_index
}
【０２００】
これは以下のセマンティクスを有する。
・series_indexは、画像のバースト内の項目のインデックスを表す。
【０２０１】
別の実施形態では、写真シリーズのインデックスが画像バーストプロパティ情報に対して行われたように推論され、したがって、記述バイトを節約する。
【０２０２】
フラッシュ露光ブラケット情報は、ＩｔｅｍＰｒｏｐｅｒｔｙボックス、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックス、又はＳａｍｐｌｅＥｎｔｒｙボックス若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスのいずれかで、撮像画像のフラッシュ露光値をシグナリングする。以下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２０３】
この構文は以下であってもよい。
aligned(8) class Flash ExposureBracketingProperty extends ItemProperty('afbr') {
int (8) flash_exposure_numerator;
int (8) flash_exposure_denominator;
}
【０２０４】
これは以下のセマンティクスを有する。
flash_exposure_numerator及びflash_exposure_denominatorは、flash_exposure_numeratorとflash_exposure_denominatorとの比率として、ｆ絞り数で表される項目又はサンプルのフラッシュ露光値を表す整数である。
【０２０５】
被写界深度ブラケット情報は、ＩｔｅｍＰｒｏｐｅｒｔｙボックス、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックス、又はＳａｍｐｌｅＥｎｔｒｙボックス若しくはＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスのいずれかにおいて、撮像された画像の口径変化値をシグナリングする。以下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２０６】
この構文は以下であってもよい。
aligned(8) class DepthOf FieldBracketingProperty extends ItemProperty('dobr') {
int (8) f_stop_numerator;
int (8) f_stop_denominator;
}
【０２０７】
これは以下のセマンティクスを有する。
ここで、口径変化は、整数値であるf_stop_numeratorとf_stop_denominatorとの比率として、ｆ絞りの数で表される。
【０２０８】
パノラマ情報は、画像がパノラマ撮像モードを使用して撮像された画像のグループに所属することをシグナリングする。この情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにある。以下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２０９】
この構文は以下であってもよい。
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (1) panorama_direction;
unsigned int(15) frame_number;
}
【０２１０】
これは以下のセマンティクスを有する。
panorama_directionはパノラマ方向をシグナリングする１ビットのフラグ（０：左から右、１：右から左）であり、frame_numberはパノラマ方向に従うフレーム番号を（低い方から高い方へと）表す整数である。
【０２１１】
別の実施形態では、この構文は以下であってもよい。
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (1) panorama_direction;
unsigned int (7) reserved;
}
【０２１２】
これは以下のセマンティクスを有する。
panorama_directionはパノラマ方向をシグナリングする１ビットフラグ（０：左から右、１：右から左）である。このフレームは、デフォルトのグループ順序付けに従って順序付けられる。
【０２１３】
別の実施形態では、この構文は以下であってもよい。
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (8) panorama_type;
if (panorama_type == 4) {
unsigned int (8) rows;
unsigned int (8) columns;
}
if (panorama_type == 5) {
unsigned int (8) rows;
for (i = 0; i < rows; i++) {
unsigned int (8) columns;
}
}
if (panorama_type == 8) {
unsigned int (32) panorama_subtype;
}
}
【０２１４】
これは以下のセマンティクスを有する。
panorama_typeは符号なしの整数、例えば８ビットであり、使用されるパノラマのタイプを以下のように通知する。
・０：左から右への水平パノラマ
・１：右から左への水平パノラマ
・２：上から下への垂直パノラマ
・３：下から上への垂直パノラマ
・４：２つの追加パラメータを有する格子パノラマ
ｏ行は格子の行の数である。
ｏ列は格子内の行の数である。このパラメータは存在しない可能性があり、列の数はグループ内の画像の総数及び行数から計算される。
・５：他のパラメータをいくつか有する格子パノラマ
ｏ行は格子の行の数である。
ｏ列は格子内の各列に対する行の数である。
・６：前、左、後、右、上、下の順序に従って順序付けられた画像を有する立方体パノラマ。他の順序付けを、又は異なる順序付けを有する他のタイプの立方体パノラマを定義できる可能性がある。
・７：そのパノラマの正確なタイプが指定されていない、未指定のパノラマ。
・８：パノラマのタイプを識別する４ＣＣである別のパラメータpanorama_subtypeを有する、ユーザ定義のパノラマ。
【０２１５】
水平パノラマ及び垂直パノラマについては、そのパノラマが最後の画像が最初の画像と結合される完全な３６０°パノラマであるかどうかを示すためにフラグを追加することができる。
【０２１６】
グリッドパノラマ（規則的であるか否かにかかわらず）については、そのパノラマが水平方向、垂直方向、又は両方向に３６０°をカバーするかどうかを示すために、同様にフラグを追加することができる。
【０２１７】
超解像情報は、その画像が超解像撮像モードを使用して撮像された画像のグループに所属することをシグナリングする。この情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにある。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２１８】
この構文は以下であってもよい。
aligned(8) class SuperResolutionProperty extends ItemProperty('sres') {
}
【０２１９】
多重露光情報は、その画像が多重露光撮像モードを使用して撮像された画像のグループに所属することをシグナリングする。この情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにある。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２２０】
この構文は以下であってもよい。
aligned(8) class MultiExposureProperty extends ItemProperty('mult') {
unsigned int (8) weight;
}
【０２２１】
これは以下のセマンティクスを有する。
・weightは、この画像のアルファブレンディング係数を示す。
【０２２２】
ノイズ低減情報は、その画像がノイズ低減撮像モードを使用して撮像された画像のグループに所属することをシグナリングする。この情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにある。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２２３】
この構文は以下であってもよい。
aligned(8) class NoiseReductionProperty extends ItemProperty('nois') {
}
【０２２４】
長秒時露光ノイズ低減情報は、画像がＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかの暗部に対応することをシグナリングする。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２２５】
この構文は以下であってもよい。
aligned(8) class LongExposureNoiseReductionProperty extends ItemProperty('dark') {
}
【０２２６】
これは以下のセマンティクスを有する。
LongExposureNoiseReductionPropertyを有する項目は、「ダーク」な画像に対応する。
【０２２７】
口径食補償情報は、画像がＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかのフラットに対応することをシグナリングする。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２２８】
この構文は以下であってもよい。
aligned (8) class VignettingCompensationProperty extends ItemProperty('flat') {
}
【０２２９】
これは以下のセマンティクスを有する。
VignettingCompensationPropertyを有する項目は、「フラット」な画像に対応する。
【０２３０】
ＨＤＲ情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにおける画像の順序付けをシグナリングする。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２３１】
この構文は以下であってもよい。
aligned (8) class HDRProperty extends ItemProperty('hdr ') {
unsigned int (8) item_order;
}
【０２３２】
これは以下のセマンティクスを有する。
item_orderは、そのグループ内の項目の順序付けである。
【０２３３】
代替例として、ＨＤＲ情報は、その画像がＨＤＲ撮像モードを使用して撮像された画像のグループに所属することのみをシグナリングする。この情報は、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、ＳａｍｐｌｅＥｎｔｒｙ、又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかにある。下は、項目プロパティとしてのプロパティ情報の構文である。ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ及びＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのボックスの構文は同じパラメータを包含し、同じ４文字コードを定義する。この差は、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの場合、新しいクラスがボックスクラスを拡張し、１つのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙコンテナで定義されることになることである。ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙの場合、新しいクラスは、項目プロパティに対して定義されているのと同じ４文字コードを用いてＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを拡張する。
【０２３４】
この構文は以下であってもよい。
aligned(8) class HDRProperty extends ItemProperty('hdr') {
}
【０２３５】
これら全てのプロパティについて、適用可能な場合には、そのパラメータ値は絶対又は相対のいずれかになり得る。絶対値は、その基準がグループの外部にあることを意味する。相対値は、その値がグループの別の項目の値とその値の差分として指定されることを意味する。デフォルトでは、グループ化の最初の項目の場合に、相対値に使用される基準項目。場合によっては、基準項目がグループ化内の以前の項目になる可能性がある。例えば、タイムラプスにおける撮像時間は、予め定義された基準時間に対応する絶対時間であるか、又は以前の画像との時間差のみが与えられる相対時間である。
【０２３６】
好ましくは、ブラケット処理のために、撮像設定はカメラ設定に関連して指定される。これは、同じブラケットモードを使用するいくつかのグループ化が、プロパティ情報からの値に対して同じ基準を共有することを可能とする。このように、同じ撮像モードを使用するいくつかのグループに所属する項目には、この撮像モードに対応するプロパティ情報が１つだけ添付される。
【０２３７】
一実施形態では、相対値を使用する場合、プロパティ情報はそのグループの識別子を包含する。これは、各グループのプロパティ情報が、それが包含している識別子によってそのグループにリンクされるため、同じ撮像モードを使用して項目をいくつかのグループに所属させることを可能にする。
【０２３８】
本実施形態では、自動露光ブラケット撮影モードに対するプロパティ情報は以下であってもよい。
aligned(8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_stop;
unsigned int(32) group_id;
｝
【０２３９】
ここで、group_id は、このプロパティに関連付けられ、プロパティが適用される項目を所有するグループの識別子である。
【０２４０】
ＳａｍｐｌｅＴｏＧｒｏｕｐに関して、デフォルトでは、サンプルは単一のグループにのみ関連付けることができる。しかし、ＳａｍｐｌｅＴｏＧｒｏｕｐボックスのgrouping_type_parameterを使用すると、同じサンプルに対していくつかのグループを定義できる。したがって、好ましい実施形態では、本発明で定義されるグループ化タイプのうちの１つに従ってサンプルをグループ化するとき、grouping_type_parameter欄は、単一のサンプルをいくつかのグループにグループ化することを可能にするために使用されてもよい。
【０２４１】
以下の例では、自動露光ブラケット撮影モードを使用して２つの異なる撮影が行われている。各撮像の結果、３つの異なる画像が撮像される。２回の撮像の結果は６つの画像になる。各画像は１つの項目に埋め込まれる。
【０２４２】
ファイル構造は次のようになるだろう。
・項目１：ItemId=１; exposure_stop=−２ // exposure=low
・項目２：ItemId=２; exposure_stop=０  // exposure=mid
・項目３：ItemId=３; exposure_stop=２  // exposure=high
・項目４：ItemId=４; exposure_stop=−１ // exposure=low
・項目５：ItemId=５; exposure_stop=０  // exposure=mid
・項目６：ItemId=６; exposure_stop=−１ // exposure=high
【０２４３】
「ｃａｓｅ」グループ化タイプ値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘが定義される。２つのエントリ（３つのサンプルの各ＡＥシリーズに対して１つ）が存在する。
GoupsListBox{
EntityToGroupBox('case') {
group_id='1234' //第１のブラケットセット
num_entities_in_group=3
entity_id=１ //項目＃１を参照
entity_id=２ //項目＃２を参照
entity_id=３ //項目＃３を参照
}
EntityToGroupBox('case'){
group_id='1235' //第２のブラケットセット
num_entities_in_group=３
entity_id=４ //項目＃４を参照
entity_id=５ //項目＃５を参照
entity_id=６ //項目＃６を参照
}
}
ItemPropertyContainerBox { //全ての項目で使用されている全てのブラケットプロパティを一覧表示
AutoExposureBracketingProperty('aebr'){ // property_index=１
exposure_stop = −２
}
AutoExposureBracketingProperty('aebr'){ // property_index=２
exposure_stop = −１
}
AutoExposureBracketingProperty('aebr'){ // property_index=３
exposure_stop = ０
}
AutoExposureBracketingProperty('aebr'){ // property_index=４
exposure_stop = １
}
AutoExposureBracketingProperty('aebr'){ // property_index=５
exposure_stop = ２
}
}
ItemPropertyAssociation｛ //露光entry_countを記述するプロパティに各項目を関連付ける
entry_count = ６ //６項目
//項目１
item_id = 1 
association_count = 1 
essential = 0 //このプロパティは必須ではない
property_index = 1 //property_index=１のプロパティの露光
//項目２
item_id = 2 
association_count = 1 
essential = 0 
property_index = 3 //property_index＝３のプロパティの露光
//項目３
item_id = 3
association_count = 1 
essentital = 0 
property_index = 5 //property_index = ５のプロパティの露光
//項目４
item_id = 4
association_count = 1 
essentaial = 0 
property_index = 2 //property_index = ２のプロパティの露光
//項目５
item_id = 5
association_count = 1 
essentaial = 0 
property_index = 3 //property_index = ３のプロパティの露光
//項目６
item_id = 6
association_count = 1 
essential = 0 
property_index = 4 //property_index = ４のプロパティの露光
【０２４４】
別の実施形態では、異なる露光レベルの一連のいくつかの画像、例えば３つの画像にあるショットの画像をグループ化するようにカメラが構成される。この例では、カメラはＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙのプロパティ情報、すなわちトラックの１つ以上のサンプルを記述するメタデータを指定する。結果として得られるマルチ画像ファイルでは、撮影中に撮られた画像の数に等しい数のサンプル、この例では３つを包含することになる。例に従って、新しい特定のＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙと３つのサンプルの対応するチャンクが、録画されたマルチ画像ファイルの「ｓｔｂｌ」ボックスに作成される。この新しいショットのＳａｍｐｌｅＴｏＣｈｕｎｋＢｏｘのsample_description_indexは、「ｓｔｂｌ」ボックス内の特定のＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙのインデックスに等しく設定される。その撮影シーケンスの終わりにユーザは、全てのピクチャを包含し記述する１つのトラックから構成されるマルチ画像ファイルを得る。カメラＵＩを通して、ユーザは、ショットのシーケンスを一連の３つの画像として見ることができる。
【０２４５】
別の例では、異なるやり方で編成された画像が、露光レベルごとにアクセスされてもよい。カメラが露光レベルごとに画像をグループ化するように構成されている場合、そこで各チャンクは１つの画像を包含する。露光レベル毎に１つの特定の視覚サンプルエントリが宣言される。Ｎ個の特定のＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｉｅｓが宣言され、カメラが常に同じ順序（例えば、露光不足、通常、露光過多）でピクチャを撮像する場合、ＳａｍｐｌｅＴｏＣｈｕｎｋＢｏｘのsample_description_indexは法Ｎ（ショット内のピクチャインデックス）に等しく設定することができる。撮影シーケンスの終わりにユーザは、全てのピクチャを包含し記述する１つのトラックから構成されるマルチ画像ファイルを得る。カメラＵＩを介して、記録されたピクチャは、それらの露光レベルに従って編成されて見られてもよい。露光レベル当たりのサンプルを説明するために、以前の実施形態で説明したような特定のサンプル群の使用、特にサンプルのパターンに依拠するＣｏｍｐａｃｔＳａｍｐｌｅＧｒｏｕｐの使用が好ましい。ここでは、それは露光レベルが同じ順序で発生する場合である。パターンが識別されてサンプルグループがサンプルのパターンとして定義され、各サンプルグループは、対応するＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＢｏｘ内のサンプルグループエントリに関連付けられる。古典的なサンプルグループ、すなわちパターンのないサンプルグループの使用も可能であり、サンプルエントリの変更はいくつかの実装においてデコーダのリセットにつながる可能性があり、これはサンプルグループを用いた場合ではないため、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙよりも好ましい。
【０２４６】
［プロパティに関連付けられた汎用撮像シリーズグループ化タイプ］
この第３の実施形態は、汎用撮像シリーズグループ化タイプに関する第２の実施形態の変形例である。
【０２４７】
この変形例では、グループ内の全ての項目に共通のパラメータ（例えば、露光、ホワイトバランス、パノラマなど）を提供し、グループ内の項目に特有のパラメータを正確にする項目プロパティとグループをリンクするために、汎用撮像時間グループ化タイプに対して追加のパラメータ（例えば、撮像シリーズに対して「ｃａｓｅ」と記される）が定義される。特に、「capture_mode」パラメータは、項目に特有のパラメータ（例えば、画像項目として記述された画像）をさらに記述するプロパティ情報（プロパティのproperty_type）を識別する４文字コードをシグナリングする。その原理は、１つのＨＥＩＦパーサが汎用のcapture-timeグループ化タイプの「capture_mode」パラメータからプロパティ情報のタイプ（つまり、ＩｔｅｍＰｒｏｐｅｒｔｙ又はＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＢｏｘ又はＳａｍｐｌｅＥｎｔｒｙのタイプ）を決定できることである。
【０２４８】
その原理は、１つのＨＥＩＦリーダが所与の項目のグループに関連付けられた全ての項目プロパティの間で項目プロパティを容易に検索できることである。
【０２４９】
ＥｎｔｉｔｙＴｏＧｒｏｕｐとして記述されている場合のグループ化情報の構文は、以下に記述する。
aligned(8) class ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ('case', version, flags) extends FullBox('case', version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0 i<num_entities_in_group i++)
unsigned int(32) entity_id; //以下のパラメータは、grouping_type「ｃａｓｅ」に対する共通のパラメータを提供する
unsigned int(32) capture_mode; //撮像モードを識別する４ＣＣ
}
【０２５０】
ここで、capture_modeはは撮像モードを定義する。同じ４文字コードを有する項目プロパティは、所与のcapture_modeの項目特有のパラメータを提供する。
【０２５１】
グループ内の項目ごとに、「capture_mode」と同じ４ＣＣを有する項目プロパティが、この「capture_mode」の項目特有のパラメータを定義する。
【０２５２】
例：capture_modeに対して、以下の４ＣＣコードが定義できる。
【表１】
2021519525.tif 000003
上記のcapture_modeに定義する項目プロパティの例。
【０２５３】
aligned(8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_step;
int (8) exposure_numerator;
}
【０２５４】
ここで、exposure_stepは、露光ブラケットに使用される増分ステップを指定する整数値である。１に等しい場合は絞りインクリメントがそのまま使用され、２に等しい場合は１／２絞りインクリメントが使用され、３に等しい場合は三番目の絞りインクリメントが使用され、４に等しい場合は１／４絞りインクリメントが使用される。exposure_numeratorは、項目の露光値絞りを計算するために使用される露光分子を指定する整数値である。  
【０２５５】
ここで、関連付けられた項目の露光値（ＥＶ）絞りは、以下の式の結果に等しくなる。
exposure_numerator／exposure_step
【０２５６】
aligned (8) class WhiteBalanceBracketingProperty extends ItemProperty('wbbr') {
unsigned int (32) color_temperature
}
【０２５７】
ここで、color_temperatureは、色温度値をケルビン単位で表す。
【０２５８】
別の実施形態では、ＷｈｉｔｅＢａｌａｎｃｅＢｒａｃｋｅｔｉｎｇＰｒｏｐｅｒｔｙが以下のように定義される。
aligned (8) class WhiteBalanceBracketingProperty extends ItemProperty('wbbr') {
int (8) blue_amber;
int (8) green_magenta;
}
【０２５９】
ここで、blue_amberは、青−黄色軸上のホワイトバランス補償の値である。このblue_amber欄は、「色温度」を表す。
【０２６０】
そして、green_magentaは、緑−マゼンタ軸上のホワイトバランス補償の値である。このgreen_magenta欄は「色合い」を表す。
【０２６１】
aligned (8) class FocusBracketingProperty extends ItemProperty('fobr') {
usigned int (32) focus_distance_numerator
usigned int (32) focus_distance_denominator
}
【０２６２】
ここで、フォーカス距離は、focus_distanse_numeratorとfocus_distanse_denominatorの比としてメートル単位で表される。
【０２６３】
aligned (8) class FlashExposureBracketingProperty extends ItemProperty('afbr') {
int (8) flash_exposure_numerator;
int (8) flash_exposure_denominator;
}
【０２６４】
ここで、フラッシュ露光補正はflash_exposure_numeratorとflash_exposure_denominatorとの比としてｆ絞りの数で表される。
【０２６５】
aligned (8) class DepthOfFieldBracketingProperty extends ItemProperty('dobr') {
int (8) f_stop_numerator;
int (8) f_stop_denominator;
}
【０２６６】
ここで、口径変化は、f_stop_numeratorとf_stop_denominatorとの比として、f絞りの数で表される。
【０２６７】
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (1) panorama_direction
unsigned int (15) frame_number;
}
【０２６８】
ここで、panorama_directionはパノラマ方向をシグナリングする１ビットフラグ（０：左から右、１：右から左）であり、frame_numberはパノラマ方向に従ったフレーム番号を（低い方から高い方へと）表す整数である。
【０２６９】
別の実施形態では、この構文は以下であってもよい。
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (1) panorama_direction;
unsigned int (7) reserved;
}
【０２７０】
これは以下のセマンティクスを有する。
panorama_directionはパノラマ方向をシグナリングする１ビットフラグ（０：左から右、１：右から左）である。このフレームは、デフォルトのグループ順序付けに従って順序付けられる。
【０２７１】
別の実施形態では、この構文は以下のようであり得る。
aligned(8) class PanoramaBracketingProperty extends ItemProperty('pano') {
unsigned int (8) panorama_type;
if (panorama_type == 4) {
unsigned int (8) rows;
unsigned int (8) columns;
}
if (panorama_type == 5) {
unsigned int (8) rows;
for (i = 0; i < rows; i++) {
unsigned int (8) columns;
}
}
if (panorama_type == 8) {
unsigned int (32) panorama_subtype;
}
}
【０２７２】
これは以下のセマンティクスを有する。
panorama_typeは符号なしの整数、例えば８ビットであり、使用されるパノラマのタイプを以下のように通知する。
・０：左から右への水平パノラマ
・１：右から左への水平パノラマ
・２：上から下への垂直パノラマ
・３：下から上への垂直パノラマ
・４：２つの追加パラメータを有する格子パノラマ
ｏ行は格子の行の数である。
ｏ列は格子内の行の数である。
このパラメータは存在しなくてもよい可能性があり、列の数はグループ内の画像の総数及び行数から計算される。
・５：他のパラメータをいくつか有する格子パノラマ
ｏ行は格子の行の数である。
ｏ列は格子内の各列に対する行の数である。
・６：前、左、後、右、上、下の順序に従って順序付けられた画像を有する立方体パノラマ。
他の順序付けを、又は異なる順序付けを有する他のタイプの立方体パノラマを定義できる可能性がある。
・７：そのパノラマの正確なタイプが指定されていない、未指定のパノラマ。
・８：パノラマのタイプを識別する４ＣＣである別のパラメータpanorama_subtypeを有する、ユーザ定義のパノラマ。
【０２７３】
水平パノラマ及び垂直パノラマについては、そのパノラマが最後の画像が最初の画像と結合される完全な３６０°パノラマであるかどうかを示すためにフラグを追加することができる。
【０２７４】
グリッドパノラマ（規則的であるか否かにかかわらず）については、そのパノラマが水平方向、垂直方向、又は両方向に３６０°をカバーするかどうかを示すために、同様にフラグを追加することができる。
【０２７５】
aligned(8) class UserDefinedCaptureSeriesProperty extends ItemProperty('udcs') {
utf8string label
}
【０２７６】
ここで、labelは、ＵＴＦ−８文字のnull終端文字列で、ユーザ定義の撮像シリーズについて人間に可読な名前を提供する。
【０２７７】
タイムラプスプロパティの構文は次のようになる。
aligned(8) class TimeLapseProperty extends ItemProperty('tila') {
unsigned int(32) time_delta;
}
【０２７８】
これは以下のセマンティクスを有する。
・time_deltaは、画像項目とバースト内の以前の項目との間に経過した１００分の１秒の数である。全ての項目が規則的な時間フレーム上で撮像されるときに、２つの連続する項目間の経過時間を使用することにより、全ての項目に対して単一のプロパティを使用することが可能になる。
・このプロパティは、タイプ「ｔｉｌａ」のエンティティグループ内の最初の画像項目には存在しないか、又は無視される必要がある。
【０２７９】
さらに別の実施形態では、タイムラプスプロパティ構文が以下のようであり得る。
aligned(8) class TimeLapseProperty extends ItemProperty('tila') {
unsigned int(32) capture_time;
}
【０２８０】
これは以下のセマンティクスを有する。
・capture_timeは、画像項目と撮像装置からの基準時間の間に経過した１００分の１秒の数である。外部基準に関連する値を使用することにより、２つの項目が、それらに同じ撮像時間を与えることによって同時に撮像された（すなわち、同期された）ことをシグナリングすることが可能になる。
【０２８１】
別の実施形態では、この構文は以下のようであり得る。
aligned(8) class TimeLapseProperty extends ItemProperty('tila') {
unsigned int(32) time_delta;
unsigned int(32) group_id;
}
【０２８２】
これは以下のセマンティクスを有する。
・time_deltaは、画像項目とバースト内の以前の項目との間に経過した１００分の１秒の数である。
・group_idは、ターゲット化されたＥｎｔｉｔｙＴｏＧｒｏｕｐの識別子である。
【０２８３】
このプロパティは、タイプ「ｔｉｌａ」のエンティティグループ内の最初の画像項目には存在しないか、又は無視される必要がある。
【０２８４】
aligned(8) class MultiExposureProperty extends ItemProperty('mult') {
unsigned int (8) weight;
}
【０２８５】
これは以下のセマンティクスを有する。
・weightは、この画像のアルファブレンディング係数を示す。
【０２８６】
aligned(8) class LongExposureNoiseReductionProperty extends ItemProperty('dark') {
}
【０２８７】
これは以下のセマンティクスを有する。
LongExposureNoiseReductionPropertyを有する項目は、「ダーク」な画像に対応する。
【０２８８】
aligned(8) class VignettingCompensationProperty extends ItemProperty('flat') {
}
【０２８９】
これは以下のセマンティクスを有する。
VignettingCompensationPropertyを有する項目は、「フラット」な画像に対応する。
【０２９０】
これら全てのプロパティについて、適用可能な場合には、そのパラメータ値は絶対又は相対のいずれかになり得る。絶対値は、その基準がグループの外部にあることを意味する。相対値は、その値がグループの別の画像の値とその値との差分として指定されることを意味する。デフォルトでは、グループ化の最初の項目の場合に、相対値に使用される基準項目。場合によっては、基準項目がグループ化内の以前の項目になることがある。例えば、タイムラプスにおける撮像時間は、予め定義された基準時間に対応する絶対時間であるか、又は以前の画像との時間差のみが与えられる相対時間である。
【０２９１】
好ましくは、ブラケット処理のために、撮像設定はカメラ設定に関連して指定される。これは、同じブラケットモードを使用するいくつかのグループ化が、プロパティ情報からの値に対して同じ基準を共有することを可能とする。このように、同じ撮像モードを使用するいくつかのグループに所属する項目には、この撮像モードに対応するプロパティ情報が１つだけ添付される。
【０２９２】
一実施形態では、相対値を使用する場合、プロパティ情報はそのグループの識別子を包含する。これは、各グループのプロパティ情報が、それが包含している識別子によってそのグループにリンクされるため、同じ撮像モードを使用して項目をいくつかのグループに所属させることを可能にする。
【０２９３】
本実施形態では、自動露光ブラケット撮影モードに対するプロパティ情報は以下であってもよい。
aligned (8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_step;
int (8) exposure_numerator;
unsigned int (32) group_id;
}
【０２９４】
ここで、group_idは、このプロパティに関連付けられ、プロパティが適用される項目を所有するグループの識別子である。
【０２９５】
３つの画像が項目として格納される、自動露光ブラケットモードを使用するこの実施形態の例。
【０２９６】
ファイル構造は次のようになってもよい。
・項目＃１：  Itemid=1 exposure_stop=-2 // exposure=low
・項目＃２：  Itemid=2 exposure_stop=0 // exposure=mid
・項目＃３：  Itemid=3 exposure_stop=2 // exposure=high
【０２９７】
「ｃａｓｅ」グループ化タイプ値と「ａｅｂｒ」撮像モードを有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘが以下に定義されている。
GroupsListBox{
EntityToGroupBox('case') {
group_id='1234'
num_entities_in_group=3
entity_id=1
entity_id=2
entity_id=3
capture_mode='aebr'
}
}
ItemPropertyContainerBox {
AutoExposureBracketingProperty('aebn'){
exposure_step = 1; 
exposure_numerator = -2;
}
AutoExposureBracketingProperty('aebn'){
exposure_step = 1； 
exposure_numerator = 0;
}
AutoExposureBracketingProperty('aebn'){
exposure_step = 1； 
exposure_numerator = 2
}
}
ItemPropertyAssociation｛
entry_count = 3
item_id = 1 
association_count = 1 
essential = 0
property_index = 1
item_id = 2
association_count = 1 
essential = 0
property_index = 2
item_id = 3
association count = 1
essential = 0
property_index = 3
}
【０２９８】
画像のグループは、１つ以上の「ｐｉｃｔ」トラックにカプセル化することもできる。各画像は同期サンプル（全てイントラ）とすることができ、又はインター予測を使用してもよい。
【０２９９】
例えば、画像シーケンスの場合、その原理はサンプルのグループ化に依拠し、撮像モードの種類ごとに専用のgrouping_type及びサンプルグループの記述を定義することである。例えば、「ａｅｂｒ」は、自動露光ブラケットに対する画像サンプルのグループを示す。対応するＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙは次のように定義される。
aligned (8)class AutoExposureBracketingEntry extends VisualSampleGroupEntry('aebr'){ 
int (8) exposure_order;
int (8) exposure_step;
int (8) exposure_stop;
}
【０３００】
ここで、exposure_orderパラメータは、ブラケットセット内の画像の順序を指定する。exposure_stepは、露光ブラケットに使用される増分ステップを指定する整数値である。１に等しい場合は絞りインクリメントがそのまま使用され、２に等しい場合は１／２絞りインクリメントが使用され、３に等しい場合は三番目の絞りインクリメントが使用され、４に等しい場合は１／４絞りインクリメントが使用される。exposure_stopはサンプルの最大露光値(ＥＶ)絞りを指定する整数値である。
【０３０１】
その場合、関連付けられた画像の露光絞りは、以下の式の結果に等しくなる。
−１×exposure_stop／exposure_step
【０３０２】
他の全ての撮像モードに対しても同様の定義を定義できる。
【０３０３】
撮像シリーズに関連するプロパティが経時的に変化しない場合、デフォルトのサンプルグループ化機構を使用することができ、又は項目プロパティをＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙで定義することができる（「ｐａｓｐ」、「ｃｏｉｒ」、又は「ｃｌａｐ」項目プロパティなど）。
【０３０４】
この実施形態の代替例では、撮像モードは、専有のボックスに記述されたＰｒｏｐｅｒｔｙＩｎｆｏｒｍａｔｉｏｎを指す。結果として、capture_modeパラメータは、専有のボックス（例えば、「ｕｕｉｄ」ボックス）の４文字コードを指す。このような場合、グループ化情報は、その専有情報が「ｃａｓｅ」グループ内の画像に属するのかを正確に識別するデータをさらに記述する。例えば、capture_modeが「ｕｕｉｄ」と等しい場合、そのプロパティ情報は「ｕｕｉｄ」タイプのボックスのユーザタイプ欄を指定する。ＨＥＩＦリーダは、撮像モードをさらに記述する専有ボックスを有利に決定することができる。この実施形態は、異なる専有ボックスを区別することを可能にする４文字コード（一般にsub_type又はproprietary_typeとして参照される）を含む任意の他の専有ボックス拡張システムにも適用される。
【０３０５】
この実施形態の別の代替例では、第１の実施形態で列挙されたグループ化タイプがさらに、そのグループ化タイプと等しい４文字コードを有するプロパティ情報を指定してもよい。例えば撮像装置は、「ａｅｂｒ」に等しいgrouping_typeを有する自動露光ブラケットグループを宣言し、そのグループに属する各項目にＩｔｅｍＰｒｏｐｅｒｔｉｅｓ「ａｅｂｒ」を関連付ける。
【０３０６】
例えば、画像項目の場合、原則として、異なるグループ化目的（撮像モード）に対応するＥｎｔｉｔｙＴｏＧｒｏｕｐに対するいくつかの特定のグループ化タイプを定義する。同じ４ＣＣは、所与のＥｎｔｉｔｙＴｏＧｒｏｕｐのgrouping_typeと、対応するグループ内の項目に特有のパラメータを提供する項目プロパティと、に対して使用される。例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐ（「ａｅｂｒ」）に属する項目のパラメータはＩｔｅｍＰｒｏｐｅｒｔｙ（「ａｅｂｒ」）によって提供され、ここで「ａｅｂｒ」は自動露光ブラケットセットのためのＦｏｕｒＣＣである。
【０３０７】
この実施形態の変形例では、２つ以上の撮像モードの組合せに対応するグループ化タイプが定義される。
【０３０８】
この実施形態の別の変形例では、「ｃａｓｅ」ＥｎｔｉｔｙＴｏＧｒｏｕｐがいくつかのcapture_modeを指定する。capture_modeごとに、及びグループ内の項目ごとに、capture_modeと同じ４ＣＣを有する項目プロパティが、このcapture_modeの項目特有のパラメータを定義する。
【０３０９】
ＥｎｔｉｔｙＴｏＧｒｏｕｐとして記述されている場合のグループ化情報の構文は、以下で説明する。
aligned(8) class EntityToGnoupBox('case', version, flags) extends FullBox('case', version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0 i<num_entities_in_group i++)
unsigned int(32) entity_id; //以下のパラメータは、grouping_type'case ‘ に対する共通のパラメータを提供する
unsigned int(8) num_capture_mode;
for(i=0 i<num_capture_mode i++)
unsigned int(32) capture_mode; //撮像モードを識別する４ＣＣ 
}
【０３１０】
この構文と単一のcapture_modeを持つ構文とは、２つの異なるバージョンを使用して単一の定義にグループ化され得ることは知っておくべきである。
【０３１１】
この変形例は、異なるグループ化情報に対しても使用することができる。
【０３１２】
［ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ］
第４の実施形態では、撮像シリーズ内の全ての画像に共通の情報が「ｐｉｃｔ」又は「ｖｉｄｅ」トラックのＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ内の新しいボックスに格納される。この新しいボックスは、このサンプルエントリに関連付けられたトラックのサンプルが同じ撮像モード（例えば、ブラケットセット、画像バースト、写真シリーズなど）に属することを示す信号である。サンプル特有の情報（例えば、先の実施形態ではプロパティ情報として説明した）は、専用のメタデータトラックに格納される。例えば、ＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙは、撮像モードが自動露光ブラケットであることを示す。ブラケットのパラメータ（すなわち、露光構成）は、メタデータトラックのサンプルに記述される。
【０３１３】
撮像装置は、タイプ「ｃｄｓｃ」のトラック基準を介して、画像サンプルを記述するトラックを、サンプル特有の情報を記述する１つ以上のメタデータトラックに関連付けてもよい。
【０３１４】
［タグ付けのための新しい項目プロパティ及びサンプルエントリ］
第５の実施形態では、プロパティ情報が一連の画像に注釈を付けるための情報を記述する。このプロパティ情報は、人間に可読なタグの名前を与えるＵＴＦ−８文字におけるnull終端文字列としてラベルパラメータを含んでいる。１つの代替例では、このプロパティが「ｉｐｃｏ」ボックス内の他の項目プロパティとして宣言され、「ｉｐｍａ」ボックス内の項目に関連付けられることができる。例えば、以下のテーブルでは、ラベルパラメータを包含するＩｔｅｍＰｒｏｐｅｒｔｙ（又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ）の構文が説明されている。カメラ装置は、このラベルパラメータのコンテンツを、典型的にはユーザに定義されるＵＴＦ−８文字の文字列で埋める。１つの代替例では、ラベルが撮影のコンテキストを記述する情報を包含する。例えば、ユーザが文字列を入力してもよく、撮像装置がその撮像の日付及び位置を含む文字列を生成してもよい。例えば、この文字列は、「２０１３年５月にパリで撮像された、エッフェルタワーの訪問」を包含していてもよい。特に、撮像装置はラベルを自動的に生成するために、その装置上で利用可能な画像認識プログラムを使用してもよい。
【０３１５】
aligned(8) class Label extends ItemProperty('labl') {
utf8string label
}
【０３１６】
１つの代替例では、１つの「ｔｒａｋ」コンテナに記述された一連の画像に対する１つのＳａｍｐｌｅＥｎｔｒｙ又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙとしてプロパティ情報が記述される。このコンテキストにおけるプロパティ情報の構文は以下の通りである。このような場合、以下に示すようにこの構文はＩｔｅｍＰｒｏｐｅｒｔｙ構文に近いものになる。
Box type :'aebr'
Container : VisualSampleEntry
Mandatory: No
Quantity: Zero or one
aligned(8) class Label extends Box('labl') {
utf8string label
}
【０３１７】
結果として、ラベルは、トラック内のサンプルのコンテンツを記述するＵＴＦ−８文字列になる。
【０３１８】
別の実施形態では、特定の文字列を介して（正確な目的なしに）一連の画像が関連させられることをグループ化情報が示す。エンティティグループ化の場合、グループ化タイプは「ｌａｂｌ」又は「ｔａｇ  」の４文字コードに等しく設定される。
【０３１９】
別の代替例では、タグ又はラベルプロパティを、「ｌａｂｌ」や「ｔａｇ  」とは異なるグループ化タイプを有する項目のグループに関連付けることもできる。
【０３２０】
別の実施形態では、写真シリーズ又はユーザコレクションプロパティ情報が追加パラメータとしてラベルパラメータを含む。
【０３２１】
構文は、例えば次のようになる。
aligned(8) class UserDefinedCaptureSeriesProperty extends ItemProperty('udcs') {
utf8string label
}
【０３２２】
ここで、labelは、ユーザ定義の撮像シリーズの人間に可読な名前を提供するＵＴＦ−８文字のnull終端文字列である。
【０３２３】
［グループを参照する項目プロパティ関連付け］
第６の実施形態では、プロパティ情報が（例えば、１つのＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＳａｍｐｌｅＴｏＧｒｏｕｐボックス内のシグナリングを介して）グループ化情報によって１つのグループ内に収集されるいくつかの画像（すなわち、項目又はサンプルのいずれか）に適用される。このような場合、プロパティ情報は、１つの画像に代わり１つのグループに関連付けられる。例えば、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎボックスは、一連の項目をグループ化するグループの識別子（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐのgroup_idパラメータ）を参照することを可能にする。次に、「ｉｐｍａ」ボックスのitem_ID欄は、項目の識別子(item_ID)又はグループ識別子（group_id）のいずれかを参照することができるentity_idによって置き換えられる。例えば、グループ化情報はＥｎｔｉｔｙＴｏＧｒｏｕｐである。１つのＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎボックスが参照できる識別情報は、group_id欄である。この実施形態の利点は、関連付けの繰り返しが回避されるので、各画像のプロパティの記述がよりコンパクトになることである。
【０３２４】
以下の表は、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎボックスの新しい構文である。
aligned(8) class ItemPropertyAssociation extends FullBox('ipma', version, flags)
{
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++) {
if (version < 1)
unsigned int(16) entity_ID;
else
unsigned int(32) entity_ID;
unsigned int(8) association_count;
for (i=0; i<association_count; i++) {
bit(1) essential;
if (flags & 1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０３２５】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎの異なるパラメータのセマンティクスは、entity_IDに名前変更されるitem_ID欄を除いて、変更されないままである。このentity_IDパラメータは、１つの項目又は１つのＥｎｔｉｔｙＴｏＧｒｏｕｐのいずれかを参照してもよい。したがって、entity_IDの値は、１つのgroup_id値又は１つのitem_ID値に等しい必要がある。
【０３２６】
一実施形態では、例えばオーディオサンプル、メタデータ項目など、任意の種類のメディアエンティティのグループをプロパティにリンクするために、同じ機構が使用される。
【０３２７】
例えば、撮像装置はユーザコレクション撮像モードを使用し、各画像を１つの項目として記述する。例えば、撮像装置は、４つの画像を格納する。各項目と共有されるプロパティ情報は、前の実施形態のように、撮影者によって設定されたラベルに対応する。ＨＥＩＦボックスはこのように４つの項目（ユーザコレクションの各画像に対して１つ）を記述する。
・項目＃１： ItemId=１;
・項目＃２： ItemId=２;
・項目＃３： ItemId=３;
・項目＃４： ItemId=４;
【０３２８】
グループ化情報は、４つの項目のセットを収集する「ｃａｓｅ」グループ化タイプ値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘとして記述される。次に、全ての項目に共通するラベルが説明される。この対応するプロパティは、「ｌａｂｌ」コードによって識別され、例えば、製品基準又は所定の値、例えばそのセット内の第１の画像の撮像日のような、ユーザによって設定されたラベルである。プロパティと項目との関連付けは、１つのＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎボックスに記述される。この実施形態では、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎボックスが４つの項目に対する単一のエントリのみを包含する。ＨＥＩＦライターは、ＥｎｔｉｔｙＴｏＧｒｏｕｐボックス内で定義された「ｃａｓｅ」グループで定義されたグループの識別子にプロパティを関連付ける。この相互化は他のプロパティ、例えば、サイズ（「ｉｓｐｅ」）又は復号構成（「ｈｖｃＣ」）に適用することができる。このテーブルは、この例のＨＥＩＦファイルの記述の疑似コードである。
GroupsListBox{
EntityToGroupBox('case') {
group_id='1234'
num_entities_in_group=4
entity_id=1
entity_id=2
entity_id=3
entity_id=4
}
}
ItemPropertyContainerBox {
'ispe'{1920 1080}
'hvcC'{...}
'labl' {
label = "Product ref. 32184103"
}
}
ItemPropertyAssociation｛
entry_count = 1
entity_id = 1234
association_count = 3
essential = 0, property_index=1 //サイズ
essential = 1, property_index=2 //復号構成
essential = 0, property_index=3 //ラベル
}
【０３２９】
ライターは、サイズと復号構成を画像ベースで関連付け続け、グループ化タイプに特有のプロパティ（以下の例では「ｌａｂｌ」）のみを共有してもよい。
ItemPropertyAssociation｛
entry_count = 5 //グループに関連付けられたプロパティ
entity_id = 1234
association_count = 1
essential = 0, property_index = 3 //ラベル
//画像項目＃１に関連付けられたプロパティ
entity_id = 1
association_count = 2
essential = 0, property_index = 1 //サイズ
essential = 1, property_index = 2 //復号構成
//画像項目＃２に関連付けられたプロパティ
//画像項目＃３に関連付けられたプロパティ
//画像項目＃４に関連付けられたプロパティ
entity_id = 4
association_count = 2
essential = 0, property_index = 1 //サイズ
essential = 1, property_index = 2 //復号構成
【０３３０】
上の例から分かるように、画像又はエンティティのグループへの１つ以上のプロパティの関連付けを可能にする、画像プロパティ関連付けマップを有することは、画像ファイルの冗長な記述の減少をもたらす。
【０３３１】
［項目リファレンス］
第７の実施形態では、撮像された一連の画像間の関係がＩｔｅｍＲｅｆｅｒｅｎｃｅとして１つの撮像シリーズで記述される。ＩｔｅｍＲｅｆｅｒｅｎｃｅＢｏｘはＨＥＩＦファイルの２つの項目間の基準を記述し、reference_typeパラメータを介して各関連付けに基準のタイプを関連付ける。この実施形態では、各撮像モードに対して１つの基準タイプが定義される。所与の撮像モードに対して使用するreference_typeの４文字コードは、grouping_typeに対して記述されているものと同じである。
【０３３２】
その原理は、その撮像順序でその装置によって撮像された各画像間に１つの項目基準を設定することである。したがって、例えば、一連の画像のうちの第２の画像は、一連の画像のうちの第１の画像への基準を記述し、第３の画像は第２の画像への基準を記述し、以下同様である。
【０３３３】
reference_type値に応じて、ＨＥＩＦパーサは１番目と２番目の項目の関係を決定する。
【０３３４】
例えば、reference_typeが、
・「ｐａｎｏ」に等しい場合、第２の項目は、パノラマの撮像パターン内の第１の項目に続く画像である。この撮像パターンが左から右である場合、第２の項目は第１の項目の右にある。デフォルトでは、左から右へのパターンが想定される。
・「ｐａｎｈ」は「ｐａｎｏ」の代替である場合、第２の項目は、パノラマの撮像パターン内の第１の項目に水平に続く画像である。この撮像パターンが左から右である場合、第２の項目は第１の項目の右にある。デフォルトでは、左から右へのパターンが想定される。別の実施形態では、「ｐａｎＨ」reference_typeが右から左へのパノラマに使用される。
・「ｐａｎｖ」に等しい場合、第２の項目は、パノラマの撮像パターン内の第１の項目に水平に続く画像である。この撮像パターンが上から下である場合、第２の項目は第１の項目の下にある。デフォルトでは、上から下へのパターンが想定される。別の実施形態では、「ｐａｎＶ」reference_typeが下から上へのパノラマに使用される。−「ｐａｎｈ」、「ｐａｎＨ」、及び「ｐａｎｖ」、「ｐａｎＶ」を、格子パノラマを記述するために組み合わせることができる。各行は、「ｐａｎｈ」又は「ｐａｎＨ」reference_typeを使用して記述される。２つの連続する行間の関係は、２つの行の最初の画像間の「ｐａｎｖ」又は「ｐａｎＶ」reference_typeを使用して記述される。
・これらのreference_typeは、「ｒｉｇｈ」、「ｌｅｆｔ」、「ｔｏｐ  」、「ｂｏｔｔ」と名付けることもできる。
・これらのreference_typeは、立方体パノラマ又はより複雑なパノラマを記述するために使用してもよい。
・「ｉｍｂｕ」又は「ｐｓｅｒ」又は「ｔｉｌａ」又は「ｂｒｓｔ」に等しい場合、第２の項目は、画像のセットの撮像の順序内の第１の項目に続く画像である。
・「ｔｓｙｎ」に等しい場合、第２の項目は第１の項目と同じ時間に撮像された。
・「ｂｒａｋ」に等しい場合、第２の項目は、第１の項目に続くブラケットセット内の画像である。
・「ａｅｂｒ」に等しい場合、第２の項目は、第１の項目に続く露光ブラケットセット内の画像である。その結果、露光絞りの昇順でブラケットを行った場合の第１の項目よりも長い露光時間としての第２の項目。
・「ｗｂｂｒ」に等しい場合、第２の項目は、第１の項目に続くホワイトバランスブラケットセット内の画像である。その結果、色温度の昇順でブラケットを行った場合の第１の項目よりも高い色温度としての第２の項目。
・「ｆｏｂｒ」に等しい場合、第２の項目は、第１の項目に続くフォーカスブラケットセット内の画像である。その結果、フォーカス距離の昇順でブラケットを行った場合の第１の項目よりも遠いフォーカス距離としての第２の項目。
・「ｍｕｌｔ」に等しい場合、第２の項目は、同じ多重露光セットの別の項目である。
・「ｈｄｒ  」に等しい場合、第２の項目は、同じＨＤＲ項目セットの別の項目である。
・「ｎｏｉｓ」に等しい場合、第２の項目は、同じノイズ低減項目セットの別の項目である。
・「ｄａｒｋ」に等しい場合、第２の項目は、第１の画像からセンサ関連ノイズを除去するために使用することができる暗い画像である。
・「ｆｌａｔ」に等しい場合、第２の項目は、第１の画像の口径食を補償するために使用することができるフラットな画像である。
【０３３５】
この原理は、他のブラケットタイプについても同様である。
【０３３６】
別の実施形態では、撮像シリーズからの画像のセットは、新しい画像を生成するために撮像装置によってさらに処理される。例えば、撮像装置は、自動露光ブラケットで撮像された一連の画像からＨＤＲ画像を生成してもよい。そのような場合、項目基準は、自動露光ブラケットにおいて、ＨＤＲ項目と一連の画像のグループの識別子との間でシグナリングされる。他の実施例は、ノイズ低減、長秒時露光ノイズ低減、口径食補正、超解像、多重露光画像などがある。その結果、ＩｔｅｍＲｅｆｅｒｅｎｃｅＢｏｘ構文は次のようになる。
aligned(8) class SingleltemTypeReferenceBox(referenceType) extends Box(referenceType) {
unsigned int(16) from_item_ID;
unsigned int(16) reference_count;
for (j=0 j<reference_count j++) {
unsigned int(16) to_entity_ID;
}
}
aligned(8) class SingleltemTypeReferenceBoxLarge(referenceType) extends Box(referenceType) {
unsigned int(32) from_item_ID;
unsigned int(16) reference_count;
for (j=0 j<reference_count j++) {
unsigned int(32) to_entity_ID;
}
}
aligned(8) class ItemReferenceBox extends FullBox('iref', version, 0) {
if (version==0) {
SingleltemTypeReferenceBox references [];
} else if (version==1) {
SingleltemTypeReferenceBoxLarge references [];
}
}
【０３３７】
新しいパラメータto_entity_IDは、項目又はグループの識別子である。この利点は、ＨＥＩＦパーサが、画像のグループから１つの項目が計算されることを決定できることである。
【０３３８】
処理された画像を画像のグループに関連づけるために、いくつかのタイプの基準を定義することができる。これらのreference_typesは、項目とグループの間、又は項目と他のいくつかの項目の間で使用できる。
【０３３９】
これらの新しいタイプは、例えば以下のようである。
・「Ｐａｎｏ」：この項目は、参照された項目から生成されたパノラマ項目である。
・「Ｓｒｅｓ」：この項目は、参照された項目から生成された超解像項目である。
・「Ｍｕｌｔ」：この項目は、参照された項目から生成された多重露光項目である。
・「Ｈｄｒ  」：この項目は、参照された項目から生成されたＨＤＲ項目である。
・「Ｎｏｉｓ」：この項目は、参照された項目から生成されるノイズが低減された項目である。
・「Ｄａｒｋ」：この項目は、参照された項目を使用して長秒時露光関連ノイズが除去された項目である。第１の参照項目は原稿の長秒時露光画像であり、第２の参照項目は暗画像である。
・「Ｆｌａｔ」：この項目は、参照された項目を使用して口径食が補償された項目である。第１の参照項目はオリジナル画像であり、一方第２の参照項目はフラットな画像である。
【０３４０】
［撮像モードごとに１つのグループ化タイプ及び１つのプロパティ情報］
一実施形態では、第１の実施形態におけるように、グループ化タイプは撮像モードそれぞれに対して定義される。さらに、第２の実施形態のように、プロパティ情報は撮像モードそれぞれに対して定義される。このように、撮像モードのパラメータは、対応するプロパティ情報内に記述される。
【０３４１】
すなわち、グループ化タイプ及びプロパティ情報を以下のように定義することができる。
【０３４２】
「ｂｒｓｔ」エンティティグループは、画像項目の設定が時間的に増加する順序でバーストを形成することを示すことを可能にする。
【０３４３】
我々は、２つの連続する画像項目間の撮像時間差を文書化するために使用することのできる、関連付けられた「ｂｒｓｔ」記述項目プロパティを導入することによって、このグループを構築することを提案する。この項目プロパティは例えば、タイムラプスをより完全に記述するために有用である。
【０３４４】
［画像バースト情報］
［定義］
画像バースト「ｂｒｓｔ」記述項目プロパティは、画像項目のバースト内の関連付けられた画像項目と前の画像項目との間の撮像時間差を定義する。関連付けられた画像項目を参照するエンティティグループ「ｂｒｓｔ」は１つ存在し、１つのみ存在する必要がある。
【０３４５】
［構文］
aligned (8) class ImageBurstProperty extends ItemProperty('brst') {
unsigned int (32) time_delta;
}
【０３４６】
［セマンティクス］
time_deltaは、画像項目とバースト内の以前の項目との間に経過した１００分の１秒の数である。この値は、関連付けられた画像項目がタイプ「ｂｒｓｔ」のエンティティグループ内の最初の画像項目である場合、値０として解釈されることになる。
【０３４７】
［画像バースト情報代替例］
［定義］
画像バースト「ｂｒｓｔ」記述項目プロパティは、画像項目のバースト内の関連付けられた画像項目の撮像時間を定義する。画像項目のバースト内の最初の画像項目は、画像項目のバーストが開始し、そこから撮像時間が測定される時間ゼロを表す。関連付けられた画像項目を参照するエンティティグループ「ｂｒｓｔ」は１つ存在し、１つのみ存在する必要がある。
【０３４８】
［構文］
aligned (8) class ImageBurstProperty extends ItemProperty('brst') {
unsigned int (32) capture_time;
}
【０３４９】
［セマンティクス］
capture_timeは、画像項目とバースト内の最初の画像項目との間に経過した１００分の１秒の数である。この値は、関連付けられた画像項目がタイプ「ｂｒｓｔ」の関連付けられたエンティティグループ内の最初の画像項目である場合、値０として解釈されることになる。
【０３５０】
［ブラケットセット／論理グループ］
［動機］
ブラケットは、異なるカメラ設定で同じコンテンツを撮像することを可能にする。最も一般的なケースは、シーンの全ての部分が、画像の少なくとも１つにおいて露光ブラケットを使用して正しい露光で撮影されるであろうことを確かにすることである。通常、結果として得られる画像のセットは（例えば、ＨＤＲ画像を作成することによって）最終結果を得るために処理される。
【０３５１】
画像間のブラケット関係を明示的に維持し、明示的にすることは、全ての写真処理ワークフローの間、撮影者の最初の意図を保持するために非常に有用である。さらに、異なる画像に関連付けられたメタデータから画像項目を決定することが困難であり得る（利用可能なＥＸＩＦ欄に基づいていくつかの画像項目から複数の値を計算し交差させること、又は各カメラメーカに固有のメーカノートを使用することなどが必要であり得る）ので、ブラケットセット内の画像項目を識別する汎用パラメータ値を指定するプロパティを提供することは、クライアントによる画像項目の選択を容易にするためにも有用である。
【０３５２】
ブラケットに関連して、パノラマ作成を意図して複数の画像を撮像することができる。ブラケットに関しては、画像間のこのパノマラ関連のリンクを明示的に維持し、明示的にすることが非常に有用である。また、パノラマの特性を指定するプロパティを提供することは、画像をパノラマに処理するのに役立つ。
【０３５３】
以下のセクションは、ＴｕＣに記述されているエンティティグループ及びサンプルグループのための規範的なテキストを提案する。対応する項目プロパティのための規範的なテキストは後で提案される。
【０３５４】
［自動露光ブラケット］
［「ａｅｂｒ」エンティティグループ］
自動露光ブラケットエンティティグループ（「ａｅｂｒ」）は、異なる露光設定で撮像された画像項目のセットを示す。エンティティグループ内の各画像項目に対する相対露光設定は、自動露光ブラケット項目プロパティ「ａｅｂｒ」を使用して定義されるべきである。
【０３５５】
［「ａｅｂｒ」サンプルグループ］
［定義］
自動露光ブラケットサンプルグループ（「ａｅｂｒ」）は、異なる露光設定で撮像されたサンプルのセットを示す。「ａｅｂｒ」タイプのサンプルグループがいくつかあってもよく、そのそれぞれは異なるgrouping_type_parameterの値を有する。ＡｕｔｏＥｘｐｏｓｕｒｅＢｒａｃｋｅｔｉｎｇＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルに対する相対露光設定を提供する。
【０３５６】
［構文］
aligned (8) class AutoExposureBracketingEntry extends VisualSampleGroupEntry('aebr') {
int (8) exposure_step;
int (8) exposure_numerator;
}
【０３５７】
［セマンティクス］
exposure_stepは、露光ブラケットの間使用される増分ステップを指定する整数値である。１に等しい場合は絞りインクリメントがそのまま使用され、２に等しい場合は１／２絞りインクリメントが使用され、３に等しい場合は１／３絞りインクリメントが使用され、４に等しい場合は１／４絞りインクリメントが使用される。
【０３５８】
exposure_numeratorは、項目の露光値絞りを計算するために使用される露光分子を指定する整数値である。
【０３５９】
デフォルトの自動露光カメラ設定と比較した画像項目の露光値変動は、exposure_numerator/exposure_stepとして計算される絞りの数として表される。
【０３６０】
［ホワイトバランスブラケット］
［「ｗｂｂｒ」エンティティグループ］
ホワイトバランスブラケットエンティティグループ（「ｗｂｂｒ」）は、異なるホワイトバランス設定で撮像された画像項目のセットを示す。エンティティグループ内の各画像項目に対する相対ホワイトバランス設定は、ホワイトバランスブラケット項目プロパティ「ｗｂｂｒ」を使用して定義されるべきである。
【０３６１】
［「ｗｂｂｒ」サンプルグループ］
［定義］
ホワイトバランスブラケットサンプルグループ（「ｗｂｂｒ」）は、異なるホワイトバランス設定で撮像されたサンプルのセットを示す。「ｗｂｂｒ」タイプのサンプルグループがいくつかあってもよく、そのそれぞれは異なるgrouping_type_parameterの値を有する。ＷｈｉｔｅＢａｌａｎｃｅＢｒａｃｋｅｔｉｎｇＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルについて、青／黄色バイアス及び／又はマゼンタ／緑バイアスに関するホワイトバランス補償を提供する。
【０３６２】
［構文］
aligned(8) class WhiteBalanceBracketingEntry extends ＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙ('wbbr') {
int(8) blue_amber;
int(8) green_magenta;
}
【０３６３】
［セマンティクス］
blue_amberは、青−黄色軸のホワイトバランス補償の値である。
【０３６４】
green_magentaは、緑−マゼンタ軸のホワイトバランス補償の値である。
【０３６５】
［フォーカスブラケット］
［「ｆｏｂｒ」エンティティグループ］
フォーカスブラケット露光ブラケットエンティティグループ（「ｆｏｂｒ」）は、異なるフォーカス設定で撮像された画像項目のセットを示す。エンティティグループ内の各画像項目の相対フォーカス設定は、フォーカスブラケット項目プロパティ「ｆｏｂｒ」を使用して定義されるべきである。
【０３６６】
［「ｆｏｂｒ」サンプルグループ］
［定義］
フォーカスブラケット露光ブラケットサンプルグループ（「ｆｏｂｒ」）は、異なるフォーカス設定で撮像されたサンプルのセットを示す。「ｆｏｂｒ」 タイプのサンプルグループがいくつかあってもよく、そのそれぞれは異なるgrouping_type_parameterの値を有する。ＦｏｃｕｓＢｒａｃｋｅｔｉｎｇＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルに対する相対フォーカス設定を提供する。
【０３６７】
［構文］
aligned(8) class FocusBracketingEntry extends VisualSampleGroupEntry('fobr') {
unsigned int(32) focus_distance_numerator;
unsigned int(32) focus_distance_denominator;
}
【０３６８】
［セマンティクス］
フォーカス距離は、focus_distanse_numeratorとfocus_distanse_denominatorの比としてメートル単位で表される。
【０３６９】
［フラッシュ露光ブラケット撮影］
［「ａｆｂｒ」エンティティグループ］
フラッシュ露光ブラケットエンティティグループ（「ａｆｂｒ」） は、異なるフラッシュ露光設定で撮像された画像項目のセットを示す。エンティティグループ内の各画像項目に対する相対フラッシュ露光設定は、フラッシュ露光ブラケット項目プロパティ「ａｆｂｒ」を使用して定義されるべきである。
【０３７０】
［「ａｆｂｒ」サンプルグループ］
［定義］
フラッシュ露光ブラケットサンプルグループ（「ａｆｂｒ」）は、異なるフラッシュ露光設定で撮像されたサンプルのセットを示す。「ａｆｂｒ」型のサンプルグループがいくつかあってもよく、そのそれぞれは異なるgrouping_type_parameterの値を有する。ＦｌａｓｈＥｘｐｏｓｕｒｅＢｒａｃｋｅｔｉｎｇＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルの相対フラッシュ露光設定を提供する。
【０３７１】
［構文］
aligned(8) class FlashExposureBracketingEntry extends VisualSampleGroupEntry('afbr') {
int(8) flash_exposure_numerator;
int(8) flash_exposure_denominator;
}
【０３７２】
［セマンティクス］
カメラ設定と比較したサンプルのフラッシュ露光変動は、絞りの数として表され、flash_exposure_numerator／flash_exposure_stepとして計算される。
【０３７３】
［被写界深度ブラケット］
［「ｄｏｂｒ」エンティティグループ］
被写界深度ブラケットエンティティグループ（「ｄｏｂｒ」）は、異なる被写界深度設定で撮像された画像項目のセットを示す。エンティティグループ内の各画像項目の相対被写界深度設定は、被写界深度ブラケット項目プロパティ「ｄｏｂｒ」を使用して定義されるべきである。
【０３７４】
［「ｄｏｂｒ」サンプルグループ］
［定義］
被写界深度ブラケットサンプルグループ（「ｄｏｂｒ」）は、異なる被写界深度設定で撮像されたサンプルのセットを示す。「ｄｏｂｒ」タイプのサンプルグループがいくつかあってもよく、そのそれぞれは異なるgrouping_type_parameterの値を有する。ＤｅｐｔｈＯｆＦｉｅｌｄＢｒａｃｋｅｔｉｎｇＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルに対する相対被写界深度設定を提供する。
【０３７５】
［構文］
aligned(8) class DepthOfFieldBracketingEntry extends VisualSampleGroupEntry('dobr') {
int (8) f_stop_numerator;
int (8) f_stop_denominator;
}
【０３７６】
［セマンティクス］
被写界深度変動は、絞り数の口径変化として表され、f_stop_numerator／f_stop_denominatorとして計算される。
【０３７７】
［パノラマ］
［「ｐａｎｏ」エンティティグループ］
パノラマエンティティグループ（「ｐａｎｏ」）は、パノラマを作成するために撮像された画像項目のセットを示す。パノラマ内のエンティティグループからの各画像項目の位置は、パノラマ項目プロパティ「ｐａｎｏ」を使用して定義されるべきである。
【０３７８】
［「ｐａｎｏ」サンプルグループ］
［定義］
パノラマサンプルグループ（「ｐａｎｏ」）は、パノラマを作成するために撮像されたサンプルのセットを示す。「ａｅｂｒ」タイプのサンプルグループがいくつかあってもよく、それぞれは異なるgrouping_type_parameterの値を有する。ＰａｎｏｒａｍａＥｎｔｒｙは、サンプルグループ内のこのエントリに関連付けられたサンプルの位置を提供する。
【０３７９】
［構文］
aligned(8) class PanoramaEntry extends VisualSampleGroupEntry('pano') {
unsigned int(1) panorama_direction unsigned int(15) frame_number
}
【０３８０】
［セマンティクス］
panorama_directionはパノラマ方向をシグナリングする１ビットのフラグ（０：左から右、１：右から左）であり、frame_numberはパノラマ方向に従うフレーム番号を（低い方から高い方へと）表す整数である。
【０３８１】
［項目プロパティ］
［動機］
以下のセクションは、ブラケット、パノラマ、及びバーストに関連するエンティティグループを指定するために、項目プロパティの規範的なテキストを提案する。
【０３８２】
［自動露光ブラケット情報］
［定義］
自動露光ブラケット記述項目プロパティは、カメラ設定に対して相対的に関連付けられた画像項目の露光変動を定義する。
【０３８３】
これは、「ａｅｂｒ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。
【０３８４】
［構文］
aligned (8) class AutoExposureBracketingProperty extends ItemProperty('aebr') {
int (8) exposure_step;
int (8) exposure_numerator;
}
【０３８５】
［セマンティクス］
exposure_stepは、露光ブラケットの間使用される増分ステップを指定する整数値である。１に等しい場合は絞りインクリメントがそのまま使用され、２に等しい場合は１／２絞りインクリメントが使用され、３に等しい場合は１／３絞りインクリメントが使用され、４に等しい場合は１／４絞りインクリメントが使用される。
【０３８６】
exposure_numeratorは、項目の露光値絞りを計算するために使用される露光分子を指定する整数値である。
【０３８７】
カメラ設定と比較した関連付けられた画像項目の露光値変動は、絞りの数として表され、exposure_numerator／exposure_stepとして計算される。
【０３８８】
［ホワイトバランスブラケット情報］
［定義］
ホワイトバランスブラケット記述項目プロパティは、カメラ設定に対して相対的に関連付けられた画像項目に適用される青／黄色バイアス及び／又はマゼンタ／緑バイアスに関するホワイトバランス補償を定義する。
【０３８９】
これは、「ｗｂｂｒ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。
【０３９０】
［構文］
aligned (8) class WhiteBalanceBracketingProperty extends ItemProperty ('wbbr') {
int (8) blue_amber;
int (8) green_magenta;
}
【０３９１】
［セマンティクス］
blue_amberは、青−黄軸におけるホワイトバランス補償の値である。
【０３９２】
green_magentaは、緑−マゼンタ軸におけるホワイトバランス補償の値である。
【０３９３】
［フォーカスブラケット情報］
［定義］
フォーカスブラケット記述項目プロパティは、カメラ設定に対して相対的に関連付けられた画像項目のフォーカス変動を定義する。
【０３９４】
これは、「ｆｏｂｒ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。
【０３９５】
［構文］
aligned (8) class FocusBracketingProperty extends ItemProperty('fobr') {
unsigned int(32) focus_distance_numerator;
unsigned int(32) focus_distance_denominator;
}
【０３９６】
［セマンティクス］
フォーカス距離は、focus_distanse_numeratorとfocus_distanse_denominatorの比としてメートル単位で表される。
【０３９７】
［フラッシュ露光ブラケット情報］
［定義］
フラッシュ露光ブラケット記述項目プロパティは、カメラ設定に対して相対的に関連付けられた画像項目のフラッシュ露光変動を定義する。
【０３９８】
これは、「ａｆｂｒ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。
【０３９９】
［構文］
aligned (8) class FlashExposureBracketingProperty extends ItemProperty('afbr') {
int (8) flash_exposure_numerator;
int (8) flash_exposure_denominaton;
}
【０４００】
［セマンティクス］
カメラ設定に対する相対的な画像項目のフラッシュ露光変動は、絞りの数として表され、flash_exposure_numerator／flash_exposure_stepとして計算される。
【０４０１】
［被写界深度ブラケット情報］
［定義］
被写界深度ブラケット記述項目プロパティは、カメラ設定に対して相対的に関連付けられた画像項目の被写界深度変動を定義する。これは、口径変化として表現される。これは、「ｄｏｂｒ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。
【０４０２】
［構文］
aligned (8) class DepthOfFieldBracketingProperty extends ItemProperty('dobr') {
int (8) f_stop_numerator;
int (8) f_stop_denominator;
}
【０４０３】
［セマンティクス］
被写界深度変動は、絞り数の口径変化として表され、f_stop_numerator／f_stop_denominatorとして計算される。
【０４０４】
［パノラマ情報］
［定義］
パノラマ記述項目プロパティは、パノラマ内の関連付けられた画像項目の位置を定義する。これは、「ｐａｎｏ」エンティティグループに含まれる画像項目のプロパティを指定するために使用される。関連付けられた画像項目を参照するエンティティグループ「ｐａｎｏ」は１つ存在し、１つのみ存在する必要がある。
【０４０５】
［構文］
aligned (8) class PanoramaProperty extends ItemProperty('pano') {
unsigned int(1) panorama_direction;
unsigned int(15) frame_number;
}
【０４０６】
［セマンティクス］
panorama_directionはパノラマ方向をシグナリングする１ビットのフラグ（０：左から右、１：右から左）であり、frame_numberはパノラマ方向に従うフレーム番号を（低い方から高い方へと）表す整数である。
【０４０７】
図３は、図２のカプセル化処理によって生成されるＨＥＩＦファイル解析処理の主なステップを示す。デコード処理は、一連の画像を有するＨＥＩＦファイルの解析によって開始する。ステップ３０１で、グループ化情報が解析される。一連の画像の撮像モードは、グループ化情報が存在するとき、すなわち、ＨＥＩＦファイルが先に述べた値の１つに等しいgrouping_typeを有するＥｎｔｉｔｙＴｏＧｒｏｕｐ又はＴｒａｃｋＧｒｏｕｐ又はＳａｍｐｌｅＴｏＧｒｏｕｐボックスを含むとき、ステップ３０３で決定される。第１の代替例では、grouping_typeパラメータは撮像モードを直接指定する。第２の代替例では、グループ化情報は、画像のセットが撮像シリーズグループに所属する（グループ化タイプが「ｃａｓｅ」に等しい）ことをシグナリングする。この場合、プロパティ情報はステップ３０２において、ＩｔｅｍＰｒｏｐｅｒｔｙ、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ、又はＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙ若しくはＶｉｓｕａｌＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙのいずれかのボックスで解析され、ステップ３０３において、画像のグループの撮像モード、並びにそのセット及び撮像シリーズの各画像に関連関連付けられたパラメータを決定する。
【０４０８】
撮像モードがブラケット撮像モードに対応する場合、デコーダはステップ３０４において、ＨＥＩＦファイルが一連のブラケット画像を包含することをプレーヤに通知する。そのような場合、このアプリケーションは、異なるブラケット代替例を眺めることを可能にするＧＵＩインターフェースを提供する。一実施形態では、このインターフェースは、各画像に関連付けられた撮像の特性を抽出するために、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓなどのプロパティ情報内に提供される情報を提供する。特に、自動露光ブラケット撮影では、ユーザが適切なショットを選択できるように、各ショットの露光絞りがステップ３０５で表示される。好ましい露光が選択されると、復号装置は、選択された画像を「一次項目」としてマークするようにＨＥＩＦファイルを修正してもよい。
【０４０９】
撮像モードがパノラマ画像に対応する場合、デコーダはステップ３０４において、ユーザがナビゲートできる一連の画像をＨＥＩＦファイルが包含することをプレーヤに通知する。このＧＵＩインターフェースは、ユーザが空間的構成として画像間をナビゲートできるように、特定のＧＵＩ要素を示してもよい。プレーヤは、パターンに適合されたナビゲーションインターフェースを生成するように、（例えば、左から右への）セット画像の撮像のパターンを抽出するために、プロパティ情報を解析する。例えば、撮像のパターンが左から右である場合、ＧＵＩインターフェースは、ＨＥＩＦファイルの項目間をナビゲーションすることを可能にする水平ナビゲーション矢印を提供する。
【０４１０】
撮像モードが写真シリーズ又は画像バーストに対応する場合、デコーダはステップ３０４において、例えば、写真シリーズ又は画像バーストグループの全ての画像間のダイアポラマを開始するようにプレーヤに通知する。一実施形態では、ダイアポラマ内の各画像の表示時間は、画像バーストグループのプロパティ情報内に指定される時間隔の関数である。
【０４１１】
一実施形態では、プレーヤは、ユーザがフォトシリーズのコンテンツを迅速に識別できるように、ダイアポラマの始めに、又は各画像内の透かしとして、プロパティ情報内に提供されるラベル情報を表示する。別の実施形態では、ユーザは、フォトシリーズグループの一連の画像から、好ましい画像として１つの画像を選択してもよい。このような場合、この好ましい画像は一次項目としてマークされる。別の実施形態では、ユーザは、フォトシリーズから好ましい画像としていくつかの画像を選択してもよい。このような場合、プレーヤは選択された画像を有する新しいフォトシリーズグループを作成し、同じラベルプロパティ情報を関連付ける。プロパティ情報内の新しいブールパラメータは、その写真シリーズが写真シリーズの一次グループであることを示す。
【０４１２】
一実施形態によれば、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘから継承された新しいＥｎｔｉｔｙＴｏＧｒｏｕｐは、全ての撮像又はコレクションモードをカバーする固有の汎用のgrouping_type値を用いて定義される。特定のタイプの撮像又はコレクションモードは、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘの追加属性として定義される。
【０４１３】
例えば、汎用の「ｂｒａｋ」（ブラケット用）又は「ｃａｓｅ」（撮像シリーズ用）又は「ｌｇｒｐ」（論理グループ化用）グループ化タイプ（又は、すでに使用されていない任意の４文字コードが同等のセマンティックで使用されてもよい）を有する新しいＥｎｔｉｔｙＴｏＧｒｏｕｐは、特定の撮像又はコレクションモードに従って複数のエンティティをグループ化するために定義されてもよい。すなわち例えば、自動露光ブラケット、ホワイトバランスブラケット、フォーカスブラケット、フラッシュ露光ブラケット、被写界深度ブラケット、ＩＳＯブラケット、お気に入りコレクション、アルバムコレクション、又はユーザ定義の撮像シリーズなどの、特定のタイプの撮像又はコレクションモードは、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ（「ｃａｓｅ」）又は同等のgrouping_typeの新しいパラメータcapture_mode(又はcollection_mode、若しくはgrouping_mode若しくはlogical_grouping_type）を使用してシグナリングされてもよい。
【０４１４】
ＥｎｔｉｔｙＴｏＧｒｏｕｐとして記述されている場合のグループ化情報の構文の例が以下に記述される。
aligned(8) class EntityToGroupBox('case', version, flags) { extends FullBox('case', version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0; i<num_entities_in_group; i++)
unsigned int(32) entity_id; //以下のパラメータはgrouping_type「ｃａｓｅ」に対する共通のパラメータである
unsigned int(32) capture_mode; //撮像又はコレクションモードを識別する４ＣＣ
}
【０４１５】
ここで、capture_modeは撮像又はコレクションモードを識別する。
【０４１６】
ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘからの明示的な継承と同等の構文は、以下で記述される。
aligned(8) class CaptureSeriesEntityToGroupBox extends EntityToGroupBox('case', version, flags) {
unsigned int(32) capture_mode;
}
【０４１７】
ある実施形態では、ＣａｐｔｕｒｅＳｅｒｉｅｓＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘはＬｏｇｉｃａｌＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ又はＢｒａｃｋｅｔｉｎｇＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘと名付けられてもよい。
【０４１８】
あるいは、撮像又は収集モードごとに新しい４ＣＣを定義するのではなく、capture_modeパラメータを以下の表のインデックスとして定義してもよい。
【０４１９】
撮像又は収集モードを識別するために、次の４ＣＣコードを定義できる。
【表２】
2021519525.tif 000004
【０４２０】
あるいは、変形例では、特定のgrouping_typeを有する新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘを、自動露光ブラケットのための「ａｅｂｒ」、ホワイトバランスブラケットのための「ｗｂｂｒ」など、上記の表に列挙された特定の撮像又はコレクションモードごとに定義してもよい。
【０４２１】
新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘの構文の例が以下に記述される（撮像モード又はコレクションモードごとに同様の構文が導出されてもよい）。
aligned(8) class AlbumCollectionEntityToGroupBox extends EntityToGroupBox('albc', version, flags) {
}
aligned(8) class FavoriteCollectionEntityToGroupBox extends EntityToGroupBox('favc', version, flags) {
}
aligned(8) class AutoExposureBracketingEntityToGroupBox extends EntityToGroupBox('aebr', version, flags) {
}
【０４２２】
この第１の実施形態の代替例によれば、上記の新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓに基づくグループ化情報は、人間に可読な名前、タグ、若しくはエンティティのグループのコンテンツの記述を与えるＵＴＦ−８文字でnull終端文字列を提供する１つ以上の追加のタグ又はラベルパラメータを含んでいてもよい。それらはまた、位置情報パラメータ（例えば、ＧＰＳ座標又はその位置の人間に可読な記述）と、他のヌル終端文字列パラメータに包含されるテキストの言語を表す言語情報パラメータとを随意に含んでもよい。
【０４２３】
それらはまた、グループ化情報の一意の識別子（group_uuid又はlogical_group_idなど）を提供するパラメータを随意に含んでもよい。この一意の識別子は、ＨＥＩＦファイル内部で、又は複数のＨＥＩＦファイルに渡って、複数のエンティティのグループ（例えば、同じアルバムに属するディレクトリ内の複数の画像ファイル）を相互に関連付けるために使用されてもよい。この識別子の一意性を確保するために、特に異なる装置、ユーザ、又はベンダから識別子が割り当てられている場合、この識別子はＲＦＣ４１２２で指定されているUniversally Unique IDentifier(ＵＵＩＤ)を使用して定義される。
【０４２４】
ＥｎｔｉｔｙＴｏＧｒｏｕｐとして記述されている場合の汎用グループ化情報の構文の例が以下に記述される（全てのオプションパラメータを含む）。
aligned(8) class CaptureSeriesEntityToGroupBox extends EntityToGroupBox('case'、version = ０、flags = ０){
unsigned int(32) capture_mode; 
unsigned int(8)[16] group_uuid;
utf8string group_name;
utf8string group_description;
utf8string group_tags ;
utf8string lang;
}
【０４２５】
ここで、
group_nameは、エンティティーのグループの人間に可読な名前を包含するnull終端ＵＴＦ−８文字の文字列である。
group_descriptionは、エンティティのグループの人間に可読な記述を包含するnull終端ＵＴＦ−８文字の文字列である。
group_tagsは、エンティティのグループに関連するカンマ区切りのタグを包含するnull終端ＵＴＦ−８文字の文字列である。
langは、「ｅｎ−ＵＳ」、「ｆｒ−ＦＲ」、「ｚｈ−ＣＮ」などのＲＦＣ ５６４６準拠の言語タグ文字列を包含する文字の文字列で、group_name、group_description、及びgroup_tagsに包含されるテキストの言語を表す。langが空の場合、言語はunknown/undefinedである。
【０４２６】
汎用のgrouping_typeの代わりに特定のgrouping_typeが使用される場合、特定のＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓの構文の例は次のようになる（上記と同じパラメータのセマンティクスを使用）。
aligned(8) class AlbumCollectionEntityToGroupBox extends EntityToGroupBox('albc', version, flags) { 
unsigned int(8)[16] group_uuid;
utf8string group_name;
utf8string group_description;
utf8string group_tag;
utf8string lang;
}
aligned(8) class FavouriteCollectionEntityToGroupBox extends EntityToGroupBox('favc', version, flags) {
unsigned int(8)[16] group_uuid;
utf8string group_name;
utf8string group_description;
utf8string group_tag;
utf8string lang;
}
aligned(8) class AutoExposureBracketingEntityToGroupBox extends EntityToGroupBox('aebr', version, flags) {
unsigned int(8)[16] group_uuid;
utf8string group_name;
utf8string group_description;
utf8string group_tag;
utf8string lang;
}
【０４２７】
撮像又はコレクションモードごとに、同様の構文が導出されてもよい。
【０４２８】
上記の構文は、人間に可読な文字列パラメータに対して１つの言語のみを表現できる。ユーザが表示可能なテキストの代替的な国際化をサポートするために、そのような人間に可読な文字列を複数の言語（例えば、日本語及びフランス語の両方）で提供することが望ましい場合がある。
【０４２９】
変形例では、新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓは、それに関連付けられた言語での、代替の人間に可読な文字列パラメータのリストを包含する。
【０４３０】
ＥｎｔｉｔｙＴｏＧｒｏｕｐとして記述される場合の汎用グループ化情報の構文は、以下に記述される（全てのオプションパラメータを含む）。
aligned(8) class CaptureSeriesEntityToGroupBox extends EntityToGroupBox('case'、version = 0、flags = 0){
unsigned int(32) capture_mode; 
unsigned int(8)[16] group_uuid;
unsigned int(16) entry_count;
for (i=0; i<entry_count; i++){
utf8string group_name;
utf8string group_description;
utf8string group_tags ;
utf8string lang;
}
}
【０４３１】
ここで、entry_countは、ユーザが表示可能な代替テキストの数を提供する。
【０４３２】
同様に、特定のgrouping_typeを有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓの構文は、次のようであってもいい（上記と同じパラメータのセマンティクスを有する）。
aligned(8) class AlbumCollectionEntityToGroupBox extends EntityToGroupBox(‘albc'、version = 0、flags = 0){
unsigned int(8)[16] group_uuid;
unsigned int(16) entry_count;
for (i=0; i<entry_count; i++){
utf8string group_name;
utf8string group_description;
utf8string group_tags ;
utf8string lang;
}
}
【０４３３】
同じ情報を複数のグループに複製することを回避するために、エンティティのグループ間でグループプロパティを共有する（したがって、場合によっては、単一の画像、画像のシーケンス、又はその両方をグループ化する）ことが望ましい場合がある。
【０４３４】
第２の実施形態によれば、汎用のgrouping_type(例えば「ｃａｓｅ」又は「ｌｇｒｐ」）又は特定のgrouping_type(例えば「ａｅｂｒ」、「ａｌｂｃ」．．．）を有する新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘは、先に述べたオプションのgroup_uuidパラメータのみを包含してもよい。他の全てのグループプロパティは、次のように記述される。
【０４３５】
グループプロパティは、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓのパラメータとしてではなく、Ｂｏｘ又はＦｕｌｌＢｏｘとして定義される。グループプロパティのボックスタイプは、そのプロパティタイプを指定する。グループプロパティは、記述的又は変換的であり得る。変換グループプロパティは、適用される先行する変換を有するエンティティのグループ内の各項目に適用される（項目に（「ｉｐｍａ」ボックスを介して）関連付けられた変換が最初に適用され、次いで、エンティティのグループに関連付けられた変換（以下で説明する）がグループ内の各項目に適用される）。
【０４３６】
新しいコンテナボックスＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘ（「ｇｐｒｐ」）がＭｅｔａＢｏｘ内に作成される。ＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘは、任意のグループをグループプロパティの順序付けられたセットと関連付けることを可能にする。このＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘは、グループプロパティの暗黙的にインデックス化されたリストを包含するＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ（「ｇｐｃｏ」）と、エンティティのグループをグループプロパティに関連付ける１つ以上のＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ（「ｇｐｍａ」）との２つの部分で構成される。
【０４３７】
一例では、各ＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘはgroup_idを増加させることによって順序付けられるものとし、ＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内では所与のgroup_idの発生は多くとも１つであるものとする。３２ビットのgroup_id値が必要な場合を除きバージョン０を使用するべきであり、同様に、ＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内に１２７を超えるプロパティがある場合を除き、フラグは０に等しくするべきである。バージョン及びフラグの値の所与の対を有するＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、多くとも１つしか存在しないことになる。
【０４３８】
関連付けられた構文は次のとおりである。
aligned(8) class GroupProperty(property_type) extends Box(property_type)
{
}
aligned(8) class GroupFullProperty(property_type, version, flags) extends FullBox(property_type, version, flags)
{
}
aligned(8) class GroupPropertyContainerBox extends Box('gpco')
{
Box properties[]; //ボックスを満たすために
//ＧｒｏｕｐＰｒｏｐｅｒｔｙ、ＧｒｏｕｐＦｕｌｌＰｒｏｐｅｒｔｙ、又はＦｒｅｅＳｐａｃｅＢｏｘから
//導出されたボックス
}
aligned(8) class GroupPropertyAssociationBox extends FullBox('gpma'version, flags)
{
unsigned int(32) entry_count;
for(i=0; i<entry_count; i++){
if (version < 1)
unsigned int(16) group_id;
else
unsigned int(32) group_id;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (flags & 1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
Box Type:'gprp'
Container: MetaBox ('meta')
Mandatory: No
Quantity: Zero or one
aligned(8) class GroupPropertiesBox extends Box('gprp') {
GroupPropertyContainerBox property_container;
GroupPropertyAssociationBox association;
}
【０４３９】
ここで、
group_idは、プロパティが関連付けられているＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘを識別する。
essentialは、１に設定されている場合には関連付けられたプロパティがそのグループに必須であり、そうでない場合には必須ではないことを示す。
property_indexは、プロパティが関連付けられていない（essentialインジケータも０である）ことを示す０か、又は同じＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘに包含されるＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内の関連付けられたプロパティボックスの１ベースのインデックス（ＦｒｅｅＳｐａｃｅボックスを含む全てのボックスをカウントする）かのいずれかである。
【０４４０】
この第２の実施形態によれば、エンティティのグループのコンテンツの名前、タグ、又は記述などの人間に可読なラベルは、例えば次のような特定のＦｏｕｒＣＣ「ｇｄｅｓ」を有する特定のＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙとして定義されてもよい。
aligned(8) class GroupDescriptionProperty extends GroupFullProperty('gdes', version = 0, flags = 0){ 
utf8string name;
utf8string description;
utf8string tags ;
utf8string lang;
}
【０４４１】
ここで、
nameは、エンティティーのグループの人間に可読な名前を包含するnull終端ＵＴＦ−８文字の文字列である。
descriptionは、エンティティのグループの人間に可読な記述を包含するnull終端ＵＴＦ−８文字の文字列である。
tagsは、エンティティのグループに関連するカンマ区切りのタグを包含するnull終端ＵＴＦ−８文字の文字列である。
langは、「ｅｎ−ＵＳ」、「ｆｒ−ＦＲ」、「ｚｈ−ＣＮ」などのＲＦＣ５６４６準拠の言語タグ文字列を包含する文字列で、名前、記述、及びタグに包含されるテキストの言語を表す。langが空の場合、言語はunknown/undefinedである。
【０４４２】
この第２の実施形態によれば、異なる言語の代替例を表すために、ＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘを介して複数のＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙをグループに関連付けることができる。
【０４４３】
あるいは、代替言語を有する複数のＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙをグループに関連付けるために、ＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙは次のように代替名、記述、及びタグのリストを包含してもよい。
aligned(8) class GroupDescriptionProperty extends GroupFullProperty('gdes', version = 0, flags = 0){ 
unsigned int(16) entry_count;
for (i=0; i<entry_count; i++){
utf8string group_name;
utf8string group_description;
utf8string group_tags ;
utf8string lang;
}
}
【０４４４】
変形例では、人間に可読な各文字列は、より高い柔軟性のために、それに関連付けられた言語を有する個別のグループプロパティとして定義することができる。例えば、「tag」文字列に対して１つのプロパティが、「label」文字列に対して１つのプロパティが、「description」文字列に対して１つのプロパティがあってもよい。
【０４４５】
上記の変形例では、各グループプロパティは、上記の説明と同様に、代替の２つのテキスト／言語のリストを包含してもよい。
【０４４６】
場合によっては、同じプロパティが項目又はエンティティのグループのいずれかに適用されてもよい。例えば、上記のＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙボックスは、項目又はエンティティのグループのいずれかに人間が表示可能な記述を提供するために有用であり得る。同様に、項目プロパティは、全体として項目又は項目のグループに適用されてもよい。
【０４４７】
変形例では、グループプロパティをエンティティのグループに関連付けるために新しいボックスを定義するのではなく、グループプロパティは項目プロパティボックス（ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙ）として定義され、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘのセマンティックは項目又はエンティティのグループを参照できるように変更される。
【０４４８】
例えば、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、一連の項目又はトラックをグループ化するグループの識別子（例えば、ＥｎｔｉｔｙＴｏＧｒｏｕｐのgroup_idパラメータ）を参照することを可能にする。次に、「ｉｐｍａ」ボックスのitem_ID欄は、項目の識別子(item_ID)又はグループ識別子（group_id）のいずれかを参照できるitem_or_group_IDに置き換えられる。この変形例の利点は、エンティティのグループ及び項目が同じプロパティを共有することができ、プロパティ定義及び関連付けの繰り返しが回避されるので、プロパティの記述がよりコンパクトになることである。
【０４４９】
以下は、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの新しい構文の例である。
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma'version, flags)
{
unsigned int(32) entry_count;
for(i=0; i<entry_count; i++){
if (version < 1)
unsigned int(16) item_or_group_ID;
else
unsigned int(32) item_or_group_ID;
unsigned int(8) association_count;
for (i=0; i<association_count i++){
bit(1) essential;
if (flags & 1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０４５０】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの異なるパラメータのセマンティクスは、item_or_group_IDに名前変更されるitem_ID欄を除いて、変更されないままである。このitem_or_group_IDパラメータは、１つの項目又は１つのＥｎｔｉｔｙＴｏＧｒｏｕｐのいずれかを参照してもよい。したがって、item_or_group_IDの値は、１つのgroup_id値又は１つのitem_ID値に等しくなるはずである。なお、標準におけるgroup_idの定義により、group_idは、他のgroup_id、item_id、又はtrack_idと等しくはなることはないことには留意されたい。したがって、item_or_group_IDが与えられたならば、項目とグループとのどちらを参照するかがあいまいになるはずがない。
【０４５１】
代替例として、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの既存のバージョン０及び１との後方互換性を維持するために、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの新しいバージョン２及び３は、次のように提案及び定義されてもよい。
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma'version, flags)
{
unsigned int(32) entry_count;
for(i=0; i<entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else if (version == 1)
unsigned int(32) item_ID;
else if (version == 2)
unsigned int(16) group_id
else
unsigned int(32) group_id
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (flags & 1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０４５２】
各ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘはitem_ID又はgroup_idを増加させることによって順序付けられることになり、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内では所与のitem_ID又はgroup_idの発生は多くとも１つとなる。３２ビットitem_ID値が必要な場合を除き、このバージョン０はプロパティを項目に関連付けるために使用されるべきであり、そのような場合にはバージョン１が使用されるべきである。
【０４５３】
同様に、３２ビットのgroup_id値が必要な場合を除き、このバージョン２はプロパティをエンティティのグループに関連付けるために使用されるべきであり、そのような場合にはバージョン３が使用されるべきである。
【０４５４】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに１２７を超えるプロパティがある場合を除き、フラグは０に等しくなければならない。バージョン及びフラグの値の所与の対を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、多くとも１つとなる。
【０４５５】
別の変形例では、既存のＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの新しいバージョンを作成するのではなく、新しいボックスＥｎｔｉｔｙＴｏＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘ「ｅｐｍａ」が、例えば次のようにＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ内に直接作成される。
aligned(8) class EntityToGroupAssociationBox extends FullBox('epma'version, flags)
{
unsigned int(32) entry_count;
for(i=0; i<entry_count; i++){
if (version < 1)
unsigned int(16) group_id;
else
unsigned int(32) group_id;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
Box Type:'iprp'
Container: MetaBox ('meta')
Mandatory: No
Quantity: Zero or one
aligned(8) class ItemPropertiesBox extends Box('iprp') {
ItemPropertyContainerBox property_container;
ItemPropertyAssociationBox association[];
EntityToGroupAssociationBox groupAssociation[];
}
【０４５６】
各ＥｎｔｉｔｙＴｏＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘはgroup_idを増加させることによって順序付けされることになり、ＥｎｔｉｔｙＴｏＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセットの内には、所与のgroup_idの発生は多くとも１つとなる。３２ビットのgroup_id値が必要な場合を除き、このバージョン０はプロパティをＥｎｔｉｔｙＴｏＧｒｏｕｐｓに関連付けるために使用されるべきであり、そのような場合にはバージョン１が使用されるべきである。
【０４５７】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに１２７を超えるプロパティがある場合を除き、フラグは０に等しくなければならない。バージョン及びフラグの値の所定の対を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘは、多くとも１つとなる。
【０４５８】
これらの変形例では、名前、タグ、又は記述などの人間に可読なラベルは、項目又はエンティティのグループのいずれかに適用されてもよい。このようなラベルは、例えば次のような特定のＦｏｕｒＣＣ「ｉｄｅｓ」を有する特定の記述項目プロパティＩｔｅｍＤｅｓｃｒｉｐｔｉｏｎＰｒｏｐｅｒｔｙとして定義される。
aligned(8) class ItemDescriptionProperty extends ItemFullProperty(‘ides', version = 0, flags = 0){ 
utf8string name;
utf8string description;
utf8string tags ;
utf8string lang;
}
【０４５９】
ここで、
nameは、項目又はエンティティのグループの人間に可読な名前を包含するnull終端ＵＴＦ−８文字の文字列である。
descriptionは、項目又はエンティティのグループの人間に可読な記述を包含するnull終端ＵＴＦ−８文字の文字列である。
tagsは、項目又はエンティティのグループに関連するカンマ区切りのタグを包含するnull終端ＵＴＦ−８文字の文字列である。
langは、「ｅｎ−ＵＳ」、「ｆｒ−ＦＲ」、「ｚｈ−ＣＮ」などのＲＦＣ５６４６準拠の言語タグ文字列を包含する文字列で、名前、記述、及びタグに包含されるテキストの言語を表す。langが空の場合、言語はunknown/undefinedである。
【０４６０】
変形例では、人間に可読な各文字列は、より高い柔軟性のために、それに関連付けられた言語を有する個別の記述項目プロパティとして定義することができる。例えば、「tag」文字列に対して１つのプロパティが、「label」文字列に対して１つのプロパティが、「description」文字列に対して１つのプロパティがあってもよい。
【０４６１】
項目プロパティは順序付けされ、標準で記述されているように、項目プロパティは記述項目プロパティ又は変換項目プロパティのいずれかになる可能性がある。変換項目プロパティの例は、画像回転又は画像切り抜きである。記述項目プロパティの例は、色情報又は画素情報である。
【０４６２】
上記の実施形態によれば、記述項目プロパティがエンティティのグループに関連付けられる場合、それは、項目プロパティのセマンティックに応じて、グループ内の各エンティティに適用される共通のプロパティを記述するか、又は全体としてエンティティのグループに適用される。あるいは、「ｉｐｍａ」ボックス（又は、実施形態に応じて「ｅｐｍａ」ボックス）のボックスフラグ値は、そのボックスによって記述された記述的な項目プロパティの関連付けがグループ全体又はグループ内の各項目に適用される場合、シグナリングを可能にする。変換項目プロパティは、エンティティのグループに関連付けられる場合には、適用される先行する変換を有するグループ内の各エンティティに適用され、すなわち、まず（「ｉｐｍａ」ボックスを介して）項目に関連付けられた変換が適用され、次いで（上述のように）エンティティのグループに関連付けられた変換がグループ内の各項目に順に適用される。
【０４６３】
前の実施形態によれば、１つ以上の項目及び／又はグループプロパティを、項目のプロパティ自体又はグループ全体に適用される共通プロパティのいずれかを記述するために、各項目又はエンティティのグループに関連付けることができる。
【０４６４】
しかしながら、制限された範囲内でプロパティをエンティティに関連付けることができること、すなわち、所与のエンティティのグループのコンテキストにおいてのみ適用されるであろうエンティティにプロパティを関連付けることができることも望ましい場合がある。
【０４６５】
例えば、同じ画像が２つの異なるアルバムコレクションに属し、ユーザが各アルバムコレクションの範囲内でこの画像を記述する人間が表示可能な異なるテキストを関連付けることを望む場合がある。例えば、山の前の車とともに風景を表す画像は、車専用のものと休日専用の別のものとの２つの異なるアルバムコレクションと関連付けられてもよい。第１のアルバムコレクションではユーザがテキスト「素敵な赤い車！」を画像に関連付けたい場合があり、一方、第２のアルバムコレクションではユーザがテキスト「山での私の素敵な休日」を関連付けたい場合がある。
【０４６６】
別の例として、任意のコレクションの外側で、画像は、ＨＥＩＦファイル内で、画像の切り抜きを実現する変換項目プロパティクリーン口径と関連付けられてもよい。しかし、ユーザは、異なる切り抜きパラメータを有する同じファイル内の異なるコレクションにこの画像を追加したい。
【０４６７】
上記の両方のユースケースにおいて、特定のグループのコンテキストにおける画像にプロパティを関連付けることが有用である。
【０４６８】
一実施形態では、グループに属する項目を考慮するとき、この項目は、この項目に無条件に関連付けられた（グループの範囲内にないことを意味する）全てのプロパティ、及びそのグループの範囲内でこの項目に関連付けられたプロパティに関連付けられる。同じプロパティが無条件に、そのグループの範囲内で定義されている場合、グループの範囲内で定義されているプロパティが優先権を有し、その値が無条件プロパティに定義されている値を上書きする。
【０４６９】
第３の実施形態によれば、第１の実施形態で導入された、撮像シリーズ又はコレクショングループを記述する新しいＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘｅｓの、汎用的なもの（例として、ＣａｐｔｕｒｅＳｅｒｉｅｓＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ又はＬｏｇｉｃａｌＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ）、又は特定のもの（例として、ＦａｖｏｕｒｉｔｅＣｏｌｌｅｃｔｉｏｎＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ、ＡｌｂｕｍＣｏｌｌｅｃｔｉｏｎＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ又はＡｕｔｏＥｘｐｏｓｕｒｅＢｒａｃｋｅｔｉｎｇＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ）のいずれかは、以下の例に示すように、プロパティインデックスのリストをグループ内の各エンティティに関連付けるように拡張される。
aligned(8) class CaptureSeriesEntityToGroupBox extends EntityToGroupBox('case'、version、flags){
unsigned int(32) capture_mode;
for(i = 0; i < num_entities_in_group; i++){
unsigned int(32) entity_id;
unsigned int(8) association_count;
for(i=0; i<association_count; i++){
bit(1) essential;
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０４７０】
ここで、
capture_modeは撮像又はコレクションモードを識別する。
num_entities_in_groupはＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘから継承され、グループ内のエンティティ（項目又はトラック）の数を表す。
entity_idは、プロパティが関連付けられているエンティティを識別する。
essentialは、１に設定されている場合には関連付けられたプロパティがこの項目に必須であり、そうでない場合には必須でないことを示す。
property_indexは、プロパティが関連付けられていない（essentialインジケータも０である）ことを示す０か、又は囲んでいるＧｒｏｕｐＬｉｓｔＢｏｘと同じレベルに存在するＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘに包含されるＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内の関連付けられたプロパティボックスの１ベースのインデックス（ＦｒｅｅＳｐａｃｅボックスを含む全てのボックスをカウントする）である。
【０４７１】
同様の例及びパラメータのセマンティクスは、次のように、撮像又はコレクションモードの種類ごとに特定のgrouping_typeを有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのケースを示す。
aligned(8) class AlbumCollectionEntityToGroupBox extends EntityToGroupBox('albc', version, flags) {
for(i = 0; i < num_entities_in_group; i++){
unsigned int(32) entity_id;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０４７２】
図５に示される変形例では、グループ５２０の範囲内の項目５１０を有する項目プロパティ５４０の関連付けは、ＭｅｔａＢｏｘ５０のＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ内で直接行われる。新しいボックス５３３は、次のようにＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ内で定義される。
aligned(8) class ItemPropertyInGroupAssociationBox extends FullBox('gpma'version, flags)
{
unsigned int(32) group_entry_count;
for(i = 0; i < group_entry_count; i++){
if (version < 1)
unsigned int(16) group_id;
else
unsigned int(32) group_id;
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else
unsigned int(32) item_ID;
unsigned int(8) association_count;
for (i = 0; i < association_count; i++){
bit(1) essential;
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
Box Type:'iprp'
Container: MetaBox ('meta')
Mandatory: No
Quantity: Zero or one
aligned(8) class ItemPropertiesBox extends Box('iprp') {
ItemPropertyContainerBox property_container;
ItemPropertyAssociationBox association[];
ItemPropertyInGroupAssociationBox ItemInGroupAssociation[];
}
【０４７３】
ここで、
group_entry_countは、グループのリスト内のエントリの数を提供する。
group_idは、プロパティが関連付けられるコンテキストを定義するグループを識別する。
entry_countは、グループ内の項目のリスト内の項目の数を提供する。
item_IDは、プロパティが関連付けられる項目を識別する。
essentialは、１に設定されている場合には、関連付けられたプロパティがその項目に必須であり、そうでない場合には必須ではないことを示す。
property_indexは、プロパティが関連付けられていない（essentialインジケータも０である）ことを示す０か、又は同じＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに包含されるＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内の関連付けられたプロパティボックスの１ベースのインデックス（ＦｒｅｅＳｐａｃｅボックスを含む全てのボックスをカウントする）かのいずれかである。
【０４７４】
変形例では、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのgroup_id == group_idを有する関連付けられたＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘ内のitem_ID又はtrack_IDのいずれかを指定するために、item_IDがentity_IDに置き換えられてもよい。
【０４７５】
各ＩｔｅｍＰｒｏｐｅｒｔｙｌｎＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘはgroup_id及びitem_IDを増加させることによって順序付けられることになり、ＩｔｅｍＰｒｏｐｅｒｔｙｌｎＧｒｏｕｐＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内には所与のgroup_idの発生が多くとも１つとなる。バージョン０は３２ビットitem_ID値が必要とされる場合を除き使用されるべきであり、同様に、ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内に１２７を超えるプロパティがある場合を除き、フラグは０に等しくなるべきである。バージョン及びフラグの値の所与の対を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、多くとも１つとなる。
【０４７６】
別の変形例では、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘで新しいボックスを定義するのではなく、次のように、既存のＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ(「ｉｐｍａ」)が新しいバージョン２を用いて拡張されてもよい。
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma'version, flags)
{
if (version ==2)
unsigned int(32) group_id;
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else
unsigned int(32) item_ID;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
【０４７７】
ここで、バージョンが２の場合、新しい属性group_idは、item_IDとproperty_indexとの間の関連付けの範囲を、同じgroup_id値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのコンテキストに制限する。
【０４７８】
各ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、item_ID(及び存在する場合にはgroup_id）を増加させることによって順序付けられることになる。
【０４７９】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内には、所与のgroup_idが多くとも１つとなる。
【０４８０】
バージョン０及び１を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセットには、所与のitem_IDの発生は多くとも１つとなる。
【０４８１】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに１２７を超えるプロパティがある場合を除き、１ｓｔビット（ＬＳＢ）フラグは０に等しくなければならない。
【０４８２】
バージョン及びバージョン０又は１を有するフラグの値の所与のペアを有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、多くとも１つとなる。
【０４８３】
ＨＥＩＦ標準では、項目プロパティは順序付けされ、項目プロパティは記述項目プロパティ又は変換項目プロパティのいずれかになる可能性がある。いくつかの実施形態によれば、同じタイプを有する複数の項目プロパティを、グローバルに、又は特定のグループの範囲内で、のいずれかで、同じ項目に関連付けることができる。例えば、（タイプ「ｉｒｏｔ」の）変換項目プロパティ画像回転は、バージョン０又は１を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘを使用して、汎用の範囲内の項目に関連付けられてもよい。同時に、この同じ項目は、例えばバージョン２を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘを使用して、所与のグループの限定された範囲内の（タイプ「ｉｒｏｔ」の）別の項目プロパティ画像回転に関連付けられてもよい。
【０４８４】
そのような場合、いくつかの実施形態によれば、変換項目プロパティは適用された先行する変換を有する項目に適用され、所与のグループの範囲内の項目の場合、汎用の範囲内の変換項目プロパティはこの所与のグループの範囲内の変換項目プロパティの前に適用される。逆に、記述項目プロパティの場合、グループの範囲内の項目に関連付けられた記述項目プロパティは、汎用の範囲内の同じ項目に関連付けられた同じタイプを有する記述項目プロパティに取って代わる。
【０４８５】
あるいは、追加の１ビット属性supersede_in_group_flagが、グループの範囲内で関連付けられた項目プロパティが汎用の範囲内の同じ項目に関連付けられた同じタイプを有する項目プロパティに取って代わるかそうでないかをシグナリングするために、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの新しいバージョンに追加される。
【０４８６】
この追加の属性を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘの構文の例は以下に記述される。
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma', version, flags) 
{
if (version == 2)
unsigned int(32) group_id;
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else
unsigned int(32) item_ID;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (version == 2){
bit(1) supersede_in_group_flag;
if (flags & 0x1 == 0x1)
unsigned int(14) property_index;
else
unsigned int(6) property_index;
}
else{
if (flags & 0x1 == 0x1)
unsigned int(15) property_index;
else
unsigned int(7) property_index;
}
}
}
}
【０４８７】
ここで、バージョンが２に等しい場合、新しい属性group_idはitem_IDとproperty_indexとの間の関連付けの範囲を、同じgroup_id値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのコンテキストに制限する。さらに、１に設定された場合の新しい１ビット属性（supersede_in_group_flag）は、関連付けられたプロパティが汎用の範囲で同じタイプを有するプロパティに取って代わることを示し、もしそうでない場合には、関連付けられたプロパティは汎用の範囲で同じ項目に関連付けられた同じタイプを有するプロパティの後の順に適用される。
【０４８８】
あるいは、このsupersede_in_group_flag値は、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘのフラグパラメータで特定のフラグ値としてシグナリングされる場合がある。このような場合、supersede_in_group_flag値は、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘで宣言された全てのプロパティ関連付けに適用される。
【０４８９】
第４の実施形態によれば、新しいフラグを有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ(「ｉｐｍａ」)の新しいバージョン（バージョン＝２及びバージョン＝３）は、項目、エンティティのグループ、又はエンティティのグループ内の項目のいずれかとの項目プロパティの全ての可能な関連付けを提供する、この単一メタデータ構造の全てのバージョンを扱うように定義される。
【０４９０】
図６は、本発明のいくつかの実施形態による、項目プロパティと項目との間の異なる関連付け、エンティティのグループ、又はエンティティのグループの範囲内の項目を示す。
【０４９１】
項目プロパティ１と項目１との間の関連６０１は、項目プロパティの項目との関連付けを示す。この関連付けは、そのファイルの範囲内で有効であり、これは汎用の関連付けである。
【０４９２】
項目プロパティ３と、項目３及び項目４によって構成される項目のグループとの間の関連６０２は、項目プロパティの項目のグループとの関連付けを示す。
【０４９３】
項目４と項目プロパティ５との間の関連６０３は、項目プロパティの、項目３と項目４とからなる項目のグループの範囲内の項目との関連付けを示す。
【０４９４】
項目４は、それの項目のグループへの所属とは無関係に、項目プロパティ１及び項目プロパティ２に無条件に関連付けられることに留意されたい。
【０４９５】
この実施形態によれば、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、例えば、以下のように定義されてもよい。
次のフラグは、「ｉｐｍａ」ボックスフラグに設定されることが可能である。
−０ｘ０００００１は、property_index属性のサイズを示す。
ｏこのビットが設定されている場合、property_index_size = １５。
ｏそれ以外の場合、property_index_size = ７。
−０ｘ０００００２は、item_ID及びgroup_id属性のサイズを示す。
ｏこのビットが設定されている場合、item_or_group_ID_size = ３２。
ｏそれ以外の場合、item_or_group_ID_size = １６。
【０４９６】
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma'version, flags)
{
if (version ==2)
unsigned int(item_or_group_ID_size) context_group_id;
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else if (version == 1)
unsigned int(32) item_ID;
else if (version == 2)
unsigned int(item_or_group_ID_size) item_ID;
else
unsigned int(item_or_group_ID_size) group_id;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (version == 2){
bit(1) supersede_in_group_flag;
unsigned int(property_index_size) property_index;
}
else
unsigned int(property_index_size) property_index;
}
}
}
【０４９７】
ここで、
context_group_idは、item_IDとproperty_indexとの間の関連付けの範囲を、同じgroup_id値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのコンテキストに制限する。
group_idは、プロパティが関連付けられているＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘを識別する。
essentialは、１に設定されている場合には関連付けられたプロパティがそのグループに必須であり、そうでない場合には必須ではないことを示す。
１に設定された場合のsupersede_in_group_flagは、関連付けられたプロパティが汎用の範囲で同じタイプを有するプロパティに取って代わることを示し、もしそうでない場合には、関連付けられたプロパティは汎用の範囲で同じ項目に関連付けられた同じタイプを有するプロパティの後の順に適用される。
property_indexは、プロパティが関連付けられていない（essentialインジケータも０である）ことを示す０か、又は同じＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘに包含されるＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内の関連付けられたプロパティボックスの１ベースのインデックス（ＦｒｅｅＳｐａｃｅボックスを含む全てのボックスをカウントする）かのいずれかである。
【０４９８】
「ｉｐｍａ」ボックスのバージョン２と３との定義は後方互換であり、「ｉｐｍａ」ボックスの既存のバージョン０と１とを変更しない。
【０４９９】
各ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、item_ID又はgroup_id（及び存在する場合にはcontext_group_id）を増加させることによって順序付けられることになる。
【０５００】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内には、所与のcontext_group_idが多くとも１つとなる。
【０５０１】
バージョン０、１又は３を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセットには、所与のitem_ID及びgroup_idの発生は多くとも１つとなる。
【０５０２】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに１２７を超えるプロパティがある場合を除き、１ｓｔビット（ＬＳＢ）フラグは０に等しくなければならない。
【０５０３】
バージョン＝２を除いた、バージョンと値０ｘ１又は０ｘ２を有するフラグとの所与の値の対を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは多くとも１つとなる。
【０５０４】
この先の実施形態によれば、ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、例えば、次のように定義されてもよい。
次のフラグは、「ｉｐｍａ」ボックスフラグに設定されることが可能である。
−０ｘ０００００１は、property_index属性のサイズを示す。
ｏこのビットが設定されている場合、property_index_size = １５。
ｏそれ以外の場合、property_index_size = ７。
−０ｘ０００００２は、はitem_ID及びgroup_id属性のサイズを示す。
ｏこのビットが設定されている場合、item_or_group_ID_size = ３２。
ｏそれ以外の場合、item_or_group_ID_size = １６。
−０Ｘ０００００４は、group_limited_scope。
ｏこのビットが設定されている場合、それは、このボックスで宣言された関連付けが属性context_group_idで識別されるグループの範囲に制限されていることを示す。
【０５０５】
aligned(8) class ItemPropertyAssociationBox extends FullBox('ipma'version, flags)
{
if (version > 1 && group_limited_scope)
unsigned int(item_or_group_ID_size) context_group_id;
unsigned int(32) entry_count;
for(i = 0; i < entry_count; i++){
if (version < 1)
unsigned int(16) item_ID;
else if (version == 1)
unsigned int(32) item_ID;
else if (version > 1 && group_limited_scope)
unsigned int(item_or_group_ID_size) item_ID;
else
unsigned int(item_or_group_ID_size) group_id;
unsigned int(8) association_count;
for (i=0; i<association_count; i++){
bit(1) essential;
if (version > 1 && group_limited_scope){
bit(1) supersede_in_group_flag;
unsigned int(property_index_size-1) property_index;
}
else
unsigned int(property_index_size) property_index;
}
}
}
【０５０６】
ここで、
context_group_idは、item_IDとproperty_indexとの間の関連付けの範囲を、同じgroup_id値を有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘのコンテキストに制限する。
group_idは、プロパティが関連付けられているＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘを識別する。
essentialは、１に設定されている場合には関連付けられたプロパティがそのグループに必須であり、そうでない場合には必須ではないことを示す。
１に設定された場合のsupersede_in_group_flagは、関連付けられたプロパティが汎用の範囲で同じタイプを有するプロパティに取って代わることを示し、もしそうでない場合には、関連付けられたプロパティは汎用の範囲で同じ項目に関連付けられた同じタイプを有するプロパティの後の順に適用される。
property_indexは、プロパティが関連付けられていない（essentialインジケータも０である）ことを示す０か、又は同じＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘに包含されるＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘ内の関連付けられたプロパティボックスの１ベースのインデックス（ＦｒｅｅＳｐａｃｅボックスを含む全てのボックスをカウントする）かのいずれかである。
【０５０７】
「ｉｐｍａ」ボックスのバージョン２の定義は後方互換であり、「ｉｐｍａ」ボックスの既存のバージョン０と１とを変更しない。
【０５０８】
各ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは、item_ID又はgroup_id（及び存在する場合にはcontext_group_id）を増加させることによって順序付けられることになる。
【０５０９】
ＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセット内には、所与のcontext_group_idが多くとも１つとなる。
【０５１０】
group_limited_scopeが設定されていないＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘボックスのセットには、所与のitem_IDとgroup_idとの発生は多くとも１つとなる。
【０５１１】
ＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘに１２７を超えるプロパティがある場合を除き、１ｓｔビット（ＬＳＢ）フラグは０に等しくなければならない。
【０５１２】
フラグgroup_limited__scopeが存在するボックスを除いて、バージョンとフラグとの値の所与の対を有するＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘは多くとも１つとなる。
【０５１３】
図７は、ＨＥＩＦフォーマットを使用して１つ以上のエンティティを１つのファイルにカプセル化する処理の主なステップを示す。計算装置９００（図９）は例えば、この処理を適用してもよい。
【０５１４】
まず、ステップ７０１で、１つ以上のエンティティが取得される。それらは、上述したような撮像装置による撮像モードに従って取得され得る。
【０５１５】
代替例では、ステップ７０１で取得された１つ以上のエンティティを、既存のエンティティ又は以前に撮像されたエンティティ又は作成されたエンティティの中から選択することができる。例えば、既存のエンティティは、既存のＨＥＩＦファイル、又はその他のタイプのファイル、例えばＪＰＥＧ、ＧＩＦ、ＢＭＰ、ＭＫＶ、ＭＰ４、ＡＶＩから抽出できる。
【０５１６】
ステップ７０２で、エンティティの１つ以上の新しいグループが作成される。これらのグループは撮像時に選択された撮像モードから生じてもよく、すなわち、新しいグループは、画像の撮像中に撮像モードを適用することから生じるエンティティの各セットに対して作成される。例えば、撮影時には、毎秒の画像を包含するタイムラプスが実現される。タイムラプス画像は、撮像の終わりに同じグループ内に一緒にグループ化される。別の例として、自動露光ブラケット撮像から生じる全ての画像を一緒にグループ化するために、自動露光ブラケットグループが作成される。エンティティの新しいグループは、自動処理によって、又はユーザ若しくはＨＥＩＦファイルの作成者によって行われる編集操作中に作成されてもよい。例えば、エンティティのグループは、ユーザのコレクション又はユーザのお気に入り、若しくは写真シリーズ、若しくは写真セット、若しくはユーザ定義の撮像シリーズを作成するなど、論理的にグループ化されたエンティティに対して作成され得る。ユーザは例えば、画像の集合を形成するために、いくつかのエンティティをグループ化してもよい。例えば自動処理は、同じ場所に、及び／又は予め定められた時間隔内に、写真ショットをグループ化してもよい。例えば撮像装置は、撮像画像の（例えば、ＧＰＳセンサからの）位置情報を使用して、その位置に対応する町の名前を決定する。同じ町で撮られた全ての画像は、画像の１つのグループを形成する。例えば、撮像又は編集装置は、画像を分類し、それらを一緒にグループ化するために、人工知能アルゴリズム（例えば、顔又は物体認識）を使用してもよい。
【０５１７】
ステップ７０３で、グループのオブジェクトをより正確に記述するために、いくつかのプロパティが各グループに関連付けられてもよい。例えばグループは、コンテンツのタグ、ラベル、名前、記述テキスト、位置座標、撮像モードの共通パラメータに関連付けられてもよい。例えば撮像モードの共通パラメータは、タイミング（例えば、連続する画像間の獲得フレームレート又は時間デルタ）、連続する撮像間の撮像パラメータ変動（例えば、露光ステップ）の差、又はブラケットモードのプロパティ（例えば、連続、単一若しくは自動ブラケット、又はパノラマ方向）に関連してもよい。
【０５１８】
いくつかの実施形態では、オプションのステップ７０５で、いくつかのプロパティがエンティティのグループに属するエンティティに関連付けられてもよく、この関連付けはグループの範囲内でのみ有効である。これは、そのエンティティがグループの一部であると見なされる場合にのみプロパティがエンティティに適用されることを意味する。エンティティがグループとは独立して考慮される場合、そこではプロパティはエンティティに適用されない。
【０５１９】
最後に、ステップ７０４で、エンティティの画像及びシーケンスは、それらを記述し、それらの関連付けられたプロパティを有するエンティティの作成されたグループを記述するメタデータ構造を有するＨＥＩＦファイルフォーマットでカプセル化される。
【０５２０】
画像の記憶のために、２つの主な可能代替例が利用可能である。
【０５２１】
第１の代替例では、画像は独立して符号化され、ＨＥＩＦ項目としてファイルに格納される。このカプセル化ステップの間に、撮像の条件に関する追加情報がファイル内に提供されてもよい。例えば、自動露光ブラケットモードの場合、各画像の撮像に使用される露光データが提供されてもよい。この説明は、ＩｔｅｍＰｒｏｐｅｒｔｙボックスのプロパティを使用して提供される。
【０５２２】
第２の代替例では、画像は「ｐｉｃｔ」又は「ｖｉｄｅ」トラックに格納される。追加情報は、ＳａｍｐｌｅＥｎｔｒｙ又はＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックスを使用して提供されてもよい。画像の符号化はビデオ符号化と同様に、ＨＥＶＣエンコーダを使用して以前の画像に依存してもよい。そのトラック内の以前の画像は、予測符号化のための基準画像として利用可能である。
【０５２３】
画像のグループとしての撮像された画像の格納は、先に述べた利用可能なＥｎｔｉｔｙＴｏＧｒｏｕｐグループ化機構を使用して、ファイル内にシグナリングされる。
【０５２４】
図８は、エンティティのグループに関連付けられたプロパティと、グループの範囲内のエンティティ（項目又はトラック）に関連付けられたプロパティとを決定するために、図７のカプセル化処理によって生成されたＨＥＩＦファイルの解析処理の主なステップを示している。デコード処理は、１つ以上の画像（項目）又は画像のシーケンス（「ｐｉｃｔ」又は「ｖｉｄｅ」トラック）を有するＨＥＩＦファイルの解析によって開始される。ステップ８０１で、エンティティのグループを決定するために、ＧｒｏｕｐｓＬｉｓｔＢｏｘに包含されるグループ化情報が解析される。エンティティの各グループのグループ化タイプはグループ化情報が存在する場合に決定され、すなわち、このＨＥＩＦファイルは、先に述べた値の１つに等しいgrouping_typeを有するＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘを含む。第１の代替例では、grouping_typeパラメータはグループ化モードを直接指定する。第２の代替案では、グループ化情報は、画像のセットが汎用撮像シリーズ又はコレクショングループに所属する（グループ化タイプが「ｃａｓｅ」、「ｂｒａｋ」、「ｕｄｃｓ」、又は類似の意味を有する任意の他のＦｏｕｒＣＣに等しい）ことをシグナリングする。この場合、ＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘの追加の属性は、特定のグループ化モードを提供する。
【０５２５】
各項目に関連付けられたプロパティ情報はステップ８０２で、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ(「ｉｐｒｐ」)を解析し、特定の項目に関連付けられたＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘから各ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙを引き出すためにＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘｅｓ(バージョン０又はバージョン１）を使用することによって解析される。
【０５２６】
エンティティの各グループに関連付けられたプロパティ情報は、ステップ５０３で、それぞれのＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘで定義された追加の属性を解析することによって解析される。代替例では、エンティティの各グループに関連付けられたプロパティ情報は、専用ボックスＧｒｏｕｐＰｒｏｐｅｒｔｉｅｓＢｏｘ(「ｇｐｒｐ」)を解析し、特定のグループに関連付けられたＧｒｏｕｐＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘから各ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙを引き出すためにＧｒｏｕｐＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘを使用することによって取得される。別の代替例では、エンティティの各グループに関連付けられているプロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ(「ｇｐｒｐ」)を解析し、特定のグループに関連付けられているＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘから各ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙを引き出すために専用のＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ(バージョン＞＝２）を使用することによって取得される。
【０５２７】
いくつかの実施形態では、特定のエンティティグループの範囲内の各項目に関連付けられたプロパティ情報は、オプションのステップ８０４で、項目プロパティのインデックスを提供する、又はそのグループ内の各項目に関連する項目プロパティを直接提供するそれぞれのＥｎｔｉｔｙＴｏＧｒｏｕｐＢｏｘで定義された追加の属性を解析することによって、解析される。代替例では、特定のエンティティグループの範囲内の各項目に関連付けられているプロパティ情報は、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓＢｏｘ(「ｇｐｒｐ」)を解析し、特定のグループの範囲内の項目に関連付けられているＩｔｅｍＰｒｏｐｅｒｔｙＣｏｎｔａｉｎｅｒＢｏｘから各ＩｔｅｍＰｒｏｐｅｒｔｙ又はＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙを引き出すために専用のＩｔｅｍＰｒｏｐｅｒｔｙＡｓｓｏｃｉａｔｉｏｎＢｏｘ(バージョン＞＝２）を使用することによって取得される。
【０５２８】
ステップ８０５で、デコーダは、項目、エンティティのグループ、及びエンティティのグループ内のエンティティに関連付けられた全てのグループ化情報並びにプロパティ情報をプレーヤに提供する。ＧＵＩインターフェースは、関連付けられたそれぞれのプロパティ情報を使用して、画像、画像のシーケンス、及びそのようなエンティティのグループの間をユーザがナビゲートすることを可能にするために、特定のＧＵＩ要素を示してもよい。このプロパティ情報から、ユーザはＨＥＩＦファイルに包含される画像の一部をレンダリングすることを選択してもよい。
【０５２９】
例えば、ＨＥＩＦファイルは、一連のブラケット画像を包含する。そのような場合、このアプリケーションは、異なるブラケット代替例を眺めることを可能にするＧＵＩインターフェースを提供する。一実施形態では、インターフェースは、（そのグループからのプロパティ情報とそのグループの範囲内の各画像のプロパティ情報の両方を含む）各画像に関連付けられた撮像の特性を抽出するために、ＩｔｅｍＰｒｏｐｅｒｔｉｅｓなどのプロパティ情報内に提供される情報を提供する。特に、自動露光ブラケット撮影では、ユーザが適切なショットを選択できるように、各ショットの露光絞りがステップ８０５で表示される。好ましい露光が選択されると、復号装置は、選択された画像を「一次項目」としてマークするようにＨＥＩＦファイルを修正してもよい。
【０５３０】
撮像モードがパノラマ画像に対応する場合、デコーダはステップ５０５において、ユーザがナビゲートできる一連の画像をＨＥＩＦファイルが包含することをプレーヤに通知する。このＧＵＩインターフェースは、ユーザが空間的構成として画像間をナビゲートできるように、特定のＧＵＩ要素を示してもよい。プレーヤは、パターンに適合されたナビゲーションインターフェースを生成するように、（例えば、左から右への）セット画像の撮像のパターンを抽出するために、そのグループのプロパティ情報を解析する。例えば、撮像のパターンが左から右である場合、ＧＵＩインターフェースは、ＨＥＩＦファイルの項目間をナビゲーションすることを可能にする水平ナビゲーション矢印を提供する。
【０５３１】
撮像モードが写真シリーズ又は画像バーストに対応する場合、デコーダはステップ８０５において、例えば、写真シリーズ又は画像バーストグループの全ての画像間のダイアポラマを開始するようにプレーヤに通知する。一実施形態では、ダイアポラマ内の各画像の表示時間は、画像バーストグループのプロパティ情報内に指定される時間隔の関数である。
【０５３２】
一実施形態では、プレーヤは、ユーザがフォトシリーズのコンテンツを迅速に識別できるように、ダイアポラマの始めに、又は各画像内の透かしとして、プロパティ情報内に提供されるラベル又は名前情報を表示する。別の実施形態では、ユーザは、フォトシリーズグループの一連の画像から、好ましい画像として１つの画像を選択してもよい。このような場合、好ましい画像は、一次項目としてマークされる。別の実施形態では、ユーザは、フォトシリーズから好ましい画像としていくつかの画像を選択してもよい。このような場合、プレーヤは選択された画像を有する新しいフォトシリーズグループを作成し、同じラベルプロパティ情報を関連付ける。
【０５３３】
図９は、本発明の１つ以上の実施形態を実施するための計算装置９００の概略ブロック図である。計算装置９００は、マイクロコンピュータ、ワークステーション、又はライトポータブル装置などの装置であってもよい。コンピューティングデバイス９００は、以下に接続された通信バスを備える。すなわち、
・ＣＰＵと称される、マイクロプロセッサなどの中央処理装置９０１。
・本発明の実施形態に応じた方法を実装するために必要な変数又はパラメータを記録するために適合されたレジスタと同様に、本発明の実施形態の方法の実行可能コードを格納するための、ＲＡＭと称される、そこでメモリ容量は例えば拡張ポートと接続された任意選択のＲＡＭによって拡張され得る、ランダムアクセスメモリ９０２。
・ＲＯＭと称される、本発明の実施形態を実施するためのコンピュータプログラムを格納するための読み取り専用メモリ９０３。
・ネットワークインターフェース９０４は、処理されるデジタルデータが送信される又は受信される通信ネットワークへと典型的には接続される。ネットワークインターフェース９０４は単一のネットワークインターフェースであってもよいし、異なるネットワークインターフェースのセット（例えば、有線及び無線インターフェース、又は異なる種類の有線若しくは無線インターフェース）から構成されてもよい。データパケットは、送信のためにネットワークインターフェースに書き込まれるか、又はＣＰＵ９０１内で動作しているソフトウェアアプリケーションの制御の下で受信のためにネットワークインターフェースから読み出される。
・ユーザインターフェース９０５は、ユーザから入力を受信するために、又はユーザに情報を表示するために使用されてもよい。
・ＨＤで示されるハードディスク９０６は、大容量記憶装置として提供されてもよい。
・Ｉ／Ｏモジュール９０７は、ビデオソース又はディスプレイなどの外部装置から／とのデータの受信／送信のために使用されてもよい。
【０５３４】
実行可能コードは、読み取り専用メモリ９０３、ハードディスク９０６、又は例えばディスクのような取り外し可能なデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、実行される前にハードディスク９０６などの通信装置９００の記憶手段の１つに格納されるように、ネットワークインターフェース９０４を介して通信ネットワークによって受信され得る。
【０５３５】
中央処理装置９０１は、前述の記憶手段の１つに格納された本発明の実施形態による１つ以上のプログラムの命令又はソフトウェアコードの一部の実行を制御し、指示するように適合され、その命令は、前述の記憶手段の１つに格納される。電源投入後、ＣＰＵ９０１は、ソフトウェアアプリケーションに関するメインＲＡＭメモリ９０２からの命令を、プログラムＲＯＭ９０３又はハードディスク９０６からそれらの命令が読み出された後に実行することができる。このようなソフトウェアアプリケーションは、ＣＰＵ９０１によって実行されると、本発明のフローチャートの各ステップを行わせる。
【０５３６】
本発明のアルゴリズムの任意のステップは、ＰＣ（「Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ」）、ＤＳＰ（「Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ」）、又はマイクロコントローラなどのプログラム可能な計算マシンによる命令又はプログラムのセットの実行によって、ソフトウェアにおいて実装されてもよく、そうでなければ、FＰＧＡ（「Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ」）、又はＡＳＩＣ（「Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ」）などの機械又は専用の構成要素によって、ハードウェアにおいて実装されてもよい。
【０５３７】
以上、本発明を具体的な実施形態に基づいて説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の修正が可能である。
【０５３８】
さらに、上述した例示的な実施形態を参照すると、多くのさらなる修正及び変更が当業者へと提案されているが、それは単に例として与えられ、添付のクレームによって単独で決定される本発明の範囲を制限することを意図しない。特に、様々な実施形態からの異なる特徴は、適宜、適切な箇所と交換されてもよい。
【０５３９】
なお、上述した本発明の各実施形態は単独で実施してもよいし、複数の実施形態の組み合わせとして実施してもよい。また、様々な実施形態からの特徴は、必要な場合、又は単一の実施形態における個々の実施形態からの要素又は特徴の組み合わせが有益である場合に組み合わせることができる。
【０５４０】
本明細書に開示される各特徴（添付の特許請求の範囲、要約及び図面を含む）は、明確に別段の記載がない限り、同一の、同等の、又は同様の目的を果たす代替的特徴に置き換えられてもよい。したがって、明確に別段の記載がない限り、開示される各特徴は、同等又は同様の機能の汎用のシリーズの一例にすぎない。
【０５４１】
特許請求の範囲において、単語「含む」は他の要素又はステップを排除するものではなく、不定冠詞「ａ」又は「ａｎ」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組み合わせが有利に使用されることができないことを示すものではない。
【図１】
2021519525.tif 000005
【図２】
2021519525.tif 000006
【図３】
2021519525.tif 000007
【図４】
2021519525.tif 000008
【図５】
2021519525.tif 000009
【図６】
2021519525.tif 000010
【図７】
2021519525.tif 000011
【図８】
2021519525.tif 000012
【図９】
2021519525.tif 000013
【手続補正書】
【提出日】令和2年11月24日(2020.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファイル内に画像をカプセル化する方法であって、前記方法は、
前記画像の撮像モードに基づいて、グループ化タイプ情報データを生成することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記グループ化タイプ情報データ、及び前記画像を前記ファイル内に埋め込むことと、
を含む、方法。
【請求項２】
前記グループ化タイプ情報データは、前記グループ化データ構造内に含まれる、請求項１に記載の方法。
【請求項３】
前記グループ化データ構造に関連付けられたプロパティデータ構造が、前記ファイル内にさらに埋め込まれる、請求項１に記載の方法。
【請求項４】
ファイル内に画像をカプセル化する方法であって、前記方法は、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記ラベルパラメータ、及び前記画像を前記ファイル内に埋め込むことであって、前記ラベルパラメータは前記ファイルのメタデータ部に埋め込まれる、埋め込むことと、
を含む、方法。
【請求項５】
ファイル内の画像を読み取る方法であって、前記方法は、
前記画像の撮像モードに基づくグループ化タイプ情報データを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記グループ化タイプ情報データに従う前記グループ化データ構造内で識別される前記画像を読み取ることと、
を含む、方法。
【請求項６】
前記グループ化タイプ情報データは、前記グループ化データ構造内に含まれる、請求項５に記載の方法。
【請求項７】
前記グループ化データ構造に関連付けられたプロパティデータ構造が、前記ファイル内にさらに埋め込まれる、請求項５に記載の方法。
【請求項８】
ファイル内の画像を読み取る方法であって、前記方法は、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることであって、前記ラベルパラメータは前記ファイルのメタデータ部に含まれる、読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記ラベルパラメータに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
を含む、方法。
【請求項９】
データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるボックスである、請求項１乃至８の何れか１項に記載の方法。
【請求項１０】
グループ化タイプ情報データが、オート露光ブラケットモード、ホワイトバランスブラケットモード、フォーカスブラケットモード、フラッシュ露光ブラケットモード、被写界深度ブラケットモード、ＩＳＯブラケットモード、タイムラプスモード、パノラマモード、画像バーストモード、ユーザコレクションモード、超解像モード、多重露光モード、ノイズ低減モード、長秒時露光ノイズ低減モード、口径食補償モード、及び／又はＨＤＲ撮像モードを含む前記撮像モードのうちの少なくとも１つに対して定義される、請求項１乃至３及び５乃至７の何れか１項に記載の方法。
【請求項１１】
前記グループ化データ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＥｎｔｉｔｙＴｏＧｒｏｕｐボックス、ＳａｍｐｌｅＴｏＧｒｏｕｐボックス、又はＴｒａｃｋＧｒｏｕｐボックスのうちの１つである、請求項１乃至３の何れか１項に記載の方法。
【請求項１２】
前記プロパティデータ構造は、ＩＳＯベースメディアファイルフォーマットで定義されるＳａｍｐｌｅＥｎｔｒｙボックス、ＳａｍｐｌｅＧｒｏｕｐＥｎｔｒｙボックス、ＩｔｅｍＦｕｌｌＰｒｏｐｅｒｔｙボックス、又はＩｔｅｍＰｒｏｐｅｒｔｙボックスのうちの１つである、請求項３又は７に記載の方法。
【請求項１３】
ファイル内に画像をカプセル化する装置であって、前記装置は、
前記画像の撮像モードに基づいて、グループ化タイプ情報データを生成することと
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記グループ化タイプ情報データ、及び前記画像をファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項１４】
ファイル内に画像をカプセル化する装置であって、前記装置は、
画像に注釈を付けるための情報を記述するラベルパラメータを決定することと、
前記画像をグループとして記述するグループ化データ構造を生成することであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、生成することと、
前記グループ化データ構造、前記ラベルパラメータ、及び前記画像を前記ファイル内に埋め込むことであって、前記ラベルパラメータは前記ファイルのメタデータ部に埋め込まれる、埋め込むことと、
のために構成される回路を含む、装置。
【請求項１５】
ファイル内の画像を読み取る装置であって、前記装置は、
前記画像の撮像モードに基づくグループ化タイプ情報データを読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記グループ化タイプ情報データに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
のために構成される回路を含む、装置。
【請求項１６】
ファイル内の画像を読み取る装置であって、前記装置は、
画像に注釈を付けるための情報を記述するラベルパラメータを読み取ることであって、前記ラベルパラメータは前記ファイルのメタデータ部に含まれる、読み取ることと、
前記画像をグループとして記述するグループ化データ構造を読み取ることであって、前記グループ化データ構造は前記グループの前記画像の画像識別子を含む、読み取ることと、
前記ラベルパラメータに従って前記グループ化データ構造内で識別される前記画像を読み取ることと、
のために構成される回路を含む、装置。
【請求項１７】
ファイル内にメディアデータをカプセル化する方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を生成することと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を生成することと、
前記グループ化データ構造、前記プロパティデータ構造、及び前記メディアデータを前記ファイル内に埋め込むことと、
を含む、方法。
【請求項１８】
エンティティのグループに関連付けられた少なくとも１つのテキスト属性と、前記少なくとも１つのテキスト属性に関連付けられた言語属性と、を含むテキストプロパティを、前記プロパティコンテナデータ構造内に生成する、請求項１７に記載の方法。
【請求項１９】
前記テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１８に記載の方法。
【請求項２０】
前記プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、前記関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項１８に記載の方法。
【請求項２１】
前記テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項１８に記載の方法。
【請求項２２】
前記プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを生成することであって、前記テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む、生成すること、を含む、請求項１８に記載の方法。
【請求項２３】
前記テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１９に記載の方法。
【請求項２４】
前記プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられた前記テキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、前記関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項１９に記載の方法。
【請求項２５】
前記関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む、請求項１７乃至２４の何れか１項に記載の方法。
【請求項２６】
前記テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１９に記載の方法。
【請求項２７】
前記テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項１９に記載の方法。
【請求項２８】
ファイル内のメディアデータを読み取る方法であって、前記方法は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを包含するプロパティコンテナデータ構造を読み取ることと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
を含む、方法。
【請求項２９】
前記テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１９に記載の方法。
【請求項３０】
前記テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項２９に記載の方法。
【請求項３１】
前記プロパティコンテナデータ構造内で、名前テキストプロパティ、記述テキストプロパティ、及び／又はタグテキストプロパティのうちの少なくとも１つを読み取ることであって、前記テキストプロパティのそれぞれはエンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む、読み取ること、を含む、請求項１９に記載の方法。
【請求項３２】
前記テキストプロパティそれぞれは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項３１に記載の方法。
【請求項３３】
前記プロパティコンテナデータ構造は第１及び第２のテキストプロパティを含み、前記第１のテキストプロパティは第１の言語属性に関連付けられたテキスト属性を含み、前記第２のテキストプロパティは第２の言語属性に関連付けられたテキスト属性を含み、前記第１の言語は前記第２の言語とは異なり、前記関連付けデータ構造は、前記第１及び第２のテキストプロパティ間の関連付け情報と、前記グループ化データ構造とを含む、請求項３１に記載の方法。
【請求項３４】
前記関連付けデータ構造は、少なくともエンティティとのプロパティの関連付けをさらに含む、請求項２８乃至３３の何れか１項に記載の方法。
【請求項３５】
前記テキストプロパティは、複数の言語属性のそれぞれに関連付けられた複数の同じテキスト属性を含む、請求項１９に記載の方法。
【請求項３６】
前記テキストプロパティは、名前テキスト属性、記述テキスト属性、及びタグテキスト属性を含む複数のテキスト属性を含む、請求項１９に記載の方法。
【請求項３７】
ファイル内にメディアデータをカプセル化する装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を生成することと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を生成することと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を生成することと、
前記グループ化データ構造、前記プロパティデータ構造、及び前記メディアデータを前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項３８】
ファイル内にメディアデータをカプセル化する装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を生成することであって、各エンティティはメディアデータの少なくとも一部に対応する、生成することと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内にテキストプロパティを生成することと、
前記メディアデータと前記グループ化データ構造とを前記ファイル内に埋め込むことと、
のために構成される回路を含む、装置。
【請求項３９】
ファイル内のメディアデータを読み取る装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたプロパティを含むプロパティコンテナデータ構造を読み取ることと、
前記プロパティと前記グループ化データ構造との間の関連付け情報を含む関連付けデータ構造を読み取ることと、
前記プロパティコンテナデータ構造と前記関連付けデータ構造とを含むプロパティデータ構造を読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
のために構成される回路を含む、装置。
【請求項４０】
ファイル内のメディアデータを読み取る装置であって、前記装置は、
エンティティのグループを記述するグループ化データ構造を読み取ることであって、各エンティティはメディアデータの少なくとも一部に対応する、読み取ることと、
エンティティのグループに関連付けられたテキスト属性と前記テキスト属性に関連付けられた言語属性とを少なくとも含む前記グループ化データ構造内のテキストプロパティを読み取ることと、
前記プロパティに従って前記グループ化データ構造内で識別される前記メディアデータを読み取ることと、
のために構成される回路を含む、装置。
【請求項４１】
請求項１乃至１２及び１７乃至３６の何れか１項に記載の方法を実装するためのコンピュータプログラムの命令を格納する、コンピュータ可読記憶媒体。
【請求項４２】
実行されると、請求項１乃至１２及び１７乃至３６の何れか一項に記載の方法を行わせる、コンピュータプログラム。
【国際調査報告】
2021519525.tif 000014
2021519525.tif 000015