(57)【要約】ハンドヘルド・マルチメディア装置において用いられ、特定のマルチメディア・データストリームの履歴負荷特性の統計値を用いて、マルチメディア・コンテンツの複雑性に応じてコンピュータエンジンの計算能力を動的に増減し、これにより、より計算密度の低いコンテンツのための電力消費を低減し、結果的に、長時間にわたる電力消費を大幅に低減する。
2009501482.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを含んでメモリーデバイスと通信するプロセッサコアを具えたハンドヘルド・マルチメディア装置内で、前記プロセッサコアによって符号化／復号化されるデータストリームの複雑性に応じて前記プロセッサコアの計算能力を動的に増減する方法において、
特定のデータストリームを最初に再生するステップと；
前記特定のデータストリームを最初に再生する間に、前記ハンドヘルド・マルチメディア装置内の前記プロセッサコアから複雑性モデルの統計値を収集するステップと；
前記複雑性モデルの統計値を、前記特定のデータストリームを２回目に再生する前に用いるために前記メモリーに記憶するステップと；
前記記憶している複雑性モデルの統計値を用いて、前記特定のデータストリームを前記ハンドヘルド・マルチメディア装置上で２回目に再生する際に前記特定のデータストリームを円滑に処理するために必要な前記ＣＰＵの動作周波数を計算するステップと
を具えていることを特徴とするプロセッサコアの計算能力の増減方法。
【請求項２】
前記記憶している複雑性モデルの統計値を用いて前記必要なＣＰＵの動作周波数を計算するステップがさらに、前記記憶している複雑性モデルの統計値を用いて、前記特定のデータストリームを前記ハンドヘルド・マルチメディア装置上で２回目に再生する際に前記特定のデータストリームを効率的に処理するために必要なＣＰＵの動作電圧を計算することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記特定のデータストリームを複数の時間間隔に分割し、前記収集するステップを、前記複数の時間間隔毎に実行することを特徴とする請求項１に記載の方法。
【請求項４】
さらに、前記特定のデータストリームを２回目に再生するステップを具え、前記２回目に再生するステップは、前記ＣＰＵの動作周波数を、前記計算したＣＰＵの動作周波数に設定することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記記憶している複雑性モデルの統計値を用いて前記必要なＣＰＵの動作周波数を計算するステップがさらに、前記記憶している複雑性モデルの統計値を用いて、前記特定のデータストリームを前記ハンドヘルド・マルチメディア装置上で２回目に再生する際に前記特定のデータストリームを円滑に処理するために必要なＣＰＵの動作電圧を計算することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
さらに、前記ＣＰＵの動作電圧を、前記計算したＣＰＵの動作電圧に設定することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
さらに、前記計算したＣＰＵの動作周波数にタグ付けして、当該動作周波数を前記メモリーの一部分に記憶し、前記特定のデータストリームを２回目に再生する前に、前記タグ付けしたＣＰＵの動作周波数を前記メモリーから読み出すことができるようにすることを特徴とする請求項１に記載の方法。
【請求項８】
前記特定のデータストリームが、ディジタルオーディオデータ及びディジタルビデオデータの少なくとも一方を含むデータストリームの時間間隔であることを特徴とする請求項１に記載の方法。
【請求項９】
前記特定のデータストリームが、前記ハンドヘルド・マルチメディア装置上で実行されるアプリケーションの一部分であることを特徴とする請求項１に記載の方法。
【請求項１０】
さらに、前記記憶している複雑性モデルの統計値を用いて、前記特定のデータストリームを前記ハンドヘルド・マルチメディア装置上で２回目に再生する際に前記特定のデータストリームを円滑に処理するために必要な前記メモリーの動作周波数を計算するステップを具えていることを特徴とする請求項１に記載の方法。
【請求項１１】
前記必要な前記メモリーの動作周波数が、前記必要な前記ＣＰＵの動作周波数とは異なることを特徴とする請求項１０に記載の方法。
【請求項１２】
ディジタル・マルチメディア・データストリームを符号化／復号化するためのＤＳＰ／ＣＰＵコアと；
複数のディジタル・マルチメディア・データストリームを記憶するメモリーと；
前記ＤＳＰ／ＣＰＵコア上のＤＳＰデバイス及びＣＰＵデバイスの少なくとも一方に第１動作周波数を与える可制御の周波数回路であって、前記メモリーにも第２動作周波数を与える可制御の周波数回路とを具え、
前記可制御の周波数回路は、特定のディジタル・マルチメディア・データストリームを前記メモリーから再生すべき際に、前記第１動作周波数及び前記第２動作周波数を最適な周波数に調整し、前記最適な周波数は、前記特定のディジタル・マルチメディア・データストリームを前回再生して得られた履歴負荷特性に基づくことを特徴とするハンドヘルド・マルチメディア装置。
【請求項１３】
前記可制御の周波数回路は、前記ＤＳＰ／ＣＰＵコアが前記特定のディジタル・マルチメディア・データストリームを符号化／復号化する間に、前記第１動作周波数及び前記第２動作周波数の少なくとも一方を動的に調整することを特徴とする請求項１２に記載のハンドヘルド・マルチメディア装置。
【請求項１４】
さらに、前記ＤＳＰ／ＣＰＵコアに供給される電圧を、前記特定のディジタル・マルチメディア・データストリームを再生して得られた履歴負荷特性に基づいて調整する電圧調整回路を具えていることを特徴とする請求項１２に記載のハンドヘルド・マルチメディア装置。
【発明の詳細な説明】
【技術分野】
【０００１】
現在、電力消費は、ハンドヘルド（手持ち型）または携帯装置上でマルチメディア・コンテンツのストリーミング（ストリーム伝送再生）または再生が要求される応用における盛んな研究領域である。
【背景技術】
【０００２】
一部のハンドヘルド装置は、システムのアーキテクチャ、及び当該システム上でアプリケーションが実行されるシリコンシステムに応じてＣＰＵの電力消費を低減するのに役立つ固定の低電力設定を有する。他のハンドヘルド装置は、シリコン自体の設計における低電力の技法または技術を用いて全体の電力消費を低減する手助けをする。さらに他の応用では、ハンドヘルド・マルチメディア用途向けの電力管理技術が存在しないかこうした技術を用いない。
【０００３】
ハンドヘルド装置において最も広く用いられている省電力技術は、ＣＰＵ／ハードウェア及びメモリーの動作周波数を所定の上限に設定することによって達成される。この所定の上限動作周波数の制限は、今日のマルチメディア・コンテンツをハンドヘルド装置上で復号化及び再生することを可能にする。これは「１つの速度が全状況に適合する」型の解決法（ソリューション）である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
１速度型の解決法ではなく、その代わりに、ハンドヘルド装置上でのマルチメディア符号化及び復号化機能の期間中における電力のより良い最適化のための技術を提供するハンドヘルド・マルチメディア装置における電力を節減する方法及び装置が必要である。
【課題を解決するための手段】
【０００５】
本発明の好適例は、特定のマルチメディア・データストリームの履歴負荷特性を用いて、マルチメディア・コンテンツの複雑性に応じてコンピュータエンジンの計算能力を動的に増減する技術を利用し、これにより、より計算密度の低いコンテンツ用の電力消費を低減し、結果的に長期間にわたる電力消費量を大幅に低減する。本発明の好適例は、特定のマルチメディア・データストリームを最初に再生する際に、ＣＰＵ／ＤＳＰ負荷及び利用可能な帯域幅に関する複雑性モデルの統計値を収集する。本発明の好適例は、この特定のデータストリームを２回目に再生する際に、上記複雑性モデルの統計値を用いてＣＰＵ／ＤＳＰの動作周波数を必要または最適な周波数に調整し、これにより、上記特定のデータストリームを上記ＣＰＵ／ＤＳＰによって円滑に符号化／復号化することができるが、電力は浪費しない。この必要な周波数は一般に、ハンドヘルド・マルチメディア装置の最大動作周波数より低い。動作周波数は、複雑性の特性（プロファイル）に基づいて動的に制御される。
【０００６】
さらに、ＣＰＵ／ＤＳＰコアの動作電圧を、履歴負荷特性に基づいて、特定のデータストリームについて電力を浪費しない必要又は最適な電圧に調整することができる。換言すれば、ＣＰＵ／ＤＳＰデバイスの動作電圧を、ＣＰＵ／ＤＳＰコアが、複雑性の特性において決まる周波数範囲内で動作することを可能にする最小電圧に静的に設定し、ハンドヘルド・マルチメディア装置向きの品質を結果的に提供する。しかし、この動作電圧は、他のデータストリームの複雑性の特性向きに適応的に変更することができる。
【０００７】
本発明のさらに追加的な好適例では、メモリーの動作周波数を、特定のデータストリームの履歴負荷特性に基づいて、この特定のデータストリームを再生するのに最適な周波数で動作するように動的に調整する。
【０００８】
なお、以上の本発明の概要は、本発明の各実施例及びすべての態様を表現することを意図したものではない。
【０００９】
本発明の方法及び装置のより完全な理解は、以下の実施例の詳細な説明を添付した図面と併せて参照することによって得られる。
【発明を実施するための最良の形態】
【００１０】
現在、マルチメディアデータを処理するハンドヘルド装置内のＣＰＵのエネルギー使用を節減するために用いられる技術は最適化されていない。今日のシステムは、特定のマルチメディア・コンテンツを処理するためにＣＰＵに供給する電力または動作周波数の適正量を決める際に、マルチメディア・コンテンツの性質または複雑性を調べて考慮に入れない。即ち、現在の省電力技術は動的かつ最適な電力節減方法を提供しない。また、現在の固定の省電力システムは、電力バジェット（上限量、割当量）制御が所定の事前予測された限度に設定されることによりハンドヘルド装置のハードウェア能力が制限されることによる、再生中のビデオ／オーディオの欠落、及び／または再生品質が悪化し得ることのような問題を発生し得る。
【００１１】
ハンドヘルド・マルチメディア装置産業が現在直面している最大の挑戦の１つは、装置が使用する電力を、実行中の特定のマルチメディア・アプリケーションに基づいて最適化しつつ、マルチメディア・アプリケーションを携帯型（ポータブル）ハンドヘルド装置及び他の携帯装置上で実行させる方法である。一般に、マルチメディア・アプリケーションはビデオ／オーディオの復号化／符号化機能から成り、これらの機能は計算密度が高く、従って、オンボード（基板上の）ディジタルシグナルプロセッサ（ディジタル信号処理装置）（ＤＳＰ：Digital Signal Processor）を高周波数で動作させて符号化／復号化機能を達成し、このためユーザは再生中の欠落または中断を見聞きしない。ＣＰＵ及び／またはＤＳＰを高周波数で動作させることは、これらのマルチメディア型アプリケーションの電力消費に寄与する。
【００１２】
これらの復号化／符号化機能に必要な計算能力は長時間にわたって線形ではなく、主にビデオ／オーディオ・マルチメディア・コンテンツの複雑性に依存するので、本発明の実施例は、特定のマルチメディア・アプリケーションがハンドヘルド装置上で最初に実行される際に、このマルチメディア・アプリケーションの複雑性に関するデータを監視、測定、及び記憶することができる。従って、同じマルチメディア・アプリケーションがハンドヘルド装置上で次回に実行される際に、ＤＳＰ及び／またはＣＰＵへの電力を調整して、実行されるアプリケーションの適正な性能に、ユーザに視覚的または聴覚的に知覚される程度の影響を与えることなしに、このアプリケーションを実行するための最小量の電力を供給することができる。
【００１３】
一般に、本発明の他の実施例は、コンテンツの複雑性に応じてＤＳＰの計算能力を動的に増減する技術を用い、これにより、より計算密度の低いマルチメディア・コンテンツのための電力消費を低減し、従って、長期間にわたる全体の電力消費を大幅に低減する。必要とする特定のビットストリームまたはアプリケーションの履歴負荷特性の統計値を保存し使用して、同じコンテンツを将来再生する際に、ＣＰＵ、ＤＳＰの周波数及び／または電圧、及びＤＤＲ（ＤＤＲ−ＳＲＡＭ：Double Data Rate SRAM：倍速ＳＲＡＭ）の周波数を最適に増減することができる。本発明の実施例はPNX1500 SOC（登録商標）上でテストされ効果を確認され、PNX1500 SOCはTM3260コア（登録商標）（マイクロプロセッサ・コア）を内蔵し、TM3260コアでＭＰＥＧ４／ＭＰＥＧ２プレーヤのアプリケーションを実行する。動作のクロック周波数は、このコア用に動的に再設定することができる。また、メモリーの動作周波数を変更し、かつ／あるいは、メモリーに供給する動作電圧を動的に再設定して、電力消費を低減することができる。以上説明した方法での電力節減は、Ｖ2Ｆ法を用いることによって計算することができる。Ｖ2Ｆ技術は、プロセッサデバイスが必要とする電力は、電圧の二乗×動作周波数に比例することを述べる物理的原理に基づくものである。
【００１４】
本発明の実施例を用いて、ＭＰＥＧ２／ＭＰＥＧ４／Ｈ．２６４／WindowsMedia（登録商標）（ウィンドウズメディア（登録商標））のビデオ及びこれに関連するＭＰ３のようなオーディオ、WindowsMedia（登録商標）Audio（ウィンドウズメディア（登録商標）オーディオ）、ＡＡＣ（Advanced Audio Coding）（ＭＰＥＧ２の音声符号化の一種）、及び他のマルチメディア・データストリーム及びアプリケーションの再生の電力消費を可変的に調整／最適化することができる。
【００１５】
固定の電力バジェット設定を用いることに限定される前の技術、またはプロセス技術の進歩、あるいはマルチメディア・アプリケーション用の固定の省電力設計は、要求されるマルチメディア・コンテンツの性能及び電力の動的な性質に応えていない。
【００１６】
ハンドヘルド・マルチメディア装置用の以前の電力節減技術の多くは、再生品質の損失により非常に良好と言うには不十分であり、この再生品質の損失は通常、低い固定の計算バジェットまたは計算リソース（資源）の制限によって生じる。また、固定の計算バジェットが過大であり不必要な所では、マルチメディア・コンテンツの再生またはストリーミングにおける過大な電力浪費がしばしば存在する。
【００１７】
従って、本発明の実施例によるもののように、マルチメディア・コンテンツの最適な再生及び最適な電力節減の必要性に応える技術は、絶対的な電力消費の節減を提供する。
【００１８】
従って、本発明の実施例は、マルチメディア・アップリケーションに要求される電力消費に対して、アプリケーション及びコンテンツの動特性に依存した動的な制御を実行する。本発明の実施例は、再生品質を犠牲にすることなしに最適な電力制御を提供する。本発明の実施例は、低電力のシリコン設計及び製造技術の進歩と組み合わせると、マルチメディア・アプリケーションに必要な電力消費を大幅に低減することができることは当業者にとって明らかであり、これらのアプリケーションは実行が集中的であり、従って、ハンドヘルド・マルチメディア装置上での電力の使用及び浪費の大きな割合に寄与する。
【００１９】
さらに、本発明の実施例は、ハンドヘルド・マルチメディア装置上での最適品質の再生を可能にしたままで、以前の近代的技術に比べて、ＣＰＵ、ＤＳＰ及び／またはＤＤＲメモリーの電力消費を大幅に低減するための微細制御メカニズムまたは手段も特徴とし、上記以前の近代的技術は、バジェットより大きい計算リソースを消費する圧縮／非圧縮データストリームの部分または期間において解像度を低減したビデオ表示または低減されたオーディオ品質を実行し提供することによって、再生品質を特定量だけ低減する。
【００２０】
本発明の別な実施例は、動的な電力制御及び節減モードを提供する。ハンドヘルド・マルチメディア装置のＣＰＵ／ハードウェアに供給される電力及び／またはクロック周波数、及びメモリーの動作周波数は、マルチメディア・コンテンツの特性に基づいて制御される。ハンドヘルド・マルチメディア装置内の所定構成要素に供給される電力及びクロック周波数を制御することによって、ハンドヘルド・マルチメディア装置の予測可能な性能と共に、真の省電力が生み出される。こうした好適な制御を用いて、低分解能の復号化／符号化モードに切り換えて、高い画像／音声の品質を維持したままで特定の電力バジェット内に留まることができ、このことは、再生前に装置のシステム性能を正確に計算し増減して、装置の回路に供給される電力を上質なままの劣化を伴う再生用に最適化し、これにより、オーディオ／ビデオの欠落及び再生の問題を防止することによって行う。
【００２１】
ここで図１を参照すれば、種々のマルチメディア携帯またはハンドヘルド装置では、一般に同じオーディオストリームが何回も繰り返し再生される。このことは、映画、ビデオクリップ、ビデオゲーム等のビデオデータストリームにも当てはまる。ハンドヘルド装置／プレーヤ上１０で新たなデータストリームを再生する際に、このデータストリームの負荷の統計値を、データストリームが再生される時間にわたって収集する（１２）。収集される統計値は次のものを含む：
１）フレーム当りに要求されるＣＰＵ／ＤＳＰの負荷（ビデオ／オーディオ）
２）メモリー帯域幅
【００２２】
これらの統計値はメモリーに保存され（１４）（即ち、フラッシュメモリー、ローカル・ハードディスク、または他のオンボード・メモリー記憶装置）、特定のデータストリームに関連するものとしてタグ付けされる。収集した統計データから、この特定のデータストリームについての負荷特性を計算し、ハンドヘルド・プレーヤのフラッシュメモリーまたはローカル・ハードディスク上に記憶するか、あるいは他の実施例では、ストリームのプロパティ（特性、性質）からハッシュ値を計算して、この特定のデータストリームに関連する複雑性／負荷特性中に格納する。
【００２３】
ここで図２を参照すれば、同じデータストリームを再び再生する際に（１６）、この特定のデータストリーム用に最適なＤＤＲメモリーの周波数及びＣＰＵコアの電圧の設定値をメモリー記憶装置から読み出し、計算して（１８）設定する（２０）ことができる。ＣＰＵの動作周波数を動的に調整して、ストリームの負荷／複雑性の特性に合わせて、ＤＳＰの不必要に高い動作周波数（MHz）を回避し、これにより全体の電力浪費を低減する（２２）ことができる。
【００２４】
この場合の制限的要素は、複数の異なるデータストリームについての統計値を収集する際に記憶することのできるデータの量である。例えば、１００曲の歌の音をハンドヘルド装置上に記憶する場合には、１００個の統計的負荷に関係する設定値（ストリーム負荷の複雑性の特性）も記憶しなければならない（例えば、ディジタルオーディオ・データストリーム毎に１つ以上）。ハンドヘルド装置は有限量のメモリーを有するので、本発明のいくつかの実施例では恐らくは、所定期間にわたって、あるいは、指定されたメモリー空間を所定量使用した後に、ＬＲＵ（Least Recently Used：最長時間不使用の）ストリームの負荷の複雑性の特性を消去して、新たに作成または計算されるストリーム負荷の複雑性の特性のための空間を作る。従って、この代案実施例では、前に再生し記憶したデータストリームまたはアプリケーションの必ずしもすべてが、関連するストリーム負荷の複雑性の特性を記憶装置内に有さないが、少なくとも複数の最近使用したアプリケーションまたは最近再生したデータストリームがこうしたストリーム負荷の複雑性の特性を有する。長時間再生していないデータストリームまたは使用していないアプリケーションは、これらを再び再生または実行する際に、新たなデータ点を生成し収集しなければならないことがある。
【００２５】
この好適な技術の有効性確認を、ＭＰＥＧ２及びＭＰＥＧ４のビデオ再生について、トリメディア社のTM3260ＣＰＵコアを有するPNX1500 SOC上で実行した結果を図５に示す。収集した統計値は、ビットストリームの最初の再生における、フレーム当たりに費やされるＣＰＵのMHz（動作周波数）及びフレーム当りに要求されるメモリー帯域幅を含む。そしてこの統計値は、特定のデータストリームについてのストリーム負荷の複雑性の特性としてメモリーに保存した。
【００２６】
こうした特定のデータストリームについてのストリーム負荷の複雑性の特性は種々の方法で計算または提供することができ、ここに：
ＣＰＵのMHz／フレーム＝ＣＰＵサイクル／フレーム×動作周波数×Ｎfps
【００２７】
Ｎfpsは、１秒当りに復号化されるフレーム数であり、例えばＰＡＬでは２５、ＮＴＳＣでは３０、等である。特定のデータストリームについてのストリーム負荷の複雑性の特性の態様を計算して記憶する好適なプログラム部分は次のように示すことができる：
While (!endOfStream)
（ストリームの最後まで繰り返し）
LoadProfileMemory[frame_number]＝CPU MHZspent/frame;//メモリーに記憶する
（負荷特性メモリー[フレーム番号]＝フレーム当たりに費やされるＣＰＵのMHz）
MemoryBandwidth[frame_number]＝DDR Memory
Controller Measurements/frame;
（メモリー帯域幅[フレーム番号]＝フレーム当りのＤＤＲメモリーコントローラの測定値）
Frame_number++;
（フレーム番号を１つ増加）。
【００２８】
本発明の実施例は、その後に同じデータストリームを再生する前に：
ａ．ＣＰＵの最大動作周波数を見つけ、ＤＤＲの動作周波数をＣＰＵの動作周波数に対して３：２の比率、あるいはこの値付近まで増減させる。要求されるコアの動作電圧を計算し、チップのコアの電圧は、ＣＰＵと通信するＩ2Ｃインタフェースを有する電圧レギュレータ（調整器）上で設定することによって設定する。ＤＤＲの周波数を計算値に設定する。ＤＤＲの周波数はメモリー帯域幅の要求にも依存する。要求されるメモリー帯域幅がより高ければ、これに応じてＤＤＲの周波数を設定しなければならない。
CpuMHzmax＝MAX（loadProfileMemory[0]...
loadProdileMemory[Total Number of frames-1]）
（要求されるＣＰＵの最大MHz＝（メモリー中の０番目に記憶された負荷特性...メモリー中の[フレーム総数−１]番目に記憶された負荷特性）のうちの最大値）。
【００２９】
PNX1500及びTM3260について与えられた仕様から、あるいはどのＣＰＵプラットフォームを使用しても、ＣＰＵをこの動作周波数で動作させるのに必要な最小コア電圧が導出される。現実のシステムにはオーバーヘッドが存在することを考えれば、これらのオーバーヘッドを周波数（MHz）に加え、そして約5〜10%の追加的なクッション（余裕）を加えるべきである。特定のデータストリームに要求される最大周波数を計算した後に、ＣＰＵコアの電圧は次式のように設定することができる：
DDR Memory frequency＝OptCpuMemRatio＊CpuMHzmax＋ｆ(MB)
DDR Memory frequencyはＤＤＲメモリーの周波数であり、
メモリーの帯域幅がこの周波数で最適であれば、ｆ(0)＝０であり、さもなければ、
ｆ(MB)＝ＣＰＵが必要とするメモリー帯域幅であり、レイテンシを考慮に入れて動作周波数より高く計算する。
OptCpuMemRatioは、使用する最適なＣＰＵ対メモリーの周波数比の逆比であり、この場合のＣＰＵ対メモリーの周波数比は３：２である。
CpuMHzmaxはＣＰＵの最大周波数（MHz）である。
【００３０】
ｂ．特定の負荷特性を計算するフレーム数（Ｎ）を設定する。ＭＰＥＧ２及びＭＰＥＧ４ビデオ再生アプリケーションについて、それぞれＮを１０及び３０に設定することによって計算する。
【００３１】
ｃ．次のＮフレームに要求される最大MHz（周波数）を見つけ、即ち、ＣＰＵ用の周波数を次式のように計算して、この周波数を次のＮフレーム用に設定する：
CpuMHzmax＝MAX(loadProfileMemory[n+1]...loadProfileMemory[n+1+N])
（時間間隔ｉにおいて要求されるＣＰＵの最大周波数＝（メモリー中のn+1番目に記憶された負荷特性...メモリー中のn+1+N番目に記憶された負荷特性）のうちの最大値）。
【００３２】
ｄ．Ｎ−１個のフレームの最後に、次のＮフレームに要求されるＣＰＵの周波数を計算し、動作周波数をこの数に設定する。ストリームの終わりまでステップ(c)を繰り返す。
【００３３】
再び図５を参照すれば、ここで行った測定はＭＰＥＧ２ビデオ再生についての好適な場合である。この測定は次の通りである：
ＭＰＥＧ２再生：
データストリーム：Gordon（ゴードン）ＭＰＥＧ２の基本ストリーム（gordon.mv2）であり、720×576のフルＤ１のＰＡＬストリームである。
【００３４】
PNX1500の開発用ボードをこれらの実験に使用した。通常のＭＰＥＧ２ビデオの再生については、ＣＰＵは200MHz、ＤＤＲは166MHzの周波数に設定する。コアの動作電圧は、このデータストリームについては最初に1.3Vに設定している。
【００３５】
データストリームを再生する際に、再生の統計値から、このストリームに要求される最大MHz（周波数）を120MHzに決定した。20%のオーバーヘッドを考え、ＣＰＵに要求されるMHz＝144MHzとした。従って、以上で説明したように、メモリーの動作周波数は100MHzに設定した。
【００３６】
プロセッサの仕様から、ＣＰＵをこの速度で駆動するのに必要なコア電圧を約0.9Vに定まるが、この実験では簡単のため、代わりに電圧を1.0Vに設定した。
【００３７】
同じデータストリームを再び再生する際には、消費電流を37%だけ低減し、このことは約37%の大幅な電力節減に至る。ここでも、要求されるMHzに応じてＣＰＵコアの電圧を動的に制御して電力消費を低減することができるが、ボード上のハードウェアの制限により、この実施例の実験ではこのことは行わなかった。
【００３８】
ＣＰＵの周波数の統計値より、そしてＣＰＵの動作周波数を動的に再設定すれば、すべての測定期間にわたって要求される平均MHzは91MHz＋20%のオーバーヘッド＝110MHzである。
【００３９】
参考として本明細書に含むＶ2Ｆ法を用いることによって、推定される電力節減量は約50%である。これらの統計値で再生を実行する際に、平均的に約46%の電流低減が見られる。
【００４０】
本発明の実施例は、これらに限らないが、移動（モバイル）マルチメディア装置、マルチメディア・コンテンツを再生するセルラ電話機、パーソナル・ディジタル・アシスタント（ＰＤＡ：Personal Digital Assistant：個人用携帯情報端末）、パーソナル（個人用）メディアプレーヤ、ディジタルメディア・アダプタ、ポータブルＸｂｏｘ（登録商標）、ゲームボーイ（登録商標）または他の携帯型（ポータブル）ゲーム装置、ビデオカメラ、ディジタルカメラ、ハンドヘルドＧＰＳ装置、及び電力消費が関心事である他の種類のマルチメディア装置を含む種々のハンドヘルド・マルチメディア装置に用いることができる。
【００４１】
図２及び３に、本発明の追加的な実施例を示す。なお、データストリームの最初の再生中に統計的情報を収集する。収集したデータの特性は、データストリームを再生した後に記憶することができ、あるいは、ストリーム負荷の複雑性の特性（即ち、ＣＰＵの周波数要求値、メモリーの周波数要求値、ＣＰＵの電圧及び／または電流の要求値、等）を計算し、計算したストリーム負荷の複雑性の特性を特定のデータストリームについて保存するために用いることができる。新たなデータストリームを再生した後、あるいは特定のデータストリームを再び再生する前にこうした計算を行うことは、本発明の実施例の変形である。
【００４２】
図３に、ハンドヘルド・マルチメディア装置上で特定のデータストリームを再生するか特定のアプリケーションを実行するのに必要な、必要または最適な周波数及び電力を動的に計算する好適な方法を示す。ステップ３０では、再生する特定のデータストリームをユーザが選択する。この特定のデータストリームは、ハンドヘルド・マルチメディア装置上で既に再生されたものでもよく、あるいは、この特定のデータストリームをこのハンドヘルド・マルチメディア装置上で再生するのは初回でもよい。ステップ３２では、ハンドヘルド・マルチメディア装置が、この特定のデータストリームが当該装置上で以前に再生または実行されたものであるか否か、及びデータフレーム（またはデータ）が以前に復号化されているか否かを判定する。また、ステップ３２では、ハンドヘルド・マルチメディア装置は、上記特定のデータストリームについての特性が既に生成され、ハンドヘルド・マルチメディア装置上のメモリーにまだ存在するか否かも判定する。一部の実施例では、ある時間間隔が経過すると、特定のデータストリームについてのデータ複雑性の特性の上に、より新しく再生された他のデータストリームについてのデータ複雑性の特性が上書きされる。ステップ３２において、上記特定のデータストリームについてのデータ複雑性の特性が存在しない場合には、ステップ３４では、上記特定のデータストリームをハンドヘルド・マルチメディア装置上で再生または実行する間に、負荷特性及び周波数帯域幅の要求を生成する。ステップ３６では、上記特定のデータストリームについての負荷特性の統計値をメモリーに記憶する。
【００４３】
ステップ３２において、上記特定のデータストリームについての負荷特性がメモリーに存在するものと判定した場合には、ステップ３８では、メモリー帯域幅の統計値をメモリーから読み出し、そして負荷の統計値をメモリーから読み出す。これらの統計値を用いて、上記特定のデータストリームを再生または実行する前に、データ複雑性の特性を生成する。上記特定のデータストリームについてのデータ複雑性の特性はタグ付けしてメモリーに記憶することができ、これにより、後に上記特定のデータストリームを再び再生する際に、これらの特性を読み出すことができる。
【００４４】
一般に、データ複雑性の特性は、ＣＰＵ、ＤＳＰ及び／またはメモリーの動作周波数を設定するための情報をハンドヘルド・マルチメディア装置の電子回路に提供する。データ複雑性の特性は、全体の電力、ハンドヘルド・マルチメディア装置内のＣＰＵ及び／またはＤＳＰデバイスに供給される電圧または電流を設定するための情報も含むことができる。メモリーの帯域幅の統計値、及び／またはＣＰＵの負荷または周波数の統計値は、上記特定のデータストリームがハンドヘルド・マルチメディア装置上で実行または再生される間に、このデータストリームのフレーム毎のベース（フレームベースの統計的サンプリング）で蓄積されるデータである。
【００４５】
図４に、本発明の他の実施例を示す。ここでは、データストリームを複数の時間間隔に分割し、特定のデータストリームの各時間間隔はそれぞれのデータ複雑性の特性を有する。ステップ５０では、ハンドヘルド・マルチメディア装置上で再生される特定のデータストリームを要求する。ステップ５２では、事前に記憶したデータストリームの負荷／データ複雑性の特性パラメータを、上記特定のデータストリームの時間間隔毎にメモリー５４中で見出して、上記特定のデータストリームを復号化／符号化する間に使用する。他の実施例では、上記時間間隔はデータストリームの一部ではなく、特定ストリームの全体である。ステップ５６では、ＣＰＵ／ＤＳＰの動作周波数を、あるデータストリーム時間間隔（データストリーム中の時間間隔）について計算する。また、メモリーの動作周波数を計算する。種々の実施例では、ＣＰＵ、ＤＳＰ及びメモリーの必要な動作周波数が、同じデータストリーム時間間隔に対してそれぞれ異なる。他の実施例では、メモリーの動作周波数はＣＰＵまたはＤＳＰの動作周波数にある比率で関連する。ＣＰＵ／ＤＳＰデバイスにとって必要または最適な電圧、電力及び／または電流要求値も計算する。ステップ５８では、ＣＰＵコアの電圧及び周波数を、上記データストリーム時間間隔についての計算に基づいて設定する。メモリーの周波数も設定する。
【００４６】
ステップ６０では、データストリームをプロセッサコアに供給して符号化／復号化する。最初のデータストリーム時間間隔を処理し、このデータストリームのコンテンツの再生（またはアプリケーションの実行）を開始する。ステップ６２及び６４では、次のデータストリーム時間間隔用のＣＰＵ電圧及び周波数を、次のデータストリーム時間間隔（予測時間間隔）について計算する。さらに、メモリーデバイスの周波数も、次のデータストリーム時間間隔について計算することができる。ステップ６６では、次のデータストリーム時間間隔が終わったことを判定し、本発明の方法がループバックして（ループの始まりに戻って）後続のデータストリーム時間間隔についての計算を行う。
【００４７】
本発明の他の実施例では、特定のデータストリームの最初の再生中に、特定のデータストリームまたはアプリケーション中のデータストリーム時間間隔毎、ＣＰＵ／ＤＳＰの電圧及び周波数の計算を行って記憶する。この特定のデータストリームまたはアプリケーションを後に再生または実行する際に、前にデータストリーム毎に計算した電圧及び周波数をメモリーから読み出して使用し、各データストリーム時間間隔がコアによって処理される間の動作周波数及び電圧を設定する。この実施例は、データストリームが再生されている間の余分な計算を解消し、そしてハンドヘルド・マルチメディア装置上の電力負荷をさらに低減することができる。
【００４８】
従って、本発明の実施例はとりわけ、特定のマルチメディア・データストリームの履歴負荷特性の統計値を使用して、マルチメディア・コンテンツの複雑性に応じてコンピュータエンジンの計算能力を動的に増減し、これにより、より計算密度の低いコンテンツのための電力消費を低減し、結果的に長時間にわたる電力消費を大幅に低減することは当業者にとって明らかである。
【００４９】
図６に、好適なハンドヘルド・マルチメディア装置１００の簡略化した基本ブロック図を示す。ＤＳＰ／ＣＰＵコア１１０はとりわけ、マルチメディア・データストリームの符号化及び復号化を実行する。これらのマルチメディア・データストリームはメモリーデバイスまたは回路１１２に記憶される。周波数制御回路１１４は、ＤＳＰ／ＣＰＵコア１１０、メモリー１１２、または両方に供給される動作周波数を変化させることを周波数制御回路に指示する周波数制御信号をＣＰＵから受信する。さらに、コア１１０は、コア１１０、特にコア内のＣＰＵ及び／またはＤＳＰ回路に供給される電圧を調整するための制御信号も電圧制御回路１１６に供給し、これにより、マルチメディア・データストリームの符号化または復号化中にエネルギーが浪費されない。
【００５０】
メモリー１１２は、前に再生または実行したデータストリームに対応するタグ付きデータも記憶することができる。コア１１０はこれらのタグ付きデータを用いて、コア１１０及びメモリー１１２の最適な動作周波数を計算し設定する。これらのタグ付きデータをコアが使用して、このコア用の最適な動作電圧を計算することもできる。この計算は、ユーザが選択した特定のデータストリームの履歴負荷データに基づいて行うことができる。
【００５１】
上述した本発明及びその方法の多くの変形及び実施例が可能である。本発明及びその方法の特定実施例のみを、図面に例示し以上の詳細な説明において説明してきたが、本発明は開示した実施例に限定されず、請求項に記載して規定する概念から逸脱することなしに、追加的な再構成、変形及び代替が可能であることは明らかである。従って、本発明の範囲はこうした構成のすべてを包含し、請求項によってのみ限定されることは明らかである。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施例による、特定マルチメディア・データストリームの最初の再生の流れ図である。
【図２】本発明の実施例による、特定マルチメディア・データストリームの再度の再生の流れ図である。
【図３】本発明の他の実施例の流れ図である。
【図４】本発明のさらに他の実施例の流れ図である。
【図５】マルチメディア・データストリームについて、ＣＰＵに要求される動作周波数をMHzで表したグラフである。
【図６】好適なハンドヘルド・マルチメディア装置の簡略化したブロック図である。
【図１】
2009501482.tif 000003
【図２】
2009501482.tif 000004
【図３】
2009501482.tif 000005
【図４】
2009501482.tif 000006
【図５】
2009501482.tif 000007
【図６】
2009501482.tif 000008
【国際調査報告】
2009501482.tif 000009
2009501482.tif 000010
2009501482.tif 000011