(57)【要約】【課題】外部記録媒体からのデータ読み出し速度とデコード速度とが変化する場合であっても、動画再生時の性能を十分に発揮する。【解決手段】電子機器１は、デコード部１３による動画データのフレーム単位でのデコード速度とデータ読込部による外部記録媒体挿入部１６に挿入された外部記録媒体からのフレーム単位での読み込み速度とに基づいて、データ読込部１３によって外部記録媒体からフレーム単位で動画データを読み込ませ、デコード部１３によって読み込まれた動画データをフレーム単位で逐次デコードさせる第１のバッファリング方式、または、ファイル一括読込部２１によって外部記録媒体から一括して動画データを読み込ませ、デコード部１３によって読み込まれた動画データをフレーム単位で逐次デコードさせる第２のバッファリング方式のいずれか一方を用いてバッファリング動作を制御する。【選択図】図２
2014086798.tif 000002
【特許請求の範囲】
【請求項１】
外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、
前記読込手段により読み込まれる動画データをデコードするデコード手段と、
前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、
前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、
を備えることを特徴とする電子機器。
【請求項２】
前記特定手段は、再生対象となる動画データの記録状態、動画データの再生条件、外部記録媒体の種類のうちの少なくとも１つの条件の違いに応じて変化するデコード速度または読み込み速度を特定する
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記読込手段は、前記外部記録媒体に記録されている動画データを所定単位で読み込む第１の読み込み方式と、前記外部記録媒体に記録されている動画データを複数の前記所定単位で一括で読み込む第２の読み込み方式とのいずれかを用いて動画データを読み込み、
前記デコード手段は、前記読込手段により読み込まれる動画データを前記所定単位で逐次デコードし、
前記特定手段は、前記デコード手段により動画データをデコードするデコード速度と、前記読込手段が前記第１の読み込み方式により動画データを読み込む第１の読み込み速度と、前記読込手段が前記第２の読み込み方式により動画データを読み込む第２の読み込み速度とを特定し、
前記選択手段は、前記特定手段により特定されたデコード速度と、第１の読み込み速度と、第２の読み込み速度との関係が所定の関係にあるか否かに応じて、前記読込手段が動画データを読み込む際の読み込み方式として前記第１の読み込み方式と前記第２の読み込み方式のいずれかを選択する
ことを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記読込手段が前記第２の読み込み方式により一括で読み込んだ複数の前記所定単位の動画データを記憶する一括読込ファイル記憶手段と、
前記読込手段によって前記外部記録媒体からフレーム単位で動画データを逐次読み込ませ、この逐次読み込まれる動画データを前記デコード手段によって前記フレーム単位で逐次デコードさせる第１のバッファリング方式、または、前記読込手段が前記第２の読み込み方式によって前記外部記録媒体から一括して読み込んだ複数の前記所定単位の動画データを前記一括読込ファイル記憶手段に記憶させた後、この一括読込ファイル記憶手段に記憶されている動画データを、前記デコード手段によって前記フレーム単位で順番にデコードさせる第２のバッファリング方式のいずれか一方を用いてバッファリング動作を制御する制御手段と
を更に備えることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御手段は、前記デコード手段による動画データのフレーム単位でのデコード速度と前記読込手段による前記外部記録媒体からのフレーム単位での読み込み速度とに基づいて、前記第１のバッファリング方式と、前記第２のバッファリング方式のいずれか一方を選択する
ことを特徴とする請求項４に記載の電子機器。
【請求項６】
前記制御手段は、前記デコード手段による前記デコード速度が、前記読込手段による前記第１の読み込み速度より遅い場合には、前記第１のバッファリング方式を用いる一方、前記デコード手段によるる前記デコード速度が、前記読込手段による前記第１の読み込み速度よりも速い場合には、前記第２のバッファリング方式を選択する
ことを特徴とする請求項５に記載の電子機器。
【請求項７】
前記デコード手段によってデコードされる直前の動画データをフレーム単位で一時的に保持するデコード用バッファ手段を更に備え、
前記第２のバッファリグ方式を用いる場合に、前記一括読込ファイル記憶手段に記憶されている動画データを、前記デコード用バッファ手段にフレーム単位で直接転送する
ことを特徴とする請求項４乃至６のいずれかに記載の電子機器。
【請求項８】
前記制御手段は、前記読込手段が前記第１の読み込み方式により動画データを読み込む第１の読み込み時間が、前記デコード手段により動画データをデコードするデコード時間に前記読込手段が前記第２の読み込み方式により動画データを読み込む第２の読み込み時間を加えた時間よりも長い場合には、前記第２のバッファリング方式を用いる
ことを特徴とする請求項４乃至７のいずれかに記載の電子機器。
【請求項９】
前記読込手段と前記デコー手段とは、各々、並行して同時処理可能な複数のプロセッサコアを搭載した中央処理装置で実現されるものである
ことを特徴とする請求項１乃至８のいずれかに記載の電子機器。
【請求項１０】
表示手段と、
外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、
前記読込手段により読み込まれる動画データをデコードするデコード手段と、
前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、
前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、
前記デコード手段によりデコードされた動画データを、前記表示手段に表示する表示制御手段と
を備えることを特徴とする動画再生装置。
【請求項１１】
外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込ステップと、
前記読込ステップで読み込まれる動画データをデコードするデコードステップと、
前記デコードステップでの動画データのデコード速度と前記読込ステップでの動画データの読み込み速度とを特定する特定ステップと、
前記特定ステップで特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込ステップで動画データを読み込む際の読み込み方式を選択する選択ステップと
を含むことを特徴とする動画デコード方法。
【請求項１２】
電子機器のコンピュータに、
外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込機能、
前記読込機能により読み込まれる動画データをデコードするデコード機能、
前記デコード機能による動画データのデコード速度と前記読込機能による動画データの読み込み速度とを特定する特定機能、
前記特定機能により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込機能が動画データを読み込む際の読み込み方式を選択する選択機能
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、動画再生装置、動画デコード方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラを始め、撮像機能を有する、携帯電話、スマートフォン、タブレット端末などの電子機器においては、撮影した動画をＨ．２６４などのコーディックを用いて圧縮し、外部記録媒体（ＳＤカード（登録商標）や、ｍｉｃｒｏＳＤカード（登録商標）、コンパクトフラッシュカード（登録商標）など）に記録する動画撮影機能、及び記録された動画データを読み出し、デコードして再生する動画再生機能を備えていることが一般的となっている。
【０００３】
このような電子機器において、記録した動画データを再生する場合、例えば、動画データを読み込みながら逐次デコードして再生するというようにストリーミングで行っているが、Ｐフレームなどの単独でデコードできないフレームがあるために、逆再生する場合に再生速度が遅くなるという難点がある。
【０００４】
また、このような電子機器においては、例えば、スポーツなどでフォームを比較することを目的として、２つの動画を同時に再生する機能が知られているが、カメラのデコーダ資源の数や処理時間の問題で、２つの動画を同時にストリーミングしながら再生することも難しい。
【０００５】
そこで、記録した動画データを再生する場合、動画データを一旦、内部メモリにバッファリングした後、デコードして表示用データに変換して再生する技術がある。例えば、従来技術としては、外部記録媒体として光ディスクを用いた再生装置が開示されており、光ディスクから読み込んだ画像データと音声データとを一旦バッファに格納した後、デコードして出力する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２８５５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述した電子機器における動画再生では、バッファリングを行う際に、外部記録媒体から動画データを読み出す際のデータ読み出し速度（１フレーム当たりの読み出し時間）とデコード速度（１フレーム当たりのデコード時間）とに応じて、全体の処理時間（デコード完了するまでの時間）が大きく変化する。つまり、外部記録媒体のデータ読み出し速度は、外部記録媒体の種類やカテゴリで異なり、また、デコード速度も、動画データのコーデック種類や圧縮率などによって異なる。
【０００８】
しかしながら、上記従来技術では、外部記録媒体からのデータ読み出し速度とデコード速度とが変化する場合に、動画再生時の性能を十分に発揮することができなくなってしまうという問題があった。
【０００９】
そこで本発明は、外部記録媒体からのデータ読み出し速度とデコード速度とが変化する場合であっても、動画再生時の性能を十分に発揮することができる電子機器、動画再生装置、動画デコード方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明は、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、前記読込手段により読み込まれる動画データをデコードするデコード手段と、前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、を備えることを特徴とする電子機器である。
【００１１】
この発明は、表示手段と、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、前記読込手段により読み込まれる動画データをデコードするデコード手段と、前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、前記デコード手段によりデコードされた動画データを、前記表示手段に表示する表示制御手段とを備えることを特徴とする動画再生装置である。
【００１２】
この発明は、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込ステップと、前記読込ステップで読み込まれる動画データをデコードするデコードステップと、前記デコードステップでの動画データのデコード速度と前記読込ステップでの動画データの読み込み速度とを特定する特定ステップと、前記特定ステップで特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込ステップで動画データを読み込む際の読み込み方式を選択する選択ステップとを含むことを特徴とする動画デコード方法である。
【００１３】
この発明は、電子機器のコンピュータに、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込機能、前記読込機能により読み込まれる動画データをデコードするデコード機能、前記デコード機能による動画データのデコード速度と前記読込機能による動画データの読み込み速度とを特定する特定機能、前記特定機能により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込機能が動画データを読み込む際の読み込み方式を選択する選択機能を実行させることを特徴とするプログラムである。
【発明の効果】
【００１４】
この発明によれば、外部記録媒体からのデータ読み出し速度とデコード速度が変化する場合であっても、動画再生時の性能を十分に発揮することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による電子機器１の構成を示すブロック図である。
【図２】本実施形態による電子機器１の機能構成を示すブロック図である。
【図３】本実施形態による電子機器１の動作を説明するためのフローチャートである。
【図４】本実施形態による電子機器１の動作を説明するためのフローチャートである。
【図５】本実施形態による電子機器１の動画データのバッファリング動作を説明するタイミングチャートである。
【図６】本実施形態による電子機器１の動画データのバッファリング動作を説明するタイミングチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を、図面を参照して説明する。
本発明は、外部記録媒体からのデータ読み出し速度と、動画データのデコード速度に応じて、より適切なバッファリング方法を選択することで、より高速なバッファリングを可能とする。この結果、再生指示から再生開始までの待ち時間を短縮することができる。なお、外部記録媒体からのデータ読み出し速度は、外部記録媒体の種類やカテゴリに依存し、動画データのデコード速度は、動画データのコーデック種類、圧縮率、解像度、内部メモリ（バッファ）のデータ転送速度などに依存する。
【００１７】
Ａ．実施形態の構成
図１は、本発明の実施形態による電子機器１の構成を示すブロック図である。図において、電子機器１は、操作部（キー）１０と、電源部１１と、表示部１２と、画像変換部１３と、記憶部１４と、制御部（ＣＰＵ）１５と、外部記録媒体挿入部１６とを備えている。なお、電子機器１としては、例えば、デジタルカメラを想定している。但し、図１には、本発明による動画データのバッファリング方法に関する構成のみを示しており、それ以外については省略している。
【００１８】
操作部（キー）１０は、シャッターＳＷ、ズームＳＷ、モードキー、ＳＥＴキー、十字キー等の複数の操作キーを含み、ユーザのキー操作に応じた操作信号を制御部（ＣＰＵ）１５に出力する。電源部１１は、一次電池、または充電可能な二次電池などからなり、各部に電力を供給する。表示部１２は、カラーＬＣＤとその駆動回路を含み、動画再生時には、後述する表示用データバッファ部１４４に保持されているデコードされた動画データを、所定のフレームレートで再生表示する。
【００１９】
画像変換部１３は、図示しない撮像部で撮影した動画データのエンコード（例えば、Ｈ．２６４形式への符号化）を行うとともに、後述する記憶部１４のデコード用バッファ部１４２から１フレーム分ずつ読み出した動画データをデコード（例えば、Ｈ．２６４形式で圧縮された動画データの復元）する。デコードした動画データは、１フレームずつ表示用データバッファ部１４４に格納される。なお、画像変換部１３は、デコードする際に動画データの伸長・縮小処理を行うようになっており、１フレーム当たりのデコード時間には、伸長・縮小処理の時間も含まれる。
【００２０】
記憶部１４は、プログラム記憶部１４１と、デコード用バッファ部１４２と、一括読込ファイル記憶部１４３と、表示用データバッファ部１４４とを備えている。プログラム記憶部１４１は、制御部（ＣＰＵ）１５により実行される、各部の制御に必要なプログラムを記憶している。デコード用バッファ部１４２は、後述する外部記録媒体挿入部１６に挿入された外部記録媒体から読み込んだ動画データを、１フレーム単位でデコードするための画像変換部１３に供給するために一時的に保持するバッファである。一括読込ファイル記憶部１４３は、後述する外部記録媒体挿入部１６に挿入された外部記録媒体から一括して読み込んだ動画データを一時的に保持するためのバッファである。
【００２１】
表示用データバッファ部１４４は、画像変換部１３で１フレーム単位でデコードされた動画データを逐次保持するバッファである。該表示用データバッファ部１４４に保持された動画データは、デコードが完了すると、所定のフレームレートで読み出され、表示部１２に再生表示される。
【００２２】
外部記録媒体挿入部１６は、ＳＤカード（登録商標）や、ｍｉｃｒｏＳＤカード（登録商標）、コンパクトフラッシュカード（登録商標）などの外部記録媒体を挿入することが可能である。これらの外部記録媒体は、そのメモリ構造によって、通常のアクセスよりもブロック単位（ページ単位）で一括してアクセスする場合のアクセス速度が速くなっている場合が多い。これらの外部記録媒体に、所定のコーディック（例えば、Ｈ．２６４など）により圧縮された動画データを保持する。
【００２３】
制御部（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５は、いわゆる２つのＣＰＵコア１５１、１５２を搭載しているデュアルコアＣＰＵである。本実施形態では、デコード処理時のバッファリング方法として、２つのバッファリング方式を用意している。制御部（ＣＰＵ）１５は、外部記録媒体挿入部１６に挿入された外部記録媒体からのデータ読み出し速度と画像変換部１３による動画データのデコード速度とに応じて、バッファリング方式を選択的に切り替えることで、より高速なバッファリングを可能としている。
【００２４】
そのため、第１のバッファリング方式は、外部記録媒体挿入部１６に挿入された外部記録媒体から１フレーム単位で読み込みながら、画像変換部１３で１フレーム単位で逐次デコードして表示用バッファ部１４にバッファリングする方式である。また、第２のバッファリング方式は、外部記録媒体挿入部１６に挿入された外部記録媒体から一括して動画データを読み込んでおき（一括読込ファイル記憶部１４３に保持しておき）、一括読込ファイル記憶部１４３から１フレーム単位で読み込みながら、画像変換部１３で１フレーム単位で逐次デコードして表示用バッファ部１４にバッファリングする方式である。
【００２５】
また、第１のバッファリング方式により１フレーム単位での読み込みを行う場合には、外部記録媒体とのアクセス制御は、ブロック単位（ページ単位）でのアクセス制御ではなく通常のアクセス制御を行い、第２のバッファリング方式により一括して動画データを読み込む場合には、外部記録媒体とのアクセス制御は、通常のアクセス制御ではなくブロック単位（ページ単位）でのアクセス制御を行う。これにより、同じ量のデータを読み込むための時間は、第１のバッファリング方式よりも第２のバッファリング方式の方が速くなる。
【００２６】
なお、本実施形態では、制御部（ＣＰＵ）１５にデュアルコアＣＰＵを用いているので、例えば、ＣＰＵコア１５１で、外部記録媒体挿入部１６に挿入された外部記録媒体からの１フレーム単位での読み込み処理や、一括読み込み処理（一括して読み込んだ動画データからフレーム単位でデコード用バッファ部１４２へのコピーも含む）を行い、ＣＰＵコア１５２で、１フレーム単位で逐次デコードして表示用バッファ部１４にバッファリングする処理を行う（逆でもよい）。
【００２７】
図２は、本実施形態による電子機器１の機能構成を示すブロック図である。図において、図１に対応する部分には同一の符号を付けて説明を省略する。データ読込部２０（ＣＰＵコア１５１）は、第１のバッファリング方式が選択されている場合に、外部記録媒体挿入部１６に挿入された外部記録媒体から１フレーム単位で動画データを読み込み、デコード用バッファ部１４２に転送する。
【００２８】
ＣＰＵコア１５１は、データ読込部２０またはファイル一括読込部２１により、外部記録媒体挿入部１６に挿入可能な各種の外部記録媒体とのデータの読み書きを行うことが可能であり、それぞれの外部記録媒体で選択可能な各種のアクセス方式やアクセス速度に対応している。
【００２９】
ファイル一括読込部２１（ＣＰＵコア１５１）は、第２のバッファリング方式が選択されている場合に、外部記録媒体挿入部１６に挿入された外部記録媒体から（規定サイズ）の動画データをブロック単位（ページ単位）で一括して読み込み、一括読込ファイル記憶部１４３に供給する。一括読込ファイル記憶部１４３は、一括で読み込まれた（規定サイズ）の動画データを保持する。一括読込ファイル記憶部１４３からデコード用バッファ部１４２には、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によって１フレーム単位で動画データを順次、直接転送（コピー）するようになっている。
【００３０】
デコード部（画像変換部）１３（ＣＰＵコア１５２）は、第１のバッファリング方式、または第２のバッファリング方式のいずれにおいても、デコード用バッファ部１４２に順次転送される１フレーム分の動画データをデコードして復号化し、表示用データバッファ部１４４に順次バッファリングする。
【００３１】
例えば、２つの動画データを同時に再生する場合には、デコード部（画像変換部）１３（ＣＰＵコア１５２）は、１つ目の動画データのデコードを行った後、２つめの動画データのデコードを行うようになっている。但し、これに限定されることなく、例えば、ブロック単位で交互にデコードしてもよい。デコード完了後、表示用データバッファ部１４４には、デコードされた２つの動画データが格納されていることになる。表示制御部２２は、表示用データバッファ部１４４にバッファリングされたデコードされた動画データを読み出して所定のフレームレートで表示部１２に再生表示する。
【００３２】
特に、高画質、高圧縮された動画データを再生する場合、再生時には、既にデコードされた動画データが表示用データバッファ部１４４にバッファリングされているので、逆再生するような場合であっても、再生速度が遅くなるといったような問題は生ぜず、円滑に逆再生することが可能である。
【００３３】
また、上述したように、２つの動画データを同時再生する場合も、同時再生時には、既にデコードされた２つの動画データが表示用データバッファ部１４４にバッファリングされているので、再生機能に負荷がかからず、円滑に再生することが可能である。
【００３４】
次に、本実施形態において、第１のバッファリング方式、または第２のバッファリング方式を切り替えて用いる際の条件について説明する。本実施形態では、外部記録媒体挿入部１６に挿入された外部記録媒体からのデータ読み出し速度とデコード部（画像変換部）１３による動画データのデコード速度とに応じて、バッファリング方式を選択的に切り替えて用いるために、以下に示す時間データを予め保持、または随時計算するようになっている。
【００３５】
つまり、外部記録媒体挿入部１６に挿入可能な外部記録媒体の種類毎（カテゴリ毎）に、ブロック単位（ページ単位）での一括アクセス機能の有無や、そのアクセス速度を予め保持しておき、いずれかの外部記録媒体が挿入された際にその種類を特定し、特定された種類の外部記録媒体のアクセス速度に基づいて以下の時間を計算する。
【００３６】
また、動画データの記録状態（圧縮率、解像度）や動画データの再生条件（再生モード）の種類毎にデコード速度に関する情報を予め保持しておき、動画データの再生が指示された際に、再生対象となる動画データの記録状態や、再生モードを特定し、特定された記録状態や再生モードに基づいて以下の時間を計算する。
【００３７】
時間Ｔ１：動画１フレーム当たりのデコード時間（伸長・縮小を含む）
時間Ｔ２：動画１フレーム当たりの動画データ（概算サイズ）を外部記録媒体挿入部１６に挿入された外部記録媒体から読み込む時間
時間Ｔ３：（規定サイズ）の動画データを一括で外部記録媒体挿入部１６に挿入された外部記録媒体から読み込む時間
時間Ｔ４：残りデコードフレーム数ｎ×時間Ｔ２
時間Ｔ５：残りデコードフレーム数ｎ×時間Ｔ１＋時間Ｔ３
【００３８】
上記１フレーム当たりの概算データサイズの読み込み時間Ｔ２と、一括で読み込み可能なバッファサイズの読み込み時間Ｔ３とについては、起動時や動画選択時に計測して内部的に保持しておく。
【００３９】
上述したように、本実施形態において、デュアルコアで動作させるため、デコード処理と動画データの読み込み処理とは、各々、ＣＰＵコア１５１、１５２で並行して同時に行うことで効率的な処理を実現している。ゆえに、１フレームのデコード処理と動画データの読み込み処理とのいずれか時間を要する処理の方が全体処理のオーバーヘッドとなる。
【００４０】
すなわち、デコード時間Ｔ１＞動画データ読み込み時間Ｔ２の場合には、１フレーム毎の動画データ読み込み処理の方が速くなるため、１フレーム毎に読み込みながらデコードしてバッファリングを行う第１のバッファリング方式を選択する。つまり、動画データ読み込み処理の方がデコード処理より速いので、１フレーム毎に読み込みながらデコードしても、動画データの読み込みを待つことなく、連続してデコード処理を実行することができる。ゆえに、最も短時間でデコードを完了することができ、バッファリングも最も短時間で完了することが可能となる。
【００４１】
これに対して、デコード時間Ｔ１＜ファイル読み込み時間Ｔ２の場合において、時間Ｔ４（残りデコードフレーム数ｎ×時間Ｔ２）＞時間Ｔ５（残りデコードフレーム数ｎ×時間Ｔ１＋時間Ｔ３）の場合には、ファイルを一括で読み込み、一旦、一括読込ファイル記憶部１４３に保持し、内部で１フレーム毎にデコード用バッファ部１４２にＤＭＡコピーしながらデコードしてバッファリングを行う第２のバッファリング方式を選択する。
【００４２】
つまり、デコード処理の方がファイル読み込み処理より速いので、１フレーム毎に読み込みながらデコードすると（第１のバッファリグ方式を用いると）、１フレーム分の動画データの読み込みが完了するまでデコード処理を待機させる必要が生じ、連続して実デコード処理を実行することができなくなる。この場合、一括読み込み時間Ｔ３が、上記デコード時の待ち時間を吸収できるほどに短時間であれば（すなわち、時間Ｔ４＞時間Ｔ５）、一括して動画データを読み込んでから、内部で１フレーム毎にコピーしてデコードする第２のバッファリング方式を選択した方が、短時間でデコードを完了することができ、バッファリングも最も短時間で完了することが可能となる。
【００４３】
このように、外部記録媒体挿入部１６に挿入された外部記録媒体のデータ読み出し速度とデコード部（画像変換部）１３のデコード速度とに応じて、第１のバッファリング方式、または第２のバッファリング方式を選択的に切り替えて用いることで、より短時間でバッファリングを完了することができ、再生指示から再生開始までの待ち時間を短縮することができる。
【００４４】
Ｂ．実施形態の動作
次に、上述した実施形態の動作について説明する。
図３、及び図４は、本実施形態による電子機器１の動作を説明するためのフローチャートである。また、図５、及び図６は、本実施形態による電子機器１の動画データのバッファリング動作を説明するタイミングチャートである。
【００４５】
ユーザにより動画再生が指示されると、まず、後述する残りデコードフレーム数の設定など、バッファリング初期化処理を実行する（ステップＳ１０）。次に、デコード時間Ｔ１＞動画データ読み込み時間Ｔ２であるか否を判断し（ステップＳ１２）、デコード時間Ｔ１＞動画データ読み込み時間Ｔ２である場合には（ステップＳ１２のＹＥＳ）、ステップＳ１４〜Ｓ２８のループ処理を実行する。該ステップＳ１４〜Ｓ２６のループ処理は、上述した第１のバッファリング方式に相当する。
【００４６】
まず、データ読込部２０（ＣＰＵコア１５１）は、外部記録媒体挿入部１６に挿入された外部記録媒体から１フレーム単位で動画データを読み込み、デコード用バッファ部１４２に順次格納する（ステップＳ１６）。これと並行して、デコード部１３（ＣＰＵコア１５２）は、デコード用バッファ部１４２から１フレーム単位で動画データを読み込んでデコードし（ステップＳ１８）、表示用データバッファ部１４４に順次格納する（ステップＳ２０）。
【００４７】
次に、まだデコードしていない、残りデコードフレーム数を１つ減算し（ステップＳ２２）、残りデコードフレーム数が０になったか否かを判断する（ステップＳ２４）。そして、残りデコードフレーム数が０でない場合、すなわち、まだデコードすべきフレームが残っている場合には（ステップＳ２４のＮＯ）、ステップＳ１６に戻る。以下、残りデコードフレーム数が０になるまで、上述した処理を繰り返し、残りデコードフレーム数が０になった場合には（ステップＳ２４のＹＥＳ）、ループ処理を終了し（ステップＳ２６）、当該処理を終了する。
【００４８】
図５には、上述した第１のバッファリング方式の動作を示している。図示するように、第１のバッファリング方式では、データ読込部２０（ＣＰＵコア１５１）が、外部記録媒体挿入部１６に挿入された外部記録媒体から、初回読み込み後、１フレーム単位で動画データを順次読み込み、デコード用バッファ部１４２に順次格納する。これと並行して、デコード部１３（ＣＰＵコア１５２）が、デコード用バッファ部１４２から１フレーム単位で動画データを読み込んでデコードし、表示用データバッファ部１４４に順次格納する。
【００４９】
このように、デコード時間Ｔ１＞動画データ読み込み時間Ｔ２である場合には、動画データ読み込み処理の方がデコード処理より速いので、第１のバッファリング方式を選択することで、１フレーム毎に読み込みながらデコードしても、動画データの読み込みを待つことなく、デコードを連続して実行することができる。したがって、最も短時間でデコードを完了することができ、バッファリングも最も短時間で完了することになるので、再生指示から再生開始までの待ち時間を短縮することができる。
【００５０】
一方、デコード時間Ｔ１＞動画データ読み込み時間Ｔ２でない場合には（ステップＳ１２のＮＯ）、時間Ｔ４（残りデコードフレーム数ｎ×時間Ｔ２）＞時間Ｔ５（残りデコードフレーム数ｎ×時間Ｔ１＋時間Ｔ３）であるか否かを判断する（ステップＳ３０）。なお、デコードする前であるならば、残りデコードフレーム数ｎは、動画データの全てのフレーム数となる。
【００５１】
上記ステップ３０では、一括読み込み時間Ｔ３が、上記デコード処理時の待ち時間を吸収できるほどに短時間であるか否かを判断している。すなわち、時間Ｔ４＞時間Ｔ５であれば、一括して動画データを読み込んでから、内部で１フレーム毎にコピーしてデコードする第２のバッファリング方式を選択した方が、短時間でデコードを完了することができることを意味する。
【００５２】
ここで、時間Ｔ４＞時間Ｔ５である場合には（ステップＳ３０のＹＥＳ）、ファイル一括読込部２２（ＣＰＵコア１５１）は、外部記録媒体挿入部１６に挿入された外部記録媒体から（規定サイズ＝バッファサイズ分）の動画データをブロック単位（ページ単位）で一括して読み込み、一括読込ファイル記憶部１４３に格納する（ステップＳ３２）。次に、ステップＳ３４〜Ｓ４８のループ処理を実行する。該ステップＳ３４〜Ｓ４８のループ処理は、上述した第２のバッファリング方式に相当する。
【００５３】
まず、一括読込ファイル記憶部１４３から、ＤＭＡコピーによって１フレーム単位で動画データを順次、デコード用バッファ部１４２に直接転送（コピー）する（ステップＳ３６）。これと並行して、デコード部１３（ＣＰＵコア１５２）は、デコード用バッファ部１４２から１フレーム単位で動画データを読み込んでデコードし（ステップＳ３８）、表示用データバッファ部１４４に順次格納する（ステップＳ４０）。
【００５４】
次に、残りデコードフレーム数を１つ減算し（ステップＳ４２）、残りデコードフレーム数が０になったか否かを判断する（ステップＳ４４）。そして、残りデコードフレーム数が０でない場合、すなわち、まだデコードすべきフレームが残っている場合には（ステップＳ４４のＮＯ）、次のフレームが一括読込ファイル記憶部１４３にないか否かを判断する（ステップＳ４６）。すなわち、一括読込ファイル記憶部１４３に一括して読み込めなかった動画データがないか否かを判断する。そして、次のフレームが一括読込ファイル記憶部１４３にある場合には（ステップＳ４６のＮＯ）、ステップＳ３６に戻り、上述した処理を繰り返す。
【００５５】
図６（ａ）には、デコード時間Ｔ１＜動画データ読み込み時間Ｔ２であった場合に（ステップＳ１２のＮＯ）、仮に、上述した第１のバッファリング方式を用いた場合のバッファリング動作を示している。一方、図６（ｂ）には、同じく、デコード時間Ｔ１＜動画データ読み込み時間Ｔ２であった場合に（ステップＳ１２のＮＯ）、上述した第２のバッファリング方式を用いた場合のバッファリング動作を示している。
【００５６】
図６（ａ）に示すように、仮に第１のバッファリング方式を用いたとすると、データ読込部２０（ＣＰＵコア１５１）が、外部記録媒体挿入部１６に挿入された外部記録媒体から、初回読み込み後、１フレーム単位で動画データを順次読み込み、デコード用バッファ部１４２に順次格納する。これと並行して、デコード部１３（ＣＰＵコア１５２）が、デコード用バッファ部１４２から１フレーム単位で動画データを読み込んでデコードしようとすると、デコード時間Ｔ１＜動画データ読み込み時間Ｔ２であるため、デコード処理間に待機時間Ｄｔが生じてしまう。このため、デコード完了するまでに、全デコードフレーム数×待機時間Ｄｔの遅延が生じることになる。
【００５７】
これに対して、図６（ｂ）に示すように、第２のバッファリング方式を用いた場合には、ファイル一括読込部２１（ＣＰＵコア１５１）が、外部記録媒体挿入部１６に挿入された外部記録媒体からブロック単位（ページ単位）で一括して動画データを読み込んで一括読込ファイル記憶部１４３に格納した後、初回読み込みを行い、その後、一括読込ファイル記憶部１４３から１フレーム単位で動画データをデコード用バッファ部１４２にＤＭＡコピーしながら、デコード部１３（ＣＰＵコア１５２）でデコードし、表示用データバッファ部１４４に順次格納する。
【００５８】
このように、デコード時間Ｔ１＜動画データ読み込み時間Ｔ２で、かつ時間Ｔ４＞時間Ｔ５である場合には、第２のバッファリング方式を選択することで、動画データの読み込みを待つことなく、連続してデコードを実行することができる。したがって、最も短時間でデコードを完了することができ、バッファリングも最も短時間で完了することになるので、再生指示から再生開始までの待ち時間を短縮することができる。
【００５９】
一方、図４のステップＳ３４〜Ｓ４８のループ処理において、残りデコードフレームが０でない場合に（ステップＳ４４のＮＯ）、次のフレームが一括読込ファイル記憶部１４３にない場合には（ステップＳ４６のＹＥＳ）、ステップＳ３０に戻り、一括して読み込めなかった残りのフレームに対して処理を継続する。すなわち、動画データのサイズや再生時間、一括読込ファイル記憶部１４３のバッファサイズなどによっては、動画データを一括して読み込めない場合がある。このため、残りの動画データに対して、第１のバッファリング方式を用いるか、第２のバッファリング方式を用いるかを再度判断する必要がある。
【００６０】
ここで、残りの動画データにおいて、時間Ｔ４＞時間Ｔ５である場合には（ステップＳ３０のＹＥＳ）、上述した第２のバッファリング方式を用いればよい。一方、残りの動画データにおいて、時間Ｔ４＞時間Ｔ５でない場合には（ステップＳ３０のＮＯ）、図３のステップＳ１４に戻り、第１のバッファリング方式を用いることになる。
【００６１】
そして、残りフレーム数が０になった場合には（ステップＳ４４のＹＥＳ）、当該処理を終了する。
【００６２】
上述した実施形態によれば、外部記録媒体のデータ読み出し速度とデコード速度とに応じて、より適切なバッファリング方式を選択的に用いることで、外部記録媒体からのデータ読み出し速度とデコード速度とが変化する場合であっても、動画再生時の性能を十分に発揮することができる。この結果、動画再生時における動画データのバッファリングをより短時間で完了することができ、動画再生指示から動画再生開始までの待ち時間を短縮することができる。
【００６３】
なお、上述した実施形態においては、動画再生機能を有する電子機器として説明したが、より具体的には、デジタルカメラを始め、撮像機能を有する、携帯電話、スマートフォン、タブレット端末などの電子機器に適用することが可能である。
【００６４】
以上、この発明のいくつかの実施形態について説明したが、この発明は、これらに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の特許請求の範囲に記載された発明を付記する。
【００６５】
（付記１）
付記１に記載の発明は、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、前記読込手段により読み込まれる動画データをデコードするデコード手段と、前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、を備えることを特徴とする電子機器である。
【００６６】
（付記２）
付記２に記載の発明は、前記特定手段は、再生対象となる動画データの記録状態、動画データの再生条件、外部記録媒体の種類のうちの少なくとも１つの条件の違いに応じて変化するデコード速度または読み込み速度を特定することを特徴とする付記１に記載の電子機器である。
【００６７】
（付記３）
付記３に記載の発明は、前記読込手段は、前記外部記録媒体に記録されている動画データを所定単位で読み込む第１の読み込み方式と、前記外部記録媒体に記録されている動画データを複数の前記所定単位で一括で読み込む第２の読み込み方式とのいずれかを用いて動画データを読み込み、前記デコード手段は、前記読込手段により読み込まれる動画データを前記所定単位で逐次デコードし、前記特定手段は、前記デコード手段により動画データをデコードするデコード速度と、前記読込手段が前記第１の読み込み方式により動画データを読み込む第１の読み込み速度と、前記読込手段が前記第２の読み込み方式により動画データを読み込む第２の読み込み速度とを特定し、前記選択手段は、前記特定手段により特定されたデコード速度と、第１の読み込み速度と、第２の読み込み速度との関係が所定の関係にあるか否かに応じて、前記読込手段が動画データを読み込む際の読み込み方式として前記第１の読み込み方式と前記第２の読み込み方式のいずれかを選択することを特徴とする付記１または２に記載の電子機器である。
【００６８】
（付記４）
付記４に記載の発明は、前記読込手段が前記第２の読み込み方式により一括で読み込んだ複数の前記所定単位の動画データを記憶する一括読込ファイル記憶手段と、前記読込手段によって前記外部記録媒体からフレーム単位で動画データを逐次読み込ませ、この逐次読み込まれる動画データを前記デコード手段によって前記フレーム単位で逐次デコードさせる第１のバッファリング方式、または、前記読込手段が前記第２の読み込み方式によって前記外部記録媒体から一括して読み込んだ複数の前記所定単位の動画データを前記一括読込ファイル記憶手段に記憶させた後、この一括読込ファイル記憶手段に記憶されている動画データを、前記デコード手段によって前記フレーム単位で順番にデコードさせる第２のバッファリング方式のいずれか一方を用いてバッファリング動作を制御する制御手段とを更に備えることを特徴とする付記３に記載の電子機器である。
【００６９】
（付記５）
付記５に記載の発明は、前記制御手段は、前記デコード手段による動画データのフレーム単位でのデコード速度と前記読込手段による前記外部記録媒体からのフレーム単位での読み込み速度とに基づいて、前記第１のバッファリング方式と、前記第２のバッファリング方式のいずれか一方を選択することを特徴とする付記４に記載の電子機器である。
【００７０】
（付記６）
付記６に記載の発明は、前記制御手段は、前記デコード手段による前記デコード速度が、前記読込手段による前記第１の読み込み速度より遅い場合には、前記第１のバッファリング方式を用いる一方、前記デコード手段によるる前記デコード速度が、前記読込手段による前記第１の読み込み速度よりも速い場合には、前記第２のバッファリング方式を選択することを特徴とする付記５に記載の電子機器である。
【００７１】
（付記７）
付記７に記載の発明は、前記デコード手段によってデコードされる直前の動画データをフレーム単位で一時的に保持するデコード用バッファ手段を更に備え、前記第２のバッファリグ方式を用いる場合に、前記一括読込ファイル記憶手段に記憶されている動画データを、前記デコード用バッファ手段にフレーム単位で直接転送することを特徴とする付記４乃至６のいずれかに記載の電子機器である。
【００７２】
（付記８）
付記８に記載の発明は、前記制御手段は、前記読込手段が前記第１の読み込み方式により動画データを読み込む第１の読み込み時間が、前記デコード手段により動画データをデコードするデコード時間に前記読込手段が前記第２の読み込み方式により動画データを読み込む第２の読み込み時間を加えた時間よりも長い場合には、前記第２のバッファリング方式を用いることを特徴とする付記４乃至７のいずれかに記載の電子機器である。
【００７３】
（付記９）
付記９に記載の発明は、前記読込手段と前記デコー手段とは、各々、並行して同時処理可能な複数のプロセッサコアを搭載した中央処理装置で実現されるものであることを特徴とする付記１乃至８のいずれかに記載の電子機器である。
【００７４】
（付記１０）
付記１０に記載の発明は、表示手段と、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込手段と、前記読込手段により読み込まれる動画データをデコードするデコード手段と、前記デコード手段による動画データのデコード速度と前記読込手段による動画データの読み込み速度とを特定する特定手段と、前記特定手段により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込手段が動画データを読み込む際の読み込み方式を選択する選択手段と、前記デコード手段によりデコードされた動画データを、前記表示手段に表示する表示制御手段とを備えることを特徴とする動画再生装置である。
【００７５】
（付記１１）
付記１１に記載の発明は、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込ステップと、前記読込ステップで読み込まれる動画データをデコードするデコードステップと、前記デコードステップでの動画データのデコード速度と前記読込ステップでの動画データの読み込み速度とを特定する特定ステップと、前記特定ステップで特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込ステップで動画データを読み込む際の読み込み方式を選択する選択ステップとを含むことを特徴とする動画デコード方法である。
【００７６】
（付記１２）
付記１２に記載の発明は、電子機器のコンピュータに、外部記録媒体に記録されている動画データを複数の読み込み方式のいずれかで読み込む読込機能、前記読込機能により読み込まれる動画データをデコードするデコード機能、前記デコード機能による動画データのデコード速度と前記読込機能による動画データの読み込み速度とを特定する特定機能、前記特定機能により特定されたデコード速度と読み込み速度との関係が所定の関係にあるか否かに応じて前記読込機能が動画データを読み込む際の読み込み方式を選択する選択機能を実行させることを特徴とするプログラムである。
【符号の説明】
【００７７】
１  電子機器
１０  操作部（キー）
１１  電源部
１２  表示部
１３  画像変換部
１４  記憶部
１４１  プログラム記憶部
１４２  デコード用バッファ部
１４３  一括読込ファイル記憶部
１４４  表示用データバッファ部
１５  制御部（ＣＰＵ）
１５１、１５２  ＣＰＵコア
１６  外部記録媒体挿入部
２０  データ読込部
２１  ファイル一括読込部
２２  表示制御部
【図１】
2014086798.tif 000003
【図２】
2014086798.tif 000004
【図３】
2014086798.tif 000005
【図４】
2014086798.tif 000006
【図５】
2014086798.tif 000007
【図６】
2014086798.tif 000008