(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-24
(45)【発行日】2025-05-07
(54)【発明の名称】画像生成装置、制御方法及びプログラム
(51)【国際特許分類】
H04N 1/46 20060101AFI20250425BHJP
G06T 1/00 20060101ALI20250425BHJP
【FI】
H04N1/46
G06T1/00 510
(21)【出願番号】P 2021134384
(22)【出願日】2021-08-19
【審査請求日】2024-03-21
(73)【特許権者】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100112335
【氏名又は名称】藤本 英介
(74)【代理人】
【識別番号】100101144
【氏名又は名称】神田 正義
(74)【代理人】
【識別番号】100101694
【氏名又は名称】宮尾 明茂
(74)【代理人】
【識別番号】100124774
【氏名又は名称】馬場 信幸
(72)【発明者】
【氏名】松岡 輝彦
(72)【発明者】
【氏名】高島 真彦
(72)【発明者】
【氏名】今泉 大作
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2006-229280(JP,A)
【文献】特開2003-134532(JP,A)
【文献】特開2005-012768(JP,A)
【文献】特開平08-022532(JP,A)
【文献】特開2012-085029(JP,A)
【文献】特開2007-274287(JP,A)
【文献】特開2013-138378(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-1/40
G06T 3/00-5/94
H04N 1/46-1/62
(57)【特許請求の範囲】
【請求項1】
画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類部と、
前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出部と、
前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成部と、
を備え
、
前記算出部は、前記第1所定数の代表色と、前記第2所定数の代表色とを算出した後、前記画像に含まれる前記画素に基づき、前記第1所定数の代表色と前記第2所定数の代表色とを更新する
ことを特徴とする画像生成装置。
【請求項2】
前記色空間はRGB色空間であり、
前記分類部は、前記画素のR値とG値との差の絶対値と、G値とB値との差の絶対値と、B値とR値との差の絶対値が、何れも閾値以内である場合、当該画素を前記無彩色の領域に分類し、それ以外の場合、当該画素を前記有彩色の領域に分類することを特徴とする請求項1に記載の画像生成装置。
【請求項3】
前記色空間はL
*a
*b
*色空間であり、
前記分類部は、前記画素のa
*値の絶対値と、b
*値の絶対値とが何れも閾値以内である場合、当該画素を前記無彩色の領域に分類し、それ以外の場合、当該画素を前記有彩色の領域に分類することを特徴とする請求項1に記載の画像生成装置。
【請求項4】
前記色空間はYCbCr色空間であり、
前記分類部は、前記画素のU値とV値とが、前記画素のCb値の絶対値と、Cr値の絶対値とが何れも閾値以内である場合、当該画素を前記無彩色の領域に分類し、それ以外の場合、当該画素を前記有彩色の領域に分類することを特徴とする請求項1に記載の画像生成装置。
【請求項5】
前記分類部は、
前記有彩色の領域を複数の分割領域に分割し、
前記画像に含まれる前記画素が前記有彩色の画素である場合、当該画素を前記有彩色の何れかの前記分割領域に分類することを特徴とする請求項1から4のいずれか一項に記載の画像生成装置。
【請求項6】
前記分類部は、
前記無彩色の領域を複数の分割領域に分割し、
前記画像に含まれる前記画素が前記無彩色の画素である場合、当該画素を前記無彩色の何れかの前記分割領域に分類する
ことを特徴とする請求項5に記載の画像生成装置。
【請求項7】
画像生成装置の制御方法であって、
画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類ステップと、
前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出ステップと、
前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成ステップと、
を含
み、
前記算出ステップは、前記第1所定数の代表色と、前記第2所定数の代表色とを算出した後、前記画像に含まれる前記画素に基づき、前記第1所定数の代表色と前記第2所定数の代表色とを更新する
ことを特徴とする制御方法。
【請求項8】
コンピュータに、
画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類機能と、
前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出機能と、
前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成機能と、
を実現させ
、
前記算出機能は、前記第1所定数の代表色と、前記第2所定数の代表色とを算出した後、前記画像に含まれる前記画素に基づき、前記第1所定数の代表色と前記第2所定数の代表色とを更新する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像生成装置等に関する。
【背景技術】
【0002】
従来より、画像に用いられている色数を減らす減色処理を実行することにより、所定の画像形式のファイルを生成したり、当該画像形式のファイルサイズを小さくしたりする技術が利用されている。
【0003】
また、減色後の画像に用いられる色(代表色)を決定するための技術も提案されている。例えば、RGB色空間におけるR軸、G軸、B軸の長さの比が3:4:2となるように色空間を変更し、当該変更した色空間上において色分布を作成し、当該色分布に基づいてメディアンカット法により色空間を所定の数に分割し、分割された各領域の代表色を選択する技術が提案されている(例えば、特許文献1参照)。また、L*a*b*色空間に変換した入力画像データに対して、L*a*b*色空間全体に均一に分布するように初期クラスタを設定し、K-meansアルゴリズムを用いて入力画像データの代表色を決定する技術が提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2005-236653号公報
【文献】特開2015-60315号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、一般的に、有彩色と無彩色とを区別することなく、色空間の所定の領域から代表色を算出すると、有彩色に無彩色が混じることにより、代表色の彩度が落ちてしまうという課題がある。また、L*a*b*色空間全体に均一に分布するように初期クラスタを設定したとしても、無駄な初期クラスタが存在するため、処理時間を余分に必要とするといった課題がある。このような課題について、特許文献1や特許文献2では考慮されていない。
【0006】
本開示は上述した課題に鑑み、画像内の画素を無彩色の画素と有彩色の画素とに分類して算出した代表色を用いた減色画像を生成する画像生成装置等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本開示に係る画像生成装置は、画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類部と、前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出部と、前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成部と、を備えることを特徴とする。
【0008】
また、本開示に係る制御方法は、画像生成装置の制御方法であって、画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類ステップと、前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出ステップと、前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成ステップと、を含むことを特徴とする。
【0009】
また、本開示に係るプログラムは、コンピュータに、画像に含まれるそれぞれの画素を、色空間の内部における無彩色の領域と、有彩色の領域との何れの領域の何れかの領域に分類する分類機能と、前記無彩色の領域に分類された前記画素から第1所定数の代表色を算出し、前記有彩色の領域に分類された前記画素から第2所定数の代表色を算出する算出機能と、前記画像に含まれるそれぞれの前記画素を、前記第1所定数の前記代表色及び前記第2所定数の前記代表色のうち、画素値の差が最小となる代表色の画素に置き換えることで前記画像の減色画像を生成する生成機能と、を実現させることを特徴とする。
【発明の効果】
【0010】
本開示によれば、画像内の画素を無彩色の画素と有彩色の画素とに分類して算出した代表色を用いた減色画像を生成する画像生成装置等を提供することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態における画像形成装置の外観斜視図である。
【
図2】第1実施形態における画像形成装置の機能構成を説明するための図である。
【
図3】第1実施形態における色数変換処理部の機能構成を説明するための図である。
【
図4】第1実施形態における初期分類部のRGB色空間における分割領域の一例を説明するための図である。
【
図5】第1実施形態における初期分類処理の流れ(RGB色空間の場合)を説明するためのフロー図である。
【
図6】第1実施形態における初期分類部のCIELAB色空間における分割領域の一例を説明するための図である。
【
図7】第1実施形態における初期分類処理の流れ(CIELAB色空間の場合)を説明するためのフロー図である。
【
図8】第1実施形態における初期分類部のYUV(YCbCr)色空間における分割領域の一例を説明するための図である。
【
図9】第1実施形態における領域分割処理の流れを説明するためのフロー図である。
【
図10】第1実施形態における第1代表色算出処理の流れを説明するためのフロー図である。
【
図11】第1実施形態における出力画像生成処理の流れを説明するためのフロー図である。
【
図12】第1実施形態における動作例を説明するための図である。
【
図13】第2実施形態における設定テーブルのデータ構造の例を示した図である。
【
図14】第3実施形態における色数変換処理部の機能構成を説明するための図である。
【
図15】第3実施形態における初期分類部の具体例を説明するための図である。
【
図16】第3実施形態における第2代表色算出処理を説明するためのフロー図である。
【
図17】第3実施形態における動作例を説明するための図である。
【
図18】第4実施形態における色数変換処理部の機能構成を説明するための図である。
【
図19】第4実施形態における第3代表色算出処理の流れを説明するためのフロー図である。
【
図20】第5実施形態における画像読取装置の機能構成を説明するための図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示を実施するための一実施形態について説明する。なお、以下の実施形態は、本開示を説明するための一例であり、特許請求の範囲に記載した発明の技術的範囲が、以下の記載に限定されるものではない。
【0013】
[1.第1実施形態]
[1.1 機能構成]
図1及び
図2を参照して、画像形成装置1の機能構成を説明する。画像形成装置1は、原稿の画像を読み取り、読み取った画像を記録用紙等の記録媒体に形成(印刷)したり、他の装置に送信することにより出力したりすることが可能な装置である。例えば、画像形成装置1は、コピー機能、印刷機能、スキャナ機能、メール送信機能等を有するデジタル複合機(MFP;Multi-Function Printer/Peripheral)である。
【0014】
図1は画像形成装置1の外観斜視図、
図2は画像形成装置1の機能的構成を示すブロック図である。画像形成装置1は、
図2に示すように、カラー画像入力装置10、カラー画像処理装置20、カラー画像出力装置30、送受信装置40、操作パネル50、記憶部60、制御部70を備えて構成される。
【0015】
カラー画像入力装置10は、原稿から画像を光学的に読み取ることで、画像を入力する装置である。カラー画像入力装置10は、例えば、CCD(Charge Coupled Device)を有するカラースキャナにより構成される。カラー画像入力装置10は、原稿からの反射光像を、CCDを用いてRGB(R:赤,G:緑,B:青)のアナログ信号として読み取ることで、画像をRGBのアナログ信号として、カラー画像処理装置20に出力する。なお、本実施形態では、カラー画像入力装置10によって入力された画像を、入力画像という。
【0016】
カラー画像処理装置20は、入力画像に対して所定の処理を実行することで、RGBのデジタル信号(以下、RGB信号という)からなるカラーの画像データや、当該画像データに基づく圧縮ファイルを生成する装置である。カラー画像処理装置20の具体的な機能構成については後述する。
【0017】
カラー画像出力装置30は、カラー画像処理装置20によって生成された画像データに基づく画像を、熱転写、電子写真、インクジェット等の方式により、記録シート(たとえば記録用紙等)上にカラー画像を形成して出力する出力装置(印刷装置)である。カラー画像出力装置30は、本発明における画像形成手段として機能する。
【0018】
送受信装置40は、他の装置と通信を行う装置である。送受信装置40は、ネットワークカード、モデム等、通信を行うことが可能な装置により構成される。
【0019】
送受信装置40は、公衆回線網、LAN(Local Area Network)又はインターネット等の通信ネットワークに接続可能である。送受信装置40は、カラー画像処理装置20によって生成された画像データの圧縮ファイルを、ファクシミリや電子メール等の通信方法により、外部の装置へ圧縮ファイルを送信する。たとえば、操作パネル50においてScan to e-mailモードが選択されている場合、送受信装置40は、圧縮ファイルを、e-mailに添付し、設定された送信先へ送信する。
【0020】
操作パネル50は、画像形成装置1に対する操作を入力したり、各種情報を表示したりする。操作部52は、画像形成装置1の動作モードや各種設定を入力するための設定ボタン及びテンキー等の入力装置によって構成される。また、表示部54は、LCD(Liquid crystal display)や有機EL(electro-luminescence)ディスプレイ、マイクロLEDディスプレイ等の表示装置により構成される。操作パネル50は、操作部52と表示部54とを一体に構成したタッチパネルであってもよい。この場合において、タッチパネルの入力を検出する方式は、例えば、抵抗膜方式、赤外線方式、電磁誘導方式、静電容量方式といった、一般的な検出方式であればよい。
【0021】
記憶部60は、画像データ等の各種データや各種プログラムを記憶する機能部であり、例えば、半導体メモリであるSSD(Solid State Drive)や、HDD(Hard Disk Drive)等の記憶装置によって構成される。
【0022】
制御部70は、画像形成装置1の全体を制御するための機能部である。制御部70は、記憶部60に記憶されている各種プログラムを読み出して実行することにより各種機能を実現しており、1又は複数の演算装置(例えば、CPU(Central Processing Unit))により構成されている。
【0023】
本実施形態では、制御部70は、カラー画像入力装置10、カラー画像処理装置20、カラー画像出力装置30、送受信装置40、操作パネル50、記憶部60を制御して、画像形成装置1において実行される各種処理を実行する。
【0024】
つづいて、カラー画像処理装置20の詳細について説明する。A/D変換部201は、カラー画像入力装置10から出力されたRGBのアナログ信号をRGBのデジタル信号(RGB信号)へ変換することで、RGB信号からなる画像データに変換(画像データを生成)する。A/D変換部201は、RGB信号をシェーディング補正部202に出力する。
【0025】
シェーディング補正部202は、A/D変換部201から出力されたRGB信号に対して、カラー画像入力装置10の照明系、結像系及び撮像系で生じる各種の歪みを取り除く処理を行う。シェーディング補正部202は、歪みを取り除いたRGB信号を、原稿種別判定部203に出力する。
【0026】
原稿種別判定部203は、シェーディング補正部202から出力されたRGB信号(RGBの反射率信号)をRGB各色の濃度を示す濃度信号に変換し、文字、写真、又は印画紙等の原稿の種別を判定する原稿種別判定処理を実行する。原稿種別判定処理の処理結果(自動原稿判別結果)は、後段の画像処理に反映される。なお、ユーザによって操作パネル50を用いて原稿種別が設定された場合、原稿種別判定部203は、原稿種別判定処理を実行しない。原稿種別判定部203は、シェーディング補正部202から出力されたRGB信号を、入力階調補正部204に出力する。
【0027】
入力階調補正部204は、原稿種別判定部203から出力されたRGB信号に対して、カラーバランスの調整、下地濃度の除去、及びコントラストの調整等の画質調整処理を行う。入力階調補正部204は、画質調整処理を行ったRGB信号を、領域分離処理部205に出力する。
【0028】
領域分離処理部205は、入力階調補正部204から出力されたRGB信号に基づく画像中の各画素を、所定の領域(例えば、文字領域、網点領域、又は写真領域のいずれか)に属する画素に分類することで、当該画像の領域を分離する。領域分離処理部205は、分離結果に基づき、各画素が属している領域を示す領域識別信号を、黒色生成下色除去部207、空間フィルタ処理部208、階調再現処理部212へ出力する。領域分離処理部205は、入力階調補正部204から出力されたRGB信号を、色補正部206に出力する。
【0029】
色補正部206は、画像データの出力先に応じて、以下の処理を実行する。
(1)カラー画像出力装置30に画像データが出力される場合
色補正部206は、領域分離処理部205から出力されたRGB信号をCMYのデジタル信号(以下、CMY信号という)に変換する。さらに、色補正部206は、色再現の忠実化実現のために、不要吸収成分を含むCMY色材の分光特性に基づいた色濁りをCMY信号から取り除く処理を行う。色補正部206は、色補正後のCMY信号を黒色生成下色除去部207へ出力する。
(2)送受信装置40に画像データに基づく圧縮ファイルが出力される場合
色補正部206は、領域分離処理部205から出力されたRGB信号を、色補正されたRGB信号(操作パネルでカラーモードとしてフルカラーモードが選択された場合等)又はグレー信号(操作パネルでカラーモードとしてモノクロモードが選択された場合等)に変換する。また、色補正部206は、色補正されたRGB信号又はグレー信号を空間フィルタ処理部208に出力する。さらに、色補正部206は、色補正されたRGB信号を、色数変換判定処理部215に出力する。
【0030】
黒色生成下色除去部207は、色補正部206から出力されたCMY信号に基づき、CMY信号から黒色(K)信号を生成する黒色生成処理と、CMY信号から黒色生成で得たK信号を差し引いて新たなCMY信号を生成する処理とを行う。この結果、CMY3色のデジタル信号は、CMYKの4色のデジタル信号(以下、CMYK信号という)に変換される。黒色生成下色除去部207は、CMY信号を変換したCMYK信号を空間フィルタ処理部208へ出力する。
【0031】
黒色生成処理の一例としては、一般に、スケルトン・ブラックによる黒色生成を行う方法が用いられる。この方法では、スケルトン・カーブの入出力特性をy=f(x)、入力されるデータをC,M,Y、出力されるデータをC’,M’,Y’,K’、UCR(Under Color Removal)率をα(0<α<1)とすると、黒色生成下色除去処理は、下記の式(1)~式(4)で表わされる。
K’=f(min(C,M,Y)) …(1)
C’=C-αK’ …(2)
M’=M-αK’ …(3)
Y’=Y-αK’ …(4)
【0032】
ここで、UCR率α(0<α<1)とは、CMYが重なっている部分をKに置き換えてCMYをどの程度削減するかを示すものである。式(1)は、CMYの各信号強度の内の最も小さい信号強度に応じてK信号が生成されることを示している。
【0033】
空間フィルタ処理部208は、画像データの出力先に応じて、以下の処理を実行する。
(1)カラー画像出力装置30に画像データが出力される場合
空間フィルタ処理部208は、黒色生成下色除去部207から出力されたCMYK信号の画像データに対して、領域分離処理部205から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行う。例えば、空間フィルタ処理部208は、CMYK信号の画像データにおける空間周波数特性を補正する処理を実行することで、画像のぼやけ又は粒状性劣化を改善させる。また、空間フィルタ処理部208は、領域分離処理部205にて文字に分離された領域に対して、文字の再現性を高めるために、高周波成分の強調量が大きいフィルタを用いて空間フィルタ処理を行う。また、空間フィルタ処理部208は、領域分離処理部205にて網点に分離された領域に対しては、入力網点成分を除去するためのローパス・フィルタ処理を行う。空間フィルタ処理部208は、処理後のCMYK信号を出力階調補正部210に出力する。
【0034】
(2)送受信装置40に画像データに基づく圧縮ファイルが出力される場合
空間フィルタ処理部208は、色補正部206から出力された信号(RGB信号又はグレー信号)に対して、領域分離処理部205から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行う。例えば、空間フィルタ処理部208は、空間周波数特性を補正する処理を実行することで、画像のぼやけ又は粒状性劣化を改善させる。空間フィルタ処理部208は、処理後の信号を解像度変換処理部209に出力する。
【0035】
解像度変換処理部209は、空間フィルタ処理部208から出力された信号(RGB信号またはグレー信号)に対して、操作パネル50において設定された解像度の画像データになるように解像度変換処理を行う。例えば、スキャナの入力解像度が600DPI×300DPIの画像データで、操作パネル50で選択した解像度が300DPI×300DPIであった場合、解像度変換処理部209は、主走査方向の2画素毎に平均値を求め、それを出力値とすることで、600DPI×300DPIから300DPI×300DPIへの解像度の変換を実行する。解像度変換処理部209は、処理後の信号を出力階調補正部210に出力する。
【0036】
出力階調補正部210は、画像データの出力先に応じて、以下の処理を実行する。
(1)カラー画像出力装置30に画像データが出力される場合
出力階調補正部210は、空間フィルタ処理部208から出力されたCMYK信号に対して、カラー画像出力装置30の特性である網点面積率に基づく出力階調補正処理を行い、処理後のCMYK信号を階調再現処理部212に出力する。
(2)送受信装置40に画像データに基づく圧縮ファイルが出力される場合
出力階調補正部210は、解像度変換処理部209から出力された信号(RGB信号またはグレー信号)に対して、必要に応じてかぶりやハイライトの下地が消えるまたは薄くなるように出力階調補正を行う。出力階調補正部210は、処理後のRGB信号を色数変換処理部211に出力する。
【0037】
色数変換処理部211は、後述する色数変換判定処理部215からの出力(色数変換処理のON又はOFFを示す信号)を入力し、色数変換処理のONを示す信号を入力した場合、色数変換処理を実行する。色数変換処理とは、色補正部206から出力されたRGB信号からなる画像データに対して減色処理を行い、画像データを生成する処理である。色数変換処理部211は、減色処理を行った画像データ(減色画像の画像データ)を生成した場合、減色処理を行った画像データのRGB信号を、圧縮処理部213に出力する。なお、色数変換処理部211は、色数変換処理のOFFを示す信号を入力した場合、色数変換処理を実行せず、色補正部206から出力されたRGB信号をそのまま(例えば、フルカラーのまま)圧縮処理部213に出力する。色数変換処理部211の具体的な機能構成及び色数変換処理部211が実行する処理については、後述する。
【0038】
なお、色数変換処理部211は、減色処理を行わない場合、出力階調補正部210から出力されたRGB信号を圧縮処理部213に出力する。もしくは、色数変換処理部211は、減色処理を行わない場合、出力階調補正部210から出力されたグレー信号を階調再現処理部212及び圧縮処理部213に出力する。
【0039】
階調再現処理部212は、画像データの出力先に応じて、以下の処理を実行する。
(1)カラー画像出力装置30に画像データが出力される場合
階調再現処理部212は、出力階調補正部210から出力されたCMYK信号に対して、領域分離処理部205から出力された領域識別信号に基づいて、領域に応じた中間調処理を行う。例えば、階調再現処理部212は、文字領域に対しては、高域周波成分の再現に適した高解像度のスクリーンによる二値化又は多値化の処理を行う。また、階調再現処理部212は、網点領域に対しては、階調再現性を重視したスクリーンでの二値化又は多値化の処理を行う。階調再現処理部212は、処理後のCMYK信号を、カラー画像出力装置30に出力する。
(2)送受信装置40に画像データに基づく圧縮ファイルが出力される場合
階調再現処理部212は、操作パネル50において出力する画像データのカラーモードとしてモノクロ2値が選択された場合、色数変換処理部211から出力されたグレー信号に対して二値化処理を行う。そして、階調再現処理部212は、処理後の信号(白黒二値信号からなるK信号)を、圧縮処理部213に出力する。一方、階調再現処理部212は、出力する画像データのカラーモードとしてモノクロ2値が選択されていない場合は、色数変換処理部211から出力されたRGB信号を、圧縮処理部213に出力する。
【0040】
圧縮処理部213は、RGB信号やグレー信号、白黒二値信号からなる画像データに対して、操作パネル50のファイルフォーマットの設定に従い、必要に応じてJPEG(Joint Photographic Experts Group)やMMR(Modified Modified Read)などの圧縮処理を行い、圧縮データを生成する。圧縮データは、画像データであってもよいしPDF(Portable Document Format)形式のデータであってもよい。圧縮処理部213は、減色処理の行われない通常のPDFデータを生成するとき、原稿種別判定部203の原稿の種別の判定結果に基づき、PDFデータに含まれるJPEGの画像データの圧縮率を制御したりしてもよい。圧縮処理部213は、圧縮データをファイル生成部214に出力する。
【0041】
ファイル生成部214は、圧縮処理部213から出力された圧縮データに基づき、ファイルを生成し、ファイルを送受信装置40に出力する。また、ファイル生成部214は、後述する色数変換判定処理部215から出力された信号を入力し、当該信号に基づきファイルを生成してもよい。例えば、ファイル生成部214は、色数変換処理のONを示す信号を入力した場合、インデックスカラーPDFフォーマットでファイル生成してもよい。また、ファイル生成部214は、色数変換処理のOFFを示す信号を入力した場合、JPEG-PDFフォーマットでファイル生成してもよい。
【0042】
なお、カラー画像処理装置20は、上述した処理の実行時に、処理途中の画像データ(中間データ)を一時的に記憶部60に記憶してもよい。また、カラー画像処理装置20は、ファイル生成部214によって生成された圧縮ファイルを、送受信装置40に出力する前に記憶部60に記憶してもよい。
【0043】
色数変換判定処理部215は、色補正部206から出力されたRGB信号を入力し、色数変換を行うか否かを判定する。色数変換判定処理部215は、色数変換を行う場合、色数変換処理の「ON」を示す信号を出力する。一方、色数変換判定処理部215は、色数変換行わない場合、色数変換処理の「OFF」を示す信号(色数変換を行わないことを示す信号)を出力する。
【0044】
色数変換判定処理部215は、例えば、出力する画像データのカラーモードに応じて、色数変換すべき原稿であるか否かを判定する。
【0045】
例えば、カラーモードが「カラー」である場合、色数変換判定処理部215は、以下の3つの条件を全て満たした場合のみ色数変換を行うと判定する。
・原稿サイズに対して白下地が一定比率以上存在すること(白下地判定)
・原稿サイズに対して写真領域が一定比率未満存在する(写真判定)
・色領域分割した際の色の分布が一定範囲以内に収まっていること(色分布判定)
なお、色数変換判定処理部215は、色分布判定に、後述する減色処理における中央値分割法の結果を活用してもよい。この場合、色数変換処理部211は、減色処理を行うか否かに関わらず、後述する初期分類処理及び領域分割処理を実行する。このとき、色数変換判定処理部215は、色数変換処理部211によって分割された各領域の大きさの合計や、各領域の位置に基づき、色の分布が一定範囲以内に収まっているか否かを判定する。
【0046】
また、例えば、カラーモードが「モノクロ」である場合、色数変換判定処理部215は、以下の条件に基づき色数変換を行うか否かを判定する。
・単純2値化した際に文字領域が黒潰れすること(文字つぶれ判定)
・単純2値化した際に写真領域が黒潰れすること(写真つぶれ判定)
・原稿サイズに対して写真領域が一定比率未満存在すること(写真判定)
・文字領域に文字が読みづらくなる疑似輪郭が発生していないこと(疑似輪郭判定)
この場合、色数変換判定処理部215は、文字潰れ又は写真潰れがあり、写真領域が一定未満で、疑似輪郭が発生していなければ、色数変換処理を行うと判定する。
【0047】
なお、判定に用いる比率や範囲は、予め定められていてもよいし、ユーザによって設定可能であってもよい。また、色数変換判定処理部215は、上述する判定を、出力する画像データの出力設定に応じて行ってもよい。例えば、色数変換判定処理部215は、PDFファイルを出力する場合であって、ページ毎にフルカラー又は減色カラーを自動的に判定したり、ページ毎にグレースケールか減色グレーか白黒2値かを自動的に判定したりする場合に、上記判定を行ってもよい(自動設定モード)。この場合において、自動設定モードでないとき(ユーザによって色数変換処理を行うか否かが手動で選択されたとき)、色数変換判定処理部215は、上述した判定を行わず、ユーザの選択に基づく信号を出力してもよい。
【0048】
[1.2 色数変換処理部の詳細]
[1.2.1 処理の概要]
本実施形態では、色数変換処理部211は、入力されたカラー画像(入力画像)に対し、減色処理に用いる色空間の内部の領域を無彩色/有彩色の領域に分割し、さらに、有彩色の領域を条件に従い複数の領域に分割した各領域に、入力画像の各画素を振り分ける(分類する)。また、色数変換処理部211は、無彩色/有彩色毎に中央値分割法(メディアンカット法)により代表色を求めた後、入力画像の各画素に対して一番近い代表色のインデックス値を割り当てることで、入力画像を減色した減色画像を生成する。
【0049】
なお、本実施形態では、減色画像に含まれる色の数(メディアンカット法により求められる代表色の数)を、減色数という。減色数は、例えば、「無彩色=5、有彩色=15」といったように、無彩色の代表色の数(第1所定数)と有彩色の代表色の数(第2所定数)とに対してそれぞれ定められてもよいし、「20」といったように、無彩色の代表色の数と有彩色の代表色の数との合計に対して定められてもよい。
【0050】
減色数は、手動原稿モード(ユーザによって設定された原稿種別)又は原稿種別判定部203の判定結果である自動原稿判別結果に応じて決定されてもよいし、ユーザによって設定されてもよいし、予め定められてもよい。
【0051】
原稿の種別や出力する画像データのカラーモードに応じて減色数が決定される場合は、記憶部60に、予め、原稿の種類及び出力する画像データのカラーモードの組み合わせと減色数とを対応付けて記憶させる。この場合、色数変換処理部211は、手動原稿モード又は自動原稿判別結果に対応した減色数を、記憶部60から取得すればよい。
【0052】
[1.2.2 色数変換処理部の構成]
図3を参照して、本実施形態における色数変換処理部211の構成について説明する。色数変換処理部211は、減色処理に用いる色空間に応じて、
図3(a)又は
図3(b)の何れかに示した機能部を備えて構成される。
(1)RGB色空間が用いられる場合
色数変換処理部211は、
図3(a)に示すように、初期分類部2111、領域分割部2112、第1代表色算出部2113、出力画像生成部2114を含んで構成される。
(2)RGB色空間以外の色空間が用いられる場合
色数変換処理部211は、
図3(b)に示すように、色変換部2110、初期分類部2111、領域分割部2112、第1代表色算出部2113、出力画像生成部2114を含んで構成される。
【0053】
色変換部2110は、入力画像(RGB信号)に含まれる画素の画素値を、所定の色空間(例えば、YUV(YCbCr)色空間、L*a*b*(CIELAB)色空間、LCH色空間等)における画素値に変換する色変換処理を実行する。
【0054】
初期分類部2111は、減色処理に用いる色空間を分割した領域に、入力画像の各画素を分類する初期分類処理を実行する。領域分割部2112は、初期分類処理において分割された領域をメディアンカット法に基づき分割する領域分割処理を実行する。第1代表色算出部2113は、領域分割処理によって分割された領域から代表色を算出する第1代表色算出処理を実行する。出力画像生成部2114は、第1代表色算出処理によって算出された代表色を用いて減色画像を生成する出力画像生成処理を実行する。初期分類処理、領域分割処理、第1代表色算出処理、出力画像生成処理については、後述する。
【0055】
色数変換処理部211は、減色処理に用いる色空間がRGB色空間以外の色空間である場合、出力階調補正部210から出力されたRGB信号(入力画像)の色空間を、色変換部2110を介して変換し、初期分類部2111に出力する。なお、色数変換処理部211は、減色処理に用いる色空間がRGB色空間であれば、出力階調補正部210から出力されたRGB信号(入力画像)を、そのまま初期分類部2111に出力する。そして、色数変換処理部211は、初期分類処理、領域分割処理、第1代表色算出処理、出力画像生成処理を実行することで、入力画像の減色画像を生成する。
【0056】
なお、色数変換処理部211は、減色処理に用いる色空間として、上述した色空間のうち1の色空間に対応していればよく、当該色空間における減色処理に応じた機能部を備えればよい。また、減色処理に用いる色空間は、例えば、画像形成装置1の設計方針等に基づき、画像形成装置1の製造時に決定されてもよい。
【0057】
例えば、速度重視で減色処理を効率的に行う場合は、減色処理に用いる色空間として、色変換を行わないRGB色空間が用いられればよい。色再現を重視する場合には、減色処理に用いる色空間として、輝度と色度とが分離され、後述する初期分類処理において色領域の分割領域を色相によって決定するL*a*b*色空間を用いられればよい。また、速度と色再現とのバランスを考慮する場合は、減色処理に用いる色空間として、色変換の計算量が多くなく、輝度と色度に分離できるYUV(YCbCr)色空間が用いられればよい。
【0058】
なお、色数変換処理部211は、上述した3つの色空間に対応し、速度重視(RGB色空間)-標準(YUV(YCbCr)色空間)-色再現重視(LAB色空間)のように、減色処理に用いる色空間を、ユーザの操作や画像形成装置1の状態(例えば、実行すべきジョブの数)等に基づき、3段階で切替可能にしてもよい。
【0059】
なお、色変換部2110、初期分類部2111、領域分割部2112、第1代表色算出部2113、出力画像生成部2114の一部又は全ては、制御部70によって実行されるプログラムとして実現されてもよいし、回路等のハードウェアとして実現されてもよい。
【0060】
[1.2.3 初期分類処理]
初期分類部2111によって実行される初期分類処理について説明する。初期分類部2111は、予め、減色処理に用いる色空間を無彩色/有彩色の領域に分割し、さらに、有彩色の領域を複数の領域に分割する。ここで、色空間のうち、無彩色の領域を無彩色領域といい、有彩色の領域を有彩色領域という。
【0061】
初期分類部2111は、減色処理を行うに際し、原稿の種類(原稿種別)に応じて減色画像の色再現を制御するために、減色処理に用いる色空間を、手動原稿モード又は自動原稿判別結果に応じた分割の仕方で、最初に、無彩色領域を1領域に、有彩色領域を8領域に分割する。以下、減色処理に用いる色空間の種類毎に、初期分類処理の流れを説明する。
【0062】
[1.2.3.1 RGB色空間]
はじめに、減色処理に用いる色空間がRGB色空間である場合における初期分類処理の流れを説明する。なお、本実施形態では、RGB色空間において、R値とG値とB値が取り得る値は、いずれも、0から255までとする。
【0063】
初期分類部2111は、RGB色空間を立方体(RGB立方体)で表したとき、RGB立方体の(R,G,B)=(0,0,0)の位置の頂点(頂点K)と、(R,G,B)=(255,255,255)の位置の頂点(頂点W)とを結ぶ直線を設定する。ここで、初期分類部2111は、頂点Kと頂点Wとを結ぶ直線から一定の範囲内の領域を無彩色(無彩色領域)とする。一方、初期分類部2111は、頂点Kと頂点Wとを結ぶ直線から一定の範囲外の領域を有彩色(有彩色領域)とする。
【0064】
頂点Kと頂点Wとを結ぶ直線から一定の範囲内にあることは、注目している画素の画素値において、R値とG値との差の絶対値と、G値とB値との差の絶対値と、B値とR値との差の絶対値が、何れも一定値(閾値)以内であることに対応する。閾値は、ユーザによって設定されてもよいし、手動原稿モードや自動原稿判別結果に応じて設定されてもよいし、予め定められていてもよい。
【0065】
つまり、初期分類部2111は、R値とG値とB値との何れも同じ値である画素に加えて、R値とG値とB値とがほぼ同一の値である画素(無彩色に近い画素)を、無彩色の画素であるとして無彩色領域に分類する。
【0066】
さらに、初期分類部2111は、有彩色領域を、RGB立方体の8つの各頂点を基準に、8つの直方体の領域に分割する。本実施形態では、色空間を分割したそれぞれの領域(色空間内の部分領域)を、分割領域という。ここで、この8つの直方体(有彩色の分割領域)は、無彩色領域を含まない。
【0067】
有彩色の分割領域は、無彩色領域を含まない領域であって、以下のような領域である。
(1)R値、G値、B値の何れもが0~127を取る領域
(2)R値が128~255、G値とB値とが0~127を取る領域
(3)G値が128~255、R値とB値とが0~127を取る領域
(4)B値が128~255、R値とG値とが0~127を取る領域
(5)R値とG値とが128~255、B値が0~127を取る領域
(6)R値とB値とが128~255、G値が0~127を取る領域
(7)G値とB値とが128~255、R値が0~127を取る領域
(8)R値、G値、B値の何れもが128~255を取る領域
【0068】
上述の説明に対応する無彩色領域及び有彩色領域を、
図4に示す。
図4のC100は、RGB立方体である。RGB立方体は、以下の頂点を有する。
頂点K:(R,G,B)=(0,0,0)
頂点R:(R,G,B)=(255,0,0)
頂点Y:(R,G,B)=(255,255,0)
頂点G:(R,G,B)=(0,255,0)
頂点B:(R,G,B)=(0,0,255)
頂点M:(R,G,B)=(255,0,255)
頂点W:(R,G,B)=(255,255,255)
頂点C:(R,G,B)=(255,0,0)
【0069】
図4のE100は、無彩色領域である。無彩色領域は、頂点Kと頂点Wとを結ぶ直線から一定の範囲内の領域である。
【0070】
さらに、C100における有彩色領域は、RGB立方体の各頂点を基準に分割された、以下の8の分割領域を含む。
領域E101:暗い色の画素が含まれる領域(R,G,B≦127)
領域E102:赤色系の画素が含まれる領域(R>127、G,B≦127)
領域E103:黄色系の画素が含まれる領域(R,G>127、B≦127)
領域E104:緑系の画素が含まれる領域(G>127、R,B≦127)
領域E105:青系の画素が含まれる領域(B>127、R,G≦127)
領域E106:マゼンタ系の画素が含まれる領域(R,B>127、G≦127)
領域E107:明るい色の画素が含まれる領域(R,G,B>127)
領域E108:シアン系の画素が含まれる領域(G,B>127、R≦127)
【0071】
なお、上述した領域は分割領域の一例である。また、初期分類部2111は、有彩色の分割領域間での重なりを許容する。有彩色の分割方法(分割領域の範囲)は、手動原稿モード又は自動原稿判別結果に応じて決定されてもよいし、ユーザによって設定されてもよいし、予め定められていてもよい。
【0072】
初期分類部2111が実行する初期分類処理を、
図5を用いて説明する。はじめに、初期分類部2111は、入力画像(RGBの画像データ)に含まれる画素から1の画素(注目画素)を選択し、当該注目画素の画素値であるR値とG値とB値とを取得する。そして、初期分類部2111は、R値とG値との差の絶対値である|R-G|と、G値とB値との差の絶対値である|G-B|と、B値とR値との差の絶対値である|B-R|とが、全て閾値TH1以下であるか否かを判定する(ステップS100)。閾値TH1は、予め画像形成装置1に設定されていてもよいし、ユーザによって設定可能であってもよいし、原稿種別に応じて設定されてもよい。
【0073】
初期分類部2111は、|R-G|、|G-B|、|B-R|が何れも全て閾値TH1以下である場合、注目画素を無彩色の画素であるとして、無彩色領域に分類する(ステップS100;Yes→ステップS102)。一方、初期分類部2111は、|R-G|、|G-B|、|B-R|の何れかが閾値TH1を超える場合、注目画素が有彩色の何れの分割領域に属するかを画素値に基づき判定し、判定した分割領域に注目画素を分類する(ステップS100;No→ステップS104)。つまり、初期分類部2111は、注目画素を有彩色の画素とする。
【0074】
つづいて、初期分類部2111は、ステップS102における処理又はステップS104における処理を実行した後、入力画像に含まれる全ての画素を無彩色又は有彩色の何れかの分割領域に分類したか否かを判定する(ステップS106)。初期分類部2111は、全ての画素を分類した場合、
図4に示した処理を終了する(ステップS106;Yes)。一方、初期分類部2111は、全ての画素を分類していない場合、ステップS100に戻る(ステップS106;No→ステップS100)。
【0075】
[1.2.3.2 L*a*b*色空間]
減色処理に用いる色空間がL*a*b*色空間である場合における初期分類処理について説明する。初期分類部2111は、L*a*b*色空間を立方体で表したとき、立方体のL*軸から一定の範囲内の領域を無彩色(無彩色領域)、L*軸から一定の範囲外の領域を有彩色(有彩色領域)とする。なお、L*軸は、L*a*b*色空間の立方体において、色差(a*b*)平面と垂直に交わり、また、当該色差平面の中心を通る軸であるとする。また、初期分類部2111は、色差(a*b*)平面を9個(無彩色1、有彩色8)のエリアに分割する。
【0076】
例えば、初期分類部2111は、有彩色領域を、L*値毎の色差(a*b*)平面において、中心(L*軸が通る位置)から放射状に8つの領域(無彩色領域は含まない)に分割したそれぞれの領域(エリア)とする。放射状に分割した8つの領域とは、例えば、以下の領域である。
(1)0°≦θ<45°となる領域
(2)45°≦θ<90°となる領域
(3)90°≦θ<135°となる領域
(4)135°≦θ<180°となる領域
(5)180°≦θ<225°となる領域
(6)225°≦θ<270°となる領域
(7)270°≦θ<315°となる領域
(8)315°≦θ<360°となる領域
ここで、角度θは、a*>0におけるa*軸と成す角(反時計回り方向が正)である。
【0077】
上述の説明に対応する無彩色領域及び有彩色領域を、
図6に示す。
図6(a)はL
*a
*b
*色空間における各軸の関係を示した図である。
図6(a)に示すように、L
*軸とa
*軸とb
*軸とは互いに直交している。そのため、L
*軸と垂直な平面は、a
*b
*平面(色差平面)となる。
【0078】
図6(b)は、L
*が所定の値であるときのa
*b
*平面を示した図である。ここで、L
*軸から一定の範囲内である領域E110は無彩色領域である。一方、
図6(b)の(1)から(8)までの領域は有彩色の分割領域である。有彩色の分割領域は、色差平面(a
*b
*平面)において、中心(L
*軸が通る位置)から放射状に8つの領域に分割した領域であって、無彩色領域以外の領域である。
図6(b)の領域E111は、有彩色の分割領域のうち、1の分割領域である。
【0079】
つづいて、
図7を参照して、初期分類部2111が実行する初期分類処理の流れを説明する。はじめに、初期分類部2111は、入力画像に含まれる画素から1の画素(注目画素)を選択し、当該注目画素の画素値から、a
*値とb
*値とを取得する。そして、初期分類部2111は、a
*値とb
*値とに基づき、注目画素が無彩色であるか否かを判定する。例えば、初期分類部2111は、a
*値の絶対値である|a
*|と、b
*値の絶対値である|b
*|とが、何れも所定の閾値TH1以下であるか否かを判定する(ステップS110)。
【0080】
初期分類部2111は、|a*|と|b*|とが、何れも閾値TH1以下である場合、注目画素を無彩色に分類する(ステップS110;Yes→ステップS102)。一方、初期分類部2111は、注目画素の画素値の|a*|と|b*|との何れかが閾値TH1を超える場合、当該画素が有彩色の何れかの分割領域に属するかを画素値に基づき判定し、判定した分割領域に分類する(ステップS110;No→ステップS104)。
【0081】
なお、初期分類部2111は、ステップS110において、(a*)2+(b*)2の値(又は当該値の平方根の値)が閾値TH1以下であるときに、注目画素が無彩色であると判定してもよい。
【0082】
初期分類部2111は、ステップS102における処理又はステップS104における処理を実行した後、入力画像に含まれる全ての画素を無彩色又は有彩色の何れかの分割領域に分類したか否かを判定する(ステップS106)。初期分類部2111は、全ての画素を分類した場合、
図7に示した処理を終了し(ステップS106;Yes)、全ての画素を分類していない場合、ステップS110に戻る(ステップS106;No→ステップS110)。
【0083】
[1.2.3.3 YUV(YCbCr)色空間]
減色処理に用いる色空間がYUV(YCbCr)色空間である場合における初期分類処理について説明する。初期分類部2111は、YCbCr色空間を立方体で表したとき、立方体のY軸から一定の範囲内を無彩色(無彩色領域)、当該範囲外を有彩色(有彩色領域)とする。なお、Y軸は、YCbCr色空間の立方体において、色度平面(UV平面又はCbCr平面)と垂直に交わり、また、当該色度平面の中心を通る軸であるとする。また、初期分類部2111は、色度(UV、CbCr)平面を9個(無彩色1、有彩色8)のエリアに分割する。
【0084】
例えば、初期分類部2111は、有彩色領域を、Y値毎の色度(UV、CbCr)平面において、中心(Y軸が通る位置)から放射状に8つの領域(無彩色領域は含まない)に分割したそれぞれの領域(エリア)としてもよいし、Yの値に応じて定義されるそれぞれの領域(エリア)としてもよい。
【0085】
ここで、
図8を参照して、色度(UV)平面をYの値に応じて定義される領域(エリア)に分割した例について説明する。
図8は、YUV(YCbCr)色空間である場合における無彩色領域と有彩色の分割領域とを示した図である。
図8の(1)から(4)は、いずれも色度(UV)平面を示した図である。
【0086】
初期分類部2111は、例えば、
図8(a)の(1)に示すように、無彩色領域(無彩色のエリア)をUV空間の中央の矩形領域とする。この場合、無彩色領域は、Uの値とVの値とが、いずれも所定の値の範囲内である領域である。なお、無彩色領域は、Cb値の絶対値である|Cb|と、Cr値の絶対値である|Cr|とが、何れも所定の閾値TH1以下である画素が含まれる領域に対応する。
【0087】
さらに、初期分類部2111は、Y値に応じて、有彩色領域を8つの領域に分割する。つまり、初期分類部2111は、Yの値に応じて、分割領域毎に、当該範囲に含める画素の画素値として取り得るUの値の範囲とVの値の範囲との範囲を決定する。例えば、Y値が取り得る値の範囲が0から255までである場合、初期分類部2111は、有彩色エリアとして、Y値が0から84までの場合は
図8(b)の(2)から(9)までの8つの領域に分割する。同様にして、初期分類部2111は、有彩色エリアを、Y値が85から169までの場合は
図11(c)に示すように、Y値が170から255までの場合は
図11(d)に示すように分割する。
【0088】
なお、
図8(b)、
図8(c)、
図8(d)において、(1)は無彩色のエリアを示す符号であり、(2)から(9)は有彩色のエリアを示す符号である。また、
図8(b)、
図8(c)、
図8(d)において、同一符号に分類される画素は、同一の無彩色領域又は有彩色の分割領域に属することを示す。なお、
図8(b)から(d)に示した有彩色の分割領域は、YUV色空間でY値が小さい(暗い)ときと、Y値が大きい(明るい)ときと、その中間のときとで、UV色平面での色の分布が異なることを考慮し、同系色が分類されるようにした場合の一例である。したがって、有彩色領域の分割領域は、
図8(b)から(d)までに示した領域でなくてもよい。また、有彩色エリアの分割パターンは、上述した3パターン以上のパターンであってもよい。
【0089】
つづいて、初期分類部2111が実行する初期分類処理の流れを説明する。初期分類部2111が実行する初期分類処理は、
図7に示した処理と同様の処理であるが、以下に示す処理に置き換える。
【0090】
初期分類部2111は、
図7のステップS110において、Cb値の絶対値である|Cb|と、Cr値の絶対値である|Cr|とが、何れも所定の閾値TH1以下であるか否かを判定する。初期分類部2111は、|Cb|と|Cr|とが何れも所定の閾値TH1以下であれば注目画素を無彩色として分類し(ステップS110;Yes→ステップS102)、それ以外の場合は有彩色の何れかの分割領域に分類する(ステップS110;No→ステップS104)。なお、初期分類部2111は、ステップS110における処理として、Cb
2+Cr
2(又はU
2+V
2)の値(又は当該値の平方根の値)が閾値TH1以下であるときに、注目画素が無彩色であると判定してもよい。
【0091】
[1.2.3.4 LCH色空間]
減色処理に用いる色空間がLCH色空間である場合における初期分類処理について説明する。初期分類部2111は、LCH色空間を立方体で表したとき、立方体のL軸から一定の範囲内を無彩色(無彩色領域)、当該範囲外を有彩色(有彩色領域)とする。なお、L軸は、LCH色空間の立方体において、彩度-色相(CH)平面と垂直に交わり、また、彩度・色相の平面の中心を通る軸であるとする。また、初期分類部2111は、彩度-色相(CH)平面を9個(無彩色1、有彩色8)のエリアに分割する。
【0092】
例えば、初期分類部2111は、有彩色領域を、L値毎の彩度-色相(CH)平面において、中心(L軸が通る位置)から放射状に8つの領域(無彩色領域は含まない)に分割したそれぞれの領域(エリア)とする。
【0093】
つづいて、初期分類部2111が実行する初期分類処理の流れを説明する。初期分類部2111が実行する初期分類処理は、
図7に示した処理と同様の処理であるが、以下に示す処理に置き換える。
【0094】
初期分類部2111は、
図7のステップS110において、C値が閾値TH1以下であるか否かを判定する。初期分類部2111は、C値が所定の閾値TH1以下であれば注目画素を無彩色として分類し(ステップS110;Yes→ステップS102)、それ以外の場合は有彩色の何れかの分割領域に分類する(ステップS110;No→ステップS104)。
【0095】
このように、初期分類部2111は、初期分類処理を実行することで、減色処理に用いる色空間がRGB色空間以外の色空間であっても、入力画像に含まれる全ての画素を、1の無彩色領域と、有彩色の8の分割領域との各領域に割り振ることができる。初期分類部2111は、領域毎に、領域に含まれる画素を出力する。
【0096】
[1.2.4 領域分割処理]
図9を参照して、領域分割処理の流れを説明する。領域分割処理は、領域分割部2112によって実行される。領域分割処理は、初期分類処理において画素が分類された領域(1の無彩色領域と有彩色の8の分割領域)を分割する処理である。領域分割処理は、メディアンカット法による減色処理における領域を分割する処理に対応する。
【0097】
はじめに、領域分割部2112は、初期分類処理によって画素が分類された各領域において、注目している領域に含まれる画素の画素値から、色空間におけるそれぞれの軸に対する最大値と最小値を算出する(ステップS120)。
【0098】
例えば、領域分割部2112は、1の無彩色領域と有彩色の8の分割領域とから、1の領域を選択する。さらに、領域分割部2112は、選択した領域に含まれる画素の画素値に基づき、色空間の軸毎に最大の値と最小の値を取得する。例えば、領域分割部2112は、減色処理に用いられる色空間がRGB色空間であれば、選択した領域に含まれる全ての画素のR値、G値、B値を取得し、R値の最大値と最小値、G値の最大値と最小値、B値の最大値と最小値を算出する。
【0099】
領域分割部2112は、減色処理に用いられる色空間がL*a*b*色空間であれば、各領域に含まれる画素に基づき、L*値、a*値、b*値の最大値と最小値をそれぞれ算出する。同様にして、領域分割部2112は、減色処理に用いられる色空間がYCbCr色空間であれば、Y値、Cb値、Cr値の最大値と最小値をそれぞれ算出し、減色処理に用いられる色空間がLCH色空間であれば、L値、C値、H値の最大値と最小値をそれぞれ算出する。
【0100】
つづいて、領域分割部2112は、画素が分類された各領域に対応する直方体として、ステップS120において算出した軸毎の最大値及び最小値を頂点とした直方体を設定する(ステップS122)。例えば、ある領域に含まれる画素の画素値について、L*の最小値が20、L*の最大値が200、a*の最小値が20、a*の最大値が50、b*の最小値が5、b*の最大値が40であれば、領域分割部2112は、L*軸に対応する辺の長さが180、a*軸に対応する辺の長さが30、b*軸に対応する辺の長さが35である直方体を設定する。なお、領域分割部2112は、設定した直方体の情報を、記憶部60に一時的に記憶されてもよい。
【0101】
なお、領域分割部2112は、無彩色領域については、無彩色領域に含まれる画素の輝度や明度を画素毎に求め、求めた輝度や明度の最大値及び最小値からなる辺と、長さ1の2つの辺とにより構成される直方体を設定してもよい。このようにすることで、領域分割部2112は、無彩色領域と対応する直方体として、輝度や明度のみを考慮する直方体を設定することができる。
【0102】
また、領域分割部2112は、直方体を設定するとき、人間の視覚特性に応じて、軸に重み付けをして、直方体の辺の長さを以下のように拡縮させてもよい。
(1)領域分割部2112は、色空間がRGB色空間である場合、R軸及びG軸に対応する直方体の辺の長さを1.2倍にしたり、B軸に対応する直方体の辺の長さを0.8倍にしたりする。
(2)領域分割部2112は、色空間がYCbCr色空間である場合、Cb<0である直方体についてCr軸に対応する直方体の辺の長さを1.2倍にしたり、Y>0かつCb>0である直方体については、Cr軸に対応する直方体の辺の長さを0.8倍にしたりする。
(3)領域分割部2112は、色空間がL*a*b*色空間である場合、a*軸に対応する直方体の辺の長さを1.2倍にしたり、L*軸やb*軸に対応する直方体の辺の長さを0.8倍にしたりする。
【0103】
また、領域分割部2112は、各軸において取り得る値の範囲が揃ってない場合、各軸において取り得る値の範囲が揃うように、直方体の辺の長さを拡縮させたり、画素値に所定の演算を行い、適切な値に変換したりしてもよい。
【0104】
つづいて、領域分割部2112は、ステップS122において設定した直方体から、最も長い辺、つまり、ステップS120において算出した最大値と最小値との差が最大である直方体を選択する(ステップS124)。なお、減色数が無彩色の代表色の数と有彩色の代表色の数とに対してそれぞれ定められている場合で、無彩色又は有彩色の何れか一方の領域を減色数に定めた数の領域に分割しているとき、領域分割部2112は、他方の領域に対応する直方体から1の直方体を選択する。
【0105】
つづいて、領域分割部2112は、ステップS124において選択した直方体(以下、選択直方体という)を分割する(ステップS126)。例えば、領域分割部2112は、選択直方体を分割する処理として、以下のいずれかの処理を実行する。
(1)領域分割部2112は、選択直方体における最も長い辺に対して(最大値-最小値)/2となる中間値を算出し、当該中央値の位置で、選択直方体を分割する。
(2)領域分割部2112は、選択直方体において、最も長い辺が属する軸(例えば、R軸)を求める。つづいて、領域分割部2112は、選択直方体に含まれる画素毎に、選択直方体における最も長い辺が属する軸の画素値を取得し、ヒストグラム(例えば、R値のヒストグラム)を生成する。領域分割部2112は、ヒストグラムの最小値のビン(区間)から順にビンに含まれる画素値の数を累積する。領域分割部2112は、選択直方体に属する画素数の1/2にあたる画素が含まれるビンの位置を求め、当該位置で、選択直方体を分割する。
【0106】
ステップS126の処理が実行されることにより、ステップS122において設定された直方体の数が1増える。つづいて、領域分割部2112は、直方体の数が減色数と一致するか否かを判定する(ステップS128)。
【0107】
領域分割部2112は、領域の数が減色数の数と一致した場合、
図9に示した処理を終了する(ステップS128;Yes)。一方、領域分割部2112は、領域の数が減色数の数と一致しない場合、ステップS120に戻る(ステップS128;No→ステップS120)。
【0108】
このように、領域分割部2112は、ステップS120からステップS126までの処理を繰り返して実行することで、直方体の数が減色数と一致するまで、直方体を分割する。これにより、減色処理に用いられる色空間のうち、無彩色領域は、無彩色の代表色の数(第1所定数)の領域に分割される。また、有彩色領域は、有彩色の代表色の数(第2所定数)の領域に分割される。領域分割部2112は、分割した領域と、各領域に含まれる画素を出力する。
【0109】
[1.2.5 第1代表色算出処理]
図10を参照して、第1代表色算出処理の流れを説明する。第1代表色算出処理は、第1代表色算出部2113によって実行される。第1代表色算出処理は、メディアンカット法による減色処理における、代表色を算出する処理に対応する。
【0110】
はじめに、第1代表色算出部2113は、領域分割処理によって第1所定数の領域に分割された無彩色領域及び第2所定数の領域に有彩色領域から1の領域を選択し、選択した領域の代表色を算出する(ステップS140)。例えば、第1代表色算出部2113は、選択した領域に対応する直方体に属する画素の画素値の単純平均や重み付き平均を算出することで、代表色を算出する。さらに、第1代表色算出部2113は、算出した代表色に対してインデックス値(例えば、1からの連番)を割り当てて、インデックス情報を生成する。このようにして、第1代表色算出部2113は、無彩色領域において、第1所定数の領域に分割されたそれぞれの領域から1色ずつ代表色を算出することにより、第1所定数の代表色を算出する。同様にして、第1代表色算出部2113は、有彩色領域において、第2所定数の領域に分割されたそれぞれの領域から1色ずつ代表色を算出することで、第2所定数の代表色を算出する。
【0111】
第1代表色算出部2113は、領域分割処理によって第1所定数の領域に分割された無彩色領域及び第2所定数の領域に有彩色領域の全ての領域から代表色を算出した場合、
図10に示した処理を終了し(ステップS142;Yes)、それ以外の場合はステップS140に戻る(ステップS142;No→ステップS140)。第1代表色算出部2113は、代表色とインデックス値とを対応付けたインデックス情報を出力する。
【0112】
[1.2.6 出力画像生成処理]
図11を参照して、出力画像生成処理の流れを説明する。出力画像生成処理は、出力画像生成部2114によって実行される。
【0113】
はじめに、出力画像生成部2114は、入力画像から1の画素(注目画素)を選択する。そして、出力画像生成部2114が、第1所定数の代表色及び第2所定数の代表色のうち、注目画素の画素値と最も色差が小さい(最も近い)画素値となる代表色を選択する(ステップS160)。
【0114】
つづいて、出力画像生成部2114は、注目画素の画素値を、選択した代表色に対応するインデックス値に置き換える(ステップS162)。これにより、出力画像生成部2114は、注目画素を当該注目画素と色味が最も近い代表色の画素に置き換える。出力画像生成部2114は、入力画像の全ての画素をインデックス値に置き換える処理が完了した場合、
図8に示した処理を終了し(ステップS164;Yes)、それ以外の場合はステップS160に戻る(ステップS164;No→ステップS160)。
【0115】
なお、出力画像生成部2114は、例えば、インデックス値とインデックス情報とから、入力画像の各画素の色を代表色に置き換えた画像を出力する。なお、出力画像生成部2114は、インデックス値に置き換えた入力画像とインデックス情報とを出力してもよい。この場合、例えば、圧縮処理部213は、出力画像生成部2114から出力されたインデックス値とインデックス情報とから、圧縮データを生成する。
【0116】
[1.3 動作例]
図12を参照して、本実施形態における動作例を説明する。
図12(a)は、無彩色領域及び有彩色領域に対応する直方体の各軸における最大値と最小値の例を示す表である。
図12は、減色処理にL
*a
*b
*色空間が用いられた場合の例を示した図である。
【0117】
図12のD140は、無彩色領域の直方体において、輝度の軸の最大値と最小値及び最大値と最小値との差の絶対値(差分絶対値)を示している。また、
図12のD142は、1番目の有彩色の分割領域に対応する直方体におけるL
*軸の最大値と最小値と差分絶対値を示している。同様にして、
図12のD144は、1番目の有彩色の分割領域に対応する直方体におけるa
*軸の最大値と最小値と差分絶対値を、D146は、1番目の有彩色の分割領域に対応する直方体におけるb
*軸の最大値と最小値と差分絶対値をそれぞれ示している。なお、2番目から8番目の1番目の有彩色の分割領域に対応する直方体に対しても、L
*軸、a
*軸、b
*軸毎に、最大値と最小値と差分絶対値が算出される。
【0118】
直方体を分割する処理において、差分絶対値が大きい辺が選択される。例えば、
図12では、D142における差分絶対値が他の差分絶対値と比べて大きい値である。この場合、1番目の有彩色の分割領域に対応する直方体のL
*軸に対応する辺が選択され、当該辺上の所定の位置において、1番目の有彩色の分割領域に対応する直方体が分割される。このようにして、直方体の分割が繰り返し実行され、分割された無彩色領域と有彩色領域とから、それぞれ代表色が算出される。
【0119】
図12(b)から
図12(d)は、メディアンカット法の動作例を示した図である。なお、
図12(b)から
図12(d)までにおいては、減色処理に用いる色空間はRGB色空間であるとする。
【0120】
図12(b)は、画素が分類された領域に対応する直方体のうち、差分絶対値が最大の直方体を示した図である。P150は、当該直方体に含まれる画素である。ここで、入力画像に含まれる画素は、無彩色/有彩色に分類されているため、直方体は、無彩色又は無彩色に近い画素が含むか、有彩色の画素を含むかの何れかである。
【0121】
ここで、
図12(b)において、差分最大値が最も大きい辺は、G軸に対応する辺である。
図12(c)は、G軸に対応する辺上の分割位置E160を示した図である。分割位置E160は、例えば、G軸に対応する辺において、(最大値-最小値)/2となる位置(中央値の位置)である。分割位置E160の位置において、直方体が分割される。分割後の領域に含まれる画素に対して、色空間におけるそれぞれの軸に対する最大値と最小値が算出され、軸毎の最大値及び最小値によって構成される色空間内の直方体を設定されることで、
図12(c)の直方体C160及び直方体C161が設定される。
【0122】
このような処理を繰り返すことで、直方体を分割する。直方体の数が減色数となったら、それぞれの直方体から、代表色が算出される。例えば、
図12(d)に示すように、直方体C170から代表色170が、直方体C171から代表色171が、直方体C172から代表色172が、直方体C173から代表色173が、それぞれ算出される。ここで、既に説明したように、分割前の直方体は、無彩色又は無彩色に近い画素が含むか、有彩色の画素を含むかの何れかである。そのため、例えば、分割前の直方体が有彩色の画素を含む直方体であれば、代表色は、無彩色又は無彩色に近い画素以外の画素によって算出されるため、当該代表色は無彩色の画素による彩度の低下を抑えられる。
【0123】
このように、本実施形態によれば、初期分類処理により、入力画像に含まれる画素を有彩色と無彩色とに分類した上で、メディアンカット法を用いた代表色の算出を行うことができる。この結果、本実施形態では、領域分離処理において、無彩色と有彩色とをそれぞれ独立に分割することができ、1つの領域の中に無彩色と有彩色とが混在することが避けられる。無彩色と有彩色とが混在していない領域から代表色を算出することで、有彩色が無彩色によって彩度が落ちてしまう問題が回避される。
【0124】
また、本実施形態によれば、初期分類処理により、入力画像に含まれる画素が、極力同じ色が属する領域に分類されやすくなるため、適切な代表色を算出することができる。この結果、本実施形態では、画質の良い減色結果を得ることができる。
【0125】
また、本実施形態によれば、無彩色の画素が含まれない有彩色領域が複数の分割領域に分割されるため、色味のある色が代表色として残りやすく(算出されやすく)なる。
【0126】
[2.第2実施形態]
つづいて、第2実施形態について説明する。第2実施形態では、初期分類処理において画素を分類する領域の数を、第1実施形態とは異なる数にする実施形態である。
【0127】
第1実施形態では、初期分類部2111は、減色処理に用いられる色空間を、1の無彩色領域と、有彩色の8の分割領域とに分割した。しかし、初期分類部2111は、色空間を、1の無彩色領域及び有彩色の8の分割領域以外の領域に分割してもよい。
【0128】
例えば、無彩色領域は2以上の分割領域を含めて構成されてもよい。無彩色の分割領域の数が4である場合、初期分類部2111は、例えば、無彩色領域を以下の領域に分割する。
(1)明度(輝度)が0%以上25%未満の領域
(2)明度(輝度)が25%以上50%未満の領域
(3)明度(輝度)が50%以上75%未満の領域
(4)明度(輝度)が75%以上の領域
【0129】
この場合、無彩色には、4の分割領域が設定されることとなる。なお、上記の説明において、輝度が0%であるとは注目画素の色が真黒である場合であり、輝度が100%であるとは注目画素の色が真白である場合である。例えば、RGB色空間において、R値、G値、B値が取り得る値を0から255までとした場合、輝度が0%の画素は、R値、G値、B値のいずれもが0である画素である。一方、輝度が100%の画素は、R値、G値、B値のいずれもが255である画素である。
【0130】
また、初期分類処理において画素が分類される無彩色領域の数が2以上である場合、各領域の範囲は、以下のように、明度(輝度)を均等に分割した範囲でなくてもよい。
(1)明度(輝度)が0%以上15%未満の領域
(2)明度(輝度)が15%以上50%未満の領域
(3)明度(輝度)が50%以上85%未満の領域
(4)明度(輝度)が85%以上の領域
【0131】
同様にして、有彩色領域の数は、1以上の数であればよい。例えば、有彩色領域の数は、16であってもよいし、1であってもよい。また、有彩色の分割領域の範囲は、第1実施形態とは異なる範囲であってもよい。例えば、減色処理に用いられる色空間がL*a*b*色空間、YCbCr色空間、LCH色空間である場合における有彩色の分割領域の角度が、第1実施形態における角度と異なってもよい。
【0132】
無彩色の分割領域の数、有彩色の分割領域の数、減色数、分割領域の範囲は、ユーザによって設定されてもよいし、予め設定されてもよい。また、無彩色の分割領域の数、有彩色の分割領域の数、減色数、分割領域の範囲は、原稿の種類やカラーモードによって決定されてもよい。この場合、記憶部60には、原稿の種類及び出力する画像データのカラーモードの組み合わせと減色数、無彩色領域の数、有彩色領域を放射状に分割する際における分割角度とを対応付けた設定テーブルが記憶される。このような設定テーブルの例を、
図13に示す。
【0133】
例えば、
図13は、原稿のモード(原稿種別)とカラーモード毎に、減色数、無彩色数(無彩色の分割領域の数)、有彩色を放射状の分割領域に分類する場合における平面(例えば、a
*b
*平面)の角度(分割角度)、閾値TH1を対応付けた設定テーブルである。この場合、
【0134】
図13のD200は、原稿種別が地図であり、カラーモードがカラーである場合に、減色数が16、無彩色の無彩色数が5、分割角度が「30.75,120,165,210,255,300,345」、閾値TH1が5であることを示す。この場合、初期分類処理において、1の無彩色領域と有彩色の8つの分割領域が設定され、領域分割処理において、無彩色領域を5の領域に、有彩色領域を11の領域に分割することで、16の代表色を算出することとなる。
【0135】
ここで、分割角度の情報に基づき、初期分類処理において画素が分類される有彩色の分割領域は、以下の8つの領域となる。
(1)30°≦θ<75°となる領域
(2)75°≦θ<120°となる領域
(3)120°≦θ<165°となる領域
(4)165°≦θ<210°となる領域
(5)210°≦θ<255°となる領域
(6)255°≦θ<300°となる領域
(7)300°≦θ<345°となる領域
(8)345°≦θ<390°となる領域(0°≦θ<30°及び345°≦θ<360°となる領域)
【0136】
この場合、初期分類部2111は、初期分類処理において、入力画像の画素が分類される領域を、無彩色の分割領域を1、有彩色の分割領域を8として、画素の分類を行う。また、初期分類部2111は、初期分類処理において、画素のa*の値の絶対値とb*の値の絶対値とが、何れも5以下である場合、当該画素は無彩色の画素として分類する。
【0137】
さらに、領域分割部2112は、領域分割処理において、無彩色領域を5の領域に、有彩色領域を11の領域に分割するまで、領域が分割する処理を繰り返す。この結果、無彩色領域及び有彩色領域は合計16の領域に分割される。さらに、第1代表色算出処理及び出力画像生成処理が実行されることにより、原稿種別が地図でありカラーモードがカラーである場合、入力画像に含まれる画素は、16の代表色の何れかの色に置き換えられる。
【0138】
なお、
図13に示した設定テーブルには、無彩色の分割領域の範囲が含まれていてもよい。この場合、初期分類処理において、設定テーブルに記憶された情報に基づいて、無彩色の分類領域が設定されることとなる。
【0139】
このように、本実施形態によれば、初期分類処理における無彩色の分割領域の数や範囲、有彩色の分割領域の数や範囲を柔軟に設定することが可能となる。
【0140】
[3.第3実施形態]
つづいて、第3実施形態について説明する。第3実施形態はK-means法を用いて代表色を算出する実施形態である。本実施形態は、第1実施形態の
図3を
図14に置き換えたものである。なお、同一の機能部には同一の符号を付し、説明については省略する。
【0141】
[3.1 色数変換処理部の処理の概要]
本実施形態では、色数変換処理部211は、入力されたカラー画像(入力画像)に対し、画像の縮小処理を行った後、減色処理に用いる色空間を無彩色/有彩色の領域に分割し、さらに、無彩色及び有彩色を条件に従い複数の領域に分割する。色数変換処理部211は、分割した各領域に、入力画像の各画素を振り分ける(分類する)。色数変換処理部211は、無彩色/有彩色の領域毎に、K-means法で代表色を求めた後、入力画像の各画素に対して一番近い代表色のインデックス値を割り当てることで、入力画像を減色した減色画像を生成する。
【0142】
[3.2 色数変換処理部の構成]
図14を参照して、本実施形態における色数変換処理部211の構成について説明する。本実施形態における色数変換処理部211は、減色処理に用いる色空間に応じて、
図14(a)又は
図14(b)の何れかに示した機能部を備えて構成される。
(1)RGB色空間が用いられる場合
色数変換処理部211は、
図14(a)に示すように、縮小処理部2115、初期分類部2111、第2代表色算出部2116、フィルタ処理部2117、出力画像生成部2114を含んで構成される。
(2)RGB色空間以外の色空間が用いられる場合
色数変換処理部211は、
図14(b)に示すように、縮小処理部2115、色変換部2110、初期分類部2111、第2代表色算出部2116、フィルタ処理部2117、出力画像生成部2114を含んで構成される。
【0143】
色変換部2110、初期分類部2111、出力画像生成部2114は、第1実施形態と同様に、それぞれ、色変換処理、初期分類処理、出力画像生成処理を実行する。
【0144】
縮小処理部2115は、入力画像(RGB信号)を縮小する縮小処理を行う。画像を縮小する方法は、既存の技術を用いればよい。画像の縮小処理を実行することにより、K-means法の処理量を削減することができる。
【0145】
第2代表色算出部2116は、K-means法を用いて代表色を算出する処理である第2代表色算出処理を実行する。第2代表色算出処理については後述する。
【0146】
フィルタ処理部2117は、入力画像に対してエッジ保存型の平滑化フィルタ(バイラテラルフィルタ)を適用する処理(以下、フィルタ処理と記載)を実行することで、入力画像内の平坦部(略同一の色が連続する領域)を極力均一化し、フィルタ処理が実行された入力画像を出力する。
【0147】
ここで、カラー画像入力装置10によって読み取られた原稿において、裏写りのない色下地領域であってもスキャン位置によって生じた色ムラ(濃度ムラ)や輝度ムラが生じ、画素値が均一でない入力画像が生成される場合がある。この場合、そのまま入力画像に代表色を割り当てると、本来割り当てられるべき代表色とは異なる代表色が割り当てられることとなり、結果として、画質の劣化や圧縮効率の低下によるファイルサイズの増加が生じてしまう。そこで、色数変換処理部211は、フィルタ処理部2117を介して、入力画像に対してフィルタ処理を実行することで、色下地領域といった、略同一の色が連続して続く領域の画素における画素値を平坦化させる。この結果、色数変換処理部211は、出力画像生成部2114によって実行される出力画像生成処理において、色下地領域に対して、同一の代表色が割り当てられる可能性を高めることで、出力画像の画質の向上と、圧縮効率の向上とを実現させる。
【0148】
色数変換処理部211は、出力階調補正部210から出力されたRGB信号(入力画像)に対して縮小処理を実行することで、入力画像の縮小画像を取得する。次に、色数変換処理部211は、減色処理に用いる色空間がRGB色空間以外の色空間である場合、入力画像の縮小画像の色空間を、色変換部2110を介して変換し、初期分類部2111に出力する。なお、色数変換処理部211は、減色処理に用いる色空間がRGB色空間であれば、入力画像の縮小画像を初期分類部2111に出力する。そして、色数変換処理部211は、初期分類処理と第2代表色算出処理とを実行することで代表色を取得する。また、色数変換処理部211は、入力画像に対してフィルタ処理を実行し、フィルタ処理を実行した後の入力画像と、取得した代表色とを用いて出力画像生成処理を実行することで、入力画像の減色画像を生成する。
【0149】
なお、縮小処理部2115、第2代表色算出部2116、フィルタ処理部2117の一部又は全ては、制御部70によって実行されるプログラムとして実現されてもよいし、回路等のハードウェアとして実現されてもよい。
【0150】
[3.3 初期分類処理]
本実施形態では、初期分類部2111は、初期分類処理において画素を分類する領域を、無彩色をM領域(M>2、第1所定数)、有彩色をN領域(N>5、第2所定数)にそれぞれ分割した状態にする。なお、初期分類部2111は、無彩色の分割領域の数と有彩色の分割領域の数は、減色数は、例えば、手動原稿モード(ユーザによって設定された原稿種別)又は原稿種別判定部203の判定結果である自動原稿判別結果に応じて決定される。
【0151】
さらに、初期分類部2111は、
図4や
図5に示した初期分類処理を実行する。ここで、初期分類部2111は、ステップS102の処理として、注目画素を無彩色のどの分割領域に属するかを判定して分類する処理を実行する。このようにすることで、初期分類部2111は、入力画像に含まれる画素を、無彩色におけるM個の分割領域と有彩色におけるN個の分割領域の何れかの領域に分類することができる。
【0152】
ここで、領域を分割する方法について説明する。初期分類部2111は、減色数が「無彩色=4、有彩色=16」である場合、無彩色領域を4領域に分割し、有彩色領域を16領域に分割する。初期分類部2111は、減色処理に用いる色空間の種類に応じて、以下に示すように、色空間を分割する。
【0153】
[3.3.1 RGB色空間]
初期分類部2111は、無彩色領域を、G値(0から255まで)の間を、等間隔にM個の領域に分割する。例えば、M=4であれば、G値が0から63までを取る領域、G値が64から127までを取る領域、G値が128から191までを取る領域、G値が192から255までを取る領域とする。
【0154】
また、初期分類部2111は、有彩色領域をRGB立方体における8の頂点から、均等に8つの立方体の領域(分割領域)に分割する。なお、当該立方体の領域は、無彩色領域を含まない領域である。また、当該立方体の領域は、他の有彩色の分割領域との重なりを許容する。さらに、初期分類部2111は、予め定められた順番で、8つの立方体を有彩色の色数まで順番に分割する。
【0155】
上述の説明に対応する具体例を
図15(a)から
図15(c)に示す。
図15(a)は、RGB立方体であるC300を示した図である。
図15(a)の領域E300は、無彩色領域である。また、
図15(a)の領域E301から領域E309は、有彩色領域をC300の8の頂点から、均等に8つの立方体に分割したそれぞれの領域である。具体的には、有彩色の8の分割領域は、W領域(領域E307)、Y領域(領域E303)、M領域(領域E306)、C領域(領域E308)、R領域(領域E302)、G領域(領域E304)、B領域(領域E305)、K領域(領域E301)である。
【0156】
初期分類部2111は、有彩色領域を均等に分割した8の領域に対して、W領域、Y領域、M領域、C領域、R領域、G領域、B領域、K領域の順に分割の優先順位を設定し、優先順位が高い立方体の領域から順に分割する。なお、優先順位は、上述した順番に限られない。初期分類部2111は、立方体の領域を、
図15(b)に示すように、斜めに分割してもよいし、
図15(c)に示すように、縦に分割してもよい。例えば、初期分類部2111は、W領域を縦又は斜めの方向に2つの領域に分割したら、次に、Y領域を縦又は斜めの方向に2つの領域に分割する。このようにして、初期分類部2111は、領域の数がNになるまで領域の分割を行う。
【0157】
なお、上述の方法では、初期分類部2111は、有彩色の8の分割領域を16の分割領域にすることができる。なお、有彩色の減色数が17以上である場合、初期分類部2111は、16の分割領域に対して優先順位を設け、優先順位が高い領域から、所定の方法により分割する。
【0158】
[3.3.2 L*a*b*色空間、YUV(YCbCr)色空間、LCH色空間]
初期分類部2111は、無彩色領域を、輝度値/明度値として取り得る値(L*値、Y値、L値)の範囲を、等間隔にM個の領域に分割する。
【0159】
また、初期分類部2111は、a*b*平面、CbCr平面、CH平面において、中心から放射状に8つの領域(分割領域)に分割する。なお、当該放射状の領域は、無彩色領域を含まない領域である。また、当該放射状の領域は、他の有彩色の分割領域との重なりを許容する。さらに、予め定められた優先順位に沿って、当該8つの放射状の領域を、領域の数がNになるまで分割する。
【0160】
上述の説明に対応する具体例を
図15(d)に示す。
図15(d)における色空間は、L
*a
*b
*色空間とする。この場合、初期分類部2111は、
図15(d)の(1)から(8)の順に優先順位を設定し、優先順位が高い領域から順に、分割(例えば、領域の大きさを等分)する。例えば、初期分類部2111は、
図15(d)の(1)の領域を、領域の大きさが半分となる位置で分割し、次に、(2)の領域を、領域の大きさが半分となる位置で分割する。このようにして、初期分類部2111は、領域の数がNになるまで領域の分割を行う。なお、優先順位は、
図15(d)に示した順番に限られない。また、減色処理に用いる色空間の場合であっても、初期分類部2111は、上述した説明と同様に、所定の方法により有彩色の分割領域に優先順位を設定し、当該分割領域を優先順位が高い領域から順に分割を行う。
【0161】
なお、上述の方法では、初期分類部2111は、有彩色の8の分割領域を16の分割領域にすることができる。なお、有彩色の減色数が17以上である場合、初期分類部2111は、16の分割領域に対して優先順位を設け、優先順位が高い領域から、所定の方法により分割する。
【0162】
[3.4 第2代表色算出処理]
図16を参照して、第2代表色算出処理の流れを説明する。第2代表色算出処理は、第2代表色算出部2116によって実行される。
【0163】
はじめに、第2代表色算出部2116は、初期分類処理によって画素が分類された各領域から、初期代表色を算出する(ステップS300)。例えば、第2代表色算出部2116は、
図9のステップS120からステップS124までと同様の処理を実行することで、初期分類処理によって画素が分類された領域毎に対応する直方体を設定する。そして、第2代表色算出部2116は、設定した直方体毎に、直方体の中心位置に対応する色や、直方体に属する画素の画素値の単純平均や重み付け平均を行うことで求められる色を初期代表色として算出する。
【0164】
ここで、本実施形態では、初期分類処理において、減色処理に用いられる色空間が、無彩色領域において第1所定数であるM個の領域に分割され、有彩色領域において第2所定数であるN個の領域に分割されている。したがって、第2代表色算出部2116は、M個の領域とN個の領域とから代表色を算出することにより、無彩色領域からM種類(第1所定数)の初期代表色を、有彩色領域からN種類(第2所定数)の初期代表色を算出する。例えば、減色数が「無彩色=4、有彩色=16」である場合、第2代表色算出部は、ステップS300において、無彩色領域に分類された画素から4色の初期代表色を算出し、有彩色領域に分類された画素から16色の初期代表色を算出する。
【0165】
つづいて、第2代表色算出部2116は、入力画像から1の画素(注目画素)を選択し、注目画素の画素値と複数の代表色の画素値とを比較し、注目画素を一番画素値が近い代表色に基づくグループに分類(クラスタリング)する(ステップS302)。ここで、第2代表色算出部2116は、無彩色の画素によって無彩色のグループが構成されるように、有彩色の画素によって有彩色のグループが構成されるようにする。具体的には、第2代表色算出部2116は、無彩色領域に含まれる画素の画素値と、無彩色領域から算出された複数の代表色の画素値とを比較することで、無彩色領域に含まれる画素を無彩色領域から算出された代表色に基づく何れかのグループに分類する。同様に、第2代表色算出部2116は、有彩色領域に含まれる画素の画素値と、有彩色領域から算出された複数の代表色の画素値とを比較することで、有彩色領域に含まれる画素を有彩色領域から算出された代表色に基づく何れかのグループに分類する。つまり、第2代表色算出部2116は、無彩色領域の画素と、有彩色領域の画素とが、必ず別のグループに含まれるようにする。
【0166】
第2代表色算出部2116は、入力画像に含まれる全ての画素を分類したか否かを判定し(ステップS304)、全ての画素を分類していない場合は、ステップS302へ戻る(ステップS304;No→ステップS302)。
【0167】
つづいて、第2代表色算出部2116は、入力画像に含まれる全ての画素を、何れかの代表色に基づくグループに分類したら、グループ毎に、新たな代表色を算出する(ステップS304;Yes→ステップS306)。代表色の算出方法は、ステップS300と同様の方法である。
【0168】
つづいて、第2代表色算出部2116は、ステップS306における処理を規定回数繰り返し実行する処理が終了したか否かを判定する(ステップS308)。第2代表色算出部2116は、ステップS306における処理を規定回数実行していない場合は、ステップS302に戻る(ステップS308;No→ステップS302)。一方、第2代表色算出部2116は、ステップS306における処理を規定回数実行した場合は、
図16に示した処理を終了する(ステップS308;Yes)。このように、第2代表色算出部2116は、ステップS300において算出した初期代表色を、ステップS306における処理を繰り返し実行することにより更新する。
【0169】
なお、ステップS308における処理は、新たに算出された代表色と算出される前の代表色との色差が、所定の色差よりも小さい場合に、
図16に示す処理を終了するといった処理であってもよい。このように、第2代表色算出部2116は、直方体の中心位置に対応する色等を代表色の初期値として、各直方体に属する画素のみでK-means法を適用し、代表色を算出する処理を繰り返し実行することで、最終的な代表色を算出する。第2代表色算出部2116は、最終的な代表色とインデックス値とを対応付けたインデックス情報を出力する。
【0170】
[3.5 出力画像生成処理]
出力画像生成部2114は、
図11に示した出力画像生成処理を実行する。なお、本実施形態では、出力画像生成部2114は、フィルタ処理が実行された後の入力画像から注目画素を選択し、さらに、代表色のうち、注目画素と最も色差が小さい(最も近い)代表色を選択する。また、出力画像生成部2114は、ステップS162において、注目画素の画素値を、ステップS160において選択した代表色に対応するインデックス値に置き換える。
【0171】
[3.6 動作例]
図17を参照して、本実施形態の動作例を説明する。
図17(a)は、初期代表色を示した図である。例えば、初期代表色D300は、初期分類処理により画素が分類された何れかの領域に対応して設定された直方体に基づき算出された代表色である。また、領域E300は、入力画像に含まれる画素(例えば、P300)のうち、初期代表色D300と近い画素を含む領域である。同様に、領域E302は、初期代表色D302と同じグループに属する画素により構成される領域であり、領域E304は、初期代表色D304と同じグループに属する画素により構成される領域である。ここで、
図17に示した画素は、無彩色又は無彩色に近い画素以外の画素か、有彩色の画素のうち、何れか一方とする。
【0172】
代表色は、各領域に含まれる画素に基づいて算出される。例えば、
図17(b)は、領域300に属する画素から、新たな代表色D310が算出されたことを示す。これにより、初期代表色D300は、新たな代表色D310に置き換わる。同様にして、領域E302から新たな代表色D312が算出され、初期代表色D302と置き換わる。また、領域E304から新たな代表色D314が算出され、初期代表色D304と置き換わる。ここで、領域E300、領域E302、領域E304に含まれる画素は、無彩色又は無彩色に近い画素以外の画素か、有彩色の画素のうち、何れか一方である。そのため、各領域において、有彩色と無彩色とが混ざることがなく、結果として、代表色の彩度が落ちたり、代表色が振動したりすることが避けられる。
【0173】
また、代表色を算出する処理が所定回数実行されたり、新たに算出された代表色と算出される前の代表色との色差が所定の色差よりも小さかったりした場合、
図17(c)に示すように、最終的な代表色D320、代表色D322、代表色D324が決定される。
【0174】
このように、本実施形態によれば、無彩色/有彩色毎に、K-means法を用いて代表色を求めることができる。その結果、代表色の彩度が落ちてしまう問題を回避できる。また、グループ内において、無彩色の画素と有彩色の画素とが混在しないため、代表色が振動したりすることが避けられ、代表色を早く求めることが可能となる。
【0175】
また、本実施形態によれば、入力画像を縮小した画像に対してK-means法を適用することにより、処理の高速化を図ることができる。さらに、本実施形態では、出力解像度の画像サイズの画像において代表色を割り当てる場合も、エッジ保存型の平滑化フィルタで濃度ムラや輝度ムラを抑制することで、平坦部への均一な代表色の割当が可能となる。このようにして、本実施形態の画像形成装置は、出力画像の画質の向上と、ファイルサイズの抑制とを両立できる。
【0176】
[4.第4実施形態]
つづいて、第4実施形態について説明する。本実施形態は、メディアンカット法による減色処理によって算出された代表色を初期値として、K-means法を用いて最終的な代表色を算出する実施形態である。
【0177】
[4.1 色数変換処理部の処理の概要]
本実施形態では、色数変換処理部211は、入力されたカラー画像(入力画像)に対し、減色処理に用いる色空間を無彩色/有彩色の領域に分割し、さらに、有彩色の領域を条件に従い複数の領域に分割した各領域に、入力画像の各画素を振り分ける(分類する)。また、色数変換処理部211は、無彩色/有彩色毎に中央値分割法(メディアンカット法)により代表色を求めた後、当該代表色を初期値とし、K-means法で最終的な代表色を求める。色数変換処理部211は、入力画像の各画素に対して一番近い代表色のインデックス値を割り当てることで、入力画像を減色した減色画像を生成する。
【0178】
[4.2 色数変換処理部の構成]
図18を参照して、本実施形態における色数変換処理部211の構成について説明する。本実施形態における色数変換処理部211は、減色処理に用いる色空間に応じて、
図18(a)又は
図18(b)の何れかに示した機能部を備えて構成される。
【0179】
(1)RGB色空間が用いられる場合
色数変換処理部211は、
図18(a)に示すように、初期分類部2111、領域分割部2112、第1代表色算出部2113、縮小処理部2115、第3代表色算出部2118、フィルタ処理部2117、出力画像生成部2114を含んで構成される。
(2)RGB色空間以外の色空間が用いられる場合
色数変換処理部211は、
図18(b)に示すように、色変換部2110、初期分類部2111、領域分割部2112、第1代表色算出部2113、縮小処理部2115、第3代表色算出部2118、フィルタ処理部2117、出力画像生成部2114を含んで構成される。
【0180】
第3代表色算出部2118は、第1代表色算出処理によって取得された代表色を初期代表色として、K-means法を用いて更新し、最終的な代表色を算出する処理である第3代表色算出処理を実行する。第3代表色算出処理については後述する。第3代表色算出部2118は、制御部70によって実行されるプログラムとして実現されてもよいし、回路等のハードウェアとして実現されてもよい。
【0181】
色変換部2110、初期分類部2111、第1代表色算出部2113、出力画像生成部2114は、第1実施形態と同様に、それぞれ、色変換処理、初期分類処理、第1代表色算出処理、出力画像生成処理を実行する。縮小処理部2115、フィルタ処理部2117は、第3実施形態と同様に、それぞれ、縮小処理、フィルタ処理を実行する。
【0182】
色数変換処理部211は、出力階調補正部210から出力されたRGB信号(入力画像)に対して、色空間を変更する場合は入力画像の縮小画像の色空間した上で、入力画像を初期分類部2111に出力する。また、色数変換処理部211は、入力画像に対して、領域分離処理、第1代表色算出処理を実行することで、無彩色の領域に分類された画素から第1所定数の代表色と有彩色の領域に分類された画素から第2所定数の代表色とをメディアンカット法を用いて算出する。色数変換処理部211は、第1代表色算出処理によって算出された代表色を、第3代表色算出部2118に出力する。
【0183】
さらに、色数変換処理部211は、出力階調補正部210から出力されたRGB信号(入力画像)に対して縮小処理を実行し、色空間を変更する場合は入力画像の縮小画像の色空間した上で、処理後の入力画像を第3代表色算出部2118に出力する。
【0184】
色数変換処理部211は、第3代表色算出処理を実行することで、処理後の入力画像に基づき、第1代表色算出処理によって算出された第1所定数の代表色と第2所定数の代表色とを更新し、最終的な代表色を算出する。
【0185】
色数変換処理部211は、入力画像に対してフィルタ処理を実行し、フィルタ処理を実行した後の入力画像と、第3代表色算出処理により算出された代表色とを用いて出力画像生成処理を実行することで、入力画像の減色画像を生成する。
【0186】
[4.3 第3代表色算出処理]
つづいて、
図19を参照して、第3代表色算出処理について説明する。第3代表色算出処理は、第3代表色算出部2118によって実行される。第3代表色算出処理は、K-means法を用いて代表色を算出する処理である。
【0187】
ここで、第3代表色算出部2118に入力される画像は、縮小処理部2115によって縮小された入力画像である。なお、減色処理に用いられる色空間がRGB色空間ではない場合、縮小処理部2115によって縮小された入力画像は、色変換部2110において減色処理に用いられる色空間の画素値に変換された上で、第3代表色算出部2118に入力される。
【0188】
はじめに、第3代表色算出部2118は、第1代表色算出部2113の出力である代表色を初期代表色とする(ステップS400)。つづいて、第3代表色算出部2118は、入力画像から1の画素(注目画素)を選択し、注目画素の画素値と複数の代表色の画素値とを比較し、注目画素を一番画素値が近い代表色に基づくグループに分類(クラスタリング)する(ステップS402)。なお、第3代表色算出部2118は、無彩色領域に含まれる画素を無彩色領域から算出された代表色に基づく何れかのグループに分類し、有彩色領域に含まれる画素を有彩色領域から算出された代表色に基づく何れかのグループに分類する。第3代表色算出部2118は、入力画像に含まれる全ての画素を分類したか否かを判定し(ステップS404)、全ての画素を分類していない場合は、ステップS402へ戻る(ステップS404;No→ステップS402)。
【0189】
第3代表色算出部2118は、入力画像に含まれる全ての画素を、何れかの代表色に基づくグループに分類したら、グループ毎に代表色を算出する(ステップS404;Yes→ステップS406)。つづいて、第3代表色算出部2118は、ステップS406における処理を規定回数繰り返し実行する処理が終了したか否かを判定する(ステップS408)。第3代表色算出部2118は、ステップS406における処理を規定回数実行していない場合は、ステップS402に戻る(ステップS408;No→ステップS402)。一方、第3代表色算出部2118は、ステップS406における処理を規定回数実行した場合は、
図19に示した処理を終了する(ステップS408;Yes)。このように、第3代表色算出部2118は、第1代表色算出部の出力である代表色を初期代表色として、ステップS406における処理を繰り返し実行することにより更新する。第3代表色算出部2118は、代表色を出力する。
【0190】
このように、本実施形態の画像形成装置は、メディアンカット法により算出された代表色を初期代表色とし、K-means法により代表色を更新する。ここで、初期代表色は、入力画像に含まれる画素に基づいて算出された色であり、入力画像の色の分布を反映した色となっている。このような状態からK-means法による代表色の算出が行われるため、代表色が大きく変わったり、振動したりする可能性が低い。そのため、本実施形態によれば、高速に代表色を最適化することができる。
【0191】
また、出力解像度の画像サイズの画像において代表色を割り当てる場合も、エッジ保存型の平滑化フィルタで濃度ムラや輝度ムラを抑制することで、平坦部への均一な代表色の割当が可能となり、出力画像の画質を向上させることができる。このように、本実施形態の画像形成装置は、縮小画像の画質向上とファイルサイズの抑制とを両立できる。
【0192】
[5.第5実施形態]
つづいて、第5実施形態について説明する。第5実施形態は、画像読取装置によって実現する実施形態である。本実施形態は、第1実施形態の
図2を
図19に置き換えたものである。なお、同一の機能部には同一の符号を付し、説明については省略する。
【0193】
第1実施形態から第4実施形態では、減色処理を実行するカラー画像処理装置20を画像形成装置1が備える場合について説明したが、カラー画像処理装置20は、画像形成装置1以外の装置に備えられてもよい。例えば、第1実施形態から第4実施形態において説明したカラー画像処理装置20を、フラットベッドスキャナ等の画像読取装置2が有する画像処理装置に適用した例について説明する。
【0194】
図19は、本実施形態における画像読取装置2の機能的構成を示すブロック図である。画像読取装置2は、
図19に示すように、カラー画像入力装置10、カラー画像処理装置20、送受信装置40、操作パネル50、記憶部60、制御部70を備えて構成される。
【0195】
また、本実施形態では、カラー画像処理装置20は、A/D変換部201、シェーディング補正部202、原稿種別判定部203、入力階調補正部204、領域分離処理部205、色補正部206、空間フィルタ処理部208、解像度変換処理部209、出力階調補正部210、色数変換処理部211、階調再現処理部212、圧縮処理部213、ファイル生成部214、色数変換判定処理部215を備えている。色数変換処理部211は、第1実施形態から第4実施形態にて説明した処理と同様の処理が実行される。
【0196】
画像読取装置2で実行される各種処理は、画像読取装置2に備えられる制御部70(CPU(Central Processing Unit)あるいはDSP(Digital Signal Processor)等のプロセッサを含むコンピュータ)により制御される。
【0197】
なお、画像読取装置2は、スキャナに限定されることはなく、例えば、デジタルスチルカメラ等のカメラを搭載した電子機器類(例えば、携帯電話、スマートフォン、タブレット端末等)であってもよい。また、カラー画像処理装置20において実行される処理は、例えばサーバ装置(ネットワークを経由した画像処理装置)により実行されてもよい。
【0198】
[6.変形例]
本発明は上述した各実施の形態に限定されるものではなく、種々の変更が可能である。すなわち、本発明の要旨を逸脱しない範囲内において適宜変更した技術的手段を組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【0199】
また、上述した実施形態は、説明の都合上、それぞれ別に説明している部分があるが、技術的に可能な範囲で組み合わせて実行してもよいことは勿論である。
【0200】
また、上述した実施形態は、画像形成装置や画像処理装置によって減色処理を実現するものとして説明したが、本実施形態において説明した減色処理は、PC(Personal Computer)やサーバ装置において実行されるプログラムとして実現されてもよい。例えば、インターネット上に配置されたサーバ装置において、本実施形態において説明した減色処理を実現するウェブサービスが展開されてもよい。この場合、当該サーバ装置は、他の装置から受信した画像を入力画像として減色処理を実行し、減色画像を当該他の装置からダウンロード可能な形態で提供すればよい。
【0201】
また、実施形態において各装置で動作するプログラムは、上述した実施形態の機能を実現するように、CPU等を制御するプログラム(コンピュータを機能させるプログラム)である。そして、これら装置で取り扱われる情報は、その処理時に一時的に一時記憶装置(例えば、RAM)に蓄積され、その後、各種ROM(Read Only Memory)やHDD等の記憶装置に格納され、必要に応じてCPUによって読み出し、修正・書き込みが行なわれる。
【0202】
ここで、プログラムを格納する記録媒体としては、半導体媒体(例えば、ROMや、不揮発性のメモリカード等)、光記録媒体・光磁気記録媒体(例えば、DVD(Digital Versatile Disc)、MO(Magneto Optical Disc)、MD(Mini Disc)、CD(Compact Disc)、BD (Blu-ray(登録商標) Disk) 等)、磁気記録媒体(例えば、磁気テープ、フレキシブルディスク等)等の何れであってもよい。また、ロードしたプログラムを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することにより、本発明の機能が実現される場合もある。
【0203】
また、市場に流通させる場合には、可搬型の記録媒体にプログラムを格納して流通させたり、インターネット等のネットワークを介して接続されたサーバコンピュータに転送したりすることができる。この場合、サーバコンピュータの記憶装置も本発明に含まれるのは勿論である。
【符号の説明】
【0204】
1 画像形成装置
2 画像読取装置
10 カラー画像入力装置
20 カラー画像処理装置
201 A/D変換部
202 シェーディング補正部
203 原稿種別判定部
204 入力階調補正部
205 領域分離処理部
206 色補正部
207 黒色生成下色除去部
208 空間フィルタ処理部
209 解像度変換処理部
210 出力階調補正部
211 色数変換処理部
2110 色変換部
2111 初期分類部
2112 領域分割部
2113 第1代表色算出部
2114 出力画像生成部
2115 縮小処理部
2116 第2代表色算出部
2117 フィルタ処理部
2118 第3代表色算出部
212 階調再現処理部
213 圧縮処理部
214 ファイル生成部
30 カラー画像出力装置
40 送受信装置
50 操作パネル
52 操作部
54 表示部
60 記憶部
70 制御部