JP2004326528A - Image processor and image processing method - Google Patents
Image processor and image processing method Download PDFInfo
- Publication number
- JP2004326528A JP2004326528A JP2003121653A JP2003121653A JP2004326528A JP 2004326528 A JP2004326528 A JP 2004326528A JP 2003121653 A JP2003121653 A JP 2003121653A JP 2003121653 A JP2003121653 A JP 2003121653A JP 2004326528 A JP2004326528 A JP 2004326528A
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- intermediate code
- image processing
- image data
- area
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、入力される描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行いビットマップイメージを作成して印字装置等に出力を行う画像処理技術に関するものであり、特に、同じパターンを繰り返して描画するタイリングパターン機能を実現するための技術に関するものである。
【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…多値化変換部。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing technique for performing a rendering process based on an input drawing command or intermediate code image data generated from the drawing command to create a bitmap image and outputting the bitmap image to a printing device or the like, In particular, the present invention relates to a technique for realizing a tiling pattern function of repeatedly drawing the same pattern.
[0002]
[Prior art]
An image processing apparatus that receives a print command from a higher-level processing device such as a personal computer receives and sequentially interprets a drawing command, which is actual print information, and creates and outputs a bitmap image. In this process, if the image processing device holds a page buffer, the interpreted bitmap image is written as is to the page buffer (rendering process) and output in page units. Further, since the page buffer requires a large storage capacity, it often holds not a page buffer but a buffer (band buffer) in units of bands obtained by dividing one page into a plurality. In such a case, the intermediate code image data is converted into band-based intermediate code image data once, all the rendering commands are interpreted, and the intermediate code image data is generated. Performs rendering processing to write to the band buffer.
[0003]
In the normal rendering process, rendering is performed by referring only to information included in each rendering command (or the intermediate code image data returned from the rendering command), but pattern rendering and Windows (registered trademark) GDI are supported. Drawing of ROP (Raster Operation) 3 requires pattern information. Here, a single pattern received together with the drawing command is used as the pattern, and a tiling pattern function for repeatedly using the received pattern is provided. This tiling pattern function is a function of virtually laying down by repeatedly using a bitmap pattern having a size of M × N pixels. With this function, one pattern (= key pattern) of M × N pixels has a large area. This is for drawing a pattern.
[0004]
However, since pattern drawing and ROP3 drawing are originally intended for pages, when drawing to a band buffer using intermediate code image data, the phase between the origin of the band buffer and the pattern is considered in each band. There is a need to. As an example in consideration of the phase between the origin of the band buffer and the pattern, there is a method described in
[0005]
However, in the method described in
[0006]
On the other hand, in the image drawing apparatus described in
[0007]
Since the conventional tiling pattern function as described above is basically a function of laying down key patterns as described above, it is possible to draw at intervals and create an area where no key pattern exists between adjacent patterns. Can not. Also in the above two methods, it is assumed that all adjacent patterns are laid without gaps.
[0008]
FIG. 10 is an explanatory diagram of an example of a conventional tiling pattern function capable of designating a pattern interval. For example, in Adobe PostScript (registered trademark), a horizontal pattern cell interval and a vertical pattern cell interval can be specified. In this case, for example, when the key pattern shown in FIG. 10A is given, a tiling pattern having a size designated by the horizontal pattern cell interval and the vertical pattern cell interval shown in FIG. 10B is generated. Then, the tiling pattern is drawn so as to be spread. At this time, when a horizontal pattern cell interval and a vertical pattern cell interval that are larger than the size of the key pattern are designated, transparent data is added to generate a tiling pattern, and overwriting is performed.
[0009]
However, in such a conventional tiling pattern function, only a fixed transmission instruction is performed between adjacent key patterns, and there is a problem that various processes such as a logical operation cannot be specified. there were.
[0010]
[Patent Document 1]
JP-A-11-30979
[Patent Document 2]
JP 2002-32768 A
[0011]
[Problems to be solved by the invention]
The present invention has been made in view of the above circumstances, and in the tiling pattern function, an area where no pattern exists between adjacent patterns can be provided, and image processing that enables processing such as various logical operations can be performed. It is intended to provide a device.
[0012]
[Means for Solving the Problems]
The present invention relates to an image processing apparatus and an image processing method for performing a rendering process based on an input drawing command or intermediate code image data generated from the drawing command to create a bitmap image, and repeatedly drawing the same pattern. When the drawing command instructs to use the tiling pattern function at intervals larger than the size of the pattern, an area where no pattern exists between adjacent patterns is provided. It is characterized by drawing. In an area where this pattern does not exist, for example, when the calculation is performed, the calculation can be performed with the value being undefined, or the calculation can be performed as a designated value. As a result, it is possible to designate and execute various drawing processes in a portion between patterns that could only be overwritten by transmission in the past.
[0013]
Note that the pattern interval can be configured to be independently settable in the main scanning line direction and the sub-scanning line direction. Further, all or a part of the function of the drawing means can be constituted by a dedicated circuit. In this case, the pattern used in the tiling pattern function is configured to be held in a register in a dedicated circuit, and the speed can be increased.
[0014]
Further, when performing drawing by the tiling pattern function, similarly to the above-mentioned
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a functional block diagram showing an embodiment of the present invention. In the figure, 1 is an upper processing device, 2 is an image processing device, 3 is a printing device, 11 is an intermediate code generation unit, 12 is an intermediate code memory, 13 is an intermediate code image data development unit, 14 is a band buffer, and 15 is an output. It is a control unit. The
[0016]
The
[0017]
When the tiling pattern function is instructed by the drawing command, the intervals at which the patterns are arranged can be set independently in the main scanning direction and the sub-scanning direction, together with information on the pattern and the size of the pattern. The intermediate
[0018]
The intermediate code memory 12 stores the intermediate code image data generated by the
[0019]
The intermediate code image
[0020]
Further, when a logical operation (ROP) process is instructed by a rendering command (intermediate code image data), the intermediate code image
[0021]
The band buffer 14 corresponds to the image storage means in the present invention, and holds a bitmap image in band units developed by the intermediate code image
[0022]
The
[0023]
FIG. 2 is a more specific functional block diagram according to the embodiment of the present invention. In the figure, 21 is an input control unit, 22 is a rendering command interpretation unit, 23 is an intermediate code image data generation unit, 31 is an intermediate code image data interpretation unit, 32 is a compression / decompression processing unit, 33 is a reduction / enlargement processing unit, 34 is a color conversion unit, 35 is a point plane conversion unit, and 36 is a multi-value conversion unit. The solid arrows indicate the flow of data, and the dashed arrows indicate the flow of control.
[0024]
In this example, the intermediate
[0025]
The
[0026]
3 is an explanatory diagram of an example of conventional intermediate code image data, FIG. 4 is an explanatory diagram of an example of intermediate code image data used in the present invention, and FIG. 5 is a description of various position information in the intermediate code image data. FIG. Here, the intermediate code image data using the tiling pattern function is shown. In the conventional tiling pattern function, it is assumed that only the pattern is spread. Therefore, as shown in FIG. 3, the information held as the intermediate code image data includes the command ID, the pattern to be spread, the width and height of the pattern, the enlargement information for enlarging the pattern, and the like. It is enough to hold the X and Y coordinates of the origin pixel of the pattern as information.
[0027]
In the present invention, as shown in FIG. 4, the offset and step information in the X and Y directions are stored as position information together with the command ID, the width and height of the pattern to be spread, and the enlarged information when the pattern is enlarged. I have. FIG. 5 shows the width, height, offset, and step of the pattern. FIG. 5 illustrates that the pattern is spread over the entire drawing area of the band buffer 14. A pattern drawn at a position including the origin of the drawing area of the band buffer 14 is shown as a key pattern (reference position pattern) with reference to the key pattern. Each offset and step is
Offset X: distance in the x direction from the origin coordinate X of the key pattern to the origin of the drawing area of the band buffer 14
Offset Y: distance in the y direction from the origin coordinate Y of the key pattern to the origin of the drawing area of the band buffer 14
Step X: distance between the X coordinate of the origin pixel of the key pattern and the X coordinate of the origin pixel of the next pattern in the x direction
Step Y: distance between Y coordinate of origin pixel of key pattern and Y coordinate of origin pixel of next pattern in y direction
It is.
[0028]
When a value larger than the pattern width or the pattern height is held as the information of the step X and the step Y, an area where no pattern exists exists between adjacent patterns. In the present invention, it is possible to intentionally provide an area where such a pattern does not exist, and to perform various processing such as ROP processing on this area.
[0029]
Further, as the information of the offset X and the offset Y, the respective distances between the origin of the key pattern and the origin of the drawing area of the band buffer 14 are set as described above. As a result, the process of the intermediate code image
[0030]
In the example of the intermediate code image data shown in FIG. 4, for a pattern to be repeatedly drawn, a pointer to the pattern is held in the intermediate code image data. This makes it possible to hold the pattern separately. For example, by storing the data in a register accessible by the intermediate code image data interpretation unit 31, high-speed access to a pattern can be realized.
[0031]
FIG. 6 is an explanatory diagram of another example of the intermediate code image data used in the present invention. In the example shown in FIG. 6, control information and color designation information are expanded so as to be able to be stored so that a uniform value can be designated for an area where no pattern exists between adjacent patterns. The control information is information for determining whether to invalidate or validate an area where no pattern exists between adjacent patterns. The color specification is to specify color information of an area where no pattern exists between adjacent patterns when an area where no pattern exists between adjacent patterns is valid as the setting content of the control information. For example, if the control information indicates that a region where a pattern does not exist is valid, a bitmap image filled with the color specified by the color information is obtained for an area where the pattern does not exist. By using such intermediate code image data, every time a pattern is repeatedly drawn by the tiling pattern function, the validity / invalidity of the area where the pattern does not exist and the color information when the area where the pattern does not exist are validated Can be set.
[0032]
In addition, various modifications are possible as intermediate code image data, for example, the number of pattern repetitions can be specified.
[0033]
Returning to FIG. 2, the intermediate code image data interpretation unit 31 of the intermediate code image
X ′ = (X + offset X)% Step X (Equation 1-1)
Y ′ = (Y + offset Y)% Step Y (Equation 1-2)
Is calculated, and the corresponding pattern pixel (X ′, Y ′) is determined from the pattern. Then, after performing calculations and the like as necessary, the image is drawn in the band buffer 14. Note that the operator '%' obtains a remainder.
[0034]
Here, the coordinates (X ′, Y ′) of the obtained pattern pixel are respectively
Pattern width ≦ X ′ <Step X (Equation 2-1)
Pattern height ≦ Y ′ <Step Y (Equation 2-2)
In the case of (1), it indicates an area where no pattern exists between adjacent patterns. In this case, various measures are possible, such as making the value of the pattern indefinite and canceling the writing to the band buffer 14, or writing a preset value. When the data format of the intermediate code image data is as shown in FIG. 6, the value of an area where no pattern exists between adjacent patterns may be determined according to the control information and the color information.
[0035]
The compression / decompression processing unit 32 decompresses a compressed image or a pattern as described above, if it has been compressed. The reduction / enlargement processing unit 33 reduces or enlarges the image or the pattern according to the enlargement ratio in the intermediate code image data stored in the intermediate code memory 12 with respect to the image or the pattern as described above. The color conversion unit 34 performs a color space conversion process, a color correction process, and the like on the bitmap image in the band buffer 14 according to each drawing object. When storing the bitmap image in the band buffer 14, the dot plane conversion unit 35 stores the data of all color components for each pixel as dot-sequential data. When requesting plane-sequential data to be stored as separate planes, conversion is performed from point-sequential data to plane-sequential data. Of course, it may have a function of converting a bitmap image stored as plane-sequential data into dot-sequential data. For example, in order to treat a binary image or pattern in the same manner as another multi-value (color) image or pattern, the multi-value conversion unit 36 associates the binary with the multi-value minimum and maximum values, and Is converted to a multi-valued image or pattern.
[0036]
The whole or a part of the structure of the intermediate code image
[0037]
Next, an example of an operation according to the embodiment of the present invention will be described. The intermediate code image data for performing the drawing process by the tiling pattern function using the pattern as described above may be used in the ROP3 calculation drawing command in addition to the case of drawing the pattern. FIG. 7 is an explanatory diagram of an example of the ROP3 operation. The ROP3 operation stores, as a destination, a result obtained by performing an operation on three inputs of a bitmap image of two drawing data (brush and source) and a bitmap image of background data (destination). As shown in FIG. 7, two types of ROP2 operations (ROP2 (1) and ROP2 (2) in the figure) are switched according to a value of 0 or 1 for each bit of the bitmap image of the brush. ROP2 performs a logical operation between the source and the destination, and when the ROP3 operation is specified, two types of ROP2 operations are determined. Normally, the destination is a bitmap image that has already been written to the band buffer 14, and the operation result is written back to the band buffer 14 as the destination. In such ROP3 calculation, a tiling pattern function is used when drawing a bitmap image of a brush.
[0038]
FIG. 8 is an explanatory diagram of a specific example of the execution sequence of the drawing process including the ROP3 operation. In the figure, S indicates a source, B indicates a brush, D indicates a destination, and the destination indicates an image held in the band buffer 14.
[0039]
In the example shown in FIG. 8, first, in (1), intermediate code image data that does not require a pattern (intermediate code image data for drawing) is executed to perform a drawing process of a drawing object. A bitmap image is drawn in the band buffer 14 by the drawing intermediate code image data.
[0040]
Subsequently, in (2), intermediate code image data for generating a bitmap image to be a brush using the tiling pattern function is processed. However, here, the intermediate code image data is not actually drawn in the band buffer 14, Each value related to the pattern or the pattern in the intermediate code image data is held. Further, as shown in FIG. 4, the pattern when the tiling pattern function is used is configured to be referred to by a pointer from the intermediate code image data. Therefore, the pattern itself is stored in the intermediate code memory 12 simply by reading the intermediate code image data. For example, when the intermediate code image data developing unit 13 (intermediate code image data interpreting unit 31) is configured by a dedicated circuit, the pattern is transferred to a register in the dedicated circuit when the intermediate code image data accompanied by the pattern is interpreted. It is good to transfer it by such as. This makes it possible to speed up the processing when accessing the pattern in the subsequent processing.
[0041]
In the following (3), the intermediate code image data accompanied by the ROP3 operation drawing command is executed. The intermediate code image data accompanying the ROP3 operation drawing command basically draws a drawing object, and the bitmap image to be drawn is a source. Then, the designated ROP3 operation is executed using the pattern (2) (and the pattern repeated by the tiling pattern function) as a brush and the bitmap image written in the band buffer 14 up to this point as a destination. You.
[0042]
Although this ROP3 operation is executed for each pixel, the source is a bitmap image drawn by the intermediate code image data of (3), and the destination is a bitmap image already drawn in the band buffer 14. What is necessary is just to read from the band buffer 14. The pattern serving as the brush is only one pattern stored in the register even for a wide area. Therefore, the coordinates (X ′, Y ′) in the pattern are calculated from the coordinates (X, Y) of the pixel to be drawn by the above-described equations (1-1) and (1-2), and X ′, Y If 'is less than the pattern width and pattern height, the pattern in the register is accessed to obtain a value, and the value is used as a brush. Then, the ROP3 operation may be performed together with the source and the destination, and the result may be written into the band buffer 14 as the destination.
[0043]
If the coordinates (X ′, Y ′) in the pattern satisfy Expressions (2-1) and (2-2), no pattern exists. In this case, the value of the pattern is undefined, an error is notified, or the operation can be dealt with by canceling the calculation for the designated pixel and the writing to the band buffer. Alternatively, the configuration may be such that the values of all the bits of the pattern are fixed to 0 or 1, and the ROP3 operation is executed. Further, before the intermediate code image data instructing such ROP3 operation, a value in an area where no pattern exists between such adjacent patterns is configured to be set in advance. For an area where no pattern exists, the calculation can be performed using a preset value. When the intermediate code image data has a data format as shown in FIG. 6, it is possible to determine the value of the area where no pattern exists according to the control information and the color information, and perform the ROP3 operation. In this way, the ROP3 calculation using the pattern as a brush can be performed using the tiling pattern function.
[0044]
In the following (4), similar to (1), the intermediate code image data (intermediate code image data for drawing) that does not require a pattern is executed to perform the drawing processing of the drawing object. With this drawing intermediate code image data, a new drawing object is drawn on the bitmap image of the calculation result of the ROP3 calculation.
[0045]
In (5), the intermediate code image data of the ROP3 operation drawing command using the pattern is executed again. As in (3), the source is a bitmap image drawn by the intermediate code image data. Then, the bitmap image written in the band buffer 14 up to this point is the destination. As the brush, the pattern set last in the steps so far, that is, the pattern (2) (and the pattern repeated by the tiling pattern function) is used as the brush. The designated ROP3 operation is executed by these source, brush, and destination. The calculation result is written back to the band buffer 14.
[0046]
The following (6) and (7) show the case where a pattern is drawn by the tiling pattern function instead of the ROP3 calculation. First, in (6), when the intermediate code image data for pattern generation is newly executed, all the pattern information held so far is updated, and the pattern of (6) is transferred to the register and Each value is retained. The intermediate code image data for pattern drawing of (7) is a command for performing drawing using the already stored pattern, and is for drawing a clip image. Therefore, the pattern (6) is repeatedly drawn, and is clipped by the area drawn in (7). The result is written to the band buffer.
[0047]
In this way, the pattern can be repeatedly drawn using the tiling pattern function. Note that {circle around (8)} is a normal drawing process in which a drawing object is drawn according to the intermediate code image data.
[0048]
FIG. 9 is an explanatory diagram of an example of a drawing result. In FIG. 9, the hatching is different to show the difference in color. The ROP3 operation is performed using a bitmap image in which a large rectangle is drawn as shown in FIG. 9A as a destination and a small rectangle as shown in FIG. 9B as a pattern. As a result, for example, an image as shown in FIG. 9C is obtained. As shown by the hatching in FIG. 9C, the color of both the large rectangle and the small rectangle is changed by the ROP3 calculation. Conventionally, in a tiling pattern function using a pattern, only a transparent overwrite can be performed in a portion where no pattern exists, but in the present invention, the ROP operation or the like can be performed as described above.
[0049]
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to this Embodiment, A various deformation | transformation is possible. For example, although the above description does not refer to the enlargement / reduction of the pattern, the X-direction enlargement ratio and the Y-direction enlargement ratio are set as the enlargement information of the intermediate code image data shown in FIGS. Drawing can be repeatedly performed by a tiling pattern function using a pattern enlarged or reduced in the Y direction. In this case, when calculating the coordinates in the pattern, instead of using Expressions (1-1) and (1-2),
X ′ = ((X + offset X) / X direction magnification)% step X
Y ′ = ((Y + offset Y) / Y-direction magnification)% step Y
The pattern may be accessed using the following formula and the coordinates (X ′, Y ′) obtained by this formula.
[0050]
In the above description, rendering processing is performed after generating intermediate code image data for each band. However, for example, rendering is performed in units of pages, or rendering processing is performed directly from a drawing command without generating intermediate code image data. May be performed.
[0051]
【The invention's effect】
As is apparent from the above description, according to the present invention, when a pattern is repeatedly drawn in the tiling pattern function, an area where no pattern exists between adjacent patterns can be provided, and the value of the area can be set. May be a predetermined value, a preset value, or a value designated each time. As a result, there is an effect that various drawing processes can be designated and executed in a portion between patterns which could only be overwritten by transmission in the past.
[0052]
In addition, by having position information for a pattern that includes the origin of the drawing area inside the area, the coordinates when accessing the pattern when drawing the pattern repeatedly can be set to a non-negative value. The circuit configuration can be simplified even when it is realized by a circuit. Further, in a configuration in which rendering is performed in band units, it is possible to correctly adjust the phase between the origin of the band buffer and the pattern for each band. As a result, there is an effect that it is possible to form a high-quality image in which the phase of the pattern over the band is guaranteed.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing an embodiment of the present invention.
FIG. 2 is a more specific functional block diagram according to the embodiment of the present invention.
FIG. 3 is an explanatory diagram of an example of conventional intermediate code image data.
FIG. 4 is an explanatory diagram of an example of intermediate code image data used in the present invention.
FIG. 5 is an explanatory diagram of various position information in intermediate code image data used in the present invention.
FIG. 6 is an explanatory diagram of another example of intermediate code image data used in the present invention.
FIG. 7 is an explanatory diagram of an example of a ROP3 calculation.
FIG. 8 is an explanatory diagram of a specific example of an execution sequence of a drawing process including a ROP3 operation.
FIG. 9 is an explanatory diagram of an example of a drawing result.
FIG. 10 is an explanatory diagram of an example of a conventional tiling pattern function capable of designating a pattern interval.
[Explanation of symbols]
DESCRIPTION OF
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121653A JP4257503B2 (en) | 2003-04-25 | 2003-04-25 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121653A JP4257503B2 (en) | 2003-04-25 | 2003-04-25 | Image processing apparatus and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326528A true JP2004326528A (en) | 2004-11-18 |
JP4257503B2 JP4257503B2 (en) | 2009-04-22 |
Family
ID=33500147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003121653A Expired - Fee Related JP4257503B2 (en) | 2003-04-25 | 2003-04-25 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4257503B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483951A (en) * | 2012-06-29 | 2017-12-15 | 佳能株式会社 | Picture decoding apparatus, picture decoding method and storage medium |
-
2003
- 2003-04-25 JP JP2003121653A patent/JP4257503B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483951A (en) * | 2012-06-29 | 2017-12-15 | 佳能株式会社 | Picture decoding apparatus, picture decoding method and storage medium |
CN107483951B (en) * | 2012-06-29 | 2020-03-17 | 佳能株式会社 | Image decoding device, image decoding method, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4257503B2 (en) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090033986A1 (en) | Rasterizing variable and non-variable data for printing | |
JP2008059590A (en) | Techniques for image segment accumulation in document rendering | |
JP6385406B2 (en) | Image processing apparatus, image processing method, and program | |
JP2817687B2 (en) | Image forming device | |
JP2008090377A (en) | Rasterizing device, program and method | |
JP3037854B2 (en) | Character generation method and device | |
JP5079341B2 (en) | Print data processing device | |
JP4257503B2 (en) | Image processing apparatus and image processing method | |
JP2007122188A (en) | Image forming device, image processing method and program | |
JP2001075759A (en) | Information processor and its method | |
JP2011053263A (en) | Image processing device, image processing method, image output system, program and recording medium | |
JP6492895B2 (en) | Print data processing apparatus and program | |
JP6238589B2 (en) | Image forming apparatus, image processing method, and program | |
JPH06139032A (en) | Page description language processor | |
JP2004334533A (en) | Image processing device and method | |
JPH10151815A (en) | Printing-processing apparatus | |
JP3467753B2 (en) | Image processing system, image processing method, and medium recording image processing module | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP2009066926A (en) | Image processing device and image forming system | |
JP2006272556A (en) | Image processor and image processing program | |
JP2002024840A (en) | Drawing processing device | |
JPH11224331A (en) | Raster image generation device and raster image generation method | |
JPH1110961A (en) | Print processor and printing method | |
JP2006031086A (en) | Print processing method | |
JP2008018577A (en) | Image forming apparatus, image forming method, and program |
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 |