以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<実施形態1>
[ハードウェア構成]
図1は、画像ファイル作成装置100の構成の一例を示す。画像ファイル作成装置100では、システムバス101にCPU102、システムプログラム実行時の一時記憶装置であるRAM103、システムプログラムが格納される不揮発性記憶装置であるROM104が接続されている。システムプログラムやアプリケーションプログラムが、ROM104からRAM103に読み込まれ、CPU102によって実行される。また、システムバス101には、符号化/復号化部105、メタデータ処理部106、表示部107、ユーザーインターフェース部108、通信制御部109接続されている。システムバス101は、これらの各ブロック間でデータを伝達する。またRAM103は、出力バッファを有し、画像ファイルの作成処理のデータバッファや、画像ファイルに格納するデータの出力先としても使用される。
符号化/復号化部105は、H.265(HEVC)、H.264(AVC)、AV1、JPEGなどに従う動画や静止画のビデオコーデックであり、静止画や動画のデータの符号化および復号化の処理を実行する。メタデータ処理部106は、符号化/復号化部105によって符号化されたデータ(符号化データ)を取得し、所定のファイルフォーマット(例えばHEIF)に準拠した画像ファイルを生成する。具体的には、メタデータ処理部106は、静止画や動画ファイルに格納されるメタデータの解析処理を実行し、静止画や動画に関する情報の生成や、符号化データに関するパラメータ情報の取得を行う。そして、メタデータ処理部106は、これらの情報をメタデータとして、符号化データと共にファイルに格納する処理を実行する。また、メタデータ処理部106は、ファイルに格納されたメタデータを解析し静止画や動画の再生時のメタデータ処理を行う。
表示部107は、画像ファイル作成装置100のアプリケーションを表示する画面を意図しており、例えば液晶ディスプレイ装置である。また、表示部107は、ユーザーによるGUI(Graphic User Interface)によるアプリケーションの操作を可能にするように、画面タッチセンサを備えてもよい。また、表示部107は、生成されたファイルの確認を行うためのファイルの再生を行ってもよい。ユーザーインターフェース部108は、ユーザーによる画像ファイル作成装置100への操作(入力)を受け付けるためのインターフェースであり、例えば、ボタンやスイッチ等の物理的な操作インターフェースで構成される。
通信制御部109は、ネットワークに接続して伝送フレームの送受信を行うネットワークインタフェースである。通信制御部109は、例えば、有線LANのイーサネット(登録商標)のPHYおよびMAC(伝送メディア制御処理)である。あるいは、画像ファイル作成装置100が無線LANに接続可能な場合、通信制御部109にはIEEE802.11a/b/g/n/ac/ax等の無線LAN制御を実行するコントローラ、RF回路、アンテナが含まれる。
[画像ファイル作成処理]
次に、画像ファイル作成装置100の画像ファイル作成処理の流れについて、図2、図6、図7を参照しながら説明する。図2は、画像ファイル作成処理のフローチャートである。具体的には、HEIFファイルフォーマットに従って1つ以上の静止画を格納するファイルを作成する処理の流れを示している。図2のフローチャートの各ステップは、CPU102によるソフトウェア、符号化/復号化部105、メタデータ処理部106の何れかによって実行される処理を示す。なお、以下の説明において、CPU102という記述はCPU102で実行するソフトウェア処理であるものとする。図6は、本実施形態において画像ファイル作成装置100が作成するHEIFファイルの一例であるHEIFファイル600の構造を示している。HEIFファイル600は、メタデータ格納領域602(MetaBox(meta))(メタデータ領域)と符号化データ格納領域611(MediaDataBox(mdat))(画像データ領域)を有する。また図7は、本実施形態で出力されるHEIFファイルの例を示す図である。図7は、HEIFファイルフォーマットに従って、1つ以上の静止画と、スライドショーを構成する派生画像(Derived Image)とを格納した例を示している。
画像ファイル作成処理は、S201から開始し、まずS202において、CPU102が、RAM103もしくはROM104上で記憶している画像データの中から、HEIFファイルに格納する画像データを取得(選択)する。当該取得処理は、予め画像ファイル作成装置100に対して設定された情報や、ユーザーインターフェース部108を介するユーザーによる操作等に基づいて行われてもよい。画像データは、1つの静止画が格納されたHEIFファイルでもよいし、JPEGなど他の静止画のファイルであってもよい。あるいは、静止画データであればファイルとして記憶していなくてもよい。次にS203において、CPU102は、S202で取得した画像データは復号化が必要か(すなわち、HEIFファイルであるか)を判定する。取得した画像データは復号化が必要でない(取得した画像データがHEIFファイルである)場合(S203でNO)、処理はS207へ進み、そうでなければ(取得した画像データがHEIFファイル以外の場合)(S203でYES)、処理はS204へ進む。
S204からS206の処理は符号化/復号化部105によって実行される。S204では、符号化/復号化部105は、取得した画像データを復号化する。次にS205において、符号化/復号化部105は、復号化した画像データを解析して画像属性情報を取得する。画像属性情報には、例えば画像の幅と高さ、色コンポーネントの個数およびビット長、等が含まれる。S206では、符号化/復号化部105は、復号化した画像データに対してHEVC符号化を実行する。次にS207では、メタデータ処理部106は、S206で生成された符号化データの復号化において必要なパラメータセットを取得する。当該パラメータセットは、具体的には、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS),ピクチャパラメータセット(PPS)等である。但し、処理がS203からS207へ直接至った場合は、S202で取得した画像データがHEIFファイルである場合であるので、メタデータ処理部106は、HEVCのパラメータセットをHEIFファイルから取り出して取得する。次のS208では、符号化/復号化部105は、符号化データを、RAM103上の出力バッファに転送して保存しておく。当該符号化データは、符号化データ格納領域611に格納される符号化データの1つである。なお、以降の説明において、S208で保存した(HEIFファイルに格納する)画像データ/符号化データを総称して画像データとも称するものとする。
次のS209は、HEIFファイルに格納する画像データに関するメタデータを作成する処理であり、メタデータ処理部106により実行される。S209で作成されるメタデータは、画像アイテム情報や画像属性情報等である。画像アイテム情報は、図6の領域606(ItemInfoBox(iinf))に格納されるエントリデータである。iinfのエントリデータは、画像データをファイル内で識別するためのアイテムID(識別情報)と、HEVC符号化画像であることを示すアイテムタイプを設定する。一方、画像属性情報は、図6の領域608(ItemPropertiesBox(iprp))に格納されるデータである。S209で作成される画像属性情報は、図6の領域609(ItemPropetyContainerBox(ipco))に格納されるエントリデータと、領域610(ItemPropertyAssociationBox(ipma))に格納されるエントリデータである。ipcoには、S207で取得したHEVCのパラメータセットを示すエントリデータや、選択した画像の幅と高さを示すエントリデータ等の属性情報が格納される。そしてipmaには、アイテムIDとipcoのエントリデータへの関連付けを示すエントリデータが作成される。S209にて作成された画像属性情報のデータは、図6のメタデータ格納領域602(MetaDataBox(meta))に格納するメタデータの一部として、RAM103上の出力バッファに保存される。
処理がS209の後S210に進むと、CPU201は、作成するHEIFファイルに、まだ他の画像データを格納するかどうかを確認する。もし他に格納する画像データがあれば、処理はS202に戻り、そうでなければ処理はS211に進む。処理がS210からS202に戻った場合は、CPU201は他の画像データを取得(選択)して、前述したようなS203からS209までの処理を実行する。
S211では、CPU102が、作成中のHEIFファイルにスライドショー(画像の連続的な表示処理)の設定を格納するどうかを判定する。当該判定処理は、予め画像ファイル作成装置100に対して設定された情報や、ユーザーインターフェース部108を介するユーザーによる操作等に基づいて行われてもよい。スライドショーの設定をHEIFファイルに格納する場合は(S211でYES)、S212のスライドショーのメタデータ作成処理が実行される。なお、S212の処理については後述する。
S213では、メタデータ処理部106は、HEIFファイルに格納される画像の中から代表画像を決定して、主要画像アイテム情報のメタデータを作成する(メタデータに主要画像アイテム情報を設定する)。当該代表画像の決定処理は、予め画像ファイル作成装置100に対して設定された情報や、ユーザーインターフェース部108を介するユーザーによる操作等に基づいて行われてもよい。S213で作成されたメタデータは、図6の領域604(PrimaryItemBox(pitm))に格納される。図16に、HEIF標準におけるPrimaryItemBoxのデータフォーマットを示す。図16に示すように、pitmのデータフォーマットは、単純に代表とする画像のアイテムIDを指定するものである。S213で作成されたメタデータは、RAM103上の出力バッファに保存される。
最後のS214の処理は、メタデータ処理部106により実行される。S214では、メタデータ処理部106は、図6の領域601(FileTypeBox(ftyp))と、領域603(HandlerBox(hdlr))に格納するデータを作成する。なお、図7に示すように、hdlrに指定するMetaDataBox(meta)のハンドラタイプは‘pict’であり得る。そして、メタデータ処理部106は、作成したftypとhdlrのメタデータと、RAM103に保存しておいたメタデータ格納領域602(MetaBox(meta))に格納されるメタデータと、符号化データ格納領域611(MediaDataBox(mdat))に格納される符号化データと結合する。そして、メタデータ処理部106は、図6に示すような構造のデータをRAM103上に形成し、HEIFファイルとして完成して出力する。その後、処理はS215に進んで本処理フローが終了する(S215)。作成されたHEIFファイルのデータは、CPU102によりRAM103からROM104に書き込んで保存され得る。
なお、S212のスライドショーのメタデータ作成処理がスキップされた場合は(S211でNO)、図6の領域607(ItemReferenceBox(iref))が生成されず、HEIFファイルのメタデータに含まれないことも有り得る。しかし、例えば格納する画像データの中に撮影画像とそのサムネイル画像のように、何かの関連性がある画像データが含まれる場合、S209の処理において、メタデータ処理部106は、画像データ間の関連付けを示すirefのエントリデータを作成する。そして、最終的に作成されるHEIFファイルのメタデータに、irefが含まれ得る。
以上に示したフロー従ってHEIFファイルの内部構造に格納した値(データ)の例を、図7を参照して説明する。記述701に示すPrimaryItemBox(pitm)(領域604に対応)には、item_IDとして1が格納されている。記述702に示すItemInfoBox(iinf)(領域606に対応)には、item_IDで識別される各画像アイテムがどのような種類の画像アイテムであるかの情報が示される。item_IDが1である画像アイテムは‘slid’であり、スライドショーを構成する派生画像であることを示す。item_ID2以降は‘hvc1’であり、HEVC符号化画像であることを示す。記述703に示すItemLocationBox(iloc)(領域605に対応)は、各画像データビットストリームのファイル内の格納位置を示している。item_IDが1の画像アイテムはconstruction_methodが1を示しており、記述707に示すItemDataBox(idat)(領域616に対応)内にデータが存在することを示している。またその他の画像は、記述708に示すMediaDataBox(符号化データ格納領域611に対応)内のどの位置にデータが存在するかを特定することが可能となっている。記述704に示すItemReferenceBox(iref)(領域607に対応)は、画像アイテム間の参照関係を示した領域である。ここで、reference_typeは‘dimg‘であり、これはスライドショーを構成する派生画像、すなわちスライドショーで表示する複数の画像を参照するための派生画像であることを示している。また、記述704は、派生画像アイテムであるitem_ID1からitem_ID2以降の画像アイテムが参照されていることを示している。記述705に示すItemPropertiesBox(iprp)(領域608に対応)内のItemPropertyContainerBox(ipco)(領域609に対応)には、画像の属性情報を示すItemPropertyが格納されている。hvcCはHEVC符号化パラメータを示し、ispeは画像のサイズを示す属性情報である。記述706は各画像アイテムと属性情報との関連を示したItemPropertyAssociationBox(ipma)(領域610に対応)を示す。各画像アイテムが順にipco内の属性情報と関連づけが行われる。
[スライドショーのメタデータ作成処理]
次に、図2のS212のスライドショーのメタデータ作成処理について、図3、図4、図5および図6を参照しながら説明する。本実施形態では、スライドショーを構成する画像を派生画像(Derived Image)としてHEIFファイルに格納する。図3は、本実施形態におけるメタデータの作成処理のフローチャートを示す。この処理はS301から開始し、はじめにS302とS303において、CPU102が、HEIFファイルに格納する画像データの中からスライドショーで表示する1つ以上の画像データを選択し、且つそれらの表示順番を決定する。次に、CPU102は、選択した画像の表示時間(期間)を決定する。表示時間(期間)はすべての画像で一定であっても、個別に異なる時間であってもよい。また、ファイル生成時には値を指定せず、再生時に任意の値を決定してもよい。S302とS303選択および決定処理は、予め画像ファイル作成装置100に対して設定された情報や、ユーザーインターフェース部108を介するユーザーによる操作等に基づいて行われてもよい。
続くS304からS307までの処理は、メタデータ処理部106で実行される。S304では、メタデータ処理部106は、スライドショーを構成する派生画像のアイテムIDを設定するために画像アイテム情報を作成する。すなわち、前述した図2のS209と同様に、メタデータ処理部106は、図6の領域606(ItemInfoBox(iinf))に格納するエントリデータを作成する。ここでは、メタデータ処理部106は、エントリデータのアイテムIDに、HEIFファイルに格納している画像データのアイテムIDとは重複しないIDを指定し、アイテムタイプにスライドショーを構成する派生画像であることを示す‘slid’を指定する(図7の記述702を参照)。
次にS305では、メタデータ処理部106は、スライドショーで表示する画像を指定するために画像参照情報を作成する。画像参照情報は、図6の領域607(ItemReferenceBox(iref))に格納するエントリデータとして作成される。このエントリデータには、派生画像であることを示す‘dimg’のタイプが付与され、派生画像のアイテムIDが参照する画像データのアイテムIDをリスト形式で指定する。ここで、参照先の画像データのアイテムIDは、S302で決定した表示する順番でリスト形式に指定される。
続いてS306では、メタデータ処理部106は、スライドショーを構成する派生画像の記述情報を設定する。この記述情報は、図6の領域616(ItemDataBox(idat))に格納されるデータである。スライドショーの派生画像の記述情報のデータフォーマットの一例を図4に示す。この記述情報(ImageSlideshow)は、スライドショーで表示する画像の表示時間(期間)を指定する。図4の例では、各画像の表示時間(期間)を一定とする場合、つまりflags&1が1である場合は、記述401に示すように1つだけのdurationパラメータが指定される。あるいは、flags&1が0の場合は、記述402に示すように、各々の画像データに個別に表示時間(期間)を指定するdurationパラメータのリストに、durationパラメータが表示する順番で指定される。durationパラメータは、対応する画像アイテムを表示する時間を示す数値である。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置(すなわち表示部107)が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。また、図4に示すデータフォーマットに例えば、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータはバージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、durationパラメータの時間単位を指定可能となる。例えばdurationに10が指定してあった場合、time_unitに秒を示す値が指定してあった場合10秒、ミリ秒を示す値であった場合10ミリ秒といったように利用可能である。その他、マイクロ秒や分、その他時間単位を一意に識別可能な方法であればよい。なお、ファイル作成時に表示時間(期間)を指定しない場合は0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を格納するようにしもよい。
S307では、メタデータ処理部106は、スライドショーを構成する派生画像の画像属性情報を設定する。この画像属性情報には、例えばスライドショーを表示するスクリーンの幅・高さを示す情報が挙げられる。スライドショーに指定した各画像のサイズと、派生画像のサイズが異なる場合、スライドショー表示する画像を拡大または縮小して表示してもよいし、スクリーンのサイズに収まる部分の画像のみを表示するようにしてもよい。また、スクリーンのサイズの方が大きい場合、余白の部分の表示を指定する属性情報を記述してもよい。ただし、派生画像の画像属性情報は必ずしも必要ではないため設定しなくてもよい。
また、スライドショーを構成する派生画像の記述情報のフォーマットは、図5に示す形態であってもよい。図5は、スライドショーの派生画像の記述情報のデータフォーマットの別の例である。図5に示す記述情報(ImageSlideshowWithinCnvas)は、スライドショーを表示する際のキャンバス(表示部107に表示する際の画像領域(入力画像が配置される再構成画像の画像領域))を指定可能なデータフォーマットを有する。記述501に示すcanvas_fill_valueは、入力画像のピクセルが特定のピクセル位置にない場合に使用されるチャンネル当たりのピクセル値を示す。当該ピクセル値は、RGBAとして指定される(R、G、B、およびAは、それぞれ0、1、2、および3に等しいループカウンタjに対応する)。 RGB値は、IEC61996-2-1で定義されているsRGBカラースペースである。A値は、0(完全に透明)から65535(完全に不透明)の範囲の線形不透明度である。記述502に示すoutput_widthおよびoutput_heightは、入力画像が配置される再構成画像の幅と高さをそれぞれ指定する。flags&1が0の場合、output_width、output_heightは16ビットで表される値となる。一方でflags&1が1の場合、output_width、output_heightは32ビットで表される値となる。記述503に示すreference_countは、このアイテムがfrom_item_IDフィールドで識別されるタイプ‘dimg’のItemTypeReferenceBox(図7の記述704)から取得される。また、記述503に示すhorizontal_offsetおよびvertical_offsetは、キャンバスの左上隅からの入力イメージが配置されるオフセットを指定する。負のオフセット値を有する画素位置は再構成画像に含まれない。output_width以上の水平方向のピクセル位置は、再構成された画像には含まれない。output_height以上の垂直方向のピクセル位置は、再構成された画像には含まれない。また、flags&2が1の場合、図4の記述401と同様に、共通のdurationパラメータが指定される。また、記述504に示すように、flags&2が0の場合は、各々の画像データに個別に表示時間(期間)を指定するdurationパラメータのリストに、durationパラメータが表示する順番で指定される。durationパラメータは対応する画像アイテムを表示する時間を示す数値である。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。また、図4同様に、データフォーマットに、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータは、バージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、durationパラメータの時間単位を指定可能となる。指定可能な値は、分や秒、ミリ秒、マイクロ秒、その他時間単位を一意に識別可能な方法であればよい。なお、ファイル作成時に表示時間(期間)を指定しない場合は0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を格納するようにしもよい。
S307で画像属性情報を設定する場合は、前述のS209と同様に、メタデータ処理部106は、図6の領域609(ItemPropetyContainerBox(ipco))に格納するエントリデータを作成する。また、メタデータ処理部106は、図6の領域610(ItemPropertyAssociationBox(ipma))に格納するエントリデータを作成する。そして、処理はS308に進み、この処理フローは終了する。
なお、S304からS307の処理において作成されたメタデータは、図6の領域602(MetaDataBox(meta))に格納するメタデータの一部として、RAM103上の出力バッファに各々が格納されるべき位置に書き込まれる。また、前述のS213の処理において代表画像とするアイテムIDに、S213で設定した派生画像のアイテムIDを指定するようにしてもよい。
[スライドショーの再生処理]
次に、イメージファイルフォーマットに格納したスライドショーの再生処理について図20を用いて説明する。図20は、画像ファイルのスライドショー再生処理のフローチャートである。具体的には、図20は、HEIFファイルフォーマットに従って1つ以上の静止画をスライドショーとして格納したファイルを再生する処理の流れを示している。図20のフローチャートの各ステップは、CPU102によるソフトウェア、符号化/復号化部105、メタデータ処理部106の何れかによって実行される処理を示す。なお、以下の説明において、CPU102という記述はCPU102で実行するソフトウェア処理であるものとする。
画像ファイル再生でのスライドショー再生処理は、S2001から開始する。そして、まずS2002において、CPU102が、RAM103もしくはROM104上で記憶しているHEIFファイルの中から、メタデータ格納領域602(MetaBox(meta))に格納してあるメタデータを取得する。次にS2003において、CPU102は、S2002で取得したメタデータを解析し、S2004において、CPU102は、解析の結果、メタデータ中にスライドショーに関するメタデータが格納されているかを判定する。メタデータ中にスライドショーに関するメタデータが格納されている場合は(S2004でYES)、処理はS2005へ進み、そうでなければ(S2004でNO)、処理はS2010へ進む。S2010へ進む場合、画像ファイル作成装置100は、スライドショー以外のHEIFファイルの再生処理を実行する。
S2005において、メタデータ処理部106は、スライドショー表示に関連する画像アイテムのメタデータを取得する。具体的には、メタデータ処理部106は、スライドショーを構成する派生画像から参照される各画像アイテムのアイテム情報やその画像の属性情報、画像のファイル内の位置情報を取得する。S2006において、符号化/復号化部105は、スライドショー表示する順に画像データを取得する。画像データはメタデータに格納された画像ファイル内の位置情報から符号化データ格納領域611(MediaDataBox(mdat))内の位置を特定して取得する。S2007において符号化/復号化部105は、表示する画像データを復号化し、S2008において復号化した画像データをいったんバッファに保存する。続いてS2009では、CPU102は、メタデータに記載されている表示時間(期間)、属性情報に従い画像を表示部107に表示する。なお、0等のファイル再生時に任意の時間(期間)を指定することを示す情報が格納されていた場合、再生装置の処理によって表示時間(期間)を決定する。
S2005からS2009までの処理を繰り返し実行してHEIFファイルに格納された画像を表示部107に順次表示する。なお、本実施形態では図示していないが、CPU102は、スライドショーとして格納された画像すべてを表示し終わった場合、先頭の画像から繰り返し表示するように、または、スライドショー表示を終了するように表示部107を制御してもよい。
以上、本実施形態によれば、HEIFファイルに格納された複数の画像を、派生画像として構成して格納することで、派生画像によるスライドショー構成画像の格納が可能となる。これにより複数の静止画の集合を格納するHEIFファイルを、スライドショー表示を意図するファイルとして保存する処理が容易となる。また、キャンバスの情報を派生画像の記述情報に定義することにより、異なるサイズの画像を扱う場合でも、それぞれの画像を表示する毎に表示サイズが異なることを防ぐことが可能となる。また、画像を表示する際のキャンバス位置情報を派生画像の記述情報にパラメータとして保持することで、表示位置を指定することが可能となる。また派生画像アイテムを主要画像アイテムとして適応することで、優先的に表示するための画像をスライドショーで切り替えることが可能となる。なお、本実施形態では、派生画像を用いてスライドショーを実現するためのメタデータをHEIFファイル内に格納する構成を示したが、派生画像を用いてスライドショーを構成する方法であれば、異なる構成であってもよい。
<実施形態2>
実施形態2における画像ファイル作成装置は、実施形態1において図1で説明した構成と同一の構成を有する。また、図2で示される画像ファイル作成処理と、図20で示される画像ファイルのスライドショー再生処理のフローも、本実施形態に同様に適用できる。但し、図2のスライドショーのメタデータ作成処理(S212)が実施形態1と異なる。したがって本実施形態では、主にS212の処理について、図8、図9、図10、図11、図12、図13、図14、図15、図21、図22、図23、図24、図25、図26、図27、図28、図29、図30および図31を参照しながら説明する。
図8は、本実施形態におけるスライドショーのメタデータ作成処理の流れを表すフローチャートである。また、図14は、本実施形態において画像ファイル作成装置100が作成するHEIFファイルの一例であるHEIFファイル1400の構造を示している。HEIFファイル1400は、メタデータ格納領域1402(MetaBox(meta))と符号化データ格納領域1411(MediaDataBox(mdat))を有する。
図8において、スライドショーのメタデータ作成処理は、S801から開始し、はじめにS802とS803において、図3のS302、S303と同様に、CPU102が、スライドショーで表示する画像を選択し、表示順番を決定し、選択した画像の表示時間(期間)を決定する。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。なお、ファイル作成時に表示時間(期間)を指定せず、ファイル再生時に任意の時間(期間)を指定するようにしてもよい。
次にS804において、メタデータ処理部106は、スライドショーの表示画像のグループを設定する。具体的には、メタデータ処理部106は、スライドショーで表示する画像をグループ化するための情報(グループ情報)を作成する。このグループ情報は、図14の領域1416(GroupsListBox(grpl))に格納するメタデータである。HEIFでは、grplに画像データなどのアイテムのグループ情報が格納される。グループ情報には、グループ識別情報としてのグループIDと、グループタイプが付与され、HEIFファイル内において識別される。本実施形態では、S804において、メタデータ処理部106は、グループ情報としてスライドショーグループ情報(SlideshowEntityToGroupBox)を作成する。図9に、SlideshowEntityToGroupBoxのデータフォーマットを示す。メタデータ処理部106は、図9に示すデータフォーマットのデータを作成し、grplに格納する(図14の領域1417を参照)。本SlideshowEntityToGroupBoxは複数の画像イメージセットを大きなキャンバス内にスライドショー表示することを目的としたentityのグループを識別するためのBoxである。このSlideshowEntityToGroupBoxのグループタイプは‘slid’であり、スライドショーに使用するアイテムのグループであることを意味する。図9のデータフォーマットは、EntityToGroupBoxからの拡張であるため、グループIDを格納するgroup_id、グループに含むアイテムの個数を示すnum_entries_in_groupは別途指定される。また、アイテムIDは、スライドショーで表示する選択画像のアイテムIDを表示順番通りに指定する。
なお、SlideshowEntityToGroupBoxはEntityToGroupBoxの拡張であるため、トラックについてもグループとして格納可能であるが、本実施形態では画像アイテムのみを対象とし、トラックの格納および画像以外のアイテムの格納は禁止する。ただし、別の形態ではトラックを含める構成としてもよく、例えばトラックIDが含まれる場合トラックIDは1つに限定しトラックで各サンプルの表示時間(期間)に関するパラメータを指定してもよい。また、サンプルグループにより後述する切り替え(遷移)効果をそれぞれのサンプルに指定可能とする。その他の形態では同様にトラックIDは1つに限定し、トラックで各サンプルの表示期間を指定する。そして後述するキャンバスや切り替え(遷移)効果はMPEG-B Part16 Derived visual tracks in the ISO base Media file formatとして規格化が進行中の派生トラックを用いて指定可能とする方法がある。
また、その他の方法として、SlideshowEntityToGroupBoxに格納するエンティティに制限を設けない方法も考えられる。または、画像アイテムIDまたはトラックIDのいずれかを格納可能とする方法も考えられる。その場合例えば表示時間(期間)については共通の表示時間(期間)を指定する方法や、トラックについてはトラックから指定しアイテムについては画像属性情報から指定するという方法が考えられる。
図9において、記述901と記述902は、実施形態1において説明した図5の記述501と記述502とそれぞれ同様のため、説明を省略する。記述903の部分はオプショナルであり、スライドショーのデフォルトの表示時間(期間)を設定する場合に指定する。デフォルトの表示時間(期間)を指定する場合、その表示時間(期間)をdefault_entity_durationに指定する。default_entity-duration-presentは0x000002の値である。flags&default_entity-duration-presentが1の場合は、デフォルトの表示時間(期間)であるdefault_entity_durationパラメータを指定する。flags&default_entity-duration-presentが0の場合は、各々の画像データに個別に表示時間(期間)を指定するため、画像属性を用いて表示時間(期間)が指定される。default_entity_durationパラメータは対応する画像アイテムを表示する時間(期間)を示す数値である。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。また、データフォーマットに、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータは、バージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、default_entity_durationパラメータの時間単位を指定可能となる。指定可能な値は、分や秒、ミリ秒、マイクロ秒、その他時間単位を一意に識別可能な方法であればよい。なお、ファイル作成時に表示時間(期間)を指定しない場合は0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を指定してもよい。
なお、flags&default_entity-duration-presentが1でdefault_entity_durationパラメータが指定されていた場合でも、画像属性情報に表示時間(期間)を指定した場合は画像属性情報の表示時間(期間)を優先する。本実施形態ではflagsによってデフォルトの表示時間(期間)をオプショナルで指定するか否かを決定する方法としたが、オプショナルの設定ではなくdefault_entity_durationを設定するようにしてもよい。この場合例えば、SlideshowEntityToGroupBox内で指定したdefault_entity_durationはデフォルト値として利用し、画像アイテム個別に属性情報が指定されていない場合に利用する表示時間(期間)として扱ってもよい。また、別途フラグを設けてすべてに共通で使う値であることを示すフラグを用いて属性情報に指定されていた場合でも共通の表示時間(期間)を利用するようにしてもよい。
また、SlideshowEntityToGroupBoxのデータフォーマットとして、図21に示す構成であってもよい。この場合、メタデータ処理部106は、図9に示すデータフォーマットのデータを作成し、grplに格納する(図14の領域1417を参照)。本SlideshowEntityToGroupBoxは、複数の画像イメージセットをスライドショー表示することを目的としたentityのグループを識別するためのBoxである。このSlideshowEntityToGroupBoxのグループタイプは‘slid’であり、スライドショーに使用するアイテムのグループであることを意味する。図21のデータフォーマットは、EntityToGroupBoxからの拡張であるため、グループIDを格納するgroup_id、グループに含むアイテムの個数を示すnum_entries_in_groupは別途指定される。また、アイテムIDは、スライドショーで表示する選択画像のアイテムIDを表示順番通りに指定する。図21に示す構成の場合、SlideshowEntityToGroupBoxはスライドショー表示をする画像のグループの識別とその表示順を識別するために利用する。図21に示す構成の場合、SlideshowEntityToGroupとしての特別なパラメータは存在しない。この場合、各パラメータは後述するItemPropertiesBox(iprp)内のItemPropetyContainerBox(ipco)に格納するエントリデータ(グループID)と、ItemPropertyAssociationBox(ipma)を用いて指定する。なお、図9に示す構成であったとしても、グループに指定するプロパティを関連づけてもよい。SlideshowEntityToGroupBoxに格納するエンティティは、符号化画像アイテムや派生画像アイテム等の表示可能なアイテムIDを格納することを想定する。派生画像としては例えば、定義済みのアイデンティティ(iden)やグリッド(grid)イメージやオーバーレイ(iovl)イメージを指定することでキャンバス上に高度なスライドショーとして表示可能である。また、別のグループのIDを格納可能としてもよい。例えば、一連の撮影グループとしてグループ化された画像群を同一のタイミングで表示する等が考えられる。例えば、HDR(High Dynamic Range)合成を行うために撮影された画像群やパノラマ写真として表示するために撮影された画像群をグループとして格納し、そのグループのIDをSlideshowEntityToGroupのエンティティとして指定することが考えられる。これにより、より高度なスライドショー表示が可能となる。
また一方で、特定のitem_typeの画像に制限して格納する構成としてもよい。例えば、図21に示したEntityToGroupBoxの構成の場合、キャンバスの情報を持たない。そのため、派生画像として定義されているOverlayイメージを利用することが考えられる。キャンバスが必要な場合は、格納可能なエンティティのitem_typeはOverlayを示すiovlを指定する。そしてEntityToGroupBoxに格納するすべてのアイテムはOverlayの派生画像とすることなどが考えられる。その場合、SlideshowEntityToGroupに格納するすべてのOverlay派生画像のoutput_widthとoutput_heightを同じにすることが望ましい。また、符号化イメージを指定する場合は符号化イメージのみを指定するということも考えられる。この場合、各画像に関連付けるispeイメージプロパティは共通であることが望ましい。一方でこのような制限を設けずにEntityToGroupBoxのグループIDにスライドショー表示する全体サイズを指定するプロパティを関連づけてもよい。これはispeプロパティの拡張した構成のプロパティが想定される。つまり、ispeプロパティをEntityグループに適応可能とする。または、SlideshowEntityToGroupBoxの最初entityに指定された画像のサイズをスライドショー表示する全体サイズとしてもよい。その他、SlideshowEntityToGroupBoxに格納するEntityの画像サイズは共通でなければならないという制限を設けてもよい。これらの制限や表示サイズと異なるサイズの画像が指定された場合は、拡大/縮小や表示サイズに収まるように画像をクロップすることや、画像が小さい場合はその他の領域をデフォルトのキャンバス情報を別途指定するか特定のキャンバスをあらかじめ規定して表示するようにしてもよい。しかしながら、表示する画像毎にスライドショー表示する全体サイズを切り替えるように構成してもよいものとする。
図25に示したImageScalingPropertyは、記述2501のratioパラメータを持つデータフォーマットであり、画像の表示サイズをスケール(拡大/縮小)するためのトランスフォーマティブアイテムプロパティである。本プロパティでは、縦横比を維持して画像サイズを拡大/縮小を行うことを可能とする。記述2501のratioは、8ビットの整数で2の倍数としての比率16、8、4、2、または1/2、1/4、1/8、1/16を表現する。上位4ビットは拡大のための操作を意味し、最上位ビットが1の場合16倍、上位から2番目のビットが1の場合は8倍、上位から3番目のビットが1の場合4倍、上位から4番目のビットが1の場合は2倍であることを示す。また、下位4ビットは縮小のための操作を意味し、最下位ビットが1の場合は1/16倍、最下位から2番目のビットが1の場合は1/8倍、最下位ビットから3番目のビットが1の場合は1/4倍、最下位ビットから4番目のビットが1の場合は1/2倍であることを示す。なお、本実施形態ではImageScalingPropertyのデータフォーマットとして以上のような構成としたが、より細かな指定を可能とするように構成してもよい。また、本プロパティはclapプロパティの変化形で表現してもよい。つまり、分子、分母を個別に指定可能とするように構成することも可能である。また、比率による指定ではなく、ターゲットとなるサイズを指定して拡大/縮小するように構成してもよい。この場合、例えば幅と高さのいずれかを指定して縦横比率を維持して拡大縮小を行うことが可能である。一方で、幅と高さの両方それぞれを指定して縦横比は維持せずに拡大縮小を行うように構成してもよい。縦横比を維持しない場合は、縦、横それぞれの倍率指定を行う方法であってもよい。また、これらの指定方法を組み合わせて定義し、任意に指定可能とするようにflags等を用いて指定方法を切り替えられる構成としてもよい。
図26に示したImageScalingPropertyは、記述2601のtarget_widthパラメータおよび記述2602のtarget_heightパラメータを持つデータフォーマットであり、画像の表示ターゲットとなるサイズを指定して拡大/縮小するためのトランスフォーマティブアイテムプロパティである。本プロパティでは、幅、高さのピクセル単位のサイズを直接指定して拡大/縮小を行うことを可能とする。記述2601のtarget_widthはサイズ変更後のイメージの幅をピクセル単位で指定する。記述2602のtarget_heightはサイズ変更後のイメージの高さをピクセル単位で指定する。なお、いずれか一方の値をのみを指定し、もう一方の値を0等の値を指定することでサイズ変更後のサイズの一方を指定しないことで縦横比率を維持して拡大縮小を行うようにしてもよい。またバージョンやフラグを用いてその値に応じていずれか一方のみ、または両方が有効となるようなデータフォーマットとしてもよい。
また、本ImageScalingPropertyを規定済みのImageSpatialExtentsPropertyを拡張して定義してもよい。例えば規定済みのデータ構造は変更せずにImageSpatialExtentsProeprtyの意味を変更する方法が考えられる。その場合Descriptive item propertyであるImageSpatialExtentsProeprtyをtransformative propertyとしても指定可能とする拡張を行う。transformative propertyとして扱う場合は、派生画像として定義されているアイデンティティ(iden)派生画像アイテムとして定義した画像アイテムにプロパティとして関連づけることでDescriptive propertyを意図して画像アイテムに関連づけたか、transformative propertyを意図して画像アイテムに関連づけたかを識別可能となる。より詳細にはiden派生画像アイテムに関連づけられたImageSpatialExtentsProeprtyが派生元となる画像アイテムに関連づけられたImageSpatialExtentsProeprtyと異なる場合、画像サイズの拡大/縮小操作を適用する必要があると解釈する。この場合、image_widthはサイズ変更後のイメージの幅をピクセル単位で指定する。同様にimage_heightはサイズ変更後のイメージの高さをピクセル単位で指定する。なお派生画像アイテムを定義せずに直接画像サイズを変更することはできないという制約がある。
一方で、図27に示したImageSpatialExtentsProeprtyはデータ構造の変更を伴う拡張である。記述2701のimage_widthパラメータ、記述2702のimage_heightパラメータ、記述2703のtarget_widthパラメータおよび記述2704のtarget_heightパラメータを持つデータフォーマットである。本データフォーマットは符号化画像データの再構成サイズおよび表示ターゲットとなるサイズを指定して画像サイズ情報の記述および拡大/縮小するためのディスクリプティブアイテムプロパティかつトランスフォーマティブアイテムプロパティである。ImageSpatialExtentsProeprtyは、関連付けられた画像アイテムの幅と高さを記述する。全ての画像アイテムはこのタイプの一つのアイテムプロパティに関連付けられる。記述2701のimage_widthおよび記述2702のimage_heightは、変換を行う前の関連する画像アイテムの再構成イメージの元のサイズをピクセル単位で示す。flags&1が1に等しい場合、再構成画像は、image_widthおよびimage_heightに指定されたピクセルサイズからtarget_widthおよびtarget_heightに指定されたピクセルサイズにそれぞれリサイズされる。image_widthはサイズ変更前の再構成イメージの幅をピクセル単位で指定する。image_heightはサイズ変更前の再構成イメージの高さをピクセル単位で指定する。target_widthはサイズ変更後の再構成イメージの幅をピクセル単位で指定する。target_heightはサイズ変更後の再構成イメージの高さをピクセル単位で指定する。図27の拡張によりImageSpatialExtentsProeprtyをiden派生画像アイテムとして定義していなくとも直接画像アイテムに拡大/縮小するためのアイテムプロパティを関連づけることが可能となる。一方で、iden派生画像アイテムとして定義して関連づけを行ってもよい。
メタデータ処理部106は、S804で作成したグループ情報のメタデータをRAM103上の出力バッファに保存しておく。
続くS805~S806の処理もメタデータ処理部106で実行される。S805では、メタデータ処理部106は、スライドショーの各画像の表示時間(期間)がいくつかが共通で一定でデフォルト値として指定可能であるかどうかを判定する。デフォルト値として指定可能であるならば(S805でYES)、処理はS806に進み、そうでなければ(S805でNO)、処理はS807に進む。S806では、メタデータ処理部106は、S804で設定したグループにデフォルトの表示時間(期間)のパラメータを設定する。具体的には、メタデータ処理部106は、作成したグループ情報(SlideshowEntityToGroupBox)のデータのdefault_entity_durationパラメータ(図9の記述903を参照)にデフォルトの表示時間(期間)を設定する。または、図21のEntityToGroupBoxの構成の場合、後述するSlideShowTimingPropertyのslide_show_timingパラメータに値を設定し、画像グループ属性として画像グループに関連付けを行う。S807では、メタデータ処理部106は、スライドショーの各画像の表示時間(期間)を個別に設定するため、画像の表示時間(期間)を指定する画像属性情報を設定する。なお、デフォルトの表示時間(期間)を設定した場合、デフォルトの表示時間(期間)となる画像については各画像属性情報として表示時間(期間)を指定する必要はない。画像属性情報は、実施形態1でも前述したように、図14の領域1408(ItemPropertiesBox(iprp))に格納されるメタデータである。S807で作成する画像属性情報は、図14の領域1409(ItemPropetyContainerBox(ipco))に格納するエントリデータと、領域1410(ItemPropertyAssociationBox(ipma))に格納するエントリデータである。メタデータ処理部106は、ipcoに格納するエントリデータとして表示時間(期間)を示すデータを作成する。なお、ファイル作成時に表示時間(期間)を指定しない場合は表示時間を指定するプロパティを格納しないようにしてもよいし、指定しない画像にのみ関連づけないようにしてもよい。また、0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を格納してプロパティを関連づけるようにしもよい。
なお、スライドショー表示する時間(期間)の指定は画像アイテム毎の指定を禁止し、グループとして1つのみ指定可能な構成であってもよい。その場合、S805の処理とS807の処理は不要となり、S806の処理のみを行う。またその場合、領域1410(ItemPropertyAssociationBox(ipma))に格納するエントリデータはSlideshowEntityToGroupグループのグループ識別情報であるグループIDを直接指定してもよい。その場合、グループを示すIDはその他のアイテムIDやトラックIDと一意に識別可能な統一のID空間である必要がある。一方で、アイテム毎に同じ表示時間(期間)を指定する場合は、グループに格納されるアイテムすべてに同じプロパティを適応するように構成してもよい。
図10に、スライドショーでの画像表示時間(期間)を指定する属性情報であるImageDurationPropertyのデータフォーマットを示す。図10に示すImageDurationPropertyは、記述1001のimage_durationパラメータを持つデータフォーマットであり、このパラメータに表示時間(期間)を設定する。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。相対的なパラメータとして例えば、デフォルトの表示時間(期間)として指定された値のパーセントや倍数で指定する等が考えられる。また、データフォーマットに、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータは、バージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、image_durationパラメータの時間単位を指定可能となる。指定可能な値は、分や秒、ミリ秒、マイクロ秒、その他時間単位を一意に識別可能な方法であればよい。表示画像毎に表示時間(期間)が異なる場合には、このパラメータ値が異なるImageDurationPropertyデータを表示画像の個数分だけipcoに格納する。そして、各表示画像の表示時間(期間)を指定するために、作成したImagePropertyのエントリデータに表示画像のアイテムIDを関連付けるipmaのエントリデータを作成して格納する。また各画像を表示する際に、キャンバス内のどの位置に表示を行うかの表示位置に関するデータを作成する。本ImageDurationPropertyを関連付けた表示画像はSlideshowEntityToGroupBoxのdefault_entity_durationより優先して表示時間(期間)を指定する。また、図21に示したSlideshowEntityToGroupBoxの場合は、グループに関連づけたデフォルトの表示時間より優先して表示時間(期間)を指定する。なお、ファイル作成時に表示時間(期間)を指定しない場合は表示時間を指定するプロパティを格納しないようにしてもよいし、指定しない画像にのみ関連づけを行わないようにしてもよい。また0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を格納したプロパティを関連づけてもよい。
図23に、スライドショーでのデフォルトの画像表示時間(期間)を指定するSlideShowTimingPropertyのデータフォーマットを示す。図23に示すSlideShowTimingPropertyは、記述2301のslide_show_timingパラメータを持つデータフォーマットであり、このパラメータにデフォルトの表示時間(期間)を設定する。表示時間(期間)として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。また、データフォーマットに、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータは、バージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、default_entity_durationパラメータの時間単位を指定可能となる。指定可能な値は、分や秒、ミリ秒、マイクロ秒、その他時間単位を一意に識別可能な方法であればよい。本プロパティは、図21に示したSlideshowEntityToGroupBoxにデフォルトの画像表示時間(期間)を指定する場合に好適である。本アイテムプロパティは、EntityToGroupBox内の連続する2つの画像アイテム間の継続時間を指定するために使用される。このアイテムプロパティは、entity groupのみに関連づけられるプロパティである。また、このプロパティは、SlideshowEntityToGroupBoxに関連づけられることを想定するが、それを制限しなくてもよい。つまり、他のタイプのEntityToGroupBoxに利用されてもよい。なお、本実施形態ではslide_show_timingに指定した表示時間(期間)を指定するようにしたが、言い換えればSlideshowEntityToGroupBoxに格納されたアイテムIDの並び順のインデックスに本パラメータの値を乗算したタイミングにそのアイテムIDの画像を、スライドショーを開始した時点からの経過時間に表示するタイミングを示すものと解釈してもよい。なお、ファイル作成時に表示時間(期間)を指定しない場合は表示時間を指定するプロパティを格納しないようにしてもよいし、指定しない画像またはグループにのみ関連づけを行わないようにしてもよい。また0等の値を指定することでファイル再生時に任意の時間(期間)を指定することを示す情報を格納したプロパティを関連づけてもよい。
なお、本実施形態ではアイテム毎に個別に表示時間(期間)を指定するImageDurationPropertyとグループでデフォルトの表示時間(期間)を指定するSlideShowTimingPropertyを別のBox構造としたが、これらは共通のBoxであってもよい。その場合、アイテムに関連づけられた場合は個別の表示時間(期間)を示し、グループに関連づけられた場合はグループ全体のデフォルトの表示時間(期間)を示す。その場合はアイテム個別に指定した表示時間(期間)を優先的に利用する。一方で、前述したようにアイテム個別の指定を禁止して、グループのみに適応するという構成であってもよい。これにより、スライドショー表示するための処理を簡素化することが可能となる。またトラックとして格納する場合との差異を明確にすることが可能となる。
図11に、画像の配置情報を指定する属性情報ImageLocationPropertyのデータフォーマットを示す。図11に示すImageLocationPropertyは、imloで識別されるBoxでversionが1の場合キャンバスに対する相対的な位置を示すalignment_positionパラメータ1101を持つ。このalignment_positionは、キャンバスに対する位置を指定した値によって決定する。alignment_positioが0である場合、表示する画像はキャンバスの左上をキャンバスにそろえるように表示する。つまりキャンバスのtop、leftと表示画像のtop,leftをそろえて表示する。この際、表示する画像の方が小さい場合はSlideshowEntityToGroupBoxで指定したcanvas_fill_valueによって決定される色が表示される。表示する画像の方が大きい場合は、キャンバスに収まる範囲の画像部分のみが表示される。本実施形態ではこのように表示するようにしたが、画像を拡大、縮小するなどの表示方法であってもよい。同様にしてalignment_positionが1の場合はtop、centerそろえるように表示する。alignment_positionが2の場合は、top、rightをそろえるように表示する。positionが3の場合はmiddle、leftを、alignment_positionが4の場合はmiddle、centerを、alignment_positionが5の場合はmiddle、rightをそろえて表示する。またalignment_positionが6の場合はbottom、left、alignment_positionが7の場合はbottom、centerを、alignment_positionが8の場合bottom、rightをそろえて表示する。なお、alignment_positionが9以降の値は、予約値である。なお、本実施形態では数値で表現したが、これらのalignment_positionの値はBitアサインして表現してもよい。例えばすべてのBitが0の場合は表示する画像はキャンバスの左上をキャンバスにそろえるように表示する。1Bit目のみが1の場合はtop、centerそろえるように表示、2Bit目のみが1の場合はtop、rightをそろえるように表示する。といったように定義してもよい。この場合複数のBitが1になることは禁止されるものとする。
versionが1ではない場合は、キャンバスのtop、leftを基準としたオフセット値horizontal_offsetおよびvertical_offsetで位置を指定する(記述1102)。なお、それらのオフセット値にそれぞれ0を指定した場合は、version1のtop,leftを指定することと等価の設定となる。負のオフセット値を有する画素位置は含まれない。なお、SlideshowEntityToGroupBoxで指定したoutput_width以上の水平方向のピクセル位置は、指定するべきではない。同様に、SlideshowEntityToGroupBoxで指定したoutput_height以上の垂直方向のピクセル位置は、指定するべきではない。本実施形態ではImageLocationPropertyをスライドショー表示の際キャンバスに対する表示位置を指定するために用いたが、別の用途でも利用可能である。例えば、モニター(任意の画面)へ全画面表示する際に通常はモニターの中央に画像が表示されるような位置に指定の画像サイズで表示を行うが、本画像属性情報が指定されている場合は表示するモニター画面の位置を指定する際に使用するようにしてもよい。また本実施形態では表示する位置を指定する画像属性情報を付加する構成としたが、前述のように画像を拡大、縮小して表示するための指定をする画像属性情報を指定してもよい。
本ImageLocationPropertyは、キャンバス上の画像位置を決定するためにアイテムプロパティを用いて構成した。一方で、図22に示すImageOverlay派生画像を用いて構成してもよい。現在、ISO/IEC23008―12(Part12)において定義されているImageOverlay派生画像の構成では、ピクセル位置を示すことによって画像の位置合わせを行うことが可能となっているが、図11のImageLocationPropertyに示したようなキャンバスに対する相対的な位置を示す定義済みの値によって位置合わせを行うことはできない。そのため、図22に示すような構成に置き換えることで前述の相対的な位置合わせが可能となる。item_type値が「iovl 」のアイテムは、大きなキャンバス内で、指定されたレイヤ順に1つ以上の入力イメージをオーバーレイすることにより、派生画像アイテムを定義する。入力画像は、ItemReferenceBox内のタイプがdimgの派生イメージアイテムのSingleItemTypeReferenceBoxに、一番下の入力イメージが最初、一番上の入力イメージが最後というように、レイヤ化された順序で一覧表示される。バージョン0の場合、位置はキャンバスの左上隅からのピクセル位置で表される。図22のhorizontal_offsetおよびvertical_offset(記述2202)には、すでに定義されているように左上隅からのピクセルのオフセット情報が格納される。バージョン1の場合、キャンバスに対する事前に定義された相対的な位置を示す情報が定義される。図22のalignment_position(記述2201)には図11のImageLocationPropertyのalignment_positionと同様のパラメータである。本ImageOverlayのアイテムIDをSlideshowEntityToGroupのEntityとして格納することで、図21に示したSlideshowEntityToGroupであってもキャンバスを指定可能である。
次に、メタデータ処理部106は、その他の画像属性情報の指定として、スライドショー表示の際の画像切り替え(遷移)効果を指定するための画像属性情報を作成する。図12に、スライドショーでの切り替え(遷移)効果を指定する属性情報TransitionEffectPropertyのデータフォーマットを示す。図24に示すTransitionEffectPropertyのデータフォーマットは図12に示すデータフォーマットにversion指定可能とした構成である。図24に示すフォーマットの場合、後述するtransition_durationは、versionが1の場合に指定可能となる。versionが0の場合transition_durationはあらかじめ定義されたデフォルトの値が利用される。また、その他の形態としてtransition_durationを持たないアイテムプロパティとして構成してもよい。本プロパティはEntityToGroupBox内の2つの連続するアイテムの表示の間に適用される切り替え(遷移)効果を規定するものである。本プロパティはアイテムまたはEntityグループに関連づけ可能である。1つまたは異なるスライドショーグループに同一の画像を格納し異なる切り替え(遷移)効果を適応する場合、派生画像として定義されているアイデンティティ(iden)派生画像アイテムを用いて行う方法が考えられる。また、同一の画像データに対して異なるitem_idを付与して行う方法が考えられる。この場合itemInformationBox(iinf)で指定されるitem_idの異なる2つ以上の画像アイテムに対してItemLocationBox(iloc)では同一のオフセットおよびサイズを持つように指定することで同一の画像データに対して異なるitem_idを指定することが可能となる。またその他ItemPropertyAssociationBoxを拡張したBoxを新たに定義することによって指定可能とする構成が考えられる。これら指定方法はスライドショーにおけるアイテムプロパティの指定のみならず、その他のアイテムプロパティの指定においても利用できる。図12、図24に示すTransitionEffectPropertyは、切り替え(遷移)効果を指定するtransition_effect(記述1201、記述2401)と切り替え(遷移)効果の時間(期間)を示すtransition_duration(記述1202、記述2402)から構成されている。transition_effectは、指定する値によって画像表示の際の効果を指定するパラメータである。例えば、transition_effectに0を指定した場合、cut切り替え(遷移)効果を行う。また、transition_effectが1の場合、fade切り替え(遷移)効果を、2の場合wipe切り替え(遷移)効果を、3の場合split切り替え(遷移)効果を行うというように、あらかじめ決定した効果を識別するための値を指定する。その他、4の場合dissolve in切り替え(遷移)効果を、5の場合zoom切り替え(遷移)効果を行うためのあらかじめ決定した効果を識別するための値を指定する。その他の値は未定義として、あらかじめ決定した効果を識別するために定義を追加してもよい。またtransision_durationは、transition_effectで指定した切り替え(遷移)効果を行う時間(期間)を指定する。切り替え(遷移)効果の時間として設定する時間の単位については秒やミリ秒の単位を想定するが、限定するものではなく、時間を指定できる単位であればよい。また、再生装置が表示時間(期間)を決定するために用いる相対的な時間パラメータであってもよい。例えば相対的な時間パラメータとして、各アイテムに指定された表示時間(期間)のうちの指定パーセントや倍数の時間(期間)を指定することが可能である。
また、データフォーマットに、time_unit等の単位を指定するためのパラメータを含む構成としてもよい。この単位を指定するパラメータは、バージョンやflagsの値によって有効となる構成としてもよい。このパラメータ指定によって、default_entity_durationパラメータの時間単位を指定可能となる。指定可能な値は、分や秒、ミリ秒、マイクロ秒、その他時間単位を一意に識別可能な方法であればよい。また、本パラメータによって、任意の時間単位または、パーセントや倍数指定を切り替えるように構成してもよい。また、本パラメータに指定する時間は、図9のduration(記述903)および、図10のimage_duration(記述1001)、図23のslide_show_timing(記述2301)の時間には含めない時間として指定することを想定するが、その限りではない。
この場合、スライドショー表示する際の全体表示にかかる時間は、個別アイテムまたはグループに指定した表示時間(期間)の合計とそれぞれのアイテムまたはグループに指定した本プロパティの切り替え(遷移)効果を行う時間の合計となる。例えば、図23に示したSlideShowTimingPropertyをグループのみに適応し、本TransitionEffectPropertyをグループのみに適応した場合、グループに含まれるアイテムの個数にSlideShowTimingPropertyのslide_show_timingパラメータの値を乗算した値とグループに含まれるアイテムの個数にtransition_durationの値を乗算した値を加算した時間(期間)となる。
その他、これら時間に含めた時間とする場合は、全体表示にかかる時間は、個別アイテムまたはグループに指定した表示時間(期間)の合計となる。この際、これら各表示時間(期間)よりも短い時間(期間)となるように指定すべきである。しかし、本値の方が大きな値を指定していた場合は切り替え(遷移)効果を行わないようにしてもよいし、画像の表示に合わせるようにしてもよい。また、画像表示の効果の途中で次の画像に切り替える効果を行うというようにしてもよい。一方で、相対的な時間パラメータとして指定パーセントの時間(期間)を指定した場合は各画像の表示時間(期間)との大小関係は考慮しなくてもよくなる。なお、本実施形態ではこれら二つのパラメータで構成したが、それぞれ別々の画像属性情報として定義してもよい。また本実施形態では本画像属性情報を適応した画像アイテムを表示する際の効果として指定することを想定するが、別途画像の表示を終了する際の効果として指定可能な構成であってもよい。その際、画像の表示を終了する際の効果と次の画像を表示する際の効果とは別々に指定可能であってもよいし、制約としてどちらかのみを指定可能である構成であってよい。また、本プロパティのtransition_durationを各画像アイテムの表示時間(期間)に含める場合に、連続する2つの画像の表示時間(期間)のうち、1つ目の画像の表示時間(期間)のみに含める場合が考えられる。また、連続する2つの画像の表示時間(期間)にそれぞれ50%ずつ対称的に含めることも可能である。その他、cross_item_effect_ratio等のパラメータをデータフォーマットに定義しこのパラメータによって1つ目の画像、2つ目の画像それぞれどれだけの割合や時間で含めるかを指定可能な構成であってもよい。この場合、指定した値はパーセント指定の場合は100%以下で指定する必要がある。指定したパーセント分を1つ目の画像の表示時間(期間)に含め、100-指定パーセント分の時間(期間)を2つ目の画像の表示時間(期間)に含めることとなる。なお、cross_item_effect_ratioを定義する場合、バージョンやflags等の指定によって有効となる構成であってもよい。指定されない場合はデフォルト値として50%ずつ含める等、あらかじめ指定した割合でそれぞれの画像の表示時間(期間)に含めることが可能である。
また、各切り替え(遷移)効果においてアイテムプロパティ内にパラメータを定義し、切り替え(遷移)効果の動作を指定できるようにしてもよい。図28に示したTransitionEffectPropertyはアイテムプロパティ内に切り替え(遷移)効果の動作を指定可能としたプロパティである。切り替え(遷移)効果を指定するtransition_effect(記述2801)と切り替え(遷移)方向を示すtransition_direction(記述2802)から構成されている。本プロパティは図12、図24同様にEntityToGroupBox内の2つの連続するアイテムの表示の間に適用される切り替え(遷移)効果を規定するものである。本プロパティはアイテムまたはEntityグループに関連づけ可能であり、図12、図24と同様の方法によって1つの画像に異なる切り替え(遷移)効果を指定可能である。(flags&1)が1に等しい場合transition_effect(記述2801)に指定した切り替え(遷移)効果に応じて適用される推奨の切り替え(遷移)方向をtransition_direction(記述2802)で指定する。(flags&1)が1に等しくない場合、本パラメータは適応されない。なお、切り替え(遷移)方向に限らず切り替え(遷移)効果に応じて適用される指定可能な任意のパラメータとして定義してもよい。
transition_effect(記述2801)は、指定する値によって画像表示の際の効果を指定するパラメータである。例えば、transition_effectに0を指定した場合、cut切り替え(遷移)効果を行う。この場合transition_direction(記述2802)が指定されていたとしても無視する。また、transition_effectが1の場合、fadeまたはfade-in切り替え(遷移)効果を、2の場合dissolve切り替え(遷移)効果を行う。これらの場合同様にtransition_directionの値は無視する。3の場合wipe切り替え(遷移)効果を行い、transition_directionに指定された後述する値6~13のみ有効な値として識別する。また4の場合split切り替え(遷移)効果を行い、transition_directionに指定された後述する値2~5のみ有効な値として識別する。5の場合zoom切り替え(遷移)効果を行いtransition_directionに指定された後述する値0~1のみ有効な値として識別する。6の場合push切り替え(遷移)効果を行い、transition_directionに指定された後述する値6~13のみ有効な値として識別する。このようにあらかじめ決定した効果を識別するための値を指定する。その他の値は未定義として、あらかじめ決定した効果を識別するために定義を追加してもよい。記述2802のtransition_directionは適用する切り替え(遷移)方向を示すパラメータであり、次のいずれかを指定する。0の場合in、1の場合out、2の場合horizontal-in、3の場合horizontal-out、4の場合vertical-in、5の場合vertical-out、6の場合from-left、7の場合from-right、8の場合from-top、9の場合from-bottom、10の場合from-left-top、11の場合from-right-top、12の場合from-left-bottom、13の場合from-right-bottomと定義する。その他の値は未定義とする。transition_direction値はtransition_effectに対して許可された範囲にない場合は無視される。
このようにtransition_effectとtransition_directionの組み合わせによって切り替え(遷移)効果を指定する。例えばtransition_effectに3のwipeを指定した場合、transition_directionは値6~13が指定可能である。この指定された値が6の場合、左からwipe動作を行うといった指定である。その他wipe効果では右から、上から、下から、左上から、右上から、左下から、右下からといった動作を指定できる。その他の切り替え(遷移)効果についても同様に適応する。その他にも各切り替え(遷移)効果に応じた詳細な動作を指定するパラメータをアイテムプロパティ内にパラメータを定義して指定してもよい。
本実施形態ではtransition_effect(記述1201、記述2401、記述2801)を用いて切り替え(遷移)効果の種別を指定する構成としたが、それぞれの切り替え(遷移)効果のアイテムプロパティを別のアイテムプロパティとして切り替え(遷移)効果毎に4CCを用いて表す構成としてもよい。図29、図30、図31はその一例である。図29に示したWipeTransitionEffectPropertyはエンティティグループの連続する二つのアイテムの表示間に適用するWipe切り替え(遷移)効果を示すプロパティである。1つ目の画像から2つ目の画像へ拭き去るようにして次の画像を出すような効果を記述する。本アイテムプロパティは2つの連続するアイテムの1つ目に関連づける。記述2901のtransition_directionは次のいずれかの値を指定する。0の場合from-left、1の場合from-right、2の場合from-top、3の場合from-bottom、4の場合from-left-top、5の場合from-right-top、6の場合from-left-bottom、7の場合from-right-bottomを適用する切り替え(遷移)方向とする。その他の値は未定義とする。なおflags等を用いて本パラメータを有効とするか否かを切り替えてもよい。
図30に示したZoomTransitionEffectPropertyはエンティティグループの連続する二つのアイテムの表示間に適用するZoom切り替え(遷移)効果を示すプロパティである。1つ目の画像から2つ目の画像をズームインまたはズームアウトするようにして次の画像を出すような効果を記述する。本アイテムプロパティは2つの連続するアイテムの1つ目に関連づける。記述3001のtransition_directionは次のいずれかの値を指定する。1の場合in、2の場合outを適用する切り替え(遷移)方向とする。その他の値は未定義とする。なおflags等を用いて本パラメータを有効とするか否かを切り替えてもよい。
図31に示したFadeInTransitionEffectPropertyはエンティティグループの連続する二つのアイテムの表示間に適用するFade-In切り替え(遷移)効果を示すプロパティである。1つ目の画像から2つ目の画像をフェードインするようにして次の画像を出すような効果を記述する。本アイテムプロパティは2つの連続するアイテムの1つ目に関連づける。本プロパティでは指定可能な切り替え(遷移)方向がないためパラメータは保持しない。
その他にも、dissolve(1つ目の画像から2つ目の画像へなめらかで段階的な遷移)を切り替え(遷移)効果として行うためのDissolveTransitionEffectItemPropertyとして定義することが考えられる。その他の切り替え(遷移)効果についても同様に異なるアイテムプロパティとして定義可能である。cut(1つ目の画像から2つ目の画像へ瞬間的な遷移)する効果としてcutTransitionEffectItemProperty、split(垂直または水平に画像をスプリットして2つ目の画像へ遷移)する効果としてsplitTransitionEffectItemProperty、push(1つ目の画像を2つ目の画像が押し出すように遷移)する効果としてpushTransitionEffectItemPropertyというように定義可能である。またこれらに指定可能なtransition_directionがある場合対応したパラメータを指定可能な値として定義する。
transition_effect(記述1201、記述2401、記述2801)では未定義として予約している値の切り替え(遷移)効果についても同様に新たなアイテムプロパティとして定義可能である。またこれらは個別に画像アイテムまたはグループに指定可能である。一方で個別のアイテムプロパティとして定義した場合は最大でいずれか一つの切り替え(遷移)効果を意図したアイテムプロパティをアイテムに関連づける必要がある。つまり最大で1つの切り替え(遷移)効果のアイテムプロパティしか関連づけることができないという制約として規定する。一方で複数の切り替え(遷移)効果を適応可能としそれらをミックスした切り替え(遷移)効果として表現できるようにしてもよい。またuuid等を用いてユーザー定義の切り替え(遷移)効果を定義してもよい。uuidを用いて切り替え(遷移)効果を定義した場合はファイル生成側とファイル再生側それぞれがサポートする必要がある。
なお、図12、図24、図28に示したTransitionEffectPropertyは他のディスクリプティブアイテムプロパティおよびトランスフォーマティブアイテムプロパティよりも後に関連づけられる。
図10のImageDurationPropertyまたは図23のSlideShowTimingPropertyと図12または図24のTransitonEffectPropertyを1つの画像属性情報としてまとめて構成してもよい。図13に、図10のImageDurationPropertyと図12のTransitionEffectPropertyをまとめた画像属性情報としてのSlideShowPropertyのデータフォーマットを示す。図13に示すように構成した場合、スライドショーに関する画像属性情報をまとめて指定することが可能となる。同様にして、表示時間(期間)を示す画像属性情報と切り替え(遷移)効果を示す画像属性情報を組み合わせて1つの画像属性情報としてもよい。また、これらの画像属性情報は画像グループに適応してもよい。
S807で作成した画像属性情報のメタデータはRAM203上の出力バッファに保存しておく。そして、S806もしくはS807の処理後S808に進み、スライドショーのメタデータ処理フローが終了する。
図15は、本実施形態で出力されるHEIFファイルの例を示す図である。図15の記述1501に示すPrimaryItemBox(pitm)には、item_IDとして1が格納されている。なお、PrimaryItemBoxの拡張を行い本Boxに指定するIDとして前記SlideshowEntityToGroupを識別するグループIDを指定するようにしてもよい。その場合はIDとして後述するgroup_idである1001を指定する。記述1502に示すItemInfoBoxは、各画像アイテムをitem_IDで識別可能とし、item_IDで識別される画像アイテムがどのような種類の画像アイテムであるかを示す。item_IDが1である画像アイテムは‘hvc1’であり、HEVC符号化イメージであることを示す。同様にしてitem_ID48である画像アイテムまですべての画像アイテムがHEVC符号化イメージとして格納されている。記述1503に示すItemLocationBoxは、各画像データビットストリームのファイル内の格納位置を示している。各画像のデータがMediaDataBox内のどの位置に存在するかを特定することが可能となっている。記述1504は、ItemPropertiesBox内のItemPropertyContainerBoxを示しており、画像の属性情報を示すItemPropertyが格納されている。‘hvcC’はHEVC符号化パラメータを示している。また‘ispe’は画像のサイズを示す属性情報である。また‘dura’は前述したImageDurationPropertyBoxである。‘imlo’はImageLocationPropertyBoxである。また‘teff’はTransitionEffectPropertyBoxである。1505は各画像アイテムと属性情報との関連を示したItemPropertyAssociationBoxである。各画像アイテムが順に‘ipco’内の属性情報と関連づけが行われる。例えばitem_ID1およびitem_ID2には共通ispeが関連づけられており共通の画像サイズであることが示されている。一方でitem_ID3は異なる‘ispe’が適応されており異なる画像サイズであることがわかる。また、item_ID1にはduraが関連づけられていないためデフォルトの表示期間を適応する。また、item_ID2、item_ID3は異なる表示期間が適応されている。記述1507は、SlideshowEntityToGroupBoxである。group_idは1001、グループのエントリ数は48個、キャンバスフィル値は不透明の黒、キャンバスのサイズは幅4032、高さ3024が指定されている。スライドショー表示の順にentity_idに各画像のアイテムIDが1、2から48まで指定されている。これによりスライドショー表示するための情報が格納されている。
前述したように、本実施形態で説明されたスライドショーのメタデータ作成処理を実施した場合、作成されるHEIF画像ファイルは、図14に示すような内部構造となる。なお、実施形態1ではスライドショーの派生画像を記述する。そのため、図6の領域606(ItemInfoBox(iinf))には派生画像のアイテムIDを持つエントリが格納されるが、本実施形態の場合、図14の領域1406(iinf)にスライドショーの派生画像を示すようなエントリが含まれないことは自明である。また、実施形態1ではスライドショーの派生画像の画像属性情報とアイテム参照情報を作成し、それぞれ、図6の領域607(ItemReferenceBox(iref))と領域608(ItemProptiesBox(iprp))にエントリデータとして格納する。しかし本実施形態では、図14の領域1407(iref)と領域1408(iprp)にスライドショーの派生画像に関するエントリが含まれないことについても自明である。
本実施形態では以上の構成でスライドショー表示をするための画像をグループ化し、スライドショー表示の際の各画像の属性情報を各画像に適応する方法で構成した。しかし、画像をグループ化し、関連する属性をプロパティないしグループのパラメータとして保持する方法であれば異なる構成であってもよい。
以上、本実施形態によればスライドショー表示の画像をグループ化することでHEIFファイルに格納された複数の画像のうちスライドショー表示を意図する画像を容易に識別、格納することが可能となる。またグループのパラメータとしてキャンバスに関する情報を格納することでスライドショー表示する際のサイズを統一して扱うことが可能となる。また、表示時間(期間)に関する情報をグループのパラメータないしグループの属性情報、画像毎の属性情報として保持することで、スライドショー表示する時間を任意に指定可能となる。また、画像を表示する際のキャンバス位置情報を画像属性情報またはグループ化した派生画像のパラメータとして保持することで、表示位置を指定することが可能となる。さらに、スライドショー表示の際の画像切り替え(遷移)効果を画像属性情報として指定可能とすることで、より柔軟なスライドショー表示が可能となる。また、SlideshowEntityToGroupBoxに格納する画像として派生画像として定義されているアイデンティティ(iden)やグリッド(grid)イメージやオーバーレイ(iovl)イメージを指定することで派生画像をスライドショーとして表示することが可能となる。また1つのファイル内に複数のSlideshowEntityToGroupBoxを異なるグループIDを用いて格納することも可能であり、1ファイル内に複数のスライドショー表現を格納することも可能である。
[実施形態3]
実施形態3における画像ファイル作成装置は、実施形態1において図1で説明した構成と同一の構成を有する。また、図2で示される画像ファイル作成処理のフローと、図20で示されるスライドショー再生フローも、本実施形態に同様に適用できる。但し、本実施形態では、図2のスライドショーのメタデータ作成処理(S212)、および主要画像アイテム情報を設定する処理(S213)が実施形態1と異なる。したがって本実施形態では、主にS212とS213の処理について、図16と図17、図18、図19を参照しながら説明する。
図16は、HEIF標準におけるPrimaryItemBox(pitm)のデータフォーマットを示す図である。本実施形態では、図16に示すpitmの仕様を拡張したデータフォーマットを使用する。図17に、pitmの仕様を拡張した、PrimaryItemBoxデータフォーマットの一例を示す。この拡張の意図は、主要画像アイテム情報として、1以上の画像アイテムを指定できるようにすることである。メタデータ処理部106は、S212の処理において、スライドショーで表示する画像を選択して、表示順にアイテムIDのリストを作成する。そして、主要画像アイテムにスライドショーで表示する1以上のアイテムIDを指定するためのアイテムIDのリストを作成する。次のS213では、メタデータ処理部106は、S212で作成したアイテムIDのリストに基づいて、図17の記述1701ないし記述1702の部分に画像アイテムIDをリストの順番通りに格納し、格納したアイテムIDの個数をitem_countパラメータにセットする。これにより、作成するHEIF画像ファイルは主要画像アイテムとして1以上の画像が指定されることになる。また、本実施形態では、S212において、メタデータ処理部106は、スライドショーの各画像の表示時間(期間)を個別に設定するため、各画像の表示時間(期間)を指定する画像属性情報を作成する。この画像属性情報を設定する処理は、前述した実施形態2で説明した図8のS807の処理と同じであり、メタデータ処理部106は、ItemPropertiesBox(iprp)のメタデータを作成し、RAM203に保存する。また別の方法として、現在HEIF標準ではPrimaryItemBoxは1つのみ指定可能となっているが、これを複数可能としスライドショーで表示する順にPrimaryItemBoxを格納していく方法であってもよい。
また、図18に、pitmの仕様を拡張した、PrimaryItemBoxデータフォーマットの別の例を示す。図18に示すデータフォーマットでは、実施形態2で示したSlideshowEntityToGroupBoxのgroup_idをPrimariItemBoxに指定可能となる(記述1801)。
図19に、本実施形態で出力されるHEIFファイルの例を示す。図19では、group_idを指定可能とするファイルの例を示す。図19では、記述1901に示したPrimariItemBox(pitm)に、SlideshowEntityToGroupBox(記述1507)で指定したgroup_id1001を指定する。図19における記述1902から記述1907は、実施形態2において説明した図15における記述1502から記述1507までと共通である。
以上、本実施形態によればスライドショー表示の画像を拡張したPrimaryItemBoxに指定することでHEIFファイルに格納された複数の画像のうちスライドショー表示を意図する画像を容易に識別、格納することが可能となる。またPrimaryItemBoxにEntityToGroupBoxでグループ化したグループIDを指定可能とすることで、複数の画像を第一優先画像グループとして扱うことが可能となる。また、表示時間(期間)に関する情報をグループのパラメータないし、画像毎の属性情報として保持することで、スライドショー表示する時間を任意に指定可能となる。また、画像を表示する際のキャンバス位置情報を画像属性情報として保持することで、表示位置を指定することが可能となる。さらに、スライドショー表示の際の画像切り替え(遷移)効果を画像属性情報として指定可能とすることで、より柔軟なスライドショー表示が可能となる。なお、本実施形態ではPrimaryItemBoxを拡張することでスライドショーを意図するファイル格納を可能としたが、異なる拡張方法であってもスライドショー格納が実現可能であればよい。
以上、各実施形態において、画像ファイル作成処理と画像ファイルに格納するスライドショーのメタデータ作成処理の実施形態について説明した。各実施形態で作成されるHEIFの画像ファイルは、図6あるいは図14に示すように、最上位の階層にftypとmetaとmdat(図6のメタデータ格納領域602(MetaBox(meta))と符号化データ格納領域611(MediaDataBox(mdat)))が並ぶ構造となる。但し、画像ファイル作成装置が作成するHEIFファイルがこの内部構造に限定するものではない。例えば、以上の何れかの実施形態を実施し、さらに動画データも一緒に格納してMovieBox(moov)のメタデータもHEIFファイルを作成可能にしてもよい。
HEIFでは、時間的に連続する静止画としてのイメージシーケンスを持つHEIFファイルは、画像を表示するアプリケーションが連続的な表示処理をできるように、連続する静止画をHEIFファイルの中にビデオトラックとして定義する必要がある。ファイル構造としては、meta以外にmoovのメタデータも必要となり得る。上記に説明した各実施形態では、複数の画像データのスライドショーの情報をmetaの中に収めたHEIFファイルを作成する。つまりユーザーが任意の複数の画像を選択して任意の順番や表示時間(期間)を決めるスライドショーの設定を持つ画像ファイルの作成においては、イメージシーケンスを格納するHEIFファイルの生成に比べ、より効率的にHEIFファイルを作成することが可能になる。
また、以上の実施形態ではファイルフォーマットとしてHEIFを例に説明したが、1ファイル内に複数画像ファイルを格納でき、それらの画像ファイルに関するメタデータを保持可能なファイルであれば他の形式に適用してもよい。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記各実施形態の説明において、画像ファイルを作成する処理(図2等)と、作成された画像ファイルを再生する処理(図20等)が同一の装置、即ち画像ファイル作成装置100によって実行される例を説明したが、それらが別々の装置において実行されてもよい。即ち、画像ファイル作成装置100において作成された画像ファイルを、有線又は無線通信によって受信した画像ファイル再生装置が、受信された画像ファイルを解析して、図20の処理を実行することによって再生するようにしてもよい。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。