説明

ビデオ復号時に動的周波数調整する方法及び装置

【課題】ビデオ復号中にオーディオ/ビデオプロセッサ(AVP)の周波数を適応的に調整する方法及びシステムを提供する。
【解決手段】プロセッサにおいてビデオクリップの一部に対してハードウェア可変長復号(VLD)を実行する復号時間が測定される。ビデオクリップのビデオ復号中にプロセッサを制御する周波数は、その復号時間に少なくとも一部基づいて調整される。復号時間が割当復号時間よりも大きい場合は、周波数を増加させ、復号時間が割当復号時間よりも小さい場合は、周波数を減少させる。不使用の処理周波数を減少することによりAVPの電力消費を減少する。

【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本発明の分野は、ビデオ復号に関する。より詳しくは、本発明は、ビデオ復号中に動的周波数調整する方法に関する。
【背景技術】
【0002】
[0002] 多くのビデオ標準、例えば、ムービング・ピクチャ・エキスパート・グループ(MPEG)標準規格(MPEG3、MPEG4など)及びH.264標準規格は、ビデオ復号中に可変長復号(VLD)動作を行うことについても定めている。ハードウェアビデオ復号において、VLDオペレーションは、オーディオ/ビデオプロセッサ(AVP)のような特別なプロセッサによって実行されるようにできる。MPEG及びH.264ビデオ復号は複雑であるため、圧縮率に依存してビットレートに変動が起こることがある。ビットレートの変動は、VLDオペレーションを実行するのにAVPがどのように速くクロックされる必要があるかに関して、ばらつきを生じさせる。言い換えると、ビデオフレームは、VLDオペレーションを実行する処理時間の可変値を必要とするかもしれない。
【0003】
[0003] 典型的なハードウェアビデオ復号システムにおいて、VLDオペレーションは、ビデオクリップを復号するのに必要な最高の処理速度においてシステムに復号させることによって実行される。最高の処理速度は、「ワーストケース」処理速度であり、システムによって復号され得るビデオクリップの最高ビットレートを決定することにより選択される。例えば、ワーストケース周波数は、発送前に製造施設においてシステムに組み込まれる。ワーストケース周波数を、ハードウェアビデオ復号システムの設計中にカスタマーから受けるビデオクリップの解析に基づいて選択することができる。特に、典型的なハードウェアビデオ復号システムは、ビデオ復号オペレーション中にAVPを動作する周波数を変化させることに対応していない。
【0004】
[0004] デスクトップコンピュータのように定電源を有するコンピュータシステム内に実装されるハードウェアビデオ復号システムにおいては、最高の周波数でAVPをクロッキングすると、使用時間を減少させる結果になるが、電力消費の増加も招くことになる。しかしながら、バッテリ源を有するポータブルコンピューティング装置内に実装された典型的なハードウェアビデオ復号システムは、そのような高周波数での復号を必要としないビデオクリップに対してでさえ、AVPがワーストケースビデオクリップを復号するのに必要な電力を消費することから、過度の不要な電力消費が生じる。バッテリが最チャージをすぐに必要とするため、過度の電力消費は、ポータブルコンピューティング装置の使用時間を効果的に減少する。これはさらに、他のハードウェアビデオ復号システムが電力を節約するためにゲートするクロックを使用する一方で、これらのシステムのクロックツリーはトグルし続け、過度の不要な電力消費も招く。
【発明の概要】
【0005】
[0005] 本発明の実施形態は、ビデオ復号中の動的周波数調整を提供する。本発明の実施形態は、ビデオ復号中のオーディオ/ビデオプロセッサ(AVP)の周波数を適応的に調整することができる。本発明の実施形態は、不使用の処理周波数を減少することによりAVPの電力消費を減少する。
【0006】
[0006] ある実施形態では、本発明は、ビデオ復号中に動的周波数調整を行う方法を提供する。プロセッサにおいてビデオクリップの一部に対してハードウェア可変長復号(VLD)を実行する復号時間が測定される。ある実施形態では、プロセッサは、画像処理ユニット(GPU)のオーディオ/ビデオプロセッサである。ある実施形態では、上記一部は、ビデオクリップの複数のフレームを有し、複数のフレームそれぞれに関する復号時間が該複数のフレームの復号時間を平均化することによって定められる。
【0007】
[0007] ビデオクリップのビデオ復号中にプロセッサを制御する周波数は、少なくとも一部は上記復号時間に基づいて調整される。ある実施形態では、復号時間は周波数に基づく割当復号時間と比較される。復号時間が割当復号時間と異なる場合に、周波数を調整する。復号時間が割当復号時間よりも大きい場合は、周波数を増加させ、復号時間が割当復号時間よりも小さい場合は、周波数を減少させる。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。ある実施形態では、周波数はホストプロセッサのクロックで生成される。
【0008】
[0008] ある実施形態では、本発明は、ビデオクリップの一部に対して可変長復号(VLD)を実行するオーディオ/ビデオプロセッサと、ビデオクリップの一部に関して、VLDオペレーションを実行する復号時間を測定する復号タイマと、オーディオ/ビデオプロセッサがVLDオペレーションを実行する周波数を生成するクロックと、復号時間に少なくとも一部基づいて、周波数を調整する適応クロック周波数コントロールと、を備えるビデオ復号システムを提供する。ある実施形態では、クロック及び適応クロック周波数コントロールは、ホストプロセッサ内に設けられており、オーディオ/ビデオプロセッサは画像処理ユニット(GPU)に設けられている。
【0009】
[0009] ある実施形態では、ビデオクリップの一部は、ビデオクリップの複数のフレームを有しており、適応クロック周波数コントロールは、複数のフレームについての復号時間を平均化することによって、複数のフレームそれぞれの平均復号時間を決定するように作動する。ある実施形態では、適応クロック周波数コントロールは、複数のフレームについての平均復号時間を決定する移動平均フィルタを含む。ある実施形態では、適応クロック周波数コントロールは、適応クロック周波数コントロールは、復号時間を周波数に基づく割当復号時間と比較し、復号時間が割当復号時間と異なる場合に、周波数を調整するように作動する。ある実施形態では、適応クロック周波数コントロールは、復号時間が割当復号時間よりも大きい場合は、周波数を増加させるように作動し、復号時間が割当復号時間よりも小さい場合は、周波数を減少させるように作動する。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。
【0010】
[0010] 他の実施形態では、本発明は、ビデオクリップの複数のフレームについて平均復号時間を決定する平均復号時間モジュールを含み、該平均復号時間は、複数のフレームにより分割された複数のフレームに対してオーディオ/ビデオプロセッサにて可変長復号(VLD)を実行するための合計時間であり、更に、少なくとも平均復号時間に少なくとも一部基づくVLDを制御する周波数を調整する適応周波数アジャスタを備える、オーディオ/ビデオプロセッサに関する適応クロック周波数コントロールを提供する。
【0011】
[0011] ある実施形態では、平均復号時間モジュールは、移動平均フィルタを有する。ある実施形態では、適応周波数アジャスタは、復号時間を周波数に基づく割当復号時間と比較し、復号時間が割当復号時間と異なる場合に、周波数を調整するように作動する。ある実施形態では、適応クロック周波数コントロールは、復号時間が割当復号時間よりも大きい場合は、周波数を増加させるように作動し、復号時間が割当復号時間よりも小さい場合は、周波数を減少させるように作動する。ある実施形態では、最大周波数調整制限を有する条件下で周波数が調整される。ある実施形態では、平均復号時間に従って周波数を直線的にスケーリングされる。ある実施形態では、適応クロック周波数コントロールは、ホストプロセッサ内に設けられており、オーディオ/ビデオプロセッサは画像処理ユニット(GPU)に設けられている。
【0012】
[0012] 本発明は、例示として、制限されることなく、添付図面に開示されており、類似の要素には同様の参照番号を付す。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係るコンピュータシステムの基礎コンポーネントの概観図を示す。
【図2】本発明の一実施形態に係るクロック周波数を適応的に制御するホストプロセッサのブロック図である。
【図3】本発明の一実施形態に係る可変長復号(VLD)を含む画像処理ユニットのブロック図である。
【図4】本発明の一実施形態に係るビデオ復号中に動的周波数調整を行うプロセスのフローチャートを示す。
【発明を実施するための形態】
【0014】
[0017] 添付図面に例を示し、本発明の好適な実施形態を説明する。発明は好適な実施形態に関連して説明するが、発明をこれらの実施形態に制限する意図ではないことが理解される。一方、発明は代替、修正及び均等の範囲を包含し、これらは特許請求の範囲の精神と範囲に含まれる。更に、本発明の実施形態に関する以下の詳細な説明において、多くの具体的な詳細が本発明の充分な理解を提供するために述べられる。しかしながら、当業者であれば、これらの具体的な詳細が無くても本発明を実施することができる。他の形態では、公知の方法、手順、要素、及び回路は、本発明の実施形態の形態を不必要に曖昧にしないようにするために、詳細には述べていない。
[表記及び用語]
【0015】
[0018] 以下の詳細な説明の幾つかの箇所は、手順、ステップ、論理ブロック、処理、及び、コンピュータメモリ内のデータビットに対する動作の他のシンボル表示である。これらの説明及び表示は、データ処理技術分野の当業者が他の当業者に彼らの業務の実態を最大の効率で伝えるために用いられる手段である。ここに説明する手順、コンピュータ実行ステップ、論理ブロック、処理等は、一般的に、所望の結果に導くステップ又は命令のセルフコンシステントのシーケンスとして考えられる。必ずではないが通常は、これらの数量は、コンピュータシステムにおいて、格納、伝送、結合、比較、及び他の操作可能な電気信号又は磁気信号の形態を採っている。これらの信号をビット、値、要素、記号、特性、用語、番号等として証することがしばしば便利であると立証されており、主に共通使用の理由によるものである。
【0016】
[0019] しかしながら、これらの用語及び類似の用語のすべては、適切な物理的数量に関するものであり、これらの数量に適用される単に便利なラベルである。以下の記述と具体的に反することを述べない限り、本発明の全体を通じて、「実行」、「測定」、「調整」、「決定」、「比較」、「増加」、「減少」、「制御」、「スケーリング」、「バッファ」、「オーダー」、「転送」、「解析」、「インタリーブ」、「ロテート」、「再配置」、又は「格納」などの用語を用いた説明は、動作及びビデオ復号システムのプロセッサに言及する。このプロセッサは、例えば、図1,2のホストプロセッサ101、及び、図1,3の画像処理ユニット(GPU)109、又は、類似の電子コンピューティング装置であり、これらは、コンピュータシステムのレジスタ内で物理的(電子的)数量として示されるデータを操作し、コンピュータシステムのメモリ又はレジスタ、或いは、他のそのような情報ストレージ、伝送、又は表示装置内の物理的数量として同様に示される他のデータに変換する。
[コンピュータシステムプラットフォーム]
【0017】
[0020] 図1は、本発明の実施形態を実現する典型的なコンピュータシステム100を示す。一般的に、コンピュータシステム100は、情報を伝達するバス110と、バス110と結合され情報及び命令を処理するプロセッサ101と、バス110に結合されプロセッサ101のための情報及び命令を格納しランダムアクセスメモリ(RAM)としても呼ばれる揮発性メモリ102と、バス110に結合されプロセッサ101のための固定の情報及び命令を格納しリードオンリーメモリ(ROM)としても呼ばれる不揮発性メモリ103とを備える。
【0018】
[0021] ある実施形態においては、コンピュータシステム100は、バス110に結合された情報及び命令を格納するための磁気又は光学ディスク及びディスク装置のような任意のデータストレージ装置104を有する。ある実施形態では、コンピュータシステム100は、コンピュータのユーザに対して情報を表示するバス110に結合されたディスプレイ装置105などの任意のユーザ出力装置、情報とコマンド選択をプロセッサ101と通信するバス110に結合された英数字及びファンクションキーを含む英数字入力装置106などの任意のユーザ入力装置、及び/又は、プロセッサ101に対してユーザ入力情報及びコマンド選択を通信するバス110に結合されたカーソル制御装置107などの任意のユーザ入力装置を備える。更に、任意の入力/出力(I/O)装置108がコンピュータシステム100を例えばネットワークに接続するために用いられる。
【0019】
[0022] ある実施形態において、コンピュータシステム100は、専用画像レンダリング機能のためのGPU120も含む。GPU120は、復号オペレーションのための複数のハードウェア復号ブロックを有し、この復号オペレーションは可変長復号(VLD)オペレーションと逆分散コサイン変換(iDCT)オペレーションなどの逆変換オペレーションとを備える。GPU120は、ビデオを復号するVLDオペレーションを用いた如何なるビデオ復号標準規格にも従ってビデオを復号するように構成することができる。例えば、GPU120は、ムービング・ピクチャ・エキスパート・グループ(MPEG)標準規格(MPEG3、MPEG4など)、又はH.264標準規格を用いて符号化されたビデオを復号化するように構成できる。
【0020】
[0023] GPU120は、分散コンポーネント、コネクタ(AGPスロット、PCI−EXPRESSスロット等)を介してコンピュータシステム100に結合されるように設計された分散画像カード、分散集積回路ダイ(例えば、マザーボードに直接搭載される)、又は、コンピュータシステムチップセットコンポーネントの集積回路ダイ内に含まれる集積復号装置として実装することができる。更に、ローカル画像メモリは、データストレージのためにGPU120に含まれる。
[ビデオ復号中の動的周波数調整]
【0021】
[0024] 図2は、本発明の一実施形態に従った、クロック周波数を動的に制御するホストプロセッサ101のブロック図である。ある実施形態では、ホストプロセッサ101は、ハードウェアVLDオペレーションを実行するためにプロセッサ(例えば図3のAVP310)が要する時間に基づいて、クロック225の周波数228を調整できる適応クロック周波数制御装置220を備える。ある実施形態では、ホストプロセッサ101は、縮小命令セットコンピュータ(RISC)プロセッサである。しかしながら、ホストプロセッサ101は、ハードウェアビデオデコーダを制御する周波数を計算する如何なるマイクロプロセッサでもよい。
【0022】
[0025] ホストプロセッサ101のクロック225は、周波数信号228を生成する。周波数228は、ビデオクリップを復号するハードウェアビデオ復号システム(例えばGPU120)のコンポーネントによって用いられる。クロック225は、動的に制御可能であり、ホストプロセッサ101のハードリセットを必要とすることなく、周波数228をホストプロセッサ101の動作中に調整することができる。特に、周波数228は、ハードウェアビデオ復号システムのビデオ復号オペレーションの最中に調整することができる。ある実施形態では、クロック225は増加するように調整され、例えば、0.5倍、2.0倍、2.5倍となる。他の実施形態では、クロック225は複数の特定の周波数で作動し、動作周波数はこれらの間、例えば333MHz、666MHz、1.0GHz、1.33GHzの間でスイッチされる。
【0023】
[0026] ビデオフォワーダ205は、ビデオクリップ又はビデオストリームなどのビデオ206の部分を、復号のためにハードウェアビデオ復号システムに転送するように作動する。ある実施形態では、その部分は、ビデオクリップのフレームである。他の実施形態では、その部分は、ビデオクリップのマクロブロックである。その部分はビデオクリップの如何なるユニットでもよいことを理解すべきである。一般的に、その部分が小さくなると、処理を必要とする部分の数が大きくなり、ビデオ復号を実行するのに必要な処理スピードが高くなる。本発明の実施形態をビデオクリップのフレームを用いて説明するが、当業者であれば、この実施形態がビデオストリームの他の部分、例えばマクロブロックにもどのように適用されるかを理解することができる。また、ビデオフォワーダ205は、ホストプロセッサ101のハードウェアコンポーネント、ファームウェアコンポーネント、ソフトウェアコンポーネント、又はこれらの如何なる組み合わせとして実装されることも理解される。
【0024】
[0027] ビデオフォワーダ205は、表示のためのフレームに時間的に先立ち、復号のためのフレームを転送するように作動する。例えば、適応クロック周波数調整は、3つのフレームの平均復号時間に基づいて周波数228を調整するように作動し、3つのフレームは復号され、復号時間は、フレームが表示されるのに先立って決定される。
【0025】
[0028] タイマ210は、ハードウェアビデオ復号システム上でVLDオペレーションを実行するのに必要な復号時間を測定するように作動する。ある実施形態では、ビデオフォワーダ205は、ハードウェアビデオ復号システムにビデオを転送する際に、タイマ210に通知する。タイマ210は、ビデオフォワーダ205からビデオ転送時刻208を受け取る。ある実施形態では、ビデオ転送時刻208はミリセコンドの時間であり、この間に特別の部分がハードウェアビデオ復号システムに転送される。しかしながら、ビデオ転送時刻208の形式は、オペレーティングシステムに依存することがあり、このため、オペレーティングシステムによって異なるかもしれない。
【0026】
[0029] ある実施形態では、タイマ210は、特定のフレームに関してVLDオペレーションが完了した際に、ハードウェアビデオ復号システムからVLD完了時刻213の情報を受け取る。タイマ210は、特定のフレームに関する復号時間を、そのフレームに関するVLD完了時刻213からそのフレームに関するビデオ転送時刻208を差し引くことによって求める。ある実施形態では、フレームに関する復号時間は、タイマ210に関連するレジスタに格納される。タイマ210は、複数のフレームについての復号時間のいかなる情報をも格納できるように構成され、タイマ210は、レジスタをいくつ備えてもよい。ある実施形態では、タイマ210は、複数のフレームに関する復号時間のヒストグラムを維持するように作動する。
【0027】
[0030] 適応クロック周波数制御装置220は、ホストプロセッサ101の動作中に、フレームの復号時間に少なくとも一部は基づいて、クロック225の周波数228を調整する。ある実施形態では、適応クロック周波数制御装置220は、平均復号時間モジュール230、例えば平均化器を備え、これは複数のビデオフレームの平均復号時間を求める。ある実施形態では、平均復号時間モジュール230は、移動平均フィルタ、例えばボックスフィルタである。平均復号時間モジュール230は、他のタイプのフィルタでもよいことが理解される。しかしながら、フィルタの選択は、典型的には、ホストプロセッサの処理能力に部分的に依存する設計選択である。
【0028】
[0031] 平均復号時間は、複数のビデオフレームについての合計復号時間を、複数のフレームを含むフレームの数で割ったものである。例えば、タイマ210は、13、14、及び18ミリセコンドの復号時間をそれぞれ持った3つのフレームに関する復号時間を格納し、その平均時間が15ミリセコンドとなるかもしれない。
【0029】
[0032] 適応周波数アジャスタ235は、フレームの復号時間に少なくとも部分的に基づいて、クロック225の周波数228を調整する。ある実施形態では、適応周波数アジャスタ235は、複数のビデオフレームについての平均復号時間に少なくとも部分的に基づいてクロック225の周波数228を調整するように作動する。ある実施形態では、適応周波数アジャスタ235は、周波数228の現在の値に基づいて、平均復号時間を割り当てられた復号時間(割当復号時間)と比較する。割当復号時間は、VLDオペレーションを実行するために割り当てられた時間であり、周波数228に基づいている。例えば、毎秒30フレームを復号するための割当復号時間は、フレームあたり30ミリセコンドである。
【0030】
[0033] 適応周波数アジャスタ235は、割当復号時間が平均復号時間と異なる場合に、周波数228を調整するように作動する。ある実施形態では、適応周波数アジャスタ235は、復号時間が割当復号時間よりも長い場合に、周波数を増加するように作動する。これは、その割り当てられた時間がそのフレームを充分に復号するのに充分でないからである。或いは、復号時間が割当復号時間よりも短い場合に、適応周波数アジャスタ235は、周波数228を減少させるように作動し、これにより、VLDオペレーションを実行するのに必要でない過度の処理スピードを減少させる。ある実施形態では、適応周波数アジャスタ235は、次の最も低い周波数インクリメントが低すぎてフレームを復号できない場合に、周波数を減少する。
【0031】
[0034] ある実施形態では、適応周波数アジャスタ235は、平均復号時間に従って周波数228を直線的にスケールするように作動する。ある実施形態では、周波数は、平均使用時間、例えば、割当復号時間で平均復号時間を除したものに基づいて直線的にスケールされる。例えば、割当復号時間がフレーム当たり30ミリセコンドであって、平均復号時間が15ミリセコンドである場合に、周波数228は半分にスケールダウンされる。ある実施形態では、周波数228の新しい値は、線形補間を実行することで定められ、以前の複数のフレームを復号するためにプロセッサをどの程度速く又は遅く作動させるかを決定する。
【0032】
[0035] ある実施形態では、適応周波数アジャスタは、最大周波数調整制限を有する条件下で、周波数228を調整するように作動する。最大周波数調整制限は、周波数が復号中に変動しすぎないことを確実にするために用いられる。ある実施形態では、最大周波数調整制限は、パーセンテージ変化への周波数調整を制限する。ある実施形態では、最大周波数調整制限は周波数の減少を制限し、周波数228が遅くなり過ぎないようにする。例えば、周波数調整は、周波数228の25パーセントの減少までに制限することができる。最大周波数調整制限は、周波数228がそれよりも低くなることができない最小周波数を含むようにもできる。
【0033】
[0036] 図3は、本発明の一実施形態に係る、画像処理ユニット(GPU)120のブロック図を示す。GPU120は、ビデオ復号オペレーションを実行するためのハードウェアコンポーネントを有する。ある実施形態では、GPU120はハードウェアVLD315を有するAVP310を備える。GPU120が他のビデオ復号オペレーション、例えば、逆変換オペレーションを実行する他のコンポーネントを備えてもよい。これらの他のコンポーネントは、当業者によって十分に理解されており、本発明の実施形態の態様を不明確にするようには述べられていない。
【0034】
[0037] AVP310は、上述のようにホストプロセッサ101からビデオ206を受け取る。VLD315は、クロック225により生成された周波数228に従ってビデオ206に対してハードウェアVLDオペレーションを実行する。VLD315は、動的周波数に従ってVLDオペレーションを実行するように構成されていることを理解すべきである。VLDオペレーションが完了すると、AVP310は、VLD完了時刻213をホストプロセッサ101に転送する。
【0035】
[0038] ある実施形態では、GPU120は、フレームをバッファするためのフレームバッファを有する。AVP310は、表示する前にフレームを復号するため、フレームバッファはフレームをバッファする。ある実施形態では、ビデオは、AVP310においてオーディオ復号の前に復号される。復号されたフレームは、表示するのに先立ち、復号されたオーディオと合わせられる。フレームバッファは、フレームが現在の周波数よりも復号するのに時間を要するならば、インパクトを減少するためにも役立つ。ある実施形態では、フレームバッファは、複数のフレームをバッファすることができ、これらのための復号時間はホストプロセッサ101に定数として格納される。例えば、4つのフレームについて復号時間が格納されている場合に、フレームバッファは2つのフレームをバッファするように構成することができる。
【0036】
[0039] 図4は、本発明の実施形態に従った、ビデオ復号中の動的周波数調整のプロセス400のフローチャートを示す。特定のステップがプロセス400に開示されているが、各ステップは例示的なものである。すなわち、本発明の実施形態は、図4に示された各ステップの他のステップ又は変形を実行するようにもできる。ある実施形態では、プロセス400は、ビデオ復号システム、例えば図3のGPU120を制御する図2のホストプロセッサ101を制御するプロセッサによって実行することができる。
【0037】
[0040] プロセス400のステップ405において、プロセッサにおいてビデオクリップの一部に対してハードウェア可変長復号(VLD)を実行するための復号時間が測定される。ある実施形態では、ステップ410に示すように、フレームが復号のために転送される時刻の情報が記憶される(例えばフレーム転送時刻208)。ある実施形態では、ステップ412に示すように、各フレームについてVLDが完了した時刻の情報を受け取る(例えばVLD完了時刻213)。本実施形態では、各フレームの復号時間は、復号のためにフレームが転送された時刻から、VLDが完了した時刻を引くことによって、各フレームの復号時間が決定される。ステップ410,412は任意であり、フレームについてVLDを実行する復号時間は他の方法で実行可能であることが理解される。
【0038】
[0041] ある実施形態では、ステップ415に示すように、複数のフレームに関する平均復号時間は、複数のフレームの復号時間を平均することによって決定される。本発明の各実施形態は、如何なる正の数のフレームを用いて実行してもよく、平均復号時間は、割当復号時間と比較するために用いられることが理解される。
【0039】
[0042] ステップ420において、復号時間、例えば平均復号時間は、割当復号時間と比較される。割当復号時間は、VLDを制御する周波数に基づいてVLDを実行するために割り当てられた時間である。復号時間が割当復号時間と異なる場合は、周波数が調整される。ある実施形態では、周波数は、平均使用時間、例えば複合時間を割当復号時間で除したものに基づいて、直線的にスケールされる。ある実施形態では、ステップ425に示すように、復号時間が割当復号時間よりも大きい場合に、周波数が増加される。ステップ430に示すように、復号時間が割当復号時間よりも小さい場合は、周波数は減少される。
【0040】
[0043] ステップ428に示すように、復号時間が割当復号時間と実質的に等しい場合は、周波数は維持され変更されない。復号時間及び割当復号時間は、特定のインクリメントで周波数を与えるように作動するクロックの同一の最小周波数インクリメントを両者が必要とするなら、実質的に同一である。例えば、割当復号時間が800MHzの周波数を必要とし、復号時間が750MHzであり、クロックが666MHz及び1.0GHzで作動するなら、割当復号時間及び復号時間はともに周波数1.0GHzを必要とするため、実質的に同一である。
【0041】
[0044] ステップ435において、調整が最大周波数調整制限以内であるか否かを判定する。例えば、最大周波数調整制限は、25パーセントよりも大きく周波数を増加することを制限するようにできる。周波数が最大周波数調整制限以内であれば(例えば、25パーセントよりも大きくない)、プロセス400はステップ445に進む。調整が最大周波数調整制限以内でないなら(例えば25パーセントよりも大きい)、ステップ440に示すように、調整は最大周波数調整制限に従って制限される。
【0042】
[0045] ステップ445において、周波数は、調整を受けて、ホストプロセッサンクロックで生成される。
【0043】
[0046] 本発明の実施形態は、ビデオ復号中の動的周波数調整のための方法及びシステムを提供する。本発明の各実施形態は、ビデオ復号中のハードウェアVLDを制御する周波数を適応的に調整することができる。本発明の各実施形態は、フレームレベル精度において周波数を調整することができる。本発明の他の実施形態は、マクロブロックレベル精度において周波数を調整することができる。VLDを実行するのに要した時間に関する最近の履歴に基づいてビデオ復号中に周波数を適応的に調整することにより、使用されない処理スピードにより引き起こされる過剰の電力ロスが抑えられる。必要な速度よりも速く復号が起こる場合、周波数はVLDを遅くするように減少され、電力消費を図ることができる。
【0044】
[0047] 以上の本発明の具体的な各実施形態は、例示及び説明のために開示したものである。これらがすべての実施形態ではなく、また、本発明を開示した形態と同じものに限定するものでもなく、多くの修正及び変形が上記の教示に基づいて可能である。各実施形態は、本発明の原理を説明する上で最善となるように選択及び説明されており、これにより、目的とする特定の使用に適切となるように、本発明及び各実施形態に様々な修正を施したものを当業者が最善に実施することが可能となる。本発明の範囲は、特許請求の範囲及びその均等物によって定められる。
【符号の説明】
【0045】
100…コンピュータシステム、101…ホストプロセッサ、102…揮発性メモリ、103…不揮発性メモリ、104…データストレージ装置、105…ディスプレイ装置、106…英数字入力装置、107…カーソル制御装置、108…I/O装置、110…バス、205…ビデオフォワーダ、206…ビデオ、208…ビデオ転送時刻210…タイマ213…VLD完了時刻、220…適応クロック周波数制御装置、225…クロック、228…周波数信号、230…平均復号時間モジュール、235…適応周波数アジャスタ、315…ハードウェアVLD。

