JP2006039754A - 画像処理装置及びその方法 - Google Patents

画像処理装置及びその方法 Download PDF

Info

Publication number
JP2006039754A
JP2006039754A JP2004216095A JP2004216095A JP2006039754A JP 2006039754 A JP2006039754 A JP 2006039754A JP 2004216095 A JP2004216095 A JP 2004216095A JP 2004216095 A JP2004216095 A JP 2004216095A JP 2006039754 A JP2006039754 A JP 2006039754A
Authority
JP
Japan
Prior art keywords
image processing
clock
clock signal
unit
processing unit
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.)
Withdrawn
Application number
JP2004216095A
Other languages
English (en)
Inventor
Masayuki Odakawa
真之 小田川
Takayuki Nagashima
孝幸 長島
Kazuki Murakami
和希 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004216095A priority Critical patent/JP2006039754A/ja
Publication of JP2006039754A publication Critical patent/JP2006039754A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 パイプライン接続された機能ブロックの内の一部の機能ブロックのスループットが悪化すると、そのブロックの上流の機能ブロックは、処理データを送出することができずウェイトし、ウェイト中の機能ブロックはデータの処理を行えないが、クロックが供給され続けているため電力を消費し続けていることになる。
【解決手段】 パイプライン接続された複数の画像処理ユニット10021〜10026のそれぞれの動作状況を検出する処理モニタ10012と、複数の画像処理ユニットのそれぞれに動作用クロック信号を供給する複数のクロック調整回路10013と、処理モニタ10021による検出結果に応じて、クロック調整回路10013により、対応する画像処理ユニットに供給するクロック信号の周波数を変更させるクロックコントロールユニット10011とを備える。
【選択図】 図1

Description

本発明は、パイプライン接続された複数の画像処理ユニットにより画像処理を実行する画像処理装置及びその方法に関するものである。
PDLからラスタ画像を生成する場合、PDLによって記述されたベクタ画像を解釈し、そのベクタ画像をラスタ画像に変換する処理が必要である。この変換処理に際して、PDLを各種描画処理に分割し、その分割した描画処理を順に実行することにより、それぞれが描画処理機能を備える複数の機能ブロック(回路)を用いてパイプラインで処理する形態を採ることができる(特許文献1)。
特開2001−5776号公報
従来の技術では、各機能ブロックのデータ処理能力及び処理すべきデータ量が異なるため、一部の機能ブロックのスループットが悪化すると、そのブロックの上流の機能ブロックは、処理データを送出することができずウェイトする。このようなウェイト中の機能ブロックは、データの処理を行えないが、クロックは供給され続けているため電力を消費し続けていることになる。
本発明は上記問題点に鑑みてなされたもので、本願発明の特徴は、パイプライン接続された複数の画像処理ユニットにおける動作状況を検出し、その動作状況に応じて各画像処理ユニットにおける動作を制御する画像処理装置及びその方法を提供することにある。
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
パイプライン接続された複数の画像処理ユニットと、
前記複数の画像処理ユニットのそれぞれの動作状況を検出する検出手段と、
前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給手段と、
前記検出手段による検出結果に応じて、前記クロック供給手段から対応する画像処理ユニットに供給するクロック信号を制御する制御手段とを有することを特徴とする。
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
パイプライン接続された複数の画像処理ユニットにより画像処理を実行する画像処理装置における画像処理方法であって、
前記複数の画像処理ユニットのそれぞれにおけるデータ処理状況を検出する検出工程と、
前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給工程と、
前記検出工程で検出されたデータ処理状況により所定量以上のデータを処理している画像処理ユニットの数が所定数以下の場合に、前記所定量以上のデータを処理していない画像処理ユニットへのクロック信号の供給を制御するように制御する制御工程とを有することを特徴とする。
本発明によれば、パイプライン接続された複数の画像処理ユニットにおける動作状況に応じて各画像処理ユニットにおける動作を制御することにより、画像処理の速度を低下させずに、かつ消費電力を抑えて画像処理を行うことができる。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
図1は、本発明の実施の形態1に係る画像処理装置の一例である画像レンダリング装置の構成を説明するブロック図である。
この画像レンダリング装置において、画像処理パイプライン1002は、PDLを解析してイメージデータに展開(レンダリング)する処理を、複数の機能ブロック(画像処理ユニット)をパイプライン接続してパイプラインで実行することにより実現している。PDLをリードし、レンダリングする画像に必要なデータを識別すると表示リスト1003を生成する。このPDLに含まれる周知の記述言語、グラフィック、ライブラリの呼出し、または他のアプリケーションに固有フォーマットの内、1つ又は複数で表現された記述を表示リスト1003に変換する。この画像処理パイプライン1002は、命令実行処理実行ユニット10021、エッジ処理ユニット10022、優先順位決定ユニット10023、塗潰し色決定ユニット10024、画素合成ユニット10025及び画素出力ユニット10026を備えており、これらの各画像処理ユニットは直列に接続されパイプラインを構成している。
命令実行処理ユニット10021は、中間言語である表示リスト1003の命令ストリーム10031をリードして処理している。この命令実行処理ユニット10021の出力は、エッジ処理ユニット10022の入力に接続される。また命令実行処理ユニット10021は、クロック制御部1001の、対応する処理モニタ10012と接続される。命令実行処理ユニット10021のクロック入力は、クロック制御部1001の対応するクロック調整回路10013と接続される。命令実行処理ユニット10021は、エッジ処理ユニット10022、優先順位決定ユニット10023、塗潰し色決定ユニット10024、画素合成ユニット10025及び画素出力ユニット10026に送出する情報にフォーマットする。
エッジ処理ユニット10022は、スキャンラインを走査し、表示リスト1003中のエッジ情報10032からのエッジ情報10032及び命令実行処理ユニット10021により新たにセットされるエッジリストの処理を行う。これは図形を構成する外形を示す辺に対しての処理である。こうしてエッジ処理ユニット10022は、命令実行処理ユニット10021から受信した優先順位情報、塗潰し情報を下流の画像処理ユニットへ転送するとともに、エッジ交差情報及びスキャンラインの終了情報を生成して下流の画像処理ユニットへ送出する。このエッジ処理ユニット10022の出力は、優先順位決定ユニット10023の入力に接続されている。エッジ処理ユニット10022は、クロック制御部1001の対応する処理モニタ10012と接続されており、エッジ処理ユニット10022のクロック入力は、クロック制御部1001の対応するクロック調整回路10013と接続される。
優先順位決定ユニット10023の出力は、塗りつぶし色決定ユニット10024の入力に接続される。優先順位決定ユニット10023は、クロック制御部1001の対応する処理モニタ10012と接続され、優先順位決定ユニット10023のクロック入力は、クロック制御部1001の対応するクロック調整回路10013と接続される。この優先順位決定ユニット10023は、優先順位情報から優先順位状態テーブルを生成し、各オブジェクトの優先順位に関する情報を保持する。この優先順位決定ユニット10023は、上流の画像処理ユニットから受信した塗潰し情報、スキャンライン終了情報を下流の画像処理ユニットへ転送するとともに、塗潰し優先順位情報、画素終了情報を塗りつぶし色決定ユニット10024へ送出する。
塗りつぶし色決定ユニット10024の出力は、画素合成ユニット10025の入力に接続される。この塗りつぶし色決定ユニット10024は、クロック制御部1001の対応する処理モニタ10012と接続され、塗りつぶし色決定ユニット10024のクロック入力は、クロック制御部1001の対応するクロック調整回路10013つと接続される。この塗りつぶし色決定ユニット10024は、塗りつぶしの色を決定して色合成情報を生成する。この塗りつぶし色決定ユニット10024は、色合成情報、画素終了情報及びスキャンライン終了情報を画素合成ユニット10025へ送出する。
画素合成ユニット10025は、塗りつぶし色決定ユニット10024から受信した情報から画素を合成して画素出力ユニット10026へ送出する。この画素合成ユニット10025の出力は、画素出力ユニット10026の入力に接続される。画素合成ユニット10025は、クロック制御部1001の対応する処理モニタ10012と接続され、画素合成ユニット10025のクロック入力は、クロック制御部1001の対応するクロック調整回路10013と接続される。
画素出力ユニット10026は、画素合成ユニット10025から受信した画素データをプリンタなどの出力制御部20014(図2)へ出力する。この画素出力ユニット10026は、クロック制御部1001の対応する処理モニタ10012と接続され、画素出力ユニット10026のクロック入力は、クロック制御部1001の対応するクロック調整回路10013と接続される。
クロック制御部1001は、上述した画像処理パイプライン1002の各画像処理ユニットの処理を、それぞれ対応する処理モニタ10012によりモニタ(観測)するとともに、各処理ユニットに対して、それぞれ対応するクロック調整回路10013から動作用のクロックを供給している。クロック制御部1001は、クロックコントロールユニット10011と、各処理ユニットに対応して、処理モニタ10012及びクロック調整回路10013を備えている。
クロックコントロールユニット10011は、各処理モニタ10012からの、各処理ユニットにおける処理の観測結果を基に、各処理ユニットに供給するクロックの調整量を決定する。即ち、各処理モニタ10012によるモニタ結果により、処理を行っていない画像処理ユニットが存在する場合には、それに供給するクロックの調整量を決定し、クロック調整回路10013を介して、その画像処理ユニットの動作クロックを変更している。クロックコントロールユニット10011は、プログラマブルに各処理モニタ10012及びクロック調整回路10013の動作を開始及び停止させることが可能である。
処理モニタ10012は、それぞれ対応する画像処理ユニットの処理動作を観測(モニタ)して、それぞれ各画像処理ユニットの処理動作を観測し、その画像処理ユニットが処理動作を実行していない場合、クロックコントロールユニット10011へその旨を通知する。この実施の形態では、処理モニタ10012は、画像処理パイプライン1002が備える画像処理ユニットと同じ数だけ存在している。
尚、各処理モニタ10012は、各ユニットと接続するバスのビジー信号を観測し、それぞれ対応する画像処理ユニットの動作を検知することも可能である。また各処理モニタ10012は、それぞれ対応する画像処理ユニットが出力するためのデータを保持しているかどうかをも検出することができる。
各クロック調整回路10013は、クロックコントロールユニット10011により決定されたクロック調整量に従い、対応する画像処理ユニットの動作クロックを変更する。ここでクロック調整回路10013は、画像処理パイプライン1002が有する画像処理ユニットの数と同じ数だけ存在している。尚、このクロック調整回路10013として、クロック分周回路、クロック逓倍回路を用いることも可能である。
図2は、本実施の形態に係るPDL処理システムを概略的に示す図である。
このシステムは、プロセッサ20011、RAM20012、ROM20013、プリンタ出力制御部20014、通信制御部20015及び上述の画像レンダリング装置20016を備えている。これら構成要素は、バス20017を介して相互に接続されている。通信制御部20015は、イーサネット(登録商標)などの回線を介してホストコンピュータ20018と接続される。
図3は、本実施の形態に係る画像レンダリング装置におけるPDL処理を説明するフローチャートである。
ステップS200において、ホストコンピュータ20018からイーサネット(登録商標)などの回線を介してPDLが通信制御部20015へ送られる。通信制御部20015は、この受信したPDLをRAM20012へ格納する。PDLは、ページ内の任意の位置の画像、図形、文字を表現する描画命令及びデータを配置する命令、データ列から構成されているため、プリンタへ出力して印刷するためには、PDLをラスタ画像へ変換する必要がある。RAM20012に格納されたPDLデータは、一度、より画像に変換しやすい中間言語である表示リストを生成するのに用いられる。
プロセッサ20011は、RAM20012に格納されたPDLを読み出し、レンダリング行う画像に必要なデータを識別すると表示リスト1003を生成する(ステップS201)。このステップS201では、PDLに含まれる周知の記述言語、グラフィック・ライブラリの呼出し、または他のアプリケーションに固有フォーマットの内、1つ又は複数で表現された記述を表示リスト1003に変換する。表示リスト1003は、通常、RAM20012に格納される。この表示リスト1003には複数の構成要素を含めることができ、これには命令ストリーム10031、エッジ情報10032及びラスタイメージデータ10033がある(ステップS202)。この表示リスト1003は、画像レンダリング装置20015によって読み取られる。この画像レンダリング装置20015は表示リスト1003をラスタ画素のストリームに変換する(S203)。そしてステップS204で、この画素ストリームを、例えばプリンタなどの別の出力装置に転送して印刷或は表示出力する。
図4は、本実施の形態1に係る画像レンダリング装置におけるクロック周波数の調整手順を説明するフローチャートである。
まずステップS101で、PDLの処理が開始されると、表示リスト1003が生成される。表示リスト1003の生成が終了すると、ステップS102で、画像レンダリング装置において画像のレンダリングが開始される。そして命令実行処理ユニット10021が表示リスト1003の読み出しを開始すると、クロックコントロールユニット10011は、ステップS103で、各処理モニタ10013の動作を開始し、各画像処理ユニットの観測(モニタ)を開始する。
次にステップS104で、各処理モニタ10013は、それぞれ対応する画像処理ユニットの観測を行い、処理を実行していないユニットがあるかどうかをクロックコントロールユニット10011へ通知する。ステップS104で、処理を実行していない処理ユニットが無いときはステップS105に進み、PDLのページの終わりかどうか、即ち、画像の最後までレンダリング処理が行われたかどうかを判定し、そうでない時はステップS104に戻って画像処理ユニットの観測を続ける。またステップS105で、画像の最後までレンダリング処理が行われていればステップS110に進み、クロックコントローラ10011は、各処理モニタ10013の動作を終了する。そしてステップS111で、画像レンダリング処理を終了してPDLデータの処理を終了する。
次に、処理を実行していない処理ユニットが検知された場合について説明する。
ステップS104で、処理モニタ10013により、処理を実行していないユニットが検出されるとステップS106に進み、そのユニットが出力待ちのデータを保持しているかどうか判断する。出力待ちのデータが保持されている場合はステップS108に進み、クロックコントロールユニット10011は、その処理ユニットの後段の処理ユニットの処理速度が遅いため処理済みのデータを出力できないと判断し、その出力待ちの処理ユニットに供給しているクロックの調整量を決定する。具体的には、その処理ユニットの現在の動作クロック周波数に最も近く、かつ現在の動作クロックの周波数もより低い周波数に決定する。そしてクロックコントロールユニット10011は、クロック調整回路10013に、その決定されたクロックの調整量を通知し、クロック調整回路10013により、そのユニットに供給するクロックの周波数を変更させる。そしてステップS105に進む。
一方ステップS106で、その処理ユニットに出力待ちのデータが保持されていない場合はステップS107に進み、前段の処理ユニットが動作中かどうか判断を行う。前段の処理ユニットが処理動作を実行していなければステップS105に進み、前述の処理を実行する。
またステップS107で、前段の画像処理ユニットが処理動作を実行している場合はステップS109に進み、クロックコントロールユニット10011は、前段の画像処理ユニットの処理速度が遅いため、この処理ユニットが処理すべきデータを受信できず、何も実行できないものと判断し、前段の処理ユニットのクロックの調整量を決定する。具体的には、前段の画像処理ユニットのクロックの周波数を、レンダリング動作開始時のクロックの周波数へ戻すように、その処理ユニットに対応するクロック調整回路10013に対してクロックの調整量を通知する。これによりクロック調整回路10013は、その処理ユニットに供給するクロックの周波数を元に戻す(上げる)ように変更する。そしてステップS105に進み、前述の処理を実行する。
以上説明したように本実施の形態1によれば、画像レンダリング装置を構成する各画像処理ユニットにおける処理の状況を観測するモニタ部、及び各処理ユニットへ供給するクロックの周波数を調整する調整回路を設け、処理が停止しているか、待ちの状態にある処理ユニットを検出し、その処理ユニット、或はその処理ユニットの前段の処理ユニットへ供給されるクロックの周波数を低下させるようにしたため、以下のような効果が得られる。
(1)後段の画像処理ユニットの動作に起因して、現処理ユニットにおける処理が停止或は待機している場合は、その停止或は待機状態にある処理ユニットに供給しているクロックの周波数を低下させる。これにより、その処理ユニットにおける消費電力を低下させることができる。尚、この場合、レンダリング処理全体の速度に影響を与える画像処理ユニットは後段の画像処理ユニットであるため、前段の処理ユニットのクロックの周波数を低下させても、全体としての画像処理速度に影響を与えない。
(2)前段の画像処理ユニットの動作に起因して、現処理ユニットにおける処理が停止或は待機状態にある場合は、前段の画像処理ユニットに供給されているクロックの周波数を元の周波数に戻す。この場合、動作開始時のクロックの周波数以上に、前段の画像処理ユニットのクロックの周波数を上げないので、全体としての消費電力が規定量を超えることはない。
(3)各処理ユニットへのクロックの供給を停止しないため、レンダリングデータの変化により、画像処理ユニットの処理状態が変化した場合に速やかに対応できる。また、画像レンダリング処理を一切止めることがない。
(4)観測モニタ及び周波数調整回路をプログラマブルに選択でき、ユーザによる細かな設定が可能である。
[実施の形態2]
図5は、本発明の実施の形態2に係る画像レンダリング装置の構成を説明するブロック図で、前述の図1と共通する部分は同じ記号で示している。
図において、クロック制御部201は、画像処理パイプライン1002の各画像処理ユニットにおける処理を観測し、各画像処理ユニットに供給するクロックを制御している。クロック制御部201は、クロックコントロールユニット211及び、各処理ユニットに対応してクロック調整回路213を備えている。
クロックコントロールユニット211は、命令実行処理ユニット10021から転送されるクロック制御命令214を基に、各クロック調整回路213に出力するクロック調整量を決定し、クロック調整回路213を介して、それぞれ対応する画像処理ユニットの動作クロックを変更する。クロック調整回路213は、クロックコントロールユニット211により決定されたクロックの調整量に従い、それぞれ対応する各画像処理ユニットの動作クロックを変更する。クロック調整回路213は、画像処理パイプライン1002が備える画像処理ユニットの数と同じ数だけ存在する。尚、このクロック調整回路213として、クロック分周回路、クロック逓倍回路を用いることも可能である。
表示リスト1003及び画像処理パイプライン1002は、前述の実施の形態1と同じで構成である。
またPDLの処理手順は、基本的には前述の実施の形態1(図3)と略同様であるが、命令実行処理ユニット10021がクロック制御命令をリードした場合には、クロックコントロールユニット211に該クロック制御命令を転送し、それ以外の命令はエッジ処理ユニット10022に転送する点が異なっている。
以下、図6のフローチャートに従って本実施の形態2に係るクロック周波数の調整手順について説明する。
図6は、本発明の実施の形態2に係る画像レンダリング装置におけるクロック周波数の調整処理を説明するフローチャートである。
PDLの処理が開始されると、まずステップS301で、PDLが読み込まれる。次にステップS302で、表示リスト1003が生成される。この表示リスト1003の生成過程、又は生成終了後に、別途作成された各命令の処理時間情報が読み込まれ、画像処理パイプライン1002の各処理ユニットのレンダリング中の負荷の遷移を解析する。この解析の結果、ボトルネックとなる処理ユニットが存在する場合には、その処理ユニットによる待ち時間、或は待機期間中、それ以外の処理ユニットに供給されるクロックの周波数を調整するためのクロック制御命令が生成される(ステップS303)。そしてステップS304で、画像レンダリング装置において画像のレンダリングが開始される。
このステップS304におけるレンダリング処理の詳細を説明する。
ステップS310で、命令実行処理ユニット10021が、表示リスト1003の読み出しを開始する。この状態で、クロックコントロールユニット211は、命令実行処理ユニット10021から転送される命令の待ち状態になる。尚、命令実行処理ユニット10021が読み出した命令列にクロック制御命令214が含まれていない場合は、このクロック制御命令214はクロックコントロールユニット211に転送されず、クロックコントロールユニット211は、各処理ユニットに対してデフォルトの周波数でクロックを供給するように制御する。
ステップS311では、命令実行処理ユニット10021は、読み込んだ命令がクロック制御命令214かどうかを調べ、そうでなければ、その命令(レンダリング命令)を後段のエッジ処理ユニット10022へ転送してレンダリング処理を実行させる(ステップS312)。
一方、ステップS311で、クロック制御命令214が含まれているとステップS313に進み、そのクロック制御命令214をクロックコントロールユニット211へ転送する。これによりクロックコントロールユニット211は、その命令実行処理ユニット10021からのクロック制御命令214に基づいて、画像処理パイプライン1002の対象となる画像処理ユニットに対するクロックの周波数を調整すべく、クロック調整回路10013に対して、その画像処理ユニットの動作クロックを変更するように指示する。こうしてステップS312或はステップS313を実行するとステップS314に進み、命令ストリーム中に残り命令がなくなったら処理を終了する。
以上説明したように本実施の形態2によれば、表示リストを生成する際、又は生成した後に、命令ストリームと画像処理ユニットの処理速度の情報とからボトルネックとなる画像処理ユニットとその期間を推定してクロック制御情報を生成することにより、レンダリング中にクロック制御情報に基いて各画像処理ユニットに供給するクロック周波数を調整できる。これにより以下のような効果が得られる。
(1)後段の画像処理ユニットの動作に起因して処理が停止或は待機している場合は、その画像処理ユニットに供給するクロックの周波数を低下させて消費電力を低下させる。この場合、レンダリング処理全体の速度に影響を与える画像処理ユニットは後段の画像処理ユニットであるため、その動作が停止或は待機状態のクロックの周波数を変更しても、画像処理全体の処理速度に影響を与えることがない。
(2)前段の画像処理ユニットの動作に起因して処理が停止或は待機している場合は、前段の画像処理ユニットに供給しているクロックの周波数を上げるか、或は動作開始時の周波数に戻す。
(3)各処理ユニットへのクロックの供給を停止しないため、レンダリングデータの変化により、画像処理ユニットの処理状態が変化した場合でも速やかに対応できる。
(4)クロック制御情報はソフトウェアによって生成可能であり、周波数の変更タイミングの修正が容易であるとともに、単純なハードウェア構成によってクロックの周波数の変更タイミング制御を実行できる。
[実施の形態3]
図7は、本発明の実施の形態3に係る画像処理装置の構成を説明するブロック図である。尚、図7は本実施の形態3に係る主要部の構成例を示したもので、それ以外の部分は省略して示している。
この画像処理装置は、5つの機能回路ブロック1〜5と、クロック制御ブロック11とを備えている。各機能回路ブロックは、接続された機能回路ブロックからコマンドを受け取るためのコマンドバッファ(6〜10)を備える。これら各コマンドバッファは、クロック制御ブロック11に、各バッファの状態を通知する制御線12〜16のそれぞれと接続されている。プロセッサ20は、これら機能回路ブロックを用いた画像処理全体の動作を制御しており、システムメモリ21は、このプロセッサ20の制御プログラムや各種データを記憶している。尚、これら各機能回路ブロックは、前述の画像処理パイプライン1002の各画像処理ユニットであっても良い。
図8は、実施の形態3に係るクロック制御ブロック11と各機能回路ブロックとの接続を説明するブロック図である。
コマンドバッファ6〜10のそれぞれは、クロック制御ブロック11の、それぞれ対応する処理量検知部(101〜105)と接続されている。これら各処理量検知部による検知結果は、クロック動作計算部111に入力される。
クロック動作計算部111は、各処理量検知部の入力から、その機能回路ブロックに供給するクロックの出力を停止/供給するように制御している。クロック動作計算部111によって、ある機能回路ブロックへのクロックの供給状態を変更する場合、各機能回路ブロックに接続されるクロック制御部106〜110にクロックの供給/停止信号が送られる。クロック制御部106〜110のそれぞれは、図8中のクロック(CLK)を生成するクロック生成回路(不図示)に接続されている。この動作をクロック制御部106の場合で説明すると、機能回路ブロック1にクロックを供給する場合は、フリップフロップ112をセットする。これによりAND回路113の一方の入力がハイレベルになり、クロックはこのAND回路113を通して機能回路ブロック1に供給される。一方、機能回路ブロック1にクロックを供給しない場合は、フリップフロップ112をリセットする。これによりAND回路113の一方の入力がロウレベルになりAND回路113の出力はロウレベルのままとなり、機能回路ブロック1にクロックが供給されなくなる。
各処理量検知部は、それぞれ対応するコマンドバッファの状態を監視しており、コマンドバッファが一杯になって詰まった状態の場合には、その詰まったコマンドバッファの直前の機能回路ブロックは、その後段の機能回路ブロックにデータが出力できず、出力処理が待ち状態になっていると考えられる。
そこで本実施の形態3では、クロック動作計算部111は、ある機能回路ブロックのコマンドバッファが詰まった状態を検出すると、その機能回路ブロックの直前に接続されている機能回路ブロックへのクロックの供給を停止する。
各コマンドバッファは、そのコマンドバッファのデータが詰まった状態なると、対応する制御線を介して、対応する処理量検知部に処理待ち状態であることを示す信号を通知する。この結果は処理量検知部を介してクロック動作計算部111に送られ、クロック動作計算部111は、その処理待ち信号を発生した機能回路ブロックの直前に接続されている機能回路ブロックを特定する。そして、その機能回路ブロックへのクロックの供給を、対応するクロック制御部を用いて停止させる。
また、コマンドバッファのデータが詰まった状態が解消されると、その機能回路ブロックのコマンドバッファから対応する処理量検知部に入力される処理待ち信号がクリアされる。これによりクロック動作計算部111は、対応するクロック制御部に指示して、そのデータが詰まった状態が解消された機能回路ブロックの直前の機能回路ブロックへのクロックの再供給を開始させる。
図9は、この実施の形態3に係るクロック動作計算部111における処理を説明するフローチャートである。
ステップS501で、処理量検知部から、対応するコマンドバッファにおける状況を入力して、その処理量検知部に対応する機能回路ブロックにおける処理量を検出する。次にステップS502で、コマンドバッファにデータが詰まっている機能回路ブロックかどうかをみる。そうであればステップS503に進み、その機能回路ブロックの前段に接続されている機能回路ブロックへのクロックの供給を停止すべく、対応するクロック制御部におけるフリップフロップをリセットする。これにより、その機能回路ブロックの前段に接続されている機能回路ブロックへのクロックの供給が停止される。そしてステップS506に進む。
一方ステップS502で、コマンドバッファにデータが詰まっている機能回路ブロックでない場合はステップS504に進み、その機能回路ブロックの状態が、コマンドバッファにデータが詰まっている状態から、そうでない状態に戻った機能回路ブロックかどうかを調べ、そうであればその機能回路ブロックの前段に接続されている機能回路ブロックへのクロックの供給を再開する。そしてステップS506では、クロック動作計算部111に接続されている全ての機能回路ブロックのコマンドバッファの状態のチェックが終了したかをみる。全ての機能回路ブロックに対するチェック処理が完了している場合は、この処理を終了するが、そうでない時はステップS501に戻り、前述の処理を実行する。
以上説明したように本発明の実施の形態3によれば、動的な処理負荷の変化に対応して省電力処理を適用する機能回路ブロックを選択することができる。クロック動作計算部111において、負荷の高い機能回路ブロックの後段の機能回路ブロックへのクロックの供給を停止させない処理を行うことにより、高負荷の機能回路ブロックのデータの出力時に出力先の機能回路ブロックのクロック供給再開にかかるオーバーヘッドを減らすことができる。
また負荷の高い機能回路ブロックの前段の機能回路ブロックへのクロックの供給を停止することにより、低負荷の機能回路ブロックの出力データの待ち時間を低減し、消費電力を低減することができる。
[実施の形態4]
次に本発明の実施の形態4に係る、システム内の負荷状況によってクロックの停止方法を変更する例について説明する。
パイプライン接続されて動作をするシステムでは、システムの負荷が高い場合、クロックの供給を停止させた機能回路ブロックに対してデータを出力する可能性が高くなることが考えられる。クロックの供給を停止した機能回路ブロックにデータを出力する場合、そのデータの出力前にクロックを供給しておく処理が必要である。
このため本実施の形態4では、システムの負荷が高い場合には、機能回路ブロックへのクロックの供給を止めない構成を考える。この実施の形態4では、システムの負荷を各機能回路ブロックのコマンドバッファ内にある未処理コマンドの数に基づいて判定する。
逆に、前述の実施の形態3のようにして、コマンドバッファが詰まった状態にあると判定された機能回路ブロックを除くシステムの負荷が低い場合、そのコマンドバッファが詰まった状態にある機能回路ブロックの処理速度は、他の機能回路ブロックと比較して低いと予想される。このような場合は、一定以上の処理を溜めてしまった、コマンドバッファが詰まった状態にある機能回路ブロックを除いて、他の機能回路ブロックへのクロックの供給を停止する。
一例として、画像処理装置の複数の機能回路ブロックのコマンドバッファの半数以上において、各コマンドバッファの容量の半分以上がデータで埋まっている場合、クロックの供給を停止しない構成について考える。
この実施の形態では、各処理量検知部に、対応する機能回路ブロックのコマンドバッファに閾値個以上のコマンドがあるかどうかを示す閾値信号、及びコマンドバッファが埋まっていることを示す処理待ち信号の2つが通知される。
この実施の形態4では、処理量検知部は、対応する機能回路ブロックのコマンドバッファの容量の半分以上のデータが詰まっていることを示すコマンドが入力されている場合、その機能回路ブロックに対応付けて閾値信号をセットするものとする。
以上の条件におけるクロック動作計算部111の動作を図10に示す。
図10は、本発明の実施の形態4に係るクロック動作計算部111における処理を説明するフローチャートである。
クロック動作計算部111は、各処理量検知部からコマンドバッファの処理待ち信号(コマンドバッファが埋まっていることを示す信号)が入力されると(ステップS401)、機能回路ブロックへのクロックの供給を停止すべきかどうかを判定する(ステップS402)。ステップS402で、クロック動作計算部111は、各処理量検知部でセットされて、各処理量検知部から入力される閾値信号の多数決論理によって画像処理装置内の負荷を判定する。この判定法によって画像処理装置の負荷が閾値以上と判断された場合はステップS404に進み、クロックの供給が停止されている機能回路ブロックがあるかどうかを調べ、あればその機能回路ブロックへのクロックの供給を開始する(ステップS405)。
ステップS402で、システムの負荷が低いと判定されるとステップS403に進み、クロック動作計算部111は、閾値信号がセットされていない機能回路ブロックへのクロックの供給を、対応するクロック制御部により停止させ、その機能回路ブロックにおける処理を停止させる。但し、処理待ち信号を出力した機能回路ブロックの直後の機能回路ブロックの動作は停止させない。そしてステップS401に進む。尚、機能回路ブロックにおいて、クロックの変更設定をコマンド実行時に受け付けないようにすることで、実行中のコマンドを終了した後で、クロックの供給を停止することも可能である。
ステップS401でコマンドバッファに詰まりがない場合、或はステップS402で、システムの負荷が閾値以上の場合はステップS404に進み、クロックの供給を停止している機能回路モジュールがあるかどうかを判定し、あればそのモジュールへのクロックの供給を開始する。これにより、その機能回路ブロックは動作可能となる。
ステップS405における他の処理方法として、全ての機能回路ブロックに対してクロック供給を再開する他、クロック供給時にも閾値判定を行い、一定値以上の機能回路ブロックのみを選択してクロックの供給を再開することも可能である。以上の処理をステップS406で、ジョブが終了するまで繰り返す。
本発明の実施の形態4によれば、負荷の重い機能回路ブロックのみを選択的に稼動させ、負荷の軽い機能回路ブロックをまとめて停止させることができる。このように高負荷処理が終了するまで低負荷処理を行う回路をまとめて停止させておくことにより、各機能回路ブロックの処理に要する時間を平均化し、同時に動作する機能回路ブロックの数を抑えて消費電力を低減できる。
また画像処理装置全体の負荷が高い場合と低い場合について、クロックの停止条件を変更することにより、同時に動作する機能回路ブロックの数を制限して消費電力を低減することができる。
また、リアルタイムで変わる各機能ブロックの負荷の計測と、実際の負荷に伴う処理の切り替えができる。
また本実施の形態によれば、クロックの供給が停止される機能回路ブロックは、後段の機能回路ブロックの動作状態に依存しない部分まで処理を行うことができる。これにより、クロックの供給が再開された後の各機能回路ブロックの待ち時間を短縮することができる。
また出力タイミングを揃えてパイプラインで同時に動作できるブロックの数を増やすことにより、有効な演算を行う機能回路ブロックの数を増大させて消費電力を低減することができる。
本実施の形態によれば、パイプライン型の処理を行うPDLの処理において、前述の実施の形態1〜4にと同様の効果が得られる。
以上のようにして消費電力を低減することにより、チップ全体の発熱量を抑制が期待できる。
[他の実施形態]
以上、本発明の実施の形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、または一つの機器からなる装置に適用しても良い。
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施の形態1に係る画像レンダリング装置の構成を説明するブロック図である。 本実施の形態に係るPDL処理システムを概略的に示す図である。 本実施の形態に係る画像レンダリング装置におけるPDL処理を説明するフローチャートである。 本実施の形態に係る画像レンダリング装置におけるクロック周波数の調整手順を説明するフローチャートである。 本発明の実施の形態2に係る画像レンダリング装置の構成を説明するブロック図である。 本発明の実施の形態2に係る画像レンダリング装置におけるクロック周波数の調整処理を説明するフローチャートである。 本発明の実施の形態3に係る画像処理装置の構成を説明するブロック図である。 本発明の実施の形態3に係るクロック制御ブロックと各機能回路ブロックとの接続を説明するブロック図である。 本発明の実施の形態3に係るクロック動作計算部における処理を説明するフローチャートである。 本発明の実施の形態4に係るクロック動作計算部における処理を説明するフローチャートである。

Claims (20)

  1. パイプライン接続された複数の画像処理ユニットと、
    前記複数の画像処理ユニットのそれぞれの動作状況を検出する検出手段と、
    前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給手段と、
    前記検出手段による検出結果に応じて、前記クロック供給手段から対応する画像処理ユニットに供給するクロック信号を制御する制御手段と、
    を有することを特徴とする画像処理装置。
  2. 前記制御手段は、前記検出手段により待機動作中或は動作が停止していると検出された画像処理ユニットに供給するクロック信号の周波数を低下させることを特徴とする請求項1に記載の画像処理装置。
  3. 前記制御手段は、前記検出手段によりデータの入力待ちであると検出された画像処理ユニットの前段に接続されている画像処理ユニットに供給するクロック信号の周波数を上げることを特徴とする請求項1に記載の画像処理装置。
  4. 前記制御手段は、前記検出手段により待機動作中或は動作が停止していると検出された画像処理ユニットへのクロック信号の供給を停止することを特徴とする請求項1に記載の画像処理装置。
  5. 前記制御手段は、前記検出手段により前記データ処理状況がオーバーフローしていると検出された画像処理ユニットの前段に接続されている画像処理ユニットへのクロック信号の供給を停止することを特徴とする請求項1に記載の画像処理装置。
  6. 前記制御手段は、前記検出手段により検出された、所定量以上の処理すべきデータを有する画像処理ユニットの数、及び、前記複数の画像処理ユニットのそれぞれの動作状況に応じて、前記クロック供給手段から対応する画像処理ユニットへのクロック信号の供給を制御することを特徴とする請求項1に記載の画像処理装置。
  7. 前記クロック信号の供給の制御は、前記クロック信号の周波数を低下させる制御であることを特徴とする請求項6に記載の画像処理装置。
  8. 前記クロック信号の供給の制御は、前記クロック信号の供給を停止させる制御であることを特徴とする請求項6に記載の画像処理装置。
  9. パイプライン接続された複数の画像処理ユニットと、
    前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給手段と、
    前記複数の画像処理ユニットで処理される画像情報に基づいて、前記クロック供給手段から対応する画像処理ユニットに供給するクロック信号を制御する制御手段と、
    を有することを特徴とする画像処理装置。
  10. パイプライン接続された複数の画像処理ユニットにより画像処理を実行する画像処理装置における画像処理方法であって、
    前記複数の画像処理ユニットのそれぞれの動作状況を検出する検出工程と、
    前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給工程と、
    前記検出工程での検出結果に応じて、前記クロック供給工程で、対応する画像処理ユニットに供給するクロック信号を制御する制御工程と、
    を有することを特徴とする画像処理方法。
  11. 前記制御工程では、前記検出工程で待機動作中或は動作が停止していると検出された画像処理ユニットに供給するクロック信号の周波数を低下させることを特徴とする請求項10に記載の画像処理方法。
  12. 前記制御工程では、前記検出工程でデータの入力待ちであると検出された画像処理ユニットの前段に接続されている画像処理ユニットに供給するクロック信号の周波数を上げることを特徴とする請求項10に記載の画像処理方法。
  13. 前記制御工程では、前記検出工程で待機動作中或は動作が停止していると検出された画像処理ユニットへのクロック信号の供給を停止することを特徴とする請求項10に記載の画像処理方法。
  14. 前記制御工程では、前記検出工程で前記データ処理状況がオーバーフローしていると検出された画像処理ユニットの前段に接続されている画像処理ユニットへのクロック信号の供給を停止することを特徴とする請求項10に記載の画像処理方法。
  15. 前記制御工程は、前記検出工程で検出された、所定量以上の処理すべきデータを有する画像処理ユニットの数、及び、前記複数の画像処理ユニットのそれぞれの動作状況に応じて、画像処理ユニットへのクロック信号の供給を制御することを特徴とする請求項10に記載の画像処理方法。
  16. 前記クロック信号の供給の制御は、前記クロック信号の周波数を低下させる制御であることを特徴とする請求項15に記載の画像処理方法。
  17. 前記クロック信号の供給の制御は、前記クロック信号の供給を停止させる制御であることを特徴とする請求項15に記載の画像処理方法。
  18. パイプライン接続された複数の画像処理ユニットにより画像処理を実行する画像処理装置における画像処理方法であって、
    前記複数の画像処理ユニットのそれぞれに動作用クロック信号を供給するクロック供給工程と、
    前記複数の画像処理ユニットで処理される画像情報に基づいて、前記クロック供給工程で、対応する画像処理ユニットに供給するクロック信号を制御する制御工程と、
    を有することを特徴とする画像処理方法。
  19. 請求項10乃至18のいずれか1項に記載の画像処理方法を実行することを特徴とするプログラム。
  20. 請求項19に記載のプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
JP2004216095A 2004-07-23 2004-07-23 画像処理装置及びその方法 Withdrawn JP2006039754A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004216095A JP2006039754A (ja) 2004-07-23 2004-07-23 画像処理装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004216095A JP2006039754A (ja) 2004-07-23 2004-07-23 画像処理装置及びその方法

Publications (1)

Publication Number Publication Date
JP2006039754A true JP2006039754A (ja) 2006-02-09

Family

ID=35904718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004216095A Withdrawn JP2006039754A (ja) 2004-07-23 2004-07-23 画像処理装置及びその方法

Country Status (1)

Country Link
JP (1) JP2006039754A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009078428A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation データストリーム処理システム、方法及びプログラム
JP2010034879A (ja) * 2008-07-29 2010-02-12 Canon Inc 情報処理装置およびその制御方法、データ処理システム
JP2010257188A (ja) * 2009-04-24 2010-11-11 Panasonic Electric Works Co Ltd 画像検査装置及び画像検査方法
JP2015072583A (ja) * 2013-10-02 2015-04-16 オリンパス株式会社 画像処理装置、画像処理方法、および撮像装置
CN109478141A (zh) * 2016-07-21 2019-03-15 超威半导体公司 控制异步管线的级的操作速度
CN115562469A (zh) * 2022-12-07 2023-01-03 深流微智能科技(深圳)有限公司 一种功耗管理方法、装置、图像处理器及存储介质
KR102663653B1 (ko) * 2016-07-21 2024-05-10 어드밴스드 마이크로 디바이시즈, 인코포레이티드 비동기 파이프라인의 스테이지의 연산 속도 제어

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009078428A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation データストリーム処理システム、方法及びプログラム
JP2010034879A (ja) * 2008-07-29 2010-02-12 Canon Inc 情報処理装置およびその制御方法、データ処理システム
JP2010257188A (ja) * 2009-04-24 2010-11-11 Panasonic Electric Works Co Ltd 画像検査装置及び画像検査方法
JP2015072583A (ja) * 2013-10-02 2015-04-16 オリンパス株式会社 画像処理装置、画像処理方法、および撮像装置
CN109478141A (zh) * 2016-07-21 2019-03-15 超威半导体公司 控制异步管线的级的操作速度
JP2021166053A (ja) * 2016-07-21 2021-10-14 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 非同期パイプラインのステージの動作速度の制御
US11842199B2 (en) 2016-07-21 2023-12-12 Advanced Micro Devices, Inc. Controlling the operating speed of stages of an asynchronous pipeline
JP7465848B2 (ja) 2016-07-21 2024-04-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 非同期パイプラインのステージの動作速度の制御
KR102663653B1 (ko) * 2016-07-21 2024-05-10 어드밴스드 마이크로 디바이시즈, 인코포레이티드 비동기 파이프라인의 스테이지의 연산 속도 제어
CN115562469A (zh) * 2022-12-07 2023-01-03 深流微智能科技(深圳)有限公司 一种功耗管理方法、装置、图像处理器及存储介质
CN115562469B (zh) * 2022-12-07 2023-03-07 深流微智能科技(深圳)有限公司 一种功耗管理方法、装置、图像处理器及存储介质

Similar Documents

Publication Publication Date Title
US9513853B2 (en) Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
JP2008167224A (ja) 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム
JP2009268082A (ja) 画像処理装置、画像出力制御システム、画像形成システムおよびプログラム
EP2528314A1 (en) Information processing apparatus and method of controlling launch thereof
JP2010117838A (ja) アプリケーションプラットフォーム、アプリケーションプラットフォームの制御方法、プログラム
JP2007156613A (ja) 描画制御装置、描画制御方法、記憶媒体およびプログラム
US8913262B2 (en) Image forming apparatus, power control method, and storage medium
JP2006039754A (ja) 画像処理装置及びその方法
US20070101330A1 (en) Data processing apparatus and method
US9772964B2 (en) Multicore processor system, computer product, assigning method, and control method
JPH0784736A (ja) 画像出力装置
WO2007055067A1 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
JP2011257906A (ja) 画像形成システム、画像形成装置、コンピュータープログラム、および省電力印刷方法
JP2003233434A (ja) 消費電力管理装置
JP2007200106A (ja) データ処理装置、制御方法、及びプログラム
JP2007152898A (ja) 印刷処理装置
JP5777670B2 (ja) 画像形成システムおよび省電力印刷方法
JP7167679B2 (ja) 画像処理装置
JP2007207121A (ja) データ処理装置及びその制御方法
JP2003044235A (ja) ホストベース印刷システムおよびその制御方法
JP2009077301A (ja) 画像処理装置およびその制御方法
JP2002211050A (ja) 画像出力方法、画像出力装置及び画像出力システム
JP2007060198A (ja) ディジタル複合機
JP2003341152A (ja) 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JP2010020415A (ja) データ処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002