(57)【要約】  【課題】  【解決手段】本発明はビジュアルコードシステムを開示し、カメラ内蔵式の携帯電話（または無線ＰＤＡなどの同様のデバイス）が、１以上の「ビジュアルコード」を含む画像を特定しデコードするのに利用される。コードタグを認識することにより、デバイスは、タグ（コード値）に符号化されたビットパターンまたは整数、対象とするオブジェクトまたは画像要素、およびカメラの視角などの追加的なパラメータを決定する。コード認識は、モバイルデバイス自体で行われる。モバイルデバイスに無線通信チャネルが組み込まれている場合、モバイルデバイスは、検知されたコードおよびパラメータに基づいて、オンラインコンテンツを検索し、インターネット上の情報にアクセスする。次いで、検索されたコンテンツはモバイルデバイス上に表示できる。【選択図】図２
2008544336.tif 000002
【特許請求の範囲】
【請求項１】
ビジュアルコードを復号する方法であって、
デジタルカメラを装備するモバイルデバイスを利用して、ビジュアルコードの画像を取得するステップと、
前記ビジュアルコード画像をグレースケール化するステップと、
前記ビジュアルコード画像を閾値化するステップと、
前記ビジュアルコード画像内の関心のある領域を特定するステップと、
前記ビジュアルコード内の異なる領域の向きおよび形状を算出するステップと、
前記ビジュアルコード画像内の前記ビジュアルコードの位置を特定するステップと、
前記ビジュアルコード画像内の位置が特定された前記ビジュアルコードを評価するステップとを備えることを特徴とする方法。
【請求項２】
請求項１に記載のビジュアルコードを復号する方法がさらに、
前記ビジュアルコード画像をグレースケール化する前に、前記画像のレンズによる放射状の歪みを修正するステップを備えることを特徴とする方法。
【請求項３】
請求項１に記載のビジュアルコードを復号する方法において、前記ビジュアルコードを評価するステップが、
画像座標系からビジュアルコード座標系への前記ビジュアルコードの射影写像を演算するステップと、
前記ビジュアルコード座標系から前記画像座標系への前記ビジュアルコードの射影写像を演算するステップと、
前記ビジュアルコード画像内の位置が特定された前記ビジュアルコードの回転角を演算するステップと、
前記ビジュアルコードの水平および垂直傾斜値を演算するステップと、
前記モバイルデバイスからの前記ビジュアルコードの距離を演算するステップと、
前記ビジュアルコード内の符号化されたビットをリードするステップとを含むことを特徴とする方法。
【請求項４】
請求項３に記載のビジュアルコードを復号する方法がさらに、
前記ビジュアルコードのエラー検出を実行するステップを備えることを特徴とする方法。
【請求項５】
請求項３に記載のビジュアルコードを復号する方法において、前記ビジュアルコードが、３つのコーナストーンと、小さなガイドバーと、大きなガイドバーとで構成されることを特徴とする方法。
【請求項６】
請求項５に記載のビジュアルコードを復号する方法において、個々のビジュアルコードは、前記コーナストーン、前記小さなガイドバー、および前記大きなガイドバーにより位置が特定されることを特徴とする方法。
【請求項７】
請求項３に記載のビジュアルコードを復号する方法において、前記ビジュアルコードは、３つのコーナーストーンと、小さなガイドバーと、大きなガイドバーとで構成されており、前記小さなガイドバーおよび前記大きなガイドバーの向きは、前記ビジュアルコードの回転角を演算するステップと、前記ビジュアルコードの距離を演算するステップと、前記ビジュアルコードの傾斜を演算するステップとで利用されることを特徴とする方法。
【請求項８】
請求項１に記載のビジュアルコードを復号する方法において、前記ビジュアルコード画像をグレースケール化するステップは、赤および緑のピクセルの値を平均して、各グレースケールピクセルの値を算出することにより実行されることを特徴とする方法。
【請求項９】
請求項８に記載のビジュアルコードを復号する方法において、前記グレースケール化されたビジュアルコード画像は、加重移動平均アルゴリズムを用いて白黒画像に変換されることを特徴とする方法。
【請求項１０】
請求項３に記載のビジュアルコードを復号する方法において、前記小さなガイドバーおよび前記大きなガイドバーは、所定の範囲の軸の比率を有する前記ビジュアルコード画像の位置を特定する領域であることを特徴とする方法。
【請求項１１】
請求項５に記載のビジュアルコードを復号する方法において、前記３つのコーナーストーンおよび前記大きなガイドバーは、（０，０）、（１０，０）、および（０，１０）の位置にあり、前記大きなガイドバーの中心は、前記ビジュアルコード座標系の（８，１０）の位置にあることを特徴とする方法。
【請求項１２】
請求項３に記載のビジュアルコードを復号する方法において、前記回転角と、水平傾斜値と、垂直傾斜値と、前記ビジュアルコードの距離とで構成されるグループのうちの少なくとも一つが、前記ビジュアルコードが配置されるメニューからオプションを選択するのに利用されることを特徴とする方法。
【請求項１３】
請求項５に記載のビジュアルコードを復号する方法において、複数のビジュアルコードがグリット上に整列されて、複数のビジュアルコードに含まれる、より多くのデータを蓄積し、前記ビジュアルコードを評価するステップがさらに、前記コードのグリッドを特定するステップを含むことを特徴とする方法。
【請求項１４】
請求項１に記載のビジュアルコードを復号する方法において、前記復号はリアルタイムで行われ、前記復号の結果は、前記モバイルデバイスのディスプレイで見ることができることを特徴とする方法。
【請求項１５】
請求項３に記載のビジュアルコードを復号する方法において、前記モバイルデバイスに対する前記ビジュアルコードの向きは、データベースからエントリを選択するパラメータとして利用されることを特徴とする方法。
【請求項１６】
請求項１５に記載のビジュアルコードを復号する方法において、前記ビジュアルコードの復号値は、前記データベースからエントリを選択する追加的なパラメータとして利用されることを特徴とする方法。
【請求項１７】
請求項１５に記載のビジュアルコードを復号する方法において、前記データベースは、異なるＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒｓ）を少なくとも一つの向きの値と関連付けることを特徴とする方法。
【請求項１８】
請求項３に記載のビジュアルコードを復号する方法において、前記ビジュアルコードと前記モバイルデバイスとの距離が、データベースからエントリを選択するパラメータとして利用されることを特徴とする方法。
【請求項１９】
請求項３に記載のビジュアルコードを復号する方法において、前記モバイルデバイスに対する前記ビジュアルコードの傾斜角は、データベースからエントリを選択するパラメータとして利用されることを特徴とする方法。
【請求項２０】
請求項１５に記載のビジュアルコードを復号する方法において、前記データベースは、向きの角度をフォームのエントリと関連付け、これにより、前記モバイルデバイスのユーザが、前記モバイルデバイスの向きを前記ビジュアルコードに変更することにより、フォームからエントリを選択できるようにすることを特徴とする方法。
【請求項２１】
請求項１５に記載のビジュアルコードを復号する方法において、前記データベースは、映画の粗筋、ビデオクリップ、オーディオファイル、および映画評論記事で構成されるグループの少なくとも一つに前記向きの角度を関連付けることを特徴とする方法。
【請求項２２】
請求項１に記載のビジュアルコードを復号する方法において、前記ビジュアルコードは、赤外線インクを用いて印刷されるとともに、前記デジタルカメラは、前記赤外線のビジュアルコードを取得可能な赤外線カメラであることを特徴とする方法。
【請求項２３】
請求項３に記載のビジュアルコードを復号する方法において、カメラ画像内の目に見える１以上のコードのコード座標系で表示される対象位置は、データベースからエントリを選択するパラメータとして利用されることを特徴とする方法。
【請求項２４】
請求項２３に記載のビジュアルコードを復号する方法において、前記ビジュアルコードの復号値は、前記データベースからエントリを選択する追加的なパラメータとして利用されることを特徴とする方法。
【請求項２５】
請求項１４に記載のビジュアルコードを復号する方法において、図形のオーバーレイがカメラ画像を覆い、前記オーバーレイは、前記モバイルデバイスが移動して、前記ビジュアルコードの向きが変わるのに伴い、常にカメラ画像内の対象物と幾何学的に整列されることを特徴とする方法。
【請求項２６】
請求項１に記載のビジュアルコードを復号する方法において、前記デジタルカメラを前記ビジュアルコードに向けることは、前記モバイルデバイスのスクリーンに表示される十字線により容易になることを特徴とする方法。
【請求項２７】
請求項２６に記載のビジュアルコードを復号する方法において、前記モバイルデバイスのスクリーンはタッチスクリーンであり、前記十字線の位置は、対象位置を特定するスタイラスを利用することにより特定されることを特徴とする方法。
【請求項２８】
請求項４に記載のビジュアルコードを復号する方法において、前記エラー検出は、リードソロモンエラー検出を用いて実行されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願のクロスリファレンス
本出願は、２００４年４月１９日に出願された暫定出願第６０／５６３，６６９に基づいて２００５年４月１３日に出願された米国特許出願第１１／１０５，１５０の利益を主張すると共に、これらの出願は、その全体が本明細書に組み込まれており、これらの出願に基づく優先権が主張されている。
【０００２】
本発明は、カメラを内蔵するモバイルデバイスを利用して、コードを読み取ることができるデコーディング機器に関する。特に、本発明は、復号可能なビジュアルコードであって、カメラを内蔵するモバイルデバイスにより視覚的に利用できる独自に開発したビジュアルコードを開示する。
【背景技術】
【０００３】
バーコードは、物を特定し値段を付けるために、３０年以上前から利用されている。最も一般的には、バーコードは、商品の品目を特定するために小売りで利用されている。例えば、１ガロンのミルクは、スキャンしたときに、レジ係にミルクの価格を通知するバーコードが含まれている。
【０００４】
しかし近年では、バーコードは、コンピュータおよびバーコードスキャナが持ち運び可能になるに伴い、新しい目的を得るようになっている。現在では、従来の１次元のバーコードをスキャンするのに必要な回路構成は、通常のキーホルダほど小さいデバイスに組み込むことができる。このため、レーザ式のスキャニングデバイスを多くの携帯電話、個人用デジタル補助装置（「ＰＤＡ」）、およびポケベルに組み込みおよび接続できる。これによりモバイルデバイスは、スキャンされた数百または数千のバーコードを記憶可能なスキャナとして機能することができる。
【０００５】
スキャナが取り付けられたモバイルデバイスは、無線電子ビジネスにおける新しいニッチな分野の開発を可能にしている。いくつかの会社は、ユーザが任意のバーコードをスキャンし、スキャンした製品についてのメディア情報（例えば、ウェブサイト、製品説明、価格等）にリダイレクト可能なソフトウェアおよびハードウェアを開発している。これらのプログラムは、物理的な世界と、これまで存在しなかったオンライン世界とのリンクを提供する。
【０００６】
しかしながら、スキャナが取り付けられたモバイルデバイスは、モバイル市場への拡大を阻止するいくつかの欠点がある。第１に、集積レーザ型スキャナを備える公衆向けに製造されたモバイルデバイスが少ない。したがって、モバイルデバイス用のスキャニングの機能を得るために、ユーザは付加的な機器を購入しなければならない。また、付加的なスキャニング機器は、モバイルデバイスの大きさや重量を増加させ、これにより移動性が低下する。
【０００７】
最近では、多くの携帯電話およびモバイルデバイスは内蔵型カメラを利用できる。低価格のデジタルカメラの可用性の拡大やモバイルデバイスへの組み込みは、いくつかの要因により実現される。最も重要なものの一つに、ＣＭＯＳ技術による安価な画像センサの最近の可用性がある。これらのデバイスのカメラは、従来はレーザスキャナによってのみアクセス可能であったバーコード情報を取得する手段を提供する。モバイルデバイスに組み込まれたデジタルカメラからのバーコード画像をデコーディングすることは、いくつかの困難な問題がある。これらの問題は、商用のバーコードリーダによって解決できる課題を超えている。
【０００８】
したがって、カメラを内蔵するモバイルデバイスで復号可能なビジュアルコードシステムの必要性が明らかに存在する。ビジュアルコードシステムは、異なる応用例で利用するために広範囲の角度および距離から復号できるべきである。
【発明の開示】
【課題を解決するための手段】
【０００９】
本発明のビジュアルコードシステムにより、カメラを内蔵するモバイルデバイスが、独自に開発した２次元のビジュアルコードのセンサおよびデコーダとして機能する。ビジュアルコードは、書類に印刷でき、電子スクリーンに表示でき、または物理的な対象物に付けることができ、対象物に関連する情報および機能にアクセスするキーとして機能する。
【００１０】
モバイルデバイスは常にユーザの手元にあり、日常生活で利用できるため、このような方法によりモバイルデバイスを強化することが期待されている。これらは、連続的なワイヤレス接続性を提供し、カメラを内蔵するモデルは、より一層人気になっている。さらに、これはインタラクションの自然な方法を提供し、データエントリをより容易にする。
【００１１】
ビジュアルコードシステムは、ほぼリアルタイムでカメラの画像に文字情報または図形情報を付加する原理を提供し、ユーザが「拡張現実」を知覚するようにする。これにより、情報が物理的な対象物に密接に関連付けられる状況では、広範な応用例の可能性が生じる。
【００１２】
一例として、この分野のデバイスまたは装置の保守管理がある。例えば、装置の個々の部品は、異なるビジュアルコードに関連付けてもよい。異なるビジュアルコードを復号することにより、画像のアイテムと整列される図形情報をカメラの画像に付加することができる。他の応用例の可能性には、保守管理の指示を示すこと、スペアパーツを発注すること、保守管理スケジュールを確認することなどが含まれる。他の密接に関連する応用例には、通信販売カタログの便利な注文、オンラインバンクの応用例における参照番号のエントリ、新聞に関する最新のオンラインコンテンツへのリンク、モバイル市場の広告キャンペーンのサポート、テレビコマーシャルとの統合、テレビコマーシャルの投票または購入、イベントのチケット予約、およびモバイルデバイスのインタラクションを簡単にすることが含まれる。
【００１３】
本発明のビジュアルコードシステムの主要な特徴は、方向が独立した組み込み式の座標系、回転角の決定、傾斜の決定、アイテムの選択およびフォームのエントリなどの多くの応用を可能にする距離の決定である。認識アルゴリズムは、ビジュアルコードにより決定される座標系に対して、対象位置の座標を精密に決定する。座標は、カメラ画像内のビジュアルコードの向き、傾斜、または回転角と独立している。これにより、応用例では、情報および特定の動作と表示される画像（即ち、任意の形状の領域）の各位置を関連付けることができる。単一のビジュアルコードは、そのような複数の領域（例えば、テーブルまたは要素の個々のセルおよび画像の領域）と関連付けることができる。
【００１４】
認識アルゴリズムは、付加的な入力パラメータとして、カメラの画像内のビジュアルコードの回転角を提供する。これは、モバイルデバイスとのインタラクションを簡単にするのに利用できる。モバイルデバイスの向きを変更するだけで、異なる情報が、キーパッドを介したインタラクションなしに表示される。水平および垂直傾斜は、前述したような方法（即ち、異なる情報を異なる傾斜角に関連付けること）により、付加的な入力パラメータとして利用される。画像座標系とコード座標系とのマッピングもまた、カメラ画像内の射影の歪みを補正（un-warp）し、これにより、自動的にフォーム要素を取得する。印刷されたフォームの個々の領域は補正されて歪みが除去され、これにより、オンラインサーバにこれらの領域を送信するなどの他の処理をするためにこれらの領域を準備する。
【００１５】
インタラクションシナリオ
携帯電話またはＰＤＡが現実世界の対象物用のセンサとして機能するように強化された場合、新規のインタラクションの可能性が広がる。ユーザを取り囲む物理的な世界とバーチャル世界とのギャップは、日常生活のデータを「ピックアップ」する自然な方法を提供することにより埋められる。情報は、物理的な実体と結びつけられ、現実世界のコンテキストに付けられ配置される。携帯電話は、どこでも利用でき、常にユーザの手元にあるデバイスであるため、この目的に貢献するのに優位な位置にある。コードを認識するのに必要とされる短いインタラクション時間は、携帯端末の設定の有用性に不可欠である。
【００１６】
ビジュアルコードを利用可能な多くの応用例のシナリオが存在し、通信販売のカタログでは、アイテムはビジュアルコードをスキャンニングすることにより選択でき、容易に注文できる。オンラインバンキングの応用例では、長い参照コードまたはトランザクションの数は、印刷されたフォームから手動でコピーする必要がある。ビジュアルコードおよび携帯電話は、この処理を実行する高価な専用デバイスの代わりとなることができる。新聞では、ビジュアルコードは、新聞記事を蓄積または評価し、広告に関する背景情報を取得し、または株価および天気予報などの直ぐに古くなる情報を更新するのに利用できる。コード座標系を利用することにより、オンラインコンテンツと関連付けられる所定の感度領域（sensitive region）によって、印刷された画像マップを規定することができる。このように、単一のコードは複数のアイテムに関連付けられ、例えば、地図上の領域は、この領域に対応する天気予報に関連付けることができ、株価を含む印刷されたテーブルは、電話に表示されるチャートにリンクさせることができる。
【００１７】
モバイル市場の新しい分野では、ビジュアルコードは、ＳＭＳ活動およびＳＭＳくじ（ＳＭＳlotteries）を単純化するのに利用できる。広告宣伝活動では、コカコーラは、１億６０００万本のソフトドリンク缶のラベルにコード番号を印刷した。番号をＳＭＳ介して送信することにより、顧客は、ロゴ、着メロ、およびグリーティングカードを手に入れ、くじ引きに参加できた。３．７％の応答率に相当する５９０万のＳＭＳメッセージが送信された。ビジュアルコードを利用することにより、ユーザの処理が簡単になり、商業的に非常に関心のあるこのような活動に対する関心がより高くなる。
【００１８】
また、提案されている２次元コードは、コンピュータのモニタ、ＴＶスクリーン、公共のウォールディスプレイ、ハンドヘルドなデバイスの小さな画面などの電子的なスクリーンに表示するのに適している。（テレビ番組で最もよい候補者を選択するといった）テレビでのアンケート、調査、および投票は、スクリーン画像上にビジュアルコードを表示することにより実現できる。このアイデアは、商業的な意味をもつ。音楽会社Polydorは、ＣＤを宣伝するＴＶコマーシャル内でＳＭＳをモバイルレスポンスチャネルとして利用した。視聴者は、公式の発売日よりも前にＳＭＳを介してＣＤを注文することができ、これにより、たちまち売上高を増やした。さらに、ビジュアルコードを利用することにより、応答率は実質的に増加した。
【００１９】
カメラを内蔵する携帯電話は、対象物のＩＤを読み出すだけでなく、より複雑な態様としてインタラクションの利用できる。また、我々のコード認識システムは、電話の向き、回転量、および画像中心座標を提供する。
【００２０】
したがって、本発明の目的は、ビジュアルコードと、座標系に対するカメラ画像内の対象位置の座標を決定する、関連する認識アルゴリズムとにより規定される、方向が独立した座標系を利用するビジュアルコードシステムを提供することである。
【００２１】
本発明の別の目的は、単一のコードにより複数の画像領域と協同するビジュアルコードシステムを提供することであり、各領域は、異なるオンライン情報および異なる領域に関連する動作にリンクしている。
【００２２】
本発明のさらに別の目的は、回転を決定する特徴と、垂直および水平傾斜を決定する特徴と、距離を決定する特徴とを含み、異なる回転、傾斜、および距離の値を異なる情報に関連付けることができるビジュアルコードシステムを提供することである。
【００２３】
本発明の別の目的は、アイテムの選択、文中での情報の表示、（例えば、モバイルデバイスの画面または近くにある電子的なディスプレイ上の）図形、（例えば、モバイルデバイスのスピーカ、ヘッドホン、またはイヤホンを介した）聴覚または（例えば、電話の振動による）触覚の形態、およびトリガーする特定の動作のために、本発明のビジュアルコードシステムを利用することである。
【００２４】
本発明の別の目的は、文字または図形のフィードバックが、カメラの画像自体に重ね合わされ、画像に存在するアイテムと正確に整列（「登録」）されることにより、ユーザに「拡張現実」の感覚を与える応用例を提供することである。
【００２５】
本発明のさらなる目的は、ビジュアルコードシステムが、データエントリを容易にするために、印刷されたフォームとともに使用される応用例を提供することである。
【００２６】
本発明のこれらのおよび他の目的は、以下の詳細な説明および添付図面により明らかとなるであろう。
【発明を実施するための最良の形態】
【００２７】
以下は、本発明の好適な実施例（および代替的な実施例）の詳細な説明である。しかしながら、当業者にとって、説明する実施例は、広範な様々な状況に応じて最適とするために形式や内容を修正してもよいことは明らかであろう。
【００２８】
初めに図１を参照すると、本発明で使用されるビジュアルコード１０１の一例が示されている。ビジュアルコード１０１は、ビジュアルコード１０１の位置および向きを決定するための大きなガイドバー１０３および小さなガイドバー１０５と、実際のコードビットを有するデータ領域および歪みを検出する３つのコーナーストーン１０７，１０９，および１１１とで構成されている。図示されているビジュアルコード１０１の種類は、８３ビットの容量を有するが、この設計は一般的であり、より大きなビット数に拡張するのに適している。ビジュアルコード１０１は、小さくて斜めになった質の低い画像であっても確実に発見できる。
【００２９】
ビジュアルコード１０１は、通常のインクまたは赤外線インクを利用して印刷してもよい。ビジュアルコード１０１を印刷するのに赤外線インクを使用した場合、デジタルカメラは、赤外線画像を特定できなければならない。赤外線インクは、ビジュアルコード１０１が肉眼では確認できないため有利である。したがって、モバイルデバイスのデジタルカメラが使用されているときに本発明のアルゴリズムが背後で常に動作している場合、ビジュアルコード１０１を復号化して、特定の情報を現わすのに利用できる。
【００３０】
３つのコーナーストーン１０７，１０９，および１１１は、コードにより生じる座標系を規定する。コーナーストーン１０７は原点または（０，０）の位置にある。同様に、コーナーストーン１０９は（１０，０）の位置にあり、コーナーストーン１１１は（０，１０）の位置にある。この座標系では、大きなガイドコーナ１０３の中心は（１０，５）の位置にあり、一方小さなガイドバー１０５の中心は（８，１０）の位置にある。コードは、コードの周囲の単一のコード要素に対する空白部分（座標系システム内に１ユニット）を必要とする。複数のビジュアルコードは隣同士に印刷され、例えばグリッド上に配置される。２つの隣接するコードの周囲にある単一のコード要素の空白部分（座標系システム内に１ユニット）が必要である。
【００３１】
次に、図２を参照すると、ビジュアルコード１０１を復号する、カメラを内蔵するモバイルデバイスが使用するステップを示すフローチャートが示されている。初めに、デジタルカメラで取得された画像は、ステップ２０１において放射状の歪みが補正される。デジタルカメラから通常取得される画像は、いくらかのバレル歪曲がある。しかしながら、レンズによる放射状の歪みは、特にコードが画像内の小さな領域にある場合、最近の携帯電話のカメラにとって問題ではない。この歪みは、各ピクセルを画像の中心に向かって移動させることにより補正される。置換は、画像中心からのピクセルの距離にのみ依存し、補正される特定の画像に依存しない。以下の補正関数により、適切な計算結果が得られる（ｘおよびｈはそれぞれ、画像のピクセル幅および高さであり、ｒは画像中心からの距離であり、ｋは、レンズの放射状の歪みの量を表わす定数である）：
2008544336.tif 000003
ノキア７６５０の一体型カメラの場合、手動のテストにより、ｋ＝６×１０−７が許容可能であることが分かった。比較的新しいノキア６６００，７６１０，および６６３０の場合、補正の必要はなかった。ノキア７６５０の場合であっても、コード認識は、補正することなく機能した。
【００３２】
通常、単一のビジュアルコードはカメラ画像の小さな領域のみにあるため、ステップ２０１は任意である。この場合、レンズによる放射状の歪みは重要ではない。しかしながら、カメラ画像のアイテムを正確に選択するようないくつかの応用例では、このステップは、精度が増すであろう。
【００３３】
次に、画像内の３色チャネルはシャープネスおよびコントラストの質がしばしば異なるので、画像はステップ２０３でグレースケール化され、適切に閾値化される。したがって、アルゴリズムは、より簡単なバージョン、グレー＝（赤＋緑＋青）／３またはＩＴＵにより標準化された輝度の式Ｙ＝０．２１２６赤＋０．７１５２緑＋０．０７２２青の代わりに、式グレー＝（赤＋緑）／２を利用する。この式は計算効率がよく、閾値化の適切な開始位置を生成する。
【００３４】
カメラ画像の輝度は一定しておらず、また印刷されたコードは不規則に照射されるため、グレースケール画像の白黒バーションを生成するために、適切な方法が用いられる。アルゴリズムは、画像の上を蛇のように横断するときに、グレー値の（加重）移動平均を利用する。平均ｇｓ（ｎ）は、以下の式により更新される。
2008544336.tif 000004
ここで、ｐｎは、現在のピクセルのグレー値を意味しており、ｓは、移動平均の範囲を示している。ｇｓは、
2008544336.tif 000005
により初期され、ここで、ｃはグレー値の取り得る最大値である。次いで、閾値化されたピクセルＴ（ｎ）の色が、以下の式に基づいて選択される。
2008544336.tif 000006
ｔおよびｓの推奨値は、ｔ＝１５で、Ｓ＝１／８Ｗであり、ここで、ｗは画像の幅である。
【００３５】
ステップ２０３において画像がグレースケール化された後、アルゴリズムは、ステップ２０５において、画像の異なる領域の特定および分類を試みる。このステップは、隣接する黒いピクセルの領域を発見するステップと、これらをカウントするステップと、それぞれに数を割り当てるステップとからなる。用いられるアルゴリズムは、周知の２段階の方法である。第１の段階では、画像は列毎に測定され、発見された領域に予備のラベルを割り当てる。この処理の間では、異なるラベルを有する２つの領域は、実際には同一の領域になることがある。この場合、２つの暫定的なラベルの同値は、テーブルに記録される。第２段階では、対応する領域をマージすることによりこの同値を決定し、最終的なラベルを各領域に割り当てる。
【００３６】
次にアルゴリズムは、ステップ２０７において異なる領域の形状と向きを算出する。発見された領域内の方向バーの候補を特定するために、２次モーメントの概念が用いられる。ピクセルＲのセットで構成され、重心
2008544336.tif 000007
を有する領域の２次モーメントは、以下の式により決まる。
2008544336.tif 000008
ここで、
2008544336.tif 000009
これらのモーメントから、領域と同じ長軸および短軸を有する楕円Ｅ＝｛（ｘ，ｙ）｜ｄｘ２＋２ｅｘｙ＋ｆｙ２≦１｝は、以下の設定により決定できる。
2008544336.tif 000010
長軸および短軸の長さの比率は、領域の「偏心率」を測定するのによく、完全な円形および四角形は、比率が１と同じであるのに対し、線分は比率が０に近い。これは、バーのような形状を有する領域を特定するのに非常に役に立つ。さらに、領域の長軸の方向ベクトルは、以下のように算出できる。
2008544336.tif 000011
ここで、
2008544336.tif 000012
【００３７】
異なる領域の形状および向きが特定されると、アルゴリズムは、ステップ２０９にてコードの位置を特定し評価するステップを実行する。画像内のコードの位置を特定することは、ガイドバーの候補を探し、関連するコーナーストーンを発見することにより行われる。ガイドバー候補は、軸の比率が十分に小さい（例えば、０．０５以下）領域を単に選択することにより見つけられる。これらの各候補のために、領域の大きさおよび向きが、小さなガイドバー１０５および３つのコーナーストーン１０７，１０９，および１１１の予想される位置を判断するのに利用される。次いで、これらの特徴が、予想される位置に実際に存在するか確認される。発見されたコーナーストーンの候補は、軸の比率が特定の限度よりも大きい場合にのみ許容される（前述したように、理論上は比率が１と同じであるべきである）。コードの特徴（コーナーストーン１０７，１０９，および１１１および小さなガイドバー１０５）のいずれのもが、ガイドバー候補として存在しない場合、この特定の候補は放棄され、次の候補が調べられる。
【００３８】
ここで、図３を参照すると、図２のコードの位置を特定するステップ２０９により利用されるステップを示すフローチャートが示されている。初めに、アルゴリズムは、ステップ３０３において、コード座標から画像座標への射影写像（projective mapping）（および画像座標からコード座標への逆写像）を演算する。総てのコードの特徴を有するガイドバー候補が見つかると、アルゴリズムは、これが画像内の実際のコードであると見なし、符号化されたビットのリードを開始する。このため、画像内のビットの位置が決定されるべきであり、すなわち、各コードビットを画像ピクセルにマップする関数が必要となる。コードの要素は同一平面状にあるため、コード面と画像面との間に固有のホモグラフィ（
射影変換マトリックス）が存在する。射影写像は、４つの対応位置が分かると算出できる。アルゴリズムでは、３つのコーナーストーン１０７，１０９，および１１１と、小さなガイドバー１０５の中心が相当する。これは、コードの左上の角を原点とするコード座標系を含む。
【００３９】
左上のコーナーストーン１０７、右上のコーナーストーン１０９、大きなガイドバー１０３、および左下のコーナーストーン１１１のコード座標は、（０，０）、（１０，０）、（８，１０）、および（０，１０）として定義される。これらの要素はそれぞれ、画像座標（ｘｉ，ｙｉ）、ｉ∈｛０，・・・，３｝で見つけられると仮定する。コード座標（ｕ，ｖ）、ｕ，ｖ∈｛０，・・・，１０｝は、画像座標（ｘ，ｙ）にマップされ、ここで、
2008544336.tif 000013
パラメータａ乃至ｈは、以下のような４つの参照位置（ｘｉ，ｙｉ）、ｉ∈｛０，・・・，３｝により算出される。
2008544336.tif 000014
前述した写像への逆写像は、画像内の目に見えるアイテムを選択する応用例にとっては重要である。ピクセル座標の場合、コードにより生成される座標系内の対応する候補が取得できる。画像座標（ｘ，ｙ）は、以下のようにコード座標（ｕ，ｖ）にマップされる。
2008544336.tif 000015
ここで、
2008544336.tif 000016
【００４０】
次に、アルゴリズムは、ステップ３０５においてビジュアルコードの回転角を演算する。これは０°から３５９°の値を取る。画像と同じ向きのコードは、回転角が０°である。回転は、位置（０，０）および（１００，０）をコード座標系から画像座標系へマップすることにより決まり、画像位置が（ａｘ，ａｙ）および（ｂｘ，ｂｙ）になる。したがって、回転角は以下により決まる。
2008544336.tif 000017
いくつかの特定の事例を考慮すべきである。
【００４１】
ビジュアルコードの回転角の演算の後、アルゴリズムは、ステップ３０７において水平および垂直傾斜を決定する。「傾斜」の語は、コード面に対する画像面の傾きの量を示す。「水平傾斜」は、ビジュアルコードの水平軸に対する画像面の傾きの量を示す。同様に、「垂直傾斜」は、ビジュアルコードの垂直軸に対する画像面の傾きの量を示す。傾斜値１は、傾斜していないことを意味しており、１よりも小さい値は、右／下に向かって傾斜していることを意味する。傾斜のパラメータは以下のように演算され、コード座標系の軸向きにおける画像の中心点から一定距離ｈ（画像の高さ）を有する４つの画像位置が演算される。これらは、対応するコード座標にマップされ、中心点からのこれらの距離が演算される。これらの距離の比率により、傾斜のパラメータｔｘおよびｔｙが決まる。これらは、画像内のコードの大きさと独立している。傾斜角ｔｘαおよびＳｔｙαは、カメラのパラメータに依存する定数ｒが分かっている場合、これらの比率から決定できる。これは、実験的に得られる。
2008544336.tif 000018
2008544336.tif 000019
【００４２】
次にステップ３０８において、アルゴリズムは、カメラからのコードの距離を演算する。実際のコードの大きさがＳreal（印刷されたコードの左上および右上のコーナーストーンと中心との距離）と、カメラの焦点距離ｆが分かっている場合、カメラと傾斜していないビジュアルコードのメートル距離は、（Ｗimageが画像のピクセル幅のような）ピンホールモデルを利用して、Ｓimage（カメラ画像内の上側のコーナーストーンの中心点の間のピクセル距離）から演算できる。
2008544336.tif 000020
【００４３】
Ｓrealおよびｆは通常分からないので、我々は、正確な値を測定する目的よりもインタラクションの目的としてコード距離を利用し、画像内のビジュアルコードの大きさに関連する距離を規定する。我々は、コードがビューファインダーモードで認識される最も遠い距離として、ｄcamera，code：＝１００を設定する。通常のデバイスの場合、これは、Ｓimageが画像の幅の１５．６２５％の量に相当する２５ピクセルである。したがって、距離は以下のように演算される。
2008544336.tif 000021
【００４４】
Ｓrealおよびｆは分かっている場合、メートル距離は、ｄcamera，codeから演算できる。
【００４５】
ステップ３０３，０５，３０７，３０８，および３０９は、各ステップが別々であり、異なるパラメータまたは結果を出力するため、任意の順序で実行できることは当業者にとって明らかである。
【００４６】
ガイドバー１０３および１０５とコーナーストーン１０７，１０９，および１１１が特定され、（コード座標から画像座標への）好適な射影写像は演算されると、アルゴリズムは、ステップ３０９において、ｕ，ｖ∈｛０，・・・，１０｝と（ｘ，ｙ）＝ImageCoordiantes（（ｕ，ｖ））を有するコード座標（ｕ，ｖ）を用いて、白黒画像の適切なピクセル（ｘ，ｙ）を評価するだけで、符号化されたビットをリードする。
【００４７】
エラー検出は、ステップ３１１で任意に実行してもよい。使用される（８３，７６，３）線形コード（liner code）は、７６ビットＩＤを８３ビットの符号語に符号化する。生じるハミング距離は３であり、これは、高い確率で間違ったコードを特定するのに十分でなければならない。代替的に、信頼性および強健性を高めるために、リードソロモン符号などの他のエラー検出またはエラー訂正コードを利用してもよい。これは、僅かに長い処理時間や、実際にデータ記憶に利用可能な僅かなビット数を犠牲にする。一例として、８３ビットの行のうち１５ビットが、リードソロモンエラー検出コードに利用され、残りの６８ビットがデータ蓄積に利用される。
【００４８】
アルゴリズムの応用
Ａ．回転角および傾斜の決定
画像を中心とするコード座標に加え、認識アルゴリズムは、コードに対するモバイルデバイスの向きを提供する。特に、アルゴリズムは、画像内のコードの回転、（左、右、上、下からの）観察位置、コード面に対する画像面の傾斜の量、およびコードからカメラまでの距離を提供する。認識アルゴリズムが実装する画像面とコード面との間の射影写像（平らなモノグラフィ）は、画像座標内の任意の位置をコード座標の対応する位置にマッピングさせることを可能にし、同様にその逆も可能である。
【００４９】
Ｂ．アイテムの選択
コード座標系および向きの決定の特徴により、印刷された書類内のアイテムの選択に関連する多くの興味あるアプリケーションシナリオが可能になる。一例は、印刷された通信販売のカタログに記載された記事の選択である。単一のコードは、周知のアイテムのコード座標と同様に十分に長い。これは、コードおよび関連する感度領域の「画像マップ」を生成するコンテンツ作成用ソフトウェアにより実現できる。したがって、通信販売のカタログ中の記事は、スキャンされてモバイルデバイス内に格納され、記事に関する最新の情報を取り出すことができる。注文は、モバイルデバイスにより提供される無線通信チャネルを利用して行うことができる。
【００５０】
例えば、図４では、ビジュアルコードを含む印刷された書類の例が示されている。地図上の領域およびテーブル内のエントリはそれぞれ、異なるＵＲＬにマッピングされており、これによりオンラインコンテンツに関連付けられる。
【００５１】
新聞では、記事に関するオンラインの背景情報、広告、または天気予報または株価のよな直ぐに古くなってしまう情報は、ビジュアルコードを介してリンク可能である。コード座標系を利用することにより、関心のあるいくつかのアイテムの近くに配置された単一のコードで十分である。特定の場所の天気予報等を対象とする正確な領域は、ビジュアルコード要素に対する垂直および水平距離を演算することにより、射影写像を介して決定される。株価のテーブルでは、対象とする行および列すなわち所望の情報が、同じように取得できる。図４は、現在の気象情報を有する地図と、様々な地域の積雪を含むテーブルを有する切り取られた新聞を示されている。新聞に描かれた点線は、オンラインコンテンツにそれぞれリンクされた感度領域を示している。このようなマッピングは、適切なコンテンツ作成ソフトウェアにより作られる。プロトタイプとして、我々は、領域を画像に書き込み、各領域に関連するＵＲＬを特定するツールを開発した。このツールは、画像内に存在するコード座標系中の領域の座標を演算し、これらのデータをＸＭＬファイルとして格納する。各領域の複数のＵＲＬは、コードシステムにより提供される回転および傾斜などの他のパラメータを考慮することにより特定できる。図４に示すように、単一のコードは、領域およびテーブルそれぞれを選択するのに十分である。モバイルデバイスを回転させることにより、異なる観点のオンライン情報が選択でき、例えば、垂直の向きにより、選択された地域の雪の深さが示され、僅かに回転させることにより現在の気温が示される。
【００５２】
別の応用例として、ビジュアルコードは、モバイル市場で利用され、クーポンの番号をモバイルデバイスに入力するのを自動化する。一例は、ソフトドリンク製造業者のＳＭＳ活動であり、ソフトドリンクのボトルに（ビジュアルコードにより表わされる）数字が含まれ、この数字がＳＭＳとして送信され、くじに参加することができる。ＴＶでは、ビジュアルコードは、臨時調査および質問における複数選択式アンケートに対する回答の双方向入力に、またはＴＶ番組中での候補者の選択に利用できる。コード座標およびデバイスの向きは、例えば、複数選択式アンケートの回答などの（コード値に加え）追加の入力パラメータとして利用できる。
【００５３】
他の応用の可能性は、モバイルデバイス自体のインタラクションを簡単にすることである。例えば、電話番号をビジュアルコードとして符号化し、名刺または電話帳に印刷できる。画像内のコードの向きに応じて、デバイスは、符号化された電話番号に即座に電話し、デバイスのメモリにバーチャルな名刺を蓄積し、携帯電話の場合には、デバイスのＳＭＳ編集アプリケーションを開始する。深く入れ子になったメニューのようなデバイスのユーザインタフェース部分は、当該部分をビジュアルコードと関連付けることにより、外面化することができ、髪に印刷したり、大きなスクリーンに表示することができる。
【００５４】
本発明の可能性のある他のアプリケーションシナリオは、コンラインコンテンツおよび操作を、チラシや雑誌などの印刷された書類に付加することである。例示的なオンライン操作は、携帯電話を介してイベント、演劇、または映画のチケットを売ることである。
【００５５】
図５は、印刷されたテレビ雑誌のページを示している。印刷されたビジュアルコードにより、映画の粗筋が示され、キャストの一覧が示され、映画観客指定が表示または提示され、映画の予告編が開始し、チケットが携帯電話を介して直接に予約できるようになる。
【００５６】
Ｃ．フォームエントリ
ビジュアルコードはまた、フォーム入力を簡素化するために印刷されたフォームに組み合わせることができ、このフォームにより、モバイルデバイスは、入力されたデータを簡単に安価で返信する無線通信チャネルを提供する。このフォームのフィールドは、チェックボックス、罫線、およびフリーハンドによる文字または図形入力用のキャンバスフィールドとすることができる。フォームの周囲のフレームを印として用いることにより、個々のフォーム要素を正確に配置できる。認識アルゴリズムの射影写像により、画像全体と同様に部分的な画像を「補正」できる。
【００５７】
図６は、予定表のエントリの例示的なフォームを示している。初めに、認識アルゴリズムはコードを認識し、フレームの縁部の位置を特定する。次いで、フォームに配置されたチェックボックスが、チェックマーク用にスキャンされる。最後に、キャンバスフィールドが「補正」され、すなわち、これらの傾斜が図６の下部に示すように取り除かれて蓄積される。
【００５８】
フォームを定義するために、フォームに含まれる入力要素の位置および種類を含むフォーム構造を記述するマークアップ言語が利用されている。初めに、コードは、オンラインサーバからフォームの記述を取り出す鍵として利用される。取り出したマークアップを解析した後、ユーザ入力はフィールドの種類により分類され、サーバに返信される。
【図面の簡単な説明】
【００５９】
【図１】図１は、ビジュアルコードの例およびその新規性のある特徴を示している。
【図２】図２は、ビジュアルコードを復号するカメラを内蔵するモバイルデバイスが使用するステップを示すフローチャートである。
【図３】図３は、図２のコードの位置を特定するステップにより利用されるステップを示すフローチャートである。
【図４】図４は、ビジュアルコードを含む印刷された書類の一例を示している。
【図５】図５は、ビジュアルコードを含む印刷された書類の別の例を示している。
【図６】図６は、予定表のエントリの例示的なフォームを示している。
【図１】
2008544336.tif 000022
【図２】
2008544336.tif 000023
【図３】
2008544336.tif 000024
【図４】
2008544336.tif 000025
【図５】
2008544336.tif 000026
【図６】
2008544336.tif 000027
【国際調査報告】
2008544336.tif 000028