【特許請求の範囲】
【請求項1】
ビデオ復号中に動的周波数調整を行う方法であって、
ビデオクリップの複数のフレームを有する前記ビデオクリップの一部に対してハードウェア可変長復号(VLD)をプロセッサにおいて実行する復号時間を測定するステップと、
前記複数のフレームについての前記復号時間を平均化することによって、前記複数のフレームそれぞれの平均復号時間を決定するステップと、
前記平均復号時間に少なくとも部分的に基づいて、前記ビデオクリップの前記ビデオ復号中に前記プロセッサを制御する周波数を調整するステップと、
を含み、
前記周波数を調整する前記ステップは、最大周波数調整制限を有する条件下で前記周波数を調整することと、前記平均復号時間に応じて前記周波数を直線的にスケーリングすることとを含む、
方法。
【請求項2】
前記平均復号時間に基づいて前記プロセッサを制御する周波数を調整する前記ステップは、前記平均復号時間を前記周波数に基づく割当復号時間と比較し、前記平均復号時間が前記割当復号時間と異なる場合に、前記周波数を調整する請求項1記載の方法。
【請求項3】
前記平均復号時間が前記割当復号時間よりも大きい場合は、前記周波数を増加させ、
前記平均復号時間が前記割当復号時間よりも小さい場合は、前記周波数を減少させることを更に含む請求項2記載の方法。
【請求項4】
ビデオクリップの一部に対して可変長復号(VLD)を実行するオーディオ/ビデオプロセッサと、
前記一部に関して、前記VLDオペレーションを実行する復号時間を測定する復号タイマと、
前記オーディオ/ビデオプロセッサが前記VLDオペレーションを実行する周波数を生成するクロックと、
前記復号時間に少なくとも一部に基づいて、前記周波数を調整する適応クロック周波数コントロールと、
を備え、
前記一部は、前記ビデオクリップの複数のフレームを有しており、
前記適応クロック周波数コントロールは、前記複数のフレームについての前記復号時間を平均化することによって、前記複数のフレームそれぞれに関する平均復号時間を決定するように作動すると共に、最大周波数調整制限を有する条件下で前記周波数を調整するように作動し、
前記適応クロック周波数コントロールは、前記平均復号時間に応じて前記周波数を直線的にスケールするように作動する、
ビデオ復号システム。
【請求項5】
前記適応クロック周波数コントロールは、前記平均復号時間を前記周波数に基づく割当復号時間と比較し、前記平均復号時間が前記割当復号時間と異なる場合に、前記周波数を調整するように作動する請求項4記載のビデオ復号システム。
【請求項6】
前記適応クロック周波数コントロールは、
前記平均復号時間が前記割当復号時間よりも大きい場合は、前記周波数を増加させるように作動し、
前記平均復号時間が前記割当復号時間よりも小さい場合は、前記周波数を減少させるように作動する請求項5記載のビデオ復号システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−75145(P2012−75145A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−247761(P2011−247761)
【出願日】平成23年11月11日(2011.11.11)
【分割の表示】特願2007−196284(P2007−196284)の分割
【原出願日】平成19年7月27日(2007.7.27)
【出願人】(501261300)エヌヴィディア コーポレイション (166)
【Fターム(参考)】