(57)【要約】【課題】ペーパーストレージ用３Ｄドットコード。【解決手段】印刷できる状態になっている選択されたファイルのハートトーンドットにデータを直接埋め込む埋め込み器を用いて、３Ｄドットコードを印刷媒体に埋め込む。抽出器は、印刷媒体を走査して埋め込まれたビットを抽出してから、その埋め込まれたデータを解釈する。抽出器の中のブリードスルー除去モジュールは、ページの反対面のプリントからのブリードスルーが起こす、埋め込まれたデータの走査入力への悪影響を除去することができる。抽出器はまた、回転及び変換を自動検出してから、左上角が一定の位置にくるように画像レジストレーションを行なうことによって、位置がずれた走査入力を補償するモジュールを備えている。この操作により、データがブロックマッチングで読み出される後続のデータ検索が速くなる。【選択図】図１
2005218084.tif 000002
【特許請求の範囲】
【請求項１】
ドットコードシステムであって、
プリント媒体にデータをブロックに編成されたドットで埋め込むように構成された埋め込み器を備え、各ブロックは異なる２色で埋め込まれ、
印刷媒体上のドットブロックをデジタル信号に変換するように構成された抽出器を備え、抽出器には、
印刷媒体の片面に印刷されたものがドットブロックが埋め込まれた他面ににじみ出ることから起きるブリードスルーのブロック抽出への影響を軽減または除去するように構成されたブリードスルー除去モジュールがある、ドットコードシステム。
【請求項２】
２色とは黄色とマジェンタである、請求項１に記載のドットコードシステム。
【請求項３】
ドットは、プリント媒体に印刷されるプリントデータの処理中に生成されるハーフトーンドットである、請求項１に記載のドットコードシステム。
【請求項４】
埋め込み対象データをそれが埋め込まれる前にインタリーブするように構成されたインタリーバと、
インタリーバの逆操作を実行するように構成されたデインタリーバと、
をさらに備える、請求項１に記載のドットコードシステム。
【請求項５】
ドットコードシステムは命令プログラム及びグラフィカルユーザインタフェースを有する、請求項１に記載のドットコードシステム。
【請求項６】
命令プログラムはプリンタドライバに実装される、請求項５に記載のドットコードシステム。
【請求項７】
ドットコード埋め込み器であって、
プリント媒体にデータをブロック編成になったドットで埋め込むように構成された埋め込み器と、
埋め込み対象データをそれが埋め込まれる前にインタリーブするように構成されたインタリーバとからなるドットコード埋め込み器。
【請求項８】
２色とは黄色とマジェンタである、請求項７に記載のドットコード埋め込み器。
【請求項９】
ドットコード埋め込み器は命令プログラム及びグラフィカルユーザインタフェースを有する、請求項７に記載のドットコード埋め込み器。
【請求項１０】
命令プログラムはプリンタドライバに実装される、請求項９に記載のドットコード埋め込み器。
【請求項１１】
ドットコード抽出器であって、
印刷媒体に埋め込まれたドットブロックをデジタル信号に変換するように構成された抽出器からなり、抽出器には、
印刷媒体の片面に印刷されたものがドットブロックが埋め込まれた他面ににじみ出ることから起きるブリードスルーのブロック抽出への影響を軽減または除去するように構成されたブリードスルー除去モジュールがある、ドットコード抽出器。
【請求項１２】
ブリードスルー除去モジュールは、印刷媒体の片面に黒色印刷されたものがドットブロックが埋め込まれた他面ににじみ出ることから起きるブリードスルーのブロック抽出への影響を軽減または除去するように構成された黒ブリードスルー除去モジュールからなる、請求項１１に記載のドットコード抽出器。
【請求項１３】
ブリードスルー除去モジュールはさらに、印刷媒体の片面に黒でない色で印刷されたものがドットブロックが埋め込まれた他面ににじみ出ることから起きるブリードスルーのブロック抽出への影響を軽減または除去するべく黒ブリードスルー除去モジュールと共に動作するように構成された非黒ブリードスルー除去モジュールを有する、請求項１２に記載のドットコード抽出器。
【請求項１４】
各ドットブロックは、異なる２色で埋め込まれ、抽出器はその２色のうちの１色から各ブロックを抽出するように構成されている、請求項１１に記載のドットコード抽出器。
【請求項１５】
２色のうちの１色を一次抽出色と考え、他方の色を二次抽出色と考え、そして抽出器は先ず一次抽出色から各ブロックを抽出するよう試み、一次抽出色からのそのブロックの抽出の試みがうまくいかなかった場合に限り二次抽出色からそのブロックを抽出するよう試みるように構成されている、請求項１４に記載のドットコード抽出器。
【請求項１６】
一次抽出色は黄色で、二次抽出色はマジェンタである、請求項１５に記載のドットコード抽出器。
【請求項１７】
ドットコード抽出器は、印刷されている媒体の回転、変換、又はその両方を自動的に検出し修正するように構成されている、請求項１１に記載のドットコード抽出器。
【請求項１８】
ドットコード抽出器は命令プログラム及びグラフィカルユーザインタフェースからなる、請求項１１に記載のドットコード抽出器。
【請求項１９】
命令プログラムはプリンタドライバに実装される、請求項１８に記載のドットコード抽出器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ埋め込みに関し、より具体的には比較的に多数のビットを、例えば、普通紙などプリントアウトに埋め込むための技法に関する発明である。この技法は、方法として実現可能で、その際方法のステップ／態様はしかるべく構成された装置によって実行可能である。或いは、この技法を、例えば、デバイス可読媒体上のソフトウェアの形式で、命令プログラムとして埋め込むこともできる。この技法の応用には、ドキュメント管理、詐欺行為防止、在庫のトラッキング、ＩＤカード、部品のマーキング、製品のタグ付けなどがある
【背景技術】
【０００２】
普通紙にデータを埋め込むことは知られているが、これまでは比較的に単純な低容量データの埋め込みに限られていた。例えば、ゼロックス（Xerox）のデータグリフは、データ埋め込み及びデータ回復用６００dpiのプリント・スキャンスキームを前提として平方インチあたり約８キロビット記録することができる。また、PDF417と呼ばれる２Ｄバーコードは４００dpiのプリント・スキャンスキームを前提として平方インチあたり２１６０ビットしか記録できない。
【０００３】
そのために、応用範囲が広くなるという点でデータ埋め込み容量が高いほうが望ましい。
【０００４】
【特許文献１】米国特許第6625319号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、プリントアウトに高密度でロバストなデータ埋め込みを実現できる技法を提供することである。
【０００６】
本発明のもう一つの目的は、プリントアウトの反対面に比較的に大量の情報の埋め込みを可能にする３Ｄドットコード技術を提供することである。
【課題を解決するための手段】
【０００７】
発明の一つの態様により、埋め込み器並びに抽出器を備えるドットコードシステムを提供する。埋め込み器は、プリント媒体にデータをブロック編成になったドットで埋め込むように構成されており、各ブロックは、例えば、黄色とマジェンタといったように異なる２色で埋め込まれる。抽出器は印刷媒体上のドットブロックをデジタル信号に変換するように構成されている。発明によれば、抽出器にはさらにブリードスルー除去モジュールがある。このブリードスルー除去モジュールは、印刷媒体の片面に印刷されたものがドットブロックが埋め込まれている他面ににじみ出ることから生じるブリードスルーのドットブロック抽出への影響を軽減又は除去するように構成されている。
【０００８】
ドットは、プリント媒体に印刷されるプリントデータの処理中に生成されたハーフトーンドットが好ましい。
【０００９】
上述のドットコードシステムは、埋め込み対象データをそれが埋め込まれる前にインタリーブするように構成されたインタリーバと、インタリーバの逆の動作を行なうように構成されたデインタリーバとを備えているのがさらに好ましい。
【００１０】
ドットコードシステムを命令プログラム及びグラフィカルユーザインタフェースとしてインプリメントすることが可能で、命令はプリンタドライバに実装される。
【００１１】
もう一つの態様において、発明は、プリント媒体にデータをブロック編成（各ブロックは、例えば、黄色とマジェンタというように２色の異なる色で埋め込まれる）になったドットで埋め込むように構成された埋め込み器からなるドットコード埋め込み器と、埋め込み対象のデータをそれが埋め込まれる前にインタリーブするように構成されたインタリーバとを必要とする。
【００１２】
ドットコードシステムの場合と同様に、ドットコード埋め込み器を命令プログラム及びグラフィカルユーザインタフェースとしてインプリメントすることができ、命令はプリンタドライバに実装される。
【００１３】
また別の態様において、発明は、印刷媒体に埋め込まれたドットのブロックをデジタル信号に変換するように構成された抽出器からなるドットコード抽出器を必要とする。この抽出器にはブリードスルー除去モジュールがあり、このブリードスルー除去モジュールは、印刷媒体の片面に印刷されたものがドットブロックが埋め込まれている他面ににじみ出て起きるブリードスルーのドットブロック抽出への影響を軽減又は除去するように構成されている。
【００１４】
ブリードスルー除去モジュールは、印刷媒体の片面に印刷された黒い色のものがドットのブロックが埋め込まれている他面ににじみ出て起きるブリードスルーのドットブロック抽出への影響を軽減又は除去するように構成された黒ブリードスルー除去モジュールを備えているのが好ましい。
【００１５】
ブリードスルー除去モジュールはさらに、印刷媒体の片面に印刷された非黒色のものがドットのブロックが埋め込まれている他面ににじみ出て起きるブリードスルーのドットブロック抽出への影響を軽減又は除去するために黒ブリードスルー除去モジュールと共に動作するように構成された非黒ブリードスルー除去モジュールを備えているのが好ましい。
【００１６】
ドットの各ブロックは２色の異なる色で埋め込まれ、抽出器はその２色のうちの１色から各ブロックを抽出するように構成されているのが好ましい。その２色のうちの１色を一次抽出色（例えば、黄色）と考え、他方の色を二次抽出色（例えば、マジェンタ）と考える。抽出器は先ず一次抽出色から各ブロックを抽出するようにし、一次抽出色からのそのブロックの抽出がうまくいかなかった場合に限ってそのブロックの抽出を二次抽出色から試みるように構成されている。
【００１７】
ドットコード抽出器はさらに、印刷媒体の回転、変換、又はその両方を自動的に検出及び修正するように構成されているのが好ましい。
【００１８】
ドットコードシステム及び埋め込み器と同様に、ドットコード抽出器を命令プログラム及びグラフィカルユーザインタフェースとしてインプリメントすることができ、命令はプリンタドライバに実装される。
【００１９】
添付の図面と共に以下の説明及び請求項を読めば、発明を一層深く理解すると共に、発明の他の目的並びに成就が明白になるだろう。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【００２１】
2005218084.tif 000003
【００２２】
本発明の埋め込み容量は、先に説明したように、他のよく知られた技法のデータ埋め込み容量を超える。実際、本発明のデータ埋め込みスキームは平方インチあたり約１２キロビット埋め込むことができる。例えば、8.5インチｘ11インチの普通紙１枚に、本発明の３Ｄドットコードは（１バンドの場合で）約１５０キロビットまで埋め込むことができる。これは、約１０ページのマイクロソフト・エクセル（Microsoft Excel）、数分の圧縮された音声、又は８００ｘ６００のＪＰＥＧ画像など、様々なデジタルデータを記録するのに十分である。しかしながら、設定のロバストさいかんにより容量を小さくすることができる。シートの他面が多色印刷になっている状況で発生しやすい「ブリードスルーの問題」を克服ために、３Ｄコードは容量を犠牲にして数色の冗長な埋め込みを用いている。
【００２３】
本発明の埋め込み技法は、抽出技法ともども、一般的な話として、（i）ユーザにデータファイルを選択させてから、そのデータを印刷できる状態になっているハーフトーンドットに直接埋め込む埋め込み器と、（ii）印刷された用紙のスキャンコピーから埋め込まれているビットを抽出する抽出器とからなる３Ｄコードシステムで実現することができる。
【００２４】
埋め込み器と抽出器は各々複数のファンクションを実行可能で、しかもこれらのファンクションを実行するためのサブコンポーネント又はモジュールを含んでいるのが好ましい。先に簡単に述べたように、埋め込みデータの走査入力は印刷された裏面からのブリードスルーで劣化していることがある。そのために、この問題を克服するために抽出器にブリードスルー除去モジュールを提供している。３Ｄドットコードシステムは位置が正しくない走査入力を補償するモジュールも含んでいるのが好ましい。そうしたモジュールは回転や変換を自動的に検出してから、上左角が一定の位置にくるように画像レジストレーション（位置合わせ）を行なう。この操作によりその後のデータ検索（データ検索ではデータがブロックマッチングにより読み出される）が速くなる。
【００２５】
さて、図１に、発明の実施例の通りに構成された３Ｄドットコードシステムのブロック図を示す。埋め込みプロセスでは、バイナリデータファイルが埋め込み器１２に入力され、エラーコード修正（ＥＣＣ）によりＥＣＣブロック１３で符号化され、そして確率的及びバーストエラーが発生しないようにインタリーバ１４でインタリーブされる。データ埋め込み器１５において、インタリーブされたデータは次にドットのブロック状に埋め込まれる。その際、ブロックの大きさは２３ｘ２３が好ましい。好適な実施例では、ハーフトーン空間でドットのブロックを生成するようにプリンタドライバが修正される。ブロックをラスタ走査順に用紙に埋め込みことができる。出力装置の色空間の任意の色で、例えば、ほとんどのプリンタの色空間であるCMYK色空間にある色シアン（Ｃ）、マジェンタ（Ｍ）、黄色（Ｙ）、又は黒（Ｋ）のうちの任意の色で、データを埋め込むことができる。普通、用紙の反対面に何か印刷されている場合、その反対面に影響しないから、黄色のドットが好ましい。
【００２６】
抽出プロセスは埋め込みの逆操作である。印刷されてデータが埋め込まれている普通紙など、プリントアウトが抽出器１６に入力され、そこでデータ抽出、デインタリーブ、ＥＣＣがデータ抽出器１７、デインタリーバ１８、ＥＣＣ１９それぞれで発生する。これらのコンポーネント並びに３Ｄドットコードシステム１１の更なる詳細については、このシステムが実行する埋め込み及び抽出アルゴリズムとの関連において以下に説明する。
【００２７】
アルゴリズム
発明の通りに、普通紙など、プリントアウトに高密度でロバストなデータ埋め込みを実現する基本のアルゴリズムを以下に説明する。
【００２８】
A.埋め込み
A.1  エラーコントロール技法
基礎をなす物理的メカニズムが基本的な性能の限界になることがあるから、エラーコントロール技法の使用は重要である。
【００２９】
A.1.1  順方向エラー修正
順方向エラー修正（ＦＥＣ）コードを使用して伝送エラーを検出及び修正することができる。これは、或るコードワードが別の有効なコードワードになる確率がほとんどあり得ないという程度まで低下するようなコードワードを得るために情報ビットに冗長性を追加することによって実現される。線形ブロックコードと畳み込みコードという２つの主要なタイプのＦＥＣコードがある。この両者は細かい点では非常に異なるが、基本原理は同じである。本発明では、エラーコントロール技法として線形ブロックコードを使用するのが好ましい。
【００３０】
2005218084.tif 000004
【００３１】
エラー修正ファンクションは、図解した実施例におけるＥＣＣブロック１３及び１９によって実行される。
【００３２】
A.1.2  インタリービング
ほとんどのブロックコードは確率的独立エラーを減らすように設計されている。下に説明するように、データはブロック単位で埋め込まれると共に検索されるから、ブロックを読み取れないとバーストエラーになる。チャネルに乗っているバーストエラーを有するＦＥＣコードの性能をインタリーブすることによって向上させる。インタリービングの背景にある考えはエラーバーストを空間に拡散することである。埋め込み前に符号化されたメッセージをインタリーブすることでチャネルエラーのバーストをエラー修正デコーダが処理可能な確率的エラーとして空間に拡散させる。
【００３３】
2005218084.tif 000005
【００３４】
A.1.3  データ埋め込み
インタリーブされたデータはドットのブロックになって埋め込まれている。その際、連続するドット間の水平／垂直距離が２／３６０インチである２３ｘ２３のサイズを有するブロックが好ましい。従って、図解した実施例において、各ブロックは５２９個のドットを有する。各ドットは１ビット（１／０＝在／不在）を示しているから、各ブロックの生の容量は５２９ビットである。各ブロック内で、同期化に４１ビット（＝１１＋１９＋１１）が使用される。各ブロックはエラー修正されたデータビットのチャンク（コードワード）を２個保有し、各チャンクは長さが２５５ビットである。各チャンク内に、１６３の実ビット（同期ビットの１１を含む）があり、残りはエラー修正ビット（ＢＣＨ：１２／２５５ビットまでのエラーを修正する）である。要約すると、５２０ビットのブロックは、５２９＝２＊［Ｄ＋ｓ＋Ｅ］＋Ｓとして分割される。ここで、Ｄ＝１５２（＝１６３−１１）、ｓ＝１１、Ｅ＝９２（＝２５５−１６３）、Ｓ＝１９。ブロックはラスタ走査順に１ブロック幅のストリップに編成される。最初（左最上）のブロックは画像の幅及び高さと埋め込まれたビット数とを示す小さなヘッダを保持している。左最上のブロックは下記の値をもつ１６バイトのヘッダである：
最初の４バイトはnDataBytes（データバイト数）値をもつ、
次の４バイトはimW360（３６０ｄｐｉでのイメージの幅）値をもつ、
次の４バイトはimH360（３６０ｄｐｉでのイメージの高さ）値をもつ、
次の４バイトはリザーブされている（今のところ０）。
【００３５】
本発明のアルゴリズムは２バンド、つまり、２色の埋め込みに対応できる。２バンドで埋め込まれたドットブロックのレイアウトを図３に示す。このレイアウトにおいて、各行は２バンド／色からなる。この埋め込みスキームでは、ドットブロックのストリップが第１色、例えば、黄色で埋め込まれた後、第２色、例えば、マジェンタで同じブロックストリップを埋め込むために埋め込みプロセスが繰り返される。したがって、ブロック３１は黄色で埋め込まれ、ブロック３２はマジェンタで埋め込まれている点を除いて、ドットブロック３１とドットブロック３２は同じデータを保有している。図３に示した他の同様に位置するブロックの対の各々についても同じ関係が当てはまる。このように、同じデータセットが２バンドで埋め込まれる。抽出との関係において以下に説明する「ブリードスルーの問題」を補償するから、２バンドを用いることには利点がある。
【００３６】
埋め込みのプロセスが終わったら、３Ｄドットコード、つまり、埋め込まれた情報を保有しているプリントファイルが生成され、普通紙などプリント媒体にエプソンスタイラスカラー７４０（Epson Stylus Color 740）などインクジェットプリンタを使って印刷することができる。そうした環境において、３Ｄドットコードはプリンタドライバのハーフトーン空間に生成可能である。
【００３７】
B.抽出
B.1  走査の詳細
データ抽出器１７の構成要素をブロック図形式で示している図４で、抽出プロセスはスキャナ４１又はその他の適切なデータキャプチャ及びデジタル化装置を用いて３Ｄデータを保有している媒体を走査することによって始まることがわかる。走査は、＞３６０ｄｐｉ及びスキャナがサポートしている光学解像（一般的に６００ｄｐｉ）で行なわれるべきである。一つの実施例において、良好な走査画質を達成するための走査の設定は輝度が−４０、コントラストは＋４０である。
【００３８】
B.2  ストリップをセグメント化
３Ｄドットコードが埋め込まれたシートの走査入力は、図５に示すように、印刷されている裏面からのブリードスルーが原因で劣化することがある。図６に示すように多色ブリードスルーが発生することもある。ブリードスルーによってブロック抽出が妨げられることがあるから、黒のブリードスルー除去モジュール４２が設けられている。よくブリードスルーを起こす色は黒である。図７に示すように、走査された３Ｄドットコードカラーイメージ７１が参照番号７２、７３、７４でそれぞれ識別した赤（Ｒ）、緑（Ｇ）、青（Ｂ）のチャネルに分割されると、３つのチャネル全てがブリードスルーによって均等に影響を受ける。それは、画像をＹＵＶ色空間で見ると輝度チャネルＹだけが影響を受けるということである。そのために、黒ブリードスルー除去モジュール４２は画像をＲＧＢからＹＵＶの色空間に変換し、図７の機能ブロック７５の中に識別されているように、Ｙチャネル内の画素を全て同じ値に設定する。ブリードスルーのない再変換されたＲＧＢ（Ｒ’Ｇ’Ｂ’）画像から、黄色のドットコードの場合にはＢ’データ７７が抽出される。マジェンタのドットコードの場合はＧ’データが抽出される。
【００３９】
黒インクのブリードスルーは走査された画像のＲＧＢチャネルそれぞれにほとんど均等に影響するが、別の色のブリードスルーは１つか２つのチャネルだけにしか影響しないのが普通である。したがって、他の色のブリードスルーの場合、黒でない色のブリードスルーを黒のブリードスルーに変換するために何らかの追加処理が実行される。この追加処理は、必要ならば、図４に示すように、画像が黒ブリードスルーモジュール４２に入力される前に、非黒ブリードスルー処理モジュール４３において実行される。
【００４０】
黒でない色でブリードスルーが発生すると、デグラデーション関数がデグレードされたチャネルから取得され、ＲＧＢチャネル全てに影響する（濃くする）ようにその関数を影響を受けていないチャネルに適用する。モジュール４３において実行されるこのプロセスにより問題が黒インクブリードスルーの問題になる。黒インクブリードスルー問題に変換されたら、青のチャネルデータ（黄色のドットコード）又は緑のチャネルデータ（マジェンタのドットコード）を抽出するために、影響を受けている３Ｄドットコードが黒ブリードスルー除去モジュール４２を用いて復元されるので、ブリードスルーのない３Ｄドットコードが生まれる。したがって、ブリードスルーが多色の場合には、先ず修正して黒のブリードスルーの影響が生じるようにし、その後その黒のブリードスルーが除去される。
【００４１】
緑及び赤のブリードスルーの問題に対する追加処理を図８及び９にそれぞれ示した。
【００４２】
2005218084.tif 000006
【００４３】
したがって、画像７１ａ／７１ｂは、Ｒ”Ｂ”Ｇ”を生成するために、黒のブリードスルー問題に関して先に説明した変換／再変換操作を実行する黒のブリードスルー除去モジュール４２に入力される。図１０（ａ）のセグメント化された画像の中に表示されているように、ブリードスルーのない黄色の３ＤドットコードがＢ”データ８７／９７の黄色のバンドから抽出される。
【００４４】
2005218084.tif 000007
【００４５】
B.3  画像レジストレーション（位置合わせ）
走査及びセグメント化された入力画像は位置がずれていることがある。したがって、３Ｄコードシステム１１は回転及び変換を自動的に検出してから、左上角が一定の位置にくるように画像レジストレーションを行なう。このステップにより次に行なわれるデータ検索が速くなる。データ検索ではデータがブロックマッチングにより処理される。
【００４６】
検索対象のドットブロック数は非常に大きいことに注意。そのために、高速検索は重要な要素になる。各ブロック内で同期ビットを回転及び一致させるのに相当の時間がかかるから、高速検索には入力画像全体を回転させることが非常に重要である。そのために、発明はレジストレーションアルゴリズムを含んでいる。このアルゴリズムは走査された画像の回転を自動的に検出し、画像の左上点が（２０，２０）に位置するように画像を再回転及びシフトさせる。このアルゴリズムは、コードの上境界に沿って３Ｄドットコードの最上点を検出する。この最上部ドット集合から、線形回帰を用いて上境界線の直線方程式（line equation）を計算する。直線方程式を見出したら、その線に沿った一番左のドットが３Ｄドットコードの左上角になる。このドットは、走査された画像を回転させるための中心点としても使用される。この中心点を、回転後のドットコードが（２０，２０）で左上の角になるようにシフトさせる。
【００４７】
B.4  ブロックマッチング
埋め込まれたデータはブロックベースになっているから、相関ベースのブロックマッチングによりブロック単位で検索される。先に説明したように、各ブロックは同期化用の４１ビット（又はドット）を保有している。ブロックの中の同期ビットの位置は分かっているから、マッチングにこの位置情報を利用する。４０以上のドットが一致した場合には、タスクはブロックの中の２個のコードワードを読み取ることである。両コードワードがエラーコントロール技法によりうまく復号化されたら、ブロック検出は終了する。ブロック検出に失敗したら、探索位置を変えて新たなマッチングが開始される。探索位置ごとに、回転も適用される。先に説明したレジストレーションにより、回転の角度範囲は非常に狭い、ということは、マッチング速度が高速になるということである。レジストレーションによりシステムも埋め込まれたデータサイズ及び画像サイズを保有している左最上ブロックを簡単に突き止められるようになる。
【００４８】
基本的に、ブロック検索はＹ、つまり、黄色のストリップに埋め込まれたブロックに対して実行される。Ｙストリップの中のある特定のブロックのマッチングが失敗に終わったら、システムはその下に行き、Ｍ、つまり、マジェンタのストリップの中の対応する位置にあるブロックを探す。Ｍストリップの中のある特定のブロックのマッチングが終わると、次のブロックをＹストリップの中に探す。すなわち、黄色が一次抽出色で、マジェンタは二次抽出色である。非常にまれではあるが、Ｙ及びＭストリップのどちらにおいても或る特定のブロックのマッチングができないことがある。しかしながら、そうした場合には、次に抽出器がそのブロックで失敗したことを宣言し、そのブロックをスキップする。この失敗はバーストエラーになるが、デインタリービングを実行することによって、確率的エラーになるので、エラーコントロールを有するデコーダによって解決できる。
【００４９】
応用とインプリメンテーション
３Ｄドットコードはプリンタのプリンタドライバ内のハーフトーン空間で生成されるのが好ましい。また、プリンタはインクジェットプリンタが好ましい。ユーザは、エプソンカラープリンタなど、プリンタを用いて３Ｄコードを印刷することができる。
【００５０】
そのためには、埋め込み器１２及び抽出器１６を都合よくプリンタドライバの中にコマンドライン実行可能プログラムとしてインプリメントすることができる。埋め込み器プログラムが起動されると、図１１に示すように、ＧＵＩ埋め込み器１２のツールを保有している「データ埋め込み」というラベルの付いたメニュをグラフィカルユーザインタフェース（ＧＵＩ）として表示することができる。ＧＵＩの同じ画面に抽出器１６のツールメニュ「データ抽出」を表示することもできる。一つの実施例において、埋め込み器１２は、３Ｄドットコードフォーマットで埋め込む入力データファイルを選択、プリントアウトする出力プリントファイル名を選択、及びプリントファイルを作成するために埋め込む、という３ステップでインプリメントされる。図１１のＧＵＩは、埋め込み終了後の状況を示している。
【００５１】
ＧＵＩから抽出器１６を使用するのは込み入っていなくて難しくない。ほとんどの場合、画像は６００ｄｐｉで走査されているから、抽出器のデフォルト設定を変える必要がない。サブメニュ「選択画像をセグメント化」をクリックすることによって、入力画像がＹチャネル画像とＭチャネル画像にセグメント化される。次に、６００ｄｐｉでスケーリングされている画像が３６０ｄｐｉでサンプリングしなおされる。次に、サブメニュ「抽出！」をクリックすることによって、抽出アルゴリズムが、ＧＵＩの中に明記されているように、先ず画像の左上角を取り巻くエリアの中の左最上ブロックを探す。ほとんどの場合、デフォルト設定で問題ないはずである。
【００５２】
図１２に示すように、入力画像を選択した後、低解像度版の画像がＧＵＩウィンドウ内の右側に表示される。図１３は、黄色のバンドに３Ｄドットコードを有するセグメント化された画像を示している。図１４は、ブロック全体の読み取りがうまくいったときのメッセージを示している。
【産業上の利用可能性】
【００５３】
上述の説明から実証されるように、本発明はプリントアウトに高密度且つロバストなデータ埋め込みを可能にする３Ｄドットコード埋め込み／抽出アルゴリズムを提供するものである。このアルゴリズムには、ドキュメント管理、詐欺行為防止、在庫のトラッキング、ＩＤカード、部品のマーキング、製品のタグ付けなど、様々な用途がある。考えられる一つの応用のシナリオは、プリントアウトの裏面にエクセルデータを埋め込み、受け取った人がその埋め込まれた３Ｄドットコードデータを走査した後エクセルデータをもっと自由に修正及び処理できるようにすることである。
【００５４】
発明をいくつかの具体的な実施例と共に説明してきたが、当業者ならば上記の説明に照らして多数の更なる変形例、修正例、変更例が明白である。したがって、本書で説明している発明は、添付の請求項の精神並びに範囲から逸脱しない限りにおいて、そうした全ての変形例、修正例、変更例を含むものと考える。
【図面の簡単な説明】
【００５５】
【図１】発明の実施例通りに構成された３Ｄドットコードシステムのブロック図。
【図２】発明のインタリービング・プロセスの概略図。
【図３】２バンドで埋め込まれたドットブロックのレイアウト概略図。
【図４】発明の実施例通りの３Ｄコードシステムの抽出器のブロック図。
【図５】３Ｄドットコードが埋め込まれたシートの裏面からのブリードスルーを示す図。
【図６】多色ブリードスルーのある３Ｄドットコードが埋め込まれたシートを示す図。
【図７】黒のブリードスルー除去モジュールのファンクション図。
【図８】緑と赤のブリードスルー処理モジュールそれぞれのファンクション図。
【図９】緑と赤のブリードスルー処理モジュールそれぞれのファンクション図。
【図１０】黄色とマジェンタのバンドそれぞれから抽出されたブリードスルーのない３Ｄドットコードを表わすセグメント化された画像を示す図。
【図１１】本発明の実施例通りの埋め込み器及び抽出器のコントロールを含んだグラフィカルユーザインタフェース（ＧＵＩ）を示す図。
【図１２】図１１に示したものと類似したＧＵＩを示す図で、右上のウィンドウに選択された入力画像が表示されている。
【図１３】図１１に示したものと類似したＧＵＩを示す図で、右上のウィンドウにセグメント化された画像が表示されている。
【図１４】図１１に示したものと類似したＧＵＩを示す図で、うまくコード抽出できたことを示している。
【符号の説明】
【００５６】
１１・・・３Ｄドットコードシステム
１２・・・埋め込み器
１３・・・ＥＣＣブロック
１４・・・インタリーバ
１５・・・データ埋め込み器
１６・・・抽出器
１７・・・データ抽出器
１８・・・デインタリーバ
１９・・・ＥＣＣ
【図１】
2005218084.tif 000008
【図２】
2005218084.tif 000009
【図４】
2005218084.tif 000010
【図３】
2005218084.tif 000011
【図５】
2005218084.tif 000012
【図６】
2005218084.tif 000013
【図７】
2005218084.tif 000014
【図８】
2005218084.tif 000015
【図９】
2005218084.tif 000016
【図１０】
2005218084.tif 000017
【図１１】
2005218084.tif 000018
【図１２】
2005218084.tif 000019
【図１３】
2005218084.tif 000020
【図１４】
2005218084.tif 000021