(57)【要約】【課題】カラーや白黒など複数の出力系を同時に動作させるような構成を採る場合、出力系の各々に対応してＲＯＰ処理部を複数種類用意したのでは、論理演算処理部の構成の複雑化を招く。【解決手段】複数の画素値間で論理演算を行うに当たり、第１の色空間で示される複数の画素と、当該複数の画素間の論理演算方法を規定する第１のコード番号とを入力し（ステップＳ１１）、当該第１のコード番号を第２のコード番号に変換する（ステップＳ１５）とともに、複数の画素の色空間を第1の色空間から第２の色空間に変換し（ステップＳ１６）、この色空間を変換した複数の画素と第２のコード番号とを使用して当該複数の画素間で論理演算を行う（ステップＳ１７）。【選択図】図２
2005094402.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素値間で論理演算を行う描画処理方法であって、
第１の色空間で示される前記複数の画素と、当該複数の画素間の論理演算方法を規定する第１のコード番号とを入力する第１のステップと、
前記第１のステップで入力される前記第１のコード番号を第２のコード番号に変換する第２のステップと、
前記複数の画素の色空間を前記第1の色空間から前記第２の色空間に変換する第３のステップと、
前記第３のステップで色空間が変換された前記複数の画素と前記第２のコード番号とを使用して当該複数の画素間で論理演算を行う第４のステップと
を有することを特徴とする描画処理方法。
【請求項２】
前記第２のステップでは、前記第１のコード番号の各々のビット値を反転し、コード表現に必要とされるビット数のビット列の中心位置を基点にビット位置を反転させる処理を行うことによって前記第２のコード番号を生成する
ことを特徴とする請求項１記載の描画処理方法。
【請求項３】
前記第１の色空間をＲＧＢ空間とし、前記第２の色空間を値“０”を白色で定義するグレイ空間とする
ことを特徴とする請求項１記載の描画処理方法。
【請求項４】
前記第１の色空間を値“０”を黒色で定義するグレイ空間とし、前記第２の色空間を値“０”を白色で定義するグレイ空間とする
ことを特徴とする請求項１記載の描画処理方法。
【請求項５】
前記第１の色空間をＲＧＢ空間とし、前記第２の色空間をＣＭＹ空間とする
ことを特徴とする請求項１記載の描画処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画素値間で論理演算を行う描画処理方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの画像作成装置から出力される様々な描画命令を処理し、印刷装置で印刷可能な画素の並びで表現された画像データに展開する画像形成システムにおいては、描画命令を受け取ってから画像データに展開されるまでの間に描画命令に応じた様々な処理が行われる。その１つとして、複数の画像が重なる位置に描かれる場合に、元の画像と新たに書き込む画像との重ね合わせの方法の指示に従って、両方の画像を重ね合わせる処理がある。
【０００３】
重ね合わせの処理方法は、通常、否定、論理和、論理積、排他的論理和などの論理演算や、それらの論理演算の組み合わせとして指示される。このような画像間の論理演算は、一般にＲＯＰ(Raster Operation)として知られている。また、論理演算命令はパーソナルコンピュータのディスプレイ上で扱われるＲ（赤）Ｇ（緑）Ｂ（青）色空間、もしくは値“０”を黒色で定義するグレイ空間（以下、これをディスプレイグレイ(Display Gray)と呼ぶ）で定義されたコード番号により指定される。また、画像間の論理演算の種類は、２画像間の論理演算処理が１６種類、３画像間の論理演算が２５６種類定義できる。
【０００４】
レーザービームプリンタ等の画像出力装置内部の画像処理については、その出力形態が様々に増えつつある。例えば、色種については、白黒、カラーといった具合に存在し、またカラーについては、出力色空間として、ＲＧＢ、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）、ＣＭＹＫ（ブラック）といった具合に存在している。特に近年は、カラー出力用のプリンタでありながら、白黒出力も行いたいという場合に、カラー出力はＲＧＢ色空間でＲＯＰ演算を行った後にＣＭＹＫなどの色空間に変換するが、白黒の場合は入力色値を早い段階でＲＧＢまたは、ディスプレイグレイから値“０”を白色で定がする色空間（以下、これをプリンタグレイ(Printer Gray)と呼ぶ）に変換して、この上でＲＯＰ演算を行う形態が考えられている。
【０００５】
従来から、カラーのＣＭＹＫ上でＲＯＰ演算を行うと意図しない出力結果となる不具合が発生することが分かっている。したがって、より出力画像の画質を上げるという理由から、カラーについては、ＲＧＢ色空間で描画した後にＣＭＹＫ色空間に変換する手法が採られている（例えば、特許文献１参照）。一方、白黒については、上記ＣＭＹＫの場合よりは不具合が露見しないという理由と、1画素当たりのデータ量がカラーと比較して小さいという理由から、高速化の観点で処理の早い段階でプリンタグレイに変換するようにしている。
【０００６】
【特許文献１】特開２０００−１７２８３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、カラーや白黒など複数の出力系を同時に動作させるような構成を採用するに当たって、カラーについてはＲＧＢ色空間で描画した後にＣＭＹＫ色空間に変換し、白黒については処理の早い段階でプリンタグレイに変換するものとすると、出力系の各々に対応してＲＯＰ処理部を複数種類用意する必要があるため、論理演算部の構成の複雑化を招くことになる。
【０００８】
そこで、本発明は、カラーや白黒など複数の出力系を同時に動作させるような構成を採用するに当たって、論理演算部の構成の簡略化を可能にした描画処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明による描画処理方法は、複数の画素値間で論理演算を行うに当たり、第１の色空間で示される複数の画素と、当該複数の画素間の論理演算方法を規定する第１のコード番号とを入力し、当該第１のコード番号を第２のコード番号に変換するとともに、複数の画素の色空間を第1の色空間から第２の色空間に変換し、この色空間を変換した複数の画素と第２のコード番号とを使用して当該複数の画素間で論理演算を行うことを特徴としている。
【００１０】
上記描画処理方法を適用することにより、ＲＧＢやディスプレイグレイの補色空間、即ちＣＭＹやプリンタグレイでＲＯＰ演算を行うとき、ＲＯＰのコード番号を変更するだけで、元のＲＧＢやディスプレイグレイ用に作成されたＲＯＰ処理部を使用できる。したがって、カラーや白黒など複数の出力系を同時に動作させるような構成を採る場合に、出力系の各々に対応してＲＯＰ処理部を複数種類用意しなくて済む。
【発明の効果】
【００１１】
本発明によれば、カラーや白黒など複数の出力系を同時に動作させるような構成を採る場合に、出力系の各々に対応してＲＯＰ処理部を複数種類用意しなくて済むため、論理演算部の構成を簡略化できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は、本発明による描画処理方法が適用される画像処理装置の構成の一例を示す機能ブロック図である。図１において、画像展開部１１は、入力画像データを画像メモリ１２上に展開処理する。このとき、画像メモリ１２上に展開されている画像データと重なる領域に画像を展開する際には、指示された論理演算に従った論理演算処理を論理演算部１５に行わせる。また、画像の展開処理を行う際に、入力画像データの色空間から中間の色空間への色空間変換処理を行っても良い。例えば、ＲＧＢ色空間のデータとして入力画像データが与えられるとき、そのままＲＧＢ色空間のデータとして画像メモリ１２に展開処理しても良いし、例えばＹＭＣ色空間に変換して画像メモリ１２に格納しても良い。
【００１４】
画像メモリ１２は、画像展開部１１で展開した画像データおよび論理演算部１５で論理演算した結果の画像データなどを保持する。付加情報生成部１３は、入力画像データから展開する画像の占める領域毎に、例えば、文字、図形、ラスタ画像などの画像の種別を表す付加情報を生成して付加情報メモリ１４に格納する。付加情報メモリ１４は、画像メモリ１２に格納されている画像データに対応する付加情報を保持する。
【００１５】
論理演算部１５は、画像メモリ１２上に展開されている画像データと重なる領域に画像を展開する際には、指示された論理演算にしたがって画像メモリ１２内の画像の画素と展開した画像の画素との間で論理演算を実行する。そして、実行結果を画像メモリ１２に書き戻す。付加情報修正部１６は、論理演算部１５で論理演算を行う際に、論理演算後の画像データの種別を考慮して、付加情報メモリ１４に格納されている付加情報を修正する。色変換部１７は、画像メモリ１２に格納されている画像データを、画像データを出力する際の色空間に変換する。このとき、付加情報メモリ１４に格納されている付加情報を参照し、付加情報で示される画像の種別に最適な色変換処理を行う。
【００１６】
図２は、本発明の一実施形態に係る描画処理方法の処理手順を示すフローチャートである。ここでは、カラーや白黒などの複数の出力部を有し、これら複数の出力部を同時に動作可能なレーザービームプリンタ等の画像出力装置（画像形成装置）を前提とした描画処理を示している。この描画処理は、図１の論理演算部１５で実行される。
【００１７】
図２のフローチャートにおいて、先ず、第１の色空間、例えばＲＧＢ色空間で示される複数の画素と、当該複数の画素間の論理演算方法を規定する第１のコード番号とを入力する（ステップＳ１１）。次に、カラー出力であるか否かを判断する（ステップＳ１２）。カラー出力であれば、レンダリング処理および複数の画素間でのＲＯＰ処理を行う（ステップＳ１３）。次に、ＲＧＢ色空間からＣＭＹＫ色空間に変換する色変換処理を行う（ステップＳ１４）。以上により、カラーについての一連の描画処理を終了する。
【００１８】
一方、ステップＳ１２で白黒出力と判断した場合には、先ず、第１のコード番号を第２のコード番号に変換するコード変換処理を行う（ステップＳ１５）。このコード変換処理では、例えば、第１のコード番号の各々のビット値を反転し、コード表現に必要とされるビット数のビット列の中心位置を基点にビット位置を反転させる処理を行うことによって第２のコード番号を生成する。次に、ＲＧＢ色空間を第２の色空間、例えば値“０”を白色で定義するグレイ空間、即ちディスプレイグレイに変換する色変換処理を行う（ステップＳ１６）。次に、レンダリング処理および複数の画素間でのＲＯＰ処理を行う（ステップＳ１７）。以上により、白黒についての一連の描画処理を終了する。
【００１９】
なお、本例では、白黒についての一連の描画処理において、コード変換処理を行った後に、色変換処理を行う処理手順とした場合を例に挙げて示したが、これに限られるものではなく、その順番は逆であっても良い。すなわち、色変換処理を行った後に、コード変換処理を行うようにしても良い。
【００２０】
（実施例１）
本実施例に係る描画処理方法では、２つの画素間で論理演算を行う場合について説明する。ここで、一方の画像値をＡ、他方の画像値をＢとするとき、一般化した２画像間の論理演算式は次式で表される。
（Ｆ０＆（Ａ＆Ｂ））｜
（Ｆ１＆（Ａ＆〜Ｂ））｜
（Ｆ２＆（〜Ａ＆Ｂ））｜
（Ｆ３＆（〜Ａ＆〜Ｂ））        ……（１）
【００２１】
上記式（１）は、ブール代数表記としてＣ言語で表記した場合である。式（１）において、＆記号は論理積、｜記号は論理和、〜記号は論理否定をそれぞれ表している。Ｆ０，Ｆ１，Ｆ２，Ｆ３は、論理０または論理１をとる変数であり、例えば、Ｆ０が論理１の値をとる場合、（Ａ＆Ｂ）が成立する。反対に、論理０の値をとる場合、（Ａ＆Ｂ）の式は成立せず、式を値０として出力することを表す。
【００２２】
Ｆ０〜Ｆ３の４つの変数の値を４ビットの数値としてコード化することが可能である。これを２画像間論理演算の論理演算コード番号（第１のコード番号）と定義すると、全部で１６種類の論理演算が定義できる。図３に、上記式（１）の結果を表にまとめて示す。図３に示す表中のコードの列が、上記４ビットの論理演算コード番号に対応している。また、ブール代数操作の列は上記式（１）の一般式を変形した結果を表している。例えば、コードが１の場合は、上記式（１）は変数Ｆ０，Ｆ１，Ｆ２が論理０であり、変数Ｆ３が論理１となる。すなわち、〜Ａ＆〜Ｂとなり、この式は、図３中に示される演算〜（Ａ｜Ｂ）と同一となる。
【００２３】
次に、図３に示すように（Ａ，Ｂ）の組み合わせが左から（１，１）（１，０）（０，１）（０，０）と並べたとき、結果が４ビット数値で０，１，２，３，……となるように作成している。コード番号と論理演算の結果との対応は別の形でも対応でき、例えば、図３の結果が「０，０，０，０」となるとき、この演算を行うコード番号を１５番と決めても良いが、どのような対応を行ったとしても、図３の形式の表に書き換えられるので、ここでは図３の表を基に説明する。
【００２４】
また、図３に示す論理演算コード番号は、コード番号と演算の種類の対応付けがＲＧＢ色空間用に定義されているものと仮定する。もちろん、これをＣＭＹ色空間用に定義しているものとしても良い。ただし、本実施形態では、ＲＧＢの補色であるＣＭＹの論理演算コード番号（第２のコード番号）を作成するものとする。したがって、ＣＭＹ用に定義されていたとすれば、ＲＧＢ用の論理演算コード番号を求めることと同義となるので、ここではＲＧＢ用に定義された表であるものとする。
【００２５】
次に、ＲＧＢ用に定義された図３の表を基に、補色であるＣＭＹ用のコード番号を作成する手順について説明する。ＣＭＹはＲＧＢ用の補色空間なので、入力および出力のビット値を反転する。図４はこの結果を示している。先に示したように、ＲＧＢ用の図３に示す表は、Ａ，Ｂ画素が左から（０，０）（１，０）（０，１）（１，０）（０，０）の順番で形式化されているので、同様の形式の表に書き換えたものが図５である。
【００２６】
本実施形態では、ＣＭＹの論理演算をＲＧＢの論理演算処理部（演算プログラム）を使用して演算するものとしているため、図５の結果のビットの並びが図３の表で規定したコード番号と一致する。すなわち、図５の１番上の列は、左から「１，１，１，１」となっているので、これを図３の表から検索すると１５番という結果となる。また、２番目の列は、左から「０，１，１，１」となっているので、これも図３の表から検索すると７番という結果になる。
【００２７】
このように、図５の結果から図３の論理演算コード番号を拾い出すと、図５に示すコードの行の結果になる。すなわち、上記の例では、ＣＭＹで演算するには、もともとＲＧＢで論理演算コード０番と指定された演算を１５番で演算すれば良いことになり、論理演算コード２番と指定された演算を７番で演算すれば良いことになる。
【００２８】
上記の処理手順を図的に表現すると図６に示すようになる。先ず、論理演算コード番号の各々のビットフィールドを反転する。次に、各々のビット位置を中心位置を基準に、図の左右方向において鏡像に反転する。これらをＣ言語を使用したプログラムで記述した場合の例として図７に示すように書き表すこともできる。
【００２９】
（実施例２）
本実施例に係る描画処理方法では、３つの画素間で論理演算を行う場合について説明する。３つの画素間で論理演算でも、２画素間での論理演算の場合と全く同様のことが言える。ここで、１つ目の画像値をＡ、２つ目の画像値をＢ、３つ目画像値をＣとするとき、一般化した論理演算式は次式で表される。
【００３０】
（Ｆ０＆（Ａ＆Ｂ＆Ｃ））｜
（Ｆ１＆（Ａ＆Ｂ＆〜Ｃ））｜
（Ｆ２＆（Ａ＆〜Ｂ＆Ｃ））｜
（Ｆ３＆（Ａ＆〜Ｂ＆〜Ｃ））｜
（Ｆ４＆（〜Ａ＆Ｂ＆Ｃ））｜
（Ｆ５＆（〜Ａ＆Ｂ＆〜Ｃ））｜
（Ｆ６＆（〜Ａ＆〜Ｂ＆Ｃ））｜
（Ｆ６＆（〜Ａ＆〜Ｂ＆〜Ｃ））｜    ……式（２）
【００３１】
上記式（２）において、Ｆ０，Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５，Ｆ６，Ｆ７は、論理０または論理１をとる変数であり、この８つの変数の値を８ビットの数値としてコード化することが可能である。これを３画像間論理演算の論理演算コード番号と定義すると、全部で２５６種類の演算が定義できる。図８に、上記式（２）の結果を表にまとめて示す。図８に示す表中のコードの行が、上記８ビットの論理演算コード番号に対応している。図８においては、表の簡略化のために、コード番号の４から１２７まで、および、１３２から２５１までを省略している。また、ブール代数操作は、上記式（２）の一般式を変形した結果を表している。先に示した２画素間での補色空間の論理演算コード番号を求める方法に従って、３画素間の論理演算コード番号を求めたものが図９である。
【００３２】
以上説明したように、各実施例では、２画素間あるいは３画素間での論理演算コード番号がＲＧＢなどの特定の色空間で定められている場合に、その補色の論理演算について、論理演算コードの値の反転（否定）値を求め、ビット位置を変更することによって求める場合を例に挙げて説明した。これは、当然、上記２つの処理が逆転し、ビット位置の変更を行った後に、値の反転（否定）を行っても同じである。
【００３３】
なお、上記実施形態では、第１の色空間をＲＧＢ空間とし、第２の色空間を値“０”を白色で定義するグレイ空間（ディスプレイグレイ）とした場合を例に挙げて説明したが、これらの色空間の組み合わせに限られるものではなく、第１の色空間を値“０”を黒色で定義するグレイ空間（プリンタグレイ）とし、第２の色空間を値“０”を白色で定義するグレイ空間とする組み合わせや、第１の色空間をＲＧＢ空間とし、第２の色空間をＣＭＹ空間とする組み合わせなども可能である。
【００３４】
また、上記実施形態では、コード変換処理を色変換処理の前または後で行うとしたが、図1に示した処理手順を実行する以前に全ての値を求め、表形式（テーブル形式）で実行処理部が保持しておくようにすることも可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明による描画処理方法が適用される画像処理装置の構成の一例を示す機能ブロック図である。
【図２】本発明の一実施形態に係る描画処理方法の処理手順を示すフローチャートである。
【図３】式（１）の結果を表にまとめて示した図である。
【図４】入力および出力のビット値を反転した結果を示す図である。
【図５】２画素間の論理演算コードを示す図である。
【図６】２画素間の論理演算の処理手順を図的に表現した概念図である。
【図７】Ｃ言語を使用したプログラムで記述した場合の例を示す図である。
【図８】式（２）の結果を表にまとめて示した図である。
【図９】３画素間の論理演算コードを示す図である。
【符号の説明】
【００３６】
１１…画像展開部、１２…画像メモリ、１３…付加情報生成部、１４付加情報メモリ、１５…論理演算部、１６…付加情報修正部、１７…色変換部
【図１】
2005094402.tif 000003
【図２】
2005094402.tif 000004
【図３】
2005094402.tif 000005
【図４】
2005094402.tif 000006
【図５】
2005094402.tif 000007
【図６】
2005094402.tif 000008
【図７】
2005094402.tif 000009
【図８】
2005094402.tif 000010
【図９】
2005094402.tif 000011