JP5039620B2 - 画像処理装置および画像処理プログラム - Google Patents

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

Info

Publication number
JP5039620B2
JP5039620B2 JP2008076585A JP2008076585A JP5039620B2 JP 5039620 B2 JP5039620 B2 JP 5039620B2 JP 2008076585 A JP2008076585 A JP 2008076585A JP 2008076585 A JP2008076585 A JP 2008076585A JP 5039620 B2 JP5039620 B2 JP 5039620B2
Authority
JP
Japan
Prior art keywords
image data
black
object image
color
raster operation
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
JP2008076585A
Other languages
English (en)
Other versions
JP2009232269A (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.)
Riso Kagaku Corp
Original Assignee
Riso Kagaku Corp
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 Riso Kagaku Corp filed Critical Riso Kagaku Corp
Priority to JP2008076585A priority Critical patent/JP5039620B2/ja
Priority to US12/382,730 priority patent/US8218200B2/en
Publication of JP2009232269A publication Critical patent/JP2009232269A/ja
Application granted granted Critical
Publication of JP5039620B2 publication Critical patent/JP5039620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、画像処理に関するものであり、特に、ラスタオペレーションの前処理に関する。
例えば、特許文献1に記載されているように、画像処理装置において、既に描画されている画素の値(デスティネーション)と、これから描画しようとする画素の値(ソース)とを演算して、その演算結果を画素に反映させるラスタオペレーション(ROP)が知られている。ラスタオペレーションでは、描画対象のオブジェクト同士の重なりを、論理演算等を用いることにより容易に表現することができる。
描画対象となるオブジェクトの中には、部分的に透過領域を有しているものがある。このような透過領域を有するオブジェクトを他のオブジェクトに重ねる場合、透過領域を有するオブジェクトをソースとして単純に論理演算を行なうと、透過部分が不透明の白と扱われて、透過部分によって下のオブジェクトが消されてしまうことになる。
これを避けて透過部分から下のオブジェクトが透けて見えるようにするために、透過部分に対応したマスクと、実画像データとを用いて2段階でラスタオペレーションを行なう手法が用いられている。この手法では、透過部分以外を黒で塗りつぶしたマスクとデスティネーションとのAND演算を行ない、その演算結果と透過部分を黒で塗りつぶした実画像データとのOR演算を行なうことで透過部分から下のオブジェクトが透けて見える画像を得ることができる。
特開2006−135936号公報
ラスタオペレーションを行なうプリンタドライバ、プリンタコントローラ等は、RGB形式で表現されたオブジェクトの画像データと演算を指定するROPコードとをオペレーティングシステムあるいはアプリケーション等から入力し、画像データをCMYK形式に変換してROPコードに従った演算を行なう。
ところでCMYK形式で印刷を行なう場合、一般に、各画素は2値化されたCMYK形式で表現されるが、黒の画素の表現としては、C=M=Y=1、K=0とする、いわゆるリアルブラックを用いる場合と、C=M=Y=K=0とする、いわゆるコンポジットブラックを用いる場合とがある。一般に、リアルブラックを用いた方が黒の再現性がよくなり、また、色ずれのおそれもないため、オブジェクトの黒部分はリアルブラックで表現することが望ましいケースが多い。なお、ここでは、ドットを打つ場合を「0」、ドットを打たない場合を「1」としている。
ところが、マスクの黒部分は、C、M、Y、Kそれぞれに対して、デスティネーションとの論理演算を行なうため、CMYKとも0とする必要がある。したがって、オブジェクトの黒部分を一律にリアルブラックで表現すると、マスクとしての機能を果たさないことになる。
そこで、本発明は、透過領域を有する描画オブジェクトを対象としたラスタオペレーションの際に、マスクの機能を損なわず、色の再現性を良好にする技術を提供することを目的とする。
上記課題を解決するため、本発明の第1の態様である画像処理装置は、デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置であって、入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段とを備え、前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることを特徴とする。
ここで、前記色変換手段は、入力された第1のオブジェクト画像データがマスクと判定され、その次に入力された第2のオブジェクト画像データがマスクではないと判定された場合、前記第2のオブジェクト画像データにおける黒の画素に対応する位置における、前記第1のオブジェクト画像データの画素の色と、前記第1のオブジェクト画像データに対応するラスタオペレーションコードと前記第2のオブジェクト画像データに対応するラスタオペレーションコードとの組み合わせと、に応じて、前記第2のオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることができる。
また、前記第1のオブジェクト画像データに対応するラスタオペレーションコードが、ラスタオペレーションの色表現形式における各色成分ごとに、前記第1のオブジェクト画像データにおいて当該色成分が「有」を示す値である画素は背景の画素の値を演算結果とし、前記第1のオブジェクト画像データにおいて当該色成分が「無」を示す値である画素は「無」を示す値を演算結果とすることを示すものであり、前記第2のオブジェクト画像データに対応するラスタオペレーションコードが、ラスタオペレーションの色表現形式における各色成分ごとに、前記第2のオブジェクト画像データにおいて当該色成分が「有」を示す値である画素は「有」を示す値を演算結果とし、前記第2のオブジェクト画像データにおいて当該色成分が「無」を示す値である画素は背景の画素の値を演算結果とすることを示すものである場合、前記色変換手段は、前記第2のオブジェクト画像データにおける黒の画素の値を、当該画素に対応する位置における前記第1のオブジェクト画像データの画素の色が白である場合は、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、前記第2のオブジェクト画像データにおける黒の画素の値を、当該画素に対応する位置における前記第1のオブジェクト画像データの画素の色が黒である場合は、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることができる。
上記課題を解決するため、本発明の第2の態様である画像処理装置は、デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置であって、入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段とを備え、前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることを特徴とする。
いずれの態様においても、具体的には、前記マスク判定手段は、入力された描画用オブジェクトのオブジェクト画像データがマスクである可能性があるかどうかを判し、マスクである可能性があると判した場合であって、次に入力された描画用オブジェクトが所定の条件を満たす場合に、先に入力された描画用オブジェクトのオブジェクト画像データがマスクであると判することができる。
この場合、前記マスク判定手段は、前記入力された描画用オブジェクトのオブジェクト画像データの全画素が白または黒であり、ラスタオペレーションコードが所定のコードである場合に、前記入力された描画用オブジェクトのオブジェクト画像データがマスクである可能性があると判することができる。
また、前記所定の条件は、次に入力された描画用オブジェクトのオブジェクト画像データの描画領域が、先に入力された描画用オブジェクトのオブジェクト画像データの描画領域と同一であり、次に入力された描画用オブジェクトのラスタオペレーションコードと、先に入力された描画用オブジェクトのラスタオペレーションコードとが所定の組み合わせであることとすることができる。
さらに、ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを各色成分について二値化する二値化手段をさらに備え、前記演算手段は、二値化されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なうようにしてもよい。これにより、メモリ容量を削減し、また、処理速度を向上させることができる。
上記課題を解決するため、本発明の第3の態様である画像処理プログラムは、デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置としてコンピュータを機能させる画像処理プログラムであって、入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段としてコンピュータを機能させ、前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることを特徴とする。
上記課題を解決するため、本発明の第4の態様である画像処理プログラムは、デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置としてコンピュータを機能させる画像処理プログラムであって、入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段としてコンピュータを機能させ、前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることを特徴とする。
本発明によれば、透過領域を有する描画オブジェクトを対象としたラスタオペレーションの際に、マスクの機能を損なわず、色の再現性を良好にすることができる。
本発明の実施の形態について図面を参照して説明する。図1は、本実施形態に係る画像処理装置10の構成を示すブロック図である。画像処理装置10は、ページを構成する描画用オブジェクト群を順次入力し、2値化されたページデータを出力する。画像処理装置10は、例えば、プリンタドライバ、プリンタコントローラ等として機能することができる。
描画用オブジェクトは、オペレーティングシステム、アプリケーション等から出力されるデータであり、RGB形式で表現されたオブジェクト画像データと、ラスタオペレーションにおける演算を指定するROPコードとを含んでいる。2値化ページデータはページを構成する各画素をCMYKそれぞれ1ビットで表現したデータである。
画像処理装置10は、CPU等の処理装置100とメモリ200とを備え、バス300で接続されている。処理装置100は、入力された描画用オブジェクトがマスクであるかどうかを判定するマスク判定部110、RGB形式の画像データを、ルックアップテーブル等を用いてCMYK形式の画像データに変換する色変換部120、パターンディザや誤差拡散によりCMYKの二値化を行なう二値化処理部130、ラスタオペレーションを行なうROP演算部140を備えている。各機能部は、プログラムの実行によるソフトウェア的に実現してもよいし、ワイヤードロジック等によるハードウェア的に実現してもよい。
メモリ200には、ラスタオペレーションにおける描画済の画像データを格納するデスティネーション領域210、入力された描画用オブジェクトに含まれるオブジェクト画像データを格納するソース領域220、マスク判定部110によりマスクの可能性があると判定されたオブジェクト画像データを一時的に格納するマスク用バッファ領域230、描画用オブジェクトに含まれるROPコードを格納するROPコード領域240、その他の作業に用いるための作業用領域250が形成される。
本実施例では、図2に示すように、RGB各8ビットで表わされたオブジェクト画像データを色変換部120がCMYK各8ビットの画像データに変換し、二値化処理部130がCMYK各1ビットの画像データに変換するものとする。そして、ROP演算部140は、二値化された後にラスタオペレーション演算を行なう。このように2値化処理を行なった後にラスタオペレーション演算を行なうことで、多値のままラスタオペレーション演算を行なうのに比べ、メモリ200の使用容量を減らすとともに処理速度を早めることができる。ただし、本発明は多値の状態でラスタオペレーション演算を行なう場合にも適用することができる。
また、本発明は、CMYK形式のラスタオペレーション演算に限られず、例えば、赤と黒のような2色で印刷を行なう場合、その他の色表現形式にも適用することができる。特に黒のように表現法が複数存在する色を含む場合に効果的に適用することができる。この場合もあらかじめ各色について二値化を行なった後にラスタオペレーション演算を行なうことでメモリ200の使用容量を減らすとともに処理速度を早めることができる。
ここで、ROP演算部140が行なうラスタオペレーションにおける、透過領域を有するオブジェクトの取り扱いの一般的な手法について説明する。ここでは、図4(a)に示す背景画像20の上に、図4(b)に示す星形が描かれ周囲に透過領域を有する矩形のオブジェクト30を重ね合わせて、図4(c)に示すような星形の周辺の透過領域から背景画像20が透けて見える重畳画像40を作成する場合を例に説明する。
ラスタオペレーションに用いる論理演算としてANDとORとがある。黒を「0」、白を「1」で表わす場合、デスティネーションDとソースSとのAND演算の結果と、OR演算の結果とは表1に示すとおりとなる。この演算結果から、AND演算を行なうとソースが黒い画素は黒くなり、ソースが白い画素はデスティネーションの値が保持されることがわかる。また、OR演算を行なうとソースが白い画素は白くなり、ソースが黒い画素はデスティネーションの値が保持されることがわかる。

単純に背景画像20と透過領域を有するオブジェクト30とを各画素についてOR演算を行なうと、図4(d)に示すように、オブジェクト30の透過領域が透過せずに背景画像20が消された重畳画像40xが得られてしまう。また、背景画像20と透過領域を有するオブジェクト30とを各画素についてAND演算を行なうと、図4(e)に示すように、背景画像20によってオブジェクト30が塗りつぶされた重畳画像40yが得られてしまう。
そこで、透過領域を有する画像データ30については、図4(f)に示すような透過部分以外を黒で塗りつぶしたオブジェクト30に対応したマスク30mと、図4(g)に示すような透過部分を黒で塗りつぶしたオブジェクト30に対応した実画像データ30aとを用いて以下のような演算を行なう。なお、マスク30mおよび実画像データ30aは、オペレーティングシステムあるいはアプリケーションが必要に応じて作成する。また、本説明では簡単のため、画素を黒「0」白「1」の2値としているが、CMYK形式で処理を行なう場合は、各色でラスタオペレーションを行なうため、マスクにおける塗りつぶしの黒はC=Y=M=K=0とする必要がある。CMYK各1ビットではなく、8ビット等の多値の状態でラスタオペレーションを行なう場合には各ビットを0にする。
まず、図5(a)に示すように、背景画像20をソースSとして、D=Sの演算を行なう。これにより、背景画像20がデスティネーションとなる。次いで、図5(b)に示すように、マスク30mをソースSとして、D AND Sの演算を行なう。AND演算を行なうとソースが黒い画素は黒くなり、ソースが白い画素はデスティネーションの値が保持されることから、背景画像20にマスク30mの黒い部分が重ねられた重畳画像40aがデスティネーションとなる。そして、図5(c)に示すように、実画像データ30aをソースSとして、D OR Sの演算を行なう。OR演算を行なうとソースが白い画素は白くなり、ソースが黒い画素はデスティネーションの値が保持されることから、星形の周辺の透過領域から背景画像20が透けて見える重畳画像40を得ることができる。ただし、演算およびオブジェクトの組み合わせはこれに限られず、他の組み合わせによっても重畳画像40を得ることができる。
次に、本実施形態における画像処理装置10の処理について図3のフローチャートを参照して説明する。本処理はページを構成する描画用オブジェクトを順次読込んで、2値化ページデータとして出力する処理である。各描画用オブジェクトはオブジェクト画像データとROPコードとを含んでいるが、そのオブジェクト画像データがマスクであるかマスク以外の実画像であるかを示す情報は含まれていないものとする。なお、マスクではないオブジェクト画像データは通常データと称するものとする。
画像処理装置10は、オペレーティングシステムあるいは他のアプリケーション等から描画用オブジェクトを読み込む(S101)。画像処理装置10は、描画用オブジェクトを受信すると、オブジェクト画像データをソース領域220に格納し、ROPコードをROPコード領域240に格納する。
ここで、マスク用バッファ領域230にデータが格納されているかどうかを判断する(S102)。マスク用バッファ領域230は、マスク判定部110によりマスクの可能性があると判定されたオブジェクト画像データを一時的に格納する領域であり、マスク用バッファ領域230にデータが格納されている状態は、直前に読み込んだ描画用オブジェクトに含まれるオブジェクト画像データがマスクである可能性があると判断された場合を示すことになる。
この結果、マスク用バッファ領域230にデータが格納されていない場合(S102:No)には、読み込んだ描画用オブジェクトのオブジェクト画像データがマスクである可能性があるかどうかを判定する(S103)。一般に、描画用オブジェクトにはオブジェクト画像データがマスクであるかどうかの情報は含まれていない。このため、オブジェクト画像データがマスクである可能性があるかどうかの判定は以下のように行なう。
すなわち、次の条件1と条件2とを両方満たす場合に読み込んだ描画用オブジェクトがマスクである可能性があると判定する。ここでは、マスクである可能性の有無を判断し、確定はしない。
条件1)オブジェクト画像データの全画素が白か黒である。なお、オブジェクト画像データがRGB各8ビットで表わされている場合、白はR=G=B=255であり、黒はR=G=B=0である。
条件2)ROPコードが、D AND S、D AND/ S、 D OR /S、D OR Sのいずれかである。なお、「/」はNotを示す。
この結果、マスクである可能性があると判断した場合(S103:Yes)は、描画用オブジェクトをマスク用バッファ領域230に格納する。すなわち、この段階ではマスクであるという確定はできないため描画は行なわず、一時的にマスク用バッファ領域230に格納する。
一方、マスクである可能性がないと判断した場合(S103:No)は、描画用オブジェクトを通常データとして描画する(S105)。具体的には、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、黒の画素はC=M=Y=1、K=0のリアルブラックに変換する。これにより描画される画像の黒の再現性を高めることができる。そして、2値化を行なった上で、ROPコードにしたがったラスタオペレーションを行なう。
いずれの場合も、1ページ分の処理を終了したかどうかを判断し(S112)、終了した場合(S112:Yes)は、デスティネーション領域210に格納されている画像データに基づく2値化ページデータを出力し(S113)、本処理を終了する。1ページ分の処理を終了していない場合(S112:No)は、次の描画用オブジェクトを読み込んで(S101)、上記の処理を繰り返す。
処理(S102)において、マスク用バッファ領域230にデータが格納されているかどうかを判断した結果、マスク用バッファ領域230にデータが格納されていた場合(S102:Yes)には、読み込んだ描画用オブジェクトが、マスク用バッファ領域230に格納されている描画用オブジェクトの実画像データであるかどうかを判断する(S106)。ここで、実画像データは、上述のように透過領域を有する描画用オブジェクトを描くためのマスクとセットになった描画用オブジェクトである。また、後述するようにマスク用バッファ領域230はこの判断に基づく処理の後にクリアされるため、マスク用バッファ領域230に格納されている描画用オブジェクトは、1つ前に読み込んだ描画用オブジェクトである。
一般に、描画用オブジェクトにはオブジェクト画像データが実画像データであるかどうかの情報は含まれていないため、オブジェクト画像データがマスク用バッファ領域230に格納されている描画用オブジェクトの実画像データであるかどうかの判定は以下のように行なう。
すなわち、次の条件3を満たし、かつ、条件4〜条件7のいずれかを満たす場合に読み込んだオブジェクト画像データがマスク用バッファ領域230に格納されている描画用オブジェクトの実画像データであると判断する。
条件3)マスク用バッファ領域230に格納されている描画用オブジェクトのオブジェクト画像と読み込んだ描画用オブジェクトのオブジェクト画像のページにおける描画範囲が同一である。例えば、両者の描画開始位置と描画サイズとが同じであれば描画範囲が同一であると判断することができる。
条件4)マスク用バッファ領域230に格納されている描画用オブジェクトのROPコードが「D AND S」であり、かつ、読み込んだ描画用オブジェクトのROPコードが「D OR S」である。
条件5)マスク用バッファ領域230に格納されている描画用オブジェクトのROPコードが「D OR /S」であり、かつ、読み込んだ描画用オブジェクトのROPコードが「D AND S」である。
条件6)マスク用バッファ領域230に格納されている描画用オブジェクトのROPコードが「D AND /S」であり、かつ、読み込んだ描画用オブジェクトのROPコードが「D OR S」である。
条件7)マスク用バッファ領域230に格納されている描画用オブジェクトのROPコードが「D OR S」であり、かつ、読み込んだ描画用オブジェクトのROPコードが「D AND S」である。
この結果、読み込んだオブジェクト画像データがマスク用バッファ領域230に格納されている描画用オブジェクトの実画像データであると判断した場合(S106:Yes)は、マスク用バッファ領域230に格納されている描画用オブジェクトはその実画像データとセットのマスクであると判定できる。したがって、マスク用バッファ領域230に格納されている描画用オブジェクトをマスクとして描画する。(S107)。
具体的には、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、黒の画素はC=M=Y=K=0のコンポジットブラックに変換する。これによりラスタオペレーションでマスクとして機能することができるようになる。そして、2値化を行なった上で、ROPコードにしたがったラスタオペレーションを行なう。
そして、読み込んだオブジェクト画像データは通常データとして描画する(S108)。この描画処理は、条件4〜7のうち、該当した条件に応じて変化させる。
条件4に該当する場合は、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、読み込んだオブジェクト画像データの各画素の位置に対応するマスク(例えば、図5の符号30m)の値に応じて以下のような処理を行なう。なお、マスクの値はマスク用バッファ領域230に格納されている描画用オブジェクトを参照することで得られる。
すなわち、対応する位置のマスク(例えば、図5の符号30m)の値が背景(白)を示す値、つまり、C=Y=M=K=1の画素については、オブジェクト画像データの黒の画素をC=M=Y=K=0のコンポジットブラックに変換する。これによりラスタオペレーションにより透過させることができるようになる。そして、2値化を行なった上で、ROPコード(D OR S)にしたがったラスタオペレーションを行なう(S108a)。
図5を例に、さらに説明すると、図5(b)の符号30mは、全体がマスク情報であり、白い部分が透過する部分を示している。図5(c)の符号30aは、実画像データであるが、周辺の黒い部分は透過させる必要がある部分である。上記の条件4(読み込んだ描画用オブジェクトのROPコードが「D OR S」)が満たされているとすると、Dの40aと実画像データ30aの透過部分(星の外部の黒領域)とのOR演算により、図5(c)の符号40に示すような結果が得られるため(マスクの白部分は透過する)、30aの透過させる星印の周囲部分は黒にしている。すなわち、マスクの機能をC、M、Y、Kで有効にするため、オブジェクト画像データの黒の画素をC、M、K、Yを0にする。OR演算の場合、Sの値が0(黒)であればDの値が保持されるので、透過部分は40aのDの値が正しく保持される。
一方、対応する位置のマスク(例えば、図5の符号30m)の値が塗りつぶし(黒)を示す値、つまり、C=Y=M=K=0の画素については、オブジェクト画像データ(例えば、図5の符号30aの星形の内側)の黒の画素をC=M=Y=1、K=0のリアルブラックに変換する。これにより描画される画像の黒の再現性を高めることができる。そして、2値化を行なった上で、ROPコード(D OR S)にしたがったラスタオペレーションを行なう。
図5を例に、さらに説明すると、図5(b)のマスク30mの星印の黒部分が、最後に実データで上書きされる部分である。OR演算の場合、Dが黒(0)であればSの値に書き変わる。ここの部分では黒はリアルブラックで表すことが望ましいので、C=M=Y=1、K=0として処理する。先に述べたように、上書きしたい領域は、0になっているので、リアルブラックの値をOR演算して正しい結果が得られる。
条件6に該当する場合は、条件4に該当する場合と同じ処理とすることができる(S108a)。ただし、この場合は、マスクデータは図6に示すように、条件4で用いた図4(f)のマスク30mの白黒を反転させたマスク31mが用いられる。
条件5に該当する場合は、まず、実データとして、図4(g)に示した実画像データ30aに代えて、図7に示した実画像データ32aが用いられる。すなわち、透過部分が白で表わされた実画像データである。マスクは、図4(f)に示したマスク30mを用いることができる。
このため、処理(S107)においては、図8(a)に示すように、背景画像20をデスティネーションS、マスク30mをソースSとして、条件5のマスクに対する演算「D OR /S」を行なうと画像42aが得られる。
そして、処理(S108)においては、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、オブジェクト画像データの黒の画素をC=M=Y=1、K=0のリアルブラックに変換する(S108b)。これにより描画される画像の黒の再現性を高めることができる。そして、2値化を行なった上で、ROPコード(D AND S)にしたがったラスタオペレーションを行なう。すなわち、対応する位置のマスクの値に応じて黒の変換方法を切り替える必要はなく、一律にリアルブラックに変換することができる。これにより、図8(b)に示すように星形の周辺の透過領域から背景画像20が透けて見える重畳画像40を得ることができる。
条件7に該当する場合は、条件5に該当する場合と同じ処理とすることができる(S108b)。ただし、この場合は、マスクデータは図6に示すように、条件5で用いた図4(f)のマスク30mの白黒を反転させたマスク31mが用いられる。
これに対して、処理(S106)で、読み込んだ描画用オブジェクトが、マスク用バッファ領域230に格納されている描画用オブジェクトの実画像データであるかどうかを判断した結果、読み込んだオブジェクト画像データがマスク用バッファ領域230に格納されている描画用オブジェクトの実画像データでないと判断した場合(S106:No)は、マスク用バッファ領域230に格納されている描画用オブジェクトはマスクではなかったと判定できる。したがって、マスク用バッファ領域230に格納されている描画用オブジェクトを通常データとして描画する。(S109)。
具体的には、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、黒の画素はC=M=Y=1、K=0のリアルブラックに変換する。これにより描画される画像の黒の再現性を高めることができる。そして、2値化を行なった上で、ROPコードにしたがったラスタオペレーションを行なう。
そして、読み込んだオブジェクト画像データは通常データとして描画する(S110)。具体的には、RGB形式のオブジェクト画像データをCMYK形式に変換する。この際、黒の画素はC=M=Y=1、K=0のリアルブラックに変換する。これにより描画される画像の黒の再現性を高めることができる。
いずれの場合も2値化を行なった上で、ROPコードにしたがったラスタオペレーションを行なう。その後、マスク用バッファ領域230をクリアする(S111)。
次いで、1ページ分の処理を終了したかどうかを判断し(S112)、終了した場合は、デスティネーション領域210に格納されている画像データに基づく2値化ページデータを出力し(S113)、本処理を終了する。1ページ分の処理を終了していない場合は、次の描画用オブジェクトを読込んで(S101)、上記の処理を繰り返す。
画像処理装置10の構成を示すブロック図である。 色変換処理と二値化処理の例を示す図である。 画像処理装置10の処理を示すフローチャートである。 ラスタオペレーションにおける、透過領域を有するオブジェクトの取り扱いの一般的な手法について説明する図である。 ラスタオペレーションにおける、透過領域を有するオブジェクトの取り扱いの一般的な手法について説明する図である。 マスクの別パターンを示す図である。 実データの別パターンを示す図である。 ラスタオペレーションにおける、透過領域を有するオブジェクトの取り扱いについて説明する図である。
符号の説明
10…画像処理装置、100…処理装置、110…マスク判定部、120…色変換部、130…二値化処理部、140…ROP演算部、200…メモリ、210…デスティネーション領域、220…ソース領域、230…マスク用バッファ領域、240…ROPコード領域、250…作業用領域、300…バス

