JPH09289586A - 画像処理装置及びその方法 - Google Patents

画像処理装置及びその方法

Info

Publication number
JPH09289586A
JPH09289586A JP9027867A JP2786797A JPH09289586A JP H09289586 A JPH09289586 A JP H09289586A JP 9027867 A JP9027867 A JP 9027867A JP 2786797 A JP2786797 A JP 2786797A JP H09289586 A JPH09289586 A JP H09289586A
Authority
JP
Japan
Prior art keywords
image data
density
frequency
value
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9027867A
Other languages
English (en)
Other versions
JP3745069B2 (ja
Inventor
Mitsuru Maeda
充 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP02786797A priority Critical patent/JP3745069B2/ja
Publication of JPH09289586A publication Critical patent/JPH09289586A/ja
Application granted granted Critical
Publication of JP3745069B2 publication Critical patent/JP3745069B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 画像データの下地に発生するノイズを好適に
除去し、画像データを量子化するための量子化数を好適
に判定する画像処理装置及びその方法を提供する。 【解決手段】 画像データの濃度の出力頻度の分布をヒ
ストグラム生成部3において生成する。生成された分布
の最大出力頻度を含み、所定の閾値以上の出力頻度を有
する濃度領域を下地濃度幅検出部5において判定する。
判定された濃度領域以外の前記分布に含まれる極大値の
数に基づいて、量子化数を量子化数判定部6において決
定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多値画像データの
特徴を判定する画像処理装置及びその方法並びに媒体に
関するものである。
【0002】
【従来の技術】近年、原稿画像を、その原稿画像内に構
成される構成要素で表現する技術が高まりつつある。具
体的には、原稿画像を構成する、「画像」、「図形」、
「文字」、更に「章」、「節」、「段落」、「タイト
ル」、「キャプション」等の属性と書式を定義する。そ
して、定義される属性と書式の情報を出力し、出力され
る属性と書式の情報に基づいて、原稿画像の表示や検索
を行う像域分離技術が実現している。また、これらは、
世界的な通信網の整備とともに普及しつつあるインター
ネットに代表されるネットワークで交換されるデータ
や、アメリカで標準化されたSGMLという形で広がり
つつある。
【0003】また、「複合カラー文書を対象とした構造
化カラーファクシミリ」(松木他:画像電子学会誌第2
4巻第1号 pp.26−33)のように、属性毎に符
号化方式を切り替えることにより、画像を好適に符号化
して伝送したり、蓄積することが考えられている。更
に、例えば、特開平8ー30725号には、2値の原稿
画像を入力して、上述の画像の属性や書式の情報を判定
する旨が記載されている。これは、入力される原稿画像
より得られる画像データ中の所定画素領域から低解像度
の1画素を抽出し、低解像度の画素の連続する広がりか
ら、画像の属性や書式の情報を判定するものである。そ
して、判定された属性や書式の情報を原稿画像から抽出
したり、所望の属性や書式の情報を持つ領域を抽出する
ことができる。
【0004】一方、像域分離技術においては、原稿画像
をスキャナ等で入力する際に、その原稿画像に濃度ムラ
や裏写り、ひいては原稿画像の下地の濃度が濃い場合等
には、それらがノイズとして原稿画像より得られる画像
データの下地に発生し、その発生したノイズが像域分離
処理の精度を低下させていた。また、プリンタ等でその
ようなノイズを含む下地を持つ画像データを出力する
と、出力画像の画質が劣化して出力されてしまってい
た。そのため、上述のように画像データの下地にノイズ
が発生するような場合は、そのノイズを除去する画像処
理装置が存在する。
【0005】このような画像データの下地のノイズを除
去する画像処理装置は、例えば、原稿画像の濃度の平均
値から下地の濃度を判定し、その判定された濃度以下の
画像を出力されないように制御することで、画像データ
の下地に発生するノイズを除去していた。あるいは、原
稿画像の入出力濃度のガンマ補正等の補正を行うこと
で、結果的に画像データの下地に発生するノイズが除去
されていた。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の画像処理装置において、原稿画像の濃度の平均値を
用いて下地に発生するノイズを除去する方法では、低濃
度の文字や連続階調を持つ画像が存在する原稿画像に対
しては、それらの濃度が下地の濃度よりも低いために、
低濃度の文字や連続の階調を持つ画像の低濃度の部分が
出力されないように制御されてしまうので、出力画像の
画質が劣化してしまうという問題点があった。
【0007】また、ガンマ補正等の補正を行うことで下
地に発生するノイズを除去する方法では、原稿画像の下
地の濃度が白に近い場合は画像データの下地の濃度の出
力が抑えられるので結果的に下地に発生するノイズが除
去されるが、下地の濃度が高い場合は画像データの下地
の濃度の出力が強調されるため下地に発生するノイズが
逆に強められて出力されてしまうという問題点があっ
た。
【0008】そのため、これらの方法では、上述のよう
な場合に、像域分離技術の精度の問題や、出力画像の画
質の劣化の問題は改善されていなかった。一方、上記従
来の画像処理装置で実行される像域分離処理では、原稿
画像を読み取って得られる画像データを2値化し、その
2値化して得られる2値画像データに対して像域分離処
理を行うため、2値化しやすい「図形」と2値化しにく
い「写真」を好適に分離することができないという問題
点があった。また、強調を意図して部分的に色文字等が
含まれる原稿画像を認識する場合に、その色を認識せず
に像域分離を行うため、分離された文字をOCR等で認
識しても、その色の情報が認識されずにいるので、所望
のOCR結果が得られないという問題点があった。
【0009】また、下地に発生するノイズを除去した画
像データであっても、その下地を構成する濃度に幅があ
ると、画像データを伝送したり、蓄積するために行う符
号化処理の効率が悪いという問題点があった。本願は上
述の事情に鑑みてなされたものであり、対象画像の特徴
に応じて良好な量子化を行うことを第1の目的としてい
る。
【0010】また、本願の第2の目的は、画像データの
下地に発生するノイズを好適に除去し、画像データを量
子化するための量子化数を好適に判定することにある。
また、本願の第3の目的は、色文字を良好に抽出するこ
とにある。また、本願の第4の目的は、スキャナ等で読
み取った原稿画像の画像データの下地に発生するノイズ
を好適に除去することができ、画像データによる出力画
像の画質を向上することにある。
【0011】また、画像データの下地に発生するノイズ
を好適に除去することで、画像データを属性毎の領域に
分離する像域分離処理の精度を向上すること、また、画
像データの下地に発生するノイズを好適に除去し、ノイ
ズを除去した画像データから好適な下地の濃度を判定
し、その判定された濃度を下地の濃度として出力するこ
とで、画像データの符号化効率を向上することにある。
【0012】
【課題を解決するための手段】上記の第1の目的を達成
するための本発明による画像処理装置は以下の構成を備
える。即ち、画像処理装置であって、画像を表す多値画
像データを入力する入力手段と、前記多値画像データよ
り2値画像データを抽出する抽出手段と、前記2値画像
データに基づいて、前記画像を複数のブロックに分割す
る分割手段と、前記ブロック内の前記多値画像データを
量子化する量子化手段を備え、前記多値画像データの量
子化数は前記ブロック単位で決定される。
【0013】上記の第2の目的を達成するための本発明
による画像処理装置は以下の構成を備える。即ち、画像
データの濃度の頻度の分布を生成する生成手段と、前記
生成手段によって生成された分布の最大頻度を含み、所
定の閾値以上の頻度を有する濃度領域を判定する判定手
段と、前記判定手段で判定された濃度領域以外の前記分
布に含まれる極大値の数に基づいて、量子化数を決定す
る第1決定手段とを備える。
【0014】上記の第3の目的を達成するための本発明
によるカラー画像処理装置は以下の構成を備える。即
ち、カラー画像処理装置であって、カラー画像を表すカ
ラー画像データを入力する入力手段と、前記カラー画像
データの頻度ヒストグラムを生成する生成手段と、前記
頻度ヒストグラムから複数の極値を検索する検索手段
と、前記カラー画像データから色文字を抽出する抽出手
段と、前記色文字の色数は、前記極大値に基づいて決定
される。
【0015】上記の第4の目的を達成するための本発明
による画像処理装置は以下の構成備える。即ち、画像デ
ータの濃度の頻度の分布を生成する生成手段と、前記生
成手段によって生成された分布に基づいて、所定の閾値
を算出する算出手段と、前記生成手段で生成された分布
の最大頻度となる濃度を抽出する抽出手段と、前記最大
頻度となる濃度を含み、前記所定の閾値以上の頻度を有
する濃度領域を判定する判定手段と、前記濃度領域内の
濃度を持つ前記画像データの濃度を一律に前記最大頻度
となる濃度で出力する出力手段とを備える。
【0016】
【発明の実施の形態】以下、図面を参照して本発明の好
適な実施の形態を詳細に説明する。 <第1の実施の形態>図1は第1の実施の形態の画像処
理装置の構成を示すブロック図である。図1において、
1は原稿画像を入力する画像入力部であり、CCDセン
サなどの光電変換手段を含むイメージスキャナ等で構成
される。ここでは入力する原稿画像を白黒の多値画像
(8ビット/画素)として説明を行う。2は画像入力部
1より得られる原稿画像の画像データを記憶しておくフ
レームメモリである。
【0017】3はフレームメモリ2から読み出された画
像データ(8ビット/画素の多値画像データ)の画素値
のヒストグラムを作成するヒストグラム生成部である。
尚、ヒストグラム生成部3は、256個のカウンタで構
成され、各カウンタは読み出される画像データ(8ビッ
ト/画素の多値画像データ)の画素値に対応しており、
多値画像データが読み出されるたびにその画素値に対応
するカウンタに1が加えられる。
【0018】4はヒストグラムから、出力頻度の最大値
とその最大値を持つ画素値を出力する最大頻度検出部で
ある。5は最大頻度検出部4で検出された最大値から頻
度分布(ヒストグラム)を量子化するための量子化ステ
ップqを決定する量子化ステップ算出部である。6は量
子化ステップ算出部5で算出された量子化ステップでヒ
ストグラムを量子化する量子化部である。7は101個
のカウンタで構成され、量子化部6の出力のヒストグラ
ムを生成するヒストグラム生成部である。8はノイズ閾
値決定部であり、ヒストグラム生成部7の出力と量子化
ステップ算出部5で算出された量子化ステップqから頻
度上のノイズを除去するための頻度ノイズ閾値を決定す
る。
【0019】9はノイズ閾値決定部8で決定された頻度
ノイズ閾値とヒストグラム生成部3で生成されたヒスト
グラムを比較する比較部である。10は最大頻度検出部
4で検出された最大値と比較部9の出力から下地を構成
する濃度の幅を求める下地濃度幅検出部である。11は
下地濃度幅検出部10で検出された下地を構成する濃度
の幅を外部装置に出力する端子である。12は最大頻度
検出部4で検出された下地の濃度を外部装置に出力する
端子である。13はフレームメモリ2の内容を外部装置
に出力する端子である。
【0020】尚、図1で示される画像処理装置の各構成
要素は、不図示のCPUで制御されるものとする。次
に、図1を用いて、画像処理装置において実行される処
理について説明する。まず、処理に先立ち、不図示のC
PUはフレームメモリ2と、ヒストグラム生成部3、ヒ
ストグラム生成部7のカウンタの内容を0にクリアす
る。
【0021】続いて、CPUはユーザの指示に従って、
画像入力部1から白黒多値画像(8ビット/画素)を表
す画像データを入力し、その画像データをフレームメモ
リ2に格納する。1画像分の画像データがフレームメモ
リ2に格納された後、CPUは、フレームメモリ2から
画像データを読み出し、ヒストグラム生成部3に入力す
る。ヒストグラム生成部3の256個のカウンタは、入
力される画像データの画素値に対応しており、1画素の
画像データが入力されるとその画素値に対応するカウン
タの内容に1を加える。
【0022】入力された画像データの全ての画素によっ
てヒストグラムが生成された後、CPUは最大頻度検出
部4を動作させ、ヒストグラムの中で出力頻度が最大値
を持つ画素値を検出する(つまり、カウンタの値が最大
となる画素値)。そして、その検出される出力頻度の最
大値mと、対応する画素値を出力する。また、この対応
する画素値は下地の濃度を示すので、この濃度を下地代
表濃度bと呼ぶ。この下地代表濃度bは端子12から出
力される。
【0023】検出された出力頻度の最大値mは量子化ス
テップ算出部5に入力される。量子化ステップ算出部5
では、ヒストグラムを正規化するための量子化ステップ
qを(1)式に従って決定する。 q=m/100 …(1) 決定された量子化ステップqは量子化部6に入力され
る。量子化ステップqが入力されたら、量子化部6はヒ
ストグラム生成部3で生成される出力頻度値h(i)
(i=0〜255)(ヒストグラム)を画素値の低い方
であるh(0)から順に読み出し、(2)式によって量
子化し、その量子化結果r(i)(i=0〜255)を
得る。
【0024】 r(i)=h(i)//q (i=0〜255) …(2) 尚、記号//は割り算後に小数点以下を四捨五入するこ
とを表わす。ヒストグラム生成部7は量子化部6の出力
のヒストグラムを生成する。101個のカウンタは、量
子化結果r(i)の値に対応しており、対応するカウン
タの内容に1を加える。
【0025】量子化結果r(i)の全てについてヒスト
グラムの生成が終えたら、ノイズ閾値決定部8を動作さ
せ、ヒストグラム生成部7のカウンタの内容からノイズ
閾値noise_thを決定する。ノイズ閾値決定部8は、ヒス
トグラム生成部7のカウンタの内容から最大値をとる量
子化結果mrの値を検出し、量子化ステップqを掛けた
後、予め設定された値αを加算して得られる値をノイズ
閾値として算出する。つまり、(3)式によって得られ
る値をノイズ閾値noise_thとして算出する。
【0026】noise_th=mr×q+α …(3) ノイズ閾値決定部8で算出されたノイズ閾値noise_th
は、比較部9に入力される。続いて、ヒストグラム生成
部3の各カウンタの内容を順に読み出し、ノイズ閾値no
ise_thと比較し、出力頻度値h(i)がノイズ閾値nois
e_thより大きければその値を出力し、小さければ「0」
を出力する。その結果は下地濃度幅検出部10に入力さ
れる。
【0027】下地濃度幅検出部10は、最大頻度検出部
4から下地代表濃度bと比較部9から入力された値か
ら、下地を構成する画素の濃度の幅を算出する。この幅
は、下地代表濃度bを中心として最近傍の画素値におい
て、出力頻度が0になっている値を検出する。図2を用
いて、その検出する過程を示す。尚、図2には、ある原
稿画像の画像データが持つ画素値とその出力頻度の関係
を示しており、横軸に画素値、縦軸に出力頻度で表して
いる。
【0028】まず、下地代表濃度bから画素値の低い方
へ出力頻度の検査を行い、頻度が0になった値bt0を
求める。この値が濃度幅の下限値となるので濃度幅下限
値と呼ぶ。同様に、画素値の高い方へ出力頻度の検査を
行い、濃度が0になった値bt1を求める。この値が濃
度幅の上限値となるので濃度幅上限値と呼ぶ。尚、この
濃度幅下限値bt0と濃度幅上限値bt1は端子11から
出力される。
【0029】次に第1の実施の形態で実行される処理に
ついて、図3のフローチャートを用いて説明する。図3
は第1の実施の形態で実行される処理の処理フローを示
すフローチャートである。まず、処理に先立ち、不図示
のCPUはフレームメモリ2と、ヒストグラム生成部
3、ヒストグラム生成部7のカウンタの内容を0にクリ
アする。
【0030】ステップS3010で、続いて、CPUは
ユーザの指示に従って、画像入力部1から白黒多値画像
(8ビット/画素)である原稿画像を読み込み、その画
像データをフレームメモリ2に格納する。ステップS3
020で、原稿画像分の画像データがフレームメモリ2
に格納された後、CPUは、フレームメモリ2から画像
データを読み出し、ヒストグラム生成部3に入力し、入
力された画像データの全ての画素によってヒストグラム
を生成する。
【0031】ステップS3030で、CPUは最大頻度
検出部4を動作させ、ヒストグラムの中で出力頻度が最
大値を持つ画素値を下地代表濃度bとして抽出する。ス
テップS3040で、量子化ステップ算出部5で、ヒス
トグラムを正規化するための量子化ステップqを決定
し、決定された量子化ステップqを量子化部6に入力す
る。量子化部6は、決定された量子化ステップqに基づ
いて、ヒストグラム生成部3で生成されたヒストグラム
を量子化し、ヒストグラム生成部7で量子化部6の出力
のヒストグラムを生成する。
【0032】ステップS3050で、ノイズ閾値決定部
8を動作させ、量子化されたヒストグラムからノイズ閾
値noise_thを算出する。ステップS3060では、各出
力頻度値h(i)について、比較部9において、ヒスト
グラム生成部3で生成されたヒストグラムの出力頻度値
h(i)がノイズ閾値noise_thよりも大きいか否かを比
較する。ノイズ閾値noise_thが出力頻度値よりも小さい
場合(ステップS3060でNO)、ステップS307
0で、その値を出力する。一方、ノイズ閾値noise_thが
出力頻度値よりも大きい場合(ステップS3060でY
ES)、ステップS3080で、「0」を出力する。ス
テップS3080aで、全ての画素値について、ステッ
プS3060の処理が終了したか否かを判定し、終了す
るまで順次ステップS3060〜ステップS3080を
繰り返す。
【0033】ステップS3090で、下地濃度幅検出部
10は、最大頻度検出部4から下地代表濃度bと比較部
9から入力された値から、下地を構成する画素の濃度の
幅として濃度幅下限値bt0と濃度幅上限値bt1を抽出
する。次に、第1の実施の形態で説明される画像処理装
置の適用例を説明する。例えば、図4に示されるような
画像通信装置に適用させた場合に、実行される動作とそ
の構成を説明する。
【0034】図4は第1の実施の形態の画像処理装置を
適用させた画像通信装置の構成を示すブロック図であ
る。図4において、20は第1の実施の形態の図1に示
される画像処理装置である。21は、画像処理装置20
の端子11から出力された濃度幅下限値bt0と濃度幅
上限値bt1と、端子13から出力されたフレームメモ
リ2の内容を比較する比較部である。22はラッチであ
り、タイミング調整を行う。23はセレクタであり、比
較部21の出力によって、ラッチ22の出力と画像処理
装置20の端子12から出力される下地代表濃度bを選
択して出力する。
【0035】24は入力された画像データを、直交変
換、量子化、ハフマン符号化を用いた多値画像データの
符号化であるJPEG符号化を行うJPEG符号化部で
ある。25は通信プロトコルに合わせてJPEG符号化
データを送信する通信インタフェースである。26は電
話回線やLANで構成される通信回線である。次に図4
で実行される処理の概要を説明する。
【0036】画像処理装置20のフレームメモリ2から
画像データを画素順で読み込み、端子13を介してラッ
チ22に格納する。同時に比較部21は、端子13より
入力された画素値と、端子11より入力された濃度幅下
限値bt0と濃度幅上限値bt1を比較し、入力画素値が
濃度幅下限値bt0と濃度幅上限値bt1の間にあれば
「1」を、そうでなければ「0」を出力する。
【0037】セレクタ23は、比較部21の出力が
「1」であれば、端子12から出力された下地代表濃度
bを選択して出力する。一方、「0」であれば、ラッチ
22でラッチされている値を出力する。JPEG符号化
部24は、セレクタ23より入力された画素値に対し、
JPEG符号化を施し、通信インタフェース25を介し
て通信回線26に出力する。以上の処理を、フレームメ
モリ2の全ての画像データについて行い、送信を終了し
たら全ての動作を終了する。
【0038】以上のようなJPEG符号化の前処理を行
うことにより、入力画像の下地を整え、符号化効率を向
上させることができる。尚、上述の実施の形態では、J
PEG符号化を用いたが、符号化方法としては、他のブ
ロック符号化、差分符号化などを用いても良い。以上説
明したように、第1の実施の形態によれば、画像データ
の画素値のヒストグラムに基づいて、下地代表濃度bと
下地の濃度幅上限値bt1と濃度幅下限値bt0を抽出
し、濃度幅上限値bt1と濃度幅下限値bt0の範囲内に
含まれる画素値をすべて下地代表濃度bとして出力する
ことで、一定した好適な下地の濃度を出力することがで
きる。また、画素値のヒストグラムを量子化し、量子化
されたヒストグラムに基づいて、ノイズ閾値noise_thを
算出し、その算出されたノイズ閾値noise_thを用いるこ
とで、下地の濃度として出力される出力頻度のノイズを
好適に除去することができる。
【0039】また、白黒画像に対して、従来より高速で
比較的小さい回路規模で好適な下地の濃度判定が可能に
なり、その結果、下地のノイズを好適に除去できる。ま
た、ノイズによる影響を取り除き、下地を一定濃度にす
ることができるので、符号化効率を向上させることがで
きる。 <第2の実施の形態>第1の実施の形態では、白黒多値
画像の原稿画像の下地の濃度幅と好適な下地濃度を判定
する画像処理装置について説明した。第2の実施の形態
では、カラー多値画像の原稿画像の下地の濃度幅と好適
な下地濃度の判定において、特に、カラー多値画像より
得られる輝度画像データを用いて判定を行う下地濃度幅
判定部109(図6参照)を備える画像処理装置につい
て説明する。
【0040】図5は第2の実施の形態の画像処理装置の
構成を示すブロック図である。図5において、101は
原稿画像を入力する画像入力部であり、カラーイメージ
スキャナ等で構成される。ここでは入力する原稿画像を
カラー多値画像とし、RGB各色ごとに1画素あたり8
ビットの精度をつ画像データとして説明を行う。102
は原稿画像をCIE1976L***画像データ(各
成分8ビット)に変換する色変換部である。103は色
変換部102より得られる原稿画像のL ***画像デ
ータを記憶しておくフレームメモリである。
【0041】104はCIE1976L***画像デ
ータの輝度を表わすL*画像データから入力画素が、平
坦画素であるか否かを判定する平坦画素判定部である。
105はラッチであり、制御信号によってその内容を出
力するか否かを決定する。106〜108は読み込まれ
たL*、a*、b*画像データの画素値のヒストグラムを
作成するヒストグラム生成部である。
【0042】尚、ヒストグラム生成部106〜108
は、それぞれ256個のカウンタで構成され、各カウン
タは読み込まれる画像データの画素値に対応しており、
1画素の画像データの入力に対してその画素値に対応す
るカウンタに1が加えられる。ヒストグラム生成部10
6はL*画像データ、ヒストグラム生成部107はa*
像データ、ヒストグラム生成部108はb*画像データ
のヒストグラムを生成する。
【0043】109はL*画像データのヒストグラムか
ら下地を構成する画素のL*画像データの下地表示濃度
bと濃度幅下限値bt0と濃度幅上限値bt1を決定する
下地濃度判定部である。110、111は各ヒストグラ
ム生成部107、108より生成されるヒストグラムか
ら、最大出力頻度を持つ画素値を検出する最大頻度検出
部である。
【0044】112は下地代表濃度bLを、113は下
地を構成する濃度の幅(濃度幅下限値bt0と濃度幅上
限値bt1)を外部装置に出力する端子である。114
はa*画像データの最大出力頻度を持つa*画像データの
画素値を外部に出力する端子である。115は画像デー
タの最大頻度を持つb*画像データの値を外部装置に出
力する端子である。116はフレームメモリ103の内
容を外部装置に出力する端子である。
【0045】尚、図5で示される画像処理装置の各構成
要素は、不図示のCPUで制御されるものとする。次
に、図5を用いて、画像処理装置において実行される処
理について説明する。まず、処理に先立ち、不図示のC
PUはフレームメモリ103と、ヒストグラム生成部1
06〜108のカウンタの内容を0にクリアする。
【0046】続いて、CPUはユーザの指示に従って、
画像入力部101からRGBカラー多値画像である原稿
画像を読み込み、色変換部102によってL***
像データに変換し、フレームメモリ103に格納する。
原稿画像分のL***画像データがフレームメモリ1
03に格納された後、CPUは、フレームメモリ103
からL***画像データを読み出し、平坦画素判定部
104とラッチ105に入力する。
【0047】平坦画素判定部104は入力画素とその周
囲の画素のL***画像データを入力する。フレーム
メモリ103上に格納されるL*、a*、b*画像データ
のそれぞれの座標をL(x,y)、a(x,y)、b
(x,y)とした時、L** *画像データの各エッジ
量eL、ea、ebを以下の(4)式によって算出す
る。
【0048】 eL=max((|L(x,y))−L(x−1,y−1)|) ((|L(x,y))−L(x ,y−1)|) ((|L(x,y))−L(x+1,y−1)|) ((|L(x,y))−L(x−1,y )|) ((|L(x,y))−L(x+1,y )|) ((|L(x,y))−L(x−1,y+1)|) ((|L(x,y))−L(x ,y+1)|) ((|L(x,y))−L(x+1,y+1)|) ea=max((|a(x,y))−a(x−1,y−1)|) ((|a(x,y))−a(x ,y−1)|) ((|a(x,y))−a(x+1,y−1)|) ((|a(x,y))−a(x−1,y )|) ((|a(x,y))−a(x+1,y )|) ((|a(x,y))−a(x−1,y+1)|) ((|a(x,y))−a(x ,y+1)|) ((|a(x,y))−a(x+1,y+1)|) eb=max((|b(x,y))−b(x−1,y−1)|) ((|b(x,y))−b(x ,y−1)|) ((|b(x,y))−b(x+1,y−1)|) ((|b(x,y))−b(x−1,y )|) ((|b(x,y))−b(x+1,y )|) ((|b(x,y))−b(x−1,y+1)|) ((|b(x,y))−b(x ,y+1)|) ((|b(x,y))−b(x+1,y+1)|) …(4) これらのエッジ量eL、ea、ebと閾値Th1を比較
し、全てが閾値Th1以下であれば「1」を、そうでな
ければ「0」を出力する。
【0049】ラッチ105は平坦画素判定部104から
の出力が「0」の時は、格納されているL*、a*、b*
画像データを出力せず、ヒストグラム生成部106〜1
08は処理を行わない。一方、平坦画素判定部104か
らの出力が「1」の時は、格納されているL*、a*、b
*画像データを対応するヒストグラム生成部106〜1
08に出力する。
【0050】そして、ヒストグラム生成部106ではL
*画像データのヒストグラムを作成する。同様に、ヒス
トグラム生成部107ではa*画像データのヒストグラ
ム、ヒストグラム生成部108ではb*画像データのヒ
ストグラムを生成する。フレームメモリ103内の全て
の画素の平坦画素検出、ヒストグラム処理を終了した
後、下地濃度判定部109、最大頻度検出部110、1
11を起動させる。
【0051】ここで、下地濃度判定部109の詳細な構
成について、図6を用いて説明する。図6は第2の実施
の形態の下地濃度判定部109の詳細な構成を示すブロ
ック図である。図において、120は端子であり、ヒス
トグラム生成部106から入力されるヒストグラムの各
出力頻度値を入力する。121は最大頻度検出部であ
り、ヒストグラム生成部106のヒストグラムから、出
力頻度の最大値とその最大値を持つ画素値を出力する最
大頻度検出部である。
【0052】122は最大頻度検出部121で検出され
た最大値から頻度分布(ヒストグラム)を量子化するた
めの量子化ステップqを決定する量子化ステップ算出部
である。123は量子化ステップ算出部122で算出さ
れた量子化ステップqでヒストグラムを量子化する量子
化部である。124は101個のカウンタで構成され、
量子化部123の出力のヒストグラムを生成するヒスト
グラム生成部である。125はノイズ閾値決定部であ
り、ヒストグラム生成部124の出力と量子化ステップ
算出部122で算出された量子化ステップqから頻度上
のノイズを除去するための頻度ノイズ閾値を決定する。
【0053】126はノイズ閾値決定部125で決定さ
れた頻度ノイズ閾値とヒストグラム生成部106で生成
されたヒストグラムを比較する比較部である。127は
最大頻度検出部121で検出された最大値と比較部12
6の出力から下地を構成する濃度の幅を求める下地濃度
幅検出部である。129は下地濃度幅検出部127で検
出された下地を構成する濃度の幅を外部装置に出力する
端子である。128は最大頻度検出部121で検出され
た下地の濃度(最大値)を外部装置に出力する端子であ
る。
【0054】次に、図6を用いて、下地濃度判定部10
9で実行される処理について説明する。入力された画像
データの全ての画素についてヒストグラムを生成した
後、CPUは最大頻度検出部121を動作させ、ヒスト
グラムの中で出力頻度が最大値を持つ画素値を検出する
(つまり、カウンタの値が最大となる画素値)。そし
て、その検出される出力頻度の最大値mと、対応する画
素値を出力する。また、この対応する画素値はL*の下
地の濃度を示すので、この濃度を下地代表濃度bLと呼
ぶ。この下地代表濃度bLは端子128から出力され
る。
【0055】検出された出力頻度の最大値mは量子化ス
テップ算出部122に入力される。量子化ステップ算出
部122では、ヒストグラムを正規化するための量子化
ステップqを第1の実施の形態で説明される(1)式に
従って決定する。決定された量子化ステップqは量子化
部123に入力される。量子化ステップqが入力された
ら、量子化部123はヒストグラム生成部106で生成
される出力頻度値h(i)(i=0〜255)を画素値
の低い方から順に読み出し、第1の実施の形態で説明さ
れる(2)式によって量子化し、その量子化結果r
(i)(i=0〜255)を得る。
【0056】ヒストグラム生成部124は量子化部12
3の出力のヒストグラムを生成する。101個のカウン
タは、量子化結果r(i)の値に対応しており、対応す
るカウンタの内容に1を加える。このカウンタの内容を
頻度値rh(k)(k=0〜100)とする。量子化結
果r(i)の全てについてヒストグラムの生成が終えた
後、ノイズ閾値決定部125を動作させ、ヒストグラム
生成部124のカウンタの内容、頻度値rh(k)から
最大値をとる量子化結果mrの値と、kがmr以上の頻
度値rh(k)で最初の極小値をとるmtを検出する。
そして、極小値mtに量子化ステップqを掛けた後、予
め設定された値βを加算して得られる値を、ノイズ閾値
noise_thとして算出する。
【0057】ノイズ閾値決定部125で算出されたノイ
ズ閾値noise_thは、比較部126に入力される。続い
て、ヒストグラム生成部106の各カウンタの内容を順
に読み出し、ノイズ閾値noise_thと比較し、出力頻度値
h(i)がノイズ閾値noise_thより大きければその値を
出力し、小さければ「0」を出力する。その結果は下地
濃度幅検出部127に入力される。
【0058】下地濃度幅検出部127は、最大頻度検出
部121から下地代表濃度bLと比較部126から入力
された値から、下地を構成する画素の濃度の幅を算出す
る。この幅は、下地代表濃度bLを中心として最近傍の
画素値において、出力頻度が0になっている値を検出す
る。この値は、上述の第1の実施の形態で説明される濃
度幅下限値値bt0と濃度幅上限値bt1であり、同様の
方法で検出する。この濃度幅下限値bt0と濃度幅上限
値bt1は端子129から出力される。
【0059】再び、図5の画像処理装置で実行される処
理について説明する。最大頻度検出部110は、ヒスト
グラム生成部107で生成されたヒストグラムの中で出
力頻度が最大値を持つ画素値を検出する(つまり、カウ
ンタの値が最大となる画素値)。そして、その検出され
る出力頻度の最大値mと、対応する画素値を出力する。
また、この対応する画素値はa*の下地の濃度を示すの
で、この濃度を下地代表濃度baと呼ぶ。この下地代表
濃度baは端子114から出力される。
【0060】最大頻度検出部111は、ヒストグラム生
成部108で生成されたヒストグラムの中で出力頻度が
最大値を持つ画素値を検出する(つまり、カウンタの値
が最大となる画素値)。そして、その検出される出力頻
度の最大値mと、対応する画素値を出力する。また、こ
の対応する画素値はb*の下地の濃度を示すので、この
濃度を下地代表濃度bbと呼ぶ。この下地代表濃度bb
は端子115から出力される。
【0061】図7は第2の実施の形態で実行される処理
の処理フローを示すフローチャートである。まず、処理
に先立ち、不図示のCPUはフレームメモリ103と、
ヒストグラム生成部106〜108のカウンタの内容を
0にクリアする。ステップS701で、続いて、CPU
はユーザの指示に従って、RGBの色成分で表されるカ
ラー多値画像である原稿画像を読み込み、色変換部10
2によってL***画像データに変換し、フレームメ
モリ103に格納する。
【0062】ステップS702で、原稿画像分のL**
*画像データがフレームメモリ103に格納された
後、CPUは、フレームメモリ103からL***
像データを読み出し、平坦画素判定部104とラッチ1
05に入力する。平坦画素判定部104は入力画素とそ
の周囲の画素のL***画像データを入力する。フレ
ームメモリ103上に格納されるL*、a*、b*画像デ
ータの各画素のエッジ量eL、ea、ebを算出する。
そして、これらのエッジ量eL、ea、ebと閾値Th
1を比較する。全てが閾値Th1以下である場合、入力
画素が平坦が画素であると判定し、そうでない場合は、
エッジ画素であると判定する。平坦画素であった場合の
みステップS703に進み、ヒストグラムを生成する。
【0063】ステップS703で、L*、a*、b*画像
データを対応するヒストグラム生成部106〜108に
出力し、各ヒストグラム生成部106〜108におい
て、画像データの全ての画素によってヒストグラムを生
成する。ステップS704で、CPUは最大頻度検出部
121を動作させ、L*画像データのヒストグラムの中
で出力頻度が最大値を持つ画素値を下地代表濃度bLと
して抽出する。ステップS705で、量子化ステップ算
出部122で、ヒストグラムを正規化するための量子化
ステップqを決定し、決定された量子化ステップqを量
子化部123に入力する。量子化部123は、決定され
た量子化ステップqに基づいて、ヒストグラム生成部1
06で生成されたヒストグラムを量子化し、ヒストグラ
ム生成部124で量子化部123の出力のヒストグラム
を生成する。 ステップS705で、ノイズ閾値決定部
125を動作させ、量子化されたヒストグラムからノイ
ズ閾値noise_thを算出する。ステップS706で、比較
部126において、ノイズ閾値noise_thがヒストグラム
生成部106で生成されたヒストグラムの出力頻度値よ
りも大きいか否かを比較する。ノイズ閾値noise_thが出
力頻度値よりも大きい場合(ステップS706でYE
S)、ステップS708に進む。一方、ノイズ閾値nois
e_thが出力頻度値よりも小さい場合(ステップS706
でNO)、ステップS707に進む。ステップS707
で、比較部126は、比較した画素値を下地濃度幅検出
部129に出力する。ステップS708で、比較部12
6は、「0」を下地濃度幅検出部129に出力する。ス
テップS708aで、全ての出力頻度値について、ステ
ップS706の処理が終了したか否かを判定し、終了す
るまで順次ステップS706〜ステップS708を繰り
返す。
【0064】ステップS709で、下地濃度幅検出部1
27は、最大頻度検出部121から下地代表濃度bLと
比較部126から入力された値から、下地を構成する画
素の濃度の幅として濃度幅下限値bt0と濃度幅上限値
bt1を抽出する。ステップS710で、最大頻度検出
部110は、ヒストグラム生成部107で生成されたヒ
ストグラムの中で出力頻度が最大値を持つ画素値をa*
の下地代表濃度baとして抽出する。ステップS711
で、最大頻度検出部111は、ヒストグラム生成部10
8で生成されたヒストグラムの中で出力頻度が最大値を
持つ画素値をb*の下地代表濃度bbとして抽出する。
【0065】次に、第2の実施の形態で説明される画像
処理装置の適用例を説明する。例えば、図8に示される
ようなプリンタ装置に適用させた場合に、実行される動
作とその構成を説明する。図8は第2の実施の形態の画
像処理装置を適用させたプリンタ装置の構成を示すブロ
ック図である。
【0066】図8において、140は第2の実施の形態
の図5に示される画像処理装置である。141は白色下
地判定部であり、画像処理装置140の端子112から
*画像データの下地代表濃度bLを、画像処理装置1
40の端子112からa*画像データの下地代表濃度b
aを、画像処理装置140の端子115からb*画像デ
ータの下地代表濃度bbを入力し下地が実質的に白色か
否かを判定する。
【0067】142は画像処理装置140の端子113
から出力された濃度幅下限値bt0と濃度幅上限値bt1
と、画像処理装置140の端子116から出力されたフ
レームメモリ103のL***画像データを比較する
比較部である。143はラッチであり、タイミング調整
を行う。144はセレクタであり、比較部142の出力
によって、ラッチ143の出力または、画像処理装置1
40の端子112から出力される下地代表濃度bL、端
子114から出力される下地代表濃度ba、端子115
から出力される下地代表濃度bbを選択して出力する。
【0068】145は入力されたL***画像データ
をプリンタのYMCKインクに最適な値に変換する色変
換部である。146はYMCK画像データを誤差拡散方
式で2値化する2値化部である。147はYMCKのイ
ンクで2値記録を行う2値プリンタである。次に、図8
で実行される処理について説明する。
【0069】画像処理装置140のフレームメモリ10
3から画像データを画素順で読み込み、端子116を介
してラッチ143に格納する。同時に比較部142は、
端子116より入力された画素値と、端子113より入
力された濃度幅下限値bt0と濃度幅上限値bt1を比較
し、入力画素値が濃度幅下限値bt0と濃度幅上限値b
t1の間にあれば「1」を、そうでなければ「0」を出
力する。
【0070】また、白色下地判定部141はL*、a*
*画像データの下地代表濃度であるbL、ba、bb
をそれぞれ端子112、114、115より入力し、
(5)式に従って色差eを算出する。 e=√((255−bL)2+ba2+bb2) …(5) 色差eを閾値Th2と比較し、閾値Th2以下であれば
下地代表濃度bL、ba、bbの値を255、0、0と
して出力する。一方、閾値Th2以上であれば入力され
た値をそのまま出力する。
【0071】そして、セレクタ144は比較部142の
出力が「1」であれば、下地代表濃度bL、ba、bb
を選択して出力し、「0」であれば、ラッチ143の値
を出力する。色変換部145は、セレクタ144より入
力されるL***画像データを、YMCK画像データ
に変換して出力する。変換された画像データは2値化部
146に入力され、誤差拡散方式によって2値化され
る。そして、2値化部146で2値化された画像データ
は、2値プリンタ147で、記録媒体に記録される。
【0072】以上の処理を、フレームメモリ103の全
ての画素について、終了したら全ての動作を終了する。
以上説明したように、第2の実施の形態によれば、画像
データの画素値のヒストグラムに基づいて、L*画像デ
ータの下地代表濃度bLと下地の濃度幅上限値bt1と
濃度幅下限値bt0を抽出し、濃度幅上限値bt1と濃度
幅下限値bt0の範囲内に含まれる画素値をすべて下地
代表濃度bL、ba、bbとして出力することで、一定
した好適な下地の色を出力することができる。また、L
*画像データの画素値のヒストグラムを量子化し、量子
化されたヒストグラムに基づいて、ノイズ閾値noise_th
を算出し、算出されたノイズ閾値noise_thを用いること
で、下地の濃度として出力される出力頻度のノイズを好
適に除去することができる。
【0073】また、カラー画像に対して、従来より高速
で比較的小さい回路規模で好適な下地の濃度判定が可能
になり、その結果、下地のノイズを好適に除去できる。
また、L*、a*、b*画像データの平坦画素を抽出する
ことにより、下地の濃度判定の精度を向上することがで
きる。更に、ノイズによる影響を取り除き、下地を一定
濃度にすることができるので、2値画像の記録品質を向
上できる。更に、また、下地代表濃度bLと比較するこ
とで、下地領域への記録を抑制できるので、さらに好印
象の記録を得られる。
【0074】<第3の実施の形態>第3の実施の形態で
は、領域内に複数色が含まれている場合、輝度画像から
異なる色が含まれていることを検知する処理を行うプロ
グラムを、例えば、ROM等の記憶媒体に記憶させ、そ
のプログラムを実行することで、本発明で説明される処
理を行う。
【0075】図9は第3の実施の形態の画像処理装置の
構成を示すブロック図である。図9おいて、201は後
述する第3の実施の形態で説明される処理(図10〜2
1のフローチャート参照)を実行する実行プログラムに
よって動作し、装置を構成する各構成要素の制御を行う
CPUである。202はその実行プログラムを格納し、
実行プログラムを実行するのに必要な記憶容量を確保す
るプログラムメモリである。203はユーザが実行プロ
グラムの実行等の各種指示を入力する端末である。20
4は磁気ディスク等で構成される記憶装置である。20
5は原稿画像の読み込みを行うカラーイメージスキャナ
である。ここではカラー多値画像データ(RGB各8ビ
ット)の原稿画像を読み込むこととする。206はカラ
ー多値画像データをRGBの形態で原稿画像分格納する
多値フレームメモリである。
【0076】207はカラー多値画像データを2値化し
て得られる2値画像データを、原稿画像分格納する2値
フレームメモリである。208は通信プロトコルに合わ
せて符号化データを送信する通信インタフェース(通信
I/F)である。209は電話回線やLANで構成され
る通信回線である。210は装置を構成する各構成要素
を接続し、画像データ等の各種データや制御信号を授受
するバスである。
【0077】以下、第3の実施の形態で実行される処理
について、図10〜図21のフローチャートを用いて説
明する。尚、第3の実施の形態では、例えば、ユーザの
指示によって、原稿画像をスキャナ205より読み込
む。そして、読み込んで得られる画像データを2値化
し、2値化して得られる2値画像データの領域分割を行
う。分割された各領域の属性を像域分離処理によって判
定し、判定された属性に基づいて2値画像データに含ま
れる各領域を量子化するための量子化数を決定する。更
に、決定された量子化数に基づいて、各領域の構造化デ
ータを生成し、生成された構造化データを記憶装置20
4に格納するまでの処理を、例に挙げて説明する。
【0078】尚、構造化データとは、各領域の属性に基
づいて、領域に対応する2値画像データを好適に符号化
した符号化データのことである。まず、図10〜図12
のフローチャートを用いて、スキャナ205にセットさ
れた原稿画像を、端末203から装置を起動すること
で、原稿画像の画像データを読み込み、読み込まれた画
像データに基づいて、画像データの下地代表濃度bg_val
ueと濃度幅下限値bt0と濃度幅上限値bt1を算出する
までの処理について説明する。
【0079】図10〜図12は第3の実施の形態によっ
て実行される画像データの下地代表濃度bg_valueと濃度
幅下限値bt0と濃度幅上限値bt1を算出する処理の処
理フローを示すフローチャートである。図10におい
て、ステップS001で、CPU201はスキャナ20
5から画像データを読み込み、多値フレームメモリ20
6に格納する。続いて、ステップS029、で多値フレ
ーム206に格納されたカラー画像から、YCbCr画
像データの輝度を表すY画像データp(x,y)を生成
し、プログラムメモリ202上に格納する。次に、ステ
ップS002で、プログラムメモリ202上に展開され
る輝度画像データの各画素データp(x,y)の画素値
をカウントするカウンタを0にリセットする。尚、カウ
ンタは256個の頻度hist_pixel[i](i=0〜25
5)からなり、例えば、画素値がiの画素データは、頻
度hist_pixel[i]にカウントされる。また、各カウン
タでカウントされる値は各画素値の出力頻度を示す。
【0080】ステップS003で、プログラムメモリ2
02上より輝度画像データの画素データp(x,y)の
画素値を順次読み込み、すべての画素データp(x,
y)の画素値が読み込まれたか否かを判定する。そし
て、すべての画素データp(x,y)の画素値が読み込
まれるまでは、ステップS004で、順次読み込まれる
画素データp(x,y)の画素値に対応する頻度hist_p
ixel[p(x,y)]の内容を1インクリメントする。
【0081】そして、各画素データp(x,y)の画素
値の読み込みが終了したら、ステップS006に進む。
尚、各画素データp(x,y)の画素値の読み込みが終
了すると、頻度hist_pixel[i]に示される各画素値の
出力頻度によって、画像データの画素値の出力頻度のヒ
ストグラムが生成される。ステップS006で、生成さ
れたヒストグラムの各画素値の出力頻度と比較するため
の変数max_hist、比較の結果に基づいて決定される下地
代表濃度bg_value、比較した画素値の数をカウントする
ループカウンタiの内容を0にリセットする。
【0082】ステップS007で、生成されたヒストグ
ラムから各画素値の頻度hist_pixel[i]を読み込み、
すべての頻度hist_pixel[i]が読み込まれたか否かを
判定する。そして、すべての頻度hist_pixel[i]が読
み込まれるまでは、ステップS008で、順次読み込ま
れるhist_pixel[i]と変数max_histを比較する。頻度h
ist_pixel[i]が変数max_histより大きい場合(ステッ
プS008でYES)、ステップS009に進む。ステ
ップS009で、変数max_histに頻度hist_pixel[i]
を代入し、下地代表濃度bg_valueにループカウンタiの
内容を代入する。一方、頻度hist_pixel[i]が変数max
_histより小さい場合(ステップS008でNO)、ス
テップS010に進む。
【0083】ステップS010で、ループカウンタiの
内容を1インクリメントする。そして、すべての頻度hi
st_pixel[i]の比較が終了したら、つまり、ループカ
ウンタiの内容が255になったら、ステップS011
に進む。図11において、ステップS011で、ヒスト
グラムを正規化するための量子化ステップmax_hist/1
00を算出した後に、(6)式に従って、量子化頻度hi
st_q[i]を算出する。
【0084】 hist_q[i]= hist_pixel[i]//(max_hist/100) …(6) 尚、記号//は割り算後に小数点以下を四捨五入するこ
とを表す。次に、ステップS012で、各量子化頻度hi
st_q[i]の値をカウントするカウンタhist_hist[i]
の内容を0にリセットする。ステップS013で、読み
込まれる量子化頻度hist_q[i]の数をカウントするル
ープカウンタiの内容を0にリセットする。
【0085】ステップS014で、読み込まれる量子化
頻度hist_q[i]を順次読み込み、すべての量子化頻度h
ist_q[i]が読み込まれたか否かを判定する。そして、
すべての量子化頻度hist_q[i]が読み込まれるまで
は、ステップS015で、順次読み込まれる量子化頻度
hist_q[i]の出力値をカウンタhist_hist[hist_q
[i]]でカウントする。ステップS016で、ループ
カウンタiの内容を1インクリメントする。
【0086】そして、全ての量子化頻度hist_q[i]の
読み込みが終了したら、ステップS017に進む。尚、
全ての量子化頻度hist_q[i]の読み込みが終了する
と、各カウンタhist_hist[i]に示される値によって、
量子化頻度hist_q[i]のヒストグラムが生成される。
ステップS017で、生成されたヒストグラムの各量子
化頻度hist_hist[i]と比較するための変数max_hist_
q、比較の結果に基づいて決定されるノイズ閾値noise_t
h、比較した量子化頻度hist_hist[i]の数をカウント
するループカウンタiの内容を0にリセットする。
【0087】ステップS018で、生成されたヒストグ
ラムから各量子化頻度hist_hist[i]を読み込み、すべ
ての量子化頻度hist_hist[i]が読み込まれたか否かを
判定する。そして、すべての量子化頻度hist_hist[i]
が読み込まれるまでは、ステップS019で、順次読み
込まれる量子化頻度hist_hist[i]と変数max_hist_qを
比較する。量子化頻度hist_hist[i]が変数max_hist_q
より大きい場合(ステップS019でYES)、ステッ
プS020に進む。ステップS020で、変数max_hist
_qに頻度hist_hist[i]を代入し、ノイズ閾値noise_th
にループカウンタiの内容を代入する。一方、量子化頻
度hist_hist[i]が変数max_hist_qより小さい場合(ス
テップS019でNO)、ステップS021に進む。
【0088】ステップS021で、ループカウンタiの
内容を1インクリメントする。そして、すべての量子化
頻度hist_hist[i]の比較が終了したら、つまり、ルー
プカウンタiの内容が255になったら、ステップS0
22に進む。図12において、ステップS022で、
(7)式に従って、新たなノイズ閾値noise_thを算出す
る。
【0089】 noise_th= (noise_th+γ)×(max_hist_q/100) …(7) ステップS023で、下地濃度下限値bt0として下地
代表濃度bg_valueから1を引いたものを算出する。ステ
ップS024で、順次、頻度hist_pixel[bt0]と新た
なノイズ閾値noise_thを比較する。そして、頻度hist_p
ixel[i]がノイズ閾値noise_thよりも小さくなるま
で、ステップS025で、下地濃度下限値bt0から1
デクリメントする。
【0090】そして、頻度hist_pixel[bt0]がノイズ
閾値noise_thよりも小さくなったら、ステップS026
で、下地濃度上限値bt1として下地代表濃度bg_value
から1を足したものを算出する。尚、頻度hist_pixel
[bt0]がノイズ閾値noise_thよりも小さくなった時の
下地濃度下限値bt0が、下地濃度下限値bt0となる。
ステップS027で、順次、頻度hist_pixel[bt1]と
新たなノイズ閾値noise_thを比較する。そして、頻度hi
st_pixel[bt1]がノイズ閾値noise_thよりも小さくな
るまで、ステップS028で、下地濃度下限値bt1に
1インクリメントする。そして、頻度hist_pixel[bt
1]がノイズ閾値noise_thよりも小さくなったら、処理
を終了する。尚、頻度hist_pixel[bt1]がノイズ閾値n
oise_thよりも小さくなった時の下地濃度上限値bt1
が、下地濃度上限値bt1となる。
【0091】以上、図10〜図12のフローチャートで
説明された処理によって、画像データの下地代表濃度bg
_value、下地濃度下限値bt0、下地濃度上限値bt1が
算出される。続いて、図13のフローチャートを用い
て、画像データを像域分離処理を行うために画像データ
を2値化する処理について説明する。
【0092】図13は第3の実施の形態で実行される画
像データを2値化する処理の処理フローを示すフローチ
ャートである。ステップS101で、プログラムメモリ
202上に展開される輝度画像データの各画素データp
(x,y)を順次読み込む。そして、ステップS102
で、すべての画素データp(x,y)に対し、後述のス
テップS103で実行される処理が終了したか否かを判
定する。そして、ステップS103で、すべての画素デ
ータp(x,y)に対し、2値画像データb(x,y)
に変換する2値化を行う。2値化の方法は、順次読み込
まれる画素データp(x,y)の画素値が下地濃度下限
値bt0以上でかつ下地濃度上限値bt1以下であるかを
判定する。
【0093】そして、画素データp(x,y)が下地濃
度下限値bt0以上でかつ下地濃度上限値bt1以下であ
れば、ステップS105で、その画素データp(x,
y)の2値画像データb(x,y)を「0」として、2
値フレームメモリ207の対応する領域に書き込む。一
方、画素データp(x,y)が下地濃度下限値bt0以
上でないかまたは下地濃度上限値bt1以下でなけれ
ば、ステップS104で、その画素データp(x,y)
の2値画像データb(x,y)を「1」として、2値フ
レームメモリ207の対応する領域に書き込む。
【0094】プログラムメモリ202に上の全ての画素
データp(x,y)について、2値化されたら、処理を
終了する。以上、図13のフローチャートで説明された
処理によって、2値フレームメモリ207に、多値フレ
ームメモリ206上に格納される画像データの各画素デ
ータp(x,y)の2値化された2値画像データb
(x,y)が格納される。
【0095】続いて、図14〜図17のフローチャート
を用いて、2値フレームメモリ207上に格納された2
値画像データを領域分割し、分割された領域の属性を像
域分離処理によって判定する。そして、判定された属性
に基づいて2値画像データに含まれる各領域を量子化す
るための量子化数を決定する処理について説明する。図
14〜図17は第3の実施の形態で実行されるの2値画
像データに含まれる各領域を量子化するための量子化数
を決定する処理の処理フローを示すフローチャートであ
る。
【0096】図14において、ステップS201で、2
値フレームメモリ207から2値画像データを読み込
む。ステップS202で、読み込まれた2値画像データ
に対し、類似する属性を持つ領域毎に分割する。そし
て、分離された領域数をカウンタarea_countでカウント
する。また、各領域の位置座標と大きさを求める。ステ
ップS203で、カウントされた各領域に対して、各領
域に含まれる「1」である2値画像データの塊の密度や
形状、並びから「画像(写真)」、「図形」、「文字」
等の領域の属性を判定する像域分離処理を行う。ここで
は、例えば、特開平8ー30725号に記載されている
像域分離処理の方法を用いて、像域分離を行う。
【0097】具体的に以下のように行う。まず、2値デ
ータについて、所定周期で「1」の塊が連続する場合に
は、文字列である可能性が高いので、「文字」領域と判
定する。次に「文字」領域以外の領域については、
「1」の密度が比較的高い塊は写真である可能性が高い
ので「画像(写真)」と判定する。
【0098】残りの領域のうち「1」の密度が比較的低
く、かつ所定の形状を有するものを「図形」と判定す
る。次に、カウントされた領域に対し、画像表現に必要
な量子化数を決定する量子化数決定処理を、ステップS
204以降で行う。ステップS204で、ループカウン
タkの値を1にセットする。また、ループカウンタk
は、各領域に対して量子化数決定処理が終了する毎に、
1インクリメントされ、そのカウント値とカウンタarea
_countでカウントされた領域の値が対応している。ステ
ップS205で、ループカウンタkの値がカウンタarea
_countの値よりも大きいか否かを判定する。ループカウ
ンタkの値がカウンタarea_countの値よりも小さい場合
(ステップS205でNO)、ステップS206に進
む。一方、ループカウンタkの値がカウンタarea_count
の値よりも大きい場合(ステップS205でYES)、
すべてのカウントされた領域に対して、量子化数決定処
理がなされたことになるので、処理を終了する。
【0099】ステップS206で、プログラムメモリ2
02からループカウンタkの値に対応する領域の画素デ
ータp(x,y)の画素値をカウントするカウンタを0
にリセットする。尚、カウンタは256個の頻度hist_p
ixel[i](i=0〜255)からなり、例えば、画素
値がiの画素データは、頻度hist_pixel[i]にカウン
トされる。また、各カウンタでカウントされる値は各画
素値の出力頻度を示す。
【0100】ステップS207で、プログラムメモリ2
02からループカウンタkの値に対応する領域の画素デ
ータp(x,y)の画素値を順次読み込み、すべての画
素データp(x,y)の画素値が読み込まれたか否かを
判定する。そして、すべての画素データp(x,y)の
画素値が読み込まれるまでは、ステップS208で、順
次読み込まれる画素データp(x,y)の画素値に対応
する頻度hist_pixel[p(x,y)]の内容を1インクリメン
トする。そして、全ての画素値の読み込みが終了した
ら、ステップS209に進む。尚、全ての画素値の読み
込みが終了すると、頻度hist_pixel[i]に示される各
画素値の出力頻度によって、画像データの画素値の出力
頻度のヒストグラムが生成される。
【0101】図15においてステップS209で、生成
されたヒストグラムの各画素値の出力頻度と比較するた
めの変数max_hist、比較の結果に基づいて決定される下
地代表濃度bg_value、比較した画素値の数をカウントす
るループカウンタiの内容を0にリセットする。ステッ
プS210で、生成されたヒストグラムから各画素値の
頻度hist_pixel[i]を読み込み、すべての頻度hist_pi
xel[i]が読み込まれたか否かを判定する。そして、す
べての頻度hist_pixel[i]が読み込まれるまでは、ス
テップS211で、順次読み込まれる頻度hist_pixel
[i]と変数max_histを比較する。頻度hist_pixel[i]
が変数max_histより大きい場合(ステップS211でY
ES)、ステップS212に進む。ステップS212
で、変数max_histに頻度hist_pixel[i]を代入し、下
地代表濃度bg_valueにループカウンタiの内容を代入す
る。一方、頻度hist_pixel[i]が変数max_histより小
さい場合(ステップS211でNO)、ステップS21
3に進む。
【0102】ステップS213で、ループカウンタiの
内容を1インクリメントする。そして、すべての頻度hi
st_pixel[i]の比較が終了したら、つまり、ループカ
ウンタiの内容が255になったら、ステップS214
に進む。ステップS214で、ヒストグラムを正規化す
るための量子化ステップmax_hist/100を算出した後
に、(6)式に従って、量子化頻度hist_q[i]を算出
する。
【0103】次に、ステップS215で、各量子化頻度
hist_q[i]の値をカウントするカウンタhist_hist
[i]の内容を0にリセットする。ステップS216
で、読み込まれる量子化頻度hist_q[i]の数をカウン
トするループカウンタiの内容を0にリセットする。ス
テップS217で、読み込まれる量子化頻度hist_q
[i]を順次読み込み、すべての量子化頻度hist_q[i]
が読み込まれたか否かを判定する。そして、すべての量
子化頻度hist_q[i]が読み込まれるまでは、ステップ
S218で、順次読み込まれる量子化頻度hist_q[i]
の出力値をカウンタhist_hist[hist_q[i]]でカウン
トする。ステップS219で、ループカウンタiの内容
を1インクリメントする。
【0104】そして、全ての量子化頻度hist_q[i]の
読み込みが終了したら、ステップS220に進む。尚、
全ての量子化頻度hist_q[i]の読み込みが終了する
と、カウンタhist_hist[i](i=0〜100)に示さ
れる値によって、量子化頻度hist_q[i]のヒストグラ
ムが生成される。図16において、ステップS220
で、生成されたヒストグラムの量子化頻度hist_hist
[i]と比較するための変数max_hist_q、比較の結果に
基づいて決定されるノイズ閾値noise_th、比較した量子
化頻度hist_q[i]の数をカウントするループカウンタ
iの内容を0にリセットする。
【0105】ステップS221で、生成されたヒストグ
ラムからカウンタhist_hist[i]を読み込み、すべての
カウンタhist_hist[i]が読み込まれたか否かを判定す
る。そして、すべてのカウンタhist_hist[i]が読み込
まれるまでは、ステップS222で、順次読み込まれる
カウンタhist_hist[i]と変数max_hist_qを比較する。
カウンタhist_hist[i]が変数max_hist_qより大きい場
合(ステップS222でYES)、ステップS223に
進む。ステップS223で、変数max_hist_qに頻度hist
_hist[i]を代入し、ノイズ閾値noise_thにループカウ
ンタiの内容を代入する。一方、量子化頻度hist_hist
[i]が変数max_hist_qより小さい場合(ステップS2
22NO)、ステップS224に進む。
【0106】ステップS224で、ループカウンタiの
内容を1インクリメントする。そして、すべての量子化
頻度hist_hist[i]の比較が終了したら、つまり、ルー
プカウンタiの内容が100になったら、ステップS2
25に進む。ステップS225で、ノイズ閾値noise_th
にγを加算して得られる新たなノイズ閾値noise_thを算
出する。
【0107】図17において、ステップS226で、生
成されたヒストグラムの量子化頻度hist_q[i]と新た
なノイズ閾値noise_thを比較し、その比較した数をカウ
ントをカウントするループカウントi、ヒストグラムに
存在する量子化頻度hist_q[i]の極大値の数を示す変
数ex_countの内容を0にリセットする。ステップS22
7で、生成されたヒストグラムから量子化頻度hist_q
[i]を読み込み、すべての量子化頻度hist_q[i]が読
み込まれたか否かを判定する。そして、すべての量子化
頻度hist_q[i]が読み込まれるまでは、ステップS2
28で、順次読み込まれる量子化頻度hist_q[i]と新
たなノイズ閾値noise_thを比較する。量子化頻度hist_q
[i]が新たなノイズ閾値noise_thより大きい場合(ス
テップS228でYES)、ステップS229に進む。
ステップS229で、量子化頻度hist_q[i]が極大値
であるか否かを判定し、極大値である場合(ステップS
229でYES)、ステップS230に進み、極大値で
ない場合(ステップS229でNO)、ステップS23
1に進む。ステップS230で、変数ex_countを1イン
クリメントし、ステップS231進む。一方、量子化頻
度hist_q[i]が新たなノイズ閾値noise_thより小さい
場合(ステップS228でNO)、ステップS231に
進む。
【0108】ステップS231で、ループカウンタiの
内容を1インクリメントする。そして、すべての量子化
頻度hist_q[i]の比較が終了したら、つまり、ループ
カウンタiの内容が255になったら、ステップS23
2に進む。ステップS232で、変数ex_countが2以上
であるか否かを判定する。変数ex_countが2以上でない
場合(ステップS232でYES)、ステップS234
に進み、ステップS234で、領域の画像の属性を示す
フラグbi_mul_flagの内容を「1」にセットした後、ス
テップS238に進む。尚、変数ex_countが2以上でな
い場合は、領域の画像が単色の文字画像であると判断
し、変数ex_countが2以上である場合は、領域の画像が
複数色の文字画像と判断する。
【0109】一方、変数ex_countが2以上である場合
(ステップS232でNO)、ステップS233に進
む。ステップS233で、変数max_hist_qが閾値Th3
以上であるか否かを判定する。変数max_hist_qが閾値T
h3以上である場合(ステップS233でYES)、ス
テップS235に進み、ステップS235で、画像内に
は変数ex_countの濃度が存在するとして、領域の画像の
属性を示すフラグbi_mul_flagに変数ex_countの内容を
代入し、ステップS236に進む。尚、変数max_hist_q
がTh3以上でない場合は、領域の画像が連続階調の画
像であると判断し、変数max_hist_qがTh3以上である
場合は、領域の画像が複数色の多値画像と判断する。
【0110】ステップS236で、フラグbi_mul_flag
の内容に示される値に基づいて、領域を構成する色の輝
度値を抽出する。領域内にはフラグbi_mul_flagの内容
に示される値だけ色が存在する。量子化頻度hist_q
[i]からフラグbi_mul_flagの内容の個数の極大値を持
つ輝度pm[g](g=1〜bi_mul_flag)(これを代表輝
度値と呼ぶ)。これによって、領域内の画像表現に必要
な量子化数と、表現に必要な色の輝度値が抽出され、そ
の領域に対する量子化数決定処理を終了する。この後、
ステップS238に進む。
【0111】一方、変数max_hist_qが閾値Th3以上で
ない場合(ステップS233でNO)、領域の画像の属
性を示すフラグbi_mul_flagの内容を「0」にセットし
た後、ステップS238に進む。ステップS238で、
ループカウンタkの内容を1インクリメントする。そし
て、すべての領域に対し画像表現に必要な量子化数を決
定する量子化数決定処理が行われたら、つまり、ループ
カウンタkの内容がカウンタarea_countの値になった
ら、すべての処理を終了する。
【0112】以上、図14〜図17のフローチャートで
説明される処理によって、2値フレームメモリ207上
に格納された2値画像データを領域分割し、分割された
領域の属性が像域分離処理によって判定される。そし
て、判定された属性に基づいて2値画像データに含まれ
る各領域を量子化するための量子化数が決定される。続
いて、図18〜図21のフローチャートを用いて、2値
画像データに含まれる各領域の属性と対応する量子化数
に基づいて、2値画像データに含まれる各領域の構造化
データを生成する処理について説明する。
【0113】図18〜図21は第3の実施の形態で実行
される2値画像データに含まれる各領域の構造化データ
を生成する処理の処理フローを示すフローチャートであ
る。図18において、ステップS301で、ループカウ
ンタkの値を1にセットする。また、ループカウンタk
は、各領域に対して構造化データを生成する処理が終了
する毎に、1インクリメントされ、そのカウント値とカ
ウンタarea_countでカウントされた領域の値が対応して
いる。ステップS302で、ループカウンタkの値がカ
ウンタarea_countの値よりも大きいか否かを判定する。
ループカウンタkの値がカウンタarea_countの値よりも
小さい場合(ステップS302でNO)、ステップS3
03に進む。一方、ループカウンタkの値がカウンタar
ea_countの値よりも大きい場合(ステップS302でY
ES)、すべてのカウントされた領域に対して、構造化
データを生成する処理がなされたことになるので、処理
を終了する。
【0114】ステップS303で、ループカウンタkの
値に対応する領域の像域分離処理による属性が「文字」
であるか否かを判定する。領域の属性が「文字」である
場合(ステップS303でYES)、以下、後述するス
テップS307〜ステップS312で説明される処理を
行う。一方、領域の属性が「文字」でない場合(ステッ
プS303でNO)、ステップS304に進む。
【0115】以下、領域の属性が「文字」である場合に
実行される処理について、図19のフローチャートを用
いて説明する。図19は第3の実施の形態の領域の属性
が「文字」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS307で、領域
の属性が「文字」である領域のフラグbi_mul_flagが
「1」であるか否かを判定する。領域のフラグbi_mul_f
lagが「1」である場合(ステップS307でYE
S)、単色の「文字」領域であるので、ステップS30
9に進み、領域の属性が「文字」である領域のOCRを
行った後、ステップS306に進む。一方、領域のフラ
グbi_mul_flagが「1」でない場合(ステップS307
でNO)、ステップS308に進む。
【0116】尚、領域のフラグbi_mul_flagが「1」で
ある場合は、その領域は単色の「文字」から構成される
と判断され、領域のフラグbi_mul_flagが「0」である
場合は、その領域は連続階調の画像から構成されると判
断され、領域のフラグbi_mul_flagが「1」でも「0」
でもない場合は、その領域は複数色の「文字」から構成
されると判断される。また、OCRの結果から得られた
文字列は、その対応する文字コード、座標、領域サイズ
とともに構造化データから構成される構造化文書の書式
にしたがって記憶装置204の所定の領域に格納され
る。
【0117】ステップS308で、領域の属性が「文
字」である領域のフラグbi_mul_flagが「0」であるか
否かを判定する。領域のフラグbi_mul_flagが「0」で
ない場合(ステップS308でNO)、ステップS31
0に進む。ステップS310で、ステップS236で得
られた領域の量子化数と各代表輝度値pm[g]より、各
代表輝度値毎のビットプレーン画像をプログラムメモリ
202の輝度画像から生成する。
【0118】ここで、代表色の抽出は以下のように行
う。まず、3個のバッファを用意し、各バッファをそれ
ぞれRGB値に対応させる。更に、画素数カウンタcpを
0にリセットしておく。ビットプレーン画像の画素値と
同じ位置のカラー画像データを多値フレームメモリ20
6から読み出し、画素値p(x,y)が処理するビット
プレーン画像の画素値が1であれば、バッファに格納し
たRGBの値に読みだしたカラー画像データのRGB各
色の値をそれぞれ加算して、再度バッファに格納する。
更に、画素数カウンタcpの内容を1インクリメントす
る。領域内の全ての画素について処理が終わったら、各
バッファの内容を画素カウンタcpで割ってRGB毎の平
均値を求め、これらを抽出された色とする。これを各代
表輝度値について行い、全ての代表輝度値について、色
の抽出が終了したら、その領域に対する量子化決定処理
を終了する。この後、ステップS311に進む。
【0119】ステップS311で、領域の属性が「文
字」である領域のOCRを各代表輝度値毎に行った後、
ステップS306に進む。一方、領域のフラグbi_mul_f
lagが「0」である場合(ステップS308でYE
S)、ステップS312に進む。尚、ステップS311
のOCRの結果から得られた文字列は、各文字列の色、
対応する文字コード、座標、領域サイズとともに構造化
データから構成される構造化文書の書式にしたがって記
憶装置204の所定の領域に格納される。
【0120】ステップS312で、領域の属性が「文
字」である領域のJPEG符号化を行い、符号化データ
とその座標と領域サイズを構造化データを構成する構造
化文書の書式にしたがって記憶装置204の所定の領域
に格納される。そして、領域のJPEG符号化が終了し
たら、ステップS306に進む。図18のフローチャー
トに戻る。
【0121】ステップS304で、ループカウンタkの
値に対応する領域の像域分離処理による属性が「図形」
であるか否かを判定する。領域の属性が「図形」である
場合(ステップS304でYES)、以下、後述するス
テップS313〜ステップS318で説明される処理を
行う。一方、領域の属性が「図形」でない場合(ステッ
プS304でNO)、ステップS305に進む。
【0122】以下、領域の属性が「図形」である場合に
実行される処理について、図20のフローチャートを用
いて説明する。図20は第3の実施の形態の領域の属性
が「図形」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS313で、領域
の属性が「図形」である領域のフラグbi_mul_flagが
「1」であるか否かを判定する。領域のフラグbi_mul_f
lagが「1」である場合(ステップS313でYE
S)、ステップS315に進み、領域の属性が「図形」
である領域のアウトライン抽出によるベクトル化を行っ
た後、ステップS306に進む。一方、領域のフラグbi
_mul_flagが「1」でない場合(ステップS313でN
O)、ステップS314に進む。
【0123】尚、領域のフラグbi_mul_flagが「1」で
ある場合は、その領域は単色の「図形」から構成される
と判断され、領域のフラグbi_mul_flagが「0」である
場合は、その領域は連続階調画像の「図形」から構成さ
れると判断され、領域のフラグbi_mul_flagが「1」で
も「0」でもない場合は、その領域は複数色の「図形」
から構成されると判断される。また、ベクトル化の結果
から得られたベクトルは、その座標、領域サイズととも
に構造化データから構成される構造化文書の書式にした
がって記憶装置204の所定の領域に格納される。
【0124】ステップS314で、領域の属性が「図
形」である領域のフラグbi_mul_flagが「0」であるか
否かを判定する。領域のフラグbi_mul_flagが「0」で
ない場合(ステップS314でNO)、ステップS31
6に進む。ステップS316で、ステップS236で得
られた領域の量子化数と各代表輝度値より、各代表輝度
値毎のビットプレーン画像を生成する。ステップS31
7で、領域の属性が「図形」である領域のアウトライン
抽出によるベクトル化を各代表輝度値毎に行った後、ス
テップS306に進む。一方、領域のフラグbi_mul_fla
gが「0」である場合(ステップS314でYES)、
ステップS318に進む。尚、ステップS317のベク
トル化の結果から得られたベクトルは、各色の座標、領
域サイズとともに構造化データから構成される構造化文
書の書式にしたがって記憶装置204の所定の領域に格
納される。
【0125】ステップS318で、領域の属性が「図
形」である領域のJPEG符号化を行い、符号化データ
とその座標と領域サイズを構造化データを構成する構造
化文書の書式にしたがって記憶装置204の所定の領域
に書き込む。そして、領域のJPEG符号化が終了した
ら、ステップS306に進む。図18のフローチャート
に戻る。
【0126】ステップS305で、ループカウンタkの
値に対応する領域の像域分離処理による属性が「写真」
であるか否かを判定する。領域の属性が「写真」である
場合(ステップS305でYES)、以下、後述するス
テップS319〜ステップS324で説明される処理を
行う。一方、領域の属性が「写真」でない場合(ステッ
プS305でNO)、ステップS306に進む。
【0127】以下、領域の属性が「写真」である場合に
実行される処理について、図21のフローチャートを用
いて説明する。図21は第3の実施の形態の領域の属性
が「写真」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS319で、領域
の属性が「写真」である領域のフラグbi_mul_flagが
「1」であるか否かを判定する。領域のフラグbi_mul_f
lagが「1」である場合(ステップS319でYE
S)、ステップS320に進み、領域の属性が「写真」
である領域のJBIG符号化を行った後、ステップS3
06に進む。一方、領域のフラグbi_mul_flagが「1」
でない場合(ステップS319でNO)、ステップS3
20に進む。
【0128】尚、領域のフラグbi_mul_flagが「1」で
ある場合は、その領域は単色の「写真」から構成される
と判断され、領域のフラグbi_mul_flagが「0」である
場合は、その領域は単色の連続階調画像の「写真」から
構成されると判断され、領域のフラグbi_mul_flagが
「1」でも「0」でもない場合は、その領域は複数色の
「写真」から構成されると判断される。尚、JBIG符
号化の結果から得られた符号化データは、その座標、領
域サイズとともに構造化データから構成される構造化文
書の書式にしたがって記憶装置204の所定の領域に格
納される。
【0129】ステップS320で、領域の属性が「写
真」である領域のフラグbi_mul_flagが「0」であるか
否かを判定する。領域のフラグbi_mul_flagが「0」で
ない場合(ステップS320でNO)、ステップS32
1に進む。ステップS321で、ステップS236で得
られた領域を構成する色と各色の量子化頻度hist_q
[i]の極大値より、各色毎のビットプレーン画像を生
成する。ステップS323で、領域の属性が「写真」で
ある領域のJBIG符号化を各色毎に行った後、ステッ
プS306に進む。一方、領域のフラグbi_mul_flagが
「0」である場合(ステップS320でYES)、ステ
ップS324に進む。尚、ステップS323のJBIG
符号化の結果から得られた符号化データは、各色の座
標、領域サイズとともに構造化データから構成される構
造化文書の書式にしたがって記憶装置204の所定の領
域に格納される。
【0130】ステップS324で、領域の属性が「写
真」である領域のJPEG符号化を行い、符号化データ
の色、得られたベクトル、その座標と領域サイズを構造
化データから構成される構造化文書の書式にしたがって
記憶装置204の所定の領域に格納される。そして、領
域のJPEG符号化が終了したら、ステップS306に
進む。
【0131】再び、図18のフローチャートに戻る。ス
テップS306で、ループカウンタkの内容を1インク
リメントする。そして、すべての領域に対し構造化デー
タを生成する処理が行われたら、つまり、ループカウン
タkの内容がカウンタarea_countの値になったら、すべ
ての処理を終了する。
【0132】以上、図18〜図21のフローチャートで
説明される処理によって、2値画像データに含まれる各
領域の属性と対応する量子化数に基づいて、2値画像デ
ータに含まれる各領域の構造化データが生成される。
尚、第3の実施の形態では、構造化データを記憶装置2
04に格納したが、通信インタフェース208を介して
通信回線209に送信することもできる。
【0133】以上説明したように、第3の実施の形態に
よれば、画像データの画素値のヒストグラムに基づい
て、下地代表濃度bg_valueと下地の濃度幅上限値bt1
と濃度幅下限値bt0を抽出し、濃度幅上限値bt1と濃
度幅下限値bt0の範囲内に含まれる画素値をすべて下
地代表濃度bg_valueとして出力することで、一定した好
適な下地の濃度を出力することができる。
【0134】また、画素値のヒストグラムを量子化し、
量子化されたヒストグラムに基づいて、ノイズ閾値nois
e_thを算出し、その算出されたノイズ閾値noise_thを用
いることで、下地の濃度として出力される出力頻度のノ
イズを好適に除去することができる。また、カラー画像
に対して、高速で比較的小さい回路規模で好適な領域判
定が可能になる。画像データの存在するノイズによる影
響を取り除くことで、図形/写真を正確に判定すること
ができる。更に、下地と文字との輝度に差がない場合で
も確実に文字を検出することができる。加えて、スキャ
ナに特有なノイズを考慮した処理を行うようなプログラ
ムを作成することで、最適な像域分離処理が行える効果
もある。
【0135】また、領域毎の画像を再現するのに必要な
量子化を行うための好適な量子化数を決定することがで
きる。更に、単色の図形や多値画像のほかに限定色の文
字や図形を好適に判定できるので、構造化データを生成
する精度を向上することができる。尚、第1の実施の形
態〜第3の実施の形態で説明された画像処理装置の構成
はハードウェアで実現するものに限定されず、全部又は
一部分をソフトウェア等のプログラムで実現してももち
ろん構わない。
【0136】また、カラー多値画像データとして、均等
色空間であるCIE1976L***空間を利用し
て、本発明で説明される処理を実行したが、もちろんこ
れに限定されず、RGB表色系でもよいし、YCbCr
表色系やYIQ表色系を利用してもよい。更に入力ビッ
ト数、それに伴うヒストグラムの生成はこれに限定され
ず、量子化した結果の頻度分布であっても構わない。
【0137】更に、像域分離処理や量子化の方法は本発
明で説明される方法に限定されず、他の方法でも構わな
い。また、領域の形状を矩形として説明したが、これに
限定されず、輪郭線等のあらゆる自由形状であってもも
ちろん構わない。また、更に、メモリ構成をフレームメ
モリとしたが、これに限定されず、ラインバッファ等で
構成してももちろん構わない。
【0138】また、多値の符号化としてJPRG符号化
を例にとって説明を行ったが、もちろん、これに限定さ
れず、DPCM符号化や、ベクトル量子化符号化等の他
の多値の符号化を用いても構わない。更に、2値の符号
化としてJBIG符号化を例にとって説明を行ったが、
もちろん、これに限定されず、MMR符号化やLZW符
号化等の他の2値の符号化を用いても構わない。更に、
形状を表すのにベクトルを用いたが、チェイン符号化等
の他の形状を表す符号化を用いても構わない。
【0139】尚、本発明は、複数の機器(例えばホスト
コンピュータ、インタフェース機器、リーダ、プリンタ
等)から構成されるシステムに適用しても、一つの機器
からなる装置(例えば、複写機、ファクシミリ装置等)
に適用してもよい。また、本発明の目的は、前述した実
施形態の機能を実現するソフトウェアのプログラムコー
ドを記録した記憶媒体を、システムあるいは装置に供給
し、そのシステムあるいは装置のコンピュータ(または
CPUやMPU)が記憶媒体に格納されたプログラムコ
ードを読出し実行することによっても、達成されること
は言うまでもない。
【0140】この場合、記憶媒体から読出されたプログ
ラムコード自体が上述した実施の形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。プログラムコードを供
給するための記憶媒体としては、例えば、フロッピディ
スク、ハードディスク、光ディスク、光磁気ディスク、
CD−ROM、CD−R、磁気テープ、不揮発性のメモ
リカード、ROMなどを用いることができる。
【0141】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施の形態の機能
が実現される場合も含まれることは言うまでもない。
【0142】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書込まれた後、そのプログラムコードの指示に基
づき、その機能拡張ボードや機能拡張ユニットに備わる
CPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
【0143】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになる。簡単に説明
すると、例えば、図22のメモリマップ例に示す各モジ
ュールを記憶媒体に格納する。すなわち、少なくとも
「生成モジュール」、「算出モジュール」、「抽出モジ
ュール」、「判定モジュール」、および「出力モジュー
ル」の各モジュールのプログラムコードを記憶媒体に格
納すればよい。
【0144】尚、「生成モジュール」は、画像データの
濃度の出力頻度の分布を生成する。「算出モジュール」
は、生成された分布に基づいて、閾値を算出する。「抽
出モジュール」は、生成された分布の最大出力頻度とな
る濃度を抽出する。「判定モジュール」は、最大出力頻
度となる濃度を含み、閾値以上の出力頻度を有する濃度
領域を判定する。「出力モジュール」は、濃度領域内の
濃度を持つ画像データの濃度を一律に前記最大出力頻度
となる濃度で出力する。
【0145】以上説明したように、本発明の第1の実施
の形態〜第3の実施の形態によれば、スキャナ等で読み
取った原稿画像の画像データの下地に発生するノイズを
好適に除去することができ、画像データによる出力画像
の画質を向上する画像処理装置及びその方法を提供でき
る。また、画像データの下地に発生するノイズを好適に
除去することで、画像データを属性毎の領域に分離する
像域分離処理の精度を向上する画像処理装置及びその方
法を提供できる。
【0146】また、画像データの下地に発生するノイズ
を好適に除去し、ノイズを除去した画像データから好適
な下地の濃度を判定し、その判定された濃度を下地の濃
度として出力することで、画像データの符号化効率を向
上することができる画像処理装置及びその方法を提供で
きる。 <第4の実施の形態>図23は第4の実施の形態の画像
処理装置の構成を示すブロック図である。
【0147】図1において、401は原稿画像を入力す
る画像入力部であり、イメージスキャナ等で構成され
る。ここでは入力する原稿画像を白黒の多値画像(8ビ
ット/画素)として説明を行う。402は画像入力部4
01より得られる原稿画像の画像データを記憶しておく
フレームメモリである。403は読み込まれた画像デー
タ(8ビット/画素の多値画像データ)の画素値のヒス
トグラムを作成するヒストグラム生成部である。
【0148】尚、ヒストグラム生成部403は、256
個のカウンタで構成され、各カウンタは読み込まれる画
像データ(8ビット/画素の多値画像データ)の画素値
に対応しており、1画素の画像データの入力に対しその
画素値に対応するカウンタに1が加えられる。404は
ヒストグラムから、出現頻度の最大値とその最大値を持
つ画素値を出力する最大頻度検出部である。
【0149】405はヒストグラム生成部403で生成
されたヒストグラムの頻度上のノイズを除去するための
所定の閾値Th1と最大頻度検出部404で検出された
最大値に基づいて、下地を構成する濃度の幅を求める下
地濃度幅検出部である。406は下地濃度幅検出部40
5から出力される下地を構成する濃度の幅基づいてフレ
ームメモリ402の画像データを好適に量子化するのに
必要な量子化数と後述する前景色代表濃度を判定する量
子化数判定部である。
【0150】407は最大頻度検出部404で検出され
た下地の濃度(最大値)を外部装置に出力する端子であ
る。408は原稿画像を表現するのに必要な量子化数と
後述する前景色代表濃度を外部装置に出力する端子であ
る。409はフレームメモリ402の内容を外部装置に
出力する端子である。413はヒストグラム生成部40
3の内容を外部装置に出力する端子である。
【0151】410はCPUであり、各装置構成要素を
制御する。411はROMであり、装置の制御に必要な
プログラムを格納する。412はRAMであり、プログ
ラムを動作させるのに必要なメモリ領域を確保する。次
に、図23を用いて、画像処理装置において実行される
処理について説明する。
【0152】まず、処理に先立ち、CPU410はフレ
ームメモリ402と、ヒストグラム生成部403のカウ
ンタの内容を0にクリアする。続いて、CPU410は
ユーザの指示に従って、画像入力部401から白黒多値
画像(8ビット/画素)である原稿画像を読み込み、そ
の画像データをフレームメモリ402に格納する。原稿
画像分の画像データがフレームメモリ402に格納され
た後、CPU410は、フレームメモリ402から画像
データを読み出し、ヒストグラム生成部403に入力す
る。ヒストグラム生成部403の256個のカウンタ
は、入力される画像データの画素値に対応しており、1
画素の画像データの入力に対してその画素値に対応する
カウンタの内容に1を加える。
【0153】入力された画像データの全ての画素によっ
てヒストグラムが生成されたら、CPU410は最大頻
度検出部404を動作させ、ヒストグラムの中で出現頻
度が最大値を持つ画素値を検出する(つまり、カウンタ
の値が最大となる画素値)。そして、その検出される出
現頻度の最大値mと、対応する画素値を出力する。ま
た、この対応する画素値は下地の濃度を示すので、この
濃度を下地代表濃度bと呼ぶ。この下地代表濃度bは端
子407から出力される。
【0154】下地濃度幅検出部405は、最大頻度検出
部404から下地代表濃度bと所定の閾値Th1とヒス
トグラム生成部403で生成されたヒストグラムから、
下地を構成する画素の濃度の幅を算出する。この幅は、
下地代表濃度bを中心として最近傍の画素値において、
出現頻度が所定の閾値Th1になっている画素値を検出
する。図24を用いて、その検出する過程を示す。尚、
図24には、ある原稿画像の画像データが持つ画素値と
その出現頻度の関係を示しており、横軸に画素値、縦軸
に出現頻度で表している。
【0155】まず、下地代表濃度bから画素値の低い方
へ出現頻度の検査を行い、出現頻度が所定の閾値Th1
になった時の画素値bt0を求める。この画素値が濃度
幅の下限値となるので濃度幅下限値と呼ぶ。同様に、画
素値の高い方へ出現頻度の検査を行い、出現頻度が所定
の閾値Th1になった時の画素値bt1を求める。この
画素値が濃度幅の上限値となるので濃度幅上限値と呼
ぶ。
【0156】ここで、下地濃度幅検出部405の詳細な
構成について、図25を用いて説明する。図25は第4
の実施の形態の下地濃度検出部405の詳細な構成を示
すブロック図である。図25において、426は端子で
あり、最大頻度検出部404から下地代表濃度bを入力
する。420はラッチであり、下地代表濃度bを保持す
る。421はカウンタであり、CPU410の指示に従
ってカウンタ421の内容をカウントアップするカウン
トアップモード、あるいはカウンタ421の内容をカウ
ントダウンするカウントダウンモードのいずれかが選択
され、選択されたモードに応じてその内容を増減する。
428は端子であり、カウンタ421の内容をヒストグ
ラム生成部403に出力し、出力された値に対応するヒ
ストグラム生成部403で生成されたヒストグラムの画
素値の出現頻度値を読み出す。
【0157】427は端子であり、カウンタ421より
出力された値に対応するヒストグラム生成部403で生
成されたヒストグラムの画素値の出現頻度値を読み込
む。422は比較部であり、端子427から読み込まれ
た出現頻度値と所定の閾値Th1とを比較する。そし
て、読み込まれた出現頻度値が所定の閾値Th1より大
きい場合は「0」を出力し、所定の閾値Th1より小さ
い場合は「1」を出力する。423はセレクタであり、
比較部422から「1」が出力された場合に、CPU4
10がカウンタ421に指示しているモードに応じて、
カウンタ421の内容をラッチ424、ラッチ425の
いずれかに保持する。424、425はラッチであり、
セレクタ423からの出力を保持する。429、430
は端子であり、それぞれがラッチ424、425の出力
を外部に出力する。
【0158】尚、所定の閾値Th1はヒストグラムに発
生する頻度上のノイズを除去するための閾値である。次
に図25を用いて、下地濃度幅検出部405で実行され
る処理について説明する。CPU410は、端子426
を介して下地代表濃度bを読み込み、ラッチ420に保
持する。そして、比較部422を0にリセットし、カウ
ンタ421にラッチ420の下地代表濃度bから1を引
いた画素値に対応する値をセットし、カウントダウンモ
ードにセットする。
【0159】カウントダウンモードをセットすると、カ
ウンタ421より、その内容を端子428からヒストグ
ラム生成部403に入力し、入力した値に対応するヒス
トグラムの画素値の出現頻度値をヒストグラム生成部4
03より読み出す。そして、読み出した出現頻度値を端
子427から比較部422に入力する。比較部422は
入力された出現頻度値と閾値Th1を比較し、閾値Th
1よりも出現頻度値が大きい場合は「0」を出力し、閾
値Th1よりも出現頻度値が小さい場合は「1」を出力
する。
【0160】尚、カウンタ421は、比較部422より
「0」が出力される毎に、その内容を1デクリメント
し、デクリメントされた値に対応するヒストグラムの画
素値の出現頻度値をヒストグラム生成部403より読み
出す。そして、出現頻度値を読み出す毎に、比較部42
2は読み出した出現頻度値と閾値Th1を比較する。セ
レクタ423は、比較部422から「1」が出力された
時点で、カウンタ421の内容をラッチ425に格納す
ると同時に、カウンタ421のカウントダウンモードに
よるカウントダウンを終了する。
【0161】カウンタ421のカウントダウンが終了す
ると、CPU410は、比較部422を0にリセット
し、カウンタ421にラッチ420の下地代表濃度bか
ら1を足した画素値に対応する値をセットし、カウント
アップモードにセットする。カウントアップモードをセ
ットすると、カウンタ421より、その内容を端子42
8からヒストグラム生成部403に入力し、入力した値
に対応するヒストグラムの画素値の出現頻度値をヒスト
グラム生成部403より読み出す。そして、読み出した
出現頻度値を端子427から比較部422に入力する。
比較部422は入力された出現頻度値と閾値Th1を比
較し、閾値Th1よりも出現頻度値が大きい場合は
「0」を出力し、閾値Th1よりも出現頻度値が小さい
場合は「1」を出力する。
【0162】尚、カウンタ421は、比較部422より
「0」が出力される毎に、その内容を1インクリメント
し、インクリメントされた値に対応するヒストグラムの
画素値の出現頻度値をヒストグラム生成部403より読
み出す。そして、出現頻度値を読み出す毎に、比較部4
22は読み出した出現頻度値と閾値Th1を比較する。
【0163】セレクタ423は、比較部422から
「1」が出力された時点で、カウンタ421の内容をラ
ッチ424に格納すると同時に、カウンタ421のカウ
ントアップモードによるカウントアップを終了する。以
上のようにして、ラッチ424とラッチ425に保持さ
れる値が、それぞれ濃度幅上限値bt1と濃度幅下限値
bt0である。そして、濃度幅上限値bt1と濃度幅下限
値bt0をそれぞれ端子429、430を介して量子化
数判定部406へ出力する。
【0164】再び、図23の説明に戻る。下地濃度幅検
出部405で、濃度幅上限値bt1と濃度幅下限値bt0
が検出されると、量子化数判定部406は、下地濃度幅
検出部405で検出された濃度幅下限値bt0と濃度幅
上限値bt1と、フレームメモリ402に格納される画
像データの画素値を入力し、画像データを好適に量子化
するための量子化数と前景色代表濃度を判定する。
【0165】ここで、量子化数判定部406の詳細な構
成について、図26を用いて説明する。図26は第4の
実施の形態の量子化数判定部406の詳細な構成を示す
ブロック図である。441は比較部であり、端子449
から入力される濃度幅上限値bt1と端子451から入
力される画素値を比較する。そして、画素値が濃度幅上
限値bt1よりも大きい場合は「0」を、小さい場合は
「1」を出力する。442は比較部であり、端子450
から入力される濃度幅下限値bt0と端子451から入
力される画素値を比較する。そして、画素値が濃度幅下
限値bt0よりも大きい場合は「1」を、小さい場合は
「0」を出力する。443は比較部441と比較部44
2から出力される値の非論理積を算出するNAND回路
である。444はラッチであり、端子451から入力さ
れる画素値をラッチする。また、NAND回路443が
「1」を出力したときのみ、ラッチしている画素値を出
力する。
【0166】445は256個のカウンタで構成され、
ラッチ444から出力される画素値の出現頻度のヒスト
グラムを生成するヒストグラム生成部である。446は
ヒストグラム生成部445で生成されたヒストグラムか
ら、出現頻度の極大値とその極大値を持つ画素値を検出
する極大値検出部である。447は極大値検出部446
で検出された極大値の数を計数するカウンタである。4
48は極大値を持つ画素値を格納するメモリである。4
49は端子であり、図25の端子429を介して濃度幅
上限値bt1を読み込む。450は端子であり、図25
の端子430を介して濃度幅下限値bt0を読み込む。
451は端子であり、フレームメモリ402に格納され
る画像データの画素値を読み込む。452はカウンタ4
47の内容を、453はメモリ448の内容を出力する
端子である。
【0167】次に図26を用いて、量子化数判定部40
6で実行される処理について説明する。CPU410
は、端子449から濃度幅上限値bt1を、端子450
から濃度幅下限値bt0を読み込む。続いてフレームメ
モリ402から格納順に画像データの画素値を読み込
み、比較部441、比較部442、ラッチ444に入力
する。
【0168】比較部441は、入力画素値と濃度幅上限
値bt1、比較部442は入力画素値と濃度幅下限値b
t0とを比較する。比較部441、比較部442のそれ
ぞれの比較結果はNAND回路443に入力し、非論理
積を算出する。上述の説明により、入力画素値が濃度幅
上限値bt1と濃度幅下限値bt0の間にある場合は、N
AND回路443は「0」を出力し、そうでなければ
「1」を出力する。ラッチ444はNAND回路443
の出力が「1」の場合、入力された画素値をヒストグラ
ム生成部445に出力し、「0」の場合は出力しない。
【0169】ラッチ444の出力がヒストグラム生成部
445に入力されると、ヒストグラム生成部445の2
56個のカウンタは、入力される画素値に対応してお
り、その画素値に対応するカウンタの内容に1を加え
る。フレームメモリ402に格納される画像データの全
ての画素値に基づいて、ヒストグラム生成部445でヒ
ストグラムが生成された後、CPU410は極大値検出
部446を起動するとともにカウンタ447の内容を0
にリセットする。続いて、ヒストグラム生成部445の
256個のカウンタにおいて、各画素値の出現頻度を示
すカウンタの内容を画素値の低い方から順に読み出し、
出現頻度が極大値を持つ画素値を検出する。
【0170】例えば、ヒストグラム445で生成される
ヒストグラムが図27に示すようなものであるとする
と、出現頻度が極大値を持つ画素値は、図において、矢
印が示す位置の画素値が出現頻度の極大値を持つ画素値
となる。そして、出現頻度の極大値が検出されたら、カ
ウンタ447の内容を1インクリメントし、その極大値
を持つ画素値をメモリ448に順に格納する。この場
合、極大値の数は4つであり、カウンタ447の内容は
4が格納されることになる。
【0171】メモリ448に、格納された極大値を持つ
画素値は、原稿画像を構成する背景(下地)以外の画像
の濃度の代表を表わすものであり、これらを前景色代表
濃度と呼ぶ。また、カウンタ447の内容に1を加えた
ものが画像を表現するのに必要な量子化数n(nは正の
整数)であり、前景色代表濃度とともに端子452、端
子453を介して端子408から外部装置に出力され
る。
【0172】以上のようにして、原稿画像の下地代表濃
度bと画像データを好適に量子化する量子化数nと前景
色代表濃度が出力される。次に第4の実施の形態で実行
される処理について、図28のフローチャートを用いて
説明する。図28は第4の実施の形態で実行される処理
の処理フローを示すフローチャートである。
【0173】まず、処理に先立ち、CPU410はフレ
ームメモリ402と、ヒストグラム生成部403のカウ
ンタの内容を0にクリアする。ステップS601で、続
いて、CPU410はユーザの指示に従って、画像入力
部401から白黒多値画像(8ビット/画素)である原
稿画像を読み込み、その画像データをフレームメモリ4
02に格納する。ステップS602で、原稿画像分の画
像データがフレームメモリ402に格納された後、CP
U410は、フレームメモリ402から画像データを読
み出し、ヒストグラム生成部403に入力し、入力され
た画像データの全ての画素によってヒストグラムを生成
する。ステップS603で、CPU410は最大頻度検
出部404を動作させ、ヒストグラムの中で出現頻度が
最大値を持つ画素値を下地代表濃度bとして抽出する。
更に、下地濃度幅検出部405で、最大頻度検出部40
4から下地代表濃度bと所定の閾値Th1とヒストグラ
ム生成部403で生成されたヒストグラムから、下地を
構成する画素の濃度の幅として濃度幅下限値bt0と濃
度幅上限値bt1を抽出する。
【0174】ステップS604で、量子化数判定部40
6は、下地代表濃度以外の出現頻度の極大値を持つ画素
値を前景色代表濃度としてヒストグラムより抽出する。
ステップS605で、抽出された前景色代表濃度に基づ
いて、画像データを量子化するための量子化数を判定す
る。次に第4の実施の形態で説明される画像処理装置の
適用例を説明する。例えば、図29に示されるような画
像送信装置に適用させた場合に、実行される動作とその
構成を説明する。
【0175】図29は第4の実施の形態の画像処理装置
を適用させた画像送信装置の構成を示すブロック図であ
る。図29において、460は第4の実施の形態の図2
3に示される画像処理装置である。461は図23の端
子407から出力された下地代表濃度bと端子408か
ら出力された量子化数nと各前景色代表濃度とヒストグ
ラムを入力し、画像データを量子化するための閾値を決
定する閾値決定部である。462は閾値決定部461か
ら出力される閾値にしたがって、端子409から出力さ
れた画像データを量子化する量子化部である。
【0176】463はフレームメモリであり、量子化部
462で量子化された画像データを格納する。例えば、
量子化数がnであるとすると、n値化された画像データ
をn枚のビットプレーンで格納する。464はフレーム
メモリ463に格納された量子化された画像データを2
値の符号化であるJBIG符号化を行うJBIG符号化
部である。465は通信プロトコルに合わせて、JBI
G符号化部464で生成されたJBIG符号化データを
送信する通信インタフェースである。466は電話回線
やLANで構成される通信回線である。
【0177】次に図29で実行される処理の概要を説明
する。閾値決定部461は、画像処理装置460のカウ
ンタ447とメモリ448から量子化数nと各前景色代
表濃度を端子408を介して読み込み、ヒストグラムを
端子413を介して読み込み、各前景色代表濃度に基づ
いて、量子化するための閾値を決定する。図30を用い
て、その閾値を決定する過程を示す。まず、図24のヒ
ストグラムに対し、図30に示すような前景色代表濃度
f1〜f4が決定されたとする。そして、各前景色代表
濃度を中心として形成される出現頻度の山の両側に存在
する出現頻度の曲線の傾きが0となる出現頻度を持つ画
素値を閾値として決定する。この場合、図のr1〜r4
が量子化するための閾値として決定される。
【0178】続いて、量子化部462は、閾値決定部4
61で決定された閾値を用いて、フレームメモリ402
に格納される画像データの画素値を量子化する。例え
ば、図30に示した閾値r1〜r4場合、閾値r1未満
の画素値を持つ画像データは「0」に、閾値r1以上閾
値r2未満の画素値を持つ画像データは「1」に、閾値
r2以上閾値r3未満の画素値を持つ画像データは
「2」に、閾値r3以上閾値r4未満の画素値を持つ画
像データは「3」に、閾値r4以上の画素値を持つ画像
データは「4」に量子化する。そして、量子化部462
によって得られる量子化結果はフレームメモリ463に
格納される。
【0179】フレームメモリ402内に格納される画像
データについて量子化が終了したら、端子408から出
力される量子化数nを通信インタフェース465を介し
て通信回線466に出力する。続いて、画素値の小さい
方から下地代表濃度bと前景色代表濃度(この場合はf
1〜4)を通信インタフェース465を介して通信回線
466に出力する。更に、JBIG符号化部464によ
って、フレームメモリ463に格納されている量子化さ
れた画像データの画素値に対し、ビットプレーン毎にJ
BIG符号化を施し、通信インタフェース465を介し
て通信回線466に出力する。フレームメモリ402の
全ての画像データを符号化し、送信を終えたら全ての動
作を終了する。
【0180】以上説明したように、第4の実施の形態に
よれば、画像データの画素値の出現頻度のヒストグラム
に基づいて、下地代表濃度bと下地の濃度幅上限値bt
1と濃度幅下限値bt0を抽出し、濃度幅上限値bt1と
濃度幅下限値bt0の範囲内に含まれる画素値をすべて
下地代表濃度bとして出力することで、一定した好適な
下地の濃度を出力することができる。
【0181】また、下地代表濃度bを示す極大値以外に
ヒストグラムに存在する出現頻度の極大値を持つ画素値
を含む閾値Th1以上の出現頻度を持つ画素値群を、下
地以外に原稿画像に存在する画像として判定する。そし
て、その判定された画像を表現する所定範囲の画素値群
を一律にその所定範囲内の出現頻度の極大値を持つ画素
値(前景色代表濃度)で出力することで、一定した好適
な画素値で画像を出力することができる。
【0182】更に、その判定された画像を表現する前景
色代表濃度を含む所定範囲の画素値群の範囲とその個数
に基づいて、原稿画像を量子化するための量子化数と閾
値を判定するため、原稿画像を好適に量子化する量子化
数を決定することができる。また、白黒画像に対して、
高速で比較的小さい回路規模で好適な量子化数の判定が
可能になり、下地のノイズに影響されることなく、文字
等の前景色を効率良く抽出できる。また、符号化に適用
した場合、下地のノイズによる影響を取り除き、下地を
一定濃度にすることができるので、符号化効率を向上さ
せると同時に、必要最低限に量子化して送るので少ない
プレーン数で符号化でき、効率的である。
【0183】<第5の実施の形態>第4の実施の形態で
は、白黒多値画像の原稿画像の下地の濃度幅と好適な下
地濃度を判定し、かつ原稿画像を量子化するための好適
な量子化数を判定する画像処理装置について説明した。
第5の実施の形態では、カラー多値画像の原稿画像の下
地の濃度幅と好適な下地濃度を判定し、かつ原稿画像を
量子化するための好適な量子化数を判定する画像処理装
置について説明する。
【0184】図31は第5の実施の形態の画像処理装置
の構成を示すブロック図である。図31において、50
1は原稿画像を入力する画像入力部であり、カラーイメ
ージスキャナ等で構成される。ここでは入力する原稿画
像をカラー多値画像とし、RGB各色ごとに1画素あた
り8ビットの精度を持つ画像データとして説明を行う。
502は原稿画像をCIE1976L***画像デー
タ(各成文8ビット)に変換する色変換部である。50
3は色変換部502より得られる原稿画像のL***
画像データを記憶しておくフレームメモリである。
【0185】504はCIE1976L***画像デ
ータの輝度を表わすL*画像データから入力画素が、平
坦画素であるか否かを判定する平坦画素判定部である。
505はラッチであり、制御信号によってその内容の出
力するか否かを決定する。506〜508は読み込まれ
たL*、a*、b*画像データの画素値のヒストグラムを
作成するヒストグラム生成部である。
【0186】尚、各ヒストグラム生成部506〜508
は、256個のカウンタで構成され、各カウンタは読み
込まれる画像データの画素値に対応しており、1画素の
画像データの入力に対してその画素値に対応するカウン
タに1が加えられる。ヒストグラム生成部506はL*
画像データ、ヒストグラム生成部507はa*画像デー
タ、ヒストグラム生成部508はb*画像データのヒス
トグラムを生成する。
【0187】509はL*画像データのヒストグラムか
ら下地を構成する画素のL*画像データの下地表示濃度
bLと濃度幅下限値btL0と濃度幅上限値btL1を決
定する下地濃度判定部である。510はa*画像データ
のヒストグラムから下地を構成する画素のa*画像デー
タの下地代表濃度baと濃度幅下限値bta0と濃度幅
上限値bta1を決定する下地濃度判定部である。51
1はb*画像データのヒストグラムから下地を構成する
画素のb*画像データの下地代表濃度bbと濃度幅下限
値btb0と濃度幅上限値btb1を決定する下地濃度判
定部である。
【0188】尚、下地濃度判定部509〜511は、第
4の実施の形態の図23に示される最大頻度検出部40
4と下地濃度幅検出部405より構成されており、その
詳細については、第4の実施の形態で説明しているの
で、ここでは省略する。512は比較部であり、フレー
ムメモリ503に格納されるL***画像データの画
素値を入力し、各L*、a*、b*画像データに対応する
濃度幅下限値btL0と濃度幅上限値btL1、濃度幅下
限値bta0と濃度幅上限値bta1、濃度幅下限値bt
b0と濃度幅上限値btb1とを比較し、その比較結果に
基づいて、L***画像データを2値化する。513
は比較部512で2値化されたL***画像データを
格納する2値フレームメモリである。514は像域分離
部であり、第3の実施の形態と同様の像域分離処理の方
法を用いて、像域分離処理を行う。
【0189】515は2値フレームメモリ513に格納
される2値化されたL***画像データから、フレー
ムメモリ503の画像データを量子化するための量子化
数を判定する量子化数判定部である。516は像域分離
部514と量子化数判定部515で検出された領域に関
する情報を格納する領域情報メモリである。517〜5
19は各L*、a*、b*画像データの下地代表濃度b
L、ba、bbを外部装置に出力する端子である。52
0は領域情報メモリ516の内容を外部装置に出力する
端子である。521はフレームメモリ503の内容を外
部装置に出力する端子である。
【0190】570はCPUであり、各装置構成要素を
制御する。571はROMであり、装置の制御に必要な
プログラムを格納する。572はRAMであり、プログ
ラムを動作させるのに必要なメモリ領域を確保する。次
に、図31を用いて、画像処理装置において実行される
処理について説明する。
【0191】まず、処理に先立ち、CPU570はフレ
ームメモリ503と、ヒストグラム生成部506〜50
8のカウンタの内容を0にクリアする。続いて、CPU
570はユーザの指示に従って、画像入力部501から
RGBカラー多値画像である原稿画像を読み込み、色変
換部502によってL***画像データに変換し、フ
レームメモリ503に格納する。
【0192】原稿画像分のL***画像データがフレ
ームメモリ503に格納された後、CPU570は、フ
レームメモリ503からL***画像データを読み出
し、平坦画素判定部504とラッチ505に入力する。
平坦画素判定部504は入力画素とその周囲の画素のL
***画像データを入力する。フレームメモリ503
上に格納されるL*、a*、b*画像データのそれぞれの
座標をL(x,y)、a(x,y)、b(x,y)とし
た時、L** *画像データの各エッジ量eL、ea、
ebを前述の(4)式によって算出する。
【0193】これらのエッジ量eL、ea、ebと閾値
Th2を比較し、全てが閾値Th2以下であれば「1」
を、そうでなければ「0」を出力する。
【0194】ラッチ505は平坦画素判定部504から
の出力が「0」の時、即ち、いずれかの色成分にエッジ
が存在する特は、格納されているL*、a*、b*画像デ
ータを出力せず、ヒストグラム生成部506〜508は
処理を行わない。一方、平坦画素判定部504からの出
力が「1」の時、即ち、平坦画素については、格納され
ているL*、a*、b*画像データを対応するヒストグラ
ム生成部506〜508に出力する。
【0195】そして、ヒストグラム生成部506ではL
*画像データのヒストグラムを作成する。同様に、ヒス
トグラム生成部507ではa*画像データのヒストグラ
ム、ヒストグラム生成部508ではb*画像データのヒ
ストグラムを生成する。フレームメモリ503内の全て
の画素の平坦画素検出、ヒストグラム処理を終了した
ら、下地濃度判定部509〜511を起動させる。
【0196】下地濃度判定部509は、L*画像データ
のヒストグラムからL*画像データの下地代表濃度bL
と濃度幅下限値btL0と濃度幅上限値btL1を判定す
る。同様にして、下地濃度判定部510は、a*画像デ
ータのヒストグラムからa*画像データの下地代表濃度
baと濃度幅下限値bta0と濃度幅上限値bta1を判
定する。下地濃度判定部511は、b*画像データのヒ
ストグラムからb*画像データの下地代表濃度bbと濃
度幅下限値btb0と濃度幅上限値btb1を判定する。
判定された各L*、a*、b*画像データの下地代表濃度
bL、下地代表濃度ba、下地代表濃度bbを端子51
7〜519を介して外部装置に出力する。更に、判定さ
れた各L*、a*、b*画像データの濃度幅下限値btL0
と濃度幅上限値btL1、濃度幅下限値bta0と濃度幅
上限値bta1、濃度幅下限値btb0と濃度幅上限値b
tb1を比較部512に出力する。
【0197】比較部512は、比較部512より入力さ
れた各L*、a*、b*画像データの濃度幅下限値、濃度
幅上限値に対し、フレームメモリ503に格納される各
*、a*、b*画像データであるpL、pa、pbとを
比較する。そして、濃度幅下限値btL0<pL<濃度
幅上限値btL1、かつ濃度幅下限値bta0<pa<濃
度幅上限値bta1、かつ濃度幅下限値btb0<pb<
濃度幅上限値btb1を満たす場合は「0」を出力し、
そうでなければ「1」を出力する。この比較によって、
***画像データが2値化される。2値化されたL*
**画像データは2値フレームメモリ513に格納さ
れる。
【0198】フレームメモリ503のすべてのL**
*画像データについて、比較部512による比較処理が
終了し、2値化されたL***画像データが2値フレ
ームメモリ513に格納された後、CPU570は像域
分離部514を起動する。像域分離部514は2値フレ
ームメモリ513から読み込んだ2値化されたL **
*画像データを領域分割し、分割された領域の属性を像
域分離処理によって判定する。判定された領域の属性や
各領域の位置等を示す情報は領域情報メモリ516に格
納する。
【0199】像域分離処理が終了し、領域情報メモリ5
16にL***画像データに含まれる全ての領域の属
性と情報が格納されたら、CPU570は量子化数判定
部515を起動する。そして、領域情報メモリ516に
格納されている各領域の属性と情報に基づいて、各領域
に対応するL***画像データをフレームメモリ50
3から順に、量子化数判定部515に入力し、各領域を
量子化するための量子化数を判定する。
【0200】ここで、量子化数判定部515の詳細な構
成について、図32を用いて説明する。図32は第5の
実施の形態の量子化数判定部515の詳細な構成を示す
ブロック図である。556は端子であり、領域情報メモ
リ516に格納されている各領域の属性と情報に基づい
て、各領域に対応するL***画像データをフレーム
メモリ503から順に読み込む。555は端子であり、
フレームメモリ503から読み込まれるL***画像
データに同期して、2値フレームメモリ513から対応
するする2値化されたL***画像データを読み込
む。541〜543はラッチであり、端子555から入
力される2値化されたL***画像データを制御信号
として、制御信号が「1」の場合は保持されている内容
を出力し、「0」である場合は何も出力しない。尚、ラ
ッチ541はL*画像データ、ラッチ542はa*画像デ
ータ、ラッチ543はb*画像データを保持する。
【0201】544〜546は読み込まれたL*、a*
*画像データの画素値のヒストグラムを作成するヒス
トグラム生成部である。尚、各ラッチ544〜546
は、256個のカウンタで構成され、各カウンタは読み
込まれる画像データの画素値に対応しており、1画素の
画像データの入力に対してその画素値に対応するカウン
タに1が加えられる。
【0202】ラッチ544はL*画像データ、ラッチ5
45はa*画像データ、ラッチ546はb*画像データの
ヒストグラムを生成する。547〜549は各ラッチ5
44〜546で生成されたヒストグラムを平滑化するヒ
ストグラム平滑化部である。550〜552はヒストグ
ラム平滑化部547〜549で平滑化されたヒストグラ
ムで極大値をとる出現頻度の画素値を検出する極大値検
出部。
【0203】553は各極大値検出部550〜552で
検出された極大値をとる出現頻度の画素値から、領域内
を構成する可能性のある色の組み合せを抽出する代表色
抽出部である。554は代表色抽出部553で抽出され
た色の組み合わせに基づいて、実際に領域内に存在する
色を判定する代表色判定部である。また、色を判定する
ために、代表色抽出部553で抽出された色の組み合わ
せから得られる色差が最小となる色の出現頻度をカウン
トするカウンタが設けられている。557は領域内に存
在する色の数と色のデータを外部装置に出力する端子で
ある。
【0204】次に図32を用いて、量子化数判定部51
5で実行される処理について説明する。CPU570
は、領域情報メモリ516に格納される各領域の属性と
情報にしたがって、端子556よりフレームメモリ50
3から領域に対応するL***画像データ、端子55
5より2値フレームメモリ513から領域に対応する2
値されたL***画像データを読み込む。端子556
より読み込まれた各L*、a *、b*画像データは、それ
ぞれラッチ541〜543に保持される。
【0205】端子555より読み込まれた2値化された
***画像データが「1」の場合、ラッチ541〜
543はその内容を後段のラッチ544〜546にそれ
ぞれ出力する。一方、「0」の場合、何も出力されず、
ラッチ544〜546では、そのL***画像データ
に対応するL***画像データの処理は行わない。ラ
ッチ544〜546では、各L*、a*、b*画像データ
から各画像データのヒストグラムを生成する。256個
のカウンタは、入力される画像データの画素値に対応し
ており、その画素値に対応するカウンタの内容に1を加
える。
【0206】入力された画像データの全ての画素によっ
てヒストグラムが生成されたら、CPU570はヒスト
グラム平滑部547〜549を起動させる。ヒストグラ
ム平滑部547〜549では、各ラッチ544〜546
で生成された各L*、a*、b *画像データのヒストグラ
ムの各画素値の出現頻度値hist[i](i=0〜25
5)と、あらかじめ設定された平滑化幅swから、
(8)式を用いて出現頻度値hist[i]を平滑化し、平
滑化された出現頻度値hist_sm[i](i=0〜255)
らなる各L*、a*、b*画像データヒストグラムを生成
する。
【0207】
【数1】…(8) 極大値検出部550〜552はそれぞれ、ヒストグラム
平滑部547〜549で、平滑化された出現頻度値hist
_sm[i]からなる各L*、a*、b*画像データのヒスト
グラムから、第4の実施の形態の図26の極大値算出部
446と同様の方法で、各L*、a*、b*画像データの
出現頻度の極大値を持つ画素値を検出する。そして、検
出された各L*、a*、b*画像データの出現頻度の極大
値を持つ画素値は代表色抽出部553に入力される。
【0208】代表色抽出部553では、各L*、a*、b
*画像データから各L*、a*、b*画像データの出現頻度
の極大値の数、極大値を持つ画素値をそれぞれ格納す
る。L *画像データの極大値の数をmL、各極大値をf
1[i](i=1〜mL)、a*画像データの極大値の数
をma、各極大値をfa[i](i=1〜ma)、b*
像データの極大値の数をmb、各極大値をfb[i]
(i=1〜mb)とした場合に、領域内に存在する可能
性があると考えられる色のデータ数mcは、 mc=mL×ma×mb …(9) で表わされる。この(9)式によって表される全ての色
の組み合わせを抽出し、データ数mcとともに、代表色
判定部554へ出力する。
【0209】色の組み合わせが抽出されたら、CPU5
70は、代表色判定部554の色の組み合わせの出現頻
度をカウントするカウンタを0にリセットする。そし
て、再度、領域情報メモリ516に格納される領域の属
性と情報にしたがって、フレームメモリ503から領域
に対応するL***画像データを代表色判定部554
に読み込む。読み込まれたL***画像データは、代
表色抽出部553で抽出された色の組み合わせの色差を
判定し、色差が最小となる色に対応するカウンタの内容
を1インクリメントする。
【0210】フレームメモリ503に格納されるL**
*画像データのすべての画素値について、代表色抽出
部553で抽出された色の組み合わせの色差の判定と、
色差が最小となる色のカウントが終了したら、各色のカ
ウンタの内容と閾値Th3を比較する。そして、閾値T
h3以上となる色に関しては、その色が領域内の画像を
表現するのに不可欠な色であるため、これらの色の数を
カウントし、そのカウントされた数を画像を量子化する
ための量子化数nとする。また、閾値Th3以上となる
色を前景色代表色とし、量子化数nともに端子557か
ら外部に出力する。これらの量子化数nと前景色代表色
は、対応する領域の属性と情報ともに領域情報メモリ5
16に格納される。
【0211】以上のようにして、各L*、a*、b*画像
データの下地代表濃度bL、下地代表濃度ba、下地代
表濃度bbとL***画像データを好適に量子化する
量子化数nと前景色代表色が出力される。次に第5の実
施の形態で実行される処理について、図33のフローチ
ャートを用いて説明する。
【0212】図33は第5の実施の形態で実行される処
理の処理フローを示すフローチャートである。まず、処
理に先立ち、CPU570はフレームメモリ503と、
ヒストグラム生成部506〜508のカウンタの内容を
0にクリアする。ステップS1101で、続いて、CP
U570はユーザの指示に従って、画像入力部501か
らカラー多値画像である原稿画像を読み込み、そのL*
**画像データをフレームメモリ503に格納する。
ステップS1102で、原稿画像分のL***画像デ
ータがフレームメモリ503に格納された後、CPU5
70は、フレームメモリ503からL***画像デー
タを読み出し、各L*、a*、b*画像データをそれぞれ
ヒストグラム生成部506〜508に入力し、入力され
た各L*、a*、b*画像データの全ての画素によってヒ
ストグラムを生成する。
【0213】ステップS1103で、CPU570は各
下地濃度判定部509〜511を動作させ、各L*
*、b*画像データのヒストグラムの中で出現頻度が最
大値を持つ画素値を下地代表濃度bL、下地代表濃度b
a、下地代表濃度bbとして抽出する。更に、各下地代
表濃度bL、下地代表濃度ba、下地代表濃度bbと所
定の閾値Th1と各ヒストグラム生成部506〜508
で生成されたヒストグラムから、各L*、a*、b*画像
データの下地を構成する画素の濃度の幅として濃度幅下
限値btL0と濃度幅上限値btL1、濃度幅下限値bt
a0と濃度幅上限値bta1、濃度幅下限値btb0と濃
度幅上限値btb1を抽出する。
【0214】ステップS1104で、フレームメモリ5
03のすべてのL***画像データについて、2値化
し、2値化されたL***画像データが2値フレーム
メモリ513に格納された後、CPU570は像域分離
部514を起動する。像域分離部514は、2値フレー
ムメモリ513から読み込んだ2値化されたL** *
画像データを領域分割し、分割された領域の属性を像域
分離処理によって判定する。判定された領域の属性や各
領域の位置等を示す情報は領域情報メモリ516に格納
する。
【0215】ステップS1105で、量子化数判定部5
15は、各L*、a*、b*画像データのヒストグラムに
おいて、下地代表濃度以外の出現頻度の極大値を持つ画
素値に基づいて、前景色代表色を抽出する。ステップS
1106で、抽出された前景色代表色に基づいて、画像
データを量子化するための量子化数を判定する。尚、第
5の実施の形態では、図32の代表色判定部554の領
域内に存在する前景代表色の抽出において、色の頻度
(L***画像データ)の比較に基づいて前景代表色
の抽出を行ったが、これに限定されない。例えば、代表
色抽出部553で抽出された色の組み合わせを初期ベク
トルとし、フレームメモリ503からL***画像デ
ータを読み込む。そして、ベクトル量子化のベクトルを
決定するのに一般的な手法であるLBG法を用いて最適
なベクトルを算出する。更に、各ベクトルが表わすL*
**画像データ間で色差を判定し、視覚的に差が目立
たない色差のものを統合することで前景代表色を抽出し
てももちろん構わない。
【0216】更に、第5の実施の形態では、図32の色
変換部502でL***に変換して代表色濃度、量子
化数n、前景色代表色を得たが、他に輝度色度を表すY
CbCrなどの画像データに変換しても構わない。ま
た、処理を簡略化するために、色変換部502を省略し
て、RGBカラー画像データのまま行っても構わない。
このときのブロック図を図34に示す。尚、図31と同
じ番号を付したものはまったく同じ動作を行う。フレー
ムメモリ503はRGB画像データを格納し、ヒストグ
ラム生成部506と下地濃度判定部509はR画像デー
タを、ヒストグラム生成部507と下地濃度判定部51
0はG画像データを、ヒストグラム生成部508と下地
濃度判定部511はB画像データの処理を行う。
【0217】また、処理を簡略化するために、L*画像
データのみを像域分離に用いても構わない。このときの
ブロック図を図35に示す。尚、図31と同じ番号を付
したものはまったく同じ動作を行う。530は平坦画素
判定部であり、フレームメモリ503からL*画像デー
タを読み込み、(4)式のエッジ量eLを求め、閾値T
h2と比較を行い、0または1を出力する。531と5
32は最大頻度検出部であり、図23の最大頻度検出部
404と同じ構成で同様に動作する。533は比較部で
あり、下地判定部509から濃度幅下限値btL0と濃
度幅上限値btL1を、フレームメモリ503からL*
像データを入力する。
【0218】L***画像データが入力順にフレーム
メモリ503から読み出され、ラッチ505に入力され
ると同時に、L*画像データが平坦画素判定部530に
入力され、エッジ量eLにしたがって0または1を出力
する。ヒストグラム生成部506〜508でヒストグラ
ムの生成が終了したら、下地濃度判定部509と最大頻
度検出部530、531を起動させ、下地濃度判定部5
09ではL*画像データの下地代表濃度bL、濃度幅下
限値btL0、濃度幅上限値btL1を算出し、最大頻度
検出部531、132はa*、b*画像データの下地代表
濃度ba、bbをそれぞれ算出する。
【0219】比較部532は濃度幅下限値btL0、濃
度幅上限値btL1を入力し、更に、フレームメモリ5
03からL*画像データを読み込み、入力されたL*画像
データが濃度幅下限値btL0と濃度幅上限値btL1の
間の値であれば「0」をそうでなければ「1」を出力す
る。この2値結果を2値フレームメモリ513に格納
し、像域分離処理を行い、領域情報を領域情報メモリ5
16に入力する。更に、フレームメモリ503からL*
**画像データを読み込み、量子化数判定部515で
量子化数n、前景色代表色を算出する。
【0220】次に第5の実施の形態で説明される画像処
理装置の適用例を説明する。例えば、図36に示される
ような光学的文字認識装置に適用させた場合に、実行さ
れる動作とその構成を説明する。図36は第5の実施の
形態の画像処理装置を適用させた光学的文字認識装置の
構成を示すブロック図である。
【0221】図36において、560は第5の実施の形
態の図31に示される画像処理装置である。561は図
31の端子517〜519から出力された各L*、a*
*画像データの下地代表濃度bL、ba、bbと端子
520から出力された領域情報と量子化数nと各前景色
代表色を入力し、端子521から出力されたフレームメ
モリ503から出力されたL***画像データを量子
化する量子化部である。
【0222】562はフレームメモリであり、量子化部
561で量子化されたL***画像データを格納す
る。例えば、量子化数がnであるとすると、n値化され
たL***画像データをn枚のビットプレーンで格納
する。563はフレームメモリ562に格納される各ビ
ットプレーン画像を読み込み、読み込んだ画像に含まれ
る文字を認識し、対応する文字情報を文字のコードとし
て出力するOCR部である。
【0223】564はOCR部563が出力した文字コ
ードを格納すると同時に、L** *画像データに存在
する領域の属性と情報から文字の並びを調整し、色文字
である文字については、文字コードのほかに色コードも
付加する文字情報合成部である。565はL***
像データに存在する領域毎に文字コードと色コードを記
憶する記憶装置である。
【0224】次に図36で実行される処理の概要を説明
する。画像処理装置160で、L***画像データに
存在する領域の属性と情報の抽出、各領域の量子化数n
と前景色代表色の抽出が終了したら、CPU570は抽
出された領域でその属性が「文字」である領域につい
て、対応するL***画像データの画素値を端子52
1から、領域の情報を端子520から、各L***
像データの下地代表濃度bL、ba、bbを端子517
〜519から読み出し、量子化部561に入力する。
【0225】尚、ここで、フレームメモリ562に格納
されるn枚のビットプレーン画像の内容を「0」にクリ
アしておく。また、量子化部561は、下地代表濃度b
L、ba、bbで表わされる色を0番、領域情報の前景
色代表色を1番からn番まで割り振っておく。そして、
この1番からn番は、フレームメモリ562に格納され
るn枚のビットプレーン画像に1対1で対応している。
【0226】続いて、領域に対応するL***画像デ
ータの画素値より、L***画像データと下地の色、
前景色代表色との間で色差を抽出し、最も色差の小さか
った色を検出し、検出された色に対応する割り振られた
番号を判定する。判定された番号が0以外であれば、そ
の番号が表わすフレームメモリ562のビットプレーン
画像に対応する画素を「1」とする。この作業を領域内
の全ての画素について行った後に、CPU570はOC
R部563を起動させる。
【0227】OCR部563は、ビットプレーン画像を
1番から順に入力し、入力されたビットプレーン画像に
存在する文字をOCR処理によって文字コードを生成
し、その生成された文字の位置を検出していく。1つの
ビットプレーン画像が終了したら、その文字コード、位
置、ビットプレーン画像の番号を文字情報合成部564
に領域毎に格納する。
【0228】領域情報メモリ516に格納されているす
べての領域について、上述の処理が実行され、その処理
結果が文字情報合成部564へ格納されたら、CPU5
70は文字情報合成部564に格納される各領域の位置
を示す情報から各領域を読み出す順番を推定する。そし
て、その推定された順番に従って、各領域に含まれる文
字の情報を読み出し、文字の位置を示す情報から文字順
を算出する。更に、対応する文字コードと文字の色のコ
ードを正しく並び変えて、記憶装置565の所定の記憶
領域に格納する。全ての領域に含まれる文字の情報が記
憶装置565へ格納されたら、全ての動作を終了する。
【0229】以上説明したように、第5の実施の形態に
よれば、各L*、a*、b*画像データの画素値のヒスト
グラムに基づいて、各L*、a*、b*画像データの下地
代表濃度bL、下地代表濃度ba、下地代表濃度bb
と、下地の濃度幅上限値btL1と濃度幅下限値btL
0、下地の濃度幅上限値bta1、更には濃度幅下限値b
ta0、下地の濃度幅上限値btb1と濃度幅下限値bt
b0を抽出し、各濃度幅上限値と濃度幅下限値の範囲内
に含まれる画素値をすべて下地代表濃度として出力する
ことで、一定した好適な下地の濃度を出力することがで
きる。
【0230】また、各L*、a*、b*画像データの下地
代表濃度bL、下地代表濃度ba、下地代表濃度bbを
示す極大値以外にヒストグラムに存在する出現頻度の極
大値の数に基づいて、下地以外に原稿画像に存在する画
像の色の組み合わせを判定する。そして、その判定され
た画像の色の組み合わせを表現する各色群とL** *
画像データとの色差を算出し、算出された色差が最小と
なる色の出現頻度を各画素値毎に計数する。更に、色差
が最小となる色の出現頻度の分布に対し、閾値Th3以
上となる色(前景色代表色)で出力することで、一定し
た好適な色の画素値で画像を出力することができる。
【0231】更に、閾値Th3以上となる色の個数に基
づいて、原稿画像を量子化するための量子化数を判定す
るため、原稿画像を好適に量子化する量子化数を決定す
ることができる。また、カラー多値画像に対して、高速
で比較的小さい回路規模で好適な量子化数の判定が可能
になり、下地のノイズに影響されることなく、文字等の
前景色を効率良く抽出できる。また、OCRに適用した
場合、文字の色を抽出することができるため、色の情報
を欠落させることがない。更に、文字情報を検索する際
に色で検索したり、色文字を重要な情報とするキーワー
ドとすることで効率的な検索を行うことも可能となる。
【0232】<第6の実施の形態>第6の実施の形態で
は、第4の実施の形態と第5の実施の形態で説明された
装置構成によって実行される処理のプログラムを、例え
ば、ROM等の記憶媒体に記憶させ、そのプログラムを
実行することで、本発明で説明される処理を行う。図3
7は第6の実施の形態の画像処理装置の構成を示すブロ
ック図である。
【0233】図37において、1201は後述する第6
の実施の形態で説明される処理(図40〜53のフロー
チャート参照)を実行する実行プログラムによって動作
し、装置を構成する各構成要素の制御を行うCPUであ
る。1202はその実行プログラムを格納し、実行プロ
グラムを実行するのに必要な記憶容量を確保するプログ
ラムメモリである。1203はユーザが実行プログラム
の実行等の各種指示を入力する端末である。
【0234】1204は磁気ディスク等で構成される記
憶装置である。1205は原稿画像の読み込みを行う白
黒スキャナである。ここではカラー多値画像データの原
稿画像を読み込むこととする。1206はカラー多値画
像データを、原稿画像分格納する多値フレームメモリで
ある。1207はカラー多値画像データを2値化して得
られる2値画像データを、原稿画像分格納する2値フレ
ームメモリである。1208は通信プロトコルに合わせ
て符号化データを送信する通信インタフェース(通信I
/F)である。1209は電話回線やLANで構成され
る通信回線である。210は装置を構成する各構成要素
を接続し、画像データ等の各種データや制御信号を授受
するバスである。
【0235】以下、第6の実施の形態で実行される処理
について、図40〜図53のフローチャートを用いて説
明する。尚、第6の実施の形態では、例えば、ユーザの
指示によって、原稿画像をスキャナ205より読み込
む。そして、読み込んで得られる画像データを2値化
し、2値化して得られる2値画像データの領域分割を行
う。分割された各領域の属性を像域分離処理によって判
定し、判定された属性に基づいて2値画像データに含ま
れる各領域を量子化するための量子化数を決定する。更
に、決定された量子化数に基づいて、各領域の構造化デ
ータを生成し、生成された構造化データを記憶装置12
04に格納するまでの処理を、例に挙げて説明する。
【0236】また、構造化データは、各領域の属性に基
づいて、領域に対応する2値画像データを好適に符号化
した符号化データのことである。また、第6の実施の形
態で説明される処理を実行する原稿画像は、例えば、図
38の(a)に示されるような原稿画像を用いるものと
する。原稿画像に存在する文字は、太字の「灰色」とい
う文字が灰色であり、斜字の「赤文字」という文字が赤
色であり、それ以外は黒色の文字から構成されている。
【0237】まず、図40〜図42のフローチャートを
用いて、白黒スキャナ1205にセットされた原稿画像
を、端末1203から装置を起動することで、原稿画像
の画像データを読み込み、読み込まれた画像データに基
づいて、画像データの下地代表濃度bg_valueと濃度幅下
限値bt0と濃度幅上限値bt1を算出するまでの処理に
ついて説明する。
【0238】図40〜図42は第6の実施の形態によっ
て実行される画像データの下地代表濃度bg_valueと濃度
幅下限値bt0と濃度幅上限値bt1を算出する処理の処
理フローを示すフローチャートである。図40におい
て、ステップS1001で、CPU1201は白黒スキ
ャナ1205から画像データを読み込み、多値フレーム
メモリ1206に格納する。次に、ステップS1002
で、多値フレームメモリ1206上に展開される画像デ
ータの各画素データp(x,y)の画素値をカウントす
るカウンタを0にリセットする。尚、カウンタは頻度hi
st_pixel[i](i=0〜255)からなり、例えば、
画素値がiの画素データは、頻度hist_pixel[i]にカ
ウントされる。また、各カウンタでカウントされる値は
各画素値の出現頻度を示す。
【0239】ステップS1003で、多値フレームメモ
リ1206上より画素データp(x,y)の画素値を順
次読み込み、すべての画素データp(x,y)の画素値
が読み込まれたか否かを判定する。そして、すべての画
素データp(x,y)の画素値が読み込まれるまでは、
ステップS1004で、順次読み込まれる画素データp
(x,y)の画素値に対応する頻度hist_pixel[p(x,
y)]の内容を1インクリメントする。
【0240】そして、各画素データp(x,y)の画素
値の読み込みが終了したら、ステップS1006に進
む。尚、各画素データp(x,y)の画素値の読み込み
が終了すると、頻度hist_pixel[i]に示される各画素
値の出現頻度によって、画像データの画素値の出現頻度
のヒストグラムが生成される。ステップS1006で、
生成されたヒストグラムの各画素値の出現頻度と比較す
るための変数max_hist、比較の結果に基づいて決定され
る下地代表濃度bg_value、比較した画素値の数をカウン
トするループカウンタiの内容を0にリセットする。
【0241】ステップS1007で、生成されたヒスト
グラムから各画素値の頻度hist_pixel[i]を読み込
み、すべての頻度hist_pixel[i]が読み込まれたか否
かを判定する。そして、すべての頻度hist_pixel[i]
が読み込まれるまでは、ステップS1008で、順次読
み込まれるhist_pixel[i]と変数max_histを比較す
る。頻度hist_pixel[i]が変数max_histより大きい場
合(ステップS1008でYES)、ステップS100
9に進む。ステップS1009で、変数max_histに頻度
hist_pixel[i]を代入し、下地代表濃度bg_valueにル
ープカウンタiの内容を代入する。一方、頻度hist_pix
el[i]が変数max_histより小さい場合(ステップS1
008でNO)、ステップS1010に進む。
【0242】ステップS1010で、ループカウンタi
の内容を1インクリメントする。そして、すべての頻度
hist_pixel[i]の比較が終了したら、つまり、ループ
カウンタiの内容が255になったら、ステップS10
11に進む。図39において、ステップS1011で、
ヒストグラムを正規化するための量子化ステップmax_hi
st /100を算出した後に、前述の(6)式に従っ
て、量子化頻度hist_q[i]を算出する。
【0243】次に、ステップS1012で、読み込まれ
る量子化頻度hist_q[i]の数をカウントするループカ
ウンタiの内容を0にリセットする。ステップS101
3で、読み込まれる量子化頻度hist_q[i]を順次読み
込み、すべての量子化頻度hist_q[i]が読み込まれた
か否かを判定する。そして、すべての量子化頻度hist_q
[i]が読み込まれるまでは、ステップS1014で、
順次読み込まれる量子化頻度hist_q[i]とノイズ閾値n
oise_thを比較する。量子化頻度hist_q[i]がノイズ閾
値noise_thより小さい場合(ステップS1014でN
O)、ステップS1015に進む。ステップS1015
で、量子化頻度hist_q[i]の内容を0にする。一方、
量子化頻度hist_q[i]がノイズ閾値noise_thより大き
い場合(ステップS1014でYES)、ステップS1
016に進む。尚、ノイズ閾値noise_thは第4の実施の
形態で説明される閾値Th1と同様の目的に使うための
閾値である。
【0244】ステップS1016で、ループカウンタi
の内容を1インクリメントする。そして、すべての量子
化頻度hist_q[i]の比較が終了したら、つまり、ルー
プカウンタiの内容が256になったら、ステップS1
017に進む。ステップS1017で、下地濃度下限値
bt0として下地代表濃度bg_valueから1を引いたもの
を算出する。ステップS1018で、順次、頻度hist_q
[bt0]が0であるか否かを判定する。そして、頻度his
t_q[bt0]が0になるまで、ステップS1019で、下
地濃度下限値bt0から1デクリメントする。
【0245】そして、頻度hist_q[bt0]が0になった
ら、ステップS1020で、下地濃度上限値bt1とし
て下地代表濃度bg_valueから1を足したものを算出す
る。尚、頻度hist_q[bt0]が0になった時の下地濃度
下限値bt0が、下地濃度下限値bt0となる。ステップ
S1021で、順次、下地濃度上限値bt1の頻度hist_
q[bt1]が0であるか否かを判定する。そして、頻度hi
st_q[bt1]が0になるまで、ステップS1022で、
下地濃度上限値bt1から1インクリメントする。そし
て、頻度hist_q[bt1]が0になったら、処理を終了す
る。尚、頻度hist_q[bt1]が0になった時の下地濃度
上限値bt1が、下地濃度上限値bt1となる。
【0246】以上、図40〜図42のフローチャートで
説明された処理によって、画像データの下地代表濃度bg
_value、下地濃度下限値bt0、下地濃度上限値bt1が
算出される。また、図38の(a)の原稿画像に上述の
処理を適用した場合、図39のようなヒストグラムが得
られる。図39において、点線はノイズ閾値noise_thを
表わす。ヒストグラムで右端の最も大きな出現頻度を持
つ画素値が下地代表濃度bg_valueであり、その山の両端
に下地濃度下限値bt0、下地濃度上限値bt1が存在す
る。
【0247】続いて、図43のフローチャートを用い
て、画像データの像域分離処理を行うために画像データ
を2値化する処理について説明する。図43は第6の実
施の形態で実行される画像データを2値化する処理の処
理フローを示すフローチャートである。ステップS11
01で、多値フレームメモリ1206上に展開される画
像データの各画素データp(x,y)を順次読み込む。
そして、ステップS1102で、すべての画素データp
(x,y)に対し、後述のステップS1103で実行さ
れる処理が終了したか否かを判定する。そして、ステッ
プS1103で、すべての画素データp(x,y)に対
し、2値画像データb(x,y)に変換する2値化を行
う。2値化の方法は、順次読み込まれる画素データp
(x,y)の画素値が下地濃度下限値bt0以上でかつ
下地濃度上限値bt1未満であるかを判定する。
【0248】そして、画素データp(x,y)が下地濃
度下限値bt0以上でかつ下地濃度上限値bt1未満であ
れば、ステップS1105で、その画素データp(x,
y)の2値画像データb(x,y)を「0」として、2
値フレームメモリ1207の対応する領域に書き込む。
一方、画素データp(x,y)が下地濃度下限値bt0
未満または下地濃度上限値bt1以上であれば、ステッ
プS1104で、その画素データp(x,y)の2値画
像データb(x,y)を「1」として、2値フレームメ
モリ1207の対応する領域に書き込む。
【0249】多値フレームメモリ1206に上の全ての
画素データp(x,y)について、2値化されたら、処
理を終了する。以上、図43のフローチャートで説明さ
れた処理によって、2値フレームメモリ1207に、多
値フレームメモリ1206上に格納される画像データの
各画素データp(x,y)の2値化された2値画像デー
タb(x,y)が格納される。
【0250】続いて、図44〜図47のフローチャート
を用いて、2値フレームメモリ1207上に格納された
2値画像データを領域分割し、分割された領域の属性を
像域分離処理によって判定する。そして、判定された属
性に基づいて多値画像データに含まれる各領域の前景色
代表濃度を抽出し、抽出された前景色代表色、前景色代
表濃度に基づいて、各領域を量子化するための量子化数
を決定する処理について説明する。
【0251】図44〜図47は第6の実施の形態で実行
されるの多値画像データに含まれる各領域を量子化する
ための量子化数、前景色代表濃度を決定する処理の処理
フローを示すフローチャートである。図44において、
ステップS1201で、2値フレームメモリ1207か
ら2値画像データを読み込む。ステップS1202で、
読み込まれた2値画像データに対し、類似する属性を持
つ領域毎に分割する。そして、分離された領域数をカウ
ンタarea_countでカウントする。また、各領域の位置座
標と大きさを求める。ステップS1203で、カウント
された各領域に対して、各領域に含まれる「1」である
2値画像データの塊の密度や形状、並びから「画像」、
「図形」、「文字」等の領域の属性を判定する像域分離
処理を行う。ここでは、上述の第3の実施形態と同様の
像域分離処理の方法を用いて、像域分離を行う。尚、図
38の(a)の原稿画像に対し、像域分離を行うと、図
38の(b)のような領域1221〜1223に分割さ
れ、各領域は「文字」の属性を持つ領域として判定され
る。
【0252】次に、カウントされた各領域に対し、画像
表現に必要な量子化数を決定する量子化数決定処理を、
ステップS1204以降で行う。ステップS1204
で、ループカウンタkの値を1にセットする。また、ル
ープカウンタkは、各領域に対して量子化数決定処理が
終了する毎に、1インクリメントされ、そのカウント値
と領域の番号が対応している。ステップS1205で、
ループカウンタkの値がカウンタarea_countの値よりも
大きいか否かを判定する。ループカウンタkの値がカウ
ンタarea_countの値よりも小さい場合(ステップS12
05でNO)、ステップS1206に進む。一方、ルー
プカウンタkの値がカウンタarea_countの値よりも大き
い場合(ステップS1205でYES)、すべてのカウ
ントされた領域に対して、量子化数決定処理がなされた
ことになるので、処理を終了する。
【0253】ステップS1206で、多値フレームメモ
リ1206からループカウンタkの値に対応する領域の
画素データp(x,y)の画素値をカウントするカウン
タを0にリセットする。尚、カウンタは頻度hist_area
[i](i=0〜255)からなり、例えば、画素値が
iの画素データは、頻度hist_area[i]にカウントされ
る。また、各カウンタでカウントされる値は各画素値の
出現頻度を示す。
【0254】ステップS1207で、多値フレームメモ
リ1206からループカウンタkの値に対応する領域の
画素データp(x,y)の画素値と2値フレームメモリ
1207から画素データp(x,y)に対応する画素デ
ータb(x,y)の画素値を順次読み込み、すべての画
素データp(x,y)と画素データb(x,y)の画素
値が読み込まれたか否かを判定する。そして、すべての
画素データp(x,y)と画素データb(x,y)の画
素値が読み込まれるまでは、ステップS1208で、順
次読み込まれる画素データb(x,y)の画素値を判定
する。画素データb(x,y)の画素値が1の場合(ス
テップS1208でYES)、ステップS1209に進
む。ステップS1209で、画素データp(x,y)の
画素値に対応する頻度hist_area[p(x,y)]の内容を1
インクリメントする。一方、画素データb(x,y)の
画素値が1でない場合(ステップS1208でNO)、
つまり、画素値が0である場合、ステップS1207に
戻る。
【0255】そして、全ての画素値の読み込みが終了し
たら、ステップS1210に進む。尚、全ての画素値の
読み込みが終了すると、頻度hist_area[i]に示される
各画素値の出現頻度によって、画像データの画素値の出
現頻度のヒストグラムが生成される。 次に、ステップ
S1210〜ステップS1213で生成されたヒストグ
ラムを平滑化する処理を行う。
【0256】図43において、ステップS1210で、
生成されたヒストグラムの各画素値の出現頻度hist_are
a[i]を平滑化した画素値の数をカウントするループカ
ウンタiの内容を0にリセットする。ステップS121
1で、生成されたヒストグラムから各画素値の頻度hist
_area[i]を読み込み、すべての頻度hist_area[i]が
読み込まれたか否かを判定する。そして、すべての頻度
hist_area[i]が読み込まれるまでは、ステップS12
12で、上述の(8)式に従って、順次読み込まれるhi
st_area[i]を平滑化し、平滑化頻度hist_sm[i]を算
出する。
【0257】ステップS1213で、ループカウンタi
の内容を1インクリメントする。そして、すべての頻度
hist_area[i]の平滑化が終了したら、つまり、ループ
カウンタiの内容が256になったら、ステップS12
14に進む。次に、ステップS1214〜ステップS1
228で、平滑化頻度hist_sm[i]からなるヒストグラ
ムより、ヒストグラムに存在する極大値と極小値を検出
し、検出された極大値と極小値に基づいて、領域の前景
色代表濃度を判定する処理を行う。
【0258】ステップS1214で、極大値テーブルli
st_1[i]の内容と、平滑化されたヒストグラムに存在
する極大値の数をカウントするカウンタex_count_1の内
容と、平滑化頻度hist_sm[i]の数をカウントするルー
プカウンタiの内容を0にリセットする。尚、極大値テ
ーブルlist_1[i]は、カウンタex_count_1のカウント
数(list_1[ex_count_1])とそのカウント数に対応す
る極大値を持つ平滑化頻度hist_sm[i]の画素値の関係
を示すテーブルである。
【0259】ステップS1215で、極小値テーブルli
st_2[1]の内容を0にセットし、平滑化されたヒスト
グラムに存在する極小値の数をカウントするカウンタex
_count_2の内容を1にセットする。尚、極小値テーブル
list_2[i]は、カウンタex_count_2のカウント数(lis
t_2[ex_count_2])とそのカウント数に対応する極小
値を持つ平滑化頻度hist_sm[i]の画素値の関係を示す
テーブルである。但し、一般的に、平滑化されたヒスト
グラムには、画素値が小さい所で、出現頻度が0の極小
値を持つ画素値を持っているので、1番目にカウントさ
れる極小値を持つ画素値は0となり、極小値テーブルli
st_2[1]には0がセットされる。
【0260】ステップS1216で、平滑化されたヒス
トグラムから各画素値の平滑化頻度hist_sm[i]を読み
込み、すべての平滑化頻度hist_sm[i]が読み込まれた
か否かを判定する。そして、すべての平滑化頻度hist_s
m[i]が読み込まれるまでは、ステップS1217で、
順次読み込まれる平滑化頻度hist_sm[i]が極大値であ
るか否かを判定する。平滑化頻度hist_sm[i]が極大値
である場合(ステップS1217でYES)、ステップ
S1218に進む。ステップS1218で、カウンタex
_count_1の内容を1インクリメントし、極大値テーブル
list_1[i]のカウント数list_1[ex_count_1]に平滑
化頻度hist_sm[i]の画素値を対応付ける。一方、平滑
化頻度hist_sm[i]が極大値でない場合(ステップS1
217でNO)、ステップS1219に進む。
【0261】ステップS1219で、順次読み込まれる
平滑化頻度hist_sm[i]が極小値であるか否かを判定す
る。平滑化頻度hist_sm[i]が極小値である場合(ステ
ップS1219でYES)、ステップS1220に進
む。ステップS1220で、カウンタex_count_2の内容
を1インクリメントし、極小値テーブルlist_2[i]の
カウント数list_2[ex_count_2]に平滑化頻度hist_sm
[i]の画素値を対応付ける。一方、平滑化頻度hist_sm
[i]が極小値でない場合(ステップS1219でN
O)、ステップS1221に進む。
【0262】ステップS1221で、ループカウンタi
の内容を1インクリメントする。そして、すべての平滑
化頻度hist_sm[i]の比較が終了したら、つまり、ルー
プカウンタiの内容が256になったら、ステップS1
222に進む。図24において、ステップS1222
で、極大値テーブルlist_3[i]の内容を0にリセット
する。また、極大値テーブルlist_1[i]の中で極大値
の値が近い極大値は、それらを1つの極大値として統合
し、その統合後に得られる極大値とそれ以外の極大値の
数をカウントするカウンタex_count_3の内容を0にリセ
ットする。更に、統合する極大値の有無の判定がなされ
た平滑化頻度hist_sm[i]の数をカウントするループカ
ウンタiの内容を0にリセットする。尚、極大値テーブ
ルlist_3[i]は、カウンタex_count_3のカウント数(l
ist_3[ex_count_3])とそのカウント数に対応する極
大値を持つ平滑化頻度hist_sm[i]の画素値の関係を示
すテーブルである。
【0263】ステップS1223で、極小値テーブルli
st_2[1]の内容を極小値テーブルlist_4[1]にセット
する。また、極大値が統合されることによって、なくな
る極小値とそれ以外の極小値の数をカウントするカウン
タex_count_4の内容を1にセットする。尚、極小値テー
ブルlist_4[i]は、カウンタex_count_4のカウント数
(list_4[ex_count_4])とそのカウント数に対応する
極小値を持つ平滑化頻度hist_sm[i]の画素値の関係を
示すテーブルである。
【0264】ステップS1224で、極大値テーブルli
st_1[i]から各極大値を読み込み、読み込まれた極大
値の数がカウンタex_count_1よりも大きい否かを判定す
る。そして、読み込まれた極大値の数がカウンタex_cou
nt_1よりも大きくなるまでは、ステップS1225で、
極大値テーブルlist_1[i]のi+1番目の極大値と、i番
目の極大値に対応する画素値の差を算出し、算出された
差が所定の閾値Th5よりも大きいか否かを判定する。
【0265】算出された差が所定の閾値Th5よりも大
きい場合(ステップS1225でYES)、ステップS
1226に進む。ステップS1226で、カウンタex_c
ount_3の内容を1インクリメントし、極大値テーブルli
st_3[i]のカウント数list_3[ex_count_3]に、極大
値テーブルlist_1[i]のカウント数list_1[i]に対応
する平滑化頻度hist_sm[i]の画素値を対応付ける。ス
テップS1227で、極小値テーブルlist_4[i]のカ
ウント数list_4[ex_count_4]に、極小値テーブルlist
_2[i]のカウント数list_2[i]に対応する平滑化頻度
hist_sm[i]の画素値を対応付ける。一方、算出された
差が所定の閾値Th5よりも小さい場合(ステップS1
225でNO)、ステップS1228に進む。
【0266】ステップS1228で、ループカウンタi
の内容を1インクリメントする。そして、極大値テーブ
ルlist_1[i]から各極大値を読み込み、読み込まれた
極大値の数、つまり、ループカウンタiの内容がカウン
タex_count_1の内容よりも大きくなったら、ステップS
1229に進む。尚、極大値テーブルlist_3[i]に格
納されている極大値に対応する画素値が、前景色代表濃
度となる。
【0267】次に、ステップS1229〜ステップS1
237で、平滑化頻度hist_sm[i]からなるヒストグラ
ムより検出された極大値と極小値に基づいて、領域の前
景色代表濃度を判定する。更に、判定された前景色代表
濃度に基づいて、領域を量子化するための量子化数、量
子化するための閾値である前景色代表閾値を判定する処
理を行う。
【0268】図47において、ステップS1229で、
前景色代表濃度テーブルlist_color[i]の内容と、前
景色代表閾値テーブルlist_v[i]の内容と、前景色代
表濃度の数をカウントするカウンタcolor_numberの内容
と、前景色代表濃度の判定がなされた極大値(前景色代
表濃度)の数をカウントするループカウンタiの内容を
0にリセットする。尚、前景色代表濃度テーブルlist_c
olor[i]は、カウンタcolor_numberのカウント数(lis
t_color[color_number])とそのカウント数に対応す
る極大値を持つ平滑化頻度hist_sm[i]の画素値の関係
を示すテーブルである。また、前景色代表閾値テーブル
list_v[i]は、カウンタcolor_numberのカウント数(l
ist_v[color_number])とそのカウント数に対応する
極小値を持つ平滑化頻度hist_sm[i]の画素値の関係を
示すテーブルである。
【0269】ステップS1230で、極大値テーブルli
st_3[i]から各極大値を読み込み、読み込まれた極大
値の数がカウンタex_count_3よりも大きい否かを判定す
る。そして、読み込まれた極大値の数がカウンタex_cou
nt_3よりも大きくなるまでは、ステップS1231で、
変数subを(9)式に従って算出する。 sub=min((hist_pixel[list_3[i]]−hist_pixel[list_4[i]]), (hist_pixel[list_3[i]]−hist_pixel[list_4[i+1]] )) …(9) ステップS1232で、算出された変数subが所定の閾
値Th6よりも大きいか否かを判定する。算出された差
が所定の閾値Th6よりも大きい場合(ステップS12
32でYES)、ステップS1233に進む。ステップ
S1233で、カウンタcolor_numberの内容を1インク
リメントし、前景色代表濃度テーブルlist_color[i]
のカウント数list_color[color_number]に、極大値テ
ーブルlist_3[i]のカウント数list_3[i]に対応する
平滑化頻度hist_sm[i]の画素値を対応付ける。ステッ
プS1234で、前景色代表閾値テーブルlist_v[i]
のカウント数list_v[i][color_number]に、極小値
テーブルlist_4[i]のカウント数list_4[i]に対応す
る平滑化頻度hist_sm[i]の画素値を対応付ける。一
方、算出された差が所定の閾値Th6よりも小さい場合
(ステップS1232でNO)、ステップS1235に
進む。
【0270】ステップS1235で、ループカウンタi
の内容を1インクリメントする。そして、極大値テーブ
ルlist_3[i]から各極大値を読み込み、読み込まれた
極大値の数、つまり、ループカウンタiの内容がカウン
タex_count_3の内容よりも大きくなったら、ステップS
1236に進む。ステップS1236で、前景色代表濃
度テーブルlist_color[i]に格納されている極大値に
対応する画素値を前景色代表濃度とし、前景色代表閾値
テーブルlist_v[i]に格納されている極小値に対応す
る画素値を前景色代表閾値とする。また、カウンタcolo
r_numberは前景色代表濃度の存在する数を表しており、
その領域を量子化するための量子化数とする。これら
は、領域の情報として各領域毎にプログラムメモリ20
2の所定の領域に格納される。
【0271】ステップS1237で、ループカウンタk
の内容を1インクリメントする。そして、すべての領域
に対し画像表現に必要な量子化数を決定する量子化数決
定処理が行われたら、つまり、ループカウンタkの内容
がカウンタarea_countの値になったら、すべての処理を
終了する。以上、図44〜図47のフローチャートで説
明される処理によって、2値フレームメモリ1207上
に格納された2値画像データを領域分割し、分割された
領域の属性が像域分離処理によって判定される。そし
て、判定された属性に基づいて2値画像データに含まれ
る各領域を量子化するための量子化数と、量子化するた
めの前景色代表閾値、更には前景色代表濃度が決定され
る。
【0272】続いて、図48のフローチャートを用い
て、各領域の前景色代表閾値、前景色代表濃度領域に基
づいて、各領域を更に分割する処理について説明する。
尚、図38の(a)のようなカラー多値画像の場合、図
44のステップS1202の領域分割では、色の区別が
なされないため色毎に領域が分割されない。そのため、
色毎に領域を分割するために図48のフローチャートで
説明される処理を行う。
【0273】図48は第6の実施の形態で実行される領
域分割された各領域を、前景色代表閾値、前景色代表濃
度領域に基づいて、更に分割する処理の処理フローを示
すフローチャートである。ステップS1301で、ルー
プカウンタkの値を1にセットする。また、ループカウ
ンタkは、各領域の前景色代表閾値、前景色代表濃度領
域に基づいて、各領域を更に分割する処理が終了する毎
に、1インクリメントされ、そのカウント値と量子化数
color_numberでカウントされた領域の値が対応してい
る。ステップS1302で、ループカウンタkの値が量
子化数color_numberの値よりも大きいか否かを判定す
る。ループカウンタkの値がカウンタ量子化数color_nu
mberの値よりも小さい場合(ステップS1302でN
O)、ステップS1303に進む。一方、ループカウン
タkの値が量子化数color_numberの値よりも大きい場合
(ステップS1302でYES)、すべてのカウントさ
れた領域に対して、各領域の前景色代表閾値、前景色代
表濃度領域に基づいて、各領域を更に分割する処理がな
されたことになるので、処理を終了する。
【0274】ステップS1303で、多値フレームメモ
リ1206から対応する領域の画素データp(x,y)
の画素値を順次読み込み、すべての画素データp(x,
y)が読み込まれたか否かを判定する。そして、すべて
の画素データp(x,y)の画素値が読み込まれるまで
は、ステップS1304で、順次読み込まれる画素デー
タp(x,y)の画素値が、前景色代表閾値list_v[k-
1]以上でかつ前景色代表閾値list_v[k]未満であるか
を判定する。
【0275】そして、画素データp(x,y)が前景色
代表閾値list_v[k-1]以上でかつ前景色代表閾値list_
v[k]未満であれば、ステップS1305で、その画素
データp(x,y)の2値画像データb(x,y)を
「1」として、2値フレームメモリ1207の対応する
領域に書き込む。一方、画素データp(x,y)が前景
色代表閾値list_v[k-1]未満または前景色代表閾値lis
t_v[k]以上であれば、ステップS1306で、その画
素データp(x,y)の2値画像データb(x,y)を
「0」として、2値フレームメモリ1207の対応する
領域に書き込む。
【0276】多値フレームメモリ1206に上の全ての
画素データp(x,y)について、前景色代表閾値との
比較が終了したら、ステップS1307に進む。ステッ
プS1307で、2値フレームメモリ1207に書き込
まれた2値画像データに含まれる領域に対し、類似する
属性を持つ領域毎に更に分割する。そして、各領域が更
に分離された領域数をカウンタarea_count_areaでカウ
ントする。また、更に分離された各領域の位置座標と大
きさを求める。ステップS1308で、カウントされた
更に分離された各領域に対して、更に分離された各領域
に含まれる「1」である2値画像データの塊の密度や形
状、並びから「画像」、「図形」、「文字」等の領域の
属性を判定する像域分離処理を行う。ここでは、上述の
第3の実施形態と同様の像域分離処理の方法を用いて、
像域分離を行う。
【0277】ステップS1309で、更に分離された各
領域の位置座標と大きさ、属性、前景色代表濃度を対応
する領域毎に、プログラムメモリ1202の所定の領域
に格納される。ステップS1310で、ループカウンタ
kの内容を1インクリメントする。そして、すべての領
域に対し、各領域の前景色代表閾値、前景色代表濃度領
域に基づいて、各領域を更に分割する処理が行われた
ら、つまり、ループカウンタkの内容が量子化数color_
numberの値になったら、すべての処理を終了する。
【0278】以上、図48のフローチャートで説明され
る処理によって、図42のステップS1202の領域分
割された各領域が色毎の領域に更に分割される。また、
分割された領域の属性が像域分離処理によって判定され
る。尚、図38の(a)の原稿画像の場合、図44のス
テップS1202で説明される領域分割によって得られ
る図38の(b)の領域に対し、図48のフローチャー
トで説明される処理によって、図38の(c)に示され
るように、領域222内には灰色文字を示す領域122
4、領域1223には赤色文字を示す領域225が更に
領域をして分割される。また、第6の実施の形態のよう
に、カラー多値画像データを白黒スキャナで読み込む場
合は、カラー多値画像データに含まれる色の情報は読み
込まれない。しかし、色によってカラー多値画像データ
の濃度が異なるので、その濃度の違いによって色を判定
あるいは推定できるので、図48のフローチャートで説
明される処理のように、領域を更に色毎の領域に分割す
ることが可能となる。
【0279】また、従来は下地の濃度を含んだまま、原
稿画像の前景色代表濃度を、その原稿画像の画素値の出
現頻度に基づいて判定していた。例えば、図38の
(b)の領域1222の画素値の出現頻度のヒストグラ
ムは図49の(a)、領域1223の画素値の出現頻度
のヒストグラムは図49の(b)のように生成されてい
た。そのため、これらのヒストグラムより、前景色代表
濃度を極大値から判定しようとすると背景の裏写り等の
ノイズによって極大値のカウントを誤ってしまう。ま
た、本来、文字等の抽出したい濃度の頻度が全体に比べ
て小さいため、ノイズとの分離が困難であった。
【0280】そこで、第6の実施の形態では、原稿画像
の下地の濃度を除去することで、原稿画像の前景色代表
濃度の判定の精度を向上させている。例えば、図38の
(b)の領域1222の下地濃度を除去した画素値の出
現頻度のヒストグラムは図49の(c)となり、図38
の(b)の領域1223の下地濃度を除去した画素値の
出現頻度のヒストグラムは図49の(d)となる。これ
によって、文字等の必要な濃度が強調されたヒストグラ
ムが得られるので、黒文字の代表濃度、灰色文字の代表
濃度、赤文字を白黒スキャナ1205で読み込んだ場合
でも、代表濃度を明確にできるわけである。
【0281】続いて、図50〜図53のフローチャート
を用いて、2値画像データに含まれる各領域の属性と対
応する量子化数に基づいて、2値画像データに含まれる
各領域の構造化データを生成する処理について説明す
る。図50〜図53は第6の実施の形態で実行される2
値画像データに含まれる各領域の構造化データを生成す
る処理の処理フローを示すフローチャートである。
【0282】図50において、ステップS1401で、
CPU570は、メモリ1202に格納されている全て
の領域について領域の並び変えを行う。並び変えは、原
稿画像に含まれる領域の構造化データを生成する処理の
処理順を決定するために行う。ここでは、まず最初にカ
ウンタarea_countでカウントされた数の領域の内、「文
字」の属性を持つ領域が、図48のフローチャートで説
明される処理によって更に領域が分割される場合は、更
に分割される前の「文字」の属性を持つ領域を削除す
る。そして、その「文字」の属性を持つ領域について
は、更に領域が分割された複数の領域として判定する。
それ以外の更に分割されない領域は、1つの領域として
判定する。このようにして、原稿画像に含まれる領域を
判定し、メモリ1202に格納される領域において、ま
ず、更に分割されない領域をラスタ方向で検索し、検索
された順に更に分割されない領域を並べる。続いて、更
に分割されるをラスタ方向で検索し、検索された順に更
に分割される領域を並べる。
【0283】ステップS1402で、並び変えられる領
域の総数をカウンタarea_count_allでカウントする。ス
テップS1403で、ループカウンタkの値を1にセッ
トする。また、ループカウンタkは、各領域に対して構
造化データを生成する処理が終了する毎に、1インクリ
メントされ、そのカウント値とカウンタarea_count_all
でカウントされた領域の値が対応している。ステップS
1404で、ループカウンタkの値がカウンタarea_cou
nt_allの値よりも大きいか否かを判定する。ループカウ
ンタkの値がカウンタarea_count_allの値よりも小さい
場合(ステップS1404でNO)、ステップS140
5に進む。一方、ループカウンタkの値がカウンタarea
_count_allの値よりも大きい場合(ステップS1404
でYES)、すべてのカウントされた領域に対して、構
造化データを生成する処理がなされたことになるので、
処理を終了する。
【0284】ステップS1405で、ループカウンタk
の値に対応する領域の像域分離処理による属性が「文
字」であるか否かを判定する。領域の属性が「文字」で
ある場合(ステップS1405でYES)、以下、後述
するステップS1409〜ステップS1414で説明さ
れる処理を行う。一方、領域の属性が「文字」でない場
合(ステップS1405でNO)、ステップS1406
に進む。
【0285】以下、領域の属性が「文字」である場合に
実行される処理について、図51のフローチャートを用
いて説明する。図51は第6の実施の形態の領域の属性
が「文字」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS1409で、領
域の属性が「文字」である領域に対応する画像データを
多値フレームメモリ1206から読み込む。そして、読
み込んだ画像データに対し、前景色代表濃度を持つ画素
は「1」、それ以外は「0」にして、画像データを2値
化する。
【0286】ステップS1410で、領域の属性が「文
字」である領域のOCRを行い、ステップS1411
で、色文字であるか否かを判定する。色文字である場合
(ステップS1411でYES)、ステップS1412
に進む。ステップS1412で、色を抽出し、その抽出
した色とその文字列をキーワードとする。一方、色文字
でない場合(ステップS1411でNO)、ステップS
1413に進む。
【0287】ステップS1413で、領域の属性が「文
字」である領域のJBIG符号化を行い、ステップS1
410、ステップS1412によって、OCRの結果か
ら得られた文字列、各文字列の濃度(前景色代表濃
度)、対応する文字コード、キーワードとともにJBI
G符号化データを構造化データから構成される構造化文
書の書式にしたがって記憶装置1204の所定の領域に
格納する。そして、領域のJBIG符号化と格納が終了
したら、ステップS1408に進む。
【0288】図50のフローチャートに戻る。ステップ
S1406で、ループカウンタkの値に対応する領域の
像域分離処理による属性が「図形」であるか否かを判定
する。領域の属性が「図形」である場合(ステップS1
406でYES)、以下、後述するステップS1415
〜ステップS1417で説明される処理を行う。一方、
領域の属性が「図形」でない場合(ステップS1406
でNO)、ステップS1407に進む。
【0289】以下、領域の属性が「図形」である場合に
実行される処理について、図52のフローチャートを用
いて説明する。図52は第6の実施の形態の領域の属性
が「図形」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS1415で、領
域の属性が「図形」である領域に対応する画像データを
多値フレームメモリ1206から読み込む。そして、読
み込んだ画像データに対し、前景色代表濃度を持つ画素
は「1」、それ以外は「0」にして、画像データを2値
化する。ステップS1416で、領域の属性が「図形」
である領域のアウトライン抽出によるベクトル化を行
う。
【0290】ステップS1417で、ベクトル化の結果
から得られたベクトルは、前景色代表濃度、その座標、
領域サイズとともに構造化データから構成される構造化
文書の書式にしたがって記憶装置1204の所定の領域
に格納される。そして、領域のベクトル化と格納が終了
したら、ステップS1408に進む。図50のフローチ
ャートに戻る。
【0291】ステップS1407で、ループカウンタk
の値に対応する領域の像域分離処理による属性が「写
真」であるか否かを判定する。領域の属性が「写真」で
ある場合(ステップS1407でYES)、以下、後述
するステップS1418、ステップS1419で説明さ
れる処理を行う。一方、領域の属性が「写真」でない場
合(ステップS1407でNO)、ステップS1408
に進む。
【0292】以下、領域の属性が「写真」である場合に
実行される処理について、図53のフローチャートを用
いて説明する。図53は第6の実施の形態の領域の属性
が「写真」である場合に実行される処理の処理フローを
示すフローチャートである。ステップS1418で、領
域の属性が「写真」である領域に対応する画像データを
多値フレームメモリ1206から読み込む。そして、読
み込んだ画像データに対し、JPEG符号化を行う。
【0293】ステップS1419で、JPEG符号化の
結果から得られた符号化データは、その座標、領域サイ
ズとともに構造化データから構成される構造化文書の書
式にしたがって記憶装置1204の所定の領域に格納さ
れる。そして、領域のJPEG符号化と格納が終了した
ら、ステップS1408に進む。再び、図50のフロー
チャートに戻る。
【0294】ステップS1408で、ループカウンタk
の内容を1インクリメントする。そして、すべての領域
に対し構造化データを生成する処理が行われたら、つま
り、ループカウンタkの内容がカウンタarea_count_all
の値になったら、すべての処理を終了する。以上、図5
0〜図53のフローチャートで説明される処理によっ
て、2値画像データに含まれる各領域の属性と対応する
量子化数に基づいて、2値画像データに含まれる各領域
の構造化データが生成される。
【0295】尚、第6の実施の形態では、構造化データ
を記憶装置1204に格納したが、通信インタフェース
208を介して通信回線1209に送信することもでき
る。以上説明したように、第6の実施の形態によれば、
画像データの画素値のヒストグラムに基づいて、下地代
表濃度bg_valueと下地の濃度幅上限値bt1と濃度幅下
限値bt0を抽出し、濃度幅上限値bt1と濃度幅下限値
bt0の範囲内に含まれる画素値をすべて下地代表濃度b
g_valueとして出力することで、一定した好適な下地の
濃度を出力することができる。
【0296】また、下地代表濃度bg_valueを示す極大値
以外にヒストグラムに存在する出現頻度の極大値を持つ
画素値を含む閾値noith_th以上の出現頻度を持つ画素値
群を、下地以外に原稿画像に存在する画像として判定す
る。そして、その判定された画像を表現する所定範囲の
画素値群を一律にその所定範囲内の出現頻度の極大値を
持つ画素値(前景色代表濃度)で出力することで、一定
した好適な画素値で画像を出力することができる。
【0297】また、その判定された画像を表現する前景
色代表濃度を含む所定範囲の画素値群の範囲とその個数
に基づいて、原稿画像を量子化するための量子化数と閾
値を判定するため、原稿画像を好適に量子化する量子化
数を決定することができる。また、カラー画像に対し
て、高速で比較的小さい回路規模で好適な領域判定が可
能になる。領域毎に画像を再現するのに必要な量子化を
正しく行い、限定色の文字や図形を好適に判定し、画像
の構造化をより高いレベルにすることができる。
【0298】尚、第4の実施の形態〜第6の実施の形態
で説明された画像処理装置の構成はこれに限定されず、
一部分をソフトウェア等のプログラムで実現してももち
ろん構わない。また、第4の実施の形態、第6の実施の
形態では白黒画像データを例にとって説明したが、L*
**画像を白黒画像と同じように扱うことによってカ
ラー画像への拡張が可能であることは言うまでもない。
更に入力ビット数、それに伴うヒストグラムの生成はこ
れに限定されず、量子化した結果の頻度分布であっても
構わない。
【0299】また、ヒストグラムは、入力されたすべて
の画素ではなく、間引くなどして一部の画素を用いて形
成しても良い。これにより、処理を高速に行うことがで
きる。更に、像域分離処理や量子化の方法は本発明で説
明される方法に限定されず、他の方法でも構わない。ま
た、領域の形状を矩形として説明したが、これに限定さ
れず、輪郭線等のあらゆる自由形状であってももちろん
構わない。
【0300】また、更に、メモリ構成をフレームメモリ
としたが、これに限定されず、ラインバッファ等で構成
してももちろん構わない。尚、本発明は、複数の機器
(例えばホストコンピュータ、インタフェース機器、リ
ーダ、プリンタ等)から構成されるシステムに適用して
も、一つの機器からなる装置(例えば、複写機、ファク
シミリ装置等)に適用してもよい。
【0301】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。
【0302】この場合、記憶媒体から読出されたプログ
ラムコード自体が上述した実施の形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。プログラムコードを供
給するための記憶媒体としては、例えば、フロッピディ
スク、ハードディスク、光ディスク、光磁気ディスク、
CD−ROM、CD−R、磁気テープ、不揮発性のメモ
リカード、ROMなどを用いることができる。
【0303】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施の形態の機能
が実現される場合も含まれることは言うまでもない。
【0304】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書込まれた後、そのプログラムコードの指示に基
づき、その機能拡張ボードや機能拡張ユニットに備わる
CPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
【0305】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートの処理を
実現するためのコンピュータのプログラムコードを格納
することになる。簡単に説明すると、例えば、図54の
メモリマップ例に示す各モジュールを記憶媒体に格納す
る。すなわち、少なくとも「生成モジュール」、「判定
モジュール」、および「決定モジュール」の各モジュー
ルのプログラムコードを記憶媒体に格納すればよい。
【0306】尚、「生成モジュール」は、画像データの
濃度の出現頻度の分布を生成する。「判定モジュール」
は、生成された分布の最大出現頻度を含み、所定の閾値
以上の出現頻度を有する濃度領域を判定する。「決定モ
ジュール」は、判定された濃度領域以外の分布に含まれ
る極大値の数に基づいて、量子化数を決定する。以上説
明したように、本発明の第4の実施形態〜第6の実施の
形態によれば、スキャナ等で読み取った原稿画像の画像
データの下地に発生するノイズを好適に除去することが
でき、画像データによる出力画像の画質を向上する画像
処理装置及びその方法を提供できる。
【0307】また、画像データの下地に発生するノイズ
を好適に除去し、画像データを量子化するための量子化
数を好適に判定する画像処理装置及びその方法を提供で
きる。また、画像に対して、高速で比較的小さい回路規
模で好適な領域判定が可能になる。ノイズによる影響を
取り除き、図形/写真を正確に判定できる。更に、下地
と文字の輝度に差がない場合でも確実に検出できる。
【0308】また、領域毎に画像を再現するのに必要な
量子化を正しく行い、限定色の文字や図形を好適に判定
し、画像の出力、符号化、構造化をより高いレベルにす
ることができる効果がある。尚、本発明は、上述の実施
の形態に限らず、クレームの記載の範囲内で様々な変
形、応用が可能である。
【0309】
【発明の効果】以上説明したように、本発明の第1の発
明によれば、対象画像の特徴に応じて良好な量子化を行
うことができる。また、第2の発明によれば、画像デー
タの下地に発生するノイズを好適に除去し、画像データ
を量子化するための量子化数を好適に判定することがで
きる。
【0310】また、第3の発明によれば、色文字を良好
に抽出することができる。また、第4の発明によれば、
スキャナ等で読み取った原稿画像の画像データの下地に
発生するノイズを好適に除去することができ、画像デー
タによる出力画像の画質を向上することがでる。また、
画像データの下地に発生するノイズを好適に除去するこ
とで、画像データを属性毎の領域に分離する像域分離処
理の精度を向上すること、また、画像データの下地に発
生するノイズを好適に除去し、ノイズを除去した画像デ
ータから好適な下地の濃度を判定し、その判定された濃
度を下地の濃度として出力することで、画像データの符
号化効率を向上することができる。
【図面の簡単な説明】
【図1】第1の実施の形態の画像処理装置の構成を示す
ブロック図である。
【図2】第1の実施の形態の下地の濃度幅抽出の様子を
説明するための図である。
【図3】第1の実施の形態で実行される処理の処理フロ
ーを示すフローチャートである。
【図4】第1の実施の形態の画像処理装置を適用させた
画像送信装置の構成を示すブロック図である。
【図5】第2の実施の形態の画像処理装置の構成を示す
ブロック図である。
【図6】第2の実施の形態の下地濃度判定部109の詳
細な構成を示すブロック図である。
【図7】第2の実施の形態で実行される処理の処理フロ
ーを示すフローチャートである。
【図8】第2の実施の形態の画像処理装置を適用させた
プリンタ装置の構成を示すブロック図である。
【図9】第3の実施の形態の画像処理装置の構成を示す
ブロック図である。
【図10】第3の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図11】第3の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図12】第3の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図13】第3の実施の形態で実行される画像データを
2値化する処理の処理フローを示すフローチャートであ
る。
【図14】第3の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数を決
定する処理の処理フローを示すフローチャートである。
【図15】第3の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数を決
定する処理の処理フローを示すフローチャートである。
【図16】第3の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数を決
定する処理の処理フローを示すフローチャートである。
【図17】第3の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数を決
定する処理の処理フローを示すフローチャートである。
【図18】第3の実施の形態で実行される2値画像デー
タに含まれる各領域の構造化データを生成する処理の処
理フローを示すフローチャートである。
【図19】第3の実施の形態の領域の属性が「文字」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図20】第3の実施の形態の領域の属性が「図形」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図21】第3の実施の形態の領域の属性が「写真」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図22】本発明で実行される処理フローのプログラム
を記憶させた記憶媒体のメモリマップの構造を示す図で
ある。
【図23】第4の実施の形態の画像処理装置の構成を示
すブロック図である。
【図24】第4の実施の形態の下地の濃度幅抽出の様子
を説明するための図である。
【図25】第4の実施の形態の下地濃度幅検出部405
の詳細な構成を示すブロック図である。
【図26】第4の実施の形態の量子化数判定部406の
詳細な構成を示すブロック図である。
【図27】第4の実施の形態の前景色代表濃度の抽出の
様子を説明するための図である。
【図28】第4の実施の形態で実行される処理の処理フ
ローを示すフローチャートである。
【図29】第4の実施の形態の画像処理装置を適用させ
た画像送信装置の構成を示すブロック図である。
【図30】第4の実施の形態の量子化数を決定する様子
を説明するための図である。
【図31】第5の実施の形態の画像処理装置の構成を示
すブロック図である。
【図32】第5の実施の形態の量子化数判定部515の
詳細な構成を示すブロック図である。
【図33】第5の実施の形態で実行される処理の処理フ
ローを示すフローチャートである。
【図34】第5の実施の形態の他の構成による画像処理
装置の構成を示すブロック図である。
【図35】第5の実施の形態の更に他の構成による画像
処理装置の構成を示すブロック図である。
【図36】第5の実施の形態の画像処理装置を適用させ
た光学的文字認識装置の構成を示すブロック図である。
【図37】第6の実施の形態の画像処理装置の構成を示
すブロック図である。
【図38】(a)は原稿画像の例を示す図であり、
(b)は原稿画像を領域分割して得られる領域の構成を
示す図であり、(c)は領域分割された各領域を更に分
割して得られる領域の構成を示す図である。
【図39】第6の実施の形態の下地の濃度幅抽出の様子
を説明するための図である。
【図40】第6の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図41】第6の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図42】第6の実施の形態によって実行される画像デ
ータの下地代表濃度bg_valueと濃度幅下限値bt0と濃
度幅上限値bt1を算出する処理の処理フローを示すフ
ローチャートである。
【図43】第6の実施の形態で実行される画像データを
2値化する処理の処理フローを示すフローチャートであ
る。
【図44】第6の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数、前
景色代表色、前景色代表濃度を決定する処理の処理フロ
ーを示すフローチャートである。
【図45】第6の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数、前
景色代表色、前景色代表濃度を決定する処理の処理フロ
ーを示すフローチャートである。
【図46】第6の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数、前
景色代表色、前景色代表濃度を決定する処理の処理フロ
ーを示すフローチャートである。
【図47】第6の実施の形態で実行されるの2値画像デ
ータに含まれる各領域を量子化するための量子化数、前
景色代表色、前景色代表濃度を決定する処理の処理フロ
ーを示すフローチャートである。
【図48】第6の実施の形態で実行される領域分割され
た各領域を、前景色代表閾値、前景色代表濃度領域に基
づいて、更に分割する処理の処理フローを示すフローチ
ャートである。
【図49】(a)、(b)は従来の方法によって抽出さ
れる下地の濃度幅抽出、下地代表濃度、前景色代表濃度
の抽出の様子を説明するための図であり、(c)、
(d)は第6の実施の形態によって抽出される下地の濃
度幅抽出、下地代表濃度、前景色代表濃度の抽出の様子
を説明するための図である。
【図50】第6の実施の形態で実行される2値画像デー
タに含まれる各領域の構造化データを生成する処理の処
理フローを示すフローチャートである。
【図51】第6の実施の形態の領域の属性が「文字」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図52】第6の実施の形態の領域の属性が「図形」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図53】第6の実施の形態の領域の属性が「写真」で
ある場合に実行される処理の処理フローを示すフローチ
ャートである。
【図54】本発明で実行される処理フローのプログラム
を記憶させた記憶媒体のメモリマップの構造を示す図で
ある。
【符号の説明】
1 画像入力装置 2 フレームメモリ 3、7 ヒストグラム生成部 4 最大頻度検出部 5 量子化ステップ算出部 6 量子化部 8 ノイズ閾値決定部 9 比較部 10 下地濃度幅検出部 11、12、13 端子 20 画像処理装置 22 ラッチ 23 セレクタ 24 JPEG符号化部 25 通信インターフェイス 101 画像入力部 102 色変換部 103 フレームメモリ 104 平坦画素判定部 105 ラッチ 106〜108 ヒストグラム生成部 109 下地濃度判定部 110、111 最大頻度検出部 140 画像処理装置 141 白色下地判定部 142 比較部 143 ラッチ 144 セレクタ 145 色変換部 146 2値化部 147 2値プリンタ 201 CPU 202 プログラムメモリ 203 端末 204 記憶装置 205 スキャナ 206 多値フレームメモリ 207 2値フレームメモリ 210 バス

Claims (46)

    【特許請求の範囲】
  1. 【請求項1】 画像処理装置であって、 画像を表す多値画像データを入力する入力手段と、 前記多値画像データより2値画像データを抽出する抽出
    手段と、 前記2値画像データに基づいて、前記画像を複数のブロ
    ックに分割する分割手段と、 前記ブロック内の前記多値画像データを量子化する量子
    化手段を備え、 前記多値画像データの量子化数は前記ブロック単位で決
    定されることを特徴とする画像処理装置。
  2. 【請求項2】 前記2値画像データは、前記多値画像デ
    ータの分布に基づいて抽出されることを特徴とする請求
    項1に記載の画像処理装置。
  3. 【請求項3】 前記分布は、前記多値画像データの頻度
    ヒストグラムに基づき判定されることを特徴とする請求
    項2に記載の画像処理装置。
  4. 【請求項4】 前記分割手段は、前記画像の属性に基づ
    き該画像を前記ブロックに分割することを特徴とする請
    求項1に記載の画像処理装置。
  5. 【請求項5】 前記属性は、少なくとも文字、写真を含
    むことを特徴とする請求項4に記載の画像処理装置。
  6. 【請求項6】 前記量子化手段は、更に、前記ブロック
    単位で前記多値画像データの頻度ヒストグラムを生成す
    る生成手段からなり、 前記多値画像データの量子化数は、前記頻度ヒストグラ
    ムに基づき決定されることを特徴とする請求項1に記載
    の画像処理装置。
  7. 【請求項7】 前記多値画像データは、複数の色成分デ
    ータからなることを特徴とする請求子1に記載の画像処
    理装置。
  8. 【請求項8】 前記量子化された多値画像データに基づ
    いて、複数の色文字を識別する識別手段を更に備えるこ
    とを特徴とする請求項7に記載の画像処理装置。
  9. 【請求項9】 前記識別手段は、前記複数の色文字をキ
    ャラクタコードとして出力することを特徴とする請求項
    8に記載の画像処理装置。
  10. 【請求項10】 画像処理方法であって、 画像を表す多値画像データを入力する入力工程と、 前記多値画像データより2値画像データを抽出する抽出
    工程と、 前記2値画像データに基づいて、前記画像を複数のブロ
    ックに分割する分割工程と、 前記ブロック内の前記多値画像データを量子化する量子
    化工程を備え、 前記多値画像データの量子化数は前記ブロック単位で決
    定されることを特徴とする画像処理方法。
  11. 【請求項11】 画像処理のプログラムコードが格納さ
    れたコンピュータ可読メモリであって、 画像を表す多値画像データを入力する入力工程のプログ
    ラムコードと、 前記多値画像データより2値画像データを抽出する抽出
    工程のプログラムコードと、 前記2値画像データに基づいて、前記画像を複数のブロ
    ックに分割する分割工程のプログラムコードと、 前記ブロック内の前記多値画像データを量子化する量子
    化工程のプログラムコードを備え、 前記多値画像データの量子化数は前記ブロック単位で決
    定されることを特徴とするコンピュータ可読メモリ。
  12. 【請求項12】 カラー画像処理装置であって、 カラー画像を表すカラー画像データを入力する入力手段
    と、 前記カラー画像データの頻度ヒストグラムを生成する生
    成手段と、 前記頻度ヒストグラムから複数の極値を検索する検索手
    段と、 前記カラー画像データから色文字を抽出する抽出手段
    と、 前記色文字の色数は、前記極値に基づいて決定されるこ
    とを特徴とするカラー画像処理装置。
  13. 【請求項13】 前記頻度ヒストグラムはのノイズを除
    去する除去手段を更に備えること特徴とする請求項12
    に記載のカラー画像処理装置。
  14. 【請求項14】 前記除去手段は、前記頻度ヒストグラ
    ムの頻度値についての頻度ヒストグラムを生成すること
    によってノイズを除去することを特徴とする請求項13
    に記載のカラー画像処理装置。
  15. 【請求項15】 前記生成手段は、前記カラー画像デー
    タの輝度成分の頻度ヒストグラムを生成することを特徴
    とする請求項12に記載のカラー画像処理装置。
  16. 【請求項16】 前記検索手段は、前記頻度ヒストグラ
    ムから下地の濃度を除去した後に、前記極値を検索する
    ことを特徴とする請求項12に記載のカラー画像処理装
    置。
  17. 【請求項17】 前記抽出手段は、前記極値に基づき複
    数のビットプレーンを生成し、各ビットプレーンについ
    て色文字を抽出することを特徴とする請求項12に記載
    のカラー画像処理装置。
  18. 【請求項18】 前記色文字として抽出されていないカ
    ラー画像データを符号化する符号化手段を更に備えるこ
    とを特徴とする請求項12に記載のカラー画像処理装
    置。
  19. 【請求項19】 前記符号化手段は、JPEG符号化方
    法を実行することを特徴とする請求項18に記載のカラ
    ー画像処理装置。
  20. 【請求項20】 前記符号化手段は、前記カラー画像デ
    ータをベクトルデータに変換することを特徴とする請求
    項18に記載のカラー画像処理装置。
  21. 【請求項21】 カラー画像処理方法であって、 カラー画像を表すカラー画像データを入力する入力工程
    と、 前記カラー画像データの頻度ヒストグラムを生成する生
    成工程と、 前記頻度ヒストグラムから複数の極値を検索する検索工
    程と、 前記カラー画像データから色文字を抽出する抽出工程を
    備え、 前記色文字の色数は、前記極大値に基づいて判定される
    ことを特徴とするカラー画像処理方法。
  22. 【請求項22】 カラー画像処理のプログラムコードが
    格納されたコンピュータ可読メモリであって、 カラー画像を表すカラー画像データを入力する入力工程
    のプログラムコードと、 前記カラー画像データの頻度ヒストグラムを生成する生
    成工程のプログラムコードと、 前記頻度ヒストグラムから複数の極値を検索する検索工
    程のプログラムコードと、 前記カラー画像データから色文字を抽出する抽出工程の
    プログラムコードを備え、 前記色文字の色数は、前記極大値に基づいて判定される
    ことを特徴とするコンピュータ可読メモリ。
  23. 【請求項23】 画像データの濃度の頻度の分布を生成
    する生成手段と、 前記生成手段によって生成された分布に基づいて、所定
    の閾値を算出する算出手段と、 前記生成手段で生成された分布の最大頻度となる濃度を
    抽出する抽出手段と、 前記最大頻度となる濃度を含み、前記所定の閾値以上の
    頻度を有する濃度領域を判定する判定手段と、 前記濃度領域内の濃度を持つ前記画像データの濃度を一
    律に前記最大頻度となる濃度で出力する出力手段とを備
    えることを特徴とする画像処理装置。
  24. 【請求項24】 前記出力手段は、前記最大頻度となる
    濃度を、前記画像データの下地の濃度として出力するこ
    とを特徴とする請求項23に記載の画像処理装置。
  25. 【請求項25】 前記算出手段は、前記最大頻度となる
    濃度に基づいて、前記分布を量子化する量子化手段と、 前記量子化手段で量子化された分布の同頻度となる頻度
    の回数を検知する検知手段とを備え、 前記検知手段で検知された出力頻度の回数の内、最大と
    なる回数の頻度に基づいて、前記所定の閾値を算出する
    ことを特徴とする請求項23に記載の画像処理装置。
  26. 【請求項26】 前記画像データの平坦濃度を持つ画像
    データを獲得する獲得手段を更に備え、 前記生成手段は、前記獲得手段で獲得された画像データ
    の濃度の頻度の分布を生成することを特徴とする請求項
    23に記載の画像処理装置。
  27. 【請求項27】 前記画像データを符号化する複数の符
    号化手段と、 画像データを属性毎に複数の領域に分割する分割手段
    と、 前記領域に対応する画像データの濃度の出力分布に存在
    する極大値を計数する計数手段と、 前記計数手段の結果に基づいて、前記領域に対応する画
    像データを符号化する符号化手段を選択する選択手段と
    を更に備えることを特徴とする請求項23に記載の画像
    処理装置。
  28. 【請求項28】 前記符号化手段は、少なくとも、多値
    画像符号化、2値画像符号化、形状符号化を含むことを
    特徴とする請求項27に記載の画像処理装置。
  29. 【請求項29】 前記画像データは、カラー画像データ
    であることを特徴とする請求項23に記載の画像処理装
    置。
  30. 【請求項30】 前記生成手段は、前記カラー画像デー
    タから輝度画像データを生成し、該輝度画像データの頻
    度の分布を生成することを特徴する請求項29に記載の
    画像処理装置。
  31. 【請求項31】 画像データの濃度の頻度の分布を生成
    する生成工程と、 前記生成工程によって生成された分布に基づいて、所定
    の閾値を算出する算出工程と、 前記生成工程で生成された分布の最大頻度となる濃度を
    抽出する抽出工程と、 前記最大頻度となる濃度を含み、前記所定の閾値以上の
    頻度を有する濃度領域を判定する判定工程と、 前記濃度領域内の濃度を持つ前記画像データの濃度を一
    律に前記最大頻度となる濃度で出力する出力工程とを備
    えることを特徴とする画像処理方法。
  32. 【請求項32】 画像処理のプログラムコードが格納さ
    れたコンピュータ可読メモリであって、 画像データの濃度の頻度の分布を生成する生成工程のプ
    ログラムコードと、 前記生成工程によって生成された分布に基づいて、所定
    の閾値を算出する算出工程のプログラムコードと、 前記生成工程で生成された分布の最大頻度となる濃度を
    抽出する抽出工程のプログラムコードと、 前記最大出力頻度となる濃度を含み、前記所定の閾値以
    上の頻度を有する濃度領域を判定する判定工程のプログ
    ラムコードと、 前記濃度領域内の濃度を持つ前記画像データの濃度を一
    律に前記最大頻度となる濃度で出力する出力工程のプロ
    グラムコードとを備えることを特徴とするコンピュータ
    可読メモリ。
  33. 【請求項33】 画像データの濃度の頻度の分布を生成
    する生成手段と、 前記生成手段によって生成された分布の最大頻度を含
    み、所定の閾値以上の頻度を有する濃度領域を判定する
    判定手段と、 前記判定手段で判定された濃度領域以外の前記分布に含
    まれる極大値の数に基づいて、量子化数を決定する第1
    決定手段とを備えることを特徴とする画像処理装置。
  34. 【請求項34】 前記極大値と該極大値の濃度を抽出す
    る抽出手段と、 前記抽出手段で抽出された極大値の濃度に基づいて、前
    記画像データを量子化するための量子化レベルを前記分
    布より決定する第2決定手段とを更に備えることを特徴
    とする請求項33に記載の画像処理装置。
  35. 【請求項35】 前記抽出手段は、前記抽出手段で抽出
    された極大値の内、所定濃度範囲で、かつ所定頻度範囲
    内に複数の極大値がある場合、該複数の極大値の中で最
    大となる極大値を抽出することを特徴とする請求項34
    に記載の画像処理装置。
  36. 【請求項36】 前記量子化レベルに基づいて、前記画
    像データを量子化する量子化手段と、 前記量子化手段で量子化された量子化レベル上の画像デ
    ータの濃度を、該量子化レベル上の極大値となる濃度で
    出力する第1出力手段を更に備えることを特徴とする請
    求項34に記載の画像処理装置。
  37. 【請求項37】 前記濃度領域内の濃度を持つ画像デー
    タの濃度を一律に前記最大頻度となる濃度で出力する第
    2出力手段を更に備えることを特徴とする請求項33に
    記載の画像処理装置。
  38. 【請求項38】 前記第2出力手段は、前記最大頻度と
    なる濃度を、前記画像データの下地の濃度として出力す
    ることを特徴とする請求項37に記載の画像処理装置。
  39. 【請求項39】 前記画像データより濃度差が小さい領
    域を検出する検出手段を更に備え、 前記第2出力手段は、前記検出手段で検出された領域内
    の画像データの濃度の頻度の分布に基づいて、該画像デ
    ータの下地とする濃度を出力することを特徴とする請求
    項38に記載の画像処理装置。
  40. 【請求項40】 前記画像データを属性毎に複数の領域
    に分割する分割手段を更に備え、 前記生成手段は、前記領域に対応する画像データの濃度
    の頻度の分布を生成することを特徴とする請求項33に
    記載の画像処理装置。
  41. 【請求項41】 前記画像データは、複数の信号で表さ
    れる画像データであり、前記生成手段は、画像の各構成
    要素の頻度の分布を生成することを特徴する請求項33
    に記載の画像処理装置。
  42. 【請求項42】 前記画像データの信号が輝度と色度で
    表されることを特徴とする請求項41に記載の画像処理
    装置。
  43. 【請求項43】 前記画像データの信号が原刺激の強度
    で表されることを特徴とする請求項41に記載の画像処
    理装置。
  44. 【請求項44】 前記判定手段は、前記生成手段によっ
    て生成された各信号の濃度値の頻度の分布に対し、最大
    頻度を含み、所定の閾値以上の頻度を有する濃度領域を
    それぞれ判定し、 前記判定手段で判定された各々の濃度領域以外の前記分
    布に含まれる極大値の数に基づいて、前記画像データを
    量子化するための量子化数と該画像データに含まれる色
    を判断する判断手段を更に備えることを特徴とする請求
    項42に記載の画像処理装置。
  45. 【請求項45】 画像データの濃度の頻度の分布を生成
    する生成工程と、 前記生成工程によって生成された分布の最大頻度を含
    み、所定の閾値以上の頻度を有する濃度領域を判定する
    判定工程と、 前記判定工程で判定された濃度領域以外の前記分布に含
    まれる極大値の数に基づいて、量子化数を決定する第1
    決定工程とを備えることを特徴とする画像処理方法。
  46. 【請求項46】 画像処理のプログラムコードが格納さ
    れたコンピュータ可読メモリであって、 画像データの濃度の頻度の分布を生成する生成工程のプ
    ログラムコードと、 前記生成工程によって生成された分布の最大頻度を含
    み、所定の閾値以上の頻度を有する濃度領域を判定する
    判定工程のプログラムコードと、 前記判定工程で判定された濃度領域以外の前記分布に含
    まれる極大値の数に基づいて、量子化数を決定する第1
    決定工程のプログラムコードとを備えることを特徴とす
    るコンピュータ可読メモリ。
JP02786797A 1996-02-15 1997-02-12 画像処理装置及びその方法 Expired - Fee Related JP3745069B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02786797A JP3745069B2 (ja) 1996-02-15 1997-02-12 画像処理装置及びその方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2789396 1996-02-15
JP8-33625 1996-02-21
JP8-27893 1996-02-21
JP3362596 1996-02-21
JP02786797A JP3745069B2 (ja) 1996-02-15 1997-02-12 画像処理装置及びその方法

Publications (2)

Publication Number Publication Date
JPH09289586A true JPH09289586A (ja) 1997-11-04
JP3745069B2 JP3745069B2 (ja) 2006-02-15

Family

ID=27285980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02786797A Expired - Fee Related JP3745069B2 (ja) 1996-02-15 1997-02-12 画像処理装置及びその方法

Country Status (1)

Country Link
JP (1) JP3745069B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375222B1 (ko) * 2000-07-19 2003-03-08 엘지전자 주식회사 스케일러블 칼라 히스토그램 엔코딩 방법
EP1289271A3 (en) * 2001-08-08 2003-12-10 Hewlett-Packard Company Predominant color identification in digital images
JP2006245694A (ja) * 2005-02-28 2006-09-14 Toshiba Corp 画像処理装置及び画像処理方法
US7126612B2 (en) 2003-09-29 2006-10-24 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program, and storage medium
JP2007043662A (ja) * 2005-07-01 2007-02-15 Fuji Xerox Co Ltd 画像形成装置及び画像処理装置
JP2008306394A (ja) * 2007-06-06 2008-12-18 Canon Inc 画像処理装置およびその方法
JP2009267448A (ja) * 2008-04-21 2009-11-12 Sharp Corp 画素入出力方法、画像圧縮方法、画素入出力装置、画像圧縮装置、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体
US7856146B2 (en) 2005-03-10 2010-12-21 Fuji Xerox Co., Ltd. Image processing device, image forming device, image processing method and program
JP2014063347A (ja) * 2012-09-21 2014-04-10 Toshiba Corp 文字読取装置、及び紙葉類処理装置
JP2015192434A (ja) * 2014-03-28 2015-11-02 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
JP2016192679A (ja) * 2015-03-31 2016-11-10 ブラザー工業株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375222B1 (ko) * 2000-07-19 2003-03-08 엘지전자 주식회사 스케일러블 칼라 히스토그램 엔코딩 방법
EP1289271A3 (en) * 2001-08-08 2003-12-10 Hewlett-Packard Company Predominant color identification in digital images
US7191103B2 (en) 2001-08-08 2007-03-13 Hewlett-Packard Development Company, L.P. Predominant color identification in digital images
US7126612B2 (en) 2003-09-29 2006-10-24 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program, and storage medium
JP4496106B2 (ja) * 2005-02-28 2010-07-07 株式会社東芝 画像処理装置及び画像処理方法
JP2006245694A (ja) * 2005-02-28 2006-09-14 Toshiba Corp 画像処理装置及び画像処理方法
US7856146B2 (en) 2005-03-10 2010-12-21 Fuji Xerox Co., Ltd. Image processing device, image forming device, image processing method and program
JP2007043662A (ja) * 2005-07-01 2007-02-15 Fuji Xerox Co Ltd 画像形成装置及び画像処理装置
JP2008306394A (ja) * 2007-06-06 2008-12-18 Canon Inc 画像処理装置およびその方法
JP2009267448A (ja) * 2008-04-21 2009-11-12 Sharp Corp 画素入出力方法、画像圧縮方法、画素入出力装置、画像圧縮装置、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体
US8131092B2 (en) 2008-04-21 2012-03-06 Sharp Kabushiki Kaisha Pixel input-output method, image compressing method, pixel input-output apparatus, image compressing apparatus, image processing apparatus, image forming apparatus, computer program and recording medium
JP2014063347A (ja) * 2012-09-21 2014-04-10 Toshiba Corp 文字読取装置、及び紙葉類処理装置
JP2015192434A (ja) * 2014-03-28 2015-11-02 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
JP2016192679A (ja) * 2015-03-31 2016-11-10 ブラザー工業株式会社 画像処理プログラム、画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
JP3745069B2 (ja) 2006-02-15

Similar Documents

Publication Publication Date Title
US6389162B2 (en) Image processing apparatus and method and medium
US7623712B2 (en) Image processing method and apparatus
US6556711B2 (en) Image processing apparatus and method
JP5302768B2 (ja) 画像処理装置及び画像処理方法
US8331671B2 (en) Image processing apparatus and image encoding method related to non-photo image regions
JP3373008B2 (ja) 画像像域分離装置
US7356190B2 (en) Image area extraction method, image reconstruction method using the extraction result and apparatus thereof
US5995665A (en) Image processing apparatus and method
JPH06223172A (ja) 画像処理方法および画像処理装置
JP2000196895A (ja) デジタル画像デ―タ区分方法
JP6743092B2 (ja) 画像処理装置、画像処理の制御方法、及びプログラム
JP3745069B2 (ja) 画像処理装置及びその方法
JP2009027385A (ja) 画像処理装置とその方法およびコンピュータプログラム
JP4035456B2 (ja) 画像圧縮方法、画像圧縮装置
US20040136609A1 (en) Device and method for image processing as well as image processing computer program
JP2007272457A (ja) 画像処理方法及び画像処理装置
JP4217969B2 (ja) 画像処理装置及びプログラム
JP3977291B2 (ja) 画像再生方法及び画像処理装置
JP4504096B2 (ja) 画像処理装置、プログラム、及び記憶媒体
Birari et al. Constraint and Descriptor Based Image Retrieval through Sketches with Data Retrieval using Reversible Data Hiding
JP3496893B2 (ja) カラー画像認識方法および装置
JP4383187B2 (ja) 画像処理装置、画像処理用プログラム及び記憶媒体
JP4193687B2 (ja) 画像処理装置及びプログラム
JPH09204526A (ja) 画像像域分離装置及びその方法
JP2005303506A (ja) 画像処理装置、画像処理方法、画像処理用プログラム及び記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees