(57)【要約】      （修正有）【課題】ページ記述言語（ＰＤＬ）データの解析結果に応じて使用するレンダリングモジュールを使用してレンダリングを行い、それ以外のレンダリングモジュールに対してはクロックを供給しないようにすることにより、全体的な消費電力を抑える。【解決手段】  画像処理装置において、ＰＤＬプリフェッチ部（４０）により入力データのページ記述言語をプリフェッチし拡張ソフトウェアモジュール（６０，６１）での処理に必要な命令が入力データに含まれているかどうかを調べ、その結果を基に、クロック切替え処理を実行する。【選択図】  図１
2006113672.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行する複数の拡張ソフトウェアモジュールと、
前記解析手段による解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析手段による解析に基づいて前記ページ記述言語データをレンダリングするレンダリング手段と、
前記解析手段による解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする画像処理装置。
【請求項３】
前記拡張モジュールは、拡張ハードウェアモジュール或は拡張ソフトウェアモジュールを含むことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記レンダリング手段は、少なくともエッジ処理部、レベル処理部、色生成処理部、色合成処理部、イメージデータ処理部をパイプライン接続して構成されていることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記複数の拡張ソフトウェアモジュールのそれぞれは、前記レンダリング手段とのインターフェース、及びＣＰＵと、当該ＣＰＵにより実行されるソフトウェアとを含むことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記レンダリング手段は、所定のページ記述言語データを対応する拡張ソフトウェアモジュールに供給してレンダリング処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
複数の拡張ソフトウェアモジュールを有し、前記解析工程での解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御工程と、
を有することを特徴とする画像処理方法。
【請求項８】
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析工程での解析に基づいて前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御工程と、
を有することを特徴とする画像処理方法。
【請求項９】
前記拡張モジュールは、拡張ハードウェアモジュール或は拡張ソフトウェアモジュールを含むことを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記レンダリング工程は、少なくともエッジ処理、レベル処理、色生成処理、色合成処理、イメージデータ処理を並行して実行可能であることを特徴とする請求項７乃至９のいずれか１項に記載の画像処理方法。
【請求項１１】
前記複数の拡張ソフトウェアモジュールのそれぞれはＣＰＵと、当該ＣＰＵにより実行されるソフトウェアとを含むことを特徴とする請求項７に記載の画像処理方法。
【請求項１２】
前記レンダリング工程は、所定のページ記述言語データを対応する拡張ソフトウェアモジュールに供給してレンダリング処理を行うことを特徴とする請求項７に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置及びその方法に関するものである。
【背景技術】
【０００２】
ページ記述言語で記述されたデータを入力し、それをラスタ展開して画像を生成する画像処理装置が知られており、それによれば、入力したページ記述言語のセマンティクス（意味解析）を行い、その後レンダリング処理を行うという２つの手順を実施している。このレンダリング処理を実現する代表的なアルゴリズムとして、ペインタアルゴリズム、スキャンラインアルゴリズム等がある。従来の画像処理装置では、ページ記述言語で記述された入力データのセマンティクス処理後に、そのアルゴリズムを実装したハードウェアデバイス或はソフトウェアデバイスで画像処理を行っていた。これらアルゴリズムを実行するハードウェアの構成上の大きな違いは、必要とするメモリ容量の大小であり、スキャンラインアルゴリズムは、これらアルゴリズム中で、使用するメモリ容量が少ないレンダリングアルゴリズムである。
【０００３】
このようなアルゴリズムを実行するレンダリング装置では、各オブジェクトのエッジをトラッキングし、Ｘ座標のエッジのソートを行うエッジ処理、各オブジェクトの表示位置レベルを処理するレベル処理、色生成処理、イメージ処理、色合成処理等の複数の処理モジュールを備えるベーシックレンダリング処理部と呼ばれる処理部を備えており、このベーシックレンダリング処理部は、複数のモジュールで構成されており、各モジュールはパイプライン接続されて画像処理に必要な処理を逐次行っている。
【０００４】
各処理モジュールの処理方法及び制御方法に関して、特許文献１には、高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法及び装置が開示されている。これによれば、ベーシックレンダリング処理部では、ページ記述言語を解析した結果に基づいて発行された命令に応じて、パイプライン処理モジュール内での各種パラメータ設定やレンダリング処理を行う。また、これら処理モジュールのいくつかを担当する複数の拡張ソフトウェアモジュールが設けられており、各拡張ソフトウェアモジュールは、その内部にＣＰＵを備えて、ソフトウェアによりレンダリングを行う機能を提供している。
【特許文献１】特開２０００−１４９０３５公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし上述した従来の画像処理装置では、使用する機能に応じて使用する処理モジュールの動作を停止させたり、実行させたりするようには構成されていないため、使用される機能に応じた低消費電力化を実現することができなかった。ページ記述言語には、入力データに応じて、使用される機能と使用されない機能とが存在する。例えば、グラフィックのみの入力データに対して、文字処理用のモジュールを動作状態にしておくのは無駄である。特に上述の拡張ソフトウェアモジュールのＣＰＵは、その内部にキャッシュやＲＡＭ等を備えており電力を大量に消費する。しかし、従来の画像処理装置では、入力データの種類を特定して、その入力データの処理に必要な拡張ソフトウェアモジュールだけを動作させるといった機能がないため無駄に電力を消費するといった問題があった。
【０００６】
本発明は上記問題点に鑑みてなされたもので、ページ記述言語データの解析結果に応じて使用するレンダリングモジュールを決定してレンダリングを行い、それ以外のレンダリングモジュールに対してはクロックを供給しないようにすることにより、全体的な消費電力を抑えるようにした画像処理装置及びその方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
前記解析手段による解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリング機能の一部を実行する複数の拡張ソフトウェアモジュールと、
前記解析手段による解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御手段とを有することを特徴とする。
【０００８】
本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理装置であって、
入力されたページ記述言語データを解析する解析手段と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析手段による解析に基づいて前記ページ記述言語データをレンダリングするレンダリング手段と、
前記解析手段による解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御手段と、
を有することを特徴とする。
【０００９】
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
複数の拡張ソフトウェアモジュールを有し、前記解析工程での解析に基づいて、前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張ソフトウェアモジュールの内の対応する後の拡張ソフトウェアモジュールにクロック信号を供給する制御工程とを有する。
【００１０】
本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
ページ記述言語データを入力し、イメージデータを生成して出力する画像処理方法であって、
入力されたページ記述言語データを解析する解析工程と、
機能単位にモジュール化された複数の拡張モジュールを有し、前記解析工程での解析に基づいて前記ページ記述言語データをレンダリングするレンダリング工程と、
前記解析工程での解析結果に基づいて、前記複数の拡張モジュールの内の対応するモジュールにクロック信号を供給する制御工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ページ記述言語データをレンダリングするのに必要なモジュールにクロック信号を供給することにより、消費電力の低減を実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
【００１３】
図１は、本発明の実施の形態１に係る画像処理装置の一例を示すブロック図である。
【００１４】
意味解析部１は、受信したページ記述言語データの内容を解析し、レンダリング処理部２に対して命令を発行する。この命令には、例えば、各種パラメータの設定処理や、グラフィックスデータからビットマップデータへの変換などが考えられる。レンダリング処理部２は複数のモジュールで構成されており、各モジュールはパイプライン接続され画像処理に必要な処理を逐次処理する。このパイプラインモジュールの機能としては、各オブジェクトのエッジをトラッキングし、Ｘ座標のエッジのソートを行うエッジ処理部３、各オブジェクトの表示位置レベルを処理するレベル処理部４、色生成を行う色生成処理部５、イメージデータを処理するイメージ処理部６、色合成を行う色合成部７などがある。
【００１５】
出力処理部８は、レンダリング部２でレンダリングされた画像データを入力して、プリンタや表示装置などの出力装置９に出力する。
【００１６】
拡張ソフトウェアモジュール６０，６１はそれぞれ各ＣＰＵ２４，２７を有し、レンダリング処理部２のそれぞれ対応する処理部の機能を実現している。２１〜２３は拡張ソフトウェアモジュール６０に設けられ、エッジ処理部３、レベル処理部４、色生成部５のそれぞれとのインターフェースを司るインターフェース部である。また同様に、２５〜２６は拡張ソフトウェアモジュール部６１に設けられ、イメージ処理部６、色合成部７のそれぞれとのインターフェースを司るインターフェース部である。
【００１７】
ＰＤＬプリフェッチ部４０は、入力したページ記述言語データをプリフェッチし、拡張ソフトウェアモジュール６０，６１で処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部４１に送信する。クロック制御部４１は、ＰＤＬプリフェッチ部４０からの結果を基に、処理が必要な拡張ソフトウェアモジュールのＣＰＵにクロック（５０，５１）を供給する。その後、意味解析部１にクロック切り替え終了信号５２を送信する。
【００１８】
意味解析部１は、クロック制御部４１から、このクロック切り替え終了信号５２を受信すると、レンダリング処理部２に対して各種パラメータの設定命令、グラフィック処理命令を供給する。これによりレンダリング処理が開始される。またレンダリング処理が終了すると、レンダリング処理終了信号５３が出力処理部８からクロック制御部４１へ供給される。このレンダリング終了信号５３を受信したクロック制御部４１は、次の画像処理が開始されるまで、全ての拡張ソフトウェアモジュールのＣＰＵ２４，２７へのクロックの供給を停止する。
【００１９】
図２は、本発明の実施の形態１に係る画像処理装置の処理を説明するフローチャートである。
【００２０】
まずステップＳ１０１で、意味解析部１の言語解析ブロックにより、入力したページ記述言語データの言語解析を行う。次にステップＳ１０２で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップＳ１０２を実行する。こうしてクロックの切替えが終了するとステップＳ１０３に進み、入力したページ記述言語を、ステップＳ１０１の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップＳ１０４で、ステップＳ１０３で生成した命令が、拡張ハードウェアモジュールで処理可能か否かが判断され、拡張ハードウェアモジュールで処理可能な場合はステップＳ１０５で処理される。また拡張ハードウェアモジュールで処理できないと判断された場合はステップＳ１０６で、拡張ソフトウェアモジュールで処理される。こうしてステップＳ１０５或はＳ１０６を実行した後ステップＳ１０７に進み、データの出力処理を行う。そしてステップＳ１０８で、拡張モジュールへのクロックの供給を停止する。
【００２１】
また前述のステップＳ１０１の言語解析処理と並行して、ステップＳ１１２で、ＰＤＬプリフェッチ部４０により、入力したページ記述言語をフェッチし、ステップＳ１１３で、拡張ソフトウェアモジュール６０，６１での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部４１に送信する。こうしてクロック制御部４１は、ＰＤＬプリフェッチ部４０からの結果を基に、処理が必要な拡張ソフトウェアモジュールのＣＰＵにクロック（５０，５１）を供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップＳ１０２で判定されて前述の処理が実行される。
【００２２】
図３は、実施の形態１に係るクロックの切替え処理の詳細を説明するフローチャートである。
【００２３】
まずステップＳ１２１で、入力データの有無を判断し、入力データがある場合はステップＳ１２２で、入力データのプリフェッチ処理を行う。そしてステップＳ１２３で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップＳ１２４で、その検索結果に基づいて、拡張ソフトウェアモジュールで処理すべき機能があるか否かを調べ、拡張ソフトウェアモジュールで処理する必要がない場合はステップＳ１２６で、クロック切り替え処理終了信号を出力する。一方、拡張ソフトウェアモジュールで処理する必要がある場合はステップＳ１２５で、該当する拡張ソフトウェアモジュールのＣＰＵにクロックを供給し、ステップＳ１２６で、クロック切り替え処理終了信号を出力する。
【００２４】
またステップＳ１２１で、入力データが無いと判定されるとステップＳ１２７に進み、レンダリング処理終了信号の有無を判定し、レンダリング処理終了信号がある場合はステップＳ１２８で、全ての拡張ソフトウェアモジュールのＣＰＵへのクロックの供給を停止する。
【００２５】
図４は、本発明の実施の形態１に係る画像処理装置のベーシックレンダリング処理部２と拡張ソフトウェアモジュールのモジュール構成例を説明する図である。
【００２６】
図において、例えばベーシックレンダリングモジュールのエッジ処理部と接続している拡張ソフトウェアモジュールＮｏ１は、「Bitmap Font」（ビットマップフォント），「FastBitmapEncoding」（高速ビットマップ符号化），「Bezier」（ベジェ），「DirectSorting」（直接ソーティング）を処理可能であることが分かる。また拡張ソフトウェアモジュールに割り当てられた番号（Ｎｏ）とは、各ソフトウェアモジュールに割り振られた番号を示している。
【００２７】
本実施の形態１に係る画像処理装置に入力されるデータは、ページ記述言語で記述されたデータであり、この実施の形態では、ページ記述言語として代表的な言語であるポストスクリプト（PostScript）使用時のベジェ曲線処理の場合で説明する。以下、ベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述例を説明する。
【００２８】
ベジェ曲線は、曲線の描画に使用される制御方法の一つであり、ポストスクリプトは４点から制御されるベジェ曲線をサポートしている。４点から制御されるベジェ曲線とは、点Ａから始まり、Ｂ，Ｃに制御され、Ｄ点で終端する曲線である。４点Ａ，Ｂ，Ｃ，Ｄを制御点とするベジェ曲線は、次の式で生成される。尚，Ａ，Ｂ，Ｃ，Ｄは位置ベクトルで、ｔは[０．．１]のスカラーであるｔを媒介変数とする３次式となっている。
【００２９】
ｒ(t)＝Ａ・(1-t)3＋３Ｂ・ｔ・(1-t)2＋３Ｃ・t2・(1-t)＋Ｄ・t3
この式から、ｔ＝０のときｒ(t)＝Ａ、ｔ＝１のときｒ(t)＝Ｄとなり、ｔが０から１に変化するに連れてｒ(t)の値は、Ａ＞Ｂ＞Ｃ＞Ｄの順に変化する。ベジェ曲線の性質として以下の性質が挙げられる。
【００３０】
１．ベジェ曲線は、４点が凸多角形の場合、その中に入る。
【００３１】
２．直線Ａ−Ｂ，Ｃ−Ｄは、曲線の開始点と終端点で曲線の接線になる。
【００３２】
３．線分Ａ−Ｂ，Ｂ−Ｃ，Ｃ−Ｄの各中点をＰ，Ｑ，Ｒとする。線分Ｐ−Ｑ，Ｑ−Ｒの中点をそれｚれおＳ，Ｔ，線分Ｓ−ｔの中点をＷとすると、Ｗはｔ＝１／２のベジェ曲線の点となる。一般に、各線分をｍ：ｎの比で分割した点Ｗは、ベジェ曲線の点となる。
【００３３】
図５は、制御点が４点のベジェ曲線の中点Ｗ（ｔ＝１／２）を視覚的に表した図で、上記ベジェ曲線の公式における制御点Ａ（３８，１２０），Ｂ（５４，１３６），Ｃ（８２，１４３），Ｄ（１０４，１３４）とした時のベジェ曲線を示している。
【００３４】
図６は、このベジェ曲線を記述するポストスクリプトの命令を示す図である。
【００３５】
図６の３行目の「38 120 moveto」は、カレント座標を制御点Ａとして（３８，１２０）に移動することを意味し、４行目の「54 136 82 143 104 134 curveto」は、制御点Ｂ（５４，１３６）、制御点Ｃ（８２，１４３）、制御点Ｄ（１０４，１３４）を設定してベジェ曲線を描画するよう指示している。以上がベジェ曲線の一般的な説明と、ポストスクリプトにおけるベジェ曲線の記述方法である。
【００３６】
この例から明らかなように、ベジェ曲線を表すオペレータ「curveto」がポストスクリプトに含まれていれば、他の条件を考えずにベジェ曲線の描画であると判断できることが分かる。
【００３７】
そこでＰＤＬプリフェッチ部４０は、指定されたメインメモリのアドレスからＰＤＬデータをフェッチしてページ記述言語データの意味を解析する。ここで「curveto」とマッチするオペレータが含まれていると、対象データにベジェ曲線が含まれていると判断し、その判定結果をクロック制御部４１に送信する。これによりクロック制御部４１は、図４に示すテーブルを参照して、ベジェ曲線に対応する拡張ソフトウェアモジュールが拡張ソフトウェアモジュールＮｏ１であることを認識する。そして、拡張ソフトウェアモジュールＮｏ１にクロック５０を供給し、クロック供給終了信号５２を意味解析部１に送信する。
【００３８】
また意味解析部１は、入力されたページ記述言語データを解釈し、ベーシックレンダリング処理部２に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定等も含まれている。更に意味解析部１は、クロック制御部４１からのクロック切り替え終了信号がアサートされた後、生成した命令をベーシックレンダリング処理部２に対して出力する。ここで生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。また生成した命令がレンダリング処理に関する場合には、ベーシックレンダリング処理部２内の各パイプラインモジュールで処理が実施される（ステップＳ１０５）。更にまた、その生成されたレンダリング命令が各パイプラインモジュールで処理できない場合には拡張ソフトウェアモジュールに対して命令を発行する（ステップＳ１０６）。これにより各拡張ソフトウェアモジュールでは、その受信したレンダリング命令をデコードし、レンダリング命令をソフトウェア処理する。
【００３９】
ここでエッジ処理部３に入力された命令がベジェ曲線処理だった場合は、エッジ処理部３は、拡張ソフトウェアモジュールに対して命令を供給する（Ｓ１２５）。本実施の形態では、拡張ソフトウェアモジュールＮｏ１がベジェ曲線処理を行うモジュールであるため（図４）、拡張ソフトウェアモジュールＮｏ１は受信命令をデコードし、データがベジェに関する命令であると判断すると、それに対してソフトウェア処理を行う。
【００４０】
このとき、パイプラインモジュールに接続された他の拡張ソフトウェアモジュールの内、入力データ処理に関係のない拡張ソフトウェアモジュールではクロックが供給されていないため動作が実行されない。また意味解析部１が生成した命令が出力処理に関する命令である場合には、出力処理部８に蓄えられたデータを出力装置９に出力することにより、印刷処理もしくは画面出力が行われる。また同時に、出力処理部８はレンダリング処理終了信号５３をクロック制御部４１へ供給する。これによりクロック制御部４１は、レンダリング処理の終了信号５３を受信した後、全ての拡張ソフトウェアモジュールのＣＰＵへのクロックの供給を停止する（ステップＳ１０８）。
【００４１】
［実施の形態２］
図７は、本発明の実施の形態２に係る画像処理装置の構成を説明するブロック図で、前述の図１と共通する部分は同じ記号で示し、それらの説明を省略する。
【００４２】
図において、拡張レンダリングモジュール部１１は、拡張ハードウェアモジュール部１２，１３，１４，１５，１６，１７，１８，１９と、拡張ソフトウェアモジュール部２０とを備えている。
【００４３】
ＰＤＬプリフェッチ部４０は、入力したページ記述言語データのプリフェッチを行い、拡張レンダリングモジュール部１１で処理が必要な命令が入力データに含まれているか検索し、その検索結果をクロック制御部４１に供給する。クロック制御部４１は、この検索結果を基に、拡張レンダリングモジュール部１１内の該当するブロックにクロックを供給し、その後、意味解析部１にクロック切り替え終了信号を送信する。意味解析部１では、このクロック制御部４１からのクロック切り替え終了信号を受信すると、レンダリング処理部２に対して各種パラメータの設定命令、グラフィック処理命令を送信して処理を開始する。
【００４４】
尚、拡張ハードウェアモジュール部のそれぞれを説明すると、１２はビットマップフォントモジュール、１３はベジェ処理モジュール、１４はブロックレンダリングモジュール、１５はビットマップモジュール、１６はリニアランプモジュール、１７はＪＰＥＧモジュール、１８はＪＢＩＧモジュール、１９はＰＤＦモジュールである。
【００４５】
またこの実施の形態２では、拡張ソフトウェアモジュール部２０は一つのモジュールで構成されており、２１〜２６のそれぞれは、エッジ処理部３、レベル処理部４、色生成部５、イメージ処理部６、色合成部７のそれぞれとのインターフェースを制御するインターフェース部である。ＣＰＵ２４は、この拡張ソフトウェアモジュール部２０の処理を制御している。
【００４６】
図８は、本発明の実施の形態２に係る画像処理装置の処理を説明するフローチャートである。
【００４７】
まずステップＳ１３１で、意味解析部１の言語解析ブロックにより、入力したページ記述言語を言語解析する。次にステップＳ１３２で、上述したクロックの切り替えが終了しているかどうかを判定し、終了していないときは、クロックの切り替えが終了するまでステップＳ１３２を実行する。こうしてクロックの切替えが終了するとステップＳ１３３に進み、入力したページ記述言語を、ステップＳ１３１の言語解析に基づいて、パラメータ設定用命令と内部処理用の命令に変換する。次にステップＳ１３４で、ステップＳ１３３で生成した命令が、パイプラインモジュールで処理可能か判断され、処理可能な場合はステップＳ１３５で処理される。またパイプラインモジュールで処理できないと判断された場合はステップＳ１３７に進み、拡張ハードウェアモジュール１２〜１９で処理可能かどうかを判定する。処理可能であればステップＳ１３８に進み、対応する拡張ハードウェアモジュールによる処理を行う。一方、ステップＳ１３７で処理できないと判定されるとステップＳ１３９に進み、拡張ソフトウェアモジュールによる処理を実行する。こうしてステップＳ１３５、ステップＳ１３８或はＳ１３９を実行した後ステップＳ１３６に進み、データの出力処理を行う。
【００４８】
また前述のステップＳ１３１の言語解析処理と並行して、ステップＳ１４１で、ＰＤＬプリフェッチ部４０により、入力したページ記述言語をフェッチし、ステップＳ１４２で、拡張レンダリングモジュール１１での処理が必要な命令が入力データに含まれているかを調べ、その結果をクロック制御部４１に送信する。こうしてクロック制御部４１は、ＰＤＬプリフェッチ部４０からの結果を基に、処理が必要な拡張レンダリングモジュール１１のＣＰＵ２４にクロックを供給するクロック切替え処理を実行する。この切替え処理が終了しているか否かがステップＳ１３２で判定されて前述の処理が実行される。
【００４９】
図９は、実施の形態２に係るクロックの切替え処理の詳細を説明するフローチャートである。
【００５０】
まずステップＳ１５１で、入力データのプリフェッチ処理を行う。そしてステップＳ１５２で、そのプリフェッチした入力データの構文を解析し、入力データ処理に必要な機能を検索する。次にステップＳ１５３で、その検索結果に基づいて、拡張レンダリングモジュール１１で処理すべき機能があるか否かを調べ、拡張レンダリングモジュール１１で処理する必要がない場合は、処理終了信号を出力して処理を終了する。
【００５１】
一方ステップＳ１５３で、拡張レンダリングモジュール１１で処理する必要がある場合はステップＳ１５４に進み、該当する拡張ハードウェアモジュールがあるかどうかを調べ、あればステップＳ１５５で、その拡張ハードウェアモジュールにクロックを供給して処理を終了する。またステップＳ１５４で、拡張ハードウェアモジュールで処理する必要がないと判定するとステップＳ１５６で、拡張ソフトウェアモジュールの該当するインターフェースにクロックを供給する。
【００５２】
図１０は、本実施の形態２に係る画像処理装置のベーシックレンダリング処理部と拡張レンダリング処理部のモジュール構成を説明する図である。
【００５３】
図において、例えばレンダリング処理部２のエッジ処理部３と接続している拡張レンダリングモジュールは、「BitmapFont」，「FastBitmapEncoding」，「Bezier」，「DiretSorting」であり、「BitmapFont」は拡張ハードウェアモジュールＮｏ１、「FastBitmapEncoding」は拡張ソフトウェアモジュールインターフェースＮｏ１、「Bezier」は拡張ハードウェアモジュールＮｏ２、「DiretSorting」は、拡張ソフトウェアモジュールインターフェースＮｏ１で処理することが分かる。尚、これら拡張レンダリングモジュールに割り当てられたＮｏは、各モジュールに割り振られた番号である。
【００５４】
本実施の形態２に係る画像処理装置に入力されるデータは、前述の実施の形態１と同様に、ページ記述言語で記述されたデータであり、ページ記述言語として代表的な言語であるポストスクリプト使用時のベジェ曲線処理は、前述の実施の形態１の場合と同様にして実行される。
【００５５】
具体的には、ＰＤＬプリフェッチ部４０は、指定されたメインメモリのアドレスからＰＤＬデータをフェッチし、ページ記述言語の意味を解析し、「curveto」（図６）とマッチしたオペレータが存在する場合、その入力データにベジェ曲線が含まれていると判断し、その判断結果をクロック制御部４１に送信する。クロック制御部４１は、図１０から、ベジェ曲線に対応する拡張レンダリングモジュールは拡張ハードウェアモジュールＮｏ２であることが判明するので、拡張ハードウェアモジュールＮｏ２にクロックを供給し、クロック供給終了信号を意味解析部１に送信する。
【００５６】
意味解析部１は、この入力されたページ記述言語を解釈し、ベーシックレンダリング処理部２に対する命令を生成する。こうして生成された命令には、ループ処理や条件判定等の簡単な処理や、数値演算、パラメータ設定などもある。クロック制御部４１からのクロック切り替え終了信号がアサートされた後、生成した命令をレンダリング処理部２に対して出力する。この生成した命令がパラメータ設定の場合は、所定のテーブルにパラメータを設定する。
【００５７】
一方、生成した命令が、パイプラインモジュールで処理可能なレンダリング処理に関する場合には、レンダリング処理部２内の各パイプラインモジュールで処理が実施される（ステップＳ１３５）。また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、拡張ハードウェアモジュールで処理可能な場合には（ステップＳ１３７）、パイプラインモジュールに接続している拡張ハードウェアモジュール全てに対して命令をブロードキャストする。こうして各拡張ハードウェアモジュールでは、受信したレンダリング命令をデコードし、自モジュールが処理する必要があるか判断し、自モジュールが処理する必要があると判断した場合は処理を行う（ステップＳ１３８）。
【００５８】
また生成されたレンダリング命令が各パイプラインモジュールで処理できない命令であり、かつ拡張ハードウェアモジュールでも処理できない場合は、パイプラインモジュールに接続している拡張ソフトウェアモジュールインターフェースに対してレンダリング命令を供給する。これにより拡張ソフトウェアモジュールは、インターフェース２１〜２６に入力されたレンダリング命令を、ＣＰＵ２４を用いてソフトウェア処理する（ステップＳ１３９）。
【００５９】
例えば、エッジ処理部３に入力された命令がベジェ曲線処理だった場合は、エッジ処理部３は、拡張ハードウェアモジュールに対して命令のブロードキャストを行う。本実施の形態２では、拡張ハードウェアモジュールＮｏ２がベジェ曲線処理を行うモジュールである。このため拡張ハードウェアモジュールＮｏ２が、その受信した命令をデコードし、データがベジェに関する命令である場合のベジェ処理を行う。この場合、エッジ処理部３に接続された他の拡張ハードウェアモジュールは、入力データ処理に関係のない場合はクロックが供給されていないため、動作が行われていない。またクロックが供給されている他拡張ハードウェアモジュールが存在する場合でも、受信命令をデコードして、その命令が自モジュールで処理する必要がないと判断した場合は処理を行わない。
【００６０】
また意味解析部１が生成した命令が出力処理である場合は、出力処理部８に蓄えられたデータを出力装置９に対して出力し、印刷処理もしくは画面出力が行われる。
【００６１】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６２】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態１に係る画像処理装置の一例を示すブロック図である。
【図２】本発明の実施の形態１に係る画像処理装置の処理を説明するフローチャートである。
【図３】実施の形態１に係るクロックの切替え処理の詳細を説明するフローチャートである。
【図４】本実施の形態１に係る画像処理装置のベーシックレンダリング処理部２と拡張ソフトウェアモジュールのモジュール構成例を説明する図である。
【図５】制御点が４点のベジェ曲線の中点Ｗ（ｔ＝１／２）を視覚的に表した図である。
【図６】ベジェ曲線を記述するポストスクリプトの命令を説明する図である。
【図７】本発明の実施の形態２に係る画像処理装置の構成を説明するブロック図である。
【図８】本発明の実施の形態２に係る画像処理装置の処理を説明するフローチャートである。
【図９】実施の形態２に係るクロックの切替え処理の詳細を説明するフローチャートである。
【図１０】本実施の形態２に係る画像処理装置のベーシックレンダリング処理部と拡張レンダリング処理部のモジュール構成を説明する図である。
【図１】
2006113672.tif 000003
【図２】
2006113672.tif 000004
【図３】
2006113672.tif 000005
【図４】
2006113672.tif 000006
【図５】
2006113672.tif 000007
【図６】
2006113672.tif 000008
【図７】
2006113672.tif 000009
【図８】
2006113672.tif 000010
【図９】
2006113672.tif 000011
【図１０】
2006113672.tif 000012