(57)【要約】【課題】１次元の走査により得られたバーコード画像を対象に、そのバーコード画像上のノイズを除去する技術を提供する。【解決手段】バーコード画像の読み取りにより、バーコードを構成する各バーの幅情報を格納した白黒バッファが作成される（Ｓ１、Ｓ２）。その白黒バッファからノイズが有ることが判明した場合（Ｓ３：Ｙ）、そのノイズが存在する補正対象範囲を１つ選択し、選択した補正対象範囲に対して、白を黒とさせるノイズが発生したとの想定でノイズ除去を行う（Ｓ４）。そのノイズ除去の結果が適切であれば（Ｓ５、Ｓ６の正常）、補正対象範囲のノイズ除去が終了し、他にノイズが有るか否かの判定を行う（Ｓ９）。そのノイズ除去の結果が不適切であれば（Ｓ５、Ｓ６の異常）、選択した補正対象範囲に対して、黒を白とさせるノイズが発生したとの想定でノイズ除去を行う（Ｓ７）。【選択図】図１２
2014120078.tif 000002
【特許請求の範囲】
【請求項１】
読み取られたバーコード画像を取得する画像取得手段と、
前記画像取得手段が取得した前記バーコード画像上にノイズが存在するか否かを判定する判定手段と、
前記バーコード画像上に前記ノイズが存在すると前記判定手段が判定した場合に、該ノイズの除去の対象とする対象範囲を特定する範囲特定手段と、
前記範囲特定手段が特定した対象範囲内の前記ノイズを除去するために用いる補正色を選択する色選択手段と、
前記色選択手段が選択した補正色で前記対象範囲内に存在すると想定するノイズを除去する補正を行う補正手段と、
前記補正手段による前記ノイズの除去結果が適切か否か判定し、該除去結果が適切でないと判定した場合に、前記色選択手段に異なる補正色を選択させ、該異なる補正色を用いて前記対象範囲内に存在すると想定するノイズを前記補正手段に除去させる補正制御手段と、
を有することを特徴とするバーコード画像補正装置。
【請求項２】
前記色選択手段は、前記補正対象範囲内に存在すべきバーの数、及び該数のバーの組み合わせを推定し、該補正対象範囲内に存在すべきバーの数が２以上と推定した場合に、該補正対象範囲を複数の小領域に分割して、該小領域毎に補正色を選択し、
前記補正手段は、前記色選択手段が前記小領域毎に補正色を選択した場合に、各小領域内に存在すると想定するノイズを前記色選択手段が選択した補正色で補正し、
前記補正制御手段は、前記複数の小領域に分割された前記補正対象範囲の補正結果が適切か否か判定する、
ことを特徴とする請求項１記載のバーコード画像補正装置。
【請求項３】
前記補正制御手段は、前記複数の小領域に分割された前記補正対象範囲の補正結果が適切でないと判定した場合に、該補正対象範囲の複数の小領域への分割を前記色選択手段に異なる内容で行わせ、該異なる内容で該補正対象範囲を分割する各小領域から前記ノイズを前記補正手段に除去させる、
ことを特徴とする請求項２記載のバーコード画像補正装置。
【請求項４】
バーコード画像が印字された通帳の処理を行う通帳処理装置において、
前記通帳上のバーコード画像を読み取る読取手段と、
前記読取手段が読み取った前記バーコード画像上にノイズが存在するか否かを判定する判定手段と、
前記バーコード画像上に前記ノイズが存在すると前記判定手段が判定した場合に、該ノイズの除去の対象とする対象範囲を特定する範囲特定手段と、
前記範囲特定手段が特定した対象範囲内の前記ノイズを除去するために用いる補正色を選択する色選択手段と、
前記色選択手段が選択した補正色で前記対象範囲内に存在すると想定するノイズを除去する補正を行う補正手段と、
前記補正手段による前記ノイズの除去結果が適切か否か判定し、該除去結果が適切でないと判定した場合に、前記色選択手段に異なる補正色を選択させ、該異なる補正色を用いて前記対象範囲内に存在すると想定するノイズを前記補正手段に除去させる補正制御手段と、
を有することを特徴とする通帳処理装置。
【請求項５】
バーコード画像が印字された通帳の処理が可能な自動取引装置において、
前記通帳上のバーコード画像を読み取る読取手段と、
前記読取手段が読み取った前記バーコード画像上にノイズが存在するか否かを判定する判定手段と、
前記バーコード画像上に前記ノイズが存在すると前記判定手段が判定した場合に、該ノイズの除去の対象とする対象範囲を特定する範囲特定手段と、
前記範囲特定手段が特定した対象範囲内の前記ノイズを除去するために用いる補正色を選択する色選択手段と、
前記色選択手段が選択した補正色で前記対象範囲内に存在すると想定するノイズを除去する補正を行う補正手段と、
前記補正手段による前記ノイズの除去結果が適切か否か判定し、該除去結果が適切でないと判定した場合に、前記色選択手段に異なる補正色を選択させ、該異なる補正色を用いて前記対象範囲内に存在すると想定するノイズを前記補正手段に除去させる補正制御手段と、
を有することを特徴とする自動取引装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバーにより情報を表すバーコードを認識するための技術に関する。
【背景技術】
【０００２】
バーコードは、黒バー、黒バー間のスペース（以降「白バー」）の各太さ、及びそれらの並びによって情報を表す識別子である。バーコードの情報は、認識を高精度に行うことができる。その利点から、現在、バーコードは、商品販売、物流、等の様々な分野で幅広く用いられている。
【０００３】
バーコードの規格は複数、存在する。しかし、何れの規格であっても、バーコードの表す情報の認識は、そのバーコードの画像を読み取り、バーコードを構成する各バーの太さを特定することで行われる。このため、バーコードの情報を高精度に認識するには、各バーの太さを適切に特定する必要がある。
【０００４】
各バーの太さの特定は、バーコード画像の読み取り結果を用いて行われる。バーコード画像の読み取りは、通常、光学的な読取装置を用いて行われる。バーコード画像の光学的な読み取りでは、たとえ適切な状態のバーコードを適切に読み取ったとしても、そのバーコードと読取装置との間に異物（塵、或いは埃、等）が入り込んだ場合、その異物はバーコード画像のなかで適切に読み取れない部分（ノイズ）を発生させる。
【０００５】
発生したノイズは、バーの数、或いは何れかのバーの太さを変化させる可能性がある。そのような変化は、バーコードの情報を適切に認識できなくさせる可能性が高い。バーコードの情報を適切に認識できなかった場合、バーコード画像の再度の読み取りが行われる。
【０００６】
読取装置は、ユーザが手動でバーコード画像を読み取らせる手動タイプと、バーコード画像が印字された媒体をユーザがセットした後、そのバーコード画像を自動的に読み取る自動タイプと、に大別することができる。自動タイプの読取装置は、手動タイプの読取装置と比較して、バーコード画像の読み取りにより時間がかかるのが普通である。特に媒体を搬送してバーコード画像を読み取るタイプでは、その読み取りに非常に時間がかかる。
【０００７】
読取装置が何れのタイプであっても、バーコード画像の再度の読み取りは、単位時間当たりに認識させるバーコードの数を低減させる。このことから、読取装置のなかには、バーコード画像の読み取りの際に発生したノイズを除去できるバーコード画像補正装置が搭載されたものがある。
【０００８】
従来のバーコード画像補正装置によるノイズ除去は、黒バーの長手方向上の長さに着目し、その長手方向上の長さが短い黒バー、及び黒バーを分けるスペースをノイズと見なすことで行っている。それにより、汚れ、かすれ、細り、太り、つぶれ等が発生している低品質のバーコード画像をより高品質のバーコード画像に補正している。
【０００９】
多くの読取装置は、バーが並ぶ方向に１次元の走査（スキャン）を行うことでバーコード画像を読み取るようになっている。しかし、上記従来のバーコード画像補正装置では、各バーの長手方向の長さを確認するために、バーコード画像全体を読み取ることを前提とする。これは、そのバーコード画像補正装置は、１次元の走査によりバーコード画像を読み取るタイプの読取装置には搭載できないことを意味する。このことから、バーコード画像の補正、つまりノイズの除去は、１次元の走査により得られた読取結果を対象に行えるようにすることが重要と考えられる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−２３２３７６号公報
【特許文献２】特開２００２−２１６０７１号公報
【特許文献３】特開２００２−２１６０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
１側面では、本発明は、１次元の走査により得られたバーコード画像を対象に、そのバーコード画像上のノイズを除去する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明を適用した１システムでは、読み取られたバーコード画像を取得する画像取得手段と、画像取得手段が取得したバーコード画像上にノイズが存在するか否かを判定する判定手段と、バーコード画像上にノイズが存在すると判定手段が判定した場合に、該ノイズの除去の対象とする対象範囲を特定する範囲特定手段と、範囲特定手段が特定した対象範囲内のノイズを除去するために用いる補正色を選択する色選択手段と、色選択手段が選択した補正色で対象範囲内に存在すると想定するノイズを除去する補正を行う補正手段と、補正手段によるノイズの除去結果が適切か否か判定し、該除去結果が適切でないと判定した場合に、色選択手段に異なる補正色を選択させ、該異なる補正色を用いて対象範囲内に存在すると想定するノイズを補正手段に除去させる補正制御手段と、を有する。
【発明の効果】
【００１３】
本発明を適用した場合には、１次元の走査により得られたバーコード画像を対象に、そのバーコード画像上のノイズを除去することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による自動取引装置の回路構成図である。
【図２】通帳処理ユニットの構成を表す図である。
【図３】バーコードの構成とその読み取りによって得られる画像データを説明する図である。
【図４】白黒バッファの内容例を説明する図である。
【図５】読取面の白バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果例を説明する図である。
【図６】読取面の白バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果により白黒バッファに格納される内容例を説明する図である。
【図７】読取面の黒バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果例を説明する図である。
【図８】読取面の黒バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果により白黒バッファに格納される内容例を説明する図である。
【図９】図５に表すケースを対象にして、白を黒とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。
【図１０】図７に表すケースを対象にして、白を黒とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。
【図１１】図７に表すケースを対象にして、黒を白とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。
【図１２】バーコード画像補正処理のフローチャートである。
【図１３】連続する複数のバーにそれぞれノイズが発生した場合の読取結果例を説明する図である。
【図１４】図１３に表すケースを対象にして行われるノイズ除去の方法例を説明する図である。
【図１５】バーコード画像補正処理のフローチャートである（他の実施形態）。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による自動取引装置の回路構成図である。その自動取引装置は、ＡＴＭ（Automated Teller Machine）１である。そのＡＴＭ１は、図１に表すように、ＡＴＭ制御部１０、手のひら静脈センサ部２１、紙幣処理ユニット２２、硬貨処理ユニット２３、通帳処理ユニット２４、カード／レシート処理ユニット２５、及び顧客操作部２６を備えている。
【００１６】
上記手のひら静脈センサ部２１は、生体認証のための情報として、利用者の手のひらに存在する静脈の画像を読み取るためのものである。紙幣処理ユニット２２は、紙幣の入出金を行うものである。硬貨処理ユニット２３は、硬貨の入出金を行うものである。通帳処理ユニット２４は、通帳に記述された情報の読み取り、及び印字等を行うものである。読み取る情報として、通帳に印字されたバーコードが表す情報が含まれる。それにより、本実施形態によるバーコード画像補正装置は、通帳処理ユニット２４に搭載され、その通帳処理ユニット２４は、本実施形態による通帳処理装置に相当する。
【００１７】
カード／レシート処理ユニット２５は、キャッシュカード、クレジットカード等の各種カードの情報の読み取り、及び取り引き内容を印字したレシートの発行を行うものである。顧客操作部２６は、表示装置、及びタッチパネルを有し、暗証番号の入力を含む各種データ入力、及び各種指示等に用いられる。
【００１８】
ＡＴＭ制御部１０は、例えば各種ＬＳＩ等が搭載されたプリント基板（ＰＣＢ：Printed Circuit Board）である。そのＡＴＭ制御部１０は、図１に表すように、主制御部１１、その主制御部１１が処理に用いるメモリ（例えばメモリモジュール）１２、ハードディスク装置１３、銀行ホスト通信制御部１４、及びＩＯ（Input/Output）制御部１５を備えている。上記各部２１〜２６は、ＩＯ制御部１５と接続されている。
【００１９】
上記主制御部１１は、例えばハードディスク装置１３に格納されたプログラムを実行するＣＰＵ（Central Processing Unit）である。この主制御部１１は、例えばＩＯ制御部１５を介して顧客操作部２６への利用者の操作を監視し、顧客操作部２６への操作を介して利用者が指示した取り引きを実現させるための制御を行う。
【００２０】
ＡＴＭ１の利用者は、キャッシュカード、クレジットカード、ローンカード、或いは通帳等の媒体を用いて取り引きを行うことができる。主制御部１１は、顧客操作部２６の表示装置上に、メニュー画面を表示させ、所望の取り引きを利用者に選択させる。
【００２１】
主制御部１１は、メニュー画面上での選択結果に応じて、動作させるべきユニットを動作させ、銀行ホスト通信制御部１４を介して、不図示のホストコンピュータ（以降「ホスト」と略記）との間で必要なデータ通信を行い、取引サービスを提供する。その取引サービスの１つに、未記入の取引明細を通帳に記帳する通帳記帳サービスがある。ここでは説明上、便宜的に、通帳記帳サービスには別の通帳を発行する繰越は含まれないと想定する。
【００２２】
利用者が通帳記帳サービスを選択した場合、主制御部１１は、取引明細を記帳させるページを開いた状態で通帳を挿入させることを利用者に促すメッセージ等を顧客操作部２６の表示装置上に表示させ、通帳処理ユニット２４に、挿入される通帳への対応を指示する。
【００２３】
通帳処理ユニット２４には、通帳を挿入するための通帳挿入口が設けられ、通帳挿入口の近傍には、挿入された通帳を検出するためのセンサが設けられている。通帳処理ユニット２４は、そのセンサが通帳を検出した場合、通帳を内部に取り込み、通帳の磁気テープに記録された情報を読み取り、読み取った情報を主制御部１１に通知する。
【００２４】
通帳の磁気テープには、情報として、口座番号、最後に取引明細が記帳された箇所を表すデータ（以降「記帳位置データ」と表記）等が記録されている。主制御部１１には、口座番号が通知される。
【００２５】
主制御部１１は、通帳処理ユニット２４から通知された口座番号を用いて、印字すべきデータの送信をホストに依頼し、必要なデータを取得する。取得したデータは、通帳処理ユニット２４に出力される。
【００２６】
通帳処理ユニット２４は、主制御部１１から出力されたデータを用いて、通帳への記帳を行う。開いたページに全ての取引明細を印字できない場合、ページを捲り、別のページに取引明細の印字を行う。それにより、全ての取引明細の印字が終了するか、或いは取引明細を印字可能なスペースが無くなった場合、記帳が終了する。通帳処理ユニット２４は、記帳が終了した場合、その旨を主制御部１１に通知し、通帳を搬送して、通帳挿入口から通帳を排出することで返却する。
【００２７】
通帳の各ページには、そのページ番号を表すバーコードが印字されている。通帳処理ユニット２４は、通帳を搬送しながら、通帳の画像を読み取ることにより、ページ番号、及びそのページ番号のページで取引明細が印字されている範囲を確認し、確認結果を記帳位置データと比較する。それにより、磁気テープに記録されていた記帳位置データと確認結果とが一致しない場合、通帳処理ユニット２４は、エラーが発生しているとして、その旨を主制御部１１に通知し、挿入された通帳を返却する。このようなことから、通帳処理ユニット２４は、バーコードを認識する機能が搭載されている。その通帳処理ユニット２４は、取引明細が印字されている範囲の確認結果と記帳位置データの比較のために、記帳を行った場合、通帳の磁気テープに記録されている記帳位置データを更新する。
【００２８】
図２は、通帳処理ユニットの構成を表す図である。
本実施形態による通帳処理装置である通帳処理ユニット２４は、図２に表すように、通帳挿入口２０１、搬送路２０２、磁気部２０３、光学部２０４、印字部２０５、捲り部２０６、退避／取込部２０７、及び制御部２１０を備えている。２は通帳である。
【００２９】
通帳挿入口２０１は、上記のように、記帳の対象となる通帳２の挿入、及び排出に用いられる。図２には表していないが、通帳挿入口２０１の近傍には、挿入された通帳を検出するためのセンサが設けられている。
【００３０】
磁気部２０３は、通帳２に設けられた磁気テープに記録された情報の読み取り、及び記録された情報の更新を行う。光学部２０４は、ラインセンサを有し、通帳の画像の読み取りを行う。印字部２０５は、通帳への記帳を行うための印字装置である。
【００３１】
磁気部２０３による情報の読み取り、及び情報の書き込み、光学部２０４による画像の読み取り、印字部２０５による取引明細の印字は、通帳２を搬送しながら行われる。搬送路２０２は、そのために設けられている。その搬送路２０２には、通帳２への搬送用の動力を伝達するための搬送ローラ２０２ａが複数、設けられている。
【００３２】
捲り部２０６は、通帳２のページを捲るための装置である。取引明細を印字できるスペースが無くなった通帳２は、印字部２０５による印字が可能な位置から捲り部２０６まで搬送され、ページが捲られた後、印字部２０５による印字が可能な位置まで戻される。退避／取込部２０７は、搬送路２０２からの通帳２の一時的な退避、或いは異常な通帳２（例えば偽の通帳）の取り込み等に用いられる。
【００３３】
制御部２１０は、通帳処理ユニット２４全体の制御、主制御部１１との通信を行う。そのために、制御部２１０は、例えばＣＰＵ、少なくとも２種類のメモリ、各種インターフェース等を備えている。通帳２から読み取られたバーコードの認識、その画像の補正は、制御部２１０によって行われる。それにより、制御部２１０は、本実施形態によるバーコード画像補正装置として機能する。２種類のメモリのうちの一方には、ＣＰＵが実行するプログラムが格納されており、他方は、ＣＰＵのワークに用いられる。
【００３４】
以降は、図３〜図１１を参照し、本実施形態によるバーコード画像の補正方法について詳細に説明する。
【００３５】
図３は、バーコードの構成とその読み取りによって得られる画像データを説明する図である。
【００３６】
図３には、２ｏｆ５のバーコード３００を表している。ここでは、混乱を避けるために、バーコードとしては２ｏｆ５仕様のバーコード３００のみを想定する。その２ｏｆ５仕様のバーコード３００は、５本の黒バー３０１と、その黒バーに挟まれた４本の白バー３０２で構成され、５本の黒バー３０１のうち、２本の黒バー３０１−２が他の３本の黒バー３０１−１よりも太くなっている。１つのバーコード３００は、通常、０〜９の数値を表すようになっている。図３中の「Ｂ」「２Ｂ」「Ｗ」は細い黒バー３０１−１、太い黒バー３０１−２、白バー３０２をそれぞれ表している。図３では、細い黒バー３０１―１は「黒の細バー」、太い黒バー３０１−２は「黒の太バー」と表記している。
【００３７】
通帳２上のバーコード３００は、搬送中に光学部２０４のラインセンサによって読み取られる。そのラインセンサによる読み取りは、１次元の光学スキャンに相当する。図３では、その光学スキャンを、矢印を付した線で表している。その左から右を向く矢印は、黒バー３０１、白バー３０２の並びを特定するうえでの基準を表している。それにより、例えば左端に位置する黒バー３０１は先頭、つまり１番目の黒バー３０１となっている。図３中の「Ｂ２」「Ｂ３」は、２番目の黒バー３０１、３番目の黒バー３０１をそれぞれ表している。同様に「Ｗ２」「Ｗ３」は、２番目の白バー３０２、３番目の白バー３０２をそれぞれ表している。
【００３８】
ラインセンサは、画像を２値画像として読み取る。そのため、各画素の値は０及び１の何れかとなる。図３中に表記の「光学スキャンデータ」は、ラインセンサによる読み取りによって得られた画像データである。０は白、１は黒をそれぞれ表している。
【００３９】
図４は、白黒バッファの内容例を説明する図である。この図４に表す内容例は、バーコード３００の画像が適切に読み取れた場合のものである。
【００４０】
この白黒バッファは、バーコード３００を認識するために、光学スキャンデータが表す各黒バー３０１、及び各白バー３０２の幅を表す情報の格納に用いられる作業領域である。その幅は、光学スキャン方向上の幅であり、その幅を表す幅情報として、本実施形態では画素数を採用している。
【００４１】
図４中の「Ｂ」「Ｗ」は、上記のように、黒バー３０１、白バー３０２をそれぞれ表している。「ｎ」は、黒バー３０１、白バー３０２の先頭を基準とした位置情報を表している。それにより、例えば「１」は、先頭、つまり１番目に位置することを表している。本実施形態では、図３に表すように、２つのバーコード３００が連続して印字されている通帳２を想定していることから、ｎの値が１０までの黒バー３０１、白バー３０２の各幅情報が格納されている。
【００４２】
図４では、ｎの値が１０の白バー３０２の幅情報の値が「２５５」となっている。この「２５５」の値は、幅情報の格納に用いるビット数が８ビットであるためである。白バー３０２の幅情報の値が所定値以上となることを条件に、バーコード３００の画像が印字されている範囲が特定される。
【００４３】
光学部２０４による通帳２の画像の読み取りは、その光学部２０４の搬送路２０２側の面（以降「読取面」）が通帳２と接触するか、或いはその読取面と極めて近い位置で行われる。そのため、ラインセンサと通帳２の画像を読み取る箇所との間の距離は、一定と見なすことができる。通帳２に印字されるバーコード３００のサイズは基本的に同じである。画素数を幅情報として採用しているのは、このような理由からである。
【００４４】
図５は、読取面の白バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果例を説明する図である。図６は、その読取結果により白黒バッファに格納される内容例を説明する図である。
【００４５】
ノイズを発生させる汚れ３１０は、黒と読み取られるものである。そのような汚れ３１０が２番目の白バー３０２内の位置に存在していた場合、２番目の白バー３０２は汚れ３１０によって分割され、その汚れ３１０自体は１本の黒バー３０１として扱われることになる。その結果、図５に表すように、汚れ３１０は３番目の黒バー３０１となり、本来は３番目の黒バー３０１は４番目の黒バー３０１となる。２番目の白バー３０２は、２番目の白バー３０２、及び３番目の白バー３０２の２つになる。それにより、図６に表すように、黒バー３０１は１１本、白バー３０２は１０本、それぞれ存在するとして、白黒バッファに各黒バー３０１、各白バー３０２の幅情報が格納されることとなる。
【００４６】
図７は、読取面の黒バーを読み取る箇所に汚れが付着した場合のバーコードの読取結果例を説明する図である。図８は、その読取結果により白黒バッファに格納される内容例を説明する図である。
【００４７】
ノイズを発生させる汚れ３２０は、白と読み取られるものである。そのような汚れ３２０が２番目の黒バー３０１内の位置に存在していた場合、２番目の黒バー３０１は汚れ３２０によって分割され、その汚れ３２０自体は１本の白バー３０２として扱われることになる。その結果、図７に表すように、汚れ３２０は２番目の白バー３０２となり、本来は２番目の白バー３０２は３番目の白バー３０２となる。２番目の黒バー３０１は、２番目の黒バー３０１、及び３番目の黒バー３０１の２つになる。それにより、図８に表すように、黒バー３０１は１１本、白バー３０２は１０本、それぞれ存在するとして、白黒バッファに各黒バー３０１、各白バー３０２の幅情報が格納されることとなる。
【００４８】
図５〜図８に表すように、ラインセンサと通帳２のバーコード３００との間に入った汚れ３１０、３２０のような異物は、本来の色を異なる色で読み取らせるノイズを発生させる。そのようなノイズの発生は、読み取られたバー（黒バー３０１、及び白バー３０２）の数をより多くさせる。そのため、バーの数からノイズの有無を確認することができる。
【００４９】
黒バー３０１、或いは白バー３０２上に発生したノイズは、ノイズが発生したバーを分割することから、他と比較して幅の狭い複数のバーの並びを形成させる。このことから、本実施形態では、他と比較して幅の狭い複数のバーが並ぶ範囲を、ノイズの除去を行うべき補正対象範囲として、ノイズを除去するバーコード画像補正を行うようにしている。
【００５０】
そのノイズ除去は、補正対象範囲を同一の色に統一させることで行う。例えば図５に表すケースでは、光学スキャンデータから特定された２番目の白バー３０２、３番目の黒バー３０１、及び３番目の白バー３０２を補正対象範囲とし、始めに、白を黒とさせたノイズが発生したとの想定でノイズ除去を行う。
【００５１】
図９は、図５に表すケースを対象にして、白を黒とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。
【００５２】
上記のようなノイズ除去により、２番目の白バー３０２、３番目の黒バー３０１、及び３番目の白バー３０２は２番目の白バー３０２と補正される。その補正は、図９に表すように、２番目の白バー３０２の幅情報の値に、３番目の黒バー３０１の幅情報の値、及び３番目の白バー３０２の幅情報の値をそれぞれ加算する操作に相当する。そのような操作を行うことにより、図４に表すような適切な内容の白黒バッファが得られることとなる。適切な内容の白黒バッファが得られる結果、バーコード３００の画像の再読み取りを行うことなく、そのバーコード３００の表す情報を適切に認識することができる。
【００５３】
図５に表すケースでは、白を黒とさせたノイズが発生したとの想定で行うノイズ除去により、適切な内容の白黒バッファを得ることができる。言い換えれば、そのノイズ除去により、適切なバーコード画像補正を行うことができる。しかし、図７に表すようなケースでは、その想定でのノイズ除去により、適切な内容の白黒バッファを得ることはできない。
【００５４】
図１０は、図７に表すケースを対象にして、白を黒とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。
【００５５】
図７に表すようなケースでは、黒を白とさせるノイズが発生している。補正対象範囲は、２番目の黒バー３０１、２番目の白バー３０２、及び３番目の黒バー３０１である。このケースを対象にして、白を黒とさせるノイズが発生したとの想定で行うノイズ除去は、図１０に表すように、１番目の白バー３０２の幅情報の値に、２番目の白バー３０２、３番目の黒バー３０１、及び３番目の白バー３０２の各幅情報の値をそれぞれ加算する操作に相当する。その操作の結果、１番目の白バー３０２の幅情報の値は太すぎるものとなる。バーの数は、適切な数より小さくなる。このケースでは、バーの数は１０ではなく９となる。このようなことから、白を黒とさせるノイズが発生したとの想定で行ったノイズ除去は不適切であると判定することができる。
【００５６】
そのため、本実施形態では、白を黒とさせるノイズが発生したとの想定で行ったノイズ除去が不適切と判定、つまり補正後のバーコード画像が異常であると判定した場合、次に黒を白とさせるノイズが発生したとの想定でノイズ除去を行うようにしている。
【００５７】
図１１は、図７に表すケースを対象にして、黒を白とさせるノイズが発生したとの想定でノイズ除去を行った場合に、白黒バッファに対して行われる操作を説明する図である。その想定でのノイズ除去により、２番目の黒バー３０１の幅情報の値に、２番目の白バー、及び３番目の黒バーの各幅情報の値がそれぞれ加算されることとなる。そのようにして、想定を変えたノイズ除去により、図４に表すような内容の白黒バッファが得られることとなる。この結果、バーコード３００の画像の再読み取りを行うことなく、そのバーコード３００の表す情報を適切に認識することができる。
【００５８】
上記のような白黒バッファへの操作、つまりバーコード画像の補正は、通帳処理ユニット２４の制御部２１０が、図１２にフローチャートを表すバーコード画像補正処理を実行することで実現される。そのバーコード画像補正処理は、制御部２１０に搭載されたＣＰＵが、メモリに格納されたプログラムを実行することで実現される。
【００５９】
通帳処理ユニット２４は、利用者が通帳記帳サービスを選択することで動作する。通帳処理ユニット２４は、通帳挿入口２０１から通帳２が挿入されるのを待って、挿入された通帳２を搬送し、その通帳２の画像を読み取る。その画像の読み取りにより、通帳２に印字されているバーコード３００の画像も読み取られる。それにより、バーコード画像補正処理は、例えば通帳２の画像の読み取りが終了した後、実行される。バーコード３００の画像を読み取ることで得られる光学スキャンデータは、バーコード画像補正処理に渡すために、例えばワーク用のメモリに確保された領域に格納される。
【００６０】
先ず、ＣＰＵは、ワーク用のメモリに格納された光学スキャンデータ（図１２中「縦バーコード」と表記）を取り込み（Ｓ１）、取り込んだ光学スキャンデータから図４等に表すような白黒バッファを作成する（Ｓ２）。次にＣＰＵは、作成した白黒バッファを参照し、発生したノイズが有るか否か判定する（Ｓ３）。白黒バッファから確認されるバーの数が適切な数より多い場合、発生したノイズが存在していることから、Ｓ３の判定はＹとなってＳ４に移行する。白黒バッファから確認されるバーの数が適切な数であった場合、Ｓ３の判定はＮとなってＳ１０に移行する。
【００６１】
Ｓ４では、ＣＰＵは、補正対象範囲を１つ選択し、選択した補正対象範囲に対して、白を黒とさせるノイズが発生したとの想定でノイズ除去を行う。次に、ＣＰＵは、そのノイズ除去に併せて、白黒バッファの操作を行い、操作後の白黒バッファの内容からバーコード３００の補正対象範囲の構成を特定するバーコード化を行う（Ｓ５）。その後、ＣＰＵは、特定した補正対象範囲の構成の判定を行う（Ｓ６）。白黒バッファの操作は、実際には、元の白黒バッファのコピーを作成し、作成したコピーに対して行われる。
【００６２】
操作後の白黒バッファにより、選択した補正対象範囲、或いはそれに隣接するバーの幅が明らかに太い、或いは、操作によって生じたバーの数の変化が不適切のような場合、Ｓ６では操作によって異常が発生したと判定され、Ｓ７に移行する。そのような異常な結果が確認できない場合、Ｓ６では正常と判定され、Ｓ９に移行する。図５〜図１１を参照して説明した通り、適切な操作が行われた場合、バーの数は１つ小さくなる。
【００６３】
Ｓ７では、ＣＰＵは、選択した補正対象範囲に対して、黒を白とさせるノイズが発生したとの想定でノイズ除去を行う。次に、ＣＰＵは、そのノイズ除去に併せて、白黒バッファの操作を行い、操作後の白黒バッファの内容からバーコード３００の補正対象範囲の構成を特定するバーコード化を行う（Ｓ８）。その後はＳ９に移行する。
【００６４】
Ｓ９では、ＣＰＵは、他に発生したノイズが有るか否か判定する。白黒バッファから確認されるバーの数が適切な数より大きい場合、他に発生したノイズが有ることから、Ｓ９の判定はＹとなってＳ４に戻り、別の補正対象範囲が選択される。白黒バッファから確認されるバーの数が適切な数であった場合、Ｓ９の判定はＮとなってＳ１０に移行する。
【００６５】
Ｓ１０では、ＣＰＵは、白黒バッファが表すバーコード３００の構成を別のプログラムに渡すための通知を行う。その後、このバーコード画像補正処理が終了する。
【００６６】
上記のバーコード画像補正処理の実行により、バーコード３００の画像を読み取る際にノイズが発生しても、そのバーコード３００の表す情報を適切に認識できるようになる。それにより、バーコード３００の表す情報の適切な認識を行える可能性はより高くなる。これは、バーコード３００の画像の読み取りを再度、行う頻度が減少することを意味する。このことから、より効率的な処理を行えるようになる。
【００６７】
通帳処理ユニット２４のような搬送によりバーコード３００の読み取りを行うタイプの装置では、バーコード３００の再度の読み取りは、通帳２を一旦、返却させなければならない。このこともあり、再度の読み取りには非常に時間がかかる。そのため、通帳処理ユニット２４のような装置では、本実施形態のようなバーコード画像補正処理を実行させることは特に有効である。
【００６８】
なお、本実施形態では、媒体（通帳２）を搬送して、その媒体上のバーコード３００の画像を読み取る通帳処理ユニット２４に、バーコード画像の補正を行わせるようにしているが、そのバーコード画像の補正は、別のタイプの装置に行わせるようにしても良い。別のタイプの装置は特に限定する必要はないが、例としては、バーコードスキャナを挙げることができる。そのバーコードスキャナには、バーコードに読み取り面をかざすハンディ型、バーコードをなぞるペン型、読み取り面にバーコードをかざす定置型などの種類があるが、何れの種類であっても良い。バーコードスキャナは、携帯端末装置等に搭載されたものであっても良い。このこともあり、バーコード３００が印字された媒体は通帳２でなくとも良い。
【００６９】
次に、他の実施形態について説明する。
上記実施形態では、１本のバー内にノイズが発生するのを想定している。他の実施形態は、連続する複数のバーにそれぞれノイズが発生しても対応できるようにしたものである。この他の実施形態では、上記実施形態と比較して、より幅広くノイズに適切に対応することができる。
【００７０】
この他の実施形態における構成は、基本的に上記実施形態と同じである。動作も大部分は同じか、基本的に同じである。このことから、上記実施形態の符号をそのまま用いつつ、上記実施形態から異なる部分にのみ着目する形で説明を行う。
【００７１】
図１３は、連続する複数のバーにそれぞれノイズが発生した場合の読取結果例を説明する図である。図１３には、実際のバーコード３００と、そのバーコード３００の読み取りによって得られた光学スキャンデータとを表している。図１３に表すケースでは、太い黒バー３０１−２と、それに続く白バー３０２とにノイズが発生している。
【００７２】
図１４は、図１３に表すケースを対象にして行われるノイズ除去の方法例を説明する図である。
【００７３】
この他の実施形態でも、上記実施形態と同様に、他と比較して幅の狭い複数のバーが連続する範囲を、ノイズの除去を行うべき補正対象範囲として設定する。それにより、図１３に表すケースでは、図１４（ａ）に表すように、補正対象範囲が設定される。その設定後、補正対象範囲の幅、本来の各バーの幅、及び適切に読み取られたと見なすバーを考慮して、補正対象範囲内に存在すべきバーの数、及びその組み合わせを推定する。
【００７４】
例えば１本の黒バー３０１−２上に１つ以上のノイズが発生しているケースでは、補正対象範囲はその黒バー３０１−２の幅となる。しかし、その補正対象範囲は、それぞれ１本の黒バー３０１−１と白バー３０２の幅と見なすことができる。これは、補正対象範囲の幅、及び本来の各バーの幅からだけでは、その補正対象範囲内に存在すべきバーの数を適切に推定できないことを意味する。このことから、適切に読み取られたと見なすバーは、補正対象範囲内に存在すべきバーの数の推定に用いられている。
【００７５】
上記ケースでは、補正対象範囲の直前に位置するバー、及びその補正対象範囲の直後に位置するバーが共に白バー３０２となる。それにより、補正対象範囲内に存在すべきバーは１本の黒バー３０１−２であると推定することができる。しかし、同じ幅の補正対象範囲の直前に位置するバーが白バー３０２、その補正対象範囲の直後に位置するバーが黒バーであれば、その補正対象範囲内に存在すべきバーはそれぞれ１本の黒バー３０１−１と白バー３０２であると推定することができる。３本（２つのバーコード３００が連続している想定では６本）存在するはずの黒バー３０１−１のなかで適切と見なせた本数、２本（２つのバーコード３００が連続している想定では４本）存在するはずの黒バー３０１−２のなかで適切と見なせた本数も、補正対象範囲内に存在すべきバーの数、及び組み合わせの推定に用いることができる。
【００７６】
補正対象範囲内に存在すべきバーの数、及び組み合わせを推定すると、次に、その推定結果に沿って、その補正対象範囲を分割する。図１４（ｂ）の１４０は、補正対象範囲に二つのバーが存在するとして、その補正対象範囲を２つの範囲に分割する境界である。図１３に表すケースでは、最初に図１４（ｂ）に表す位置に境界１４０を設定し、その境界１４０の前側は黒バー３０１、その境界１４０の後側は白バー３０２と想定し、ノイズ除去が行われる。図１４（ｂ）は、そのノイズ除去による結果も表している。その境界１４０の前側を黒バー３０１、その境界１４０の後側を白バー３０２と想定するのは、補正対象範囲の前側には適切な幅の白バー３０２が存在し、その補正対象範囲の後ろ側には適切な幅の黒バー３０１−１が存在するからである。
【００７７】
図１４（ｂ）に表すように、図１４（ａ）に表す境界１４０の位置では黒バー３０１−２、及び白バー３０２を適切に補正できない。そのため、次に図１４（ｃ）に表す位置に境界１４０を設定し、同様のノイズ除去を行う。その図１４（ｃ）は、そのノイズ除去による結果も表している。図１４（ｃ）に表すように、黒バー３０１−２、及び白バー３０２が適切に補正されている。そのため、ここで図１３に表すケースでのノイズ除去が終了する。
【００７８】
図１４（ｂ）及び図１４（ｃ）に表すように、境界１４０の設定は、想定するバーの種類により、両端が同じ色のバーとなるように行っている。これは、ノイズがバーの幅の範囲内に存在していると想定しているためである。それにより、他の実施形態では、複数の候補が存在するケースの場合、両端が同じ色のバーの範囲を、１本のバーの本来の幅の候補と見なし、候補毎に、ノイズ除去を行い、その結果を確認することにより、各バー間の境界を特定するようにしている。各バー間の境界は、バーの数、及び組み合わせの推定結果に従って設定するようにしても良い。
【００７９】
上記のようなバーコード画像の補正は、通帳処理ユニット２４の制御部２１０が、図１５にフローチャートを表すバーコード画像補正処理を実行することで実現される。そのバーコード画像補正処理は、制御部２１０に搭載されたＣＰＵが、メモリに格納されたプログラムを実行することで実現される。
【００８０】
先ず、ＣＰＵは、ワーク用のメモリに格納された光学スキャンデータ（図１５中「縦バーコード」と表記）を取り込み（Ｓ２１）、取り込んだ光学スキャンデータから図４等に表すような白黒バッファを作成する（Ｓ２２）。次にＣＰＵは、作成した白黒バッファを参照し、発生したノイズが有るか否か判定する（Ｓ２３）。白黒バッファから確認されるバーの数が適切な数より多い場合、発生したノイズが存在していることから、Ｓ２３の判定はＹとなってＳ２４に移行する。白黒バッファから確認されるバーの数が適切な数であった場合、Ｓ２３の判定はＮとなってＳ３１に移行する。
【００８１】
Ｓ２４では、ＣＰＵは、補正対象範囲を１つ選択する。次にＣＰＵは、選択した補正対象範囲の幅が複数のバー分か否か判定する（Ｓ２５）。その判定は、上記のように、補正対象範囲の幅、本来の各バーの幅、及び適切に読み取られたと見なすバーを考慮して、その補正対象範囲内に存在すべきバーの数、及びその組み合わせを推定して行われる。推定したバーの数が２以上であった場合、Ｓ２５の判定はＹとなってＳ２６に移行する。推定したバーの数が１であった場合、Ｓ２５の判定はＮとなってＳ２７に移行する。
【００８２】
Ｓ２６では、ＣＰＵは、バーの数、及びその組み合わせの推定結果を用いて境界１４０の位置を設定することにより、補正対象範囲を分割し、その分割によって得られた小領域毎に、補正色を設定する。次にＣＰＵは、小領域毎に、想定するノイズを設定した補正色にするノイズ除去を行う（Ｓ２７）。Ｓ２５でのＮの判定により移行した場合、Ｓ２７では、補正対象範囲を１つの小領域と見なし、ノイズ除去が行われる。
【００８３】
その後、ＣＰＵは、補正対象範囲のバーコード化を行う（Ｓ２８）。そのバーコード化を行った後、ＣＰＵは、そのバーコード化の結果の判定を行う（Ｓ２９）。補正対象範囲に存在するバーにおいて、他の適切と見なすバーとの間で矛盾が生じない場合、Ｓ２９では正常と判定され、Ｓ３０に移行する。その矛盾が生じる場合、Ｓ２９では異常と判定され、Ｓ２６に戻る。それにより、Ｓ２６では、境界１４０の位置を変更し、補正対象範囲を別の内容で分割することとなる。上記矛盾とは、補正対象範囲内の何れかのバーの幅が他の同じ種類のバーと比較して大きく異なっている、存在すべきバーの数が適切でない（黒バー３０１−２が３本以上、或いは１本以下、等）、などである。
【００８４】
Ｓ３０では、ＣＰＵは、他に発生したノイズが有るか否か判定する。更新後の白黒バッファから確認されるバーの数が適切な数より大きい場合、他に発生したノイズが有ることから、Ｓ３０の判定はＹとなってＳ２４に戻り、別の補正対象範囲が選択される。白黒バッファから確認されるバーの数が適切な数であった場合、Ｓ３０の判定はＮとなってＳ３１に移行する。
【００８５】
Ｓ３１では、ＣＰＵは、白黒バッファが表すバーコード３００の構成を別のプログラムに渡すための通知を行う。その後、このバーコード画像補正処理が終了する。
【００８６】
なお、上記２つの実施形態では、光学部２０４による通帳２の画像の読み取りは、その光学部２０４の読取面が通帳２と接触するか、或いはその読取面と極めて近い位置で行われる。そのため、バーコード３００を構成する各バーの適切な幅（幅情報の値）は既知としている。しかし、光学部２０４とは異なり、バーコード３００とセンサ間の距離が大きく変化する読取装置では、各バーの適切な幅を特定すれば良い。このことからも、上記２つの実施形態の適用は、通帳処理ユニット２４のような上記の距離がほぼ一定の装置に限定されない。
【００８７】
上記２つの実施形態では、制御部２１０に搭載されたＣＰＵにプログラムを実行させることにより、図１２、或いは図１４にフローチャートを表すバーコード画像補正処理を実現させる。そのバーコード画像補正処理を実現させるプログラムは、外部から取得させるようにしても良い。そのプログラムは、ＡＴＭ制御部１０の主制御部１１に実行させても良い。つまり、バーコードの画像を読み取る装置と、読み取られたバーコードの画像を補正する装置とは、別であっても良い。ノイズについては、読み取りの際に発生したものではなく、バーコード自体の汚れ、かすれ、等の原因によるものであっても良い。
【符号の説明】
【００８８】
１    自動取引装置（ＡＴＭ）
２    通帳
２４    通帳処理ユニット
２０２    搬送路
２０４    光学部
２１０    制御部
３００    バーコード
３０１、３０１−１、３０１−２    黒バー
３０２    白バー
３１０、３２０    汚れ
【図１】
2014120078.tif 000003
【図４】
2014120078.tif 000004
【図１２】
2014120078.tif 000005
【図１５】
2014120078.tif 000006
【図２】
2014120078.tif 000007
【図３】
2014120078.tif 000008
【図５】
2014120078.tif 000009
【図６】
2014120078.tif 000010
【図７】
2014120078.tif 000011
【図８】
2014120078.tif 000012
【図９】
2014120078.tif 000013
【図１０】
2014120078.tif 000014
【図１１】
2014120078.tif 000015
【図１３】
2014120078.tif 000016
【図１４】
2014120078.tif 000017