説明

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

【課題】ページ記述言語(PDL)データの解析結果に応じて使用するレンダリングモジュールを使用してレンダリングを行い、それ以外のレンダリングモジュールに対してはクロックを供給しないようにすることにより、全体的な消費電力を抑える。
【解決手段】 画像処理装置において、PDLプリフェッチ部(40)により入力データのページ記述言語をプリフェッチし拡張ソフトウェアモジュール(60,61)での処理に必要な命令が入力データに含まれているかどうかを調べ、その結果を基に、クロック切替え処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置及びその方法に関するものである。
【背景技術】
【0002】
ページ記述言語で記述されたデータを入力し、それをラスタ展開して画像を生成する画像処理装置が知られており、それによれば、入力したページ記述言語のセマンティクス(意味解析)を行い、その後レンダリング処理を行うという2つの手順を実施している。このレンダリング処理を実現する代表的なアルゴリズムとして、ペインタアルゴリズム、スキャンラインアルゴリズム等がある。従来の画像処理装置では、ページ記述言語で記述された入力データのセマンティクス処理後に、そのアルゴリズムを実装したハードウェアデバイス或はソフトウェアデバイスで画像処理を行っていた。これらアルゴリズムを実行するハードウェアの構成上の大きな違いは、必要とするメモリ容量の大小であり、スキャンラインアルゴリズムは、これらアルゴリズム中で、使用するメモリ容量が少ないレンダリングアルゴリズムである。
【0003】
このようなアルゴリズムを実行するレンダリング装置では、各オブジェクトのエッジをトラッキングし、X座標のエッジのソートを行うエッジ処理、各オブジェクトの表示位置レベルを処理するレベル処理、色生成処理、イメージ処理、色合成処理等の複数の処理モジュールを備えるベーシックレンダリング処理部と呼ばれる処理部を備えており、このベーシックレンダリング処理部は、複数のモジュールで構成されており、各モジュールはパイプライン接続されて画像処理に必要な処理を逐次行っている。
【0004】
各処理モジュールの処理方法及び制御方法に関して、特許文献1には、高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法及び装置が開示されている。これによれば、ベーシックレンダリング処理部では、ページ記述言語を解析した結果に基づいて発行された命令に応じて、パイプライン処理モジュール内での各種パラメータ設定やレンダリング処理を行う。また、これら処理モジュールのいくつかを担当する複数の拡張ソフトウェアモジュールが設けられており、各拡張ソフトウェアモジュールは、その内部にCPUを備えて、ソフトウェアによりレンダリングを行う機能を提供している。
【特許文献1】特開2000−149035公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし上述した従来の画像処理装置では、使用する機能に応じて使用する処理モジュールの動作を停止させたり、実行させたりするようには構成されていないため、使用される機能に応じた低消費電力化を実現することができなかった。ページ記述言語には、入力データに応じて、使用される機能と使用されない機能とが存在する。例えば、グラフィックのみの入力データに対して、文字処理用のモジュールを動作状態にしておくのは無駄である。特に上述の拡張ソフトウェアモジュールのCPUは、その内部にキャッシュやRAM等を備えており電力を大量に消費する。しかし、従来の画像処理装置では、入力データの種類を特定して、その入力データの処理に必要な拡張ソフトウェアモジュールだけを動作させるといった機能がないため無駄に電力を消費するといった問題があった。
【0006】
本発明は上記問題点に鑑みてなされたもので、ページ記述言語データの解析結果に応じて使用するレンダリングモジュールを決定してレンダリングを行い、それ以外のレンダリングモジュールに対してはクロックを供給しないようにすることにより、全体的な消費電力を抑えるようにした画像処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行する複数の拡張ソフトウェアモジュールと、
前記解析手段による解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御手段とを有することを特徴とする。
【0008】
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析手段による解析に基づいて前記ページ記述言語データをレンダリングするレンダリング手段と、
前記解析手段による解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする。
【0009】
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
複数の拡張ソフトウェアモジュールを有し、前記解析工程での解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御工程とを有する。
【0010】
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析工程での解析に基づいて前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御工程とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、ページ記述言語データをレンダリングするのに必要なモジュールにクロック信号を供給することにより、消費電力の低減を実現することができる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
【0013】
図1は、本発明の実施の形態1に係る画像処理装置の一例を示すブロック図である。
【0014】
意味解析部1は、受信したページ記述言語データの内容を解析し、レンダリング処理部2に対して命令を発行する。この命令には、例えば、各種パラメータの設定処理や、グラフィックスデータからビットマップデータへの変換などが考えられる。レンダリング処理部2は複数のモジュールで構成されており、各モジュールはパイプライン接続され画像処理に必要な処理を逐次処理する。このパイプラインモジュールの機能としては、各オブジェクトのエッジをトラッキングし、X座標のエッジのソートを行うエッジ処理部3、各オブジェクトの表示位置レベルを処理するレベル処理部4、色生成を行う色生成処理部5、イメージデータを処理するイメージ処理部6、色合成を行う色合成部7などがある。
【0015】
出力処理部8は、レンダリング部2でレンダリングされた画像データを入力して、プリンタや表示装置などの出力装置9に出力する。
【0016】
拡張ソフトウェアモジュール60,61はそれぞれ各CPU24,27を有し、レンダリング処理部2のそれぞれ対応する処理部の機能を実現している。21〜23は拡張ソフトウェアモジュール60に設けられ、エッジ処理部3、レベル処理部4、色生成部5のそれぞれとのインターフェースを司るインターフェース部である。また同様に、25〜26は拡張ソフトウェアモジュール部61に設けられ、イメージ処理部6、色合成部7のそれぞれとのインターフェースを司るインターフェース部である。
【0017】
PDLプリフェッチ部40は、入力したページ記述言語データをプリフェッチし、拡張ソフトウェアモジュール60,61で処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。クロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張ソフトウェアモジュールのCPUにクロック(50,51)を供給する。その後、意味解析部1にクロック切り替え終了信号52を送信する。
【0018】
意味解析部1は、クロック制御部41から、このクロック切り替え終了信号52を受信すると、レンダリング処理部2に対して各種パラメータの設定命令、グラフィック処理命令を供給する。これによりレンダリング処理が開始される。またレンダリング処理が終了すると、レンダリング処理終了信号53が出力処理部8からクロック制御部41へ供給される。このレンダリング終了信号53を受信したクロック制御部41は、次の画像処理が開始されるまで、全ての拡張ソフトウェアモジュールのCPU24,27へのクロックの供給を停止する。
【0019】
図2は、本発明の実施の形態1に係る画像処理装置の処理を説明するフローチャートである。
【0020】
まずステップS101で、意味解析部1の言語解析ブロックにより、入力したページ記述言語データの言語解析を行う。次にステップS102で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップS102を実行する。こうしてクロックの切替えが終了するとステップS103に進み、入力したページ記述言語を、ステップS101の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップS104で、ステップS103で生成した命令が、拡張ハードウェアモジュールで処理可能か否かが判断され、拡張ハードウェアモジュールで処理可能な場合はステップS105で処理される。また拡張ハードウェアモジュールで処理できないと判断された場合はステップS106で、拡張ソフトウェアモジュールで処理される。こうしてステップS105或はS106を実行した後ステップS107に進み、データの出力処理を行う。そしてステップS108で、拡張モジュールへのクロックの供給を停止する。
【0021】
また前述のステップS101の言語解析処理と並行して、ステップS112で、PDLプリフェッチ部40により、入力したページ記述言語をフェッチし、ステップS113で、拡張ソフトウェアモジュール60,61での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。こうしてクロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張ソフトウェアモジュールのCPUにクロック(50,51)を供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップS102で判定されて前述の処理が実行される。
【0022】
図3は、実施の形態1に係るクロックの切替え処理の詳細を説明するフローチャートである。
【0023】
まずステップS121で、入力データの有無を判断し、入力データがある場合はステップS122で、入力データのプリフェッチ処理を行う。そしてステップS123で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップS124で、その検索結果に基づいて、拡張ソフトウェアモジュールで処理すべき機能があるか否かを調べ、拡張ソフトウェアモジュールで処理する必要がない場合はステップS126で、クロック切り替え処理終了信号を出力する。一方、拡張ソフトウェアモジュールで処理する必要がある場合はステップS125で、該当する拡張ソフトウェアモジュールのCPUにクロックを供給し、ステップS126で、クロック切り替え処理終了信号を出力する。
【0024】
またステップS121で、入力データが無いと判定されるとステップS127に進み、レンダリング処理終了信号の有無を判定し、レンダリング処理終了信号がある場合はステップS128で、全ての拡張ソフトウェアモジュールのCPUへのクロックの供給を停止する。
【0025】
図4は、本発明の実施の形態1に係る画像処理装置のベーシックレンダリング処理部2と拡張ソフトウェアモジュールのモジュール構成例を説明する図である。
【0026】
図において、例えばベーシックレンダリングモジュールのエッジ処理部と接続している拡張ソフトウェアモジュールNo1は、「Bitmap Font」(ビットマップフォント),「FastBitmapEncoding」(高速ビットマップ符号化),「Bezier」(ベジェ),「DirectSorting」(直接ソーティング)を処理可能であることが分かる。また拡張ソフトウェアモジュールに割り当てられた番号(No)とは、各ソフトウェアモジュールに割り振られた番号を示している。
【0027】
本実施の形態1に係る画像処理装置に入力されるデータは、ページ記述言語で記述されたデータであり、この実施の形態では、ページ記述言語として代表的な言語であるポストスクリプト(PostScript)使用時のベジェ曲線処理の場合で説明する。以下、ベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述例を説明する。
【0028】
ベジェ曲線は、曲線の描画に使用される制御方法の一つであり、ポストスクリプトは4点から制御されるベジェ曲線をサポートしている。4点から制御されるベジェ曲線とは、点Aから始まり、B,Cに制御され、D点で終端する曲線である。4点A,B,C,Dを制御点とするベジェ曲線は、次の式で生成される。尚,A,B,C,Dは位置ベクトルで、tは[0..1]のスカラーであるtを媒介変数とする3次式となっている。
【0029】
r(t)=A・(1-t)3+3B・t・(1-t)2+3C・t2・(1-t)+D・t3
この式から、t=0のときr(t)=A、t=1のときr(t)=Dとなり、tが0から1に変化するに連れてr(t)の値は、A>B>C>Dの順に変化する。ベジェ曲線の性質として以下の性質が挙げられる。
【0030】
1.ベジェ曲線は、4点が凸多角形の場合、その中に入る。
【0031】
2.直線A−B,C−Dは、曲線の開始点と終端点で曲線の接線になる。
【0032】
3.線分A−B,B−C,C−Dの各中点をP,Q,Rとする。線分P−Q,Q−Rの中点をそれzれおS,T,線分S−tの中点をWとすると、Wはt=1/2のベジェ曲線の点となる。一般に、各線分をm:nの比で分割した点Wは、ベジェ曲線の点となる。
【0033】
図5は、制御点が4点のベジェ曲線の中点W(t=1/2)を視覚的に表した図で、上記ベジェ曲線の公式における制御点A(38,120),B(54,136),C(82,143),D(104,134)とした時のベジェ曲線を示している。
【0034】
図6は、このベジェ曲線を記述するポストスクリプトの命令を示す図である。
【0035】
図6の3行目の「38 120 moveto」は、カレント座標を制御点Aとして(38,120)に移動することを意味し、4行目の「54 136 82 143 104 134 curveto」は、制御点B(54,136)、制御点C(82,143)、制御点D(104,134)を設定してベジェ曲線を描画するよう指示している。以上がベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述方法である。
【0036】
この例から明らかなように、ベジェ曲線を表すオペレータ「curveto」がポストスクリプトに含まれていれば、他の条件を考えずにベジェ曲線の描画であると判断できることが分かる。
【0037】
そこでPDLプリフェッチ部40は、指定されたメインメモリのアドレスからPDLデータをフェッチしてページ記述言語データの意味を解析する。ここで「curveto」とマッチするオペレータが含まれていると、対象データにベジェ曲線が含まれていると判断し、その判定結果をクロック制御部41に送信する。これによりクロック制御部41は、図4に示すテーブルを参照して、ベジェ曲線に対応する拡張ソフトウェアモジュールが拡張ソフトウェアモジュールNo1であることを認識する。そして、拡張ソフトウェアモジュールNo1にクロック50を供給し、クロック供給終了信号52を意味解析部1に送信する。
【0038】
また意味解析部1は、入力されたページ記述言語データを解釈し、ベーシックレンダリング処理部2に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定等も含まれている。更に意味解析部1は、クロック制御部41からのクロック切り替え終了信号がアサートされた後、生成した命令をベーシックレンダリング処理部2に対して出力する。ここで生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。また生成した命令がレンダリング処理に関する場合には、ベーシックレンダリング処理部2内の各パイプラインモジュールで処理が実施される(ステップS105)。更にまた、その生成されたレンダリング命令が各パイプラインモジュールで処理できない場合には拡張ソフトウェアモジュールに対して命令を発行する(ステップS106)。これにより各拡張ソフトウェアモジュールでは、その受信したレンダリング命令をデコードし、レンダリング命令をソフトウェア処理する。
【0039】
ここでエッジ処理部3に入力された命令がベジェ曲線処理だった場合は、エッジ処理部3は、拡張ソフトウェアモジュールに対して命令を供給する(S125)。本実施の形態では、拡張ソフトウェアモジュールNo1がベジェ曲線処理を行うモジュールであるため(図4)、拡張ソフトウェアモジュールNo1は受信命令をデコードし、データがベジェに関する命令であると判断すると、それに対してソフトウェア処理を行う。
【0040】
このとき、パイプラインモジュールに接続された他の拡張ソフトウェアモジュールの内、入力データ処理に関係のない拡張ソフトウェアモジュールではクロックが供給されていないため動作が実行されない。また意味解析部1が生成した命令が出力処理に関する命令である場合には、出力処理部8に蓄えられたデータを出力装置9に出力することにより、印刷処理もしくは画面出力が行われる。また同時に、出力処理部8はレンダリング処理終了信号53をクロック制御部41へ供給する。これによりクロック制御部41は、レンダリング処理の終了信号53を受信した後、全ての拡張ソフトウェアモジュールのCPUへのクロックの供給を停止する(ステップS108)。
【0041】
[実施の形態2]
図7は、本発明の実施の形態2に係る画像処理装置の構成を説明するブロック図で、前述の図1と共通する部分は同じ記号で示し、それらの説明を省略する。
【0042】
図において、拡張レンダリングモジュール部11は、拡張ハードウェアモジュール部12,13,14,15,16,17,18,19と、拡張ソフトウェアモジュール部20とを備えている。
【0043】
PDLプリフェッチ部40は、入力したページ記述言語データのプリフェッチを行い、拡張レンダリングモジュール部11で処理が必要な命令が入力データに含まれているか検索し、その検索結果をクロック制御部41に供給する。クロック制御部41は、この検索結果を基に、拡張レンダリングモジュール部11内の該当するブロックにクロックを供給し、その後、意味解析部1にクロック切り替え終了信号を送信する。意味解析部1では、このクロック制御部41からのクロック切り替え終了信号を受信すると、レンダリング処理部2に対して各種パラメータの設定命令、グラフィック処理命令を送信して処理を開始する。
【0044】
尚、拡張ハードウェアモジュール部のそれぞれを説明すると、12はビットマップフォントモジュール、13はベジェ処理モジュール、14はブロックレンダリングモジュール、15はビットマップモジュール、16はリニアランプモジュール、17はJPEGモジュール、18はJBIGモジュール、19はPDFモジュールである。
【0045】
またこの実施の形態2では、拡張ソフトウェアモジュール部20は一つのモジュールで構成されており、21〜26のそれぞれは、エッジ処理部3、レベル処理部4、色生成部5、イメージ処理部6、色合成部7のそれぞれとのインターフェースを制御するインターフェース部である。CPU24は、この拡張ソフトウェアモジュール部20の処理を制御している。
【0046】
図8は、本発明の実施の形態2に係る画像処理装置の処理を説明するフローチャートである。
【0047】
まずステップS131で、意味解析部1の言語解析ブロックにより、入力したページ記述言語を言語解析する。次にステップS132で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップS132を実行する。こうしてクロックの切替えが終了するとステップS133に進み、入力したページ記述言語を、ステップS131の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップS134で、ステップS133で生成した命令が、パイプラインモジュールで処理可能か判断され、処理可能な場合はステップS135で処理される。またパイプラインモジュールで処理できないと判断された場合はステップS137に進み、拡張ハードウェアモジュール12〜19で処理可能かどうかを判定する。処理可能であればステップS138に進み、対応する拡張ハードウェアモジュールによる処理を行う。一方、ステップS137で処理できないと判定されるとステップS139に進み、拡張ソフトウェアモジュールによる処理を実行する。こうしてステップS135、ステップS138或はS139を実行した後ステップS136に進み、データの出力処理を行う。
【0048】
また前述のステップS131の言語解析処理と並行して、ステップS141で、PDLプリフェッチ部40により、入力したページ記述言語をフェッチし、ステップS142で、拡張レンダリングモジュール11での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部41に送信する。こうしてクロック制御部41は、PDLプリフェッチ部40からの結果を基に、処理が必要な拡張レンダリングモジュール11のCPU24にクロックを供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップS132で判定されて前述の処理が実行される。
【0049】
図9は、実施の形態2に係るクロックの切替え処理の詳細を説明するフローチャートである。
【0050】
まずステップS151で、入力データのプリフェッチ処理を行う。そしてステップS152で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップS153で、その検索結果に基づいて、拡張レンダリングモジュール11で処理すべき機能があるか否かを調べ、拡張レンダリングモジュール11で処理する必要がない場合は、処理終了信号を出力して処理を終了する。
【0051】
一方ステップS153で、拡張レンダリングモジュール11で処理する必要がある場合はステップS154に進み、該当する拡張ハードウェアモジュールがあるかどうかを調べ、あればステップS155で、その拡張ハードウェアモジュールにクロックを供給して処理を終了する。またステップS154で、拡張ハードウェアモジュールで処理する必要がないと判定するとステップS156で、拡張ソフトウェアモジュールの該当するインターフェースにクロックを供給する。
【0052】
図10は、本実施の形態2に係る画像処理装置のベーシックレンダリング処理部と拡張レンダリング処理部のモジュール構成を説明する図である。
【0053】
図において、例えばレンダリング処理部2のエッジ処理部3と接続している拡張レンダリングモジュールは、「BitmapFont」,「FastBitmapEncoding」,「Bezier」,「DiretSorting」であり、「BitmapFont」は拡張ハードウェアモジュールNo1、「FastBitmapEncoding」は拡張ソフトウェアモジュールインターフェースNo1、「Bezier」は拡張ハードウェアモジュールNo2、「DiretSorting」は、拡張ソフトウェアモジュールインターフェースNo1で処理することが分かる。尚、これら拡張レンダリングモジュールに割り当てられたNoは、各モジュールに割り振られた番号である。
【0054】
本実施の形態2に係る画像処理装置に入力されるデータは、前述の実施の形態1と同様に、ページ記述言語で記述されたデータであり、ページ記述言語として代表的な言語であるポストスクリプト使用時のベジェ曲線処理は、前述の実施の形態1の場合と同様にして実行される。
【0055】
具体的には、PDLプリフェッチ部40は、指定されたメインメモリのアドレスからPDLデータをフェッチし、ページ記述言語の意味を解析し、「curveto」(図6)とマッチしたオペレータが存在する場合、その入力データにベジェ曲線が含まれていると判断し、その判断結果をクロック制御部41に送信する。クロック制御部41は、図10から、ベジェ曲線に対応する拡張レンダリングモジュールは拡張ハードウェアモジュールNo2であることが判明するので、拡張ハードウェアモジュールNo2にクロックを供給し、クロック供給終了信号を意味解析部1に送信する。
【0056】
意味解析部1は、この入力されたページ記述言語を解釈し、ベーシックレンダリング処理部2に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定などもある。クロック制御部41からのクロック切り替え終了信号がアサートされた後、生成した命令をレンダリング処理部2に対して出力する。この生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。
【0057】
一方、生成した命令が、パイプラインモジュールで処理可能なレンダリング処理に関する場合には、レンダリング処理部2内の各パイプラインモジュールで処理が実施される(ステップS135)。また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、拡張ハードウェアモジュールで処理可能な場合には(ステップS137)、パイプラインモジュールに接続している拡張ハードウェアモジュール全てに対して命令をブロードキャストする。こうして各拡張ハードウェアモジュールでは、受信したレンダリング命令をデコードし、自モジュールが処理する必要があるか判断し、自モジュールが処理する必要があると判断した場合は処理を行う(ステップS138)。
【0058】
また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、かつ拡張ハードウェアモジュールでも処理できない場合は、パイプラインモジュールに接続している拡張ソフトウェアモジュールインターフェースに対してレンダリング命令を供給する。これにより拡張ソフトウェアモジュールは、インターフェース21〜26に入力されたレンダリング命令を、CPU24を用いてソフトウェア処理する(ステップS139)。
【0059】
例えば、エッジ処理部3に入力された命令がベジェ曲線処理だった場合は、エッジ処理部3は、拡張ハードウェアモジュールに対して命令のブロードキャストを行う。本実施の形態2では、拡張ハードウェアモジュールNo2がベジェ曲線処理を行うモジュールである。このため拡張ハードウェアモジュールNo2が、その受信した命令をデコードし、データがベジェに関する命令である場合のベジェ処理を行う。この場合、エッジ処理部3に接続された他の拡張ハードウェアモジュールは、入力データ処理に関係のない場合はクロックが供給されていないため、動作が行われていない。またクロックが供給されている他拡張ハードウェアモジュールが存在する場合でも、受信命令をデコードして、その命令が自モジュールで処理する必要がないと判断した場合は処理を行わない。
【0060】
また意味解析部1が生成した命令が出力処理である場合は、出力処理部8に蓄えられたデータを出力装置9に対して出力し、印刷処理もしくは画面出力が行われる。
【0061】
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0062】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0063】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【0064】
【図1】本発明の実施の形態1に係る画像処理装置の一例を示すブロック図である。
【図2】本発明の実施の形態1に係る画像処理装置の処理を説明するフローチャートである。
【図3】実施の形態1に係るクロックの切替え処理の詳細を説明するフローチャートである。
【図4】本実施の形態1に係る画像処理装置のベーシックレンダリング処理部2と拡張ソフトウェアモジュールのモジュール構成例を説明する図である。
【図5】制御点が4点のベジェ曲線の中点W(t=1/2)を視覚的に表した図である。
【図6】ベジェ曲線を記述するポストスクリプトの命令を説明する図である。
【図7】本発明の実施の形態2に係る画像処理装置の構成を説明するブロック図である。
【図8】本発明の実施の形態2に係る画像処理装置の処理を説明するフローチャートである。
【図9】実施の形態2に係るクロックの切替え処理の詳細を説明するフローチャートである。
【図10】本実施の形態2に係る画像処理装置のベーシックレンダリング処理部と拡張レンダリング処理部のモジュール構成を説明する図である。

【特許請求の範囲】
【請求項1】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行する複数の拡張ソフトウェアモジュールと、
前記解析手段による解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする画像処理装置。
【請求項2】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析手段による解析に基づいて前記ページ記述言語データをレンダリングするレンダリング手段と、
前記解析手段による解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする画像処理装置。
【請求項3】
前記拡張モジュールは、拡張ハードウェアモジュール或は拡張ソフトウェアモジュールを含むことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記レンダリング手段は、少なくともエッジ処理部、レベル処理部、色生成処理部、色合成処理部、イメージデータ処理部をパイプライン接続して構成されていることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記複数の拡張ソフトウェアモジュールのそれぞれは、前記レンダリング手段とのインターフェース、及びCPUと、当該CPUにより実行されるソフトウェアとを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記レンダリング手段は、所定のページ記述言語データを対応する拡張ソフトウェアモジュールに供給してレンダリング処理を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
複数の拡張ソフトウェアモジュールを有し、前記解析工程での解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御工程と、
を有することを特徴とする画像処理方法。
【請求項8】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析工程での解析に基づいて前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御工程と、
を有することを特徴とする画像処理方法。
【請求項9】
前記拡張モジュールは、拡張ハードウェアモジュール或は拡張ソフトウェアモジュールを含むことを特徴とする請求項8に記載の画像処理方法。
【請求項10】
前記レンダリング工程は、少なくともエッジ処理、レベル処理、色生成処理、色合成処理、イメージデータ処理を並行して実行可能であることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理方法。
【請求項11】
前記複数の拡張ソフトウェアモジュールのそれぞれはCPUと、当該CPUにより実行されるソフトウェアとを含むことを特徴とする請求項7に記載の画像処理方法。
【請求項12】
前記レンダリング工程は、所定のページ記述言語データを対応する拡張ソフトウェアモジュールに供給してレンダリング処理を行うことを特徴とする請求項7に記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−113672(P2006−113672A)
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願番号】特願2004−297861(P2004−297861)
【出願日】平成16年10月12日(2004.10.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】