JP2020175597A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2020175597A JP2020175597A JP2019079784A JP2019079784A JP2020175597A JP 2020175597 A JP2020175597 A JP 2020175597A JP 2019079784 A JP2019079784 A JP 2019079784A JP 2019079784 A JP2019079784 A JP 2019079784A JP 2020175597 A JP2020175597 A JP 2020175597A
- Authority
- JP
- Japan
- Prior art keywords
- color
- image data
- specific
- specific color
- image processing
- 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.)
- Pending
Links
Images
Landscapes
- Color Image Communication Systems (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
Abstract
【課題】特定色が含まれる画像データを印刷する際に、特定色を正確に再現できる。【解決手段】第1の色空間で表現された第1の画像データであって、特定色の画素を含む前記第1の画像データを、色変換情報に基づいて、第2の色空間で表現された第2の画像データに色変換する際に、前記第2の色空間における前記特定色の位置と、印刷装置の前記第2の色空間における色域との関係に基づいて、前記特定色の画素の画素値または前記色変換に用いられる色変換情報を調整する。【選択図】図13
Description
本発明は、印刷装置において再現が困難である色を印刷する技術に関する。
中国の公的文書である紅頭文件で使用される金光紅(チャイナレッド)という特殊な赤色やコーポレートカラー等の特定色は、プリンタの色域外である場合がある。したがって、そのような特定色を含む画像データを印刷した場合、原稿の色を正確に再現できない可能性がある。そこで、原稿を複合機等のスキャナで読み取って画像データを生成する際に、色域をプリンタやディスプレイ等の出力デバイスの色域に圧縮した画像データを生成し、原稿に近い色を印刷時に再現できるようにする技術が提案されている(特許文献1参照)。
しかし、上記のような色域の圧縮を行なうと、特定色が本来有する色味が別の色味に変化してしまう可能性がある。よって、特許文献1に記載の技術では、原稿に含まれる特定色を正確に再現できない可能性がある。
そこで、本発明は、特定色が含まれる画像データを印刷する際に、特定色を正確に再現できるようにすることを目的とする。
本発明による画像処理装置は、第1の色空間で表現された第1の画像データであって、特定色の画素を含む前記第1の画像データを、色変換情報に基づいて、第2の色空間で表現された第2の画像データに色変換する変換手段と、前記色変換の際に、前記第2の色空間における前記特定色の位置と、印刷装置の前記第2の色空間における色域との関係に基づいて、前記特定色の画素の画素値または前記色変換に用いられる色変換情報を調整する調整手段と、を備えることを特徴とする。
本発明によれば、特定色が含まれる画像データを印刷する際に、特定色を正確に再現できる。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態において示す構成は一例であり本発明は図示された構成に限定されるものではない。
[実施形態1]
図1は、第1実施形態にかかるMFP(Multi Function Peripheral)100を備えるシステムの一例を示す図である。図1に示すシステムは、印刷装置の一例であるMFP100と、情報処理装置であるパーソナルコンピュータ(PC)200とを備える。MFP100は、LAN(Local Area Network)300を介してPC200に接続されている。なお、本実施形態ではLAN300を介してMFP100とPC200が接続されているが、これに限るものではない。例えばインターネットを介してMFP100とPC200が接続されていてもよい。また、MFP100にはLAN300を介して複数のPCが接続されていてもよい。
図1は、第1実施形態にかかるMFP(Multi Function Peripheral)100を備えるシステムの一例を示す図である。図1に示すシステムは、印刷装置の一例であるMFP100と、情報処理装置であるパーソナルコンピュータ(PC)200とを備える。MFP100は、LAN(Local Area Network)300を介してPC200に接続されている。なお、本実施形態ではLAN300を介してMFP100とPC200が接続されているが、これに限るものではない。例えばインターネットを介してMFP100とPC200が接続されていてもよい。また、MFP100にはLAN300を介して複数のPCが接続されていてもよい。
図2は、MFP100のハードウェア構成の一例を示す図である。MFP100は、CPU101、ROM102、RAM103、HDD104、プリンタ105、スキャナ106、ネットワークI/F(Interface)107、及び操作部108を備える。またMFP100は、RIP(Raster Image Processor)109を備える。
CPU101は、MFP100を構成する各種ハードウェア104〜108の制御を行うことで、MFP100が備える各機能を実現する。なおCPU101はバスライン110により各種ハードウェアに信号を送り、他のハードウェアと相互にデータ通信を行う。
ROM102は、CPU101が使用するプログラムや各種データを格納する。RAM103は、プログラムや、CPU101が演算に用いるデータを一時的に格納するためのワークメモリである。HDD104は、各種データや各種プログラム等を記憶する。本実施形態のMFP100は補助記憶装置としてHDD104を使用することを例として説明するが、補助記憶装置はSSD(Solid State Drive)などの不揮発性メモリを用いても良い。
プリンタ105は、プリント機能を実現するユニットであって、PC200から送信された印刷ジョブに含まれる文書ファイルに基づいて画像を用紙に印刷する処理を行う。スキャナ106は、スキャン機能を実現するユニットであって、原稿を光学的に読み取り画像データに変換する処理を行う。
CPU101は、MFP100内の制御プログラムに従ってMFP100の動作を制御する。より詳細には、MFP100の制御を行うオペレーティングシステム(OS)と、ハードウェアインタフェースを制御するためのドライバプログラムをCPU101が実行する。そしてOS上に配置されたアプリケーションプログラム等が相互に動作することにより、ユーザの所望する機能の動作、制御が行われる。これらのOSや各種プログラムはROM102に記憶されており、ROM102からRAM103に読み出されたプログラムはCPU101によって実行される。
ネットワークI/F107は有線接続用のLAN I/Fであってもよいし、USB(Universal Serial Bus)−LANアダプタで接続されてもよい。また、ネットワークI/F107は、無線接続用のLAN I/Fであってもよい。ネットワークI/F107はLAN300を介してPC200に接続されている。
操作部108は、MFP100を利用するユーザがプリンタ105やスキャナ106などを利用するためのユーザインタフェースであり、例えばタッチパネルとして操作や入力を受け付ける。また、操作部108は、MFP100の情報を表示する表示部としても使用することができる。なお、操作装置や表示装置がMFP100の外部に接続されていてもよい。
RIP109はページ記述言語(Page Description Language:PDL)をラスタイメージに展開するラスタライズ処理を行うためのハードウェアモジュールである。なお、本実施形態ではRIP109がハードウェアとして組み込まれている例を説明するが、RIP109がソフトウェアとしてROM102に格納されていてもよい。
図3は、MFP100のソフトウェア構成の一例を示す図である。MFP100は、コピー部301、スキャン部302、プリント部303、印刷用イメージ作成部304、特定色検出部305、プロファイル生成部306、プリント機能設定部307、及び領域分割処理部308を含む。各モジュール301〜308はROM102に記憶されており、ROM102からRAM103に読み出され、CPU101が実行する。また、モジュール304,305,306,308は画像処理を行なうモジュールであり、CPU101がそれらのモジュールを実行することで、MFP100は画像処理装置としても機能する。
コピー部301は、スキャナ106とプリンタ105とを制御し、原稿を読み取って生成した画像データに基づいて用紙に画像を印刷するコピー処理を行う。スキャン部302は、スキャナ106を制御して、原稿を読み取って画像データを生成するスキャン処理を行う。プリント部303は、プリンタ105とRIP109とを制御して、ネットワークI/F107を介して受信したPDL等で記述された印刷ジョブをHDD104に格納し、印刷ジョブに含まれる印刷設定情報等に基づいて印刷を行う。プリント機能設定部307は、ユーザにより操作部108を介して入力される情報に基づきプリント部303の設定を行なう。領域分割処理部308は、後述する領域分割判定処理を実行する。
印刷用イメージ作成部304は、印刷ジョブによってHDD104に保存された文書ファイルからプリンタ105で印刷可能な色の画像データを作成する。印刷用イメージ作成部304の詳細については、図5を用いて後述する。特定色検出部305は、後述する選択領域に特定色があるかを検出する。特定色検出部305の詳細については、図6を用いて後述する。プロファイル生成部306は、特定色が使用された文書ファイルを印刷するための色変換情報であるカラープロファイルを生成する。プロファイル生成部306については、図13を用いて後述する。ここで、特許文献1に記載されるような複合機において、プリンタの色域外である特定色が使用された文書ファイルを印刷する際に生じる課題について説明する。
画像を適切な色で印刷するために文書ファイルにICCプロファイルが添付されていたとしても、その文書ファイルにプリントの色域外の特定色が含まれている場合がある。このとき、複合機は色域内の色しか印刷できないため、一般的に、カラープロファイルの色変換テーブルを圧縮する手法が用いられる。しかし、そのような手法により色域の圧縮を行なうと、上述したように特定色が本来有する色味が別の色味に変化してしまう。そこでこのような課題に対して本実施形態では、以下で説明する処理を実行することで、特定色を意図した色にできるだけ近い色で出力できるようにする。なお、色域とは印刷装置が再現できる色の領域を指す。色域内の色とは、例えばプリンタ105が印刷可能な色である。また、色域外の色とは、プリンタ105が印刷できない色である。
図4は、MFP100のプリント処理のフローチャートである。CPU101がROM102に記憶されたプログラムをRAM103に読み出し実行することで、図4に示す一連の処理が実現される。なお、説明の簡単のため、ここでは1ページ分の情報を含む文書ファイルを処理する場合を例にする。文書ファイルが複数ページ分の情報を含んでいる場合には、図4に示すS402〜S406の処理を各ページに対して繰り返し実行すればよい。また、MFP100のHDD104には通常の印刷で用いるカラープロファイルとともに、特定色用のカラープロファイルが保存されているものとする。特定色用のカラープロファイルについては、図11を用いて後述する。
S401において、CPU101はHDD104から文書ファイルをRAM103に読み込み、読み込んだ文書ファイルの内容を解析する。例えば、PDFなどの文書ファイルにおける、1ページ分の情報は、ビットマップ画像や文字のフォント情報、グラフィックの描画情報を保持するレイヤ構造となっている。それらレイヤを合成したものが1ページ分の文書画像となる。なお、ページが複数ある場合には、複数ページ分の情報が1つの文書ファイルとしてまとめられている。CPU101はS401で、文書ファイルから文書画像を生成するためのすべての情報を取り出して、RAM103に保持しておく。
S402において、CPU101はS401で解析した文書ファイルを、レイヤ毎に分割する。1ページは、1つ以上のレイヤで構成されていて、複合機のプリント機能では、一般的にはレイヤ毎に処理が行われる。
次いで、CPU101は、S403〜S405の処理をレイヤ毎に実施する。そして、CPU101は、全てのレイヤを処理し終えると、S406に移行する。まず、S403において、CPU101は、全てのレイヤを処理し終えたかどうかを確認する。処理するレイヤが残っている場合には(S403 NO)、S404において、CPU101は、処理するレイヤを選択する。そして、S405において、CPU101は、S404で選択したレイヤ(以下、選択レイヤと呼ぶ)について、印刷用イメージを作成する。ここで、S405の処理(印刷用イメージ作成処理)について、図5を用いて説明する。図5は、S405の印刷用イメージ作成処理のフローチャートである。CPU101は、ROM102に記憶されたプログラムをRAM103に読み出して実行することで、図5に示す一連の処理を実現する印刷用イメージ作成部304として機能する。
S501において、CPU101は文書ファイル全体で指定されているカラープロファイルや、選択レイヤにカラープロファイルが添付されているかを確認する。カラープロファイルが文書ファイルや選択レイヤに添付されていれば(S502 YES)、CPU101はS503に処理を進める。カラープロファイルが文書ファイルや選択レイヤに添付されていなければ(S502 NO)、CPU101はS505に処理を進める。S503において、CPU101は印刷時の動作モードを操作部108から取得する。そして、S504において、CPU101は、取得した動作モードを確認する。図6には、操作部108に表示される動作モード設定画面の一例が示されている。図6に示す例では、3つの選択肢が画面上に表示されている。なお、本実施形態では、デフォルト設定として「自動」が選択されているものとする。
図6において「MFPのカラープロファイルを優先」の文字列で示される設定601は、MFP100に登録されているカラープロファイルを利用して色変換を行う設定である。設定601は、文書ファイル側で色変換が指定されていたとしても、MFP100に登録されている前述したカラープロファイルを利用する設定である。設定601が選択された場合には、CPU101はS505に処理を進める。S505において、CPU101は、MFP100のHDD104などの記憶装置にインストールされているカラープロファイルを利用して、選択レイヤを印刷が可能な色に変換する。なお、MFP100に登録されているカラープロファイルには、MFP100の製造者によってインストールされたカラープロファイルや、MFP100のユーザがアプリケーション等で作成してイントールしたカラープロファイルが含まれる。それらのカラープロファイルが複数登録されている場合は、MFP100のユーザがMFP100を操作して選択することが可能である。当然、特定色で印刷したい場合には、ユーザは特定色用のカラープロファイルを手動で選択することが可能である。
図6において「文書ファイルのカラープロファイルを優先」の文字列で示される設定602は、文書ファイルに添付されたプロファイル、又は文書ファイル内の各レイヤに添付されたプロファイルを利用して色変換を行う設定である。設定602が選択されている場合には、CPU101はS506に処理を進める。S506において、CPU101は文書ファイルや選択レイヤに添付されたカラープロファイルを利用して、選択レイヤを印刷が可能な色に変換する。
図6において「自動」の文字列で示される設定603は、自動的に最適なプロファイルを生成して色変換を行う設定である。設定603が選択された場合には、CPU101はS507に処理を進める。S507において、CPU101は特定色が文書ファイルに存在するかを判定する。ここで、S507の処理(特定色判定処理)について、図7を用いて説明する。
図7は、S507の特定色判定処理のフローチャートである。CPU101がROM102に記憶されたプログラムをRAM103に読み出して実行することで、図7に示す一連の処理が実現される。S701において、CPU101は、以降の処理を写真や文字などのオブジェクト単位で実行するために、画像データを分割する。
ここで、文書ファイルの2種類の構成について説明する。図8は、文書ファイルの構成を説明するための図である。図8(a)に示す画像800は文書画像の一例であり、図8(b)(c)に示す画像データ810,820は、画像800を示す画像データの一例である。画像データ810は、全体が写真レイヤ811で構成されている。画像データ810は、例えばJPEG形式である。また、画像データ820は、画像データ810と同様の印刷結果(画像800)が得られるが、1ページが複数のレイヤで構成されていて、2つの文字レイヤ821,822と写真レイヤ823の3つのレイヤを含む。2つの文字レイヤ821,822は、文字フォントの色情報と大きさ、位置情報が各文字レイヤ内に記載されている。なお本実施形態では、文字レイヤについても、適宜、文字領域として表現する。
S701の説明に戻る。例えば、図8(b)に示すように、処理対象となるレイヤが写真レイヤだけであった場合、CPU101は、写真レイヤを画像データに変換し、領域分割判定処理を行う。ここで、領域分割判定処理について説明する。まず、CPU101は画像データを超低解像度の画像データに変換する。このときCPU101は、線形補間演算などを利用することで情報が残りやすいように変換する。例えば、図8(b)に示す画像データ810が600dpiの解像度であったとすると、画像データ810は、75dpi程度の超低解像度の画像データに変換される。すると、大きなスペースが存在する領域のみが白くなり、他の領域は白以外の値になる。よって、画像データ810内の文字領域では、文字間が白以外の値になる。この状態で、グラフカットなどのアルゴリズムによるクラスタリング処理を実施することで、領域が分割される。図8(d)は、領域分割の概念図であり、領域A〜Cは画像データを分割して得られた領域である。領域A(領域831)は文字領域812に対応し、領域B(領域832)は文字領域813に対応し、領域C(領域833)は写真領域814に対応する。また、CPU101は、元の解像度の画像データを用いて、領域A〜Cが文字なのか写真なのかを判断する。例えば、画像データの各領域についてDFT(デジタルフーリエ変換)を用いて周波数に変換し、文字が有する中周波から高周波の情報が領域に含まれていれば、その領域を文字領域と判断することができる。このようにS701の領域分割判定処理では、CPU101が画像データを分割し、さらに分割して得られた領域ごとに文字領域または写真領域であるかの判定を行なう。図8(b)に示す例では、特定色の「特許文献」という文字801が文字領域812として判定され、黒色の文字で記載された文章802が文字領域813として判定されている。さらに、写真803が写真領域814として判定されている。また、図8(c)に示すような文書ファイルにおいて、選択レイヤが文字レイヤ821,822であった場合には、領域分割をせずにS702に処理を進めることができる。
S702において、CPU101はS701で分割された領域のうち、1つの領域を選択する。なお、ここでは、後述するS703〜S707の処理がまだ適用されていない領域が選択されるものとする。また、このとき選択された領域を選択領域と呼ぶ。S703において、CPU101はS702で選択した領域が文字領域又は文字レイヤであるかを判定する。文字領域または文字レイヤであると判定した場合(S703 YES)、CPU101はS704に処理を進める。そうでない場合、つまり、文字領域以外の領域又は文字レイヤ以外のレイヤであると判定した場合(S703 NO)、CPU101はS707に処理を進める。S704において、CPU101はS702で選択した領域に含まれる特定色を検出する。ここで、S704の処理(特定色検出処理)について説明する。
図9は、S704の特定色検出処理のフローチャートである。CPU101は、ROM102に記憶されたプログラムをRAM103に読み出して実行することで、図9に示す一連の処理を実現する特定色検出部305として機能する。
S901において、CPU101は文書ファイルまたは選択レイヤに添付されているカラープロファイルの記述を確認する。例えば、カラープロファイルの国際規格であるICCプロファイルでは、出力プロファイルのDescriptionタグなど、文字列を記述できる領域が作成できる。このような文字列が記載可能な領域に“Special Color”や“Lab 100/50/10”など、特定色用のカラープロファイルであることが分かる記述が記載されている場合がある。カラープロファイルに特定色の情報を見つけることができれば(S902 YES)、CPU101はS912に処理を進めて、S912において特定色ありと判断する。一方、カラープロファイルに特定色の記述が見つからなければ(S902 NO)、CPU101はS903に処理を進める。
S903において、CPU101は、現在処理しているレイヤが写真レイヤであるかを確認する。現在処理しているレイヤが写真レイヤであれば(S903 YES)、S904において、CPU101はヒストグラムの最頻値から色値を検出する。以下、検出された色値を検出色値と呼ぶ。また、検出色値が示す色を検出色と呼ぶ。例えば、現在処理しているレイヤが図8(b)に示す写真レイヤ811であるとした場合、JPEG形式の画像データ810内の文字のRGB値を検出する。S904の処理では、まずCPU101は、現在処理しているレイヤのRGBヒストグラムを生成する。次いでCPU101は、生成したRGBヒストグラムの各成分から、ピーク値(最頻値)を導出する。そしてCPU101は、生成したRGBヒストグラムの各成分から導出したピーク値(最頻値)を文字領域の検出色値として取得する。RGBヒストグラムとは、RGBの各成分において、ある画素値を含む画素の数をグラフにして表したものである。RGBヒストグラムの一例を図10に示す。図10は、RGBヒストグラムの一例を示す図である。図10(a)には、特定色(金光紅)のRGBヒストグラムの一例が示されている。ヒストグラム1001〜1003は図8(b)に示す文字領域812のRGBヒストグラムを示しており、特定色(金光紅)のRGBヒストグラムである。横軸は画素値を示しており、縦軸は各画素値における画素数(出現頻度)を示している。ヒストグラム1001〜1003の最頻値は(R,G,B)=(255,50,70)となる。図10(b)には、黒文字部のRGBヒストグラムの一例が示されている。ヒストグラム1004〜1006は図8(b)に示す文字領域813のRGBヒストグラムを示しており、黒色のRGBヒストグラムである。ヒストグラム1004〜1006の最頻値は(R,G,B)=(15,15,15)となる。なお、これらのヒストグラムは文字の背景の色を排除して生成される。文字の背景の色を排除するには、例えば、2値化処理によって作成した2値画像によってマスクデータを作り、マスクされた画素(文字の画素)のみを対象にヒストグラムを作成すればよい。
現在処理しているレイヤが写真レイヤではなく、文字レイヤであった場合は(S903 NO)、S906において、CPU101は、レイヤ内に記載されている色に関する記述を参照する。例えば、現在処理しているレイヤが図8(c)に示す文字レイヤ821や文字レイヤ822である場合は、オブジェクトが利用する色値(例えばRGB値)がレイヤ内に直接記述されているため、色値の検出を行う必要がない。よって、その場合は、CPU101はレイヤ内に直接記述されている色値を検出する。文字レイヤは1つの色値で描画されるため、写真レイヤの様にヒストグラムを取らずに、レイヤ内に直接記述されている色値を検出色値とすることができる。
S904又はS906の後、S905において、CPU101はS904又はS906で検出したRGBの色値を文書ファイル又は選択レイヤに添付されているカラープロファイルでデバイス非依存の色空間の色値に変換する。本実施形態では、RGBの色値をCIELab(以下、単にLabと記す)値に変換する。
S907において、CPU101はMFP100に登録されている特定色の値の1つを読み込む。登録されている特定色のリスト(以下、特定色リストと呼ぶ)の例を図11に示す。図11に示す特定色リストには、2つの特定色#1,#2に関係する情報(以下、特定色情報と呼ぶ)が登録されている。「特定色の値」1101には、特定色の本来の色値が登録される。特定色#1では、「特定色の値」1101としてLab空間における位置である(L,a,b)=(90,25,30)が設定されている。また、特定色#1はプリンタ色域外でありMFP100で印刷することができないため、印刷時に適用される値である「印刷の値」1102が登録されている。図11に示す例では、「印刷の値」1102としてLab空間における位置である(L,a,b)=(80,25,30)が設定されている。「特定色の値」1101は工場出荷時にあらかじめ設定されていてもよいし、ユーザにより操作部108を介して設定できてもよい。「カラープロファイル名」1104には、特定色用のカラープロファイルの名称が登録される。なお、「印刷条件」1103は、後述する第2実施形態の特定色検出処理で参照される情報であるため、本実施形態においては特定色リストに含まれていなくても良い。
S908において、CPU101は、S907で読み込んだ「特定色の値」1101と、S905でLab値に変換した検出色値とを比較して、差分(色差)を求める。ここでは、一般的なユークリッド距離による色の比較が行なわれるものとするが、色の比較方法としてその他の方法が用いられても良い。S909において、CPU101はS908で求めた色差と閾値とを比較する。例えば、ユークリッド距離による色差判定では、3.0程度であれば十分に近いと判断できるため、閾値として3.0が設定されるものとする。なお、ユークリッド距離以外にも、色相を重要視して判断することも考えられる。例えば、Labのabをベクトルとした角度(色相角)を求め、1度を閾値として、求めた色相角の誤差が1度未満である場合に、色が近いと判断してもよい。
文書ファイル等に添付されているカラープロファイルに、印刷するときのLab値が設定されている場合、プリンタの色域が狭いと、本来の色値が適用されずに、プリンタで印刷可能な色値が設定されることがある。その際に設定される色値には、色相が変わらないようにして彩度や明度を犠牲にした色値が設定されることが多い。よって、明度と彩度については判定基準を緩和して、色相でS909の判定を行なうようにしてもよい。
検出色値が特定色のLab値に近いと判定した場合は(S909 YES)、CPU101は、S911に処理を進める。そうでない場合は(S909 NO)、CPU101はS910に処理を進める。S911において、CPU101はS904又はS906で検出したRGBの色値が、S901で取得した文書ファイル又は選択レイヤに添付されているカラープロファイルの格子点、例えば、後述する図12に示す格子点を直接参照するかを判定する。検出色値が格子点を直接参照するということは、文書ファイル作成時に、特定色が適切に印刷されるように、RGBの色値が調整されている証拠であると考えられる。何故S904又はS906で検出したRGBの色値が調整されているかをここで説明する。
図12は、入力されたRGB値をLab値に変換する際の格子とab平面の一例を示す図である。図12(a)の格子1201は、ROM102に記憶されている変換テーブルである三次元LUT(ルックアップテーブル)を示しており、各格子点がLUTの各要素に対応している。この三次元LUTは、JPEG形式などの画像データのRGB値をLab値に変換するためのテーブルである。なお、すべてのRGB値に対応する要素(格子点)を記憶するためには、各軸に0〜255に対応する要素(格子点)を有する256×256×256の三次元LUTが必要となり、大きな記憶領域が必要となる。そこで、図12(a)の格子1201のように一定の間隔で格子点を配置するようにする。図12(a)では各軸に5つの格子点が配置されているが、各軸に8つの格子点が配置されていてもよい。例えば、8×8×8のLUTであれば、原点には(R,G,B)=(0,0,0)に対応するLab値が対応づけられ、原点の1つ右隣の格子点には(R,G,B)=(8,0,0)に対応するLab値が対応づけられることになる。このような3次元LUTでは、格子点の間のRGB値が入力された場合、隣接する各格子点の値と重み係数とを用いた補間演算等を行って、入力されたRGB値を隣接する格子点の値に近似する必要がある。しかし近似を行なうと、特定色が目標となる色とは違う色で印刷される可能性があるため、補間演算はされないことが望ましい。したがって、特定色を正確に印刷する必要がある文書ファイルでは、補間演算が行なわれないように、画像データのRGBの色値が調整されているものと考えられる。よって、特定色を正確に印刷する必要がある文書ファイル、すなわち特定色を印刷することを目的とした画像データであるかどうかを、格子点を直接参照しているかどうかで判断することができる。
格子点を直接参照していると判定したら(S911 YES)、S912において、CPU101は選択レイヤについて、特定色ありと判断する。一方、格子点を直接参照していないと判定したら(S911 NO)、CPU101は処理をS910に進める。
S910において、CPU101は、図11に示す特定色リストに登録されている全ての特定色について確認を終えたかどうかを判定する。登録されている全ての特定色について確認を終えていたら(S910 YES)、S913において、CPU101は選択レイヤについて、特定色なしと判断する。登録されている全ての特定色について確認を終えていなかったら(S910 NO)、CPU101は、S907に戻って、未確認の特定色に対してS907からの処理を行なう。以上のようにしてS704の特定色検出処理が行なわれることで、S702で選択された領域が特定色であるかどかが判断される。
図7に示すフローチャートの説明に戻る。S704の特定色検出処理で特定色ありと判定された場合は(S705 YES)、S706において、CPU101は、特定色があるということを示すフラグをRAM103に記憶する。このとき、CPU101は、特定色があると判定された領域の座標と、処理対象のページのページNoと、特定色があるということを示すフラグとをリストとしてRAM103に記憶する。なお、リストにはその他の情報が含まれていても良い。
S707において、CPU101は、特定色を含んでいるか否かの判定をすべての領域について実行したか否かを判定する。実行したと判定された場合は(S707 YES)、処理を終了する。そうでない場合は(S707 NO)、CPU101は、S702に戻って、未処理の領域に対して、S702からの処理を行なう。以上のようにしてS507の特定色判定処理が行なわれることで、文書ファイルの画像データが特定色を有しているかどうかが判断される。
図5に示すフローチャートの説明に戻る。S508において、CPU101は、S507の特定色判定処理の結果を利用して、MFP100で印刷するためのカラープロファイルを生成する。ここで、図13を用いてS508の処理を説明する。図13は、S508のカラープロファイルの生成処理(以下、プロファイル生成処理と呼ぶ)のフローチャートである。CPU101は、ROM102に記憶されたプログラムをRAM103に読み出して実行することで、図13に示す一連の処理を実現するプロファイル生成部306として機能する。
S1301において、CPU101はS507で文書ファイルの画像データから特定色が検出されたかを確認する。検出されていた場合(S1301 YES)、CPU101は、S1302に処理を進める。検出されていなかった場合は(S1301 NO)、S1311において、MFP100の通常用プロファイルを生成プロファイルとする。MFP100の通常用プロファイルとは、MFP100がデフォルトで利用するプロファイルであり、特定色などの情報は含まれていない。生成プロファイルとは、プロファイル生成部306が、選択レイヤに適用すべきカラープロファイルとして生成(指定)するカラープロファイルのことである。
S1302において、CPU101はMFP100がS507で検出した特定色に対応するカラープロファイル(特定色プロファイルと呼ぶ)がHDD104に登録されているか、すなわちMFP100によって保持されているかを確認する。S507で検出した特定色に対応するカラープロファイルがHDD104に登録されていれば(S1302 YES)、CPU101はS1303に処理を進める。登録されていなければ(S1302 NO)、CPU101はS1305に処理を進める。例えば、図11に示すテーブルにおいて、「カラープロファイル名」1104が入力されていれば、「カラープロファイル名」1104に対応するカラープロファイルがHDD104に登録されていると判断できる。すなわち、そのカラープロファイルをMFP100が保持していると判断できる。図11に示す例では特定色#2のカラープロファイル名1104が入力されているので、S507で検出された特定色が特定色#2である場合には、カラープロファイル「my_corp_color.icc」がHDD104に登録されている、と判断される。
S1303において、CPU101は選択レイヤに添付されているカラープロファイルと、MFP100が保持する特定色プロファイルの格子点の数とを比較する。格子点数が違う場合は(S1303 NO)、S1312において、CPU101は文書ファイルの選択領域のRGB値を調整する特定色調整処理を行なう。選択領域のRGB値の調整が必要な理由は、図12を用いて既に説明したとおり、MFP100が保持するカラープロファイルの格子点を直接参照可能にするためである。ここで、特定色調整処理について、図12を再度用いて説明する。
図12(a)では、入力されたRGB値を示す格子点1202に対応するLab値はプリンタ105が出力可能な色域(プリンタ色域)内の境界近くに設定されている。その例をab平面1203内の格子点1202で示している。図中の破線で囲われた領域は、プリンタ色域を表す。なお図12では、図面の簡略化のため、Lab色空間ではなくab平面を用いている。
例えば図12(b)に示す格子1204が各軸に8つの格子点(8×8×8のLUT)を有する場合において、格子点1207を出力値(Lab値)とする格子点1205のRGB値が(R,G,B)=(255,56,72)であったとする。なお、図中の星印は、特定色(ここでは金光紅)の本来の色のLab値を示している。また、格子点1207は、プリンタ色域内の格子点であって、金光紅により近いLab値を示す格子点である。金光紅をスキャンして得られるRGB値の最頻値が(R,G,B)=(255,52,71)である場合は、GとBの値は格子点上の値ではなく格子点の間の値となる。入力値が格子点の間の値である場合、通常、入力値は補間演算により隣接する格子点の値に近似される。しかし、上述したように、補間演算による近似を行なうと出力値に誤差が生じ、特定色が目標となる色とは違う色で印刷される可能性がある。
一方で、最頻値が(R,G,B)=(255,52,71)である場合には、出力したい色が金光紅であると判定することができる。そこで本実施形態では、そのように判定できた場合には、選択領域内の前景(文字)の各画素に対して、入力値を格子点1205に対応するRGB値に直接変換する処理を行なう。その際に使用される式は、「出力値」=「特定色」÷「最頻値」×「入力値」となる。ここで、上記式の「特定色」とは、特定色を出力するための格子点に対応するRGB値であり、例えば格子点1205に対応するRGB値(R,G,B)=(255,56,72)である。また、「最頻値」とは、生成されたヒストグラムの最頻値のRGB値である。「入力値」とは、スキャンして入力されたRGB値である。以上の処理が特定色調整処理である。特定色調整処理は、上記のとおり、特定色が使用されていると判定された領域内の前景(文字)の各画素に対して行われる。このような特定色調整処理が行われることで、誤差の大きい補間演算を行なうことなく、特定色用の色変換処理を行なうことができる。
例えば、図10(a)のヒストグラム1001〜1003が示す入力値を特定色調整した場合、図10(c)のヒストグラム1007〜1009のような値となる。図12(c)には、特定色がプリンタ105の色域内であった場合の例が示されている。入力されたRGB値が特定色を示す場合、入力されたRGB値に対応する格子点1208に対応するLab値で出力せずに、特定色を出力するための格子点1210に変換し、必ず特定色を出力するように設定する。ここでは、8つの格子点を有するLUTを例にしたが、選択領域のカラープロファイルとMFP100が保持するカラープロファイルの格子点数が変われば、格子点を直接参照する値も変わってしまう。このため、本実施形態では、S1303,S1312の処理を行なうようにしている。
一方、格子点数が同じである場合は(S1303 YES)、既に画像データ作成時に画像内の特定色のRGB値は、同じ条件で調整されているため、CPU101はS1304に処理を進める。S1304において、CPU101は、S1302で確認したカラープロファイルを生成プロファイルとして指定する。
S1305において、CPU101は、特定色がMFP100の色域内であるかを判断する。なお、S1305の処理を実行するためには、前もってMFP100の色域の範囲をMFP100のHDD104に記憶させておく必要がある。色域はLab色空間の3次元で表現されるが、本実施形態では図面及び説明の簡略化のため、MFP100の色域(プリンタ色域)をab空間で表現している。印刷しようとする特定色の色値が、プリンタ色域の内側にあれば(S1305 YES)、S1306において、CPU101は文書ファイルや選択レイヤに添付されたカラープロファイルを生成プロファイルとして指定する。一方、印刷しようとする特定色の色値がプリンタ色域外であれば(S1305 NO)、CPU101はS1307に処理を進める。そして、S1307において、CPU101は文書ファイル又は選択レイヤに添付されたカラープロファイルの調整を実施するために、まず、文書ファイル又は選択レイヤに添付されたカラープロファイルのLUTを再度参照する。次いで、S1308において、CPU101はS904又はS906で検出した色値(RGB値)から一番近いRGB値に対応する格子点、例えば図12(b)に示す格子点1205を選択する。一番近いとは、RGB色空間の中でのユークリッド距離を指す。なお、ここで選択した格子点1205のRGB値は、上述した特定色調整処理で利用される特定色用のRGB値として、RAM103等に記憶される。次いで、S1309において、CPU101はS1308で選択された格子点1205に対応づけるLab値を図11に示される「印刷の値」1102に設定する。このとき設定されるLab値は、格子点1207に対応するLab値である。このようにして、CPU101はカラープロファイルを調整する。そして、S1310において、CPU101は、S1309で調整したカラープロファイルを生成プロファイルとして指定する。図12(b)には、元々の格子点1205のLab値をMFP100で印刷すべきLab値(格子点1207)に移動させる様子が示されている。一方、図12(c)に示すように特定色が色域内である場合には、S1308〜S1309の処理が行なわれないのでLab値の移動は発生しない。以上のプロファイル生成処理によって、選択レイヤに適用すべきカラープロファイルが生成(指定)される。
図5に示すフローチャートの説明に戻る。S509において、CPU101は、S508で生成(指定)されたカラープロファイルを用いて、選択レイヤをLab値に変換する。このとき、選択レイヤが文字レイヤである場合は、カラープロファイルを用いずにフォントのカラー情報を図11に示す「印刷の値」1102に設定されている値に直接書き換えても良い。また、文字レイヤをレンダリングして写真レイヤと同じ画像データに変換してから、カラープロファイルを用いてLab値に変換してもよい。S510において、CPU101は選択レイヤを印刷用のCMYKに変換する。このとき用いられる、LabからCMYKへ変換するためのCMYK変換カラープロファイルは、MFP100のHDD104に登録されているものとする。なお、CMYK変換カラープロファイルはMFP100固有のカラープロファイルである。
図4に示すフローチャートの説明に戻る。S405の処理の後、CPU101はS40文書ファイル内の全てのレイヤに対して処理し終えていれば(S403 YES)、S406に処理を進める。S406において、S403〜S405で作成したCMYKに変換されたビットマップイメージがそれぞれ合成され、最終的に1ページ分のビットマップイメージが生成される。なお、文書ファイルが複数ページ分の情報を含んでいる場合には、図4に示すS402〜S406の処理が各ページに対して繰り返し実行され、複数ページ分のビットマップイメージが生成される。なお、この処理はRIP109が行なうものとするが、CPU101が行なってもよい。最後に、S407において、CPU101は、S406で生成されたCMYKのビットマップイメージをプリンタ105に転送する。そして、プリンタ105によって印刷処理が行われる。
以上のように本実施形態のMFPは、特定色が使用された文書ファイルを印刷する際に特定色が目標となる色で印刷されるように、画像データに付随するカラープロファイル(文書ファイル等に添付されたカラープロファイル)やオブジェクトの色を調整する。よって、本実施形態によれば、プリンタや複合機の色域外にある特定色についても、目標となる色で適切に印刷することが可能となる。また本実施形態では、文書ファイルや選択レイヤに添付されているカラープロファイルとMFPが保持する特定色用のカラープロファイルとで格子点数が異なる場合には、オブジェクトの色を調整する。それにより、MFPが保持する特定色用のカラープロファイルの格子点が直接参照されるようにしている。よって、そのような場合でも、特定色を意図した色で適切に印刷することが可能となる。
[実施形態2]
第1実施形態では、特定色を印刷するために文書ファイル作成時に、画像の調整やプロファイルの調整を行なうMFPについて説明した。本実施形態では、特定色を印刷する条件を図11に示す特定色リストに登録しておくことで、特定色を適切に印刷するMFPについて説明する。第1実施形態との差分は、S704の特定色検出処理のみである。よって、以降では、本実施形態の特定色検出処理について説明する。
第1実施形態では、特定色を印刷するために文書ファイル作成時に、画像の調整やプロファイルの調整を行なうMFPについて説明した。本実施形態では、特定色を印刷する条件を図11に示す特定色リストに登録しておくことで、特定色を適切に印刷するMFPについて説明する。第1実施形態との差分は、S704の特定色検出処理のみである。よって、以降では、本実施形態の特定色検出処理について説明する。
図14は、第2実施形態の特定色検出処理のフローチャートである。CPU101は、ROM102に記憶されたプログラムをRAM103に読み出して実行することで、図14に示す一連の処理を実現する特定色検出部305として機能する。なお、S1401〜S1410,S1414,S1415の処理は、図9に示すS901〜S910,S912,S913の処理と同じであるため、説明を省略する。
S1411において、CPU101は特定色を印刷する印刷条件(図11に示す印刷条件1103)を読込む。印刷条件1103には、図11に示すようにレイアウトの条件と、その条件を適用するページ位置とが含まれる。レイアウトの条件とは、「両面印刷」などである。例えば、中国の公的文書である紅頭文件は両面印刷が規定されている。そのため、S1409で検出色が特定色に近いと判断され、且つ両面印刷が指定されている場合には、検出色が特定色であると判定することができる。
S1412において、CPU101はS1411で読み込んだ印刷条件と、プリント部303の印刷実行時に設定された印刷条件、またはプリント機能設定部307で設定されている印刷条件とを比較する。印刷条件が一致していれば(S1413 YES)、CPU101はS1414に処理を進める。印刷条件が一致していなければ(S1413 NO)、CPU101は処理をS1410に進める。
以上のような特定色検出処理によっても、特定色が使用された文書ファイルを、適切な色で印刷することが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (14)
- 第1の色空間で表現された第1の画像データであって、特定色の画素を含む前記第1の画像データを、色変換情報に基づいて、第2の色空間で表現された第2の画像データに色変換する変換手段と、
前記色変換の際に、前記第2の色空間における前記特定色の位置と、印刷装置の前記第2の色空間における色域との関係に基づいて、前記特定色の画素の画素値または前記色変換に用いられる色変換情報を調整する調整手段と、を備える
ことを特徴とする画像処理装置。 - 前記調整手段は、前記印刷装置が前記特定色に対応した色変換情報を保持している場合であって、且つ、前記特定色に対応した色変換情報が前記第1の画像データに付随する色変換情報と異なる場合には、前記第1の画像データにおける前記特定色の画素の画素値を調整し、
前記変換手段は、前記特定色の画素の画素値が調整された前記第1の画像データを、前記印刷装置が保持する前記特定色に対応した色変換情報を用いて前記第2の画像データに変換する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記色変換情報はカラープロファイルであり、
前記調整手段は、前記印刷装置が保持する前記特定色に対応したカラープロファイルの格子点数と、前記第1の画像データに付随するカラープロファイルの格子点数とが異なる場合に、前記第1の画像データにおける前記特定色の画素の画素値を調整する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記調整手段は、前記第2の色空間における前記特定色の位置が、前記第2の色空間における前記印刷装置の色域外である場合には、前記第1の画像データにおける前記特定色の画素の画素値を、前記第2の色空間における前記印刷装置の色域内の画素値であって前記特定色により近い色を表す画素値に対応する、前記第1の色空間の画素値に変換する
ことを特徴とする請求項3に記載の画像処理装置。 - 前記特定色により近い色を表す画素値は、前記印刷装置が保持する前記特定色に対応したカラープロファイルの格子点を直接参照する画素値の中から選択される
ことを特徴とする請求項4に記載の画像処理装置。 - 前記調整手段は、前記第2の色空間における前記特定色の位置が、前記第2の色空間における前記印刷装置の色域内である場合には、前記第1の画像データにおける前記特定色の画素の画素値を前記色変換して得られる、前記第2の画像データにおける前記特定色の画素の画素値を、前記第2の色空間における前記特定色の本来の画素値に変換する
ことを特徴とする請求項5に記載の画像処理装置。 - 前記調整手段は、前記印刷装置が保持する前記特定色に対応したカラープロファイルの格子点数と、前記第1の画像データに付随するカラープロファイルの格子点数とが一致する場合には、前記特定色の画素の画素値及び前記色変換に用いられる色変換情報を調整せず、
前記変換手段は、前記第1の画像データを、前記印刷装置が保持する前記特定色に対応した色変換情報を用いて前記第2の画像データに変換する
ことを特徴とする請求項3から請求項6のうちのいずれか1項に記載の画像処理装置。 - 前記調整手段は、前記印刷装置が前記特定色に対応した色変換情報を保持していない場合であって、且つ、前記第2の色空間における前記特定色の位置が、前記第2の色空間における前記印刷装置の色域外である場合には、前記第1の画像データに付随する色変換情報を調整し、
前記変換手段は、前記第1の画像データを、前記調整された前記第1の画像データに付随する色変換情報を用いて前記第2の画像データに変換する
ことを特徴とする請求項1から請求項7のうちのいずれか1項に記載の画像処理装置。 - 前記色変換に用いられる色変換情報はカラープロファイルであり、
前記調整手段は、前記第1の画像データに付随するカラープロファイルの格子点を直接参照する画素値の中から、前記第1の色空間における前記特定色の画素値により近い画素値を選択し、選択した前記画素値と前記第2の色空間における前記特定色の本来の画素値とを対応づけることで、前記第1の画像データに付随するカラープロファイルを調整する
ことを特徴とする請求項7に記載の画像処理装置。 - 前記調整手段は、前記印刷装置が前記特定色に対応した色変換情報を保持していない場合であって、且つ、前記第2の色空間における前記特定色の位置が、前記第2の色空間における前記印刷装置の色域内である場合には、前記第1の画像データに付随する色変換情報を調整せず、
前記変換手段は、前記第1の画像データを、前記第1の画像データに付随する色変換情報を用いて前記第2の画像データに変換する
ことを特徴とする請求項8または請求項9に記載の画像処理装置。 - 前記第2の色空間が、デバイス非依存の色空間である
ことを特徴とする請求項1から請求項10のうちのいずれか1項に記載の画像処理装置。 - 前記第1の色空間がRGB色空間であり、前記第2の色空間がLab色空間である
ことを特徴とする請求項1から請求項11のうちのいずれか1項に記載の画像処理装置。 - 第1の色空間で表現された第1の画像データであって、特定色の画素を含む前記第1の画像データを、色変換情報に基づいて、第2の色空間で表現された第2の画像データに色変換する変換ステップと、
前記色変換の際に、前記第2の色空間における前記特定色の位置と、印刷装置の前記第2の色空間における色域との関係に基づいて、前記特定色の画素の画素値または前記色変換に用いられる色変換情報を調整する調整ステップと、を含む
ことを特徴とする画像処理方法。 - コンピュータに、請求項13に記載の画像処理方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079784A JP2020175597A (ja) | 2019-04-19 | 2019-04-19 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079784A JP2020175597A (ja) | 2019-04-19 | 2019-04-19 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020175597A true JP2020175597A (ja) | 2020-10-29 |
Family
ID=72937328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019079784A Pending JP2020175597A (ja) | 2019-04-19 | 2019-04-19 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020175597A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866658A (zh) * | 2021-02-04 | 2022-08-05 | 佳能株式会社 | 图像形成装置及其控制方法和存储介质 |
US11973916B2 (en) | 2022-02-24 | 2024-04-30 | Canon Kabushiki Kaisha | Image forming system, that includes an image distribution device, printing device, control method of printing device, and non-transitory computer-readable storage medium |
-
2019
- 2019-04-19 JP JP2019079784A patent/JP2020175597A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866658A (zh) * | 2021-02-04 | 2022-08-05 | 佳能株式会社 | 图像形成装置及其控制方法和存储介质 |
US11973916B2 (en) | 2022-02-24 | 2024-04-30 | Canon Kabushiki Kaisha | Image forming system, that includes an image distribution device, printing device, control method of printing device, and non-transitory computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5145965B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
US8780410B2 (en) | Image processing apparatus | |
US8995024B2 (en) | Image processing apparatus, image processing method, and program | |
EP3355568B1 (en) | Image processing apparatus and method for controlling the same | |
EP2278449A2 (en) | Apparatus, method, system and storage medium for setting print status | |
JP2007013551A (ja) | 画像処理装置および画像処理方法 | |
JP7367159B2 (ja) | 画像処理装置、画像処理方法、および、プログラム | |
JP2019145030A (ja) | 画像処理装置、画像形成装置、画像処理方法、及びプログラム | |
JP2020175597A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN110875994A (zh) | 图像处理设备及其控制方法和存储介质 | |
JP6120824B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US20130176327A1 (en) | Method of rendering a colour image with spatial gamut mapping | |
JP2010050832A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP2018182464A (ja) | 画像処理装置及びプログラム | |
JP7321885B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US11531855B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2013222983A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP5090969B2 (ja) | 画像処理装置 | |
JP2022061279A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2023033977A (ja) | 画像形成装置、画像形成装置の制御方法、およびプログラム | |
JP2023033978A (ja) | 画像形成装置、画像形成装置の制御方法、情報処理装置、情報処理方法、およびプログラム | |
JP2022141319A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP6051526B2 (ja) | 画像処理システム、画像形成装置、画像処理プログラム、および画像処理方法 | |
JP2012070174A (ja) | 画像処理装置、画像処理方法、及びプログラム |