JP5970546B2 - 読取装置、読取結果出力方法及びプログラム - Google Patents
読取装置、読取結果出力方法及びプログラム Download PDFInfo
- Publication number
- JP5970546B2 JP5970546B2 JP2014518167A JP2014518167A JP5970546B2 JP 5970546 B2 JP5970546 B2 JP 5970546B2 JP 2014518167 A JP2014518167 A JP 2014518167A JP 2014518167 A JP2014518167 A JP 2014518167A JP 5970546 B2 JP5970546 B2 JP 5970546B2
- Authority
- JP
- Japan
- Prior art keywords
- reading
- output
- result
- format
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 176
- 239000000284 extract Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 83
- 238000000605 extraction Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 7
- 239000000758 substrate Substances 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001678 irradiating effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
- Controls And Circuits For Display Device (AREA)
Description
このような技術に関連する文献としては、例えば以下の特許文献1が挙げられる。
従って、図38に符号Y及び符号Zで示すように、読取領域に読み取り対象のコード記号の一部しか収められなかった場合、読取結果の出力を得ることはできなかった。
このような問題は、読み取るべき情報がコード記号以外のものである場合にも、同様に発生するものである。
さらに、上記入力情報を、上記読取領域内の任意の数のコード記号のデコード結果とし、上記入力設定手段が設定した入力書式に基づき、ひとつのコード記号のデコード結果から1以上の項目の情報を取り出してそれぞれに識別情報を付すための第1のアルゴリズムを生成する第1アルゴリズム生成手段を設け、上記登録手段が、上記入力情報に含まれる各コード記号のデコード結果に対してそれぞれ、共通の上記第1のアルゴリズムを適用することにより、上記入力情報から上記1以上の項目の情報を取り出すようにするとよい。
さらに、上記出力設定手段が設定した出力書式に基づき、上記出力項目特定手段が特定する項目の読取結果から、その出力書式に従った書式の情報を生成するための第2のアルゴリズムを生成する第2アルゴリズム生成手段を設け、上記第1の出力手段が、その第2のアルゴリズムに従って、上記所定の出力先装置へ出力する情報を生成するようにするとよい。
さらに、上記読取手段が読み取った入力情報が、上記入力設定手段が設定した入力書式のいずれにも当てはまらない場合に、その入力情報を上記所定の出力先装置へ出力する第2の出力手段を設けるとよい。
さらに、上記出力設定手段に、上記出力書式を、外部から入力された情報に基づき設定する手段を設けるとよい。
また、この発明は、装置として実現する他、システム、方法、プログラム、媒体等、任意の形式で実現することができる。
まず図1に、この発明の読取装置の一実施形態の概略ハードウェア構成を示す。
この読取装置100は、読み取り対象物上に設けられた、光反射率が周囲と異なるモジュールが配列されたコード記号を読み取る装置であり、光学ヘッド部110、デコーダ部120、パネル基板131、インジケータ132、ブザー133を有する。これらに加え、ユーザの操作を受け付けるためのボタン等の操作部も有するが、その図示は省略する。なお、コード記号の形式は任意であり、1次元のバーコードや、2次元バーコード、QRコード(登録商標、以下同様)等、デコーダ部120の設定に応じて任意の形式のコードを読み取り可能である。
レンズ111は例えば光学レンズであり、読取対象物の画像を光学ヘッド部110に取り入れ、CMOS112の撮像エリア上に結像させるためのものである。
投光LED113は、照射する光により読取対象物を照明して、CMOS112により鮮明な画像を撮像できるようにするための照明手段である。ただし、装置の構造によってはLED113は設けなくてもよい。
読取領域の広さは、読取装置100から読取対象物までの距離や、相対的な向きなどにより変化する。
このうち第1I/O121は、光学ヘッド部110とデコーダ部120との間で、制御信号やCMOS112が出力する画像データなどを送受信するためのインタフェースである。
第2I/O125は、不図示のホストコンピュータ等の外部装置とデータ通信を行うためのインタフェースであり、制御回路122によるデコード及び加工後の読取結果を第2I/O125を介して外部装置に出力することができる。また、制御回路122からの制御信号をパネル基板131へ送信するためのインタフェースも備える。
インジケータ132は、制御回路122による制御に基づきLEDランプ等により読取装置100の動作状態を視覚的にユーザに通知するための表示手段である。
ブザー133は、制御回路122による制御に基づき音により読取装置100の動作状態をユーザに通知するための音声出力手段である。
図3は、制御回路122のCPUが実行する読取結果の出力のための処理のフローチャートである。この処理は、主として複数項目の読取結果を一括して出力する一括出力のために実行するものである。
制御回路122のCPUは、外部装置からの信号あるいはユーザの操作等により、コード記号の読み取り開始を指示されると、図3のフローチャートに示す処理を開始する。
この部分の処理ではまず、デコード結果が設定されている入力書式のいずれかを満たすか否か判断する(S14)。入力書式は例えば図6に示すようなものであり、複数項目の読取結果を一括出力するために設定するものであるが、この点については後述する。
このようにしても、別々に処理を行う場合と同様な結果を得ることができる。
また、ステップS24でNoの場合には、一括出力に関する処理を続けるため、ステップS11に戻って処理を繰り返す。
なお、ステップS17の判断において、既に読取結果の登録されている項目にそれまでと異なる値を登録した場合にもYesと判断するようにするとよい。
この部分の処理において、制御回路122のCPUはまず、設定されている出力書式が示す必須項目のデータが全て読取結果テーブルに登録されているか否か判断する(S19)。出力書式は例えば図12に示すようなものであり、複数項目の読取結果を一括出力するために設定するものであるが、この点については後述する。
以上で複数項目の読取結果の一括出力に関する一連の処理は完了である。そこで、次の出力に関する処理を行うべく、読取結果テーブルに登録されている読取結果をクリアして(S22)、ステップS11へ戻り処理を繰り返す。
ステップS23の後は、ステップS12に戻って処理を繰り返す。この場合、同じ処理対象画像中で未デコードのコード記号があれば、それをデコードすることになる。また、もしこのようなコード記号がない場合、ステップS13でNoとなり、ステップS11に戻って、次のフレームの画像を取得して処理対象とし、処理を繰り返す。
まず、図4に、読取結果テーブルの例を示す。
図4に示す読取結果テーブルは、読取結果の項目を特定するための3種のIDと、そのIDが示す項目の読取結果とを登録するためのテーブルであり、RAM123に設ける。このテーブルのデータ形式は、読取装置100のファームウェアにより定めておき、入力処理Sinや出力処理Soutのアルゴリズムによらず、一定の形式のものを用いる。
また、設定の不備等により、読取結果テーブルのサイズが過大となることも防止できる。読取装置100においてメモリ容量の制約が大きい場合、登録可能な読取結果の個数や、格納可能な読取結果の最大容量を、予め定めておくようにしてもよい。
これらのうち入力書式IDは、ステップS14でデコード結果が満たした入力書式のIDである。
読取結果の欄には、入力書式に従ってデコード結果から取り出された文字列を、そのまま、あるいは入力書式により加工が指示されている場合にはその加工を行って登録する。
次に、読取結果の登録及び出力の第1の例について説明する。
この第1の例は、図5に示すような、4つのバーコード記号で表される情報を出力する例である。なお、コード記号の下に示した文字列は、そのコード記号をデコードして得られる文字列を示す。他の図についても同様である。
読取装置100においては、図6に示す通り、入力書式は、一般的な正規表現に一部機能を追加した書式を用いて記述するようにしている。また、複数の入力書式を登録可能である。また、図6の例では、図5に示した4つのバーコード記号それぞれと対応する入力書式を用意している。入力書式IDは、そのそれぞれの入力書式を区別するためのIDであり、図4に示した読取結果テーブルにおいて読取結果の項目を特定するためのIDとしても用いる。
ただし、説明を簡単にするため、読取装置100においては、このように「/」で区切られた入力書式が設定された場合、その区切られた1つ1つの入力書式に対してそれぞれ入力書式IDを付し、個別に照合を行うようにしている。
なお、この設定は、外部装置からのデータ送信によって行うことができるようにしてもよい。
図3に示した処理のうち入力処理Sinにおいて、制御回路122のCPUは、設定されている全ての入力書式について、デコード結果と入力書式との照合処理を行う。図6のような入力書式が設定されている場合、ID=0からID=3の入力書式について、順次照合処理を行うことになる。
この処理のアルゴリズムは、入力書式が設定されたとき、あるいは入力書式に基づいて図3の処理を実行するときなど、適当なタイミングで、制御回路122のCPUが所定のファームウェアを実行することにより入力書式の文字列を解釈して、自動的に生成するものである。以降の例の照合処理についても同様である。また、図8の処理は、照合と並行して、デコード結果からの読取結果の取り出しと、読取結果テーブルへの登録を行う処理である。
ここでYesであれば、変数iの値を1に設定する(S32)と共に、デコード結果のi文字目(ここでは1文字目)が半角数字の「4」であるか否か判断する(S33)。これがYesであれば、ここまではデコード結果が入力書式を満たしていると判断し、i文字目(ここでは1文字目)を、IDが[0,0,0]の項目の読取結果として読取結果テーブルに記録する(S34)。ここで用いる項目のIDについて、入力書式ID=0は、照合に用いた入力書式のIDに従って定めたものであり、括弧ID=0と取出ID=0については、図6の説明で述べた通りである。
これがYesであれば、デコード結果はID=0の入力書式を満たすことがわかるので、ここまでに読取結果テーブルの各項目(ここでは[0,0,0]のみ)に記録した文字を、読取結果として確定させ(S41)、ID=0の入力書式に関する照合処理を終了する。
図9の処理において、制御回路122のCPUはまず、デコード結果がCode128の書式を満たしているか否か判断する(S51)。
ここでYesであれば、変数iの値を1に設定する(S52)と共に、iの値をインクリメントしつつ(S55)、デコード結果のi文字目が半角数字である場合にはその文字をIDが[1,0,0]の項目の読取結果として読取結果テーブルに記録する処理(S53,S54)を、iが1から6まで繰り返す。すなわち、デコード結果の先頭6文字が半角数字であることを確認する(S56)。項目のIDについては、入力書式IDが1である点以外は、図8の場合と同様である。
次に、ステップS53乃至S56の場合と同様、i=7及び8について、デコード結果のi文字目が半角数字である場合にはその文字をIDが[1,0,0]の項目の読取結果として読取結果テーブルに記録する処理を行う(S58〜S61)。すなわち、デコード結果の7文字目及び8文字目が半角数字であることを確認する。
その後、16文字目がデータ終端であることが確認できると(S71:この時点でi=16)、デコード結果はID=1の入力書式を満たすことがわかるので、ここまでに読取結果テーブルの各項目(ここでは[1,0,0]のみ)に記録した文字を、読取結果として確定させ(S72)、ID=1の入力書式に関する照合処理を終了する。
いずれにせよ、制御回路122のCPUは、図6に示した入力書式が設定されている場合、図3のステップS14乃至S16の処理として、ステップS12で得られたデコード結果の文字列に対し、ID=0〜3の入力書式に関する照合処理を順次行う。そして、その結果、デコード結果が満たす入力書式に基づいて取り出した情報を、入力書式に基づいて特定したIDを持つ項目の読取結果として、読取結果テーブルに登録することができる。
従って、読み取るべきコード記号を一度に全て読取領域に収めることができない場合でも、複数の読取領域における読取結果を合わせて、出力に必要な読取結果を揃えることができる。
読取装置100においては、出力書式には、出力データに含める固定の文字列、出力データに含める読取結果の項目の指定、及び特殊記号を記載することができる。
図12に示した例において、[]で囲まれた3つ組のIDが、出力データに含める読取結果の項目の指定である。該当の箇所に、3つ組のIDで示される項目の読取結果として読取結果テーブルに登録されている文字列を配置することを示す。例えば、読取結果テーブルが図11に示す状態の場合、出力書式に[0,0,0]と記載された位置には、「4123456789018」の文字列を配置することになる。
出力に含まれる可能性はあるが必須ではない項目もあり得るが、この点については第3及び第4の例で説明する。
また、図12に示した例において、「\x0D」は、改行コードを示す特殊記号である。
すなわち、読取装置100は、所定の出力設定モードが選択された状態で、図12に示したような出力書式の文字列をコード化したコード記号を読み取った場合、その文字列に従って出力書式を設定する機能を備えている。
ここでは示していないが、入力書式の場合と同様、「/」で区切られた出力書式の設定が指示された場合には、各々の出力書式に対して自動で出力書式IDを付し、図6と同様な形式でそれらを登録する。ただし、同時に使える出力書式は1つのみであり、複数の出力書式が設定された場合には、そのうち1つを、ユーザからの指示により使用する出力書式として選択する。
なお、この設定や使用する出力書式の選択は、外部装置からのデータ送信によって行うことができるようにしてもよい。
また、入力書式と出力書式を繋げた文字列を1つのコード記号としてコード化し、これを読取装置100に読み取らせて、入力書式と出力書式をまとめて設定させることができる。この場合、「/」で区切られた文字列のうち最初又は最後の1つを出力書式とするように予め規則を定めておいたり、各書式に、当該書式が入力書式であるか出力書式であるかを示す識別子を付したりして、これらを区別できるようにすることが考えられる。
図3に示した処理のうち出力処理Soutにおいて、制御回路122のCPUは、設定されている出力書式に基づいて、ステップS19及びS20の処理を行う。これらの処理のアルゴリズムは、出力書式が設定されたとき、あるいは出力書式に基づいて図3の処理を実行するときなど、適当なタイミングで、制御回路122のCPUが所定のファームウェアを実行することにより出力書式の文字列を解釈して、自動的に生成するものである。以降の例の場合についても同様である。
なお、以下に示す例は、ステップS19の処理とステップS20の処理とを別々に行う場合の例である。
図13の処理において、制御回路122のCPUは、出力書式に基づいて必須と認識する、IDが[0,0,0]、[1,0,0]、[2,0,0]、[3,0,0]の各項目について、当該項目の読取結果が読取結果テーブルに登録されているか否かをそれぞれ判断する(S81〜S84)。
図14に、図12に示した出力書式が設定されている場合の、ステップS20と対応する出力データ生成処理のフローチャートを示す。この処理は、出力データが空白の状態からスタートする。
また、読取結果テーブルが図11に示す状態の場合、以上により生成される出力データは、図15に示すものとなる。すなわち、出力を予定している項目のデータをコードするコード記号を一度に読取領域内に収められない場合でも、複数回に分けて必要なデータを読み取ることができれば、それらの読取結果を合わせて、予定している全ての項目の読取結果を含む出力データを生成することができる。
次に、読取結果の登録及び出力の第2の例について説明する。
この第2の例は、図16に示すような、1つの2次元バーコード記号で表される情報を出力する例である。また、1つの入力書式に従い、複数項目の読取結果の取り出しを行う例である。
この入力書式において、まず、丸括弧「()」は、図4で説明した、文字の取り出しを指示する括弧である。すなわち、括弧内の記載に該当する箇所の文字列を、括弧の出現順に応じた括弧IDを有する項目の読取結果として登録する旨の指定である。ただし、「(?:)」のように、括弧内の文字列の先頭に「?:」がある場合、文字列の取り出し及び登録は行わない。従って、図17に示す入力書式中で、実際に文字の取り出しを指示する括弧は、符号Aで示す部分のみである。
また、符号Aで示す括弧内の、「.」は、任意の1文字を、「*」は、直前の文字の0回以上の繰り返しを、「?」は、直前の文字の0又は1回の繰り返しを示す。さらに、符号Bで示す括弧内の、「,」は、特殊な意味はなく半角カンマという文字を、「|」は、その前後のいずれかが含まれていればよいということ(オア)を、「$」はデータ終端を示す。末尾の「+」は、直前の文字の1回以上の繰り返しを示す。
図18に、図17に示した入力書式と対応する照合処理の例を示す。
図18の処理において、制御回路122のCPUはまず、変数iの値を1に、変数jの値を0にそれぞれ設定する(S131)。iは処理中の文字の位置を示すポインタとして機能する。
以上の後、iの値をインクリメントして(S135)、ステップS132に戻り、処理を繰り返す。
図18の処理においては、デコード結果に含まれているカンマで区切られた文字列を、それぞれ異なる項目の読取結果として登録することができる。すなわち、1つの入力書式に従い、複数項目の情報を取り出して、その項目の読取結果として登録することができる。
また、図16に示したコード記号を読み取って図18に示した照合処理を行った場合、読取結果テーブルへの登録結果は、図19に示すようになる。図16に示したコード記号には、カンマで区切られた文字列が4つ含まれるため、そのそれぞれが、IDが[0,1,0-3]の項目の読取結果として登録される。また、デコード結果そのものが、IDが[0,0,0]の項目の読取結果として登録される。なお、[0,0,0]への登録は、<>による除外や""による挿入が指定されていればその影響は受ける。
この出力書式についても、記載形式は図12に示したものと同様である。そして、制御回路122のCPUは、この出力書式に基づき、図3のステップS19及びS20の処理と対応するアルゴリズムを生成する。
まず、ステップS19と対応する登録判定処理においては、[0,1,0]、[0,1,1]、[0,1,2]、[0,1,3]の各項目が必須項目であるとする。
ステップS20と対応する出力データ生成処理においては、「POST:」の文字列、[0,1,0]の項目の読取結果の文字列、改行コード、[0,1,1]の項目の読取結果の文字列、改行コード、「TEL:」の文字列、[0,1,2]の項目の読取結果の文字列、改行コード、「FAX:」の文字列、[0,1,3]の項目の読取結果の文字列、および改行コードを、この順で含む出力データを生成する。
読取結果テーブルが図19に示す状態の場合、以上により生成される出力データは、図21に示すものとなる。その出力方式は、第1の例の場合と同様である。
次に、読取結果の登録及び出力の第3の例について説明する。
この第3の例は、出力すべき情報を示すコード記号が図22A乃至図22Cに示すように場合によって異なる形式である場合の例である。また、読取結果の項目の特定に、括弧IDに代えてアプリケーション識別子(AI)を用いる例である。
そして、使用するフォーマットについて図23に示すようなアプリケーション識別子毎のデータの記載形式を示すテーブルを不揮発メモリ124に記憶させておけば、制御回路122のCPUは、コード記号をデコードして得た文字列にどのような情報がどのような記載形式で含まれているかを、当該テーブルと、文字列に含まれるアプリケーション識別子とに基づき把握することができる。
この第3の例においては、これらの入力書式も、上述のアプリケーション識別子を利用して記載している。具体的には、「\A」に続く半角数字2文字により、当該アプリケーション識別子で示されるデータがデコード結果に含まれるべきことを示している。例えば、「\A01」は、アプリケーション識別子が「01」のデータを示す。
「$」がデータ終端を示すことは、第1及び第2の例の場合と同様である。
なお、この例では括弧IDとしてアプリケーション識別子を用いているが、アプリケーション識別子については先頭に「AI」を付すようにすれば、同じ「括弧ID」の項目を、第1及び第2の例におけるような括弧IDとアプリケーション識別子とで共用することができる。アプリケーション識別子が「01」の場合には「AI01」と記載する等である。
ID=2の入力書式は、アプリケーション識別子が「17」、「30」、「10」のデータがそれぞれこの順で並ぶことを示す。
そして、ID=0の入力書式は、これらの全てのデータが1つのコード記号に記載されていることを想定した書式である。ただし、制御回路122においてデコード可能な形式であれば、コード記号の形式は問わない。図22Aに示すようなバーコードであっても、図22Cに示すような2次元コードであっても、デコード結果の文字列さえ得られれば、同じように入力書式と照合することができる。
この第3の例においても、制御回路122のCPUは、入力処理Sinにおいて、設定されている全ての入力書式について順次照合処理を行う。
従って、図22Aあるいは図22Cに示すコード記号を読み取った場合には、ID=0の入力書式を満たすと判断し、1度の読み取りで、必要な4つの項目の読取結果が揃うことになる。
そして、読取結果を1つのコード記号から得たか、2つのコード記号から得たかによらず、同じ出力を行うことができる。
なお、制御回路122のCPUは、図25に示すアルゴリズムを生成する際には、図23に示したテーブルも参照する。
そして、これがYesであれば、その「17」を、IDが[2,0,0]の項目の読取結果として読取結果テーブルに記録する(S152)。これは、アプリケーション識別子による取り出しと関係なく、デコード結果全体を登録するためのものである。
そして、処理がステップS165まで終わると、デコード結果がID=2の入力書式を満たすと判断し、ここまでの処理で読取結果テーブルの各項目に記録した文字を読取結果として確定させ(S166)、処理を終了する。
これらの登録結果について、各アプリケーション識別子と対応する読取結果は、適用した入力書式に応じて入力書式IDが異なるが、他のIDについては共通である。また、図27では、デコード結果全体の登録もコード記号毎に行われるが、この登録内容は出力データには含めないので、この点での差異に特に意味はない。
この出力書式についても、記載形式は基本的に図12に示したものと同様である。ただし、出力データに含める読取結果の指定について、3つ組のIDのうち、アプリケーション識別子(括弧ID)を、[]の外に出して、「\A」とこれに続く数字で示している。後ろの[]の中には、入力書式IDと取出IDを記載している。従って、例えば\A01[0,0]は、[0,AI01,0]の指定と同じ意味である。また、「\Dx」は、直前にアプリケーション識別子を用いて指定した項目のデータを出力する、という意味である。また、出力書式の記載に、図17の説明で上述したオアの記号も用いている。
図29の処理において、制御回路122のCPUは、まず\A01[0,0]又は\A01[1,0]の項目の読取結果が読取結果テーブルに登録されているか否か判断する(S171)。これらは、出力書式中の最初の括弧内にオアの記号を挟んで列挙された項目である。これらのいずれかが登録されていれば、最初の括弧内の出力データを生成することができるので、次に進む。
これがYesであれば、同様に、3番目及び4番目の括弧内の記載と対応させて、\A17[0,0]又は\A17[2,0]、及び\A30[0,0]又は\A30[2,0]の項目の読取結果が読取結果テーブルに登録されているか否か判断する(S173,S174)。
なお、必須項目について、図29の処理では、オアで結ばれた項目のいずれかについて読取結果が登録されていることが必須、と考える。あるいは、特定のアプリケーション識別子と対応する項目が必須、と考えることもできる。
図30の処理において、制御回路122のCPUはまず、出力書式の先頭にある「GTIN:」の文字列を、出力データに追加する(S201)。
その後も、出力書式に記載されている順に、「ロット番号:」の文字列(S206)を追加し、\A10[0,0]の項目の読取結果が登録されていればそれを、無ければ\A10[2,0]の項目の読み取り結果を追加する(S207〜S209)。さらに改行コードを追加する(S210)。
すなわち、読取結果を1つのコード記号から得たか、2つのコード記号から得たかによらず、同じ出力を行うことができる。
次に、読取結果の登録及び出力の第4の例について説明する。
この第4の例は、出力すべき情報を示すコード記号は第3の例の場合と同じであり、用いる入力書式が異なる例である。そこで、第3の例と共通する部分については、説明を省略するか簡単にする。
この入力書式で用いている記号の意味は、基本的にここまでの例で説明してきたものと同じであるが、「\Ax」は、任意のアプリケーション識別子と対応するデータを示す。従って、この入力書式は、デコード結果には任意のアプリケーション識別子と対応するデータが1以上並び、その各データの後ろには、<FNC1>が1つまであってもよい、ということを示している。
図33の処理において、制御回路122のCPUはまず、現在の処理位置を基準にアプリケーション識別子の文字数を判別し、その文字数分を変数AIへ代入する(S221)。アプリケーション識別子の文字数は、ここまでに例示している2文字とは限らないが、先頭から1文字ずつ読んで行けば、何文字のIDかを識別できるようになっている。その後、AIの値をIDが[0,0,0]の項目の読取結果として読取結果テーブルに記録する(S222)。これは、アプリケーション識別子による取り出しと関係なく、デコード結果全体を登録するものである。
なお、ステップS223では、AIの値がアプリケーション識別子として適当な値でない場合もNoとする。
また、図22Bのように2つのコード記号に分けて記載されている場合、まず上側のコード記号を読み取ると、図34に示した登録結果が得られる。その状態でさらに下側のコード記号を読み取ると、図35に示した登録結果が得られる。この状態では、[0,0,0]の項目の登録内容は、2度目に読み取った下側のコード記号の情報が、図34で登録されていた情報に上書きされている。また、下側のコード記号に記載されている、アプリケーション識別子が「01」の情報が、図34の状態から追加登録されている。
このため、第4の例においては、出力書式は図36のように記載することができる。すなわち、図22A又は図22Cのコード記号を読み取った場合も、図22Bのコード記号を読み取った場合も、どちらも同じ入力書式に基づき読取結果を取り出すため、出力内容を記述する際に、第3の例の場合のようなオアを用いた記述が不要である。
なお、図36の例では、アプリケーション識別子が「01」、「10」、「17」及び「30」の項目を、全て出力に必須の項目としている。しかし、例えば「30」の項目が必須でない場合、図37に示すように、オア記号を用いてこれを表現することができる。
例えば、上述した実施形態では、読取結果テーブルにおいて項目を特定するためのIDとして、3つのIDの組み合わせを用いたが、項目と直接対応する専用のIDを用いるようにしてもよい。
また、出力データ(読取結果)の出力先は、別筐体の装置であることは必須ではない。例えば、読取装置を、光学ヘッド部とデータ処理用の小型チップとを備えた読取モジュールとして構成し、携帯型コンピュータや携帯電話装置等の基板上に搭載して、その携帯型コンピュータや携帯電話装置等の主制御部に対して出力データを出力するようにすることも考えられる。この場合、主制御部が出力先装置であると考えることができる。
また、この発明は、読取領域内の情報を読み取る装置であれば、携帯型、据え置き型、何らかの装置に内蔵されるもの、等を問わず、任意の装置に適用可能である。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
従って、この発明を適用することにより、読取装置の操作性あるいは運用効率を向上させることができる。
Claims (17)
- 読取領域内の情報を入力情報として読み取る読取手段と、
情報の入力書式を設定する入力設定手段と、
前記読取手段が読み取った入力情報のうち、前記入力設定手段が設定した各入力書式のいずれかに当てはまる入力情報から、該入力書式に基づいて取り出した1以上の項目の情報を、その項目の読取結果として所定の記憶手段に登録する手段であって、前記取り出した情報のうち、前記記憶手段にまだ読取結果が登録されていない項目の情報を、既に登録された読取結果に追加して登録する登録手段と、
前記読取手段による入力情報の読み取りと、前記登録手段による読取結果の登録とを、前記記憶手段に必須の項目全てについて読取結果が登録されるまで繰り返す制御を行う制御手段と、
前記記憶手段に前記必須の項目全てについて読取結果が登録された場合に、該登録された読取結果を前記記憶手段から読み出して所定の出力先装置へ出力する第1の出力手段とを備えることを特徴とする読取装置。 - 請求項1に記載の読取装置であって、
前記第1の出力手段による読取結果の出力書式を設定する出力設定手段と、
前記第1の出力手段がどの項目の登録結果を出力し、またそのいずれを必須の項目にするかを、前記出力設定手段が設定した出力書式に基づき特定する出力項目特定手段とを備え、
前記第1の出力手段は、前記記憶手段に登録されている読取結果のうち前記出力項目特定手段が特定した項目の読取結果を、前記出力設定手段が設定した出力書式に従った書式の情報として出力する手段であることを特徴とする読取装置。 - 請求項2に記載の読取装置であって、
前記登録手段は、前記入力情報から取り出した情報を、項目毎に前記入力書式に基づき特定される識別情報を付して登録する手段であることを特徴とする読取装置。 - 請求項1に記載の読取装置であって、
前記入力情報は、前記読取領域内の任意の数のコード記号のデコード結果であり、
前記入力設定手段が設定した入力書式に基づき、ひとつのコード記号のデコード結果から1以上の項目の情報を取り出してそれぞれに識別情報を付すための第1のアルゴリズムを生成する第1アルゴリズム生成手段を備え、
前記登録手段は、前記入力情報に含まれる各コード記号のデコード結果に対してそれぞれ、共通の前記第1のアルゴリズムを適用することにより、前記入力情報から前記1以上の項目の情報を取り出すことを特徴とする読取装置。 - 請求項2又は3に記載の読取装置であって、
前記出力設定手段が設定した出力書式に基づき、前記出力項目特定手段が特定する項目の読取結果から、その出力書式に従った書式の情報を生成するための第2のアルゴリズムを生成する第2アルゴリズム生成手段を備え、
前記第1の出力手段は、該第2のアルゴリズムに従って、前記所定の出力先装置へ出力する情報を生成することを特徴とする読取装置。 - 請求項5に記載の読取装置であって、
前記入力書式及び前記出力書式の設定によらず、前記記憶手段に、前記登録手段による前記読取結果の登録先として、項目の識別情報と該項目の読取結果とを対応付けて記憶するための所定の記憶領域を確保する手段を備え、
前記出力項目特定手段は、前記出力書式に含まれる、前記項目の識別情報により、前記第1の出力手段が登録結果を出力する項目及び必須の項目を特定し、
前記第1の出力手段は、前記所定の記憶領域から、前記出力項目特定手段により特定された識別情報が示す項目の読取結果を、出力のために読み出すことを特徴とする読取装置。 - 請求項1乃至6のいずれか一項に記載の読取装置であって、
前記登録手段が、前記記憶手段にまだ読取結果が登録されていない項目について新たに読取結果を登録する度にその旨の通知を行う通知手段を備えることを特徴とする読取装置。 - 請求項1乃至7のいずれか一項に記載の読取装置であって、
前記読取手段が読み取った入力情報が、前記入力設定手段が設定した入力書式のいずれにも当てはまらない場合に、該入力情報を前記所定の出力先装置へ出力する第2の出力手段を備えることを特徴とする読取装置。 - プロセッサ又はプロセッサに制御されるハードウェアが、
読取領域内の情報を入力情報として読み取る読取手順と、
情報の入力書式を設定する入力設定手順と、
前記読取手順で読み取った入力情報のうち、前記入力設定手順で設定した各入力書式のいずれかに当てはまる入力情報から、該入力書式に基づいて取り出した1以上の項目の情報を、その項目の読取結果として所定の記憶手段に登録する手順であって、前記取り出した情報のうち、前記記憶手段にまだ読取結果が登録されていない項目の情報を、既に登録された読取結果に追加して登録する登録手順と、
前記読取手順による入力情報の読み取りと、前記登録手順による読取結果の登録とを、前記記憶手段に必須の項目全てについて読取結果が登録されるまで繰り返す制御を行う制御手順と、
前記記憶手段に前記必須の項目全てについて読取結果が登録された場合に、該登録された読取結果を前記記憶手段から読み出して所定の出力先装置へ出力する第1の出力手順とを実行することを特徴とする読取結果出力方法。 - 請求項9に記載の読取結果出力方法であって、
前記プロセッサ又は前記ハードウェアがさらに、
前記第1の出力手順による読取結果の出力書式を設定する出力設定手順と、
前記第1の出力手順でどの項目の登録結果を出力し、またそのいずれを必須の項目にするかを、前記出力設定手順で設定した出力書式に基づき特定する出力項目特定手順とを実行し、
前記第1の出力手順は、前記記憶手段に登録されている読取結果のうち前記出力項目特定手順で特定した項目の読取結果を、前記出力設定手順で設定した出力書式に従った書式の情報として出力する手順であることを特徴とする読取結果出力方法。 - 請求項10に記載の読取結果出力方法であって、
前記登録手順は、前記入力情報から取り出した情報を、項目毎に前記入力書式に基づき特定される識別情報を付して登録する手順であることを特徴とする読取結果出力方法。 - 請求項9に記載の読取結果出力方法であって、
前記入力情報は、前記読取領域内の任意の数のコード記号のデコード結果であり、
前記プロセッサ又は前記ハードウェアがさらに、
前記入力設定手順で設定した入力書式に基づき、ひとつのコード記号のデコード結果から1以上の項目の情報を取り出してそれぞれに識別情報を付すための第1のアルゴリズムを生成する第1アルゴリズム生成手順を実行し、
前記登録手順では、前記入力情報に含まれる各コード記号のデコード結果に対してそれぞれ、共通の前記第1のアルゴリズムを適用することにより、前記入力情報から前記1以上の項目の情報を取り出すことを特徴とする読取結果出力方法。 - 請求項10又は11に記載の読取結果出力方法であって、
前記プロセッサ又は前記ハードウェアがさらに、
前記出力設定手順で設定した出力書式に基づき、前記出力項目特定手順で特定した項目の読取結果から、その出力書式に従った書式の情報を生成するための第2のアルゴリズムを生成する第2アルゴリズム生成手順を実行し、
前記第1の出力手順では、該第2のアルゴリズムに従って、前記所定の出力先装置へ出力する情報を生成することを特徴とする読取結果出力方法。 - 請求項13に記載の読取結果出力方法であって、
前記プロセッサ又は前記ハードウェアがさらに、
前記入力書式及び前記出力書式の設定によらず、前記記憶手段に、前記登録手順による前記読取結果の登録先として、項目の識別情報と該項目の読取結果とを対応付けて記憶するための所定の記憶領域を確保する手順を実行し、
前記出力項目特定手順では、前記出力書式に含まれる、前記項目の識別情報により、前記第1の出力手順で登録結果を出力する項目及び必須の項目を特定し、
前記第1の出力手順では、前記所定の記憶領域から、前記出力項目特定手順により特定された識別情報が示す項目の読取結果を、出力のために読み出すことを特徴とする読取結果出力方法。 - 請求項9乃至14のいずれか一項に記載の読取結果出力方法であって、
前記プロセッサ又は前記ハードウェアがさらに、
前記登録手順で前記記憶手段にまだ読取結果を登録していない項目について新たに読取結果を登録する度にその旨の通知を行う通知手順を実行することを特徴とする読取結果出力方法。 - 請求項9乃至15のいずれか一項に記載の読取結果出力方法であって、
前記プロセッサ又は前記ハードウェアがさらに、
前記読取手順で読み取った入力情報が、前記入力設定手順で設定した入力書式のいずれにも当てはまらない場合に、該入力情報を前記所定の出力先装置へ出力する第2の出力手順を実行することを特徴とする読取結果出力方法。 - コンピュータに、読取領域内の情報を入力情報として読み取る読取手段を備える読取装置を制御させて、前記コンピュータ及び前記読取装置に協働して請求項9乃至16のいずれか一項に記載の読取結果出力方法を実行させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/064057 WO2013179436A1 (ja) | 2012-05-31 | 2012-05-31 | 読取装置、読取結果出力方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013179436A1 JPWO2013179436A1 (ja) | 2016-01-14 |
JP5970546B2 true JP5970546B2 (ja) | 2016-08-17 |
Family
ID=49672690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014518167A Active JP5970546B2 (ja) | 2012-05-31 | 2012-05-31 | 読取装置、読取結果出力方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150193646A1 (ja) |
JP (1) | JP5970546B2 (ja) |
CN (1) | CN104380308A (ja) |
WO (1) | WO2013179436A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018156311A (ja) * | 2017-03-16 | 2018-10-04 | 富士通株式会社 | バーコード読取プログラム、バーコード読取方法及びバーコード読取装置 |
US20190018995A1 (en) * | 2017-07-12 | 2019-01-17 | Symbol Technologies, Llc | System and method for decoding dynamic barcode quantities |
JP7259548B2 (ja) * | 2019-05-28 | 2023-04-18 | 株式会社リコー | 端末装置およびプログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4438327A (en) * | 1982-04-21 | 1984-03-20 | Burr-Brown Research Corporation | Bar code reading system and method |
US4861972B1 (en) * | 1987-11-05 | 2000-12-05 | Spectra Physics Scanning Syst | Bar code scanner and method of programming |
EP0498678B1 (en) * | 1991-02-08 | 2000-05-10 | Fujitsu Limited | High speed scan bar code reader which can read more than one type of bar code |
US5481098A (en) * | 1993-11-09 | 1996-01-02 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for reading multiple bar code formats |
US20040206821A1 (en) * | 1994-03-04 | 2004-10-21 | Andrew Longacre | Autodiscriminating bar code reading apparatus having solid state image sensor |
JPH09319822A (ja) * | 1996-05-31 | 1997-12-12 | Olympus Optical Co Ltd | 多段コード読み取り装置 |
JP3542971B2 (ja) * | 2001-03-02 | 2004-07-14 | Necインフロンティア株式会社 | バーコード読み取り方法及びバーコード読み取り装置並びにプログラム |
JP4058478B2 (ja) * | 2003-06-27 | 2008-03-12 | 株式会社デンソーウェーブ | 光学的情報の読取方法 |
WO2006009565A2 (en) * | 2004-06-22 | 2006-01-26 | United States Postal Service | Method and system for providing a barcode image over a network |
JP2006281558A (ja) * | 2005-03-31 | 2006-10-19 | Sato Corp | ラベル印字装置およびラベル印字方法 |
US7934660B2 (en) * | 2006-01-05 | 2011-05-03 | Hand Held Products, Inc. | Data collection system having reconfigurable data collection terminal |
CN101533477A (zh) * | 2008-03-10 | 2009-09-16 | 上海十进制网络信息科技有限公司 | 商联网与物联网信息查询及其信息互通查询流程 |
CN101960469B (zh) * | 2008-10-20 | 2014-03-26 | 王强 | 快速特征码扫描 |
JP5262869B2 (ja) * | 2009-03-12 | 2013-08-14 | 株式会社リコー | 画像処理システム、画像処理サーバ、mfp及び画像処理方法 |
US20110073649A1 (en) * | 2009-09-25 | 2011-03-31 | Getac Technology Corporation | Method and system for recognizing barcode |
CN102034073B (zh) * | 2009-09-25 | 2013-11-06 | 神基科技股份有限公司 | 条形码辨识方法及条形码辨识装置 |
US20110218870A1 (en) * | 2010-03-08 | 2011-09-08 | Apple Inc. | Communication method for a roaming point-of-sale system |
CN102129585B (zh) * | 2011-03-03 | 2013-03-27 | 天地融科技股份有限公司 | 一种信息传输方法及系统、条形码显示及读取装置 |
US9697331B2 (en) * | 2011-11-01 | 2017-07-04 | Codonics, Inc. | Adaptable information extraction and labeling method and system |
-
2012
- 2012-05-31 JP JP2014518167A patent/JP5970546B2/ja active Active
- 2012-05-31 WO PCT/JP2012/064057 patent/WO2013179436A1/ja active Application Filing
- 2012-05-31 CN CN201280073553.9A patent/CN104380308A/zh active Pending
-
2014
- 2014-11-30 US US14/556,167 patent/US20150193646A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JPWO2013179436A1 (ja) | 2016-01-14 |
WO2013179436A1 (ja) | 2013-12-05 |
US20150193646A1 (en) | 2015-07-09 |
CN104380308A (zh) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6758403B1 (en) | System for editing data collection device message data | |
US9589169B2 (en) | Cluster computing of bar code data | |
EP3355211A1 (en) | Image processing apparatus, control method therefor, and storage medium | |
JP4192847B2 (ja) | コード読取装置およびプログラム | |
US20130087618A1 (en) | Distinctive notice for different symbology information | |
JP2010219789A5 (ja) | 画像処理システム、その制御方法、及びプログラム | |
US9418268B2 (en) | System and method for setting a real-time clock of a barcode reading device | |
JP5970546B2 (ja) | 読取装置、読取結果出力方法及びプログラム | |
JP2007034625A (ja) | 情報表示装置 | |
CN105022984A (zh) | 指纹采集方法、指纹比对方法、指纹识别装置和系统 | |
CN107040650A (zh) | 操作移动终端以控制智能装置的方法 | |
CN107533627B (zh) | 图像处理装置和图像处理方法 | |
US9317503B2 (en) | System and method for naming an image file | |
JP2003150617A (ja) | 画像処理装置およびプログラム | |
JP4020924B2 (ja) | イメージ処理装置 | |
JP4603569B2 (ja) | 画像処理装置およびプログラム | |
JP2008021025A (ja) | 図面管理システム及び図面管理方法 | |
CN102163276B (zh) | 信息码、读出信息码的光学信息读取器及其读取系统 | |
JP2010102501A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2020024492A (ja) | 文字認識装置 | |
JP2012226085A (ja) | 電子機器、制御方法、および制御プログラム | |
CN107392268B (zh) | 待装配部件的作业系统及作业方法 | |
JP6705984B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP7492341B2 (ja) | 無線タグ読取装置およびプログラム | |
CN116704532A (zh) | 多条码的识别方法、装置及系统、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160615 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5970546 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |