JP3733297B2 - 画像処理方法及び画像処理装置、及び画像処理システム - Google Patents
画像処理方法及び画像処理装置、及び画像処理システム Download PDFInfo
- Publication number
- JP3733297B2 JP3733297B2 JP2001103640A JP2001103640A JP3733297B2 JP 3733297 B2 JP3733297 B2 JP 3733297B2 JP 2001103640 A JP2001103640 A JP 2001103640A JP 2001103640 A JP2001103640 A JP 2001103640A JP 3733297 B2 JP3733297 B2 JP 3733297B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute information
- attribute
- logical operation
- image 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3871—Composing, repositioning or otherwise geometrically modifying originals the composed originals being of different kinds, e.g. low- and high-resolution originals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1852—Generation of the printable image involving combining data of different types
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Generation (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は、描画命令を展開してビットマップデータ及び該ビットマップデータに対応する画素毎の属性情報を作成する画像処理方法及び画像処理装置、及び画像処理システムに関する。
【0002】
【従来の技術】
一般に高画質出力を可能とする、レーザビームプリンタ等の画像出力デバイスにおいては、OSからの描画命令を受けてRGB計24ビットの多値ビットマップを多値ビットマップ領域に展開し、全ての描画命令の処理が終了した時点で、該多値ビットマップ領域全体に対して色処理(色補正、色変換、n値化等)を施すことによって、デバイスに依存した色空間上のビットマップに変換していた。
【0003】
しかしながら、展開された多値ビットマップにおいてはピクセル毎の属性情報を特に有していないため、ある任意のピクセルに対して、どのオブジェクト(文字、グラフィクス、イメージ)として描画されたか、あるいはオブジェクトのエッジ部分なのか中心部分なのか等の判定はできない。従って、全てのピクセルに対して同様の色処理が施されてしまうため、必ずしも最適な色処理が行えるものではなかった。このような色処理の概念を図12に示す。
【0004】
そこで、任意のピクセル毎に最適な色処理を可能とするための方法として、全てのピクセルに対して属性情報を持たせる方法が知られている。
【0005】
例えば、最も単純な方法としては、RGB24ビットからなる1ピクセル対して、さらに属性情報用に8ビットを確保することによって、1ピクセルをRGBαの計32ビットデータとして処理を行う方法がある。
【0006】
また、1ピクセルはRGB24ビットのままとして、別領域に属性情報用メモリを確保する方法がある。このような属性情報用メモリを用いた色処理の概念を図13に示す。この方法によれば、多値ビットマップ領域内のピクセルが更新される度に、該ピクセルに対応する属性情報格納領域も更新される。
【0007】
このように、描画コマンドを多値ビットマップ領域に展開する際に、全てのピクセルに属性情報を持たせておくことによって、各ピクセル毎に該属性情報を考慮して最適な色処理を施すことが可能となる。
【0008】
【発明が解決しようとする課題】
上述した全ピクセルが属性情報を備える方法によれば、描画オブジェクトが全て上書きされていく場合には、問題なく最適な色処理を行うことができる。しかしながら、論理演算処理が指定された描画オブジェクトを処理する場合には、属性情報を正確に格納することができないという問題があった。
【0009】
この問題点を、図14を参照して説明する。図14においては、イメージオブジェクトとグラフィクスオブジェクトが、ビットマップに展開した際に互いに重なり合う部分を有する場合を示し、グラフィクスオブジェクトにはその属性情報102に対して、「下地がない場合のみ描画」を指示する論理演算が指定されている。この場合、最終的にビットマップが展開されるデバイス依存のビットマップ領域200においては、イメージとグラフィクスの重なった部分にはイメージ用の色処理が施されているべきである。
【0010】
しかしながら、上記従来の属性情報の格納方法によれば、図14の属性情報格納領域100に示すように、イメージオブジェクトの属性情報101が格納された後に、グラフィクスオブジェクトの属性情報102が上書きされてしまうことがある。すると色処理を施す際に、イメージ属性を有すると判断されるべきであるピクセルが、グラフィクス属性を有するものと判断してしまうため、最適な描画は行えない。
【0011】
本発明は上記問題を解決するためになされたものであり、論理演算処理指定を伴った描画を行う際にも、ピクセル毎の属性に適した処理を行って高品位出力を得る画像処理方法及び画像処理装置、及び画像処理システムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するための一手法として、本発明の画像処理方法は以下の工程を備える。
【0013】
すなわち、描画命令を展開して、ビットマップデータ及び該ビットマップデータに対応する画素毎の属性情報を作成する画像処理方法であって、前記描画命令で指定された論理演算処理に基づいて属性情報に対する操作内容を決定する操作決定工程と(実施形態において図11に示すS201〜S205に対応)、該決定された操作内容に基づいて属性情報用の論理演算処理を作成する論理演算作成工程と(同、S206に対応)、前記属性情報用の論理演算処理を実行することによって属性情報を作成する論理演算工程と(同、S210に対応)、前記属性情報が反転属性を有していれば該属性情報を反転する反転工程と(同、S105に対応)、を有することを特徴とする。
【0014】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【0015】
<第1実施形態>
図1、図2、図3は、本実施形態の画像処理方法が適用される情報処理システムの構成例を示すブロック図である。
【0016】
図1において、1は中央処理装置であり、本実施形態の画像処理方法を実現する制御プログラムおよびその関連データが記憶されているFD,CD−ROM,ICメモリカード等の記憶媒体を、システムに接続された媒体読取装置6によって読み込む。そして該制御プログラムに基づき、補助記憶装置3から主記憶装置2にロードされたシステムプログラムやアプリケーションプログラムによって入力装置4を介して入力される画像情報を処理し、出力装置5やプリンタ7に出力する。画像情報は、補助記憶装置3や、媒体読取装置6によって読み取られる記憶媒体に格納されていても良い。
【0017】
なお、本実施形態においては、出力装置5はディスプレイなどの表示装置、または通信インタフェース装置とし、プリンタ7と区別する。また、入力装置4はキーボード、ポインティングデバイス等で構成されているものとする。さらに補助記憶装置3は、ハードディスク、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていてもよい。
【0018】
図2は、媒体読取装置6に格納されていた制御プログラム及びその関連データが中央処理装置1に読み込まれ、入力装置4を介して入力された印刷命令に基づいてプリンタ7へ印刷用データを送るまでの、印刷処理を示す概念図である。アプリケーション21、ドライバ22ともに、OS20の制御下で機能する。
【0019】
図3は、図2に示すドライバ22における機能構成を示すブロック図である。OS20から描画命令を受けると、該描画命令を多値のビットマップに展開して多値ビットマップ領域230に格納する(S221)。このとき同時に、描画オブジェクトの属性を示す属性情報を属性情報格納領域231に格納する(S222)。ここで属性情報とは、オブジェクトの種類(イメージ、グラフィクス、テキスト等)やオブジェクトの端部を示すエッジ情報等、最適な色処理を行う上で必要とされる情報である。
【0020】
なお、図3においては多値ビットマップと属性情報を別領域に格納する例を示しているが、例えば多値ビットマップ(RGB24ビット)と属性情報(α8ビット)を結合して1つのビットマップ(RGBα32ビット)としても、同様の効果が得られる。
【0021】
全ての描画命令を処理したら、多値ビットマップと属性情報の合成を行って、様々な属性毎の多値ビットマップデータを抽出する(S223)。そして抽出されたビットマップデータに対し、属性毎に適した色処理を行なって合成することにより、デバイス依存ビットマップ232を作成する(S224)。このデバイス依存ビットマップ232を、プリンタ7へ出力する(S225)。
【0022】
なお、本実施形態は情報処理システム内のプリンタ7に対するドライバ22において、ビットマップ展開及び色処理を行う例について説明するが、プリンタ7内部で該処理を行う場合であっても、本発明は同様に成立する。
【0023】
以下、上記情報処理システムにおける本実施形態の処理について、図4乃至図10を参照して詳細に説明する。
【0024】
図4は、多値ビットマップの1ピクセル毎に、属性情報格納領域231に格納される属性情報のフォーマット例を示す図である。本実施形態においては、属性情報をオブジェクトの種類(全3種類:イメージ、グラフィクス、テキスト)とし、それぞれの属性を表す計3ビットと、後述する反転属性を表す1ビットの、最低4ビットによって、1ピクセルあたりの属性情報が構成される。もちろん、予備ビットを加えて例えば8ビット/ピクセル(残りの4ビットは使用しない)としても良いし、1ピクセルあたりの属性情報格納領域231もビット順列に限らず、例えば線順列にしても良い。
【0025】
図5は、本実施形態の特徴である、論理演算処理指定を有する描画オブジェクトを処理する際に、その属性情報を格納する際の各種操作内容を示す図である。
【0026】
本実施形態においては、論理演算処理指定のある描画オブジェクトの全てに対し、属性情報を属性情報格納領域231に格納する際に、以下に示す4種類の操作(オペレート)のいずれかを行う。
【0027】
操作1:属性情報格納(ターゲットとなる属性のビットのみを立てる)
操作2:クリア(属性情報の全ビットを落とす)
操作3:非操作(属性情報の全ビットをそのまま保持)
操作4:反転(属性情報の全ビットを反転する)
図5は、処理対象ピクセルが下地を示す場合に、既にグラフィクス属性を示すビットが立っている属性情報に対する各操作の具体例を示し、特に操作1においては、新たにイメージ属性を格納する例を示している。なお、同図においては「ON」表記によりビットが立った状態を示す。操作1によれば、イメージ属性を格納することによって、下地であったグラフィクス属性はクリアされることが分かる。
【0028】
ここで図6、図7、図8を参照して、論理演算処理が指定された描画オブジェクト処理に伴って属性情報を格納する際に、上記4種類の操作を振り分ける方法、すなわち、いずれかの操作を決定する方法について説明する。
【0029】
先ず説明を容易にするために、図6を用いて一般的な論理演算処理について説明する。一般に論理演算とは、パターン、ソース、デスティネーション(以下、単にデストと称する)の各ビットに基づく演算結果を示すものであり、該演算結果(以降、単に「結果」と称する)が新たにデストに格納される。
【0030】
結果rxxx(各xはパターン、ソース、デストの値(0/1)を示す)としては、パターン、ソース、デストの全組み合わせ(8通り)に対し、任意に0か1となり得る。つまりこの場合、2の8乗である全256通りの論理演算処理があり得る。この論理演算処理を一意に定めるのが論理演算コードであり、図6における結果r000,r001,r010,r011,r100,r101,r110,r111の8ビットを下位から並べることによって、論理演算コードを得ることができる。図6の例ではすなわち、ソースコピーが11001100(=0xCC),パターンコピーが11110000(=0xF0)である例を示している。
【0031】
論理演算の例として、ソースコピー(ソースのデストへの上書き)とは、パターン、デストの組み合わせに関わらずソースの示すビットがそのまま結果(デスト)となることを意味し、パターンコピー(パターンのデストへの上書き)とは、パターンの示すビットがそのまま結果(デスト)となることを意味する。
【0032】
図7A〜図7Dは、本実施形態において描画オブジェクトで指定された論理演算処理(論理演算コード)に基づき、その属性情報に対する操作内容(以下、属性情報用操作と称する)を決定する例を示す図である。
【0033】
上述したように、論理演算処理は論理演算コードによって指定される。これは図6に示す結果を一意に決定できるものであれば如何なるものであっても良いが、ここでは、マイクロソフト社のWindowsにおいて提供される論理演算コードを例として説明する。該コードによれば、0がビットの立った状態(ビットON)、1がビットの立っていない状態(ビットOFF)を示す。
【0034】
図7A,図7Bを参照して、属性情報のうち対象となる属性(論理演算処理指定がなければ本来ビットを立てるべき属性)のビットに対して実行される操作内容について説明する。
【0035】
描画オブジェクトに付随してきたパターンが白を示すのであれば、図6に示した結果r1xxが属性情報用操作の決定に使用されるビットであり、白以外であれば、結果r0xxが使用されるビットである。これは、白(RGB値で0xFFFFFFFF)に相当するパターン値は、論理演算処理においては非存在、すなわち何もない旨を示すためである。ここで図7Aは、パターンが白以外を示していた場合の結果r0xxを示している。これはすなわち、図6に示した論理演算の一般形式において、パターン値が0である場合に相当する。
【0036】
図7Bは、図7Aに示す結果r0xxに基づいて属性情報用操作が決定される様子を示す図であるが、以下においては、結果r0xx及びr1xxの両方を含む、結果rxxxに基づく決定方法について説明する。
【0037】
まず、rx00,rx01の組み合わせ、及びrx10,rx11の組み合わせを確認する。すなわち、(rx00,rx01)及び(rx10,rx11)がとり得る値の組み合わせはそれぞれ、(0,0),(0,1),(1,0),(1,1)のいずれかであり、これらが、図5に示す4種類の操作に以下のように割り当てられる。
【0038】
(0,0) → ビットがON → 操作1(属性情報格納)
(1,1) → ビットがOFF → 操作2(クリア)
(0,1) → ビットがデストと同じ→ 操作3(何もしない(非操作))
(1,0) → ビットがデストと逆 → 操作4(反転)
となる。これら操作のいずれかが、ソースビットが0の場合(rx00,rx01)と1の場合(rx10,rx11)で一意に決定される。
【0039】
すなわち図7Bの例においては、ソースのビット値が0(ON)である場合に、対象となる属性のビット操作(属性情報用操作)としてTarget_SrcONが得られ、ソースのビット値が1(OFF)である場合に、同様にTarget_SrcOFFが得られることを示す。このTarget_SrcON及びTarget_SrcOFFがそれぞれ、上記(0,0),(0,1),(1,0),(1,1)のいずれかとなり、該値に応じて操作が決定される。
【0040】
なお、描画命令において論理演算処理が指定されていない場合には、単なる上書き処理としての論理演算コードが指定されているものとして、操作を決定する。
【0041】
ただし、このように決定された属性情報用操作を実行する際には、描画オブジェクトに対するソースを属性情報用ソースに変換する必要がある。具体的には、描画オブジェクトにおいてソースを有するピクセルに関し、そのパターンが白を示すのであれば、対応する属性情報用ソースとして全ての属性をOFF(Windowsにおいては1)とし、逆に白以外を示すのであれば属性情報用ソースの全ての属性をON(Windowsにおいては0)とすれば良い。この例を図7Cに示す。
【0042】
上述したようにして決定される属性情報用操作は、属性情報のうち対象にしている属性のビット(対象属性ビット)に関するものである。対象属性以外のビット(非対象属性ビット)に関する操作は、決定された対象属性ビットの操作に応じて、以下のように一意に決定される。
【0043】
対象属性ビット 非対象属性ビット
操作1(属性情報格納)→ 操作2(クリア)
操作2(クリア) → 操作2(クリア)
操作3(非操作) → 操作3(非操作)
操作4(反転) → 操作4(反転)
図7Dに、非対象属性ビットの操作を決定する様子を示す。すなわち図7Bと同様に、ソースのビット値が0(ON)である場合に、対象属性のビット操作としてTarget_SrcONが得られ、ソースのビット値が1(OFF)である場合に、同様にTarget_SrcOFFが得られる。そして、対象属性ビット操作Target_SrcON/Target_SrcOFFに応じて、上述したように非対象属性ビット操作NonTarget_SrcON/NonTarget_SrcOFFが操作2〜4のいずれかに決定され、操作1となることはない。
【0044】
論理演算処理が指定された描画オブジェクトについて、その属性情報用のソースに対して上述したような操作(操作1〜4)を各属性毎に施こし、更に、図9で示すような反転処理を行うことによって、正確な属性情報を得ることができる。
【0045】
本実施形態においては、上述した属性情報に対する操作1〜4を単純に実行するのではなく、該操作に基づいて論理演算処理を作成し、該論理演算処理によって更に効率的に実行することを特徴とする。すなわち、属性情報用のソースに対して、対象属性ビット及び非対象属性ビット用に決定された操作を施した場合と、該操作に基づいて作成された論理演算処理を実行した場合とで、同様の結果が得られる。
【0046】
以下、本実施形態における属性情報に対する論理演算処理について、図8A〜図8Cを参照して説明する。
【0047】
上述した属性情報に対する操作は、各ピクセルの属性情報毎、さらにその属性ビットや属性情報用ソースに応じて、操作1〜4を切り替える必要がある。本実施形態においてはこの切り換えを効率良く行うために、属性情報に対する各操作を、図6に示した一般的な論理演算と同様の形式、すなわち属性情報用パターン及び属性情報用ソースを用いて表すとする。このような効率的な処理を実行する際には、図8Aに示すように属性情報用パターンを用意する必要がある。すなわち属性情報用パターンは、ある描画オブジェクトの属性(この例ではイメージ属性)を示すビットをON、それ以外をOFFにしたものである。
【0048】
図8Bは、図8Aを参照して説明した属性情報用パターン、図7Cを参照して説明した属性情報用ソース、及び図7Dを参照して説明した属性情報用操作、の組み合わせを、上述した論理演算の一般形式(図6)によって示した例であり、すなわち、本実施形態における属性情報用の論理演算コードを示す図である。図8Bにおける「結果」がすなわち論理演算結果であり、その値(OFF or ON)は図6に示す結果rxxxx(0 or 1)に相当し、図7B及び図7Dで示した対象ビット操作(Target_SrcON,Target_SrcOFF)及び非対象ビット操作(NonTarget_SrcON,NonTarget_SrcOFF)の内容によって、図8Cに示すように一意に決定される。
【0049】
例えば、図8Bにおいて属性情報用パターンがOFFであれば、非対象属性ビットに対する操作(図7Dに示すNonTarget_SrcOFF,NonTarget_SrcON)に基づき、図8Bの「結果」は図8Cに示すように決定される。すなわち、非対称属性ビットに対する操作として操作2(クリア)が設定されていれば、ビットを落とすために属性情報格納領域(デスト)に関わらず「結果」はOFFとなる。また、操作3(非操作)が設定されていればデストのビットがそのまま(OFF又はON)使用される。また、操作4(反転)が設定されていればデストのビットを反転した結果(ON又はOFF)となる。なお、属性情報用パターンがOFFであれば非対象属性ビットに対して操作1(属性情報格納)は設定されないため、操作1については考慮する必要がない。
【0050】
一方、図8Bにおいて属性情報用パターンがONであれば、対象属性ビットの操作(図7Bに示すTarget_SrcOFF,Target_SrcON)に基づき、図8Bの「結果」は、上述した属性情報用パターンがOFFの場合と同様に、図8Cのように決定される。但しこの場合には、非対象属性ビットに対して操作1(属性情報格納)が設定されうる。操作1が設定されていれば属性情報用パターンがONであるため、「結果」はデスト(属性情報格納領域)に関わらずONとなる。
【0051】
本実施形態においては、図8Bに示す「結果」により一意に決定されるものを属性情報用論理演算コードとして、一般的な論理演算処理と同様の処理を行うことができる。すなわち、図8Bに示す「結果」のOFF/ONを、図6に示す結果rxxxの0/1に置き換えれば良い。これにより、属性情報における対象属性ビットを意識することなく、一度に演算処理を行うことが可能となることが分かる。
【0052】
図8Bに示す論理演算により得られる「結果」(演算結果)がすなわち、属性情報として属性情報格納領域231に格納される。なお、このように論理演算によって得られた属性情報は、属性情報用のソースに対して属性情報用の操作をそれぞれ施した場合と同様の結果となる。
【0053】
以上により全ての描画オブジェクトの処理、すなわちそれに伴う属性情報に対する論理演算処理が終了すると、次に本実施形態の特徴であるビットの反転処理を行う。以下、図9を参照してこの反転処理について説明する。
【0054】
全ての描画オブジェクトの処理が終了した時点において、属性情報格納領域231内に格納されたピクセル毎の属性情報が示すビットパターン(属性情報)は、以下に示す4種類の状態A〜Dのいずれかである。
【0055】
状態A:全てOFF(何も描画されず初期値のまま)
状態B: 1属性のみON(最終操作が操作1(属性情報格納))
状態C: 1属性のみOFF(状態B後に最終操作が操作4(反転))
状態D: 全てON(状態A後に最終操作が操作4(反転))
これら各状態のビットパターンにおいて、反転ビットがONである場合、すなわち状態C及びDの場合のみ、全4ビットを反転させる。このとき、反転ビットでその他の属性ビットに対する排他的論理和(XOR)を取れば、反転ビットのON/OFFや他の属性ビットに関わらず、処理を一度に行うことができる。
【0056】
図9は、属性情報格納領域231内のビットパターンの取りうる上記状態A〜Dについて、状態C,Dをなすパターンに反転処理を施した結果を示す
以上説明したように、全ての描画オブジェクトの処理が終了した後、属性情報格納領域231に格納されたビットパターンに対して上記反転処理を施すことにより、理想的な属性情報が完成する。
【0057】
図10は、多値ビットマップ領域230に展開された多値ビットマップに対する、属性情報格納領域231内で完成した属性情報を参照した色処理(S223,S224)の概要を示す図である。同図に示すように本実施形態においては、描画オブジェクトをビットマップ展開した多値ビットマップ領域230から、属性情報格納領域231内の属性情報に基づいて、属性(オブジェクト種類)毎に多値ビットマップを抽出する。すなわち、グラフィクス用多値ビットマップ241と、テキスト用多値ビットマップ242、及びイメージ用多値ビットマップ243を抽出する。
【0058】
そして、抽出した各領域に対して、それぞれの属性に適した色処理等を施し、その結果を合成することによって、デバイスに依存したビットマップ232を作成する。なお、多値ビットマップ領域230から属性毎の多値ビットマップを抽出するのではなく、多値ビットマップ領域230内のピクセル毎に、属性情報を参照しつつ色処理等を施しても良い。
【0059】
上記色処理等は、図11A,Bに示すフローチャートに示す処理がプログラム化され、該プログラムが実行されることによって、実現される。以下、図11A,Bのフローチャートを参照して、本実施形態に係る印刷処理の全体の流れについて説明する。
【0060】
まず、入力装置4から印刷実行命令が入力されると、補助記憶装置3から主記憶装置2上に読み込まれたOS20、ドライバ22やアプリケーション21のうち、OS20がそのメッセージを受け取る。OS20は現在アクティブであるアプリケーション21に、該印刷実行メッセージを送る。
【0061】
アプリケーション21は、印刷実行メッセージをOS20が認識可能なコマンドに変換して、印刷対象データやコマンドのメッセージをOS20に送る。するとOS20は、該メッセージを更にドライバ22の認識可能なコマンドに変換してドライバ22に送る。ドライバ22においては、図11A,Bのフローチャートに示す処理が行われる。
【0062】
まずOS20から初期化用のメッセージが送られてきたら、ドライバ22は図3に示す多値ビットマップ領域230や属性情報格納領域231をアロケートして、その内容をクリアしておく(S101)。
【0063】
次にドライバ22は、OS20から送られてくる描画命令に従い、多値ビットマップを展開して多値ビットマップ領域230に格納し(S102)、更に描画命令の属性を属性情報として、属性情報格納領域231に格納する(S103)。
【0064】
ここで、ステップS103に示す属性情報格納処理について、図11Bを用いて詳細に説明する。
【0065】
本実施形態においては、描画命令の属性情報を属性情報格納領域231に格納することを特徴とする。そこでまず、描画命令の示す属性を判断する(S201)。そして該描画命令におけるパターンは白であるか又は白以外であるかを判定し(S202)、該判定結果に基づいて、該描画命令で指定されている論理演算コードの適当な個所を抽出し、図7A〜図7Dを参照して説明したように、付加属性(対象属性ビット)に対する操作(Target_SrcON/Target_SrcOFF)を作成する(S203,S204)。ここではすなわち、図7Bに示すように、描画命令の属性を属性情報格納領域231に展開する際の操作が作成される。
【0066】
なお、描画命令において論理演算処理が指定されていない場合は、単なる上書き処理としての論理演算コードが指定されているものとして、操作を作成する。
【0067】
続いて、上記作成された描画命令の属性に対する操作に基づき、図7Dに示すように、描画命令の属性以外の属性(非対象属性ビット)に対する操作(NonTarget_SrcON/NonTarget_SrcOFF)を作成する(S205)。
【0068】
これら作成された操作に基づき、属性情報の全ビットに対して該操作をそれぞれ施すことによっても、正確な属性情報を作成することができる。しかしながら本実施形態においては、図8A〜図8Cを参照して説明したように、属性情報の各ビット内容に関わらず一括して演算処理を行うことによって、処理の効率化を実現することを特徴とする。
【0069】
そこで、図8B,図8Cに示したように、ステップS203,S204,S205で作成された各操作に基づいて、属性情報用の論理演算コードを作成する(S206)。
【0070】
そして、図7Cに示したように、描画オブジェクトに基づいて属性情報用ソースを作成する(S207)。さらに図8Aに示したように、図4に示す属性情報のフォーマットにおいて描画命令の属性を示すビットをON、それ以外をOFFにした形式により、属性情報用パターンを作成する(S208)。また、描画命令を多値ビットマップに展開する際に、属性情報格納領域231において多値ビットマップの各ピクセルに対応した領域を抽出し、これを属性情報用デスティネーションとする(S209)。
【0071】
そして図8B及び図8Cに示したように、ステップS209で作成した属性情報用論理演算コードを用いて、上記属性情報用ソース、属性情報用パターン、属性情報用デスティネーションに基づく論理演算処理を実行し(S210)、得られた演算結果を属性情報用デスティネーションに格納する(S211)。
【0072】
以上説明したステップS201〜S211の処理によって、属性情報の格納処理(S103)が完了し、処理は図11Aに戻る。
【0073】
全ての描画命令に対して多値ビットマップへの展開、及びそれに対応する属性情報の格納が完了すると(S104)、図9に示したように属性情報格納領域231内の反転ビットを考慮し、属性情報の反転属性を変換することによって正確な属性情報を生成する(S105)。
【0074】
そして該属性情報に従い、属性毎に多値ビットマップを抽出し(S106)、その属性に最適な色処理等の処理を行い(S107)、図10に示すようにデバイス依存ビットマップ232を作成する(S108)。
【0075】
全ての属性に対してステップS106〜S108の処理を行い、各属性により生成されるデバイス依存ビットマップを合成していくことにより(S108)、描画命令に対してどのような論理演算処理が指定されていた場合であっても、最適な出力結果を得ることが可能となる。
【0076】
作成されたデバイス依存ビットマップをプリンタ7へ転送する(S110)ことにより、本実施形態における印刷処理が終了する。
【0077】
なお、本実施形態におけるプリンタ7としては、デバイス依存ビットマップに基づく出力が可能であればどのような方式によるものであっても良く、またバインディングプリンタであってもノンバインディングプリンタであってもよい。
【0078】
また、本実施形態においては主に描画命令がその属性としてイメージ、テキスト、グラフィクスの3属性を取りうる場合を例として説明したが、図4に示す属性情報のビットを追加することにより、扱う属性の数の増減が可能である。
【0079】
以上説明したように本実施形態によれば、論理演算処理の指定のある描画オブジェクトも含めて、全てのピクセルに対して正確な属性情報を格納することができる。従って、ピクセル毎に最適な色処理等を施すことが可能となり、高品位な出力結果を得ることができる。
【0080】
なお、本実施形態においては描画オブジェクトを展開して多値ビットマップを得る例について説明したが、これは画素の色情報を示すデータであれば任意のフォーマットで良く、例えば2値データであっても本発明は同様に適用される。
【0081】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0082】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0084】
【発明の効果】
以上説明したように本発明によれば、論理演算処理指定を伴った描画を行う際にも、ピクセル毎の属性に適した処理を行って高品位出力を得ることができる。
【図面の簡単な説明】
【図1】本発明に係る一実施形態における情報処理システムの構成例を示すブロック図である。
【図2】本システムにおける印刷処理の概念図である。
【図3】本システムにおけるドライバの機能構成を示すブロック図である。
【図4】本実施形態における属性情報のフォーマット例を示す図である。
【図5】属性情報を格納する際の操作内容を示す図である。
【図6】一般的な論理演算処理を示す図である。
【図7A】白以外のパターンに対する演算結果の例を示す図である。
【図7B】対象属性ビットに対する操作の決定方法を説明する図である。
【図7C】属性情報用ソースの作成方法を示す図である。
【図7D】非対象属性ビットに対する操作の決定方法を説明する図である。
【図8A】属性情報用パターンの作成方法を示す図である。
【図8B】属性情報用論理演算コードの例を示す図である。
【図8C】属性情報用論理演算コードにおける各操作の適用方法を示す図である。
【図9】属性情報に対する反転処理を示す図である。
【図10】多値ビットマップに対する属性情報を参照した色処理の概要を示す図である。
【図11A】本実施形態に係る印刷処理の全体の流れを示すフローチャートである。
【図11B】属性情報格納処理の詳細を示すフローチャートである。
【図12】従来の描画オブジェクトの多値ビットマップ展開及び色処理の概念を示す図である。
【図13】従来の、多値ビットマップメモリとは独立した属性情報用メモリを用いた色処理の概念を示す図である。
【図14】従来の属性情報用メモリを用いると必ずしも最適な色処理が施されたない例を示す図である。
【符号の説明】
1 中央処理装置
2 主記憶装置
3 補助記憶装置
4 入力装置
5 出力装置
6 媒体読取装置
7 プリンタ
8 ROM
20 OS
21 アプリケーション
22 ドライバ
230 多値ビットマップ領域
231 属性情報格納領域
Claims (15)
- 描画命令を展開して、ビットマップデータ及び該ビットマップデータに対応する画素毎の属性情報を作成する画像処理方法であって、
前記描画命令で指定された論理演算処理に基づいて属性情報に対する操作内容を決定する操作決定工程と、
該決定された操作内容に基づいて属性情報用の論理演算処理を作成する論理演算作成工程と、
前記属性情報用の論理演算処理を実行することによって属性情報を作成する論理演算工程と、
前記属性情報が反転属性を有していれば該属性情報を反転する反転工程と、
を有することを特徴とする画像処理方法。 - 前記属性情報は、前記描画命令が有する属性及び前記反転属性のそれぞれを示す情報を有することを特徴とする請求項1記載の画像処理方法。
- 前記属性情報は、前記描画命令が有する全ての属性及び前記反転属性のそれぞれを1ビットで示すことを特徴とする請求項2記載の画像処理方法。
- 前記描画命令の属性は、オブジェクトの種類に対応する属性であることを特徴とする請求項2又は3記載の画像処理方法。
- 前記操作決定工程は、
前記描画命令で指定された論理演算処理を解析する解析工程と、
該解析結果に基づいて前記描画命令の示す属性に対応する付加属性用操作を決定する付加属性用操作決定工程と、
該付加属性用操作に基づいて、前記描画命令の示す属性以外の属性に対応する非付加属性操作を決定する非付加属性用操作決定工程と、
を有することを特徴とする請求項1記載の画像処理方法。 - 前記解析工程においては、前記描画命令で指定された論理演算処理、及び論理演算処理対象となるパターンの色情報に基づいて、付加属性用操作を決定することを特徴とする請求項5記載の画像処理方法。
- 前記操作決定工程においては、前記描画命令が論理演算処理の指定を有していない場合には、上書きとしての論理演算処理指定があるものとして、属性情報に対する操作内容を決定することを特徴とする請求項1記載の画像処理方法。
- 更に、前記描画命令に基づいて属性情報用のソース及びパターンを作成するソース作成工程を有し、
前記論理演算工程においては、前記属性情報用のソース及びパターンに基づいて前記論理演算処理を実行することを特徴とする請求項1記載の画像処理方法。 - 前記論理演算工程において作成された属性情報は、属性情報用のソースに対して前記操作決定工程において決定された操作内容を実行した結果と同様であることを特徴とする請求項8記載の画像処理方法。
- 前記ビットマップデータは、多値ビットマップデータであることを特徴とする請求項1記載の画像処理方法。
- 更に、前記反転工程を経た前記属性情報に基づき、前記描画命令を展開したビットマップデータの画素毎に色処理を施す色処理工程を有することを特徴とする請求項1記載の画像処理方法。
- 描画命令を展開して、ビットマップデータ及び該ビットマップデータに対応する画素毎の属性情報を作成する画像処理装置であって、
前記描画命令で指定された論理演算処理に基づいて属性情報に対する操作内容を決定する操作決定手段と、
該決定された操作内容に基づいて属性情報用の論理演算処理を作成する論理演算作成手段と、
前記属性情報用の論理演算処理を実行することによって属性情報を作成する論理演算手段と、
前記属性情報が反転属性を有していれば該属性情報を反転する反転手段と、
該ビットマップデータに対して前記属性情報に基づく色処理を施す色処理手段と、
を有することを特徴とする画像処理装置。 - 画像処理装置と画像形成装置を接続した画像処理システムであって、該画像処理装置は、
描画命令を展開してビットマップデータを作成するビットマップ作成手段と、該ビットマップデータに対応する画素毎の属性情報を作成する属性情報作成手段と、該ビットマップデータに対して前記属性情報に基づく色処理を施す色処理手段と、該色処理後のビットマップデータを前記画像形成装置へ出力する出力手段と、を有し、前記属性情報作成手段は、
該描画命令で指定された論理演算処理に基づいて属性情報に対する操作内容を決定する操作決定手段と、
該決定された操作内容に基づいて属性情報用の論理演算処理を作成する論理演算作成手段と、
前記属性情報用の論理演算処理を実行することによって属性情報を作成する論理演算手段と、
前記属性情報が反転属性を有していれば該属性情報を反転する反転手段と、
を有することを特徴とする画像処理システム。 - 描画命令を展開して、ビットマップデータ及び該ビットマップデータに対応する画素毎の属性情報を作成する画像処理の制御プログラムであって、
前記描画命令で指定された論理演算処理に基づいて属性情報に対する操作内容を決定する操作決定工程のコードと、
該決定された操作内容に基づいて属性情報用の論理演算処理を作成する論理演算作成工程のコードと、
前記属性情報用の論理演算処理を実行することによって属性情報を作成する論理演算工程のコードと、
前記属性情報が反転属性を有していれば該属性情報を反転する反転工程のコードと、
を有することを特徴とする制御プログラム。 - 請求項14記載の制御プログラムを記録した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001103640A JP3733297B2 (ja) | 2001-04-02 | 2001-04-02 | 画像処理方法及び画像処理装置、及び画像処理システム |
US10/098,546 US7113309B2 (en) | 2001-04-02 | 2002-03-18 | Image processing method, image processing apparatus, and image processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001103640A JP3733297B2 (ja) | 2001-04-02 | 2001-04-02 | 画像処理方法及び画像処理装置、及び画像処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002297121A JP2002297121A (ja) | 2002-10-11 |
JP3733297B2 true JP3733297B2 (ja) | 2006-01-11 |
Family
ID=18956667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001103640A Expired - Fee Related JP3733297B2 (ja) | 2001-04-02 | 2001-04-02 | 画像処理方法及び画像処理装置、及び画像処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7113309B2 (ja) |
JP (1) | JP3733297B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3733297B2 (ja) * | 2001-04-02 | 2006-01-11 | キヤノン株式会社 | 画像処理方法及び画像処理装置、及び画像処理システム |
US7164431B1 (en) * | 2001-05-08 | 2007-01-16 | Pixelworks, Inc. | System and method for mixing graphics and text in an on-screen display application |
JP2006318208A (ja) * | 2005-05-12 | 2006-11-24 | Canon Inc | 画像処理方法および画像処理システム |
JP4944761B2 (ja) * | 2007-12-27 | 2012-06-06 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US9218680B2 (en) * | 2010-09-01 | 2015-12-22 | K-Nfb Reading Technology, Inc. | Systems and methods for rendering graphical content and glyphs |
AU2013211450A1 (en) | 2013-07-30 | 2015-02-19 | Canon Kabushiki Kaisha | Fixed memory rendering |
AU2013248213A1 (en) | 2013-10-24 | 2015-05-14 | Canon Kabushiki Kaisha | Method, apparatus and system for generating an attribute map for processing an image |
JP6700953B2 (ja) * | 2016-05-02 | 2020-05-27 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6228125B1 (en) * | 1992-01-21 | 2001-05-08 | Minolta Co., Ltd. | Image processing apparatus for parallel image processing and method therefor |
US6853465B1 (en) * | 1999-05-18 | 2005-02-08 | Canon Kabushiki Kaisha | Image processing method and apparatus, and storage medium therefor |
JP3733297B2 (ja) * | 2001-04-02 | 2006-01-11 | キヤノン株式会社 | 画像処理方法及び画像処理装置、及び画像処理システム |
-
2001
- 2001-04-02 JP JP2001103640A patent/JP3733297B2/ja not_active Expired - Fee Related
-
2002
- 2002-03-18 US US10/098,546 patent/US7113309B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7113309B2 (en) | 2006-09-26 |
US20020191202A1 (en) | 2002-12-19 |
JP2002297121A (ja) | 2002-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080273218A1 (en) | Image Processing Apparatus, Control Method Thereof, and Program | |
JP3733297B2 (ja) | 画像処理方法及び画像処理装置、及び画像処理システム | |
JP4135195B2 (ja) | 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP4944761B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP4682662B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP3285930B2 (ja) | 画像処理装置 | |
US7742192B2 (en) | Image processing method and system | |
EP1018706A1 (en) | Image data interpolating device, image data interpolating method, and medium on which image data interpolating program is recorded | |
JP4054690B2 (ja) | 印刷制御装置及びその方法 | |
JP4109785B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP3728183B2 (ja) | 印刷制御装置および描画制御装置およびデータ処理方法および記憶媒体 | |
JP3542370B2 (ja) | 印刷制御装置及び印刷制御方法 | |
JP3997808B2 (ja) | 描画処理装置および描画処理方法 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP4306841B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP2001228990A (ja) | 画像処理方法、装置および記録媒体 | |
JP4217332B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP2003011442A (ja) | プリンタ | |
JP2003196648A (ja) | 画像処理方法及び装置とその記憶媒体及びプログラム製品 | |
JP2003050683A (ja) | 画像処理装置、画像処理方法、並びにプログラム及び記憶媒体 | |
US7675642B2 (en) | Print apparatus and print method | |
JP2000331147A (ja) | 画像処理方法および画像処理装置 | |
JPH1158837A (ja) | 画像印刷装置、画像印刷方法、及び記憶媒体 | |
JP2001127979A (ja) | 画像処理方法及びその装置、画像処理システム及び記録媒体 | |
JP2007021730A (ja) | データ処理装置、データ処理方法、データ処理プログラムおよびそのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040625 |
|
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: 20050927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051017 |
|
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: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |