Nothing Special   »   [go: up one dir, main page]

JP7100815B2 - Positioning - Google Patents

Positioning Download PDF

Info

Publication number
JP7100815B2
JP7100815B2 JP2020501803A JP2020501803A JP7100815B2 JP 7100815 B2 JP7100815 B2 JP 7100815B2 JP 2020501803 A JP2020501803 A JP 2020501803A JP 2020501803 A JP2020501803 A JP 2020501803A JP 7100815 B2 JP7100815 B2 JP 7100815B2
Authority
JP
Japan
Prior art keywords
orientation
image
determining
line
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020501803A
Other languages
Japanese (ja)
Other versions
JP2020528180A5 (en
JP2020528180A (en
Inventor
ジュン ワン、ジェン
ラオ、ジューン
ナ ニィエ、リー
ウェイ グォ、イャ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020528180A publication Critical patent/JP2020528180A/en
Publication of JP2020528180A5 publication Critical patent/JP2020528180A5/ja
Application granted granted Critical
Publication of JP7100815B2 publication Critical patent/JP7100815B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/422Technical drawings; Geographical maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Description

本開示は、測位技術、より具体的には、モバイル・デバイスの位置を決定するステップに関する。 The present disclosure relates to positioning techniques, and more specifically to the steps of locating mobile devices.

今日では、測位技術がますます広範囲に用いられている。例えば、ユーザがタクシーを予約したいと望むとき、最新のタクシーの運転手は、ユーザの位置を知る必要があろう。ユーザの位置を決定するために全地球測位システム(GPS:Global Positioning System)または他の衛星ベースの測位システムを用いることができる。 Positioning techniques are becoming more and more widely used today. For example, when a user wants to book a taxi, the latest taxi driver will need to know the user's location. A Global Positioning System (GPS) or other satellite-based positioning system can be used to determine the user's location.

一般に、GPS受信機は、受信機の場所を算出するために少なくとも3つのアクセス可能な衛星信号を必要とする。 In general, GPS receivers require at least three accessible satellite signals to determine the location of the receiver.

本開示の一実施形態によれば、デバイスに関する位置を返すための方法が提供される。本方法に従って、デバイスによってキャプチャーされた、第1の画像を1つ以上のネットワークを通じてデバイスから受信できる。デバイスの第1の方位を1つ以上のネットワークを通じてデバイスから受信できる。デバイスによってキャプチャーされた、第2の画像を1つ以上のネットワークを通じてデバイスから受信できて、デバイスの第2の方位をデバイスから受信できる。第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置をそれぞれデータベースから決定できる。データベースは、複数のオブジェクト位置を含むことができる。第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定できる。デバイス位置をデバイスへ送信できる。 According to one embodiment of the present disclosure, a method for returning a position with respect to a device is provided. According to this method, the first image captured by the device can be received from the device through one or more networks. The first orientation of the device can be received from the device through one or more networks. A second image captured by the device can be received from the device through one or more networks, and a second orientation of the device can be received from the device. The first position of the first object contained in the first image and the second position of the second object contained in the second image can be determined from the database, respectively. The database can contain multiple object positions. The position of the device can be determined according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object. The device location can be sent to the device.

本開示の別の実施形態によれば、コンピュータ・システムが提供される。コンピュータ・システムは、プロセッサおよびプロセッサに結合されたコンピュータ可読メモリを備える。メモリは、プロセッサによって実行されたときに、以下の動作、すなわち、デバイスによってキャプチャーされた第1の画像およびデバイスの第1の方位を1つ以上のネットワークを通じてデバイスから受信するステップと、デバイスによってキャプチャーされた第2の画像およびデバイスの第2の方位を1つ以上のネットワークを通じてデバイスから受信するステップと、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置を複数のオブジェクト位置を含んだデータベースから決定するステップと、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定するステップと、デバイスの位置をデバイスへ送信するステップとを行う命令を備える。 According to another embodiment of the present disclosure, a computer system is provided. The computer system comprises a processor and computer-readable memory coupled to the processor. The memory, when performed by the processor, captures the following actions by the device, namely the step of receiving the first image captured by the device and the first orientation of the device from the device through one or more networks. In the step of receiving the second image and the second orientation of the device from the device through one or more networks, and in the first position and second image of the first object contained in the first image. A step of determining the second position of the included second object from a database containing multiple object positions, and a first orientation, a second orientation, a first position of the first object, and a second. It comprises an instruction to determine the position of the device according to the second position of the object and to transmit the position of the device to the device.

本開示の別の実施形態によれば、コンピュータ・プログラム製品が提供される。本コンピュータ・プログラム製品は、それを以て具現されたプログラム命令を有するコンピュータ可読ストレージ媒体を備え、プログラム命令は、プロセッサに、デバイスによってキャプチャーされた第1の画像およびデバイスの方位を1つ以上のネットワークを通じてデバイスから受信し、デバイスによってキャプチャーされた第2の画像およびデバイスの第2の方位を1つ以上のネットワークを通じてデバイスから受信し、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置を複数のオブジェクト位置を含んだデータベースから決定し、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定して、デバイスの位置をデバイスへ送信するようにさせるために、プロセッサによって実行可能である。 According to another embodiment of the present disclosure, a computer program product is provided. The computer program product comprises a computer readable storage medium with program instructions embodied therein, the program instructions to the processor through one or more networks of the first image captured by the device and the orientation of the device. The first position of the first object contained in the first image, received from the device, the second image captured by the device, and the second orientation of the device received from the device through one or more networks. And the second position of the second object contained in the second image is determined from the database containing the plurality of object positions, and the first orientation, the second orientation, and the first position of the first object are determined. And it can be performed by the processor to determine the position of the device according to the second position of the second object and cause the device position to be transmitted to the device.

本開示の別の実施形態によれば、デバイスに関する位置を返すためのコンピュータ実装方法が提供される。本方法によれば、デバイスによってキャプチャーされた第1の画像およびデバイスの第1の方位が1つ以上のネットワークを通じてサーバへ送信される。デバイスによってキャプチャーされた第2の画像およびデバイスの第2の方位が1つ以上のネットワークを通じてサーバへ送信される。第1の画像に含まれた第1のオブジェクトの第1の位置が1つ以上のネットワークを通じて受信される。第2の画像に含まれた第2のオブジェクトの第2の位置が1つ以上のネットワークを通じて受信される。第1の位置および第2の位置をオブジェクト位置のデータベースを用いて特定できる。デバイスのデバイス位置が第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じて決定される。 According to another embodiment of the present disclosure, a computer implementation method for returning a position with respect to a device is provided. According to the method, the first image captured by the device and the first orientation of the device are transmitted to the server through one or more networks. The second image captured by the device and the second orientation of the device are transmitted to the server over one or more networks. The first position of the first object contained in the first image is received through one or more networks. The second position of the second object contained in the second image is received through one or more networks. The first position and the second position can be specified using the database of object positions. The device position of the device is determined according to the first orientation, the second orientation, the first position of the first object and the second position of the second object.

上記の概要は、示された各実施形態または本開示のあらゆる実装を記載することは意図されない。 The above overview is not intended to describe each of the embodiments presented or any implementation of the present disclosure.

本出願書に含まれる図面は、明細書に組み込まれて、その一部を成す。それらは、本開示の実施形態を示して、記載と併せて、本開示の原理を説明する役割を果たす。図面は、いくつかの実施形態を説明するに過ぎず、本開示を限定しない。 The drawings contained in this application are incorporated into the specification and form part thereof. They serve to illustrate embodiments of the present disclosure and, together with description, explain the principles of the present disclosure. The drawings only illustrate some embodiments and do not limit the disclosure.

本発明のある実施形態によるクラウド・コンピューティング・ノードを図示する。A cloud computing node according to an embodiment of the present invention is illustrated. 本発明のある実施形態によるクラウド・コンピューティング環境を図示する。Illustrates a cloud computing environment according to an embodiment of the present invention. 本発明のある実施形態による抽象化モデル層を図示する。An abstraction model layer according to an embodiment of the present invention is illustrated. 本開示のある実施形態による環境の例を示す概略図である。It is a schematic diagram which shows the example of the environment by an embodiment of this disclosure. 本開示のある実施形態による座標系の例を示す。An example of a coordinate system according to an embodiment of the present disclosure is shown. 本開示のある実施形態による座標系の別の例を示す。Another example of a coordinate system according to an embodiment of the present disclosure is shown. 本開示のある実施形態による測位のための方法例のフローチャートである。It is a flowchart of the method example for positioning by an embodiment of this disclosure. 本開示のある実施形態による測位のための別の方法例のフローチャートである。It is a flowchart of another method example for positioning by one Embodiment of this disclosure.

本発明は、様々な修正および代わりの形態に耐えるが、それらの細部が例として図面に示され、詳細に記載される。しかしながら、記載される特定の実施形態に本発明を限定する意図はないことが理解されるべきである。逆に、本発明の趣旨および範囲内にあるすべての修正、均等物、および選択肢をカバーすることが意図される。 The present invention withstands various modifications and alternative forms, the details of which are shown in the drawings as examples and described in detail. However, it should be understood that there is no intention to limit the invention to the particular embodiments described. Conversely, it is intended to cover all modifications, equivalents, and options within the spirit and scope of the invention.

本開示の態様は、測位技術に関し、より詳しい態様は、モバイル・デバイスの位置を決定するステップに関する。本開示は、かかる用途には必ずしも限定されないが、本開示の様々な態様が、この文脈を用いた様々な例の考察を通してよく理解されるであろう。 Aspects of the present disclosure relate to positioning techniques, and a more specific aspect relates to the step of locating a mobile device. The present disclosure is not necessarily limited to such uses, but various aspects of the present disclosure will be well understood through consideration of various examples in this context.

本開示の好ましい実施形態が示された、添付図面を参照して、いくつかの好ましい実施形態がより詳細に記載される。しかしながら、本開示を様々な仕方で実装することができ、従って、本明細書に開示される実施形態に本開示が限定されると解釈されるべきではない。 Some preferred embodiments are described in more detail with reference to the accompanying drawings showing preferred embodiments of the present disclosure. However, this disclosure can be implemented in various ways and therefore should not be construed as limiting this disclosure to the embodiments disclosed herein.

理解されるべきは、本開示が、クラウド・コンピューティングについて詳細な記載を含むが、本明細書に列挙される教示の実装がクラウド・コンピューティング環境には限定されないことである。むしろ、本発明の実施形態を現在知られているか、または後に開発される任意の他のタイプのコンピューティング環境と併せて実装することが可能である。 It should be understood that the disclosure includes a detailed description of cloud computing, but the implementation of the teachings listed herein is not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in conjunction with any other type of computing environment currently known or later developed.

クラウド・コンピューティングは、コンフィギュラブルなコンピューティング・リソース(例えば、ネットワーク、ネットワーク・バンド幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルであり、これらのリソースを最小限の管理努力、またはサービス・プロバイダとの相互作用によって迅速にプロビジョンし、かつリリースできる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。 Cloud computing is a convenient on-demand network for shared pools of configurable computing resources (eg, networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines and services). It is a model of service delivery to enable access, and these resources can be quickly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least 5 features, at least 3 service models, and at least 4 deployment models.

特徴は、次の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージのような、コンピューティング・ケイパビリティをサービス・プロバイダとのヒューマン・インタラクションを要することなく、必要に応じて、自動的、一方向的にプロビジョンできる。
広範なネットワークアクセス:ケイパビリティは、ネットワークを通じて利用可能であり、ヘテロジニアスなシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースが複数のコンシューマにサービスするためにマルチテナント・モデルを用いてプールされ、要求に応じて、異なる物理および仮想リソースが動的に割り当ておよび再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置を制御しえず、またはそれに関する知識を有さないが、より高い抽象化レベルにおいて位置(例えば、国、州、またはデータセンタ)を特定することが可能でありうるという点で位置独立性に意義がある。
迅速な弾力性:速やかにスケールアウトするためにケイパビリティを迅速かつ弾性的に、いくつかのケースでは自動的に、プロビジョンでき、かつ速やかにスケールインするために迅速にリリースできる。コンシューマには、プロビジョニングのために利用可能なケイパビリティがしばしば無制限であるように見え、いつでも任意の量を購入できる。
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、バンド幅、およびアクティブなユーザ・アカウント)に適したある抽象化レベルで計量ケイパビリティを活用することによって、リソース使用を自動的に制御して最適化する。リソース使用法をモニタリング、制御および報告して、利用されるサービスのプロバイダおよびコンシューマの両方にトランスペアレンシーを提供することができる。
The features are as follows.
On-demand self-service: Cloud consumers automatically and unidirectionally provide computing capabilities as needed without human interaction with service providers, such as server time and network storage. Can be provisioned.
Extensive network access: Capabilities are available through the network and are accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, mobile phones, laptops, and PDAs). ..
Resource pooling: Provider's computing resources are pooled using a multi-tenant model to serve multiple consumers, and different physical and virtual resources are dynamically allocated and reassigned on demand. Consumers generally have no control over or knowledge of the exact location of the resources provided, but identify their location (eg, country, state, or data center) at a higher level of abstraction. Position independence is significant in that it can be possible.
Rapid elasticity: Capabilities can be quickly and elastically released to scale out quickly, in some cases automatically, provisioned, and quickly released to scale in quickly. Consumers often seem to have unlimited capabilities available for provisioning and can buy any quantity at any time.
Services Measured: Cloud systems automate resource usage by leveraging metric capabilities at some level of abstraction appropriate for the type of service (eg storage, processing, bandwidth, and active user accounts). Control and optimize. Resource usage can be monitored, controlled and reported to provide transparency to both providers and consumers of the services utilized.

サービス・モデルは、以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service):コンシューマへ提供されるケイパビリティは、クラウド・インフラストラクチャ上で実行するプロバイダのアプリケーションを用いることである。アプリケーションは、webブラウザのようなシン・クライアント・インターフェース(例えば、webベースの電子メール)を通して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限られたユーザ固有のアプリケーション構成設定のありうる例外を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、あるいは個別のアプリケーション・ケイパビリティも含む、基礎をなすクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service):コンシューマへ提供されるケイパビリティは、プロバイダによってサポートされるプログラミング言語およびツールを用いて生成された、コンシューマにより生成され、または取得されたアプリケーションをクラウド・インフラストラクチャ上へデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、デプロイされたアプリケーション、および場合によってはアプリケーションをホストする環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service):コンシューマへ提供されるケイパビリティは、オペレーティング・システムおよびアプリケーションを含みうる、任意のソフトウェアをコンシューマがデプロイして実行することが可能な、処理、ストレージ、ネットワーク、および、他の基本的なコンピューティング・リソースをプロビジョンすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては選ばれたネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限られた制御を行う。
The service model is as follows.
Software as a Service (Software as a Service): The capability provided to consumers is to use the provider's application running on the cloud infrastructure. The application is accessible from a variety of client devices through a thin client interface such as a web browser (eg, web-based email). Consumers manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or individual application capabilities, with the possible exceptions of limited user-specific application configuration settings. do not do.
Platform as a Service (PaaS): The capabilities provided to consumers are consumer-generated or acquired applications generated using programming languages and tools supported by the provider. Is to be deployed on the cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but control deployed applications and, in some cases, the environment configuration that hosts them.
Infrastructure as a Service (IAaS): The capabilities provided to consumers allow consumers to deploy and run any software, including operating systems and applications. Provision processing, storage, network, and other basic computing resources. Consumers do not manage or control the underlying cloud infrastructure, but control operating systems, storage, deployed applications, and in some cases limited to selected networking components (eg, host firewalls). Perform the controlled control.

デプロイメント・モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、専らある組織のために運用される。クラウド・インフラストラクチャは、その組織またはサードパーティによって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。コミュニティ・クラウドは、それらの組織またはサードパーティによって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリック・クラウド:クラウド・インフラストラクチャは、一般の人々または大規模業界団体に利用可能にされて、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成体であり、これらのクラウドは、ユニークなエンティティのままであるが、データおよびアプリケーション・ポータビリティ(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)を可能にする標準化されるかまたは特許で保護された技術によって一緒にまとめられる。
The deployment model is as follows.
Private cloud: Cloud infrastructure operates exclusively for an organization. The cloud infrastructure may be managed by the organization or a third party and may exist on-premises or off-premises.
Community cloud: The cloud infrastructure is shared by several organizations and supports specific communities with common interests (eg, missions, security requirements, policies, and compliance considerations). Community clouds may be managed by those organizations or third parties and may exist on-premises or off-premises.
Public Cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by organizations that sell cloud services.
Hybrid Clouds: Cloud infrastructure is a composite of two or more clouds (private, community, or public), and these clouds remain unique entities, but with data and application portability (eg, for example). , Cloud bursting for load balancing between clouds), put together by standardized or patented technology.

クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、およびセマンティック・インターオペラビリティに焦点を絞ったサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。 Cloud computing environments are service-oriented with a focus on stateless, loosely coupled, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

次に、図1を参照すると、クラウド・コンピューティング・ノードの例の概略図が示される。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの例に過ぎず、本明細書に記載される本発明の実施形態の使用法または機能性の範囲についていかなる限定も示唆するものではない。それでも、クラウド・コンピューティング・ノード10は、先に提示された機能性のいずれかを実装しもしくは行うこと、またはその両方が可能である。 Next, with reference to FIG. 1, a schematic diagram of an example of a cloud computing node is shown. The cloud computing node 10 is merely an example of a suitable cloud computing node and suggests any limitation on the usage or scope of functionality of the embodiments of the invention described herein. is not. Nevertheless, the cloud computing node 10 is capable of implementing and / or performing any of the functionality presented above.

クラウド・コンピューティング・ノード10には、コンピュータ・システム/サーバ12、あるいは多くの他の汎用もしくは専用コンピューティング・システム環境または構成を用いて操作可能な、通信デバイスのような、ポータブル電子デバイスがある。コンピューティング・システム/サーバ12とともに用いるのに適しうる、よく知られたコンピューティング・システム、環境、もしくは、構成またはそれらのすべての例は、以下に限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレームコンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境、および同様のものを含む。 The cloud computing node 10 includes a portable electronic device, such as a communication device, that can be operated using a computer system / server 12 or many other general purpose or dedicated computing system environments or configurations. .. Well-known computing systems, environments, or configurations or all examples thereof that may be suitable for use with the computing system / server 12 are, but are not limited to, personal computer systems, servers. Computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, settop boxes, programmable home appliances, network PCs, minicomputer systems, Includes mainframe computer systems, and distributed cloud computing environments including any of the above systems or devices, and the like.

コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行される、プログラム・モジュールのような、コンピュータ・システムにより実行可能な命令の一般的な文脈で記載されてよい。一般に、プログラム・モジュールは、特定のタスクを行う、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでよい。コンピュータ・システム/サーバ12は、通信ネットワークを通してリンクされたリモート処理デバイスによってタスクが行われる分散クラウド・コンピューティング環境において実行されてよい。分散クラウド・コンピューティング環境では、プログラム・モジュールがメモリ・ストレージ・デバイスを含むローカルおよびリモート・コンピュータ・システム・ストレージ媒体の両方に配置されてよい。 The computer system / server 12 may be described in the general context of instructions executed by the computer system, such as program modules, executed by the computer system. In general, a program module may include routines, programs, objects, components, logic, data structures, etc. that perform a particular task or implement a particular abstract data type. The computer system / server 12 may be performed in a distributed cloud computing environment in which tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules may be located on both local and remote computer system storage media, including memory storage devices.

図1に示されるように、クラウド・コンピューティング・ノード10中のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ12のコンポーネントは、以下には限定されないが、1つ以上のプロセッサまたは処理ユニット16、システム・メモリ28、およびシステム・メモリ28を含めて様々なシステム・コンポーネントをプロセッサ16へ結合するバス18を含んでよい。 As shown in FIG. 1, the computer system / server 12 in the cloud computing node 10 is shown in the form of a general purpose computing device. The components of the computer system / server 12 combine various system components into the processor 16, including, but not limited to, one or more processors or processing units 16, system memory 28, and system memory 28. The bus 18 to be used may be included.

バス18は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを用いたプロセッサまたはローカル・バスを含めて、いくつかのタイプのバス構造のいずれかの1つ以上を表す。限定ではなく、例として、かかるアーキテクチャは、工業標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)バス、エンハンストISA(EISA:Enhanced ISA)バス、ビデオエレクトロニクス規格協会(VESA:Video Electronics Standards Association)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnect)バスを含む。 Bus 18 is of several types, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus with any of the various bus architectures. Represents one or more of the bus structures. By way of example, such architectures include Industrial Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, and video electronics standards. Includes the Video Electronics Standards Association (VESA) local bus and the Peripheral Component Interconnect (PCI) bus.

コンピュータ・システム/サーバ12は、典型的に、様々なコンピュータ・システム可読媒体を含む。かかる媒体は、コンピュータ・システム/サーバ12によってアクセス可能な任意の利用可能な媒体であってよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含む。 The computer system / server 12 typically includes various computer system readable media. Such media may be any available medium accessible by the computer system / server 12, including both volatile and non-volatile media, removable and non-removable media.

システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30もしくはキャッシュ・メモリ32またはその両方のような、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、さらに、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ・システム・ストレージ媒体を含んでよい。例としてのみ、非リムーバブル、不揮発性磁気媒体(示されず、典型的に、「ハードドライブ」と呼ばれる)から読み取り、それらに書き込むためにストレージ・システム34を設けることができる。示されないが、リムーバブル、不揮発性磁気ディスク(例えば、「フレキシブルディスク」)から読み取り、それらに書き込むための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROMまたは他の光媒体のようなリムーバブル、不揮発性光ディスクから読み取り、それらに書き込むための光ディスク・ドライブを設けることができる。かかる事例では、各々を1つ以上のデータ媒体インターフェースによってバス18へ接続できる。以下にさらに図示され、記載されるように、メモリ28は、本発明の実施形態の機能を実施するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでよい。 The system memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. As an example only, a storage system 34 can be provided to read from and write to non-removable, non-volatile magnetic media (not shown, typically referred to as "hard drives"). Although not shown, removable, non-volatile magnetic disk drives for reading from and writing to non-volatile magnetic disks (eg, "flexible disks"), and removable, non-volatile such as CD-ROMs, DVD-ROMs or other optical media. Optical disk drives can be provided to read from and write to sex optical discs. In such cases, each can be connected to the bus 18 by one or more data medium interfaces. As further illustrated and described below, the memory 28 is at least one program product having a set of program modules (eg, at least one) configured to perform the functions of the embodiments of the present invention. May include.

プログラム・モジュール42のセット(少なくとも1つ)、ならびにオペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュールおよびプログラム・データを有する、プログラム/ユーティリティ40が、限定ではなく、例として、メモリ28に記憶されてよい。オペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々またはそれらの何らかの組み合わせがネットワーキング環境の実装を含んでもよい。プログラム・モジュール42は、一般に、本明細書に記載されるような、本発明の実施形態の機能もしくは方法論またはその両方を実施する。 A program / utility 40 having a set (at least one) of program modules 42, as well as an operating system, one or more application programs, other program modules and program data, is not limited, but by way of example. It may be stored in the memory 28. An operating system, one or more application programs, other program modules, and each or any combination of program data may include an implementation of a networking environment. The program module 42 generally implements the functions and / or methodologies of embodiments of the invention as described herein.

コンピュータ・システム/サーバ12は、さらに、キーボード、ポインティング・デバイス、ディスプレイ24などのような1つ以上の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つ以上のデバイス、もしくはコンピュータ・システム/サーバ12が1つ以上の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)またはそれらのすべてと通信してよい。かかる通信は、入力/出力(I/O)インターフェース22を介して発生することができる。なおさらに、コンピュータ・システム/サーバ12は、1つ以上のネットワーク、例えば、ローカル・エリア・ネットワーク(LAN:local area network)、一般的なワイド・エリア・ネットワーク(WAN:wide area network)、もしくは公衆ネットワーク(例えば、インターネット)またはそれらのすべてとネットワーク・アダプタ20を介して通信できる。図示されるように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。理解されるべきは、示されないが、他のハードウェアもしくはソフトウェア・コンポーネントまたはその両方をコンピュータ・システム/サーバ12とともに用いることができるであろうということである。例は、以下には限定されないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどを含む。 The computer system / server 12 may further include one or more external devices 14, such as a keyboard, pointing device, display 24, etc., one or more that allow the user to interact with the computer system / server 12. The device, or computer system / server 12, may communicate with any device (eg, network card, modem, etc.) that allows it to communicate with one or more other computing devices, or all of them. .. Such communication can occur via the input / output (I / O) interface 22. Furthermore, the computer system / server 12 may be one or more networks, such as a local area network (LAN), a general wide area network (WAN), or the public. You can communicate with networks (eg, the Internet) or all of them via a network adapter 20. As shown, the network adapter 20 communicates with other components of the computer system / server 12 via bus 18. It should be understood that, although not shown, other hardware and / or software components could be used with the computer system / server 12. Examples include, but are not limited to, microcodes, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.

次に、図2を参照すると、例示的なクラウド・コンピューティング環境50が図示される。示されるように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、もしくは自動車コンピュータ・システム54Nまたはそれらのすべてなど、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスが通信してよい、1つ以上のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してよい。これらのノードは、先に記載されたプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組み合わせのような、1つ以上のネットワークにおいて、物理的または仮想的にグループ分けされてよい(示されない)。これは、クラウド・コンシューマがそのためのリソースをローカル・コンピューティング・デバイス上に維持する必要がない、インフラストラクチャ、プラットフォームもしくはソフトウェア・アズ・サービスまたはそれらのすべてをクラウド・コンピューティング環境50が提供することを許容する。理解されるのは、図2に示されるタイプのコンピューティング・デバイス54A~Nが、例示に過ぎないことが意図され、コンピューティング・ノード10およびクラウド・コンピューティング環境50が、任意のタイプのネットワークもしくはネットワークによりアドレス可能な接続またはその両方を通じて(例えば、webブラウザを用いて)、任意のタイプのコンピュータ化デバイスと通信できることである。 Next, with reference to FIG. 2, an exemplary cloud computing environment 50 is illustrated. As shown, the cloud computing environment 50 may be, for example, a mobile information terminal (PDA) or mobile phone 54A, desktop computer 54B, laptop computer 54C, or automotive computer system 54N or theirs. All include one or more cloud computing nodes 10 with which local computing devices used by cloud consumers may communicate. Nodes 10 may communicate with each other. These nodes may be physically or virtually grouped (not shown) in one or more networks, such as the private, community, public, or hybrid cloud described above, or a combination thereof. ). This means that the cloud computing environment 50 provides the infrastructure, platform or software as services, or all of them, without the need for cloud consumers to maintain the resources for it on their local computing devices. Tolerate. It is intended that the types of computing devices 54A-N shown in FIG. 2 are merely exemplary, and the computing node 10 and cloud computing environment 50 are any type of network. Alternatively, it is possible to communicate with any type of computerized device through a network addressable connection or both (eg, using a web browser).

次に、図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される機能抽象化層のセットが示される。予め理解されるべきは、図3に示されるコンポーネント、層、および機能が例示に過ぎないことが意図され、本発明の実施形態がそれらには限定されないことである。図示されるように、以下の層および対応する機能が提供される。 Next, with reference to FIG. 3, a set of functional abstraction layers provided by the cloud computing environment 50 (FIG. 2) is shown. It should be understood in advance that the components, layers, and functions shown in FIG. 3 are intended to be exemplary only, and embodiments of the invention are not limited thereto. The following layers and corresponding functions are provided as illustrated.

ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(縮小命令セット・コンピュータ:Reduced Instruction Set Computer)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。 The hardware and software layer 60 includes hardware and software components. Examples of hardware components are mainframe 61, RISC (Reduced Instruction Set Computer) architecture-based server 62, server 63, blade server 64, storage device 65, and network and networking. Includes component 66. In some embodiments, the software components include network application server software 67 and database software 68.

仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む、仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75がそれから提供されてよい抽象化層を提供する。 The virtualization layer 70 is then provided with the following examples of virtual entities: a virtual network 73 including a virtual server 71, a virtual storage 72, a virtual private network, a virtual application and an operating system 74, and a virtual client 75. Provides a good layer of abstraction.

一例では、管理層80は、以下に記載される機能を提供してよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを行うために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量及び料金設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウド・コンシューマおよびタスクについての識別情報検証、ならびにデータおよび他のリソースのための保護を提供する。ユーザ・ポータル83は、コンシューマおよびシステム・アドミニストレータのためにクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス・レベル・アグリメント(SLA:Service Level Agreement)計画および履行85は、それらに対する将来の要求がSLAに従って予期されるクラウド・コンピューティング・リソースのための事前配置およびその調達を提供する。 In one example, the management layer 80 may provide the functions described below. Resource provisioning 81 provides the dynamic procurement of computing resources and other resources used to perform tasks within a cloud computing environment. Weighing and pricing 82 provides cost tracking as resources are used within a cloud computing environment, and billing or billing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User Portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management to meet the required service level. The Service Level Agreement (SLA) Program and Implementation 85 provides pre-deployment and procurement of cloud computing resources for which future requirements for them are expected in accordance with SLA.

ワークロード層90は、クラウド・コンピューティング環境がそのために利用されてよい機能性の例を提供する。この層から提供されてよいワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ解析処理94、取引処理95、および測位96を含む。 The workload layer 90 provides an example of functionality in which a cloud computing environment may be utilized for that purpose. Examples of workloads and features that may be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom education delivery 93, data analysis processing 94, transaction processing 95, and positioning 96.

近頃、測位技術に対するニーズが増加している。例えば、ユーザがタクシーを予約したいと望むときに、タクシーの運転手は、ユーザの位置を知る必要があろう。ユーザの位置を、ユーザによって用いられる携帯電話のような、デバイスを用いて決定できる。デバイスの位置をユーザの位置と見做すことができる。ユーザの位置を決定するためにGPSまたは他の衛星ベースの測位システムを用いることできる。しかしながら、GPSまたは他の衛星ベースの測位システムは、完全ではなく、いくつかのケースでは安定に作動できない。例えば、GPSシステムは、測位サービスを提供するために、十分な強度かつ少なくとも3つの測位衛星の衛星信号がモバイル・デバイスによって検出されることを必要とする。そのうえ、GPSシステムの精度を損なう条件がありうる。 Recently, the need for positioning technology has increased. For example, when a user wants to book a taxi, the taxi driver may need to know the user's location. The location of the user can be determined using a device, such as a mobile phone used by the user. The position of the device can be regarded as the position of the user. GPS or other satellite-based positioning systems can be used to determine the user's position. However, GPS or other satellite-based positioning systems are not perfect and in some cases cannot operate stably. For example, a GPS system requires a mobile device to detect satellite signals of at least three positioning satellites with sufficient strength to provide positioning services. Moreover, there may be conditions that impair the accuracy of the GPS system.

図4は、本開示のある実施形態に従ってデバイス410の位置を決定するための環境400の概略図を示す。デバイス410は、モバイル・デバイス、ハンドへルド・デバイス、携帯電話、スマートフォン、カメラ、ラップトップ、タブレット、トランシーバ、携帯情報端末(PDA)、または本開示の測位技術を適用するのに適した現在知られているか、また開発されることになる任意の他のタイプのデバイスとすることができる。デバイス410をユーザによって運び、または車両中にデプロイできる。デバイス410は、画像または写真を取得するのに適した撮影装置を備えることができる。撮影装置は、カメラを備えることができる。デバイス410は、デバイス410の方位を決定するためのセンサも備えることができる。センサは、デジタル・コンパス、ジャイロスコープ、または現在知られているか、または開発されることになる他の指向性装置とすることができる。 FIG. 4 shows a schematic diagram of an environment 400 for locating a device 410 according to an embodiment of the present disclosure. The device 410 is a mobile device, a handheld device, a mobile phone, a smartphone, a camera, a laptop, a tablet, a transceiver, a personal digital assistant (PDA), or a current knowledge suitable for applying the positioning technology of the present disclosure. It can be any other type of device that has been or will be developed. The device 410 can be carried by the user or deployed in the vehicle. The device 410 may be equipped with a photographing device suitable for acquiring an image or a photograph. The photographing device can include a camera. The device 410 may also include a sensor for determining the orientation of the device 410. The sensor can be a digital compass, a gyroscope, or any other directional device that is currently known or will be developed.

デバイス410の位置を決定するために、デバイス410の撮影装置を用いて少なくとも2つの画像を取得できる。少なくとも2つの画像を、同じ位置で、または測位システムによって単一の位置と見做されるのに互いに十分に近い2つの位置で取得できる。例えば、第1の画像を取得した後に、デバイスが角度を回転させることができて、その後、第2の画像を取得できる。少なくとも2つの画像は、第1の画像および第2の画像を備えることができる。少なくとも1つの対象を、それぞれ、第1の画像および第2の画像の各々において特定できる。一例では、第1の画像中で特定された第1のオブジェクト420をレストランとすることができ、第2の画像中で特定された第2のオブジェクト430をホテルとすることができる。 At least two images can be acquired using the imaging device of the device 410 to determine the position of the device 410. At least two images can be acquired at the same position or at two positions close enough to each other to be considered as a single position by the positioning system. For example, after acquiring the first image, the device can rotate the angle and then acquire the second image. At least two images can include a first image and a second image. At least one object can be identified in each of the first and second images, respectively. In one example, the first object 420 identified in the first image can be a restaurant and the second object 430 identified in the second image can be a hotel.

第1の画像を取得するステップに加えて、デバイスの第1の方位440を決定できる。第2の画像を取得するステップに加えて、デバイスの第2の方位450を決定できる。本開示の様々な実施形態によれば、第1の画像または第2の画像を取得するステップを第1の方位440または第2の方位450を取得するステップの前、同時、または後に実装できる。一例では、デバイス410の撮影装置を用いて第1のオブジェクト420および第2のオブジェクト430を撮影するステップと並行して、第1の方位440および第2の方位450を取得できる。 In addition to the step of acquiring the first image, the first orientation 440 of the device can be determined. In addition to the step of acquiring the second image, the second orientation 450 of the device can be determined. According to various embodiments of the present disclosure, the step of acquiring the first image or the second image can be implemented before, simultaneously with, or after the step of acquiring the first orientation 440 or the second orientation 450. In one example, the first orientation 440 and the second orientation 450 can be acquired in parallel with the step of photographing the first object 420 and the second object 430 using the imaging device of the device 410.

第1の方位440は、撮影装置を用いて第1のオブジェクト420を撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。第2の方位450は、第2のオブジェクト430を撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。本開示の様々な実施形態によれば、参照方向は、東、あるいはデバイス410、ユーザ、デバイス上で実行しているアプリケーション、ローカルもしくはリモート・サーバ、またはサービス・プロバイダなどによって設定もしくは選択される任意の他の方向とすることができる。デバイスの軸方向は、デバイスから、それぞれ、第1のオブジェクト420または第2のオブジェクト430へ向かう方向とすることができる。 The first orientation 440 can be the angle between the axial direction and the reference direction of the device when the first object 420 is photographed using the photographing device. The second orientation 450 can be the angle between the axial direction and the reference direction of the device when shooting the second object 430. According to various embodiments of the present disclosure, the reference direction is set or selected east, or by device 410, a user, an application running on the device, a local or remote server, a service provider, and the like. It can be in the other direction. The axial direction of the device can be from the device towards the first object 420 or the second object 430, respectively.

本開示の様々な実施形態によれば、デバイス410の撮影装置を用いて画像を撮影する間にマーカまたは識別子をデバイス410の表示装置上に示すことができる。一例として、第1のオブジェクト420もしくは第2のオブジェクト430またはその両方を撮影するためにデバイス410を回すことができる。表示装置上に示されるオブジェクト420またはオブジェクト430が、撮影中に表示装置上に示されたマーカまたは識別子とマッチングすれば、デバイス410の軸方向と参照方向との間の角度を、それそれ、第1の方位440または第2の方位450として記録できる。 According to various embodiments of the present disclosure, a marker or identifier can be displayed on the display device of the device 410 while the image is taken with the image pickup device of the device 410. As an example, the device 410 can be rotated to capture the first object 420 and / or the second object 430. If the object 420 or object 430 shown on the display matches the marker or identifier shown on the display during shooting, the angle between the axial direction and the reference direction of the device 410 can be increased. It can be recorded as one orientation 440 or a second orientation 450.

本開示の様々な実施形態によれば、デバイス410の第1の方位440および第2の方位450を決定するためにデバイス410のセンサも用いることができる。表示装置上に示されるオブジェクト420またはオブジェクト430が、撮影中に表示装置上に示されたマーカまたは識別子とマッチングすれば、デバイス410の方位を決定するためにセンサを用いることができて、センサを用いて取得された方位を、それぞれ、第1の方位440または第2の方位450として記録できる。 According to various embodiments of the present disclosure, the sensor of the device 410 can also be used to determine the first orientation 440 and the second orientation 450 of the device 410. If the object 420 or object 430 shown on the display device matches the marker or identifier shown on the display device during shooting, the sensor can be used to determine the orientation of the device 410, and the sensor can be used. The orientations obtained using can be recorded as the first orientation 440 or the second orientation 450, respectively.

第1のオブジェクト420および第2のオブジェクト430の位置を取得できる。本開示の様々な実施形態によれば、第1のオブジェクトの位置または第2のオブジェクトの位置を取得するステップを第1の方位440または第2の方位450を取得するステップの前、同時、または後に実装できる。位置は、オブジェクト位置のデータベース、例えば、複数の実施形態によれば、記憶されたストリートビュー・マップをもつクラウド・サーバから引き出されてもよい。 The positions of the first object 420 and the second object 430 can be acquired. According to various embodiments of the present disclosure, the step of acquiring the position of the first object or the position of the second object is before, at the same time, or at the same time as the step of acquiring the first azimuth 440 or the second azimuth 450. Can be implemented later. The location may be retrieved from a database of object locations, eg, a cloud server with a stored Street View map, according to some embodiments.

本開示の様々な実施形態によれば、種々の建物または他のタイプのランドマークの位置を予め取得して、データベース中に記録できる。データベース中の記録は、建物またはランドマークの識別子、建物またはランドマークの画像、あるいはこれらの建物またはランドマークの位置などを備えることができる。データベースは、デバイス自体に記憶されてもよく、またはクラウド・ストレージのようなリモート・ストレージ中にあってもよい。例えば、複数の実施形態において、ストリートビュー・マップがデータベースとしての役割を果たしてもよい。かかる実施形態では、第1のオブジェクトおよび第2のオブジェクトの写真が1つ以上のネットワークを介してサーバへアップロードされてよい。複数の実施形態において、写真は、アップロードする前に白黒へ変換されてよい。第1の画像および第2の画像を取得するステップに応答し、現在知られているか、また開発されることになる様々なタイプの画像特定技術を用いて、第1のオブジェクト420および第2のオブジェクト430を、それぞれ、第1の画像および第2の画像中で特定できる。第1のオブジェクト420および第2のオブジェクト430の識別子を決定して、それぞれ、データベース中の記録とマッチングさせることができる。データベース記録は、様々な位置画像および関連する位置データを含んでよい。位置データは、複数の実施形態において、記憶されたGPSデータを含む。対応する記録を発見するステップに応答して、第1のオブジェクト420および第2のオブジェクト430の位置を、それぞれ対応する記録に基づいて、決定できる。別の例では、第1の画像中の第1のオブジェクト420を備える領域をデータベース中の記録の画像と比較できる。 According to various embodiments of the present disclosure, the locations of different buildings or other types of landmarks can be pre-acquired and recorded in a database. Records in the database can include identifiers of buildings or landmarks, images of buildings or landmarks, or locations of these buildings or landmarks. The database may be stored on the device itself or in remote storage such as cloud storage. For example, in a plurality of embodiments, the Street View map may serve as a database. In such an embodiment, the first object and the pictures of the second object may be uploaded to the server via one or more networks. In some embodiments, the photo may be converted to black and white before uploading. The first object 420 and the second object 420 and the second using various types of image identification techniques that are currently known or will be developed in response to the steps of acquiring the first image and the second image. The object 430 can be identified in the first image and the second image, respectively. The identifiers of the first object 420 and the second object 430 can be determined and matched with the records in the database, respectively. Database records may include various location images and associated location data. The location data includes stored GPS data in a plurality of embodiments. In response to the step of finding the corresponding record, the positions of the first object 420 and the second object 430 can be determined based on the corresponding records, respectively. In another example, the area with the first object 420 in the first image can be compared to the recorded image in the database.

本開示の様々な実施形態によれば、第1のオブジェクト420もしくは第2のオブジェクト430またはその両方を特定するためにユーザ入力も用いることができる。例えば、ユーザは、撮影された建物またはランドマークをよく知っていれば、第1のオブジェクト420もしくは第2のオブジェクト430またはその両方の特定に寄与するために建物またはランドマークの名称または他の情報を入力できる。本開示の様々な実施形態によれば、第1のオブジェクト420の第1の位置がデータベースから取得されず、または第2のオブジェクト430の第2の位置が取得されなければ、デバイス410のユーザへ通知を提示することができる。一例として、通知は、デバイス410の表示装置上に示された通知メッセージとすることができる。別の例では、サーバからデバイス410へ通知メッセージを送り、次に、デバイス410の表示装置上に示すことができる。 According to various embodiments of the present disclosure, user input can also be used to identify the first object 420 and / or the second object 430. For example, if the user is familiar with the building or landmark in which it was photographed, the name or other information of the building or landmark to help identify the first object 420 and / or second object 430. Can be entered. According to various embodiments of the present disclosure, if the first position of the first object 420 is not obtained from the database or the second position of the second object 430 is not obtained, to the user of the device 410. Notifications can be presented. As an example, the notification can be a notification message shown on the display device of the device 410. In another example, the server can send a notification message to the device 410, which can then be shown on the display device of the device 410.

図5は、本開示のある実施形態に従ってデバイス410の位置を決定するための座標系の例500の概略図を示す。一例では、第1のオブジェクト420および第2のオブジェクト430の位置を座標系中の第1の点520および第2の点530へマッピングできる。一例として、座標系の原点510として参照位置を選択し、座標系のX軸として参照方向を選択し、座標系のY軸としてX軸(参照方向)に垂直な方向を選択することによって座標系を動的に確立できる。別の例では、参照方向からある角度をもつ方向を座標系のX軸として選択することによって座標系を確立できる。 FIG. 5 shows a schematic diagram of an example 500 of a coordinate system for determining the position of the device 410 according to an embodiment of the present disclosure. In one example, the positions of the first object 420 and the second object 430 can be mapped to the first point 520 and the second point 530 in the coordinate system. As an example, the coordinate system is selected by selecting the reference position as the origin 510 of the coordinate system, selecting the reference direction as the X axis of the coordinate system, and selecting the direction perpendicular to the X axis (reference direction) as the Y axis of the coordinate system. Can be dynamically established. In another example, a coordinate system can be established by selecting a direction with an angle from the reference direction as the X-axis of the coordinate system.

本開示の様々な実施形態によれば、第1のオブジェクト420および第2のオブジェクト430の位置を経度および緯度、あるいは現在知られているか、または開発されることになる位置を提示するのに適した任意の他のフォーマットで表すことができる。参照位置を選択して、座標系の原点510として設定できる。一例では、参照位置は、第1のオブジェクト420および第2のオブジェクト430の位置に近い位置とすることができる。第1のオブジェクト420の(経度1,緯度1)と参照位置の(経度3,緯度3)との間の差を第1の点520のx座標およびy座標として設定できる。第2のオブジェクト430の(経度2,緯度2)と参照位置の(経度3,緯度3)との間の差を第2の点530のx座標およびy座標として設定できる。位置と座標との間のマッピングが一例として表1に示される。位置および座標をマッピングするために他のタイプのマッピング方法も用いることができる。例えば、位置の経度および緯度を数で表すことができて、これらの数に座標系中の座標を取得するために予め設定された定数を乗算できる。定数は、座標系の精度要件に合致する任意の値とすることができる。 According to various embodiments of the present disclosure, the positions of the first object 420 and the second object 430 are suitable for presenting the longitude and latitude, or the positions currently known or to be developed. Can be represented in any other format. The reference position can be selected and set as the origin 510 of the coordinate system. In one example, the reference position can be close to the position of the first object 420 and the second object 430. The difference between (longitude 1, latitude 1) of the first object 420 and (longitude 3, latitude 3) of the reference position can be set as the x-coordinate and y-coordinate of the first point 520. The difference between (longitude 2, latitude 2) of the second object 430 and (longitude 3, latitude 3) of the reference position can be set as the x-coordinate and y-coordinate of the second point 530. The mapping between position and coordinates is shown in Table 1 as an example. Other types of mapping methods can also be used to map positions and coordinates. For example, the longitude and latitude of a position can be represented by numbers, which can be multiplied by a preset constant to obtain the coordinates in the coordinate system. The constant can be any value that meets the accuracy requirements of the coordinate system.

Figure 0007100815000001
Figure 0007100815000001

座標系中の第1の方位440および第2の方位450に応じて第1の線および第2の線を決定できる。第1の線は、第1の点520を通過し、第1の線と座標系のX軸との間の角度540は、第1の方位440に等しい。第2の線は、第2の点530を通過し、第2の線とX軸との間の角度550は、第2の方位450に等しい。第1の線および第2の線は、交点510で互いに交わってよい。交点510のx座標およびy座標を決定して、次に、位置へマッピングできる。座標系中の点が位置に対応するので、交点510のx座標およびy座標に応じてデバイス410の位置を取得できる。 The first line and the second line can be determined according to the first orientation 440 and the second orientation 450 in the coordinate system. The first line passes through the first point 520 and the angle 540 between the first line and the X-axis of the coordinate system is equal to the first azimuth 440. The second line passes through the second point 530 and the angle 550 between the second line and the X-axis is equal to the second azimuth 450. The first line and the second line may intersect each other at intersection 510. The x and y coordinates of the intersection 510 can be determined and then mapped to a position. Since the points in the coordinate system correspond to the positions, the position of the device 410 can be acquired according to the x-coordinate and the y-coordinate of the intersection 510.

本開示の様々な実施形態によれば、座標系中の交点510のx座標およびy座標は、以下の式:
=(Yb-tanθ・Xb-+tanθ・X)/(tanθ2-tanθ)、
=tanθ・X+Ya-tanθ
により、ここでXは、交点510のx座標であり、Yは、交点510のy座標であり、Xは、第1の点520のx座標であり、Yは、第1の点520のy座標であり、Xは、第2の点530のx座標であり、Yは、第2の点530のy座標であり、θは、デバイスの第1の方位440に等しく、θは、デバイスの第2の方位450に等しい。交点510のx座標およびy座標に応じてデバイス410の位置を取得できる。座標と位置との間のマッピングが一例として表2に示される。座標および位置をマッピングするために他のタイプのマッピング方法も用いることができる。
According to various embodiments of the present disclosure, the x-coordinate and y-coordinate of the intersection 510 in the coordinate system are the following equations:
X c = (Y b- tan θ 1 · X b- Y a + tan θ 2 · X a ) / (tan θ 2- tan θ 1 ),
Y c = tan θ 2 · X c + Y a- tan θ 2 X a
Therefore, here, X c is the x-coordinate of the intersection 510, Y c is the y-coordinate of the intersection 510, X a is the x-coordinate of the first point 520, and Y a is the first. The y-coordinate of the point 520, X b is the x-coordinate of the second point 530, Y b is the y-coordinate of the second point 530, and θ 1 is in the first orientation 440 of the device. Equal, θ 2 is equal to the device's second orientation 450. The position of the device 410 can be acquired according to the x-coordinate and the y-coordinate of the intersection 510. The mapping between coordinates and position is shown in Table 2 as an example. Other types of mapping methods can also be used to map coordinates and positions.

Figure 0007100815000002
Figure 0007100815000002

本開示の様々な実施形態によれば、座標系中の座標を用いて位置を表すことができる。一例では、座標系の原点、X軸、およびY軸を予め設定できて、種々の建物またはランドマークの位置の座標をデータベース中に記録できる。第1のオブジェクト420および第2のオブジェクト430を特定するステップに応答する際に、第1のオブジェクト420および第2のオブジェクト430の位置の座標をデータベースから直接に取得できる。図5を参照すると、第1のオブジェクト420および第2のオブジェクト430の位置が座標系中の第1の点520および第2の点530に対応する。 According to various embodiments of the present disclosure, the position can be represented using the coordinates in the coordinate system. In one example, the origin, X-axis, and Y-axis of the coordinate system can be preset and the coordinates of the positions of various buildings or landmarks can be recorded in the database. In responding to the step of identifying the first object 420 and the second object 430, the coordinates of the positions of the first object 420 and the second object 430 can be obtained directly from the database. Referring to FIG. 5, the positions of the first object 420 and the second object 430 correspond to the first point 520 and the second point 530 in the coordinate system.

座標系中の第1の方位440および第2の方位450に応じて第1の線および第2の線を決定できる。第1の線は、第1の点520を通過し、第1の線と座標系のX軸との間の角度540は、第1の方位440に応じて決定される。第2の線は、第2の点530を通過し、第2の線とX軸との間の角度550は、第2の方位450に応じて決定される。 The first line and the second line can be determined according to the first orientation 440 and the second orientation 450 in the coordinate system. The first line passes through the first point 520 and the angle 540 between the first line and the X-axis of the coordinate system is determined according to the first orientation 440. The second line passes through the second point 530 and the angle 550 between the second line and the X-axis is determined according to the second orientation 450.

一例では、参照方向は、座標系のX軸方向と同じとすることができ、角度540が第1の方位440と等しく、角度550が第2の方位450と等しい。別の例では、参照方向とX軸方向との間に差があり、角度540および角度550を取得するためにこの差を第1の方位440または第2の方位450とともに考慮することができる。例えば、X軸方向が東方向であり、参照方向が東10度北であれば、差は10度であり、角度540を取得するためには第1の方位440にこの差を加えることができる。別の例では、X軸方向が東方向であり、参照方向が東10度南であれば、差は-10度である。 In one example, the reference direction can be the same as the X-axis direction of the coordinate system, with an angle 540 equal to the first orientation 440 and an angle 550 equal to the second orientation 450. In another example, there is a difference between the reference direction and the X-axis direction, and this difference can be considered with the first orientation 440 or the second orientation 450 to obtain angles 540 and 550. For example, if the X-axis direction is east and the reference direction is 10 degrees north east, the difference is 10 degrees, and this difference can be added to the first azimuth 440 to obtain an angle 540. .. In another example, if the X-axis direction is east and the reference direction is 10 degrees south east, the difference is -10 degrees.

第1の線および第2の線は、交点510で互いに交わってよい。交点510のx座標およびy座標を決定できる。座標系中の点が位置に対応するので、デバイス410の位置を決定できる。 The first line and the second line may intersect each other at intersection 510. The x-coordinate and y-coordinate of the intersection 510 can be determined. Since the points in the coordinate system correspond to the positions, the position of the device 410 can be determined.

本開示の様々な実施形態によれば、座標系中の交点510のx座標およびy座標は、以下の式:
=(Yb-tanθ・Xb-+tanθ・X)/(tanθ2-tanθ)、
=tanθ・X+Ya-tanθ
により、ここでXは、交点510のx座標であり、Yは、交点510のy座標であり、Xは、第1の点520のx座標であり、Yは、第1の点520のy座標であり、Xは、第2の点530のx座標であり、Yは、第2の点530のy座標であり、θは、デバイスの第1の方位440に応じて決定され、θは、デバイスの第2の方位450に応じて決定される。一例では、参照方向は、座標系のX軸方向と同じとすることができ、θは、第1の方位440と等しく、θは、第2の方位450と等しい。別の例では、参照方向とX軸方向との間に差があり、θおよびθを取得するためにこの差を第1の方位440または第2の方位450に加えることができる。
According to various embodiments of the present disclosure, the x-coordinate and y-coordinate of the intersection 510 in the coordinate system are the following equations:
X c = (Y b- tan θ 1 · X b- Y a + tan θ 2 · X a ) / (tan θ 2- tan θ 1 ),
Y c = tan θ 2 · X c + Y a- tan θ 2 X a
Therefore, here, X c is the x-coordinate of the intersection 510, Y c is the y-coordinate of the intersection 510, X a is the x-coordinate of the first point 520, and Y a is the first. The y-coordinate of the point 520, X b is the x-coordinate of the second point 530, Y b is the y-coordinate of the second point 530, and θ 1 is in the first orientation 440 of the device. Depending on the second orientation 450 of the device, θ 2 is determined accordingly. In one example, the reference direction can be the same as the X-axis direction of the coordinate system, where θ 1 is equal to the first orientation 440 and θ 2 is equal to the second orientation 450. In another example, there is a difference between the reference direction and the X-axis direction, and this difference can be added to the first orientation 440 or the second orientation 450 to obtain θ 1 and θ 2 .

図6は、本開示のある実施形態に従ってデバイス410の位置を決定するための別の座標系の例600の概略図を示す。第1のオブジェクト420および第2のオブジェクト430の位置を座標系中の第1の点620および第2の点630へマッピングできる。一例として、座標系の原点510として第1の点620を選択し、座標系のX軸として参照方向を選択し、座標系のY軸としてX軸(参照方向)に垂直な方向を選択することによって座標系を確立できる。別の例では、参照方向からある角度をもつ方向を座標系のX軸として選択することによって座標系を確立できる。 FIG. 6 shows a schematic of an example 600 of another coordinate system for determining the position of the device 410 according to an embodiment of the present disclosure. The positions of the first object 420 and the second object 430 can be mapped to the first point 620 and the second point 630 in the coordinate system. As an example, select the first point 620 as the origin 510 of the coordinate system, select the reference direction as the X axis of the coordinate system, and select the direction perpendicular to the X axis (reference direction) as the Y axis of the coordinate system. The coordinate system can be established by. In another example, a coordinate system can be established by selecting a direction with an angle from the reference direction as the X-axis of the coordinate system.

本開示の様々な実施形態によれば、第1のオブジェクト420および第2のオブジェクト430の位置を経度および緯度、あるいは現在知られているか、または開発されることになる位置を提示するのに適した任意の他のフォーマットで表すことができる。第2のオブジェクト430の位置の(経度2,緯度2)と第1のオブジェクト420の位置の(経度1,緯度1)との間の差を第2の点630のx座標およびy座標として設定できる。位置と座標との間のマッピングが一例として表3に示される。位置および座標をマッピングするために他のタイプのマッピング方法も用いることができる。例えば、位置の経度および緯度を数で表すことができて、これらの数に座標系中の座標を取得するために予め設定された定数を乗算できる。定数は、必要とされる任意の値とすることができる。 According to various embodiments of the present disclosure, the positions of the first object 420 and the second object 430 are suitable for presenting the longitude and latitude, or the positions currently known or to be developed. Can be represented in any other format. Set the difference between the position of the second object 430 (longitude 2, latitude 2) and the position of the first object 420 (longitude 1, latitude 1) as the x-coordinate and y-coordinate of the second point 630. can. The mapping between position and coordinates is shown in Table 3 as an example. Other types of mapping methods can also be used to map positions and coordinates. For example, the longitude and latitude of a position can be represented by numbers, which can be multiplied by a preset constant to obtain the coordinates in the coordinate system. The constant can be any value required.

Figure 0007100815000003
Figure 0007100815000003

座標系中の第1の方位440および第2の方位450に応じて第1の線および第2の線を決定できる。第1の線は、第1の点620(座標系の原点)を通過し、第1の線と座標系のX軸との間の角度640は、第1の方位440に等しい。第2の線は、第2の点630を通過し、第2の線とX軸との間の角度650は、第2の方位450に等しい。第1の線および第2の線は、交点610で互いに交わってよい。交点610のx座標およびy座標を決定して、次に、位置へマッピングできる。交点610のx座標および座標に応じてデバイス410の位置を取得できる。 The first line and the second line can be determined according to the first orientation 440 and the second orientation 450 in the coordinate system. The first line passes through the first point 620 (the origin of the coordinate system) and the angle 640 between the first line and the X-axis of the coordinate system is equal to the first azimuth 440. The second line passes through the second point 630 and the angle 650 between the second line and the X-axis is equal to the second azimuth 450. The first line and the second line may intersect each other at intersection 610. The x and y coordinates of the intersection 610 can be determined and then mapped to a position. The position of the device 410 can be acquired according to the x-coordinate and the coordinates of the intersection 610.

本開示の様々な実施形態によれば、座標系中の交点610のx座標およびy座標は、以下の式:
=(Yb-tanθ1・)/(tanθ2-tanθ)、
=tanθ2・
により、ここでXは、交点630のx座標であり、Yは、交点630のy座標であり、Xは、第2の点520のx座標であり、Yは、第2の点520のy座標であり、θは、デバイスの第1の方位440に等しく、θは、デバイスの第2の方位450に等しい。
According to various embodiments of the present disclosure, the x-coordinate and y-coordinate of the intersection 610 in the coordinate system are the following equations:
X c = (Y b- tan θ 1 · X b ) / (tan θ 2- tan θ 1 ),
Y c = tan θ 2 · X c
Therefore, here, X c is the x-coordinate of the intersection 630, Y c is the y-coordinate of the intersection 630, X b is the x-coordinate of the second point 520, and Y b is the second second point. The y coordinate of point 520, θ 1 is equal to the device's first orientation 440 and θ 2 is equal to the device's second orientation 450.

図7は、本開示のある実施形態による測位のための方法例700のフローチャートである。本開示の様々な実施形態によれば、デバイス410、またはデバイス410の近くにある別のデバイスによって方法700を実装できる。別の例では、方法のいくつかのステップをデバイス410またはデバイス410の近くにある別のデバイスによって実装でき、方法のいくつかのステップをデバイス410が1つ以上のネットワークを通じて通信するローカルまたはリモート・サーバにおいて実装できる。いくつかの環境では、方法を1つ以上のデバイス410、デバイス410の近くにある別のデバイス、およびローカルもしくはリモート・サーバによって共同で実装できる。 FIG. 7 is a flowchart of a method example 700 for positioning according to an embodiment of the present disclosure. According to various embodiments of the present disclosure, the method 700 can be implemented by device 410, or another device in the vicinity of device 410. In another example, some steps of the method can be implemented by the device 410 or another device near the device 410, and some steps of the method are local or remote where the device 410 communicates over one or more networks. Can be implemented on the server. In some environments, the method can be jointly implemented by one or more devices 410, another device near the device 410, and a local or remote server.

ブロック710において、デバイスを用いて第1の画像を取得できて、デバイスの第1の方位を決定できる。ブロック720において、デバイスを用いて第2の画像を取得できて、デバイスの第2の方位を決定できる。 At block 710, the device can be used to obtain a first image and determine the first orientation of the device. At block 720, the device can be used to acquire a second image to determine the second orientation of the device.

一例では、デバイスの撮影装置を用いて第1の画像および第2の画像を取得できる。少なくとも2つの画像を、同じ位置で、または測位システムによって単一の位置と見做されるのに互いに概して十分に近い2つの位置で取得できる。第1の方位は、撮影装置を用いて第1のオブジェクトを撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。第2の方位は、第2のオブジェクトを撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。 In one example, the imaging device of the device can be used to acquire a first image and a second image. At least two images can be obtained at the same position or at two positions that are generally sufficiently close to each other to be considered as a single position by the positioning system. The first orientation can be the angle between the axial direction and the reference direction of the device when the first object is photographed by the photographing device. The second orientation can be the angle between the axial direction and the reference direction of the device when shooting the second object.

ブロック730において、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置をストリートビュー・データベースから決定できる。ブロック740において、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定できる。 At block 730, the first position of the first object contained in the first image and the second position of the second object contained in the second image can be determined from the street view database. At block 740, the position of the device can be determined according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object.

理解されるべきは、これらのステップ(第1の画像を取得するステップ、第2の画像を取得するステップ、第1の方位を決定するステップ、第2の方位を決定するステップ、第1の位置を決定するステップ、第2の位置を決定するステップなど)のシーケンスが随意的なことである。例えば、第1の方位を決定する、または第2の方位を決定するステップを第1の画像を取得する、または第2の画像を取得するステップの前、同時、または後に実装できる。第1の位置を決定する、または第2の位置を決定するステップを第1の方位を取得する、または第2の方位を取得するステップの前、同時、または後に実装することもできる。 It should be understood that these steps (the first image acquisition step, the second image acquisition step, the first orientation determination step, the second orientation determination step, the first position). The sequence of (steps to determine, step to determine the second position, etc.) is optional. For example, the step of determining the first orientation or determining the second orientation can be implemented before, at the same time, or after the step of acquiring the first image or acquiring the second image. The steps of determining the first position or determining the second position can also be implemented before, at the same time, or after the step of acquiring the first orientation or acquiring the second orientation.

本開示のいくつかの実施形態において、デバイスを用いて第3の画像も取得できて、デバイスの第3の方位を決定できる。次に、第3の画像に含まれた第3のオブジェクトの第3の位置を決定できる。本開示の様々な方法を用いて、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの第1の位置を決定できる。本開示の様々な方法を用いて、第1の方位、第3の方位、第1のオブジェクトの第1の位置および第3のオブジェクトの第3の位置に応じてデバイスの第2の位置を決定できる。次に、デバイスの第1の位置およびデバイスの第2の位置を用いて、デバイスの位置を取得することができる。例えば、デバイスの第1の位置およびデバイスの第2の位置の中間位置を算出して、デバイスの位置として用いることができる。 In some embodiments of the present disclosure, the device can also be used to obtain a third image to determine the third orientation of the device. Next, the third position of the third object contained in the third image can be determined. Various methods of the present disclosure are used to determine the first position of the device according to the first orientation, the second orientation, the first position of the first object and the second position of the second object. can. Various methods of the present disclosure are used to determine the second position of the device according to the first orientation, the third orientation, the first position of the first object and the third position of the third object. can. The position of the device can then be obtained using the first position of the device and the second position of the device. For example, an intermediate position between the first position of the device and the second position of the device can be calculated and used as the position of the device.

図8は、本開示のある実施形態による測位のための別の方法例800のフローチャートである。本開示の様々な実施形態によれば、方法800をデバイス410、またはデバイス410の近くにある別のデバイスによって実行できる。別の例では、方法800を1つ以上のネットワークを通じてデバイス410と通信するローカルまたはリモート・サーバにおいて実行できる。いくつかの環境では、方法を1つ以上のデバイス410、デバイス410の近くにある別のデバイス、およびローカルもしくはリモート・サーバによって共同で実装できる。 FIG. 8 is a flowchart of another method example 800 for positioning according to an embodiment of the present disclosure. According to various embodiments of the present disclosure, method 800 can be performed by device 410, or another device in the vicinity of device 410. In another example, Method 800 can be performed on a local or remote server that communicates with device 410 over one or more networks. In some environments, the method can be jointly implemented by one or more devices 410, another device near the device 410, and a local or remote server.

ブロック810において、デバイスによってキャプチャーされた、第1の画像をデバイスから受信できる。デバイスの第1の方位も同様にデバイスから受信できる。ブロック820において、デバイスによってキャプチャーされた、第2の画像をデバイスから受信できて、デバイスの第2の方位も同様に受信できる。 At block 810, the first image captured by the device can be received from the device. The first orientation of the device can also be received from the device. At block 820, a second image captured by the device can be received from the device, as can the second orientation of the device.

一例では、デバイスの撮影装置を用いて第1の画像および第2の画像を取得して、1つ以上のネットワークを通じてリモート・サーバへ送信できる。少なくとも2つの画像を、同じ位置で、または測位システムによって単一の位置と見做されるのに互いに概して十分に近い2つの位置で取得できる。第1の方位は、撮影装置を用いて第1のオブジェクトを撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。第2の方位は、第2のオブジェクトを撮影するときのデバイスの軸方向と参照方向との間の角度とすることができる。 In one example, the device's imaging device can be used to capture a first image and a second image and send them to a remote server over one or more networks. At least two images can be obtained at the same position or at two positions that are generally sufficiently close to each other to be considered as a single position by the positioning system. The first orientation can be the angle between the axial direction and the reference direction of the device when the first object is photographed by the photographing device. The second orientation can be the angle between the axial direction and the reference direction of the device when shooting the second object.

ブロック830において、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置をオブジェクト位置のデータベースから決定できる。ブロック840において、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定できる。1つ以上のネットワークを通じてデバイスの位置をデバイスへ送信できる。 In block 830, the first position of the first object contained in the first image and the second position of the second object contained in the second image can be determined from the object position database. At block 840, the position of the device can be determined according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object. The location of the device can be transmitted to the device through one or more networks.

理解されるべきは、これらのステップ(第1の画像を取得、受信するステップ、第2の画像を受信するステップ、第1の方位を決定するステップ、第2の方位を決定するステップ、第1の位置を決定するステップ、第2の位置を決定するステップなど)のシーケンスが随意的なことである。例えば、第1の方位を受信する、または第2の方位を受信するステップを第1の画像を受信する、または第2の画像を受信するステップの前、同時、または後に実装できる。第1の位置を決定する、または第2の位置を決定するステップを第1の方位を受信する、または第2の方位を受信するステップの前、同時、または後に実装することもできる。 It should be understood that these steps (acquiring and receiving a first image, receiving a second image, determining a first orientation, determining a second orientation, first The sequence of steps (steps to determine the position of, step to determine the second position, etc.) is optional. For example, the step of receiving the first orientation or receiving the second orientation can be implemented before, simultaneously with, or after the step of receiving the first image or receiving the second image. The steps of determining the first position or determining the second position can also be implemented before, at the same time, or after the step of receiving the first orientation or receiving the second orientation.

本開示の別の実施形態によれば、コンピュータ・システムが提供される。コンピュータ・システムは、プロセッサおよびプロセッサに結合されたコンピュータ可読メモリを備える。メモリは、プロセッサによって実行されたときに、以下の動作、すなわち、デバイスを用いて第1の画像を取得し、デバイスの第1の方位を決定するステップと、デバイスを用いて第2の画像を取得し、デバイスの第2の方位を決定するステップと、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置を決定するステップと、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定するステップとを行う命令を備える。 According to another embodiment of the present disclosure, a computer system is provided. The computer system comprises a processor and computer-readable memory coupled to the processor. When executed by the processor, the memory takes the following actions, i.e., a step of acquiring a first image using the device and determining the first orientation of the device, and a second image using the device. The step of acquiring and determining the second orientation of the device and the first position of the first object contained in the first image and the second position of the second object contained in the second image. And a step to determine the position of the device according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object. Be prepared.

本開示の別の実施形態によれば、コンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、それを以て具現されたプログラム命令を有するコンピュータ可読ストレージ媒体を備え、プログラム命令は、プロセッサに、デバイスを用いて第1の画像を取得して、デバイスの第1の方位を決定し、デバイスを用いて第2の画像を取得して、デバイスの第2の方位を決定し、第1の画像に含まれた第1のオブジェクトの第1の位置および第2の画像に含まれた第2のオブジェクトの第2の位置を決定して、第1の方位、第2の方位、第1のオブジェクトの第1の位置および第2のオブジェクトの第2の位置に応じてデバイスの位置を決定するようにさせるために、プロセッサによって実行可能である。 According to another embodiment of the present disclosure, a computer program product is provided. The computer program product comprises a computer-readable storage medium having program instructions embodied therein, the program instructions acquiring a first image of the device with the processor to determine the first orientation of the device. Then, the device is used to obtain a second image to determine the second orientation of the device, which is included in the first position and second image of the first object contained in the first image. Determine the second position of the second object and position the device according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object. It can be done by the processor to make it determine.

本発明は、集積化の任意の可能な技術的詳細レベルにおけるシステム、方法、もしくはコンピュータ・プログラム製品またはそれらのすべてであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有する(1つまたは複数の)コンピュータ可読ストレージ媒体を含んでよい。 The present invention may be a system, method, computer program product, or all of them at any possible level of technical detail of integration. The computer program product may include (s) computer-readable storage media having computer-readable program instructions on it to cause the processor to implement aspects of the invention.

コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持して記憶することができる、有形のデバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、以下には限定されないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:portable compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブルディスク、パンチ・カードまたはその上に記録された命令を有する溝中の隆起構造など、機械的に符号化されたデバイス、および前述のものの任意の適切な組み合わせを含む。コンピュータ可読ストレージ媒体は、本明細書では、例えば、電波、または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体中を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通って送信される電気信号など、それ自体が一時的な信号であると解釈されるべきではない。 The computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by the instruction executing device. Computer-readable storage media may be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of those described above. It may be there. A non-exhaustive list of more specific examples of computer-readable storage media is portable computer optical discs, hard disks, random access memory (RAM), read-only memory (ROM: read-only memory). , Erasable programmable read-only memory (EPROM: eraseable random memory or flash memory), static random access memory (SRAM: static random access memory), portable compact disk read-only -Memory (CD-ROM: portable compact disc read-only memory), digital versatile disc (DVD: digital versatile disc), memory stick, flexible disc, punch card or groove with instructions recorded on it. Includes mechanically encoded devices, such as the raised structure of, and any suitable combination of those mentioned above. Computer-readable storage media are referred to herein as, for example, radio waves, or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (eg, optical pulses through fiber optic cables). ), Or an electrical signal transmitted through a wire, should not be construed as a temporary signal in itself.

本明細書に記載されるコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスへ、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらのすべてを介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードできる。ネットワークは、銅送信ケーブル、光送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバまたはそれらのすべてを備えてよい。各コンピューティング/処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。 Computer-readable program instructions described herein can be transferred from computer-readable storage media to their respective computing / processing devices, or networks such as the Internet, local area networks, wide area networks or wireless networks or them. Can be downloaded to an external computer or external storage device via all of. The network may include copper transmit cables, optical transmit fibers, wireless transmit, routers, firewalls, switches, gateway computers or edge servers, or all of them. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and sends those computer-readable program instructions to the computer-readable storage medium in each computing / processing device. Transfer to remember.

本発明のオペレーションを実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路素子のための構成データ、あるいはSmalltalk、C++などのようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様なプログラミング言語のような、手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組合せで書かれた、ソース・コードまたはオブジェクト・コードのいずれかであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは全体的にリモート・コンピュータまたはサーバ上で実行してよい。後者のシナリオにおいては、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータへ接続されてよく、あるいは(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)外部コンピュータへ接続が行われてもよい。いくつかの実施形態では、本発明の態様を行うために、例えば、プログラマブル・ロジック回路素子、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む、電子回路素子が、コンピュータ可読プログラム命令の状態情報を利用して電子回路素子をパーソナライズすることによって、コンピュータ可読プログラム命令を実行してよい。 The computer-readable program instructions for carrying out the operations of the present invention include assembler instructions, instruction set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcodes, firmware instructions, state setting data, and the like. One or more programming languages, including configuration data for integrated circuit elements, or object-oriented programming languages such as Smalltalk, C ++, and procedural programming languages such as the "C" programming language or similar programming languages. It may be either source code or object code written in any combination of. Computer-readable program instructions are on the user's computer in whole, in part on the user's computer, as a stand-alone software package, partly on the user's computer and partly on the remote computer. Alternatively, it may be run entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or (eg, for example). A connection may be made to an external computer (through the Internet using an Internet service provider). In some embodiments, a programmable logic circuit element, a field programmable gate array (FPGA), or a programmable logic array (PLA:) is used to perform aspects of the invention. The electronic circuit element may execute the computer-readable program instruction by personalizing the electronic circuit element by utilizing the state information of the computer-readable program instruction, including programgable log arrays).

本発明の態様が、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明図もしくはブロック図またはその両方を参照して本明細書に記載される。フローチャート説明図もしくはブロック図またはその両方の各ブロック、およびフローチャート説明図もしくはブロック図またはその両方におけるブロックの組み合わせをコンピュータ可読プログラム命令によって実装できることが理解されるであろう。 Aspects of the invention are described herein with reference to flow chart explanatory diagrams and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the invention. It will be appreciated that each block of the flowchart diagram and / or block diagram, and the combination of blocks in the flowchart diagram and / or block diagram can be implemented by computer-readable program instructions.

これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する、それらの命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実装するための手段を作り出すような、マシンを生成するように汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサへ提供されてよい。これらのコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体に記憶されてもよく、これらのプログラム命令は、その中に記憶された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含んだ製造品を備えるような、特定の仕方で機能するように、コンピュータ、プログラマブル・データ装置、もしくは他のデバイスまたはそれらのすべてに命令することができる。 These computer-readable program instructions are executed through the processor of a computer or other programmable data processing device, the function / function for which the instructions are specified in one or more blocks of a flowchart or block diagram or both. It may be provided to a general purpose computer, a dedicated computer, or the processor of another programmable data processing device to generate a machine that creates a means to implement the operation. These computer-readable program instructions may be stored in a computer-readable storage medium, and these program instructions are such that the computer-readable storage medium having the instructions stored therein is one of a flowchart, a block diagram, or both. Or a computer, programmable data device, or other device or theirs to function in a particular way, such as with a product containing instructions that implement the specified function / mode of operation in multiple blocks. You can order everything.

コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実装するような、コンピュータ実装プロセスを生成するための一連の操作ステップがコンピュータ、他のプログラマブル装置、または他のデバイス上で行われるようにするために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上へロードされてもよい。 A computer-readable program instruction is such that an instruction executed on a computer, another programmable device, or another device implements a function / operation specified in one or more blocks of a flowchart, a block diagram, or both. On a computer, other programmable data processor, or other device to allow a series of operational steps to generate a computer implementation process to take place on the computer, other programmable device, or other device. May be loaded.

図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性、およびオペレーションを示す。この点において、フローチャートまたはブロック図中の各ブロックは、指定された論理機能(単数または複数)を実装するための1つ以上の実行可能な命令を備える、モジュール、セグメント、または命令の一部を表してよい。いくつかの代わりの実装では、ブロック中に記された機能が図中に記された順序以外で発生してもよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、または関与する機能性によっては、ブロックがときには逆の順序で実行されてもよい。ブロック図もしくはフローチャート説明図またはその両方の各ブロック、およびブロック図もしくはフローチャート説明図またはその両方におけるブロックの組み合わせを、指定された機能または動作を行う、あるいは専用ハードウェアとコンピュータ命令との組み合わせを実施する専用ハードウェア・ベースのシステムによって実装できることにも気付くであろう。 The flowcharts and block diagrams in the figure show the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the invention. In this regard, each block in a flowchart or block diagram is a module, segment, or part of an instruction that contains one or more executable instructions to implement the specified logical function (s). May be represented. In some alternative implementations, the functions described in the block may occur in an order other than that shown in the figure. For example, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. Each block of the block diagram and / or flow chart explanatory diagram, and the combination of blocks in the block diagram or flowchart explanatory diagram or both perform the specified function or operation, or perform the combination of the dedicated hardware and the computer instruction. You will also notice that it can be implemented by a dedicated hardware-based system.

本開示の様々な実施形態の記載が説明のために提示されたが、これらが網羅的であること、または開示される実施形態を限定することは意図されない。記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変更が当業者には明らかであろう。本明細書に用いられる用語法は、実施形態の原理、実用用途または市場に見られる技術を超える技術的改良を説明するために、あるいは本明細書に開示される実施形態を当業者が理解できるようにするために選ばれた。 Descriptions of the various embodiments of the present disclosure have been presented for illustration purposes, but they are not intended to be exhaustive or to limit the embodiments disclosed. Many modifications and changes will be apparent to those skilled in the art without departing from the scope and intent of the described embodiments. The terminology used herein is to explain the principles of the embodiments, technical improvements beyond the techniques found in practical use or on the market, or to those skilled in the art to understand the embodiments disclosed herein. Chosen to do so.

Claims (10)

デバイスに関する位置を返す方法であって、前記方法は、
デバイスによってキャプチャされた第1の画像および前記デバイスの第1の方位を1つ以上のネットワークを通じて前記デバイスから受信するステップと、
前記デバイスによってキャプチャされた第2の画像および前記デバイスの第2の方位を前記1つ以上のネットワークを通じて前記デバイスから受信するステップと、
前記第1の画像に含まれた第1のオブジェクトの第1の位置および前記第2の画像に含まれた第2のオブジェクトの第2の位置を決定するステップであって、前記第1の位置および前記第2の位置は、オブジェクト位置のデータベースを用いて取得される、前記決定するステップと、
前記第1の方位、前記第2の方位、前記第1のオブジェクトの前記第1の位置および前記第2のオブジェクトの前記第2の位置に応じて前記デバイスのデバイス位置を決定するステップと、
前記デバイス位置を前記デバイスへ送信するステップと
を備え
前記デバイス位置を決定するステップは、
ある座標系において、前記第1のオブジェクトの前記第1の位置に対応する第1の点を通過する前記第1の方位をもつ第1の線、および前記第2のオブジェクトの前記第2の位置に対応する第2の点を通過する前記第2の方位をもつ第2の線を決定するステップと、
前記座標系における前記第1の線と前記第2の線との交点に基づいて前記デバイスの前記デバイス位置を決定するステップと
を備える、方法。
A method of returning a position with respect to a device, wherein the method is
A step of receiving a first image captured by the device and a first orientation of the device from the device through one or more networks.
A step of receiving a second image captured by the device and a second orientation of the device from the device through the one or more networks.
A step of determining the first position of the first object included in the first image and the second position of the second object included in the second image, the first position. And the second position is obtained using the database of object positions, the step of determining and
A step of determining the device position of the device according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object.
A step of transmitting the device position to the device is provided .
The step of determining the device position is
In a coordinate system, a first line with the first orientation passing through a first point corresponding to the first position of the first object, and the second position of the second object. A step of determining a second line having the second orientation that passes through the second point corresponding to
A step of determining the device position of the device based on the intersection of the first line and the second line in the coordinate system.
How to prepare.
前記第1の位置および前記第2の位置を取得するステップは、
前記第1のオブジェクトおよび前記第2のオブジェクトを特定するために前記第1の画像および前記第2の画像の画像解析を行うステップと、
前記第1のオブジェクトおよび前記第2のオブジェクトを前記データベース中の複数の位置画像と比較するステップと、
前記第1のオブジェクトを前記複数の位置画像の少なくとも1つに、かつ前記第2のオブジェクトを前記複数の位置画像の少なくとも1つにマッチングさせるステップであって、前記第1の位置は、前記第1のオブジェクトにマッチングされた前記少なくとも1つの位置画像と関連付けられた位置データによって与えられ、前記第2の位置は、前記第2のオブジェクトにマッチングされた前記少なくとも1つの位置画像と関連付けられた位置データによって与えられる、前記マッチングさせるステップと
を備える、請求項1に記載の方法。
The step of acquiring the first position and the second position is
A step of performing image analysis of the first image and the second image in order to identify the first object and the second object, and
A step of comparing the first object and the second object with a plurality of position images in the database.
A step of matching the first object to at least one of the plurality of position images and the second object to at least one of the plurality of position images, wherein the first position is the first position. Given by the position data associated with the at least one position image matched to one object, the second position is the position associated with the at least one position image matched to the second object. The method of claim 1, comprising the matching step provided by the data.
前記デバイスから受信される前記第1の方位および前記第2の方位は、前記デバイスによって前記デバイス中のセンサを用いて決定される、請求項1に記載の方法。 The method of claim 1, wherein the first orientation and the second orientation received from the device are determined by the device using sensors in the device. 前記デバイスの前記第1の方位は、前記デバイスの軸方向と参照方向との間の角度である、請求項1に記載の方法。 The method of claim 1, wherein the first orientation of the device is an angle between the axial direction and the reference direction of the device . 前記デバイス位置を決定するステップは、リモート・サーバによって行われ、前記方法は、前記デバイス位置をあるデバイスへ送信するステップをさらに備える、請求項1に記載の方法。 The method of claim 1, wherein the step of determining the device location is performed by a remote server, the method further comprising a step of transmitting the device location to a device. 前記デバイス位置を決定するステップは、前記デバイスによって行われ、前記方法は、
前記デバイス位置を前記デバイス上に表示するステップと、
前記デバイスから第3のオブジェクトの第3の画像を受信するステップと、
前記第3のオブジェクトの位置を取得できないことに応答して、前記デバイスのユーザへ通知を提示するステップと
をさらに備える、請求項1に記載の方法。
The step of determining the device position is performed by the device, and the method is:
A step of displaying the device position on the device,
A step of receiving a third image of a third object from the device,
The method of claim 1, further comprising a step of presenting a notification to the user of the device in response to the inability to obtain the position of the third object.
デバイスに関する位置を返すためのコンピュータ・システムであって、前記システムは、
プロセッサ、および
前記プロセッサに結合されたコンピュータ可読メモリ
を備え、前記メモリは、前記プロセッサによって実行されたときに、以下の動作:
デバイスによってキャプチャされた第1の画像および前記デバイスの第1の方位を1つ以上のネットワークを通じて前記デバイスから受信するステップと、
前記デバイスによってキャプチャされた第2の画像および前記デバイスの第2の方位を前記1つ以上のネットワークを通じて前記デバイスから受信するステップと、
前記第1の画像に含まれた第1のオブジェクトの第1の位置および前記第2の画像に含まれた第2のオブジェクトの第2の位置を決定するステップであって、前記第1の位置および前記第2の位置は、オブジェクト位置のデータベースを用いて取得される、前記決定するステップと、
前記第1の方位、前記第2の方位、前記第1のオブジェクトの前記第1の位置および前記第2のオブジェクトの前記第2の位置に応じて前記デバイスのデバイス位置を決定するステップと、
前記デバイス位置を前記デバイスへ送信するステップと
行う命令を備え
前記デバイス位置を決定するステップは、
ある座標系において、前記第1のオブジェクトの前記第1の位置に対応する第1の点を通過する前記第1の方位をもつ第1の線、および前記第2のオブジェクトの前記第2の位置に対応する第2の点を通過する前記第2の方位をもつ第2の線を決定するステップと、
前記座標系における前記第1の線と前記第2の線との交点に基づいて前記デバイスの前記デバイス位置を決定するステップと
を備える、コンピュータ・システム。
A computer system for returning a position with respect to a device, said system.
It comprises a processor and computer-readable memory coupled to the processor, which, when executed by the processor, behaves as follows:
A step of receiving a first image captured by the device and a first orientation of the device from the device through one or more networks.
A step of receiving a second image captured by the device and a second orientation of the device from the device through the one or more networks.
A step of determining the first position of the first object included in the first image and the second position of the second object included in the second image, the first position. And the second position is obtained using the database of object positions, the step of determining and
A step of determining the device position of the device according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object.
A step of transmitting the device position to the device and an instruction to perform the device are provided .
The step of determining the device position is
In a coordinate system, a first line with the first orientation passing through a first point corresponding to the first position of the first object, and the second position of the second object. A step of determining a second line having the second orientation that passes through the second point corresponding to
A step of determining the device position of the device based on the intersection of the first line and the second line in the coordinate system.
A computer system.
コンピュータ・プログラムであって、プロセッサに、
デバイスによってキャプチャされた第1の画像および前記デバイスの第1の方位を1つ以上のネットワークを通じて前記デバイスから受信させ、
前記デバイスによってキャプチャされた第2の画像および前記デバイスの第2の方位を前記1つ以上のネットワークを通じて前記デバイスから受信させ、
前記第1の画像に含まれた第1のオブジェクトの第1の位置および前記第2の画像に含まれた第2のオブジェクトの第2の位置を決定し、前記第1の位置および前記第2の位置は、オブジェクト位置のデータベースを用いて取得させ、
前記第1の方位、前記第2の方位、前記第1のオブジェクトの前記第1の位置および前記第2のオブジェクトの前記第2の位置に応じて前記デバイスのデバイス位置を決定して、
前記デバイス位置を前記デバイスへ送信させ
前記デバイス位置の決定において、
ある座標系において、前記第1のオブジェクトの前記第1の位置に対応する第1の点を通過する前記第1の方位をもつ第1の線、および前記第2のオブジェクトの前記第2の位置に対応する第2の点を通過する前記第2の方位をもつ第2の線を決定して、
前記座標系における前記第1の線と前記第2の線との交点に基づいて前記デバイスの前記デバイス位置を決定する
ためのコンピュータ・プログラム。
A computer program, a processor,
The first image captured by the device and the first orientation of the device are received from the device through one or more networks.
A second image captured by the device and a second orientation of the device are received from the device through the one or more networks.
The first position of the first object included in the first image and the second position of the second object included in the second image are determined, and the first position and the second position are determined. The position of is obtained by using the database of object positions.
The device position of the device is determined according to the first orientation, the second orientation, the first position of the first object, and the second position of the second object.
Send the device position to the device
In determining the device position
In a coordinate system, a first line with the first orientation passing through a first point corresponding to the first position of the first object, and the second position of the second object. A second line with the second orientation that passes through the second point corresponding to
The device position of the device is determined based on the intersection of the first line and the second line in the coordinate system.
Computer program for.
請求項に記載のコンピュータ・プログラムを記憶したコンピュータ可読記憶媒体。 A computer-readable storage medium that stores the computer program according to claim 8 . デバイスに関する位置を返す方法であって、前記方法は、
デバイスによってキャプチャされた第1の画像および前記デバイスの第1の方位を1つ以上のネットワークを通じてサーバへ送信するステップと、
前記デバイスによってキャプチャされた第2の画像および前記デバイスの第2の方位を前記1つ以上のネットワークを通じてサーバへ送信するステップと、
前記1つ以上のネットワークを通じて前記第1の画像に含まれた第1のオブジェクトの第1の位置および前記第2の画像に含まれた第2のオブジェクトの第2の位置を受信するステップであって、前記第1の位置および前記第2の位置は、オブジェクト位置のデータベースを用いて取得される、前記受信するステップと、
前記第1の方位、前記第2の方位、前記第1のオブジェクトの前記第1の位置および前記第2のオブジェクトの前記第2の位置に応じて前記デバイスのデバイス位置を決定するステップと
を備え
前記デバイス位置を決定するステップは、
ある座標系において、前記第1のオブジェクトの前記第1の位置に対応する第1の点を通過する前記第1の方位をもつ第1の線、および前記第2のオブジェクトの前記第2の位置に対応する第2の点を通過する前記第2の方位をもつ第2の線を決定するステップと、
前記座標系における前記第1の線と前記第2の線との交点に基づいて前記デバイスの前記デバイス位置を決定するステップと
を備える、方法。
It is a method of returning the position with respect to the device, and the above method is
The step of transmitting the first image captured by the device and the first orientation of the device to the server through one or more networks.
A step of transmitting a second image captured by the device and a second orientation of the device to the server through the one or more networks.
A step of receiving a first position of a first object contained in the first image and a second position of a second object contained in the second image through the one or more networks. The first position and the second position are obtained by using the database of object positions, the receiving step, and the above-mentioned receiving step.
It comprises a step of determining the device position of the device according to the first orientation, the second orientation, the first position of the first object and the second position of the second object. ,
The step of determining the device position is
In a coordinate system, a first line with the first orientation passing through a first point corresponding to the first position of the first object, and the second position of the second object. A step of determining a second line having the second orientation that passes through the second point corresponding to
A step of determining the device position of the device based on the intersection of the first line and the second line in the coordinate system.
How to prepare.
JP2020501803A 2017-07-20 2018-07-05 Positioning Active JP7100815B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/654,962 2017-07-20
US15/654,962 US10740612B2 (en) 2017-07-20 2017-07-20 Location determination
PCT/IB2018/054954 WO2019016640A1 (en) 2017-07-20 2018-07-05 Location determination

Publications (3)

Publication Number Publication Date
JP2020528180A JP2020528180A (en) 2020-09-17
JP2020528180A5 JP2020528180A5 (en) 2021-01-07
JP7100815B2 true JP7100815B2 (en) 2022-07-14

Family

ID=65015018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020501803A Active JP7100815B2 (en) 2017-07-20 2018-07-05 Positioning

Country Status (4)

Country Link
US (1) US10740612B2 (en)
JP (1) JP7100815B2 (en)
CN (1) CN110869701B (en)
WO (1) WO2019016640A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110159A1 (en) * 2020-11-30 2022-06-02 深圳市大疆创新科技有限公司 Positioning method and device, movable platform, landmark, and landmark array

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103249142A (en) 2013-04-26 2013-08-14 东莞宇龙通信科技有限公司 Locating method, locating system and mobile terminal
US20130236107A1 (en) 2012-03-09 2013-09-12 Kabushiki Kaisha Topcon Moving image processing device, moving image processing method, and recording medium having moving image processing program
US20140118536A1 (en) 2012-11-01 2014-05-01 Novatel Inc. Visual positioning system
US8933993B1 (en) 2012-01-16 2015-01-13 Google Inc. Hybrid local and cloud based method for pose determination of a mobile device
JP2016142577A (en) 2015-01-30 2016-08-08 株式会社リコー Image processing device, image processing method, image processing system, and program
CN106289263A (en) 2016-08-25 2017-01-04 乐视控股(北京)有限公司 Indoor navigation method and device
WO2017057052A1 (en) 2015-09-30 2017-04-06 ソニー株式会社 Information processing device, information processing method, and program

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6756913B1 (en) 1999-11-01 2004-06-29 Mourad Ben Ayed System for automatically dispatching taxis to client locations
SG144769A1 (en) 2007-01-30 2008-08-28 Phua Chiew Chuan Mobilenet
EP2684145A4 (en) * 2011-03-07 2014-09-03 Kba2 Inc Systems and methods for analytic data gathering from image providers at an event or geographic location
US8442848B2 (en) 2011-03-09 2013-05-14 David Myr Automatic optimal taxicab mobile location based dispatching system
WO2013034953A1 (en) 2011-09-06 2013-03-14 Mobile Credit Payment Pte Ltd Locating system and method for taxi drivers and passengers
US9986208B2 (en) * 2012-01-27 2018-05-29 Qualcomm Incorporated System and method for determining location of a device using opposing cameras
CN102651167A (en) 2012-05-15 2012-08-29 成都美璞科技有限公司 System and method for finding nearby taxi and passenger based on wireless communication network
US9157748B2 (en) 2012-07-31 2015-10-13 Flatiron Apps LLC System and method for hailing taxicabs
CN103903428B (en) 2014-03-24 2016-05-04 宇龙计算机通信科技(深圳)有限公司 Method, terminal and the system of reservation taxi
WO2016134509A1 (en) 2015-02-26 2016-09-01 刘一佳 Method and mobile terminal for transmitting use information when hailing taxi
CN106813649A (en) * 2016-12-16 2017-06-09 北京远特科技股份有限公司 A kind of method of image ranging localization, device and ADAS

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8933993B1 (en) 2012-01-16 2015-01-13 Google Inc. Hybrid local and cloud based method for pose determination of a mobile device
US20130236107A1 (en) 2012-03-09 2013-09-12 Kabushiki Kaisha Topcon Moving image processing device, moving image processing method, and recording medium having moving image processing program
US20140118536A1 (en) 2012-11-01 2014-05-01 Novatel Inc. Visual positioning system
CN103249142A (en) 2013-04-26 2013-08-14 东莞宇龙通信科技有限公司 Locating method, locating system and mobile terminal
JP2016142577A (en) 2015-01-30 2016-08-08 株式会社リコー Image processing device, image processing method, image processing system, and program
WO2017057052A1 (en) 2015-09-30 2017-04-06 ソニー株式会社 Information processing device, information processing method, and program
CN106289263A (en) 2016-08-25 2017-01-04 乐视控股(北京)有限公司 Indoor navigation method and device

Also Published As

Publication number Publication date
CN110869701A (en) 2020-03-06
WO2019016640A1 (en) 2019-01-24
JP2020528180A (en) 2020-09-17
US10740612B2 (en) 2020-08-11
US20190026556A1 (en) 2019-01-24
CN110869701B (en) 2022-09-13

Similar Documents

Publication Publication Date Title
US9716827B2 (en) Location aware photograph recommendation notification
US20170206786A1 (en) Parking space management using virtual parking spaces
US10289855B2 (en) Ad hoc target based photograph sharing
US20130346543A1 (en) Cloud service selector
US20180121876A1 (en) Recipient customized delivery paths for unmanned aerial vehicle deliveries
US10013622B2 (en) Removing unwanted objects from a photograph
US20180341855A1 (en) Location tagging for visual data of places using deep learning
JP2022519456A (en) 3D surface estimation and prediction to increase fidelity of real-time LiDAR model generation
US9704245B2 (en) Determining localization from images of a vicinity
JP7100815B2 (en) Positioning
US20210133198A1 (en) System and method for anonymizing address data
US11204735B2 (en) Receiving audio from a listening device associated with a selected geographic area
US10334027B2 (en) Collaborative communication between colony applications
US10599097B2 (en) Image and/or video capture from different viewing angles of projected mirror like reflective holographic image surface
US10896144B2 (en) Automated configuring of computer system settings for peripheral device(s)
US20160341566A1 (en) Vehicle convergence analysis based on sparse location data
US20210116912A1 (en) Dynamically Controlling Unmanned Aerial Vehicles Using Execution Blocks
US11270459B2 (en) Enterprise system augmented reality detection
US11900314B2 (en) Asset and sensor mapping
US11189063B2 (en) Commenting in 360 degree view image
US12003968B2 (en) Verifying indicated device location using analysis of real-time display element interaction
US20230343093A1 (en) Relative anchors based on density of feature points
US11564196B2 (en) Determining peripheral device position relative to a primary display
US11178531B2 (en) Link devices using their relative positions
JP2024528368A (en) Multi-user camera switching icon during a video call

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20220328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220615

R150 Certificate of patent or registration of utility model

Ref document number: 7100815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150