(57)【要約】      （修正有）【課題】装置上に表示されたテキスト内の住所、地理座標又は名称を検出し、ジオコードデータを提供するために住所／名称をジオコーディングするか又は地理座標を逆ジオコーディングする方法を提供する。【解決手段】テキスト内の住所、地理座標又は名称を検出し、ジオコーディング／逆ジオコーディングは自動的に実行する。ジオコードデータは、装置のユーザインタフェースにおいてテキストと共にインプレイスで表示するか別のアプリケーションに提供する。【選択図】図６
2014002724.tif 000002
【特許請求の範囲】
【請求項１】
装置の１以上のプロセッサで実行される方法であって、
１以上の住所、地理座標又は名称を含むテキストを装置で受信し、
前記テキスト中の前記住所、地理座標又は名称を検出し、
前記住所又は前記名称をジオコーディングして地理座標を生成するか又は前記地理座標を逆ジオコーディングして住所又は名称を生成し、
前記ジオコーディング又は逆ジオコーディングの結果を前記テキストにインプレイスで表示するか、又は前記結果をアプリケーションに提供する
方法。
【請求項２】
前記テキストは電子メール、テキストメッセージ又はメモアプリケーションから受信されることを特徴とする請求項１に記載の方法。
【請求項３】
前記ジオコーディング及び逆ジオコーディングのそれぞれは、前記装置のオペレーティングシステムに組み込まれたジオコーダにより実行されることを特徴とする請求項１に記載の方法。
【請求項４】
前記ジオコーディングは道路地理情報システムからのデータを利用する住所補間を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記テキスト中の前記住所、地理座標又は名称を指示する第１のユーザ入力を受け取り、
前記第１のユーザ入力に応答して、１以上のユーザ選択可能なオプションを含むユーザインタフェース要素を表示し、
オプションを選択する第２のユーザ入力を受け取り、
前記第２の入力に応答して、自動的に前記ジオコーディング又は逆ジオコーディングを開始することをさらに含むこと特徴とする請求項１に記載の方法。
【請求項６】
前記ユーザインタフェースが、前記テキストと一緒に表示される吹出しであることを特徴とする請求項５に記載の方法。
【請求項７】
前記オプションの少なくとも一つがテキスト編集オプションであることを特徴とする請求項５に記載の方法。
【請求項８】
住所又は名称が、前記住所又は名称に対応する地理座標にジオコーディングされ、前記地理座標がジオコードデータを検索するのに使用されることを特徴とする請求項１に記載の方法。
【請求項９】
前記ジオコードデータは、前記装置の現在地から前記地理座標に対応する住所又は前記名称に関連した住所への経路を計算するためのオプションを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
１以上のプロセッサと、
前記１以上のプロセッサに接続され、前記１以上のプロセッサにより実行されるインストラクションを格納したメモリとを含むシステムであって、前記１以上のプロセッサによって実行されて、
１以上の住所、地理座標又は名称を含むテキストを装置で受信し、
前記テキスト中の前記住所、地理座標又は名称を検出し、
前記住所又は前記名称をジオコーディングして地理座標を生成するか又は前記地理座標を逆ジオコーディングして住所又は名称を生成し、
前記ジオコーディング又は逆ジオコーディングの結果を前記テキストにインプレイスで表示するか、又は前記結果をアプリケーションに提供する
システム。
【請求項１１】
前記テキストは電子メール、テキストメッセージ又はメモアプリケーションから受信されることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記ジオコーディング及び逆ジオコーディングのそれぞれは前記システムのオペレーティングシステムに組み込まれたジオコーダにより実行されることを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記ジオコーディングは道路地理情報システムからのデータを利用する住所補間を含むことを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記メモリは１以上のプロセッサにより実行されるインストラクションを含み、前記１以上のプロセッサにより実行されて、
前記テキスト中の前記住所、地理座標又は名称を指示する第１のユーザ入力を受け取り、
前記第１のユーザ入力に応答して、１以上のユーザ選択可能なオプションを含むユーザインタフェース要素を表示し、
オプションを選択する第２のユーザ入力を受け取り、
前記第２の入力に応答して、自動的に前記ジオコーディング又は逆ジオコーディングを開始する
ことを特徴とする請求項１０に記載のシステム。
【請求項１５】
前記ユーザインタフェースが前記テキストと一緒に表示される吹出しであることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記オプションの少なくとも一つがテキスト編集オプションであることを特徴とする請求項１４に記載のシステム。
【請求項１７】
住所又は名称が前記住所又は名称に対応する地理座標にジオコーディングされ、前記地理座標がジオコードデータを検索するのに使用されることを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記ジオコードデータは、前記装置の現在地から前記地理座標に対応する住所又は前記名称に関連した住所への経路を計算するためのオプションを含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
１以上のプロセッサにより実行される方法であって、
全部又は部分的な住所を含むテキストを装置で受信し、
前記テキスト中の前記全部又は部分的な住所を検出し、
前記住所を拡大又は縮小したデータを生成するか又は前記全部又は部分的な住所に関係した名称と前記住所を置き換えたデータを生成し、
前記データを前記テキストにインプレイスで表示するか又はアプリケーションに提供する方法。
【請求項２０】
１以上のプロセッサと、
前記１以上のプロセッサに接続され、前記１以上のプロセッサに実行されるインストラクションを格納したメモリを含むシステムであって、前記１以上のプロセッサによって実行されて、
全部又は部分的な住所を含むテキストを装置で受信し、
前記テキスト中の前記全部又は部分的な住所を検出し、
前記住所を拡大又は縮小したデータを生成するか又は前記全部又は部分的な住所に関係した名称と前記住所を置き換えたデータを生成し、
前記データを、前記テキストにインプレイスで表示するか又はアプリケーションに提供するシステム。
【請求項２１】
１以上のプロセッサに、
１以上の住所、地理座標又は名称を含むテキストを受信するステップと、
前記テキストから前記住所、地理座標又は名称を検出するステップと、
前記住所又は名称をジオコーディングして地理座標を生成するか又は前記地理座標を逆ジオコーディングして住所又は名称を生成するステップと、
前記ジオコーディング又は逆ジオコーディングの結果をテキストにインプレイスで表示するか前記結果をアプリケーションへ提供するステップとを
実行させるインストラクションを格納したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、インプレイステキスト編集及びジオコーディングに関する。
【背景技術】
【０００２】
現在の移動装置（例えば、スマートフォン、電子タブレットコンピュータ）は、電子メール及びテキストメッセージ等の種々のテキストベースアプリケーションに対するインプレイステキスト編集を含む。ユーザは、テキストの切り取り、コピー、貼り付け及び置換を含む編集のために、テキストの一部を強調表示するか又は指定できる。これらの最新の移動装置の多くは位置認識し、マッピング又はナビゲーションアプリケーションと共に使用可能なジオコーディング及び逆ジオコーディング機能を含む。ジオコーディングは、住所又は郵便番号等の他の地理データから関連する地理座標（例えば、緯度、経度）を見つける処理である。逆ジオコーディングは、地点（例えば、緯度、経度）を判別可能な住所又は場所名に逆コーディングする処理である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
装置上に表示されたテキスト内の住所、地理座標（例えば、緯度、経度）又は名称を検出し、ジオコードデータを提供するために住所／名称をジオコーディングするか又は地理座標を逆ジオコーディングするシステム、方法及びコンピュータ可読媒体が開示される。検出及びジオコーディング／逆ジオコーディングは自動的に実行可能である。ジオコードデータは、装置のユーザインタフェースにおいてテキストと共にインプレイスで表示されるか、あるいは別のアプリケーションに提供される。
【０００４】
いくつかの実施例において、住所を含むテキスト入力が受信される。住所は自動検出され、その後、地理座標、都市、その住所に存在する商業施設又は装置が利用可能な他の何らかのジオコードデータ（例えば、国勢調査情報、ソーシャルネットワーク情報等）等のある程度の粒度を表示するために変更される。
【０００５】
いくつかの実施例において、住所又は地理座標のインプレイス検出及び変更は、テキスト上でインプレイスであるスペルチェック又は辞書ユーザインタフェース要素（例えば、吹出し）に組み込まれる。ユーザインタフェース要素は、住所又は地理座標に関連する他のジオコード情報（例えば、郵便番号、名称、国勢調査情報、局番、行政区分、政府又は商業リソースへのリンク（例えば、ウェブサイトへのリンク）、地点情報（ｐｏｉｎｔｓ  ｏｆ  ｉｎｔｅｒｅｓｔ）等）を提案できる。
【０００６】
いくつかの実施例において、アプリケーション開発者は、住所又は地理座標を検出する機能を引き継ぐものとしてアプリケーション内のテキスト領域を指定できる。機能は、例えばアプリケーションプログラミングインタフェース（ＡＰＩ）に従う装置のオペレーティングシステムサービスであるシステム全体のサービスにより、アプリケーションに提供される。
【０００７】
本明細書において開示される特定の実施例は、以下の利点のうちの１つ以上を提供する。住所又は地理座標は、電子メール、テキストメッセージ又はメモ等の何らかのアプリケーションにおける何らかのテキストに対してインプレイスで検出される。検出されると、現在のアプリケーションを終了することなく、検出された住所又は地理座標に関連する追加の情報がユーザに提供される。
【０００８】
開示される実施例の詳細は、添付の図面及び以下の説明において記載される。他の特徴、目的及び利点は、説明及び図面、並びに特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【０００９】
【図１Ａ】、
【図１Ｂ】図１Ａ及び図１Ｂは、インプレイス逆ジオコーディングに対する例示的なユーザインタフェースを示す図である。
【図２Ａ】、
【図２Ｂ】図２Ａ及び図２Ｂは、インプレイスジオコーディングに対する例示的なユーザインタフェースを示す図である。
【図３Ａ】、
【図３Ｂ】図３Ａ及び図３Ｂは、ジオコード情報を提供するためのインプレイス吹出しに対する例示的なユーザインタフェースを示す図である。
【図４】図４は、インプレイスジオコードデータ検出の例示的な処理を示す図である。
【図５】図５は、図１〜図４を参照して説明する特徴及び処理を実現する装置の例示的なアーキテクチャを示すブロック図である。
【図６】図６は、図５の装置に対する動作環境を示すブロック図である。  種々の図面において使用される同一の図中符号は同様の要素を示す。
【発明を実施するための形態】
【００１０】
例示的なユーザインタフェース
図１Ａ及び図１Ｂは、インプレイス逆ジオコーディングに対する例示的なユーザインタフェースを示す。図１Ａを参照すると、テキストメッセージングアプリケーションのユーザインタフェースが示される。ユーザインタフェースは、移動装置１００のタッチセンシティブディスプレイ１０２上に提示される。図１Ａにおいて装置１００はスマートフォンとして示されるが、装置１００は、スマートフォン、ノートブックコンピュータ、電子タブレットコンピュータ、テレビ装置、電子メール装置等を含むがそれらに限定されないテキストを表示できるどんな装置であってもよい。テキストメッセージングに対するユーザインタフェースは、仮想キーボード１０４、テキスト入力欄１０６及び送出ボタン１０８を含む。
【００１１】
示される例において、ユーザ（「Ｐａｔｒｉｃｋ」）はテキストメッセージにおいて地理座標１１２を受信した。Ｐａｔｒｉｃｋは、吹出し１１０を表示させるために座標をタッチ（例えば、長押し）又はタップする。吹出し１１０は、カット、コピー、ペースト及びリプレースを含む複数の編集オプションを含む。
【００１２】
図１Ｂを参照すると、Ｐａｔｒｉｃｋはリプレースオプションを選択し、その結果、地理座標「３７．３３１６８４，−１２２．０３０７５２」に対応する住所、都市及び州を表示する吹出し１１０が示される。これは、「１  Ｉｎｆｉｎｉｔｅ  Ｌｏｏｐ、Ｃｕｐｅｒｔｉｎｏ、Ｃａ」である。Ｐａｔｒｉｃｋがリプレースを選択した時、逆ジオコーディング動作が実行され、その結果、ジオコードデータが生成された。本例において、ジオコードデータは、テキスト内の地理座標に対応する住所、都市及び州を含む。
【００１３】
図２Ａ及び図２Ｂは、インプレイスジオコーディングに対する例示的なユーザインタフェースを示す。本例において、Ｐａｔｒｉｃｋはメモアプリケーションにおいて住所１１５を入力した。Ｐａｔｒｉｃｋは、吹出し１１６を表示させるために住所をタッチ又はタップする。Ｐａｔｒｉｃｋはリプレースオプションを選択し、吹出し１１６は図２Ｂに示すように住所に対応する地理座標を表示する。
【００１４】
Ｐａｔｒｉｃｋがリプレースを選択した時、ジオコーディング動作が実行され、その結果、住所「１  Ｉｎｆｉｎｉｔｅ  Ｌｏｏｐ、Ｃｕｐｅｒｔｉｎｏ、Ｃａ」に対応する地理座標を含むジオコードデータが生成された。これは、本例では「＜３７．３３１６８４，−１２２．０３０７５２＞」である。
【００１５】
上述の逆ジオコーディング及びジオコーディングは、装置１００のオペレーティングシステムに組み込まれたソフトウェアジオコーダを使用して実現可能である。ジオコーディング方法の一例は、道路網を地理座標空間内にマッピングする道路地理情報システム（ＧＩＳ）からのデータを利用する住所補間である。各道路区分は、住所範囲（例えば、１つの区分から次の区分までの番地）を付与される。ジオコーダは住所を取得し、それと道路及び特定の区分（例えば、区画等）とをマッチングする。その後、ジオコーダは、区分に沿う範囲内に住所の位置を補間する。
【００１６】
逆ジオコーディングは、ジオコーディング処理と同様に実行される。例えば地理座標がジオコーダに入力される場合、対応する住所は参照データセット内の地理座標に最も近い道路区分に割り当てられた範囲から補間される。例えば地理座標が住所１００から開始して住所２００で終了する区分の中間点の付近である場合、返される住所は１５０付近のどこかである。逆ジオコーディングの場合の地理座標は、事前定義済み空間層を有するＧＩＳ内の座標を地理参照して地理座標を判定することにより、地図からも抽出可能である。
【００１７】
装置のオペレーティングシステム内の住所／座標検出モジュールは、従来のパターン認識アルゴリズム（例えば、分類アルゴリズム、クラスタ化アルゴリズム、回帰アルゴリズム）を使用してテキスト内の住所又は地理座標を検出できる。その場合、住所又は地理座標はテキストから抽出され、ユーザの介入なしに（例えば、自動的に）ジオコーダに送出される。住所及び地理座標に加えて、名称がジオコーダへの入力として使用可能であり、これは住所又は地理座標にマッピングされる。
【００１８】
ジオコーダの出力は、発生元のアプリケーション（例えば、電子メール、テキストメッセージング、メモ等）においてテキストと共にインプレイスで表示されるか、あるいは表示又は更なる処理のために別のアプリケーションに提供される。
【００１９】
いくつかの実施例において、テキスト内の住所又は部分的な住所はリファインされるか、拡大されるか、あるいは縮小される。検出モジュールは、テキスト内の部分的な住所とデータベースに格納された完全な住所又は他の関連する住所データとをマッチングするために、文字列マッチングアルゴリズムを使用できる。例えば部分的な住所「３５５  １７ｔｈ  Ｓｔ」は、対応する都市及び州「Ｓａｎ  Ｆｒａｎｃｉｓｃｏ、ＣＡ」に縮小される。また、住所は名称にされる。例えば住所「３３３  Ｖａｌｅｎｃｉａ  Ｓｔ  ＳＦ  ＣＡ」は「Ｊｏｅ’ｓ  Ｃａｆｅ」又は「＠ｊｏｅｓｃａｆｅ」にリファインされる。
【００２０】
図３Ａ及び図３Ｂは、ジオコード情報を提供するためのインプレイス吹出しに対する例示的なユーザインタフェースを示す。本例において、Ｐａｔｒｉｃｋはメモアプリケーションにおいて住所１１５を入力した。Ｐａｔｒｉｃｋは、吹出し１１８を表示させるために住所をタッチ又はタップする。吹出し１１８は、「提案」と呼ばれる追加のオプションを含む。Ｐａｔｒｉｃｋは提案オプションを選択し、吹出し１１０は図３Ｂに示すように住所に対応する種々のジオコードデータ１２０を表示する。本例において、ジオコードデータは、名称、都市、州、郵便番号、電話番号、国番号、人口、局番、ウェブサイトのＵＲＬ及び地域の天候状態を含む。ジオコードデータは、ローカル又はリモートの地図データベース（不図示）に格納可能である。
【００２１】
いくつかの実施例において、住所は最初に地理座標にジオコーディングされ、その後、ＧＩＳ等の地図データベースへの索引として使用される。いくつかの実施例において、ネットワークに基づくサービスは、図６に示すサービス６３０等の地理座標に対応するジオコードデータを提供できる。サービス６３０は、ジオコードデータを格納するリモートデータベースへのアクセスを更に提供できる。
【００２２】
ジオコーダにより提供可能な他のジオコードデータは、近隣識別データ、ソーシャルネットワーク情報（例えば、装置上でソーシャルネットワークアプリケーションを起動するためのリンク）、アイコン又は記号、海又は他の水域、地点情報（例えば、公園、軍事基地、記念碑）等を含むがそれらに限定されない。
【００２３】
いくつかの実施例において、１つのオプションは、住所又は地理座標へのナビゲートである。このオプションは、例えば内蔵測位システム（例えば、ＧＰＳ、Ｗｉ−Ｆｉ、セルラネットワーク）から取得された装置１００の現在地を使用して、装置１００の現在地から住所又は地理座標への経路を計算する。マッピングアプリケーションは装置１００上で自動的に起動され、計算された経路と共に地図をディスプレイ１０２上に表示する。いくつかの実施例において、住所の「ストリートビュー」表示が自動的に起動される。
【００２４】
例示的な処理
図４は、インプレイスのジオコードデータ検出の例示的な処理４００を示す。処理４００は、図５及び図６を参照して説明する装置のアーキテクチャ及び動作環境を使用して実行される。
【００２５】
いくつかの実施例において、処理４００は、住所、地理座標又は名称を含むテキストを受信することにより開始する（４０２）。処理４００は進み、テキスト内の住所、地理座標又は名称を検出する（４０４）。住所、地理座標又は名称は、適切なパターンマッチングアルゴリズムを使用してテキストにおいて検出される。処理４００は進み、ジオコードデータを生成するために住所／名称をジオコーディングするか又は地理座標を逆ジオコーディングする（４０６）。処理４００は進み、結果として得られたジオコードデータをテキストと共にインプレイスで表示するか又はアプリケーションにジオコードデータを提供する（４０８）。ジオコードデータは、例えばＡＰＩを使用して、オペレーティングシステムサービスにより装置１００上で実行する別のアプリケーションに提供される。ジオコーディング／逆ジオコーディングは装置上で実行されてもよく、あるいはリモートネットワークに基づくサービスにより実行されてもよい。
【００２６】
例示的な装置のアーキテクチャ
図５は、図１〜図４を参照して説明する特徴及び処理を実現する装置の例示的なアーキテクチャを示すブロック図である。
【００２７】
アーキテクチャ５００は、ポータブル又はデスクトップコンピュータ、スマートフォン及び電子タブレット、テレビシステム、ゲームコンソール及びキオスク等を含むがそれらに限定されない何らかの装置において実現される。アーキテクチャ５００は、メモリインタフェース５０２、データプロセッサ、画像プロセッサ又は中央処理装置５０４、並びに周辺インタフェース５０６を含む。メモリインタフェース５０２、プロセッサ５０４又は周辺インタフェース５０６は別個の構成要素であってもよく、あるいは１つ以上の集積回路において一体化されてもよい。上述の種々の構成要素は、１つ以上の通信バス又は信号線により結合される。
【００２８】
センサ、装置及びサブシステムは、複数の機能性を促進するために周辺インタフェース５０６に結合される。例えば動きセンサ５１０、光センサ５１２及び近接センサ５１４は、装置の姿勢機能、照明機能及び近接機能を促進するために周辺インタフェース５０６に結合される。例えばいくつかの実施例において、光センサ５１２は、タッチ面５４６の輝度の調節を促進するために利用される。いくつかの実施形態において、動きセンサ５１０（例えば、加速度計、ジャイロ）は、装置の動き及び姿勢を検出するために利用される。従って、表示オブジェクト又はメディアは検出された姿勢（例えば、縦向き又は横向き）に従って提示される。
【００２９】
温度センサ、生体センサ又は他の検出装置等の他のセンサが関連する機能性を促進するために周辺インタフェース５０６に更に接続される。
【００３０】
位置検出プロセッサ５１５（例えば、ＧＰＳ受信機）は、地理測位を提供するために周辺インタフェース５０６に接続される。電子磁力計５１６（例えば、集積回路チップ）は、磁北の方向を判定するために使用可能なデータを提供するために周辺インタフェース５０６に同様に接続される。従って、電子磁力計５１６は電子コンパスとして使用可能である。
【００３１】
カメラサブシステム５２０と例えば電荷結合素子（ＣＣＤ）又は相補型金属酸化膜半導体（ＣＭＯＳ）光学センサである光学サンサ５２２とは、写真及びビデオクリップの記録等のカメラ機能を促進するために利用される。
【００３２】
通信機能は、１つ以上の通信サブシステム５２４を介して促進される。通信サブシステム５２４は、１つ以上の無線通信サブシステムを含む。無線通信サブシステムは、無線周波数受信機及び送信機、並びに／又は光学（例えば赤外線）受信機及び送信機を含む。有線通信サブシステムは、他の通信装置、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、表示画面、あるいはデータを受信又は送信できる他の処理装置等の他のコンピュータ装置への有線接続を確立するために使用可能な例えばユニバーサルシリアルバス（ＵＳＢ）ポート又は他の何らかの有線ポート接続であるポート装置を含む。通信サブシステム５２４の特定の設計及び実施例は、装置が動作しようとする際に介する通信ネットワーク又は媒体に依存する。例えば装置は、ＧＳＭネットワーク、ＧＰＲＳネットワーク、ＥＤＧＥ（ｅｎｈａｎｃｅｄ  ｄａｔａ  ＧＳＭ  ｅｎｖｉｒｏｎｍｅｎｔ）ネットワーク、８０２．ｘ通信ネットワーク（例えば、Ｗｉ−Ｆｉ、ＷｉＭａｘ又は３Ｇネットワーク）、符号分割多元接続（ＣＤＭＡ）ネットワーク及びＢｌｕｅｔｏｏｔｈＴＭネットワークを介して動作するように設計された無線通信サブシステムを含む。通信サブシステム５２４は、装置が他の無線装置に対する基地局として構成されるようにホスティングプロトコルを含んでもよい。別の例として、通信サブシステムは、例えばＴＣＰ／ＩＰプロトコル、ＨＴＴＰプロトコル、ＵＤＰプロトコル及び他の何らかの既知のプロトコル等の１つ以上のプロトコルを使用して装置がホスト装置と同期するようにする。
【００３３】
オーディオサブシステム５２６は、音声認識、音声複製、デジタル録音及び電話機能等の音声対応機能を促進するために、スピーカ５２８及び１つ以上のマイク５３０に結合される。
【００３４】
Ｉ／Ｏサブシステム５４０は、タッチ制御器５４２及び／又は他の入力制御器５４４を含む。タッチ制御器５４２はタッチ面５４６に結合される。タッチ面５４６及びタッチ制御器５４２は、例えば容量、抵抗、赤外線及び表面弾性波を用いた技術を含むがそれらに限定されない多くのタッチ感知技術、並びに他の近接センサアレイ、あるいはタッチ面５４６との１つ以上の接触点を判定する他の要素のいずれかを使用して、接触及び動き又はそれらの終了を検出する。いくつかの実施例において、タッチ面５４６は、ユーザにより入出力装置として使用される仮想又はソフトボタンと仮想キーボードとを表示する。
【００３５】
他の入力制御器５４４は、１つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、ＵＳＢポート、並びに／又はスタイラス等のポインタ装置等の他の入力／制御装置５４８に結合される。１つ以上のボタン（不図示）は、スピーカ５２８及び／又はマイク５３０の音量制御のための上下ボタンを含むことができる。
【００３６】
いくつかの実施例において、装置５００は、ＭＰ３、ＡＡＣ及びＭＰＥＧファイル等の記録されたオーディオ及び／又はビデオファイルを提示できる。いくつかの実施例において、装置５００はＭＰ３プレーヤの機能性を含み、他の装置に有線接続するためのピンコネクタを含んでもよい。他の入出力及び制御装置が使用されてもよい。
【００３７】
メモリインタフェース５０２はメモリ５５０に結合される。メモリ５５０は、高速ランダムアクセスメモリ、あるいは１つ以上の磁気ディスク記憶装置、１つ以上の光記憶装置又はフラッシュメモリ（例えば、ＮＡＮＤ、ＮＯＲ）等の不揮発性メモリを含む。メモリ５５０は、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ、あるいはＶｘ  Ｗｏｒｋｓ等の組み込みオペレーティングシステム等のオペレーティングシステム５５２を格納する。オペレーティングシステム５５２は、基本システムサービスの処理及びハードウェア依存タスクの実行のためのインストラクションを含んでもよい。いくつかの実施例において、オペレーティングシステム５５２はカーネル（例えば、ＵＮＩＸカーネル）を含むことができる。
【００３８】
メモリ５５０は、１つ以上の追加の装置、１つ以上のコンピュータ又はサーバとの通信を促進するための通信インストラクション５５４を更に格納する。通信インストラクション５５４は、装置の地理的場所（ＧＰＳ／ナビゲーションインストラクション５６８により取得される）に基づいて、装置により使用される動作モード又は通信媒体を選択するために更に使用される。メモリ５５０は、図１〜図４を参照して説明する種々のユーザインタフェース及びユーザインタフェース要素の生成及び表示等のグラフィカルユーザインタフェースの処理を促進するためのグラフィカルユーザインタフェースインストラクション５５６、センサに関連する処理及び機能を促進するためのセンサ処理インストラクション５５８、電話に関連する処理及び機能を促進するための電話インストラクション５６０、電子メールアプリケーション又はテキストメッセージングアプリケーションを実現するためのインストラクションを含む電子メッセージングに関連する処理及び機能を促進するための電子メッセージングインストラクション５６２、図６を参照して説明するサービス６３０との通信の促進を含むウェブ閲覧に関連する処理及び機能を促進するためのウェブ閲覧インストラクション５６４、メディア処理に関連する処理及び機能を促進するためのメディア処理インストラクション５６６、ＧＰＳ及びナビゲーションに関連する処理を促進するためのＧＰＳ／ナビゲーションインストラクション５６８、カメラに関連する処理及び機能を促進するためのカメラインストラクション５７０、並びに図１〜図４を参照して説明するソフトウェアジオコーダ及び検出モジュールを実現するためのインストラクション等の他のインストラクション５７２を含む。メモリ５５０は、他の処理、機能、並びにナビゲーション、ソーシャルネットワーキング、場所に基づくサービス又は地図表示に関連するアプリケーション等のアプリケーションを促進するための他のソフトウェアインストラクションを更に格納してもよい。
【００３９】
上記で識別されたインストラクション及びアプリケーションの各々は、上述の１つ以上の機能を実行するためのインストラクションの集合に対応する。これらのインストラクションは、別個のソフトウェアプログラム、手順又はモジュールとして実現される必要はない。メモリ５５０は追加のインストラクションを含んでもよく、あるいは、より少ないインストラクションを含んでもよい。更に、移動装置の種々の機能は、１つ以上の信号処理及び／又は特定用途向け集積回路を含むハードウェア及び／又はソフトウェアで実現されてもよい。
【００４０】
例示的な動作環境
図６は、図５を参照して説明する装置のアーキテクチャに対する動作環境を示すブロック図である。いくつかの実施例において、装置６０２ａ及び６０２ｂは１つ以上の有線又は無線ネットワーク６１０を介して通信する。例えば無線ネットワーク６１２（例えば、セルラネットワーク）は、ゲートウェイ６１６を使用してワイドエリアネットワーク（ＷＡＮ）６１４（例えば、インターネット）と通信する。同様に、アクセス装置６１８（例えば、ＩＥＥＥ８０２．１１ｇ無線アクセス装置）はＷＡＮ６１４への通信アクセスを提供する。装置６０２ａ、６０２ｂは、ポータブルコンピュータ、スマートフォン及び電子タブレットを含むがそれらに限定されないＧＵＩを表示できる何らかの装置である。いくつかの実施例において、装置６０２ａ、６０２ｂは携帯可能である必要がなく、デスクトップコンピュータ、テレビシステム又はキオスクシステム等であってもよい。
【００４１】
いくつかの実施例において、音声通信及びデータ通信の双方は無線ネットワーク６１２及びアクセス装置６１８を介して確立される。例えば装置６０２ａは、無線ネットワーク６１２、ゲートウェイ６１６及びＷＡＮ６１４を介して（例えば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）又はユーザデータグラムプロトコル（ＵＤＰ）を使用して）、通話の発信及び受信を行い（例えば、ＶｏＩＰ（ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを使用して）、電子メールメッセージを送受信し（例えば、ＳＭＰＴＰ又はＰＯＰ３（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ  ３）を使用して）、ウェブページ、写真及びビデオ等の電子文書及び／ストリームを検索する。同様に、いくつかの実施例において、装置６０２ｂは、アクセス装置６１８及びＷＡＮ６１４を介して、通話の発信及び受信を行い、電子メールメッセージを送受信し、電子文書を検索する。いくつかの実施例において、装置６０２ａ又は６０２ｂは１つ以上のケーブルを使用してアクセス装置６１８に物理的に接続され、アクセス装置６１８はパーソナルコンピュータであってもよい。この構成において、装置６０２ａ又は６０２ｂを「有線接続された」装置と呼ぶことができる。
【００４２】
装置６０２ａ及び６０２ｂは、他の手段で通信を更に確立できる。例えば無線装置６０２ａは、無線ネットワーク６１２を介して他の無線装置（例えば、他の装置６０２ａ又は６０２ｂ、携帯電話）と通信できる。同様に、装置６０２ａ及び６０２ｂは、１つ以上の通信サブシステム及びＢｌｕｅｔｏｏｔｈＴＭ通信プロトコル等の通信プロトコルを使用してピアツーピア通信６２０（例えば、パーソナルエリアネットワーク）を確立できる。他の通信プロトコル及びトポロジも実現可能である。
【００４３】
装置６０２ａ又は６０２ｂは、１つ以上の有線及び／又は無線ネットワーク６１０を介してサービス６３０と通信できる。例えばサービス６３０は、ウェブサーバを使用してウェブページを提供するソーシャルネットワーキングウェブサイト、ブログ又はＴｗｉｔｔｅｒ（登録商標）を含むどんなサービスであってもよい。サービス６３０は、図１〜図４を参照して説明するようなジオコーディング／逆ジオコーディングサービス、マッピングサービス及び／又はジオコードデータのデータベースへのアクセスを提供する。
【００４４】
装置６０２ａ又は６０２ｂは、１つ以上の有線及び／又は無線ネットワーク６１０を介して他のデータ及びコンテンツに更にアクセスできる。例えば、ニュースサイト等のコンテンツ発行者、ＲＳＳ（Ｒｅａｌｌｙ  Ｓｉｍｐｌｅ  Ｓｙｎｄｉｃａｔｉｏｎ）フィード、ウェブサイト及び開発者ネットワークが装置６０２ａ又は６０２ｂによりアクセスされる。そのようなアクセスは、装置６０２ａ又は６０２ｂ上で実行するウェブ閲覧機能又はアプリケーション（例えばブラウザ）の起動により提供される。
【００４５】
装置６０２ａ及び６０２ｂは、１つ以上の無線又は有線ネットワーク６１０を介して、直接又はサービス６３０を通じてファイルを交換できる。
【００４６】
説明した特徴は、デジタル電子回路網又はコンピュータハードウェア、ファームウェア、ソフトウェア、あるいはそれらの組み合わせで実現される。機能は、プログラム可能プロセッサにより実行するために、例えば機械可読記憶装置である情報キャリアにおいて有形に実現されるコンピュータプログラムにおいて実現される。方法ステップは、入力データにおいて動作し且つ出力を生成することにより説明した実施例の機能を実行するためのインストラクションのプログラムをプログラム可能プロセッサが実行することにより実行される。
【００４７】
説明した機能は、データ記憶システム、少なくとも１つの入力装置及び少なくとも１つの出力装置との間でデータ及びインストラクションを送受信するために結合された少なくとも１つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能である１つ以上のコンピュータプログラムにおいて有利に実現される。コンピュータプログラムは、特定の動作を実行するか又は特定の結果を生じるためにコンピュータにおいて直接又は間接的に使用可能な一組のインストラクションである。コンピュータプログラムは、コンパイル済み又は解釈済みの言語を含む何らかの形態のプログラミング言語（例えば、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｊａｖａ）で書かれ、スタンドアロンプログラム、あるいはモジュール、構成要素、サブルーチン又は演算環境において使用するのに適した他のユニットである何らかの形態で開発される。
【００４８】
インストラクションのプログラムの実行に適したプロセッサは、例えば、何らかの種類のコンピュータの汎用及び専用マイクロプロセッサの双方、並びに単独プロセッサあるいは複数のプロセッサ又はコアのうちの１つを含む。一般に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ、あるいはその双方からインストラクション及びデータを受信する。コンピュータの不可欠な要素は、インストラクションを実行するためのプロセッサとインストラクション及びデータを格納するための１つ以上のメモリである。一般に、コンピュータはデータファイルを格納するための大容量記憶装置と通信できる。これらの大容量記憶装置は、内部ハードディスク及び取外し可能ディスク等の磁気ディスク、光磁気ディスク及び光ディスクを含む。コンピュータプログラムインストラクション及びデータを有形に実現するのに適した記憶装置は、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置等の半導体メモリ装置、内部ハードディスク及び取外し可能ディスク等の磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む全ての形態の不揮発性メモリを含む。プロセッサ及びメモリは、ＡＳＩＣ（特定用途向け集積回路）により補助されるか又はそれに組み込まれる。
【００４９】
ユーザとの対話を提供するために、機能は、ユーザに対して情報を提示するためのＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタ等の表示装置と、ユーザがコンピュータに入力を提供するためのキーボード並びにマウス又はトラックボール等のポインティングデバイスとを有するコンピュータ上で実現可能である。
【００５０】
機能は、データサーバ等のバックエンド構成要素、アプリケーションサーバ又はインターネットサーバ等のミドルウェア構成要素、グラフィカルユーザインタフェース又はインターネットブラウザを有するクライアントコンピュータ等のフロントエンド構成要素、あるいはそれらの何らかの組み合わせを含むコンピュータシステムにおいて実現可能である。システムの構成要素は、通信ネットワーク等のデジタルデータ通信の何らか形態又は媒体により接続される。通信ネットワークの例は、ＬＡＮ、ＷＡＮ、並びにインターネットを形成するコンピュータ及びネットワークを含む。
【００５１】
コンピュータシステムは、クライアント及びサーバを含む。一般に、クライアント及びサーバは互いに対してリモートであり、通常はネットワークを介して対話する。クライアント及びサーバの関係は、各コンピュータ上で実行し且つ互いに対してクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【００５２】
開示した実施形態の１つ以上の機能又はステップは、アプリケーションプログラミングインタフェース（ＡＰＩ）を使用して実現可能である。ＡＰＩは、呼出しアプリケーションと、サービス又はデータの提供あるいは動作又は計算の実行を行う他のソフトウェアコード（例えば、オペレーティングシステム、ライブラリルーチン、機能）との間で渡される１つ以上のパラメータを定義する。
【００５３】
ＡＰＩは、プログラムコードにおいて、ＡＰＩの仕様文書で定義される呼出し規約に基づくパラメータリスト又は他の構造を介して１つ以上のパラメータを送出又は受信する１つ以上の呼出しとして実現される。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクトのクラス、変数、データの種類、ポインタ、配列、リスト又は別の呼出しである。ＡＰＩの呼出し及びパラメータは、何らかのプログラミング言語で実現される。プログラミング言語は、プログラマがＡＰＩをサポートする機能にアクセスするために使用する語彙及び呼出し規約を定義する。
【００５４】
いくつかの実施例において、ＡＰＩ呼出しは、入力機能、出力機能、処理機能、電源機能、通信機能等のアプリケーションを実行する装置の機能をアプリケーションに報告する。
【００５５】
多くの実施例を説明した。しかし、種々の変更が行われてもよいことが理解されるだろう。１つ以上の実施例の要素は、更なる実施例を形成するために組み合わされてもよく、削除されてもよく、変更されてもよく、あるいは補足されてもよい。更に別の例として、図面において示された論理フローは、所望の結果を達成するために、示された特定の順序を必要とせず、すなわち順序を必要としない。更に、他のステップが提供されてもよく、あるいはステップが説明したフローから削除されてもよい。他の構成要素が説明したシステムに追加されてもよく、あるいは構成要素がシステムから削除されてもよい。従って、他の実施例は以下の特許請求の範囲の範囲内である。
【図４】
2014002724.tif 000003
【図５】
2014002724.tif 000004
【図６】
2014002724.tif 000005
【図１Ａ】
2014002724.tif 000006
【図１Ｂ】
2014002724.tif 000007
【図２Ａ】
2014002724.tif 000008
【図２Ｂ】
2014002724.tif 000009
【図３Ａ】
2014002724.tif 000010
【図３Ｂ】
2014002724.tif 000011
【外国語明細書】
2014002724000001.pdf