JP4159756B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4159756B2 JP4159756B2 JP2001070005A JP2001070005A JP4159756B2 JP 4159756 B2 JP4159756 B2 JP 4159756B2 JP 2001070005 A JP2001070005 A JP 2001070005A JP 2001070005 A JP2001070005 A JP 2001070005A JP 4159756 B2 JP4159756 B2 JP 4159756B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- image processing
- memory
- rectangular pattern
- rectangular
- 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
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
この発明は、任意のパターンを描画して出力する画像処理装置、特に、描画処理の高速度化に関するものである。
【0002】
【従来の技術】
任意のパターンを印刷して出力するときの描画処理の負担を軽減し、印刷処理速度の高速化を図るために、例えば特開平8−52905号公報に示された印刷装置は、ハーフトーンパターンの基本パターンをビットシフトすることによりハーフトーンパターンを作成してキャッシュメモリに格納し、作成したハーフトーンをリピート機能を用いて描画するようにしている。また、特開平10−31735号公報に示された画像処理装置は、マスクパターンと背景パターンとグレー・スケールの3つをキーとしてキャッシングし、マスクパターンと背景パターンとグレー・スケールのデータがキャッシングした内容と同じ場合にはキャッシングしたデータを使用して描画論理演算を行うようにしている。
【0003】
【発明が解決しようとする課題】
特開平8−52905号公報に示された処理方法は、キャッシュ可能な最小単位が1ドット/1ビット単位となっているため、キャッシュの検索と初期化に時間がかかってしまう。また、特開平10−31735号公報に示された処理方法は単純なページであればキャッシュ効率がある場合があるが、背景パターンが存在するような場合はキャッシュ効率があるとは限らない。
【0004】
この発明は係る短所を改善し、矩形パターンを塗りつぶす際にワード単位で高速にメモリにアクセス可能とすることにより、メモリへの描画命令を高速化することができる画像処理装置を提供することを目的とするものである。
【0005】
【課題を解決するための手段】
この発明に係る画像処理装置は、画像データの描画命令を入力する描画命令入力手段と、入力した描画命令を描画属性命令の指定に従って演算して描画しメモリに書き込む演算手段と、メモリに書き込んだ描画を出力する画像処理装置であって、描画命令は図形の範囲を指定する命令と、幅と高さを有する矩形パターンをパラメータにより一意に指定する命令と、指定された図形の範囲内を、指定された矩形パターンをタイル状に敷き詰めるように描画する命令からなり、演算手段は、前記パラメータにより指定された矩形パターンの幅と1ワードのビット数との最小公倍数に基づいて大きさを決定したワード境界パターンを作成し、指定される矩形パターンを、決定したワード境界パターン分が埋まるまでワード単位での繰り返しとなるようにパターンデータに変換し、変換したパターンデータをキャッシュメモリに登録し、登録したパターンデータに基づいて指定された描画範囲内を描画することを特徴とする。
【0007】
また、矩形パターンの高さ方向のパターンすべてにワード単位での繰り返しとなるようにパターンデータの変換を行い、変換した結果を1つの連続したメモリ上に配置して、次ラインへのアドレス移動を、ワード境界パターンのワード幅分を移動するように定数を加算するだけにする。
【0008】
さらに、演算手段は、任意のパラメータに対応した矩形パターンがキャッシュ内に存在するかを検索し、該当する矩形パターンが既に存在することが判明したら、それを再利用して、同一パターンの再使用の際の作成手順を省略する。
【0010】
また、指定されるパラメータが色濃度であり、矩形パターンが疑似階調を表現するディザのパターンで有ったり、指定されるパラメータがCMYK色用の色濃度であり、矩形パターンが疑似階調を表現するCMYKそれぞれのディザのパターンで有ったり、あるいは指定されるパラメータがビットマップであり、矩形パターンがアイコン等の模様を有するビットマップパターンであることにより、各種のデータに適用できる。
【0011】
【発明の実施の形態】
図1はこの発明の構成を示すブロック図である。図に示すように画像出力装置は、画像処理装置1と出力装置10とを有する。画像処理装置1は、描画命令入力部2と描画命令演算部3と画像メモリ4とCPU5とパターン検索部6とパターン変換部7とパターンキャッシュメモリ8及びパターン取得部9を有する。描画命令入力部2は入力された画像データを描画用データに解釈し、入力された描画範囲と塗りつぶす矩形パターンを指定するパラメータを描画命令演算部3に送る。描画命令演算部3は送られた矩形パターンを指定するパラメータをパターン検索部6に送る。パターン検索部6は指定されたパラメータによりワード単位の描画に適したワード境界パターンが既にパターンキャッシュメモリ8に有るかどうかを検索する。この検索の結果、パターンキャッシュメモリ8にワード単位の描画に適したワード境界パターンがあれば、該当するワード境界パターンをパターンキャッシュメモリ8から描画命令演算部3に出力し、該当するワード境界パターンがなければワード境界パターンの参照元となる矩形パターンをパターン取得部9を介して取得し、それをパターン変換部7でワード境界パターンに変換し、パターンキャッシュメモリ8に登録し、それを描画命令演算部3に出力する。描画命令演算部3はパターン検索部6から得られたワード境界パターンと描画命令入力部2から得られた描画範囲と画像メモリ4を用いて、画像メモリ4に対する演算をCPU5を用いて行い、結果を画像メモリ4に出力する。描画命令終了又は出力装置10への出力命令により、画像メモリ4に記憶した描画範囲が出力装置10に出力される。
【0012】
例えば図2に示すように、描画範囲Aとして(X,Y)=(2,2)から(X,Y)=(6,4)を左上右下とする矩形範囲を、その範囲内を塗りつぶすパターンとして、パターンの幅をW、高さをHとして、(W,H)=2×2の市松模様の矩形パターンBで塗りつぶす場合、矩形パターンBを示すパラメータLを50、CPU5のワード長を32ビット、1ビット/1画素、矩形パターンBで塗りつぶす際の起点座標を(X,Y)=(0,0)とする。このときの処理を図3のフローチャートを参照して説明する。
【0013】
まず、描画命令である描画範囲Aとして(X,Y)=(2,2)と(X,Y)=(6,4)及びL=50が入力される(ステップS1)。このL=50に相当するパターンが既にキャッシュメモリ8に登録されているかどうかをパターン検索部6で調べる(ステップS2)。このパターン検索部6における検索方法や登録方法及び破棄方法等はキャッシュアルゴリズムにより異なるが、例えば頻度を考慮しない単純な検索テーブルを用い、登録も単調増加のポインタ管理を用いる。もちろん他の高度なキャッシュアルゴリズムを用いることも可能である。
【0014】
この検索テーブルを用いたキャッシュ方式を図4に示す。キャッシュに用いる全体のメモリアドレスがパターンキャッシュメモリ8の先頭アドレスaとしてあらかじめ指定されており、その大きさ、すなわちパターンキャッシュメモリ8の最後尾アドレスcとキャッシュ先頭アドレスaの差分もあらかじめ指定されているとする。初めに検索テーブル11を用いて、検索時に指定されるLをキーとしてパターンキャッシュメモリ8へのアドレスを調べる。この検索テーブル11は可変長でも固定長でも構わない。Lの範囲が例えば[0−99]であれば100エントリの固定長とし、Lの値をアドレス配列へのインデックスとすることでアドレスA[L]が参照可能となる。検索テーブル11の大きさはアドレス格納用32ビット(=4バイト)×100となる。アドレス部に有効アドレスが存在すれば、既にパターンキャッシュメモリ8内に存在することを示しているので、そのアドレスを直接返り値として返す。無効アドレス(ゼロ等)があれば未登録であることを示し登録を行う。登録は検索テーブル8の無効アドレスが入った部分にキャッシュ登録最後尾アドレスbを格納し返り値として返す。その後、アドレスbを登録サイズ分増加させる。登録前にキャッシュ登録最後尾アドレスbとキャッシュ最後尾アドレスcの差分と、これから登録されるサイズから、キャッシュが溢れるかどうかを調べ、溢れるようであればキャッシュのクリアを行う。この実施例では頻度情報なしの単調増加アドレスなので、キャッシュ溢れの際は登録内容すべてのクリアとする。その際は検索テーブル11のアドレス部をすべて無効アドレスに変更し、キャッシュ登録最後尾アドレスbにキャッシュ先頭アドレスaと同じ値を代入する。
【0015】
このパターン検索部6の結果、L=50に相当するパターンが既にパターンキャッシュメモリ8に登録されている場合は、ステップS6へ進む。L=50に相当するパターンがパターンキャッシュメモリ8に登録されていない場合は、L=50に相当するパターンからワード境界パターンを作成するための準備として、ワード境界パターンがパターンキャッシュメモリ8に登録可能かどうかを調べる。この調べる際にその大きさを計算する。パターンの幅をW、高さをHとすると、
H×(Wと32の最小公倍数)×(4バイト/32ビット)
となる(単位バイト=8ビット)。図2ではW=2なので32との最小公倍数は32となり、ワード境界パターンの大きさは、2×32×4/32=8バイトとなる。このようにパターンの幅Wと32の最小公倍数をとることにより、32ビット境界で繰り返し可能となるメモリ量が最小となり、キャッシュメモリ量を少なく抑えることができる。この計算されたサイズがパターンキャッシュメモリ8の残量、すなわち、図4に示すキャッシュ最後尾アドレスcとキャッシュ登録最後尾アドレスbの差分より小さければ登録することができる。このようにパターンキャッシュメモリ8に登録可能であればステップS5へ進む。
【0016】
パターンキャッシュメモリ8に登録できない場合は、計算された必要なメモリ量をパターンキャッシュメモリ8内に確保するために、キャッシュ内の任意のデータを必要メモリ量が確保できるまでクリアする(ステップS4)。例えば全削除の方式を用いた場合には、キャッシュ内を全削除後、要求された必要メモリ量をキャッシュ先頭アドレスaに割り当てる。その後、パターンキャッシュメモリ8内の新たに割り当てられたアドレスにワード境界パターンを作成する(ステップS5)。
【0017】
このワード境界パターンを作成するときの処理を図5を参照して説明する。まず、L=50に相当するパターンをパターン取得部9から得る。得られた矩形パターンBは図5(a)の2×2計4画素の市松模様とする。パターンBの幅方向のラインパターンW=2ドット分をワード境界パターン用メモリに順に埋めていき、先に計算されたワード境界の画素数(Wと32の最小公倍数)=32ドット分が埋まるまで繰り返す。これをライン数分(H=2)繰り返す。この結果、1ワード2ライン分のワード境界パターン12がパターンキャッシュメモリ8内の連続したメモリに作成される。また、幅Wによってはワード境界画素数が2ワード以上必要となる。例えば図5(b)に示すように、24×24の矩形パターンBであれば、3ワード=96ドット分を埋める必要がある。この場合、初めの1ワード(32ドット)を埋めるのに不足している8ドット(aの部分)を矩形パターンBの1ドット目から8ドット目の8ドットで埋め、次のワードの16ドット(bの部分)を矩形パターンBの9ドット目から24ドット目の16ドットで埋める。残りのドットや残りのワード部分も同様に矩形パターンBで埋める。これをライン数分(H=24)繰り返す。この結果、3ワード24ライン分、計72ワード分のワード境界パターン12がパターンキャッシュメモリ8内の連続したメモリに配置される。次のキャッシュへの登録アドレスは今回配置されたメモリのキャッシュ登録最後尾アドレスbからとなる。
【0018】
このパターンキャッシュメモリ8に作成されたり検索されたL=50のワード境界パターン12と指定された描画範囲及び描画対象となる画像メモリ4を用いて論理和や論理積や排他的論理和や上書き等の画像演算を行う(ステップS6)。画像演算上書きの場合の例を図6に示す。画像演算の場合、メモリアクセスが頻繁に行われる。このときの処理速度を考えると、これらの演算はメモリアクセスのオーバヘッドが最小であるワード単位で行う。上書きの演算は描画対象画像メモリ14の対象領域すなわち描画範囲13(X=[2,5])をL=50のワード境界パターン12で置き換え、対象領域外は変更しないという演算を行い、Y=2の上書き演算結果15を得る。すなわちX=[2,5]にあたる部分16をワード境界パターン12で置き換える。
【0019】
描画領域13がワードの境界を越えるような範囲の場合、例えばX=[30,34]等の場合、L=50のワード境界パターン12の次のワード分のパターンを用意するが、例えば図5(a)に示すように2×2の矩形パターンBの場合、ワード境界パターン12は1ワード分しかない。すなわち、同じY座標内であれば任意のX範囲でワード境界パターン12が共通に使用可能である。また、図5(b)に示すように、24×24の矩形パターンBのようにワード境界パターン12が3ワードある場合はX=0を起点に循環する。この場合、X=[0,31]は1ワード目、X=[32,63]は2ワード目、X=[64,95]は3ワード目だが、X=[96,127]は1ワード目に戻る。このように1ワード目から3ワード目のパターンは連続したメモリ領域に作成し配置されている。描画領域13が次のY座標に移動する場合、ワード境界パターン12も次のラインへ移動する。ワード境界パターン12は、先頭ラインから順に連続したメモリ領域内に作成して配置されているので、次のラインの移動はワード境界パターン12のワード幅分移動すれば良い。すなわち2×2の矩形パターンBでは1ワード移動し、24×24の矩形パターンBでは3ワード移動することになる。また、最終ラインであれば先頭ラインに移動する。
【0020】
このようにワード境界パターン12をXY方向の配列状のメモリに連続して作成することにより、X方向の移動やY方向の移動によるアドレス計算が簡素化されて高速に処理することができる。
【0021】
上記では1ビット/1ドットの場合について説明したが、2ビット,4ビット,8ビットでも同様である。また、32ビット/1ワードで説明したが16ビットや64ビットでも同様に適用することができる。さらに、矩形パターンBで塗りつぶす際の起点座標を(X,Y)=(0,0)で説明したが、任意の座標を指定して起点とすることも可能である。
【0022】
【発明の効果】
この発明は以上説明したように、任意の範囲内を一定の矩形パターンで塗りつぶす際に、矩形パターン1つ1つをシフトしながら塗りつぶすのではなく、ワード単位で単一ワード又は複数ワードを繰り返し塗りつぶすので、シフト演算が不要であり、かつ、メモリアクセス数も減少して描画処理の高速化を図ることができる。
【0023】
また、ワード境界パターンをライン毎に連続したメモリ内に配置することにより、次ラインへのアドレス移動がワード境界パターンのワード幅分を移動するように定数を加算するだけですみ、描画処理を高速で行うことができる。
【0024】
さらに、1度作成したワード境界パターンはキャッシュされるので、同一パターンの再使用の際には作成手順を省略することができ、描画処理を単純化することができる。
【0025】
また、キャッシュに必要な総メモリ量をあらかじめ指定できることにより、描画処理に使用するメモリ量に応じて調整することができる。また、キャッシュ検索の最小単位を1矩形パターンとすることにより、キャッシュ検索やキャッシュクリアで扱うデータ量を少なくすることができ、処理の高速化を図ることができる。
【0026】
また、ディザパターンは一般的に色濃度別の矩形パターンの繰り返しであるので、この発明の処理をディザパターンの画像処理に適用することにより、画像処理を高速化することができる。また、写真画のような微小領域が異なるパターンで描画される集合であるイメージデータの場合にも適用でき、処理の高速化を図ることができる。
【0027】
また、ディザパターンはCMYKを色材とする印刷装置にも使用されるので、この発明の処理をカラー用のディザパターンの画像処理に適用すること2より、画像処理を高速化することができる。また、写真画のような微小領域が異なるパターンで描画される集合であるカラーイメージデータの場合にも適用することができる。
【0028】
さらに、ユーザやアプリケーションが指定するアイコンやビットマップ等比較的単純なビットマップパターンを敷き詰める場合、一般的にビットマップパターンは矩形パターンであるので、この発明の描画処理を適用して高速化を図ることができる。
【0029】
また、インクジェットプリンタのようにページメモリをコンピュータ側で行う場合、各描画オブジェクトからページメモリを生成するコンピュータ側の処理を高速にすることができる。
【0030】
さらに、レーザプリンタのようにページメモリをプリンタ側で行う場合、各描画オブジェクトからページメモリを生成するプリンタ側の処理も高速に行うことができる。
【図面の簡単な説明】
【図1】この発明の画像処理装置の構成を示すブロック図である。
【図2】描画範囲と矩形パターンを示す模式図である。
【図3】描画処理を示すフローチャートである。
【図4】検索テーブルを用いたキャッシュ方式を示す説明図である。
【図5】ワード境界パターンを作成するときの処理を示す説明図である。
【図6】画像演算上書き処理を示す説明図である。
【符号の説明】
1;画像処理装置、2;描画命令入力部、3;描画命令演算部、
4;画像メモリ、5;CPU、6;パターン検索部、7;パターン変換部、
8;パターンキャッシュメモリ、9;パターン取得部、10;出力装置。
Claims (6)
- 画像データの描画命令を入力する描画命令入力手段と、入力した描画命令を描画属性命令の指定に従って演算して描画しメモリに書き込む演算手段と、メモリに書き込んだ描画を出力する画像処理装置であって、
描画命令は図形の範囲を指定する命令と、幅と高さを有する矩形パターンをパラメータにより一意に指定する命令と、指定された図形の範囲内を、指定された矩形パターンをタイル状に敷き詰めるように描画する命令からなり、
演算手段は、前記パラメータにより指定された矩形パターンの幅と1ワードのビット数との最小公倍数に基づいて大きさを決定したワード境界パターンを作成し、指定される矩形パターンを、決定したワード境界パターン分が埋まるまでワード単位での繰り返しとなるようにパターンデータに変換し、変換したパターンデータをキャッシュメモリに登録し、登録したパターンデータに基づいて指定された描画範囲内を描画することを特徴とする画像処理装置。 - 上記矩形パターンの高さ方向のパターンすべてにワード単位での繰り返しとなるようにパターンデータの変換を行い、変換した結果を1つの連続したメモリ領域上に配置する請求項1記載の画像処理装置。
- 上記演算手段は、任意のパラメータに対応した矩形パターンがキャッシュメモリ内に存在するかを検索し、該当する矩形パターンが既に存在することが判明したら、それを再利用する請求項1又は2記載の画像処理装置。
- 上記指定されるパラメータが色濃度であり、矩形パターンが疑似階調を表現するディザのパターンである請求項1乃至3のいずれかに記載の画像処理装置。
- 上記指定されるパラメータがCMYK色用の色濃度であり、矩形パターンが疑似階調を表現するCMYKそれぞれのディザのパターンである請求項1乃至3のいずれかに記載の画像処理装置。
- 上記指定されるパラメータがビットマップであり、矩形パターンがアイコン等の模様を有するビットマップパターンである請求項1乃至3のいずれかに記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001070005A JP4159756B2 (ja) | 2001-03-13 | 2001-03-13 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001070005A JP4159756B2 (ja) | 2001-03-13 | 2001-03-13 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002269577A JP2002269577A (ja) | 2002-09-20 |
JP4159756B2 true JP4159756B2 (ja) | 2008-10-01 |
Family
ID=18927954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001070005A Expired - Fee Related JP4159756B2 (ja) | 2001-03-13 | 2001-03-13 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4159756B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5610897B2 (ja) | 2010-07-27 | 2014-10-22 | キヤノン株式会社 | データ処理装置およびデータ処理方法 |
-
2001
- 2001-03-13 JP JP2001070005A patent/JP4159756B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002269577A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950012083B1 (ko) | 문자/도형 발생 장치 및 정보 처리장치 | |
EP1385125B1 (en) | Apparatus and method for image processing capable of accelerating image overlay process | |
US5537131A (en) | Character generating method and apparatus | |
JP2844575B2 (ja) | 印刷装置 | |
JP4159756B2 (ja) | 画像処理装置 | |
JP3922568B2 (ja) | 画像処理装置、描画処理方法及び該方法を実行するためのプログラム | |
JP4010537B2 (ja) | 画像出力装置及び該装置の画像出力方法 | |
JP5079341B2 (ja) | 印刷データ処理装置 | |
JP4380947B2 (ja) | 画像出力装置 | |
JPH03130175A (ja) | ドットマトリックスデータを拡大する装置 | |
JPH0425891A (ja) | 文字処理装置及び方法 | |
JP3964704B2 (ja) | 画像処理装置、画像形成装置、画像出力システム及び画像処理方法 | |
JP2774662B2 (ja) | 文字処理装置 | |
JP4502908B2 (ja) | 画像処理装置及び画像処理システム | |
JP2886702B2 (ja) | アウトラインフォント処理装置 | |
US20050134873A1 (en) | Post screening handling of multibit raster operations | |
JP2728916B2 (ja) | 文字処理装置及び方法 | |
JPH07323602A (ja) | 印刷装置および印刷装置のオブジェクト描画方法 | |
JP3307617B2 (ja) | 網点またはイメージデータの調整方法、イメージデータの調整プログラムを記録したコンピュータ読み取り可能な記録媒体および電子殖版装置 | |
JPH11227301A (ja) | 印刷装置のデータ処理方式 | |
JP2710131B2 (ja) | 文字処理装置及び方法 | |
JP2988303B2 (ja) | イメージ処理装置 | |
JP3876163B2 (ja) | 画像出力装置 | |
JPH06274142A (ja) | アウトラインフォントのキャッシュ方式 | |
JP2003283816A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050928 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080618 |
|
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: 20080715 |
|
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: 20080716 |
|
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: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |