JP2008027395A - 描画処理装置及びその制御方法 - Google Patents

描画処理装置及びその制御方法 Download PDF

Info

Publication number
JP2008027395A
JP2008027395A JP2006202585A JP2006202585A JP2008027395A JP 2008027395 A JP2008027395 A JP 2008027395A JP 2006202585 A JP2006202585 A JP 2006202585A JP 2006202585 A JP2006202585 A JP 2006202585A JP 2008027395 A JP2008027395 A JP 2008027395A
Authority
JP
Japan
Prior art keywords
command sequence
drawing command
processing units
drawing processing
processing
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
Application number
JP2006202585A
Other languages
English (en)
Other versions
JP4861084B2 (ja
JP2008027395A5 (ja
Inventor
Takayuki Nagashima
孝幸 長島
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 JP2006202585A priority Critical patent/JP4861084B2/ja
Publication of JP2008027395A publication Critical patent/JP2008027395A/ja
Publication of JP2008027395A5 publication Critical patent/JP2008027395A5/ja
Application granted granted Critical
Publication of JP4861084B2 publication Critical patent/JP4861084B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

【課題】回路規模を過剰に増大させることなく図形に関する描画処理を高速に実行可能にする。
【解決手段】描画処理装置は、描画命令を実行するための、処理能力の異なる複数の描画処理部を有する。そして、描画処理装置は、入力された描画データから図形オブジェクト毎に描画命令列を抽出して、抽出された描画命令列をその実行に必要な処理能力に基づいて分類し、その分類結果に基づいて、複数の描画処理部より当該描画命令列を処理すべき描画処理部を選択し、選択した描画処理部へ描画命令列を送信する。そして、描画処理装置は、複数の描画処理部が送信された描画命令列を処理することにより生成した描画結果を合成する。
【選択図】 図1B

Description

本発明は、ページ記述言語(PDL)等の描画データに従って画像データを生成するための描画処理に関する。
印刷装置等の画像形成装置は、入力デバイスから送られてくるPostScriptやPDF等のページ記述言語(PDL)で記述された描画データを解釈してラスタ画像を形成する描画処理装置を具備する。ここで、描画データは複数種類の描画オブジェクトの集合として構成され、その種類としては図形、テキスト、他の画像などが挙げられる。これらの描画オブジェクトの処理はそれぞれ異なる処理となっており、複雑な描画オブジェクトの描画処理には多くのプロセスおよび時間が必要となる。
そこで、画像出力を高速化するために、画像形成装置に対して各種処理機能を有するユニットを付加することが行われている。これら付加されるユニットの多くはハードウェアによって実装されることが多い。しかしながら、ハードウェアによる実装は高速な反面、対象となる処理毎に専用のユニットを付加していくため回路規模が増大してしまう。一方、高速化の他の手法として描画処理の並列化が行われている。このような並列化では以下のような手法がとられる。例えば、入力された描画データを解析して描画オブジェクト単位に分割し、分割された描画データを複数の描画処理装置に振り分けて並列処理する方法が挙げられる。或は、描画データに対して領域分割を行って部分画像を生成するための描画データを再構成し、再構成された描画データを複数の描画処理装置に振り分けて並列に処理する方法が挙げられる。
上記のように専用の描画処理装置を設け、かつ並列化を行って描画オブジェクトを処理する構成は、特許文献1に開示されている。特許文献1では、文字、画像、描画図形毎に専用の描画処理ユニットを設け、それぞれの処理の高速化と並列実行による高速化を達成している。
特開平02−063760
一般に、描画図形としては、直線によって構成される図形、本来曲線によって構成されているが直線で近似的に表現されている図形、高次関数で表現される曲線によって構成される図形等が挙げられる。これら描画図形の外形追跡処理は、画素単位あるいは走査線単位で行う必要があり、特に高精細化が進むにつれて演算回数が増大するため、高次関数の処理時間が描画時間に大きく影響してくる。特許文献1のように、並列処理すべく配置されている複数の描画処理装置が描画オブジェクトの種類毎の専用の描画処理装置である場合には、印刷データに含まれる描画オブジェクトの種類に偏りがあると並列化の効果が小さくなるという課題がある。
一方、そのような偏りを防止するべく、並列処理すべく配置されている全ての描画処理装置が広範な描画オブジェクトに対応できるようにすると、高機能な描画処理装置が必要以上に配置されることになる。例えば、配列処理すべく配置されているすべての描画処理装置が高次関数を高速に実行できる必要はなく、むしろこのような構成はハードウェアに必要以上の性能とコストをかけることとなり望ましくない。
本発明は以上の問題に鑑みてなされたものであり、回路規模を過剰に増大させることなく図形に関する描画処理を高速に実行可能にすることを目的とする。
上記の目的を達成するための本発明の一態様による描画処理装置は以下の構成を備える。即ち、
描画命令を実行するための、処理能力の異なる複数の描画処理部と、
入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類手段と、
前記描画命令列の分類結果に基づいて、前記複数の描画処理部より当該描画命令列を処理すべき描画処理部を選択する選択手段と、
前記選択手段で選択した描画処理部へ前記描画命令列を送信する送信手段と、
前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備える。
又、上記の目的を達成するための本発明の他の態様による描画処理装置は以下の構成を備える。即ち、
描画命令を実行するための複数の描画処理部と、
入力された描画データから、図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類手段と、
前記描画命令列の分類結果に基づいて、当該描画命令列を単一の描画命令処理部で処理するか複数の描画命令処理部で処理するかを決定する決定手段と、
単一の描画処理部で処理すると決定された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、複数の描画処理部で処理すると決定された場合は、複数の描画処理部により当該図形オブジェクトの描画を分担させるべく、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信手段と、
前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備える。
本発明によれば、回路規模を過剰に増大させることなく図形に関する描画処理を高速に実行することが可能となる。
以下、添付図面を参照して本発明の好適な実施形態を説明する。
<第1実施形態>
図1Aは第1実施形態に係る画像形成装置の構成例を示すブロック図である。画像形成装置1において、入力I/F11は外部の情報処理装置(例えばパーソナルコンピュータ)からPDLにより記述された印刷データを受信する。描画処理装置100は印刷データを処理して、ビットマップイメージを生成する。ビデオ信号化部12は描画処理装置100で生成されたビットマップイメージを走査線順次のビデオ信号に変換してプリンタエンジン13に出力する。プリンタエンジン13は受信したビットマップイメージに従って記録媒体上に可視画像を形成する。尚、プリンタエンジン13には、例えばレーザビームを利用した静電写真方式やインクジェット方式など、周知のいかなる記録方式も適用できる。尚、インクジェット方式を採用した場合等において、バンド単位でイメージデータをプリンタエンジン13に供給する場合は、ビデオ信号化部12の代わりに、バンドメモリにバンド単位でイメージを書き込む処理ユニットを設けることになる。
上記の構成において、描画処理装置100は、例えばPostScriptやPDF等のPDLによる印刷データを入力とし、該PDLに基づいて画像データを形成する。図1Bは第1実施形態による描画処理装置100の構成例を示すブロック図である。
描画処理装置100において、命令解析部101は、印刷データ(PDL)を入力し、入力した印刷データの描画命令を解析する。命令解析部101は、このような描画命令列から描画オブジェクト毎に描画命令列を抽出する。印刷データ(描画データ)が図2により後述するような図形を描画するための描画命令列を含む場合、命令解析部101は、図形オブジェクト毎の描画命令列を抽出する。図形グループ決定部102は、その図形を描画するのに要求される処理能力(例えば高次関数演算が必要か否か)によって、図形オブジェクトに対応した描画命令列を分類する。描画命令分配部103は、分類された描画命令列を、各々の分類結果に応じて第1プロセッサ104と第2プロセッサ105に分配する。第1プロセッサ104及び第2プロセッサ105はそれぞれ描画命令に従って画像の描画を行う画像処理部である。画素合成部106は、第1プロセッサ104によって生成された画素情報と第2プロセッサ105によって生成された画素情報を併合して印刷データに対応するビットマップデータを出力する。尚、本実施形態では図形描画のためのプロセッサのみを示したが、描画処理装置100は文字や画像を描画するための専用のプロセッサも有するものとする。或いは、文字や画像を第1プロセッサまたは第2プロセッサで描画するように構成してもよい。但し、これらのプロセッサの構成や、これらのプロセッサへの描画命令の分配は周知であるので、ここでは説明を省略する。
以下、各構成についてより詳細に説明する。
命令解析部101はPDLにより記述された印刷データを受け取り、その印刷データをPDLの規約に沿って解釈する機能と、非描画命令を実行する機能と、描画オブジェクト毎に描画命令列(コマンド群)を切り出す機能を有する。
図形グループ決定部102は、描画命令と図形グループとの対応を定義した図形グループ対応テーブル400を参照し、命令解析部101によって切り出された各描画命令列を高次関数演算が不要な第1グループと高次関数演算が必要な第2グループに分類する。図4は図形グループ対応テーブル400のデータ構成例を示す図である。図4に示す図形グループ対応テーブル400では、直線を描画する命令「lineto」401が第1グループに対応付けられている。また、円を描画する命令「arc」402や曲線(ベジエ曲線)を描画する命令「curveto」403は第2グループに対応付けられている。即ち、第1グループは一次関数で解決できる図形であることを示しており、第2グループは高次関数の計算を要する図形であることを示している。例えば、描画命令列に「curveto」なるコマンドが含まれていた場合は、当該描画命令列の図形グループは第2グループであると決定される。このように、図形グループ決定部102は、図形グループ対応テーブル400を参照することで、描画命令列(図形)が描画の際に高次関数演算を必要とするグループ(第2グループ)に属するか、そうでないグループ(第1グループ)に属するかを判定する。
描画命令分配部103は上記図形グループ決定部102によって決定されたグループに基いて、対応する図形の描画命令列を第1プロセッサ104に対して第1描画命令列として分配し、第2プロセッサ105に第2描画命令列として分配する機能を有する。本実施形態では、上記第1グループに属する描画命令を第1描画命令列とし、上記第2グループに属する描画命令を第2描画命令列として生成する。
第1プロセッサ104は加算器、論理演算器、シフト演算器を有するプロセッサである。第1プロセッサ104は、描画命令分配部103によって分配された第1描画命令列を処理してラスタ画像を生成するソフトウェアを実行することにより、第1描画命令列に対応する第1のビットマップデータを生成する。第2プロセッサ105は第1プロセッサ104の構成に加えさらに乗算器を有するプロセッサである。第2プロセッサ105は、描画命令分配部103によって分配された第2描画命令列を処理してラスタ画像を生成するソフトウェアを実行することにより、第2描画命令列に対応する第2のビットマップデータを生成する。又、乗算器を利用することにより、高次関数演算を高速に処理することができる。
画素合成部106は第1プロセッサ104で生成された第1のビットマップデータと、第2プロセッサ105で生成された第2のビットマップデータとを印刷データの中で定義された上下関係に基いて合成する。合成されたビットマップデータは、印刷データに対応する画像のビットマップデータとして画素合成部106より出力される。
以上のような構成を備えた本実施形態の描画処理装置100の動作について、図2、図3の描画例を用いてより詳細に説明する。
図2は、図1に示した命令解析部101に入力されるPostScirpt言語で記述された印刷データ(描画命令列)の一例を示す。又、この印刷データによって描画される画像を図3に示す。図2において、記述201、202は各描画オブジェクトの描画命令に相当し、それぞれ図3に示されている三角形オブジェクト301、曲線オブジェクト302を描画する描画命令列である。
図2の記述203によって示される描画命令は、これから描画しようとしている図形の形状を定義している部分である。記述203は、三角形オブジェクト301の形状を定義している。具体的に説明すると、最初に、moveto命令によってペン座標を(X,Y)=(180,280)に移動させる。そして、そこから順にlineto命令によって座標(120,70)、(315,170)、(180,280)に直線を引き、三角形オブジェクト301を描画する。記述203ではclosepathまでにlinetoのみが現れている。従って、図形グループ決定部102は図4に示す図形グループ対応テーブルの401を参照し、記述203により描画される図形が一次関数の計算のみを要する第1グループに属する図形であると決定する。もし記述203の中にcurveto等が含まれていた場合には、記述403で描画される図形を第2グループに属する図形であると判断する。この判断結果(第1グループに属していることを示すグループ情報)は記述203の描画命令列とともに描画命令分配部103に入力される。描画命令分配部103は、この第1グループであることを示すグループ情報に基づいて、記述203〜205に至る描画命令列を第1プロセッサ104に対して出力する。
第1プロセッサ104は記述203〜205に至る描画命令列を処理する。通常一次関数に対しては座標毎に差分計算が行われるため加算器があれば座表計算には十分である。記述204(setrgbcolor)は記述203で定義した三角形の色を定義する。ここでは、赤が指定されている。記述205は、三角形を記述204で定義した赤色に塗り潰す処理が指示されている。従って、第1プロセッサ104は、記述203で定義される三角形に包含される座標に対応する画素に対して赤を示す画素データを出力する。
図2の記述206は、曲線オブジェクト302(ベジエ曲線)の描画を指示している。ここでは最初に、ペンの座標を(30,20)に移動させ、現在のペン座標と(85,120)、(160,60)、(140,20)の4点で囲まれるベジエ曲線を描く。記述206に続く線は定義されてないので、これは単一のベジエ曲線であることが分かる。
図形グループ決定部102は図4に示す図形グループ対応テーブル400を参照し、記述206の図形(curveto)が高次関数の計算を要する第2グループに属する図形であることを決定する。
この判断結果(第2グループに属していることを示すグループ情報)は記述202の描画命令列とともに描画命令分配部103に入力される。描画命令分配部103は、第2グループであることを示すグループ情報に従って、記述202の描画命令列を第2プロセッサ105に出力する。
第2プロセッサ105は記述202の描画命令列を処理する。高次関数の計算には乗算が必要とされるため、第2プロセッサ105は乗算を高速に実行する構成を具備している。第2プロセッサ105は記述206で定義されるベジエ曲線の座標に対応する画素に対して赤を示す画素データを出力する。尚、描画命令分配部103は、記述202に色の指定が無いことから、記述202に記述204を付加して第2プロセッサ105へ送信する。したがって、記述206により描画されるベジェ曲線の色は記述204によって設定された色となる。
画素合成部106は以上のようにして第1プロセッサ104が出力した第1のビットマップデータと第2プロセッサ105が出力した第2ビットマップデータとを合成し、入力した印刷データに対するビットマップデータとしてこれを出力する。尚、図2の印刷データにおいて三角形オブジェクト301と曲線オブジェクト302が重なる場合、画素合成部106は次のように処理する。即ち、画素合成部106は、描画命令列の中で先に出現する記述203に対応する三角形オブジェクト301が後に出現する記述206に対応する曲線オブジェクト302よって上書きされるように第1ビットマップデータと第2ビットマップデータを合成する。
以上のように、第1実施形態によれば、印刷データに含まれる図形は描画に高次関数の計算が必要か否かにより、それぞれ異なる構成のプロセッサに割当てられ、並列に処理される。
尚、第2プロセッサ105に既にいくつかの図形の描画処理が割当てられている場合に、第1プロセッサ104に対して第2グループに属する図形の描画を割当てるスケジュール機能を描画命令分配部103に持たせてもよい。同様に、第1プロセッサ104に既にいくつかの図形の描画処理が割当てられている場合に、第2プロセッサ105に対して第1グループに属する図形の描画を割当てるスケジュール機能を描画命令分配部103に持たせてもよい。即ち、描画命令分配部103が高次関数演算を必要とする描画命令列を乗算器を有するプロセッサに優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たないプロセッサに優先的に割り当てるようにしてもよい。このようにすれば、ページ内に現れる図形に偏りがあった場合にも、より効果的に並列性を維持することが可能になる。
又、上記実施形態では、第1プロセッサ104及び第2プロセッサ105においてビットマップデータを生成したが、これに限られるものではない。例えば、第1プロセッサ104、第2プロセッサ105が、走査線毎に各図形の交点座標のみを計算する構成にも適用可能である。この場合の画像合成部106の構成及び動作について図7を参照して説明する。
画像合成部106は第1プロセッサ104及び第2プロセッサ105の演算結果や印刷データから得られる命令ストリームを含む表示リスト71を参照し、走査線毎の画像データを生成する画像処理パイプライン72を有する。表示リスト71において、命令ストリーム711は印刷データから取得される描画命令ストリームである。エッジ情報712は第1プロセッサ104及び第2プロセッサ105から取得される走査線毎の、各図形の交点座標の情報である。
画素合成部106は、画像処理パイプライン72を有する。画像処理パイプライン72は、命令処理ユニット721、エッジ処理ユニット722、優先順位決定ユニット723、塗りつぶし色決定ユニット724、画素生成ユニット725および画素出力ユニット726により構成される。721〜726の各ユニットは、直列に接続されている。
命令処理ユニット721は、表示リスト71中の命令ストリーム711を解釈し、その命令を下流の各ユニットに適合したフォーマットへ変換し、送出する。エッジ処理ユニット722は、スキャンラインを走査し、表示リスト71中のエッジ情報712の交点座標をソートする。即ち、エッジ処理ユニット722は、走査線毎に第1プロセッサ104と第2プロセッサ105とから図形の交点座標座標を受け取り、受け取った座標を走査線方向座標順にソートして、エッジ交差情報を生成する。そして、エッジ処理ユニット722は、命令処理ユニット721から受信した優先順位情報や塗りつぶし情報とともに、エッジ交差情報およびスキャンライン終了情報を下流の画像処理ユニットへ送出する。
優先順位決定ユニット723は、エッジ交差情報と優先順位情報に基づいて、交点座標と図形との対応から当該走査線上の各位置で有効な図形を決定し、有効図形情報を生成する。即ち、優先順位決定ユニット723は、上記のソート処理によって並べ替えられた交点座標列と図形との対応を参照して、当該走査線において描画対象図形として活性化している図形(図形の優先順位(即ち、上下関係))を決定し、有効図形情報とする。そして、優先順位決定ユニット723は、上流のエッジ処理ユニット722から受信した塗りつぶし情報、スキャンライン終了情報とともに、有効図形情報を塗りつぶし色決定ユニット724へ送出する。
塗りつぶし色決定ユニット724は、有効図形情報と塗りつぶし情報に基づいて、当該走査線上の各画素の色を決定し色合成情報を生成する。即ち、塗りつぶし色決定ユニット724は、上記活性化している図形の上下位置関係(有効図形情報)と色の透明度情報(塗りつぶし情報)とから画素の色に関与する図形を決定して各図形の色を決定する。即ち、各図形の色情報に従って表される色を、図形の上下位置関係に従って合成し、当該走査線上の各画素の色を決定し、これを色合成情報とする。塗りつぶし色決定ユニット724は、生成した色合成情報、画素終了情報およびスキャンライン終了情報を画素生成ユニット725へ送出する。画素生成ユニット725では、受信した情報から当該走査線の画素を生成し、画素出力ユニット726へ送出する。画素出力ユニット726は、画素生成ユニット725から受信した画素データをビットマップデータとしてプリンタなどへ出力する。以上のようにして、画素合成部106は、走査線上の画素または画素から画素のスパンに対して有効になっている図形の色を合成して画素の座標順にビットマップデータを出力する。
又、第1実施形態は、処理能力の異なる複数のプロセッサを備え、描画命令分配部103が図形オブジェクトに対応した描画命令列の処理に必要となる演算能力に応じて、複数のプロセッサから当該描画命令列を処理させるべきプロセッサを選択する。従って、図1Bでは図形オブジェクトを描画するためのプロセッサとして2つのプロセッサを設けた例を示したが、プロセッサの数はこれに限られるものではない。
以上述べたように、第1実施形態によれば、PDLに含まれる図形をそれぞれ必要十分な機能を有するプロセッサに割当て並列に処理することにより、回路規模の過剰な増大なしに描画時間を短縮することができる。
<第2実施形態>
上記第1実施形態では、能力の異なる複数のプロセッサを用意し、描画命令の実行に必要な演算能力に応じて描画命令を複数のプロセッサのいずれかに振り分ける構成を示した。第2実施形態では、同じ能力のプロセッサを複数用意しておき、高い処理能力が必要な描画命令(処理時間のかかる描画命令)については、描画される図形オブジェクトを分割し、複数のプロセッサで分担して1つの図形オブジェクトを描画させる。
図5は第2実施形態による描画処理装置500の構成例を示すブロック図である。尚、描画処理装置500を適用可能な画像形成装置の構成例は図1Aに示したとおりであり、第2実施形態では、描画処理装置100の代わりに描画処理装置500が配置されることになる。
図5において、命令解析部101、図形グループ決定部102、図形グループ対応テーブル400は第1実施形態(図1B)と同様の構成である。描画命令分配部503は、図形グループ決定部102で決定されたグループ情報に基づいて、プロセッサ501a〜501cに図形オブジェクトに対応する描画命令列を分配する。第2実施形態では、画像処理部であるところの複数のプロセッサ501a〜501cは、すべて同じ描画処理能力を有するものとする(但し、複数のプロセッサ間に処理能力の差があってもかまわない)。画素合成部504はプロセッサ501a〜501cによって生成された画素情報を併合してビットマップデータを生成し、これを印刷データに対応するビットマップデータとして出力する。
上述したように、図形グループ決定部102は、描画命令列を高次関数演算を必要としない第1グループの図形オブジェクトの描画命令列と、高次関数演算を必要とする第2グループの図形オブジェクトの描画命令列に分ける。図形グループ決定部102は、描画命令列を、第1グループ、第2部グループのいずれに属するかを示すグループ情報とともに描画命令分配部503に提供する。描画命令分配部503は、第1グループの図形オブジェクトの描画命令列を第1描画命令列とし、高次関数演算を必要とする第2グループの図形オブジェクトの描画命令列を第2描画命令列とする。そして、描画分配部503は、第1描画命令列をプロセッサ501a〜501cのうちの単一のプロセッサ(例えばプロセッサ501a)に分配し、第2描画命令列を単一または複数のプロセッサ(例えばプロセッサ501b、501c)に分配する。
プロセッサ501a〜501cは、加算器、論理演算器、シフト演算器を有するプロセッサであり、描画命令分配部503によって分配された描画命令列を処理してラスタ画像を生成するためのソフトウェアを実行する。こうして、プロセッサ501a〜501cにより第1描画命令列に対応する第1ビットマップデータと第2描画命令列に対応する第2ビットマップデータが生成される。画素合成部504は、プロセッサ501a〜501cで生成された第1ビットマップデータと第2ビットマップデータを印刷データの中で定義された上下関係に基いて合成し、印刷データに対応する画像のビットマップデータを出力する機能を有する。
以下、第1実施形態と同様に、図2に示す描画命令に従って図3に示す図形を描画する場合について第2実施形態の画像形成装置による詳細な動作を説明する。
命令解析部101及び図形グループ決定部102により、記述201が第1グループの描画命令列に分類され、記述202が第2グループの描画命令列に分類される処理までは第1実施形態と同様である。
描画命令分配部503は、第1グループに分類された一図形オブジェクト分の描画命令列を単一のプロセッサに分配する。例えば、一つの三角形オブジェクト301に対応する描画命令列(記述201)はプロセッサ501aに供給され、第1実施形態で説明したような手順で三角形が描画される。
一方、第2グループに分類された一図形オブジェクト分の描画命令列については、当該図形の大きさが所定の描画範囲(例えば走査線方向の大きさ)に収まるか否かを判断し、収まらない場合は描画範囲指定とともに複数のプロセッサに分配する。この場合、所定の描画範囲で図形を分割し、分割された部分が別々のプロセッサで描画されるように、描画範囲指定とともに複数のプロセッサに描画命令列を送る。所定の描画範囲に収まる場合は、単一のプロセッサに描画命令列を送る。即ち、分割数と等しい数のプロセッサに一つの図形オブジェクトの描画を分担させることになる。分割数が具備するプロセッサの数を超えた場合には、例えば、図形オブジェクトをプロセッサ数で分割するようにすればよい。或いは、プロセッサに複数の分割部分を処理させるようにしてもよい。例えば5つに分割された図形オブジェクトを3つのプロセッサで実行する場合には、2つのプロセッサに2つの分割部分を、1つのプロセッサに1つの分割部分を処理させるように分配するようにしてもよい。尚、本実施形態の場合、図形オブジェクトの大きさが所定の描画範囲に収まる場合は、第2グループに分類された描画命令列であっても単一のプロセッサにより処理されることになる。尚、第2グループに分類された図形オブジェクトの分割方法はこれに限られるものではなく、例えば、必ず所定数に分割するといったように、種々の変形が可能である。
プロセッサ501a〜501cは、入力された描画命令列を実行して描画処理を行う。描画範囲指定がなされている場合は、指定された範囲内について描画処理を行う。第2グループの描画命令を実行する際には、乗算を伴う高次関数の計算が必要とされるため、乗算を高速に実行する必要がある。第1実施形態では、このような描画命令に対応するべく高速なプロセッサを用いたが、第2実施形態では描画範囲を小さくして、複数のプロセッサで並列処理することにより、第2グループの描画命令による描画処理を高速に実行する。
例えば、記述202により示される曲線オブジェクト302は、図6に示されるように部分Aと部分Bの2つに分割され、部分AとBは2つのプロセッサにより並列に描画される。これは、記述206の「curveto」におけるパラメータを変更して、部分Aのみを描画する描画命令と、部分Bのみを描画する描画命令を生成し、それぞれ別々のプロセッサへ送ることで実現できる。或いは、描画範囲を示すコマンドを付加できる命令体系であれば、そのような描画範囲指定コマンドを付加して各プロセッサへ描画命令列を送るようにすればよい。
画素合成部504は複数のプロセッサ501a〜501cから入力されたビットマップデータを合成して印刷データに対するビットマップデータとして外部へ出力する。上記例の場合、三角形オブジェクト301を含むビットマップデータと、曲線オブジェクト302の部分Aを含むビットマップデータと、曲線オブジェクト302の部分Bを含むビットマップデータが合成され、図6に示すようなビットマップデータが生成される。
尚、図2の印刷データにおいて三角形203と曲線206が重なる場合、画素合成部503は次のように処理する。即ち、画素合成部504は、描画命令列の中で先に出現する記述203に対応する三角形オブジェクト301が後に出現する記述206に対応する曲線オブジェクト302によって上書きされるようにビットマップデータを合成する。
以上のように、第2実施形態では、印刷データに含まれる図形は描画に高次関数の計算が必要か否かにより、それぞれ異なる数のプロセッサに割当てられ、並列に処理される。即ち、描画処理の重さに応じて1つの図形の描画を複数のプロセッサにより分担させて、効率よく並列処理を実行させることにより、描画処理の高速化が達成される。
尚、図5に示した第2実施形態は、プロセッサ501a〜501cにおいて走査線毎に各図形の交点座標のみを計算する実施形態に応用可能である。この場合、図7により上述した画像処理パイプライン72の構成を画素合成部504に適用すればよい。即ち、画素合成部504は走査線毎に複数のプロセッサ501a〜501cから走査線毎に座標データを受け取り、座標データを走査線方向座標順にソートする。そして、交点と図形との対応から走査線上で有効な図形を決定し、走査線上の画素または画素から画素のスパンに対して有効になっている図形の色を合成して画素の座標順にビットマップデータを出力する。
尚、図5では3つのプロセッサを示したが、これに限られるものではない。又、第1実施形態と第2実施形態の構成を組み合わせてもよい。例えば、第1プロセッサと第2プロセッサを複数個ずつ設けておき、第1グループに分類された描画命令列は第1プロセッサへ優先的に分配し、第2グループに分類された描画命令列は第2プロセッサへ優先的に分配するようにする。そして、第2プロセッサの利用状況により、第2グループの描画命令列を第1プロセッサに実行させる状況が生じた場合には、複数の第1プロセッサにより第2グループの描画命令列を実行させる。
以上述べたように、第2実施形態によれば、PDLに含まれる図形をそれぞれの演算負荷に応じて単一または複数のプロセッサに描画処理が割当てられ、並列に処理されることになる。このため、回路規模の過剰な増大なしに描画時間を短縮することができる。
第1実施形態による画像形成装置の構成例を示す図である。 第1実施形態による描画処理装置の構成例を示す図である。 PostScriptによる描画コマンド例を示す図である。 図2の描画コマンドにより描画される画像を示す図である。 図形グループ対応テーブルのデータ構成例を示す図である。 第2実施形態による描画処理装置の構成例を示す図である。 図2の描画コマンドにより描画される画像において、画像の分割を説明する図である。 プロセッサからの交点座標に基づいて画素合成を行う画素合成部の構成を説明するブロック図である。

Claims (15)

  1. 描画命令を実行するための、処理能力の異なる複数の描画処理部と、
    入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類手段と、
    前記描画命令列の分類結果に基づいて、前記複数の描画処理部より当該描画命令列を処理すべき描画処理部を選択する選択手段と、
    前記選択手段で選択した描画処理部へ前記描画命令列を送信する送信手段と、
    前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備えることを特徴とする描画処理装置。
  2. 前記分類手段は、抽出された前記描画命令列に含まれる描画命令が高次関数演算を必要とするか否かに基づいて、当該描画命令列を分類し、
    前記選択手段は、高次関数演算を必要とする描画命令列を処理すべき描画処理部として、乗算器を有する描画処理部を選択することを特徴とする請求項1に記載の描画処理装置。
  3. 前記選択手段は、高次関数演算を必要とする描画命令列を乗算器を有する描画処理部に優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たない描画処理部に優先的に割り当てることを特徴とする請求項2に記載の描画処理装置。
  4. 前記複数の描画処理部はそれぞれソフトウエアを実行可能なプロセッサを具備していることを特徴とする請求項3に記載の描画処理装置。
  5. 前記複数の描画処理部の各々は、前記描画結果として描画された図形のビットマップイメージを生成し、
    前記合成手段は、前記複数の描画処理部により生成された描画結果としてのビットマップイメージを、前記入力された描画データに基づいて決定される上下位置関係に従って合成することを特徴とする請求項1に記載の描画処理装置。
  6. 前記複数の描画処理部の各々は、走査線毎に、描画された図形オブジェクトと走査線との交点を描画結果として生成し、
    前記合成手段は、走査線毎に、前記複数の描画処理部より取得した同一走査線上の交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項1に記載の描画処理装置。
  7. 描画命令を実行するための複数の描画処理部と、
    入力された描画データから、図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類手段と、
    前記描画命令列の分類結果に基づいて、当該描画命令列を単一の描画命令処理部で処理するか複数の描画命令処理部で処理するかを決定する決定手段と、
    単一の描画処理部で処理すると決定された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、複数の描画処理部で処理すると決定された場合は、複数の描画処理部により当該図形オブジェクトの描画を分担させるべく、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信手段と、
    前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備えることを特徴とする描画処理装置。
  8. 前記分類手段は、抽出された前記描画命令列が高次関数演算を必要とするか否かに基づいて、当該描画命令列を分類し、
    前記決定手段は、高次関数演算を必要とする描画命令列を複数の描画処理部で処理し、高次関数演算が不要な描画命令列を単一の描画処理部で処理するよう決定することを特徴とする請求項7に記載の描画処理装置。
  9. 前記決定手段は、高次関数を必要とする描画命令列によって描画される図形オブジェクトの大きさに基づいて、当該描画命令列を処理する描画処理部の数を決定することを特徴とする請求項8に記載の描画処理装置。
  10. 前記送信手段は、前記選択された複数の描画処理部の各々が当該描画命令列による描画処理をそれぞれの描画範囲で実行するように、当該描画命令列に描画範囲を設定して送信することを特徴とする請求項7に記載の描画処理装置。
  11. 前記複数の描画処理部はそれぞれソフトウエアを実行可能なプロセッサを具備していることを特徴とする請求項7に記載の描画処理装置。
  12. 前記複数の描画処理部の各々は、前記描画結果として描画された図形のビットマップイメージを生成し、
    前記合成手段は、前記複数の描画処理部により生成された描画結果としてのビットマップイメージを、前記入力された描画データに基づいて決定される上下位置関係に従って合成することを特徴とする請求項7に記載の描画処理装置。
  13. 前記複数の描画処理部の各々は、走査線毎に、描画された図形と走査線との交点を描画結果として生成し、
    前記合成手段は、走査線毎に、前記複数の描画処理部より取得した交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項7に記載の描画処理装置。
  14. 描画命令を実行するための、処理能力の異なる複数の描画処理部を有する描画処理装置の制御方法であって、
    入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類工程と、
    前記描画命令列の分類結果に基づいて、前記複数の描画処理部より当該描画命令列を処理すべき描画処理部を選択する選択工程と、
    前記選択工程で選択した描画処理部へ前記描画命令列を送信する送信工程と、
    前記複数の描画処理部が前記送信工程により送信された描画命令列を処理することにより生成した描画結果を合成する合成工程とを備えることを特徴とする描画処理装置の制御方法。
  15. 描画命令を実行するための複数の描画処理部を有する描画処理装置の制御方法であって、
    入力された描画データから、図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列をその実行に必要な処理能力に基づいて分類する分類工程と、
    前記描画命令列の分類結果に基づいて、当該描画命令列を単一の描画命令処理部で処理するか複数の描画命令処理部で処理するかを決定する決定工程と、
    単一の描画処理部で処理すると決定された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、複数の描画処理部で処理すると決定された場合は、複数の描画処理部により当該図形オブジェクトの描画を分担させるべく、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信工程と、
    前記複数の描画処理部が前記送信工程により送信された描画命令列を処理することにより生成した描画結果を合成する合成工程とを備えることを特徴とする描画処理装置の制御方法。
JP2006202585A 2006-07-25 2006-07-25 描画処理装置及びその制御方法 Expired - Fee Related JP4861084B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006202585A JP4861084B2 (ja) 2006-07-25 2006-07-25 描画処理装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202585A JP4861084B2 (ja) 2006-07-25 2006-07-25 描画処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2008027395A true JP2008027395A (ja) 2008-02-07
JP2008027395A5 JP2008027395A5 (ja) 2009-10-22
JP4861084B2 JP4861084B2 (ja) 2012-01-25

Family

ID=39117931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202585A Expired - Fee Related JP4861084B2 (ja) 2006-07-25 2006-07-25 描画処理装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP4861084B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6394623A (ja) * 1986-10-09 1988-04-25 Hitachi Ltd 描画装置
JPH02168361A (ja) * 1988-09-14 1990-06-28 Toshiba Corp 座標データを発生するパターンデータ発生装置及びプロセッサ
JPH05313634A (ja) * 1992-05-12 1993-11-26 Toshiba Corp アウトラインフォント展開装置
JPH09185508A (ja) * 1995-12-28 1997-07-15 Fuji Xerox Co Ltd 画像形成装置および画像形成方法
JPH1040360A (ja) * 1996-07-26 1998-02-13 Fuji Xerox Co Ltd 命令解析装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6394623A (ja) * 1986-10-09 1988-04-25 Hitachi Ltd 描画装置
JPH02168361A (ja) * 1988-09-14 1990-06-28 Toshiba Corp 座標データを発生するパターンデータ発生装置及びプロセッサ
JPH05313634A (ja) * 1992-05-12 1993-11-26 Toshiba Corp アウトラインフォント展開装置
JPH09185508A (ja) * 1995-12-28 1997-07-15 Fuji Xerox Co Ltd 画像形成装置および画像形成方法
JPH1040360A (ja) * 1996-07-26 1998-02-13 Fuji Xerox Co Ltd 命令解析装置

Also Published As

Publication number Publication date
JP4861084B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
JP4218840B2 (ja) 描画処理装置および描画処理方法
JP3919754B2 (ja) 画素順次描画システムにおいて実行される合成演算回数の削減法
EP1627346B1 (en) Parallel processing of page description language data
JP4614389B2 (ja) 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム
US8830506B2 (en) Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors
US6456298B1 (en) Image processing apparatus and method
US9542127B2 (en) Image processing method and image processing apparatus
JP2007226465A (ja) 画像出力システム、及び、画像出力方法
JP4646436B2 (ja) デジタル画像の画像処理装置
US10593030B2 (en) Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor
JP6643056B2 (ja) 画像処理装置、画像処理方法、データ生成方法及びプログラム
JP4861084B2 (ja) 描画処理装置及びその制御方法
JP6230268B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP6590606B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2008107970A (ja) 画像形成装置
JP2007122188A (ja) 画像形成装置及び画像処理方法、並びにプログラム
JP2005235205A (ja) 形状チャネルを用いないクリップ・トゥ・セルフ(clip−to−self)機能を有する合成
JP2006159738A (ja) 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
JP2016206934A (ja) 画像処理装置、画像処理方法及びプログラム
JP2009066926A (ja) 画像処理装置及び画像形成システム
JP2009075805A (ja) 画像形成装置
JP2018063557A (ja) 画像形成装置、方法、プログラム
JP6614941B2 (ja) 画像処理装置および画像処理方法
JPH10151815A (ja) 印刷処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110622

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: 20111031

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111104

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees