JP6061654B2 - 画像処理装置、画像処理方法、コンピュータプログラム - Google Patents

画像処理装置、画像処理方法、コンピュータプログラム Download PDF

Info

Publication number
JP6061654B2
JP6061654B2 JP2012265269A JP2012265269A JP6061654B2 JP 6061654 B2 JP6061654 B2 JP 6061654B2 JP 2012265269 A JP2012265269 A JP 2012265269A JP 2012265269 A JP2012265269 A JP 2012265269A JP 6061654 B2 JP6061654 B2 JP 6061654B2
Authority
JP
Japan
Prior art keywords
color
image
pixel
index
lookup table
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.)
Active
Application number
JP2012265269A
Other languages
English (en)
Other versions
JP2014110602A (ja
JP2014110602A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012265269A priority Critical patent/JP6061654B2/ja
Priority to US14/091,136 priority patent/US9400948B2/en
Publication of JP2014110602A publication Critical patent/JP2014110602A/ja
Publication of JP2014110602A5 publication Critical patent/JP2014110602A5/ja
Application granted granted Critical
Publication of JP6061654B2 publication Critical patent/JP6061654B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1881Halftoning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • 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/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1806Receiving job control commands
    • G06K15/1807Receiving job control commands relating to the print image preparation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function
    • G06K2215/0094Colour printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Color, Gradation (AREA)
  • Color Image Communication Systems (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明はインデックスカラーイメージを処理する画像処理技術に関わるものである。
インデックスカラーイメージはピクセル毎に色値を直接指定して画像を表現するのではなく、カラールックアップテーブルに定義された色値を指定して画像を表現するフォーマットのビットマップ画像である。インデックカラーイメージにおけるイメージデータの実体(ソースイメージ)は、各ピクセルが色値では無くカラールックアップテーブルに定義された色値を指定する参照番号となる。画像に含まれる色数が少ない場合、インデックスカラーイメージを利用すると解像度を維持しながらデータ量を削減できる。近年のカラー化、高解像度化に伴いインデックスカラーイメージが多用されるようになってきている。特許文献1には、インデックスカラーイメージを高速に描画する方法として、複数のインデックスカラーイメージ間でカラールックアップテーブルを共有する方法を開示する。
特開2004−25572
インデックスカラーイメージが多用されるようになった結果、インデックスカラーイメージで表現しなくても良いような画像に対してもインデックスカラーイメージで表現される場合が増加している。例えばカラールックアップテーブルに定義された色値が全て同じ色であるような簡易な画像である。本発明はインデックスカラーイメージで表現する必要が無いような画像を、より高速に描画可能なフォーマットに変換する方法を提案する。
本発明の画像処理装置は、色値と参照番号との対応関係を記述するカラールックアップテーブルと、1画素につき1つの参照番号が割り当てられているソースイメージとを含むインデックスカラーイメージを受信する受信手段と、前記ソースイメージの各画素について、画素に割り当てられている参照番号を照し、当該参照された参照番号に対応する色値を取得して当該画素の描画を行う描画手段と、を有し、前記描画手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が特定の組み合わせである場合に、画素毎の前記参照および取得を省略して前記ソースイメージの各画素の描画を行うことを特徴とする。
本発明は、インデックスカラーイメージをフォーマット変換するため、インデックスカラーイメージで表現する必要が無いような簡易な画像を高速に描画可能にする。
画像処理装置のハード構成図 画像処理装置のソフトウェアモジュール構成およびデータ構成図 第1のインデックスカラーイメージの一例 第1のインデックスカラーイメージのフォーマット変換例 第1のインデックスカラーイメージの描画処理の様子 第1のインデックスカラーイメージのフォーマット変換後の描画処理の様子 第2のインデックスカラーイメージの一例 第2のインデックスカラーイメージのフォーマット変換例 第2のインデックスカラーイメージの描画処理の様子 第2のインデックスカラーイメージのフォーマット変換後の描画処理の様子 第1の実施例のインデックスカラーイメージのフォーマット変換処理のフローチャート 第3のインデックスカラーイメージの一例 第3のインデックスカラーイメージの描画結果の一例 第3のインデックスカラーイメージのフォーマット変換例 第3のインデックスカラーイメージのフォーマット変換後の描画処理の様子 第2の実施例のインデックスカラーイメージのフォーマット変換処理のフローチャート
(第1の実施例)
以下、本発明を実施するための形態について図面を用いて説明する。
図1は本実施例における画像処理装置100のハード構成を示す図である。画像処理装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ネットワークI/F(Interface)104、エンジン制御部105、不図示のエンジン部を有する。なお本実施例の画像処理装置100は、レーザビームプリンタ、インクジェットプリンタ、SFP(Single Function Printer)、MFP(Multi Function Peripheral)などである。
CPU101は、ROM102に格納された制御プログラムや後述のフローチャートの処理を実行するための画像処理プログラムを読み出して画像処理装置100の制御を行う。ROM102は、制御プログラムや画像処理プログラムなどの情報を格納する。RAM103はCPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。ネットワークインターフェース104は外部装置などと通信を行うために用いられる。エンジン制御部105は、ネットワークインターフェース104を介して外部装置などから入力されたPDLデータ等に基づき形成された画像を、実際のシート(例えば用紙)上に不図示のエンジン部によって印刷させる処理を実行する。不図示のエンジン部は、画像を用紙上に印刷して、印刷物として出力する。
本発明はPDLデータの他に各種ドキュメントフォーマットにも適用可能だが、以後PDLデータを例に説明する。これらは内部バス106によって互いに接続されている。このPDLデータは、外部装置(例えばPC:Personal Computer)のアプリケーションソフトウェアによって作成される。
インデックスカラーイメージに基づくイメージを描画する画像処理装置であって、
カラールックアップテーブルを含む前記インデックスカラーイメージを受信する受信手段と、
前記カラールックアップテーブルに定義された色値の組み合わせが所定の組み合わせである場合に、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットのデータに変換する変換手段と、
を有する画像処理装置 図2は本実施例におけるソフトウェアモジュール構成およびデータ構成を示している。このソフトウェアモジュール構成は、CPU101が図1の各ユニットと協調して、ROM102に格納されている画像処理プログラムを実行することによって実現されている。
PDLデータ201は、ネットワークインターフェース104を介して受信され、画像処理装置のRAM103に格納される。
PDL処理部202は、PDLデータ201をRAM103から読み出し、中間データ204を生成しRAM103に格納する。またPDL処理部202は、PDLデータ201から読みだしたデータがインデックスカラーイメージであった場合、インデックスカラーイメージ最適化部203を通して中間データ204を生成する。
インデックスカラーイメージ最適化部203は、描画処理を高速で行えるようにインデックスカラーイメージをインデックスカラーフォーマットでない他のフォーマットへフォーマット変換して、中間データ204を生成する。生成された中間データ204はRAM103に格納される。
描画処理部205は、RAM103に格納された中間データ204に基づいてフレームバッファ206上の描画対象のピクセルを描画する。描画処理部205はフレームバッファ206にイメージを描画する際に、画像処理装置の階調表現能力に応じたハーフトーン処理を行う。本実施例では画像処理装置は1bit/pixelの階調表現能力のみ持つものとし、描画処理部205は8bit/pixelの色値のデータに対してハーフトーン処理を行い、1bit/pixelのデータを生成する。
フレームバッファ206は、描画処理部205による描画結果を保存する、RAM103内に確保されているメモリ領域であり、保存された描画結果はエンジン制御部105に送られ印刷処理される。
<第1の例>
図3から図6を用いてインデックスカラーイメージから他のフォーマットへフォーマット変換を行った方が高速に描画できる第1の例について説明する。
図3はPDLデータ201の一例を表している。PDLデータ201に含まれるページ301のデータは、背景の画像302、文字列303、304、2値画像305から構成される。文字列303、304、2値画像305が、背景の画像302の上に描かれることになる。
ここで背景の画像302は、白や黒の単色で塗りつぶすような画像であって、この画像302に、インデックスカラーイメージが用いられる場合がある。例えばカラールックアップテーブルで定義された色値が白を示す0のみのインデックスカラーイメージが用いられる場合である。背景を白や黒で塗り潰すデータは、各ページ共通で利用するテンプレートデータとなっているケースも多い。背景を白や黒で塗り潰す処理は毎ページ行われるため、全面が白や黒の単色で塗りつぶされるインデックスカラーイメージを最適化すると、描画処理が大幅に高速化する。
なおこのインデックスカラーイメージは、データテーブル303、ソースイメージ304、カラールックアップテーブル305で構成される。データテーブル303は、画像の形成される位置(描画開始位置)を示す情報(Starting Position(X、Y))、画像全体のサイズ(描画サイズ)を示す情報(Destination Size(Dx、Dy))、ソースイメージ304のサイズ(ソースイメージサイズ)を示す情報(Src Size(Dx、Dy))を含む。
図3のインデックスカラーイメージは、画像の形成される位置が座標(771、219)であり、画像全体のサイズが幅7000、高さ4000であり、ソースイメージ304のサイズが幅1、高さ4000であることを示す。また、本実施例のソースイメージ304は、ピクセルごとに“0”か“1”のカラールックアップテーブル305への参照番号が記載された、1bit/pixelのビットマップイメージである。
なお、ソースイメージが1bit/pixelのビットマップイメージである場合、ピクセルの値が“0”であるピクセルをオフビットのピクセル(オフピクセル)と呼び、ピクセルの値が“1”であるピクセルをオンビットのピクセル(オンピクセル)と呼ぶ。オフビットのピクセルはカラールックアップテーブルの参照番号“0”の色値に対応し、オンビットのピクセルは参照番号“1”の色値に対応する。
本実施例のカラールックアップテーブルは、2色の定義を持つ。カラールックアップテーブルが2色の定義を持つ場合、1つめの色を示す参照番号は“0”で、2つ目の色を示す参照番号は“1”である。例えば図3の上下に示される2つのカラールックアップテーブル305のいずれかがある。上のカラールックアップテーブルは、参照番号“0”に対応する色値がGray=(0)で参照番号“1”に対応する色値もGray=(0)のカラールックアップテーブルである。また下のカラールックアップテーブルは、参照番号“0”に対応する色値がGray=(255)で参照番号“1”に対応する色値もGray=(255)のカラールックアップテーブルである。なお本実施例では、Gray(0)およびGray(255)は、グレースケールでの色値が最小値(0)の最小色値および最大値(255)の最大色値である。
なお本実施例ではオフピクセル、オンピクセルをピクセルの値が“0”、“1”のピクセルとする。しかし、カラールックアップテーブルが2色の定義を持つ場合に、最も小さい参照番号に対応する色値になるピクセルをオフピクセルとし、他の色値になるピクセルをオンピクセルとしても良い。
インデックスカラーイメージの描画において、PDLデータ201はPDL処理部202によって読み込まれ、例えば図4のデータテーブル401、ルックアップテーブル402、ソースイメージ403を含む中間データ204を生成する。後述するインデックスカラーイメージから他のフォーマットへのフォーマット変換が行われない場合、データテーブル303、ソースイメージ304、カラールックアップテーブル305で示すPDLデータ201とデータテーブル401、ソースイメージ403、ルックアップテーブル402で示す中間データ204は等価である。
図4上図で示される中間データ204について説明する。図4上部の中間データ204に含まれるデータテーブル401は、イメージの描画開始位置、イメージの描画サイズ、イメージを描画するために用いられるソースイメージのサイズ、イメージに施されるラスタ演算(Raster Operation:ROP)の種類、ハーフトーン処理を行うかどうかを示す情報を含む。ルックアップテーブル402は、参照番号に対応する色値を定義するものであって、ここでは参照番号“0”および“1”に対応する色値をともに最小色値“0”であると定義しているか、あるいは、参照番号“0”および“1”に対応する色値をともに最大色値“1”であると定義している。ソースイメージ403は、イメージを描画するために用いられるビットマップであって、上述の通り、ピクセルごとに“0”か“1”のカラールックアップテーブル305への参照番号が記載された、1bit/pixelのビットマップイメージである。なおソースイメージ403のサイズは、データテーブル401のソースイメージサイズに記載されたサイズとなる。
本実施例の場合、図3で示したPDLデータ201は、インデックスカラーイメージ最適化部203によって、カラールックアップテーブルを用いない他のフォーマットへフォーマット変換されて、図4下図のデータテーブル404、塗りつぶし色情報405を含む中間データ204が生成される。
図4下図に示される、インデックスカラーイメージ最適化部203によって行われるインデックスカラーイメージのフォーマット変換の結果生成される中間データについて説明する。データテーブル404は、イメージの描画開始位置、イメージの描画サイズ、塗りつぶしイメージを描画するために用いられる元イメージのサイズ、イメージに施されるROPの種類、ハーフトーン処理を行うかどうかを示す情報を含む。塗りつぶし色405は、本実施例では、最小色値である“0”、あるいは、最大色値である“255”となる。具体的には、塗りつぶし色が“0”となるのは、カラールックアップテーブル402が参照番号“0”および“1”に対応する色値をともに最小色値“0”であると定義していた場合である。また塗りつぶし色が“255”となるのは、カラールックアップテーブル402が参照番号“0”および“1”に対応する色値をともに最小色値“255”であると定義していた場合である。
図3で示すPDLデータ201のカラールックアップテーブル305は定義された2色が同じ色値のため、インデックスカラーイメージの描画結果はソースイメージ304内に記載された参照番号の違いには依存しない。そのためインデックスカラーイメージ最適化部203は、図4の下図に示すように、データテーブル404、塗りつぶし色情報405を含み、ソースイメージを除去した中間データ204を生成する。
すなわち、インデックスカラーイメージ最適化部203は、インデックスカラーイメージを、描画結果が等価で、カラールックアップテーブルおよびソースイメージのないフォーマットのイメージに変換して中間データを生成する。このフォーマット変換により、図5を用いて後述するように、フレームバッファにピクセルを書き出すたびに、ソースイメージピクセルを参照し、参照したピクセルの参照番号の示す色値をカラールックアップテーブルから都度取得することを行わないようにできる。つまり描画処理の高速化ができる。
またインデックスカラーイメージ最適化部203は、カラールックアップテーブル305に含まれる値が最小色値0か最大色値255の場合に、描画対象のピクセルごとのハーフトーン処理を不要にするような中間データを生成する。
カラールックアップテーブル305に含まれる値が最小色値0か最大色値255の場合、インデックスカラーイメージ最適化部203は1bit/pixelにするハーフトーン処理した結果が全てのピクセルで0または1となることが事前にわかる。そのためインデックスカラーイメージ最適化部203は、ハーフトーン処理が不要であるという情報を含む中間データを生成し、描画処理部205におけるハーフトーン処理を省略させる。
<フォーマット変換を伴わないインデックスカラーイメージの描画>
図5は第1の例のインデックスカラーイメージをフォーマット変換せずに描画処理部205の処理の流れを図示したものである。
インデックスカラーイメージをフォーマット変換せずに描画する場合、描画処理部205は、ソースイメージ501から1bit/pixelの参照番号を取得し、カラールックアップテーブル502で8bit/pixelの色値に変換する。
そして描画処理部205はこの8bit/pixelの色値をハーフトーン処理503することでフレームバッファ504に書き出すピクセル値を決定する。
そして描画処理部205は、この決定したピクセル値をフレームバッファ504に書き込むことで、インデックスカラーイメージを描画する。
描画処理部205は、この処理(1.ソースイメージから参照番号を取得し、2.カラールックアップテーブルを参照して参照番号を色値に変換し、3.色値にハーフトーン処理してピクセル値を決定する)を、フレームバッファの描画対象のピクセルごとに繰り返す。その結果、カラールックアップテーブルで定義された色値の組み合わせが単色(例えば白あるいは黒)の塗りつぶしを示すような簡易な画像であっても、図5に説明される処理フローが適用されるため、描画に時間がかかる。
<フォーマット変換を伴うインデックスカラーイメージの描画>
それに対して図6は、第1の例の、図4のインデックスカラーイメージを他のフォーマットに変換してから、描画処理部205が描画を行う場合の、本実施例における処理の流れを図示したものである。
図4のインデックスカラーイメージのカラールックアップテーブルで定義される色値の組み合わせを判定することで、インデックスカラーイメージのフレームバッファ上の描画結果が全てのピクセルで“0”または“1”のピクセル値になることがわかる。このため、インデックスカラーイメージ最適化部203は、インデックスカラーイメージをフォーマット変換して、ソースイメージ、カラールックアップテーブルを含まないが、データテーブル404、塗りつぶし色情報405を含む中間データ204(図4下図)を生成する。なおこの中間データ204のデータテーブル404には、描画処理部205においてハーフトーン処理が不要であることを示す情報も含まれている。
描画処理部205は、この中間データ204を解析し、描画される画像の塗りつぶし色の色値およびハーフトーン処理の有無を判定する。ここでは、塗りつぶし色の色値が最小色値0または最大色値255であり、かつ、ハーフトーン処理が不要であることを示す情報があるか、を判定する。
そして描画処理部205は、塗りつぶし色の色値が最小色値0または最大色値255であり、かつ、ハーフトーン処理が不要であることを示す情報があると判定した場合、次の処理を行う。例えば、描画処理部205は、図6に示すように一続きの連続する32pixel分の、フレームバッファの最小のピクセル値“0”または最大のピクセル値“1”のデータ601を作成する。そして描画処理部205は、このデータ601を用いて、複数ピクセル分のピクセル値をまとめてフレームバッファ604に書き出す。
つまり描画処理部205は、中間データを解析して、塗りつぶし色の色値が最小色値0または最大色値255であり、かつ、ハーフトーン処理が不要であることを示す情報があると判定すると、塗りつぶし色の色値に従って、複数ピクセル分のピクセル値を決定する。そして、描画処理部205は、この複数ピクセル分のピクセル値をまとめてフレームバッファに書き出す。この場合、描画処理部205は、カラールックアップテーブルを参照せずにフレームバッファに書き出すピクセル値を決定している。
一方で、描画処理部205は、塗りつぶし色の色値が最小色値0または最大色値255であり、かつ、ハーフトーン処理が不要であることを示す情報があると、判定しない場合、図5に示した処理を行う。すなわち、描画処理部205は、描画対象のピクセルごとに、ソースイメージおよびカラールックアップテーブルを参照して色値を取得し、取得した色値にハーフトーン処理を行って得られたピクセル値をフレームバッファに書き出す。
このように本実施例における第1の例の場合、インデックスカラーイメージ最適化部203は、インデックスカラーイメージを、ソースイメージおよびカラールックアップテーブルの参照とハーフトーン処理とを省略可能とするイメージにフォーマット変換する。そしてインデックスカラーイメージ最適化部203は、変換後のイメージの中間データを生成する。これにより、描画処理部205は、ソースイメージとカラールックアップテーブルの参照やハーフトーン処理を省略し、複数ピクセル分(例えば32pixel)のピクセル値を1回の処理でフレームバッファへ書き出すことができる。その結果、図5の処理フローに対して描画処理にかかる時間が大幅に短くなる。
<第2の例>
図7から図10を用いてインデックスカラーイメージから他のフォーマットへフォーマット変換を行った方が高速に描画できる第2の例について説明する。
図7はPDLデータ201の一例を示している。一般にPC(Personal Computer)上のディスプレイでは輝度、印刷を行う画像処理装置では濃度で画像を扱う。そのためPC上では輝度に変換するカラールックアップテーブル701、印刷装置では濃度に変換するカラールックアップテーブル702と使い分けることにより簡単に変換することができる。輝度と濃度の単純変換のように、カラールックアップテーブルに定義される色値が最小色値“0”と最大色値“255”で構成される場合は、ソースイメージを反転するか、反転しないかを制御することになる。
ソースイメージを反転するか、反転しないかの制御は、カラールックアップテーブルを用いずとも、描画処理部205が描画するときのROP処理を切り替えることによってもできる。そのため図7に示すような色値の組み合わせが最小色値“0”と最大色値“255”で構成されたカラールックアップテーブルをもつインデックスカラーイメージが入力された場合、インデックスカラーイメージ最適化部203は、次の処理を行う。つまりインデックスカラーイメージ最適化部203は、入力されたインデックスカラーイメージを、図8下図の中間データに変換する。
ここでインデックスカラーイメージ最適化部203は、データテーブル801およびソースイメージ802を含むが、カラールックアップテーブルを含まない中間データを生成する。中間データはカラールックアップテーブルを含まないため、カラールックアップテーブルを参照して色値を取得することでソースイメージ802を反転することはできない。その代わりに、インデックスカラーイメージ最適化部203は、データテーブル801に含まれるROPを反転処理を行うROPに変換することで、ソースイメージ802を反転して描画することを可能にする。
フレームバッファ206に濃度の画像を描画する際に、カラールックアップテーブルの参照番号“0”に対応する色値が最小色値“0”で、参照番号“1”に対応する色値が最大色値“255”である場合、インデックスカラーイメージ最適化部203は、ROPにCOPYPENを指定する。すなわち、インデックスカラーイメージ最適化部203は、カラールックアップテーブルに定義された色値の組み合わせにおいてソースイメージのオフピクセルに対応する色値が最小色値であってオンピクセルに対応する色値が最大色値である場合、ソースイメージを反転せずにそのまま書き出すROPを指定した中間データを生成する。
またカラールックアップテーブルの参照番号“0”に対応する色値が最大色値“255”で、参照番号“1”に対応する色値が最小色値“0”である場合、インデックスカラーイメージ最適化部203は、ROPにNOTCOPYPENを指定する。すなわち、インデックスカラーイメージ最適化部203は、カラールックアップテーブルに定義された色値の組み合わせにおいてソースイメージのオフピクセルに対応する色値が最大色値であって前記オンピクセルに対応する色値が最小色値である場合、ソースイメージを反転して書き出すROPを指定した中間データを生成する。
上記の色値の組み合わせの判定を言い換えると、インデックスカラーイメージ最適化部203は、色値の組み合わせが、フレームバッファに書き出されるイメージがソースイメージと等価となるものであるかを判定している。また、インデックスカラーイメージ最適化部203は、フレームバッファに書き出されるイメージがソースイメージを反転したイメージと等価となるものであるかを判定している。
色値の組み合わせが、書き出されるイメージがソースイメージと等価となるものである場合、ピクセルごとにカラールックアップテーブルを参照することなく、ソースイメージのピクセル値で描画対象のピクセルを描画する。また、色値の組み合わせが、書き出されるイメージがソースイメージを反転したイメージと等価となるものである場合、ピクセルごとにカラールックアップテーブルを参照することなく、ソースイメージを反転したイメージのピクセル値で描画対象のピクセルを描画する。
<フォーマット変換を伴わないインデックスカラーイメージの描画>
図9に説明される処理フローは、第2の例のインデックスカラーイメージをフォーマット変換せずに描画処理部205の処理の流れを図示したものである。図9の処理フローにおいては、ソースイメージ901から1bit/pixelの参照番号を取得し、カラールックアップテーブル902を参照して参照番号を8bit/pixelの色値に変換する。そして描画処理部205は上記8bit/pixelの色値をハーフトーン処理903することでピクセル値を決定し、決定したピクセル値をフレームバッファ904に書き込む。
描画処理部205はこの処理(1.ソースイメージから参照番号を取得し、2.カラールックアップテーブルを参照して参照番号を色値に変換し、3.色値にハーフトーン処理してピクセル値を決定する)をフレームバッファ上の描画対象のピクセルごとに繰り返すことになるため、図9の処理フローにおいては描画に時間がかかる。
<フォーマット変換を伴うインデックスカラーイメージの描画>
図9の処理フローに対して図10は、第2の例のインデックスカラーイメージを他のフォーマットに変換してから描画処理部205を行う場合の、本実施例の処理の流れを図示したものである。
図8のインデックスカラーイメージのカラールックアップテーブルで定義される色値の組み合わせを判定することで、図8のインデックスカラーイメージの描画結果がソースイメージをそのまま描画したものとなるか、反転して描画したものとなるかが分かる。
このため、インデックスカラーイメージ最適化部203は、ソースイメージを含むが、カラールックアップテーブルを含まない、図8の下図のようなデータテーブル801およびソースイメージ802を含む中間データを生成する。この中間データのデータテーブル801には、描画処理部205においてハーフトーン処理を行わないことを示す情報も含まれている。
また、この中間データに含まれるROPには、ソースイメージをそのまま描画する場合、ソースイメージを反転せずに上書き描画するCOPYPENが指定される。一方、ソースイメージを反転して描画する場合、ソースイメージを反転して上書き描画するNOTCOPYPENがROPに指定される。
なお、インデックスカラーイメージ最適化部203の行う中間データの生成方法は、上述したとおりである。
描画処理部205は、生成された中間データを解析し、ROPが、ソースイメージの上書き(COPYPEN)か、ソースイメージの反転上書き(NOTCOPYPEN)であるかを判定する。
描画処理部205は、ソースイメージ1001から一続きの連続する32pixel分のデータ1002を取得し、ROPがCOPYPENの場合は反転せずにフレームバッファ1004に書き出す。また、描画処理部205は、ROPがNOTCOPYPENの場合はソースイメージ1001から取得した32pixel分のデータ1002を反転したデータ1003を作成し、反転したデータ1003をフレームバッファ1004に書き出す。
このように本実施例における第2の例の場合、インデックスカラーイメージ最適化部203は、インデックスカラーイメージを変換して、カラールックアップテーブルの参照やハーフトーン処理を省略可能とする中間データを生成する。またインデックスカラーイメージ最適化部203は、カラールックアップテーブルに定義された色値の組み合わせに従ってROPを反転したものに変換する。そしてインデックスカラーイメージ最適化部203は、変換後のイメージの中間データを生成する。これにより、描画処理部205は、カラールックアップテーブルの参照やハーフトーン処理を省略し、複数ピクセル分(例えば32pixel)をソースイメージから取得して、1回の処理でフレームバッファへ書き出すことができる。
つまり本実施例における第2の例では、フレームバッファに書き出すピクセル値を、ピクセルごとにカラールックアップテーブルを参照することなしに、ソースイメージのピクセル値あるいは反転されたソースイメージのピクセル値とする。その結果、図5の処理フローに対して描画処理にかかる時間が大幅に短くなる。
<インデックスカラーイメージのフォーマット変換の処理フロー>
インデックスカラーイメージ最適化部203が上記第1および第2の例に示すフォーマット変換を行う処理の流れを、図11を用いて説明する。なおインデックスカラーイメージ最適化部203の行う処理のプログラムはROM102に格納されており、RAM103に展開されCPU101によって実行される。また、PDLデータ201、中間データ204、フレームバッファ206は全てRAM103に置かれる。
インデックスカラーイメージ最適化部203は、インデックスカラーイメージのカラールックアップテーブルに定義される色値の組み合わせを参照する(S1101)。
そしてインデックスカラーイメージ最適化部203は、色値の組み合わせが最小色値“0”と最大色値“255”以外の色値(中間色の色値“1”〜“254”)を含むか判定する(S1102)。
カラールックアップテーブルに含まれる色値の組み合わせに中間色の色値が含まれる場合、処理はS1103へ進み、インデックスカラーイメージ最適化部203は、フォーマット変換を行わない。そのためインデックスカラーイメージ最適化部203は、インデックスカラーイメージの描画開始位置、描画サイズ等の情報の中間データを生成し(S1103)、カラールックアップテーブルの中間データを生成する(S1104)。またインデックスカラーイメージ最適化部203は、ソースイメージの中間データ204を生成する(S1105)。
ステップS1103〜S1105によって生成された中間データに基づく描画は、前述したように、描画対象のピクセルごとに色値をカラールックアップテーブルから取得してハーフトーン処理を行い、それによって得られるピクセル値をフレームバッファに描画する。
S1102において色値の組み合わせに中間色の色値が含まれないと判定された場合、インデックスカラーイメージ最適化部203は、色値の組み合わせが最小色値のみあるいは最大色値のみで構成されるか判定する(S1106)。
色値の組み合わせが、最小色値のみで構成される(第1の組み合わせ)か、あるいは最大色値のみで構成される(第2の組み合わせ)場合、フレームバッファに描画されるイメージ全面は、ソースイメージのオンピクセルおよびオフピクセルの位置、ならびにハーフトーン処理の影響を受けず、最小あるいは最大のピクセル値の1色となる。そのため、インデックスカラーイメージ最適化部203は、描画開始位置、描画サイズ等の情報の中間データを生成し(S1107)、最小色値あるいは最大色値の塗りつぶし色の中間データを生成する(S1108)。
つまり、S1106において色値の組み合わせが最小色値のみで構成される(第1の組み合わせ)、あるいは最大色値のみで構成される(第2の組み合わせ)と判定された場合、インデックスカラーイメージ最適化部203は、インデックスカラーイメージを変換して、カラールックアップテーブルおよびソースイメージを含まない中間データに生成する。
S1106において色値の組み合わせが最小色値のみで構成される、あるいは最大色値のみで構成される、と判定されない場合は、色値の組み合わせが最小色値と最大色値とで構成される(第3の組み合わせ)場合である。この場合、インデックスカラーイメージ最適化部203は、描画開始位置、描画サイズ等の情報の中間データを生成する(S1109)。
そしてインデックスカラーイメージ最適化部203は、カラールックアップテーブルを参照し、オフピクセルに対応する色値が最大色値であってオンピクセルに対応する色値が最小色値であるかを判定する(S1110)。すなわち、インデックスカラーイメージ最適化部203は、カラールックアップテーブルに定義された色値の組み合わせが、インデックスカラーイメージ(ソースイメージ)の白黒(ビット)を反転させるものであるかどうかを判定する。言い換えると、インデックスカラーイメージ最適化部203は、色値の組み合わせが、書き出されるイメージがソースイメージと等価となるものであるか、書き出されるイメージがソースイメージを反転したイメージと等価となるものであるかを判定する。
カラールックアップテーブルがソースイメージを反転させるものであると判定された場合、インデックスカラーイメージ最適化部203は、S1109で生成した中間データのデータテーブルに含まれるROPを反転(NOT)する(S1111)。これによりソースイメージは反転されて書き出されることになる。インデックスカラーイメージ最適化部203は、カラールックアップテーブルを生成せずにソースイメージのみ中間データを生成する(S1112)。
つまり、S1106において色値の組み合わせが最小色値および最大色値で構成される(第3の組み合わせ)と判定された場合、インデックスカラーイメージ最適化部203は、インデックスカラーイメージを変換して、カラールックアップテーブルを含まない中間データを生成する。
なお、本実施例においてカラールックアップテーブルは2色の定義を持つ例で説明してきたが、256色を持つようなカラールックアップテーブルにも本発明を適用しても良い。第1の例であれば256色の全てが“0”または“255”であれば同様に処理可能であるし、第2の例であれば1から255番目までの色値が“0”で、256番目の色値が“255”といった場合に適用すれば良い。
(第2の実施例)
<第3の例>
本実施例は、第1の実施例の処理に加えて、以下で説明するインデックスカラーイメージが入力された場合の処理について、第3の例を用いて説明する。
図12から図15を用いてインデックスカラーイメージから他のフォーマットへフォーマット変換を行った方が高速に描画できる第3の例について説明する。図7はPDLデータ201の一例を示している。ソースイメージ1201のオンビット(値が“1であるピクセル)にカラールックアップテーブル1202で特定の色値(本例では128)の色を付け1202の画像を形成する。この使用方法はインデックスカラーイメージ本来の使用方法であるが、このような例においてもインデックスカラーイメージより簡易な描画方法に変換することが可能である。
図13は図12のインデックスカラーがディザマトリクス法によりハーフトーン処理を含む描画された画像の詳細を示している。ディザマトリクス法では特定のサイズ(例えば16pixel×16pixel)のディザマトリクスを用いる。そのためディザマトリクス法によって特定の1色をハーフトーン処理した場合、1301、1302のようにディザマトリクスのサイズ単位に同一の画像が生成される。すなわちディザマトリクスを用いて特定の1色をハーフトーン処理した結果の、ディザマトリクスのサイズをもった同一パターンの複数のピクセル値を有するタイル(ハーフトーンパターン)1301、1302が、ソースイメージの参照番号が“1”である領域において並べられる。
そこで、インデックスカラーイメージ最適化部203は、ディザマトリクスを用いて、特定の1色(例えばカラールックアップテーブル1202の参照番号“1”に対応する中間色の色値)をハーフトーン処理することで、図14のタイル1401を生成する。このタイル1401はディザマトリクスのサイズ(例えば16pixel×16pixel)をもった複数のピクセル値を有するタイルである。そしてインデックスカラーイメージ最適化部203は、このタイル1401の中間データ204を生成する。
そして描画処理部205は、フレームバッファへの描画の際に、タイル1401を繰り返し並べて使用することにより描画処理にかかる時間が短くすることが出来る。
図14の下図に示される中間データ204が生成された場合、描画処理部205は、図15に示す処理を行う。
描画処理部205は、ソースイメージ1501とタイル1503から16pixel分(16pixel×1pixel)の画像1502、1504を取り出す。なお、ソースイメージ1501およびタイル1503から取り出される画像1502および画像1504は、フレームバッファの描画位置に応じてずれた位置の画像がそれぞれ取り出される。
そして描画処理部205は、画像1502と画像1504とのAND処理1505を行い、その処理結果をフレームバッファ1506に書き出す。このAND処理によって、ソースイメージ1501の描画領域(ソースイメージ1501中の黒塗りつぶし領域)のピクセル値をタイル1503のピクセル値で、フレームバッファ1506に書き出すことになり、インデックスカラーイメージの描画が行われる。
以上のように、ハーフトーン処理済みのタイル1503のピクセル値をまとめてフレームバッファ1506に書き出すことができるため、カラールックアップテーブルから色値を取得してハーフトーン処理を行う一連の処理をピクセルごとに行わずにすむ。その結果描画処理にかかる時間が短くなる。
インデックスカラーイメージ最適化部203が第3の例に示すフォーマット変換を行う処理の流れを、図16を用いて説明する。なおインデックスカラーイメージ最適化部203の行う処理のプログラムはROM102に格納されており、RAM103に展開されCPU101によって実行される。また、PDLデータ201、中間データ204、フレームバッファ206は全てRAM103に置かれる。
図16に示されるフローチャートの処理において、図11のフローチャートのステップ番号と同一の番号が振られている処理(S1101〜S1112)は、図11のフローチャートの処理(S1101〜S1112)と同様の処理である。以降では、その差分である処理(S1601〜S1604)について説明する。
第1の例および第2の例に該当しないインデックスカラーイメージ(S1102でNO)に対して、インデックスカラーイメージ最適化部203は、カラールックアップテーブルで定義される色値の組み合わせが最小色値“0”と中間色の色値(1〜254)で構成されるか判定する(S1601)。
カラールックアップテーブルで定義される色値の組み合わせが最小色値“0”と中間色の色値(1〜254)で構成される場合、インデックスカラーイメージ最適化部203は、インデックスカラーイメージの描画開始位置、サイズ等の情報の中間データを生成する(S1602)。
そしてインデックスカラーイメージ最適化部203は、上述の方法を用いて、タイルの中間データを生成する(S1603)。
またインデックスカラーイメージ最適化部203は、ソースイメージの中間データを生成する(S1603)。
S1602で生成されるタイルは図14に示したように、ディザマトリクスのサイズと同じで、かつタイルに含まれる全てのピクセルはカラールックアップテーブルの2番目に定義された色をハーフトーン処理した結果である。
このように、カラールックアップテーブルで定義される色値の組み合わせが最小色値“0”と中間色の色値(1〜254)で構成される(第4の組み合わせ)場合、インデックスカラーイメージは、中間色の色値を予めハーフトーン処理したタイルの中間データに変換される。なお、この変換された中間データはカラールックアップテーブルを含まない。
一方、S1601においてカラールックアップテーブルに定義される色値の組み合わせが最小色値“0”と中間色の色値“1〜254”で構成されない場合、第1の実施例で説明したように、図11のフローチャートの処理(S1103〜S1105)が実行される。
第3の例においてカラールックアップテーブルに含まれる色値が“0”と任意の中間色(1〜254)であった場合を説明したが、2つの色値が同一の中間色の色値である場合にも適用できる。この場合のS1601の処理は、カラールックアップテーブルに含まれる色値が同一の中間色の色値であるか、を判定する処理であれば良い。すなわち、カラールックアップテーブルに含まれる色値が同一の中間色の色値(例えば128)であった場合に、処理をS1602〜S1604に進める。この場合も、S1603においてソースイメージの参照番号“1”に対応する色値をハーフトーン処理することでピクセル値のタイルを生成するようにする。
また、第3の例においてカラールックアップテーブルに含まれる色値が“0”と任意の中間色(1〜254)であった場合を説明したが、2つの色値が中間色(1〜254)であった場合にも適用できる。この場合、S1601の判定処理は不要となり、常にS1602〜S1604の処理が行われ、S1603においてインデックスカラーイメージ最適化部203は、参照番号“0”および“1”それぞれに対応する2つの中間値の色値のタイルをそれぞれ生成する。そしてインデックスカラーイメージ最適化部203は、生成した2つのタイルの中間データを生成する。そして描画処理部205は、描画の際に、ソースイメージのオンビット(値が“1”すなわち参照番号が“1”)の部分に対して、図15で示した処理フローと同様に、画像1502と参照番号“1”に対応するタイル1503から取り出した画像1504とのAND処理1505の処理結果1を取得する。またソースイメージのオフビット(値が“0”すなわち参照番号が“0”)の部分に対しては、描画処理部205は、図15のソースイメージから取りだした画像1502を反転処理(NOT処理)した画像と、参照番号“0”に対応するタイルから取り出した画像とのAND処理の処理結果2を取得する。そして描画処理部205は、処理結果1と処理結果2とのOR処理を行った処理結果をフレームバッファ1506に書き出すようにすれば良い。
以上のように、カラールックアップテーブルで定義された色値の組み合わせが中間色の色値で構成された場合でも、ハーフトーン処理済みのタイルのピクセル値をまとめてフレームバッファ1506に書き出すことができるため、カラールックアップテーブルから色値を取得してハーフトーン処理を行う一連の処理をピクセルごとに行わずにすむ。その結果描画処理にかかる時間が短くなる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (26)

  1. 色値と参照番号との対応関係を記述するカラールックアップテーブルと、1画素につき1つの参照番号が割り当てられているソースイメージとを含むインデックスカラーイメージを受信する受信手段と、
    前記ソースイメージの各画素について、画素に割り当てられている参照番号を照し、当該参照された参照番号に対応する色値を取得して当該画素の描画を行う描画手段と、
    を有し、
    前記描画手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が特定の組み合わせである場合に、画素毎の前記参照および取得を省略して前記ソースイメージの各画素の描画を行うことを特徴とする画像処理装置。
  2. 前記描画手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色値が最小色値のみで構成される場合、または、最大色値のみで構成される場合に、画素毎の前記参照および取得を行わずに、前記ソースイメージの各画素の描画領域を当該色値に対応する値で塗りつぶす描画を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記描画手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色値が最小色値および最大色値のみで構成される場合に、画素毎の前記参照および取得を行わずに、前記ソースイメージの各画素の描画領域を当該対応関係にしたがって前記ソースイメージで上書きあるいは反転上書きする描画を行うことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記カラールックアップテーブルに記述された対応関係に含まれる色値が前記特定の組み合わせである場合に、画素毎の前記参照および取得を行わずに、前記インデックスカラーイメージを、前記組み合わせに基づいた、前記カラールックアップテーブルを含まないフォーマットのデータに変換する変換手段を有し、
    前記描画手段は、前記変換されたデータに基づいた描画を行うことで、前記カラールックアップテーブルに記述された対応関係に含まれる色値が前記特定の組み合わせである場合に、画素毎の前記参照および取得を省略した前記描画を行うことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が、ーフトーン処理に影響を受けない色値で構成される組み合わせである場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、特定の色値を塗りつぶし色として含むフォーマットのデータに変換することを特徴とする請求項に記載の画像処理装置。
  6. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が最小色値で構成される場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記最小色値を塗りつぶし色として含むフォーマットのデータに変換することを特徴とする請求項またはに記載の画像処理装置。
  7. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が最大色値で構成される場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記最大色値を塗りつぶし色として含むフォーマットのデータに変換することを特徴とする請求項乃至の何れか1項に記載の画像処理装置。
  8. 前記描画手段は、前記変換されたデータに含まれる前記塗りつぶし色の色値を用い描画処理を行ことを特徴とする請求項乃至の何れか1項に記載の画像処理装置。
  9. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が、描画されるイメージを前記インデックスカラーイメージに含まれるソースイメージと等価とするものであるか、あるいは、描画されるイメージを前記インデックスカラーイメージに含まれるソースイメージを反転したイメージと等価とするものである場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記ソースイメージおよび前記ソースイメージに対するROPを含むフォーマットのデータに変換することを特徴とする請求項乃至の何れか1項に記載の画像処理装置。
  10. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色が最小色値と最大色値とで構成される場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記ソースイメージおよび前記ソースイメージに対するROPを含むフォーマットのデータに変換することを特徴とする請求項に記載の画像処理装置。
  11. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色において前記ソースイメージのオフピクセルに対応する色値が最小色値であって前記ソースイメージのオンピクセルに対応する色値が最大色値である場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記ソースイメージおよび前記ソースイメージを上書きするROPを含むフォーマットのデータに変換することを特徴とする請求項10に記載の画像処理装置。
  12. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色において前記ソースイメージのオフピクセルに対応する色値が最大色値であって前記ソースイメージのオンピクセルに対応する色値が最小色値である場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記ソースイメージおよび前記ソースイメージを反転して上書きするROPを含むフォーマットのデータに変換することを特徴とする請求項10または11に記載の画像処理装置。
  13. 前記描画手段は、前記変換されたデータに含まれるソースイメージに対して前記変換されたデータに含まれるROPの処理を行うことで描画処理を行ことを特徴とする請求項10乃至12の何れか1項に記載の画像処理装置。
  14. 前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色に中間色の色値を含む場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、ディザマトリクスを用いて前記中間色の色値をハーフトーン処理することで得られるハーフトーンパターンと、前記インデックスカラーイメージに含まれるソースイメージとを含むフォーマットのデータに変換することを特徴とする請求項乃至13の何れか1項に記載の画像処理装置。
  15. 前記描画手段は、前記変換されたデータに含まれる前記ソースイメージに対して前記変換されたデータに含まれる前記ハーフトーンパターンを処理することで、描画処理を行ことを特徴とする請求項14に記載の画像処理装置。
  16. 前記インデックスカラーイメージに含まれるソースイメージは、1ピクセルあたり1ビットであり、
    前記カラールックアップテーブルは2つの色値と2つの参照番号との対応関係を記述することを特徴とする請求項1乃至15の何れか1項に記載の画像処理装置。
  17. 前記描画手段による描画結果に基づいて画像をシート上に印刷する印刷手段をさらに有する請求項1乃至16の何れか1項に記載の画像処理装置。
  18. 色値と参照番号との対応関係を記述するカラールックアップテーブルと、1画素につき1つの参照番号が割り当てられているソースイメージとを含むインデックスカラーイメージを受信する受信手段と、
    前記インデックスカラーイメージを、前記ソースイメージの各画素について、画素に割り当てられている参照番号を参照し、当該参照された参照番号に対応する色値を取得することで当該画素の描画が行われるデータに変換する変換手段と、
    を有し、
    前記変換手段は、前記カラールックアップテーブルに記述された対応関係に含まれる色値が特定の組み合わせである場合に、画素毎の前記参照および取得を行わずに、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まない所定フォーマットのデータに変換することを特徴とする画像処理装置。
  19. 色値と参照番号との対応関係を記述するカラールックアップテーブルと、1画素につき1つの参照番号が割り当てられているソースイメージとを含むインデックスカラーイメージを受信する受信工程と、
    前記ソースイメージの各画素について、画素に割り当てられている参照番号を参照し、当該参照された参照番号に対応する色値を取得して当該画素の描画を行う描画工程と、
    を有し、
    当該描画工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色が特定の組み合わせである場合に、画素毎の前記参照および取得を省略して前記ソースイメージの各画素の描画を行うことを特徴とする画像処理方法。
  20. 前記描画工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色値が最小色値のみで構成される場合、または、最大色値のみで構成される場合に、画素毎の前記参照および取得を行わずに、前記ソースイメージの各画素の描画領域を当該色値に対応する値で塗りつぶす描画を行うことを特徴とする請求項19に記載の画像処理方法。
  21. 前記描画工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色値が最小色値および最大色値のみで構成される場合に、画素毎の前記参照および取得を行わずに、前記ソースイメージの各画素の描画領域を当該対応関係にしたがって前記ソースイメージで上書きあるいは反転上書きする描画を行うことを特徴とする請求項19または20に記載の画像処理方法。
  22. 前記カラールックアップテーブルに記述された対応関係に含まれる色値が前記特定の組み合わせである場合に、画素毎の前記参照および取得を行わずに、前記インデックスカラーイメージを、前記組み合わせに基づいた、前記カラールックアップテーブルを含まないフォーマットのデータに変換する変換工程を有し、
    前記描画工程は、前記変換されたデータに基づいた描画を行うことで、前記カラールックアップテーブルに記述された対応関係に含まれる色値が前記特定の組み合わせである場合に、画素毎の前記参照および取得を省略した前記描画を行うことを特徴とする請求項19乃至21の何れか1項に記載の画像処理方法。
  23. 前記変換工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色が、ーフトーン処理に影響を受けない色値で構成される組み合わせである場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、特定の色値を塗りつぶし色として含むフォーマットのデータに変換することを特徴とする請求項22に記載の画像処理方法。
  24. 前記変換工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色が、描画されるイメージを前記インデックスカラーイメージに含まれるソースイメージと等価とするものであるか、あるいは、描画されるイメージを前記インデックスカラーイメージに含まれるソースイメージを反転したイメージと等価とするものである場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、前記ソースイメージおよび前記ソースイメージに対するROPを含むフォーマットのデータに変換することを特徴とする請求項22または23に記載の画像処理方法。
  25. 前記変換工程は、前記カラールックアップテーブルに記述された対応関係に含まれる色に中間色の色値を含むフォーマットの場合、前記インデックスカラーイメージを、前記カラールックアップテーブルを含まないフォーマットであって、ディザマトリクスを用いて前記中間色の色値をハーフトーン処理することで得られるハーフトーンパターンと、前記インデックスカラーイメージに含まれるソースイメージとを含むフォーマットのデータに変換することを特徴とする請求項22乃至24の何れか1項に記載の画像処理方法。
  26. 請求項1乃至16、18の何れか1項に記載の各手段としてコンピュータを機能させるためのプログラム。
JP2012265269A 2012-12-04 2012-12-04 画像処理装置、画像処理方法、コンピュータプログラム Active JP6061654B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012265269A JP6061654B2 (ja) 2012-12-04 2012-12-04 画像処理装置、画像処理方法、コンピュータプログラム
US14/091,136 US9400948B2 (en) 2012-12-04 2013-11-26 Image processing for rendering an indexed color image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012265269A JP6061654B2 (ja) 2012-12-04 2012-12-04 画像処理装置、画像処理方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2014110602A JP2014110602A (ja) 2014-06-12
JP2014110602A5 JP2014110602A5 (ja) 2016-01-28
JP6061654B2 true JP6061654B2 (ja) 2017-01-18

Family

ID=50825192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012265269A Active JP6061654B2 (ja) 2012-12-04 2012-12-04 画像処理装置、画像処理方法、コンピュータプログラム

Country Status (2)

Country Link
US (1) US9400948B2 (ja)
JP (1) JP6061654B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023150722A (ja) * 2022-03-31 2023-10-16 ブラザー工業株式会社 印刷装置、その制御方法、およびコンピュータプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262806B1 (en) * 1997-12-19 2001-07-17 Adobe Systems Incorporated Page description language conversion using sidelining
JP2001351111A (ja) * 2000-06-08 2001-12-21 Fuji Xerox Co Ltd 画像処理装置及び描画処理装置
US20020067509A1 (en) * 2000-12-06 2002-06-06 Roylance Eugene A. Method, apparatus and system for dynamic switching of image processing techniques
JP2004025572A (ja) 2002-06-25 2004-01-29 Canon Inc 印刷処理システム及び印刷処理方法
JP2004242342A (ja) * 2004-03-04 2004-08-26 Seiko Epson Corp 画像表示装置
JP2006044169A (ja) * 2004-08-06 2006-02-16 Canon Inc 印刷装置、及びその制御方法
JP5098340B2 (ja) * 2006-01-20 2012-12-12 セイコーエプソン株式会社 画像処理装置,画像処理プログラム及び画像処理方法
US7495802B2 (en) * 2006-06-16 2009-02-24 Kabushiki Kaisha Toshiba Image processing apparatus, image processing method and image processing program
JP2009038562A (ja) * 2007-08-01 2009-02-19 Ricoh Co Ltd 画像処理装置、画像処理方法および画像処理プログラム
JP5267255B2 (ja) * 2009-03-18 2013-08-21 株式会社リコー 画像処理装置、画像処理方法及びプログラム

Also Published As

Publication number Publication date
US20140153055A1 (en) 2014-06-05
JP2014110602A (ja) 2014-06-12
US9400948B2 (en) 2016-07-26

Similar Documents

Publication Publication Date Title
JP7005314B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2012518303A (ja) デジタル画像を処理するための画像処理システム及びデジタル画像を処理する画像処理方法
JP2017156852A (ja) 画像処理装置、および、コンピュータプログラム
US10079960B1 (en) System and method for halftoning in a print system
JP5239753B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP4682628B2 (ja) 画像処理装置、方法、及びプログラム
US7315402B2 (en) Image forming apparatus and method for selecting an optimal image space frequency for an output image
JP6061654B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2015002442A (ja) 画像処理装置および方法
JP7077451B2 (ja) 画像形成装置および画像形成装置の制御方法、ならびにプログラム
JP5012871B2 (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP5538996B2 (ja) 画像処理装置、画像処理方法、プログラム、および記憶媒体
JP2015149719A (ja) 選択的な向上のあるデジタル画像ハーフトーン変換
JP2007083556A (ja) 画像処理装置および画像処理方法
JP2019121870A (ja) 画像処理装置とその制御方法、及びプログラム
JPH10329363A (ja) 画像形成装置、方法及びプリンタ
JP6667582B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2007081886A (ja) 描画処理装置
JP2016200999A (ja) 印刷指示装置、印刷システム及びプログラム
JP2013162503A (ja) 画像処理装置及びその制御方法ならびにプログラム
JP2022040712A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6693701B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びコンピュータプログラム
JP4337670B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2015220742A (ja) 画像処理装置、画像形成装置、およびそれらの制御方法
JP2006197411A (ja) ハーフトーンスクリーニング方法及びプリンタ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161213

R151 Written notification of patent or utility model registration

Ref document number: 6061654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151