米国において、本出願は、2018年6月7日に提出された出願第16/002,989号の一部継続であり、また、2018年10月26日に提出された仮出願第62/751,084号、2018年9月13日に提出された同第62/730,958号、2018年5月18日に提出された同第62/673,738号、2018年5月11日に提出された同第62/670,562号、2018年4月18日に提出された同第62/659,641号、及び2018年2月25日に提出された同第62/634,898号の優先権を主張するものである。
本明細書は、フロー図及び解説文を参照して本技術の実施形態について詳述する。図面及び説明は、プログラム可能なハードウェアデバイスを構成するためのソフトウェア命令によって最も一般的に実現される処理モジュールを用いて実施される。いくつかの実施形態において、そのようなソフトウェア命令は、プリンタ及びスキャナへの統合のためにファームウェアに変換されるか、又はデジタル論理回路へと変換される。
図1は、コードを視覚的品質及び信頼性制約に適合させるように、可変空間密度を有する光学コードを生成する方法を示す図である。目的は、光学コードのパラメータが最適化されるように、画像又は他のキャリア内への挿入のための光学コードを生成することである。これらのパラメータは、堅牢性及び視覚的品質を含む。本方法は、光学コード要素の所望の空間密度及び間隔も提供しながら、堅牢性メトリックに達する、又はそれを超える、光学メッセージ構成要素の優先度を決定することによって、改善された堅牢性を達成する。密度及び間隔(ドット凝集を回避するため)制約は、本方法が、視覚的品質制約を満足しながら光学コード信頼性を最適化することを可能にする。
本方法は、可変ペイロード配列10及び参照(登録)信号パラメータ11の入力で始まる。これらの入力から、本方法は、光学コードの構成要素を構築する(12)。これらの構成要素は、ペイロード構成要素及び参照信号構成要素からなる。以下にさらに詳述されるように、これらの構成要素は、必ずしも明確に異なるわけではないが、これらがレンダリングされた出力に適用される堅牢性、信号容量、及び単位面積あたりの視覚的品質を提供するために最適化される必要がある。このレンダリングされた出力は、コードを担持する画像(「出力画像」)を印刷することによってなど、エッチング、彫刻、焼成、エンボス加工などの他の手段によって出力画像を基材にマークすることを含め、光学コードでマークされる物体である。
本方法は、構成要素に適用されるべき優先度を決定する(14)。この優先度は、ドットサイズ、空間密度、及び要素(例えば、ドット又は穴)の間隔などの制約内で堅牢性を最適化する光学コードのパラメータを決定することによって導出される。
優先度を用いて、本方法は、視覚的品質制約内で光学コードを出力画像にマッピングすることに進む(16)。次いで、出力画像は、包装又はラベル材料の紙又はプラスチック基材などの物理的形態にレンダリングされる(18)。
図2は、光学コードのパラメータを最適化するための方法の図である。この方法は、光学コード構成要素のドット(マーク)密度、ドット間隔、及び相対的優先度を最適化する。特定の用途のための光学コードを最適化するため、本方法は、その用途の画像のタイプを表すテスト画像のセットに対して動作する。例えば、生鮮食品(ベーカリー商品、肉及びデリ商品、惣菜など)への接着のために感熱プリンタによって典型的には印刷されるものなど、ラベル上で使用される光学コードの場合、テスト画像は、ラベル画像のセットである。これらのラベル画像は、テキスト、図形、及び従来の一次元又は二次元バーコードなどの視覚要素からなる。テスト画像は、通常の使用においてラベル画像の大半で見られることが予期されるテキスト、図形、及び従来の可視バーコードの混合からなる。
同様に、包装の場合、テスト画像は、製品製造業者のスタイルガイドに準拠し、特定のフォント、サイズ、及び間隔のテキスト、画像、ロゴ、配色(インク及びスポットカラーを含む)、包装材料に基づいて金属、プラスチック、及び紙を含む基材タイプ、並びに好ましい印刷技術(オフセット、ドライオフセット、デジタルオフセット、インクジェット、感熱、フレキソ、及びグラビア)からなる、画像のセットである。この場合、テスト画像は、レンダリング、使用、及びスキャンに起因して画像が被る様々な形態の劣化をシミュレートする特定の包装デザインの訓練画像のセットであってもよい。
テスト画像の各々について、本方法は、挿入された光学コードを有する出力画像を生成する(20)。光学コードは、以下にさら詳述される技術を使用して、ペイロード構成要素及び参照信号構成要素から構築される。テスト画像のためのコードを構築することの出力は、空間的位置に光学コード要素のアレイをもつテスト画像である。説明を容易にするため、本発明者らは、これらの要素を「ドット」と呼び、ドットの特定の幾何学的構造は、様々な形状をとり得る。画像の形式は、その画素が、マーク信号又はマークなし信号の二進値に対応するという点で、二値である。インクで印刷する場合、マーク又はマークなしは、特定の色分解(例えば、プロセスカラーCMY若しくはK、又はスポットカラー)についてのその画素の場所におけるインク又はインクなしを指す。出力画像の画素は、テスト画像要素、光学コード要素、又は両方の混合に対応し得る。しかしながら、いくつかの実装形態において、ラベル上の画像要素(テキストを含む)から最小距離に光学コード要素の間隔を維持するか、又は、要素が現れることのない場所を別の方法で指定することが好ましい。
各出力画像について、パラメータのセットは、各パラメータ値を、そのパラメータの値の許容可能な範囲からサンプリングすることによって、選択される。1つの実装形態において、パラメータは、光学コードのドット密度、光学コード要素の最小相互間隔、及び光学コード構成要素の優先度である。1つの実装形態において、優先度値は、光学コード要素の相対的優先度、具体的には、参照構成要素及び符号化されたデジタルペイロード構成要素の相対的重み付けとして適用される。
出力画像を生成した後、本方法は、出力画像内の光学コードの堅牢性を測定する(22)。堅牢性は、出力画像から検出メトリックを計算して、レンダリング、使用、及びスキャンに起因する劣化をシミュレートする堅牢性予測プログラムによって測定される。これらの検出メトリックは、参照により組み込まれる米国特許第9,690,967に詳述される技術を使用して計算される。出願第62/634,898号に付属書類1として添付されており、参照により組み込まれる、米国仮出願第62/628,193号、並びに、同様に参照により本明細書に組み込まれる、2016年5月13日に提出された米国出願第15/154,529号(現在は米国特許第10,217,182号)、及び2018年3月12日に提出された同第15/918,924号(第20180352111号として公開される)も参照されたい。
検出メトリックは、光学コードの参照信号を測定するメトリック、及びデジタルペイロード(例えば、予期されるペイロードと一致している)からのメトリックを含む。光学コードは、出力画像の連続タイル内で繰り返される。加えて、タイル内には空間的冗長性が存在する。したがって、検出メトリックは、単位面積あたりに計算され得、面積の単位は、コードが検出され得る最小面積から、水平及び垂直次元にあるいくつかの連続タイルの面積に及ぶ。
堅牢性を測定するプロセスは、好ましくは、レンダリング、使用、及びスキャンにおける光学コードの予期される劣化を考慮する。そうするために、劣化は、堅牢性を測定する前に出力画像上でシミュレートされる。光学コードは、スワイプ動作によって、又は提示モードによって読み取られ得るため、スキャンモードもまた、シミュレートされる。提示モードにおいて、物体は、撮像素子に提示されることが予期され、これは、撮像素子及び物体が実質的に静的であるように行われる。スキャンのモードは、光学コードの堅牢性に関わりがある。スワイプの1つの関わりは、スキャンがぼやけをもたらし得ることである。もう1つは、光学コードがスワイプの経路内の複数のタイルから読み取られ得ることである。提示モードの関わりは、撮像素子が、物体の一部、例えば、片側の部分のみを捕捉し得ることである。したがって、いくつかの異なる潜在的な物体の視点における信頼性は、全体的な堅牢性スコアで考えられる必要がある。スワイプモードの場合、堅牢性測度は、スワイプスキャンの1つ又は複数の経路に沿って検出メトリックから合計され得る。
光学コードを生成し、堅牢性を測定するプロセスは、各テスト画像について、及び最適化される各パラメータ(例えば、あるタイルの光学コード密度における最小光学コード要素間隔、及び光学コード構成要素優先度)について実行される。次いで、本方法は、パラメータ空間サンプリングあたりの堅牢性測度を伴う、堅牢性測定値のアレイを生成する(24)。パラメータ空間は、座標が、パラメータ候補、例えば、優先度値、ドット間隔、ドットサイズ、ドット密度、又はこれらの候補のいくつかの部分的組み合わせである、多次元空間を指す。
次に、本方法は、堅牢性測定値から最適パラメータを決定する。そうするために、本方法は、パラメータ空間内の堅牢性測定値のアレイを分析して、堅牢性測定値が所望の堅牢性制約を超えるパラメータ空間内の領域を見出す(26)。この領域は、所望の堅牢性を提供することが予期される光学コード要素間隔及び優先度のためのパラメータのセットを規定する。1つの手法において、本方法は、各テスト画像の堅牢性スコア内の最大値までの距離を最小限にする、パラメータ空間内の場所を見出す。
光学コードのパラメータを最適化するプロセスを説明してきたが、これより、テキスト及び図形を有するラベル又は包装上にコードを一体化するのに有用な可変密度を有する光学コードの実施形態について説明する。
図3は、光学コードを構築するためのプロセスを例証する。これは、光学コードジェネレータの実施形態である。この実施形態では、別個の可変ペイロード構成要素及び参照信号構成要素が生成され、次いで結合される。ペイロードは、各々が2つ以上の(2値又はM値)メッセージシンボル値を表すデータシンボルの配列である。用語ではM値という、整数値Mは、シンボル要素あたりの可能なシンボル値の数である。例えば、M=3の場合、シンボル値は、1、0、及び-1などの3つの状態のうちの1つを有するか、又は3つの異なる量子化ビンの信号特徴値に対応する。後者は、ホスト画像の特徴値がシンボル値に対応する量子化ビンのうちの1つに量子化される変調スキームを指す。ペイロードをより堅牢にするため、ペイロードは、誤り訂正、誤り検出、反復、及びキャリア信号の組み合わせを使用して冗長的に符号化される。ブロック30における処理は、ペイロードを堅牢な符号化されたペイロード構成要素に変換し、ペイロードのシンボルは、符号化されたペイロード構成要素の複数の要素内で伝達される。これらの要素は、ある空間的配置及び振幅を有するペイロード信号波形を形成する。
参照信号構成要素は、出力画像内の光学コードを検出し、幾何学的同期を実施するために使用される信号である。ブロック32における処理は、参照信号構成要素を、その空間的配置及び振幅などのその信号波形特性を指定することによって生成する。符号化されたペイロード及び参照信号を有する、このタイプの光学コードの例は、参照により組み込まれる、米国特許第6,590,996号に説明される。
例示的な参照信号は、各々が、典型的には異なる位相で、水平及び垂直方向に1~64サイクル(明-暗の交互)の間で2D空間ブロックに広がる、数十の空間正弦波からなる。整数周波数は、複合信号がブロックの両端で連続的であることを保証する。連続信号は、例えば、64×64又は128×128の参照信号を獲得するために、均一に離間した2D点においてサンプリングされる。(構成要素正弦波の周波数及び位相を含む、特定の参照信号は、2017年12月28日に提出された出願第62/611,404号に詳述されており、この開示は、参照により本明細書に組み込まれる)。
ブロック34において、本実施形態は、符号化されたペイロード構成要素及び参照信号構成要素の要素に優先度を割り当てる。これは、割り当てられた優先度に従って重み付けを要素に適用することによって実施される。例えば、本方法は、信号要素の振幅値に、それらの要素の光学コード構成要素の優先度に比例する重み付け因子を掛ける。
次いで、図3の実施形態は、ブロック36において、光学コードを二次元空間画像表現へと構築する。
図4は、光学コードを構築するための別のプロセスを例証する。これは、図3の変異形であり、参照信号構成要素は、符号化されたペイロード構成要素の構成で形成される。ブロック40において、この実施形態は、符号化されたペイロード構成要素を生成する。この手法は、図3の実施形態と類似した、キャリア信号に対する誤り訂正コーディング及び変調を使用し得る。次いで、ブロック42において、この実施形態は、符号化されたペイロード要素を、参照信号構成要素を形成するパターン内へ配置する。この手法の例は、参照により組み込まれる米国特許第9,747,656号に説明される。この手法の変異形において、符号化されたペイロード要素は、固定の参照信号要素と空間的に交互にされる。固定の要素は、参照信号構成要素のパターンを形成する。
ブロック44において構成要素に優先度を割り当てるため、本実施形態は、符号化されたペイロードの信号要素及び固定の要素を重み付けする。この手法は、参照信号を形成するように配置される、重み付けされた要素の空間パターンを作り出す(46)。
図5は、光学コードを構築するための別のプロセスを例証する図である。これは、図3の別の変異形であり、参照信号構成要素は、符号化されたペイロード信号要素のキャリアとして機能する。ブロック50において、この実施形態は、符号化されたペイロード構成要素を生成する。例えば、ペイロード構成要素の配列は、ブロックなどの誤り訂正コード及び/又は畳み込み誤り訂正コードを使用してペイロードシンボルの配列を符号化されたシンボルのより長い配列へと変換することによって誤り訂正符号化される。ブロックコードのいくつかの例は、例えば、BCH(Bose‐Chaudhuri‐Hocquenghem)、及びリード・ソロモンコードである。
ブロック52において、本実施形態は、符号化されたペイロード信号の要素で参照信号の構成要素を変調する。1つの実装形態において、参照信号は、各々が位相値を有する空間正弦波の集合を含む。ペイロードは、符号化されたペイロード信号要素の値に従って正弦波の位相をシフトすることによって符号化される。1つのプロトコルにおいて、符号化されたペイロード要素は2値であり、それらが、要素あたり2つの異なる値のうちの一方を有することを意味する。一方の2進値は、ゼロ位相シフトで表され、他方は、対応する正弦波のπ(180度)の位相シフトによって表される。他のプロトコル変異形において、符号化されたペイロード信号は、M>2のM値である。M値は、堅牢性制約によって制限され、それが高くなるほど、画像特徴部内で符号化される異なるシンボル値を区別するのは難しくなる。符号化されたペイロードは、位相をM個の対応する位相シフト状態(例えば、0、π/2、π、又は3π/2ラジアン)のうちの1つにシフトすることによって参照信号キャリア構成要素上に変調される。これは、量子化ベースの変調の形態で実施され得、参照信号構成要素の位相は、符号化されたペイロードシンボルに対応する位相シフトビン内に入るように量子化される。
参照信号のすべての構成要素がペイロード信号で変調される必要はない。むしろ、参照信号のいくつかのサブセットは、変調されないままであってもよく、この変調されていない構成要素は、検出の第1の段階のための信頼性の高い信号として機能する。例えば、参照信号は、サブセット(例えば、40~60)が固定されたままであり、その他は対応するペイロード信号要素による変調に利用可能である200個の正弦波からなり得る。
参照信号を変調するための別の手法は、参照信号構成要素のオンオフキーイングである。この手法において、参照信号正弦波のサブセットは固定され、残りは、オンオフキーイングを使用してデータを伝達するために変調される。このオンオフキーイングにおいて、符号化されたペイロードシンボルは、既定の周波数位置に正弦波を含むか、又は含まないことによって、符号化され得る。各々の符号化されたペイロード要素は、画像タイル内の周波数位置にマッピングされる。ペイロード要素が第1の2進値(例えば、0又は-1)である場合、その要素の正弦波は含まれない。逆に、ペイロード要素が第2の2進値(例えば、1)である場合、その要素の正弦波は含まれる。
ブロック54において、本実施形態は、光学信号構成要素に優先度を割り当てる。これは、例えば、優先度に従って、選択された正弦波成分に倍率を適用することによって実施される。優先度が高いほど、信号構成要素は、より大きい倍率を掛けることによってより大きい重みが与えられる。加えて、異なる倍率が、固定の参照信号構成要素と変調された参照信号構成要素とに適用されて、より大きい相対的優先度を変調又は固定される参照信号の部分に提供する。
ブロック56において、本実施形態は、変調された参照信号構成要素を有する光学コードの空間パターンを生成する。正弦波実施形態の場合、空間パターンを生成する代替の方法が存在する。1つの代替策は、逆高速フーリエ変換(FFT)など、逆周波数領域変換を周波数領域内の複合構成要素に適用することである。別の代替策は、各正弦波成分の空間領域波形から始めて、それらを一緒にして空間パターンを形成することである。正弦波の代替として、良好な自己相関を有するが低いクロス相関である、直交アレイなどの他のキャリア信号が使用されてもよい。これらの直交アレイは、二次元画像タイル内の場所にマッピングする。
図3~5の光学コードジェネレータの各々の出力は、空間領域画像ブロックである。ブロックの画素値は、多値化され、例えば、画素あたり8ビットである。この画像ブロックは、信号タイルとして使用され得、この信号タイルが繰り返され、ホスト画像のホスト画像コンテンツと統合されて出力画像を形成する。出力画像は、プリンタ又は他のマーキング設備(エンボッサ、彫刻機、エッチング装置、又は同様のもの)によって基材上にレンダリングされるラベル又は包装デザインである。信号構成要素は、割り当てられた優先度に従って優先順位が付けられる。この優先度は、光学コードが、堅牢性及び視覚的品質制約を最適化する信号優先度並びにドット密度及び間隔に従って、ホスト画像デザインの空間領域に書き込まれることを可能にする。
(誤解を避けるために、本文書で使用される場合「多値化」は、3つ以上の潜在的な状態を有する要素/画素を指す。例えば、それらは、グレースケール要素(例えば、8ビット表現)であってもよく、又はそれらは、浮動小数点値を有してもよい。その対極が、2つの異なる値のみ、例えば、黒/白を有する要素からなる「2色」又は「2値」画像表現である。)
これより、図3~図5の光学コードジェネレータの部分構成要素について詳述する。
図6は、光学コード内で伝達されるべき可変デジタルペイロードを符号化する方法を例証する図である。この章は、先に論じた実施形態における符号化されたペイロード構成要素をどのように生成するかのさらなる例を説明する。
処理モジュール60において、データペイロードは、例えば、巡回冗長検査、パリティ、チェックサムなどの誤り検出メッセージシンボルなど、誤り検出ビットを計算するために処理される。同期信号など、ペイロード形式を識別し、検出を促進することに使用されるさらなる固定及び可変のメッセージが、この段階又は後続の段階で追加される。
誤り訂正符号化モジュール62は、メッセージシンボルを、いくつかの伝送誤りにもかかわらずメッセージシンボルが回復され得る符号化されたメッセージ要素(例えば、2値又はM値要素)のアレイに変換する。様々な技術が使用され得る。例示的な実施形態において、メッセージ要素のストリングは、まず、ブロックコード、BCH、リードソロモン、畳み込みコード、ターボコードなどを使用するものなど、前方誤り訂正エンコーダに適用される。次いで、出力は、データを繰り返して堅牢性を改善する反復エンコーダに適用される。(いくつかの実施形態において、反復符号化は除去され、誤り訂正コーディングで完全に置き換えられる。例えば、畳み込み符号化(例えば、1/3レートで)及びこれに続く反復(例えば、3回反復する)ではなく、これらの2つは、ほぼ同じ長さを有するコーディングされたペイロードを生成するために畳み込み符号化によって置き換えられ得る。)モジュール62の出力は、「シグネチャ」と呼ばれ得る。
シグネチャは、ランダム化モジュール64によってさらにランダム化され得る。1つの特定のランダム化モジュールは、シグネチャの各要素と「スクランブルキー」の対応する要素との間のXOR演算を実施する。
次に、キャリア変調モジュール66が、前の段階のメッセージ要素を得て、それらを対応するキャリア信号上に変調する。例えば、キャリアは、等しい数の正及び負の要素(例えば、16、32、64個の要素)を有する疑似ランダム信号要素のアレイ、又は正弦波若しくは直交アレイなどの他の波形であり得る。正及び負の要素の場合、ペイロード信号は、2値対蹠信号の形態である。それはまた、3値(-1、0、1の3レベルの)又はM値信号(Mレベルの)に形成され得る。これらのキャリア信号は、空間領域位置又は空間周波数領域位置にマッピングされ得る。キャリア信号の別の例は、変調スキーム様の位相シフト、位相量子化、及び/又はオン/オフキーイングを使用して変調される上に説明される正弦波である。
特定のキャリア変調モジュール66は、スクランブルされたシグネチャの各ビットと16個の2値要素のストリング(「拡散キー」)とのXORをとって、「0」値及び「1」値を有する16個の「チップ」を得る。誤り訂正符号化モジュール62が、1024ビットのシグネチャを得る(次いでこれは、ランダム化モジュール64によってランダム化される)場合、キャリア変調モジュール66は、16,384個の出力チップを生成する。
キャリア信号(拡散キー)は、符号化されたメッセージシンボルをキャリアにわたって拡散することから、さらなる堅牢性を提供する。そのようなものとして、より長いキャリア信号の使用は、誤り訂正に必要とされる冗長性及び/又は反復コードの必要性を低減する。したがって、誤り訂正コード(反復コードを含む)及びキャリア信号は、所望の堅牢性及びタイルあたりの信号担持能力を達成するタイルの符号化されたペイロード信号を生成するために様々な組み合わせで使用され得る。
マッピングモジュール68は、符号化されたペイロード信号の信号要素を画像ブロック内の場所にマッピングする。これらは、画像タイル内の空間的位置であってもよい。それらはまた、空間周波数位置であってもよい。この場合、信号要素は、周波数領域値(大きさ又は位相など)を変調するために使用される。結果として生じる周波数領域値は、空間領域信号タイルを作成するために空間領域へと逆変換される。
例証的なマッピングモジュール68は、上に参照される16,384個の出力チップの各々について、チップがマッピングされるべき、128×128メッセージ信号タイル内の、特定のx座標位置及びy座標位置を識別する分散テーブルデータ構造を含む。そのような構成において、各チップは、その値に応じて、画像内のその場所における輝度又はクロミナンスを増大又は減少させる働きをし得る。
マッピングモジュール68はまた、参照信号を画像ブロック内の場所にマッピングすることができる。これらの場所は、ペイロードデータがマッピングされる場所と重複する場合と、そうでない場合とがある。符号化されたペイロード及び参照信号は、信号構成要素である。これらの構成要素は、重み付けされて、一緒に光学コード信号を形成する。
ペイロードを正確に回復するため、光学コードリーダは、符号化されたデータペイロード信号要素(例えば、チップ)の、画像内のそれらの場所における推定値を抽出することができなければならない。これは、リーダが、分析下の画像を同期させて、タイルの場所、及びタイル内のデータ要素の場所を決定することを必要とする。場所は、各タイルを形成する二次元ブロック内に配置される。同期装置が、各タイルの回転、スケール、及び平行移動(起源)を決定する。
光学コード信号は、明示的及び/又は暗黙的な参照(登録)信号を含むことができる。明示的な参照信号は、符号化されたペイロードと一緒に、例えば、同じタイル内に含まれる、符号化されたペイロードとは別個の信号構成要素である。暗黙的な参照信号は、符号化されたペイロードで形成され、幾何学的同期を促進する構造をもつ信号である。幾何学的同期におけるその役割が理由で、本発明者らは、時に、参照信号を、同期信号、較正信号、格子信号、又は登録信号と呼ぶ。これらは同義語である。明示的及び暗黙的な同期信号の例は、参照により本明細書に組み込まれる、本発明者らの米国特許第6,614,914号及び同第5,862,260号に提供される。
特に、明示的な同期信号の1つの例は、疑わしい信号のフーリエ領域内のピークとして現れる、疑似ランダム位相を有する正弦波のセットからなる信号である。例えば、堅牢なデータ信号と併せた同期信号の使用について説明している米国特許第6,590,996号及び同6,614,914号、並びに第5,862,260号を参照されたい。参照により組み込まれる米国特許第7,986,807号も参照されたい。
同じく参照により組み込まれる本発明者らの米国公開第20120078989号及び同第20170193628号は、このタイプの構造を有する参照信号を検出し、回転、スケール、及び平行移動を決定するためのさらなる方法を提供する。米国第20170193628号は、射影歪が存在する場合にさえも、光学コードリーダを同期させること、及び、検出フィルタでデジタルペイロードを抽出することのさらなる教示を提供する。
暗黙的な同期信号の例、及びそれらの使用は、参照により組み込まれる米国特許第6,614,914号、同5,862,260号、同6,625,297号、同7,072,490号、及び同9,747,656号に提供される。
(他の実施形態において、同期は、可視の十字線などのタイルとは別個の構造により達成される。)
図7は、光学コード構成要素の画像タイルの部分70を例証する図である。この部分は、各々がここではグレースケール値として描写される値を有する、画素のアレイ(例えば、72)からなる。タイルのこの部分は、15×15画素を有する。光学コードのために使用されるタイルサイズ及び寸法のさらなる例を下に提供する。
この構成要素は、参照信号構成要素、符号化されたペイロード構成要素、又はペイロードで符号化される参照信号として使用され得る。これはまた、参照信号構造内に配置される符号化されたペイロード信号として使用され得る。
例証の目的のため、この部分70が参照信号構成要素である例を提供する。後の図に例証されるこの例を通じて、参照構成要素及びペイロード構成要素がどのようにして形成され、優先順位が付けられ、結合されて高密度光学コード信号タイルを形成するかを説明する。光学コードのこのような状態を「高密度」と呼ぶが、これは、よりスパースである可変空間密度での変換バージョン(所望のドット密度でのスパースコード信号)を生成するためにそれを使用するという意図のためである。所望のドット密度を達成するため、この高密度光学コード信号タイルは、次いで、コード信号要素の優先度に基づいて空間パターン内にマッピングされる。この例では、参照信号は、図7に描写されるように、空間領域画像に変換される正弦波を含む。これらの正弦波は、空間周波数領域内でピークを形成する。同様の効果は、同じく空間周波数領域内にピークを形成する冗長性を有する、固定又は符号化されたペイロード要素の空間パターンを使用することによって達成され得る。
図8は、符号化されたペイロード信号のタイルの部分74を例証する図である。この部分74は、画素値が黒又は白のいずれかの2値である画素のアレイ(76)である。これらの値は、キャリア上に誤り訂正コーディングされたペイロードの2進値の各々を変調し(例えば、PN配列)、結果として生じる変調されたキャリア信号要素を画素の場所にマッピングすることによって伝達される符号化されたペイロード信号に対応する。その結果が、符号化されたペイロード信号であり、その一部が図8に描写される。
図9は、図7の光学コード構成要素の空間解像度に変換される、図8の符号化されたペイロード信号74の図である。参照信号と結合する前に、符号化されたペイロード構成要素74は、光学コードがホスト画像内に挿入される目標解像度に空間的にスケーリングされる。この目標解像度はまた、ホスト画像が物体上にレンダリングされる解像度であり得る。この例では、参照信号は、ホスト画像内への挿入のための目標解像度で生成され、符号化されたペイロード信号は、同じ目標解像度にスケーリングされる。この解像度は、例えば、多くの感熱ラベルプリンタでは1インチあたり203ドットであるか、又は、他の商用印刷機では1インチあたり300ドット若しくはそれ以上である。これらは単に例であり、目標解像度は、用途及び用いられる印刷技術により様々である。共一次若しくは三次補間、ランチョスリサンプリング、又は同様のものなど、サイズ変更のために使用される様々な技術が存在する。符号化されたペイロード信号のこの空間スケーリングは、目標のインチあたり要素解像度で画素を有する図9の右に示されるものなどの画像76をもたらす。画像76の15×15画素アレイ内の画素のグレースケール描写は、画素がもはや2値化されないことを反映する。
図10は、高密度複合コード信号78を得るための参照信号構成要素70及び符号化されたペイロード(メッセージ)構成要素76の組み合わせを例証する図である。
この例では、参照信号要素70は、レンダリングシステムの目標解像度で、対応する符号化されたペイロード信号要素76に追加される。これは、ペイロード構成要素をアップサンプリングすることを必要とし、これにより、黒又は白ではなく、中間値、即ち、グレーのいくつかの画素要素をもたらす。(同様に、ここでは双三次補間アルゴリズムによって行われるアップサンプリングは、信号値のいくらかのオーバーシュートをもたらし、結果として+1超及び-1未満のいくつか値を生じる。)要素の優先順位付けを行うため、参照構成要素又はペイロード構成要素のうちの一方に、参照信号の符号化されたペイロード信号に対する相対的な重み付けを表す重み付け因子を掛ける。この例では、ペイロード構成要素76は、0.1253の係数によって重み付けされ、参照構成要素70と合計されて、高密度の複合光学コード信号78を形成する。結果として生じる値の大きさは、光学コード信号78の個々の要素の優先度を確立する。
図10は、浮動小数点形式で構成要素及び複合信号値を示す。ブロック70、76、及び78の各々の右側は、対応する要素値を示すグラフ尺度である。
図11は、高密度複合光学コード信号の、その光学コード要素の優先度及び空間制約(例えば、要素間隔及び信号密度)に従った、出力画像80へのマッピングの図である。このマッピングでは、マッピング方法は、要素の優先度に従って出力画像80の画素の場所を充填し、最も高い優先度要素がまず充填され、その後に次に高い優先度の要素を充填する。加えて、充填プロセスは、ドット間の最小距離などの間隔(配置)制約を順守する。構成要素の優先度及び配置の両方は、図2を参照して上に説明される方法を使用して、特定のドット密度のために最適化される。マッピングの出力は、目標解像度での2値化画素からなる、光学コードの空間パターンである。2値化画素は、光学コードを基材に適用するために基材にマークされるドットに対応する。高密度光学コードの冗長的に符号化された信号内において、高密度信号のピークが、堅牢性及び信頼性を達成するためにスパースな信号内に保持するのに最も重要であるということが分かった。正及び負のピークが存在する。これらが画像の輝度において伝達されるとき、これらの正及び負のピークは、高い輝度値及び低い輝度値に対応する。同じことは、光学コードが、カラー画像又はスポットカラーの色又は彩度成分(例えば、CMY)などの色チャネルにおいて伝達される場合においても当てはまる。1つの手法では、マッピングは、相対的により高い輝度基材上の暗い画素(低輝度)に対応するピークを保持する。この手法は、図11に反映されており、暗い画素(例えば、82)は、負のピークに対応する。
この手法は、相対的により高い輝度領域の周りの暗い画素の構成により形成される「穴」として、正のピークを符号化することによってさらに増強され得る。より高い輝度基材上では、穴は、正のピークに位置する空の画素の周りに暗い画素をマークすることによって形成される。この空の画素は、より明るい基材又はインク層が露出されることを可能にし、その結果として、イメージングされるとき、この空の画素が、その近隣の画素値に対してピークを反映する。
これより、光学コードパラメータを最適化するための図2のプロセスをさらに詳述する。図12は、特定のドット密度にある光学コードのためのドット間隔及び信号構成要素優先度を最適化するためのプロセスの例を例証する図である。所望のドット密度のために最適化され得る追加のパラメータは、ドットサイズである。この例では、ドット間隔は、ドット距離として表される。優先度は、信号構成要素の相対的優先度として表される。この優先度の例は、図10と関連して説明される構成要素の相対的重み付けである。これらの優先度及び間隔パラメータは、優先度及び間隔パラメータのいくつかのパラメータ空間座標の各々における光学コードを生成して、テスト画像のセット内の各テスト画像内に挿入する訓練プロセスにおいて導出される。
図12は、これらのテスト画像の堅牢性測定値のプロットを例証する。縦軸は、光学コードのドット間の最小距離であるドット距離である。横軸は、信号構成要素の、具体的には参照構成要素及び符号化されたペイロード信号構成要素の、相対的優先度である。テスト画像の堅牢性測定値は、円(例えば、84)として示され、堅牢性測定値は、グレースケール値で描写される低値(黒)から高値(白)に及ぶ。
図2と関連して記述されるように、堅牢性予測プログラムは、所与のレンダリング及びスキャンプロセスのためにテスト画像の堅牢性を予測するために使用される。単位面積あたりの予測されるコード検出に関するさらなる詳細については、米国特許第9,690,967号を参照されたい。加えて、「METHODS AND ARRANGEMENTS FOR PREDICTING RELIABILITY OF SIGNAL DECODING FROM ARTWORK ON PRINTED PACKAGING」という表題の、2018年2月13日に提出された米国仮出願第62/628,193号は、付属書類1として出願第62/634,898号に添付されており、スコアと称される、包装及びラベルのための堅牢性測定値に関するさらなる教示を提供する。(引用した仮出願は、2018年3月12日に提出された米国特許出願第15/918,924号を基に作成された。)参照により組み込まれる、2016年5月13日に提出された同時係属出願第15/154,529号(現在は米国特許第10,217,182号)、及び2018年3月12日に提出された同第15/918,924号(第20180352111号として公開される)も参照されたい。これらの文書は、検出メトリックを計算し、これらのメトリックを使用して、シミュレートされた劣化及びスキャンモードに応じた堅牢性を予測するさらなる方法について詳述する。
堅牢性予測プログラムは、それがテスト画像内で作製する検出測定の複合である、テスト画像のための堅牢性測度をもたらす。挿入プロセスは、テスト画像内に光学コードのタイルを再現する。この信号の再現及びタイル内の信号冗長性は、堅牢性プログラムが、信号タイルよりも小さい画像ブロック領域内の検出メトリックを計算することを可能にする。参照信号相関及びペイロード回復メトリックを含む、これらの検出メトリックは、空間領域ごとに計算され、画像捕捉(例えば、スワイプ動作又はマーク付き物体のカメラへの静的提示)を考慮する関数に従って、合算されて堅牢性スコアになる。ここでは、光学コードは、米国特許第9,690,967号及び出願第62/634,898号に対する付属書類1に参照されるデジタル透かし信号技術と互換性がある。これは、これらの文書に説明される透かし信号の信号検出が、本明細書に説明される光学コードにも適用するという意味で互換性がある。光学コードは、より明るい領域ではスパースなドット、及び/又は、包装若しくはラベルデザインの空の領域若しくは濃い領域では穴の形態で、互換性のある信号を伝達する。この光学コードを包装又はラベルデザインに適用するためのプロセスは、所望のドット密度にある光学コード要素を有するデザインで領域を充填する。
図13は、テスト画像から測定される堅牢性メトリックに基づいて、図12の例における最適なパラメータの選択を例証する図である。この例では、最適化方法は、ドット距離=4、0.7の相対的優先度の座標における、パラメータ空間内の場所(86)を、この場所が信頼性のしきい値を超える堅牢性測度を有することから、選択する。特に、この例では、この場所は、訓練プロセスで使用されるパラメータ範囲について、測定された堅牢性スコア内の最大値を提供する。
1つの実装形態は、最適な堅牢性を提供するパラメータ空間内の場所を検索する。それは、テスト画像の訓練セット内の各画像についての最大堅牢性を提供する、パラメータ空間内の場所を計算することによってこれを行う。パラメータ空間は、座標が、ドット距離、ドットサイズ、ドット密度、及び信号構成要素の相対的優先度など、画像に対して変化するパラメータの値である空間として規定される。次いで、最適化方法は、テスト画像の各々の最大堅牢性の場所までの距離を最小限にする、パラメータ空間内の場所を見出す。
図14は、所望のドット密度を達成するように空間領域内に光学コードの要素を形成する方法を例証するフロー図である。この方法は、優先順位付けされた構成要素を有する、図10に描写されるもの(例えば、78)などの高密度の複合光学コードで始まる。この例では、優先度は、光学コード内の要素値の振幅によって指定される。本方法は、目標空間密度を達成するように光学コードの要素を出力画像の空間的位置にマッピングすることに進む。マッピングプロセスは、振幅に基づいて出力画像内の光学コードの要素の形成を優先順位付けする。より明るい領域に暗いドットを置く場合、プロセスは、光学コード内の最も暗い要素値から最も明るい要素値の順に進む。逆に、より暗い近隣領域に穴を形成する場合、プロセスは、最も明るい要素から最も暗い要素の順に進む。したがって、一般化するために、本説明では両方の場合を網羅するために最大値(max)という用語を使用し、プロセスが振幅に基づいて決定される優先度順に要素値をステップスルーする際、最大値(maxima(maxと略される))は、最も暗い又は最も明るい残りの要素値を指し得るという見方を伴う。
ブロック90において、マッピング方法は、高密度光学コード内の多値画素値の中から最大値を見出すことによって始まる。優先度順の発見を実施する効率的な方式は、光学コードの画素値を振幅によってソートし、次いで振幅の順にステップスルーすることである。プロセスの反復内で訪問されている値は、図14では現在の最大値と呼ばれる。現在の最大値について、プロセスは、出力画像内で以前に形成された最も近い要素との現在の最大値の場所の間隔をチェックする(92)。
この場所が最小相互間隔距離を満足する場合(94)、プロセスは、出力画像内の場所にドットを形成する(96)。ドットは、出力画像の目標空間解像度にある光学コードのためのドットサイズ及び形状パラメータセットに従って置かれる。現在の最大値の場所が最小間隔要件を満足しない場合(94)、本方法は、高密度光学コード内の残りの要素の中から次の最大値に進み(98)、ドットは現在の最大値の場所に形成されない。配置プロセスは、目標空間密度が満たされるまでこの様式でドットを置き続ける。
より暗い周辺要素の中央により明るい「穴」を形成するプロセスは、最大値が光学コードの最も明るい要素値に対応するという点を除き、同様の方式で進む。穴は、出力画像位置に画素値を、その場所にインクが適用されないか、又は近隣の場所にあるより暗いインクに対するより明るいインクが適用されるように設定することによって形成される。いくつかの変異形において、ドット及び逆のもの(穴)の両方は、最小間隔要件を満足する離間した場所に形成される。これは、光学コードのより多くの信号が出力画像内に保持されるため、信号担持能力及び信号堅牢性を増大するという利点を有する。
図15~図22は、このプロセスを、1次元で高密度光学コードを表す波形100によりグラフで例証する。離散的なデジタル形式において、高密度光学コード信号は、目標空間解像度でサンプリングされる、画素の場所の二次元アレイのためのレベル(例えば、8ビット値の場合は0~255)に量子化される。波形100は、最小値102、104、及び最大値106、108、110を有する。シグナリングスキームに応じて、最小から最大への値は、最も暗いものから最も明るいものに及ぶか、又はその逆である。例証の目的のため、最小から最大への値が、最も暗いものから最も明るいものに及ぶ例を説明する。
図16は、出力画像内に光学要素を形成するプロセスの開始を描写する。述べられるように、図14の方法は、優先度の順に要素を形成し、優先度は、振幅で伝達される。波形100に向かって動く線112は、振幅の順で光学コードの要素を訪問する手法を描写し、最小値から始まり上方に進む。図16は、光学コードの波形をその元の空間構成で示すが、その離散的な振幅値は、好ましくは、振幅によってソートされ、その結果として、本方法は、ソートされたリストをステップスルーすることによって効率的に前進する。
図17において、プロセスは、最も暗い要素を見出す(102)。図18に示されるように、光学コード要素は、この場所に形成され(102)、リング114内に描写される最小間隔は、本方法が出力画像内に光学コードのさらなる要素を形成するときに実施される。最小距離は、ドット要素102の外縁と光学コード信号から形成される最も近い近隣ドット要素との間の最小距離である。
図19は、次に高い優先度を有し、最小間隔制約(リング120、122によって例証される)も満足する、光学コード内の場所における2つの追加要素(116、118)の配置を描写する。本方法が進むと、これは、図20に示されるような場所124における別の極小値の場所にある出力画像内のドットを訪問し、形成する。この例は、本方法がどのようにして信号ピーク周辺の出力画像内の光学コード信号要素の要素の配置を優先順位付けするかを例証するが、それは、これらのピークが光学コードの堅牢性及び信頼性において最も重要である信号構成要素を伝達するためである。この点をさらに描写するため、図21は、最小値102(図15)の周辺の別のドットである次に高い優先度にある別のドット126の形成を示す。本プロセスは、出力画像内の光学コード要素を形成することからのドット密度が、所望のドット密度に達するときに完結する。図22は、一次元でのドットの配置を示すが、本プロセスは、二次元出力画像タイルでのドットの配置に適用する。
多くの用途にとって、マッピングされた光学コード要素を含む出力画像は、ホスト画像と統合され、次いでこれが基材に印刷されるか、又は別の方法でマークされる。図23~図24は、この出力画像がラベルテンプレートから生成されるラベルデザインと統合される例を例証した。ラベルデザインは、上部のブランド識別子及びロゴなどのプログラム可能な要素、並びに製品情報を提供するテキストを含む。ラベルデザインはまた、重さ及び価格など、スケール内に動的に生成された情報を含む。
光学コードの出力画像(例えば、目標空間密度におけるその「スパースな」形式)を、ラベル又は包装デザイン画像などのホスト画像と統合するためのいくつかの戦略が存在する。各々において、目標空間解像度にある光学コードのタイルは、ホスト画像全体にわたって連続ブロック内に複製され、次いでホスト画像と統合される。統合のための1つの方法は、光学コード画像をホスト画像と重ねることである。例えば、ドット要素は、ホスト画像内に置かれる。ホスト及び光学コードタイルの両方が2値であるため、ホスト又は光学コードのいずれかがドットを有する場合、プリンタはドットを印刷する。別の方法は、重要なテキストコンテンツ(価格及び重さなど)の文字の境界からの侵入禁止距離を順守しながら、光学コードの要素がホスト画像内に形成されるというインテリジェントオーバーレイを行うことである。より詳細には、ドット要素は、それが重要なホスト画像文字又は図形(従来のバーコード線など)の外側境界から予め定められた侵入禁止距離内にあるところを除いて、光学コードのすべての場所に置かれる。(重要なテキスト及び他の図形の周辺のそのような侵入禁止保護帯域は、先に参照される、公開第20170024840号に詳述されている。)
さらに別の手法は、光学コードが、重要でないホスト画像情報よりも上に優先順位が付けられるように、光学コード要素の場所にあるホスト画像を変調することである。光学コードは、例えば、光学コード信号の出力画像に対応するドット又は穴でホスト画像を変調することによって形成される。ドットは、光学コードの暗い要素を符号化するために置かれ、穴は、光学コードの明るい要素を符号化するために形成される。
図23は、光学コードの出力画像がタイル化され、次いで統合されているラベルの例を例証する。これは、感熱印刷されたラベルの描写であり、列の一部がゼロに設定されており、これは印刷ラベルをもたらした感熱プリンタの印刷要素の故障に対応する。熱印刷要素が故障すると、それはもはや、その印刷要素を通過するラベルストックの列に沿ってラベルをマークしなくなる。本発明のテストは、所望の空間密度のために光学コードを最適化するための本発明の方法が、印刷要素の故障に起因する情報の損失に対する改善された堅牢性を達成することを明らかにする。
図24は、要素のさらにより太い列がゼロに設定されている(ドット要素が印刷されないことを意味する)、光学コードと統合されるラベルデザインの例を例証する。ここでも、この場合、本発明の方法は、画像劣化にもかかわらずペイロードがきちんと符号化されることを可能にする、改善された堅牢性を提供する。
図25は、光学コードのタイルがテキストと統合されているさらに別の例である。本発明者らは、様々なフォントサイズで示されるようなテキストと統合された光学コードをテストし、様々なフォントサイズにわたって増大された堅牢性を見出した。フォントサイズ及びテキスト密度は、光学コードの異なる空間密度で光学コードのパラメータを最適化するために使用されるテスト画像内に含まれ得るさらに別の特徴である。
データ信号構成要素の優先順序付け
元の状態の高密度光学コードのホスト画像のアートワークへの変換は、光学コードのデータ信号の損失を結果として生じる。これは、この変換が、高密度データ信号タイルの部分が、よりスパースな空間密度(タイルあたりより低いドット密度)に変換されるときに、それを除去する、又は歪ませることが理由で起こる。加えて、出力画像が挿入されるホスト画像のテキスト、図形、及び他の画像コンテンツが、光学コードを妨害し得る。図形要素のスパース性が増大すると、データ信号要素は除去又は変更され、これが堅牢性を低減する。これは、出力の所与のタイル領域内のデータチャネルの容量を低減する。
データ信号をアートワーク内に組み込むことは、アートワークのデータチャネル内の信号構成要素の優先順位付けにも影響を及ぼす。これは、アートワークが信号構成要素を別様に妨害し得ることが理由で起こる。加えて、信頼性の高い検出を達成するために参照信号(例えば、同期信号)及びペイロード信号のために設けられる信号容量の量は、アートワークデザインにより変化する。したがって、信号構成要素の比率は、アートワークのために適合されなければならない。
ここでは、堅牢性の損失に対抗するように信号構成要素を優先順位付けするための戦略について論じる。図26は、データ信号を最適に担持するアートワークを生成することに使用する前にデータ信号の要素を重み付けする方法を例証する図である。光学コード信号ジェネレータは、信号構成要素を生成する。これらは、ペイロードビットのサブセットを担持する構成要素(130)、及び参照信号(例えば、同期信号)を提供する構成要素(132)を含む。ブロック134において、光学コード信号ジェネレータは、構成要素を、それらの優先度に従って重み付けする。この優先度は、次いで、データ信号要素のうちのどれが保持されるかを制御するために、アートワーク生成において使用される。
光学コード信号のタイルを担持するようにホスト画像を適合するための1つの手法において、ホスト画像に光学コード信号を挿入するためのプロセスは、候補アートワークデザインのためのペイロード構成要素及び参照構成要素に対する異なる重み付け、並びに挿入戦略を用いて実行される。これにより、データ信号を担持するアートワークのいくつかの変異形を得る。各変異形のさらなる並べ替えは、次いで、画像シフト、回転角度、減少及び拡大する空間スケール、雑音追加、ぼやけ、並びに印刷要素故障のシミュレーションに従って、アートワークを歪ませることによって生成される。同期のための参照信号との相関及びメッセージ信号との相関の両方に基づいた堅牢性測度は、各アートワーク変異形について計算され、記憶される。加えて、光学コードリーダは、各変異形に対して実行されて、それがペイロードをきちんと復号するかどうかを決定する。次いで、構成要素重み付け及び堅牢性メトリックしきい値が、ペイロード復号の成功をもたらす構成要素の配分比率を分析することによって導出される。この配分は、どの比率及び堅牢性メトリック値が信頼性の高い検出をもたらすために必要とされるかを例証する。これらの比率及び堅牢性メトリックは、次いで、候補アートワークデザイン、及び自動データ符号化プログラムにおける信号符号化方法のために使用される。
別の手法は、スパースなアートワーク内のデータ信号を最適化する。スパースなアートワークに対応するため、データ信号もまたスパースであり、スパースなアートワークと一致するように構造化される。スパースなデータ信号は、2値(0、1)、3値(-1、0、1)、又は他の粗い量子化であり得る。スパースな信号は、典型的には、低密度、即ち、50%未満のインク、又は50%未満の空間である。そのような信号は、50%で最大堅牢性を有するため、いかなる最適なスパースなアルゴリズムも、インク/空間密度が50%の方へ向かうにつれて堅牢性が増大するはずである。
スパースな信号は、2値又は3値信号を作成するためにしきい値を使用することによって堅牢性を維持する。これらの2値又は3値信号は、検出フィルタが、所望の信号位置で最大値を返すことを確実にする。アートワーク内のスパースな場所間で、検出フィルタは、画像捕捉によってもたらされるランダム雑音(具体的には、スキャナ又はカメラ雑音)に起因する最大の負の出力と正の出力との間のガウス分布を出力する。ガウス幅は、画像捕捉処理に含まれるぼやけの量などの因子に依存する。
スパースな信号の最適化の間、少量のフィルタされた雑音が、画像捕捉デバイスの雑音に起因して検出フィルタが非ゼロ値を所構わず作成するということを考慮して追加される。スパースな信号の最適化パラメータは、ペイロード信号に対する参照信号の重み付け、要素配置規則(例えば、最小要素間隔)、及びしきい値を含む。2値信号の場合は単一のしきい値が存在する。それは、低インク密度<50%では負のしきい値、高インク密度>50%では正のしきい値である。3値信号の場合は二重の正及び負のしきい値が存在する。堅牢性目標は、高密度信号とスパースな信号とで同じである。具体的には、それは、目標とするワークフロー環境における検出堅牢性であり、これは、符号化されたアートワークに対する歪によりモデル化される。
データ信号構成要素の選択:フィルタリングの検討
復号の前に、マーク付き物体から捕捉される像は、予測非線形多軸フィルタによって処理され得る。参照により組み込まれる米国特許第7,076,082号は、「8軸」フィルタと呼ばれるそのようなフィルタについて詳述する。8軸フィルタリングの例示的な形式は、被写体画像サンプルをその8つの周辺近隣部と比較して、8つの比較値(例えば、正の差では+1、負の差では-1、等しい場合は0)を提供し、次いでこれを合計する。フィルタ出力は、このようにして被写体画素がその近隣部とどれくらい異なるかを示す。近隣部の異なる構成及び重みは、異なる関数に従ってフィルタを成形するために適用され得る。(別のフィルタ変異形は、目的のサンプルが、横の近隣部及び縦の近隣部の平均と比較され、次いでこれが同様に合計される十字フィルタである。)そのようなフィルタリングは、コード信号が追加される基底のアートワーク像を減衰させることによって追加されたコード信号を強調する傾向がある。
本技術のさらなる態様によると、印刷されるスパースなマークに含まれるべきデータ信号構成要素を選択するときには、この予期されるフィルタリング動作が考慮される。
図27は、図10に関連して先に説明されるように、目標解像度にある参照信号を、アップサンプリングされたペイロード信号と、所望の比率で結合することから生じる複合信号の抜粋を示す。数字は、純粋な黒である0から純粋な白である255までに及ぶ画素値を示す。スパースな信号を生成するため、例証的な実施形態は、この信号を画素の大きさによってソートし、スター付き画素を、それらが配置(例えば、間隔)制約を満たすと同時に最も暗い場所であることが理由で、出力フレーム内に黒色ドットを置くための場所として識別する。
しかしながら、そのような手法は、明るい画素のシグナリングポテンシャルを無視する。明るい画素は、それらが印刷された暗い画素に近接しない限りは、スパースなマークの復号に何の寄与もしない。8軸、十字、又は他の非線形フィルタがそれらの明るい色調を見分けるには、それらは、フィルタがそれらの相対的な明るさを示すように、より暗い画素の存在下になければならない。さもなければ、フィルタは、不明瞭な出力(例えば、ガウス分布がゼロ近くを中心とする値)をもたらす。
コード信号構成要素を伝達することにおける役割をより明るい画素に与えるには、隣接する明るい画素がそれらの情報に対して同様に評価されるようにする、出力フレームへのコピーのための暗い画素を選んだ方がよい。こうして、1つの暗い画素を選ぶことが、2つ、3つ、又はそれ以上の画素に値する情報をもたらし得る。
例証のため、図28内のスター付きの暗い画素について検討する。スター付きの画素が暗いドットとして出力フレームにコピーされる場合、丸で囲まれたより明るい画素もすべて、検出器内の復号情報に寄与する。データは、1つの暗い画素のみを出力フレームにコピーすることによって、5つの画素から提供される。
即ち、出力フレームにコピーされるスター付きのマークは、0の値(即ち、黒)を有する。周辺の8つの画素の各々は、印刷されないため、捕捉像内では非常に高い画素値、255近くを有する。これは、挿入図Aによって示される。中心画素がその8つの近隣部の各々よりも低い値を有するため、これは、挿入図Bに示されるように、8軸フィルタからの強力な出力:-8をもたらす。
次に、図28から、明るい「192」の丸で囲まれた画素の最も左側について検討する。この画素、及び、スター付きのものを除く、そのすべての近隣画素は印刷されない。(スター付きの暗い画素のみが、出力印刷内に暗いドットを生み出すということを思い出されたい。)捕捉像に描写されるような、この明るい「192」画素を中心とした近隣は、したがって、挿入図Cのように示される。8軸処理が、隣接する暗い画素の存在に起因して、挿入図Dに示されるように、この「192」画素のための出力を生成する。(8軸信号は+1と弱いが、それにもかかわらずそれは信号であり、捕捉像内の数千ものそのような画素にわたって、重要な復号の差を生じる。)
同様に、図28内の丸で囲まれた画素の各々-いずれも印刷されない-は、隣接するスター付きの暗い画素が予測フィルタに非ゼロ出力信号を生成させることから、デコーダに何らかの情報を寄与する。また、当然ながら、暗い画素も情報を寄与する。
単に最も暗い画素の単純な選択は、時に、隣接する明るい画素からの信号がデコーダに情報を寄与することを可能にするというこのような効果を有する暗い画素を選ぶことを結果として生じる。しかしながら、それは単なる偶然であり、戦略ではない。
実際、単に最も暗い画素を単純に選ぶことは、多くの場合、周辺画素がすべて明るい色であると、デコーダによって誤解されるということを結果として生じる。(それらは、結局のところ、印刷されない。)これは、そのような地点において、メッセージ信号、加えて重み付けされた参照信号が、そのような地点において、高い画素値を有するという理解へとデコーダを誤って導き得る。周辺画素が、実際には暗い(例えば、128未満の画素値を有する)場合、これは、全く間違った情報である。
例証のため、図27内の下方のスター付きの暗い画素について検討する。出力フレームにコピーされ、印刷され、次いでイメージングされる場合、これは、予測フィルタに、その周辺画素の8つすべてが相対的に明るいと考えさせる。相対的な意味では真であるものの、これは、これらの周辺画素の取り込みに関して検出器を誤って導く。4つはミッドグレーであり、他の4つは様々な濃淡の暗さである。これら後者の4つの画素は、予測フィルタリングされるとき、それらが実際には暗い画素であるときに明るい画素と関連付けられた情報を伝達して、検出器を誤った方向へ導く。
したがって、暗いドットとして出力フレームにコピーするために図27(又は図10)から暗い画素を選ぶことにおいて、暗く、且つ、多数の真に明るい色の画素によって囲まれる画素を選ぶことが最良である。そのやり方では、出力フレーム内の暗い地点を囲む印刷されない画素は、情報を混乱させることなく正しい情報を寄与して、デコーダによって適切に理解される。
そのような戦略は、復号のために使用される可能性の高い予測非線形フィルタを、複合重み付けグリッド付きメッセージ信号に適用することによって実施され得る。最も高い8軸フィルタスコアを有する暗い画素は、隣接画素の最も明るいセットに囲まれるものである。出力フレームのためにこれらの暗い画素を選択することにより、コピーされる暗い画素あたりの最も正しいメッセージ及び参照信号情報を提供することを助ける。
実験により、出力フレームにコピーするための暗い画素を選択するためのこれら2つの基準:(a)候補画素の暗さと、(b)複合高密度コード信号内の候補画素へのフィルタ関数の適用から生じる値との間での、相対的な優先順位付けを決定することができる。そのような実験は、10の値及び-7の8軸フィルタ値を有する暗い画素、又は30の値及び-8の8軸フィルタ値を有する暗い画素のどちらがコピーするのにより良いかを明らかにすることができる。因子「k」は、スコアが異なる{画素値/フィルタ値}ペアについて評価され得るように、2つの因子の関係を、任意選択的に2つのベキ指数「u」及び「v」と併せて、示すことが分かっている。
即ち、スコア(優先度)Sは、以下のように、画素値P及びその対応するフィルタ値Fに対して計算され得る。
S=Pu+kFv
そのようなスコアは、重み付けグリッド付きメッセージ信号内の各暗い画素について(即ち、128未満の値を有する各画素について)決定され得、結果はランク付けされる。この特定の関数においては、最小スコアが最良である。次いで、画素は、相互画素配置(間隔)制約の影響下で、ランク付けリスト内のそれらの位置に基づいて選択され得る。
そのような手法によって、暗い画素選択は、単に相互画素間隔に基づくのではなく、情報効率検討事項にも基づく。
図29、図30、図31、及び図32のフローチャートは、上に説明される構成の態様を例証する。図32において、ブロック323a~323cは、ブロック323の関数が達成され得る特定のアルゴリズム動作を規定する。ブロック323aa~323ccは、ブロック323の関数が実施され得る別のアルゴリズムを規定する。
データ信号構成要素の選択:ペイロードの検討
本明細書に詳述される種類のコードは、典型的には、複数のビットペイロード(例えば、20~100ビット)を伝達する。図10(及び図27)の複合信号フレーム内の各画素は、ペイロードビットのうちの1つの値をシグナリングすることを助ける。ペイロードビットは、出力信号タイルにわたって、各ペイロードビットが、典型的には、出力フレーム内の4~60個の暗いドットによって表現されるように、冗長的に符号化される。これらの冗長ビットは、完全なペイロードが、出力信号タイルのほんの一部(例えば、タイルの4分の1)だけを描写する像から回復され得るように、望ましくは空間的に広がっている。
出力信号フレームの明るい画素もまた、ペイロードビットの値をシグナリングすることを助けることができるが、ただし、そのような明るい画素が、暗い画素に隣接しており、前の章で論じられるように、デコーダによって正しく解釈されることを条件とする。
本技術のさらなる態様によると、出力フレームへのコピーのために暗い画素を選択するとき、複合フレーム内のどの暗い画素がペイロードのどのビットに対応するかの理解が検討される。同様に、複合フレーム内のどの隣接する明るい画素がペイロードのどのビットに対応するかの理解が同じように検討される。両方の検討は、ペイロードビットの各々が、望ましくはサブタイルごとに、出力信号フレーム内でほぼ同じ程度の強さで表現されるようにすることを目指す。
特に、出力信号タイルは、4つの正方形サブタイルに分割され得る。次いで、各メッセージビットが、各サブタイル内で、暗い画素によって、及び明るい画素によって何回表現されるかについての、割符が維持され、各サブタイル内の各ペイロードビットについてのビットあたりの総計強度を得る。
明るい画素は、わずかな8軸出力信号しか生成しないため、それらのビット符号化は、その同じビットを符号化する暗い画素によって寄与される出力信号強度のほんの一部(例えば、8分の1)に寄与するに過ぎないものとして重み付けされ得る。即ち、暗いドットは、「1」の強度を有するペイロードビットを表すものと見なされ得る一方、隣接する明るい画素は、0.125の強度を有するそれらのそれぞれのペイロードビットを表す。(しかしながら、上に論じられる理由により、8つすべての隣接する明るい画素が、ペイロードビットを正しく表すわけではない場合がある。)
1つの特定の実施形態において、目標のビットあたり信号強度は、例えば、以下のように決定される。出力タイルが、例えば、840個の暗いドットを有し、各暗いドットが「1」の強度を有する1つのビット、及び、例えば、0.125の強度を有する5つの他のビット(ビットを正しく符号化する白色画素を囲むことに起因して)を表す場合、840個の暗いドットは、強度1にある840ペイロードビット、及び強度0.125を有する4200個のペイロードビットを表すことができる。40個のペイロードビットが存在する場合、各々は、21個の暗いドット及び105個の明るいドットによって表され得る。したがって、各ビットは、21+(105*0.125)の総計「強度」、又は約34で表される。したがって、各サブタイルは、約8の総計強度を有する各ペイロードビットを表し得る。これは、出力フレームへの暗い画素のコピーを管理する目標値である。
特に、出力タイルへのコピーのための暗い画素候補のランク付けリストは、前の章で詳述されるように、生成される。これらの暗い画素候補は、ランク付け順に、ドット配置(例えば、間隔)制約の影響下で、出力タイルにコピーされる。各サブタイルにおける、各ペイロードビットの強度の割符は、同時に追跡される(暗い画素及び隣接する明るい画素の両方を考慮して)。任意のサブタイルにおける、任意のビットの総計強度は、まず、8の目標値に達し、次いでそのサブタイルへの候補の暗い画素のコピーは、より賢明に進行する。
特に、ランク付けリスト内の次の候補の暗い画素が、目標強度の110%超(即ち、この例では8.8まで)の、サブタイル内の特定のビットの総計強度をもたらす場合、それはスキップされる。検討は、ランク付けリスト内の次の候補の暗い画素へ移る。
そのような手法によって、暗い画素選択は、ドット配置及び情報効率検討事項だけに基づくのではなく、それは、異なるサブタイルにわたって、コードペイロードの異なるビットにわたる信号エネルギーのほぼ均一な分布にも基づく。
(たった今詳述した構成は、別の方式で、例えば、配置制約の影響下での、単に画素値によるランク付けの単純な手法によって識別される候補の暗い画素のランク付けリストに、当然ながら適用され得る。)
図33及び図33Aのフローチャートは、先述のいくつかの態様を例証する。ブロック331及び332は、高レベルで方法を規定する。ブロック331は、本明細書内の他の場所で詳述されるように高密度コードを作成することによって、又は以前にコードが記憶されたメモリからコードを単に読み取ることによって実施され得る。このコードは、ペイロードコード単独であってもよく、それは、参照信号構成要素を含む必要はないということに留意されたい。
要素332a~332iは、ブロック332の関数が達成され得る特定のアルゴリズム動作を規定する。図33aは、ブロック332gと関連付けられたアルゴリズム動作をさらに規定する。
要するに、本技術のこの態様は、スパースな出力コード内で、強度に関して、各ペイロードビットを実質的に等しく表すことを求める。実質的とは、そのような方法で使用される場合、ここでは、すべてのペイロードビットの平均強度値の10%、20%、又は50%以内を意味する。
信号堅牢性を促進するために参照信号構成要素の振幅を変化させること
本明細書は、スパースな信号符号化の情報効率及び信頼性を増大させる様々な方法を教示する。すべての根底にあるのは、出力信号フレーム内の黒色マークが貴重であるという観念であり、各々が、シグナリングの何らかの態様を最適化する様式で利用されるべきである。
スパースなマーキングによって伝達され得る情報の量(又はそれが伝達され得る際の堅牢性)に対する制限は、例えば、ラベルの空領域及び背景における、消費者にとって許容可能であるドットの密度である。そのようなラベルは、一般的には、食料品に適用され、ラベルが「汚い」という消費者の知覚は、食品市場とは対極にある。この美的な検討は、そのようなラベルのスパースなマーキングにおける永続的な制約として機能する。
出願者は、マーキングの美観が改善される場合、消費者がラベル上のドットのより大きい密度を許容するということを見出した。ドットが、構造化された、ランダムではないパターン外観を有し得る場合、ドットは、「汚れ」と見なされることは少なく、より「アート性」と見なされ、それらのより多くが印刷され得る。
先行技術において、参照信号は、異なる空間周波数及び(任意選択的に)異なる位相の、しかし均一の振幅の、複数の正弦波からなっていた。出願者は、驚くべきことに、参照信号の個々のスペクトル構成要素は、検出能に対する著しい障害なしに、振幅を変化させることができるということを見出した。参照信号の異なる構成要素の振幅を変化させることによって、異なる視覚的パターンが、スパースなパターンで生成され得る。
図34は、ソフトウェアツールのユーザインターフェース(UI)を示し、これによりスパースなマーキングの視覚的外観が調整され得る。図34の中央にあるのは、現在デザインされているスパースなマークのレンダリングである。描写されたスパースなマークは、すべてのスライダ(右上及び左上)が最も左の位置にあるため、ランダムな態様を有する。
スパースなマークの視覚的外観を調整するために、ユーザはこれらのスライダバーを操作する。各スライダバーは、参照信号を共同して規定する正弦波のうちの異なる1つ(又は複数)の振幅を制御する。
スライダの最も左の位置では、対応する正弦波信号は、1の重み(振幅)を有する参照信号に結合される。スライダが右に動かされるにつれて、構成要素信号の重みは増大され、1~50で変化する範囲を提供する。(異なる実施形態では、ゼロにまで延びる範囲が用いられ得るが、出願者は、すべての参照信号構成要素が非ゼロ振幅を有することを好む。)スライダが動かされると、図34の中央にあるスパースなマークのレンダリングは、それに応じて変化する。
下方左のボタンは、デザイナが、異なる付帯的な処置の間で選択することを可能にする。これらのボタンは、例えば、参照構成要素及びペイロード信号構成要素を結合するための、及び出力信号タイルにおける使用のために複合マークから画素の場所を選択するための本明細書内に詳述される戦略のうちの異なるものを適用する。
UIの下方中央にある計器は、参照信号及びメッセージ信号の強度を示し、同じものが、スキャン及び復号プロセスのモデルによって生成される。(同じことが、例えば、2018年3月12日に提出された、先に引用した係争中の出願第15/918,924号に詳述されており、この開示は、参照により本明細書に組み込まれる。)
例証したGUIを実装するために、出願者は、人気のあるマトラボ(Matlab)ソフトウェアスイートのGUI開発環境(GUIDE)を用いた。
いくつかの参照信号は、人間のコントラスト感度機能に起因して、通常の観察条件下では高すぎて人間が知覚できない空間周波数の正弦波成分を含む(例えば、85フートキャンドルの照度で18インチの距離)。そのようなより高い周波数成分に対しては、それらの振幅が可視パターンに目立って影響しないことから、通常スライダは提供されない。むしろ、空間周波数が人間にとって知覚可能であるより低い周波数の参照信号構成要素に対してのみ制御が提供される。(より低い周波数正弦波の中央振幅値が決定され得、これらのより高い周波数正弦波の振幅は、この中央値に設定され得る。)
図35は、本技術のこの部分の態様を詳述するフローチャートを示す。
図36及び図36A(図36の左上角からの拡大された抜粋を示す)は、不均等な正弦波振幅から生じる例示的なスパースなマークを示す。見て分かるように、パターンはもはや純粋にランダムではないが、ヘリンボン織に類似した、斜めのパターンニングを有する。「汚い」と知覚される代わりに、そのようなドットのアレイは、多くの場合、ラベルの美観を損なう以上にそれに寄与することに役立つ質感のある背景パターンとして知覚される。
図36内のマーキングの非ランダム性は、等しいサイズの隣接する領域内のドットの数を数えることによって定量化され得る。例えば、図36A内の正方形領域361は、13個のドットを包含する。隣接する正方形領域362は、1つのみを包含する。
図36A内の矩形領域363でも同様である。これは、15個のドットを包含する一方、同じサイズの隣接する領域364は、3つのみを包含する。
一般的に、スパースなパターンは、パターン内の第1の矩形領域が数Aのドットを包含し、第2の隣接する矩形領域が数Bのドットを包含し、Aが少なくとも10であり、AがBの少なくとも200%である場合、ランダム性の外観を回避するものと見なされ得る(多くの場合、Aは、大半のBの400%又は800%であり、場合によってはBはゼロである。)これらの矩形領域は、正方形であってもよく、又は、一方の辺が他方の辺よりも長くてもよい(例えば、領域363及び364のように少なくとも3倍長い)。
多くの場合、結果として生じるスパースな構造は、斜めの効果を発揮する。即ち、最小領域内に最大ドット数を包含するようにサイズ決定され位置付けられる複数の矩形365、366、及び367の長い辺は互いに平行であり、マーキングが適用される基材のいかなる縁にも平行ではない。多くの場合、斜めの効果は、中央軸を中心とする鏡像であり、図36A内の矩形368及び369によって例示されるように、鏡像配向の矩形内に整列されるマークの同様に高密度のグループ化をもたらす。
アドビフォトショップ(Adobe Photoshop)(登録商標)内のヒストグラム関数によって、像のある領域の平均画素値が見出され得る。図36A抜粋では、それは、243.49であり、その領域の総計4.5%が黒色で印刷されることを示す。
図37は、そのような背景マーキングを含む感熱印刷された粘着ラベルの抜粋を描写する。理解され得るように、マーキングは、汚れというよりも装飾的である。さらにマーキングは、冗長的及び堅牢的に、商品のGTIN識別子だけでなく、その重量、その価格、及びその販売有効期限の日付(食料品が通常マークされるUPC-Aバーコードよりも、約2倍多くの情報)を表すペイロードを伝達する。ラベルの一部が損傷されている場合、それにもかかわらず完全な情報が回復され得る。
図37ラベルは、テキスト文字ストロークの各々の周りに、幅においていくつかの印刷されていないドットの明白な境界(「侵入禁止ゾーン」又は「保護帯域」)を含む。この戦略により、パターンニングは、テキストの可読性を損なわない。
ランダムパターン(図34に示されるもののような)が、図37に示されるパターンのように買い物客にとって不愉快でないものになるには、色合いがはるかに明るい、多くの場合は2倍明るい(半分の暗さ)必要がある。そのときにさえ、大半の消費者が好むのは構造化パターンである。
図34、図36、図36A、及び図37に例証される信号は、ペイロード構成要素及び参照信号構成要素の両方を含むことを認識されたい。2つの構成要素は、本明細書内で詳述される様式のいずれかで結合され得る。構造化された外観の調節は、参照信号構成要素を調整することによって達成される。
異なる空間周波数であるだけでなく異なる振幅でもある正弦波からなる参照信号を使用することによって、情報は、他の方式で商業的に実用であるのと比べてより大きい信号対雑音比(即ち、より大きいインク密度)で伝達され得る。10%超のインクカバレッジを有する構造化パターンは、テキスト入りラベルで用いられ得、良好な消費者受容を伴う。
データ信号マッピング
図38は、データ信号要素をホスト画像アートワーク内の場所にマッピングする方法を例証する図である。この実施形態において、先に論じた信号生成からの最適化されたデータ信号構成要素136は、ホスト画像アートワークの場所138にマッピングされる。処理モジュール140において、図形要素は、アートワークの場所において、生成され、及び/又は適合される。
図6の方法を適用すると、ペイロードは、2進数列にフォーマッティングされ、これが、符号化され、タイルの場所にマッピングされる。例証のため、ビットセルのN×Mアレイの実装形態を説明する。パラメータN及びMは、整数であり、タイルは、ビットセルのN×Mアレイからなる。タイルのサイズは、構成可能であり、単位面積あたりのペイロード容量、堅牢性、及び可視性などの用途要件に依存する。ペイロード容量は、単位面積あたりのビットセルの増加に伴って単位面積あたりに増加する。この追加の容量は、複数のビットセル内でペイロードを冗長的に符号化することによって堅牢性を改善するために使用され得る。可視性は、HVSがより高い空間周波数では変化に対して感受性が低いため、より高い空間解像度(ビットセルのより高い空間密度)では減少する傾向がある。ビットセルアレイサイズの例は、64×64、128×128、256×256、及び512×512を含む。これらの各々は正方形であり、2の累乗の寸法を有するが、タイルは、そのように制限される必要はない。ビットセルは、タイル内の空間的位置に対応する。特に、空間的位置は、75~600DPIなどの構成可能な空間解像度にある画素サンプルに対応する。ペイロードは、ホスト画像アートワークの連続タイル内で繰り返される。ペイロードのインスタンスは、各タイル内で符号化され、タイルあたりのビットセルの数及び空間解像度に依存するサイズを有するアートワークのブロックを占有する。タイルは、いくつかの連続タイル内で冗長的に符号化されて、検出器がタイルにわたるペイロードの信号推定値を蓄積すると、さらなる堅牢性を提供する。加えて、ペイロード全体は、サブタイル領域内で冗長的に符号化される構成にあるタイルの一部分から抽出され得る。
いくつかの例は、タイルのこれらのパラメータを例証するのに役立つ。タイル内のビットセルの空間解像度は、インチあたりのセル(CPI)に関して表現され得る。この表記は、典型的にはインチあたりのドット(DPI)に関して表現される画像内の画素にビットセルを空間的に関連させる簡便な方法を提供する。例えば、75CPIのビットセル解像度とする。タイルが、300DPIの画素解像度を有する画像へと符号化されるとき、各ビットセルは、300DPI画像内の画素の4×4アレイに対応する。別の例として、150CPIにおける各ビットセルは、300DPI画像内の2×2画素の領域、及び600DPI画像内の4×4画素の領域に対応する。ここで、N×Mビットセルに関してタイルサイズを検討し、ビットセルのサイズを設定する場合、ビットセル寸法にタイルの水平次元及び垂直次元あたりのビットセル数を掛けることによってタイルサイズを表現することができる。以下は、異なるCPIについてのインチでのタイルサイズ、及び1つの次元におけるビットセルの数Nの例の表である。この場合、タイルは、N×Nビットセルの正方形アレイである。
これらの例は、タイルサイズが、タイルあたりのビットセル及びビットセルの空間解像度により変化することを例証する。開発者は、データ容量、堅牢性、及び可視性に関して、用途の必要性に基づいてタイルのパラメータを選択し得るため、これらは制限することは意図されない。
符号化されたペイロードをタイル内のビットセルの場所にマッピングするためのマッピング関数についていくつかの代替策が存在する。1つの手法においては、上の最適化プロセスからの優先順位付けされた信号構成要素は、タイル内の場所にマッピングされる。別では、それらは、上に組み込まれる米国特許第9,747,656号に説明されるように差分符号化されたビットセルのビットセルパターンにマッピングされる。後者の場合、タイルサイズは、差分符号化されたビットセルのパターン内の各々の符号化されたビットの差分符号化に適応させるために増大され得、ビットセルは、目標解像度(例えば、300DPI)での埋め込み場所に対応する。
明示的な同期信号構成要素の場合、マッピング関数は、同期信号の離散的デジタル画像をホスト画像ブロックにマッピングする。例えば、同期信号が、疑似ランダム位相を有するフーリエ大きさピーク又は正弦波のセットを含む場合、同期信号は、タイルと同一の広がりを持つブロックサイズで空間領域内に生成される。この信号構成要素は、上に説明される最適化プロセスにおけるペイロード構成要素に対する優先度に従って重み付けされる。
場合によっては、光学コード要素の空間解像度と印刷又は他のレンダリングプロセスの空間解像度との差を適応させる必要がある。1つの手法は、先に例証されるように、レンダリングプロセスの目標出力解像度で光学コード信号を生成することである。
別の手法は、光学コード解像度を出力解像度に変換するために、スパースな光学コード信号要素を適合させる、又は成形することである。レンダリングデバイスがラベル印刷用の203DPIの空間解像度を有する感熱プリンタである場合を検討する。図39は、203DPIの出力解像度のために異なる光学コード解像度がどのように適応されるかの例を示す。この例では、上で導入された一般的な用語、CPIは、インチあたりのワクセル(WPI)として表現され、ビットセルは、「ワクセル」と称される。一番左では、203WPIの光学コード解像度は、203DPIの感熱プリンタの出力解像度に対する1対1マッピングである。次のケースでは、およそ101WPIの光学コード解像度は、光学コード内のビットセル内のドットを、203DPIでの出力画像内の対応する場所にある2×2画素の場所のうちの1つにマッピングすることによって獲得される。次の例では、約68WPIの光学コード解像度は、光学コードのビットセル内のドットを、203DPIでの出力画像内の対応する3×3画素領域の中央にマッピングすることによって達成される。一番右の例は、203DPIでの出力画像内で51WPI光学コード解像度を近似させる場合を示す。
光学コード要素のドットサイズは、上記プロセスで最適化され得る別の変数である。実装形態においては、1つの2×2又はそれ以上のドットの集合体から出力画像内のドットを構築することによってドットサイズを変化させる。例えば、この場合、ドットサイズは、出力画像DPIでの出力画像内のドットの幅として表現される。
図40は、改善された視覚的品質及び堅牢性を達成するためのドットパターンバリエーションを例証する。ドットサイズを変化させることに加えて、ドットの構成が、視覚的品質又は堅牢性を改善するために変更され得る。左側のドット構成のドットサイズは、サイズ2であり、光学コードの出力解像度での2×2ドットの集合体からなることを意味する。所望の空間解像度は、タイル内の空間的位置の関数として構成を変化させることによってより良い視覚的品質を伴って獲得され得る。例えば、図40の中央及び右側のドット集合体は、同じ光学コード要素を左側の2×2の集合体として符号化するが、より高い視覚的品質を提供する異なるドット集合体構成を用いてこれを行う。加えて、このバリエーションは、ドット集合体の少なくとも一部分が、このドット集合体を通過するドットの列のうちの1つを印刷する印刷要素の故障の場合にも残ることが理由で、熱印刷要素が故障したとしても同様の堅牢性を達成する。
追加の開示
図41、図42、図32、図44A、図44B、図45、及び図46を参照して、以下の議論は、先に説明した構成の1つの特定の実施形態420をさらに詳しく述べる。
図5の構成と同じように、2つの信号構成要素、ペイロード及び参照が、まず決定される。一方は、他方を変調するために使用される。しかしながら、参照信号構成要素の位相を変調する(又はそのような構成要素のオン/オフキーイング)のではなく、実施形態420は、空間領域参照信号内の局所的極値の位置を識別し、そのような位置において、ペイロード信号の空間的に対応する要素の値に応じて出力信号ブロック内にマーク(ドット)を形成する。
図43は、符号化されたペイロード構成要素ブロック432(メッセージデータアレイとも呼ばれ得る)の抜粋431を例証する。この部分は、各々が2つの潜在的な値(例えば、{0、1}、{-1、1}、又は{黒、白})から引き出される信号要素のアレイからなる。描写された抜粋は、単に5×5要素の領域に及ぶが、完全なペイロード構成要素ブロックは、典型的には、はるかに大きく、例えば、一辺に16、32、64、128、又は256個の要素(例えば、画素)を有する。ペイロード構成要素ブロックは、通常、正方形であるが、そうである必要はない。より一般的には、それは、I×Jの信号要素の寸法を有すると見なされ得る。
図43はまた、参照信号ブロック434(時に、空間的登録データアレイと呼ばれる)の抜粋433を示す。このブロックは、実数、ここでは0~1の範囲の2Dアレイを含む。先に述べたように、参照信号は、異なる位相を有し得る、異なる周波数の複数の正弦波成分の総和を含み得る。例証される数は、参照信号ブロック434にわたる規則的に離間した地点でのこれらの空間正弦波成分を合計することによって決定される。波が破壊的に干渉する(谷を生じる)場合、合計は、より小さく、ゼロにより近くなる。これらの正弦波が、建設的に干渉する(ピークを生じる)場合、合計は、より大きく、1により近くなる。
(参照信号ブロックの抜粋433は、図7に示される抜粋72に類似することを認識されたい。しかしながら、図7では、参照信号は、0~255の範囲の値からなり、整数値に定量化されて、描写されたグレースケール表現を生じる。図7の暗い画素は、図43ではゼロにより近い実数によって表され、明るい画素は、1により近い実数によって表される。)
ここでも、参照信号ブロック434は、典型的には、正方形であるが、そうである必要はない。より一般的には、それは、M×N要素の寸法を有すると見なされ得る。Mは、典型的には、ペイロード構成要素ブロック432のI寸法よりも大きく、Nは、典型的には、ペイロード構成要素ブロックのJ寸法よりも大きい。
参照信号ブロックは、ここでは非整数データを用いるため、その要素値は、詳述した方法を実施するコンピュータシステムのメモリに浮動小数点データとして記憶され得る。
最終的に、ペイロード構成要素ブロック432及び参照信号ブロック434の対応する空間部分は、出力信号ブロック435の空間部分を生成するように一緒に処理される。ペイロード構成要素ブロックの部分と参照信号ブロックの部分との空間対応は、ペイロード構成要素ブロックの各要素が参照信号ブロック内の場所にマッピングする、マッピングと見なされ得る。図43の例では、ペイロード構成要素ブロックの各要素は、抜粋431及び433を繋ぐ破線によって(及び要素の3x3の領域の境界を定める抜粋433内の太線によって)示されるように、参照信号ブロック内の9つの要素にマッピングする。詳述した実施形態において、出力信号ブロックは、参照信号ブロックと同じ寸法、即ち、M×N要素のものである。
例示的な実施形態において、ペイロード構成要素ブロックは、128×128要素(即ち、I=J=128)であり、参照信号ブロック(及び出力信号ブロック)は、384×384要素(即ちM=N=384)である。
特定の実施形態によると、出力信号ブロック435内の各々の暗い要素は、ペイロード構成要素ブロック432内の対応する暗い要素に起因する。例えば、出力信号ブロック内の暗い信号要素437aは、ペイロード構成要素ブロック内の暗い信号要素437bに起因する。
より詳細には、ペイロード構成要素ブロック内の複数の暗い信号要素437bの各々について、この特定の方法は、以下の動作を実施する。
(a)ペイロード構成要素ブロック内の暗い信号要素が空間的に対応するM×N登録データアレイ内の場所を決定すること。
(b)この決定された場所に最も近いM×N登録データアレイ内のK個の近隣要素を識別することであって、K≧4である(例えば、K=9)、識別すること。
(c)参照信号ブロック内のこれらのK個の要素のうちどれが極値(例えば、最小値)を有するかを識別すること。
(d)384×384要素参照信号ブロック内のこれらのK(9)個の近隣位置の中から、極値が位置する第1の位置を識別すること(及び逆に、極値が位置しない場所として他の8つの位置を識別すること)。
(e)384×384要素出力ブロックにおいて、識別された第1の位置にある要素を1つの値(例えば、暗)に設定し、8つの他の第2の位置にある要素を異なる値(例えば、明)に設定すること。
好ましい実施形態において、これらの動作は、ペイロード構成要素ブロック内のすべての暗い要素について実施される。したがって、128×128ペイロード構成要素ブロック432内の暗い要素の数は、384×384要素出力ブロック435内の暗い要素の数と同じである。しかしながら、他の実施形態においては、ペイロード構成要素ブロック内の暗い要素のサブセットがそのように処理され得、ペイロード構成要素ブロック内よりも出力ブロック内でより少ない暗い要素をもたらす。
たった今詳述したプロセスは、メッセージデータ及び参照信号データの両方を表す2D出力コードを形成する。これらの2つの構成要素は、メッセージデータに都合の良い割合で表される。これは、結果として生じる出力コードを、空間的登録を確立するのを支援することができる他の構造、例えば、出力信号ブロックの回転及び平行移動を確立するのを助けるために基準として機能し得る出力信号ブロックの縁に平行である物理的な縁又は印刷された境界線、並びに、捕捉像内のスケールが出力信号ブロックのスケールを推定するのを助けるために使用され得る顕在的パターン(例えば、ロゴ又はテキスト)を有する商品への印刷に特に適したものにする。
特に好ましい実施形態において、I×J(例えば、128×128)メッセージデータ(ペイロード)アレイは、第1及び第2の値を有する等しい数の要素を含む。例えば、8192個の暗い要素及び8192個の明るい要素が存在し得る。そのような実施形態において、上に詳述した動作(a)~(e)は、8192個の暗い要素の各々について実施される。
メッセージアレイの要素の半分は明るいため、出力コード内の要素の3×3の近隣部の半分もまた明るい。出力コード内の他の3×3の近隣部について、各々が、9つのうち1つの暗い要素を有する。そのため、全体的には、出力コード内の8分の1の要素が暗い(及び18分の17が明るい)。
他の実施形態において、メッセージデータアレイ内の明るい要素及び暗い要素は、本質的に等しい、又はほぼ等しい数である。(「本質的に」等しいとは、本明細書で使用される場合、5%以内を意味し、「ほぼ」等しいとは、20%以内を意味する)。
図43では、メッセージデータアレイ432、参照信号タイル434、及び出力信号タイルの寸法には整数関係が存在する。特に、メッセージデータアレイ内の各要素は、参照信号タイル及び出力信号タイルの両方において9つの要素に対応する。
当然ながら、他の整数関係が用いられてもよい。例えば、メッセージデータアレイ内の各要素は、参照信号タイル及び出力信号タイルの両方において、4つの要素、又は25個の要素に対応し得るなどである。
依然として他の実施形態において、非整数関係が使用され得る。即ち、Mは、Iの整数倍である必要はない(NもJの整数倍である必要はない)。
図44A及び図44Bは、そのような実施形態を示す。Mは、Iの2.4倍である(及び、NはJの2.4倍である)。したがって、メッセージ信号アレイ内の各要素は、参照信号タイル及び出力信号タイルの両方において5.76個の要素に空間的に対応する。この空間対応は、メッセージ信号アレイ432内の各要素の中心にある「+」マーキング、及び参照信号タイル434内の対応する場所へのそのマッピングによって示される。破線ボックス441は、メッセージ信号アレイ内の単一の要素に対応する参照信号タイル内の要素領域を囲む。
そのような実施形態において、極値(上記の動作(b)を通じて)は、参照信号タイル内の近隣要素値の2×2セットから得られる。これら4つの要素のうちの1つは、マッピングされた「+」サインが入る要素である。その他は、「+」サインに最も近い3つの要素である。4つの要素442の1つのセット、及びそのようなセットからの極値(最小値443)が、図44Bにおいてラベル付けされる。(図44B内の参照信号要素の値は、図43内の対応する参照信号要素の上方左部分から得られる。)
図44Bのメッセージ信号アレイ432内の暗い要素の各々について動作(a)~(e)を適用することにより、出力信号タイル435aを得る。前と同様に、出力信号タイル435a(例えば、447a)内の各暗い要素は、メッセージタイルアレイ432(例えば、437b)内の対になる暗い要素を有する。
図45は、図43の構成(各メッセージ信号要素を参照信号アレイからの9つの要素にマッピングすること)から生成される出力信号タイル435の部分(436)を、図44Bの構成(各メッセージ信号要素を参照信号アレイからの5.76個の要素にマッピングすること)から生成される出力信号タイル435aの対応する部分(436a)と比較する。一方の部分における各暗い要素は、他方に対となるものを有する。しかし、部分436内にはより多くの要素が存在するため、それは、部分436a(1/(2*5.76)又は8.68%の密度で印刷される)よりも薄い密度(18分の1、又は5.55%)で印刷される。
印刷出力内のドットの密度は、したがって、メッセージ信号アレイ内と参照信号アレイ内との要素の数の比率を変えることによって変化され得る。慣用手段では、メッセージ信号アレイは、固定サイズ(例えば、64×64要素、又は128×128要素)のものである。対照的に、参照信号タイルは、単純に、それが構成される連続関数(例えば、正弦波)がサンプリングされる間隔を調節することによって、任意のサイズに設定され得る。すべてのアレイが正方形である(I=J及びM=N)場合、印刷密度(色合い)は、以下の等式によって決定され得る。
PrintDensity=1/(2*(M/I)Λ2)
M/I比率が、恣意的に設定され得る場合、印刷密度は、以下の等式によって、任意の所望の値へと調整され得る。
M/I=SQRT(1/(2*PrintDensity))
したがって、メッセージ信号アレイが128×128要素であり、5%の印刷密度が所望される場合、連続参照信号は、405×405要素のアレイを生成するようにサンプリングされなければならない。10%の印刷密度が所望される場合、参照信号は、202×202要素のアレイを生成するようにサンプリングされなければならない、などである。
加えて、実装形態にいくつかの制約を課し得る、信号タイルを印刷環境にマッピングする問題が存在する。述べられるように、粘着ラベル用のプリンタは、1インチあたり203の密度(dpi)で離間される熱要素の線形アレイを用い得る。1つの手法は、メッセージアレイに対して1インチあたり所望の数Wのコード要素(ワクセル)を選ぶ。次いで、完全なメッセージタイルは、一辺に、例えば、128/Wインチの寸法を取る(メッセージタイルが128×128のワクセルである場合)。Wには、89などの素数が使用され得る。この場合、完全なメッセージタイルは、一辺に、128/89、又は1.438インチの寸法を取る。203dpiでは、これは、出力タイルの一辺に、(1.438インチ*203ドット/インチ)=292ドットを要する。参照信号は、292×292アレイを生成するようにサンプリングされ得、これに128×128メッセージアレイがマッピングされる。次いで、メッセージアレイ内の各要素の中心が、図44Bに示されるように、参照信号アレイ内の地点にマッピングされる。参照信号アレイ内の4つの最も近い要素の値は、最小値を識別するために調べられ、次いで、出力信号タイル内の対応する位置が、上に説明され図44Bに示されるように、マークされる。
たった今の例では、M/I=292/128であるため、印刷密度は9.6%である。
図45内の2つの出力信号抜粋を比較すると、暗い要素の位置が、出力信号部分436a内、対、出力信号部分436内で相対的にシフトされることが分かる。例えば、暗い要素437a及び447aは両方とも、メッセージ信号アレイ内の同じ要素に対応する。しかし、一方は、出力信号抜粋の境界にあり、他方はそうでない。これは、メッセージ信号アレイのこの要素が、マッピングの異なるスケールに起因して、参照信号アレイの異なる領域にマッピングされるためである。
上に詳述したアルゴリズムを実施するための例示的なマトラボコードが、図46に詳述される。
示されるように、本技術は、スーパーマーケット商品(例えば、ベーカリー、デリ、肉屋など)への用途のための粘着ラベルを印刷することに使用され得る。そのようなラベルは、真っ直ぐの垂直の縁によって特徴付けられる。それらは多くの場合、一般に、印刷された直線を、印刷された情報の異なるものを分離する境界又は図形特徴のいずれかとして含む。それらはまた、典型的には、印刷されたテキストの1つ又は複数の線を含む。これらの印刷された特徴のすべては、規則的に離間した行及び列(例えば、インチに至るまでの離間した203行/列)で印刷される、間隔が密な黒色ドットからなる。それらの規則的な構成に起因して、そのような印刷は、画像が印刷ラベルを描写して捕捉されれば明らかである(「クエリ画像」)、空間周波数領域内の特徴的な特性を示し、そのような画像データは、高速フーリエ変換によって変換される。
クエリ画像(「クエリFFTデータ」)に適用されるそのようなFFTから生じる空間周波数データは、その種のラベルのための参照FFTデータのテンプレートと比較され得る。このテンプレートは、既知の配向(画像フレームに平行の縁)の、及び既知のスケールの、ラベル画像がFFTによって変換されるときに生じる空間周波数データを含み得る。クエリFFTデータを参照FFTデータと比較することによって、クエリFFTデータのアファイン歪が推測され得、今度はこれが、クエリ画像のアファイン歪を示す。画像を既知のスケールでフレーム内に真っ直ぐに置くために、補正逆歪がクエリ画像に適用され得る。この逆歪が施されたクエリ画像は、次いで、画像ポーズのさらなる精緻化(参照信号構成要素を使用した)のため、及び複数ビットペイロードの復号のために、復号アルゴリズムに提示され得る。(ポーズの精緻化は、本発明者らの公開第20170193628号に詳述される最小二乗技術、又は、2018年9月25日に提出された、本発明者らの公開出願第20180005343号及び本発明者らの係争中の出願第16/141,587号に詳述されるAllPose技術を用いることができる。これらの文書は、参照により本明細書に組み込まれる。)
図47は、先述の態様を例証するフローチャートを含む。中央の3つのブロックは、高レベルステップを識別する。両脇の括弧付きのフローチャートは、対応するステップを実施するために使用され得る特定のアルゴリズム動作を詳述する。
簡潔さの目的のため、先述の議論は、例えば、符号化されたペイロード構成要素の形成、参照(登録)信号構成要素の形成(任意選択的に、構造化した外観を有する)、ドット密度及び配置制約を制御すること、信号アレイをサイズ変更すること、より暗い縁取り内の穴を使用して信号を反転させることなどに関して、本明細書内の別の場所に提供される詳細事項を繰り返しておらず、これらが、たった今詳述した構成に等しく適用可能であることを当業者は認識するものとする。
グレースケール像を近似することにおけるスパースなマークの使用
良く知られているように、グレースケールの新聞写真は、白色背景に黒色ドットを使用して、又はその逆で、2色形式で表され得る。これは、多くの場合、ハーフトーニングと呼ばれる。そのため、グレースケール写真もまた、スパースなマークでレンダリングされ得る。
この章は、本発明者らの特許第6,760,464号において先に詳述される研究を踏まえる。この特許は、デジタル透かしが、デジタル透かし信号をハーフトーン画面として使用することによってハーフトーン画像に埋め込まれ得るということを教示する。1つの特定の実施形態において、透かしブロックは、ミッドグレー平均値(即ち、8ビットシステム内では128)を有する高密度透かしブロックに異なるしきい値を適用することによって、異なる暗さレベルで作成される。ホスト画像内の各画素において、グレーレベルは、しきい値に対応し、このしきい値が今度は、その場所における高密度透かし信号に適用されて、その場所にドットを置くか否かを決定する。
本技術の1つの実施形態において、異なるドット密度(インクカバレッジ)の様々なスパースブロックは、事前に計算されて、ルックアップテーブルに記憶される。ホスト画像内の各画素において、対応するブロックは、ルックアップテーブルからアクセスされ、ブロック内の画素の場所によりインデックスされる画素は、出力画像にコピーされる。即ち、スパースコードのドット密度は、グレースケール画像データに従って局所的に変化される。
図48Aは、椅子の例示的なグレースケール画像を示す。(特許図面複製の制限に起因して、これは実際にはグレースケール画像ではないが、効果は同様である。)図48Bは、スパースブロックから本方法によってレンダリングされる椅子の脚を示す拡大された抜粋を示す。元画像内の各グレースケール画素は、スパースブロックのタイル化アレイ内の位置と関連付けられる。ドットは、その画素(グレースケール)レベルに対応するドット密度を有する、ルックアップテーブル内のスパースなマーク内のその位置を調べることによって、出力フレームに書き込まれるか、又は書き込まれない。
図49は、グレースケールレベルとスパースなマーキングとの対応を示す。0~127の間のグレースケールレベルは、黒色背景上の白色ドットによって形成される(0%~50%の範囲のドットカバレッジ)。128~255の間のグレースケールレベルは、白色背景上の黒色ドットによって形成される(50%~0%の範囲のドットカバレッジ)。1~254の254個のグレースケール値の各々について異なるスパースなパターンが存在し得る。又は、複数のグレースケール値が、単一のスパースなパターンにマッピングし得る。例えば、0~15のグレースケール値は、最も暗いスパースなパターン(例えば、97%の平均インクカバレッジを有する)にマッピングし得、値16~31は、次に最も暗いスパースなパターン(例えば、91%の平均インクカバレッジを有する)にマッピングし得る、というように、最も明るいスパースなパターン(例えば、3%の平均インクカバレッジを有する)にマッピングし得る240~255の値まで続く。
図48Aに戻ると、非常に暗い階調において、及び非常に明るい階調においては、それほど信号が存在しないということを認識されたい。したがって、カメラが、参照番号481周辺の暗い領域だけを含む画像を捕捉するためにズームインされる場合、復号は困難又は不可能であり得る。参照番号482周辺の明るいエリアも同様である。しかしながら、カメラが他の領域を含む区域を捕捉する場合、ペイロードは、容易に回復され得る。
この方法による複製の忠実性は、部分的に、スパースなマークドットの要素サイズに依存する。図50Aは、各ドットが単一の画素である、スパースな形式に変換された、グレースケールのライオン写真の抜粋を示す。図50Bは、同じ抜粋を示すが、各ドットが画素の4×4セルである。(前者は、時に「隆起サイズ1」と呼ばれ、後者は、時に「隆起サイズ4」と呼ばれる。)審美的には、最小隆起サイズが所望され得るが、それは、ブロックを物理的に最小の空間広がりに詰める。そのようなものとして、それは、カメラが、信号検出/復号のために印刷対象物の比較的近くに置かれることを必要とする。多くの場合、印刷される物体との相互作用の人的要因、例えば、スマートフォンは、より大きい読み取り距離が使用されるべきであることを示し、隆起サイズ2及び3の共通使用をもたらす。
グレースケール像を近似することにおけるスパースなマークの使用に関するさらなる詳細
さらなる実施形態において、参照信号及びメッセージ信号は、図10~22に関連して上に論じられるように、所望の重み付けで結合されて、高密度グレースケール信号を生じる。N個の異なるレベルの印刷密度が規定され得る。例えば、Nは、19であってもよく、5%、10%、15%、…95%のインクカバレッジに対応する。5%印刷密度は、画素の5%がマークを有するまで、侵入禁止距離制約の影響下で、最低値画素を選択することによって達成される。10%、15%などについても同様である。
95%カバレッジは、画素の5%が白色でマークされるまで、侵入禁止距離制約の影響下で、黒色背景上にマークするための最高値画素(最も白い)を選択することによって達成される。90%、85%などについても同様である。
特定の実施形態において、異なる印刷密度は、異なる侵入禁止距離を設定することによって達成される。5%印刷密度では、侵入禁止距離D1が維持される。10%密度では、侵入禁止距離D2が維持され、D2≦D1である。15%密度では、侵入禁止距離D3が維持され、D3≦D2である、などである。
印刷密度スペクトルの反対側ではすべてが逆数であり、白色マークが黒色背景上に形成される。95%印刷密度では、侵入禁止距離D19が維持される。90%印刷密度では、侵入禁止距離D18が維持され、D18≦D19である。このように続く。
すべてではないがいくつかの実施形態において、D1=D19、D2=D18などである。
そのような構成を実装するため、高密度グレースケール信号内の画素値は、値によってソートされ、それらのそれぞれの場所と関連付けられる。5%印刷密度領域は、侵入禁止距離を値D1に設定することによって達成され得る。高密度信号内の最低値のグレースケール画素は、暗いマークとして、出力フレーム内の対応する位置にコピーされる。高密度信号内の次に最も低い値の画素は、それが前の画素から少なくともD1画素離れているかどうかを決定するために調べられる。そうである場合、それは、暗いマークとして、出力フレーム内の対応する位置にコピーされ、そうでない場合、それはスキップされる。高密度信号内の次に最も低い値の画素は、次に、それが以前にコピーされた画素から少なくともD1画素離れているかどうかを決定するために調べられる。そうである場合、それは、暗いマークとして、出力フレーム内の対応する位置にコピーされ、そうでない場合、それはスキップされる。このプロセスは、出力フレーム内の画素の場所の5%がマークされるまで続く。
10%印刷密度領域は、侵入禁止距離をD2画素に設定することによって達成される。10%インクカバレッジでマークされる印刷密度領域を生成するために、同様のプロセスが続く。15%印刷密度領域は、侵入禁止距離をD3画素に設定し、プロセスを繰り返すことによって、同様に達成され得る。
侵入禁止距離制約は、50%印刷密度、及び近くの値では困難になる。50%密度は、等しい数の暗いマーク及び白色マークを必要とし、いくつかは、斜めであっても、隣接しなければならない。最もスパースな50%パターンは、チェッカー盤、又はその逆である。
ミッドグレー値をスパースに変換することにおいて、デザイナは異なる道筋をとり得る。1つは、単純に従来のディザパターン(例えば、均一な50%チェッカー盤)を採用して、そのような領域内の情報を符号化しないことである。もう1つは、隣接部にかまわずに、高密度信号ブロック内の場所の最も暗い50%に暗いマークを置くことである。これは、斑点があるという効果を生じるが、強い符号化信号を提供する。他の構成では、2つの方法が組み合わせて使用され得、いくつかの領域は、規則的な見た目の外観のために選択されるディザパターンを使用し、他の領域は、空間的均一性にかまわずに、高密度信号の最も暗い50%に基づいてマークされる。
前者の場合、印刷密度の関数としての信号強度は、M字形状の曲線を有し、1~3%及び97~99%の印刷密度では信号強度は小さく、50%では全くなく、これら2つの値の間がピークになっている。後者の場合、信号強度は、単一ローブ状であり、50%で最大、並びに0%及び100%で0に傾く。
侵入禁止領域は、一般的には、ある程度円形と考えられるが、それらはそうである必要はない。出願者は、他の侵入禁止領域が、多くの場合、シミュレートされたグレートーンのより良好な制御を提供することを見出した。図51、図52A、図52B、図53、及び図54は、その理由を例証する。
図51は、1.2画素の侵入禁止距離によってマーキングから除外される4つの画素をクロスハッチングで示す。(この議論では、画素は、その中心が、太線で示されるマークされるべき画素の中心からしきい値距離よりも小さいところにある場合に除去される。)
図52A及び図52Bに示されるように、侵入禁止距離が1.5画素にわずかに増大されると、除外される画素の数は、4つ飛んで8になる。侵入禁止距離が1.8画素までさらに増大される場合、除外される画素の数は変わらない(依然として8)。
2.2画素への侵入禁止距離のさらなる増大は、図53に示されるように、除外される画素の数を、さらに4つ飛んで12まで上昇させる。2.4画素への侵入禁止距離のさらに少しの増加は、除外される画素の数を、8つ飛んで20まで上昇させる。
したがって、円形の侵入禁止領域は、マーキングから除外される画素の場所の数の非常に粗い制御を提供するということが分かる。数の変化なしは、侵入禁止距離におけるいくつかの増大で発生し、さらなる増大は、中心画素の周りに対称的に、除外される画素の数が4つ又は8つ飛ぶことを引き起こす。
楕円形の侵入禁止領域が用いられる場合、より細かい制御粒度が達成され得る。図55は、その短軸と長軸との間に0.7の比率を有する楕円を示す。1.9の長軸長さでは、この楕円形は、マーキングから8つの画素を除外する。そのサイズが2.2の長軸長さを有するまで増大すると(図56)、それは、マーキングから10個の画素を除外する。サイズが拡大するにつれて、それは、上及び下への画素の追加の対、左及び右への画素の追加の対、並びに画素の追加の4つ組を様々に包含する。そのような楕円形状は、円形侵入禁止領域のものの2倍の制御粒度を提供するということを認識されたい。(いくつかの実施形態において、長軸対短軸の比率は固定され、他の場合では、それは楕円形の面積が変わると変化する。)
依然としてさらなる制御粒度を達成するために、マーキングから特定の数の近くの画素を除外するように調整されるパターンが用いられ得る。
図57A、図57B、図57C、及び図57Dは、それぞれ1つ、2つ、3つ、及び4つの画素を除外するように調整される侵入禁止パターンを示す。これらは単に、好適なパターンの小さな分類である。これらのパターンの回転(90度、180度、及び270度)もまた、すべての回転の鏡像として、用いられ得る。大半のそのようなパターンは、中心画素を垂直又は水平に通過する対称軸を有さない。(示されないが、他のそのようなパターンは、さらなる数の近くの画素、例えば、5~25を除外するように形成され得る。)
前と同様に、ある画素が、出力フレーム内のマーキングのために選択されるとき、その近くの1つ又は複数の画素は、選択されるパターンに基づいて、マーキングから除外される。
図57A~Dなどのこのような構成は、いくつかの画素をマーキングから除外することによって異なる印刷密度を達成するためにきめの細かい機序を提供する。さらにより細かい制御は、侵入禁止パターンのうちの2つ以上の中からランダムに選択すること、例えば、異なる数の画素をマーキングから除外することによって達成され得る。例えば、出力フレーム内のマーキングのために(例えば、ソートされたリストから)選択される第1及び第2の画素の場所は、図57Bの上部侵入禁止パターンを使用することができ、第3の選択された場所は、図57Cの上部侵入禁止パターンを使用することができる。このシーケンスは、図57Bの侵入禁止パターンを用いた第4及び第5の選択された画素の場所、並びに図57Cのパターンを使用した第6の選択された場所などにより繰り返され得る。そのような構成により、各マークは、平均して、マーキングから除外されることになる近くの画素の場所の非整数の数(即ち、たった今の例では2.33)と関連付けられ得る。グレースケール画像階調の非常に細かいシミュレーションは、これにより達成され得る。
(たとえ所望の印刷密度が、図57C内のもののうちの1つなど、単一の侵入禁止パターンの使用により達成され得るとしても、同じ平均印刷密度効果を達成するために、より少ない及びより多い近くのマークを除外する、図57B及び57Dからなどの、2つ以上の異なるパターン間でランダムに変化することからの審美的利点が存在し得る。)
先の議論とは対照的に、たった今論じた構成において、異なる印刷密度は、異なる侵入禁止距離(例えば、5%印刷密度では侵入禁止距離D1)によって達成されるのではなく、むしろ、異なる侵入禁止場所除外数を設定することによって達成される。5%印刷密度では、9つの近くの場所を除外するパターンが用いられ得る。10%印刷密度では、5つの近くの場所を除外するパターンが用いられ得る。15%印刷密度では、3つの近くの場所を除外するパターンが用いられ得る(例えば、図57Cに示されるように)。20%印刷密度では、平均して2.5の近くの場所を除外するパターンの組み合わせが用いられ得る、などである。グレースケール画像の異なるレンダリングは、異なる印刷密度(グレースケールレベル)が異なる数の近くの除外される画素の場所に対応するマッピングを変化させることによって達成され得る。
捕捉画像からペイロードを読み取ること
図58は、物体から捕捉される画像信号から光学コードを復号するための方法を例証するフロー図である。
画像捕捉プロセス(例えば、図58のスキャン200)において、画像は、符号化されたペイロード信号が元画像内で符号化された解像度(例えば、300DPI、100DPIなど)に好ましくは近い解像度で捕捉される。画像アップサンプリング又はダウンサンプリング動作は、デジタルカメラ又はスキャナによって供給される画像を、さらなる復号のために目標解像度に変換するために実施され得る。
符号化されたデータ信号の1つ又は複数のブロックの少なくとも部分は、スキャン内で捕捉される。
復号方法の初期処理において、符号化されたペイロードを含む可能性が最も高い画像コンテンツを有するフレーム及びフレーム内のブロックを選択することが有利である。ブロックサイズは、望ましくは、符号化されたペイロード信号の完全なタイルの実質的にすべて、及び好ましくは近隣タイルの集合体に及ぶのに十分な大きさであるように選択される。しかしながら、カメラ又はスキャナからの距離が変化し得ることから、符号化されたペイロード信号の空間スケールは、符号化時のそのスケールから変化する可能性が高い。この空間スケール歪は、同期プロセスにおいてさらに対処される。
復号プロセスの第1のステージは、入ってくる画像信号をフィルタリングして、それを、符号化されたペイロード信号の検出及び同期のために準備する(202)。復号プロセスは、画像をブロックへとさらに分割し、さらなる復号動作のためのブロックを選択する。第1のフィルタリングステージは、入力色画像信号(例えば、RGB値)を、補助信号が適切な色重みを適用することによって符号化された色チャネル(複数可)に変換する。例えば、色チャネル符号化及び復号に関する詳細については、米国特許公開第20100150434号を参照されたい。入力画像はまた、660nm周辺のスペクトル帯の中心周辺に波長を有する典型的な赤色LEDなど、周囲照明又は人工照明の存在下での単色センサによる捕捉に対応する単一のチャネル画像(画素あたり1つの画素値)であってもよい。
第2のフィルタリング動作は、データ信号をホスト画像から隔離する。プレフィルタリングは、用いられる同期のタイプを含むデータペイロード信号符号化フォーマットのために適合される。例えば、明示的な同期信号が使用される場合、プレフィルタリングは、同期プロセスのために明示的な同期信号を隔離するように適用される。
述べられるように、いくつかの実施形態において、同期信号は、フーリエ領域内のピークの集合である。フーリエ領域への変換の前に、画像ブロックは、プレフィルタリングされる。例えば、上で組み込まれる米国特許第6,614,914号に詳述されるラプラシアンプレフィルタリングを参照されたい。窓関数がブロックに適用され、その後にFFTを用いたフーリエ領域への変換が続く。別のフィルタリング動作が、フーリエ領域内で実施される。例えば、参照により組み込まれる、米国特許第6,988,202号及び同第6,614,914号、並びに米国公開第20120078989号に詳述されるプレフィルタリング選択肢を参照されたい。
入力像は、典型的には、先に述べられるように、予測「8軸」フィルタでフィルタリングされる。このフィルタは、基底のホスト画像(典型的には、比較的高い局所相関を示す)を抑制し、それによりコード信号構成要素を伝達する雑音信号を強調するように作用する。
次に、同期プロセス(204)が、フィルタリングされたブロックにおいて実行されて、符号化された信号タイルの回転、空間スケール、及び平行移動を回復する。このプロセスは、フーリエ領域内のピークからなる同期信号の回転及びスケールを回復するために、米国特許第6,614,914号に詳述されるようなログポーラ(log polar)法、又は先に詳述されるような最小二乗若しくはAllPose手法を用い得る。平行移動を回復するためには、第6,614,914号の位相相関法が使用されるか、又は第20120078989号の位相推定法及び位相偏移法が使用される。
代替的な方法は、例えば、米国特許第第9,747,656号に詳述されるように、暗黙的な同期信号に対して同期を実施する。
次に、デコーダは、タイル内のビットセル位置をステップスルーして、各場所からビット推定値を抽出する(206)。このプロセスは、各場所について、回転、スケール、及び平行移動パラメータを適用して、各ビットセル位置からビット推定値を抽出する(206)。粒子において、このプロセスがタイル内の各ビットセル位置を訪問する際、このプロセスは、それを、同期において導出されるアファイン変換パラメータに基づいて受信画像内の場所に変換し、次いで各場所周辺でサンプリングする。このプロセスを行うのは、ビットセル位置及びその近隣部が検出フィルタ(例えば、8軸又は十字)に入力をフィードして、埋め込み場所におけるサンプルを近隣部と比較するためである。各比較動作の出力(例えば、1、-1)は、合計されて、ビットセル位置の推定値を提供する。ビットセル位置における各ビット推定値は、変調されたキャリア信号の要素に対応する。
信号デコーダは、各々の誤り訂正符号化されたビットの値を、そのビットのキャリア信号のビットセル位置からビット推定値を蓄積することによって推定する(208)。例えば、上のエンコーダ実施形態において、誤り訂正符号化されたビットは、16又は32個の要素を有する対応するキャリア信号にわたって変調される(例えば、2値対蹠信号で乗算されるか、又は2値対蹠信号とXORをとられる)。ビット値は、これらの要素の対応するビットセル位置から抽出される推定値から復調される。この復調動作は、推定値にキャリア信号符号を掛け、結果を追加する。この復調は、各々の誤り訂正符号化されたビットについてソフト推定値を提供する。
これらのソフト推定値は、ペイロード信号を生成するために誤り訂正デコーダに入力される(210)。畳み込み符号化されたペイロードでは、ビタビ(Viterbi)デコーダを使用して、チェックサム又はCRCを含むペイロード信号を生成する。誤り訂正の他の形態では、互換性のあるデコーダが、ペイロードを再構築するために適用される。例としては、ブロックコード、BCH、リードソロモン、ターボ(Turbo)コードが挙げられる。
次に、ペイロードは、チェックサムを計算し、復号されたチェックサムビットと比較することによって検証される(212)。チェックサムは、当然ながら、エンコーダ内のものに一致する。上の例の場合、リーダは、ペイロードの一部分についてCRCを計算し、それをペイロード内のCRC部分と比較する。
このステージで、ペイロードは、これより他の要求プロセス、例えば、後続処理においてそのコンテンツを使用するアプリケーションプログラム又はソフトウェアルーチンへと渡される。
符号化されたペイロードが正弦波の位相内で伝達される実施形態において、デコーダは、正弦波のサブセットなどの参照信号構成要素に対して、同様の第1のステージ同期を実行する。正弦波のこのサブセットは、空間周波数領域内でピークを形成する。同期後、デコーダは、ペイロードを担持する各参照信号における符号化されたペイロード要素の推定値を抽出する。位相シフトは、米国公開第20120078989号の位相推定及び偏移法を使用して、非変調状態に対して直接測定される。デコーダは、空間周波数領域内の正弦波成分の幾何変換座標を適用する。次いでデコーダは、画像内のこの成分の位相を、点広がり関数から導出される重みに基づいて近隣の整数座標における近隣の複合構成要素を重み付けすることによって推定する。この位相の推定値は、次いで、予測される位相(例えば、3値又は2値符号化スキームにおいて1、0、若しくは-1、又は1若しくは0を表す位相)と比較される。この成分において抽出されるビット値は、推定位相に対応するものである。このプロセスは、ペイロード信号を担持する各正弦波成分について繰り返す。結果として生じるシンボルのシーケンスは、次いで、誤り訂正符号化され、処理は、上に説明されるように誤り検出へと進む。
プレマーキングされた媒体
本技術の別の態様において、熱粘着ラベルのロールは、信号構成要素を伝達するために、典型的にはインクにより(熱変色ではなく)プレマーキングされる。このプレマーキングは、一般的には、ラベルのロールがユーザ(例えば、食料品店)に届けられる前、及びそれが感熱プリンタに設置される前に発生する。
1つの例証的な実施形態において、ロール上の各ラベルは、例えばドットの、印刷パターンを含む参照信号構成要素でプレマーキングされる。しかしながら、ドットは黒色ではない。むしろ、それらは、白色媒体上に印刷されるときに(黒色と比べて)人間の目が比較的感受しにくい色であるが、販売スキャナの点からの赤色光照明(例えば、660又は690ナノメートル)によりイメージングされるときに認識できるコントラストを提供する色のものである。1つのそのようなインク色は、パントン(Pantone)9520 Cである。(パントン9520 Cによるマーキング及び関連する問題に関するより詳細な情報については、参照により本明細書に組み込まれる、2017年12月21日に提出された、本発明者らの同時係属出願第15/851,143号を参照されたい。)
ドットのパターンは、出力信号ブロック内において、まず信号70内の最も暗い最低値の画素に対応する位置にドットを置き、十分な検出堅牢性の参照パターンが達成されるまで、暗さの小さい画素を連続して選択し続けることによって多値化参照信号(例えば、図10の70)から作成され得る。1つの特定の実施形態においては、5%のドット密度が使用され、別の実施形態においては、20%のドット密度が用いられ得る。いくつかの実施形態において、配置制約が、ドットの凝集を制限するために、他の場所で説明されるように用いられる。この参照信号ブロックは、次いで、ラベルの全長にわたって、又は特定の領域のみにわたって、タイル化され印刷され得る。
1つの特定の実施形態において、参照信号ドットのそのようなパターンは、他の事前印刷されたマーキング、例えば、ストアロゴを同様に適用するオフセット印刷機によって、粘着ラベルのロール上に印刷される。(そのような他のマーキングは、典型的には、異なるインク色を使用して適用される。)他の実施形態においては、インジェット印刷が使用される。(当然ながら、そのような印刷は、ラベル基材がロール内に形成される前、並びに接着剤が適用される前、及び/又はラベルがその剥離裏材に接着される前に、ラベル基材に適用され得る。)
異なる実施形態において、参照信号は、可視インクにより印刷されるが、会社ロゴなどの明白なパターンを描写する、又はそれを連想させるパターン化方式で印刷される。
参照信号が粘着ラベルストック上に事前印刷されているため、プリンタは、メッセージ信号だけを感熱印刷する必要がある。例証的なシステムにおいて、メッセージ信号は、バイモーダル信号、例えば、半分が(8,192)一方の値(例えば、黒)を有し、半分が他方の値(例えば、白)を有する、128×128要素のブロックである。図59は、そのような純粋なバイモーダルメッセージ信号の80×80の抜粋を示す。他の実施形態と同様、信頼性の高い信号回復を依然として保証しながら、黒マークのサブセットが用いられ得る(例えば、8192個の黒色マークのうちのおよそ500個)。
1つの特定の実施形態において、黒色マークは、黒色マークの所望の割合が選択されるまで、配置制約の影響下で、図59の純粋なメッセージ信号ブロックからランダムに選択される。これらは、次いで、純粋なメッセージ信号ブロックから対応する出力ブロックの場所にコピーされる。そのような結果として生じるアレイが図60に示される。マークの10%が出力ブロックへのコピーのために選択される場合(即ち、819個のマーク)、これは、印刷密度を50%から5%に減少させる。より大きい又はより小さい割合のマークがそのように選択されて、異なるスパース性を生じる。
他の実施形態において、マークは、図59の純粋なメッセージ信号からランダムに選択されない。代わりに、それらは、出力ブロック内の結果として生じるマークのアレイにパターン化された外観を与えるように、いくつかの領域から優先的に選択される。例えば、ブロックの大半からのブロックは、1つの比率(例えば、5%)で選択されるが、会社ロゴに対応する外形内では、ロゴパターン化されたスパースブロックを生じるように、マークのより密度の高い選択(例えば、10%)が選ばれ得る。
図61及び図62は、そのような構成を示す。図61内のスターで例証される会社ロゴは、選択マスクとして機能する。このマスクの黒色領域内では、マークは、このマスクの白色領域内よりも大きい密度で選択される。図62に示されるように、会社ロゴを反映するスパースなパターンが以て生成され、ラベルにわたってタイル化され得る。そのようなブロックのアレイは、それらが実際のラベル上に現れ得るスケールで描写されて、図63に示される。当然、マスク領域の内側のより大きい又はより小さい印刷密度では、より大きい又はより小さい明白性のパターンが形成され得る。
(ドット配置制約が、より暗い密度抜粋内で用いられ得る場合とそうでない場合とがある。図62及び図63では、そのような制約は用いられない。)
メッセージ信号のみのマーキングの文脈で説明されるが、異なる領域における異なる密度でのドットの選択は、他のマーキング構成において、例えば、参照構成要素及びメッセージ信号構成要素の両方が熱による黒色マークによって形成される実施形態において、図62及び図63に示されるもののような結果を達成することができるということを認識されたい。
スケールスキャナの点によって捕捉される像からメッセージを読み取るために、印刷されたオリジナルに対する捕捉画像のアファイン歪(物体がスキャナに提示されるポーズに起因する)が決定されなければならない。事前印刷されたドットから検出される参照信号は、オリジナルパターンに対するイメージングされたパターンのスケール及び回転が確立されることを可能にする。しかしながら、平行移動も決定される必要がある。
平行移動を確立する(例えば、捕捉画像内のメッセージ信号ブロックの左上角を見出す)1つの方式は、メッセージ信号の部分として、メッセージ信号ブロックに対する既知の場所に、基準マーキングなどの証印を感熱印刷することである。基準は、二重丸マーキング、ダイヤモンド、プラスシンボル、又はロゴなどの既知のパターンであってもよい。代替的に、証印は、スパースなドットの独特の2Dパターンであってもよく、これに対して信号デコーダは、一致が見出されるまで既知の2Dパターンを像の抜粋と空間的に相関させることなどによって、同期することができる。いくつかの実施形態において、独特のパターンは、ペイロードビットのうちのいくつかのものを固定値に設定し、そのようなパターンに対応するドットのうちの一部又はすべてを印刷することによって達成される。参照信号に対する既知のパターンの場所は、メッセージ信号の平行移動を規定し、復号が進むことを可能にする。
ラベルプリンタによって印刷される基準を用いたそのような構成は、メッセージ信号が任意の空間的関係で事前印刷された参照信号に適用されることを可能にし、その後検出器が、検出された参照信号に対する検出された基準の位置に基づいて、未知の平行移動オフセットを決定する。別の実施形態において、印刷機序の公差は、感熱印刷されたメッセージ信号が、例えば、メッセージ信号ブロックの右上角がラベルの右上角(又は、ラベルの角が丸くない場合は、そのようなラベル角がある場所)と一致した状態で、ラベル上の既知の空間的位置に確実に現れるという、十分に正確なものである。参照信号が、高い精度で(例えば、異なるプレート及びスクリーンの整列を達成するために、オフセット印刷機において一般的に要求されるように)ラベルに事前印刷されるため、参照信号及びメッセージ信号は、両方の信号構成要素が共通動作で印刷される構成の空間整列に対抗する空間整列で印刷され得る。最悪でも、例えば、符号化されたメッセージの固定ビットに基づいた、小さい総当たり2D相関検索が、任意の小さいオフセットを補正することができる。次いで、捕捉像からのメッセージの復号が、通常の様式で進み得る。
依然として別の構成において、感熱プリンタは、感熱印刷前に、事前印刷されたラベルから画像データを捕捉し、参照信号のブロックの左上角の場所を、検知データから決定する光学センサを備える。これにより、プリンタが、参照信号との登録された整列でメッセージ信号を印刷することを可能にし、その結果として平行移動の調査は要求されない。
1つのそのような実施形態において、光学センサは、参照信号を含む画像を捕捉する2Dカメラを含む。この画像は、パターンの位置を明らかにし、プリンタが登録された整列でメッセージ信号を適用することを可能にする。より単純な実施形態において、光学センサは、単純に、参照パターンと同じ事前印刷動作において、ラベルのマージンに事前印刷された目盛りを検知するように位置付けられるフォトダイオード及び光検出器構成である。ここでも、目盛りの位置を特定することによって、プリンタは、メッセージ信号を、参照信号との登録された整列で印刷することができる。
変異形構成において、プリンタ内の光学センサによって検知するための同期マーク又はパターンは、ラベル領域自体には事前印刷されないが、代わりに、ラベルの側面へのトリム片(ラベルがその裏材から剥がされるときに残る片)、又はラベルの間にある裏材若しくはトリム片などの隣接する媒体上に形成される。
参照信号ドット選択によるメッセージシグナリング
下に説明されるシグナリング構成は、(所与の信頼性での)情報転送のためのシャノン限界に、先行技術のスパースコード構成よりも近くに接近するという点で有利である。
出願者は、連続階調ホストアートワーク内に隠された光学コードを見分けるために全体的に最適化した先行技術の透かし検出器(例えば、2017年6月20日に提出された、米国特許第9,747,656号、同第9,959,587号、及び出願第15/628,400号、並びにそこに引用される参考文献に詳述され、時に、本明細書では「従来の」又は「連続階調」透かしデコーダとしてまとめて参照されるもの)は、スパースコードに適用されるとき、スパースコード内のアートワークの大半が空である(又は均一トーン化される)ために、最適以下であるということを見出した。空であるが、そのような領域内の捕捉像は、均一に値化されない(例えば、すべてのそのような画素が完全白の値:255を有するわけではない)。むしろ、典型的には、例えば、白色背景について230~255の範囲にわたる画素値間のわずかな変動が存在する。この変動は、先行技術の検出器が、実際には信号がない場合に、信号を見つけるということをもたらす。そのような「幻像」信号は、真の信号の正しい復号を妨害する雑音として作用する。
この問題を回避するために、出願者は、信号が欠ける(例えば、空である)ことが予測される領域からの幻像信号の回復を制限又は回避する様々な構成を考案した。特に、そのような実施形態は、スパースなドットが位置することが予測される画像の場所のサブセット(例えば、画像の場所の50%未満、より典型的には、画像の場所の15%、10%、又はそれ未満)を識別する。デコーダは、場所のこの小さいサブセットからのみメッセージ信号を見分ける。雑音は比例して低減される。好ましい実施形態において、これらの場所は、多値化2D参照(登録)信号の極値に対応する。
以下に説明されるものなどの構成により、出願者は、メッセージを表すために使用されるドットの数が、堅牢性を著しく損なうことなく、米国特許第9,635,378号に教示されるものなどの以前のスパースコード構成と比較して、30%、50%、70%、又はそれ以上低減され得るということを実証した。(堅牢性は、ガウス型白色雑音の増大するレベルを符号化された画像に追加し、大量のサンプル画像にわたって、検出率が100から、98%などの何らかのしきい値に入る雑音レベルに注目することによって分析され得る。)
第1のそのような実施形態において、1024個の暗いマークのみが、128×128信号タイル内の16,384個の領域の中から用いられる。マークはすべて、参照信号を表す(その極値によって)が、それらの選択は、メッセージ信号を表す。
本方法は、図10の信号70として描写されるものなどの参照信号タイルで開始する。参照信号タイル(例えば、128×128要素タイル)内の各正方形要素(例えば、ワクセル)の中心において、参照信号は、例えば、0(黒)~255(白)の範囲の対応する実信号値を有する。(図10に示されるなど、他のシステムにおいて、値は、例えば、約-0.6(黒)~0.6(白)まで様々である実数値である。)16,384個の要素は、2048個の最も暗い要素を含むランク付けリストを生成するために、値によってソートされる。リスト内の各エントリは、順序位置(1、2、3…)、並びにタイル内の要素の位置を列及び行によって指定する{X、Y}データと関連付けられる。表2は、そのようなリストの抜粋を示す。
(参照信号の値は、各要素の中心における、整数値ではなく実数として計算され、その地点までの明白な順序を保証する。)
例えば47ビットのペイロードは、畳み込み符号化、並びに任意選択的に、反復及びCRCコーディングによって処理されて、長さが1024ビットであるメッセージを得る。メッセージ内の各ビットは、ランク付けリスト内の参照信号要素の連続した対と関連付けられる。1つの対は、1及び2にランク付けされた場所からなる。次の対は、3及び4にランク付けされた場所からなる、などである。
メッセージ信号の第1のビットが、偶数値化される場合(即ち、0)、表2内の第1の対からの偶数にランク付けされた場所(即ち、#2)が、暗くされる出力信号タイル内の場所を決定する。第1のビットが奇数値化される場合(即ち、1)、第1の対からの奇数にランク付けされた場所(即ち、#1)が、暗くされる出力タイル内の場所を決定する。同様にメッセージ信号の第2のビットについては、3及び4でランク付けされた場所の間で選択する、と続く。したがって、参照信号要素のうちの1024個が、1024メッセージビットのビット値に基づいて、表2で識別される2048個の要素から選択され、暗くされる出力タイル内の1024個の場所を規定する。
例証のため、01001110…で始まるメッセージを検討する。そのような場合、表3で識別される出力信号タイル内の要素は暗くされる。
出力信号タイル内の1024個のドットの各々は、元の参照信号タイル内の最も暗い値のうちの1つに対応する。各々のそのようなドットはまた、1024メッセージビットの対応するビットを表す。
図64A及び図64Bは、そのような構成を描写する。図64Aは、いくつかのワクセルが白色ボックスによって強調される極値(即ち、最も暗いワクセル)を有している、参照信号の抜粋を示す。論じられる実施形態において、2048個のそのような極値は、完全な参照信号タイル内で識別される。(示されたワクセルは、単純な侵入禁止制約を実施して、2つが直接隣接しないように選択されている。)
極値はペアリングされ(図示されない)、各対の一方の場所は、メッセージ信号のそれぞれのビットに従ってマークされて、図64Bに示されるもののようなスパースコード抜粋を生じる。2048個の候補場所の半分、1024個の場所が、完全な128×128のワクセルタイル内でマークされる。
図64Bに示されるもののようなスパースなパターンを描写する捕捉画像を復号することにおいて、画像のアファイン変換が、まず、参照信号を参照して決定される。(図64Bのドットマーキングはスパースであるが、それらは、ドットが参照信号の最上位部分である極値に対応するため、タイルのより大きい抜粋にわたって、捕捉画像のアファイン変換を特徴付けるには十分である。)次いで、画像は、典型的には、パターンをその元の提示に回復するために逆に歪ませられる。(より正確には、受信画像は、決定されたアファイン変換から規定される座標系に従ってリサンプリングされる。)これらの動作は、先に引用した先行技術文書においてより具体的に詳述される。
メッセージを抽出するために、検出器は、表2からのデータの独自のコピーを使用する。(この表は、特定の参照信号を用いるすべてのマークについて一貫しており、検出器コード内の取るに足りないメモリを占有する。)検出器は、逆に歪められた像を調べて、表内のエントリの第1の対(即ち、ランク1及び2)によって指定される2つの場所における画素値を決定する。理想的には、一方が暗く、一方が明るい。暗い方は、第1のメッセージビットの値を示す。次いで、検出器は、像を調べて、表内の第3及び第4のエントリ(即ち、ランク3及び4)における画素値を決定する。ここでも、理想的には、一方が暗く、他方が明るい。暗い方は、第2のメッセージビットの値を示す、と続く。
実践では、検出器によって、メッセージの各々の潜在的なビットを検討することにおいて、調べられる2つの場所は、値が遠く離れている場合があるか(ビット決定における高い信頼度を示す)、又は値が互いに近い場合がある(より低い信頼度を示す)。各メッセージビット決定と関連付けられた信頼度を定量化するために、表内の対の奇数及び偶数の番号が付けられたエントリによって示される場所における画素の値に基づいて、スコアが計算される。1つの好適なスコアは、
スコア=Log2(偶数位置における画素の値/奇数位置における画素の値)
である。
上の例では、偶数位置{72、32}における画素の値が30であり、奇数位置{18、22}における画素の値が240である場合、スコアは、マイナス3であり、メッセージの第1のビットが値「0」を有することを示す。(いかなる負の値もビット値が「0」であることを示す。)
次のビットを検討すると、検出器は、偶数位置{26、82}における画素の値が130であること、奇数位置{1、33}における画素の値が101であることを見出し得る。この場合、スコアは0.364である。正のスコアは、対応するビット値が「1」であることを示す。しかしながら、スコアの絶対的な大きさは低い(例えば、第1のビットスコアの絶対値:3に対して)。これは、この決定におけるより低い信頼度を示す。
この手順(逆に歪められた像内の2048個すべての候補場所を検討した後)によって獲得されるメッセージビットのストリングは、各々についての信頼度スコアと一緒に、ビタビ、リードソロモン、又はターボデコーダなどのソフトデコーダに適用される。これらの生ビット決定及び信頼度スコアから、デコーダは、元の47ビットペイロードを返す。
たった今説明したデコーダは、16,384ワクセル参照信号タイル内のちょうど2048個の場所を調べるということを認識されたい。他の14,336ワクセルは、それら他のワクセル内に存在するいかなる幻像信号も復号を妨害しないように、無視される。
たった今説明した構成は、ソート順での隣接性に基づいて、参照信号内の極値点をペアリングする。これは、各ペイロードビット表現のための1つおきの場所が同様の参照信号強度のものであることから、理に適った選択である。しかし、これは必須ではない。ペアリングは、任意の方式で、例えば、しきい値を下回る値を有する参照信号要素のサブセット内でランダムに、行われ得る。
再考すると、この第1の特定の実施形態において、メッセージは、各々が2値メッセージストリング内のそれぞれの位置に第1の値又は第2の値(例えば、0又は1)を有する複数のビットからなる。M(例えば、2048)個の2D参照信号要素のリストは、各々が、リスト内に順序位置を有し、各々が、2D参照信号内の場所と関連付けられるように、値によってランク付けされる。したがって、このリストは、N=1、2、…(M/2)について2N-1、2Nの順序位置を有する、要素の複数の対を規定する。要素の各対は、偶数順序位置を有する要素及び奇数順序位置を有する要素を含む。メッセージ信号内の各位置は、ランク付けリスト内の一対の要素と関連付けられる。マークは、メッセージ信号内の関連付けられた位置が第1の値(例えば、「0」)を有するとき、出力信号タイル内において、一対のうちの偶数要素の場所に対応する場所に提供される。同様に、マークは、メッセージ信号内の関連付けられた位置が第2の値(例えば、「1」)を有するとき、出力信号タイル内において、一対のうちの奇数要素の場所に対応する場所に提供される。
たった今説明した第1の特定の実施形態において、1024ビットのメッセージ信号は、2048個の候補場所の中から位置特定される1024個のマーク(ドット)によって表される。即ち、マークは、ビットが「0」の値を有するか、「1」の値を有するかに関わらず、各メッセージビットについて形成される。第2の特定の実施形態において、これはそのようにならない。
第2の特定の実施形態において、メッセージストリング内の各々それぞれのビット位置は、参照信号内の単一の極値の場所と関連付けられる(第1の実施形態のように一対の場所ではない)。メッセージ信号の各々の連続したビットは、表2ランキング内の連続した場所にマッピングされ得、即ち、第1のメッセージビットは、最も暗い極値(ランク#1)に対応し、第2のメッセージビットは、2番目に最も暗い極値(ランク#2)に対応する、などである。
この第2の実施形態において、「1」のメッセージビットは、マークによってシグナリングされるが、「0」のメッセージビットは、マークの不在によってシグナリングされる。(又はその逆も然りである。)2048個の候補場所から引き出し、半分のみをマークする代わりに、この第2の実施形態は、1024個の場所から引き出す。これらの1024個の場所のうち、その場所で「1」ビットが表されているか、「0」ビットが表されているかによって、一部はマークされ、一部はマークされない。
この第2の構成は、図65A及び図65Bに例証される。図64A及び図64Bと比較すると、候補場所の半分だけが識別されるということが分かる。(しかしながら、これらは、暗いワクセルの最も暗いものである。図64Aで強調されるより明るいものは、図65Aではもはや選択されない。)これらの候補場所のうち、約半分がマークされる。(マークに値する、メッセージ信号内の「1」ビットの数は、一般的には、400~600ビットであり、マークされる場所の数は、1024個の候補場所のちょうど半分であることはめったにない。)
第1の実施形態のように、この第2の実施形態における検出器は、1024個の候補場所のリスト、及び1024ビットメッセージストリング内のそれぞれのビット位置への各場所の関連付けによりコーディングされる。
図65A及び図65Bのこの第2の特定の実施形態は、はるかに少ないマークに関与し、したがって先の第1の実施形態よりもはるかに目立たないということを認識されたい。デコーダは、第1の実施形態での2048個ではなく、データ用に1024個の場所のみを調べる。参照信号タイル内の16,384個の場所のうちの15,360個は、無視され、幻像信号の影響をさらに少なくする。しかしながら、ドット(メッセージ信号及び参照信号)によって伝達される情報は、それに応じて低い堅牢性で伝達されるが、これは、およそ半分のインクが同じ量の情報を伝達するために使用されるためである。
メッセージ信号ビットのストリングを生成するためのペイロードの、冗長なコーディング、例えば、畳み込みコーディングに起因して、メッセージ信号の堅牢性は、通常、問題ではない。正しいペイロードは、典型的には、第2の特定の実施形態で用いられるより少ない数のドットからさえも回復され得る。しかしながら、ドットの数のこのような低減はまた、参照信号の堅牢性を、時には許容できないレベル(特定の用途に依存する)まで低減する。
参照信号の堅牢性を増大させるため、いかなるメッセージビットも示さず、参照信号をさらに表現するためだけの役割を果たす追加のドット(固定マーク)が、図65Bパターンに追加され得る。
例証のため、この第2の特定の実施形態では、1024ビットメッセージ信号は、505個の「0」ビット及び519個の「1」ビットを含み得る。したがって、519個のマークが、メッセージ信号を表すために各出力信号タイル内に形成される。参照信号の堅牢性を増大させるため、追加の300個の固定マークが、追加され得、参照信号のみをシグナリングする。
1つのそのような実施形態において、各々が関連付けられた空間的位置を有する(上の表2のように)、参照信号内の1324個の最極値の順序付けされたリストが生成される(例えば、ソーティングによって)。最初の1024個の場所は、ビット値の表現に割り当てられる。(たった今の例では、これら1024個の場所のうちの519個がマークされる。)順序付けされたリスト内の最後の300個の場所(即ち、#1025~#1324としてランク付けされる場所)は、参照信号を強化するためだけに、固定マークとして用いられる。参照信号を表現するために300個の追加の場所を使用することにより、復号システムが参照信号(及び捕捉画像のアファイン変換)を見分けることができるドットの数は、519から819に増加する(58%の増加)。
参照信号堅牢性におけるゲインは、固定マーク場所が参照信号のあまり極端でない値に対応することから、実際には、たった今述べたこの58%という数字には及ばない。しかしながら、変異形実施形態において、参照信号だけを表現することに専念する極値の場所は、むしろ、ランク付けリストの上位からとられ得る。先述の例において、順序付けされたリスト内の1324個の場所のうち、場所#1から#300は、参照信号だけを表現するためだけの固定マークのために使用され得る一方、場所#301から#1324は、メッセージ信号のビットを表現するため(並びに参照信号を表現するため)に使用され得る。そのような変異形では、参照信号の強度は、300個の固定マークが参照信号の最極値に対応するため、819/519の単純な比によって示される58%よりも多く増大する。
他の実施形態において、参照信号の表現だけに特化した固定マークは、ランク付けリストの真ん中から引き出され得るか、又はリスト内の散乱した位置から引き出され得る。例えば、ランク付けリスト内の6つおきの場所が、参照信号の表現に専念し得、いかなるメッセージ信号ビットも表さない。
さらに他の実施形態において、ペイロードは、例えば、519個の暗いマークを有する、1024ビットストリングとして表現されない。代わりに、畳み込みコーディング速度は、結果として生じるメッセージビットストリングの長さを、例えば、600又は800ビットにまで減少させるように調節され、それに応じてより少ない場所がマークされる。ペイロードは、その冗長な畳み込みコーディングに起因して、依然として回復され得る。以てメッセージ伝送から解放される極値の場所は、代わりに、参照信号を表すために固定マークとして使用され得る。
先述の構成の組み合わせも、当然ながら使用され得る。
(300個の固定マークが、先述の議論において参照されたが、参照信号は、用途に最も適合するような任意の数の追加の場所によって補足され得るということを認識されたい。いくつかの用途においては、100個以下のそのような追加の場所が用いられ得る。他では、500個以上のそのような追加の場所が用いられ得る。同様に、固定マークの使用は、第2の特定の実施形態の文脈において説明されるが、そのような構成は、本明細書に説明される実施形態のすべてにおいて用いられ得る。)
第3の特定の実施形態において、1024メッセージビットは、ここでも1024個のマークによって表される。しかしながら、2048個の潜在的な場所から引き出されるのではなく、これら1024個のマークは、1024個の双ワクセル領域において見出される。各マークによって符号化されるビットは、2つのワクセルのうちのどちらがそのそれぞれの領域内でマークされるかに依存する。
特に、この第3の実施形態におけるマークは、「ダイアド」と呼ばれる、2×1、又は1×2の要素特徴である。各ダイアドは、マークされていない要素に隣接するマークされた要素を含む。
4つの潜在的なダイアドが、図66A~図66Dに示される。図66A及び図66Bは、水平ダイアドを示す。図66C及び図66Dは、垂直ダイアドを示す。図66Aは、「0」メッセージビットを表す。図66Bは、「1」ビットを表す。図66Cは、「0」ビットを表す。図66Dは、「1」ビットを表す。各々は、白色(マークされていない)要素に隣接する暗い(マークされた)要素からなる。
この第3の実施形態では、参照信号タイル内の候補の単一要素を値によってランク付けする(例えば、表2のように)代わりに、タイルにわたる2×1及び1×2の領域は、それらの平均(又は合計)値によってランク付けされる。最も暗い1024個の領域が選択される。各々が、1024ビットメッセージ内の1つのビット位置と関連付けられる。各領域は、ダイアドでマークされる。選択された領域が水平配向である場合、2つの水平ダイアドのうちの一方、図66A又は図66Bが、その場所で符号化されるべきメッセージビットが「0」であるか「1」であるかに応じて使用される。同様に、暗い領域が垂直配向である場合、2つの垂直ダイアドのうちの一方、図66C又は図66Dが、その場所で符号化されるべきメッセージビットが「0」であるか「1」であるかに応じて使用される。
これは、図67A及び図67Bに描写される例によってより明白にされる。図67Aは、最も低い信号値(即ち、合計又は平均で、最も暗い)を有することが分かっている参照信号の1×2及び2×1ワクセル領域を示す。図67Bでは、各ダイアドの一方のワクセルが、図66A~図66Dに示される構成を使用して、そのダイアドによって表されるメッセージ信号ビットが「1」ビットを有するか、「0」ビットを有するかに応じて、マークされる。参照信号タイル全体にわたるマークの数は、第1の実施形態(図64A、図64B)のものと同じであるが、ドットの位置は、用いられる異なる選択基準(即ち、隣接ワクセルの最も暗い対)に起因して異なる。
この第3の実施形態における各ドットは、符号化されているメッセージに関係なく、常に、ほぼ同じ場所にあり、そのビット値に応じて単一のワクセル要素のみを一方又は他方にシフトする。これは、各ドットが2つの潜在的に広く離間された場所のいずれかに位置し得る第1の実施形態と対照をなす。この第3の実施形態におけるドットの、1024個の場所周辺での、全体的に一貫した配置は、例えば、第1の実施形態によって必要とされる2048個の潜在的な場所が、時に、2つのドットが好ましくなく近接していることを強制し得るか、又はドットを隣接するテキストのあまりに近くに置き得る、小さい物理的領域のスパースなマーキングにおいて、有利である。
この第3の実施形態の変異形は、参照信号の2つの隣接する要素の平均(又は合計)値に基づいて候補領域をランク付けしない。代わりに、ランキングは、第1及び第2の実施形態のように、個々の要素値に基づいて獲得される。これらの極値の場所のうちの1024個が選択され、各々が、メッセージ内のビット位置と関連付けられる2ワクセル領域をアンカする。各々は、それが水平態様の証拠となるか、又は垂直態様の証拠となるか、その場所における参照信号パターンの構造を決定するために分析される。1つの特定の実装形態において、4つの縁隣接ワクセル要素が、即ち、選択された要素の北、南、東、及び西に対して、どれが選択された要素の(極)値に最も近い値を有するかを決定するために調べられる。値が最も近い1つが、ダイアドの配置のために、選択された要素とペアリングされる第2の要素として選択される。前と同様に、異なるダイアドが、異なるビット値を表すために、異なる場所に置かれる。
時に、参照信号の単一の要素が、極(暗い)値を有し得るが、極端な要素を含む2要素領域がダイアドの配置のために選択されないように、はるかにより明るい要素によって囲まれ得る。(そのような隔離された要素は、図67A内の671に示される。)これらの単一の暗い要素は、必要な場合に参照信号を増強するためのマーキングのための候補である。いくつかの実装形態において、リストは、メッセージビットを示すダイアドの配置のために選択されなかった100、300、又は750個の最も暗い要素から生成され、これらの要素は、代わりに参照信号を表現するためにマークされる。
上に説明される実施形態のように、検出器は、ドットが置かれる場所(ここでは、1×2及び2×1ワクセル領域)、及びメッセージビット位置の各々のそのような領域への関連付けを示す情報によりコーディングされる。前と同様に、検出器は、ドットを担持することが予期される捕捉像内のそれらの場所(この実施形態では2048個、各ダイアドにつき2つの場所)のみを調べ、他の場所は、復号から除外される。
(先述の実施形態の変異形において、ドットが置かれることになる/置かれ得る場所に関するこの情報、及び各場所のメッセージビット重要度は、検出器内にハードコーディングされない。代わりに、検出器は、参照信号の知識に基づいてそれをオンザフライで計算し、そこから、検出器は、極値を識別してランク付けし、メッセージビットマッピングを構築することがきる。)
メッセージ信号の連続するビットを連続する参照信号値の順に参照信号の要素に割り当てることについて言及したが、これは必須ではない。例えば、別の構成では、この割り当ては、参照信号極値の空間的構成に基づいてなされ得る。例えば、第2の実施形態において、1024個の極値が識別され得、割り当ては、参照信号タイルの左上で始まり得、最上行内の最も左の極値が、メッセージの第1のビットに割り当てられ、その次の極値が、その次のメッセージビットに、タイルにわたる下方へのラスタスキャンの順に割り当てられる。これらのマッピング及び他のそのようなマッピングは、合理的と見なされ得、即ち、論理的規則に基づき得る。そのような合理的なマッピングは、連続するメッセージビットが故意にランダムに(又はより正確には疑似ランダム)128×128メッセージタイル内の場所に割り当てられた先行技術方法と対照をなす。
そのようなビット割り当て構成は、図68A及び図68Bに示され、メッセージビット1~5(1024ビットメッセージのうち)が、それらの空間的位置に基づいて識別される。この第2の実施形態においては、マークの存在が「1」ビットを示し、マークの不在が「0」ビットを示すため、図68Bに示されるマークは、5つのビット11110で始まるメッセージストリングを示すということを理解されたい。
第4の特定の実施形態は、図8に(抜粋した形態で)以前に示された種類の2値メッセージ信号タイルで始まる。1024メッセージ信号ビットは、およそ8,192個の暗い要素(即ち、メッセージ値「0」をシグナリングする)及び同数の明るい要素(即ち、メッセージ値「1」をシグナリングする)を伴う、タイル内の16,384個のワクセル位置にわたって冗長的に広がる。
この第4の実施形態は、最終的なスパースな出力タイル内の暗い要素の数Nが、ユーザによって入力パラメータとして大まかに設定可能であることを可能にする。例えば、約750ドットを望むとする。参照信号タイル内の最も暗い要素のこの数の2倍(例えば、図7の参照信号タイル内の最も暗い2N個の場所)、ここでは1500個のワクセル位置が、識別される。ドットは、2値メッセージコードパターン内の約8,192個の暗い要素(即ち、「0」を表す)のうちの1つが、これらの1500個の識別されたワクセル位置のうちの1つにおいて見出されるという出力スパースコード内に形成される。別の言い方をすると、1500個の識別されたワクセルは、暗いものから始まるが、メッセージタイルが「1」データを符号化することを求めるときにはいつでもオフにされる。
この第4の実施形態の利点は(暗い要素のユーザ設定可能な数に加えて)、それが、上で特定されるような先行技術の透かしデコーダで復号され得ることである。即ち、メッセージのビットは、それらの従来のランダムに広がった空間的位置に位置するが、多くのそのような場所は、空のままである。
他の実施形態と同様に、デコーダは、従来の様式で参照信号を使用して(即ち、上で引用した参照文献において説明されるように)アファイン歪のために捕捉像を補償することから始める。メッセージ信号を復号することにおいて、(参照信号暗い要素の)2N個の識別された場所からのデータのみが、デコーダによって検討される。255(白)の値は、すべての他の要素に置き換えられ得、さもなければそれらの場所に存在し得るいかなる幻像信号も上書きする。これは、先行技術の透かし復号と比較して、メッセージ復号の堅牢性を改善する。
この第4の実施形態において、他の実施形態のように、スパースな光学コードを作成するための手順は、コードが印刷される解像度に一致する解像度で実行され得る。他の実装形態において、この手順は、より低い解像度で実行される。これら後者の場合、結果として生じるスパースなパターンは、典型的には同じ数のドットを維持しながら、より高い印刷解像度にアップサンプリングされ得る。(各ドットについて、印刷解像度での各々の端数のアップサンプリングされた座標に対する最も近い整数近隣部が、ドットを担持するために選択される。)
本来のタイル解像度(例えば、128×128)から印刷解像度(例えば、203DPI)への信号のアップサンプリングは、ドットが、アップサンプリングされた信号空間内の参照信号の局所的極値と一致しない場所に置かれるということを結果としてもたらし得る。この問題を軽減するために対策が講じられ得る。
例えば、図68Aの下の丸で囲まれた領域によって示される参照信号の抜粋について検討する。この領域は、ワクセル境界がより明白に示された状態で、図69Aにおいて大きく拡大されて示される。この領域内の参照信号の局所的極値は、2つのワクセル間の境界近くにある。右のワクセルはより暗く、この場所にマッピングされるメッセージ信号要素の値が「0」である場合は出力コード内で暗くされる。結果として生じるスパースな出力コードの対応する抜粋は、図69Bに示されるようなものである。
元のスパースな出力コードが、3/2倍でアップサンプリングされ、元のコードからの単一のドットが、元のドットの中心(白色のプラスサインで示される)対応する要素においてアップサンプリングされたコード内に維持される場合、図69Cに示されるものなどの出力コードが生じる。しかしながら、真の参照信号極値(図69A)のより忠実な複製は、図69Dに示されるように、ドットを左に1要素だけナッジングすることによって獲得される。
第4の実施形態エンコーダの特定の実装形態において、アップサンプリングされたスパースコードは、どのドットが、参照信号の極値点に最も良く対応するサンプル点にもはやないかを識別するために処理される。これらのドットは、左若しくは右、又は上若しくは下にナッジング(微調整)されて、印刷前にそれらを真の参照信号極値の場所とのより良い一致へと再位置付けする。これは、コードの捕捉画像の正確な幾何学的登録を獲得する助けとなり、ひいてはこれがメッセージビットの回復を改善する。
しかしながら、ドットが、一般的には、それらの理想のメッセージシグナリング位置から離れて置かれるため、そのようなナッジングは、デコーダがそれに注意しない場合にはメッセージビットの復号を損ない得る。幸運なことに、そのような問題は、参照信号極値点のアップサンプリングに起因するアーチファクトが予測可能であり、そのようなデータがデコーダと共に含まれるテーブルに記憶され得ることから、デコーダによって認識され得る。例えば、幾何学的登録(及び任意選択のダウンサンプリング)の後、デコーダは、ドットが存在する場合には、復調の前に特定の方向にナッジングされるべきドット、及びそれがどれくらいであるか、を識別する記憶されたデータテーブルを閲覧することができる。(他の実施形態では、そのような情報を獲得するためにテーブルを閲覧する代わりに、デコーダは、スパースコードのアップサンプリングをモデル化し、どのドットが、図69D内のドットのように、参照信号極値とより良く一致するようにナッジングされたかを識別することができる。次いで、デコーダは、符号化されたメッセージを抽出する前に、各々のそのようなドットの補正のためのナッジングを適用する。)いくつかの実施形態において、ナッジングは、最大の忠実性で復号するために必要とされるように、ワクセルの微小な部分であるか、又は印刷されたドット行/列の微小な部分である。
復号はまた、本来のタイル解像度に戻すように変換するのではなく、捕捉像を復号のために印刷解像度へ戻すように変換することによって支援され得る。
他の実施形態のように、非常にスパースな信号では、参照信号は、インクの不足に起因して検出するのが困難になり得る。前と同様に、これは、参照信号の追加の極値に対応する場所においてさらなるドット追加することによって是正され得る。検出器は、メッセージ信号を抽出するときにこれらの追加の場所におけるドットを無視するように構成され、それらは、参照信号データとしてのみ機能する。(又は、先行技術の検出器が使用され、そのようなさらなるドットを無視しない場合、メッセージビットの畳み込みコーディングは、一般的には、さらなるドットにもかかわらず、ペイロードの正しい回復を可能にする。)
この第4の実施形態において、ドットがある場所で検出される場合、これは、その場所で表されている「1」メッセージビットの確率が皆無であることをかなり確実に意味する、ということを実験が示唆する。しかしながら、ドットが検出されない場合、すべてはあまり確かではなく、「0」ビットが表される確率はその場所における参照信号の値に依存する。
参照信号の値がゼロ(暗)に近づくと、「0」ビットが表される確率は、それに応じて消滅する(及び、「1」ビットが表される確率はそれに応じて増大する)。しかし、参照信号は、値が増加すると(例えば、128超まで)、マークを検出しないことは、より低い確率の決定と関連付けられる。「1」が表され得るか、又は、「0」の可能性がある。それは、約128を上回る値では、コイン投げである。そのような暫定的な確率評価は、強化された復号のために、それぞれのワクセル値と一緒に、ソフトデコーダに提供され得る。
4つのたった今論じた実施形態は、ランダムな外観を有する参照信号を用いるが、他の実装形態においては、構造化された外観を有する参照信号(例えば、図36及び図36Aのように)が代わりに使用され得る。
先述の実施形態のいくつかの実装形態において、参照信号の候補極値は、例えば、2つの極値(個々の要素、又はダイアド)が互いからしきい値距離よりも近くならないように距離制約(侵入禁止領域)を実施するためにフィルタリングされる。いくつかのそのような実施形態において、侵入禁止領域は、横軸及び/又は縦軸を中心に非対称であり得る(例えば、図55~図57Dに示されるように)。
他の実装形態において、ドットは、参照信号極値の値に応じて、凝集され得る。1つのそのような構成において、第1及び第2の縁又は角隣接ワクセルが、両方とも、タイル内の1024個の最も低い値の参照信号値の中の1つであり、それらの一方が、×個の最も低い値の参照信号値(×は、例えば、20~200である)の中の1つである場合、それらは両方とも、それらの近接にもかかわらず、マークされ得る(又は、ビットを表すマークの場合には、マークキングの候補として機能し得る)。第3のワクセル縁又は角が、第1及び第2のワクセルの両方に隣接し、それもまた、1024個の最も低い値の極値の中の1つである場合、それもマークされ得る。前の3つのワクセルに隣接する第4の極値のワクセルについても同じである。この最後の場合には、ワクセルの2×2の領域がマークされる。(そのような構成は、いくつかの2×2のマークされた領域、いくつかのさらなる3の凝集、及び依然としてさらなる2の凝集を生じ得るが、タイルあたり、合計でXを超えるそのような凝集は生じない。)
ドット凝集は、最も一般的には、ドット色と基材色とのコントラストが、人間の視覚系の非感受性に起因して目立たないときに使用される。例えば、白色基材上のパントン9520Cインク(非常に淡い緑)のドットは、人間により見分けるのは困難である。しかしながら、スーパーマーケットの売り場ステーションで使用される種類の赤色光スキャナは、そのようなマーキング容易に区別することができる。(パントン9520Cインクに関するさらなる情報、及びその使用は、米国特許公開第20180047126号に提供される。)
極値を識別するために画像要素の値をソートすることについて言及したが、ソート以外の技術が、本質的に、使用され得る。例えば、しきい値処理演算が、例えば、30を下回る値を有する参照信号ワクセルを識別するために適用され得る。その演算が十分な場所をもたらさない場合には、しきい値は40に上昇され得、先のしきい値処理テストをパスしなかった場所に適用され得る、などである。しきい値は、必要な数の点が識別されるまで上昇され得る。(特定の実装形態に必要とされる場合、このより小さい点のセットは、次いでソートされ得る。)
重要な復号の利点は、捕捉像内の予測通りに空の領域を無視することによって達成されるが、そのような領域を識別することは、まず、典型的には、捕捉像の幾何学的登録、例えば、アファイン歪の補正を必要とするということを理解されたい。アファイン歪を決定することは、捕捉像の完全なセットを検討することによって実施され、この演算ステージでは無視される領域はない。空の領域を無視することは、メッセージビットの復号を強化するために、登録後に使用される。
上に説明される第1~第3の実施形態から生じるスパースなパターンは、引用した先行技術の透かしデコーダを使用して復号することはできないということを理解されたい。そのようなパターンを描写する像の幾何学的登録(例えば、それらのアファイン変換を決定すること)は、以前の様式で進み得るが、メッセージ信号自体の表現は、非慣習的であり、この目的のためにデザインされるデコーダによって実施されなければならない。
第4の実施形態から生じるスパースなパターンは、引用した先行技術の透かしデコーダを使用して復号され得るが、そのようなデコーダはスパースコードの予測通りに空の領域を無視することを知らないため、望ましくはそうであるべきではない。
好ましい実装形態において、デコーダは、異なるマークに異なる復号手順を適用することができる多機能性である。そのようなデコーダは、メッセージ信号を表すために使用される符号化のタイプの初期決定を行い、対応する復号方法を適用する。
1つのそのような構成において、符号化のタイプは、参照信号内のいくつかの空間周波数の存在又は不在によってシグナリングされる。述べられるように、この参照信号は、典型的には、数十の異なる空間周波数(及び位相)を含む。もういくつかの空間周波数(例えば、1~10)が、たった今詳述した符号化手順のうちの特定の1つが使用されていること、及び対応する復号方法が同様に使用されるべきであることを、準拠した検出器に示すフラグとして機能するために、追加(又は削除)され得る。即ち、そのような検出器は、いくつかのフラグ空間周波数が参照信号内に存在するか(又は不在か)を決定するために参照信号を調べ、そのような決定の出力に対応する復号方法を適用する。そのような周波数の存在又は不在は、メッセージ信号へのデコーダの同期を可能にするという参照信号の目的を妨害しないが、これは、その同期プロセスが参照信号の様々な歪に対して堅牢であるためである。
別の実施形態において、デコーダは、従来の様式で参照信号を使用してアファイン歪のために捕捉像を補償することから始める。デコーダは次いで、上に説明される実施形態においてマーキングのために使用される場所、及び空であるべき場所を調べる。デコーダは、どれがマークされ、どれがマークされないかを決定する。何らかのしきい値数Kのマークが、特定の実施形態がマークを有するべきではない場所において見出される場合、その実施形態は排除される。同様に、何らかのしきい値数Mのマークされていない領域が、特定の実施形態がマークを有するべき場所において見出される場合、その実施形態は排除される。削除のプロセスにより、デコーダは、できれば1つ、又はいくつかの場合は2つの、使用中であり得る特定の実施形態へと可能性を狭める。次いでデコーダは、1つの実施形態のための復号アルゴリズムを適用し、それが有効なデータ(例えば、チェックサム情報によって示されるような)をもたらさない場合、デコーダは、第2の実施形態のための復号アルゴリズム(依然として候補の場合)を適用する。
1つの特定の実装形態は、明るい参照信号の、即ち、128よりも大きい値の、極値を識別することによって、いかなるマーキングも有するべきではないタイルの場所を識別する。これは、識別すべき16,384個のタイルの場所についての参照信号サンプル、例えば、1024個の最も高い値の極値、をソートすることによって行われ得る。参照信号の同様の数の最も低い値の(最も暗い)極値が、逆に決定される。最も低い値の極値と関連付けられた場所におけるドットの数が、最も高い値の極値と関連付けられた場所におけるドットの数のJ倍である(Jは、例えば、2、又は3、又はそれ以上である)場合、入力信号は、見たところスパースなマークであり、スパースな復号手順が適用され得る。そうでなければ、従来の透かし復号手順が適用され得る。
関連構成は、8軸フィルタリング(例えば、-8~8の範囲内の出力値を生成すること)及び幾何学的登録の後に、入力信号から2つの相関メトリックを計算する。第1のメトリックは、「sparseLocs」と呼ばれる、参照信号が最も低い(最も暗い)値を有する、例えば1024個の、場所のセットにおける信号値に基づく。第2のメトリックは、「compLocs」と呼ばれる、参照信号が最も高い(最も明るい)値を有する、例えば1024個の、場所のセットにおける信号値に基づく。
第1のメトリック、「sparseLocs」は、以下のように計算される。
sparseMet=-sum(x(sparseLocs))/sqrt(x(sparseLocs)’*x(sparseLocs))
第2のメトリック、「compMet」は、以下のように計算される。
compMet=sum(x(compLocs))/sqrt(x(compLocs)’*x(compLocs))
式中、x(sparseLocs)は、1024個のsparseLocs場所におけるタイル値のベクトル(例えば、行ベクトル)であり、X(sparseLocs)’は、その転置行列である。x(compLocs)についても同様である。
連続階調透かしでマークされる像に適用されるとき、両方のメトリックは、ほぼ同じ値を有する。しかしながら、スパースコードでマークされる像に適用されるとき、メトリックは発散し、sparseMetがcompMetの値の典型的には4~10倍以上である値を有する。
これらのメトリックは、当然ながら、より多くの又はより少ない点に基づき得る。1つの代替策において、sparseMetは、固定マークのセット(参照信号のみを表す)に基づく一方、compMetは、参照信号タイル内の同じ数の最も明るい値に基づく。
スパースな入力信号を従来の連続階調透かし信号から区別するさらに別の手法は、参照信号の空間周波数構成を参照することによるものである。極値点のスパースな選択による参照信号の表現は、その空間周波数構成を多少歪ませる。例えば、より高い周波数成分は、スパースな極値ドットによって表されるとき、より低い周波数成分よりも振幅が高い。参照信号を増強するために常にマークされる極値は、メッセージビット値に応じて存在又は不在であり得る極値よりも、平均して、より強い信号構成要素に寄与する、などである。
従来の透かし復号プロセスは、捕捉画像信号のフーリエ変換を参照信号のテンプレートと相関させることに関与する(即ち、整合フィルタ動作)。デコーダは、2つのそのような整合フィルタリング動作を変換された画像信号に適用することができ、一方は、慣習的な連続階調参照信号との相関を決定し、他方は、参照信号極値のスパースな選択(例えば、ビット変調に起因して半分の強度にある極値のうちのいくつかのもの)と関連付けられた歪んだ対となるものとの相関を決定する。捕捉像が後者の信号により良好に対応することが見出される場合、これは、スパースなマークが復号されていることを示し、そのため、対応する復号プロセスが、従来の復号プロセスの代わりに、適用され得る。
入力信号がスパースであるか否かを検知する依然として別の手法は、異なる入力フィルタリング動作を試すことである。従来の透かし検出器は、典型的には、米国第20180005343号を含む様々な特許刊行物に説明されるような8軸フィルタを用いる。5×5画素最小最大フィルタカーネル、又はドーナツフィルタなど、代替のフィルタリング動作が、スパースコードにより好適であり得る。(最小最大フィルタは、中心要素を中心とする5×5要素領域の最大値と最小値との差で除算される中心要素値に等しい出力を生み出す。ドーナツフィルタは、例えば、5×5要素パッチの、白色要素によって囲まれる黒色要素からなる参照パターンとの相関を決定する。)入力データに対する8軸フィルタ、及び代替フィルタのうちの一方の両方を実行し、結果を調べることによって、入力データのタイプは、従来の透かし又はスパースな透かしのいずれかであることが見分けられ得る。
参照信号内のいくつかの空間周波数の存在又は不在が、異なる符号化スキームをシグナリングするために使用され得るのと同じように、同じ手法が、追加的又は代替的に、異なる印刷解像度をシグナリングする役割を果たし得る。例えば、300dpiプリンタで印刷されるスパースコードは、1インチあたり11及び21サイクルの空間周波数を含む参照信号で構成され得る。203dpiプリンタで印刷されるスパースコードは、1インチあたり13及び19サイクルの空間周波数を含む参照信号で構成され得る。デコーダは、そのような周波数を見分け、メッセージビットを抽出する前に捕捉画像を対応する解像度に変換することができる。
(先述の議論は、1024ビットのメッセージストリング、47ビットのペイロード、128×128ワクセルのタイルなどについて言及したが、これらの数字は、単に例証の目的のためであり、特定の用途に合うように変化され得るということを認識されたい。)
特定の実装形態において、1024ビットのメッセージストリングは、(a)コード内で使用される符号化プロトコルを示す100ビットストリング、それに続く(b)47ビットのペイロードデータに基づいた924ビットストリングの連結として形成される。これら後者のビットは、47ビットのペイロードデータを24の対応するCRCビットと連結することによって形成される。これら71ビットは、次いで、1/13の比率で畳み込み符号化されて、924ビットをもたらす。
先ほどは、1024メッセージビット、及び対応する信頼度値が、例えば、ビタビデコーダに入力される軟判定復号について言及した。いくつかの実施形態において、暗いマーク(「0」ビットをシグナリングする)への信頼度は、その暗さに基づく(例えば、8ビットワクセル値)。
1つの実装形態において、候補マーク位置は、各々調べられ、128未満の値を有するものがドットと見なされ、その他は空と見なされる。次いで、ドットを有するワクセルの平均値が計算される。平均値は、例えば、48であり得る。これは、名目ドット値と見なされ得る。次いで、各ドットの信頼度が、この名目値からのその値の偏差に基づいて決定される。値40のドットは、より確信があるものとして取り扱われる。値30のドットは、依然としてより確信があるものとして取り扱われる。逆に、値60及び70のドットは、次第に確信がないものとして取り扱われる。平均値のドットは、第1の信頼度(例えば、85%)が割り当てられ得、より低い値及びより高い値のドットは、それぞれより高い又はより低い信頼度値が割り当てられる。
別の実装形態において、名目ドット値は、参照信号をシグナリングする固定マークに基づく。次いで、メッセージドットは、固定マークの平均値との関連で信頼度の値が付けられる。
時に、固定マーク及びメッセージマークは、例えば、コードタイルの一部分におけるドットが、テキストベースの侵入禁止ゾーン内のそれらの位置付けに起因して抑制される場合には、印刷されない。図70は、ラベルの微小な部分を示す、例を提供する。円は、固定マークが通常は置かれるが、テキストの存在に起因して、抑制される場所を示す。(テキストに近いメッセージマークは、同様に抑制されるが、それらの不在はマークされない。)
本技術の別の態様によると、これらの不在の固定マークは、すべてのデータが信頼できないラベルの領域(破線の矩形によって示され、ワクセル行と整列される)の境界を示す役割を果たす。候補メッセージ位置におけるドットは、「0」を確実にシグナリングしない場合がある。候補場所における欠けているドット(上の第2の実施形態など、符号化スキームがいくつかの空の領域が「1」メッセージビットをシグナリングするものである場合)は、「1」を確実にシグナリングしない場合がある。そのような領域から抽出されるデータは、「1」ビット値をシグナリングするにしろ、「0」ビット値をシグナリングするにしろ、すべて非常に低い信頼度値(例えば、ゼロ)が割り当てられる。
図71Aは、例えば、小売店のデリ部門又はベーカリー部門において、プリンタによって実践され得る、先述に従う例証的な方法を示す。図71Bは、販売時点管理小売スキャナによって実践され得る対応する方法を示す。
先述より、ドット密度が先行技術よりもはるかに低い、改善されたスパースなメッセージングが、デコーダに候補ドット位置の先験的知識を提供して、デコーダが、捕捉像の予測通り空の領域、及びそのような領域が表し得る幻像信号を無視することを可能にすることによって、達成され得るということを認識されたい。
特定の実装形態
以下の議論は、上の第4の実施形態に基づく特定の実装形態に関する追加の詳細を提供する。特記がない限り、上で論じられる特徴は、これらの詳細な実装形態と共に使用され得る。
この構成では、参照信号は、32個以下、例えば16個の、空間正弦波からなる。これらの参照周波数は、連続階調透かし内に参照信号を形成する(32超の)周波数のサブセットである。これは、連続階調透かしのための同期アルゴリズムが、このスパースな透かしのための同期も実施することを可能にする。
参照信号は、サイズ128×128ワクセルのタイル内で表現される。この参照信号内の1500個の最も暗い局所的極値が決定される。これは、タイルにわたる細かく離間したグリッド内の各点(例えば、100万個の均一に離間した点)における参照信号値を計算して、その結果をソートすることによって行われ得る。最も暗い点が選ばれ、それに近い点(例えば、1つ又は2つのワクセルの侵入禁止距離内)が不適格と見なされる。次に最も暗い点が選ばれ、それに近い点が不適格と見なされる。このプロセスは、1500点が識別されるまで継続する。(手間がかかるが、このプロセスは、実施される必要があるのは1回のみである。)これは、参照信号タイル内の1500個の局所的極値のX座標及びY座標を浮動小数点でリストするテーブルを結果としてもたらす。これらの最も暗い1500個の場所は、「印刷可能な場所」と呼ばれる。
1500個の印刷可能な場所のうち、極めて最も暗い300個の場所は、参照信号の極値(「常に暗い」場所)を強力に表現するように、出力信号(光学コード)内で常にマークされる(黒色)。残りの1200個の候補場所は、(「可変データ場所」)は、メッセージ信号タイルの対応する要素が「0」を伝達するか、「1」を伝達するかによって、マークされたりされなかったりする。(以後、2値信号の2つの状態に対して等価の-1/1表記を使用する。)
300個の常に暗い場所について、及び1200個の可変データ場所についての浮動小数点X及びY座標値のリストは、例示的なデコーダのデータテーブルにサイド情報として記憶される。
この特定の実装形態において、タイルは、1インチあたり約150ワクセル(WPI)のスケールで印刷される。150WPIでは、各タイルは、128/150、又は約0.85インチに及ぶ。
極値の場所は浮動小数点解像度により知られているが、実際の印刷ハードウェアは、離散的に離間した場所においてのみマークを生み出すことができる。人気のプリンタは、1インチあたり203ドット(DPI)及び300DPIの解像度で出力マーキングを生み出す印刷ヘッドを有する。これらの解像度は、128×128のメッセージタイルの補間(例えば、バイリニア又はバイキュービック補間によって)を必要とする。
DPI非依存の符号化では、エンコーダは、印刷可能な可変データ場所の各々に最も近い場所における補間されたメッセージアレイ内の-1又は+1値を調べる。補間されたメッセージがその場所において「-1」値を有する場合、出力コード内の可変データ場所がマークされる。補間されたメッセージがその場所において「1」値を有する場合、出力コード内の可変データ場所はマークされないままである。
デコーダにおいて、マークされた画像が幾何学的に登録された後、復号は、登録された画像データの中から補間して、記憶された浮動小数点X及びY座標値によって規定される可変データ場所における信号値を決定することによって、進み得る。
そのような構成において、デコーダは、復号中に厳密な極値の場所を見ているが、エンコーダは、それらの正確な位置にマークを置くことができなかったということを認識されたい。これは折衷案であるが、それは、印刷ハードウェアのDPIに関係なく作用する。即ち、デコーダは、プリンタのDPIを知っている必要はない。
印刷ハードウェアのDPIが、デコーダによって知られている(又は決定可能である)場合、変異形構成が用いられ得る。そのような場合、高い解像度参照信号内の極値を識別する(即ち、浮動小数点座標を生じる)代わりに、参照信号値は、プリンタが、参照信号タイル内で、例えば203DPIで、マークすることができる場所の各々の中心においてサンプリングされる。1500個の最も暗い極値は、このより小さいサンプリングされたセットから識別される。
150WPIで幅128ワクセルであるタイルは、203dpiで印刷されるとき、幅173.23ドットであると算定される。それは、扱うにはやっかいな数である。各タイルが、ドットによる、整数である寸法、及び好ましくは2で割り切れるもの、を有する方が良い。この例証的な実装形態においては、174が、タイルのドット寸法、4で割り切れる値、として選ばれる。これが、(203*128)/174=149.33WPIのWPI値をもたらし、名目の150WPI値からは取るに足りない差である。
参照信号は、174×174のドットの場所(即ち、30,276ドット)のタイルにわたってサンプル点(量子化点)において計算される。最も小さい(最も暗い)値を有する1500個のサンプル点が、印刷可能な場所として識別される。(ここでも、侵入禁止ゾーンが、所望の場合に用いられ得る。)前と同様に、極めて最も暗い300個の場所は、常に暗い場所として機能する一方、その他の1200個は、可変データ場所として機能する。
ここでも、これらの場所のリスティングは、サイド情報としてデコーダに提供される。しかしながら、浮動小数点座標として表現される代わりに、印刷可能な場所は、単純に174×174ドットタイル内のそれらの行/列数によって識別され得る。
この変異形構成において、デコーダは、デコーダが浮動小数点位置においてマークを探している(また、マークは、ドットの場所が正確に分かっていないにもかかわらず、わずかに異なったところに印刷される)先の構成とは対照的に、ドットの場所においてマークを探している(また、マークはこれらの同じドットの場所に印刷される)。
1つの特定のデコーダは、先述の構成のハイブリッドを用いる。そのようなデコーダは、浮動小数点座標、及び203DPIに基づいた行/列座標の両方として、両方の形態にある印刷可能な場所の座標を表現する記憶されたサイド情報を備える。どちらを適用するかを決めるために、入力タイルの幾何学的登録を実施した後、デコーダは、浮動小数点座標及び203DPI行/列座標の両方を使用して、常に暗い場所のうちの、例えば、100個の予備調査を行う。座標の後者のセットが、座標の前者のセットよりも平均して暗い画像サンプルをもたらす場合、デコーダは、コードが203DPIで印刷されたことを知り、行/列データを使用して印刷可能な場所のすべてを調べる。そうでなければ、デコーダは、浮動小数点座標を使用する。
そのような構成は、他のDPIも同様に含むように拡張され得、例えば、デコーダが、浮動小数点座標、203DPIタイル内の行/列座標、及び300DPIタイル内の行/列座標によって規定される印刷可能な場所を有する。各々が試験され得る。203又は300DPIでの行/列座標がより暗いサンプルをもたらす場合、それが使用され、そうでなければ、浮動小数点座標が使用され得る。
図72Aは、1つの特定のエンコーダ720の態様を例証する。光学コードによって伝達されるべきデータ(例えば、ユーザデータ及び関連CRCビット、合わせてNビット)が、誤り訂正コーディングモジュール711に提供される。このモジュールは、畳み込み符号化(例えば、1/13の比率でのタイルバイト(tailbite)符号化)、及び任意選択的に、反復コーディングを適用する。それは、より長い(Mビット)ストリング、又はシグネチャを、その出力として生み出す。特定の実施形態において、M=1024である。
シグネチャの各ビットは、複数要素2値拡散キー713の各要素とのXORがとられる(712)。8要素キーが図72Aに示されるが、他の長さのキーが使用され得る(例えば、4又は16要素)。この演算は、シグネチャの単一ビット(例えば、「bit-K」)を-1又は+1値の8つの対応する2値「チップ」へと変換する。分散テーブル714は、図72A内の「+」及び「-」シンボルによって示されるように、チップの各々をメッセージタイル715内の異なる場所に割り当てる。
タイル715は、1500個の印刷可能な場所、及びそれよりずっと多くの印刷不可能な場所を有する。印刷可能な場所のうちのいくつかは、常に黒であり、チップを表現するのに利用可能である印刷可能な場所の数を低減する。描写された図72Aタイルでは、円は、チップを表現するのに利用可能であり、bit-Kと関連付けられたチップにマッピングされる印刷可能な場所を表す。(単一のシグネチャビットのためのチップが2つの印刷可能な場所に割り当てられることはほとんどない。)分散テーブルは、「+1」値を有する1つのチップを1つの印刷可能な場所にマッピングし、「-1」値を有する別のチップを別の印刷可能な場所にマッピングする。先に論じたように、これら2つの異なる2進値のうちの一方のみが、印刷マーク、ここでは-1、を結果としてもたらす。+1チップが割り当てられる場所は印刷されないままである。したがって、bit-Kのためのチップは、2つの場所に割り当てられるが、1つのみの場所がマークされる。(チップが2つの場所に割り当てられ、両方のチップが同じ値を有していた場合、(a)チップの値が-1である場合は両方のチップの場所がマークされるか、又は(b)チップの値が+1である場合はいずれのチップの場所もマークされない、のいずれかである。)
この実装形態において、Mビットのシグネチャの各々は、同じ拡散キーによって拡散される。
(図72Aに図示されないのは、Mビットシグネチャに適用されるスクランブル演算であって、これは、そのビットの各々とMビットスクランブルキーの対応するビットとのXORをとることによって適用される。これは、チップが導出されるキー付きのMビットシグネチャをもたらす。逆数アンスクランブル演算は、復号中に実施される。そのようなスクランブル/デスクランブルは、簡単であり、これ以上は繰り返されない。)
先述の方法に従って符号化される特定のタイルが分析されたとき(しかし、16ビット拡散キーを使用して、シグネチャビットあたり16チップをもたらす)、M=1024ビットシグネチャのうちの344ビットは、可変データ場所のいずれにもマッピングされていないということが分かった。即ち、これら344ビットの各々と関連付けられた16個のチップのどれも、1200個の可変データ場所のうちの1つにも割り当てられなかった。
382ビットのシグネチャは、各々、可変データ場所のうちの1つにマッピングされた。即ち、これら382ビットの各々と関連付けられた16個のチップうち、各々につき1つのチップが、分散テーブルによって可変データ場所にマッピングされた。
210ビットのシグネチャは、各々、可変データ場所のうちの2つにマッピングされた。即ち、これら210ビットの各々を表現する2つのチップは、1200個の可変位置の中から1つの場所を見出した。(これは、図72A内のbit-Kの場合である。)
1024シグネチャビットのうちの75ビットは、それぞれ3つのチップによって表現された。
シグネチャ内のより小さい数のビットが、可変データ場所において4~6個のチップによって表現された。
かなり困難な公算(例えば、30,276個のタイルの場所のうち1200個の可変データ場所のみ、及び1024ビットシグネチャのうちの344ビット(3分の1をわずかに超える)が何も表現しないことが分かっている)にもかかわらず、元々入力されたユーザデータ/CRCは、はるかに目立つマーキングを結果としてもたらす他のスキームに匹敵する堅牢性で回復され得る。述べられるように、これは、大半の入力画像データを無視し、データがおそらく符号化されることが知られている場所のみを調べる復号構成に部分的に起因する。
補足的なデコーダの態様は、図72Bに示される。このデコーダは、まず、300個の常に暗いマーク、並びに参照信号極値及び「-1」チップの両方を表す二役をこなすおよそ600個の暗いマークに基づいて、捕捉像に対して幾何学的同期を実施する。コードが同期されると、それは、例えば、128×128WPI間隔、及び/又は174×174DPI間隔でリサンプリングされる。
デコーダは、300個の常に暗い場所の場所を知っている(記憶されたサイド情報により)。デコーダは、これらの場所のうちの一部又はすべてにおける輝度(又はクロミナンス)の統計データを決定し、例えば、常に暗い場所にわたる平均輝度値(8ビット2値スケールで)及び標準偏差を見出す。次いで、デコーダは、残りの1200個の可変データ場所(デコーダが記憶された情報からx及びyの場所を知っている)を調べ、各々における輝度に注目する。常に暗い場所についてちょうど計算した平均輝度の所与のしきい値内の輝度を有する(例えば、平均を上回る1.5標準偏差未満の値を有する)場所は、暗いものと見なされ、「-1」のチップ値が割り当てられる。このテストに合致しない、1200個のうちの他の場所は、明るいものと見なされ、「+1」のチップ値が割り当てられる。
1200個の印刷可能な場所から見分けられるチップ値の各々は、シグネチャの関連付けられたビットにマッピングされ、そのシグネチャビットの値を示すために逆拡散される(例えば、拡散キーの関連付けられた要素とXORをとることによって)。シグネチャのビットが印刷可能なタイルの場所における2つ以上のチップによって表現される場合(図72Aのように)、これらのチップによってそれぞれ示されるシグネチャビット値は、合計される。誤りがない場合、各々のそのようなチップは、同じシグネチャビット値を一貫して示し、複数チップの合計は、+2又は+3又は-2又は-3などになる。絶対値が高いほど、その特定のシグネチャビットの値における連続的により高い信頼度をデコーダに示す。誤りがあり、2つのそのようなチップがシグネチャビットについて相反するビット値を示す場合、複数チップの合計はゼロに等しい。これは、そのシグネチャビットの値に関する利用可能な情報がないことをデコーダに示す。
述べられるように、元々符号化された1024シグネチャビットの多くは、光学コード内で表されない。それらのチップはどれも印刷可能な可変データ場所にマッピングされない。これらは、シグネチャ内の欠けているビットとして取り扱われ、復号のために提示されるときには「0」の値が同様に割り当てられる。
再構築されたシグネチャは、以て組み立てられ、ビタビデコーダに提示される。このデコーダは(任意選択の反復デコーダと併せて)、符号化されたユーザデータ及び復号されたCRCビットを含むNビットストリングのデータを出力する。CRCビットは、ユーザデータをチェックするために使用され、一致が確認された後に、ユーザデータは、受信システムに出力される。
述べられるように、1024のスクランブルされたシグネチャビットのうちの3分の1超は、光学コードにおける表現が見られない(この特定の実施形態において)。これは、分散テーブルが、(1)対応するチップの大半を、1500個の印刷可能な場所の中からではない、タイル内の場所にマッピングするか、又は(2)それらを、常に暗いマークのために取っておいた場所にマッピングするためである。変異形実施形態において、分散テーブルは、1024シグネチャビットを表すチップを、各々が1200個の可変データ場所のうちの少なくとも1つにおける表現が見られるように、異なってマッピングするようにデザインされる。しかしながら、出願者は、分散テーブルが既存の連続階調透かしと共に使用される同じものであり得、後方互換性を守ることから、詳述した構成を好む。(別の変異形は、参照信号の再デザインに関与するため、暗い極値は、既存の分散テーブルが各々のスクランブルされたシグネチャビットのための少なくとも1つのチップをマッピングする場所で低下する。しかし、これもまた、後方互換性を妨害する。)
1500個の印刷可能な場所の数(並びに300個の常に暗い場所及び1200個の可変データ場所の構成要素数)は、異なるアプリケーションが命令する際には変化され得るということを理解されたい。常に暗い場所の数を増加させることによって、参照信号は、干渉に対してより回復力のある(即ち、より堅牢な)ものになる。可変データ場所の数を増加させることによって、メッセージ信号は干渉に対してより回復力のあるものになる。印刷可能な場所の数を減少させることによって、コードは、より目立たなくなる。
デコーダは、様々な符号化プロトコルのうちのどれが使用されるかを自動検出することができる。例えば、異なるプロトコルは、以下の常に暗い場所及び可変データ場所を有し得る(参照信号極値のランク付けリストから識別される)。
プロトコルのすべてが同じ参照信号を共有する。プロトコルAは、上に説明される通りである。プロトコルBは、プロトコルAよりも、100個多い暗い場所、及び100個少ない可変データ場所を有する。プロトコルCは、プロトコルAよりも、200個多い暗い場所、及び300個多い可変データ場所を有する。デコーダは、各々がその座標値を有する2500個の最も暗い場所のランク付けリストを提供される。
画像が捕捉される(及び、印刷ドットで表現される参照信号を使用して幾何学的に登録される)とき、デコーダは、1~300にランク付けされた場所(すべてのプロトコルにおいて暗いはずである)を調べて、これらの常に暗い場所についての輝度(又はクロミナンス)統計データ、例えば、平均値、及び/又は、標準偏差を生成する。次いで、この情報は、画像を評価するために使用されて、画像がプロトコルA、B、又はCで符号化されるかを見る。
特に、デコーダは、プロトコルB及びCの両方において常に暗いはずである場所301~400を調べる。これら100個の場所の統計データが、指定した一致の度合いまで、場所1~300についての統計データと一致する場合、場所301~400もまた常に暗いと見なされる。(指定した一致の度合いは、例えば、他の平均の+20%/-20%以内の平均値、及び/又は+30%/-30%以内の標準偏差を有することであり得る。)そのような一致が見られない場合、プロトコルは、プロトコルAであることが知られており、デコーダは上記のように進み、301~1500とランク付けされる極値の場所を調べて、ユーザデータを見分ける。
場所301~400が常に暗いと判定される場合、デコーダは、場所401~500を調べる。これらの場所についての統計データが、指定した一致の度合い以内で、場所1~300についての統計データと一致する場合、場所401~500もまた常に暗いと見なされる。この場合、検出器は、画像がプロトコルCに従ってマークされることを知る。検出器は、次いで、501~2500とランク付けされる極値の場所を調べ、ユーザデータを見分ける。統計データが一致しない場合、検出器は、画像がプロトコルBに従ってマークされることを知る。検出器は、次いで、401~1500とランク付けされる極値の場所を調べ、ユーザデータを見分ける。
これは単純な例である。より複雑な構成では、同様に差別化される追加の符号化プロトコルが存在し得る。また、デコーダは、識別されたプロトコルに応じて(常に暗いものとして識別される場所の数に基づいて)、異なる分散テーブル、拡散キー、スクランブルキーなどを用いることができる。
動作環境
上記方法は、モジュールで構成されているソフトウェア命令又はデジタル回路において実施される。これらのモジュールは、光学コードオプティマイザ、ジェネレータ、インサータ、及びデコーダを含む。本明細書に明記される実施形態の任意の特定の議論にもかかわらず、用語「モジュール」は、本明細書に説明される方法、プロセス、関数、又は動作のうちのいずれかを実施するように構成されるソフトウェア命令、ファームウェア、又は回路を指す。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記録されるソフトウェアパッケージ、コード、命令、命令セット若しくはデータとして具現化され得る。例えば、関連データと併せて、MATLAB、C、C++、Visual Basic、Java(登録商標)、Python、Tcl、Perl、Scheme、Rubyなどで書かれる、詳細な機能を実施するためのソフトウェア命令は、本明細書に提供される説明から過度の実験なしに技術者によって書かれ得る。ファームウェアは、メモリデバイスにハードコードされる(例えば、不揮発性である)コード、命令、又は命令セット若しくはデータとして具現化され得る。本明細書で使用される場合、用語「回路」は、例えば、単一で、又は任意の組み合わせで、ハードワイヤード回路、1つ若しくは複数の個々の命令処理コアを備えるコンピュータプロセッサなどのプログラマブル回路、状態機械回路、又はプログラマブル回路によって実行される命令を記憶するファームウェアを含み得る。
実装形態は、追加的又は代替的に、構成要素動作のうちの一部又はすべてを実施するようにカスタムデザインされて製造されている特殊目的電子回路を、特定用途向け集積回路(ASIC)として用いることができる。そのような実装形態を実現するために、関連モジュール(複数可)(例えば、ホスト画像コンテンツ内の光学コードの符号化及び復号)は、MATLAB(マスワークス(Mathworks,Inc.)より)などのソフトウェアを使用して、汎用コンピュータを使用してまず実施される。HDLコーダ(これもマスワークスから入手可能)などのツールが次に用いられて、MATLABモデルをVHDL(IEEE規格)又はVerilogに変換する。次いで、VHDL出力が、シノプシス(Synopsis)によるデザインコンパイラ(Design Compiler)、メンターグラフィックス(Mentor Graphics)によるHDLデザイナ(HDL Designer)、又はケイデンズデザインシステムズ(Cadence Design Systems)によるエンカウンタRTLコンパイラ(Encounter RTL Compiler)などのハードウェア合成プログラムに適用される。ハードウェア合成プログラムは、ハードウェア形態で技術を実現する電子論理ゲートの特定のアレイを、そのような目的に専念する特殊用途機械として、指定する出力データを提供する。この出力データは、次いで、それを使用してカスタマイズされたシリコン部品を生産する半導体製造請負業者に提供される。(好適な請負業者は、TSMC、グローバルファウンドリーズ(Global Foundries)、及びオンセミコンダクター(ON Semiconductors)を含む。)
HDLコーダはまた、フィールドプログラマブルゲートアレイ実装形態を作り出すために使用され得る。FPGAは、ASICを試作するために、又は電子デバイスに統合されるFPGAチップ内での実装として、使用され得る。
例証の目的のため、図73は、上記光学コードジェネレータ、インサータ、オプティマイザ、及びデコーダの構成要素が実装され得る電子デバイスの図である。これは、実施形態が他のデバイスアーキテクチャ又は電子回路において実施され得るため、限定することは意図されない。例えば、電子デバイスは、光学コードを生成、最適化、挿入、及び復号するためのプログラム命令が記憶され、本文書に説明される方法を行うために実行されるコンピュータを表す。電子デバイスはまた、感熱ラベルプリンタ、ラベルプリンタ、及びバーコードスキャナを有する計器のような特殊用途コンピュータシステムを表す。電子デバイスはまた、仮想及び拡張現実アイウェア及びヘッドセットなどの、頭に装着する装置を表す。より汎用なコンピュータ及びモバイルデバイス(例えば、スマートフォン及びタブレット)のように、これらのデバイスはまた、これらの方法及びそれらを実行するためのプロセッサのファームウェア実装形態を記憶するためのメモリを含む。それらはまた、光学コードオプティマイザ、ジェネレータ、インサータ、及び/又はデコーダの上で参照したFPGA又はASIC実装形態を含み得る。
図73を参照すると、電子デバイスのためのシステムは、多くのデバイス、モジュールなど(それらの各々は、一般的に「構成要素」と称され得る)が通信可能に結合されるバス300を含む。バス300は、ダイレクトメモリアクセス(DMA)バス及びプログラム入力/出力(PIO)バスの機能を組み合わせ得る。言い換えると、バス300は、DMA転送並びに直接CPU読み出し及び書き込み命令の両方を促進し得る。1つの実施形態において、バス300は、アドバンスドマイクロコントローラバスアーキテクチャ(AMBA:Advanced Microcontroller Bus Architecture)準拠データバスのうちの1つである。図73は、すべての構成要素がバス300に通信可能に結合される実施形態を例証するが、構成要素の1つ又は複数のサブセットが、任意の好適又は有益な様式で別個のバスに通信可能に結合され得ること、及び任意の構成要素が、任意の好適又は有益な様式で2つ以上のバスに通信可能に結合され得ることを理解されたい。例証されないが、電子デバイスは、任意選択的に、1つ又は複数のバスコントローラ(例えば、DMAコントローラ、I2Cバスコントローラ、又は同様のもの若しくはそれらの任意の組み合わせ)を含み得、それを通じてデータが構成要素のうちのいくつかのものの間でルーティングされ得る。
電子デバイスは、CPU302も含む。CPU302は、当該技術分野において知られているマイクロプロセッサ、モバイルアプリケーションプロセッサなどであってもよい(例えば、アーム(ARM Limited)からの縮小命令セットコンピュータ(RISC)、Krait CPU製品群、インテル株式会社(Intel Corporation)から入手可能な、Pentium、Xeon、Itanium、Celeron、Atom、Core iシリーズ製品群内のものを含むX86ベースのマイクロプロセッサなど)。CPU302は、電子デバイスのオペレーティングシステムを実行し、アプリケーションプログラムを実行し、及び任意選択的に、電子デバイスの様々な機能を管理する。CPU302は、オペレーティングシステム(例えば、「高レベル」オペレーティングシステム、「リアルタイム」オペレーティングシステム、モバイルオペレーティングシステム、又は同様のもの若しくはそれらの任意の組み合わせ)又は電子デバイス上で実行する他のデバイスファームウェアを保持し得るリードオンリメモリ(ROM)(図示せず)を含み得るか、又はそれに結合され得る。
電子デバイスはまた、バス300に電気的に結合される揮発性メモリ304を含み得る。揮発性メモリ304は、例えば、任意のタイプのランダムアクセスメモリ(RAM)を含み得る。示されないが、電子デバイスは、揮発性メモリ304への、及びそこからのデータの流れを制御するメモリコントローラをさらに含み得る。
電子デバイスはまた、バスに接続されるストレージメモリ306を含み得る。ストレージメモリ306は、典型的には、ROM、EPROM及びEEPROM、NOR若しくはNANDフラッシュメモリ、又は同様のもの若しくはそれらの任意の組み合わせなどの1つ又は複数の不揮発性半導体メモリデバイスを含み、また、例えば、磁気又は光学ディスクなどのあらゆる種類の電子記憶デバイスも含み得る。本発明の実施形態において、ストレージメモリ306は、ソフトウェアの1つ又は複数のアイテムを記憶するために使用される。ソフトウェアは、システムソフトウェア、アプリケーションソフトウェア、ミドルウェア(例えば、リアルタイムシステムのためのデータ配信サービス(DDS)、MERなど)、1つ若しくは複数のコンピュータファイル(例えば、1つ又は複数のデータファイル、構成ファイル、ライブラリファイル、アーカイブファイルなど)、1つ若しくは複数のソフトウェア構成要素、又は同様のもの、又はそれらの任意のスタック若しくは他の組み合わせを含み得る。
システムソフトウェアの例は、オペレーティングシステム(例えば、1つ若しくは複数の高レベルオペレーティングシステム、リアルタイムオペレーティングシステム、モバイルオペレーティングシステム、又は同様のもの若しくはそれらの任意の組み合わせ)、1つ又は複数のカーネル、1つ又は複数のデバイスドライバ、ファームウェア、1つ又は複数のユーティリティプログラム(例えば、電子デバイスの1つ又は複数の構成要素を分析すること、構成すること、最適化すること、管理することなどを助ける)、及び同様のものを含む。
バス300には、ユーザインターフェースモジュール308も接続される。ユーザインターフェースモジュール308は、電子デバイスのユーザ制御を促進するように構成される。したがって、ユーザインターフェースモジュール308は、1つ又は複数のユーザ入力デバイス310に通信可能に結合され得る。ユーザ入力デバイス310は、例えば、ボタン、ノブ、タッチスクリーン、トラックボール、マウス、マイクロホン(例えば、エレクトレットマイクロホン、MEMSマイクロホン、又は同様のもの若しくはそれらの任意の組み合わせ)、IR若しくは超音波発生スタイラス、超音波発生器(例えば、ユーザジェスチャを検出するためなど)、1つ若しくは複数の構造化光発生器(例えば、構造化IR光を投影してユーザジェスチャを検出するためなど)、1つ若しくは複数の超音波トランスデューサ、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。
ユーザインターフェースモジュール308はまた、電子デバイスのユーザ制御の効果、又は電子デバイスによって実施されている動作若しくは電子デバイスによって他の方式でサポートされる機能に関連した任意の他の情報をユーザに示すように構成され得る。したがって、ユーザインターフェースモジュール308はまた、1つ又は複数のユーザ出力デバイス312に通信可能に結合され得る。ユーザ出力デバイス312は、例えば、ディスプレイ(例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、アクティブマトリックス有機発光ダイオード(AMOLED)ディスプレイ、電子インクディスプレイなど)、プリンタ、ラウドスピーカ、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。
一般的に、ユーザ入力デバイス310及びユーザ出力デバイス312は、電子デバイスの必須部分であるが、代替の実施形態において、任意のユーザ入力デバイス310(例えば、マイクロホンなど)又はユーザ出力デバイス312(例えば、スピーカ、ディスプレイ、又はプリンタ)は、電子デバイスに通信可能に結合される(例えば、通信モジュール314を介して)物理的に別個のデバイスであってもよい。プリンタは、2D及び3Dプリンタ(感熱、凹版、インクジェット、オフセット、フレキソ、レーザ、グラビアなど)などの、デジタルデータを担持する画像を物体に適用するための異なるデバイス、並びにエッチング、彫刻、エンボス加工、又はレーザマーキングのための設備を包含する。
ユーザインターフェースモジュール308は、個々の構成要素として例証されるが、ユーザインターフェースモジュール308(又はその部分)は、電子デバイスの1つ又は複数の他の構成要素(例えば、CPU302、センサインターフェースモジュール330など)に機能的に統合され得るということを理解されたい。
バス300には、画像信号プロセッサ316及びグラフィック処理ユニット(GPU)318も接続される。画像信号プロセッサ(ISP)316は、1つ若しくは複数のカメラ320によって、又は任意の他の画像センサによって捕捉される像(静止フレーム像、ビデオ像、又は同様のもの若しくはそれらの任意の組み合わせ)を処理し、以て画像データを生成するように構成される。ISP316によって典型的には実施される一般的機能は、ベイヤー変換、デモザイク処理、雑音低減、画像の鮮鋭化、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。GPU318は、ISP316によって生成される画像データを処理し、以て処理済み画像データを生成するように構成され得る。GPU318によって実施される一般的機能は、画像データを圧縮すること(例えば、JPEG形式、MPEG形式、又は同様のもの若しくはそれらの任意の組み合わせに)、照明効果を生み出すこと、3Dグラフィックをレンダリングすること、テクスチャマッピングをすること、幾何学変換(例えば、回転、平行移動など)を計算して異なる座標系などにすること、及びバス300を介して圧縮ビデオデータを電子デバイスの他の構成要素(例えば、揮発性メモリ304)に送信することを含む。ISP316によって生成される画像データ、又はGPU318によって生成される処理済み画像データは、ユーザインターフェースモジュール308によってアクセスされ得、ここでその画像データは、ディスプレイ、プリンタ、又はスピーカなどのユーザ出力デバイス312に送信され得る1つ又は複数の好適な信号へと変換される。
通信モジュール314は、1つ若しくは複数の有線リンク(例えば、イーサネット、USB、ファイヤワイヤなどによる)又は1つ若しくは複数のワイヤレスリンク(例えば、ブルートゥース(Bluetooth)(登録商標)、ブルートゥースローエナジー(Bluetooth Low Energy)、WiFi、WiMAX、GSM、CDMA、EDGE、セルラ3G若しくはLTE、Li-Fi(例えば、IR若しくは可視光通信のための)、音波若しくは超音波通信など、任意の規格、又は別途所望の若しくは好適なワイヤレスプロトコル若しくは技術に従って構成される)、又は同様のもの若しくはそれらの任意の組み合わせを介して、データを送信又は受信する(例えば、ネットワーク内で)ことを促進する回路、アンテナ、センサ、及び任意の他の好適な又は所望の技術を含む。1つの実施形態において、通信モジュール314は、1つ若しくは複数のマイクロプロセッサ、デジタル信号プロセッサ若しくは他のマイクロコントローラ、プログラマブル論理デバイス、又は同様のもの若しくはそれらの組み合わせを含み得る。任意選択的に、通信モジュール314は、キャッシュ若しくは他のローカルメモリデバイス(例えば、揮発性メモリ、不揮発性メモリ、又はそれらの組み合わせ)、DMAチャネル、1つ若しくは複数の入力バッファ、1つ若しくは複数の出力バッファ、又は同様のもの若しくはそれらの組み合わせを含む。いくつかの実施形態において、通信モジュール314は、ベースバンドプロセッサ(例えば、信号処理を実施し、電子デバイスのためのリアルタイム無線伝送動作を実施する)を含む。
バス300には、1つ又は複数のセンサ333に通信可能に結合されるセンサインターフェースモジュール330も接続される。センサ333は、例えば、商品の重さを計るためのはかりを含む(小売又は食品製造環境において商品及び印刷ラベルの重さを計るために使用されるはかりなど)。図73では別々に例証されるが、任意のカメラ320が、センサ333と考えられ得る。一般的に、センサ333は、何らかの種類の刺激(例えば、光、音、水分、重力場、磁場、電場など)の存在下で、印加された刺激の変化、又は同様のもの若しくはその任意の組み合わせに応答して、1つ又は複数の信号(典型的には、電気信号)を生成する。1つの実施形態において、センサインターフェースモジュール330に結合されるすべてのセンサ333は、電子デバイスの必須部分であるが、代替の実施形態において、センサのうちの1つ又は複数は、(例えば、通信モジュール314を介して)電子デバイスに通信可能に結合される物理的に別個のデバイスであってもよい。任意のセンサ333がユーザ入力を検知するように機能することができる限り、そのようなセンサ333はまた、ユーザ入力デバイス310と考えられ得る。
センサインターフェースモジュール330は、1つ又は複数のセンサ333の動作(例えば、サンプリングレート、サンプリング範囲など)を有効にする、無効にする、又は別途制御するように構成される(例えば、揮発性メモリ304又はストレージメモリ306、ROMなどにおいて内部又は外部に記憶される命令に従って、CPU302、ユーザインターフェースモジュール308などの1つ又は複数の構成要素によって発行されるコマンドに従って)。1つの実施形態において、センサインターフェースモジュール330は、センサ333のうちの1つ又は複数によって生成される信号を、符号化すること、復号すること、サンプリングすること、フィルタリングすること、又は別途処理することができる。1つの例において、センサインターフェースモジュール330は、複数のセンサ333によって生成される信号を統合し、任意選択的に、統合された信号(複数可)を処理することができる。信号は、センサインターフェースモジュール330から電子デバイスの前述の構成要素のうちの1つ又は複数に(例えば、バス300を介して)ルーティングされ得る。しかしながら、別の実施形態において、センサ333によって生成される任意の信号は、処理される前に(例えば、CPU302に)ルーティングされ得る。
一般的に、センサインターフェースモジュール330は、1つ若しくは複数のマイクロプロセッサ、デジタル信号プロセッサ若しくは他のマイクロコントローラ、プログラマブル論理デバイス、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。センサインターフェースモジュール330はまた、キャッシュ若しくは他のローカルメモリデバイス(例えば、揮発性メモリ、不揮発性メモリ、又はそれらの組み合わせ)、DMAチャネル、1つ若しくは複数の入力バッファ、1つ若しくは複数の出力バッファ、及びそれがサポートする機能(例えば、上に説明されるような)を促進する任意の他の構成要素を含み得る。
他の好適な動作環境は、参照により組み込まれた文書に詳述される。
結論
特定の実装形態を参照して本技術の原則を説明及び例証してきたが、本技術は、多くの他の異なる形態で実施され得るということを認識されたい。
例えば、スパースなマークを生成するための詳述した技術のうちのいくつかのものは、所望の印刷密度に達するまで空の出力タイルにドットを充填することに関与するが、異なる手法が使用され得る。例えば、暗すぎる出力信号タイルが、最初に生成され(例えば、多すぎる暗いドットを含むことによって)、次いで暗いドットのうちのいくつかのものが、様々な基準に基づいて選択的に取り除かれ得る。
例えば、10%印刷密度が所望される場合、高密度グレースケール複合信号78内の画素の最も暗い15%が、初期出力信号フレーム内に暗いドットとしてコピーされ得る。次いで、フレームは、最も近くに離間されるドットの対について調べられ得、それら2つのドットのうちのうちの一方は破棄され得る。このプロセスは、ドットが破棄されて印刷密度が15%から10%へ下がるまで繰り返す。暗いドットの残りのアレイは、以て、平均画素間距離を増大させるように増強されており、先に説明した単純な手法と比較して視覚的外観を改善する。(例えば、上で説明した単純な手法が、6画素という画素間の間隔制約を有する場合、多くの画素対は、このしきい値間隔を有する。しかし、出力タイルが最初は過密にされ、詳述した手順によってまばらにされる場合、残りのドットのうち、それらの最も近い近隣部からこのしきい値間隔にあるものはより少なくなる。ここでは、トレードオフは、信号強度であり得るが、多くの用途において、信号強度は、視覚的美観よりも重要ではない。)
同様に、最初に過密にされた出力フレームは、上に論じられるように、情報効率を最適化すること(例えば、白色画素に起因して信号を増強する)、及びペイロードの異なるビット位置の間で信号強度のほぼ均一な分散を成し遂げることなどの基準に基づいてまばらにされ得る。
別途記載のない限り、用語「スパース」は、本明細書で使用される場合、基材のうちの50%以下が、対比的なマーク(例えば、白色基材上のインク、又は対比的なインクで囲まれる明るい空所)をもたらすようにマークされる2色コードを指す。より典型的には、スパースなマークは、30%未満のそのようにマークされた基材を有し、2~15%の印刷密度が最も一般的である。
本特許文書で詳述される種類のスパース技術は、例えば、食品及び他の包装上の、連続階調アートワークと併せて使用され得るということに留意されたい。例えば、スパースコードは、例えば、写真像を描写する、CMYK及び/又はスポットカラーアートワークの上にあり得る。同様に、スパースコードは、包装の平坦な(例えば、白色)領域において使用され得るが、連続階調アートワークの付いた包装の他の領域は、先行技術の透かし方法を使用して符号化され得る。
シリアル箱のアートワークにおいては、例えば、シリアルの連続階調挿絵は、先に参照した先行技術の方法を用いて透かしが付けられ得る。黒色字体は、第1の対比色にあるスパースなマークにより符号化され得る。黒色字体とシリアル挿絵との間の領域(例えば、黄色っぽいスポットカラー)は、第2の対比色にあるスパースなマークにより符号化され得る。したがって、単一の包装が、符号化の2つ又は3つ(又はそれ以上)の異なる形態を含み得る。すべてが同じペイロードを伝達し得る。望ましくは、すべてのマークに含まれる参照信号は、幾何学的に一貫しており、即ち、復号デバイスに対するスケール及び回転の共通値を示し、並びに平行移動基準系に対する共通起源を示す。
スパースコードは、感熱又はインクジェットなどのモノクロ印刷技術によって適用され得る。代替的に、スパースコードは、オフセット又はフレキソ印刷など、包装アートワークのCMYK又はスポットカラー印刷に用いられるのと同じ印刷技術によって適用され得、いくつかの場合においては、ホストアートワークの要素を印刷する同じ印刷版によって適用される。
連続階調透かし(watermarking及びwatermark)について言及した。そのようなシグナリングは、「1」及び「0」メッセージビットを表すためのホスト信号に対する相補的な微調整を特徴とする。例えば、ホストアートワークの輝度は、いくつかの場所(例えば、ワクセル)においては増大され得、他の場所においては減少され得る。又は、ホストアートワークのクロミナンスは、いくつかの場所においては1つの色方向(例えば、より青が強い)に、また他の場所においては異なる色方向(例えば、より青が弱い、又はより黄が強い)に調節され得る。そのような調節の相補性は、すべての調節が同じ方向に行われる(例えば、輝度を減少させる)スパースなマークと対照的である。
いくつかのパラメータをテストして、それらがしきい値を下回るかどうか(例えば、出力信号ブロックへコピーするために暗い要素を選択することにおいて)を決定することについて言及した。他の実施形態は、代わりに、実装形態の細部に応じて、パラメータがしきい値を上回るかどうかをテストし得るということを認識されたい。そのような両方のケースが、パラメータがしきい値テストをパスする値を有するかどうかをテストすることなどの言葉によって包含され得る。
詳述した実装形態は、行及び列で配列される正方形ワクセルからなるタイルに関するが、これは必須ではないということを認識されたい。例えば、タイルは、六角形セルなどで配列される要素からなり得る。
本明細書は、参照信号構成要素を、異なる空間周波数の正弦波からなると説明するが、参照信号は、代替的又は追加的に、直交パターンを含み得る。これらもまた、例えば、図34の構成を使用して、異なる外観のパターンを獲得するために、振幅が変化し得る。
本明細書は、「画像データ」、「像」、及び同様のものについて繰り返し言及する。そのような用語は、画素データ及び同様のものだけでなく、それらの派生物も指すということを理解されたい。1つの例は、画素データをフィルタリング(例えば、8軸フィルタリング)することによって生成されるデータの対となるセットである。
詳述した技術は、白色背景に黒色ドット(又はその逆)を印刷することによってコードを形成する文脈において説明されているが、コードは別の方式で形成され得るということを認識されたい。例えば、透明ニス又は他の表面処理が、表面の反射性を、例えば、艶ありと艶消しとの間で、局所的に変化させるために施され得る。同様に、コードは、局所的に隆起した又は凹んだ特徴部などによって、3D形式で形成され得る。レーザ彫刻又は3D印刷は、用いられ得る技術のうちの一部である。レーザアブレーションは、例えば、識別子、収穫日、消費期限、及び/又は生産国などを伝達するために果物及び野菜の皮にスパースなデータマーキングを生成するのに良く適している。(スパースなマークは、本明細書で詳述される場合、細長い要素に起因して皮を破る可能性が高い直線状の1Dバーコードよりも果物/野菜に引き起こす損傷が少ない。)
さらに他の形態のマークもまた使用され得る。プラスチック及びセロファンの食品包装紙について検討すると、これらは、包装紙内に結露が形成されること及び閉じ込められることを防ぐために穴が開けられ得る。穿孔のパターンが、本明細書に詳述されるスパースなマークのうちの1つを伝達し得る。又は、穿孔は、参照信号の極値を伝達し得、メッセージ信号は、インクによってなど、別の方法でマークされ得る。穿孔は、空気は出るが食品粒子が出ることは許さないようにサイズ決定された穴を開ける、プラスチックに対して押圧される成形ローラによって作製され得る。
本明細書は、白色基材上の黒色ドットによって形成されるスパースなマークに焦点を合わせているが、色付きマークが、白色背景上に、又は対比色(より明るい又はより暗い)の背景上に、使用され得るということを認識されたい。同様に、明るいマークが、黒色又は色付き背景上に形成され得る。いくつかの実施形態において、スパースなマーキングの色は、ラベルなど、1つのホストアートワークにわたって変化し得る。例えば、ドットは、1つの領域ではシアン、第2の領域では黒、及び第3の領域ではパントン9520 Cであってもよい。
明るいドットが暗い背景上に形成される構成において、「明るい」画素は、本明細書内のアルゴリズム的記述において「暗い」要素に取って代わらなければならない(及び高い信号値が低い信号値に取って代わる)。
ラベル印刷のために一般的に使用される感熱プリンタは、個々の印刷要素が加熱及び冷却される回数に起因する熱応力に、大部分は、依存する有限寿命を有する。いくつかの実施形態において、ドットの凝集を回避することが好ましいが、他の実施形態において、いくつかの凝集は有利であり、それは、感熱印刷ヘッドの耐用寿命を延ばすことができる。
例えば、図39及び図40に関連して、先に論じられるように、ドットの構成は、視覚的品質又は堅牢性を改善するために変更され得る。使用され得るいくつかの異なる構成が存在する。
図74Aは、マーキング場所の4×4構成を示し、そのうちの3つが印刷される。単一の熱要素が、矢印によって示される、単一の列内のすべての場所を印刷する。図74Aでは、熱要素が加熱されてプリンタ行にマークを形成するときに3つ、及び熱要素が冷却されて次の行にマークを形成しないときに3つという6つの熱的摩耗イベントが存在する。これらの熱応力がかかるイベントは、円で示される。この例では、1つの印刷ヘッド要素は、熱応力がかからないままである。
図74Bは、交互のセル(ドット)構成を示す。ここでも、3つのマークが作製されるが、それらの位置は、印刷ヘッド要素に対する熱応力を低減するように選択される。ここでは、4つのみの熱応力がかかるイベントが存在する。2つの印刷ヘッドは、ストレス負荷がないままである。
図74Cは、さらなる例を示す。ここでも、3つのマークが作製されるが、それらの位置は、セルが2つのみの熱応力がかかるイベントを伴って印刷されるように選択される。3つの印刷ヘッドは、使用されないままである。
図40に戻ると、一番右の2×2パターンとは対照的に、熱応力があまりかからない2×2パターンは、2つの縦に隣接する場所をマークすること、及び横に隣接する場所をマークなしのままにすることになる。そのような構成は、図74Dに示される。そのような信号ブロックは、203dpiより高い解像度(例えば、300pi)で印刷するいくつかの感熱プリンタでは特に有利である。そのようなより高い解像度では、単一のドットは、所望されるのと同じだけの信号(信号対雑音の意味で)を伝達しない場合があるが、完全な2×2マーク(一番左の図40の例にあるように)は、暗すぎて視覚的に魅力がない。そのような場合、図74Dのパターンは、プリンタ寿命を優先しながら、信号と目立たなさの最良のバランスを提供することができる。
ラベルのための熱応力スコアは、ラベルの全体にわたって、データマーキングを印刷することに関与する印刷ヘッド要素加熱及び冷却イベントの総数を数えることによって生成され得る。ラベルをデザインするために使用されるソフトウェアは、どこにマークが置かれるべきかを決めることにおいて印刷ヘッド寿命が優先されるべき度合い(凝集の回避を優先することに対抗して)を確立するためにスライダ制御を含み得る。図34に関連して上に論じられるように、ユーザインターフェースは、デザインされているパターンを示すプレビューパネルを含み得る。ラベルデザインは、最も低い熱応力スコアをもたらすマーキングパターン(例えば、図40及び図74A~Dにあるようなセルディザパターン)を達成すると同時に、視覚的に満足のいく結果を依然として提供するために、プレビューパネルと併せて、スライダを使用し得る。
例示的な感熱プリンタは、米国特許第9,365,055号、同第7,876,346号、同第7,502,042号、同第7,417,656号、同第7,344,323号、及び同第6,261,009号に詳述される。直接感熱プリンタは、例えば、米国特許第6,784,906号及び同第6,759,366号に詳述されるように、感熱色素で被覆されるセルロース又はポリマー媒体を使用し得る。
本明細書は、空間密度、ドット間隔、ドットサイズ、及び光学コード構成要素の優先度などの視覚的品質及び堅牢性に関連したパラメータを最適化することについて言及する。これは不完全なリストであり、例えば、各ペイロードビットが表される強度、所望の情報を伝達する画素の数、結果として生じるマークの視覚的構造など、様々な他のパラメータが、本明細書内の教示を使用して最適化され得るということを認識されたい。
本明細書は、時に、画素(pixel)について言及するが、これは、「画像素子(picture element)」の簡略表記であるということを認識されたい。単一のそのような要素は、複数の部分、例えば、2×2又は3×3要素の領域から成り得る。したがって、実装形態に応じて、本明細書における画素は、画素の群によって実現され得る。
本技術は、時に、例えば、食料品店によってそれらのデリ部門で使用される、プリンタを装備した計量器に実装される。そのような計量器は、簡素なプロセッサを有するため、様々な最適化が、単回使用の粘着ラベルパターンを生成するために使用され得る画像処理がワークフローを遅らせないことを保証するために用いられ得る。
1つのそのような最適化は、印刷機序の解像度(例えば、1インチあたり203ドット)で、参照信号を事前に計算することである。次いで、このパターンは、キャッシュされ、(可変)メッセージペイロード構成要素と結合するためにすぐに利用可能である。
いくつかの実施形態において、ペイロード構成要素は、64×64又は128×128要素など、固定スケールで2色パターンとして作成され、次いで印刷機序解像度(例えば、図9に関連して示され説明されるような)でグレースケールパターンにアップサンプリングされる。このアップサンプリングは、補間アルゴリズムによっては時間がかかることがある。バイキュービック補間は、簡素なプロセッサにおいて、計算速度と精度との間の良好なトレードオフを提供することが分かっている。
いくつかの実施形態は、出力ブロックにマークを充填するために、複合高密度コードで、ランク依存の順に、画素を処理することに関与する。すべての画素をそれらの値でソートするのではなく、出願者は、例えば、50又は100未満の値を有する画素を識別するためにしきい値比較演算を適用するのが有利であることを見出した。そのような演算は非常に素早い。しきい値処理テストをパスする画素のサブセットは、次いでソートされ、このランク付けリストが次いで処理される。(しきい値は、典型的には特定の用途に必要とされる画素の値での経験に基づいて、経験的に決定される。)代替的に、画素は、(a)0~15、16~31、32~63、64~127、及び128~255など、例えば、均一スパン又は2値スパンの、いくつかの粗値ビンに貯蔵され得る。これらのビンの一部又はすべては、別個にソートされ得、結果として生じる画素リストは、すべての画素を含むランク付けリストをもたらすように連結され得る。
時に、高密度コードを、部分、例えば、コードブロックにわたって16、24、又は32画素の幅を有する帯域に分割し、各帯域を別個にソートすることが好ましい。例えば、高密度コードが384×384要素である場合、図75に示されるように、帯域#1は、要素の行1~24を含み得、帯域#2は、要素の行25~48を含み得るなどである。ドットは、ブロックにわたって、まず1つの帯域から、次に隣接する帯域というよう選択されて、所望のドット密度を達成する。(代替の実施形態において、ドットは、帯域#1のソート済みの画素から、次いで帯域#3、及び次いで帯域#5などと、ブロックが横断されるまで選択され、次いで帯域#2、#4、#6などのソート済みの画素から、終了するまでドットを選択することにより継続する。)高密度コードの統計データが一般的には空間にわたって均一であることから、この方式でドットを選択することは、ブロック全体をソートし、結果として生じるデータからドットを選択することによって達成されるのと実質的に同じ結果をもたらす。さらに、ソート複雑性(例えば、クイックソートアルゴリズムを使用すること)が、n*log2(n)に関連することから、例えば、1つの大きいブロックの代わりに16個のより小さい帯域をソートすることによって得られる相当な計算効率がある。さらには、ソート動作(及びドット選択)は、複数の帯域の各々に対して、並行して実行され得、効率的なマルチスレッド実装を可能にする。
出願第62/673,738号には、クイックソートアルゴリズム及びバイキュービック補間について詳述するウィキペディア(Wikipedia)記事が添付されている。
ドット選択プロセスは、多くの場合、以前に選択されたドット周辺の侵入禁止領域が観察されることを保証するために候補ドット位置を分析することに関与する。行11及び列223における候補ドットについて検討する。侵入禁止領域が4要素(画素)の距離である場合、1つの実装形態は、任意のドットが行7~15内で以前に選択されているかどうかを探る。以前に選択されたドットのこのセットは、列219~227内で見られるものがあるかどうかを決定するためにさらに調べられる。そうである場合、そのような以前に選択されたドットと候補ドットの間の距離は、行差の二乗と列差の二乗の合計の平方根を計算することによって決定される。任意のそのような距離が4未満である場合、候補ドットは廃棄される。
出願者は、相当な計算節約が異なるアルゴリズムによって達成され得ることを見出した。この異なるアルゴリズムは、高密度コードのものに等しい次元、さらには侵入禁止距離に等しい境界を有するルックアップデータ構造(テーブル)を維持する。したがって、データ構造は、384×384要素高密度コード(及び4の侵入禁止)の場合、392行×392列の次元を有する。データ構造内の各要素は、スパースブロック内の対応する位置がドットのために利用可能であることを意味する、0の値に初期化される。
第1のドットが、スパースブロックへの包含のために選択されるとき、データ構造内の対応する場所、及び4の距離以内の近隣の場所は、それらがもはやドットのために利用可能でないことを意味する、1の値に変更される。第2の候補ドットが、スパースな信号ブロックの所与の行/列で検討されるとき、データ構造の対応する行/列は、その値が0又は1であるかを見るためにチェックされる。0の場合、ドットは、スパースな出力ブロックに書き込まれ、データ構造内の場所の対応する近隣部は、値が1に変更されて、いかなる他のドットも侵入禁止制約を破ることを防ぐ。このプロセスは継続し、各候補ドットの場所が、データ構造内の対応する場所に対してチェックされ、依然として0の場合、ドットはスパースな出力ブロックに書き込まれ、データ構造がそれに応じて更新される。
図76Aは、(これまでのところ)3つのドットが入っている出力スパースブロック671の抜粋を示す。図76Bは、ブロック671に対応するたった今説明したデータ構造672の抜粋を示し、4要素の侵入禁止距離を実施するために、ドットが位置する場所(太い境界で示される)を囲む場所の近隣部内で、値がどのように0から1に変更されるかを示している。
当然ながら、この構成は、先に詳述されるように、非円形の侵入禁止領域に同様に使用され得る。
図76Cは、先述の構成を用いる実施形態の態様を詳述するフローチャートである。
ドット間隔又は距離制約について頻繁に言及したが、これはドット凝集を回避するための単に1つの手法であるということを認識されたい。上に論じられるパターン化された侵入禁止領域など、他の手法が代用され得る。
本明細書は、時に、粘着ラベルストックのロールについて言及してきたが、ラベルストックは、詳述した技術の他の原則から逸脱することなく、連続用紙構成などの他の方法で提供され得るということを認識されたい。
同様に、本開示の大半は、ラベルに焦点を合わせているが、詳述した技術の大半は、より広範に適用可能であるということを認識されたい。感熱印刷された媒体(例えば、販売時点管理端末からのレシート及びクーポンを含む)だけでなく、別の方法で印刷される媒体もある。
本技術の1つの応用は、図面又はマニュアルなどの印刷された文書を頻繁に閲覧する人間の労働者を支援する。グーグルグラス(Google Glasses)デバイスなどの頭に装着する装置は、文書内のスパースなマーキングをイメージングし、構成要素の拡大図、配置図などのリンクしたデータを提示することができる。頭のジェスチャは、追加の詳細事項若しくは拡大のためにドリルダウンすること、又は拡張を手順における次のステップへと進めることができる。
本明細書の焦点は、隔離されたドットの形態にあるスパースコードに合わせられているが、他の光学コードがスパースなパターンから導出され得るということを理解されたい。例は、2018年6月8日に提出された米国出願第62/682,731号、及び2018年12月7日に提出された国際出願PCT/US18/64516に論じられるような、ボロノイ、ドローネイ、及び点画パターンである。データ担持パターンの他の芸術表現は、2018年10月12日に提出された出願第62/745,219号に詳述される。(これらの出願の開示は、参照により本明細書に組み込まれる。)本明細書に詳述される構成によって生成されるパターンは、たった今引用した明細書に詳述されるより複雑なパターンの基本として使用され得る。結果として生じるアートワークは、(例えば、製品ラベルアートワークに)印刷され、後に、デジタルデータ(例えば、GTINデータ)を伝達するためにスキャンされ得る。それらの明細書は、本明細書に詳述される技術の特徴と関連した使用に好適な他の教示を提供し、またその逆も然りである。
詳述した実装形態のうちの一部は、100~300のそのような画素のセットに基づいて「常に黒い」画素を特徴付ける統計データを集めたが、異なるサイズのセットが、当然ながら使用され得る。(5画素が、おそらくは、そのようなセットの下端サイズに近い。)
詳述した構成の大半は、印刷されるマークの数を制御することによって(例えば、メッセージ情報のシグナリングに利用可能にするために最も暗い参照信号の場所の数を変化させることによって)、可変のユーザ構成可能な暗さ(密度)のパターンを達成することができる。他の構成では、密度は、マークのサイズを変えることによってなど、他の方式で増大され得る(及び、堅牢性が同様に増大され得る)。マークは、単一のドット、又は2つのドットの凝集(例えば、2×1又は1×アレイにある)、又は3つのドットの凝集、又は4つのドットの凝集(例えば、2×2アレイにある)などであり得る。参照信号をシグナリングすることを助けるために常に暗いマークを用いる構成では、最も暗い参照信号の場所(例えば、#1~20とランク付けされる)は、各々が4つのドットの凝集で印刷される。次に最も暗い場所(例えば、#21~40とランク付けされる)は、各々が3つのドットの凝集で印刷される。次に最も暗い場所(例えば、#41~60とランク付けされる)は、各々が2つのドットの凝集で印刷される。ランク付けリスト内のさらなる場所は、孤立ドットとして印刷される。
本明細書は、高密度コードからスパースコードを生成するための多くの構成について詳述してきた。ペイロード及び参照信号を含む複合高密度コードは、最も一般的に使用されるが、構成は、ペイロード又は参照信号だけからなる高密度コードに様々に適用され得る。さらには、他の場所で述べられるように、ペイロードデータは、参照信号によって(例えば、いくつかの空間周波数成分の存在又は不在によって)伝達され得る。同様に、参照情報は、ペイロード信号によって伝達され得る(例えば、ペイロードデータ内の固定ビットを使用し、以て、検出器が復号のためにペイロード信号を位置特定することができる既知の信号特徴を有する暗黙的な同期信号を形成することによって)。
1つの構成は、高密度コード内の極端な低値(即ち、暗い)の場所を識別するために、高密度コードにしきい値処理演算を適用することによってスパースコードを作成する。これらの場所は、次いで、スパースブロック内でマークされる。しきい値レベルは、結果として生じるスパースなマークの印刷密度を確立する。
別の構成は、参照信号の最も暗い要素を識別し、これらをペイロード信号の暗い要素と論理AND演算子によって結び、以て、マークが形成されるべきスパースな信号ブロック内の場所を識別する。しきい値は、どの参照信号要素が検討に値するほど暗いかを確立することができ、この値は、所望の印刷密度を達成するために変化し得る。
さらに別の構成は、相対的により高い解像度で生成される参照信号、及び相対的により低い解像度で生成されるペイロード信号を用いる。後者の信号は、2つの値のみを有し(即ち、それは2色である)、前者の信号は、より多くの値を有する(即ち、それは、2値グレースケールなどの多階層であるか、又は浮動小数点値からなる)。ペイロード信号は、参照信号の高い方の解像度へ補間され、その過程で2色形式から多階層へ変換される。2つの信号は、高い方の解像度で結合され、しきい値処理演算が結果に適用されて、極(例えば、暗い)値の場所を識別する。ここでも、これらの場所は、スパースブロック内でマークされる。しきい値レベルは、ここでも、結果として生じるスパースなマークの印刷密度を確立する。
さらなる構成は、高密度多階層参照信号ブロックに基づく。この信号の要素は、値によってソートされて、各々が場所を有する最も暗い要素を識別する。これらの最も暗い要素はペアリングされる。1つの要素は、ペイロードのビットに従って各ペアリングから選択される。選択された暗い要素の場所に対応する、スパースブロック内の場所は、スパースな信号を形成するためにマークされる。
さらに別の構成は、参照信号のタイル内のサンプルを暗さによってソートして、各々の暗いサンプルが場所と関連付けられているランク付けリストをもたらす。いくつかの場所は、参照信号が強力に表現されることを確実にするために、常にマークされる。その他は、(例えば、分散テーブルによって)そのような場所に割り当てられるメッセージ信号データの値に基づいて、マークされるか、又はマークされない。
より詳細には、本技術の1つの態様は、マーク付き要素の可変空間密度を可能にするスパースな2D光学コード出力信号ブロックを生成する方法である。本方法は、入力として、(a)2Dペイロード信号ブロック、及び(b)2D参照信号ブロックを使用する。2Dペイロード信号ブロックは、各々が第1又は第2の値を有し、また各々がM×Mペイロード信号ブロック内の関連付けられた場所を有する、M×M2値要素のアレイを含む。2D参照信号ブロックは、各要素が値及びN×Nブロック内の関連付けられた場所を有する、N×N要素のアレイを含む(N>Mである)。この参照信号ブロック内の要素は、多値化される。本方法は、M×Mペイロード信号ブロックを補間してN×N信号ブロックを得ることをさらに含む。この補間はまた、ペイロード信号ブロックの要素をM×M2値要素からN×N多値化要素へ変える役割を果たす。補間されたN×Nペイロード信号ブロックは、重み付けされた比率(典型的には、1:1以外、例えば、1:0.7又は0.7:1)でN×N参照信号ブロックと(例えば、追加によって)結合されて、N×N多値化要素からなる複合高密度コードブロックを得る。スパースなN×N出力信号ブロック内にマークするための場所は、次いで、N×N複合高密度コードブロック内の要素の値の順序に基づいて選択される。
特定のそのような実施形態において、選択する動作は、しきい値テストをパスする要素値を有する複合高密度コードブロック内の第1の要素を識別することと、この第1の要素の場所を評価してそれが侵入禁止ゾーン内であるかどうかを決定することとを含む。第1の要素が侵入禁止ゾーン内にないことが決定されるとき、本方法は、N×N複合高密度コード内の上記第1の要素の場所に対応するスパースな出力信号ブロック内にマークを形成することを含む。同様に、選択する動作は、しきい値テストをパスする要素値を有する複合高密度コードブロック内の第2の要素を識別することと、第2の要素の場所を評価してそれが侵入禁止ゾーン内であるかどうかを決定することとを含む。第1の要素が侵入禁止ゾーン内にあることが決定されるとき、本方法は、スパースな出力信号ブロック内にそれに対応するマークを形成しないことを含む。
いくつかの実施形態において、本方法は、複合高密度コードブロックの要素値をソートして、要素の暗さの順序を識別することを含む。マークは、スパースな出力信号ブロック内において、暗さの順序にあるソートされた要素値のうちの1つに対応する位置(例えば、最も暗い要素の場所)に提供される。その順序における次に最も暗い要素について、本方法は、スパースな出力信号ブロック内において、上記次に最も暗い要素の場所のK個の要素の距離内の位置にマークが既に存在しないことを確認するためにチェックすることを含む(例えば、K=4)。そうした確認が取れると、本方法は、スパースな出力信号ブロック内において、この次に最も暗い要素に対応する位置にマークを提供することを含む(又は、そうした確認が取れないと、本方法は、スパースな出力信号ブロック内において、上記次に最も暗い要素に対応する位置にマークを提供しないことを含む)。先述の動作は、所望のスパースな印刷密度が達成されるまで、最も暗い要素の順序からの連続した要素により繰り返される。
いくつかの実施形態は、プリンタを使用して、スパースなN×N2D光学コード出力信号ブロックを含む粘着ラベルを印刷することを含む。そのようなプリンタは、印刷ヘッド要素の線形アレイを含み得、N×N2D光学コード出力信号ブロックの行又は列内のN個の要素と印刷ヘッド要素の上記線形アレイ内のN個の隣接印刷ヘッド要素との間には1:1マッピングが存在する。例証的な印刷ヘッドは、1インチあたり203個の印刷ヘッド要素の間隔を有し得る。
本技術の別の態様は、符号化された可変デジタルペイロード、及び符号化された可変デジタルペイロードの幾何学的同期のための参照信号構造を含む光学コードを構築することに関する。光学コードの要素は、以下のプロセスによって出力コード内の空間的位置にマッピングされる。
光学コード内で最も高い優先度を有する光学コード要素値が見出され、光学コード要素が、出力画像内において、この最も高い優先度を有することが見出された光学コード要素の空間的位置に形成される。追加の光学要素は、追加の光学要素の優先順に同様に形成され、この形成することが空間距離制約を忠実に守るという制約を伴う。結果として生じる出力画像は、次いで、例えば、印刷によって、基材上にレンダリングされ得る。より少ない、又はより大きい数の、連続した優先度の光学要素を見出すことによって、出力画像は、特定の用途によって必要とされるような、より明るい、又はより暗い外観を有するようにされ得る。
特定のそのような方法は、可変データシンボルの配列を符号化された可変デジタルペイロードへと誤り訂正符号化すること、及び符号化されたペイロードを幾何学的同期信号と結合することを含む。この結合することは、符号化された可変デジタルペイロード又は幾何学的同期信号に信号重み付けを適用して、幾何学的同期信号に対する符号化された可変デジタルペイロードの相対的優先度を設定するようにすることを含む。
いくつかのそのような実施形態において、光学コードの構築は、光学コード内の場所に従って、符号化された可変デジタルペイロードのデータシンボルに優先度を割り当てて、出力画像内のデータシンボルのインスタンスの冗長分散を制御することを含む。
本方法の最適化は、(a)データ及び光学コードの同期構成要素に変化する相対的優先度を割り当てること、(b)相対的優先度の各々における光学コードを有する出力画像を生成すること、(c)出力画像内の光学コードの堅牢性を測定すること、並びに(d)堅牢性制約を満たす相対的優先度を決定することに関与し得る。
本方法の別の最適化は、(a)光学コードの要素の出力画像へのマッピングに変化する最小間隔距離を割り当てること、(b)異なる最小空間距離に従ってマッピングされる光学コードを有する出力画像を生成すること、(c)出力画像内の光学コードの堅牢性を測定すること、及び(d)堅牢性制約を満たす最小空間距離を決定することに関与し得る。
本技術の依然として別の態様は、メッセージ信号及び2D参照信号からスパースなマシン可読2Dコードを生成する方法に関する。(2D参照信号は、各々が値を有する、場所のアレイを含む。)そのような方法は、2D参照信号を含む要素の値を調べて、2D参照信号要素値内の極値に対応する、2D参照信号内の第1の場所のセットを識別することを含む。この第1の場所のセットのサブセットは、メッセージ信号に従って選択される。出力信号は、次いで、出力信号ブロック内の選択された場所のサブセットにマークを有して生成される。そのような構成により、出力信号は、スパースなマシン可読2Dコードとして機能し、マークはすべて、参照信号要素値の極値を表し、それらの選択は、メッセージ信号を表す。加えて、より大きい、又はより少ない、第1の場所のセットのサブセットを選択することによって、出力信号の空間密度は、特定の用途の要件に見合うように変更され得る。
1つのそのような実施形態は、2D参照信号を含む少なくともいくつかの要素の値をソートして、要素暗さによるランク付けリストを識別することをさらに含む。このソートに基づいて、最も暗いM個の要素のM個の場所が識別され、M個のマークが、出力信号ブロック内において、これらのM個の識別された場所に対応するM個の場所に置かれる。これらのM個のマークは、2D参照信号を表し、メッセージ信号を表さない。同様にこのソートに基づいて、次に最も暗いN個の要素のN個の場所が識別され、P個のマークが、出力信号ブロック内において、これらの識別されたN個の場所に対応するP個の場所のサブセットに置かれ、P<Nである。これらのP個のマークは、2D参照信号及びメッセージ信号の両方を表す。
本技術のさらに別の態様は、(a)複数ビットメッセージを表現するデータ、及び(b)復号のために出力スパースコードブロックを幾何学的に登録するのに有用なN×N要素2D参照信号から、出力スパースコードブロックを生成するための方法である。そのような方法は、(a)2D参照信号内の極値の場所を識別すること、(b)出力スパースコードブロック内において、識別された2D参照信号極値の第1のサブセットの場所に対応する、第1の場所をマークして、参照信号のみを表すのを助け、メッセージを表すのを助けないこと、並びに(c)出力スパースコードブロック内において、識別された2D参照信号極値の第2のサブセットの場所に対応する、第2の場所をマークして、(a)メッセージ及び(b)参照信号の両方を表すのを助けることを含む。より大きい、又はより少ない数の、これらの第1及び/又は第2の場所をマークすることによって、出力信号の空間密度は、特定の用途の要件に見合うように変更され得る。
そのような方法の特定の実施形態において、複数ビットメッセージを表現するデータは、各々が第1の値又は第2の値のいずれかを有するN×N要素のメッセージブロックを含む。(N×N要素2D参照信号内の各場所は、上記N×Nメッセージブロックのそれぞれの要素に対応する。)第2の場所は、メッセージブロック内の対応する要素の値が第1の値であるN×N要素2D参照信号内の識別された極値の場所である。
本技術のさらなる態様は、(a)複数ビットメッセージを表現するデータ、及び(b)復号のために出力スパースコードブロックを幾何学的に登録するのに有用なN×N要素2D参照信号から、マーキング要素の可変空間密度を可能にする出力スパースコードブロックを生成する方法である。そのような方法は、ここでも、2D参照信号内の極値の場所を識別すること、及び、出力スパースコードブロック内において、識別された2D参照信号極値の第1のサブセットの場所に対応する、第1の場所をマークして、参照信号のみを表すのを助け、メッセージを表すのを助けないことを含む。本方法は、メッセージの各ビットについて、ビットの値に基づいて、各々が識別された極値場所に対応する出力スパースコードブロック内の2つの第2の場所のうちの一方をマークして、(a)メッセージ及び(b)参照信号の両方を表すのを助けることをさらに含む。より大きい、又はより少ない数の、第1の場所をマークすることによって、出力信号の前記空間密度は、特定の用途の要件に見合うように変更され得る。
本技術の別の態様は、(a)複数ビットメッセージ、及び(b)スパースコードの幾何学的登録を支援するための参照信号を表すスパースな2Dコードブロックを復号するための方法に関する。そのような方法は、参照信号に基づいてスパースコードタイルを幾何学的に変換して、N×Nアレイ内の場所にスパースな信号要素を得ることを含む。次いで、複数ビットメッセージは、幾何学的に変換されたスパースコードタイルから抽出され、この抽出がN×Nアレイ内の場所の大部分を無視するということを特徴とする。
本技術の依然として別の態様は、画像内に描写される光学コードによって表されるMビットペイロードを復号する方法に関する。そのような方法は、光学コード内のマークによって表される参照信号を参照して、画像内の光学コードの幾何学的登録を決定することを含む。(例示的な実施形態において、これらのマークは、参照信号として機能する複数の空間領域正弦波の総集合内の極値に対応する。)画像内のN個の場所からのデータ(N>M)は、マークがこれらの場所の各々に存在するかどうかを決定するために処理される。しかしながら、データは、これらN個の場所の間の場所においては同様に処理されない(即ち、これら他の中間の場所におけるマークの存在又は不在は無視される)。Pビットストリングは、N個の場所におけるマークの存在又は不在を参照して生成される。このPビットストリングが、誤り訂正デコーダに適用され、M個の復号されたビットを得る。上記N個の場所の間の場所からのマークの存在又は不在を無視することによって、誤りの潜在的なソースが最小限にされる。
本技術のさらに別の態様は、各要素が、ブロック内の場所を有し、複数ビットペイロードのうちの1ビットと関連付けられる、複数の要素からなる2D光学コードブロックを規定するデータを受信することに関与する。ペイロードの各ビットは、光学コードブロック内の複数の要素と関連付けられる。この方法は、スパースな出力信号ブロック内の対応するマークを形成するための要素の場所のすべてより少なく選択することを、スパースな出力信号ブロック内の実質的に等しい強度を有するペイロードビットの各々を表すように、行うステップを含む(実質的とは、すべてのペイロードビットの平均強度値の50%<、又は20%、又は10%>以内を意味する)。
本技術の依然として別の態様は、4つ以上の空間周波数波形を規定すること、及び上記波形のうちの1つ又は複数の振幅を、波形がすべて同じ振幅を有さないように制御することを含む方法である。次いで、波形は、空間領域内にパターンを生成するために結合される(そのような動作を構成するためのハードウェアプロセッサによって)。このパターンは、複数の離散空間点に値を含む(例えば、1000点超)。このパターンの少なくとも部分は、次いで、参照パターンとして2D光学コード出力信号ブロック内に組み込まれて、2D光学コードの幾何学的登録を可能にする。
本技術のさらなる態様は、異なる空間周波数を有する4つ以上の波形によって規定される参照パターンを含む印刷ラベルである。これらの波形のうちの少なくとも2つは、不均等な振幅を有する。このパターンは、スケールスキャナの一点と関連付けられたプロセッサが、ラベルがスキャナによって捕捉される像において描写される回転及びスケールを決定することを可能にして、スケールスキャナの一点が、ラベルによって同じく伝達されるマシン可読データを正しく復号するようにする参照信号として機能する。
本技術のさらに別の態様は、例えば食品の包装に適用され得る、ラベルである。ラベルは、印刷されたテキスト及びマシン可読コードを含む。このコードは、ランダム性の外観を回避する構造化パターンでマークを含む。より詳細には、Xインチの長さ及びYインチの幅を有するラベルの第1の矩形領域は、上記マークのうちのI個を包含し、同じ寸法の、縁が隣接する第2の領域は、上記マークのうちのJ個を包含し、Iは、少なくとも10、Iは、Jの少なくとも200%である。
本技術の依然として別の態様は、各ブロックが共通ペイロードを符号化するが、異なる印刷密度を有する、複数の参照光学コード信号ブロックのライブラリを提供することを含む方法である。画素からなる画像が受信され、各画素が場所及び値を有する。画像内の複数の画素の各々について、本方法は、(a)画素の値に対応する印刷密度を有する1つの光学コード信号ブロックをライブラリから識別すること、(b)画素の場所に対応する識別された光学コード信号ブロック内の場所を識別すること、及び(c)上記識別された光学コード信号ブロック内の識別された場所からの出力要素を出力画像フレームにコピーすることをさらに含む。そのような構成により、符号化された出力画像は、複数の参照光学コード信号ブロックの要素から組み立てられる。
本技術のさらなる態様は、販売時点管理端末と関連付けられたスキャナを動作させる方法である。そのような方法は、ドットの第1のスパースなパターンを包装の対比的な背景上に描写する第1の像を受信することを含む。この第1の像が分析され、それにより描写されるドットの第1のスパースなパターンが、第1の符号化方法によって符号化されるデータストリングを表すことを決定する。この第1のデータストリングは、第1の符号化方法に対応する第1の復号方法を適用することによって、第1の像から復号される。本方法は、ドットの第2のスパースなパターンを包装の対比的な背景上に描写する第2の像を受信することをさらに含む。この第2の像が分析され、それにより描写されるドットの第2のスパースなパターンが、第2の符号化方法によって符号化されるデータストリングを表すことを決定する。この後者のデータストリングは、第2の符号化方法に対応する第2の復号方法を適用することによって、第2の像から復号され、第2の復号方法は、第1の復号方法とは異なる。述べられた分析する動作は、第1及び第2の像を空間周波数領域表現に変換すること、並びに上記第1又は第2の像のうちの一方が、他方に欠如している1つ又は複数の参照信号構成要素を含むことを決定することを含む。
本技術の別の態様は、2Dブロック内の異なるそれぞれの場所に異なる値の要素を有する高密度マシン可読コードからスパースなマシン可読コードを作成する方法である。そのような方法は、要素の1番目について、出力信号ブロック内において、2Dブロック内の上記第1の要素の場所に対応する第1の場所に第1のマークを提供することを含む。そのような方法は、複数の要素の2番目について、第2の要素の場所が、第1のマークに隣接する除外された画素場所の領域内に入らないことを決定すること、及び結果として、出力信号ブロック内において、2Dブロック内の上記第2の要素の場所に対応する第2の場所に第2のマークを提供することをさらに含む。そのような方法は、複数の要素のうちの3番目について、上記第3の要素の場所が、第1又は第2のマークにそれぞれ隣接する除外された画素場所の第1又は第2の領域内に入ることを決定すること、及び結果として、出力信号ブロック内において、2Dブロック内の第3の要素の場所に対応する第3の場所に第3のマークを提供しないことをさらに含む。この方法では、上記第1の領域又は第2の領域のうちの少なくとも一方は、縦軸又は横軸を中心にして非対称である。
本技術のさらなる態様は、商品に印刷するためのスパースなドットパターンを生成して、商品上の情報を符号化する方法であり、印刷は、複数の熱要素を含む感熱印刷ヘッドを有するプリンタによって実施されることになる。この方法は、スパースなドットパターンが、垂直隣接及び水平隣接を含む複数の代替案から引き出される空間関係で印刷され得る互いに隣接する2つのドットを含むことを決定することを含む。本方法は、上記代替案のうち、上記印刷ヘッド熱要素の熱的加熱及び冷却イベントの数を低減するものを選択することをさらに含む。
本技術のさらに別の態様は、画像データが、連続階調透かしではなくスパースコードに対応することを決定するための方法である。この方法は、(a)画像データを空間周波数領域に変換すること、(b)変換された前記画像データを、第1の参照信号を表すテンプレートと相関させて、第1の値を生成すること、(c)変換された画像データを、第2の参照信号を表すテンプレートと相関させて、第2の値を生成すること、(d)第2の値が第1の値よりも大きいことを決定すること、及び(e)そのような決定に基づいて、画像データが、連続階調透かしではなくスパースコードに対応すると結論付けることを含む。次いで、スパースコードに特化した復号ルーチンが結果として開始され得る。
本技術の依然として別の態様は、画像データが、1インチあたり300ドットで印刷されるスパースコードではなく、1インチあたり203ドットで印刷されるスパースコードに対応することを決定するための方法である。そのような方法は、(a)画像データを空間周波数領域に変換すること、(b)変換された画像データを、第1の参照信号構成要素を表すテンプレートと相関させて、第1の値を生成すること、(c)変換された画像データを、第2の参照信号構成要素を表すテンプレートと相関させて、第2の値を生成すること、(d)第2の値が第1の値よりも大きいことを決定すること、及び(e)そのような決定に基づいて、画像データが、1インチあたり203ドットで印刷されるスパースコードに対応すると結論付けることを含む。同様にそのような決定に基づいて、画像データは、復号のために1インチあたり203ドットの解像度に戻すように変換され得る。
複合コードに作用する構成は、特定の可視性又は堅牢性目標を達成するように、1:1とは異なる比率で参照信号及びペイロード信号を重み付けすることをさらに含み得る。
これらの構成の各々は、マークの凝集を防ぐために、スパースブロック内の候補マークに間隔制約を適用する動作をさらに含み得る。間隔制約は、円形、楕円形、又は他の(例えば、不規則な)形状である侵入禁止ゾーンの形態をとり得る。侵入禁止ゾーンは、2つ以上、又は2つ以下の対称軸を有し得る(又は有さない)。間隔制約の実施は、スパースブロック内の各場所について1つの要素を有する関連付けられたデータ構造を用いることができる。暗いマークがスパースブロックに追加されると、対応するデータが、間隔制約に起因して潜在的なマーキングのためにもはや利用可能でない場所を識別するデータ構造で記憶される。
これらの構成の各々において、参照信号は、空間周波数ピークの相対振幅を、それらがすべて等しい振幅でないように変化させることによって、非ランダムな外観を有するように調整され得る。参照信号外観のそのような変化は、スパースな信号外観に対して結果的に影響を有する。
これらの構成はまた、非線形フィルタを多階層コード(例えば、元の高密度コード)に適用して、スパースブロック内に最も効果的にマークを形成することにより、印刷されないスパースな要素によって表される情報を表現する場所を識別する動作を含み得る。次いで、これらの場所は、スパースブロック内にマークを付けるための場所を選択することにおいて優先される。
たった今再考した構成は、本開示の他の場所でより完全に詳述される。
高密度コードからスパースコードを形成するための手段は、詳述したアルゴリズムのいずれかを実施するように構成される、本明細書に(即ち、動作環境と表題の付いた議論において)詳述されるハードウェア構成のいずれかを用いることができる。
本明細書は、いくつかの異なる実施形態について論じた。1つの実施形態と関連して詳述される方法、要素、及び概念は、他の実施形態と関連して詳述される方法、要素、及び概念と組み合わされ得るということを理解されたい。一部のそのような構成が、具対的に説明されているが、一部は、並べ替え及び組み合わせの数に起因して、説明されていない。出願者は、本明細書の方法、要素、及び概念が、それらの中から、及びそれらの間に限らず、引用された先行技術から知られているものとも、組み合わされ得る、代用され得る、及び交換され得るということを同様に認識し、意図する。さらには、詳述した技術は、現在及び将来の他の技術と一緒に、有利な効果に含まれ得るということを認識されたい。そのような組み合わせの実装形態は、本開示に提供される教示から、当業者にとっては簡単である。
本開示は、動作の特定の順序及び要素の特定の組み合わせについて詳述しているが、他の企図される方法は、動作を並べ変えてもよく(おそらくはいくつかを省略し、他を追加する)、他の企図される組み合わせは、いくつかの要素を省略し、他を追加してもよいなど、ということを理解されたい。一例を挙げると、1:1以外の重み付け構成でペイロード及び参照信号を結合すると説明される実施形態において、1:1の重み付けが代替的に使用され得る。
完全なシステムとして開示されるが、詳述した構成の部分組み合わせもまた、別個に企図される(例えば、完全なシステムの様々な特徴を省略する)。
本技術のいくつかの態様は、例証的な方法を参照して説明されているが、そのような方法の動作を実施するように構成される装置もまた、出願者の発明の成果の部分として企図される。同様に、他の態様は、例証的な装置を参照して説明されており、そのような装置によって実施される方法論は、同様に、本技術の範囲内である。依然としてさらに、そのような方法を実施するようにプロセッサ又は他のプログラマブルシステムを構成するための命令を含む有形コンピュータ可読媒体もまた、明示的に企図される。
上に説明される方法、プロセス、及びシステムは、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組み合わせで実装され得る。例えば、光学コードを生成する、及び読み取るための信号処理動作は、メモリに記憶され、プログラマブルコンピュータ内で実行される命令(ソフトウェア命令及びファームウェア命令の両方を含む)として実装される。代替的に、動作は、特殊用途デジタル回路内のデジタル論理回路、又は、1つ若しくは複数のプロセッサ及びデジタル論理回路モジュール内で実行される命令の組み合わせとして実装される。上に説明される方法及びプロセスは、システムのメモリ(電子、光学、又は磁気記憶デバイスなどのコンピュータ可読媒体)から実行されるプログラムに実装され得る。
包括的な開示を提供するため、米国特許法の簡潔性の要求に応じると同時に、出願者は、本明細書内で参照される文書の各々を参照により組み込む。(そのような資料は、たとえそれらの教示の特定のものに関連して上で引用されるとしても、それらの全体が組み込まれる。)これらの参考文献は、出願者が、本明細書内で詳述される構成に組み込まれることを意図する、また現在詳述される技術及び教示が組み込まれる、技術及び教示を開示する。
上で論じられる原則及び特徴が適用され得る様々な実施形態の観点から、詳述した実施形態は、単に例証にすぎず、本発明の範囲を制限すると取られるべきではないことは明らかである。むしろ、出願者は、すべてのそのような修正が、以下の特許請求の範囲及びそれらの等価物の趣旨及び範囲内に入り得るものとして本発明を特許請求する。