画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
【課題】画像データの圧縮後のデータ量を削減することができる画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体を提供する。
【解決手段】カラー画像処理装置2は、圧縮処理部3で、画像中の文字の画素を抽出し、抽出した画素の色を識別子(インデックス)で表わした前景レイヤを生成し、画像から文字を省いた背景レイヤを生成し、識別子毎に2値画像を生成し、2値画像及び背景レイヤを夫々圧縮する。圧縮処理部3は、前景レイヤを生成する際に、色に関連付けた識別子を各画素に一旦対応付け、次に、近似した色に関連付けられ、しかも画素同士が所定距離より接近している識別子を統合する。このため、識別子の画素が含まれる矩形領域を2値画像から抽出して圧縮する際に、圧縮後のデータに含まれる不要なデータを削減することができる。
【解決手段】カラー画像処理装置2は、圧縮処理部3で、画像中の文字の画素を抽出し、抽出した画素の色を識別子(インデックス)で表わした前景レイヤを生成し、画像から文字を省いた背景レイヤを生成し、識別子毎に2値画像を生成し、2値画像及び背景レイヤを夫々圧縮する。圧縮処理部3は、前景レイヤを生成する際に、色に関連付けた識別子を各画素に一旦対応付け、次に、近似した色に関連付けられ、しかも画素同士が所定距離より接近している識別子を統合する。このため、識別子の画素が含まれる矩形領域を2値画像から抽出して圧縮する際に、圧縮後のデータに含まれる不要なデータを削減することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各画素の色をインデックス化することにより高効率で画像データを圧縮することができる画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【0002】
紙等に記録された画像を光学的に読み取って画像データを生成する画像処理装置は、スキャナ装置、ファクシミリ装置又は複写装置として広く利用されている。画像処理装置が生成した画像データは、ファクシミリ通信若しくは電子メール等を用いて送受信されるか、又はデータベースに蓄積される等して種々の用途に利用される。画像を光学的に読み取って生成した画像データは、一般的にデータ量が多くなるので、送受信又は蓄積を効率的に行なうためには、画像データの圧縮が必要不可欠となっている。
【0003】
高圧縮率を実現するための圧縮技術の1つにレイヤ分離に基づく圧縮技術がある。レイヤ分離に基づく圧縮技術は、画像を文字及び/又は線画を表わす前景レイヤとその他の画像を表わす背景レイヤとに分離し、前景レイヤ及び背景レイヤを夫々に適した圧縮方法を用いて圧縮し、最終的に圧縮画像を生成する技術である。
【0004】
背景レイヤは、JPEG(Joint Photographic Experts Group)等の非可逆圧縮技術を用いて圧縮されるのが一般的である。非可逆圧縮技術は、圧縮率の制御が簡易であるので、用途に応じてデータ量の削減又は画質の劣化防止等を行なうことができる。
一方、前景レイヤは、JBIG(Joint Bi-level Image Experts Group)、MMR(Modified Modified Read)、又はLZW(Lempel Ziv Welch)といった可逆圧縮技術を用いて圧縮されるのが一般的である。可逆圧縮技術は、圧縮率を制御することが難しいため、圧縮率を向上させることが困難である。
【0005】
特許文献1には、圧縮率を向上させることができる圧縮技術が開示されている。特許文献1に記載の技術では、カラー画像に含まれる各画素の色をインデックスで表わし、インデックスで表わされた色毎の画素数を含むカラー情報、及びそれらを用いて生成した背景色情報から、インデックスの統合を行なっている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−229261号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術は、1枚分の画像内に含まれる同一の色を同一のインデックスで表わし、各インデックスに各色の画素の最大・最小座標から矩形領域を切り出して2値化・圧縮を行なっている。従って、一のインデックスについて切り出した矩形領域には、このインデックスに無関係な領域も含まれることとなるので、圧縮後のデータには不要なデータが含まれてしまう。この結果、圧縮後のデータ量が大きくなり、圧縮効率が悪いという問題が生じる。
【0008】
本発明は斯かる問題を解決するためになされたものであり、その主たる目的は、各インデックスに係る画素が高い割合で含まれる領域を抽出できるようにすることにより、圧縮後のデータ量を削減することができる画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体を提供することにある。
【課題を解決するための手段】
【0009】
本発明に係る画像処理装置は、複数の画素で構成された画像を受け付ける受付手段と、該受付手段が受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する抽出手段と、該抽出手段が抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手段と、前記受付手段が受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成する背景レイヤ生成手段と、前記前景レイヤ生成手段が生成した前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する2値画像生成手段と、該2値画像生成手段が生成した2値画像、及び前記背景レイヤ生成手段が生成した背景レイヤを夫々圧縮する圧縮手段とを備え、画像を圧縮する処理を行なう画像処理装置において、前記前景レイヤ生成手段は、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける識別子対応手段と、該識別子対応手段による対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する識別子統合手段とを有することを特徴とする。
【0010】
本発明に係る画像処理装置は、前記識別子対応手段は、識別子と、該識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する記憶手段を有し、前記識別子統合手段は、前記記憶手段が記憶した矩形領域を、識別子の統合結果に応じて修正する修正手段を有し、前記圧縮手段は、前記特定の識別子に関連付けて前記記憶手段が記憶した矩形領域又は前記修正手段が修正した矩形領域に対応する2値画像を圧縮するようにしてあることを特徴とする。
【0011】
本発明に係る画像処理装置は、前記識別子統合手段は、第1の識別子に関連付けられた第1の色と、前記第1の識別子とは異なる第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する判定手段と、該判定手段が近似していると判定した場合、前記第1の識別子が対応付けられた画素と前記第2の識別子が対応付けられた画素との最小距離を演算する距離演算手段と、該距離演算手段が演算した最小距離が所定の閾値より小さい場合に、前記第1の識別子が対応付けられた画素の画素数と前記第2の識別子が対応付けられた画素の画素数とを比較する比較手段と、該比較手段の比較結果に基づき、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する手段とを有することを特徴とする。
【0012】
本発明に係る画像処理装置は、画像上の一方向を主走査方向とし、前記一方向に直交する方向を副走査方向とするように構成してあり、前記距離演算手段が演算する距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを切り替える手段を更に備えることを特徴とする。
【0013】
本発明に係る画像処理装置は、各画素の色は、複数の原色の色強度を示す情報からなることを特徴とする。
【0014】
本発明に係る画像処理装置は、各画素の色は、単色の色強度を示す情報からなることを特徴とする。
【0015】
本発明に係る画像形成装置は、前述の画像処理装置を備えることを特徴とする。
【0016】
本発明に係る画像処理方法は、複数の画素で構成された画像を受け付けるステップと、受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出するステップと、抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成ステップと、受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成するステップと、前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成するステップと、生成した2値画像及び背景レイヤを夫々圧縮するステップとを含む画像処理方法において、前記前景レイヤ生成ステップは、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付けるステップと、識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合するステップとを含むことを特徴とする。
【0017】
本発明に係るコンピュータプログラムは、コンピュータに、画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する手順と、抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手順と、前記画像から文字及び/又は線画を省いた背景レイヤを生成する手順と、前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する手順と、生成した2値画像及び背景レイヤを夫々圧縮する手順とを含む処理を実行させることによって、画像を圧縮する処理を実行させるためのコンピュータプログラムであって、前記前景レイヤ生成手順は、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける手順と、識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する手順とを含むことを特徴とする。
【0018】
本発明に係る記録媒体は、前述のコンピュータプログラムを記録してあることを特徴とする。
【0019】
本発明にあっては、画像処理装置は、まず、受け付けた画像から文字及び/又は線画に対応する画素を抽出し、次に、抽出した画素の色を識別子で表わした前景レイヤを生成し、また、画像から文字及び/又は線画を省いた背景レイヤを生成し、更に、前景レイヤから、各識別子に係る画素と他の画素とを区別した2値画像を生成し、最後に、全ての2値画像及び背景レイヤを夫々圧縮することによって圧縮画像を生成する。
【0020】
画像処理装置は、前景レイヤを生成する際には、色に関連付けた識別子を各画素に一旦対応付け、次いで、近似した色に関連付けられ、しかも画素同士が所定距離より小さく接近している識別子を統合する。この結果、識別子の個数が減少するため、生成すべき2値画像の枚数が減少する。
一方、近似した色に関連付けられている識別子であっても、所定距離以上離れている場合は、識別子は統合されない。このため、近似した色でありながら異なる識別子が対応付けられた画素は、互いに異なる2値画像に含まれることとなり、個々の2値画像内では、各識別子に係る画素がより狭い領域に集中する。換言すれば、識別子を統合するによって、個々の2値画像内で、各識別子に係る画素が広い領域に分散してしまう不都合が抑制される。
【0021】
本発明にあっては、画像処理装置は、色に関連付けた識別子を各画素に一旦対応付ける場合に、識別子と、この識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する。
次いで、画像処理装置は、近似した色に関連付けられ、しかも画素同士が所定距離より小さく接近している識別子を統合する場合に、記憶した矩形領域を、識別子の統合結果に応じて修正する。
各矩形領域には、特定の識別子に無関係な領域は最小限しか含まれていない。
【0022】
更に、画像処理装置は、前景レイヤを2値化し、特定の識別子で表わされる画素が存在する画像上の矩形領域(記憶した矩形領域又は修正した矩形領域)を2値画像から抽出し、抽出した矩形領域を圧縮する。又は、画像処理装置は、特定の識別子で表わされる画素が存在する画像上の矩形領域(記憶した矩形領域又は修正した矩形領域)を前景レイヤから抽出し、抽出した矩形領域を2値化し、2値化した矩形領域を圧縮する。
この結果、圧縮後のデータ量が削減される。
【0023】
本発明にあっては、画像処理装置は、第1の識別子に関連付けられた第1の色と、第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する。
第1の色と第2の色とが近似している場合、第1の識別子と第2の識別子とは、統合すべき識別子の候補となる。
ここで、画像処理装置は、第1の識別子が対応付けられた画素と第2の識別子が対応付けられた画素との最小距離を演算する。
演算した最小距離が所定の閾値より小さい場合、第1の識別子と第2の識別子との統合が決定される。
【0024】
次いで、画像処理装置は、第1の識別子が対応付けられた画素の画素数と第2の識別子が対応付けられた画素の画素数とを比較する。
最後に、画像処理装置は、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する。
以上の結果、画質の大幅な劣化を招くことなく、画素同士の距離が近い識別子が適切に統合される。
第1の色と第2の色とが近似していない場合は、識別子の統合は起こらない。また、画素同士の距離が遠い場合は、識別子の統合は起こらない。
【0025】
本発明にあっては、画素間の距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを利用可能であり、必要に応じていずれかを切り換えて処理を実行することにより、スキャナで読み取った画像を90°右回転させる場合等、状況に応じた識別子の統合を行なう。
【0026】
本発明にあっては、赤緑青等の複数の原色の色強度を識別子に関連付けて画像の圧縮処理を行なうことにより、カラー画像の圧縮を可能とする。
【0027】
本発明にあっては、単色の色強度を識別子に関連付けて画像の圧縮処理を行なうことにより、グレースケールのモノクロ画像の圧縮を可能とする。
【発明の効果】
【0028】
本発明の画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体による場合、個々の2値画像内では、各識別子に係る画素がより狭い領域に集中している。従って、圧縮の際に2値画像から抽出した各識別子に係る画素が含まれる矩形領域においては、各識別子に係る画素の割合がより高くなる。つまり、圧縮後のデータに含まれる不要なデータを削減することができる。
しかも、識別子を統合する事によって、2値画像の枚数は最小限に抑えられている。
【0029】
以上の結果、画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることができる。また、画像を圧縮するために必要な処理時間を短縮することが可能となる。
更に、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【0030】
【図1】実施の形態1に係る画像形成装置の内部の機能構成を示すブロック図である。
【図2】圧縮処理部が画像を圧縮する処理の概要を示す模式図である。
【図3】圧縮処理部が画像を圧縮する処理の概要を示す模式図である。
【図4】圧縮処理部の内部構成を示すブロック図である。
【図5】前景色インデックス化処理部の内部構成を示すブロック図である。
【図6】圧縮処理部が圧縮すべき画像の例を示す概念図である。
【図7】初期インデックス画像の例を示す概念図である。
【図8】統合インデックス画像の例を示す概念図である。
【図9】初期インデックステーブル及び初期インデックスカラーテーブルの例を示す図表である。
【図10】初期座標テーブルの例を示す図表である。
【図11】統合インデックステーブル及び統合インデックスカラーテーブルの例を示す図表である。
【図12】統合座標テーブルの例を示す図表である。
【図13】インデックス生成部が行なう処理の手順を示すフローチャートである。
【図14】インデックス生成部が行なう処理の手順を示すフローチャートである。
【図15】座標テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図16】減色処理テーブルの例を示す図表である。
【図17】第1の注目画素に対する処理の手順を説明するための図表である。
【図18】第2の注目画素に対する処理の手順を説明するための図表である。
【図19】インデックスカラーテーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図20】異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離との関係を示す模式図である。
【図21】インデックス統合部が行なう処理の手順を示すフローチャートである。
【図22】インデックス統合部が行なう処理の手順を示すフローチャートである。
【図23】各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図24】各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図25】異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離との関係を示す模式図である。
【図26】図25に示す画像を90°右回転させた画像における、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離との関係を示す模式図である。
【図27】異なるインデックスが対応付けられた2個の領域と主走査方向及び副走査方向夫々の最小距離との関係を示す模式図である。
【図28】主走査方向及び副走査方向夫々の最小距離を用いて画素間の距離を判定するその他の条件を用いた処理の手順の一部を示すフローチャートである。
【図29】図28に示すS131〜S136の処理によってインデックスが統合されない画素の範囲を示す模式図である。
【図30】生成した2値画像の例を示す概念図である。
【図31】実施の形態2に係る画像形成装置の内部の機能構成を示すブロック図である。
【図32】実施の形態2に係る圧縮処理部が利用するインデックスカラーテーブルの例を示す図表である。
【図33】実施の形態3に係る画像形成装置の内部の機能構成を示すブロック図である。
【図34】実施の形態4に係る画像処理装置を含むスキャナ装置の内部の機能構成を示すブロック図である。
【図35】実施の形態5に係る画像処理装置の内部構成を示すブロック図である。
【発明を実施するための形態】
【0031】
以下、本発明を、その実施の形態を示す図面に基づいて詳述する。
【0032】
実施の形態 1.
実施の形態1では、本発明の画像処理装置が、カラー画像を形成する画像形成装置の一部をなす形態を示す。
図1は、実施の形態1に係る画像形成装置の内部の機能構成を示すブロック図である。
本発明の実施の形態に係る画像形成装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、読み取ったカラー画像に応じた画像データ及び圧縮画像データを生成する処理を行なうカラー画像処理装置2が接続されている。カラー画像処理装置2は、本発明における画像処理装置として機能する。
【0033】
カラー画像処理装置2には、カラー画像処理装置2が生成した画像データに基づいてカラー画像を出力するカラー画像出力装置13、及びカラー画像処理装置2が生成した圧縮画像データを外部へ送信する送信装置14が接続されている。
カラー画像入力装置11、カラー画像処理装置2、カラー画像出力装置13及び送信装置14には、使用者からの操作を受け付ける操作パネル12が接続されている。
【0034】
カラー画像入力装置11は、CCD(Charge Coupled Device )光センサを備えたスキャナにて構成されており、紙等の記録担体上に記録されたカラー画像からの反射光像をR(赤)G(緑)B(青)に分解してCCDで読み取り、RGBのアナログ信号に変換してカラー画像処理装置2へ出力する構成となっている。
カラー画像処理装置2は、カラー画像入力装置11から入力されたRGBのアナログ信号に対して所定の信号処理を行なってデジタルの画像データを生成する。また、カラー画像処理装置2は、デジタルのC(シアン)M(マゼンタ)Y(イエロー)K(ブラック)信号からなる画像データを生成してカラー画像出力装置13へ出力する。更にまた、カラー画像処理装置2は、生成したデジタルの画像データを後述する圧縮処理により圧縮した圧縮画像データを生成し、圧縮画像データを送信装置14へ出力する。
【0035】
カラー画像出力装置13は、カラー画像処理装置2から入力された画像データに基づいて、熱転写、電子写真、又はインクジェット等の方式により記録担体上に画像を形成することによって、カラー画像を出力する。
送信装置14は、図示しない公衆回線網、LAN(Local Area Network)又はインターネット等の通信ネットワークに接続可能であり、ファクシミリ又は電子メール等の通信方法により通信ネットワークを介して外部へ圧縮画像データを送信する。
操作パネル12は、画像形成装置の操作に必要な情報を表示する液晶ディスプレイ等の表示部と、画像形成装置の動作を制御する指示を使用者の操作により受け付けるタッチパネル又はテンキー等の受付部とを含んで構成されている。
【0036】
カラー画像処理装置2は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部23、色補正部24、黒生成下色除去部25、空間フィルタ処理部26、出力階調補正部27、及び階調再現処理部28の順に送り、デジタルのCMYK信号からなる画像データをカラー画像出力装置13へ出力する構成となっている。また、カラー画像処理装置2は、デジタル信号を領域分離処理部23から圧縮処理部3へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0037】
A/D変換部20は、カラー画像入力装置11からカラー画像処理装置2へ入力されたRGBのアナログ信号を受け付け、RGBのアナログ信号をデジタルのRGB信号へ変換し、RGB信号をシェーディング補正部21へ出力する。
シェーディング補正部21は、A/D変換部20から入力されたRGB信号に対して、カラー画像入力装置11の照明系、結像系及び撮像系で生じる各種の歪みを取り除く処理を行なう。
次いで、シェーディング補正部21は、歪みを取り除いたRGB信号を入力階調補正部22へ出力する。
【0038】
入力階調補正部22は、シェーディング補正部21から入力されたRGB信号に対して、カラーバランスを調整する。シェーディング補正部21から入力階調補正部22へ入力されたRGB信号はRGBの反射率信号であり、入力階調補正部22は、シェーディング補正部21から入力されたRGB信号を、カラー画像処理装置2で処理しやすい濃度信号等の信号へ変換する。
次いで、入力階調補正部22は、処理を行なったRGB信号を領域分離処理部23へ出力する。
【0039】
領域分離処理部23は、入力階調補正部22から入力されたRGB信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、分離結果に基づき、各画素がいずれの領域に属しているかを示す領域識別信号を、黒生成下色除去部25、空間フィルタ処理部26、及び階調再現処理部28へ夫々出力する。また、領域分離処理部23は、入力階調補正部22から入力されたRGB信号を色補正部24及び圧縮処理部3へ夫々出力する。
【0040】
圧縮処理部3は、領域分離処理部23からRGB信号でなる画像データを入力され、本発明の実施の形態に係る画像処理方法(後述)を用いて圧縮画像データを生成する処理を実行する。圧縮処理部3は、生成した圧縮画像データを、ハードディスク等の不揮発性の記憶媒体を用いて構成された記憶部29に記憶させる。また、圧縮処理部3は、生成した圧縮画像データを送信装置14へ出力する。
【0041】
色補正部24は、領域分離処理部23から入力されたRGB信号をCMY信号へ変換し、色再現の忠実化実現のために、不要吸収成分を含むCMY色材の分光特性に基づいた色濁りをCMY信号から取り除く処理を行なう。
次いで、色補正部24は、色補正を行なったCMY信号を黒生成下色除去部25へ出力する。
【0042】
黒生成下色除去部25は、色補正部24から入力されたCMYの3色信号からK信号を生成する黒生成処理を行ない、元のCMY信号から黒生成処理によって得られたK信号を差し引くことによって、CMYの3色信号をCMYKの4色信号へ変換する。黒生成処理の一例としては、スケルトンブラックにより黒生成を行なう方法がある。この方法では、スケルトンカーブの入出力特性をy=f(x)、変換前のデータをC,M,Y、UCR(Under Color Removal )率をα(0<α<1)とすると、変換後のデータC',M',Y',K'は下記の式(1)〜式(4)で表わされる。
【0043】
K'=f(min (C,M,Y))…(1)
C'=C−αK'…(2)
M'=M−αK'…(3)
Y'=Y−αK'…(4)
【0044】
ここで、UCR率α(0<α<1)は、CMYが重なっている部分をKに置き換えてCMYをどの程度削減するかを示す。式(1)は、CMYの各信号強度の内の最も小さい信号強度に応じてK信号が生成されることを示している。
次いで、黒生成下色除去部25は、CMY信号を変換したCMYK信号を空間フィルタ処理部26へ出力する。
【0045】
空間フィルタ処理部26は、黒生成下色除去部25から入力されたCMYK信号が表わす画像に対して、領域分離処理部23から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行なうことにより、画像のぼやけ又は粒状性劣化を改善する。例えば、領域分離処理部23にて文字に分離された領域に対しては、空間フィルタ処理部26は、文字の再現性を高めるために、高周波成分の強調量が大きいフィルタを用いて空間フィルタ処理を行なう。また、領域分離処理部23にて網点に分離された領域に対しては、空間フィルタ処理部26は、入力網点成分を除去するためのローパス・フィルタ処理を行なう。
次いで、空間フィルタ処理部26は、処理後のCMYK信号を出力階調補正部27へ出力する。
【0046】
出力階調補正部27は、空間フィルタ処理部26から入力されたCMYK信号に対して、カラー画像出力装置13の特性に基づく出力階調補正処理を行ない、出力階調補正処理後のCMYK信号を階調再現処理部28へ出力する。
【0047】
階調再現処理部28は、出力階調補正部27から入力されたCMYK信号に対して、領域分離処理部23から入力された領域識別信号に基づいて、領域に応じた中間調処理を行なう。例えば、領域分離処理部23にて文字に分離された領域に対しては、階調再現処理部28は、高域周波成分の再現に適した高解像度のスクリーンによる2値化又は多値化の処理を行なう。また、領域分離処理部23にて網点に分離された領域に対しては、階調再現処理部28は、階調再現性を重視したスクリーンでの2値化又は多値化の処理を行なう。
次いで、階調再現処理部28は、処理後の画像データをカラー画像出力装置13へ出力する。
【0048】
カラー画像出力装置13は、カラー画像処理装置2から入力されたCMYK信号でなる画像データに基づいて、紙等の記録担体上にCMYKのカラー画像を形成する。画像データに基づいて画像を形成することにより、画像形成装置は、受け付けた画像に基づいた画像を形成する。
【0049】
次に、圧縮処理部3の構成及び圧縮処理部3が行なう処理を説明する。
図2及び図3は、圧縮処理部3が画像を圧縮する処理の概要を示す模式図である。
図2に示す圧縮前の画像は、白地に書かれた「TEST画像」という赤色の文字と、緑色のベタ塗り領域に書かれた「これはテスト画像です」という青色の文字と、多彩な色合いを有する絵とを含んでいる。
図2に示す如く、圧縮処理部3は、入力された画像を、文字を表わす前景レイヤとその他を表わす背景レイヤとに分離する。背景レイヤには、画像から文字を省いたものが含まれる。また、前景レイヤには、各文字の色を示す情報が含まれる。
【0050】
更に、図3に示す如く、圧縮処理部3は、前景レイヤから各色毎に2値画像を生成する。例えば、圧縮処理部3は、図3に示すように、「TEST画像」の文字の画素値を“1”として他の画素値を“0”とした2値画像Aと、「これはテスト画像です」の文字の画素値を“1”として他の画素値を“0”とした2値画像Bとを生成する。2値画像Aには、「TEST画像」の文字の色(赤色)を示す色情報が付加され、また、2値画像Bには、「これはテスト画像です」の文字の色(青色)を示す色情報が付加される。
圧縮処理部3は、背景レイヤと色情報が付加された各2値画像とを夫々圧縮することにより、圧縮画像データを生成する。
【0051】
図4は、圧縮処理部3の内部構成を示すブロック図である。
圧縮処理部3は、領域分離処理部23から入力された画像データに基づいて前景マスク生成処理部31で文字の画素を示す前景マスクを生成し、前景色インデックス化処理部32で文字の画素の色をインデックス(識別子)で表わした前景レイヤを生成する構成となっている。また、圧縮処理部3は、背景レイヤ生成処理部33で背景レイヤを生成し、2値画像生成処理部34で前景レイヤから各色の2値画像を生成し、画像圧縮処理部35で背景レイヤ及び各色の2値画像を圧縮することにより圧縮画像データを生成し、圧縮画像データを出力する構成となっている。
【0052】
以下では、圧縮処理部3の各部について、更に詳細に説明する。
前景マスク生成処理部31は、領域分離処理部23から圧縮処理部3へ入力された画像データを受け付け、受け付けた画像データが表わす画像を構成する画素から、文字に対応する画素を前景として抽出し、抽出した画素の位置を示す前景マスクを生成する。抽出した画素以外の画素は、背景の画素である。前景マスク生成処理部31は、本発明における受付手段及び抽出手段夫々として機能する。
【0053】
前景マスク生成処理部31は、具体的には、画素の輝度値に対して画像上の一方向に微分処理を行ない、輝度が明るく変化するエッジ部位と、暗く変化するエッジ部位とを検知し、検知したエッジ部位に基づいて文字画像を2値化する。更に詳細には、前景マスク生成処理部31は、画像上の画素を一方向に走査し、正方向の微分値が出現してから負方向の微分値が出現するまでの範囲を文字の画素として抽出し、抽出した画素の画素値を“1”として他の画素値を“0”とした2値画像を生成する。
以上のようにして生成された2値画像が前景マスクである。前景マスクは、例えば、図2及び図3夫々に示す前景レイヤから色情報を省いたものとなる。
【0054】
前景マスク生成処理部31は、生成した前景マスクのデータ、及び画像データを前景色インデックス化処理部32へ出力する。なお、圧縮処理部3は、領域分離処理部23から領域識別信号を受け付け、前景マスク生成処理部31は、領域識別信号が示す文字領域に含まれる画素を抽出する処理を行なう構成であってもよい。
【0055】
図5は、前景色インデックス化処理部32の内部構成を示すブロック図である。
前景色インデックス化処理部32は、本発明における前景レイヤ生成手段として機能する。このために、前景色インデックス化処理部32は、インデックス生成部321、インデックス統合部322、及びインデックス補正部323を備える。
【0056】
ここで、本発明の実施の形態の特徴を説明する。
図6は、圧縮処理部3が圧縮すべき画像の例を示す概念図である。
図中に示すx座標及びy座標は、カラー画像入力装置11でカラー画像を読み取る際の主走査方向及び副走査方向に対応する。座標(x,y)は画像上の画素の位置を示し、座標によって各画素を特定することができる。
図6中の画素群P1〜P5は、夫々前景を示す画素群であり、画素群P1〜P5以外の画素群は、背景を示す画素群である。
【0057】
ここで、画素群P1,P3が同色(例えば赤色)の画素群であり、画素群P4が全く異なる色(例えば青色)の画素群であり、画素群P2,P5が、夫々画素群P1,P3の色に近似し、且つ、互いに異なる色(例えば画素群P2は薄い赤色、画素群P5は濃い赤色)の画素群であるものとする。
この場合、画素群P1,P3夫々の各画素に、例えばインデックス“1”が対応付けられ、画素群P2の各画素に、インデックス“2”が対応付けられ、画素群P4の各画素に、インデックス“3”が対応付けられ、画素群P5の各画素に、インデックス“4”が対応付けられる(インデックス対応処理)。
【0058】
仮に、このようにインデックス化された画像(以下、初期インデックス画像という)から、同一のインデックスの画素を含む最小面積の矩形領域を切り出す場合、インデックス“1”については、座標(2,2)〜座標(6,9)の矩形領域が切り出される。
初期インデックス画像に係るインデックスを、以下では初期インデックスということもある。図6に示す画像の場合、初期インデックスの個数は4個である。
【0059】
しかしながら、インデックス対応処理を実行しただけでは、インデックスの個数が非常に多くなる(即ち、切り出すべき矩形領域の個数が非常に多くなる)虞がある。このため、矩形領域のデータ量の総和が大きくなり、圧縮効率が悪くなる。
【0060】
ところで、従来、インデックスの個数を減少させるために、異なるインデックスの内、近似色が関連付けられているインデックス同士を統合することがなされている。
仮に、画素群P2,P5夫々の各画素に、画素群P1と同じインデックス“1”を対応付けた場合、インデックスの個数は減少するが、インデックス“1”について切り出される矩形領域は、インデックス“1”の画素を含まない領域を広く有することになる。具体的には、インデックス“1”について座標(2,2)〜座標(11,18)の矩形領域が切り出される。この矩形領域は、インデックス“1”の画素を含まない領域(例えば、座標(2,10)〜座標(11,14)の矩形領域)を広く有する。この結果、圧縮効率が悪くなる。
【0061】
本願発明の最大の特徴は、近似色のインデックス同士を統合する際に、画素間の距離を考慮することにある。
画素群P1,P3と画素群P2とは互いに距離が近いが、画素群P1,P3と画素群P5とは互いに距離が遠い。従って、画素群P1,P3及び画素群P2について、インデックスの統合が実行され、画素群P5に係るインデックス“4”は変更されない(インデックス統合処理)。
【0062】
ここで、インデックス統合処理の実行による画質の劣化を抑制するために、画素群P1,P3の画素数と画素群P2の画素数とが比較される。何故ならば、画素数が少ない方を画素数が多い方に統合した画像は、画素数が多い方を画素数が少ない方に統合した画像に比べて、各画素の色の変化が目立たないからである。
従って、画素群P1,P3に画素群P2が統合され、画素群P2の各画素に、画素群P1,P3と同じインデックス“1”が改めて対応付けられる。
【0063】
このようにインデックス化された画像(以下、統合インデックス画像という)から、同一のインデックスに対応付けられた画素を含む矩形領域を最小面積の切り出す場合、インデックス“1”については座標(2,2)〜座標(11,9)の矩形領域が切り出され、インデックス“4”については座標(6,15)〜座標(9,18)の矩形領域が切り出される。
統合インデックス画像に係るインデックスを、以下では統合インデックスということもある。図6に示す画像の場合、統合インデックスの個数は3個であり、初期インデックスの個数よりも少ない。
【0064】
以上の結果、画素群P1〜P3にインデックス“1”、画素群P4にインデックス“3”、画素群P5にインデックス“4”が夫々対応付けられ、各インデックスについて矩形領域が切り出される。このため、同一のインデックスが含まれる矩形領域の面積は必要最小限になり、且つ、インデックスの個数が必要最小限になる。
そして、このような統合インデックス画像が、前景レイヤとして出力される。
【0065】
インデックス“2”は、インデックス統合処理によって空インデックスとなるが、インデックス統合処理の実行後に、例えばインデックス“3”をインデックス“2”に変換し、インデックス“4”をインデックス“3”に変換して、インデックス“4”を空インデックスにすることによって、空インデックスを詰めることができる。なお、インデックス“2”を空インデックスのままにして、インデックス“1”,“3”,“4”を用いる構成でもよい。
【0066】
図7及び図8は、初期インデックス画像及び統合インデックス画像の例を示す概念図である。
図7及び図8中に示すx座標は、前景色インデックス化処理部32へ入力された画像データが表わす画像中の主走査方向の画素の位置に対応し、y座標は、副走査方向の画素の位置に対応する。各インデックス画像の主走査方向及び副走査方向は、カラー画像入力装置11でカラー画像を読み取る際の主走査方向及び副走査方向に対応する。座標(x,y)は画像上の画素の位置を示し、座標によって各画素を特定することができる。
【0067】
各インデックス画像では、前景マスクで前景とされている各画素に、夫々の色(例えば赤色、及び青色等)を示すインデックスが対応付けられている。前景を示すインデックスは、“1”以上のいずれかの数値を有する。また、各インデックス画像では、前景マスクで背景とされている各画素に、前景の色とは異なる色(例えば白色)を示すインデックスが対応付けられている。背景を示すインデックスは“0”である。
【0068】
図9〜図12は、インデックステーブル、インデックスカラーテーブル、及び座標テーブルの例を示す図表である。
インデックステーブルは、アドレスとインデックスとを関連付けたテーブルである。
【0069】
インデックスカラーテーブルは、アドレスと、RGB各色の色強度で表わされた色情報と、画素数とを関連付けたテーブルである。インデックスカラーテーブルのアドレスは、インデックステーブルのインデックスに対応する。換言すれば、インデックスカラーテーブルは、インデックスと、このインデックスに関連付けられた色情報と、このインデックスが対応付けられた画素の画素数とを関連付けたテーブルである。背景を示すインデックス“0”には、白色を示す色情報と、画素数243とが関連付けられている。以下では、各色の色情報をRGB値(Rの色強度,Gの色強度,Bの色強度)で表わす。例えば、白色はRGB値(255,255,255)と表わされる。
【0070】
座標テーブルは、アドレスと、最小x座標値、最小y座標値、最大x座標値、及び最大y座標値とを関連付けたテーブルである。座標テーブルのアドレスは、インデックステーブルのインデックスに対応する。換言すれば、座標テーブルは、インデックスと、このインデックスが対応付けられた画素が存在する画像上の矩形領域の、主走査方向の最小座標値及び最大座標値並びに副走査方向の最小座標値及び最大座標値とを関連付けたテーブルである。
【0071】
図9(a)に示す初期インデックステーブル、図9(b)に示す初期インデックスカラーテーブル、及び図10に示す初期座標テーブルは、図7に示す初期インデックス画像に対応する。
図11(a)に示す統合インデックステーブル、図11(b)に示す統合インデックスカラーテーブル、及び図12に示す統合座標テーブルは、図8に示す統合インデックス画像に対応する。
統合インデックステーブルのアドレスは、初期インデックステーブルのインデックスに対応する。換言すれば、統合インデックステーブルは、初期インデックスと統合インデックスとを関連付けたテーブルである。
【0072】
図7に示す初期インデックス画像において、座標(7,2)〜座標(11,7)の矩形領域に含まれるインデックス“2”の画素(以下、第1の青画素群という)は、RGB値(0,0,200)の画素(青色の画素)である。また、座標(10,16)〜座標(12,16)の矩形領域に含まれるインデックス“6”の画素(以下、第2の青画素群という)は、RGB値(10,10,190)の画素(やや明るい青色の画素)である。
【0073】
第1の青画素群の色と第2の青画素群の色とは非常に近似している。しかしながら、図10に示す初期座標テーブルを参照すればわかるように、第1の青画素群と第2の青画素群との副走査方向の最小距離は、第2の青画素群の最小y座標値“16”から第1の青画素群の最大y座標値“7”を減算した減算結果“9”であり、非常に遠い。
このため、図8に示す統合インデックス画像では、第1の青座標群に係るインデックスと及び第2の青座標群に係るインデックスとは統合されておらず、異なるインデックスが対応付けられたままである。
【0074】
図7に示す初期インデックス画像において、座標(1,14)〜座標(3,18)の矩形領域に含まれるインデックス“5”の画素(以下、第1の緑画素群という)は、RGB値(120,240,120)の画素(薄い緑色の画素)である。また、座標(4,18)〜座標(4,19)の矩形領域に含まれるインデックス“7”の画素(以下、第2の緑画素群という)は、RGB値(135,240,135)の画素(更に薄い緑色の画素)である。
【0075】
第1の緑画素群の色と第2の緑画素群の色とは非常に近似している。しかも、第1の緑画素群と第2の緑画素群との副走査方向の最小距離は、第2の緑画素群の最小y座標値“18”から第1の緑画素群の最大y座標値“18”を減算した減算結果“0”であり、非常に近い。更に、第1の緑画素群の画素数“11”は第2の緑画素群の画素数“2”より多い。
【0076】
従って、図9(a)に示す初期インデックステーブルにおいてアドレス“7”に関連付けられていたインデックス“7”は、図11(a)に示す統合インデックステーブルではインデックス“5”に変更されている。
また、図11(b)に示す統合インデックスカラーテーブルでは、アドレス“7”に関連付けられていた色情報及び画素数が、夫々デフォルト値(本実施の形態では“0”)に変更されている。更に、アドレス“5”に関連付けられていた画素数が、“13”に変更されている。画素数“13”とは、図9(b)に示す初期インデックスカラーテーブルでアドレス“5”に関連付けられていた画素数“11”とアドレス“7”に関連付けられていた画素数“2”とを加算した加算結果である。
【0077】
更に、図12に示す統合座標テーブルでは、アドレス“7”に関連付けられていた各種座標値がデフォルト値に変更されている。最小x座標値のデフォルト値は、画像の主走査方向の画素数以上の数値である“4095”であり、最小y座標値のデフォルト値は、画像の副走査方向の画素数以上の数値である“8191”であり、最大x座標値のデフォルト値は“0”であり、最大y座標値のデフォルト値は“0”である。ここでは、A3サイズで解像度が300dpiの画素数に基づいて、デフォルト値が設定されている。
【0078】
更にまた、統合座標テーブルでは、アドレス“5”に関連付けられていた各種座標値が、インデックス“5”が対応付けられた画素が存在する矩形領域の最小x座標値“1”、最小y座標値“14”、最大x座標値“4”、及び最大y座標値“19”に変更されている。ここで、図10に示す初期座標テーブルを参照すればわかるように、図12に示す統合座標テーブルにおけるインデックス“5”の最小x座標値及び最小y座標値は、初期座標テーブルにおけるインデックス“5”,“7”夫々の最小x座標値及び最小y座標値の内の最小値に等しく、統合座標テーブルにおけるインデックス“5”の最大x座標値及び最大y座標値は、初期座標テーブルにおけるインデックス“5”,“7”夫々の最大x座標値及び最大y座標値の内の最大値に等しい。
【0079】
図5に示すインデックス生成部321では、前景レイヤのデータ及び画像データに基づいて、インデックス対応処理が実行される。インデックス生成部321は、本発明における識別子対応手段として機能する。
インデックス対応処理では、各画素の色に応じて、特定の色に関連付けられたインデックスを各画素に対応付けることがなされる。
このようなインデックス生成部321からは、図7、図9及び図10に示すような初期インデックス画像のデータ、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルが出力される。
【0080】
インデックス生成部321では、初期インデックスを一時的に記憶しておくための仮インデックステーブルも生成する。
仮インデックステーブルは、インデックス生成部321の後段では使用されない。なお、次の図13及び図14に示すフローチャートにおいて、インデックス生成部321が、S11で初期インデックステーブルを生成せずに、S13でNOと判定した後に、仮インデックステーブルのデータを書き直すことによって初期インデックステーブルを生成してもよい。この場合、仮インデックステーブル及び初期インデックステーブルの一方だけを、例えば図示しないメモリに記憶しておけばよいため、ハードウェアリソースを節約することができる。
【0081】
図13及び図14は、インデックス生成部321が行なう処理の手順を示すフローチャートである。
図13に示すように、インデックス生成部321は、仮インデックステーブルと、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルと、初期インデックス画像とを生成する(S11)。
S11の処理が実行されることによって、仮インデックステーブルには、アドレス“0”,“1”,“2”,…と、初期インデックスのデフォルト値“0”とが記憶され、初期インデックステーブルには、アドレス“0”,“1”,“2”,…と、初期インデックスのデフォルト値とが記憶される。初期インデックスのデフォルト値は、初期インデックスに関連付けられているアドレスに等しい。
【0082】
また、初期インデックスカラーテーブルには、アドレス“0”,“1”,“2”,…と、RGB値のデフォルト値と、画素数のデフォルト値“0”とが記憶される。アドレス“0”に関連付けられるRGB値のデフォルト値はRGB値(255,255,255)であるが、アドレス“0”以外のアドレスに関連付けられるRGB値のデフォルト値はRGB値(0,0,0)である。
初期座標テーブルには、アドレス“0”,“1”,“2”,…と、各種座標値のデフォルト値とが記憶される。
初期インデックス画像の各画素には、デフォルト値として、インデックス“0”(即ち背景のインデックス)が付与される。
【0083】
S11の処理終了後、インデックス生成部321は、初期インデックスカウンタidxcnt及び副走査カウンタycntを夫々“0”にリセットする(S12)。初期インデックスカウンタidxcntは、本処理にて初期インデックスを付与するためのカウンタである。副走査カウンタycntは、注目画素の画像上の副走査方向の画素位置を示すカウンタである。
次いで、インデックス生成部321は、副走査カウンタycntが、画像の副走査方向の画素数より小さいか否かを判定する(S13)。副走査カウンタycntが副走査方向の画素数以上である場合(S13でNO)、1枚分の画像データの入力が全て終了したため、インデックス生成部321は、本処理を終了する。
【0084】
副走査カウンタycntが、副走査方向の画素数より小さい場合(S13でYES)、インデックス生成部321は、主走査カウンタxcntを“0”にリセットする(S14)。主走査カウンタxcntは、注目画素の画像上の主走査方向の画素位置を示すカウンタである。
次いで、インデックス生成部321は、主走査カウンタxcntが、画像の主走査方向の画素数より小さいか否かを判定する(S15)。主走査カウンタxcntが主走査方向の画素数以上である場合(S15でNO)、1ライン分の主走査方向の画素の選択が全て終了したため、インデックス生成部321は、副走査カウンタycntをインクリメントし(S16)、処理をS13へ戻す。
【0085】
主走査カウンタxcntが、主走査方向の画素数より小さい場合(S15でYES)、インデックス生成部321は、S17以降の処理を実行する。このとき、注目画素の位置は、主走査カウンタxcntと副走査カウンタycntとで表現される。本実施の形態においては、注目画素(xcnt,ycnt)が、選択中の画素である。また、注目画素(xcnt,ycnt)が選択されるよりも前に選択された各画素が、選択済みの画素である。
インデックス生成部321は、前景マスクを参照し、注目画素(xcnt,ycnt)が前景の画素であるか否かを判定する(S17)。
【0086】
注目画素(xcnt,ycnt)が背景の画素である場合(S17でNO)、インデックス生成部321は、アドレスaddrに“0”を代入し(S18)、初期インデックスカラーテーブルをアドレスaddrについて更新する(S19)。S19の処理では、インデックス生成部321は、アドレスaddrに関連付けられた画素数(即ち背景の画素数)をインクリメントする。
次いで、インデックス生成部321は、座標テーブル更新処理のサブルーチン(後述する図15参照)を呼び出すことによって、初期座標テーブルをアドレスaddrについて更新する(S20)。
S20の処理終了後、インデックス生成部321は、主走査カウンタxcntをインクリメントして(S21)、処理をS15へ戻す。
【0087】
図15は、座標テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
以下では、アドレスaddrに関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[addr]、最小y座標値ymin[addr]、最大x座標値xmax[addr]、及び最大y座標値ymax[addr]と記載する。
インデックス生成部321は、初期座標テーブルに記録された最小x座標値xmin[addr]が主走査カウンタxcntより大きいか否かを判定する(S31)。
最小x座標値xmin[addr]が主走査カウンタxcntより大きい場合(S31でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最小x座標値xmin[addr]に主走査カウンタxcntを代入する(S32)。
【0088】
S32が終了した場合、又はS31で最小x座標値xmin[addr]が主走査カウンタxcnt以下である場合(S31でNO)、インデックス生成部321は、初期座標テーブルに記録された最小y座標値ymin[addr]が副走査カウンタycntより大きいか否かを判定する(S33)。
最小y座標値ymin[addr]が副走査カウンタycntより大きい場合(S33でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最小y座標値ymin[addr]に副走査カウンタycntを代入する(S34)。
【0089】
S34が終了した場合、又はS33で最小y座標値ymin[addr]が副走査カウンタycnt以下である場合(S33でNO)、インデックス生成部321は、初期座標テーブルに記録された最大x座標値xmax[addr]が主走査カウンタxcntより小さいか否かを判定する(S35)。
最大x座標値xmax[addr]が主走査カウンタxcntより小さい場合(S35でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最大x座標値xmax[addr]に主走査カウンタxcntを代入する(S36)。
【0090】
S36が終了した場合、又はS35で最大x座標値xmax[addr]が主走査カウンタxcnt以上である場合(S35でNO)、インデックス生成部321は、初期座標テーブルに記録された最大y座標値ymax[addr]が副走査カウンタycntより小さいか否かを判定する(S37)。
最大y座標値ymax[addr]が副走査カウンタycntより小さい場合(S37でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最大y座標値ymax[addr]に副走査カウンタycntを代入する(S38)。
【0091】
S38が終了した場合、又はS37で最大y座標値ymax[addr]が副走査カウンタycnt以上である場合(S37でNO)、インデックス生成部321は、座標テーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0092】
図13に示すように、注目画素(xcnt,ycnt)が前景の画素である場合(S17でYES)、図14に示すように、インデックス生成部321は、注目画素(xcnt,ycnt)の色情報に基づいて、減色処理を行なう(S41)。
S41における減色処理としては、例えば特許文献1に記載された方法を用いることができる。この場合の減色処理とは、画像データに含まれる各画素の色情報に対し、予め定められた色数への減色を行なう処理である。例えば、RGB各色の色強度を8ビットで表わしている色情報のビット数を、2−2−2、3−3−2、又は3−3−3ビット等のビット数に落とす。ビット数の選び方は、色判定をどの程度の精度で行なうかによって任意に選択可能である。
【0093】
図16は、減色処理テーブルの例を示す図表である。
本実施の形態では、RGB各色情報のビット数を2−2−2とした場合に、図16に示す減色処理テーブルを用いて、減色処理が行なわれる。この場合、RGB各色は夫々4階調となる。
減色処理テーブルでは、Rの色強度、Gの色強度、及びBの色強度と、Rの減色結果col_r 、Gの減色結果col_g 、及びBの減色結果col_b とが関連付けられている。このような減色処理テーブルは、図示しないメモリに予め記憶されている。
S41では、インデックス生成部321は、減色処理テーブルを参照し、注目画素(xcnt,ycnt)の色情報に基づいて、減色結果col_r ,col_g ,col_b を取得する。
【0094】
次いで、インデックス生成部321は、減色結果を初期インデックスに対応付けるために、仮インデックステーブルへのアドレスcoladrを、下記の式(5)を用いて算出する(S42)。この結果、アドレスcoladrは“0”以上、“63”以下の範囲内のいずれかの値を取る。つまり、色情報に対して最大64通りの初期インデックスを付与することができる。
coladr=col_r +col_g ×4+col_b ×16…(5)
【0095】
以下に、仮インデックステーブルへのアドレスcoladrの具体例を挙げる。
注目画素(xcnt,ycnt)=(2,2)はRGB値(128,0,128)である(図7に示す初期インデックス画像及び図9(b)に示す初期インデックスカラーテーブル参照)。以下では、注目画素(xcnt,ycnt)=(2,2)を第1の注目画素(2,2)という。
第1の注目画素(2,2)の場合、図16に示す減色処理テーブルを参照すると、減色結果col_r ,col_g ,col_b =2,0,2となるため、仮インデックステーブルへのアドレスcoladrは、以下の式(6)のように算出される。
coladr=2+0×4+2×16=34…(6)
【0096】
注目画素(xcnt,ycnt)=(8,3)はRGB値(0,0,200)である。以下では、注目画素(xcnt,ycnt)=(8,3)を第2の注目画素(8,3)という。
第2の注目画素(8,3)の場合、減色結果col_r ,col_g ,col_b =0,0,3となるため、仮インデックステーブルへのアドレスcoladrは、以下の式(7)のように算出される。
coladr=0+0×4+3×16=48…(7)
【0097】
次いで、インデックス生成部321は、仮インデックステーブルを参照し、アドレスcoladrの初期インデックスtmpidx[coladr]を読み出し、読み出した初期インデックスtmpidx[coladr]が“0”であるか否かを判定する(S43)。S43の判定処理は、初期インデックスtmpidx[coladr]が未登録であるか登録済みであるかを判定する処理である。
初期インデックスtmpidx[coladr]が“0”である場合(S43でYES)、初期インデックスtmpidx[coladr]が未登録である。このため、インデックス生成部321は、初期インデックスカウンタidxcntをインクリメントする(S44)。
【0098】
図17及び図18は、第1の注目画素(2,2)及び第2の注目画素(8,3)に対する処理の手順を説明するための図表である。図17及び図18夫々の(a)は仮インデックステーブルを示し、(b)は初期座標テーブルを示し、(c)は初期インデックスカラーテーブルを示している。
図17(a)に示すように、アドレスcoladr=34である第1の注目画素(2,2)は、初期インデックスtmpidx[coladr]=0である。また、初期インデックスカウンタidxcnt=1である。このため、第1の注目画素(2,2)には、初期インデックス“1”が新規に付与される。
【0099】
図14に示すように、インデックス生成部321は、仮インデックステーブルのアドレスcoladrに関連付けられている初期インデックスtmpidx[coladr]を初期インデックスカウンタidxcntの値に更新する(S45)。
図17(a)の場合、インデックス生成部321は、仮インデックステーブルのアドレス“34”に関連付けられている初期インデックス“0”を“1”に更新する。
【0100】
次いで、インデックス生成部321は、初期インデックス画像を更新する(S46)。具体的には、図14に示すように、インデックス生成部321は、初期インデックス画像における注目画素(xcnt,ycnt)の画素値に、初期インデックスカウンタidxcntの値を上書きする。
更に、インデックス生成部321は、アドレスaddrに初期インデックスtmpidx[coladr]を代入し(S47)、座標テーブル更新処理のサブルーチン(図15参照)を呼び出すことによって、初期座標テーブルをアドレスaddrについて更新する(S48)。
【0101】
図17(a)に示すように、第1の注目画素(2,2)に対応付けられた初期インデックスtmpidx[coladr]=1である。このため、S46の処理を実行することによって、図7に示すように、初期インデックス画像における座標(2,2)の画素の画素値が“1”になる。また、S48の処理を実行することによって、図17(b)に示すように初期座標テーブルが更新される。この結果、初期座標テーブルでは、アドレス“1”に関連付けて、最小x座標値“2”、最小y座標値“2”、最大x座標値“2”、及び最大y座標値“2”が記憶される。
【0102】
更にまた、インデックス生成部321は、インデックスカラーテーブル更新処理のサブルーチン(後述する図19参照)を呼び出すことによって、初期インデックスカラーテーブルをアドレスaddrについて更新する(S49)。
図17(a)に示すように、第1の注目画素(2,2)に対応付けられた初期インデックスtmpidx[coladr]=1である。このため、S49の処理を実行することによって、図17(c)に示すように初期インデックスカラーテーブルが更新される。S49の処理の実行以前は、アドレス“1”に関連付けられた色情報はRGB値(0,0,0)であり、画素数は“0”であるため、S49の処理の結果、初期インデックスカラーテーブルでは、アドレス“1”に関連付けて、第1の注目画素(2,2)のRGB値(128,0,128)と、画素数“1”とが記憶される(後述する図19に示すS52,S53参照)。
【0103】
図19は、インデックスカラーテーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
インデックス生成部321は、初期インデックスカラーテーブルを参照して、アドレスaddrに関連付けられている画素数が“0”であるか否かを判定する(S51)。S51の判定処理は、初期インデックス“addr”に対応付けられたRGB値が未登録であるか登録済みであるかを判定する処理である。
【0104】
画素数が“0”である場合(S51でYES)、RGB値は未登録であるため、インデックス生成部321は、注目画素(xcnt,ycnt)のRGB値を初期インデックスカラーテーブルに記憶させ(S52)、画素数をインクリメントして(S53)、インデックスカラーテーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0105】
S52の処理を実行する場合、初期インデックス“addr”に対応付けるべきRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]は、注目画素(xcnt,ycnt)の色強度rcol[注目画素],gcol[注目画素],bcol[注目画素]を用いて、以下の式(8)〜(10)のように算出される。
rcol[addr]←rcol[注目画素]…(8)
gcol[addr]←gcol[注目画素]…(9)
bcol[addr]←bcol[注目画素]…(10)
【0106】
画素数が“0”ではない場合(S51でNO)、RGB値は登録済みであるため、インデックス生成部321は、初期インデックスカラーテーブルからアドレスaddrに関連付けられているRGB値を読み出し、読み出したRGB値と注目画素(xcnt,ycnt)のRGB値とに基づき、RGB各色の色強度の平均値を算出する(S54)。
次いで、インデックス生成部321は、S54で算出したRGB各色の色強度の平均値をアドレスaddrに関連付けて初期インデックスカラーテーブルに記憶させ(S55)、処理をS53へ移す。
なお、S51でNOの場合、インデックス生成部321は、S54及びS55の処理を行なわずに、S53の処理を実行してもよい。何故ならば、減色結果が同じRGB各色の色強度が初期インデックスカラーテーブルに既に記憶されているからである。
【0107】
S54の処理を実行する場合、初期インデックス“addr”に対応付けるべきRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]は、既に初期インデックス“addr”に対応付けられているRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]を用いて、以下の式(11)〜(13)のように算出される。
rcol[addr]←{rcol[addr]+rcol[注目画素]}/2…(11)
gcol[addr]←{gcol[addr]+gcol[注目画素]}/2…(12)
bcol[addr]←{bcol[addr]+bcol[注目画素]}/2…(13)
【0108】
ところで、S54の処理は非常に簡易であるが、平均値を算出する都度、色強度rcol[addr],gcol[addr],bcol[addr]が誤差を含んでしまう虞がある。
このような不都合を回避するためには、例えば、S54の処理で、インデックス生成部321が、前述の式(11)〜(13)の代わりに、以下の式(14)〜(16)を用いて色強度rcol[addr],gcol[addr],bcol[addr]を算出し、算出した色強度rcol[addr],gcol[addr],bcol[addr]を、S55の処理で初期インデックスカラーテーブルに記憶させることが考えられる。
【0109】
rcol[addr]←rcol[addr]+rcol[注目画素]…(14)
gcol[addr]←gcol[addr]+gcol[注目画素]…(15)
bcol[addr]←bcol[addr]+bcol[注目画素]…(16)
このような式(14)〜(16)は、注目画素(xcnt,ycnt)の色強度を単純に加算したものである。
【0110】
そして、インデックス生成部321は、S13でNOの場合、即ち1枚分の画像データの入力が全て終了した場合に、初期インデックスカラーテーブルを更新する処理を実行する。このとき、インデックス生成部321は、変数tempad=1,2,…を順に発生させ、初期インデックスカラーテーブルにおいて、アドレスtempadに関連付けられた画素数cnt [tempad]を用い、最終的な色強度rcol[tempad],gcol[tempad],bcol[tempad]を、以下の式(17)〜(19)のように算出する。最後に、インデックス生成部321は、算出した色強度rcol[tempad],gcol[tempad],bcol[tempad]を、初期インデックスカラーテーブルに記憶させる。
【0111】
rcol[tempad]←rcol[tempad]/cnt [tempad]…(17)
gcol[tempad]←gcol[tempad]/cnt [tempad]…(18)
bcol[tempad]←bcol[tempad]/cnt [tempad]…(19)
【0112】
図14に示すS49の処理が終了することによって、注目画素(xcnt,ycnt)に対する処理が終了する。そこで、インデックス生成部321は、処理を図13に示すS21へ戻す。この後、インデックス生成部321は、S21で主走査カウンタxcntをインクリメントしてから、注目画素(xcnt,ycnt)について、S15以降の処理を実行する。
【0113】
図14に示すように、初期インデックスtmpidx[coladr]が“0”ではない場合(S43でNO)、初期インデックスtmpidx[coladr]は登録済みである。このため、インデックス生成部321は、処理をS46へ移す。
【0114】
図18(a)に示すように、coladr=48である第2の注目画素(8,3)は、初期インデックスtmpidx[coladr]=2である。このため、S46の処理を実行することによって、図7に示すように、初期インデックス画像における座標(8,3)の画素の画素値が“2”になる。また、S48の処理を実行することによって、図18(b)に示すように初期座標テーブルが更新される。この結果、初期座標テーブルでは、アドレス“2”に関連付けて、最小x座標値“8”、最小y座標値“2”、最大x座標値“9”、及び最大y座標値“3”が記憶される。
【0115】
更にまた、S49の処理を実行することによって、図18(c)に示すように初期インデックスカラーテーブルが更新される。
S49の処理の結果、初期インデックスカラーテーブルでは、アドレス“2”に関連付けて、RGB値(0,0,200)が記憶され、画素数が“1”がインクリメントされて“2”になる(図19に示すS54,S55,S53参照)。
【0116】
ところで、初期インデックスカラーテーブルに記憶されている初期インデックスは、デフォルト値のままでよい。何故ならば、S13でNOの場合、即ち1枚分の画像データの入力が全て終了した場合に、初期インデックスカラーテーブル及び初期座標テーブル夫々のアドレスは、初期インデックスに等しいからである。
【0117】
図5に示すインデックス統合部322では、初期インデックス画像のデータ、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルに基づいて、インデックス統合処理が実行される。インデックス統合部322は、本発明における識別子統合手段として機能する。
【0118】
インデックス統合処理では、インデックス対応処理の実行によって異なるインデックスが対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間でインデックスを統合することがなされる。本実施の形態では、この所定距離として、後述する図20に示す最小距離Δyを用いる。
インデックス統合部322からは、図11及び図12に示す統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルが出力される。
【0119】
図20は、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離Δyとの関係を示す模式図である。
図20中に右上がりのハッチングで示した領域は、初期インデックステーブルに記憶されている一の初期インデックスが対応付けられている画素が占める領域(以下、第1領域I1という)である。一方、右下がりのハッチングで示した領域は、一の初期インデックスとは異なる他の初期インデックスが対応付けられている画素が占める領域(以下、第2領域I2という)である。ただし、第1領域I1の初期インデックスに関連付けられたアドレスは、第2領域I2の初期インデックスに関連付けられたアドレスよりも小さいものとする。
【0120】
第1領域I1に含まれる画素の座標の最小値及び最大値は、最小x座標値xmin1 、最小y座標値ymin1 、最大x座標値xmax1 、及び最大y座標値ymax1 である。また、この画素の画素数は画素数cnt1である。
第2領域I2に含まれる画素の座標の最小値及び最大値は、最小x座標値xmin2 、最小y座標値ymin2 、最大x座標値xmax2 、及び最大y座標値ymax2 である。この画素の画素数は画素数cnt2である。
最小x座標値xmin1 ,xmin2 、最小y座標値ymin1 ,ymin2 、最大x座標値xmax1 ,xmax2 、最大y座標値ymax1 ,ymax2 、及び画素数cnt1,cnt2は、図9及び図10に示すような初期インデックステーブル及び初期座標テーブルを参照すれば容易にわかる。
【0121】
本実施の形態においては、第1領域I1の最大y座標値ymax1 と第2領域I2の最小y座標値ymin2 との差を、副走査方向の最小距離Δyとしている。
一の初期インデックスに関連付けられた第1の色と、他の初期インデックスに関連付けられた第2の色とは、図9及び図10に示すような初期インデックステーブル及び初期インデックスカラーテーブルを参照すれば容易にわかる。
第1の色と第2の色とが近似しており、且つ、最小距離Δyが所定閾値lm_y以下である場合は、インデックスの統合が行なわれる。このとき、インデックスの統合による画質の劣化を抑制するために、第1領域I1の画素数cnt1と第2領域I2の画素数cnt2とを比較し、少ない方が多い方に統合されるようにする。
【0122】
第1の色と第2の色とが近似していない場合、インデックスの統合は行なわれない。また、第1の色と第2の色とが近似している場合であっても、最小距離Δyが所定閾値lm_yより大きい場合は、インデックスの統合は行なわれない。
【0123】
図21及び図22は、インデックス統合部322が行なう処理の手順を示すフローチャートである。
インデックス統合部322は、カウンタi に“1”をセットする(S71)。カウンタi は、第1のインデックス“i ”を示す。
次に、インデックス統合部322は、カウンタi が初期インデックスカウンタidxcnt以下であるかどうかを判定する(S72)。
初期インデックスカウンタidxcntの値は、初期インデックステーブルに記憶されている初期インデックスの個数である。従って、i >idxcntである場合(S72でNO)、全ての初期インデックスに対する処理が終わったため、インデックス統合部322は、本処理を終了する。
【0124】
i ≦idxcntである場合(S72でYES)、インデックス統合部322は、下記の式(20)を用いて、カウンタj を演算する(S73)。カウンタj は、第1のインデックス“i ”と色情報同士を比較すべき第2のインデックス“j ”を示す。
j =i +1…(20)
【0125】
次に、インデックス統合部322は、カウンタj が初期インデックスカウンタidxcnt以下であるかどうかを判定する(S74)。
j >idxcntである場合(S74でNO)、第1のインデックス“i ”と全ての初期インデックスとの色情報同士の比較が終わったため、インデックス統合部322は、カウンタi をインクリメントして(S75)、処理をS72へ戻す。
【0126】
j ≦idxcntである場合(S74でYES)、インデックス統合部322は、初期インデックステーブル及び初期インデックスカラーテーブルを参照して、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とを読み出す(S76)。具体的には、インデックス統合部322は、初期インデックスカラーテーブルを参照し、カウンタi をアドレスとしてRGB各色の色強度rcol[i ],gcol[i ],bcol[i ]を読み出し、カウンタj をアドレスとしてRGB各色の色強度rcol[j ],gcol[j ],bcol[j ]を読み出す。
【0127】
次に、インデックス統合部322は、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とが所定範囲内で近似しているか否かを判定する。
このために、インデックス統合部322は、下記の式(21)を用いて、演算結果Δcol を演算する(S77)。演算結果Δcol とは、第1のインデックス“i ”及び第2のインデックス“j ”夫々のRGB各色の色強度の差の絶対値の加算結果である。
【0128】
Δcol =|rcol[i ]−rcol[j ]|
+|gcol[i ]−gcol[j ]|
+|bcol[i ]−bcol[j ]|…(21)
【0129】
演算結果Δcol が所定範囲内である場合、インデックス統合部322は、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とが所定範囲内で近似していると判定する。
このために、インデックス統合部322は、図22に示すように、演算結果Δcol が閾値th_col以下であるか否かを判定する(S78)。本実施の形態では、閾値th_col=40とする。
【0130】
以下に具体例を述べる。図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“5”をアドレスとして色情報を読み出した場合、色強度rcol[5]は“120”、gcol[5]は“240”、bcol[5]は“120”である。また、カウンタ“7”をアドレスとして色情報を読み出した場合、色強度rcol[7]は“135”、gcol[7]は“240”、bcol[7]は“135”である。従って、演算結果Δcol は式(22)のように演算される。
【0131】
Δcol =|rcol[5]−rcol[7]|
+|gcol[5]−gcol[7]|
+|bcol[5]−bcol[7]|
=|120−135|+|240−240|+|120−135|
=30…(22)
演算結果Δcol は“30”、即ち閾値th_col=40以下であるため、インデックス統合部322は、第1のインデックス“5”の色情報と第2のインデックス“7”の色情報とが所定範囲内で近似していると判定する。
【0132】
Δcol ≦th_col以下である場合(S78でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合候補とし、第1のインデックス“i ”が対応付けられている画素と第2のインデックス“j ”が対応付けられている画素とが所定距離より近接しているか否かを判定する。
【0133】
このために、インデックス統合部322は、初期インデックステーブル及び初期座標テーブルを参照して、第1のインデックス“i ”が対応付けられている画素の最大y座標値ymax[i ]と第2のインデックス“j ”が対応付けられている画素の最小y座標値ymin[j ]とを読み出す(S79)。具体的には、インデックス統合部322は、初期座標テーブルを参照し、カウンタi をアドレスとして最大y座標値ymax[i ]を読み出し、カウンタj をアドレスとして最小y座標値ymin[j ]を読み出す。
【0134】
次に、インデックス統合部322は、式(23)を用いて、最小距離Δyを演算する(S80)。
Δy=ymin[j ]−ymax[i ]…(23)
次いで、インデックス統合部322は、最小距離Δyが所定閾値lm_yより大きいか否かを判定する(S81)。
ここで、本実施の形態では、所定閾値lm_y=3とする。
【0135】
以下に具体例を述べる。図10に示す初期座標テーブルにおいて、カウンタ“5”をアドレスとして読み出される最大y座標値ymax[5]は“18”であり、カウンタ“7”をアドレスとして読み出される最小y座標値ymin[7]は“18”である。従って、最小距離Δy=18−18=0、即ち所定閾値lm_y=3以下であるため、インデックス統合部322は、第1のインデックス“5”が対応付けられた画素と第2のインデックス“7”が対応付けられた画素とが画像上で所定距離より近接していると判定する。
【0136】
Δy≦lm_yである場合(S81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、第1のインデックス“i ”を第2のインデックス“j ”に統合するか、第2のインデックス“j ”を第1のインデックス“i ”に統合するかを判定する。
【0137】
このために、インデックス統合部322は、初期インデックステーブル及び初期インデックスカラーテーブルを参照して、第1のインデックス“i ”が対応付けられている画素数cnt [i ]と第2のインデックス“j ”が対応付けられている画素数cnt [j ]とを読み出す(S82)。具体的には、インデックス統合部322は、初期インデックスカラーテーブルを参照し、カウンタi をアドレスとして画素数cnt [i ]を読み出し、カウンタj をアドレスとして画素数cnt [j ]を読み出す。
更に、インデックス統合部322は、第1のインデックス“i ”が対応付けられている画素数cnt [i ]が、第2のインデックス“j ”が対応付けられている画素数cnt [j ]以上であるか否かを判定する(S83)。
【0138】
以下に具体例を述べる。図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“5”をアドレスとして読み出される画素数cnt [5]は“11”であり、カウンタ“7”をアドレスとして読み出される画素数cnt [5]は“2”である。従って、cnt [5]≧cnt [7]であるため、インデックス統合部322は、第1のインデックス“5”に、第2のインデックス“7”を統合すると判定する。
【0139】
cnt [i ]≧cnt [j ]である場合(S83でYES)、第1のインデックス“i ”に第2のインデックス“j ”を統合すべく、インデックス統合部322は、カウンタk1,k2にカウンタi ,j を代入して(S84)、各種テーブル更新処理のサブルーチン(後述する図23及び図24参照)を呼び出すことによって(S85)、インデックスを統合する。
cnt [i ]<cnt [j ]である場合(S83でNO)、第2のインデックス“j ”に第1のインデックス“i ”を統合すべく、インデックス統合部322は、カウンタk1,k2にカウンタj ,i を代入して(S86)、処理をS85へ移す。
【0140】
S85の処理完了後、インデックス統合部322は、後述するS87の処理を実行する。
また、Δcol >th_colである場合(S78でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87の処理を実行する。更にまた、Δy>lm_yである場合(S81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87の処理を実行する。
インデックス統合部322は、カウンタj をインクリメントし(S87)、処理を図21に示すS74へ戻す。
【0141】
図23及び図24は、各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
図23に示すように、インデックス統合部322は、初期インデックステーブルにおいて、カウンタk2をアドレスとするインデックスidx [k2]に、カウンタk1をアドレスとして読み出されるインデックスidx [k1]を代入する(S101)。S101の処理によって、初期インデックステーブルが更新される。
【0142】
次に、インデックス統合部322は、初期インデックスカラーテーブルにおいて、カウンタk1,k2をアドレスとして画素数cnt [k1],cnt [k2]を読み出し(S102)、読み出された画素数cnt [k1]と画素数cnt [k2]とを加算した加算結果を、カウンタk1に関連付けられた画素数cnt [k1]に代入し(S103)、更に、カウンタk2に関連付けられた画素数cnt [k2]をデフォルト値“0”にリセットする(S104)。
次いで、インデックス統合部322は、初期インデックスカラーテーブルにおいて、カウンタk2に関連付けられたRGB各色の色強度rcol[k2],gcol[k2],bcol[k2]夫々をデフォルト値“0”にリセットする(S105)。S102〜S105の処理によって、初期インデックスカラーテーブルが更新される。
【0143】
以下では、初期座標テーブルにおいて、アドレス“k1”に関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[k1]、最小y座標値ymin[k1]、最大x座標値xmax[k1]、及び最大y座標値ymax[k1]と記載する。同様に、アドレス“k2”に関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[k2]、最小y座標値ymin[k2]、最大x座標値xmax[k2]、及び最大y座標値ymax[k2]と記載する。
【0144】
図24に示すように、インデックス統合部322は、初期座標テーブルに記録された最小x座標値xmin[k1]が最小x座標値xmin[k2]より大きいか否かを判定する(S106)。
最小x座標値xmin[k1]が最小x座標値xmin[k2]より大きい場合(S106でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最小x座標値xmin[k1]に最小x座標値xmin[k2]を代入する(S107)。
【0145】
S107が終了した場合、又はS106で最小x座標値xmin[k1]が最小x座標値xmin[k2]以下である場合(S106でNO)、インデックス統合部322は、初期座標テーブルに記録された最小y座標値ymin[k1]が最小y座標値ymin[k2]より大きいか否かを判定する(S108)。
最小y座標値ymin[k1]が最小y座標値ymin[k2]より大きい場合(S108でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最小y座標値ymin[k1]に最小y座標値ymin[k2]を代入する(S109)。
【0146】
S109が終了した場合、又はS108で最小y座標値ymin[k1]が最小y座標値ymin[k2]以下である場合(S108でNO)、インデックス統合部322は、初期座標テーブルに記録された最大x座標値xmax[k1]が最大x座標値xmax[k2]より小さいか否かを判定する(S110)。
最大x座標値xmax[k1]が最大x座標値xmax[k2]より小さい場合(S110でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最大x座標値xmax[k1]に最大x座標値xmax[k2]を代入する(S111)。
【0147】
S111が終了した場合、又はS110で最大x座標値xmax[k1]が最大x座標値xmax[k2]以上である場合(S110でNO)、インデックス統合部322は、初期座標テーブルに記録された最大y座標値ymax[k1]が最大y座標値ymax[k2]より小さいか否かを判定する(S112)。
最大y座標値ymax[k1]が最大y座標値ymax[k2]より小さい場合(S112でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最大y座標値ymax[k1]に最大y座標値ymax[k2]を代入する(S113)。
【0148】
S113が終了した場合、又はS112で最大y座標値ymax[k1]が最大y座標値ymax[k2]以上である場合(S112でNO)、インデックス統合部322は、カウンタk2に関連付けられた最小x座標値xmin[k2]、最小y座標値ymin[k2]、最大x座標値xmax[k2]、及び最大y座標値ymax[k2]をデフォルト値にリセットする(S114)。S106〜S114の処理によって、初期座標テーブルが更新される。
S114の処理終了後、インデックス統合部322は、座標テーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0149】
以下に具体例を述べる。第1のインデックス“5”に、第2のインデックス“7”を統合する場合、S101の処理が実行されることによって、図9(a)に示す初期インデックステーブルにおいて、アドレス“7”に関連付けられたインデックス“7”が、カウンタ“5”をアドレスとして読み出されるインデックス“5”で上書きされる。
従って、カウンタ“7”をアドレスとして、図11(a)に示す統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出されるインデックスは“5”である。
一方、カウンタ“5”をアドレスとして、統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合と同様に、読み出されるインデックスは“5”である。
【0150】
また、S103及びS104の処理が実行されることによって、図9(b)に示す初期インデックスカラーテーブルにおいて、アドレス“5”に関連付けられた画素数“11”が、カウンタ“7”をアドレスとして読み出される画素数“2”との加算結果“13”で上書きされる。アドレス“5”に係る上書きの終了後、カウンタ“7”に関連付けられた画素数“2”が、デフォルト値“0”で上書きされる。
従って、カウンタ“5”,“7”をアドレスとして、図11(b)に示す統合インデックスカラーテーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出される画素数は“13”,“0”である。
【0151】
更に、S105の処理が実行されることによって、図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“7”に関連付けられたRGB値(135,240,135)が、デフォルトのRGB値(0,0,0)で上書きされる。
従って、カウンタ“7”をアドレスとして、図11(b)に示す統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出されるRGB値はRGB値(0,0,0)である。
一方、カウンタ“5”をアドレスとして、統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合と同様に、読み出されるRGB値はRGB値(120,240,120)である。
【0152】
更にまた、S106〜S114の処理によって、図10に示す初期座標テーブルにおいて、アドレス“5”に関連付けられた最大x座標値xmax[5]及び最大y座標値ymax[5]はアドレス“7”に関連付けられた最大x座標値xmax[7]及び最大y座標値ymax[7]に置き換えられ、アドレス“7”に関連付けられた最小x座標値xmin[7]、最小y座標値ymin[7]、最大x座標値xmax[7]、及び最大y座標値ymax[7]は夫々デフォルト値にリセットされる。
【0153】
従って、カウンタ“5”をアドレスとして、図12に示す統合座標テーブルを参照した場合、初期座標テーブルを参照した場合とは異なり、読み出される最小x座標値xmin[5]、最小y座標値ymin[5]、最大x座標値xmax[5]、及び最大y座標値ymax[5]は、“1”、“14”、“4”、及び“19”となる。
同様に、カウンタ“7”をアドレスとして、統合座標テーブルを参照した場合、初期座標テーブルを参照した場合とは異なり、読み出される最小x座標値xmin[7]、最小y座標値ymin[7]、最大x座標値xmax[7]、及び最大y座標値ymax[7]は、“4095”、“8191”、“0”、及び“0”となる。
【0154】
図23に示すように、本実施の形態における各種テーブル更新処理では、カウンタk1に関連付けられたRGB各色の色強度rcol[k1],gcol[k1],bcol[k1]夫々は、元の値のまま維持される。しかしながら、インデックス統合部322が、S103〜S105の処理を実行する前に、色強度rcol[k1],gcol[k1],bcol[k1]を再計算して更新する構成でもよい。この場合、色強度rcol[k1],gcol[k1],bcol[k1]は、以下の式(24)〜(27)を用いて演算される。
【0155】
cnt12 =cnt [k1]+cnt [k2]…(24)
rcol[k1]={rcol[k1]×cnt [k1]+rcol[k2]×cnt [k2]}/cnt12 …(25)
gcol[k1]={gcol[k1]×cnt [k1]+gcol[k2]×cnt [k2]}/cnt12 …(26)
bcol[k1]={bcol[k1]×cnt [k1]+bcol[k2]×cnt [k2]}/cnt12 …(27)
【0156】
以上のような式(24)〜(27)を用いて求められた新たな色強度rcol[k1],gcol[k1],bcol[k1]を求める場合、求められた新たな色強度rcol[k1],gcol[k1],bcol[k1]には、元の色強度rcol[k1],gcol[k1],bcol[k1]及び元の色強度rcol[k2],gcol[k2],bcol[k2]夫々が、元の画素数cnt [k1],cnt [k2]の多寡に応じて反映されている。
このため、インデックス統合部322は、画素数が少ないインデックスを、画素数が多いインデックスへ統合する構成(即ち、図22に示すS83と、S84及びS86のいずれか一方とを実行する構成)に限定されず、単に、アドレス“j ”のインデックスを、アドレス“i ”のインデックスに統合する構成(即ち、S83及びS86を実行せず、常にS84を実行する構成)であってもよい。
【0157】
以上のような処理を実行することによって、図21に示すS72でNOの場合、即ち全ての初期インデックスに対する処理が終わった場合、図9(a)に示す初期インデックステーブル、図9(b)に示す初期インデックスカラーテーブル、及び図10に示す初期座標テーブルは、図11(a)に示す統合インデックステーブル、図11(b)に示す統合インデックスカラーテーブル、及び図12に示す統合座標テーブルになっている。
【0158】
インデックスの統合後、統合インデックステーブルに記憶されているインデックスの個数が、予め定められているインデックスの上限数よりも多い場合は、統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルを初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルと看做し、また、閾値th_col及び/又は所定閾値lm_yを適宜に増加させて(即ち統合の条件を緩和して)、インデックス統合部322が、再び図21及び図22に示す処理を実行すればよい。このとき、各種データを、前段の処理(インデックス生成部321で実行される処理)へ戻す必要はない。
【0159】
図5に示すインデックス補正部323では、初期インデックス画像のデータ、統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルに基づいて、インデックス補正処理が実行される。
インデックス補正処理では、統合インデックス画像(即ち前景レイヤ)のデータが生成される。
【0160】
具体的には、インデックス補正部323は、例えば図13に示すS12〜S16と同様の処理を実行して、初期インデックス画像における注目画素(xcnt,ycnt)を順に選択する。次いで、インデックス補正部323は、初期インデックス画像のデータに基づき、注目画素(xcnt,ycnt)の画素値(即ち初期インデックス)を読み出す。更に、インデックス補正部323は、統合インデックステーブルを参照し、読み出した初期インデックスをアドレスとして、統合インデックスを読み出す。最後に、インデックス補正部323は、読み出した統合インデックスを、注目画素(xcnt,ycnt)の画素値に上書きする。
以上の処理の結果、図7に示す初期インデックス画像は、図8に示す統合インデックス画像になる。
【0161】
なお、インデックス補正部323が行なう処理を、インデックス統合部322が、図21に示すS72でNOの場合(即ち全ての初期インデックスに対する処理が終わった場合)に実行する構成でもよい。この場合、前景色インデックス化処理部32に、インデックス補正部323を設ける必要はない。
【0162】
図25は、異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離Δxとの関係を示す模式図である。図26は、図25に示す画像を90°右回転させた画像における、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離Δxとの関係を示す模式図である。
また、図27は、異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離Δx及び副走査方向の最小距離Δyとの関係を示す模式図である。
図25〜図27夫々に示す画像は、図20に示す画像に対応する。
【0163】
インデックス統合部322は、図21及び図22に示す処理を実行する場合に、図20に示す最小距離Δyを用いる代わりに、図25に示す最小距離Δxを用いる構成でもよい。このとき、インデックス統合部322は、図22に示すS79の処理で、初期座標テーブルを参照し、カウンタi をアドレスとして最大x座標値xmax[i ]を読み出し、カウンタj をアドレスとして最小x座標値xmin[j ]を読み出す。
次に、インデックス統合部322は、S80の処理で、式(28)を用いて、最小距離Δxを演算する。
Δx=xmin[j ]−xmax[i ]…(28)
【0164】
更に、インデックス統合部322は、S81の処理で、最小距離Δxが所定閾値lm_xより大きいか否かを判定する。
Δx≦lm_xである場合(即ちS81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、S82へ処理を移す。
一方、Δx>lm_xである場合(即ちS81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87へ処理を移す。
【0165】
また、インデックス統合部322は、図21及び図22に示す処理を実行する場合に、最小距離Δx及び最小距離Δyのいずれか一方を用いる代わりに、図27に示す最小距離Δx及び最小距離Δyの両方を用いる構成でもよい。このとき、インデックス統合部322は、図22に示すS79の処理で、初期座標テーブルを参照し、カウンタi をアドレスとして最大x座標値xmax[i ]及び最大y座標値ymax[i ]を読み出し、カウンタj をアドレスとして最小x座標値xmin[j ]及び最小y座標値ymin[j ]を読み出す。
次に、インデックス統合部322は、S80の処理で、式(23)及び式(28)を用いて、最小距離Δy及び最小距離Δxを演算する。
【0166】
更に、インデックス統合部322は、S81の処理で、最小距離Δxが所定閾値lm_xより大きく、且つ、最小距離Δyが所定閾値lm_yより大きいか否かを判定する。
ここで、所定閾値lm_xは所定閾値lm_yと同値であってもよく、異なる値であってもよい。
【0167】
最小距離Δy≦所定閾値lm_y又は最小距離Δx≦所定閾値lm_xである場合(即ちS81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、S82へ処理を移す。
一方、最小距離Δx>所定閾値lm_x且つ最小距離Δy>所定閾値lm_yである場合(即ちS81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87へ処理を移す。
【0168】
ところで、図25に示した如き、主走査方向の最小距離Δxを用いて画素間の距離を判定する処理は、カラー画像入力装置11が読み取った画像を画像処理によって90°右回転させる処理を、前景色インデックス化処理部32での処理以降に行なう際に有用である。
図26に示す画像の場合、副走査方向の最小距離Δxは、図25に示す主走査方向の最小距離Δxと同値になる。
【0169】
図28は、主走査方向の最小距離Δx及び副走査方向の最小距離Δyを用いて画素間の距離を判定するその他の条件を用いた処理の手順の一部を示すフローチャートである。
図28に示す最小x座標値xmin1 、最小y座標値ymin1 、最大x座標値xmax1 、及び最大y座標値ymax1 は、第1のインデックス“i ”が対応付けられている画素の各種座標値であり、最小x座標値xmin2 、最小y座標値ymin2 、最大x座標値xmax2 、及び最大y座標値ymax2 は、第2のインデックス“j ”が対応付けられている画素の各種座標値である。
【0170】
インデックス統合部322が、図21及び図22に示す処理を実行する場合に、図27に示す最小距離Δx及び最小距離Δyの両方を用いる構成であるとき、図22に示すS81の処理を実行する代わりに、図28に示すS131〜S136の処理を実行する構成でもよい。
上述したように、インデックス統合部322は、図22に示すS80の処理で、最小距離Δx及び最小距離Δy夫々を演算する。
【0171】
次に、インデックス統合部322は、副走査方向の最小距離Δyの値が所定閾値lm_yより大きいか否かを判定する(S131)。
最小距離Δyが所定閾値lm_yより大きい場合(S131でYES)、インデックス統合部322は、最大x座標値xmax2 が最小x座標値xmin1 より小さいか否かを判定する(S132)。
最大x座標値xmax2 が最小x座標値xmin1 より小さい場合(S132でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、処理をS87へ移す。
【0172】
最大x座標値xmax2 が最小x座標値xmin1 以上である場合(S132でNO)、インデックス統合部322は、最小x座標値xmin2 が最大x座標値xmax1 より大きいか否かを判定する(S133)。
最小x座標値xmin2 が最大x座標値xmax1 より大きい場合(S133でYES)、インデックス統合部322は、処理をS87へ移す。
【0173】
最小距離Δyが所定閾値lm_y以下である場合(S131でNO)、又は、最小x座標値xmin2 が最大x座標値xmax1 以下である場合(S133でNO)、インデックス統合部322は、主走査方向の最小距離Δxの値が所定閾値lm_xより大きいか否かを判定する(S134)。
最小距離Δxが所定閾値lm_xより大きい場合(S134でYES)、インデックス統合部322は、最大y座標値ymax2 が最小y座標値ymin1 より小さいか否かを判定する(S135)。
最大y座標値ymax2 が最小y座標値ymin1 より小さい場合(S135でYES)、インデックス統合部322は、処理をS87へ移す。
【0174】
最大y座標値ymax2 が最小y座標値ymin1 以上である場合(S135でNO)、インデックス統合部322は、最小y座標値ymin2 が最大y座標値ymax1 より大きいか否かを判定する(S136)。
最小y座標値ymin2 が最大y座標値ymax1 より大きい場合(S136でYES)、インデックス統合部322は、処理をS87へ移す。
最小距離Δxが所定閾値lm_x以下である場合(S134でNO)、又は、最小y座標値ymin2 が最大y座標値ymax1 以下である場合(S136でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、処理をステップS82へ移す。
【0175】
図29は、図28に示すS131〜S136の処理によってインデックスが統合されない画素の範囲を示す模式図である。
図29中に右上がりのハッチングで示した領域は、特定のインデックスが対応付けられた画素が占める領域(以下、特定のインデックス領域という)である。図中に示すD1又はD2で示す範囲内にインデックスi と近似した色情報を持つインデックス領域がある場合は、インデックスは統合されない。図中にD3で示す範囲は、特定のインデックス領域内の画素よりも先に走査されるので、この範囲内に、インデックスi と近似した色情報を持つインデックス領域は無い。
【0176】
以上のように、インデックス領域間の距離として主走査方向及び副走査方向の両方の距離を用いる処理を実行することによっても、インデックス統合部322は、画像上で所定の距離より離れたインデックス領域間はインデックスを統合することなく、前景レイヤを作成することができる。インデックス間の距離として主走査方向及び副走査方向の両方の距離を用いる処理は、カラー画像入力装置11が読み取った画像を画像処理によって回転させる処理を行なう場合でも、画像を回転させない場合でも、同様の効果を奏する。
【0177】
インデックス統合部322は、使用者からの操作によって切り換えの指示を操作パネル12が受け付けた場合に、インデックス領域間の距離として副走査方向の距離を用いる処理と、主走査方向の距離を用いる処理と、主走査方向及び副走査方向の両方の距離を用いる処理とのいずれかを切り換える機能を備える。
【0178】
ところで、本実施の形態では、所定閾値lm_y及び所定閾値lm_x夫々が予め“3”に設定されている場合を例示しているが、実際には、カラー画像入力装置11が読み取った画像に適した閾値を用いればよい。
【0179】
例えば、副走査方向の所定閾値lm_y及び主走査方向の所定閾値lm_xとして、副走査方向の画素数及び主走査方向の画素数の30%の値がインデックス統合部322に設定されるようにする。カラー画像入力装置11が、600dpiでA3サイズの画像を読み込んだ場合、副走査方向の画素数が“10000”、主走査方向の画素数が“7000”となるため、所定閾値lm_y=3000及び所定閾値lm_x=2100がインデックス統合部322に設定される。また、カラー画像入力装置11が、600dpiでA4サイズの画像を読み込んだ場合は、副走査方向の画素数が“7000”、主走査方向の画素数が“5000”となるため、所定閾値lm_y=2100及び所定閾値lm_x=1500となる。
【0180】
更にまた、設定された所定閾値lm_y及び所定閾値lm_xが、初期インデックステーブルに記憶されているインデックスの個数に応じて加減される構成でもよい。
【0181】
前述した処理の終了後、前景色インデックス化処理部32は、統合インデックス画像(即ち前景レイヤ)のデータ、統合インデックスカラーテーブル、統合座標テーブル、及び画像データを、背景レイヤ生成処理部33へ出力する。以下では、統合インデックス、統合インデックスカラーテーブル及び統合座標テーブルを、単にインデックス、インデックスカラーテーブル及び座標テーブルという。
【0182】
背景レイヤ生成処理部33は、入力された画像データ及び前景レイヤから、図2に示す如き背景レイヤを生成する処理を行なう。背景レイヤ生成処理部33は、本発明における背景レイヤ生成手段として機能する。
具体的には、画像データに含まれる前景画素の色情報を、前景画素周辺の背景画素の色情報の平均値で置き換えることにより、背景レイヤを作成する。ただし、周辺に背景画素が存在しない前景画素については、背景レイヤ生成処理部33は、背景画素の平均値で色情報が置き換えられた他の前景画素の色情報の値又は平均値で色情報を置き換える処理を行なう。
【0183】
ここで、背景画素は、前景レイヤ中でインデックス“0”を対応付けられている画素であり、前景画素はその他のインデックスを対応付けられている画素である。
なお、背景レイヤ生成処理部33は、前景マスク生成処理部31が生成した前景マスクを用いて前景画素と背景画素とを区別する処理を行なってもよい。
【0184】
次いで、背景レイヤ生成処理部33は、生成した背景レイヤのデータと、前景レイヤのデータ、インデックスカラーテーブル及び座標テーブルとを、2値画像生成処理部34へ出力する。
【0185】
2値画像生成処理部34は、入力された前景レイヤのデータ及び座標テーブルに基づき、前景レイヤに含まれる“0”以外のインデックスの夫々について2値画像を生成する。具体的には、特定のインデックスが対応付けられた画素の画素値を“1”とし、他の画素の画素値を“0”とした2値画像を生成し、“0”以外の全てのインデックスについて2値画像の生成を繰り返す。
【0186】
図30は、生成した2値画像の例を示す概念図である。
図30(a)に示す例は、図8に示す前景レイヤで“5”のインデックスを対応付けられた画素(図7に示す初期インデックス画像で“5”,“7”のインデックスを対応付けられた画素)の画素値を“1”とし、他の画素の画素値を“0”とした2値画像である。
また、図30(b)に示す例は、図8に示す前景レイヤで“2”のインデックスを対応付けられた画素(図7に示す初期インデックス画像で“2”のインデックスを対応付けられた画素)の画素値を“1”とし、他の画素の画素値を“0”とした2値画像である。
【0187】
図8に示す前景レイヤにおけるインデックス“1”,“3”,“4”,“6”夫々に付いても、同様に2値画像が生成される。
結果として、前景レイヤに含まれる“0”以外のインデックスの個数と同数枚の2値画像が生成される(図8に示す前景レイヤの場合は6枚)。
生成された各2値画像には、各インデックスが関連付けられている。2値画像生成処理部34は、生成された2値画像、背景レイヤ、インデックスカラーテーブル及び座標テーブルを画像圧縮処理部35へ出力する。2値画像生成処理部34は、本発明における2値画像生成手段として機能する。
【0188】
画像圧縮処理部35は、各2値画像、背景レイヤ、インデックスカラーテーブル及び座標テーブルを圧縮することにより、圧縮画像データを生成する。
具体的には、画像圧縮処理部35は、各インデックスについて座標テーブルに記録されている最小x座標値、最小y座標値、最大x座標値及び最大y座標値で画素の範囲が限定された矩形領域を各2値画像から抽出し、各2値画像から抽出した矩形領域をMMR等の可逆圧縮技術を用いて夫々圧縮する。
【0189】
画像圧縮処理部35が、図30(a)から示す2値画像から抽出する矩形領域は、図30(a)にハッチングで示した矩形領域Iaである。
矩形領域Iaには、インデックス“5”に無関係な領域は最小限しか含まれていない。
同様に、画像圧縮処理部35が、図30(b)から示す2値画像から抽出する矩形領域は、図30(b)にハッチングで示した矩形領域Ibである。
矩形領域Ibには、インデックス“2”に無関係な領域は最小限しか含まれていない。
【0190】
更に、画像圧縮処理部35は、JPEG等の非可逆圧縮技術を用いて背景レイヤを圧縮し、圧縮後の各矩形領域に、各インデックスが示す色を表わす色情報及び各インデックスの画素が画像上で占める座標の範囲(即ち各インデックスに係る矩形領域の画像上の位置)を付加し、圧縮後の全てのデータを一つのデータファイルに統合することにより、圧縮画像データを生成する。
画像圧縮処理部35は、本発明における圧縮手段として機能する。
【0191】
なお、画像圧縮処理部35は、操作パネル12で受け付けた所定の指示に従って、データの圧縮形式を変更する機能を備えた構成であってもよい。
また、画像圧縮処理部35が矩形領域を抽出するのではなく、前景色インデックス化処理部32又は2値画像生成処理部34が矩形領域を抽出し、抽出した矩形領域を後段へ出力する構成でもよい。
【0192】
圧縮処理部3は、以上の処理により、カラー画像入力装置11から入力された画像を圧縮した圧縮画像データを生成し、記憶部29又は送信装置14へ出力する。
記憶部29は、圧縮画像データを記憶し、操作パネル12で受け付けた所定の指示に従って、記憶している圧縮画像データを読み出して送信装置14へ出力する。
送信装置14は、操作パネル12で受け付けた所定の指示に従って、外部へ圧縮画像データを送信する。
【0193】
以上詳述した如く、本発明の実施の形態に係る画像処理装置は、画像から文字に対応する画素を抽出し、文字に対応する各画素に、画素の色を数値で示したインデックスを対応付けた前景レイヤを生成し、画像から文字を省いた背景レイヤを生成し、前景レイヤから、インデックス毎に、各インデックスが対応付けられた画素とその他の画素とを区別した2値画像を生成し、全ての2値画像及び背景レイヤを夫々圧縮することによって圧縮画像データを生成する。
【0194】
画像処理装置は、前景レイヤを生成する際には、色に応じたインデックスを各画素に対応付ける。
更に、画像処理装置は、各インデックスの中で互いに近似した色を示すインデックスを統合する際、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス同士領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0195】
前景レイヤから2値画像を生成した際には、近似色同士でありながら異なるインデックスが対応付けられた画素は、互いに異なる2値画像に含まれることとなり、個々の2値画像内では、画素値“1”の画素は、従来技術に比べてより狭い領域に集中することとなる。従って、各2値画像から抽出した各インデックスに係る画素が含まれる矩形領域には、各インデックスを対応付けられた画素の割合が従来技術よりも高くなり、圧縮後のデータに含まれる不要なデータを削減することができる。
【0196】
例えば、画像上で離隔した二つの領域の色が近似している場合、従来技術では、二つの領域を含んだ矩形領域を抽出するので、領域間の画素を含む圧縮データを作成するのに対し、本発明では、二つの領域に互いに別のインデックスを対応付け、各領域を含む矩形領域を個別に抽出して個別に圧縮するので、圧縮データには領域間の画素が含まれない。
【0197】
これにより、矩形領域にインデックスが効率よく含まれる(インデックスでない画素が最小限になる)ため、後段処理を行なう際に、2つのインデックス領域間の必要でない画像領域のデータを転送する必要がなくなり、データ転送量を下げ、処理速度を向上することができる。また、夫々の矩形領域も小さくなるため、矩形領域同士が重なる可能性が低くなり、圧縮データを展開し、プリントする際の速度を向上することができる。
【0198】
以上のように、本発明においては、圧縮後のデータに含まれる不要なデータを削減することができるので、カラー画像を圧縮した圧縮画像データのデータ量を削減し、カラー画像の圧縮効率を向上させることができる。従って、カラー画像を圧縮するために必要な処理時間を短縮することが可能となる。また、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる。
【0199】
実施の形態 2.
実施の形態1では、本発明の画像形成装置がカラー画像を形成する装置である形態を示したが、実施の形態2では、本発明の画像形成装置がモノクロ画像を形成する装置である形態を示す。
図31は、実施の形態2に係る画像形成装置の内部の機能構成を示すブロック図である。
画像形成装置は、画像をモノクロのグレースケールで光学的に読み取るグレー画像入力装置15を備えており、グレー画像入力装置15には、本発明の実施の形態に係る画像処理装置であるモノクロ画像処理装置4が接続されている。
【0200】
モノクロ画像処理装置4には、モノクロ画像処理装置4が生成した画像データに基づいてモノクロ画像を出力するモノクロ画像出力装置16、及び送信装置14が接続されている。
グレー画像入力装置15、モノクロ画像処理装置4、モノクロ画像出力装置16、及び送信装置14には、操作パネル12が接続されている。
グレー画像入力装置15は、CCD光センサを備えたスキャナにて構成されており、紙等の記録担体上に記録された画像からの反射光像をCCDで読み取り、グリーン(G)単色でグレースケールのアナログ信号に変換してモノクロ画像処理装置4へ入力する構成となっている。
【0201】
モノクロ画像処理装置4は、グレー画像入力装置15から入力されたG単色のアナログ信号に対して画像処理を行なってデジタルの画像データを生成する。また、モノクロ画像処理装置4は、デジタルのK信号からなる画像データを生成してモノクロ画像出力装置16へ出力する。更に、モノクロ画像処理装置4は、生成したデジタルの画像データを圧縮処理により圧縮した圧縮画像データを生成し、圧縮画像データを送信装置14へ出力する。
モノクロ画像出力装置16は、モノクロ画像処理装置4から入力された画像データに基づいて、モノクロ画像を出力する。
操作パネル12及び送信装置14の構成は、実施の形態1と同様である。
【0202】
モノクロ画像処理装置4は、グレー画像入力装置15から入力されたアナログ信号をA/D変換部40でデジタル信号に変換し、シェーディング補正部41、入力階調補正部42、領域分離処理部43、空間フィルタ処理部46、出力階調補正部47、階調再現処理部48の順に送り、デジタルのK信号からなる画像データをモノクロ画像出力装置16へ出力する構成となっている。また、モノクロ画像処理装置4は、デジタル信号を領域分離処理部43から圧縮処理部45へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0203】
A/D変換部40は、グレー画像入力装置15から入力されたアナログ信号を受け付け、アナログのG信号をデジタルのG信号へ変換し、シェーディング補正部41へ出力する。
シェーディング補正部41は、A/D変換部40から入力されたG信号に対して、各種の歪みを取り除く処理を行ない、歪みを取り除いたG信号を入力階調補正部42へ出力する。
入力階調補正部42は、シェーディング補正部41から入力されたG信号の強度のバランスを調整し、更に、G信号をモノクロ画像処理装置4で処理しやすい濃度信号等の信号へ変換し、処理後のG信号を領域分離処理部43へ出力する。
【0204】
領域分離処理部43は、入力階調補正部42から入力されたG信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、各画素がいずれの領域に属しているかを示す領域識別信号を、空間フィルタ処理部46及び階調再現処理部48へ夫々出力し、G信号を空間フィルタ処理部46及び圧縮処理部45へ夫々出力する。
空間フィルタ処理部46は、入力されたG信号が表わす画像に対して、領域識別信号に基づいて空間フィルタ処理を行ない、処理後のG信号を出力階調補正部47へ出力する。
出力階調補正部47は、空間フィルタ処理部46から入力されたG信号に対して、モノクロ画像出力装置16の特性に基づく出力階調補正処理を行ない、処理後のG信号を階調再現処理部48へ出力する。
【0205】
階調再現処理部48は、出力階調補正部47から入力されたG信号に対して、領域識別信号に基づいて、領域に応じた中間調処理を行ない、処理後のG信号を変換したK信号でなる画像データをモノクロ画像出力装置16へ出力する。
圧縮処理部45は、領域分離処理部43からG信号でなる画像データを入力され、本発明の実施の形態に係る画像処理方法を用いて圧縮画像データを生成する処理を実行し、圧縮画像データを記憶部29に記憶させ、また、圧縮画像データを送信装置14へ出力する。圧縮処理部45が実行する画像処理方法は、色情報がRGB各色の色強度を示す情報ではなくG単色の強度を示す情報であることを除けば、実施の形態1の圧縮処理部3が実行する画像処理方法と同等である。
【0206】
図32は、実施の形態2に係る圧縮処理部45が利用するインデックスカラーテーブルの例を示す図表である。
各アドレスには、色情報として、G単色の強度を示す情報が関連付けられており、アドレスの値はインデックスの値に等しい。また、背景画素に対応するインデックス“0”には、白色を示す色情報である“0”が関連付けられている。
圧縮処理部45は、図32に示す如きインデックスカラーテーブルを用いて、実施の形態1の圧縮処理部3が実行する画像処理方法と同様の画像処理方法を実行することにより、圧縮画像データを生成する。
【0207】
以上詳述した如く、本実施の形態に係る画像処理装置は、画素の色情報が単色の色強度を示すモノクロ画像に対して、実施の形態1と同様の画像処理を行なうことにより、モノクロ画像を圧縮した圧縮画像データを生成する。
本実施の形態においても、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、モノクロ画像を圧縮した圧縮画像データのデータ量を削減し、モノクロ画像の圧縮効率を向上させることが可能となる。
【0208】
実施の形態 3.
実施の形態2では、本発明の画像形成装置がモノクロ画像を受け付けてモノクロ画像を形成する装置である形態を示したが、実施の形態3では、本発明の画像形成装置がカラー画像を受け付けてモノクロ画像を形成する装置である形態を示す。
【0209】
図33は、実施の形態3に係る画像形成装置の内部の機能構成を示すブロック図である。
画像形成装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、本発明の実施の形態に係る画像処理装置である画像処理装置5が接続されている。画像処理装置5には、モノクロ画像出力装置16、及び送信装置14が接続されている。カラー画像入力装置11、画像処理装置5、モノクロ画像出力装置16及び送信装置14には、操作パネル12が接続されている。
カラー画像入力装置11は、実施の形態1と同様の処理を行ない、カラー画像を読み取ったRGBのアナログ信号を画像処理装置5へ出力する。
【0210】
画像処理装置5は、カラー画像入力装置11から入力されたRGBのアナログ信号に対して画像処理を行なって、デジタルの単色のK信号からなる画像データを生成してモノクロ画像出力装置16へ出力する。また、画像処理装置5は、デジタルのRGB信号でなる画像データを圧縮した圧縮画像データを生成し、生成した圧縮画像データを、記憶部29に記憶させるか、又は送信装置14へ出力する。記憶部29が記憶する圧縮画像データ及び送信装置14が送信する圧縮画像データが表わす画像は、カラー画像となる。
モノクロ画像出力装置16は、画像処理装置5から入力された画像データに基づいて、モノクロ画像を出力する。
操作パネル12及び送信装置14の構成は、実施の形態1と同様である。
【0211】
画像処理装置5は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部53、色補正部54、黒生成下色除去部55、空間フィルタ処理部46、出力階調補正部47、階調再現処理部48の順に送り、デジタルのK信号からなる画像データをモノクロ画像出力装置16へ出力する構成となっている。また、画像処理装置5は、デジタル信号を領域分離処理部53から圧縮処理部3へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0212】
A/D変換部20、シェーディング補正部21、及び入力階調補正部22の構成は、実施の形態1と同様である。
領域分離処理部53は、入力階調補正部22から入力されたRGB信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、各画素がいずれの領域に属しているかを示す領域識別信号を、黒生成下色除去部55、空間フィルタ処理部46、及び階調再現処理部48へ夫々出力する。
また、領域分離処理部53は、入力階調補正部22から入力されたRGB信号を色補正部54及び圧縮処理部3へ夫々出力する。
【0213】
色補正部54は、領域分離処理部53から入力されたRGB信号からG信号を抽出し、抽出したG信号を黒生成下色除去部55へ出力する。
黒生成下色除去部55は、色補正部54からのG信号を空間フィルタ処理部46へ出力する。
空間フィルタ処理部46、出力階調補正部47及び階調再現処理部48の構成は、実施の形態2と同様である。
圧縮処理部3の構成は実施の形態1と同様であり、圧縮処理部3は、領域分離処理部53からRGB信号でなる画像データを入力され、実施の形態1と同様に本発明の実施の形態に係る画像処理方法を実行することにより、圧縮画像データを生成する。
【0214】
なお、色補正部54は、RGB信号からG信号を抽出するのではなく、RGB信号から輝度信号を生成する処理を行なう形態であってもよい。例えば、色補正部54は、RGB各色の色強度RGBから輝度値Yを、Y=0.30R+0.59G+0.11Bと計算することによって、輝度信号を生成する。この形態の場合は、黒生成下色除去部55、空間フィルタ処理部46、出力階調補正部47及び階調再現処理部48は、輝度信号を色情報とした処理を実行する。
【0215】
以上詳述した如く、本実施の形態に係る画像処理装置は、モノクロ画像の形成とカラーの圧縮画像データの生成とを可能とする。
本実施の形態においても、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、カラー画像の圧縮効率を向上させることが可能となる。
【0216】
実施の形態 4.
実施の形態1〜3では、本発明の画像処理装置が画像形成装置の一部をなす形態を示したが、実施の形態4においては、本発明の画像処理装置がスキャナ装置の一部をなす形態を示す。
【0217】
図34は、実施の形態4に係る画像処理装置を含むスキャナ装置の内部の機能構成を示すブロック図である。
スキャナ装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、本発明の実施の形態に係る画像処理装置6が接続されている。
画像処理装置6には、通信ケーブル又は通信ネットワークを介してパーソナルコンピュータ(PC)等の図示しないホスト装置が接続されている。
カラー画像入力装置11及び画像処理装置6には、操作パネル12が接続されている。
【0218】
カラー画像入力装置11は、実施の形態1と同様の処理を行ない、カラー画像を読み取ったRGBのアナログ信号を画像処理装置6へ出力する。
画像処理装置6は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部63、圧縮処理部3の順に送る構成となっている。
A/D変換部20、シェーディング補正部21、及び入力階調補正部22の構成は、実施の形態1と同様である。
領域分離処理部63は、入力階調補正部22から入力されたRGB信号を圧縮処理部3へ出力する。
【0219】
圧縮処理部3の構成は実施の形態1と同様であり、圧縮処理部3は、領域分離処理部63からRGB信号でなる画像データを入力され、実施の形態1と同様に本発明の実施の形態に係る画像処理方法を実行することにより、入力された画像を圧縮した圧縮画像データを生成する。また、圧縮処理部3は、生成した圧縮画像データを図示しないホスト装置へ出力する。
ホスト装置は、画像処理装置6が出力した圧縮画像データを受け付け、圧縮画像データの記憶、圧縮画像データの外部への送信、又は圧縮画像データに基づいた画像出力等の処理を実行する。
【0220】
以上のように、本実施の形態においても、実施の形態1〜3と同様に、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0221】
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることができるようになり、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる。
【0222】
実施の形態 5.
実施の形態5では、汎用のコンピュータを用いて本発明の画像処理装置を実現した形態を示す。
図35は、実施の形態5に係る画像処理装置7の内部構成を示すブロック図である。
本実施の形態に係る画像処理装置7は、PC等の汎用コンピュータを用いて構成されており、演算を行なうCPU71と、演算に伴って発生する一時的な情報を記憶するRAM72と、光ディスク等の記録媒体から情報を読み取るCD−ROMドライブ等のドライブ部73と、ハードディスク等の記憶部74とを備えている。
【0223】
CPU71は、本発明の実施の形態に係る記録媒体8から、本発明の実施の形態に係るコンピュータプログラム81をドライブ部73に読み取らせ、読み取ったコンピュータプログラム81を記憶部74に記憶させる。コンピュータプログラム81は必要に応じて記憶部74からRAM72へロードされ、ロードされたコンピュータプログラム81に基づいて、CPU71は画像処理装置7に必要な処理を実行する。
【0224】
また、画像処理装置7は、使用者が操作することによる各種の処理指示等の情報が入力されるキーボード又はポインティングデバイス等の入力部75と、各種の情報を表示する液晶ディスプレイ等の表示部76とを備えている。更に、画像処理装置7は、図示しない外部の通信ネットワークに接続可能な送信部77と、画像データを入力するスキャナ装置等の外部の入力装置82に接続された受信部78とを備えている。
入力装置82は、画像を光学的に読み取って画像データを生成し、生成した画像データを画像処理装置7へ送信する。受信部78は、入力装置82から送信された画像データを受信する。受信部78は、本発明における受付手段として機能する。送信部77は、図示しない通信ネットワークを介して、ファクシミリ又は電子メール等の通信方法により外部へデータを送信することができる。
【0225】
CPU71は、コンピュータプログラム81をRAM72にロードし、ロードしたコンピュータプログラム81に従って、本発明の実施の形態に係る画像処理方法を実行する。即ち、受信部78で入力装置82から画像データが入力された場合に、CPU71は、実施の形態1における前景マスク生成処理部31、前景色インデックス化処理部32、背景レイヤ生成処理部33、2値画像生成処理部34及び画像圧縮処理部35が行なう処理と同様の、前景マスク生成処理、前景色インデックス化処理、背景レイヤ生成処理、2値画像生成処理及び画像圧縮処理を実行する。これにより、CPU71は、受け付けた画像データを圧縮した圧縮画像データを生成する処理を行なう。
【0226】
CPU71は、生成した圧縮画像データを記憶部74に記憶させる。また、CPU71は、ロードしたコンピュータプログラム81に従って、生成した圧縮画像データ、又は記憶部74から読み出した圧縮画像データを送信部77に外部へ送信させる処理を行なう。
なお、CPU71は、使用者が入力部75を用いて作成した画像データを受け付け、受け付けた画像データを圧縮した圧縮画像データを生成する処理を行なう構成でもよい。この場合、CPU71は、本発明における受付手段として機能する。
【0227】
以上のように、本実施の形態においても、実施の形態1〜4と同様に、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0228】
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることが可能となる。
【0229】
なお、コンピュータプログラム81を記録してある記録媒体8は、磁気テープ、磁気ディスク、可搬型のハードディスク、CD−ROM/MO/MD/DVD等の光ディスク、又はICカード(メモリカードを含む)/光カード等のカード型記録媒体のいずれの形態であってもよい。また、本発明の記録媒体8は、画像処理装置7に装着され、記録媒体8の記録内容をCPU71が読み出すことが可能な半導体メモリ、即ちマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等であってもよい。
【0230】
更に、本発明のコンピュータプログラム81は、インターネット又はLAN等の通信ネットワークを介して画像処理装置7に接続された図示しない外部のサーバ装置から画像処理装置7へダウンロードされて記憶部74に記憶される形態であってもよい。この形態の場合は、コンピュータプログラム81をダウンロードするために必要なプログラムは、予め記憶部74に記憶されてあるか、又は所定の記録媒体からドライブ部73を用いて読み出されて記憶部74に記憶され、必要に応じてRAM72にロードされるものであればよい。
【0231】
以上の実施の形態1〜5においては、前景レイヤに含まれる画素として文字に対応する画素を抽出する処理を行なう形態を示したが、これに限るものではなく、本発明は、前景レイヤに含まれる画素として線画に対応する画素を抽出する処理を行なう形態であってもよい。また、本発明は、前景レイヤに含まれる画素として文字及び線画に対応する画素を抽出する処理を行なう形態であってもよい。
【符号の説明】
【0232】
11 カラー画像入力装置
12 操作パネル
13 カラー画像出力装置
14 送信装置
15 グレー画像入力装置
16 モノクロ画像出力装置
2 カラー画像処理装置
3,45 圧縮処理部
31 前景マスク生成処理部
32 前景色インデックス化処理部
321 インデックス生成部
322 インデックス統合部
323 インデックス補正部
33 背景レイヤ生成処理部
34 2値画像生成処理部
35 画像圧縮処理部
4 モノクロ画像処理装置
5,6,7 画像処理装置
71 CPU
8 記録媒体
81 コンピュータプログラム
【技術分野】
【0001】
本発明は、各画素の色をインデックス化することにより高効率で画像データを圧縮することができる画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【0002】
紙等に記録された画像を光学的に読み取って画像データを生成する画像処理装置は、スキャナ装置、ファクシミリ装置又は複写装置として広く利用されている。画像処理装置が生成した画像データは、ファクシミリ通信若しくは電子メール等を用いて送受信されるか、又はデータベースに蓄積される等して種々の用途に利用される。画像を光学的に読み取って生成した画像データは、一般的にデータ量が多くなるので、送受信又は蓄積を効率的に行なうためには、画像データの圧縮が必要不可欠となっている。
【0003】
高圧縮率を実現するための圧縮技術の1つにレイヤ分離に基づく圧縮技術がある。レイヤ分離に基づく圧縮技術は、画像を文字及び/又は線画を表わす前景レイヤとその他の画像を表わす背景レイヤとに分離し、前景レイヤ及び背景レイヤを夫々に適した圧縮方法を用いて圧縮し、最終的に圧縮画像を生成する技術である。
【0004】
背景レイヤは、JPEG(Joint Photographic Experts Group)等の非可逆圧縮技術を用いて圧縮されるのが一般的である。非可逆圧縮技術は、圧縮率の制御が簡易であるので、用途に応じてデータ量の削減又は画質の劣化防止等を行なうことができる。
一方、前景レイヤは、JBIG(Joint Bi-level Image Experts Group)、MMR(Modified Modified Read)、又はLZW(Lempel Ziv Welch)といった可逆圧縮技術を用いて圧縮されるのが一般的である。可逆圧縮技術は、圧縮率を制御することが難しいため、圧縮率を向上させることが困難である。
【0005】
特許文献1には、圧縮率を向上させることができる圧縮技術が開示されている。特許文献1に記載の技術では、カラー画像に含まれる各画素の色をインデックスで表わし、インデックスで表わされた色毎の画素数を含むカラー情報、及びそれらを用いて生成した背景色情報から、インデックスの統合を行なっている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−229261号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術は、1枚分の画像内に含まれる同一の色を同一のインデックスで表わし、各インデックスに各色の画素の最大・最小座標から矩形領域を切り出して2値化・圧縮を行なっている。従って、一のインデックスについて切り出した矩形領域には、このインデックスに無関係な領域も含まれることとなるので、圧縮後のデータには不要なデータが含まれてしまう。この結果、圧縮後のデータ量が大きくなり、圧縮効率が悪いという問題が生じる。
【0008】
本発明は斯かる問題を解決するためになされたものであり、その主たる目的は、各インデックスに係る画素が高い割合で含まれる領域を抽出できるようにすることにより、圧縮後のデータ量を削減することができる画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体を提供することにある。
【課題を解決するための手段】
【0009】
本発明に係る画像処理装置は、複数の画素で構成された画像を受け付ける受付手段と、該受付手段が受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する抽出手段と、該抽出手段が抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手段と、前記受付手段が受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成する背景レイヤ生成手段と、前記前景レイヤ生成手段が生成した前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する2値画像生成手段と、該2値画像生成手段が生成した2値画像、及び前記背景レイヤ生成手段が生成した背景レイヤを夫々圧縮する圧縮手段とを備え、画像を圧縮する処理を行なう画像処理装置において、前記前景レイヤ生成手段は、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける識別子対応手段と、該識別子対応手段による対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する識別子統合手段とを有することを特徴とする。
【0010】
本発明に係る画像処理装置は、前記識別子対応手段は、識別子と、該識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する記憶手段を有し、前記識別子統合手段は、前記記憶手段が記憶した矩形領域を、識別子の統合結果に応じて修正する修正手段を有し、前記圧縮手段は、前記特定の識別子に関連付けて前記記憶手段が記憶した矩形領域又は前記修正手段が修正した矩形領域に対応する2値画像を圧縮するようにしてあることを特徴とする。
【0011】
本発明に係る画像処理装置は、前記識別子統合手段は、第1の識別子に関連付けられた第1の色と、前記第1の識別子とは異なる第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する判定手段と、該判定手段が近似していると判定した場合、前記第1の識別子が対応付けられた画素と前記第2の識別子が対応付けられた画素との最小距離を演算する距離演算手段と、該距離演算手段が演算した最小距離が所定の閾値より小さい場合に、前記第1の識別子が対応付けられた画素の画素数と前記第2の識別子が対応付けられた画素の画素数とを比較する比較手段と、該比較手段の比較結果に基づき、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する手段とを有することを特徴とする。
【0012】
本発明に係る画像処理装置は、画像上の一方向を主走査方向とし、前記一方向に直交する方向を副走査方向とするように構成してあり、前記距離演算手段が演算する距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを切り替える手段を更に備えることを特徴とする。
【0013】
本発明に係る画像処理装置は、各画素の色は、複数の原色の色強度を示す情報からなることを特徴とする。
【0014】
本発明に係る画像処理装置は、各画素の色は、単色の色強度を示す情報からなることを特徴とする。
【0015】
本発明に係る画像形成装置は、前述の画像処理装置を備えることを特徴とする。
【0016】
本発明に係る画像処理方法は、複数の画素で構成された画像を受け付けるステップと、受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出するステップと、抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成ステップと、受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成するステップと、前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成するステップと、生成した2値画像及び背景レイヤを夫々圧縮するステップとを含む画像処理方法において、前記前景レイヤ生成ステップは、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付けるステップと、識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合するステップとを含むことを特徴とする。
【0017】
本発明に係るコンピュータプログラムは、コンピュータに、画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する手順と、抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手順と、前記画像から文字及び/又は線画を省いた背景レイヤを生成する手順と、前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する手順と、生成した2値画像及び背景レイヤを夫々圧縮する手順とを含む処理を実行させることによって、画像を圧縮する処理を実行させるためのコンピュータプログラムであって、前記前景レイヤ生成手順は、各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける手順と、識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する手順とを含むことを特徴とする。
【0018】
本発明に係る記録媒体は、前述のコンピュータプログラムを記録してあることを特徴とする。
【0019】
本発明にあっては、画像処理装置は、まず、受け付けた画像から文字及び/又は線画に対応する画素を抽出し、次に、抽出した画素の色を識別子で表わした前景レイヤを生成し、また、画像から文字及び/又は線画を省いた背景レイヤを生成し、更に、前景レイヤから、各識別子に係る画素と他の画素とを区別した2値画像を生成し、最後に、全ての2値画像及び背景レイヤを夫々圧縮することによって圧縮画像を生成する。
【0020】
画像処理装置は、前景レイヤを生成する際には、色に関連付けた識別子を各画素に一旦対応付け、次いで、近似した色に関連付けられ、しかも画素同士が所定距離より小さく接近している識別子を統合する。この結果、識別子の個数が減少するため、生成すべき2値画像の枚数が減少する。
一方、近似した色に関連付けられている識別子であっても、所定距離以上離れている場合は、識別子は統合されない。このため、近似した色でありながら異なる識別子が対応付けられた画素は、互いに異なる2値画像に含まれることとなり、個々の2値画像内では、各識別子に係る画素がより狭い領域に集中する。換言すれば、識別子を統合するによって、個々の2値画像内で、各識別子に係る画素が広い領域に分散してしまう不都合が抑制される。
【0021】
本発明にあっては、画像処理装置は、色に関連付けた識別子を各画素に一旦対応付ける場合に、識別子と、この識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する。
次いで、画像処理装置は、近似した色に関連付けられ、しかも画素同士が所定距離より小さく接近している識別子を統合する場合に、記憶した矩形領域を、識別子の統合結果に応じて修正する。
各矩形領域には、特定の識別子に無関係な領域は最小限しか含まれていない。
【0022】
更に、画像処理装置は、前景レイヤを2値化し、特定の識別子で表わされる画素が存在する画像上の矩形領域(記憶した矩形領域又は修正した矩形領域)を2値画像から抽出し、抽出した矩形領域を圧縮する。又は、画像処理装置は、特定の識別子で表わされる画素が存在する画像上の矩形領域(記憶した矩形領域又は修正した矩形領域)を前景レイヤから抽出し、抽出した矩形領域を2値化し、2値化した矩形領域を圧縮する。
この結果、圧縮後のデータ量が削減される。
【0023】
本発明にあっては、画像処理装置は、第1の識別子に関連付けられた第1の色と、第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する。
第1の色と第2の色とが近似している場合、第1の識別子と第2の識別子とは、統合すべき識別子の候補となる。
ここで、画像処理装置は、第1の識別子が対応付けられた画素と第2の識別子が対応付けられた画素との最小距離を演算する。
演算した最小距離が所定の閾値より小さい場合、第1の識別子と第2の識別子との統合が決定される。
【0024】
次いで、画像処理装置は、第1の識別子が対応付けられた画素の画素数と第2の識別子が対応付けられた画素の画素数とを比較する。
最後に、画像処理装置は、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する。
以上の結果、画質の大幅な劣化を招くことなく、画素同士の距離が近い識別子が適切に統合される。
第1の色と第2の色とが近似していない場合は、識別子の統合は起こらない。また、画素同士の距離が遠い場合は、識別子の統合は起こらない。
【0025】
本発明にあっては、画素間の距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを利用可能であり、必要に応じていずれかを切り換えて処理を実行することにより、スキャナで読み取った画像を90°右回転させる場合等、状況に応じた識別子の統合を行なう。
【0026】
本発明にあっては、赤緑青等の複数の原色の色強度を識別子に関連付けて画像の圧縮処理を行なうことにより、カラー画像の圧縮を可能とする。
【0027】
本発明にあっては、単色の色強度を識別子に関連付けて画像の圧縮処理を行なうことにより、グレースケールのモノクロ画像の圧縮を可能とする。
【発明の効果】
【0028】
本発明の画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体による場合、個々の2値画像内では、各識別子に係る画素がより狭い領域に集中している。従って、圧縮の際に2値画像から抽出した各識別子に係る画素が含まれる矩形領域においては、各識別子に係る画素の割合がより高くなる。つまり、圧縮後のデータに含まれる不要なデータを削減することができる。
しかも、識別子を統合する事によって、2値画像の枚数は最小限に抑えられている。
【0029】
以上の結果、画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることができる。また、画像を圧縮するために必要な処理時間を短縮することが可能となる。
更に、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【0030】
【図1】実施の形態1に係る画像形成装置の内部の機能構成を示すブロック図である。
【図2】圧縮処理部が画像を圧縮する処理の概要を示す模式図である。
【図3】圧縮処理部が画像を圧縮する処理の概要を示す模式図である。
【図4】圧縮処理部の内部構成を示すブロック図である。
【図5】前景色インデックス化処理部の内部構成を示すブロック図である。
【図6】圧縮処理部が圧縮すべき画像の例を示す概念図である。
【図7】初期インデックス画像の例を示す概念図である。
【図8】統合インデックス画像の例を示す概念図である。
【図9】初期インデックステーブル及び初期インデックスカラーテーブルの例を示す図表である。
【図10】初期座標テーブルの例を示す図表である。
【図11】統合インデックステーブル及び統合インデックスカラーテーブルの例を示す図表である。
【図12】統合座標テーブルの例を示す図表である。
【図13】インデックス生成部が行なう処理の手順を示すフローチャートである。
【図14】インデックス生成部が行なう処理の手順を示すフローチャートである。
【図15】座標テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図16】減色処理テーブルの例を示す図表である。
【図17】第1の注目画素に対する処理の手順を説明するための図表である。
【図18】第2の注目画素に対する処理の手順を説明するための図表である。
【図19】インデックスカラーテーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図20】異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離との関係を示す模式図である。
【図21】インデックス統合部が行なう処理の手順を示すフローチャートである。
【図22】インデックス統合部が行なう処理の手順を示すフローチャートである。
【図23】各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図24】各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
【図25】異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離との関係を示す模式図である。
【図26】図25に示す画像を90°右回転させた画像における、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離との関係を示す模式図である。
【図27】異なるインデックスが対応付けられた2個の領域と主走査方向及び副走査方向夫々の最小距離との関係を示す模式図である。
【図28】主走査方向及び副走査方向夫々の最小距離を用いて画素間の距離を判定するその他の条件を用いた処理の手順の一部を示すフローチャートである。
【図29】図28に示すS131〜S136の処理によってインデックスが統合されない画素の範囲を示す模式図である。
【図30】生成した2値画像の例を示す概念図である。
【図31】実施の形態2に係る画像形成装置の内部の機能構成を示すブロック図である。
【図32】実施の形態2に係る圧縮処理部が利用するインデックスカラーテーブルの例を示す図表である。
【図33】実施の形態3に係る画像形成装置の内部の機能構成を示すブロック図である。
【図34】実施の形態4に係る画像処理装置を含むスキャナ装置の内部の機能構成を示すブロック図である。
【図35】実施の形態5に係る画像処理装置の内部構成を示すブロック図である。
【発明を実施するための形態】
【0031】
以下、本発明を、その実施の形態を示す図面に基づいて詳述する。
【0032】
実施の形態 1.
実施の形態1では、本発明の画像処理装置が、カラー画像を形成する画像形成装置の一部をなす形態を示す。
図1は、実施の形態1に係る画像形成装置の内部の機能構成を示すブロック図である。
本発明の実施の形態に係る画像形成装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、読み取ったカラー画像に応じた画像データ及び圧縮画像データを生成する処理を行なうカラー画像処理装置2が接続されている。カラー画像処理装置2は、本発明における画像処理装置として機能する。
【0033】
カラー画像処理装置2には、カラー画像処理装置2が生成した画像データに基づいてカラー画像を出力するカラー画像出力装置13、及びカラー画像処理装置2が生成した圧縮画像データを外部へ送信する送信装置14が接続されている。
カラー画像入力装置11、カラー画像処理装置2、カラー画像出力装置13及び送信装置14には、使用者からの操作を受け付ける操作パネル12が接続されている。
【0034】
カラー画像入力装置11は、CCD(Charge Coupled Device )光センサを備えたスキャナにて構成されており、紙等の記録担体上に記録されたカラー画像からの反射光像をR(赤)G(緑)B(青)に分解してCCDで読み取り、RGBのアナログ信号に変換してカラー画像処理装置2へ出力する構成となっている。
カラー画像処理装置2は、カラー画像入力装置11から入力されたRGBのアナログ信号に対して所定の信号処理を行なってデジタルの画像データを生成する。また、カラー画像処理装置2は、デジタルのC(シアン)M(マゼンタ)Y(イエロー)K(ブラック)信号からなる画像データを生成してカラー画像出力装置13へ出力する。更にまた、カラー画像処理装置2は、生成したデジタルの画像データを後述する圧縮処理により圧縮した圧縮画像データを生成し、圧縮画像データを送信装置14へ出力する。
【0035】
カラー画像出力装置13は、カラー画像処理装置2から入力された画像データに基づいて、熱転写、電子写真、又はインクジェット等の方式により記録担体上に画像を形成することによって、カラー画像を出力する。
送信装置14は、図示しない公衆回線網、LAN(Local Area Network)又はインターネット等の通信ネットワークに接続可能であり、ファクシミリ又は電子メール等の通信方法により通信ネットワークを介して外部へ圧縮画像データを送信する。
操作パネル12は、画像形成装置の操作に必要な情報を表示する液晶ディスプレイ等の表示部と、画像形成装置の動作を制御する指示を使用者の操作により受け付けるタッチパネル又はテンキー等の受付部とを含んで構成されている。
【0036】
カラー画像処理装置2は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部23、色補正部24、黒生成下色除去部25、空間フィルタ処理部26、出力階調補正部27、及び階調再現処理部28の順に送り、デジタルのCMYK信号からなる画像データをカラー画像出力装置13へ出力する構成となっている。また、カラー画像処理装置2は、デジタル信号を領域分離処理部23から圧縮処理部3へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0037】
A/D変換部20は、カラー画像入力装置11からカラー画像処理装置2へ入力されたRGBのアナログ信号を受け付け、RGBのアナログ信号をデジタルのRGB信号へ変換し、RGB信号をシェーディング補正部21へ出力する。
シェーディング補正部21は、A/D変換部20から入力されたRGB信号に対して、カラー画像入力装置11の照明系、結像系及び撮像系で生じる各種の歪みを取り除く処理を行なう。
次いで、シェーディング補正部21は、歪みを取り除いたRGB信号を入力階調補正部22へ出力する。
【0038】
入力階調補正部22は、シェーディング補正部21から入力されたRGB信号に対して、カラーバランスを調整する。シェーディング補正部21から入力階調補正部22へ入力されたRGB信号はRGBの反射率信号であり、入力階調補正部22は、シェーディング補正部21から入力されたRGB信号を、カラー画像処理装置2で処理しやすい濃度信号等の信号へ変換する。
次いで、入力階調補正部22は、処理を行なったRGB信号を領域分離処理部23へ出力する。
【0039】
領域分離処理部23は、入力階調補正部22から入力されたRGB信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、分離結果に基づき、各画素がいずれの領域に属しているかを示す領域識別信号を、黒生成下色除去部25、空間フィルタ処理部26、及び階調再現処理部28へ夫々出力する。また、領域分離処理部23は、入力階調補正部22から入力されたRGB信号を色補正部24及び圧縮処理部3へ夫々出力する。
【0040】
圧縮処理部3は、領域分離処理部23からRGB信号でなる画像データを入力され、本発明の実施の形態に係る画像処理方法(後述)を用いて圧縮画像データを生成する処理を実行する。圧縮処理部3は、生成した圧縮画像データを、ハードディスク等の不揮発性の記憶媒体を用いて構成された記憶部29に記憶させる。また、圧縮処理部3は、生成した圧縮画像データを送信装置14へ出力する。
【0041】
色補正部24は、領域分離処理部23から入力されたRGB信号をCMY信号へ変換し、色再現の忠実化実現のために、不要吸収成分を含むCMY色材の分光特性に基づいた色濁りをCMY信号から取り除く処理を行なう。
次いで、色補正部24は、色補正を行なったCMY信号を黒生成下色除去部25へ出力する。
【0042】
黒生成下色除去部25は、色補正部24から入力されたCMYの3色信号からK信号を生成する黒生成処理を行ない、元のCMY信号から黒生成処理によって得られたK信号を差し引くことによって、CMYの3色信号をCMYKの4色信号へ変換する。黒生成処理の一例としては、スケルトンブラックにより黒生成を行なう方法がある。この方法では、スケルトンカーブの入出力特性をy=f(x)、変換前のデータをC,M,Y、UCR(Under Color Removal )率をα(0<α<1)とすると、変換後のデータC',M',Y',K'は下記の式(1)〜式(4)で表わされる。
【0043】
K'=f(min (C,M,Y))…(1)
C'=C−αK'…(2)
M'=M−αK'…(3)
Y'=Y−αK'…(4)
【0044】
ここで、UCR率α(0<α<1)は、CMYが重なっている部分をKに置き換えてCMYをどの程度削減するかを示す。式(1)は、CMYの各信号強度の内の最も小さい信号強度に応じてK信号が生成されることを示している。
次いで、黒生成下色除去部25は、CMY信号を変換したCMYK信号を空間フィルタ処理部26へ出力する。
【0045】
空間フィルタ処理部26は、黒生成下色除去部25から入力されたCMYK信号が表わす画像に対して、領域分離処理部23から入力された領域識別信号に基づいてデジタルフィルタによる空間フィルタ処理を行なうことにより、画像のぼやけ又は粒状性劣化を改善する。例えば、領域分離処理部23にて文字に分離された領域に対しては、空間フィルタ処理部26は、文字の再現性を高めるために、高周波成分の強調量が大きいフィルタを用いて空間フィルタ処理を行なう。また、領域分離処理部23にて網点に分離された領域に対しては、空間フィルタ処理部26は、入力網点成分を除去するためのローパス・フィルタ処理を行なう。
次いで、空間フィルタ処理部26は、処理後のCMYK信号を出力階調補正部27へ出力する。
【0046】
出力階調補正部27は、空間フィルタ処理部26から入力されたCMYK信号に対して、カラー画像出力装置13の特性に基づく出力階調補正処理を行ない、出力階調補正処理後のCMYK信号を階調再現処理部28へ出力する。
【0047】
階調再現処理部28は、出力階調補正部27から入力されたCMYK信号に対して、領域分離処理部23から入力された領域識別信号に基づいて、領域に応じた中間調処理を行なう。例えば、領域分離処理部23にて文字に分離された領域に対しては、階調再現処理部28は、高域周波成分の再現に適した高解像度のスクリーンによる2値化又は多値化の処理を行なう。また、領域分離処理部23にて網点に分離された領域に対しては、階調再現処理部28は、階調再現性を重視したスクリーンでの2値化又は多値化の処理を行なう。
次いで、階調再現処理部28は、処理後の画像データをカラー画像出力装置13へ出力する。
【0048】
カラー画像出力装置13は、カラー画像処理装置2から入力されたCMYK信号でなる画像データに基づいて、紙等の記録担体上にCMYKのカラー画像を形成する。画像データに基づいて画像を形成することにより、画像形成装置は、受け付けた画像に基づいた画像を形成する。
【0049】
次に、圧縮処理部3の構成及び圧縮処理部3が行なう処理を説明する。
図2及び図3は、圧縮処理部3が画像を圧縮する処理の概要を示す模式図である。
図2に示す圧縮前の画像は、白地に書かれた「TEST画像」という赤色の文字と、緑色のベタ塗り領域に書かれた「これはテスト画像です」という青色の文字と、多彩な色合いを有する絵とを含んでいる。
図2に示す如く、圧縮処理部3は、入力された画像を、文字を表わす前景レイヤとその他を表わす背景レイヤとに分離する。背景レイヤには、画像から文字を省いたものが含まれる。また、前景レイヤには、各文字の色を示す情報が含まれる。
【0050】
更に、図3に示す如く、圧縮処理部3は、前景レイヤから各色毎に2値画像を生成する。例えば、圧縮処理部3は、図3に示すように、「TEST画像」の文字の画素値を“1”として他の画素値を“0”とした2値画像Aと、「これはテスト画像です」の文字の画素値を“1”として他の画素値を“0”とした2値画像Bとを生成する。2値画像Aには、「TEST画像」の文字の色(赤色)を示す色情報が付加され、また、2値画像Bには、「これはテスト画像です」の文字の色(青色)を示す色情報が付加される。
圧縮処理部3は、背景レイヤと色情報が付加された各2値画像とを夫々圧縮することにより、圧縮画像データを生成する。
【0051】
図4は、圧縮処理部3の内部構成を示すブロック図である。
圧縮処理部3は、領域分離処理部23から入力された画像データに基づいて前景マスク生成処理部31で文字の画素を示す前景マスクを生成し、前景色インデックス化処理部32で文字の画素の色をインデックス(識別子)で表わした前景レイヤを生成する構成となっている。また、圧縮処理部3は、背景レイヤ生成処理部33で背景レイヤを生成し、2値画像生成処理部34で前景レイヤから各色の2値画像を生成し、画像圧縮処理部35で背景レイヤ及び各色の2値画像を圧縮することにより圧縮画像データを生成し、圧縮画像データを出力する構成となっている。
【0052】
以下では、圧縮処理部3の各部について、更に詳細に説明する。
前景マスク生成処理部31は、領域分離処理部23から圧縮処理部3へ入力された画像データを受け付け、受け付けた画像データが表わす画像を構成する画素から、文字に対応する画素を前景として抽出し、抽出した画素の位置を示す前景マスクを生成する。抽出した画素以外の画素は、背景の画素である。前景マスク生成処理部31は、本発明における受付手段及び抽出手段夫々として機能する。
【0053】
前景マスク生成処理部31は、具体的には、画素の輝度値に対して画像上の一方向に微分処理を行ない、輝度が明るく変化するエッジ部位と、暗く変化するエッジ部位とを検知し、検知したエッジ部位に基づいて文字画像を2値化する。更に詳細には、前景マスク生成処理部31は、画像上の画素を一方向に走査し、正方向の微分値が出現してから負方向の微分値が出現するまでの範囲を文字の画素として抽出し、抽出した画素の画素値を“1”として他の画素値を“0”とした2値画像を生成する。
以上のようにして生成された2値画像が前景マスクである。前景マスクは、例えば、図2及び図3夫々に示す前景レイヤから色情報を省いたものとなる。
【0054】
前景マスク生成処理部31は、生成した前景マスクのデータ、及び画像データを前景色インデックス化処理部32へ出力する。なお、圧縮処理部3は、領域分離処理部23から領域識別信号を受け付け、前景マスク生成処理部31は、領域識別信号が示す文字領域に含まれる画素を抽出する処理を行なう構成であってもよい。
【0055】
図5は、前景色インデックス化処理部32の内部構成を示すブロック図である。
前景色インデックス化処理部32は、本発明における前景レイヤ生成手段として機能する。このために、前景色インデックス化処理部32は、インデックス生成部321、インデックス統合部322、及びインデックス補正部323を備える。
【0056】
ここで、本発明の実施の形態の特徴を説明する。
図6は、圧縮処理部3が圧縮すべき画像の例を示す概念図である。
図中に示すx座標及びy座標は、カラー画像入力装置11でカラー画像を読み取る際の主走査方向及び副走査方向に対応する。座標(x,y)は画像上の画素の位置を示し、座標によって各画素を特定することができる。
図6中の画素群P1〜P5は、夫々前景を示す画素群であり、画素群P1〜P5以外の画素群は、背景を示す画素群である。
【0057】
ここで、画素群P1,P3が同色(例えば赤色)の画素群であり、画素群P4が全く異なる色(例えば青色)の画素群であり、画素群P2,P5が、夫々画素群P1,P3の色に近似し、且つ、互いに異なる色(例えば画素群P2は薄い赤色、画素群P5は濃い赤色)の画素群であるものとする。
この場合、画素群P1,P3夫々の各画素に、例えばインデックス“1”が対応付けられ、画素群P2の各画素に、インデックス“2”が対応付けられ、画素群P4の各画素に、インデックス“3”が対応付けられ、画素群P5の各画素に、インデックス“4”が対応付けられる(インデックス対応処理)。
【0058】
仮に、このようにインデックス化された画像(以下、初期インデックス画像という)から、同一のインデックスの画素を含む最小面積の矩形領域を切り出す場合、インデックス“1”については、座標(2,2)〜座標(6,9)の矩形領域が切り出される。
初期インデックス画像に係るインデックスを、以下では初期インデックスということもある。図6に示す画像の場合、初期インデックスの個数は4個である。
【0059】
しかしながら、インデックス対応処理を実行しただけでは、インデックスの個数が非常に多くなる(即ち、切り出すべき矩形領域の個数が非常に多くなる)虞がある。このため、矩形領域のデータ量の総和が大きくなり、圧縮効率が悪くなる。
【0060】
ところで、従来、インデックスの個数を減少させるために、異なるインデックスの内、近似色が関連付けられているインデックス同士を統合することがなされている。
仮に、画素群P2,P5夫々の各画素に、画素群P1と同じインデックス“1”を対応付けた場合、インデックスの個数は減少するが、インデックス“1”について切り出される矩形領域は、インデックス“1”の画素を含まない領域を広く有することになる。具体的には、インデックス“1”について座標(2,2)〜座標(11,18)の矩形領域が切り出される。この矩形領域は、インデックス“1”の画素を含まない領域(例えば、座標(2,10)〜座標(11,14)の矩形領域)を広く有する。この結果、圧縮効率が悪くなる。
【0061】
本願発明の最大の特徴は、近似色のインデックス同士を統合する際に、画素間の距離を考慮することにある。
画素群P1,P3と画素群P2とは互いに距離が近いが、画素群P1,P3と画素群P5とは互いに距離が遠い。従って、画素群P1,P3及び画素群P2について、インデックスの統合が実行され、画素群P5に係るインデックス“4”は変更されない(インデックス統合処理)。
【0062】
ここで、インデックス統合処理の実行による画質の劣化を抑制するために、画素群P1,P3の画素数と画素群P2の画素数とが比較される。何故ならば、画素数が少ない方を画素数が多い方に統合した画像は、画素数が多い方を画素数が少ない方に統合した画像に比べて、各画素の色の変化が目立たないからである。
従って、画素群P1,P3に画素群P2が統合され、画素群P2の各画素に、画素群P1,P3と同じインデックス“1”が改めて対応付けられる。
【0063】
このようにインデックス化された画像(以下、統合インデックス画像という)から、同一のインデックスに対応付けられた画素を含む矩形領域を最小面積の切り出す場合、インデックス“1”については座標(2,2)〜座標(11,9)の矩形領域が切り出され、インデックス“4”については座標(6,15)〜座標(9,18)の矩形領域が切り出される。
統合インデックス画像に係るインデックスを、以下では統合インデックスということもある。図6に示す画像の場合、統合インデックスの個数は3個であり、初期インデックスの個数よりも少ない。
【0064】
以上の結果、画素群P1〜P3にインデックス“1”、画素群P4にインデックス“3”、画素群P5にインデックス“4”が夫々対応付けられ、各インデックスについて矩形領域が切り出される。このため、同一のインデックスが含まれる矩形領域の面積は必要最小限になり、且つ、インデックスの個数が必要最小限になる。
そして、このような統合インデックス画像が、前景レイヤとして出力される。
【0065】
インデックス“2”は、インデックス統合処理によって空インデックスとなるが、インデックス統合処理の実行後に、例えばインデックス“3”をインデックス“2”に変換し、インデックス“4”をインデックス“3”に変換して、インデックス“4”を空インデックスにすることによって、空インデックスを詰めることができる。なお、インデックス“2”を空インデックスのままにして、インデックス“1”,“3”,“4”を用いる構成でもよい。
【0066】
図7及び図8は、初期インデックス画像及び統合インデックス画像の例を示す概念図である。
図7及び図8中に示すx座標は、前景色インデックス化処理部32へ入力された画像データが表わす画像中の主走査方向の画素の位置に対応し、y座標は、副走査方向の画素の位置に対応する。各インデックス画像の主走査方向及び副走査方向は、カラー画像入力装置11でカラー画像を読み取る際の主走査方向及び副走査方向に対応する。座標(x,y)は画像上の画素の位置を示し、座標によって各画素を特定することができる。
【0067】
各インデックス画像では、前景マスクで前景とされている各画素に、夫々の色(例えば赤色、及び青色等)を示すインデックスが対応付けられている。前景を示すインデックスは、“1”以上のいずれかの数値を有する。また、各インデックス画像では、前景マスクで背景とされている各画素に、前景の色とは異なる色(例えば白色)を示すインデックスが対応付けられている。背景を示すインデックスは“0”である。
【0068】
図9〜図12は、インデックステーブル、インデックスカラーテーブル、及び座標テーブルの例を示す図表である。
インデックステーブルは、アドレスとインデックスとを関連付けたテーブルである。
【0069】
インデックスカラーテーブルは、アドレスと、RGB各色の色強度で表わされた色情報と、画素数とを関連付けたテーブルである。インデックスカラーテーブルのアドレスは、インデックステーブルのインデックスに対応する。換言すれば、インデックスカラーテーブルは、インデックスと、このインデックスに関連付けられた色情報と、このインデックスが対応付けられた画素の画素数とを関連付けたテーブルである。背景を示すインデックス“0”には、白色を示す色情報と、画素数243とが関連付けられている。以下では、各色の色情報をRGB値(Rの色強度,Gの色強度,Bの色強度)で表わす。例えば、白色はRGB値(255,255,255)と表わされる。
【0070】
座標テーブルは、アドレスと、最小x座標値、最小y座標値、最大x座標値、及び最大y座標値とを関連付けたテーブルである。座標テーブルのアドレスは、インデックステーブルのインデックスに対応する。換言すれば、座標テーブルは、インデックスと、このインデックスが対応付けられた画素が存在する画像上の矩形領域の、主走査方向の最小座標値及び最大座標値並びに副走査方向の最小座標値及び最大座標値とを関連付けたテーブルである。
【0071】
図9(a)に示す初期インデックステーブル、図9(b)に示す初期インデックスカラーテーブル、及び図10に示す初期座標テーブルは、図7に示す初期インデックス画像に対応する。
図11(a)に示す統合インデックステーブル、図11(b)に示す統合インデックスカラーテーブル、及び図12に示す統合座標テーブルは、図8に示す統合インデックス画像に対応する。
統合インデックステーブルのアドレスは、初期インデックステーブルのインデックスに対応する。換言すれば、統合インデックステーブルは、初期インデックスと統合インデックスとを関連付けたテーブルである。
【0072】
図7に示す初期インデックス画像において、座標(7,2)〜座標(11,7)の矩形領域に含まれるインデックス“2”の画素(以下、第1の青画素群という)は、RGB値(0,0,200)の画素(青色の画素)である。また、座標(10,16)〜座標(12,16)の矩形領域に含まれるインデックス“6”の画素(以下、第2の青画素群という)は、RGB値(10,10,190)の画素(やや明るい青色の画素)である。
【0073】
第1の青画素群の色と第2の青画素群の色とは非常に近似している。しかしながら、図10に示す初期座標テーブルを参照すればわかるように、第1の青画素群と第2の青画素群との副走査方向の最小距離は、第2の青画素群の最小y座標値“16”から第1の青画素群の最大y座標値“7”を減算した減算結果“9”であり、非常に遠い。
このため、図8に示す統合インデックス画像では、第1の青座標群に係るインデックスと及び第2の青座標群に係るインデックスとは統合されておらず、異なるインデックスが対応付けられたままである。
【0074】
図7に示す初期インデックス画像において、座標(1,14)〜座標(3,18)の矩形領域に含まれるインデックス“5”の画素(以下、第1の緑画素群という)は、RGB値(120,240,120)の画素(薄い緑色の画素)である。また、座標(4,18)〜座標(4,19)の矩形領域に含まれるインデックス“7”の画素(以下、第2の緑画素群という)は、RGB値(135,240,135)の画素(更に薄い緑色の画素)である。
【0075】
第1の緑画素群の色と第2の緑画素群の色とは非常に近似している。しかも、第1の緑画素群と第2の緑画素群との副走査方向の最小距離は、第2の緑画素群の最小y座標値“18”から第1の緑画素群の最大y座標値“18”を減算した減算結果“0”であり、非常に近い。更に、第1の緑画素群の画素数“11”は第2の緑画素群の画素数“2”より多い。
【0076】
従って、図9(a)に示す初期インデックステーブルにおいてアドレス“7”に関連付けられていたインデックス“7”は、図11(a)に示す統合インデックステーブルではインデックス“5”に変更されている。
また、図11(b)に示す統合インデックスカラーテーブルでは、アドレス“7”に関連付けられていた色情報及び画素数が、夫々デフォルト値(本実施の形態では“0”)に変更されている。更に、アドレス“5”に関連付けられていた画素数が、“13”に変更されている。画素数“13”とは、図9(b)に示す初期インデックスカラーテーブルでアドレス“5”に関連付けられていた画素数“11”とアドレス“7”に関連付けられていた画素数“2”とを加算した加算結果である。
【0077】
更に、図12に示す統合座標テーブルでは、アドレス“7”に関連付けられていた各種座標値がデフォルト値に変更されている。最小x座標値のデフォルト値は、画像の主走査方向の画素数以上の数値である“4095”であり、最小y座標値のデフォルト値は、画像の副走査方向の画素数以上の数値である“8191”であり、最大x座標値のデフォルト値は“0”であり、最大y座標値のデフォルト値は“0”である。ここでは、A3サイズで解像度が300dpiの画素数に基づいて、デフォルト値が設定されている。
【0078】
更にまた、統合座標テーブルでは、アドレス“5”に関連付けられていた各種座標値が、インデックス“5”が対応付けられた画素が存在する矩形領域の最小x座標値“1”、最小y座標値“14”、最大x座標値“4”、及び最大y座標値“19”に変更されている。ここで、図10に示す初期座標テーブルを参照すればわかるように、図12に示す統合座標テーブルにおけるインデックス“5”の最小x座標値及び最小y座標値は、初期座標テーブルにおけるインデックス“5”,“7”夫々の最小x座標値及び最小y座標値の内の最小値に等しく、統合座標テーブルにおけるインデックス“5”の最大x座標値及び最大y座標値は、初期座標テーブルにおけるインデックス“5”,“7”夫々の最大x座標値及び最大y座標値の内の最大値に等しい。
【0079】
図5に示すインデックス生成部321では、前景レイヤのデータ及び画像データに基づいて、インデックス対応処理が実行される。インデックス生成部321は、本発明における識別子対応手段として機能する。
インデックス対応処理では、各画素の色に応じて、特定の色に関連付けられたインデックスを各画素に対応付けることがなされる。
このようなインデックス生成部321からは、図7、図9及び図10に示すような初期インデックス画像のデータ、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルが出力される。
【0080】
インデックス生成部321では、初期インデックスを一時的に記憶しておくための仮インデックステーブルも生成する。
仮インデックステーブルは、インデックス生成部321の後段では使用されない。なお、次の図13及び図14に示すフローチャートにおいて、インデックス生成部321が、S11で初期インデックステーブルを生成せずに、S13でNOと判定した後に、仮インデックステーブルのデータを書き直すことによって初期インデックステーブルを生成してもよい。この場合、仮インデックステーブル及び初期インデックステーブルの一方だけを、例えば図示しないメモリに記憶しておけばよいため、ハードウェアリソースを節約することができる。
【0081】
図13及び図14は、インデックス生成部321が行なう処理の手順を示すフローチャートである。
図13に示すように、インデックス生成部321は、仮インデックステーブルと、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルと、初期インデックス画像とを生成する(S11)。
S11の処理が実行されることによって、仮インデックステーブルには、アドレス“0”,“1”,“2”,…と、初期インデックスのデフォルト値“0”とが記憶され、初期インデックステーブルには、アドレス“0”,“1”,“2”,…と、初期インデックスのデフォルト値とが記憶される。初期インデックスのデフォルト値は、初期インデックスに関連付けられているアドレスに等しい。
【0082】
また、初期インデックスカラーテーブルには、アドレス“0”,“1”,“2”,…と、RGB値のデフォルト値と、画素数のデフォルト値“0”とが記憶される。アドレス“0”に関連付けられるRGB値のデフォルト値はRGB値(255,255,255)であるが、アドレス“0”以外のアドレスに関連付けられるRGB値のデフォルト値はRGB値(0,0,0)である。
初期座標テーブルには、アドレス“0”,“1”,“2”,…と、各種座標値のデフォルト値とが記憶される。
初期インデックス画像の各画素には、デフォルト値として、インデックス“0”(即ち背景のインデックス)が付与される。
【0083】
S11の処理終了後、インデックス生成部321は、初期インデックスカウンタidxcnt及び副走査カウンタycntを夫々“0”にリセットする(S12)。初期インデックスカウンタidxcntは、本処理にて初期インデックスを付与するためのカウンタである。副走査カウンタycntは、注目画素の画像上の副走査方向の画素位置を示すカウンタである。
次いで、インデックス生成部321は、副走査カウンタycntが、画像の副走査方向の画素数より小さいか否かを判定する(S13)。副走査カウンタycntが副走査方向の画素数以上である場合(S13でNO)、1枚分の画像データの入力が全て終了したため、インデックス生成部321は、本処理を終了する。
【0084】
副走査カウンタycntが、副走査方向の画素数より小さい場合(S13でYES)、インデックス生成部321は、主走査カウンタxcntを“0”にリセットする(S14)。主走査カウンタxcntは、注目画素の画像上の主走査方向の画素位置を示すカウンタである。
次いで、インデックス生成部321は、主走査カウンタxcntが、画像の主走査方向の画素数より小さいか否かを判定する(S15)。主走査カウンタxcntが主走査方向の画素数以上である場合(S15でNO)、1ライン分の主走査方向の画素の選択が全て終了したため、インデックス生成部321は、副走査カウンタycntをインクリメントし(S16)、処理をS13へ戻す。
【0085】
主走査カウンタxcntが、主走査方向の画素数より小さい場合(S15でYES)、インデックス生成部321は、S17以降の処理を実行する。このとき、注目画素の位置は、主走査カウンタxcntと副走査カウンタycntとで表現される。本実施の形態においては、注目画素(xcnt,ycnt)が、選択中の画素である。また、注目画素(xcnt,ycnt)が選択されるよりも前に選択された各画素が、選択済みの画素である。
インデックス生成部321は、前景マスクを参照し、注目画素(xcnt,ycnt)が前景の画素であるか否かを判定する(S17)。
【0086】
注目画素(xcnt,ycnt)が背景の画素である場合(S17でNO)、インデックス生成部321は、アドレスaddrに“0”を代入し(S18)、初期インデックスカラーテーブルをアドレスaddrについて更新する(S19)。S19の処理では、インデックス生成部321は、アドレスaddrに関連付けられた画素数(即ち背景の画素数)をインクリメントする。
次いで、インデックス生成部321は、座標テーブル更新処理のサブルーチン(後述する図15参照)を呼び出すことによって、初期座標テーブルをアドレスaddrについて更新する(S20)。
S20の処理終了後、インデックス生成部321は、主走査カウンタxcntをインクリメントして(S21)、処理をS15へ戻す。
【0087】
図15は、座標テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
以下では、アドレスaddrに関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[addr]、最小y座標値ymin[addr]、最大x座標値xmax[addr]、及び最大y座標値ymax[addr]と記載する。
インデックス生成部321は、初期座標テーブルに記録された最小x座標値xmin[addr]が主走査カウンタxcntより大きいか否かを判定する(S31)。
最小x座標値xmin[addr]が主走査カウンタxcntより大きい場合(S31でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最小x座標値xmin[addr]に主走査カウンタxcntを代入する(S32)。
【0088】
S32が終了した場合、又はS31で最小x座標値xmin[addr]が主走査カウンタxcnt以下である場合(S31でNO)、インデックス生成部321は、初期座標テーブルに記録された最小y座標値ymin[addr]が副走査カウンタycntより大きいか否かを判定する(S33)。
最小y座標値ymin[addr]が副走査カウンタycntより大きい場合(S33でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最小y座標値ymin[addr]に副走査カウンタycntを代入する(S34)。
【0089】
S34が終了した場合、又はS33で最小y座標値ymin[addr]が副走査カウンタycnt以下である場合(S33でNO)、インデックス生成部321は、初期座標テーブルに記録された最大x座標値xmax[addr]が主走査カウンタxcntより小さいか否かを判定する(S35)。
最大x座標値xmax[addr]が主走査カウンタxcntより小さい場合(S35でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最大x座標値xmax[addr]に主走査カウンタxcntを代入する(S36)。
【0090】
S36が終了した場合、又はS35で最大x座標値xmax[addr]が主走査カウンタxcnt以上である場合(S35でNO)、インデックス生成部321は、初期座標テーブルに記録された最大y座標値ymax[addr]が副走査カウンタycntより小さいか否かを判定する(S37)。
最大y座標値ymax[addr]が副走査カウンタycntより小さい場合(S37でYES)、インデックス生成部321は、アドレスaddrに関連付けられた最大y座標値ymax[addr]に副走査カウンタycntを代入する(S38)。
【0091】
S38が終了した場合、又はS37で最大y座標値ymax[addr]が副走査カウンタycnt以上である場合(S37でNO)、インデックス生成部321は、座標テーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0092】
図13に示すように、注目画素(xcnt,ycnt)が前景の画素である場合(S17でYES)、図14に示すように、インデックス生成部321は、注目画素(xcnt,ycnt)の色情報に基づいて、減色処理を行なう(S41)。
S41における減色処理としては、例えば特許文献1に記載された方法を用いることができる。この場合の減色処理とは、画像データに含まれる各画素の色情報に対し、予め定められた色数への減色を行なう処理である。例えば、RGB各色の色強度を8ビットで表わしている色情報のビット数を、2−2−2、3−3−2、又は3−3−3ビット等のビット数に落とす。ビット数の選び方は、色判定をどの程度の精度で行なうかによって任意に選択可能である。
【0093】
図16は、減色処理テーブルの例を示す図表である。
本実施の形態では、RGB各色情報のビット数を2−2−2とした場合に、図16に示す減色処理テーブルを用いて、減色処理が行なわれる。この場合、RGB各色は夫々4階調となる。
減色処理テーブルでは、Rの色強度、Gの色強度、及びBの色強度と、Rの減色結果col_r 、Gの減色結果col_g 、及びBの減色結果col_b とが関連付けられている。このような減色処理テーブルは、図示しないメモリに予め記憶されている。
S41では、インデックス生成部321は、減色処理テーブルを参照し、注目画素(xcnt,ycnt)の色情報に基づいて、減色結果col_r ,col_g ,col_b を取得する。
【0094】
次いで、インデックス生成部321は、減色結果を初期インデックスに対応付けるために、仮インデックステーブルへのアドレスcoladrを、下記の式(5)を用いて算出する(S42)。この結果、アドレスcoladrは“0”以上、“63”以下の範囲内のいずれかの値を取る。つまり、色情報に対して最大64通りの初期インデックスを付与することができる。
coladr=col_r +col_g ×4+col_b ×16…(5)
【0095】
以下に、仮インデックステーブルへのアドレスcoladrの具体例を挙げる。
注目画素(xcnt,ycnt)=(2,2)はRGB値(128,0,128)である(図7に示す初期インデックス画像及び図9(b)に示す初期インデックスカラーテーブル参照)。以下では、注目画素(xcnt,ycnt)=(2,2)を第1の注目画素(2,2)という。
第1の注目画素(2,2)の場合、図16に示す減色処理テーブルを参照すると、減色結果col_r ,col_g ,col_b =2,0,2となるため、仮インデックステーブルへのアドレスcoladrは、以下の式(6)のように算出される。
coladr=2+0×4+2×16=34…(6)
【0096】
注目画素(xcnt,ycnt)=(8,3)はRGB値(0,0,200)である。以下では、注目画素(xcnt,ycnt)=(8,3)を第2の注目画素(8,3)という。
第2の注目画素(8,3)の場合、減色結果col_r ,col_g ,col_b =0,0,3となるため、仮インデックステーブルへのアドレスcoladrは、以下の式(7)のように算出される。
coladr=0+0×4+3×16=48…(7)
【0097】
次いで、インデックス生成部321は、仮インデックステーブルを参照し、アドレスcoladrの初期インデックスtmpidx[coladr]を読み出し、読み出した初期インデックスtmpidx[coladr]が“0”であるか否かを判定する(S43)。S43の判定処理は、初期インデックスtmpidx[coladr]が未登録であるか登録済みであるかを判定する処理である。
初期インデックスtmpidx[coladr]が“0”である場合(S43でYES)、初期インデックスtmpidx[coladr]が未登録である。このため、インデックス生成部321は、初期インデックスカウンタidxcntをインクリメントする(S44)。
【0098】
図17及び図18は、第1の注目画素(2,2)及び第2の注目画素(8,3)に対する処理の手順を説明するための図表である。図17及び図18夫々の(a)は仮インデックステーブルを示し、(b)は初期座標テーブルを示し、(c)は初期インデックスカラーテーブルを示している。
図17(a)に示すように、アドレスcoladr=34である第1の注目画素(2,2)は、初期インデックスtmpidx[coladr]=0である。また、初期インデックスカウンタidxcnt=1である。このため、第1の注目画素(2,2)には、初期インデックス“1”が新規に付与される。
【0099】
図14に示すように、インデックス生成部321は、仮インデックステーブルのアドレスcoladrに関連付けられている初期インデックスtmpidx[coladr]を初期インデックスカウンタidxcntの値に更新する(S45)。
図17(a)の場合、インデックス生成部321は、仮インデックステーブルのアドレス“34”に関連付けられている初期インデックス“0”を“1”に更新する。
【0100】
次いで、インデックス生成部321は、初期インデックス画像を更新する(S46)。具体的には、図14に示すように、インデックス生成部321は、初期インデックス画像における注目画素(xcnt,ycnt)の画素値に、初期インデックスカウンタidxcntの値を上書きする。
更に、インデックス生成部321は、アドレスaddrに初期インデックスtmpidx[coladr]を代入し(S47)、座標テーブル更新処理のサブルーチン(図15参照)を呼び出すことによって、初期座標テーブルをアドレスaddrについて更新する(S48)。
【0101】
図17(a)に示すように、第1の注目画素(2,2)に対応付けられた初期インデックスtmpidx[coladr]=1である。このため、S46の処理を実行することによって、図7に示すように、初期インデックス画像における座標(2,2)の画素の画素値が“1”になる。また、S48の処理を実行することによって、図17(b)に示すように初期座標テーブルが更新される。この結果、初期座標テーブルでは、アドレス“1”に関連付けて、最小x座標値“2”、最小y座標値“2”、最大x座標値“2”、及び最大y座標値“2”が記憶される。
【0102】
更にまた、インデックス生成部321は、インデックスカラーテーブル更新処理のサブルーチン(後述する図19参照)を呼び出すことによって、初期インデックスカラーテーブルをアドレスaddrについて更新する(S49)。
図17(a)に示すように、第1の注目画素(2,2)に対応付けられた初期インデックスtmpidx[coladr]=1である。このため、S49の処理を実行することによって、図17(c)に示すように初期インデックスカラーテーブルが更新される。S49の処理の実行以前は、アドレス“1”に関連付けられた色情報はRGB値(0,0,0)であり、画素数は“0”であるため、S49の処理の結果、初期インデックスカラーテーブルでは、アドレス“1”に関連付けて、第1の注目画素(2,2)のRGB値(128,0,128)と、画素数“1”とが記憶される(後述する図19に示すS52,S53参照)。
【0103】
図19は、インデックスカラーテーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
インデックス生成部321は、初期インデックスカラーテーブルを参照して、アドレスaddrに関連付けられている画素数が“0”であるか否かを判定する(S51)。S51の判定処理は、初期インデックス“addr”に対応付けられたRGB値が未登録であるか登録済みであるかを判定する処理である。
【0104】
画素数が“0”である場合(S51でYES)、RGB値は未登録であるため、インデックス生成部321は、注目画素(xcnt,ycnt)のRGB値を初期インデックスカラーテーブルに記憶させ(S52)、画素数をインクリメントして(S53)、インデックスカラーテーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0105】
S52の処理を実行する場合、初期インデックス“addr”に対応付けるべきRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]は、注目画素(xcnt,ycnt)の色強度rcol[注目画素],gcol[注目画素],bcol[注目画素]を用いて、以下の式(8)〜(10)のように算出される。
rcol[addr]←rcol[注目画素]…(8)
gcol[addr]←gcol[注目画素]…(9)
bcol[addr]←bcol[注目画素]…(10)
【0106】
画素数が“0”ではない場合(S51でNO)、RGB値は登録済みであるため、インデックス生成部321は、初期インデックスカラーテーブルからアドレスaddrに関連付けられているRGB値を読み出し、読み出したRGB値と注目画素(xcnt,ycnt)のRGB値とに基づき、RGB各色の色強度の平均値を算出する(S54)。
次いで、インデックス生成部321は、S54で算出したRGB各色の色強度の平均値をアドレスaddrに関連付けて初期インデックスカラーテーブルに記憶させ(S55)、処理をS53へ移す。
なお、S51でNOの場合、インデックス生成部321は、S54及びS55の処理を行なわずに、S53の処理を実行してもよい。何故ならば、減色結果が同じRGB各色の色強度が初期インデックスカラーテーブルに既に記憶されているからである。
【0107】
S54の処理を実行する場合、初期インデックス“addr”に対応付けるべきRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]は、既に初期インデックス“addr”に対応付けられているRGB各色の色強度rcol[addr],gcol[addr],bcol[addr]を用いて、以下の式(11)〜(13)のように算出される。
rcol[addr]←{rcol[addr]+rcol[注目画素]}/2…(11)
gcol[addr]←{gcol[addr]+gcol[注目画素]}/2…(12)
bcol[addr]←{bcol[addr]+bcol[注目画素]}/2…(13)
【0108】
ところで、S54の処理は非常に簡易であるが、平均値を算出する都度、色強度rcol[addr],gcol[addr],bcol[addr]が誤差を含んでしまう虞がある。
このような不都合を回避するためには、例えば、S54の処理で、インデックス生成部321が、前述の式(11)〜(13)の代わりに、以下の式(14)〜(16)を用いて色強度rcol[addr],gcol[addr],bcol[addr]を算出し、算出した色強度rcol[addr],gcol[addr],bcol[addr]を、S55の処理で初期インデックスカラーテーブルに記憶させることが考えられる。
【0109】
rcol[addr]←rcol[addr]+rcol[注目画素]…(14)
gcol[addr]←gcol[addr]+gcol[注目画素]…(15)
bcol[addr]←bcol[addr]+bcol[注目画素]…(16)
このような式(14)〜(16)は、注目画素(xcnt,ycnt)の色強度を単純に加算したものである。
【0110】
そして、インデックス生成部321は、S13でNOの場合、即ち1枚分の画像データの入力が全て終了した場合に、初期インデックスカラーテーブルを更新する処理を実行する。このとき、インデックス生成部321は、変数tempad=1,2,…を順に発生させ、初期インデックスカラーテーブルにおいて、アドレスtempadに関連付けられた画素数cnt [tempad]を用い、最終的な色強度rcol[tempad],gcol[tempad],bcol[tempad]を、以下の式(17)〜(19)のように算出する。最後に、インデックス生成部321は、算出した色強度rcol[tempad],gcol[tempad],bcol[tempad]を、初期インデックスカラーテーブルに記憶させる。
【0111】
rcol[tempad]←rcol[tempad]/cnt [tempad]…(17)
gcol[tempad]←gcol[tempad]/cnt [tempad]…(18)
bcol[tempad]←bcol[tempad]/cnt [tempad]…(19)
【0112】
図14に示すS49の処理が終了することによって、注目画素(xcnt,ycnt)に対する処理が終了する。そこで、インデックス生成部321は、処理を図13に示すS21へ戻す。この後、インデックス生成部321は、S21で主走査カウンタxcntをインクリメントしてから、注目画素(xcnt,ycnt)について、S15以降の処理を実行する。
【0113】
図14に示すように、初期インデックスtmpidx[coladr]が“0”ではない場合(S43でNO)、初期インデックスtmpidx[coladr]は登録済みである。このため、インデックス生成部321は、処理をS46へ移す。
【0114】
図18(a)に示すように、coladr=48である第2の注目画素(8,3)は、初期インデックスtmpidx[coladr]=2である。このため、S46の処理を実行することによって、図7に示すように、初期インデックス画像における座標(8,3)の画素の画素値が“2”になる。また、S48の処理を実行することによって、図18(b)に示すように初期座標テーブルが更新される。この結果、初期座標テーブルでは、アドレス“2”に関連付けて、最小x座標値“8”、最小y座標値“2”、最大x座標値“9”、及び最大y座標値“3”が記憶される。
【0115】
更にまた、S49の処理を実行することによって、図18(c)に示すように初期インデックスカラーテーブルが更新される。
S49の処理の結果、初期インデックスカラーテーブルでは、アドレス“2”に関連付けて、RGB値(0,0,200)が記憶され、画素数が“1”がインクリメントされて“2”になる(図19に示すS54,S55,S53参照)。
【0116】
ところで、初期インデックスカラーテーブルに記憶されている初期インデックスは、デフォルト値のままでよい。何故ならば、S13でNOの場合、即ち1枚分の画像データの入力が全て終了した場合に、初期インデックスカラーテーブル及び初期座標テーブル夫々のアドレスは、初期インデックスに等しいからである。
【0117】
図5に示すインデックス統合部322では、初期インデックス画像のデータ、初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルに基づいて、インデックス統合処理が実行される。インデックス統合部322は、本発明における識別子統合手段として機能する。
【0118】
インデックス統合処理では、インデックス対応処理の実行によって異なるインデックスが対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間でインデックスを統合することがなされる。本実施の形態では、この所定距離として、後述する図20に示す最小距離Δyを用いる。
インデックス統合部322からは、図11及び図12に示す統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルが出力される。
【0119】
図20は、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離Δyとの関係を示す模式図である。
図20中に右上がりのハッチングで示した領域は、初期インデックステーブルに記憶されている一の初期インデックスが対応付けられている画素が占める領域(以下、第1領域I1という)である。一方、右下がりのハッチングで示した領域は、一の初期インデックスとは異なる他の初期インデックスが対応付けられている画素が占める領域(以下、第2領域I2という)である。ただし、第1領域I1の初期インデックスに関連付けられたアドレスは、第2領域I2の初期インデックスに関連付けられたアドレスよりも小さいものとする。
【0120】
第1領域I1に含まれる画素の座標の最小値及び最大値は、最小x座標値xmin1 、最小y座標値ymin1 、最大x座標値xmax1 、及び最大y座標値ymax1 である。また、この画素の画素数は画素数cnt1である。
第2領域I2に含まれる画素の座標の最小値及び最大値は、最小x座標値xmin2 、最小y座標値ymin2 、最大x座標値xmax2 、及び最大y座標値ymax2 である。この画素の画素数は画素数cnt2である。
最小x座標値xmin1 ,xmin2 、最小y座標値ymin1 ,ymin2 、最大x座標値xmax1 ,xmax2 、最大y座標値ymax1 ,ymax2 、及び画素数cnt1,cnt2は、図9及び図10に示すような初期インデックステーブル及び初期座標テーブルを参照すれば容易にわかる。
【0121】
本実施の形態においては、第1領域I1の最大y座標値ymax1 と第2領域I2の最小y座標値ymin2 との差を、副走査方向の最小距離Δyとしている。
一の初期インデックスに関連付けられた第1の色と、他の初期インデックスに関連付けられた第2の色とは、図9及び図10に示すような初期インデックステーブル及び初期インデックスカラーテーブルを参照すれば容易にわかる。
第1の色と第2の色とが近似しており、且つ、最小距離Δyが所定閾値lm_y以下である場合は、インデックスの統合が行なわれる。このとき、インデックスの統合による画質の劣化を抑制するために、第1領域I1の画素数cnt1と第2領域I2の画素数cnt2とを比較し、少ない方が多い方に統合されるようにする。
【0122】
第1の色と第2の色とが近似していない場合、インデックスの統合は行なわれない。また、第1の色と第2の色とが近似している場合であっても、最小距離Δyが所定閾値lm_yより大きい場合は、インデックスの統合は行なわれない。
【0123】
図21及び図22は、インデックス統合部322が行なう処理の手順を示すフローチャートである。
インデックス統合部322は、カウンタi に“1”をセットする(S71)。カウンタi は、第1のインデックス“i ”を示す。
次に、インデックス統合部322は、カウンタi が初期インデックスカウンタidxcnt以下であるかどうかを判定する(S72)。
初期インデックスカウンタidxcntの値は、初期インデックステーブルに記憶されている初期インデックスの個数である。従って、i >idxcntである場合(S72でNO)、全ての初期インデックスに対する処理が終わったため、インデックス統合部322は、本処理を終了する。
【0124】
i ≦idxcntである場合(S72でYES)、インデックス統合部322は、下記の式(20)を用いて、カウンタj を演算する(S73)。カウンタj は、第1のインデックス“i ”と色情報同士を比較すべき第2のインデックス“j ”を示す。
j =i +1…(20)
【0125】
次に、インデックス統合部322は、カウンタj が初期インデックスカウンタidxcnt以下であるかどうかを判定する(S74)。
j >idxcntである場合(S74でNO)、第1のインデックス“i ”と全ての初期インデックスとの色情報同士の比較が終わったため、インデックス統合部322は、カウンタi をインクリメントして(S75)、処理をS72へ戻す。
【0126】
j ≦idxcntである場合(S74でYES)、インデックス統合部322は、初期インデックステーブル及び初期インデックスカラーテーブルを参照して、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とを読み出す(S76)。具体的には、インデックス統合部322は、初期インデックスカラーテーブルを参照し、カウンタi をアドレスとしてRGB各色の色強度rcol[i ],gcol[i ],bcol[i ]を読み出し、カウンタj をアドレスとしてRGB各色の色強度rcol[j ],gcol[j ],bcol[j ]を読み出す。
【0127】
次に、インデックス統合部322は、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とが所定範囲内で近似しているか否かを判定する。
このために、インデックス統合部322は、下記の式(21)を用いて、演算結果Δcol を演算する(S77)。演算結果Δcol とは、第1のインデックス“i ”及び第2のインデックス“j ”夫々のRGB各色の色強度の差の絶対値の加算結果である。
【0128】
Δcol =|rcol[i ]−rcol[j ]|
+|gcol[i ]−gcol[j ]|
+|bcol[i ]−bcol[j ]|…(21)
【0129】
演算結果Δcol が所定範囲内である場合、インデックス統合部322は、第1のインデックス“i ”の色情報と第2のインデックス“j ”の色情報とが所定範囲内で近似していると判定する。
このために、インデックス統合部322は、図22に示すように、演算結果Δcol が閾値th_col以下であるか否かを判定する(S78)。本実施の形態では、閾値th_col=40とする。
【0130】
以下に具体例を述べる。図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“5”をアドレスとして色情報を読み出した場合、色強度rcol[5]は“120”、gcol[5]は“240”、bcol[5]は“120”である。また、カウンタ“7”をアドレスとして色情報を読み出した場合、色強度rcol[7]は“135”、gcol[7]は“240”、bcol[7]は“135”である。従って、演算結果Δcol は式(22)のように演算される。
【0131】
Δcol =|rcol[5]−rcol[7]|
+|gcol[5]−gcol[7]|
+|bcol[5]−bcol[7]|
=|120−135|+|240−240|+|120−135|
=30…(22)
演算結果Δcol は“30”、即ち閾値th_col=40以下であるため、インデックス統合部322は、第1のインデックス“5”の色情報と第2のインデックス“7”の色情報とが所定範囲内で近似していると判定する。
【0132】
Δcol ≦th_col以下である場合(S78でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合候補とし、第1のインデックス“i ”が対応付けられている画素と第2のインデックス“j ”が対応付けられている画素とが所定距離より近接しているか否かを判定する。
【0133】
このために、インデックス統合部322は、初期インデックステーブル及び初期座標テーブルを参照して、第1のインデックス“i ”が対応付けられている画素の最大y座標値ymax[i ]と第2のインデックス“j ”が対応付けられている画素の最小y座標値ymin[j ]とを読み出す(S79)。具体的には、インデックス統合部322は、初期座標テーブルを参照し、カウンタi をアドレスとして最大y座標値ymax[i ]を読み出し、カウンタj をアドレスとして最小y座標値ymin[j ]を読み出す。
【0134】
次に、インデックス統合部322は、式(23)を用いて、最小距離Δyを演算する(S80)。
Δy=ymin[j ]−ymax[i ]…(23)
次いで、インデックス統合部322は、最小距離Δyが所定閾値lm_yより大きいか否かを判定する(S81)。
ここで、本実施の形態では、所定閾値lm_y=3とする。
【0135】
以下に具体例を述べる。図10に示す初期座標テーブルにおいて、カウンタ“5”をアドレスとして読み出される最大y座標値ymax[5]は“18”であり、カウンタ“7”をアドレスとして読み出される最小y座標値ymin[7]は“18”である。従って、最小距離Δy=18−18=0、即ち所定閾値lm_y=3以下であるため、インデックス統合部322は、第1のインデックス“5”が対応付けられた画素と第2のインデックス“7”が対応付けられた画素とが画像上で所定距離より近接していると判定する。
【0136】
Δy≦lm_yである場合(S81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、第1のインデックス“i ”を第2のインデックス“j ”に統合するか、第2のインデックス“j ”を第1のインデックス“i ”に統合するかを判定する。
【0137】
このために、インデックス統合部322は、初期インデックステーブル及び初期インデックスカラーテーブルを参照して、第1のインデックス“i ”が対応付けられている画素数cnt [i ]と第2のインデックス“j ”が対応付けられている画素数cnt [j ]とを読み出す(S82)。具体的には、インデックス統合部322は、初期インデックスカラーテーブルを参照し、カウンタi をアドレスとして画素数cnt [i ]を読み出し、カウンタj をアドレスとして画素数cnt [j ]を読み出す。
更に、インデックス統合部322は、第1のインデックス“i ”が対応付けられている画素数cnt [i ]が、第2のインデックス“j ”が対応付けられている画素数cnt [j ]以上であるか否かを判定する(S83)。
【0138】
以下に具体例を述べる。図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“5”をアドレスとして読み出される画素数cnt [5]は“11”であり、カウンタ“7”をアドレスとして読み出される画素数cnt [5]は“2”である。従って、cnt [5]≧cnt [7]であるため、インデックス統合部322は、第1のインデックス“5”に、第2のインデックス“7”を統合すると判定する。
【0139】
cnt [i ]≧cnt [j ]である場合(S83でYES)、第1のインデックス“i ”に第2のインデックス“j ”を統合すべく、インデックス統合部322は、カウンタk1,k2にカウンタi ,j を代入して(S84)、各種テーブル更新処理のサブルーチン(後述する図23及び図24参照)を呼び出すことによって(S85)、インデックスを統合する。
cnt [i ]<cnt [j ]である場合(S83でNO)、第2のインデックス“j ”に第1のインデックス“i ”を統合すべく、インデックス統合部322は、カウンタk1,k2にカウンタj ,i を代入して(S86)、処理をS85へ移す。
【0140】
S85の処理完了後、インデックス統合部322は、後述するS87の処理を実行する。
また、Δcol >th_colである場合(S78でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87の処理を実行する。更にまた、Δy>lm_yである場合(S81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87の処理を実行する。
インデックス統合部322は、カウンタj をインクリメントし(S87)、処理を図21に示すS74へ戻す。
【0141】
図23及び図24は、各種テーブル更新処理のサブルーチンの処理の手順を示すフローチャートである。
図23に示すように、インデックス統合部322は、初期インデックステーブルにおいて、カウンタk2をアドレスとするインデックスidx [k2]に、カウンタk1をアドレスとして読み出されるインデックスidx [k1]を代入する(S101)。S101の処理によって、初期インデックステーブルが更新される。
【0142】
次に、インデックス統合部322は、初期インデックスカラーテーブルにおいて、カウンタk1,k2をアドレスとして画素数cnt [k1],cnt [k2]を読み出し(S102)、読み出された画素数cnt [k1]と画素数cnt [k2]とを加算した加算結果を、カウンタk1に関連付けられた画素数cnt [k1]に代入し(S103)、更に、カウンタk2に関連付けられた画素数cnt [k2]をデフォルト値“0”にリセットする(S104)。
次いで、インデックス統合部322は、初期インデックスカラーテーブルにおいて、カウンタk2に関連付けられたRGB各色の色強度rcol[k2],gcol[k2],bcol[k2]夫々をデフォルト値“0”にリセットする(S105)。S102〜S105の処理によって、初期インデックスカラーテーブルが更新される。
【0143】
以下では、初期座標テーブルにおいて、アドレス“k1”に関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[k1]、最小y座標値ymin[k1]、最大x座標値xmax[k1]、及び最大y座標値ymax[k1]と記載する。同様に、アドレス“k2”に関連付けられている最小x座標値、最小y座標値、最大x座標値、及び最大y座標値を、最小x座標値xmin[k2]、最小y座標値ymin[k2]、最大x座標値xmax[k2]、及び最大y座標値ymax[k2]と記載する。
【0144】
図24に示すように、インデックス統合部322は、初期座標テーブルに記録された最小x座標値xmin[k1]が最小x座標値xmin[k2]より大きいか否かを判定する(S106)。
最小x座標値xmin[k1]が最小x座標値xmin[k2]より大きい場合(S106でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最小x座標値xmin[k1]に最小x座標値xmin[k2]を代入する(S107)。
【0145】
S107が終了した場合、又はS106で最小x座標値xmin[k1]が最小x座標値xmin[k2]以下である場合(S106でNO)、インデックス統合部322は、初期座標テーブルに記録された最小y座標値ymin[k1]が最小y座標値ymin[k2]より大きいか否かを判定する(S108)。
最小y座標値ymin[k1]が最小y座標値ymin[k2]より大きい場合(S108でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最小y座標値ymin[k1]に最小y座標値ymin[k2]を代入する(S109)。
【0146】
S109が終了した場合、又はS108で最小y座標値ymin[k1]が最小y座標値ymin[k2]以下である場合(S108でNO)、インデックス統合部322は、初期座標テーブルに記録された最大x座標値xmax[k1]が最大x座標値xmax[k2]より小さいか否かを判定する(S110)。
最大x座標値xmax[k1]が最大x座標値xmax[k2]より小さい場合(S110でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最大x座標値xmax[k1]に最大x座標値xmax[k2]を代入する(S111)。
【0147】
S111が終了した場合、又はS110で最大x座標値xmax[k1]が最大x座標値xmax[k2]以上である場合(S110でNO)、インデックス統合部322は、初期座標テーブルに記録された最大y座標値ymax[k1]が最大y座標値ymax[k2]より小さいか否かを判定する(S112)。
最大y座標値ymax[k1]が最大y座標値ymax[k2]より小さい場合(S112でYES)、インデックス統合部322は、アドレス“k1”に関連付けられた最大y座標値ymax[k1]に最大y座標値ymax[k2]を代入する(S113)。
【0148】
S113が終了した場合、又はS112で最大y座標値ymax[k1]が最大y座標値ymax[k2]以上である場合(S112でNO)、インデックス統合部322は、カウンタk2に関連付けられた最小x座標値xmin[k2]、最小y座標値ymin[k2]、最大x座標値xmax[k2]、及び最大y座標値ymax[k2]をデフォルト値にリセットする(S114)。S106〜S114の処理によって、初期座標テーブルが更新される。
S114の処理終了後、インデックス統合部322は、座標テーブル更新処理のサブルーチンの処理を終了し、処理をメインルーチンへ戻す。
【0149】
以下に具体例を述べる。第1のインデックス“5”に、第2のインデックス“7”を統合する場合、S101の処理が実行されることによって、図9(a)に示す初期インデックステーブルにおいて、アドレス“7”に関連付けられたインデックス“7”が、カウンタ“5”をアドレスとして読み出されるインデックス“5”で上書きされる。
従って、カウンタ“7”をアドレスとして、図11(a)に示す統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出されるインデックスは“5”である。
一方、カウンタ“5”をアドレスとして、統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合と同様に、読み出されるインデックスは“5”である。
【0150】
また、S103及びS104の処理が実行されることによって、図9(b)に示す初期インデックスカラーテーブルにおいて、アドレス“5”に関連付けられた画素数“11”が、カウンタ“7”をアドレスとして読み出される画素数“2”との加算結果“13”で上書きされる。アドレス“5”に係る上書きの終了後、カウンタ“7”に関連付けられた画素数“2”が、デフォルト値“0”で上書きされる。
従って、カウンタ“5”,“7”をアドレスとして、図11(b)に示す統合インデックスカラーテーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出される画素数は“13”,“0”である。
【0151】
更に、S105の処理が実行されることによって、図9(b)に示す初期インデックスカラーテーブルにおいて、カウンタ“7”に関連付けられたRGB値(135,240,135)が、デフォルトのRGB値(0,0,0)で上書きされる。
従って、カウンタ“7”をアドレスとして、図11(b)に示す統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合とは異なり、読み出されるRGB値はRGB値(0,0,0)である。
一方、カウンタ“5”をアドレスとして、統合インデックステーブルを参照した場合、初期インデックステーブルを参照した場合と同様に、読み出されるRGB値はRGB値(120,240,120)である。
【0152】
更にまた、S106〜S114の処理によって、図10に示す初期座標テーブルにおいて、アドレス“5”に関連付けられた最大x座標値xmax[5]及び最大y座標値ymax[5]はアドレス“7”に関連付けられた最大x座標値xmax[7]及び最大y座標値ymax[7]に置き換えられ、アドレス“7”に関連付けられた最小x座標値xmin[7]、最小y座標値ymin[7]、最大x座標値xmax[7]、及び最大y座標値ymax[7]は夫々デフォルト値にリセットされる。
【0153】
従って、カウンタ“5”をアドレスとして、図12に示す統合座標テーブルを参照した場合、初期座標テーブルを参照した場合とは異なり、読み出される最小x座標値xmin[5]、最小y座標値ymin[5]、最大x座標値xmax[5]、及び最大y座標値ymax[5]は、“1”、“14”、“4”、及び“19”となる。
同様に、カウンタ“7”をアドレスとして、統合座標テーブルを参照した場合、初期座標テーブルを参照した場合とは異なり、読み出される最小x座標値xmin[7]、最小y座標値ymin[7]、最大x座標値xmax[7]、及び最大y座標値ymax[7]は、“4095”、“8191”、“0”、及び“0”となる。
【0154】
図23に示すように、本実施の形態における各種テーブル更新処理では、カウンタk1に関連付けられたRGB各色の色強度rcol[k1],gcol[k1],bcol[k1]夫々は、元の値のまま維持される。しかしながら、インデックス統合部322が、S103〜S105の処理を実行する前に、色強度rcol[k1],gcol[k1],bcol[k1]を再計算して更新する構成でもよい。この場合、色強度rcol[k1],gcol[k1],bcol[k1]は、以下の式(24)〜(27)を用いて演算される。
【0155】
cnt12 =cnt [k1]+cnt [k2]…(24)
rcol[k1]={rcol[k1]×cnt [k1]+rcol[k2]×cnt [k2]}/cnt12 …(25)
gcol[k1]={gcol[k1]×cnt [k1]+gcol[k2]×cnt [k2]}/cnt12 …(26)
bcol[k1]={bcol[k1]×cnt [k1]+bcol[k2]×cnt [k2]}/cnt12 …(27)
【0156】
以上のような式(24)〜(27)を用いて求められた新たな色強度rcol[k1],gcol[k1],bcol[k1]を求める場合、求められた新たな色強度rcol[k1],gcol[k1],bcol[k1]には、元の色強度rcol[k1],gcol[k1],bcol[k1]及び元の色強度rcol[k2],gcol[k2],bcol[k2]夫々が、元の画素数cnt [k1],cnt [k2]の多寡に応じて反映されている。
このため、インデックス統合部322は、画素数が少ないインデックスを、画素数が多いインデックスへ統合する構成(即ち、図22に示すS83と、S84及びS86のいずれか一方とを実行する構成)に限定されず、単に、アドレス“j ”のインデックスを、アドレス“i ”のインデックスに統合する構成(即ち、S83及びS86を実行せず、常にS84を実行する構成)であってもよい。
【0157】
以上のような処理を実行することによって、図21に示すS72でNOの場合、即ち全ての初期インデックスに対する処理が終わった場合、図9(a)に示す初期インデックステーブル、図9(b)に示す初期インデックスカラーテーブル、及び図10に示す初期座標テーブルは、図11(a)に示す統合インデックステーブル、図11(b)に示す統合インデックスカラーテーブル、及び図12に示す統合座標テーブルになっている。
【0158】
インデックスの統合後、統合インデックステーブルに記憶されているインデックスの個数が、予め定められているインデックスの上限数よりも多い場合は、統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルを初期インデックステーブル、初期インデックスカラーテーブル、及び初期座標テーブルと看做し、また、閾値th_col及び/又は所定閾値lm_yを適宜に増加させて(即ち統合の条件を緩和して)、インデックス統合部322が、再び図21及び図22に示す処理を実行すればよい。このとき、各種データを、前段の処理(インデックス生成部321で実行される処理)へ戻す必要はない。
【0159】
図5に示すインデックス補正部323では、初期インデックス画像のデータ、統合インデックステーブル、統合インデックスカラーテーブル、及び統合座標テーブルに基づいて、インデックス補正処理が実行される。
インデックス補正処理では、統合インデックス画像(即ち前景レイヤ)のデータが生成される。
【0160】
具体的には、インデックス補正部323は、例えば図13に示すS12〜S16と同様の処理を実行して、初期インデックス画像における注目画素(xcnt,ycnt)を順に選択する。次いで、インデックス補正部323は、初期インデックス画像のデータに基づき、注目画素(xcnt,ycnt)の画素値(即ち初期インデックス)を読み出す。更に、インデックス補正部323は、統合インデックステーブルを参照し、読み出した初期インデックスをアドレスとして、統合インデックスを読み出す。最後に、インデックス補正部323は、読み出した統合インデックスを、注目画素(xcnt,ycnt)の画素値に上書きする。
以上の処理の結果、図7に示す初期インデックス画像は、図8に示す統合インデックス画像になる。
【0161】
なお、インデックス補正部323が行なう処理を、インデックス統合部322が、図21に示すS72でNOの場合(即ち全ての初期インデックスに対する処理が終わった場合)に実行する構成でもよい。この場合、前景色インデックス化処理部32に、インデックス補正部323を設ける必要はない。
【0162】
図25は、異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離Δxとの関係を示す模式図である。図26は、図25に示す画像を90°右回転させた画像における、異なるインデックスが対応付けられた2個の領域と副走査方向の最小距離Δxとの関係を示す模式図である。
また、図27は、異なるインデックスが対応付けられた2個の領域と主走査方向の最小距離Δx及び副走査方向の最小距離Δyとの関係を示す模式図である。
図25〜図27夫々に示す画像は、図20に示す画像に対応する。
【0163】
インデックス統合部322は、図21及び図22に示す処理を実行する場合に、図20に示す最小距離Δyを用いる代わりに、図25に示す最小距離Δxを用いる構成でもよい。このとき、インデックス統合部322は、図22に示すS79の処理で、初期座標テーブルを参照し、カウンタi をアドレスとして最大x座標値xmax[i ]を読み出し、カウンタj をアドレスとして最小x座標値xmin[j ]を読み出す。
次に、インデックス統合部322は、S80の処理で、式(28)を用いて、最小距離Δxを演算する。
Δx=xmin[j ]−xmax[i ]…(28)
【0164】
更に、インデックス統合部322は、S81の処理で、最小距離Δxが所定閾値lm_xより大きいか否かを判定する。
Δx≦lm_xである場合(即ちS81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、S82へ処理を移す。
一方、Δx>lm_xである場合(即ちS81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87へ処理を移す。
【0165】
また、インデックス統合部322は、図21及び図22に示す処理を実行する場合に、最小距離Δx及び最小距離Δyのいずれか一方を用いる代わりに、図27に示す最小距離Δx及び最小距離Δyの両方を用いる構成でもよい。このとき、インデックス統合部322は、図22に示すS79の処理で、初期座標テーブルを参照し、カウンタi をアドレスとして最大x座標値xmax[i ]及び最大y座標値ymax[i ]を読み出し、カウンタj をアドレスとして最小x座標値xmin[j ]及び最小y座標値ymin[j ]を読み出す。
次に、インデックス統合部322は、S80の処理で、式(23)及び式(28)を用いて、最小距離Δy及び最小距離Δxを演算する。
【0166】
更に、インデックス統合部322は、S81の処理で、最小距離Δxが所定閾値lm_xより大きく、且つ、最小距離Δyが所定閾値lm_yより大きいか否かを判定する。
ここで、所定閾値lm_xは所定閾値lm_yと同値であってもよく、異なる値であってもよい。
【0167】
最小距離Δy≦所定閾値lm_y又は最小距離Δx≦所定閾値lm_xである場合(即ちS81でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、S82へ処理を移す。
一方、最小距離Δx>所定閾値lm_x且つ最小距離Δy>所定閾値lm_yである場合(即ちS81でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、S87へ処理を移す。
【0168】
ところで、図25に示した如き、主走査方向の最小距離Δxを用いて画素間の距離を判定する処理は、カラー画像入力装置11が読み取った画像を画像処理によって90°右回転させる処理を、前景色インデックス化処理部32での処理以降に行なう際に有用である。
図26に示す画像の場合、副走査方向の最小距離Δxは、図25に示す主走査方向の最小距離Δxと同値になる。
【0169】
図28は、主走査方向の最小距離Δx及び副走査方向の最小距離Δyを用いて画素間の距離を判定するその他の条件を用いた処理の手順の一部を示すフローチャートである。
図28に示す最小x座標値xmin1 、最小y座標値ymin1 、最大x座標値xmax1 、及び最大y座標値ymax1 は、第1のインデックス“i ”が対応付けられている画素の各種座標値であり、最小x座標値xmin2 、最小y座標値ymin2 、最大x座標値xmax2 、及び最大y座標値ymax2 は、第2のインデックス“j ”が対応付けられている画素の各種座標値である。
【0170】
インデックス統合部322が、図21及び図22に示す処理を実行する場合に、図27に示す最小距離Δx及び最小距離Δyの両方を用いる構成であるとき、図22に示すS81の処理を実行する代わりに、図28に示すS131〜S136の処理を実行する構成でもよい。
上述したように、インデックス統合部322は、図22に示すS80の処理で、最小距離Δx及び最小距離Δy夫々を演算する。
【0171】
次に、インデックス統合部322は、副走査方向の最小距離Δyの値が所定閾値lm_yより大きいか否かを判定する(S131)。
最小距離Δyが所定閾値lm_yより大きい場合(S131でYES)、インデックス統合部322は、最大x座標値xmax2 が最小x座標値xmin1 より小さいか否かを判定する(S132)。
最大x座標値xmax2 が最小x座標値xmin1 より小さい場合(S132でYES)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”とを統合せず、処理をS87へ移す。
【0172】
最大x座標値xmax2 が最小x座標値xmin1 以上である場合(S132でNO)、インデックス統合部322は、最小x座標値xmin2 が最大x座標値xmax1 より大きいか否かを判定する(S133)。
最小x座標値xmin2 が最大x座標値xmax1 より大きい場合(S133でYES)、インデックス統合部322は、処理をS87へ移す。
【0173】
最小距離Δyが所定閾値lm_y以下である場合(S131でNO)、又は、最小x座標値xmin2 が最大x座標値xmax1 以下である場合(S133でNO)、インデックス統合部322は、主走査方向の最小距離Δxの値が所定閾値lm_xより大きいか否かを判定する(S134)。
最小距離Δxが所定閾値lm_xより大きい場合(S134でYES)、インデックス統合部322は、最大y座標値ymax2 が最小y座標値ymin1 より小さいか否かを判定する(S135)。
最大y座標値ymax2 が最小y座標値ymin1 より小さい場合(S135でYES)、インデックス統合部322は、処理をS87へ移す。
【0174】
最大y座標値ymax2 が最小y座標値ymin1 以上である場合(S135でNO)、インデックス統合部322は、最小y座標値ymin2 が最大y座標値ymax1 より大きいか否かを判定する(S136)。
最小y座標値ymin2 が最大y座標値ymax1 より大きい場合(S136でYES)、インデックス統合部322は、処理をS87へ移す。
最小距離Δxが所定閾値lm_x以下である場合(S134でNO)、又は、最小y座標値ymin2 が最大y座標値ymax1 以下である場合(S136でNO)、インデックス統合部322は、第1のインデックス“i ”と第2のインデックス“j ”との統合を決定し、処理をステップS82へ移す。
【0175】
図29は、図28に示すS131〜S136の処理によってインデックスが統合されない画素の範囲を示す模式図である。
図29中に右上がりのハッチングで示した領域は、特定のインデックスが対応付けられた画素が占める領域(以下、特定のインデックス領域という)である。図中に示すD1又はD2で示す範囲内にインデックスi と近似した色情報を持つインデックス領域がある場合は、インデックスは統合されない。図中にD3で示す範囲は、特定のインデックス領域内の画素よりも先に走査されるので、この範囲内に、インデックスi と近似した色情報を持つインデックス領域は無い。
【0176】
以上のように、インデックス領域間の距離として主走査方向及び副走査方向の両方の距離を用いる処理を実行することによっても、インデックス統合部322は、画像上で所定の距離より離れたインデックス領域間はインデックスを統合することなく、前景レイヤを作成することができる。インデックス間の距離として主走査方向及び副走査方向の両方の距離を用いる処理は、カラー画像入力装置11が読み取った画像を画像処理によって回転させる処理を行なう場合でも、画像を回転させない場合でも、同様の効果を奏する。
【0177】
インデックス統合部322は、使用者からの操作によって切り換えの指示を操作パネル12が受け付けた場合に、インデックス領域間の距離として副走査方向の距離を用いる処理と、主走査方向の距離を用いる処理と、主走査方向及び副走査方向の両方の距離を用いる処理とのいずれかを切り換える機能を備える。
【0178】
ところで、本実施の形態では、所定閾値lm_y及び所定閾値lm_x夫々が予め“3”に設定されている場合を例示しているが、実際には、カラー画像入力装置11が読み取った画像に適した閾値を用いればよい。
【0179】
例えば、副走査方向の所定閾値lm_y及び主走査方向の所定閾値lm_xとして、副走査方向の画素数及び主走査方向の画素数の30%の値がインデックス統合部322に設定されるようにする。カラー画像入力装置11が、600dpiでA3サイズの画像を読み込んだ場合、副走査方向の画素数が“10000”、主走査方向の画素数が“7000”となるため、所定閾値lm_y=3000及び所定閾値lm_x=2100がインデックス統合部322に設定される。また、カラー画像入力装置11が、600dpiでA4サイズの画像を読み込んだ場合は、副走査方向の画素数が“7000”、主走査方向の画素数が“5000”となるため、所定閾値lm_y=2100及び所定閾値lm_x=1500となる。
【0180】
更にまた、設定された所定閾値lm_y及び所定閾値lm_xが、初期インデックステーブルに記憶されているインデックスの個数に応じて加減される構成でもよい。
【0181】
前述した処理の終了後、前景色インデックス化処理部32は、統合インデックス画像(即ち前景レイヤ)のデータ、統合インデックスカラーテーブル、統合座標テーブル、及び画像データを、背景レイヤ生成処理部33へ出力する。以下では、統合インデックス、統合インデックスカラーテーブル及び統合座標テーブルを、単にインデックス、インデックスカラーテーブル及び座標テーブルという。
【0182】
背景レイヤ生成処理部33は、入力された画像データ及び前景レイヤから、図2に示す如き背景レイヤを生成する処理を行なう。背景レイヤ生成処理部33は、本発明における背景レイヤ生成手段として機能する。
具体的には、画像データに含まれる前景画素の色情報を、前景画素周辺の背景画素の色情報の平均値で置き換えることにより、背景レイヤを作成する。ただし、周辺に背景画素が存在しない前景画素については、背景レイヤ生成処理部33は、背景画素の平均値で色情報が置き換えられた他の前景画素の色情報の値又は平均値で色情報を置き換える処理を行なう。
【0183】
ここで、背景画素は、前景レイヤ中でインデックス“0”を対応付けられている画素であり、前景画素はその他のインデックスを対応付けられている画素である。
なお、背景レイヤ生成処理部33は、前景マスク生成処理部31が生成した前景マスクを用いて前景画素と背景画素とを区別する処理を行なってもよい。
【0184】
次いで、背景レイヤ生成処理部33は、生成した背景レイヤのデータと、前景レイヤのデータ、インデックスカラーテーブル及び座標テーブルとを、2値画像生成処理部34へ出力する。
【0185】
2値画像生成処理部34は、入力された前景レイヤのデータ及び座標テーブルに基づき、前景レイヤに含まれる“0”以外のインデックスの夫々について2値画像を生成する。具体的には、特定のインデックスが対応付けられた画素の画素値を“1”とし、他の画素の画素値を“0”とした2値画像を生成し、“0”以外の全てのインデックスについて2値画像の生成を繰り返す。
【0186】
図30は、生成した2値画像の例を示す概念図である。
図30(a)に示す例は、図8に示す前景レイヤで“5”のインデックスを対応付けられた画素(図7に示す初期インデックス画像で“5”,“7”のインデックスを対応付けられた画素)の画素値を“1”とし、他の画素の画素値を“0”とした2値画像である。
また、図30(b)に示す例は、図8に示す前景レイヤで“2”のインデックスを対応付けられた画素(図7に示す初期インデックス画像で“2”のインデックスを対応付けられた画素)の画素値を“1”とし、他の画素の画素値を“0”とした2値画像である。
【0187】
図8に示す前景レイヤにおけるインデックス“1”,“3”,“4”,“6”夫々に付いても、同様に2値画像が生成される。
結果として、前景レイヤに含まれる“0”以外のインデックスの個数と同数枚の2値画像が生成される(図8に示す前景レイヤの場合は6枚)。
生成された各2値画像には、各インデックスが関連付けられている。2値画像生成処理部34は、生成された2値画像、背景レイヤ、インデックスカラーテーブル及び座標テーブルを画像圧縮処理部35へ出力する。2値画像生成処理部34は、本発明における2値画像生成手段として機能する。
【0188】
画像圧縮処理部35は、各2値画像、背景レイヤ、インデックスカラーテーブル及び座標テーブルを圧縮することにより、圧縮画像データを生成する。
具体的には、画像圧縮処理部35は、各インデックスについて座標テーブルに記録されている最小x座標値、最小y座標値、最大x座標値及び最大y座標値で画素の範囲が限定された矩形領域を各2値画像から抽出し、各2値画像から抽出した矩形領域をMMR等の可逆圧縮技術を用いて夫々圧縮する。
【0189】
画像圧縮処理部35が、図30(a)から示す2値画像から抽出する矩形領域は、図30(a)にハッチングで示した矩形領域Iaである。
矩形領域Iaには、インデックス“5”に無関係な領域は最小限しか含まれていない。
同様に、画像圧縮処理部35が、図30(b)から示す2値画像から抽出する矩形領域は、図30(b)にハッチングで示した矩形領域Ibである。
矩形領域Ibには、インデックス“2”に無関係な領域は最小限しか含まれていない。
【0190】
更に、画像圧縮処理部35は、JPEG等の非可逆圧縮技術を用いて背景レイヤを圧縮し、圧縮後の各矩形領域に、各インデックスが示す色を表わす色情報及び各インデックスの画素が画像上で占める座標の範囲(即ち各インデックスに係る矩形領域の画像上の位置)を付加し、圧縮後の全てのデータを一つのデータファイルに統合することにより、圧縮画像データを生成する。
画像圧縮処理部35は、本発明における圧縮手段として機能する。
【0191】
なお、画像圧縮処理部35は、操作パネル12で受け付けた所定の指示に従って、データの圧縮形式を変更する機能を備えた構成であってもよい。
また、画像圧縮処理部35が矩形領域を抽出するのではなく、前景色インデックス化処理部32又は2値画像生成処理部34が矩形領域を抽出し、抽出した矩形領域を後段へ出力する構成でもよい。
【0192】
圧縮処理部3は、以上の処理により、カラー画像入力装置11から入力された画像を圧縮した圧縮画像データを生成し、記憶部29又は送信装置14へ出力する。
記憶部29は、圧縮画像データを記憶し、操作パネル12で受け付けた所定の指示に従って、記憶している圧縮画像データを読み出して送信装置14へ出力する。
送信装置14は、操作パネル12で受け付けた所定の指示に従って、外部へ圧縮画像データを送信する。
【0193】
以上詳述した如く、本発明の実施の形態に係る画像処理装置は、画像から文字に対応する画素を抽出し、文字に対応する各画素に、画素の色を数値で示したインデックスを対応付けた前景レイヤを生成し、画像から文字を省いた背景レイヤを生成し、前景レイヤから、インデックス毎に、各インデックスが対応付けられた画素とその他の画素とを区別した2値画像を生成し、全ての2値画像及び背景レイヤを夫々圧縮することによって圧縮画像データを生成する。
【0194】
画像処理装置は、前景レイヤを生成する際には、色に応じたインデックスを各画素に対応付ける。
更に、画像処理装置は、各インデックスの中で互いに近似した色を示すインデックスを統合する際、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス同士領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0195】
前景レイヤから2値画像を生成した際には、近似色同士でありながら異なるインデックスが対応付けられた画素は、互いに異なる2値画像に含まれることとなり、個々の2値画像内では、画素値“1”の画素は、従来技術に比べてより狭い領域に集中することとなる。従って、各2値画像から抽出した各インデックスに係る画素が含まれる矩形領域には、各インデックスを対応付けられた画素の割合が従来技術よりも高くなり、圧縮後のデータに含まれる不要なデータを削減することができる。
【0196】
例えば、画像上で離隔した二つの領域の色が近似している場合、従来技術では、二つの領域を含んだ矩形領域を抽出するので、領域間の画素を含む圧縮データを作成するのに対し、本発明では、二つの領域に互いに別のインデックスを対応付け、各領域を含む矩形領域を個別に抽出して個別に圧縮するので、圧縮データには領域間の画素が含まれない。
【0197】
これにより、矩形領域にインデックスが効率よく含まれる(インデックスでない画素が最小限になる)ため、後段処理を行なう際に、2つのインデックス領域間の必要でない画像領域のデータを転送する必要がなくなり、データ転送量を下げ、処理速度を向上することができる。また、夫々の矩形領域も小さくなるため、矩形領域同士が重なる可能性が低くなり、圧縮データを展開し、プリントする際の速度を向上することができる。
【0198】
以上のように、本発明においては、圧縮後のデータに含まれる不要なデータを削減することができるので、カラー画像を圧縮した圧縮画像データのデータ量を削減し、カラー画像の圧縮効率を向上させることができる。従って、カラー画像を圧縮するために必要な処理時間を短縮することが可能となる。また、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる。
【0199】
実施の形態 2.
実施の形態1では、本発明の画像形成装置がカラー画像を形成する装置である形態を示したが、実施の形態2では、本発明の画像形成装置がモノクロ画像を形成する装置である形態を示す。
図31は、実施の形態2に係る画像形成装置の内部の機能構成を示すブロック図である。
画像形成装置は、画像をモノクロのグレースケールで光学的に読み取るグレー画像入力装置15を備えており、グレー画像入力装置15には、本発明の実施の形態に係る画像処理装置であるモノクロ画像処理装置4が接続されている。
【0200】
モノクロ画像処理装置4には、モノクロ画像処理装置4が生成した画像データに基づいてモノクロ画像を出力するモノクロ画像出力装置16、及び送信装置14が接続されている。
グレー画像入力装置15、モノクロ画像処理装置4、モノクロ画像出力装置16、及び送信装置14には、操作パネル12が接続されている。
グレー画像入力装置15は、CCD光センサを備えたスキャナにて構成されており、紙等の記録担体上に記録された画像からの反射光像をCCDで読み取り、グリーン(G)単色でグレースケールのアナログ信号に変換してモノクロ画像処理装置4へ入力する構成となっている。
【0201】
モノクロ画像処理装置4は、グレー画像入力装置15から入力されたG単色のアナログ信号に対して画像処理を行なってデジタルの画像データを生成する。また、モノクロ画像処理装置4は、デジタルのK信号からなる画像データを生成してモノクロ画像出力装置16へ出力する。更に、モノクロ画像処理装置4は、生成したデジタルの画像データを圧縮処理により圧縮した圧縮画像データを生成し、圧縮画像データを送信装置14へ出力する。
モノクロ画像出力装置16は、モノクロ画像処理装置4から入力された画像データに基づいて、モノクロ画像を出力する。
操作パネル12及び送信装置14の構成は、実施の形態1と同様である。
【0202】
モノクロ画像処理装置4は、グレー画像入力装置15から入力されたアナログ信号をA/D変換部40でデジタル信号に変換し、シェーディング補正部41、入力階調補正部42、領域分離処理部43、空間フィルタ処理部46、出力階調補正部47、階調再現処理部48の順に送り、デジタルのK信号からなる画像データをモノクロ画像出力装置16へ出力する構成となっている。また、モノクロ画像処理装置4は、デジタル信号を領域分離処理部43から圧縮処理部45へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0203】
A/D変換部40は、グレー画像入力装置15から入力されたアナログ信号を受け付け、アナログのG信号をデジタルのG信号へ変換し、シェーディング補正部41へ出力する。
シェーディング補正部41は、A/D変換部40から入力されたG信号に対して、各種の歪みを取り除く処理を行ない、歪みを取り除いたG信号を入力階調補正部42へ出力する。
入力階調補正部42は、シェーディング補正部41から入力されたG信号の強度のバランスを調整し、更に、G信号をモノクロ画像処理装置4で処理しやすい濃度信号等の信号へ変換し、処理後のG信号を領域分離処理部43へ出力する。
【0204】
領域分離処理部43は、入力階調補正部42から入力されたG信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、各画素がいずれの領域に属しているかを示す領域識別信号を、空間フィルタ処理部46及び階調再現処理部48へ夫々出力し、G信号を空間フィルタ処理部46及び圧縮処理部45へ夫々出力する。
空間フィルタ処理部46は、入力されたG信号が表わす画像に対して、領域識別信号に基づいて空間フィルタ処理を行ない、処理後のG信号を出力階調補正部47へ出力する。
出力階調補正部47は、空間フィルタ処理部46から入力されたG信号に対して、モノクロ画像出力装置16の特性に基づく出力階調補正処理を行ない、処理後のG信号を階調再現処理部48へ出力する。
【0205】
階調再現処理部48は、出力階調補正部47から入力されたG信号に対して、領域識別信号に基づいて、領域に応じた中間調処理を行ない、処理後のG信号を変換したK信号でなる画像データをモノクロ画像出力装置16へ出力する。
圧縮処理部45は、領域分離処理部43からG信号でなる画像データを入力され、本発明の実施の形態に係る画像処理方法を用いて圧縮画像データを生成する処理を実行し、圧縮画像データを記憶部29に記憶させ、また、圧縮画像データを送信装置14へ出力する。圧縮処理部45が実行する画像処理方法は、色情報がRGB各色の色強度を示す情報ではなくG単色の強度を示す情報であることを除けば、実施の形態1の圧縮処理部3が実行する画像処理方法と同等である。
【0206】
図32は、実施の形態2に係る圧縮処理部45が利用するインデックスカラーテーブルの例を示す図表である。
各アドレスには、色情報として、G単色の強度を示す情報が関連付けられており、アドレスの値はインデックスの値に等しい。また、背景画素に対応するインデックス“0”には、白色を示す色情報である“0”が関連付けられている。
圧縮処理部45は、図32に示す如きインデックスカラーテーブルを用いて、実施の形態1の圧縮処理部3が実行する画像処理方法と同様の画像処理方法を実行することにより、圧縮画像データを生成する。
【0207】
以上詳述した如く、本実施の形態に係る画像処理装置は、画素の色情報が単色の色強度を示すモノクロ画像に対して、実施の形態1と同様の画像処理を行なうことにより、モノクロ画像を圧縮した圧縮画像データを生成する。
本実施の形態においても、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、モノクロ画像を圧縮した圧縮画像データのデータ量を削減し、モノクロ画像の圧縮効率を向上させることが可能となる。
【0208】
実施の形態 3.
実施の形態2では、本発明の画像形成装置がモノクロ画像を受け付けてモノクロ画像を形成する装置である形態を示したが、実施の形態3では、本発明の画像形成装置がカラー画像を受け付けてモノクロ画像を形成する装置である形態を示す。
【0209】
図33は、実施の形態3に係る画像形成装置の内部の機能構成を示すブロック図である。
画像形成装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、本発明の実施の形態に係る画像処理装置である画像処理装置5が接続されている。画像処理装置5には、モノクロ画像出力装置16、及び送信装置14が接続されている。カラー画像入力装置11、画像処理装置5、モノクロ画像出力装置16及び送信装置14には、操作パネル12が接続されている。
カラー画像入力装置11は、実施の形態1と同様の処理を行ない、カラー画像を読み取ったRGBのアナログ信号を画像処理装置5へ出力する。
【0210】
画像処理装置5は、カラー画像入力装置11から入力されたRGBのアナログ信号に対して画像処理を行なって、デジタルの単色のK信号からなる画像データを生成してモノクロ画像出力装置16へ出力する。また、画像処理装置5は、デジタルのRGB信号でなる画像データを圧縮した圧縮画像データを生成し、生成した圧縮画像データを、記憶部29に記憶させるか、又は送信装置14へ出力する。記憶部29が記憶する圧縮画像データ及び送信装置14が送信する圧縮画像データが表わす画像は、カラー画像となる。
モノクロ画像出力装置16は、画像処理装置5から入力された画像データに基づいて、モノクロ画像を出力する。
操作パネル12及び送信装置14の構成は、実施の形態1と同様である。
【0211】
画像処理装置5は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部53、色補正部54、黒生成下色除去部55、空間フィルタ処理部46、出力階調補正部47、階調再現処理部48の順に送り、デジタルのK信号からなる画像データをモノクロ画像出力装置16へ出力する構成となっている。また、画像処理装置5は、デジタル信号を領域分離処理部53から圧縮処理部3へ送り、圧縮画像データを送信装置14へ出力する構成となっている。
【0212】
A/D変換部20、シェーディング補正部21、及び入力階調補正部22の構成は、実施の形態1と同様である。
領域分離処理部53は、入力階調補正部22から入力されたRGB信号が表わす画像中の各画素を、文字領域、網点領域、又は写真領域のいずれかに分離し、各画素がいずれの領域に属しているかを示す領域識別信号を、黒生成下色除去部55、空間フィルタ処理部46、及び階調再現処理部48へ夫々出力する。
また、領域分離処理部53は、入力階調補正部22から入力されたRGB信号を色補正部54及び圧縮処理部3へ夫々出力する。
【0213】
色補正部54は、領域分離処理部53から入力されたRGB信号からG信号を抽出し、抽出したG信号を黒生成下色除去部55へ出力する。
黒生成下色除去部55は、色補正部54からのG信号を空間フィルタ処理部46へ出力する。
空間フィルタ処理部46、出力階調補正部47及び階調再現処理部48の構成は、実施の形態2と同様である。
圧縮処理部3の構成は実施の形態1と同様であり、圧縮処理部3は、領域分離処理部53からRGB信号でなる画像データを入力され、実施の形態1と同様に本発明の実施の形態に係る画像処理方法を実行することにより、圧縮画像データを生成する。
【0214】
なお、色補正部54は、RGB信号からG信号を抽出するのではなく、RGB信号から輝度信号を生成する処理を行なう形態であってもよい。例えば、色補正部54は、RGB各色の色強度RGBから輝度値Yを、Y=0.30R+0.59G+0.11Bと計算することによって、輝度信号を生成する。この形態の場合は、黒生成下色除去部55、空間フィルタ処理部46、出力階調補正部47及び階調再現処理部48は、輝度信号を色情報とした処理を実行する。
【0215】
以上詳述した如く、本実施の形態に係る画像処理装置は、モノクロ画像の形成とカラーの圧縮画像データの生成とを可能とする。
本実施の形態においても、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、カラー画像の圧縮効率を向上させることが可能となる。
【0216】
実施の形態 4.
実施の形態1〜3では、本発明の画像処理装置が画像形成装置の一部をなす形態を示したが、実施の形態4においては、本発明の画像処理装置がスキャナ装置の一部をなす形態を示す。
【0217】
図34は、実施の形態4に係る画像処理装置を含むスキャナ装置の内部の機能構成を示すブロック図である。
スキャナ装置は、カラー画像を光学的に読み取るカラー画像入力装置11を備えており、カラー画像入力装置11には、本発明の実施の形態に係る画像処理装置6が接続されている。
画像処理装置6には、通信ケーブル又は通信ネットワークを介してパーソナルコンピュータ(PC)等の図示しないホスト装置が接続されている。
カラー画像入力装置11及び画像処理装置6には、操作パネル12が接続されている。
【0218】
カラー画像入力装置11は、実施の形態1と同様の処理を行ない、カラー画像を読み取ったRGBのアナログ信号を画像処理装置6へ出力する。
画像処理装置6は、カラー画像入力装置11から入力されたアナログ信号をA/D変換部20でデジタル信号に変換し、シェーディング補正部21、入力階調補正部22、領域分離処理部63、圧縮処理部3の順に送る構成となっている。
A/D変換部20、シェーディング補正部21、及び入力階調補正部22の構成は、実施の形態1と同様である。
領域分離処理部63は、入力階調補正部22から入力されたRGB信号を圧縮処理部3へ出力する。
【0219】
圧縮処理部3の構成は実施の形態1と同様であり、圧縮処理部3は、領域分離処理部63からRGB信号でなる画像データを入力され、実施の形態1と同様に本発明の実施の形態に係る画像処理方法を実行することにより、入力された画像を圧縮した圧縮画像データを生成する。また、圧縮処理部3は、生成した圧縮画像データを図示しないホスト装置へ出力する。
ホスト装置は、画像処理装置6が出力した圧縮画像データを受け付け、圧縮画像データの記憶、圧縮画像データの外部への送信、又は圧縮画像データに基づいた画像出力等の処理を実行する。
【0220】
以上のように、本実施の形態においても、実施の形態1〜3と同様に、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0221】
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることができるようになり、圧縮画像データを送受信する際には、送受信すべきデータ量を削減し、送受信に必要な時間を短縮することが可能となる。
【0222】
実施の形態 5.
実施の形態5では、汎用のコンピュータを用いて本発明の画像処理装置を実現した形態を示す。
図35は、実施の形態5に係る画像処理装置7の内部構成を示すブロック図である。
本実施の形態に係る画像処理装置7は、PC等の汎用コンピュータを用いて構成されており、演算を行なうCPU71と、演算に伴って発生する一時的な情報を記憶するRAM72と、光ディスク等の記録媒体から情報を読み取るCD−ROMドライブ等のドライブ部73と、ハードディスク等の記憶部74とを備えている。
【0223】
CPU71は、本発明の実施の形態に係る記録媒体8から、本発明の実施の形態に係るコンピュータプログラム81をドライブ部73に読み取らせ、読み取ったコンピュータプログラム81を記憶部74に記憶させる。コンピュータプログラム81は必要に応じて記憶部74からRAM72へロードされ、ロードされたコンピュータプログラム81に基づいて、CPU71は画像処理装置7に必要な処理を実行する。
【0224】
また、画像処理装置7は、使用者が操作することによる各種の処理指示等の情報が入力されるキーボード又はポインティングデバイス等の入力部75と、各種の情報を表示する液晶ディスプレイ等の表示部76とを備えている。更に、画像処理装置7は、図示しない外部の通信ネットワークに接続可能な送信部77と、画像データを入力するスキャナ装置等の外部の入力装置82に接続された受信部78とを備えている。
入力装置82は、画像を光学的に読み取って画像データを生成し、生成した画像データを画像処理装置7へ送信する。受信部78は、入力装置82から送信された画像データを受信する。受信部78は、本発明における受付手段として機能する。送信部77は、図示しない通信ネットワークを介して、ファクシミリ又は電子メール等の通信方法により外部へデータを送信することができる。
【0225】
CPU71は、コンピュータプログラム81をRAM72にロードし、ロードしたコンピュータプログラム81に従って、本発明の実施の形態に係る画像処理方法を実行する。即ち、受信部78で入力装置82から画像データが入力された場合に、CPU71は、実施の形態1における前景マスク生成処理部31、前景色インデックス化処理部32、背景レイヤ生成処理部33、2値画像生成処理部34及び画像圧縮処理部35が行なう処理と同様の、前景マスク生成処理、前景色インデックス化処理、背景レイヤ生成処理、2値画像生成処理及び画像圧縮処理を実行する。これにより、CPU71は、受け付けた画像データを圧縮した圧縮画像データを生成する処理を行なう。
【0226】
CPU71は、生成した圧縮画像データを記憶部74に記憶させる。また、CPU71は、ロードしたコンピュータプログラム81に従って、生成した圧縮画像データ、又は記憶部74から読み出した圧縮画像データを送信部77に外部へ送信させる処理を行なう。
なお、CPU71は、使用者が入力部75を用いて作成した画像データを受け付け、受け付けた画像データを圧縮した圧縮画像データを生成する処理を行なう構成でもよい。この場合、CPU71は、本発明における受付手段として機能する。
【0227】
以上のように、本実施の形態においても、実施の形態1〜4と同様に、画像処理装置は、前景レイヤを生成する際には、互いに近似した色を示すインデックス同士であっても、画像上で所定の距離より大きく離れているインデックス領域に対しては統合せず、所定の距離内のインデックスのみを統合する。
【0228】
この結果、圧縮後のデータに含まれる不要なデータを削減することができる。従って、カラー画像を圧縮した圧縮画像データのデータ量を削減し、画像の圧縮効率を向上させることが可能となる。
【0229】
なお、コンピュータプログラム81を記録してある記録媒体8は、磁気テープ、磁気ディスク、可搬型のハードディスク、CD−ROM/MO/MD/DVD等の光ディスク、又はICカード(メモリカードを含む)/光カード等のカード型記録媒体のいずれの形態であってもよい。また、本発明の記録媒体8は、画像処理装置7に装着され、記録媒体8の記録内容をCPU71が読み出すことが可能な半導体メモリ、即ちマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等であってもよい。
【0230】
更に、本発明のコンピュータプログラム81は、インターネット又はLAN等の通信ネットワークを介して画像処理装置7に接続された図示しない外部のサーバ装置から画像処理装置7へダウンロードされて記憶部74に記憶される形態であってもよい。この形態の場合は、コンピュータプログラム81をダウンロードするために必要なプログラムは、予め記憶部74に記憶されてあるか、又は所定の記録媒体からドライブ部73を用いて読み出されて記憶部74に記憶され、必要に応じてRAM72にロードされるものであればよい。
【0231】
以上の実施の形態1〜5においては、前景レイヤに含まれる画素として文字に対応する画素を抽出する処理を行なう形態を示したが、これに限るものではなく、本発明は、前景レイヤに含まれる画素として線画に対応する画素を抽出する処理を行なう形態であってもよい。また、本発明は、前景レイヤに含まれる画素として文字及び線画に対応する画素を抽出する処理を行なう形態であってもよい。
【符号の説明】
【0232】
11 カラー画像入力装置
12 操作パネル
13 カラー画像出力装置
14 送信装置
15 グレー画像入力装置
16 モノクロ画像出力装置
2 カラー画像処理装置
3,45 圧縮処理部
31 前景マスク生成処理部
32 前景色インデックス化処理部
321 インデックス生成部
322 インデックス統合部
323 インデックス補正部
33 背景レイヤ生成処理部
34 2値画像生成処理部
35 画像圧縮処理部
4 モノクロ画像処理装置
5,6,7 画像処理装置
71 CPU
8 記録媒体
81 コンピュータプログラム
【特許請求の範囲】
【請求項1】
複数の画素で構成された画像を受け付ける受付手段と、
該受付手段が受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する抽出手段と、
該抽出手段が抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手段と、
前記受付手段が受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成する背景レイヤ生成手段と、
前記前景レイヤ生成手段が生成した前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する2値画像生成手段と、
該2値画像生成手段が生成した2値画像、及び前記背景レイヤ生成手段が生成した背景レイヤを夫々圧縮する圧縮手段と
を備え、
画像を圧縮する処理を行なう画像処理装置において、
前記前景レイヤ生成手段は、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける識別子対応手段と、
該識別子対応手段による対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する識別子統合手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記識別子対応手段は、識別子と、該識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する記憶手段を有し、
前記識別子統合手段は、前記記憶手段が記憶した矩形領域を、識別子の統合結果に応じて修正する修正手段を有し、
前記圧縮手段は、前記特定の識別子に関連付けて前記記憶手段が記憶した矩形領域又は前記修正手段が修正した矩形領域に対応する2値画像を圧縮するようにしてあることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記識別子統合手段は、
第1の識別子に関連付けられた第1の色と、前記第1の識別子とは異なる第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する判定手段と、
該判定手段が近似していると判定した場合、前記第1の識別子が対応付けられた画素と前記第2の識別子が対応付けられた画素との最小距離を演算する距離演算手段と、
該距離演算手段が演算した最小距離が所定の閾値より小さい場合に、前記第1の識別子が対応付けられた画素の画素数と前記第2の識別子が対応付けられた画素の画素数とを比較する比較手段と、
該比較手段の比較結果に基づき、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する手段と
を有することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
画像上の一方向を主走査方向とし、前記一方向に直交する方向を副走査方向とするように構成してあり、
前記距離演算手段が演算する距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを切り替える手段を更に備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
各画素の色は、複数の原色の色強度を示す情報からなることを特徴とする請求項1から4のいずれかひとつに記載の画像処理装置。
【請求項6】
各画素の色は、単色の色強度を示す情報からなることを特徴とする請求項1から4のいずれかひとつに記載の画像処理装置。
【請求項7】
請求項1から6までのいずれかひとつに記載の画像処理装置を備えることを特徴とする画像形成装置。
【請求項8】
複数の画素で構成された画像を受け付けるステップと、
受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出するステップと、
抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成ステップと、
受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成するステップと、
前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成するステップと、
生成した2値画像及び背景レイヤを夫々圧縮するステップとを含む画像処理方法において、
前記前景レイヤ生成ステップは、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付けるステップと、
識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合するステップと
を含むことを特徴とする画像処理方法。
【請求項9】
コンピュータに、
画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する手順と、
抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手順と、
前記画像から文字及び/又は線画を省いた背景レイヤを生成する手順と、
前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する手順と、
生成した2値画像及び背景レイヤを夫々圧縮する手順とを含む処理を実行させることによって、画像を圧縮する処理を実行させるためのコンピュータプログラムであって、
前記前景レイヤ生成手順は、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける手順と、
識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する手順と
を含むことを特徴とするコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【請求項1】
複数の画素で構成された画像を受け付ける受付手段と、
該受付手段が受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する抽出手段と、
該抽出手段が抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手段と、
前記受付手段が受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成する背景レイヤ生成手段と、
前記前景レイヤ生成手段が生成した前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する2値画像生成手段と、
該2値画像生成手段が生成した2値画像、及び前記背景レイヤ生成手段が生成した背景レイヤを夫々圧縮する圧縮手段と
を備え、
画像を圧縮する処理を行なう画像処理装置において、
前記前景レイヤ生成手段は、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける識別子対応手段と、
該識別子対応手段による対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する識別子統合手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記識別子対応手段は、識別子と、該識別子が対応付けられた画素が存在する画像上の矩形領域とを関連付けて記憶する記憶手段を有し、
前記識別子統合手段は、前記記憶手段が記憶した矩形領域を、識別子の統合結果に応じて修正する修正手段を有し、
前記圧縮手段は、前記特定の識別子に関連付けて前記記憶手段が記憶した矩形領域又は前記修正手段が修正した矩形領域に対応する2値画像を圧縮するようにしてあることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記識別子統合手段は、
第1の識別子に関連付けられた第1の色と、前記第1の識別子とは異なる第2の識別子に関連付けられた第2の色とが所定の範囲内で近似しているか否かを判定する判定手段と、
該判定手段が近似していると判定した場合、前記第1の識別子が対応付けられた画素と前記第2の識別子が対応付けられた画素との最小距離を演算する距離演算手段と、
該距離演算手段が演算した最小距離が所定の閾値より小さい場合に、前記第1の識別子が対応付けられた画素の画素数と前記第2の識別子が対応付けられた画素の画素数とを比較する比較手段と、
該比較手段の比較結果に基づき、画素数が少ない方の画素に対応付けられた識別子を、画素数が多い方の画素に対応付けられた識別子と同一の識別子に変更する手段と
を有することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
画像上の一方向を主走査方向とし、前記一方向に直交する方向を副走査方向とするように構成してあり、
前記距離演算手段が演算する距離として、主走査方向の距離と、副走査方向の距離と、主走査方向及び副走査方向の両方の距離とを切り替える手段を更に備えることを特徴とする請求項3に記載の画像処理装置。
【請求項5】
各画素の色は、複数の原色の色強度を示す情報からなることを特徴とする請求項1から4のいずれかひとつに記載の画像処理装置。
【請求項6】
各画素の色は、単色の色強度を示す情報からなることを特徴とする請求項1から4のいずれかひとつに記載の画像処理装置。
【請求項7】
請求項1から6までのいずれかひとつに記載の画像処理装置を備えることを特徴とする画像形成装置。
【請求項8】
複数の画素で構成された画像を受け付けるステップと、
受け付けた画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出するステップと、
抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成ステップと、
受け付けた画像から文字及び/又は線画を省いた背景レイヤを生成するステップと、
前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成するステップと、
生成した2値画像及び背景レイヤを夫々圧縮するステップとを含む画像処理方法において、
前記前景レイヤ生成ステップは、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付けるステップと、
識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合するステップと
を含むことを特徴とする画像処理方法。
【請求項9】
コンピュータに、
画像を構成する画素の内、文字及び/又は線画に対応する画素を抽出する手順と、
抽出した各画素の色を複数の識別子のいずれかで表わした前景レイヤを生成する前景レイヤ生成手順と、
前記画像から文字及び/又は線画を省いた背景レイヤを生成する手順と、
前記前景レイヤに含まれる識別子毎に、特定の識別子で表わされる画素とその他の画素とからなる2値画像を生成する手順と、
生成した2値画像及び背景レイヤを夫々圧縮する手順とを含む処理を実行させることによって、画像を圧縮する処理を実行させるためのコンピュータプログラムであって、
前記前景レイヤ生成手順は、
各画素の色に応じて、特定の色に関連付けられた識別子を各画素に対応付ける手順と、
識別子の対応付けの後、異なる識別子が対応付けられた画素の内、色同士が所定の範囲内で近似し、且つ、画像上で所定距離より近接している画素間で識別子を統合する手順と
を含むことを特徴とするコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【公開番号】特開2010−187180(P2010−187180A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−29634(P2009−29634)
【出願日】平成21年2月12日(2009.2.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成21年2月12日(2009.2.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]