説明

光学式自動認識コード読み取り方法及び装置

【課題】複数の1Dカラービットコードを一括して読み込み・認識をする場合に、その結果の改良された表示方法を提供する。
【解決手段】光学式自動認識コードの各コードシンボルを1個以上含む画像を撮像して画像データを取り込む(キャプチャする)。最初の画像データを「基準キャプチャ画面」として設定し、以降にキャプチャされた画像データ毎のデコード結果を「基準キャプチャ画面」に上書きするためにその明示枠の位置等を記憶する。この際、基準キャプチャ画面上の位置に補正するための補正係数も求めて記憶しておく。複数回キャプチャを繰り返した後、コードシンボルの明示枠の位置等を補正して基準キャプチャ画像上にまとめて挿入して表示する。したがって、どこコードが認識できたのか(あるいは認識できなかったのか)を直感的に操作者に示すことで、操作性の向上を図るものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は複数の光学式認識コード(自動認識コードタグとも呼ばれる)を光学的に読み込み、一括認識し、目的のコードシンボル(タグとも呼ばれる)を探し出し、操作者にわかりやすく表示する技術に関する。すなわち、本発明は光学的に光学式認識コードを読み取り、デコードする技術に関する。
【背景技術】
【0002】
本願発明者は、先の特願2006−196705号において、色彩の遷移、変化によって情報を表す光学式認識コードを提案した。この光学式認識コードを「1Dカラービットコード」と呼ぶ。この1Dカラービットコードによれば、各色彩の占める領域の大きさや形の制限が緩和されているので、タグを自由な形状にすることが可能である。また、従来のバーコードでは不可能であった凹凸のある表面や、柔軟性のある素材上でもタグをマーキングすることが可能である。
【0003】
また、本願発明者は、先の特願2007−130504号において、当該1Dカラービットコードの認識方法について提案している。すなわち、1Dカラービットコードの認識は、一定領域の画像を読み込み、画像処理を行うことによって行う。このため、コードの位置や向きに関わらず認識することができる。
【0004】
このとき、その領域には複数の1Dカラービットコードが含まれる場合があるが、その場合は、その複数の1Dカラービットコードのそれぞれについて認識・デコードが行われる。したがって、1Dカラービットコードは複数のコードを容易に、かつ同時に認識できるという特徴を有する。
【0005】
また、複数の1Dカラービットコードを認識しようとした場合、認識できたものと、認識できなかったものとを区別して表示することが操作性の観点から非常に重要である。 この点、本願発明者は先の特願2007−142145により、認識できた1Dカラービットコードを画像上で枠線で囲む等により明示的に区別できる方法を提案している。
【0006】
このように、本願発明者らが開発した1Dカラービットコードは、複数読み取り・認識を本質的に行いやすいコードである。
【0007】
従来の先行特許技術
例えば、下記特許文献1には、複数種類のバーコードをデコードする際に、順番を工夫することによって、デコード速度の向上を図る技術が開示されている。
【0008】
また、下記特許文献2には、大量のワークに対して付与された識別コードを一括して読み取る識別コード一括読み取り装置が開示されている。
【0009】
また、下記特許文献3には、文字や模様を含む画像データからバーコードを切り出す方法が開示されている。
【0010】
さらに、下記特許文献4には、複数のバーコードを読み取ることができるバーコード切り出し方法が開示されている。ここに開示されている技術によれば、レフトマージンやライトマージンが規格外でも連続して認識することができるので、複数のバーコードを切り出せると記述されている。
【0011】
【特許文献1】特開平11−316796号公報
【特許文献2】特開2005−157440号公報
【特許文献3】特開2004−074516号公報
【特許文献4】特開平8−185463号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
このように、1Dカラービットコードは、1画面中に含まれる複数のタグを一度に認識することに適したものである。
【0013】
1Dカラービットコードの認識に使用する画像は、CCDカメラ等から入力された静止画像である。通常、動画像キャプチャカメラからの入力画像を断続的にフレーム画像(静止画像)として捉え、各静止画像についてタグ(コードシンボル)の認識・デコード処理を行っている。なお、一般的な動画の30fps程度で連続的に取得する静止画像群は、文字通り「連続的」なフレーム画像であるが、それよりも広い時間間隔で撮像されていわば「断片的に」撮られた静止画像群(画像データ群)をしばしば「断続的」なフレーム画像と呼ぶ場合がある。自動認識コードの場合は、一般的な動画像のように文字通り連続的に画像を取得する必要はなく、操作者の指示に従って撮像が行われる場合が多い。
【0014】
さて例えば、読み取り対象タグが1つの場合に、1枚の静止画像のみで認識を行った場合は、撮像時の光源やブレなど撮像条件により目的のタグが認識できないことが生じ得る。そのため、複数の静止画像を用いて連続的に認識することにより、撮像条件が悪いケースにおいても認識操作の負担を軽減している。しかし、このように複数の静止画像を用いて認識する場合、撮像条件の違いにより静止画像毎の認識結果が異なる場合がある。そうすると、結局、目的のタグが認識できたか否かを直感的に判断することが難しい。
【0015】
また、複数のタグを認識する場合にも、同様に動画キャプチャカメラから断続的に静止画像を捉えて、認識処理を行う。しかし、1つのコードを認識する場合と同様に、撮像条件の違いにより、静止画像毎に認識できるコードが異なることが想定される。そうすると、結局、認識できたタグと認識できなかったタグとを区別するには、各静止画像毎の認識結果を見比べて確認するほかなく、操作性の点で問題が生じる。
【0016】
このように複数の静止画像を用いた認識を行う場合に、認識できたタグと認識できなかったタグとを直感的に区別しやすく明示する方法については未だ知られていない。
【0017】
本発明の目的
本発明は上記課題に鑑みなされたものであり、その目的は、複数の1Dカラービットコードを一括して読み込み・認識をする場合に、その結果の改良された表示方法について提案することである。
【課題を解決するための手段】
【0018】
本発明は、上記課題を解決するために、入力された静止画像の中から「基準キャプチャ画面」を設定し、静止画像毎のコード認識結果を「基準キャプチャ画面」に上書きするために、そのコードシンボルを明示する明示枠の位置等を記憶しておく。明示枠は、各キャプチャした画像データ上にそのキャプチャの度に表示していく。この際、基準キャプチャ画像上での位置等に変換するための補正係数も求めて同様に記憶しておく。キャプチャを所定回数繰り返した後、認識できたコードシンボルについて、その明示枠を基準キャプチャ画面上の位置に変換して基準キャプチャ画像に挿入して、利用者に表示する。この結果、認識できた全てのコードを明確にし、どのコードが認識できたのか(あるいは認識できなかったのか)を直感的に操作者に示すことで、操作性の向上を図るものである。
【0019】
また、最後にまとめて表示するのではなく、デコードが成功した場合はその画像データ上に明示枠を表示すると共に、基準キャプチャ画像上にもそのキャプチャする毎に追加挿入していくような構成を採用することも好適である。
【0020】
したがって、一旦認識できたタグについては、その後にキャプチャした画像データで認識できなくても、既に認識済みであることが明示され、それまでにデコードできた全てのコードを明確になり、どのコードが認識できたのか(あるいは認識できなかったのか)を直感的に操作者に示すことで、操作性の向上を図るものである。
【0021】
具体的には、以下のような手段を採用する。
【0022】
(1)本発明は、上記課題を解決するために、光学的自動認識コードを読み込む方法において、前記光学的自動認識コードの1個以上のコードシンボルを含む画像データをキャプチャするキャプチャステップと、前記キャプチャした画像データから、前記コードシンボルが占める領域を切り出すステップと、前記切り出した領域のコードシンボルをデコード処理し、得られたデータを所定の記憶手段に記憶するデータ記憶ステップと、前記デコードが成功したコードシンボルの前記領域を示す明示枠の位置を算出し、所定の記憶手段に記憶する位置記憶ステップと、前記明示枠を、前記キャプチャした画像データの前記求めた位置に、重畳して挿入する第1挿入ステップと、前記キャプチャした画像データと、最初にキャプチャした画像データである基準キャプチャ画像と比較し、両者の位置関係を算出し、前記記憶手段に格納するステップと、前記明示枠が挿入された画像データを利用者に表示する第1表示ステップと、前記キャプチャステップから、前記表示ステップまでを1回以上繰り返す繰り返しステップと、前記繰り返しステップにおける繰り返し処理の後、前記記憶手段から前記明示枠の位置を取り出し、この位置を、前記位置関係に基づき補正し、前記基準キャプチャ画像上の位置に変換する位置変換ステップと、前記明示枠を、前記基準キャプチャ画像の前記変換後の位置に挿入する第2挿入ステップと、前記第2挿入ステップにおいて、デコードが成功したコードシンボルの前記明示枠が挿入された前記基準キャプチャ画像を表示する第2表示ステップと、を含み、前記繰り返し処理が終了した後で、前記基準キャプチャ画像に、それまでにデコードが成功したコードシンボルの明示枠が挿入されることを特徴とする光学的自動認識コード読み取り方法である。
【0023】
(2)また、本発明は、上記課題を解決するために、光学的自動認識コードを読み込む方法において、前記光学的自動認識コードの1個以上のコードシンボルを含む画像データをキャプチャするキャプチャステップと、前記キャプチャした画像データから、前記コードシンボルが占める領域を切り出すステップと、前記切り出した領域のコードシンボルをデコード処理し、得られたデータを所定の記憶手段に記憶するデータ記憶ステップと、前記デコードが成功したコードシンボルの前記領域を示す明示枠の位置を算出し、所定の記憶手段に記憶する位置記憶ステップと、前記明示枠を、前記キャプチャした画像データの前記求めた位置に、重畳して挿入する第1挿入ステップと、前記明示枠が挿入された画像データを利用者に表示する第1表示ステップと、前記キャプチャした画像データと、最初にキャプチャした画像データである基準キャプチャ画像と比較し、両者の位置関係を算出し、前記記憶手段に格納するステップと、前記記憶手段から前記明示枠の位置を取り出し、この位置を、前記位置関係に基づき補正し、前記基準キャプチャ画像上の位置に変換する位置変換ステップと、前記明示枠を、前記基準キャプチャ画像の前記変換後の位置に挿入する第2挿入ステップと、前記第2挿入ステップにおいて、デコードが成功したコードシンボルの前記明示枠が挿入された前記基準キャプチャ画像を表示する第2表示ステップと、前記キャプチャステップから、前記表示ステップまでを1回以上繰り返す繰り返しステップと、を含み、前記基準キャプチャ画像には、前記キャプチャステップにおけるキャプチャが行われる度に、デコードが成功したコードシンボルの明示枠が追加されることを特徴とする光学的自動認識コード読み取り方法である。
【0024】
(3)また、本発明は、(1)記載の光学的自動認識コード読み取り方法において、前記基準キャプチャ画像は、前記繰り返しステップにおける繰り返し処理が開始されたときから、表示が開始されることを特徴とする光学的自動認識コード読み取り方法である。
【0025】
(4)また、本発明は、(1)記載の光学的自動認識コード読み取り方法において、前記基準キャプチャ画像は、前記繰り返しステップにおける繰り返し処理が終了した後で、初めて表示されることを特徴とする光学的自動認識コード読み取り方法である。
【0026】
(5)また、本発明は、(1)又は(2)に記載の光学的自動認識コード読み取り方法において、前記光学式自動認識コードは、色彩セルを配置して、その色彩セルの色彩の並び、色彩の遷移、色彩の組み合わせ、のいずれかによってデータを表す「色彩配列による自動認識コード」であることを特徴とする光学的自動認識コード読み取り方法である。
【0027】
(6)また、本発明は、(1)〜(5)のうち、いずれか1項に記載の光学的自動認識コード読み取り方法において、前記明示枠の「位置」には、前記明示枠の座標、明示枠の大きさ、明示枠の向き、明示枠の縦と横の長さ、のいずれか1個以上のパラメータが含まれることを特徴とする光学的自動認識コード読み取り方法である。
【0028】
(7)また、本発明は、(1)〜(7)のうち、いずれか1項に記載の光学的自動認識コード読み取り方法において、前記画像間の「位置関係」には、平行移動量、回転方向と回転量、スケーリング(拡大・縮小)のうち、いずれか1個以上のパラメータが含まれていることを特徴とする光学的自動認識コード読み取り方法である。
【0029】
(8)また、本発明は、(1)又は(2)に記載の光学的自動認識コード読み取り方法において、前記第2表示ステップは、さらに、デコードが成功したコードシンボルの前記データを前記記憶手段から読み出し、対応する前記コードシンボルの前記明示枠と関連付けて表示することを特徴とする光学的自動認識コード読み取り方法である。
【0030】
(9)また、本発明は、(8)記載の光学的自動認識コード読み取り方法において、前記関連付けは、前記データを、このデータの対応する前記明示枠の近傍に表示することによって行われることを特徴とする光学的自動認識コード読み取り方法である。
【0031】
(10)また、本発明は、(8)記載の光学的自動認識コード読み取り方法において、 前記関連付けは、前記データと、このデータの対応する前記明示枠とを曲線で結んで表示することによって行われることを特徴とする光学的自動認識コード読み取り方法である。
【0032】
(11)また、本発明は、(1)、(3)、(4)、(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記位置変換ステップにおいて、同一のコードシンボルに対応する前記明示枠が前記記憶手段に複数個格納されている場合は、その中の1個の明示枠に対してのみ位置を変換し、前記第2挿入ステップにおいては、前記変換した1個の明示枠を前記基準キャプチャ画像に挿入することを特徴とする光学的自動認識コード読み取り方法である。
【0033】
(12)また、本発明は、(1)〜(5)のいずれか1項に記載の光学式自動認識コード読み取り方法において、前記第1表示ステップにおいて、前記画像データを第1画面に表示し、前記第2表示ステップにおいては、前記基準キャプチャ画像を大画面とは異なる第2画面に表示し、前記第1画面と、前記第2画面とが、共に利用者に対して同時に表示が行われることを特徴とする光学式自動認識コード読み取り方法。
【0034】
(13)また、本発明は、(1)〜(5)のいずれか1項に記載の光学式自動認識コード読み取り方法において、前記キャプチャステップにおいては、キャプチャが行われた後、そのキャプチャした画像データを利用者に表示し、前記第1表示ステップにおいては、前記キャプチャステップにおいて表示された前記画像データに代えて、前記明示枠が挿入された画像データを利用者に表示することを特徴とする光学式自動認識コード読み取り方法である。
【0035】
(14)また、本発明は、(1)〜(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記繰り返しステップは、予め定められた時間が経過するまで、前記繰り返し処理を繰り返し実行することを特徴とする光学的自動認識コード読み取り方法である。
【0036】
(15)また、本発明は、(1)〜(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記繰り返しステップは、前記それまでにデコードできたコードシンボルの個数が、予め定められた数に到達するまで、前記繰り返し処理を繰り返し実行することを特徴とする光学的自動認識コード読み取り方法である。
【0037】
(16)また、本発明は、(1)〜(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記繰り返しステップは、読み取り対象であるコードシンボルのデコードが全て終了した場合に、前記繰り返し処理を終了することを特徴とする光学的自動認識コード読み取り方法である。
【0038】
(17)また、本発明は、(1)〜(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記それまでにデコードできた個数のコードシンボルに基づき、読み取り対象である全てのコードシンボルをデコードできた場合と同様のデータが得られた場合には、前記繰り返し処理を終了数ことを特徴とする光学的自動認識コード読み取り方法。
【0039】
(18)また、本発明は、(16)記載の光学式自動認識コード読み取り方法において、前記それまでにデコードできた個数のコードシンボルに基づき、読み取り対象である全てのコードシンボルをデコードできた場合と同様のデータが得られた場合には、前記それまでにデコードできた個数のコードシンボルに基づき、エラー訂正を実行し、まだデコードできていないコードシンボルのデータを補い、読み取り対象である全てのコードシンボルをデコードした場合と同様のデータが再現できた場合が含まれることを特徴とする光学式自動認識コード読み取り方法。
【0040】
(19)また、本発明は、(1)〜(5)のいずれか1項に記載の光学的自動認識コード読み取り方法において、前記繰り返しステップは、予め定められた終了コードを表すコードシンボルが読み取れた場合に、前記繰り返し処理を終了することを特徴とする光学的自動認識コード読み取り方法である。
【0041】
(20)また、本発明は、(1)〜(19)のいずれか1項に記載の光学的自動認識コード読み取り方法を実行する光学的自動認識コード読み取り装置である。
【発明の効果】
【0042】
以上述べたように、本発明によれば、キャプチャした画像データ毎にコードシンボルのデコードを試み、デコードできたコードシンボルについて明示枠を求めて表示した。さらに、その明示枠の位置等を基準キャプチャ画面上にまとめて表示する。
【0043】
したがって、どのコードシンボルが読みとれたかを容易に知ることができ、利便性の高い光学式自動認識コード読み取り方法・装置が得られる。
【発明を実施するための最良の形態】
【0044】
以下、本件発明の好適な実施の形態を図面に基づいて説明する。
【0045】
第1 システムの構成
まず、本実施の形態で用いるコードシンボル読み取り結果多重表示装置10等のシステムと、本システムで読み取る色彩配列による自動認識コードの構成について、説明する。
【0046】
(1)コードシンボル読み取り結果多重表示装置の構成
図1には、本件発明に係るコードシンボル読み取り結果多重表示装置10と、キャプチャ手段12と、物品14とが示されている。
【0047】
コードシンボル読み取り結果多重表示装置10は、図1に示されるように、コンピュータから構成されている。その詳細は後述する。
【0048】
また、物品14の側面には、コードシンボル20が付されている。キャプチャ手段12は、CCDカメラであり、コードシンボル20を順次撮像する。このキャプチャ手段12は、コードシンボル読み取り結果多重表示装置10に接続され、コードシンボル20の画像データをコードシンボル読み取り結果多重表示装置10に送出する。
【0049】
用語について
ここで、コードシンボルとは、複数の色彩セルからななる。色彩セルとは一定の色彩が付されたものであり、色彩セルを並べることによって、それぞれのコードシンボルが構成されている。コードシンボルとは、あるコード体系によって所定のデータを表すために構築された1個1個のシンボルをいう。
【0050】
コードとは、種々の意味がある。一般には、コードの生成規則や、デコードの規則、用いる色彩とその色彩の許容範囲となる色彩空間等からなる「コード体系」を意味するが、このコード体系に基づき構築された1個のシンボル(コードシンボル)も、便宜的に○○コードと呼ぶこともある。
【0051】
コードシンボルは、複数の色彩セルをコード規則に基づき並べて構成されるが、この色彩セルは、本実施の形態では、ある色彩が付された2次元の所定の領域をいう。
【0052】
より具体的には、色彩セルとは、本実施例においては、キャプチャした画像中の物品上の所定の色彩エリア(色彩領域)をいう。なお、コードシンボルを単にシンボルということもある。本実施例において、コードシンボルは色彩配列による自動認識コードとして機能し、数値などのデータを表す。
【0053】
このような構成によって、コードシンボル読み取り結果多重表示装置10は、物品14に付されたコードシンボル20を、色彩配列による自動認識コードとしてデコードを行い、得られたデータをそのディスプレイ(後述するように表示手段18に相当する)に表示する動作を行う。
【0054】
第2 コード及びコードシンボルの構成
本実施の形態で用いるコード及びコードシンボルは、以下のような構成を採用する。
【0055】
下記の構成は、コードシンボルの読み取り可能性を向上させることを念頭に置いて採用されている。
【0056】
一般的に、容量の大きなデータを表すためには、長大なコードシンボルが必要である。しかし、コードシンボルが長大であればあるほど、光学的影響や汚れなどの影響を受けて読みとれなくなる可能性が高くなる。
【0057】
そこで、本来は1個のコードシンボルを複数個に分割し、分割されたものを個々に読み取って後で合成して原コードシンボルを再構成している。
【0058】
この複数個に分割された一群のコードシンボルを「シンボル群」といい、分割後の個々のコードシンボルを特に「分割コードシンボル」又は「分割シンボル」と呼ぶ。この分割シンボルについて個別に読み取りトライを行えば、たとえ光学的影響(照明やカメラ側の設定等)を受けても、長大なままのコードシンボルを読み取る場合に比べて、読み取れる可能性は格段に大きくなる。ここで、読み取りトライとは、分割シンボルの読み取りが失敗した場合に再試行を繰り返すことをいう。
【0059】
2−1 誤り訂正
分割された分割コードシンボルに誤り訂正符号を適用し、誤り訂正をすることによって、一部分割コードシンボルの欠損を許容することができる。すなわち、一部の分割コードシンボルが汚れるなどして読み取りができない場合でも、同じシンボル群に属するの他の残りの分割コードシンボルから、原コードシンボルを再構成することができるものである。このような誤り訂正の技術は従来からよく知られているので、従来技術をそのまま使用すれば良い。
【0060】
したがって、例えば、汚れやかすれ等で読み取れなかったコードシンボルが存在しても残りの分割コードシンボルに基づき原コードシンボルを再構成することができる。
【0061】
2−2 コードシンボルの識別動作について
本節では、シンボル群及び個々のコードシンボルを識別する方法について、図2、図3に基づいて説明する。
【0062】
本実施例において、1個のシンボル群は、分割された4個の分割コードシンボルから構成される。上述したように、各分割コードシンボルはCRC等のエラー訂正コードを含んでおり、4個の分割コードシンボルの内、1個の分割コードシンボルが欠損しても残りの3個のコードシンボルから原コードシンボルを再構成することができる。
【0063】
本実施の形態では、1個のシンボル群は、1個の原コードシンボルを表し、当然ながらそれは1個のデータを表す。
【0064】
図2中には、2つのシンボル群(合計8個のコードシンボル22a、22b、22c、22d、24a、24b、24c、24dを含む)によって、2つのデータを表す例が示されている。
【0065】
ここで、図2に示したように、複数群のコードシンボルが混在している場合でも、これら複数群のシンボル群の中から読み取れた個々のコードシンボルを視覚的に把握できるようにすることは、操作を行う上で重要である。
【0066】
まず、本実施例では、各コードシンボルが表すデータの最初の部分に、各シンボル群を識別するための2桁のシンボル群識別番号を付している。本実施の形態では、シンボル識別番号は、「01」と「02」を用いて2個のシンボル「群」を表している。
【0067】
図3には、図2中の各コードシンボル22a、22b、22c、22d、24a、24b、24c、24dが表すデータを読み取った例が示されている。この図3に示されるように、各コードシンボル22a、22b、22c、22d、24a、24b、24c、24dのデータの最初の2桁は上述したように「01」又は「02」である。
【0068】
また、このシンボル群識別番号の後には、「01」又は「02」、「03」、「04」のいずれかのシンボル内番号が付されている。これらシンボル内番号は、各コードシンボルをその群内における順番を表す。
【0069】
第3 コードシンボル読み取り結果多重表示装置の動作の詳細
以下、2個のシンボル群の内、いずれか一方の群を読み取る場合の動作の例を説明する。
【0070】
3−1 1回目のキャプチャ動作
図4に示したフローチャートに基づき、読み取り対象の群のコードシンボルを視覚的に把握できるような動作を具体的に説明する。例えば2個の群の内、「01」群のコードシンボルを読み取る場合の動作を説明する。
【0071】
なお、図4中において、表示を行う動作は点線で示されている。
【0072】
まず、図4中のS4−1において、キャプチャ手段12が、物品14に付されたコードシンボル20を含む画像をキャプチャする。
【0073】
次に、自動認識手段16が、その画像の信号を受信し、表示手段18に表示する。このS4−1でキャプチャした画像を、以下、画像1と呼ぶ。本実施例において、自動認識手段16は、表示手段18に画面Aと画面Bとの2つの画面を表示する。このS4−1では、画面A及びBのいずれにも画像1が表示される。
【0074】
つまり、このS4−1において、画面A及び画面Bに双方とも画像1を表示するのは、最初の1回目だけであり、2回目のキャプチャからは、そのキャプチャした画像データ画面Aに対してのみ表示される。
【0075】
このように画像データはそのキャプチャした直後に画面Aに表示されるが、これは後述するようにデコードが成功したコードシンボルを表す明示枠が表示された画像データと交換される。
【0076】
また、後述するように、画面Aは、キャプチャする度にそのキャプチャした画像が示される画面であり、画面Bは、最初にキャプチャした画面が引き続き表示される。この「最初にキャプチャした画像」(つまり、上述した画像1)を基準キャプチャ画面と呼ぶ。
【0077】
次に、図4中のS4−2において、自動認識手段16が、画像1を基準キャプチャ画像として所定の記憶手段に記憶する。
【0078】
本実施の形態において特徴的なことは、この基準キャプチャ画像が、後のS4−4以降の動作において、キャプチャした画像(1)中のコードシンボル20の座標位置の変化量を算出するための基準の画像として用いられることである。なお、この基準キャプチャ画像は、特許請求の範囲に記載の最初に取り込んだ画像データの好適な一例に相当する。
【0079】
次に、図4中のS4−3において、自動認識手段16が、画像1中のコードシンボル20の切り出し動作を行う。この切り出しとは、コードシンボルとであると判断された領域を抽出することである。ここで領域とは、画像データである画像1中の2次元の領域である。
【0080】
画像1を所定の色彩領域に分割し、色彩領域の並びを追跡することによって、コードシンボルであると判断される色彩領域の並びを検出する。すなわち、切り出しとは、この「複数の色彩領域の並び」を切り出すことを言う。そして、複数の色彩領域はコードシンボルの色彩セルと見なされて、デコードが行われる。
【0081】
次に、図4中のS4−4において、自動認識手段16が、S4−3で切り出したコードシンボル20の位置を算出する。切り出したコードシンボルは画素の集合として表現されるが、その位置としては、種々のパラメータを用いることができる。典型的には、位置として、そのコードシンボル20の座標位置を利用することが一般的である。
【0082】
例えば、コードシンボル20が占める領域の重心位置を求めることによって算出される。なお、ここでは「位置」と表現しているが、この「位置」には、その領域を囲む矩形領域を含めておくことが好ましい。また、望ましくは、面積が最小となるような矩形領域を求めておくことも好適である。これらの矩形は、後述する明示枠を表示する位置・向き・大きさ等に利用することができる。ここでいうコードシンボルの位置とは、このようなデータ・情報をいう。
【0083】
さらに、自動認識手段16は、このコードシンボル20の「位置」の情報を記憶手段に記憶する。
【0084】
次に、図4中のS4−5において、自動認識手段16が、S4−1でキャプチャした画像と、S4−2で記憶した基準キャプチャ画像とを比較し、両者の位置関係を検出する。
【0085】
ここで、1回目のキャプチャにおいては、両者は当然同じ画像であるから、位置関係は0である。
【0086】
位置関係について
この位置関係とは、3次元座標上の移動量(x軸方向の移動量、y軸方向の移動量、z軸方向の移動量)、回転角度、拡大(縮小)を表す情報である。2個の画像を比較して両者の間の移動量、回転角度、スケール(拡大・縮小)を求める手法は従来から知られているので、従来の画像処理技術を用いればこれらのパラメータを求めることが可能である。
【0087】
例えば、米国特許US7006706号等にこれらの技術が開示されている。
【0088】
さて、本実施の形態では、キャプチャ手段12を利用者が手で持って対象物に向けて撮像を行っている。そのため、2回目以降のキャプチャにおいては、基準キャプチャ画面と異なった画像が得られる。しかし、基本的には同じ対象物を撮影しているので、これらの画像間の差異は限られた差異であり、両者を比較することによって、両画像間の移動量、回転量、スケール(拡大・縮小)を求めることが可能である。これらを本実施の形態では「位置関係」と呼ぶことは上述したとおりである。
【0089】
したがって、後述するが、2回目のキャプチャにおいては0ではない位置関係が求められることになる。位置関係が0(拡大・縮小はないので、スケール(拡大縮小率)は「1」となる)となるのは、最初のキャプチャだけであり、2回目以降は、非零の位置関係が得られるであろう。
【0090】
次に、こうして求められた位置関係に基づき、S4−4で算出したコードシンボル20の位置から基準キャプチャ画像中のコードシンボルの位置を求める。この位置を求めるためのいわば補正量は、上記画像間の「位置関係」と、コードシンボル20の「位置」とから求められる。
【0091】
単純に、x方向だけの移動だけを考えると、例えば、画像がx方向にx1だけ平行移動している場合は、補正量として−x1を用いることが好適である。コードシンボル20の位置(座標)のx座標に−x1を加えた座標が、基準キャプチャ画像上のコードシンボルの位置となる。
【0092】
ここでは、説明を単純にするために、x座標の移動のみを説明したが、もちろん、回転や拡大・縮小も同様にある。
【0093】
なお、基準キャプチャ画像上のコードシンボルの位置を算出するためのいわば補正量を、本実施の形態では、「位置補正係数」と呼ぶ。上述したように、この位置補正係数は平行移動だけでなく、回転、拡大縮小の補正量も含むものである。
【0094】
さて、S4−5においては、S4−4で検出したコードシンボル20と基準キャプチャ画像中のコードシンボル20は同一の位置にあるので、位置補正係数は0となる。もちろん、これは1回目のキャプチャだけであり、2回目以降は有意な(実際に位置補正を行う)位置補正係数となる。
【0095】
次に、図4中のS4−6において、自動認識手段16が、S4−3で切り出したコードシンボル20を、色彩配列による自動認識コードの規則に基づいてデコード処理し、シンボル群識別番号とシンボル内番号とデータとを読み取る。
【0096】
次に、図4中のS4−7において、自動認識手段16が、シンボル群識別番号及びシンボル内番号に基づき、S4−6で得たデータから、読み取り対象のシンボル群のコードシンボルのデータのみを抽出し、別途読み取り結果を格納する記憶手段に格納する。
【0097】
本実施の形態では、読み取り対象が「01」群である場合を説明している。したがって、読み取ったコードシンボルのシンボル群識別番号が「01」の場合は、このように読み取り結果が別途、読み取り結果として、結果を格納する記憶手段に格納される。一方、読み取ったコードシンボルのシンボル群識別番号が「02」である場合は、読み取り対象の群ではないと判断され、結果を格納する記憶手段に格納されない。
【0098】
結果を格納した記憶手段中の読み取り結果は、最終的に、表示手段等を介して利用者に提示される。
【0099】
S4−7においては、さらに、自動認識手段16は、データを読み取れたコードシンボルの位置に基づき、コードシンボルを囲むような矩形図形(矩形枠)を算出する。この矩形枠は、「明示枠」と呼ばれ、コードシンボルを読み取ったことを表す。
【0100】
この矩形の図形は、このコードシンボルを囲む矩形であって、最小のものを求めることが好適である。このような枠の表示技術については、本願発明者が別途特願2007−142145号にて出願している。
【0101】
簡易的には、コードシンボルの領域の短径、長径を求め、それら短径及び長径をそれぞれ縦及び横とする長方形を算出してもかまわない。
【0102】
また、上述したように、コードシンボルの位置として重心だけでなく、それを中心としてコードシンボルを囲むような矩形を算出しても良く、この場合は、その「位置」たる矩形をそのままなぞって矩形を形成することも好適である。
【0103】
次に、自動認識手段16は、読み取り対象のコードシンボルに対応するこの矩形図形を画像1中に、その中心位置がコードシンボルの位置と重なるように配置・挿入する。この際、この明示枠(矩形の図形)は、画像中に表れない色彩で所定の太さの線を矩形状に描くことによって挿入することが好適である。この明示枠によって、コードシンボルが読み取れたことを操作者に明示的に示すことができる。
【0104】
このようにして、そのコードシンボルを指し示すための明示枠が画像1中に挿入されることになる。
【0105】
次に、自動認識手段16は、この明示枠が挿入された画像1を表示手段18に送る。表示手段18は、明示枠がコードシンボルに付された画像1を画面A側に表示する。一方、画面B側には、引き続き初期キャプチャ画面が表示される。
【0106】
したがって、1回目のキャプチャにおいては、画面Aと画面Bとは同一のキャプチャ画像が表示される。但し、画面A側においては、読み取れたコードシンボルの周囲に明示枠が挿入されている点が画面B側と異なる。
【0107】
なお、当然のことながら、明示枠がコードシンボルに付された画像1は、それまで表示されていた明示枠が付されていない画像1に代えて表示される。
【0108】
後に説明する図6(2)及び図7(2)には、2つの明示枠40a、40cがコードシンボル38a、38cにそれぞれ付された画像の例が示されている。後述する図6(2)及び図7(2)には、2つの明示枠40a、40cがコードシンボル38a、38cを囲むように挿入されている。
【0109】
この結果、本実施の形態によれば、明示枠がコードシンボルを囲むように画像中に挿入され、表示される。したがって、操作者は、どのコードシンボルが読み取れたのか容易に知ることができる。
【0110】
次に、図4中のS4−8において、自動認識手段16が、S4−7で抽出したデータと、S4−5で算出した位置補正係数とを記憶手段に記憶する。
【0111】
このように、S4−1からS4−8までの動作は、主として画像1に関して行われる。
【0112】
自動認識手段の構成
ここで、本実施の形態に係る自動認識手段16の構成について、図5に基づき説明する。自動認識手段16は、コンピュータから構成され、機能的には以下のような手段から構成される。
【0113】
図5に示されるように、自動認識手段16は、CPU26と、キャプチャ手段インターフェース28と、表示手段インターフェース30と、基準キャプチャ画像記憶手段32と、記憶手段34とを備える。
【0114】
キャプチャ手段インターフェース28は、CPU26とキャプチャ手段12とを接続する。キャプチャ手段12がキャプチャした画像は、キャプチャ手段インターフェース28を介してCPU26に送られる。
【0115】
表示手段インターフェース30は、CPU26と表示手段18とを接続する。CPU26が送信する信号は、CPU26が備えるバッファに蓄えられ、表示手段インターフェース30を介して、表示手段18の画面A又は画面Bに送信される。なお、CPU26が備えるバッファは、図5中には示されていない。
【0116】
表示手段18は例えば液晶ディスプレイ等であり、その表示画面中には、キャプチャ画像を示すためのウィンドウが設けられている。それぞれを画面A、画面Bと呼ぶことは上述したとおりである。画面Aは、キャプチャした画像をその都度表示していく画面であり、上述したように適宜明示枠が挿入されて表示される。一方、画面Bは、基準キャプチャ画面が表示されている。
【0117】
基準キャプチャ画像記憶手段32は、基準キャプチャ画像を記憶する機能を備える。上で述べたS4−2において、CPU26は、画像1を基準キャプチャ画像として、この基準キャプチャ画像記憶手段32に記憶する。また、記憶手段34は、その都度キャプチャしたキャプチャ画像と、位置補正係数と、データと、コードシンボルの位置と、明示枠の座標位置とを記憶する機能を備える。
【0118】
図5に示されるように、記憶手段34内には、記憶領域がテーブルを形成している。CPU26は、このテーブルの記憶領域のうち1回目のキャプチャ動作に対応する、第1行目の記憶領域に、キャプチャ画像と、位置補正係数と、データと、コードシンボルの位置と、明示枠の座標位置とがそれぞれ格納される。
【0119】
なお、基準キャプチャ画像記憶手段32、記憶手段34は、別体であるように図では示されているが、1個の記憶手段の中に2個の記憶手段が設けられていても良い。
【0120】
3−2 2回目以降のキャプチャ動作
続けて、自動認識手段は、以下に述べるS4−9からS4−15までの動作を繰り返し実行し、連続的にキャプチャ動作並びにそれに伴うデコード処理を実行する。
【0121】
まず、図4中のS4−9において、キャプチャ手段12が、2回目のキャプチャ動作を行い、キャプチャした画像を自動認識手段16に送る。自動認識手段16は、受信した画像を表示手段18に送り、キャプチャした画像を画面Aに表示する。この2回目のキャプチャ動作で取得した画像を、以下、画像2と呼ぶ。なお、画面Bには、そのまま基準キャプチャ画像(画像1)が表示される。
【0122】
次に、図4中のS4−10において、自動認識手段16が、画像2中のコードシンボル20の切り出し動作を行う。
【0123】
次に、図4中のS4−11において、自動認識手段16が、S4−10で切り出したコードシンボル20の位置を算出する。この位置は、上で述べたのと同様に、そのコードシンボル20の座標位置その他の情報である。例えば、コードシンボル20が占める領域の重心を求めることも好ましい。
【0124】
次に、自動認識手段16は、このコードシンボル20の位置の情報を、所定の記憶手段34の上から第2行目の記憶領域に記憶する(図5参照)。
【0125】
次に、図4中のS4−12において、自動認識手段16は、今回キャプチャした画像2と、基準キャプチャ画像とを比較して、位置補正係数を算出する。
【0126】
この位置補正係数は、1回目のキャプチャ時から2回目のキャプチャ時までの間に、画像がどのように動いたかを示す係数であり、平行移動、回転、スケール(拡大・縮小)などのパラメータから構成されることは既に述べたとおりである。
【0127】
次に、図4中のS4−13において、自動認識手段16が、S4−10で切り出したコードシンボル20を、色彩配列による自動認識コードに基づいてデコード処理し、シンボル群識別番号とシンボル内番号とデータとを読み取る。
【0128】
本実施の形態において特徴的なことは、読み取れたコードシンボルの明示枠を基準キャプチャ画像上における位置を算出したことである。この結果、デコードが成功したコードシンボルの明示枠を基準キャプチャ画像上で表示することが可能となる。
【0129】
この算出動作は、後述するように、所定回数のキャプチャが終了した後にまとめて行われるが、キャプチャの度に求めても良い。画像キャプチャの度に求める場合は、下記に示すような算出をその都度行い、記憶手段34に「補正後の明示枠の座標」なる新しい項目を付加して、そこに求めた新しい座標値等を格納することが好ましい。
【0130】
さて、自動認識手段16は、上述した位置補正係数に基づいて、2回目のキャプチャ動作時に読み取ったコードシンボルが、1回目のキャプチャ画像(基準キャプチャ画像)中のどの位置に相当するかを算出する。
【0131】
位置補正係数は、基本的には、画像間の位置関係を示すパラメータであるが、それを明示枠に適用して、基準キャプチャ画像上での明示枠の位置(向き・大きさ等)を算出する。ここで、明示枠の「位置」と呼んだが、この「位置」は、いわゆる座標(例えば中心点の座標、矩形の明示枠である場合はその四隅の点の座標、重心点の座標など)の値の他に、向き、大きさ、矩形の明示枠の縦辺と横辺の長さ、等を含めてもかまわない。
【0132】
例えば、中心座標と、四隅の座標とを「位置」として扱うのが典型的な好ましい例である。また、中心座標と、縦と横の長さと向き(方位)とを「位置」として扱うのも好適である。要するに、矩形枠を表示する位置と向き・大きさが明確にするようなパラメータであればどのようなものでも良い。
【0133】

ここでは、明示枠について算出したが、コードシンボルについて基準キャプチャ画像上の位置(向き、大きさ)等を求めて、新しく求めたコードシンボルについて明示枠を算出しても良い。例えば、コードシンボルの重心位置の縦軸方向及び横軸方向の移動量、回転角度、回転の中心点の座標、拡大倍率などのパラメータを、画像2上のコードシンボルの各画素に適用すれば、各画素の基準キャプチャ画像上における位置が求められる。それらの新しい画素の集合が、基準キャプチャ画像上で求めたコードシンボルである。
【0134】
本実施の形態では、これら画像間の関係を示すパラメータをまとめて位置補正係数と総称している。
【0135】
画像間の位置関係パラメータとしては、上述したように、平行移動(x座標方向とy座標方向)、回転(中心座標と、回転の向きと回転量)、スケーリング(いわゆる倍率、縮尺であり、等倍すなわち大きさが変わらない場合は「1」であるが、大きくなる場合は1超の値であり、縮小の場合は1未満の値となる)等のパラメータが好適である。
【0136】
ここでは、画像が歪む場合(菱形のようにねじれて変形することなどを含む)は考慮していない。撮像で無視できない歪みが生じることは一般的には考えにくいからである。しかし、用途によっては、歪みをパラメータとして導入してもかまわない。
【0137】
また、スケーリング(拡大・縮小)の代わりに、これを奥行き方向の(いわゆるz方向の)平行移動と考えて、平行移動のパラメータの一種として取り扱ってもよい。用途によっては、x軸、y軸、z軸で考えた方がわかりやすい場合もあるからである。
【0138】
その他、用途に応じて種々のパラメータを採用可能であり、画像間の関係を示すパラメータ、演算子であればどのようなパラメータでもかまわない。
【0139】
このように、本実施の形態では、キャプチャ毎に読み取れたコードシンボルの明示枠の位置を、基準キャプチャ画像上の位置に変換しているので、読み取れたコードシンボルを(その明示枠に基づいて)基準キャプチャ画像上で容易に視認・確認することが可能である。
【0140】
次に、図4中のS4−14において、自動認識手段16が、シンボル群識別番号及びシンボル内番号を読み取ると共に、S4−13で得たデータから読み取り対象のコードシンボルのデータを抽出する。
【0141】
次に、自動認識手段16は、データを読み取れたコードシンボルに対して、上のS4−7で述べたのと同様に、矩形図形を重ねて配置し、この矩形図形を配置した画像を表示手段18に送る。したがって、表示手段18は、2回目のキャプチャ動作において読み取れたコードシンボルに明示枠が付された画像Aを表示することになる。
【0142】
この結果、本実施の形態によれば、明示枠が、キャプチャ動作を行う毎に、読み取れたコードシンボルに付され、その画像が画面Aに表示されるので、操作者は、キャプチャ動作を行う毎に、どのコードシンボルが読み取れたのか容易に知ることができる。
【0143】
次に、図4中のS4−15において、自動認識手段16は、S4−14で読み取ったデータと、S4−12で算出した位置補正係数とを記憶手段に記憶する。
【0144】
以上述べたS4−9からS4−15までのステップが、2回目のキャプチャ動作に相当する。この2回目のキャプチャ動作を終えたとき、図5中の記憶領域34の上から2行目の5つの領域群には、画像2と、S4−12で算出した位置補正係数と、S4−14で抽出したデータと、S4−11で算出したコードシンボルの位置と、S4−14で算出した明示枠の座標位置とが新たに記憶される。
【0145】
なお、本実施例において、自動認識手段16は、明示枠の位置に関する情報として、明示枠の長辺及び短辺の長さ、明示枠の頂点の座標、明示枠の長辺の座標軸に対する角度などの情報を記憶する。なお、本実施の形態では、簡単のため、これらの情報をまとめて明示枠の座標位置と呼ぶ。
【0146】
また、3回目のキャプチャ動作として、上で述べたS4−9からS4−15までの動作が行われ、図5中の記憶手段34の上から3行目の5つの領域群に、画像3と、位置補正係数と、データと、コードシンボルの位置と、明示枠の位置が記憶され、以降、n(nは4以上の整数)回目のキャプチャ動作としても同様の動作が行われる。
【0147】
3−3 キャプチャ動作終了後の結果の表示
このように、本実施の形態においては、複数回のキャプチャを行い、その都度コードシンボルのデコードを行う。そして、所定の終了の条件が満たされた場合に、キャプチャを終了し、以下のような明示枠の位置の補正とその表示に関する処理を開始する。
【0148】
上述したように、本実施の形態では原則としてこの補正を全てのキャプチャ動作終了後に行ったが、キャプチャ動作毎に実行しておきその結果を記憶しておくことも好適である。特にコードシンボルの数が多い場合は、キャプチャ毎に行った方が演算速度的に早い結果が得られる可能性もある。
【0149】
まず、読み取り動作を終了する条件が成立した場合に、自動認識手段16は、以下に述べるS4−16からS4−18までの動作を行う。
【0150】
まず、図4中のS4−16において、自動認識手段16が、1回目からm回目までのキャプチャ動作で記憶手段34に記憶した情報を読み出す。mはその時点までに行ったキャプチャの回数である。
【0151】
3−3−1 明示枠の補正と基準キャプチャ画像への挿入
この読み出し動作等について、図6に基づき、さらに詳しく説明する。
【0152】
図6(1)には、自動認識手段16が、基準キャプチャ画像記憶手段32から読み出した基準キャプチャ画像36が示されている。この基準キャプチャ画像36には、図6(1)に示されるように、コードシンボル38a、38b、38c、38d、38e、38fが含まれている。
【0153】
次に、自動認識手段16は、図5中の記憶手段34の上から1行目に記憶された5つの情報(画像1、位置補正係数、データ、コードシンボルの位置、明示枠の座標位置)を読み出す。
【0154】
次に、自動認識手段16は、読み出した位置補正係数と明示枠の座標位置とに基づいて、明示枠の位置を補正し、明示枠を基準キャプチャ画像36に挿入する。
【0155】
この補正・挿入については、上で詳述したとおりである。本実施の形態では、このように、明示枠を基準キャプチャ画像上に表示するために補正するが、その補正動作を、全てのキャプチャ動作を終了した後に行っている。もちろん、用途によっては、キャプチャする度にこの補正・挿入を行うことも好適である。
【0156】
図6(2)には、自動認識手段16が、基準キャプチャ画像36に明示枠40a、40cを挿入して作成した画像42が示されている。
【0157】
続いて、自動認識手段16は、図5中の記憶手段34の上から2行目の領域群に記憶された情報群(画像2、位置補正係数、データ、コードシンボルの位置、明示枠の座標位置)を読み出す。
【0158】
そして、同様に、明示枠の位置(向き、大きさ等も含む)を補正して、基準キャプチャ画像上の位置に変換して、変換後の明示枠を基準キャプチャ画像に挿入する。このようにして、画像42に(補正後の)明示枠40b、40eを新たに挿入した画像44を作成する。
【0159】
同様に、自動認識手段16は、図5中の記憶手段34の上から3行目までの領域群に記憶された情報群(画像、位置補正係数、データ、コードシンボルの位置、明示枠の座標位置)を読み出し、明示枠を修正し、画像44に明示枠を新たに挿入する。
【0160】
以下、同様に、3行〜m行目まで同様の処理を繰り返し、一度でも読み取れたコードシンボルに関してはその明示枠が基準キャプチャ画像に挿入されるのである。
【0161】
このように、自動認識手段16が、図5の記憶手段34に記憶された情報に基づき、明示枠を補正して基準キャプチャ画像に挿入した。その結果、図6(4)に示されるように、読み取ったコードシンボルに明示枠40a、40b、40c、40d、40eが付された画像46が得られる。
【0162】
3−3−2 明示枠を挿入された基準キャプチャ画像の表示
次に、図4中のS4−17において、自動認識手段16が、画像46を表示手段18の画面Bに表示する。
【0163】
さらに、図4中のS4−18において、自動認識手段16は、S4−16で読み出した「データ」を、表示手段18に表示する。なお、データは、あるシンボル群中の各コードシンボルが表すデータを合成することによって得られる。例えば、
シンボル群「01」中の「01」コードシンボルのデータが「1234」で、
シンボル群「01」中の「02」コードシンボルのデータが「5678」で、
シンボル群「01」中の「03」コードシンボルのデータが「9012」で、
シンボル群「01」中の「04」コードシンボルのデータが「3456」である場合は、合成後の「データ」は「12134567890123456」となる。この最終的な合成後のデータが表示されるのである。
【0164】
データを合成する手法は「分割」の手法と表裏一体であり実質的には同一の技術である。従来から知られている種々のデータ分割の手法を利用することがもちろん可能であり、その手法に応じて合成も行われる。例えば、エラー訂正技術が用いられてデータ分割されている場合には、分割コードシンボルが全て読み取れなくても、データを再現・合成することができる場合がある。
【0165】
また、データを表示する際に、そのデータは、基準キャプチャ画像36中の各明示枠と関連付けて表示することが好ましい。これによって、どのコードシンボルがどのデータとなったのかを操作者は容易に知ることができる。
【0166】
なお、同一のコードシンボルに対して複数個の情報が存在する場合がある。すなわち、一個の(分割)コードシンボルに対して、記憶手段34中に複数の行が作成される場合が生じる。
【0167】
これは、当然、読みやすいデコードしやすい分割コードシンボルであれば、キャプチャ毎にデコードされ、そのたびに、記憶手段34中に行が作成されていくことから見ても一般的に生じる事項である。これらが同じコードシンボルから生成された情報であることは、(1)デコードされたデータが同一である、(2)(補正後の)明示枠の位置が同一・ほとんど同じである、等から比較的容易に判明する。
【0168】
この場合は、それら複数の行の情報から、例えば、位置補正係数が最も小さい情報を選択する等の絞り込みを行っても良い。また、複数の行の情報に基づき、それぞれ明示枠を全て表示することも問題はあまりない。それら全ての明示枠は多くの場合、ほとんど同じ位置・向き・大きさとなるであろうから、全ての明示枠を表示してしまっても、視認性が悪くなるわけでもなく、特段の問題は生じないであろう。
【0169】
第4 読み取り動作を終了するタイミングについて
読み取り動作を終了するタイミング、すなわち、画像キャプチャを終了するタイミングの決定には、種々の手法がある。
【0170】
本実施の形態では、これまで説明してきたように、画像のキャプチャに始まり、明示枠が付された画像データの表示に至る一連の処理を繰り返し実行している。
【0171】
この繰り返し処理は所定の条件が成立した場合に終了するが、その終了タイミングは、以下のようなタイミングが好ましい。このような条件が成立した場合には、画像データの表示処理が終了した後、新たな画像データのキャプチャは行われずに、上述した「3−3 キャプチャ動作終了後の結果の表示」の処理に進む。以下、繰り返し処理を終了する条件(タイミング)を種々説明する。
【0172】
4−1 手動による指示
第1に考えられるのは、操作者が指示することである。すなわち、画面A、画面Bを見ながら、所望のコードシンボルが全て読み取られたと判断した場合には、利用者が所定のボタンを押下する、又は画面の所定部位をクリックする等の何らかの操作によって、終了を指示できる用に構成することが好ましい。
【0173】
典型的には、「キャンセル」等の名称のボタンを画面上に設けて、このボタンをクリックする等の操作が、一般的な「中断」「中止」の操作として知られているので、本実施の形態でもこのような操作で、読み取りの中止を利用者が指示できる用に構成することが好ましい。
【0174】
4−2 予め定めた時間の経過
まず、読み取り動作の開始時を基準にして、終了するまでの時間を区切るという方法がある。具体的には、例えば、読み取り動作の開始時から1分間だけ読み取り動作を行い、1分経過したときに、読み取り動作を終了するのである。
【0175】
4−3 所望の群を全て読み取った時点
また、上で述べたシンボル群識別番号を用いて、読み取り動作を終了することもできる。例えば、図2中の2つのシンボル群を読み取る場合に、最初の2桁が「01」及び「02」であるデータを全て読み取ったときに読み取り動作を終了するのである。これによって「01」群と「02」群の双方の群のデータを確実に読み取ることができる。
【0176】
また、上で述べたシンボル内番号を用いて、読み取り動作を終了することもできる。例えば、「01」群内のシンボル内番号が「01」「02」「03」「04」であるデータを全て読み取ったときに読み取り動作を終了するのである。これによって、「01」群内の全てのデータを確実に読み取ることができ、データを確実に得ることができる。
【0177】
4−4 データのデコードが成功した時点
また、このシンボル内番号と誤り訂正機能とを組み合わせて、読み取り動作を終了することもできる。例えば、「01」群の中のシンボル内番号が「01」「03」「04」であるデータのみを読み取れた場合には、その読み取れたデータから誤り訂正計算によってシンボル内番号が「02」であるデータを復元したときに読み取り動作を終了するのである。すなわち、「01」群の中の3個のコードシンボルを読み取れ、残りの1個のコードシンボルを読み取れなくてもデータを復元できるので、効率的な読み取り動作を実現できる。
【0178】
4−5 終了コードを表すコードシンボルが読み取れた時点
また、所定の終了コードを定めておくことも好ましい。あるコードシンボルを読み取り、そのデータが終了コードである場合には、繰り返し処理は終了し、新たなキャプチャを行わないのである。これは、データによって終了するタイミングを変えたい場合等、自動認識コード側から、終了をコントロールしたい場合に好適な手法である。
【0179】
第5 表示画面の表示例
図7には、コードシンボルの読み取りを行う際の各動作ステップにおける表示画面が示されている。以下に述べるのは、上述した画面A、画面Bの表示の様子である。それぞれ、時系列で画面の様子を示している。画面Aは、時間の経過と共に画面A1、A2、A3、A4、A5と変化していき、画面Bは、時間の経過と共に、画面B1、B2、B3、B4、B5と変化していく。
【0180】
まず、図7(1)に示される画面A1及びB1は、デコード処理の開始時の画面である。これら画面A1及びB1は、上で述べたS4−1からS4−6までの動作を行う間に表示される画面である。図7(1)に示されるように、デコード処理の開始時には、画面A1及びB1のいずれにも、1回目のキャプチャ画像(基準キャプチャ画像)が表示される。
【0181】
次に、図7(2)に示される画面A2及びB2は、上で述べたS4−7からS4−8までの動作を行う間に表示される画面である。本実施の形態においては、撮影者がキャプチャ手段を手で持ってコードシンボルをキャプチャしているので、画面A2は、移動、回転、拡大(縮小)も起きている。これが画面A2に表れている。
【0182】
また、図7(2)に示されるように、画面A2中のコードシンボル38a、38cには、データが読み取れたことを示す明示枠40a、40cが付される。これは、画面A2中、デコードが成功したのがコードシンボル38a、38cであることを意味している。
【0183】
一方、画面B2は、基準キャプチャ画像(画面B1の画像)をそのまま示したものなので、画面B1とB2との間では、画像の移動、回転、拡大(縮小)などの変化はない。
【0184】
次に、図7(3)に示される画面A3及びB3は、2回目のキャプチャ動作において、上で述べたS4−14で表示される画面である。図7(3)に示されるように、画面A3中のコードシンボル38b、38eには、データが読み取れたことを示す明示枠40b、40eが付されている。一般に、キャプチャ動作時の光照明等の影響によって、キャプチャ毎に読み取れるコードシンボルが異なる場合がある。
【0185】
一方、画面B3は、基準キャプチャ画像(画面B1の画像)そのままであり、変化はない。
【0186】
同様に、図7(4)には、3回目のキャプチャ動作において、上で述べたS4−14で表示される画面A4及びB4が示されている。この図7中の画面A4においては、コードシンボル38a、38d、38eに、データが読み取れたことを示す明示枠40a、40d、40eが付されている。一方、画面B4は、B1〜B3と同様である。
【0187】
図7(5)には、上で述べたS4−17で表示される画面A5及びB5が示されている。この図7(5)中の画面B5に示されるように、自動認識手段16は、上で述べたS4−17において、画面B5(基準キャプチャ画像)上に、1回目からm回目までのキャプチャ動作で読み取れたコードシンボル38a〜38e全てに明示枠を付して表示される。これをスタック表示と呼ぶ。
【0188】
一方、自動認識手段16は、画面A5には、キャプチャした画像に、読み取れたことを示す明示枠40b、40dを挿入して表示する。
【0189】
このように、画面A1は、時間の経過と共に、画面A2、A3、A4、A5に連続的に変わっていく。
【0190】
上でも述べたように、本実施の形態では、撮影者がキャプチャ手段を手で持って各コードシンボルをキャプチャしたので、コードシンボルが移動、回転、拡大(縮小)していることを表すために画面A2、A3、A4、A5を示した。一方、各画面B2、B3、B4、B5は、「基準キャプチャ画像」(画面B1)をそのまま示したものである。したがって、各画面B1、B2、B3、B4、B5において、画像の移動、回転、拡大(縮小)などの変化は起きない。
【0191】
各画面A1、A2、A3、A4、A5中には、読み取れたコードシンボルに明示枠が示されている。上でも述べたように、キャプチャするときの照明その他の状況によっては、コードシンボルをデコード処理できない場合がある。このようにデコード処理できなかった場合には、そのデコード処理できなかったコードシンボルには明示枠が付されない。
【0192】
図8には、上で述べたS4−18の動作時に表示手段18に表示される読み取り結果多重表示画面48が示されている。この読み取り結果多重表示画面48の上側の画面50は、画面A5の一例に相当する。また、下側の画面52は、画面B5の一例に相当する。この図8中の画面52に示されるように、データを読み取れたコードシンボルに対しては明示枠が付される。
【0193】
また、この図8中の欄54には、読み取り対象のコードシンボルから読み取った4個のデータが示されている。この図8中の欄54には、読み取り対象の1個のシンボル群を構成する4個のコードシンボルから、「255」「3727」「8888888」「9999999」からなる数値を読み取ったことが示されている。この結果、読み取り対象の1個のシンボル群から、「255372788888889999999」からなるデータを読み取ることができる。なお、この読み取ったデータは、例えば、読み取り結果多重表示画面48の外に表示しても良い。
【0194】
関連付け
なお、4個のコードシンボルから読み出した、「255」「3727」「8888888」「9999999」は、対応するコードシンボルの明示枠と関連付けて表示することが好ましい。図8では、画面A、画面Bの外部に表示されているが、そのような場合でも、明示枠とデータ表示とを曲線で結ぶ等することによって、「関連付け」て表示を行うことが可能である。より簡単には、単にデータ表示をそれぞれの明示枠の近傍に表示することも好適である。
【0195】
第6 画面A群と画面B群との関係とその変形例・応用例について
次に、画面A群と、画面B群に表示された「基準キャプチャ画像」との関係について説明する。
【0196】
本実施例において、自動認識手段16は、各画面A1、A2、A3、A4、A5中の画像の移動を検出し、画面A1を基準として、各画面A2、A3、A4、A5の平行移動、回転、拡大縮小の大きさを常に把握している。
【0197】
この結果、自動認識手段16は、画面A1、A2、A3、A4、A5中の明示枠の座標位置に基づいて、画面B群(基準キャプチャ画像)中の明示枠の座標位置を算出することができる。
【0198】
6−1 変形例1
なお、本実施の形態では、全キャプチャが終了してから、デコードできたコードシンボルの明示枠を画面B上に一括して表示しているが(図7(5)のB5画面)、デコードできたコードシンボルの明示枠を逐次、基準キャプチャ画像上に挿入していく構成とすることも好適である。用途によっては、逐次明示枠が増えていく様子が示された方が便利な場合もある。
【0199】
このような構成を採用する場合は、自動認識手段16が、画面A群中の明示枠を位置補正係数に基づいて逐次補正して、画面B群中に挿入していくことになる。そして、明示枠が挿入された画面Bを作成し、その明示枠を含む画面Bを表示手段18に送ることになる。この場合は、基準キャプチャ画像記憶手段32内に記憶している基準キャプチャ画像は順次明示枠が挿入された画像に書き換えていくことが好適である。
【0200】
なお、「基準キャプチャ画像」に対するデコード画像(逐次キャプチャした画像、画像2,画像3・・・)の位置関係の検知と、その位置関係を数値化する手法については、例えばUS7006706に記載されているように実現可能な技術が既に開発されており、この技術を本実施例に適用することも可能である。
【0201】
6−2 変形例2
また、キャプチャ手段が固定されている場合や、画角に対してキャプチャ手段の移動量が無視できるほど小さい場合には、上述した画像の移動検知による補正を行わずに、画面A群中に表示される明示枠を、補正せずにそのまま画面B群(基準キャプチャ画像)に重ねて表示することも可能である。
【0202】
6−3 変形例3
本実施例では、「基準キャプチャ画像」を2つの画面A、Bのうち一方の画面Bに常に表示する場合を説明したが、「基準キャプチャ画像」は必ずしも常に表示する必要はなく、読み取り動作中は基準キャプチャ画像を表示せずに、読み取り動作終了後に、基準キャプチャ画像と明示枠と読み取ったデータとを表示することも好ましい。
【0203】
6−4 変形例4
また、画面B側に常に「基準キャプチャ画像」を表示し、画面A側に、データの読み取りを完了したコードシンボルに順次明示枠を付して表示することも好ましい。これは上記変形例1の応用例と見ることができる。
【0204】
つまり、上記変形例1は、明示枠が順次画像B側で増えていくが、この変形例4では、画面A側で増えていくことになる。この場合、操作者は、キャプチャしながら、特に明示枠が付されなかったコードシンボルを読み取るように対応できるので、読み取り効率が飛躍的に向上する。
【0205】
但し、この構成を採用する場合は、画像A2上の明示枠を画像A3上の明示枠に補正する必要がある。したがって、画像Ak上に明示枠を表示するために、その直前の画像Ak−1から、画像Akへの変換係数を求める必要がある。ここで、kは正の整数である。
【0206】
変換係数を求める対象が異なるだけで、上述した実施の形態と同様に実施することが可能である。
【0207】
6−5 変形例5
また、本実施例では使用する光学式自動認識コードとして「色彩配列による自動認識コード」を例にとって説明したが、いわゆる古典的なバーコードや、その他の光学的自動認識コードを利用してももちろん好適である。例えば、QRコード(登録商標)を利用して、本実施の形態と同様に、複数のコードシンボルを読み取る装置を構成することが好適である。
【0208】
このような方法・装置によれば、逐次デコードが進んでいく様子が利用者に表示できるので、使いやすいコード読み取り方法、コード読み取り装置を実現することが可能である。
【図面の簡単な説明】
【0209】
【図1】コードシンボル読み取り結果多重表示装置の構成を示す図である。
【図2】2つのデータを表す2つのシンボル群を示す図である。
【図3】2つのシンボル群が表すデータを示した表である。
【図4】コードシンボル読み取り結果多重表示装置の動作を説明するフローチャートである。
【図5】自動認識手段の構成を示す図である。
【図6】情報の読み出し動作を説明する図である。
【図7】コードシンボルの読み取り例を示す図である。
【図8】読み取り結果多重表示画面を示す図である。
【符号の説明】
【0210】
1、2 画像
10 コードシンボル読み取り結果多重表示装置
12 キャプチャ手段
14 物品
16 自動認識手段
18 表示手段
20 コードシンボル
22a〜22d、24a〜24d コードシンボル
26 CPU
28 キャプチャ手段インターフェース
30 表示手段インターフェース
32 基準キャプチャ画像記憶手段
34 記憶手段
36 基準キャプチャ画像
38a〜38f コードシンボル
40a〜40e 明示枠
42、44、46 画像
48 読み取り結果多重表示画面
50、52 画面
54 欄
A、B 画面
A1、A2、A3、A4、A5 画面
B1、B2、B3、B4、B5 画面

【特許請求の範囲】
【請求項1】
光学的自動認識コードを読み込む方法において、
前記光学的自動認識コードの1個以上のコードシンボルを含む画像データをキャプチャするキャプチャステップと、
前記キャプチャした画像データから、前記コードシンボルが占める領域を切り出すステップと、
前記切り出した領域のコードシンボルをデコード処理し、得られたデータを所定の記憶手段に記憶するデータ記憶ステップと、
前記デコードが成功したコードシンボルの前記領域を示す明示枠の位置を算出し、所定の記憶手段に記憶する位置記憶ステップと、
前記明示枠を、前記キャプチャした画像データの前記求めた位置に、重畳して挿入する第1挿入ステップと、
前記キャプチャした画像データと、最初にキャプチャした画像データである基準キャプチャ画像と比較し、両者の位置関係を算出し、前記記憶手段に格納するステップと、
前記明示枠が挿入された画像データを利用者に表示する第1表示ステップと、
前記キャプチャステップから、前記表示ステップまでを1回以上繰り返す繰り返しステップと、
前記繰り返しステップにおける繰り返し処理の後、前記記憶手段から前記明示枠の位置を取り出し、この位置を、前記位置関係に基づき補正し、前記基準キャプチャ画像上の位置に変換する位置変換ステップと、
前記明示枠を、前記基準キャプチャ画像の前記変換後の位置に挿入する第2挿入ステップと、
前記第2挿入ステップにおいて、デコードが成功したコードシンボルの前記明示枠が挿入された前記基準キャプチャ画像を表示する第2表示ステップと、
を含み、前記繰り返し処理が終了した後で、前記基準キャプチャ画像に、それまでにデコードが成功したコードシンボルの明示枠が挿入されることを特徴とする光学的自動認識コード読み取り方法。
【請求項2】
光学的自動認識コードを読み込む方法において、
前記光学的自動認識コードの1個以上のコードシンボルを含む画像データをキャプチャするキャプチャステップと、
前記キャプチャした画像データから、前記コードシンボルが占める領域を切り出すステップと、
前記切り出した領域のコードシンボルをデコード処理し、得られたデータを所定の記憶手段に記憶するデータ記憶ステップと、
前記デコードが成功したコードシンボルの前記領域を示す明示枠の位置を算出し、所定の記憶手段に記憶する位置記憶ステップと、
前記明示枠を、前記キャプチャした画像データの前記求めた位置に、重畳して挿入する第1挿入ステップと、
前記明示枠が挿入された画像データを利用者に表示する第1表示ステップと、
前記キャプチャした画像データと、最初にキャプチャした画像データである基準キャプチャ画像と比較し、両者の位置関係を算出し、前記記憶手段に格納するステップと、
前記記憶手段から前記明示枠の位置を取り出し、この位置を、前記位置関係に基づき補正し、前記基準キャプチャ画像上の位置に変換する位置変換ステップと、
前記明示枠を、前記基準キャプチャ画像の前記変換後の位置に挿入する第2挿入ステップと、
前記第2挿入ステップにおいて、デコードが成功したコードシンボルの前記明示枠が挿入された前記基準キャプチャ画像を表示する第2表示ステップと、
前記キャプチャステップから、前記表示ステップまでを1回以上繰り返す繰り返しステップと、
を含み、前記基準キャプチャ画像には、前記キャプチャステップにおけるキャプチャが行われる度に、デコードが成功したコードシンボルの明示枠が追加されることを特徴とする光学的自動認識コード読み取り方法。
【請求項3】
請求項1記載の光学的自動認識コード読み取り方法において、
前記基準キャプチャ画像は、前記繰り返しステップにおける繰り返し処理が開始されたときから、表示が開始されることを特徴とする光学的自動認識コード読み取り方法。
【請求項4】
請求項1記載の光学的自動認識コード読み取り方法において、
前記基準キャプチャ画像は、前記繰り返しステップにおける繰り返し処理が終了した後で、初めて表示されることを特徴とする光学的自動認識コード読み取り方法。
【請求項5】
請求項1又は請求項2に記載の光学的自動認識コード読み取り方法において、
前記光学式自動認識コードは、色彩セルを配置して、その色彩セルの色彩の並び、色彩の遷移、色彩の組み合わせ、のいずれかによってデータを表す「色彩配列による自動認識コード」であることを特徴とする光学的自動認識コード読み取り方法。
【請求項6】
請求項1〜請求項5のうち、いずれか1項に記載の光学的自動認識コード読み取り方法において、
前記明示枠の「位置」には、前記明示枠の座標、明示枠の大きさ、明示枠の向き、明示枠の縦と横の長さ、のいずれか1個以上のパラメータが含まれることを特徴とする光学的自動認識コード読み取り方法。
【請求項7】
請求項1〜請求項6のうち、いずれか1項に記載の光学的自動認識コード読み取り方法において、
前記画像間の「位置関係」には、平行移動量、回転方向と回転量、スケーリング(拡大・縮小)のうち、いずれか1個以上のパラメータが含まれていることを特徴とする光学的自動認識コード読み取り方法。
【請求項8】
請求項1又は請求項2に記載の光学的自動認識コード読み取り方法において、
前記第2表示ステップは、さらに、
デコードが成功したコードシンボルの前記データを前記記憶手段から読み出し、対応する前記コードシンボルの前記明示枠と関連付けて表示することを特徴とする光学的自動認識コード読み取り方法。
【請求項9】
請求項8記載の光学的自動認識コード読み取り方法において、
前記関連付けは、前記データを、このデータの対応する前記明示枠の近傍に表示することによって行われることを特徴とする光学的自動認識コード読み取り方法。
【請求項10】
請求項8記載の光学的自動認識コード読み取り方法において、
前記関連付けは、前記データと、このデータの対応する前記明示枠とを曲線で結んで表示することによって行われることを特徴とする光学的自動認識コード読み取り方法。
【請求項11】
請求項1、3、4、5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記位置変換ステップにおいて、同一のコードシンボルに対応する前記明示枠が前記記憶手段に複数個格納されている場合は、その中の1個の明示枠に対してのみ位置を変換し、
前記第2挿入ステップにおいては、前記変換した1個の明示枠を前記基準キャプチャ画像に挿入することを特徴とする光学的自動認識コード読み取り方法。
【請求項12】
請求項1〜5のいずれか1項に記載の光学式自動認識コード読み取り方法において、
前記第1表示ステップにおいて、前記画像データを第1画面に表示し、
前記第2表示ステップにおいては、前記基準キャプチャ画像を大画面とは異なる第2画面に表示し、
前記第1画面と、前記第2画面とが、並列して表示が行われることを特徴とする光学式自動認識コード読み取り方法。
【請求項13】
請求項1〜5のいずれか1項に記載の光学式自動認識コード読み取り方法において、
前記キャプチャステップにおいては、キャプチャが行われた後、そのキャプチャした画像データを利用者に表示し、
前記第1表示ステップにおいては、前記キャプチャステップにおいて表示された前記画像データに代えて、前記明示枠が挿入された画像データを利用者に表示することを特徴とする光学式自動認識コード読み取り方法。
【請求項14】
請求項1〜5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記繰り返しステップは、予め定められた時間が経過するまで、前記繰り返し処理を繰り返し実行することを特徴とする光学的自動認識コード読み取り方法。
【請求項15】
請求項1〜5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記繰り返しステップは、前記それまでにデコードできたコードシンボルの個数が、予め定められた数に到達するまで、前記繰り返し処理を繰り返し実行することを特徴とする光学的自動認識コード読み取り方法。
【請求項16】
請求項1〜5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記繰り返しステップは、読み取り対象であるコードシンボルのデコードが全て終了した場合に、前記繰り返し処理を終了することを特徴とする光学的自動認識コード読み取り方法。
【請求項17】
請求項1〜5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記それまでにデコードできた個数のコードシンボルに基づき、読み取り対象である全てのコードシンボルをデコードできた場合と同様のデータが得られた場合には、前記繰り返し処理を終了数ことを特徴とする光学的自動認識コード読み取り方法。
【請求項18】
請求項16記載の光学式自動認識コード読み取り方法において、
前記それまでにデコードできた個数のコードシンボルに基づき、読み取り対象である全てのコードシンボルをデコードできた場合と同様のデータが得られた場合には、
前記それまでにデコードできた個数のコードシンボルに基づき、エラー訂正を実行し、まだデコードしていないコードシンボルのデータを補い、読み取り対象である全てのコードシンボルをデコードした場合と同様のデータが再現できた場合が含まれることを特徴とする光学式自動認識コード読み取り方法。
【請求項19】
請求項1〜5のいずれか1項に記載の光学的自動認識コード読み取り方法において、
前記繰り返しステップは、予め定められた終了コードを表すコードシンボルが読み取れた場合に、前記繰り返し処理を終了することを特徴とする光学的自動認識コード読み取り方法。
【請求項20】
請求項1〜19のいずれか1項に記載の光学的自動認識コード読み取り方法を実行する光学的自動認識コード読み取り装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate