(57)【要約】【課題】動画ファイルから良好な静止画ファイルを生成し得る画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】動画ファイルに含まれる複数のフレームのうちの一のフレームをデコードするために必要な他のフレームを特定する特定手段と、他のフレームが特定手段によって特定された場合に、一のフレームと他のフレームとを静止画ファイルに格納するとともに、一のフレームを表示対象とすることを示す情報を静止画ファイルに格納する処理手段とを有している。【選択図】図４
2019154014.tif 000002
【特許請求の範囲】
【請求項１】
動画ファイルに含まれる複数のフレームのうちの一のフレームをデコードするために必要な他のフレームを特定する特定手段と、
前記他のフレームが前記特定手段によって特定された場合に、前記一のフレームと前記他のフレームとを静止画ファイルに格納するとともに、前記一のフレームを表示対象とすることを示す情報を前記静止画ファイルに格納する処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記一のフレームが単独でデコード可能であるか否かを判定する判定手段を更に有し、
前記特定手段は、前記一のフレームが単独でデコード不能である場合に前記他のフレームを特定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記一のフレームが単独でデコード可能であるか否かを判定する判定手段を更に有し、
前記一のフレームが単独でデコード可能である場合、前記特定手段は、前記他のフレームを特定せず、前記処理手段は、前記一のフレームを前記静止画ファイルに格納することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記動画ファイルに含まれる前記複数のフレームの全てがそれぞれ単独でデコード可能であるか否かを判定する判定手段を更に有し、
前記動画ファイルに含まれる前記複数のフレームの全てがそれぞれ単独でデコード可能である場合、前記特定手段は、前記他のフレームを特定せず、前記処理手段は、前記一のフレームを前記静止画ファイルに格納することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記一のフレームをデコードするデコード手段と、
前記デコード手段によってデコードされた前記一のフレームを単独でデコード可能な形式でエンコードするエンコード手段とを更に有し、
前記処理手段は、前記エンコード手段によってエンコードすることにより得られるフレームを前記静止画ファイルに更に格納することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
単独でデコード可能な形式に前記一のフレームをエンコード可能なエンコーダを有していない場合、前記処理手段は、前記一のフレームの直近のフレームであるとともに単独でデコード可能なフレームを前記静止画ファイルに更に格納することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項７】
一のフレームと、前記一のフレームをデコードするために必要な他のフレームと、前記一のフレームを表示対象とすることを示す情報とが格納された静止画ファイルから読み出される前記一のフレームと前記他のフレームとを用いて前記一のフレームをデコードするデコード手段と、
前記デコード手段によってデコードされた前記一のフレームが表示されるように処理を行う処理手段と
を有することを特徴とする画像処理装置。
【請求項８】
動画ファイルに含まれる複数のフレームのうちの一のフレームをデコードするために必要な他のフレームを特定するステップと、
前記他のフレームが特定された場合に、前記一のフレームと前記他のフレームとを静止画ファイルに格納するとともに、前記一のフレームを表示対象とすることを示す情報を前記静止画ファイルに格納するステップと
を有することを特徴とする画像処理方法。
【請求項９】
一のフレームと、前記一のフレームをデコードするために必要な他のフレームと、前記一のフレームを表示対象とすることを示す情報とが格納された静止画ファイルから読み出される前記一のフレームと前記他のフレームとを用いて前記一のフレームをデコードするステップと、
デコードされた前記一のフレームが表示されるように処理を行うステップと
を有することを特徴とする画像処理方法。
【請求項１０】
コンピュータに、
動画ファイルに含まれる複数のフレームのうちの一のフレームをデコードするために必要な他のフレームを特定するステップと、
前記他のフレームが特定された場合に、前記一のフレームと前記他のフレームとを静止画ファイルに格納するとともに、前記一のフレームを表示対象とすることを示す情報を前記静止画ファイルに格納するステップとを実行させるためのプログラム。
【請求項１１】
コンピュータに、
一のフレームと、前記一のフレームをデコードするために必要な他のフレームと、前記一のフレームを表示対象とすることを示す情報とが格納された静止画ファイルから読み出される前記一のフレームと前記他のフレームとを用いて前記一のフレームをデコードするステップと、
デコードされた前記一のフレームが表示されるように処理を行うステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
動画ファイルの規格として、Ｈ．２６４／ＡＶＣ形式、Ｈ．２６５／ＨＥＶＣ形式等が提案されている。また、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ（以下、ＨＥＩＦと称す）と称される静止画ファイルのフォーマットが提案されている（非特許文献１参照）。ＨＥＩＦは、ＪＰＥＧのような従来の静止画ファイルのフォーマットと比較して、以下のような特徴を有している。ＨＥＩＦのファイル形式は、ＩＳＯベースメディアファイルフォーマット（以下、ＩＳＯＢＭＦＦと称す）に準拠している（非特許文献２参照）。また、ＨＥＩＦのファイル、即ち、ＨＥＩＦファイルには、単一の静止画のみならず、複数の静止画を格納することも可能である。また、ＨＥＩＦファイルには、動画、音声等のメディア形式のデータを格納することもできる。また、ＨＥＩＦファイルには、ＨＥＶＣやＨ．２６４／ＡＶＣ等の動画用の圧縮形式で圧縮された静止画を格納することも可能である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ISO/IEC FDIS 23008-12, ”Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 12：Image File Format”
【非特許文献２】ISO/IEC 14496-12, ”Information technology -- Coding of audio-visual objects -- Part 12：ISO base media file format”
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動画ファイルを構成するフレームにはフレーム間圧縮等が施されているため、動画ファイルを構成するフレームを用いて良好な静止画ファイルを生成することは必ずしも容易ではない。
【０００５】
本発明の目的は、動画ファイルから良好な静止画ファイルを生成し得る画像処理装置、画像処理方法及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
実施形態の一観点によれば、動画ファイルに含まれる複数のフレームのうちの一のフレームをデコードするために必要な他のフレームを特定する特定手段と、前記他のフレームが前記特定手段によって特定された場合に、前記一のフレームと前記他のフレームとを静止画ファイルに格納するとともに、前記一のフレームを表示対象とすることを示す情報を前記静止画ファイルに格納する処理手段とを有することを特徴とする画像処理装置が提供される。
【０００７】
実施形態の他の観点によれば、一のフレームと、前記一のフレームをデコードするために必要な他のフレームと、前記一のフレームを表示対象とすることを示す情報とが格納された静止画ファイルから読み出される前記一のフレームと前記他のフレームとを用いて前記一のフレームをデコードするデコード手段と、前記デコード手段によってデコードされた前記一のフレームが表示されるように処理を行う処理手段とを有することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、動画ファイルから良好な静止画ファイルを生成し得る画像処理装置、画像処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】イメージ又はイメージコレクションの静止画を格納するＨＥＩＦファイル構造を示す図である。
【図２】イメージシーケンスの静止画を格納するＨＥＩＦのファイル構造を示す図である。
【図３】イメージ又はイメージコレクションの静止画と、イメージシーケンスの静止画の両方を格納するＨＥＩＦのファイル構造を示す図である。
【図４】第１実施形態による画像処理装置の構成を示すブロック図である。
【図５】第１実施形態による画像処理装置の動作を示すフローチャートである。
【図６】フレームデータとイメージシーケンスデータの例を示す図である。
【図７】エディットリストボックスの構造の例を示す図である。
【図８】第２実施形態による画像処理装置の動作を示すフローチャートである。
【図９】第３実施形態による画像処理装置の動作を示すフローチャートである。
【図１０】第４実施形態による画像処理装置の動作を示すフローチャートである。
【図１１】第５実施形態による画像処理装置の動作を示すフローチャートである。
【図１２】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１３】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１４】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１５】ビジュアルサンプルエントリの例を示す図である。
【図１６】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１７】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１８】第６実施形態による画像処理装置の動作を示すフローチャートである。
【図１９】アイテムプロパティボックスの例を示す図である。
【図２０】第６実施形態による画像処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
【００１１】
［第１実施形態］
第１実施形態による画像処理装置及び画像処理方法を図１乃至図７を用いて説明する。本実施形態では、動画ファイルがＨ．２６５／ＨＥＶＣ規格の動画ファイルである場合を例に説明するが、これに限定されるものではない。また、本実施形態では、静止画を得るためのフレーム（圧縮フレームデータ）がＨＥＩＦのファイル（ＨＥＩＦファイル）に格納される場合を例として説明するが、これに限定されるものではない。
【００１２】
まず、ＨＥＩＦファイルについて説明する。
ＨＥＩＦは、ＩＳＯＢＭＦＦに準拠している。このため、まず、ＩＳＯＢＭＦＦについて、簡単に説明する。
【００１３】
ＩＳＯＢＭＦＦにおいては、ボックスと称される構造でデータが管理される。
ボックスは、４バイトのデータ長フィールドと、４バイトのデータタイプフィールドとから始まり、これらの後に任意の長さのデータ部を有するデータ構造である。データ部の構造は、データタイプによって決定される。ＩＳＯＢＭＦＦの仕様書やＨＥＩＦの仕様書においては、いくつかのデータタイプ及びこれらのデータ部の構造が規定されている。
【００１４】
また、ボックスは、別のボックスをデータとして有することもある。即ち、ボックスの入れ子が可能である。あるボックスのデータ部に入れ子にされたボックスは、サブボックスと称される。
【００１５】
他のボックスのサブボックスではないボックスは、ファイルレベルのボックスと称される。ファイルレベルのボックスは、ファイルの先頭に位置する場合であってもアクセスすることが可能なボックスである。
【００１６】
ＨＥＩＦファイルに格納される静止画データの種類は、２つに大別される。
１つ目の種類の静止画データは、イメージ（イメージデータ）又はイメージコレクション（イメージコレクションデータ）と称される。イメージは、エンコード時の参照関係のない静止画、即ち、単独の静止画である。「単独の静止画」は、独立してデコード可能な形式でエンコードされている。イメージコレクションは、それぞれ独立した複数の静止画の集まりである。「独立した複数の静止画」とは、独立してデコード可能な形式でそれぞれエンコードされている静止画の集まりであり、エンコード時の参照関係のない静止画の集まりである。
２つ目の種類の静止画データは、イメージシーケンス（イメージシーケンスデータ）と称される。イメージシーケンスは、依存関係のある複数の静止画の集まりである。「依存関係のある複数の静止画」とは、フレーム間圧縮によって得られた静止画の集まりのように、エンコード時の参照関係のある静止画の集まりである。このため、イメージシーケンスに属する静止画データをデコードするためには、デコード対象の静止画がエンコード時に参照した他の静止画もデコードする必要がある。
【００１７】
イメージ又はイメージコレクションの静止画を格納するＨＥＩＦファイル構造の例について図１を用いて説明する。図１は、イメージ又はイメージコレクションの静止画を格納するＨＥＩＦのファイル構造１００を示す図である。
【００１８】
ファイル構造１００は、データタイプが‘ｆｔｙｐ’であるファイルタイプボックス１０１を備える。ファイルタイプボックス１０１には、ファイルの互換性に関する情報が格納される。
【００１９】
ファイル構造１００は、データタイプが‘ｍｅｔａ’であるメタデータボックス１０２を更に備える。メタデータボックス１０２には、様々なサブボックスが備えられる。メタデータボックス１０２には、静止画に関するデータが格納される。
【００２０】
メタデータボックス１０２は、データタイプが‘ｈｄｌｒ’であるハンドラボックス１０３を備える。ハンドラボックス１０３には、メタデータボックス１０２で管理されるデータのタイプを示す情報が格納される。メタデータボックス１０２で管理されるデータのタイプがイメージ又はイメージコレクションの静止画である場合、ハンドラボックス１０３のｈａｎｄｌｅｒ＿ｔｙｐｅ（ハンドラタイプ）は‘ｐｉｃｔ’とされる。
【００２１】
メタデータボックス１０２は、データタイプが‘ｐｉｔｍ’であるプライマリアイテムボックス１０４を更に備える。プライマリアイテムボックス１０４には、主画像を示すアイテムＩＤが格納される。ＨＥＩＦファイルにおいては、画像やメタデータ等がアイテムという単位で管理される。各アイテムには、ファイル内で一意となるアイテムＩＤが割り当てられている。
【００２２】
メタデータボックス１０２内には、データタイプが‘ｉｉｎｆ’であるアイテム情報ボックス１０５を更に備える。アイテム情報ボックス１０５は、アイテム情報エントリ１０６を格納するためのボックスである。
【００２３】
アイテム情報ボックス１０５は、データタイプが‘ｉｎｆｅ’であるアイテム情報エントリ１０６を備える。アイテム情報エントリ１０６には、各アイテムのアイテムＩＤやアイテムタイプが格納される。
【００２４】
メタデータボックス１０２は、データタイプが‘ｉｌｏｃ’であるアイテムロケーションボックス１０７を更に備える。アイテムロケーションボックス１０７には、各アイテムのファイル内における位置（オフセット）を示す情報や各アイテムの長さ（データ長）を示す情報が格納される。
【００２５】
メタデータボックス１０２は、データタイプが‘ｉｐｒｐ’であるアイテムプロパティボックス１０８を更に備える。アイテムプロパティボックス１０８は、アイテムプロパティコンテナボックス１０９とアイテムプロパティ関連ボックス１１０とを格納するためのボックスである。
【００２６】
アイテムプロパティボックス１０８は、データタイプが‘ｉｐｃｏ’であるアイテムプロパティコンテナボックス１０９を備える。アイテムプロパティコンテナボックス１０９には、個々のプロパティデータが格納される。
【００２７】
アイテムプロパティボックス１０８は、データタイプが‘ｉｐｍａ’であるアイテムプロパティ関連ボックス１１０を更に備える。アイテムプロパティ関連ボックス１１０には、各アイテムとプロパティとの関連付けが格納される。
【００２８】
なお、メタデータボックス１０２は、上記のボックス以外のボックス、即ち、その他のボックス１１１を更に備えるが、ここでは詳細な説明を省略する。
【００２９】
ファイル構造１００は、データタイプが‘ｍｄａｔ’であるメディアデータボックス１１２を更に備える。メディアデータボックス１１２には、イメージ又はイメージコレクションの静止画データ、即ち、イメージデータ１１３が格納される。
【００３０】
次に、イメージシーケンスの静止画を格納するＨＥＩＦのファイル構造の例について図２を用いて説明する。図２は、イメージシーケンスの静止画を格納するＨＥＩＦのファイル構造２００を示す図である。
【００３１】
ファイル構造２００は、データタイプが‘ｆｔｙｐ’であるファイルタイプボックス１０１を備える。ファイルタイプボックス１０１には、ファイルの互換性に関する情報が格納される。
【００３２】
ファイル構造２００は、データタイプが‘ｍｏｏｖ’であるムービーボックス２０１を更に備える。ムービーボックス２０１には、様々なサブボックスが備えられる。ムービーボックス２０１には、イメージシーケンスの静止画に関するデータが格納される。また、もし存在する場合には、静止画以外のメディア形式のデータに関するデータも格納される。
【００３３】
ムービーボックス２０１は、データタイプが‘ｍｖｈｄ’であるムービーヘッダボックス２０３を備える。ムービーヘッダボックス２０３には、ムービー全般に関する情報が格納される。ムービー全般に関する情報とは、ムービーの作成日時、ムービーのタイムスケール、ムービーの長さ（再生表示時間）等である。
【００３４】
ムービーボックス２０１は、データタイプが‘ｔｒａｋ’であるトラックボックス２０４を更に備える。トラックボックス２０４には、トラックに関する以下のようなボックスを格納するためのボックスである。上述したように、ＨＥＩＦファイルには、静止画のみならず、動画や音声等のメディア形式のデータも格納され得る。イメージシーケンスの静止画が格納されているＨＥＩＦファイル内に、動画や音声等のメディア形式のデータも存在する場合、それぞれが異なるトラック／メディアとして扱われる。このため、ムービーボックス２０１は、複数のトラックボックス２０４及びそれらのサブボックスを備え得る。
【００３５】
トラックボックス２０４は、データタイプが‘ｔｋｈｄ’であるトラックヘッダボックス２０５を備える。トラックヘッダボックス２０５には、トラック全般に関する情報が格納される。トラック全般に関する情報とは、トラックの作成日時、トラックを識別するトラックＩＤ、トラックの長さ（再生表示時間）、表示座標変換行列等である。
【００３６】
トラックボックス２０４は、データタイプが‘ｅｄｔｓ’であるエディットボックス２０６を備える。エディットボックス２０６は、エディットリストボックス２０７を格納するためのボックスである。
【００３７】
エディットボックス２０６は、データタイプが‘ｅｌｓｔ’であるエディットリストボックス２０７を備える。エディットリストボックス２０７には、表示対象となる画像（フレーム）に対応する時刻とトラックの時刻（表示時刻）とを関連付ける情報が格納される。エディットリストボックス２０７の詳細については、図７を用いて後述することとする。
【００３８】
トラックボックス２０４は、データタイプが‘ｍｄｉａ’であるメディアボックス２０８を備える。メディアボックス２０８は、メディアに関する以下のようなボックスを格納するためのボックスである。
【００３９】
メディアボックス２０８は、データタイプが‘ｍｄｈｄ’であるメディアヘッダボックス２０９を備える。メディアヘッダボックス２０９には、メディア全般に関する情報が格納される。メディア全般に関する情報とは、メディアの作成日時、メディアのタイムスケール、メディアの長さ（時間）等である。
【００４０】
メディアボックス２０８は、データタイプが‘ｈｄｌｒ’であるハンドラボックス２１０を備える。ハンドラボックス２１０には、メディアのタイプを示す情報が格納される。メディアのタイプがイメージシーケンスの静止画である場合、ハンドラボックス２１０のｈａｎｄｌｅｒ＿ｔｙｐｅは‘ｐｉｃｔ’とされる。
【００４１】
メディアボックス２０８は、データタイプが‘ｍｉｎｆ’であるメディア情報ボックス２１１を備える。メディア情報ボックス２１１は、メディアに関する以下のようなボックスを格納するためのボックスである。
【００４２】
メディア情報ボックス２１１は、データタイプが‘ｓｔｂｌ’であるサンプルテーブルボックス２１２を備える。サンプルテーブルボックス２１２は、メディアのサンプルに関する以下のようなボックスを格納するためのボックスである。
【００４３】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｓｄ’であるサンプルディスクリプションボックス２１３を備える。復号時の初期化情報がサンプルエントリと称されるテーブル情報として、サンプルディスクリプションボックス２１３に格納される。ハンドラボックス２１０のｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’である場合、サンプルエントリはビジュアルサンプルエントリ１５００（図１５参照）の構造を備える。ビジュアルサンプルエントリ１５００については、図１５を用いて後述することとする。
【００４４】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｔｓ’であるデコードタイム−サンプルボックス２１４を備える。デコードタイム−サンプルボックス２１４には、デコード時間とサンプル番号との関連に関する情報が格納される。
【００４５】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｓｚ’であるサンプルサイズボックス２１５を更に備える。サンプルサイズボックス２１５には、各サンプルのデータ長が格納される。
【００４６】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｓｃ’であるサンプル−チャンクボックス２１６を更に備える。サンプル−チャンクボックス２１６には、サンプル番号とチャンクとの関連付けの情報が格納される。チャンクとは、ファイル内の連続領域に格納されているサンプルデータの集まりである。
【００４７】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｃｏ’であるチャンクオフセットボックス２１７を更に備える。チャンクオフセットボックス２１７には、ファイル内における各チャンクの位置（オフセット）を示す情報が格納される。
【００４８】
サンプルテーブルボックス２１２は、データタイプが‘ｓｔｓｓ’であるシンクサンプルボックス２１８を更に備える。シンクサンプルボックス２１８には、シンクサンプルのサンプル番号が格納される。シンクサンプルとは、当該サンプルデータは単独でデコードすることが可能であり、且つ、当該サンプルデータ以降のサンプルデータをデコードする際に当該サンプルデータより前に位置するサンプルデータを必要としないようなサンプルのことである。圧縮形式がＨＥＶＣである場合、ＩＤＲフレームがシンクサンプルである。なお、シンクサンプルボックス２１８が存在しない場合には、全てのフレームがＩＤＲフレームである。
【００４９】
なお、各ボックスには上記以外のボックス２１９〜２２３が存在することもあるが、これらについての説明は省略する。
【００５０】
ファイル構造２００は、データタイプが‘ｍｄａｔ’であるメディアデータボックス１１２を更に備える。メディアデータボックス１１２には、イメージシーケンスの静止画データ、即ち、イメージシーケンスデータ２２４が格納される。
【００５１】
次に、イメージ又はイメージコレクションの静止画と、イメージシーケンスの静止画の両方を格納するＨＥＩＦのファイル構造の例を図３について用いて説明する。図３は、イメージ又はイメージコレクションの静止画と、イメージシーケンスの静止画の両方を格納するＨＥＩＦのファイル構造３００を示す図である。
【００５２】
ファイル構造３００は、データタイプが‘ｆｔｙｐ’であるファイルタイプボックス１０１を備える。ファイルタイプボックス１０１には、ファイルの互換性に関する情報が格納される。
【００５３】
ファイル構造３００は、データタイプが‘ｍｅｔａ’であるメタデータボックス１０２を更に備える。図３に示すメタデータボックス１０２は、図１を用いて上述したメタデータボックス１０２と同じである。メタデータボックス１０２は、イメージ又はイメージコレクションの静止画に関する情報を保持する種々のサブボックスを備える。
【００５４】
ファイル構造３００は、データタイプが‘ｍｏｏｖ’であるムービーボックス２０１を更に備える。図３に示すムービーボックス２０１は、図２を用いて上述したムービーボックス２０１と同じである。ムービーボックス２０１は、イメージシーケンスの静止画に関する情報を保持する種々のサブボックスを備える。
【００５５】
ファイル構造３００は、データタイプが‘ｍｄａｔ’であるメディアデータボックス１１２を更に備える。メディアデータボックス１１２には、イメージシーケンスの静止画データ、即ち、イメージシーケンスデータ２２４と、イメージ又はイメージコレクションの静止画データ、即ち、イメージデータ１１３とが格納される。
【００５６】
図４は、本実施形態による画像処理装置の構成を示すブロック図である。
本実施形態による画像処理装置４００は、入力部４０１と、表示部４０２と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０４と、記憶部４０５とを有する。画像処理装置４００は、通信制御部４０６と、システムバス４０７とを更に有する。
【００５７】
入力部４０１は、例えば、キーボード、ポインティングデバイス等を含む。入力部４０１は、表示部４０２に表示されるボタン等のコントロール指示を受け付ける。なお、ポインティングデバイスとしては、マウス、トラックボール、タブレット等が挙げられる。
【００５８】
表示部４０２は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等によって構成される。表示部４０２は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面や画像等を表示する。また、表示部４０２は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と称される演算装置を有していてもよい。
【００５９】
ＣＰＵ４０３は、画像処理装置４００全体を制御する。
ＲＡＭ４０４は、画像処理装置４００による各種処理に必要な作業領域をＣＰＵ４０３に提供する。また、記憶部４０５に格納されている制御プログラムや動画処理プログラムは、ＲＡＭ４０４に一旦読み出されてからＣＰＵ４０３によって実行される。
記憶部４０５は、画像処理装置４００による各種処理に必要な制御プログラム、動画処理プログラム、動画ファイル、静止画ファイル等を記憶する。なお、動画処理プログラムについては、後に詳述することとする。
【００６０】
通信制御部４０６は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、Ｅｔｈｅｒｎｅｔ等の通信インターフェースを備える。画像処理装置４００は、通信制御部４０６を介して、外部機器との間で通信を行い得る。通信制御部４０６は、通信ケーブルを用いる有線接続を行ってもよいし、通信ケーブルを用いない無線接続を行ってもよい。
これらの機能ブロックは、システムバス４０７により接続されている。
【００６１】
本実施形態では、記憶部４０５に動画処理プログラムが記憶されている場合を例として説明するが、これに限定されるものではない。例えば、通信制御部４０６に接続された外部記憶部に動画処理プログラムが記憶されていてもよいし、ネットワーク上に動画処理プログラムが記憶されていてもよい。
【００６２】
図５は、本実施形態による画像処理装置の動作を示すフローチャートである。図５には、動画を記録する際の手順が示されている。図５に示す処理は、ＣＰＵ４０３によって実行される。
【００６３】
本実施形態では、図６に示すようなフレームデータ６０１を有する動画ファイルを例に説明する。図６は、フレームデータとイメージシーケンスデータの例を示す図である。フレームデータ６０１、即ち、元画像のフレームデータは、例えば１０個のフレーム６０２ａ〜６０２ｊによって構成される。フレーム一般について説明する際には符号６０２を用いて説明し、個々のフレームについて説明する際には符号６０２ａ〜６０２ｊを用いて説明することする。フレームデータ６０１を構成する１０個のフレーム６０２の各々の表示時間は、例えば０．１秒である。フレーム６０２ａは、フレームデータ６０１を構成する１０個のフレームのうちの第１番目のフレーム、即ち、フレーム番号が１のフレームである。フレーム６０２ｂは、フレームデータ６０１を構成する１０個のフレームのうちの第２番目のフレーム、即ち、フレーム番号が２のフレームである。フレーム６０２ｃは、フレームデータ６０１を構成する１０個のフレームのうちの第３番目のフレーム、即ち、フレーム番号が３のフレームである。フレーム６０２ｄは、フレームデータ６０１を構成する１０個のフレームのうちの第４番目のフレーム、即ち、フレーム番号が４のフレームである。フレーム６０２ｅは、フレームデータ６０１を構成する１０個のフレームのうちの第５番目のフレーム、即ち、フレーム番号が５のフレームである。フレーム６０２ｆは、フレームデータ６０１を構成する１０個のフレームのうちの第６番目のフレーム、即ち、フレーム番号が６のフレームである。フレーム６０２ｇは、フレームデータ６０１を構成する１０個のフレームのうちの第７番目のフレーム、即ち、フレーム番号が７のフレームである。フレーム６０２ｈは、フレームデータ６０１を構成する１０個のフレームのうちの第８番目のフレーム、即ち、フレーム番号が８のフレームである。フレーム６０２ｉは、フレームデータ６０１を構成する１０個のフレームのうちの第９番目のフレーム、即ち、フレーム番号が９のフレームである。フレーム６０２ｊ０は、フレームデータ６０１を構成する１０個のフレームのうちの第１０番目のフレーム、即ち、フレーム番号が１０のフレームである。
【００６４】
フレーム番号が１のフレーム６０２ａ及びフレーム番号が６のフレーム６０２ｆは、ＩＤＲフレームである。このため、この動画ファイルにはシンクサンプルボックス２１８が備えられている。シンクサンプルボックス２１８には、フレーム番号１とフレーム番号６とが保持されている。フレームデータ６０１に含まれる１０個のフレーム６０２のうちのフレーム６０２ａ、６０２ｆ以外のフレーム６０２ｂ〜６０２ｅ、６０２ｇ〜６０２ｊは、Ｐフレームである。Ｐフレームであるフレーム６０２ｂ〜６０２ｅ、６０２ｇ〜６０２ｊは、フレーム間圧縮が施されたフレームである。
【００６５】
ステップＳ５０１においては、保存対象フレーム（表示対象フレーム）の指定の受け付けが行われる。ＣＰＵ４０３は、保存対象フレームを特定する情報を取得する。保存対象フレームを特定する情報は、例えば、フレーム番号である。ここでは、フレーム番号８のフレーム６０２ｈが保存対象フレームである場合を例に説明するがこれに限定されるものではない。この後、ステップＳ５０２に遷移する。
【００６６】
ステップＳ５０２において、ＣＰＵ４０３は、保存対象フレームのデコードに必要なフレームを特定する。上述したように、フレーム間圧縮されたフレームをデコードするためには、フレーム間圧縮された当該フレームのデータのみでは足りない。フレーム間圧縮されたフレームをデコードするためには、当該フレームに先行する直近のＩＤＲフレームから当該フレームの直前のフレームまでのデータも必要である。
【００６７】
ＩＳＯＢＭＦＦにおいては、ＩＤＲフレームのフレーム番号が、サンプルテーブルボックス２１２内のシンクサンプルボックス２１８で管理される。このため、シンクサンプルボックス２１８で管理されるＩＤＲフレームのフレーム番号のうちの以下のような条件を満たすフレーム番号が、保存対象フレームに先行する直近のＩＤＲフレームのフレーム番号である。即ち、保存対象フレームのフレーム番号より小さく、且つ、シンクサンプルボックス２１８で管理されるＩＤＲフレームのフレーム番号のうちの最大のフレーム番号のフレームが、保存対象フレームに先行する直近のＩＤＲフレームである。指定された保存対象フレームをデコードするために必要なフレームは、保存対象フレームに先行する直近のＩＤＲフレームから保存対象フレームの直前までのフレームである。
【００６８】
図６に示す例においては、シンクサンプルボックス２１８で管理されるＩＤＲフレームのフレーム番号のうち、保存対象フレームのフレーム番号である８よりも小さいフレーム番号は１と６である。フレーム番号が１のフレーム６０２ａとフレーム番号が６のフレーム６０２ｆとのうちの最大のフレーム番号のフレーム６０２は、フレーム番号が６のフレーム６０２ｆである。従って、図６に示す例においては、保存対象フレームに先行する直近のＩＤＲフレームのフレーム番号は６である。従って、指定された保存対象フレームであるフレーム６０２ｈをデコードするために必要なフレーム６０２は、フレーム番号が６のフレーム６０２ｆ、及び、フレーム番号が７のフレーム６０２ｇである。この後、ステップＳ５０３に遷移する。
【００６９】
ステップＳ５０３において、ＣＰＵ４０３は、指定された保存対象フレームのデータと、ステップＳ５０２において特定したフレームのデータとを、動画ファイルから読み出す。即ち、ＣＰＵ４０３は、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出したこれらのデータをＲＡＭ４０４に保持する。ここでは、フレーム番号が６のフレーム６０２ｆのデータと、フレーム番号が７のフレーム６０２ｇのデータと、フレーム番号が８のフレーム６０２ｈのデータとを読み出す場合を例に説明するが、これに限定されるものではない。この後、ステップＳ５０４に遷移する。
【００７０】
ステップＳ５０４において、ＣＰＵ４０３は、以下のようなデータを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。即ち、ＣＰＵ４０３は、ステップＳ５０３で読み出した保存対象フレームのデータと、ステップＳ５０３で読み出した、保存対象フレームのデータのデコードに必要なフレームのデータとを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。これらのデータは、イメージシーケンスデータ２２４として、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。なお、ＨＥＩＦファイルは、記憶部４０５に記憶される。図６に示すように、ＨＥＩＦファイルのメディアデータボックス１１２に格納されるイメージシーケンスデータ６０３は、例えば３個のフレーム６０４ａ〜６０４ｃによって構成される。フレーム一般について説明する際には符号６０４を用いて説明し、個々のフレームについて説明する際には符号６０４ａ〜６０４ｃを用いて説明することする。フレーム６０４ａは、イメージシーケンスデータ６０３を構成する３個のフレーム６０４のうちの第１番目のフレーム、即ち、フレーム番号が１のフレームである。フレーム６０４ｂは、イメージシーケンスデータ６０３を構成する３個のフレーム６０４のうちの第２番目のフレーム、即ち、フレーム番号が２のフレームである。フレーム６０４ｃは、イメージシーケンスデータ６０３を構成する３個のフレーム６０４のうちの第３番目のフレーム、即ち、フレーム番号が３のフレームである。なお、ここでは、ＨＥＩＦファイルが記憶部４０５に記憶される場合を例に説明するが、これに限定されるものではない。例えば、画像処理装置４００の外部に位置する記憶手段にＨＥＩＦファイルが記憶されてもよい。この場合、画像処理装置４００の外部に位置する記憶手段に保持されるＨＥＩＦファイルに格納されるデータは、通信制御部４０６を介して送信される。この後、ステップＳ５０５に遷移する。
【００７１】
ステップＳ５０５において、ＣＰＵ４０３は、ステップＳ５０４において格納したイメージシーケンスデータ６０３を構成する各々の画像に関するデータを、ＨＥＩＦファイルのムービーボックス２０１内のサブボックスに格納する。この後、ステップＳ５０６に遷移する。
【００７２】
ステップＳ５０６において、ＣＰＵ４０３は、以下のような処理を行う。ＣＰＵ４０３は、ステップＳ５０４においてＨＥＩＦファイルのメディアデータボックス１１２に格納されたフレーム６０４ａ〜６０４ｃのうち、保存対象フレームであるフレーム６０４ｃのみを表示するようにするための指示を、ＨＥＩＦファイルに格納する。保存対象フレームであるフレーム６０４ｃのみを表示するようにするためのこのような指示は、エディットリストボックス２０７に格納される。
【００７３】
図７は、エディットリストボックスの構造の例を示す図である。エディットリストボックス２０７には、上述したように、表示対象となる画像に対応する時刻とトラックの時刻（表示時刻）とを関連付ける情報が格納される。具体的には、エディットリストボックス２０７には、ｓｅｇｍｅｎｔ＿ｄｕｒａｔｉｏｎと、ｍｅｄｉａ＿ｔｉｍｅと、ｍｅｄｉａ＿ｒａｔｅ＿ｉｎｔｅｇｅｒと、ｍｅｄｉａ＿ｒａｔｅ＿ｆｒａｃｔｉｏｎとが格納され得る。ＩＳＯＢＭＦＦにおいては、ｓｅｇｍｅｎｔ＿ｄｕｒａｔｉｏｎに０を設定し、ｍｅｄｉａ＿ｔｉｍｅに正の値を設定することにより、ｍｅｄｉａ＿ｔｉｍｅに対応する時刻のデータを、再生時刻０から再生及び表示することを指示し得る。また、ＩＳＯＢＭＦＦにおいては、ｍｅｄｉａ＿ｒａｔｅ＿ｉｎｔｅｇｅｒ及びｍｅｄｉａ＿ｒａｔｅ＿ｆｒａｃｔｉｏｎに０を設定することにより、以下のように指示し得る。即ち、データを順次再生・表示するのではなく、ｍｅｄｉａ＿ｔｉｍｅに対応する時刻のデータのみを表示し続けることを指示し得る。即ち、ＩＳＯＢＭＦＦにおいては、ｍｅｄｉａ＿ｒａｔｅ＿ｉｎｔｅｇｅｒ及びｍｅｄｉａ＿ｒａｔｅ＿ｆｒａｃｔｉｏｎに０を設定することにより、ｍｅｄｉａ＿ｔｉｍｅに対応する時刻のデータのみを静止画として表示し得る。ここでは、イメージシーケンスデータ６０３を構成する３つのフレーム６０４のうちのフレーム番号が３のフレーム６０４ｃを表示する場合を例に説明するが、これに限定されるものではない。フレーム６０４ｃのデータの時刻は、０．２秒である。メディアヘッダボックス２０９において指定されているタイムスケールを１０とすると、０．２秒は２に相当する。このため、ｓｅｇｍｅｎｔ＿ｄｕｒａｔｉｏｎに０を設定し、ｍｅｄｉａ＿ｔｉｍｅに２を設定し、ｍｅｄｉａ＿ｒａｔｅ＿ｉｎｔｅｇｅｒに０を設定すると、フレーム番号が３のフレーム６０４ｃのみを表示させ続けることが可能となる。このような設定は、フレーム番号が３であるフレーム６０４ｃに先行するフレームを表示させないこと、即ち、フレーム番号が１のフレーム６０４ａ及びフレーム番号が２のフレーム６０４ｂを表示させないことを意味する。
【００７４】
このように、本実施形態によれば、保存対象フレームのみならず、保存対象フレームをエンコードするのに必要な他のフレームをも同一の静止画ファイルに格納するため、他のファイルやデータを参照することなく、デコードして表示・再生することのできる良好な静止画ファイルを得ることができる。
【００７５】
［第２実施形態］
第２実施形態による画像処理装置及び画像処理方法について図８を用いて説明する。図１乃至図７に示す第１実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
【００７６】
図８は、本実施形態による画像処理装置の動作を示すフローチャートである。図８には、動画を記録する際の手順が示されている。
【００７７】
ステップＳ８０１において、ＣＰＵ４０３は、保存対象フレームを特定する情報を取得する。ステップＳ８０１において行われる処理は、第１実施形態におけるステップＳ５０１において行われる処理と同様である。この後、ステップＳ８０２に遷移する。
【００７８】
ステップＳ８０２において、ＣＰＵ４０３は、ステップＳ８０１において指定した保存対象フレームが単独でデコード可能であるか否かを判定する。上述したように、単独でデコード可能なフレームはＩＤＲフレームである。ＩＳＯＢＭＦＦにおいては、ＩＤＲフレームは、シンクサンプルボックス２１８で管理される。このため、指定された保存対象フレームのフレーム番号がシンクサンプルボックス２１８に登録されているか否かに基づいて、当該保存対象フレームが単独でデコード可能か否かを判定し得る。指定された保存対象フレームが単独でデコード可能である場合（ステップＳ８０２においてＹＥＳ）、ステップＳ８０３に遷移する。指定された保存対象フレームが単独でデコード不能である場合（ステップＳ８０２においてＮＯ）、ステップＳ８０６に遷移する。
【００７９】
ステップＳ８０３において、ＣＰＵ４０３は、保存対象フレームのデータを動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出したデータをＲＡＭ４０４に保持する。この後、ステップＳ８０４に遷移する。
【００８０】
ステップＳ８０４において、ＣＰＵ４０３は、ステップＳ８０３において読み出した保存対象フレームのデータを、イメージデータ１１３として、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。この後、ステップＳ８０５に遷移する。
【００８１】
ステップＳ８０５において、ＣＰＵ４０３は、ステップＳ８０４において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ８０５が完了した場合、図８に示す処理が終了する。即ち、保存対象フレームが単独でデコード可能な場合には、ステップＳ８０５が完了すると、図８に示す処理が終了する。
【００８２】
ステップＳ８０６において、ＣＰＵ４０３は、指定された保存対象フレームをデコードするために必要なフレームを特定する。ステップＳ８０６において行われる処理は、第１実施形態におけるステップＳ５０２において行われる処理と同様である。この後、ステップＳ８０７に遷移する。
【００８３】
ステップＳ８０７において、ＣＰＵ４０３は、指定された保存対象フレームのデータと、ステップＳ８０６において特定したフレームのデータとを、動画ファイルから読み出す。即ち、ＣＰＵ４０３は、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、読み出したこれらのデータを、ＲＡＭ４０４に保持する。ステップＳ８０７において行われる処理は、第１実施形態におけるステップＳ５０３において行われる処理と同様である。この後。ステップＳ８０８に遷移する。
【００８４】
ステップＳ８０８において、ＣＰＵ４０３は、以下のようなデータを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。即ち、ＣＰＵ４０３は、ステップＳ８０７で読み出した保存対象フレームのデータと、ステップＳ８０７で読み出した、保存対象フレームのデータのデコードに必要なフレームのデータとを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。これらのデータは、イメージシーケンスデータ２２４として、ＨＥＩＦファイルのメディアデータボックス１１２に格納される。ステップＳ８０８において行われる処理は、第１実施形態におけるステップＳ５０４において行われる処理と同様である。この後、ステップＳ８０９に遷移する。
【００８５】
ステップＳ８０９において、ＣＰＵ４０３は、ステップＳ８０８において格納したイメージシーケンス２２４を構成する各々の画像に関するデータを、ＨＥＩＦファイルのムービーボックス２０１内のサブボックスに格納する。ステップＳ８０９において行われる処理は、第１実施形態におけるステップＳ５０５において行われる処理と同様である。この後、ステップＳ８１０に遷移する。
【００８６】
ステップＳ８１０において、ＣＰＵ４０３は、以下のような処理を行う。ＣＰＵ４０３は、ステップＳ８０９においてＨＥＩＦファイルのメディアデータボックス１１２に格納されたフレーム６０４ａ〜６０４ｃのうち、保存対象フレームであるフレーム６０４ｃのみを表示するようにするための指示を、ＨＥＩＦファイルに格納する。保存対象フレームであるフレーム６０４ｃのみを表示するようにするためのこのような指示は、エディットリストボックス２０７に格納される。ステップＳ８１０において行われる処理は、第１実施形態におけるステップＳ５０６において行われる処理と同様である。
【００８７】
このように、保存対象フレームが単独でデコード可能な場合には、当該保存対象フレームをイメージとして静止画ファイルに格納するようにしてもよい。
【００８８】
［第３実施形態］
第３実施形態による画像処理装置及び画像処理方法について図９を用いて説明する。図１乃至図８に示す第１又は第２実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
【００８９】
図９は、本実施形態による画像処理装置の動作を示すフローチャートである。図９には、動画を記録する際の手順が示されている。
【００９０】
ステップＳ９０１において、ＣＰＵ４０３は、保存対象フレームを特定する情報を取得する。ステップＳ９０１において行われる処理は、第１実施形態におけるステップＳ５０１において行われる処理と同様である。この後、ステップＳ９０２に遷移する。
【００９１】
ステップＳ９０２において、ＣＰＵ４０３は、動画ファイルに含まれる全てのフレームが単独でデコード可能であるか否かを判定する。上述したように、シンクサンプルボックス２１８が存在しない場合には、すべてのフレームがＩＤＲフレームである。このため、シンクサンプルボックス２１８が存在するか否かに基づいて、動画ファイルに含まれる全てのフレームが単独でデコード可能であるか否かを判定し得る。動画ファイルに含まれる全てのフレームが単独でデコード可能である場合（ステップＳ９０２においてＹＥＳ）、ステップＳ９０３に遷移する。単独でデコード不能なフレームが動画ファイルに含まれている場合（ステップＳ９０２においてＮＯ）、ステップＳ９０６に遷移する。
【００９２】
ステップＳ９０３において、ＣＰＵ４０３は、保存対象フレームのデータを動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出したデータをＲＡＭ４０４に保持する。ステップＳ９０３において行われる処理は、第２実施形態におけるステップＳ８０３において行われる処理と同様である。この後、ステップＳ９０４に遷移する。
【００９３】
ステップＳ９０４において、ＣＰＵ４０３は、ステップＳ９０３において読み出した保存対象フレームのデータを、イメージデータ１１３として、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ステップＳ９０４において行われる処理は、第２実施形態におけるステップＳ８０４において行われる処理と同様である。この後、ステップＳ９０５に遷移する。
【００９４】
ステップＳ９０５において、ＣＰＵ４０３は、ステップＳ９０４において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ９０５において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。ステップＳ９０５が完了した場合、図９に示す処理が終了する。即ち、保存対象フレームが単独でデコード可能な場合には、ステップＳ９０５が完了すると、図９に示す処理が終了する。
【００９５】
ステップＳ９０６において、ＣＰＵ４０３は、ステップＳ９０１において指定した保存対象フレームが単独でデコード可能であるか否かを判定する。上述したように、単独でデコード可能なフレームはＩＤＲフレームである。ＩＳＯＢＭＦＦにおいては、ＩＤＲフレームは、シンクサンプルボックス２１８で管理される。このため、指定された保存対象フレームのフレーム番号がシンクサンプルボックス２１８に登録されているか否かに基づいて、当該保存対象フレームが単独でデコード可能か否かを判定し得る。指定された保存対象フレームが単独でデコード可能である場合（ステップＳ９０６においてＹＥＳ）、ステップＳ９０３に遷移する。指定された保存対象フレームが単独でデコード不能である場合（ステップＳ９０６においてＮＯ）、ステップＳ９０７に遷移する。ステップＳ９０６において行われる処理は、第２実施形態におけるステップＳ８０２において行われる処理と同様である。
【００９６】
ステップＳ９０７において、ＣＰＵ４０３は、指定された保存対象フレームをデコードするために必要なフレームを特定する。ステップＳ９０７において行われる処理は、第１実施形態におけるステップＳ５０２において行われる処理と同様である。この後、ステップＳ９０８に遷移する。
【００９７】
ステップＳ９０８において、ＣＰＵ４０３は、指定された保存対象フレームのデータと、ステップＳ９０７において特定したフレームのデータとを、動画ファイルから読み出す。即ち、ＣＰＵ４０３は、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、読み出したこれらのデータを、ＲＡＭ４０４に保持する。ステップＳ９０８において行われる処理は、第１実施形態におけるステップＳ５０３において行われる処理と同様である。この後、ステップＳ９０９に遷移する。
【００９８】
ステップＳ９０９において、ＣＰＵ４０３は、以下のようなデータを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ＣＰＵ４０３は、ステップＳ９０８において読み出した保存対象フレームのデータと、ステップＳ９０８において読み出した、保存対象フレームのデータのデコードに必要なフレームのデータとを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。これらのデータは、イメージシーケンスデータ２２４として、ＨＥＩＦファイルのメディアデータボックス１１２に格納される。ステップＳ９０９において行われる処理は、第１実施形態におけるステップＳ５０４において行われる処理と同様である。この後、ステップＳ９１０に遷移する。
【００９９】
ステップＳ９１０において、ＣＰＵ４０３は、ステップＳ９０８において格納したイメージシーケンスデータ２２４を構成する各々の画像に関するデータを、ＨＥＩＦファイルのムービーボックス２０１内のサブボックスに格納する。ステップＳ９１０において行われる処理は、第１実施形態におけるステップＳ５０５において行われる処理と同様である。この後、ステップＳ９１１に遷移する。
【０１００】
ステップＳ９１１において、ＣＰＵ４０３は、以下のような処理を行う。ＣＰＵ４０３は、ステップＳ９０９においてＨＥＩＦファイルのメディアデータボックス１１２に格納されたフレーム６０４ａ〜６０４ｃのうち、保存対象フレームであるフレーム６０４ｃのみを表示するようにするための指示を、ＨＥＩＦファイルに格納する。保存対象フレームであるフレーム６０４ｃのみを表示するようにするためのこのような指示は、エディットリストボックス２０７に格納される。ステップＳ９１１において行われる処理は、第１実施形態におけるステップＳ５０６において行われる処理と同様である。
【０１０１】
このように、動画ファイルに含まれる複数のフレームの全てがそれぞれ単独でデコード可能であるか否かを判定するようにしてもよい。
【０１０２】
［第４実施形態］
第４実施形態による画像処理装置及び画像処理方法について図１０を用いて説明する。図１乃至図９に示す第１乃至第３実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
【０１０３】
本実施形態による画像処理装置は、イメージデータ１１３とイメージシーケンスデータ２２４の両方をＨＥＩＦファイルに格納するものである。
【０１０４】
図１０は、本実施形態による画像処理装置の動作を示すフローチャートである。図１０には、動画を記録する際の手順が示されている。本実施形態においては、図３に示すようなＨＥＩＦファイルにイメージデータ１１３とイメージシーケンスデータ２２４の両方が格納される。
【０１０５】
ステップＳ１００１において、ＣＰＵ４０３は、保存対象フレームを特定する情報を取得する。ステップＳ１００１において行われる処理は、第１実施形態におけるステップＳ５０１において行われる処理と同様である。この後、ステップＳ１００２に遷移する。
【０１０６】
ステップＳ１００２において、ＣＰＵ４０３は、ステップＳ１００１において指定した保存対象フレームが単独でデコード可能であるか否かを判定する。ステップＳ１００２において行われる処理は、第２実施形態におけるステップＳ８０２において行われる処理と同様である。指定された保存対象フレームが単独でデコード可能である場合（ステップＳ１００２においてＹＥＳ）、ステップＳ１００３に遷移する。指定された保存対象フレームが単独でデコード不能である場合（ステップＳ１００２においてＮＯ）、ステップＳ１００６に遷移する。
【０１０７】
ステップＳ１００３において、ＣＰＵ４０３は、保存対象フレームのデータを動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出したデータをＲＡＭ４０４に保持する。ステップＳ１００３において行われる処理は、第２実施形態におけるステップＳ８０３において行われる処理と同様である。この後、ステップＳ１００４に遷移する。
【０１０８】
ステップＳ１００４において、ＣＰＵ４０３は、ステップＳ１００３において読み出した保存対象フレームのデータを、イメージデータ１１３として、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ステップＳ１００４において行われる処理は、第２実施形態におけるステップＳ８０４において行われる処理と同様である。この後、ステップＳ１００５に遷移する。
【０１０９】
ステップＳ１００５において、ＣＰＵ４０３は、ステップＳ１００４において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ１００５において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。ステップＳ１００５が完了した場合、図１０に示す処理が終了する。即ち、保存対象フレームが単独でデコード可能な場合には、ステップＳ１００５が完了すると、図１０に示す処理が終了する。
【０１１０】
ステップＳ１００６において、ＣＰＵ４０３は、指定された保存対象フレームをデコードするために必要なフレームを特定する。ステップＳ１００６において行われる処理は、第１実施形態におけるステップＳ５０２において行われる処理と同様である。この後、ステップＳ１００７に遷移する。
【０１１１】
ステップＳ１００７において、ＣＰＵ４０３は、指定された保存対象フレームのデータと、ステップＳ１００６において特定したフレームのデータとを、動画ファイルから読み出す。即ち、ＣＰＵ４０３は、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、読み出したこれらのデータを、ＲＡＭ４０４に保持する。ステップＳ１００７において行われる処理は、第１実施形態におけるステップＳ５０３において行われる処理と同様である。この後、ステップＳ１００８に遷移する。
【０１１２】
ステップＳ１００８において、ＣＰＵ４０３は、以下のようなデータを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ＣＰＵ４０３は、ステップＳ１００７で読み出した保存対象フレームのデータと、ステップＳ１００７で読み出した、保存対象フレームのデータのデコードに必要なフレームのデータとを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。これらのデータは、イメージシーケンスデータ２２４として、ＨＥＩＦファイルのメディアデータボックス１１２に格納される。ステップＳ１００８において行われる処理は、第１実施形態におけるステップＳ５０４において行われる処理と同様である。この後、ステップＳ１００９に遷移する。
【０１１３】
ステップＳ１００９において、ＣＰＵ４０３は、ステップＳ１００８において格納したイメージシーケンスデータ２２４を構成する各々の画像に関するデータを、ＨＥＩＦファイルのムービーボックス２０１内のサブボックスに格納する。ステップＳ１００９において行われる処理は、第１実施形態におけるステップＳ５０５において行われる処理と同様である。この後、ステップＳ１０１０に遷移する。
【０１１４】
ステップＳ１０１０において、ＣＰＵ４０３は、以下のような処理を行う。ＣＰＵ４０３は、ステップＳ１００８においてＨＥＩＦファイルのメディアデータボックス１１２に格納されたフレーム６０４ａ〜６０４ｃのうち、保存対象フレームであるフレーム６０４ｃのみを表示するようにするための指示を、ＨＥＩＦファイルに格納する。保存対象フレームであるフレーム６０４ｃのみを表示するようにするためのこのような指示は、エディットリストボックス２０７に格納される。ステップＳ１０１０において行われる処理は、第１実施形態におけるステップＳ５０６において行われる処理と同様である。この後、ステップＳ１０１１に遷移する。
【０１１５】
ステップＳ１０１１において、ＣＰＵ４０３は、ステップＳ１００７において読み出したデータをデコードする。即ち、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとをデコードする。こうして、指定された保存対象フレームの画像が得られる。この後、ステップＳ１０１２に遷移する。
【０１１６】
ステップＳ１０１２において、ＣＰＵ４０３は、ステップＳ１０１１において得られた画像、即ち、指定された保存対象フレームの画像を、単独でデコードすることが可能な形式で圧縮（エンコード）する。ステップＳ１０１２において用いられる圧縮形式は、元動画の圧縮形式と異なっていてもよい。例えば、元動画の圧縮形式がＨＥＶＣであったとしても、保存対象フレームの画像をＪＰＥＧ形式で圧縮してもよい。この後、ステップＳ１０１３に遷移する。
【０１１７】
ステップＳ１０１３において、ＣＰＵ４０３は、ステップＳ１０１２において圧縮することにより得られたデータを、イメージデータ１１３として、ＨＥＩＦファイルに格納する。この後、ステップＳ１０１４に遷移する。
【０１１８】
ステップＳ１０１４において、ＣＰＵ４０３は、ステップＳ１０１３において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ１０１４において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。
【０１１９】
このように、保存対象フレームをデコードし、デコードした保存対象フレームを単独でデコード可能な形式でエンコードし、エンコードすることにより得られるフレームを静止画ファイルに格納するようにしてもよい。本実施形態によれば、単独でデコード可能な形式でエンコードされたフレームも静止画ファイルに格納されるため、互換性の高い静止画ファイルを得ることができる。
【０１２０】
［第５実施形態］
第５実施形態による画像処理装置及び画像処理方法について図１１を用いて説明する。図１乃至図１０に示す第１乃至第４実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
【０１２１】
図１１は、本実施形態による画像処理装置の動作を示すフローチャートである。図１１には、動画を記録する際の手順が示されている。
【０１２２】
ステップＳ１１０１において、ＣＰＵ４０３は、保存対象フレームを特定する情報を取得する。ステップＳ１１０１において行われる処理は、第１実施形態におけるステップＳ５０１において行われる処理と同様である。この後、ステップＳ１１０２に遷移する。
【０１２３】
ステップＳ１１０２において、ＣＰＵ４０３は、ステップＳ１１０１において指定した保存対象フレームが単独でデコード可能であるか否かを判定する。ステップＳ１１０２において行われる処理は、第２実施形態におけるステップＳ８０２において行われる処理と同様である。指定された保存対象フレームが単独でデコード可能である場合（ステップＳ１１０２においてＹＥＳ）、ステップＳ１１０３に遷移する。指定された保存対象フレームが単独でデコード不能である場合（ステップＳ１１０２においてＮＯ）、ステップＳ１１０６に遷移する。
【０１２４】
ステップＳ１１０３において、ＣＰＵ４０３は、保存対象フレームのデータを動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出したデータをＲＡＭ４０４に保持する。ステップＳ１１０３において行われる処理は、第２実施形態におけるステップＳ８０３において行われる処理と同様である。この後、ステップＳ１１０４に遷移する。
【０１２５】
ステップＳ１１０４において、ＣＰＵ４０３は、ステップＳ１１０３において読み出した保存対象フレームのデータを、イメージデータ１１３として、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ステップＳ１１０４において行われる処理は、第２実施形態におけるステップＳ８０４において行われる処理と同様である。この後、ステップＳ１１０５に遷移する。
【０１２６】
ステップＳ１１０５において、ＣＰＵ４０３は、ステップＳ１００４において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ１１０５において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。ステップＳ１１０５が完了した場合、図１１に示す処理が終了する。即ち、保存対象フレームが単独でデコード可能な場合には、ステップＳ１１０５が完了すると、図１１に示す処理が終了する。
【０１２７】
ステップＳ１１０６において、ＣＰＵ４０３は、指定された保存対象フレームをデコードするために必要なフレームを特定する。ステップＳ１１０６において行われる処理は、第１実施形態におけるステップＳ５０２において行われる処理と同様である。この後、ステップＳ１１０７に遷移する。
【０１２８】
ステップＳ１１０７において、ＣＰＵ４０３は、指定された保存対象フレームのデータと、ステップＳ１１０６において特定したフレームのデータとを、動画ファイルから読み出す。即ち、ＣＰＵ４０３は、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、読み出したこれらのデータを、ＲＡＭ４０４に保持する。ステップＳ１１０７において行われる処理は、第１実施形態におけるステップＳ５０３において行われる処理と同様である。この後、ステップＳ１００８に遷移する。
【０１２９】
ステップＳ１１０８において、ＣＰＵ４０３は、以下のようなデータを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。ＣＰＵ４０３は、ステップＳ１１０７で読み出した保存対象フレームのデータと、ステップＳ１００７で読み出した、保存対象フレームのデータのデコードに必要なフレームのデータとを、ＨＥＩＦファイルのメディアデータボックス１１２に格納する。これらのデータは、イメージシーケンスデータ２２４として、ＨＥＩＦファイルのメディアデータボックス１１２に格納される。ステップＳ１１０８において行われる処理は、第１実施形態におけるステップＳ５０４において行われる処理と同様である。この後、ステップＳ１１０９に遷移する。
【０１３０】
ステップＳ１１０９において、ＣＰＵ４０３は、ステップＳ１１０８において格納したイメージシーケンス２２４を構成する各々の画像に関するデータを、ＨＥＩＦファイルのムービーボックス２０１内のサブボックスに格納する。ステップＳ１１０９において行われる処理は、第１実施形態におけるステップＳ５０５において行われる処理と同様である。この後、ステップＳ１１１０に遷移する。
【０１３１】
ステップＳ１１１０において、ＣＰＵ４０３は、以下のような処理を行う。ＣＰＵ４０３は、ステップＳ１１０９においてＨＥＩＦファイルのメディアデータボックス１１２に格納されたフレーム６０４ａ〜６０４ｃのうち、保存対象フレームであるフレーム６０４ｃのみを表示するようにするための指示を、ＨＥＩＦファイルに格納する。保存対象フレームであるフレーム６０４ｃのみを表示するようにするためのこのような指示は、エディットリストボックス２０７に格納される。ステップＳ１１１０において行われる処理は、第１実施形態におけるステップＳ５０６において行われる処理と同様である。この後、ステップＳ１１１１に遷移する。
【０１３２】
ステップＳ１１１１において、ＣＰＵ４０３は、保存対象のフレームのデータを単独でデコード可能な形式にエンコードし得るエンコーダを本実施形態による画像処理装置が備えているか否かを判定する。このようなエンコーダを本実施形態による画像処理装置が備えている場合（ステップＳ１１１１においてＹＥＳ）、ステップＳ１１１２に遷移する。このようなエンコーダを本実施形態による画像処理装置が備えていない場合（ステップＳ１１１１においてＮＯ）、ステップＳ１１１６に遷移する。
【０１３３】
ステップＳ１１１２において、ＣＰＵ４０３は、ステップＳ１１０７において読み出したデータをデコードする。即ち、指定された保存対象フレームのデータと、指定された保存対象フレームをデコードするために必要なフレームのデータとをデコードする。こうして、指定された保存対象フレームの画像が得られる。ステップＳ１１１２において行われる処理は、第４実施形態におけるステップＳ１０１１において行われる処理と同様である。この後、ステップＳ１１１３に遷移する。
【０１３４】
ステップＳ１１１３において、ＣＰＵ４０３は、ステップＳ１１１２において得られた画像、即ち、指定された保存対象フレームの画像を、単独でデコードすることが可能な形式で圧縮（エンコード）する。ステップＳ１１１３において用いられる圧縮形式は、元動画の圧縮形式と異なっていてもよい。例えば、元動画の圧縮形式がＨＥＶＣであったとしても、保存対象フレームの画像をＪＰＥＧ形式で圧縮してもよい。ステップＳ１１１３において行われる処理は、第４実施形態におけるステップＳ１０１２において行われる処理と同様である。この後、ステップＳ１１１４に遷移する。
【０１３５】
ステップＳ１１１４において、ＣＰＵ４０３は、ステップＳ１１１３において圧縮することにより得られたデータを、イメージデータ１１３として、ＨＥＩＦファイルに格納する。ステップＳ１１１４において行われる処理は、第４実施形態におけるステップＳ１０１３において行われる処理と同様である。この後、ステップＳ１１１５に遷移する。
【０１３６】
ステップＳ１１１５において、ＣＰＵ４０３は、ステップＳ１１１４において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ１１１５において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。
【０１３７】
ステップＳ１１１６において、ＣＰＵ４０３は、指定された保存対象フレームの直近のＩＤＲフレームを特定する。上述したように、ＩＳＯＢＭＦＦにおいては、ＩＤＲフレームのフレーム番号が、サンプルテーブルボックス２１２内のシンクサンプルボックス２１８で管理される。このため、シンクサンプルボックス２１８で管理されるＩＤＲフレームのフレーム番号のうちの保存対象フレームのフレーム番号に最も近いフレーム番号が、保存対象フレームの直近のＩＤＲフレームのフレーム番号である。この後、ステップＳ１１１７に遷移する。
【０１３８】
ステップＳ１１１７において、ＣＰＵ４０３は、ステップＳ１１１６において特定したフレームのデータ、即ち、保存対象フレームの直近のＩＤＲフレームのデータを、動画ファイルから読み出す。そして、ＣＰＵ４０３は、動画ファイルから読み出した当該データをＲＡＭ４０４に保持する。この後、ステップＳ１１１８に遷移する。
【０１３９】
ステップＳ１１１８において、ＣＰＵ４０３は、ステップＳ１１１７において動画ファイルから読み出されたデータ、即ち、保存対象フレームの直近のＩＤＲフレームのデータを、イメージとしてＨＥＩＦファイルに格納する。この後、ステップＳ１１１９に遷移する。
【０１４０】
ステップＳ１１１９において、ＣＰＵ４０３は、ステップＳ１１１７において格納したイメージに関するデータを、ＨＥＩＦファイルのメタデータボックス１０２内のサブボックスに格納する。ステップＳ１１１９において行われる処理は、第２実施形態におけるステップＳ８０５において行われる処理と同様である。
【０１４１】
このように、単独でデコード可能な形式に保存対象フレームをエンコード可能なエンコーダを画像処理装置が備えていない場合、保存対象フレームの直近のフレームであるとともに単独でデコード可能なフレームを静止画ファイルに格納するようにしてもよい。
【０１４２】
［第６実施形態］
第６実施形態による画像処理装置及び画像処理方法について図１２を用いて説明する。図１乃至図１１に示す第１乃至第５実施形態による画像処理装置及び画像処理方法と同一の構成要素には、同一の符号を付して説明を省略または簡潔にする。
【０１４３】
図１２は、本実施形態による画像処理装置の動作を示すフローチャートである。図１２には、静止画を表示する際の手順が示されている。
【０１４４】
ステップＳ１２０１において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルに備えられたファイルレベルのボックスを列挙する。ファイルレベルのボックスとは、上述したように、他のボックスのサブボックスではないボックスであり、ファイルの先頭に位置する場合であってもアクセスすることが可能なボックスである。
【０１４５】
ステップＳ１２０２において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在しているか否かを判定する。イメージシーケンスは、上述したように、依存関係のある複数の静止画の集まりである。「依存関係のある複数の静止画」とは、上述したように、フレーム間圧縮によって得られた静止画の集まりのように、エンコード時の参照関係のある静止画の集まりである。このため、上述したように、イメージシーケンスに属する静止画データをデコードするためには、デコード対象の静止画がエンコード時に参照した他の静止画もデコードする必要がある。ステップＳ１２０２において行われる処理の詳細については、図１３を用いて後述することとする。処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在する場合（ステップＳ１２０３においてＹＥＳ）、ステップＳ１２０４に遷移する。処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在しない場合（ステップＳ１２０３においてＮＯ）、ステップＳ１２０６に遷移する。
【０１４６】
ステップＳ１２０４において、ＣＰＵ４０３は、イメージシーケンスデータ２２４に対する処理を行う。ステップＳ１２０４において行われる処理の詳細については、図１４を用いて後述することとする。イメージシーケンスデータ２２４に対する処理が成功した場合には（ステップＳ１２０５においてＹＥＳ）、ステップＳ１２１０に遷移する。イメージシーケンスデータ２２４に対する処理が失敗した場合には（ステップＳ１２０５においてＮＯ）、ステップＳ１２０６に遷移する。
【０１４７】
ステップＳ１２０６において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルのうちにイメージデータ１１３が存在しているか否かを確認する。イメージデータとは、上述したように、エンコード時の参照関係のない静止画データ、即ち、単独の静止画データである。ステップＳ１２０６において行われる処理の詳細については、図１７を用いて後述することとする。処理対象のＨＥＩＦファイルのうちにイメージデータ１１３が存在する場合には（ステップＳ１２０７においてＹＥＳ）、ステップＳ１２０８に遷移する。対象のＨＥＩＦファイルのうちにイメージデータ１１３が存在しない場合には（ステップＳ１２０７においてＮＯ）、ステップＳ１２１１に遷移する。
【０１４８】
ステップＳ１２０８において、ＣＰＵ４０３は、イメージデータに対する処理を行う。ステップＳ１２０８において行われる処理の詳細については、図１８を用いて後述することとする。この後、ステップＳ１２０９に遷移する。イメージデータに対する処理が成功した場合には（ステップＳ１２０９においてＹＥＳ）、ステップＳ１２１０に遷移する。イメージデータに対する処理に失敗した場合には（ステップＳ１２０９においてＮＯ）、ステップＳ１２１１に遷移する。
【０１４９】
ステップＳ１２１０において、ＣＰＵ４０３は、ステップＳ１２０４の処理によって得られた画像又はステップＳ１２０８の処理によって得られた画像を表示する。ステップＳ１２１０において行われる処理の詳細については、図２０を用いて後述することとする。
【０１５０】
ステップＳ１２１１において、ＣＰＵ４０３は、エラーの通知を行う。即ち、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４もイメージデータ１１３も存在していなかった場合には、エラーが表示部４０２に表示される。
こうして、図１２に示す処理が行われる。
【０１５１】
ステップＳ１２０２において行われる処理、即ち、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在しているか否かを判定する処理について、図１３を用いて説明する。図１３は、本実施形態による画像処理装置の動作を示すフローチャートである。図１３には、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在しているか否かを判定する手順が示されている。
【０１５２】
ステップＳ１３０１において、ＣＰＵ４０３は、ステップＳ１２０１において列挙したファイルレベルのボックスのうちにムービーボックス２０１が存在するか否かをチェックする。ステップＳ１２０１において列挙したファイルレベルのボックスのうちにムービーボックス２０１が存在する場合（ステップＳ１３０１においてＹＥＳ）、ステップＳ１３０２に遷移する。ステップＳ１２０１において列挙したファイルレベルのボックスのうちにムービーボックス２０１が存在しない場合（ステップＳ１３０１においてＮＯ）、ステップＳ１３１１に遷移する。
【０１５３】
ステップＳ１３０２において、ＣＰＵ４０３は、ムービーボックス２０１内に備えられたトラックボックス２０４を読み出す。この後、ステップＳ１３０３に遷移する。
【０１５４】
ステップＳ１３０３において、ＣＰＵ４０３は、トラックボックス２０４の読み出しに成功したか否かを判定する。トラックボックス２０４の読み出しに成功した場合（ステップＳ１３０３においてＹＥＳ）、ステップＳ１３０４に遷移する。トラックボックス２０４の読み出しに失敗した場合（ステップＳ１３０３においてＮＯ）、ステップＳ１３１１に遷移する。
【０１５５】
ステップＳ１３０４において、ＣＰＵ４０３は、トラックボックス２０４内のメディアボックス２０８内に備えられたハンドラボックス２１０を読み出す。この後、ステップＳ１３０５に遷移する。
【０１５６】
ステップＳ１３０５において、ＣＰＵ４０３は、ステップＳ１３０４において読み出したハンドラボックス２１０のｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’であるか否かを判定する。ステップＳ１３０４において読み出したハンドラボックス２１０のｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’である場合（ステップＳ１３０５においてＹＥＳ）、ステップＳ１３０６に遷移する。ステップＳ１３０４において読み出したハンドラボックス２１０のｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’でない場合（ステップＳ１３０５においてＮＯ）、ステップＳ１３１０に遷移する。
【０１５７】
ステップＳ１３０６において、ＣＰＵ４０３は、トラックボックス２０４内のエディットボックス２０６内に備えられたエディットリストボックス２０７を読み出す。この後、ステップＳ１３０７に遷移する。
【０１５８】
ステップＳ１３０７において、ＣＰＵ４０３は、エディットリストボックス２０７に格納されている情報が有効であるか否かを判定する。上述したように、エディットリストボックス２０７には、表示対象となる画像に対応する時刻とトラックの時刻（表示時刻）とを関連付ける情報が格納される。例えば、ｓｅｇｍｅｎｔ＿ｄｕｒａｔｉｏｎに０が設定され、ｍｅｄｉａ＿ｔｉｍｅに表示対象のフレームに対応する情報が設定され、ｍｅｄｉａ＿ｒａｔｅ＿ｉｎｔｅｇｅｒに０が設定されている場合には、表示対象のフレームが静止画として表示され得る。イメージシーケンスデータ２２４を静止画として表示させ得る情報がエディットリストボックス２０７に格納されている場合には、エディットリストボックス２０７に格納されている情報は有効とされる。イメージシーケンスデータ２２４を静止画として表示させ得る情報がエディットリストボックス２０７に格納されていない場合には、エディットリストボックス２０７に格納されている情報は無効とされる。エディットリストボックス２０７に格納されている情報が有効である場合（ステップＳ１３０７においてＹＥＳ）、ステップＳ１３０８に遷移する。エディットリストボックス２０７に格納された情報が無効である場合（ステップＳ１３０７においてＮＯ）、ステップＳ１３１０に遷移する。
【０１５９】
ステップＳ１３０８において、ＣＰＵ４０３は、当該トラックのトラックＩＤを、イメージシーケンスデータ２２４のトラックのトラックＩＤとして記録する。
【０１６０】
ステップＳ１３０９において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在していると判定する。
【０１６１】
ステップＳ１３１０においては、当該トラックボックス２０４の次のトラックボックス２０４に対する処理に移行する。即ち、ステップＳ１３０２に戻る。上述したように、ムービーボックス２０１には、複数のトラックボックス２０４が備えられている場合がある。
【０１６２】
ステップＳ１３１１において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在していないと判定する。
【０１６３】
こうして、処理対象のＨＥＩＦファイルのうちにイメージシーケンスデータ２２４が存在しているか否かの判定が行われる。
【０１６４】
ステップＳ１２０４において行われる処理、即ち、イメージシーケンスデータ２２４に対する処理について、図１４を用いて説明する。図１４は、本実施形態による画像処理装置の動作を示すフローチャートである。図１４には、イメージシーケンスデータ２２４に対する処理の手順が示されている。
【０１６５】
ステップＳ１４０１において、ＣＰＵ４０３は、ステップＳ１３０８において記録したトラックＩＤに対応するトラックを、処理対象のイメージシーケンスデータ２２４のトラックとして特定する。
【０１６６】
ステップＳ１４０２において、ＣＰＵ４０３は、ステップＳ１４０１において特定したトラックのトラックボックス２０４内に備えられたサンプルテーブルボックス２１２を読み出す。なお、サンプルテーブルボックス２１２は、上述したように、メディア情報ボックス２１１内に備えられている。メディア情報ボックス２１１は、上述したように、メディアボックス２０８内に備えられている。メディアボックス２０８は、上述したように、トラックボックス２０４内に備えられている。
【０１６７】
ステップＳ１４０３において、ＣＰＵ４０３は、以下のような処理を行う。即ち、ＣＰＵ４０３は、サンプルディスクリプションボックス２１３に格納されたサンプルエントリのｃｏｄｉｎｇｎａｍｅによって表される画像圧縮形式に対応するデコーダ（デコード機能）が本実施形態による画像処理装置に備えられているか否かを判定する。なお、サンプルディスクリプションボックス２１３は、上述したように、サンプルテーブルボックス２１２内に備えられている。サンプルテーブルボックス２１２は、上述したように、ステップＳ１４０２において読み出される。画像圧縮形式がＨＥＶＣである場合、ｃｏｄｉｎｇｎａｍｅは’ｈｖｃ１’である。ｃｏｄｉｎｇｎａｍｅによって表される画像圧縮形式に対応するデコーダが本実施形態による画像処理装置に備えられている場合（ステップＳ１４０３においてＹＥＳ）、ステップＳ１４０４に遷移する。ｃｏｄｉｎｇｎａｍｅによって表される画像圧縮形式に対応するデコーダが本実施形態による画像処理装置に備えられていない場合（ステップＳ１４０３においてＮＯ）、ステップＳ１４１２に遷移する。
【０１６８】
ステップＳ１４０４において、ＣＰＵ４０３は、ビジュアルサンプルエントリ１５００内に備えられたＨＥＶＣ構成ボックス１５０１に格納されたＨＥＶＣデコーダ構成データによってデコーダを初期化する。図１５は、ビジュアルサンプルエントリの例を示す図である。図１５に示すように、ビジュアルサンプルエントリ１５００には、ｃｏｄｉｎｇｎａｍｅフィールドと、ｗｉｄｔｈフィールドと、ｈｅｉｇｈｔフィールドと、その他のフィールドとが格納される。上述したように、画像圧縮形式がＨＥＶＣである場合、ｃｏｄｉｎｇｎａｍｅは’ｈｖｃ１’である。ビジュアルサンプルエントリ１５００内には、データタイプが‘ｈｖｃＣ’であるＨＥＶＣ構成ボックス１５０１と、データタイプが‘ｃｏｌｒ’である色情報ボックス１５０２と、その他のボックス１５０３とが更に備えられている。ＨＥＶＣ構成ボックス１５０１には、ＨＥＶＣデコーダ構成データが格納される。色情報ボックス１５０２には、ｍａｔｒｉｘと、その他のフィールドとが格納される。このように、ステップＳ１４０４においては、ビジュアルサンプルエントリ１５００内に備えられたＨＥＶＣ構成ボックス１５０１に格納されたＨＥＶＣデコーダ構成データによってデコーダが初期化される。この後、ステップＳ１４０５に遷移する。
【０１６９】
ステップＳ１４０５において、ＣＰＵ４０３は、ステップＳ１４０４におけるデコーダの初期化が成功したか否かを判定する。ＨＥＶＣには様々なプロファイルやレベルが定義されているため、ＨＥＶＣの画像をデコードし得るデコーダであっても、あらゆるＨＥＶＣの画像をデコードし得るとは限らない。ＨＥＶＣ構成ボックス１５０１に格納されたＨＥＶＣデコーダ構成データには、プロファイルやレベルが含まれている。ＣＰＵ４０３は、本実施形態による画像処理装置に備えられたデコーダによってデコード可能な画像であるか否かを、ＨＥＶＣ構成ボックス１５０１に格納されたＨＥＶＣデコーダ構成データに基づいて判定し得る。デコーダの初期化処理に成功した場合（ステップＳ１４０５においてＹＥＳ）、ステップＳ１４０６に遷移する。デコーダの初期化処理に失敗した場合（ステップＳ１４０５においてＮＯ）、ステップＳ１４１２に遷移する。
【０１７０】
ステップＳ１４０６において、ＣＰＵ４０３は、処理対象のＨＥＩＦファイルからフレームデータを読み出す。この際、デコードタイム−サンプルボックス２１４、サンプルサイズボックス２１５、サンプル−チャンクボックス２１６、及び、チャンクオフセットボックス２１７にそれぞれ格納されたデータが用いられる。なお、上述したように、デコードタイム−サンプルボックス２１４、サンプルサイズボックス２１５、サンプル−チャンクボックス２１６、及び、チャンクオフセットボックス２１７は、サンプルテーブルボックス２１２内に備えられている。
【０１７１】
ステップＳ１４０７において、ＣＰＵ４０３は、ステップＳ１４０６において読み出したフレームデータをデコードする。フレームデータに対するデコード処理については、図１６を用いて後述することとする。この後、ステップＳ１４０８に遷移する。
【０１７２】
ステップＳ１４０８において、ＣＰＵ４０３は、ステップＳ１４０７におけるデコードによって得られたフレームデータ（画像データ）が表示対象のフレームデータであるか否かを判定する。上述したように、イメージシーケンスデータ２２４のうちの表示対象のフレームデータは、エディットリストボックス２０７に格納されたｍｅｄｉａ＿ｔｉｍｅによって指定された時刻のフレームデータである。ＣＰＵ４０３は、デコードタイム−サンプルボックス２１４に格納されたデータに基づいて、ステップＳ１４０７においてデコードしたフレームデータの表示時刻を求める。そして、ＣＰＵ４０３は、当該表示時刻が、エディットリストボックス２０７に格納されたｍｅｄｉａ＿ｔｉｍｅによって指定された時刻と等しいか否かを判定する。これらが等しい場合には、ステップＳ１４０７におけるデコードによって得られたフレームデータは、表示対象のフレームデータである。一方、これらが等しくない場合には、ステップＳ１４０７におけるデコードによって得られたフレームデータは、表示対象のフレームではない。ステップＳ１４０７におけるデコードによって得られたフレームデータが表示対象のフレームデータである場合（ステップＳ１４０８においてＹＥＳ）、ステップＳ１４０９に遷移する。ステップＳ１４０７におけるデコードによって得られたフレームデータが表示対象のフレームデータでない場合（ステップＳ１４０８においてＮＯ）、ステップＳ１４１１に遷移する。
【０１７３】
ステップＳ１４０９において、ＣＰＵ４０３は、ステップＳ１４０７におけるデコードによって得られた画像データ（画像）を、処理結果画像データ（処理結果画像）として記録する。この後、ステップＳ１４１０に遷移する。
【０１７４】
ステップＳ１４１０において、ＣＰＵ４０３は、イメージシーケンスデータ２２４に対する処理に成功したことを記録する。
ステップＳ１４１１においては、当該フレームの次のフレームに対する処理に移行する。
ステップＳ１４１２において、ＣＰＵ４０３は、イメージシーケンスデータ２２４に対する処理に失敗したことを記録する。
こうして、図１４に示す処理が行われる。
【０１７５】
ステップＳ１４０７において行われる処理、即ち、フレームデータに対するデコード処理について、図１６を用いて説明する。図１６は、本実施形態による画像処理装置の動作を示すフローチャートである。図１６には、フレームデータに対するデコード処理の手順が示されている。フレームは、ブロックと称される小領域に分割されて圧縮符号化されている。このため、以下に示すステップＳ１６０１からステップＳ１６０９までの処理は、各々のブロックに対して順次行われる。
【０１７６】
ステップＳ１６０１において、ＣＰＵ４０３は、エントロピー復号化を行うことにより、量子化係数を取得する。
【０１７７】
ステップＳ１６０２において、ＣＰＵ４０３は、ステップＳ１６０１において取得した量子化係数を逆量子化することにより、変換係数を取得する。
【０１７８】
ステップＳ１６０３において、ＣＰＵ４０３は、ステップＳ１６０２において取得した変換係数を逆直交変換することにより、予測誤差を取得する。
【０１７９】
ステップＳ１６０４において、処理対象のブロックの予測モードがインター予測であるか否かを判定する。インター予測とは、符号化時の予測参照画像が、処理対象の画像以外の画像であるような予測、即ち、フレーム間予測である。インター予測は、フレーム間圧縮において用いられる。インター予測ではない予測は、イントラ予測である。イントラ予測は、符号化時の予測参照画像が、処理対象の画像の符号化済み領域であるような予測、即ち、フレーム内予測である。フレーム内圧縮が施されたフレームは、当該フレームに含まれる全てのブロックの予測モードはイントラ予測である。フレーム間圧縮が施されたフレームに含まれるブロックの予測モードは、インター予測の場合もあるし、イントラ予測の場合もある。処理対象のブロックの予測モードがインター予測である場合（ステップＳ１６０４においてＹＥＳ）、ステップＳ１６０５に遷移する。処理対象のブロックの予測モードがインター予測でない場合（ステップＳ１６０４においてＮＯ）、即ち、処理対象のブロックの予測モードがイントラ予測である場合、ステップＳ１６０７に遷移する。
【０１８０】
ステップＳ１６０５において、ＣＰＵ４０３は、動きベクトルを用いた復号を行うことを決定する。この後、ステップＳ１６０６に遷移する。
【０１８１】
ステップＳ１６０６において、ＣＰＵ４０３は、当該フレームに先行するフレームに対して行われた復号処理においてフレームメモリ（フレームバッファ）に記録された参照画像に対して動きベクトルを適用することにより、予測画像を生成する。この後、ステップＳ１６０９に遷移する。
【０１８２】
ステップＳ１６０７において、ＣＰＵ４０３は、ブロックの予測モードに応じた復号を行うことを決定する。この後、ステップＳ１６０８に遷移する。
【０１８３】
ステップＳ１６０８において、ＣＰＵ４０３は、当該ブロックを含むフレームのうちの復号済みの画像領域に予測モードを適用することにより、予測画像を生成する。この後、ステップＳ１６０９に遷移する。
【０１８４】
ステップＳ１６０９において、ＣＰＵ４０３は、以下のような処理を行う。即ち、ＣＰＵ４０３は、ステップＳ１６０６又はステップＳ１６０８において取得した予測画像に、ステップＳ１６０３において取得した予測誤差を適用することにより、フレーム内の一部のブロックが復号されたブロック復号画像を生成する。この後、ステップＳ１６１０に遷移する。
【０１８５】
ステップＳ１６１０において、ＣＰＵ４０３は、フレーム内の全てのブロックに対して復号が完了したか否かを判定する。フレーム内の全てのブロックに対して復号が完了した場合（ステップＳ１６１０においてＹＥＳ）、ステップＳ１６１１に遷移する。フレーム内の全てのブロックに対して復号が完了していない場合（ステップＳ１６１０においてＮＯ）、ステップＳ１６０１に戻る。
【０１８６】
ステップＳ１６１１において、ＣＰＵ４０３は、デコードにより得られた画像に対してループ内フィルタを適用する。ループ内フィルタは、符号化ループ内の量子化処理によって発生する符号化歪み（ブロック歪み、リンギング歪み等）を低減するためのものである。ループ内フィルタは、ブロック歪みを低減するデブロッキングフィルタを含む。
【０１８７】
ステップＳ１６１２において、ＣＰＵ４０３は、ループ内フィルタ処理が施された画像を参照画像としてフレームメモリに記録する。フレームメモリに記録される当該参照画像は、他のフレームを復号する際に行われるインター予測の際に用いられ得る。
【０１８８】
なお、ここでは、フレームデータに対するデコード処理がＣＰＵ４０３によって実行される場合を例に説明したが、表示部４０２に備えられた不図示のＧＰＵによってフレームデータに対するデコード処理が実行されるようにしてもよい。
こうして、図１６に示す処理が行われる。
【０１８９】
ステップＳ１２０６において行われる処理、即ち、処理対象のＨＥＩＦファイルのうちにイメージデータ１１３が存在しているか否かを確認する処理について、図１７を用いて説明する。図１７は、本実施形態による画像処理装置の動作を示すフローチャートである。図１７には、処理対象のＨＥＩＦファイルのうちにイメージデータ１１３が存在しているか否かを確認する処理の手順が示されている。
【０１９０】
ステップＳ１７０１において、ＣＰＵ４０３は、ステップＳ１２０１において列挙したファイルレベルのボックスのうちにメタデータボックス１０２が存在するか否かを確認する。ステップＳ１２０１において列挙したファイルレベルのボックスのうちにメタデータボックス１０２が存在する場合（ステップＳ１７０１においてＹＥＳ）、ステップＳ１７０２に遷移する。ステップＳ１２０１において列挙したファイルレベルのボックスのうちにメタデータボックス１０２が存在しない場合（ステップＳ１７０１においてＮＯ）、ステップＳ１７０６に遷移する。
【０１９１】
ステップＳ１７０２において、ＣＰＵ４０３は、メタデータボックス１０２を読み出す。この後、ステップＳ１７０３に遷移する。
【０１９２】
ステップＳ１７０３において、ＣＰＵ４０３は、メタデータボックス１０２内に備えられたハンドラボックス１０３を読み出す。この後、ステップＳ１７０４に遷移する。
【０１９３】
ステップＳ１７０４において、ＣＰＵ４０３は、ステップ１７０３において読み出したハンドラボックス１０３のｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’であるか否かを判定する。ｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’である場合（ステップＳ１７０４においてＹＥＳ）、ステップＳ１７０５に遷移する。ｈａｎｄｌｅｒ＿ｔｙｐｅが‘ｐｉｃｔ’ではない場合（ステップＳ１７０４においてＮＯ）、ステップＳ１７０６に遷移する。
【０１９４】
ステップＳ１７０５において、ＣＰＵ４０３は、当該ＨＥＩＦファイルのうちにイメージデータ１１３が存在していることを記憶する。
ステップＳ１７０６において、ＣＰＵ４０３は、当該ＨＥＩＦファイルのうちにイメージデータが存在していないことを記憶する。
こうして、図１７に示す処理が行われる。
【０１９５】
ステップＳ１２０８おいて行われる処理、即ち、イメージデータ処理について、図１８を用いて説明する。図１８は、本実施形態による画像処理装置の動作を示すフローチャートである。図１８には、イメージデータ処理の手順が示されている。
【０１９６】
ステップＳ１８０１において、ＣＰＵ４０３は、ステップＳ１７０２において読み出したメタデータボックス１０２内に備えられたプライマリアイテムボックス１０４からアイテムＩＤ（ｉｔｅｍ＿ＩＤ）を取得する。この後、ステップＳ１８０２に遷移する。
【０１９７】
ステップＳ１８０２において、ＣＰＵ４０３は、以下のような処理を行う。即ち、ＣＰＵ４０３は、ステップＳ１７０２において読み出したメタデータボックス１０２内に備えられたアイテム情報ボックス１０５から、ステップＳ１８０１で取得したアイテムＩＤに対応するアイテム情報エントリ１０６を取得する。この後、ステップＳ１８０３に遷移する。
【０１９８】
ステップＳ１８０３において、ＣＰＵ４０３は、以下のような判定を行う。即ち、ＣＰＵ４０３は、ステップＳ１８０２において取得したアイテム情報エントリ１０６に格納されたアイテムタイプによって表わされる画像圧縮形式に対応するデコーダ（デコード機能）が本実施形態による情報処理装置に備えられているか否を判定する。画像圧縮形式がＨＥＶＣである場合、アイテムタイプ（ｉｔｅｍ＿ｔｙｐｅ）は’ｈｖｃ１’である。アイテムタイプによって表される画像圧縮形式に対応するデコーダが本実施形態による画像処理装置に備えられている場合（ステップＳ１８０３においてＹＥＳ）、ステップＳ１８０４に遷移する。アイテムタイプによって表される画像圧縮形式に対応するデコーダが本実施形態による画像処理装置に備えられていない場合（ステップＳ１８０３においてＮＯ）、ステップＳ１８１３に遷移する。
【０１９９】
ステップＳ１８０４において、ＣＰＵ４０３は、以下のような処理を行う。即ち、ＣＰＵ４０３は、ステップＳ１７０２において読み出したメタデータボックス１０２内に備えられたアイテムプロパティ関連ボックス１１０から、ステップＳ１８０１において取得したアイテムＩＤに対応するプロパティのインデックスを取得する。なお、アイテムプロパティ関連ボックス１１０は、メタデータボックス１０２内に備えられたアイテムプロパティボックス１０８内に備えられている。この後、ステップＳ１８０５に遷移する。
【０２００】
ステップＳ１８０５において、ＣＰＵ４０３は、ステップＳ１７０２において読み出したメタデータボックス１０２内のアイテムプロパティコンテナボックス１０９から、ステップＳ１８０４において取得したインデックスに対応するプロパティを取得する。なお、アイテムプロパティコンテナボックス１０９は、メタデータボックス１０２内に備えられたアイテムプロパティボックス１０８内に備えられている。この後、ステップＳ１８０６に遷移する。
【０２０１】
ステップＳ１８０６において、ＣＰＵ４０３は、アイテムプロパティボックス１０８内に備えられたＨＥＶＣ構成ボックス１９０２に格納されたＨＥＶＣデコーダ構成データによってデコーダを初期化する。図１９は、アイテムプロパティボックスの例を示す図である。図１９に示すように、アイテムプロパティボックス１９００内には、データタイプが‘ｉｐｃｏ’であるアイテムプロパティコンテナボックス１９０１と、データタイプが‘ｉｐｍａ’であるアイテムプロパティ関連ボックス１９０５とが備えられている。アイテムプロパティコンテナボックス１９０１内には、データタイプが‘ｈｖｃＣ’であるＨＥＶＣ構成ボックス１９０２と、データタイプが‘ｃｏｌｒ’である色情報ボックス１９０３と、その他のボックス１９０４とが更に備えられている。ＨＥＶＣ構成ボックス１９０２には、ＨＥＶＣデコーダ構成データが格納される。色情報ボックス１９０３には、ｍａｔｒｉｘと、その他のフィールドとが格納される。アイテムプロパティ関連ボックス１９０５には、ｉｔｅｍ＿ＩＤと、ｐｒｏｐｅｒｔｙ＿ｉｎｄｅｘとが格納される。このように、ステップＳ１８０６においては、アイテムプロパティコンテナボックス１９０１内に備えられたＨＥＶＣ構成ボックス１９０２に格納されたＨＥＶＣデコーダ構成データによってデコーダが初期化される。この後、ステップＳ１８０７に遷移する。
【０２０２】
ステップＳ１８０７において、ＣＰＵ４０３は、ステップＳ１８０６におけるデコーダの初期化が成功したか否かを判定する。ステップＳ１８０７において行われる処理は、ステップＳ１４０５において行われる処理と同じである。デコーダの初期化処理に成功した場合（ステップＳ１８０７においてＹＥＳ）、ステップＳ１８０８に遷移する。デコーダの初期化処理に失敗した場合（ステップＳ１８０７においてＮＯ）、ステップＳ１８１３に遷移する。
【０２０３】
ステップＳ１８０８において、ＣＰＵ４０３は、以下のような処理を行う。即ち、ＣＰＵ４０３は、ステップＳ１７０２において読み出したメタデータボックス１０２内のアイテムロケーションボックス１０７から、ステップＳ１８０１において取得したアイテムＩＤに対応するアイテムのオフセットデータ及びサイズデータを取得する。オフセットデータはアイテムの位置を示し、サイズデータはアイテムのサイズを示す。この後、ステップＳ１８０９に遷移する。
【０２０４】
ステップＳ１８０９において、ＣＰＵ４０３は、ステップＳ１８０８において取得したオフセットデータ及びサイズデータに基づいて、処理対象のＨＥＩＦファイルからフレームデータを読み出す。この後、ステップＳ１８１０に遷移する。
【０２０５】
ステップＳ１８１０において、ＣＰＵ４０３は、ステップＳ１８０９で読み出したフレームデータをデコードする。ステップＳ１８１０において行われる処理は、ステップＳ１４０７において行われる処理と同じである。この後、ステップＳ１８１１に遷移する。
【０２０６】
ステップＳ１８１１において、ＣＰＵ４０３は、ステップＳ１８１０におけるデコードによって得られた画像データ（画像）を、処理結果画像データ（処理結果画像）として記録する。この後、ステップＳ１８１２に遷移する。
【０２０７】
ステップＳ１８１２において、ＣＰＵ４０３は、イメージデータに対する処理に成功したことを記録する。
ステップＳ１８１３において、ＣＰＵ４０３は、イメージデータに対する処理に失敗したことを記録する。
こうして、図１８に示す処理が行われる。
【０２０８】
ステップＳ１２１０おいて行われる処理、即ち、処理によって得られた画像を表示する処理について、図２０を用いて説明する。図２０は、本実施形態による画像処理装置の動作を示すフローチャートである。図２０には、処理によって得られた画像を表示する処理の手順が示されている。
【０２０９】
ステップＳ２００１において、ＣＰＵ４０３は、ステップＳ１４０９又はステップＳ１８１１において記録した処理結果画像データのピクセル形式が、輝度色差形式であるか否かをチェックする。処理結果画像データのピクセル形式が輝度色差形式である場合（ステップＳ２００１においてＹＥＳ）、ステップＳ２００２に遷移する。処理結果画像データのピクセル形式が色度色差形式でない場合（ステップＳ２００１においてＮＯ）、即ち、処理結果画像データのピクセル形式がＲＧＢ形式である場合、ステップＳ２００５に遷移する。
【０２１０】
ステップＳ２００２において、ＣＰＵ４０３は、処理結果画像データの色差データがサブサンプリング（間引き）されているか否かを判定する。人間の知覚は、輝度の変化と比較して色の変化には鈍感である。このため、色度データをサブサンプリングすることにより、データ量を削減する手法が採用されることがある。例えば、色差データが水平方向において半分になるようにサブサンプリングされたピクセル形式は、ＹＣｂＣｒ４：２：２形式と称される。また、色差データが水平方向において半分になるとともに垂直方向において半分になるようにサブサンプリングされたピクセル形式は、ＹＣｂＣｒ４：２：０形式と称される。色差データがサブサンプリングされている場合（ステップＳ２００２においてＹＥＳ）、ステップＳ２００３に遷移する。色差データがサブサンプリングされていない場合（ステップＳ２００２においてＮＯ）、ステップＳ２００４に遷移する。
【０２１１】
ステップＳ２００３において、ＣＰＵ４０３は、処理結果画像データの色差データをアップサンプリングする。例えば、処理結果画像データのピクセル形式がＹＣｂＣｒ４：２：２形式である場合には、色差データの量が水平方向において２倍となるように色差データを増加させる。また、処理結果画像データのピクセル形式がＹＣｂＣｒ４：２：０形式である場合には、色差データの量が水平方向において２倍になるとともに垂直方向においても２倍となるように色差データを増加させる。この後、ステップＳ２００４に遷移する。
【０２１２】
ステップＳ２００４において、ＣＰＵ４０３は、処理結果画像データの形式を輝度色差形式からＲＧＢ形式に変換する。画像データがイメージシーケンスデータである場合、処理結果画像データの形式を輝度色差形式からＲＧＢ形式に変換するための情報は、データタイプが‘ｃｏｌｒ’である色情報ボックス１５０２（図１５参照）内に格納されている。なお、色情報ボックス１５０２は、サンプルディスクリプションボックス２１３内に備えられたビジュアルサンプルエントリ１５００内に備えられている。画像データがイメージデータである場合、処理結果画像データの形式を輝度色差形式からＲＧＢ形式に変換するための情報は、アイテムプロパティコンテナボックス１９０１内に備えられた色情報ボックス１９０３内に格納されている。この後、ステップＳ２００５に遷移する。
【０２１３】
ステップＳ２００５において、ＣＰＵ４０３は、ＲＧＢデータを、表示部４０２に表示する。
【０２１４】
このように、本実施形態によれば、第１乃至第５実施形態のいずれかによって生成される静止画ファイルを用いて静止画を良好に表示することができる。
【０２１５】
［変形実施形態］
以上、本発明の実施形態を詳述したが、本発明はこれらの実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。例えば、上述の実施形態の一部を適宜組み合わせてもよい。
【０２１６】
上記実施形態では、動画ファイルがＨ．２６５／ＨＥＶＣ規格の動画ファイルである場合を例に説明したが、これに限定されるものではない。例えば、動画ファイルが、Ｈ．２６４／ＡＶＣ規格の動画ファイルであってもよい。また、動画ファイルが、ＱｕｉｃｋＴｉｍｅのファイルフォーマットの動画ファイルであってもよい。
【０２１７】
また、静止画を得るための複数のフレーム（圧縮フレームデータ）がＨＥＩＦファイルに格納される場合を例として説明したが、これに限定されるものではない。動画を構成する圧縮フレームデータを複数格納することができるとともに、格納した複数の圧縮フレームデータのうちのいずれかを表示対象のフレームとして指定し得るようなフォーマットのファイルに、静止画を得るための複数のフレームを格納すればよい。
【０２１８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２１９】
４００‥‥画像処理装置
４０１‥‥入力部
４０２‥‥表示部
４０３‥‥ＣＰＵ
４０４‥‥ＲＡＭ
４０５‥‥記憶部
４０６‥‥通信制御部
４０７‥‥システムバス
【図１】
2019154014.tif 000003
【図２】
2019154014.tif 000004
【図３】
2019154014.tif 000005
【図４】
2019154014.tif 000006
【図５】
2019154014.tif 000007
【図６】
2019154014.tif 000008
【図７】
2019154014.tif 000009
【図８】
2019154014.tif 000010
【図９】
2019154014.tif 000011
【図１０】
2019154014.tif 000012
【図１１】
2019154014.tif 000013
【図１２】
2019154014.tif 000014
【図１３】
2019154014.tif 000015
【図１４】
2019154014.tif 000016
【図１５】
2019154014.tif 000017
【図１６】
2019154014.tif 000018
【図１７】
2019154014.tif 000019
【図１８】
2019154014.tif 000020
【図１９】
2019154014.tif 000021
【図２０】
2019154014.tif 000022