(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】点描法、ボロノイ法、及びドロネー法を使用して信号運搬アートを生成すること、並びにこれを読み取ること
(51)【国際特許分類】
H04N 1/32 20060101AFI20240416BHJP
G06T 1/00 20060101ALI20240416BHJP
H04N 19/467 20140101ALI20240416BHJP
【FI】
H04N1/32 144
G06T1/00 500B
H04N19/467
(21)【出願番号】P 2020567888
(86)(22)【出願日】2019-06-07
(86)【国際出願番号】 US2019036126
(87)【国際公開番号】W WO2019237045
(87)【国際公開日】2019-12-12
【審査請求日】2022-06-06
(32)【優先日】2018-06-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021973
【氏名又は名称】ディジマーク コーポレイション
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】カマス, アジス, エム.
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特表2017-507518(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/32
H04N 19/46-19/467
H04L 9/00- 9/40
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
マシン可読光学コードを生成する方法であって、
可変ペイロードを含む光学コード信号構成要素を生成するステップと、
2次元光学コードのタイルを構築するステップであって、前記タイルが、ある空間密度で前記タイル内の座標に位置する光学コード要素を含む、ステップと、
前記座標に基づいて線画を描くステップであって、前記 が、前記可変ペイロードを伝達する、ステップと、
複数のタイルを含む前記線画を出力画像に挿入するステップであって、前記光学コードが、前記出力画像の光学スキャンからマシン可読である、ステップと、を含み、
構築する前記ステップが、
前記可変ペイロードを第1の光学コード信号へ変換する(transform)
処理であって、前記第1の光学コード信号が、幾何学的同期のための参照信号を含む画素値の2次元アレイを含み、前記タイルは、コード要素の優先度に従って前記タイル内の画素の場所を充填することを含む空間制約に従って
構築される工程を有する前記変換する処理を含む、
方法。
【請求項2】
最も高い優先度のコード要素から優先度の高い順に充填される、請求項1に記載の方法。
【請求項3】
前記充填は、コード要素間の最小間隔距離を含む間隔制約に従う、請求項2に記載の方法。
【請求項4】
線画を描く前記ステップが、巡回セールスマン法に従って線分を描くことを含む、請求項1に記載の方法。
【請求項5】
線画を描く前記ステップが、等高線プロットを描くことを含む、請求項1に記載の方法。
【請求項6】
優先度が堅牢性メトリックによって決定される、請求項1に記載の方法。
【請求項7】
優先度は、ロバスト性スコアにおける最大値までの距離を最小化するパラメータ空間内の場所を見つけることによって決定される、請求項1に記載の方法。
【請求項8】
マシン可読光学コードを生成する方法であって、
可変ペイロードを含む光学コード信号構成要素を生成するステップと、
2次元光学コードのタイルを構築するステップであって、前記タイルが、ある空間密度で前記タイル内の座標に位置する光学コード要素を含む、ステップと、
前記座標に基づいて線画を描くステップであって、前記線画が、前記可変ペイロードを伝達する、ステップと、
複数のタイルを含む前記線画を出力画像に挿入するステップであって、前記光学コードが、前記出力画像の光学スキャンからマシン可読である、ステップと、を含み、
線画を描く前記ステップが、前記2次元光学コードの輝度最小値で交差する線分を描くことを含む、
方法。
【請求項9】
輝度最小値で交差する線分を描くことが、前記輝度最小値において座標のドロネー三角形分割を生成することを含む、請求項8に記載の方法。
【請求項10】
前記2次元光学コードが、幾何学的同期のための参照信号を含む画素値の2次元アレイを含む、請求項8に記載の方法。
【請求項11】
マシン可読光学コードを生成する方法であって、
可変ペイロードを含む光学コード信号構成要素を生成するステップと、
2次元光学コードのタイルを構築するステップであって、前記タイルが、ある空間密度で前記タイル内の座標に位置する光学コード要素を含む、ステップと、
前記座標に基づいて線画を描くステップであって、前記線画が、前記可変ペイロードを伝達する、ステップと、
複数のタイルを含む前記線画を出力画像に挿入するステップであって、前記光学コードが、前記出力画像の光学スキャンからマシン可読である、ステップと、を含み、
前記線画は、複数の凸多角形を定義する線分を含み、前記凸多角形の各々は前記2次元光学コードの輝度最大値を含むボロノイ領域を形成する、
方法。
【請求項12】
前記2次元光学コードが、幾何学的同期のための参照信号を含む画素値の2次元アレイを含む、請求項11に記載の方法。
【請求項13】
マシン可読光学コードを生成する方法であって、
可変ペイロードを含む光学コード信号構成要素を生成するステップと、
2次元光学コードのタイルを構築するステップであって、前記タイルが、ある空間密度で前記タイル内の座標に位置する光学コード要素を含む、ステップと、
前記座標に基づいて線画を描くステップであって、前記線画が、前記可変ペイロードを伝達する、ステップと、
複数のタイルを含む前記線画を出力画像に挿入するステップであって、前記光学コードが、前記出力画像の光学スキャンからマシン可読である、ステップと、を含み、
前記線画が、前記2次元光学コードの輝度最大値の空間座標を中心とする線画図形要素を含む、
方法。
【請求項14】
前記2次元光学コードが、幾何学的同期のための参照信号を含む画素値の2次元アレイを含む、請求項13に記載の方法。
【請求項15】
前記線画図形要素が、円、三角形または矩形を含む、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、一般的には、(任意選択的にホスト画像コンテンツとの統合後に)印刷用のマシン可読光学コードを生成するための画像処理、光学コードを最適化するための補足的な堅牢性測定、及び物体からそのようなコードを確実且つ効率的に読み取るための光学コードリーダに関する。
【0002】
部分的には、本出願は、参照により本明細書に組み込まれる、出願者らの特許第9,635,378号及び公開第20170024840号に詳述されている、スパースシグナリング技術に対する強化及び改善に関係する。
【関連出願】
【0003】
米国において、本出願は、2018年6月8日に出願された仮出願第62/682,731号の優先権を主張するものである。
【0004】
本出願は、参照により本明細書に組み込まれる、2019年5月7日に提出された米国出願第16/405,621号、並びに2018年12月7日に提出された国際出願PCT/US18/64516号、及び2019年2月25日に提出されたPCT/US19/19410に関連する。
【背景技術】
【0005】
よく知られている一次元及び二次元バーコードなどの光学コードは、至る所に存在し、様々な自動データ収集用途において非常に重要である。実際、バーコードは広く普及しているため、今では、異なるタイプのデータを担持するため、又は物体の異なる部分において同じデータを冗長的に符号化することによって可読性を改善するため、単一の物体に様々なバーコードタイプを目にするのが普通である。
【0006】
このようなバーコードの使用増加は、包装及びラベルデザインにいくつかの難題をもたらす。第一に、各バーコードは、それが確実に読み取られ得ることを確実にするために全く異なる空間を占有しなければならない。これは、ユーザにとっての物体の価値及び魅力を増強する製品情報及び美的デザイン要素などのより重要な情報のために使用され得る貴重な空間を消費する。第二に、これは、急速にレーザスキャナに取って変わっている画像ベースのスキャナの画像処理における混乱及び複雑性の可能性を生み出す。レーザスキャナは、一度に1つずつ、特定のバーコードを対象とし得るが、画像ベースのスキャナは、光学コードのうちの1つ又は複数の部分又はすべてを含み得る画像フレームを捕捉する。第三に、これらのコードの視覚的影響を低減するために、これらのコードは、多くの場合、サイズが低減され、物体上での見つけることが難しい場所に限定されている。このことが、これらのコードの信頼性を低くし、ユーザ及び機械視覚設備が場所を特定して確実に読み取ることを難しくする。
【0007】
堅牢なデジタル透かしなど、他のタイプの光学コードは、これらの難題に様々な方法で対処する、従来のバーコードに代わるものを提供する。デジタル透かしは、物体上の他の画像内に隠され得、したがって貴重な専用の空間を占有しない。デジタル透かしはまた、それらが担持するデジタルデータコード(ペイロード、又はメッセージと称される)の場所を特定して確実に読み取ることの容易さを改善するために、物体表面の上に冗長的に符号化され得る。これにより、デジタル透かしペイロードが確実に復号され得る画像フレームを獲得するように物体をイメージングするタスクを単純化する。透かし技術はまた、様々な使用シナリオにおける計算効率及び自動データ収集の信頼性を改善する。そうであるのは、透かし技術が、物体又はラベルの恣意的且つ部分的な視野から、たとえ破れたり、にじんだり、又はしわくちゃになっていたとしても、信頼性の高いデータ収集を促進するためである。
【0008】
デジタル透かしは、これらの向上をもたらすが、美的要件、堅牢性要件、及びデータ容量要件を満たす改善された光学データ担持能力の必要性がある重要な用途が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0009】
1つの課題は、光学コードをマスクすることができるか、又は画像コードのキャリアとして機能することさえできる画像コンテンツのないホスト画像領域のための、低侵襲の光学コードの形成である。これらの領域では、マシン可読データを担持する微細な濃淡を生成することが可能である。加えて、場合によっては、標準的な可視光スキャンの信頼性を維持しながら人間にとっては光学コードの可視性を低減するように、インク色、又はインクの組み合わせを選択することが可能である。視覚的品質の理由から、一般的には、より高い空間解像度で光学コードを生成すること、及び、コードの図形要素(例えば、ドット)が目立たないように、それらを互いから距離をとって離間することが好ましい。
【0010】
しかしながら、多くの場合、これらの選択肢を不可能にする、色選択及び解像度に対する制限が存在する。多くの物体は、色選択を許さない、及び最小ドットサイズ未満でドットを確実にマークしない技術を用いて印刷又はマークされる。低解像度の感熱プリンタを使用して、時に高い印刷速度で、小さいラベル上に光学コードを印刷することが一例である。他の例としては、高解像度及び小ドットサイズで高品質及び一貫性を伴ってレンダリングすることができないドライオフセット又はフレキソ印刷のような技術を使用する、小さい包装の商業印刷が挙げられる。さらには、多くの場合、追加のインクを使用することのデザイン及び費用制約に基づいた制限が存在する。最後に、たとえレンダリング設備がより高い解像度及びより小さいドットマーキング並びに様々なカラーインクを利用することができるとしても、画像捕捉インフラストラクチャ又は画像捕捉のモードが、より高い解像度又は色情報を捕捉することができない場合がある。
【0011】
別の持続的課題は、ますます小さくなる空間領域からデータを確実に読み取る必要性である。データ容量増大に対する需要は、基本的には、制限された領域からのそのデータの確実な回収と相いれない。
【0012】
本明細書で詳述されるように、本発明者らは、様々な用途のためにこれらの課題及び他の課題に対処するいくつかの発明的な光学コード技術を開発した。1つの発明的な技術は、視覚的品質及び堅牢性(信頼性)制約のためにパラメータを最適化する光学コードを生成するための方法である。これらのパラメータは、空間密度、ドット配置(例えば、凝集を回避するための間隔)、ドットサイズ、及び光学コード構成要素の優先度を含む。後者において、参照(同期)信号及びペイロード構成要素などのコード構成要素の優先度は、改善された堅牢性及び視覚的品質を達成するために最適化される。
【0013】
本発明の技術は、光学コード構成要素をシグナルリッチアートに変換するための方法を含む。これらの方法は、光学コードの優先順位付けされた構成要素を強調するように線画を描くための技術を含む。それらはまた、光学コード構成要素から、点描パターン、ボロノイ(Voronoi)パターン、及びドロネー(Delaunay)パターンを生成するための方法を含む。
【0014】
さらなる発明的な技術は、光学コード挿入及び復号方法である。光学コード挿入方法は、包装又はラベルデザインなどのホスト画像コンテンツ内に光学コードを統合する。挿入方法のいくつかの実施形態は、視覚的品質及び堅牢性を改善するためにホスト画像の属性を考慮及び利用する。復号方法の実施形態は、マーク付き物体の捕捉される劣化画像からペイロードを効率的且つ確実に復号する。
【0015】
これらの発明的な方法は、光学コードジェネレータ、インサータ、オプティマイザ、及びデコーダ構成要素に実装される。これらの構成要素は、様々な種類の感熱ラベルプリンタ、プリプレスワークステーション、モバイルデバイス、及び画像ベースのバーコードスキャナに使用されるものなど、様々な種類のプロセッサによって実行されるソフトウェアモジュールに実装される。ソフトウェア命令はまた、特定用途向け集積回路、プログラマブルゲートアレイ、又はそれらの組み合わせなどの論理回路に変換され得る。
【0016】
さらなる発明的な特徴は、以下の詳細な説明及び添付の図面において明らかになる。
【図面の簡単な説明】
【0017】
【
図1】視覚的品質及び信頼性制約に適合させるように、可変空間密度を有する光学コードを生成する方法を示す図である。
【
図2】光学コードのパラメータを最適化するための方法を示す図である。
【
図3】光学コードを構築するためのプロセスを例証する図である。
【
図4】光学コードを構築するための別のプロセスを例証する図である。
【
図5】光学コードを構築するための別のプロセスを例証する図である。
【
図6】光学コード内で伝達されるべき可変デジタルペイロードを符号化する方法を例証する図である。
【
図7】光学コード構成要素のタイルを例証する図である。これは、参照信号構成要素、符号化されたペイロード構成要素、又はペイロードで符号化される参照信号として使用され得る。これはまた、参照信号構造内に配置される符号化されたペイロード信号として使用され得る。
【
図8】符号化されたペイロード信号のタイルを示す図である。
【
図9】
図7の光学コード構成要素の空間解像度に変換される、
図8の符号化されたペイロード信号を示す図である。
【
図10】高密度複合光学コードを形成するための、符号化されたペイロード及び参照構成要素を含む、光学コード要素の組み合わせを例証する図である。
【
図11】高密度複合光学コード(
図10のような)の、その光学コード要素の優先度及び空間制約(例えば、要素間隔及び信号密度)に従った、出力画像へのマッピングを示す図である。
【
図12】ドット間隔及び信号構成要素強度比を最適化するためのプロセスの例を例証する図である。これらのパラメータは、これらのパラメータのいくつかの組み合わせの各々における光学コードを生成し、テスト画像のセット内の各テスト画像に挿入する訓練プロセスにおいて導出される。
【
図13】テスト画像から測定される堅牢性メトリックに基づいて、
図12の例における最適なパラメータの選択を例証する図である。
【
図14】所望のドット密度を達成するように空間領域内に光学コードの要素を形成する方法を例証するフロー図である。
【
図15】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図16】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図17】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図18】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図19】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図20】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図21】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図22】高密度光学コードを表す波形により
図14のプロセスをグラフで例証する図である。
【
図23】光学コードの出力画像がタイル化され、次いで統合されているラベルの例を例証する図である。
【
図24】光学コードの堅牢性を例証するためにさらなる劣化を伴う、光学コードと統合されるラベルデザインの別の例を例証する図である。
【
図25】光学コードのタイルがテキストと統合されているさらに別の例を示す図である。
【
図26】データ信号を最適に担持するアートワークを生成することに使用する前に、データ信号の要素を重み付けする方法を例証する図である。
【
図27】データ信号要素をホスト画像アートワーク内の場所にマッピングする方法を例証する図である。
【
図28A】椅子のグレースケール画像を示す図である。
【
図28B】スパースコード信号によりレンダリングされた場合の椅子のグレースケール画像の抜粋を示す図である。
【
図29】グレースケール値が異なるスパースなパターンにどのように関連するかを示す図である。
【
図30A】異なる隆起サイズのスパースな信号でレンダリングされる画像の抜粋を示す図である。
【
図30B】異なる隆起サイズのスパースな信号でレンダリングされる画像の抜粋を示す図である。
【
図31】物体から捕捉される画像信号から光学コードを復号するための方法を例証するフロー図である。
【
図32】本明細書に詳述されるような、光学コードジェネレータ、インサータ、オプティマイザ、及び/又はデコーダの構成要素が実装され得る電子デバイスの図である。
【
図33】スパースな光学コード信号からシグナルリッチアートを構築する方法のフロー図である。
【
図34】巡回セールスマン(TSP)法を用いて信号タイルのスパースな座標を接続することによって作成される光学コード信号タイルを例証する図である。
【
図35】等高線プロットを使用して作成される光学コード信号タイルを例証する図である。
【
図36】タイルの空間座標に縦線を置くことによって作成される光学コード信号タイルを例証する図である。
【
図37】光学コードの空間座標のドロネー三角形分割から光学コードを構築する方法を例証するフロー図である。
【
図38】
図37の方法によって作成される光学コード信号タイルを例証する図である。
【
図39】光学コード信号の最大値から導出されるボロノイ図から光学コード信号を構築する方法を例証するフロー図である。
【
図40】
図39の方法によって作成される光学コード信号タイルを例証する図である。
【
図41】アートワーク要素の形状に適合するようにマスクされた、光学コード信号の例を例証する図である。
【
図42】アートワーク要素の形状に適合するようにマスクされた、光学コード信号の例を例証する図である。
【
図43】高密度光学コード信号タイル内の最大値の座標から生成される光学コード信号タイルの追加の例を例証する図である。
【
図44】高密度光学コード信号タイル内の最大値の座標から生成される光学コード信号タイルの追加の例を例証する図である。
【
図45】データ担持アートワークを所望の密度の点描アートに変換するための点描法を例証するフロー図である。
【
図46】データ担持画像を所望の密度の点描パターンに変換するための点描法を例証するフロー図である。
【
図47】点描パターンに変換された、信号運搬アートワークの例を例証する図である。
【
図48】光学コード信号の点描パターンの例を例証する図である。
【
図49】光学信号を担持するアートワークの点描パターンを生成するために、重み付けされた重心ボロノイ図を用いる方法を例証するフロー図である。
【
図50】異なるドット密度にある光学コード信号の点描パターンを生成する方法のフロー図である。
【
図51】
図50の方法において生成された点描パターンを適用して、アートワーク内の光学コード信号タイルを符号化するフロー図である。
【
図52】FFT補間を使用して光学コード信号を芸術的要素に変換するための実施形態の出力を例証する図である。
【
図53】光学コードを埋め込まれたホスト画像からボロノイパターンを含むシグナルリッチアートを生成する出力を例証する図である。
【
図54】ボロノイパターン内の線の線密度を変化させることによって生成されるハーフトーングレースケールレベルを示す図である。
【
図55】ボロノイパターン内の線の線幅を変化させることによって生成されるハーフトーングレースケールレベルを示す図である。
【
図56】明るい背景上の暗い正方形の場合の、正方形ドットサイズを変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【
図57】暗い背景上の明るい正方形の場合の、正方形ドットサイズを変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【
図58】明るい背景上の暗い円形の場合の、円形ドットサイズを変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【
図59】暗い背景上の明るい円形の場合の、円形ドットサイズを変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【
図60】暗いドットの場合の、ドット間隔を変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【
図61】明るいドットの場合の、ドット間隔を変化させることによって作成されるハーフトーングレースケールレベルを示す図である。
【発明を実施するための形態】
【0018】
本明細書は、フロー図及び解説文を参照して本技術の実施形態について詳述する。図面及び説明は、プログラム可能なハードウェアデバイスを構成するためのソフトウェア命令によって最も一般的に実現される処理モジュールを用いて実施される。いくつかの実施形態において、そのようなソフトウェア命令は、プリンタ及びスキャナへの統合のためにファームウェアに変換されるか、又はデジタル論理回路へと変換される。
【0019】
図1は、コードを視覚的品質及び信頼性制約に適合させるように、可変空間密度を有する光学コードを生成する方法を示す図である。目的は、光学コードのパラメータが最適化されるように、画像又は他のキャリア内への挿入のための光学コードを生成することである。これらのパラメータは、堅牢性及び視覚的品質を含む。本方法は、光学コード要素の所望の空間密度及び間隔も提供しながら、堅牢性メトリックに達する、又はそれを超える、光学メッセージ構成要素の優先度を決定することによって、改善された堅牢性を達成する。密度及び間隔(ドット凝集を回避するため)制約は、本方法が、視覚的品質制約を満足しながら光学コード信頼性を最適化することを可能にする。
【0020】
本方法は、可変ペイロード配列10及び参照(登録)信号パラメータ11の入力で始まる。これらの入力から、本方法は、光学コードの構成要素を構築する(12)。これらの構成要素は、ペイロード構成要素及び参照信号構成要素からなる。以下にさらに詳述されるように、これらの構成要素は、必ずしも明確に異なるわけではないが、これらがレンダリングされた出力に適用される堅牢性、信号容量、及び単位面積あたりの視覚的品質を提供するために最適化される必要がある。このレンダリングされた出力は、エッチング、彫刻、焼成(感熱印刷を含む)、エンボス加工(型又はエンボスプレートによる)などの他の手段によって出力画像を基材にマークすることを含め、コードを担持する画像(「出力画像」)を印刷することによってなど、光学コードでマークされる物体である。
【0021】
本方法は、構成要素に適用されるべき優先度を決定する(14)。この優先度は、ドットサイズ、空間密度、及び要素(例えば、ドット又は穴)の間隔などの制約内で堅牢性を最適化する光学コードのパラメータを決定することによって導出される。
【0022】
優先度を用いて、本方法は、視覚的品質制約内で光学コードを出力画像にマッピングすることに進む(16)。次いで、出力画像は、包装又はラベル材料の紙又はプラスチック基材などの物理的形態にレンダリングされる(18)。
【0023】
図2は、光学コードのパラメータを最適化するための方法の図である。この方法は、光学コード構成要素のドット密度、ドット間隔、及び相対的優先度を最適化する。特定の用途のための光学コードを最適化するため、本方法は、その用途の画像のタイプを表すテスト画像のセットに対して動作する。例えば、生鮮食品(ベーカリー商品、肉及びデリ商品、惣菜など)への接着のために感熱プリンタによって典型的には印刷されるものなど、ラベル上で使用される光学コードの場合、テスト画像は、ラベル画像のセットである。これらのラベル画像は、テキスト、図形、及び従来の一次元又は二次元バーコードなどの視覚要素からなる。テスト画像は、通常の使用においてラベル画像の大半で見られることが予期されるテキスト、図形、及び従来の可視バーコードの混合からなる。
【0024】
同様に、包装の場合、テスト画像は、製品製造業者のスタイルガイドに準拠し、特定のフォント、サイズ、及び間隔のテキスト、画像、ロゴ、配色(インク及びスポットカラーを含む)、包装材料に基づいて金属、プラスチック、及び紙を含む基材タイプ、並びに好ましい印刷技術(オフセット、ドライオフセット、デジタルオフセット、インクジェット、感熱、フレキソ、及びグラビア)からなる、画像のセットである。この場合、テスト画像は、レンダリング、使用、及びスキャンに起因して画像が被る様々な形態の劣化をシミュレートする特定の包装デザインの訓練画像のセットであってもよい。
【0025】
テスト画像の各々について、本方法は、挿入された光学コードを有する出力画像を生成する(20)。光学コードは、以下にさら詳述される技術を使用して、ペイロード構成要素及び参照信号構成要素から構築される。テスト画像のためのコードを構築することの出力は、空間的位置に光学コード要素のアレイをもつテスト画像である。説明を容易にするため、本発明者らは、これらの要素を「ドット」と呼び、ドットの特定の幾何学的構造は、様々な形状をとり得る。画像の形式は、その画素が、マーク信号又はマークなし信号の二進値に対応するという点で、二値である。インクで印刷する場合、マーク又はマークなしは、特定の色分解(例えば、プロセスカラーCMY若しくはK、又はスポットカラー)についてのその画素の場所におけるインク又はインクなしを指す。出力画像の画素は、テスト画像要素、光学コード要素、又は両方の混合に対応し得る。しかしながら、いくつかの実装形態において、ラベル上の画像要素(テキストを含む)から最小距離に光学コード要素の間隔を維持するか、又は、要素が現れることのない場所を別の方法で指定することが好ましい。
【0026】
各出力画像について、パラメータのセットは、各パラメータ値を、そのパラメータの値の許容可能な範囲からサンプリングすることによって、選択される。1つの実装形態において、パラメータは、光学コードのドット密度、光学コード要素の最小相互間隔、及び光学コード構成要素の優先度である。1つの実装形態において、優先度値は、光学コード要素の相対的優先度、具体的には、参照構成要素及び符号化されたデジタルペイロード構成要素の相対的重み付けとして適用される。
【0027】
出力画像を生成した後、本方法は、出力画像内の光学コードの堅牢性を測定する(22)。堅牢性は、出力画像から検出メトリックを計算して、レンダリング、使用、及びスキャンに起因する劣化をシミュレートする堅牢性予測プログラムによって測定される。これらの検出メトリックは、参照により組み込まれる、米国特許第9,690,967号、同第10,217,182号、及び国際公開第2018165667号に詳述される技術を使用して計算される。同様に参照により本明細書に組み込まれる、2018年3月12日に提出された米国出願第15/918,924号も参照されたい。
【0028】
検出メトリックは、光学コードの参照信号を測定するメトリック、及びデジタルペイロード(例えば、予期されるペイロードと一致している)からのメトリックを含む。参照信号のための1つの検出メトリックは、既知の参照信号とテスト下の画像内の参照信号との相関を測定する相関メトリックである。周波数領域において規定される参照信号のための別のメトリックは、参照信号の正弦波に対応する周波数領域位置についての隣接する値に対する周波数の大きさ値の平均である。この測度は、参照信号が、テスト画像内の他の画像要素を含め、雑音に対してどれくらい強いかを反映する。デジタルペイロードのための1つの検出メトリックは、抽出されたビットを特定のペイロードについての予期されるビットと比較することに基づいた、予期される値に一致するペイロードビット又は符号化されたビットの数の測度である。光学コードは、出力画像の連続タイル内で繰り返される。加えて、タイル内には空間的冗長性が存在する。したがって、検出メトリックは、単位面積あたりに計算され得、面積の単位は、コードが検出され得る最小面積から、水平及び垂直次元にあるいくつかの連続タイルの面積に及ぶ。
【0029】
堅牢性を測定するプロセスは、好ましくは、レンダリング、使用、及びスキャンにおける光学コードの予期される劣化を考慮する。そうするために、劣化は、堅牢性を測定する前に出力画像上でシミュレートされる。光学コードは、スワイプ動作によって、又は提示モードによって読み取られ得るため、スキャンモードもまた、シミュレートされる。提示モードにおいて、物体は、撮像素子に提示されることが予期され、これは、撮像素子及び物体が実質的に静的であるように行われる。スキャンのモードは、光学コードの堅牢性に関わりがある。スワイプの1つの関わりは、スキャンがぼやけをもたらし得ることである。もう1つは、光学コードがスワイプの経路内の複数のタイルから読み取られ得ることである。提示モードの関わりは、撮像素子が、物体の一部、例えば、片側の部分のみを捕捉し得ることである。したがって、いくつかの異なる潜在的な物体の視点における信頼性は、全体的な堅牢性スコアで考えられる必要がある。スワイプモードの場合、堅牢性測度は、スワイプスキャンの1つ又は複数の経路に沿って検出メトリックから合計され得る。
【0030】
光学コードを生成し、堅牢性を測定するプロセスは、各テスト画像について、及び最適化される各パラメータ(例えば、あるタイルについての光学コード密度における最小光学コード要素間隔、光学コード要素サイズ、及び光学コード構成要素優先度)について実行される。次いで、本方法は、パラメータ空間サンプリングあたりの堅牢性測度を伴う、堅牢性測定値のアレイを生成する(24)。パラメータ空間は、パラメータ空間座標が、パラメータ候補、例えば、優先度値、ドット間隔、ドットサイズ、ドット密度、又はこれらの候補のいくつかの部分的組み合わせである、多次元空間を指す。
【0031】
次に、本方法は、堅牢性測定値から最適パラメータを決定する。そうするために、本方法は、パラメータ空間内の堅牢性測定値のアレイを分析して、堅牢性測定値が所望の堅牢性制約を超えるパラメータ空間内の領域を見出す(26)。この領域は、所望の堅牢性を提供することが予期される光学コード要素間隔及び優先度のためのパラメータのセットを規定する。1つの手法において、本方法は、各テスト画像の堅牢性スコア内の最大値までの距離を最小限にする、パラメータ空間内の場所を見出す。
【0032】
光学コードのパラメータを最適化するプロセスを説明してきたが、これより、テキスト及び図形を有するラベル又は包装上にコードを一体化するのに有用な可変密度を有する光学コードの実施形態について説明する。
【0033】
図3は、光学コードを構築するためのプロセスを例証する。これは、光学コードジェネレータの実施形態である。この実施形態では、別個の可変ペイロード構成要素及び参照信号構成要素が生成され、次いで結合される。ペイロードは、各々が2つ以上の(2値又はM値)メッセージシンボル値を表すデータシンボルの配列である。用語ではM値という、整数値Mは、シンボル要素あたりの可能なシンボル値の数である。例えば、M=3の場合、シンボル値は、1、0、及び-1などの3つの状態のうちの1つを有するか、又は3つの異なる量子化ビンの信号特徴値に対応する。後者は、ホスト画像の特徴値がシンボル値に対応する量子化ビンのうちの1つに量子化される変調スキームを指す。ペイロードをより堅牢にするため、ペイロードは、誤り訂正、誤り検出、反復、及びキャリア信号の組み合わせを使用して冗長的に符号化される。
【0034】
ブロック30における処理は、ペイロードを堅牢な符号化されたペイロード構成要素に変換し、ペイロードのシンボルは、符号化されたペイロード構成要素の複数の要素内で伝達される。これらの要素は、ある空間的配置及び振幅を有するペイロード信号波形を形成する。本処理は、ペイロードシンボルの可変ユーザデータストリングから誤り検出シンボル(2値又はM値)を計算すること、可変ユーザデータストリングを表すシンボルに誤り検出シンボルを付加すること、及び結果として生じるシンボルのシーケンスを誤り訂正して、誤り訂正符合化されたペイロードを形成することを含む。ペイロードシンボルのシーケンスは、
図6と関連して説明されるように、誤り訂正符号化される。
【0035】
このペイロードのシンボルは、さらなる堅牢性のためにキャリア信号上に変調され得る。符合化されたペイロードは、次いで、光学コードの堅牢な符合化されたペイロード構成要素を形成するための空間的位置へマッピングされる。
【0036】
参照信号構成要素は、出力画像内の光学コードを検出し、幾何学的同期を実施するために使用される信号である。ブロック32における処理は、参照信号構成要素を、その空間的配置及び振幅などのその信号波形特性を指定することによって生成する。参照信号構成要素の1つのタイプは、疑似ランダム位相を有する正弦波(周波数領域内のピーク)の集まりである。空間領域において、この参照信号の画像形式は、雑音パターンに似ている。符号化されたペイロード及び参照信号を有する、このタイプの光学コードの例は、参照により組み込まれる、米国特許第6,590,996号に説明される。
【0037】
例示的な参照信号は、各々が、典型的には異なる位相で、水平及び垂直方向に3~50サイクルの間で2D空間ブロックに広がる、数十の空間正弦波からなる。整数周波数は、複合信号がブロックの両端で連続的であることを保証する。連続信号は、例えば、64×64又は128×128の参照信号を獲得するために、均一に離間した2D点においてサンプリングされる。
【0038】
ブロック34において、本実施形態は、符号化されたペイロード構成要素及び参照信号構成要素の要素に優先度を割り当てる。これは、割り当てられた優先度に従って重み付けを要素に適用することによって実施される。例えば、本方法は、信号要素の振幅値に、それらの要素の光学コード構成要素の優先度に比例する重み付け因子を掛ける。
【0039】
次いで、
図3の実施形態は、ブロック36において、光学コードを二次元空間画像表現へと構築する。
【0040】
図4は、光学コードを構築するための別のプロセスを例証する。これは、
図3の変異形であり、参照信号構成要素は、符号化されたペイロード構成要素の構成で形成される。ブロック40において、この実施形態は、符号化されたペイロード構成要素を生成する。この手法は、
図3の実施形態と類似した、キャリア信号に対する誤り訂正コーディング及び変調を使用し得る。次いで、ブロック42において、この実施形態は、符号化されたペイロード要素を、参照信号構成要素を形成するパターン内へ配置する。この手法の例は、参照により組み込まれる米国特許第9,747,656号に説明される。この手法の変異形において、符号化されたペイロード要素は、固定の参照信号要素と空間的に交互にされる。固定の要素は、参照信号構成要素のパターンを形成する。
【0041】
ブロック44において構成要素に優先度を割り当てるため、本実施形態は、符号化されたペイロードの信号要素及び固定の要素を重み付けする。この手法は、参照信号を形成するように配置される、重み付けされた要素の空間パターンを作り出す(46)。
【0042】
図5は、光学コードを構築するための別のプロセスを例証する図である。これは、
図3の別の変異形であり、参照信号構成要素は、符号化されたペイロード信号要素のキャリアとして機能する。ブロック50において、この実施形態は、
図3のブロック30について上に説明され、
図6においてさらに詳述されるものと同様の様式で、符合化されたペイロード構成要素を生成する。
【0043】
ブロック52において、本実施形態は、符号化されたペイロード信号の要素で参照信号の構成要素を変調する。1つの実装形態において、参照信号は、各々が位相値を有する空間正弦波の集合を含む。ペイロードは、符号化されたペイロード信号要素の値に従って正弦波の位相をシフトすることによって符号化される。1つのプロトコルにおいて、符号化されたペイロード要素は2値であり、それらが、要素あたり2つの異なる値のうちの一方を有することを意味する。一方の2進値は、ゼロ位相シフトで表され、他方は、対応する正弦波のπ(180度)の位相シフトによって表される。他のプロトコル変異形において、符号化されたペイロード信号は、M>2のM値である。M値は、堅牢性制約によって制限され、それが高くなるほど、画像特徴部内で符号化される異なるシンボル値を区別するのは難しくなる。符号化されたペイロードは、位相をM個の対応する位相シフト状態(例えば、0、π/2、π、又は3π/2ラジアン)のうちの1つにシフトすることによって参照信号キャリア構成要素上に変調される。これは、量子化ベースの変調の形態で実施され得、参照信号構成要素の位相は、符号化されたペイロードシンボルに対応する位相シフトビン内に入るように量子化される。
【0044】
参照信号のすべての構成要素がペイロード信号で変調される必要はない。むしろ、参照信号のいくつかのサブセットは、変調されないままであってもよく、この変調されていない構成要素は、検出の第1の段階のための信頼性の高い信号として機能する。例えば、参照信号は、サブセット(例えば、40~60)が固定されたままであり、その他は対応するペイロード信号要素による変調に利用可能である200個の正弦波からなり得る。
【0045】
参照信号を変調するための別の手法は、参照信号構成要素のオンオフキーイングである。この手法において、参照信号正弦波のサブセットは固定され、残りは、オンオフキーイングを使用してデータを伝達するために変調される。このオンオフキーイングにおいて、符号化されたペイロードシンボルは、既定の周波数位置に正弦波を含むか、又は含まないことによって、符号化され得る。各々の符号化されたペイロード要素は、画像タイル内の周波数位置にマッピングされる。ペイロード要素が第1の2進値(例えば、0又は-1)である場合、その要素の正弦波は含まれない。逆に、ペイロード要素が第2の2進値(例えば、1)である場合、その要素の正弦波は含まれる。
【0046】
ブロック54において、本実施形態は、光学コード信号構成要素に優先度を割り当てる。これは、例えば、優先度に従って、選択された正弦波成分に倍率を適用することによって実施される。優先度が高いほど、信号構成要素は、より大きい倍率を掛けることによってより大きい重みが与えられる。加えて、異なる倍率が、固定の参照信号構成要素と変調された参照信号構成要素とに適用されて、より大きい相対的優先度を変調又は固定される参照信号の部分に提供する。
【0047】
ブロック56において、本実施形態は、変調された参照信号構成要素を有する光学コードの空間パターンを生成する。正弦波実施形態の場合、空間パターンを生成する代替の方法が存在する。1つの代替策は、逆高速フーリエ変換(FFT)など、逆周波数領域変換を周波数領域内の複合構成要素に適用することである。別の代替策は、各正弦波成分の空間領域波形から始めて、それらを一緒にして空間パターンを形成することである。正弦波の代替として、良好な自己相関を有するが低いクロス相関である、直交アレイなどの他のキャリア信号が使用されてもよい。これらの直交アレイは、二次元画像タイル内の場所にマッピングする。
【0048】
図3~5の光学コードジェネレータの各々の出力は、空間領域画像ブロックである。ブロックの画素値は、多値化され、例えば、画素あたり8ビットである。この画像ブロックは、信号タイルとして使用され得、この信号タイルが繰り返され、ホスト画像のホスト画像コンテンツと統合されて出力画像を形成する。出力画像は、プリンタ又は他のマーキング設備(エンボッサ、彫刻機、エッチング装置、又は同様のもの)によって基材上にレンダリングされるラベル又は包装デザインである。信号構成要素は、割り当てられた優先度に従って優先順位が付けられる。この優先度は、光学コードが、堅牢性及び視覚的品質制約を最適化する信号優先度並びにドット密度及び間隔に従って、ホスト画像デザインの空間領域に書き込まれることを可能にする。
【0049】
誤解を避けるために、本文書で使用される場合「多値化」は、3つ以上の潜在的な状態を有する要素/画素を指す。例えば、それらは、グレースケール要素(例えば、8ビット表現)であってもよく、又はそれらは、浮動小数点値を有してもよい。
【0050】
これより、
図3~
図5の光学コードジェネレータの部分構成要素について詳述する。
【0051】
図6は、光学コード内で伝達されるべき可変デジタルペイロードを符号化する方法を例証する図である。この章は、先に論じた実施形態における符号化されたペイロード構成要素をどのように生成するかのさらなる例を説明する。
【0052】
処理モジュール60において、データペイロードは、例えば、巡回冗長検査、パリティ、チェックサムなどの誤り検出メッセージシンボルなど、誤り検出ビットを計算するために処理される。同期信号など、ペイロード形式を識別し、検出を促進することに使用されるさらなる固定及び可変のメッセージが、この段階又は後続の段階で追加される。
【0053】
誤り訂正符合化モジュール62は、誤り訂正法を使用して、メッセージシンボルを符号化されたメッセージ要素(例えば、2値又はM値要素)のアレイに変換する。例としては、ブロックコード(例えば、BCH、リードソロモン、又は同様のもの)、畳み込みコード、ターボコードなどが挙げられる。
【0054】
反復符合化モジュール64は、堅牢性を改善するために前のステージからのシンボルのストリングを繰り返す。反復符合化は、除去され、誤り訂正コーディングで完全に置き換えられ得る。例えば、畳み込み符号化(例えば、1/3レートで)及びこれに続く反復(例えば、3回反復する)を適用するのではなく、これらの2つは、ほぼ同じ長さを有するコーディングされたペイロードを生成するために畳み込み符号化によって置き換えられ得る。
【0055】
次に、キャリア変調モジュール66が、前の段階のメッセージ要素を得て、それらを対応するキャリア信号上に変調する。例えば、キャリアは、等しい数の正及び負の要素(例えば、16、32、64個の要素)を有する疑似ランダム信号要素のアレイ、又は正弦波若しくは直交アレイなどの波形であり得る。正及び負の要素の場合、ペイロード信号は、2値対蹠信号の形態である。それはまた、3値(-1、0、1の3レベルの)又はM値信号(Mレベルの)に形成され得る。これらのキャリア信号は、空間領域位置又は空間周波数領域位置にマッピングされ得る。キャリア信号の別の例は、変調スキーム様の位相シフト、位相量子化、及び/又はオン/オフキーイングを使用して変調される、上に説明される正弦波である。
【0056】
キャリア信号は、符号化されたメッセージシンボルをキャリアにわたって拡散することから、さらなる堅牢性を提供する。そのようなものとして、より大きいキャリアアレイの使用は、誤り訂正に用いられる冗長性及び/又は反復コードの必要性を低減する。したがって、誤り訂正コード、反復及びキャリア信号は、所望の堅牢性及びタイルあたりの信号担持能力を達成するタイルの符号化されたペイロード信号を生成するために様々な組み合わせで使用され得る。
【0057】
マッピングモジュール68は、符号化されたペイロード信号の信号要素を画像ブロック内の場所にマッピングする。これらは、画像タイル内の空間的位置であってもよい。それらはまた、空間周波数位置であってもよい。この場合、信号要素は、周波数領域値(大きさ又は位相など)を変調するために使用される。結果として生じる周波数領域値は、空間領域信号タイルを作成するために空間領域へと逆変換される。
【0058】
マッピングモジュール68はまた、参照信号を画像ブロック内の場所にマッピングする。これらの場所は、ペイロードの場所と重複する場合と、そうでない場合とがある。符号化されたペイロード及び参照信号は、信号構成要素である。これらの構成要素は、重み付けされて、一緒に光学コード信号を形成する。
【0059】
ペイロードを正確に回復するため、光学コードリーダは、符号化されたデータペイロード信号要素の、画像内のそれらの場所における推定値を抽出することができなければならない。これは、リーダが、分析下の画像を同期させて、タイルの場所、及びタイル内のデータ要素の場所を決定することを必要とする。場所は、各タイルを形成する二次元ブロック内に配置される。同期装置が、各タイルの回転、スケール、及び平行移動(起源)を決定する。
【0060】
光学コード信号は、明示的及び/又は暗黙的な参照(登録)信号を含む。明示的な参照信号は、符号化されたペイロードと一緒に、例えば、同じタイル内に含まれる、符号化されたペイロードとは別個の信号構成要素である。暗黙的な参照信号は、符号化されたペイロードで形成され、幾何学的同期を促進する構造をもつ信号である。幾何学的同期におけるその役割が理由で、本発明者らは、時に、参照信号を、同期信号、較正信号、格子信号、又は登録信号と呼ぶ。これらは同義語である。明示的及び暗黙的な同期信号の例は、参照により本明細書に組み込まれる、本発明者らの特許第6,614,914号及び同第5,862,260号に提供される。
【0061】
特に、明示的な同期信号の1つの例は、疑わしい信号のフーリエ領域内のピークとして現れる、疑似ランダム位相を有する正弦波のセットからなる信号である。例えば、堅牢なデータ信号と併せた同期信号の使用について説明している米国特許第6,590,996号及び同6,614,914号、並びに第5,862,260号を参照されたい。参照により組み込まれる米国特許第7,986,807号も参照されたい。
【0062】
同じく参照により組み込まれる本発明者らの米国公開第20120078989号及び同第20170193628号は、このタイプの構造を有する参照信号を検出し、回転、スケール、及び平行移動を決定するためのさらなる方法を提供する。米国第20170193628号は、射影歪が存在する場合にさえも、光学コードリーダを同期させること、及び、検出フィルタでデジタルペイロードを抽出することのさらなる教示を提供する。
【0063】
暗黙的な同期信号の例、及びそれらの使用は、参照により組み込まれる米国特許第6,614,914号、同5,862,260号、同6,625,297号、同7,072,490号、及び同9,747,656号に提供される。
【0064】
図7は、光学コード構成要素の画像タイルの部分70を例証する図である。この部分は、各々がここではグレースケール値として描写される値を有する、画素のアレイ(例えば、72)からなる。タイルのこの部分は、15×15画素を有する。光学コードのために使用されるタイルサイズ及び寸法のさらなる例を下に提供する。
【0065】
この構成要素は、参照信号構成要素、符号化されたペイロード構成要素、又はペイロードで符号化される参照信号として使用され得る。これはまた、参照信号構造内に配置される符号化されたペイロード信号として使用され得る。
【0066】
例証の目的のため、この部分70が参照信号構成要素である例を提供する。後の図に例証されるこの例を通じて、参照構成要素及びペイロード構成要素がどのようにして形成され、優先順位が付けられ、結合されて高密度光学コード信号タイルを形成するかを説明する。光学コードのこのような状態を「高密度」と呼ぶが、これは、よりスパースである可変空間密度での変換バージョン(所望のドット密度でのスパースコード信号)を生成するためにそれを使用するという意図のためである。所望のドット密度を達成するため、この高密度光学コード信号タイルは、次いで、コード信号要素の優先度に基づいて空間パターン内にマッピングされる。この例では、参照信号は、
図7に描写されるように、空間領域画像に変換される正弦波を含む。これらの正弦波は、空間周波数領域内でピークを形成する。同様の効果は、同じく空間周波数領域内にピークを形成する冗長性を有する、固定又は符号化されたペイロード要素の空間パターンを使用することによって達成され得る。
【0067】
図8は、符号化されたペイロード信号のタイルの部分74を例証する図である。この部分74は、画素値が黒又は白のいずれかの2値である画素のアレイ(76)である。これらの値は、キャリア上に誤り訂正コーディングされたペイロードの2進値の各々を変調し(例えば、PN配列)、結果として生じる変調されたキャリア信号要素を画素の場所にマッピングすることによって伝達される符号化されたペイロード信号に対応する。その結果が、符号化されたペイロード信号であり、その一部が
図8に描写される。
【0068】
図9は、
図7の光学コード構成要素の空間解像度に変換される、
図8の符号化されたペイロード信号74の図である。参照信号と結合する前に、符号化されたペイロード構成要素74は、光学コードがホスト画像内に挿入される目標解像度に空間的にスケーリングされる。この目標解像度はまた、ホスト画像が物体上にレンダリングされる解像度であり得る。この例では、参照信号は、ホスト画像内への挿入のための目標解像度で生成され、符号化されたペイロード信号は、同じ目標解像度にスケーリングされる。この解像度は、例えば、多くの感熱ラベルプリンタでは1インチあたり203ドットであるか、又は、他の商用印刷機では1インチあたり300ドット若しくはそれ以上である。これらは単に例であり、目標解像度は、用途及び用いられる印刷技術により様々である。共一次若しくは三次補間、ランチョスリサンプリング、又は同様のものなど、サイズ変更のために使用される様々な技術が存在する。符号化されたペイロード信号のこの空間スケーリングは、目標のインチあたり要素解像度で画素を有する
図9の右に示されるものなどの画像76をもたらす。画像76の15×15画素アレイ内の画素のグレースケール描写は、画素がもはや2値化されないことを反映する。
【0069】
図10は、高密度複合コード信号78を得るための参照信号構成要素70及び符号化されたペイロード(メッセージ)構成要素76の組み合わせを例証する図である。
【0070】
この例では、参照信号要素70は、レンダリングシステムの目標解像度で、対応する符号化されたペイロード信号要素76に追加される。これは、ペイロード構成要素をアップサンプリングすることを必要とし、これにより、黒又は白ではなく、中間値、即ち、グレーのいくつかの画素要素をもたらす。(同様に、ここでは双三次補間アルゴリズムによって行われるアップサンプリングは、信号値のいくらかのオーバーシュートをもたらし、結果として+1超及び-1未満のいくつか値を生じる。)要素の優先順位付けを行うため、参照構成要素又はペイロード構成要素のうちの一方に、参照信号の符号化されたペイロード信号に対する相対的な重み付けを表す重み付け因子を掛ける。この例では、ペイロード構成要素76は、0.1253の係数によって重み付けされ、参照構成要素70と合計されて、高密度の複合光学コード信号78を形成する。結果として生じる値の大きさは、光学コード信号78の個々の要素の優先度を確立する。
【0071】
図10は、浮動小数点形式で構成要素及び複合信号値を示す。ブロック70、76、及び78の各々の右側は、対応する要素値を示すグラフ尺度である。
【0072】
図11は、高密度複合光学コード信号の、その光学コード要素の優先度及び空間制約(例えば、要素間隔及び信号密度)に従った、出力画像80へのマッピングの図である。このマッピングでは、マッピング方法は、要素の優先度に従って出力画像80の画素の場所を充填し、最も高い優先度要素がまず充填され、その後に次に高い優先度の要素を充填する。加えて、充填プロセスは、ドット間の最小距離などの間隔(配置)制約を順守する。構成要素の優先度及び配置の両方は、
図2を参照して上に説明される方法を使用して、特定のドット密度のために最適化される。マッピングの出力は、目標解像度での2値化画素からなる、光学コードの空間パターンである。2値化画素は、光学コードを基材に適用するために基材にマークされるドットに対応する。高密度光学コードの冗長的に符号化された信号内において、高密度信号のピークが、堅牢性及び信頼性を達成するためにスパースな信号内に保持するのに最も重要であるということが分かった。正及び負のピークが存在する。これらが画像の輝度において伝達されるとき、これらの正及び負のピークは、高い輝度値及び低い輝度値に対応する。同じことは、光学コードが、カラー画像又はスポットカラーの色又は彩度成分(例えば、CMY)などの色チャネルにおいて伝達される場合においても当てはまる。1つの手法では、マッピングは、相対的により高い輝度基材上の暗い画素(低輝度)に対応するピークを保持する。この手法は、
図11に反映されており、暗い画素(例えば、82)は、負のピークに対応する。
【0073】
この手法は、相対的により高い輝度領域の周りの暗い画素の構成により形成される「穴」として、正のピークを符号化することによってさらに増強され得る。より高い輝度基材上では、穴は、正のピークに位置する空の画素の周りに暗い画素をマークすることによって形成される。この空の画素は、より明るい基材又はインク層が露出されることを可能にし、その結果として、イメージングされるとき、この空の画素が、その近隣の画素値に対してピークを反映する。
【0074】
これより、光学コードパラメータを最適化するための
図2のプロセスをさらに詳述する。
図12は、特定のドット密度にある光学コードのためのドット間隔及び信号構成要素優先度を最適化するためのプロセスの例を例証する図である。所望のドット密度のために最適化され得る追加のパラメータは、ドットサイズである。この例では、ドット間隔は、ドット距離として表される。優先度は、信号構成要素の相対的優先度として表される。この優先度の例は、
図10と関連して説明される構成要素の相対的重み付けである。これらの優先度及び間隔パラメータは、優先度及び間隔パラメータのいくつかのパラメータ空間座標の各々における光学コードを生成して、テスト画像のセット内の各テスト画像内に挿入する訓練プロセスにおいて導出される。
【0075】
図12は、これらのテスト画像の堅牢性測定値のプロットを例証する。縦軸は、光学コードのドット間の最小距離であるドット距離である。横軸は、信号構成要素の、具体的には参照構成要素及び符号化されたペイロード信号構成要素の、相対的優先度である。テスト画像の堅牢性測定値は、円(例えば、84)として示され、堅牢性測定値は、グレースケール値で描写される低値(黒)から高値(白)に及ぶ。
図2及び参照特許文献と関連して記されるように、堅牢性予測プログラムは、所与のレンダリング及びスキャンプロセスについてテスト画像の堅牢性を予測するために使用される。これらの参照文献は、単位面積あたりの予測されるコード検出、スコアと称される包装及びラベルのための堅牢性測定値、並びにシミュレートされた劣化及びスキャンモードに応じた堅牢性を予測するためのメトリックに関するさらなる詳細を提供する。
【0076】
堅牢性予測プログラムは、それがテスト画像内で作製する検出測定の複合である、テスト画像のための堅牢性測度をもたらす。挿入プロセスは、テスト画像内に光学コードのタイルを再現する。この信号の再現及びタイル内の信号冗長性は、堅牢性プログラムが、信号タイルよりも小さい画像ブロック領域内の検出メトリックを計算することを可能にする。参照信号相関及びペイロード回復メトリックを含む、これらの検出メトリックは、空間領域ごとに計算され、画像捕捉(例えば、スワイプ動作又はマーク付き物体のカメラへの静的提示)を考慮する関数に従って、合算されて堅牢性スコアになる。ここでは、光学コードは、米国特許第9,690,967号に参照されるデジタル透かし信号技術と互換性がある。これは、これらの文書に説明される透かし信号の信号検出が、本明細書に説明される光学コードにも適用するという意味で互換性がある。光学コードは、より明るい領域ではスパースなドット、及び/又は、包装若しくはラベルデザインの空の領域若しくは濃い領域では穴の形態で、互換性のある信号を伝達する。この光学コードを包装又はラベルデザインに適用するためのプロセスは、所望のドット密度にある光学コード要素を有するデザインで領域を充填する。
【0077】
図13は、テスト画像から測定される堅牢性メトリックに基づいて、
図12の例における最適なパラメータの選択を例証する図である。この例では、最適化方法は、ドット距離=4、0.7の相対的優先度の座標における、パラメータ空間内の場所(86)を、この場所が信頼性のしきい値を超える堅牢性測度を有することから、選択する。特に、この例では、この場所は、訓練プロセスで使用されるパラメータ範囲について、測定された堅牢性スコア内の最大値を提供する。
【0078】
1つの実装形態は、最適な堅牢性を提供するパラメータ空間内の場所を検索する。それは、テスト画像の訓練セット内の各画像についての最大堅牢性を提供する、パラメータ空間内の場所を計算することによってこれを行う。パラメータ空間は、座標が、ドット距離、ドットサイズ、ドット密度、及び信号構成要素の相対的優先度など、画像に対して変化するパラメータの値である空間として規定される。次いで、最適化方法は、テスト画像の各々の最大堅牢性の場所までの距離を最小限にする、パラメータ空間内の場所を見出す。
【0079】
図14は、所望のドット密度を達成するように空間領域内に光学コードの要素を形成する方法を例証するフロー図である。この方法は、優先順位付けされた構成要素を有する、
図10に描写されるもの(例えば、78)などの高密度の複合光学コードで始まる。この例では、優先度は、光学コード内の要素値の振幅によって指定される。本方法は、目標空間密度を達成するように光学コードの要素を出力画像の空間的位置にマッピングすることに進む。マッピングプロセスは、振幅に基づいて出力画像内の光学コードの要素の形成を優先順位付けする。より明るい領域に暗いドットを置く場合、プロセスは、光学コード内の最も暗い要素値から最も明るい要素値の順に進む。逆に、より暗い近隣領域に穴を形成する場合、プロセスは、最も明るい要素から最も暗い要素の順に進む。したがって、一般化するために、本説明では両方の場合を網羅するために最大値(max)という用語を使用し、プロセスが振幅に基づいて決定される優先度順に要素値をステップスルーする際、最大値(maxima(maxと略される))は、最も暗い又は最も明るい残りの要素値を指し得るという見方を伴う。
【0080】
ブロック90において、マッピング方法は、高密度光学コード内の多値画素値の中から最大値を見出すことによって始まる。優先度順の発見を実施する効率的な方式は、光学コードの画素値を振幅によってソートし、次いで振幅の順にステップスルーすることである。プロセスの反復内で訪問されている値は、
図14では現在の最大値と呼ばれる。現在の最大値について、プロセスは、出力画像内で以前に形成された最も近い要素との現在の最大値の場所の間隔をチェックする(92)。
【0081】
この場所が最小相互間隔距離を満足する場合(94)、プロセスは、出力画像内の場所にドットを形成する(96)。ドットは、出力画像の目標空間解像度にある光学コードのためのドットサイズ及び形状パラメータセットに従って置かれる。現在の最大値の場所が最小間隔要件を満足しない場合(94)、本方法は、高密度光学コード内の残りの要素の中から次の最大値に進み(98)、ドットは現在の最大値の場所に形成されない。配置プロセスは、目標空間密度が満たされるまでこの様式でドットを置き続ける。
【0082】
より暗い周辺要素の中央により明るい「穴」を形成するプロセスは、最大値が光学コードの最も明るい要素値に対応するという点を除き、同様の方式で進む。穴は、出力画像位置に画素値を、その場所にインクが適用されないか、又は近隣の場所にあるより暗いインクに対するより明るいインクが適用されるように設定することによって形成される。いくつかの変異形において、ドット及び逆のもの(穴)の両方は、最小間隔要件を満足する離間した場所に形成される。これは、光学コードのより多くの信号が出力画像内に保持されるため、信号担持能力及び信号堅牢性を増大するという利点を有する。
【0083】
図15~
図22は、このプロセスを、1次元で高密度光学コードを表す波形100によりグラフで例証する。離散的なデジタル形式において、高密度光学コード信号は、目標空間解像度でサンプリングされる、画素の場所の二次元アレイのためのレベル(例えば、8ビット値の場合は0~255)に量子化される。波形100は、最小値102、104、及び最大値106、108、110を有する。シグナリングスキームに応じて、最小から最大への値は、最も暗いものから最も明るいものに及ぶか、又はその逆である。例証の目的のため、最小から最大への値が、最も暗いものから最も明るいものに及ぶ例を説明する。
【0084】
図16は、出力画像内に光学要素を形成するプロセスの開始を描写する。述べられるように、
図14の方法は、優先度の順に要素を形成し、優先度は、振幅で伝達される。波形100に向かって動く線112は、振幅の順で光学コードの要素を訪問する手法を描写し、最小値から始まり上方に進む。
図16は、光学コードの波形をその元の空間構成で示すが、その離散的な振幅値は、好ましくは、振幅によってソートされ、その結果として、本方法は、ソートされたリストをステップスルーすることによって効率的に前進する。
【0085】
図17において、プロセスは、最も暗い要素を見出す(102)。
図18に示されるように、光学コード要素は、この場所に形成され(102)、リング114内に描写される最小間隔は、本方法が出力画像内に光学コードのさらなる要素を形成するときに実施される。最小距離は、ドット要素102の外縁と光学コード信号から形成される最も近い近隣ドット要素との間の最小距離である。
【0086】
図19は、次に高い優先度を有し、最小間隔制約(リング120、122によって例証される)も満足する、光学コード内の場所における2つの追加要素(116、118)の配置を描写する。本方法が進むと、これは、
図20に示されるような場所124における別の極小値の場所にある出力画像内のドットを訪問し、形成する。この例は、本方法がどのようにして信号ピーク周辺の出力画像内の光学コード信号要素の要素の配置を優先順位付けするかを例証するが、それは、これらのピークが光学コードの堅牢性及び信頼性において最も重要である信号構成要素を伝達するためである。この点をさらに描写するため、
図21は、最小値102(
図15)の周辺の別のドットである次に高い優先度にある別のドット126の形成を示す。本プロセスは、出力画像内の光学コード要素を形成することからのドット密度が、所望のドット密度に達するときに完結する。
図22は、一次元でのドットの配置を示すが、本プロセスは、二次元出力画像タイルでのドットの配置に適用する。
【0087】
多くの用途にとって、マッピングされた光学コード要素を含む出力画像は、ホスト画像と統合され、次いでこれが基材に印刷されるか、又は別の方法でマークされる。
図23~
図24は、この出力画像がラベルテンプレートから生成されるラベルデザインと統合される例を例証した。ラベルデザインは、上部のブランド識別子及びロゴなどのプログラム可能な要素、並びに製品情報を提供するテキストを含む。ラベルデザインはまた、重さ及び価格など、スケール内に動的に生成された情報を含む。
【0088】
光学コードの出力画像(例えば、目標空間密度におけるその「スパースな」形式)を、ラベル又は包装デザイン画像などのホスト画像と統合するためのいくつかの戦略が存在する。各々において、目標空間解像度にある光学コードのタイルは、ホスト画像全体にわたって連続ブロック内に複製され、次いでホスト画像と統合される。統合のための1つの方法は、光学コード画像をホスト画像と重ねることである。例えば、ドット要素は、ホスト画像内に置かれる。ホスト及び光学コードタイルの両方が2値であるため、ホスト又は光学コードのいずれかがドットを有する場合、プリンタはドットを印刷する。別の方法は、重要なテキストコンテンツ(価格及び重さなど)の文字の境界からの侵入禁止距離を順守しながら、光学コードの要素がホスト画像内に形成されるというインテリジェントオーバーレイを行うことである。より詳細には、ドット要素は、それが重要なホスト画像文字又は図形(従来のバーコード線など)の外側境界から予め定められた侵入禁止距離内にあるところを除いて、光学コードのすべての場所に置かれる。(重要なテキスト及び他の図形の周辺のそのような侵入禁止保護帯域は、先に参照される、公開第20170024840号に詳述されている。)
【0089】
さらに別の手法は、光学コードが、重要でないホスト画像情報よりも上に優先順位が付けられるように、光学コード要素の場所にあるホスト画像を変調することである。光学コードは、例えば、光学コード信号の出力画像に対応するドット又は穴でホスト画像を変調することによって形成される。ドットは、光学コードの暗い要素を符号化するために置かれ、穴は、光学コードの明るい要素を符号化するために形成される。
【0090】
図23は、光学コードの出力画像がタイル化され、次いで統合されているラベルの例を例証する。これは、感熱印刷されたラベルの描写であり、列の一部がゼロに設定されており、これは印刷ラベルをもたらした感熱プリンタの印刷要素の故障に対応する。熱印刷要素が故障すると、それはもはや、その印刷要素を通過するラベルストックの列に沿ってラベルをマークしなくなる。本発明のテストは、所望の空間密度のために光学コードを最適化するための本発明の方法が、印刷要素の故障に起因する情報の損失に対する改善された堅牢性を達成することを明らかにする。
【0091】
図24は、要素のさらにより太い列がゼロに設定されている(ドット要素が印刷されないことを意味する)、光学コードと統合されるラベルデザインの例を例証する。ここでも、この場合、本発明の方法は、画像劣化にもかかわらずペイロードがきちんと符号化されることを可能にする、改善された堅牢性を提供する。
【0092】
図25は、光学コードのタイルがテキストと統合されているさらに別の例である。本発明者らは、様々なフォントサイズで示されるようなテキストと統合された光学コードをテストし、様々なフォントサイズにわたって増大された堅牢性を見出した。フォントサイズ及びテキスト密度は、光学コードの異なる空間密度で光学コードのパラメータを最適化するために使用されるテスト画像内に含まれ得るさらに追加の特徴である。
【0093】
光学コード信号構成要素の優先順序付け
【0094】
元の状態の高密度光学コードのホスト画像のアートワークへの変換は、光学コードのデータ信号の損失を結果として生じる。これは、この変換が、高密度データ信号タイルの部分が、よりスパースな空間密度(タイルあたりより低いドット密度)に変換されるときに、それを除去する、又は歪ませることが理由で起こる。加えて、出力画像が挿入されるホスト画像のテキスト、図形、及び他の画像コンテンツが、光学コードを妨害し得る。図形要素のスパース性が増大すると、データ信号要素は除去又は変更され、これが堅牢性を低減する。これは、出力の所与のタイル領域内のデータチャネルの容量を低減する。
【0095】
データ信号をアートワーク内に組み込むことは、アートワークのデータチャネル内の信号構成要素の優先順位付けにも影響を及ぼす。これは、アートワークが信号構成要素を別様に妨害し得ることが理由で起こる。加えて、信頼性の高い検出を達成するために参照信号(例えば、同期信号)及びペイロード信号のために設けられる信号容量の量は、アートワークデザインにより変化する。したがって、信号構成要素の比率は、アートワークのために適合されなければならない。
【0096】
ここでは、堅牢性の損失に対抗するように信号構成要素を優先順位付けするための戦略について論じる。
図26は、データ信号を最適に担持するアートワークを生成することに使用する前にデータ信号の要素を重み付けする方法を例証する図である。光学コード信号ジェネレータは、信号構成要素を生成する。これらは、ペイロードビットのサブセットを担持する構成要素(130)、及び参照信号(例えば、同期信号)を提供する構成要素(132)を含む。ブロック134において、光学コード信号ジェネレータは、構成要素を、それらの優先度に従って重み付けする。この優先度は、次いで、データ信号要素のうちのどれが保持されるかを制御するために、アートワーク生成において使用される。
【0097】
光学コード信号のタイルを担持するようにホスト画像を適合するための1つの手法において、ホスト画像に光学コード信号を挿入するためのプロセスは、候補アートワークデザインのためのペイロード構成要素及び参照構成要素に対する異なる重み付け、並びに挿入戦略を用いて実行される。これにより、データ信号を担持するアートワークのいくつかの変異形を得る。各変異形のさらなる並べ替えは、次いで、画像シフト、回転角度、減少及び拡大する空間スケール、雑音追加、ぼやけ、並びに印刷要素故障のシミュレーションに従って、アートワークを歪ませることによって生成される。同期のための参照信号との相関及びメッセージ信号との相関の両方に基づいた堅牢性測度は、各アートワーク変異形について計算され、記憶される。加えて、光学コードリーダは、各変異形に対して実行されて、それがペイロードをきちんと復号するかどうかを決定する。次いで、構成要素重み付け及び堅牢性メトリックしきい値が、ペイロード復号の成功をもたらす構成要素の配分比率を分析することによって導出される。この配分は、どの比率及び堅牢性メトリック値が信頼性の高い検出をもたらすために必要とされるかを例証する。これらの比率及び堅牢性メトリックは、次いで、候補アートワークデザイン、及び自動データ符号化プログラムにおける信号符号化方法のために使用される。
【0098】
別の手法は、スパースなアートワーク内のデータ信号を最適化する。スパースなアートワークに対応するため、データ信号もまたスパースであり、スパースなアートワークと一致するように構造化される。スパースなデータ信号は、2値(0、1)、3値(-1、0、1)、又は他の粗い量子化であり得る。スパースな信号は、典型的には、低密度、即ち、50%未満のインク、又は50%未満の空間である。そのような信号は、50%で最大堅牢性を有するため、いかなる最適なスパースなアルゴリズムも、インク/空間密度が50%の方へ向かうにつれて堅牢性が増大するはずである。
【0099】
スパースな信号は、2値又は3値信号を作成するためにしきい値を使用することによって堅牢性を維持する。これらの2値又は3値信号は、検出フィルタが、所望の信号位置で最大値を返すことを確実にする。アートワーク内のスパースな場所間で、検出フィルタは、画像捕捉によってもたらされるランダム雑音(具体的には、スキャナ又はカメラ雑音)に起因する最大の負の出力と正の出力との間のガウス分布を出力する。ガウス幅は、画像捕捉処理に含まれるぼやけの量などの因子に依存する。
【0100】
スパースな信号の最適化の間、少量のフィルタされた雑音が、画像捕捉デバイスの雑音に起因して検出フィルタが非ゼロ値を所かまわず作成するということを考慮して追加される。スパースな信号の最適化パラメータは、ペイロード信号に対する参照信号の重み付け、要素配置規則(例えば、最小要素間隔)、及びしきい値を含む。2値信号の場合は単一のしきい値が存在する。それは、低インク密度<50%では負のしきい値、高インク密度>50%では正のしきい値である。3値信号の場合は二重の正及び負のしきい値が存在する。堅牢性目標は、高密度信号とスパースな信号とで同じである。具体的には、それは、目標とするワークフロー環境における検出堅牢性であり、これは、符号化されたアートワークに対する歪によりモデル化される。
【0101】
データ信号マッピング
【0102】
図27は、データ信号要素をホスト画像アートワーク内の場所にマッピングする方法を例証する図である。この実施形態において、先に論じた信号生成からの最適化されたデータ信号構成要素136は、ホスト画像アートワークの場所138にマッピングされる。処理モジュール140において、図形要素は、アートワークの場所において、生成され、及び/又は適合される。図形要素は、インクなどのマーキングを除去すること、又はある場所に追加することによって形成される。同様に、前から存在するアートワークは、コードを運搬する輝度又はクロミナンス変化をもたらすために、その場所にマッピングされるタイル内の光学コード信号に従ってマーキングを修正、追加、又は除去することによって適合される。
【0103】
図6の方法を適用すると、ペイロードは、2進数列にフォーマッティングされ、これが、符号化され、タイルの場所にマッピングされる。例証のため、ビットセルのN×Mアレイの実装形態を説明する。パラメータN及びMは、整数であり、タイルは、ビットセルのN×Mアレイからなる。タイルのサイズは、構成可能であり、単位面積あたりのペイロード容量、堅牢性、及び可視性などの用途要件に依存する。ペイロード容量は、単位面積あたりのビットセルの増加に伴って単位面積あたりに増加する。この追加の容量は、複数のビットセル内でペイロードを冗長的に符号化することによって堅牢性を改善するために使用され得る。可視性は、HVSがより高い空間周波数では変化に対して感受性が低いため、より高い空間解像度(ビットセルのより高い空間密度)では減少する傾向がある。ビットセルアレイサイズの例は、64×64セル、128×128セル、256×256セル、及び512×512セルを含む。これらの各々は正方形であり、2の累乗の寸法を有するが、タイルは、そのように制限される必要はない。ビットセルは、タイル内の空間的位置に対応する。特に、空間的位置は、75~600DPIなどの構成可能な空間解像度にある画素サンプルに対応する。ペイロードは、ホスト画像アートワークの連続タイル内で繰り返される。ペイロードのインスタンスは、各タイル内で符号化され、タイルあたりのビットセルの数及び空間解像度に依存するサイズを有するアートワークのブロックを占有する。タイルは、いくつかの連続タイル内で冗長的に符号化されて、検出器がタイルにわたるペイロードの信号推定値を蓄積すると、さらなる堅牢性を提供する。加えて、ペイロード全体は、サブタイル領域内で冗長的に符号化される構成にあるタイルの一部分から抽出され得る。
【0104】
いくつかの例は、タイルのこれらのパラメータを例証するのに役立つ。タイル内のビットセルの空間解像度は、インチあたりのセル(CPI)に関して表現され得る。この表記は、典型的にはインチあたりのドット(DPI)に関して表現される画像内の画素にビットセルを空間的に関連させる簡便な方法を提供する。例えば、75CPIのビットセル解像度とする。タイルが、300DPIの画素解像度を有する画像へと符号化されるとき、各ビットセルは、300DPI画像内の画素の4×4アレイに対応する。別の例として、150CPIにおける各ビットセルは、300DPI画像内の2×2画素の領域、及び600DPI画像内の4×4画素の領域に対応する。ここで、N×Mビットセルに関してタイルサイズを検討し、ビットセルのサイズを設定する場合、ビットセル寸法にタイルの水平次元及び垂直次元あたりのビットセル数を掛けることによってタイルサイズを表現することができる。以下は、異なるCPIについてのインチでのタイルサイズ、及び1つの次元におけるビットセルの数Nの例の表である。この場合、タイルは、N×Nビットセルの正方形アレイである。
【表1】
【0105】
これらの例は、タイルサイズが、タイルあたりのビットセル及びビットセルの空間解像度により変化することを例証する。開発者は、データ容量、堅牢性、及び可視性に関して、用途の必要性に基づいてタイルのパラメータを選択し得るため、これらは制限することは意図されない。
【0106】
符号化されたペイロードをタイル内のビットセルの場所にマッピングするためのマッピング関数についていくつかの代替策が存在する。1つの手法においては、上の最適化プロセスからの優先順位付けされた信号構成要素は、タイル内の場所にマッピングされる。別では、それらは、上に組み込まれる米国特許第9,747,656号に説明されるように差分符号化されたビットセルのビットセルパターンにマッピングされる。後者の場合、タイルサイズは、差分符号化されたビットセルのパターン内の各々の符号化されたビットの差分符号化に適応させるために増大され得、ビットセルは、目標解像度(例えば、300DPI)での埋め込み場所に対応する。
【0107】
明示的な同期信号構成要素の場合、マッピング関数は、同期信号の離散的デジタル画像をホスト画像ブロックにマッピングする。例えば、同期信号が、疑似ランダム位相を有するフーリエ大きさピーク又は正弦波のセットを含む場合、同期信号は、タイルと同一の広がりを持つブロックサイズで空間領域内に生成される。この信号構成要素は、上に説明される最適化プロセスにおけるペイロード構成要素に対する優先度に従って重み付けされる。
【0108】
グレースケール像を近似することにおける光学コード信号タイルの使用
【0109】
良く知られているように、グレースケールの新聞写真は、白色背景に黒色ドットを使用して、又はその逆で、2色形式で表され得る。これは、多くの場合、ハーフトーニングと呼ばれる。そのため、グレースケール写真もまた、スパースなマークでレンダリングされ得る。
【0110】
この章は、本発明者らの米国特許第6,760,464号において先に詳述される研究を踏まえる。この特許は、デジタル透かしの形態にある光学コード信号が、デジタル透かし信号をハーフトーン画面として使用することによってハーフトーン画像に埋め込まれ得るということを教示する。1つの特定の実施形態において、透かしブロックは、ミッドグレー平均値(即ち、8ビットシステム内では128)を有する高密度透かしブロックに異なるしきい値を適用することによって、異なる暗さレベルで作成される。ホスト画像内の各画素において、グレーレベルは、しきい値に対応し、このしきい値が今度は、その場所における高密度透かし信号に適用されて、その場所にドットを置くか否かを決定する。
【0111】
本技術の1つの実施形態において、異なるドット密度(インクカバレッジ)の様々な光学コードブロックは、事前に計算されて、ルックアップテーブルに記憶される。ホスト画像内の各画素において、対応するブロックは、ルックアップテーブルからアクセスされ、ブロック内の画素の場所によりインデックスされる画素は、出力画像にコピーされる。この様式では、所望のグレースケールレベルにある光学コード信号からの選択された画素は、ホスト画像グレースケール値を表すために使用される。
【0112】
図28Aは、椅子の例示的なグレースケール画像を示す。(特許図面複製の制限に起因して、これは実際にはグレースケール画像ではないが、効果は同様である。)
図28Bは、スパースなブロックから本方法によってレンダリングされる椅子の脚を示す拡大された抜粋を示す。元画像内の各グレースケール画素は、光学コードブロックのタイル化アレイ内の位置と関連付けられる。ドットは、その画素(グレースケール)レベルに対応するドット密度を有する、ルックアップテーブル内の光学コードマーク内のその位置を調べることによって、出力フレームに書き込まれるか、又は書き込まれない。
【0113】
図29は、グレースケールレベルと2値パターンマーキングとの対応を示す(マーク又はマークなし)。0~127の間のグレースケールレベルは、黒色背景上の白色ドットによって形成される(0%~50%の範囲のドットカバレッジ)。128~255の間のグレースケールレベルは、白色背景上の黒色ドットによって形成される(50%~0%の範囲のドットカバレッジ)。1~254の254個のグレースケール値の各々について異なる2値パターンが存在し得る。又は、複数のグレースケール値が、単一のスパースなパターンにマッピングされ得る。例えば、0~15のグレースケール値は、最も暗い2値パターン(例えば、97%の平均インクカバレッジを有する)にマッピングし得、値16~31は、次に最も暗い2値パターン(例えば、91%の平均インクカバレッジを有する)にマッピングし得る、というように、最も明るい2値パターン(例えば、3%の平均インクカバレッジを有する)にマッピングし得る240~255の値まで続く。
【0114】
図28Aに戻ると、非常に暗い階調において、及び非常に明るい階調においては、それほど光学コード信号が存在しないということを認識されたい。したがって、カメラが、参照番号481周辺の暗い領域だけを含む画像を捕捉するためにズームインされる場合、光学コードの復号は困難又は不可能であり得る。参照番号482周辺の明るい領域も同様である。しかしながら、カメラが他の領域を含む区域を捕捉する場合、ペイロードは、容易に回復され得る。
【0115】
この方法による複製の忠実性は、部分的に、光学コードドットの要素サイズに依存する。
図30Aは、各ドットが単一の画素である、2値形式に変換された、グレースケールのライオン写真の抜粋を示す。
図30Bは、同じ抜粋を示すが、各ドットが画素の4×4セルである。(前者は、時に「隆起サイズ1」と呼ばれ、後者は、時に「隆起サイズ4」と呼ばれる。)審美的には、最小隆起サイズが所望され得るが、それは、ブロックを物理的に最小の空間広がりに詰める。そのようなものとして、それは、カメラが、信号検出/復号のために印刷対象物の比較的近くに置かれることを必要とする。多くの場合、印刷される物体との相互作用の人的要因、例えば、スマートフォンは、より大きい読み取り距離が使用されるべきであることを示し、隆起サイズ2及び3の共通使用をもたらす。
【0116】
グレースケール像を近似することにおける光学コードの使用に関するさらなる詳細
【0117】
さらなる実施形態において、参照信号及びメッセージ信号は、
図10~22に関連して上に論じられるように、所望の重み付けで結合されて、高密度グレースケール信号を生じる。N個の異なるレベルの印刷密度が規定され得る。例えば、Nは、19であってもよく、5%、10%、15%、…95%のインクカバレッジに対応する。5%印刷密度は、画素の5%がマークを有するまで、侵入禁止距離制約の影響下で、最低値画素を選択することによって達成される。10%、15%などについても同様である。
【0118】
95%カバレッジは、画素の5%が白色でマークされるまで、侵入禁止距離制約の影響下で、黒色背景上にマークするための最高値画素(最も白い)を選択することによって達成される。90%、85%などについても同様である。
【0119】
特定の実施形態において、異なる印刷密度は、異なる侵入禁止距離を設定することによって達成される。5%印刷密度では、侵入禁止距離D1が維持される。10%密度では、侵入禁止距離D2が維持され、D2≦D1である。15%密度では、侵入禁止距離D3が維持され、D3≦D2である、などである。
【0120】
印刷密度スペクトルの反対側ではすべてが逆数であり、白色マークが黒色背景上に形成される。95%印刷密度では、侵入禁止距離D19が維持される。90%印刷密度では、侵入禁止距離D18が維持され、D18≦D19である。このように続く。
【0121】
すべてではないがいくつかの実施形態において、D1=D19、D2=D18などである。
【0122】
そのような構成を実装するため、高密度グレースケール信号内の画素値は、値によってソートされ、それらのそれぞれの場所と関連付けられる。5%印刷密度領域は、侵入禁止距離を値D1に設定することによって達成され得る。高密度信号内の最低値のグレースケール画素は、暗いマークとして、出力フレーム内の対応する位置にコピーされる。高密度信号内の次に最も低い値の画素は、それが前の画素から少なくともD1画素離れているかどうかを決定するために調べられる。そうである場合、それは、暗いマークとして、出力フレーム内の対応する位置にコピーされ、そうでない場合、それはスキップされる。高密度信号内の次に最も低い値の画素は、次に、それが以前にコピーされた画素から少なくともD1画素離れているかどうかを決定するために調べられる。そうである場合、それは、暗いマークとして、出力フレーム内の対応する位置にコピーされ、そうでない場合、それはスキップされる。このプロセスは、出力フレーム内の画素の場所の5%がマークされるまで続く。
【0123】
10%印刷密度領域は、侵入禁止距離をD2画素に設定することによって達成される。10%インクカバレッジでマークされる印刷密度領域を生成するために、同様のプロセスが続く。15%印刷密度領域は、侵入禁止距離をD3画素に設定し、プロセスを繰り返すことによって、同様に達成され得る。
【0124】
侵入禁止距離制約は、50%印刷密度、及び近くの値では困難になる。50%密度は、等しい数の暗いマーク及び白色マークを必要とし、いくつかは、斜めであっても、隣接しなければならない。最もスパースな50%パターンは、チェッカー盤、又はその逆である。
【0125】
ミッドグレー値をスパースに変換することにおいて、デザイナは異なる道筋をとり得る。1つは、単純に従来のディザパターン(例えば、均一な50%チェッカー盤)を採用して、そのような領域内の情報を符号化しないことである。もう1つは、隣接部にかまわずに、高密度信号ブロック内の場所の最も暗い50%に暗いマークを置くことである。これは、斑点があるという効果を生じるが、強い符号化信号を提供する。他の構成では、2つの方法が組み合わせて使用され得、いくつかの領域は、規則的な見た目の外観のために選択されるディザパターンを使用し、他の領域は、空間的均一性にかまわずに、高密度信号の最も暗い50%に基づいてマークされる。
【0126】
前者の場合、印刷密度の関数としての信号強度は、M字形状の曲線を有し、1~3%及び97~99%の印刷密度では信号強度は小さく、50%では全くなく、これら2つの値の間がピークになっている。後者の場合、信号強度は、単一ローブ状であり、50%で最大、並びに0%及び100%で0に傾く。
【0127】
侵入禁止領域は、一般的には、ある程度円形と考えられるが、それらはそうである必要はない。
【0128】
楕円形の侵入禁止領域が用いられる場合、より細かい制御粒度が達成され得る。そのような楕円形状は、円形侵入禁止領域のものの2倍の制御粒度を提供する。(いくつかの実施形態において、長軸対短軸の比率は固定され、他の場合では、それは楕円形の面積が変わると変化する。)
【0129】
依然としてさらなる制御粒度を達成するために、マーキングから特定の数の近くの画素を除外するように調整されるパターンが用いられ得る。マーキング密度はこの章では印刷密度として言及されるが、それらは、エンボス加工、エッチング、及び彫刻のような他のマーキング技術を用いて適用されるマーキング要素の密度を包含することを理解されたい。これらのマーキング技術は、表面トポロジを変調すること、表面材料を追加若しくは除去すること、又は基材表面を彫刻することによって、「より暗い」又は「より明るい」マーキングを適用する。
【0130】
捕捉画像からペイロードを読み取ること
【0131】
図31は、物体から捕捉される画像信号から光学コードを復号するための方法を例証するフロー図である。
【0132】
画像捕捉プロセス(例えば、
図31のスキャン200)において、画像は、符号化されたペイロード信号が元画像内で符号化されたビットセル解像度(例えば、300DPI、100DPIなど)に好ましくは近い解像度で捕捉される。画像アップサンプリング又はダウンサンプリング動作は、デジタルカメラ又はスキャナによって供給される画像を、さらなる復号のために目標解像度に変換するために実施され得る。符号化されたデータ信号の1つ又は複数のブロックの少なくとも部分は、スキャン内で捕捉される。
【0133】
復号方法の初期処理において、符号化されたペイロードを含む可能性が最も高い画像コンテンツを有するフレーム及びフレーム内のブロックを選択することが有利である。ブロックサイズは、望ましくは、符号化されたペイロードの完全なタイルの実質的にすべて、及び好ましくは近隣タイルの集合体に及ぶのに十分な大きさであるように選択される。しかしながら、カメラ又はスキャナからの距離が変化し得ることから、符号化されたペイロード信号の空間スケールは、符号化時のそのスケールから変化する可能性が高い。この空間スケール歪は、同期プロセスにおいてさらに対処される。
【0134】
復号プロセスの第1のステージは、入ってくる画像信号をフィルタリングして、それを、符号化されたペイロード信号の検出及び同期のために準備する(202)。復号プロセスは、画像をブロックへとさらに分割し、さらなる復号動作のためのブロックを選択する。第1のフィルタリングステージは、入力色画像信号(例えば、RGB値)を、補助信号が適切な色重みを適用することによって符号化された色チャネル(複数可)に変換する。例えば、色チャネル符号化及び復号に関する詳細については、特許公開第20100150434号を参照されたい。入力画像はまた、660nm周辺のスペクトル帯の中心周辺に波長を有する典型的な赤色LEDなど、周囲照明又は人工照明の存在下での単色センサによる捕捉に対応する単一のチャネル画像(画素あたり1つの画素値)であってもよい。
【0135】
第2のフィルタリング動作は、データ信号をホスト画像から隔離する。プレフィルタリングは、用いられる同期のタイプを含むデータペイロード信号符号化フォーマットのために適合される。例えば、明示的な同期信号が使用される場合、プレフィルタリングは、同期プロセスのために明示的な同期信号を隔離するように適用される。
【0136】
述べられるように、いくつかの実施形態において、同期信号は、フーリエ領域内のピークの集合である。フーリエ領域への変換の前に、画像ブロックは、プレフィルタリングされる。例えば、上で組み込まれる米国特許第6,614,914号に詳述されるラプラシアンプレフィルタリングを参照されたい。窓関数がブロックに適用され、その後にFFTを用いたフーリエ領域への変換が続く。別のフィルタリング動作が、フーリエ領域内で実施される。例えば、参照により組み込まれる、米国特許第6,988,202号及び同第6,614,914号、並びに米国公開第20120078989号に詳述されるプレフィルタリング選択肢を参照されたい。
【0137】
入力像は、典型的には、先に述べられるように、予測「8軸」フィルタでフィルタリングされる。このフィルタは、基底のホスト画像(典型的には、比較的高い局所相関を示す)を抑制し、それによりコード信号構成要素を伝達する雑音信号を強調するように作用する。
【0138】
次に、同期プロセス(204)が、フィルタリングされたブロックにおいて実行されて、符号化された信号タイルの回転、空間スケール、及び平行移動を回復する。このプロセスは、フーリエ領域内のピークからなる同期信号の回転及びスケールを回復するために、特許第6,614,914号に詳述されるようなログポーラ(log polar)法、又は先に詳述されるような最小二乗手法を用い得る。平行移動を回復するためには、第6,614,914号の位相相関法が使用されるか、又は第20120078989号の位相推定法及び位相偏移法が使用される。代替的な方法は、例えば、米国特許第第9,747,656号に詳述されるように、暗黙的な同期信号に対して同期を実施する。
【0139】
次に、デコーダは、タイル内のビットセル位置をステップスルーして、各場所からビット推定値を抽出する(206)。このプロセスは、各場所について、回転、スケール、及び平行移動パラメータを適用して、各ビットセル位置からビット推定値を抽出する(206)。粒子において、このプロセスがタイル内の各ビットセル位置を訪問する際、このプロセスは、それを、同期において導出されるアファイン変換パラメータに基づいて受信画像内の場所に変換し、次いで各場所周辺でサンプリングする。このプロセスを行うのは、ビットセル位置及びその近隣部が検出フィルタ(例えば、8軸又は十字)に入力をフィードして、埋め込み場所におけるサンプルを近隣部と比較するためである。各比較動作の出力(例えば、1、-1)は、合計されて、ビットセル位置の推定値を提供する。ビットセル位置における各ビット推定値は、変調されたキャリア信号の要素に対応する。
【0140】
信号デコーダは、各々の誤り訂正符号化されたビットの値を、そのビットのキャリア信号のビットセル位置からビット推定値を蓄積することによって推定する(208)。例えば、上のエンコーダ実施形態において、誤り訂正符号化されたビットは、16又は32個の要素を有する対応するキャリア信号にわたって変調される(例えば、2値対蹠信号で乗算されるか、又は2値対蹠信号とXORをとられる)。ビット値は、これらの要素の対応するビットセル位置から抽出される推定値から復調される。この復調動作は、推定値にキャリア信号符号を掛け、結果を追加する。この復調は、各々の誤り訂正符号化されたビットについてソフト推定値を提供する。
【0141】
これらのソフト推定値は、ペイロード信号を生成するために誤り訂正デコーダに入力される(210)。畳み込み符号化されたペイロードでは、ビタビ(Viterbi)デコーダを使用して、チェックサム又はCRCを含むペイロード信号を生成する。誤り訂正の他の形態では、互換性のあるデコーダが、ペイロードを再構築するために適用される。例としては、ブロックコード、BCH、リードソロモン、ターボ(Turbo)コードが挙げられる。
【0142】
次に、ペイロードは、チェックサムを計算し、復号されたチェックサムビットと比較することによって検証される(212)。チェックサムは、当然ながら、エンコーダ内のものに一致する。上の例の場合、リーダは、ペイロードの一部分についてCRCを計算し、それをペイロード内のCRC部分と比較する。
【0143】
このステージで、ペイロードは、これより他の要求プロセス、例えば、後続処理においてそのコンテンツを使用するアプリケーションプログラム又はソフトウェアルーチンへと渡される。
【0144】
符号化されたペイロードが正弦波の位相内で伝達される実施形態において、デコーダは、正弦波のサブセットなどの参照信号構成要素に対して、同様の第1のステージ同期を実行する。正弦波のこのサブセットは、空間周波数領域内でピークを形成する。同期後、デコーダは、ペイロードを担持する各参照信号における符号化されたペイロード要素の推定値を抽出する。位相シフトは、米国公開第20120078989号の位相推定及び偏移法を使用して、非変調状態に対して直接測定される。デコーダは、空間周波数領域内の正弦波成分の幾何変換座標を適用する。次いでデコーダは、画像内のこの成分の位相を、点広がり関数から導出される重みに基づいて近隣の整数座標における近隣の複合構成要素を重み付けすることによって推定する。この位相の推定値は、次いで、予測される位相(例えば、3値又は2値符号化スキームにおいて1、0、若しくは-1、又は1若しくは0を表す位相)と比較される。この成分において抽出されるビット値は、推定位相に対応するものである。このプロセスは、ペイロード信号を担持する各正弦波成分について繰り返す。結果として生じるシンボルのシーケンスは、次いで、誤り訂正符号化され、処理は、上に説明されるように誤り検出へと進む。
【0145】
参照信号ドット選択によるメッセージシグナリング
【0146】
下に説明されるシグナリング構成は、(所与の信頼性での)情報転送のためのシャノン限界に、先行技術構成よりも近くに接近するという点で有利である。特定の実施形態において、1028個の暗いマークのみが、128×128の信号ブロック内で用いられる。マークはすべて、参照信号を表すが、それらの選択は、メッセージ信号を表す。
【0147】
本方法は、
図7の信号74が抜粋されるものなどの参照信号ブロックで開始する。参照信号ブロック(例えば、128×128要素ブロック)内の各場所において、参照信号は、例えば、0(黒)~255(白)の範囲の対応する信号値を有する。要素(例えば、16,384個の要素)は、2048個の最も暗い要素を含むランク付けリストを生成するために、値によってソートされる。リスト内の各エントリは、順序位置(0、1、2…)、並びにブロック内の要素の位置を列及び行によって指定する{X、Y}データと関連付けられる。表2は、そのようなリストの抜粋を示す。
【表2】
【0148】
例えば64ビットのペイロードは、畳み込み符号化、及び任意選択的に、反復によって処理されて、長さが1024ビットであるメッセージを得る。メッセージ内の各ビットは、ランク付けリスト内の参照信号要素の連続した対と関連付けられる。ビットが偶数値化される場合(即ち、0)、対からの偶数の要素が、暗くされる出力信号ブロック内の場所を決定する。ビットが奇数値化される場合(即ち、1)、対からの奇数の要素が、暗くされる出力ブロック内の場所を決定する。したがって、2048個の要素のリストからの1024個の要素が、1024メッセージビットのビット値に基づいて選択され、暗くされる出力信号ブロック内の1024個の場所を規定する。
【0149】
例証のため、10110001…で始まるメッセージを検討する。そのような場合、表3で識別される出力信号ブロック内の要素は暗くされる。
【表3】
【0150】
出力信号ブロック内の1024個のドットの各々は、元の参照信号ブロック内の最も暗い値のうちの1つに対応する。各々のそのようなドットはまた、1024メッセージビットの対応するビットを表す。
【0151】
そのようなスパースなパターンを描写する捕捉画像を復号することにおいて、画像のアファイン変換が、他の場所で説明されるように、まず、参照信号を参照して決定される。次いで、画像は、典型的には、パターンをその元の提示に回復するために逆に歪ませられる。(より正確には、受信画像は、公開第20170193628号に詳述されるように、決定されたアファイン変換から規定される座標系に従ってリサンプリングされる。)
【0152】
メッセージを解釈するために、検出器は、表2からのデータの独自のコピーを使用する。(この表は、特定の参照信号を用いるすべてのマークについて一貫しており、検出器コード内の取るに足りないメモリを占有する。)検出器は、逆に歪められた像を調べて、表内の最初の2つエントリ(即ち、ランク0及び1)によって指定される2つの場所における画素値を決定する。理想的には、一方が暗く、一方が明るい。暗い方は、第1のメッセージビットの値を示す。次いで、検出器は、像を調べて、表内の第3及び第4のエントリ(即ち、ランク2及び3)における画素値を決定する。ここでも、理想的には、一方が暗く、他方が明るい。暗い方は、第2のメッセージビットの値を示す、と続く。
【0153】
実践では、検出器によって、メッセージの各々の潜在的なビットを検討することにおいて、調べられる2つの場所は、値が遠く離れている場合があるか(ビット決定における信頼度を示す)、又は値が互いに近い場合がある(より低い信頼度を示す)。各メッセージビット決定と関連付けられた信頼度を定量化するために、表内の対の奇数及び偶数の番号が付けられたエントリによって示される場所における画素の値に基づいて、スコアが計算される。1つの好適なスコアは、以下の通りである。
【0154】
スコア=Log2(奇数位置における画素の値/偶数位置における画素の値)
【0155】
上の例では、奇数位置{72、32}における画素の値が30であり、偶数位置{18、22}における画素の値が240である場合、スコアは、マイナス3であり、メッセージの第1のビットが値「1」を有することを示す。(いかなる負の値もビット値が「1」であることを示す。)
【0156】
次のビットを検討すると、検出器は、奇数位置{26、82}における画素の値が130であること、偶数位置{1、33}における画素の値が101であることを見出し得る。この場合、スコアは0.364である。正のスコアは、対応するビット値が「0」であることを示す。しかしながら、スコアの絶対的な大きさは低い(例えば、第1のビットスコアの絶対値:3に対して)。これは、この決定におけるより低い信頼度を示す。
【0157】
この手順(逆に歪められた像内の2048個すべての候補場所を検討した後)によって獲得されるメッセージビットのストリングは、各々についての信頼度スコアと一緒に、ビタビ、リードソロモン、又はターボデコーダなどのソフトデコーダに適用される。これらの生ビット決定及び信頼度スコアから、デコーダは、元の64ビットペイロードを返す。
【0158】
たった今説明した構成は、ソート順での隣接性に基づいて、参照信号内の極値点をペアリングする。詳述した構成は、各ペイロードビット表現のための1つおきの場所が同様の参照信号強度のものであることから、好ましい。しかし、これは必須ではない。ペアリングは、任意の方式で、例えば、しきい値を下回る値を有する要素のサブセット内でランダムに、行われ得る。
【0159】
たった今詳述した復号手順は、本明細書内で詳述されるメッセージ信号の他のスパースな符号化と共に使用されるものとは異なる(メッセージ符号化手順が異なるため)ということを理解されたい。いくつかの実施形態において、デコーダは、メッセージ信号がどのように表されるかの初期決定を行い、またそれは、対応する復号方法を適用する。
【0160】
1つのそのような実施形態において、異なる符号化は、参照信号内のいくつかの空間周波数ピークの存在又は不在によってシグナリングされる。述べられるように、この信号は、典型的には、数十のピークを含む。もういくつか(例えば、1~10)が、この章で詳述される符号化手順が使用されていること、及び対応する復号方法が同様に使用されるべきであることを、準拠した検出器に示すフラグとして機能するために、追加(又は削除)され得る。即ち、そのような検出器は、これらのフラグ空間周波数が参照信号内に存在するか(又は不在か)を決定するために参照信号を調べ、そのような決定の出力に対応する復号方法を適用する。そのような周波数の存在又は不在は、メッセージ信号へのデコーダの同期を可能にするという参照信号の目的を妨害しないが、これは、その同期プロセスが参照信号の様々な歪に対して堅牢であるためである。
【0161】
(たった今説明した構成は、追加の(又は削除された)空間周波数構成要素の対応するセットによって、多くの異なる符号化技術の使用の間にシグナリングするために使用され得る。検出器は、どの符号化技術が使用されているかを参照信号内で検出される空間周波数構成要素から検知し、対応する復号アルゴリズムを適用する。)
【0162】
別の実施形態において、デコーダは、上に詳述した復号方法を適用することによって始まる(参照信号の使用によって決定されるような、捕捉像内のアファイン歪の補償後)。デコーダが、表2のランク付けリスト内の最初のいくつかの対の何らかのしきい値数Kの両方の場所において暗いマークが見出される(又は、マークがない)と結論付ける場合、デコーダは、この章に説明される復号手法をやめて、代わりに、参照により組み込まれる文書を含め、本明細書内の他の場所に詳述される復号手法を適用する。
【0163】
再考すると、この特定の実施形態において、メッセージは、各々がストリング内のそれぞれの位置に第1の値又は第2の値(例えば、0又は1)を有する複数のビットからなる。M(例えば、2048)個の2D参照信号要素のリストは、各々が、リスト内に順序位置を有し、各々が、2D参照信号内の場所と関連付けられるように、値によってランク付けされる。したがって、このリストは、N=0、1、2、…(M/2)-1について2N、2N+1の順序位置を有する、要素の複数の対を規定する。要素の各対は、偶数順序位置を有する要素及び奇数順序位置を有する要素を含む。メッセージ信号内の各位置は、ランク付けリスト内の一対の要素と関連付けられる。マークは、メッセージ信号内の関連付けられた位置が第1の値(例えば、0)を有するとき、出力信号ブロック内において、一対のうちの偶数要素の場所に対応する場所に提供される。同様に、マークは、メッセージ信号内の関連付けられた位置が第2の値(例えば、1)を有するとき、出力信号ブロック内において、一対のうちの奇数要素の場所に対応する場所に提供される。
【0164】
代替の実施形態において、参照信号値及び場所のランク付けリストからのデータは、記憶されない。むしろ、それは、必要に応じてオンザフライで計算される。そのような場合、連続参照信号の実数値のサンプルは、整数値(表2で使用されるような)によって引き起こされ得るあいまいさを回避するため、ランク順序を決定するように2D信号ブロック内の各点において計算され得る。
【0165】
いくつかの実施形態において、参照信号の極値は、2つの極値が互いからしきい値距離よりも近くならないように距離制約(侵入禁止領域)を実施するためにフィルタリングされる。
【0166】
本方法の関連実施形態は、空間領域参照信号を得て、その構成要素画素を値によってソートして、各々が場所を有する(例えば、128×128要素アレイ内)、ランク付けリスト内の最も暗いN個の要素(例えば、1600個の要素)を識別する。これらの場所の一部(例えば、400個の場所)は、参照信号が強力に表現されることを確実にするために、出力ブロック内のドットで常にマークされる。残りの場所は、そのような場所に割り当てられるペイロードシグネチャビット(チップ)の値に従って、出力ブロック内のドットでマークされるか、又はマークされない。数Nをより大きく、又はより小さく設定することによって、より多く、又はより少ないドットを有するスパースなマークが生成される。比較的より暗い背景における明るいドット(穴)のマーキングの場合、実施者は、同様の手法を使用するが、最も明るいN個の要素のソーティングを用いる。
【0167】
動作環境
【0168】
本文書における方法は、モジュールで構成されているソフトウェア命令又はデジタル回路において実施される。これらのモジュールは、光学コードオプティマイザ、ジェネレータ、インサータ、及びデコーダを含む。本明細書に明記される実施形態の任意の特定の議論にもかかわらず、用語「モジュール」は、本明細書に説明される方法、プロセス、関数、又は動作のうちのいずれかを実施するように構成されるソフトウェア命令、ファームウェア、又は回路を指す。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記録されるソフトウェアパッケージ、コード、命令、命令セット若しくはデータとして具現化され得る。例えば、関連データと併せて、MATLAB、C、C++、Visual Basic、Java(登録商標)、Python、Tcl、Perl、Scheme、Rubyなどで書かれる、詳細な機能を実施するためのソフトウェア命令は、本明細書に提供される説明から過度の実験なしに技術者によって書かれ得る。ファームウェアは、メモリデバイスにハードコードされる(例えば、不揮発性である)コード、命令、又は命令セット若しくはデータとして具現化され得る。本明細書で使用される場合、用語「回路」は、例えば、単一で、又は任意の組み合わせで、ハードワイヤード回路、1つ若しくは複数の個々の命令処理コアを備えるコンピュータプロセッサなどのプログラマブル回路、状態機械回路、又はプログラマブル回路によって実行される命令を記憶するファームウェアを含み得る。
【0169】
実装形態は、追加的又は代替的に、構成要素動作のうちの一部又はすべてを実施するようにカスタムデザインされて製造されている特殊目的電子回路を、特定用途向け集積回路(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)を含む。)
【0170】
HDLコーダはまた、フィールドプログラマブルゲートアレイ実装形態を作り出すために使用され得る。FPGAは、ASICを試作するために、又は電子デバイスに統合されるFPGAチップ内での実装として、使用され得る。
【0171】
例証の目的のため、
図32は、上記光学コードジェネレータ、インサータ、オプティマイザ、及びデコーダの構成要素が実装され得る電子デバイスの図である。これは、実施形態が他のデバイスアーキテクチャ又は電子回路において実施され得るため、限定することは意図されない。例えば、電子デバイスは、光学コードを生成、最適化、挿入、及び復号するためのプログラム命令が記憶され、本文書に説明される方法を行うために実行されるコンピュータを表す。電子デバイスはまた、感熱ラベルプリンタ、ラベルプリンタ、及びバーコードスキャナを有する計器のような特殊用途コンピュータシステムを表す。電子デバイスはまた、仮想及び拡張現実アイウェア及びヘッドセットなどの、頭に装着する装置を表す。より汎用なコンピュータ及びモバイルデバイス(例えば、スマートフォン及びタブレット)のように、これらのデバイスはまた、これらの方法及びそれらを実行するためのプロセッサのファームウェア実装形態を記憶するためのメモリを含む。それらはまた、光学コードオプティマイザ、ジェネレータ、インサータ、及び/又はデコーダの上で参照したFPGA又はASIC実装形態を含み得る。
【0172】
図32を参照すると、電子デバイスのためのシステムは、多くのデバイス、モジュールなど(それらの各々は、一般的に「構成要素」と称され得る)が通信可能に結合されるバス300を含む。バス300は、ダイレクトメモリアクセス(DMA)バス及びプログラム入力/出力(PIO)バスの機能を組み合わせ得る。言い換えると、バス300は、DMA転送並びに直接CPU読み出し及び書き込み命令の両方を促進し得る。1つの実施形態において、バス300は、アドバンスドマイクロコントローラバスアーキテクチャ(AMBA:Advanced Microcontroller Bus Architecture)準拠データバスのうちの1つである。
図32は、すべての構成要素がバス300に通信可能に結合される実施形態を例証するが、構成要素の1つ又は複数のサブセットが、任意の好適又は有益な様式で別個のバスに通信可能に結合され得ること、及び任意の構成要素が、任意の好適又は有益な様式で2つ以上のバスに通信可能に結合され得ることを理解されたい。例証されないが、電子デバイスは、任意選択的に、1つ又は複数のバスコントローラ(例えば、DMAコントローラ、I2Cバスコントローラ、又は同様のもの若しくはそれらの任意の組み合わせ)を含み得、それを通じてデータが構成要素のうちのいくつかのものの間でルーティングされ得る。
【0173】
電子デバイスは、CPU302も含む。CPU302は、当該技術分野において知られているマイクロプロセッサ、モバイルアプリケーションプロセッサなどであってもよい(例えば、アーム(ARM Limited)からの縮小命令セットコンピュータ(RISC)、Krait CPU製品群、インテル株式会社(Intel Corporation)から入手可能な、Pentium(登録商標)、Xeon、Itanium、Celeron、Atom、Core iシリーズ製品群内のものを含むX86ベースのマイクロプロセッサなど)。CPU302は、電子デバイスのオペレーティングシステムを実行し、アプリケーションプログラムを実行し、及び任意選択的に、電子デバイスの様々な機能を管理する。CPU302は、オペレーティングシステム(例えば、「高レベル」オペレーティングシステム、「リアルタイム」オペレーティングシステム、モバイルオペレーティングシステム、又は同様のもの若しくはそれらの任意の組み合わせ)又は電子デバイス上で実行する他のデバイスファームウェアを保持し得るリードオンリメモリ(ROM)(図示せず)を含み得るか、又はそれに結合され得る。
【0174】
電子デバイスはまた、バス300に電気的に結合される揮発性メモリ304を含み得る。揮発性メモリ304は、例えば、任意のタイプのランダムアクセスメモリ(RAM)を含み得る。示されないが、電子デバイスは、揮発性メモリ304への、及びそこからのデータの流れを制御するメモリコントローラをさらに含み得る。
【0175】
電子デバイスはまた、バスに接続されるストレージメモリ306を含み得る。ストレージメモリ306は、典型的には、ROM、EPROM及びEEPROM、NOR若しくはNANDフラッシュメモリ、又は同様のもの若しくはそれらの任意の組み合わせなどの1つ又は複数の不揮発性半導体メモリデバイスを含み、また、例えば、磁気又は光学ディスクなどのあらゆる種類の電子記憶デバイスも含み得る。本発明の実施形態において、ストレージメモリ306は、ソフトウェアの1つ又は複数のアイテムを記憶するために使用される。ソフトウェアは、システムソフトウェア、アプリケーションソフトウェア、ミドルウェア(例えば、リアルタイムシステムのためのデータ配信サービス(DDS)、MERなど)、1つ若しくは複数のコンピュータファイル(例えば、1つ又は複数のデータファイル、構成ファイル、ライブラリファイル、アーカイブファイルなど)、1つ若しくは複数のソフトウェア構成要素、又は同様のもの、又はそれらの任意のスタック若しくは他の組み合わせを含み得る。
【0176】
システムソフトウェアの例は、オペレーティングシステム(例えば、1つ若しくは複数の高レベルオペレーティングシステム、リアルタイムオペレーティングシステム、モバイルオペレーティングシステム、又は同様のもの若しくはそれらの任意の組み合わせ)、1つ又は複数のカーネル、1つ又は複数のデバイスドライバ、ファームウェア、1つ又は複数のユーティリティプログラム(例えば、電子デバイスの1つ又は複数の構成要素を分析すること、構成すること、最適化すること、管理することなどを助ける)、及び同様のものを含む。
【0177】
バス300には、ユーザインターフェースモジュール308も接続される。ユーザインターフェースモジュール308は、電子デバイスのユーザ制御を促進するように構成される。したがって、ユーザインターフェースモジュール308は、1つ又は複数のユーザ入力デバイス310に通信可能に結合され得る。ユーザ入力デバイス310は、例えば、ボタン、ノブ、タッチスクリーン、トラックボール、マウス、マイクロホン(例えば、エレクトレットマイクロホン、MEMSマイクロホン、又は同様のもの若しくはそれらの任意の組み合わせ)、IR若しくは超音波発生スタイラス、超音波発生器(例えば、ユーザジェスチャを検出するためなど)、1つ若しくは複数の構造化光発生器(例えば、構造化IR光を投影してユーザジェスチャを検出するためなど)、1つ若しくは複数の超音波トランスデューサ、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。
【0178】
ユーザインターフェースモジュール308はまた、電子デバイスのユーザ制御の効果、又は電子デバイスによって実施されている動作若しくは電子デバイスによって他の方式でサポートされる機能に関連した任意の他の情報をユーザに示すように構成され得る。したがって、ユーザインターフェースモジュール308はまた、1つ又は複数のユーザ出力デバイス312に通信可能に結合され得る。ユーザ出力デバイス312は、例えば、ディスプレイ(例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、アクティブマトリックス有機発光ダイオード(AMOLED)ディスプレイ、電子インクディスプレイなど)、プリンタ、ラウドスピーカ、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。
【0179】
一般的に、ユーザ入力デバイス310及びユーザ出力デバイス312は、電子デバイスの必須部分であるが、代替の実施形態において、任意のユーザ入力デバイス310(例えば、マイクロホンなど)又はユーザ出力デバイス312(例えば、スピーカ、ディスプレイ、又はプリンタ)は、電子デバイスに通信可能に結合される(例えば、通信モジュール314を介して)物理的に別個のデバイスであってもよい。プリンタは、2D及び3Dプリンタ(感熱、凹版、インクジェット、オフセット、フレキソ、レーザ、グラビアなど)などの、デジタルデータを担持する画像を物体に適用するための異なるデバイス、並びにエッチング、彫刻、エンボス加工、又はレーザマーキングのための設備を包含する。
【0180】
ユーザインターフェースモジュール308は、個々の構成要素として例証されるが、ユーザインターフェースモジュール308(又はその部分)は、電子デバイスの1つ又は複数の他の構成要素(例えば、CPU302、センサインターフェースモジュール330など)に機能的に統合され得るということを理解されたい。
【0181】
バス300には、画像信号プロセッサ316及びグラフィック処理ユニット(GPU)318も接続される。画像信号プロセッサ(ISP)316は、1つ若しくは複数のカメラ320によって、又は任意の他の画像センサによって捕捉される像(静止フレーム像、ビデオ像、又は同様のもの若しくはそれらの任意の組み合わせ)を処理し、以て画像データを生成するように構成される。ISP316によって典型的には実施される一般的機能は、ベイヤー変換、デモザイク処理、雑音低減、画像の鮮鋭化、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。GPU318は、ISP316によって生成される画像データを処理し、以て処理済み画像データを生成するように構成され得る。GPU318によって実施される一般的機能は、画像データを圧縮すること(例えば、JPEG形式、MPEG形式、又は同様のもの若しくはそれらの任意の組み合わせに)、照明効果を生み出すこと、3Dグラフィックをレンダリングすること、テクスチャマッピングをすること、幾何学変換(例えば、回転、平行移動など)を計算して異なる座標系などにすること、及びバス300を介して圧縮ビデオデータを電子デバイスの他の構成要素(例えば、揮発性メモリ304)に送信することを含む。ISP316によって生成される画像データ、又はGPU318によって生成される処理済み画像データは、ユーザインターフェースモジュール308によってアクセスされ得、ここでその画像データは、ディスプレイ、プリンタ、又はスピーカなどのユーザ出力デバイス312に送信され得る1つ又は複数の好適な信号へと変換される。
【0182】
通信モジュール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は、ベースバンドプロセッサ(例えば、信号処理を実施し、電子デバイスのためのリアルタイム無線伝送動作を実施する)を含む。
【0183】
バス300には、1つ又は複数のセンサ333に通信可能に結合されるセンサインターフェースモジュール330も接続される。センサ333は、例えば、商品の重さを計るためのはかりを含む(小売又は食品製造環境において商品及び印刷ラベルの重さを計るために使用されるはかりなど)。
図32では別々に例証されるが、任意のカメラ320が、センサ333と考えられ得る。一般的に、センサ333は、何らかの種類の刺激(例えば、光、音、水分、重力場、磁場、電場など)の存在下で、印加された刺激の変化、又は同様のもの若しくはその任意の組み合わせに応答して、1つ又は複数の信号(典型的には、電気信号)を生成する。1つの実施形態において、センサインターフェースモジュール330に結合されるすべてのセンサ333は、電子デバイスの必須部分であるが、代替の実施形態において、センサのうちの1つ又は複数は、(例えば、通信モジュール314を介して)電子デバイスに通信可能に結合される物理的に別個のデバイスであってもよい。任意のセンサ333がユーザ入力を検知するように機能することができる限り、そのようなセンサ333はまた、ユーザ入力デバイス310と考えられ得る。
【0184】
センサインターフェースモジュール330は、1つ又は複数のセンサ333の動作(例えば、サンプリングレート、サンプリング範囲など)を有効にする、無効にする、又は別途制御するように構成される(例えば、揮発性メモリ304又はストレージメモリ306、ROMなどにおいて内部又は外部に記憶される命令に従って、CPU302、ユーザインターフェースモジュール308などの1つ又は複数の構成要素によって発行されるコマンドに従って)。1つの実施形態において、センサインターフェースモジュール330は、センサ333のうちの1つ又は複数によって生成される信号を、符号化すること、復号すること、サンプリングすること、フィルタリングすること、又は別途処理することができる。1つの例において、センサインターフェースモジュール330は、複数のセンサ333によって生成される信号を統合し、任意選択的に、統合された信号(複数可)を処理することができる。信号は、センサインターフェースモジュール330から電子デバイスの前述の構成要素のうちの1つ又は複数に(例えば、バス300を介して)ルーティングされ得る。しかしながら、別の実施形態において、センサ333によって生成される任意の信号は、処理される前に(例えば、CPU302に)ルーティングされ得る。
【0185】
一般的に、センサインターフェースモジュール330は、1つ若しくは複数のマイクロプロセッサ、デジタル信号プロセッサ若しくは他のマイクロコントローラ、プログラマブル論理デバイス、又は同様のもの若しくはそれらの任意の組み合わせを含み得る。センサインターフェースモジュール330はまた、キャッシュ若しくは他のローカルメモリデバイス(例えば、揮発性メモリ、不揮発性メモリ、又はそれらの組み合わせ)、DMAチャネル、1つ若しくは複数の入力バッファ、1つ若しくは複数の出力バッファ、及びそれがサポートする機能(例えば、上に説明されるような)を促進する任意の他の構成要素を含み得る。
【0186】
他の好適な動作環境は、参照により組み込まれた文書に詳述される。
【0187】
シグナルリッチアート変異形
【0188】
本文書に説明される技術は、所望のデザイン美観を有する光学コード信号を構築するために使用され得る。本発明者らは、出力を“シグナルリッチアート”と呼ぶが、それは、出力が、光学コード信号を担持すると同時に所望の審美的効果を提供するためである。これらの手法は、一般的には、以下の方法のうちの1つに当てはまる:
【0189】
方法1A:高密度光学コード信号を生成し、それをスパースな信号に変換し、次いで、スパースな信号からシグナルリッチアートを構築する。
【0190】
方法1B:所望の空間密度で参照及びペイロード信号構成要素を含む光学コード信号を生成し、次いで、その信号からシグナルリッチアートを構築する。光学コード信号は、所望の空間密度(高密度又はスパース)で生成され得るため、高密度光学コード信号からスパースなコード信号を生成する必要はない。
【0191】
方法2:高密度光学コード信号を生成し、それを、図形要素をスパースな場所に置くことによって、所望の密度のスパースな信号に変換する。
【0192】
方法3:所望の密度にある光学コード信号を生成し、それを高強度でホストアートワークと結合し、次いで、マーク付きホストアートワークを表すために空間的位置に図形要素を置くことによって、結合された信号をシグナルリッチアートに変換する。
【0193】
例証のため、本発明者らは、第1の方法の例から始める。後で、本発明者らは、点描パターンを作成することと関連して方法2及び3の例を説明する。点描パターンは、円形ドットからなるものとして例証されるが、それらはまた、円以外の形状にある他の基本図形で構築され得る。
【0194】
本発明者らの実装形態は、ソフトウェアプログラムで構築され、例えば、埋め込み光学コードを有するパッケージ又はラベルデザインを作成するために、画像編集ソフトウェア内で実行されるようにデザインされる。フロー図は、モジュールで構成されているソフトウェア命令において実施される例示的な実施形態を描写する。これらのモジュールの構成及び包含は、例えば、クラウドコンピューティング、デスクトップコンピュータ、複数のプロセッサ上の分散コンピューティング、及び/又はプリンタ内で実行する埋め込みファームウェアなど、特定のアプリケーション又はコンピューティング環境のための他の実施形態を作成するように構成され得る。
【0195】
図33は、光学コード信号からシグナルリッチアートを構築する方法のフロー図である。本方法は、光学コード信号構成要素を生成することによって始まる(502)。それを行うために、本方法は、例えば、
図3~
図5の方法(例えば、
図3の30、32、
図4の40、42、及び
図5の50、52)のうちの1つを用いる。
【0196】
次に、本方法は、所望の空間密度にある光学コード信号のタイルを構築する(504)。このモジュール504を実施するための1つの手法は、検出器の予測フィルタを高密度光学コードタイル内の信号値に適用し、次いでフィルタ出力内の最小値の場所のスパースな信号座標を生成して、所望の間隔及び密度を有する座標を選択することである。実施者はまた、本文書内で詳述される可変密度光学コード信号を生成するための他の手法の中から選択し得る。これらの方法は、光学コード信号のマーキング要素が優先順位付けされている空間座標を提供する。例えば、いくつかの実施形態は、光学コード信号内に最大値(例えば、最も暗い、又は最も明るい画素)が存在するマーキング要素(ドット又は穴)の空間座標を選択する。いくつかの実施形態は、“参照信号ドット選択によるメッセージシグナリング”という表題の付いた章内の例に説明されるような参照及びペイロード構成要素のマーキング要素を選択的に置く。
【0197】
次に、本方法は、光学コード信号タイルの空間座標に基づいて線画を構築する(506)ためにいくつかの代替の方法のうちの1つを用いる。本発明者らは、様々な技術を用いて実験を行い、いくつかは、包装及びラベル用途に相応しい十分な堅牢性を提供するということを見出した。様々な形態のアートを受容する本方法の柔軟性が理由で、本方法は、シグナルリッチアートを提供するための一般的なフレームワークを提供する。この点を実証するため、本発明者らは、図面においていくつかの例を例証し、それらを以下で説明する。
【0198】
シグナルリッチタイルを作成した後、本方法は、アートワークファイルにタイルを挿入すること(508)へと進む。1つの実施形態において、挿入方法は、アドビフォトショップ(登録商標)(Adobe Photoshop)又はイラストレータ(Illustrator)(商標)のためのプラグインなど、画像編集プログラムに統合される。挿入方法は、X及びY次元においてタイルを再現し、画像又は図形などのアートワーク要素の形状に適合するように信号をマスクする。タイルの再現は、X及びY方向においてそれを縁から縁まで繰り返して、タイルが適用されることになるアートワークファイル内のアートワーク領域と同一の広がりをもつマッピングされたタイルをもたらすことによって実行される。マッピングされたタイルのマスキングは、マッピングされたタイルの画素を、アートワーク要素の境界の外側では0に設定することによって実行される。計算を節約するために、境界回り込み条件を用いるのが好ましい。再現プロセス(タイル化とも称される)において、境界回り込み条件は、タイルの左縁から右縁及び上縁から下縁への回り込みを仮定して、境界におけるシグナルリッチアートを計算するために使用される。境界回り込み条件の例は、トロイダル境界回り込み条件又は周期境界条件である。境界回り込み条件を用いてシグナルリッチアートタイルを再現する手法は、それが、アートワークファイル内のより大きい領域を充填するようにタイル化することによってシームレスに繰り返される1つのシグナルリッチアートタイルの作成を可能にすることが理由で、計算を節約する。
【0199】
代替案は、標的画像サイズ及び形状にあるシグナルリッチアートを作成することである。これは、アートワークのより大きい領域を充填するようにタイル化することによって高密度光学コード信号タイルを再現し、このタイル化された出力をスパースな信号に変換し、次いで、スパースな信号をシグナルリッチアートに変換することによって達成される。別の代替案は、単一の高密度タイルをスパースな信号に変換し、より大きい領域を充填するようにタイル化することによってスパースな信号を再現し、次いで、スパースな信号をシグナルリッチアートに変換することである。これらの挿入方法は、アートワーク要素の境界と同一の広がりをもつ光学コード信号の冗長符号化により恣意的な形状のアートワーク要素を強化する。
【0200】
次に、本方法は、光学コード信号が所望の堅牢性制約を満足することを検証する(510)。このモジュールに関する詳細については、堅牢性予測プログラムについて説明する
図2及び
図12と関連して説明される議論及び参照文献を参照されたい。堅牢性予測プログラムは、アートワーク内の検証座標のアレイにおける信号のための検出メトリックが、特定の光学走査応用のための最小カバレッジエリアを超える空間領域にわたってしきい値を上回ることを確実にすることによって、光学コード信号が信頼できることを検証する。
【0201】
最後に、光学コード信号の再現されたタイルを運搬する完成したアートワークは、例えば、印刷、エンボス加工、又は代替の物体マーキング技術によって物体に適用される(512)。
【0202】
図34は、巡回セールスマン(TSP)法を用いて光学コード信号の空間座標を接続することによって作成される光学コード信号タイル514を例証する。巡回セールスマン問題は、コンピューティングにおいて研究され、実際的応用に適合されている。この問題は、一般的に以下のように組み立てられる:都市及び都市の各対の間の距離のリストを前提として、各都市を訪問し、出発都市に戻る最も短い考えられ得るルートは何であるか?本発明者らの場合、都市は、光学コード信号(又はアートワークと結合された光学コード信号)から導出されるスパースな座標であり、解決策によって生成される経路はレンダリングされて、レンダリングされた出力内に光学コード信号を埋め込む。この手法は、
図33の方法と併せて使用されるとき、堅牢な光学コード信号を保持するのに効果的であるが、それは、堅牢な光学コード信号が、光学コード信号の高い優先度の構成要素の、点、即ち、最小値を横断するためである。さらに、線分の経路が交わらない(“都市”において以外では)ということに起因して、線が交差する場合に疑似の最小値を表す線交差点を作成しない。テストのため、本発明者らは、TSPを解決するのに発見的なLin-Kernighanの実装形態である、LKHと呼ばれるTSPソフトウェアを使用した。さらなる情報については、LKHは、K.Helsgaun、An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic.DATALOGISKE SKRIFTER(Writings on Computer Science)、No.81、1998、Roskilde Universityに説明され、http://www.akira.ruc.dk/~keld/research/LKH/で見つけることができる。
【0203】
本発明者らは、TSP法が、光学コード信号タイル内にさらなる点を追加することと併せて高速フーリエ変換(FFT)補間を使用することによって改善され得るということを観察した。要約すると、このシグナルリッチアート法は、光学コード信号内の極値(輝度最小値にある暗いマーキング)の座標にマーキングを付けるように実施されなければならない。極値の座標は、例えば、光学コード信号の画素値をソートし、線間の最小間隔を維持しながら所望の線密度が達成されるまで、光学コード信号のソートされた値の順にこれらの座標においてタイルに点を充填することによって、識別され、優先順位付けされる。これは、極値の座標における隣接するマークなし領域に対するコード信号コントラストを強調する。しかしながら、線を局所的極値の点を通って描写することだけでは、その点における光学コード信号を強力に表さないことがある。この問題を是正するために、実施形態は、スパースな光学コード信号の座標において複製点を挿入する。FFT補間は、点を通って線を描くために使用される。複製点は、FFT補間動作が点の周りの2D領域内にループを追加することを引き起こし、以てその点におけるマーキングを強調する。
【0204】
図52は、このTSP実施形態の例を示す。本発明者らの応用では、FFT補間は、スパースな点の空間画像をフーリエ領域に変換し、さらなる水増し点を追加し、次いで、結果を逆変換して空間領域へと戻す。ある場所におけるスパースな点の複製インスタンスは、
図52に示されるループの効果を作成する。
【0205】
シグナルリッチアートを生成するためのTSPの別の実施形態は、以下の通りである。点のスパースな構成を前提として、1つはX軸に沿って2倍に延伸された点(又は何らかの他のデザイン選択)のため、もう1つはY軸に沿って2倍に延伸された点のために、2つのTSPが計算される。次いで、TSP経路は、点が、それらが元来あった場所で終わるように非延伸され、またTSP経路は、それらの点において交差し、以て局所的最小値を強化する。これは、FFT補間及びその変異形と組み合わされ得る。点のスパースな構成は、所望の空間密度にある光学コード信号要素の離間した座標を指す。本文書内のスパースな構成を作成するための様々な方法は、この実施形態の変異形を作成するために使用され得る。
【0206】
図35は、等高線プロットを使用して作成される光学コード信号タイル516を例証する。等高線プロットは、グレースケール画像を入力として得て、指定の数のレベルについて、同じグレーレベルにある画像内の座標を通る等高線を決定するプログラム方法である。このタイプの画像処理ルーチンの1つの例は、MathWorksからのMatLabにおけるimcontourである。このルーチンは、画像、及び等高線レベルの数を入力として得て、各レベルについて等高線を出力して、等高線を画像内のX座標とY座標との間の線分として指定する。この手法は、輝度最小値によって形成される信号谷部を通る線を作成することが理由で、高密度タイルからの光学コード信号を保持する。
【0207】
等高線は、高密度タイルの画素値のグローバル平均値よりも低いレベルで描かれる。この制約により、等高線によって規定されるループは、局所的最小値の周りをぴったりと回り、このループは、出力画像内に局所的なグレースケール低下を作成する。等高線のレベルが低すぎるとき、この方法は、タイル内の最も低い最小値の周りのみに等高線を有するスパースな光学コード信号を生成し、信号を回復するのに十分な情報を提供しないことがある。等高線レベルが高密度光学コード信号のグローバル平均に近すぎるとき、局所的最小値は、十分に強調されないことがある。したがって、光学コード信号を担持するアートワークの信号堅牢性及びスパース性の均衡を保つために、平均より約1標準偏差下であるレベルを選択することが望ましい。
【0208】
さらに別の例を提供すると、
図36は、スパースな点に縦線を置くことによって作成される光学コード信号タイル518を例証する。この手法は、暗い縦線をその輝度最小値にある座標を通って置くことが理由で、光学コード信号を保持する。
【0209】
このテーマで継続して、
図37は、コード信号内のスパースな座標のドロネー三角形分割から光学コード信号を構築する方法を例証するフロー図である。ソフトウェアモジュール520、522、526、及び528は、502、504、508、及び510としてモジュールについて説明されるように実施される。モジュール524は、光学コード信号の空間座標を接続する線分を、それらの座標における頂点のドロネー三角形分割を生成することによって、形成する。ドロネー三角形分割を実施するための好適なルーチンは、MathWorksからのMatLabにおけるQhull及びドロネー関数である。モジュール508について上に説明されるように、モジュール526におけるアートワーク内のシグナルリッチタイルのタイル化は、好ましくは、境界回り込み条件を使用して実行される。三角形分割の場合、これは、三角形分割が回り込みありで計算されることを意味する。これを達成するための1つの方法は、タイルの左縁から右縁及び上縁から下縁への回り込みを前提として境界におけるボロノイ領域を計算し、次いで、ボロノイグラフの双対からドロネー三角形分割を獲得することである。
【0210】
光学コードのタイルを構築することにおいて、モジュール522は、所望の間隔及びドット密度を考慮して、光学コード信号構成要素の輝度最小値に位置する頂点の座標を選択する。モジュール524は、
図33のモジュール506の特定の実装形態である。他のタイプの三角形分割は、最小値を接続する目的を達成するが、ドロネー三角形分割は、ボロノイ図と関連して以下に詳しく述べられるいくつかの利益を有する。ドロネー三角形分割は、平面内での点のセットの三角形分割であり、その結果として、任意の三角形の外接円の内側に点がない。それは、三角形の最小角度を最大限にし、これは細長い三角形を回避する傾向がある。
【0211】
デザインファイル内の光学コード信号を検証した後(528)、そのファイルのアートワークは、物体(例えば、パッケージ基材、ラベルなど)に印刷又はエンボス加工される530。
【0212】
図38は、
図37の方法によって作成される光学コード信号タイル532を例証する。
図38に描写されるように、頂点は、それらが複数の線分の集束部にあるため、出力画像の最も暗い点である。
【0213】
図34、
図35、及び
図38に示される4つの例は、輝度最小値に対応する信号タイル内の座標に暗いマーキングを置く技術を例証する。堅牢な光学コード信号を保持する補完的手法は、輝度最大値の周りの谷部に暗いマーキングを置くことである。本発明者らは、その例を示すことによってこれを例証し、ボロノイ図に基づいた手法から開始する。加えて、これらの手法の各々は、暗いアートワークでは逆にされ得、優先順位付けされた光学コード担持要素は、より暗い背景に対して輝度最大値(明るい画素)である。
【0214】
ボロノイ図は、平面の特定のサブセット内の点までの距離に基づいて平面を領域へと区切ることである。その点のセット(シード、サイト、又はジェネレータと呼ばれる)は、事前に特定され、各シードについて、任意の他のものよりもそのシードに近いすべての点からなる対応する領域が存在する。これらの領域は、ボロノイ領域と呼ばれる。各々のそのようなボロノイ領域は、半空間の交差点から獲得され、故にそれは、凸多角形である。ボロノイ図の線分は、2つの最も近いサイトに等距離である平面内のすべての点である。ボロノイ頂点(ノード)は、3つの(又はそれ以上の)サイトに等距離の点である。
【0215】
ボロノイ図は、ベクトル量子化と呼ばれる信号処理技術に応用される。ベクトル量子化は、確率密度関数がプロトタイプベクトルの分布によってモデル化される量子化技術である。それは、多くのデータ点セット(ベクトル、画素値のような)を、それらの最も近くにあるほぼ同じ数の点を有するグループに分割する。各グループは、その重心点によって表される。データ圧縮のためのベクトル量子化の応用は、最も少ない点を有するが、最も高い信号忠実性又は品質にある信号を表すことを求める。
【0216】
ボロノイ図は、信号の点を量子化ビンへとグループ化するための方法を提供し、各ビンは、ビンの重心によって、又はボロノイ領域の場合は、領域の重心によって表される。本発明者らの応用において、目的は、所望のレベルの視覚的品質及び信号堅牢性を達成すると同時に、最も少ない光学コード信号点を有する所望の光学密度にある光学コード信号を作成することである。ボロノイ図の本発明者らの適応は、マーキング要素間の所望の間隔を提供し、芸術的効果を有するパターンを生成すると同時に、光学コード信号を表すために必要とされる点を最小限にすることによって、この目的を達成する。
【0217】
ボロノイ図は、ドロネー三角形分割の双対グラフである。ドロネー三角形分割内の三角形の外接円の中心を接続することにより、ボロノイ図を生成する。ボロノイ図は、MathWorksからのMatLabにおけるボロノイ関数を使用して、又はQhullプログラムによって計算されるドロネー三角形分割により、実施され得る。Qhullは、各ボロノイ領域についてボロノイ頂点を出力する。
【0218】
図39は、光学コード信号の最大値から導出されるボロノイ図から光学コード信号を構築する方法を例証するフロー図である。ここでは、モジュール534、540、542、及び出力マーキング544は、
図37内のそれらの対となるもの(520、526、528、及び530)と同様である。
図37及び
図39の方法は、モジュール536が最大値を見出し(対して、522では最小値)、モジュール538が最大値の座標からボロノイ図を形成するという点で異なる。加えて、モジュール540において、タイル化方法は、好ましくは、境界において計算されるボロノイ領域に基づいてトロイダル又は周期境界条件などの境界回り込み条件を用いる。
【0219】
図40は、
図39の方法によって作成される光学コード信号タイル550を例証する。
図40に描写されるように、ボロノイ図の線は、タイル550の最も暗い点である。
図41~
図42は、アートワーク要素の形状、具体的には、葉552及び554、に適合するようにマスクされた、光学コード信号のさらなる例を例証する。ここでは、ボロノイ図内の線分は、葉552、554内の葉脈の自然のパターンを形成する。
【0220】
図43~
図44は、高密度光学コード信号タイル内の最大値の座標から生成される光学コード信号タイルのさらなる例を例証する。光学コード信号タイル556は、最大値の座標の周りに正方形をプログラム的に形成することによって生成される。同様に、
図44のタイル558は、最大値の座標の周りに矩形を形成することによって生成される。
【0221】
図43~
図44の光学コード信号タイルは、以下の動作に従って生成される:
【0222】
光学コード信号タイルを、例えば、
図3~
図5の方法、又は同様のものを使用して、生成する。
【0223】
画素値に基づいてタイル内の最大値を識別する。
【0224】
正方形、円形、矩形、三角形などの形状にある図形要素を置く。
【0225】
最大値を識別するプロセスは、代替の方法で実施されてもよい。1つの手法において、プログラム方法は、振幅によってタイル内の画素値をソートし、最大振幅の画素から始めて、振幅の順に画素を選択し、最小間隔距離内の後続の画素を却下する。最小間隔距離は、以前に選択された最大値の侵入禁止領域内にある最大値を却下することによって評価される。この手法は、
図14と関連してスパースな信号生成について本文書において説明されるものと同様である。本文書に説明されるように、この選択プロセスは、画素値を値によりビン内へグループ化すること、及び/又は、ソート前の前処理ステップとして、しきい値比較動作によって画素を除去することによって、高速化され得る。
【0226】
図形要素の配置は、同様に様々な方法で達成され得る。1つの手法において、画像編集プログラムが、画像内の画像要素を選択し、それらを、選択された要素の場所を中心として、異なる図形要素と置き換えるために呼び出される。代替の実装形態は、各々の新規要素が、上層に置かれ、その下のすべての要素をマスクするように、順次ランダムに処理する、画像要素を図形形状(例えば、正方形、円形、矩形、三角形など)と置き換えるMatLabルーチンを実行することである。要素の配置の順は、結果を変えるが、信号堅牢性に影響を及ぼさない。
【0227】
堅牢性を改善するために、プログラム実装形態は、結果をフィルタリングして、最終画像から小物体を除去しなければならない。特に、画像フィルタは、同じ領域内の複数の重複するマスク内のギャップに形成される8画素よりも小さい不規則な画像ブロブを除去する。これらの小さいブロブは、堅牢性を減少させ、視覚的品質を劣化させる。したがって、それらを除去することにより、光学コード信号の信頼性を改善し、また視覚的品質を改善する。
【0228】
点描法、ボロノイ法、及びドロネー法
【0229】
光学コード信号の信号堅牢性及び視覚的品質を最適化するテーマを継続して、本発明者らは、これより、光学コード信号を担持するアートワークを生成するための点描法へと移る。本発明者らの点描ベースの方法は、ベクトル量子化の性質、及びいくつかの実施形態においては、ボロノイ図を活用する。点描は、小ドットを使用することによって、グレースケールをシミュレートする、又はシェーディングするパターンの作成である。これらのドットは、任意の所望の色で作られ得、またそのようなものとして、任意の色のアートワーク要素を表すために使用され得る。さらに、ドットは、画像デザインファイルの1つ若しくは複数の色分解又はインクにおける輝度修正又はクロミナンス修正で光学コード信号を伝達するために使用され得る。ドットの空間密度の変動は、アートワーク内のグレースケールレベルに対応する領域における所望のグレースケール値又は強度の表現を可能にする。これらの変動が、今度は、光学コード信号タイルを伝達するためにアートワークの変調を促進する。
【0230】
図45は、データ担持アートワークを所望の密度で点描アートに変換するための点描法を例証するフロー図である。モジュール600において、この方法は、例えば、
図3~
図5に例証される技術及び上に説明される実施形態のいずれかを使用して、光学コード信号タイルを生成することによって始まる。
【0231】
次に、モジュール602は、光学コード信号タイルの修正をホストアートワーク内の対応するアートワーク要素に適用する。モジュールは、まず、タイルを、X及びY方向に冗長的に、タイルの領域に対応するアートワークの領域にマッピングする。次いでそれは、画素値(輝度又はクロミナンス)を、それらの画素にマッピングされるタイル内のビットセルにおける光学コードの値に対応するアートワークの場所において修正する。修正は、輝度又はクロミナンスに対する最大の正及び負の調整が非常に高くなり得ることを意味する高強度で適用され得るが、本方法は、依然として、十分な視覚的品質の出力画像を生成する。これの理由は、点描法が修正の視覚的影響を低減することである。
【0232】
モジュール604は、点描法を実行して、602から出力された修正画像を変換する。好ましくは、モジュール604は、重み付けされた重心ボロノイ図法を用いて、修正画像を表す点描パターンにおいて点描のための場所を生成する。
【0233】
次に、モジュール606は、光学コード信号の堅牢性が十分であることを検証する。この手法は、堅牢性予測と関連して以前に説明され、上で参照された堅牢性及び関連信号検出メトリックのうちの1つ又は複数を使用して実施される。
【0234】
最後に、検証された画像ファイルは、光学コード信号を運搬する、物理的物体、例えば、パッケージ、ラベル、又は他の基材を作成するために、物体に印刷される、又は別の方法でマークされる(608)。
【0235】
図46は、データ担持画像を所望の密度にある点描パターンに変換するための点描法を例証するフロー図である。この方法は、点描法が光学コード信号タイルに直接適用されるという点で
図45とは異なる。モジュール610、612、及び614は、
図45の600、604、及び606と同様に実施され、結果は、物体に、印刷されるか、又は別の方法でマークされる(616)。処理リソースを節約するために、モジュール610からの光学コード信号の単一のタイルが、点描パターンに変換され、境界回り込み条件が、上に説明されるように(特に、ボロノイベースの方法について)、タイルの縁に点描パターンを作成するために使用される。この手法は、単一のタイルが、より大きいアートワークのために点描パターンの生成を繰り返す必要性なしに、より大きいアートワーク領域に適合するように効率的にタイル化されることを可能にする。
【0236】
図47は、
図45の技術に基づいて点描パターンに変換された、信号運搬アートワークの例を例証する。この例では、モジュール602は、画像620内のアートワークの輝度を変調して、画像にわたって光学コード信号のタイルを埋め込む。関連手法において、モジュール602は、画像の色分解又は1つ若しくは複数のクロミナンスチャネルを変調するように構成される。モジュール602において実行されるこのプロセスは、
図47の左に示される信号運搬画像620を生成する。次いで、モジュール604の点描法は、画像620を点描パターン622に変換する。点描パターン622は、詳細を示すために拡大される。画像の通常スケールは、強力に埋め込まれた光学コード信号を伴ってさえも最終画像の視覚的品質を例証するために画像624として右端に例証される。
【0237】
図48は、光学コード信号タイル630の点描パターンの例を例証する。これは、所望のドット密度を有するスパースな光学コード信号を提供するために、
図46の手法を使用して生成される。
【0238】
図49は、光学信号を担持するアートワークの点描パターンを生成するために、重み付けされたボロノイ図を用いる方法を例証するフロー図である。このプロセスは、データ担持画像信号を生成することによって始まる。例えば、モジュール640は、
図45の600、602、及び
図47の620にあるように、タイルを生成し、タイルによりアートワークを変調することによって、又は、
図46の610にあるように、光学コード信号タイルを生成することによって、実施される。
【0239】
次に、本方法は、ベクトル量子化プロセスを開始して、モジュール640からの画像運搬信号出力を表すために点描の場所を決定する。この特定のプロセスは、シード点のセットから開始して重心ボロノイ図を生成することによってこれを行う。これらのシード点は、入力画像内の画素場所にランダムに位置付けられ得る。しかしながら、より良い性能のため、所望の出力により近いと思われる点を選択することが好ましい。本文書に説明されるスパースな信号の生成方法は、シード点を選択するための1つの手法を提供するが、それは、これらの方法が、所望のドット密度について光学コードの所望の堅牢性を提供する各タイル内の高優先度のコード信号構成要素の場所を選び出すことを目的としているためである。したがって、モジュール642の好ましい実装形態は、モジュール640からの入力画像の光学コード信号に対してスパースな信号の生成プロセスを実行する。他の手法は、シード点位置間の最小間隔距離によって制約される、点の等間隔アレイ、又は点の疑似ランダムに選択されたセットから開始することを含む。例えば、間隔は、ドット間の侵入禁止距離として以前に説明されるものなどの最小距離パラメータによって制約され得る。
【0240】
モジュール644は、642によって提供されるシード点の現在のセットからボロノイ図を計算する。上で述べたボロノイ図ソフトウェアは、モジュール644を実施するために使用され得る。
【0241】
次に、モジュール646は、各ボロノイ領域の重心を計算する。このモジュールは、例えば、参照により本明細書に組み込まれる、A.Secord、“Weighted Voronoi Stippling”、Proc.2nd Ann.Symp.Non-Photorealistic Animation and Rendering(NPAR 2002)、ACM Press、2002、pp.27-43(“Secord”)においてSecordによって説明される重心を計算するための方法を使用して実施される。Secordでは、領域iの重心Ciは、以下のように定義される。
【数1】
【0242】
式中、Aは領域であり、xは位置であり、ρ(x)は密度関数である。Secordは、重心を計算する最適化された方法について説明する。重心についての上の式における積分は、恣意的なボロノイ領域上のものである。Secordの方法は、これらの積分を反復積分に変換し、領域を1行ずつ積分する。これにより、本方法が、積分の事前に計算された部分に依存することが可能なる。事前に計算された部分を除外した後の最終的な計算は、y方向における数値積分、及び領域境界のx値における式の計算を含む。これは、積分計算を、画像の密度関数、乗算、及び減算から事前に計算される値のルックアップテーブルへの探索に変換する。Secordはまた、解像度の影響を受けるボロノイ領域(ボロノイ領域内の画素が減少するにつれて重心位置の誤差は増大し、点の生成は、低解像度では重複し得る)の離散演算によって引き起こされる問題にどのように対処するかについて説明する。Secordは、Hoffが、Hoff III,K.、Culver,T.、Keyser,J.、Lin,M.、及びManocha,D.、1999、“Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware”、In Proceedings of SIGGRAPH 99、ACM Press/ACM SIGGRAPH、New York、A.Rockwood,Ed.、Computer Graphics Proceedings、Annual Conference Series、ACM、277-286において、解決策を提供していることを記している。
【0243】
次に、モジュール648は、ボロノイ領域内の重心に対する各点の場所を更新する。モジュール642~648のルーチンは、点が重心に集束するまで、又は既定の限界に達するまで反復する(650)。この時点で、本方法は、プログラムを呼び出したプロセスに対する制御へ戻る(652)。反復のたびに、最後の反復からの点は、新規の反復のための開始シード点である。実施者は、限界又は集束のいずれか最初に発生する方に対して、反復の数を制限することを選択し得る。密度関数による重心計算の重み付けは、より低い密度領域よりも入力画像のより高い密度領域の近くに点を詰め込む傾向がある。光学コード信号の場合、これは、点が信号のピークの周りに集まるという有益な効果を有し、これは、信号の堅牢性に対してより高い優先度を有する。さらに、透かし画像が入力として提供される場合、本方法は、より少ない数の点描で画像のより正確な表現を作り出すため、画像のより高い視覚的品質を提供する。両方の場合において、本方法は、ベクトル量子化を提供して、入力画像のグレースケール値への適合を最適化する代表的な点描により各ボロノイ領域内の画像を表す。
【0244】
その利益にもかかわらず、
図49の方法は、信号担持アートを生成するデバイスの計算リソースが限られているいくつかの応用においては、好適ではない場合がある。デバイス内のタスクに割り当てられるCPU又はプロセッサの処理能力が限られているいくつかのタイプのラベルプリンタ又はパーソナルコンピュータワークステーションがこれに当てはまり得る。加えて、それは、固有の光学コード信号が、異なる光学コードでアイテムの固有インスタンスをマークするために、限られたレイテンシ(“リアルタイム”)を有する印刷又はマーキングエンジンに提供される必要があり得るシリアル化方法には好適ではない場合がある。そのような場合、リアルタイム制約は、各々のシリアル化されたインスタンスのマーキング間の時間内に、固有にマークされた画像を生成するために割り当てられる時間に関して規定される。ラベルプリンタでは、これは、各々の新規のラベルを印刷する間の時間である。市販のデジタル印刷機では、これは、パッケージデザインの新規のシリアル化されたインスタンスを生成することに割り当てられる時間である。事前に計算された固有インスタンスをバッファに入れ、それらをマーキングエンジンに供給することが可能であり、これによりレイテンシを低減する。しかしながら、この手法は、固有画像をマーキングエンジンメモリ内へ移動させるために、追加のメモリ、及びおそらくはメモリ帯域幅能力を必要とする。例えば、デジタル印刷機の場合、これは、固有画像をデジタルフロントエンドから印刷エンジンへ転送することを必然的に伴う。
【0245】
図50~
図51は、光学コード信号を担持するアートワークを生成するための必要な計算を減少させる二部式の方法を例証する。
図50のプロセスは、既定の数の量子化レベルへの明から暗のダイナミックレンジの量子化の各レベルを表す、異なるグレーレベルについての点描パターンを事前に計算する。
図51のプロセスは、次いで、事前に計算された点描パターンを使用してアートワークを信号運搬アートに変換する。
【0246】
図50は、異なるドット密度にある光学コード信号の点描パターンを生成する方法のフロー図である。モジュール660は、高密度光学コード信号タイルを、本文書内でそれらについて詳しく述べる様々な実施形態を含め、例えば、以前に説明される
図3~5の技術のいずれかを使用して、生成する。
【0247】
モジュール662は、既定の数のグレーレベルの各レベルにおいてタイルのグレーレベルバージョンを生成する。1つの手法は、各グレースケールレベルタイルのビットセルに対応する画素における輝度に対する正/負の調整を導くために、高密度光学コード信号を使用して、各レベルにおいてグレースケールレベル画像に対して調整を適用することである。
【0248】
次に、モジュール664は、点描パターン法を実行して、各グレースケールレベルタイルを点描パターンに変換する。1つの手法は、
図49の方法を使用することである。
図49の方法は、次いで、それを呼び出したプロセスに対する処理制御へ戻る(666)。この時点で、点描パターンは、高速探索のために、計算及び記憶されている。これらのパターンは各々が、それらのそれぞれのグレースケールレベルでタイルの光学コード信号を担持する。
【0249】
別の方法は、段階的なグレースケール層に対してよりシームレスな重み付けされたボロノイ点描を実施することを求める。まず、この方法は、最も高いグレースケールレベルで点描パターンを計算する。次いで、それは、以下のように、次に低いグレースケールレベルで点描パターンを生成する:ボロノイセル及び各セルの重心を計算し、次いで、より高い層内の最も近い近隣点描によって規定される領域に対応するセルの重心を計算する。これは、ボロノイセルではない。目的は、シームレスな移行を達成するために、より高い層内の点描のギャップに点描を置くことである。次いで、現在の層内の各点描を、現在の層内の重心ベクトルにはより高い重み付けを伴って、現在のボロノイセルの重心及びより高い層内の最も近い近隣セルの重心の重み付けされたベクトル合成へと移動させる。これは、滑らかに変化するグレースケール領域内での点描ドットのよりシームレスな移行をもたらし得る。しかしながら、グレースケール値がレベル間で不連続に急増するときは、縁における点描アーチファクトの可能性がある。
【0250】
図51は、アートワーク内の光学コード信号タイルを符号化するために以前に生成された点描パターンを適用するフロー図である。アートワークは、パッケージデザインの色チャネル内で画像又は図形要素として表される。モジュール670は、アートワークを、X及びY方向に継続的に配置されアートワークの形状に適合するようにトリミングされた、タイルの領域に対応する領域に区分する。これは、信号担持タイルをアートワーク内の場所に効果的にマッピングする。マッピングされたタイルの各セルは、アートワーク内の画素の領域に対応する。
【0251】
次に、モジュール672は、マッピングされたタイルの各々のセルをステップスルーし、アートワーク内の対応する画素領域におけるグレースケールレベルを取得する。それは次いで、アートワークにマッピングされたタイルのセル位置に対応する点描パターン内のセル位置において、そのグレースケールレベルについて、事前に計算された点描パターンの対応する点描パターンを探索する。モジュール674において、本方法は、このセル位置におけるアートワークを点描パターンに置き換える。モジュール672~674は、点描パターンがアートワーク内のセルのすべてについて完了するまでこのプロセスを繰り返す。本方法は、次いで、それを呼び出したプロセスに対する処理制御へ戻る(676)。
【0252】
本発明者らは、ボロノイ法、ドロネー法、及び点描法の代替の実施形態を開発した。これらのボロノイ、ドロネー、及び点描の実施形態では、本方法は、まず、点ハーフトーンを生成し(様々な方法のいずれかによって、例えば、Secord法、スパースなマーク生成など)、次いで、それらの点に基づいて、ボロノイ、ドロネー、又は点描パターンを作成する。例えば、ボロノイ領域が、これらの点の周りに形成されるか、ドロネー多角形が、これらの点を交差するように描かれるか、又は、点描が、これらの点に置かれる。点ハーフトーンは、光学コード信号タイル(例えば、結合されたペイロード及び参照信号のグレースケール画像)、又は、光学コード信号をタイル化し、次いで、光学コード信号をホスト画像内に埋め込むために、タイル化された光学コード信号に従ってホスト画像の画素値を修正することによって埋め込まれている画像から生成され得る。計算効率は、本文書に説明されるスパースな点の構成を生成するより計算的に高効率の方法の中から選択することによって改善され得る。例えば、1つの手法は、光学コードを表す画像又は光学コードを埋め込まれた画像のグレースケール値をソートし、次いで、特定の密度又は審美的効果が達成されるまで、ソート順に、所望の間隔を有する点を選択することである。この選択は、ボロノイ、ドロネー、又は点描パターンを作成するために使用される点のスパースな構成を作成する。
【0253】
図53は、ボロノイパターンで形成される光学コードを担持する画像の例を示す。ここでは、ロゴのグレースケール画像(“d”デザイン)は、光学コード信号を含むように修正され、次いでスパースな点のハーフトーンに変換され、最後に、スパースな点に基づいてボロノイパターンへと変換される。ボロノイパターンの特徴は、所望の審美的効果を作り出すために、画像にわたって様々である(例えば、暗に対する明、及び明に対する暗、変化する線密度又は幅)ということに留意されたい。
図54及び
図55は、グレースケールレベルが線密度(
図54)及び線幅(
図55)を変化させることによって作成されるボロノイ領域のハーフトーンパターンを示す。
【0254】
特定の実装形態を参照して本技術の原則を説明及び例証してきたが、本技術は、多くの他の異なる形態で実施され得るということを認識されたい。
【0255】
別途示されない限り、用語“スパース”は、本明細書で使用される場合、所望の空間密度制約を満足する離間した要素を有する信号パターンを指す。パターンは、典型的には、2値であり、例えば、パターンの画像は、マーキングあり又はなしに対応する“オン”又は“オフ”値のいずれかを有する。光学コードが空白領域に適用されるいくつかの実施形態において、それは、基材のうちの50%以下が、対比的なマーク(例えば、白色基材上のインク、又は対比的なインクで囲まれる明るい空所)をもたらすようにマークされる2色コードであるように構成される。そのような応用については、より典型的には、マークは、30%未満のそのようにマークされた基材を有し、光学コードが、人間にはあまり知覚できないこと、及びテキストとの干渉を回避することを目的としている場合には、2~15%の印刷密度が最も一般的である。光学コード信号の実施形態は、マーキング要素のそのような低密度にある必要はない。マーキング要素は、シグナルリッチアートデザイン内で光学コードを伝達するように所望の輝度又は強度変動を提供するために、変化する密度、サイズ、及び形状を伴って、タイル内に配置され得る。
【0256】
本明細書は、参照信号構成要素を、異なる空間周波数の正弦波からなると説明するが、参照信号は、代替的又は追加的に、直交パターンを含み得る。これらもまた、異なる外観のパターンを獲得するために、振幅が変化し得る。
【0257】
詳述した技術のうちのいくつかは、白色背景に黒色ドット(又はその逆)を印刷することによってコードを形成する文脈において説明されているが、コードは別の方式で形成され得るということを認識されたい。例えば、透明ニス又は他の表面処理が、表面の反射性を、例えば、艶ありと艶消しとの間で、局所的に変化させるために施され得る。同様に、コードは、局所的に隆起した又は凹んだ特徴部などによって、3D形式で形成され得る。3D信号は、タイル内又はタイルによって変調されるアートワーク内の空間的X、Y位置のための強度値によって形成され、タイル又はアートワーク内のセル位置における強度値は、凹部の深さ及び高さ、並びに3D信号の局所的に隆起した表面に対応する。この3D信号は、次いで、エンボス加工、彫刻、又はエッチングによって基材内へ形成される。エンボス加工は、3D信号(又はその反転)から形成される表面を有するプレートを基材に押圧することによって実行される。又は、エンボス加工は、3D信号(又はその反転)でマーキングされている型を介して3D信号を適用することによって実行される。レーザ彫刻又は3D印刷は、基材、エンボス加工プレート、又は型上に3D信号を作製するために用いられ得るさらなる技術のうちの一部である。レーザアブレーションは、例えば、識別子、収穫日、消費期限、及び/又は生産国などを伝達するために果物及び野菜の皮にデータマーキングを生成するのに良く適している。(スパースなマークは、本明細書で詳述される場合、細長い要素に起因して皮を破る可能性が高い直線状の1Dバーコードよりも果物/野菜に引き起こす損傷が少ない。)
【0258】
本明細書は、白色基材上の黒色ドット又は線によって形成される光学コード要素に焦点を合わせているが、色付きマークが、白色背景上に、又は対比色(より明るい又はより暗い)の背景上に、使用され得るということを認識されたい。同様に、明るいマークが、黒色又は色付き背景上に形成され得る。いくつかの実施形態において、スパースなマーキングの色は、ラベルなど、1つのホストアートワークにわたって変化し得る。例えば、ドットは、1つの領域ではシアン、第2の領域では黒、及び第3の領域ではパントン9520 Cであってもよい。
【0259】
明るいドットが暗い背景上に形成される構成において、「明るい」画素は、本明細書内のアルゴリズム的記述において「暗い」要素に取って代わらなければならない(及び高い信号値が低い信号値に取って代わる)。
【0260】
本明細書は、高密度コードからスパースなコードを生成するため、及び高密度コードを必要とすることなくスパースなコードを生成するための多くの構成について詳述してきた。ペイロード及び参照信号を含む複合コードは、最も一般的に使用されるが、構成は、ペイロード又は参照信号だけからなる光学コードに様々に適用され得る。さらには、他の場所で述べられるように、ペイロードデータは、参照信号によって(例えば、いくつかの空間周波数成分の存在又は不在によって)伝達され得る。同様に、参照情報は、ペイロード信号によって伝達され得る(例えば、ペイロードデータ内の固定ビットを使用し、以て、検出器が復号のためにペイロード信号を位置特定することができる既知の信号特徴を有する暗黙的な同期信号を形成することによって)。
【0261】
1つの構成は、高密度コード内の極端な低値(即ち、暗い)の場所を識別するために、高密度コードにしきい値処理演算を適用することによってスパースコードを作成する。これらの場所は、次いで、スパースブロック内でマークされる。しきい値レベルは、結果として生じるスパースなマークの印刷密度を確立する。
【0262】
別の構成は、参照信号の最も暗い要素を識別し、これらをペイロード信号の暗い要素と論理AND演算子によって結び、以て、マークが形成されるべきスパースな信号ブロック内の場所を識別する。しきい値は、どの参照信号要素が検討に値するほど暗いかを確立することができ、この値は、所望の印刷密度を達成するために変化し得る。
【0263】
さらに別の構成は、相対的により高い解像度で生成される参照信号、及び相対的により低い解像度で生成されるペイロード信号を用いる。後者の信号は、2つの値のみを有し(即ち、それは2色である)、前者の信号は、より多くの値を有する(即ち、それは、2値グレースケールなどの多階層であるか、又は浮動小数点値からなる)。ペイロード信号は、参照信号の高い方の解像度へ補間され、その過程で2色形式から多階層へ変換される。2つの信号は、高い方の解像度で結合され、しきい値処理演算が結果に適用されて、極(例えば、暗い)値の場所を識別する。ここでも、これらの場所は、スパースブロック内でマークされる。しきい値レベルは、ここでも、結果として生じるスパースなマークの印刷密度を確立する。
【0264】
さらに別の構成は、ここでも、相対的により高い解像度で生成される参照信号、及び相対的により低い解像度で生成される2色ペイロード信号を用いる。マッピングは、ペイロード信号の各要素が参照信号の4つ以上の空間的に対応する要素と関連付けられるように、2つの信号の間に確立される。暗いペイロード信号の各要素の場合、参照信号内の4つ以上の空間的に対応する要素のうちの最も暗いものの場所が識別される。マークは、スパースなブロック内の対応する場所に付けられる。
【0265】
さらなる構成は、高密度多階層参照信号ブロックに基づく。この信号の要素は、値によってソートされて、各々が場所を有する最も暗い要素を識別する。これらの最も暗い要素はペアリングされる。1つの要素は、ペイロードのビットに従って各ペアリングから選択される。選択された暗い要素の場所に対応する、スパースブロック内の場所は、スパースな信号を形成するためにマークされる。
【0266】
複合コードに作用する構成は、特定の可視性又は堅牢性目標を達成するように、1:1とは異なる比率で参照信号及びペイロード信号を重み付けすることをさらに含み得る。
【0267】
これらの構成の各々は、マークの凝集を防ぐために、光学コードタイル内の候補マークに間隔制約を適用する動作をさらに含み得る。間隔制約は、円形、楕円形、又は他の(例えば、不規則な)形状である侵入禁止ゾーンの形態をとり得る。侵入禁止ゾーンは、2つ以上、又は2つ以下の対称軸を有し得る(又は有さない)。間隔制約の実施は、光学コードタイル内の各場所について1つの要素を有する関連付けられたデータ構造を用いることができる。暗いマークがタイルに追加されると、対応するデータが、間隔制約に起因して潜在的なマーキングのためにもはや利用可能でない場所を識別するデータ構造で記憶される。
【0268】
六角格子は、2次元領域内の点の最適な詰め込みをもたらす。本発明者らは、点の間の円形侵入禁止領域を使用することが、最も近い近隣部を等距離に保ちながら効果的な詰め込みをもたらすということを見出した。これは、マーキング要素の視覚的に満足のいく構成をもたらす。
【0269】
シグナルリッチアート要素の局所的なグレースケール制御は、図形要素のサイズ並びに図形要素間の間隔を変化させることによって制御され得る。ドットの場合、これは、ドットサイズ及びドット間の間隔が、所望のグレースケール制御を達成するために増大又は減少され得ることを意味する。ドットは、暗に対する明、又は明に対する暗であってもよい。ドットは、円形、正方形、又は他の形状を有し得る。
図29は、50%グレースケールで反転する、黒色の上の白色ドット(グレースケール範囲の暗い半分)及び白色の上の黒色ドット(グレースケール範囲の明るい半分)の組み合わせを使用することによって達成される、グレースケール値の範囲を例証する。代替的に、白色ドットの半径が、ゼロから、画像内のセルを充填する最大値へと徐々に増大されて、徐々に明るくなるセル内のグレースケールレベルを得る。又は、黒色ドットの半径が、徐々に明るくなるセル内のグレースケールレベルへと徐々に減少され得る。
【0270】
線ベースのシグナルリッチアート実施形態の場合、マーキング要素サイズ及び形状を変化させる同様の効果が当てはまる。明るい背景上の暗い線が、徐々に太くされるか、又は細くされて、より暗い又はより明るいグレースケールレベルを得る。同様に、暗い線の間隔が、徐々に減少又は増大されて、より暗い又はより明るいグレースケールレベルを得る。ボロノイ領域の場合、例えば、暗い線から形成される領域は、より近くに詰め込まれ、及び/又は線が太くされて、より暗いグレースケールレベルを得る。
【0271】
シグナルリッチアート法の計算効率は、光学コード信号、又は光学コード信号を埋め込まれた画像(入力画像)を生成し、入力画像のグレースケール値をソートし、次いで、シグナルリッチアート要素のハーフトーンパターンを、入力画像のグレースケール値に対応する出力画像内の場所に置くことによって改善され得る。別個の処理ステップにおいて、要素のハーフトーンパターンは、
図29に示されるものに類似したいくつかの離散グレースケールレベルの各々において作成される。これらのハーフトーンパターンは、グレースケール値によりインデックスされるルックアップテーブルに記憶される。出力画像内にシグナルリッチアートを作成するため、本方法は、入力画像のグレースケール値の順にシグナルリッチアート要素を置いて、所望の空間密度及び要素間の最小間隔を有する出力画像を獲得する。ソート順に訪れた各場所において、本方法は、その場所における入力画像のグレースケール値に対応するように、事前に計算されたハーフトーンパターンからシグナルリッチアート要素を選択する。このプロセスは、入力画像を、光学コード信号が強力に表されるシグナルリッチアートに変換する。
【0272】
この方法は、異なる形状及び線画からなるドットパターンを含む、他のタイプの基本図形から作成されるハーフトーンパターンに有効である。異なるドット形状及びサイズの例については、
図56~
図59を参照されたい。
図56~
図57は、変化するグレースケールレベルを形成する変化するサイズ(並びにドットの明るいバージョン及び暗いバージョン)の正方形ドットを示す。
図58~
図59は、同様の効果を円形ドットにより示す。
図60~
図61は、異なるグレースケールレベルでハーフトーンパターンを形成する円の間の距離の変化を伴った暗い円及び明るい円を示す。
【0273】
光学コードのマーキング領域内のグレースケールレベルを変化させるこれらの方法は、光学コードの堅牢性を維持しながらアートワークの所望の視覚的美観を作り出すために様々な組み合わせで使用され得る。
【0274】
これらの構成の各々において、参照信号は、空間周波数ピークの相対振幅を、それらがすべて等しい振幅でないように変化させることによって、非ランダムな外観を有するように調整され得る。参照信号外観のそのような変化は、スパースな信号外観に対して結果的に影響を有する。
【0275】
これらの構成はまた、非線形フィルタを多階層コード(例えば、元の高密度コード)に適用して、スパースブロック内に最も効果的にマークを形成することにより、印刷されないスパースな要素によって表される情報を表現する場所を識別する動作を含み得る。次いで、これらの場所は、スパースブロック内にマークを付けるための場所を選択することにおいて優先される。
【0276】
高密度コードからスパースコードを形成するための手段は、詳述したアルゴリズムのいずれかを実施するように構成される、本明細書に(即ち、動作環境と表題の付いた議論において)詳述されるハードウェア構成のいずれかを用いることができる。
【0277】
本明細書は、いくつかの異なる実施形態について論じた。1つの実施形態と関連して詳述される方法、要素、及び概念は、他の実施形態と関連して詳述される方法、要素、及び概念と組み合わされ得る。一部のそのような構成が、具対的に説明されているが、一部は、並べ替え及び組み合わせの数に起因して、説明されていない。出願者は、本明細書の方法、要素、及び概念が、それらの中から、及びそれらの間に限らず、引用された先行技術から知られているものとも、組み合わされ得る、代用され得る、及び交換され得るということを同様に認識し、意図する。さらには、詳述した技術は、現在及び将来の他の技術と一緒に、有利な効果に含まれ得るということを認識されたい。そのような組み合わせの実装形態は、本開示に提供される教示から、当業者にとっては簡単である。
【0278】
本開示は、動作の特定の順序及び要素の特定の組み合わせについて詳述しているが、他の企図される方法は、動作を並べ変えてもよく(おそらくはいくつかを省略し、他を追加する)、他の企図される組み合わせは、いくつかの要素を省略し、他を追加してもよいなど、ということを理解されたい。一例を挙げると、1:1以外の重み付け構成でペイロード及び参照信号を結合すると説明される実施形態において、1:1の重み付けが代替的に使用され得る。
【0279】
完全なシステムとして開示されるが、詳述した構成の部分組み合わせもまた、別個に企図される(例えば、完全なシステムの様々な特徴を省略する)。
【0280】
包括的な開示を提供するため、米国特許法の簡潔性の要求に応じると同時に、出願者は、本明細書内で参照される文書の各々を参照により組み込む。(そのような資料は、たとえそれらの教示の特定のものに関連して上で引用されるとしても、それらの全体が組み込まれる。)これらの参考文献は、出願者が、本明細書内で詳述される構成に組み込まれることを意図する、また現在詳述される技術及び教示が組み込まれる、技術及び教示を開示する。
【0281】
上で論じられる原則及び特徴が適用され得る様々な実施形態の観点から、詳述した実施形態は、単に例証にすぎず、本発明の範囲を制限すると取られるべきではないことは明らかである。むしろ、出願者は、すべてのそのような修正が、以下の特許請求の範囲及びそれらの等価物の趣旨及び範囲内に入り得るものとして本発明を特許請求する。