JP5476346B2 - マトリックスコードシンボルにデータをエンコードおよびデコードする方法 - Google Patents

マトリックスコードシンボルにデータをエンコードおよびデコードする方法 Download PDF

Info

Publication number
JP5476346B2
JP5476346B2 JP2011173712A JP2011173712A JP5476346B2 JP 5476346 B2 JP5476346 B2 JP 5476346B2 JP 2011173712 A JP2011173712 A JP 2011173712A JP 2011173712 A JP2011173712 A JP 2011173712A JP 5476346 B2 JP5476346 B2 JP 5476346B2
Authority
JP
Japan
Prior art keywords
data element
data
extracted
character
element table
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.)
Expired - Fee Related
Application number
JP2011173712A
Other languages
English (en)
Other versions
JP2012160161A (ja
Inventor
フセイン・ハリド・アル−オマリ
モハメド・スレイマン・ホルシード
ヤセル・エイ・アルムタイリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
King Abdulaziz City for Science and Technology KACST
Original Assignee
King Abdulaziz City for Science and Technology KACST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by King Abdulaziz City for Science and Technology KACST filed Critical King Abdulaziz City for Science and Technology KACST
Publication of JP2012160161A publication Critical patent/JP2012160161A/ja
Application granted granted Critical
Publication of JP5476346B2 publication Critical patent/JP5476346B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Document Processing Apparatus (AREA)

Description

発明の分野
本発明は、概して、データのエンコーディングおよびデコーディングに関連し、より特定的には、データ要素表をマトリックスコードシンボルにエンコードおよびデコードする方法に関する。
発明の背景
近年、バーコードのようなマトリックスコードシンボルが、様々な雑誌、本、広告物、および新聞に印刷されている。これらのマトリックスコードシンボルは、ユーザに、雑誌または本に関する追加的な情報を提供する。一次元バーコードのような従来のバーコードは、異なる太さのバーの単一列として構成される。一次元バーコードは、単一の軸に沿って読出し可能である。一次元バーコードを読出すとき、バーの列がデコードされてテキスト情報のようなデータを表わす。しかしながら、一次元バーコードは、数字のようなテキスト情報を表わすためにバーコードによって用いられるバーの数および空間のために、小さい記憶容量を有する。
より多くのデータ量を記憶するために、二次元バーコードが用いられ得る。二次元バーコードも、マトリックスコードシンボルとして知られている。二次元バーコードは、二進数の「0」および「1」を表す、黒と白の画素のグリッドまたはマトリックスを含む。さらに、二次元バーコードによって記憶されるデータ量は、一次元バーコードによって記憶されるデータ量よりも多い。しかしながら、二次元バーコードは、データを表わすために多くの量の空間を消費し得る。
したがって、マトリックスコードシンボル上にデータを表わすために必要とされる空間量を低減する、マトリックスコードシンボルへデータをエンコードおよびデコードする方法が必要とされている。
本発明の様々な実施形態は、マトリックスコードシンボルにデータをエンコードおよびデコードする、コンピュータで実行される方法を提供する。本発明の第1の局面は、マトリックスコードシンボルにデータをエンコードする、コンピュータで実行される方法を提供することである。方法は、データ要素表形式のデータを受信することを含む。データ要素表のデータ要素は、1つまたはより多くの文字を含む。1つまたはより多くの文字は、限定されないが、アルファベット、数字、特殊文字、および英数字を含み得る。データ要素表は、1つまたはより多くのデータ要素の行を含む。データ要素表は、また、1つまたはより多くのデータ要素の列を含む。方法は、さらに、データ要素表を文字列に変換することを含む。その後、文字列は、マトリックスコードシンボルにエンコードされる。
本発明の第2の局面は、マトリックスコードシンボルからデータをデコードする、コンピュータで実行される方法を提供することである。文字列が、最初に、マトリックスコードシンボルから読込まれる。文字列は、その後、データを表わすデータ要素表に変換される。
添付の図面は、それにおいて、同様の参照番号は個別の図を通して同一のまたは機能的に同じ要素を示し、以下の詳細な説明とともに本明細書に含まれかつその一部を形成し、本発明のすべてに従う様々な実施形態を記述するためならびに様々な原理および利点を説明するために機能する。
本発明の様々な実施形態が機能し得る、例示的な環境を示す図である。 マトリックスコードシンボルを示す図である。 本発明の実施形態に従う、マトリックスコードシンボルにデータ要素表のようなデータをエンコードする方法のフローチャートである。 本発明の実施形態に従う、データ要素表を文字列に変換する方法のフローチャートである。 本発明の実施形態に従う、マトリックスコードシンボルからデータをデコードする方法のフローチャートである。 本発明の実施形態に従う、文字列をデータ要素表に変換する方法のフローチャートである。 本発明の実施形態に従う、マトリックスコードシンボルにデータをエンコードするためのエンコーダのフロー図である。 本発明の実施形態に従う、マトリックスコードシンボルからデータをデコードするためのデコーダのフロー図である。
当業者は、図中の要素は、単純さおよび明確さのために説明されており、縮尺通りに必ずしも描かれていないことを理解するであろう。たとえば、図中のいくつかの要素の寸法は、本発明の実施形態の理解を向上することを助けるために、他の要素と比較して誇張され得る。
発明の詳細な説明
本発明に従う詳細な実施形態を説明する前に、実施形態は、マトリックスコードシンボルにデータをエンコードおよびデコードする方法に関連する方法ステップおよび装置要素の組み合わせに主として属することに気付くべきである。したがって、装置要素および方法ステップは、図面において従来のシンボルによってどこが占められるかが表わされており、本明細書の利益を有する、当業者には容易に明らかである詳細を伴う開示が曖昧にならないように、本発明の実施形態の理解に関するこれら特定の詳細を示す。
詳細な説明の節において与えられる説明は、手順、ステップ、論理ブロック、プロセッシング、および、コンピュータメモリ内のデータビットについての操作の他のシンボル表現を含む。手順、コンピュータ実行ステップ、論理ブロック、プロセスなどは、ここでは概して、所望の結果を導くステップまたは指令の自己矛盾のないシーケンスであると考えられる。本明細書で記述されるステップは、物理量の物理的操作を必要とする。通常、必要不可欠ではないが、これらの物理量は、コンピュータシステムにおいて、記憶され、転送され、組合わされ、比較され、および他の操作がなされることが可能な、電気的または時期的信号の形式をとる。さらに、説明を容易にするために、これらの信号は、ビット、値、要素、シンボル、文字、語句、数字などと称される。
しかしながら、これらおよび類似の語句のすべては、適当な物理量に関連しているべきであり、かつ、単に、説明を容易にするためにこれらの物理量に適用される符号に過ぎないことに注意すべきである。以下の説明から明らかであるように、特に言及しない場合には、本発明を通して、「受信する」、「変換する」、「エンコードする」、「抽出する」、「創出する」、「加える」、「読み出す」、「検出する」、「識別する」、「生成する」、「デコードする」などのような語句を利用する説明は、コンピュータシステム、あるいは類似の電子演算装置によって実行される動作およびプロセスを称し、それらは、コンピュータのレジスタまたはメモリ内の物理(電子的)量として表わされるデータを操作し、かつ、コンピュータシステムメモリまたはレジスタあるいは他の情報記憶、転送または表示装置における物理量として同様に表わされる他のデータへ変換する。
例として、限定ではないが、コンピュータ使用可能媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読出可能指令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のための、任意の方法および技術で実現される、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。
図1は、本発明の様々な実施形態が機能し得る、例示的な環境100を示す。環境100は、エンコーダ102と、マトリックスコードシンボル104と、デコーダ106とを含む。エンコーダ102の例は、限定されないが、装置、回路、ソフトウェアプログラム、およびアルゴリズムを含み得る。エンコーダ102は、データを受信するとともに、それをマトリックスコードシンボル104に記憶する前にデータをエンコードするように構成される。マトリックスコードシンボルは、二次元バーコードまたは三次元バーコードであり得る。一実施形態においては、マトリックスコードシンボル104は、図2に示されるような正方形または長方形のパターン内に配列された、黒いセルおよび白いセルを含む、二次元バーコードであり得る。黒いセルはビット「0」を表わし、白いセルはビット「1」を表わし得る。あるいは、黒いセルはビット「1」を表わし、白いセルはビット「0」を表わしてもよい。マトリックスコードシンボル104が記憶するデータ量は、マトリックスコードシンボル104の寸法に依存し得る。マトリックスコードシンボル104内に記憶されたデータは、データ要素表の形式であり得る。データ要素表は、1つまたはより多くのデータ要素の行を含み得る。同様に、データ要素表は、1つまたはより多くのデータ要素の列を含み得る。これは、図3と関連して詳細に説明される。
データ要素表をエンコードするために、エンコーダ102は、1つまたはより多くの文字エンコーディングスキームを用い得る。1つまたはより多くの文字エンコーディングスキームの例は、限定はされないが、情報交換用米国標準コード(American Standard Code for Information Interchange:ASCII)、ユニコード、モールス信号、ECC200 ASCIIエンコーディング、およびISO−8859−1スキームを含む。このように、エンコーダ102は、データ要素表をエンコードし、1つまたはより多くの文字エンコーディングスキームを用いて、それをマトリックスコードシンボル104に記憶する。エンコードされたデータ要素表をマトリックスコードシンボル104に記憶するために、エンコードされたデータ要素表は、マトリックスコードシンボル104上に描画的にエンコードされ得るフォーマットに変換され得る。たとえば、エンコードされたデータは、「0」および「1」に変換されて、それをマトリックスコードシンボル104に記憶される。
デコーダ106は、マトリックスコードシンボル104に記憶された、エンコードされたデータ要素表をデコードすることによって、データ要素表を読み出すように構成される。デコーダ106の例は、限定されないが、装置、回路、ソフトウェアプログラム、スキャナ、データマトリックスリーダ、およびアルゴリズムを含む。デコーダ106は、エンコーダ102によって使用される1つまたはより多くの文字エンコーディングスキームに対応する文字デコーディングスキームを用いて、データ要素表を読み出す。
図3は、本発明の実施形態に従う、データをマトリックスコードシンボルにエンコードする、コンピュータで実行される方法のフローチャートを示す。マトリックスコードシンボルは、正方形または長方形パターンのいずれかに配列された、黒いセルおよび白いセルを含む、データマトリックスバーコードである。これは図1と関連して説明されている。
図3に示されるように、データは、ステップ302にて、データ要素表の形式で受信される。データ要素表のデータ要素は、1つまたはより多くの文字を含む。1つまたはより多くの文字は、限定されないが、アルファベット、数字、特殊文字、および英数字を含み得る。1つまたはより多くの文字は、多言語文字であり得る。1つまたはより多くの文字は、限定されないが、アラビア語および英語を含む、1つ又はより多くの言語に関連し得る。さらに、データ要素表は、1つまたはより多くのデータ要素の行を含む。1つまたはより多くのデータ要素の行の1つのデータ要素の行は、1つまたはより多くのデータ要素を含む。データ要素表は、また、1つまたはより多くのデータ要素の列を含む。同様に、1つまたはより多くのデータ要素の列の1つのデータ要素の列は、1つまたはより多くのデータ要素を含む。データ要素表を受信すると、ステップ304にて、データ要素表は文字列に変換される。データ要素表を文字列に変換する方法は、図4に関連して詳細に説明される。その後、ステップ306にて、文字列は、マトリックスコードシンボルにエンコードされる。文字列は、1つまたはより多くの文字エンコーディングスキームを用いてエンコードされ得る。1つまたはより多くの文字エンコーディングスキームの例は、限定されないが、情報交換用米国標準コード(ASCII)、ユニコード、モールス信号、ECC200 ASCIIエンコーディング、およびISO−8859−1スキームを含む。
図4は、本発明の実施形態に従う、データ要素表を文字列に変換する、コンピュータで実行される方法のフローチャートを示す。図4に示されるように、ステップ402にて、各データ要素がデータ要素表から抽出されて、抽出されたデータ要素の組が取得される。表1に示されるようなデータ要素表の例を考える。
Figure 0005476346
一実施形態においては、各データ要素は、行ごと基準(row-by-row basis)で、データ要素表から抽出される。たとえば、各データ要素は、以下のような順序で、行ごと基準で表1から抽出される。
Day/Time, 8-10, 10-12, Saturday, Study, Lab, Sunday, Study, Lab
あるいは、各データ要素は、列ごと基準(column-by-column basis)で、データ要素表から抽出される。たとえば、各データ要素は、以下のような順序で、列ごと基準で表1から抽出される。
Day/Time, Saturday, Sunday, 8-10, Study, Study, 10-12, Lab, Lab
各データ要素がデータ要素表から抽出されると、ステップ404にて、抽出されたデータ要素の組から文字列が生成される。文字列は、各抽出されたデータ要素に関連した識別子を抽出されたデータ要素の組に加えることによって生成される。識別子は、データ要素表における各データ要素の位置を表わす。たとえば、識別子「11」が抽出されたデータ要素「Day/Time」に加えられ、「11 Day/Time」として表わされる。識別子「11」は、データ要素「Day/Time」が、表1の第1行,第1列から抽出されたことを示す。同様に、識別子「12」、「13」、「21]、「22」、「23」、「31」、「32」および「33」が抽出されたデータ要素「8-10」、「10-12」、「Saturday」、「Study」、「Lab」、「Sunday」、「Study」および「Lab」にそれぞれ加えられる。
文字列が生成されている間に、1つまたはより多くの特殊文字も、抽出されたデータ要素の組の各データ要素に加えられる。1つまたはより多くの特殊文字は、限定されないが、「\」、「*」、「^」および「&」を含み得る。文字列を生成している間に、任意の他の特殊文字が加えられてもよいことが当業者には明白であろう。1つまたはより多くの特殊文字は、各抽出されたデータ要素の始まりを示すために、各抽出されたデータに加えられる。実施形態においては、1つまたはより多くの特殊文字は、各抽出されたデータの始まりに加えられる。この場合には、1つまたはより多くの特殊文字は、各抽出されたデータ要素の区切りとして作用し得る。たとえば、2つの特殊文字「\\」が、抽出されたデータ要素「Day/Time」、「8-10」、「10-12」、「Saturday」、「Study」、「Lab」、「Sunday」、「Study」および「Lab」の始まりに加えられる。さらに、1つまたはより多くの特殊文字が、最初に抽出されたデータ要素の終わりに加えられて得る。最初に抽出されたデータ要素の終わりへ1つまたはより多くの特殊文字を加えることは、データ要素表の始まりを示す。たとえば、特殊文字「^」が、最後に抽出されたデータ要素の終わりに加えられる。識別子および1つまたはより多くの特殊文字を、表1の各抽出されたデータ要素に加えることによって、以下のような形式で文字列が生成される。
\\11 Day/Time\\12 8-10\\13 10-12\\21 Saturday\\22 Study\\23 Lab\\31 Sunday\\32 Study\\33 Lab ^
あるいは、特殊文字「^」のような1つまたはより多くの特殊文字は、最後に抽出されたデータ要素の始まりに加えられてもよい。最後の抽出されたデータ要素の始まりへ1つまたはより多くの特殊文字を加えることは、データ要素表の終わりを示す。また、1つまたはより多くの特殊文字は、最初に抽出されたデータ要素の始まり、および、最後に抽出されたデータ要素の終わりの双方に加えられてもよい。
他の実施形態においては、識別子「R」が抽出されたデータ要素「Day/Time」に加えられ、「R Day/Time」のように表わされる。識別子「R」は、データ要素「Day/Time」が、テーブル1の第1の行から抽出されたことを示す。さらに、識別子「C」が、抽出されたデータ要素「8-10」に加えられ、「C 8-10」のように表わされる。識別子「C」は、データ要素「8-10」が、表1の第2の列から抽出されたことを示す。さらに、特殊文字「^」が、テーブル1の各抽出されたデータ要素の始まりに加えられてもよい。この場合、特殊文字「^」は、テーブル1の各抽出されたデータ要素についての区切りとして作用し得る。他の実施形態においては、「^E」のような、識別子と特殊文字との組み合わせが、最後に抽出されたデータ要素「Lab」の終わりに追加され、データ要素表の終わりを示す。識別子および特殊文字を、表1の各抽出されたデータ要素に加えることによって、文字列は、以下の形式で生成される。
^R Day/Time ^C 8-10 ^C 10-12 ^R Saturday ^C Study ^C Lab ^R Sunday ^C Study ^C Lab ^E
一実施形態においては、データ要素が多言語であり得るデータ要素表である。このような場合においては、データ要素表の1つまたはより多くの行はアラビア語であり、データ要素表の1つまたはより多くの列は英語であり得る。さらに、各データ要素が、データ要素表から抽出されて、抽出されたデータ要素の組が取得される。データ要素が抽出されると、抽出されたデータ要素の組から、文字列が生成される。文字列は、各抽出されたデータ要素に関連した識別子を、抽出されたデータ要素の組に加えることによって生成される。文字列を生成している間に、1つまたはより多くの特殊文字も、抽出されたデータ要素の組の各抽出されたデータ要素に加えられる。
文字列を生成すると、文字列は、図1に関連して説明されたように、マトリックスコードシンボルにエンコードされる。データ要素表の文字列への変換、および1つまたはより多くの特殊文字を文字列内に加えることは、マトリックスコードシンボルのデータ記憶容量を増加するのを容易にする。
マトリックスコードシンボルにエンコードされたデータは読み出される必要があり、そのため、データはマトリックスコードシンボルからデコードされる。図5は、本発明の実施形態に従う、マトリックスコードシンボルからデータをデコードする、コンピュータで実行される方法のフローチャートを示す。マトリックスコードシンボルにエンコードされたデータは、データ要素表であり得る。データ要素表のデータ要素は、1つまたはより多くの文字を含む。データ要素表および1つまたはより多くの文字は、図3に関連して詳細に説明されている。
図5に示されるように、ステップ502にて、文字列がマトリックスコードシンボルから読み出される。文字列は、図3に関連して、詳細が説明されている。マトリックスコードシンボルから文字列を読み出すために、マトリックスコードシンボルは、マトリックスコードシンボルからの黒いセルおよび白いセルを読むことによってスキャンされ得る。文字列を読み出すと、ステップ504にて、文字列は、データ要素表に変換される。文字列をデータ要素表に変換する方法は、図6に関連して詳細に説明される。データ要素表は、マトリックスコードシンボルからデコードされたデータを表わす。
図6は、本発明の実施形態に従う、文字列をデータ要素表に変換する、コンピュータで実行される方法のフローチャートを示す。図6に示されるように、ステップ602にて、1つまたはより多くの特殊文字が、文字列から検出される。1つまたはより多くの特殊文字は、限定されないが、「\」、「*」、「^」および「&」を含み得る。任意の他の特殊文字が文字列から検出されてもよいことが、当業者には明白であろう。一実施形態においては、1つまたはより多くの特殊文字は、文字列の各データ要素の始まりにおいて検出され得る。1つまたはより多くの特殊文字の1つの特殊文字は、文字列において対応するデータ要素の始まりを示す。文字列が、以下の形式である例を考える。
\\11 Day/Time\\12 8-10\\13 10-12\\21 Saturday\\22 Study\\23 Lab\\31 Sunday\\32 Study\\33 Lab ^
この場合においては、2つの特殊文字「\\」が、データ要素「Day/Time」の始まりにおいて検出される。文字列の始まりにおいて検出された1つまたはより多くの特殊文字は、文字列の始まりを示す。あるいは、1つまたはより多くの特殊文字は、文字列の終わりにおいて検出されてもよい。この場合は、1つまたはより多くの特殊文字は、文字列の終わりを示す。たとえば、上記で示された文字列の終わりにおいて検出された特殊文字「^」は、文字列に対応するデータ要素表の終わりを示す。一実施形態においては、1つまたはより多くの特殊文字は、文字列の始まり、および文字列の終わりの双方で検出されてもよい。
さらに、ステップ604にて、1つまたはより多くの識別子が文字列から識別される。1つまたはより多くの識別子の1つの識別子は、データ要素表における対応するデータ要素の位置を示す。たとえば、識別子「11」は、文字列から識別され、データ要素「Day/Time」の位置を示す。識別子「11」は、データ要素表の第1行,第1列を示す。
1つまたはより多くの識別子が識別されると、ステップ606にて、1つまたはより多くのデータ要素が文字列から抽出される。たとえば、文字列から抽出されたデータ要素は、「Day/Time」、「8-10」、「10-12」、「Saturday」、「Study」、「Lab」、「Sunday」、「Study」および「Lab」である。その後、ステップ608にて、1つまたはより多くの抽出されたデータ要素および各抽出されたデータ要素に関連する識別子を用いて、データ要素表が生成される。たとえば、データ要素表は、表2に示されるように生成される。
Figure 0005476346
図7は、本発明に実施形態に従う、マトリックスコードシンボルにデータをエンコードするためのエンコーダ700のフロー図を示す。マトリックスコードシンボルは、正方形または長方形パターンのいずれかに配列された黒いセルおよび白いセルを含むデータマトリックスバーコードである。これは、図1に関連してすでに説明されている。データは、データ要素表の形式で受信され得る。データ要素表のデータ要素は、1つまたはより多くの文字を含む。1つまたはより多くの文字は、限定されないが、アルファベット、数字、特殊文字、および英数字を含み得る。1つまたはより多くの文字は、多言語文字であり得る。1つまたはより多くの文字は、限定されないが、アラビア語および英語を含む1つまたはより多くの言語に関連し得る。さらに、データ要素表は、1つまたはより多くのデータ要素の行を含む。1つまたはより多くのデータ要素の行の1つのデータ要素の行は、1つまたはより多くのデータ要素を含む。データ要素表は、また、1つまたはより多くのデータ要素の列を含む。同様に、1つまたはより多くのデータ要素の列の1つのデータ要素の列は、1つまたはより多くのデータ要素を含む。エンコーダ700は、メモリ702と、メモリ702に結合されたプロセッサ704とを含む。データはマトリックスコードシンボルにエンコードされる。一実施形態においては、データは、エンコーダ700に関連する(図7には図示しない)インターフェースを通して受信されるマトリックスコードシンボルにエンコードされる。
エンコードされるべきデータ要素表の受信後、データ要素表は、メモリ702に記憶され得る。データ要素表は、プロセッサ704によってメモリ702から読み出される。さらに、プロセッサ704は、データ要素表を文字列に変換する。データ要素表を文字列に変換するために、プロセッサ704は、データ要素表の各データ要素を抽出し、抽出されたデータ要素の組を取得する。一実施形態においては、各データ要素は、各データ要素は、行ごと基準でデータ要素表から抽出される。他の実施形態においては、各データ要素は、列ごと基準でデータ要素表から抽出される。抽出されたデータ要素の組を取得すると、プロセッサ704は、各抽出されたデータ要素に関連する識別子を、抽出されたデータ要素の組に加える。各データ要素に関連する識別子は、データ要素表の各データ要素の位置を表わす。これは、図3に関連して説明されている。
さらに、プロセッサ704は、各抽出されたデータ要素に関連する特殊文字を、抽出されたデータ要素の組に加える。1つまたはより多くの特殊文字は、限定されないが、「\」、「*」、「^」および「&」を含み得る。文字列を生成している間に、任意の他の特殊文字が加えられてもよいことが当業者には明白であろう。1つまたはより多くの特殊文字は、各抽出されたデータに加えられ、各抽出されたデータ要素の始まりを示す。1つまたはより多くの特殊文字は、各抽出されたデータ要素の区切りとして作用し得る。一実施形態においては、1つまたはより多くの特殊文字は、各抽出されたデータ要素の始まりに加えられ得る。このように加えられた1つまたはより多くの特殊文字は、データ要素表の始まりを示す。あるいは、1つまたはより多くの特殊文字は、最後に抽出されたデータ要素の終わりに加えられてもよい。この場合に加えられた1つまたはより多くの特殊文字は、データ要素表の終わりを示す。代替的な実施形態においては、1つまたはより多くの特殊文字は、最初に抽出されたデータ要素の始まり、および最後に抽出されたデータ要素の終わりの双方に加えられてもよい。
抽出されたデータ要素の組に、抽出されたデータ要素の組の各抽出されたデータ要素に関連する識別子を加え、そして、1つ又はより多くの特殊文字を加えると、プロセッサ704は文字列を生成する。プロセッサ704によって生成された文字列は、メモリ702に記憶される。その後、プロセッサ704は、その文字列をマトリックスコードシンボルにエンコードする。プロセッサ704は、文字列をマトリックスコードシンボルにエンコードするために、文字エンコーディングスキームを用い得る。1つまたはより多くの文字エンコーディングスキームは、限定されないが、情報交換用米国標準コード(ASCII)、ユニコード、モールス信号、ECC200 ASCIIエンコーディング、およびISO−8859−1スキームを含む。
一実施形態においては、データ要素表は、エンコーダを用いて文字列にエンコードされる。データ要素表を文字列にエンコードすると、エンコーダ700は、その文字列をマトリックスコードシンボルにエンコードする。
図8は、本発明に実施形態に従う、マトリックスコードシンボルからデータをデコードするためのデコーダ800のフロー図を示す。デコーダ800は、メモリ802と、メモリ802に結合されたプロセッサ804とを含む。プロセッサ804は、マトリックスコードシンボルからデータを読み出す。マトリックスコードシンボルから読み出されたデータは、文字列であり得る。マトリックスコードシンボルから読み出された文字列は、メモリ802に記憶される。さらに、プロセッサ804は、1つまたはより多くの特殊文字を、文字列から検出する。1つまたはより多くの特殊文字の1つの特殊文字は、文字列における対応するデータ要素の始まりを示す。データ要素表のデータ要素は、1つまたはより多くの文字を含む。1つまたはより多くの文字は、限定されないが、アルファベット、数字、特殊文字、および英数字を含み得る。データ要素表およびデータ要素は、図3および図7に関連して、詳細に説明されている。
一実施形態においては、1つまたはより多くの特殊文字は、文字列の各データ要素の始まりにおいて検出され得る。さらに、1つまたはより多くの特殊文字は、文字列の始まりにおいて検出され得る。検出された1つまたはより多くの特殊文字は、文字列の始まりを示す。あるいは、1つまたはより多くの特殊文字は、文字列の終わりにおいて検出され得る。このように検出された1つまたはより多くの特殊文字は、文字列の終わりを示す。また、1つまたはより多くの特殊文字は、最初に抽出されたデータ要素の始まり、および、最後に抽出されたデータ要素の終わりの双方において検出されてもよい。
1つまたはより多くの特殊文字を検出すると、プロセッサ804は、文字列から、1つまたはより多くの識別子を識別する。1つまたはより多くの識別子の1つの識別子は、データ要素表における対応するデータ要素の位置を示す。さらに、プロセッサ804は、文字列から、1つまたはより多くのデータ要素を抽出する。その後、文字列から抽出された1つまたはより多くのデータ要素、および1つまたはより多くの各データ要素に関連する識別子を用いて、プロセッサ804はデータ要素表を生成する。プロセッサ804によって生成されたデータ要素表は、メモリ802に記憶される。
一実施形態においては、文字列は、デコーダ800を用いて、マトリックスコードシンボルからデコードされる。マトリックスコードシンボルから文字列をデコードすると、デコーダ800は、その文字列からデータ要素表をデコードする。
本明細書に記載された方法の様々な実施形態は、データ要素表として表わされたデータを、マトリックスコードシンボルにエンコードおよびデコードすることを容易にする。方法は、データ要素表を文字列に変換すること、および、その文字列をマトリックスコードシンボルにエンコードすることを含む。文字列は、1つまたはより多くの文字列を区切りとして含む。マトリックスコードシンボル内に文字列の形式でデータを記憶することは、マトリックスコードシンボルへのデータの記憶容量を増加することを容易にする。
当業者は、本明細書に記載された上記の認識された利点および他の利点が、単に例に過ぎず、本発明の様々な実施形態の利点および全ての完全な表示であることが意味されていないことが理解できるだろう。
上述の明細書においては、本発明の特定の実施形態が説明された。しかしながら、当業者は、以下の特許請求の範囲に記載されるような本発明の範囲から逸脱することなく、様々な修正および変更がなされることを理解する。したがって、明細書および図面は、制限の意味というよりはむしろ例示の意味と見なされるべきであり、そのような修正の全てが、本発明の範囲に含まれることが企図される。利益、利点、課題の解法、および、任意の利益、利点、または解法を生じさせあるいはより明白にさせるいかなる要素も、請求項の任意または全ての必須の、避けられない、あるいは不可欠な特徴または要素として解釈されるべきではない。本発明は、本出願の継続中になされるいかなる補正を含む添付の請求項、および発行されたこれらの請求項の均等物によってのみ定義される。

Claims (12)

  1. マトリックスコードシンボルにデータをエンコードする、コンピュータで実行される方法であって、
    前記コンピュータで実行される方法は、
    データ要素表の形式でデータを受信するステップを備え、前記データ要素表のデータ要素は、少なくとも1つの文字を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の行を含み、前記少なくとも1つのデータ要素の行のうちの1つのデータ要素の行は、少なくとも1つのデータ要素を有し、
    前記データ要素表は、
    少なくとも1つのデータ要素の列をさらに含み、前記少なくとも1つのデータ要素の列のうちの1つのデータ要素の列は、少なくとも1つのデータ要素を有し、
    前記コンピュータで実行される方法は、
    前記データ要素表を文字列に変換し、メモリに記憶するステップと、
    前記メモリの文字列を前記マトリックスコードシンボルにエンコードするステップとをさらに備え
    前記文字列に変換するステップは、
    前記データ要素表から各データ要素を抽出するステップと、
    抽出された各データ要素と、前記各データ要素に関連する識別子と、データ要素の区切りを示す特殊文字とから前記文字列を生成するステップとを含み、
    前記識別子それぞれは、関連する前記データ要素の前記データ要素表の行列における行番号及び列番号からなる位置を示す、コンピュータで実行される方法。
  2. 前記特殊文字は、前記データ要素表の始まりにおいて抽出された前記データ要素に関連付けされる始まり文字と、前記データ要素表の終わりにおいて抽出された前記データ要素に関連付けされる終わり文字とを含む、請求項1に記載のコンピュータで実行される方法。
  3. 各データ要素は、行ごとの基準で、前記データ要素表から抽出される、請求項1または2に記載のコンピュータで実行される方法。
  4. 各データ要素は、列ごとの基準で、前記データ要素表から抽出される、請求項1または2に記載のコンピュータで実行される方法。
  5. マトリックスコードシンボルからデータをデコードする、コンピュータで実行される方法であって、
    前記マトリックスコードシンボルから文字列を読み出しメモリに記憶するステップと、
    前記メモリの前記文字列を、前記データを表わすデータ要素表に変換し、それによって前記マトリックスコードシンボルから前記データをデコードするステップとを備え、前記データ要素表のデータ要素は、少なくとも1つの文字を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の行を含み、前記少なくとも1つのデータ要素の行のうちの1つのデータ要素の行は、少なくとも1つのデータ要素を有し、
    前記データ要素表は、
    少なくとも1つのデータ要素の列をさらに含み、前記少なくとも1つのデータ要素の列のうちの1つのデータ要素の列は、少なくとも1つのデータ要素を有し、
    前記文字列は、前記データ要素表の各データ要素と、前記各データ要素に関連する識別子と、データ要素の区切りを示す特殊文字とからなり、
    前記識別子それぞれは、関連する前記データ要素の前記データ要素表の行列における行番号及び列番号からなる位置を示し、
    前記デコードするステップは、
    前記文字列から前記特殊文字を検出するステップと、
    前記文字列から前記識別子を識別するステップと、
    前記文字列から各データ要素を抽出するステップと、
    抽出された各データ要素と、各データ要素に関連する識別子を用いて、前記データ要素表を生成するステップを含む、コンピュータで実行される方法。
  6. 前記特殊文字は、前記データ要素表の始まりにおいて抽出された前記データ要素に関連付けされる始まり文字と、前記データ要素表の終わりにおいて抽出された前記データ要素に関連付けされる終わり文字とを含む、請求項5に記載のコンピュータで実行される方法。
  7. マトリックスコードシンボルにデータをエンコードするためのエンコーダであって、
    前記エンコーダは、
    データ要素表を記憶するためのメモリを備え、
    前記データ要素表のデータ要素は、少なくとも1つの文字を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の行を含み、前記少なくとも1つのデータ要素の行のうちの1つのデータ要素の行は、少なくとも1つのデータ要素を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の列をさらに含み、前記少なくとも1つのデータ要素の列のうちの1つのデータ要素の列は、少なくとも1つのデータ要素を含み、
    前記エンコーダは、
    前記メモリに結合されたプロセッサをさらに備え、
    前記プロセッサは、
    前記データ要素表を文字列に変換し、メモリに記憶する手段と
    前記メモリの文字列を前記マトリックスコードシンボルにエンコードする手段とを備え、
    前記文字列に変換する手段は、
    前記データ要素表から各データ要素を抽出する手段と、
    抽出された各データ要素と、前記各データ要素に関連する識別子と、データ要素の区切りを示す特殊文字とから前記文字列を生成する手段とを含み、
    前記識別子それぞれは、関連する前記データ要素の前記データ要素表の行列における行番号及び列番号からなる位置を示す、エンコーダ。
  8. 前記特殊文字は、前記データ要素表の始まりにおいて抽出された前記データ要素に関連付けされる始まり文字と、前記データ要素表の終わりにおいて抽出された前記データ要素に関連付けされる終わり文字とを含む、請求項7に記載のエンコーダ。
  9. 各データ要素は、行ごとの基準で、前記データ要素表から抽出される、請求項7または8に記載のエンコーダ。
  10. 各データ要素は、列ごとの基準で、前記データ要素表から抽出される、請求項7または8に記載のエンコーダ。
  11. マトリックスコードシンボルからデータをデコードするためのデコーダであって、
    前記デコーダは、プロセッサと、前記プロセッサに結合されたメモリとを備え、
    前記プロセッサは、
    前記マトリックスコードシンボルから文字列を読み出し前記メモリに記憶する手段と
    前記メモリに記憶された前記文字列を、前記データを表わすデータ要素表に変換し前記メモリに格納する変換手段とを含み
    前記データ要素表のデータ要素は、少なくとも1つの文字を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の行を含み、前記少なくとも1つのデータ要素の行のうちの1つのデータ要素の行は、少なくとも1つのデータ要素を含み、
    前記データ要素表は、
    少なくとも1つのデータ要素の列をさらに含み、前記少なくとも1つのデータ要素の列のうちの1つのデータ要素の列は、少なくとも1つのデータ要素を含み、
    前記文字列は、前記データ要素表の各データ要素と、前記各データ要素に関連する識別子と、データ要素の区切りを示す特殊文字とからなり、
    前記識別子それぞれは、関連する前記データ要素の前記データ要素表の行列における行番号及び列番号からなる位置を示し、
    前記変換手段は、
    前記文字列から前記特殊文字を検出する手段と、
    前記文字列から前記識別子を識別する手段と、
    前記文字列から各データ要素を抽出する手段と、
    抽出された各データ要素と、当該データ要素に関連する識別子を用いて、前記データ要素表を生成する手段を含む、デコーダ。
  12. 前記特殊文字は、前記データ要素表の始まりにおいて抽出された前記データ要素に関連付けされる始まり文字と、前記データ要素表の終わりにおいて抽出された前記データ要素に関連付けされる終わり文字とを含む、請求項11に記載のデコーダ。
JP2011173712A 2011-01-31 2011-08-09 マトリックスコードシンボルにデータをエンコードおよびデコードする方法 Expired - Fee Related JP5476346B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/018,354 US20120193424A1 (en) 2011-01-31 2011-01-31 Method of encoding and decoding data on a matrix code symbol
US13/018,354 2011-01-31

Publications (2)

Publication Number Publication Date
JP2012160161A JP2012160161A (ja) 2012-08-23
JP5476346B2 true JP5476346B2 (ja) 2014-04-23

Family

ID=44721167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011173712A Expired - Fee Related JP5476346B2 (ja) 2011-01-31 2011-08-09 マトリックスコードシンボルにデータをエンコードおよびデコードする方法

Country Status (3)

Country Link
US (1) US20120193424A1 (ja)
EP (1) EP2482231B1 (ja)
JP (1) JP5476346B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8670976B2 (en) * 2011-03-31 2014-03-11 King Abdulaziz City for Science & Technology System and methods for encoding and decoding multi-lingual text in a matrix code symbol
IL212511A (en) * 2011-04-27 2016-03-31 Verint Systems Ltd Keyword Finding System and Method by Multiple Character Encoding Schemes
IL224482B (en) 2013-01-29 2018-08-30 Verint Systems Ltd System and method for keyword spotting using representative dictionary
US10685317B2 (en) * 2015-09-22 2020-06-16 United States Postal Service Trackable postage
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
IL242219B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
US10890918B2 (en) * 2019-04-24 2021-01-12 Innovation First, Inc. Performance arena for robots with position location system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5811781A (en) * 1993-11-05 1998-09-22 Intermec Corporation Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same
WO1997026619A1 (en) * 1996-01-15 1997-07-24 Philip Richardson Data encoding and decoding systems
US7072529B2 (en) * 2000-03-21 2006-07-04 Anoto Ab Systems and methods for information storage
JP4555456B2 (ja) * 2000-11-28 2010-09-29 谷電機工業株式会社 データ符号化装置およびデータ復号化装置
GB2385824A (en) * 2002-03-01 2003-09-03 Qinetiq Ltd Document with encoded machine readable information
KR100414524B1 (ko) * 2002-10-31 2004-01-16 주식회사 아이콘랩 복호 특성이 우수하며 단계별 에러레벨조정이 가능한2차원 코드 및 그 코드의 인코딩 디코딩 방법
WO2005043314A2 (en) * 2003-10-22 2005-05-12 Peterson Stanley K Method of selecting and storing airline ticket data
US7905409B2 (en) * 2005-05-20 2011-03-15 Senshin Capital, Llc Print medium feature encoding and decoding
US7428996B2 (en) * 2005-11-17 2008-09-30 Pitney Bowes Inc. Method and system for encoding information into a bar code with different module size
US20100051693A1 (en) * 2006-03-24 2010-03-04 Nikolai Nikolaevich Dubina Information encoding and decoding method
US7770797B2 (en) * 2007-03-07 2010-08-10 Welch Allyn, Inc. Method for processing data from barcodes

Also Published As

Publication number Publication date
JP2012160161A (ja) 2012-08-23
US20120193424A1 (en) 2012-08-02
EP2482231A1 (en) 2012-08-01
EP2482231B1 (en) 2015-07-15

Similar Documents

Publication Publication Date Title
JP5476346B2 (ja) マトリックスコードシンボルにデータをエンコードおよびデコードする方法
US9152904B2 (en) System and methods for encoding and decoding multi-lingual text in a matrix code symbol
JP5788047B2 (ja) テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ
CN102724668A (zh) 一种基于二维码图形的wifi网络信息共享方法及系统
CN103530669A (zh) 一种数据信息的二维码编码方法
CN102970596A (zh) 一种实现机顶盒多语言字体显示的方法、系统及机顶盒
US20120091205A1 (en) Apparatus and method for decoding matrix code symbol
TW200928989A (en) Preamble data generating method and related apparatus for quick response code
CN101008940A (zh) 自动处理字体缺失的方法与装置
CN103036641A (zh) 数据交换方法、系统及反序列化方法
WO2013177849A1 (zh) 一种新建联系人的方法及终端
CN114528944A (zh) 一种医疗文本编码方法、装置、设备及可读存储介质
CN101303742B (zh) 微小型汉信码及其符号的生成方法
RU2008128245A (ru) Реализуемый компьютером способ кодирования числовых данных и способ кодирования структур данных для передачи в телекоммуникационной системе, основанной на вышеуказанном способе кодирования числовых данных
CN102081736A (zh) 从可移植电子文档中提取字符外接矩形的设备和方法
JP5501307B2 (ja) マトリクスコードシンボルを復号化するための装置、およびマトリクスコードシンボルを復号化するための方法
CN101908133A (zh) 一种条码解码方法及装置
Rathod et al. Detecting and decoding algorithm for 2D barcode
Sendino Use of QR Code Labels in museum collection management
CN108280502A (zh) 一种qr码容量提升方法及终端
US10152662B2 (en) Apparatus and method for generating 2D barcode and apparatus for extracting 2D barcode information
Khorshhed et al. Bilingual 2D Barcode Encoding with High Capacity
Wang et al. Research on the Structure and Coding of a Novel Double Z Two-Dimensional Bar Code with Large Capacity
CN107402930B (zh) 网页文本的修改方法及装置
CN110134932A (zh) 一种用于优化电子书排版的方法和设备以及文件格式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130719

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130719

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140108

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: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140207

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees