(57)【要約】【課題】  動画像データの再生品質をＣＰＵの動作周波数やバッテリ残量等に応じて動的に制御する。【解決手段】  画像復号装置１では、動画像データを所定時間再生したときのバッテリ消費量から予測バッテリ消費量を求め、この予測バッテリ消費量が現在のバッテリ残量以上である場合には再生品質を下げることで、動画像データを最後まで再生できるようにする。また、単位時間内に表示可能なフレーム数に基づいて動画像データの再生品質を動的に制御することにより、ＣＰＵ１３の処理に余裕がある場合には動画像データの再生品質を向上させ、ＣＰＵ１３の処理に余裕がない場合には動画像データの再生品質を下げることで単位時間内に復号処理を完了させる。【選択図】  図１
2005278194.tif 000002
【特許請求の範囲】
【請求項１】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、
該画像復号装置の各部に電力を供給する電力供給手段と、
符号化された上記動画像データの各画像データを順次復号する復号手段と、
復号された上記動画像データの各画像データを順次表示する表示手段と、
上記動画像データの再生に要すると予測される電力量と上記電力供給手段の電力残量とに基づいて上記復号手段における復号処理を制御することで、上記動画像データの再生品質を動的に制御する制御手段と
を備えることを特徴とする画像復号装置。
【請求項２】
上記復号手段の演算負荷を監視する負荷監視手段をさらに備え、
該負荷監視手段は、上記再生品質に応じた演算負荷に従って上記復号手段の動作周波数を調整する
ことを特徴とする請求項１記載の画像復号装置。
【請求項３】
上記再生品質は、単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項１記載の画像復号装置。
【請求項４】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記動画像データの再生に要すると予測される電力量と上記画像復号装置の各部に電力を供給する電力供給手段の電力残量とに基づいて上記復号工程における復号処理を制御することで、上記動画像データの再生品質を動的に制御する制御工程と
を有することを特徴とする画像復号方法。
【請求項５】
上記画像復号装置は、上記復号工程における演算負荷を監視する負荷監視手段を備えており、
該負荷監視手段により、上記再生品質に応じた演算負荷に従って上記復号工程における動作周波数を調整する動作周波数調整工程をさらに有する
ことを特徴とする請求項４記載の画像復号方法。
【請求項６】
上記再生品質は、単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項４記載の画像復号方法。
【請求項７】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置に画像復号処理を実行させるプログラムであって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記動画像データの再生に要すると予測される電力量と上記画像復号装置の各部に電力を供給する電力供給手段の電力残量とに基づいて上記復号工程における復号処理を制御することで、上記動画像データの再生品質を動的に制御する制御工程と
を有することを特徴とするプログラム。
【請求項８】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、
符号化された上記動画像データの各画像データを順次復号する復号手段と、
復号された上記動画像データの各画像データを順次表示する表示手段と、
上記復号手段における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御手段とを備え、
上記制御手段は、上記復号手段の現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合、動作周波数の余剰分に応じて上記動画像データの再生品質を動的に制御する
ことを特徴とする画像復号装置。
【請求項９】
上記制御手段は、上記復号手段の現在の動作周波数が上記第１の動作周波数よりも高い場合、上記復号手段の動作周波数を、変更可能な動作周波数のうち上記第１の動作周波数を下回らない範囲で最も低い第２の動作周波数に変更し、上記第１の動作周波数と上記第２の動作周波数との差分に応じて上記動画像データの再生品質を動的に制御する
ことを特徴とする請求項８記載の画像復号装置。
【請求項１０】
上記再生品質は、単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項８記載の画像復号装置。
【請求項１１】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、
上記制御工程では、上記復号工程における現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合、動作周波数の余剰分に応じて上記動画像データの再生品質を動的に制御する
ことを特徴とする画像復号方法。
【請求項１２】
上記制御工程では、上記復号工程における現在の動作周波数が上記第１の動作周波数よりも高い場合、上記復号工程における動作周波数を、変更可能な動作周波数のうち上記第１の動作周波数を下回らない範囲で最も低い第２の動作周波数に変更し、上記第１の動作周波数と上記第２の動作周波数との差分に応じて上記動画像データの再生品質を動的に制御する
ことを特徴とする請求項１１記載の画像復号方法。
【請求項１３】
上記再生品質は、単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項１１記載の画像復号方法。
【請求項１４】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置に画像復号処理を実行させるプログラムであって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、
上記制御工程では、上記復号工程における現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合、動作周波数の余剰分に応じて上記動画像データの再生品質を動的に制御する
ことを特徴とするプログラム。
【請求項１５】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、
符号化された上記動画像データの各画像データを順次復号する復号手段と、
復号された上記動画像データの各画像データを順次表示する表示手段と、
上記復号手段における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御手段とを備え、
上記制御手段は、所定数のフレームを表示すべき単位時間と、上記所定数のフレームを表示するのに要した時間、又は上記所定数のフレームを表示するのに要すると予測される時間とに基づいて、上記動画像データの再生品質を動的に制御する
ことを特徴とする画像復号装置。
【請求項１６】
上記制御手段は、上記単位時間内に表示できたフレーム数に基づいて、上記所定数のフレームを表示するのに要する時間を予測することを特徴とする請求項１５記載の画像復号装置。
【請求項１７】
上記再生品質は、上記単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項１５記載の画像復号装置。
【請求項１８】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、
上記制御工程では、所定数のフレームを表示すべき単位時間と、上記所定数のフレームを表示するのに要した時間、又は上記所定数のフレームを表示するのに要すると予測される時間とに基づいて、上記動画像データの再生品質を動的に制御する
ことを特徴とする画像復号方法。
【請求項１９】
上記制御工程では、上記単位時間内に表示できたフレーム数に基づいて、上記所定数のフレームを表示するのに要する時間を予測することを特徴とする請求項１８記載の画像復号方法。
【請求項２０】
上記再生品質は、上記単位時間内に再生すべきフレーム数、又は各画像データの１画素当たりのビット数であることを特徴とする請求項１８記載の画像復号方法。
【請求項２１】
符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置に画像復号処理を実行させるプログラムであって、
符号化された上記動画像データの各画像データを順次復号する復号工程と、
復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、
上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、
上記制御工程では、所定数のフレームを表示すべき単位時間と、上記所定数のフレームを表示するのに要した時間、又は上記所定数のフレームを表示するのに要すると予測される時間とに基づいて、上記動画像データの再生品質を動的に制御する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データを復号して再生する際に、その再生品質をＣＰＵ（Central Processing Unit）の動作周波数やバッテリ残量等に応じて動的に制御する画像復号装置及びその方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、例えばノート型のパーソナルコンピュータやＰＤＡ（Personal Digital Assistant）等のバッテリ駆動する携帯端末において映像コンテンツを再生する場合、ＣＰＵは、その動画像データの内容に依らず一定の周波数で動作していた。このため、ＣＰＵの動作周波数が低い場合には、一部のフレームの復号が予定時間内に完了しない結果、コマ飛び等が発生し、十分な品質で再生できないことがあった。一方、ＣＰＵの動作周波数が高い場合には、必要以上に高い周波数でＣＰＵが動作する結果、バッテリの電力を必要以上に消費してしまうため、バッテリ残量の不足により映像コンテンツを最後まで再生できなくなってしまうことがあった。
【０００３】
近年では、携帯端末に搭載されるＣＰＵとして、動作周波数を動的に切り換えられるものも少なくない。例えば、インテル社のEnhanced SpeedStep（商標）を採用したＣＰＵは、高パフォーマンスモードと省電力モードとの２段階のモードを有しており、演算負荷によって自動的にモード切り換えが行われる。しかしながら、このように演算負荷によりＣＰＵの動作周波数を調整する場合には、ＣＰＵの演算負荷を監視する演算負荷監視回路が必要となるため、この演算負荷監視回路で電力の消費があり、省電力化を図るには不十分であるという問題があった。
【０００４】
そこで、下記特許文献１には、ＣＰＵの演算負荷を監視する演算負荷監視回路を設けるのではなく、ＭＰＥＧ（Moving Picture Experts Group）規格に従って符号化された動画像データの各フレームデータのデータ長に基づいてＣＰＵの動作周波数を調整する技術が提案されている。この特許文献１記載の技術によれば、フレームデータのデータ長が短い場合には、ＣＰＵの動作周波数が低くなるように調整することにより消費電力を抑えることができ、フレームデータのデータ長が長い場合には、ＣＰＵの動作周波数が高くなるように調整することにより予定時間内に復号を完了することができる。
【０００５】
【特許文献１】特開２００３−２８０７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１記載の技術では、動画像データの内容によってＣＰＵの動作周波数を動的に制御することはできるものの、ＣＰＵの動作周波数やバッテリ残量等に応じて動画像データの再生品質を動的に制御することはできない。このため、特許文献１記載の技術では、例えばＣＰＵの処理に余裕がある場合には映像コンテンツを高い品質で鑑賞したいという要求等に応えることができなかった。
【０００７】
本発明は、このような従来の実情に鑑みて提案されたものであり、動画像データを復号して再生する際に、その再生品質をＣＰＵの動作周波数やバッテリ残量等に応じて動的に制御することが可能な画像復号装置及びその方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した目的を達成するために、本発明に係る画像復号装置は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、該画像復号装置の各部に電力を供給する電力供給手段と、符号化された上記動画像データの各画像データを順次復号する復号手段と、復号された上記動画像データの各画像データを順次表示する表示手段と、上記動画像データの再生に要すると予測される電力量と上記電力供給手段の電力残量とに基づいて上記復号手段における復号処理を制御することで、上記動画像データの再生品質を動的に制御する制御手段とを備えるものである。
【０００９】
また、上述した目的を達成するために、本発明に係る画像復号方法は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、符号化された上記動画像データの各画像データを順次復号する復号工程と、復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、上記動画像データの再生に要すると予測される電力量と上記画像復号装置の各部に電力を供給する電力供給手段の電力残量とに基づいて上記復号工程における復号処理を制御することで、上記動画像データの再生品質を動的に制御する制御工程とを有するものである。
【００１０】
このような画像復号装置及びその方法では、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、動画像データの再生に要すると予測される電力量と電力供給手段の電力残量とに基づいて復号処理を制御することで、動画像データの再生品質を動的に制御する。
【００１１】
また、上述した目的を達成するために、本発明に係る画像復号装置は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、符号化された上記動画像データの各画像データを順次復号する復号手段と、復号された上記動画像データの各画像データを順次表示する表示手段と、上記復号手段における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御手段とを備え、上記制御手段は、上記復号手段の現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合、動作周波数の余剰分に応じて上記動画像データの再生品質を動的に制御するものである。
【００１２】
また、上述した目的を達成するために、本発明に係る画像復号方法は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、符号化された上記動画像データの各画像データを順次復号する復号工程と、復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、上記制御工程では、上記復号工程における現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合、動作周波数の余剰分に応じて上記動画像データの再生品質を動的に制御するものである。
【００１３】
このような画像復号装置及びその方法では、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、復号処理を行うための現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合には、動作周波数の余剰分に応じて動画像データの再生品質を動的に制御する。
【００１４】
また、上述した目的を達成するために、本発明に係る画像復号装置は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置であって、符号化された上記動画像データの各画像データを順次復号する復号手段と、復号された上記動画像データの各画像データを順次表示する表示手段と、上記復号手段における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御手段とを備え、上記制御手段は、所定数のフレームを表示すべき単位時間と、上記所定数のフレームを表示するのに要した時間、又は上記所定数のフレームを表示するのに要すると予測される時間とに基づいて、上記動画像データの再生品質を動的に制御するものである。
【００１５】
また、上述した目的を達成するために、本発明に係る画像復号方法は、符号化された複数フレームの画像データからなる動画像データを復号して表示する画像復号装置の画像復号方法であって、符号化された上記動画像データの各画像データを順次復号する復号工程と、復号された上記動画像データの各画像データを表示手段に順次表示する表示工程と、上記復号工程における復号処理を制御することで上記動画像データの再生品質を動的に制御する制御工程とを有し、上記制御工程では、所定数のフレームを表示すべき単位時間と、上記所定数のフレームを表示するのに要した時間、又は上記所定数のフレームを表示するのに要すると予測される時間とに基づいて、上記動画像データの再生品質を動的に制御するものである。
【００１６】
このような画像復号装置及びその方法では、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、所定数のフレームを表示すべき単位時間と、所定数のフレームを表示するのに要した時間、又は所定数のフレームを表示するのに要すると予測される時間とに基づいて、動画像データの再生品質を動的に制御する。
【００１７】
また、本発明に係るプログラムは、上述した画像復号処理を画像復号装置に実行させるものである。
【発明の効果】
【００１８】
本発明に係る画像復号装置及びその方法、並びにプログラムでは、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、動画像データの再生に要すると予測される電力量と電力供給手段の電力残量とに基づいて復号処理を制御し、動画像データの再生品質を動的に制御するため、例えば動画像データの再生に要すると予測される電力量と比べて電力供給手段の電力残量が少ない場合には、動画像データの再生品質を下げることにより、映像コンテンツを最後まで表示できるようになる。
【００１９】
また、本発明に係る画像復号装置及びその方法、並びにプログラムでは、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、復号処理を行うための現在の動作周波数が、所定数のフレームを単位時間内に表示させるために必要な第１の動作周波数よりも高い場合には、動作周波数の余剰分に応じて動画像データの再生品質を動的に制御するため、動作周波数を変更することなく、その余剰分を有効に利用して、動画像データの再生品質を向上させることができる。
【００２０】
また、本発明に係る画像復号装置及びその方法、並びにプログラムでは、符号化された複数フレームの画像データからなる動画像データを復号して表示する際に、所定数のフレームを表示すべき単位時間と、所定数のフレームを表示するのに要した時間、又は所定数のフレームを表示するのに要すると予測される時間とに基づいて、動画像データの再生品質を動的に制御するため、例えば復号処理に余裕がある場合には動画像データの再生品質を向上させることができ、復号処理に余裕がない場合には動画像データの再生品質を下げることで単位時間内に所定数のフレームについての復号処理を完了させることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ＪＰＥＧ２０００（Joint Photographic Experts Group 2000）規格に従って圧縮符号化された動画像データを復号して表示する画像復号装置に適用したものである。
【００２２】
先ず、第１乃至第３の実施の形態における画像復号装置の概略構成を図１に示す。図１に示すように、画像復号装置１は、圧縮された動画像データを記憶する例えばハードディスクやＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の記憶部１０と、記憶部１０に記憶された動画像データを復号する画像復号部１１と、復号された動画像データを表示する例えばＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示部１４と、要求する再生品質等の情報をユーザが入力するための例えばキーボードやマウス等の入力部１５とがバス１６を介して接続されてなる。
【００２３】
また、画像復号部１１は、記憶部１０に記憶された動画像データを適宜読み込んで一時的に格納するメモリ１２と、メモリに格納された動画像データを復号する処理等を行うＣＰＵ（Central Processing Unit）１３とを有する。
【００２４】
なお、画像復号装置１は、バッテリ（図示せず）を有しており、このバッテリの電力により駆動されるものとする。
【００２５】
このような画像復号装置１において、動画像データを再生する際には、先ず記憶部１０に記憶されている動画像データのうち、少なくとも１フレーム分の復号に必要な画像データがバス１６を経由して画像復号部１１のメモリ１２に読み込まれる。メモリ１２に読み込まれた画像データは、入力部１５を介してユーザにより指定された再生品質となるようにＣＰＵ１３を利用して復号され、表示可能な画像データとなる。なお、この再生品質を表す値としては、１秒間に何フレームの画像を表示するかを示すフレームレート（Frame Per Second；ｆｐｓ）や、１画素当たり何ビットのデータを用いるかを示す画質（Bit Per Pixel；ｂｐｐ）等が挙げられる。そして、この表示可能な画像データは、再びバス１６を経由してメモリ１２から表示部１４に読み出され、必要に応じてタイミング調整が行われた後、表示される。
【００２６】
（第１の実施の形態）
上述したように、画像復号装置１は、図示しないバッテリにより駆動するが、バッテリの容量には制限があるため、バッテリ残量の不足により映像コンテンツを最後まで再生できなくなってしまう場合がある。
【００２７】
そこで、この画像復号装置１では、再生時のバッテリ残量に基づいて、映像コンテンツの再生品質を以下のように制御することで、バッテリ消費量を抑える。この場合における処理について図２のフローチャートに示す。なお、このフローチャートにおいて、画像復号装置１は、演算負荷監視回路（図示せず）を有し、ＣＰＵ１３の負荷に応じて動作周波数が自動的に調整されるものとする。
【００２８】
先ずステップＳ１において、所定時間Δｓの間だけ映像コンテンツを再生し、ステップＳ２において、その間のバッテリ消費量Δｂを計測する。なお、このステップＳ１における所定時間Δｓは、バッテリ消費量Δｂを計測できるだけの長さであれば、どのような値であっても構わない。
【００２９】
続いてステップＳ３において、映像コンテンツの残りを再生する際に消費すると予測される予測バッテリ消費量が現在のバッテリ残量以下であるか否かを判別する。具体的には、ΔｂをΔｓで除算することで、単位時間当たりのバッテリ消費量（Δｂ／Δｓ）を求め、これに映像コンテンツの残り時間ｓを乗算することで、予測バッテリ消費量（Δｂ／Δｓ×ｓ）を求める。そして、この予測バッテリ消費量（Δｂ／Δｓ×ｓ）が現在のバッテリ残量ｂ未満であるか否かを判別する。
【００３０】
ステップＳ３において、予測バッテリ消費量が現在のバッテリ残量未満である場合（Yes）には、このまま映像コンテンツを最後まで再生可能であるため、処理を終了する。一方、予測バッテリ消費量が現在のバッテリ残量以上である場合（No）には、再生途中でバッテリの電力がなくなってしまうことになるため、フレームレートを変更する。具体的には、現在のフレームレートをｍ（ｆｐｓ）としたときに、ステップＳ４において、ｍ−１が０よりも大きいか否かを判別する。ｍ−１が０よりも大きい場合（Yes）には、ステップＳ５において、新たなフレームレートｍ’としてｍ−１を設定し、ステップＳ１に戻る。一方、ステップＳ４において、ｍ−１が０以下である場合（No）には、ステップＳ６でエラーメッセージを表示して処理を終了する。
【００３１】
以上のように、予測バッテリ消費量が現在のバッテリ残量以上である場合にはフレームレートを下げることで、データ処理量が減り、ＣＰＵ１３の演算負荷が小さくなる。この結果、ＣＰＵ１３の動作周波数が低くなるように自動的に調整され、次回測定時におけるバッテリ消費量Δｂが減ることになる。これを繰り返すことで、ある時点において予測バッテリ消費量がバッテリ残量未満となり、映像コンテンツを最後まで再生できるようになる。
【００３２】
但し、再生時間とバッテリ消費量との関係は線形とは限らないため、バッテリの消費予測が外れ、途中の段階で予測した以上にバッテリが消費されてしまう可能性もある。そこで、図２に示した処理を例えば５分毎というように定期的に行うことで、より確実性を増すことができる。
【００３３】
また、フレームレートではなく、映像コンテンツの画質、具体的には１画素当たりのビット数を変更することも可能である。すなわち、ＪＰＥＧ２０００規格に従って各フレームデータを符号化した符号化データは、複数のレイヤに分割された階層構造となっており、復号するレイヤ数を変更することで１画素当たりのビット数を容易に変更することができる。例えば各フレームデータが２０個のレイヤに分割されている場合、全てのレイヤを復号したときの１画素当たりのビット数は１．０（１．０ｂｐｐ）となるが、最上位レイヤから６個のレイヤを復号したときの１画素当たりのビット数は０．３（０．３ｂｐｐ）となる。したがって、この１画素当たりのビット数の値を上述のフレームレートと同様に扱い、予測バッテリ消費量が現在のバッテリ残量以上である場合には画質を下げるようにすることで、ある時点において予測バッテリ消費量がバッテリ残量未満となり、映像コンテンツを最後まで再生できるようになる。この場合における処理について図３のフローチャートに示す。
【００３４】
上述と同様に、先ずステップＳ１１において、所定時間Δｓの間だけ映像コンテンツを再生し、ステップＳ１２において、その間のバッテリ消費量Δｂを計測する。続いてステップＳ１３において、予測バッテリ消費量（Δｂ／Δｓ×ｓ）が現在のバッテリ残量ｂ未満であるか否かを判別する。
【００３５】
ステップＳ１３において、予測バッテリ消費量が現在のバッテリ残量未満である場合（Yes）には、処理を終了する。一方、予測バッテリ消費量が現在のバッテリ残量以上である場合（No）には、再生途中でバッテリの電力がなくなってしまうことになるため、画質を変更する。具体的には、現在の画質をｑ（ｂｐｐ）としたときに、ステップＳ１４において、ｑ−０．１が０よりも大きいか否かを判別する。ｑ−０．１が０よりも大きい場合（Yes）には、ステップＳ１５において、新たな画質ｑ’としてｑ−０．１を設定し、ステップＳ１１に戻る。一方、ステップＳ１４において、ｑ−０．１が０以下である場合（No）には、ステップＳ１６でエラーメッセージを表示して処理を終了する。
【００３６】
以上のように、予測バッテリ消費量が現在のバッテリ残量以上である場合には画質を下げることで、データ処理量が減り、ＣＰＵ１３の演算負荷が小さくなる。この結果、ＣＰＵ１３の動作周波数が低くなるように自動的に調整され、次回測定時におけるバッテリ消費量Δｂが減ることになる。これを繰り返すことで、ある時点において予測バッテリ消費量がバッテリ残量未満となり、映像コンテンツを最後まで再生できるようになる。
【００３７】
以上の例では、画像復号装置１が演算負荷監視回路（図示せず）を有し、ＣＰＵ１３の演算負荷が小さくなると自動的にＣＰＵ１３の動作周波数が低くなるように調整されるものとして説明したが、演算負荷監視回路を有さない場合や、有していたとしてもより細かい制御を行いたい場合には、ＣＰＵ１３の動作周波数を明示的に指定することができる。この場合における処理について図４のフローチャートに示す。なお、この例では、ＣＰＵ１３の動作周波数を１００ＭＨｚとし、８０ＭＨｚ、６０ＭＨｚ、４０ＭＨｚに変更可能であるとする。また、Ｆ（ｘ）＝｛４０，６０，８０，１００｝とし、変数ｘが現在の動作周波数へのインデックスを表しているものとする。すなわち、Ｆ（１）＝４０、Ｆ（２）＝６０、Ｆ（３）＝８０、Ｆ（４）＝１００である。
【００３８】
先ずステップＳ２１において、所定時間Δｓの間だけ映像コンテンツを再生し、ステップＳ２２において、その間のバッテリ消費量Δｂを計測する。続いてステップＳ２３において、予測バッテリ消費量（Δｂ／Δｓ×ｓ）が現在のバッテリ残量ｂ未満であるか否かを判別する。
【００３９】
ステップＳ２３において、予測バッテリ消費量が現在のバッテリ残量未満である場合（Yes）には、処理を終了する。一方、予測バッテリ消費量が現在のバッテリ残量以上である場合（No）には、再生途中でバッテリの電力がなくなってしまうことになるため、ステップＳ２４において、ＣＰＵ１３の動作周波数を変更するために、インデックスｘを１減らす。
【００４０】
続いてステップＳ２５において、ｘが０であるか否かを判別する。ｘが０でない場合（No）には、ステップＳ２６において、新たな動作周波数ｆ’としてＦ（ｘ）を設定し、ステップＳ２１に戻る。一方、ステップＳ２５において、ｘが０である場合（Yes）には、ステップＳ２７でエラーメッセージを表示して処理を終了する。
【００４１】
以上のように、予測バッテリ消費量が現在のバッテリ残量以上である場合にはＣＰＵ１３の動作周波数を下げることで、次回測定時におけるバッテリ消費量Δｂが減ることになる。これを繰り返すことで、ある時点において予測バッテリ消費量がバッテリ残量未満となり、映像コンテンツを最後まで再生できるようになる。
【００４２】
（第２の実施の形態）
ところで、所定のフレームレートとなるように毎秒所定数のフレームを復号する場合、ＣＰＵの動作周波数が低い場合には、一部のフレームの復号が予定時間内に完了しない結果、コマ飛び等が発生し、十分な品質で再生できないこととなる。一方、ＣＰＵの動作周波数が高い場合には、予定時間内に全てのフレームの復号を完了することができるものの、必要以上に高い周波数でＣＰＵが動作する結果、バッテリの電力を必要以上に消費してしまうこととなる。
【００４３】
そこで、画像復号装置１では、以下に説明するように、単位時間内に表示可能なフレーム数に基づいてＣＰＵ１３の動作周波数を動的に制御することも可能である。この場合における処理について図５のフローチャートに示す。
【００４４】
先ずステップＳ３１において、実時間に応じて値が徐々に増加するカウンタタイマｔを０に初期化し、ステップＳ３２において、単位時間（１秒間）中に何フレーム分の画像データを復号したかを示すカウンタ変数ｉを０に初期化する。
【００４５】
次にステップＳ３３において、１フレーム分の画像データをメモリ１２に読み込み、ステップＳ３４において、この画像データを復号し、ステップＳ３５において、復号した画像データをメモリ１２から表示部１４に読み出す。
【００４６】
続いてステップＳ３６において、ｉに１を加え、ステップＳ３７において、ｉがユーザの指定するフレームレートｎと一致するか否かを判別する。ｉがｎと一致する場合（Yes）には、時間内にユーザの要求する再生品質を満たしたことになるため、ステップＳ３９において、ＣＰＵ１３の動作周波数を更新し、ステップＳ３１に戻る。なお、この場合には、ＣＰＵ１３の処理に余裕があるため、ＣＰＵ１３の動作周波数を低くすることになるが、詳細については後述する。一方、ｉがｎと一致しない場合（No）には、ステップＳ３８において、ｔが１以上であるか否かを判別する。ｔが１未満である場合（No）には、ステップＳ３３に戻って次のフレームの処理を行う。一方、ｔが１以上である場合（Yes）には、ステップＳ３９において、ＣＰＵ１３の動作周波数を更新し、ステップＳ３１に戻る。なお、この場合には、処理が間に合っていないため、ＣＰＵ１３の動作周波数を高くすることになるが、詳細については後述する。
【００４７】
ここで、上述のように単位時間の処理を行った結果、ＣＰＵ１３の処理に余裕があった場合にはｔが１未満の値となる。一方、処理が間に合わなかった場合には、時間内に表示できたフレーム数から、フレームレート分のフレームを表示するのに要すると予想される時間ｔが１以上の値となる。そこで、新たに設定する動作周波数ｆ’は、現在の動作周波数ｆにｔを乗じた値とする。但し、ＣＰＵの動作周波数は線形に制御できないのが通常であるため、実際には、変更可能な動作周波数のうち、ｆ×ｔを下回らない範囲で最も低い値に設定する。この場合における処理について図６のフローチャートに示す。なお、この例では、上述と同様にＣＰＵ１３の動作周波数を１００ＭＨｚとし、８０ＭＨｚ、６０ＭＨｚ、４０ＭＨｚに変更可能であるとする。また、Ｆ（ｘ）＝｛４０，６０，８０，１００｝とし、変数ｘが現在の動作周波数へのインデックスを表しているものとする。
【００４８】
先ずステップＳ４１において、インデックスｘを１に初期化し、ステップＳ４２において、現在の動作周波数にｔを乗じてｆ’とする。
【００４９】
次にステップＳ４３において、ｆ’がＦ（ｘ）よりも大きいか否かを判別し、ｆ’がＦ（ｘ）以下である場合（No）には、ステップＳ４６において、ｆ’をＦ（ｘ）に更新して終了する。一方、ｆ’がＦ（ｘ）よりも大きい場合（Yes）には、ステップＳ４４において、ｘが４であるか否かを判別する。そして、ｘが４でない場合（No）には、ステップＳ４５においてｘに１を加えてステップＳ４３に戻る。一方、ｘが４である場合には、これ以上ｘを大きくできないため、ステップＳ４６において、ｆ’をＦ（ｘ）に更新して終了する。
【００５０】
このように、ＣＰＵ１３の処理に余裕がある場合にはＣＰＵ１３の動作周波数を低くすることで、省電力化を図ることができ、ＣＰＵ１３の処理に余裕がない場合にはＣＰＵ１３の動作周波数を高くすることで、単位時間内に復号処理を完了させることができるようになる。
【００５１】
一例として、ＣＰＵ１３の動作周波数を８０ＭＨｚとして処理を行った結果、１秒間で行うべき処理に対して０．７秒しか要しなかった場合を考える。この場合、ｆ＝８０、ｔ＝０．７であるため、ｆ’＝８０×０．７＝５６となる。ｘ＝１のときＦ（１）＝４０であり、Ｆ（１）＜５６であるため、ｘに１を加える。次に、ｘ＝２のときＦ（２）＝６０であり、Ｆ（２）＞５６であるため、ｆ’＝６０に更新する。このように、ＣＰＵ１３の処理に余裕があった場合には、例えばＣＰＵ１３の動作周波数を８０ＭＨｚから６０ＭＨｚに低くし、省電力化を図ることができる。
【００５２】
ここで、ＣＰＵ１３の動作周波数を８０ＭＨｚから６０ＭＨｚに低くした場合、実際に必要となる動作周波数は５６ＭＨｚであるため、現在行っている処理に加えて、ある程度他の処理を行う余裕があることになる。具体的に、余剰処理が可能な割合ｒは、（ｆ−ｆ’）／ｆ’となる。上述の例の場合、（６０−５６）／５６×１００≒７．１（％）程度の余剰処理が可能である。そこで、この処理の余裕分を利用して、以下に説明するように、動画像データの再生品質を向上させることができる。
【００５３】
余剰処理としてフレームレートを変更する場合の処理について図７のフローチャートに示す。なお、この例では、元の動画像データのフレームレートが３０ｆｐｓであるものとする。
【００５４】
先ず、ステップＳ５１において、余剰処理が可能な割合ｒ（＝（ｆ−ｆ’）／ｆ’）を求め、ステップＳ５２において、現在のフレームレートｍに（ｒ＋１）を乗算し、新たなフレームレートｍ’を求める。但し、フレームレートは自然数でしか指定できないため、小数点以下を切り捨てる。
【００５５】
続いてステップＳ５３において、ｍ’が３０よりも大きいか否かを判別し、ｍ’が３０よりも大きい場合（Yes）には、元の動画像データのフレームレートを上回る再生はできないため、ステップＳ５４でｍ’として３０を設定し、処理を終了する。一方、ｍ’が３０以下である場合（Yes）には、ｍ’としてステップＳ５２で求めた値を設定し、処理を終了する。
【００５６】
具体的に、現在のフレームレートが１５ｆｐｓである場合、７．１％の余剰処理が可能であるとすると、ｍ’＝１５×１．０７１＝１６．０６５となり、１秒間当たり１フレーム分多く表示するようにしても、同じ動作周波数で処理することができる。
【００５７】
同様に、余剰処理として１画素当たりのビット数を変更する場合の処理について図８のフローチャートに示す。
【００５８】
先ず、ステップＳ６１において、余剰処理が可能な割合ｒ（＝（ｆ−ｆ’）／ｆ’）を求め、ステップＳ６２において、現在の１画素当たりのビット数ｑに（ｒ＋１）を乗算し、新たな画質ｑ’を求める。
【００５９】
続いてステップＳ６３において、ｑ’が１．０よりも大きいか否かを判別し、ｑ’が１．０よりも大きい場合（Yes）には、元の画像データの画質を上回る再生はできないため、ステップＳ６４でｑ’として１．０を設定し、処理を終了する。一方、ｑ’が１．０以下である場合（Yes）には、ｑ’としてステップＳ６２で求めた値を設定し、処理を終了する。
【００６０】
具体的に、現在の画質が０．７ｂｐｐであり、７．１％の余剰処理が可能であるとすると、ｑ’＝０．７×１．０７１≒０．７５となり、１画素当たりのビット数を０．０５ビット多くしても、同じ動作周波数で処理することができる。
【００６１】
以上のように、余剰処理が可能な割合ｒを求め、この範囲でフレームレートや１画素当たりのビット数を変更することで、ＣＰＵ１３の動作周波数を変更することなく、再生品質を向上させることが可能となる。
【００６２】
なお、このように余剰処理を行った場合、次にｆ’を計算する際には、カウンタタイマｔがこの余剰処理の分も含めて増加している点を考慮する必要がある。つまり、ｔを（ｒ＋１）で除算して本来の処理に要した時間を求め、その上でｆ’を計算する必要がある。
【００６３】
また、画像復号装置１において、複数のプロセスが同時に動いている場合、再生に要する時間ｔは、他のプロセスの影響を受けることになる。そこで、ｆ’を計算する際にもこの点を考慮する必要ある。具体的には、時間ｔ内で他のプロセスの処理に要した時間をｃ、次の１秒間で他のプロセスの処理に要すると予想される時間をｃ’としたとき、新たに設定する動作周波数ｆ’は、現在の動作周波数ｆに（ｔ−ｃ）／（１−ｃ’）を乗じた値とする。
【００６４】
（第３の実施の形態）
上述した第２の実施の形態では、単位時間内に表示可能なフレーム数に基づいてＣＰＵ１３の動作周波数を動的に制御するものとして説明したが、再生品質を動的に制御することも可能である。すなわち、上述した第２の実施の形態では、１秒間で行うべき処理に０．７秒しか要しなかった場合、動作周波数を７割まで低くするものとして説明したが、再生品質を１／０．７≒１．４倍にすることも可能である。この場合における処理について図９のフローチャートに示す。
【００６５】
先ずステップＳ７１において、実時間に応じて値が徐々に増加するカウンタタイマｔを０に初期化し、ステップＳ７２において、単位時間（１秒間）中に何フレーム分の画像データを復号したかを示すカウンタ変数ｉを０に初期化する。
【００６６】
次にステップＳ７３において、１フレーム分の画像データをメモリ１２に読み込み、ステップＳ７４において、この画像データを復号し、ステップＳ７５において、復号した画像データをメモリ１２から表示部１４に読み出す。
【００６７】
続いてステップＳ７６において、ｉに１を加え、ステップＳ７７において、ｉがユーザの指定するフレームレートｎと一致するか否かを判別する。ｉがｎと一致する場合（Yes）には、時間内にユーザの要求する再生品質を満たしたことになるが、さらに再生品質を向上させるため、ステップＳ７９において動画像データの再生品質を変更し、ステップＳ７１に戻る。一方、ｉがｎと一致しない場合（No）には、ステップＳ７８において、ｔが１以上であるか否かを判別する。ｔが１未満である場合（No）には、ステップＳ７３に戻って次のフレームの処理を行う。一方、ｔが１以上である場合（Yes）には、ステップＳ７９において動画像データの再生品質を変更し、ステップＳ７１に戻る。なお、この場合には、処理が間に合っていないため、再生品質を下げることになるが、詳細については後述する。
【００６８】
再生品質としてフレームレートを変更する場合の処理について図１０のフローチャートに示す。なお、この例では、元の動画像データのフレームレートが３０ｆｐｓであるものとする。
【００６９】
先ずステップＳ８１において、現在のフレームレートｍをｔで除算し、新たなフレームレートｍ’を求める。但し、フレームレートは自然数でしか指定できないため、小数点以下を切り捨てる。
【００７０】
次にステップＳ８２において、ｍ’がユーザが指定するフレームレートｎ未満であるか否かを判別する。ｍ’がｎ未満である場合（Yes）には、ユーザが指定するフレームレートｎを最低限保証するため、ステップＳ８３でｍ’としてｎを設定し、ステップＳ８４でＣＰＵ１３の動作周波数を更新して終了する。一方、ｍ’がｎ以上である場合（No）には、ステップＳ８５において、ｍ’が３０よりも大きいか否かを判別する。そして、ｍ’が３０よりも大きい場合（Yes）には、元の動画像データのフレームレートを上回る再生はできないため、ステップＳ８６でｍ’として３０を設定し、処理を終了する。一方、ｍ’が３０以下である場合（Yes）には、ｍ’としてステップＳ８１で求めた値を設定し、処理を終了する。
【００７１】
同様に、再生品質として１画素当たりのビット数を変更する場合の処理について図１１のフローチャートに示す。
【００７２】
先ずステップＳ９１において、現在の１画素当たりのビット数ｑをｔで除算し、新たな画質ｑ’を求める。
【００７３】
次にステップＳ９２において、ｑ’がユーザが指定する画質である０．５ｂｐｐ未満であるか否かを判別する。ｑ’が０．５未満である場合（Yes）には、ユーザが指定する画質を最低限保証するため、ステップＳ９３でｑ’として０．５を設定し、ステップＳ９４でＣＰＵ１３の動作周波数を更新して終了する。一方、ｑ’が０．５以上である場合（No）には、ステップＳ９５において、ｑ’が１．０よりも大きいか否かを判別する。そして、ｑ’が１．０よりも大きい場合（Yes）には、元の動画像データの画質を上回る再生はできないため、ステップＳ９６でｑ’として１．０を設定し、処理を終了する。一方、ｑ’が１．０以下である場合（Yes）には、ｑ’としてステップＳ９１で求めた値を設定し、処理を終了する。
【００７４】
以上のように、単位時間内に表示可能なフレーム数に基づいて動画像データの再生品質を動的に制御することにより、ＣＰＵ１３の処理に余裕がある場合には動画像データの再生品質を向上させることができ、ＣＰＵ１３の処理に余裕がない場合には動画像データの再生品質を下げることで単位時間内に復号処理を完了させることができる。
【００７５】
以上、第１乃至第３の実施の形態を用いて、本発明を実施するための最良の形態について説明したが、本発明は、図面を参照して説明した上述の実施の形態に限定されるものではなく、本発明の主旨を逸脱することなく、様々な変更、置換又はその同等のものを行うことができることは当業者にとって明らかである。
【図面の簡単な説明】
【００７６】
【図１】本実施の形態における画像復号装置の概略構成を示す図である。
【図２】予測バッテリ消費量とバッテリ残量とに基づいてフレームレートを変更する場合の処理を説明するフローチャートである。
【図３】予測バッテリ消費量とバッテリ残量とに基づいて１画素当たりのビット数を変更する場合の処理を説明するフローチャートである。
【図４】予測バッテリ消費量とバッテリ残量とに基づいてＣＰＵの動作周波数を変更する場合の処理を説明するフローチャートである。
【図５】単位時間内に表示可能なフレーム数に基づいてＣＰＵの動作周波数を動的に制御する場合の処理を説明するフローチャートである。
【図６】ＣＰＵの動作周波数が数段階に変更可能であるときに、フレームレート分のフレームを再生するのに要する時間に基づいてＣＰＵの動作周波数を動的に制御する場合の処理を説明するフローチャートである。
【図７】ＣＰＵの処理の余裕分を利用してフレームレートを変更する場合の処理を説明するフローチャートである。
【図８】ＣＰＵの処理の余裕分を利用して１画素当たりのビット数を変更する場合の処理を説明するフローチャートである。
【図９】単位時間内に表示可能なフレーム数に基づいて動画像データの再生品質を動的に制御する場合の処理を説明するフローチャートである。
【図１０】再生品質としてフレームレートを変更する場合の処理を説明するフローチャートである。
【図１１】再生品質として１画素当たりのビット数を変更する場合の処理を説明するフローチャートである。
【符号の説明】
【００７７】
１  画像復号装置、１０  記憶部、１１  画像復号部、１２  メモリ、１３  ＣＰＵ、１４  表示部、１５  入力部、１６  バス
【図１】
2005278194.tif 000003
【図２】
2005278194.tif 000004
【図３】
2005278194.tif 000005
【図４】
2005278194.tif 000006
【図５】
2005278194.tif 000007
【図６】
2005278194.tif 000008
【図７】
2005278194.tif 000009
【図８】
2005278194.tif 000010
【図９】
2005278194.tif 000011
【図１０】
2005278194.tif 000012
【図１１】
2005278194.tif 000013