JPWO2007089014A1 - デジタルvlsi回路およびそれを組み込んだ画像処理システム - Google Patents
デジタルvlsi回路およびそれを組み込んだ画像処理システム Download PDFInfo
- Publication number
- JPWO2007089014A1 JPWO2007089014A1 JP2007556947A JP2007556947A JPWO2007089014A1 JP WO2007089014 A1 JPWO2007089014 A1 JP WO2007089014A1 JP 2007556947 A JP2007556947 A JP 2007556947A JP 2007556947 A JP2007556947 A JP 2007556947A JP WO2007089014 A1 JPWO2007089014 A1 JP WO2007089014A1
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- processing
- data
- arithmetic processing
- pipeline
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Power Sources (AREA)
Abstract
Description
さらに本発明は、低消費電力デジタルVLSI回路を組み込んだ画像処理システム並びに携帯端末に関する。
かかる符号化・復号化技術はパーソナルコンピュータやマイクロコンピュータを内蔵する携帯電話等の情報端末機器等に適用されている。
H.264デコード処理モジュールを構築する方法としては専用ハードウェアにより構築する方法と、符号化・復号化の手段を記述したプログラムに基づいて汎用のプロセッサを動作させることにより構築する方法がある。
差分画像に関する情報としてのビットストリームがビットストリームバッファ1001に受け入れられた後、エントロピーデコード1002(可変長復号化処理)、逆量子化処理1003(逆Q処理)、逆直交変換処理1004(逆T処理)の順に処理が行なわれ、差分画像が生成される。一方、差分画像生成処理と並行して、現在のフレームメモリに展開されている画像を基に予測画像生成処理1005が実行される。この差分画像と予測画像との加算処理1006によりフレーム画像が生成される。
パイプライン演算処理のハードウェア設計においてパイプラインが破綻しないように考慮しておくことが重要である。
そこで、パイプライン分割において、各段のパイプライン処理でもっとも時間がかかってしまった場合のサイクル数を最悪サイクル数Sn(nは自然数)として設計し、各段のパイプライン処理が破綻しないようにそれぞれのパイプラインの処理時間として最悪サイクル数Snを確保せしめておくことが一般的である。
つまり以下の(数式1)の式が成立するように設計しておくことが好ましい。
Si=Sj for anyi,j
しかし、実際のパイプライン処理ではそのような理想的な状態はなく、実際のパイプライン処理のサイクル数は、常に最悪サイクル数よりも小さいものとなる。
また、動画像間の変化の激しさ(動きの激しさ)が大きいフレームであっても以下の理由から処理サイクル数は最悪サイクル数よりも小さいものとなる。
(理由2)1マクロブロックに含まれるブロック(24個)のうち、逆T処理が必要な1つ以上の有効係数を含む有効ブロックの数は24個よりも小さい。
(理由3)1マクロブロックに含まれるブロックのうち、Intra予測処理が必要なブロックは24個よりも小さい。また、Intra予測が必要なブロックでも、予測モード(画素値のコピーのみでよい場合と複数の画素から計算しなければならない場合)によって、必要な処理サイクルが変動する。
(理由4)1マクロブロックに含まれるブロックのうち、予測画像と差分画像の加算が必要な有効ブロックの数は24個よりも小さい。
(理由5)1マクロブロックに含まれるブロックのうち、デブロッキングフィルタ処理が必要なブロックの数は24個よりも小さい。
(理由6)1マクロブロックに含まれるブロックのうち、フレームメモリ(FM)への書き込みが必要なブロックの数は24個よりも小さい。
上記理由から動画像間の変化の激しさ(動きの激しさ)が大きいフレームであっても処理サイクル数は最悪サイクル数よりも小さいものとなる。
図23を見ると、すべての演算器においてハッチングが掛かっていない期間(演算器が動作していないアイドル状態の期間)が生じていることが分かる。
このパイプラインの演算処理における冗長性(余裕)を利用してデジタルVLSI回路全体の消費電力を下げる工夫としてクロックゲーティングがある(特開平10−020959号公報)。
なお、演算処理を行わない冗長なサイクルの電力供給を制御するという観点から、クロック供給の制御に代え、演算器単位で電力供給(電流供給)のオンオフを制御するものも同様である(特開2005−235203号公報)
動画像における符号化処理は、1フレームの処理時間が符号化方式(MPEGなど)の規定などによりフレーム処理時間Tfに制約されており、そのフレーム処理時間Tf内に1フレームの符号化処理が完了することが必要とされる。逆に言えば、符号化演算処理が当該フレーム処理期間Tf中に完了すれば良いこととなる。
動作電源電圧、基板バイアス電圧、動作周波数の動的制御は、所定の制約時間内に所定数のデータ群の処理完了を保証しながら、なるべくプロセッサの動作周波数を下げ、動作周波数に合わせて電源電圧、基板バイアス電圧を動的に制御することで総合的に低消費電力化を図るものである。動画像処理においては所定の制約時間とは1フレームの時間、例えば15(フレーム/秒)の動画像であれば1フレームの時間は15分の1秒となり、所定数のデータ群とは1フレームに含まれるマクロブロック群と置き換えるとができる。
特定の処理に特化して設計されたASIC(Application Specific IC)のようなハードワイヤドロジック回路に対してクロックゲーティング手法用いた場合の改善点の一つとして、フレーム処理期間中において演算器へのクロック供給のオンオフ、演算器の動作電源電圧及び動作周波数の変更回数が多くなり当該変更回数に伴って消費電力が大きくなるという問題点を挙げることができる。また、ソフトウェア処理に適用できる動作電源電圧、基板バイアス電圧、動作周波数を動的に制御する手法は、通常のパイプライン処理化されたハードワイヤドロジック回路には適用できないという問題点を挙げることができる。
(サイクル数)=(動作周波数)×(動作時間)
また、上記問題点に鑑み、本発明は、デジタルVLSI回路においてパイプライン処理の開始サイクルを一つ前のパイプライン処理の終了サイクルに合わせて変更することでパイプラインを構成する演算器がアイドル状態である冗長なサイクルを削減することにより生じるサイクル余裕を利用して動作周波数、動作電源電圧、基板バイアス電圧の制御を行うことにより低消費電力化を達成することのできる専用デジタルVLSI回路を提供することを目的とする。
また、本発明のデジタルVLSI回路を組み込んだ画像処理システム、携帯端末を提供することを目的とする。
上記構成により、すべての演算器がアイドル状態に入っている期間を省略することができ、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、従来のクロックゲーティングより一層の低消費電力化を図ることができる。
上記構成により、すべての演算器がアイドル状態に入っている期間を省略することができ、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、従来のクロックゲーティングより一層の低消費電力化を図ることができる。なお、パイプライン演算処理はマクロブロックデータ単位で行なうものである。
なお、マクロブロックに含まれるブロック数は例えば24個とする。
上記構成により、すべての演算器がアイドル状態に入っている期間を省略することができ、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、従来のクロックゲーティングより一層の低消費電力化を図ることができる。なお、パイプライン演算処理はブロックデータ単位で行なうものである。
上記構成により、パイプライン制御において前後に並ぶ演算器間で処理済みデータの受け渡しができる限り、シームレスにどんどんパイプライン処理を実行し、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、低消費電力化を図ることができる。
上記構成により、パイプライン制御において前後に並ぶ演算器間で処理済みデータの受け渡しができる限り、シームレスにどんどんパイプライン処理を実行し、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、低消費電力化を図ることができる。なお、パイプライン演算処理はマクロブロックデータ単位で行なうものである。
なお、マクロブロックに含まれるブロック数は例えば24個とする。
上記構成により、パイプライン制御において前後に並ぶ演算器間で処理済みデータの受け渡しができる限り、シームレスにどんどんパイプライン処理を実行し、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングの開始回数、終了回数を減少させることができ、低消費電力化を図ることができる。なお、パイプライン演算処理はブロックデータ単位で行なうものである。
上記構成によれば、フィードバック制御により、適切な演算器の動作電源電圧と基板バイアス電圧と動作周波数の調整を行なうことができる。
上記構成によれば、フィードフォワード制御により、適切な演算器の動作電源電圧と基板バイアス電圧と動作周波数の調整を行なうことができる。
例えば、本発明の第3のデジタルVLSI回路は、パイプライン演算処理の各ステージを担い、演算処理を実行する複数の演算器と、前記演算器における担当ステージの演算処理の終了を検知する検知手段と、前記演算器ごとに電力の供給/停止を制御する電力供給制御手段とを備え、前記電力供給制御手段が、前記検知手段により演算処理終了が検知された前記演算器に対する電力供給を停止し、前記検知手段によりすべての前記演算器における演算処理終了が検知されれば次のパイプライン演算処理に向けてすべての前記演算器への電力供給を再開するように構成されたことを特徴としている。
上記構成により、同様に、すべての演算器がアイドル状態に入っている期間を省略することができ、低消費電力化を図ることができる。さらに、演算器でのパイプライン演算処理を詰めて行なうことにより電力供給の開始回数、終了回数を減少させることができ、より一層の低消費電力化を図ることができる。
上記構成により、パイプライン制御において前後に並ぶ演算器間で処理済みデータの受け渡しができる限り、シームレスにどんどんパイプライン処理を実行し、演算器のアイドル状態の発生を極力抑えることができるので、低消費電力化を図ることができる。また、演算器でのパイプライン演算処理を詰めて行なうことにより電力供給の開始回数、終了回数を減少させることができ、より一層の低消費電力化を図ることができる。
また、本発明に係るデジタルVLSI回路によれば、実際のパイプライン演算処理において、演算器ごとの電力供給を制御しつつ、制約時間内における演算器への電力供給オンオフの切り替えを少なくすることにより低消費電力化を達成すること
なお、信号のオンオフに関し、以下の実施例ではハイアクティブとし、論理レベルがハイのときにアクティブになるように説明しているが、ローアクティブとし、論理レベルがローのときにアクティブになる構成であっても良い。
演算器10a〜10cが処理終了検知器20と接続された構成となっており、各演算器10と処理終了検知器20は終了フラグライン30と処理開始フラグライン40により接続されている。
演算器は図示の便宜上、演算器1(10a)、演算器2(10b)、演算器3(10c)の3つのみ示しているが、パイプラインの段数に応じて演算器の数を増減した設計とすることができることは言うまでもない。
それぞれの演算器10a〜10cは、パイプライン演算処理の各ステージを担い、クロックに同期して演算処理を実行するものである。動画像の符号化・復号化を行なうパイプライン処理を実行するのであれば、例えば、演算器1(10a)がエントロピーデコードステージを担当し、演算器2(10b)が逆Q処理ステージを担当し、演算器3(10c)が逆T処理ステージを担当するものとする。それ以降のパイプライン処理ステージは図示を省略している。各演算器はシーケンシャルに接続され、前後の演算器の間で処理済のデータを前段から次段へ次々と受け渡していく構成となっている。各演算器で演算処理がなされたデータは各演算器に備えられるバッファに保存され、前後の演算器はこのバッファを介してデータを受け渡す。例えば演算器1で演算処理がなされたデータは演算器1に備えられたバッファに保存され、このバッファから次段の演算器2へデータが受け渡される。バッファはフリップフロップやRAM(Random Access Memory)などで構成される。
図2はクロック供給制御手段の構成例を示す図である。図2に示すように、状態マシンとフリップフロップとAND回路により自動的にクロック供給のオンオフが制御される構成となっている。状態マシン11からフリップフロップ12を介してAND回路13に接続されている。演算器10の出力ラインの一部は状態マシン11に接続され、一部は終了フラグライン30に接続されている。図2(a)は演算器10にクロック供給を開始する際の動作の流れの一例を示す図、図2(b)は演算器10のクロック供給を一時停止する動作の流れの一例を示す図である。いま、図2(a)に示すように、フリップフロップ12がオンとなりAND回路13を通してクロック入力ライン14からクロックが供給されている状態にあるとする。
図2(b)において、演算器10はパイプラインの演算処理が終了すると終了信号を出力する。当該終了信号は状態マシン11を介してフリップフロップ12に入力され、フリップフロップ12を反転させてオフとなる。当該オフ信号によりAND回路13はオフとなる。そのため図2(a)の状態ではクロック入力ライン14から供給されていたクロックの供給が停止する。
上記クロック供給の停止処理は演算器ごとに行なわれる。そのため、終了フラグを出力した演算器10から順々にクロックの供給が停止されて行くこととなる。
本実施例1では、上記構成の制御に基づくクロック供給/停止制御の仕組みがクロック供給制御手段となっている。このように、本実施例1の構成によれば、パイプライン処理において担当ステージの演算処理が終了した演算器10から順にクロックの供給が停止して行き、すべての演算器10の演算処理が終了した場合、次のパイプライン処理の演算処理に向けてすべての演算器10へのクロック供給が一斉に再開される。
図3のタイミングチャートにおいて、第1クロックの時点では演算器1(10a)においてデータ(n+2)が処理され、演算器2(10b)においてデータ(n+1)が処理され、演算器3(10c)においてデータ(n)が処理されている。デジタルVLSI回路がマクロブロックパイプラインで構成されていればデータ(n)をマクロブロック(n)で、ブロックパイプラインで構成されていればデータ(n)をブロック(n)と置き換えればよい。
縦軸に演算器1、2、3など各演算器を模式的に並べている。演算器1(10a)による処理が終了すれば、演算処理済みデータが演算器2(10b)に受け渡されて演算器2による処理が行なわれ、当該処理が終了すれば、演算処理済みデータが演算器3(10c)に受け渡されて演算器3による処理が行なわれる。このように縦軸方向にパイプライン処理の流れが展開されている。
横軸はタイミングである。第1段目には、従来技術による最悪サイクル数を確保せしめつつパイプライン処理を実行する場合のタイミング(タイミング0〜1000)が表示されている。第2段目には本発明の実施例1にかかるデジタルVLSI回路のパイプライン処理を実行する場合のタイミング(タイミング0〜1000)が表示されている。図4ではハッチングが施されている部分は演算処理が実行されている期間を示しており、ハッチングがない部分は演算処理が終了し、次のデータの処理の実行までの間のクロックゲーティング期間を示している。
演算器10は動画像の符号化・復号化処理をパイプライン演算処理によりマクロブロックデータ単位で実行する演算器である場合、上記のように演算器10におけるパイプライン処理を詰めていくので、1フレームの処理時間中に次のフレームに含まれるマクロブロックの処理を行える時間が存在する。例えば、図4において1フレームに含まれるマクロブロックが8個であるとした場合、演算器1は575サイクルで1フレーム分のマクロブロックの処理が完了し、最終段の演算器3が8番目のマクロブロックの処理を完了する750サイクルまで次フレームに含まれるマクロブロックの処理を行えるサイクルが存在する。しかし、フレームデータで構成されている動画像処理は、1フレームの処理期間が所定の制約時間内に定められているため、演算器1はフレームに含まれる最後のマクロブロックの処理を完了したのち、次のフレームに含まれるマクロブロックの処理は行わない。演算器2についても同様に次のフレームに含まれるマクロブロックの処理は行わない(図28)。
例えば、演算器10が最終マクロブロックの演算処理が終了しても終了信号を出力しないという仕組みが考えられる。この場合、処理終了検知器20が別途、フレーム処理期間の終了の通知を制御部(図示せず)から受け、処理開始フラグラインに処理開始フラグ信号を出力すれば良い。
他には例えば、演算器10は最終マクロブロックの演算処理が終了すれば同様に終了信号を出力するが、その際、最終マクロブロックの処理の終了という属性信号を付して出力する仕組みが考えられる。この場合、処理終了検知器20は、フレーム処理期間の終了の通知を制御部(図示せず)から受けるまでは、処理開始フラグラインに処理開始フラグ信号を出力するのを待ち、フレーム処理期間の終了の通知を受けた後、処理開始フラグラインに処理開始フラグ信号を出力すれば良い。
上記のように、次のフレーム処理期間の開始まで、まとめてクロックゲーティングが持続的に行なわれているので、クロックゲーティングの開始回数、停止回数としては1回とカウントされる。
なお、上記の実施例1のデジタルVLSI回路は、パイプライン演算処理をマクロブロック単位(マクロブロックデータは複数個のブロックデータにより構成される。なお24個で構成されることが多い)で実行する構成例であったが、ブロック単位で実行する構成とすることも可能である。
ブロック単位でパイプライン処理を実行する場合は、演算器がパイプライン演算処理をブロックデータ単位で実行し、クロック供給制御手段が、フレームデータ中の最後のマクロブロックデータ中の最後のブロックデータにかかる演算処理においては、検知手段によりすべての演算器における演算処理の終了が検知されてもすべての演算器に対するクロック供給の停止を継続し、フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての演算器へのクロック供給を再開するものとする。
以上、本実施例1のデジタルVLSI回路によれば、図4と図23の比較から明らかなように、クロックゲーティング開始回数およびクロックゲーティング停止回数が減少しており、より一層の低消費電力化が図られていることが分かる。
図6は本発明の実施例2にかかるデジタルVLSI回路の構成を模式的に示す図である。
パイプライン演算処理の並びにおいて前後の演算器10a〜10cがシーケンシャルに接続された構成となっており、演算器同士がハンドシェイクすることにより連携する構成となっている。
演算器10は図示の便宜上、演算器1(10a)、演算器2(10b)、演算器3(10c)の3つのみ示しているが、パイプラインの段数に応じて演算器の数を増減した設計とすることができることは言うまでもない。
それぞれの演算器10a〜10cは、パイプライン演算処理の各ステージを担い、クロックに同期して演算処理を実行するものである。ここでは、動画像の符号化・復号化を行なうパイプライン処理を実行するので、例えば、演算器1(10a)がエントロピーデコードステージを担当し、演算器2(10b)が逆Q処理ステージを担当し、演算器3(10c)が逆T処理ステージを担当するものとする。それ以降のパイプライン処理ステージは図示を省略している。各演算器はシーケンシャルに接続され、前後の演算器の間で処理済のデータを前段から次段へ次々と受け渡していく構成となっている。各演算器で演算処理がなされたデータは各演算器に備えられるバッファに保存され、前後の演算器はこのバッファを介してデータを受け渡す。例えば演算器1で演算処理がなされたデータは演算器1に備えられたバッファに保存され、このバッファから次段の演算器2へデータが受け渡される。バッファはフリップフロップやRAM(Random Access Memory)などで構成される。
各演算器はパイプライン処理の並びにおいて前後の演算器と受理信号ライン50と要求信号ライン60とデータライン70の3本ずつのラインを介して接続されている。
(ルール1)当段の演算器10は自らの処理が終了すれば、受理信号ライン50を介して次段の演算器10に対して受理信号を発し、自らが処理した処理済データを受け渡し準備が完了した旨を伝える。
(ルール2)次段の演算器10は自らの処理が終了すれば、要求信号ライン60を介して当段の演算器10に対して要求信号を発し、当段の演算器10からデータの受け入れ準備が完了した旨を伝える。
(ルール3)当段演算器10と次段演算器10が相互にデータの受け渡しに関する状況を交換し合い、両者ともデータの受け渡しの準備が出来ていることを確認できればデータの受け渡しを行なう。
(ルール4)前段演算器10は自らの処理が終了すれば、受理信号ライン50を介して当段の演算器10に対して受理信号を発し、自らが処理した処理済データを受け渡し準備が完了した旨を伝える。
(ルール5)当段の演算器10は自らの処理が終了すれば、要求信号ライン60を介して前段の演算器10に対して要求信号を発し、前段の演算器10からデータの受け入れ準備が完了した旨を伝える。
(ルール6)前段演算器10と当段演算器10が相互にデータの受け渡しに関する状況を交換し合い、両者ともデータの受け渡しの準備が出来ていることを確認できればデータの受け渡しを行なう。
(ルール7)演算器10は処理済データを次段の演算器10に出力するまで、次のデータの処理を開始しない。
上記7つのルールに従って、パイプライン処理の前後の演算器同士がハンドシェイク型の連携をもってパイプライン処理の演算処理を詰めて行ない、クロックゲーティング開始回数およびクロックゲーティング停止回数を少なくし、低消費電力化を図るものである。
図7に示すように、4つの状態マシン(111〜114)と4つのフリップフロップ(121〜124)と3つのAND回路(131〜133)により自動的にクロック供給のオンオフが制御される構成となっている。
受理信号ライン50bは状態マシン113からフリップフロップ123を介してAND回路132に接続されている。また、要求信号ライン60bは状態マシン114からフリップフロップ124を介してAND回路132に接続されている。
受理信号ライン50bと要求信号ライン60bの両者がともにアクティブ(ハイ)になることにより、AND回路132がオンとなる。つまり、AND回路132がオンとなった場合、当該演算器10と次段演算器10との間でハンドシェイクが成立し、両者間でデータの受け渡しが行なわれ得る状態となっている。この状態で上記のルール1、ルール2、ルール3が成立する。次段演算器10が既に処理済みデータを出力済みであればルール7も成立している。
ここで、また、AND回路132の出力が直接演算器10に入力されており、当段演算器10は次段演算器10との間でハンドシェイクが成立し、両者間でデータの受け渡しが行なわれ得る状態となったことを検知できる仕組みとなっており、演算器10は次段演算器10に処理済みデータを受け渡すことができる構成例となっている。
受理信号ライン50aは状態マシン111からフリップフロップ121を介してAND回路131に接続されている。また、要求信号ライン60aは状態マシン112からフリップフロップ122を介してAND回路131に接続されている。
受理信号ライン50aと要求信号ライン60aの両者がともにアクティブ(ハイ)になることにより、AND回路131がオンとなる。つまり、AND回路131がオンとなった場合、当該演算器10と前段演算器10との間でハンドシェイクが成立し、両者間でデータの受け渡しが行なわれ得る状態となっている。この状態で上記のルール4、ルール5、ルール6が成立する。ただし、当段演算器10においてルール7が成立しないと実際のデータの受け渡しは行なわれない。例えば、当段演算器10の処理済みデータが既に次段演算器10に出力済みであればルール7も満たされるので前段演算器と当段演算器との間でデータの受け渡しが行なわれる。
まず、第1の動作例は、当段演算器10のパイプライン処理が先に終了し、次に次段演算器10のパイプライン処理が終了し、最後に前段演算器10のパイプライン処理が終了した場合の流れの場合の動作例である。その流れを図8から図10に分けて説明する。
当段演算器10は処理が終了すると、当段演算器10は状態マシン113に対して終了信号を発する。状態マシン113は次段演算器10への受理信号ラインに対して接続されており、受理信号レベルをアクティブ(ハイ)とする。また、状態マシン113はフリップフロップ123に信号を出力し、フリップフロップ123を反転させる(オフ→オン)。この状態マシン113はこの状態遷移を維持し、出力状態を保つ。
次段演算器10はパイプライン処理が終了すると、当段演算器10への要求信号ラインをアクティブ(ハイ)とし、当段演算器10の状態マシン114に対して要求信号を発する。要求信号が出されたということは次段演算器10は既に処理済みデータを次々段以降の演算器に出力済みであることを意味する。当段演算器10の状態マシン114はフリップフロップ124に信号を出力し、フリップフロップ124を反転させる(オフ→オン)。この状態マシン114はこの状態遷移を維持し、出力状態を保つ。
AND回路132の出力は当段演算器10に入力されており、当段演算器10は、当段演算器10と次段演算器10の間でハンドシェイクが成立し、当段演算器10の処理済みデータを次段に出力する状態となったことを検知するので、当段演算器10の処理済データを次段演算器10に対して出力する。
当段演算器10は処理済データを次段に出力したので、前段から処理済データを受け入れられる状態となったので、状態マシン112を介して前段演算器10に対して要求信号ラインを介して要求信号を出力する。
この図9の後、当段演算器10はクロック供給が停止され、クロックゲーティング状態に入る。
前段演算器10は処理が終了すると、当段演算器10への受理信号ラインをアクティブ(ハイ)とし、当段演算器10の状態マシン111に対して受理信号を発する。状態マシン111はフリップフロップ121に信号を出力し、フリップフロップ121を反転させる(オフ→オン)。この状態マシン111はこの状態遷移を維持し、出力状態を保つ。
この図10の状態において、AND回路131は両入力ともアクティブ(ハイ)となっているのでオンとなる。前段演算器10と当段演算器10との間でハンドシェイクが成立していることとなる。なお、前段演算器10と当段演算器10との間でハンドシェイクが成立している場合は当段演算器10は既に処理済みデータを次段に出力済みであるので、前段演算器10から処理済みデータが当段演算器10に受け渡される。
さらに、図10の状態において、AND回路133は、AND回路131からの入力およびAND回路132からの入力ともアクティブ(ハイ)となっているのでオンとなる。
ここで、AND回路133はクロック入力との間ではゲートとして動作し、クロックゲートがアクティブになったので、クロック供給が開始される。
当段演算器10のデータ処理が終了した場合の図11に示す動作は、図8に示したものと同じであるので、ここでの説明は省略する。
この図12の後、当段演算器10はクロック供給が停止され、クロックゲーティング状態に入る。
次段演算器10はパイプライン処理が終了すると、当段演算器10への要求信号ラインをアクティブ(ハイ)とし、当段演算器10の状態マシン114に対して要求信号を発する。要求信号が出されたということは次段演算器10は既に処理済みデータを次々段以降の演算器に出力済みであることを意味する。当段演算器10の状態マシン114はフリップフロップ124に信号を出力し、フリップフロップ124を反転させる(オフ→オン)。この状態マシン114はこの状態遷移を維持し、出力状態を保つ。
この図13の状態において、AND回路132は両入力ともアクティブ(ハイ)となっているのでオンとなる。
AND回路132の出力は当段演算器10に入力されており、当段演算器10は、当段演算器10と次段演算器10の間でハンドシェイクが成立し、当段演算器10の処理済みデータを次段に出力する状態となったことを検知するので、当段演算器10の処理済データを次段演算器10に対して出力する。
前段演算器10は、当段演算器10からの要求信号ラインがアクティブ(ハイ)になったことを受け、当段演算器10に対して処理済みデータを受け渡す。
この図13の状態において、AND回路131は両入力ともアクティブ(ハイ)となっているのでオンとなる。
さらに、図13の状態において、AND回路133は、AND回路131からの入力およびAND回路132からの入力ともアクティブ(ハイ)となっているのでオンとなる。
ここで、AND回路133はクロック入力との間ではゲートとして動作し、クロックゲートがアクティブになったので、クロック供給が開始される。
図14のタイミングチャートにおいて、第1クロックの時点では演算器1(10a)においてデータ(n+2)が処理され、演算器2(10b)においてデータ(n+1)が処理され、演算器3(10c)においてデータ(n)が処理されている。
演算器2(10b)は、データ(n+1)のパイプライン処理を図中の第4クロックで完了しており要求信号を発している。なお、演算器3(10c)から受理信号を第1クロックに受けている。
演算器3(10c)は、データ(n)のパイプライン処理を図中の第2クロックで完了しており要求信号を発している。なお、次段演算器から受理信号を第4クロックに受けている。
図15のタイミングチャートに示すように、演算器10のうち、担当するパイプライン処理が早く終了したものは、前後の演算器10におけるパイプライン処理が終了するまでの間、クロックゲーティングが行なわれている。
例えば、演算器1(10a)の350サイクルから375サイクルの間と425サイクルと450サイクルの間、演算器2(10b)の275サイクルから300サイクルの間にクロックゲーティングが行なわれる期間がある。この例では、次段の演算器の処理が完了した後、当段の演算器のクロックゲーティングが解除される上記の動作例2の場合(図11から図13に示した動作例)のクロックゲーティングである。
なお、上記の実施例2のデジタルVLSI回路は、パイプライン演算処理をマクロブロック単位(マクロブロックデータは複数個のブロックデータにより構成される。なお24個で構成されることが多い)で実行する構成例であったが、ブロック単位で実行する構成とすることも可能である。
ブロック単位でパイプライン処理を実行する場合は、演算器がパイプライン演算処理をブロックデータ単位で実行し、クロック供給制御手段が、フレームデータ中の最後のマクロブロックデータ中の最後のブロックデータにかかる演算処理においては、次段演算器へのクロック供給の停止後、前段演算器の演算処理の終了が検知されても次段演算器へのクロック供給の停止を継続し、フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての演算器へのクロック供給を再開する構成とする。
また、クロック供給制御手段が、フレームデータ中の最後のマクロブロックデータの最後のブロックデータにかかる演算処理においては、前段演算器へのクロック供給の停止後、前段演算器が次段演算器に対して処理済みの演算処理データを出力できる状態となった場合でも、前段演算器へのクロック供給の停止を継続し、フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての演算器へのクロック供給を再開する構成とする。
実施例1、実施例2に示した本発明のパイプラインで構成されるデジタルVLSI回路では従来のパイプラインで構成されるデジタルVLSI回路と比較して、復号化処理対象ビットストリームに含まれる有効ブロック数の大小や有効係数の数の大小に依存して、復号化処理に必要なサイクル数がフレーム単位に大きく変動する。また、符号化処理においても、動き補償処理で実行されるブロックマッチング回数や発生する有効ブロック数の大小や有効係数の大小に依存して、符号化処理に必要なサイクル数がフレーム単位に大きく変動する。したがって、実施例1、実施例2に示した本発明の専用ハードウェア構成のデジタルVLSI回路であれば、フィードバック型の動的制御やフィードフォワード型の動的制御を適用して演算器の動作電源電圧と基板バイアス電圧を適切な値に抑えて消費電力を削減することができる。また、演算器の動作周波数を適切な値に抑えることも消費電力削減には効果的である。
処理済マクロブロックカウンタ80は、パイプライン演算処理のデータ処理量をフレームデータごとにカウントする部分である。
フィードバック制御部81は、処理済マクロブロックカウンタ80がカウントした処理済マクロブロックのカウント数に応じて現在処理中のフレームに含まれている未処理のマクロブロックの個数と現在処理中のフレームの処理を完了しなければならない時刻とから演算器の動作周波数を計算する部分である。
演算器調整部82は、フィードバック制御部80の決定した動作周波数に基づき、演算器の動作電源電圧と基板バイアス電圧と動作周波数とを調整する部分である。
処理負荷予測部90は、パイプライン演算処理に供される前に、パイプライン演算処理に供されるフレームデータに含まれるマクロブロックデータ量を検知し、パイプライン演算処理にかかる処理負荷を予測する部分である。
フィードフォワード制御部91は、処理負荷予測部90による予測に基づき、演算器の動作電源電圧と基板バイアス電圧と動作周波数とを決定する部分である。
演算器調整部92は、フィードフォワード制御部91の決定に基づき、演算器の動作電源電圧と基板バイアス電圧と動作周波数とを調整する部分である。
なお、過去の処理サイクル数に基づく予測サイクル数mの予測の方法には幾通りかの方法がある。第1には、同タイプのマクロブロックのうち時間的にもっとも近い過去のものを用いる方法がある。動画では時間的に近いほどマクロブロック同士の処理サイクル数が同程度になることが期待できる。第2には、同タイプのマクロブロックのうち時間的に近い数個のマクロブロックの処理サイクル数の平均値を用いる方法がある。
例えば、実施例1、2、3の説明においてクロック供給に関する部分を電力供給に関する部分に替え、また、タイミングチャートの説明においてクロックゲーティング期間を電力停止期間に替え、対応する図面も書き替えて読めば良い(例えば、クロック入力14を電力供給ライン14と読み替えれば良い)。
図18は本発明のデジタルVLSI回路を組み込んだ画像処理システム200の構成例を示す図である。例えば、本発明のデジタルVLSI回路をマイクロプロセッサに採用したパーソナルコンピュータとして構成したものでも良く、また、本発明のデジタルVLSI回路を画像処理チップとして画像処理ボード中に組み込んでも良い。
図19は本発明のデジタルVLSI回路を組み込んだ携帯端末300の構成例を示す図である。この構成例では携帯電話に組み込んだ例である。携帯電話でも近年は動画像を扱う能力を備えるものが投入されつつある一方、低消費電力化への要求は極めて強く、本発明のデジタルVLSI回路を組み込んだ携帯電話とすれば、低消費電力化を図るとともに動画像の処理速度の向上の両面を図ることが可能となる。
また、本発明のデジタルVLSI回路によれば、パイプライン処理の前後の演算器の処理が終了すれば演算器間で処理済データをやり取りすることによりデータ処理サイクル数(動画像処理の場合はマクロブロック処理やブロック処理のサイクル数)を小さくすることができ、さらに、演算器でのパイプライン演算処理を詰めて行なうことによりクロックゲーティングまたは電力供給の開始回数、停止回数を減少させることができ、より一層の低消費電力化を図ることができる。さらに、実際のデータに対する処理に必要となるサイクル数に応じて制約時間内に必要となるサイクル数を大幅に削減することができ、削減されたサイクルによって生ずる時間余裕を用いて動作周波数・電圧の動的制御を行うことにより、よりいっそうの低消費電力化を図ることができる。
本発明の携帯端末によれば、動画像のデータ処理において低消費電力化が図られており、携帯電話のような小型の端末においても動画像の符号化復号化処理を行なうことができ、携帯端末の用途が様々に広がる。
11,111,112,113,114 状態マシン
12,121,122,123,124 フリップフロップ
13,131,132,133 AND回路
14 クロック入力ライン
20 処理終了検知器
30 終了フラグライン
40 処理開始フラグライン
50 受理信号ライン
60 要求信号ライン
70 データライン
80 処理済マクロブロックカウンタ
81 フィードバック制御部
82 演算器調整部
90 処理負荷予測部
91 フィードフォワード制御部
92 演算器調整部
100 デジタルVLSI回路
200 画像処理システム
300 携帯端末
Claims (20)
- パイプライン演算処理の各ステージを担い、クロックに同期して演算処理を実行する複数の演算器と、
前記演算器における担当ステージの演算処理の終了を検知する検知手段と、
前記演算器ごとにクロックの供給/停止を制御するクロック供給制御手段とを備え、
前記クロック供給制御手段が、
前記検知手段により演算処理の終了が検知された前記演算器に対するクロック供給を停止し、
前記検知手段によりすべての前記演算器における演算処理の終了が検知されれば次のパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開するように構成されたことを特徴としたデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータを含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記マクロブロックデータ単位で実行し、
前記クロック供給制御手段が、前記フレームデータ中の最後の前記マクロブロックデータにかかる演算処理においては、前記検知手段によりすべての前記演算器における演算処理の終了が検知されてもすべての前記演算器に対するクロック供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開することを特徴とする請求項1に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータ(前記マクロブロックデータは複数個のブロックデータにより構成される)を含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記ブロックデータ単位で実行し、
前記クロック供給制御手段が、前記フレームデータ中の最後の前記マクロブロックデータ中の最後の前記ブロックデータにかかる演算処理においては、前記検知手段によりすべての前記演算器における演算処理の終了が検知されてもすべての前記演算器に対するクロック供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開することを特徴とする請求項1に記載のデジタルVLSI回路。 - パイプライン演算処理の各ステージを担い、クロックに同期して演算処理を実行する複数の演算器と、
前記演算器における担当ステージの演算処理の終了を検知する検知手段と、
前記演算器ごとにクロックの供給/停止を制御するクロック供給制御手段とを備え、
前記クロック供給制御手段が、
前記検知手段により、前記パイプライン演算処理において相前後する前段演算器と次段演算器のうち次段演算器の演算処理の終了が先に検知された場合、当該次段演算器に対してクロック供給を停止し、
前記次段演算器へのクロック供給の停止後、前記前段演算器の演算処理の終了が検知された場合、次のパイプライン演算処理に向けて前記次段演算器に対してクロック供給を再開するように構成されたことを特徴とするデジタルVLSI回路。 - 前記クロック供給制御手段が、
前記検知手段により、前記前段演算器の演算処理の終了が先に検知された場合、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できるまで、当該前段演算器に対してクロック供給を停止し、
前記前段演算器へのクロック供給の停止後、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できる状態となれば、当該前段演算器に対してクロック供給を再開するように構成されたことを特徴とする請求項4に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータを含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記マクロブロックデータ単位で実行し、
前記クロック供給制御手段が、
前記フレームデータ中の最後のマクロブロックデータにかかる演算処理においては、前記次段演算器へのクロック供給の停止後、前記前段演算器の演算処理の終了が検知されても、前記次段演算器へのクロック供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開することを特徴とする請求項4または5に記載のデジタルVLSI回路。 - 前記クロック供給制御手段が、
前記フレームデータ中の最後のマクロブロックデータにかかる演算処理においては、前記前段演算器へのクロック供給の停止後、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できる状態となった場合でも、前記前段演算器へのクロック供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開することを特徴とする請求項6に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータ(前記マクロブロックデータは複数個のブロックデータにより構成される)を含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記ブロックデータ単位で実行し、
前記クロック供給制御手段が、
前記フレームデータ中の最後の前記マクロブロックデータ中の最後の前記ブロックデータにかかる演算処理においては、前記次段演算器へのクロック供給の停止後、前記前段演算器の演算処理の終了が検知されても前記次段演算器へのクロック供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器へのクロック供給を再開することを特徴とする請求項4または5に記載のデジタルVLSI回路。 - 過去における制約時間内に演算処理すべきデータ量と演算処理に要したサイクル数を記憶するサイクル数記憶手段と、
次の制約時間内に演算処理すべきデータ量と前記記憶手段に記憶されているサイクル数から、次の制約時刻までに演算処理しなければならないデータの演算処理に必要なサイクル数を予測するサイクル数予測手段と、
前記サイクル数予測手段で計算されたサイクル数から専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し決定した動作周波数のクロックとこのクロックに対応した動作電源電圧、基板バイアス電圧を供給する動作周波数・電圧制御手段を備え、
前記サイクル数記憶手段が制約時間内に演算処理すべきデータ量と当該データに対して演算処理を完了するために要したサイクル数を記憶し、次の制約時間の開始直後において前記動作周波数・電圧制御手段がサイクル数記憶手段に記憶されている過去のデータの演算処理に要したサイクル数と次の制約時刻までに演算処理を完了しなければならないデータ量とから次の制約時刻までの専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定した値に制御する請求項2、3、6、7、8のいずれか1項に記載のデジタルVLSI回路。 - 次の制約時間内に演算処理すべきデータ量とパイプラインを少なくとも1回動作させることによって演算処理が完了するデータ量とから次のパイプライン動作時の専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し決定した動作周波数のクロックとこのクロックに対応した動作電源電圧、基板バイアス電圧を供給する動作周波数・電圧制御手段を備え、
前記動作周波数・電圧制御手段が次のパイプライン演算処理において演算処理を行うデータの演算処理に必要なサイクルが想定される最悪サイクル数であっても当該データの演算処理が完了すべき時刻に間に合うように動作周波数を決定し、次のパイプライン演算処理における専用デジタルVLSI回路のクロック、動作電源電圧、基板バイアス電圧を決定した動作周波数とこの動作周波数に対応した動作電源電圧、基板バイアス電圧に制御する請求項2、3、6、7、8のいずれか1項に記載のデジタルVLSI回路。 - パイプライン演算処理の各ステージを担い、演算処理を実行する複数の演算器と、
前記演算器における担当ステージの演算処理の終了を検知する検知手段と、
前記演算器ごとに電力の供給/停止を制御する電力供給制御手段とを備え、
前記電力供給制御手段が、
前記検知手段により演算処理終了が検知された前記演算器に対する電力供給を停止し、
前記検知手段によりすべての前記演算器における演算処理終了が検知されれば次のパイプライン演算処理に向けてすべての前記演算器への電力供給を再開するように構成されたことを特徴としたデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータを含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記マクロブロックデータ単位で実行し、
前記電力供給制御部が、前記フレームデータ中の最後の前記マクロブロックデータにかかる演算処理においては、前記検知手段によりすべての前記演算器における演算処理の終了が検知されてもすべての前記演算器に対する電力供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器への電力供給を再開することを特徴とする請求項11に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータ(前記マクロブロックデータは複数個のブロックデータにより構成される)を含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記ブロックデータ単位で実行し、
前記電力供給制御部が、前記フレームデータ中の最後の前記マクロブロックデータ中の最後の前記ブロックデータにかかる演算処理においては、前記検知手段によりすべての前記演算器における演算処理の終了が検知されてもすべての前記演算器に対する電力供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器への電力供給を再開することを特徴とする請求項11に記載のデジタルVLSI回路。 - パイプライン演算処理の各ステージを担い、演算処理を実行する複数の演算器と、
前記演算器における担当ステージの演算処理の終了を検知する検知手段と、
前記演算器ごとに電力の供給/停止を制御する電力供給制御手段とを備え、
前記電力供給制御手段が、
前記検知手段により、前記パイプライン演算処理において相前後する前段演算器と次段演算器のうち次段演算器の演算処理の終了が先に検知された場合、当該次段演算器に対して電力供給を停止し、
前記次段演算器への電力供給の停止後、前記前段演算器の演算処理の終了が検知された場合、次のパイプライン演算処理に向けて前記次段演算器に対して電力供給を再開するように構成されたことを特徴とするデジタルVLSI回路。 - 前記電力供給制御手段が、
前記検知手段により、前記前段演算器の演算処理の終了が先に検知された場合、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できるまで、当該前段演算器に対して電力供給を停止し、
前記前段演算器への電力供給の停止後、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できる状態となれば、当該前段演算器に対して電力供給を再開するように構成されたことを特徴とする請求項14に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータを含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記マクロブロックデータ単位で実行し、
前記電力供給制御手段が、
前記フレームデータ中の最後のマクロブロックデータにかかる演算処理においては、前記次段演算器への電力供給の停止後、前記前段演算器の演算処理の終了が検知されても、前記次段演算器への電力供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器への電力供給を再開することを特徴とする請求項14または15に記載のデジタルVLSI回路。 - 前記電力供給制御手段が、
前記フレームデータ中の最後のマクロブロックデータにかかる演算処理においては、前記前段演算器への電力供給の停止後、前記前段演算器が前記次段演算器に対して処理済みの演算処理データを出力できる状態となった場合でも、前記前段演算器への電力供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器への電力供給を再開することを特徴とする請求項16に記載のデジタルVLSI回路。 - 前記演算処理にかかるデータが、複数のマクロブロックデータ(前記マクロブロックデータは複数個のブロックデータにより構成される)を含み、一定の処理期間(フレーム処理期間)が定められているフレームデータを備えた動画像データであり、前記演算処理が前記動画像の符号化・復号化処理であり、
前記演算器が、前記パイプライン演算処理を前記ブロックデータ単位で実行し、
前記電力供給制御手段が、
前記フレームデータ中の最後の前記マクロブロックデータ中の最後の前記ブロックデータにかかる演算処理においては、前記次段演算器への電力供給の停止後、前記前段演算器の演算処理の終了が検知されても、前記次段演算器への電力供給の停止を継続し、
前記フレーム処理期間の経過後、次のフレームデータのパイプライン演算処理に向けてすべての前記演算器への電力供給を再開することを特徴とする請求項14または15に記載のデジタルVLSI回路。 - 過去における制約時間内に演算処理すべきデータ量と演算処理に要したサイクル数を記憶するサイクル数記憶手段と、
次の制約時間内に演算処理すべきデータ量と前記記憶手段に記憶されているサイクル数から、次の制約時刻までに演算処理しなければならないデータの演算処理に必要なサイクル数を予測するサイクル数予測手段と、
前記サイクル数予測手段で計算されたサイクル数から専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し決定した動作周波数のクロックとこのクロックに対応した動作電源電圧、基板バイアス電圧を供給する動作周波数・電圧制御手段を備え、
前記サイクル数記憶手段が制約時間内に演算処理すべきデータ量と当該データに対して演算処理を完了するために要したサイクル数を記憶し、次の制約時間の開始直後において前記動作周波数・電圧制御手段がサイクル数記憶手段に記憶されている過去のデータの演算処理に要したサイクル数と次の制約時刻までに演算処理を完了しなければならないデータ量とから次の制約時刻までの専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定した値に制御する請求項12、13、16、17、18のいずれか1項に記載のデジタルVLSI回路。 - 次の制約時間内に演算処理すべきデータ量とパイプラインを少なくとも1回動作させることによって演算処理が完了するデータ量とから次のパイプライン動作時の専用デジタルVLSI回路の動作周波数、動作電源電圧、基板バイアス電圧を決定し決定した動作周波数のクロックとこのクロックに対応した動作電源電圧、基板バイアス電圧を供給する動作周波数・電圧制御手段を備え、
前記動作周波数・電圧制御手段が次のパイプライン演算処理において演算処理を行うデータの演算処理に必要なサイクルが想定される最悪サイクル数であっても当該データの演算処理が完了すべき時刻に間に合うように動作周波数を決定し、次のパイプライン演算処理における専用デジタルVLSI回路のクロック、動作電源電圧、基板バイアス電圧を決定した動作周波数とこの動作周波数に対応した動作電源電圧、基板バイアス電圧に制御する請求項13、14、17、18のいずれか1項に記載のデジタルVLSI回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006027431 | 2006-02-03 | ||
JP2006027431 | 2006-02-03 | ||
PCT/JP2007/051927 WO2007089014A1 (ja) | 2006-02-03 | 2007-02-05 | デジタルvlsi回路およびそれを組み込んだ画像処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007089014A1 true JPWO2007089014A1 (ja) | 2009-06-25 |
JP4521508B2 JP4521508B2 (ja) | 2010-08-11 |
Family
ID=38327571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007556947A Expired - Fee Related JP4521508B2 (ja) | 2006-02-03 | 2007-02-05 | デジタルvlsi回路およびそれを組み込んだ画像処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8291256B2 (ja) |
JP (1) | JP4521508B2 (ja) |
WO (1) | WO2007089014A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4951739B2 (ja) * | 2007-02-07 | 2012-06-13 | 国立大学法人 東京大学 | 半導体集積回路及び動作条件制御方法 |
JP2009075973A (ja) * | 2007-09-21 | 2009-04-09 | Canon Inc | 電子機器及び当該電子機器の電力制御方法 |
US8458497B2 (en) | 2007-10-11 | 2013-06-04 | Qualcomm Incorporated | Demand based power control in a graphics processing unit |
JP5294449B2 (ja) * | 2008-07-11 | 2013-09-18 | 国立大学法人 筑波大学 | ネットワークシステムおよびネットワークシステムにおける電源制御方法 |
JP5302606B2 (ja) * | 2008-09-18 | 2013-10-02 | 株式会社ニューフレアテクノロジー | 荷電粒子ビーム描画装置および荷電粒子ビーム描画方法 |
JP5449791B2 (ja) * | 2009-02-02 | 2014-03-19 | オリンパス株式会社 | データ処理装置および画像処理装置 |
JP5836585B2 (ja) * | 2010-02-09 | 2015-12-24 | キヤノン株式会社 | データ処理装置及びその制御方法、プログラム |
JP5751819B2 (ja) * | 2010-12-16 | 2015-07-22 | キヤノン株式会社 | データ処理装置、データ処理方法及びプログラム |
US20130004071A1 (en) * | 2011-07-01 | 2013-01-03 | Chang Yuh-Lin E | Image signal processor architecture optimized for low-power, processing flexibility, and user experience |
WO2013100923A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Pipelined image processing sequencer |
US10698692B2 (en) * | 2016-07-21 | 2020-06-30 | Advanced Micro Devices, Inc. | Controlling the operating speed of stages of an asynchronous pipeline |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04143819A (ja) * | 1989-12-15 | 1992-05-18 | Hitachi Ltd | 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ |
WO2001033351A1 (fr) * | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Architecture de processeur |
JP2002268877A (ja) * | 2001-03-08 | 2002-09-20 | Matsushita Electric Ind Co Ltd | クロック制御方法及び当該クロック制御方法を用いた情報処理装置 |
JP2003263311A (ja) * | 2002-03-07 | 2003-09-19 | Seiko Epson Corp | 並列演算処理装置及び並列演算処理用の命令コードのデータ構造、並びに並列演算処理用の命令コードの生成方法 |
JP2006500813A (ja) * | 2002-09-20 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 遅延の予測に基づく適応データ処理スキーム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1157641C (zh) * | 1997-09-03 | 2004-07-14 | 松下电器产业株式会社 | 处理器 |
TWI230855B (en) * | 2002-01-05 | 2005-04-11 | Via Tech Inc | Transmission line circuit structure saving power consumption and operating method thereof |
KR100719360B1 (ko) * | 2005-11-03 | 2007-05-17 | 삼성전자주식회사 | 디지털 로직 프로세싱 회로, 그것을 포함하는 데이터 처리 장치, 그것을 포함한 시스템-온 칩, 그것을 포함한 시스템, 그리고 클록 신호 게이팅 방법 |
US7773236B2 (en) * | 2006-06-01 | 2010-08-10 | Toshiba Tec Kabushiki Kaisha | Image forming processing circuit and image forming apparatus |
-
2007
- 2007-02-05 JP JP2007556947A patent/JP4521508B2/ja not_active Expired - Fee Related
- 2007-02-05 US US12/278,015 patent/US8291256B2/en not_active Expired - Fee Related
- 2007-02-05 WO PCT/JP2007/051927 patent/WO2007089014A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04143819A (ja) * | 1989-12-15 | 1992-05-18 | Hitachi Ltd | 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ |
WO2001033351A1 (fr) * | 1999-10-29 | 2001-05-10 | Fujitsu Limited | Architecture de processeur |
JP2002268877A (ja) * | 2001-03-08 | 2002-09-20 | Matsushita Electric Ind Co Ltd | クロック制御方法及び当該クロック制御方法を用いた情報処理装置 |
JP2003263311A (ja) * | 2002-03-07 | 2003-09-19 | Seiko Epson Corp | 並列演算処理装置及び並列演算処理用の命令コードのデータ構造、並びに並列演算処理用の命令コードの生成方法 |
JP2006500813A (ja) * | 2002-09-20 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 遅延の予測に基づく適応データ処理スキーム |
Also Published As
Publication number | Publication date |
---|---|
US8291256B2 (en) | 2012-10-16 |
WO2007089014A1 (ja) | 2007-08-09 |
US20090024866A1 (en) | 2009-01-22 |
JP4521508B2 (ja) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4521508B2 (ja) | デジタルvlsi回路およびそれを組み込んだ画像処理システム | |
US8106804B2 (en) | Video decoder with reduced power consumption and method thereof | |
US9582060B2 (en) | Battery-powered device with reduced power consumption based on an application profile data | |
US20220377322A1 (en) | Intra/inter mode decision for predictive frame encoding | |
US8213511B2 (en) | Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction | |
US9317103B2 (en) | Method and system for selective power control for a multi-media processor | |
US20120201308A1 (en) | Method for Low Memory Footprint Compressed Video Decoding | |
Xiao et al. | A fine-grained parallel implementation of a H. 264/AVC encoder on a 167-processor computational platform | |
US8238429B2 (en) | Statistically cycle optimized bounding box for high definition video decoding | |
JP3544524B2 (ja) | 画像処理装置 | |
JPWO2004093458A1 (ja) | 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法 | |
CN104038766A (zh) | 用于以图像帧为基础执行并行视频编码的装置及其方法 | |
JPH11215509A (ja) | 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体 | |
EP2490102A2 (en) | Video decodere and/or battery-powered device with reduced power consumption and methods thereof | |
US20170323454A1 (en) | Apparatus and method for efficient motion estimation | |
JP4676888B2 (ja) | データ処理装置 | |
JPH1155668A (ja) | 画像符号化装置 | |
Hsieh et al. | Algorithm and architecture design of bandwidth-oriented motion estimation for real-time mobile video applications | |
Kawakami et al. | Power and memory bandwidth reduction of an H. 264/AVC HDTV decoder LSI with elastic pipeline architecture | |
Asif et al. | A hybrid scheme based on pipelining and multitasking in mobile application processors for advanced video coding | |
Landge | A configurable motion estimation accelerator for video compression | |
Nakata et al. | Development of full-HD multi-standard video CODEC IP based on heterogeneous multiprocessor architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091002 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100412 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130604 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |