[go: up one dir, main page]

JP2008181501A - バーコードパターン - Google Patents

バーコードパターン Download PDF

Info

Publication number
JP2008181501A
JP2008181501A JP2007333206A JP2007333206A JP2008181501A JP 2008181501 A JP2008181501 A JP 2008181501A JP 2007333206 A JP2007333206 A JP 2007333206A JP 2007333206 A JP2007333206 A JP 2007333206A JP 2008181501 A JP2008181501 A JP 2008181501A
Authority
JP
Japan
Prior art keywords
data
marks
repetition rate
tiles
grid
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.)
Granted
Application number
JP2007333206A
Other languages
English (en)
Other versions
JP4739317B2 (ja
Inventor
Eric Lap Min Cheung
ラップ ミン チューン エリック
Stephen Farrar
ファーラー ステファン
Nicole Lam
ラム ニコル
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2008181501A publication Critical patent/JP2008181501A/ja
Application granted granted Critical
Publication of JP4739317B2 publication Critical patent/JP4739317B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】複数のマークを使用して文書内の情報を符号化する方法を提供する。
【解決手段】文書内の情報は第1のデータおよび第2のデータを備え、その方法は、第1の繰り返し率660で互いに離間された対応する第1の複数のタイル610内に配置された第1の複数の変調されたマークの配列を使用して第1のデータを符号化するステップと、第2の繰り返し率670で互いに離間された対応する第2の複数のタイル680内に配置された第2の複数の変調されたマークの配列を使用して第2のデータを符号化するステップとを備え、第2の繰り返し率は第1の繰り返し率と異なり、第2の複数のタイルは第1の複数のタイル内に組み込まれている。
【選択図】図6

Description

本発明は、印刷ページ上のコンピュータ可読マークに関し、具体的には、高いデータ密度を有し、人間の目に対して低い可視性を有するコンピュータ可読マークに関する。
印刷ページ上のコンピュータ可読マークは一般的であり、一般的なバーコードなどのいくつかの種類が広く使用されており、この手法は30〜60ビットのデータ記憶を提供する。一般的なバーコードは、文書ページ上で少なくない量のスペースも費やす。さらに、典型的には一般的なバーコードはページを見る人にはっきり見える。
本発明の目的は、既存の構成の1つまたは複数の欠点を実質的に克服するまたは少なくとも改善することである。
多重チャネル変調型マーク符号化構成(または単にMCMME構成)と呼ばれる構成が開示されている。
1つの例ではMCMME構成は、「MCMMEバーコード」(単に「バーコード」とも呼ばれる)を使用して、ページの大きな場所を費やすことなく有用な量のデータ内容を搬送することをサポートする。これは、より多くのページを、人が読める内容のために空けておく。MCMME構成は、折り畳み、しわ寄せ、しみ、引き裂きを含めて、印刷ページが一般的に受ける扱いに対してかなり堅牢でもある。さらに、MCMME構成は、様々なレベルの堅牢さを有することができる複数のデータメッセージストリームをサポートする。
本発明の第1の態様により、複数のマークを使用して文書内の情報を符号化する方法が提供されており、前記情報は第1のデータおよび第2のデータを備え、その方法は、
第1の繰り返し率で互いに離間された対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して第1のデータを符号化するステップと、
第2の繰り返し率で互いに離間された対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して第2のデータを符号化するステップと
を備え、
第2の繰り返し率は第1の繰り返し率と異なり、
第2の複数のタイルは第1の複数のタイル内に組み込まれていることを特徴とする。
本発明の他の態様により、複数のマークを使用して文書内で符号化された情報を復号する方法が提供されており、前記情報は第1のデータおよび第2のデータを備え、第1のデータは第1の繰り返し率で互いに離間された対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して符号化されており、第2のデータは第2の繰り返し率で互いに離間された対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して符号化されており、第2の繰り返し率は第1の繰り返し率と異なり、第2の複数のタイルは第1の複数のタイル内に組み込まれている、その方法は、
グリッド交点が第1のデータを符号化する複数のマークの名目上の位置を表すグリッドの位置および方向を第1の繰り返し率を使用して決定するステップと、
グリッド交点が第2のデータを符号化する複数のマークの名目上の位置を表すグリッドの位置および方向を第2の繰り返し率を使用して決定するステップと、
第1のデータを符号化する複数のマークおよび第2のデータを符号化する複数のマークを復調し、それによって情報を再生するステップと
を備えることを特徴とする。
本発明の他の態様により、複数のマークを使用して文書内の情報を符号化するための装置が提供されており、前記情報は第1のデータおよび第2のデータを備え、前記装置は、
プログラムを格納するメモリと、
プログラムを実行するプロセッサと
を備え、前記プログラムは、
第1の繰り返し率で互いに離間された対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して第1のデータを符号化するコードと、
第2の繰り返し率で互いに離間された対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して第2のデータを符号化するコードと
を備え、
第2の繰り返し率は第1の繰り返し率と異なり、
第2の複数のタイルは第1の複数のタイル内に組み込まれていることを特徴とする。
本発明の他の態様により、複数のマークを使用して文書内で符号化された情報を復号する装置が提供されており、前記情報は第1のデータおよび第2のデータを備え、第1のデータは、第1の繰り返し率で互いに離間された対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して符号化されており、第2のデータは、第2の繰り返し率で互いに離間された対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して符号化されており、第2の繰り返し率は第1の繰り返し率と異なり、第2の複数のタイルは第1の複数のタイル内に組み込まれている、前記装置は、
プログラムを格納するメモリと、
プログラムを実行するプロセッサと
を備え、前記プログラムは、
グリッド交点が第1のデータを符号化する複数のマークの名目上の位置を表すグリッドの位置および方向を第1の繰り返し率を使用して決定するコードと、
グリッド交点が第2のデータを符号化する複数のマークの名目上の位置を表すグリッドの位置および方向を第2の繰り返し率を使用して決定するコードと、
第1のデータを符号化する複数のマークおよび第2のデータを符号化する複数のマークを復調し、それによって情報を再生するコードと
を備えることを特徴とする。
本発明の他の態様により、上記の方法のうちのいずれか1つを実行するコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品が提供されている。
本発明の他の態様も開示されている。
添付図面のうちのいずれか1つまたは複数において同一の参照番号を有するステップおよび/または特徴が参照される場合、この説明の目的のためにそれらのステップおよび/または形状は、反対の意図が明白でない限り同一の機能または動作を有する。
開示されたMCMME構成は、2つのデータチャネルを単一のドットパターンに符号化することに関し、ここでドットパターンは変調型のドットグリッドである。第1の構成では、ドットパターンはいかなる位置合せマークも同期化マークも有しない。
1.基本構造
図1は、基準グリッド105に対する保護マークの変調型配列104の図を示す。保護マークの変調型配列104は、重心が(正方形)グリッド105の対応する交点106(単にグリッド交点とも呼ばれる)に近接して位置する多数のマーク(開示された例では102などのドットである)から成る。それが当該のページ上に組み込まれるのはドット102の配列104だけであり、グリッド105はドット102の配置を説明するためにだけ示されている。したがって、グリッドは「仮想グリッド」と見なされることができる。変調型配列104の外観は、変調されていないドットの配列の外観と類似しているがそれと同一ではない。
図2は、変調されていないドットの配列204の外観を示す。変調されていない配列204内でドット202、205(例えば)の各重心は規則的なグリッドを形成し、これらの重心は(仮想)グリッド206の各交点208、207上に位置する。これらのグリッドの交点はドットの名目上の(変調されていない)位置を表す。本明細書では「グリッド間隔(grid spacing)」と呼ばれる正方形グリッド206のピッチが矢印203によって示されている。グリッド206は、209などのグリッド正方形を説明する。
図2に示されるように、ドットが変調されていない配列内に形成される場合、図2の変調されていないドットの配列204と、図1の変調型のドットの配列104と、の差異は、変調型の配列104のドットの位置が、ドットが占めるであろう各グリッド交点の位置から変調される(すなわち、空間的に変調される、または図示の例では空間的に移動される)ことである。この変調はいくつかの目的にかなう。1つの目的は、変調型のドット102の配列104を規則的な配列204のドットより人間にわずかに見えにくくすることである。これは、人間の視覚系が規則的な配列を認識することに長けているためである。変調の他の目的は、メッセージをデジタルデータの形式でドットの変調に格納することを可能にすることである。
図3は、図1でのドットの変調をより詳細に示す。302などのドットは、規則的なグリッド306の対応する交点305に近接して位置し、各ドットは、303などの8つの可能な位置のうちの1つに変調される。この例では、各ドットに関する8つの可能な変調位置は関連のグリッド交点305を中心とした円に配置される。8つの変調位置は、グリッド交点305から水平に、垂直に、または対角線上にオフセットされる。ドットがオフセットされる水平距離および垂直距離は、変調量子304と呼ばれ、本明細書では「mq」と略される。
図4は、ドットの変調位置をより詳細に示す。ドットの変調位置は、グリッド402のグリッド交点404を中心とし、401などの各変調位置はそれに関連したデジタルコード値403を有する。したがって、8つの変調位置(401を含む)により、各ドットは8つの可能なデジタルコード値(401に対する403を含む)のうちの1つを符号化することができる。この構成によって、変調型のマークの配列はデジタルデータ記憶として動作することができ、変調型配列の各ドットは例示の例では1つの8進数字のデータを格納する。1つの構成では各ドットは、ドットがグレイコードで円に配置されるようにコード値を符号化する。これは、ドットに符号化された情報が復調およびデータ復旧によって再生される復号中の誤り訂正を容易にする。図4は、グリッド交点404に関連した各変調位置に関連するデジタルコード値をバイナリ形式で示す。したがって、403から時計回りに開始するとドットは10進値の5、7、6、2、3、1、0、および4を符号化する。
図5は、開示されたMCMME構成を使用してデジタルデータ記憶の数字を配列するための1つの構成を示す。説明された例では、配列は図示された長方形のドットの配列を使用することによって提供される。この配列は、最上端で最左端のドット501で開始し、最下端で最右端のドット503に達するまで左から右に進み、次いで上から下へ進む。もちろん、他の配列を使用することが可能である。他のグリッドの構成(図1および図2に示された通常の正方形以外)を使用することも可能である。他の空間的な変調位置の構成(図3および図4に示された円形以外)を使用することもできる。
符号器
図6は、繰り返しのタイル型の方法で配置された符号化されたMCMMEバーコード(単に、バーコードとも呼ばれる)を示す。図6に示されるバーコードは、バーコードパターンとも呼ばれる。MCMMEバーコードは、「MCMMEタイル」または単に「タイル」と呼ばれる正方形タイル690、692、694および696から構成される。MCMMEバーコードでの各タイルは、2つのデータチャネル、すなわち高データ密度(本明細書では「HDD」と呼ばれる)チャネルおよび低データ密度(本明細書では「LDD」と呼ばれる)チャネルに関するデータを搬送する。前述のデータは、変調されたマークをタイルの中に適切に配置することによってタイルに組み込まれる。他のチャネル数がMCMME手法を使用してサポートされてもよい。説明された例では、LDDおよびHDDチャネルに関するページ上でのドット密度(すなわち平方cmあたりのドット)は同一である。しかし、LDDおよびHDDチャネルに関する情報量は、使用されるタイルの相対的サイズにより異なる。
説明された例では、HDDチャネルは低い堅牢性(robustness)を有するが、LDDチャネルは高い堅牢性を有する。
バーコード内で690などの各タイルは、単に「LDDタイル」と呼ばれる小さいLDDの正方形タイル610のいくつかのコピーを含む。例えば、610、630および650はLDDタイルの同一のコピーである。各(正方形)LDDタイルは665のサイズ(本明細書では「LDDタイルサイズ」と呼ばれる)を有する。さらに、バーコード内で各タイルは、タイル内での残りの部分(すなわち、MCMMEタイル内でLDDタイルの部分より少ないMCMMEタイルの部分)を備える大きいHDDタイルの単一のコピーを含む。例えば、620、640および680はHDDタイルの同一のコピーである。したがって、HDDタイルはLDDタイルの上部に「オーバレイ」される、または代替としてLDDタイルはHDDタイルと重なる、または代替としてLDDタイルはHDDタイル内に組み込まれる。
要約すると、各MCMMEタイル(690など)はいくつかのLDDタイル(610など)を含む。タイル内で含まれるLDDタイルの部分の合計よりも小さいMCMMEタイル690の残りの部分は、当該のMCMMEタイルに関連するHDDタイルを構成する。データ搬送波の観点から、図6に示されるバーコードの例ですべてのLDDタイルは同一データを搬送し、それによってLDDデータチャネルの破損に対する冗長性をもたらす。さらに、図6に示されるバーコードの例ですべてのHDDタイルは同一データを搬送し、それによってHDDデータチャネルの破損に対する冗長性をもたらす。
特定の形状のタイルがこの例で説明されているが、他の形状がMCMMEタイル、LDDタイル、およびHDDタイルのために使用されることができる。
第1の構成ではバーコードは、人間にドットパターンとして見える各ドットの配列の形式でLDDチャネルおよびHDDチャネルを符号化する。グリッド正方形の整数倍で測定された連続したLDDタイル間の距離(すなわち、タイルが離間されている距離)が660である(本明細書では「LDDステップサイズ」と呼ばれる)。距離660はLDD繰り返し率とも呼ばれる。LDDステップサイズの倍数で測定された連続したHDDタイル間の距離(HDDタイルサイズがLDDステップサイズでない場合、異なる間隔が調査される必要があるので複数のより多くの処理が必要とされる)は670である(本明細書では「HDDタイルサイズ」と呼ばれる)。距離670はHDD繰り返し率とも呼ばれ、すなわちタイルが離間されている距離である。図6に示されるバーコードの例は、2LDDステップサイズ×2LDDステップサイズのHDDタイルサイズを有し、ここでHDDタイルはHDDタイルサイズの距離だけ離れており、各タイル内で各LDDタイルは「LDDステップサイズ」の距離だけ離れている。
開示されたMCMME構成のこの例により、図6に示されたバーコードはいくつかのMCMMEタイルを含み、それぞれは1つのHDDタイルといくつかのLDDタイルを含む。
図7は、各LDDメッセージおよびHDDメッセージに関連するLDDデータおよびHDDデータを単一のMCMMEバーコードに符号化する方法700を示す。その方法はステップ710で始まり、ここでLDDステップサイズおよびHDDタイルサイズが計算される。LDDタイルサイズは一定である。第1の構成は10のLDDタイルサイズを有する。ステップ710は、符号化されるべきLDDメッセージおよびHDDメッセージのサイズに基づいて最適のLDDステップサイズおよびHDDタイルサイズを決定する。LDDステップサイズおよびHDDタイルサイズが、LDDタイルの冗長度を最大限にし、HDDタイル内の未使用データを最小限に抑えるように計算されることが理想的である。グリッド正方形で測定されたLDDステップサイズ用に設定した最小値および最大値があり、LDDステップサイズで測定されたHDDタイルサイズ用に設定した最小値および最大値がある。範囲は、MCMMEバーコードを復号するためにLDDステップサイズおよびHDDタイルサイズを計算するときに調査区域を狭くするために使用される。第1の構成では範囲は、
16≦LDDステップサイズ≦30
2≦HDDタイルサイズ≦7
である。
リードソロモンまたは低密度パリティ検査(LDPC)などの誤り訂正符号(ECC)が、LDDメッセージおよびHDDメッセージの符号化中に使用されることができる。ECCは、符号化段階と復号段階との間でもたらされるチャネルエラーを克服するためにデジタル通信システムで使用される。強いECCを使用すると、バーコードを有する文書の折り畳み、しわ寄せ、しみ、引き裂きおよび汚損によってもたらされうる誤りに対してバーコードを極めて堅牢にすることができる。第1の構成ではLDPCは、その反復誤り訂正の特性により符号化中に使用されている。
符号化中のECCの使用はMCMME符号化プロセスに対して任意選択である。符号化中にECCを使用するためには、ECC符号化が元のLDDメッセージに適用されて最終の(符号化された)LDDメッセージを得る。
次に、ステップ720はLDDメッセージを3ビットのデジタルコード値(「間隔」とも呼ばれる)に変換する。これは、最終の(符号化された)LDDメッセージを3ビットのグループに分割し、各3ビットのグループをその対応するデジタルコード値に変換する必要がある。
後続のステップ730は、同一の方法でHDDメッセージをデジタルコード値に変換する。ECCが符号化のために使用される場合、HDDメッセージは、最終の(符号化された)HDDメッセージを得るためにECCを使用して符号化される。次いで、最終のHDDメッセージは3ビットのグループに変換され、各3ビットのグループはその対応するデジタルコード値に変換される。
後続のステップ740は、ステップ720および730からの各LDDデジタルコード値およびHDDデジタルコード値を単一のバーコードに配置する。単一のバーコードは、ステップ710で計算されたLDDステップサイズおよびHDDタイルサイズを使用して、図6に示される形式と類似した一般的な形式を有する。
最後に、後続のステップ750は、バーコード内のすべてのデジタルコード値を同一のグリッド間隔およびmqを有するグリッドに関連する配列内での各変調型ドットに変換する。第1の構成では、バーコードタイルは低い可視性のバーコードを形成するようにページにわたって繰り返される。しかし、バーコードは、ページの全体部分を包含する必要はなく、バーコードの一部の部分を包含するテキスト情報または他の情報を有することができる。
復号器
図8は、入力画像に符号化されたMCMMEバーコードを復号する方法800の一例を示す。ステップ810は、入力画像を取り込み、MCMME符号化手法を使用して画像上に符号化されたドットを検出する。後続のステップ810では、バーコードを備える検出されたドットの位置が座標データのリスト内に記録される。したがって、ステップ810は、バーコードを備えるドットについての情報を抽出する。ステップ810は、走査された画像の結合した成分解析を使用して実行されることができる。この種の解析では、画像の個々の画素は、空間的に隣接しているそれらの画素を結合しグループ化するために調査される。その形状に関して一群の画素を解析することによって、マークの存在(すなわち、円形ドットまたは適切な予想されるサイズの画素の概して一様なブロブ)が検出されることができる。次いで、マークの重心は、検出されたマーク(ドット)に対応する座標位置を識別するために決定されることができる。
次に、図8に戻って参照すると、後続のステップ820は、画像内にステップ810で検出されたドットの配列用のグリッド交点を配置する。基本的グリッドが配置されると、後続のステップ830はLDDメッセージを復号し、ステップ840はバーコード内に符号化されているHDDメッセージを復号する。
2.ナビゲーション
図9は、ステップ820(図8参照)をより詳細に示す。図9は、信頼性示度を使用してバーコード内に基本的グリッドを配置する方法(本明細書では「グリッドナビゲーション」と呼ばれる)を示す。処理は、グリッドを伸ばし始める開始点を識別するステップ905で始まる。開始点は、入力画像上でバーコード内のどこかであってよい。しかし、第1の構成では開始点はバ−コードの中心であるように選択される。次に、ステップ910は、グリッド間隔およびグリッドの方向を決定する。
ステップ910で、グリッド間隔およびグリッドの方向は下記のように決定される。開始点からプロセス2500は次いで、画像内のドットを使用して開始点に対応するグリッド間隔および方向を検出する。プロセス2500は、図25に対してここでより詳細に説明される。プロセスは最初のステップ2501で始まる。後続のステップ2503では、グリッド方向が画像内のドットの座標から計算される。このステップは、後でより詳細に説明される。グリッド方向が計算されると後続のステップ2505は、画像内ですべてのドットの座標に対して回転を加える。回転はグリッド方向の角度だけ回転され、それによって回転されたドットの座標は、x軸およびy軸と位置合せされたグリッド軸を有することになる。回転されたドットの座標を考慮に入れて後続のステップ2507はグリッド間隔を計算する。後続のステップ2511はプロセス2500を終了する。
ステップ2503がここでより詳細に議論される。図26を参照して、ステップ2503はドットのグリッド方向を検出するプロセス2600から成る。プロセスはステップ2601で始まる。
後続のステップ2602は、ドットごとにどの他のドットがそれに最も近いかを計算する。これは、画像内のすべてのドットに対してなされる。所与のドットに対して最も近いドットを見いだす方法は当業者には明らかである。1つの簡単な方法は、他のドットそれぞれを順に考慮し、所与のドットに対するその距離を計算し、次いで計算された距離が最も小さかったドットを取ることである。好ましい実装形態ではより高速の方法が、全体の画像が多くの「バケット」に分割される場合に使用される。各ドットは、その位置を包含するバケットに割り当てられる。所与のドットに最も近いドットを見いだすために、所与のドットを包含するバケットで開始し、その周りの各バケット内のすべてのドットを見て、所与のドットに最も近いドットを取る。ドットが周りのバケットのいずれにも存在しない場合、調査は、放射状の外向きに次に最も近いバケットの組などに対して継続される。この方法は、最も近いドットを求めて考慮される候補のドット数を非常に低減する。
後続のステップ2603は、ステップ2602で見いだされた各ドットからその最も近い他のドットへの変位ベクトルを計算する。したがって、あらゆるドットは、それ向けに計算された対応する変位ベクトルを有する。
後続のステップ2604は、ステップ2603で計算された変位ベクトルごとにその変位ベクトルの角度を計算する。ベクトルの角度θは当業者にはよく知られており、次のように計算されることができる。
θ=atan2(y,x)
ここで、xおよびyはベクトルの水平成分および垂直成分である。後続のステップ2605は、以下のように定義される変数AおよびBの値を計算する。
Figure 2008181501
ここでθは、ステップ2604で見いだされた変位ベクトルの角度である。和がすべての変位ベクトルにわたって取られる。
次いで、後続のステップ2606が式を使用してグリッド方向の角度φを計算する。すなわち、
φ=atan2(B,A)/4
したがって、ステップ2606で検出されたグリッド方向は−45度〜45度の範囲内にある。後続のステップ2607はプロセス2600を終了する。
ステップ2507がここでより詳細に考慮される。ステップ2507は、図27に示されるようにプロセス2700を実行する。プロセス2700はグリッド間隔を計算する。プロセスはステップ2701で始まる。
後続のステップ2702は、ステップ2505で検出された回転されたドットのリストを入力として取り込む。ドット(x、y)ごとに、同一の水平行上でその右側にある最も近い隣接ドットが見いだされる。これを行うために下記の試行錯誤(heuristic)法が使用される。(x、y)ではないあらゆるドット(a、b)が考慮され、(a、b)が、(x、y)の右側にある90度の扇形外にある場合、(a、b)は拒否される。正式には、
a−x≦0、または |a−x|≦|b−y|
である場合、ドット(a、b)は拒否される。残されているドットについて、下記の関数を最小限に抑えるドットが見いだされる。
d(a,b)=|a−x|+2|b−y|
このドットは、(x、y)の右側にあるドットであると取られ、右側の隣接ドットのリストに格納される。
後続のステップ2703は、見いだされた右側の隣接ドット(a、b)のそれぞれを取り込み、(x、y)から差分ベクトル(dx、dy)を計算する。すなわち、
(dx,dy)=(a,b)−(x,y)
(dx,dy)は差分ベクトルのリスト内に格納される。結果を視覚化する助けをするために、図28は差分ベクトルのリストのグラフを示す。2801はy軸であり、2802はx軸であり、円(例えば、2803)は差分ベクトルの終点である。通知すべき重要な特徴は、グリッドでの雑音および歪みにより2804などのいくつかの誤って配置された範囲外の点があることになる。
後続のステップ2704は、各差分ベクトルのx縦座標を取り、x値の周波数ヒストグラムを生成する。図29はヒストグラムを示す。2901は周波数軸であり、2902はx縦座標軸であり、2903は周波数バーである。x縦座標軸で各量子のサイズはドット座標の細分度に関係すべきである。我々のシステムでは、量子はグリッド座標軸システムの0.5であるように選択されている。
後続のステップ2705は、グリッド間隔を計算するためにこのヒストグラムを使用する。右側の隣接ドットの大部分は、グリッドの間隔のまわりに密集されることは留意されたい。したがって、グリッド間隔は、2904として示される最も頻度の高いx縦座標のx値を取ることによって見いだされる。
後続のステップ2706はプロセス2700を終了する。
図9を参照すると、ステップ910の後、ステップ920はグリッドフィッティングを使用して開始点に最も近いグリッド交点Xspを識別する。グリッドフィッティング(grid-fittin)g)は図10に関してさらに詳細に説明される。
後続のステップ930は、開始グリッド交点のすべての隣接点の信頼性を計算する。つまり、Xspの4つの直近の隣接するグリッド交点の近似の位置が決定される(ステップ910で計算されたグリッド間隔を使用して)。次いで、グリッドフィッティング(図10参照)が、各隣接点の推定されたグリッド交点および関連した信頼性示度を計算するために使用される。各推定されたグリッド交点およびその関連した信頼性示度は信頼性プール(confidence pool)に追加される。信頼性示度(confidence measure)は、所与の画素位置に最も近いグリッド交点の計算に対するアルゴリズムの信頼性の示度である。第1の構成では、信頼性(conf)は以下により測定される。
conf=min(|xOffset|,|yOffset|)
ここで、|xOffset|はxOffsetのフェーザ(phasor)の長さであり(「グリッドフィッティング」の項で定義されるように)、
|yOffset|はyOffsetのフェーザ(phasor)の長さである(「グリッドフィッティング」の項で定義されるように)。
次に、ステップ940は、最も高い信頼性示度を有するグリッド交点Xを選択する。後続のステップ950は、処理されたグリッド交点のリスト内にXを記録し、信頼性プールからXを除去する。各グリッド交点は関連したグリッド座標を有する。さらに、グリッド交点に最も近いドットが見いだされ、グリッド交点からのその変位(本明細書では「オフセットベクトル」と呼ばれる)が格納される。グリッド交点に近いドットがないことが可能である。
次に、ステップ960は、Xのすべての隣接点に対する信頼性を計算する。つまり、ステップ930と同様に、Xの4つの直近の隣接点の近似位置が決定される(ステップ910で計算されたグリッド間隔を使用して)。処理されたグリッド交点のリスト内に既に存在しないXの隣接点だけがステップ960で処理されることを留意されたい。次いで、グリッドフィッティング(図10参照)が、各隣接点の推定されたグリッド交点および関連した信頼性の値を計算するために使用される。各推定されたグリッド交点およびその関連した信頼性の値が信頼性プールに追加される。後続のステップ970で、処理すべき信頼性プール内により多くのグリッド信頼性がある場合(グリッド信頼性が最低閾値を超えている場合)、処理はステップ940に進む。そうでない場合、方法は終了する。
3.局部のグリッドフィッティング
局部のグリッドフィッティングのための方法がここでより詳細に説明される。本明細書で説明されるグリッドフィッティングは、グリッド交点が見いだされるプロセスである。グリッド交点は、局部の領域を調査し、局部の領域内でドットに最適であるグリッドの変換を見いだすことによって見いだされる。次いで、入力点に最も近いグリッド交点が決定される。
グリッドフィッティングでは初期化ステップは、第1のグリッド交点が必要とされる前に実行される。この初期化ステップはいくつかの数字を事前に計算する。グリッド交点を推定するステップは事前に計算した情報を使用する。
事前に計算した情報は、グリッド間隔およびグリッドの方向に依存する。したがって、各グリッドナビゲータは、事前に計算した情報をそれ自体で格納し、それ自体の初期化を実行しなければならない。
初期化プロセス1000はここでより詳細に説明される。図10に示される初期化プロセス1000はステップ1020で始まる。ステップ1020でプロセス1000は、バーコード画像内のあらゆるドット(x,y)に対してxNewおよびyNewを計算する。グリッド間隔が2πになり、グリッド方向が計算されるために下記の関係が満足される。
Figure 2008181501
ここで、θはステップ910で検出されたグリッド方向である。
ステップ1030ではプロセス1000は、バーコード画像内のあらゆるドットに対してx−phasorおよびy−phasorを計算する。すなわち、
xPhasor=cos(xNew)+jsin(xNew
yPhasor=cos(yNew)+jsin(yNew
ここで、jは−1の平方根である。
ステップ1040で、バーコード画像がフェーザビン(phasor bins)に分割される。好ましい実施形態ではフェーザビンは、32×32画素の大きさであり、画像にわたって規則的にタイル化されている。例えば、図11は、フェーザビン(例えば、1120)に分割されているバーコード画像1110を示す。フェーザビンは、垂直(y)サイズ寸法1140および水平(x)サイズ寸法1130を有する。ステップ1050では、ビン1120ごとにプロセス1000は、ビン1120内のドットに対応するx−phasorの和を計算する。同様に、ビン1120ごとにプロセスはy−phasorの和を計算する。これは、情報を事前に計算する初期化プロセス1000を終了する。
図13は、事前に計算された情報を使用してグリッド交点を計算するプロセス1300を示す。最も近いグリッド交点が点(x,y)で求められると仮定する。方法1300は、開始ステップ1310を有し、点(x,y)の周りで窓(window)が決定されるステップ1320で実質的に開始する。好ましくは、窓は4×4のフェーザビンのサイズを有するが他の窓のサイズが使用されてよい。窓は、中心に最も近い点(x,y)を有する4×4のフェーザビンの組であるように決定される。次に、ステップ1330で、xOffsetおよびyOffsetの値が決定される。xOffsetは、窓内での4×4のフェーザビンのx−phasorの和の総計である。同様に、yOffsetは、窓内での4×4のフェーザビンのy−phasorの和の総計である。
最後に、ステップ1340が最も近いグリッド交点の位置を推定する。現在の画素位置を(x,y)によって示す。推定されたグリッド交点(xGrid,yGrid)は以下によって与えられる。
Figure 2008181501
ここで、θはステップ910で検出されたグリッド方向である。
ステップ1340の後に方法1300は終了する。
4.LDD復号
図16は、図8のステップ830をより詳細に示す。図16は、バーコード内でのLDDメッセージを復号する方法を示す。プロセス830は、LDDステップサイズを決定するステップ1610で始まる。これを行うために自己相関と同様の計算が、ステップ950で計算されるオフセットベクトルで行われる。これは、可能なステップオフセットごとに一致値を計算することから成る。ステップオフセット値は、符号器によって事前に決定された最小のLDDステップサイズから最大のLDDステップサイズまでの範囲に及ぶ。ステップオフセットがLDDステップサイズと等しいとき、一致値は大きいことになる。
第1の構成では、所与のステップオフセットで一致値を計算する方法が図17に示されている。他の自己相関の計算は、一致値を計算するために使用されてもよい。ステップオフセットは図17の方法に対する入力であり、ここでステップオフセットはオフセット値である。処理は、ここで説明される内積を決定するステップ1720で始まる。
2つのベクトル(x1,y1)および(x2,y2)の内積が下記によって与えられる。すなわち、
(x1×x2)+(y1×y2)
つまり、内積値は、2つのベクトルのx成分の積とy成分の積との和である。2つのベクトルの内積はスカラである。
ステップ1720では、いくつかの内積が計算される。初めに、バーコード内での各グリッド交点で、(a)グリッド交点でのオフセットベクトルと、(b)「ステップオフセット」のグリッド点だけ右側に移動された後のグリッド交点でのオフセットベクトルとの内積が決定される。「ステップオフセット」グリッド点を右に移動されるオフセットベクトルがない場合、内積は計算されない。
次に、ステップ1730は、ステップ1720で計算されたすべての内積の和を計算する。ステップ1730で計算された和が、入力ステップオフセットに関する一致値である。
図18は、一例のバーコードのLDDステップサイズを見いだすために使用される一致値のグラフを示す。軸1820はステップオフセット軸であり、軸1810は一致値軸であり、曲線1830はステップオフセットに対する一致値のプロットである。グラフから、点1840は符号器によって使用される最小LDDステップサイズを示し、点1850は符号器によって使用される最大LDDステップサイズを示す。第1の構成では、以前に議論された範囲によって定義されたように1840は16のグリッド正方形であり、1850は30のグリッド正方形である。1860でのピークは1870によって示されるステップオフセットに対応する。したがって、1870は例のバーコードのLDDステップサイズである。
図16に戻ると、LDDステップサイズがステップ1610で計算されていると後続のステップ1620は、ドットオフセットベクトルをデジタルコード値に変換する。各オフセットベクトルをその対応するデジタルコード値に変換するために各交点の周りの領域は、図19に示されるように8つの同じ大きさの角度をなす扇形に分割される。
図19は、グリッド交点1995を有するグリッド1990がどのように8つの角度をなす扇形に分割されることができるかを示し、ここで各扇形は間隔値を表す。ドット1912を特徴づけるオフセットベクトル1914は、扇形1910に分類される。図4を参照すると扇形1910は、実際の値が5である403によって示されるデジタルコード値に対応する変調位置401に対応する。同様に、扇形1920、1930、1940、1950、1960、1970または1980にそれぞれ分類されるオフセットベクトルは、値7、6、2、3、1、0または4にそれぞれ対応する。
図16に戻ると後続のステップ1630は、バーコードをサイズ「LDDステップサイズ」×「LDDステップサイズ」の領域に分割し、これらの領域を共に統合する。領域を共に統合するために、初めに、各デジタルコード値がその3ビット表現に変換される。次に、領域は、各領域での対応するデジタルコード値の対応するビットを結合することによって1つの統合領域に併合される。これは、領域内でデジタルコード値のビット位置ごとに統合ビット数を維持することによって行われる。統合ビット数は、統合タイル内の各位置でデジタルコード値の3ビットのそれぞれに関して維持される。統合ビット数は、そのビット位置でデジタルコード値のビットが1である総回数からそのビット位置でデジタルコード値のビットが0である総回数を引いたものに等しい。例えば、4つの領域内で対応する位置でのデジタルコード値が001、101、111、および101であった場合、統合ビット数は、3つのビット位置に対応して2、−2、および4であろう。
図20は、寸法2050×2060を有する統合領域2010の一例を示す。LDDステップサイズは、寸法2050および2060によって特徴づけられる。
図16に戻ると、後続のステップ1640は、ステップ1630で得られた統合領域を使用してLDDタイルの位置を見いだす。バーコードは、「LDDステップサイズ」の周期で繰り返すLDDタイルの多くのコピーから成る。長さ「LDDステップサイズ」の領域を共に統合することによって、類似している統合領域の各領域内の小区域がLDDタイルに対応する。類似していない他の小区域は、HDDタイルを含むバーコードの領域に対応する。言い換えれば、ビット位置の統合ビット数に関して大きい正値または大きい負値を有するビット位置が最も類似しているビット位置を示す。低い統合ビット数を有するビット位置は類似していない。したがって、LDDタイルの可能な位置ごとに、統合領域内でのLDDタイルサイズ領域の統合ビット数の絶対値の和が計算される。最大の和を有する位置がLDDタイルの位置である。
図20を参照すると、統合領域内で一致するデジタルコード値を含むLDDタイル2030(LDDタイルサイズである参照番号2080×2070によって示される一定サイズを有する)がある。つまり、2020で左上隅を有するLDDタイルサイズ領域の統合ビット数の絶対値の和が最大の和である。したがって、LDDの左上隅が2020である。
LDD位置が見いだされると統合タイルは、HDDデータを破棄するために切り取られる。図16でプロセス830でのすべてのさらなるステップは切り取られた統合タイルだけに関し、切り取られた統合タイルはLDDタイルだけを含む。
後続のステップ1645で、統合タイルは0度、90度、180度および270度(4つの可能な方向を表す)だけ回転される。統合タイルを回転する方法が、ここで詳細に議論される。最初に、統合ビット数はそれらの回転後の位置に移動される。これは図21に示される。
図21は、回転していない統合タイルである2110と、反時計回りに90度回転後の統合タイルである2120とを示す。2120での統合ビット数は2140に移動される。
次に、統合ビット数の値はそれらの回転後の値を表すように変更される。上述のように、1つの構成ではグレイ符号化がLDDメッセージおよびHDDメッセージを符号化するために使用される。下記のリストは、3ビット値を反時計回りに90度だけ回転する影響を示す(ここで、ビットは最上位ビットから最下位ビットへ記載されている)。
000→011
001→010
011→110
010→111
110→101
111→100
101→000
100→001
例えば、110(すなわち、デジタルコード値「6」)が90度だけ回転されるとき、その新しい値は101(すなわち、デジタルコード値「5」)である。したがって、統合ビット数をそれらの3ビットグレイコード(bit grey code)に対応するように3のグループ内にグループ化することによって、統合ビット数は下記のように回転されることができる。
Figure 2008181501
ここで、
agg_bit_countは、間隔の最下位ビット(すなわち、第0位ビット)に対する統合ビット数であり、
agg_bit_countは、間隔の第1位ビットに対する統合ビット数であり、
agg_bit_countは、間隔の最上位ビット(すなわち、第2位ビット)に対する統合ビット数であり、
プライム値が新しいagg_bit_count値である。
したがって、統合ビット数を180度だけ回転するために上記の式は、元の統合ビット数に2回適用される。同様に、統合ビット数を270度だけ回転するために上記の式は、元の統合ビット数に3回適用される。
4つの回転された統合タイルが生成されると後続のステップ1650は、正しいLDD方向を決定し、LDDメッセージを復号する。ステップ1650で決定されたLDD方向は、図9のステップ910で計算された方向と異なる。ステップ910での方向は、0度から90度までの範囲内である。しかし、図16のステップ1650でのLDD方向は、グリッドに対してドットパターンの0、90、180または270度の方向である。
ステップ1650で、方向ごとに可能な符号化されたLDDメッセージが決定される。具体的には、所与のビット位置に関する(回転された)統合ビット数が正である場合、ビット値は1である。そうでない場合、ビット値は0である。方向のうちの1つだけが目的にかなった復号されたメッセージを生成することになる。これは、ユーザによって決定されることができる。
あるいは、ステップ1650では、反復ECC復号アルゴリズム(例えば、LDPCまたはターボ符号の復号)が使用される場合、LDD方向は、LDDタイルのすべての4つの方向に対してECC復号の1つの反復を行うことによって決定される。最も少ない誤りを有する方向が正しい方向である。第1の構成では、LDPCがECC符号化のために使用される場合、ステップ1645で計算された統合ビット数が、ビット位置ごとに見込みを計算するために使用される。これらの見込み値がLDPC復号によって使用される。ビット位置ごとの見込みは下記のように計算される。
likelihood=baseagg_bit_count
ここで、
baseは定数値であり(例えば、baseの値は2でありうる)、
agg_bit_countは所与のビット位置に関する統合ビット数である。
LDPCの特性により、LDDタイルの正しい方向は、正しいパリティ検査の最大数を有するものである。次いで、LDDメッセージは、正しい方向に対するLDPC復号を使用して復号されることができる。
5.HDD復号
図22は、ステップ840(図8を参照)をより詳細に示す。図22は、MCMMEバーコードでのHDDメッセージを復号する方法を示す。処理はステップ2210で始まり、ここでHDDタイルサイズが計算される。HDDタイルサイズは、バーコードで自己相関を行うことによって計算され、その自己相関は様々なオフセット値に関する一致値を計算することから成る。オフセット値は、符号器によって事前に決定された最小のHDDタイルサイズから最大のHDDタイルサイズまでの範囲に及ぶ。最大の一致値を有するオフセットがHDDタイルのサイズである。第1の構成では、各オフセット値で一致値を計算する方法は、図17での方法に関して説明されている。他の自己相関計算が一致値を計算するために使用されてもよいことは留意されたい。
図23は、HDDタイルサイズを計算するための一致値のグラフを示す。軸2310は一致値を表し、軸2320は様々なオフセット値を表す。点2330は、所与のオフセット値のプロットされた一致値である。点2340は符号器によって使用された最小のHDDタイルサイズであり、点2350は符号器によって使用された最大のHDDタイルサイズである。第1の構成では、点2340は2LDDステップであり、点2350は7LDDステップである。オフセット値2370に対応するピーク値2360はHDDタイルサイズを表す。つまり、図23でのHDDタイルサイズは2370である。
図22に戻ると、HDDタイルサイズが決定されると後続のステップ2220は、HDDタイル内でのオフセットベクトルをそれらの対応するデジタルコード値に変換する。ステップ2220は、図16でのステップ1620と同様である。次に、ステップ2230はHDDタイルを統合する(ステップ2210で識別されたHDDタイルサイズを使用して)。ステップ2230は、バーコード画像を長さ「HDDタイルサイズ」の領域に分割し、これらの領域を共に統合する。領域を共に統合するために、最初に、各デジタルコード値がその3ビット表現に変換される。次に、領域は、各領域で対応するビットを結合することによって1つの統合領域に併合される。統合ビット数が、HDDタイルでのビット位置ごとに計算される。統合ビット数は、図16でのステップ1630で説明されたものと同一の方法を使用して計算される。さらに、ステップ1650で検出された方向により統合ビット数は、図16でのステップ1645で説明されたものと同一の方法を使用して回転される。
次いで、後続のステップ2240は、HDD位置を見いだすために統合HDDタイルを使用する。ステップ2210がHDDタイルサイズを識別したが、HDDタイルの開始位置は依然として知られていない。
図24は、統合HDDタイル2485の一例を示す。HDDタイル2485は、関連した参照番号2405〜2480を有するLDDタイルと2490と呼ばれるHDDタイルから構成されている。図24でのHDDタイルサイズは4である。HDDタイルの開始位置はLDDタイル2405〜2480のうちの1つで開始されるが、代替の開始位置も可能である。図22のステップ2240で、反復ECC復号が使用される場合、HDD位置は、HDDタイルのすべての可能な開始位置に対してECC復号の1つの反復を行うことによって決定される(図16でのステップ1650と同様)。HDDタイルの開始位置は、誤りの最小数を有するものである。次いで、HDDメッセージが、正しい開始位置からECC復号を使用して復号されることができる。
あるいは、ECCが使用されない場合、HDD符号化ビットメッセージは、可能な復号メッセージを得るためにすべての可能な開始位置で決定されることができる。具体的には、図22でのステップ2230で計算された統合ビット数を使用して、所与のビット位置に関する統合ビット数が正である場合にビット値は1である。そうでない場合、ビット値は0である。開始位置のうちの1つだけが目的にかなった復号メッセージを生成することになる。
6.拡張機能
パターン方向
このMCMME構成に対する拡張機能として、符号化中にバーコードを1つの角度で回転することが可能である。理想的には、回転の角度は45度である。バーコードが1つの角度で配置されるとき、バーコードは人間の目に見にくい。
符号化中に1つの角度で配置されているバーコードを復号するステップ810(図8を参照)は、1つの角度で配置されていないバーコードに対するものと同一のままである。つまり、バーコードを復号する方法は、グリッドナビゲーションのために使用される堅牢なプロセス820によりバーコードのすべての方向を処理することができる。
事前に定義されたLDDステップサイズ
1つの代替構成では、LDDステップサイズが符号化中に事前に定義されることができる。これは符号化中に必要とされる計算量を低減する。具体的には、ステップ710(図7参照)中になされるべき計算がより少ない。
復号中に、LDDステップサイズが固定されている場合になされるべき計算もより少ない。つまり、LDDメッセージを復号するとき、ステップ1610(図16参照)は除外されることができる。これは、復号方法の複雑さを低減する。
平衡変調(BALANCED MODULATION)
適切な平衡変調が復号器の正しい動作のために望ましい(例えば、図8参照)。図8で示される搬送波信号(すなわち、グリッド)を検出するプロセス800は、変調がよく平衡のとれているときに最も良く動作し、変調が極めて不平衡である場合に故障しうる。ほとんどの任意に選択されたデータ内容は、適度によく平衡のとれた変調になるが、8進表現が9進数字にわたって極めて不規則に分配されているデータ内容は不規則な変調を生じることになる。
適切な平衡変調は、よく平衡のとれた固定雑音信号を用いてメッセージデータをXOR(バイナリ排他的OR)し、その後、復号した後に同一のよく平衡のとれた固定雑音信号を用いて符号化しXORすることによって保証されることができる。もちろん、固定信号を用いて元のメッセージを2回XORすることによって、その元のメッセージに対して最終的な変化をもたらさない。よく平衡のとれた固定雑音信号を用いて元のメッセージを1回XORすると、よく平衡のとれた固定雑音信号が元のメッセージデータと相互に関係していない限りよく平衡のとれている変更された伝送可能メッセージをもたらす。よく平衡のとれた固定雑音信号と元のメッセージデータとの間での著しい相関関係を回避すると、バイアスされていない(平衡のとれた)乱数生成器からよく平衡のとれた固定雑音信号を生成し、意図しない相関関係の可能性が無視できるほど小さいように2つの信号の長さを十分に長く選択することによって実際には容易に実現される。
チェックサム
代替構成では、チェックサム(例えば、巡回冗長検査(CRC))が符号化中に使用されることができる。CRCは、伝送中に誤りを検出するために1つのブロックのデータに対して計算される。符号化中にチェックサムが、LDDメッセージおよびHDDメッセージのために計算されることができる。各チェックサムは、それらの対応するメッセージに付加されることができる。このステップは、図7でのステップ710の前に実行されることができる。チェックサムは、ECC方法(例えば、LDPCまたはリードソロモン)に加えてまたは代わりに使用されることができる。
LDD復号中、ステップ1650で(図16参照)正しいLDD方向は、LDDチェックサムと一致する復号されたメッセージを生成する方向である。同様に、HDD復号中、ステップ2240で(図22参照)正しいHDD位置は、HDDチェックサムと一致する復号されたメッセージを生成する位置である。
説明されたMCMME構成がコンピュータ業界およびデータ処理業界に適用可能であることは上記から明らかである。
前述のことは、本発明のいくつかの実施形態だけを説明し、実施形態は例示であり、限定されるものではないので修正および/または変更が本発明の範囲および精神から逸脱することなくそれらになされてよい。
ドットが規則的なグリッド上にもはや完全に配置されないように位相変調されているドットの配列を示す図である。 規則的なグリッド上に配置される規則的なドットの配列を示す図である。 ドットの変調をより詳細に示す図である。 ドットの変調をさらにより詳細に示す図である。 変調型グリッドの数字の配列を示す図である。 MCMMEバーコードの一例を示す図である。 2つのデータチャネルを有するバーコードパターンを符号化するステップを示す流れ図である。 高データ密度メッセージおよび低データ密度メッセージを含むバーコードパターンを復号するステップを示す流れ図である。 バーコードパターンのグリッドを識別するステップを示す流れ図である。 グリッドフィッティングのための初期化ステップを示す流れ図である。 フェーザビンに分割したバーコード画像を示す図である。 意図的に空白である。 グリッドフィッティングするステップを示す流れ図である。 意図的に空白である。 意図的に空白である。 低データ密度メッセージを復号するステップを示す流れ図である。 所与の低データ密度ステップサイズまたは高データ密度タイルサイズに関する一致値を計算するステップを示す流れ図である。 低データ密度ステップサイズを見いだすときの一致値のグラフの一例を示す図である。 ドットオフセットベクトルのその間隔値への変換を示す図である。 低データ密度の位置を見いだすための統合領域を示す図である。 統合ビット数の反時計回りの90度回転を示す図である。 高データ密度メッセージを復号するステップを示す流れ図である。 高データ密度タイルサイズを見いだすときの一致値のグラフの一例を示す図である。 高データ密度タイルの統合領域を示す図である。 ドットのグリッドでグリッド方向、スケールおよび変換を検出するプロセスを示す図である。 グリッド方向を計算するプロセスを示す図である。 グリッド間隔を検出するプロセスを示す図である。 右側の隣接差分ベクトルのリストのグラフを示す図である。 x値の周波数ヒストグラムを示す図である。

Claims (9)

  1. 複数のマークを使用して文書内の情報を符号化する方法であって、前記情報は第1のデータおよび第2のデータを備え、当該方法が、
    第1の繰り返し率で互いに離間された対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して前記第1のデータを符号化するステップと、
    第2の繰り返し率で互いに離間された対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して前記第2のデータを符号化するステップと
    を備え、
    前記第2の繰り返し率は前記第1の繰り返し率と異なり、
    前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれていることを特徴とする方法。
  2. 前記第1のデータを符号化する前記ステップは、前記第1の複数のタイルのそれぞれの中の前記第1のデータのすべてを符号化するステップを備え、
    前記第2のデータを符号化する前記ステップは、前記第2の複数のタイルのそれぞれの中の前記第2のデータのすべてを符号化するステップを備えることを特徴とする請求項1に記載の方法。
  3. 前記第1のデータを符号化する前記ステップは、前記第1のデータに依存するそれらの名目上の位置から第1のマークの配列を空間的に移動するステップを備え、
    前記第2のデータを符号化する前記ステップは、前記第2のデータに依存するそれらの名目上の位置から第2のマークの配列を空間的に移動するステップを備えることを特徴とする請求項1に記載の方法。
  4. 前記第1のマークの配列の前記名目上の位置は規則的な正方形グリッドのグリッド交点であり、
    前記第2のマークの配列の前記名目上の位置は規則的な正方形グリッドのグリッド交点であることを特徴とする請求項3に記載の方法。
  5. 複数のマークを使用して文書内で符号化された情報を復号する方法であって、前記情報が第1のデータおよび第2のデータを備え、前記第1のデータは第1の繰り返し率で互いに離間した対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して符号化されており、前記第2のデータは第2の繰り返し率で互いに離間した対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して符号化されており、前記第2の繰り返し率は前記第1の繰り返し率と異なり、前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれている、当該方法は、
    グリッド交点が前記第1のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第1の繰り返し率を使用して決定するステップと、
    グリッド交点が前記第2のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第2の繰り返し率を使用して決定するステップと、
    前記第1のデータを符号化する前記複数のマークおよび前記第2のデータを符号化する前記複数のマークを復調し、それによって前記情報を再生するステップと
    を備えることを特徴とする方法。
  6. 複数のマークを使用して文書内の情報を符号化する装置であって、前記情報は第1のデータおよび第2のデータを備え、
    プログラムを格納するメモリと、
    前記プログラムを実行するプロセッサと
    を備え、前記プログラムは
    第1の繰り返し率で互いに離間した対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して前記第1のデータを符号化するコードと、
    第2の繰り返し率で互いに離間した対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して前記第2のデータを符号化するコードと
    を備え、
    前記第2の繰り返し率は前記第1の繰り返し率と異なり、
    前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれている
    ことを特徴とする装置。
  7. 複数のマークを使用して文書内で符号化された情報を復号する装置であって、前記情報が第1のデータおよび第2のデータを備え、前記第1のデータは第1の繰り返し率で互いに離間した対応する第1の複数のタイル内で配置された第1の複数の変調されたマークの配列を使用して符号化されており、前記第2のデータは第2の繰り返し率で互いに離間した対応する第2の複数のタイル内で配置された第2の複数の変調されたマークの配列を使用して符号化されており、前記第2の繰り返し率は前記第1の繰り返し率と異なり、前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれている、当該装置が、
    プログラムを格納するメモリと、
    前記プログラムを実行するプロセッサと
    を備え、前記プログラムは
    グリッド交点が前記第1のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第1の繰り返し率を使用して決定するコードと、
    グリッド交点が前記第2のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第2の繰り返し率を使用して決定するコードと、
    前記第1のデータを符号化する前記複数のマークおよび前記第2のデータを符号化する前記複数のマークを復調し、それによって前記情報を再生するコードと
    を備えることを特徴とする装置。
  8. 複数のマークを使用して文書内の情報を符号化する方法を実行するようにプロセッサに命令するコンピュータプログラムを記憶したコンピュータ可読の記憶媒体であって、前記情報は第1のデータおよび第2のデータを備え、前記プログラムは、
    第1の繰り返し率で互いに離間した対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して前記第1のデータを符号化するコードと、
    第2の繰り返し率で互いに離間した対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して前記第2のデータを符号化するコードと
    を備え、
    前記第2の繰り返し率は前記第1の繰り返し率と異なり、
    前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれていることを特徴とする記憶媒体。
  9. 複数のマークを使用して文書内で符号化された情報を復号する方法を実行するようにプロセッサに命令するコンピュータプログラムを記憶したコンピュータ可読の記憶媒体であって、前記情報は第1のデータおよび第2のデータを備え、前記第1のデータは第1の繰り返し率で互いに離間した対応する第1の複数のタイル内に配置された第1の複数の変調されたマークの配列を使用して符号化されており、前記第2のデータは第2の繰り返し率で互いに離間した対応する第2の複数のタイル内に配置された第2の複数の変調されたマークの配列を使用して符号化されており、前記第2の繰り返し率は前記第1の繰り返し率と異なり、前記第2の複数のタイルは前記第1の複数のタイル内に組み込まれている、前記プログラムは、
    グリッド交点が前記第1のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第1の繰り返し率を使用して決定するコードと、
    グリッド交点が前記第2のデータを符号化する前記複数のマークの名目上の位置を表すグリッドの位置および方向を前記第2の繰り返し率を使用して決定するコードと、
    前記第1のデータを符号化する前記複数のマークおよび前記第2のデータを符号化する前記複数のマークを復調し、それによって前記情報を再生するコードと
    を備えることを特徴とする記憶媒体。
JP2007333206A 2006-12-22 2007-12-25 装置、装置で実行される方法およびプログラム Expired - Fee Related JP4739317B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2006252239A AU2006252239B2 (en) 2006-12-22 2006-12-22 Barcode pattern
AU2006252239 2006-12-22

Publications (2)

Publication Number Publication Date
JP2008181501A true JP2008181501A (ja) 2008-08-07
JP4739317B2 JP4739317B2 (ja) 2011-08-03

Family

ID=39246860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007333206A Expired - Fee Related JP4739317B2 (ja) 2006-12-22 2007-12-25 装置、装置で実行される方法およびプログラム

Country Status (4)

Country Link
US (1) US8061611B2 (ja)
EP (1) EP1936542B1 (ja)
JP (1) JP4739317B2 (ja)
AU (1) AU2006252239B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010050932A (ja) * 2008-08-25 2010-03-04 Canon Inc 画像処理装置、方法、及び、プログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982298B (zh) 2002-09-26 2016-12-07 Ip解决方案株式会社 跟踪装置、信息输入输出装置、光学读取装置、以及信息记录/重放装置
AU2005331401B2 (en) 2005-04-28 2012-07-12 Kenji Yoshida Information input/output method using dot pattern
JP3771252B1 (ja) 2005-07-01 2006-04-26 健治 吉田 ドットパターン
AU2007254595B2 (en) * 2007-12-20 2011-04-07 Canon Kabushiki Kaisha Constellation detection
AU2008255227A1 (en) * 2008-12-10 2010-06-24 Canon Kabushiki Kaisha Document security method
JP5677029B2 (ja) 2010-10-26 2015-02-25 キヤノン株式会社 データ移行システム、データ移行方法、プログラム
AU2010257220B2 (en) * 2010-12-15 2014-03-06 Canon Kabushiki Kaisha Data block offset encoding method for coordinates
US20150169928A1 (en) 2012-03-01 2015-06-18 Sys-Tech Solutions, Inc. Methods and a system for verifying the identity of a printed item
SG11201405180SA (en) 2012-03-01 2014-09-26 Sys Tech Solutions Inc Unique identification information from marked features
US20150379321A1 (en) 2012-03-01 2015-12-31 Sys-Tech Solutions, Inc. Methods and a system for verifying the authenticity of a mark
US9940572B2 (en) 2015-02-17 2018-04-10 Sys-Tech Solutions, Inc. Methods and a computing device for determining whether a mark is genuine
HK1252362A1 (zh) 2015-06-16 2019-05-24 系统科技解决方案公司 用於确定标记是否真实的方法和计算装置
CN109074371B (zh) 2016-03-14 2020-05-05 系统科技解决方案公司 用于确定标记是否真实的方法和计算装置
CN109948393B (zh) * 2019-03-22 2022-04-26 凌云光技术股份有限公司 一种一维条码的定位方法及装置
US12014245B2 (en) 2020-06-02 2024-06-18 Sony Group Corporation Information processing device, information processing method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519694A (ja) * 1990-10-30 1993-01-29 Omniplanar Inc 多解像度機械の読み取り可能な記号
JP2003511761A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 光学読み取り用の符号化用紙
WO2004084125A1 (ja) * 2003-03-17 2004-09-30 Kenji Yoshida ドットパターンを用いた情報入出力方法
JP2005037990A (ja) * 2003-07-15 2005-02-10 Dainippon Printing Co Ltd 項目特定システム及びプログラム
JP2005301656A (ja) * 2004-04-12 2005-10-27 Sakae Shibusawa 情報記録方法とその装置、及び多層コード

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5223701A (en) * 1990-10-30 1993-06-29 Ommiplanar Inc. System method and apparatus using multiple resolution machine readable symbols
EP0996083B1 (en) * 1992-09-28 2003-03-26 Olympus Optical Co., Ltd. Information reproducing system for optically reading a dot code from a recording medium
US6032861A (en) * 1995-01-03 2000-03-07 Lemelson; Jerome H. Method and apparatus for encoding and decoding bar codes with primary and secondary information and method of using such bar codes
US6076075A (en) * 1995-09-25 2000-06-13 Cardis Enterprise International N.V. Retail unit and a payment unit for serving a customer on a purchase and method for executing the same
US6256398B1 (en) * 1998-08-22 2001-07-03 Kenneth H. P. Chang Encoding and decoding a message within an image
JP4785310B2 (ja) * 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
US7426479B2 (en) * 2002-03-12 2008-09-16 Ncr Corporation Customer activity data system and method
US7048198B2 (en) * 2004-04-22 2006-05-23 Microsoft Corporation Coded pattern for an optical device and a prepared surface
US20060231611A1 (en) * 2005-03-23 2006-10-19 Chakiris Phil M Radio frequency identification purchase transactions
ITMI20050824A1 (it) * 2005-05-06 2006-11-07 Secure Edge S R L Codice grafico bidimensionale ad alta densita' e sistema di codifica e sistema di decodifica basati su tale codice
JP4810918B2 (ja) * 2005-08-01 2011-11-09 富士ゼロックス株式会社 コードパターン画像生成装置及び方法、コードパターン画像読取装置及び方法、及びコードパターン画像媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519694A (ja) * 1990-10-30 1993-01-29 Omniplanar Inc 多解像度機械の読み取り可能な記号
JP2003511761A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 光学読み取り用の符号化用紙
WO2004084125A1 (ja) * 2003-03-17 2004-09-30 Kenji Yoshida ドットパターンを用いた情報入出力方法
JP2005037990A (ja) * 2003-07-15 2005-02-10 Dainippon Printing Co Ltd 項目特定システム及びプログラム
JP2005301656A (ja) * 2004-04-12 2005-10-27 Sakae Shibusawa 情報記録方法とその装置、及び多層コード

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010050932A (ja) * 2008-08-25 2010-03-04 Canon Inc 画像処理装置、方法、及び、プログラム

Also Published As

Publication number Publication date
AU2006252239A1 (en) 2008-07-10
EP1936542A2 (en) 2008-06-25
US20080149714A1 (en) 2008-06-26
US8061611B2 (en) 2011-11-22
EP1936542B1 (en) 2015-03-18
AU2006252239B2 (en) 2010-04-01
JP4739317B2 (ja) 2011-08-03
EP1936542A3 (en) 2009-12-09

Similar Documents

Publication Publication Date Title
JP4739317B2 (ja) 装置、装置で実行される方法およびプログラム
JP4294025B2 (ja) インターフェース表面を生成する方法、および符号化データを読み取る方法
JP5003225B2 (ja) 符号処理装置
US7694889B2 (en) Printed material having location identification function, two-dimensional coordinate identification apparatus, image-forming apparatus and the method thereof
JP3742389B2 (ja) 巡回位置符号
JP5848464B2 (ja) 二次元コード、二次元コードの作成システムおよび解析プログラム
US6814289B2 (en) Self-registering spread-spectrum barcode method
US20060242562A1 (en) Embedded method for embedded interaction code array
CA2491579C (en) Enhanced approach of m-array decoding and error correction
US8244067B2 (en) Constellation detection
US8100340B2 (en) Process for decoding machine readable coded data
EP1405255B1 (en) Method and device for data decoding
US8544741B2 (en) Data block offset encoding method for coordinates
CN108256609B (zh) 一种圆形寻像图形二维码及其生成和解译方法
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
KR20070048066A (ko) 이미지 코드 생성 장치 및 그 방법과 이미지 코드 디코딩장치 및 그 방법
CN116070661A (zh) 一种自适应屏幕比例的大容量qr码编码、解码方法
CN108664865A (zh) 位置解码方法及装置
AU2008264198A1 (en) 2D barcode with backwards compatability and graceful degradation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4739317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees