JP4257503B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP4257503B2 JP4257503B2 JP2003121653A JP2003121653A JP4257503B2 JP 4257503 B2 JP4257503 B2 JP 4257503B2 JP 2003121653 A JP2003121653 A JP 2003121653A JP 2003121653 A JP2003121653 A JP 2003121653A JP 4257503 B2 JP4257503 B2 JP 4257503B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- intermediate code
- image data
- image processing
- code image
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、入力される描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行いビットマップイメージを作成して印字装置等に出力を行う画像処理技術に関するものであり、特に、同じパターンを繰り返して描画するタイリングパターン機能を実現するための技術に関するものである。
【0002】
【従来の技術】
パーソナルコンピュータなどの上位処理装置から印字命令を受けた画像処理装置は、実際の印字情報である描画命令を受信して順に解釈し、ビットマップイメージを作成して出力する。この処理過程において、画像処理装置がページバッファを保持している場合には、解釈したビットマップイメージをそのままページバッファに書き込み(レンダリング処理)、ページ単位で出力する。また、ページバッファは多大な記憶容量を必要とするため、ページバッファではなく、1ページを複数に分割したバンド単位のバッファ(バンドバッファ)を保持している場合も多い。このような場合には、一度バンド単位の中間コード画像データに変換し、全ての描画命令の解釈および中間コード画像データの生成終了後、バンド単位で中間コード画像データを解釈し、ビットマップイメージをバンドバッファに書き込むレンダリング処理を行う。
【0003】
通常のレンダリング処理においては、それぞれの描画命令(あるいは描画命令から返還された中間コード画像データ)が持つ情報のみを参照して描画されるが、パターン描画やWindows(登録商標)のGDIがサポートするROP(Raster OPeration)3の描画では、パターンの情報を必要とする。ここで、パターンは描画命令とともに受け取った単一のパターンを使用する他、受け取ったパターンを繰り返して用いるタイリングパターン機能が提供されている。このタイリングパターン機能は、M×N画素のサイズのビットマップのパターンを繰り返し用いて仮想的に敷き詰める機能であり、この機能により、M×N画素の1つのパターン(=キーパターン)で広い領域にパターンを描画するものである。
【0004】
しかし、もともとパターン描画やROP3の描画はページを想定した描画であるため、中間コード画像データを使用してバンドバッファへ描画する場合においては、各バンドにおいてバンドバッファの原点とパターンとの位相を考慮する必要がある。バンドバッファの原点とパターンとの位相を考慮した一例として、特許文献1に記載されている方法がある。この特許文献1に記載されている方法は、オリジナルパターンビットマップをバンドバッファの原点まで後方伝搬させて基準パターンビットマップ(=キーパターン)を求め、基準パターンビットマップを基準にして指定された領域のパターンを決定するものである。
【0005】
しかし、この特許文献1に記載されている方法では、バンドバッファの原点を基準(=描画座標系)にしているため、キーパターンの左上の座標(=原点画素)とバンドバッファの原点が一致する場合を除き、キーパターンの原点座標は負になり、回路化を行なう場合に回路構成が複雑になるという欠点がある。
【0006】
それに対し、特許文献2に記載されている画像描画装置では、描画座標系をパターン座標系に変換してパターン座標系の座標で描画している。この方式によりキーパターンの座標は必ず非負の値となり、回路化が容易になる。
【0007】
上述のような従来のタイリングパターン機能は、基本的に上述のようにキーパターンを敷き詰める機能であるため、間隔を置いて描画し、隣り合うパターン間にキーパターンが存在しない領域を作ることができない。上述の2つの方法においても、隣り合うパターンは全て隙間なく敷き詰められることを前提としている。
【0008】
図10は、パターン間隔を指示可能な従来のタイリングパターン機能の一例の説明図である。例えばアドビ社のPostScript(登録商標)では、水平パターンセル間隔及び垂直パターンセル間隔を指定することができる。この場合、例えば図10(A)に示すキーパターンが与えられたとき、図10(B)に示すような水平パターンセル間隔及び垂直パターンセル間隔で指定された大きさのタイリング用パターンを生成し、このタイリング用パターンを敷き詰めるように描画している。このとき、キーパターンのサイズよりも大きな水平パターンセル間隔及び垂直パターンセル間隔が指定された場合には、透過するデータを追加してタイリング用パターンを生成し、上書き描画を行っている。
【0009】
しかし、このような従来のタイリングパターン機能では、隣接するキーパターン間については固定された透過の指示が行われるのみであり、例えば論理演算など、各種の処理を指示することができないという問題があった。
【0010】
【特許文献1】
特開平11−30979号公報
【特許文献2】
特開2002−32768号公報
【0011】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、タイリングパターン機能において、隣り合うパターン間にパターンが存在しない領域を設けることができ、種々の論理演算などの処理を可能とした画像処理装置を提供することを目的とするものである。
【0012】
【課題を解決するための手段】
本発明は、入力される描画命令あるいは描画命令から生成された中間コード画像データに基づいてレンダリング処理を行いビットマップイメージを作成する画像処理装置及び画像処理方法であって、同じパターンを繰り返して描画するタイリングパターン機能を有しており、描画命令によりパターンのサイズよりも大きな間隔でのタイリングパターン機能の使用を指示されたとき、隣り合うパターンの間にパターンが存在しない領域を設けるように描画する。タイリングパターン機能を使用した演算が指示されたときには、このパターンが存在しない領域での演算は、予め設定された値として演算を行うことを特徴としている。これによって、従来は透過による上書きしかできなかったパターンの間の部分において、種々の描画処理を指定し、実行することが可能となる。
【0013】
なお、パターンの間隔は、主走査線方向と副走査線方向について独立に設定可能に構成することができる。また、描画手段の全部又は一部の機能は専用の回路で構成することができる。この場合、タイリングパターン機能で使用するパターンは、専用の回路内のレジスタに保持するように構成し、高速化を図ることができる。
【0014】
さらに、タイリングパターン機能により描画を行う際には、上述の特許文献2と同様に、画像記憶手段の原点をその領域の内部に含む基準位置パターンに対する位置情報を保持し、前記パターンの原点位置に対する前記画像記憶手段の原点位置を示す位置情報に従って描画を行うように構成することができる。これによって、画像記憶手段における原点とパターンとの位相を正しく調整することが可能となる。例えばバンド単位でレンダリングする際にも、バンドに跨るパターンの位相を正確に合わせることができる。また、容易に回路化することが可能となる。
【0015】
【発明の実施の形態】
図1は、本発明の実施の一形態を示す機能ブロック図である。図中、1は上位処理装置、2は画像処理装置、3は印字装置、11は中間コード生成部、12は中間コードメモリ、13は中間コード画像データ展開部、14はバンドバッファ、15は出力制御部である。画像処理装置2は、本発明の画像処理装置あるいは本発明の画像処理方法を実現する装置の一例であり、この例では描画命令を受け取ってバンド毎の中間コード画像データを生成した後、バンド単位のビットマップイメージを作成し、出力する場合を示している。ここでは、描画命令は例えばパーソナルコンピュータなどの上位処理装置1から受け取り、作成したビットマップイメージを印字装置3に出力するものとして図示している。なお、上位処理装置1と画像処理装置2は、ケーブル接続されたり、あるいはLANなどのネットワークによって通信可能に接続されていてよい。また、画像処理装置2と印字装置3とは、配線などによって直結されている場合が多いが、これに限られるものではない。
【0016】
画像処理装置2は、中間コード生成部11、中間コードメモリ12、中間コード画像データ展開部13、バンドバッファ14、出力制御部15を含んで構成されている。中間コード生成部11は、上位処理装置1から送られてくる描画命令を受け取り、その描画命令を解釈してバンド単位の中間コード画像データを生成する。
【0017】
描画命令によりタイリングパターン機能が指示される場合、パターン及びそのパターンの大きさの情報とともに、パターンを配置する間隔を主走査方向及び副走査方向について独立に設定することができる。このような描画命令を受け取った中間コード生成部11では、パターンまたはパターンを示すポインタなどとともに、パターンの大きさや配置する間隔などを含む中間コード画像データを生成する。この中間コード画像データには、さらにオフセットの情報を含めておく。このオフセットは、バンドバッファ14に描画する際の当該バンドの描画領域の原点を含むような位置のパターンを基準位置パターンとし、その基準位置パターンの原点からの描画領域の原点の位置の情報を示すものである。詳細については後述する。
【0018】
中間コードメモリ12は、中間コード生成部11で生成した中間コード画像データを記憶する。また、例えば中間コード生成部11で上位処理装置1から受け取った描画命令を記憶するなど、中間コード生成部11における処理において利用することも可能である。
【0019】
中間コード画像データ展開部13は、本発明の描画手段の機能を含み、中間コードメモリ12からバンド単位に中間コード画像データを読み出してレンダリングし、ビットマップイメージを作成してバンドバッファ14に書き込む。このとき、中間コード画像データがタイリングパターン機能を指示するものである場合には、指定されたイメージを指定された間隔で繰り返し描画し、パターンを配置してゆく。指定された間隔がイメージの大きさより大きい場合には、隣接するパターン間に、パターンが存在しない隙間の領域が存在することになる。このパターンが存在しない領域については、例えば値を不定としておいたり、予め描画命令などで指示された値を書き込んだり、またはタイリングパターン機能の指示とともにパターンが存在しない領域の値を受け取り、これらの値とすることができる。
【0020】
さらに中間コード画像データ展開部13は、描画命令(中間コード画像データ)により論理演算(ROP)処理が指示された場合、指示されたROP処理を実行する。このとき、上述のようなタイリングパターン機能を利用したROP処理も可能である。上述のようにパターンが存在しない領域について値を設定することによって、様々なROP処理を行わせることが可能である。
【0021】
バンドバッファ14は本発明における画像記憶手段に対応するものであり、中間コード画像データ展開部13で展開したバンド単位のビットマップイメージを保持する。なお、バンドバッファ14は例えばカラーのビットマップイメージを記憶する際には、色成分毎に別々のプレーンとして記憶する面順次データとして記憶したり、あるいは画素毎にすべての色成分のデータを保持する点順次データとして記憶することができる。また、バンドバッファ14として、1バンド分の記憶領域を有するほか、複数バンド分の記憶領域を有し、中間コード画像データ展開部13によるビットマップイメージの書き込みと、出力制御部15による読み出しを並行して行えるように構成することもできる。ビットマップイメージとともに、対応する属性情報についても保持するように構成しても良い。
【0022】
出力制御部15は、バンドバッファ14に展開されたビットマップイメージを読み出し、印字装置3などに転送して画像を形成させる。
【0023】
図2は、本発明の実施の一形態における、より具体的な機能ブロック図である。図中、21は入力制御部、22は描画命令解釈部、23は中間コード画像データ生成部、31は中間コード画像データ解釈部、32は圧縮/伸長処理部、33は縮小/拡大処理部、34は色変換部、35は点面変換部、36は多値化変換部である。実線の矢印はデータの流れを示し、破線の矢印は制御の流れを示している。
【0024】
この例では、中間コード生成部11は、入力制御部21、描画命令解釈部22、中間コード画像データ生成部23を含んで構成されている。また中間コード画像データ展開部13は、中間コード画像データ解釈部31、圧縮/伸長処理部32、縮小/拡大処理部33、色変換部34、点面変換部35、多値化変換部36を含んで構成されている。
【0025】
入力制御部21は、上位処理装置1などから送られてくる描画命令を受信し、中間コードメモリ12に記憶させる。そして描画命令解釈部22を起動する。描画命令解釈部22は、中間コードメモリ12に記憶されている描画命令を順に読み出し、解釈する。そして、この描画命令の解釈処理によって得られた情報(属性情報、色情報、エッジ情報、イメージなど)を中間コード画像データ生成部23に引き渡す。中間コード画像データ生成部23は、上述の中間コード生成部11における中間コード画像データの生成に関する各種の機能を実行し、描画命令解釈部22から渡された情報から、バンド単位で中間コード画像データを生成し、中間コードメモリ12に格納する。
【0026】
図3は、従来の中間コード画像データの一例の説明図、図4は、本発明において用いる中間コード画像データの一例の説明図、図5は、同じく中間コード画像データ中の各種位置情報の説明図である。ここではタイリングパターン機能を利用する中間コード画像データについて示している。従来のタイリングパターン機能では、パターンを敷き詰めることしか想定していない。そのため、中間コード画像データとして保持する情報としては、図3に示すように、コマンドIDや敷き詰める元となるパターンと、そのパターンの幅及び高さ、パターンを拡大する際の拡大情報などとともに、位置情報として、パターンの原点画素のX、Y座標を保持する程度である。
【0027】
本発明では、図4に示すようにコマンドIDや敷き詰めるパターンの幅及び高さ、パターンを拡大する際の拡大情報とともに、位置情報として、X方向及びY方向のオフセット及びステップの情報を保持している。パターンの幅及び高さと、オフセット、ステップについては図5に示している。図5ではバンドバッファ14の描画領域全体にパターンを敷き詰めるものとして説明している。バンドバッファ14の描画領域の原点を含む位置に描画されるパターンをキーパターン(基準位置パターン)として、そのキーパターンを基準に示している。それぞれのオフセット及びステップは、
・オフセットX:キーパターンの原点座標Xからのバンドバッファ14の描画領域の原点までのx方向の距離
・オフセットY:キーパターンの原点座標Yからのバンドバッファ14の描画領域の原点までのy方向の距離
・ステップX:キーパターンの原点画素のX座標とx方向の次のパターンの原点画素のX座標との距離
・ステップY:キーパターンの原点画素のY座標とy方向の次のパターンの原点画素のY座標との距離
である。
【0028】
このステップXおよびステップYの情報として、パターン幅やパターン高さよりも大きい値を保持する場合、隣り合うパターン間にパターンが存在しない領域が生じることになる。本発明では、このようなパターンが存在しない領域をあえて設けることを可能とし、この領域に対してROP処理などの各種の処理が可能なように構成している。
【0029】
またオフセットXとオフセットYの情報として、上述のようにそれぞれキーパターンの原点とバンドバッファ14の描画領域の原点とのそれぞれの距離を設定することとした。これによって、特許文献2と同様にパターンをアクセスする際の座標を非負として中間コード画像データ展開部13の処理を軽減し、また専用の回路で構成した場合の座標変換処理を行う回路構成を簡易化することができる。
【0030】
図4に示した中間コード画像データの例では、繰り返して描画するパターンについては、中間コード画像データ中にはパターンへのポインタを保持するように構成している。これによって、パターンを別に保持することが可能となる。例えば中間コード画像データ解釈部31がアクセス可能なレジスタに保持することによって、高速なパターンへのアクセスを実現することができる。
【0031】
図6は、本発明において用いる中間コード画像データの別の例の説明図である。図6に示す例では、隣り合うパターンの間のパターンが存在しない領域に対して一律の値を指定できるように、制御情報と色指定の情報を格納可能に拡張したものである。制御情報は、隣り合うパターンの間のパターンが存在しない領域を無効とするか有効にするかを判別するための情報である。色指定は、制御情報の設定内容として、隣り合うパターンの間のパターンが存在しない領域を有効の場合に、隣り合うパターンの間のパターンが存在しない領域の色情報を指定するものである。例えば制御情報が、パターンが存在しない領域を有効としている場合、そのパターンが存在しない領域については色情報で指定された色によって塗りつぶされたビットマップイメージが得られることになる。このような中間コード画像データを用いることによって、タイリングパターン機能によりパターンを繰り返して描画する毎に、パターンが存在しない領域の有効/無効、及びパターンが存在しない領域を有効とした場合の色情報を設定することが可能となる。
【0032】
このほかにも、例えばパターンの反復回数などが指定可能であるなど、中間コード画像データとして様々な変形が可能である。
【0033】
図2に戻り、中間コード画像データ展開部13の中間コード画像データ解釈部31は、上述の中間コード画像データ展開部13の機能として説明した多くの機能を実行するものであり、中間コードメモリ12から中間コードを順に取り出して解釈し、バンド単位でバンドバッファ14に描画処理し、ビットマップイメージに展開する。このとき、図4に示したようなタイリングパターン機能を利用する中間コード画像データについては、描画領域の画素(X,Y)について、
X’=(X + オフセットX) % ステップX (式1−1)
Y’=(Y + オフセットY) % ステップY (式1−2)
を計算し、パターンの中から対応するパターン画素(X’,Y’)を決定する。そして、必要に応じて演算などを行った後、バンドバッファ14に描画する。なお、演算子‘%’は剰余を得るものである。
【0034】
ここで、得られたパターン画素の座標(X’,Y’)がそれぞれ、
パターン幅 ≦X’<ステップX (式2−1)
パターン高さ≦Y’<ステップY (式2−2)
の場合には、隣り合うパターンの間のパターンが存在しない領域を示している。この場合には、パターンの値を不定とし、バンドバッファ14への書き込みをキャンセルしたり、あるいは予め設定されている値を書き込むなど、種々の対応が可能である。また、中間コード画像データのデータ形式が図6に示すものである場合には、制御情報及び色情報に従って、隣り合うパターンの間のパターンが存在しない領域の値を決定すればよい。
【0035】
圧縮/伸長処理部32は、圧縮されたイメージや上述のようなパターンが圧縮されている場合、これを伸長する。縮小/拡大処理部33は、イメージや上述のようなパターンについて、中間コードメモリ12に格納されている中間コード画像データ中の拡大率に従って、イメージやパターンを縮小あるいは拡大処理する。色変換部34は、バンドバッファ14中のビットマップイメージに対して、それぞれの描画オブジェクトに応じた色空間変換処理や色補正処理などを行う。点面変換部35は、バンドバッファ14にビットマップイメージを記憶する際に、画素毎にすべての色成分のデータを保持する点順次データとして記憶しているとき、印字装置3が色成分毎に別々のプレーンとして記憶する面順次データを要求する場合には、点順次データから面順次データへ変換する。もちろん、面順次データとして記憶されているビットマップイメージを、点順次データへ変換する機能を有していても良い。多値化変換部36は、例えば2値のイメージやパターンを他の多値(カラー)イメージやパターンと同様に扱うために、2値を多値の最小値及び最大値に対応させ、2値のイメージやパターンを多値のイメージやパターンに変換する。
【0036】
なお、中間コード画像データ展開部13の全部又は一部の構成、あるいはさらにバンドバッファ14などは、専用の回路で構成することが可能である。これによって高速に処理を行うことが可能である。このとき、専用の回路内にタイリングパターン機能により繰り返して描画するパターンを保持するレジスタを設け、このレジスタにパターンを保持するように構成することができる。
【0037】
次に、本発明の実施の一形態における動作の一例について説明する。上述のようなパターンを用いてタイリングパターン機能により描画処理を行う中間コード画像データとしては、そのパターンを描画する場合の他、ROP3演算描画命令において利用する場合がある。図7は、ROP3演算の一例の説明図である。ROP3演算は、2つの描画データ(ブラシとソース)のビットマップイメージと下地データ(デスティネーション)のビットマップイメージの3つの入力に対して演算を施した結果をデスティネーションとして格納するものである。図7に示すように、ブラシのビットマップイメージの各ビット毎に、0あるいは1の値に従い、2種類のROP2演算(図中のROP2(1)とROP2(2))の切り替えを行う。ROP2はソースとデスティネーションとの間の論理演算を行うものであり、ROP3演算が指示されることによって2種類のROP2演算が決定される。通常、デスティネーションはバンドバッファ14に既に書き込まれているビットマップイメージであり、演算結果はデスティネーションとしてバンドバッファ14に書き戻される。このようなROP3演算において、ブラシのビットマップイメージを描画する際に、タイリングパターン機能が利用されている。
【0038】
図8は、ROP3演算を含む描画処理の実行シーケンスの具体例の説明図である。図中、Sはソース、Bはブラシ、Dはデスティネーションを示しており、デスティネーションについてはバンドバッファ14に保持されている画像を示している。
【0039】
図8に示す例では、まず▲1▼において、パターンを必要としない中間コード画像データ(描画用中間コード画像データ)を実行し、描画オブジェクトの描画処理を行っている。この描画用中間コード画像データによって、バンドバッファ14にビットマップイメージが描画される。
【0040】
続いて▲2▼において、タイリングパターン機能を用いたブラシとなるビットマップイメージを生成するための中間コード画像データが処理されるが、ここでは実際にバンドバッファ14に描画されることはなく、パターンや中間コード画像データ中のパターンに関する各値が保持される。また、図4にも示したように、タイリングパターン機能を使用する際のパターンは中間コード画像データからポインタにより参照されるように構成している。従って中間コード画像データを読み出しただけではパターン自体は中間コードメモリ12に保存されていることになる。例えば中間コード画像データ展開部13(中間コード画像データ解釈部31)を専用の回路で構成する場合には、パターンを伴う中間コード画像データを解釈した時点でパターンを専用の回路内のレジスタにDMAなどにより転送しておくと良い。これによって、以降の処理においてパターンに対してアクセスする場合には処理を高速化することができる。
【0041】
次の▲3▼において、ROP3演算描画命令を伴う中間コード画像データを実行する。このROP3演算描画命令を伴う中間コード画像データは、基本的には描画オブジェクトを描画するものであり、描画されるビットマップイメージがソースとなる。そして、▲2▼のパターン(及びタイリングパターン機能により繰り返されるパターン)をブラシとし、この時点までにバンドバッファ14に書き込まれているビットマップイメージをデスティネーションとして、指示されたROP3演算が実行される。
【0042】
このROP3演算は画素毎に実行されるが、ソースは▲3▼の中間コード画像データにより描画するビットマップイメージであるし、デスティネーションは既にバンドバッファ14に描画されているビットマップイメージであるからバンドバッファ14から読み出せばよい。ブラシとなるパターンは、広い領域に対してもレジスタに格納されている1つのパターンのみである。従って、描画対象の画素の座標(X,Y)から、上述の式(1−1)及び式(1−2)によりパターン中の座標(X’,Y’)を算出し、X’、Y’がパターン幅及びパターン高さ未満であれば、レジスタ内のパターンをアクセスして値を取得し、ブラシとする。そして、ソース、デスティネーションとともにROP3演算を行って、デスティネーションであるバンドバッファ14に書き込めばよい。
【0043】
パターン中の座標(X’,Y’)が式(2−1)、式(2−2)を満たす場合には、パターンが存在しない。この場合にはパターンの値を不定とし、エラーを通知するなり、指定された画素に対する演算およびバンドバッファへの書き込みをキャンセルすることにより対処することができる。あるいは、パターンの全てのビットの値を0または1に固定し、ROP3演算を実行するように構成することもできる。さらに、このようなROP3演算を指示する中間コード画像データよりも前に、このような隣接するパターンの間のパターンが存在しない領域での値を予め設定できるように構成しておき、ROP3演算時にはパターンが存在しない領域については予め設定されている値を用いて演算することもできる。中間コード画像データが図6に示すようなデータ形式である場合には、制御情報及び色情報に従ってパターンが存在しない領域の値を決定し、ROP3演算を行うことができる。このようにして、タイリングパターン機能を利用してパターンをブラシとしたROP3演算を行うことができる。
【0044】
次の▲4▼においては、▲1▼と同様、パターンを必要としない中間コード画像データ(描画用中間コード画像データ)を実行し、描画オブジェクトの描画処理を行っている。この描画用中間コード画像データによって、ROP3演算の演算結果のビットマップイメージ上に新たな描画オブジェクトが描画される。
【0045】
▲5▼においては、再びパターンを用いたROP3演算描画命令の中間コード画像データが実行される。▲3▼と同様に、この中間コード画像データにより描画されるビットマップイメージがソースとなる。そして、この時点までにバンドバッファ14に書き込まれているビットマップイメージがデスティネーションとなる。ブラシは、ここまでのステップで最後に設定されたパターン、すなわち▲2▼のパターン(及びタイリングパターン機能により繰り返されるパターン)がブラシとして使用される。これらのソース、ブラシ、デスティネーションによって、指示されたROP3演算が実行される。演算結果はバンドバッファ14に書き戻される。
【0046】
次の▲6▼及び▲7▼では、ROP3演算ではなく、パターンをタイリングパターン機能により描画する場合を示している。まず▲6▼において、新たにパターン生成用の中間コード画像データが実行されると、それまで保持されていたパターン情報は全て更新され、▲6▼のパターンがレジスタに転送されるとともに、パターンに関する各値が保持される。▲7▼のパターン描画用の中間コード画像データは、既に保存されているパターンを利用した描画を行う命令であり、クリップ用のイメージを描画するものである。従って、▲6▼のパターンが繰り返して描画されるとともに、▲7▼で描画される領域によってクリップされることになる。その結果がバンドバッファに書き込まれる。
【0047】
このようにして、タイリングパターン機能を利用し、パターンを繰り返して描画することができる。なお、▲8▼は通常の描画処理であり、中間コード画像データに従って描画オブジェクトの描画処理が行われる。
【0048】
図9は、描画結果の一例の説明図である。図9においては、ハッチングを異ならせて色の違いを示している。図9(A)に示すように大きな矩形が描画されているビットマップイメージをデスティネーションとし、図9(B)に示すような小さな矩形をパターンとしてROP3演算を行う。これによって、例えば図9(C)に示すような画像が得られる。図9(C)においてハッチングを変更しているように、大きな矩形及び小さな矩形ともROP3演算によって色が変更されている。従来では、パターンを用いたタイリングパターン機能では、パターンの存在しない部分では透過させた上書きしかできなかったが、本発明では上述のようにしてROP演算などを行うことができる。
【0049】
以上、本発明の実施の一形態について説明したが、本発明はこの実施の形態に限られるものではなく、種々の変形が可能である。例えば上述の説明ではパターンに対する拡大縮小については触れていないが、図4や図6に示した中間コード画像データの拡大情報としてX方向拡大率とY方向拡大率を設定することによって、パターンをX方向、Y方向に拡大あるいは縮小したパターンを用いてタイリングパターン機能により繰り返して描画を行うことができる。この場合には、パターン中の座標を算出する際に、式(1−1)、式(1−2)を用いる代わりに、
X’=((X+オフセットX)/X方向拡大率)%ステップX
Y’=((Y+オフセットY)/Y方向拡大率)%ステップY
なる式を用い、この式により求めた座標(X’,Y’)によりパターンをアクセスすればよい。
【0050】
また上述の説明では、バンド毎に中間コード画像データを生成してからレンダリング処理を行っているが、例えばページ単位にレンダリングしたり、中間コード画像データを生成せずに描画命令から直接、レンダリング処理を行うように構成しても良い。
【0051】
【発明の効果】
以上の説明から明らかなように、本発明によれば、タイリングパターン機能においてパターンを繰り返して描画する際に、隣り合うパターンの間にパターンが存在しない領域を設けることができ、その領域の値を所定値や予め設定しておいた値、あるいはその都度指定する値とすることができる。これによって、従来は透過による上書きしかできなかったパターンの間の部分において、種々の描画処理を指定し、実行することが可能となるという効果がある。
【0052】
また、描画領域の原点をその領域の内部に含むパターンに対する位置情報を持つことにより、パターンを繰り返して描画する際にパターンをアクセスする際の座標を非負の値とすることができるので、専用の回路で実現する場合でも回路構成を簡易化することができる。また、バンド単位でレンダリングする構成においては、それぞれのバンドに対してバンドバッファの原点とパターンとの位相を正しく調整することが可能となる。これによりバンドに跨るパターンの位相が保証された高品質の画像を形成することが可能になるという効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の一形態を示す機能ブロック図である。
【図2】 本発明の実施の一形態における、より具体的な機能ブロック図である。
【図3】 従来の中間コード画像データの一例の説明図である。
【図4】 本発明において用いる中間コード画像データの一例の説明図である。
【図5】 本発明において用いる中間コード画像データ中の各種位置情報の説明図である。
【図6】 本発明において用いる中間コード画像データの別の例の説明図である。
【図7】 ROP3演算の一例の説明図である。
【図8】 ROP3演算を含む描画処理の実行シーケンスの具体例の説明図である。
【図9】 描画結果の一例の説明図である。
【図10】 パターン間隔を指示可能な従来のタイリングパターン機能の一例の説明図である。
【符号の説明】
1…上位処理装置、2…画像処理装置、3…印字装置、11…中間コード生成部、12…中間コードメモリ、13…中間コード画像データ展開部、14…バンドバッファ、15…出力制御部、21…入力制御部、22…描画命令解釈部、23…中間コード画像データ生成部、31…中間コード画像データ解釈部、32…圧縮/伸長処理部、33…縮小/拡大処理部、34…色変換部、35…点面変換部、36…多値化変換部。
Claims (8)
- 同じパターンを繰り返して描画するタイリングパターン機能を有する画像処理装置において、入力された描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行いビットマップイメージを作成する描画手段と、前記ビットマップイメージを保持する画像記憶手段を有し、前記描画手段は、前記描画命令により前記パターンのサイズよりも大きな間隔での前記タイリングパターン機能を使用した演算が指示されたとき、隣り合う前記パターンの間に前記パターンが存在しない領域を設け、該パターンが存在しない領域で演算が実行される場合には、予め設定された値として演算を行うことを特徴とする画像処理装置。
- 前記間隔は、主走査線方向と副走査線方向について独立に設定できることを特徴とする請求項1に記載の画像処理装置。
- 前記描画手段は、前記タイリングパターン機能により描画を行う際に、前記パターンの原点位置に対する前記画像記憶手段の原点位置を示す位置情報に従って描画を行うことを特徴とする請求項1または請求項2に記載の画像処理装置。
- 前記描画手段の全部または一部の機能は、専用の回路で構成されていることを特徴とする請求項1ないし請求項3のいずれか1項に記載の画像処理装置。
- 前記描画手段は、前記パターンを用いて演算を行う際には、該パターンを前記専用の回路内のレジスタに保持することを特徴とする請求項4に記載の画像処理装置。
- 入力される描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行いビットマップイメージを作成する画像処理方法であって、同じパターンを繰り返して描画するタイリングパターン機能を有し、前記描画命令により前記パターンのサイズよりも大きな間隔での前記タイリングパターン機能を使用した演算が指示されたとき、隣り合う前記パターンの間に前記パターンが存在しない領域を設け、該パターンが存在しない領域で演算が実行される場合には、予め設定された値として演算を行うことを特徴とする画像処理方法。
- 前記間隔は、主走査線方向と副走査線方向について独立に設定できることを特徴とする請求項6に記載の画像処理方法。
- 前記タイリングパターン機能により描画を行う際に、前記パターンの原点位置に対する前記画像記憶手段の原点位置を示す位置情報に従って描画を行うことを特徴とする請求項6または請求項7に記載の画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121653A JP4257503B2 (ja) | 2003-04-25 | 2003-04-25 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121653A JP4257503B2 (ja) | 2003-04-25 | 2003-04-25 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326528A JP2004326528A (ja) | 2004-11-18 |
JP4257503B2 true JP4257503B2 (ja) | 2009-04-22 |
Family
ID=33500147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003121653A Expired - Fee Related JP4257503B2 (ja) | 2003-04-25 | 2003-04-25 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4257503B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6080405B2 (ja) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
-
2003
- 2003-04-25 JP JP2003121653A patent/JP4257503B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004326528A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11147335A (ja) | 描画処理装置 | |
JP2019165503A (ja) | 印刷データ処理装置及びプログラム | |
JPH10243210A (ja) | 画像処理装置及びその方法 | |
JP3145509B2 (ja) | 文字生成方法及びその装置 | |
JPH0378651B2 (ja) | ||
JP2817687B2 (ja) | 画像形成装置 | |
JPH04128970A (ja) | 文書処理システム | |
JP4257503B2 (ja) | 画像処理装置及び画像処理方法 | |
US7787707B2 (en) | Image-processing device performing image process on raster image data in response to received specific code | |
JP2011053263A (ja) | 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体 | |
JP2000255117A (ja) | 印刷処理装置および印刷処理方法 | |
JPH0729021A (ja) | 画像出力装置 | |
JP6882099B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6238589B2 (ja) | 画像形成装置、画像処理方法、およびプログラム | |
JP6492895B2 (ja) | 印刷データ処理装置及びプログラム | |
JP6755644B2 (ja) | 文字処理装置、文字処理方法、文字処理プログラム | |
JP2002024840A (ja) | 描画処理装置 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP2010171597A (ja) | 画像処理装置 | |
JP3480117B2 (ja) | 文書印刷装置および方法 | |
JPH10151815A (ja) | 印刷処理装置 | |
JP2009066926A (ja) | 画像処理装置及び画像形成システム | |
JP3467753B2 (ja) | 画像処理システム、画像処理方法および画像処理モジュールを記録した媒体 | |
JP2007249403A (ja) | 画像データ処理システムおよびその方法 | |
JP3220437B2 (ja) | 出力制御装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081121 |
|
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: 20090107 |
|
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: 20090120 |
|
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: 20120213 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140213 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |