JP6921199B2 - 仮想マップにおけるタイルマップ生成方法および装置、ならびに仮想マップにおけるタイルマップ更新方法および装置 - Google Patents

仮想マップにおけるタイルマップ生成方法および装置、ならびに仮想マップにおけるタイルマップ更新方法および装置 Download PDF

Info

Publication number
JP6921199B2
JP6921199B2 JP2019533443A JP2019533443A JP6921199B2 JP 6921199 B2 JP6921199 B2 JP 6921199B2 JP 2019533443 A JP2019533443 A JP 2019533443A JP 2019533443 A JP2019533443 A JP 2019533443A JP 6921199 B2 JP6921199 B2 JP 6921199B2
Authority
JP
Japan
Prior art keywords
map
area
tile
central area
virtual
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
JP2019533443A
Other languages
English (en)
Other versions
JP2020507101A (ja
JP2020507101A5 (ja
Inventor
フアン・リュウ
ロンヤン・ジェン
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
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 アドバンスド ニュー テクノロジーズ カンパニー リミテッド, アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2020507101A publication Critical patent/JP2020507101A/ja
Publication of JP2020507101A5 publication Critical patent/JP2020507101A5/ja
Application granted granted Critical
Publication of JP6921199B2 publication Critical patent/JP6921199B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • 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
    • 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/51Indexing; Data structures therefor; Storage structures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Computer Hardware Design (AREA)
  • Ecology (AREA)
  • Data Mining & Analysis (AREA)
  • Optics & Photonics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Description

本出願は、画像処理の分野に関し、詳細には、仮想マップにおけるタイルマップを生成および更新するための方法および装置に関する。
マップにおける大量のデータにより、マップは、クライアントにおけるマップローディング速度を保証しつつサーバ負荷を低減するために、スライシング、すなわち、タイルマップ技術によって、部分的にロードされる必要がある。
Baidu MapまたはAuto Navi Mapなどの実世界マップが仮想アプリケーションにおいて仮想マップを生成するために使用される場合には、実世界マップが大きなサイズを有していることが理由で、実世界マップに基づいて生成される仮想マップも非常に大きなものとなり、仮想マップにおけるすべてのタイルマップが同時にロードされると、仮想アプリケーションのパフォーマンスおよびメモリに大きな負荷がかかり、結果として、仮想マップの表示効率の低下が生じることになる。
どのようにして仮想マップの表示効率を改善するかが、本出願の実施形態において対処する必要がある技術的問題となっている。
上記の技術的問題を軽減するために、本出願の実施形態は以下のように実施される。
第1の態様に従って、仮想マップにおけるタイルマップを更新するための方法を提供している。方法は、第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定するステップであって、第1のエリアは、仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含むエリアマップであり、中央エリアの境界は、第1のエリアに位置しており、仮想マップのタイルマップ座標系におけるx軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、X1未満であり、タイルマップ座標系におけるy軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、Y1未満であり、1つのタイルマップの長さが、タイルマップ座標系におけるx軸上の単位として使用され、1つのタイルマップの幅が、タイルマップ座標系におけるy軸上の単位として使用され、X1およびY1は、所定の正の整数である、ステップと、仮想オブジェクトが中央エリア外へと移動してから、距離パラメータを決定し、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップであって、距離パラメータは、タイルマップ座標系におけるx軸方向およびy軸方向の、中央エリアに対する仮想オブジェクトが位置している、タイルマップの相対距離を示しており、第2のエリアは、距離パラメータに基づいて第1のエリアを移動した後に決定されるマップエリアである、ステップとを含む。
第2の態様に従って、仮想マップにおけるタイルマップを生成するための方法を提供している。方法は、実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて、仮想マップのマップエリアを決定するステップと、マップエリアを複数の同サイズのタイルエリアに分割するステップと、実世界電子マップにおけるタイルエリアに対応するエリアマップに基づいて、各タイルエリアに対する画像処理を行って、タイルエリアのタイルマップを生成するステップであって、画像処理は、レンダリング処理を含む、ステップとを含む。
第3の態様に従って、決定ユニットと更新ユニットとを含む、仮想マップを描画するための装置を提供している。決定ユニットは、第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定し、第1のエリアは、仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含むエリアマップであり、中央エリアの境界は、第1のエリアに位置しており、仮想マップのタイルマップ座標系におけるx軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、X1未満であり、タイルマップ座標系におけるy軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、Y1未満であり、1つのタイルマップの長さが、タイルマップ座標系におけるx軸上の単位として使用され、1つのタイルマップの幅が、タイルマップ座標系におけるy軸上の単位として使用され、X1およびY1は、所定の正の整数である。決定ユニットはさらに、仮想オブジェクトが中央エリア外へと移動してから、距離パラメータを決定し、距離パラメータは、タイルマップ座標系におけるx軸方向およびy軸方向の、中央エリアに対する仮想オブジェクトが位置している、タイルマップの相対距離を示す。更新ユニットは、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新し、第2のエリアは、距離パラメータに基づいて第1のエリアを移動した後に決定されるマップエリアである。
第4の態様に従って、仮想マップを描画するための装置を提供しており、装置は、実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて、仮想マップのマップエリアを決定するように構成される、決定ユニットと、マップエリアを複数の同サイズのタイルエリアに分割するように構成される、エリア分割ユニットと、実世界電子マップにおけるタイルエリアに対応するエリアマップに基づいて、各タイルエリアに対する画像処理を行って、タイルエリアのタイルマップを生成するように構成される、画像処理ユニットであって、画像処理は、レンダリング処理を含む、画像処理ユニットとを含む。
本出願の実施形態においては、仮想オブジェクトが位置している中央エリア外へと仮想オブジェクトが移動してから、ローディング状態を更新する必要があるタイルマップが、中央エリアに対する仮想オブジェクトが移動したタイルマップの距離パラメータおよび現時点ロードされているタイルマップに基づいて決定されることが、本出願の実施形態において提供した技術的ソリューションから理解できよう。したがって、不必要なタイルマップをローディングすることを軽減してタイルマップ間のシームレスな接続を実施することができ、仮想マップを表示する効率および経験効果をある程度改善している。
本出願の実施形態におけるまたは既存の技術における技術的ソリューションをより明確に説明するために、実施形態または既存の技術を説明するのに必要となる添付の図面を以下に簡単に説明している。以下の説明における添付の図面が本出願のいくつかの実施形態を示しているに過ぎず、当業者が創造的努力無しにこれらの添付の図面から他の図面をさらに導出し得ることは明らかであろう。
本出願の実施形態による、仮想マップにおけるタイルマップを生成するための方法を図示しているフローチャートである。 本出願の実施形態による、エリア分割を図示している概略図およびタイルマップの座標である。 本出願の実施形態による、仮想マップにおけるタイルマップを生成するための方法を図示している概略図である。 本出願の実施形態による、仮想マップにおけるタイルマップを更新するための方法を図示している概略図である。 本出願の実施形態による、タイルマップ座標系における仮想マップにおけるタイルマップを図示している概略図である。 本出願の実施形態による、仮想マップにおけるいくつかのタイルマップの座標を図示している概略図である。 本出願の実施形態による、仮想マップにおける座標と実世界電子マップにおける緯度および経度との間のマッピング関係を図示している概略図である。 本出願の例示的な実施形態による、電子デバイスを図示している概略構造図である。 本出願の実施形態による、仮想マップを描画するための装置を図示している概略構造図である。 本出願の別の実施形態による、仮想マップを描画するための装置を図示している概略構造図である。
当業者に本出願における技術的ソリューションをより良く理解してもらうべく、本出願の実施形態における添付の図面を参照して本出願の実施形態における技術的ソリューションを以下に明確かつ包括的に説明している。説明した実施形態が本出願の実施形態のすべてではなく一部に過ぎないことは明白であろう。創造的努力無しで本出願の実施形態に基づいて当業者によって得られるすべての他の実施形態は、本出願の保護範囲に含まれるものとする。
図1は、本出願の実施形態による、仮想マップにおけるタイルマップを生成するための方法を図示しているフローチャートである。図1中の方法は、仮想マップにおけるタイルマップを生成するための装置によって行われる。特定の適用においては、仮想マップにおけるタイルマップを生成するための装置は、仮想マップのグラフィックエンジン、例えば、2Dグラフィックエンジン、3Dグラフィックエンジン、または別の仮想マップ描画ツールであり得る。実施形態は、本出願に限定されない。特に、仮想マップは、2Dマップまたは3Dマップであり得る。図1中の方法は、以下のステップを含み得る。
S110. 実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて、仮想マップのマップエリアを決定する。
本出願の実施形態における実世界電子マップは実世界環境に基づいて描画されるBaidu MapまたはAuto Navi Mapなどの電子マップであることを理解されたい。
本出願の実施形態における仮想マップは仮想アプリケーションにおける仮想マップなどのマップであることを理解されたい。
本出願の実施形態においては、仮想マップのサイズが実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて決定され得ることを理解されたい。
例えば、実世界電子マップと仮想マップとの間の関係は2:1に事前に決定される。この場合には、実世界電子マップの長さと幅とは、仮想マップのサイズを決定するために、独立して半分に縮められ得る。
S120. マップエリアを複数の同サイズのタイルエリアに分割する。
特に、マップエリアを複数の同サイズのタイルエリアに分割し得る。
好ましくは、タイルエリアは、例えば、10cm×10cm、5cm×5cm、および4cm×2cmといった、矩形であり得る。タイルエリアの長さと幅とは必ずしも等しくないことを理解されたい。当然のことながら、タイルエリアの長さおよび幅は互いに等しいことが好ましい。
当然のことながら、タイルエリアはあるいは別の形状であり得る、例えば、タイルエリアは菱形または正六角形であり得ることを理解されたい。この場合には、仮想マップのエッジは、直線ですらなくてもよい。
S130. タイルエリアのタイルマップを生成するために、実世界電子マップにおけるタイルエリアに対応するエリアマップに基づいた各タイルエリアに対する画像処理を含む演算を行う。
画像処理演算は、レンダリング処理を含む。
例えば、実世界電子マップが大学の構内に基づいて生成された電子マップであると仮定する。この場合には、大学に対応する電子マップにおけるタイルエリアに対応するエリアマップに基づいて仮想マップにおける各タイルエリアに対してレンダリング処理が行われ、タイルエリアのタイルマップが生成され得る。
当然のことながら、レンダリング処理以外の他の画像処理演算が電子マップに基づいて仮想マップに対して行われ得ることを理解されたい。実施形態は、本出願に限定されない。
本出願の実施形態においては、仮想マップのエリアは、実世界電子マップに基づいて決定され、仮想マップは、複数の同サイズのタイルエリアに分割され、レンダリング処理が、実世界電子マップにおけるタイルエリアの対応するエリアマップに基づいてタイルエリアに対して行われ、その結果、仮想マップのタイルマップを実世界電子マップに基づいて高速に生成することができ、それによって、仮想マップを生成する効率を改善している。
必要に応じて、本出願の実施形態においては、ステップS130が、次の通り、すなわち、タイルエリアのサイズおよび第1のタイルエリアのインデックスに基づいて、実世界電子マップにおける複数の同サイズのタイルエリアのうちの第1のタイルエリアに対応する第1の実世界エリアマップを決定するステップと、第1の実世界エリアマップに基づいて、第1のタイルエリアに対する画像処理を行って、第1のタイルエリアに対応する第1のタイルマップを取得するステップとで実施される。
各タイルエリアのインデックスは、タイルエリアの位置に関連している。特に、例えば、タイルエリアのインデックスは、タイルエリア内の指定の位置の点の座標であり得る。例えば、タイルエリアが矩形である場合には、座標は、タイルエリアの中心座標、タイルエリアの左下の頂点座標、タイルエリアの左上の頂点座標、タイルエリアの右上の頂点座標、タイルエリアの右下の頂点座標などであり得る。あるいは、インデックスは、タイルエリアの番号などであり得る。
当然のことながら、ステップS130の前に、方法は、タイルエリアの位置に基づいて、タイルエリアのインデックスを作成するステップをさらに含むことを理解されたい。
本出願の実施形態における方法を、図2および図3を参照してさらに説明している。
本出願の実施形態においては、仮想マップを実世界電子マップに基づいて生成する必要がある場合には、仮想マップのエリアサイズは、実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて決定され得る。特に、仮想マップが3D仮想マップである場合には、3D仮想マップのサイズは一般的に変化しないため、実世界電子マップに対する3D仮想マップの拡大縮小比は一般的に一定値である。
仮想マップエリアが実世界電子マップおよび拡大縮小関係に基づいて決定された後に、仮想マップは複数の同サイズの矩形エリアに分割され得る。各矩形エリアは1つのタイルマップのサイズを有しており、1つの矩形エリアを1つのタイルエリアと称し得る。図2は、本出願の実施形態による、エリア分割を図示している概略図およびタイルマップの座標である。図2に示したエリア全体が実世界電子マップに基づいて決定される仮想マップエリア全体であると仮定する。図2に示しているように、仮想マップを複数の同サイズのタイルエリアに分割し得る。加えて、インデックスが、タイルエリアの位置に基づいて各タイルエリアのために作成され得る。例えば、座標またはシーケンス番号は、タイルエリアのインデックスを表すために使用され得る。図2に示した実施形態においては、1つのタイルエリアの長さは水平座標にとっての寸法の単位として使用され、1つのタイルエリアの幅は垂直座標にとっての寸法の単位として使用される。
タイルエリア分割が完了しインデックスが作成された後に、レンダリング処理を含む画像処理が、タイルマップを取得するために実世界電子マップに基づいて行われ得る。図3は、本出願の実施形態による、仮想マップにおけるタイルマップを生成するための方法を図示している概略図である。図3に示しているように、レイヤ初期化をタイルエリアに対してまず行う必要がある。特に、実世界電子マップに対応する仮想マップエリアは拡大縮小レベルに基づいて決定することができ、その後、仮想マップエリアはタイルエリアに分割される。加えて、レイヤ初期化をタイルエリアに対して行う場合には、通常は、例えば道をどの色にするかおよびビルを表示するかどうかといった、タイルエリア内のレイヤスタイルが初期化され得る。タイルエリアを識別およびローディングすることを容易にするために、タイルエリアはさらにインデックスが付けられ得る。
タイルエリア上のレイヤ初期化が完了した後に、実世界電子マップにおけるタイルエリアに対応する実世界エリアが、タイルエリアのインデックスおよびサイズに基づいて計算され得る。図2に示しているように、タイルエリアは2次元平面上に隣接するように配置され、タイルエリアのすべてが同一のサイズを有する。各タイルエリアの2次元座標は、タイルエリアのインデックスに基づいて決定され得る(または、タイルエリアのインデックスは、2次元座標である)。その後、各タイルエリアによってカバーされる矩形エリアの緯度および経度が、タイルエリアのサイズに基づいて決定され得る。換言すれば、実世界電子マップにおけるタイルエリアに対応する実世界エリアを決定し得る。
実世界電子マップにおけるタイルエリアに対応する実世界エリアを取得した後に、タイルエリア内のレイヤは、実世界エリアマップに基づいて処理され得る。例えば、サードパーティのマップAPI(Google Mapなど)を呼び出して、実世界エリアマップに基づいてタイルエリア内のマップ画像をレンダリングし得る。最終的に、画像が記憶され、タイルマップが得られる。タイルエリアのインデックスは、タイルマップのインデックスとして使用され得る。
当然のことながら、タイルエリアはあるいは別の形状であり得る、例えば、タイルエリアは菱形または正六角形であり得ることを理解されたい。形状が変化すると、タイルエリアのインデックスおよびサイズに基づいて実世界マップエリアを計算するためのアルゴリズムがそれに応じて変化する。
図4は、本出願の実施形態による、仮想マップにおけるタイルマップを更新するための方法を図示しているフローチャートである。図4中の方法は、仮想マップ描画装置によって行われる。特定の適用においては、仮想マップ描画装置は、例えば、2Dグラフィックエンジン、3Dグラフィックエンジン、または別の仮想マップ描画ツールといった、グラフィックエンジンであり得る。実施形態は、本出願に限定されない。本出願の実施形態における仮想マップは、3D仮想マップもしくは2D仮想マップなどの仮想マップ、または仮想アプリケーションにおける別のマップなどであり得ることを理解されたい。図4中の方法は、以下のステップを含み得る。
S410. 第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定する。
第1のエリアは、仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含むエリアマップである。中央エリアの境界は、第1のエリアに位置している。仮想マップのタイルマップ座標系におけるx軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、X1未満である。タイルマップ座標系におけるy軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、Y1未満である。1つのタイルマップの長さが、タイルマップ座標系におけるx軸上の単位として使用され、1つのタイルマップの幅が、タイルマップ座標系におけるy軸上の単位として使用され、X1およびY1は、所定の正の整数である。
仮想オブジェクトの特定の形式は本出願の実施形態に限定されないことを理解されたい。3Dゲームを説明のための例として使用する。例えば、仮想オブジェクトは、3Dゲーム内のキャラクタまたはキャラクタが運転する車両であり得る。
すべてのタイルマップが本出願の実施形態においては同一のサイズを有することを理解されたい。
本出願の実施形態においては、ロードされた第1のエリアが仮想オブジェクトの視野をカバーしなくてはならないことを理解されたい。換言すれば、仮想オブジェクトの視野に入るすべてのタイルマップがロードされなくてはならない。本出願の実施形態においては、第1のエリアは、仮想オブジェクトの視野に入るタイルマップを少なくとも含む。当然のことながら、第1のエリアが仮想オブジェクトの視野よりも広くなり得ることを理解されたい。
本出願の実施形態においては、1つのタイルマップの長さがタイルマップ座標系におけるx軸上の単位として使用され、1つのタイルマップの幅がタイルマップ座標系におけるy軸上の単位として使用されることを理解されたい。図5は、本出願の実施形態による、タイルマップ座標系における仮想マップにおけるタイルマップを図示している概略図である。図5に示しているように、各矩形エリアがタイルマップである。タイルマップの長さが、タイルマップ座標系におけるx軸(x-axis)上の単位として使用され、タイルマップの幅が、タイルマップ座標系におけるy軸(y-axis)上の単位として使用される。
加えて、位置座標は、あるいは、タイルマップのインデックスとして使用され得る。例えば、図5に示したタイルマップ座標系においては、タイルマップの左下の頂点座標は、タイルマップのインデックスとして使用される。
S420. 仮想オブジェクトが中央エリア外へと移動してから、距離パラメータを決定し、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新する。
距離パラメータは、タイルマップ座標系におけるx軸方向およびy軸方向の、中央エリアに対する仮想オブジェクトが位置している、タイルマップの相対距離を示しており、第2のエリアは、距離パラメータに基づいて第1のエリアを移動した後に決定されるマップエリアである。
第2のエリアは距離パラメータに基づいて第1のエリアを移動した後に決定されるマップエリアであることを理解されたい。したがって、第1のエリアと第2のエリアとは、同一の形状および同一のサイズを有する。例えば、図2では、第1のエリアが(2, 0)および(1, 1)を含む矩形エリアであり、第1のエリアがタイルマップを1個ほど右に移動することを距離パラメータが示していることを想定している。この場合には、第2のエリアは、(2, 1)および(1, 2)を含み、第1のエリアのものと同一の形状およびサイズを有する、矩形エリアである。
第1のエリアと第2のエリアとによって共有されていないタイルマップが第1のエリアのみまたは第2のエリアのみのいずれかに存在するタイルマップであることを理解されたい。
本出願の実施形態においては、仮想オブジェクトが位置している中央エリア外へと仮想オブジェクトが移動してから、仮想オブジェクトがあるタイルマップに移動することになり、中央エリアに対するタイルマップの距離パラメータが決定される。その後、ローディング状態を更新する必要があるタイルマップが、タイルマップの距離パラメータおよび現時点ロードされているタイルマップに基づいて決定される。したがって、不必要なタイルマップをローディングすることを軽減してタイルマップ間のシームレスな接続を実施することができ、仮想マップを表示する効率および経験効果をある程度改善している。
必要に応じて、ある実施形態においては、ステップS420において距離パラメータを決定するステップは、次の方法で、すなわち、仮想オブジェクトが中央エリアの右にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, 0)であると決定するステップ、または、仮想オブジェクトが中央エリアの右上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, 1)であると決定するステップ、または、仮想オブジェクトが中央エリアの真上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(0, 1)であると決定するステップ、または、仮想オブジェクトが中央エリアの左上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, 1)であると決定するステップ、または、仮想オブジェクトが中央エリアの左にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, 0)であると決定するステップ、または、仮想オブジェクトが中央エリアの左下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, -1)であると決定するステップ、または、仮想オブジェクトが中央エリアの真下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(0, -1)であると決定するステップ、または、仮想オブジェクトが中央エリアの右下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, -1)であると決定するステップで特に実施され得るし、タイルマップ座標系において、右方向は、水平座標にとっての正の方向であり、上方向は、垂直座標にとっての正の方向である。
本出願の実施形態においては、距離パラメータ(a, b)は、中央エリアがタイルマップをa個ほど右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数であることを理解されたい。aまたはbの値が負数である場合には、中央エリアが反対方向に移動することを示す、または、aまたはbの値が0である場合には、中央エリアが移動していないことを示す。
必要に応じて、別の実施形態においては、ステップS420において距離パラメータを決定するステップは、次の方法で、すなわち、第2の中央エリアを決定するステップであって、仮想オブジェクトが中央エリア外へと移動した後では、第2の中央エリア内の任意のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、仮想マップのタイルマップ座標系におけるx軸方向の、最大距離が、X1未満であり、第2の中央エリア内のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、仮想マップのタイルマップ座標系におけるy軸方向の、最大距離が、Y1未満である、ステップと、タイルマップ座標系におけるx軸方向およびy軸方向の中央エリアに対する第2の中央エリアの相対距離が距離パラメータであると決定するステップとで特に実施され得る。
必要に応じて、ある実施形態として、ステップ420が、具体的に実現される:仮想オブジェクトが中央エリア外へと移動してから、持続時間がプリセット時間を超過した後、距離パラメータを決定し、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新する。
本出願の実施形態においては、仮想オブジェクトが、中央エリアから移動することを通じプリセット時間を超過した後、タイルマップを再更新する。従って、仮想オブジェクトが短時間で境界に面するエリア間を移動してタイルマップの頻繁な更新を避けることができる
必要に応じて、ある実施形態においては、ステップ420では、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップが、次の通り、すなわち、第1のエリア内のタイルマップと比較して第2のエリア内の追加されたタイルマップをローディングし、第1のエリア内のタイルマップと比較して第2のエリア内の削減されたタイルマップを除去するステップで特に実施される。
本出願の実施形態においては、表示する必要がないタイルマップは除去され、表示する必要があるタイルマップはロードされ、その結果、タイルマップをローディングする効率を増大することができ、タイルマップ間のシームレスな接続が実施され、仮想マップを表示する効率および経験効果をある程度改善している。
必要に応じて、ある実施形態においては、ステップ420では、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップが、次の通り、すなわち、距離パラメータおよび第1のエリア内のタイルマップのインデックスに基づいて、更新される必要があるタイルマップのインデックスを決定するステップと、更新される必要があるタイルマップのインデックスに基づいて、仮想マップにおける仮想オブジェクトのタイルマップのローディング状態を更新するステップで実施される。
好ましくは、X1はY1に等しい。さらに、X1の値は、1、2、3、4、5などであり得る。
必要に応じて、第1のエリア内の任意のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、x軸方向の、最大距離が、第1の単位長さのX2倍未満であり、第1のエリア内のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、y軸方向の、最大距離が、第2の単位長さのY2倍未満であり、X2およびY2は、正の整数であり、X1<X2であり、Y1<Y2である。好ましくは、第1のエリアおよび中央エリアは矩形である。さらに、Y2=Y1+1であり、X2=X1+1である。この場合には、新規矩形エリアは、タイルマップを1個ほど上方および下方ならびに左および右に中央エリアの周辺を独立して拡張することによって生成され、その新規矩形エリアが第1のエリアである。
例えば、X1およびY1の値が1である場合には、X2およびY2の値は2である。この場合には、仮想オブジェクトのためにロードされるタイルマップは、9個の矩形からなるグリッドマップであり、仮想オブジェクトは、9個の矩形からなるグリッドマップの中央に常に位置する。
別の例では、X1およびY1の値が2である場合には、X2およびY2の値は3である。この場合には、仮想オブジェクトのためにロードされるタイルマップは、16個の矩形からなるグリッドマップであり、仮想オブジェクトは、16個の矩形からなるグリッドマップの中央にある4つのタイルマップ上に常に位置する。
別の例では、X1およびY1の値が3である場合には、X2およびY2の値は4である。この場合には、仮想オブジェクトのためにロードされるタイルマップは、25個の矩形からなるグリッドマップであり、仮想オブジェクトは、25個の矩形からなるグリッドマップの中央にある9つのタイルマップ上に常に位置する。
必要に応じて、ある実施形態においては、ステップS420の前に、方法は、実世界環境における仮想オブジェクトに対応する実世界オブジェクトの緯度および経度に基づいて、仮想マップにおける仮想オブジェクトの対応するマップ座標を決定するステップであって、仮想マップは、実世界電子マップに基づいて生成される、ステップをさらに含む。
例えば、グローバル電子マップがゲーム内の仮想マップとして使用されると仮定する。この場合には、北京の天安門広場でゲームにログインすると、ユーザは、39°54'27'' N, 116°23'17'' Eに位置している。この場合には、ユーザは、実世界電子マップにおける位置(39°54'27'' N, 116°23'17'' E)に対応する仮想マップにおける位置にゲーム内では位置している。
仮想マップにおける仮想オブジェクトの対応するマップ座標を実世界環境における仮想オブジェクトに対応する実世界オブジェクトの緯度および経度に基づいて決定した後に、仮想アプリケーションにおける仮想オブジェクトの初期位置が決定され得るし、仮想オブジェクトが現在の中央エリア外へと移動しているかどうかがさらに決定され得る。
必要に応じて、ある実施形態においては、ステップS420の前に、方法は、実世界環境における仮想オブジェクトに対応する実世界オブジェクトの移動方向および移動距離に基づいて仮想マップにおける仮想オブジェクトの対応する移動方向および移動距離を決定するステップであって、仮想マップは、実世界電子マップに基づいて生成される、ステップをさらに含む。
例えば、グローバル電子マップがゲーム内の仮想マップとして使用され、現時点、ユーザが北京の39°54'27'' N, 116°23'17'' Eの天安門広場にいて、仮想マップにおける対応する座標位置が(x0, y0)であるとさらに仮定する。ユーザが50キロメートルほど西に移動し、仮想マップにおける1キロメートルに対応する距離が1cmであり、仮想マップの方向が次のように上が北、下が南、左が西、そして右が東であると仮定する。この場合には、仮想オブジェクトの位置は座標(x0, y0)が仮想マップにおいて50cmほど左に移動した後に得られる位置であると、ユーザは決定し得る。
仮想オブジェクトが現在の中央エリア外へと移動しているかどうかを決定するために、移動後の位置が、仮想マップにおける仮想オブジェクトの現在位置、移動距離、および移動方向に基づいて、決定され得る。
特定の実施形態を参照して本出願の実施形態における方法を以下にさらに説明している。
図6は、本出願の実施形態による、仮想マップにおけるいくつかのタイルマップの座標を図示している概略図である。図6では、プレーヤキャラクタによってロードされるタイルマップは、灰色部分の9個の矩形からなるグリッドマップである。図6に示した実施形態においては、仮想マップにおけるタイルマップの2次元座標は、タイルマップのインデックスとして使用される。仮想マップにおけるタイルマップの2次元座標は、タイルマップの中心座標、タイルマップの頂点の座標、タイルマップにおける固定位置の座標などであり得る。
図6に示したシナリオにおいては、図4に示した実施形態におけるX1およびY1の値が1である場合には、X2およびY2の値は2である。この場合には、仮想オブジェクトの第1のエリアは、タイルマップ(1, 1)、(1, 2)、(1, 3)、(2, 1)、(2, 2)、(2, 3)、(3, 1)、(3, 2)、および(3, 3)を含み、仮想オブジェクトの中央エリアは、タイルマップ(2, 2)を含む。仮想オブジェクトが中央エリア内で移動している場合には、タイルマップは更新する必要がなく、仮想オブジェクトが中央エリア外へと移動した場合には、タイルマップを更新する必要があることを理解されたい。
図6中の矢印Aが示しているように、仮想オブジェクトが中央エリア、すなわち、タイルマップ(2, 2)からタイルマップ(2, 3)に移動すると、距離パラメータは(0, 1)であると決定され得る。この場合には、仮想オブジェクトのためにロードされる必要があるタイルマップの座標は、(1, 2)、(1, 3)、(1, 4)、(2, 2)、(2, 3)、(2, 4)、(3, 2)、(3, 3)、および(3, 4)である。換言すれば、タイルマップ(1, 1)、(1, 2)、(1, 3)、(2, 1)、(2, 2)、(2, 3)、(3, 1)、(3, 2)、および(3, 3)とタイルマップ(1, 2)、(1, 3)、(1, 4)、(2, 2)、(2, 3)、(2, 4)、(3, 2)、(3, 3)、および(3, 4)とによって共有されていないタイルマップのローディング状態を更新する必要がある。換言すれば、ローディング状態を更新する必要があるタイルマップの座標インデックスは、(1, 1)、(2, 1)、(3, 1)、(1, 4)、(2, 4)、および(3, 4)である。タイルマップ(1, 1)、(2, 1)、および(3, 1)は除去される必要があり、タイルマップ(1, 4)、(2, 4)、および(3, 4)はロードされる必要がある。
図6中の矢印Bが示しているように、仮想オブジェクトがタイルマップ(2, 2)からタイルマップ(3, 1)に移動すると、距離パラメータは(1, -1)であると決定され得る。この場合には、仮想オブジェクトのためにロードされる必要があるタイルマップの座標は、(2, 0)、(2, 1)、(2, 2)、(3, 0)、(3, 1)、(3, 2)、(4, 0)、(4, 1)、および(4, 2)である。換言すれば、タイルマップ(2, 0)、(2, 1)、(2, 2)、(3, 0)、(3, 1)、(3, 2)、(4, 0)、(4, 1)、および(4, 2)とタイルマップ(1, 1)、(1, 2)、(1, 3)、(2, 1)、(2, 2)、(2, 3)、(3, 1)、(3, 2)、および(3, 3)とによって共有されていないタイルマップのローディング状態を更新する必要がある。換言すれば、タイルマップ(2, 0)、(3, 0)、(4, 0)、(4, 1)、(4, 2)、(1, 1)、(1, 2)、(1, 3)、(2, 3)、および(3, 3)のローディング状態を更新する必要がある。具体的には、タイルマップ(1, 1)、(1, 2)、(1, 3)、(2, 3)、および(3, 3)は除去される必要があり、タイルマップ(2, 0)、(3, 0)、(4, 0)、(4, 1)、および(4, 2)はロードされる必要がある。
当然のことながら、仮想オブジェクトは代わりにタイルマップ(2, 2)から9個の矩形からなるグリッドマップにおける他の6つの方向に移動し得ることを理解されたい。仮想オブジェクトの移動距離パラメータは、図4に示した実施形態における距離パラメータによって示される。簡潔にするために、本出願の実施形態においては詳細を省略している。
加えて、所定の時間が頻繁な切り替えによる頻繁なマップリフレッシュ処理を軽減するためにさらに設定され得ることを理解されたい。仮想オブジェクトが、所定の時間の間、中央エリア外へと移動してから、タイルマップは更新される。このように、頻繁なマップ切り替えによる頻繁なリフレッシュ処理を軽減することができ、ユーザエクスペリエンスを改善している。
当然のことながら、他のインデックスが実世界適用においてはタイルマップのインデックスとして代わりに使用され得ることを理解されたい。例えば、数値インデックスは、座標に基づいて決定される。特に、例えば、タイルマップの座標が(x0, y0)である場合には、タイルマップの数値インデックスは、a*x0+b*y0である。
加えて、仮想オブジェクトの中央エリアは2つ以上のタイルマップを含み得ることを理解されたい。例えば、X1およびY1の値が2である場合には、X2およびY2の値は3である。中央エリアは4つのタイルマップを含み、ロードする必要があるタイルマップは16個の矩形からなるグリッドマップを構成する。9個の矩形からなるグリッドマップと同様に、16個の矩形からなるグリッドマップにおいては、中央エリア以外のエリアも、右、右上、真上、左上、左、左下、真下、および右下といった8つの方向にそれぞれ対応する8つのエリアに分割され得る。16個の矩形からなるグリッドマップにおける移動距離パラメータを計算するための方法は、9個の矩形からなるグリッドマップにおけるものと同様である。
加えて、y軸方向において中央エリアに含まれるタイルマップの数量は、x軸方向において中央エリアに含まれるタイルマップの数量と等しくなくてもよい。例えば、X1の値は1であり、Y1の値は2であり、X2およびY2の値は3である。
加えて、第1のエリアが仮想オブジェクトの中央エリアを含み、中央エリアが第1のエリアのエッジ上に存在しない限り、仮想オブジェクトのためにロードされるタイルマップを含む第1のエリアの形状も本出願の実施形態に限定されない。好ましくは、第1のエリアおよび中央エリアは矩形である。
例えば、図6に示したタイルマップにおいては、第1のエリアは、灰色部分の9個の矩形からなるグリッドマップと、タイルマップ(4, 0)、(4, 1)、(4, 2)、(4, 3)、および(4, 4)を含むエリアとを含み得る。
更新される必要があるエリアを決定するために、距離パラメータに基づいて第1のエリアを移動した後に得られる第2のエリアと第1のエリアを比較し、第1のエリアと第2のエリアとによって共有されていないエリア内のタイルマップのローディング状態を更新することだけが必要になる。
望ましいソリューションにおいては、第1のエリアは、中央エリアをすべての方向にタイルマップを1個ほど拡張することによって得られるエリアである。
加えて、本出願の実施形態における方法においては、関連付けの関係が実世界環境におけるユーザの位置情報と仮想マップにおける仮想オブジェクトの位置情報との間にさらに確立され得ることを理解されたい。
特定の例においては、仮想マップが実世界電子マップに基づいて生成され得るし、その後、仮想マップにおける仮想オブジェクトの対応するマップ座標が実世界環境における仮想オブジェクトに対応する実世界オブジェクトの緯度および経度に基づいて決定され得る。実世界電子マップに基づいて生成される仮想マップが実世界環境における緯度および経度に対応することを理解されたい。
例えば、仮想マップは3Dゲームマップであり、仮想オブジェクトが3Dゲーム内のゲームキャラクタであり、マップの原点が実世界電子マップにおける緯度および経度に対応する、すなわち、(0, 0)が緯度および経度(O-lat、O-lng)に対応すると仮定する。図7に示しているように、3Dグラフィックエンジンにおけるタイルマップの長さおよび幅がそれぞれwおよびhであり、タイルマップによって実際にカバーされている緯度および経度がそれぞれd-latおよびd-lngであると仮定する。図7は、本出願の実施形態による、仮想マップにおける座標と実世界電子マップにおける緯度および経度との間のマッピング関係を図示している概略図である。
実世界環境におけるユーザの現在の緯度および経度が(x, y)である場合には、ユーザに対応するゲームキャラクタが位置しているタイルマップの座標インデックスは以下の通りである。
Figure 0006921199
さらに、3Dグラフィックエンジンにおけるゲームキャラクタの座標(z軸は無視する)は以下の通りのものを得ることができる。
Figure 0006921199
それに対応するように、実世界環境におけるユーザの緯度および経度も、3Dグラフィックエンジンにおけるゲームキャラクタの座標に基づいて、計算され得る。
加えて、本出願の実施形態における方法においては、実世界環境におけるユーザのアクションはさらに仮想オブジェクトのアクションと関連付けられ得ることを理解されたい。
特定の例においては、実世界環境における仮想オブジェクトに対応する実世界オブジェクトのアクションパラメータに基づいて、仮想マップにおける仮想オブジェクトの対応するアクションパラメータが決定され得るし、仮想オブジェクトが操作され得る。特に、アクションパラメータは、ユーザの手、足、頭、または体などの一部の動きに関連しているパラメータであり得る。例えば、実世界環境における腕を振る距離、腕を振る速度、足を上げる角度、足を上げる方向、およびユーザの足を上げる速度が、センサを使用してキャプチャされ得る。当然のことながら、センサはまた、ユーザの移動距離、移動方向、および移動速度などといった、比較的シンプルなデータを収集するために使用され得る。
当然のことながら、緯度および経度に基づいて仮想マップにおける座標を決定するための方法と実世界環境におけるアクションパラメータに基づいて仮想マップにおける仮想オブジェクトのアクションパラメータを決定するための方法とが同一の実施に適用され得ることを理解されたい。仮想オブジェクトとユーザとが、緯度および経度データならびにユーザのアクションパラメータデータに基づいて良好な整合性を維持しており、ユーザの仮想経験をよりリアルなものとしている。
図8は、本出願の例示的な実施形態による、電子デバイスを図示している概略構造図である。図8を参照すれば、ハードウェアに関しては、電子デバイスは、プロセッサ、内部バス、ネットワークインターフェース、メモリ、および不揮発性メモリを含み、当然のことながら、他のサービスによって必要とされるハードウェアをさらに含み得る。プロセッサは実行するために不揮発性メモリからメモリへと対応するコンピュータプログラムを読み出し、ユーザインターフェースロック解除装置が論理的に形成される。当然のことながら、ソフトウェアの実施形態に加えて、本出願は、別の実施形態、例えば、ロジックデバイスまたはハードウェアとソフトウェアとの組合せを除外するものではない。すなわち、以下の処理プロシージャの実行の主体は、各論理ユニットに限定されず、ハードウェアまたはロジックデバイスでもあり得る。
図9は、本出願の実施形態による、仮想マップを描画するための装置900を図示している概略構造図である。図9を参照すれば、ソフトウェアの実施形態において、仮想マップを描画するための装置900は、決定ユニット901および更新ユニット902を含み得る。
決定ユニット901は、第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定し、第1のエリアは、仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含むエリアマップであり、中央エリアの境界は、第1のエリアに位置しており、仮想マップのタイルマップ座標系におけるx軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、X1未満であり、タイルマップ座標系におけるy軸方向の、中央エリア内の任意のタイルマップと仮想オブジェクトとの間における、最大距離が、Y1未満であり、1つのタイルマップの長さが、タイルマップ座標系におけるx軸上の単位として使用され、1つのタイルマップの幅が、タイルマップ座標系におけるy軸上の単位として使用され、X1およびY1は、所定の正の整数である。
決定ユニット901はさらに、仮想オブジェクトが中央エリア外へと移動してから、距離パラメータを決定し、距離パラメータは、タイルマップ座標系におけるx軸方向およびy軸方向の、中央エリアに対する仮想オブジェクトが位置している、タイルマップの相対距離を示す。
更新ユニット902は、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新し、第2のエリアは、距離パラメータに基づいて第1のエリアを移動した後に決定されるマップエリアである。
本出願の実施形態においては、仮想オブジェクトが位置している中央エリア外へと仮想オブジェクトが移動してから、仮想オブジェクトは、タイルマップに移動し、中央エリアに対するタイルマップの距離パラメータが決定される。その後、ローディング状態を更新する必要があるタイルマップが、タイルマップの距離パラメータおよび現時点ロードされているタイルマップに基づいて決定される。したがって、不必要なタイルマップをローディングすることを軽減してタイルマップ間のシームレスな接続を実施することができ、仮想マップを表示する効率および経験効果をある程度改善している。
必要に応じて、決定ユニット901は、仮想オブジェクトが中央エリアの右にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, 0)であると決定する、または、仮想オブジェクトが中央エリアの右上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, 1)であると決定する、または、仮想オブジェクトが中央エリアの真上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(0, 1)であると決定する、または、仮想オブジェクトが中央エリアの左上にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, 1)であると決定する、または、仮想オブジェクトが中央エリアの左にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, 0)であると決定する、または、仮想オブジェクトが中央エリアの左下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(-1, -1)であると決定する、または、仮想オブジェクトが中央エリアの真下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(0, -1)であると決定する、または、仮想オブジェクトが中央エリアの右下にある中央エリアに隣接しているタイルマップに移動すると、距離パラメータが(1, -1)であると決定するように特に構成され、距離パラメータ(a, b)は、中央エリアがタイルマップをa個ほど右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数である。
本出願の実施形態においては、距離パラメータ(a, b)は、中央エリアがタイルマップをa個ほど右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数であることを理解されたい。aまたはbの値が負数である場合には、中央エリアが反対方向に移動することを示す、または、aまたはbの値が0である場合には、中央エリアが移動していないことを示す。
必要に応じて、更新ユニット902は、プリセット時間を超過した時間期間の間、仮想オブジェクトが中央エリア外へと移動してから、距離パラメータを決定し、距離パラメータおよび第1のエリアに基づいて、第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するように特に構成される。
必要に応じて、更新ユニット902は、第1のエリア内のタイルマップと比較して第2のエリア内の追加されたタイルマップをローディングし、第1のエリア内のタイルマップと比較して第2のエリア内の削減されたタイルマップを除去するように特に構成される。
必要に応じて、更新ユニット902は、距離パラメータおよび第1のエリア内のタイルマップのインデックスに基づいて、更新される必要があるタイルマップのインデックスを決定し、更新される必要があるタイルマップのインデックスに基づいて、仮想マップにおける仮想オブジェクトのタイルマップのローディング状態を更新するように特に構成される。
好ましくは、X1はY1に等しい。さらに、X1の値は、1、2、3、4、または5である。
必要に応じて、第1のエリア内の任意のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、x軸方向の、最大距離が、第1の単位長さのX2倍未満であり、第1のエリア内のタイルマップと仮想オブジェクトが位置しているタイルマップとの間における、y軸方向の、最大距離が、第2の単位長さのY2倍未満であり、X2およびY2は、正の整数であり、X1<X2であり、Y1<Y2である。好ましくは、第1のエリアおよび中央エリアは矩形である。さらに、Y2=Y1+1であり、X2=X1+1である。この場合には、新規矩形エリアは、タイルマップを1個ほど上方および下方ならびに左および右に中央エリアの周辺を独立して拡張することによって生成され、その新規矩形エリアが第1のエリアである。
必要に応じて、決定ユニット901はさらに、実世界環境における仮想オブジェクトに対応する実世界オブジェクトの緯度および経度に基づいて、仮想マップにおける仮想オブジェクトの対応するマップ座標を決定し、仮想マップは、実世界電子マップに基づいて生成される。
必要に応じて、決定ユニット901はさらに、仮想マップにおける仮想オブジェクトの対応するアクションパラメータを決定し、実世界環境における仮想オブジェクトに対応する実世界オブジェクトのアクションパラメータに基づいて、仮想オブジェクトを操作する。
仮想マップを描画するための装置900は、図4中の方法をさらに行い、図4および図6に示した実施形態において仮想マップを描画するための装置、グラフィックエンジンなどの機能を実施し得る。簡潔にするために、本出願の実施形態においては詳細を省略している。
図10は、本出願の実施形態による、仮想マップを描画するための装置1000を図示している概略構造図である。図10を参照すれば、ソフトウェアの実施形態において、仮想マップを描画するための装置1000は、決定ユニット1001、エリア分割ユニット1002、および画像処理ユニット1003を含み得る。
決定ユニット1001は、実世界電子マップと仮想マップとの間の拡大縮小関係に基づいて、仮想マップのマップエリアを決定するように構成される。
エリア分割ユニット1002は、マップエリアを複数の同サイズのタイルエリアに分割するように構成される。
画像処理ユニット1003は、実世界電子マップにおけるタイルエリアに対応するエリアマップに基づいて、各タイルエリアに対する画像処理を行って、タイルエリアのタイルマップを生成するように構成され、画像処理は、レンダリング処理を含む。
本出願の実施形態においては、仮想マップのエリアは、実世界電子マップに基づいて決定され、仮想マップは、複数の同サイズのタイルエリアに分割され、レンダリング処理が、実世界電子マップにおけるタイルエリアの対応するエリアマップに基づいてタイルエリアに対して行われ、その結果、仮想マップのタイルマップを実世界電子マップに基づいて高速に生成することができ、それによって、仮想マップを生成する効率を改善している。
必要に応じて、決定ユニット1001はさらに、タイルエリアのサイズおよび第1のタイルエリアのインデックスに基づいて、実世界電子マップにおける複数の同サイズのタイルエリアのうちの第1のタイルエリアに対応する第1の実世界エリアマップを決定し、画像処理ユニット1003はさらに、第1の実世界エリアマップに基づいて、第1のタイルエリアに対する画像処理を行って、第1のタイルエリアに対応する第1のタイルマップを取得する。
当然のことながら、エリア分割ユニット1002は複数の同サイズのタイルエリアにおいて各タイルエリアのためのインデックスをさらに作成し得ることを理解されたい。
仮想マップを描画するための装置1000は、図1中の方法をさらに行い、図1および図2に示した実施形態において仮想マップを描画するための装置、グラフィックエンジンなどの機能を実施し得る。簡潔にするために、本出願の実施形態においては詳細を省略している。
1990年代においては、技術的改善がハードウェア改善(例えば、ダイオード、トランジスタ、またはスイッチなどの回路構造に対する改善)であるかソフトウェア改善(方法の手順に対する改善)であるかは明確に区別し得た。しかしながら、技術が進歩するにつれて、多くの方法の手順に対する今日の改善は、ハードウェア回路構造に対する直接的な改善として扱うことができるようになった。設計者は、通常、改善した方法の手順をハードウェア回路にプログラムして、対応するハードウェア回路構造を得る。したがって、方法の手順をハードウェアエンティティモジュールを使用して改善し得る。例えば、プログラマブルロジックデバイス(PLD)(例えば、フィールドプログラマブルゲートアレイ(FPGA))がそのような集積回路であり、PLDの論理機能がデバイスプログラミングによりユーザによって決定される。設計者は、チップ製造業者に特定用途向け集積回路チップを設計および製造するように要求することなく、プログラミングを行い、デジタルシステムをPLDに「統合」する。加えて、今日では、集積チップを手動で製造する代わりに、このタイプのプログラミングは、「ロジックコンパイラ」というソフトウェアを使用してほとんどが実施される。プログラミングは、プログラムを開発するためおよび書くために使用されるソフトウェアコンパイラと同様である。元のコードをコンパイルのために特定のプログラミング言語で書く必要がある。そのような言語をハードウェア記述言語(HDL)と称する。Advanced Boolean Expression Language(ABEL)、Altera Hardware Description Language(AHDL)、Confluence、Cornell University Programming Language(CUPL)、HDCal、Java(登録商標) Hardware Description Language(JHDL)、Lava、Lola、MyHDL、PALASM、およびRuby Hardware Description Language(RHDL)などの多くのHDLが存在する。超高速集積回路ハードウェア記述言語(VHDL)およびVerilogがもっとも一般的に使用されている。ひとたび方法の手順がいくつかの説明したハード
ウェア記述言語を使用して論理的にプログラムされ集積回路にプログラムされると論理的な方法の手順を実施するハードウェア回路を容易に得ることができることも当業者は理解すべきである。
コントローラは、任意の適切な方法を使用して実装され得る。例えば、コントローラは、マイクロプロセッサもしくはプロセッサであり得るし、またはマイクロプロセッサもしくはプロセッサ、ロジックゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または内蔵マイクロプロセッサが実行することができるコンピュータ可読プログラムコード(ソフトウェアまたはファームウェアなど)を記憶するコンピュータ可読媒体であり得る。コントローラの例としては、ARC625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320といったマイクロプロセッサを含むがこれらに限定されない。メモリコントローラはまた、メモリの制御ロジックの一部として実装され得る。当業者も知っての通り、コンピュータ可読プログラムコードを使用してコントローラを実装することに加えて、コントローラがロジックゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、および内蔵マイクロコントローラの形式で同一の機能を実装することができるように、ロジックプログラミングを方法のステップに対して行うことができる。したがって、コントローラは、ハードウェアコンポーネントとみなされ得るし、コントローラにおける様々な機能を実施するように構成された装置も、ハードウェアコンポーネントにおける構造とみなされ得る。または、様々な機能を実施するように構成された装置は、方法を実施するソフトウェアモジュールおよびハードウェアコンポーネントにおける構造の両方とみなされ得る。
上記の実施形態において示したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用して実装され得る、または、ある機能を有する製品を使用して実装され得る。典型的な実施デバイスがコンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ラップトップコンピュータ、セルラ電話、カメラ電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、もしくはウェアラブルデバイス、またはこれらのデバイスの任意の組合せであり得る。
説明を簡潔にするために、機能を様々なユニットに分割することによって上記の装置を説明している。当然のことながら、本出願を実施する際には、各ユニットの機能は、ソフトウェアおよび/またはハードウェアの1つまたは複数の要素において実施され得る。
本発明の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本発明は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せを用いた実施形態の形式を使用し得る。さらに、本発明は、コンピュータ使用可能プログラムコードを含む(ディスクメモリ、CD-ROM、光学メモリなどを含むがこれらに限定されない)1つまたは複数のコンピュータ使用可能記憶媒体上で実施されるコンピュータプログラム製品の形式を使用し得る。
本発明は、本発明の実施形態による、方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明している。コンピュータプログラム命令がフローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロックならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組合せを実施するために使用され得ることを理解されたい。これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行された命令がフローチャート中の1つまたは複数のフローにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施するための装置を生成するように、汎用コンピュータ、専用コンピュータ、内蔵プロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサに提供され、機構を生成し得る。
このようなコンピュータプログラム命令は、コンピュータ可読メモリに記憶されている命令が命令装置を含むアーチファクトを生成するように、コンピュータまたは別のプログラマブルデータ処理デバイスが特定の方法で動作するように命令し得るコンピュータ可読メモリに記憶され得る。命令装置は、フローチャート中の1つまたは複数のフローにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施する。
このようなコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされ得るし、その結果、一連の動作およびステップがコンピュータまたは別のプログラマブルデバイス上で行われ、それによって、コンピュータ実施処理を生成している。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート中の1つまたは複数のフローにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施するためのステップを提供する。
典型的な設定においては、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)、1つまたは複数の入力/出力インターフェース、1つまたは複数のネットワークインターフェース、および1つまたは複数のメモリを含む。
メモリは、例えば、リードオンリーメモリ(ROM)またはフラッシュメモリ(フラッシュRAM)などといった、コンピュータ可読媒体に存在する、非持続性メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/または他の形式を含み得る。メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術を使用する情報ストレージを実装し得る、持続性、非持続性、ムーバブル、および非ムーバブル媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体は、位相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、もしくは別のメモリ技術と、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、もしくは別の光学ストレージと、カセット、カセット磁気ディスクストレージ、もしくは別の磁気ストレージデバイスと、または任意の他の非伝送媒体とを含むがこれらに限定されない。コンピュータ記憶媒体は、コンピューティングデバイスによってアクセスされ得る情報を記憶するように構成され得る。本明細書における定義に基づけば、コンピュータ可読媒体は、例えば、変調データ信号およびキャリアといった、一時的媒体(transitory media)を含まない。
「含む」、「備える」といった用語、またはそれらの任意の他の類型は、非排他的な包含をカバーすることを意図しており、その結果、多くの要素を含むプロセス、方法、物品、もしくはデバイスが、これらの要素だけでなく、明示的に記載していない他の要素も含む、または、そのようなプロセス、方法、物品、もしくはデバイスに本来備わっている要素をさらに含むことをさらに留意されたい。「・・・を含む」で終わる要素は、さらなる制約がない状態で、要素を含むプロセス、方法、物品、またはデバイスにおける追加の同一要素の存在を除外することはしない。
本出願の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せを用いた実施形態の形式を使用し得る。加えて、本出願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(ディスクメモリ、CD-ROM、光学メモリなどを含むがこれらに限定されない)上で実施されるコンピュータプログラム製品の形式を使用し得る。
本出願は、例えば、プログラムモジュールといった、コンピュータによって実行されるコンピュータ実行可能命令の一般的な状況において説明することができる。一般的に、プログラムモジュールは、特定のタスクを実行するまたは特定の抽象データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本出願はまた、分散コンピューティング環境において実施することができる。分散コンピューティング環境においては、タスクは、通信ネットワークを介して接続されたリモート処理デバイスによって行われる。分散コンピューティング環境においては、プログラムモジュールは、ストレージデバイスを含むローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の両方に位置し得る。
本明細書における実施形態は、漸進的方法で説明している。実施形態における同一または同様の部分については、その実施形態を参照されたい。各実施形態は、他の実施形態とは異なる部分に焦点を置いている。特に、システム実施形態は、方法の実施形態と基本的に同様であるため、したがって、簡潔に説明している。関連する部分については、方法の実施形態における関連する説明を参照されたい。
上記の説明は、本出願の実施形態であり、本出願を限定することは意図していない。当業者のために、本出願は様々な修正および変更を有し得る。本出願の精神および原理においてなされた任意の修正、均等物との置換、改良などは、本出願における特許請求の範囲の範囲に含まれるものとする。
901 決定ユニット
902 更新ユニット
1001 決定ユニット
1002 エリア分割ユニット
1003 画像処理ユニット

Claims (15)

  1. 仮想マップにおけるタイルマップを更新するための方法であって、
    第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定するステップと、
    前記第1のエリアは、前記仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含む当該仮想マップのエリアであり、
    前記仮想オブジェクトが移動したかを判定するステップと、
    前記仮想オブジェクトが予め定めた所定のプリセット時間を超える期間、前記中央エリア外にあると判定してから、前記仮想オブジェクトの位置の前記中央エリアに対する距離パラメータを決定し、
    前記距離パラメータおよび前記第1のエリアに基づいて、前記第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップとを含み、
    前記第2のエリアは、前記距離パラメータに基づいて決定されるエリアであって、前記第1のエリアと大きさと形状が同一のエリアである、
    方法。
  2. 前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるx軸方向の最大距離はX1(X1は、第1の予め定めた正の整数)未満であり、
    前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるy軸方向の最大距離はY1(Y1は、第2の予め定めた正の整数)未満であり、
    1つのタイルマップの長さは、前記仮想マップの座標系におけるx軸方向の長さの単位として用いられ、
    1つのタイルマップの幅は、前記仮想マップの座標系におけるy軸方向の長さの単位として用いられる、
    請求項1に記載の方法。
  3. 前記距離パラメータを決定するステップは、
    前記仮想オブジェクトが前記中央エリアの右にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, -1)であると決定するステップを含み、
    前記タイルマップは、矩形エリアであり、前記距離パラメータ(a, b)は、前記中央エリアがタイルマップをa個ほど前記右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数である、
    請求項1または2に記載の方法。
  4. 前記第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップは、
    前記仮想マップのうち、除去されるタイルマップの第1のグループを決定するステップと、
    前記仮想マップのうち、ロードされるタイルマップの第2のグループを決定するステップと、
    前記第1のグループと前記第2のグループに基づいて前記タイルマップのローディング状態を更新するステップと、を含む、
    請求項1から3のいずれか一項に記載の方法。
  5. 前記距離パラメータを決定するステップと、前記ローディング状態を更新するステップの前に、
    緯度と経度に基づいて前記仮想マップにおける前記仮想オブジェクトの対応するマップ座標を決定するステップをさらに有し、
    前記仮想マップは、二次元電子マップもしくは三次元電子マップと、前記二次元電子マップもしくは前記三次元電子マップにおけるオブジェクトに対応する仮想オブジェクトに基づいて生成される、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記タイルマップのローディング状態に基づいて、前記第1のエリアに含まれていない少なくとも1つのタイルマップを前記第2のエリアにロードするステップと、
    前記第2のエリアから前記第1のエリアに含まれている少なくとも1つのタイルマップを除去するステップと、を有する、
    請求項1から5のいずれか一項に記載の方法。
  7. コンピュータに仮想マップにおけるタイルマップを更新させるための動作であって、
    第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定するステップと、
    前記第1のエリアは、前記仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含む当該仮想マップのエリアであり、
    前記仮想オブジェクトが移動したかを判定するステップと、
    前記仮想オブジェクトが予め定めた所定のプリセット時間を超える期間、前記中央エリア外にあると判定してから、前記仮想オブジェクトの位置の前記中央エリアに対する距離パラメータを決定し、
    前記距離パラメータおよび前記第1のエリアに基づいて、前記第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップとを含む動作を実行させるためのプログラムであって、
    前記第2のエリアは、前記距離パラメータに基づいて決定されるエリアであって、前記第1のエリアと大きさと形状が同一のエリアである、
    プログラムを記憶したコンピュータ読み取り可能な記憶媒体
  8. 前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるx軸方向の最大距離はX1(X1は、第1の予め定めた正の整数)未満であり、
    前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるy軸方向の最大距離はY1(Y1は、第2の予め定めた正の整数)未満であり、
    1つのタイルマップの長さは、前記仮想マップの座標系におけるx軸方向の長さの単位として用いられ、
    1つのタイルマップの幅は、前記仮想マップの座標系におけるy軸方向の長さの単位として用いられる、
    請求項7に記載のコンピュータ読み取り可能な記憶媒体
  9. 前記距離パラメータを決定するステップは、
    前記仮想オブジェクトが前記中央エリアの右にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, -1)であると決定するステップを含み、
    前記タイルマップは、矩形エリアであり、前記距離パラメータ(a, b)は、前記中央エリアがタイルマップをa個ほど前記右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数である、
    請求項7または8に記載のコンピュータ読み取り可能な記憶媒体
  10. 前記第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップは、
    前記仮想マップのうち、除去されるタイルマップの第1のグループを決定するステップと、
    前記仮想マップのうち、ロードされるタイルマップの第2のグループを決定するステップと、
    前記第1のグループと前記第2のグループに基づいて前記タイルマップのローディング状態を更新するステップと、を含む、
    請求項7から9のいずれか一項に記載のコンピュータ読み取り可能な記憶媒体
  11. 前記動作は、前記距離パラメータを決定するステップと、前記ローディング状態を更新するステップの前に、
    緯度と経度に基づいて前記仮想マップにおける前記仮想オブジェクトの対応するマップ座標を決定するステップをさらに有し、
    前記仮想マップは、二次元電子マップもしくは三次元電子マップと、前記二次元電子マップもしくは前記三次元電子マップにおけるオブジェクトに対応する仮想オブジェクトに基づいて生成される、
    請求項7から10のいずれか一項に記載のコンピュータ読み取り可能な記憶媒体
  12. 前記動作は、前記タイルマップのローディング状態に基づいて、前記第1のエリアに含まれていない少なくとも1つのタイルマップを前記第2のエリアにロードするステップと、
    前記第2のエリアから前記第1のエリアに含まれている少なくとも1つのタイルマップを除去するステップと、を有する、
    請求項から11のいずれか一項に記載のコンピュータ読み取り可能な記憶媒体
  13. 1以上のコンピュータと、
    前記1以上のコンピュータと相互に結合し、コンピュータ読み取り可能な1以上の指令を記憶した媒体を有するメモリデバイスと、を備えるコンピュータシステムであって、
    前記1以上のコンピュータにより実行される動作であって、
    前記動作は、
    第1のエリアにおいて、仮想オブジェクトが位置している中央エリアを決定するステップと、
    前記第1のエリアは、前記仮想オブジェクトが位置している仮想マップにロードされるタイルマップを含む当該仮想マップのエリアであり、
    前記仮想オブジェクトが移動したかを判定するステップと、
    前記仮想オブジェクトが予め定めた所定のプリセット時間を超える期間、前記中央エリア外にあると判定してから、前記仮想オブジェクトの位置の前記中央エリアに対する距離パラメータを決定し、
    前記距離パラメータおよび前記第1のエリアに基づいて、前記第1のエリアと第2のエリアとによって共有されていないタイルマップのローディング状態を更新するステップとを含み、
    前記第2のエリアは、前記距離パラメータに基づいて決定されるエリアであって、前記第1のエリアと大きさと形状が同一のエリアである、
    コンピュータシステム。
  14. 前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるx軸方向の最大距離はX 1 (X 1 は、第1の予め定めた正の整数)未満であり、
    前記中央エリアにおけるいずれかのタイルマップと前記仮想オブジェクトとの間における、前記仮想マップの座標系におけるy軸方向の最大距離はY 1 (Y 1 は、第2の予め定めた正の整数)未満であり、
    1つのタイルマップの長さは、前記仮想マップの座標系におけるx軸方向の長さの単位として用いられ、
    1つのタイルマップの幅は、前記仮想マップの座標系におけるy軸方向の長さの単位として用いられる、
    請求項13に記載のコンピュータシステム。
  15. 前記距離パラメータを決定するステップは、
    前記仮想オブジェクトが前記中央エリアの右にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左上にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, 0)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの左下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(-1, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの真下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(0, -1)であると決定するステップ、または、
    前記仮想オブジェクトが前記中央エリアの右下にある前記中央エリアに隣接しているタイルマップに移動すると、前記距離パラメータが(1, -1)であると決定するステップを含み、
    前記タイルマップは、矩形エリアであり、前記距離パラメータ(a, b)は、前記中央エリアがタイルマップをa個ほど前記右にタイルマップをb個ほど上に移動することを示しており、aおよびbは、整数である、
    請求項13または14に記載のコンピュータシステム。
JP2019533443A 2016-12-20 2017-12-15 仮想マップにおけるタイルマップ生成方法および装置、ならびに仮想マップにおけるタイルマップ更新方法および装置 Active JP6921199B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201611184141.9A CN107016924B (zh) 2016-12-20 2016-12-20 虚拟地图中的瓦片地图生成方法、更新方法和装置
CN201611184141.9 2016-12-20
PCT/CN2017/116547 WO2018113604A1 (zh) 2016-12-20 2017-12-15 虚拟地图中的瓦片地图生成方法、更新方法和装置

Publications (3)

Publication Number Publication Date
JP2020507101A JP2020507101A (ja) 2020-03-05
JP2020507101A5 JP2020507101A5 (ja) 2021-04-30
JP6921199B2 true JP6921199B2 (ja) 2021-08-18

Family

ID=59440121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019533443A Active JP6921199B2 (ja) 2016-12-20 2017-12-15 仮想マップにおけるタイルマップ生成方法および装置、ならびに仮想マップにおけるタイルマップ更新方法および装置

Country Status (8)

Country Link
US (2) US10628975B2 (ja)
EP (1) EP3561796A1 (ja)
JP (1) JP6921199B2 (ja)
KR (1) KR102411358B1 (ja)
CN (1) CN107016924B (ja)
SG (1) SG10202104937WA (ja)
TW (1) TWI706375B (ja)
WO (1) WO2018113604A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016924B (zh) 2016-12-20 2020-04-07 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置
CN107423445B (zh) * 2017-08-10 2018-10-30 腾讯科技(深圳)有限公司 一种地图数据处理方法、装置及存储介质
CN110019598A (zh) * 2017-09-30 2019-07-16 北京嘀嘀无限科技发展有限公司 加载站点的方法、系统、计算机装置及可读存储介质
US10657388B2 (en) * 2018-03-13 2020-05-19 Honda Motor Co., Ltd. Robust simultaneous localization and mapping via removal of dynamic traffic participants
CN108446066B (zh) * 2018-03-14 2020-07-14 杭州骑迹科技有限公司 一种地图标记的加载方法和移动终端
CN108710525B (zh) * 2018-05-18 2022-02-18 腾讯科技(深圳)有限公司 虚拟场景中的地图展示方法、装置、设备及存储介质
CN109523621B (zh) * 2018-11-15 2020-11-10 腾讯科技(深圳)有限公司 对象的加载方法和装置、存储介质、电子装置
US10876844B2 (en) * 2018-12-26 2020-12-29 Beijing Voyager Technology Co., Ltd. Systems and methods for loading and tracking maps on a vehicle
CN110209750B (zh) * 2019-05-08 2022-04-26 杭州迦智科技有限公司 地图处理方法、装置、存储介质及处理器
CN110309437B (zh) * 2019-06-26 2020-06-23 京东数字科技控股有限公司 一种信息推送方法和装置
US11559738B2 (en) * 2019-12-11 2023-01-24 Playerunknown Productions B.V. Machine learned virtual gaming environment
CN111159325B (zh) * 2019-12-31 2023-12-19 清华大学 分布式地图切片方法、装置、存储介质及服务器
CN113498474A (zh) * 2020-01-21 2021-10-12 深圳元戎启行科技有限公司 高精度地图更新方法、装置、计算机设备和存储介质
CN113449054B (zh) * 2020-03-27 2023-08-04 杭州海康机器人股份有限公司 一种地图切换的方法和移动机器人
CN111558221B (zh) * 2020-05-13 2021-03-16 腾讯科技(上海)有限公司 虚拟场景的显示方法和装置、存储介质及电子设备
CN111597287B (zh) * 2020-05-15 2023-09-29 阿波罗智能技术(北京)有限公司 地图生成方法、装置及设备
CN111631639B (zh) * 2020-05-26 2021-07-06 珠海市一微半导体有限公司 全局栅格地图的地图遍历块建立方法、芯片及移动机器人
CN111752697B (zh) * 2020-07-29 2023-08-04 腾讯科技(深圳)有限公司 应用程序的运行方法、装置、设备及可读存储介质
CN111935331A (zh) * 2020-07-30 2020-11-13 重庆智载科技有限公司 一种网络空间映射方法、可视化方法及系统
CN112595334B (zh) * 2020-12-24 2024-04-30 江苏徐工工程机械研究院有限公司 露天矿山的卸载区的地图更新方法、装置和系统
CN113029167B (zh) * 2021-02-25 2024-06-25 深圳市朗驰欣创科技股份有限公司 一种地图数据处理方法、地图数据处理装置及机器人
CN113051491B (zh) * 2021-04-22 2023-12-15 北京百度网讯科技有限公司 地图数据处理的方法、设备、存储介质及程序产品
DE102021114528A1 (de) 2021-06-07 2022-12-08 Bayerische Motoren Werke Aktiengesellschaft Aktualisieren von in einem speicher gespeicherten initialen kartendaten
CN113393516B (zh) * 2021-06-17 2022-05-24 贝壳找房(北京)科技有限公司 用于打散ar场景中的虚拟物体的方法和装置
CN113426112B (zh) * 2021-07-02 2023-07-14 腾讯科技(深圳)有限公司 游戏画面的显示方法和装置、存储介质及电子设备
CN114661839B (zh) * 2022-01-12 2024-02-27 中国人民解放军32200部队 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备
US20240033631A1 (en) * 2022-07-29 2024-02-01 Niantic, Inc. Maintaining object alignment in 3d map segments
CN115357741B (zh) * 2022-10-24 2023-01-03 湖南省第二测绘院 一种自然资源空间数据在线统计服务方法及系统
CN116310241B (zh) * 2023-03-31 2023-10-13 北京易智时代数字科技有限公司 虚拟角色的位置控制方法、装置、电子设备和存储介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61290477A (ja) * 1985-06-18 1986-12-20 三菱電機株式会社 情報記録担体再生装置
US4920504A (en) * 1985-09-17 1990-04-24 Nec Corporation Display managing arrangement with a display memory divided into a matrix of memory blocks, each serving as a unit for display management
JP2526294B2 (ja) * 1989-10-25 1996-08-21 富士通テン株式会社 地図の表示装置
JPH10103993A (ja) * 1996-10-01 1998-04-24 Sumitomo Electric Ind Ltd 地図データ送信システム
JP3768115B2 (ja) * 2001-04-27 2006-04-19 三洋電機株式会社 ナビゲーション装置
US9041744B2 (en) * 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US20070115288A1 (en) * 2005-11-22 2007-05-24 Microsoft Corporation Sprite interface and code-based functions
JP3139689U (ja) 2007-11-29 2008-02-28 陳瑞堯 マッサージウェア構造
CN101635705A (zh) * 2008-07-23 2010-01-27 上海赛我网络技术有限公司 基于三维虚拟地图和人物的交互方法及实现该方法的系统
US8441486B2 (en) * 2009-04-27 2013-05-14 Jagex Ltd. Position tracking in a virtual world
US8436872B2 (en) 2010-02-03 2013-05-07 Oculus Info Inc. System and method for creating and displaying map projections related to real-time images
CN101841910B (zh) * 2010-02-26 2012-08-22 中国联合网络通信集团有限公司 定位方法和系统、服务器
CN101820445B (zh) * 2010-03-25 2012-09-05 南昌航空大学 一种二维瓦片在基于对象存储系统中的分布方法
US20110239229A1 (en) * 2010-03-26 2011-09-29 Microsoft Corporation Predicative and persistent event streams
US8665266B2 (en) * 2010-06-23 2014-03-04 The United States Of America, As Represented By The Secretary Of The Navy Global visualization process terrain database builder
US8880589B2 (en) * 2010-12-29 2014-11-04 Environmental Systems Research Institute, Inc. Signature based map caching
JP5686611B2 (ja) * 2011-01-14 2015-03-18 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP2012165962A (ja) * 2011-02-16 2012-09-06 Docomo Technology Inc ゲームシステム、移動通信端末及びプログラム
JP5848512B2 (ja) * 2011-03-31 2016-01-27 株式会社ゼンリンデータコム ナビゲーション装置、端末装置及びサーバシステム及びプログラム
CN102819530A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 电子地图的显示方法及装置
CN103208225B (zh) * 2012-01-12 2015-10-28 中国科学院遥感应用研究所 一种瓦片地图制作方法及系统
US20130283318A1 (en) * 2012-04-23 2013-10-24 Comcast Cable Communications, LLC. Dynamic Mosaic for Creation of Video Rich User Interfaces
CN102750180A (zh) * 2012-05-28 2012-10-24 中国科学院遥感应用研究所 一种二维地图瓦片的多线程显示机制
US9453734B2 (en) * 2012-06-05 2016-09-27 Apple Inc. Smart loading of map tiles
US9298719B2 (en) * 2012-09-04 2016-03-29 International Business Machines Corporation On-demand caching in a WAN separated distributed file system or clustered file system cache
US9143897B2 (en) 2012-11-05 2015-09-22 Nokia Technologies Oy Method and apparatus for providing an application engine based on real-time commute activity
US9027067B2 (en) * 2013-03-12 2015-05-05 The United States Of America, As Represented By The Secretary Of The Navy System and method for interactive spatio-temporal streaming data
CN104142926A (zh) * 2013-05-06 2014-11-12 北京四维图新科技股份有限公司 一种电子地图的处理方法及装置
US9396508B2 (en) * 2013-05-15 2016-07-19 Google Inc. Use of map data difference tiles to iteratively provide map data to a client device
CN103984720B (zh) * 2014-05-13 2018-01-26 Tcl集团股份有限公司 基于OpenGL的瓦片地图创建方法及装置
CN104281709B (zh) * 2014-10-27 2018-09-14 杭州智诚惠通科技有限公司 交通信息瓦片地图的生成方法和系统
CN105989130B (zh) * 2015-02-16 2019-06-14 高德软件有限公司 电子地图展示方法、装置及电子设备
US10228893B2 (en) * 2015-10-28 2019-03-12 Paypal, Inc. Private virtual object handling
CN106021436B (zh) * 2016-05-16 2017-03-15 武汉大学 一种矢量瓦片地图的制作方法
CN106227864B (zh) * 2016-07-29 2018-08-14 医卫里网络(杭州)有限公司 虚拟地图式数据库以及知识虚拟地图
CN107016924B (zh) * 2016-12-20 2020-04-07 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置

Also Published As

Publication number Publication date
JP2020507101A (ja) 2020-03-05
WO2018113604A1 (zh) 2018-06-28
US10628975B2 (en) 2020-04-21
CN107016924A (zh) 2017-08-04
EP3561796A4 (en) 2019-10-30
TW201824186A (zh) 2018-07-01
TWI706375B (zh) 2020-10-01
KR102411358B1 (ko) 2022-06-20
EP3561796A1 (en) 2019-10-30
KR20190093667A (ko) 2019-08-09
US10896528B2 (en) 2021-01-19
US20200242818A1 (en) 2020-07-30
US20190251717A1 (en) 2019-08-15
SG10202104937WA (en) 2021-06-29
CN107016924B (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
JP6921199B2 (ja) 仮想マップにおけるタイルマップ生成方法および装置、ならびに仮想マップにおけるタイルマップ更新方法および装置
KR102360660B1 (ko) 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체
CN104471518B (zh) 用于三维交互的多点触摸手势识别的消歧
JP2020507101A5 (ja)
CN110717005B (zh) 一种热力图纹理的生成方法、装置及设备
US9684947B2 (en) Indicating availability of indoor content on a digital map
US20150228111A1 (en) Graphics processing unit
US20230042968A1 (en) High-definition map creation method and device, and electronic device
WO2017067416A1 (zh) 一种在纹理内存中存储图像的方法及装置
EP2589933B1 (en) Navigation device, method of predicting a visibility of a triangular face in an electronic map view
US20140267229A1 (en) System And Method For Classification Of Three-Dimensional Models In A Virtual Environment
CN111047682A (zh) 一种三维车道模型生成方法及系统
CN115014328A (zh) 一种栅格地图的动态加载方法、装置、设备和介质
CN103310409B (zh) 一种Tile-based渲染架构GPU的三角形快速分块方法
CN105824843A (zh) 一种地理信息系统地图渲染方法和装置
CN112462403A (zh) 一种定位方法、装置、存储介质及电子设备
JP2006268550A (ja) ナビゲーション装置
CN112184901B (zh) 一种深度图确定方法及装置
CN104075719A (zh) 一种三维导航方法和装置
CN116740197B (zh) 一种外参的标定方法、装置、存储介质及电子设备
CN114299241A (zh) 一种多面体绘制方法、装置、设备及介质
TW201828245A (zh) 在紋理記憶體中儲存圖像的方法及裝置
JP2014211822A (ja) 接触面検出システム、状態変化算出システム、内包判定システム、接触面検出方法およびプログラム
CN116242346A (zh) 一种基于模板匹配的栅格地图融合偏差补偿方法和系统
CN117765389A (zh) 基于足式机器人的地形感知模型的训练方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20210129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210204

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: 20210705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210727

R150 Certificate of patent or registration of utility model

Ref document number: 6921199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150