IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-169177画像処理装置、画像処理方法、及びプログラム
<>
  • 特開-画像処理装置、画像処理方法、及びプログラム 図1
  • 特開-画像処理装置、画像処理方法、及びプログラム 図2
  • 特開-画像処理装置、画像処理方法、及びプログラム 図3
  • 特開-画像処理装置、画像処理方法、及びプログラム 図4
  • 特開-画像処理装置、画像処理方法、及びプログラム 図5
  • 特開-画像処理装置、画像処理方法、及びプログラム 図6A
  • 特開-画像処理装置、画像処理方法、及びプログラム 図6B
  • 特開-画像処理装置、画像処理方法、及びプログラム 図6C
  • 特開-画像処理装置、画像処理方法、及びプログラム 図7
  • 特開-画像処理装置、画像処理方法、及びプログラム 図8
  • 特開-画像処理装置、画像処理方法、及びプログラム 図9
  • 特開-画像処理装置、画像処理方法、及びプログラム 図10
  • 特開-画像処理装置、画像処理方法、及びプログラム 図11
  • 特開-画像処理装置、画像処理方法、及びプログラム 図12
  • 特開-画像処理装置、画像処理方法、及びプログラム 図13
  • 特開-画像処理装置、画像処理方法、及びプログラム 図14
  • 特開-画像処理装置、画像処理方法、及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169177
(43)【公開日】2024-12-05
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
   B41J 5/30 20060101AFI20241128BHJP
   G06T 1/00 20060101ALI20241128BHJP
   H04N 1/60 20060101ALI20241128BHJP
   B41J 2/525 20060101ALI20241128BHJP
【FI】
B41J5/30 Z
G06T1/00 510
H04N1/60
B41J2/525
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023086426
(22)【出願日】2023-05-25
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】中村 宏典
(72)【発明者】
【氏名】溝口 慶範
(72)【発明者】
【氏名】山田 顕季
【テーマコード(参考)】
2C187
5B057
【Fターム(参考)】
2C187AC08
2C187AF03
2C187BG03
2C187BG17
2C187DD03
2C187GA01
2C187GA10
2C187GB07
5B057AA11
5B057CA01
5B057CA08
5B057CA12
5B057CA17
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE17
5B057CE18
5B057CH11
5B057DA17
5B057DB02
5B057DB06
5B057DB09
(57)【要約】
【課題】PDLで記述された原稿に対して適切なガマットマッピングを行うための技術を提供することを目的とする。
【解決手段】
PDLデータに基づいて中間データを生成する。前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する。前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する。前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する。補正された前記第2ビットマップデータに基づいて量子化画像データを生成する。

【選択図】図3
【特許請求の範囲】
【請求項1】
PDLデータに基づいて中間データを生成する第1生成手段と、
前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する第2生成手段と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得手段と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正手段と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化手段と、を備える、
ことを特徴とする画像処理装置。
【請求項2】
前記第1ビットマップデータの解像度は、前記第2ビットマップデータの解像度よりも低い、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ガマットマッピングテーブルは、知覚的マッピングテーブルと測色的マッピングテーブルとを含む、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記補正手段は、前記取得手段が前記ガマットマッピングテーブルを取得した後、前記第1ビットマップデータを削除し、前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記PDLデータを保持する第1保持手段をさらに備え、
前記第1生成手段は、前記第1保持手段によって保持されているPDLデータに基づいて、前記中間データを生成し、
前記第2生成手段は、生成された前記中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記第1生成手段によって生成された中間データを保持する第2保持手段をさらに備え、
前記第2生成手段は、前記第2保持手段によって保持されている中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記第2生成手段は、前記第2保持手段が前記中間データの一部である第1中間データ群を保持し、かつ、前記第2保持手段が前記第1中間データ群よりも後に受信する第2中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第1中間データ群と前記第2中間データ群とに基づいて、第1背景画像を生成し、
前記第2保持手段は、前記第1中間データ群を削除し、前記第1背景画像を保持する、
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記第2保持手段は、前記第2中間データ群よりも後に受信する第3中間データ群の容量が前記第2保持手段の空き容量を超えない場合、前記第1背景画像と前記第3中間データ群とを保持する、
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記第2生成手段は、前記第2保持手段が前記第3中間データ群よりも後に受信する第4中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第3中間データ群と前記第4中間データ群とに基づいて、前記第1背景画像とは異なる第2背景画像を生成し、
前記第2保持手段は、前記第1背景画像と前記第3中間データ群とを削除し、前記第2背景画像を保持する、
ことを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記第2生成手段は、前記第2保持手段の最終保持結果に基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項7に記載の画像処理装置。
【請求項11】
前記第1背景画像と前記第2背景画像とに対して画像圧縮処理を行う圧縮処理手段と、
画像圧縮処理された前記第1背景画像と前記第2背景画像とを復号する復号化手段と、をさらに備える、
ことを特徴とする請求項9に記載の画像処理装置。
【請求項12】
前記第2生成手段は、前記中間データに基づくレンダリングにより前記第1ビットマップデータを生成し、生成した前記第1ビットマップデータを用いて、所定の画像処理により前記第2ビットマップデータを生成する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項13】
前記所定の画像処理は、前記第2ビットマップデータのサイズを縮小する処理である、
ことを特徴とする請求項12に記載の画像処理装置。
【請求項14】
PDLデータに基づいて中間データを生成する第1生成工程と、
前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する第2生成工程と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得工程と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正工程と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化工程と、を備える、
ことを特徴とする画像処理方法。
【請求項15】
コンピュータを請求項1から13のいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
所定の色空間で記述されたデジタル原稿を受け取り、所定の色空間中の各色についてプリンタで再現可能な色域へのマッピングを行い、出力を行うプリンタが知られている。プリンタで再現可能な色域へのマッピング(以下、ガマットマッピング)には複数の手段が考えられる。例えば、「知覚的」及び「絶対的測色的」といった観点の複数のガマットマッピング手段に対しては、原稿内のコンテンツ情報によって最適な手段が異なる。
【0003】
特許文献1は、ページ記述言語(以下、PDL)における記述データから原稿内のオブジェクト情報を取得し、オブジェクトに最適なルックアップテーブル(以下、LUT)を適用する方法を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004-306465号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1におけるオブジェクト情報の取得は、PDLの記述解読により実現している。PDLの記述から「文字」、「写真(JPEG系埋め込み)」、「線」等の情報を取得できても、それらの情報とガマットマッピング手段とを紐づけできない。PDLは、プリンタ及びプリンタシステムではなく、PCアプリケーションにより異なる記述になる場合がある。例えば、「線」の情報に表の罫線を含めるかどうかは、アプリケーションに依存する。また、最適なガマットマッピング手段は、オブジェクト情報だけではなく色の分布によって異なる。オブジェクト間がオーバーレイ描画されている場合には、PDLの記述から、オブジェクトに存在する色の分布を判断する事は難しい。
【0006】
そこで、本発明は、PDLで記述された原稿に対して適切なガマットマッピングを行うための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の目的を達成するために、本発明の一実施形態に係る画像処理装置は、PDLデータに基づいて中間データを生成する第1生成手段と、前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する第2生成手段と、前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得手段と、前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正手段と、補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化手段と、を備える、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、PDLで記述された原稿に対して適切なガマットマッピングを行うための技術を提供することができる。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係るシリアル型の画像処理装置100の印刷部の構成を示す図。
図2】画像処理装置100のコントローラ部の概略図。
図3】第1実施形態に係る画像処理装置の全体処理を説明するフローチャート。
図4】第1実施形態に係るS303の画像解析処理を説明するフローチャート。
図5】第1実施形態に係るS401の領域分割処理を説明するフローチャート。
図6A】第1実施形態に係るS402の領域解析結果の一例を示す図。
図6B】第1実施形態に係るS402の領域解析結果の一例を示す図。
図6C】第1実施形態に係るS402の領域解析結果の一例を示す図。
図7】第1実施形態に係るS403のマッピングテーブル作成処理を説明するフローチャート。
図8】第1実施形態に係るS305の印刷用画像データの補正処理を説明するフローチャート。
図9】第1実施形態に係る印刷用画像データと解析用画像データの概要を説明する図。
図10】マッピングを説明する図。
図11】第2実施形態に係る画像処理装置の全体処理を説明するフローチャート。
図12】第3実施形態に係る画像処理装置の全体処理を説明するフローチャート。
図13】第3実施形態に係る印刷用画像データの縮小処理の一例を説明する図。
図14】第4実施形態に係るビルダ処理時にフォールバック処理が発生した場合について説明するフローチャート。
図15図14の処理において各状態の中間データの内容を説明する図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る開示を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが開示に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
(第1実施形態)
図1は、第1実施形態に係るシリアル型の画像処理装置100の印刷部の構成を示す図である。
【0012】
印刷ヘッド部101は、主走査方向110(Main-Scanning Direction)に一定の速度で移動するキャリッジ102に搭載され、一定の速度に対応した周波数でインク滴を吐出する。
【0013】
印刷用紙103は、1回の印刷主走査が終了するごとに、副走査方向111(Sub-Scanning Direction)に所定の量だけ搬送される。搬送時、印刷用紙103は、給紙ローラ104および補助ローラ105のローラ対と、搬送ローラ106および補助ローラ107ローラ対とに挟持される。このような印刷主走査と搬送動作とを間欠的に繰り返すことにより、印刷用紙103に段階的に画像が印刷される。
【0014】
印刷ヘッド部101では、ブラック(K)、シアン(C)、マゼンタ(M)、およびイエロー(Y)の記録ヘッドが、図1のように主走査方向110に並列配置されている。各色の記録ヘッドには、複数の記録素子が副走査方向111に配置されている。
【0015】
図2は、画像処理装置100のコントローラ部の概略図である。
【0016】
ホストコンピュータ201は、印刷するために必要なPDL(ページ記述言語)データ及び印刷条件情報から成る印刷ジョブの作成などを行う情報処理装置(例えば、PC)である。なお、印刷条件情報とは、プリント用紙の種類とサイズ、及び印刷品位などの情報である。
【0017】
コントローラ202は、画像処理装置100の制御を行う制御装置である。続いて、コントローラ202の内部構成について説明する。
【0018】
ROM203は、画像処理装置100を制御するためのプログラムを格納している読み出し可能なメモリである。
【0019】
CPU204は、ROM203に格納されたプログラムを実行することにより画像処理装置100の制御を行う。
【0020】
ホストIF制御部206は、ホストコンピュータ201との通信を行い、印刷ジョブなどを受信し、印刷ジョブなどをRAM205へ格納する。
【0021】
RAM205は、プログラムの実行領域及びデータの格納領域として使用される読み書き可能なメモリである。
【0022】
画像処理部207は、印刷ジョブに含まれる印刷条件に従って、RAM205のPDLデータから印刷可能な量子化画像データを生成する量子化処理を行い、生成された量子化画像データをRAM205へ格納する。RAM205と画像処理部207の構成については後述する。
【0023】
ヘッドIF制御部208は、RAM205の量子化画像データを、ヘッド制御部209へ送信する。
【0024】
ヘッド制御部209は、コントローラ202(ヘッドIF制御部208)から取得した情報に基づいて印字データ210を出力し、印刷用紙103に画像を記録するように印刷ヘッド部101を制御する。
【0025】
なお、共有バス211aは、ROM203、CPU204、RAM205、ホストIF制御部206、画像処理部207、及びヘッドIF制御部208に接続される。この共有バス211aを通じて、接続された構成要素同士で通信が可能となる。
【0026】
さらに、本実施形態の主な各データ処理部とRAM205の各領域を説明する。
【0027】
RAM205には、PDL領域220、中間データ領域221、ビットマップデータ領域222、及び補正データ領域223が存在する。RAM205には、他の領域も存在するが、説明を省略する。
【0028】
PDL領域220は、印刷ジョブのうちPDLデータを保持する領域である。
【0029】
中間データ領域221は、CPU204がPDLデータから生成した中間データを保持する領域である。
【0030】
ビットマップデータ領域222は、レンダラ部211が中間データから生成したビットマップデータを保持する領域である。
【0031】
補正データ領域223は、解析部212によって生成された補正値テーブルデータを保持する領域である。レンダラ部211は、中間データ領域221から中間データを読み出し、バンド単位にビットマップデータを生成し、ビットマップデータをビットマップデータ領域222へ格納する。ここで、ビットマップデータとは、画像を画素値の連続値として記録した情報を指す。ビットマップデータのチャンネル数は、1Ch、3Ch、及び4Chなどである。ビットマップデータのbit数は、8bit及び16bitなどである。例えば、ビットマップデータがRGB情報で表される場合、画素値情報がRGBRGBRGB・・・のような順次のデータ並びであっても、RRRRR・・・RRGGGGG・・・GGBBBBB・・・BBのようなデータ並びであっても良い。
【0032】
解析部212は、ビットマップデータ領域222からビットマップデータを読み出し及び解析し、解析結果を元に補正データを算出し、補正データを補正データ領域223へ格納する。
【0033】
補正部213は、印字対象のビットマップデータと該当領域に対する補正データをビットマップデータ領域222と補正データ領域223から読み出し、補正データを用いてビットマップデータの補正処理を行う。
【0034】
量子化部214は、補正されたビットマップデータに対して量子化処理を行い、RAM205のPDL領域220~補正データ領域223とは異なる領域に量子化画像データを格納する。
【0035】
JPEGエンコーダ215は、特定条件下でビットマップデータに対してJPEG圧縮を行う。JPEGデコーダ216は、特定条件下でJPEGデータに対してJPEG復号を行う。
【0036】
<PDLデータのビットマップデータ化(ビルダ処理及びレンダリング)>
本実施形態のPDLデータからビットマップデータを生成する方法について説明する。PDLデータは、ページ単位で文字と画像などの情報を組み合わせて印刷内容を記述したデータである。1ページ分のPDLを検査しなければ、どの描画データがページ上のどの位置に描画されるか分からない。一方、高速にビットマップデータを生成するには、連続した画素位置を処理する方法が良く、この方法はRAM205へのメモリアクセス効率もよく、同値画素の高速な生成なども期待できる。そのため、PDLの検査を行い、容易にビットマップデータの生成を可能にする描画情報として、PDLデータを加工した「中間データ」を生成する。このように、中間データを元に効率良くビットマップデータを生成する方法が一般的である。本実施形態では、中間データの生成までの工程を「ビルダ処理」といい、ビットマップデータの生成までの工程を「レンダリング」という。また、本実施形態では、ビルダ処理をCPU204で実施し、レンダリングをレンダラ部211で実施する。また、中間データは、描画コマンドを実行する形式になっており、中間データの上から実行することで、ページの先頭からラスタ単位にビットマップデータを生成できるようにするのが望ましい。よって、本実施形態では、中間データは描画コマンドを含んだ情報として説明するが、PDLデータからレンダラ部211が効率良く処理するための情報に変換された情報であれば、上記の中間データに限定されない。
【0037】
図3は、第1実施形態に係る画像処理装置の全体処理を説明するフローチャートである。図3の処理の実行により、解析用画像データにおいてガマットマッピング手段をそれぞれ適用すべき領域を設定し、各領域の解析結果に従って各領域に対する適切なガマットマッピング手段を選択可能となる。
【0038】
S301でCPU204は、PDLデータを、RAM205のPDL領域220から取得する。CPU204は、PDLデータをビルダ処理して、中間データを生成する。CPU204は、中間データを中間データ領域221に格納する。CPU204は、全ての中間データの生成を完了した後に、PDLデータをPDL領域220から削除する。
【0039】
S302でCPU204は、RAM205の中間データ領域221の中間データを読み出し、レンダラ部211に中間データに対する画像解析用レンダリングを実行させる。CPU204は、レンダリングによって得られたビットマップデータ(第1ビットマップデータ)をビットマップデータ領域222へ格納する。ビットマップデータ(画像)は、ビットマップ形式で生成され、各座標に対応した画素値が取得可能となる。S302では、S303における画像解析で必要な解像度で中間データをレンダリングすれば良い。印刷用解像度のビットマップデータにおいて画像解析を実施する場合、画像を画素単位で解析するため処理負荷が高い。また、画像全域から判断する必要のある解析処理では、印刷用解像度のビットマップデータをRAM205に保持しなくてはならない。そのため、解析処理上の特性とシステムの要求性能に基づいて、S303におけるレンダリング解像度を決定すれば良い。本実施形態では、一例として印刷用解像度を600dpiとし、解析用解像度を150dpiとするが、これに限られることはない。
【0040】
S303でCPU204は、解析用解像度にてレンダリングされたビットマップデータを読み出し、解析部212を用いてビットマップデータの画像解析を実施する。画像解析処理の詳細については、図4を用いて説明する。
【0041】
図4は、第1実施形態に係るS303の画像解析処理を説明するフローチャートである。
【0042】
S401で解析部212は、解析用解像度にてレンダリングされたビットマップデータ(以下、解析用画像データ)を用いて、解析用画像データを1~複数の領域に分割する。領域分割処理の詳細については、図5を用いて後述する。
【0043】
S402で解析部212は、S401で分割された領域情報に基づき、領域ごとに種別解析を実施する。領域解析処理の詳細については、図6A図6Cを用いて後述する。
【0044】
S403で解析部212は、S402で解析された領域情報及び領域の画素値に基づき、領域ごとに適切なマッピングテーブルを作成する。解析部212は、作成されたマッピングテーブルをRAM205の補正データ領域223へ格納する。解析用画像データの各領域に対して領域用マッピングテーブルを作成する具体的な処理については、図7を用いて後述する。
【0045】
図5は、第1実施形態に係るS401の領域分割処理を説明するフローチャートである。
【0046】
S501でCPU204は、解析用画像データをビットマップデータ領域222から取得する。
【0047】
S502で解析部212は、解析用画像データにおいて画素毎に空白があるか否かを判定する。本実施形態において、画素値が全てR=G=B=255である画素を空白とみなす。
【0048】
S503で解析部212は、以下の設定条件に基づいて、解析用画像データの各画素の初期値を設定する。
(設定条件)
・非空白の画素に対して領域番号「-1」を設定
・領域番号最大値に「0」を設定
具体的には、解析部212は、以下のように各画素の初期値を設定する。
空白画素(x1,y1) area_number[x1][y1]=0
非空白画素(x2,y2)area_number[x2][y2]=-1
領域番号最大値 max_area_number=0
S503の処理の完了時点では、全ての画素の領域番号が「0」または「-1」と設定されていることになる。
【0049】
S504で解析部212は、以下の判定条件に基づいて、解析用画像データにおいて領域番号が「-1」である画素を検出する。具体的には、以下のように判定が行われる。
(判定条件)
if(area_number[x][y]=-1) →検出された
else →検出されない
解析部212は、最初に領域番号が「-1」である画素が検出された時点で処理をS505へ進める。
【0050】
S505で解析部212は、解析用画像データにおいて領域番号「-1」の画素が存在しないと判定しなかった場合(S505でNo)、処理をS506へ進める。一方で、解析部212は、解析用画像データにおいて領域番号「-1」の画素が存在しないと判定した場合(S505でYes)、処理をS510へ進める。ここで、全画素の領域番号が「-1」ではないと判定した場合は、全ての画素が空白画素であるか、いずれかの領域番号(「-1」を除く)が設定された場合である。
【0051】
S506で解析部212は、領域番号最大値を+1インクリメントし、当該画素の領域番号として、更新された領域番号最大値に設定する。具体的には、検出された画素(x3,y3)に対して、以下のように領域番号最大を設定する。
max_area_number=max_area_number+1
area_number[x3][y3]=max_area_number
例えば、S506の処理が実行されて初めて検出された領域であるので、領域番号最大値は「1」であり、当該画素の領域番号も「1」となる。以後、再びS506の処理を実行する度に、1ずつ領域数が増えていくことになる。以降、S507~S509で、連続する非空白画素を同じ領域として拡張する処理を行う。
【0052】
S507で解析部212は、領域番号が領域番号最大値の画素の隣接画素であり、かつ、領域番号が「-1」である画素を検索する。具体的には、以下の判定が行われる。
if (area_number[x][y]=max_area_number)
if((area_number[x-1][y]=-1)or
(area_number[x+1][y]=-1)or
(area_number[x][y-1]=-1)or
(area_number[x][y+1]=-1))→検出された
else →検出されない
【0053】
S508で解析部212は、最初に領域番号が「-1」である隣接画素が検出された時点で、領域番号「-1」である隣接画素が検出されたと判定し(S508でYes)、処理をS509に進める。一方、解析部212は、全ての隣接画素の領域番号が「-1」ではない場合(S508でNo)、領域番号が「-1」である隣接画素が検出されなかったと判定し(S508でNo)、処理をS504に戻す。
【0054】
S509で解析部212は、隣接画素(領域番号「-1」の画素)の領域番号を領域番号最大値に設定する。具体的には、解析部212は、検出された隣接画素に対して、注目画素位置を(x4,y4)として、以下のように処理することで領域番号最大値を設定する。
if((area_number[x4-1][y4]=-1)
area_number[x4-1][y4]=max_area_number
if((area_number[x4+1][y4]=-1)
area_number[x4+1][y4]=max_area_number
if((area_number[x4][y4-1]=-1)
area_number[x4][y4-1]=max_area_number
if((area_number[x4][y4+1]=-1)
area_number[x4][y4+1]=max_area_number
解析部212は、S509で隣接画素の領域番号の更新を行った後、処理をS507へ戻し、他に隣接している非空白画素が存在するか否かを判定する。そして、解析部212は、非空白の隣接画素が存在しない状況になると(つまり、当該最大領域番号を付与すべき画素が存在しなくなれば)、処理をS504へ戻す。
【0055】
S510で解析部212は、領域番号最大値を領域数として設定する。すなわち、これまでに設定した領域番号最大値が解析用画像データに存在する領域数となる。以上により、解析用画像データの領域分割処理を終了する。
【0056】
図9は、第1実施形態に係る印刷用画像データと解析用画像データの概要を説明する図である。図9は、印刷用画像データ901、解析用画像データ902、解析用画像データ902の領域分割終了後の各領域分布を示す。
【0057】
印刷用画像データ901は、印刷用解像度の画像データである。解析用画像データ902は、解析用解像度の画像データである。領域903、領域904、及び領域905は、解析用画像データ902の領域分割終了後の領域を表す。領域903(領域1で図示)は写真のデータを含む。領域904(領域2で図示)はグラデーション部のデータを含む。領域905(領域3で図示)は、文字部のデータを含む。よって、解析用画像データ902における領域分割の結果は、領域数3を示す。
【0058】
図9に示すように、解析部212(領域分割手段)は、一方の領域(例えば、領域903)と他の領域(例えば、領域904)との間に少なくとも1つの空白タイルを設けて、相互の領域が空間的に離間するように分割する。言い換えれば、解析部212は、1つの空白タイルも介さない複数画素同士を隣接していると判定するため、同一領域とみなして領域分割処理を行う。
【0059】
なお、解析部212は、上記の方法に限られず、他の方法を用いて解析用画像データ902の分割処理を実行しても良い。例えば、非空白画素を起点に領域を分割しても良いし、隣接画素だけではなくより広い周囲の画素の傾向値を元に領域を分割しても良い。
【0060】
図6A図6Cは、第1実施形態に係るS402の領域の種別解析結果の一例を示す図である。
【0061】
図6Aは、S401の領域分割処理の結果として、文字の「い」に対して1つの領域600を設定した状態を示す。図6Bは、S401の領域分割処理の結果として、円形グラデーションに対して1つの領域601を設定した状態を示す。
【0062】
領域600又は領域601は、文字又は円形グラデーションを囲う矩形であるが、S401で説明した領域分割方法を用いると白画素との境界で分かれる事になる。ここでは理解の容易化のため、S401にて領域分割を実施した結果に対して、領域の最も上に位置する画素と最も下に位置する画素のY座標、領域の最も右に位置する画素と最も左に位置する画素のX座標に基づき矩形領域を設定する。
【0063】
本実施形態ではエッジ検出エリア602とエッジ検出エリア603を用いて、網枠領域内のエッジの有無を判定する。エッジの有無の判定方法としては、様々な手段が存在するが、ここでは一例として「同画素」、「類似画素」、及び「異画素」を使ったエッジ判定処理を行う。
【0064】
図6Cに示すように、THa~THbに含まれる画素を同画素に、THc~THdに含まれる画素を類似画素に、それ以外の画素を異画素に分類する。ここで、THと比較する値は、RGB情報、YCbCr情報、もしくはどれか1CHの情報であっても良く、CH数及び種類に制限はない。THa~THdの値は色情報ごとに変えてもよく、例えばRGBすべてに異なる閾値を設けても良い。エッジ検出エリア602とエッジ検出エリア603の全画素を中央の画素とそれぞれ比較する事で、エッジ検出エリア602とエッジ検出エリア603の中には同画素、類似画素、及び異画素がそれぞれ幾つ含まれているかが分かる。解析部212は、エッジ検出エリア602とエッジ検出エリア603の全域を走査し、同画素、類似画素、及び異画素の数を累積したヒストグラムを作成する。エッジ検出エリア602の中央画素(斜線を含む矩形領域で図示)が領域600の全域を走査する必要があるため、エッジ検出エリア602の端部は領域600の外の範囲にあっても走査対象となり得る。同様に、エッジ検出エリア603の端部は領域601の外の範囲にあっても走査対象となり得る。
【0065】
ヒストグラム604は、領域600に対してエッジ検出処理した結果を示す。ヒストグラム605は、領域601に対してエッジ検出処理した結果を示す。ヒストグラム604の度数分布によれば、図6Aの領域600(「い」を含む)では、同画素と異画素が多く、類似画素が少ない。ヒストグラム605の度数分布によれば、図6Bの領域601(円形グラデーションを含む)では、領域600と比較して、類似画素が多い。
【0066】
ヒストグラム604とヒストグラム605の3種類の画素の度数分布に基づいて、領域600と領域601が、「文字またはグラフィック」と「写真またはグラデーション」のどちらを含むかを判定できる。例えば、解析部212は、ヒストグラム604の類似画素が低い場合、領域600が「文字またはグラフィック」を含むと判定する。このように、同画素、類似画素、及び異画素に対する閾値を設定する事で、各領域が「文字またはグラフィック」と「写真またはグラデーション」のどちらを含むかを判定できる。例えば、解析部212は、以下の条件に合致するか否かに基づいて、各領域が「文字またはグラフィック」を含むか否かを判定する。各領域内の各画素について判定した結果に基づき、領域内で多く分布した種別を、領域に対する種別判定結果としても良いし、例えば少しでも「写真またはグラデーション」の特徴を領域内に備えている場合に、領域に対する種別判定結果を「写真またはグラデーション」にしても良い。
同画素指数 > THsame && 類似画素指数 < THnear
&& 異画素指数 > THother
【0067】
上記のエッジ検出析処理は一例であり、これに限定されない。例えば、同画素、類似画素、及び異画素を、全画素の判定結果からなる画素数で取得した累積値と上記の式とで比べても良いし、判定結果からなる画素数を領域の面積比率に変換した上で、上記の式を用いて比べても良い。本実施形態では、エッジ検出エリア602とエッジ検出エリア603を用いたエッジ検出処理について説明したが、領域内の色分布を用いてエッジ検出しても良い。
【0068】
図7は、第1実施形態に係るS403のマッピングテーブル作成処理を説明するフローチャートである。
【0069】
S701でCPU204は、ビットマップデータ領域222から解析用画像データを取得する。
【0070】
S702で解析部212は、マッピングテーブルの作成に必要な印刷色域を取得する。印刷色域は、プリンタの印刷時に再現可能な色の範囲を示す情報であり、印刷用紙(普通紙、写真用紙)と印刷モード(下書き、標準、きれい等)によって異なる。一般的に、普通紙への印刷よりも写真用紙への印刷の方が印刷色域は広い。下書きモード、標準モード、きれいモードの順番で印刷色域が広くなる。これは、印刷に用いるインク量が多い程、印刷されたインクのうち印刷用紙表面に存在するインク量が多い程、印刷結果の発色が良くなるためである。
【0071】
印刷色域の表現方法としては種々の方法が用いられて良いが、例えば、明度(L:Lightness)、彩度(C:Chroma)、色相(H:Hue)の組で表現する方法が用いられる。具体的には、印刷色域の表現方法は、各明度及び色相に対して、最大彩度を記述する方法であり、以下で表されるようなテーブルを用いる方法である。
Cmax_Table[L][H] (L=0~100、H=0~360)
【0072】
ここで、Lが101通り存在し、Hが360通り存在するので、36,360個(=101×360)のC情報の組となる。なお、マッピングテーブルの容量を削減するために、LとHの階調を低減しても良い。
【0073】
例えば、印刷色域をプリンタのROM203に予め格納しておき、CPU204がROM203の印刷色域を読み出す。印刷色域は、上述のように、プリンタ(印刷装置)の性能として予め決められている。そのため、例えば、事前に各RGB値で印刷パッチを印刷し、印刷パッチの測定結果から、各明度及び色相に対する最大彩度を設定する。
【0074】
S703で解析部212は、解析用画像データの領域が、S402の領域解析結果に基づいて、「文字またはグラフィック」を含むか否かを判定する。解析部212は、領域が「文字またはグラフィック」を含むと判定した場合(S703でYes)、処理をS704に進める。解析部212は、領域が「文字またはグラフィック」を含まないと判定した場合(S703でNo)、処理をS708に進める。
【0075】
S704で解析部212は、解析用画像データの領域における1画素分の画素値を取得する。
【0076】
S705で解析部212は、S704で取得された画素値が、S702で取得された印刷色域に存在するか否かを判定する。具体的には、解析部212は、取得した画素値であるRGB値を明度、彩度、及び色相に変換する。一般的なRGB値はsRGB値であるため、本実施形態では一例としてsRGB値を用いて説明する。例えば、sRGB値を明度、彩度、及び色相に変換する変換テーブルsRGBtoLCH[Rin][Gin][Bin][0~2]が、プリンタのROM203に予め格納されている。そして、解析部212は、sRGB値を用いて、以下のように、Lin、Cin、Hinを算出する。
Lin=sRGBtoLCH[Rin][Gin][Bin][0]
Cin=sRGBtoLCH[Rin][Gin][Bin][1]
Hin=sRGBtoLCH[Rin][Gin][Bin][2]
そして、解析部212は、以下の式に示す比較処理を行い、Lin、Cin、Hinが印刷色域に存在するか否かを判定する。
If(Cin<=Cmax_Table[Lin][Hin]) →印刷色域内
Else →印刷色域外
【0077】
解析部212は、Lin、Cin、Hinが印刷色域に存在すると判定した場合(S705でYes)、処理をS706に進める。一方、解析部212は、Lin、Cin、Hinが印刷色域に存在しないと判定した場合(S705でNo)、処理をS708に進める。
【0078】
S706で解析部212は、領域の全画素の判定が終了したか否かを判定する。解析部212は、領域の全画素の判定が終了したと判定した場合(S706でYes)、処理をS707へ進める。一方、解析部212は、領域の全画素の判定が終了していないと判定した場合(S706でNo)、処理をS704に戻し、当該部分ページ内の次の画素について上記の処理が行われる。
【0079】
S707で解析部212は、領域のマッピングテーブルとして「測色的」マッピングテーブルを設定し、処理を終了する。「測色的」マッピングテーブルの設定については図10で後述する。S707の処理が行われる場合は、領域の全ての画素が印刷色域に存在する場合である。そのため、プリンタの再現色域内の複数の色で構成された領域に対して「測色的」マッピングテーブルを用いた場合、領域において色差の低下は発生しない。
【0080】
S708で解析部212は、領域のマッピングテーブルとして「知覚的」マッピングテーブルを設定し、処理を終了する。「知覚的」マッピングテーブルの設定については図10で後述する。S708の処理が行われる場合は、領域の画素の中に印刷色域外の画素がある場合である。そのため、プリンタの再現色域外の複数の色で構成された領域に対して「測色的」マッピングテーブルを用いた場合、領域において色差の低下が発生する可能性がある。また、S708の処理が行われるもう1つの条件は、領域が「写真またはグラデーション」を含む場合を含む。「写真またはグラデーション」は、緩やかに画素階調が推移するような特徴を持つことが多く、「測色的」マッピングテーブルを用いた場合に発生し得る階調性の低下が、領域についても発生する可能性がある。よって、S708で解析部212は、領域のマッピングテーブルとして「知覚的」マッピングテーブルを設定する。
【0081】
図10は、マッピングを説明する図である。
【0082】
図10(a)は、標準ディスプレイの色空間とプリンタの色空間の関係を示す図である。すなわち、図10(a)の実線1001は、L*a*b*均等色空間において、IEC 61966-2-1:1999として規定されているsRGB色空間を示す。また、実線1001は、ホストコンピュータ201からの原稿データ(PDLデータ)が採り得る色空間である。図10(a)の印刷色域1002(破線で図示)は、プリンタの色再現範囲である。
【0083】
標準ディスプレイで表示される色を画像処理装置100で出力する際、画像処理装置100の色再現域外にある色に関しては再現域内の適当な色に対応づけを行う必要がある。この対応づけを一般に色空間圧縮(カラーマッピング)と呼ぶ。一般的に、色空間圧縮の方法は複数存在し、目的に応じて使い分けられる。図10(a)において、WP10011とWP10021はそれぞれ、標準ディスプレイとプリンタの再現範囲内の最も明るい色(WP:ホワイトポイント)である。また、BP10012とBP10022はそれぞれ、標準ディスプレイとプリンタの再現範囲内の最も暗い色(BP:ブラックポイント)である。
【0084】
図10(b)は、「知覚的」マッピングを説明するための図である。図10(b)の太実線部1011に示すように、標準ディスプレイのホワイトポイント(WP10011)及びブラックポイント(BP10012)はそれぞれ、プリンタのホワイトポイント(WP10021)及びブラックポイント(BP10022)へマッピングされる。そして、他の色は、ホワイトポイントとブラックポイントとの相関関係が保たれるように変換される。標準ディスプレイの色空間1001全体がプリンタの印刷色域1002に収まるように(色方向上で彩度を圧縮するように)変換される。よって、標準ディスプレイの色空間1001の色は太実線部1011に変換され、元々の印刷色域1002上の色は太破線1012に変換される。図10(b)の「知覚的」マッピングは、色数の多い写真等の処理に向いている。図10(b)に示すように、標準ディスプレイの色域は、明度と彩度の両方で圧縮される。
【0085】
図10(c)は、絶対的測色的マッピングを説明する図である。図10(c)に示すように、プリンタの印刷色域内の色に対して圧縮を行わず、印刷色域外の色に対して、明度と彩度の両方で圧縮を行う方法である。図10(c)の太線矢印1021が色の圧縮処理の方向を表している。太線矢印1021の領域に含まれる複数の色は、標準ディスプレイ上では異なった色として表現されていたが、マッピング後には矢印終点の同一色となる。
【0086】
図10(d)は、相対的測色的マッピングを説明する図である。図10(d)に示すように、標準ディスプレイのホワイトポイントのみをプリンタのホワイトポイントへマッピングする。その後、プリンタの印刷色域内の色に対して圧縮を行わず、印刷色域外の色に対して、明度と彩度の両方で色の圧縮処理を行う。「相対的測色的マッピング」は、標準ディスプレイの各色と白色の相対色差を、印刷時の各色と紙白の相対色差として再現することができる。図10(d)において、太線矢印1031の領域に含まれる複数の色は、標準ディスプレイ上では異なった色として表現されていたが、マッピング後には矢印終点の同一色となる。
【0087】
なお、標準ディスプレイのホワイトポイント及びブラックポイントをそれぞれプリンタのホワイトポイント及びブラックポイントへマッピングした後、プリンタの印刷色域内の色に対して圧縮を行わず、印刷色域外の色に対して彩度圧縮を行う方法もある。図7のS707で設定される「測色的マッピング」としては、図10(c)で説明した「絶対的測色的マッピング」と図10(d)で説明した「相対的測色的マッピング」が挙げられるが、他の方法が用いられても良い。ここで、「相対的測色的マッピング」と他の方法を用いた場合、S705の処理よりも前に、ホワイトポイントとブラックポイントへのマッピングを行う必要がある。具体的には、図10(d)(ホワイトポイントのみのマッピングを行う)において、プリンタの印刷色域のホワイトポイントのL値をLmax(Lの値域は0~100)とした場合、以下の式のように判定が行われる。
Lin2=Lin-(100-Lmax)
If(Cin<=Cmax_Table[Lin2][Hin]) →印刷色域内
Else →印刷色域外
【0088】
また、ホワイトポイント及びブラックポイントの両方のマッピングを行う場合、プリンタの印刷色域のホワイトポイントのL値をLmax(Lの値域は0~100)とし、ブラックポイントのL値をLminとする。この場合、以下の式のように判定が行われる。
Lin2=(Lmax-Lmin)*Lin/100+Lmin
If(Cin<=Cmax_Table[Lin2][Hin]) →印刷色域内
Else →印刷色域外
【0089】
以上のように、解析用画像データの領域毎に適切なマッピング方法を選択することができる。つまり、印刷色域外の色情報を含む領域と、写真またはグラデーションを含む領域とに対して「知覚的」マッピングを設定し、印刷色域外の色情報を含まない領域に対して「測色的」マッピングを設定する。これにより、プリンタで再現可能な色で構成されたデジタル原稿に対して彩度の低下を低減したマッピングを行うことができる。また、プリンタの再現色域外の複数の色で構成されたデジタル原稿に対して色間における色差の低下を低減したマッピングを行うことができる。図3の説明に戻る。
【0090】
S304でCPU204は、中間データを中間データ領域221から読み出し、レンダラ部211を用いて中間データに対して印刷用レンダリングを実施し、ビットマップデータ(第2ビットマップデータ)を生成する。CPU204は、ビットマップデータをビットマップデータ領域222に格納する。中間データをレンダリングした画像は、ビットマップ形式で生成され、CPU204は各座標に対応した画素値を取得できる。S304では、印刷で必要な解像度で中間データをレンダリングする。中間データの情報を全て使ってレンダリング処理が完了した場合、CPU204は中間データを中間データ領域221から削除する。
【0091】
S305で補正部213は、印刷用解像度でレンダリングされたビットマップデータ(以下、印刷用画像データ)を、補正データ領域223のガマットマッピングテーブルを用いて補正する。印刷用画像データの補正処理については、図8を用いて詳しく説明する。
【0092】
図8は、第1実施形態に係るS305の印刷用画像データの補正処理を説明するフローチャートである。
【0093】
S801でCPU204は、ビットマップデータ領域222から印刷用画像データを取得する。
【0094】
S802で補正部213は、印刷用画像データから1画素分の画素値を取得する。
【0095】
S803で補正部213は、取得した画素値に対応する領域番号に紐づけられたマッピングテーブルを、補正データ領域223から取得する。解析用画像データと印刷用画像データの解像度が異なる場合、解像度の差分を考慮して画素値の対応付けを行う必要がある。例えば、解析用画像データの解像度が150dpiであり、印刷用画像データの解像度が600dpiであるものとする。この場合、解析用画像データの各画素を4×4画素分に拡大した画素を印刷用画像データに割り当てることになる。解析用画像データの解像度が小さくても、レンダリング時に描画命令を解釈して低解像度にレンダリングする事で、非空白の画素は縮小時も消失しない。従って、解析結果(解析用画像データ)を拡大する事で、印刷用画像データの対応する領域をカバーする事が出来る。一方で、描画命令内に画素値が直接記述されている場合もある。この場合は、縮小解像度でレンダリングすると画素消失が考えられる。従って、縮小解像度の数値は、どの程度画像を正確に変換したいか及び要求速度に応じて設定され得る。
【0096】
S804で補正部213は、対象画素に対して対応するガマットマッピングテーブルを用いてガマットマッピングを実行する。
【0097】
S805で補正部213は、全画素のガマットマッピング処理が終了したか否かを判定する。補正部213は、全画素の判定が終了したと判定した場合(S805でYes)、処理を終了する。一方、補正部213は、全画素の判定が終了していないと判定した場合(S805でNo)、処理をS802に戻し、次の画素について上記の処理が行われる。
【0098】
画像補正手段は、上記に限られず、例えば印刷用画像データにおいて「測色的」ガマットマッピングの適用が好ましい全画素に対して測色的ガマットマッピングした後、「知覚的」ガマットマッピングの適用が好ましい全画素に対して知覚的ガマットマッピングしても良い。この場合、ガマットマッピングテーブルの読み込み処理を低減でき、処理効率が向上する。
【0099】
S306でCPU204は、S305で補正された印刷用画像データに対して所定の処理を行う。具体的には、CPU204は、補正された印刷用画像データの各画素に対して、量子化部214を用いて、インク色分解、出力特性変換、及び量子化の処理を行う。CPU204は、量子化済みの画像データをRAM205に格納する。ヘッド制御部209は、量子化済み画像データをヘッドIF制御部208経由で読み取り、量子化画像データ(インク滴を吐出可能な情報)を印刷ヘッド部101へ出力し、印刷が開始する。
【0100】
以上のように、第1実施形態ではPDLデータをビルダ処理した中間データに対して、更にレンダリングにより生成した解析用画像データを使用して解析処理を実施する。解析用画像データは、解析処理に必要最低限の解像度を有するため、メモリサイズを抑える事が出来る。解析用画像データを解析する事により、外部アプリケーションに依らずに安定した解析結果を得ることができるため、PDL(記述言語)とは異なる粒度でのガマットマッピングの選択が可能となる。
【0101】
(第2実施形態)
第2実施形態では、第1実施形態との差分について説明する。第1実施形態では、PDLデータをビルダ処理する事で中間データに変換した。中間データを保持する事で、解析用と印刷用それぞれの解像度のレンダリング処理を実現していた。第1実施形態では、画像処理装置100内部で適切な解像度で画像解析を実施する事で処理速度を満たしつつ、外部のアプリケーションに依存しない安定した解析結果が得られた。第2実施形態では、中間データではなく、PDLデータの形式でデータを保持する構成について説明する。
【0102】
図11は、第2実施形態に係る画像処理装置の全体処理を説明するフローチャートである。なお、第2実施形態では、第1実施形態との差分について説明する。
【0103】
S1101でCPU204は、アプリケーションにより送信されたPDLデータを、PDL領域220から取得する。CPU204は、PDLデータをビルダ処理により解釈し、中間データを生成する。ここで、CPU204は、PDLデータをPDL領域220から削除せず、PDLデータを保持する。
【0104】
S302でCPU204は、中間データに基づいて、画像解析用レンダリングを実施する。S302ではS303の画像解析で必要な解像度で中間データのレンダリングを行う。中間データは、S1101で中間データ領域221に保存されていれば、レンダリング終了時点で削除される。
【0105】
S1102でCPU204は、PDL領域220からPDLデータを取得する。CPU204は、PDLデータをビルダ処理により解釈し、中間データを生成する。中間データの生成後、CPU204は、PDLデータをPDL領域220から削除する。
【0106】
S304でCPU204は、中間データに基づいて、印刷用レンダリングを実施する。S304ではS305の画像補正で必要な解像度でレンダリングを行う。中間データは、S1102時点で中間データ領域221に保存されていれば、レンダリング終了時点で削除される。
【0107】
第1実施形態とは異なる点は、画像解析処理中に保持するデータが、中間データ領域221の中間データではなく、PDL領域220のPDLデータとなる点である。
【0108】
第2実施形態では、PDLデータをメモリ(RAM205)内に保持しておき、画像解析時と印刷時の計2回、PDLデータへのレンダリングを実行する。第2実施形態は、第1実施形態と比較すると、中間データではなくPDLデータを保持しているため、更にメモリサイズを抑える効果を有する。
【0109】
(第3実施形態)
第3実施形態では、第1実施形態と第2実施形態との差分について説明する。第1実施形態では、PDLデータをビルダ処理によって中間データに変換し、中間データを保持した。第2実施形態では、PDLデータを保持し、解析用と印刷用それぞれの中間データを生成した。第3実施形態では、中間データとPDLデータではなく、ビットマップデータを保持する。
【0110】
図12は、第3実施形態に係る画像処理装置の全体処理を説明するフローチャートである。なお、第3実施形態では、第1実施形態と第2実施形態との差分について説明する。
【0111】
S1201でCPU204は、中間データを元にレンダリングを行う。レンダリング解像度は、解析用解像度(150dpi)よりも大きい印刷用解像度(600dpi)である。CPU204は、S301の終了時点でPDLデータを削除しても良く、S1201終了時点で中間データも削除して良い。CPU204は、600dpiのビットマップデータ(以下、印刷用画像データ)をビットマップデータ領域222に保持する。
【0112】
S1202でCPU204は、印刷用画像データを元に解析処理のために画像縮小を実施する。解析用画像データの解像度は、150dpiである。
【0113】
図13は、第3実施形態に係る印刷用画像データの縮小処理の一例を説明する図である。
【0114】
CPU204は、図13の600dpiの印刷用画像データから、4画素×4画素刻みで1画素を抜き取って150dpiの解析用画像データを生成する。なお、縮小方式は、画素を抜き取る方式に限定されない。例えば、画素の抜き取りではなく、4×4画素の平均値を出力値として出力することで、印刷用画像データの縮小を行っても良い。抜き取り処理は、処理速度の効率が良いという利点があるが、縮小画像生成処理に要求される処理速度目標と、解析処理で実施する解析内容による相性とに基づいて縮小方式を適宜決定すれば良い。縮小方式が抜き取り処理である場合、元画像(印刷用画像データ)の特徴が得られない事がある。例えば、元画像のコンテンツが、白と黒を特定の周波数で繰り返す場合に、抜き取り間隔の周波数および位相によっては抜き取り結果が白のみ又は黒のみになる事がある。解析処理の一環として、大域的な領域判別を行いたい場合、平均値縮小を実施して白と黒の中間値を出力する方が、元画像の領域の特徴を保持できる。
【0115】
一方で、印刷用画像データの4×4画素において画素最大値と画素最小値を出力する手段もあり得る。画素最大値を用いると、白(8bitにおける255)が黒(8bitにおける0)よりも優先的に出力される。出力時に元画像(600dpiのビットマップデータ)の網点・万線といった領域を抽出せず、4×4画素以上の大きさを持ったベタ領域のみを抽出する事を目的とした場合に、画素最大値を用いる手段は有効である。例えば、解析により量子化の閾値マトリクスを切り替えたい場合、量子化アルゴリズムがベタに対して粒状感と濃度を設計しやすいため、ベタのみを切り替え対象としたい事がある。
【0116】
画素最小値を用いると、黒が白よりも優先的に出力される。平均値と同様に大域的な領域判別を行いたい場合に有効であり、平均値に対して入力時の画素値が変更されない点が特徴的である。例えば、領域内が何色で構成されているかを解析する場合には、縮小画素値が平均処理によって変動する方式でなく、画素縮小値で出力する方が好ましい。
【0117】
CPU204は、印刷用画像データを縮小した解析用画像データを記録媒体上に保持する。CPU204は、印刷用画像データも記録媒体上で保持された状態を維持する。なお、解析用画像データが本方式のように抜き取り処理で生成可能なものである場合、S303において画像解析に使用する画素値を記録媒体から取得する際に、印刷用画像データから飛ばし読みする事でも処理は代替可能である。図12の説明に戻る。
【0118】
S305でCPU204は、600dpiの印刷用画像データを使用する。以上のように、第3実施形態では、レンダリング後の印刷用画像データをメモリ内に保持しておく。画像解析時には、印刷用画像データを解析に必要な解像度へ拡縮した解析用画像データを使用する。印刷時には、解析用画像データを補正する。第3実施形態は、第1実施形態に比べて、レンダリング処理を2度実施する事がないため、処理負荷を抑える効果を有する。第3実施形態は、第2実施形態に比べて、ビルド処理とレンダリングを2度実施する事がないため、処理負荷を抑える効果を有する。
【0119】
(第4実施形態)
第1実施形態の中間データは、CPU204のビルダ処理の結果として生成されるものであり、中間データはPDLデータを元に生成されるデータであることを説明した。中間データは、レンダラ部211のレンダリング処理を経由してビットマップデータとなることも説明した。第4実施形態では、中間データ生成時のRAM205の容量が不足した場合の「フォールバック処理」について説明する。
【0120】
<レンダリング処理中のフォールバック処理>
以下、フォールバック処理について説明する。中間データを生成する際、中間データの容量がある一定のデータ容量を超えた場合に、又は、中間データを処理するためのRAM205のワーク領域が一定のデータ容量を超えると判定した場合に、生成された中間データをレンダリングし、ビットマップデータを生成する。そして、これまで作成した中間データを削除する。このビットマップデータを描画領域の背景画像とし、背景画像を圧縮し、RAM205の容量を削減する。上記で説明した一連の処理がフォールバック処理である。
【0121】
その後、1ページ分の中間データが生成された時点で、圧縮された背景画像を伸長してビットマップデータに変換し、ビットマップデータに1ページ分の残りの中間データもレンダリングする。そして、最終的に1ページ分のビットマップデータを生成する。
【0122】
通常、上記の背景画像は圧縮されるため、追加される中間データの容量は元の中間データの容量よりも小さくなる。そこで、背景画像の圧縮により生じる空き領域に残りの中間データを生成することにより、限定されたRAM205の領域において大きなサイズの中間データを処理できる。
【0123】
<フォールバック処理時のフローチャート>
図14は、第4実施形態に係るビルダ処理時にフォールバック処理が発生した場合について説明するフローチャートである。
【0124】
S2001でCPU204は、図3のS301でビルダ処理が開始されると、PDLデータを、PDL領域220から取得する。そして、CPU204は、PDLデータを検査し、ページの先頭からビットマップデータを生成できるように、複数の描画コマンドを生成する。描画コマンドが1つにまとまったものを「描画コマンド群」と呼ぶ。描画コマンド群を含んだものが中間データとなる。
【0125】
S2002でCPU204は、PDLデータから1つずつ描画コマンドを生成する。
【0126】
S2003でCPU204は、中間データ領域221の空き容量を算出する。
【0127】
S2004でCPU204は、S2002で生成した描画コマンドを格納するための容量と、S2003で算出した空き容量とを比較し、中間データ領域221に描画コマンドを保存できるか否かを判定する。CPU204は、描画コマンドを中間データ領域221に保存できると判定した場合(S2004でYes)、処理をS2009へ進める。一方で、CPU204は、描画コマンドを中間データ領域221に保存できないと判定した場合(S2004でNo)、処理をS2005へ進める。最初の描画コマンド生成では、中間データ領域221に十分な空き容量があるため、描画コマンドを中間データ領域221へ保存する場合について先に説明する。
【0128】
S2009でCPU204は、描画コマンド群を中間データ領域221へ保存する。この際、CPU204は、同ページの描画コマンドがある場合、先の描画コマンドの続きに配置できるように新たに生成した描画コマンドを加え、描画コマンド群として配置する。
【0129】
S2010でCPU204は、中間データの生成が1ページ分完了したか否かを判定する。CPU204は、中間データの生成が1ページ分完了したと判定した場合(S2010でYes)、ビルダ処理を終了して、PDLデータをPDL領域220から削除する。一方で、CPU204は、中間データの生成が1ページ分完了していないと判定した場合(S2010でNo)、処理をS2002へ戻し、続きの描画コマンドの生成を行う。
【0130】
中間データの生成が1ページ分完了していない場合の説明を続ける。再度、S2002とS2003の処理を実行する。S2004でCPU204が中間データ領域221の空き容量が無い、又は、空き容量が少ないと判定した場合、処理をS2005へ進める。処理をS2005へ進める場合については、生成された描画コマンドに画像データの埋め込みがあるなど、容量が大きくなるコマンドが生成されている場合が多い。
【0131】
S2005でCPU204は、レンダラ部211に対して、中間データを用いて、ビットマップデータを生成するように指示する。レンダラ部211は、ビットマップデータの生成指示に基づき、中間データ領域221の描画コマンド群と、S2002で新たに生成した描画コマンドとを用いて、レンダリングし、ビットマップデータ領域222へビットマップデータを書き出す。このビットマップデータが「背景画像」となる。
【0132】
S2006でCPU204は、JPEGエンコーダ215に対して、S2005で生成したビットマップデータ(背景画像)をJPEG圧縮し、背景画像の圧縮データを生成するように指示する。
【0133】
S2007でCPU204は、背景画像の生成に使用した各種データを削除する。各種データは、具体的には、S2005で使用した描画コマンド群と描画コマンドと、S2005で生成したビットマップデータを含む。また、S2005で使用した描画コマンド群と描画コマンドの容量よりも、S2007で生成した背景画像の容量が小さい。そのため、各種データを削除することで、中間データ領域221に保存できなかった描画コマンドの容量を新たに確保することができる。背景画像の容量がS2005で使用した描画コマンド群と描画コマンドの容量よりも大きい場合、又は、背景画像の容量が所定の容量よりも大きい場合、S2006で用いる圧縮率を高くし、再度圧縮処理を実施してもよい。なお、各種データを「削除」すると説明したが、不要なデータの領域を空き領域として設定できればよく、不要なデータの領域に対してゼロデータを上書きする必要は無い。
【0134】
S2008でCPU204は、S2007で生成した背景画像を中間データ領域221へ保存し、処理をS2010へ進める。S2010でCPU204が中間データの生成完了が終了していないと判定し、処理がS2002へ進んだ場合について説明する。
【0135】
再度、S2002とS2003の処理を実行し、S2004でCPU204は中間データ領域221に空き容量があると判定した場合、処理をS2009へ進める。このとき、中間データ領域221には背景画像があるため、背景画像を上書きしないように描画コマンドを配置する。そして、中間データの生成が完了するか、描画コマンドを中間データ領域221へ保存できなくなるまで、上記の処理を繰り返す。
【0136】
再度、S2004でCPU204が描画コマンドを中間データ領域221へ保存できないと判定し、処理をS2005へ進めた場合を説明する。
【0137】
S2005でCPU204は、レンダラ部211に対して、中間データを用いて、ビットマップデータを生成するように指示する。レンダラ部211は、CPU204の指示に基づき、中間データ領域221における描画コマンド群と、S2002で新たに生成した描画コマンドと、圧縮された背景画像とを用いてレンダリングし、ビットマップデータ領域222へビットマップデータを書き出す。このとき、背景画像をJPEGデコーダ216で復号化するが、復号化された背景画像に対してレンダリングできれば、復号化の指示対象はCPU204でも良いし、レンダラ部211でも良い。
【0138】
続けて、S2006の処理を実行する。S2007では、削除対象の古い背景画像が増えるため、S2005で使用した描画コマンド群、描画コマンド、背景画像、及びS2005で生成したビットマップデータを削除する。S2008では、S2007で生成した背景画像を中間データ領域221へ再度保存する。その後、処理はS2010へ進み、中間データの生成処理がまだ完了していないと判定された場合、これまで説明した処理を行う。
【0139】
このように、フォールバック処理が発生した場合、最後に生成された背景画像と、削除されなかった描画コマンド群が中間データとして、中間データ領域221に保存される。
【0140】
第4実施形態のS302(画像解析用レンダリング)の処理について説明する。第1実施形態では、中間データを「読み出す」と説明したが、フォールバック処理が発生した場合、中間データには、描画コマンド群以外に、圧縮された背景画像が含まれる。そのため、CPU204は、レンダラ部211に対して、中間データ領域221の描画コマンド群と圧縮された背景画像を用いて、画像解析用レンダリングを実施させる。このとき、背景画像をJPEGデコーダ216で復号化するが、復号化された背景画像に対してレンダリングできれば、復号化の指示対象はCPU204でも良いし、レンダラ部211でも良い。
【0141】
第4実施形態のS304(印刷用レンダリング)の処理について説明する。第1実施形態では、中間データを「読み出す」と説明したが、フォールバック処理が発生した場合、中間データには、描画コマンド群以外に、圧縮された背景画像が含まれる。そのため、CPU204は、レンダラ部211に対して、中間データ領域221の描画コマンド群と圧縮された背景画像を用いて、画像解析用レンダリングを実施させる。このとき、背景画像をJPEGデコーダ216で復号化するが、復号化された背景画像に対してレンダリングできれば、復号化の指示対象はCPU204でも良いし、レンダラ部211でも良い。また、第1実施形態と同様に、レンダリング処理が全て終われば、CPU204は、この時点で中間データを中間データ領域221から削除できる。
【0142】
<フォールバック処理時の中間データの説明>
図15は、図14の処理において各状態の中間データの内容を説明する図である。
【0143】
表2100の横軸は中間データの状態(状態1~状態5)を示す。中間データは、描画コマンド群と背景画像のことを表す。表2100は、中間データの描画コマンド群と背景画像がどのように生成され、削除されるかを示す。以下、各状態においてどのような中間データが中間データ領域221へ格納されているかを説明する。
【0144】
状態1は、図14の最初のS2004で中間データ領域221に空き容量がある時に第1の描画コマンド群を生成し、第1の描画コマンド群を中間データ領域221へ格納した状態である。中間データ領域221には、中間データとして背景画像は存在せず、複数の描画コマンドの集まりである第1の描画コマンド群が存在する。
【0145】
状態2は、状態1を維持しつつ次のS2004で中間データ領域221に空き容量が無い時にフォールバック用のレンダリング処理を実施し、圧縮された背景画像(第1の背景画像)を中間データ領域221へ格納した状態である。なお、第1の背景画像を生成したので、第1の描画コマンド群は、中間データ領域221から削除されている。
【0146】
状態3は、状態2を維持しつつ次のS2004で中間データ領域221に空き容量がある時に第2の描画コマンド群を生成し、第2の描画コマンド群を中間データ領域221に格納した状態である。そのため、中間データ領域221には、第1の背景画像と、第2の描画コマンド群とが存在する。
【0147】
状態4は、状態3を維持しつつ次のS2004で空き容量が無い時にフォールバック用のレンダリング処理を実施し、圧縮された背景画像(第2の背景画像)を中間データ領域221へ格納した状態である。なお、第2の背景画像を生成したので、第1の背景画像と第2の描画コマンド群は、中間データ領域221から削除されている。
【0148】
状態5は、状態4を維持しつつS2004で空き容量がある時に第3の描画コマンド群を生成し、第3の描画コマンド群を中間データ領域221に格納した状態である。そのため、中間データ領域221には、第2の背景画像と、第3の描画コマンド群とが存在する。そして、CPU204は、状態5で中間データが完成した場合、状態5の中間データを使って、画像解析用レンダリングと印刷用レンダリングを行う。
【0149】
以上のように、第4実施形態では、ビルダ処理時に中間データを生成する際の容量が大きくなり、フォールバック処理が発生した場合、描画コマンドと背景画像を含んだ中間データを生成する。これにより、第4実施形態は、PDLデータの内容に依存せず、第1実施形態と同様に画像解析用レンダリング、印刷用レンダリング、及び画像補正を行うことができる。
【0150】
(その他の実施形態)
第1実施形態から第4実施形態では、マッピングテーブルを選択するための解析処理および色設計テーブルの個別適用の補正処理を一例として説明した。しかし、画像の解析処理及び補正処理を構成するシステムにおいて、本発明は効果を発揮するものであるが、画像の解析処理及び補正処理に限定されない。例えば、元画像におけるベタ領域とそれ以外の領域とを判別する解析処理を実施し、解析結果に応じて量子化の閾値マトリクスを切り替えても良い。ベタを判定する際には、図13の説明でも述べたが、画像縮小時の縮小方式で画素最大値を選択する事で、網点や万線を簡易的に除去する事が出来る。縮小時の除去手段においては縮小ウインドウのサイズに制限があるが、縮小画像に対する解析においては更に広い領域を対象としてベタを判定する事も可能である。閾値マトリクスは、ベタ領域に対しては領域内に分散的にドットを配置し、粒状性と入力時点の濃度を保持するようなマトリクスを選択できる。非ベタ領域に対しては粒状性よりも形状を優先してドットを集中的に配置するマトリクスを選択できる。
【0151】
上記の実施形態では、シリアル型の画像処理装置100を説明したが、特徴および構成が同様であれば、これに限定されない。画像処理装置100は、ラインヘッドを用いてもよいし、シリアル型を縦に並べたような構成であってもよい。
【0152】
さらに、上述の実施形態では、インクジェットプリンタとして説明していたが、特徴及び構成が同様であれば、これに限定されない。例えば、トナーを用いたレーザプリンタであってもよいし、複写機であってもよい。
【0153】
さらに、上述の実施形態では、単にPDLと記載しているが、ビルダ処理にて中間データを生成できるPDLであれば、PostScriptとPDFなどでもよく、プリンタメーカ独自のPDLでもよい。
【0154】
さらに、上述の実施形態では、画像処理部207内にレンダラ部211や解析部212などを搭載したハードウェア処理部のように記載しているが、本実施形態で説明している各フローチャートの処理を実現できれば、画像処理部207内の一部の処理をCPU204が処理してもよい。例えば、レンダラ部211と解析部212の処理は、CPU204によるソフトウェア処理であっても良い。
【0155】
さらに、上述の実施形態では、PDL領域220、中間データ領域221、ビットマップデータ領域222、及び補正データ領域223をRAM205に配置したが、書き換え可能な記憶デバイスであれば、RAM205に限定しない。例えば、RAM205とは別のHDDとeMMCが、PDL領域220から補正データ領域223を全部又は一部を有しても良い。
【0156】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0157】
本明細書の開示は、以下の画像処理装置、画像処理方法、及びプログラムを含む。
(項目1)
PDLデータに基づいて中間データを生成する第1生成手段と、
前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する第2生成手段と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得手段と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正手段と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化手段と、を備える、
ことを特徴とする画像処理装置。
(項目2)
前記第1ビットマップデータの解像度は、前記第2ビットマップデータの解像度よりも低い、
ことを特徴とする項目1に記載の画像処理装置。
(項目3)
前記ガマットマッピングテーブルは、知覚的マッピングテーブルと測色的マッピングテーブルとを含む、
ことを特徴とする項目1又は2に記載の画像処理装置。
(項目4)
前記補正手段は、前記取得手段が前記ガマットマッピングテーブルを取得した後、前記第1ビットマップデータを削除し、前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する、
ことを特徴とする項目1から3のいずれか一項目に記載の画像処理装置。
(項目5)
前記PDLデータを保持する第1保持手段をさらに備え、
前記第1生成手段は、前記第1保持手段によって保持されているPDLデータに基づいて、前記中間データを生成し、
前記第2手段は、生成された前記中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする項目1から4のいずれか一項目に記載の画像処理装置。
(項目6)
前記第1生成手段によって生成された中間データを保持する第2保持手段をさらに備え、
前記第2生成手段は、前記第2保持手段によって保持されている中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする項目1から5のいずれか一項目に記載の画像処理装置。
(項目7)
前記第2生成手段は、前記第2保持手段が前記中間データの一部である第1中間データ群を保持し、かつ、前記第2保持手段が前記第1中間データ群よりも後に受信する第2中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第1中間データ群と前記第2中間データ群とに基づいて、第1背景画像を生成し、
前記第2保持手段は、前記第1中間データ群を削除し、前記第1背景画像を保持する、
ことを特徴とする項目6に記載の画像処理装置。
(項目8)
前記第2保持手段は、前記第2中間データ群よりも後に受信する第3中間データ群の容量が前記第2保持手段の空き容量を超えない場合、前記第1背景画像と前記第3中間データ群とを保持する、
ことを特徴とする項目7に記載の画像処理装置。
(項目9)
前記第2生成手段は、前記第2保持手段が前記第3中間データ群よりも後に受信する第4中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第3中間データ群と前記第4中間データ群とに基づいて、前記第1背景画像とは異なる第2背景画像を生成し、
前記第2保持手段は、前記第1背景画像と前記第3中間データ群とを削除し、前記第2背景画像を保持する、
ことを特徴とする項目8に記載の画像処理装置。
(項目10)
前記第2生成手段は、前記第2保持手段の最終保持結果に基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする項目7から9のいずれか一項目に記載の画像処理装置。
(項目11)
前記第1背景画像と前記第2背景画像とに対して画像圧縮処理を行う圧縮処理手段と、
画像圧縮処理された前記第1背景画像と前記第2背景画像とを復号する復号化手段と、をさらに備える、
ことを特徴とする項目9に記載の画像処理装置。
(項目12)
前記第2生成手段は、前記中間データに基づくレンダリングにより前記第1ビットマップデータを生成し、生成した前記第1ビットマップデータを用いて、所定の画像処理により前記第2ビットマップデータを生成する、
ことを特徴とする項目1から11のいずれか一項目に記載の画像処理装置。
(項目13)
前記所定の画像処理は、前記第2ビットマップデータのサイズを縮小する処理である、
ことを特徴とする項目12に記載の画像処理装置。
(項目14)
PDLデータに基づいて中間データを生成する第1生成工程と、
前記中間データに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する第2生成工程と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得工程と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正工程と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化工程と、を備える、
ことを特徴とする画像処理方法。
(項目15)
コンピュータを項目1から13のいずれか一項目に記載の画像処理装置として機能させるためのプログラム。
【0158】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0159】
201:ホストコンピュータ
202:コントローラ
203:ROM
204:CPU
205:RAM
206:ホストIF制御部
207:画像処理部
208:ヘッドIF制御部
209:ヘッド制御部
210:印字データ
211:レンダラ部
212:解析部
213:補正部
214:量子化部
215:JPEGエンコーダ
216:JPEGデコーダ
220:PDL領域
221:中間データ領域
222:ビットマップデータ領域
223:補正データ領域
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8
図9
図10
図11
図12
図13
図14
図15
【手続補正書】
【提出日】2024-04-25
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本発明の目的を達成するために、本発明の一実施形態に係る画像処理装置は、PDLデータに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する生成手段と、前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得手段と、前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正手段と、補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化手段と、を備える、ことを特徴とする。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
PDLデータに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する生成手段と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得手段と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正手段と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化手段と、を備える、
ことを特徴とする画像処理装置。
【請求項2】
前記生成手段は、前記PDLデータに基づいて中間データを生成し、
前記生成手段は、前記中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1ビットマップデータの解像度は、前記第2ビットマップデータの解像度よりも低い、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記ガマットマッピングテーブルは、知覚的マッピングテーブルと測色的マッピングテーブルとを含む、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記補正手段は、前記取得手段が前記ガマットマッピングテーブルを取得した後、前記第1ビットマップデータを削除し、前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記PDLデータを保持する第1保持手段をさらに備え、
記生成手段は、前記第1保持手段によって保持されているPDLデータに基づいて、中間データを生成し、
記生成手段は、生成された前記中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
記生成手段によって生成された中間データを保持する第2保持手段をさらに備え、
記生成手段は、前記第2保持手段によって保持されている中間データに基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項8】
記生成手段は、前記第2保持手段が前記中間データの一部である第1中間データ群を保持し、かつ、前記第2保持手段が前記第1中間データ群よりも後に受信する第2中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第1中間データ群と前記第2中間データ群とに基づいて、第1背景画像を生成し、
前記第2保持手段は、前記第1中間データ群を削除し、前記第1背景画像を保持する、
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記第2保持手段は、前記第2中間データ群よりも後に受信する第3中間データ群の容量が前記第2保持手段の空き容量を超えない場合、前記第1背景画像と前記第3中間データ群とを保持する、
ことを特徴とする請求項8に記載の画像処理装置。
【請求項10】
記生成手段は、前記第2保持手段が前記第3中間データ群よりも後に受信する第4中間データ群の容量が、前記第2保持手段の空き容量を超える場合、前記第3中間データ群と前記第4中間データ群とに基づいて、前記第1背景画像とは異なる第2背景画像を生成し、
前記第2保持手段は、前記第1背景画像と前記第3中間データ群とを削除し、前記第2背景画像を保持する、
ことを特徴とする請求項9に記載の画像処理装置。
【請求項11】
記生成手段は、前記第2保持手段の最終保持結果に基づいて、前記第1ビットマップデータと前記第2ビットマップデータとを生成する、
ことを特徴とする請求項8に記載の画像処理装置。
【請求項12】
前記第1背景画像と前記第2背景画像とに対して画像圧縮処理を行う圧縮処理手段と、
画像圧縮処理された前記第1背景画像と前記第2背景画像とを復号する復号化手段と、をさらに備える、
ことを特徴とする請求項10に記載の画像処理装置。
【請求項13】
記生成手段は、前記中間データに基づくレンダリングにより前記第1ビットマップデータを生成し、生成した前記第1ビットマップデータを用いて、所定の画像処理により前記第2ビットマップデータを生成する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項14】
前記所定の画像処理は、前記第2ビットマップデータのサイズを縮小する処理である、
ことを特徴とする請求項13に記載の画像処理装置。
【請求項15】
PDLデータに基づいて、第1ビットマップデータと、前記第1ビットマップデータとは異なる第2ビットマップデータとを生成する生成工程と、
前記第1ビットマップデータの解析結果に基づいて、前記第2ビットマップデータを印刷色域に対応付けるガマットマッピングテーブルを取得する取得工程と、
前記ガマットマッピングテーブルに基づいて、前記第2ビットマップデータを補正する補正工程と、
補正された前記第2ビットマップデータに基づいて量子化画像データを生成する量子化工程と、を含む、
ことを特徴とする画像処理方法。
【請求項16】
コンピュータを請求項1から14のいずれか一項に記載の画像処理装置として機能させるためのプログラム。