(57)【要約】      （修正有）【課題】ビデオ復号中の動的周波数調整のための方法及びシステムを提供する。【解決手段】オーディオ／ビデオプロセッサＡＶＰにおいて、ビデオクリップの一部に対してハードウェア可変長復号（ＶＬＤ）を実行する復号時間が測定される。ビデオ復号中にプロセッサを制御する周波数は、その復号時間に少なくとも一部に基づいて調整される。不使用の処理周波数を減少することによりＡＶＰの電力消費を減少する。【選択図】図４
2008104153.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ復号中に動的周波数調整を行う方法であって、
ビデオクリップの一部に対してハードウェア可変長復号（ＶＬＤ）をプロセッサにおいて実行する復号時間を測定するステップと、
前記復号時間に少なくとも一部基づいて、前記ビデオクリップの前記ビデオ復号中に前記プロセッサを制御する周波数を調整するステップと、
を含む方法。
【請求項２】
ビデオクリップの前記一部は、前記ビデオクリップの複数のフレームを有しており、
前記複数のフレームについての前記復号時間を平均化することによって、前記複数のフレームそれぞれの平均復号時間を決定するステップを更に含む請求項１記載の方法。
【請求項３】
前記復号時間に基づいて前記プロセッサを制御する周波数を調整する前記ステップは、前記復号時間を前記周波数に基づく割当復号時間と比較し、前記復号時間が前記割当復号時間と異なる場合に、前記周波数を調整する請求項１記載の方法。
【請求項４】
前記復号時間が前記割当復号時間よりも大きい場合は、前記周波数を増加させ、
前記復号時間が前記割当復号時間よりも小さい場合は、前記周波数を減少させることを更に含む請求項３記載の方法。
【請求項５】
前記周波数を調整する前記ステップは、最大周波数調整制限を有する条件下で前記周波数を調整することを含む請求項３記載の方法。
【請求項６】
前記復号時間に少なくとも一部基づいて前記プロセッサを制御する周波数を調整する前記ステップは、前記平均復号時間に従って前記周波数を直線的にスケーリングすることを含む請求項２記載の方法。
【請求項７】
ビデオクリップの一部に対して可変長復号（ＶＬＤ）を実行するオーディオ／ビデオプロセッサと、
ビデオクリップの前記一部に関して、前記ＶＬＤオペレーションを実行する復号時間を測定する復号タイマと、
前記オーディオ／ビデオプロセッサが前記ＶＬＤオペレーションを実行する周波数を生成するクロックと、
前記復号時間に少なくとも一部基づいて、前記周波数を調整する適応クロック周波数コントロールと、
を備えるビデオ復号システム。
【請求項８】
ビデオクリップの前記一部は、前記ビデオクリップの複数のフレームを有しており、
前記適応クロック周波数コントロールは、前記複数のフレームについての前記復号時間を平均化することによって、前記複数のフレームそれぞれに関する平均復号時間を決定するように作動する請求項７記載のビデオ復号システム。
【請求項９】
前記適応クロック周波数コントロールは、前記復号時間を前記周波数に基づく割当復号時間と比較し、前記復号時間が前記割当復号時間と異なる場合に、前記周波数を調整するように作動する請求項７記載のビデオ復号システム。
【請求項１０】
前記適応クロック周波数コントロールは、
前記復号時間が前記割当復号時間よりも大きい場合は、前記周波数を増加させるように作動し、
前記復号時間が前記割当復号時間よりも小さい場合は、前記周波数を減少させるように作動する請求項９記載のビデオ復号システム。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001] 本発明の分野は、ビデオ復号に関する。より詳しくは、本発明は、ビデオ復号中に動的周波数調整する方法に関する。
【発明の背景】
【０００２】
[0002] 多くのビデオ標準、例えば、ムービング・ピクチャ・エキスパート・グループ（ＭＰＥＧ）標準規格（ＭＰＥＧ３、ＭＰＥＧ４など）及びＨ．２６４標準規格は、ビデオ復号中に可変長復号（ＶＬＤ）動作を行うことについても定めている。ハードウェアビデオ復号において、ＶＬＤオペレーションは、オーディオ／ビデオプロセッサ（ＡＶＰ）のような特別なプロセッサによって実行されるようにできる。ＭＰＥＧ及びＨ．２６４ビデオ復号は複雑であるため、圧縮率に依存してビットレートに変動が起こることがある。ビットレートの変動は、ＶＬＤオペレーションを実行するのにＡＶＰがどのように速くクロックされる必要があるかに関して、ばらつきを生じさせる。言い換えると、ビデオフレームは、ＶＬＤオペレーションを実行する処理時間の可変値を必要とするかもしれない。
【０００３】
[0003] 典型的なハードウェアビデオ復号システムにおいて、ＶＬＤオペレーションは、ビデオクリップを復号するのに必要な最高の処理速度においてシステムに復号させることによって実行される。最高の処理速度は、「ワーストケース」処理速度であり、システムによって復号され得るビデオクリップの最高ビットレートを決定することにより選択される。例えば、ワーストケース周波数は、発送前に製造施設においてシステムに組み込まれる。ワーストケース周波数を、ハードウェアビデオ復号システムの設計中にカスタマーから受けるビデオクリップの解析に基づいて選択することができる。特に、典型的なハードウェアビデオ復号システムは、ビデオ復号オペレーション中にＡＶＰを動作する周波数を変化させることに対応していない。
【０００４】
[0004] デスクトップコンピュータのように定電源を有するコンピュータシステム内に実装されるハードウェアビデオ復号システムにおいては、最高の周波数でＡＶＰをクロッキングすると、使用時間を減少させる結果になるが、電力消費の増加も招くことになる。しかしながら、バッテリ源を有するポータブルコンピューティング装置内に実装された典型的なハードウェアビデオ復号システムは、そのような高周波数での復号を必要としないビデオクリップに対してでさえ、ＡＶＰがワーストケースビデオクリップを復号するのに必要な電力を消費することから、過度の不要な電力消費が生じる。バッテリが最チャージをすぐに必要とするため、過度の電力消費は、ポータブルコンピューティング装置の使用時間を効果的に減少する。これはさらに、他のハードウェアビデオ復号システムが電力を節約するためにゲートするクロックを使用する一方で、これらのシステムのクロックツリーはトグルし続け、過度の不要な電力消費も招く。
【発明の概要】
【０００５】
[0005] 本発明の実施形態は、ビデオ復号中の動的周波数調整を提供する。本発明の実施形態は、ビデオ復号中のオーディオ／ビデオプロセッサ（ＡＶＰ）の周波数を適応的に調整することができる。本発明の実施形態は、不使用の処理周波数を減少することによりＡＶＰの電力消費を減少する。
【０００６】
[0006] ある実施形態では、本発明は、ビデオ復号中に動的周波数調整を行う方法を提供する。プロセッサにおいてビデオクリップの一部に対してハードウェア可変長復号（ＶＬＤ）を実行する復号時間が測定される。ある実施形態では、プロセッサは、画像処理ユニット（ＧＰＵ）のオーディオ／ビデオプロセッサである。ある実施形態では、上記一部は、ビデオクリップの複数のフレームを有し、複数のフレームそれぞれに関する復号時間が該複数のフレームの復号時間を平均化することによって定められる。
【０００７】
[0007] ビデオクリップのビデオ復号中にプロセッサを制御する周波数は、少なくとも一部は上記復号時間に基づいて調整される。ある実施形態では、復号時間は周波数に基づく割当復号時間と比較される。復号時間が割当復号時間と異なる場合に、周波数を調整する。復号時間が割当復号時間よりも大きい場合は、周波数を増加させ、復号時間が割当復号時間よりも小さい場合は、周波数を減少させる。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。ある実施形態では、周波数はホストプロセッサのクロックで生成される。
【０００８】
[0008] ある実施形態では、本発明は、ビデオクリップの一部に対して可変長復号（ＶＬＤ）を実行するオーディオ／ビデオプロセッサと、ビデオクリップの一部に関して、ＶＬＤオペレーションを実行する復号時間を測定する復号タイマと、オーディオ／ビデオプロセッサがＶＬＤオペレーションを実行する周波数を生成するクロックと、復号時間に少なくとも一部基づいて、周波数を調整する適応クロック周波数コントロールと、を備えるビデオ復号システムを提供する。ある実施形態では、クロック及び適応クロック周波数コントロールは、ホストプロセッサ内に設けられており、オーディオ／ビデオプロセッサは画像処理ユニット（ＧＰＵ）に設けられている。
【０００９】
[0009] ある実施形態では、ビデオクリップの一部は、ビデオクリップの複数のフレームを有しており、適応クロック周波数コントロールは、複数のフレームについての復号時間を平均化することによって、複数のフレームそれぞれの平均復号時間を決定するように作動する。ある実施形態では、適応クロック周波数コントロールは、複数のフレームについての平均復号時間を決定する移動平均フィルタを含む。ある実施形態では、適応クロック周波数コントロールは、適応クロック周波数コントロールは、復号時間を周波数に基づく割当復号時間と比較し、復号時間が割当復号時間と異なる場合に、周波数を調整するように作動する。ある実施形態では、適応クロック周波数コントロールは、復号時間が割当復号時間よりも大きい場合は、周波数を増加させるように作動し、復号時間が割当復号時間よりも小さい場合は、周波数を減少させるように作動する。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。
【００１０】
[0010] 他の実施形態では、本発明は、ビデオクリップの複数のフレームについて平均復号時間を決定する平均復号時間モジュールを含み、該平均復号時間は、複数のフレームにより分割された複数のフレームに対してオーディオ／ビデオプロセッサにて可変長復号（ＶＬＤ）を実行するための合計時間であり、更に、少なくとも平均復号時間に少なくとも一部基づくＶＬＤを制御する周波数を調整する適応周波数アジャスタを備える、オーディオ／ビデオプロセッサに関する適応クロック周波数コントロールを提供する。
【００１１】
[0011] ある実施形態では、平均復号時間モジュールは、移動平均フィルタを有する。ある実施形態では、適応周波数アジャスタは、復号時間を周波数に基づく割当復号時間と比較し、復号時間が割当復号時間と異なる場合に、周波数を調整するように作動する。ある実施形態では、適応クロック周波数コントロールは、復号時間が割当復号時間よりも大きい場合は、周波数を増加させるように作動し、復号時間が割当復号時間よりも小さい場合は、周波数を減少させるように作動する。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。ある実施形態では、適応クロック周波数コントロールは、ホストプロセッサ内に設けられており、オーディオ／ビデオプロセッサは画像処理ユニット（ＧＰＵ）に設けられている。
【００１２】
[0012] 本発明は、例示として、制限されることなく、添付図面に開示されており、類似の要素には同様の参照番号を付す。
【発明の詳細な説明】
【００１３】
[0017] 添付図面に例を示し、本発明の好適な実施形態を説明する。発明は好適な実施形態に関連して説明するが、発明をこれらの実施形態に制限する意図ではないことが理解される。一方、発明は代替、修正及び均等の範囲を包含し、これらは特許請求の範囲の精神と範囲に含まれる。更に、本発明の実施形態に関する以下の詳細な説明において、多くの具体的な詳細が本発明の充分な理解を提供するために述べられる。しかしながら、当業者であれば、これらの具体的な詳細が無くても本発明を実施することができる。他の形態では、公知の方法、手順、要素、及び回路は、本発明の実施形態の形態を不必要に曖昧にしないようにするために、詳細には述べていない。
［表記及び用語］
【００１４】
[0018] 以下の詳細な説明の幾つかの箇所は、手順、ステップ、論理ブロック、処理、及び、コンピュータメモリ内のデータビットに対する動作の他のシンボル表示である。これらの説明及び表示は、データ処理技術分野の当業者が他の当業者に彼らの業務の実態を最大の効率で伝えるために用いられる手段である。ここに説明する手順、コンピュータ実行ステップ、論理ブロック、処理等は、一般的に、所望の結果に導くステップ又は命令のセルフコンシステントのシーケンスとして考えられる。必ずではないが通常は、これらの数量は、コンピュータシステムにおいて、格納、伝送、結合、比較、及び他の操作可能な電気信号又は磁気信号の形態を採っている。これらの信号をビット、値、要素、記号、特性、用語、番号等として証することがしばしば便利であると立証されており、主に共通使用の理由によるものである。
【００１５】
[0019] しかしながら、これらの用語及び類似の用語のすべては、適切な物理的数量に関するものであり、これらの数量に適用される単に便利なラベルである。以下の記述と具体的に反することを述べない限り、本発明の全体を通じて、「実行」、「測定」、「調整」、「決定」、「比較」、「増加」、「減少」、「制御」、「スケーリング」、「バッファ」、「オーダー」、「転送」、「解析」、「インタリーブ」、「ロテート」、「再配置」、又は「格納」などの用語を用いた説明は、動作及びビデオ復号システムのプロセッサに言及する。このプロセッサは、例えば、図１，２のホストプロセッサ１０１、及び、図１，３の画像処理ユニット（ＧＰＵ）１０９、又は、類似の電子コンピューティング装置であり、これらは、コンピュータシステムのレジスタ内で物理的（電子的）数量として示されるデータを操作し、コンピュータシステムのメモリ又はレジスタ、或いは、他のそのような情報ストレージ、伝送、又は表示装置内の物理的数量として同様に示される他のデータに変換する。
［コンピュータシステムプラットフォーム］
【００１６】
[0020] 図１は、本発明の実施形態を実現する典型的なコンピュータシステム１００を示す。一般的に、コンピュータシステム１００は、情報を伝達するバス１１０と、バス１１０と結合され情報及び命令を処理するプロセッサ１０１と、バス１１０に結合されプロセッサ１０１のための情報及び命令を格納しランダムアクセスメモリ（ＲＡＭ）としても呼ばれる揮発性メモリ１０２と、バス１１０に結合されプロセッサ１０１のための固定の情報及び命令を格納しリードオンリーメモリ（ＲＯＭ）としても呼ばれる不揮発性メモリ１０３とを備える。
【００１７】
[0021] ある実施形態においては、コンピュータシステム１００は、バス１１０に結合された情報及び命令を格納するための磁気又は光学ディスク及びディスク装置のような任意のデータストレージ装置１０４を有する。ある実施形態では、コンピュータシステム１００は、コンピュータのユーザに対して情報を表示するバス１１０に結合されたディスプレイ装置１０５などの任意のユーザ出力装置、情報とコマンド選択をプロセッサ１０１と通信するバス１１０に結合された英数字及びファンクションキーを含む英数字入力装置１０６などの任意のユーザ入力装置、及び／又は、プロセッサ１０１に対してユーザ入力情報及びコマンド選択を通信するバス１１０に結合されたカーソル制御装置１０７などの任意のユーザ入力装置を備える。更に、任意の入力／出力（Ｉ／Ｏ）装置１０８がコンピュータシステム１００を例えばネットワークに接続するために用いられる。
【００１８】
[0022] ある実施形態において、コンピュータシステム１００は、専用画像レンダリング機能のためのＧＰＵ１２０も含む。ＧＰＵ１２０は、復号オペレーションのための複数のハードウェア復号ブロックを有し、この復号オペレーションは可変長復号（ＶＬＤ）オペレーションと逆分散コサイン変換（ｉＤＣＴ）オペレーションなどの逆変換オペレーションとを備える。ＧＰＵ１２０は、ビデオを復号するＶＬＤオペレーションを用いた如何なるビデオ復号標準規格にも従ってビデオを復号するように構成することができる。例えば、ＧＰＵ１２０は、ムービング・ピクチャ・エキスパート・グループ（ＭＰＥＧ）標準規格（ＭＰＥＧ３、ＭＰＥＧ４など）、又はＨ．２６４標準規格を用いて符号化されたビデオを復号化するように構成できる。
【００１９】
[0023] ＧＰＵ１２０は、分散コンポーネント、コネクタ（ＡＧＰスロット、ＰＣＩ−ＥＸＰＲＥＳＳスロット等）を介してコンピュータシステム１００に結合されるように設計された分散画像カード、分散集積回路ダイ（例えば、マザーボードに直接搭載される）、又は、コンピュータシステムチップセットコンポーネントの集積回路ダイ内に含まれる集積復号装置として実装することができる。更に、ローカル画像メモリは、データストレージのためにＧＰＵ１２０に含まれる。
［ビデオ復号中の動的周波数調整］
【００２０】
[0024] 図２は、本発明の一実施形態に従った、クロック周波数を動的に制御するホストプロセッサ１０１のブロック図である。ある実施形態では、ホストプロセッサ１０１は、ハードウェアＶＬＤオペレーションを実行するためにプロセッサ（例えば図３のＡＶＰ３１０）が要する時間に基づいて、クロック２２５の周波数２２８を調整できる適応クロック周波数制御装置２２０を備える。ある実施形態では、ホストプロセッサ１０１は、縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサである。しかしながら、ホストプロセッサ１０１は、ハードウェアビデオデコーダを制御する周波数を計算する如何なるマイクロプロセッサでもよい。
【００２１】
[0025] ホストプロセッサ１０１のクロック２２５は、周波数信号２２８を生成する。周波数２２８は、ビデオクリップを復号するハードウェアビデオ復号システム（例えばＧＰＵ１２０）のコンポーネントによって用いられる。クロック２２５は、動的に制御可能であり、ホストプロセッサ１０１のハードリセットを必要とすることなく、周波数２２８をホストプロセッサ１０１の動作中に調整することができる。特に、周波数２２８は、ハードウェアビデオ復号システムのビデオ復号オペレーションの最中に調整することができる。ある実施形態では、クロック２２５は増加するように調整され、例えば、０．５倍、２．０倍、２．５倍となる。他の実施形態では、クロック２２５は複数の特定の周波数で作動し、動作周波数はこれらの間、例えば３３３ＭＨｚ、６６６ＭＨｚ、１．０ＧＨｚ、１．３３ＧＨｚの間でスイッチされる。
【００２２】
[0026] ビデオフォワーダ２０５は、ビデオクリップ又はビデオストリームなどのビデオ２０６の部分を、復号のためにハードウェアビデオ復号システムに転送するように作動する。ある実施形態では、その部分は、ビデオクリップのフレームである。他の実施形態では、その部分は、ビデオクリップのマクロブロックである。その部分はビデオクリップの如何なるユニットでもよいことを理解すべきである。一般的に、その部分が小さくなると、処理を必要とする部分の数が大きくなり、ビデオ復号を実行するのに必要な処理スピードが高くなる。本発明の実施形態をビデオクリップのフレームを用いて説明するが、当業者であれば、この実施形態がビデオストリームの他の部分、例えばマクロブロックにもどのように適用されるかを理解することができる。また、ビデオフォワーダ２０５は、ホストプロセッサ１０１のハードウェアコンポーネント、ファームウェアコンポーネント、ソフトウェアコンポーネント、又はこれらの如何なる組み合わせとして実装されることも理解される。
【００２３】
[0027] ビデオフォワーダ２０５は、表示のためのフレームに時間的に先立ち、復号のためのフレームを転送するように作動する。例えば、適応クロック周波数調整は、３つのフレームの平均復号時間に基づいて周波数２２８を調整するように作動し、３つのフレームは復号され、復号時間は、フレームが表示されるのに先立って決定される。
【００２４】
[0028] タイマ２１０は、ハードウェアビデオ復号システム上でＶＬＤオペレーションを実行するのに必要な復号時間を測定するように作動する。ある実施形態では、ビデオフォワーダ２０５は、ハードウェアビデオ復号システムにビデオを転送する際に、タイマ２１０に通知する。タイマ２１０は、ビデオフォワーダ２０５からビデオ転送時刻２０８を受け取る。ある実施形態では、ビデオ転送時刻２０８はミリセコンドの時間であり、この間に特別の部分がハードウェアビデオ復号システムに転送される。しかしながら、ビデオ転送時刻２０８の形式は、オペレーティングシステムに依存することがあり、このため、オペレーティングシステムによって異なるかもしれない。
【００２５】
[0029] ある実施形態では、タイマ２１０は、特定のフレームに関してＶＬＤオペレーションが完了した際に、ハードウェアビデオ復号システムからＶＬＤ完了時刻２１３の情報を受け取る。タイマ２１０は、特定のフレームに関する復号時間を、そのフレームに関するＶＬＤ完了時刻２１３からそのフレームに関するビデオ転送時刻２０８を差し引くことによって求める。ある実施形態では、フレームに関する復号時間は、タイマ２１０に関連するレジスタに格納される。タイマ２１０は、複数のフレームについての復号時間のいかなる情報をも格納できるように構成され、タイマ２１０は、レジスタをいくつ備えてもよい。ある実施形態では、タイマ２１０は、複数のフレームに関する復号時間のヒストグラムを維持するように作動する。
【００２６】
[0030] 適応クロック周波数制御装置２２０は、ホストプロセッサ１０１の動作中に、フレームの復号時間に少なくとも一部は基づいて、クロック２２５の周波数２２８を調整する。ある実施形態では、適応クロック周波数制御装置２２０は、平均復号時間モジュール２３０、例えば平均化器を備え、これは複数のビデオフレームの平均復号時間を求める。ある実施形態では、平均復号時間モジュール２３０は、移動平均フィルタ、例えばボックスフィルタである。平均復号時間モジュール２３０は、他のタイプのフィルタでもよいことが理解される。しかしながら、フィルタの選択は、典型的には、ホストプロセッサの処理能力に部分的に依存する設計選択である。
【００２７】
[0031] 平均復号時間は、複数のビデオフレームについての合計復号時間を、複数のフレームを含むフレームの数で割ったものである。例えば、タイマ２１０は、１３、１４、及び１８ミリセコンドの復号時間をそれぞれ持った３つのフレームに関する復号時間を格納し、その平均時間が１５ミリセコンドとなるかもしれない。
【００２８】
[0032] 適応周波数アジャスタ２３５は、フレームの復号時間に少なくとも部分的に基づいて、クロック２２５の周波数２２８を調整する。ある実施形態では、適応周波数アジャスタ２３５は、複数のビデオフレームについての平均復号時間に少なくとも部分的に基づいてクロック２２５の周波数２２８を調整するように作動する。ある実施形態では、適応周波数アジャスタ２３５は、周波数２２８の現在の値に基づいて、平均復号時間を割り当てられた復号時間（割当復号時間）と比較する。割当復号時間は、ＶＬＤオペレーションを実行するために割り当てられた時間であり、周波数２２８に基づいている。例えば、毎秒３０フレームを復号するための割当復号時間は、フレームあたり３０ミリセコンドである。
【００２９】
[0033] 適応周波数アジャスタ２３５は、割当復号時間が平均復号時間と異なる場合に、周波数２２８を調整するように作動する。ある実施形態では、適応周波数アジャスタ２３５は、復号時間が割当復号時間よりも長い場合に、周波数を増加するように作動する。これは、その割り当てられた時間がそのフレームを充分に復号するのに充分でないからである。或いは、復号時間が割当復号時間よりも短い場合に、適応周波数アジャスタ２３５は、周波数２２８を減少させるように作動し、これにより、ＶＬＤオペレーションを実行するのに必要でない過度の処理スピードを減少させる。ある実施形態では、適応周波数アジャスタ２３５は、次の最も低い周波数インクリメントが低すぎてフレームを復号できない場合に、周波数を減少する。
【００３０】
[0034] ある実施形態では、適応周波数アジャスタ２３５は、平均復号時間に従って周波数２２８を直線的にスケールするように作動する。ある実施形態では、周波数は、平均使用時間、例えば、割当復号時間で平均復号時間を除したものに基づいて直線的にスケールされる。例えば、割当復号時間がフレーム当たり３０ミリセコンドであって、平均復号時間が１５ミリセコンドである場合に、周波数２２８は半分にスケールダウンされる。ある実施形態では、周波数２２８の新しい値は、線形補間を実行することで定められ、以前の複数のフレームを復号するためにプロセッサをどの程度速く又は遅く作動させるかを決定する。
【００３１】
[0035] ある実施形態では、適応周波数アジャスタは、最大周波数調整制限を有する条件下で、周波数２２８を調整するように作動する。最大周波数調整制限は、周波数が復号中に変動しすぎないことを確実にするために用いられる。ある実施形態では、最大周波数調整制限は、パーセンテージ変化への周波数調整を制限する。ある実施形態では、最大周波数調整制限は周波数の減少を制限し、周波数２２８が遅くなり過ぎないようにする。例えば、周波数調整は、周波数２２８の２５パーセントの減少までに制限することができる。最大周波数調整制限は、周波数２２８がそれよりも低くなることができない最小周波数を含むようにもできる。
【００３２】
[0036] 図３は、本発明の一実施形態に係る、画像処理ユニット（ＧＰＵ）１２０のブロック図を示す。ＧＰＵ１２０は、ビデオ復号オペレーションを実行するためのハードウェアコンポーネントを有する。ある実施形態では、ＧＰＵ１２０はハードウェアＶＬＤ３１５を有するＡＶＰ３１０を備える。ＧＰＵ１２０が他のビデオ復号オペレーション、例えば、逆変換オペレーションを実行する他のコンポーネントを備えてもよい。これらの他のコンポーネントは、当業者によって十分に理解されており、本発明の実施形態の態様を不明確にするようには述べられていない。
【００３３】
[0037] ＡＶＰ３１０は、上述のようにホストプロセッサ１０１からビデオ２０６を受け取る。ＶＬＤ３１５は、クロック２２５により生成された周波数２２８に従ってビデオ２０６に対してハードウェアＶＬＤオペレーションを実行する。ＶＬＤ３１５は、動的周波数に従ってＶＬＤオペレーションを実行するように構成されていることを理解すべきである。ＶＬＤオペレーションが完了すると、ＡＶＰ３１０は、ＶＬＤ完了時刻２１３をホストプロセッサ１０１に転送する。
【００３４】
[0038] ある実施形態では、ＧＰＵ１２０は、フレームをバッファするためのフレームバッファを有する。ＡＶＰ３１０は、表示する前にフレームを復号するため、フレームバッファはフレームをバッファする。ある実施形態では、ビデオは、ＡＶＰ３１０においてオーディオ復号の前に復号される。復号されたフレームは、表示するのに先立ち、復号されたオーディオと合わせられる。フレームバッファは、フレームが現在の周波数よりも復号するのに時間を要するならば、インパクトを減少するためにも役立つ。ある実施形態では、フレームバッファは、複数のフレームをバッファすることができ、これらのための復号時間はホストプロセッサ１０１に定数として格納される。例えば、４つのフレームについて復号時間が格納されている場合に、フレームバッファは２つのフレームをバッファするように構成することができる。
【００３５】
[0039] 図４は、本発明の実施形態に従った、ビデオ復号中の動的周波数調整のプロセス４００のフローチャートを示す。特定のステップがプロセス４００に開示されているが、各ステップは例示的なものである。すなわち、本発明の実施形態は、図４に示された各ステップの他のステップ又は変形を実行するようにもできる。ある実施形態では、プロセス４００は、ビデオ復号システム、例えば図３のＧＰＵ１２０を制御する図２のホストプロセッサ１０１を制御するプロセッサによって実行することができる。
【００３６】
[0040] プロセス４００のステップ４０５において、プロセッサにおいてビデオクリップの一部に対してハードウェア可変長復号（ＶＬＤ）を実行するための復号時間が測定される。ある実施形態では、ステップ４１０に示すように、フレームが復号のために転送される時刻の情報が記憶される（例えばフレーム転送時刻２０８）。ある実施形態では、ステップ４１２に示すように、各フレームについてＶＬＤが完了した時刻の情報を受け取る（例えばＶＬＤ完了時刻２１３）。本実施形態では、各フレームの復号時間は、復号のためにフレームが転送された時刻から、ＶＬＤが完了した時刻を引くことによって、各フレームの復号時間が決定される。ステップ４１０，４１２は任意であり、フレームについてＶＬＤを実行する復号時間は他の方法で実行可能であることが理解される。
【００３７】
[0041] ある実施形態では、ステップ４１５に示すように、複数のフレームに関する平均復号時間は、複数のフレームの復号時間を平均することによって決定される。本発明の各実施形態は、如何なる正の数のフレームを用いて実行してもよく、平均復号時間は、割当復号時間と比較するために用いられることが理解される。
【００３８】
[0042] ステップ４２０において、復号時間、例えば平均復号時間は、割当復号時間と比較される。割当復号時間は、ＶＬＤを制御する周波数に基づいてＶＬＤを実行するために割り当てられた時間である。復号時間が割当復号時間と異なる場合は、周波数が調整される。ある実施形態では、周波数は、平均使用時間、例えば複合時間を割当復号時間で除したものに基づいて、直線的にスケールされる。ある実施形態では、ステップ４２５に示すように、復号時間が割当復号時間よりも大きい場合に、周波数が増加される。ステップ４３０に示すように、復号時間が割当復号時間よりも小さい場合は、周波数は減少される。
【００３９】
[0043] ステップ４２８に示すように、復号時間が割当復号時間と実質的に等しい場合は、周波数は維持され変更されない。復号時間及び割当復号時間は、特定のインクリメントで周波数を与えるように作動するクロックの同一の最小周波数インクリメントを両者が必要とするなら、実質的に同一である。例えば、割当復号時間が８００ＭＨｚの周波数を必要とし、復号時間が７５０ＭＨｚであり、クロックが６６６ＭＨｚ及び１．０ＧＨｚで作動するなら、割当復号時間及び復号時間はともに周波数１．０ＧＨｚを必要とするため、実質的に同一である。
【００４０】
[0044] ステップ４３５において、調整が最大周波数調整制限以内であるか否かを判定する。例えば、最大周波数調整制限は、２５パーセントよりも大きく周波数を増加することを制限するようにできる。周波数が最大周波数調整制限以内であれば（例えば、２５パーセントよりも大きくない）、プロセス４００はステップ４４５に進む。調整が最大周波数調整制限以内でないなら（例えば２５パーセントよりも大きい）、ステップ４４０に示すように、調整は最大周波数調整制限に従って制限される。
【００４１】
[0045] ステップ４４５において、周波数は、調整を受けて、ホストプロセッサンクロックで生成される。
【００４２】
[0046] 本発明の実施形態は、ビデオ復号中の動的周波数調整のための方法及びシステムを提供する。本発明の各実施形態は、ビデオ復号中のハードウェアＶＬＤを制御する周波数を適応的に調整することができる。本発明の各実施形態は、フレームレベル精度において周波数を調整することができる。本発明の他の実施形態は、マクロブロックレベル精度において周波数を調整することができる。ＶＬＤを実行するのに要した時間に関する最近の履歴に基づいてビデオ復号中に周波数を適応的に調整することにより、使用されない処理スピードにより引き起こされる過剰の電力ロスが抑えられる。必要な速度よりも速く復号が起こる場合、周波数はＶＬＤを遅くするように減少され、電力消費を図ることができる。
【００４３】
[0047] 以上の本発明の具体的な各実施形態は、例示及び説明のために開示したものである。これらがすべての実施形態ではなく、また、本発明を開示した形態と同じものに限定するものでもなく、多くの修正及び変形が上記の教示に基づいて可能である。各実施形態は、本発明の原理を説明する上で最善となるように選択及び説明されており、これにより、目的とする特定の使用に適切となるように、本発明及び各実施形態に様々な修正を施したものを当業者が最善に実施することが可能となる。本発明の範囲は、特許請求の範囲及びその均等物によって定められる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態に係るコンピュータシステムの基礎コンポーネントの概観図を示す。
【図２】本発明の一実施形態に係るクロック周波数を適応的に制御するホストプロセッサのブロック図である。
【図３】本発明の一実施形態に係る可変長復号（ＶＬＤ）を含む画像処理ユニットのブロック図である。
【図４】本発明の一実施形態に係るビデオ復号中に動的周波数調整を行うプロセスのフローチャートを示す。
【符号の説明】
【００４５】
１００…コンピュータシステム、１０１…ホストプロセッサ、１０２…揮発性メモリ、１０３…不揮発性メモリ、１０４…データストレージ装置、１０５…ディスプレイ装置、１０６…英数字入力装置、１０７…カーソル制御装置、１０８…Ｉ／Ｏ装置、１１０…バス、２０５…ビデオフォワーダ、２０６…ビデオ、２０８…ビデオ転送時刻２１０…タイマ２１３…ＶＬＤ完了時刻、２２０…適応クロック周波数制御装置、２２５…クロック、２２８…周波数信号、２３０…平均復号時間モジュール、２３５…適応周波数アジャスタ、３１５…ハードウェアＶＬＤ。
【図１】
2008104153.tif 000003
【図２】
2008104153.tif 000004
【図３】
2008104153.tif 000005
【図４】
2008104153.tif 000006
【外国語明細書】
2008104153000001.pdf