(57)【特許請求の範囲】
【請求項１】
検知対象の画像を含む入力画像を取得する画像取得部と、
前記画像取得部により取得した入力画像を認識処理用の形式の画像に変換する第１の画像変換部と、
前記第１の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第１の検知対象認識部と、
前記第１の検知対象認識部による検知対象の認識が失敗した場合、前記第１の検知対象認識部における検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、その分析結果に基づいて入力画像を認識処理用の画像に再変換するための画像変換方法を決定する画像分析部と、
前記画像分析部による分析結果に基づいて、当該入力画像を認識処理用の画像に再変換する第２の画像変換部と、
前記第２の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第２の検知対象認識部と、
を有することを特徴とする被対象認識装置。
【請求項２】
被対象認識装置に用いられる被対象認識方法であって、
検知対象の画像を含む入力画像を取得し、
前記入力画像を認識処理用の形式の画像に第１の画像変換方法により変換し、
前記第１の画像変換方法により得られた認識処理用の画像に対して検知対象の認識処理を行い、
前記検知対象の認識が失敗した場合、前記検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、
前記入力画像に対する分析結果に基づいて入力画像を認識処理用の画像に再変換するための第２の画像変換方法を決定し、
前記第２の画像変換方法により当該入力画像を認識処理用の画像に再変換し、
前記再変換により得られた認識処理用の画像に対して検知対象の認識処理を再度実行する、
ことを特徴とする被対象認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、紙葉類、文書あるいは物品など媒体に付与されている、文字、記号あるいはバーコードなどの検知対象を認識する被対象認識装置、および、上記被対象認識装置などに適用されている被対象認識方法などに関する。
【背景技術】
【０００２】
従来、紙葉類、文書あるいは物品などを処理するシステムでは、バーコード認識処理あるいは文字認識処理（ＯＣＲ）が用いられているものがある。たとえば、紙葉類、文書あるいは物品などの区分対象物を区分処理する区分システムには、区分対象物にプリントされている区分情報を示す文字、記号あるいはバーコードを認識して区分処理を行うものがある。また、郵便物を区分する区分システムでは、文字あるいは記号などで示されている宛先情報を文字認識処理により認識し、認識結果として得られた宛先情報をバーコード化して郵便物にプリントする運用形態が実用化されている。すなわち、上記のような区分システムには、文字あるいは記号等を認識する文字認識装置、あるいは、バーコードを認識するためのバーコード認識装置が搭載される。  
たとえば、上記のようなバーコード認識装置では、カメラにより撮影されたバーコードのプリント領域を含む画像からバーコードを認識する認識処理（バーコード認識処理）を行う。また、上記のような文字認識装置では、カメラにより撮影された文字あるいは記号の記載領域を含む画像から文字あるいは記号を認識する認識処理（文字認識処理）を行う。これらのような検知対象の認識処理を行うための認識プログラムは、通常、設計段階において、所定の階調数の画像を処理対象とするようになっている。一方、文字、記号の記載領域あるいはバーコードのプリント面を撮影するためのカメラは、近年、撮影性能が向上してきている。たとえば、カメラが撮影する画像は、カメラの性能が向上するのに伴って、階調数などの情報量が多い画像になってきている。
【０００３】
このような状況では、認識処理の対象となる画像を撮影するためのカメラを高階調な画像を撮影するカメラに変更する場合、カメラが撮影する高階調の画像と低階調の画像を処理する既存の認識プログラムとを効率的に協調させるのが課題となる。たとえば、既存の認識プログラムをカメラが撮影する高階調の画像を処理するものに変更することが考えられる。この場合、認識プログラム等の改造に手間がかかるとともに、情報量の多い画像を処理対象とするために改造後の認識処理自体が重くなってしまう傾向がある。また、認識処理の前段階で、カメラが撮影した高階調の画像を所定の変換方式により認識プログラムに合わせた低階調の画像に変換することも考えられる。この場合、カメラの性能が向上したにもかかわらず、認識処理の精度向上が望めない。
【特許文献１】特開２００５−４５６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の一形態では、検知対象の認識処理を効率良く、高精度で実行することができる被対象認識装置および被対象認識方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
この発明の一形態としての被対象認識装置は、検知対象の画像を含む入力画像を取得する画像取得部と、前記画像取得部により取得した入力画像を認識処理用の形式の画像に変換する第１の画像変換部と、前記第１の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第１の検知対象認識部と、前記第１の検知対象認識部による検知対象の認識が失敗した場合、前記第１の検知対象認識部における検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、その分析結果に基づいて入力画像を認識処理用の画像に再変換するための画像変換方法を決定する画像分析部と、前記画像分析部による分析結果に基づいて、当該入力画像を認識処理用の画像に再変換する第２の画像変換部と、前記第２の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第２の検知対象認識部とを有する。
【０００８】
この発明の一形態としての被対象認識方法は、被対象認識装置に用いられる方法であって、検知対象の画像を含む入力画像を取得し、前記入力画像を認識処理用の形式の画像に第１の画像変換方法により変換し、前記第１の画像変換方法により得られた認識処理用の画像に対して検知対象の認識処理を行い、前記検知対象の認識が失敗した場合、前記検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、前記入力画像に対する分析結果に基づいて入力画像を認識処理用の画像に再変換するための第２の画像変換方法を決定し、前記第２の画像変換方法により当該入力画像を認識処理用の画像に再変換し、前記再変換により得られた認識処理用の画像に対して検知対象の認識処理を再度実行する。
【発明の効果】
【０００９】
この発明の一形態によれば、検知対象の認識処理を効率良く、高精度で実行することができる被対象認識装置および被対象認識方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態について図面を参照して説明する。  
以下の実施の形態では、被対象認識装置および被対象認識方法の例として、バーコード認識装置およびバーコード認識方法について説明する。ただし、以下に説明するバーコード認識装置およびバーコード認識方法は、被対象認識装置および被対象認識方法の他の例としての、文字認識装置および文字認識方法についても同様に適用可能である。
【００１１】
図１は、この発明の実施の形態に係るバーコード認識装置１の構成例を示す図である。  
ここでは、バーコード認識装置１の例として、媒体としての紙葉類におけるプリント面に蛍光インクでプリントされたバーコードを認識するものであることを想定するものとする。  
図１に示す例では、上記バーコード認識装置１は、画像インターフェース１１、画像分析部１２、画像変換部１３、バー認識部（検知対象認識部）１４、フィードバック部１５、出力インターフェース１６を有している。
【００１２】
上記バーコード認識装置１は、被対象認識装置の一例である。上記被対象認識装置としてのバーコード認識装置１は、たとえば、各種のプログラムにより情報処理を行う機能を有する電子計算機（コンピュータ）などにより実現されるものである。上記バーコード認識装置１としてのコンピュータは、上記画像インターフェース１１に対応する画像入力用のインターフェース、出力インターフェース１６に対応する認識結果を出力するためのインターフェース、および、各種の処理を実行するための制御部などにより構成される。上記バーコード認識装置１としてのコンピュータの制御部は、ＣＰＵ、ＲＡＭ、ＲＯＭおよび書換え可能な不揮発性メモリなどにより構成される。このような制御部では、上記ＣＰＵは、ＲＡＭなどを作業用のメモリとして、ＲＯＭあるいは不揮発性メモリに記憶されている種々のプログラムを実行することにより種々の処理を実現している。
【００１３】
たとえば、バーコード認識装置１としてのコンピュータの制御部は、画像分析用のプログラムを実行することにより画像分析部１２として機能する。また、バーコード認識装置１としてのコンピュータの制御部は、画像変換用のプログラムを実行することにより画像変換部１３として機能する。バーコード認識装置１としてのコンピュータの制御部は、バーコード認識処理用のプログラムを実行することによりバー認識部１４として機能する。バーコード認識装置１としてのコンピュータの制御部は、フィードバック処理用のプログラムを実行することによりフィードバック部１５として機能する。なお、上記画像分析部１２、画像変換部１３、バー認識部１４およびフィードバック部１５は、集積回路などのハードウエアにより実現するようにしてもよい。
【００１４】
また、上記バーコード認識装置１には、上記カメラ２が接続されている。上記カメラ２は、紙葉類においてバーコードがプリントされている面の画像を読取るものである。たとえば、蛍光インクで紙葉類にプリントされているバーコードを認識する形態では、上記カメラ２は、蛍光スキャナおよび照明などにより構成される。この場合、照明は、紙葉類のバーコードがプリントされている面に対して、蛍光インクに含まれる蛍光体を励起させるための光を照射する。たとえば、上記照明は、蛍光灯あるいはＬＥＤで構成される。上記蛍光スキャナは、上記照明からの光が照射される紙葉類のバーコードがプリントされている面から発光される蛍光を受光する。つまり、上記蛍光スキャナは、紙葉類の面に蛍光インクでプリントされているバーコードを画像情報（蛍光画像）として取得する。上記蛍光スキャナにより読取った蛍光画像は、上記バーコード認識装置１の画像インターフェース（画像取得部）１１へ供給される。
【００１５】
また、上記カメラ２は、上記バーコード認識装置１内のバー認識部１４が処理対象とする画像よりも情報量の多い画像を撮影するものとする。たとえば、上記カメラ２は、バー認識部１４が処理対象とする画像の階調（たとえば、８bitの画像）よりも高階調の画像（例えば、１２bitの画像、１６bitの画像）を撮影するものである。なお、以下の説明では、主に、上記カメラ２が撮影する画像（入力画像）が４０９６階調の１２bit画像であり、上記バー認識部１４が処理対象とする画像（認識処理用の画像）が２５６階調の８bit画像であることを想定するものとする。
【００１６】
なお、上記画像分析部１２あるいは上記画像変換部１３は、上記カメラ２に設けるようにしても良い。この場合、バーコード認識装置１には、上記カメラによる画像変換後の画像（８bitの画像）が画像インターフェースを介してバー認識部に供給されるようにすれば良い。また、このような形態は、たとえば、上記カメラ２内の制御部が、画像分析用のプログラムを実行することにより上記画像分析部１２と同様な機能を実現したり、画像変換用のプログラムを実行することにより上記画像変換部１３と同様な機能を実現したりできる。
【００１７】
上記画像インターフェース１１は、検知対象としてのバーコードの画像を含む認識対象となる画像（以下、単に、入力画像とも称する）を取得する画像取得部として機能するものである。すなわち、上記画像インターフェース１１は、上記カメラ２により撮像した画像を入力するためのインターフェースである。上記画像インターフェース１１により上記カメラ２から取得した入力画像は、上記画像分析部１２および上記画像変換部１３に供給されるようになっている。
【００１８】
上記画像分析部１２は、上記画像インターフェース１１により取得した上記カメラ２が撮影した画像（入力画像）を分析し、画像変換方法を決定する処理を行うものである。すなわち、上記画像分析部１２は、入力画像における特徴を判定（推定）する処理と、入力画像を認識処理用の画像に変換するための画像変換方法を決定する処理とを行う。また、上記画像分析部１２は、入力画像を認識処理用の画像に変換するための変換方法を示す情報を上記画像変換部１３へ供給するようになっている。なお、上記画像分析部１２は、第１、第２の画像分析部に相当している。
【００１９】
図１に示す例において、上記画像分析部１２は、濃度値推定部２１、媒体濃度推定部２３、バー濃度推定部２４、および、変換方法決定部２６を有している。
【００２０】
上記濃度値推定部２１、上記バー濃度推定部２４および上記媒体濃度推定部２３は、それぞれ入力画像における特徴を判定（推定）する処理を行うものである。たとえば、上記濃度値推定部２１は、入力画像における特徴として、入力画像における最頻濃度値、平均濃度値、パーセンタイル方式による濃度値などを判定するものである。また、上記バー濃度推定部２４は、入力画像における検知要素画像としての検知要素の濃度値を判定するものである。すなわち、上記バー濃度推定部２４は、入力画像における特徴として、入力画像における検知対象としてのバーコードを構成する検知要素画像としてのバー画像の濃度値を判定するものである。上記媒体濃度推定部２３は、入力画像における背景画像としての媒体の濃度値を判定するものである。
【００２１】
なお、上記濃度値推定部２１、上記バー濃度推定部２４および上記媒体濃度推定部２３は、画像変換方法を決定するための情報を判定するものである。このため、上記濃度値推定部２１、上記バー濃度推定部２４、および、上記媒体濃度推定部２３は、何れかを選択的に設けるようにしても良い。たとえば、入力画像全体から得られる特徴（最頻濃度値、平均濃度値、パーセンタイル方式による濃度値など）に基づいて画像変換方法を決定する場合、上記画像分析部１２は、上記濃度値推定部２１が設けられるようにすれば良い。また、入力画像における各バーの濃度値と媒体の濃度値との組合せに基づいて画像変換方法を決定する場合、上記画像分析部１２には、上記バー濃度推定部２４と上記媒体濃度推定部２３とを設けるようにすれば良い。
【００２２】
上記変換方法決定部２６は、入力画像を認識処理用の画像に変換するための画像変換方法を決定するものである。すなわち、上記変換方法決定部２６は、上記濃度値推定部２１、バー濃度推定部４１あるいは媒体濃度推定部４２により得られる入力画像における特徴の分析結果に基づいて、入力画像を認識処理用の画像に変換するための画像変換方法を決定する。たとえば、上記バー認識部１４が処理対象とする認識処理用の画像が８bitで、かつ、上記カメラ２が撮影する入力画像が１２bitである場合、上記変換方法決定部２２は、入力画像の特徴に基づいて１２bitの入力画像を８bitの画像に変換するための画像変換方法を決定する。上記変換方法決定部２２により決定された画像変換方法を示す情報は、上記画像変換部１３に供給されるようになっている。
【００２３】
上記画像変換部１３は、上記画像インターフェース１１により取り込まれる入力画像を上記バー認識部１４が処理対象とする認識処理用の画像に変換するものである。上記画像変換部１３は、種々の変換方法で画像変換処理を行う機能を有している。上記画像変換部１３は、上記画像分析部１２により決定された画像変換方法で入力画像を認識処理用の画像に変換する。なお、上記画像変換部１３による画像変換処理については、後で詳細に説明するものとする。
【００２４】
上記バー認識部１４は、検知対象認識部として機能し、検知対象としてのバーコードの認識処理を行うものである。上記バー認識部１４は、上記画像変換部１３から供給される認識処理用の画像（変換後の画像）に含まれるバーコードを認識する処理を行うものである。上記バー認識部１４は、たとえば、バー検出部、復号部及び判定部などにより構成される。なお、上記バー認識部１４は、第１、第２のバー認識部に相当している。
【００２５】
上記バー検出部は、検知対象の検出部として機能し、検知対象としてのバーコードを構成する各バーを検出する処理を行う。上記バー検出部は、上記画像変換部１３から供給される認識処理用の画像からバーコードを構成する各バーをバー候補として検出する。上記バー検出部は、検出した各バーに対して種類を判別する。上記バー検出部は、バーコードの仕様に従って、各バーの長さおよびバーコード全体における相対的な位置などに基づいて、各バーの種類を判別する。また、上記バー検出部は、検出した各バー候補に位置などに基づいてバーコード全体の領域をバーコード領域の候補として検出する機能も有している。
【００２６】
たとえば、上記バー検出部では、以下の手順により各バーの検出および認識を行う。  
上記画像変換部１３から８bit画像が供給されると、上記バー検出部は、当該８bit画像において濃度値が所定の閾値を超える画素を抽出する。  
濃度値が所定の閾値を超える画素を抽出すると、上記バー検出部は、抽出した画素が固まって存在する領域をバー候補として選出する。  
バー候補を選出すると、上記バー検出部は、各バー候補が横方向（各バー候補の長辺方向に直交する方向）に並んでいる部位をバーコード領域として抽出する。  
バーコード領域を抽出すると、上記バー検出部は、バーコード領域において各バー候補の縦方向（各バー候補の長辺方向）の中心位置を判定（推定）する。
【００２７】
縦方向の中心位置を判定すると、上記バー検出部は、各バー候補をコード化する。すなわち、上記バー検出部は、各バー候補について、上記中心位置を基準にバーの種類を判定し、その判定結果をコード化する。たとえば、認識対象とするバーコードがアセンダバー、ディセンダーバー、ロングバー、タイミングバーの４種類のバーを並べたものである場合、上記バー検出部は、各バー候補がどの種類のバーであるかを判定する。すなわち、上記バー検出部は、中心位置より上にバーが形成されているバー候補をアセンダバーと判定し、中心位置より下にバーが形成されているバー候補をディセンダバーと判定し、中心を基準として上下に長いバーが形成されているバー候補をロングバーと判定し、中心を基準に短いバーが形成されているバー候補をタイミングバーと判定する。  
上記バー検出部は、各バー候補の種類を判定すると、各バー候補の判定結果をコード化する。上記バー検出部は、各バー候補の並び順に、コード化した各バー候補の判定結果を並べた情報をバーコードの検出結果として復号部へ供給する。
【００２８】
上記復号部は、上記バー検出部により検出されたバーコードを復号化するものである。上記復号部は、上記バー検出部によるバーコードの検出結果としての各バーの種類を示す情報及び各バーの並びを示す情報に基づいてバーコードを復号する。また、上記復号部は、後述する誤り訂正符号に基づいて誤りを訂正する機能を有していても良い。この場合、上記復号部は、上記バー検出部による検出結果に基づいてバーコードが示す情報を復号化すると共に、復号化された情報を誤り訂正符号に基づく誤り訂正処理により訂正する。
【００２９】
上記判定部は、復号部によるバーコードの復号結果（バーコードの認識結果）を有効とするか否かを判定する。たとえば、上記判定部は、バーコードの認識結果が所定桁数の情報であるか否かにより当該認識結果が有効か否かを判定する。また、上記判定部は、図示しない辞書データベースに記憶されている辞書データとバーコードの認識結果とを比較し、辞書データとして存在する認識結果を有効と判定するようにしても良い。上記判定部は、バーコードの復号結果が有効であると判定した場合、上記復号部により得られた復号結果をバーコードの認識結果として上記出力インターフェース１６へ出力する。また、上記判定部は、バーコードの復号結果が有効でないと判定した場合、上記復号部により得られた復号結果、あるいは、上記バー検出部によるバーの検出結果などをフィードバック部１５へ供給する。
【００３０】
なお、被対象認識装置としての上記バーコード認識装置１を文字認識装置に適用する場合、上記バー認識部１４は、所定の認識プログラムにより文字あるいは記号を認識する文字認識部に相当するものである。この場合、上記バー検出部と上記復号部とは、文字候補を検出して各文字候補を認識する処理部に相当し、上記判定部は、文字の認識結果が有効であるか否かを判定する処理部に相当するものと考えれば良い。
【００３１】
上記フィードバック部１５は、上記バー認識部１４による認識処理により得られた情報を画像分析部１２へフィードバックするものである。ここで、上記フィードバック部１５は、上記バー認識部１４による認識処理において得られた情報のうち画像分析に活用できる情報を画像分析部１２へフィードバックするものとする。たとえば、上記フィードバック部１５は、上記バー認識部１４のバー検出部により得られたバー候補の情報に基づいてバーの濃度と背景の濃度との分離閾値を算出し、その算出した分離閾値を画像分析部１２にフィードバックする。この場合、上記画像分析部１２では、上記フィードバック部１５から供給される情報に基づいて画像を再度分析する処理を行う。この処理については、後で詳細に説明するものとする。
【００３２】
上記出力インターフェース１６は、上記バー認識部１４により得られたバーコードの認識結果を外部へ出力するためのインターフェースである。例えば、上記出力インターフェース１６は、上記バー認識部１４の判定部によりバーコードの復号結果が有効である判定された場合、上記復号部により得られた復号結果をバーコードの認識結果として外部へ出力する。また、上記出力インターフェース１６は、上記バー認識部１４の判定部により有効でない判定された場合、上記フィードバック部１５によるフィードバック処理を行わないならば、バーコードの認識が失敗した旨を外部へ出力する。
【００３３】
図２は、上記バーコード認識装置１が適用された区分システムの概略構成を示す図である。  
図２に示す区分システムは、物品（たとえば紙葉類）にプリントされているバーコードに基づいて物品を区分処理するシステムである。なお、ここでは、区分処理の対象となる物品として、第１面に蛍光インクで区分先を示す情報（区分情報）がバーコードがプリントされている紙葉類を想定して説明するものとする。  
図２に示す区分システムは、制御装置３１、供給装置３２、搬送装置３３、区分装置３４、カメラ２、バーコード認識装置１などにより構成されている。図２に示す構成例において、上記制御装置３１には、供給装置３２、搬送装置３３、区分装置３４およびバーコード認識装置１などが接続されている。
【００３４】
上記制御装置３１は、区分システムの全体の制御を司るものである。上記制御装置３１は、たとえば、ＣＰＵ、各種メモリ、各種インターフェースなどを有する電子計算機などにより構成される。上記制御装置３１は、メモリに記憶されているプログラムをＣＰＵが実行することにより種々の処理を実行する機能を有している。たとえば、上記制御装置３１は、各種インターフェースにより各部と接続して、メモリに記憶されている制御プログラムに基づいて各部の動作制御などを行う。また、上記制御装置３１には、オペレータに対して案内を表示したり、オペレータから操作指示が入力されたりする図示しないオペレーティングパネルなども接続されている。
【００３５】
上記供給装置３２には、区分処理の対象となる紙葉類が所定の方向に揃えてセットされる。上記供給装置３２は、セットされている紙葉類を１通づつ取出し、上記搬送装置３３の搬送路へ供給する。上記搬送装置３３は、上記制御装置３１による制御に基づいて各紙葉類を搬送するものである。たとえば、上記搬送装置３３は、上記供給装置３２により順次取り出される各紙葉類を一定の搬送速度で搬送するようになっている。
【００３６】
上記搬送装置３３により搬送される紙葉類の第１面の画像は、上記カメラ２により撮影されるようになっている。上記カメラ２は、上述したように、照明および蛍光スキャナなどにより構成され、紙葉類の第１面に蛍光インクでプリントされているバーコードを含む画像を撮像するようになっている。上記バーコード認識装置１は、上述したような構成により、上記カメラ２で撮像された画像に対してバーコードの認識処理を行う。上記バーコード認識装置１によるバーコードの認識結果は、上記制御装置３１へ供給される。上記制御装置３１は、上記バーコード認識装置１によるバーコードの認識結果に基づいて、上記搬送装置３３および上記区分装置３４を制御することにより紙葉類を区分する処理を行う。
【００３７】
上記区分装置３４は、紙葉類を区分して集積するための複数の区分ポケットを有している。たとえば、上記区分装置３４は、複数段および複数列に区画された複数の区分ポケット、複数のゲート機構、および、分岐搬送路などを有している。この場合、上記区分装置３４は、上記制御装置３１からの制御信号に従って、各ゲート機構などを制御することにより所望の区分ポケットへ各紙葉類を搬送し、集積する。
【００３８】
次に、上記カメラ２により撮像される画像について説明する。  
本実施の形態では、蛍光インクでプリントされたバーコードを認識することを想定している。このため、上記カメラ２としての蛍光スキャナが撮像する画像は、バーの部分が明るく、背景が暗い画像となるのが予測される。たとえば、図３は、上記カメラ２で撮像した画像の例を示す図である。図３に示す画像では、バーが明るく、背景（媒体）が暗くなってる。図３に示すように、バーと背景とが明確に区別できるような画像では、バーを確実に抽出することができるため、バーコードの認識精度が高くなる。これに対して、バーと背景とが共に明るかったり、バーと背景とが共に暗かったりすると、バーの検出が困難になるため、バーコードの認識精度が低くなる。
【００３９】
上記バーコード認識装置１では、画像分析部１２がカメラ２により撮像された画像（入力画像）の特徴を分析し、その分析結果に基づいて画像変換部１３が入力画像をバーコードの認識精度が高くなるような画像に変換（たとえば、バーが検出しやすい画像に変換）する処理を行うものである。なお、ここでは、カメラ２が１２bit画像を撮影し、バー認識部が８bit画像に対してバーコード認識処理を行うことを想定している。つまり、本実施の形態では、入力画像の特徴に基づいて、１２bitの入力画像を８bitの認識用の画像に変換することを想定している。
【００４０】
次に、上記画像変換部１３における画像変換処理について説明する。  
図４は、画像変換処理の一例を説明するための図である。図４に示す例では、各画素の濃度値（輝度値）が０〜４０９５までの値で示される１２bit画像（４０９６階調の画像）を各画素の濃度値（輝度値）が０〜２５５までの値で示される８bit画像（２５６階調の画像）に線形変換するものである。図４では、数値が高ければ高いほど明るく、数値が低ければ低いほど暗いことを示している。以下、本実施の形態では、図４に示すように、濃度値が高ければ高いほど明るい画素であるものとする。
【００４１】
図４に示すような画像変換では、１２bitレンジの画像をむらなく、８bitレンジの画像に変換できる。しかしながら、図４に示すような画像変換では、バーの検出精度などのバーコードの認識精度の向上を期待することができない。すなわち、１２bit画像においてバーを構成する各画素の濃度値と背景を構成する各画素の濃度値との差が小さい場合（つまり、バーと背景とが共に明るい場合、あるいは、バーと背景とが共に暗い場合）、図４に示すような画像変換により得られる８bit画像では、バーと背景とが区別し難くなる可能性がある。これは、１２bit画像における背景とバーとの濃度差が小さい場合、１２bit画像から８bit画像に変換される際に、その濃度差がさらに小さくなったり、無くなったりする可能性があるためである。
【００４２】
以下、カメラ２が撮影した画像（入力画像とも称する）を認識処理用の画像に変換するための処理例として、第１〜第５の処理例について説明する。  
まず、第１の処理例について説明する。  
この第１の処理例では、４０９６階調の１２bit画像全体における特徴（濃度値の分布）に基づいて画像変換方法を決定するものとする。また、第１の処理例では、上記画像変換部１３は、１２bit画像を８bit画像に変換する方法として、以下のような５種類の画像変換処理（第１〜第５の画像変換処理）を行う機能を有しているものとする。ここで、第１〜第５の画像変換処理の例について説明する。  
図５は、第１〜第５の画像変換処理の特性（変換テーブル）を示す図である。また、図６は、第１〜第５の画像変換処理により得られる画像の例を示す図である。
【００４３】
（ａ）第１の画像変換処理は、１２bit画像において濃度値が０〜２５５の画素を２５６階調の画素とする８bit画像に線形変換する。この場合、１２bit画像における濃度値が２５６以上の画素は濃度値が２５５に変換される。この第１の画像変換処理は、図５に示す特性ａに従った変換処理である。この第１の画像変換処理では、１２bit画像において濃度値が０〜２５５の各画素による階調変化を強調した明るい８bit画像（２５６階調の画像）が得られる。たとえば、第１の画像変換処理では、図６（ａ）に示すような明るい画像が得られる。従って、第１の画像変換処理は、濃度値が２５５未満の画素が多い入力画像（全体が暗い画像）に対する画像変換処理に有効であると考えられる。特に、上記第１の画像変換処理は、４０９６階調の入力画像における背景の画像を構成する各画素の濃度分布とバーの画像を構成する各画素の濃度分布との差異が濃度値０〜２５５のレンジで強調できる場合に効果的であると考えられる。
【００４４】
（ｂ）第２の画像変換処理は、１２bit画像において濃度値が０〜５１１の各画素を２５６階調の８bit画像に線形変換する。この場合、１２bit画像における濃度値が５１２以上の各画素の濃度値は２５５に変換される。この第２の画像変換処理は、図５に示す特性ｂに従った画像変換処理である。この第２の画像変換処理では、１２bit画像（４０９６階調の画像）において濃度値が０〜５１１の各画素による階調変化を強調した８bit画像（２５６階調の画像）が得られる。たとえば、第２の画像変換処理では、図６（ｂ）に示すような画像が得られる。従って、第２の画像変換処理は、濃度値が５１１未満の画素が多い入力画像に対する画像変換処理に有効であると考えられる。すなわち、上記第２の画像変換処理は、４０９６階調の入力画像における背景画像を構成する各画素の濃度分布とバーの画像を構成する各画素の濃度分布との差異が濃度値０〜５１１のレンジで強調できる場合に効果的であると考えられる。
【００４５】
（ｃ）第３の画像変換処理は、１２bit画像において濃度値が０〜１０２３の各画素を２５６階調の８bit画像に線形変換する。この場合、１２bit画像における濃度値が１０２４以上の各画素の濃度値は２５５に変換される。この第３の画像変換処理は、図５に示す特性ｃに従った画像変換処理である。この第３の画像変換処理では、１２bit画像（４０９６階調の画像）において濃度値が０〜１０２３の各画素による階調変化を強調した８bit画像（２５６階調の画像）が得られる。たとえば、第３の画像変換処理では、図６（ｃ）に示すような画像が得られる。従って、第３の画像変換処理は、濃度値が１０２３未満の画素が多い入力画像に対する画像変換処理に有効であると考えられる。すなわち、上記第３の画像変換処理は、４０９６階調の入力画像における背景画像を構成する各画素の濃度分布とバーの画像を構成する各画素の濃度分布との差異が濃度値０〜１０２３のレンジで強調できる場合に効果的であると考えられる。
【００４６】
（ｄ）第４の画像変換処理は、１２bit画像において濃度値が０〜２０４７の各画素を２５６階調の８bit画像に線形変換する。この場合、１２bit画像における濃度値が２０４８以上の各画素の濃度値は２５５に変換される。この第４の画像変換処理は、図５に示す特性ｄに従った画像変換処理である。この第４の画像変換処理では、１２bit画像（４０９６階調の画像）において濃度値が０〜２０４７の各画素による階調変化を強調した８bit画像（２５６階調の画像）が得られる。たとえば、第４の画像変換処理では、図６（ｄ）に示すような画像が得られる。従って、第４の画像変換処理は、濃度値が２０４７未満の画素が多い入力画像に対する画像変換処理に有効であると考えられる。すなわち、上記第４の画像変換処理は、４０９６階調の入力画像における背景画像を構成する各画素の濃度分布とバーの画像を構成する各画素の濃度分布との差異が濃度値０〜２０４７のレンジで強調できる場合に効果的であると考えられる。
【００４７】
（ｅ）第５の画像変換処理は、１２bit画像において濃度値が０〜４０９５の各画素を２５６階調の８bit画像に線形変換する。この場合、１２bit画像における濃度値が４０９５以上の各画素の濃度値は２５５に変換される。この第５の画像変換処理は、図５に示す特性ｅに従った画像変換処理である。この第５の画像変換処理では、図４に示すように、１２bit画像全体における階調変化を変えない８bit画像が得られる。たとえば、第５の画像変換処理では、図６（ｅ）に示すような画像が得られる。従って、第５の画像変換処理は、各画素の濃度値が０〜４０９５の広いレンジに分布している入力画像、あるいは、濃度値が２０４７以上の明るい画素が多い入力画像（全体が明るい画像）に対する画像変換処理に有効であると考えられる。
【００４８】
これらの第１〜第５の画像変換処理は、それぞれ各画素の濃度値をビットシフト演算することにより実行される処理である。すなわち、上述した第１〜第５の画像変換処理は、複雑な演算処理が不要な処理であり、高速に画像変換処理の結果を得ることが可能な処理である。このため、上記画像変換部１３では、入力画像が与えられた時点で第１〜第５の画像変換処理を実行しておくようにしても良い。この場合、上記画像変換部１３は、上記画像分析部１２から画像変換方法が指定された時点で指定された画像変換方法で画像変換処理した画像をバー認識部１４に供給するようにできる。
【００４９】
上記画像分析部１２は、入力画像における特徴を分析し、その分析結果に基づいて第１〜第５の画像変換処理のうち何れかを決定する。たとえば、上記画像分析部１２において、上記濃度値推定部２１は、入力画像における特徴として、入力画像における最頻濃度値を算出するものとする。入力画像において最も頻度が高くなる濃度値（最頻濃度値）は、背景の濃度値であると判定される。これは、バーコードがプリントされている領域周辺の背景がぼぼ均一な濃度値であることが想定されるためである。つまり、最頻濃度値は、背景画像において最も頻度が高い濃度値（媒体の濃度値）であると判定される。  
このような最頻濃度値に基づいて画像変換方法を決定すれば、上記画像分析部１２では、背景画像の濃度値に応じた画像変換方法を決定することが可能となる。すなわち、上記画像変換部１３が上記第１〜第５の画像変換処理の機能を有している場合、上記変換方法決定部２６は、上記濃度値推定部２１により算出された入力画像における最頻濃度値に基づいて、第１〜第５の画像変換処理の何れかを選択する。
【００５０】
画像変換方法を決定する手法としては、例えば、所定の閾値と上記濃度値推定部２１により算出された最頻濃度値とを比較することにより、画像変換方法を決定する手法が考えられる。この場合、画像変換方法を決定するための閾値の設定は、運用形態などに応じて適宜設定される。  
たとえば、１２bit画像における最頻濃度値に対する閾値として、「１００」、「２００」、「５００」、「１０００」の４つの閾値を設定された場合を想定する。この場合、上記変換方法決定部２６は、入力画像に対する画像変換方法として、第１〜第５の画像変換処理の何れかを以下のような条件に基づいて決定することが可能である。
【００５１】
（ａ−１）最頻濃度値αが「１００」未満（α＜１００）ならば、画像変換方法として、第１の画像変換処理を選択する。
【００５２】
（ｂ−１）最頻濃度値αが「１００」以上かつ「２００」未満（１００≦α＜１００）ならば、画像変換方法として、第２の画像変換処理を選択する。
【００５３】
（ｃ−１）最頻濃度値αが「２００」以上かつ「５００」未満（２００≦α＜５００）ならば、画像変換方法として、第３の画像変換処理を選択する。
【００５４】
（ｄ−１）最頻濃度値αが「５００」以上かつ「１０００」未満（５００≦α＜１０００）ならば、画像変換方法として、第４の画像変換処理を選択する。
【００５５】
（ｅ−１）最頻濃度値αが「１０００」以上（１０００≦α）ならば、画像変換方法として、第５の画像変換処理を選択する。
【００５６】
なお、上記濃度値推定部２１は、上述したような入力画像における最頻濃度値の代りに、入力画像における平均濃度値あるいはパーセンタイル方式により判定（推定）される濃度値などを判定するようにしても良い。平均濃度値は、入力画像における全画素の濃度値の平均値である。また、パーセンタイル方式による濃度値の判定としては、入力画像の濃度ヒストグラムにおいて最も暗い濃度値から順に積分した値が所定の閾値を超えた時点の濃度値を判定することが可能である。
【００５７】
また、上記変換方法決定部２６は、複数の画像変換方法を選択するようにしても良い。たとえば、上記変換方法決定部２６は、α＜１００ならば、第１の画像変換処理と第２の画像変換処理とを選択するようにしても良い。このような場合、上記画像変換部１３は、第１の画像変換処理により得られる第１の画像と第２の画像変換処理により得られる第２の画像とをバー認識部１４に供給するようにする。このため、上記バー認識部１４では、上記第１の画像と上記第２の画像とに対してバーコードの認識処理を行うようにすれば良い。
【００５８】
次に、上記のような第１の処理例による処理の流れについて説明する。  
図７は、上記バーコード認識装置１における第１の処理例の流れを説明するためのフローチャートである。ここでは、一例として、上述したように、最頻濃度値αに対して４つの閾値（「１００」、「２００」、「５００」、「１０００」）が設定され、それらの閾値に基づいて上記第１〜第５の画像変換処理の何れかを画像変換方法として選択する形態を想定して説明するものとする。
【００５９】
まず、上記カメラ２が、バーコードのプリント面を１２bit（４０９６階調）で撮像したものとする。すると、上記バーコード認識装置１の画像インターフェース１１は、上記カメラ２が撮像した１２bit画像を取得する（ステップＳ１０）。上記画像インターフェース１１は、取得した１２bit画像を画像分析部１２および画像変換部１３へ供給する。上記画像インターフェース１１から１２bit画像が供給されると、上記画像分析部１２は、上記濃度値推定部２１により当該１２bit画像における最頻濃度値αを判定する（ステップＳ１１）。
【００６０】
上記濃度値推定部２１により最頻濃度値αが判定されると、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第１〜第５の画像変換処理の何れかを最頻濃度値αと所定の閾値に基づいて選択する（ステップＳ１２〜Ｓ２０）。
【００６１】
たとえば、最頻濃度値αが１００未満である場合（ステップＳ１２、ＹＥＳ）、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第１の画像変換処理（４０９６階調の濃度値０〜２５５を２５５階調の濃度値０〜２５５に線形変換する処理）を選択する（ステップＳ１３）。最頻濃度値αが１００以上かつ２００未満である場合（ステップＳ１４、ＹＥＳ）、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第２の画像変換処理（４０９６階調の濃度値０〜５１１を２５５階調の濃度値０〜２５５に線形変換する処理）を選択する（ステップＳ１５）。
【００６２】
最頻濃度値αが２００以上かつ５００未満である場合（ステップＳ１６、ＹＥＳ）、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第３の画像変換処理（４０９６階調の濃度値０〜１０２３を２５５階調の濃度値０〜２５５に線形変換する処理）を選択する（ステップＳ１７）。最頻濃度値αが５００以上かつ１０００未満である場合（ステップＳ１８、ＹＥＳ）、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第４の画像変換処理（４０９６階調の濃度値０〜２０４７を２５５階調の濃度値０〜２５５に線形変換する処理）を選択する（ステップＳ１９）。最頻濃度値αが１０００以上である場合（ステップＳ１８、ＮＯ）、上記変換方法決定部２６は、当該１２bit画像に対する画像変換方法として、第５の画像変換処理（４０９６階調の濃度値０〜４０９５を２５５階調の濃度値０〜２５５に線形変換する処理）を選択する（ステップＳ２０）。
【００６３】
上記ステップＳ１２〜Ｓ２０で、１２bit画像に対する画像変換方法が選択されると、上記変換方法決定部２６は、選択した画像変換処理を上記画像変換部１３に対して指定する（ステップＳ２１）。  
上記画像分析部１２の変換方法決定部２６により当該１２bit画像に対する画像変換方法（画像変換処理）が指定されると、上記画像変換部１３は、指定された画像変換処理により当該１２bit画像を８bit画像に変換する（ステップＳ２２）。上記画像変換部１３は、指定された画像変換処理により生成した８bit画像をバー認識部１４を供給する。なお、上記画像変換部１３は、上記画像分析部１２における処理と並行して上記画像インターフェース１１から取得する１２bit画像に対する第１〜第５の画像変換処理をそれぞれ実行しておくようにしても良い。この場合、上記画像変換部１３は、上記画像分析部１２により指定された画像変換方法で生成した８bit画像をバー認識部１４へ供給するようにする。
【００６４】
上記バー認識部１４は、上記画像変換部１３から供給された８bit画像に対してバーコードの認識処理を行う（ステップＳ２３）。上記バー認識部１４におけるバーコード認識処理では、たとえば、上述したように、バー候補の検出処理、バー識別処理、バーコードの復号処理、復号結果の判定処理などが行われる。上記バー認識部１４は、バーコードの認識処理による処理結果を出力インターフェース１６により外部に出力する（ステップＳ２４）。
【００６５】
たとえば、バーコードの認識が成功した場合（認識結果が有効な情報であると判定された場合）、上記出力インターフェース１６は、バーコードの認識結果を外部へ出力する。また、バーコードの認識が失敗した場合（認識結果が有効な情報でないと判定された場合）、上記出力インターフェース１６は、バーコードの認識が失敗した旨を示す情報を外部へ出力する。なお、バーコードの認識が失敗した場合、後述する第５の処理例のように、バーコード認識処理の各工程で得られた情報を画像分析部１２へフィードバックすることにより、当該入力画像に対する画像変換処理およびバーコード認識処理を再度実行するようにしても良い。
【００６６】
次に、第２の処理例について説明する。  
この第２の処理例では、１２bit画像における背景（媒体）の濃度値に基づいて画像変換方法を決定するものとする。また、以下に説明する第２〜第５の処理例では、上記画像変換部１３は、上記画像分析部１２から指定される変換テーブルに基づいて１２bit画像を８bit画像に変換する機能を有しているものとする。
【００６７】
上記画像分析部１２の上記媒体濃度推定部２３は、カメラ２が撮影した１２bit画像における背景画像の濃度値（媒体濃度値）を判定する機能を有している。上記媒体濃度推定部２３が判定する背景画像の濃度値は、入力画像における背景画像の特徴を示す情報である。たとえば、上記背景画像の濃度値としては、４０９６階調の入力画像全体における最頻濃度値あるいは平均濃度値であっても良いし、パーセンタイル方式により判定される濃度値であっても良い。
【００６８】
図８は、４０９６階調の入力画像の全画素に対する濃度ヒストグラムの例を示す図である。  
図８に示すように、上記カメラ２が媒体におけるバーコードのプリント面を撮影した画像の濃度ヒストグラムは、背景画像の濃度分布とバー画像の濃度分布とを含むものとなる。本実施の形態では、上述したように、バーコードを構成する各バーが背景よりも明るい画像として撮影されることを想定している。このため、背景画像の濃度分布は、バー画像の濃度分布よりも濃度値が小さい分布となる。つまり、図８に示すヒストグラムの例では、左側（濃度値が小さい方）にピークがある分布が背景画像の濃度分布であり、右側（濃度値が大きい方）にピークがある分布がバー画像の濃度分布であると判定される。ただし、明るい背景に暗いバーコードがプリントされる運用形態（たとえば、白色の背景に黒色のバーコードがプリントされる運用形態）では、背景画像の濃度分布が明るい側に現れ、バー画像の濃度分布が暗い側に現れると推定される。たとえば、図８に示すような濃度値設定では、図８に示す濃度ヒストグラムとは逆に、背景画像の濃度分布が右側に現れ、バー画像の濃度分布が左側に現れると推定される。
【００６９】
ここでは、図８に示すように、濃度ヒストグラムにおいて左側にピークがある分布が背景画像の濃度分布で、右側にピークがある分布がバー画像の濃度分布であることを想定する。  
図８に示すヒストグラムの例では、左側にピークがある分布（つまり、背景画像の濃度分布）の特徴を示す情報が背景画像の濃度値（媒体濃度値）として判定される。たとえば、上記媒体濃度推定部２３は、背景画像の濃度分布の特徴を示す情報として、当該分布のピーク値（最頻濃度値）、あるいは、平均値などを判定する。上記最頻濃度値は、ヒストグラムにおける左側の分布において頻度が最大となる値（ピーク値を判定することにより判定される。上記平均値は、ヒストグラムにおける左側のピーク値から判定される背景画像の分布全体における濃度の平均値を算出することにより判定される。
【００７０】
また、上記媒体濃度推定部２３は、パーセンタイル方式により判定される媒体濃度値として、ヒストグラムの左側から積分した値が所定の閾値を超える位置の濃度値を判定するようにしても良い。ここでは、背景画像の濃度分布の特徴を示す情報として、パーセンタイル方式により媒体濃度値を判定する例について説明する。  
図９は、パーセンタイル方式により判定される媒体濃度値を説明するための図である。  
上記パーセンタイル方式により媒体濃度値を判定する場合、上記媒体濃度推定部２３は、図９に示すように、背景画像の濃度分布が現れる側（図８に示す例では、左端の濃度値「０」）から積分を行う。上記媒体濃度推定部２３は、濃度値「０」から各濃度値までの積分値を算出するごとに、算出した積分値が予め設定されている閾値以上となったか否かを判定する。算出した積分値が上記閾値以上となった場合、上記媒体濃度推定部２３は、当該積分値となった濃度値を媒体濃度値として判定する。
【００７１】
上記パーセンタイル方式により媒体濃度値を判定するための閾値は、想定される背景画像の濃度分布、あるいは、バー画像の濃度分布などに応じて設定されるべきものである。たとえば、図９に示す例では、背景画像の濃度分布と判定される分布のピークとなる濃度値よりも小さい値となるように設定されている。また、上記閾値は、たとえば、濃度ヒストグラム全体に対する積分値の比率（百分率）などにより設定される。
【００７２】
上記のように、第２の処理例では、上記媒体濃度推定部２３により背景画像の濃度分布の特徴を示す情報としての媒体濃度値が判定される。上記媒体濃度値が判定されると、上記変換方法決定部２６は、上記媒体濃度推定部２３により判定された媒体濃度値に応じた画像変換方法を決定する。第２の処理例において、上記変換方法決定部２６は、媒体濃度値未満の濃度値の各画素を全て濃度値「０」に変換し、媒体濃度値以上の濃度値の各画素を０〜２５５の濃度値に線形変換する画像変換方法を決定する。このような画像変換方法は、たとえば、変換テーブルとして画像変換部１３に対して指定される。
【００７３】
図１０は、媒体濃度値に応じた変換テーブルＴａの例を説明するための図である。  
図１０に示すように、第２の処理例では、上記変換方法決定部２６は、上記媒体濃度推定部２３により判定された媒体濃度値を基点する線形変換となる変換テーブルＴａを作成する。図１０に示すような変換テーブルＴａによる画像変換処理では、上述したように、入力画像において濃度値が媒体濃度値未満の各画素を全て濃度値「０」に変換し、入力画像において濃度値が媒体濃度値以上の各画素を０〜２５５の濃度値に線形変換する。  
上記のような第２の処理例によれば、媒体濃度値よりも暗い部分の情報を落とす代わりに、バー画像を構成する画素を含む媒体濃度値よりも明るい部分の情報を広いレンジの情報（濃度値０〜２５５）に変換できる。
【００７４】
次に、上記のような第２の処理例としての処理の流れについて説明する。  
図１１は、上記バーコード認識装置１における第２の処理例の流れを説明するためのフローチャートである。  
上記カメラ２が撮像した１２bit画像を取得すると（ステップＳ３１）。上記画像インターフェース１１は、取得した１２bit画像を画像分析部１２および画像変換部１３へ供給する。上記画像インターフェース１１から１２bit画像が供給されると、上記画像分析部１２は、上記媒体濃度推定部２３により当該１２bit画像における媒体濃度値を判定する処理を行う（ステップＳ３２およびＳ３３）。
【００７５】
ここでは、上述したようなパーセンタイル方式により媒体濃度値を判定するものとする。すなわち、上記媒体濃度推定部２３は、当該１２bit画像における全画素の濃度分布を示す濃度ヒストグラムを作成する（ステップＳ３２）。ヒストグラムを作成すると、上記媒体濃度推定部２３は、当該ヒストグラムにより媒体濃度値を判定する（ステップＳ３３）。媒体濃度値を判定する処理として、上記媒体濃度推定部２３は、当該ヒストグラムに対して濃度値「０」から順に各濃度値までの積分した値を算出する。各濃度値までの積分値を算出するごとに、上記媒体濃度推定部２３は、積分値が所定の閾値以上であるか否かを判断する。この判断により積分値が所定の閾値以上であると判断した場合、上記媒体濃度推定部２３は、当該積分値が得られた濃度値を当該１２bit画像における媒体濃度値と判定する。
【００７６】
上記媒体濃度推定部２３により当該１２bit画像の媒体濃度値が判定されると、上記変換方法決定部２６は、当該媒体濃度値に基づいて、当該１２bit画像を認識処理用の８bit画像に変換するための画像変換方法を決定する（ステップＳ３４及びＳ３５）。すなわち、上記変換方法決定部２６は、上記媒体濃度推定部２３により判定された媒体濃度値に応じた画像変換用の変換テーブルＴａを作成する（ステップＳ３４）。この変換テーブルＴａは、たとえば、上述したように、媒体濃度値を基点に立ち上がる線形変換を指定するものである。画像変換用の変換テーブルＴａを作成すると、上記変換方法決定部２６は、作成した変換テーブルＴａを画像変換方法として上記画像変換部１３に指定する（ステップＳ３５）。
【００７７】
上記画像分析部１２の変換方法決定部２６により当該１２bit画像に対する画像変換方法（変換テーブル）が指定されると、上記画像変換部１３は、指定された変換テーブルＴａに従って当該１２bit画像を８bit画像に変換する処理を行う（ステップＳ３６）。指定された変換テーブルに基づく画像変換処理により生成された８bit画像は、上記画像変換部１３から上記バー認識部１４に供給される。  
上記バー認識部１４は、上記画像変換部１３から供給された８bit画像に対してバーコードの認識処理を行う（ステップＳ３７）。上記バー認識部１４におけるバーコード認識処理では、たとえば、上述したように、バー候補の検出処理、バー識別処理、バーコードの復号処理、復号結果の判定処理などが行われる。上記バー認識部１４は、バーコードの認識処理による処理結果を出力インターフェース１６により外部に出力する（ステップＳ３８）。
【００７８】
たとえば、バーコードの認識が成功した場合（認識結果が有効な情報であると判定された場合）、上記出力インターフェース１６は、バーコードの認識結果を外部へ出力する。また、バーコードの認識が失敗した場合（認識結果が有効な情報でないと判定された場合）、上記出力インターフェース１６は、バーコードの認識が失敗した旨を示す情報を外部へ出力する。なお、バーコードの認識が失敗した場合、後述する第５の処理例のように、バーコード認識処理の各工程で得られた情報を画像分析部１２にフィードバックすることにより、当該入力画像に対する画像変換処理およびバーコード認識処理を再実行（リトライ）を行うようにしても良い。
【００７９】
次に、第３の処理例について説明する。  
この第３の処理例では、１２bit画像におけるバーコードを構成するバーの濃度値に基づいて画像変換方法を決定するものである。  
上記画像分析部１２の上記バー濃度推定部２４は、上記カメラ２が撮影した１２bit画像（１２bit画像）におけるバー画像の濃度値（バー濃度値）を判定する機能を有している。上記バー濃度推定部２４が判定するバー濃度値は、入力画像におけるバー画像の特徴を示す情報である。たとえば、上記バー濃度値としては、バー画像の濃度分布における最頻濃度値（ピーク値）あるいは平均濃度値であっても良いし、パーセンタイル方式により判定される濃度値であっても良い。
【００８０】
本実施の形態では、上述したように、バーコードを構成する各バーが背景よりも明るい画像として撮影されることを想定している。このため、バー画像の濃度分布は、背景画像の濃度分布よりも濃度値が大きい分布となる。つまり、図８に示すような濃度ヒストグラムの例では、右側（濃度値が大きい方）にピークがある分布がバー画像の濃度分布であると推定される。ただし、明るい背景に暗いバーコードがプリントされる運用形態（たとえば、白色の背景に黒色でバーコードがプリントされている運用形態）では、バー画像の濃度分布が暗い側に現れ、背景画像の濃度分布が明るい側に現れる。たとえば、図８に示すような濃度値設定では、図８に示すヒストグラムとは逆に、バー画像の濃度分布が左側に現れ、背景画像の濃度分布が右側に現れる。
【００８１】
ここでは、図８に示すように、濃度ヒストグラムにおいて右側にピークがある分布がバー画像の濃度分布であることを想定して説明する。  
図８に示すヒストグラムの例では、右側にピークがある分布（つまり、バー画像の濃度分布）の特徴を示す情報がバー画像の濃度値（バー濃度値）として判定される。たとえば、上記バー濃度推定部２４は、バー画像の濃度分布の特徴を示す情報として、当該分布の最頻濃度値、あるいは、平均値などを判定する。上記最頻濃度値は、ヒストグラムにおける右側の分布において頻度が最大となる値（ピーク値）を判定することにより判定される。上記平均値は、たとえば、ヒストグラムにおける右側のピーク値から推定されるバー画像の分布全体における濃度の平均値を算出することにより判定される。
【００８２】
また、上記バー濃度推定部２４は、パーセンタイル方式によるバー濃度値の判定としては、ヒストグラムの右端（濃度値「４０９６」）から各濃度値までを積分した値が所定の閾値を超える位置の濃度値を判定するようにしても良い。ここでは、バー画像の濃度分布の特徴を示す情報として、パーセンタイル方式によりバー濃度値を判定する例について説明する。  
図１２は、パーセンタイル方式により判定されるバー濃度値を説明するための図である。  
上記パーセンタイル方式によりバー濃度値を判定する場合、上記バー濃度推定部２４は、図１２に示すように、ヒストグラムに対して、バー画像の濃度分布が現れる側（図８に示す例では、右端の濃度値「４０９６」）から各濃度値までの積分を行う。上記バー濃度推定部２４は、各濃度値までの積分値を算出するごとに、算出した積分値が予め設定されている閾値（バー濃度値判定用の閾値）以上となったか否かを判定する。算出した積分値が上記閾値以上となった場合、上記バー濃度推定部２４は、当該積分値となった濃度値をバー濃度値として判定する。
【００８３】
上記パーセンタイル方式によりバー濃度値を判定するための閾値は、想定されるバー画像の濃度分布、あるいは、背景画像の濃度分布などに応じた設定されるべきものである。たとえば、図１２に示す例では、バー濃度値が、バー画像の濃度分布におけるピーク値、あるいは、バー画像の濃度分布の最小値よりも小さい濃度値となるように設定されている。また、上記閾値は、たとえば、濃度ヒストグラム全体に対する積分値の比率（百分率）などにより設定される。
【００８４】
上記のように、第３の処理例では、上記バー濃度推定部２４によりバー画像の濃度分布の特徴を示す情報としてのバー濃度値が判定される。上記バー濃度値が判定されると、上記変換方法決定部２６は、上記バー濃度推定部２４により判定されたバー濃度値に応じた画像変換方法を決定する。第３の処理例において、上記変換方法決定部２６は、バー濃度値以上の濃度値の各画素を全て濃度値「２５５」に変換し、バー濃度値未満の濃度値の各画素を０〜２５５の濃度値に線形変換する画像変換方法を決定する。このような画像変換方法を示す情報は、たとえば、変換テーブルとして画像変換部１３に対して指定される。
【００８５】
図１３は、バー濃度値に応じた変換テーブルＴｂの例を説明するための図である。  
図１３に示すように、第３の処理例では、上記変換方法決定部２６は、上記バー濃度推定部２４により判定されたバー濃度値を基点する線形変換となる変換テーブルＴｂを作成する。図１３に示すような変換テーブルＴｂによる画像変換処理では、上述したように、入力画像において濃度値がバー濃度値以上の各画素を全て濃度値「２５５」に変換し、入力画像において濃度値がバー濃度値未満の各画素を０〜２５５の濃度値に線形変換する。  
上記のような第３の処理例によれば、バー濃度値よりも明るい部分の情報を落とす（全て最大値とする）代わりに、背景画像を構成する各画素の濃度値を含むバー濃度値よりも暗い部分の情報を広いレンジの情報（濃度値０〜２５５）に変換できる。
【００８６】
次に、上記のような第３の処理例としての処理の流れについて説明する。  
図１４は、上記バーコード認識装置１における第３の処理例の流れを説明するためのフローチャートである。
【００８７】
上記カメラ２が撮像した１２bit画像を取得すると（ステップＳ４１）。上記画像インターフェース１１は、取得した１２bit画像を画像分析部１２および画像変換部１３へ供給する。上記画像インターフェース１１から１２bit画像が供給されると、上記画像分析部１２は、上記媒体濃度推定部２３により当該１２bit画像におけるバー濃度値を判定する処理を行う（ステップＳ４２およびＳ４３）。ここでは、上述したようなパーセンタイル方式によりバー濃度値を判定するものとする。すなわち、上記バー濃度推定部２４は、当該１２bit画像における全画素の濃度分布を示すヒストグラムを作成する（ステップＳ４２）。ヒストグラムを作成すると、上記バー濃度推定部２４は、当該ヒストグラムによりバー濃度値を判定する（ステップＳ４３）。すなわち、上記バー濃度推定部２４は、当該ヒストグラムに対して最大濃度値「４０９５」から順に各濃度値までの積分した値を算出する。各濃度値までの積分値を算出するごとに、上記バー濃度推定部２４は、積分値が所定の閾値以上であるか否かを判断する。この判断により積分値が所定の閾値以上であると判断した場合、上記バー濃度推定部２４は、当該積分値が得られた濃度値を当該１２bit画像におけるバー濃度値と判定する。
【００８８】
上記バー濃度推定部２４により当該１２bit画像のバー濃度値が判定されると、上記変換方法決定部２６は、当該バー濃度値に基づいて、当該１２bit画像を認識処理用の８bit画像に変換するための画像変換方法を決定する（ステップＳ４４及びＳ４５）。すなわち、上記変換方法決定部２６は、上記バー濃度推定部２４により判定されたバー濃度値に応じた画像変換用の変換テーブルＴｂを作成する（ステップＳ４４）。この変換テーブルは、たとえば、上述したように、最小濃度値（「０」）からバー濃度値までの線形変換を指定するものである。画像変換用の変換テーブルＴｂを作成すると、上記変換方法決定部２６は、作成した変換テーブルＴｂを画像変換方法として上記画像変換部１３に指定する（ステップＳ４５）。
【００８９】
上記画像分析部１２の変換方法決定部２６により当該１２bit画像に対する画像変換方法（変換テーブル）が指定されると、上記画像変換部１３は、指定された変換テーブルＴｂに従って当該１２bit画像を８bit画像に変換する処理を行う（ステップＳ４６）。指定された変換テーブルに基づく画像変換処理により生成された８bit画像は、上記画像変換部１３から上記バー認識部１４に供給される。  
上記バー認識部１４は、上記画像変換部１３から供給された８bit画像に対してバーコードの認識処理を行う（ステップＳ４７）。上記バー認識部１４におけるバーコード認識処理では、たとえば、上述したように、バー候補の検出処理、バー識別処理、バーコードの復号処理、復号結果の判定処理などが行われる。上記バー認識部１４は、バーコードの認識処理による処理結果を出力インターフェース１６により外部に出力する（ステップＳ４８）。
【００９０】
たとえば、バーコードの認識が成功した場合（認識結果が有効な情報であると判定された場合）、上記出力インターフェース１６は、バーコードの認識結果を外部へ出力する。また、バーコードの認識が失敗した場合（認識結果が有効な情報でないと判定された場合）、上記出力インターフェース１６は、バーコードの認識が失敗した旨を示す情報を外部へ出力する。なお、バーコードの認識が失敗した場合、後述する第５の処理例のように、バーコード認識処理の各工程で得られた情報を画像分析部１２にフィードバックすることにより、当該入力画像に対する画像変換処理およびバーコード認識処理を再実行（リトライ）するようにしても良い。
【００９１】
次に、第４の処理例について説明する。  
この第４の処理例では、入力画像における背景（媒体）の濃度値とバーの濃度値との組合せに基づいて画像変換方法を決定するものである。言い換えると、第４の処理例は、第２の処理例で得られる媒体濃度値と第３の処理例で得られるバー濃度値とを組み合わせて画像変換方法を指定するための変換テーブルを作成するものである。
【００９２】
すなわち、この第４の処理例では、カメラ２が撮影した１２bit画像に対して、上記媒体濃度推定部２３により上記第２の処理例で説明したような媒体濃度値を判定し、さらに、上記バー濃度推定部２４により上記第３の処理例で説明したようなバー濃度値を判定する。
【００９３】
たとえば、図８に示すような濃度ヒストグラムから図９に示すような媒体濃度値と図１２に示すようなバー濃度値とが判定されたものとする。この場合、媒体濃度値に基づく変換テーブルＴａは、図１０に示すように、媒体濃度値から最大濃度値までを線形変換するものが得られる。バー濃度値に基づく変換テーブルＴｂは、図１３に示すように、最小濃度値からバー濃度値までを線形変換するものが得られる。従って、第４の処理例では、上記変換テーブルＴａと上記変換テーブルＴｂとを組み合わせることにより、媒体濃度値とバー濃度値とを考慮した変換テーブルＴａｂが得られると考えられる。
【００９４】
すなわち、上記変換方法決定部２６は、上記媒体濃度推定部２３により判定された媒体濃度値と上記バー濃度推定部２４により判定されたバー濃度値とに基づいて変換テーブルＴａｂを決定する。
【００９５】
上記媒体濃度値と上記バー濃度値との組合せに基づく変換テーブルＴａｂを決定する手法には、種々の手法が考えらえる。変換テーブルＴａｂは、媒体濃度値からバー濃度値までの濃度変化を強調するようなものであれば良い。たとえば、変換テーブルＴａｂは、上記媒体濃度値に基づく変換テーブルＴａと上記バー濃度値に基づく変換テーブルＴｂとを足し合わせて平均化することにより作成しても良いし、媒体濃度値からバー濃度値までの濃度値を線形変換するような変換テーブルであっても良い。前者の場合、媒体濃度値からバー濃度値までの濃度変化を強調しつつ、媒体濃度値未満の濃度値における濃度変化およびバー濃度値以上の濃度値における濃度変化を反映させた画像変換処理が実施できる。また、後者の場合、媒体濃度値からバー濃度値までの濃度変化を最大限に強調（たとえば、２５６階調の「０」〜「２５５」に変換）させる画像変換が実施できる。さらに、前者と後者とを組み合わせて変換テーブルＴａｂが決定されるようにしても良い。
【００９６】
次に、上記のような第４の処理例としての処理の流れについて説明する。  
図１５は、上記バーコード認識装置１における第４の処理例の流れを説明するためのフローチャートである。
【００９７】
上記カメラ２が撮像した１２bit画像を取得すると（ステップＳ５１）。上記画像インターフェース１１は、取得した１２bit画像を画像分析部１２および画像変換部１３へ供給する。上記画像インターフェース１１から１２bit画像が供給されると、上記画像分析部１２は、上記媒体濃度推定部２３により当該１２bit画像における媒体濃度値を判定するとともに（ステップＳ５２およびＳ５３）、上記バー濃度推定部２４により当該１２bit画像におけるバー濃度値を判定する（ステップＳ５４）。
【００９８】
当該１２bit画像の媒体濃度値とバー濃度値とが判定されると、上記変換方法決定部２６は、媒体濃度値とバー濃度値とに基づいて、当該１２bit画像を認識処理用の８bit画像に変換するための画像変換方法を決定する（ステップＳ５５及びＳ５６）。すなわち、上記変換方法決定部２６は、媒体濃度値とバー濃度値とに応じた画像変換用の変換テーブルＴａｂを作成する（ステップＳ５５）。この変換テーブルＴａｂは、たとえば、上述したように、媒体濃度値からバー濃度値までの濃度変化を強調するような変換を指定するものである。画像変換用の変換テーブルＴａｂを作成すると、上記変換方法決定部２６は、作成した変換テーブルＴａｂを画像変換方法として上記画像変換部１３に指定する（ステップＳ５６）。
【００９９】
上記画像分析部１２の変換方法決定部２６により当該１２bit画像に対する画像変換方法（変換テーブル）が指定されると、上記画像変換部１３は、指定された変換テーブルＴａｂに従って当該１２bit画像を８bit画像に変換する処理を行う（ステップＳ５７）。指定された変換テーブルに基づく画像変換処理により生成された８bit画像は、上記画像変換部１３から上記バー認識部１４に供給される。  
上記バー認識部１４は、上記画像変換部１３から供給された８bit画像に対してバーコードの認識処理を行う（ステップＳ５８）。上記バー認識部１４におけるバーコード認識処理では、たとえば、上述したように、バー候補の検出処理、バー識別処理、バーコードの復号処理、復号結果の判定処理などが行われる。上記バー認識部１４は、バーコードの認識処理による処理結果を出力インターフェース１６により外部に出力する（ステップＳ５９）。
【０１００】
たとえば、バーコードの認識が成功した場合（認識結果が有効な情報であると判定された場合）、上記出力インターフェース１６は、バーコードの認識結果を外部へ出力する。また、バーコードの認識が失敗した場合（認識結果が有効な情報でないと判定された場合）、上記出力インターフェース１６は、バーコードの認識が失敗した旨を示す情報を外部へ出力する。なお、バーコードの認識が失敗した場合、後述する第５の処理例のように、バーコード認識処理の各工程で得られた情報を画像分析部１２にフィードバックすることにより、当該入力画像に対する画像変換処理およびバーコード認識処理を再実行するようにしても良い。
【０１０１】
次に、第５の処理例について説明する。  
この第５の処理例では、上記フィードバック部１５により上記画像分析部１２にフィードバックされた情報に基づいて画像変換処理およびバーコード認識処理を再実行（リトライ）するものである。また、第５の処理例では、上記画像分析部１２がフィードバックされた情報に基づいて画像変換方法を決定する機能を有し、画像変換部１３が再度入力画像を認識処理用の画像に変換する再変換の機能を有し、バー認識部１４が再変換機能により得られた認識処理用の画像に基づいて再度バーコードの認識処理を実行する再試行機能を有する。
【０１０２】
すなわち、第５の処理例では、上記バー認識部１４によるバーコードの認識結果が有効でないと判定された場合、あるいは、バー認識部１４によるバーコードの認識結果が誤りらしいと判定された場合、上記フィードバック部１５は、バー認識処理の工程で得られた情報、あるいは、バー認識処理の工程で得られた情報から生成した情報をフィードバック情報として画像分析部１２にフィードバックする。上記画像分析部１２は、フィードバックされた情報に基づいて画像変換方法を再決定する。この場合、上記画像変換部１３は、上記画像分析部１２により指定されるフィードバック情報に基づく画像変換方法に従って再度入力画像を認識処理用の画像に変換する処理を実行する。この再変換された認識処理用の画像に対して、上記バー認識部１４では、再度バーコード認識処理を行う。
【０１０３】
次に、上記フィードバック情報について説明する。
【０１０４】
上述したように、上記フィードバック情報は、入力画像を認識処理用の画像に再変換するための画像変換方法を決定するための情報である。従って、上記フィードバック情報は、バーコードを精度良く認識できるような画像変換方法を判定するための情報である必要がある。ここでは、上記フィードバック情報は、バー認識処理の工程で得られた情報、あるいは、バー認識処理の工程で得られた情報から判定される情報であるものでとする。なお、バー認識処理の工程で得られた情報からフィードバック情報を判定する場合、フィードバック情報の判定処理は、上記バー認識部１４が実行するようにしても良いし、上記フィードバック部１５が実行するようにしても良し、上記画像分析部１２が実行するようにしても良い。
【０１０５】
次に、フィードバック情報の第１の例について説明する。  
まず、フィードバック情報の第１の例として、背景画像とバー画像とを分離するための最適な濃度値（分離閾値）を判定する処理（フィードバック情報の判定処理）について説明する。上記分離閾値は、バー認識処理の工程で得られた情報から判定される情報である。ここでは、上記フィードバック部１５がバー認識処理の工程で得られた情報から分離閾値を判定することを想定して説明するものとする。
【０１０６】
上記バー認識部１４では、バーコード認識処理の一工程として、上述したようなバー候補の検出処理を行っている。バー候補の検出処理では、認識処理用の画像において背景画像の濃度値とバー画像の濃度値とが接近している場合、全てのバーをバー候補として確実に検出するのが難しい。逆に言えば、入力画像を背景画像の濃度値とバー画像の濃度値との濃度差が強調されるような認識処理用の画像に変換すれば、バー候補の検出精度が高くなると考えられる。上記フィードバック情報として分離閾値は、背景画像とバー画像との濃度差が強調されるような画像変換方法を決定するための情報である。
【０１０７】
上記バー認識部１４は、バー候補の検出処理において、全てのバーが検出できなかった場合であっても、一部のバーが検出できていることが多い。このような場合、バー認識部１４は、検出したバー候補の領域を示す情報をフィードバック部１５に供給する。上記フィードバック部１５は、入力画像における検出されたバー候補の領域の画像に基づいて分離閾値を判定する。
【０１０８】
たとえば、上記フィードバック部１５は、バー候補の領域の画像からバー濃度値および背景画像の濃度値を判定し、その中間値を分離閾値と判定する。この場合、上記フィードバック部１５は、入力画像からバー候補の領域の画像を抽出し、抽出したバー候補の領域の画像から得られる最頻濃度値あるいは平均濃度値などの濃度値をバー候補の画像の濃度値と判定する。背景画像の濃度値としては、上記第１〜第４の処理例で説明したように、入力画像全体から得られる最頻濃度値、平均値、パーセンタイル方式により判定される濃度値を用いることが可能である。
【０１０９】
なお、バーの形状および各バーの並び方（たとえば、バーの間隔）が所定の形態である場合、検出されたバー候補の画像領域から背景画像の領域を推定するようにしても良い。この場合、上記フィードバック部１５は、バー候補の画像領域から背景画像の領域を推定し、入力画像から推定された背景画像の領域の画像を抽出し、抽出した背景画像から得られる最頻濃度値あるいは平均濃度値などの濃度値を背景画像の濃度値と判定するようにすれば良い。
【０１１０】
上記のように、少なくとも１つのバー候補が検出されている場合、当該バー候補の領域を示す情報に基づいて、入力画像におけるバーの濃度値あるいは背景画像の濃度値を推定することが可能である。少なくとも１つのバーがバー候補として検出されている場合、当該バー候補の領域から得られるバー濃度値は、画像全体の濃度ヒストグラムなどから判定されるバー濃度値よりも精度が高いと考えられる。
【０１１１】
上記のようなバー候補の領域を示す情報に基づいて判定された分離閾値は、画像分析部１２へフィードバックされる。フィードバック情報として分離閾値が供給されると、上記画像分析部１２は、フィードバックされた分離閾値を基準とした変換テーブルを作成する。分離閾値を基準とした変換テーブルは、背景画像とバー画像との濃度差を強調した認識処理用の画像が得られる画像変換方法を指定するものである。すなわち、画像分析部１２は、入力画像において分離閾値の近傍の濃度値を広いレンジの濃度値に変換するような変換テーブルを作成する。
【０１１２】
このような変換テーブルに基づく画像変換処理では、入力画像（たとえば、１２bit画像）における分離閾値近傍の濃度変化が強調された認識処理用の画像（たとえば、８bit画像）が得られる。つまり、分離閾値は、背景画像とバー画像とを分離する濃度値である。このため、上記変換テーブルに基づく画像変換処理では、背景画像とバー画像との濃度差が強調された認識処理の画像が得られると考えられる。
【０１１３】
図１６は、分離閾値を基準とした変換テーブルの例を説明するための図である。  
図１６に示す例では、分離閾値前後の所定範囲の濃度値を広いレンジの濃度値に変換し、それ以外の濃度値を狭いレンジの濃度値に変換する。たとえば、図１６に示すような変換テーブルでは、４０９６階調の入力画像を２５６階調の認識処理用の画像に変換する場合、濃度値が分離閾値−１００〜分離閾値＋１００の画素を濃度値２７〜２２７の画素に変換し、濃度値が分離閾値−１００以下の画素を濃度値０〜２７の画素に変換し、濃度値が分離閾値＋１００以上の濃度値の画素を濃度値２２７〜２５５の画素に変換するような画像変換を指定できる。この場合、入力画像における分離閾値の前後１００の濃度変化が強調された認識処理用の画像が得られる。
【０１１４】
次に、フィードバック情報の第２の例について説明する。  
フィードバック情報の第２の例としては、バーコード領域の候補内における濃度ヒストグラムを判定する処理について説明する。上記バーコード領域の候補は、バー認識処理の工程で得られる情報である。入力画像におけるバーコード領域候補の画像には、入力画像全体よりも背景のノイズが少なくなると予想される。背景のノイズとは、たとえば、背景画像あるいはバーコードとは無関係な画像であり、たとえば、パーコードのプリント面における印刷された広告などが想定される。つまり、入力画像におけるバーコード領域候補の画像を対象とした濃度ヒストグラムでは、入力画像全体を対象とした濃度ヒストグラムよりも、背景のノイズの影響を軽減できる可能性が高くなる。
【０１１５】
上記バー認識部１４では、バーコード認識処理の一工程として、検出したバー候補からバーコード領域の候補を検出する処理を行っている。たとえば、上記バー認識部１４では、全てのバーが検出できなかった場合であっても、一部のバーが検出できていれば、バーコード領域、あるいは、バーコード領域の一部を検出できることが多い。このような場合、上記バー認識部１４は、検出したバーコード領域を示す情報をフィードバック部１５を介して画像分析部１２に供給する。これにより、画像分析部１２は、バーコード周辺の画像のみを対象とした濃度ヒストグラムを生成でき、その濃度ヒストグラムに応じた画像変換方法の決定を行うことができる。
【０１１６】
上記画像分析部１２では、第１〜第４の処理例で説明したように、濃度ヒストグラムを作成し、作成した濃度ヒストグラムから最頻濃度値、媒体濃度値あるいはバー濃度値などを判定する機能を有している。上記バー認識部１４からバーコード領域を示す情報が得られた場合、上記画像分析部１２は、入力画像におけるバーコード領域の画像を対象として、第１〜第４の処理例で説明したような処理が可能である。すなわち、上記画像分析部１２は、バーコード領域から得られる最頻濃度値、媒体濃度値、バー濃度値、あるいは、媒体濃度値とバー濃度値との組み合わせに基づいて、画像変換方法を決定できる。
【０１１７】
次に、上記のような第５の処理例としての処理の流れについて説明する。  
図１７は、上記バーコード認識装置１における第５の処理例の流れを説明するためのフローチャートである。  
上記カメラ２が撮像した入力画像（たとえば、４０９６階調の１２bit画像）を入力画像として取得すると（ステップＳ６１）。上記画像インターフェース１１は、取得した入力画像を画像分析部１２および画像変換部１３へ供給する。上記画像インターフェース１１から入力画像が供給されると、上記画像分析部１２は、当該入力画像から得られる特徴を判定する画像分析処理を行う（ステップＳ６２）。このステップＳ６２の画像分析処理では、上記画像分析部１２は、画像変換方法を決定するための情報として、入力画像全体から最頻濃度値、媒体濃度値、あるいは、バー濃度値を判定し、その判定した情報に基づいて変換テーブルなどの画像変換方法を決定する。このステップＳ６２の処理としては、たとえば、第２〜第４の処理例で説明した処理（ステップＳ１１−Ｓ２１、Ｓ３２−Ｓ３５、Ｓ４２−Ｓ４５、Ｓ５２−Ｓ５６）が適用可能である。このため、ステップＳ６２の処理については、詳細な説明を省略する。
【０１１８】
上記画像分析部１２により画像変換方法が指定されると、上記画像変換部１３は、画像分析部１２により指定された画像変換方法に従って入力画像を認識処理用の画像（例えば、２５６階調の８bit画像）に変換する処理を行う（ステップＳ６３）。この画像変換処理の結果として得られる認識処理用の画像は、画像変換部１３からバー認識部１４に供給される。上記バー認識部１４は、画像変換部１３から供給された認識処理用の画像に対してバーコード認識処理を実行する（ステップＳ６４）。
【０１１９】
なお、ステップＳ６１、Ｓ６２に続いて実行されるステップＳ６３の画像変換処理が、第１の画像変換方法による画像変換処理に対応し、これを実行する画像変換部１３が第１の画像変換部に相当している。また、ステップＳ６１−Ｓ６３に続いて実行されるステップＳ６４のバーコード認識処理が、第１のバーコード認識処理に対応し、これを実行するバー認識部１４が第１のバー認識部に相当している。
【０１２０】
上記バー認識部１４におけるバーコード認識処理では、たとえば、上述したように、バー候補の検出処理、バー識別処理、バーコードの復号処理、復号結果の判定処理などが行われる。ここで、バーコードの復号処理の結果を得るまでの処理をバーコード認識処理とすると、上記バー認識部１４は、バーコード認識処理により得られた認識結果（復号結果）が有効な情報であるか否かを判定する認識結果（復号結果）の判定処理を行う（ステップＳ６５）。
【０１２１】
この認識結果の判定処理では、バーコード認識処理の認識結果が所望の情報であるか否かを判定する。たとえば、バーコードの認識結果が所定桁数の情報であるか否かにより認識結果が有効であるか否かを判定する。また、バーコードの認識結果が図示しない辞書データベースに登録されている情報と一致するか否かにより認識結果が有効であるか否かを判定するようにしても良い。上記バーコード認識処理により得られた認識結果が有効であると判定した場合（ステップＳ６５、ＹＥＳ）、上記バー認識部１４は、バーコードの認識処理による処理結果を出力インターフェース１６により外部に出力する（ステップＳ６６）。
【０１２２】
上記バーコード認識処理により得られた認識結果が有効でないと判定した場合（ステップＳ６５、ＮＯ）、上記バー認識部１４は、さらに、当該画像に対するバーコードの認識処理がリトライ可能か否かを判定する（ステップＳ６７）。バーコード認識処理のリトライは、たとえば、リトライの回数が制限されるようにしても良いし、当該入力画像に対する全処理時間が制限されるようにしても良い。上記判定によりリトライ不可と判定した場合（ステップＳ６７、ＮＯ）、上記バー認識部１４は、上記出力インターフェース１６によりバーコードの認識が失敗した旨を示す情報を外部へ出力する。
【０１２３】
上記判定によりリトライ可能と判定した場合（ステップＳ６７、ＹＥＳ）、上記バー認識部１４は、当該画像に対するバーコードの認識処理を再実行すると判断する。バーコード認識処理を再実行すると判断した場合、上記バー認識部１４あるいは上記フィードバック部１５は、当該画像に対するバー認識処理の過程で得られた情報あるいはそれらの情報から判定される情報をフィードバック情報として画像分析部１２にフィードバックする処理を行う（ステップＳ６８及びＳ６９）。ここでは、フィードバック部１５がバー認識処理の過程で得られた情報からフィードバック情報を判定するものとする。この場合、上記フィードバック部１５は、上記バー認識部１４からバー認識処理の過程で得られた情報を取得し、フィードバック情報を判定する（ステップＳ６８）。たとえば、背景とバーとの分離閾値をフィードバック情報とする場合、上記フィードバック部１５は、上述したように、バー認識部１４からバー候補の領域を示す情報を取得し、取得したバー候補の領域を示す情報に基づいて分離閾値を判定する。
【０１２４】
フィードバック情報を判定すると、上記フィードバック部１５は、画像分析部１２にフィードバック情報をフィードバックする。フィードバック情報がフィードバックされると、上記画像分析部１２は、当該フィードバック情報に基づいて当該入力画像に対する画像分析処理を実行する（ステップＳ７０）。この画像分析処理では、フィードバック情報に基づいて、当該入力画像に対する画像変換方法を決定する。このようなフィードバック情報に基づいて決定された画像変換方法は、上記画像変換部１３に対して指定される。フィードバック情報に基づく画像変換方法が画像変換部１３に指定されると、画像変換部１３およびバー認識部１４などは、上述したステップＳ６３からの処理を再び実行する。
【０１２５】
なお、ステップＳ６８−Ｓ７０に続いて実行されるステップＳ６３の画像変換処理が、第２の画像変換方法による画像変換処理に対応し、これを実行する画像変換部１３が第２の画像変換部に相当している。また、ステップＳ６８−Ｓ７０、Ｓ６３に続いて実行されるステップＳ６４のバーコード認識処理が、第２のバーコード認識処理に対応し、これを実行するバー認識部１４が第２のバー認識部に相当している。
【０１２６】
上記のような第５の処理例では、所定のバーコード認識処理では有効なバーコード認識結果が得られなかった場合であったも、バーコードの認識処理の過程で得られた情報に基づいて当該入力画像を分析し、入力画像を認識処理用の画像に変換するための最適な画像変換方法を決定することができる。すなわち、第５の処理例では、第１段階のバーコード認識処理で有効な認識結果が得られなかった場合であっても、高精度でバーコードの認識結果を得ることが可能な第２段階のバーコード認識処理を実行することが可能である。
【０１２７】
また、上記第５の処理例では、第１段階のバーコード認識処理で認識できなかった入力画像に対して、第２段階のバーコード認識処理により高精度なバーコード認識処理を実行するようになっている。従って、第５の処理例において、第１段階のバーコード認識処理は、上述した処理手順に限定されることなく、様々な処理手順による認識処理を行うようにすることが可能である。たとえば、第５の処理例としては、上記ステップＳ６２を省略し、所定の画像変換方法で変換された画像により第１段階のバーコード認識処理を行うようにしても良い。この場合も、第２段階のバーコード認識処理では、第１段階のバーコード認識処理でバーコードの認識に失敗した入力画像に対して、第１段階のバーコード認識処理で得られた情報を用いて最適化された画像変換方法により入力画像を認識処理用の画像に変換し、その変換した画像に対してバーコード認識処理を実行できる。
［１］
検知対象の画像を含む入力画像を取得する画像取得部と、
前記画像取得部により取得した入力画像を分析し、その分析結果に基づいて当該入力画像を認識処理用の形式の画像に変換するための画像変換方法を決定する画像分析部と、
前記画像分析部により決定された画像変換方法により前記画像取得部により取得した入力画像を認識処理用の画像に変換する画像変換部と、
前記画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う検知対象認識部と、
を有することを特徴とする被対象認識装置。
［２］
前記画像変換部は、複数種類の画像変換方法により入力画像を認識処理用の画像に変換する機能を有し、
前記画像分析部は、前記画像取得部により取得した入力画像の分析結果に基づいて、前記画像変換部が有している複数種類の画像変換方法から少なくとも１つの画像変換方法を選択する、
ことを特徴とする前記［１］に記載の被対象認識装置。
［３］
前記画像分析部は、前記画像取得部により取得した入力画像に含まれる背景画像の濃度値を判定し、判定した背景画像の濃度値に基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［１］に記載の被対象認識装置。
［４］
前記画像分析部は、前記画像取得部により取得した入力画像に含まれる検知対象を構成する検知要素画像の濃度値を判定し、判定した検知要素画像の濃度値に基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［１］に記載の被対象認識装置。
［５］
前記画像分析部は、前記画像取得部により取得した入力画像に含まれる背景画像の濃度値と検知対象を構成する検知要素画像の濃度値とを判定し、判定した背景画像の濃度値と検知要素画像の濃度値とに基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［１］に記載の被対象認識装置。
［６］
検知対象の画像を含む入力画像を取得する画像取得部と、
前記画像取得部により取得した入力画像を認識処理用の形式の画像に変換する第１の画像変換部と、
前記第１の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第１の検知対象認識部と、
前記第１の検知対象認識部による検知対象の認識が失敗した場合、前記第１の検知対象認識部における検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、その分析結果に基づいて入力画像を認識処理用の画像に再変換するための画像変換方法を決定する画像分析部と、
前記画像分析部による分析結果に基づいて、当該入力画像を認識処理用の画像に再変換する第２の画像変換部と、
前記第２の画像変換部により得られた認識処理用の画像に対して検知対象の認識処理を行う第２の検知対象認識部と、
を有することを特徴とする被対象認識装置。
［７］
被対象認識装置に用いられる被対象認識方法であって、
検知対象の画像を含む入力画像を取得し、
前記取得した入力画像を画像分析し、
前記入力画像に対する分析結果に基づいて当該入力画像を認識処理用の形式の画像に変換するための画像変換方法を決定し、
前記決定された画像変換方法により前記入力画像を認識処理用の画像に変換し、
前記変換により得られた認識処理用の画像に対して検知対象の認識処理を行う、
ことを特徴とする被対象認識方法。
［８］
前記画像変換としては、入力画像を認識処理用の画像に変換するための複数種類の画像変換方法が実行可能であり、
前記画像変換方法の決定は、前記入力画像の分析結果に基づいて、前記画像変換として実行可能な複数種類の画像変換方法から少なくとも１つの画像変換方法を選択する、
ことを特徴とする前記［７］に記載の被対象認識方法。
［９］
前記画像分析は、前記入力画像に含まれる背景画像の濃度値を判定し、
前記画像変換方法の決定は、前記画像分析により判定された背景画像の濃度値に基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［７］に記載の被対象認識方法。
［１０］
前記画像分析は、前記入力画像に含まれる検知対象を構成する検知要素画像の濃度値を判定し、
前記画像変換方法の決定は、前記画像分析により判定された検知要素画像の濃度値に基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［７］に記載の被対象認識方法。
［１１］
前記画像分析は、前記入力画像に含まれる背景画像の濃度値と検知対象を構成する検知要素画像の濃度値とを判定し、
前記画像変換方法の決定は、前記画像分析により判定された背景画像の濃度値と検知要素画像の濃度値とに基づいて当該入力画像に対する画像変換方法を決定する、
ことを特徴とする前記［７］に記載の被対象認識方法。
［１２］
被対象認識装置に用いられる被対象認識方法であって、
検知対象の画像を含む入力画像を取得し、
前記入力画像を認識処理用の形式の画像に第１の画像変換方法により変換し、
前記第１の画像変換方法により得られた認識処理用の画像に対して検知対象の認識処理を行い、
前記検知対象の認識が失敗した場合、前記検知対象の認識処理の過程で得られた情報に基づいて当該入力画像を分析し、
前記入力画像に対する分析結果に基づいて入力画像を認識処理用の画像に再変換するための第２の画像変換方法を決定し、
前記第２の画像変換方法により当該入力画像を認識処理用の画像に再変換し、
前記再変換により得られた認識処理用の画像に対して検知対象の認識処理を再度実行する、
ことを特徴とする被対象認識方法。
【図面の簡単な説明】
【０１２８】
【図１】図１は、バーコード認識装置の構成例を示す図である。
【図２】図２は、バーコード認識装置が適用された区分システムの概略構成例を示す図である。
【図３】図３は、カメラで撮像した画像の例を示す図である。
【図４】図４は、画像変換処理の一例を説明するための図である。
【図５】図５は、第１〜第５の画像変換処理の特性（変換テーブル）を示す図である。
【図６】図６（ａ）〜（ｅ）は、第１〜第５の画像変換処理により得られる画像の例を示す図である。
【図７】図７は、バーコード認識装置における第１の処理例の流れを説明するためのフローチャートである。
【図８】図８は、４０９６階調の入力画像の全画素に対する濃度ヒストグラムの例を示す図である。
【図９】図９は、パーセンタイル方式により判定される媒体濃度値を説明するための図である。
【図１０】図１０は、媒体濃度値に応じた変換テーブルの例を説明するための図である。
【図１１】図１１は、バーコード認識装置における第２の処理例の流れを説明するためのフローチャートである。
【図１２】図１２は、パーセンタイル方式により判定されるバー濃度値を説明するための図である。
【図１３】図１３は、バー濃度値に応じた変換テーブルの例を説明するための図である。
【図１４】図１４は、バーコード認識装置における第３の処理例の流れを説明するためのフローチャートである。
【図１５】図１５は、バーコード認識装置における第４の処理例の流れを説明するためのフローチャートである。
【図１６】図１６は、分離閾値を基準とした変換テーブルの例を説明するための図である。
【図１７】図１７は、バーコード認識装置における第５の処理例の流れを説明するためのフローチャートである。
【符号の説明】
【０１２９】
１…バーコード認識装置、２…カメラ、１１…画像インターフェース、１２…画像分析部、１３…画像変換部、１４…バー認識部、１５…フィードバック部、１６…出力インターフェース、２１…濃度値推定部、２２…変換方法決定部、２３…媒体濃度推定部、２４…バー濃度推定部、２６…変換方法決定部、３１…制御装置、３２…供給装置、３３…搬送装置、３４…区分装置、４１…バー濃度推定部、４２…媒体濃度推定部
【図１】
0005148375.tif 000002
【図２】
0005148375.tif 000003
【図３】
0005148375.tif 000004
【図４】
0005148375.tif 000005
【図５】
0005148375.tif 000006
【図６】
0005148375.tif 000007
【図７】
0005148375.tif 000008
【図８】
0005148375.tif 000009
【図９】
0005148375.tif 000010
【図１０】
0005148375.tif 000011
【図１１】
0005148375.tif 000012
【図１２】
0005148375.tif 000013
【図１３】
0005148375.tif 000014
【図１４】
0005148375.tif 000015
【図１５】
0005148375.tif 000016
【図１６】
0005148375.tif 000017
【図１７】
0005148375.tif 000018