Claims (10)

  1. デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置であって、
    入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、
    入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、
    ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段とを備え
    前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記色変換手段は、
    入力された第1のオブジェクト画像データがマスクと判定され、その次に入力された第2のオブジェクト画像データがマスクではないと判定された場合、
    前記第2のオブジェクト画像データにおける黒の画素に対応する位置における、前記第1のオブジェクト画像データの画素の色と、前記第1のオブジェクト画像データに対応するラスタオペレーションコードと前記第2のオブジェクト画像データに対応するラスタオペレーションコードとの組み合わせと、に応じて、前記第2のオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることを特徴とする画像処理装置。
  3. 請求項2に記載の画像処理装置であって、
    前記第1のオブジェクト画像データに対応するラスタオペレーションコードが、ラスタオペレーションの色表現形式における各色成分ごとに、前記第1のオブジェクト画像データにおいて当該色成分が「有」を示す値である画素は背景の画素の値を演算結果とし、前記第1のオブジェクト画像データにおいて当該色成分が「無」を示す値である画素は「無」を示す値を演算結果とすることを示すものであり、
    前記第2のオブジェクト画像データに対応するラスタオペレーションコードが、ラスタオペレーションの色表現形式における各色成分ごとに、前記第2のオブジェクト画像データにおいて当該色成分が「有」を示す値である画素は「有」を示す値を演算結果とし、前記第2のオブジェクト画像データにおいて当該色成分が「無」を示す値である画素は背景の画素の値を演算結果とすることを示すものである場合、
    前記色変換手段は、
    前記第2のオブジェクト画像データにおける黒の画素の値を、当該画素に対応する位置における前記第1のオブジェクト画像データの画素の色が白である場合は、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、
    前記第2のオブジェクト画像データにおける黒の画素の値を、当該画素に対応する位置における前記第1のオブジェクト画像データの画素の色が黒である場合は、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることを特徴とする画像処理装置。
  4. デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置であって、
    入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、
    入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、
    ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段とを備え
    前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることを特徴とする画像処理装置。
  5. 請求項1またはに記載の画像処理装置であって、
    前記マスク判定手段は、入力された描画用オブジェクトのオブジェクト画像データがマスクである可能性があるかどうかを判し、マスクである可能性があると判した場合であって、次に入力された描画用オブジェクトが所定の条件を満たす場合に、先に入力された描画用オブジェクトのオブジェクト画像データがマスクであると判することを特徴とする画像処理装置。
  6. 請求項に記載の画像処理装置であって、
    前記マスク判定手段は、前記入力された描画用オブジェクトのオブジェクト画像データの全画素が白または黒であり、ラスタオペレーションコードが所定のコードである場合に、前記入力された描画用オブジェクトのオブジェクト画像データがマスクである可能性があると判することを特徴とする画像処理装置。
  7. 請求項またはに記載の画像処理装置であって、
    前記所定の条件は、次に入力された描画用オブジェクトのオブジェクト画像データの描画領域が、先に入力された描画用オブジェクトのオブジェクト画像データの描画領域と同一であり、
    次に入力された描画用オブジェクトのラスタオペレーションコードと、先に入力された描画用オブジェクトのラスタオペレーションコードとが所定の組み合わせであることを特徴とする画像処理装置。
  8. 請求項1〜のいずれか1項に記載の画像処理装置であって、
    ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを各色成分について二値化する二値化手段をさらに備え、
    前記演算手段は、二値化されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なうことを特徴とする画像処理装置。
  9. デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒成分を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置としてコンピュータを機能させる画像処理プログラムであって、
    入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、
    入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、
    ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段としてコンピュータを機能させ
    前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値、あるいは、黒成分のみで黒を表現する値とすることを特徴とする画像処理プログラム。
  10. デスティネーションに対するソースとして、オブジェクト画像データとラスタオペレーションコードと含む描画用オブジェクトを入力し、黒を含む複数の色成分による色表現形式でラスタオペレーションを行なう画像処理装置としてコンピュータを機能させる画像処理プログラムであって、
    入力されたオブジェクト画像データがマスクであるかどうかを判するマスク判定手段と、
    入力されたオブジェクト画像データをラスタオペレーションの色表現形式に変換する色変換手段と、
    ラスタオペレーションの色表現形式に変換されたオブジェクト画像データを用いて、対応するラスタオペレーションコードに従った演算を行なう演算手段としてコンピュータを機能させ
    前記色変換手段は、マスクと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における前記複数の色成分で黒を表現する値とし、マスクではないと判定されたオブジェクト画像データにおける黒の画素を、ラスタオペレーションの色表現形式における黒成分のみで黒を表現する値とすることを特徴とする画像処理プログラム。
JP2008076585A 2008-03-24 2008-03-24 画像処理装置および画像処理プログラム Expired - Fee Related JP5039620B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008076585A JP5039620B2 (ja) 2008-03-24 2008-03-24 画像処理装置および画像処理プログラム
US12/382,730 US8218200B2 (en) 2008-03-24 2009-03-23 Image processing system, image processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076585A JP5039620B2 (ja) 2008-03-24 2008-03-24 画像処理装置および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2009232269A JP2009232269A (ja) 2009-10-08
JP5039620B2 true JP5039620B2 (ja) 2012-10-03

Family

ID=41088611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076585A Expired - Fee Related JP5039620B2 (ja) 2008-03-24 2008-03-24 画像処理装置および画像処理プログラム

Country Status (2)

Country Link
US (1) US8218200B2 (ja)
JP (1) JP5039620B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2010241218B2 (en) * 2010-11-03 2013-10-31 Canon Kabushiki Kaisha Method, apparatus and system for associating an intermediate fill with a plurality of objects
US9733881B2 (en) * 2015-08-28 2017-08-15 International Business Machines Corporation Managing digital object viewability for a transparent display system
US9928630B2 (en) 2016-07-26 2018-03-27 International Business Machines Corporation Hiding sensitive content visible through a transparent display

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923349A (en) * 1997-10-07 1999-07-13 Hewlett-Packard Co. Density-based print masking for photographic-quality ink-jet printing
JP3008943B1 (ja) * 1998-08-18 2000-02-14 富士ゼロックス株式会社 画像処理装置および画像処理方法
JP2001005954A (ja) * 1999-06-25 2001-01-12 Oki Data Corp 画像処理装置
JP2001160906A (ja) * 1999-12-01 2001-06-12 Fuji Xerox Co Ltd カラー画像処理装置
JP2002225381A (ja) * 2001-02-02 2002-08-14 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2002361933A (ja) * 2001-06-12 2002-12-18 Canon Inc 画像処理装置及びその方法
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
US8218200B2 (en) 2012-07-10
JP2009232269A (ja) 2009-10-08
US20090237738A1 (en) 2009-09-24

Similar Documents

Publication Publication Date Title
US6075514A (en) Color table look-up having last value memory
US6456298B1 (en) Image processing apparatus and method
JP5039620B2 (ja) 画像処理装置および画像処理プログラム
JP5684466B2 (ja) 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体
JP2009164897A (ja) 二値化装置及び二値化処理プログラム
JP6821924B2 (ja) 画像処理装置、画像処理方法
JP2002225381A (ja) 画像処理装置および画像処理方法
US9883078B2 (en) Systems and methods for efficient halftone where different dithering matrices are combined
JP2008085731A (ja) 画素データ補正装置および画素データ補正方法
JP6844248B2 (ja) 画像処理装置、および、コンピュータプログラム
JP3997808B2 (ja) 描画処理装置および描画処理方法
JP2010113626A (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP2017054470A (ja) 画像処理装置および画像処理方法
JP2011025478A (ja) 画像形成装置、画像形成方法、プログラムおよび記録媒体
JP2007088825A (ja) 画像処理装置および画像処理方法
JP2009141921A (ja) 画像処理装置、画像処理方法及びプログラム
JP5941848B2 (ja) 画像処理装置及び画像処理方法
JP5037411B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2009232266A (ja) 画像処理装置及び画像処理プログラム
US7675642B2 (en) Print apparatus and print method
JP4390723B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体
JP2002361933A (ja) 画像処理装置及びその方法
JP2004295765A (ja) 画像処理のためのプログラム、及び画像処理方法
JP2010086240A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2005094402A (ja) 描画処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

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

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

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5039620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees