(57)【特許請求の範囲】
【請求項１】
第１行が画像の第１の端を形成し、最終行が第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第３の端の反対側に第４の端を形成しているＮ行Ｍ列の画素を有する画像を二値化する方法であって、二値化された画素のアレイを形成する方法が：
（ａ）行の局所的に低い画素値を表す第１の変数と、行の局所的に高い画素値を表す第２の変数と、列の局所的に低い画素値を表す第３の変数と、列の局所的に高い画素値を表す第４の変数と、を初期設定する段階と；
（ｂ）第１行から最終行まで、画像の各行について段階（ｃ）から段階（ｆ）を反復して繰り返す段階と；
（ｃ）第１列から最終列まで、画像の各列について段階（ｄ）から段階（ｆ）を反復して繰り返す段階と；
（ｄ）位置指標の行における第１の変数及び第２の変数と位置指標の列における第３の変数及び第４の変数とに依存するスレショルド値を決定する段階であって、位置指標は、段階（ｂ）によって決定される行と段階（ｃ）によって決定される列とを示す段階と；
（ｅ）位置指標での画像画素を表す値を決定されたスレショルド値と比較する段階と；
（ｆ）比較結果によって、位置指標についての二値化画素を黒画素を示す値又は白画素を示す値のいずれかに設定し、かつ、比較結果によって、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの値を調整する段階と；
を備え、
ｉ＝０，…，Ｎ−１についての前記第１の変数をＸlow（ｉ）と記述し、ｉ＝０，…，Ｎ−１についての前記第２の変数をＸhigh（ｉ）と記述し、ｊ＝０からＭ−１についての前記第３の変数をＹlow（ｊ）と記述し、ｊ＝０からＭ−１についての前記第４の変数をＹhigh（ｊ）と記述すると、比較結果によって第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの値を調整する段階が、前記スレショルド値の方が大きい場合には、
【数１】
0003833993.tif 000010
を調整し、そうでない場合には、
【数２】
0003833993.tif 000011
を調整する段階を備え、
ここで、
ｗはパラメータを示し、
＊（アスタリスク）は掛け算を示し、
ｉは行の位置指数を示し、
ｊは列の位置指数を示し、
ＹＩＱ＿Ｙ（ｉ，ｊ）は位置指数での画像の画素の輝度値を示し、
スレショルドが以下の式で表される方法。
【数３】
0003833993.tif 000012
【請求項２】
画像がカラー画像であり、画像画素を表す前記の値が画像画素を表すグレイスケール値であり、さらに、段階（ａ）の前に、カラー画像をグレイスケール画像に変換する段階を備えた請求項１に記載の方法。
【請求項３】
カラー画像をグレイスケール画像に変換する段階が、ＲＧＢ表示によって表された画像をＹＩＱ表示で表された画像に変換する段階を備え、前記グレイスケール値がＹＩＱ＿Ｙ（輝度）値である請求項２に記載の方法。
【請求項４】
さらに、Ｎ行Ｍ列の画素を得るために、カラー画像を走査する段階を備えた請求項２に記載の方法。
【請求項５】
さらに、二値化された画素のアレイについて光学式文字読取を実施する段階を備えた請求項１に記載の方法。
【請求項６】
前記第１の変数、第２の変数、第３の変数及び第４の変数を初期設定する段階が以下のように初期設定する段階を備えた請求項１に記載の方法：
【数４】
0003833993.tif 000013
ここで、
【数５】
0003833993.tif 000014
ここで、minimum｛ＹＩＱ＿Ｙ（ｉ，ｊ）｝はＹＩＱ＿Ｙ（ｉ，ｊ）の最小値を示し、maximum｛ＹＩＱ＿Ｙ（ｉ，ｊ）｝はＹＩＱ＿Ｙ（ｉ，ｊ）の最大値を示す。
【請求項７】
さらに、段階（ａ）と段階（ｂ）との間に、プレトレーニング処理Ａ＿１とプレトレーニング処理Ａ＿２とから選択された第１のプレトレーニング処理とプレトレーニング処理Ａ＿３とプレトレーニング処理Ａ＿４とから選択された第２のプレトレーニング処理とを用いて、Ｘlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングする段階を備えた請求項６に記載の方法：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数６】
0003833993.tif 000015
及び
【数７】
0003833993.tif 000016
である。
【請求項８】
さらに、段階（ａ）と段階（ｂ）との間に、Ａ＿１とＡ＿２とＡ＿３とＡ＿４の４つのプレトレーニング処理を用いて、Ｘlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングする段階を備えた請求項６に記載の方法：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数８】
0003833993.tif 000017
及び
【数９】
0003833993.tif 000018
である。
【請求項９】
Ｎ行Ｍ列の画素であって、第１行は画像の第１の端を形成し、最終行は第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第４の端を形成している画像を二値化する計算装置であって、メモリと値を読みかつ格納するためにメモリに動作可能に結合されたプロセッサとを含む計算装置は；
（ａ）局所的に低い第１の方向画素値を表す第１の変数と、局所的に高い第１の方向画素値を表す第２の変数と、局所的に低い第２の方向画素値を表す第３の変数と、局所的に高い第２の方向画素値を表す第４の変数とをメモリに初期設定し；
（ｂ）第１行から最終行まで、画像の各行について（ｃ）から（ｆ）を反復して繰り返し；
（ｃ）第１列から最終列まで、画像の各列について（ｄ）から（ｆ）を反復して繰り返し；
（ｄ）段階（ｂ）によって決定される行と段階（ｃ）によって決定される列とを示す位置指標の行における第１の変数及び第２の変数と位置指標の列における第３の変数及び第４の変数とに依存するスレショルド値を決定し；
（ｅ）位置指標での画像画素を表す値を決定されたスレショルド値と比較し；
（ｆ）前記メモリにおいて、比較結果に依存して、位置指標についての二値化画素を黒画素を示す値又は白画素を示す値のいずれかに格納し、かつ、比較結果に依存して、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの格納された値を調整するように；構成され、
（ｂ）及び（ｃ）の繰り返しが前記メモリで格納された二値化画素のアレイを形成し、
ｉ＝０，…，Ｎ−１についての前記第１の変数をＸlow（ｉ）と記述し、ｉ＝０，…，Ｎ−１についての前記第２の変数をＸhigh（ｉ）と記述し、ｊ＝０からＭ−１についての前記第３の変数をＹlow（ｊ）と記述し、ｊ＝０からＭ−１についての前記第４の変数をＹhigh（ｊ）と記述すると、比較結果によって第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの値を調整するために、前記スレショルド値が大きい場合には、
【数１０】
0003833993.tif 000019
を調整し、そうでない場合には、
【数１１】
0003833993.tif 000020
を調整するように構成され、
ここで、
ｗはパラメータを示し、
＊（アスタリスク）は掛け算を示し、
ｉは行の位置指数を示し、
ｊは列の位置指数を示し、
ＹＩＱ＿Ｙ（ｉ，ｊ）は位置指数での画像の画素の輝度値を示し、
スレショルドが以下の式で表される装置。
【数１２】
0003833993.tif 000021
【請求項１０】
画像がカラー画像であり、画像画素を表す前記の値が画像画素を表すグレイスケール値であり、さらに、段落（ａ）の前に、カラー画像をグレイスケール画像に変換するように構成された請求項９に記載の装置。
【請求項１１】
カラー画像をグレイスケール画像に変換するために、さらに、ＲＧＢ表示によって表された画像をＹＩＱ表示で表された画像に変換するように構成され、前記グレイスケール値がＹＩＱ＿Ｙ（輝度）値である請求項１０に記載の装置。
【請求項１２】
さらにスキャナーを備え、さらに、Ｎ行Ｍ列のカラー画像を得るために、カラー画像を走査するように構成された請求項１０に記載の装置。
【請求項１３】
さらに、二値化された画素の前記アレイについて光学式文字読取を実施するように構成された請求項９に記載の装置。
【請求項１４】
前記第１の変数、第２の変数、第３の変数及び第４の変数を初期設定するために、前記メモリに以下の値を格納するように構成された請求項９に記載の装置：
【数１３】
0003833993.tif 000022
ここで、
【数１４】
0003833993.tif 000023
【請求項１５】
さらに、段階（ａ）と段階（ｂ）との間に、プレトレーニング処理Ａ＿１とプレトレーニング処理Ａ＿２とから選択された第１のプレトレーニング処理とプレトレーニング処理Ａ＿３とプレトレーニング処理Ａ＿４とから選択された第２のプレトレーニング処理とを用いて、前記メモリに格納されたＸlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングするように構成された請求項１４に記載の装置：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数１５】
0003833993.tif 000024
及び
【数１６】
0003833993.tif 000025
である。
【請求項１６】
さらに、段階（ａ）と段階（ｂ）との間に、Ａ＿１とＡ＿２とＡ＿３とＡ＿４の４つのプレトレーニング処理を用いて、前記メモリに格納されたＸlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングするように構成された請求項１４に記載の装置：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数１７】
0003833993.tif 000026
及び
【数１８】
0003833993.tif 000027
である。
【請求項１７】
メモリと値を読込みかつ格納するためにメモリに動作可能に結合されたプロセッサとを有する計算装置に指示するための命令を記録して有する機械読込可能媒体であって：
（ａ）第１行が画像の第１の端を形成し、最終行が第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第３の端の反対側に第４の端を形成しているＮ行Ｍ列の画素を有する画像において、局所的に低い第１の方向画素値を表す第１の変数と局所的に高い第１の方向画素値を表す第２の変数と、局所的に低い第２の方向画素値を表す第３の変数と局所的に高い第２の方向画素値を表す第４の変数とをメモリにおいて初期設定し；
（ｂ）第１行から最終行まで、画像の各行について（ｃ）から（ｆ）を反復して繰り返し；
（ｃ）第１列から最終列まで、画像の各列について（ｄ）から（ｆ）を反復して繰り返し；
（ｄ）段階（ｂ）によって決定される行と段階（ｃ）によって決定される列とを示す位置指標の行における第１の変数及び第２の変数と位置指標の列における第３の変数及び第４の変数とに依存するスレショルド値を決定し；
（ｅ）位置指標での画素を表す値を決定されたスレショルド値と比較し；
（ｆ）比較結果に依存して、位置指標についての二値化画素を黒画素を示す値又は白画素を示す値のいずれかをメモリに格納し、かつ、比較結果に依存して、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかについての格納された値を調整するように；構成され、
（ｂ）及び（ｃ）の繰り返しがメモリで格納された二値化画素のアレイを形成し、
ｉ＝０，…，Ｎ−１についての前記第１の変数をＸlow（ｉ）と記述し、ｉ＝０，…，Ｎ−１についての前記第２の変数をＸhigh（ｉ）と記述し、ｊ＝０からＭ−１についての前記第３の変数をＹlow（ｊ）と記述し、ｊ＝０からＭ−１についての前記第４の変数をＹhigh（ｊ）と記述すると、比較結果によって第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの値を調整するために、前記スレショルド値が大きい場合には、
【数１９】
0003833993.tif 000028
を調整し、そうでない場合には、
【数２０】
0003833993.tif 000029
を調整するように計算装置に指示する命令を記録して有するように構成され、
ここで、
ｗはパラメータを示し、
＊（アスタリスク）は掛け算を示し、
ｉは行の位置指数を示し、
ｊは列の位置指数を示し、
ＹＩＱ＿Ｙ（ｉ，ｊ）は位置指数での画像の画素の輝度値を示し、
スレショルドが以下の式で表される機械読取可能媒体。
【数２１】
0003833993.tif 000030
【請求項１８】
画像がカラー画像であり、画像画素を表す前記の値が画像画素を表すグレイスケール値であり、さらに、段落（ａ）の前に、カラー画像をグレイスケール画像に変換するように計算装置に指示する命令を記録して有するように構成された請求項１７に記載の媒体。
【請求項１９】
カラー画像をグレイスケール画像に変換するために、さらに、ＲＧＢ表示によって表された画像をＹＩＱ表示で表された画像に変換するように計算装置に指示する命令を記録して有するように構成され、前記グレイスケール値がＹＩＱ＿Ｙ（輝度）値である請求項１８に記載の媒体。
【請求項２０】
さらにスキャナーを備え、さらに、Ｎ行Ｍ列のカラー画像を得るためにスキャナーを用いて、カラー画像を走査するという命令を記録して有するように構成され請求項１８に記載の媒体。
【請求項２１】
さらに、二値化された画素の前記アレイについて光学式文字読取を実施するように計算装置に指示する命令を記録して有するように構成された請求項１７に記載の媒体。
【請求項２２】
前記第１の変数、第２の変数、第３の変数及び第４の変数を初期設定するために、前記メモリに以下の値を格納するように計算装置に指示する命令を記録して有するように構成された請求項１７に記載の媒体：
【数２２】
0003833993.tif 000031
ここで、
【数２３】
0003833993.tif 000032
【請求項２３】
さらに、段階（ａ）と段階（ｂ）との間に、プレトレーニング処理Ａ＿１とプレトレーニング処理Ａ＿２とから選択された第１のプレトレーニング処理とプレトレーニング処理Ａ＿３とプレトレーニング処理Ａ＿４とから選択された第２のプレトレーニング処理とを用いて、前記メモリに格納されたＸlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングするように計算装置に指示する命令を記録して有するように構成された請求項２２に記載の媒体：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数２４】
0003833993.tif 000033
及び
【数２５】
0003833993.tif 000034
である。
【請求項２４】
さらに、段階（ａ）と段階（ｂ）との間に、Ａ＿１とＡ＿２とＡ＿３とＡ＿４の４つのプレトレーニング処理を用いて、前記メモリに格納されたＸlow（ｉ）、Ｘhigh（ｉ）、Ｙlow（ｊ）及びＹhigh（ｊ）の値をプレトレーニングするように計算装置に指示する命令を記録して有するように構成された請求項２２に記載の媒体：
ここで、プレトレーニング処理Ａ＿１は、
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿２は、
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿３は、
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
プレトレーニング処理Ａ＿４は、
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
と記述され、
ここで、
【数２６】
0003833993.tif 000035
及び
【数２７】
0003833993.tif 000036
である。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像二値化法及び装置に関するものであり、特に具体的には、複雑な背景（バックグランド）のもとでのカラー又はグレイスケール画像の二値化法及び装置に関するものである。
【０００２】
【従来の技術及び発明が解決しようとする課題】
白黒画像の光学式文字読取装置（ＯＣＲ）は公知である。しかしながら、カラー文書の人気で、複雑な背景を伴うグレー階調及び／又はカラー文字のテキスト認識の必要性が生じている。例えば、この種の背景を有するテキストはよく広告及び雑誌で目にする。時々、複雑な模様の背景にテキストが描かれ、又は、背景が一の色から他の色へ徐々に変化するものがある。この種の背景は従来のグローバルスレショルド（全域しきい値）法によって処理することは困難である。
【０００３】
より具体的には、グローバルスレショルド法は、少なくとも一の最新の光学式文字読取装置（ＯＣＲ）のソフトウェアパッケージで利用されている。全画像についての単一グローバルスレショルドの生成は高速で簡単である。しかしながら、グローバルスレショルドは、画像の均一性が高い背景を有するときにだけ、満足した結果を提供する。ユーザーの介入がある場合、グローバルスレショルドを有するＯＣＲソフトウェアは、均一でない照明を有する画像又は複雑な模様の背景のような複雑な背景を有する画像を処理することはできない。
【０００４】
【課題を解決するための手段】
従って、本発明の一の構成は、第１行が画像の第１の端を形成し、最終行が第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第３の端の反対側に第４の端を形成しているＮ行Ｍ列の画素を有する画像を二値化する方法を提供するものである。二値化された画素列を形成する方法が：
【０００５】
（ａ）画像の各行については、行の局所的（ローカル）に低い画素値を表す第１の変数と、行の局所的に高い画素値を表す第２の変数と、画像の各列については、列の局所的に低い画素値を表す第３の変数と、列の局所的に高い画素値を表す第４の変数と、を初期設定する段階と；
【０００６】
（ｂ）第１行から最終行まで、画像の各行について段階（ｃ）から段階（ｆ）を反復して繰り返す段階と；
【０００７】
（ｃ）第１列から最終列まで、画像の各列について段階（ｄ）から段階（ｆ）を反復して繰り返す段階と；
【０００８】
（ｄ）位置指標（ロケーション指標）の行における第１の変数及び第２の変数と、位置指標の列における第３の変数及び第４の変数とに依存するスレショルド値を決定する段階であって、位置指標が繰り返される行と繰り返される列とに依存する段階と；
【０００９】
（ｅ）位置指標での画像画素を表す値を決定されたスレショルド値と比較する段階と；
【００１０】
（ｆ）比較結果によって、位置指標についての二値化画素を第１の値又は第２の値のいずれかに設定し、かつ、比較結果によって、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの値を調整する段階と；
を備えている。
【００１１】
本発明の他の構成は、Ｎ行Ｍ列の画素であって、第１行は画像の第１の端を形成し、最終行は第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第４の端を形成している画像を二値化する計算装置である。計算装置は、メモリと値を読みかつ格納するためにメモリに動作可能に結合されたプロセッサとを含み、計算装置は；
【００１２】
（ａ）画像の各行については、局所的に低い第１の方向画素値を表す第１の変数と、局所的に高い第１の方向画素値を表す第２の変数と、画像の各列については、局所的に低い第２の方向画素値を表す第３の変数と、局所的に高い第２の方向画素値を表す第４の変数とをメモリに初期設定し；
【００１３】
（ｂ）第１行から最終行まで、画像の各行について段階（ｃ）から段階（ｆ）を反復して繰り返し；
【００１４】
（ｃ）第１列から最終列まで、画像の各列について段階（ｄ）から段階（ｆ）を反復して繰り返し；
【００１５】
（ｄ）位置指標の行において第１の変数及び第２の変数と、位置指標の列において第３の変数及び第４の変数とに依存するスレショルド値を決定し、ここで、位置指標は繰り返される行と繰り返される列とに依存するものであり；
【００１６】
（ｅ）位置指標での画像画素を表す値を決定されたスレショルド値と比較し；
【００１７】
（ｆ）メモリにおいて、比較結果に依存して、位置指標についての二値化画素を第１の値又は第２の値のいずれかに格納し、また、比較結果に依存して、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの格納された値に調整するように；構成され、
【００１８】
ここで、（ｂ）及び（ｃ）の繰り返しがメモリで格納された二値化画素のアレイを形成する。
【００１９】
本発明のさらに他の構成は、メモリと値を読込みかつ格納するためにメモリに動作可能に結合されたプロセッサとを有する計算装置に命令するように構成された命令を記録して有する機械可読媒体を提供するものであって、
【００２０】
（ａ）第１行が画像の第１の端を形成し、最終行が第１の端と反対側に画像の第２の端を形成し、画像の第１列が画像の第３の端を形成し、画像の最終列が第３の端の反対側に第４の端を形成しているＮ行Ｍ列の画素を有する画像において、各カラムについて、局所的に低い第１の方向画素値を表す第１の変数と局所的に高い第１の方向画素値を表す第２の変数と、画像の各列については、局所的に低い第２の方向画素値を表す第３の変数と局所的に高い第２の方向画素値を表す第４の変数とをメモリにおいて初期設定し；
【００２１】
（ｂ）第１行から最終行まで、画像の各行について段階（ｃ）から段階（ｆ）を反復して繰り返し；
【００２２】
（ｃ）第１列から最終列まで、画像の各列について段階（ｄ）から段階（ｆ）を反復して繰り返し；
【００２３】
（ｄ）位置指標の行において第１の変数及び第２の変数と、位置指標の列において第３の変数及び第４の変数とに依存するスレショルド値を決定し、ここで、位置指標は繰り返される行と繰り返される列とに依存するものであり；
【００２４】
（ｅ）位置指標での画素を表す値を決定されたスレショルド値と比較し；
【００２５】
（ｆ）メモリにおいて、比較結果に依存して、位置指標についての二値化画素を第１の値又は第２の値のいずれかに格納し、また、比較結果に依存して、第１の変数および第３の変数か第２の変数および第４の変数かのいずれかの格納された値を調整するように；構成され、
【００２６】
ここで、（ｂ）及び（ｃ）の繰り返しがメモリで格納された二値化画素のアレイを形成する。
【００２７】
本発明のその他の応用用途は以下に示す詳細な説明から明らかである。詳細な説明及び特別の実施形態は本発明の好適な実施形態を示すものであるが、例示だけの目的であり、本発明の範囲を限定する意図ではないことは理解されたい。
【００２８】
本発明は、詳細な説明及び添付図面によってさらによく理解できるだろう。
【００２９】
図１は、カラー画像を二値化する方法の一の構成を示す流れ図である。
【００３０】
図２は、図１で示した方法に入力として用いられるような、画像における画素の配列を示す図である。
【００３１】
図３は、図１の方法を実施するのに適した計算システムの一の構成を示すブロック図である。
【００３２】
【発明の実施の形態】
好適な実施形態の以下の説明は単に例示だけのものであり、本発明、その用途あるいは使用について限定する意図ではない。
【００３３】
図１に示したように、本発明の一の構成１０は、種々の複雑な背景のもとでカラー又はグレイスケール画像の二値化においてセルフラーニング（自己学習）法を具体化するものである。
【００３４】
複雑な背景を有する多くの文書について、文書の背景は、テキストから裏のテキストへの移行及びその逆の移行を除いて、通常、走査の際に徐々に変化することがわかっている。画素が暗い領域ならば、周囲の領域のカラー背景の相関の結果として次の画素が暗い領域である確率が比較的高い。この仮定を用いると、走査が低コントラスト領域を通ると、次の隣接画素についてのスレショルドは同様に低く調整される。
【００３５】
一の構成において図１に示したように、カラーで走査された書類をグレイスケール像に変換する（１２）。例えば、ＲＧＢ像（すなわち、各画素がＲ（赤）値、Ｇ（緑）値及びＢ（青）値を表す）をＹＩＱ形式に変換する。輝度又はグレイスケール値を表すＹＩＱ＿Ｙ値を二値化に用いる。（ＹＩＱ形式はＮＴＳＣカラーテレビ標準から公知のものであり、ここで、“Ｙ”は知覚された輝度信号であり、“Ｉ”はＲ−Ｙから導出された色差信号であり、“Ｑ”はＢ−Ｙから導出された色差信号である。ここで、“Ｒ”は赤信号であり、“Ｂ”は青色信号である。ここで用いたように、輝度信号又はグレイスケール信号がＹＩＱ＿Ｙと表示される。）
【００３６】
カラー画像ではなくグレイスケールを用いた構成では、ＹＩＱへの変換１２は必要なく、画素のグレイ値を直接用いる。
【００３７】
第１の方向にＮ画素×第２の直交方向にＭ画素の画像について、以下の変数のメモリ所在を割当てて初期設定する（１４）：
【数２８】
0003833993.tif 000002
ここで、
ｉは、０からＮ−１の範囲の画像に行の指標（インデックス）であり、
ｊは、０からＭ−１の範囲の画像に列の指標であり、
Ｘlow（ｉ）は局所的に低い行の値
Ｘhigh（ｉ）は局所的に高い行の値
Ｙlow（ｊ）は局所的に低い列の値
Ｙhigh（ｊ）は局所的に高い列の値
である。
【００３８】
図２は、画像１００の第１の端１０２を形成する第１行（行番号０）と、第１の端１０２の反対側の第２の端１０４を示す最終行（行番号Ｎ−１）とを示した矩形画像の方位を示す図である。同様に、第１列（列番号０）は画像１００の第３の端１０６を示し、最終列（列番号Ｍ−１）は端１０６の反対側の第４の端１０８を形成する。このマッピングはいくらか任意であり、できたマッピングが方法を通して首尾一貫して使用される限り、列及び／又は行を反対の順番で番号付けしてもよいし、画像をいずれかの方向に９０度回転してもよい（すなわち、列と行の役割を交換してもよい）。しかしながら、例として、ここでは図２に示したマッピングを仮定する。
【００３９】
一の構成では、ローカル変数の初期設定（１４）は、走査された画像のＹＩＱ表示から輝度ＹＩＱ＿Ｙの最小値及び最大値を用いて実施する。そして、ローカル変数の初期設定（１４）は、以下で示した関係を用いて決定する：
【数２９】
0003833993.tif 000003
ここで、
【数３０】
0003833993.tif 000004
すなわち、ＹＩＱ＿ＹminはＮｘＭ画像における最小輝度であり、ＹＩＱ＿ＹmaxはＮｘＭ画像における最大輝度であり、ＹＩＱ＿Ｙ（ｉ，ｊ）は指数ｉ及び指数ｊでの画像の画素の強度である。
【００４０】
繰り返しが完成するとき、走査された画像のＹＩＱ表示の位置指標（ｉ，ｊ）で各画素にわたって繰り返し、二値化された画像を戻すために（２０）、入れ子ループのセットを用いる。図１で示した構成では、変数ｉ及びｊはゼロに設定し（１６）、ｉが画像の全幅にわたって繰り返されたか否かを決定するためにテストを行う（１８）。繰り返されていたならば、繰り返しが完成（終了）し、二値化画像が戻る（２０）。さもなければ、ｊが現在の指数ｉでの画像高さ全体にわたってｊが繰り返されたか否かを決定するテストを行う。繰り返されたならば、ｉ指数が増加し（２４）、ｉが画像の全幅にわたって繰り返されていないならば、ｊ全体の他のループが実施される。
【００４１】
位置（ｉ，ｊ）では、以下に記載された関係を用いて、ローカルスレショルドＴ（ｉ，ｊ）を決定する（２６）：
【数３１】
0003833993.tif 000005
対応する位置（ｉ，ｊ）でのＹ値ＹＩＱ＿Ｙ（ｉ，ｊ）を、この局所スレショルドと比較する（２８）。もしも、
【数３２】
0003833993.tif 000006
ならば、符号３０に進み、
【数３３】
0003833993.tif 000007
さもなければ、符号３２に進む：
【数３４】
0003833993.tif 000008
ここで、
＊（アスタリスク）は掛け算を意味し、
Ｂ（ｉ，ｊ）は、メモリに格納された位置指標（ｉ，ｊ）での決定された二値化された画像画素であり、
ｗはパラメータである。
【００４２】
一の構成では、０のＢ（ｉ，ｊ）は黒にマッピングされ、１の値は白にマッピングされる。しかしながら、他の構成では、異なるが対応するマッピングが適用される。
【００４３】
Ｘlow（ｉ）及びＹlow（ｊ）、又は、Ｘhigh（ｉ）及びＹhigh（ｊ）のいずれかにおける変化を観察することによって評価されるように、各スレショルドの比較（２８）の結果（３０，３２）に依存して、スレショルドＴ（ｉ，ｊ）は画像が走査されるときに適用できるように変化する。また、画像の二値化中、Ｘlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）になされる更新のために、特定の（ｉ，ｊ）画素位置での値は、実際の最小及び最大、輝度の値を全域的（グローバル）に又は局所的（ローカル）に表示する必要はない。
【００４４】
一の構成におけるパラメータｗは、Ｘlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）についての“局在化領域”を規定するものと考えてもよいユーザー調整可能なパラメータである。しかしながら、パラメータｗは、本発明の全構成において調整可能である必要でない。一の構成では、パラメータｗは画像解像度に依存して設定される。当業者であれば、Ｘlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）に対する変化が、計算カーネルを利用して一の演算を表すことが理解できる。上述の式によって示されたカーネルは、ｉ及びｊの現在の位置指標値にだけ依存するが、他の構成では、隣接する列及び行のような付加的な列又は行でのＸlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）の重み付きの値についての依存性を含む他のカーネルを用いる。
【００４５】
処理される画素が多いほど、スレショルドＴ（ｉ，ｊ）の二値化について信頼性は向上する。Ｔ（ｉ，ｊ）の各値を決定するためのＸlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）の値の信頼性も向上する。
【００４６】
本発明の一の構成におけるパフォーマンスをさらに向上するために、一の構成では、ローカル変数の初期設定（１４）の後でかつループ繰り返しの前（例えば、図１の段階１４と段階１６の間）に、プレトレーニング（予め教え込む）工程を変数Ｘlow（ｉ）及びＸhigh（ｉ）と変数Ｙlow（ｊ）及びＹhigh（ｊ）に適用する。以下の擬コードは、４つの分離したプレトレーニング処理を示す。ここで、Ａ＿１，Ａ＿２，Ａ＿３，Ａ＿４は各手続についてのラベルである：
Ａ＿１：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
とする。
Ａ＿２：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Xlow(i)＋Xhigh(i)）／２ならば、
Xlow(i)＝（Xlow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Xhigh(i)＝（Xhigh(i)＊YIQ_Y(i,j)）／（w+1）
とする。
Ａ＿３：  i=N_1からi=N_2について、
j=M_1からj=M_2について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
とする。
Ａ＿４：  i=N_2からi=N_1について、
j=M_2からj=M_1について、
YIQ_Y(i,j)＜（Ylow(i)＋Yhigh(i)）／２ならば、
Ylow(i)＝（Ylow(i)＊YIQ_Y(i,j)）／（w+1）とし、
さもなければ、Yhigh(i)＝（Yhigh(i)＊YIQ_Y(i,j)）／（w+1）
とする。
【００４７】
本発明の一の構成では、プレトレーニングは、Ａ＿１，Ａ＿２，Ａ＿３，Ａ＿４の全４つのプレトレーニング処理を行うことによって実施する。他の構成では、２つのプレトレーニング処理、すなわち、Ａ＿１及びＡ＿２から一の処理をかつＡ＿３及びＡ＿４から他の処理を選択して行う。（例えば、一のこのような構成では、プレトレーニング処理Ａ＿１及びＡ＿３を実施する。）このような構成であってもよいが、そうでなくてもよく、プレトレーニング処理の４つの異なる組合せのうちから選択してもよい。他の構成では、４つのプレトレーニング処理のいずれも実施しない。
【００４８】
Ｍ＿１，Ｎ＿１，Ｍ＿２，Ｎ＿２は、初期トレーニングを実施する領域（エリア）のサイズを規定する：
【数３５】
0003833993.tif 000009
である。
（通常、境界Ｍ＿１及びＭ＿２又はＮ＿１及びＮ＿２が等しいループでは、ループを一度実施する。）
【００４９】
プレトレーニング処理Ａ＿１，Ａ＿２，Ａ＿３，Ａ＿４のうちのいずれかを用いる構成でも、画像（全画像であってもよい）の矩形サブセット全体でプレトレーニングを実施する。サブセットが大きいときは、パラメータＸlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）についてさらにトレーニング又は学習を実行する。本発明の一の構成におけるＭ＿１，Ｎ＿１，Ｍ＿２，Ｎ＿２の値を所望の計算速度に対応して選択される。というのは、大きなプレトレーニング領域にはより長い計算時間がかかるからである。
【００５０】
本発明の一の構成は、図３に示したように、本明細書で開示した方法を実施するのに適した計算装置２００を備える。計算装置２００は、プロセッサとプロセッサに動作可能に結合されたメモリとを備える。図３にはプロセッサもメモリも示していないが、いずれもプロセッサをメモリに動作可能に結合する技術とともに、当業者には周知である。プロセッサは、メモリにおける画像及び変数（または変数群）に関して動作し、メモリに変数（または変数群）を格納し又はメモリから変数（または変数群）を読み込むことができる。計算装置２００はさらに、外部の装置読取可能な媒体２０６からの指示を読むように構成された装置と、画像を走査するためのスキャナー２０４とを備える。一の構成では、本明細書で開示した方法の一又は二以上の構成を実施するために計算装置２００に指示を与えるように構成された指示を媒体２０６に記録する。
【００５１】
所定のスレショルドを有する方法とは異なり、本発明の構成は、画像の背景が変化するときに自己学習を利用する。自己学習工程の範囲では、既存の知識を蓄積し、反復して用いる。工程が画素化された画像の列及び行を介して進行しながら、スレシュルドは一の構成において自己調整される。従って、本発明の構成は、均一でない背景又はテクスチャー背景と共によく作用する。一の構成では、方法は、すでに横断された画像の画素を利用してそれ自身で学習する。できた二値化画像は、光学式文字読取（ＯＣＲ）の目的に特に適し、本発明の少なくとも一の構成でＯＣＲを用いて処理される。
【００５２】
本発明の他の構成では、二値化は、“リアルタイムで”すなわち画像の操作中に実施される。この構成は、上述の式（２）及び（３）のようにＸlow（ｉ）、Ｙlow（ｊ）、Ｘhigh（ｉ）及びＹhigh（ｊ）を初期設定することを除いて、図１に示したかつ上述した構成と同様であり、Ｘlow（ｉ）及びＹlow（ｊ）を最小可能画素輝度値に初期設定しかつＸhigh（ｉ）及びＹhigh（ｊ）を最大可能画素輝度値に初期設定にする。（例えば、８ビット整数値内の全輝度値が可能である一の構成が、最小可能輝度値０及び最大可能輝度値２５５を有する。）また、画像の各走査線を得るときに図１の段階１８で始まる変数ｊ全体のループを実施する。しかしながら、画像は二値化が生ずるまではプレトレーニングに適していないので、プレトレーニングは実施しない。
【００５３】
上述の本発明の構成では、二値化に際しては各画像画素の輝度又はグレー値を利用する。しかしながら、他の値（例えば、画素のＲＧＢ表示からＲ値又は画素のＹＩＱ表示からＱ値）を特定目的のために仕立てられた構成における輝度又はグレイ値につじつまが合うように置換することも可能である。
【００５４】
本発明の記載は単なる例示であり、本発明の要旨から逸脱しない変更は本発明の範囲内になるように意図されている。このような変更は、本発明の精神及び範囲から逸脱するとはみなされない。
【図面の簡単な説明】
【図１】  カラー画像を二値化する方法の一の構成を示す流れ図である。
【図２】  図１で示した方法に入力として用いられるような、画像における画素の配列を示す図である。
【図３】  図１の方法を実施するのに適した計算システムの一の構成を示すブロック図である。
【符号の説明】
１００  画像
１０２  第１の端
１０４  第２の端
１０６  第３の端
１０８  第４の端
２００  計算装置
２０４  読取可能な媒体
２０６  スキャナー
【図１】
0003833993.tif 000037
【図２】
0003833993.tif 000038
【図３】
0003833993.tif 000039