(57)【特許請求の範囲】
【請求項１】
情報を暗号化する方法であって、
ビット列として表される情報シーケンスを曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップと、
前記少なくとも1つの閉曲線を2次元パターンに埋め込むステップと、
前記2次元パターンを商品上に埋め込むステップとを含み、
ビット列を曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップは、
前記ビット列内の同じ値のビットの各連続部分列を弧に変換するステップであって、各弧の半径は各サブシーケンス内のビットの数に対応し、高い値のビットのシーケンスに対応する弧は低い値のビットのシーケンスに対応する弧の符号と反対の符号を有する、ステップと、
弧シーケンスの終点を前記弧シーケンスの始点に連結することによって前記弧シーケンスを閉曲線に変換するステップとを含む方法。
【請求項２】
前記ビット列を複数の閉曲線に変換するステップと、前記複数の閉曲線の各々を前記2次元パターン内に埋め込むステップとをさらに含む請求項1に記載の方法。
【請求項３】
前記少なくとも1つの閉曲線は、単純閉曲線である請求項1に記載の方法。
【請求項４】
前記ビット列は、QRコード（登録商標、以下同じ）を表す請求項1に記載の方法。
【請求項５】
情報を暗号化する方法であって、
ビット列として表される情報シーケンスを曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップと、
前記少なくとも1つの閉曲線を2次元パターンに埋め込み、前記2次元パターンを商品上に埋め込むステップとを含み、
前記2次元パターンは、複数の強度レベルを有するカムフラージュパターンである方法。
【請求項６】
前記ビット列を複数の閉曲線に変換するステップと、前記複数の閉曲線の各々を前記2次元パターン内に埋め込むステップとをさらに含み、前記2次元パターン内に埋め込まれた前記複数の閉曲線のうちの1つは、各閉曲線に対する始点/終点および前記複数の閉曲線に対する横断順序の一方または両方を含む、残りの閉曲線の符号化情報を含む基準曲線である請求項5に記載の方法。
【請求項７】
ビット列を曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップは、
基準点を受け取るステップと、
前記ビット列内の同じ値のビットの部分列から弧を生成するステップであって、同じ値のビットの前記部分列の長さは、前記弧上の選択された点から前記基準点までの距離に対応し、同じ値のビットの前記部分列内の前記ビットの値は、前記選択された点における前記基準点に関する前記閉曲線の符号定数に対応する、ステップと、
事前定義された方向に関する前記基準点から前記選択された点へのベクトルの角度を保存するステップと、
弧を生成する前記ステップと角度を保存する前記ステップとを前記ビット列全体が一連の弧に変換されるまで繰り返すステップと、
前記弧のうちの1つまたは複数が非連結である場合、非連結弧の隣接する対の間に連結弧を生成して少なくとも1つの閉曲線を生成するステップを含む請求項5に記載の方法。
【請求項８】
ビット列を曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップは、
閉境界曲線および基準点を受け取るステップと、
前記ビット列内の同じ値のビットの部分列から前記閉境界曲線の内部に弧を生成するステップであって、同じ値のビットの前記部分列の長さは、前記閉境界曲線からの弧のオフセットに対応し、同じ値のビットの前記部分列内の前記ビットの値は、前記弧の符号定数に対応する、ステップと、
前記弧上の選択された点から前記基準点へのベクトルの長さおよび事前決定された方向に関する前記ベクトルの角度オフセットを保存するステップと、
弧を生成する前記ステップと長さおよび角度オフセットを保存する前記ステップとを前記ビット列全体が一連の弧に変換されるまで繰り返すステップと、
前記閉境界曲線からの同じオフセットの前記弧の1つまたは複数が非連結である場合に、非連結弧の隣接する対の間に連結弧を生成して等高線図を表す前記閉境界曲線内に封じ込められている複数のネストした閉曲線を生成するステップとを含む請求項5に記載の方法。
【請求項９】
ビット列を曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップは、
複数の閉曲線を生成するステップを含み、
前記複数の閉曲線のうちの1つは基準曲線であり、他の閉曲線の各々は、アフィン変換によって基準曲線から導出され、各アフィン変換は、平行移動、鏡映、回転、拡大縮小変換、相似変換、および横ずれ変換から選択された少なくとも2つの変換の組合せであり、
前記ビット列を前記複数の閉曲線に変換するステップは、同じ値のビットの各部分列を前記複数の閉曲線のうちの1つに変換するステップを含み、同じ値のビットの数は、前記少なくとも2つの変換のうちの1つに対応し、前記同じ値のビットの前記値は、前記少なくとも2つの変換のうちの他の変換に対応する請求項5に記載の方法。
【請求項１０】
ビット列を曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成するステップは、
同じ値のビットの各部分列を前記少なくとも1つの閉曲線の内部の部分領域に変換するステップであって、各部分領域は前記少なくとも1つの閉曲線の前記内部を貫通する事前決定された分離距離を有する一対の平行線セグメントと、一対の曲線セグメントとを境界とし、
各前記部分領域の面積は、同じ値のビットの対応する部分列の長さに対応し、前記同じ値のビットの値は、前記部分領域の境界となる前記一対の曲線セグメントの少なくとも1つの符号定数に対応する、ステップと、
平行線セグメントの隣接する対に沿って連続する部分領域を付加するステップであって、曲線セグメントの前記対は、少なくとも1つの閉曲線を形成する、ステップとを含む請求項5に記載の方法。
【請求項１１】
コンピューティングデバイスによって実行されると、情報を復号することに関連付けられた操作を実行する命令を記憶するコンピュータ可読記憶デバイスであって、前記操作は、
商品上に埋め込まれた2次元パターンの2値化された画像から少なくとも1つの閉曲線を抽出するステップと、
前記少なくとも1つの閉曲線をビット列として表される情報シーケンスに変換するステップであって、前記情報シーケンスは前記商品の認証情報を表す、ステップと、
前記情報シーケンスから、前記商品を認証するステップとを含み、
前記少なくとも1つの閉曲線をビット列に変換するステップは、
前記少なくとも1つの閉曲線を弧のシーケンスに分け、各弧の符号定数および半径を決定するステップと、
弧の前記シーケンスを前記ビット列に変換するステップであって、連続する同じ値のビットの各サブシーケンスは、弧に対応し、各サブシーケンスの長さは、各弧の半径に対応し、各サブシーケンス内の前記ビットの前記値は、各弧の符号定数に対応する、ステップとを含むコンピュータ可読記憶デバイス。
【請求項１２】
前記操作は前記2次元パターンから複数の閉曲線を抽出するステップと、前記複数の閉曲線の各々から導出された前記ビット列を、前記情報シーケンスを表す単一のビット列に連接するステップとをさらに含む請求項11に記載のコンピュータ可読記憶デバイス。
【請求項１３】
前記少なくとも1つの閉曲線は、単純閉曲線である請求項11に記載のコンピュータ可読記憶デバイス。
【請求項１４】
前記ビット列は、QRコードを表す請求項11に記載のコンピュータ可読記憶デバイス。
【請求項１５】
コンピューティングデバイスによって実行されると、情報を復号することに関連付けられた操作を実行する命令を記憶するコンピュータ可読記憶デバイスであって、前記操作は、
商品上に埋め込まれた2次元パターンの2値化された画像から少なくとも1つの閉曲線を抽出するステップと、
前記少なくとも1つの閉曲線をビット列として表される情報シーケンスに変換するステップとを含み、前記2次元パターンは、複数の階調レベルを有するカムフラージュパターンであり、前記情報シーケンスは前記商品の認証情報を表し、且つ、前記情報シーケンスから、前記商品を認証するコンピュータ可読記憶デバイス。
【請求項１６】
前記操作は前記2次元パターンから複数の閉曲線を抽出するステップと、前記複数の閉曲線の各々から導出された前記ビット列を、前記情報シーケンスを表す単一のビット列に連接するステップとをさらに含み、
前記2次元パターンから抽出された前記複数の閉曲線のうちの1つは、各閉曲線に対する始点/終点および前記複数の閉曲線に対する横断順序の一方または両方を含む、残りの閉曲線の復号情報を含む基準曲線である請求項15に記載のコンピュータ可読記憶デバイス。
【請求項１７】
前記少なくとも1つの閉曲線をビット列に変換するステップは、
基準点からのベクトルを前記閉曲線上の選択された点まで延ばすステップを含み、
前記基準点から前記選択された点へのベクトルの長さは、前記ビット列の部分列内の同じ値のビットの数に対応し、同じ値のビットの前記部分列内の前記ビットの値は、前記選択された点における前記閉曲線の符号定数によって決定される請求項15に記載のコンピュータ可読記憶デバイス。
【請求項１８】
前記少なくとも1つの閉曲線をビット列に変換するステップは、
基準点および事前定義された方向に関する初期角度を受け取るステップと、
前記初期角度での前記基準点からのベクトルを前記閉曲線上の選択された点まで延ばすステップと、
前記ベクトルを事前決定された角度オフセットだけオフセットして前記基準点からの別のベクトルを前記閉曲線上の別の点まで延ばすステップと、
前記ベクトルを事前決定された角度オフセットだけオフセットして前記基準点からの別のベクトルを前記閉曲線上の別の点まで延ばす前記ステップを、前記閉曲線を横切ってしまうまで繰り返すステップとを含み、
前記ベクトルの長さは、ビットの部分列内の同じ値のビットの数に対応し、同じ値のビットの前記部分列内の前記ビットの値は、前記点における前記閉曲線の符号定数によって決定され、少なくとも1つの閉曲線は、ビット列として表される情報シーケンスに変換される請求項15に記載のコンピュータ可読記憶デバイス。
【請求項１９】
前記少なくとも1つの閉曲線は、等高線図を表す複数のネストした閉曲線を囲み、前記少なくとも1つの閉曲線をビット列に変換するステップは、
基準点および事前定義された方向に関する初期角度を受け取るステップと、
前記複数のネストした閉曲線を前記ビット列に、前記初期角度の前記基準点からのベクトルを前記ネストした閉曲線のうちの1つの上の点への事前決定された距離だけ延ばすことによって、および事前決定された角度オフセットだけ前記ベクトルを次々にオフセットすることによって変換するステップとを含み、
前記複数のネストした閉曲線の外側等高線からの前記ネストした閉曲線のうちの前記1つの閉曲線のオフセットは、前記ビット列の部分列内の同じ値のビットの数に対応し、同じ値のビットの前記部分列内の前記ビットの値は、前記点における前記ネストした閉曲線のうちの1つの閉曲線の符号定数によって決定される請求項15に記載のコンピュータ可読記憶デバイス。
【請求項２０】
複数の閉曲線は、前記2値化された2次元パターンから抽出され、
前記複数の閉曲線のうちの1つは基準曲線であり、他の閉曲線の各々は、アフィン変換によって基準曲線から導出され、各アフィン変換は、平行移動、鏡映、回転、拡大縮小変換、相似変換、および横ずれ変換から選択された2つまたはそれ以上の変換の組合せであり、
前記複数の閉曲線をビット列に変換するステップは、前記複数の閉曲線の各々を同じ値のビットの部分列に変換するステップを含み、同じ値のビットの数は、前記2つまたはそれ以上の変換のうちの1つに対応し、前記同じ値のビットの前記値は、前記2つまたはそれ以上の変換のうちの他の変換に対応する請求項15に記載のコンピュータ可読記憶デバイス。
【請求項２１】
前記少なくとも1つの閉曲線をビット列に変換するステップは、
前記少なくとも1つの閉曲線の内部を部分領域に分割するステップであって、各部分領域は前記少なくとも1つの閉曲線の前記内部を貫通する事前決定された分離距離を有する一対の平行線セグメントと、前記曲線の各側の一対の曲線セグメントとを境界とする、ステップと、
前記閉曲線をビット列として表される情報シーケンスに変換するステップであって、各部分領域の面積は、前記ビット列の部分列内の同じ値のビットの数に対応し、前記同じ値のビットの値は、前記部分領域の境界となる前記一対の曲線セグメントの少なくとも1つの符号定数に対応する、ステップとを含む請求項15に記載のコンピュータ可読記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明概念の実施形態は、カムフラージュパターンなどの、パターン内に埋め込まれた2次元(2D)曲線内に情報を符号化し、復号することを対象にしている。
【背景技術】
【０００２】
商品を認証する一方法は、商品の原産地を識別することができる商標、バーコード、またはQRコード（登録商標、以下同じ）などの、識別マーカーを商品に付けることである。しかしながら、これらの識別マーカーは、商品から外されることもあり、偽造商品は、偽造商品を、通常は特定の識別コードによって識別される特定のメーカーまたは原産地に偽って関連付けることができる識別コードを添付され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で説明されているような本発明概念の例示的な実施形態は、一般的に、2次元(2D)曲線内に情報を符号化し、復号するためのシステムおよび方法を含む。ビット列として符号化され得る、すなわち、2値化され得る情報はいかなるタイプのものも、2D曲線に符号化され得る。本発明概念の一実施形態によって2D曲線に符号化され得る商業上重要な2つの例示的な、非制限的コードは、1次元製品バーコードおよび2D QRコードである。2値化された2D曲線は、2Dパターン内に埋め込まれ、それにより2D曲線の存在を隠すことができ、2Dパターンは、衣料品、DVD、または集積回路などの、商品上にインプリントまたは商品の一部とされ得るか、または製品ラベルの全体または一部であってよい。
【０００４】
本発明概念の一実施形態によれば、ビット列として表されている情報シーケンスを曲線コーディングシステム(curvilinear coding system)に変換して少なくとも1つの閉曲線を形成するステップと、少なくとも1つの閉曲線を2次元パターン内に埋め込むステップとを含む、情報を暗号化する方法が提供される。
【０００５】
本発明概念のさらなる実施形態によれば、この方法は、ビット列内の同じ値のビットの各連続部分列を弧に変換するステップであって、各弧の半径は各サブシーケンス内のビットの数に対応し、高い値のビットのシーケンスに対応する弧は、低い値のビットのシーケンスに対応する弧の符号と反対の符号を有する、ステップと、弧シーケンスの終点を弧シーケンスの始点に連結することによって弧シーケンスを閉曲線に変換するステップとを含む。
【０００６】
本発明概念のさらなる実施形態によれば、この方法は、ビット列を複数の閉曲線に変換するステップと、複数の閉曲線の各々を2次元パターン内に埋め込むステップとを含む。
【０００７】
本発明概念のさらなる実施形態によれば、2次元パターン内に埋め込まれた複数の閉曲線のうちの1つは、各閉曲線に対する始点/終点および複数の閉曲線に対する横断順序の一方または両方を含む、残りの閉曲線の符号化情報を含む基準曲線である。
【０００８】
本発明概念のさらなる実施形態によれば、2次元パターンは、複数の強度レベルを有するカムフラージュパターンである。本発明概念のさらなる実施形態によれば、少なくとも1つの閉曲線は、単純閉曲線である。本発明概念のさらなる実施形態によれば、ビット列は、QRコードを表す。
【０００９】
本発明概念のさらなる実施形態によれば、この方法は、基準点を受け取るステップと、ビット列内の同じ値のビットの部分列から弧を生成するステップであって、同じ値のビットの部分列の長さは、弧上の選択された点から基準点までの距離に対応し、同じ値のビットの部分列内のビットの値は、選択された点における基準点に関する閉曲線の符号定数に対応する、ステップと、事前定義された方向に関する基準点から選択された点へのベクトルの角度を保存するステップと、弧を生成するステップと角度を保存するステップとをビット列全体が一連の弧に変換されるまで繰り返すステップとを含む。本発明概念のさらなる実施形態によれば、この方法は、弧の1つまたは複数が非連結である場合に、非連結弧の隣接する対の間に連結弧を生成して少なくとも1つの閉曲線を生成するステップを含む。
【００１０】
本発明概念のさらなる実施形態によれば、この方法は、閉境界曲線および基準点を受け取るステップと、ビット列内の同じ値のビットの部分列から閉境界曲線の内部に弧を生成するステップであって、同じ値のビットの部分列の長さは、閉境界曲線からの弧のオフセットに対応し、同じ値のビットの部分列内のビットの値は、弧の符号定数に対応する、ステップと、弧上の選択された点から基準点へのベクトルの長さおよび事前決定された方向に関するベクトルの角度オフセットを保存するステップと、弧を生成するステップと長さおよび角度オフセットを保存するステップとをビット列全体が一連の弧に変換されるまで繰り返すステップとを含む。
【００１１】
本発明概念のさらなる実施形態によれば、閉境界曲線からの同じオフセットの弧の1つまたは複数が非連結である場合、この方法は、非連結弧の隣接する対の間に連結弧を生成して等高線図を表す閉境界曲線内に封じ込められている複数のネストした閉曲線を生成するステップを含む。
【００１２】
本発明概念のさらなる実施形態によれば、この方法は、複数の閉曲線を生成するステップであって、複数の閉曲線のうちの1つは基準曲線であり、他の閉曲線の各々は、アフィン変換によって基準曲線から導出され、各アフィン変換は、平行移動、鏡映、回転、拡大縮小変換、相似変換、および横ずれ変換から選択された少なくとも2つの変換の組合せであり、ビット列を複数の閉曲線に変換するステップは、同じ値のビットの各部分列を複数の閉曲線のうちの1つに変換するステップを含み、同じ値のビットの数は、少なくとも2つの変換のうちの1つに対応し、同じ値のビットの値は、少なくとも2つの変換のうちの他の変換に対応する、ステップを含む。
【００１３】
本発明概念のさらなる実施形態によれば、この方法は、同じ値のビットの各部分列を少なくとも1つの閉曲線の内部の部分領域に変換するステップであって、各部分領域は少なくとも1つの閉曲線の内部を貫通する事前決定された分離距離を有する一対の平行線セグメントと、一対の曲線セグメントとを境界とし、各部分領域の面積は、同じ値のビットの対応する部分列の長さに対応し、同じ値のビットの値は、部分領域の境界となる一対の曲線セグメントの少なくとも1つの符号定数に対応する、ステップと、平行線セグメントの隣接する対に沿って連続する部分領域を付加するステップであって、曲線セグメントの対は、少なくとも1つの閉曲線を形成する、ステップとを含む。
【００１４】
本発明概念の別の実施形態によれば、コンピュータによって可読である非一時的プログラム記憶デバイスが提供され、これは情報を復号する方法ステップを実行するためにコンピュータによって実行される命令のプログラムを有形に具現化し、この方法は2値化された2次元パターンから少なくとも1つの閉曲線を抽出するステップと、少なくとも1つの閉曲線をビット列として表される情報シーケンスに変換するステップとを含む。
【００１５】
本発明概念のさらなる実施形態によれば、この方法は、少なくとも1つの閉曲線を弧のシーケンスに分けるステップと、各弧の符号定数および半径を決定するステップと、弧のシーケンスをビット列に変換するステップとを含み、連続する同じ値のビットの各サブシーケンスは、弧に対応し、各サブシーケンスの長さは、各弧の半径に対応し、各サブシーケンス内のビットの値は、各弧の符号定数に対応する。本発明概念のさらなる実施形態によれば、2次元パターンは、複数の階調レベルを有するカムフラージュパターンである。
【００１６】
本発明概念のさらなる実施形態によれば、この方法は、2次元パターンから複数の閉曲線を抽出するステップと、複数の閉曲線の各々から導出されたビット列を、情報シーケンスを表す単一のビット列に連接するステップとを含む。
【００１７】
本発明概念のさらなる実施形態によれば、2次元パターンから抽出された複数の閉曲線のうちの1つは、各閉曲線に対する始点/終点および複数の閉曲線に対する横断順序の一方または両方を含む、残りの閉曲線の復号情報を含む基準曲線である。本発明概念のさらなる実施形態によれば、少なくとも1つの閉曲線は、単純閉曲線である。本発明概念のさらなる実施形態によれば、ビット列は、QRコードを表す。
【００１８】
本発明概念のさらなる実施形態によれば、この方法は、基準点からのベクトルを閉曲線上の選択された点まで延ばすステップであって、基準点から選択された点へのベクトルの長さは、ビット列の部分列内の同じ値のビットの数に対応し、同じ値のビットの部分列内のビットの値は、選択された点における閉曲線の符号定数によって決定される、ステップを含む。
【００１９】
本発明概念のさらなる実施形態によれば、この方法は、基準点および事前定義された方向に関する初期角度を受け取るステップと、初期角度での基準点からのベクトルを閉曲線上の選択された点まで延ばすステップと、ベクトルを事前決定された角度オフセットだけオフセットして基準点からの別のベクトルを閉曲線上の別の点まで延ばすステップと、ベクトルを事前決定された角度オフセットだけオフセットして基準点からの別のベクトルを閉曲線上の別の点まで延ばすステップを、閉曲線を横切ってしまうまで繰り返すステップとを含み、ベクトルの長さは、ビットの部分列内の同じ値のビットの数に対応し、同じ値のビットの部分列内のビットの値は、その点における閉曲線の符号定数によって決定され、少なくとも1つの閉曲線は、ビット列として表される情報シーケンスに変換される。
【００２０】
本発明概念のさらなる実施形態によれば、少なくとも1つの閉曲線は、等高線図を表す複数のネストした閉曲線を囲み、少なくとも1つの閉曲線をビット列に変換するステップは、基準点および事前定義された方向に関する初期角度を受け取るステップと、複数のネストした閉曲線をビット列に、初期角度の基準点からのベクトルをネストした閉曲線のうちの1つの上の点への事前決定された距離だけ延ばすことによって、および事前決定された角度オフセットだけベクトルを次々にオフセットすることによって変換するステップとを含み、複数のネストした閉曲線の外側等高線からのネストした閉曲線のうちの1つのオフセットは、ビット列の部分列内の同じ値のビットの数に対応し、同じ値のビットの部分列内のビットの値は、その点におけるネストした閉曲線のうちの1つの閉曲線の符号定数によって決定される。
【００２１】
本発明概念のさらなる実施形態によれば、複数の閉曲線が、2値化された2次元パターンから抽出され、複数の閉曲線のうちの1つは基準曲線であり、他の閉曲線の各々は、アフィン変換によって基準曲線から導出され、各アフィン変換は、平行移動、鏡映、回転、拡大縮小変換、相似変換、および横ずれ変換から選択された2つまたはそれ以上の変換の組合せであり、複数の閉曲線をビット列に変換するステップは、複数の閉曲線の各々を同じ値のビットの部分列に変換するステップを含み、同じ値のビットの数は、2つまたはそれ以上の変換のうちの1つに対応し、同じ値のビットの値は、2つまたはそれ以上の変換のうちの他の変換に対応する。
【００２２】
本発明概念のさらなる実施形態によれば、この方法は、少なくとも1つの閉曲線の内部を部分領域に分割するステップであって、各部分領域は少なくとも1つの閉曲線の内部を貫通する事前決定された分離距離を有する一対の平行線セグメントと、曲線の各側の一対の曲線セグメントとを境界とする、ステップと、閉曲線をビット列として表される情報シーケンスに変換するステップとを含み、各部分領域の面積は、ビット列の部分列内の同じ値のビットの数に対応し、同じ値のビットの値は、部分領域の境界となる一対の曲線セグメントの少なくとも1つの符号定数に対応する。
【００２３】
本発明概念の別の実施形態によれば、情報を暗号化する方法が提供され、この方法はビット列として表されている情報シーケンスを曲線コーディングシステムに、ビット列内の同じ値のビットの各連続部分列を弧に変換することによって変換するステップであって、同じ値のビットの各部分列の長さは、弧上の選択された点から基準点までの距離に対応し、同じ値のビットの部分列内のビットの値は、選択された点における基準点に関する弧の符号定数に対応する、ステップと、弧を閉曲線に連結するステップと、閉曲線を2次元パターンに埋め込むステップとを含む。
【図面の簡単な説明】
【００２４】
【図１】本発明概念の一実施形態による、識別QRコードが埋め込まれているカムフラージュパターンのジャケットの一例を示す図である。
【図２】本発明概念の一実施形態による、図1から取ったカムフラージュパターンの拡大された部分を示す図である。
【図３】本発明概念の一実施形態による、図3に示されているカムフラージュパターンを2値化した結果得られる黒色背景に埋め込まれた複数の白色形状を示す図である。
【図４（ａ）】本発明概念の一実施形態による、図3の形状からそれぞれ抽出された例示的な弧を示す図である。
【図４（ｂ）】本発明概念の一実施形態による、図3の形状からそれぞれ抽出された例示的な弧を示す図である。
【図４（ｃ）】本発明概念の一実施形態による、図3の形状からそれぞれ抽出された例示的な弧を示す図である。
【図５（ａ）】本発明概念の一実施形態による、異なる符号定数および半径を有する複数の弧を含む単純な閉曲線から導出されたビット列を示す図である。
【図５（ｂ）】本発明概念の一実施形態による、異なる符号定数および半径を有する複数の弧を含む単純な閉曲線から導出されたビット列を示す図である。
【図５（ｃ）】本発明概念の一実施形態による、異なる符号定数および半径を有する複数の弧を含む単純な閉曲線から導出されたビット列を示す図である。
【図６】本発明概念の一実施形態による、図5に示されているビット列から形成されたQRコードを示す図である。
【図７】本発明概念の一実施形態による、それぞれのベクトルの始点となる2つの基準点を有する閉曲線を示す図である。
【図８（ａ）】本発明概念の一実施形態による、等高線図の外側境界を表す閉曲線80を示す図である。
【図８（ｂ）】本発明概念の一実施形態による、図8(a)の閉曲線をオフセットすることによって形成される複数のネストした曲線を含む等高線図、および等高線図内の点へのベクトルの始点となる基準点を示す図である。
【図９（ａ）】本発明概念の一実施形態による、図9(a)の曲線が基準曲線である閉曲線を示す図である。
【図９（ｂ）】本発明概念の一実施形態による、図9(b)の曲線がアフィン変換によって基準曲線から生成される、閉曲線を示す図である。
【図９（ｃ）】本発明概念の一実施形態による、図9(c)の曲線がアフィン変換によって基準曲線から生成される、閉曲線を示す図である。
【図１０】本発明概念の一実施形態による、内部が部分領域に分割され、各部分領域が同じ値のビットのサブシーケンスに対応する、別の曲線を示す図である。
【図１１（ａ）】本発明概念の一実施形態による、閉曲線をビット列に変換するステップの一例を示す図である。
【図１１（ｂ）】本発明概念の一実施形態による、閉曲線をビット列に変換するステップの一例を示す図である。
【図１１（ｃ）】本発明概念の一実施形態による、閉曲線をビット列に変換するステップの一例を示す図である。
【図１２】本発明概念の一実施形態による、等高線のシーケンス内に情報を暗号化する方法のフローチャートである。
【図１３】本発明概念の一実施形態による、等高線のシーケンス内に符号化されている情報を復号する方法のフローチャートである。
【図１４】本発明概念の一実施形態による、2次元(2D)曲線内に情報を符号化し、復号するための方法を実装するための例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２５】
本明細書で説明されているような本発明概念の例示的な実施形態は、一般的に、2次元(2D)曲線内に情報を符号化し、復号するための方法を含む。したがって、本発明概念は、さまざまな修正形態および代替的形態の影響を受けるが、その特定の実施形態は、図面の例で示され、本明細書において詳細に説明される。しかしながら、本発明概念を開示されている特定の形態に限定する意図はなく、それどころか、本発明概念は、本発明概念の精神および範囲内に収まるすべての修正形態、等価形態、および代替的形態を対象とすることを理解されるべきである。
【００２６】
偽造商品が誤識別されるのを防ぐことができる、商品が適切に認証されることを確実にする一方法は、識別マーカーを商品内に、通常見ただけでは商品内に隠れて実質的に見えないが、撮像技術を用いれば見えるように埋め込む方法である。たとえば、図1は、識別QRコードが埋め込まれているカムフラージュパターンのジャケットの一例を示している。図2は、図1の領域11から取ったカムフラージュパターンの拡大された部分を示している。カムフラージュパターンは、複数の強度レベルによって表され得る複数の類似の色を有する。ビットパターンは、たとえば、2つの最下位ビットの値を変更することによってそのようなパターン内に隠され得る。このタイプの符号化は、カムフラージュパターンから実質的に区別できないビットパターンをもたらす。このカムフラージュパターンは、図3に示されている、指定されたカラーキーソフトウェアを使用して、白黒画像に2値化され得る。図3は、黒色背景内に埋め込まれた複数の白色形状を示している。黒色背景の選択は、例示的および非限定的であり、指定されたカラーキーソフトウェアは白色背景上に黒色形状を生成することも可能であることに留意されたい。形状と背景との間の境界は、2次元(2D)の単純閉曲線によって表されるものとしてよく、各々は明確に定義された内部、すなわち、形状の内部、および明確に定義された外部、すなわち背景を有する。各曲線に対する始点/終点が定義された後、曲線は、弧の連結されたシーケンスに細分される。正または負とすることができる、弧の符号定数は、弧が単純閉曲線の内部へ内向きに凹形であるか、または外部に向かって凹形であるかによって決定され得る。Math Worksから市販されているMATLABなどの既存の数学計算環境は、一組の2D単純閉曲線が与えられた場合に、図4(a)〜図4(c)に例示されているように、曲線から弧を抽出し、その半径および中心を決定することができる組込み関数を備えている。図4(a)〜図4(c)は、図3内の形状31、32、および33からそれぞれ抽出された3つの例示的な弧を示している。したがって、異なる符号定数および半径を有する複数の弧を含む単純閉曲線は、符号定数をビット値に、半径をビット長に関連付けることによって、図5(a)〜図5(c)に例示されているように、ビット列に変換され得る。ビット列は、バーコード、または図6に例示されているQRコードなどの、製品コードの全体または一部を表すことができる。
【００２７】
本発明概念の他の実施形態において、複数の弧は結合されて、複数の2次元曲線を形成するものとしてよく、そのような曲線の配列が、カムフラージュパターン内に埋め込まれ得る。それに加えて、本発明概念の他の実施形態において、曲線の配列のうちの1つの曲線は、残りの曲線に対する符号化情報を含む基準曲線であってよい。この符号化情報は、曲線の始点および終点のうちの一方または両方、曲線の配列の横断順序、および曲線がQRコードを表すかどうかなどの曲線によって符号化された情報のタイプを含み得る。曲線の配列がQRコードを表している場合、基準曲線は、QRコードのサイズ、およびQRコードが個別の閉曲線にどのように分けられるかに関する情報をさらに含み得る。各曲線の始点および終点に関する情報は、たとえば、各曲線の内部の重心点、および曲線との交差点が始点/終点となる重心点を通るオフセット角を含み得る。本発明概念の実施形態によれば、基準曲線は、曲線の配列内の左上曲線であってよい。しかしながら、この基準曲線の配置は、例示的および非限定的であり、基準曲線は、曲線の配列間の任意の位置に配置し得る。
【００２８】
図7〜図10は、本発明概念の他の実施形態による等高線内に情報を符号化する他の方法を例示している。
【００２９】
図7は、ベクトル73、74のそれぞれの、始点となる2つの基準点71、72を有する閉曲線70を示している。基準点72は、この閉曲線を境界とする領域の重心点であってよいが、それに限定されない。いずれの場合も、基準点から曲線上の点までのベクトルの長さは、同じ値のビットの長さに対応し、曲線の符号定数、すなわち、曲線が曲線点において凹/凸であるかどうかは、ビット値に対応する。同じ値のビットの次のサブシーケンスは、ベクトルを基準点から事前指定された角度オフセット15だけ前進させることによって見つけられる。
【００３０】
図8(a)は、等高線図の外側境界を表す閉曲線80を示しているが、図8(b)は、図8(a)の閉曲線をオフセットすることによって形成される複数のネストした曲線を含む等高線図81、および等高線図81内の点84へのベクトル83の始点となる基準点82を示している。新しい曲線は、固定された増分で外側境界から曲線が自分自身と交差するまで内側へ進むように定義され得る。内側への曲線は、外側境界よりも上に高さを定義し得る。情報シーケンスの始まりに対応する初期点は、初期ベクトル83を基準点82から事前決定された距離だけ延ばすことによって見つけられ得る。事前決定された距離は、データベース内で見つかるものとしてよい。同じ値のビットの数は、初期点における等高線高さに対応し、ビット値は、その点における曲線の凹性/凸性によって与えられる。次の点は、初期ベクトル83を、データベース内に見つかるものであってもよい事前決定された角度増分だけオフセットするステップと、ベクトルを、複数のネストした曲線のうちの1つの曲線上の点まで事前決定された距離だけ延ばすステップとによって見つけられる。
【００３１】
図9(a)〜図9(c)は3つの閉曲線を示しており、図9(a)の曲線は、基準曲線とみなされてよい。図9(b)〜図9(c)に例示されているような他の曲線は、アフィン変換によって基準曲線から生成されてよく、各連続する曲線は、同じ値のビットのその後のサブシーケンスと関連付けられている。アフィン変換は、平行移動、鏡映、回転、拡大縮小変換、相似変換、および横ずれマッピングの2つまたはそれ以上の組合せであってよい。たとえば、平行移動距離、拡大縮小度、横ずれによる傾斜の大きさなどは情報シーケンス内の同じ値のビットの数に対応するものとしてよいが、鏡映または回転の角度オフセットはビット値に対応する。たとえば、例示的な、非限定的なビット値符号化は、1番目のn度の角度オフセットは1を表し、2番目のn度は0を表し、3番目のn度は1を表し、などとなり得る。回転オフセットをビット値にマッピングするために使用される先行する方式も、平行移動、拡大縮小、または横ずれとともに使用され得ることに留意されたい。符号化方式は、データベースから決定され得る。
【００３２】
図10は、内部が部分領域101に分割され、各部分領域が同じ値のビットのサブシーケンスに対応する、別の曲線100を示している。明確にするため、部分領域101の一部のみが図に示されていることに留意されたい。各部分領域の面積は、同じ値のビットの数に対応するものとしてよく、ビット値は、いずれかの終点において境界曲線の凹性/凸性によって決定され得る。たとえば、凹形上側曲線は0であってよく、他の任意の組合せは1であってよい。他の組合せ定義も可能である。
【００３３】
本発明概念の他の実施形態において、対象物は、等高線コードを読み取るためのすべての情報、たとえば、垂直の定義、基準点の位置、および次の曲線点への角度オフセットなどを含む機密データベースへのキーを含む、マーカー、たとえば、星形を有するものとしてよい。
【００３４】
図11(a)〜図11(c)は、本発明概念の一実施形態による、閉曲線をビット列に変換するステップの一例を示している。図11(a)は、カムフラージュパターンに埋め込まれている曲線110を示しており、図11(b)は、カムフラージュパターンから抽出された曲線110を示している。図11(b)は、基準点111、および基準点から曲線110まで延在している複数のベクトル112、113、114、115、116、117、および118をさらに示している。基準点111の位置およびベクトル112から118の各々の角度オフセットは、上述の秘密データベースから読み出され得る。一組の例示的な、非限定的な角度オフセットは、ベクトル112、113、114、115、116、117、および118に対してそれぞれ、0°、40°、53°、54°、48°、44°、および62°であってよい。この例において、角度オフセットは、連続するベクトルの間の角度であることに留意されたい。各ベクトルに関連付けられているビット部分列の値は、ベクトルが曲線と交差する弧の符号定数によって決定され得る。この例では、値0または黒色は、外向きに凹形である弧に関連付けられ、値1または白色は、内向きに凹形である弧に関連付けられる。それに加えて、同じ値のビットの数は、関連付けられているベクトルの長さに対応する。一組の例示的な、非限定的なビット長は、ベクトル112、113、114、115、116、117、および118に対してそれぞれ、7黒色、2白色、1黒色、1白色、2黒色、1白色、および7黒色ビットであってよい。図11(b)に示されているようなベクトル112から118の見かけの長さは、必ずしも、ビットの関連付けられている数に対応しないことに留意されたい。図11(c)は、曲線110から導出されたビット列を示しており、同じ値のビットの各部分列の基準数は、図11(b)の関連付けられているベクトルに対応する。
【００３５】
図12は、本発明概念の一実施形態による、ビット列として表されている情報シーケンスを曲線コーディングシステムに変換して少なくとも1つの閉曲線を形成する方法のフローチャートである。情報シーケンスは、ビット列として表されてよく、各ビットは、それぞれ0および1として一般に表される、低い値および高い値のうちの一方を有する。ビット列は、たとえば、製品バーコードまたはQRコードの全体または一部を表し得る。ビット列は、連続する1ビットと0ビットのサブシーケンスを含む。次に図を参照すると、方法は情報シーケンスを曲線コーディングシステムに変換することによってステップ121から始まる。例示的な、非限定的な曲線コーディングシステムは、弧のシーケンスであり、非限定的な曲線コーディングシステムの各要素は、連続する同じ値のビットのサブシーケンスに対応する弧である。各弧の半径は各サブシーケンス内のビットの数に対応し、高い値のビットのシーケンスに対応する弧は、低い値のビットのシーケンスに対応する弧の符号定数と反対の符号定数を有する。たとえば、本発明概念の一実施形態によれば、0ビットの列に対する弧の半径は、1ビットの列に対する弧の半径の反対方向を指すものとしてよい。ビット列は、連続する1ビットの複数のサブシーケンスおよび0ビットの複数のサブシーケンスを含み得るので、複数の弧が生成される。
【００３６】
ステップ122で、弧のシーケンスとして表される曲線コーディングシステムは、弧シーケンスの終点を弧シーケンスの始点に結ぶことによって閉曲線に変換される。本発明概念の一実施形態によれば、閉曲線は、平面単純閉曲線であってよい。平面曲線は、曲面とは反対に、平面内に埋め込まれ、単純閉曲線は自分自身と交差しない。単純閉曲線のよく知られている特性は、平面を2つの互いに素な集合、すなわち、曲線の内部と曲線の外部とに分割するというものである。本発明概念の一実施形態によれば、終点は、0ビットのサブシーケンスを表す弧が閉曲線内に内向きに凹形であり、1ビットのサブシーケンスを表す弧が閉曲線から外向きに凹形であるように始点に連結され得る。代替的に、本発明概念の別の実施形態によれば、終点は、0ビットのサブシーケンスを表す弧が閉曲線から外向きに凹形であり、1ビットのサブシーケンスを表す弧が閉曲線内に内向きに凹形であるように始点に連結され得る。
【００３７】
ステップ123で、閉曲線は、閉曲線の存在をわからなくするような仕方で2次元パターンに埋め込まれる。本発明概念の一実施形態によれば、パターンは、複数の階調レベルを有する2値化されたカムフラージュパターンであってよく、閉曲線は、2つの最下位ビット内に符号化され得る。データを隠すこのプロセスは、ステガノグラフィーの一例であり、これは暗号化されているか、または暗号化されていないメッセージを、送信者および対象受信者は別として、誰もメッセージの存在を疑うことのないような仕方で隠すプロセスである。
【００３８】
図13は、本発明の発明概念の一実施形態による、等高線のシーケンス内に符号化されている情報を復号する方法のフローチャートである。次に図を参照すると、方法は2値化された2次元パターンから少なくとも1つの閉曲線を抽出することによってステップ131から始まる。本発明概念の実施形態によれば、2次元パターンは、複数の階調レベルを有するカムフラージュパターンであってよい。本発明概念の他の実施形態において、複数の閉曲線が、2次元パターンから抽出され得る。本発明概念の実施形態によれば、各閉曲線は、単純閉曲線であってよい。ステップ132で、少なくとも1つの曲線は、曲線コーディングシステムに分けられる。例示的な、非限定的な曲線コーディングシステムは弧のシーケンスであり、各弧は、曲線コーディングシステムの一要素を表す。次いで、ステップ133で、弧のシーケンス内の各弧は、同じ値のビットの部分列に変換され、各サブシーケンスの長さは、各弧の半径に対応し、各サブシーケンス内のビットの値は、各弧の符号定数に対応する。本発明概念の実施形態によれば、ビット列は、QRコードを表し得る。さらに、上で開示されているように、2次元パターンから抽出された複数の閉曲線のうちの1つは、残りの閉曲線に対する復号情報を含む基準曲線であってよい。
【００３９】
上で説明されているように、ビット列として符号化され得る、すなわち、2値化され得る情報はいかなるタイプのものも、本発明概念の一実施形態による方法によって2D曲線に符号化され得る。本発明概念の一実施形態によって2D曲線に符号化され得る商業上重要な2つの例示的な、非制限的コードは、1次元製品バーコードおよび2D QRコードである。さらに、上で説明されているように、2値化された2D曲線は、2Dパターン内に埋め込まれ、それにより2D曲線の存在を隠すことができ、2Dパターンは、衣料品、DVD、または集積回路などの、商品上にインプリントまたは商品の一部とされ得るか、または製品ラベルの全体または一部であってよい。
【００４０】
本発明概念の実施形態は、ハードウェア、ソフトウェア、ファームウェア、専用プロセス、またはこれらの組合せのさまざまな形態で実装され得ることは理解されるであろう。一実施形態において、本発明概念は、コンピュータ可読プログラム記憶デバイスに有形に具現化されたアプリケーションプログラムとしてソフトウェアで実装され得る。アプリケーションプログラムは、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、またはスマートフォンなどのコンピュータの中央演算処理装置(CPU)などの、好適なアーキテクチャを備えるマシンにアップロードされ、そのようなマシンによって実行され得る。
【００４１】
図14は、本発明の一実施形態による、2次元(2D)曲線内に情報を符号化し、復号するための方法を実装するための例示的なコンピュータシステムのブロック図である。次に図14を参照すると、本発明を実装するためのコンピュータシステム141は、とりわけ、中央演算処理装置(CPU)142、メモリ143、および入出力(I/O)インターフェース144を備えることができる。コンピュータシステム141は、一般的に、I/Oインターフェース144を通じてディスプレイ145ならびにマウスおよびキーボードなどのさまざまな入力デバイス146に結合される。サポート回路は、キャッシュ、電源、クロック回路、通信バスなどの回路を含み得る。メモリ143は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ディスクドライブ、テープドライブなど、またはこれらの組合せを含むものとしてよい。本発明は、信号源148からの信号処理するためにメモリ143に記憶され、CPU142によって実行されるルーチン147として実装され得る。そのようなものとして、コンピュータシステム141は、本発明のルーチン147を実行するときに専用コンピュータシステムとなる汎用コンピュータシステムである。
【００４２】
コンピュータシステム141は、オペレーティングシステムおよびマイクロ命令コードも含む。本明細書で説明されるさまざまなプロセスおよび機能は、マイクロ命令コードの一部またはオペレーティングシステムを介して実行されるアプリケーションプログラムの一部(またはこれらの組合せ)のいずれかとすることができる。それに加えて、他のさまざまな周辺デバイスが、追加のデータ記憶デバイスおよび印刷デバイスなどのコンピュータプラットフォームに接続され得る。
【００４３】
添付図に示されている構成要素であるシステムコンポーネントおよび方法ステップの一部はソフトウェアで実装され得るので、システムコンポーネント(またはプロセスステップ)間の実際の接続は、本発明がプログラムされる方式に応じて異なり得ることはさらに理解されるであろう。本明細書に提示されている本発明概念の教示が与えられれば、当業者は、本発明概念のこれらのおよび類似の実装または構成を企図することができるであろう。
【００４４】
本発明概念は、例示的な実施形態を参照しつつ詳しく説明されているが、当業者であれば、付属の請求項において説明されているように本発明の精神および範囲から逸脱することなく、さまざまな修正および置換が行われ得ることを理解するであろう。
【符号の説明】
【００４５】
31、32、および33  形状
70  閉曲線
71、72  基準点
73、74  ベクトル
80  閉曲線
81  等高線図
82  基準点
83  ベクトル
84  点の始点
100  曲線
101  部分領域
110  曲線
111  基準点
112、113、114、115、116、117、および118  ベクトル
141  コンピュータシステム
142  中央演算処理装置(CPU)
143  メモリ
144  入出力(I/O)インターフェース
145  ディスプレイ
146  入力デバイス
147  ルーチン
148  信号源
【図１】
0006273379.tif 000002
【図２】
0006273379.tif 000003
【図３】
0006273379.tif 000004
【図４（ａ）】
0006273379.tif 000005
【図４（ｂ）】
0006273379.tif 000006
【図４（ｃ）】
0006273379.tif 000007
【図５（ａ）】
0006273379.tif 000008
【図５（ｂ）】
0006273379.tif 000009
【図５（ｃ）】
0006273379.tif 000010
【図６】
0006273379.tif 000011
【図７】
0006273379.tif 000012
【図８（ａ）】
0006273379.tif 000013
【図８（ｂ）】
0006273379.tif 000014
【図９（ａ）】
0006273379.tif 000015
【図９（ｂ）】
0006273379.tif 000016
【図９（ｃ）】
0006273379.tif 000017
【図１０】
0006273379.tif 000018
【図１１（ａ）】
0006273379.tif 000019
【図１１（ｂ）】
0006273379.tif 000020
【図１１（ｃ）】
0006273379.tif 000021
【図１２】
0006273379.tif 000022
【図１３】
0006273379.tif 000023
【図１４】
0006273379.tif 000024