説明

マトリクスコードシンボルを復号化するための装置、およびマトリクスコードシンボルを復号化するための方法

【課題】マトリクスコードシンボルからテキストを復号化するための装置および方法を提供する。
【解決手段】マトリクスコードシンボルを復号化するための装置および方法が開示される。当該装置は、マトリクスコードシンボルに対応する画像を処理するように構成された画像プロセッサを含む。当該装置はさらに、マトリクスコードシンボルに対応する画像の処理に応答して、マトリクスコードシンボルから1つ以上の符号化値を取出すように構成されたデコーダを含む。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。デコーダはさらに、1つ以上の修正後符号化値の各々を対応の所定の符号化値とマッピングするように構成される。修正後符号化値は、対応の所定の符号化値の2桁以上を含む。対応の所定の符号化値をデコーダによって復号化して対応文字を求める。

【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は概してテキストの復号化に関し、特に、マトリクスコードシンボルからテキストを復号化する装置および方法に関する。
【背景技術】
【0002】
発明の背景
データマトリクスバーコードなどの従来のマトリクスコードシンボルが周知であり、テキストまたはデータを格納するために用いられる。データマトリクスバーコードの例は、二次元データマトリクス、および三次元データマトリクスを含む。二次元データマトリクスバーコードは、2値の“0”および“1”を表わす白黒画素のグリッドまたはマトリクスを含む。テキストまたはデータは、さまざまな符号化技術を用いて二次元データマトリクスに符号化される。1つのそのような符号化技術は、英語アルファベットの順序に基づいた情報交換用米国標準コード(ASCII)である。ASCIIは7ビット符号化スキームを使用し、128文字の定義を含む。英語のASCII値は000から255であり、英語のASCII値を表わすのに1バイトを使用する。理論上は、二次元データマトリクスは、最大で1558個の保持可能な英文字を含む。すべての文字が数字に対応する場合、二次元データマトリクスは最大で3116文字を保持する。
【0003】
しかし、他の言語を表わすことはできなかったため、ASCIIは1度に1つのスクリプトに限られていた。したがって、128文字のセットを用いて表わすのが困難であった他の言語を表わすためにユニコードが導入された。ユニコードは2バイトを使用して文字を表わし、多言語コンピュータ処理をサポートする。ユニコードは1文字を表わすのに2バイトを使用するため、二次元データマトリクスバーコードでテキストを表わすのに多くのスペースを消費する。また、複数の文字が複数の言語からの文字および数字を含む場合、二次元データマトリクスが保持する情報量は減少する。
【0004】
したがって、マトリクスコードシンボルからテキストを復号化するための装置および方法が必要である。
【0005】
別個の図面に亘って同様の参照番号は同一または機能的に同様の要素を指し、以下の詳細な説明と共に本明細書に組込まれるか本明細書の一部を形成する添付の図面は、さまざまな実施例をさらに図示し、すべて本発明に係るさまざまな原理および利点を説明する。
【0006】
当業者であれば、図中の要素は簡単および明確にするために描かれており、必ずしも同じ割合で描かれていないことを認識するであろう。たとえば、図中のいくつかの要素の寸法は、本発明の実施例の理解を容易にするために、他の要素と比べて拡大して描かれていることがある。
【図面の簡単な説明】
【0007】
【図1】本発明のさまざまな実施例が機能し得る例示的な環境を示す図である。
【図2】マトリクスコードシンボルを示す図である。
【図3】ある実施例に係るマトリクスコードシンボルを復号化するための装置の流れ図である。
【図4】ある例示的な実施例に係るマトリクスコードシンボルを復号化するための装置のユーザインターフェイスを示す図である。
【図5】ある実施例に係るマトリクスコードシンボルを復号化する方法のフローチャートを示す図である。
【図6】ある実施例に係る1つ以上の符号化値の中の1つ以上の移行コード値を識別するコンピュータ実行方法のフローチャートを示す図である。
【図7】ある実施例に係る1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値を得るコンピュータ実行方法のフローチャートを示す図である。
【図8】本発明の参考例に係るテキストをマトリクスコードシンボルに符号化するための方法のフローチャートを示す図である。
【図9】本発明の参考例に係る1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の前または後に移行コード値を付けるための方法のフローチャートを示す図である。
【図10】本発明の参考例に係る1つ以上の所定の符号化値を含む符号化表を示す図である。
【図11】本発明の参考例に係る1つ以上の修正後符号化値を含む符号化表を示す図である。
【図12】本発明の参考例に係るマトリクスコードシンボルを復号化する方法のフローチャートを示す図である。
【図13】本発明の参考例に係る1つ以上の符号化値の中の1つ以上の移行コード値を識別する方法のフローチャートを示す図である。
【図14】本発明の参考例に係る1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値を得る方法のフローチャートを示す図である。
【図15】本発明の参考例に係るテキストをマトリクスコードシンボルに符号化するためのエンコーダを示す図である。
【図16】本発明の参考例に係るマトリクスコードシンボルを復号化するためのデコーダを示す図である。
【発明を実施するための形態】
【0008】
発明の詳細な説明
本発明に係る実施例を詳細に説明する前に、当該実施例は、マトリクスコードシンボルからテキストを復号化する装置および方法に関連する方法ステップおよび装置構成部品の組合せに主に属することに注目すべきである。したがって、装置構成部品および方法ステップは、図中で従来の記号によって適宜表わされており、本明細書中の説明の恩恵を受ける当業者にとって容易に明らかとなる詳細で開示内容を曖昧にすることを避けるために、本発明の実施例の理解に関連する特定の詳細のみが示されている。
【0009】
詳細な説明の段落で与えられる説明は、コンピュータメモリ内のデータビットに対する演算の手順、ステップ、論理ブロック、処理、および他の記号表現を含む。手順、コンピュータ実行ステップ、論理ブロック、プロセス等は、ここでは概して、所望の結果をもたらすステップまたは命令の自己一致シーケンスであると考えられる。本明細書中に記載のステップは、物理量の物理的操作を必要とする。通常、必ずしもそうではないが、これらの量は、コンピュータシステムにおいて格納、転送、結合、比較、または他の方法で操作可能な電気または磁気信号の形態をとる。さらに説明を容易にするために、これらの信号は、ビット、値、要素、記号、文字、用語、数などと称される。
【0010】
しかし、これらおよび同様の用語はすべて適切な物理量に関連付けられることになっており、説明を簡単にするためにこれらの量に適用されるラベルに過ぎないことに留意すべきである。特に記載しない限り、または以下の説明から明らかでない限り、本発明全体にわたって、「修正する」、「切捨てる」、「計算する」、「選択する」、「受取る」、「除去する」、「符号化する」、「前に置く」、「後に置く」、「取出す」、「マッピングする」、「復号化する」などの用語を用いる説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表わされるデータを、コンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶、送信もしくは表示装置内の物理量として同様に表わされる他のデータに操作および変換するコンピュータシステム、または同様の電子計算装置によって実行される動作およびプロセスを指すことが認識される。
【0011】
一例として、限定されずに、コンピュータ使用可能媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実現される揮発性および不揮発性の、取外し可能および不可能な媒体を含む。
【0012】
本発明のさまざまな実施例は、マトリクスコードシンボルを復号化するための装置を提供する。当該装置は、マトリクスコードシンボルに対応する画像を処理するように構成された画像プロセッサを含む。当該装置はさらに、マトリクスコードシンボルに対応する画像の処理に応答して、マトリクスコードシンボルから1つ以上の符号化値を取出すように構成されたデコーダを含む。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。デコーダはさらに、1つ以上の修正後符号化値の各々を対応の所定の符号化値とマッピングするように構成される。修正後符号化値は、対応の所定の符号化値の2桁以上を含む。対応の所定の符号化値をデコーダによって復号化して対応文字を求める。
【0013】
本発明の別の局面は、マトリクスコードシンボルを復号化する方法を提供することである。当該方法は、マトリクスコードシンボルに対応する画像を受取ることを含む。そして、画像が処理される。画像の処理に応答して、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、1つ以上の修正後符号化値を含み得る。当該方法はさらに、1つ以上の修正後符号化値のうちの各修正後符号化値を対応の所定の符号化値とマッピングすることを含む。修正後符号化値は、対応の所定の符号化値よりも長さが短い。その後、対応の所定の符号化値を復号化して対応文字を求める。
【0014】
図1は、本発明のさまざまな実施例が機能し得る例示的な環境100を示す。環境100は、エンコーダ102、マトリクスコードシンボル104、およびデコーダ106を含む。エンコーダ102の例は、装置、回路、ソフトウェアプログラム、およびアルゴリズムを含み得るが、これらに限定されない。エンコーダ102は、テキストを受取り、テキストを符号化した後、それをマトリクスコードシンボル104に格納するように構成される。得られるテキストは、二言語テキストまたは多言語テキストであり得る。代替的に、得られるテキストは、たとえばアラビア語または英語などの単一言語に関連付けられ得る。ある実施例では、マトリクスコードシンボル104は、図2に示されるように正方形または矩形のいずれか一方のパターンに配列された白黒セルを含むデータマトリクスバーコードであり得る。黒色セルはビット0を表わし、白色セルはビット1を表わし得る。代替的に、黒色セルがビット1を表わし、白色セルがビット0を表わしてもよい。マトリクスコードシンボル104が保持するデータ量は、マトリクスコードシンボル104の寸法に依存する。マトリクスコードシンボル104の例は、一次元データマトリクス、二次元データマトリクス、および三次元データマトリクスを含み得るが、これらに限定されない。
【0015】
テキストを符号化するために、エンコーダ102は1つ以上の文字符号化スキームを使用し得る。1つ以上の文字符号化スキームの例は、情報交換用米国標準コード(ASCII)、ユニコード、モールスコード、ECC200 ASCII符号化、およびISO−8859−1スキームを含むが、これらに限定されない。したがって、エンコーダ102は、1つ以上の文字符号化スキームを用いてテキストを符号化し、それをマトリクスコードシンボル104に格納する。符号化テキストをマトリクスコードシンボル104に格納するために、符号化テキストは、マトリクスコードシンボル104に図式化して符号化可能なフォーマットに変換され得る。たとえば、符号化テキストは“0”および“1”に変換されて、マトリクスコードシンボル104に格納される。
【0016】
デコーダ106は、マトリクスコードシンボル104に格納された符号化テキストを復号化することによってテキストを受取るように構成される。デコーダ106の例は、装置、回路、ソフトウェアプログラム、スキャナ、バーコードスキャナ、データマトリクス読取装置、およびアルゴリズムを含み得るが、これらに限定されない。デコーダ106は、エンコーダ102が使用する1つ以上の文字符号化スキームに関連付けられた対応の文字復号化スキームを使用してテキストを取出す。
【0017】
図3は、ある実施例に係るマトリクスコードシンボルを復号化するための装置300の流れ図を示す。装置300は、携帯装置、読取装置、スキャナ、またはマトリクスコードシンボルを復号化可能ないずれかの他の計算装置であり得る。マトリクスコードシンボルは、複数の符号化値を含む。複数の符号化値のうちの1つの符号化値は、1文字に対応する。当該文字は、ある言語に関連付けられる。ある実施例では、当該言語は少なくともアラビア語および英語の一方であり得るが、これらに限定されない。したがって、複数の符号化値のうちの符号化値は、異なる言語の文字に関連付けられ得る。マトリクスコードシンボルに対応する画像はまず、装置300の画像取込部302によって取込まれる。画像取込部302は、たとえば携帯装置内に存在するカメラであり得る。ある実施例では、マトリクスコードシンボルに対応する画像の一部が、装置300のメモリ304に格納され得る。その後、画像プロセッサ306が画像を処理する。処理すべき画像はメモリ304から取出される。
【0018】
ある実施例では、マトリクスコードシンボルの画像は、サイズがより大きいか、より高解像度であり得る。マトリクスコードシンボルの画像のサイズは、画像取込部302に関連付けられた制御オプションにおいていくつかの修正を行なうことによって小さくすることができる。たとえば、画像プロセッサ306は、画像サイズを1240画素×1800画素ではなく400画素×320画素と指定し、画像取込部302に伝え得る。したがって、画像取込部302は、400画素×320画素のサイズのマトリクスコードシンボルの画像を取込む。したがって、画像のサイズを小さくするか解像度を修正することによって、マトリクスコードシンボルの復号化に伴う計算が少なくなる。代替的に、ユーザが画像サイズを指定し得、それに応じてマトリクスコードシンボルの画像が取込まれる。
【0019】
代替的に、画像プロセッサ306は、1ビット当たりの画素数を減らすことによって画素のサイズを小さくし得る。この場合、画像プロセッサ306は、1ビット当たりの必要な画素数を画像取込部302に伝え得る。その後、画像取込部302は、特定された解像度の画像を取込む。
【0020】
ある実施例では、マトリクスコードシンボルの画像はバッファ画像であり得る。バッファ画像は、画像プロセッサ306によって二次元画像またはビットマップ画像に処理される。しかし、画像プロセッサ306は、マトリクスコードシンボルの便利な復号化を容易にするための当該技術において公知の技術を用いて、バッファ画像をいずれかの他の便利な形態に変換してもよい。
【0021】
さらに、別の場合、得られる画像はスキュー画像であり得る。この場合、画像プロセッサ306は画像を処理して、画像の位置合せにおけるエラーに対処し得る。これは、図4を参照してさらに説明する。また、画像プロセッサ306は画像を処理して、位置合せ不良、ぼけ、影、マトリクスコードシンボル内の白黒セルのさまざまなサイズ、台形問題などの、マトリクスコードシンボルの画像内のさまざまなエラーに対処する。画像プロセッサ306は、当該技術において公知の技術を用いて画像を処理し得る。画像プロセッサ306が画像を処理すると、マトリクスコードシンボルの画像は復号化できる状態にある。
【0022】
そして、デコーダ308がマトリクスコードシンボルから1つ以上の符号化値を取出す。1つ以上の符号化値は、デコーダ308によって識別される1つ以上の修正後符号化値および1つ以上の所定の符号化値を含み得る。修正後符号化値は、対応の所定の符号化値の2桁以上を含み得る。さらに、所定の符号化値は、所定の符号化表から得られる符号化値である。所定の符号化表の例は、ASCII表およびユニコード表を含み得るが、これらに限定されない。
【0023】
1つ以上の修正後符号化値は、複数の符号化値のうちの1つ以上の符号化値内に存在する1つ以上の移行コード値を検出することによって識別される。したがって、1つ以上の移行コード値は、1つ以上の修正後符号化値の出現を示す。たとえば、符号化値のストリングが1つ以上の所定の符号化値および1つ以上の修正後符号化値を含む場合、1つ以上の移行コード値を用いて、ストリング内の1つ以上の修正後符号化値の出現を示す。1つ以上の移行コード値のうちの1つの移行コード値は、移行文字に関連付けられた符号化値に対応する。移行文字の例は、“|”、“*”、“^”、および“&”を含み得るが、これらに限定されない。ある実施例では、移行コード値は、移行文字“|”に関連付けられたASCII値“124”に対応し得る。したがって、移行コード値“124”を用いて、1つ以上の符号化値のうちの対応文字に関連付けられた言語が識別され得る。
【0024】
したがって、1つ以上の移行コード値は、1つ以上の符号化値の文字に関連付けられた言語を示し得る。当該言語は、たとえば英語およびアラビア語を含み得るが、これらに限定されない。より特定的には、移行コード値は、当該移行コード値の後の1つ以上の符号化値に関連付けられた言語が、当該移行コード値の前の1つ以上の符号化値に関連付けられた言語とは異なることを示す。
【0025】
たとえば、移行コード値が、英文字に対応する1つ以上の符号化値の後に識別された場合、当該移行コード値の後の符号化値は、アラビア文字に関連付けられた修正後符号化値に対応すると推測され得る。同様に、移行コード値が、1つ以上のアラビア語符号化値の後に識別された場合、当該移行コード値の後の符号化値は英文字に対応すると推測され得る。
【0026】
1つ以上の修正後符号化値を識別した後、デコーダ308は、1つ以上の修正後符号化値の各々を、対応の所定の符号化値とマッピングする。修正後符号化値は、対応の所定の符号化値の2桁以上を含み得る。ある実施例では、デコーダ308は所定の符号化表を用いて、1つ以上の修正後符号化値の各々を、1つ以上の対応の所定の符号化値とマッピングする。ある実施例では、所定の符号化表はメモリ306に格納される。マッピングは、探索動作、および修正後符号化値内に存在する2桁以上と所定の符号化表内の対応の所定の符号化値の桁との整合の一方によって実行され得るが、これらに限定されない。
【0027】
たとえば、アラビア文字の修正後符号化値“66”に関連付けられた桁が、所定の符号化値“1563から1618”の範囲内にある対応の所定の符号化値の検索のクエリとして用いられ得る。この所定の符号化値の範囲は、ユニコード表内のアラビア文字に関連付けられる。そして、修正後符号化値“66”を最後の2桁として含む整合符号化値“1566”がユニコード表から取出される。
【0028】
別の実施例では、デコーダ308は対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に1桁以上を加え得る。各修正後符号化値に加えるべき1桁以上は、予め定義され得る。たとえば、デコーダ308は、対応の所定の符号化値を得るために、修正後符号化値のうちの各修正後符号化値に2桁を加え得る。アラビア文字に関連付けられた修正後符号化値を考慮して、修正後符号化値の長さは2桁に等しい。対応の所定の符号化値を得るために、“63から94”の範囲の修正後符号化値に“15”の桁を加え、“00から18”の範囲の修正後符号化値に“16”の桁を加える。
【0029】
ここで、マトリクスコードシンボルを復号化してマトリクスコードシンボル内に存在する情報を取出す例を考えてみる。マトリクスコードシンボルは、以下の表に示されるように、第1の二言語テキストおよび第2の二言語テキストに関連付けられた情報を含む。
【0030】
【表1】

【0031】
マトリクスコードシンボルから取出すべき第1の二言語テキストが上記表1の第1行第3欄に表わされ、マトリクスコードシンボルから取出すべき第2の二言語テキストが表1の第2行第3欄に表わされる。第1の二言語テキストおよび第2の二言語テキストは、マトリクスコードシンボルを復号化することによって取出される。マトリクスコードシンボルを復号化するために、マトリクスコードシンボルから1つ以上の符号化値が取出される。第1の二言語テキストに関連付けられた1つ以上の符号化値が表1の第1行第2欄に表わされ、第2の二言語テキストに関連付けられた1つ以上の符号化値が表1の第2行第2欄に表わされる。しかし、表1に含まれる両方の二言語テキスト内の英文字は、表現および理解を容易にするためそれらの符号化値として表わされていないことが分かる。表1に示されるように、1つ以上の符号化値は、1つ以上の修正後符号化値を含む。第1の二言語テキストおよび第2の二言語テキスト内に存在する1つ以上の修正後符号化値は、アラビア文字に対応する。
【0032】
1つ以上の修正後符号化値を取出した後、修正後符号化値の各々が、対応の所定の符号化値とマッピングされる。アラビア文字に関連付けられた修正後符号化値は、対応の所定の符号化値よりも長さが短い。たとえば、表1の第1行第2欄のアラビア文字に関連付けられた修正後符号化値“71”は、アラビア文字に関連付けられた対応の所定の符号化値“1571”よりも長さが短い。1つ以上の符号化値から1つ以上の移行コード値を検出したことに応答して、1つ以上の修正後符号化値が識別される。1つ以上の移行コード値のうちの1つの移行コード値を用いて、アラビア語に関連付けられた1つ以上の修正後符号化値が識別される。換言すれば、移行コード値は、移行コード値の前後の符号化値が、英語およびアラビア語などの異なる言語に関連付けられていることを示す。
【0033】
表1では、移行コード値は、移行文字“|”に関連付けられた符号化値に対応する。移行文字“|”の移行コード値は124である(表1には図示せず)。表1に示されるように、第1の二言語テキストに関連付けられた第1行第2欄は、移行コード値の1つのインスタンスを含む。一方、第2の二言語テキストに関連付けられた第2行第2欄は、移行コード値の2つのインスタンスを含む。
【0034】
1つ以上の修正後符号化値を識別した後、各修正後符号化値は、対応の所定の符号化値とマッピングされる。ある実施例では、マッピングは、所定の符号化表を用いて、各修正後符号化値に関連付けられた対応の所定の符号化値を求めることによって実行され得る。たとえば、第1行第2欄に存在する修正後符号化値“71”を所定の符号化表の中で探索して、対応の符号化値が求められる。先に説明したように、修正後符号化値“71”に関連付けられた対応の所定の符号化値は“1571”であると判断される。同様に、第1の二言語テキストおよび第2の二言語テキストに関連付けられた各修正後符号化値を所定の符号化表の中で探索して、対応の所定の符号化値が取出される。
【0035】
別の実施例では、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に1桁以上が加えられ得る。各修正後符号化値に加えるべき1桁以上は、予め定義され得る。たとえば、1つ以上の修正後符号化値が“63から94”の範囲内にある場合、“15”の桁が加えられる。したがって、修正後符号化値“71”に“15”が加えられて、“1571”が得られる。同様に、1つ以上の修正後符号化値が“00から18”の範囲内にある場合、“16”の桁が加えられる。
【0036】
その後、デコーダ308は、対応の所定の符号化値を復号化して対応文字を求める。対応文字は、所定の符号化表を用いて求められる。対応の所定の符号化値の各々を復号化した後、デコーダ308は、オリジナルフォーマットの第1の二言語テキストおよび第2の二言語テキストを得る。対応の所定の符号化値の各々を復号化した後に得られる、デコーダ308によって得られる第1の二言語テキストおよび第2の二言語テキストは、表1の第1行第3欄および第2行第3欄にそれぞれ示される。
【0037】
装置300などの装置のユーザは、マトリクスコードシンボルの画像を見て、マトリクスコードシンボルを復号化することを選択し得る。したがって、当該装置のユーザインターフェイスによって、ユーザはマトリクスコードシンボルおよびマトリクスコードシンボルから復号化されたテキストを見ることができる。図4は、ある例示的な実施例に係るマトリクスコードシンボルを復号化するためのユーザインターフェイス400を示す。ユーザインターフェイス400は、当該装置上に提供され得る。示されるように、ユーザインターフェイス400は、マトリクスコードシンボルの画像402を示す。画像402は、装置のメモリから取出され得る。たとえば、画像402は、携帯装置に格納された画像ギャラリーから取出され得る。画像402は、ユーザインターフェイス400に提供されるギャラリーオプション404を起動することによって、ユーザによって取出され得る。代替的に、装置の画像取込部またはカメラを用いて、マトリクスコードシンボルに対応する画像402を取込んでもよい。画像取込部は、カメラ406オプションを選択することによって、ユーザによって起動され得る。このようにして得られる画像402は、マトリクスコードシンボルを復号化する前に処理され得る。得られる画像は、マトリクスコードシンボルのスキュー画像またはぼけ画像であり得る。したがって、これらのエラーに対処するように、画像はマトリクスコードシンボルを復号化する前に処理され得る。たとえば、画像402内の基準の“L”字形408は、位置合せ不良であるか、垂直に方向付けられていない場合がある。“L”字形408は、画像402内の黒色セルの底部最終行と黒色セルの左端の線との組合せを指す。この位置合せ不良は、画像取込部の位置合せ不良のため、画像402の取込中に出現し得る。位置合せ不良に対処するために、装置300などの装置の画像プロセッサは、マトリクスコードシンボルの上隅から下隅に行く線をたどり得る。したがって、画像プロセッサは“L”字形408を検出し、画像402のすべての位置不良に対処し得る。画像処理方法は、図3を参照して詳細に説明した。
【0038】
マトリクスコードシンボルを復号化するために、ユーザインターフェイス400は、復号化410オプションをユーザに提供する。したがって、復号化410オプションがユーザによって起動されると、マトリクスコードシンボルが復号化され、図4に示されるように文字を含む対応テキストが通知領域412においてユーザに表示される。代替的に、装置は、マトリクスコードシンボルの画像の取込に応答して、マトリクスコードシンボルを自動的に復号化し得る。この場合、ユーザは復号化410オプションを起動しなくてもよい。マトリクスコードシンボルの復号化方法は、図3を参照して詳細に説明した。ユーザインターフェイス400はさらに、情報414オプションを含み、これはユーザによって起動されると、マトリクスコードシンボルを復号化するために使用されるアプリケーションに関連付けられた情報が通知領域412に表示される。
【0039】
図5は、ある実施例に係るマトリクスコードシンボルを復号化する方法のフローチャートを示す。マトリクスコードシンボルは、画像として提供され得る。マトリクスコードシンボルは、複数の符号化値を含む。複数の符号化値のうちの1つの符号化値は、1文字に対応する。当該文字は、ある言語に関連付けられる。ある実施例では、当該言語はアラビア語および英語の一方であり得る。ステップ502において、マトリクスコードシンボルに対応する画像が受取られる。マトリクスコードシンボルの画像は、装置300などの装置の画像取込部を用いて取込まれ得る。画像取込部は、携帯装置のカメラであり得る。代替的に、マトリクスコードシンボルの画像は、装置のメモリに格納される画像ギャラリーから得られ得る。その後、ステップ504において、画像が処理される。ある実施例では、画像を処理して、位置合せ不良、ぼけ、影、マトリクスコードシンボル内の白黒セルのさまざまなサイズ、台形問題などの、画像内のさまざまなエラーに対処する。これは、図3および図4を参照して詳細に説明した。画像が処理されると、画像は復号化できる状態にある。
【0040】
次に、マトリクスコードシンボルの画像が復号化される。復号化の際、ステップ506において、画像の処理に応答して1つ以上の符号化値が取出される。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。その後、ステップ508において、1つ以上の修正後符号化値の各修正後符号化値が、対応の所定の符号化値とマッピングされる。この場合、修正後符号化値は、対応の所定の符号化値の2桁以上を含む。所定の符号化値は、所定の符号化表内に存在し得る。これは、図7を参照して詳細に説明する。その後、ステップ510において、対応の所定の符号化値を復号化して対応文字を求める。
【0041】
図6は、本発明のある実施例に係る1つ以上の符号化値の中の1つ以上の移行コード値を識別するコンピュータ実行方法のフローチャートを示す。ステップ602において、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、データマトリクス読取装置、スキャナ、およびレーザのうちの1つ以上を用いて取出され得る。その後、ステップ604において、1つ以上の移行コード値が1つ以上の符号化値の中で識別される。1つ以上の移行コード値のうちの1つの移行コード値は、移行文字に関連付けられた符号化値に対応する。移行文字の例は、“|”、“*”、“^”、および“&”を含み得るが、これらに限定されない。ある実施例では、移行コード値は、移行文字“|”に関連付けられたASCII値“124”に対応し得る。移行コード値“124”を用いて、1つ以上の符号化値の対応文字に関連付けられた言語が識別され得る。
【0042】
1つ以上の識別された移行コード値に基づいて、1つ以上の修正後符号化値が1つ以上の符号化値の中で識別される。したがって、1つ以上の移行コード値は、1つ以上の修正後符号化値の出現を示す。たとえば、符号化値のストリングが1つ以上の所定の符号化値および1つ以上の修正後符号化値を含む場合、1つ以上の移行コード値を用いて、ストリング内の1つ以上の修正後符号化値の出現を示す。これは、図3を参照して説明した。
【0043】
図7は、ある実施例に係る1つ以上の修正後符号化値の各修正後符号化値に関連付けられた対応の所定の符号化値を得るコンピュータ実行方法のフローチャートを示す。ステップ702において、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。1つ以上の修正後符号化値は、1つ以上の移行コード値を用いて、1つ以上の復号化値の中で識別される。これは、図6を参照して説明した。1つ以上の符号化値を取出した後、ステップ704aにおいて、1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値が求められる。対応の修正後符号化値は、所定の符号化表を用いて求められる。所定の符号化表の例は、ASCII表およびユニコード表を含み得るが、これらに限定されない。これは、図3を参照して詳細に説明した。代替的に、ステップ704bにおいて、マッピングは、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各修正後符号化値に1桁以上を加えることによって実行され得る。これは、図3を参照して詳細に説明した。その後、ステップ706において、対応の所定の符号化値を復号化して対応文字を求める。
【0044】
対応文字は、所定の符号化表を用いて求められる。対応の所定の符号化値の各々を復号化した後、マトリクスコードシンボル内に存在するテキストがオリジナルフォーマットで得られる。得られるテキストは、二言語テキストまたは多言語テキストであり得る。代替的に、得られるテキストは、たとえばアラビア語などの単一言語に関連付けられ得る。
【0045】
本明細書中に記載の装置および方法のさまざまな実施例は、マトリクスコードシンボルからのテキストの復号化を容易にする。得られるテキストは、二言語テキストまたは多言語テキストであり得る。代替的に、得られるテキストは、たとえばアラビア語または英語などの単一言語に関連付けられ得る。当該方法は、マトリクスコードシンボルを復号化しつつ、1つ以上の修正後符号化値を取出すことを含む。修正後符号化値は、対応の所定の符号化値よりも長さが短い。たとえば、あるアラビア文字の修正後符号化値は、その所定の符号化値と比べて長さが2桁短い。これによって、テキストを格納する際のマトリクスコードシンボルの容量が容易に増加する。さらに、携帯装置などの装置を用いてマトリクスコードシンボルの画像を取込み、マトリクスコードシンボルからのテキストを便利に復号化する。
【0046】
当業者であれば、本明細書中に記載の上記の認識された利点および他の利点は例示的なものに過ぎず、本発明のさまざまな実施例のすべての利点を完全に表わしているわけではないことを認識するであろう。
【0047】
上記の明細書では、本発明の特定的な実施例を説明した。しかし、当業者であれば、以下の請求項に記載されるような本発明の範囲から逸脱することなくさまざまな修正および変更がなされ得ることを認識するであろう。したがって、明細書および図面は限定的ではなく例示的なものであると見なされ、すべてのそのような修正は本発明の範囲内にあると意図される。いずれかの長所、利点、または解決策をもたらし得るか、より顕著にし得る長所、利点、問題の解決策、およびいずれの要素も、すべての請求項の重要で必須または不可欠な特徴または要素であると解釈されるべきではない。本発明は、本願の係属中になされるすべての補正、および発行されたそれらの請求項のすべての同等物を含む添付の請求項によってのみ規定される。
【0048】
[参考例]
図8は、本発明の参考例に係るテキストをマトリクスコードシンボルに符号化するためのコンピュータ実行方法のフローチャートを示す。マトリクスコードシンボルは、正方形または矩形のいずれか一方のパターンに配列された白黒セルを含むデータマトリクスバーコードである。各黒色セルはビット“0”に対応し、各白色セルはビット“1”に対応し得る。代替的に、各黒色セルがビット“1”に対応し、各白色セルがビット“0”に対応してもよい。ある参考例では、マトリクスコードシンボルに符号化するテキストを、テキストを収容するように構成されたテキストボックスを介して受取る。テキストは複数の文字を含み、複数の文字のうちの各文字が1つ以上の言語に対応する。たとえば、複数の文字のうちの各文字がアラビア文字または英文字に対応し得る。アラビア文字および英文字は、ランダムなシーケンスおよび所定のシーケンスのいずれか一方でテキストに現れ得る。たとえば、アラビア文字はテキスト内で常に英文字の後に続き得る。同様に、アラビア文字および英文字は、ランダムな順序でテキストに現れ得る。ある参考例では、複数の文字はアラビア語などの言語に対応し得る。
【0049】
さらに、複数の文字は、1つ以上の空白、1本以上の線、1つ以上のタブ、1つ以上のパッド文字、および1つ以上の特殊文字のうちの1つ以上も含み得る。1つ以上のパッド文字のうちの1つのパッド文字は、空間を埋めるのに用いる文字に対応する。たとえば、フィールドの長さが7文字であり、当該フィールドに3文字しか割当てられていない場合、パッド文字を用いてフィールド内の残りの空間を埋める。一方、1つ以上の特殊文字のうちの1つの特殊文字は、記号、数学の記号、および非英語言語の文字に対応し得る。
【0050】
テキストをマトリクスコードシンボルに符号化する前に、テキストが前処理されて改良テキストが得られ得る。前処理の際、1つ以上の特殊文字がテキストから除去され得る。たとえば、以下のテキスト“HE*|LLO WORL^D”は、特殊文字“*”、特殊文字“|”、および特殊文字“^”を含む。前処理の際、テキストから特殊文字が除去されて、改良テキストが得られる。したがって、特殊文字の除去後に、改良テキスト“HELLO WORLD”が得られる。さらに、テキストが分析されて、マトリクスコードシンボルに符号化すべき複数の文字が識別され得る。分析に基づいて、テキスト内に存在する複数の文字についての統計が作成され得る。統計は、テキスト内の言語に関連付けられた文字の数、テキスト内の桁の数、テキスト内の連続桁の数、空白の数、新たな線の数、タブの数、パッド文字の数、特殊文字の数、まだ追加されていない文字の数、ある言語から別の言語への移行の数に関する情報を含み得る。たとえば、テキストが1つ以上のアラビア文字、1つ以上の英文字、および1つ以上の桁を含む場合、テキストが分析されてテキストについての統計が作成される。統計は、アラビア文字の数、英文字の数、英語からアラビア語への移行の数、およびアラビア語から英語への移行の数に関連付けられた情報を提供し得る。さらに、前処理の際、マトリクスコードシンボルに関連付けられた情報も求めることができる。当該情報は、マトリクスコードシンボルのサイズおよび寸法を含み得る。
【0051】
テキストを前処理した後、文字符号化スキームを用いて、複数の文字がマトリクスコードシンボルに符号化される。文字符号化スキームの例はASCII符号化スキームを含み得るが、これに限定されない。ステップS202において、複数の文字のうちの1つ以上の文字の各々に関連付けられた所定の符号化値が、ASCII表およびユニコード表の一方から文字符号化スキームによって取出される。文字に関連付けられた取出された所定の符号化値は、同等のASCII数および同等のユニコード数の一方に対応し得る。ASCII表は000から255の値を含み、各文字を表わすのに1バイトを使用する。ユニコード表は、16進法の0000からFFFFの値を含む。ユニコードは、各文字を表わすのに16ビットまたは2バイトを使用する。したがって、ユニコードはASCIIと比べて2倍のデータビットが必要である。さらに、アラビア語のユニコード文字は1563から1618である。
【0052】
1つ以上の文字の各々に関連付けられた言語に基づいて、所定の符号化値を受取る。たとえば、文字がアラビア語であると判断された場合、ユニコード表の1563から1618の範囲内から、アラビア文字に対応する所定の符号化値が取出される。
【0053】
同様に、文字が英語であると判断された場合、英文字に対応する所定の符号化値を受取る。したがって、1つ以上の文字の各々に関連付けられた言語に基づいて、所定の符号化値を受取る。
【0054】
1つ以上の文字の各々に関連付けられた所定の符号化値を受取った後、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の前に、移行コード値が置かれる。移行コード値は、上記所定の符号化値の前の所定の符号化値に関連付けられた文字に対応する言語が、上記所定の符号化値に関連付けられた文字に対応する言語とは異なることを示すために用いられる。したがって、移行コード値は、テキスト内のある言語から別の言語への移行に関する情報を提供する。たとえば、移行コード値は、テキスト内のアラビア語から英語への移行を示し得る。同様に、移行コード値は、英語からアラビア語への移行に関する情報を提供する。これは、図9を参照してさらに説明する。
【0055】
代替的に、1つ以上の文字の各々に関連付けられた所定の符号化値を受取った後、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の後に、移行コード値が置かれる。移行コード値は、上記所定の符号化値の後の所定の符号化値に関連付けられた文字に対応する言語が、上記所定の符号化値に関連付けられた文字に対応する言語とは異なることを示すために用いられる。これは、図9を参照してさらに説明する。
【0056】
その後、ステップS204において、1つ以上の文字の各々に関連付けられた所定の符号化値が修正されて、対応の修正後符号化値が得られる。ある参考例では、1つ以上の文字は、テキスト内に存在するアラビア文字に対応し得る。修正後符号化値は、対応の所定の符号化値よりも長さが短い。ある参考例では、対応の所定の符号化値を切捨てることによって修正後符号化値が得られる。切捨ては、所定の符号化値から1桁以上を除去することを含み得る。たとえば、アラビア文字に関連付けられた所定の符号化値“1563”を、“1563”から1および5の桁を除去することによって切捨てて、修正後符号化値“63”を得る。同様に、所定の符号化値“1563”を、“1563”から1の桁を除去することによって切捨てて、修正後符号化値“563”を得る。修正後符号化値は対応の所定の符号化値よりも長さが短いため、修正後符号化値を表わすのに1バイトしか使用せずに済む。
【0057】
対応の修正後符号化値を得た後、ステップ206において、対応の修正後符号化値を用いて、1つ以上の文字がマトリクスコードシンボルに符号化される。ある参考例では、1つ以上の修正後符号化値に1つ以上のエラー訂正コードが加えられた後、1つ以上の文字がマトリクスコードシンボルに符号化され得る。同様に、1つ以上の修正後符号化値に1つ以上のパッド文字が加えられた後、マトリクスコードシンボルに符号化され得る。1つ以上のパッド文字の例は、スペース、ビット0、ビット1、およびパッド文字として確保しておいたユニコード表からの文字を含み得る。1つ以上のパッド文字は、パディング動作時に1つ以上の修正後符号化値に加えられるダミーデータに対応する。パディング動作の例は、ビットパディング動作、バイトパディング動作、およびゼロパディング動作を含み得るが、これらに限定されない。パディング動作は、予め定められた値と等しいマトリクスコードシンボル内の符号化値の長さをもたらすように行なわれる。たとえば、予め定められた値が長さ5に対応し、修正後符号化値の数が2に等しい場合は、3つのパッド文字が加えられる。その後、1つ以上のパッド文字が、1つ以上の修正後符号化値と共に、マトリクスコードシンボルに符号化される。
【0058】
図9は、本発明の参考例に係る1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の前または後に移行コード値を付けるためのコンピュータ実行方法のフローチャートを示す。移行コード値は、ある言語においてあまり用いられない文字に関連付けられる。ある参考例では、移行コード値は、複数の文字内に存在する1つ以上の特殊文字に対応し得る移行文字に関連付けられる。移行文字の例は、“|”、“*”、“^”、および“&”を含み得るが、これらに限定されない。任意の他の文字も移行文字として用いられ得ることが当業者にとって明白であろう。ステップ302において、1つ以上の文字の各々に関連付けられた所定の符号化値が受取られる。所定の符号化値を受取った後、ステップ304aにおいて、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の前に移行コード値が付けられる。ある参考例では、移行コード値は、移行文字のASCII値に対応し得る。ASCII値はASCII表から取出される。そして、移行文字に対応する取出されたASCII値が、所定の符号化値の前に付けられる。たとえば、ある参考例では、“|”が移行文字であり得る。“|”のASCII値は、ASCII表の中の124である。このASCII値が取出され、所定の符号化値の前に付けられる。
【0059】
移行コード値は、ある文字に関連付けられたある所定の符号化値の前の当該所定の符号化値に関連付けられた当該文字に対応する言語が、当該文字に対応する言語とは異なることを示す。たとえば、ASCII値124は、ある文字に関連付けられたある所定の符号化値の前の当該所定の符号化値に関連付けられた当該文字に対応する言語が、当該文字に対応する言語とは異なることを示す。
【0060】
代替的に、1つ以上の文字の各々に関連付けられた所定の符号化値を受取ったことに応答して、ステップ304bにおいて、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の後に移行コード値が付けられる。この場合、移行コード値は、ある文字に関連付けられたある所定の符号化値の後の当該所定の符号化値に関連付けられた当該文字に対応する言語が、当該所定の符号化値に関連付けられた当該文字に対応する言語とは異なることを示す。
【0061】
移行コード値は言語移行を示すために用いられるため、移行コード値に関連付けられた移行文字はこの目的のために特別に確保される。したがって、テキスト内の移行文字のすべての出現が、前処理の段階でテキストから削除される。符号化の際、および文字の前または後に移行コード値を付ける際にテキストに移行文字がないことを確実にするように、テキストから移行文字が削除される。テキストから移行文字を削除した後、テキスト内の言語の移行を示すために移行コード値が加えられる。たとえば、表2は、前処理の際にテキストから移行文字を除去する例を示す。
【0062】
【表2】

【0063】
表2の第1行第1欄のエントリに示されるように、テキストは、移行文字“|”の4つのインスタンスを含む。“英語1”と名付けられたバーコードにテキストを符号化する前に、表2に示されるテキスト“Hello| This is a b |arc || ode”から移行文字の各インスタンスが除去される。表2の第1行第2欄のテキストは、当該テキストから移行文字の各インスタンスを除去した後に得られる。同様に、表2の第2行第1欄は、移行文字“|”の2つのインスタンスを含むテキストを示し、表2の第2行第2欄は、テキストから移行文字の各インスタンスを除去した後のテキストを示す。
【0064】
ステップ304aにおける移行コード値を前に置くステップ、およびステップ304bにおける移行コード値を後に置くステップの1つ以上を実行した後、ステップ306において、移行コード値がマトリクスコードシンボルに符号化される。移行文字は、1つ以上の文字と共にマトリクスコードシンボルに符号化される。ある参考例では、二言語テキストがアラビア文字で終了し得る。そのような場合、二言語テキスト内のアラビア文字の始まりを示すために移行コード値が加えられ得る。しかし、移行コード値は、二言語テキストの末尾に存在するアラビア文字の末尾では省略され、マトリクスコードシンボルに符号化されない。アラビア文字の後には英文字が続いていないため、移行コード値は不要である。
【0065】
表3に示されるように、2つの二言語テキストをマトリクスコードシンボルに符号化する本明細書中に記載の例示的な参考例を考えてみる。第1の二言語テキストは表2の第1行第1欄に示され、第2の二言語テキストは表3の第2行第1欄に示される。各二言語テキストは、表3に示されるような複数の文字を含む。複数の文字のうちの各文字は、英語またはアラビア語である言語に関連付けられる。
【0066】
【表3】

【0067】
第1の二言語テキストおよび第2の二言語テキストを符号化する前に、各二言語テキストは前処理されて特殊文字のすべてのインスタンスが除去される。表3に示されるように、第1の二言語テキストおよび第2の二言語テキストは、特殊文字を全く含んでいない。したがって、前処理の際、各二言語テキストは分析されて、二言語テキストについての統計が作成される。統計は、アラビア文字の数、空白の数、線の数、タブの数、英文字の数、アラビア語から英語への移行の数、および英語からアラビア語への移行の数のうちの1つ以上を含む。統計に基づいて、ASCII符号化スキームを用いて、複数の文字のうちの1つ以上の文字の各々に関連付けられた所定の符号化値が受取られる。1つ以上の文字は、各二言語テキスト内のアラビア文字に対応する。したがって、1つ以上のアラビア文字のうちの各アラビア文字に関連付けられた所定の符号化値が受取られる。所定の符号化値は、図10に示されるユニコード表から受取られる。図10は、各アラビア文字に関連付けられた所定の符号化値を含む。また、図10に示されるように、所定の符号化値は1563から1618である。
【0068】
所定の符号化値を受取った後、1つ以上のアラビア文字のうちの1つのアラビア文字に関連付けられた所定の符号化値の前に移行文字が付けられる。表3の第1行第2欄に示されるように、第1の二言語テキスト内に移行文字“|”が加えられる。移行文字は、1つ以上のアラビア文字の各々に関連付けられたある所定の符号化値の前の当該所定の符号化値に関連付けられた文字に対応する言語が英語であることを示す。代替的に、所定の符号化値を受取った後、1つ以上のアラビア文字のうちの1つのアラビア文字に関連付けられた所定の符号化値の後に移行文字が付けられる。表3の第2行第2欄に示されるように、第2の二言語テキスト内に移行文字“|”が加えられる。移行文字は、1つ以上のアラビア文字の各々に関連付けられたある所定の符号化値の後の当該所定の符号化値に関連付けられた文字に対応する言語が英語であることを示す。ある参考例では、1つ以上のアラビア文字のうちの1つのアラビア文字に関連付けられた所定の符号化値の後に付けられる移行文字は、符号化の際に省略され得る。移行文字は、1つ以上のアラビア文字の後に英文字がなければ省略される。たとえば、表3の第1行第2欄に示されるように、移行文字は“Hello|71070475”の末尾で省略されている。
【0069】
その後、1つ以上のアラビア文字の各々に関連付けられた所定の符号化値が修正されて、対応の修正後符号化値が得られる。対応の修正後符号化値を得るために、所定の符号化値が切捨てられる。ある参考例では、所定の符号化値の切捨てを実行するために、所定の符号化値から1桁以上が除去される。図10に見られるように、1つ以上のアラビア文字の各々に関連付けられた所定の符号化値の長さは4桁である。符号化の際、所定の符号化値に関連付けられた4桁を表わすのに2バイトを使用することになる。しかし、1つ以上のアラビア文字に関連付けられた所定の符号化値は“1”の桁で始まることに注目することができる。ここで、1つ以上のアラビア文字の所定の符号化値から“1”の桁を除去しても、所定の符号化値の表現に違いはない。しかし、所定の符号化値の長さは4桁から3桁に減る。したがって、1つ以上のアラビア文字の所定の符号化値から“1”の桁を除去する。
【0070】
同様に、所定の符号化値から“1”の桁を除去した後、各所定の符号化値は“5”の桁または“6”の桁のいずれか一方で始まる。また、“5”の桁または“6”の桁の後の最後の2桁は一意的であり、非反復的である。したがって、“5”の桁および“6”の桁を除去しても、1つのアラビア文字に関連付けられた各所定の符号化値は一意的であるため、所定の符号化値同士の間で衝突は起こらない。図10に示されるように、63から94の所定の符号化値の前は常に5の桁であり、00から18の所定の符号化値の前は常に6の桁である。したがって、所定の符号化値の長さを3桁から2桁に減らすことができる。所定の符号化値を2桁に減らすことによって、1つ以上のアラビア文字の各アラビア文字を表わすのに必要なのは1バイトで済む。したがって、1つ以上のアラビア文字の各々に関連付けられた所定の符号化値の切捨てに応答して、対応の修正後符号化値が得られる。1つ以上のアラビア文字の各々に関連付けられた対応の修正後符号化値が図11に示される。
【0071】
対応の修正後符号化値を得た後、対応の修正後符号化値を用いて、1つ以上のアラビア文字が符号化される。対応の修正後符号化値を用いて符号化された、第1の二言語テキストに関連付けられた1つ以上のアラビア文字が表3の第1行第2欄に示される。同様に、対応の修正後符号化値を用いて符号化された、第2の二言語テキストに関連付けられた1つ以上のアラビア文字が表3の第2行第2欄に示される。
【0072】
図12は、本発明の参考例に係るマトリクスコードシンボルを復号化するコンピュータ実行方法のフローチャートを示す。マトリクスコードシンボルは、複数の符号化値を含む。複数の符号化値のうちの1つの符号化値は、1文字に対応する。当該文字は、ある言語に関連付けられる。ある参考例では、当該言語はアラビア語および英語の一方であり得る。ステップ602において、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。1つ以上の修正後符号化値のうちの1つの修正後符号化値は、1つのアラビア文字に関連付けられる。1つ以上の符号化値を取出した後、ステップ604において、1つ以上の修正後符号化値の各々が対応の所定の符号化値とマッピングされる。修正後符号化値は、対応の所定の符号化値よりも長さが短い。これは、図8を参照して既に説明した。
【0073】
1つ以上の修正後符号化値の各々を対応の所定の符号化値とマッピングするために、1つ以上の移行コード値が1つ以上の符号化値の中で識別される。1つ以上の移行コード値は、1つ以上の修正後符号化値の出現も示す。たとえば、符号化値のストリングが1つ以上の所定の符号化値および1つ以上の修正後符号化値を含む場合、1つ以上の移行コード値を用いて、ストリング内の1つ以上の修正後符号化値の出現を示す。これは、図13を参照してさらに説明する。1つ以上の移行コード値を識別した後、1つ以上の修正後符号化値の各々が対応の所定の符号化値とマッピングされる。マッピングは、所定の符号化表を用いて、1つ以上の符号化値の各々に関連付けられた対応の所定の符号化値を求めることによって実行され得る。所定の符号化表の例は、ASCII表およびユニコード表を含み得るが、これらに限定されない。これは、図14を参照してさらに説明する。代替的に、マッピングは、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各修正後符号化値に1桁以上を追加することによって実行され得る。これは、図14を参照してさらに説明する。その後、ステップ606において、対応の所定の符号化値を復号化して対応文字を求める。
【0074】
図13は、本発明の参考例に係る1つ以上の移行コード値を1つ以上の符号化値の中で識別するコンピュータ実行方法のフローチャートを示す。ステップ702において、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、データマトリクス読取装置、スキャナ、およびレーザのうちの1つ以上を用いて取出され得る。その後、ステップ704において、1つ以上の移行コード値が1つ以上の符号化値の中で識別される。1つ以上の移行コード値のうちの1つの移行コード値は、移行文字に関連付けられた符号化値に対応する。移行文字の例は、“|”、“*”、“^”、および“&”を含み得るが、これらに限定されない。ある参考例では、移行コード値は、移行文字“|”に関連付けられたASCII値124に対応し得る。移行コード値124を用いて、1つ以上の符号化値のうちの対応文字に関連付けられた言語が識別され得る。
【0075】
1つ以上の識別された移行コード値に基づいて、1つ以上の修正後符号化値が1つ以上の符号化値の中で識別される。たとえば、移行コード値が、英文字に対応する1つ以上の符号化値の後に識別された場合、当該移行コード値の後の符号化値は、アラビア文字に関連付けられた修正後符号化値に対応すると推測され得る。同様に、移行コード値が、1つ以上のアラビア語符号化値の後に識別された場合、当該移行コード値の後の符号化値は英文字に対応すると推測され得る。
【0076】
図14は、本発明の参考例に係る1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値を得るコンピュータ実行方法のフローチャートを示す。ステップ802において、マトリクスコードシンボルから1つ以上の符号化値が取出される。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。1つ以上の修正後符号化値は、1つ以上の移行コード値を用いて1つ以上の符号化値の中で識別される。これは図13を参照して説明した。1つ以上の符号化値を取出した後、ステップ804aにおいて、1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値が求められる。対応の所定の符号化値は、所定の符号化表を用いて求められる。所定の符号化表の例は、ASCII表およびユニコード表を含み得るが、これらに限定されない。所定の符号化表を用いて、1つ以上の修正後符号化値の各々が対応の所定の符号化値とマッピングされる。マッピングは、探索動作、および1つ以上の修正後符号化値内に存在する1桁以上の整合の一方によって実行され得る。たとえば、アラビア文字の修正後符号化値“66”に関連付けられた桁が、ユニコード表内のアラビア文字に関連付けられた“1563から1618”の範囲内の検索のクエリとして用いられ得る。これに応答して、修正後符号化値を最後の2桁として含む整合値“1566”が所定の符号化表から取出される。
【0077】
代替的に、ステップ804bにおいて、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に1桁以上が加えられ得る。1つ以上の修正後符号化値の各々に加えるべき桁数は、予め定義され得る。たとえば、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に2桁が加えられ得る。図11の表に示されるアラビア文字の修正後符号化値を再び参照して、修正後符号化値の各々の長さは2に等しい。対応の所定の符号化値を得るために、63から94の修正後符号化値に15の桁を加え、00から18の修正後符号化値に16の桁を加える。15および16の桁を加えることによって得られる対応の所定の符号化値は、図10の表に示される。
【0078】
マトリクスコードシンボルを復号化して当該マトリクスコードシンボル内に存在する情報を取出す、本明細書中に記載の例示的な参考例を考えてみる。マトリクスコードシンボルは、表4に示される第1の二言語テキストおよび第2の二言語テキストに関連付けられた情報を含む。
【0079】
【表4】

【0080】
マトリクスコードシンボルから取出すべき第1の二言語テキストが表4の第1行第3欄に表わされ、マトリクスコードシンボルから取出すべき第2の二言語テキストが表4の第2行第3欄に表わされる。第1の二言語テキストおよび第2の二言語テキストは、マトリクスコードシンボルを復号化することによって取出される。マトリクスコードシンボルを復号化するために、マトリクスコードシンボルから1つ以上の符号化値が取出される。第1の二言語テキストに関連付けられた1つ以上の符号化値が表4の第1行第2欄に表わされ、第2の二言語テキストに関連付けられた1つ以上の符号化値が表4の第2行第2欄に表わされる。1つ以上の符号化値は、1つ以上の修正後符号化値を含む。1つ以上の修正後符号化値は、第1の二言語テキストおよび第2の二言語テキスト内に存在するアラビア文字に対応する。1つ以上の修正後符号化値は、表4の第1行第2欄および第2行第2欄に示される。
【0081】
1つ以上の修正後符号化値を取出した後、1つ以上の修正後符号化値の各々が、対応の所定の符号化値とマッピングされる。アラビア文字に関連付けられた修正後符号化値は、当該アラビア文字に関連付けられた対応の所定の符号化値よりも長さが短い。たとえば、表4の第1行第2欄のアラビア文字に関連付けられた、取出された修正後符号化値“71”は、当該アラビア文字に関連付けられた対応の所定の符号化値“1571”よりも長さが短い。1つ以上の修正後符号化値を識別するために、1つ以上の移行コード値が1つ以上の符号化値の中で識別される。1つ以上の移行コード値のうちの1つの移行コード値を用いて、アラビア語に関連付けられた1つ以上の修正後符号化値が識別される。
【0082】
表4では、移行コード値は、移行文字“|”に関連付けられた符号化値に対応する。移行文字“|”の移行コード値は124である(表4には図示せず)。表4に示されるように、第1の二言語テキストに関連付けられた第1行第2欄は、移行コード値の1つのインスタンスを含む。同様に、第2の二言語テキストに関連付けられた第2行第2欄は、移行コード値の2つのインスタンスを含む。
【0083】
1つ以上の修正後符号化値を識別した後、1つ以上の修正後符号化値の各々が、対応の所定の符号化値とマッピングされる。ある参考例では、マッピングは、所定の符号化表を用いて、1つ以上の修正後符号化値の各々に関連付けられた対応の所定の符号化値を求めることによって実行され得る。所定の符号化表は、図10を参照して既に説明した。たとえば、第1行第2欄に存在する修正後符号化値“71”を所定の符号化表の中で探索して、対応の符号化値が求められる。図10に示されるように、修正後符号化値“71”に関連付けられた対応の所定の符号化値は“1571”であると判断される。同様に、第1の二言語テキストおよび第2の二言語テキストに関連付けられた各修正後符号化値を所定の符号化表の中で探索して、対応の所定の符号化値が取出される。
【0084】
別の参考例では、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に1桁以上が加えられ得る。各修正後符号化値に加えるべき1桁以上は、予め定義され得る。たとえば、1つ以上の修正後符号化値が63から94の範囲内に存在する場合、15が加えられる。したがって、修正後符号化値71に15が加えられて、71に関連付けられた対応の所定の符号化値を表わす1571が得られる。同様に、1つ以上の修正後符号化値が00から18の範囲内に存在する場合、16の桁が加えられる。
【0085】
その後、対応の所定の符号化値を復号化して対応文字を求める。対応文字は、図10に示される所定の符号化表を用いて求められる。対応の所定の符号化値の各々を復号化した後、第1の二言語テキストおよび第2の二言語テキストがオリジナルフォーマットで得られる。対応の所定の符号化値の各々を復号化した後に得られる、取出された第1の二言語テキストおよび第2の二言語テキストは、表4の第1行第3欄および第2行第3欄にそれぞれ示される。
【0086】
図15は、本発明の参考例に係るテキストをマトリクスコードシンボルに符号化するためのエンコーダ900を示す。マトリクスコードシンボルは、正方形または矩形のいずれか一方のパターンに配列された白黒セルを含むデータマトリクスバーコードである。これは、図8を参照して既に説明した。エンコーダ900は、メモリ902、およびメモリ902に結合されたプロセッサ904を含む。マトリクスコードシンボルに符号化すべきテキストは、エンコーダ900に関連付けられたインターフェイス(図15には図示せず)を介して受取られる。ある参考例では、インターフェイスは、テキストを収容するように構成されたテキストボックスに対応し得る。テキストは複数の文字を含み、複数の文字のうちの各文字は1つ以上の言語に対応する。さらに、複数の文字は、1つ以上の空白、1本以上の線、1つ以上のタブ、1つ以上のパッド文字、および1つ以上の特殊文字のうちの1つ以上も含む。符号化すべきテキストをインターフェイスを介して受取った後、テキストはメモリ902に保管される。
【0087】
テキストをマトリクスコードシンボルに符号化する前に、テキストはプロセッサ904によって処理され得る。プロセッサ904はメモリ902からテキストを取出し、テキストを前処理して、テキスト内に存在する1つ以上の特殊文字を除去する。さらに、プロセッサ904はテキストを分析して、マトリクスコードシンボルに符号化すべき複数の文字を識別する。分析に基づいて、プロセッサ904はテキスト内に存在する複数の文字についての統計を作成し、統計をメモリ902に格納する。統計は、テキスト内の言語に関連付けられた文字の数、テキスト内の桁の数、テキスト内の連続桁の数、空白の数、新たな線の数、タブの数、パッド文字の数、特殊文字の数、まだ追加されていない文字の数、ある言語から別の言語への移行の数に関する情報を含み得る。
【0088】
その後、プロセッサ904は、文字符号化スキームを用いて統計に基づいて、テキストをマトリクスコードシンボルに符号化する。文字符号化スキームの例はASCII符号化スキームを含み得るが、これに限定されない。プロセッサ904は、ASCII表およびユニコード表などの所定の符号化表から、テキスト内の複数の文字のうちの1つ以上の文字の各々に関連付けられた所定の符号化値を取出す。ある参考例では、所定の符号化表はメモリ902に格納され得る。取出された所定の符号化値は、1つ以上の文字の各々に関連付けられた同等のASCII数および同等のユニコード数の一方に対応する。プロセッサ904は、1つ以上の文字の各々に関連付けられた言語に基づいて、所定の符号化値を取出す。これは図8で既に説明した。
【0089】
所定の符号化値を取出した後、プロセッサ904は、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の前に移行コード値を付ける。移行コード値は、ある文字に関連付けられたある所定の符号化値の前の当該所定の符号化値に関連付けられた当該文字に対応する言語が、当該文字に対応する言語とは異なることを示す。代替的に、プロセッサ904は、1つ以上の文字のうちの1文字に関連付けられた所定の符号化値の後に移行コード値を付ける。移行コード値は、ある文字に関連付けられたある所定の符号化値の後の当該所定の符号化値に関連付けられた当該文字に対応する言語が、当該所定の符号化値に関連付けられた当該文字に対応する言語とは異なることを示すために用いられる。これは、図9を参照して既に説明した。
【0090】
その後、プロセッサ904は、1つ以上の文字の各々に関連付けられた所定の符号化値を修正して、対応の修正後符号化値を得る。所定の符号化値を修正するために、プロセッサ904は所定の符号化値を切捨て得る。プロセッサ904は、所定の符号化値から1桁以上を除去することによって所定の符号化値を切捨てて、対応の修正後符号化値を得ることができる。これは、図8を参照して既に説明した。対応の修正後符号化値を得た後、プロセッサ904は、対応の修正後符号化値を用いて、1つ以上の文字をマトリクスコードシンボルに符号化する。
【0091】
図16は、本発明の参考例に係るマトリクスコードシンボルを復号化するためのデコーダ1000を示す。マトリクスコードシンボルは、複数の符号化値を含む。複数の符号化値のうちの1つの符号化値は1文字に対応し、当該文字はある言語に関連付けられる。デコーダ1000は、メモリ1002、およびメモリ1002に結合されたプロセッサ1004を含む。複数の符号化値がマトリクスコードシンボルから取出され、メモリ1002に格納される。複数の符号化値は、データマトリクス読取装置、データマトリクススキャナ、およびレーザのうちの1つ以上を用いて取出され得る。複数の符号化値をメモリ1002に格納した後、プロセッサ1004は、複数の符号化値から1つ以上の修正後符号化値を取出す。プロセッサ1004は、複数の符号化値のうちの1つ以上の符号化値内に存在する1つ以上の移行コード値を識別することによって、1つ以上の修正後符号化値を識別する。1つ以上の移行コード値は、1つ以上の符号化値の文字に関連付けられた言語を識別する。
【0092】
1つ以上の修正後符号化値を識別した後、プロセッサ1004は、1つ以上の修正後符号化値の各々を、対応の所定の符号化値とマッピングする。プロセッサ1004は、所定の符号化表を用いて、1つ以上の修正後符号化値の各々をマッピングする。所定の符号化表の例は、ASCII表およびユニコード表を含み得るが、これらに限定されない。代替的に、プロセッサ1004は、対応の所定の符号化値を得るために、1つ以上の修正後符号化値の各々に1桁以上を加え得る。これは、図14を参照して既に説明した。その後、プロセッサ1004は対応の所定の符号化値を復号化して対応文字を求める。
【0093】
本明細書中に記載の方法のさまざまな参考例によって、テキストのマトリクスコードシンボルへの符号化および復号化が容易になる。当該方法は、複数の文字のうちの1つ以上の文字の各々に関連付けられた所定の符号化値を受取り、1つ以上の文字の各々に関連付けられた所定の符号化値を修正して、対応の修正後符号化値を得る。対応の修正後符号化値は、対応の所定の符号化値よりも長さが短い。これによって、テキストをマトリクスコードシンボルに格納する容量が容易に増加する。さらに、当該方法は、マトリクスコードシンボルから1つ以上の符号化値を取出し、1つ以上の符号化値内の1つ以上の修正後符号化値の各々を、対応の所定の符号化値とマッピングする。
【符号の説明】
【0094】
102 エンコーダ、104 マトリクスコードシンボル、106 デコーダ、302 画像取込部、304 メモリ、306 画像プロセッサ、308 デコーダ、400 ユーザインターフェイス、402 画像、404 ギャラリーオプション、406 カメラオプション、408 “L”字形、410 復号化オプション、412 通知領域、414 情報オプション。

【特許請求の範囲】
【請求項1】
マトリクスコードシンボルを復号化するための装置であって、
前記マトリクスコードシンボルに対応する画像を処理する画像プロセッサと、
デコーダとを備え、前記デコーダは、
前記マトリクスコードシンボルに対応する前記画像の処理に応答して、前記マトリクスコードシンボルから少なくとも1つの符号化値を取出すように構成され、前記少なくとも1つの符号化値は少なくとも1つの修正後符号化値を含み、前記デコーダはさらに、
前記少なくとも1つの修正後符号化値の各々を対応の所定の符号化値とマッピングするように構成され、修正後符号化値は、対応の所定の符号化値の少なくとも2桁を含み、前記デコーダはさらに、
前記対応の所定の符号化値を復号化して対応文字を求めるように構成される、装置。
【請求項2】
前記少なくとも1つの修正後符号化値はある言語に関連しており、前記言語はアラビア語または英語である、請求項1に記載の装置。
【請求項3】
前記マトリクスコードシンボルに対応する前記画像を取込むように構成された画像取込部をさらに備える、請求項1に記載の装置。
【請求項4】
前記画像取込部、前記画像プロセッサ、および前記デコーダのうちの少なくとも1つに結合されたメモリをさらに備え、前記メモリは、前記マトリクスコードシンボルに対応する前記画像の少なくとも一部を格納可能である、請求項3に記載の装置。
【請求項5】
前記デコーダはさらに、前記少なくとも1つの符号化値の中の少なくとも1つの移行コード値を識別するように構成され、前記少なくとも1つの移行コード値を用いて、前記少なくとも1つの修正後符号化値を前記対応の所定の符号化値とマッピングする、請求項4に記載の装置。
【請求項6】
前記デコーダはさらに、前記少なくとも1つの移行コード値のうちの1つの移行コード値に基づいて、前記少なくとも1つの修正後符号化値の各々を対応の所定の符号化値とマッピングするように構成される、請求項5に記載の装置。
【請求項7】
前記デコーダはさらに、
所定の符号化表を用いて、前記少なくとも1つの修正後符号化値の各々に関連付けられた前記対応の所定の符号化値を求める、および
前記対応の所定の符号化値を求めるために、前記少なくとも1つの修正後符号化値の各々に少なくとも1桁を加える、の少なくとも一方を実行するように構成される、請求項5に記載の装置。
【請求項8】
前記メモリは、前記所定の符号化表を格納可能である、請求項7に記載の装置。
【請求項9】
前記所定の符号化表は、ユニコード表またはASCII表に対応する、請求項7に記載の装置。
【請求項10】
マトリクスコードシンボルを復号化する方法であって、
前記マトリクスコードシンボルに対応する画像を受取るステップと、
前記マトリクスコードシンボルに対応する前記画像を処理するステップと、
前記マトリクスコードシンボルに対応する前記画像の処理に応答して、前記マトリクスコードシンボルから少なくとも1つの符号化値を取出すステップとを備え、前記少なくとも1つの符号化値は少なくとも1つの修正後符号化値を含み、前記方法はさらに、
前記少なくとも1つの修正後符号化値の各々を対応の所定の符号化値とマッピングするステップを備え、修正後符号化値は、対応の所定の符号化値の少なくとも2桁を含み、前記方法はさらに、
前記対応の所定の符号化値を復号化して対応文字を求めるステップを備える、方法。
【請求項11】
前記少なくとも1つの修正後符号化値はある言語に関連しており、前記言語はアラビア語または英語である、請求項10に記載の方法。
【請求項12】
前記少なくとも1つの符号化値の中の少なくとも1つの移行コード値を識別するステップをさらに備える、請求項10に記載の方法。
【請求項13】
前記少なくとも1つの修正後符号化値の各々は、前記少なくとも1つの移行コード値のうちの1つの移行コード値に基づいて、対応の所定の符号化値とマッピングされる、請求項12に記載の方法。
【請求項14】
前記マトリクスコードシンボルに対応する前記画像を受取るステップは、前記画像を取込むステップを含む、請求項10に記載の方法。
【請求項15】
前記マトリクスコードシンボルに対応する前記画像の少なくとも一部を格納するステップをさらに備える、請求項10に記載の方法。
【請求項16】
前記マッピングするステップは、
所定の符号化表を用いて、前記少なくとも1つの修正後符号化値の各々に関連付けられた前記対応の所定の符号化値を求めるステップと、
前記対応の所定の符号化値を得るために、前記少なくとも1つの修正後符号化値の各々に少なくとも1桁を加えるステップとを含む、請求項10に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図4】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−85275(P2012−85275A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2011−179584(P2011−179584)
【出願日】平成23年8月19日(2011.8.19)
【出願人】(511072895)キング・アブドゥルアジズ・シティ・フォー・サイエンス・アンド・テクノロジー(ケイ・エイ・シィ・エス・ティ) (13)
【氏名又は名称原語表記】KING ABDULAZIZ CITY FOR SCIENCE AND TECHNOLOGY (KACST)
【Fターム(参考)】