JP5046237B2 - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP5046237B2
JP5046237B2 JP2008014983A JP2008014983A JP5046237B2 JP 5046237 B2 JP5046237 B2 JP 5046237B2 JP 2008014983 A JP2008014983 A JP 2008014983A JP 2008014983 A JP2008014983 A JP 2008014983A JP 5046237 B2 JP5046237 B2 JP 5046237B2
Authority
JP
Japan
Prior art keywords
image
raster
calculation
plane
achromatic
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
Application number
JP2008014983A
Other languages
English (en)
Other versions
JP2009177589A (ja
Inventor
美貴也 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008014983A priority Critical patent/JP5046237B2/ja
Publication of JP2009177589A publication Critical patent/JP2009177589A/ja
Application granted granted Critical
Publication of JP5046237B2 publication Critical patent/JP5046237B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、画像処理技術に関し、より詳細には、画像間の演算処理を行なう画像処理装置、画像処理方法およびプログラムに関する。
複合機やレーザプリンタなどの画像形成装置は、Windows(登録商標)がサポートするラスタ操作(ROP:Raster Operation)演算など、各種画像の論理演算機能に対応している。このROP演算は、描画オブジェクトの重ね合わせといった高度な表現力を実現する。
アプリケーションからWindows(登録商標)のGDI(Graphic Device Interface)経由で要求される上記ROP演算は、RGB色空間の各色8bit階調深度での処理を前提としている。一方、画像形成装置のプリンタ・コントローラ上では、装置の掲載メモリの制約およびパフォーマンスの観点から、CMYK色空間の1bitまたは2bitの階調深度といった、プロッタ・エンジン出力に最低限必要な色空間および階調深度にて画像を扱うことが望まれている。また、ROP演算を、最低限必要な色空間および階調深度にて実現することができれば、必要なメモリ・リソースを削減でき、同時にパフォーマンスを向上させることができる。
このような背景から、プロッタ・エンジンに応じたCMYK色空間および少値の階調深度にてROP演算を実現することが望まれていた。しかしながら、上記論理演算処理をCMYK色空間でそのまま行なうと、色味の互換性が保てず、モニタ上のイメージと印刷出力結果との間で色が相違してしまうという問題があった。このため、従来では、ROP演算が要求されたときにRGB色空間に変換して処理を行ったり、CMYK色空間にてRGB色空間でROP演算を行なった場合のものに近い結果が得られるよう独自のROP演算に変換したり、ROP演算結果を修正したりといった、種々の手法が提案されている。
例えば特開2000−236451号公報(特許文献1)は、同じ画素位置に対する描画処理が複数回発生した場合に、下地画像を取りこみ新たな描画データと演算描画(ROP)を行ない出力画像を更新する手段を備えたことを特徴とするカラー画像処理装置を開示している。また特開2005−151381号公報(特許文献2)は、CMYK空間でディザ処理を行えるようにすると同時に、ROPの互換性を保てられる画像処理方法を提供することを目的として、複数のラスタ操作コードの中における所定のラスタ操作コードで無ければ、色分解された各画像データに黒色生成または下地除去の処理を施して画像データから黒色の画像データを除去した後残りの各画像データのそれぞれにラスタ操作処理を行ない、そして黒色の画像データをディザ処理された画像データに戻す画像処理を行なう画像処理方法を開示する。
特開2000−236451号公報 特開2005−151381号公報
しかしながら、一連のGDIコールにより要求されるROP演算には、所望の描画結果を得るために複数のROP演算を組み合わせる場合があり、従来技術では、対応することができなかった。図7を参照して、複数のROP演算の複合による描画オブジェクトの重ね合わせ処理について説明する。図7は、RGB色空間における2段階のROP演算による描画結果を一例として示す。図7に示す2段階のROP演算では、背景画像と描画オブジェクトの透過的な重ね合わせが実現される。第1段階目のROP演算では、背景画像のデスティネーション画像(Destination-1)200と、黒文字「A」の形状のマスクイメージが描画されたソース画像(Source-1)202とを、ROP0x88(AND)にて処理すると、背景画像に文字「A」の形状のマスクが重ね合わされたデスティネーション画像(Destination-2)204が描画結果として得られる。
続いて第2段階目では、第1段階のROP演算により得られたデスティネーション画像(Destination-2)204を参照し、該デスティネーション画像204と、背景に重ね合わせたい文字「A」が描かれたソース画像(Source-2)206とを、ROP0xEE(OR)にて処理すると、背景画像に文字「A」が重ね合わされたデスティネーション画像(Destination-3)208が描画結果として得られる。上述のように、RGB色空間においては、論理積および論理和のROP演算を複合させることによって、背景オブジェクトに目的の描画オブジェクトを透過的に重ね合わせることが可能となる。
しかしながら、上述のような複合的なROP演算をCMYK空間にて実現させようとする場合、特に、前段階で得られたデスティネーション画像を参照するようなROP演算の場合には、従来技術は、最適とは言えない結果が得られ、充分に対応できるものではなかった。例えば、上記第2段階目で、ソース画像(Source-2)206の背景部分(黒地部分)をマスクして、文字「A」の描画オブジェクト部分のみをデスティネーション画像(Destination-1)に上書きする代替処理も提案されているが、この場合、ソース画像(Source-2)の背景部分に背景色以外の画素がノイズまたはゴミとして含まれると、ノイズまたはゴミまで描画結果に現れてしまうという問題もあった。
本発明は、上記問題点に鑑みてなされたものであり、例えばROP0x88およびROP0xEEのROP演算を複合させたような複合的なラスタ操作演算を、例えばCMYK空間のような複数の有彩色および無彩色による色空間上の演算にて、RGB色空間で実行された場合に期待されるものと同様な描画結果が得られるよう実現する画像処理装置、画像処理方法、およびプログラムを提供することを目的とする。
本発明では、上記課題を解決するために、取得した描画制御データに従って、複数の有彩色および無彩色のプレーンからなる第1のラスタ画像および第2のラスタ画像を描画して、記憶手段に書き込み、上記第1のラスタ画像の無彩色のプレーンを参照しながら、描画制御データに指令される上記第1のラスタ画像と上記第2のラスタ画像との画像間のラスタ操作演算(ROP演算)を代替する代替演算を実行する構成を採用する。
ラスタ操作演算は、RGB色空間上で行われることが前提とされるが、上記構成により、複数の有彩色および無彩色のプレーンからなるラスタ画像を扱う画像処理装置においても、適切な描画結果を得ることが可能となる。要求のラスタ操作演算が、複数の有彩色および無彩色による色空間上の演算にて代替されるため、ラスタ操作演算をRGB色空間上で実行するための余分な記憶領域の必要性が回避され、装置の記憶容量の削減およびパフォーマンスの向上を可能とする。
なお上記代替とは、指令されるラスタ操作演算がその実行の前提となるRGB色空間上で行われた場合の結果に適合する描画結果を、複数の有彩色および無彩色による色空間にて得ることを言う。上記構成では、例えば有彩色のプレーンと無彩色のプレーンとが非独立の関係に有るようなCMYK色空間にて表現されたラスタ画像であっても、上記代替演算の際に参照される無彩色のプレーンが、適切にマスクの形状が反映されていることが期待されるため、適切な描画結果を得ることができる。
また上記代替演算では、無彩色のプレーンに対する演算を、他の有彩色のプレーンに対する演算の後に実行することができる。また、上記判定手段は、例えば画像間の論理積のラスタ操作演算の指令に続き、前記第1のラスタ画像と前記第2のラスタ画像との画像間の論理和のラスタ操作演算の指令がなされた場合に、代替演算が必要であると判定することができる。また上記処理手段は、画像間の論理積のラスタ操作演算が指令された場合には、該ラスタ操作演算を代替して、画像間の論理和のラスタ操作演算を実行することができる。上記ラスタ画像は、シアン、マゼンダおよびイエローの3つの有彩色およびブラックの無彩色からなるCMYK色空間にて表現され、各色1〜4ビットの階調深度を有する画像とすることができる。
すなわち本発明によれば、複数の有彩色および無彩色のプレーンからなるラスタ画像を記憶する記憶手段と、
取得した描画制御データに従って、第1のラスタ画像および第2のラスタ画像を描画して前記記憶手段に書き込み、前記第1のラスタ画像の無彩色のプレーンを参照しながら、前記描画制御データに指令される前記第1のラスタ画像と前記第2のラスタ画像との画像間のラスタ操作演算を代替する代替演算を実行する描画手段と
を含む画像処理装置が提供される。
前記描画手段は、前記代替演算として、前記複数の有彩色および無彩色のプレーンの各プレーンにつき、前記第1のラスタ画像の無彩色のプレーン上のマスク指定階調値を含む領域に、対応する前記第2のラスタ画像の各プレーンの階調値を上書きすることができる。また上記画像処理装置は、前記描画制御データに含まれるラスタ操作演算の指令と、前記ラスタ操作演算の指令の前段階の指令とから、前記代替演算に変更する必要があるか否かを判定する判定手段をさらに含むことができる。
さらに、上記画像処理装置は、受信した前記描画制御データを解釈し、前記判定手段による判定の結果、前記代替演算への変更が必要であった場合に、前記描画制御データに指令されるラスタ操作演算の指令を、前記代替演算の指令に変換する解釈手段と、前記記憶手段に記憶されたラスタ画像を読み出して、画像形成エンジンに送出する画像送出手段とをさらに含むことができる。前記ラスタ画像は、前記複数の有彩色のプレーンと前記無彩色のプレーンとが非独立の関係を有し、かつ、各プレーンが当該画像処理装置に接続される画像形成エンジンに応じた階調深度を有する画像データであり、前記ラスタ操作演算は、前記複数の有彩色および無彩色による色空間とは異なる色空間での処理を前提として指令されているものとすることができる。
また、本発明によれば、取得した描画制御データに従って、複数の有彩色および無彩色のプレーンからなる第1のラスタ画像および第2のラスタ画像を描画して、記憶手段に書き込むステップと、
前記第1のラスタ画像の無彩色のプレーンを参照しながら、前記描画制御データに指令される前記第1のラスタ画像と前記第2のラスタ画像との画像間のラスタ操作演算を代替する代替演算を実行するステップと
を含む画像処理方法が提供される。
さらに本発明によれば、画像処理装置を、上記各手段として機能させる装置実行可能なプログラムが提供される。
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお本実施形態では、画像処理装置の一例として、プリント機能を有するレーザプリンタ10に用いられるプリント・コントローラ12を例として説明する。
図1は、レーザプリンタ10のハードウェア構成の実施形態を示す図である。図に示したレーザプリンタ10は、プリント・コントローラ12と、原稿に画像出力するプロッタ・エンジン34と、ユーザからの入力操作を待ち受ける操作パネル36とを含んで構成される。
プリント・コントローラ12は、中央演算処理装置(CPU)14と、システム・メモリ16と、システムの各種設定を格納するNV−RAM18と、プロッタ・エンジン34との間のインタフェースであるエンジン・インタフェース(I/F)20と、描画メモリ22とを含んで構成される。さらに、プリンタ・コントローラ12は、ホスト・パーソナル・コンピュータ(以下、ホストPCとして参照する。)60をシリアル、パラレルまたはネットワーク接続させるホストI/F24と、制御プログラムを格納するプログラムROM26と、印字のためのフォントを格納するフォントROM28と、操作パネル36とのインタフェースであるパネルI/F30とを含んで構成される。プリント・コントローラ12上のこれらの要素は、内部バス32を介して接続する。
プリント・コントローラ12は、描画制御データを構成するホストPC60から受信したPDL(ページ記述言語)などの印刷制御データに従って、描画データにラスタライズし、プロッタ・エンジン34に対して画像出力させる。上記描画メモリ22は、ホストPC60からの印刷制御データ、該印刷制御データから生成される中間データ、ラスタ形式の描画データを記憶する。レーザプリンタ10は、プログラムROM26やNV−RAM18などの記憶装置に格納されたプログラム(図示せず)および設定情報(図示せず)を読出し、CPU14の作業メモリ領域を提供するシステム・メモリ16のメモリ領域に展開し、また描画メモリ22を画像形成処理の作業領域として利用することによって、後述する各機能手段および各処理を実現する。
図2は、本実施形態のレーザプリンタ10における描画処理のデータフロー図を示す。ホストPC60は、アプリケーションからのドキュメント・データを、所定のプリンタ・ドライバを使用して、複数の描画コマンドからなる印刷制御データに変換して、レーザプリンタ10に送信し、プリントを指令する。上記描画コマンドは、文字、グラフィック、イメージの描画指令を含むことができる。また上記印刷制御データは、PostScript(登録商標)、PCL(登録商標)、LIPS(登録商標)、RPDL(登録商標)など、種々のプリンタ言語により記述されたデータとすることができ、特に限定されるものではない。
レーザプリンタ10では、インタプリタ部40が、ホストPC60から受信した印刷制御データを解釈し、中間データを生成し、中間データ記憶部46へ一時的に記憶する。描画処理部44は、中間データ記憶部46から中間データを読み出し、中間データに含まれる描画指令に応じてラスタライズする。上記ラスタライズでは、例えば、RGB多値の描画オブジェクトを、カラーマッチングおよびUCR/BG(Under Color Removal / Black Generation)によりCMYK色空間に変換し、ガンマ処理などの所定の画像処理を実施した後、ディザリング等によりプロッタ・エンジン34が扱い可能な階調深度に少値化し、例えばCMYK色空間の各色プレーン1bitの階調深度を有したラスタ形式の描画データを生成し、描画データ記憶部48に記憶する。描画データ記憶部48に記憶された描画データは、プロッタ・エンジン34へ送出され、プロッタ・エンジン34は、描画データに従って原稿上に画像出力する。
また本実施形態では、インタプリタ部40は、印刷制御データにラスタ操作(ROP:Raster Operation)演算の指令が含まれている場合には、複合ROP判定部42に対し当該ROP演算の指令と、その直前の指令の識別値とを渡して問い合わせ、代替演算処理への変更の要否判定を依頼する。またインタプリタ部40は、判定結果を受け取り、代替演算処理への変更が必要である場合には、ROP演算の指令を代替演算処理の指令に変換する。複合ROP判定部42は、インタプリタ部40からの問い合わせに応答して、要求のROP演算処理を代替演算処理へ変更する必要があるか否かを判定し、判定結果を返答する。なお、ROP演算の指令の識別値には、例えばROP3では、256通りの組み合わせのいずれかの種類を指定するROPコードが付されている。
上記描画処理部44は、より具体的には、通常の描画処理を実行する通常図形描画処理部52と、代替演算処理を実行するKプレーン参照図形描画処理部50とを含んで構成される。描画処理部44は、中間データを読み込み、代替演算処理が指令されていた場合には、Kプレーン参照図形描画処理部50をして、指令された描画処理を実行させる。一方、代替演算処理以外の通常のROP演算の指令がされていた場合には、通常図形描画処理部52をして、指令された描画処理を実行させる。
なお、上記ROP演算とは、2以上の描画オブジェクトを重ね合わせる際に実行される画像間の論理演算処理である。ROP演算を行なうことによって、単に上下関係をつけて上書きするだけでなく、「透過」や「反転」などの効果を与えることができる。Windows(登録商標)のGDI(Graphic Device Interface)では、ROP2、ROP3などのROP命令がサポートされている。ROP2では、ソース画像とデスティネーション画像との2つのラスタ画像の描画オブジェクトの論理演算を行なうものであり、描画オブジェクトの状態および出力結果の組み合わせから16種類存在する。ROP3は、ソース画像およびデスティネーション画像の他に、パターン画像を加えた、3つの描画オブジェクトの論理演算を行なうものであり、描画オブジェクトの状態および出力結果から256種類存在する。このROP演算による描画結果は、デスティネーション画像が記憶されるメモリ領域に上書きされることとなる。本実施形態のプリント・コントローラ12は、特定の複数のROP演算が特定の順序で実施される実施された場合に、該ROP演算を、CMYK色空間に適合した代替演算処理に変換する。
以下、複合ROP判定部42による判定処理について、フローチャートを参照しながら説明する。図3は、複合ROP判定部42における判定処理のフローチャートを示す。図3に示す処理は、インタプリタ部40からの問い合わせを受けて、ステップS100から開始される。ステップS101では、問い合わせに含まれるROP演算の指令の識別値から、対応するROPコードを得て、ステップS102で、該ROPコードが[0xEE]であるか否かを判定する。なお、上記[0xEE]のROPコードは、RGB色空間でのソース画像およびデスティネーション画像の画像間の論理和を指定するものである。
ステップS102で、ROPコードが[0xEE]では無いと判定された場合(NO)には、ステップS106へ分岐させ、通常図形描画処理を実行するものとし、インタプリタ部40に代替演算処理が不要である旨を通知し、ステップS105で処理を終了させる。一方、ステップS102で、ROPコードが[0xEE]であると判定された場合(YES)には、ステップS103へ分岐させる。
ステップS103では、直前の指令が、ROPコード[0x88]で指定されるROP演算であったか否かを判定する。ステップS103で、直前の指令がROPコード[0x88]で指定されるROP演算ではないと判定された場合(NO)には、処理をステップS106へ分岐させ、通常図形描画処理を実行するものと判定し、インタプリタ部40に対し、代替演算処理が不要である旨を判定結果として返信し、ステップS105で処理を終了させる。一方、ステップS103で、直前の指令が、ROPコード[0x88]で指定されるROP演算であると判定された場合(YES)には、処理をステップS104へ分岐させる。ステップS104では、後述するKプレーン参照図形描画処理を実行するものとし、インタプリタ部40に対し代替演算処理が必要である旨を判定結果として返信し、ステップS105で処理を終了させる。
上記ステップS102およびステップS103の判定により、[0x88]で指定されるROP演算に引き続いて[0xEE]で指定されるROP演算が指令される場合、つまり0x88−0xEEの複合ROP演算が指令された場合に、[0xEE]で指定されるROP演算の指令が適切な代替演算の指令に変換され、描画処理部44のKプレーン参照図形描画処理部50にて適切な代替演算処理が実行されることとなる。またそれ以外の場合には、描画処理部44の通常図形描画処理部52にて通常の描画処理が実行されることとなる。なお、上記ステップS102およびステップS103の判定の順序は、交換することができる。また上記実施形態では、ROP演算の指令と、その直前の指令の識別値とから、代替演算に変更する必要があるか否かを判定している。しかしながら、複数のROP0x88演算が連続して実行された後に、対応する複数のROP0xEE演算が実行される場合もあり、他の実施形態では、ROP0x88演算とROP0xEE演算との関連付けを記憶し、上記場合に対応することもできる。
なお、上記通常の描画処理とは、RGB色空間での演算が前提である単体のROP演算を、CMYK色空間にて実現するよう適切に変換したものである。例えば、ROPコード[0x88]で示されるROP演算は、RGB色空間での画像間の論理積(AND)を指定するが、CMYK色空間では、論理和(OR)に変換することにより同様の結果が得られるため、インタプリタ部40は、中間データ中の論理積(AND)の演算指令を、論理和(OR)の指令に変換し、通常図形描画処理部52は、CMYK色空間にて、ソース画像と描画データとの論理和を演算することとなる。
以下、0x88−0xEEの複合ROP演算が指令された場合に実行されるROP0xEEの代替演算処理について説明する。図4は、Kプレーン参照図形描画処理部50が実行する代替演算処理の実施形態を示すフローチャートである。また図5は、0x88−0xEEの複合ROP演算による描画結果を一例として示す。まず、ROP0xEE演算の前段階で、ROP0x88演算が実行された場合、所定の形状を有するマスクイメージが元の背景画像に対して描画された図5に示すようなデスティネーション画像(Destination-2)100が得られる。なお、図5のデスティネーション画像(Destination-2)100において、黒ベタで塗りつぶされた領域がマスクイメージである。
CMYK色空間では、黒などの無彩色は、イメージやフォントといったオブジェクトの属性や特定の実装形態に応じて、K成分のみのブラック、CMYKのコンポジットブラック、またはCMYのコンポジットブラックのいずれかで表現される。CMY成分およびK成分にどのように分配されるかは、前段階のUCR/BGに依存する。このため、黒にてマスクイメージを描画した場合、CMYK各プレーンすべてに適切なマスクイメージが描かれるとは限らない。図5に示すように、マスクイメージ描画後のデスティネーション画像(Destination-2)100の各CMYプレーン100C,100M,100Yでは、実際のマスクイメージに比較して薄い結果となってしまう。
一方、RGB色空間で黒(RBG(0,0,0))またはCMYK色空間で黒(K(255)/CMYK(255,255,255,255),CMYK(255,255,255,0))にてマスクの色が指定される場合、デスティネーション画像(Destination-2)100のKプレーンは、ほとんどの実装環境で、黒ベタで描画されることとなり、正しいマスクイメージの形状を保持しているものと期待される。そこで、本実施形態では、ROP0x88に続くROP0xEE演算の際には、Kプレーン以外の各CMYプレーンの描画演算の際にも、Kプレーンを参照する。
図4に示す処理は、中間データにより代替演算処理が指令されていた場合に、描画処理部44により呼び出され、ステップS200から開始される。ステップS201およびステップS206は、ループ構造をなし、C,M,Y,Kの順番に各プレーンについて、ステップS202〜S205およびS208で示す処理フローを繰り返させる。またステップS201およびS206のループ構造内のステップS202およびステップS205もループ構造をなし、描画範囲にある各描画座標につき、ステップS203およびS204またはS208の処理を繰り返させる。ステップS201およびS206のループが終了したら、ステップS207へ進め、処理を終了させる。なお、上記描画範囲は、デスティネーション画像100の全部または一部とすることができる。
ステップS203では、デスティネーション画像100のKプレーン100Kにおける現在座標(x、y)の値がall_onのマスク指定階調値であるか否かを判定する。ここで、ステップS203では、現在座標(x、y)の値が、1bitの階調深度の場合に[1]([ON])を、2bit以上の階調深度の場合に全bitが[1]([ON])である場合に、all_onであると判定する。ステップS203で、現在座標(x、y)の値がall_onであると判定された場合(YES)には、ステップS204へ処理を分岐させ、現在の処理対象であるカレントプレーンにつき、ソース画像(Source-2)110の対応する座標の階調値を読み出し、その座標が背景色でない場合には、デスティネーション画像100の現在座標に上書きし、ステップS205に処理を進める。なお、図5に示す例では、ソース画像(Source-2)では、白が背景色とされている。
一方、ステップS203で、現在座標(x、y)の値がall_onではないと判定された場合(no)には、ステップS208へ分岐させる。ステップS208では、描画を行なわずに、ステップS205へ処理を進める。
上述したように、ステップS203および、ステップS204またはS208の処理を、CMYK全プレーンおよび描画範囲の全座標について実行することにより、前段階のROP演算によりマスクイメージとして描画された領域に、ソース画像110の画像が適切に描画されることとなり、RGB色空間で0x88−0xEEの複合ROP演算を行なった場合と同様の結果が得られる。この際には、ROP演算を実行するためにRGB色空間の画像を記憶するための余分なメモリ領域の必要性が回避され、装置を省メモリ化することが可能となり、加えて、メモリアクセス量が低減するため、パフォーマンスを向上させることも可能となる。
また、デスティネーション画像100に描画されたマスクイメージがマスクとして利用されるため、ソース画像(Source-2)にゴミやノイズが含まれていた場合であっても、該ゴミやノイズがデスティネーション画像100に上書きされてしまうことを好適に防止することが可能となる。画像形成装置では、アンチエイリアシングによりマスクイメージ周辺に余分な画像が含まれる場合があるが、この余分なゴミを好適に低減することが可能となる。
なお、CMYKの各プレーンの処理順序は、すべてのプレーンでの処理の際に参照されるKプレーンが、他のプレーンの処理が行われる前に上書きされてしまわないように、Kプレーンに対する処理を最後に行なうことが好ましい。しかしながら、Kプレーン以外のCMYプレーンの処理順序は、特に制限されるものではなく、如何なる順序であってもよい。また、特定の実施形態において、CMYK以外のカラートナーまたはカラーインクが用いられ、プレーン数が増減した場合にも適用することができる。また、上述の実施形態では、カラーのラスタ画像に適用されているが、モノクロのラスタ画像に適用してもよい。
以下、0x88−0xEEの複合ROP演算が指令された場合に実行されるROP0xEEの代替演算処理の他の実施形態について説明する。図6は、Kプレーン参照図形描画処理部50が実行する代替演算処理の他の実施形態を示すフローチャートである。
図6に示す処理は、代替演算処理が指令されていた場合に、描画処理部44により呼び出され、ステップS300から開始される。ステップS301およびステップS306は、ループ構造をなし、描画範囲の各描画座標につき、ステップS302〜S305およびS308で示す処理フローを繰り返させる。ステップS301およびS306のループが終了したら、ステップS307へ進め、処理を終了させる。ステップS302では、デスティネーション画像100のKプレーン100Kにおける現在座標(x、y)の値がall_onのマスク指定階調値であるか否かを判定する。
ステップS302で、現在座標(x、y)の値がall_onではないと判定された場合(NO)には、ステップS308へ処理を分岐させ、ステップS308では、描画を行なわずに、ステップS306へ処理を進める。一方、ステップS302で、現在座標(x、y)の値がall_onであると判定された場合(YES)には、ステップS303へ処理を進める。ステップS303およびステップS305は、ループ構造をなし、C,M,Y,Kの順番に各プレーンについて、ステップS304の処理を繰り返させる。ステップS304では、カレントプレーンにつき、ソース画像(Source-2)110の対応する座標の値を読み出し、その値が背景色でない場合には、デスティネーション画像100の現在座標に上書きし、ステップS305に処理を進める。
図4に示す実施形態と同様に、図6の実施形態の代替処理では、前段階のROP演算によりマスクイメージとして描画された領域に、ソース画像110の画像が適切に描画され、0x88−0xEEの複合ROP演算をRGB色空間で行なった場合と同様の結果が得られることとなる。この際には、余分なメモリ領域の必要性が回避され、装置を省メモリ化することが可能となる。加えてメモリアクセス量が低減するため、パフォーマンスを向上させることが可能となる。また本実施形態では、図6に示すように、Kプレーンを参照して現在座標(x、y)の値がall_onであるか否かを判定する処理が、各座標につき1度だけ実行されることとなり、処理速度の向上を図ることができる。
以上説明したように、上述までの実施形態によれば、例えばROP0x88およびROP0xEEのROP演算を複合させたような複合的なラスタ操作演算を、例えばCMYK空間のような複数の有彩色および無彩色による色空間上の演算にて、RGB色空間で実行された場合に期待されるものと同様な描画結果が得られるよう実現する画像処理装置、画像処理方法、およびプログラムを提供することができる。
なお、上述までの実施形態では、画像処理装置として、レーザプリンタのプリンタ・コントローラを一例として説明してきた。しかしながら、上述までの実施形態の画像処理装置、画像処理方法およびプログラムは、複写機や複合機などの他の画像形成装置、ファクシミリなどの画像通信装置などに適用することができる。
また上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDカード、MOなど装置可読な記録媒体に格納して頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
レーザプリンタのハードウェア構成の実施形態を示す図。 本実施形態のレーザプリンタにおける描画処理のデータフロー図。 複合ROP判定部における判定処理のフローチャート。 Kプレーン参照図形描画処理部が実行する代替演算処理の実施形態を示すフローチャート。 0x88−0xEEの複合ROP演算による描画結果を一例として示す図。 Kプレーン参照図形描画処理部が実行する代替演算処理の他の実施形態を示すフローチャート。 RGB色空間における2段階のROP演算による描画結果を一例として示す図。
符号の説明
10…レーザプリンタ、12…プリント・コントローラ、14…CPU、16…システム・メモリ、18…NV−RAM、20…エンジンI/F、22…描画メモリ、24…ホストI/F、26…プログラムROM、28…フォントROM、30…パネルI/F、32…内部バス、34…プロッタ・エンジン、36…操作パネル、40…インタプリタ部、42…複合ROP判定部、44…描画処理部、46…中間データ記憶部、48…描画データ記憶部、50…Kプレーン参照図形描画処理部、52…通常図形描画処理部、60…ホストPC、100…デスティネーション画像、110…ソース画像、200…デスティネーション画像、202…ソース画像、204…デスティネーション画像、206…ソース画像、208…デスティネーション画像

Claims (10)

  1. 複数の有彩色および無彩色のプレーンからなるラスタ画像を記憶する記憶手段と、
    取得した描画制御データに従って、第1のラスタ画像および第2のラスタ画像を描画して前記記憶手段に書き込み、前記第1のラスタ画像の無彩色のプレーンを参照しながら、前記描画制御データに指令される前記第1のラスタ画像と前記第2のラスタ画像との画像間のラスタ操作演算を代替する代替演算を実行する描画手段と
    を含み、前記描画手段は、前記代替演算として、前記複数の有彩色および無彩色のプレーンの各プレーンにつき、前記第1のラスタ画像の無彩色のプレーン上のマスク指定階調値を含む領域に、対応する前記第2のラスタ画像の各プレーンの階調値を上書きする、画像処理装置。
  2. 前記描画制御データに含まれるラスタ操作演算の指令と、前記ラスタ操作演算の指令の前段階の指令とから、前記代替演算に変更する必要があるか否かを判定する判定手段をさらに含む、請求項1に記載の画像処理装置。
  3. 受信した前記描画制御データを解釈し、前記判定手段による判定の結果、前記代替演算への変更が必要であった場合に、前記描画制御データに指令されるラスタ操作演算の指令を、前記代替演算の指令に変換する解釈手段と、
    前記記憶手段に記憶されたラスタ画像を読み出して、画像形成エンジンに送出する画像送出手段
    さらに含む、請求項に記載の画像処理装置。
  4. 前記ラスタ画像は、前記複数の有彩色のプレーンと前記無彩色のプレーンとが非独立の関係を有し、かつ、各プレーンが当該画像処理装置に接続される画像形成エンジンに応じた階調深度を有する画像データであり、
    前記ラスタ操作演算は、前記複数の有彩色および無彩色による色空間とは異なる色空間での処理を前提として指令されている、請求項1〜のいずれか1項に記載の画像処理装置。
  5. 画像処理装置が、取得した描画制御データに従って、複数の有彩色および無彩色のプレーンからなる第1のラスタ画像および第2のラスタ画像を描画して、記憶手段に書き込むステップと、
    画像処理装置が、前記第1のラスタ画像の無彩色のプレーンを参照しながら、前記描画制御データに指令される前記第1のラスタ画像と前記第2のラスタ画像との画像間のラスタ操作演算を代替する代替演算を実行するステップと
    を含み、前記代替演算を実行するステップは、画像処理装置が、前記複数の有彩色および無彩色のプレーンの各プレーンにつき、前記第1のラスタ画像の無彩色のプレーン上のマスク指定階調値を含む領域に、対応する前記第2のラスタ画像の各プレーンの階調値を上書きするステップを含む、画像処理方法。
  6. 画像処理装置が、前記描画制御データに含まれるラスタ操作演算の指令と、前記ラスタ操作演算の指令の前段階の指令とから、前記代替演算に変更する必要があるか否かを判定するステップと、
    画像処理装置が、判定の結果、前記代替演算への変更が必要であった場合に、前記描画制御データに指令されるラスタ操作演算の指令を、前記代替演算の指令に変換するステップ
    をさらに含む、請求項5に記載の画像処理方法。
  7. 画像処理装置が実行する装置実行可能なプログラムであって、前記プログラムは、前記画像処理装置を、
    複数の有彩色および無彩色のプレーンからなるラスタ画像を記憶する記憶手段、および
    取得した描画制御データに従って、第1のラスタ画像および第2のラスタ画像を描画して前記記憶手段に書き込み、前記第1のラスタ画像の無彩色のプレーンを参照しながら、前記描画制御データに指令される前記第1のラスタ画像と前記第2のラスタ画像との画像間のラスタ操作演算を代替する代替演算を実行する描画手段
    として機能させるためのプログラムであり、前記描画手段は、前記代替演算として、前記複数の有彩色および無彩色のプレーンの各プレーンにつき、前記第1のラスタ画像の無彩色のプレーン上のマスク指定階調値を含む領域に、対応する前記第2のラスタ画像の各プレーンの階調値を上書きする、プログラム
  8. 前記プログラムは、前記画像処理装置を、さらに、
    前記描画制御データに含まれるラスタ操作演算の指令と、前記ラスタ操作演算の指令の前段階の指令とから、前記代替演算に変更する必要があるか否かを判定する判定手段
    として機能させる、請求項7に記載のプログラム。
  9. 前記プログラムは、前記画像処理装置を、さらに、
    受信した前記描画制御データを解釈し、前記判定手段による判定の結果、前記代替演算への変更が必要であった場合に、前記描画制御データに指令されるラスタ操作演算の指令を、前記代替演算の指令に変換する解釈手段、および
    前記記憶手段に記憶されたラスタ画像を読み出して画像形成エンジンに送出する画像送出手段
    として機能させる、請求項に記載のプログラム。
  10. 前記ラスタ画像は、前記複数の有彩色のプレーンと前記無彩色のプレーンとが非独立の関係を有し、かつ、各プレーンが当該画像処理装置に接続される画像形成エンジンに応じた階調深度を有する画像データであり、
    前記ラスタ操作演算は、前記複数の有彩色および無彩色による色空間とは異なる色空間での処理を前提として指令されている、請求項7〜9のいずれか1項に記載のプログラム。
JP2008014983A 2008-01-25 2008-01-25 画像処理装置、画像処理方法およびプログラム Expired - Fee Related JP5046237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008014983A JP5046237B2 (ja) 2008-01-25 2008-01-25 画像処理装置、画像処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008014983A JP5046237B2 (ja) 2008-01-25 2008-01-25 画像処理装置、画像処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009177589A JP2009177589A (ja) 2009-08-06
JP5046237B2 true JP5046237B2 (ja) 2012-10-10

Family

ID=41032205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008014983A Expired - Fee Related JP5046237B2 (ja) 2008-01-25 2008-01-25 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5046237B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3008943B1 (ja) * 1998-08-18 2000-02-14 富士ゼロックス株式会社 画像処理装置および画像処理方法
US20060092439A1 (en) * 2004-11-02 2006-05-04 Kabushiki Kaisha Toshiba Printer controller, image forming apparatus, image forming program

Also Published As

Publication number Publication date
JP2009177589A (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
JP4669314B2 (ja) 画像処理方法および画像処理装置
JP4882626B2 (ja) 画像処理装置、画像形成装置及びプログラム
JPH111029A (ja) カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
JP4469249B2 (ja) 画像処理装置
JP5046237B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4356953B2 (ja) 画像処理システム及び画像処理装置及びその制御方法及び記憶媒体
US8098385B2 (en) Spool file modifying device
JP4946370B2 (ja) 画像処理装置、画像形成装置及びプログラム
JP2001219601A (ja) 印刷制御装置および印刷制御装置におけるデータ処理方法
JP5012871B2 (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
US20060092439A1 (en) Printer controller, image forming apparatus, image forming program
JPH08139953A (ja) 印刷装置及び印刷方法
JP5037411B2 (ja) 画像処理装置、画像処理方法およびプログラム
US7375852B1 (en) System and method for supporting a variety of color spaces in a computer operating system
JP4853654B2 (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP2008219418A (ja) 画像形成装置、画像処理方法、及び画像処理プログラム
JP5017241B2 (ja) 画像形成装置
JP2007081886A (ja) 描画処理装置
JP4853504B2 (ja) 画像処理プログラム及び画像処理システム
JP4075657B2 (ja) 画像処理装置及び印刷装置
US7675642B2 (en) Print apparatus and print method
JP4072403B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP3985568B2 (ja) プリンタホスト、プリンタドライバおよび印刷システム
JP4323767B2 (ja) 印刷制御システム、そのデータ処理方法、および記憶媒体、並びにコンピュータプログラム
JP3826091B2 (ja) 情報処理装置、及び情報処理方法、プリント装置、及びプリント方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

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: 20120529

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: 20120530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120710

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5046237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees