(57)【要約】【課題】従来、機械学習技術を用いたモノクロ画像をカラー画像に変換する処理において、カラー化処理の失敗を検出する手法がなく、失敗を修正する手段もない。【解決手段】画像処理装置であって、読取手段にて読み取られた原稿の画像データを取得する取得手段と、前記画像データからオブジェクトを検出する検出手段と、前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、前記特定手段にて特定された領域の色を所定の色に置き換える修正手段とを有する。【選択図】  図４
2019140538.tif 000002
【特許請求の範囲】
【請求項１】
読取手段にて読み取られた原稿の画像データを取得する取得手段と、
前記画像データからオブジェクトを検出する検出手段と、
前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、
前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、
前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、
前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、
前記特定手段にて特定された領域の色を所定の色に置き換える修正手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記所定の色味は、セピア色であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の色は、前記特定手段にて特定された領域における最頻出の色であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記オブジェクトは、イラスト、図形、及び写真の画像であることを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像データにおける文字の領域を特定する手段を更に有し、
前記変換手段は、前記特定された文字の領域に含まれる画素の値を所定の値に変換した上で前記オブジェクトをカラー画像に変換することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記所定の値は、前記特定された文字の領域の周辺に位置する画素の値であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記特定手段は、オブジェクトの画像に含まれる領域のうち、所定のサイズよりも大きい領域を特定の対象とすることを請求項１乃至６のいずれか一項に記載の画像処理装置。
【請求項８】
前記変換手段は、前記カラー判定手段にてカラー画像であると判定されたオブジェクトの画像データを用いて、オブジェクトを変換するためのパラメータを算出する算出処理を行うことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記算出処理は、前記カラー判定手段にてカラー画像であると判定されたオブジェクトの画像データと、当該オブジェクトの画像データをモノクロ変換処理して得られた画像データとを用いた機械学習による処理であることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の画像処理装置と、
原稿から画像データを読み取る読取手段と、
前記画像処理装置にて処理された画像データを用いて印刷を行う印刷手段と
を備えることを特徴とする画像形成装置。
【請求項１１】
読取手段にて読み取られた原稿の画像データを取得する取得工程と、
前記画像データからオブジェクトを検出する検出工程と、
前記検出工程にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定工程と、
前記カラー判定工程にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換工程と、
前記変換工程による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定工程と、
前記判定工程により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換工程による変換前に単色であった領域が前記変換工程による変換後に複数の色にて構成される領域となった領域を特定する特定工程と、
前記特定工程にて特定された領域の色を所定の色に置き換える修正工程と
を有することを特徴とする画像処理方法。
【請求項１２】
コンピュータを、
読取手段にて読み取られた原稿の画像データを取得する取得手段、
前記画像データからオブジェクトを検出する検出手段、
前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段、
前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段、
前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段、
前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段、
前記特定手段にて特定された領域の色を所定の色に置き換える修正手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、マルチファンクションプリンター（以後、ＭＦＰと呼ぶ）においてスキャナで読み取ったモノクロ画像をカラー画像に変換する画像処理（以後、カラー化処理と呼ぶ）がある。従来のカラー化処理は、入力したモノクロ画像を予め備えた処理アルゴリズムに基づきカラー画像に変換する。処理アルゴリズムは所定の設定値を備え、複数の設定値に基づきカラー化処理後の画像の見栄えを変更できる（例えば、特許文献１）。
【０００３】
一方、設定値を予め定めて画像処理を行う手法とは別に、所定の設定値を備えた処理モデルへの入力データと、それに対して期待する出力データとの誤差を評価し、誤差が最小となるように設定値を変更することで所望の処理を実現する機械学習による手法がある。近年では人の視野覚細胞の構成を模した畳み込みニューラルネットワーク（以後、ＣＮＮと呼ぶ）を用いた機械学習処理モデルにより高度な画像処理が行われている。カラー化処理の分野において、多数のモノクロ画像と期待するカラー画像との組をＣＮＮに学習させることで多様な入力画像に対して精度良くカラー変換された出力画像結果が得られることが知られている（例えば、非特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−６６７３４号公報
【非特許文献】
【０００５】
【非特許文献１】飯塚  里志、他２名、“ディープネットワークを用いた大域特徴と局所特徴の学習による白黒写真の自動色付け”、［online］、平成２８年、ＳＩＧＧＲＡＰＨ  ２０１６、［平成２９年１２月２６日検索］、インターネット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＣＮＮを用いた機械学習技術に基づくカラー化処理においても、これまで学習した画像とは大きく異なる未知の入力画像に対してはカラー化が失敗する場合がある。例えば、ＣＮＮを用いたカラー化処理に失敗した場合、入力したモノクロ画像が完全なカラー画像とならずにセピア色になることある。更には、入力画像上で同一濃度の領域が出力画像上で同一色とならず、領域の一部に別の色がムラ状に混ざることある。
【０００７】
従来、このようなカラー化失敗を検出する手段がなかった。また、カラー化処理に失敗してしまうと、ユーザの目的とする画像が得られないという問題が生じ、カラー化処理でユーザに提供する品質の低下が生じてしまう。
【０００８】
上記を鑑み、本発明では、ＣＮＮを用いた機械学習技術に基づくカラー化処理の失敗を検出し、画像処理におけるユーザへ提供する品質の低下を回避することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は以下の構成を有する。すなわち、画像処理装置であって、読取手段にて読み取られた原稿の画像データを取得する取得手段と、前記画像データからオブジェクトを検出する検出手段と、前記検出手段にて検出されたオブジェクトがカラー画像かモノクロ画像かを判定するカラー判定手段と、前記カラー判定手段にてモノクロ画像であると判定されたオブジェクトをカラー画像に変換する変換手段と、前記変換手段による変換後のオブジェクトの画像が所定の色味であるか否かを判定する判定手段と、前記判定手段により前記所定の色味でないと判定された変換後のオブジェクトの画像において、前記変換手段による変換前に単色であった領域が前記変換手段による変換後に複数の色にて構成される領域となった領域を特定する特定手段と、前記特定手段にて特定された領域の色を所定の色に置き換える修正手段とを有する。
【発明の効果】
【００１０】
本発明により、機械学習技術に基づくカラー化処理の失敗を検出でき、品質の低下を回避することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るシステムの構成例を示す図。
【図２】本実施形態に係るＭＦＰのハードウェア構成の例を示す図。
【図３】本実施形態に係るＭＦＰの画像処理部の構成例を示す図。
【図４】本実施形態に係るＭＦＰのコピー処理のフローチャート。
【図５】本実施形態に係るＭＦＰの学習処理のフローチャート。
【図６】本実施形態に係る学習テーブルの例を示す図。
【図７】本実施形態に係るカラー変換部の処理モデルの模式図。
【図８】本実施形態に係るＭＦＰの操作部の画面の構成例を示す図。
【図９】本実施形態に係るオブジェクトの例を示す図。
【図１０】本実施形態に係るカラー化処理結果判定処理のフローチャート。
【図１１】本実施形態に係るカラー化処理結果の色判定処理のフローチャート。
【図１２】本実施形態に係るカラー化処理結果の修正処理のフローチャート。
【図１３】本実施形態に係るカラー化処理の作用を説明するための図。
【図１４】本実施形態に係るＭＦＰの操作部の画面の構成例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
＜第１実施形態＞
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は適宜省略する。
【００１４】
［システム構成］
図１は、本実施形態に係るシステム構成の例を示す図である。本システムにおいて、ＭＦＰ１０１、ＰＣ１０２、サーバ１０３を含んで構成され、各装置は、ＬＡＮ１０４を介して通信可能に接続されている。ＭＦＰ１０１は、画像形成装置の一例であり、印刷機能やスキャナ機能などを有する装置である。ＰＣ１０２、サーバ１０３は、情報処理装置であり、必要に応じて、ＭＦＰ１０１と連携して処理を実行する。ＬＡＮ１０４のネットワーク構成は特に限定するものではなく、有線／無線も問わない。また、図１においては、各装置が１台ずつ示されているが、これに限定するものではない。
【００１５】
［ＭＦＰ］
図２は、本実施形態に係るＭＦＰ１０１のハードウェア構成の例を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、ＭＦＰ１０１全体の制御を司る。ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり２０２は、ＣＰＵ２０１で実行されるプログラムを格納すると共に一時的なデータのワークエリアとして機能する。操作部２０３は、シリアルＩ／Ｆ２１３を介してＣＰＵ２０１にユーザによる操作を通知する。ネットワークＩ／Ｆ２０４は、ＬＡＮ１０４と接続して外部機器と通信を行う。プリンタ部２０５は、画像データに基づいて、記録媒体（例えば、紙）上に印刷を行う。スキャナ部２０６は、原稿に対する読取手段であり、記録媒体上の画像を光学的に読み取り電気信号に変換してスキャン画像を生成する。
【００１６】
ＦＡＸ２０７は、公衆回線２１０と接続して外部機器とファクシミリ通信を行う。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０８は、ＣＰＵ２０１で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。システムバス２０９は、各モジュールを相互に接続し、モジュール間の通信を行う。公衆回線２１０は、ＦＡＸ２０７と外部機器を相互接続する。画像処理部２１１は、ネットワークＩ／Ｆ２０４を介して受信したプリントジョブをプリンタ部２０５で印刷するのに適した画像への変換処理や、スキャナ部２０６で読み取ったスキャン画像に対する画像処理を実行する。また、画像処理部２１１は、ＬＡＮ１０４からネットワークＩ／Ｆ２０４を経由し外部装置から受信した画像データ（ＰＤＬコード）をビットマップデータに展開する。さらに画像処理部２１１は、プリンタ部２０５で画像データを印刷するための前処理としての画像処理を行う。画像処理部２１１の詳細は後述する。ＦＬＡＳＨ  ＲＯＭ（ＦＬＡＳＨ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１２は、ＣＰＵ２０１で実行されるプログラムを格納すると共にＭＦＰ１０１のデフォルト設定値、ユーザごとのデフォルト設定値、一時的なカスタム設定値、等を記憶する。シリアルＩ／Ｆ２１３は、操作部２０３とシステムバス２０９を相互接続する。
【００１７】
（画像処理部）
図３は、本実施形態に係るＭＦＰ１０１が備える画像処理部２１１の内部構成の例を示す図である。図３において、システムバスＩ／Ｆ３０１は、システムバス２０９と信号バス３１０のプロトコル変換や調停を行い画像処理部２１１の各モジュールとシステムバス２０９に接続された各モジュールを相互接続する。スキャン画像処理部３０２は、スキャナ部２０６で読み取ったスキャン画像に施すシェーディング補正処理やＭＴＦ（Ｍｏｄｕｌａｔｉｏｎ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）補正処理、入力ガンマ補正やフィルタ処理を行う。更には、これらに加え、スキャン画像処理部３０２は、ノイズ除去や色空間変換、回転、圧縮等の画像処理を行う。レンダリング処理部３０３は、外部装置から受信した画像データ（ＰＤＬコード）をビットマップデータに展開する。
【００１８】
プリント画像処理部３０４は、プリンタ部２０５で画像データを印刷するための前処理となる画像処理を行う。前処理として、具体的には、ＲＧＢをＣＭＹＫに変換する色空間変換処理やディザ法や誤差拡散法による中間調処理、ガンマ補正などが挙げられる。画像処理後の画像データは、プリンタ部２０５へ出力される。ここで、プリント画像処理部３０４は、プリンタ部２０５の起動および給紙に合わせてプリンタ部２０５へ画像データを出力するために、タイミング同期用のバッファであるＤＲＡＭ２０２へ画像データを一時的に書き込む。そして、プリント画像処理部３０４は、記録媒体の給紙のタイミングと同期してＤＲＡＭ２０２から画像データを読み込み、プリンタ部２０５へ出力する。
【００１９】
カラー判定部３０５は、スキャン画像処理部３０２で処理した画像がカラー画像かモノクロ画像かの判定を行う。ここでは、画像全体を画素毎に走査して得た画素を構成するＲ、Ｇ、Ｂの各コンポーネントの値から画素の色味を取得して積算し、色味の累計が所定値を超えていた場合、その画像はカラー画像であると判定する。一方、色味の累計が所定値以下であった場合、その画像はモノクロ画像であると判定する。モノクロ変換部３０６は、スキャン画像処理部３０２で処理したカラー画像の画素毎にＲＧＢのコンポーネントを演算することによって算出された値をモノクロ画像の画素値とすることでモノクロ変換を行う。カラー変換部３０７は、スキャン画像処理部３０２で処理したモノクロ画像をカラー画像に変換する。本実施形態ではＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）で構成した機械学習技術に基づいて算出処理を行う処理モデルを用いる。カラー変換部３０７の詳細は後述する。
【００２０】
オブジェクト検出部３０８は、スキャン画像処理部３０２で処理されたスキャンデータの内部からオブジェクトを検出する。ここでオブジェクトとは、文字以外のイラストや図形、写真などの画像の領域を示す。しかし、これに限定するものではなく、例えば、文字であっても図形化されている場合には、オブジェクト（オブジェクト領域）として扱ってもよい。オブジェクト合成部３０９は、カラー変換部３０７でカラー変換したオブジェクトをオブジェクト検出部３０８で検出した領域に書き戻す。画像処理部２１１の信号バス３１０は、各モジュールを相互に接続して通信を行う。
【００２１】
［カラー変換コピー動作］
図４を用いてＭＦＰ１０１におけるカラー化処理として、スキャン画像をカラー変換して紙出力するコピー動作を説明する。以下の動作処理は、特に明記した場合を除いて、ＣＰＵ２０１がＦＬＡＳＨ  ＲＯＭ２１２に格納されたプログラムに基づき各処理部に指示を与えて処理を実行するものとする。
【００２２】
Ｓ４０１にて、スキャナ部２０６は、不図示の原稿台または紙搬送部に置かれた原稿（記録媒体）を画像データとして読み取り、ＤＲＡＭ２０２に保存する。
【００２３】
Ｓ４０２にて、スキャン画像処理部３０２は、Ｓ４０１で読み取った画像データに対してスキャン用画像処理を行う。ここでのスキャン用画像処理は、ＦＬＡＳＨ  ＲＯＭ２１２が予め記憶している設定値に基づいて行うものとして説明する。
【００２４】
Ｓ４０３にて、ＣＰＵ２０１は、カラー化処理を行うためのモード設定の有無を判定する。カラー化処理モードは、例えば、ＭＦＰ１０１の操作部２０３が備える画面を介してユーザが設定するものである。本設定の詳細は後述する。カラー化処理モードが設定されている場合は（Ｓ４０３にてＹＥＳ）Ｓ４０４へ遷移し、設定されていない場合は（Ｓ４０３にてＮＯ）Ｓ４１１へ遷移する。
【００２５】
Ｓ４０４にて、オブジェクト検出部３０８は、Ｓ４０２でスキャン用画像処理を施した画像データからオブジェクトを検出する。ここで、オブジェクト検出方法としては、パターンマッチング法や、勾配方向をヒストグラム化して特徴量を抽出して文字やオブジェクトを検出する方法などが挙げられる。本実施形態においても、同様な手法を用いてオブジェクト検出を行う。なお、オブジェクト検出方法は、上記に限定するものではなく、他の方法を用いてもよい。そして、オブジェクト検出部３０８は、検出したオブジェクトに対する元画像における座標位置や画像サイズ等の情報をオブジェクト管理テーブルに登録し、ＤＲＡＭ２０２に記憶する。オブジェクト管理テーブルの詳細は図９を用いて後述する。
【００２６】
Ｓ４０５にて、ＣＰＵ２０１は、Ｓ４０４で作成したオブジェクト管理テーブルの全オブジェクトに対して、後述する本フローチャートの処理（Ｓ４０６〜Ｓ４０９）を実行したかを判定する。未処理のオブジェクトがあれば（Ｓ４０５にてＮＯ）、ＣＰＵ２０１は、未処理のオブジェクトの中から１つを選択し、Ｓ４０６へ遷移して処理を行う。一方、全オブジェクトに対する処理が終了したと判定した場合は（Ｓ４０５にてＹＥＳ）Ｓ４１０へ遷移する。
【００２７】
Ｓ４０６にて、カラー判定部３０５は、Ｓ４０４で検出したオブジェクトがモノクロ画像かカラー画像かを判定する。上述したように、ここでの判定では、画素を構成するＲ、Ｇ、Ｂの各コンポーネントの値から画素の色味を取得して積算し、色味の累計が所定値を超えていた場合、その画像はカラー画像であると判定する。モノクロ画像であると判定した場合は（Ｓ４０６にてＮＯ）Ｓ４０７へ遷移する。一方、カラー画像であると判定した場合は（Ｓ４０６にてＹＥＳ）Ｓ４０９へ遷移する。
【００２８】
Ｓ４０７にて、カラー変換部３０７は、Ｓ４０６でモノクロ画像と判定されたオブジェクトに対してカラー化処理を行う。上述したように、カラー化処理は、ＣＮＮにて学習された処理モデルに基づいて画像処理が行われるものとする。したがって、学習が進み、この学習内容に基づいて算出されたパラメータを用いることで、同じオブジェクトであっても異なる処理結果が出力されることとなる。
【００２９】
Ｓ４０８にて、ＣＰＵ２０１は、Ｓ４０７で行ったカラー化処理が成功したか失敗したかを判定する。更に、カラー化処理に失敗した画像に対しては修正処理を行う。カラー化処理後のオブジェクトは、ＤＲＡＭ２０２に格納される。本工程の処理の詳細は図１０〜図１２を用いて後述する。Ｓ４０８の処理終了後はＳ４０５に遷移する。
【００３０】
Ｓ４０９にて、ＣＰＵ２０１は、Ｓ４０６でカラー画像と判定したオブジェクトに対して学習処理を行うための通知処理を行う。ＣＰＵ２０１は、この学習処理通知に基づき、当該オブジェクトを用いた学習処理を行う。ここでの学習処理の詳細は図５を用いて後述する。
【００３１】
Ｓ４１０にて、オブジェクト合成部３０９は、画像合成処理を行う。ここでは、カラー化処理が成功したオブジェクト、および、カラー化処理に失敗した後に修正されたオブジェクトが、スキャン用画像処理を施した画像上のオブジェクトと置き換えられる。その結果、カラー化がなされたオブジェクトを含む画像データが生成される。オブジェクト合成部３０９は、置き換え後の画像データをＤＲＡＭ２０２に格納する。
【００３２】
Ｓ４１１にて、プリント画像処理部３０４は、ＤＲＡＭ２０２に格納されている画像データに対してＦＬＡＳＨ  ＲＯＭ２１２の記憶した設定値に基づきプリント用画像処理を行う。そして、プリンタ部２０５は、カラー化処理したオブジェクトを備えた画像を記録媒体に印刷して出力する。そして、本処理フローを終了する。
【００３３】
［学習処理］
図５〜図７を用いて、図４のＳ４０９において学習処理通知が発行された場合に、学習処理を行い、カラー変換部３０７にて用いられる処理モデルを更新する処理フローについて説明をする。本処理は、特に明記した場合を除いて、ＣＰＵ２０１がＦＬＡＳＨ  ＲＯＭ２１２に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
【００３４】
Ｓ５０１にて、ＣＰＵ２０１は、Ｓ４０４でオブジェクト検出部３０８が検出したオブジェクトのうち、Ｓ４０５でカラー判定部３０５がカラー画像と判定したカラーオブジェクトの画像データを、ＤＲＡＭ２０２から読み出す。そして、ＣＰＵ２０１は、読み出したカラーオブジェクトの画像データを学習サンプルの期待画像としてＨＤＤ２０８に保存する。このとき、ファイルサイズを小さくするために圧縮伸長処理部（不図示）でＪＰＥＧなどのフォーマットに圧縮してもよい。
【００３５】
Ｓ５０２にて、モノクロ変換部３０６は、ＨＤＤ２０８に保存した画像データを読み出し、モノクロ画像データに変換してＤＲＡＭ２０２に記憶する。上述したように、ここでは、カラー画像の画素毎にＲＧＢのコンポーネントを演算することによって算出された値を、対応するモノクロ画像の画素値とすることでモノクロ変換を行う。なお、ＨＤＤ２０８から読み出した画像がＪＰＥＧ等の圧縮形式の場合は、圧縮伸長処理部（不図示）で画像伸長した後にモノクロ変換処理を行うものとする。
【００３６】
Ｓ５０３にて、ＣＰＵ２０１は、Ｓ５０２でモノクロ変換してＤＲＡＭ２０２に記憶したモノクロ画像データを学習処理の入力画像としてＨＤＤ２０８に保存する。ここでもファイルサイズを小さくするために圧縮伸長処理部（不図示）でＪＰＥＧなどのフォーマットに圧縮してもよい。
【００３７】
Ｓ５０４にて、ＣＰＵ２０１は、Ｓ５０１およびＳ５０３で記憶した画像ファイルを学習テーブルに追加する。学習テーブルの構成例を図６に示す。学習テーブル６０１は、前述の各画像のパスを有し、ＨＤＤ２０８に記憶されている。図６の学習テーブル６０１において、学習サンプル入力画像は、Ｓ５０３にて保存されたモノクロ画像のパスを示し、学習サンプル期待画像は、Ｓ５０１にて保存されたカラー画像のパスを示す。
【００３８】
Ｓ５０５にて、ＣＰＵ２０１は、Ｓ５０４で生成した学習テーブル６０１で示された画像と、カラー変換部３０７とを用いて学習を行う。
【００３９】
図７は、カラー変換部３０７における処理モデルを模式的に示している。図７に示すＣｏｎｖは、畳み込み処理を行う階層である。各畳み込み層はそれぞれ不図示の２次元フィルタ関数（例えば、５×５のフィルタ）を備え、各畳み込み層の入力画像データに対して２次元フィルタ関数を用いて畳み込み演算を行う。また、図７に示すＰｏｏｌは、プーリング処理を行う階層である。各プーリング層はそれぞれ不図示の２次元プーリング関数を備え、各プーリング層の入力に対して２次元プーリング関数のウィンドウ内の画素から条件に合致する画素を取り出す。例えば、ウィンドウサイズが２×２の最大プーリングであれば、ウィンドウ内の４画素の中から最大画素値を有する画素を取り出す。
【００４０】
本実施形態に係るカラー変換部３０７における処理モデルは、例えば、Ｃｏｎｖ層とＰｏｏｌ層との組を４組直列に接続した構成で学習を行う。まず、輝度情報のみを備えたモノクロ画像を入力データとして用意する。これを第１層のＣｏｎｖ＿１に入力し畳み込み処理を行い、続いてＰｏｏｌ＿１でプーリング処理を行う。その後、第２層から第４層の各Ｃｏｎｖ層とＰｏｏｌ層に前層の処理結果入力して処理を行う。そして、Ｐｏｏｌ＿４の処理後のデータを、輝度（Ｌ）と彩度（ａｂ）とで構成される色空間（Ｌａｂ空間）のａｂ空間にマッピングして中間カラー画像を生成する。最後に、中間カラー画像と輝度画像とを合成してカラー画像に変換することでカラー化処理を行う。
【００４１】
Ｓ５０５では、このカラー変換部３０７における処理モデルの各層が備えるパラメータの学習が行われる。まず、学習テーブル６０１の入力画像（モノクロ画像）と期待画像（カラー画像）の対を学習サンプルとし、その集合体である学習データを用意する。次に、学習サンプルの入力画像を入力した処理モデルを構成する各層の処理部から得られた出力画像と、当該入力画像と対になる期待画像との乖離度を誤差関数で評価する。本実施形態では、例えば、出力画像と期待画像とで画素毎の濃度差を交差エントロピー等の誤差関数で評価する。得られた評価値に基づき、バックプロパゲーションによりパラメータを更新する。具体的には、例えば、確率的勾配降下法等の最適化関数を用いて、出力結果の画素値が学習テーブル６０１の学習サンプル期待画像の対応する画素値に近づくようにパラメータ更新値を決定する。これを出力側のＰｏｏｌ＿４から入力側に遡る順で各層に適用して各層のパラメータを更新する。なお、上記に示した処理の流れは一例であり、他の関数や評価基準を用いてもよい。
【００４２】
なお、カラー変換部３０７における処理モデルが備えるパラメータは、ＭＦＰ１０１の出荷時には不図示の多数の学習サンプルで予め学習して生成したパラメータが初期値として設定されているものとする。出荷後には、ＭＦＰ１０１を使用するたびに、上述した学習処理に基づきパラメータが更新されるものとする。
【００４３】
Ｓ５０６にて、ＣＰＵ２０１は、Ｓ５０５の学習処理が完了により、カラー変換部３０７における処理モデルを更新する。そして本処理フローを終了する。なお、学習処理は、図４のＳ４０９における学習処理通知後に、Ｓ４０５にて全オブジェクトの処理終了を検知した後に実行するものとする。
【００４４】
［カラー化処理モード設定］
図８を用いて、本実施形態のカラー化処理モードに係る、ＭＦＰ１０１の操作部２０３における画面の表示例を説明する。図８（ａ）、（ｂ）にコピーの出力モードの設定画面を示す。本出力モードの設定画面において、「フルカラー」の出力の指定（ボタン８０１）、または、「白黒→カラー」の出力の指定（ボタン８０２）によりカラー化処理モードが有効設定される。また、図８（ｃ）は、コピーの機能設定画面を示しており、「白黒カラー変換」のボタン８０３が表示される。ユーザはボタン８０３を押下することで、白黒カラー変換機能の実行を設定できる。ボタン８０３押下後に表示される図８（ｄ）では既に白黒カラー変換モードが設定済であり、カラー化処理モードが有効設定される。
【００４５】
［オブジェクト管理テーブル］
図９を用いて、スキャナ部２０６にて読み込んだ原稿からオブジェクト検出した例を示す。画像データ９０１は、図４のＳ４０２にてスキャン用画像処理を施した画像データである。オブジェクト９０２、９０３は、図４のＳ４０４において画像データ９０１からオブジェクト検出された図形および写真のオブジェクトである。ここでは、２つのオブジェクトが検出されたものとして説明する。オブジェクト管理テーブル９０４は、検出された各オブジェクトを管理するためのテーブルであり、ＤＲＡＭ２０２に保持される。オブジェクト管理テーブル９０４では、オブジェクトを一意に識別するためのオブジェクト番号、画像データ９０１上での座標、画像サイズ、保存先情報９１１、カラー変換処理後の保存先情報９１２、および、カラー化処理結果９１３が対応付けて保持される。カラー化処理結果９１３は、後述するカラー化処理結果判定処理の結果に基づき付与される。
【００４６】
なお、オブジェクト管理テーブル９０４にて管理されるオブジェクトの情報は上記の情報に限定するものではなく、その他にオブジェクトの種類、回転角度、色情報などを属性情報として備えてもよい。
【００４７】
［カラー化処理結果判定処理］
図１０〜図１２を用いて、図４のＳ４０８のオブジェクトのカラー化処理結果の判定処理の詳細を説明する。まず、図１０を用いて処理フローを説明する。本処理は、特に明記した場合を除き、ＣＰＵ２０１がＦＬＡＳＨ  ＲＯＭ２１２に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
【００４８】
Ｓ１００１にて、ＣＰＵ２０１は、Ｓ４０７で行ったカラー化処理済のオブジェクトについてヒストグラムを用いた色判定を行う。本処理の詳細は図１１を用いて後述する。
【００４９】
Ｓ１００２にて、ＣＰＵ２０１は、Ｓ１００１の色判定処理の結果に基づきセピア色か否かを判定する。セピア色とは、輝度階調はあるが色味が茶褐色、または、暗茶系の単一色で構成される色味である。上述した機械学習技術に基づくカラー変換部３０７でカラー化処理を行う場合、カラー化処理に失敗すると変換後の画像がセピア色となることが公知である。セピア色ではないと判定した場合（Ｓ１００２にてＮＯ）、Ｓ１００３へ遷移する。セピア色であると判定した場合は（Ｓ１００２にてＹＥＳ）、本処理フローを終了する。
【００５０】
Ｓ１００３にて、ＣＰＵ２０１は、オブジェクト内の閉領域を抽出し、各閉領域に対する修正処理を行う。本処理の詳細は図１２を用いて後述する。本工程の後、本処理フローを終了する。
【００５１】
次に、図１１を用いて、上述した図１０のＳ１００１で行うカラー化処理結果の色判定の処理の詳細を説明する。本処理は、特に明記した場合を除き、ＣＰＵ２０１がＦＬＡＳＨ  ＲＯＭ２１２に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
【００５２】
Ｓ１１０１にて、ＣＰＵ２０１は、Ｓ４０７で行ったカラー化処理済のオブジェクトに対して色空間変換を行う。Ｓ４０７で行うカラー化処理によりオブジェクトはＬａｂの色空間となっているため、ここでは、これを不図示の変換式を用いてＲＧＢの色空間に変換する。
【００５３】
Ｓ１１０２にて、ＣＰＵ２０１は、Ｓ１１０１でＲＧＢ色空間に変換したオブジェクトについてＲ、Ｇ、Ｂの各コンポーネント、および、輝度の各ヒストグラムを取得する。具体的には、各コンポーネントのヒストグラムは、オブジェクトのＲＧＢ画像からＲ（ｃｈ０）、Ｇ（ｃｈ１）、Ｂ（ｃｈ２）の各単一コンポーネントの画像を取得し、取得した画像の各画素について濃度別に画素数を累積することで取得される。また、輝度ヒストグラムは、ＲＧＢ画像の各画素について濃度別に画素数を累積することで取得される。
【００５４】
次に、Ｓ１１０３〜Ｓ１１０５において、オブジェクトがセピア色か否かが判定される。
【００５５】
Ｓ１１０３にて、ＣＰＵ２０１は、Ｓ１１０２で取得したＲ（ｃｈ０）のコンポーネントのヒストグラムと、輝度ヒストグラムとが同一であるか否かを判定する。具体的には、各ヒストグラムの濃度毎に値の誤差を出し、誤差の累計が所定値以下であれば同一であると判定される。誤差に対する所定値は、ＲＡＭ等に保持されているものとする。同一であると判定した場合は（Ｓ１１０３にてＹＥＳ）Ｓ１１０４へ進み、同一でないと判定した場合は（Ｓ１１０３にてＮＯ）Ｓ１１０７へ進む。
【００５６】
Ｓ１１０４にて、ＣＰＵ２０１は、Ｓ１１０２で取得したＧ（ｃｈ１）のコンポーネントのヒストグラムと、輝度ヒストグラムを所定の濃度範囲に圧縮したヒストグラムとが同一であるか否かを判定する。具体的には、ＣＰＵ２０１は、輝度ヒストグラムの濃度範囲（例えば、０〜１５の１６段階）を濃度範囲０〜１３に圧縮したヒストグラムを作成し、これをＧ（ｃｈ１）コンポーネントのヒストグラムと比較する。圧縮については特に上記に限定するものではない。比較は、Ｓ１１０３と同様、誤差値を用いて行う。同一であると判定した場合は（Ｓ１１０４にてＹＥＳ）Ｓ１１０５へ進み、同一でないと判定した場合は（Ｓ１１０４にてＮＯ）Ｓ１１０７へ進む。
【００５７】
Ｓ１１０５にて、ＣＰＵ２０１は、Ｂ（ｃｈ２）コンポーネントのヒストグラムと、輝度ヒストグラムを所定の濃度範囲に圧縮したヒストグラムとが同一であるか否かを判定する。ここでは、例えば濃度範囲０〜９で圧縮した輝度ヒストグラムを作成し、Ｂ（ｃｈ２）コンポーネントのヒストグラムと比較する。比較は誤差値を用いて行う。同一であると判定した場合は（Ｓ１１０５にてＹＥＳ）Ｓ１１０６へ進み、同一でないと判定した場合は（Ｓ１１０５にてＮＯ）Ｓ１１０７へ進む。
【００５８】
Ｓ１１０６にて、ＣＰＵ２０１は、オブジェクトがセピア色であると判定し、オブジェクト管理テーブル９０４における、当該オブジェクトのカラー化処理結果９１３をセピア色として設定する。そして、本処理フローを終了する。
【００５９】
Ｓ１１０７にて、ＣＰＵ２０１は、オブジェクトがセピア色ではないと判定し、オブジェクト管理テーブル９０４における、当該オブジェクトのカラー化処理結果９１３に非セピア色を設定する。そして、本処理フローを終了する。
【００６０】
次に図１２を用いて、図１０のＳ１００３で行う非セピア色として判定されたオブジェクトに対して行う修正処理の詳細を説明する。本処理は、特に明記した場合を除いて、ＣＰＵ２０１がＦＬＡＳＨ  ＲＯＭ２１２に格納されたプログラムに基づき、各処理部を指示することで実行するものとする。
【００６１】
Ｓ１２０１にて、ＣＰＵ２０１は、オブジェクト管理テーブル９０４に基づき、Ｓ１１０７で設定したカラー化処理結果９１３が非セピア色であるオブジェクトについて保存先情報９１２を参照してカラー化処理前のオブジェクトの画像データを取得する。つまり、変換前のモノクロの画像データが取得される。
【００６２】
Ｓ１２０２にて、ＣＰＵ２０１は、Ｓ１２０１で取得したオブジェクトから単色閉領域を取得する。単色閉領域とは、ある濃度値の画素が連続して隣り合って構成された領域である。オブジェクトを画素毎に走査して濃度が所定の誤差値以下、かつ、座標位置が隣り合う画素が所定数以上となる領域を検出して単色閉領域とする。つまり、所定のサイズよりも小さい領域は、処理の対象となる閉領域から除かれる。ここでの所定の誤差値および連続する同一画素の所定数の値は特に限定するものではない。これらは、オブジェクトの種類に応じて変更してもよい。本実施形態では、例えば、図形として検出したオブジェクト９０２は５つの単色閉領域を備えるものとして説明する。
【００６３】
Ｓ１２０３にて、ＣＰＵ２０１は、Ｓ１２０１で取得したオブジェクトに対応するカラー化処理後のオブジェクトから、Ｓ１２０２で取得した単色閉領域に対応する領域の情報を取得する。ＣＰＵ２０１は、Ｓ１２０１で所得した単色閉領域を構成する画素の座標に基づき、カラー化処理後のオブジェクト上で当該座標に対応する画素を含む領域の情報を取得する。
【００６４】
Ｓ１２０４にて、ＣＰＵ２０１は、Ｓ１２０３で取得した領域のヒストグラムを取得する。
【００６５】
Ｓ１２０５にて、ＣＰＵ２０１は、Ｓ１２０３で取得した領域が単色領域であるか否かを、Ｓ１２０４で取得したヒストグラムに基づき判定する。具体的には、ヒストグラムで所定以上の画素数を備える濃度の分布幅が所定値以下であれば当該領域を単色領域と判定する。単色領域と判定した場合は（Ｓ１２０５にてＹＥＳ）Ｓ１２０８へ遷移し、非単色領域と判定した場合は（Ｓ１２０５にてＮＯ）Ｓ１２０６へ遷移する。
【００６６】
Ｓ１２０６にて、ＣＰＵ２０１は、Ｓ１２０５で非単色領域と判定した領域の代表色を取得する。ここでの代表色とは、領域内の最頻出色を示す。ＣＰＵ２０１は、Ｓ１２０４で取得したヒストグラムに基づき代表色を取得する。
【００６７】
Ｓ１２０７にて、ＣＰＵ２０１は、Ｓ１２０５で判定した非単色領域の画素値をＳ１２０６で取得した代表色の画素値に置換することで、当該領域を単色領域に修正する。
【００６８】
Ｓ１２０８にて、ＣＰＵ２０１は、Ｓ１２０２で取得した全ての閉領域（オブジェクト９０２の場合は５つの閉領域）に対して、上述したＳ１２０３〜Ｓ１２０７の各処理を行ったか否かを判定する。未処理の閉領域がある場合は（Ｓ１２０８にてＮＯ）、ＣＰＵ２０１は、未処理の閉領域の中から一つを選択し、Ｓ１２０３に戻る。全ての閉領域の処理が終了した場合は（Ｓ１２０３にてＹＥＳ）、Ｓ１２０９へ遷移する。
【００６９】
Ｓ１２０９にて、ＣＰＵ２０１は、オブジェクト管理テーブル９０４で管理する非セピア色判定された全てのオブジェクト対して、上述したＳ１２０１〜Ｓ１２０８の各処理を行ったか否かを判定する。未処理のオブジェクトがある場合は（Ｓ１２０９にてＮＯ）、ＣＰＵ２０１は、未処理のオブジェクトの中から１つを選択し、Ｓ１２０１へ戻る。非セピア色と判定された全てのオブジェクトに対する処理が終了した場合は（Ｓ１２０９にてＹＥＳ）、本処理フローを終了する。
【００７０】
（処理例）
図１３を用いて、上述した処理の作用を具体的に説明する。
【００７１】
図１３（ａ）は、カラー化処理前のオブジェクト９０２を示す。ここでは、オブジェクト９０２が、図１１の処理で非セピア色として判定されるものとして説明する。この場合、図１２のＳ１２０１で元オブジェクトとしてカラー化処理前のオブジェクト９０２が取得される。更に、図１２のＳ１２０２において、カラー化処理前のオブジェクト９０２から閉領域１３０１〜１３０５として５つの閉領域が取得される。
【００７２】
図１３（ｂ）は、オブジェクト９０２を図４のＳ４０７においてカラー化処理が行われた結果得られた、カラー化処理後のオブジェクト１３１０を示す。ここでは、カラー化処理前のオブジェクト９０２の閉領域１３０２が、カラー化処理により領域１３１１となり、カラー化処理が不完全に実行された結果、色領域１３１２と色領域１３１３との異なる２つの色で構成されるものとする。言い換えると、閉領域１３０２（領域１３１１）において、色ムラが生じている状態となっている。なお、ここでは、２つの色で構成されているが、これに限定するものではなく、複数の色で構成された領域を対象とする。
【００７３】
図１３（ｃ）は、図１２のＳ１２０４で作成される領域１３１１のヒストグラムを示す模式図である。ここでは、横軸は画素濃度を１６階調に正規化して示し、縦軸は各画素階調の画素の頻出数を示す。棒１３２１が図１３（ｂ）の色領域１３１２に対応し、棒１３２２が図１３（ｃ）の色領域１３１３に対応する。図１２のＳ１２０６では、このヒストグラムに基づいて、色領域１３１２の色を領域１３１１における代表色とする。そして、Ｓ１２０７において、色領域１３１３の画素値が色領域１３１２の画素値で置換される。これにより、図１３（ｄ）に示すように、閉領域１３０２に対応する単色領域１３３１を備えた修正後のオブジェクト１３３０が得られる。
【００７４】
以上、本実施形態により、機械学習技術に基づくカラー変換部３０７を用いて行うオブジェクトのカラー化処理がセピア色となる失敗を検出できる。また、カラー化処理が不完全に実行された結果、期待される単色領域が得られなかった領域を単色領域として修正することができる。これにより、カラー化処理の失敗によるユーザに提供される品質の低下を回避できる。
【００７５】
＜その他の実施形態＞
本発明は、上述した実施形態に限定するものではない。他の構成例について、以下に述べる。
【００７６】
カラー変換部３０７の処理モデルの構成は、図７で示した畳み込み層（Ｃｏｎｖ層）とプーリング層（Ｐｏｏｌ層）との組を４つ直列に接続した構成に限定するものではない。例えば、畳み込み層とプーリング層の数は増減してもよく、フィルタサイズ、プーリング関数のサイズも増減してもよい。更には、他の処理を行う階層（例えば、全結合層）を適宜追加しても良い。例えば、畳み込み層とプーリング層の組数を減らすと学習処理（Ｓ５０５）の時間が短縮でき、一方、組数を増やせばより多くの入力画像に対して高いカラー化変換結果が得られる可能性が高まる。
【００７７】
また、図５のＳ５０５で行われる学習処理はＣＰＵ２０１だけでなく、システムバス２０９に接続した不図示のＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で行ってもよい。または、学習処理は、ネットワークＩ／Ｆ２０４を介してＬＡＮ１０４に接続するサーバ１０３上で適宜通信しながら行ってもよい。これにより、学習処理をより高速に実行でき、学習処理によるカラー化変換処理のダウンタイムを削減できる。
【００７８】
また、文字が重なったオブジェクトに対してカラー化処理を行う場合は、事前に文字を取り除いてからカラー化処理を行ってもよい。この場合、例えば、カラー化処理（Ｓ４０７）に先立ち、スキャン画像処理部３０２で行うスキャン用画像処理において画素単位で付与された不図示の属性情報が文字属性である画素を特定し、当該特定した画素の近隣にある背景属性を持つ画素で一時的に置換する。そして、置換した文字画素、および、座標情報は一時的にＤＲＡＭ２０２に記憶しておき、カラー化処理結果判定処理（図１０〜図１２）を実行後、処理後のオブジェクトに文字画素を合成する。これにより、色判定（図１１）や修正処理（図１２）を、文字の存在や色味に影響されることなく実行でき、処理精度を向上できる。なお、本処理はＣＰＵ２０１が実行してもよく、信号バス３１０に接続する不図示の専用画像処理部で行ってもよい。
【００７９】
また、修正処理（図１２）は、操作部２０３を介してユーザ指示により実行のオン、オフを制御できてもよい。この場合、図８（ｄ）で示した白黒カラー変換の設定画面に、図１４で示した、当該修正機能のオン、オフを設定するボタン１４０１を設ける。
【００８０】
また、カラー化処理を行った結果、セピア色になったオブジェクトが存在する場合には、画像合成処理（Ｓ４１０）において、ユーザにその旨を通知し、合成処理および印刷処理を継続するか否かの指示を受け付けてもよい。このとき、例えば、カラー化処理前のオブジェクト画像か、セピア色のオブジェクト画像のいずれを用いて印刷処理を行うかをユーザに選択させてもよい。
【００８１】
また、上記の例では、代表色として、領域における最頻出色を用いたが、これに限定するものではない。オブジェクトの種類に応じて、周辺の領域の色に応じて決定してもよい。例えば、オブジェクトがグラフなどの図形の場合、隣接する領域の色に応じて、重複しない色となるように置換する色を決定してもよい。
【００８２】
本発明は上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８３】
１０１…ＭＦＰ、２１１…画像処理部、３０２…スキャン画像処理部、３０３…レンダリング処理部、３０４…プリント処理部、３０５…カラー判定部、３０６…モノクロ変換部、３０７…カラー変換部、３０８…オブジェクト検出部、３０９…オブジェクト合成部
【図１】
2019140538.tif 000003
【図２】
2019140538.tif 000004
【図３】
2019140538.tif 000005
【図４】
2019140538.tif 000006
【図５】
2019140538.tif 000007
【図６】
2019140538.tif 000008
【図７】
2019140538.tif 000009
【図８】
2019140538.tif 000010
【図９】
2019140538.tif 000011
【図１０】
2019140538.tif 000012
【図１１】
2019140538.tif 000013
【図１２】
2019140538.tif 000014
【図１３】
2019140538.tif 000015
【図１４】
2019140538.tif 000016