JPH09305754A - 画像処理方法 - Google Patents

画像処理方法

Info

Publication number
JPH09305754A
JPH09305754A JP8123341A JP12334196A JPH09305754A JP H09305754 A JPH09305754 A JP H09305754A JP 8123341 A JP8123341 A JP 8123341A JP 12334196 A JP12334196 A JP 12334196A JP H09305754 A JPH09305754 A JP H09305754A
Authority
JP
Japan
Prior art keywords
value
image
calculation
unit
threshold value
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
JP8123341A
Other languages
English (en)
Other versions
JP3673598B2 (ja
Inventor
Tetsuomi Tanaka
哲臣 田中
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 JP12334196A priority Critical patent/JP3673598B2/ja
Priority to US08/807,605 priority patent/US5956421A/en
Publication of JPH09305754A publication Critical patent/JPH09305754A/ja
Application granted granted Critical
Publication of JP3673598B2 publication Critical patent/JP3673598B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Character Input (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 【課題】 多値画像を2値化するための2値化閾値を決
定して、2値化処理を行う画像処理方法において、閾値
の決定及び2値化処理を高速に行うことができる画像処
理方法の提供を目的とする。 【解決手段】 複数画素からなる所定の大きさのブロッ
ク単位で2値化処理を行う際に、ブロック内の多値画像
から輝度頻度を求め、その輝度頻度の平均値及びスキュ
ー値から閾値を求める。そして、ライン順次でのデータ
入力とブロック順次での閾値決定処理と、ライン順次で
の2値化処理をパイプライン処理で行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は画像処理装置及びそ
の方法に関し、例えば、多値画像から2値化閾値を決定
して2値化を行う画像処理方法に関する。
【0002】
【従来の技術】近年の画像処理技術の発展はめざまし
く、フルカラー画像等の多値画像の処理や、多値画像内
の文字認識処理等が可能な画像処理装置も普及してきて
いる。
【0003】このような画像処理技術において、多値画
像の2値化処理は不可欠の技術となっている。従来の2
値化方法としては、予め設定してある固定閾値による単
純2値化法をはじめとして、ある閾値でヒストグラムを
2クラスに分割した場合のクラス間分散が最大になる時
の閾値を2値化閾値とする大津法(大津、“判別および
最小2乗基準に基づく自動しきい値選定方”、電子通信
学会論文誌、vol.J63−D,no.4,pp.3
49−356,1980)や、また、階調をもつ画像に
対して、局所的濃度に応じて閾値を設定する2値化方法
等があった。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
たような従来の画像処理装置における2値化方法におい
ては、以下のような問題点があった。
【0005】固定閾値による単純2値化方法では、画像
内の対象物濃度と背景濃度との間に適切な閾値を設定す
ることが難しく、その結果、画像一面が黒く潰れてしま
ったり、逆に白くなってしまっていた。また、大津法で
は、2クラスの分布が極端に異なる場合においては、大
きい方のクラスに閾値が寄ってしまうという性質があ
り、従ってノイズの多い2値画像が生成されてしまって
いた。
【0006】そこで、画像内の対象物濃度と背景濃度と
の間に適切な2値化閾値を自動的に設定可能な方法を、
本出願人は特願平7−22895号公報で出願してい
る。
【0007】前記出願における閾値決定の流れを以下に
説明する。
【0008】図20において、まずステップS1で8ビ
ットの多値画像を入力する。尚、該多値画像は、スキャ
ナ等の画像入力装置により、入力される。そして、ステ
ップS2において、入力画像全体のヒストグラムを算出
する。ここでは、画像中の全画素を用い、8ビット、即
ち「0」から「255」までの各デジタル値に対する頻
度を計算する。これにより、例えば図21に示すヒスト
グラムが得られる。
【0009】次にステップS3において、パラメータS
TART,ENDにそれぞれ「0」、「255」をセッ
トする。START,ENDはそれぞれ、後段のステッ
プS4やステップS5で求める輝度値の統計量の始点及
び終点に対応する。
【0010】ステップS4では、STARTからEND
までのデジタル値に対応する画素の平均値AVを算出す
る。例えば、START=0,END=255であれば
「0」から「255」の値を持つ画素(この場合、全画
素)の平均値AVを算出し、START=0,END=
177であれば「0」から「177」の値を持つ画素の
平均値AVを算出する。
【0011】ステップS5では、STARTからEND
までの輝度値に対応する画素のスキュー値SKを算出す
る。スキュー値とは、ヒストグラム分布の偏りを示す統
計量である。スキュー値の算出には、以下に示す式を用
いる。
【0012】SK=(Σ(Xi−AV)^3)/D (尚、R^3の表記によってRの3乗を示すものとす
る。)
【0013】ここで、Xiは画素の輝度値である。ま
た、Dは画像全体の分散値であり、下記式により算出さ
れる。
【0014】D=Σ(Xi−AV)^2 (尚、R^2の表記によってRの2乗を示すものとす
る。)
【0015】上述した式において、スキュー値は各画素
の輝度値と、その平均値との差分を3乗することにより
算出されるが、奇数乗であれば3乗に限定されるもので
はない。
【0016】続いてステップS6、S7では、ヒストグ
ラムの偏りの方向を判断する。まずステップS6では、
以下に示す式によりヒストグラムの偏りの方向を判断す
る。これは、ヒストグラムの偏りが平均値AVよりも小
さい値の範囲にあるか否かの判断となる。
【0017】SK<−1.0
【0018】ステップS6において上記式が真ならばス
テップS10へ進み、偽ならばステップS7へ進む。ス
テップS10では、STARTは変化させず、ENDに
平均値AVをセットする。そしてステップS4に戻り、
再びSTART値からEND値までの平均値AVを算出
する。
【0019】一方、ステップS7では以下に示す式によ
りヒストグラムの偏りの方向を判断する。これは、ヒス
トグラムの偏りが平均値AVより大きい値の範囲にある
か否かの判断となる。
【0020】SK>1.0
【0021】ステップS7において上記式が真ならばス
テップS11へ進み、偽ならばステップS8へ進む。ス
テップS11では、STARTに平均値AVをセット
し、ENDは変化させない。そしてステップS4に戻
り、再びSTART値からEND値までの平均値AVを
算出する。
【0022】一方、ステップS8ではステップS6,S
7における条件が共に偽である場合の平均値AVを、2
値化閾値THとして設定する。そして、ステップS9で
2値化閾値THを用いた単純2値化処理を行う。
【0023】以下、具体的な画像の例を参照して、特願
平7−22895号公報における2値化処理について更
に詳細に説明する。
【0024】上述した図21に示すヒストグラムの例を
用いて、2値化閾値THの決定処理について説明する。
【0025】図21は、ある画像(8ビット入力)のヒ
ストグラムを示したものである。図21において、横軸
は左端が「0」即ち黒、右端が「255」即ち白を表す
輝度のデジタル値であり、縦軸は各デジタル値の頻度を
表している。図22は、図21に示す様なヒストグラム
を有する画像に対して、上述した図20で示す2値化処
理においてステップS4及びS5で示した処理の際の、
各パラメータの値の変化を示す図である。尚、図22に
おいて示される各パラメータ値は、ステップS4及びS
5を通過する回数によって、それぞれ示されている。
【0026】まず、ステップS4及びS5を通過する1
回目の処理では、START=0,END=255で平
均値AV,統計量SKを計算し、それぞれ「177」,
「−78.9」という値を得る。の場合、統計量SKが
「−1.0」未満であるため、ステップS10において
START=0,END=177が設定される。
【0027】続いて2回目の処理ではSTART=0,
END=177における平均値AV,統計量SKを計算
し、それぞれ「91」,「−8.6」という値を得る。
これも、統計量SKが「−1.0」未満であるため、ス
テップS10においてSTART=0,END=91が
設定される。
【0028】続いて3回目の処理では、START=
0,END=91における平均値AV,統計量SKを計
算し、それぞれ「43」,「9.6」という値を得る。
この場合は、統計量SKが「1.0」を超えるため、ス
テップS11においてSTART=43,END=91
が設定される。
【0029】続いて4回目の処理では、START=4
3,END=91における平均値AV,統計量SKを計
算し、それぞれ「72」,「−7.0」という値を得
る。これも、統計量SKが「−1.0」未満であるた
め、ステップS10においてSTART=43,END
=72が設定される。
【0030】続いて5回目の処理では、START=4
3,END=72における平均値AV,統計量SKを計
算し、それぞれ「58」,「−2.2」という値を得
る。これも、統計量SKが「−1.0」未満であるた
め、ステップS10においてSTART=43,END
=58が設定される。
【0031】そして6回目の処理では、START=4
3,END=58における平均値AV,統計量SKを計
算し、それぞれ「50」,「−0.4」という値を得
る。ここで、統計量SKが「−1.0」以上かつ「1.
0」以下であるため、ステップS6,S7の条件を満た
さず、ステップS8へ進んで2値化閾値THとして、
「50」が設定される。そしてステップS9において2
値化閾値THを用いた単純2値化処理が行われる。
【0032】この様に、スキュー値が所定値まで収束す
るようにして2値化閾値を決定し、2値化を行う。即
ち、入力された多値画像において、輝度頻度とその偏り
に基づいて、画像内の背景と対象物とを分離するために
最も適した閾値が存在する領域を特定した後、該特定領
域の平均輝度値をもって閾値とする。
【0033】特願平7−22895号公報の閾値決定方
法によれば、対象物濃度と背景濃度との間に適切な閾値
を設定できるが、図20の処理フローをそのまま実行す
る場合、輝度頻度情報の演算範囲の収束の仕方が入力画
像によって異なるため閾値算出のための演算量が最小の
場合と最大の場合で大きく異なる。そのため所定の時間
でこの演算を行うためには処理周波数を高くしなければ
ならないので高速化のボトルネックになっていた。
【0034】また、従来からコンピュータ上の数値演算
方法には整数演算と浮動小数点演算がある。整数演算は
コンピュータの扱える整数有効数値(16bit整数で
32767〜−32768)内で高速に演算され、さら
にコンピュータ内部の整数有効数値(CPUやシステム
などの処理環境に依存する)内では、より高速に演算さ
れる。浮動小数点演算は数値部と指数部を持った型の数
値で行われるので、大きな数値から、小数点以下の数値
まで表現できる。
【0035】またコンピュータプログラムによる計算で
はなく演算器により演算するブロックを構成するにあた
って浮動小数点演算器を用いて構成する方法と整数演算
器を用いて構成する方法があった。
【0036】しかしながら、上述したような画像処理の
数値演算装置における2値化閾値決定の演算方法におい
ては、以下のような問題があった。
【0037】整数演算で画像処理の数値演算を行ってい
る場合、浮動小数点演算に比べ圧倒的に高速であるが、
割り算などで少数部が切り捨てられることによる誤差が
発生し、繰り返し演算に割り算が含まれている場合など
には誤差が大きくなりやすく精度が保てない。また整数
の幅に制限があり、制限を超えた大きな数値や、小数点
以下の数値は扱えなかった。
【0038】浮動小数点演算で画像処理の数値演算を行
っている場合、高精度を保つことができるが、演算処理
が遅く処理時間がかかってしまっていた。またCPUの
中には浮動小数点演算ユニットを持たないのも少なから
ずあるため、その場合はさらに処理時間がかかることに
なる。
【0039】ハードによる演算では、まず浮動小数点演
算器で構成した場合において演算速度が遅く回路規模が
大きくなり、整数演算器で構成した場合は切り捨てによ
る演算誤差が大きくなるという点があった。
【0040】これは、浮動小数点演算の場合、必ず演算
毎に仮数部を正規化して指数部の値を更新するという操
作がはいる。この操作は乗除算ではそれほどではないが
加減算ではかなりのクロック数を必要とし、これを少な
いクロック数で実行しようとした場合にそのハード量が
大きくなってしまうという欠点がある。対して整数演算
または固定小数演算ではオーバーフローの危険と丸め誤
差による演算精度の低下の恐れが生ずる。整数演算で浮
動小数点演算の時と同等の演算精度を得るためには演算
器の桁数を大きくするしかなく、この場合にはハード量
の増大または動作可能周波数の低下が避けられない。
【0041】本発明は上述した技術に鑑みなされたもの
であり、多値画像を2値化するための2値化閾値を決定
して2値化処理を行う際に、処理を極めて高速化するこ
とができる画像処理方法の提供を目的とする。
【0042】また、本発明は多値画像の画像処理の演算
において、限られたコンピュータの扱える整数の有効数
値内で一定の精度を保ち、特に、大きな数値から小さい
数値まで収束させるような繰り返し演算の高速化ができ
る画像処理方法の提供を目的とする。
【0043】
【課題を解決するための手段】上述した目的を達成する
ため本発明の画像処理方法は多値画像を2値化するため
の2値化閾値を決定して、2値化処理を行う画像処理方
法において、複数画素からなる所定の大きさのブロック
単位で2値化処理を行う際に、ライン順次でのデータ入
力とブロック順次での閾値決定処理とライン順次での2
値化処理をパイプライン処理で行う。
【0044】また、本発明は画像を入力し、入力画像に
数値演算を行う画像処理方法において、数値演算の演算
式と演算に用いる数値データにより演算値のとりえる値
を予測し、その予測値から演算の小数点位置を決定して
演算値の桁数の切り捨ておよび繰り上げを行い、最終演
算値を予め設定した有効桁数内に収める。
【0045】
【発明の実施の形態】図1は、本実施の形態における2
値化処理を実行するシステム構成を示すブロック図であ
る。図1において、1は画像の2値化処理、文字認識処
理などを行う画像処理装置であり、2は画像を入力する
スキャナ等の画像入力装置、3は処理後の画像を表示す
る画像表示装置である。
【0046】画像処理装置1において、4は画像入力装
置2とのインターフェースとなる入力インターフェース
部、5は入力された多値画像からの二値化閾値を演算
し、多値画像を二値化処理する閾値演算二値化部であ
る。6は画像データを記憶する記憶部、7は画像処理装
置全体を制御するCPU部で、CPU、ROM、RAM
等からなる。8は文字領域として抽出された領域に対
し、文字認識処理を行う文字認識部、9は文字領域以外
の領域に分離された領域に対する各種画像処理や画像の
レイアウト処理を行う画像処理部、10は画像表示装置
3とのインターフェースとなる出力インターフェース部
である(文字認識部8と画像処理部9の処理はCPU部
7がプログラムによって実行されてもよい)。
【0047】画像入力装置2から入力インターフェース
部4を通じて入力された多値の画像データは閾値演算二
値化部5に入力される。閾値演算二値化部5は所定領域
(64×64画素)毎の二値化閾値を演算して64×6
4画素の多値画像データを二値画像に変換する。閾値演
算二値化部内部5の詳細は後で説明する。変換された二
値画像データは記憶部6に格納される。記憶部6に格納
された画像のうち文字領域と識別された画像には文字認
識処理がなされて文字コードに変換される。
【0048】図2は閾値演算二値化部5の内部を表した
図である。
【0049】閾値演算二値化部5において、201は多
値画像データを入力する入力部であり、207は入力部
201からの画像データを所定領域のライン数分格納す
るバッファメモリである。206はバッファメモリ20
7のデータ入出力を制御するメモリ制御部であり、20
5は入力画像の所定領域毎の輝度頻度とそれに対する二
値化閾値を算出する二値化閾値演算部である。204は
二値化閾値演算部205が得られた閾値データを複数バ
ンド分記憶することのできる結果記憶部であり、203
は多値画像より二値画像の作成を行う画像変換処理部で
あり、202は変換された二値画像を出力する出力部で
ある。208は制御部でありCPU部7から指示を受け
て閾値演算二値化部5の全体の制御を行う。なお閾値演
算二値化部5では多値画像を輝度で扱う。よって8ビッ
ト輝度データが意味するものは最も濃い黒が0で最も淡
い白が255になる。画像入力装置2や画像表示装置3
ではこの意味が異なることが考えられるが、この場合は
入力部201と出力部202において反転処理を行う。
【0050】図3は二値化閾値演算部205の詳細を示
した図である。
【0051】301は輝度頻度演算部、302は閾値演
算部、303はマルチプレクサ、304、305は輝度
頻度記憶RAMである。輝度頻度記憶RAM304、3
05は2ポートRAMで構成され1つのポートは読み出
し専用、他ポートは書き込み専用でともにマルチプレク
サ303に接続されている。RAM304、305はマ
ルチプレクサ303を介して輝度頻度演算部301と閾
値演算部302に交互に接続される。
【0052】図4はこれらの動作タイミングを示した図
である。まず図2において、入力部201を通してラス
タ順次に入力された多値画像データはメモリ制御部20
6を介してバッファメモリ207に書き込まれる。64
ライン分のデータが入力されると、その後順次64×6
4のブロックデータをバッファメモリ207から読み出
し、メモリ制御部206を介して二値化閾値演算部20
5へ入力する。輝度頻度演算部301はメモリ制御部2
06から64×64画素のブロック内の輝度毎の頻度を
カウントする。各輝度の頻度は輝度頻度記憶RAMの輝
度値をアドレスとする箇所に計数される。最初のブロッ
クの輝度頻度は輝度頻度記憶RAM304に生成される
とすると次の輝度頻度は輝度頻度記憶RAM305に生
成される。閾値演算部302は輝度頻度演算部301の
処理に対して1ブロック遅れて動作する。即ち輝度頻度
演算部301が第Nブロックを処理している時間には閾
値演算部302は第N−1ブロックの処理をする。この
輝度頻度演算部301と閾値演算部302の詳細は後で
述べる。閾値演算部302で演算された閾値は結果記憶
部204に格納される。二値化処理は多値画像入力に対
して約128ライン遅れたところから開始される。
【0053】図5はバッファメモリ207でのデータ入
出力の流れである。入力部からバッファメモリへの流れ
(多値画像入力)はライン順次であり、バッファメモリ
から二値化閾値演算部への出力は64画素×64ライン
のブロック順次で、バッファメモリから画像変換処理部
への多値画像はライン順次で流れる。従って、画像変換
処理部203から二値画像出力もライン順次で出力され
る。
【0054】図6は画像の入力に対するバッファメモリ
207の入出力を示す図である。入力、演算、出力の各
処理は小分割してアクセスされる。説明すると、32画
素(32バイト)単位にアクセスする場合、多値画像の
入力32画素分の画像入力クロックを処理の単位として
その時間内に入力32バイト、演算32バイト、出力3
2バイトの入出力を行う(3アクセスが競合した場
合)。
【0055】画像入力レートに対してバッファメモリの
入出力レートは3倍であるが、バッファメモリのデータ
幅が16ビットであるとすると1.5倍となる。この様
にバッファメモリのデータ幅を調整すれば、メモリ速度
に適した入出力レートにすることができる。メモリ制御
部206には画像入力の速度とバッファメモリの入出力
の速度の差を吸収する小バッファ(FIFOメモリ)が
64バイト(32バイト×2)程度内部に持っている。
また入力、演算、出力の各処理バッファをバンクに分割
している場合は各バンクの処理が終わらないと切り換え
できないが分離していないため各処理の開始を自由にで
きる。図6で説明すると入力、演算、出力の開始の間隔
は等間隔でなければならないが、図から分かるように出
力処理の開始を少し早めている。これにより、各ライン
の入力に対する出力時間差を小さくすることを可能にし
ている。
【0056】図7は輝度頻度演算部301の構成と輝度
頻度記憶RAM304/305との関係を示した図で、
図8は輝度頻度の演算処理タイミングを示した図であ
る。
【0057】501は同じ輝度データが連続して入力さ
れたかどうかをチェックする値チェック部、502は入
力された輝度値に対応する輝度頻度記憶RAM304、
305の部分のデータを読み出すRAMリード部、50
3は502で読み出されたデータに+1を加算する+1
加算部、504は+1加算されたデータを輝度頻度記憶
RAM304、305に書き戻すRAMライト部、50
5はパイプライン処理の不整合を回避するデータマルチ
プレクサである。図8に示されているように輝度頻度演
算部301は同一アドレス(輝度値)のチェック、メモ
リ読み出し、+1加算処理、書き込み処理をパイプラン
で処理する。しかし輝度頻度記憶RAMから読み出され
たデータが+1加算処理されて書き戻される間に同じ輝
度データが入力された場合、そのままでは+1加算する
前のデータが処理されるため正しく輝度頻度を計数でき
ない。そこで同一アドレスのチェック部501によって
パイプラインの段数内に同一データがないかどうかチェ
ックする。例えば、値チェック部501でN番目のデー
タを処理する場合、その値と前のN−1とN−2番目の
データの値を比較して同一の値がないかチェックする。
もし同じ輝度データがあった場合マルチプレクサ505
によってデータをフィードバックしてデータ読み出し手
段によって輝度頻度記憶RAMからデータを無視するよ
うにして正しく輝度頻度を計数できるようにしている。
また同一アドレスに対し同時にリード動作とライト動作
をするパターンになった場合はリード動作を禁止する。
処理ブロックを64×64画素とすると輝度頻度は0か
ら4096で13ビット幅のメモリが必要であるが、4
095に制限する。その12ビットの他に1ビットを初
期化フラグに使用する。初期化フラグは動作開始時に1
に設定され、初期化フラグが1のデータは他の12ビッ
トがいかなる値でも0として扱う。初期化フラグの設定
は次の閾値演算部302で行う。
【0058】図9は閾値演算部302の構成及び輝度頻
度記憶RAM304/305との関係を示した図であ
る。304/305は輝度頻度記憶RAMであり0から
255の値をとる輝度をアドレス値としたRAMであ
る。
【0059】601はクリア処理部であり、輝度頻度記
憶RAM304、305の初期化フラグの処理をする。
602は指示された範囲の輝度頻度からその平均輝度を
算出する平均値演算部であり、603は同じく指示され
た範囲の輝度頻度からそのスキューを算出するスキュー
演算部である。輝度頻度記憶RAM304/305の出
力はこの平均値演算部602とスキュー演算部603に
接続され、読み出されたデータは並列に入力される。6
04は判定部であり平均値演算部602とスキュー演算
部603の出力を受けて終了判定を行う。605は全体
の制御を行う制御部であり主にレンジの管理を行う。6
06は閾値演算部であり、閾値の上限と下限の処理を行
う。
【0060】次に、本実施の形態における2値化の閾値
決定処理の流れについて、図10〜図14のフローチャ
ートを参照して詳細に説明する。
【0061】ステップS701において、パラメータS
TART、ENDにそれぞれ「0」、「255」をセッ
トする。同時に後述する画像特徴判別、かすれ文字処
理、つぶれ文字処理で使用するMF、KF、TFの各フ
ラグを「OFF、ON、OFF」に初期化し、また、閾
値決定処理ループ回数iに「1」をセットする。STA
RT、ENDはそれぞれ、後段のステップS702やス
テップS704で求める輝度値の統計量(平均値、スキ
ュー値)の始点及び終点に対応する。
【0062】ステップS702では、STARTからE
NDまでのデジタル値に対応する画素の平均値AVを算
出する。例えば、START=0、END=255であ
れば、「0」から「255」までの値を持つ画素の平均
値AVを算出し、START=0、END=109であ
れば「0」から「109」までの値を持つ画素の平均値
AVを算出する。
【0063】kを0から255の輝度値、PkまたはP
(k)をその輝度値に対応した分布量とすると平均値A
Vは、 AV=Σ(k×P(k))÷ΣP(k) (k=START‥END)…(1) となる。
【0064】S703では、閾値決定処理ループ回数i
の判断を行い、iが「10」ならばステップS718
へ、「10」以外ならステップS704へ進む。
【0065】ステップS704では、STARTからE
NDまでの輝度値に対応する画素のスキュー値SKを算
出する。スキュー値とは、ヒストグラム分布の偏りを示
す統計量である。スキュー値の算出には、以下に示す
(2)式を用いる。
【0066】 SK=Σ((k−AV)3 ×P(k))÷Σ((k−AV)2 ×P(k)) (k=START‥END) …(2) スキュー値を求める(2)式において分母部分は画像全
体の分散値であり、分子は各画素の輝度値と、その平均
値との差分を3乗することにより算出されるが、奇数乗
であれば3乗に限定されるものではない。
【0067】ステップS705では、1つの処理ブロッ
クにおける閾値決定処理ループ回数iの判断(i=1、
つまり最初のループかどうかの判断)を行う。iが
「1」であればステップS706へ、iが「1」以外で
あればステップS709へ進む。ステップS706で
は、処理中のブロックが「文字ブロック」かどうかの画
像特徴判別を行い、ステップS718へ進む。画像特徴
判別の詳細(S728〜S729、S707〜S70
8)は後述するが文字ブロックであると判断された場合
はMFが「ON」に設定される。
【0068】ステップS709では(3)式に示す様に
ヒストグラムの偏りの大きさを判断する。
【0069】|SK|<0.125 …(3) つまり、スキュー値SKの絶対値が「0.125」未満
かの判断を行う。ステップS709が真ならばステップ
S719へ、偽ならばステップS710へ進む。
【0070】ステップS710ではかすれ文字処理を行
う。S710の条件が成立した場合はS719へ、成立
しなかった場合はS711へ進む。かすれ文字処理の詳
細(S710、S730〜S〜731、S712〜S7
13)は後述する。
【0071】ステップS711では、閾値決定処理ルー
プ回数iの判定を行い、iが「2」ならばステップS7
12へ、「2」以外ならステップS716へ進む。iが
「2」の場合に進むステップS714では、処理中のブ
ロックが「つぶれ文字ブロック」かどうの判断と処理を
行いステップS716で合流する。つぶれ文字処理の詳
細(S714、S732〜S733、S715)は後述
するがつぶれ文字ブロックであると判断された場合はつ
ぶれ文字フラグTFが「ON」に設定される。
【0072】ステップS716では、以下に示す(4)
式によりヒストグラムの偏りの方向を判断する。
【0073】SK>=0 …(4)
【0074】ステップS716において(4)式が真
(ヒストグラムの偏りが平均値AVよりも大きい値の範
囲にある事を意味する)ならばステップS717へ進
み、偽(ヒストグラムの偏りが平均値AVよりも小さい
値の範囲にある事を意味する)ならばステップS718
へ進む。
【0075】ステップS717では、STARTに平均
値AVをセットし、ENDは変化させない。そして、ス
テップS734へ進む。ステップS718では、STA
RTは変化させず、ENDに平均値AVをセットする。
そして、ステップS734へ進む。ステップS734で
は、閾値決定処理ループ回数iに「1」を加え、そして
ステップS702に戻り、再びSTART値からEND
値までの平均値AVを算出する。この様にスキュー値S
Kが所定値まで収束する様にして2値化閾値を設定する
ことで、下地を除去し、鮮明な2値画像を得ることがで
きる。
【0076】ステップS719では平均値AVを、2値
化閾値THとして設定する。ステップS720からS7
27は得られた二値化閾値THの制限処理であり、詳細
は後述する。この閾値制限の処理を行うと閾値決定処理
が終了する。
【0077】以上説明したようにして本実施例における
2値化処理が行われるが、式(3)、(4)で示した範
囲は、これに限定されるものではない。
【0078】このフローチャートにより説明した二値化
閾値決定処理を図9における回路で実行するのである
が、演算精度を確保するために以下の様に変形する。
【0079】輝度値kの範囲は0から255であるため
平均値AVも0から255の範囲の値となる。しかしス
キューSKを演算する場合、輝度kは平均値AVの差分
(k−AV)の値が基本となっている。10回の演算の
繰り返しにおいて演算領域であるSTART、END間
が狭くなるため、その差分の値が次第に小さくなり、ま
たΣPiも同様に小さくなる。よって(2)式における
分母および分子部分の値が小さくなっていくためスキュ
ーSKの有効桁数を1回目のループと同程度確保する場
合に分母/分子の演算桁を大きくすることが必要とな
る。即ち小数点以下の桁数を増やしていくしかない。
【0080】(1)式においてXを(14−((END
−START)のビット数))とすると、 AV′=(Σ((i−START)×P(k)))×2X ÷ΣP(k) (i=0‥(END−START)) (3) となり、本来の平均値AVとの関係は、 AV=AV′÷2X +START (4) となる。
【0081】初回のループのSTART=0、END=
255の時(END−STARTが8ビット範囲で収ま
る)に平均値AVを整数部分8ビット、小数部分を7ビ
ットで求められるとすると、2回目以降において(EN
D−START)が7ビット範囲であれば整数部分は7
ビットであるため小数点部分を8ビットまで求めても同
じ演算器で処理が可能になる。説明すると(3)式にお
いて(k−START)によってオフセット処理してX
によってスケーリングを行っているために同じ除算部分
は27ビット割る13ビットで演算されても小数点以下
の桁数が7から14まで変化する。小数点以下の桁数が
大きくなるのは(2)の分母/分子の値が小さくなるの
と歩調があっている。
【0082】同じようにYを(12−(Σp(i)のビ
ット数))(ただしYがマイナス値の場合は0)として
(2)式は tmpA=(k−START)×2X −AV′ (5) tmpB=((tmpA×tmpA)÷27 )×(p(k)×2Y ) (6) tmpC=Σ(tmpA×(tmpB÷23 )) (7) D=(ΣtmpB)÷27 (8) E=|tmpC|÷2X+5 (9) S…tmpCの符号 (10) SK′=E÷D (11) と変形される。ここでSK′は|SK|に等しい。
【0083】図9の各部の内部構成を説明する前に図1
0〜14の閾値算出の処理フローを図15に示す。大き
く分けて平均値演算部602とスキュー演算部603と
判定部604の動作の流れを示しているが、同時に動作
する部分は横並びで表し、時間経過を上下で図示してい
る。
【0084】最初にn回目の平均値、スキューをそれぞ
れAVn、SKn(その前段階がDn、En、Sn)と
して説明を行う。まずフェーズP801としてSTAR
T=0、END=255と初期化される。フェーズP8
02としてEND〜STARTの範囲のデータが輝度頻
度記憶RAM304/305から読み出されて平均値演
算部602に入力される。これにより輝度255から0
までの輝度の平均値AV′1が算出される。次にフェー
ズP803でやはり255から0の範囲のデータが輝度
頻度記憶RAM304/305から読み出されてスキュ
ー演算部603に入力されてD1、E1、S1が演算さ
れる。この時同時に0からAV1の範囲の平均輝度A
V′2が平均演算部602によって演算される。次のフ
ェーズP804でENDをAV1に設定し、フェーズP
805においてAV2−END間の平均値AV′3bと
START−AV2間の平均値AV′3aが平均値演算
部602によって演算され、END−START間のス
キューD2、E2、S2がスキュー演算部603によっ
て算出される。このフェーズP804からP805の間
に同時に判定部604によってD1/E1の演算を行っ
て得られたSK′1を用いて画像特徴判別が行われる。
【0085】フェーズP805ではAV3としてAV3
aとAV3bの二つが求められるが、続くフェーズP8
06で次の演算範囲を決定するのにSK2の符号すなわ
ちS2が正であればAV3aがAV3となり負であれば
AV3bがAV3となる。本来であればS2すなわちS
K2の演算が終了するまでAV3を求めるための領域が
START−AV2間であるかAV2−END間である
かが決定されていないが、SK2(D2、E2、S2)
の演算にSTART−AV2−END間のデータをアク
セスするため、平均値演算部602においてSTART
−AV2間の平均値AV3aとAV2−END間の平均
値AV3bの二つの値を求めておく。輝度頻度記憶RA
M304/305のデータはSTART−AV2、AV
2−ENDのように時間的にずれて入力されるため平均
値演算部602を複数持つ必要はない。このAV′3
a、AV′3b、D2、E2、S2が判定部604に入
力され、S2の符号によりAV3を決定して制御部に出
力する。制御部605は受けた平均値によりSTART
とENDの再設定を行って次の演算範囲を決定し次の平
均値とスキュー(AV4、D3、E3、S3)の演算を
行わせる。それと平行して判定部604ではD2/E2
の演算がなされ、|SK2|<0.1の終了判定やつぶ
れ文字処理またはかすれ文字処理が行われる。詳しくは
後述するがつぶれ文字とかすれ文字は相対する性質であ
るためどちらか一方の処理が行われる。これらの処理に
より終了条件が成立した場合はAV2を閾値THとして
出力し、制御部605は演算中の平均値演算部602と
スキュー演算部603の動作を停止させて全処理を終了
する。
【0086】終了条件が成立しなかった場合は同様の処
理を続行していき、最後に10回目の平均値AV10の
演算が終わってSK9に対する終了判定をして終了条件
が成立した場合はAV9を閾値THとして成立しなかっ
た場合はAV10を閾値THとして終わる。
【0087】このように平均値演算部602、スキュー
演算部603、判定部604が同時に動作して演算を行
っており、判定部604がn回目の演算を行っていると
するとスキュー演算部603は(n+1)回目の演算で
あり、平均値演算部602は(n+2)回目の演算をパ
イプラインで行っていることになる。しかし単純なパイ
プライン動作ではなく、平均値演算部602とスキュー
演算部603の演算は同期を取って行われるため輝度頻
度記憶RAM304/305は一つで処理することがで
きる。
【0088】ところで平均値演算部602においてST
ART、AVn、ENDの三つの値が与えられた場合、
START−AVn間とAVn−END間の平均値を求
めるためにAVnに該当する箇所の輝度データを2度ア
クセスしなければならないが、例として図16に示すよ
うな構成にすれば1回のアクセスですむ。
【0089】図16は平均値演算部602の詳細な構成
を示したブロック図である。
【0090】輝度頻度記憶RAM304/305のデー
タは255から0へアクセスされる。901は入力され
たSTARTとENDの値からEND−STARTとX
の値を求める演算器である。この平均値演算部602で
は平均値を2つ演算するため、入力AとBにはSTAR
T、AVn、ENDの値が実際には入力される。
【0091】902はEND−STARTの値を入力し
て0までダウンカウントするカウンタ、903は入力
A、Bの乗算を行う乗算器であり、乗算器903の入力
Aには輝度すなわち輝度頻度記憶RAM304/305
のデータを読み出す時のアドレスの値−STARTの値
即ちカウンタ902の出力が入力され、入力Bにはその
読み出された頻度データが入力される。この乗算器90
3によって(k−START)×P(k)の演算が行わ
れる。904は加算器でありΣ(k−START)×P
(k)の演算を行う。905はレジスタであり、加算器
904の出力を2つ分保持する。906はシフタであ
り、演算器901によって得られたXの値によってレジ
スタ905の出力をシフトさせる。このシフト量によっ
てAV′nの小数点以下の桁数が決定される。907は
テンポラリのレジスタであり、輝度がAVnに相当する
箇所のデータを一時的に保持するものである。908は
マルチプレクサであり、909は加算器である。マルチ
プレクサ908は加算器909への入力をレジスタ90
7のデータにするか加算器909の出力をフィードバッ
クさせるかを選択するもので、通常は出力をフィードバ
ックさせるように選択されている。加算器909により
ΣP(k)が演算される。
【0092】910はレジスタであり、加算器909の
データが確定したところでその値を保持するものであ
る。平均値は二つ求めなければならないためその出力を
2つ分記憶する容量を持つ。911は除算器でありレジ
スタ905、910からデータを入力し、平均値を求め
る。
【0093】レジスタ907はP(k)のデータをディ
レイさせるものである。最初に加算器904と909は
初期化され0に設定されk=ENDから演算を開始し、
k=AVnのデータを演算したところで加算器904と
909の出力をレジスタ905、910にセーブする。
k=AVn+1の演算時にマルチプレクサ908はレジ
スタ907のデータを選択することにより、加算器50
7ではP(AVn)+P(AVn+1)の演算を行う。
加算器904においては重複するデータの値は入力A側
が0であるためディレイ目的のテンポラリのレジスタは
必要ない。その後k=STARTまでの演算が終わると
その結果をまたレジスタ905、910に出力する。
【0094】このようにすることによってデータに読み
出しが各1回になるので平均値演算部602とスキュー
演算部603が動作を始めてから、同期をとるためにス
キュー演算部603を止める必要はなくなる。
【0095】図17はスキュー演算部603の構成図で
ある。
【0096】1001はカウンタであり、END−ST
ARTの値をロードして0までカウントダウンを行う。
1002はシフタであり、平均値演算部602で演算さ
れたXを受けて(k−START)×2Xの演算を行
う。1003は減算器であり、(k−START)×2
X−AV′すなわちtmpAの演算を行う。1004は
乗算器でありtmpA×tmpAの演算を行う。100
5は演算器であり平均値演算部602で演算されたΣP
(k)の値からYを求める。1006はシフタでありY
の値で輝度分布量P(k)から(P(k)×2Y )の演
算を行う。1007は乗算器であり、(tmpA×tm
pA÷27 )×(P(k)×2Y )即ちtmpBの演算
を行う。1008はディレイであり、減算器1003の
出力を乗算器1004と1007の演算クロック数分遅
れさせる。1009は乗算器であり、tmpA×(tm
pB÷22 )の演算を行う。1010は加算器であり、
ΣtmpBの演算をしてDの結果を出力する。1011
は加算器であり、ΣtmpA×(tmpB÷22 )の演
算を行う。1012は演算器であり、|ΣtmpA×
(tmpB÷22 )|÷2X+5 の演算をしてEとその符
号Sの出力を行う。
【0097】図18は閾値算出の終了条件を判定する判
定部604の詳細を示したブロック図である。
【0098】1101は比較器であり、スキュー演算部
603で得られたD、Eの値からE×8<D即ち|SK
|<0.125の判定を行う。1102は除算器であ
り、同じくD<Eの値からE÷Dを演算してSK′n即
ち|SKn|の値を求める。1103は画像特徴判定部
であり、1104はかすれ文字処理部であり、1105
はつぶれ文字処理部である。1103、1104、11
05内には図10〜図14のMF、KF、TF、SK1
があって共通に管理されている。
【0099】では、画像特徴判別部1103について、
図10、図12に戻って説明する。ステップS701で
は、動作開始時に処理中のブロックが「文字ブロック」
かどうかを示す、文字フラグMFに「0」をセットし、
ステップS704にて一回目のスキュー値の演算がなさ
れるのを待つ。一回目のスキュー値(この段階ではD
1、E1)が演算されると画像特徴判別S706に入
り、そのスキュー値の符号Sが負である場合(S72
8)、ステップS729へ進み符号Sが負でない場合ス
テップS718へ進み画像特徴判別を終了する。ステッ
プS729では除算器1102によって演算されるスキ
ュー値SK′1を用い、処理中のブロックが「文字ブロ
ック」かどうかの判断を(12)式により行う。
【0100】SK′>MH …(12) ここで、MHは処理中のブロックが「文字ブロック」か
どうかを示す値であり、制御部208にCPU部7が設
定した値である。ここでは、「MH=20」とする。ス
テップS729において(12)式が真ならばステップ
S707へ、偽ならばこの画像特徴判別処理を終える。
ステップS707では、処理中のブロックが「文字ブロ
ック」であることを示す、文字フラグMFに「1」をセ
ットし、次のステップS708で得られたスキュー値を
SK1に保持してこの画像特徴判別処理を終える。
【0101】以上説明したようにして本実施の形態にお
ける画像特徴判別処理が行われるが、式(12)で示し
た条件は、これに限定されるものではない。
【0102】次に、つぶれ文字処理部について、同じく
図10、図14を用い詳細に説明する。
【0103】ここで、つぶれ文字とは、1文字の画数が
多い等のため、つぶれている文字のことであり、つぶれ
文字と判断されるとそれを良好に再現できる閾値を割り
当てる。
【0104】ステップS701では、処理中のブロック
が「つぶれ文字ブロック」かどうかを示す、つぶれ文字
フラグTFに「OFF」をセットする。2回目のスキュ
ー演算(D2、E2)が終わるとステップS714に進
み、文字フラグMFが「ON」であり符号Sが正である
場合、ステップS708で保持されたSK1と除算器1
102によって演算されるスキュー値SK′2を用い、
ステップS733では、処理中のブロックが「つぶれ文
字ブロック」かどうかの判断を(13)式により行う。
【0105】SK1>=SR×SK′2 …(13) ここで、SRは処理中のブロックが「つぶれ文字ブロッ
ク」かどうかを示す値であり、ここでは、「SR=3.
0」とする。ステップS733において(13)式が真
ならばステップS715へ、偽ならばこのつぶれ文字処
理を終える。ステップS715では、処理中のブロック
が「つぶれ文字ブロック」であることを示す、つぶれ文
字フラグTFに「ON」をセットし、このつぶれ文字処
理を終える。
【0106】以上説明したようにして本実施の形態にお
ける、つぶれ文字処理が行われるが、式(13)で示し
た条件は、これに限定されるものではない。
【0107】さらに、かすれ文字処理について、図1
0、図13を用い詳細に説明する。かすれ文字とはうす
くなってしまった文字のことであるが、本例ではこのう
すれ文字にも最適な閾値を割り当てる。ステップS70
1では、処理中のブロックが「かすれ文字ブロック」か
どうかを示す、かすれ文字フラグKFに「OFF」をセ
ットする。2回目以降のスキュー値に対して文字フラグ
MFが「ON」で符号Sが負である場合、ステップS7
08で保持されたSK1と除算器1102によって演算
されるスキュー値SK′nを用い、ステップS731で
は、処理中のブロックが「かすれ文字ブロック」かどう
かの判断を(13)式により行う。ここで、SRは処理
中のブロックが「かすれ文字ブロック」かどうかを示す
値であり、ここでは、「SR=3.0」とする。ステッ
プS710において(13)式が真ならばステップS7
19へ進む。偽ならばステップS711へ進み、ループ
回数が2の場合のみS712へ進む。ステップS712
において符号Sが正の場合はかすれ文字フラグKFを
「OFF」にする。
【0108】SRは処理中のブロックが「かすれ文字ブ
ロック」かどうかを示す値であり、ここでは、「SR=
3.0」とする。
【0109】以上説明したようにして本実施の形態にお
ける、かすれ文字処理が行われるが、式(6)で示した
条件は、これに限定されるものではない。
【0110】図10の2回目のループにおいて、かすれ
文字処理とつぶれ文字処理が重なるが処理の本体である
S731とS733は同じ処理であり、S730とS7
32から分かるように2回目のスキューの符号によって
どちらが実行されるか決まる。よって2つの処理は排他
的でありかつ同一処理であるため回路規模や実行時間に
対する影響は小さい。
【0111】終了判定が行われると判定部604から閾
値制限部606に平均値AVが出力され、閾値制限部6
06ではその時の平均値AVを閾値THに設定してS7
20に進む。処理ブロックが文字ブロックでない場合す
なわち文字フラグMFが「OFF」の時は閾値THを下
限値Lと上限値Hによる制限を行う。つまり、ステップ
S719で決定された閾値THが、下限値Lよりも小さ
いときは閾値THをLで代表させ、上限値Hよりも大き
いときは閾値THをHで代表させるような制限処理を行
う。尚、この下限値Lと上限値Hは、画像入力装置2の
特性により決定される値である。文字ブロックである場
合、ステップS725へ進んでつぶれ文字フラグTFが
「ON」かどうかの判断(処理中のブロックがつぶれ文
字ブロックかどうかの判断)をする。その結果が、つぶ
れ文字ブロックであればステップS726へ行く。ステ
ップS726において閾値THが上限値Hに達しない場
合はS727へ進み閾値THに文字つぶれ防止用の定数
TPをかけるような制限処理を行う。定数TPは0.8
75としているが画像入力装置2の特性により決定され
る値である。
【0112】図19は図2の結果記憶部204と画像変
換処理部203の詳細を示したブロック図である。
【0113】結果記憶部204は二値化閾値演算部20
5で決定された各ブロックの閾値とそのブロックが文字
ブロックであるかどうかを示す文字フラグMFを受け取
り内部に格納する。二値化閾値演算部205からは64
×64=4096画素入力の時間間隔で閾値が入力され
る。内部のメモリ容量は扱う画像の1ラインの最大画素
数を8192画素とすると128×2×9ビット(81
92÷64=128)である。メモリ制御部206から
は二値化する画像がライン順次で入力されるため結果記
憶部204から画像変換処理部203(後述の1201
から1211)への出力は64画素分の時間間隔があり
入出力の競合を調停する。画像変換処理部203の内部
は1201から1211である。1201は16ビット
レジスタであり、メモリ制御部206より読み出された
2画素分のデータを一時的に記憶する。1202、12
03は比較器であり、2画素データを同時に閾値と大小
比較を行い出力する。1204は2ビット→4ビット変
換レジスタであり、1205は4ビット幅のFIFOメ
モリである。レジスタ1204は比較器1202、12
03からの2画素分の二値化データ(2ビット)を2回
受け取り4ビットそろったところでFIFOメモリ12
05へ出力する。1201から1204は内部動作クロ
ックに同期し1206から1211は画像の入出力クロ
ックに同期して動作するのであるがFIFOメモリ12
05はこのクロック速度の違いを吸収するものである。
1206は二値画像を2ライン分ディレイさせるメモリ
で2k×8bitの容量を持つ。働きは8k×2bit
のFIFOメモリと等価であるがバス幅を4倍の8ビッ
ト幅にしていることにより1ポートRAMで処理してい
る。画像のクロックにして2クロックに1回アクセスさ
れる。1207、1208、1209はシフトレジスタ
であり、3画素×3画素のウインドウを作る。1210
は文字フラグのディレイメモリであり、128+αビッ
トの容量を持つ。1211は孤立点除去部であり、シフ
トレジスタ1208の注目画素即ち3×3画素の中心画
素のまわりの画素を調べて、孤立点であれば白画素
「1」に変換して出力する。ディレイメモリ1210か
ら孤立点除去部1211への出力はこの注目画素が含ま
れたブロックの文字フラグMFの値であり、文字フラグ
が「1」であれば孤立点除去を働かせ、「0」であれば
休止させて注目画素をスルー出力させる。
【0114】尚、64×64の処理ブロックからはずれ
る部分の二値化閾値はその近傍の64×64のブロック
の二値化閾値を用いる。
【0115】前述の実施の形態ではブロックのサイズを
64×64としたが、画像の解像度が倍になった場合は
128×128であり、1/2の場合は32×32とす
る。ブロックサイズが小さくなった場合でも(5)式か
ら(11)式にある全画素数によって変化するYによっ
て同じハードで演算精度を確保できる。ブロックサイズ
を大きくする場合は、輝度頻度記憶RAMのビット幅
(容量)を大きくしてかつ閾値を演算する平均値演算部
とスキュー演算部の演算器のビット数も大きくする。即
ち、演算系は処理する画像の解像度の最大値によって設
計される。
【0116】しかし、十分なサンプリング数(輝度頻度
を構成する画素数)が必要であれば、データを間引いて
処理できる。例えば4096画素で十分であれば、12
8×128の領域から輝度頻度は飛び飛びに4096画
素でとるのである。この場合は閾値演算部の構成は変わ
らない。また、輝度頻度記憶RAMのビット幅を2ビッ
ト増やして、閾値を演算する平均値演算部とスキュー演
算部には輝度頻度記憶RAMの下位2ビットを除いて入
力しても閾値演算部の構成は変わらない。
【0117】この必要とするサンプリング数は画像入力
装置の特性等によって決定される。
【0118】また、前記実施の形態ではブロックの大き
さを縦横同じにしたが長方形でもよい。
【0119】また、前記実施の形態ではブロックと判定
されたブロックのみ孤立点除去を行うとしたが、全ブロ
ックに行ってもよく、全ブロックに対して処理をスルー
させてもよい。
【0120】また、動作周波数に余裕がある場合は輝度
頻度記憶RAMを1ポートRAMで構成してもよい。輝
度値に対応するメモリデータの読み出し、+1加算、メ
モリデータの書き込みの一連の動作をすることになるの
で処理クロック数が3倍程度になるが、パイプラインの
不整合を監視する回路が不要になる。
【0121】また、同じく輝度頻度を記憶するものをカ
ウンタで構成してもよい。回路規模は大きくなるが1画
素を1クロックで処理できるので動作周波数を高くでき
る。
【0122】以上説明したように、本実施の形態によれ
ば、各処理ごとに必要であったバンドメモリが1ブロッ
クに統一されるため、メモリ制御信号が1組ですみ信号
の数を少なくできるためIC化しやすい。また各処理バ
ッファが物理的に分離されていないため各処理の開始の
タイミングを自由に設定できる。
【0123】また、輝度頻度記憶メモリを多ポートRA
Mで構成することによって輝度頻度累計のための周波数
を低減することができ、より高速動作が可能になる。
【0124】また、二値化閾値を演算する平均値演算部
とスキュー演算部の演算の同期をとってパイプライン化
されているため、本来であればシーケンシャルに実行す
るか、平均値演算部とスキュー演算部のそれぞれに必要
な輝度頻度記憶RAMが1個ですむため、処理の高速化
と回路規模増加の回避を同時に実現できる。
【0125】また、画像の文字及び線画部分の孤立点が
除去されるため見やすくなり、かつ文字認識の認識率が
向上する。また、圧縮効率も向上するので画像の格納ス
ペースとFAX等の転送速度の向上がなされる。
【0126】また、本実施の形態によれば、数値演算の
演算式と演算に用いる数値データにより演算値のとり得
る値の予測から、演算の小数点位置を決定して演算値の
桁数を切り捨て及び繰り上げを行い、最終演算値を予め
設定した有効桁数内に収めることを特徴とする。
【0127】更に、演算の小数点位置は、処理単位ごと
に決定することを特徴とする。
【0128】更に、前記決定処理単位は、前記画像の輝
度頻度の平均値を求め、前記画像の輝度頻度の偏りを求
める単位を処理単位とする決定手段を有することを特徴
とする。
【0129】例えば、有効桁数は演算値の必要精度によ
って決定されることを特徴とする。
【0130】以上の構成により、多値画像の画像処理の
演算において、限られたコンピュータの扱える整数の有
効数値内で一定の精度を保ち、特に、大きな数値から小
さい数値まで収束させるような繰り返し演算の高速化が
できるという特有の作用効果が得られる。
【0131】即ち全計算を複数に分割してそれを処理単
位とし、演算処理単位毎にデータ範囲を調べて必要とす
る演算精度を得られる桁数を決定する。この決定した桁
数によって整数演算の小数点位置を移動させて演算する
のである。このことにより各処理範囲中は整数演算で行
うためハード演算の場合はハード量を少なくできる。か
つ処理単位毎に最適な小数点位置にするため桁数を少な
くして精度を高めることができる。
【0132】
【発明の効果】以上説明した如く本発明によれば、多値
画像を2値化するための2値化閾値を決定して2値化処
理を行う際に、処理を極めて高速化することができる。
【0133】また、多値画像の画像処理の演算におい
て、限られたコンピュータの扱える整数の有効数値内で
一定の精度を保ち、特に、大きな数値から小さい数値ま
で収束させるような繰り返し演算を高速化ができる。
【図面の簡単な説明】
【図1】本実施の形態における画像処理装置の全体構成
を示した図である。
【図2】閾値演算二値化部の構成を示したブロック図で
ある。
【図3】二値化閾値演算部205の内部構成を示した図
である。
【図4】二値化閾値演算部におけるパイプライン処理を
説明するための図である。
【図5】二値化閾値演算部におけるパイプライン処理を
説明するための図である。
【図6】画像入力に対するバッファメモリの入出力を示
す図である。
【図7】輝度頻度演算部の構成を示した図である。
【図8】輝度頻度演算部における処理タイミングを示し
た図である。
【図9】閾値演算部の構成を示したブロック図である。
【図10】閾値演算処理を示したフローチャート図であ
る。
【図11】閾値演算処理を示したフローチャート図であ
る。
【図12】閾値演算処理を示したフローチャート図であ
る。
【図13】閾値演算処理を示したフローチャート図であ
る。
【図14】閾値演算処理を示したフローチャート図であ
る。
【図15】閾値演算部におけるタイミングチャート図で
ある。
【図16】平均値演算部の構成を示したブロック図であ
る。
【図17】スキュー演算部の構成を示したブロック図で
ある。
【図18】判定部の構成を示したブロック図である。
【図19】結果記憶部と画像変換処理部の構成を示した
ブロック図である。
【図20】閾値決定処理を説明するための図である。
【図21】閾値決定処理を説明するための図である。
【図22】閾値決定処理を説明するための図である。
【符号の説明】
1 画像処理装置 2 画像入力装置 3 画像表示装置 4 入力I/F部 5 閾値演算二値化部 6 記憶部 7 CPU部 8 文字認識部 9 画像処理部 10 出力I/F部

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 多値画像を2値化するための2値化閾値
    を決定して、2値化処理を行う画像処理方法において、 複数画素からなる所定の大きさのブロック単位で2値化
    処理を行う際に、ライン順次でのデータ入力とブロック
    順次での閾値決定処理とライン順次での二値化処理をパ
    イプライン処理で行うことを特徴とする画像処理方法。
  2. 【請求項2】 前記データ入力、閾値決定処理、二値化
    処理の際用いられる処理バッファを単一のメモリブロッ
    クで構成し、単一のメモリブロックを所定の処理単位毎
    に時分割でアクセスすることを特徴とする請求項1記載
    の画像処理方法。
  3. 【請求項3】 前記閾値決定処理は、所定の大きさのブ
    ロック内の輝度毎の頻度を計数し、その輝度頻度に基づ
    き、二値化閾値を演算することを特徴とする請求項1記
    載の画像処理方法。
  4. 【請求項4】 輝度頻度を計数するためのメモリと二値
    化閾値を演算するために用いるメモリを、それぞれ切り
    替えて使用し、輝度頻度の計数処理と二値化閾値の演算
    処理をパイプラインで動作させることを特徴とする請求
    項3記載の画像処理方法。
  5. 【請求項5】 輝度頻度を計数するためのメモリをマル
    チポートRAMで構成し、輝度頻度の計数をパイプライ
    ン動作で処理するとともに、パイプライン動作で生じる
    計数処理の不整合を回避することを特徴とする請求項3
    記載の画像処理方法。
  6. 【請求項6】 更に、二値化処理後の二値画像から弧立
    点を除去することを特徴とする請求項1記載の画像処理
    方法。
  7. 【請求項7】 更に、計数された輝度頻度の偏りから画
    像の特徴を判別し、文字領域と判別された領域に弧立点
    の除去処理を行うことを特徴とする請求項6記載の画像
    処理方法。
  8. 【請求項8】 前記閾値決定処理は、輝度頻度から平均
    値及びスキュー値を演算し、各演算をパイプライン処理
    で同期させながら実行することを特徴とする請求項3記
    載の画像処理方法。
  9. 【請求項9】 前記ブロック単位の大きさは処理する画
    像の解像度に応じて変化することを特徴とする請求項1
    記載の画像処理方法。
  10. 【請求項10】 画像を入力し、入力画像に数値演算を
    行う画像処理方法において、数値演算の演算式と演算に
    用いる数値データにより演算値のとりえる値を予測し、
    その予測値から演算の小数点位置を決定して演算値の桁
    数の切り捨て及び繰り上げを行い、最終演算値を予め設
    定した有効桁数内に収めることを特徴とする画像処理方
    法。
  11. 【請求項11】 前記演算の少数点位置は、処理単位毎
    に決定することを特徴とする画像処理方法。
  12. 【請求項12】 前記処理単位は、前記画像の輝度頻度
    の平均値と、前記画像の輝度頻度の偏りを求める単位で
    あることを特徴とする請求項11記載の画像処理方法。
  13. 【請求項13】 前記有効桁数は演算値の必要精度によ
    って決定されることを特徴とする請求項10記載の画像
    処理方法。
JP12334196A 1996-02-28 1996-05-17 画像処理方法及び画像処理装置 Expired - Fee Related JP3673598B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12334196A JP3673598B2 (ja) 1996-05-17 1996-05-17 画像処理方法及び画像処理装置
US08/807,605 US5956421A (en) 1996-02-28 1997-02-27 Image processing method and apparatus for determining a binarization threshold value used for binarizing a multi-valued image and performing binarization processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12334196A JP3673598B2 (ja) 1996-05-17 1996-05-17 画像処理方法及び画像処理装置

Publications (2)

Publication Number Publication Date
JPH09305754A true JPH09305754A (ja) 1997-11-28
JP3673598B2 JP3673598B2 (ja) 2005-07-20

Family

ID=14858175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12334196A Expired - Fee Related JP3673598B2 (ja) 1996-02-28 1996-05-17 画像処理方法及び画像処理装置

Country Status (1)

Country Link
JP (1) JP3673598B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437002B2 (en) 2003-08-25 2008-10-14 Canon Kabushiki Kaisha Image recognition system utilizing an edge image and a binary image
US7962412B2 (en) 2001-11-16 2011-06-14 Seiko Epson Corporation Apparatus and method for processing a check, and a computer-readable recording medium storing a check processing control program
FR3002352A1 (fr) * 2013-02-18 2014-08-22 Sagemcom Documents Sas Procede d'affectation aux pixels d'une image d'une premiere valeur ou d'une seconde valeur
FR3002354A1 (fr) * 2013-02-18 2014-08-22 Sagemcom Documents Sas Procede d'affectation aux pixels d'une image d'une premiere valeur ou d'une seconde valeur
US10225436B2 (en) 2016-08-18 2019-03-05 Brother Kogyo Kabushiki Kaisha Image processing apparatus, and method and computer-readable medium therefor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962412B2 (en) 2001-11-16 2011-06-14 Seiko Epson Corporation Apparatus and method for processing a check, and a computer-readable recording medium storing a check processing control program
US7437002B2 (en) 2003-08-25 2008-10-14 Canon Kabushiki Kaisha Image recognition system utilizing an edge image and a binary image
FR3002352A1 (fr) * 2013-02-18 2014-08-22 Sagemcom Documents Sas Procede d'affectation aux pixels d'une image d'une premiere valeur ou d'une seconde valeur
FR3002354A1 (fr) * 2013-02-18 2014-08-22 Sagemcom Documents Sas Procede d'affectation aux pixels d'une image d'une premiere valeur ou d'une seconde valeur
EP2767929A3 (fr) * 2013-02-18 2015-05-27 Sagemcom Documents Sas Procédé d'affectation aux pixels d'une image d'une première valeur ou d'une seconde valeur
US10225436B2 (en) 2016-08-18 2019-03-05 Brother Kogyo Kabushiki Kaisha Image processing apparatus, and method and computer-readable medium therefor

Also Published As

Publication number Publication date
JP3673598B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
US11137981B2 (en) Operation processing device, information processing device, and information processing method
CN108133270B (zh) 卷积神经网络加速方法及装置
US5956421A (en) Image processing method and apparatus for determining a binarization threshold value used for binarizing a multi-valued image and performing binarization processing
CN110413255B (zh) 人工神经网络调整方法和装置
US4742551A (en) Multistatistics gatherer
US4982342A (en) Image processor system having multifunction look-up table units
US5555359A (en) Computer graphics anti-aliasing method using a partitioned look-up table
CN110519603B (zh) 一种实时视频缩放的硬件电路及其缩放方法
EP0069542B1 (en) Data processing arrangement
US20190378001A1 (en) Neural network hardware acceleration with stochastic adaptive resource allocation
JP3673598B2 (ja) 画像処理方法及び画像処理装置
US20210097397A1 (en) Information processing apparatus and information processing method
JP2020135549A (ja) 演算処理装置、情報処理装置および演算処理方法
US11551087B2 (en) Information processor, information processing method, and storage medium
US5809180A (en) Data conversion system for line-narrowing a pattern
JP4621944B2 (ja) 画像フィルタ装置、方法およびコンピュータプログラム
US5438682A (en) Data processing system for rewriting parallel processor output data using a sequential processor
CN113516738B (zh) 一种动画处理方法、装置、存储介质及电子设备
JP7243498B2 (ja) 演算処理装置、制御プログラム、及び制御方法
US20200134434A1 (en) Arithmetic processing device, learning program, and learning method
JP2009037565A (ja) ベクトル量子化装置及び方法
CN116563156A (zh) 一种基于非局部均值滤波算法的图像降噪方法及装置
US5436982A (en) Data processing system
US20050105816A1 (en) Data processing device
JP2846173B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041015

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: 20050412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees