画像表示装置、画像表示方法、および画面表示プログラム
【課題】既存の地図の画像とともに表示する表示データの情報量の増大を図る。
【解決手段】画像表示装置は、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、対応関係にしたがって、第1の領域を含む第2の領域の第2座標系での存在範囲を示す領域情報を取得する座標変換部と、領域情報に応じて表示データを取得する表示データ取得部と、を備える。
【解決手段】画像表示装置は、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、対応関係にしたがって、第1の領域を含む第2の領域の第2座標系での存在範囲を示す領域情報を取得する座標変換部と、領域情報に応じて表示データを取得する表示データ取得部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷画像の読み取り技術に関する。
【背景技術】
【0002】
地図情報を用いた様々なサービスが、例えば、ネットワークを通じてユーザに提供されている。例えば、ユーザは、携帯電話、携帯情報端末、パーソナルコンピュータ等、様々な情報機器を用いて、ネットワーク上のサーバにアクセスする。そして、ユーザは、ネットワーク上のサーバから、地図情報をダウンロードし、情報機器上に表示できる。また、ユーザは、表示した地図情報とともに、地図で示される地域に関連する様々な情報を取得できる。例えば、ユーザが表示対象の施設の種類を指定し、指定された種類に該当する施設を地図に重ね合わせて表示できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−234684号公報
【特許文献2】特開2006−163992号公報
【特許文献3】特開2002−23734号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のような情報機器を用いて地図上の情報を取得する場合に、ハードウェア上の制限、例えば、画面サイズ、通信速度、プロセッサの処理能力、メモリ容量等に依存して、ユーザが所望する情報を的確に取得できない場合が生じる。
【0005】
一方、従来の紙媒体、印刷媒体等を使用すると、情報機器を用いる場合のような情報機器のハードウェア上の制限は生じにくい。しかしながら、ユーザは、紙に印刷済みの情報しか取得できないという問題がある。例えば、ユーザは、地図情報が紙に印刷された後に設置された店舗あるいは施設の情報、地図情報が紙に印刷された後に建設された建物に関する情報などを印刷済みの紙から取得できない。また、ユーザは、地図を含む看板が製作された後に設けられた施設に関する情報を制作済みの看板から取得できない。
【課題を解決するための手段】
【0006】
発明の一観点によれば、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、対応関係にしたがって、第1の領域を含む第2の領域の第2座標系での存在範囲を示す領域情報を取得する座標変換部と、領域情報に応じて表示データを取得する表示データ取得部と、を備える情報表示装置が提供される。
【0007】
発明の別の一観点によれば、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、対応関係にしたがって、第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、領域情報に応じて表示データを取得する表示データ取得ステップと、を有する情報表示方法が提供される。
【発明の効果】
【0008】
本発明によれば、既存の地図の画像とともに表示する表示データの情報量の増大を図る
ができる。
【図面の簡単な説明】
【0009】
【図1】コードが埋め込まれた紙地図を例示する図である。
【図2】コードが埋め込まれた四角形領域の例を示す図である。
【図3】コード埋め込み技術の概要を例示する図である。
【図4】情報機器のハードウェア構成を例示する図である。
【図5】データテーブルの例を示す図である。
【図6】表示用データのデータベースのデータ例を示す図である。
【図7】コードが埋め込まれた地図を撮影し、撮影した地図の画像に表示用データを重畳して表示する処理のフローチャートを例示する図である。
【図8】デコード処理の詳細なフローチャートを例示する図である。
【図9】矩形の四隅座標と、ネットワークを通じて取得される緯度経度情報の対応例を示す図である。
【図10】矩形の四隅座標と、ネットワークを通じて取得される四隅緯度、経度の対応例を示す図である。
【図11】撮影画像の座標系に変換した表示用データを撮影画像に重ね合わせて表示した例を示す図である。
【図12】表示用アイコンのうち変換された座標が撮影画像の範囲内であるものを変換した座標上に表示する図である。
【図13】上辺を決定する変形例の処理概要を例示する図である。
【図14】緯度経度情報が埋め込まれた地図画像と対応する位置情報を例示する図である。
【図15】位置情報を地図画像に埋め込む手順の概要を例示する図である。
【図16】検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する手順を例示する図である。
【図17】データが埋め込まれた紙地図を情報機器の撮影装置で撮影し、撮影画像に追加の情報を重畳して表示する処理のフローチャートを例示する図である。
【図18】デコード処理の詳細なフローチャートを例示する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、一実施形態に係る情報機器について説明する。以下の実施形態の構成は例示であり、本装置は実施形態の構成には限定されない。
【実施例1】
【0011】
実施例1の情報機器として、カメラ付き携帯電話のように、撮影装置を含む情報機器を用いた情報処理技術を説明する。実施例1では、情報機器は、撮影装置によって紙媒体、印刷媒体などに印刷された地図、広告媒体、その他の媒体に掲載された地図を撮影し、地図画像を取得する。ここで、紙媒体とは、情報が紙面に読み取り可能に描画されている媒体をいう。紙媒体は、例えば、紙面にインク、塗料などで印刷された新聞、雑誌、書籍、広告のちらし、ポスターなどを含む。紙媒体を印刷媒体ともいう。また、広告媒体は、広告のちらしの他、屋外広告の看板、屋外の大型ディスプレイの表示、テレビの画像広告、インターネットのウェブ上の画像広告等を含む。なお、屋外広告の看板に作画された媒体の場合、平面上の媒体に塗料を噴出して地図を描画する描画装置によって、地図を描画することが望ましい。また、その他の媒体は、放送媒体、インターネット上のサービスによる情報媒体等を含む。
【0012】
さらに、実施例1の地図には、コードが地図画像に埋め込まれている。地図画像に埋め込まれたコードは、地図の示す地域をユニークに識別する情報である。情報機器は、撮影した地図画像の画像処理によって、地図画像からコードを抽出する。そして、情報機器は
、例えば、ネットワークを通じて接続されるサーバに、コードを提示する。そして、情報機器は、提示したコードを基にしてサーバに対し、地図に追加する情報を要求する。地図に追加する情報とは、コードで識別される地域に関連する情報等をいう。例えば、情報機器は、コードを基に、地図に追加する情報として「Aという名前のレストラン」を示すアイコンをディスプレイ上で撮影画像に重畳して表示する。
【0013】
図1は、コードが埋め込まれた紙地図を例示する図である。実施例1で紙地図は、矩形であると想定する。矩形の紙地図は、縦横方向に複数の罫線Lで区切られている。罫線Lが罫線パターンに相当する。縦横の罫線Lで囲まれた四角形領域には固有のコードが埋め込まれる。固有のコードとは、コードが付された四角形領域と、地図上の他のコードが付された四角形領域とを識別可能なコードをいう。
【0014】
図2にコードが埋め込まれた四角形領域SQの例を示す。データの埋め込み方法は、例えば特許第3784781号に記載の技術を利用できる。図3に、特許第3784781号に記載のコード埋め込み技術の概要を例示する。図3のコード埋め込み技術では、画像を縦横それぞれ偶数個のブロックと呼ぶ四角形領域に分割する。そして、画像に対して、1つの方向を選択する。例えば、図3で左から右に向かう横方向を考える。そして、画像を横方向の行に分割し、1つの行のブロックの並びにおいて、隣接する2つのブロックの組を形成する。例えば、図3では、右上隅の2つのブロックA、Bが例示されている。このような隣接する2つのブロックをペアブロックと呼ぶことにする。
【0015】
そして、隣接するペアブロックの特徴量に差をつけることにより、ペアブロックに0または1のビットを割り当てる。特徴量とは、例えば、ブロックに含まれる画素の平均濃度、階調のレベル、あるいは、ブロックに含まれる画素の特定色、例えば、黄色の平均濃度等である。例えば、ブロックAの方がブロックBよりも特徴量が小さい場合にペアブロックのビットを0と定義する。また、ブロックAの方がブロックBよりも特徴量が大きい場合にペアブロックのビットを1と定義すればよい。
【0016】
図3の例では、1行あたりに8つのペアブロック(16ブロック)が含まれるため、1行は8ビット分のコードを表すことができる。したがって、全行(16行)では、128ビット分のコードを表すことができる。ただし、実施例1では、128ビットのコードに限定されることはない。例えば、16ビットの同一コードを8回繰り返して図3の画像に埋め込んでもよい。同一コードを複数回埋め込むことで、多数決によっていわゆる誤り訂正を行うことができる。なお、当然であるがブロック数が16×16に限定される訳ではない。また、コードを示す情報に誤り検出符号を埋め込むこともできる。
【0017】
コードを埋め込む方向として、例えば、左上から右下に向かう方向とすることができる。すなわち、図3の左から右に向かう行方向について、最上位の行を第1行と定義し、最下位の行を第16行と定義すればよい。そして、各行ごとに左から右に並ぶペアブロックごとにビットを定義すればよい。さらに、第1行を開始行とし、第16行を終了行とすればよい。
【0018】
また、埋め込み方向を右上から左下に向かう縦方向としてもよい。右端の列を第1列、左端の列を第16列としてもよい。すなわち、右上から左下に向かってコードを埋め込んでもよい。
【0019】
また、埋め込み方向を右下から左上に向かう横方向としてもよい。最下段の行を第1行、最上段の列を第16行としてもよい。すなわち、右下から左上に向かってコードを埋め込んでもよい。
【0020】
また、埋め込み方向を左下から右上に向かう縦方向としてもよい。左端の列を第1列、右端の列を第16列としてもよい。すなわち、左下から右上に向かってコードを埋め込んでもよい。
【0021】
埋め込み方向は、例えば、パラメータdirに対して、dir={0,1,2,3}という4つの値によって定義できる。dir=0とは、撮影画像中の罫線で区切られた四角形領域SQの左上から
開始し、左から右への行方向のペアブロック群によって、右下で終了するようにコードが埋めこまれた場合である。
【0022】
dir=1は、dir=0のコード埋め込み方向を90度時計回りに回転したコードの埋め込み方向を指定する。すなわち、dir=1とは、撮影画像中の罫線で区切られた四角形領域SQの
右上から開始し、上から下への列方向のペアブロック群によって、左下で終了するようにコードが埋めこまれた場合である。
【0023】
dir=2は、dir=0のコード埋め込み方向を180度時計回りに回転したコードの埋め込
み方向を指定する。すなわち、dir=2とは、撮影画像中の罫線で区切られた四角形領域S
Qの右下から開始し、右から左への行方向のペアブロック列に群によって、左上で終了するようにコードが埋めこまれた場合である。
【0024】
dir=3は、dir=0のコード埋め込み方向を270度時計回りに回転したコードの埋め込み方向を指定する。すなわち、dir=3とは、撮影画像中の罫線で区切られた四角形領域SQ
の左下から開始し、下から上への列方向のペアブロック群によって、右上で終了するようにコードが埋めこまれた場合である。ただし、情報の埋め込み方向は、上記の場合に限定される訳ではない。例えば、上記定義とは逆に半時計周りに回転する方向で、dir={0,1,2,3}を定義してもよい。dir=0が、左上から開始するものでなくてもよい。
【0025】
以上の方法により情報機器はコードが埋め込まれた紙地図を情報機器の撮影装置で撮影し、コードを復号する。さらに、情報機器は、コードを基に四角形領域SQの四隅の緯度、経度をネットワーク経由で取得する。以下、ネットワーク経由で取得する四角形領域SQの四隅の緯度、経度を緯度経度情報と呼ぶ。さらに、埋め込み方向を確定しておくことで、情報機器は、取得した緯度経度情報と、四角形領域の四隅座標とを対応付ける。ここで、四角形領域の四隅座標は、情報機器が撮影した画像上の座標軸での座標である。
【0026】
例えば、地図上の埋め込みコードは、地図上の東西南北を基準に、地図の上方向を北とする画像で、dir=0の埋め込み方向で埋め込むものとする。さらに、ネットワーク経由で
取得される緯度経度情報は、地図上の東西南北を基準に、上を北とする画像でdir=0埋め
込み方向のときの左上点、右上点、右下点、左下点の緯度、経度が取得できるとする。
【0027】
このような定義を前提して、情報機器が例えば埋め込み方向dir=0を検出した場合には
、情報機器は、ネットワークを通じて取得した緯度、経度を左上点、右上点、右下点、左下点の緯度、経度として用いればよい。埋め込み方向dir=0を検出できたか、否かは、撮
影された画像に対して、情報機器が埋め込み方向dir=0での復号を試行し、復号が成功し
たことによって判定できる。復号が成功したか、否かは、例えば、コードを示す情報の誤り検出において、誤りが検出されず、正常に復号できたか、否かで判定できる。また、埋め込まれる情報に、コードそのものの他、特定の記号、例えば、"code="というようなコ
マンドあるいはキーワードを埋め込んでおいてもよい。そして、情報機器は、コードとともに、コマンド、あるいはキーワードが検出されたことによって、正常に復号できたか、否かを判定してもよい。
【0028】
また、情報機器が例えば埋め込み方向dir=1を検出した場合には、情報機器は、ネット
ワークを通じて取得した緯度、経度を反時計回りに90回転させて左上点、右上点、右下点、左下点の緯度、経度として用いればよい。dir=2、dir=3の場合も同様である。この意味で、埋め込み方向dirは、回転角度の指定と呼ぶこともできる。
【0029】
図9および図10に、埋め込み方向dirの検出結果に基づく、四角形領域の四隅座標と
、ネットワークを通じて取得される緯度経度情報の対応例を示す。図9の右側の地図は、サーバに登録された緯度経度情報の位置を(1)-(4)の数字で示している。(1)-(4)の数字で示された四角形領域は、いわば、変換前の座標系ということができる。ネットワーク上のサーバは、変換前の座標系でのそれぞれの位置(1)-(4)に対応する緯度経度情報を有して
いる。
【0030】
一方、図9の右側の地図は、撮影された地図画像を例示している。情報機器は、地図画像上で、罫線を検出し、4本の罫線で囲まれた四角形領域の頂点(1)-(4)を検出する。た
だし、地図画像上で検出された四角形領域は、サーバに登録された緯度経度情報の位置と比較して、歪み、あるいは回転を含む。そこで、情報機器は、ネットワーク上のサーバから取得する緯度経度情報と、地図画像上で検出された四角形領域の頂点の座標との間で、座標変換を実行する。したがって、地図画像上の座標系は、変換された座標系ということもできる。
【0031】
例えば、前述のデコード処理で埋め込み方向dir=0と判定された場合には、図9の(1
)〜(4)に示す対応となる。また、埋め込み方向dir = 1の場合には、図10の(1)
〜(4)に示す対応となる。
【0032】
図4に画像表示装置としての情報機器10のハードウェア構成を例示する。情報機器10は、CPU11、第1記憶装置12、第2記憶装置13、ディスプレイ14、操作部15、通信部16、メディアアクセス装置17、撮影装置18を有する。
【0033】
CPU11は、第1記憶装置12に実行可能に展開されたコンピュータプログラムを実行し、情報機器10の機能を提供する。CPU11は、1個に限定されず、複数のコアを含むものでもよい。
【0034】
第1記憶装置12は、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。第1記憶装置12として、例えば不揮発性のROM(Read Only Memory)や、RAM(Random Access Memory)等の揮発性メモリを用いることができる。RAMは、例えばDRAM(Dynamic RAM)、SRAM(Static RAM)、FeRAM(Ferroelectric RAM) 、MRAM (Magnetoresistive RAM)等である。また、例えばDRAMとSRAMとを併用するとともに、SRAMをキャッシュメモリとして用いることもできる。
【0035】
第2記憶装置13は、例えばフラッシュメモリなどによるソリッド・ステート・ドライブ(SSD)等である。ただし、第2記憶装置13は、例えば、ハードディスクドライブに駆動されるハードディスクであってもよい。第2記憶装置13は、不揮発性で、例えば、外部記憶装置と呼んでもよい。ただし、第2記憶装置13が第1記憶装置12と一体であってもよい。また、第2記憶装置13と第1記憶装置12とが同一の物理アドレス空間に配置されてもよい。
【0036】
ディスプレイ14は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。ディスプレイ14は、インターフェース14Aを通じて、CPU11に接続される。インターフェース14Aは、例えば、VGA(Video Graphics Array)等のグラフィックスモジュール、DVI(Digital Visual Interface)等のインターフェースである。
【0037】
操作部15は、キー配列、マウス、タッチパネル、静電パッド等の入力装置である。キー配列は、押しボタンの並びである。ただし、キー配列としてキーボードを接続できるようにしてもよい。静電パッドは、平面パッドを指等でなぞるユーザ操作を検知し、ユーザ操作に応じてディスプレイ上のカーソルの位置と移動状態とを制御するために使用される装置である。例えば、平面パッド下の電極の静電容量の変化によって、ユーザの指の動きが検知される。
【0038】
通信インターフェース16は、例えば、無線LAN(Local Area Network)のインターフェースである。ただし、通信インターフェース16は、携帯電話基地局との通信部、あるいはPHS(Personal Handy Phone System)基地局との通信部であってもよい。また
、通信インターフェース16は、LANへの接続インターフェース、すなわちNIC(Network Interface Card)とも呼ばれるものであってもよい。情報機器10は、通信インターフェース16を通じて、ネットワーク上のサーバ20と通信し、種々の情報を取得する。
【0039】
メディアアクセス装置17は、例えば、フラッシュメモリカード等の入出力装置である。ただし、メディアアクセス装置17は、CD(Compact Disc)、DVD(Digital Versatile Disk)、ブルーレイディスクの入出力装置へのインターフェースであってもよい。
【0040】
撮影装置18は、例えば、CCD(Charge Coupled Device)、MOS(Metal Oxide Semiconductor)デバイス等である。撮影装置18は、カメラインターフェース18Aを介して情報機器10に接続される。カメラインターフェース18Aは、USB(Universal Serial Bus)のような外部インターフェースであってもよい。また、カメラインターフェース18Aは、撮影装置18のメーカ独自のインターフェースであってもよい。また、撮影装置18が情報機器10に内蔵される場合には、カメラインターフェース18Aは、CPU10と通信可能などのようなインターフェースであってもよい。
【0041】
以下、ネットワーク上のサーバ20が管理するデータ例を説明する。図5にサーバ20上のデータテーブルの例を示す。データテーブルには、地図に埋め込まれたコードに対応する四隅の緯度経度情報が格納されている。ここで、四隅とは、図2に示す罫線で区切られた四角形領域SQ、すなわち、図3に示すコードが埋め込まれた四角形領域SQの四隅をいう。
【0042】
実施例1では、情報機器10は、撮影した画像から埋め込まれたコードを検出し、コードをサーバ20に送信する。例えば、検出したコードが10001の場合、緯度経度情報(37.25, 137.25), (37.25, 138.5), (36.5, 137.25), (36.5, 138.5) が取得される。サーバ20は、受信したコードを基に取得した緯度経度情報を情報機器10に返信する。
【0043】
情報機器10は、サーバ20から緯度経度情報を受信すると、緯度経度情報を基に、撮影した地図画像の表示領域の所定の4頂点の緯度、経度を算出する。表示領域とは、ディスプレイに表示される画像の領域をいう。すなわち、情報機器10は、四角形領域SQの四隅座標とサーバ20から受信した緯度経度情報との関係から、撮影した地図画像の座標系を緯度、経度に変換する変換式を算出する。そして、情報機器10は、撮影した地図画像の表示領域、例えば、撮影画像の有効な画素領域全体の4頂点座標に対応する緯度、経度を算出する。ただし、地図画像の表示領域が四角形領域に限定されるわけではない。例えば、地図画像の表示領域四角形の角が丸い曲線状になった領域でもよい。また、円、楕円、その他、曲線を含む領域でもよい。要するに、情報機器10は、撮影した地図画像の座標系を緯度、経度に変換する変換式を取得することによって、変換前の地図画像の表示領域が四角形以外の形状であっても、撮影した地図画像の座標系を緯度、経度に変換することができる。そこで、ただし、地図画像の表示領域が四角形以外の場合でも、その地図
画像の表示領域に含まれる4頂点を想定することはできる。そこで、以下では、「地図画像の表示領域の所定の4頂点」という用語を用いる。「地図画像の表示領域の所定の4頂点」とは、例えば、地図画像の表示領域に含まれる、情報機器10で事前に設定した4頂点と考えればよい。
【0044】
そして、情報機器10は、表示領域に表示するデータ(以下、表示用データ)をサーバ20から取得する。そのため、情報機器10は、表示領域の4頂点座標に対応する緯度、経度をサーバ20に送信する。サーバ20は、受信した緯度、経度の範囲に含まれる表示データを情報機器10に返信する。
【0045】
実施例1では、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20と同じと仮定する。ただし、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20以外の他のサーバでもよい。実施例1では、表示用データとしては、地図上の施設を示すデータを想定する。
【0046】
図6に、表示用データのデータベースのデータ例を示す。表示用データのデータベースは、例えば、表形式である。表の各行が1つの表示用データとなる。図6では、データ101〜データ114の符号が付されている。データ101〜データ114のそれぞれは、業種、店舗名、緯度、経度、表示用アイコンのフィールドを含む。
【0047】
業種とは、それぞれの表示用データが表す施設の業種である。店舗名は、施設の固有名称、例えば、商店の名称である。緯度と経度は、その表示用データで示す施設の地図上の位置である。表示用アイコンは、地図上に施設を表示するときの絵柄、あるいは文字パターンなどのデータを含むファイル名である。
【0048】
図7に、コードが埋め込まれた地図を撮影し、撮影した地図の画像に表示用データを重畳して表示する処理のフローチャートを例示する。情報機器10のCPU11は、メモリ上に実行可能に展開されたコンピュータプログラムにより図7の処理を実行する。図7の処理では、ユーザが、操作部15を通じて、地図読み取り処理の開始を指示する。地図読み取り処理の開始の指示を受け取ると、情報機器10は、カメラインターフェース18Aを経由して、撮影装置18にて撮影された撮影画像を取得する(S1)。情報機器10は、取得した撮影画像に対して、デコード処理を実行する(S2)。デコード処理の詳細は、図8により後述する。
【0049】
次に、情報機器10は、デコードに成功したか否かを判定する(S3)。デコードに成功した場合には、情報機器10は、撮影画像内の四角形領域の四隅座標、四角形領域に埋め込まれたコード、埋め込み方向という3種類の情報を検出できる。なお、S3の判定は、S2でのデコード処理が成功したか否かの判定である。
【0050】
デコードに成功した場合には、情報機器10は、検出したコードから四角形領域の四隅の緯度経度情報をサーバ20に問い合わせる(S4)。情報機器10のCPU11は、第2取得部として、S4の処理を実行する。四角形領域の四隅の緯度経度情報が、第2座標系での参照位置を示す第2座標情報に相当する。参照位置とは、座標変換する際の基準となる座標と考えることができる。実施例1では、緯度経度情報による4点の参照位置と、撮影画像の座標系の4点の参照位置との関係から、座標変換のための対応関係が決定される。
【0051】
次に撮影画像中の四角形領域の四隅座標および、該四隅の経度緯度情報、さらに埋め込み方向を基に、撮影画像の所定の四隅の緯度、経度を計算する(S5)。情報機器10のCPU11は、緯度経度情報取得部して、S4およびS5の処理を実行する。S5の計算
は、射影変換による座標変換により求める。実施例1の射影変換は、前述の緯度経度情報を変換後の4点の座標とし、デコード処理で検出した四角形領域の四隅座標を変換前の4点の座標として、緯度経度情報と四角形領域の四隅座標とを対応付ける。この際に、4点の対応は、デコード処理で求めた埋め込み方向より決定する。情報機器10のCPU11は、対応関係取得部として、S1−S4の処理を実行する。
【0052】
今、変換前の4点の座標を(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)、変換後の座標を(x1,y1)(x2,y2)(x3,y3)(x4,y4)とすると、射影変換の連立方程式は次のように表され、変換係数A〜Hを求めることができる。
【0053】
X1*A + Y1*B + C - x1*X1*G - x1*Y1*H = x1
X1*D + Y1*E + F - y1*X1*G - y1*Y1*H = y1
X2*A + Y2*B + C - x2*X2*G - x2*Y2*H = x2
X2*D + Y2*E + F - y2*X2*G - y2*Y2*H = y2
X3*A + Y3*B + C - x3*X3*G - x3*Y3*H = x3
X3*D + Y3*E + F - y3*X3*G - y3*Y3*H = y3
X4*A + Y4*B + C - x4*X4*G - x4*Y4*H = x4
X4*D + Y4*E + F - y4*X4*G - y4*Y4*H = y4
情報機器10は、以上から求めたA〜Hの値を使った下式の座標変換式を作成する。そして、情報機器10は、下記座標変換式を用いて、撮影画像中の表示領域四隅の座標を緯度、経度に変換する。ここで、X、Yは撮影画像の座標系、x、yは緯度、経度である。撮影画像の座標系が第1座標系に相当し、緯度、経度が第2座標系に相当する。
【0054】
x = (A*X+B*Y+C)/(G*X+H*Y+1)
y = (D*X+E*Y+F)/(G*X+H*Y+1)
例えば、以下のデータを仮定する。撮影画像における四角形領域の四隅座標:
(X1, Y1) = (36, 61), (X2, Y2) = (220, 86), (X3, Y3) = (13, 191), (X4, Y4)=(201, 215);
該四隅座標の緯度・経度:
(x1, y1) =(37.25,137.25), (x2, y2) =(37.25,138.5), (x3, y3) =(36.5,137.25), (x4,
y4) =(36.5,138.5);
この場合、撮影画像の座標系を緯度、経度に変換するための変換係数A〜Hは上記連立方程式により以下のように求められる。
【0055】
A=-0.0022589372,B=-0.00040533077,C=37.5744860305,D=-0.0046212872,E=0.0209821614,F=136.9413073490,G=-0.0000817367,H=0.0001443715
また,緯度・経度(x, y)から撮影画像の座標系(X,Y)への変換式、変換係数A’〜H’は以下となる。
【0056】
X = (A’*x+B’*y+C’)/(G’*x+H’*y+1)
Y = (D’*x+E’*y+F’)/(G’*x+H’*y+1)
A’=-24.5936503114,B’=-118.3265988151,C’=17127.8929059696,D’=133.3829560990,E’=-16.4861005621,F’=-2754.1678566003,G’=-0.0212668996,H’=-0.0072915084
変換係数A〜Hを使って、撮影画像の所定の四隅座標 (0, 0), (240, 0), (0, 320), (240, 320) の緯度,経度を計算すると、それぞれ(37.57,136.94), (37.77,138.55), (35.79,137.31), (35.95, 138.86)となる。
【0057】
情報処理装置10は、撮影画像の所定の四隅の緯度、経度を求めた後、四隅の範囲内にある緯度・経度を持つ所定の条件の表示用データをサーバから取得する(S6)。情報機
器10のCPU11は、表示データ取得部として、S6の処理を実行する。上述のように、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20と同じでもよいし、他のサーバでもよい。
【0058】
表示用データの検索条件が「Aという名前のレストラン」である場合、図6のデータベースに対する検索条件は以下のようになる。
【0059】
「業種=レストラン」 かつ
「店舗名=A」 かつ
「四隅の緯度最小値35.79 <= 店舗の緯度 <= 四隅の緯度最大値37.77」
かつ
「四隅の経度最小値136.94 <= 店舗の緯度 <= 四隅の経度最大値138.86」;
この条件に合致するデータは図6のデータ102、データ109、データ110、データ112の4件である。そこで、情報機器10は、これらの緯度、経度および表示用アイコンデータをサーバから取得する。
【0060】
次に、情報機器10は、表示用データが取得できたか否かを判定する(S7)。
【0061】
そして、表示用データを取得できた場合、情報機器10は、上記変換式と上記変換係数A’〜H’を用いて、緯度、緯度を撮影画像の座標に変換する(S8)。
【0062】
上記4件のデータについて求めた撮影画像の座標(X,Y)を以下に示す。なお、実施例1では、例えば、撮影画像の表示領域の左上点を原点とする。
【0063】
データ102 (X, Y)= (28, 188),
データ109 (X, Y)= (-11, 130),
データ110 (X, Y)= (197, 115),
データ112 (X, Y)= (152, 284);
これらの撮影画像の所定の四隅座標の緯度、経度は全て異なっているため、検索したデータには撮影画像の範囲外のものが含まれる場合がある。撮影画像の範囲外のデータが含まれる場合には、撮影画像の座標に変換した際に、撮影画像の座標がX、YのいずれかがマイナスになるかX>240、Y>320となるので、該当するデータについては表示データから除外する。本例では、データ109のXの値が-11となり、撮影画像の範囲外に相当するので、データ109を除外し、データ102、110、112の3個のデータが表示データとなる。図11に
、撮影画像の座標系に変換したデータ102、110、112を撮影画像に重ね合わせて表示した
例を示す。
【0064】
最後に、情報機器10は、図12で示すようにディスプレイ14上に撮影画像と重畳して、表示用アイコンのうち変換された座標が撮影画像の範囲内であるものを変換した座標上に表示する(S9)。なお、図12では、情報機器10として、カメラ付き携帯電話を想定している。すなわち、紙に印刷された地図を撮影し、得られた地図画像からコードを取得し、取得されたコードに基づき、レストランを示すアイコンが撮影された地図画像に重畳して表示されている。
【0065】
一方、表示用データを取得できなかった場合、すなわち、撮影した画像中の表示領域に、表示用データが存在しなかった場合、情報機器10は、表示用データなしで撮影画像を表示する。
【0066】
図8に、デコード処理の詳細なフローを例示する。情報機器10のCPU11は、メモ
リ上に実行可能に展開されたコンピュータプログラムにより図8の処理を実行する。CPU11は、デコード部として、図8の処理を実行する。
【0067】
まず撮影画像中の罫線で囲まれた四角形領域の四隅座標を検出する(S20)。四隅座標の検出方法として、罫線の一般的な検出方法であるハフ変換を用い、4辺を検出してそれらの交点を求める。情報機器10のCPU11は、罫線認識部および第1取得部として、S20の処理を実行する。すなわち、情報機器10のCPU11は、罫線認識部として4辺を検出する。さらに、情報機器10のCPU11は、第1取得部として、4辺の交点である四隅の座標を算出する。4辺の交点である四隅の座標が、第1座標系での参照位置を示す第1座標情報に相当する。
【0068】
ハフ変換は、XY座表系のN個の点のうちの最も多くの点を通過する直線LMを求める手法として知られている。例えば、直線LMの式をy=a*x+bと仮定する。ここで、*は乗算記号である。このとき、XY座表系のN個の点(xi,yi)i=1,Nを通る複数の関係式yi=ai*xi+biが作成できる。関係式yi=ai*xi+biは、座標系(a,b)では、複数の直線の軌跡を構成する。そして、もし、XY座表系のN個の点(xi,yi)i=1,Nが一直線上(傾きa0、Y切片b0)にある場合には、関係式yi=ai*xi+biは、一点(a0,b0)を通る直線群となる。そこで、(a,b)座標系で最も多くの直線が通過する点(a0,b0)を求めることで、XY座表系のN個の点(xi,yi)i=1,Nの最も多数を通る直線を求めることができる。
【0069】
次に、情報機器10は、ハフ変換によって、四角形領域の4辺が特定でき、四隅座標が全て検出できたか否かを判定する(S21)。四隅座標が全て検出できた場合には、情報機器10は、四角形領域の4辺を上辺、右辺、下辺、左辺の順に、埋め込み領域の上辺とした場合についてデコード処理を行う(S22−S26)。情報機器10のCPU11は、ビット取得部としてS22−26の処理を実行する。
【0070】
デコード処理は、上辺方向に並ぶペアブロックに対して、画像の特徴量からビット0かビット1かを判定する処理である。すなわち、上辺に隣接するペアブロックの並びをビットの埋め込みと同一方向に辿り、ペアブロック内のブロック間で、特徴量を比較すればよい。上辺に隣接するペアブロックの並びが第1ブロック群に相当する。そして、ビット埋め込み時と同一の定義にしたがって、ビット=0またはビット=1を判定すればよい。例えば、図3に示した画像のブロックの場合には、1行について8ビットの情報が得られることになる。また、同一のコードを複数回繰り返して埋め込んでいる場合には、多数決処理で誤り訂正を行ってもよい。
【0071】
すなわち、情報機器10は、まず、初期値dir=0を設定する(S22)。そして、情報
機器10は、dirが4に達するまで以下の処理を実行する(S23−26)。すなわち、dir=0の場合には、画像の座標系を基準した左上から右下に向かって、左から右に向かう行方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の上辺を、コードが埋め込まれた画像の上辺とする。
【0072】
dir=1の場合には、90度時計回りに回転した方向にデコード処理を実行する。すなわ
ち、情報機器10は、画像の座標系を基準した右上から左下に向かって、上から下に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の右辺を、コードが埋め込まれた画像の上辺とする。
【0073】
dir=2の場合には、180度時計回りに回転した方向にデコード処理を実行する。すな
わち、情報機器10は、画像の座標系を基準した右下から左上に向かって、右から左に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の下辺を、
コードが埋め込まれた画像の上辺とする。
【0074】
dir=3の場合には、270度時計回りに回転した方向にデコード処理を実行する。すな
わち、情報機器10は、画像の座標系を基準した左下から右上に向かって、下から上に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の左辺を、コードが埋め込まれた画像の上辺とする。
【0075】
そして、情報機器10は、デコードに成功したか否かを判定する(S25)。デコードに成功したか、否かは、例えば、デコードされた情報の誤り検出符号によって誤りが検出されなかったこと、デコードされた情報に所定のコマンドまたはキーワードが含まれていたこと、あるいは、デコードされた緯度と経度が特定の範囲、例えば、日本の緯度、経度の範囲、あるいは、0〜360度の範囲であったことなどで判定できる。デコードに成功しなかった場合、情報機器10は、制御をS23に戻す。デコードに成功した場合、情報機器10は、検出したコード、四隅座標、埋め込み方向を記録する(S27)。四隅座標が検出できなかった場合(S21でNO場合)、あるいは、どの方向からもデコードに成功しなかった場合(S23でNOの場合)にはデコード失敗とする(S28)。そして、情報機器10は、図7のS3の判定に制御を進める。すなわち、S23−S26の処理の繰り返しによって、dir={0,1,2,3}のいずれかの埋め込み方向への試行で、デコードに成
功した場合には、図7のS3でデコード成功となる。一方、S23−S26の処理の繰り返しによって、dir={0,1,2,3}のどの埋め込み方向においても、デコードに成功しなかっ
た場合に、図7のS3でデコード失敗となる。
【0076】
以上述べたように、実施例1の情報機器10は、撮影装置18で撮影した地図の画像に埋め込まれたコードを取得し、ネットワーク上のサーバ20からコードに対応する緯度経度情報を取得する。そして、情報機器10は、コードが埋め込まれた四角形領域の四隅座標と、緯度経度情報との関係から、地図画像の座標系と緯度、経度との変換式を作成する。そして、情報機器10は、地図画像の表示領域に含まれる施設の表示用データをネットワーク上のサーバ20等から取得し、撮影した地図画像に重ね合わせて表示する。
【0077】
したがって、情報機器10では、ネットワーク上のサーバ20等から地図データをダウンロードしなくてもよいので、通信データ量を削減できる。また、情報機器10は、紙データとして与えられる地図の画像を撮影するので、ディスプレイ14の表示サイズが小さい場合でも、紙のサイズがディスプレイ14の表示サイズよりも大きな地図と組み合わせることで、ユーザの使い勝手を向上できる。例えば、雑誌、パンフレット、看板等に大きな範囲の地図を表示しておき、撮影装置18で地図の一部を撮影した場合、撮影された地図の一部が全体の地図のどの範囲であるかをユーザが認識しやすくなる。
【0078】
また、既存の地図を撮影した地図の画像に、ネットワーク上のサーバ20等から取得した表示用データを重畳して表示するので、表示用データとして、最新のものを取得できる可能性が高まる。ユーザは、例えば、地図が印刷された後に設置された施設、建設されたビル等に関する情報を地図に重畳して表示できる。
【0079】
さらに、座標を撮影画像用に射影変換してデータを表示することで、カメラで地図を撮影する際に、カメラが傾き、画像の縦横の方向と地図上の罫線方向とが傾いて撮影された場合でも、表示位置を補正できる。
【0080】
さらに、実施例1では、情報機器10は、地図画像の罫線を認識し、罫線4つの罫線で囲まれた四角形領域を抽出する。したがって、ユーザが特定の領域を意識せず、大まかに地図を撮影した場合でも、情報機器10は、撮影された地図に重畳する追加の情報を取得でき、ユーザの使い勝手がよい。さらに、上記図8の処理では、dir={0,1,2,3}のそれぞ
れに対して順次、デコードが成功するまでデコード処理を繰り返す。したがって、撮影装置18による画像が90度単位で回転した場合でも、情報機器10は、緯度経度情報を取得できる可能性を高めることができる。
【0081】
また、撮影された地図上に複数の四角形領域が含まれていた場合には、それぞれの四角形領域に対してデコード処理を実行すればよい。そして、最初にデコードに成功したときに残りの四角形領域でのデコード処理を中止すればよい。ただし、複数の四角形領域の頂点座標を基に、射影変換の係数を決定してもよい。複数の四角形領域の頂点座標を反映することで、射影変換の変換精度を高めることができる。
【0082】
さらに、実施例1では、地図にコードを埋め込んでおき、デコードしたコードを基に、情報機器10がサーバ20に、緯度経度情報を問い合わせる。したがって、地図自体に埋め込む情報を単純化できる。例えば、とりあえず、コードを埋め込む地図上の四角形領域と、ユニークに識別できるコードを確定しておき、コードを埋め込んだ地図を作成すればよい。そして、そのコードをどのように用いるかは、地図が作製された後の段階で、情報機器10およびサーバ20のアプリケーションプログラムによって決定すればよい。すなわち、実施例1の構成では、極めて簡単、早期にコードが埋め込まれた地図を作成し、徐々にサービスの向上、充実を図ることができる。
【0083】
<変形例>
上記実施例1では、dir={0,1,2,3}として、処理を説明した。例えば、画像の座標系で
検出された罫線が傾いていた場合には、罫線で区切られた四角形領域の4頂点を包含する座標軸方向に辺を持つ、矩形の4頂点の距離から、上辺を決定すればよい。
【0084】
図13に、上辺を決定する処理概要を例示する。例えば、ハフ変換によって得られた罫線が撮影画像の座標系において、L1、L2、L3、L4のように傾いていた場合を想定する。この場合には、情報機器10は、罫線L1−L4で囲まれた四角形領域を包含する矩形PUL、PUR、PDR、PDL(点線の矩形)を作成する。そして、除法機器10は、罫線L1−L4で囲まれた四角形領域を包含する矩形の左上点PULに最も距離が近い頂点P1を罫線L1−L4で囲まれた四角形領域の左上点とする。そして、dir=0のと
き、情報機器10は、頂点P1と頂点P1に対して時計回り方向の次の頂点P2とを決定する。そして、情報機器10は、頂点P1、P2を両端とする辺L2をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。
【0085】
また、dir=1のとき、情報機器10は、上記頂点P2と次の頂点P3とを決定する。そ
して、情報機器10は、頂点P2、P3を両端とする辺L3をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。また、dir=2のとき、情報機器10は、上
記頂点P3と次の頂点P4とを決定する。そして、情報機器10は、頂点P3、P4を両端とする辺L3をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。また、dir=3のとき、情報機器10は、上記頂点P4と次の頂点P1とを決定する。そ
して、情報機器10は、頂点P4、P1を両端とする辺L1をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。
【0086】
なお、デコード処理の前に、一旦、L1−L4が撮影画像の座標軸(あるいは、図13の点線の矩形の辺)に平行となるように、座標変換するようにしてもよい。例えば、辺L2が点線の矩形の上辺LUに平行になるように、座標変換した後に、デコード処理を行ってもよい。そして、埋め込まれたコードが確定した後は、傾いた四角形領域L1−L4の頂点P1−P4の座標と、緯度経度情報との座標の変換式を作成すればよい。
【実施例2】
【0087】
図14から図19を参照して実施例2を説明する。上記実施例1では、情報機器10は、地図画像に埋め込まれたコードを得た後、サーバ20から緯度経度情報を取得した。実施例2では、緯度経度情報が埋め込まれた地図を用いる処理を説明する。すなわち、情報機器10は、撮影装置18で地図を撮影し、地図画像を生成する。そして、情報機器10は、生成した地図画像から緯度経度情報を読み取る。そして、情報機器10は、読み取った緯度経度情報を基に表示用データをネットワーク上のサーバ20等から取得する。そして、情報機器10は、例えば、追加の情報として「Aという名前のレストラン」を示すアイコンを取得する。そして、情報機器10は、ディスプレイ14上に撮影画像と重畳して、追加の情報を表示する。
【0088】
図14は、緯度・経度の情報を埋め込まれた地図画像と対応する位置情報を例示する図である。地図画像は、緯度x、 経度yとすると、
四隅左上(x1, y1) =(37.25,137.25),
四隅右上(x2, y2) =(37.25,138.5),
四隅左下(x3, y3) =(36.5,137.25),
四隅右下(x4, y4) =(36.5,138.5);
である。そこで、情報機器10は、四隅左上を基準として、緯度-0.75、経度+1.25の範囲の地図である。
【0089】
図15に、位置情報を地図画像に埋め込む手順の概要を例示する。図15のように、情報機器10は、四隅座標に対応する緯度、経度を2進数の埋め込みコードに変換する。
【0090】
情報機器10は、まず、四隅左上の緯度、経度を5桁10進数に変換し、さらに変換で得られた5桁10進数を17桁の2進数に変換する。そして、情報機器10は、四隅左上から四隅左下方向への緯度範囲を符号付き3桁の10進数データに変換する。さらに、情報機器10は、変換された10進数データを符号部1桁、データ部11桁の2進数データに変換する。
【0091】
さらに、情報機器10は、四隅左上から四隅右上方向への経度範囲を符号付き3桁の10進数データに変換する。そして、情報機器10は、変換された10進数を符号部1桁、データ部11桁の2進数データに変換する。以上の手順により、四隅左上緯度部。四隅左上経度部、緯度範囲部、経度範囲部を持つ2進数56桁の埋め込みコードが作成される。なお、2進数56桁に対して、多数決処理による誤り訂正を行うためには、画像内の埋め込みビット数は168ビットとなる。そこで、例えば、20×20ブロック、200ビット分のデータを埋め込めるブロック構成としてもよい。また、さらに、ブロック数を増加し、より多くの情報によって多数決による誤り訂正が実行できるようにしてもよい。
【0092】
作成された埋め込みコードは、例えば、図3に示した特許第3784781に記載の方法で画像に埋め込まれる。すなわち、情報機器10は、図3に示すように画像をブロックに分割し隣接するペアブロックの特徴量に差をつけることにより、ペアブロックに0または1のビットを割り当てる方法により画像に埋め込む。例えば、特許第3784781に記載のように、黄色の濃度が、本来の画像における黄色の濃度から変更されたとしても、人の目には感じにくいという特徴がある。そこで、例えば、ビットパターンに対応して、ペアブロックの黄色の濃淡を変更することで、コードが地図画像に埋め込まれる。
【0093】
図16に、検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する手順を例示する。情報機器10は、まず、2進数のコードの上位17桁を5桁の10進数に変換する。そして、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上の緯度として取得する。
【0094】
同様に、情報機器10は、2進数のコードの次の17桁を5桁の10進数に変換する。そして、情報機器10は、小数点を二桁桁下げして四角形領域の四隅左上の経度として取得する。
【0095】
さらに、情報機器10は、2進数のコードの次の12桁を符号部1桁+11桁に分割し、符号部が0ならば−、1ならば+に変換する。そして、情報機器10は、11桁部分は3桁の10進数に変換する。さらに、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上から四角形領域四隅左下までの緯度範囲として取得する。
【0096】
同様に、情報機器10は、2進数のコードの次の12桁を、符号1桁+11桁に分割し、符号部が0ならば−、1ならば+に変換し、11桁部分は3桁の10進数に変換する。そして、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上から四角形領域四隅右下までの経度範囲として取得する。以上の処理によって、四隅左上緯度経度をx1、 y1とすると(x1, y1) =(37.25,137.25)、緯度範囲-0.75、経度範囲+1.25が取得される。これをもとに、四角形領域の四隅の残りの緯度経度を下式により求める。
四隅右上緯度経度(x2, y2) =(x1,y1+経度範囲)=(37.25,138.5);
四隅左下緯度経度(x3, y3) =(x1+緯度範囲,y1)= (36.5,137.25);
四隅右下緯度経度(x4, y4) =(x1+緯度範囲,y1+経度範囲)= (36.5,138.5);
なお、dir=0の場合には、撮影画像において検出した領域の四隅左上が四角形領域四隅
左上に割り当てられる。また、dir=1の場合には、撮影画像において検出した領域の四隅
右上が四角形領域四隅左上に割り当てられる。また、dir=2の場合には、撮影画像におい
て検出した領域の四隅右下が四角形領域四隅左上に割り当てられる。また、dir=3の場合
には、撮影画像において検出した領域の四隅左下が四角形領域四隅左上に割り当てられる。
【0097】
図17に、データが埋め込まれた紙地図を情報機器10の撮影装置18で撮影し、撮影画像に追加の情報を重畳して表示するフローチャートを例示する。図17の処理において、図7と同一の処理には、同一の符号が付されている。
【0098】
まず、情報機器10は、実施例1と同様、ユーザの指示に応答して、地図の読み取りを開始する。地図読み取り処理により、カメラインターフェース18Aを経由して紙地図を撮影したカメラ撮影画像が取得される(S1)。取得された撮影画像に対して、デコード処理が実行される(S2A)。情報機器10のCPU11は、対応関係取得部として、S1−S2Aの処理を実行する。
【0099】
そして、デコードに成功した場合には(S3の判定でYESの場合)、情報機器10のCPU11は、実施例1と同様に、情報機器10は、撮影画像四隅の緯度、経度情報を算出する(S5A)。すなわち、実施例では、地図画像に埋め込まれた情報から、緯度、経度を求め、射影変換を実行する。したがって、実施例2では、情報機器10は、四角形領域四隅の緯度経度情報をサーバ20から取得しなくてもよい。情報機器10のCPU11は、座標変換部として、S5Aの処理を実行する。S6以下の処理は、図8と同様であるので、その説明を省略する。
【0100】
図18に、デコード処理(図17のS2A)の詳細なフローチャートを例示する。なお、S20−S26の処理は、画像からの埋め込み情報のデコード処理であり、基本的な手順は図8の場合と同様である。ただし、図8の場合には、画像への埋め込み情報が地域を識別するコードであったのに対して、図18の場合には、画像への埋め込み情報が緯度・経度の情報(図15、図16参照)である点が相異する。情報機器10のCPU11は、
メモリ上に実行可能に展開されたコンピュータプログラムにより図18の処理を実行する。CPU11は、デコード部として、図18の処理を実行する。
【0101】
情報機器10は、まず撮影画像中の罫線で囲まれた四角形領域の四隅座標を検出する(S20)。四角形領域の四隅座標が、第1座標系での参照位置を示す第1座標情報に相当する。四隅座標が全て検出できた場合には(S21でYES)、四角形領域の4辺を上辺、右辺、下辺、左辺の順に、埋め込み領域の上辺とした場合について、特許第3784781の
方法でデコード処理を行う(S23−S26)。
【0102】
デコードに成功した場合には(S26でYES)、検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する(S27A)。デコードに成功したか、否かは、実施例1の図8の場合と同様に判定する。四隅座標が検出できなかった場合、あるいは、どの方向からもデコードに成功できなかった場合には、情報機器10は、デコード失敗とする。なお、四角形領域の四隅の緯度経度情報が第2座標系での参照位置を示す第2座標情報に相当する。
【0103】
デコード成功の場合(図17のS3でYES)、情報機器10は、制御を図17のS5Aに進め、撮影画像中の四角形領域の四隅座標および、該四隅の緯度経度情報、さらに回転角度をもとに、撮影画像四隅の緯度、経度を計算する。
【0104】
以上述べたように、実施例2の処理によれば、四角形領域の四隅の緯度と経度が撮影画像に埋め込まれているので、情報機器10は、サーバ20に、緯度と経度を問い合わせなくても、撮影された地図画像の表示領域の緯度と経度を算出できる。
【0105】
以上のように、開示の技術の一側面は、地図に関連する画像表示技術に関する。すなわち、情報機器10は、地図の第1の領域の座標情報に相当する罫線で囲まれた四角形領域の座標と緯度経度情報との対応関係に基づいて、画像の座標系と緯度、経度との座標変換の式を作成する。そして、情報機器10は、第1の領域を含む第2の領域に相当する、地図画像の表示領域の緯度経度情報を取得する。さらに、情報機器10は、取得した地図画像の表示領域の緯度経度情報から、地図画像に重畳して表示する表示用データを取得し、撮影された地図に表示される情報について、情報量の増大を図る。
【0106】
《その他の変形例》
上記実施例1、実施例2では、第2座標系として、緯度経度が用いられた。しかし、第2座標系は、緯度と経度以外の座標系によって定義してもよい。すなわち、表示用データのデータベース(図6参照)において、それぞれの表示用データに該当する施設の位置は、緯度経度ではなく、他の座標系で表してもよい。要するに、情報機器10が、表示用データのデータベースにアクセスする際に、表示用データで示される施設の位置が、どのような座標系で定義されているかを認識できればよい。したがって、情報機器10で、図7あるいは図17の処理を実行するコンピュータプログラムと、表示用データのデータベースとで、第2座標系として共通の座標系を用いればよい。そのためには、表示用データのデータベースの座標系を事前に決定しておけばよい。そして、実施例1の手順または実施例2の手順で表示用データの座標系での四角形の4頂点の座標を取得すればよい。その場合に、表示用データの座標系での最大値や最小値などをサーバ20から、情報機器10に引き渡すことで、デコード結果が正しいか否かの判定に用いてもよい。ただし、緯度経度を用いることで、情報機器10が複数のサーバから表示用データを取得するようなシステムにおいては、表示用データを汎用的に作成できるという利点はある。
【0107】
以上述べた処理は、紙媒体、印刷媒体、屋外において塗料で形成された看板上の地図、大型ディスプレイ上に表示された地図、インターネット上のウェブサイトに表示された地
図等、様々な地図に対して適用できる。
【0108】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【0109】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
【0110】
10 情報機器
11 CPU
12 第1記憶装置
13 第2記憶装置
14 ディスプレイ
15 操作部
16 通信インターフェース
17 メディアアクセス装置
18 撮影装置
20 サーバ
【技術分野】
【0001】
本発明は、印刷画像の読み取り技術に関する。
【背景技術】
【0002】
地図情報を用いた様々なサービスが、例えば、ネットワークを通じてユーザに提供されている。例えば、ユーザは、携帯電話、携帯情報端末、パーソナルコンピュータ等、様々な情報機器を用いて、ネットワーク上のサーバにアクセスする。そして、ユーザは、ネットワーク上のサーバから、地図情報をダウンロードし、情報機器上に表示できる。また、ユーザは、表示した地図情報とともに、地図で示される地域に関連する様々な情報を取得できる。例えば、ユーザが表示対象の施設の種類を指定し、指定された種類に該当する施設を地図に重ね合わせて表示できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−234684号公報
【特許文献2】特開2006−163992号公報
【特許文献3】特開2002−23734号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のような情報機器を用いて地図上の情報を取得する場合に、ハードウェア上の制限、例えば、画面サイズ、通信速度、プロセッサの処理能力、メモリ容量等に依存して、ユーザが所望する情報を的確に取得できない場合が生じる。
【0005】
一方、従来の紙媒体、印刷媒体等を使用すると、情報機器を用いる場合のような情報機器のハードウェア上の制限は生じにくい。しかしながら、ユーザは、紙に印刷済みの情報しか取得できないという問題がある。例えば、ユーザは、地図情報が紙に印刷された後に設置された店舗あるいは施設の情報、地図情報が紙に印刷された後に建設された建物に関する情報などを印刷済みの紙から取得できない。また、ユーザは、地図を含む看板が製作された後に設けられた施設に関する情報を制作済みの看板から取得できない。
【課題を解決するための手段】
【0006】
発明の一観点によれば、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、対応関係にしたがって、第1の領域を含む第2の領域の第2座標系での存在範囲を示す領域情報を取得する座標変換部と、領域情報に応じて表示データを取得する表示データ取得部と、を備える情報表示装置が提供される。
【0007】
発明の別の一観点によれば、地図の画像の第1の領域に符号化された情報から、地図の画像上の第1座標系と地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、対応関係にしたがって、第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、領域情報に応じて表示データを取得する表示データ取得ステップと、を有する情報表示方法が提供される。
【発明の効果】
【0008】
本発明によれば、既存の地図の画像とともに表示する表示データの情報量の増大を図る
ができる。
【図面の簡単な説明】
【0009】
【図1】コードが埋め込まれた紙地図を例示する図である。
【図2】コードが埋め込まれた四角形領域の例を示す図である。
【図3】コード埋め込み技術の概要を例示する図である。
【図4】情報機器のハードウェア構成を例示する図である。
【図5】データテーブルの例を示す図である。
【図6】表示用データのデータベースのデータ例を示す図である。
【図7】コードが埋め込まれた地図を撮影し、撮影した地図の画像に表示用データを重畳して表示する処理のフローチャートを例示する図である。
【図8】デコード処理の詳細なフローチャートを例示する図である。
【図9】矩形の四隅座標と、ネットワークを通じて取得される緯度経度情報の対応例を示す図である。
【図10】矩形の四隅座標と、ネットワークを通じて取得される四隅緯度、経度の対応例を示す図である。
【図11】撮影画像の座標系に変換した表示用データを撮影画像に重ね合わせて表示した例を示す図である。
【図12】表示用アイコンのうち変換された座標が撮影画像の範囲内であるものを変換した座標上に表示する図である。
【図13】上辺を決定する変形例の処理概要を例示する図である。
【図14】緯度経度情報が埋め込まれた地図画像と対応する位置情報を例示する図である。
【図15】位置情報を地図画像に埋め込む手順の概要を例示する図である。
【図16】検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する手順を例示する図である。
【図17】データが埋め込まれた紙地図を情報機器の撮影装置で撮影し、撮影画像に追加の情報を重畳して表示する処理のフローチャートを例示する図である。
【図18】デコード処理の詳細なフローチャートを例示する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、一実施形態に係る情報機器について説明する。以下の実施形態の構成は例示であり、本装置は実施形態の構成には限定されない。
【実施例1】
【0011】
実施例1の情報機器として、カメラ付き携帯電話のように、撮影装置を含む情報機器を用いた情報処理技術を説明する。実施例1では、情報機器は、撮影装置によって紙媒体、印刷媒体などに印刷された地図、広告媒体、その他の媒体に掲載された地図を撮影し、地図画像を取得する。ここで、紙媒体とは、情報が紙面に読み取り可能に描画されている媒体をいう。紙媒体は、例えば、紙面にインク、塗料などで印刷された新聞、雑誌、書籍、広告のちらし、ポスターなどを含む。紙媒体を印刷媒体ともいう。また、広告媒体は、広告のちらしの他、屋外広告の看板、屋外の大型ディスプレイの表示、テレビの画像広告、インターネットのウェブ上の画像広告等を含む。なお、屋外広告の看板に作画された媒体の場合、平面上の媒体に塗料を噴出して地図を描画する描画装置によって、地図を描画することが望ましい。また、その他の媒体は、放送媒体、インターネット上のサービスによる情報媒体等を含む。
【0012】
さらに、実施例1の地図には、コードが地図画像に埋め込まれている。地図画像に埋め込まれたコードは、地図の示す地域をユニークに識別する情報である。情報機器は、撮影した地図画像の画像処理によって、地図画像からコードを抽出する。そして、情報機器は
、例えば、ネットワークを通じて接続されるサーバに、コードを提示する。そして、情報機器は、提示したコードを基にしてサーバに対し、地図に追加する情報を要求する。地図に追加する情報とは、コードで識別される地域に関連する情報等をいう。例えば、情報機器は、コードを基に、地図に追加する情報として「Aという名前のレストラン」を示すアイコンをディスプレイ上で撮影画像に重畳して表示する。
【0013】
図1は、コードが埋め込まれた紙地図を例示する図である。実施例1で紙地図は、矩形であると想定する。矩形の紙地図は、縦横方向に複数の罫線Lで区切られている。罫線Lが罫線パターンに相当する。縦横の罫線Lで囲まれた四角形領域には固有のコードが埋め込まれる。固有のコードとは、コードが付された四角形領域と、地図上の他のコードが付された四角形領域とを識別可能なコードをいう。
【0014】
図2にコードが埋め込まれた四角形領域SQの例を示す。データの埋め込み方法は、例えば特許第3784781号に記載の技術を利用できる。図3に、特許第3784781号に記載のコード埋め込み技術の概要を例示する。図3のコード埋め込み技術では、画像を縦横それぞれ偶数個のブロックと呼ぶ四角形領域に分割する。そして、画像に対して、1つの方向を選択する。例えば、図3で左から右に向かう横方向を考える。そして、画像を横方向の行に分割し、1つの行のブロックの並びにおいて、隣接する2つのブロックの組を形成する。例えば、図3では、右上隅の2つのブロックA、Bが例示されている。このような隣接する2つのブロックをペアブロックと呼ぶことにする。
【0015】
そして、隣接するペアブロックの特徴量に差をつけることにより、ペアブロックに0または1のビットを割り当てる。特徴量とは、例えば、ブロックに含まれる画素の平均濃度、階調のレベル、あるいは、ブロックに含まれる画素の特定色、例えば、黄色の平均濃度等である。例えば、ブロックAの方がブロックBよりも特徴量が小さい場合にペアブロックのビットを0と定義する。また、ブロックAの方がブロックBよりも特徴量が大きい場合にペアブロックのビットを1と定義すればよい。
【0016】
図3の例では、1行あたりに8つのペアブロック(16ブロック)が含まれるため、1行は8ビット分のコードを表すことができる。したがって、全行(16行)では、128ビット分のコードを表すことができる。ただし、実施例1では、128ビットのコードに限定されることはない。例えば、16ビットの同一コードを8回繰り返して図3の画像に埋め込んでもよい。同一コードを複数回埋め込むことで、多数決によっていわゆる誤り訂正を行うことができる。なお、当然であるがブロック数が16×16に限定される訳ではない。また、コードを示す情報に誤り検出符号を埋め込むこともできる。
【0017】
コードを埋め込む方向として、例えば、左上から右下に向かう方向とすることができる。すなわち、図3の左から右に向かう行方向について、最上位の行を第1行と定義し、最下位の行を第16行と定義すればよい。そして、各行ごとに左から右に並ぶペアブロックごとにビットを定義すればよい。さらに、第1行を開始行とし、第16行を終了行とすればよい。
【0018】
また、埋め込み方向を右上から左下に向かう縦方向としてもよい。右端の列を第1列、左端の列を第16列としてもよい。すなわち、右上から左下に向かってコードを埋め込んでもよい。
【0019】
また、埋め込み方向を右下から左上に向かう横方向としてもよい。最下段の行を第1行、最上段の列を第16行としてもよい。すなわち、右下から左上に向かってコードを埋め込んでもよい。
【0020】
また、埋め込み方向を左下から右上に向かう縦方向としてもよい。左端の列を第1列、右端の列を第16列としてもよい。すなわち、左下から右上に向かってコードを埋め込んでもよい。
【0021】
埋め込み方向は、例えば、パラメータdirに対して、dir={0,1,2,3}という4つの値によって定義できる。dir=0とは、撮影画像中の罫線で区切られた四角形領域SQの左上から
開始し、左から右への行方向のペアブロック群によって、右下で終了するようにコードが埋めこまれた場合である。
【0022】
dir=1は、dir=0のコード埋め込み方向を90度時計回りに回転したコードの埋め込み方向を指定する。すなわち、dir=1とは、撮影画像中の罫線で区切られた四角形領域SQの
右上から開始し、上から下への列方向のペアブロック群によって、左下で終了するようにコードが埋めこまれた場合である。
【0023】
dir=2は、dir=0のコード埋め込み方向を180度時計回りに回転したコードの埋め込
み方向を指定する。すなわち、dir=2とは、撮影画像中の罫線で区切られた四角形領域S
Qの右下から開始し、右から左への行方向のペアブロック列に群によって、左上で終了するようにコードが埋めこまれた場合である。
【0024】
dir=3は、dir=0のコード埋め込み方向を270度時計回りに回転したコードの埋め込み方向を指定する。すなわち、dir=3とは、撮影画像中の罫線で区切られた四角形領域SQ
の左下から開始し、下から上への列方向のペアブロック群によって、右上で終了するようにコードが埋めこまれた場合である。ただし、情報の埋め込み方向は、上記の場合に限定される訳ではない。例えば、上記定義とは逆に半時計周りに回転する方向で、dir={0,1,2,3}を定義してもよい。dir=0が、左上から開始するものでなくてもよい。
【0025】
以上の方法により情報機器はコードが埋め込まれた紙地図を情報機器の撮影装置で撮影し、コードを復号する。さらに、情報機器は、コードを基に四角形領域SQの四隅の緯度、経度をネットワーク経由で取得する。以下、ネットワーク経由で取得する四角形領域SQの四隅の緯度、経度を緯度経度情報と呼ぶ。さらに、埋め込み方向を確定しておくことで、情報機器は、取得した緯度経度情報と、四角形領域の四隅座標とを対応付ける。ここで、四角形領域の四隅座標は、情報機器が撮影した画像上の座標軸での座標である。
【0026】
例えば、地図上の埋め込みコードは、地図上の東西南北を基準に、地図の上方向を北とする画像で、dir=0の埋め込み方向で埋め込むものとする。さらに、ネットワーク経由で
取得される緯度経度情報は、地図上の東西南北を基準に、上を北とする画像でdir=0埋め
込み方向のときの左上点、右上点、右下点、左下点の緯度、経度が取得できるとする。
【0027】
このような定義を前提して、情報機器が例えば埋め込み方向dir=0を検出した場合には
、情報機器は、ネットワークを通じて取得した緯度、経度を左上点、右上点、右下点、左下点の緯度、経度として用いればよい。埋め込み方向dir=0を検出できたか、否かは、撮
影された画像に対して、情報機器が埋め込み方向dir=0での復号を試行し、復号が成功し
たことによって判定できる。復号が成功したか、否かは、例えば、コードを示す情報の誤り検出において、誤りが検出されず、正常に復号できたか、否かで判定できる。また、埋め込まれる情報に、コードそのものの他、特定の記号、例えば、"code="というようなコ
マンドあるいはキーワードを埋め込んでおいてもよい。そして、情報機器は、コードとともに、コマンド、あるいはキーワードが検出されたことによって、正常に復号できたか、否かを判定してもよい。
【0028】
また、情報機器が例えば埋め込み方向dir=1を検出した場合には、情報機器は、ネット
ワークを通じて取得した緯度、経度を反時計回りに90回転させて左上点、右上点、右下点、左下点の緯度、経度として用いればよい。dir=2、dir=3の場合も同様である。この意味で、埋め込み方向dirは、回転角度の指定と呼ぶこともできる。
【0029】
図9および図10に、埋め込み方向dirの検出結果に基づく、四角形領域の四隅座標と
、ネットワークを通じて取得される緯度経度情報の対応例を示す。図9の右側の地図は、サーバに登録された緯度経度情報の位置を(1)-(4)の数字で示している。(1)-(4)の数字で示された四角形領域は、いわば、変換前の座標系ということができる。ネットワーク上のサーバは、変換前の座標系でのそれぞれの位置(1)-(4)に対応する緯度経度情報を有して
いる。
【0030】
一方、図9の右側の地図は、撮影された地図画像を例示している。情報機器は、地図画像上で、罫線を検出し、4本の罫線で囲まれた四角形領域の頂点(1)-(4)を検出する。た
だし、地図画像上で検出された四角形領域は、サーバに登録された緯度経度情報の位置と比較して、歪み、あるいは回転を含む。そこで、情報機器は、ネットワーク上のサーバから取得する緯度経度情報と、地図画像上で検出された四角形領域の頂点の座標との間で、座標変換を実行する。したがって、地図画像上の座標系は、変換された座標系ということもできる。
【0031】
例えば、前述のデコード処理で埋め込み方向dir=0と判定された場合には、図9の(1
)〜(4)に示す対応となる。また、埋め込み方向dir = 1の場合には、図10の(1)
〜(4)に示す対応となる。
【0032】
図4に画像表示装置としての情報機器10のハードウェア構成を例示する。情報機器10は、CPU11、第1記憶装置12、第2記憶装置13、ディスプレイ14、操作部15、通信部16、メディアアクセス装置17、撮影装置18を有する。
【0033】
CPU11は、第1記憶装置12に実行可能に展開されたコンピュータプログラムを実行し、情報機器10の機能を提供する。CPU11は、1個に限定されず、複数のコアを含むものでもよい。
【0034】
第1記憶装置12は、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。第1記憶装置12として、例えば不揮発性のROM(Read Only Memory)や、RAM(Random Access Memory)等の揮発性メモリを用いることができる。RAMは、例えばDRAM(Dynamic RAM)、SRAM(Static RAM)、FeRAM(Ferroelectric RAM) 、MRAM (Magnetoresistive RAM)等である。また、例えばDRAMとSRAMとを併用するとともに、SRAMをキャッシュメモリとして用いることもできる。
【0035】
第2記憶装置13は、例えばフラッシュメモリなどによるソリッド・ステート・ドライブ(SSD)等である。ただし、第2記憶装置13は、例えば、ハードディスクドライブに駆動されるハードディスクであってもよい。第2記憶装置13は、不揮発性で、例えば、外部記憶装置と呼んでもよい。ただし、第2記憶装置13が第1記憶装置12と一体であってもよい。また、第2記憶装置13と第1記憶装置12とが同一の物理アドレス空間に配置されてもよい。
【0036】
ディスプレイ14は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。ディスプレイ14は、インターフェース14Aを通じて、CPU11に接続される。インターフェース14Aは、例えば、VGA(Video Graphics Array)等のグラフィックスモジュール、DVI(Digital Visual Interface)等のインターフェースである。
【0037】
操作部15は、キー配列、マウス、タッチパネル、静電パッド等の入力装置である。キー配列は、押しボタンの並びである。ただし、キー配列としてキーボードを接続できるようにしてもよい。静電パッドは、平面パッドを指等でなぞるユーザ操作を検知し、ユーザ操作に応じてディスプレイ上のカーソルの位置と移動状態とを制御するために使用される装置である。例えば、平面パッド下の電極の静電容量の変化によって、ユーザの指の動きが検知される。
【0038】
通信インターフェース16は、例えば、無線LAN(Local Area Network)のインターフェースである。ただし、通信インターフェース16は、携帯電話基地局との通信部、あるいはPHS(Personal Handy Phone System)基地局との通信部であってもよい。また
、通信インターフェース16は、LANへの接続インターフェース、すなわちNIC(Network Interface Card)とも呼ばれるものであってもよい。情報機器10は、通信インターフェース16を通じて、ネットワーク上のサーバ20と通信し、種々の情報を取得する。
【0039】
メディアアクセス装置17は、例えば、フラッシュメモリカード等の入出力装置である。ただし、メディアアクセス装置17は、CD(Compact Disc)、DVD(Digital Versatile Disk)、ブルーレイディスクの入出力装置へのインターフェースであってもよい。
【0040】
撮影装置18は、例えば、CCD(Charge Coupled Device)、MOS(Metal Oxide Semiconductor)デバイス等である。撮影装置18は、カメラインターフェース18Aを介して情報機器10に接続される。カメラインターフェース18Aは、USB(Universal Serial Bus)のような外部インターフェースであってもよい。また、カメラインターフェース18Aは、撮影装置18のメーカ独自のインターフェースであってもよい。また、撮影装置18が情報機器10に内蔵される場合には、カメラインターフェース18Aは、CPU10と通信可能などのようなインターフェースであってもよい。
【0041】
以下、ネットワーク上のサーバ20が管理するデータ例を説明する。図5にサーバ20上のデータテーブルの例を示す。データテーブルには、地図に埋め込まれたコードに対応する四隅の緯度経度情報が格納されている。ここで、四隅とは、図2に示す罫線で区切られた四角形領域SQ、すなわち、図3に示すコードが埋め込まれた四角形領域SQの四隅をいう。
【0042】
実施例1では、情報機器10は、撮影した画像から埋め込まれたコードを検出し、コードをサーバ20に送信する。例えば、検出したコードが10001の場合、緯度経度情報(37.25, 137.25), (37.25, 138.5), (36.5, 137.25), (36.5, 138.5) が取得される。サーバ20は、受信したコードを基に取得した緯度経度情報を情報機器10に返信する。
【0043】
情報機器10は、サーバ20から緯度経度情報を受信すると、緯度経度情報を基に、撮影した地図画像の表示領域の所定の4頂点の緯度、経度を算出する。表示領域とは、ディスプレイに表示される画像の領域をいう。すなわち、情報機器10は、四角形領域SQの四隅座標とサーバ20から受信した緯度経度情報との関係から、撮影した地図画像の座標系を緯度、経度に変換する変換式を算出する。そして、情報機器10は、撮影した地図画像の表示領域、例えば、撮影画像の有効な画素領域全体の4頂点座標に対応する緯度、経度を算出する。ただし、地図画像の表示領域が四角形領域に限定されるわけではない。例えば、地図画像の表示領域四角形の角が丸い曲線状になった領域でもよい。また、円、楕円、その他、曲線を含む領域でもよい。要するに、情報機器10は、撮影した地図画像の座標系を緯度、経度に変換する変換式を取得することによって、変換前の地図画像の表示領域が四角形以外の形状であっても、撮影した地図画像の座標系を緯度、経度に変換することができる。そこで、ただし、地図画像の表示領域が四角形以外の場合でも、その地図
画像の表示領域に含まれる4頂点を想定することはできる。そこで、以下では、「地図画像の表示領域の所定の4頂点」という用語を用いる。「地図画像の表示領域の所定の4頂点」とは、例えば、地図画像の表示領域に含まれる、情報機器10で事前に設定した4頂点と考えればよい。
【0044】
そして、情報機器10は、表示領域に表示するデータ(以下、表示用データ)をサーバ20から取得する。そのため、情報機器10は、表示領域の4頂点座標に対応する緯度、経度をサーバ20に送信する。サーバ20は、受信した緯度、経度の範囲に含まれる表示データを情報機器10に返信する。
【0045】
実施例1では、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20と同じと仮定する。ただし、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20以外の他のサーバでもよい。実施例1では、表示用データとしては、地図上の施設を示すデータを想定する。
【0046】
図6に、表示用データのデータベースのデータ例を示す。表示用データのデータベースは、例えば、表形式である。表の各行が1つの表示用データとなる。図6では、データ101〜データ114の符号が付されている。データ101〜データ114のそれぞれは、業種、店舗名、緯度、経度、表示用アイコンのフィールドを含む。
【0047】
業種とは、それぞれの表示用データが表す施設の業種である。店舗名は、施設の固有名称、例えば、商店の名称である。緯度と経度は、その表示用データで示す施設の地図上の位置である。表示用アイコンは、地図上に施設を表示するときの絵柄、あるいは文字パターンなどのデータを含むファイル名である。
【0048】
図7に、コードが埋め込まれた地図を撮影し、撮影した地図の画像に表示用データを重畳して表示する処理のフローチャートを例示する。情報機器10のCPU11は、メモリ上に実行可能に展開されたコンピュータプログラムにより図7の処理を実行する。図7の処理では、ユーザが、操作部15を通じて、地図読み取り処理の開始を指示する。地図読み取り処理の開始の指示を受け取ると、情報機器10は、カメラインターフェース18Aを経由して、撮影装置18にて撮影された撮影画像を取得する(S1)。情報機器10は、取得した撮影画像に対して、デコード処理を実行する(S2)。デコード処理の詳細は、図8により後述する。
【0049】
次に、情報機器10は、デコードに成功したか否かを判定する(S3)。デコードに成功した場合には、情報機器10は、撮影画像内の四角形領域の四隅座標、四角形領域に埋め込まれたコード、埋め込み方向という3種類の情報を検出できる。なお、S3の判定は、S2でのデコード処理が成功したか否かの判定である。
【0050】
デコードに成功した場合には、情報機器10は、検出したコードから四角形領域の四隅の緯度経度情報をサーバ20に問い合わせる(S4)。情報機器10のCPU11は、第2取得部として、S4の処理を実行する。四角形領域の四隅の緯度経度情報が、第2座標系での参照位置を示す第2座標情報に相当する。参照位置とは、座標変換する際の基準となる座標と考えることができる。実施例1では、緯度経度情報による4点の参照位置と、撮影画像の座標系の4点の参照位置との関係から、座標変換のための対応関係が決定される。
【0051】
次に撮影画像中の四角形領域の四隅座標および、該四隅の経度緯度情報、さらに埋め込み方向を基に、撮影画像の所定の四隅の緯度、経度を計算する(S5)。情報機器10のCPU11は、緯度経度情報取得部して、S4およびS5の処理を実行する。S5の計算
は、射影変換による座標変換により求める。実施例1の射影変換は、前述の緯度経度情報を変換後の4点の座標とし、デコード処理で検出した四角形領域の四隅座標を変換前の4点の座標として、緯度経度情報と四角形領域の四隅座標とを対応付ける。この際に、4点の対応は、デコード処理で求めた埋め込み方向より決定する。情報機器10のCPU11は、対応関係取得部として、S1−S4の処理を実行する。
【0052】
今、変換前の4点の座標を(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)、変換後の座標を(x1,y1)(x2,y2)(x3,y3)(x4,y4)とすると、射影変換の連立方程式は次のように表され、変換係数A〜Hを求めることができる。
【0053】
X1*A + Y1*B + C - x1*X1*G - x1*Y1*H = x1
X1*D + Y1*E + F - y1*X1*G - y1*Y1*H = y1
X2*A + Y2*B + C - x2*X2*G - x2*Y2*H = x2
X2*D + Y2*E + F - y2*X2*G - y2*Y2*H = y2
X3*A + Y3*B + C - x3*X3*G - x3*Y3*H = x3
X3*D + Y3*E + F - y3*X3*G - y3*Y3*H = y3
X4*A + Y4*B + C - x4*X4*G - x4*Y4*H = x4
X4*D + Y4*E + F - y4*X4*G - y4*Y4*H = y4
情報機器10は、以上から求めたA〜Hの値を使った下式の座標変換式を作成する。そして、情報機器10は、下記座標変換式を用いて、撮影画像中の表示領域四隅の座標を緯度、経度に変換する。ここで、X、Yは撮影画像の座標系、x、yは緯度、経度である。撮影画像の座標系が第1座標系に相当し、緯度、経度が第2座標系に相当する。
【0054】
x = (A*X+B*Y+C)/(G*X+H*Y+1)
y = (D*X+E*Y+F)/(G*X+H*Y+1)
例えば、以下のデータを仮定する。撮影画像における四角形領域の四隅座標:
(X1, Y1) = (36, 61), (X2, Y2) = (220, 86), (X3, Y3) = (13, 191), (X4, Y4)=(201, 215);
該四隅座標の緯度・経度:
(x1, y1) =(37.25,137.25), (x2, y2) =(37.25,138.5), (x3, y3) =(36.5,137.25), (x4,
y4) =(36.5,138.5);
この場合、撮影画像の座標系を緯度、経度に変換するための変換係数A〜Hは上記連立方程式により以下のように求められる。
【0055】
A=-0.0022589372,B=-0.00040533077,C=37.5744860305,D=-0.0046212872,E=0.0209821614,F=136.9413073490,G=-0.0000817367,H=0.0001443715
また,緯度・経度(x, y)から撮影画像の座標系(X,Y)への変換式、変換係数A’〜H’は以下となる。
【0056】
X = (A’*x+B’*y+C’)/(G’*x+H’*y+1)
Y = (D’*x+E’*y+F’)/(G’*x+H’*y+1)
A’=-24.5936503114,B’=-118.3265988151,C’=17127.8929059696,D’=133.3829560990,E’=-16.4861005621,F’=-2754.1678566003,G’=-0.0212668996,H’=-0.0072915084
変換係数A〜Hを使って、撮影画像の所定の四隅座標 (0, 0), (240, 0), (0, 320), (240, 320) の緯度,経度を計算すると、それぞれ(37.57,136.94), (37.77,138.55), (35.79,137.31), (35.95, 138.86)となる。
【0057】
情報処理装置10は、撮影画像の所定の四隅の緯度、経度を求めた後、四隅の範囲内にある緯度・経度を持つ所定の条件の表示用データをサーバから取得する(S6)。情報機
器10のCPU11は、表示データ取得部として、S6の処理を実行する。上述のように、表示用データを取得するサーバは、四角形領域の緯度経度情報を取得したサーバ20と同じでもよいし、他のサーバでもよい。
【0058】
表示用データの検索条件が「Aという名前のレストラン」である場合、図6のデータベースに対する検索条件は以下のようになる。
【0059】
「業種=レストラン」 かつ
「店舗名=A」 かつ
「四隅の緯度最小値35.79 <= 店舗の緯度 <= 四隅の緯度最大値37.77」
かつ
「四隅の経度最小値136.94 <= 店舗の緯度 <= 四隅の経度最大値138.86」;
この条件に合致するデータは図6のデータ102、データ109、データ110、データ112の4件である。そこで、情報機器10は、これらの緯度、経度および表示用アイコンデータをサーバから取得する。
【0060】
次に、情報機器10は、表示用データが取得できたか否かを判定する(S7)。
【0061】
そして、表示用データを取得できた場合、情報機器10は、上記変換式と上記変換係数A’〜H’を用いて、緯度、緯度を撮影画像の座標に変換する(S8)。
【0062】
上記4件のデータについて求めた撮影画像の座標(X,Y)を以下に示す。なお、実施例1では、例えば、撮影画像の表示領域の左上点を原点とする。
【0063】
データ102 (X, Y)= (28, 188),
データ109 (X, Y)= (-11, 130),
データ110 (X, Y)= (197, 115),
データ112 (X, Y)= (152, 284);
これらの撮影画像の所定の四隅座標の緯度、経度は全て異なっているため、検索したデータには撮影画像の範囲外のものが含まれる場合がある。撮影画像の範囲外のデータが含まれる場合には、撮影画像の座標に変換した際に、撮影画像の座標がX、YのいずれかがマイナスになるかX>240、Y>320となるので、該当するデータについては表示データから除外する。本例では、データ109のXの値が-11となり、撮影画像の範囲外に相当するので、データ109を除外し、データ102、110、112の3個のデータが表示データとなる。図11に
、撮影画像の座標系に変換したデータ102、110、112を撮影画像に重ね合わせて表示した
例を示す。
【0064】
最後に、情報機器10は、図12で示すようにディスプレイ14上に撮影画像と重畳して、表示用アイコンのうち変換された座標が撮影画像の範囲内であるものを変換した座標上に表示する(S9)。なお、図12では、情報機器10として、カメラ付き携帯電話を想定している。すなわち、紙に印刷された地図を撮影し、得られた地図画像からコードを取得し、取得されたコードに基づき、レストランを示すアイコンが撮影された地図画像に重畳して表示されている。
【0065】
一方、表示用データを取得できなかった場合、すなわち、撮影した画像中の表示領域に、表示用データが存在しなかった場合、情報機器10は、表示用データなしで撮影画像を表示する。
【0066】
図8に、デコード処理の詳細なフローを例示する。情報機器10のCPU11は、メモ
リ上に実行可能に展開されたコンピュータプログラムにより図8の処理を実行する。CPU11は、デコード部として、図8の処理を実行する。
【0067】
まず撮影画像中の罫線で囲まれた四角形領域の四隅座標を検出する(S20)。四隅座標の検出方法として、罫線の一般的な検出方法であるハフ変換を用い、4辺を検出してそれらの交点を求める。情報機器10のCPU11は、罫線認識部および第1取得部として、S20の処理を実行する。すなわち、情報機器10のCPU11は、罫線認識部として4辺を検出する。さらに、情報機器10のCPU11は、第1取得部として、4辺の交点である四隅の座標を算出する。4辺の交点である四隅の座標が、第1座標系での参照位置を示す第1座標情報に相当する。
【0068】
ハフ変換は、XY座表系のN個の点のうちの最も多くの点を通過する直線LMを求める手法として知られている。例えば、直線LMの式をy=a*x+bと仮定する。ここで、*は乗算記号である。このとき、XY座表系のN個の点(xi,yi)i=1,Nを通る複数の関係式yi=ai*xi+biが作成できる。関係式yi=ai*xi+biは、座標系(a,b)では、複数の直線の軌跡を構成する。そして、もし、XY座表系のN個の点(xi,yi)i=1,Nが一直線上(傾きa0、Y切片b0)にある場合には、関係式yi=ai*xi+biは、一点(a0,b0)を通る直線群となる。そこで、(a,b)座標系で最も多くの直線が通過する点(a0,b0)を求めることで、XY座表系のN個の点(xi,yi)i=1,Nの最も多数を通る直線を求めることができる。
【0069】
次に、情報機器10は、ハフ変換によって、四角形領域の4辺が特定でき、四隅座標が全て検出できたか否かを判定する(S21)。四隅座標が全て検出できた場合には、情報機器10は、四角形領域の4辺を上辺、右辺、下辺、左辺の順に、埋め込み領域の上辺とした場合についてデコード処理を行う(S22−S26)。情報機器10のCPU11は、ビット取得部としてS22−26の処理を実行する。
【0070】
デコード処理は、上辺方向に並ぶペアブロックに対して、画像の特徴量からビット0かビット1かを判定する処理である。すなわち、上辺に隣接するペアブロックの並びをビットの埋め込みと同一方向に辿り、ペアブロック内のブロック間で、特徴量を比較すればよい。上辺に隣接するペアブロックの並びが第1ブロック群に相当する。そして、ビット埋め込み時と同一の定義にしたがって、ビット=0またはビット=1を判定すればよい。例えば、図3に示した画像のブロックの場合には、1行について8ビットの情報が得られることになる。また、同一のコードを複数回繰り返して埋め込んでいる場合には、多数決処理で誤り訂正を行ってもよい。
【0071】
すなわち、情報機器10は、まず、初期値dir=0を設定する(S22)。そして、情報
機器10は、dirが4に達するまで以下の処理を実行する(S23−26)。すなわち、dir=0の場合には、画像の座標系を基準した左上から右下に向かって、左から右に向かう行方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の上辺を、コードが埋め込まれた画像の上辺とする。
【0072】
dir=1の場合には、90度時計回りに回転した方向にデコード処理を実行する。すなわ
ち、情報機器10は、画像の座標系を基準した右上から左下に向かって、上から下に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の右辺を、コードが埋め込まれた画像の上辺とする。
【0073】
dir=2の場合には、180度時計回りに回転した方向にデコード処理を実行する。すな
わち、情報機器10は、画像の座標系を基準した右下から左上に向かって、右から左に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の下辺を、
コードが埋め込まれた画像の上辺とする。
【0074】
dir=3の場合には、270度時計回りに回転した方向にデコード処理を実行する。すな
わち、情報機器10は、画像の座標系を基準した左下から右上に向かって、下から上に向かう列方向にデコード処理を実行する。すなわち、この場合には、撮影画像中の左辺を、コードが埋め込まれた画像の上辺とする。
【0075】
そして、情報機器10は、デコードに成功したか否かを判定する(S25)。デコードに成功したか、否かは、例えば、デコードされた情報の誤り検出符号によって誤りが検出されなかったこと、デコードされた情報に所定のコマンドまたはキーワードが含まれていたこと、あるいは、デコードされた緯度と経度が特定の範囲、例えば、日本の緯度、経度の範囲、あるいは、0〜360度の範囲であったことなどで判定できる。デコードに成功しなかった場合、情報機器10は、制御をS23に戻す。デコードに成功した場合、情報機器10は、検出したコード、四隅座標、埋め込み方向を記録する(S27)。四隅座標が検出できなかった場合(S21でNO場合)、あるいは、どの方向からもデコードに成功しなかった場合(S23でNOの場合)にはデコード失敗とする(S28)。そして、情報機器10は、図7のS3の判定に制御を進める。すなわち、S23−S26の処理の繰り返しによって、dir={0,1,2,3}のいずれかの埋め込み方向への試行で、デコードに成
功した場合には、図7のS3でデコード成功となる。一方、S23−S26の処理の繰り返しによって、dir={0,1,2,3}のどの埋め込み方向においても、デコードに成功しなかっ
た場合に、図7のS3でデコード失敗となる。
【0076】
以上述べたように、実施例1の情報機器10は、撮影装置18で撮影した地図の画像に埋め込まれたコードを取得し、ネットワーク上のサーバ20からコードに対応する緯度経度情報を取得する。そして、情報機器10は、コードが埋め込まれた四角形領域の四隅座標と、緯度経度情報との関係から、地図画像の座標系と緯度、経度との変換式を作成する。そして、情報機器10は、地図画像の表示領域に含まれる施設の表示用データをネットワーク上のサーバ20等から取得し、撮影した地図画像に重ね合わせて表示する。
【0077】
したがって、情報機器10では、ネットワーク上のサーバ20等から地図データをダウンロードしなくてもよいので、通信データ量を削減できる。また、情報機器10は、紙データとして与えられる地図の画像を撮影するので、ディスプレイ14の表示サイズが小さい場合でも、紙のサイズがディスプレイ14の表示サイズよりも大きな地図と組み合わせることで、ユーザの使い勝手を向上できる。例えば、雑誌、パンフレット、看板等に大きな範囲の地図を表示しておき、撮影装置18で地図の一部を撮影した場合、撮影された地図の一部が全体の地図のどの範囲であるかをユーザが認識しやすくなる。
【0078】
また、既存の地図を撮影した地図の画像に、ネットワーク上のサーバ20等から取得した表示用データを重畳して表示するので、表示用データとして、最新のものを取得できる可能性が高まる。ユーザは、例えば、地図が印刷された後に設置された施設、建設されたビル等に関する情報を地図に重畳して表示できる。
【0079】
さらに、座標を撮影画像用に射影変換してデータを表示することで、カメラで地図を撮影する際に、カメラが傾き、画像の縦横の方向と地図上の罫線方向とが傾いて撮影された場合でも、表示位置を補正できる。
【0080】
さらに、実施例1では、情報機器10は、地図画像の罫線を認識し、罫線4つの罫線で囲まれた四角形領域を抽出する。したがって、ユーザが特定の領域を意識せず、大まかに地図を撮影した場合でも、情報機器10は、撮影された地図に重畳する追加の情報を取得でき、ユーザの使い勝手がよい。さらに、上記図8の処理では、dir={0,1,2,3}のそれぞ
れに対して順次、デコードが成功するまでデコード処理を繰り返す。したがって、撮影装置18による画像が90度単位で回転した場合でも、情報機器10は、緯度経度情報を取得できる可能性を高めることができる。
【0081】
また、撮影された地図上に複数の四角形領域が含まれていた場合には、それぞれの四角形領域に対してデコード処理を実行すればよい。そして、最初にデコードに成功したときに残りの四角形領域でのデコード処理を中止すればよい。ただし、複数の四角形領域の頂点座標を基に、射影変換の係数を決定してもよい。複数の四角形領域の頂点座標を反映することで、射影変換の変換精度を高めることができる。
【0082】
さらに、実施例1では、地図にコードを埋め込んでおき、デコードしたコードを基に、情報機器10がサーバ20に、緯度経度情報を問い合わせる。したがって、地図自体に埋め込む情報を単純化できる。例えば、とりあえず、コードを埋め込む地図上の四角形領域と、ユニークに識別できるコードを確定しておき、コードを埋め込んだ地図を作成すればよい。そして、そのコードをどのように用いるかは、地図が作製された後の段階で、情報機器10およびサーバ20のアプリケーションプログラムによって決定すればよい。すなわち、実施例1の構成では、極めて簡単、早期にコードが埋め込まれた地図を作成し、徐々にサービスの向上、充実を図ることができる。
【0083】
<変形例>
上記実施例1では、dir={0,1,2,3}として、処理を説明した。例えば、画像の座標系で
検出された罫線が傾いていた場合には、罫線で区切られた四角形領域の4頂点を包含する座標軸方向に辺を持つ、矩形の4頂点の距離から、上辺を決定すればよい。
【0084】
図13に、上辺を決定する処理概要を例示する。例えば、ハフ変換によって得られた罫線が撮影画像の座標系において、L1、L2、L3、L4のように傾いていた場合を想定する。この場合には、情報機器10は、罫線L1−L4で囲まれた四角形領域を包含する矩形PUL、PUR、PDR、PDL(点線の矩形)を作成する。そして、除法機器10は、罫線L1−L4で囲まれた四角形領域を包含する矩形の左上点PULに最も距離が近い頂点P1を罫線L1−L4で囲まれた四角形領域の左上点とする。そして、dir=0のと
き、情報機器10は、頂点P1と頂点P1に対して時計回り方向の次の頂点P2とを決定する。そして、情報機器10は、頂点P1、P2を両端とする辺L2をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。
【0085】
また、dir=1のとき、情報機器10は、上記頂点P2と次の頂点P3とを決定する。そ
して、情報機器10は、頂点P2、P3を両端とする辺L3をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。また、dir=2のとき、情報機器10は、上
記頂点P3と次の頂点P4とを決定する。そして、情報機器10は、頂点P3、P4を両端とする辺L3をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。また、dir=3のとき、情報機器10は、上記頂点P4と次の頂点P1とを決定する。そ
して、情報機器10は、頂点P4、P1を両端とする辺L1をコードが埋め込まれた画像の上辺としてデコード処理を実行すればよい。
【0086】
なお、デコード処理の前に、一旦、L1−L4が撮影画像の座標軸(あるいは、図13の点線の矩形の辺)に平行となるように、座標変換するようにしてもよい。例えば、辺L2が点線の矩形の上辺LUに平行になるように、座標変換した後に、デコード処理を行ってもよい。そして、埋め込まれたコードが確定した後は、傾いた四角形領域L1−L4の頂点P1−P4の座標と、緯度経度情報との座標の変換式を作成すればよい。
【実施例2】
【0087】
図14から図19を参照して実施例2を説明する。上記実施例1では、情報機器10は、地図画像に埋め込まれたコードを得た後、サーバ20から緯度経度情報を取得した。実施例2では、緯度経度情報が埋め込まれた地図を用いる処理を説明する。すなわち、情報機器10は、撮影装置18で地図を撮影し、地図画像を生成する。そして、情報機器10は、生成した地図画像から緯度経度情報を読み取る。そして、情報機器10は、読み取った緯度経度情報を基に表示用データをネットワーク上のサーバ20等から取得する。そして、情報機器10は、例えば、追加の情報として「Aという名前のレストラン」を示すアイコンを取得する。そして、情報機器10は、ディスプレイ14上に撮影画像と重畳して、追加の情報を表示する。
【0088】
図14は、緯度・経度の情報を埋め込まれた地図画像と対応する位置情報を例示する図である。地図画像は、緯度x、 経度yとすると、
四隅左上(x1, y1) =(37.25,137.25),
四隅右上(x2, y2) =(37.25,138.5),
四隅左下(x3, y3) =(36.5,137.25),
四隅右下(x4, y4) =(36.5,138.5);
である。そこで、情報機器10は、四隅左上を基準として、緯度-0.75、経度+1.25の範囲の地図である。
【0089】
図15に、位置情報を地図画像に埋め込む手順の概要を例示する。図15のように、情報機器10は、四隅座標に対応する緯度、経度を2進数の埋め込みコードに変換する。
【0090】
情報機器10は、まず、四隅左上の緯度、経度を5桁10進数に変換し、さらに変換で得られた5桁10進数を17桁の2進数に変換する。そして、情報機器10は、四隅左上から四隅左下方向への緯度範囲を符号付き3桁の10進数データに変換する。さらに、情報機器10は、変換された10進数データを符号部1桁、データ部11桁の2進数データに変換する。
【0091】
さらに、情報機器10は、四隅左上から四隅右上方向への経度範囲を符号付き3桁の10進数データに変換する。そして、情報機器10は、変換された10進数を符号部1桁、データ部11桁の2進数データに変換する。以上の手順により、四隅左上緯度部。四隅左上経度部、緯度範囲部、経度範囲部を持つ2進数56桁の埋め込みコードが作成される。なお、2進数56桁に対して、多数決処理による誤り訂正を行うためには、画像内の埋め込みビット数は168ビットとなる。そこで、例えば、20×20ブロック、200ビット分のデータを埋め込めるブロック構成としてもよい。また、さらに、ブロック数を増加し、より多くの情報によって多数決による誤り訂正が実行できるようにしてもよい。
【0092】
作成された埋め込みコードは、例えば、図3に示した特許第3784781に記載の方法で画像に埋め込まれる。すなわち、情報機器10は、図3に示すように画像をブロックに分割し隣接するペアブロックの特徴量に差をつけることにより、ペアブロックに0または1のビットを割り当てる方法により画像に埋め込む。例えば、特許第3784781に記載のように、黄色の濃度が、本来の画像における黄色の濃度から変更されたとしても、人の目には感じにくいという特徴がある。そこで、例えば、ビットパターンに対応して、ペアブロックの黄色の濃淡を変更することで、コードが地図画像に埋め込まれる。
【0093】
図16に、検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する手順を例示する。情報機器10は、まず、2進数のコードの上位17桁を5桁の10進数に変換する。そして、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上の緯度として取得する。
【0094】
同様に、情報機器10は、2進数のコードの次の17桁を5桁の10進数に変換する。そして、情報機器10は、小数点を二桁桁下げして四角形領域の四隅左上の経度として取得する。
【0095】
さらに、情報機器10は、2進数のコードの次の12桁を符号部1桁+11桁に分割し、符号部が0ならば−、1ならば+に変換する。そして、情報機器10は、11桁部分は3桁の10進数に変換する。さらに、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上から四角形領域四隅左下までの緯度範囲として取得する。
【0096】
同様に、情報機器10は、2進数のコードの次の12桁を、符号1桁+11桁に分割し、符号部が0ならば−、1ならば+に変換し、11桁部分は3桁の10進数に変換する。そして、情報機器10は、得られた10進数の小数点を二桁桁下げして四角形領域の四隅左上から四角形領域四隅右下までの経度範囲として取得する。以上の処理によって、四隅左上緯度経度をx1、 y1とすると(x1, y1) =(37.25,137.25)、緯度範囲-0.75、経度範囲+1.25が取得される。これをもとに、四角形領域の四隅の残りの緯度経度を下式により求める。
四隅右上緯度経度(x2, y2) =(x1,y1+経度範囲)=(37.25,138.5);
四隅左下緯度経度(x3, y3) =(x1+緯度範囲,y1)= (36.5,137.25);
四隅右下緯度経度(x4, y4) =(x1+緯度範囲,y1+経度範囲)= (36.5,138.5);
なお、dir=0の場合には、撮影画像において検出した領域の四隅左上が四角形領域四隅
左上に割り当てられる。また、dir=1の場合には、撮影画像において検出した領域の四隅
右上が四角形領域四隅左上に割り当てられる。また、dir=2の場合には、撮影画像におい
て検出した領域の四隅右下が四角形領域四隅左上に割り当てられる。また、dir=3の場合
には、撮影画像において検出した領域の四隅左下が四角形領域四隅左上に割り当てられる。
【0097】
図17に、データが埋め込まれた紙地図を情報機器10の撮影装置18で撮影し、撮影画像に追加の情報を重畳して表示するフローチャートを例示する。図17の処理において、図7と同一の処理には、同一の符号が付されている。
【0098】
まず、情報機器10は、実施例1と同様、ユーザの指示に応答して、地図の読み取りを開始する。地図読み取り処理により、カメラインターフェース18Aを経由して紙地図を撮影したカメラ撮影画像が取得される(S1)。取得された撮影画像に対して、デコード処理が実行される(S2A)。情報機器10のCPU11は、対応関係取得部として、S1−S2Aの処理を実行する。
【0099】
そして、デコードに成功した場合には(S3の判定でYESの場合)、情報機器10のCPU11は、実施例1と同様に、情報機器10は、撮影画像四隅の緯度、経度情報を算出する(S5A)。すなわち、実施例では、地図画像に埋め込まれた情報から、緯度、経度を求め、射影変換を実行する。したがって、実施例2では、情報機器10は、四角形領域四隅の緯度経度情報をサーバ20から取得しなくてもよい。情報機器10のCPU11は、座標変換部として、S5Aの処理を実行する。S6以下の処理は、図8と同様であるので、その説明を省略する。
【0100】
図18に、デコード処理(図17のS2A)の詳細なフローチャートを例示する。なお、S20−S26の処理は、画像からの埋め込み情報のデコード処理であり、基本的な手順は図8の場合と同様である。ただし、図8の場合には、画像への埋め込み情報が地域を識別するコードであったのに対して、図18の場合には、画像への埋め込み情報が緯度・経度の情報(図15、図16参照)である点が相異する。情報機器10のCPU11は、
メモリ上に実行可能に展開されたコンピュータプログラムにより図18の処理を実行する。CPU11は、デコード部として、図18の処理を実行する。
【0101】
情報機器10は、まず撮影画像中の罫線で囲まれた四角形領域の四隅座標を検出する(S20)。四角形領域の四隅座標が、第1座標系での参照位置を示す第1座標情報に相当する。四隅座標が全て検出できた場合には(S21でYES)、四角形領域の4辺を上辺、右辺、下辺、左辺の順に、埋め込み領域の上辺とした場合について、特許第3784781の
方法でデコード処理を行う(S23−S26)。
【0102】
デコードに成功した場合には(S26でYES)、検出した2進数のコードを四角形領域四隅の緯度経度情報に変換する(S27A)。デコードに成功したか、否かは、実施例1の図8の場合と同様に判定する。四隅座標が検出できなかった場合、あるいは、どの方向からもデコードに成功できなかった場合には、情報機器10は、デコード失敗とする。なお、四角形領域の四隅の緯度経度情報が第2座標系での参照位置を示す第2座標情報に相当する。
【0103】
デコード成功の場合(図17のS3でYES)、情報機器10は、制御を図17のS5Aに進め、撮影画像中の四角形領域の四隅座標および、該四隅の緯度経度情報、さらに回転角度をもとに、撮影画像四隅の緯度、経度を計算する。
【0104】
以上述べたように、実施例2の処理によれば、四角形領域の四隅の緯度と経度が撮影画像に埋め込まれているので、情報機器10は、サーバ20に、緯度と経度を問い合わせなくても、撮影された地図画像の表示領域の緯度と経度を算出できる。
【0105】
以上のように、開示の技術の一側面は、地図に関連する画像表示技術に関する。すなわち、情報機器10は、地図の第1の領域の座標情報に相当する罫線で囲まれた四角形領域の座標と緯度経度情報との対応関係に基づいて、画像の座標系と緯度、経度との座標変換の式を作成する。そして、情報機器10は、第1の領域を含む第2の領域に相当する、地図画像の表示領域の緯度経度情報を取得する。さらに、情報機器10は、取得した地図画像の表示領域の緯度経度情報から、地図画像に重畳して表示する表示用データを取得し、撮影された地図に表示される情報について、情報量の増大を図る。
【0106】
《その他の変形例》
上記実施例1、実施例2では、第2座標系として、緯度経度が用いられた。しかし、第2座標系は、緯度と経度以外の座標系によって定義してもよい。すなわち、表示用データのデータベース(図6参照)において、それぞれの表示用データに該当する施設の位置は、緯度経度ではなく、他の座標系で表してもよい。要するに、情報機器10が、表示用データのデータベースにアクセスする際に、表示用データで示される施設の位置が、どのような座標系で定義されているかを認識できればよい。したがって、情報機器10で、図7あるいは図17の処理を実行するコンピュータプログラムと、表示用データのデータベースとで、第2座標系として共通の座標系を用いればよい。そのためには、表示用データのデータベースの座標系を事前に決定しておけばよい。そして、実施例1の手順または実施例2の手順で表示用データの座標系での四角形の4頂点の座標を取得すればよい。その場合に、表示用データの座標系での最大値や最小値などをサーバ20から、情報機器10に引き渡すことで、デコード結果が正しいか否かの判定に用いてもよい。ただし、緯度経度を用いることで、情報機器10が複数のサーバから表示用データを取得するようなシステムにおいては、表示用データを汎用的に作成できるという利点はある。
【0107】
以上述べた処理は、紙媒体、印刷媒体、屋外において塗料で形成された看板上の地図、大型ディスプレイ上に表示された地図、インターネット上のウェブサイトに表示された地
図等、様々な地図に対して適用できる。
【0108】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【0109】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
【0110】
10 情報機器
11 CPU
12 第1記憶装置
13 第2記憶装置
14 ディスプレイ
15 操作部
16 通信インターフェース
17 メディアアクセス装置
18 撮影装置
20 サーバ
【特許請求の範囲】
【請求項1】
地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換部と、
前記領域情報に応じて表示データを取得する表示データ取得部と、を備える画像表示装置。
【請求項2】
前記対応関係取得部は、前記符号化された情報から前記第1の領域に埋め込まれたコードを取得するデコード部と、
前記第1の領域の前記第1座標系での参照位置を示す第1座標情報を取得する第1取得部と、
前記コードに応じて、前記第1の領域の前記第2座標系での参照位置を示す第2座標情報を取得する第2取得部と、を有する請求項1に記載の画像表示装置。
【請求項3】
前記対応関係取得部は、前記第1座標系における前記第1の領域の参照位置を示す第1座標情報を取得する第1取得部と、
前記符号化された情報から前記第2座標系における前記第1の領域の参照位置を示す第2座標情報を取得するデコード部と、を有する請求項1に記載の画像表示装置。
【請求項4】
前記デコード部は、
前記地図の画像情報中の罫線パターンを認識する罫線認識部と、
前記罫線認識部で認識された4つの罫線で囲まれた四角形領域を複数に分割したブロック間の画像の特徴量の関係に応じて埋め込まれたビットパターンを取得するビット取得部と、を有する請求項2または3に記載の画像表示装置。
【請求項5】
前記ビット取得部は、前記四角形領域内に含まれるブロックの並びのうち、前記四角形領域のいずれかの辺を選択した場合の、前記選択された辺に隣接するブロックの並びである第1ブロック群を第1の処理対象として、前記第1ブロック群の処理後に前記第1ブロック群に隣接する第2ブロック群を処理対象とする処理を繰り返すことによって、前記第1ブロック群に並行なブロック群から埋め込まれたビットパターンを取得する処理を試行し、前記試行が成功した場合に処理を終了し、前記試行が成功しなかった場合に前記四角形領域の辺のうちの未選択の辺を選択して前記試行を繰り返し、前記四角形領域のいずれの辺を基準としても、試行が成功しなかったときに、処理不可能と判定する請求項4に記載の画像表示装置。
【請求項6】
前記第2取得部は、前記コードを基に、ネットワーク上のサーバにアクセスし、前記コードに対応する前記第1の領域の第2座標情報を取得する請求項2に記載の画像表示装置。
【請求項7】
コンピュータが、地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、
前記領域情報に応じて表示データを取得する表示データ取得ステップと、を実行する画像表示方法。
【請求項8】
コンピュータに、地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、
前記領域情報に応じて表示データを取得する表示データ取得ステップと、を実行させるための画像表示プログラム。
【請求項1】
地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得部と、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換部と、
前記領域情報に応じて表示データを取得する表示データ取得部と、を備える画像表示装置。
【請求項2】
前記対応関係取得部は、前記符号化された情報から前記第1の領域に埋め込まれたコードを取得するデコード部と、
前記第1の領域の前記第1座標系での参照位置を示す第1座標情報を取得する第1取得部と、
前記コードに応じて、前記第1の領域の前記第2座標系での参照位置を示す第2座標情報を取得する第2取得部と、を有する請求項1に記載の画像表示装置。
【請求項3】
前記対応関係取得部は、前記第1座標系における前記第1の領域の参照位置を示す第1座標情報を取得する第1取得部と、
前記符号化された情報から前記第2座標系における前記第1の領域の参照位置を示す第2座標情報を取得するデコード部と、を有する請求項1に記載の画像表示装置。
【請求項4】
前記デコード部は、
前記地図の画像情報中の罫線パターンを認識する罫線認識部と、
前記罫線認識部で認識された4つの罫線で囲まれた四角形領域を複数に分割したブロック間の画像の特徴量の関係に応じて埋め込まれたビットパターンを取得するビット取得部と、を有する請求項2または3に記載の画像表示装置。
【請求項5】
前記ビット取得部は、前記四角形領域内に含まれるブロックの並びのうち、前記四角形領域のいずれかの辺を選択した場合の、前記選択された辺に隣接するブロックの並びである第1ブロック群を第1の処理対象として、前記第1ブロック群の処理後に前記第1ブロック群に隣接する第2ブロック群を処理対象とする処理を繰り返すことによって、前記第1ブロック群に並行なブロック群から埋め込まれたビットパターンを取得する処理を試行し、前記試行が成功した場合に処理を終了し、前記試行が成功しなかった場合に前記四角形領域の辺のうちの未選択の辺を選択して前記試行を繰り返し、前記四角形領域のいずれの辺を基準としても、試行が成功しなかったときに、処理不可能と判定する請求項4に記載の画像表示装置。
【請求項6】
前記第2取得部は、前記コードを基に、ネットワーク上のサーバにアクセスし、前記コードに対応する前記第1の領域の第2座標情報を取得する請求項2に記載の画像表示装置。
【請求項7】
コンピュータが、地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、
前記領域情報に応じて表示データを取得する表示データ取得ステップと、を実行する画像表示方法。
【請求項8】
コンピュータに、地図の画像の第1の領域に符号化された情報から、前記地図の画像上の第1座標系と前記地図の画像に配置する表示データの表示位置を定義する第2座標系との対応関係を取得する対応関係取得ステップと、
前記対応関係にしたがって、前記第1の領域を含む第2の領域の前記第2座標系での存在範囲を示す領域情報を取得する座標変換ステップと、
前記領域情報に応じて表示データを取得する表示データ取得ステップと、を実行させるための画像表示プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−180711(P2011−180711A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−42586(P2010−42586)
【出願日】平成22年2月26日(2010.2.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願日】平成22年2月26日(2010.2.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]