<本技術を適用したディジタルカメラの一実施の形態>
図1は、本技術を適用したディジタルカメラの一実施の形態の構成例を示すブロック図である。
ディジタルカメラ10は、光学系11、イメージセンサ12、信号処理部13、メディア14、インタフェース15及び16、ボタン/キー17、タッチパネル18、液晶パネル19、ビューファインダ20、並びに、インタフェース21等を有する。
光学系11は、被写体からの光を、イメージセンサ12に集光する。
イメージセンサ12は、光学系11からの光を受光し、光電変換する撮像を行うことで、電気信号としての画像のデータを生成し、信号処理部13に供給する。
信号処理部13は、光学系/イメージセンサ制御部41、符号化制御部42、ファイル制御部43、メディア制御部44、操作制御部45、表示制御部46、及び、UI制御部47を有する。
光学系/イメージセンサ制御部41は、光学系11及びイメージセンサ12を制御し、その制御に従って行われる撮像により得られる画像(のデータ)を、符号化制御部42に供給する。
符号化制御部42は、光学系/イメージセンサ制御部41からの画像を表示制御部46に供給するとともに、必要に応じて符号化し、ファイル制御部43に供給する。また、符号化制御部42は、ファイル制御部43から供給される画像を必要に応じて復号し、表示制御部46に供給する。
ファイル制御部43は、符号化制御部42から供給される画像を格納したファイルを生成し、メディア制御部44に供給する。また、ファイル制御部43は、メディア制御部44から供給されるファイルの再生、すなわち、ファイルに格納された画像等のデータの読み出し等を行う。例えば、ファイルから読み出された画像は、ファイル制御部43から符号化制御部42に供給される。
メディア制御部44は、メディア14、並びに、インタフェース15及び16との間でのファイルのやりとりを制御する。例えば、メディア制御部44は、ファイル制御部43からのファイルを、メディア14に記録させ、又は、インタフェース15及び16から送信させる。また、メディア制御部44は、メディア14からファイルを読み出し、又は、インタフェース15及び16にファイルを受信させ、ファイル制御部43に供給する。
操作制御部45は、ユーザによるボタン/キー17やタッチパネル18の操作に応じて、その操作に対応する操作信号を、必要なブロックに供給する。
表示制御部46は、符号化制御部42から供給される画像等を、液晶パネル19や、ビューファインダ20、インタフェース21に供給して表示させる表示制御等を行う。
UI制御部47は、UI(User Interface)制御をつかさどる。
メディア14は、例えば、SDカード等の記憶媒体である。インタフェース15は、例えば、WiFi(登録商標)やイーサネット(登録商標)等のLAN(Local Area Network)のインタフェースである。インタフェース16は、例えば、USB(Universal Serial Bus)のインタフェースである。ボタン/キー17及びタッチパネル18は、ディジタルカメラ10に指令その他の情報を入力するときに、ユーザによって操作される。タッチパネル18は、液晶パネル19と一体的に構成することができる。液晶パネル19及びビューファインダ20は、表示制御部46から供給される画像等を表示する。インタフェース21は、HDMI(High-Definition Multimedia Interface)(登録商標)やDP(Display Port)等の少なくとも画像を伝送するインタフェースである。
以上のように構成されるディジタルカメラ10では、光学系/イメージセンサ制御部41は、イメージセンサ12の撮像により得られるRAWデータの画像(以下、RAW画像ともいう)から、例えば、そのRAW画像と同一の解像度(画素数)のYUVの画像を、HEIFファイルの主画像(master image)として生成し、符号化制御部42に供給する。
符号化制御部42は、YUVの主画像から、液晶パネル19や外部のディスプレイでの表示の用途用に、主画像に基づく第1の他の画像としての、例えば、主画像よりも解像度が低いYUVの画像(以下、スクリーンネイル画像ともいう)を生成するとともに、インデクス表示(一覧表示)の用途用に、主画像に基づく第2の他の画像としての、例えば、スクリーンネイル画像よりも解像度が低いYUVの画像(以下、サムネイル画像ともいう)を生成する。符号化制御部42は、例えば、スクリーンネイル画像を、表示制御部46を介して、液晶パネル19に供給し、いわゆるスルー画として表示させる。サムネイル画像としては、例えば、長辺が320ピクセル以下のサイズの画像を採用することができる。主画像と、主画像に基づく第1の他の画像としてのスクリーンネイル画像、又は、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズ(ピクセル数)の比率は、例えば、200倍以下にすることができる。主画像に基づく第1の他の画像としてのスクリーンネイル画像と、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズの比率も、同様に、200倍以下とすることができる。スクリーンネイル画像としては、例えば、解像度が4K以上の画像を採用することができる。また、スクリーンネイル画像としては、例えば、ユーザの選択に応じて、4K(QFHD)又はFHDの画像を採用することができる。さらに、主画像とスクリーンネイル画像としては、同一の解像度の画像を採用することができる。主画像とスクリーンネイル画像として、同一の解像度の画像を採用する場合、HEIFファイルには、主画像とスクリーンネイル画像との両方を格納することもできるし、スクリーンネイル画像を格納せずに、主画像を格納することができる。HEIFファイルに、スクリーンネイル画像を格納せずに、主画像を格納する場合には、主画像をリサイズして、スクリーンネイル画像として用いることができる。
また、符号化制御部42は、RAW画像に対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)を、必要に応じて符号化し、RAW画像とともに、ファイル制御部43に供給する。
ファイル制御部43は、RAW画像が格納されたRAWファイルを生成するとともに、対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)が格納されたHEIFファイル、又は、JPEGファイル等を生成し、メディア制御部44に供給する。HEIFファイルとは、HEIF(High Efficiency Image File Format)に準拠したファイルであり、JPEGファイルとは、JPEG(Joint Photographic Experts Group)に準拠したファイルである。
メディア制御部44は、ファイル制御部43からのRAWファイルと、HEIFファイル又はJPEGファイルとを、メディア14に記録し、あるいは、インタフェース15又は16から送信させる。
ファイル制御部43において、HEIFファイル、及び、JPEGファイルのうちのいずれを生成するかは、例えば、ユーザの操作に応じて選択することができる。また、HEIFファイルには、後述するように、イメージアイテム形式とイメージシーケンス形式とがあるが、イメージアイテム形式とイメージシーケンス形式とのいずれを採用するかは、例えば、ユーザの操作に応じて選択することができる。さらに、ファイル制御部43では、ユーザの操作に応じて、HEIFファイルとJPEGファイルとの間の相互変換を行うことができる。
さらに、ファイル制御部43では、HEIFファイルの生成にあたって、HEIFファイル外の外部データ(HEIFファイルに格納されていないデータ)と関連付けるHEIFファイル内の内部データ(HEIFファイルに格納されたデータ)と、その外部データを特定する特定情報とを関連付けて、HEIFファイルに格納することができる。内部データと、その内部データと関連付ける外部データの特定情報とが関連付けられて格納されたHEIFファイルを、関連付け型HEIFファイルともいう。関連付け型HEIFファイルには、例えば、内部データと特定情報とを関連付ける関連付け情報を格納すること等によって、内部データと特定情報とを関連付けて格納することができる。
<JPEGファイル>
図2は、JPEG(Joint Photographic Experts Group)に準拠したJPEGファイルのフォーマットの例を示す図である。
JPEGファイルは、例えば、Exifのメタデータ、サムネイル画像、XMP(Extensible Metadata Platform)(登録商標)のメタデータ、主画像及び簡易表示用画像の格納場所(位置)等を表すMPF、主画像、並びに、簡易表示用画像が格納されて構成される。簡易表示用画像としては、例えば、スクリーンネイル画像を採用することができる。
<ISOベースメディアファイルフォーマット>
図3は、ISOベースメディアファイルフォーマットの例を示す図である。
HEIF(ISO/IEC 23008-12)は、ISOベースメディアファイルフォーマット(ISO/IEC 14496-12)に準拠したファイルフォーマットであり、したがって、HEIFファイルは、ISOベースメディアファイルフォーマットに準拠する。
ISOベースメディアファイルフォーマットは、データを格納するコンテナとしてのボックス(box)と呼ばれる単位で構成され、ボックス構造と呼ばれる構造を有する。
ボックスは、タイプ(box type)、及び、実データ(data)等を有する。タイプは、ボックス内の実データの種類を表す。実データとしては、画像(静止画、動画)や、オーディオ、字幕(サブタイトル)等の再生可能なメディアデータ、属性名(フィールド名)とその属性名(で表される変数)の属性値(フィールド値)、その他の各種のデータを採用することができる。
さらに、実データとしては、ボックスを採用することができる。すなわち、ボックスは、実データとして、ボックスを持つことができ、これにより、階層構造にすることができる。
ISOベースメディアファイルフォーマットに準拠したベースメディアファイルは、ftypボックス、moovボックス(MovieBox)、metaボックス(MetaBox)、及び、mdatボックス(MediaDataBox)等を有することができる。ftypボックスには、ファイルフォーマットを識別する識別情報が格納される。moovボックスは、trakボックス等を格納することができる。metaボックスは、iinfボックス、iprpボックス、irefボックス、ilocボックス等を格納することができる。mdatボックスは、メディアデータ(AVデータ)、その他任意のデータを格納することができる。
HEIFは、以上のようなISOベースメディアファイルフォーマットに準拠する。
<HEIFファイル>
図4は、HEIFに準拠したHEIFファイルのフォーマットの例を示す図である。
HEIFファイルには、大きく分けて、イメージアイテム形式と、イメージシーケンス形式とがある。さらに、イメージアイテム形式には、後述するアイテムを1つだけ有するシングルイメージ形式と、アイテムを複数有するイメージコレクション形式とがある。
イメージアイテム形式のHEIFファイルは、ftypボックス、metaボックス、及び、mdatボックスを有する。
イメージシーケンス形式のHEIFファイルは、ftypボックス、moovボックス、及び、mdatボックスを有する。
なお、HEIFファイルは、metaボックス及びmoovボックスのうちの一方だけでなく、両方を有することもできる。
ftypボックスには、ファイルフォーマットを識別する識別情報、例えば、ファイルがイメージアイテム形式又はイメージシーケンス形式のHEIFファイルであること等が格納される。
metaボックス及びmoovボックスには、mdatボックスに格納されるメディアデータの再生や管理等に必要な、例えば、メディアデータの格納場所等のメタデータが格納される。
mdatボックスには、メディアデータ(AVデータ)等が格納される。
ディジタルカメラ10において、イメージアイテム形式とイメージシーケンス形式とのHEIFファイルのうちのいずれのHEIFファイルを生成するかは、例えば、ユーザの操作に応じて選択することができる。また、HEIFファイルのmdatボックスに、画像を符号化して格納する場合には、イメージアイテム形式については、イントラ符号化のみが許され、イメージシーケンス形式については、イントラ符号化及びインター符号化が許される。したがって、例えば、HEIFファイルに格納されたデータへの高速アクセスを優先する場合には、イメージアイテム形式のHEIFファイルの生成を選択し、HEIFファイルのサイズ(データ量)を小さくすることを優先する場合には、イメージシーケンス形式のHEIFファイルの生成を選択することができる。
図5は、イメージアイテム形式のHEIFファイルのフォーマットの例を示す図である。
イメージアイテム形式のHEIFファイルでは、ftypボックスに、イメージアイテム形式のHEIFファイルであることを表す情報、例えば、mif1等が(属性値として)格納される。
metaボックスには、iinfボックス、irefボックス、iprpボックス、及び、ilocボックスが格納される。
iinfボックスには、mdatボックスに格納されたメディアデータ(AVデータ)であるアイテムの数(を表す属性名と属性値)等が格納される。アイテムとは、イメージアイテム形式のHEIFファイルのmdatボックスに格納される1つのデータであり、例えば、1枚(画面)の画像が、アイテムである。本明細書では、静止画及び動画にかかわらず、画像の1枚を、フレームともいう。1フレームは、1アイテムである。
irefボックスには、アイテムどうしの関連を表す情報が格納される。例えば、mdatボックスには、対応する主画像、スクリーンネイル画像、及び、サムネイル画像のそれぞれをアイテムとして格納することができる。mdatボックスに、主画像としてのアイテムI1、スクリーンネイル画像としてのアイテムI2、及び、サムネイル画像としてのアイテムI3が格納される場合、irefボックスには、アイテムI2がアイテムI1としての主画像のスクリーンネイル画像であることを表す情報や、アイテムI3がアイテムI1としての主画像のサムネイル画像であることを表す情報が格納される。
iprpボックスには、アイテムのプロパティに関する情報が格納される。
ilocボックスには、mdatボックスに格納されたアイテムの格納場所に関する情報が格納される。
イメージアイテム形式の(HEIFファイルの)mdatボックスには、アイテムとしての、例えば、画像のフレームが格納される。mdatボックスには、1個以上のアイテムを格納することができる。また、mdatボックスには、アイテムとしてのフレームを符号化して格納することができる。但し、イメージアイテム形式のmdatボックスに格納するアイテムとしてのフレームの符号化は、イントラ符号化に制限される。アイテムとしてのフレームを符号化する符号化方式(コーデック)としては、例えば、HEVC等を採用することができる。
図6は、図5のiprpボックスの例を示す図である。
iprpボックスには、アイテムのプロパティに関するipcoボックス及びipmaボックスが格納される。ipcoボックスには、mdatボックスに格納されたアイテムのプロパティ、例えば、アイテムとしての画像のコーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクス(ポインタ)が格納される。
図7は、イメージシーケンス形式のHEIFファイルのフォーマットの例を示す図である。
イメージシーケンス形式のHEIFファイルでは、ftypボックスに、イメージシーケンス形式のHEIFファイルであることを表す情報、例えば、msf1等が格納される。
moovボックスには、trakボックスが格納される。trakボックスには、mdatボックスに格納されるトラックに関する情報が格納される。
トラックは、画像や音声等の1つの独立した、タイムラインに従って再生されるメディアデータで構成される。例えば、トラックは、エレメンタリストリームとなる1フレーム以上の画像で構成される。mdatボックスに格納されるトラックについては、複数のトラック、例えば、同時に記録された画像及び音声それぞれのトラックを、同時に再生することができる。
トラックのメディアデータは、サンプルと呼ばれる単位で構成される。サンプルとは、HEIFファイル内のメディアデータにアクセスする場合の、最小の単位(アクセス単位)である。したがって、サンプルより細かい単位で、HEIFファイル内のメディアデータにアクセスすることはできない。
画像のメディアデータについては、例えば、1フレーム等が、1サンプルとなる。また、音声のメディアデータについては、例えば、その音声のメディアデータの規格で定められた1オーディオフレーム等が、1サンプルとなる。
イメージシーケンス形式の(HEIFファイルの)mdatボックスにおいて、トラックのメディアデータは、チャンク(chunk)と呼ばれる単位で配置される。チャンクは、論理的に連続したアドレスに配置される1以上のサンプルの集合である。
mdatボックスに、メディアデータとしての複数のトラックが格納される場合、その複数のトラックは、チャンク単位で、インターリーブして配置される。
以上のように、イメージシーケンス形式のmdatボックスには、画像や音声等のメディアデータで構成される1以上のトラックが格納される。
mdatボックスには、トラックを構成する画像のフレームを符号化して格納することができる。イメージシーケンス形式のmdatボックスに格納するトラックを構成するフレームの符号化には、GOP(Group of Picture)として、long GOPを採用するとともに、イントラ符号化及びインター符号化のいずれをも採用することができる。トラックを構成するフレームを符号化するコーデックとしては、例えば、HEVC等を採用することができる。
図8は、trakボックスの例を示す図である。
trakボックスには、tkhdボックス及びmdiaボックスを格納することができる。tkhdボックスには、trakボックスが管理するトラックの作成日時等の、トラックのヘッダ情報が格納される。mdiaボックスには、minfボックス等が格納される。minfボックスには、stblボックスが格納される。stblボックスには、トラックのサンプル、ひいては、チャンクにアクセスするための情報が格納されるstsdボックス、stscボックス、stszボックス、及び、stcoボックスが格納される。stsdボックスには、トラックのコーデックに関するコーデック情報が格納される。stscボックスには、チャンクサイズ(1チャンクのサンプル数)が格納される。stszボックスには、サンプルサイズが格納される。stcoボックスには、チャンクオフセット、すなわち、mdatボックスに格納されたトラックの各チャンクの配置位置のオフセットが格納される。
ここで、イメージアイテム形式のHEIFファイルを、コレクションファイルともいい、イメージシーケンス形式のHEIFファイルを、シーケンスファイルともいう。さらに、イメージアイテム形式の関連付け型HEIFファイルを、関連付け型コレクションファイルともいい、イメージシーケンス形式の関連付け型HEIFファイルを、関連付け型シーケンスファイルともいう。
ディジタルカメラ10では、主画像、さらには、必要なスクリーンネイル画像、及び、サムネイル画像のうちの一方又は両方が格納されたHEIFファイル(関連付け型HEIFファイルを含む)を生成することができる。
<コレクションファイル>
図9は、主画像及びサムネイル画像が格納された通常のコレクションファイルの例を示す図である。
ここで、通常のコレクションファイルとは、コレクションファイル内の内部データと、外部データの特定情報とが関連付けられていないコレクションファイルを意味する。
いま、コレクションファイルのmdatボックスには、フレーム(アイテム)がHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージアイテム形式であることと、コーデックがHEVCであることとを表すheicが格納される。
iinfボックスには、mdatボックスに格納されたアイテムの数(アイテム数)が格納される。図9では、アイテムID#1で特定される主画像(以下、主画像Item#1のようにも記載する)、主画像Item#2、アイテムID#101で特定されるサムネイル画像(以下、サムネイル画像Item#101のようにも記載する)、サムネイル画像Item#102の合計で4個のアイテム(フレーム)が、mdatボックスに格納されている。したがって、アイテム数は4である。なお、サムネイル画像Item#101は、主画像Item#1のサムネイル画像であり、サムネイル画像Item#102は、主画像Item#2のサムネイル画像である。
iinfボックスには、さらに、例えば、mdatボックスに格納されたアイテムごとに、infeボックスが格納される。infeボックスには、アイテムを特定するアイテムIDと、アイテムタイプとが登録される。図9では、主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれのinfeボックスが存在する。
irefボックスには、mdatボックスに格納されたアイテムどうしを関連付ける情報として、例えば、thmbボックスが格納される。thmbボックスは、主画像とその主画像のサムネイル画像とを関連付ける情報としての参照元と参照先とが対応付けられて格納される。thmbボックスにおいて、参照元は、主画像のアイテムIDを表し、参照先は、参照元のアイテムIDで特定される主画像のサムネイル画像のアイテムIDを表す。したがって、参照元に対応付けられている参照先によれば、参照元が表すアイテムIDで特定される主画像のサムネイル画像のアイテムIDを認識することができる。また、参照先に対応付けられている参照元によれば、参照先が表すアイテムIDで特定されるサムネイル画像の主画像のアイテムIDを認識することができる。
iprpボックスには、図6で説明したように、ipcoボックス及びipmaボックスが格納される。ipcoボックスには、図6で説明したように、mdatボックスに格納されたアイテムとしてのフレームのプロパティ、例えば、コーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、図6で説明したように、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクスが格納される。
ilocボックスには、図6で説明したようにmdatボックスにおけるアイテムの格納場所に関する情報が格納される。図9では、ilocボックスには、アイテム数が4であることが格納されている。さらに、ilocボックスには、mdatボックスに格納された主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれの格納場所へのオフセット及びサイズがアイテムIDと対応付けられて格納されている。
以下、図9の通常のコレクションファイルに、内部データと外部データの特定情報とを関連付けて格納した関連付け型コレクションファイルについて説明する。
図10は、第1の関連付け型コレクションファイルの例を示す図である。
ここで、以下では、HEIFファイル内の内部データとしての主画像と関連付ける外部データとして、例えば、その主画像のRAW画像(が格納されたRAWファイル)を採用することとする。
第1の関連付け型コレクションファイルには、内部データとしての主画像と、外部データとしてのRAW画像が格納されたRAWファイル(に格納されたRAW画像)の特定情報とを関連付ける関連付け情報を格納することで、主画像とRAW画像が格納されたRAWファイルの特定情報とが関連付けられて格納される。さらに、第1の関連付け型コレクションファイルでは、関連付け情報が、metaボックスに格納される。
外部データとしてのRAW画像が格納されたRAWファイルの特定情報としては、RAWファイルのファイル名や、RAWファイルに対して発行されたuuid(Universally Unique Identifier)、URL(Uniform Resource Locator)、その他、RAWファイル(に格納されたRAW画像)を特定することができる任意の情報を採用することができる。
第1の関連付け型コレクションファイルについては、metaボックスに格納される新たなボックスとして、関連付け情報が格納される関連付け情報格納ボックスが定義され、metaボックスに格納される。第1の関連付け型コレクションファイルの関連付け情報格納ボックスには、例えば、主画像を特定するアイテムIDと、その主画像に関連付ける(RAW画像が格納された)RAWファイル(に格納されたRAW画像)を特定する特定情報としてのuuidとが対応付けられた関連付け情報が格納される。さらに、関連付け情報格納ボックスには、RAWファイル(に格納されたRAW画像)と関連付けられる主画像の数(主画像数)が格納される。関連付け情報格納ボックスに格納される主画像数は、RAWファイルと関連付けられる主画像の数であるので、mdatボックスに格納されている主画像の数以下の値になる。
図10では、主画像Item#1のRAWファイルのuuid(主画像Item#1と関連付けられたRAW画像のuuid)が、UUID#1になっており、主画像Item#2のRAWファイルのuuidが、UUID#2になっている。いま、uuidがUUID#iのRAWファイルを、RAWファイルUUID#iと記述することとすると、図10では、主画像Item#1のアイテムID#1とRAWファイルUUID#1のuuidとが対応付けられ、かつ、主画像Item#2のアイテムID#2とRAWファイルUUID#2のuuidとが対応付けられた関連付け情報が、関連付け情報格納ボックスに格納されている。
図11は、第2の関連付け型コレクションファイルの例を示す図である。
第2の関連付け型コレクションファイルには、第1の関連付けコレクションファイルと同様に、内部データとしての主画像と、外部データとしてのRAWファイルの特定情報とを関連付ける関連付け情報を格納することで、主画像とRAWファイルの特定情報とが関連付けられて格納される。但し、第2の関連付け型コレクションファイルでは、関連付け情報が、mdatボックスに格納される。
第2の関連付け型コレクションファイルについては、例えば、第1の関連付けコレクションファイルの場合と同様の関連付け情報が、アイテムとして、mdatボックスに格納される。図11では、関連付け情報が、アイテムID#201のアイテムとして、mdatボックスに格納されている。
以上のように、第2の関連付け型コレクションファイルでは、アイテムItem#201としての関連付け情報が、mdatボックスに格納されることに応じて、metaボックスに格納される情報が、図9の通常のコレクションファイルの場合と異なる。第2の関連付け型コレクションファイルでは、アイテムItem#201としての関連付け情報のメタデータが、metaボックスに格納される。
具体的には、第2の関連付け型コレクションファイルでは、iinfボックス及びilocボックスに格納されるアイテム数が、図9の場合の4から、その4に、アイテムItem#201の1を加えた5になる。さらに、iinfボックスに、アイテムItem#201に対するinfeボックスが追加されるとともに、ilocボックスに、アイテムItem#201の格納場所へのオフセット及びサイズが追加される。アイテムItem#201に対するinfeボックスには、アイテムItem#201のアイテムID#201と、アイテムItem#201が関連付け情報であることを表すアイテムタイプIDIF(identifying data info)とが格納される。IDIFは、アイテムが関連付け情報であることを表す、新たに定義された属性値(フィールド値)である。
図12は、第3の関連付け型コレクションファイルの例を示す図である。
第3の関連付け型コレクションファイルでは、外部データとしてのRAWファイルの特定情報を、特定情報ごとに、アイテムとして、mdatボックスに格納するとともに、内部データとしての主画像と、外部データとしてのRAWファイルの特定情報とを関連付ける関連付け情報を、metaボックスに格納することで、主画像とRAWファイルの特定情報とが関連付けられて格納される。但し、第3の関連付け型コレクションファイルでは、関連付け情報は、アイテムとしての主画像のアイテムIDと、アイテムとしての(RAWファイルの)特定情報のアイテムIDとを対応付けた情報であり、metaボックス内のirefボックスに格納されるcdscボックスに格納される。
cdscボックスには、主画像とその主画像のRAWファイルの特定情報それぞれとしてのアイテムどうしとを関連付ける情報としての参照元と参照先とを対応付けて格納することができる。cdscボックスにおいて、参照元は、主画像のアイテムIDを表し、参照先は、参照元のアイテムIDで特定される主画像のRAWファイルのアイテムとしての特定情報のアイテムIDを表す。
図12では、主画像Item#1のRAWファイルの特定情報としてのuuidであるUUID#1が、アイテムItem#201として、mdatボックスに格納され、主画像Item#2のRAWファイルの特定情報としてのuuidであるUUID#2が、アイテムItem#202として、mdatボックスに格納されている。さらに、主画像Item#1のアイテムID#1と、特定情報UUID#1のアイテムID#201とを、それぞれ参照元と参照先として対応付けた関連付け情報が格納されたcdscボックスが、irefボックスに格納され、主画像Item#2のアイテムID#2と、特定情報UUID#2のアイテムID#202とを、それぞれ参照元と参照先として対応付けた関連付け情報が格納されたcdscボックスが、irefボックスに格納されている。
<シーケンスファイル>
図13は、主画像のトラック及びその主画像のサムネイル画像のトラックが格納された通常のシーケンスファイルの例を示す図である。
ここで、通常のシーケンスとは、シーケンスファイル内の内部データと、外部データの特定情報とが関連付けられていないシーケンスファイルを意味する。
いま、シーケンスファイルのmdatボックスには、フレームがHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージシーケンス形式であることと、コーデックがHEVCであることとを表すhevcが格納される。
moovボックスには、図7で説明したように、mdatボックスに格納されるトラックそれぞれを管理するtrakボックスが格納される。図13では、トラックID#1で特定される主画像のトラック(以下、トラック#1のようにも記載する)、及び、トラック#1の主画像のサムネイル画像のトラック#2が、mdatボックスに格納されている。したがって、moovボックスには、トラック#1を管理するtrakボックスと、トラック#2を管理するtrakボックスとが格納される。トラック#2の(先頭から)n番目のサムネイル画像(のフレーム)は、トラック#1のn番目の主画像のサムネイル画像である。
シーケンスファイルは、例えば、ディジタルカメラ10で連写が行われた場合に、その連写で得られる複数フレームの主画像及びサムネイル画像を、それぞれ、1トラックとして記録する場合等に有用である。
主画像のトラック#1を管理するtrakボックスのtkhdボックスには、トラック#1を特定するトラックID#1、トラック#1を構成する主画像の画サイズ、主画像が撮像されたときのディジタルカメラ10の向きを表す回転情報、及び、トラック#1の作成日時が格納される。サムネイル画像のトラック#2を管理するtrakボックスのtkhdボックスには、トラック#2を特定するトラックID#2、及び、トラック#2の作成日時が格納される。
trakボックスには、図7で説明したtkhdボックス及びmdiaボックスの他に、trefボックスを格納することができる。trefボックスには、そのtrefボックスが格納されたtrakボックスが管理するトラックと関連する他のトラックを特定するトラックID、及び、トラックの内容を表す情報等が格納される。図13では、トラック#2を管理するtrakボックスの中に、trefボックスが設けられている。そして、そのtrefボックスには、トラック#2と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#2を構成するデータがサムネイル画像であること(トラック#2がサムネイル画像のトラックであること)(type=thmb)を表す情報が格納されている。
trakボックスのmdiaボックスには、図8で説明したminfボックスの他、hdlrボックスを格納することができる。hdlrボックスには、そのhdlrボックスが格納されたtrakボックスが管理するトラックを構成するデータの種別を表す情報が格納される。主画像のトラック#1を管理するtrakボックスに(格納されるmdiaボックスに)格納されるhdlrボックスには、トラック#1を構成するデータがピクチャ(フレーム)であることを表す情報(pict)が格納され、サムネイル画像のトラック#2を管理するtrakボックスに格納されるhdlrボックスには、トラック#2を構成するデータがピクチャであることを表す情報が格納される。
minfボックスについては、図8で説明した通りである。
以下、図13の通常のシーケンスファイルに、内部データと外部データの特定情報とを関連付けて格納した関連付け型シーケンスファイルについて説明する。
図14は、関連付け型シーケンスファイルの例を示す図である。
関連付け型シーケンスファイルでは、外部データとしてのRAWファイルの特定情報としてのuuidの(エレメンタリ)ストリーム(Meta ES)のトラック#3が、mdatボックスに追加されるとともに、そのトラック#3を管理するtrakボックスが、moovボックスに追加される。
ここで、トラック#1は、タイムライン上に並ぶ主画像の1フレーム以上の時系列であり、トラック#3は、タイムライン上に並ぶ、主画像の各フレームのRAWファイルのuuidの時系列である。
トラック#3の(先頭から)n番目のuuidは、トラック#1のn番目の主画像のフレームのRAWファイルの特定情報である。また、mdatボックスに格納された複数のトラック(のデータ)は、1つのタイムライン上の時刻情報に従って同期して再生することができる。したがって、主画像のトラック#1と、トラック#1を構成する主画像の各フレームのRAWファイルのuuid(のストリーム)のトラック#3とを、mdatボックスに格納することで、トラック#1のn番目の主画像のフレームと、その主画像(のフレーム)のRAWファイルのuuidとは、関連付けられて格納される。この場合、トラック#1の主画像のフレームと、その主画像(のフレーム)のRAWファイルのuuidとは、タイムライン上の時刻情報により関連付けられるということができる。
なお、トラック#3の(先頭から)n番目のuuidは、トラック#1のn番目のフレームのRAWファイルの特定情報であり、トラック#1を構成する主画像(のフレーム)と、トラック#3を構成するuuidとは、トラックに配置される順番によって関連付けられると捉えることもできる。
関連付け型シーケンスファイルでは、RAWファイルのuuidのトラック#3が、mdatボックスに追加されることに応じて、そのトラック#3を管理するtrakボックスが、moovボックスに追加される。
RAWファイルのuuidのトラック#3を管理するtrakボックスには、tkhdボックス、trefボックス、及び、mdiaボックス等が格納される。
トラック#3を管理するtrakボックスのtkhdボックスには、トラック#3を特定するトラックID#3、及び、トラック#3の作成日時が格納される。
トラック#3を管理するtrakボックスのtrefボックスには、そのtrefボックスが格納されたtrakボックスが管理するトラック#3と関連する他のトラックを特定するトラックID、及び、トラック#3の内容を表す情報等が格納される。トラック#3を構成するuuidは、トラック#1を構成する主画像のRAWファイルの特定情報であり、トラック#3は、トラック#1と関連しているので、図14のトラック#3を管理するtrakボックスのtrefボックスには、トラック#3と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#3がメタデータ(ここでは、特定情報)のトラックであること(type=cdsc)を表す情報が格納される。
トラック#3を管理するtrakボックスのmdiaボックスには、hdlrボックス及びminfボックスが格納される。トラック#3を管理するtrakボックスにおいて、hdlrボックスには、トラック#3を構成するデータが(主画像の)メタデータであることを表す情報が格納され、minfボックスには、トラック#3についてのstscボックス、stscボックス、stszボックス、及び、stcoボックスが格納される。
<HEIFファイルの生成及び再生>
図15は、関連付け型HEIFファイルを生成する生成処理の例の概要を説明するフローチャートである。
生成処理では、ステップS11において、ファイル制御部43は、主画像のフレームのRAWファイル(RAW画像)の特定情報としてのuuidを生成し、処理は、ステップS12に進む。
ステップS12では、ファイル制御部43は、ステップS11で生成したuuidを、主画像のフレームのRAWファイル(RAW画像)に割り当て、処理は、ステップS13に進む。
ステップS13では、ファイル制御部43は、HEIFファイルに主画像のフレームと、そのフレームのRAWファイルのuuidとを関連付けて格納した関連付け型HEIFファイルを生成し、生成処理を終了する。
図16は、関連付け型HEIFファイルを再生する再生処理の例の概要を説明するフローチャートである。
再生処理では、ステップS21において、ファイル制御部43は、例えば、メディア14に記憶されたHEIFファイルに格納された主画像のフレームの個々を識別するハンドルのハンドルリストを生成し、処理は、ステップS22に進む。
ここで、主画像のフレームのハンドルは、そのフレームが格納されたHEIFファイルのファイル名を含む。コレクションファイルに格納された主画像のフレーム(アイテム)のハンドルは、さらに、そのフレームのアイテムIDを含む。シーケンスファイルに格納された主画像のフレームのハンドルは、さらに、そのフレームの時刻情報を含む。主画像のフレームのハンドルによれば、そのハンドルに対するフレームを、一意に識別(特定)することができる。
なお、シーケンスファイルに格納された主画像のフレームのハンドルには、フレームの時刻情報に代えて、フレームを含むトラックのトラックIDと、そのトラックにおけるフレームの順番(何番目のフレームであるか)とを含めることができる。
シーケンスファイルに格納される、主画像のフレームで構成されるトラックが、1つであっても複数であっても、各フレームの時刻情報はユニークである。したがって、フレームの時刻情報によれば、シーケンスファイルに複数のトラックが格納されていても、その複数のトラックそれぞれを構成するフレームから、ハンドルに含まれる時刻情報のフレームを、一意に特定することができる。そのため、主画像のフレームのハンドルに、そのフレームの時刻情報を含める場合には、そのフレームが存在するトラックのトラックIDがなくても、時刻情報に対するフレームを、一意に特定することができる。
ハンドルリストは、メディア14に記憶されたHEIFファイルに格納された主画像のフレームすべてを対象に生成することもできるし、特定の作成日時のフレーム等の、特定の条件で絞り込んだフレームのみを対象に生成することもできる。
ファイル制御部43において、ハンドルリストの生成後、HEIFファイルへのアクセスは、必要に応じて、ハンドルリストを参照して行われる。
ステップS22では、例えば、ユーザが、サムネイル画像の表示を行うように、ディジタルカメラ10を操作すること等を待って、UI制御部47は、サムネイル画像の表示を、ファイル制御部43に要求する。ファイル制御部43は、UI制御部47からのサムネイル画像の表示の要求に応じて、ハンドルリストのハンドルにより識別される主画像のフレームのサムネイル画像(のフレーム)を、HEIFファイルから読み出す。そして、ファイル制御部43は、HEIFファイルから読み出されたサムネイル画像の一覧を、例えば、液晶パネル19(図1)に表示させ、処理は、ステップS22からステップS23に進む。
ステップS23では、例えば、ユーザが、サムネイル画像の一覧から、所望のサムネイル(のフレーム)を選択すること等を待って、UI制御部47は、ユーザが選択したサムネイル画像に対応する主画像を、ファイル制御部43に要求する。ファイル制御部43は、UI制御部47からの主画像の要求に応じて、その主画像を、HEIFファイルから読み出す。ファイル制御部43は、HEIFファイルから読み出された主画像を、必要に応じて、液晶パネル19に表示させることができる。
又は、UI制御部47は、ユーザが選択したサムネイル画像に対応する主画像のRAWファイルのuuidを、ファイル制御部43に要求する。ファイル制御部43は、UI制御部47からのuuidの要求に応じて、そのuuidを、関連付け型HEIFファイルから読み出す。ファイル制御部43は、必要に応じて、関連付け型HEIFファイルから読み出されたuuidにより特定されるRAWファイルにアクセスすることができる。
図17は、コレクションファイルを再生する再生処理の例を説明するフローチャートである。
ステップS31において、ファイル制御部43は、再生対象の画像(アイテム)である再生対象画像のアイテムID(以下、再生対象アイテムIDともいう)の取得を行い、処理は、ステップS32に進む。
再生対象アイテムIDの取得では、例えば、ハンドルリストの任意のハンドルにより識別される主画像や、その主画像のサムネイル画像、サムネイル画像の一覧からユーザが選択したサムネイル画像(以下、選択サムネイル画像ともいう)、選択サムネイル画像の主画像等を、再生対象画像として、その再生対象画像のアイテムID(再生対象アイテムID)が取得される。
ステップS32では、ファイル制御部43は、ステップS31で取得された再生対象アイテムIDに応じて、再生対象画像の読み出しを行う。
再生対象画像の読み出しでは、再生対象アイテムIDにより特定される再生対象画像が、コレクションファイルから読み出される。
図18は、図17のステップS32の再生対象画像の読み出しの処理の例を説明するフローチャートである。
ステップS41において、ファイル制御部43は、コレクションファイル(図9ないし図12)のilocボックスから、再生対象アイテムIDを検索し、処理は、ステップS42に進む。
ステップS42では、ファイル制御部43は、ilocボックスにおいて、ステップS41で検索された再生対象アイテムIDに対応付けられているオフセット及びサイズを読み出し、処理は、ステップS43に進む。
ステップS43では、ファイル制御部43は、再生対象アイテムIDに対応付けられているオフセット及びサイズに応じて、コレクションファイルのmdatボックスに格納された再生対象画像を読み出し、処理は終了する。
図19は、図17のステップS31の再生対象アイテムIDの取得の処理の第1の例を説明するフローチャートである。
すなわち、図19は、サムネイル画像を再生対象画像として、その再生対象画像であるサムネイル画像のアイテムIDの取得の例を示している。
なお、図19では、ファイル制御部43は、例えば、ハンドルから、再生対象画像としてサムネイル画像の主画像のアイテムIDを認識していることとする。
ステップS51において、ファイル制御部43は、コレクションファイル(図9ないし図12)のirefボックスの中のthmbボックスから、参照元が主画像のアイテムIDに一致するthmbボックスを検索し、処理は、ステップS52に進む。
ステップS52では、ファイル制御部43は、ステップS51で検索された、参照元が主画像のアイテムIDに一致するthmbボックス内の参照先を、再生対象画像としてのサムネイル画像のアイテムIDとして読み出し、処理は終了する。
図20は、図17のステップS31の再生対象アイテムIDの取得の処理の第2の例を説明するフローチャートである。
すなわち、図20は、主画像を再生対象画像として、その再生対象画像である主画像のアイテムIDの取得の例を示している。
なお、図20では、例えば、ユーザが、サムネイル画像の一覧からサムネイル画像(選択サムネイル画像)を選択し、ファイル制御部43は、その選択サムネイル画像のアイテムIDを認識していることとする。
ステップS61において、ファイル制御部43は、コレクションファイル(図9ないし図12)のirefボックスの中のthmbボックスから、参照先が選択サムネイル画像のアイテムIDに一致するthmbボックスを検索し、処理は、ステップS62に進む。
ステップS62では、ファイル制御部43は、ステップS61で検索された、参照先が選択サムネイル画像のアイテムIDに一致するthmbボックス内の参照元を、再生対象画像としての主画像のアイテムIDとして読み出し、処理は終了する。
図21は、図10の第1の関連付け型コレクションファイルから所定の主画像のRAWファイルの特定情報としてのuuidを取得する処理の例を説明するフローチャートである。
なお、図21では、例えば、ファイル制御部43は、ハンドルリスト等によって、所定の主画像のアイテムIDを認識していることとする。
ステップS71において、ファイル制御部43は、第1の関連付け型コレクションファイル(図10)の関連付け情報格納ボックスの関連付け情報から、所定の主画像のアイテムIDを検索し、処理は、ステップS72に進む。
ステップS72では、ファイル制御部43は、関連付け情報において、ステップS71で検索された所定の主画像のアイテムIDに対応付けられているuuidを読み出し、処理は終了する。
ファイル制御部43は、以上のように読み出されたuuidにより、所定の主画像のRAWファイルにアクセスすることができる。
図22は、図11の第2の関連付け型コレクションファイルから所定の主画像のRAWファイルの特定情報としてのuuidを取得する処理の例を説明するフローチャートである。
なお、図22では、例えば、ファイル制御部43は、ハンドルリスト等によって、所定の主画像のアイテムIDを認識していることとする。
ステップS81において、ファイル制御部43は、第2の関連付け型コレクションファイル(図11)のiinfボックス内のinfeボックスから、アイテムが関連付け情報であることを表すアイテムタイプIDIFのinfeボックスを検索し、処理は、ステップS82に進む。
ステップS82では、ファイル制御部43は、ステップS81で検索された、アイテムタイプIDIFのinfeボックスから、アイテムとしての関連付け情報のアイテムIDを読み出し、処理は、ステップS83に進む。
ステップS83では、ファイル制御部43は、第2の関連付け型コレクションファイルのilocボックスから、ステップS82で読み出された、関連付け情報のアイテムIDを検索し、処理は、ステップS84に進む。
ステップS84では、ファイル制御部43は、ilocボックスにおいて、ステップS83で検索された、関連付け情報のアイテムIDに対応付けられているオフセット及びサイズを読み出し、処理は、ステップS85に進む。
ステップS85では、ファイル制御部43は、ステップS84で読み出された、関連付け情報のアイテムIDに対応付けられているオフセット及びサイズに応じて、第2の関連付け型コレクションファイルのmdatボックスに格納されたアイテムとしての関連付け情報を読み出し、処理は、ステップS86に進む。
ステップS86では、ファイル制御部43は、ステップS85で読み出された関連付け情報から、所定の主画像のアイテムIDを検索し、処理は、ステップS87に進む。
ステップS87では、ファイル制御部43は、関連付け情報において、ステップS86で検索された、所定の主画像のアイテムIDに対応付けられているuuidを読み出し、処理は終了する。
ファイル制御部43は、以上のように読み出されたuuidにより、所定の主画像のRAWファイルにアクセスすることができる。
図23は、図12の第3の関連付け型コレクションファイルから所定の主画像のRAWファイルの特定情報としてのuuidを取得する処理の例を説明するフローチャートである。
なお、図23では、例えば、ファイル制御部43は、ハンドルリスト等によって、所定の主画像のアイテムIDを認識していることとする。
ステップS91において、ファイル制御部43は、第3の関連付け型コレクションファイル(図12)のirefボックス内のcdscボックスから、参照元が所定の主画像のアイテムIDに一致するcdscボックスを検索し、処理は、ステップS92に進む。
ステップS92では、ファイル制御部43は、ステップS91で検索された、参照元が所定の主画像のアイテムIDに一致するcdscボックス内の参照先を、アイテムとしての、所定の主画像のRAWファイルの特定情報のアイテムIDとして読み出し、処理は、ステップS93に進む。
ステップS93では、ファイル制御部43は、第3の関連付け型コレクションファイルのilocボックスから、ステップS92で読み出された、アイテムとしての特定情報のアイテムIDを検索し、処理は、ステップS94に進む。
ステップS94では、ファイル制御部43は、ilocボックスにおいて、ステップS93で検索された、特定情報のアイテムIDに対応付けられているオフセット及びサイズを読み出し、処理は、ステップS95に進む。
ステップS95では、ファイル制御部43は、ステップS94で読み出された、特定情報のアイテムIDに対応付けられているオフセット及びサイズに応じて、第3の関連付け型コレクションファイルのmdatボックスに格納された、所定の主画像のRAWファイルの特定情報としてのuuidを読み出し、処理は終了する。
ファイル制御部43は、以上のように読み出されたuuidにより、所定の主画像のRAWファイルにアクセスすることができる。
図24は、コレクションファイルから主画像のアイテムIDのリストを取得する処理の例を説明するフローチャートである。
コレクションファイルから主画像のアイテムIDのリストを取得する処理は、例えば、ハンドルリストを生成する場合等に行われる。
ステップS101において、ファイル制御部43は、コレクションファイル(図9ないし図12)のiinfボックス内のすべてのinfeボックスから、アイテムIDを読み出し、主画像のアイテムIDのリスト(以下、主画像リストともいう)に登録して、処理は、ステップS102に進む。
ステップS102では、ファイル制御部43は、コレクションファイルのirefボックス内のすべてのボックスから、参照先になっているアイテムIDを読み出し、主画像リストから除外して、処理は終了する。
以上の処理後、主画像リストに登録されているアイテムIDが、主画像のアイテムIDとなる。
図25は、シーケンスファイルから所定の時刻情報に対する主画像(のフレーム)のサムネイル画像を再生する処理の例を説明するフローチャートである。
なお、図25では、例えば、ファイル制御部43は、ハンドルリスト等によって、所定の主画像の時刻情報(又は順番)を認識していることとする。
ステップS111において、ファイル制御部43は、シーケンスファイル(図13及び図14)のmoovボックス内のtrakボックスから、trefボックスに、トラックを構成するデータがサムネイル画像であることを表す情報が格納されたtrakボックス、すなわち、trefボックス内のtypeがthmbになっているtrakボックスを、所定の時刻情報に対する主画像のサムネイル画像のトラックを管理するtrakボックスとして検索し、処理は、ステップS112に進む。
ステップS112では、ファイル制御部43は、ステップS111で検索されたtrakボックス内のtkhdボックス内のトラックIDを、所定の時刻情報に対する主画像のサムネイル画像のトラックのトラックIDとして読み出し、処理は、ステップS113に進む。
ステップS113では、ファイル制御部43は、ステップS112で読み出されたトラックIDのトラックを再生し、そのトラックから、所定の時刻情報(又は順番)に対するサムネイル画像(のフレーム)を、所定の時刻情報に対する主画像のサムネイル画像として取得して、処理は終了する。
なお、シーケンスファイルに格納された画像のトラックを再生する処理は、MP4ファイルの動画再生の処理と同様である。
図26は、関連付け型シーケンスファイルから所定の主画像(のフレーム)のRAWファイルの特定情報としてのuuidを取得する処理の例を説明するフローチャートである。
なお、図26では、例えば、ファイル制御部43は、ハンドルリスト等によって、所定の主画像の時刻情報(又は順番)を認識していることとする。
ステップS121において、ファイル制御部43は、関連付け型シーケンスファイル(図14)のmoovボックス内のtrakボックスから、trefボックスに、トラックを構成するデータが特定情報であることを表す情報が格納されたtrakボックス、すなわち、trefボックス内のtypeがcdscになっているtrakボックスを、特定情報のトラックを管理するtrakボックスとして検索し、処理は、ステップS122に進む。
ステップS122では、ファイル制御部43は、ステップS121で検索されたtrakボックス内のtkhdボックス内のトラックIDを、特定情報のトラックのトラックIDとして読み出し、処理は、ステップS123に進む。
ステップS123では、ファイル制御部43は、ステップS122で読み出されたトラックIDのトラックから、所定の主画像の時刻情報(又は順番)に対する特定情報としてのuuidを、所定の主画像のRAWファイルのuuidとして取得して、処理は終了する。
ファイル制御部43は、以上のように取得されたuuidにより、所定の主画像のRAWファイルにアクセスすることができる。
以上のように、ファイル制御部43では、HEIFに準拠したHEIFファイルに、HEIFファイル内の主画像と、その主画像と関連付ける、HEIFファイル外の外部データを特定する特定情報とを関連付けて格納した関連付け型HEIFファイルの生成及び再生を行うので、HEIFファイル内に格納される主画像と、HEIFファイル外の外部データとを関連付けることができる。
また、特定情報として、uuidを用いる場合には、外部データのファイル名が変更されても、uuidにより、HEIFファイル内の主画像と、ファイル名の変更後の外部データとの関連付けを維持することができる。
<外部データに割り当てられた特定情報の格納>
図27は、外部データ(が格納されたファイル)として、主画像のRAWファイルを採用し、関連付け型コレクションファイルを生成する場合の、RAWファイルへのuuidの格納の例を示す図である。
なお、図27では、関連付け型コレクションファイルとして、第1の関連付け型コレクションファイルが採用されている。
RAWファイルは、メタデータとしてのExifの付属情報を格納する領域の一部の領域として、マーカノート(MakerNote)と呼ばれる領域を有する。
ファイル制御部43は、RAWファイル(RAW画像)に割り当てられたuuidを、そのRAWファイルの、例えば、マーカノートに格納することができる。
図27では、関連付け型コレクションファイルに、4個のアイテムとしての主画像Item#1, Item#2, Item#3, Item#4が格納され、主画像Item#1, Item#2, Item#3, Item#4のRAW画像が格納されたRAWファイル#1, #2, #3, #4が生成されている。そして、RAWファイル#i(RAW画像)には、UUID#iが割り当てられ、主画像Item#iとその主画像Item#iのRAWファイル#iのUUID#iとを関連付ける関連付け情報として、主画像Item#iを特定するアイテムID#iと、その主画像Item#iに関連付けるRAWファイル#iのUUID#iとが対応付けられた関連付け情報が、関連付け情報格納ボックスに格納されている。
図28は、外部データとして、主画像のRAWファイルを採用し、関連付け型シーケンスファイルを生成する場合の、RAWファイルへのuuidの格納の例を示す図である。
ファイル制御部43は、関連付け型シーケンスファイルを生成する場合も、図27で説明した関連付け型コレクションファイルを生成する場合と同様に、RAWファイルに割り当てられたuuidを、そのRAWファイルのマーカノートに格納することができる。
図28では、関連付け型シーケンスファイルに、4個のフレームとしての主画像#1, #2, #3, #4で構成されるトラック#1が格納され、主画像#1, #2, #3, #4のRAW画像が格納されたRAWファイル#1, #2, #3, #4が生成されている。そして、RAWファイル#iには、UUID#iが割り当てられ、関連付け型シーケンスファイルには、RAWファイル#iのUUID#iが、RAWファイル#i(RAW画像)に対応する主画像#iと同一の時刻情報を有するように配置されて構成されるトラック#3が格納されている。
以上のように、RAWファイル#iのUUID#iが、RAWファイル#iに対応する主画像#iと同一の時刻情報を有するように配置されて、トラック#3が構成されることで、トラック#1のi番目の主画像#iとトラック#3のi番目のUUID#i、すなわち、主画像#iのRAWファイル#iのUUID#iとは、関連付けられて、関連付け型シーケンスファイルに格納される。
以上においては、外部データとして、主画像のRAWファイル(RAW画像)を採用したが、外部データとしては、その他のデータを採用することができる。外部データとしては、例えば、主画像の撮像とともに録音した音声(音)等を採用することができる。音声を格納するファイルとしては、例えば、WAVフォーマットのWAVファイルや、MP4フォーマットのMP4ファイル等を採用することができる。以下では、音声を格納したファイルとして、例えば、WAVファイルを採用することとする。
図29は、外部データ(が格納されたファイル)として、主画像のWAVファイルを採用し、関連付け型コレクションファイルを生成する場合の、WAVファイルへのuuidの格納の例を示す図である。
なお、図29では、関連付け型コレクションファイルとして、第1の関連付け型コレクションファイルが採用されている。
WAVファイルは、メタデータを記述する領域の一部の領域として、Listチャンクと呼ばれる領域を有する。
ファイル制御部43は、WAVファイル(音声)に割り当てられたuuidを、そのWAVファイルの、例えば、Listチャンクに格納することができる。
図29では、関連付け型コレクションファイルに、4個のアイテムとしての主画像Item#1, Item#2, Item#3, Item#4が格納され、主画像Item#1, Item#2, Item#3, Item#4のWAVファイル#1, #2, #3, #4が生成されている。そして、WAVファイル#i(音声)には、UUID#iが割り当てられ、主画像Item#iとその主画像Item#iのWAVファイル#iのUUID#iとを関連付ける関連付け情報として、主画像Item#iを特定するアイテムID#iと、その主画像Item#iに関連付けるWAVファイル#iのUUID#iとが対応付けられた関連付け情報が、関連付け情報格納ボックスに格納されている。
図30は、外部データとして、主画像のWAVファイルを採用し、関連付け型シーケンスファイルを生成する場合の、WAVファイルへのuuidの格納の例を示す図である。
ファイル制御部43は、関連付け型シーケンスファイルを生成する場合も、図29で説明した関連付け型コレクションファイルを生成する場合と同様に、WAVファイルに割り当てられたuuidを、そのWAVファイルのListチャンクに格納することができる。
図30では、関連付け型シーケンスファイルに、4個のフレームとしての主画像#1, #2, #3, #4で構成されるトラック#1が格納され、主画像#1, #2, #3, #4のWAVファイル#1, #2, #3, #4が生成されている。そして、WAVファイル#iには、UUID#iが割り当てられ、関連付け型シーケンスファイルには、WAVファイル#iのUUID#iが、WAVファイル#iに対応する主画像#iと同一の時刻情報を有するように配置されて構成されるトラック#3が格納されている。
以上のように、WAVファイル#iのUUID#iが、WAVファイル#iに対応する主画像#iと同一の時刻情報を有するように配置されて、トラック#3が構成されることで、トラック#1のi番目の主画像#iとトラック#3のi番目のUUID#i、すなわち、主画像#iのWAVファイル#iのUUID#iとは、関連付けられて、関連付け型シーケンスファイルに格納される。
なお、本技術は、HEIFファイルの他、HEIFファイル以外のボックス構造を有する、例えば、ISOベースメディアファイルや、MP4ファイル、Miafファイル等に適用することができる。
また、本技術は、その他、例えば、ボックス構造を有しない、画像(主画像)と、その画像の解像度を低下させた他の画像とを格納するファイル等に適用することができる。
さらに、本技術は、外部データを、HEIFファイル内の主画像に関連付ける場合の他、HEIFファイル内のスクリーンネイル画像やサムネイル画像に関連付ける場合に適用することができる。
また、本技術は、その他、例えば、外部データを、HEIFファイル内の主画像等の画像以外の内部データに関連付ける場合に適用することができる。
<インデクス表示>
図31は、ディジタルカメラ10でのインデクス表示の例を説明する図である。
ディジタルカメラ10では、HEIFファイル(関連付け型HEIFファイルを含む)等の各種ファイルに格納された画像の一覧表示をインデクス表示として行うことができる。説明を簡単にするため、インデクス表示の対象とするファイルが、HEIFファイルであるとする。
ディジタルカメラ10は、インデクス表示において、HEIFファイルに格納されたサムネイル画像Thm#iを読み出し、そのサムネイル画像Thm#iをマトリクス状に配置した一覧画面を、液晶パネル19に表示する。
図31では、サムネイル画像Thm#iを、横×縦が3×3に配置した一覧画面が生成されている。
インデクス表示の対象とするHEIFファイルに格納されたサムネイル画像Thm#iの総数が、一覧画面に配置することができるサムネイル画像の数(ここでは、9個)を超える場合には、一覧画面の上部に、必要な数のタブが設けられる。図31において、黒塗りのタブは、選択されているタブである。
デフォルトでは、(左から)1番目のタブが選択され、インデクス表示の対象とする最初の9個のHEIFファイルに格納されたサムネイル画像Thm#1ないしThm#9が配置された一覧画面が表示される。
ユーザが、2番目のタブを選択すると、インデクス表示の対象とする次の9個のHEIFファイルに格納されたサムネイル画像Thm#10ないしThm#18が配置された一覧画面が表示される。
以下同様に、ユーザが選択するタブに応じた9個(以下)のHEIFファイルに格納されたサムネイル画像が配置された一覧画面が表示される。ここで、一覧画面のサムネイル画像の配置は、3×3に限定されるものではない。
なお、図31では、ディジタルカメラ10は、共有ボタン及びRAW編集ボタンが設けられている。
一覧画面のサムネイル画像Thm#iが選択された状態で、共有ボタンが操作されると、一覧画面で選択されているサムネイル画像Thm#iに対応する主画像が、ディジタルカメラ10以外の外部機器に送信され、その外部機器との間で共有される。
一覧画面のサムネイル画像Thm#iが選択された状態で、RAW編集ボタンが操作されると、ディジタルカメラ10では、例えば、一覧画面で選択されているサムネイル画像Thm#iに対応する(主画像に関連付けられている)RAW画像が、RAWファイルから読み出され、一覧画面に代えて、液晶パネル19に表示される。これにより、ディジタルカメラ10は、RAW画像が編集可能な状態となる。
以上のようなインデクス表示では、インデクス表示の対象とするHEIFファイルの数が多くなると、その多くのHEIFファイルのopen/closeを行う必要があり、一覧画面を表示するまでに時間を要することがある。
さらに、インデクス表示の対象とするHEIFファイルに、シーケンスファイルが含まれている場合、そのシーケンスファイルに格納されたサムネイル画像Thm#iがlong GOPで符号化されているときには、インデクス表示のために行われる処理が冗長になることがある。
例えば、GOPを構成する15フレームのサムネイル画像Thm#iのうちの、1フレーム目ないし9フレーム目のサムネイル画像Thm#1ないしThm#9が、1枚目の一覧画面に配置され、10フレーム目ないし15フレーム目のサムネイル画像Thm#10ないしThm#15が、2枚目の一覧画面に配置される場合、一覧画面の表示が、2枚目以外の一覧画面から、2枚目の一覧画面に切り替えられるときには、2枚目の一覧画面に配置される10フレーム目ないし15フレーム目のサムネイル画像Thm#10ないしThm#15を復号するために、2枚目の一覧画面に配置されない1フレーム目ないし9フレーム目のサムネイル画像Thm#1ないしThm#9のうちの、10フレーム目ないし15フレーム目のサムネイル画像Thm#10ないしThm#15の復号に必要なサムネイル画像Thm#iを復号しなければならない。
図32は、ディジタルカメラ10以外の外部デバイスでのインデクス表示の例を説明する図である。
ディジタルカメラ10で得られたHEIFファイルに格納された画像については、ディジタルカメラ10以外の外部デバイスにおいてインデクス表示を行うことができる。
外部デバイスにおいてインデクス表示を行う場合には、例えば、インデクス表示の対象とするHEIFファイルが、ネットワークを経由して、外部デバイスに送信され、外部デバイスにおいて、ディジタルカメラ10でのインデクス表示と同様にして、インデクス表示が行われる。
ディジタルカメラ10から外部デバイスへのHEIFファイルの送信は、インターネットや、LAN、USB、その他任意の有線又は無線ネットワークを介して行うことができる。また、ディジタルカメラ10から外部デバイスへのHEIFファイルの送信は、クラウドコンピュータを介して行うことができる。
外部デバイスにおいて、ディジタルカメラ10で得られたHEIFファイルに格納された画像について、インデクス表示を行う場合にも、ディジタルカメラ10においてインデクス表示を行う場合と同様に、一覧画面を表示するまでに時間を要することや、インデクス表示のために行われる処理が冗長になることがある。
さらに、外部デバイスにおいてインデクス表示を行う場合には、ディジタルカメラ10から外部デバイスに、一覧画面の生成に必要なHEIFファイルの送信に時間を要し、例えば、ユーザが外部デバイスでのインデクス表示を要求してから、実際に一覧画面が表示されるまでの応答性が悪くなることがある。
図33は、第1の関連付け型コレクションファイルを対象とするインデクス表示の例を示す図である。
ここで、あるHEIFファイルAと、そのHEIFファイルAと異なる他のHEIFファイルBとでは、重複するアイテムIDを使用することができる。例えば、HEIFファイルA内の1つのアイテムのアイテムIDを1とし、HEIFファイルB内の1つのアイテムのアイテムIDを1とすることができる。但し、本実施の形態では、説明を分かりやすくするため、HEIFファイルAとHEIFファイルBとにおいて、適宜、重複しないアイテムIDを使用することとする。
図33では、4個の第1の関連付け型コレクションファイル(HEIFファイル)#1ないし#4が、インデクス表示の対象になっている。
図33の第1の関連付け型コレクションファイル#iでは、1フレームの主画像Item#iと、その主画像Item#iのサムネイル画像Item#(1000+i)とが、mdatボックスに格納されている。さらに、主画像数が1であること、及び、主画像Item#iのアイテムID#iと、主画像Item#iに関連付けられた外部データの特定情報としてのUUID#iとが対応付けられた関連付け情報を有する関連付け情報格納ボックスが、metaボックスに格納されている。
以上のような4個の第1の関連付け型コレクションファイル#1ないし#4を対象として、インデクス表示が行われる場合には、例えば、4個の第1の関連付け型コレクションファイル#1ないし#4からサムネイル画像Item#1001ないしItem#1004が、それぞれ読み出される。そして、サムネイル画像Item#1001ないしItem#1004が配置された一覧画面が生成される。
したがって、ディジタルカメラ10及び外部デバイスにおいてインデクス表示が行われる場合には、第1の関連付け型コレクションファイル#1ないし#4からサムネイル画像Item#1001ないしItem#1004をそれぞれ読み出すために、複数である4個の第1の関連付け型コレクションファイル#1ないし#4それぞれのopen/closeが行われるため、インデクス表示の応答性が悪くなることがある。
さらに、外部デバイスにおいてインデクス表示が行われる場合には、ディジタルカメラ10から外部デバイスに、複数である4個の第1の関連付け型コレクションファイル#1ないし#4を送信しなければならず、その送信に時間を要し、インデクス表示の応答性が悪くなることがある。
図34は、第1の関連付け型コレクションファイルを対象とするインデクス表示の他の例を示す図である。
図34では、1個の第1の関連付け型コレクションファイル(HEIFファイル)#1が、インデクス表示の対象になっている。
図34の第1の関連付け型コレクションファイル#1では、複数である4フレームの主画像Item#1ないしItem#4と、その主画像Item#1ないしItem#4それぞれのサムネイル画像Item#1001ないしItem#1004とが、mdatボックスに格納されている。
さらに、主画像数が4であること、及び、4フレームの主画像Item#1ないしItem#4それぞれについて、主画像Item#iのアイテムID#iと、主画像に関連付けられた外部データの特定情報としてのUUID#iとが対応付けられた関連付け情報を有する関連付け情報格納ボックスが、metaボックスに格納されている。
以上のような第1の関連付け型コレクションファイル#1を対象として、インデクス表示が行われる場合には、例えば、第1の関連付け型コレクションファイル#1からサムネイル画像Item#1001ないしItem#1004が読み出される。そして、サムネイル画像Item#1001ないしItem#1004が配置された一覧画面が生成される。
したがって、ディジタルカメラ10及び外部デバイスにおいてインデクス表示が行われる場合には、第1の関連付け型コレクションファイル#1からサムネイル画像Item#1001ないしItem#1004だけを読み出すために、第1の関連付け型コレクションファイル#1のシークが行われるため、インデクス表示の応答性が悪くなる。
また、図34の第1の関連付け型コレクションファイルには、複数である4フレームの主画像Item#1ないしItem#4が格納されているため、ファイルサイズが大きい。
したがって、外部デバイスにおいてインデクス表示が行われる場合には、ディジタルカメラ10から外部デバイスに、ファイルサイズが大きい第1の関連付け型コレクションファイル#1を送信しなければならず、その送信に時間を要し、インデクス表示の応答性が悪くなることがある。
なお、関連付け型コレクションファイル以外のコレクションファイルを対象とするインデクス表示は、関連付け型コレクションファイルを対象とするインデクス表示と同様にして行うことができる。
図35は、関連付け型シーケンスファイルを対象とするインデクス表示の例を示す図である。
図35では、1個の関連付け型シーケンスファイル(HEIFファイル)#1が、インデクス表示の対象になっている。
図35の関連付け型シーケンスファイル#1では、複数である4フレームの主画像で構成されるトラック#1、その主画像それぞれの4フレームのサムネイル画像で構成されるトラック#2、及び、4フレームの主画像それぞれに関連付けられた外部データの特定情報としてのUUID#1ないしUUID#4で構成されるトラック#3が、mdatボックスに格納されている。
さらに、トラック#1ないし#3を管理するtrakボックスそれぞれが、moovボックスに格納されている。
トラック#1ないし#3を管理するtrakボックスは、それぞれ、そのtrakボックスが管理するトラックのトラックIDが格納されたtkhdボックスを有する。トラック#2を管理するtrakボックスは、さらに、トラック#2と関連する他のトラックがトラック#1であること(を表す情報)(track_ID=1)、及び、トラック#2がサムネイル画像のトラックであること(type=thmb)が格納されたtrefボックスを有する。トラック#3を管理するtrakボックスは、さらに、トラック#3と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#3がメタデータ(特定情報)のトラックであること(type=cdsc)が格納されたtrefボックスを有する。
以上のような関連付け型シーケンスファイル#1を対象として、インデクス表示が行われる場合には、例えば、関連付け型シーケンスファイル#1から4フレームのサムネイル画像(の符号化データ)が読み出されて復号される。そして、4フレームのサムネイル画像が配置された一覧画面が生成される。
関連付け型シーケンスファイルでは、サムネイル画像が、例えば、long GOPで符号化された状態で格納される。
したがって、インター符号化されたサムネイル画像を復号(再生)するのに、そのサムネイル画像が参照している他のサムネイル画像を復号する必要がある。さらに、他のサムネイル画像が、さらに他のサムネイル画像を参照している場合には、そのサムネイル画像を復号する必要がある。
関連付け型シーケンスファイルは、インター符号化された画像を格納することができるため、インター符号化された画像の格納が許されないコレクションファイルよりもファイルサイズを小さくすることができる。しかしながら、インター符号化に起因して、あるサムネイル画像の復号に、他の1フレーム以上のサムネイル画像の復号が必要になることがある。
そのため、ディジタルカメラ10及び外部デバイスにおいて、例えば、一覧画面のスクロールやタブによる切り換えを行う場合に、スクロール後やタブの切り換え後に表示すべきサムネイル画像の復号に時間を要し、インデクス表示の応答性が悪くなることがある。
なお、関連付け型シーケンスファイル以外のシーケンスファイルを対象とするインデクス表示は、関連付け型シーケンスファイルを対象とするインデクス表示と同様にして行うことができる。
そこで、ディジタルカメラ10では、1以上のHEIFファイルに格納された主画像のサムネイル画像等の、主画像に関連する関連画像を格納した別のHEIFファイルを、1以上のHEIFファイルを代理するプロキシファイルとして生成することができる。そして、ディジタルカメラ10や外部デバイスでは、プロキシファイルを用いて、インデクス表示を行うことができる。
プロキシファイルを用いて、インデクス表示を行うことにより、ディジタルカメラ10及び外部デバイスにおいて、インデクス表示としての一覧画面の表示を行うまでに時間を要することを抑制し、インデクス表示を迅速に行うことができる。
また、インデクス表示のために行われる処理が冗長になることを抑制することができる。
さらに、ディジタルカメラ10から外部デバイスに、プロキシファイルを送信することで、一覧画面の生成に必要なHEIFファイルを送信する場合に比較して、送信に要する時間を短縮し、外部デバイスの応答性が悪くなることを抑制することができる。
また、プロキシファイルでは、1以上のHEIFファイルに格納された主画像のサムネイル画像がまとまっているので、サムネイル画像の管理が容易になる。
<プロキシファイル>
図36は、プロキシファイルの第1の例を説明する図である。
ファイル制御部43は、HEIFファイル(関連付け型HEIFファイルを含む)に格納された主画像に関連する関連画像を、HEIFファイルの主画像として格納したプロキシファイルを生成することができる。
プロキシファイルとしては、例えば、HEIFファイル、特に、コレクションファイルを採用することができる。その他、プロキシファイルとしては、シーケンスファイルや、HEIFファイル以外のファイルを採用することができる。
また、プロキシファイルには、HEIFファイルに格納された主画像に関連する関連画像の他、HEIFファイル以外の、例えば、JPEGファイルやRAWファイルに格納された画像に関連する関連画像を格納することができる。
HEIFファイルに格納された主画像に関連する関連画像としては、主画像と画素数(サイズ)が異なる同一内容の画像、すなわち、例えば、主画像の画素数(サイズ)を少なくしたサムネイル画像や、主画像とYUVの信号フォーマットが異なる同一内容の画像、主画像と1画素のビット割り当て(階調)が異なる同一内容の画像、その他の主画像に関連する画像を採用することができる。
例えば、HEIFファイルに、主画像とサムネイル画像とが格納されている場合、その主画像に関連する関連画像としてのサムネイル画像は、主画像から画素を間引く等して生成してもよいし、HEIFファイルに格納されているサムネイル画像をコピーして用いてもよい。
すなわち、主画像に関連する画像として、主画像のサムネイル画像を採用する場合に、HEIFファイルに、主画像とサムネイル画像とが格納されているときには、HEIFファイルに格納された主画像から、サムネイル画像を新たに生成し、そのサムネイル画像を、関連画像として、プロキシファイルに格納することもできるし、HEIFファイルに格納されたサムネイル画像(のコピー)を、関連画像として、プロキシファイルに格納することもできる。以下では、例えば、主画像の関連画像として、主画像のサムネイル画像を採用することとする。
ここで、プロキシファイルとしてのHEIFファイルのアイテムを、プロキシファイルでないHEIFファイルのアイテムと区別するために、プロキシアイテムともいう。
図36では、コレクションファイルである4個のHEIFファイル#1ないし#4が存在し、各HEIFファイル#iのmdatボックスには、1つの主画像Item#iと、その主画像Item#iのサムネイル画像Item#(1000+i)とが格納されている。
そして、図36では、HEIFファイル#1ないし#4に格納されたサムネイル画像Item#1001ないしItem#1004(のコピー)が、プロキシアイテムItem#1ないしItem#4として格納されたプロキシファイルが生成されている。
プロキシアイテムItem#iは、画像としては、HEIFファイル#iの主画像Item#iのサムネイル画像であるが、プロキシファイル(としてのHEIFファイル)の主画像である。
プロキシファイルの第1の例については、例えば、プロキシファイル内のプロキシアイテム#iとしてのサムネイル画像と、HEIFファイル#1ないし#4内の主画像Item#1ないしItem#4それぞれ、又は、サムネイル画像Item#1001ないしItem#1004それぞれとのマッチングを行うことにより、プロキシアイテム#iとしてのサムネイル画像と最もマッチする主画像Item#i’、又は、プロキシアイテム#iとしてのサムネイル画像と最もマッチするサムネイル画像Item#(1000+i’)に対応する主画像Item#i’を、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図37は、プロキシファイルの第2の例を説明する図である。
図37では、図36と同様に、HEIFファイル#1ないし#4に格納されたサムネイル画像Item#1001ないしItem#1004が、プロキシアイテムItem#1ないしItem#4として格納されたプロキシファイルが生成されている。
さらに、図37では、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応する主画像Item#iを、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(主画像Item#i)の特定情報とを関連付けて格納した関連付け型HEIFファイルが、プロキシファイルとして生成されている。
すなわち、図37では、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)のアイテムID#iと、そのサムネイル画像に対応する主画像Item#iの特定情報としてのhash値#iとが対応付けられた関連付け情報が格納された関連付け情報格納ボックスが、プロキシファイルとしてのHEIFファイルのmetaボックスに格納されている。したがって、図37のプロキシファイルは、第1の関連付け型コレクションファイル(図10)である。
主画像Item#iの特定情報としてのhash値#iとしては、例えば、主画像Item#iを入力とするhash値を援用することができる。
また、図37では、プロキシファイルの関連付け情報格納ボックスにおいて、主画像数は、プロキシファイルに格納されたプロキシアイテムItem#1ないしItem#4としての、主画像Item#1ないし#4のサムネイル画像の数、すなわち、対応付けられているアイテムIDと特定情報としてのhash値とのセット数である4になっている。
なお、プロキシファイル(のファイルフォーマット)としては、第1の関連付け型コレクションファイル以外の関連付け型HEIFファイル、すなわち、第2の関連付け型コレクションファイル(図11)や、第3の関連付け型コレクションファイル(図12)、関連付け型シーケンスファイル(図14)を採用することができる。
プロキシファイルの第2の例については、例えば、プロキシアイテム#iとしてのサムネイル画像に関連付けられた特定情報としてのhash値(サムネイル画像のアイテムIDに対応付けられたhash値)によって特定される主画像、すなわち、HEIFファイル#1ないし#4内の主画像Item#1ないしItem#4それぞれを入力として生成されるhash値のうちの、hash値#iに一致するhash値が得られる主画像Item#i’を、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図38は、プロキシファイルの第3の例を説明する図である。
図38では、図37と同様に、コレクションファイルであるHEIFファイル#1ないし#4に格納されたサムネイル画像Item#1001ないしItem#1004が、プロキシアイテムItem#1ないしItem#4として格納されたプロキシファイルが生成されている。
さらに、図38では、図37と同様に、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応する主画像Item#iを、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(主画像Item#i)の特定情報とを関連付けて格納した関連付け型HEIFファイルが、プロキシファイルとして生成されている。
すなわち、図38では、図37と同様に、プロキシアイテムItem#iとしてのサムネイル画像のアイテムID#iと、そのサムネイル画像に対応する主画像Item#iの特定情報とが対応付けられた関連付け情報が格納された関連付け情報格納ボックスが、プロキシファイルとしてのHEIFファイルのmetaボックスに格納されている。したがって、図38のプロキシファイルは、第1の関連付け型コレクションファイルである。
但し、図38では、主画像Item#iの特定情報としては、hash値に代えて、uuidが採用されている。
外部データとしての主画像Item#iの特定情報として、uuidが採用される場合、図27ないし図30で説明した場合と同様に、外部データとしての主画像Item#iが格納されたHEIFファイル#iに、その主画像Item#iの特定情報としてのUUID#iを書き込む(格納する)必要がある。
そこで、ファイル制御部43は、外部データとしての主画像Item#iのUUID#iを、その主画像Item#iが格納されたHEIFファイル#iに書き込む。
外部データとしての主画像Item#iが格納されたHEIFファイル#iへのUUID#iの書き込みは、HEIFファイル#iのmetaボックスやmdatボックスに対して行うことができる。外部データとしての主画像Item#iが格納されたHEIFファイル#iへのUUID#iの書き込みは、例えば、関連付け型HEIFファイルのフォーマットに従って、すなわち、UUID#iの書き込み後のフォーマットが、関連付け型HEIFファイルのフォーマットになるように、行うことができる。
図38では、外部データとしての主画像Item#iが格納されたHEIFファイル#iへのUUID#iの書き込みが、第1の関連付け型コレクションファイルのファイルフォーマットに従って行われている。
すなわち、図38では、主画像Item#iのUUID#iと、その主画像Item#iのアイテムID#iとが対応付けられて格納された関連付け情報格納ボックスが、HEIFファイル#iのmetaボックスに格納されることで、HEIFファイル#iは、第1の関連付け型コレクションファイルになっている(第1の関連付け型コレクションファイルのフォーマットに従っている)。
また、図38では、(第1の関連付け型コレクションファイルとなった)HEIFファイル#iの関連付け情報格納ボックスにおいて、主画像数は、HEIFファイル#iに格納された主画像Item#iの数、すなわち、対応付けられているアイテムIDと特定情報としてのuuidとのセット数である1になっている。
ここで、プロキシファイルに関連画像としてのサムネイル画像が格納される対象の主画像が格納されるHEIFファイルは、プロキシファイルの生成の対象となるHEIFファイルであり、以下、プロキシ対象ファイルともいう。
プロキシ対象ファイルとしてのHEIFファイル#iへのUUID#iの書き込みは、HEIFファイル#iがコレクションファイルである場合には、第1ないし第3の関連付け型コレクションファイルのいずれかのフォーマットに従って行うことができ、HEIFファイルが#iがシーケンスファイルである場合には、関連付け型シーケンスファイルのフォーマットに従って行うことができる。
なお、プロキシ対象ファイルとしてのHEIFファイル#iにUUID#iを書き込んだ後のHEIFファイル#iにとって、そのHEIFファイル#i内の主画像Item#iは、HEIFファイル#iの内部データであり、プロキシファイルのプロキシアイテムItem#iとしてのサムネイル画像は、HEIFファイル#iの外部データである。
そして、プロキシ対象ファイルとしてのHEIFファイル#iに書き込まれたUUID#iは、プロキシファイルにとって外部データである主画像#Item#iの特定情報であるが、プロキシアイテム#iを特定する特定情報であるともみなすことができる。
この場合、UUID#iが書き込まれた後のプロキシ対象ファイルとしてのHEIFファイル#iは、内部データとしての主画像Item#iと、外部データとしてのプロキシアイテムItem#i、すなわち、プロキシファイル内の(主画像Item#iの)サムネイル画像の特定情報UUID#iとが関連付けられて格納された第1の関連付け型HEIFファイルであるとみなすことができる。
プロキシファイルの第3の例については、例えば、プロキシアイテム#iとしてのサムネイル画像に関連付けられた特定情報としてのuuid(サムネイル画像のアイテムIDに対応付けられたuuid)によって特定される主画像、すなわち、HEIFファイル#1ないし#4内の主画像Item#1ないしItem#4のうちの、UUID#iと対応付けられているアイテムID#iの主画像Item#iを、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図39は、プロキシファイルの第4の例を説明する図である。
図38では、プロキシ対象ファイルとしてのHEIFファイルが、4個のコレクションファイルであったが、図39では、プロキシ対象ファイルとしてのHEIFファイルが、1個のシーケンスファイル#1である点で、図39のプロキシファイルの第4の例は、図38のプロキシファイルの第3の例と異なっている。
ここで、図39の、プロキシ対象ファイルとしてのコレクションファイル#1は、関連付け型シーケンスファイルでない、通常のシーケンスファイルになっている。
図39のシーケンスファイル#1では、複数である4フレームの主画像で構成されるトラック#1、及び、その4フレームの主画像それぞれの4フレームのサムネイル画像で構成されるトラック#2が、mdatボックスに格納されている。
さらに、トラック#1及び#2を管理するtrakボックスそれぞれが、moovボックスに格納されている。
トラック#1ないし#2を管理するtrakボックスは、それぞれ、そのtrakボックスが管理するトラックのトラックIDが格納されたtkhdボックスを有する。
トラック#2を管理するtrakボックスは、さらに、トラック#2と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#2がサムネイル画像のトラックであること(type=thmb)が格納されたtrefボックスを有する。
図39では、例えば、シーケンスファイル#1に格納された4フレームのサムネイル画像が復号され、イントラ符号化される。
そして、イントラ符号化された状態の4フレームのサムネイル画像が、プロキシアイテムItem#1ないしItem#4として格納されたプロキシファイルが生成される。このプロキシファイルには、さらに、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応するシーケンスファイル#1のトラック#1のiフレーム目(i番目のフレーム)の主画像を、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(iフレーム目の主画像)の特定情報とが関連付けられて格納される。
すなわち、図39では、図38と同様に、プロキシアイテムItem#iとしてのサムネイル画像のアイテムID#iと、そのサムネイル画像に対応するiフレーム目の主画像の特定情報とが対応付けられた関連付け情報が格納された関連付け情報格納ボックスが、プロキシファイルとしてのHEIFファイルのmetaボックスに格納されている。したがって、図39のプロキシファイルは、第1の関連付け型コレクションファイルである。
図39では、図38と同様に、外部データとしての主画像の特定情報として、uuidが採用されている。外部データとしてのiフレーム目の主画像のuuidは、UUID#iになっている。
以上のように、図39では、外部データとしての主画像の特定情報として、uuidが採用されているため、図38と同様に、外部データとしての主画像が格納されたプロキシ対象ファイルとしてのシーケンスファイル#1には、外部データとしての主画像の特定情報としてのuuidが書き込まれる(格納される)。
図40は、プロキシ対象ファイルとしてのシーケンスファイル#1への、外部データとしての主画像の特定情報としてのuuidの書き込みの例を説明する図である。
外部データとしての主画像のuuidの、その主画像が格納されたシーケンスファイル#iへの書き込みは、シーケンスファイル#iのmoovボックスやmdatボックスに対して行うことができる。主画像のuuidの、その主画像が格納されたシーケンスファイル#iへの書き込みは、例えば、関連付け型HEIFファイルのフォーマットに従って、すなわち、uuidの書き込み後のフォーマットが、関連付け型HEIFファイルのフォーマットになるように行うことができる。
図40では、外部データとしての主画像が格納されたシーケンスファイル#1へのuuidの書き込みが、関連付け型シーケンスファイルのファイルフォーマットに従って行われている。
すなわち、図40では、トラック#1を構成する1フレーム目ないし4フレーム目の主画像のUUID#1ないしUUID#4のトラック#3、及び、トラック#3を管理するtrakボックスが生成され、トラック#3が、mdatボックスに格納されるとともに、トラック#3を管理するtrakボックスが、moovボックスに格納されることで、シーケンスファイル#1は、関連付け型シーケンスファイルになっている(関連付け型シーケンスファイルのフォーマットに従っている)。
トラック#3は、タイムライン上の時刻情報、又は、トラック#3に配置する順番によって、トラック#1のiフレーム目の主画像と、その主画像のUUID#iとが関連付けられるように、1フレーム目ないし4フレーム目の主画像それぞれのUUID#1ないしUUID#4が配置されて構成される。
トラック#3を管理するtrakボックスは、そのtrakボックスが管理するトラック#3のトラックIDが格納されたtkhdボックスを有する。
トラック#3を管理するtrakボックスは、さらに、トラック#3と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#3がメタデータ(特定情報)のトラックであること(type=cdsc)が格納されたtrefボックスを有する。
プロキシファイルの第4の例については、例えば、(関連付け型)シーケンスファイル#1のトラック#1を構成する4フレームの主画像のうちの、UUID#iと関連付けられているトラック#1のiフレーム目の主画像を、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
なお、プロキシ対象ファイルとしてのシーケンスファイル#1にUUID#iを書き込んだ後のシーケンスファイル#1にとって、そのシーケンスファイル#1内の主画像は、シーケンスファイル#1の内部データであり、プロキシファイルのプロキシアイテムItem#iとしてのサムネイル画像は、シーケンスファイル#1の外部データである。
そして、プロキシ対象ファイルとしてのシーケンスファイル#1に書き込まれたUUID#iは、プロキシファイルにとって外部データであるiフレーム目の主画像の特定情報であるが、プロキシアイテム#iを特定する特定情報であるともみなすことができる。
この場合、UUID#iが書き込まれた後のプロキシ対象ファイルとしてのシーケンスファイル#1は、内部データとしてのiフレーム目の主画像と、外部データとしてのプロキシアイテムItem#i、すなわち、iフレーム目の主画像のサムネイル画像の特定情報UUID#iとが関連付けられて格納された関連付け型シーケンスファイルであるとみなすことができる。
以上のようなプロキシファイルによれば、HEIFファイルに格納された主画像の関連画像としての、例えば、サムネイル画像のインデクス表示を迅速に行うことができる。さらに、インデクス表示における関連画像としてのサムネイル画像に対応する主画像を、容易に検出することができる。
図41は、第1の関連付け型コレクションファイルをプロキシ対象ファイルとするプロキシファイルの生成の例を説明する図である。
図36ないし図40では、通常のHEIFファイル(関連付け型HEIFファイル以外のHEIFファイル)をプロキシ対象ファイルとして生成されるプロキシファイルについて説明したが、プロキシファイルは、通常のHEIFファイルの他、関連付け型HEIFファイルをプロキシ対象ファイルとして生成することができる。
図41では、プロキシ対象ファイルが、4個の第1の関連付け型コレクションファイル#1ないし#4になっている。
図41の第1の関連付け型コレクションファイル#iでは、1フレームの主画像Item#iと、その主画像Item#iのサムネイル画像Item#(1000+i)とが、mdatボックスに格納されている。さらに、主画像数が1であること、及び、主画像Item#iのアイテムID#iと、主画像Item#iに関連付けられた(図示せぬ)外部データの特定情報としてのUUID#iとが対応付けられた関連付け情報を有する関連付け情報格納ボックスが、metaボックスに格納されている。
以上のように、第1の関連付け型コレクションファイル#iでは、主画像Item#iのアイテムID#iと、主画像Item#iに関連付けられた何らかの外部データの特定情報としてのUUID#iとが対応付けられた関連付け情報を有する関連付け情報格納ボックスが、metaボックスに格納されており、主画像Item#iは、UUID#iを、何らかの外部データの特定情報として、その外部データと既に関連付けられている。第1の関連付け型コレクションファイル#iにおいて、主画像Item#iと既に関連付けられている何らかの外部データを、関連付け済み外部データともいう。
以上のような第1の関連付け型コレクションファイル#iをプロキシ対象ファイルとして、プロキシファイルを生成するプロキシファイル生成処理を行う場合には、ファイル制御部43は、関連付け済み外部データの特定情報として既に使用されているUUID#iを、プロキシファイルにとって外部データとなる主画像Item#iの特定情報としても兼用で使用して、プロキシファイルを生成することができる。
すなわち、プロキシファイル生成処理において、ファイル制御部43は、第1の関連付け型コレクションファイル#1ないし#4に格納されたサムネイル画像Item#1001ないしItem#1004を、プロキシアイテムItem#1ないしItem#4として、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応する主画像Item#iを、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(主画像Item#i)の特定情報とを関連付けて格納した関連付け型HEIFファイルを、プロキシファイルとして生成する。
例えば、ファイル制御部43は、プロキシアイテムItem#iとしてのサムネイル画像のアイテムID#iと、そのサムネイル画像に対応する主画像Item#iの特定情報とが対応付けられた関連付け情報が格納された関連付け情報格納ボックスがmetaボックスに格納された第1の関連付け型コレクションファイルを、プロキシファイルとして生成する。
以上のような第1の関連付け型コレクションファイル#iをプロキシ対象ファイルとするプロキシファイル生成処理では、プロキシファイルにとって外部データとなる主画像Item#iの特定情報として、第1の関連付け型コレクションファイル#iにおいて、主画像Item#iと関連付けられている関連付け済み外部データの特定情報としてのUUID#iを使用することができる。
この場合、プロキシファイルにとって外部データとなる主画像Item#iの特定情報としてのUUID#iについては、図38で説明したような、第1の関連付け型コレクションファイル#iへのUUID#iの書き込みを行う必要がない。第1の関連付け型コレクションファイル#iは、既にUUID#iが書き込まれた状態になっているからである。
図41のプロキシファイルについては、図38のプロキシファイルの第3の例と同様に、例えば、第1のHEIFファイル#1ないし#4内の主画像Item#1ないしItem#4のうちの、UUID#iと対応付けられているアイテムID#iの主画像Item#iを、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図42は、第1の関連付け型コレクションファイルをプロキシ対象ファイルとするプロキシファイルの生成の他の例を説明する図である。
図42では、プロキシ対象ファイルが、1個の第1の関連付け型コレクションファイル#1になっている。
図42の第1の関連付け型コレクションファイル#1では、複数である4フレームの主画像Item#1ないしItem#4と、その主画像Item#1ないしItem#4それぞれのサムネイル画像Item#1001ないしItem#1004とが、mdatボックスに格納されている。さらに、主画像数が4であること、及び、4フレームの主画像Item#1ないしItem#4それぞれについて、主画像Item#iのアイテムID#iと、主画像に関連付けられた関連付け済み外部データの特定情報としてのUUID#iとが対応付けられた関連付け情報を有する関連付け情報格納ボックスが、metaボックスに格納されている。
以上のような第1の関連付け型コレクションファイル#1をプロキシ対象ファイルとしてプロキシファイル生成処理を行う場合には、ファイル制御部43は、図41の場合と同様に、関連付け済み外部データの特定情報として既に使用されているUUID#iを、プロキシファイルにとって外部データとなる主画像Item#iの特定情報としても兼用で使用して、プロキシファイルを生成することができる。
すなわち、プロキシファイル生成処理において、ファイル制御部43は、第1の関連付け型コレクションファイル#1に格納されたサムネイル画像Item#1001ないしItem#1004を、プロキシアイテムItem#1ないしItem#4として、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応する主画像Item#iを、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(主画像Item#i)の特定情報とを関連付けて格納した関連付け型HEIFファイルを、プロキシファイルとして生成する。
例えば、ファイル制御部43は、プロキシアイテムItem#iとしてのサムネイル画像のアイテムID#iと、そのサムネイル画像に対応する主画像Item#iの特定情報とが対応付けられた関連付け情報が格納された関連付け情報格納ボックスがmetaボックスに格納された第1の関連付け型コレクションファイルを、プロキシファイルとして生成する。
以上のような第1の関連付け型コレクションファイル#iをプロキシ対象ファイルとするプロキシファイル生成処理では、プロキシファイルにとって外部データとなる主画像Item#iの特定情報として、第1の関連付け型コレクションファイル#iにおいて、主画像Item#iと関連付けられている関連付け済み外部データの特定情報としてのUUID#iを使用することができる。
この場合、プロキシファイルにとって外部データとなる主画像Item#iの特定情報としてのUUID#iについては、図38で説明したような、第1の関連付け型コレクションファイル#iへのUUID#iの書き込みを行う必要がない。第1の関連付け型コレクションファイル#iは、既にUUID#iが書き込まれた状態になっているからである。
図42のプロキシファイルについては、図38のプロキシファイルの第3の例と同様に、例えば、第1のHEIFファイル#1ないし#4内の主画像Item#1ないしItem#4のうちの、UUID#iと対応付けられているアイテムID#iの主画像Item#iを、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図43は、関連付け型シーケンスファイルをプロキシ対象ファイルとするプロキシファイルの生成の例を説明する図である。
図43では、プロキシ対象ファイルが、1個の関連付け型シーケンスファイル#1になっている。
図43の関連付け型シーケンスファイル#1では、複数である4フレームの主画像で構成されるトラック#1、その主画像それぞれの4フレームのサムネイル画像で構成されるトラック#2、及び、4フレームの主画像それぞれに関連付けられた関連付け済み外部データの特定情報としてのUUID#1ないしUUID#4で構成されるトラック#3が、mdatボックスに格納されている。
さらに、図43の関連付け型シーケンスファイル#1では、トラック#1ないし#3を管理するtrakボックスそれぞれが、moovボックスに格納されている。
トラック#1ないし#3を管理するtrakボックスは、それぞれ、そのtrakボックスが管理するトラックのトラックIDが格納されたtkhdボックスを有する。
トラック#2を管理するtrakボックスは、さらに、トラック#2と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#2がサムネイル画像のトラックであること(type=thmb)が格納されたtrefボックスを有する。
トラック#3を管理するtrakボックスは、さらに、トラック#3と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#3がメタデータ(特定情報)のトラックであること(type=cdsc)が格納されたtrefボックスを有する。
以上のような関連付け型シーケンスファイル#1をプロキシ対象ファイルとしてプロキシファイル生成処理を行う場合には、ファイル制御部43は、図41の場合と同様に、関連付け済み外部データの特定情報として既に使用されているUUID#iを、プロキシファイルにとって外部データとなる主画像Item#iの特定情報としても兼用で使用して、プロキシファイルを生成することができる。
すなわち、プロキシファイル生成処理において、ファイル制御部43は、関連付け型シーケンスファイル#1に格納された4フレームのサムネイル画像を、符号化制御部42に復号させ、さらにイントラ符号化させる。
そして、ファイル制御部43は、イントラ符号化された状態の4フレームのサムネイル画像を、プロキシアイテムItem#1ないしItem#4として格納した第1の関連付け型コレクションファイルを、プロキシファイルとして生成する。
このプロキシファイルには、さらに、プロキシアイテムItem#iとしてのサムネイル画像(プロキシファイルの主画像)をプロキシファイル内の内部データとするとともに、そのサムネイル画像に対応するシーケンスファイル#1のトラック#1のiフレーム目の主画像を、プロキシファイル外の外部データとして、内部データ(プロキシアイテムItem#iとしてのサムネイル画像)と、外部データ(iフレーム目の主画像)の特定情報とが関連付けられて格納される。
すなわち、プロキシアイテムItem#iとしてのサムネイル画像のアイテムID#iと、そのサムネイル画像に対応するiフレーム目の主画像の特定情報とが対応付けられた関連付け情報が格納された関連付け情報格納ボックスが、プロキシファイルのmetaボックスに格納される。
以上のような関連付け型シーケンスファイル#1をプロキシ対象ファイルとするプロキシファイル生成処理では、プロキシファイルにとって外部データとなるトラック#1のiフレーム目の主画像の特定情報として、関連付け型シーケンスファイル#1において、iフレーム目の主画像と関連付けられている関連付け済み外部データの特定情報としてのUUID#iを使用することができる。
この場合、プロキシファイルにとって外部データとなるiフレーム目の主画像の特定情報としてのUUID#iについては、図39及び図40で説明したような、関連付け型シーケンスファイル#1へのUUID#iの書き込みを行う必要がない。関連付け型シーケンスファイル#1は、既にUUID#iが書き込まれた状態になっているからである。
図43のプロキシファイルについては、図39及び図40のプロキシファイルの第4の例と同様に、例えば、関連付け型シーケンスファイル#1のトラック#1を構成する4フレームの主画像のうちの、UUID#iと関連付けられているトラック#1のiフレーム目の主画像を、プロキシアイテム#iとしてのサムネイル画像に対応する主画像として検出することができる。
図44は、プロキシ対象ファイルと、そのプロキシ対象ファイルを用いたプロキシファイル生成処理により生成されるプロキシファイルとの組がとる形態を説明する図である。
図44のAは、プロキシ対象ファイルとプロキシファイルとの組がとる第1の形態の例を示している。
第1の形態では、プロキシファイルは、そのプロキシファイル内のプロキシアイテムとしてのサムネイル画像に対応する、プロキシ対象ファイル内の主画像の特定情報を有しない。同様に、プロキシ対象ファイルは、そのプロキシ対象ファイル内の主画像の特定情報を有しない。
第1の形態では、例えば、プロキシファイル内のプロキシアイテムであるサムネイル画像と、プロキシ対象ファイル内の主画像とのマッチングを行うことにより、プロキシアイテムとしてのサムネイル画像と最もマッチする主画像を、プロキシアイテムであるサムネイル画像に対応する主画像として検出することができる。
図44のBは、プロキシ対象ファイルとプロキシファイルとの組がとる第2の形態の例を示している。
第2の形態では、プロキシファイルは、そのプロキシファイル内のプロキシアイテムとしてのサムネイル画像に対応する、プロキシ対象ファイル内の主画像の特定情報を有する。
一方、プロキシ対象ファイルは、そのプロキシ対象ファイル内の主画像の特定情報を有しない。第2の形態において、主画像の特定情報としては、例えば、その主画像を入力とするhash値等の、主画像を用いて生成することができる情報を採用することができる。
第2の形態では、例えば、プロキシ対象ファイル内の主画像を入力として生成されるhash値のうちの、プロキシファイル内のプロキシアイテムとしてのサムネイル画像に関連付けられた特定情報としてのhash値に一致するhash値が得られる主画像を、プロキシアイテムとしてのサムネイル画像に対応する主画像として検出することができる。
図44のCは、プロキシ対象ファイルとプロキシファイルとの組がとる第3の形態の例を示している。
第3の形態では、プロキシファイルは、そのプロキシファイル内のプロキシアイテムとしてのサムネイル画像に対応する、プロキシ対象ファイル内の主画像の特定情報を有する。
同様に、プロキシ対象ファイルは、そのプロキシ対象ファイル内の主画像の特定情報を有する。第3の形態において、主画像の特定情報としては、例えば、uuid等の主画像を特定し得る情報を採用することができる。
第3の形態では、例えば、プロキシファイルにおいてプロキシアイテムとしてのサムネイル画像に関連付けられた特定情報と同一の、プロキシ対象ファイル内の特定情報と関連付けられているプロキシ対象ファイル内の主画像を、プロキシアイテムとしてのサムネイル画像に対応する主画像として検出することができる。
図45は、プロキシ対象ファイルとプロキシファイルとの組がとる第2の形態の詳細例を示す図である。
図45では、2個のHEIFファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。
図45において、プロキシ対象ファイルとしてのHEIFファイル#1には、2個の主画像A及びB、並びに、その主画像A及びBそれぞれのサムネイル画像A及びBが格納されている。プロキシ対象ファイルとしてのHEIFファイル#2には、2個の主画像C及びD、並びに、その主画像C及びDそれぞれのサムネイル画像C及びDが格納されている。
そして、プロキシファイルには、サムネイル画像AないしDが、プロキシファイルの主画像として格納され、さらに、サムネイル画像AないしDに対応する主画像AないしDの特定情報が格納されている。主画像AないしDの特定情報としては、主画像AないしDを入力とするhash値AないしDが、それぞれ採用されている。
第2の形態では、プロキシファイルに格納されたサムネイル画像が選択された場合、プロキシ対象ファイルとしてのHEIFファイル#1及び#2内の主画像AないしDそれぞれを入力として生成されるhash値のうちの、プロキシファイルにおいて選択されたサムネイル画像に関連付けられた特定情報としてのhash値に一致するhash値が得られる主画像を、プロキシファイルにおいて選択されたサムネイル画像に対応する主画像として検出することができる。
図46は、プロキシ対象ファイルとプロキシファイルとの組がとる第3の形態の詳細例を示す図である。
図46では、2個のHEIFファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。
図46において、プロキシ対象ファイルとしてのHEIFファイル#1には、2個の主画像A及びB、並びに、その主画像A及びBそれぞれのサムネイル画像A及びBが格納されている。プロキシ対象ファイルとしてのHEIFファイル#2には、2個の主画像C及びD、並びに、その主画像C及びDそれぞれのサムネイル画像C及びDが格納されている。
そして、プロキシファイルには、サムネイル画像AないしDが、プロキシファイルの主画像として格納され、さらに、サムネイル画像AないしDに対応する主画像AないしDの特定情報が格納されている。主画像AないしDの特定情報としては、uuid(UUID#A, UUID#B, UUID#C, UUID#D)が採用されている。
主画像AないしDの特定情報としてのUUID#A, UUID#B, UUID#C, UUID#Dは、プロキシファイルの他、プロキシ対象ファイルにも格納されている(書き込まれている)。すなわち、主画像A及びBが格納されたプロキシ対象ファイルとしてのHEIFファイル#1には、その主画像A及びBのUUID#A及びUUID#Bが格納され、主画像C及びDが格納されたプロキシ対象ファイルとしてのHEIFファイル#2には、その主画像C及びDのUUID#C及びUUID#Dが格納されている。
第3の形態では、プロキシファイルに格納されたサムネイル画像が選択された場合、プロキシファイルにおいて選択されたサムネイル画像に関連付けられたuuidと同一の、プロキシ対象ファイル内のuuidと関連付けられているプロキシ対象ファイル内の主画像を、プロキシファイルにおいて選択されたサムネイル画像に対応する主画像として検出することができる。
<プロキシファイルを用いたインデクス表示>
図47は、ディジタルカメラ10でのプロキシファイルを用いたインデクス表示の例を説明する図である。
ディジタルカメラ10は、インデクス表示において、プロキシファイルに格納されたサムネイル画像Thm#iを読み出し、そのサムネイル画像Thm#iをマトリクス状に配置した一覧画面を、液晶パネル19に表示する。図47では、図31と同様に、サムネイル画像Thm#iを、横×縦が3×3に配置した一覧画面が生成される。インデクス表示の対象とするプロキシファイルに格納されたサムネイル画像Thm#iの総数が、一覧画面に配置することができるサムネイル画像の数(ここでは、9個)を超える場合には、一覧画面の上部に、必要な数のタブが設けられる。
デフォルトでは、1番目のタブが選択され、インデクス表示の対象とする最初の9個のプロキシファイルに格納されたサムネイル画像Thm#1ないしThm#9が配置された一覧画面が表示される。ユーザが、2番目のタブを選択すると、インデクス表示の対象とする次の9個のプロキシファイルに格納されたサムネイル画像Thm#10ないしThm#18が配置された一覧画面が表示される。以下同様に、ユーザが選択するタブに応じた9個(以下)のプロキシファイルに格納されたサムネイル画像が配置された一覧画面が表示される。
ここで、図31の場合と同様に、一覧画面のサムネイル画像の配置は、3×3に限定されるものではない。また、共有ボタン及びRAW編集ボタンについては、図31で説明した通りである。
以上のようなプロキシファイルを用いたインデクス表示によれば、インデクス表示を適切に行うことができる。
すなわち、プロキシファイルを用いたインデクス表示では、プロキシファイルのopen/closeを行えばよく、プロキシファイル内のサムネイル画像Thm#iに対応する主画像が格納されたHEIFファイルのopen/closeを行う必要はない。したがって、主画像が格納されたHEIFファイルのopen/closeを行う場合に比較して、一覧画面を表示するまでの時間を短縮し、一覧画面を迅速に表示することができる。
さらに、インデクス表示の対象とするプロキシファイルには、サムネイル画像Thm#iが、インター符号化されずに格納されるので、すなわち、本実施の形態では、イントラ符号化されて格納されるので、インデクス表示のために行われる処理が冗長になることを防止することができる。具体的には、図31で説明したような、シーケンスファイルに格納された、long GOPでインター符号化されたサムネイル画像Thm#iを表示する場合のように、あるサムネイル画像Thm#iを一覧画面に表示する場合に、そのサムネイル画像Thm#iを復号するために、他のサムネイル画像Thm#i’を復号する必要がない。
図48は、ディジタルカメラ10以外の外部デバイスでのプロキシファイルを用いたインデクス表示の例を説明する図である。
ディジタルカメラ10以外の外部デバイスにおいてインデクス表示を行う場合には、例えば、インデクス表示の対象とするHEIFファイルに代えて、そのHEIFファイルをプロキシ対象ファイルとして用いて生成されたプロキシファイルを、ネットワークを経由して、外部デバイスに送信することができる。
外部デバイスでは、ディジタルカメラ10からのプロキシファイルが受信される。そして、外部デバイスでは、ディジタルカメラ10においてプロキシファイルを用いたインデクス表示を行う場合と同様に、プロキシファイルに格納されたサムネイル画像Thm#iを用いて一覧画面が生成されて表示される。
したがって、外部デバイスでは、ディジタルカメラ10においてプロキシファイルを用いたインデクス表示を行う場合と同様に、インデクス表示を適切に行うことができる。すなわち、一覧画面を表示するまでの時間を短縮し、一覧画面を迅速に表示することができる。
さらに、インデクス表示のために行われる処理が冗長になることを防止することができる。
また、サムネイル画像が格納されたプロキシファイルのデータ量は、そのプロキシファイルに格納されたサムネイル画像に対応する主画像が格納されたHEIFファイルの合計のデータ量に比較して少ない。したがって、ディジタルカメラ10から外部デバイスに対するプロキシファイルの送信は、図32で説明したようなHEIFファイルの送信よりも短時間で行うことができる。
以上から、ユーザが外部デバイスでのインデクス表示を要求してから、実際に一覧画面が表示されるまでの応答性を向上させることができる。
なお、外部デバイスにおいて、一覧画面が表示された後、ユーザは、一覧画面内の任意のサムネイル画像Thm#iを選択することができる。ユーザがサムネイル画像Thm#iを選択すると、外部デバイスは、プロキシファイルにおいてサムネイル画像Thm#iに関連付けられている、そのサムネイル画像Thm#iに対応する主画像Main#iの特定情報を、ディジタルカメラ10に送信することができる。ディジタルカメラ10は、外部デバイスからの特定情報によって特定されるHEIFファイル内の主画像Main#iや、関連付け済み外部データとしての、例えば、主画像Main#iに対応するRAWファイル内のRAW画像を取得し、外部デバイスに送信して表示させることができる。
図49は、プロキシ対象ファイルとするHEIFファイルの選択の例を説明する図である。
プロキシファイル生成処理にあたっては、例えば、図41に示したように、1フレーム(以上)の主画像及びサムネイル画像が格納された複数のコレクションファイルを、プロキシ対象ファイルに選択して、プロキシファイルを生成することができる。
また、例えば、図42に示したように、複数フレームの主画像及びサムネイル画像が格納された1個(以上)のコレクションファイルを、プロキシ対象ファイルに選択して、プロキシファイルを生成することができる。
さらに、例えば、図43に示したように、1個(以上)のシーケンスファイルを、プロキシ対象ファイルに選択して、プロキシファイルを生成することができる。
その他、プロキシファイルは、例えば、図49に示すように、特定のディレクトリに格納されたHEIFファイルを、プロキシ対象ファイルに選択して生成することができる。
図49では、ルートディレクトリに、DCIMディレクトリが存在し、DCIMディレクトリに、100MSDCFディレクトリが存在する。そして、その100MSDCFディレクトリ内のHEIFファイルが、プロキシ対象ファイルに選択され、プロキシファイルが生成されている。
図49において、100MSDCFディレクトリには、1フレームの主画像及びサムネイル画像が格納された、ファイル名が”DSC00001.HEIF”及び”DSC00002.HEIF”の2個のコレクションファイル(HEIFファイル)が格納されている。そして、その2個のコレクションファイルをプロキシ対象ファイルとして、プロキシファイルが生成されている。
図50は、プロキシ対象ファイルとするHEIFファイルの選択の他の例を説明する図である。
プロキシファイルは、例えば、図50に示すように、特定のメディア(例えば、ディジタルカメラ10に装着されたメディア14)に格納されたHEIFファイルを、プロキシ対象ファイルに選択して生成することができる。
図50では、メディア内のルートディレクトリに、DCIMディレクトリが存在し、DCIMディレクトリに、100MSDCFディレクトリ、101MSDCFディレクトリ、・・・、999MSDCFディレクトリが存在する。そして、100MSDCFディレクトリないし999MSDCFディレクトリ内のHEIFファイルが、プロキシ対象ファイルに選択され、プロキシファイルが生成されている。
図50において、100MSDCFディレクトリないし999MSDCFディレクトリには、全体で、1フレームの主画像及びサムネイル画像が格納されたN個のコレクションファイル(HEIFファイル)が格納され、そのN個のコレクションファイルをプロキシ対象ファイルとして、プロキシファイルが生成されている。
<第1の形態のプロキシファイルを生成するプロキシファイル生成処理、及び、プロキシファイルにサムネイル画像を追加する追加処理>
図51は、第1の形態のプロキシファイルを生成するプロキシファイル生成処理、及び、そのプロキシファイルにサムネイル画像を追加する追加処理を説明する図である。
図51は、第1の形態のプロキシファイルの構造の例を示している。
図51のAは、プロキシファイルの生成時のプロキシファイルの構造の例を示している。なお、ここでは、プロキシファイルの生成時において、プロキシファイルには、プロキシ対象ファイルに格納された1個の主画像のサムネイル画像が格納されることとする。
プロキシファイルの生成では、ファイル制御部43は、例えば、空の領域(パティング領域)を有するfreeボックスを有し、プロキシ対象ファイルに格納された1個の主画像のサムネイル画像#1がプロキシアイテムとしてmdatボックスに格納された通常のコレクションファイルを、プロキシファイルとして生成する。
freeボックスとは、任意のデータを格納することができるボックスである。freeボックス(の空の領域)の容量は、例えば、プロキシファイルに格納する(予定の)サムネイル画像の数等に応じて決定される。
図51では、freeボックスが、metaボックスとmdatボックスとの間のファイル階層に設けられている。但し、freeボックスは、その他、metaボックス内に設けることができる。
図51のBは、他の主画像のサムネイル画像が追加された後のプロキシファイルの構造の例を示している。
既に生成されているプロキシファイルには、サムネイル画像を追加することができる。既に生成されているプロキシファイルに、サムネイル画像を追加する処理を、追加処理ともいう。
既に生成されている、例えば、図51のAのようなプロキシファイルに、他の主画像のサムネイル画像#2を格納する場合、ファイル制御部43は、プロキシファイルのmdatボックスに既に格納されているサムネイル画像#1の後に追加する形で、他の主画像のサムネイル画像#2をプロキシアイテムとして格納する。
さらに、ファイル制御部43は、metaボックスを、プロキシアイテムとしてのサムネイル画像#2のメタデータを追加した状態に書き換え、書き換えによって増加したmetaボックスの容量の増加分だけ、freeボックスの容量(サイズ)を削減する。プロキシファイルへの、さらに他の主画像のサムネイル画像の追加は、同様にして行われる。
プロキシファイルの生成後に、プロキシアイテムとしてのサムネイル画像を追加する場合、その追加するサムネイル画像のメタデータを、プロキシファイルのmetaボックスに追加する必要がある。この場合、メタデータの追加のための何らの措置も施していないときには、プロキシファイルにメタデータを追加すると、mdatボックスに既に格納されているデータのオフセットがずれることがある。
mdatボックスに格納されたデータのオフセットがずれる場合、mdatボックスに格納されたデータのそれぞれについて、オフセットのずれ量を算出し、そのずれ量を反映したオフセットで、ilocボックスを書き直す必要があり、プロキシファイルにサムネイル画像を追加する追加処理の負荷が大になる。
そこで、本実施の形態では、プロキシファイルの生成時に、プロキシファイルにfreeボックスを設けておく。そして、プロキシファイルにサムネイル画像を追加する追加処理を行う場合には、freeボックスを利用して、メタデータを追加することで、mdatボックスに既に格納されているデータのオフセットのずれを防止する。
なお、追加処理において、サムネイル画像#2は、プロキシファイルのmdatボックスに既に格納されているサムネイル画像#1の後に追加する形で格納される(書き込まれる)。したがって、mdatボックスへのサムネイル画像#2の追加それ自体によっては、freeボックス(の空き領域)を消費しないし、mdatボックスに既に格納されているサムネイル画像#1のオフセットのずれも生じない。
図52は、第1の形態のプロキシファイルを生成するプロキシファイル生成処理の例を説明するフローチャートである。
ステップS211において、ファイル制御部43は、プロキシ対象ファイルに格納された主画像のサムネイル画像を、プロキシファイルにプロキシアイテムとして格納するサムネイル画像として取得し、処理は、ステップS212に進む。
例えば、プロキシ対象ファイルが、コレクションファイル、又は、サムネイル画像すべてがイントラ符号化されて格納されているシーケンスファイルである場合、ファイル制御部43は、プロキシ対象ファイルとしてのコレクションファイル、又は、シーケンスファイルから、サムネイル画像を読み出すことにより、プロキシファイルにプロキシアイテムとして格納するサムネイル画像を取得する。
また、例えば、プロキシ対象ファイルが、サムネイル画像がlong GOPでインター符号化されて格納されているシーケンスファイルである場合、ファイル制御部43は、プロキシ対象ファイルとしてのシーケンスファイルからサムネイル画像を生成することにより取得する。
具体的には、ファイル制御部43は、例えば、プロキシ対象ファイルとしてのシーケンスファイルに格納された主画像(又は主画像に対応するRAW画像)からYUVのサムネイル画像を生成してイントラ符号化することで、プロキシファイルにプロキシアイテムとして格納するサムネイル画像を取得する。又は、ファイル制御部43は、プロキシ対象ファイルとしてのシーケンスファイルに格納された、インター符号化されたYUVのサムネイル画像を復号し、イントラ符号化することで、プロキシファイルにプロキシアイテムとして格納するサムネイル画像を取得する。
ステップS212において、ファイル制御部43は、プロキシファイルに設けるfreeボックスのサイズ(大きさ)を計算し、処理は、ステップS213に進む。
例えば、ファイル制御部43は、プロキシファイルに格納するサムネイル画像の数の最大値(以下、サムネイル最大数ともいう)を決定する。そして、ファイル制御部43は、サムネイル最大数に応じて、プロキシファイルのmdatボックスに格納されたデータのオフセットをすらすことなく、サムネイル最大数だけのサムネイル画像をプロキシファイルに格納することができるように、少なくとも、サムネイル最大数だけのサムネイル画像のメタデータを格納することができるfreeボックスのサイズを計算する。
サムネイル最大数は、例えば、プロキシ対象ファイル及びプロキシファイルを記録するメディア(メディア14等)の残容量に応じて決定することができる。
また、ディジタルカメラ10において、1回のシャッタ操作に応じて、複数枚の写真(画像)を撮像する連写に対して、1枚の写真を撮像することを単写ということとすると、サムネイル最大数は、例えば、プロキシ対象ファイルとしてのHEIFファイルごとに設定可能なディジタルカメラ10の撮像モードである連写モード/単写モードの別に応じて決定することができる。
さらに、サムネイル最大数は、例えば、プロキシ対象ファイルとなる1個のHEIFファイルに格納し得る主画像の最大数を定め、その最大数に応じて決定することができる。
また、サムネイル最大数は、例えば、ファイル制御部43において、プロキシ対象ファイルに格納された主画像を評価し、評価が良い主画像の数に応じて決定することができる。主画像の評価では、例えば、主画像のS/Nや鮮鋭度等の画質に関する情報を求め、S/Nや鮮鋭度等が閾値以上の主画像を、評価が良い主画像に決定することができる。
その他、サムネイル最大数は、上述のメディアの残容量等の複数の要素に応じて決定することができる。
さらに、所定のディレクトリ又は所定のメディアに格納されたHEIFファイルを、プロキシ対象ファイルとする場合には、サムネイル最大数は、所定のディレクトリ又は所定のメディアに格納されるプロキシ対象ファイルとなる1個のHEIFファイルに格納し得る主画像の最大数を定め、その最大数に応じて決定することができる。
ステップS213では、ファイル制御部43は、ステップS212で計算されたサイズのfreeボックスを有し、プロキシ対象ファイルに格納された主画像のサムネイル画像がプロキシアイテムとしてmdatボックスに格納された通常のコレクションファイルを、プロキシファイルとして生成し、プロキシファイル生成処理を終了する。
図53は、第1の形態のプロキシファイルにサムネイル画像を追加する追加処理の例を説明するフローチャートである。
追加処理は、既にプロキシファイルが存在し、そのプロキシファイルにサムネイル画像を追加する場合に、そのプロキシファイルを追加処理対象として行われる。
ステップS221において、ファイル制御部43は、プロキシ対象ファイルに格納された主画像のサムネイル画像を、追加処理対象のプロキシファイルにプロキシアイテムとして追加するサムネイル画像(以下、追加サムネイル画像ともいう)として取得し、処理は、ステップS222に進む。ステップS221の追加サムネイル画像の取得は、図52のステップS211と同様に行うことができる。
ステップS222において、ファイル制御部43は、追加サムネイル画像を、追加処理対象のプロキシファイルのmdatボックスにプロキシアイテムとして追加し、処理は、ステップS223に進む。
ステップS223では、ファイル制御部43は、追加処理対象のプロキシファイルからmetaボックスを読み出すことにより取得し、処理は、ステップS224に進む。
ステップS224では、ファイル制御部43は、追加処理対象のプロキシファイルのfreeボックス内の残容量を取得し、その残容量が、追加サムネイル画像のメタデータの追加に足りることを確認して、処理は、ステップS225に進む。
なお、ステップS224において、freeボックスの残容量が、追加サムネイル画像のメタデータの追加に足りない場合は、例えば、その旨が液晶パネル19に表示され、追加処理は終了する。さらに、この場合、追加サムネイル画像が格納された新たなプロキシファイルを生成するプロキシファイル生成処理を行うことができる。
ステップS225では、ファイル制御部43は、追加処理対象のプロキシファイルのmdatボックスへのプロキシアイテムとしての追加サムネイル画像の追加に応じて、ステップS223で取得したmetaボックスを、追加サムネイル画像のメタデータを追加した新たなmetaボックスに生成し直す。さらに、ファイル制御部43は、その新たなmetaボックスによって、追加処理対象のプロキシファイルのmetaボックスを書き換え、処理は、ステップS225からステップS226に進む。
ステップS226では、ファイル制御部43は、書き換え前のmetaボックスに対する新たなmetaボックスのサイズ(データ量)の増加分だけサイズを減少させた新たなfreeボックスを生成する。さらに、ファイル制御部43は、新たなfreeボックスによって、追加処理対象のプロキシファイルのfreeボックスを書き換え、追加処理は終了する。
<第2又は第3の形態のプロキシファイルを生成するプロキシファイル生成処理、及び、プロキシファイルにサムネイル画像を追加する追加処理>
図54は、第2又は第3の形態のプロキシファイルを生成するプロキシファイル生成処理、及び、そのプロキシファイルにサムネイル画像を追加する追加処理を説明する図である。
図54は、第2又は第3の形態のプロキシファイルの構造の例を示している。
図54のAは、プロキシファイルの生成時のプロキシファイルの構造の例を示している。なお、ここでは、プロキシファイルの生成時において、プロキシファイルには、プロキシ対象ファイルに格納された1個の主画像のサムネイル画像が格納されることとする。
プロキシファイルの生成では、ファイル制御部43は、例えば、freeボックスを有し、プロキシ対象ファイルに格納された1個の主画像のサムネイル画像#1がプロキシアイテムとしてmdatボックスに格納された関連付け型コレクションファイルを、プロキシファイルとして生成する。
プロキシファイルとしての関連付け型コレクションファイルには、サムネイル画像#1が、そのサムネイル画像#1(の特定情報)と関連付ける形で格納される。すなわち、プロキシファイルとしての関連付け型コレクションファイルには、プロキシファイル内のサムネイル画像と、外部データとしての、そのサムネイル画像に対応する主画像の特定情報との関連付けに関係する関係情報が格納される。
関係情報としては、例えば、図10の第1の関連付け型コレクションファイルの関連付け情報格納ボックスに格納される関連付け情報がある。
さらに、関係情報としては、例えば、図11の第2の関連付け型コレクションファイルのmdatボックスに格納されるアイテムItem#201としての関連付け情報、並びに、metaボックスのiinfボックスに格納されるアイテムItem#201に対するinfeボックス、及び、metaボックスのiprpボックスのilocボックスに格納されるアイテムItem#201の格納場所へのオフセット等がある。
また、関係情報としては、例えば、図12の第3の関連付け型コレクションファイルでのmdatボックスに格納されるアイテムとしての特定情報、及び、metaボックスのirefボックスのcdscボックスに格納されるアイテムとしての主画像のアイテムIDと、アイテムとしての特定情報のアイテムIDとを対応付けた関連付け情報等がある。
さらに、関係情報としては、例えば、図14の関連付け型シーケンスファイルのmdatボックスに格納される特定情報のトラック#3、及び、moovボックスに格納される、特定情報のトラック#3を管理するtrakボックスがある。
図54では、プロキシファイルとして、第3の関連付け型コレクションファイルが生成されている。
また、図54のAにおいて、特定情報#1は、サムネイル画像#1対応する主画像の特定情報であり、関係情報の一部である。
第3の関連付け型コレクションファイルであるプロキシファイルでは、特定情報#1は、mdatボックスに格納される。サムネイル画像#1と特定情報#1との関連付けに関係する関係情報のうちの、特定情報#1以外の情報、例えば、図12で説明したmetaボックスのirefボックスのcdscボックスに格納される、サムネイル画像#1のアイテムIDと特定情報#1のアイテムIDとを対応付けた関連付け情報や、特定情報#1の格納場所のオフセット等のメタデータは、第3の関連付け型コレクションファイルであるプロキシファイルのmetaボックスに格納される。
図54のBは、他の主画像のサムネイル画像が追加された後のプロキシファイルの構造の例を示している。
既に生成されている、例えば、図54のAのようなプロキシファイルに、他の主画像のサムネイル画像#2を追加で格納する追加処理では、ファイル制御部43は、プロキシファイルのmdatボックスに既に格納されているサムネイル画像#1及び特定情報#1の後に追加する形で、他の主画像のサムネイル画像#2をプロキシアイテムとして格納する。
さらに、ファイル制御部43は、metaボックスを、プロキシアイテムとしてのサムネイル画像#2のメタデータを追加した状態に書き換える。
他の主画像のサムネイル画像#2の格納は、サムネイル画像#2に対応する主画像の特定情報#2と関連付ける形で行われる。すなわち、ファイル制御部43は、プロキシファイルのmdatボックスにサムネイル画像#2に追加する形で、特定情報#2をプロキシアイテムとして格納する。
さらに、ファイル制御部43は、metaボックスを、プロキシアイテムとしてのサムネイル画像#2のメタデータ、及び、サムネイル画像#2と特定情報#2との関連付けに関係する関係情報のうちの、特定情報#2以外の情報を追加した状態に書き換える。
ファイル制御部43は、metaボックスの、書き換えによって増加したmetaボックスの容量の増加分だけ、freeボックスの容量を削減する。プロキシファイルへの、さらに他の主画像のサムネイル画像の追加は、同様にして行われる。
なお、追加処理において、サムネイル画像#2及び特定情報#2は、mdatボックスに既に格納されているサムネイル画像#1及び特定情報#1の後に追加する形で書き込まれる。したがって、mdatボックスへのサムネイル画像#2及び特定情報#2の追加それ自体によっては、freeボックスを消費しないし、mdatボックスに既に格納されているサムネイル画像#1及び特定情報#1のオフセットのずれも生じない。
図55は、第2又は第3の形態のプロキシファイルを生成するプロキシファイル生成処理の例を説明するフローチャートである。
ステップS241において、ファイル制御部43は、図52のステップS211と同様に、プロキシ対象ファイルに格納された主画像のサムネイル画像を、プロキシファイルにプロキシアイテムとして格納するサムネイル画像として取得し、処理は、ステップS242に進む。
ステップS242において、ファイル制御部43は、ステップS241で取得したサムネイル画像に対応する主画像の特定情報を取得し、処理は、ステップS243に進む。
主画像が格納されたプロキシ対象ファイルとしてのHEIFファイルがコレクションファイルである場合、主画像の特定情報としては、例えば、uuidや、主画像を入力として計算されたhash値、主画像が格納されたプロキシ対象ファイルに割り当てられたURLと主画像のアイテムIDとのセット等を採用することができる。
主画像が格納されたプロキシ対象ファイルとしてのHEIFファイルがシーケンスファイルである場合、主画像の特定情報としては、例えば、uuidや、主画像が格納されたプロキシ対象ファイルに割り当てられたURL、主画像のフレームのトラックのトラックID、及び、主画像のフレームのトラック先頭からの順番(フレームオフセット)のセット、主画像が格納されたプロキシ対象ファイルに割り当てられたURLと主画像のフレームのタイムライン上の時刻情報とのセット等を採用することができる。
なお、特定情報が、その特定情報をプロキシ対象ファイルに書き込むことにより、プロキシ対象ファイル内のデータ(主画像)を特定することができる情報である場合、例えば、特定情報がuuidである場合、ステップS242では、主画像の特定情報の生成後に、その特定情報が、その特定情報によって特定されるべき主画像が格納されたプロキシ対象ファイルに書き込まれる。
また、プロキシ対象ファイルが、関連付け型HEIFファイルであり、その関連付け型HEIFファイルに格納された主画像と関連付けられた外部データの特定情報が、プロキシ対象ファイルとしての関連付け型HEIFファイルに格納されている場合、ステップS242では、その外部データの特定情報を、主画像の特定情報として取得することができる。この場合、主画像の特定情報は、プロキシ対象ファイルとしての関連付け型HEIFファイルに既に書き込まれているので、新たに書き込む必要はない。
ステップS243において、ファイル制御部43は、図52のステップS212と同様に、プロキシファイルに設けるfreeボックスのサイズ(大きさ)を計算し、処理は、ステップS244に進む。
なお、第2又は第3の形態のプロキシファイルを、追加処理対象のプロキシファイルとして追加処理が行われる場合、プロキシファイルのmetaボックスには、追加するサムネイル画像のメタデータだけでなく、追加するサムネイル画像とそのサムネイル画像に対応する主画像の特定情報との関連付けに関係する関係情報(のうちのmetaボックスに格納すべき情報)が格納される。
したがって、図55のステップS243では、第2又は第3の形態のプロキシファイルに格納するサムネイル画像のサムネイル最大数が、第1の形態のプロキシファイルに格納するサムネイル画像のサムネイル最大数と同一であっても、図52のステップS212よりも大きなサイズが、freeボックスのサイズとして計算される。
ステップS244では、ファイル制御部43は、ステップS243で計算されたサイズのfreeボックスを有し、プロキシ対象ファイルに格納された主画像のサムネイル画像がプロキシアイテムとしてmdatボックスに格納された関連付け型コレクションファイルを、プロキシファイルとして生成し、プロキシファイル生成処理を終了する。
ステップS244のプロキシファイルの生成では、プロキシアイテムとしてのサムネイル画像が、そのサムネイル画像に対応する主画像の特定情報、すなわち、ステップS242で取得された特定情報と関連付けて格納されたプロキシファイルとしての関連付け型コレクションファイルが生成される。例えば、プロキシアイテムとしてのサムネイル画像とともに、そのサムネイル画像と、そのサムネイル画像に対応する主画像の特定情報との関連付けに関係する関係情報が格納されたプロキシファイルが生成される。
図56は、第2又は第3の形態のプロキシファイルにサムネイル画像を追加する追加処理の例を説明するフローチャートである。
追加処理は、既にプロキシファイルが存在し、そのプロキシファイルにサムネイル画像を追加する場合に、そのプロキシファイルを追加処理対象として行われる。ここでは、追加処理対象としてのプロキシファイルは、例えば、第3の関連付け型コレクションファイル(図12)であることとする。
ステップS251において、ファイル制御部43は、プロキシ対象ファイルに格納された主画像のサムネイル画像を、追加処理対象のプロキシファイルにプロキシアイテムとして追加する追加サムネイル画像として取得し、処理は、ステップS252に進む。ステップS251の追加サムネイル画像の取得は、図55のステップS241と同様に行うことができる。
ステップS252において、ファイル制御部43は、ステップS241で取得した追加サムネイル画像に対応する主画像の特定情報の取得等の、図55のステップS242と同様の処理を行い、処理は、ステップS253に進む。
ステップS253において、ファイル制御部43は、追加サムネイル画像と、その追加サムネイル画像に対応する主画像の特定情報とを、追加処理対象のプロキシファイルのmdatボックスにプロキシアイテムとして追加し、処理は、ステップS254に進む。
ステップS254では、ファイル制御部43は、追加処理対象のプロキシファイルからmetaボックスを読み出すことにより取得し、処理は、ステップS255に進む。
ステップS255では、ファイル制御部43は、追加処理対象のプロキシファイルのfreeボックス内の残容量を取得し、その残容量が、追加サムネイル画像のメタデータの追加、及び、追加サムネイル画像とその追加サムネイル画像に対応する主画像の特定情報との関連付けに関係する関係情報(但し、ここでは、ステップS253で既にmdatボックスに追加された特定情報を除く)の追加に足りることを確認して、処理は、ステップS256に進む。
なお、ステップS255において、freeボックスの残容量が追加に足りない場合は、図53のステップS224で説明した処理と同様の処理を行うことができる。
ステップS256では、ファイル制御部43は、ステップS254で取得したmetaボックスを、新たなmetaボックスに生成し直す。
新たなmetaボックスは、ステップS254で取得したmetaボックスに、追加処理対象のプロキシファイルのmdatボックスに追加されたプロキシアイテムとしての追加サムネイル画像のメタデータ、及び、追加サムネイル画像とその追加サムネイル画像に対応する主画像の特定情報との関連付けに関係する関係情報(但し、ここでは、ステップS253で既にmdatボックスに追加された特定情報を除く)を追加することにより生成される。
ファイル制御部43は、新たなmetaボックスによって、追加処理対象のプロキシファイルのmetaボックスを書き換え、処理は、ステップS256からステップS257に進む。
ステップS257では、ファイル制御部43は、書き換え前のmetaボックスに対する新たなmetaボックスのサイズ(データ量)の増加分だけサイズを減少させた新たなfreeボックスを生成する。さらに、ファイル制御部43は、新たなfreeボックスによって、追加処理対象のプロキシファイルのfreeボックスを書き換え、追加処理は終了する。
<第2の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理>
図57は、第2の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の例を説明する図である。
図57は、第2の形態のプロキシ対象ファイルとプロキシファイルとの組の例を示している。
図57では、コレクションファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。プロキシファイルとしては、例えば、第3の関連付け型コレクションファイルが採用されている。
コレクションファイル#iでは、主画像#iと、その主画像#iのサムネイル画像#iとがmdatボックスに格納されている。
プロキシファイルでは、サムネイル画像#1及び#2、並びに、そのサムネイル画像#1及び#2に対応する主画像の特定情報#1及び#2が、サムネイル画像#iと特定情報#iとを関連付ける形で格納されている。
第2の形態のプロキシ対象ファイルとしてのコレクションファイル#iは、主画像#iの特定情報#iを有しない。そのため、第2の形態では、主画像#iの特定情報#iとして、例えば、主画像#iを入力とするhash値等の、コレクションファイル#iに、主画像#iの特定情報#iが書き込まれていなくても、その主画像#iを特定することができる情報が採用される。
いま、主画像#iの特定情報#iとして、例えば、主画像#iを入力とするhash値が採用されていることとする。
この場合、プロキシ対象ファイルとしてのコレクションファイル#1及び#2内の主画像#1及び#2それぞれを入力として生成されるhash値のうちの、プロキシファイル内のプロキシアイテムとしてのサムネイル画像#iに関連付けられた特定情報#iとしてのhash値に一致するhash値が得られる主画像#iが、プロキシファイル内のサムネイル画像#iに対応する主画像として検出される。
図58は、第2の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の例をさらに説明する図である。
図58は、第2の形態のプロキシ対象ファイルとプロキシファイルとの組の例を示している。
図58では、コレクションファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。プロキシファイルとしては、例えば、第1の関連付け型コレクションファイルが採用されている。プロキシ対象ファイルとしてのコレクションファイル#1及び#2としては、通常のコレクションファイルが採用されている。
コレクションファイル#1では、主画像A及びBと、その主画像A及びBのサムネイル画像A及びBとがmdatボックスに格納されている。コレクションファイル#2では、主画像C及びDと、その主画像C及びDのサムネイル画像C及びDとがmdatボックスに格納されている。
プロキシファイルでは、サムネイル画像AないしD、及び、主画像AないしDの特定情報としてのhash値#Aないし#Dが、サムネイル画像AないしDと、特定情報としてのhash値#Aないし#Dとをそれぞれ関連付ける形で格納されている。すなわち、プロキシファイルでは、関連付け情報格納ボックスに、サムネイル画像AないしDのアイテムIDと、特定情報としてのhash値#Aないし#Dとをそれぞれ対応付けた関連付け情報が格納されている。特定情報としてのhash値#Aないし#Dは、それぞれ、主画像AないしDを入力とするhash値である。
この場合、プロキシ対象ファイルとしてのコレクションファイル#1及び#2内の主画像AないしDそれぞれを入力として生成されるhash値のうちの、プロキシファイル内のプロキシアイテムとしての、あるサムネイル画像X(Xは、AないしDのいずれか)に関連付けられた特定情報としてのhash値に一致するhash値が得られる主画像が、プロキシファイル内のサムネイル画像Xに対応する主画像として検出される。
図59は、第2の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の例を説明するフローチャートである。
例えば、UI制御部47は、ファイル制御部43等を制御することにより、プロキシファイルに格納されたサムネイル画像を用いて一覧画面を生成して液晶パネル19に表示するインデクス表示を行わせる。
例えば、ファイル制御部43は、プロキシファイルに格納されたサムネイル画像(プロキシファイルにとっての主画像)の個々を識別するハンドルのハンドルリストを生成する。UI制御部47は、例えば、ユーザの操作等に応じて、プロキシファイルに格納されたサムネイル画像のインデクス表示を、ファイル制御部43に要求する。
ファイル制御部43は、UI制御部47からのインデクス表示の要求に応じて、ハンドルリストのハンドルにより識別されるサムネイル画像(のフレーム)を、プロキシファイルから読み出し、符号化制御部42を介して、表示制御部46に供給する。
表示制御部46は、ファイル制御部43からのサムネイル画像の一覧画面を生成し、液晶パネル19に表示させる。
その後、例えば、ユーザが、一覧画面から、所望のサムネイル画像を選択すると、ステップS271において、ファイル制御部43は、プロキシファイルから、一覧画面から選択されたサムネイル画像(以下、選択サムネイル画像ともいう)に関連付けられた特定情報を読み出すことにより取得し、処理は、ステップS272に進む。
すなわち、例えば、ファイル制御部43は、ハンドルリストにおいて選択サムネイル画像(選択関連画像)のハンドルを特定し、プロキシファイルにおいて、そのハンドルにより識別される選択サムネイル画像に関連付けられた特定情報を読み出すことにより取得する。
ステップS272において、ファイル制御部43は、主画像を検出する検索の検索対象とするHEIFファイルを選択し、処理は、ステップS273に進む。
ここで、プロキシファイル生成処理(及び追加処理)では、図49や図50等で説明したように、1個以上のコレクションファイルや、1個以上のシーケンスファイル、特定のディレクトリに格納されたHEIFファイル、特定のメディア内のHEIFファイルを、プロキシ対象ファイルに選択することができる。
ファイル制御部43は、プロキシファイルについてプロキシ対象ファイルに選択されたHEIFファイルを、検索対象に選択する。プロキシ対象ファイルを特定するために必要な情報、例えば、特定のディレクトリ又はメディアに格納されたHEIFファイルがプロキシ対象ファイルに選択された場合の、その特定のディレクトリ又はメディアを特定する情報は、例えば、プロキシファイルのmetaボックスやmdatボックスに格納しておくことができる。
ステップS273において、ファイル制御部43は、検索対象のHEIFファイルを対象に、主画像を検索し、選択サムネイル画像に関連付けられた特定情報によって特定される主画像を検出して、検出処理は終了する。
例えば、主画像の特定情報として、主画像を入力として、sha-256等で計算されるhash値が採用されている場合には、ファイル制御部43は、検索対象のHEIFファイルそれぞれについて、HEIFファイル内の主画像(それぞれ)を入力とするhash値を求める。
すなわち、例えば、検索対象のHEIFファイルが、コレクションファイルである場合には、ファイル制御部43は、検索対象のコレクションファイルそれぞれについて、コレクションファイル内の主画像のアイテムIDのリスト(主画像リスト)を求める。
さらに、ファイル制御部43は、主画像リストの各アイテムIDについて、アイテムIDによって特定されるアイテムとしての主画像(のデータ)を、検索対象のコレクションファイルのilocボックス内の情報に応じて、mdatボックスから読み出す。ファイル制御部43は、検索対象のコレクションファイルのmdatボックスから読み出した主画像を入力として、hash値を計算する。
そして、ファイル制御部43は、選択サムネイル画像に関連付けられた特定情報としてのhash値に一致するhash値が得られる主画像#iを、選択サムネイル画像に対応する主画像として検出する。
<第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理>
図60は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の例を説明する図である。
図60は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組の例を示している。
図60では、コレクションファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。
プロキシファイルとしては、例えば、第3の関連付け型コレクションファイルが採用されている。プロキシ対象ファイルとしてのコレクションファイル#1及び#2としても、第3の関連付け型コレクションファイルが採用されている。
コレクションファイル#iでは、図57の場合と同様に、主画像#iと、その主画像#iのサムネイル画像#iとがmdatボックスに格納されている。
さらに、コレクションファイル#iでは、主画像#i及び主画像#iの特定情報#iが、主画像#iと特定情報#iとを関連付ける形で格納されている。
プロキシファイルでは、図57の場合と同様に、サムネイル画像#1及び#2、並びに、主画像の特定情報#1及び#2が、サムネイル画像#iと特定情報#iとを関連付ける形で格納されている。
第3の形態のプロキシ対象ファイルとしてのコレクションファイル#iは、主画像#iの特定情報#iを有する。そのため、第3の形態では、プロキシ対象ファイルとしてのコレクションファイル#iが、主画像の特定情報を書き込むことができるファイルであれば、主画像の特定情報としては、任意の情報を採用することができる。
いま、主画像#iの特定情報#iとして、例えば、uuidが採用されていることとする。
この場合、プロキシ対象ファイルとしてのコレクションファイル#1及び#2それぞれ内の主画像#1及び#2のうちの、プロキシファイル内のプロキシアイテムとしてのサムネイル画像#iに関連付けられた特定情報#iとしてのuuidに一致するuuidに関連付けられた主画像#iが、プロキシファイル内のサムネイル画像#iに対応する主画像として検出される。
図61は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の例をさらに説明する図である。
図61は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組の例を示している。
図61では、コレクションファイル#1及び#2をプロキシ対象ファイルとして、プロキシファイルが生成されている。
プロキシファイルとしては、例えば、第1の関連付け型コレクションファイルが採用されている。プロキシ対象ファイルとしてのコレクションファイル#1及び#2としても、第1の関連付け型コレクションファイルが採用されている。
コレクションファイル#1では、主画像A及びBと、その主画像A及びBのサムネイル画像A及びBとがmdatボックスに格納されている。
また、コレクションファイル#1では、主画像A及びBのアイテムIDと、主画像A及びBの特定情報としてのUUID#A及び#Bとをそれぞれ対応付けた関連付け情報が、metaボックスの関連付け情報格納ボックスに格納されている。
コレクションファイル#2では、主画像C及びDと、その主画像C及びDのサムネイル画像C及びDとがmdatボックスに格納されている。
また、コレクションファイル#2では、主画像C及びDのアイテムIDと、主画像C及びDの特定情報としてのUUID#C及び#Dとをそれぞれ対応付けた関連付け情報が、metaボックスの関連付け情報格納ボックスに格納されている。
プロキシファイルでは、サムネイル画像AないしD、及び、主画像AないしDの特定情報としてのhash値#Aないし#Dが、サムネイル画像AないしDと、特定情報としてのhash値#Aないし#Dとをそれぞれ関連付ける形で格納されている。
すなわち、プロキシファイルでは、関連付け情報格納ボックスに、サムネイル画像AないしDのアイテムIDと、特定情報としてのUUID#AないしUUID#Dとをそれぞれ対応付けた関連付け情報が格納されている。
この場合、プロキシ対象ファイルとしてのコレクションファイル#1及び#2内の主画像AないしDのうちの、プロキシファイル内のプロキシアイテムとしてのあるサムネイル画像Xに関連付けられた特定情報、すなわち、プロキシファイルの関連付け情報格納ボックスにおいてサムネイル画像XのアイテムIDと対応付けられたuuidに一致するuuidに関連付けられた主画像が、プロキシファイル内のサムネイル画像Xに対応する主画像として検出される。
図62は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第1の例を説明する図である。
図62は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組において、第1の関連付け型コレクションファイル(図10)がプロキシ対象ファイルに採用された場合の、そのプロキシ対象ファイルの例を示している。
検出処理の第1の例では、第1の関連付け型コレクションファイルがプロキシ対象ファイルに採用されていることとする。
プロキシ対象ファイルとしての第1の関連付け型コレクションファイルでは、metaボックスに、関連付け情報格納ボックスが格納される。図62では、関連付け情報格納ボックスには、主画像数が1であること、及び、主画像のアイテムID=1と、その主画像の特定情報としてのUUID#1とが対応付けられて格納されている。
第1の関連付け型コレクションファイルがプロキシ対象ファイルに採用された場合、検出処理では、ファイル制御部43は、プロキシファイルにおいて選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidが関連付け情報格納ボックスに格納されたプロキシ対象ファイルを検出する。
そして、ファイル制御部43は、そのプロキシ対象ファイルにおいて、選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidに対応付けられたアイテムIDの主画像を、選択サムネイル画像に対応する主画像として検出する。
図63は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第1の例を説明するフローチャートである。
例えば、UI制御部47は、図59で説明したように、プロキシファイルに格納されたサムネイル画像を用いて一覧画面を生成して液晶パネル19に表示するインデクス表示を行わせる。
その後、例えば、ユーザが、一覧画面から、所望のサムネイル画像を選択すると、ステップS281において、ファイル制御部43は、図59のステップS271と同様に、プロキシファイルから、一覧画面から選択された選択サムネイル画像に関連付けられた特定情報を読み出すことにより取得し、処理は、ステップS282に進む。
ステップS282において、ファイル制御部43は、図59のステップS272と同様に、主画像を検出する検索の検索対象とするHEIFファイルを選択し、処理は、ステップS283に進む。
ステップS283において、ファイル制御部43は、検索対象のHEIFファイルから、関連付け情報格納ボックスに、選択サムネイル画像に関連付けられた特定情報と一致する特定情報(以下、一致特定情報ともいう)が格納されたHEIFファイルを、選択サムネイル画像に対応する主画像を検出する対象の検出対象ファイルとして検出する。
さらに、ファイル制御部43は、検出対象ファイル内の、一致特定情報に関連付けられた主画像(一致特定情報によって特定される主画像)にアクセスするためのアクセス情報を、検出対象ファイルの関連付け情報格納ボックスから読み出すことにより取得し、処理は、ステップS283からステップS284に進む。
検出処理の第1の例では、図62で説明したように、第1の関連付け型コレクションファイルがプロキシ対象ファイルに採用されている。したがって、検出処理の第1の例では、検出対象ファイルは、第1の関連付け型コレクションファイルである。
検出対象ファイルとしての第1の関連付け型コレクションファイルでは、図62で説明したように、関連付け情報格納ボックスに、主画像のアイテムIDと、その主画像の特定情報(uuid等)とが対応付けられて格納されている。
ファイル制御部43は、検出対象ファイルとしての第1の関連付け型コレクションファイルの関連付け情報格納ボックスにおいて、一致特定情報に対応付けられた(主画像の)アイテムIDを、アクセス情報として取得する。
ステップS284において、ファイル制御部43は、アクセス情報を用いて、検出対象ファイルから、選択サムネイル画像に関連付けられた特定情報によって特定される主画像を検出し、検出処理は終了する。
すなわち、ファイル制御部43は、検出対象ファイルから、アクセス情報としてのアイテムIDによって特定される主画像を、選択サムネイル画像に関連付けられた特定情報によって特定される主画像として読み出すことにより検出する。検出対象ファイルからの、アクセス情報としてのアイテムIDによって特定される主画像の読み出しは、図18で説明したようにして行うことができる。
図64は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第2の例を説明する図である。
図64は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組において、第2の関連付け型コレクションファイル(図11)がプロキシ対象ファイルに採用された場合の、そのプロキシ対象ファイルの例を示している。
検出処理の第2の例では、第2の関連付け型コレクションファイルがプロキシ対象ファイルに採用されていることとする。
プロキシ対象ファイルとしての第2の関連付け型コレクションファイルでは、第1の関連付け型コレクションファイルにおいて関連付け情報格納ボックスに格納される主画像数、及び、主画像のアイテムIDとその主画像の特定情報としてのuuidとが対応付けられた関連付け情報が、アイテムとして、mdatボックスに格納される。
第2の関連付け型コレクションファイルがプロキシ対象ファイルに採用された場合、検出処理では、ファイル制御部43は、プロキシファイルにおいて選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidを含む関連付け情報がmdatボックスに格納されたプロキシ対象ファイルを検出する。
そして、ファイル制御部43は、そのプロキシ対象ファイルにおいて、選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidに対応付けられたアイテムIDの主画像を、選択サムネイル画像に対応する主画像として検出する。
第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第2の例では、図63の検出処理の第1の例と同様の処理が行われる。
但し、検出処理の第2の例では、図63のステップS283において、ファイル制御部43は、検索対象のHEIFファイル(第2の関連付け型コレクションファイル(図11))について、iinfボックスのinfeボックス内のアイテムタイプがIDIFになっているInfeボックス内のアイテムIDを、アイテムとしての関連付け情報のアイテムIDとして取得する。
さらに、ファイル制御部43は、検索対象のHEIFファイルについて、ilocボックスから、アイテムとしての関連付け情報のアイテムIDを検索し、そのアイテムIDに対応付けられたオフセット及びサイズを読み出す。
そして、ファイル制御部43は、アイテムとしての関連付け情報のアイテムIDに対応付けられたオフセット及びサイズに応じて、検索対象のHEIFファイルのmdatボックスに格納されたアイテムとしての関連付け情報を読み出す。
ファイル制御部43は、以上のようにして、検索対象のHEIFファイルから読み出した関連付け情報から、選択サムネイル画像に関連付けられた特定情報と一致する特定情報(一致特定情報)を有する関連付け情報を検出する。
その後、ファイル制御部43は、一致特定情報を有する関連付け情報をアイテムとして有する検索対象のHEIFファイルを、検出対象ファイルとして検出する。そして、ファイル制御部43は、検出対象ファイルの関連付け情報において、一致特定情報と対応付けられた(主画像の)アイテムIDを、主画像にアクセスするためのアクセス情報として取得する。
図65は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第3の例を説明する図である。
図65は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組において、第3の関連付け型コレクションファイル(図12)がプロキシ対象ファイルに採用された場合の、そのプロキシ対象ファイルの例を示している。
検出処理の第3の例では、第3の関連付け型コレクションファイルがプロキシ対象ファイルに採用されていることとする。
プロキシ対象ファイルとしての第3の関連付け型コレクションファイルでは、主画像の特定情報としてのuuidが、アイテムとしてmdatボックスに格納される。
さらに、主画像のアイテムIDと、主画像の特定情報のアイテムIDとが対応付けられた関連付け情報が、metaボックス内のirefボックスのcdscボックスに格納される(図12)。
第3の関連付け型コレクションファイルがプロキシ対象ファイルに採用された場合、検出処理では、ファイル制御部43は、プロキシファイルにおいて選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidがmdatボックスに格納されたプロキシ対象ファイルを検出する。
そして、ファイル制御部43は、そのプロキシ対象ファイルにおいて、選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidに対応付けられたアイテムIDの主画像を、選択サムネイル画像に対応する主画像として検出する。
第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第3の例では、図63の検出処理の第1の例と同様の処理が行われる。
但し、検出処理の第3の例では、図63のステップS283において、ファイル制御部43は、検索対象のHEIFファイル(第3の関連付け型コレクションファイル(図12))について、iinfボックスのinfeボックス内のアイテムタイプがIDIFになっているInfeボックス内のアイテムIDを、アイテムとしての特定情報のアイテムIDとして取得する。
さらに、ファイル制御部43は、検索対象のHEIFファイルについて、ilocボックスから、アイテムとしての特定情報のアイテムIDを検索し、そのアイテムIDに対応付けられたオフセット及びサイズを読み出す。
そして、ファイル制御部43は、アイテムとしての特定情報のアイテムIDに対応付けられたオフセット及びサイズに応じて、検索対象のHEIFファイルのmdatボックスに格納されたアイテムとしての特定情報を読み出す。
ファイル制御部43は、以上のようにして、検索対象のHEIFファイルから読み出した特定情報から、選択サムネイル画像に関連付けられた特定情報と一致する特定情報(一致特定情報)を検出する。
その後、ファイル制御部43は、一致特定情報をアイテムとして有する検索対象のHEIFファイルを、検出対象ファイルとして検出する。
そして、ファイル制御部43は、検出対象ファイルのmetaボックスのirefボックスのcdscボックス(図12)内の関連付け情報において、アイテムとしての一致特定情報のアイテムIDと対応付けられた(主画像の)アイテムID、すなわち、アイテムとしての一致特定情報のアイテムIDを参照先として、その参照先に参照元として対応付けられたアイテムIDを、主画像にアクセスするためのアクセス情報として取得する。
図66は、第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第4の例を説明する図である。
図66は、第3の形態のプロキシ対象ファイルとプロキシファイルとの組において、関連付け型シーケンスファイル(図14)がプロキシ対象ファイルに採用された場合の、そのプロキシ対象ファイルの例を示している。
検出処理の第4の例では、関連付け型シーケンスファイルがプロキシ対象ファイルに採用されていることとする。
プロキシ対象ファイルとしての関連付け型シーケンスファイルでは、主画像の特定情報としてのuuidのトラックが、mdatボックスに格納される。プロキシ対象ファイルとしての関連付け型シーケンスファイルにおいて、主画像のトラック(以下、主画像トラックともいう)の主画像(のフレーム)と、特定情報のトラック(以下、特定情報トラックともいう)の、主画像の特定情報としてのuuidとは、タイムライン上の時刻情報(又はトラックに配置された順番)によって関連付けられて格納される。
関連付け型シーケンスファイルがプロキシ対象ファイルに採用された場合、検出処理では、ファイル制御部43は、プロキシファイルにおいて選択サムネイル画像に関連付けられた特定情報としてのuuidに一致するuuidがmdatボックスに格納されたプロキシ対象ファイルを検出する。
そして、ファイル制御部43は、そのプロキシ対象ファイルにおいて、選択サムネイル画像に関連付けられた特定情報としてのuuidによって特定される主画像を、選択サムネイル画像に対応する主画像として検出する。
第3の形態のプロキシファイルに格納されたサムネイル画像に対応する主画像を検出する検出処理の第4の例では、図63の検出処理の第1の例と同様の処理が行われる。
但し、検出処理の第4の例では、図63のステップS283において、ファイル制御部43は、検索対象のHEIFファイル(関連付け型シーケンスファイル(図14))について、moovボックス内のtrakボックスから、trefボックス内のtypeがcdscになっているtrakボックスを、特定情報トラックを管理するtrakボックスとして検索する。
さらに、ファイル制御部43は、特定情報トラックを管理するtrakボックスのtkhdボックスから、特定情報トラックのトラックIDを読み出し、そのトラックIDのトラック、すなわち、特定情報トラックの特定情報を読み出す。ファイル制御部43は、以上のようにして、検索対象のHEIFファイルから読み出した特定情報から、選択サムネイル画像に関連付けられた特定情報と一致する特定情報(一致特定情報)を検出する。
その後、ファイル制御部43は、一致特定情報を含む特定情報トラックを有する検索対象のHEIFファイルを、検出対象ファイルとして検出する。
そして、ファイル制御部43は、検出対象ファイルの、一致特定情報を含む特定情報トラックを管理するtrakボックスのtrefボックス(図14)内のトラックID(主画像トラックのトラックID)と、一致特定情報のタイムライン上の時刻情報(又は特定情報トラックに配置された順番)とを、主画像にアクセスするためのアクセス情報として取得する。
<プロキシ対象ファイルの生成時にプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理、及び、追加処理>
図67は、プロキシ対象ファイルの生成時に第1の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理、及び、追加処理を説明する図である。
図67は、第1の形態のプロキシファイルの構造の例を示している。
図67のAは、プロキシファイル生成処理により生成されるプロキシファイルの構造の例を示している。
プロキシ対象ファイルの生成時に第1の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理では、ファイル制御部43は、プロキシ対象ファイルの生成時に、そのプロキシ対象ファイルに格納されるサムネイル画像(以下、本サムネイル画像ともいう)の生成に用いられる元画像を用いて、第1の形態のプロキシファイルに格納するサムネイル画像(以下、プロキシサムネイル画像ともいう)を生成する。
プロキシサムネイル画像としては、本サムネイル画像と同一の画像(コピー)を採用することもできるし、本サムネイル画像と画質やデータ量等が異なる画像(画質やデータ量が低い画像)を採用することもできる。
例えば、本サムネイル画像のYUVの信号フォーマットが4:2:2である場合に、プロキシサムネイル画像の信号フォーマットとして、4:2:0を採用することができる。また、例えば、本サムネイル画像の階調が10ビットである場合に、プロキシサムネイル画像の信号フォーマットとして、8ビットを採用することができる。さらに、例えば、プロキシサムネイル画像としては、本サムネイル画像よりもサイズ(画素数)が少ない画像を採用することができる。
また、例えば、プロキシサムネイル画像には、本サムネイル画像と圧縮率が異なる符号化、例えば、本サムネイル画像の圧縮率よりも高い圧縮率の符号化を採用することができる。
さらに、例えば、プロキシサムネイル画像には、本サムネイル画像とは異なる種類のコーデックを採用することができる。例えば、本サムネイル画像には、HEVCを採用し、プロキシサムネイル画像には、JPEGを採用することができる。
ファイル制御部43は、例えば、freeボックスを有し、プロキシ対象ファイルに格納された主画像のサムネイル画像としてのプロキシサムネイル画像がプロキシアイテムとしてmdatボックスに格納された通常のコレクションファイルを、第1の形態のプロキシファイルとして生成する。
図67のAでは、プロキシファイル生成処理により、2個のプロキシサムネイル画像A及びBが(主画像として)格納されたプロキシファイルが生成されている。
また、freeボックスは、metaボックスに設けられている。プロキシファイル生成処理により生成されるプロキシファイルのmetaボックスには、プロキシサムネイル画像A及びBのメタデータが格納される。
図67のBは、追加処理により他の主画像のプロキシサムネイル画像が追加された後のプロキシファイルの構造の例を示している。
プロキシ対象ファイルの生成時に第1の形態のプロキシファイルに格納するプロキシサムネイル画像を生成する場合の追加処理では、例えば、プロキシファイルの生成後に生成されるHEIFファイルを、新たなプロキシ対象ファイルとして、その新たなプロキシ対象ファイルに格納される主画像のプロキシサムネイル画像が、既に生成されているプロキシファイル(以下、既存プロキシファイルともいう)に追加される。
すなわち、ファイル制御部43は、新たなプロキシ対象ファイルの生成時に、その新たなプロキシ対象ファイルに格納される本サムネイル画像の生成に用いられる元画像を用いて、第1の形態のプロキシファイルに追加するプロキシサムネイル画像を生成する。
図67のBでは、追加処理により、2個のプロキシサムネイル画像C及びDが(主画像として)、図67のAの既存プロキシファイルのmdatボックスの既に格納されているプロキシサムネイル画像A及びBの後に追加されている。
ファイル制御部43は、プロキシサムネイル画像C及びDの追加にあたり、metaボックスを、プロキシサムネイル画像C及びDのメタデータを追加した状態に書き換え、書き換えによって増加したmetaボックスの容量の増加分だけ、freeボックスの容量を削減する。既存プロキシファイルへの、さらに新たなプロキシ対象ファイルに格納された主画像のプロキシサムネイル画像の追加は、同様にして行われる。
図68は、プロキシ対象ファイルの生成時に第1の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理の例を説明するフローチャートである。
ファイル制御部43は、HEIFファイルを生成した場合、そのHEIFファイルを、プロキシ対象ファイルとするプロキシファイル生成処理を実行するプロキシファイル生成処理実行条件が満たされるときには、以下のプロキシファイル生成処理を実行する。
プロキシファイル生成処理実行条件としては、例えば、プロキシファイルが、プロキシ対象ファイルを格納するディレクトリ又はメディアに存在しないことを採用することができる。また、プロキシファイル生成処理実行条件としては、例えば、プロキシファイルが、プロキシ対象ファイルを格納するディレクトリ又はメディアに存在する場合に、プロキシファイルに格納されているサムネイル画像の数が上限に達していることを採用することができる。
ステップS311において、ファイル制御部43は、例えば、プロキシ対象ファイルに格納された本サムネイル画像の生成に用いられた元画像を用いて、第1の形態のプロキシファイルに格納するプロキシサムネイル画像を生成し、処理は、ステップS312に進む。
なお、ステップS311では、元画像からプロキシサムネイル画像を生成することに代えて、元画像から生成された本サムネイル画像を、そのまま、プロキシサムネイル画像として取得(コピー)することができる。
ステップS312において、ファイル制御部43は、図52のステップS212と同様に、プロキシファイルに設けるfreeボックスのサイズ(大きさ)を計算し、処理は、ステップS313に進む。
ステップS313では、ファイル制御部43は、ステップS312で計算されたサイズのfreeボックスを有し、ステップS311で生成されたプロキシサムネイル画像、すなわち、例えば、プロキシ対象ファイルに格納された主画像のサムネイル画像がプロキシアイテムとしてmdatボックスに格納された通常のコレクションファイルを、プロキシファイルとして生成し、プロキシファイル生成処理を終了する。
図69は、プロキシ対象ファイルの生成時に第1の形態のプロキシファイルに格納するサムネイル画像を生成する場合の追加処理の例を説明するフローチャートである。
ファイル制御部43は、HEIFファイルを生成した場合、そのHEIFファイルを、プロキシ対象ファイルとする追加処理を実行する追加処理実行条件が満たされるときには、以下の追加処理を実行する。
追加処理実行条件としては、例えば、プロキシファイルが、プロキシ対象ファイルを格納するディレクトリ又はメディアに既に存在し、そのプロキシファイルに格納されているサムネイル画像の数が上限に達していないことを採用することができる。
追加処理は、既に存在するプロキシファイル(既存プロキシファイル)を追加処理対象として行われる。
ステップS321において、ファイル制御部43は、図68のステップS311と同様に、プロキシサムネイル画像を、追加サムネイル画像として生成し、処理は、ステップS322に進む。
ステップS322ないしS326では、図53のステップS222ないしS226とそれぞれ同様の処理が行われ、追加処理は終了する。
図70は、プロキシ対象ファイルの生成時に第3の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理、及び、追加処理を説明する図である。
なお、プロキシ対象ファイルの生成時に第2の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理、及び、追加処理については、プロキシ対象ファイルに、特定情報が書き込まれない点、及び、特定情報として、プロキシ対象ファイルに書き込む必要がない情報が採用される点を除き、第3の形態のプロキシファイルの場合と同様であるため、説明を省略する。
図70は、第3の形態のプロキシファイルの構造の例を示している。
図70のAは、プロキシファイル生成処理により生成されるプロキシファイルの構造の例を示している。
プロキシ対象ファイルの生成時に第3の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理では、ファイル制御部43は、第1の形態のプロキシファイルを生成するプロキシファイル生成処理(図67)と同様に、プロキシ対象ファイルの生成時に、そのプロキシ対象ファイルに格納される本サムネイル画像の生成に用いられる元画像を用いて、第3の形態のプロキシファイルに格納するプロキシサムネイル画像を生成する。
ファイル制御部43は、例えば、freeボックスを有し、プロキシ対象ファイルに格納された主画像のサムネイル画像としてのプロキシサムネイル画像がプロキシアイテムとしてmdatボックスに格納された関連付け型コレクションファイルを、第3の形態のプロキシファイルとして生成する。
図70のAでは、プロキシファイル生成処理により、2個のプロキシサムネイル画像A及びBが(主画像として)格納されたプロキシファイルが生成されている。また、freeボックスは、metaボックスに設けられている。プロキシファイル生成処理により生成されるプロキシファイルのmetaボックスには、プロキシサムネイル画像A及びBのメタデータが格納される。
さらに、図70では、プロキシファイルとして、第1の関連付け型コレクションファイルが採用されており、プロキシファイルは、metaボックス内に、関連付け情報格納ボックスを有する。関連付け情報格納ボックスには、プロキシサムネイル画像AのアイテムID=1と、プロキシサムネイル画像Aに対応する主画像の特定情報としてのUUID#Aとを対応付けた関連付け情報、及び、プロキシサムネイル画像BのアイテムID=2と、プロキシサムネイル画像Bに対応する主画像の特定情報としてのUUID#Bとを対応付けた関連付け情報が格納されている。
図70のBは、追加処理により他の主画像のプロキシサムネイル画像が追加された後のプロキシファイルの構造の例を示している。
プロキシ対象ファイルの生成時に第3の形態のプロキシファイルに格納するプロキシサムネイル画像を生成する場合の追加処理では、例えば、プロキシファイルの生成後に生成されるHEIFファイルを、新たなプロキシ対象ファイルとして、その新たなプロキシ対象ファイルに格納される主画像のプロキシサムネイル画像が、既に生成されている既存プロキシファイルに追加される。
すなわち、ファイル制御部43は、新たなプロキシ対象ファイルの生成時に、その新たなプロキシ対象ファイルに格納される本サムネイル画像の生成に用いられる元画像を用いて、第3の形態のプロキシファイルに追加するプロキシサムネイル画像を生成する。
図70のBでは、追加処理により、2個のプロキシサムネイル画像C及びDが(主画像として)、図70のAの既存プロキシファイルのmdatボックスの既に格納されているプロキシサムネイル画像A及びBの後に追加されている。
ファイル制御部43は、プロキシサムネイル画像C及びDの追加にあたり、metaボックスを、プロキシサムネイル画像C及びDのメタデータを追加した状態に書き換える。
さらに、ファイル制御部43は、metaボックス(の関連付け情報格納ボックス)を、プロキシサムネイル画像CのアイテムID=3と、プロキシサムネイル画像Cに対応する主画像の特定情報としてのUUID#Cとを対応付けた関連付け情報、及び、プロキシサムネイル画像DのアイテムID=4と、プロキシサムネイル画像Dに対応する主画像の特定情報としてのUUID#Dとを対応付けた関連付け情報を追加した状態に書き換える。
そして、ファイル制御部43は、metaボックスの書き換えによって増加したmetaボックスの容量の増加分だけ、freeボックスの容量を削減する。既存プロキシファイルへの、さらに新たなプロキシ対象ファイルに格納された主画像のプロキシサムネイル画像の追加は、同様にして行われる。
図71は、プロキシ対象ファイルの生成時に第3の形態のプロキシファイルに格納するサムネイル画像を生成する場合のプロキシファイル生成処理の例を説明するフローチャートである。
ファイル制御部43は、HEIFファイルを生成した場合、そのHEIFファイルを、プロキシ対象ファイルとし、図68で説明したプロキシファイル生成処理実行条件が満たされるときには、以下のプロキシファイル生成処理を実行する。
ステップS341において、ファイル制御部43は、図68のステップS311と同様に、プロキシサムネイル画像を生成し、処理は、ステップS342に進む。
ステップS342において、ファイル制御部43は、ステップS341で生成されたプロキシサムネイル画像に対応する主画像の特定情報としての、例えば、uuidを生成することにより取得し、処理は、ステップS343に進む。
ステップS343において、ファイル制御部43は、図55のステップS243と同様に、プロキシファイルに設けるfreeボックスのサイズ(大きさ)を計算し、処理は、ステップS344に進む。
ステップS344では、ファイル制御部43は、ステップS343で計算されたサイズのfreeボックスを有し、ステップS341で生成されたプロキシサムネイル画像、すなわち、プロキシ対象ファイルに格納された主画像のサムネイル画像がプロキシアイテムとしてmdatボックスに格納された、例えば、第1の関連付け型コレクションファイルを、プロキシファイルとして生成し、プロキシファイル生成処理を終了する。
ステップS344のプロキシファイルの生成では、プロキシサムネイル画像が、そのプロキシサムネイル画像に対応する主画像の特定情報、例えば、ステップS342で取得されたuuidと関連付けて格納された第1の関連付け型コレクションファイルが生成される。
すなわち、プロキシサムネイル画像がmdatボックスに格納されるとともに、そのプロキシサムネイル画像のアイテムIDと、そのプロキシサムネイル画像に対応する主画像のuuidとを対応付けた関連付け情報が関連付け情報格納ボックスに格納された第1の関連付け型コレクションファイルが、プロキシファイルとして生成される。
図72は、プロキシ対象ファイルの生成時に第3の形態のプロキシファイルに格納するサムネイル画像を生成する場合の追加処理の例を説明するフローチャートである。
ファイル制御部43は、HEIFファイルを生成した場合、そのHEIFファイルを、プロキシ対象ファイルとし、図69で説明した追加処理実行条件が満たされるときには、以下の追加処理を実行する。
追加処理は、既に存在するプロキシファイル(既存プロキシファイル)を追加処理対象として行われる。ここでは、既存プロキシファイルは、例えば、図70及び図71の場合と同様に、第1の関連付け型コレクションファイルであることとする。
ステップS351において、ファイル制御部43は、図69のステップS321と同様に、プロキシサムネイル画像を、追加サムネイル画像として生成し、処理は、ステップS352に進む。
ステップS352において、ファイル制御部43は、ステップS351で生成された追加サムネイル画像に対応する主画像の特定情報としての、例えば、uuidを取得し、処理は、ステップS353に進む。
ステップS353において、ファイル制御部43は、追加サムネイル画像を、追加処理対象のプロキシファイルのmdatボックスにプロキシアイテムとして追加し、処理は、ステップS354に進む。
ステップS354では、ファイル制御部43は、追加処理対象のプロキシファイルからmetaボックスを読み出すことにより取得し、処理は、ステップS355に進む。
ステップS355では、ファイル制御部43は、追加処理対象のプロキシファイルのfreeボックス内の残容量を取得し、その残容量が、追加サムネイル画像のメタデータの追加、及び、追加サムネイル画像のアイテムIDと、その追加サムネイル画像に対応する主画像の特定情報としてのuuidとを対応付けた関連付け情報の追加に足りることを確認して、処理は、ステップS356に進む。
なお、ステップS355において、freeボックスの残容量が追加に足りない場合は、図53のステップS224で説明した処理と同様の処理を行うことができる。
ステップS356では、ファイル制御部43は、ステップS354で取得したmetaボックスを、新たなmetaボックスに生成し直す。
新たなmetaボックスは、ステップS354で取得したmetaボックスに、追加処理対象のプロキシファイルのmdatボックスに追加されたプロキシアイテムとしての追加サムネイル画像のメタデータを追加するとともに、metaボックスの関連付け情報格納ボックスに、追加サムネイル画像のアイテムIDと、その追加サムネイル画像に対応する主画像の特定情報としてのuuidとを対応付けた関連付け情報を追加することにより生成される。
ファイル制御部43は、新たなmetaボックスによって、追加処理対象のプロキシファイルのmetaボックスを書き換え、処理は、ステップS356からステップS357に進む。
ステップS357では、ファイル制御部43は、書き換え前のmetaボックスに対する新たなmetaボックスのサイズの増加分だけサイズを減少させた新たなfreeボックスを生成する。さらに、ファイル制御部43は、新たなfreeボックスによって、追加処理対象のプロキシファイルのfreeボックスを書き換え、追加処理は終了する。
<既に存在するHEIFファイルをプロキシ対象ファイルとするプロキシファイル生成処理、及び、追加処理>
図73は、既に存在するHEIFファイルをプロキシ対象ファイルとするプロキシファイル生成処理の例を説明するフローチャートである。
ファイル制御部43は、例えば、ユーザやアプリケーションからプロキシファイルの生成の要求があり、図68で説明したプロキシファイル生成処理実行条件が満たされる場合、以下のプロキシファイル生成処理を実行する。ここでは、プロキシファイル生成処理において、例えば、第1の関連付け型コレクションファイルの第2又は第3の形態のプロキシファイルが生成されることとする。
ステップS371において、ファイル制御部43は、例えば、所定のディレクトリ又はメディアに既に存在するHEIFファイル(の全部又は一部)を、プロキシ対象ファイルとして選択する。さらに、ファイル制御部43は、プロキシ対象ファイル内の主画像のサムネイル画像を、プロキシサムネイル画像として取得し、処理は、ステップS371からステップS372に進む。
ファイル制御部43は、例えば、プロキシ対象ファイルに格納された主画像の本サムネイル画像のコピーを、プロキシサムネイル画像として取得する。また、ファイル制御部43は、例えば、プロキシ対象ファイルに格納された主画像、又は、本サムネイル画像を間引くことや、主画像又は本サムネイル画像の信号フォーマットの変換や再符号化を行うこと等によって、プロキシサムネイル画像を生成する。
ステップS372において、ファイル制御部43は、ステップS371で生成されたプロキシサムネイル画像に対応する主画像の特定情報としての、例えば、uuidを生成することにより取得し、処理は、ステップS373に進む。
ステップS373において、ファイル制御部43は、図55のステップS243と同様に、プロキシファイルに設けるfreeボックスのサイズ(大きさ)を計算し、処理は、ステップS374に進む。
ステップS374では、ファイル制御部43は、ステップS373で計算されたサイズのfreeボックスを有し、ステップS371で生成されたプロキシサムネイル画像がプロキシアイテムとしてmdatボックスに格納された、例えば、第1の関連付け型コレクションファイルを、プロキシファイルとして生成し、プロキシファイル生成処理を終了する。
ステップS374のプロキシファイルの生成では、プロキシサムネイル画像が、そのプロキシサムネイル画像に対応する主画像の特定情報としてのステップS372で取得されたuuidと関連付けて格納された第1の関連付け型コレクションファイルが生成される。
すなわち、プロキシサムネイル画像がmdatボックスに格納されるとともに、そのプロキシサムネイル画像のアイテムIDと、そのプロキシサムネイル画像に対応する主画像のuuidとを対応付けた関連付け情報が関連付け情報格納ボックスに格納された第1の関連付け型コレクションファイルが、プロキシファイルとして生成される。
図74は、既に存在するHEIFファイルをプロキシ対象ファイルとする追加処理の例を説明するフローチャートである。
ファイル制御部43は、例えば、ユーザやアプリケーションからプロキシファイルの生成の要求があり、図69で説明した追加処理実行条件が満たされる場合、以下の追加処理を実行する。追加処理は、既に存在するプロキシファイル(既存プロキシファイル)を追加処理対象として行われる。ここでは、既存プロキシファイルは、第1の関連付け型コレクションファイルの第2又は第3の形態のプロキシファイルであることとする。
ステップS381において、ファイル制御部43は、例えば、所定のディレクトリ又はメディアに既に存在するHEIFファイル(の全部又は一部)を、プロキシ対象ファイルとして、プロキシ対象ファイルに格納された主画像のプロキシサムネイル画像を、追加サムネイル画像として取得し、処理は、ステップS382に進む。
ファイル制御部43は、例えば、プロキシ対象ファイルに格納された主画像の本サムネイル画像のコピーを、追加サムネイル画像として取得する。また、ファイル制御部43は、例えば、プロキシ対象ファイルに格納された主画像、又は、本サムネイル画像を間引くことや、主画像又は本サムネイル画像の信号フォーマットの変換や再符号化を行うこと等によって、追加サムネイル画像を生成する。
ステップS382において、ファイル制御部43は、ステップS381で生成された追加サムネイル画像に対応する主画像の特定情報としての、例えば、uuidを取得し、処理は、ステップS383に進む。
ステップS383において、ファイル制御部43は、追加サムネイル画像を、追加処理対象の既存プロキシファイルのmdatボックスにプロキシアイテムとして追加し、処理は、ステップS384に進む。
ステップS384では、ファイル制御部43は、追加処理対象のプロキシファイルからmetaボックスを読み出すことにより取得し、処理は、ステップS385に進む。
ステップS385では、ファイル制御部43は、追加処理対象のプロキシファイルのfreeボックス内の残容量を取得し、その残容量が、追加サムネイル画像のメタデータの追加、及び、追加サムネイル画像のアイテムIDと、その追加サムネイル画像に対応する主画像の特定情報としてのuuidとを対応付けた関連付け情報の追加に足りることを確認して、処理は、ステップS386に進む。
なお、ステップS385において、freeボックスの残容量が追加に足りない場合は、図53のステップS224で説明した処理と同様の処理を行うことができる。
ステップS386では、ファイル制御部43は、ステップS384で取得したmetaボックスを、新たなmetaボックスに生成し直す。新たなmetaボックスは、ステップS384で取得したmetaボックスに、追加処理対象の既存プロキシファイルのmdatボックスに追加されたプロキシアイテムとしての追加サムネイル画像のメタデータを追加するとともに、metaボックスの関連付け情報格納ボックスに、追加サムネイル画像のアイテムIDと、その追加サムネイル画像に対応する主画像の特定情報としてのuuidとを対応付けた関連付け情報を追加することにより生成される。
ファイル制御部43は、新たなmetaボックスによって、追加処理対象のプロキシファイルのmetaボックスを書き換え、処理は、ステップS386からステップS387に進む。
ステップS387では、ファイル制御部43は、書き換え前のmetaボックスに対する新たなmetaボックスのサイズの増加分だけサイズを減少させた新たなfreeボックスを生成する。さらに、ファイル制御部43は、新たなfreeボックスによって、追加処理対象のプロキシファイルのfreeボックスを書き換え、追加処理は終了する。
<本技術を適用したコンピュータの説明>
次に、上述したファイル制御部43その他の信号処理部13(図1)を構成する各ブロックの一連の処理は、ハードウエアにより行うこともできるし、ソフトウエアにより行うこともできる。一連の処理をソフトウエアによって行う場合には、そのソフトウエアを構成するプログラムが、コンピュータ等にインストールされる。
図75は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク905やROM903に予め記録しておくことができる。
あるいはまた、プログラムは、ドライブ909によって駆動されるリムーバブル記録媒体911に格納(記録)しておくことができる。このようなリムーバブル記録媒体911は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体911としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体911からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク905にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)902を内蔵しており、CPU902には、バス901を介して、入出力インタフェース910が接続されている。
CPU902は、入出力インタフェース910を介して、ユーザによって、入力部907が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)903に格納されているプログラムを実行する。あるいは、CPU902は、ハードディスク905に格納されたプログラムを、RAM(Random Access Memory)904にロードして実行する。
これにより、CPU902は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU902は、その処理結果を、必要に応じて、例えば、入出力インタフェース910を介して、出力部906から出力、あるいは、通信部908から送信、さらには、ハードディスク905に記録等させる。
なお、入力部907は、キーボードや、マウス、マイク等で構成される。また、出力部906は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルを生成するファイル制御部を備える
ファイル処理装置。
<2>
前記ファイル制御部は、前記関連画像がアイテムとして格納された、イメージアイテム形式のHEIFファイルであるコレクションファイルを、前記プロキシファイルとして生成する
<1>に記載のファイル処理装置。
<3>
前記ファイル制御部は、前記関連画像と前記関連画像に対応する前記画像を特定する特定情報とを関連付ける関連付け情報が格納された前記プロキシファイルを生成する
<2>に記載のファイル処理装置。
<4>
前記ファイル制御部は、前記関連画像を特定するアイテムIDと前記特定情報とを対応付けた前記関連付け情報が格納された前記プロキシファイルを生成する
<3>に記載のファイル処理装置。
<5>
前記ファイル制御部は、前記関連付け情報がmetaボックス、又は、mdatボックスに格納された前記プロキシファイルを生成する
<4>に記載のファイル処理装置。
<6>
前記ファイル制御部は、
前記特定情報が、アイテムとして前記プロキシファイルのmdatボックスに格納され、
前記関連画像を特定するアイテムIDと、前記mdatボックスに格納された前記特定情報を特定するアイテムIDとを対応付けた前記関連付け情報がmetaボックスに格納された
前記プロキシファイルを生成する
<3>に記載のファイル処理装置。
<7>
前記関連画像は、前記画像と画質又はデータ量が異なる画像である
<1>ないし<6>のいずれかに記載のファイル処理装置。
<8>
前記関連画像は、前記画像と画素数若しくはサイズが異なる同一内容の画像、前記画像と信号フォーマットが異なる同一内容の画像、又は、前記画像と階調が異なる同一内容の画像である
<1>ないし<6>のいずれかに記載のファイル処理装置。
<9>
前記HEIFファイルには、前記画像と、前記画像のサムネイル画像とが格納され、
前記関連画像は、前記HEIFファイルに格納された前記サムネイル画像、前記サムネイル画像の圧縮率とは異なる圧縮率の符号化が採用された画像、又は、前記サムネイル画像とは異なるコーデックが採用された画像である
<1>ないし<6>のいずれかに記載のファイル処理装置。
<10>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルを生成する
ことを含むファイル処理方法。
<11>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルを生成するファイル制御部
として、コンピュータを機能させるためのプログラム。
<12>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルに格納された前記関連画像から選択された選択関連画像に対応する前記画像を検出するファイル制御部を備える
ファイル処理装置。
<13>
前記プロキシファイルは、前記関連画像がアイテムとして格納された、イメージアイテム形式のHEIFファイルである
<12>に記載のファイル処理装置。
<14>
前記プロキシファイルには、前記関連画像と前記関連画像に対応する前記画像を特定する特定情報とを関連付ける関連付け情報が格納され、
前記ファイル制御部は、前記選択関連画像に関連付けられた前記特定情報によって特定される前記画像を、前記選択関連画像に対応する前記画像として検出する
<13>に記載のファイル処理装置。
<15>
前記プロキシファイルには、前記関連画像を特定するアイテムIDと前記特定情報とを対応付けた前記関連付け情報が格納され、
前記ファイル制御部は、前記選択関連画像のアイテムIDに対応付けられた前記特定情報によって特定される前記画像を、前記選択関連画像に対応する前記画像として検出する
<14>に記載のファイル処理装置。
<16>
前記関連画像は、前記画像と画質又はデータ量が異なる画像である
<12>ないし<15>のいずれかに記載のファイル処理装置。
<17>
前記関連画像は、前記画像と画素数若しくはサイズが異なる同一内容の画像、前記画像と信号フォーマットが異なる同一内容の画像、又は、前記画像と階調が異なる同一内容の画像である
<12>ないし<15>のいずれかに記載のファイル処理装置。
<18>
前記HEIFファイルには、前記画像と、前記画像のサムネイル画像とが格納され、
前記関連画像は、前記HEIFファイルに格納された前記サムネイル画像、前記サムネイル画像の圧縮率とは異なる圧縮率の符号化が採用された画像、又は、前記サムネイル画像とは異なるコーデックが採用された画像である
<12>ないし<15>のいずれかに記載のファイル処理装置。
<19>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルに格納された前記関連画像から選択された選択関連画像に対応する前記画像を検出する
ことを含むファイル処理方法。
<20>
HEIF(High Efficiency Image File Format)ファイル内の画像に関連する関連画像が格納された他のHEIFファイルであるプロキシファイルに格納された前記関連画像から選択された選択関連画像に対応する前記画像を検出するファイル制御部
として、コンピュータを機能させるためのプログラム。