JP2023177310A - 3d(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステム - Google Patents

3d(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステム Download PDF

Info

Publication number
JP2023177310A
JP2023177310A JP2023088459A JP2023088459A JP2023177310A JP 2023177310 A JP2023177310 A JP 2023177310A JP 2023088459 A JP2023088459 A JP 2023088459A JP 2023088459 A JP2023088459 A JP 2023088459A JP 2023177310 A JP2023177310 A JP 2023177310A
Authority
JP
Japan
Prior art keywords
virtual
dimensional
user
given
character
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.)
Pending
Application number
JP2023088459A
Other languages
English (en)
Inventor
ロバート ハリー ブラック,
Harry Black Robert
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.)
TMRW Foundation IP SARL
Original Assignee
TMRW Foundation IP SARL
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 TMRW Foundation IP SARL filed Critical TMRW Foundation IP SARL
Publication of JP2023177310A publication Critical patent/JP2023177310A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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
    • A63F13/655Generating 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 by importing photos, e.g. of the player
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/157Conference systems defining a virtual conference space and using avatars or agents
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】3D(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステムを提供する。【解決手段】方法は、複数人のユーザに対応する複数の仮想キャラクタであり、3D(3次元)仮想環境において互いにコミュニケーションする、複数の仮想キャラクタと、複数の仮想キャラクタに対応する複数の仮想カメラと、を含む。さらに、所与の仮想カメラが対応する仮想キャラクタの移動に応じて移動可能である。さらに、3D(3次元)仮想環境における少なくとも1つの仮想エリアに向かって移動するように複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を3D(3次元)仮想環境に提供する。さらに、少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供する。さらに、複数の仮想カメラを用いて複数のビデオストリームを取り込むとともに、複数のビデオストリームを複数のユーザデバイスに送って表示する。【選択図】図1A

Description

[0001]本開示は、一般的には仮想環境の分野に関し、より詳細には、3D(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステムに関する。
背景
[0002]革新的な技術の急速な進歩により、生活のあらゆる側面が根本的に変化している。近年、3D(3次元)技術の進展により、例えば3D(3次元)仮想環境が普及している。
[0003]3D(3次元)仮想環境は、仮想的な接続のほか、一度に多くのユーザとコミュニケーションする新たな方法を提供する。さらに、3D(3次元)仮想環境は、教育目的、組織会合、テレビ会議のほか、伝統的な学習及び遠隔学習にも使用可能である。3D(3次元)仮想環境は、会議室、教室、博物館等の物理的な場所に似ている。また、3D(3次元)仮想環境は、ビデオゲームのプレイ又は仮想イベント、例えば、仮想イベントに参加する各ユーザの場所に関わらず、互いのコミュニケーションにユーザが使用するテレビ会議、にも用いられる。ビデオゲーム又は仮想イベントに用いられるような従来の3D(3次元)仮想環境は、大規模に実装されるため、ユーザは、3D(3次元)仮想環境内での総合的体験の提供に必要となり得る特定の詳細を容易に見逃してしまう。いくつかのシナリオにおいては、プログラマにより規定された体験をユーザに提供し得るカットシーンが存在する可能性はあるものの、これらのカットシーンは通例、ユーザが有し得る相互作用の妨げ又は制限となる。ビデオゲームの場合のカットシーン(又は、イベントシーン)は、インタラクティブではなく、ゲームのプレイを中断するシーケンスとして規定され得る。通常、カットシーンは、キャラクタ間の会話の表示、雰囲気の設定、新たなモデル及びゲームプレイ要素の導入、感情的なつながりの生成等に用いられる。このため、従来の3D(3次元)仮想環境におけるユーザ体験の向上方法に関して、技術的な課題が存在する。
[0004]したがって、上記議論に照らして、従来の3D(3次元)仮想環境と関連付けられた前述の欠点を克服することが求められている。
概要
[0005]本開示は、3D(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステムを提供する。本開示は、従来の3D(3次元)仮想環境におけるユーザ体験の向上方法に関する既存の課題に対する解決手段を提供する。本開示の目的は、従来技術において生じる課題を少なくとも部分的に克服する解決手段を提供するとともに、3D(3次元)仮想環境においてナビゲーション支援を提供する改良された方法及びシステムを提供することである。
[0006]本開示の1つ又は複数の目的は、添付の独立請求項において提供される解決手段により達成される。従属請求項には、本開示の有利な実施態様がさらに規定されている。
[0007]一態様において、本開示は、3D(3次元)仮想環境においてナビゲーション支援を提供する方法を提供する。この方法は、複数人のユーザと関連付けられた複数のユーザデバイスを用いて3D(3次元)仮想環境にアクセスするステップであり、3D(3次元)仮想環境が、複数人のユーザに対応する複数の仮想キャラクタを備え、複数の仮想キャラクタは、異なる仮想位置に配置され、異なる仮想位置は、複数の仮想キャラクタが3D(3次元)仮想環境のナビゲーションするとき動的に変化し、複数の仮想キャラクタは、3D(3次元)仮想環境において互いにコミュニケーションする、ステップを含む。3D(3次元)仮想環境は、複数の仮想キャラクタに対応する複数の仮想カメラであり、所与の仮想カメラが対応する仮想キャラクタから所与の距離に配置され、所与の向きから3D(3次元)仮想環境を視認しており、所与の仮想カメラは対応する仮想キャラクタの移動に応じて移動可能である、複数の仮想カメラをさらに備える。この方法は、3D(3次元)仮想環境における少なくとも1つの仮想エリアに向かって移動するように複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を3D(3次元)仮想環境に提供するステップをさらに含み、少なくとも1つの予め規定されたナビゲーション経路は、少なくとも1つの仮想エリアで複数の副経路に分割される。この方法は、複数の仮想キャラクタのうちの少なくとも1つが少なくとも1つの仮想エリア又はその近くに存在する場合に、少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供するステップをさらに含む。この方法は、複数の仮想カメラを用いて複数のビデオストリームを取り込むステップであり、所与のビデオストリームが所与の仮想キャラクタと関連付けられた所与の仮想カメラの視点から取り込まれ、所与のビデオストリームが、所与の仮想キャラクタが存在する3D(3次元)仮想環境の少なくとも領域を表す、ステップと、複数のビデオストリームを複数のユーザデバイスに送って表示するステップと、をさらに含む。
[0008]開示の方法は、3D(3次元)仮想環境におけるユーザ体験を向上させる。この方法は、複数人のユーザそれぞれが3D(3次元)仮想環境に提供された特定の詳細を見逃さないように3D(3次元)仮想環境にアクセスするための改良されたナビゲーション支援を提供する。この方法に開示の予め規定されたナビゲーション経路は、3D(3次元)仮想環境の少なくとも1つの仮想エリアを指し示す。さらに、予め規定されたナビゲーション経路は、複数の副経路への分割によって、異なる方向から少なくとも1つの仮想エリアを探索する複数人のユーザを支援する。さらに、複数の仮想キャラクタの異なる仮想位置による形の異なるジオメトリの構成によって、ビデオゲーム又は3D(3次元)テレビ会議のプラットフォームで通例は利用できないインタラクティブで映画のような体験及びカットシーンが提供される。
[0009]前述の実施態様のすべての形態を組み合わせることも可能であることが理解される。
[0010]本願に記載のすべてのデバイス、要素、回路、ユニット、及び手段は、ソフトウェア若しくはハードウェア要素、又はこれらの任意の種類の組み合わせにて実装することも可能であることに留意する必要がある。本願に記載の様々なエンティティにより実行されるすべてのステップのほか、様々なエンティティにより実行されるものと記載されている機能は、各エンティティが各ステップ及び機能を実行するように適応又は構成されていることを意味する意図がある。以下の特定の実施形態の説明において、外部エンティティにより実行される特定の機能又はステップが当該特定のステップ又は機能を実行する当該エンティティの特定の詳細な要素の説明に反映されていなくても、当業者には、これらの方法及び機能が各ソフトウェア若しくはハードウェア要素、又はこれらの任意の種類の組み合わせにて実装され得ることが明らかなはずである。本開示の特徴は、添付の特許請求の範囲により規定されるような本開示の範囲から逸脱することなく、様々な組み合わせで組み合わせされやすいことが明らかであろう。
[0011]本開示の付加的な態様、利点、特徴、及び目的については、図面及び以下の添付の特許請求の範囲と併せて解釈される例示的な実施態様の詳細な説明から明らかとなるであろう。
[0012]上記概要のほか、例示的な実施形態に関する以下の詳細な説明は、添付の図面と併せて読んだ場合により良く理解される。本開示の説明を目的として、図面には、本開示の例示的な構成を示している。ただし、本開示は、本明細書に開示の特定の方法及び手段に限定されない。さらに、当業者であれば、図面が縮尺通りではないことが理解されよう。可能な限り、同じ要素は同一の数字で示している。
[0013]以下の図面を参照して本開示の実施形態を説明するが、これらはほんの一例に過ぎない。
図1A~図1Eは、全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。 図1A~図1Eは、全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。 図1A~図1Eは、全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。 図1A~図1Eは、全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。 図1A~図1Eは、全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。 図2は、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供するシステムを示した図である。 図3Aは、本開示の一実施形態に係る、3D(3次元)仮想環境の実装シナリオを示した図である。 図3Bは、本開示の一実施形態に係る、3D(3次元)仮想環境における予め定められたナビゲーション経路の実装シナリオを示した図である。
実施形態の詳細な説明
[0014]添付の図面において、下線付きの数字は、当該下線付きの数字が配置されている項目又は当該下線付きの数字が隣り合う項目を表すために採用している。下線のない数字は、当該下線のない数字を項目に結び付ける線により識別される項目に関連する。数字に下線がなく、関連する矢印を伴う場合、下線のない数字は矢印が指し示す一般項目の識別に用いられる。
[0015]以下の詳細な説明は、本開示の実施形態及びそれぞれを実現可能な方法を示す。本開示を実施するいくつかの形態を開示しているが、当業者であれば、本開示を実施又は実現するための他の実施形態も可能であることが認識されよう。
[0016]図1A~図1Eは全体として、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供する方法のフローチャートである。図1A~図1Eを参照して、これらの図は、ステップ102、104、106、108、110、112、114、116、118、120、122、124、126、128、130、132、134A、134B、134C、136、138A、138B、138C、140、及び142を含む方法100のフローチャートを示している。ステップ102は、サブステップ102A及び102Bを含む。102A及び102Bを含むステップ102、104、並びに106を図1Aに示し、ステップ108、110、112、114、及び116を図1Bに示し、ステップ118、120、122、124、及び126を図1Cに示し、ステップ128、130、132、134A、134B、及び134Cを図1Dに示し、ステップ136、138A、138B、138C、及び140を図1Eに示している。
[0017]3D(3次元)仮想環境におけるナビゲーション支援のための方法100が提供される。方法100は、ユーザが3D(3次元)仮想環境の各仮想エリアを探索するのに役立つ各関心点を示すナビゲーションによって、3D(3次元)仮想環境における全体的ビューを提供する。方法100においては、複数の仮想キャラクタを対応する複数人のユーザが制御することにより、予め規定されたナビゲーション経路を通って3D(3次元)仮想環境を探索する。予め規定されたナビゲーション経路は、複数人のユーザが複数の仮想キャラクタを少なくとも1つの仮想エリアへと移動させるように方向を与える。
[0018]図1Aを参照すると、ステップ102において、方法100は、複数人のユーザと関連付けられた複数のユーザデバイスを用いて3D(3次元)仮想環境にアクセスすることを含む。複数人のユーザはそれぞれ、複数のユーザデバイスのうちの1つを用いて3D(3次元)仮想環境にアクセスするように構成されている。複数のユーザデバイスの例としては、スマートフォン、ラップトップ、デスクトップ、タブレット等が挙げられるが、これらに限定されない。
[0019]ステップ102のサブステップ102Aにおいて、3D(3次元)仮想環境は、複数人のユーザに対応する複数の仮想キャラクタを含む。複数の仮想キャラクタは、異なる仮想位置に配置され、異なる仮想位置は、複数の仮想キャラクタが3D(3次元)仮想環境のナビゲーションするとき動的に変化し、複数の仮想キャラクタは、3D(3次元)仮想環境において互いにコミュニケーションする。一般的に、3D(3次元)仮想環境は、複数人のユーザが複数の仮想キャラクタ(例えば、アバター)を通じて互いにコミュニケーション及び相互作用し得るコンピュータシミュレーション電子的3D(3次元)仮想環境として規定される。通常、仮想キャラクタは、ユーザを表す電子的イメージ又はユーザにより操作可能な電子的イメージとして規定され得る。或いは、複数の仮想キャラクタは、複数人のユーザのグラフィック表現として規定され得る。さらに、複数人のユーザは、3D(3次元)仮想環境において複数の仮想キャラクタを移動させることにより、3D(3次元)仮想環境を探索することができる。複数人のユーザが3D(3次元)仮想環境において複数の仮想キャラクタを自由に移動させるため、複数の仮想キャラクタそれぞれの位置は、動的に変化する。一実施態様において、複数人のユーザそれぞれの仮想キャラクタは、ヘッドトラッキングデバイスにより制御されてもよい。別の実施態様において、複数人のユーザそれぞれの仮想キャラクタは、マウスの移動により制御されてもよい。さらに別の実施態様において、複数人のユーザそれぞれの仮想キャラクタは、1つ又は複数のキーボードのキーにより制御されてもよい。さらに、複数人のユーザは、ユーザが複数の仮想キャラクタのうちの他のキャラクタとのコミュニケーションを望む特定の仮想キャラクタをクリックすることにより、3D(3次元)仮想環境において互いにコミュニケーションする。一実施態様において、複数の仮想キャラクタは、オーディオを共有することによりコミュニケーションする。別の実施態様において、複数の仮想キャラクタは、ビデオを共有することによりコミュニケーションする。3D(3次元)仮想環境にアクセスすることにより、複数人のユーザは、単一のプラットフォームで互いにコミュニケーションして3D(3次元)仮想環境全体を動的に探索できるため有益である。
[0020]ステップ102のサブステップ102Bにおいて、3D(3次元)仮想環境は、複数の仮想キャラクタに対応する複数の仮想カメラであり、所与の仮想カメラが対応する仮想キャラクタから所与の距離に配置され、所与の向きから3D(3次元)仮想環境を視認する、複数の仮想カメラをさらに含む。さらに、所与の仮想カメラが対応する仮想キャラクタの移動に応じて移動可能である。さらに、複数の仮想キャラクタに対応する複数の仮想カメラは、対応する仮想キャラクタが移動する方向に向かって、3D(3次元)仮想環境の異なるビューを取り込む。一実施態様において、所与の仮想カメラは、対応する仮想キャラクタから所与の距離に配置されている。所与の距離は、固定されてもよいし、対応する仮想キャラクタと関連付けられたユーザにより設定されてもよい。さらに、所与の仮想カメラは、固定されてもよいし、対応する仮想キャラクタと関連付けられたユーザにより変更されてもよい所与の向きから3D(3次元)仮想環境の異なるビューを取り込む。例えば、第1のユーザが第1の仮想キャラクタ及び第1の仮想キャラクタに対応する第1の仮想カメラを制御した後、第1の仮想キャラクタが視認する特定の仮想エリアを第1の仮想カメラが取り込む。さらに、第1の仮想カメラにより取り込まれたビューを第1のユーザが視認する。
[0021]ステップ104においては、任意所与の時間に、複数の仮想キャラクタの異なる仮想位置があるジオメトリを構成し、このジオメトリが、円ジオメトリ、長円ジオメトリ、多角ジオメトリ、直線ジオメトリ、弓ジオメトリ、曲線ジオメトリ、又は自由形状ジオメトリのうちの1つである。複数の仮想キャラクタにより形成されるジオメトリは、テーブル、1つ又は複数のソファ、焚き火、講堂又は教室の座席等のような、仮想環境の仮想構造物の周りに配置されてもよい。一実施態様において、複数の仮想キャラクタの異なる仮想位置は、複数人のユーザそれぞれが1つの視界で互いを見ることができる3D(3次元)仮想環境の現実的なビューを提供する。別の実施態様において、複数の仮想キャラクタの異なる仮想位置は、複数人のユーザに対応する複数の仮想キャラクタが円ジオメトリ、長円ジオメトリ、多角ジオメトリ、直線ジオメトリ、弓ジオメトリ、曲線ジオメトリ、自由形状ジオメトリ等のうちの1つを構成する1つの場所に存在することから、各ユーザが別のユーザを探す必要がないため、互いにコミュニケーションする手間の掛からない方法を提供する。
[0022]ステップ106において、方法100は、対応する仮想キャラクタの高さの上方に配置される所与の仮想カメラを含む。一実施態様において、所与の仮想カメラは、複数人のユーザのうちの当該ユーザが3D(3次元)仮想環境におけるシーン並びに対応する仮想キャラクタの頭部及び胴体を視認できるように、対応する仮想キャラクタの高さの上方のほか、対応する仮想キャラクタの背後に配置される。さらに、対応する仮想キャラクタの頭部及び胴体のビューによれば、ユーザは、対応する仮想キャラクタの移動を分析することができる。別の実施態様において、所与の仮想カメラは、対応する仮想キャラクタと関連付けられたユーザが対応する仮想キャラクタの視線ビューを受けるように、対応する仮想キャラクタの高さの上方のほか、対応する仮想キャラクタの前方に配置される。
[0023]ここで図1Bを参照すると、ステップ108において、方法100は、複数のユーザデバイスのうちの少なくとも1つのユーザデバイスを用いて所与の仮想カメラを制御することを含む。例えば、第1のユーザが第1のユーザデバイスを用いて第1の仮想キャラクタを制御する場合は、第1の仮想キャラクタが対象とする3D(3次元)仮想環境の少なくとも1つの仮想エリアが第1のユーザにより視認される。その理由は、第1の仮想キャラクタが視認する少なくとも1つの仮想エリアに関して、第1の仮想キャラクタに対応する第1の仮想カメラがビューを取り込むためである。
[0024]ステップ110において、方法100は、3D(3次元)仮想環境における少なくとも1つの仮想エリアに向かって移動するように複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を3D(3次元)仮想環境に提供することを含む。さらに、少なくとも1つの予め規定されたナビゲーション経路は、共通の開始点を含む。さらに、少なくとも1つの予め規定されたナビゲーション経路によれば、複数人のユーザは、それぞれの対応する複数の仮想キャラクタを3D(3次元)仮想環境における1つ又は複数の仮想エリアに移動させることができる。さらに、少なくとも1つの予め規定されたナビゲーション経路は、複数人のユーザが3D(3次元)仮想環境に提供された特定の詳細を見逃さないように、3D(3次元)仮想環境の異なる仮想エリアの探索において複数人のユーザをガイドする。
[0025]ステップ112において、方法100は、対応する仮想キャラクタが少なくとも1つの予め規定されたナビゲーション経路に沿って移動する少なくとも1つの仮想カメラの位置の視覚的表示を提供することを含む。例えば、複数人のユーザのうちの第1のユーザ及び第2のユーザが第1の仮想キャラクタ及び第2の仮想キャラクタを通して3D(3次元)仮想環境を探索する場合、第1のユーザは、第2の仮想キャラクタに配置された仮想カメラの位置(例えば、高さ)を見込むことができる。第2の仮想キャラクタに配置された仮想カメラは、複数人のユーザのうちの第1のユーザが視覚的表示によって視認する。視覚的表示の例としては、ドット、オーブ、仮想物体、ハロー、仮想フォグ等が挙げられるが、これらに限定されない。
[0026]ステップ114においては、少なくとも1つの予め規定されたナビゲーション経路が少なくとも1つの仮想エリアで複数の副経路に分割され、少なくとも1つの予め規定されたナビゲーション経路が一連のセグメントを含む3D(3次元)スプラインであり、所与のセグメントが線形セグメント、湾曲セグメントの一方である。少なくとも1つの予め規定されたナビゲーション経路は、複数人のユーザによる異なる方向からの1つ又は複数の仮想エリアの全体的ビューの体験を可能にする複数の副経路への分割等、3D(3次元)仮想環境に応じて変化する。さらに、複数の副経路は、異なるパターンを有してもよい。一例において、3D(3次元)仮想環境の実装シナリオによっては、予め規定されたナビゲーション経路の数が1つ又は複数であってもよい。一実施態様において、少なくとも1つの予め規定されたナビゲーション経路は、3D(3次元)スプラインであってもよく、3D(3次元)スプラインは一連のセグメントを含み、所与のセグメントが線形セグメント及び湾曲セグメントの一方である。湾曲セグメントの例としては、ベジエセグメント、エルミートセグメント等が挙げられるが、これらに限定されない。
[0027]ステップ116において、複数の副経路は、螺旋パターン、線形パターン、又は自由形状パターンのうちの少なくとも1つの形態である。一実施態様において、螺旋パターンは、360°ビューを複数人のユーザに与える少なくとも1つの予め規定されたナビゲーション経路の副経路により得られる。別の実施態様において、線形パターンは、直線ビューを複数人のユーザに与える少なくとも1つの予め規定されたナビゲーション経路の副経路により得られる。さらに別の実施態様において、自由形状パターンは、複数人のユーザによる特定の仮想エリアの自由な移動を可能にする少なくとも1つの予め規定されたナビゲーション経路の副経路により得られる。
[0028]ここで図1Cを参照すると、ステップ118において、方法100は、複数の仮想キャラクタのうちの少なくとも1つが少なくとも1つの仮想エリア又はその近くに存在する場合に、少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供することを含む。例えば、ある場合には、3D(3次元)仮想環境における少なくとも1つの仮想エリアに向かって、複数の仮想キャラクタのうちの3つの仮想キャラクタが少なくとも1つの予め規定されたナビゲーション経路を移動している。3つの仮想キャラクタのうちの1つでも少なくとも1つの仮想エリアに接近又は少なくとも1つの仮想エリアに到達したら直ちに、シーン詳細の表示を提供することにより、少なくとも1つの仮想エリアに向かって移動する仮想キャラクタの視認体験を向上させる。このため、少なくとも1つの仮想エリアに接近又は到達した仮想キャラクタにシーン詳細の表示が提供されるか、又は、複数の仮想キャラクタに提供することも可能である。一実施態様において、少なくとも1つの仮想エリアにおけるシーン詳細の表示は、少なくとも1つの仮想エリアのうちの特定の仮想エリアを点滅させることにより提供されてもよい。別の実施態様において、少なくとも1つの仮想エリアにおけるシーン詳細の表示は、少なくとも1つの仮想エリアのうちの特定の仮想エリアを強調することにより提供されてもよい。さらに別の実施態様において、少なくとも1つの仮想エリアにおけるシーン詳細の表示は、複数の仮想キャラクタのうちのいずれかの仮想キャラクタが少なくとも1つの仮想エリアに近づいた場合に、少なくとも1つの仮想エリアのうちの特定の仮想エリアにおいてオーディオ又はビデオを再生することにより提供されてもよい。少なくとも1つの仮想エリアにおけるシーン詳細の表示は、複数人のユーザのうちの各ユーザの注意喚起の補助となる。一実施態様において、複数人のユーザは、少なくとも1つの仮想エリアのうちの特定のエリアでクリックすることにより、少なくとも1つの仮想エリア内で相互作用する。別の実施態様において、複数人のユーザは、少なくとも1つの仮想エリアのうちの特定のエリアに入ることにより、少なくとも1つの仮想エリア内で相互作用する。一例において、複数人のユーザは、少なくとも1つの仮想エリアのうちの特定のエリアにおいて音声コマンドを送ることにより、少なくとも1つの仮想エリア内で相互作用する。別の例において、複数人のユーザは、少なくとも1つの仮想エリアのうちの特定のエリアにおいてジェスチャコマンドを与えることにより、少なくとも1つの仮想エリア内で相互作用する。
[0029]ステップ120において、シーン詳細の表示は、視覚的表示、聴覚的表示、触覚的表示のうちの少なくとも1つの形態である。一例において、複数人のユーザのうちの第1のユーザが少なくとも1つの仮想エリアに近づいた場合は、第1のユーザへの視覚的表示の提供によって、第1のユーザの注意を少なくとも1つの仮想エリアに向けさせる。視覚的表示の例としては、ビデオの再生、画像交換フォーマット(GIF)イメージの再生、アニメーションビデオの再生等が挙げられるが、これらに限定されない。別の例において、複数人のユーザのうちの第1のユーザが少なくとも1つの仮想エリアに近づいた場合は、聴覚的表示の再生によって、第1のユーザの注意を少なくとも1つの仮想エリアに向けさせる。聴覚的表示の例としては、着信音の再生、音声レコードの再生等が挙げられるが、これらに限定されない。さらに別の例において、複数人のユーザのうちの第1のユーザが少なくとも1つの仮想エリアに近づいた場合は、第1のユーザへの触覚的表示の提供によって、第1のユーザを少なくとも1つの仮想エリアと相互作用させる。触覚的表示の例としては、少なくとも1つの仮想エリアにおけるクリック又は移動が挙げられるが、これらに限定されない。
[0030]ステップ122において、方法100は、複数の仮想キャラクタのうちの所与のキャラクタと関連付けられたデータを3D(3次元)仮想環境の所与のエリアに発行(publish、パブリッシュ)することと、ユーザが3D(3次元)環境の所与のエリアに参加申込(subscribe、サブスクライブ)した少なくとも1つのユーザデバイスにデータをブロードキャストすることと、を含む。データのパブリッシュ及びブロードキャストは、3D(3次元)仮想環境における複数人のユーザ間のコミュニケーションモデルとして用いられる。複数の仮想キャラクタのうちの所与のキャラクタと関連付けられたデータ(例えば、位置、オーディオ、ビデオ等)は、3D(3次元)仮想環境の所与のエリア(又は、特定のエリア)にパブリッシュされる。そして、パブリッシュデータの視聴を望むユーザは、3D(3次元)仮想環境の所与のエリアにサブスクライブする。これにより、ユーザが3D(3次元)仮想環境の所与のエリアにサブスクライブしたユーザデバイスにデータがブロードキャストされる。例えば、第1のユーザは、対応する第1のユーザデバイスにより、3D(3次元)仮想環境の第1の仮想エリアにおいてデータ(すなわち、位置、オーディオ、ビデオ等)をパブリッシュする。さらに、パブリッシュデータは、第1の仮想エリアのみに制限される。一実施態様において、第2のユーザは、第1の仮想エリアにおいて第1のユーザによりパブリッシュされたデータへのアクセスを要求する場合、3D(3次元)仮想環境の第1の仮想エリアにサブスクライブすることを求める。第1の仮想エリアの参加申込(subscription、サブスクリプション)後は、第2のユーザが操作する第2のユーザデバイスにパブリッシュデータがブロードキャストされる。別の実施態様において、第2のユーザは、第1の仮想エリアにおいて第1のユーザによりパブリッシュされたデータへのアクセスを要求する場合、対応する第2の仮想キャラクタを第1の仮想エリアに移動させて第1のユーザのパブリッシュデータにアクセスすることを求める。データがパブリッシュされた仮想エリアにサブスクライブすることによって、複数人のユーザが互いのパブリッシュデータを受信するため有益である。
[0031]一実施態様において、所与の仮想キャラクタと関連付けられたデータはパブリッシュ/サブスクライブモジュールによってパブリッシュされるが、これは、3D(3次元)仮想環境の所与のエリアにサブスクライブしたユーザによりさらに使用される。パブリッシュ/サブスクライブモジュールをプロセッサが使用することにより、複数のユーザデバイスのうち、3D(3次元)仮想環境の所与のエリアにサブスクライブしなかった他のユーザデバイスに対するデータのアクセスを制限する。一例においては、パブリッシュ/サブスクライブモジュールがコミュニケーションモデルとして使用される。この場合は、第1のユーザ等のユーザのデータ(例えば、位置、オーディオ、及びビデオ)が3D(3次元)仮想環境の特定の仮想エリアにパブリッシュされ、その視聴を望む別のユーザが3D(3次元)仮想環境の特定の仮想エリアにサブスクライブする。パブリッシュ/サブスクライブモジュールは、パブリッシュ/サブスクライブモデルを通したコミュニケーションを匿名化し得るコンテンツの生成及び消費に基づくコミュニケーションのモデルに対応しており、これは、サーバ及び/又は複数のユーザデバイスのそれぞれが仮想環境のリソースを得るのにサブスクリプションを把握する必要がないことを意味する。通常、パブリッシュ/サブスクライブモジュールは、各参加者が情報をパブリッシュ及び受信し得る情報交換を可能にして、典型的なクライアント/サーバモデルよりも高い柔軟性を実現する。本開示のパブリッシュ/サブスクライブモジュールは、ユーザデバイスがサブスクライブし得る高リソース需要セル等、リソースを最も必要とする複数のユーザデバイスそれぞれへのより多くのリソースの動的な集中を可能にする。また、パブリッシュされるリソースの数が増えると、3D(3次元)仮想環境の量及び3D(3次元)仮想環境の一部において各ユーザが視認可能な相互作用のレベルが増大する。
[0032]ステップ124において、データは、所与のキャラクタと関連付けられた位置、向き、オーディオ、ビデオのうちの少なくとも1つを含む。所与のキャラクタと関連付けられたデータには、複数の仮想キャラクタに対してパブリッシュされ、3D(3次元)仮想環境の所与のエリアにサブスクライブしたユーザにブロードキャストされる位置、向き、オーディオ、及びビデオのうちの1つを含む。
[0033]ステップ126において、方法100は、複数の仮想キャラクタのいずれかが少なくとも1つの予め規定されたナビゲーション経路を通って少なくとも1つの仮想エリアに入った場合に、少なくとも1つの動作をトリガすることを含み、少なくとも1つの予め規定されたナビゲーション経路は、複数の仮想キャラクタのいずれかが存在する場合に少なくとも1つの動作がトリガされる少なくとも1つのトリガ点を含む。ある場合に、複数の仮想キャラクタのうちの1つが少なくとも1つの予め規定されたナビゲーション経路を通って少なくとも1つの仮想エリアに入ると、少なくとも1つの動作がトリガされる。その理由は、複数の仮想キャラクタのうちの1つが少なくとも1つのトリガ点に存在する場合にトリガされる少なくとも1つのトリガ点を少なくとも1つの予め規定されたナビゲーション経路が含むためである。
[0034]ここで図1Dを参照すると、ステップ128において、少なくとも1つの動作は、ビデオの送信、オーディオの再生、少なくとも1つの予め規定されたナビゲーション経路に配置された物体の始動のうちの少なくとも1つを含む。複数の仮想キャラクタのうちの1つが少なくとも1つの予め規定されたナビゲーション経路を通って少なくとも1つの仮想エリアに入った場合にトリガされる少なくとも1つの動作は、ビデオの送信、オーディオの再生、少なくとも1つの予め規定されたナビゲーション経路に配置された物体の始動のうちの1つを含む。
[0035]ステップ130において、方法100は、複数の仮想カメラを用いて複数のビデオストリームを取り込むことであり、所与のビデオストリームが所与の仮想キャラクタと関連付けられた所与の仮想カメラの視点から取り込まれ、所与のビデオストリームが、所与の仮想キャラクタが存在する3D(3次元)仮想環境の少なくとも領域を表す、ことを含む。例えば、ある場合には、第1のユーザが第1の仮想キャラクタを制御し、第1の仮想カメラが第1の仮想キャラクタと関連付けられ、第1の仮想カメラにより取り込まれたビデオストリームは、第1の仮想キャラクタが存在する3D(3次元)仮想環境の少なくとも領域を表す。同様に、複数の仮想カメラは、対応する複数の仮想キャラクタが存在する3D(3次元)仮想環境の1つ又は複数の領域を取り込む。
[0036]ステップ132において、所与のビデオストリームは、所与の仮想キャラクタの一部も表す。例えば、第1のユーザが3D(3次元)仮想環境において第1の仮想キャラクタを制御している場合は、3D(3次元)仮想環境を探索する間に第1の仮想キャラクタの一部(例えば、頭部及び胴体)を第1のユーザが視認可能である。所与の仮想キャラクタの一部を表すことによって所与の仮想キャラクタの移動及びジェスチャを追跡可能となるため有益である。例えば、ある場合に、所与の仮想カメラが仮想キャラクタの頭部の上方に配置されている場合は、所与のビデオストリームが仮想キャラクタの頭部の上部及び後部並びに胴体の後部を表す。このような場合、仮想キャラクタの足は、所与の仮想カメラの視点に存在しない可能性がある。
[0037]ステップ134Aにおいて、方法100は、ユーザデバイスにおいて、複数のユーザデバイスのうちの少なくとも2つの他のユーザデバイスから少なくとも2つのビデオストリームを受信することを含む。例えば、ある場合に、複数人のユーザのうちの第1のユーザ、第2のユーザ、及び第3のユーザ等の3人のユーザが3D(3次元)仮想環境を使用しており、第1のユーザ及び第2のユーザが少なくとも1つの仮想エリアを探索している場合は、第1ユーザ及び第2のユーザが探索している少なくとも1つの仮想エリアのビデオストリームが第3のユーザにブロードキャストされる。
[0038]ステップ134Bにおいて、方法100は、ユーザデバイスのユーザに対応する仮想キャラクタの仮想位置及び仮想キャラクタに対応する仮想カメラの視認方向に対する少なくとも2つのビデオストリームに対応する複数の仮想キャラクタの相対的な仮想位置に基づいて、少なくとも2つのビデオストリームを主ストリーム及び少なくとも1つの補助ストリームとして再編することであり、複数の仮想キャラクタが、少なくとも2つの他のユーザデバイスの少なくとも2人のユーザに対応する、ステップを含む。複数人のユーザのうちの第1のユーザ、第2のユーザ、及び第3のユーザ等の3人のユーザが3D(3次元)仮想環境を使用する前述の場合、第1のユーザは、特定のエリアに近づいた後に3D(3次元)仮想環境の少なくとも1つの仮想エリアを探索し、第2のユーザは、特定のエリアに近づくことなく、3D(3次元)仮想環境の少なくとも1つの仮想エリアを探索する。さらに、第1のユーザに対応する第1の仮想キャラクタの第1の仮想カメラにより取り込まれたビデオストリームが主ストリームと考えられる。同様に、第2のユーザに対応する第2の仮想キャラクタの第2の仮想カメラにより取り込まれたビデオストリームが補助ストリームと考えられる。この場合、第3のユーザは、第1のユーザからのビデオストリームを主ストリームとして、第2のユーザからのビデオストリームを補助ストリームとして受信する。したがって、取り込まれたビデオストリームは、対応する仮想キャラクタ(例えば、第1の仮想キャラクタ及び第2の仮想キャラクタ)の位置及び向き(例えば、第1の仮想カメラ及び第2の仮想カメラの向き)に基づいて、主ストリーム及び少なくとも1つの補助ストリームとして再編される。受信した2つのビデオストリームを主ストリーム及び補助ストリームとして再編することにより、複数人のユーザのうち、2つのビデオストリームを受信するユーザ(例えば、第3のユーザ)の視認体験が向上するため有益である。
[0039]ステップ134Cにおいて、方法100は、ユーザデバイスにおいて、主ストリーム及び少なくとも1つの補助ストリームを変動するビデオ品質で提供して表示することであり、主ストリームのビデオ品質が少なくとも1つの補助ストリームのビデオ品質よりも高い、ことを含む。例えば、第1の仮想キャラクタが少なくとも1つの仮想エリアの近くに配置されている場合、第1の仮想キャラクタに対応する第1の仮想カメラにより取り込まれるビデオストリーム(すなわち、主ストリーム)は、高品質且つ高ピクセルレートである。同様に、第2の仮想キャラクタが少なくとも1つの仮想エリアの近くの外側に配置されていない場合、第2の仮想キャラクタに対応する第2の仮想カメラにより取り込まれるビデオストリーム(すなわち、補助ストリーム)は、低品質且つ低ピクセルレートである。
[0040]ここで図1Eを参照すると、ステップ136において、方法100は、少なくとも2つのビデオストリームを再編するステップを含み、これは、ビデオストリームに対応する仮想キャラクタの仮想位置が、ユーザデバイスのユーザに対応する仮想キャラクタの仮想位置からの予め規定された閾値距離よりも長い距離に存在する場合、及び、ビデオストリームに対応する仮想キャラクタの位置が、仮想キャラクタに対応する仮想カメラの視認方向からの予め規定された閾値角度よりも大きな角度に存在する場合に、ビデオストリームを補助ストリームとして決定することを含む。一実施態様において、補助ストリームを決定するユーザに対応する仮想キャラクタの仮想位置からの予め規定された閾値距離は、0.5mよりも長い。別の実施態様において、補助ストリームを決定する仮想キャラクタに対応する仮想カメラの視認方向からの予め規定された閾値角度は、30°よりも大きい。ビデオストリームを主ストリーム又は補助ストリームのいずれとして決定するかは、複数の仮想キャラクタのうちの当該仮想キャラクタの位置並びに仮想キャラクタの仮想カメラの視認方向及び向きによって決まる。例えば、第1の仮想キャラクタが少なくとも1つの仮想エリアの予め規定された閾値距離の距離内に配置されている場合は、第1の仮想キャラクタに対応する第1の仮想カメラにより取り込まれるビデオストリームが主ストリームである。別の状況において、第1の仮想キャラクタが少なくとも1つの仮想エリアの予め規定された閾値距離よりも長い距離に配置されている場合は、第1の仮想キャラクタに対応する第1の仮想カメラにより取り込まれるビデオストリームが補助ストリームである。さらに、第1の仮想キャラクタの位置が第1の仮想キャラクタに対応する第1の仮想カメラの視認方向からの予め規定された閾値角度よりも大きな角度に存在すると、そのような場合に第1の仮想カメラにより取り込まれるビデオストリームが補助ストリームと考えられる。
[0041]ステップ138Aにおいて、方法100は、複数のユーザデバイスのカメラを用いて、複数人のユーザを表す複数のビデオフィードを取り込むことを含む。例えば、複数人のユーザのうちの第1のユーザ、第2のユーザ、及び第3のユーザがそれぞれの対応するユーザデバイスを通じて3D(3次元)仮想環境を使用している場合は、対応するユーザデバイスのカメラが各ユーザのビデオを取り込む。或いは、第1のユーザデバイスのカメラが第1のユーザのビデオを取り込み、第2のユーザデバイスのカメラが第2のユーザのビデオを取り込み、第3のユーザデバイスのカメラが第3のユーザのビデオを取り込む。
[0042]ステップ138Bにおいて、方法100は、対応するビデオフィードから、複数人のユーザの各ユーザの背景を除去することを含む。さらに、ユーザデバイスのカメラにより取り込まれたビデオの処理によって、取り込まれたビデオの背景を除去する。一実施態様において、取り込まれたビデオの背景は、プロセッサにより切り取られてもよい。別の実施態様において、取り込まれたビデオの背景は、プロセッサにより不鮮明化されてもよい。さらに別の実施態様において、取り込まれたビデオの背景は、プロセッサにより変更(例えば、色の変更、輝度の変更等)がなされてもよい。取り込まれたビデオの背景を除去することにより、対応するユーザの顔に焦点を当てることができるため有益である。
[0043]ステップ138Cにおいて、方法100は、背景がない複数人のユーザの各ユーザのビデオ切り抜きを3D(3次元)仮想環境の対応する仮想キャラクタとマージすることを含む。取り込まれたビデオの背景を除去した後は、ユーザの顔及び/又は胴体全体のみがビデオストリームに残り、仮想環境に挿入される。さらに、一実施態様において、ビデオストリームは、対応する仮想キャラクタの顔が対応するユーザの顔として表されるように、対応するユーザの仮想キャラクタに貼り付けられてもよい。このように、仮想キャラクタの外見は、ビデオ切り抜きが仮想環境に挿入されたユーザの外見となるため、ユーザが仮想環境に実際に存在して仮想的な存在感に寄与する印象を与える。
[0044]ステップ140において、方法100は、前記仮想キャラクタのユーザと関連付けられたユーザデバイスから複数のユーザデバイスのうちの少なくとも1つの他のユーザデバイスまで、少なくとも1つの予め規定されたナビゲーション経路に沿って対応する仮想キャラクタが移動する各仮想カメラの位置座標を示すメタデータをブロードキャストすることを含む。例えば、第1のユーザに対応する第1の仮想キャラクタのメタデータは、(例えば、ウェブソケットを介して)第2のユーザに対応する第2のユーザデバイスにブロードキャストされる。さらに、メタデータのブロードキャストにより、第2のユーザは、3D(3次元)仮想環境において第1のユーザの第1の仮想キャラクタを探索し、たどり着くことができる。メタデータを受信することにより、第2のユーザは、第1の仮想キャラクタの座標を追跡して、第2の仮想キャラクタが第1の仮想キャラクタにたどり着くように移動させる。
[0045]ステップ142において、方法100は、複数のビデオストリームを複数のユーザデバイスに送って表示することを含む。一実施態様において、複数の仮想カメラにより取り込まれた複数のビデオストリームは、複数人のユーザのうちの選択されたユーザ又は複数人のユーザそれぞれに送られてもよい。
[0046]方法100は、3D(3次元)仮想環境におけるユーザ体験を向上させる。方法100は、複数人のユーザそれぞれが3D(3次元)仮想環境に提供された特定の詳細を見逃さないように3D(3次元)仮想環境にアクセスするための改良されたナビゲーション支援を提供する。方法100に開示の予め規定されたナビゲーション経路は、3D(3次元)仮想環境の少なくとも1つの仮想エリアを指し示す。さらに、予め規定されたナビゲーション経路は、複数の副経路への分割によって、異なる方向から少なくとも1つの仮想エリアを探索する複数人のユーザを支援する。さらに、複数の仮想キャラクタの異なる仮想位置による異なる形状のジオメトリの構成によって、ビデオゲーム又は3D(3次元)テレビ会議のプラットフォームで通例は利用できないインタラクティブで映画のような体験及びカットシーンが提供される。
[0047]ステップ102~142は例示に過ぎず、本明細書の特許請求の範囲から逸脱することなく、1つ若しくは複数のステップの追加、1つ若しくは複数のステップの除去、又は1つ若しくは複数のステップの異なる順序での提供がなされる他の選択肢も提供可能である。
[0048]図2は、本開示の一実施形態に係る、3D(3次元)仮想環境においてナビゲーション支援を提供するシステムを示している。図2は、図1の要素と併せて記載している。図2を参照して、この図は、3D(3次元)仮想環境202においてナビゲーション支援を提供するシステム200を示している。さらに、システム200は、3D(3次元)仮想環境202にアクセスするサーバ204を具備する。サーバ204は、プロセッサ206及びメモリ208を具備する。さらに、第1のユーザデバイス210A及び第2のユーザデバイス210B等の複数のユーザデバイスを示すが、これらはそれぞれ、第1のユーザ212A及び第2のユーザ212B等の複数人のユーザにより操作される。さらに、第1の仮想キャラクタ214A及び第2の仮想キャラクタ214B等の複数の仮想キャラクタを示すが、これらの各仮想キャラクタは複数人のユーザのうちの1人と関連付けられており、例えばそれぞれ、第1の仮想キャラクタ214Aが第1のユーザ212Aと関連付けられ、第2の仮想キャラクタ214Bが第2のユーザ212Bと関連付けられている。第1の仮想キャラクタ214A及び第2の仮想キャラクタ214B等の複数の仮想キャラクタは、第1の仮想カメラ216A及び第2の仮想カメラ216B等の複数の仮想カメラを有する。システム200は、(図1A~図1Eの)方法100を実行するように構成されている。
[0049]3D(3次元)仮想環境202は、任意の好適な3D(3次元)モデリング技術及びコンピュータ支援設計(CAD)法により設計された仮想的な構成(例えば、仮想モデル)を表し、その探索及び対応する仮想キャラクタを通じたユーザ間のコミュニケーションを可能にする。このため、3D(3次元)仮想環境202は、仮想設定を有する仮想的会合プラットフォーム又はテレビ会議プラットフォームであってもよく、ユーザが歩き回ったり、互いの仮想キャラクタを見たり、互いにコミュニケーションを行ったりすることができる。3D(3次元)仮想環境202の例としては、3D(3次元)ジェットコースター、テーマパークの3D(3次元)お化け屋敷、テーマパーク、ビデオゲーム、3D(3次元)博物館、3D(3次元)都市、学校、工場、又は任意の会場等が挙げられるが、これらに限定されない。
[0050]サーバ204は、第1のユーザデバイス210A及び第2のユーザデバイス210B等の複数のユーザデバイスに対して通信可能に結合された好適なロジック、回路、インターフェース、及び/又はコードを含んでもよい。或いは、サーバ204は、それぞれ第1のユーザデバイス210A及び第2のユーザデバイス210B等の複数のユーザデバイスを用いて、第1のユーザ212A及び第2のユーザ212B等の複数人のユーザに3D(3次元)仮想環境202のアクセスを提供するように構成されている。サーバ204は、3D(3次元)仮想環境202において第1のユーザ212A及び第2のユーザ212B等の複数人のユーザが実行する動作のライブフィードを提供するようにさらに構成されてもよい。サーバ204の実装の例としては、ストレージサーバ、クラウドベースサーバ、ウェブサーバ、アプリケーションサーバ、又はこれらの組み合わせが挙げられるが、これらに限定されない。
[0051]プロセッサ206は、サーバ204のメモリ208に格納された命令を実行することにより、3D(3次元)仮想環境202において、第1のユーザ212A及び第2のユーザ212B等の複数人のユーザが提供するコマンドに従って、第1の仮想キャラクタ214A及び第2の仮想キャラクタ214B等の複数の仮想キャラクタを制御するように構成された好適なロジック、回路、インターフェース、又はコードを含んでもよい。プロセッサ206の例としては、プロセッサ、デジタル信号プロセッサ(DSP)、マイクロプロセッサ、マイクロコントローラ、複雑命令セットコンピュータ(CISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、縮小命令セット(RISC)プロセッサ、超長命令語(VLIW)プロセッサ、状態機械、データ処理ユニット、グラフィックス処理ユニット(GPU)、並びに他のプロセッサ若しくは制御回路が挙げられるが、これらに限定されない。
[0052]メモリ208は、3D(3次元)仮想環境202と関連するデータ(3D(3次元)仮想環境202の仮想エリア、複数の仮想キャラクタの位置、オーディオ、ビデオ等が挙げられるが、これらに限定されない)を格納するように構成された好適なロジック、回路、及び/又はインターフェースを含んでもよい。一実施態様において、メモリ208は、第1のユーザ212A及び第2のユーザ212B等の複数人のユーザにより実行可能なデータ及び命令を格納するように構成されてもよい。メモリ208の実装の例としては、電気的消去プログラム可能リードオンリーメモリ(EEPROM)、ダイナミックランダムアクセスメモリ(DRAM)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ(HDD)、フラッシュメモリ、セキュアデジタル(SD)カード、半導体ドライブ(SSD)、及び/又はCPUキャッシュメモリが挙げられるが、これらに限定されない。
[0053]第1のユーザデバイス210A及び第2のユーザデバイス210B等の複数のユーザデバイスはそれぞれ、サーバ204に対して通信可能に結合され、第1のユーザ212A及び第2のユーザ212B等の複数人のユーザそれぞれの3D(3次元)仮想環境202へのアクセスを可能にするように構成された好適なロジック、回路、インターフェース、及び/又はコードを含んでもよい。複数のユーザデバイスそれぞれの例としては、インターネット・オブ・シングス(IoT)デバイス、スマートフォン、マシンタイプ通信(MTC)デバイス、コンピュータ機器、IoTコントローラ、ドローン、無線電気通信用にカスタマイズされたハードウェア、送信機、又はその他任意の携帯型若しくは非携帯型電子機器が挙げられるが、これらに限定されない。
[0054]複数の仮想キャラクタはそれぞれ、複数人のユーザそれぞれによる制御によって、3D(3次元)仮想環境202を探索する。例えば、第1の仮想キャラクタ214Aが第1のユーザ212Aにより制御され、同様に、第2の仮想キャラクタ214Bが第2のユーザ212Bにより制御される。
[0055]第1の仮想カメラ216A及び第2の仮想カメラ216B等の複数のカメラはそれぞれ、第1の仮想キャラクタ214A及び第2の仮想キャラクタ214B等の複数の仮想キャラクタそれぞれが3D(3次元)仮想環境202を移動する際の3D(3次元)仮想環境202における異なるビューの取り込みに用いられる。その後、取り込まれたビューは、第1のユーザデバイス210A及び第2のユーザデバイス210B等の複数のユーザデバイスそれぞれにおいて表示される。
[0056]3D(3次元)仮想環境202におけるナビゲーション支援のためのシステム200が提供される。3D(3次元)仮想環境202におけるナビゲーション支援は、3D(3次元)仮想環境202における関心点に向かって移動する際に、1つ又は複数の特定の方向が第1のユーザ212A及び第2のユーザ212B等の複数人のユーザに提供されることを意味する。一実施態様において、システム200は、N人のユーザ、ひいてはN個のユーザデバイス、N個の仮想キャラクタ、及びN個の仮想カメラを有してもよいが、図2には簡素化のため、2人のユーザ、ひいては2つのユーザデバイス、2つの仮想キャラクタ、及び2つの仮想カメラしか示していない。
[0057]システム200は、複数人のユーザと関連付けられた複数のユーザデバイスと、複数のユーザデバイスに対して通信可能に結合されたサーバ204等の少なくとも1つのサーバと、を具備する。一実施態様において、第1のユーザデバイス210A等の複数のユーザデバイスは、第1のユーザ212Aと関連付けられている。同様に、第2のユーザデバイス210Bは、第2のユーザ212Bと関連付けられている。システム200は、第1のユーザデバイス210A及び第2のユーザデバイス210Bそれぞれに対して通信可能に結合されることにより、第1のユーザ212A及び第2のユーザ212Bそれぞれによる3D(3次元)仮想環境202へのアクセスを可能にするサーバ204をさらに具備する。
[0058]サーバ204等の少なくとも1つのサーバは、複数のユーザデバイスが3D(3次元)仮想環境にアクセスできるように構成されている。複数のユーザデバイスはそれぞれ、サーバ204等の少なくとも1つのサーバを通じて3D(3次元)仮想環境202にアクセスする。例えば、第1のユーザ212Aがサーバ204等の少なくとも1つのサーバに第1のユーザデバイス210Aを接続することにより、3D(3次元)仮想環境202にアクセスする。同様に、第2のユーザ212Bがサーバ204等の少なくとも1つのサーバに第2のユーザデバイス210Bを接続することにより、3D(3次元)仮想環境202にアクセスする。
[0059]3D(3次元)仮想環境202は、複数人のユーザに対応する複数の仮想キャラクタを含み、複数の仮想キャラクタは、異なる仮想位置に配置され、異なる仮想位置は、複数の仮想キャラクタが当該3D(3次元)仮想環境202のナビゲーションするとき動的に変化し、複数の仮想キャラクタは、当該3D(3次元)仮想環境202において互いにコミュニケーションする。一実施態様において、3D(3次元)仮想環境202では、第1のユーザ212Aが対応する第1の仮想キャラクタ214Aを移動させ、3D(3次元)仮想環境202では、第2のユーザ212Bが対応する第2の仮想キャラクタ214Bを移動させる。第1の仮想キャラクタ214A及び第2の仮想キャラクタ214Bそれぞれの仮想位置は、3D(3次元)仮想環境202のすべての仮想エリアの異なるビューを複数人のユーザに提供するため、動的に変化する。複数の仮想キャラクタのそれぞれの間のコミュニケーションについては、例えば図1A~図1Eにおいて詳述した通りである。
[0060]3D(3次元)仮想環境202は、複数の仮想キャラクタに対応する複数の仮想カメラであり、所与の仮想カメラが対応する仮想キャラクタから所与の距離に配置され、所与の向きから当該3D(3次元)仮想環境202を視認しており、所与の仮想カメラが対応する仮想キャラクタの移動に応じて移動可能である、複数の仮想カメラをさらに備える。一例において、第1のユーザ212Aがある位置から別の位置まで第1の仮想キャラクタ214Aを移動させる場合は、第1の仮想キャラクタ214Aの移動に応じて対応する第1の仮想カメラ216Aが移動する。別の例において、第2のユーザ212Bがある位置から別の位置まで第2の仮想キャラクタ214Bを移動させる場合は、第2の仮想キャラクタ214Bの移動に応じて対応する第2の仮想カメラ216Bが移動する。複数の仮想キャラクタの移動に応じた複数の仮想カメラの移動により、対応する仮想キャラクタが存在する3D(3次元)仮想環境202の仮想エリアの全体的ビューが提供されるため有益である。
[0061]サーバ204等の少なくとも1つのサーバは、3D(3次元)仮想環境202における少なくとも1つの仮想エリアに向かって移動するように複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を3D(3次元)仮想環境202に提供するようにさらに構成されている。一例においては、第1のユーザ212Aが第1のユーザデバイス210Aを操作することにより、3D(3次元)仮想環境202における少なくとも1つの仮想エリアに向かって、第1の仮想キャラクタ214Aを少なくとも1つの予め規定されたナビゲーション経路で移動させる。別の例においては、第2のユーザ212Bが第2のユーザデバイス210Bを操作することにより、3D(3次元)仮想環境202における少なくとも1つの仮想エリアに向かって、第2の仮想キャラクタ214Bを少なくとも1つの予め規定されたナビゲーション経路で移動させる。さらに、複数人のユーザそれぞれが多くの方向から少なくとも1つの仮想エリアを探索して体験するように、少なくとも1つの予め規定されたナビゲーション経路が複数の副経路に分割される。一実施態様において、少なくとも1つの予め規定されたナビゲーション経路は、少なくとも1つの仮想エリアで複数の副経路に分割される。さらに、少なくとも1つの予め規定されたナビゲーション経路は、複数人のユーザが異なる方向から1つ又は複数の仮想エリアの全体的ビューを体験できる複数の副経路に分割される。さらに、複数の副経路は、異なるパターンを有してもよい。
[0062]サーバ204等の少なくとも1つのサーバは、複数の仮想キャラクタのうちの少なくとも1つが少なくとも1つの仮想エリア又はその近くに存在する場合に、少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供するようにさらに構成されている。一実施態様において、第1のユーザ212Aが対応する第1の仮想キャラクタ214Aを移動させて少なくとも1つの仮想エリアに近づける場合は、特定の仮想エリアの強調又は特定の仮想エリアにおけるオーディオ若しくはビデオの再生等によって、シーン詳細の表示が第1の仮想キャラクタ214Aに提供される。少なくとも1つの仮想エリアにおけるシーン詳細の表示は、第1のユーザ212Aが特定のシーンの詳細を観察してこれを見逃すことがないように、第1の仮想キャラクタ214Aに提供される。
[0063]サーバ204等の少なくとも1つのサーバは、複数の仮想カメラを用いて複数のビデオストリームを取り込むことであり、所与のビデオストリームが所与の仮想キャラクタと関連付けられた所与の仮想カメラの視点から取り込まれ、所与のビデオストリームが所与の仮想キャラクタの少なくとも一部及び所与の仮想キャラクタが存在する3D(3次元)仮想環境202の領域を表す、ことを行うようにさらに構成されている。例えば、第1の仮想キャラクタ214Aと関連付けられた第1の仮想カメラ216Aがビデオストリームを取り込む。取り込まれたビデオストリームは、第1の仮想キャラクタ214Aが存在する特定の仮想エリアの異なるビューを含む。さらに、取り込まれたビデオストリームは、対応する第1の仮想キャラクタ214Aの一部を含む。さらに、第1の仮想カメラ216Aにより取り込まれたビデオストリームは、第1のユーザデバイス210Aでの表示によって、3D(3次元)仮想環境202の異なるビューを第1のユーザ212Aに提供する。
[0064]サーバ204等の少なくとも1つのサーバは、複数のビデオストリームを複数のユーザデバイスに送って表示するようにさらに構成されている。一例において、第1の仮想カメラ216Aにより取り込まれたビデオストリームは、第1のユーザデバイス210A上に表示される。別の例において、第2の仮想カメラ216Bにより取り込まれたビデオストリームは、第2のユーザデバイス210Bに表示される。取り込まれたビデオストリームを複数のユーザデバイスで表示することにより、少なくとも1つの仮想領域の第3の眼のビューが複数人のユーザに提供される。
[0065]一実施形態によれば、サーバ204等の少なくとも1つのサーバは、互いに通信可能に結合されたプロセッサ206等の少なくとも1つのプロセッサ及びメモリ208等の少なくとも1つのメモリを備える。プロセッサ206等の少なくとも1つのプロセッサは、少なくとも1つの3D(3次元)仮想環境202をホストする仮想環境プラットフォームを実装するように構成されており、メモリ208等の少なくとも1つのメモリは、少なくとも1つの3D(3次元)仮想環境202に関する情報及び/又はデータを格納するように構成されている。一実施態様において、サーバ204のプロセッサ206は、3D(3次元)仮想環境202においてタスクを実行する。さらに、サーバ204のメモリ208等の少なくとも1つのメモリは、3D(3次元)仮想環境202と関連するデータを格納するストレージを提供する。
[0066]一態様は、3D(3次元)仮想環境202においてナビゲーション支援を提供するコンピュータプログラム製品であって、処理デバイスによりアクセスされた場合にプログラム命令が格納された非一時的(non-transitory、ノントランジトリ)機械可読データ記憶媒体を備える、コンピュータプログラム製品である。一実施態様において、コンピュータプログラム製品は、複数人のユーザが与える入力に対する実行が必要な一組の命令及びコマンドを含む。例えば、第1のユーザ212Aが第1の仮想キャラクタ214Aの移動を指示した場合、コンピュータプログラム製品は、第1の仮想キャラクタ214Aを移動させるコマンドに対する命令の分析後にコマンドを実行する。コンピュータプログラム製品は、3D(3次元)仮想環境202の手間の掛からない機能を提供するため有益である。一例においては、命令がコンピュータ可読媒体に実装され、電気的消去プログラム可能リードオンリーメモリ(EEPROM)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ(HDD)、フラッシュメモリ、セキュアデジタル(SD)カード、半導体ドライブ(SSD)、コンピュータ可読記憶媒体、及び/又はCPUキャッシュメモリが挙げられるが、これらに限定されない。非一時的コンピュータ可読媒体は、複数のユーザデバイスからのコマンドの受信に際した複数の仮想キャラクタの移動、複数の仮想キャラクタのうちの1つが少なくとも1つの仮想エリアに近づいた場合の物体の表示を含む動作をコンピュータに実行させる。さらに、非一時的コンピュータ可読媒体は、複数人のユーザのいずれかにより更新されたデータを格納するとともに、複数人のユーザのうち、データがアップロードされた少なくとも1つの仮想エリアにサブスクライブした特定のユーザにデータをブロードキャストするように構成されている。さらに、非一時的コンピュータ可読媒体は、複数の仮想キャラクタが視認する少なくとも1つの仮想エリアを対応する複数の仮想デバイスに表示するように構成されている。
[0067]図3Aは、本開示の一実施形態に係る、3D(3次元)仮想環境の実装シナリオを示している。図3Aは、図1及び図2の要素と併せて記載している。図3Aを参照して、この図は、3D(3次元)仮想環境302の実装シナリオ300Aを示している。さらに、第1のユーザ306A、第2のユーザ306B、第3のユーザ306C、及び第4のユーザ306D等の複数人のユーザに3D(3次元)仮想環境302のアクセスを提供するサーバ304を示している。さらに、3D(3次元)仮想環境302は、少なくとも1つの仮想エリア314、予め規定されたナビゲーション経路316、及び経路カメラ318を含む。
[0068]図3Aに示す3D(3次元)仮想環境302は、図2の3D(3次元)仮想環境202に対応する。図3Aに示すサーバ304は、図2のサーバ204に対応する。同様に、複数人のユーザが図2の複数人のユーザに対応し、複数のユーザデバイスが図2の複数のユーザデバイスに対応する。
[0069]実装シナリオ300Aにおいて、3D(3次元)仮想環境302の少なくとも1つの仮想エリア314は、第1のユーザ306A、第2のユーザ306B、第3のユーザ306C、及び第4のユーザ306D等の複数人のユーザ間のテレビ会議用の仮想的な会議室と考えられる。複数人のユーザはそれぞれ、第1のユーザデバイス308A、第2のユーザデバイス308B、第3のユーザデバイス308C、及び第4のユーザデバイス308D等の複数のユーザデバイスのうちの1つを用いて少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)にアクセスするように構成されている。その後、複数の仮想キャラクタはそれぞれ、複数のユーザデバイスのうちの1つを通して、複数人のユーザのうちの1人により制御される。例えば、第1の仮想キャラクタ310Aは、第1のユーザ306Aが第1のユーザデバイス308Aを使用することにより予め規定されたナビゲーション経路316で移動して、少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に到達又は接近する必要がある。同様に、第2の仮想キャラクタ310B、第3の仮想キャラクタ310C、及び第4の仮想キャラクタ310Dはそれぞれ、第2のユーザ306B、第3のユーザ306C、及び第4のユーザ306Dがそれぞれ第2のユーザデバイス308B、第3のユーザデバイス308C、及び第4のユーザデバイス308Dを使用することにより予め規定されたナビゲーション経路316で移動して、少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に到達又は接近する必要がある。複数の仮想キャラクタのうちの1つが少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)又はその近くに存在する場合は、少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に近づいている仮想キャラクタに対して関心点の表示が提供される。例えば、第1の仮想キャラクタ310Aが少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に近づいた場合は、少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)の点滅又は強調が開始され、第1の仮想キャラクタ310Aに対応する第1のユーザ306Aの注意を引く。さらに、複数の仮想カメラはそれぞれ、複数の仮想キャラクタそれぞれのビデオストリームを取り込むように構成されている。例えば、第1の仮想キャラクタ310Aと関連付けられた第1の仮想カメラ312Aは、3D(3次元)仮想環境302の少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に向かう第1の仮想キャラクタ310Aの移動のビデオストリームを取り込むように構成されている。同様に、第2の仮想キャラクタ310B、第3の仮想キャラクタ310C、及び第4の仮想キャラクタ310Dそれぞれと関連付けられた第2の仮想カメラ312B、第3の仮想カメラ312C、及び第4の仮想カメラ312Dは、3D(3次元)仮想環境302の少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)に向かう第2の仮想キャラクタ310B、第3の仮想キャラクタ310C、及び第4の仮想キャラクタ310Dそれぞれの移動のビデオストリームを取り込むように構成されている。取り込まれたビデオストリームは、対応するユーザデバイスに表示される。例えば、第1の仮想カメラ312Aにより取り込まれた第1の仮想キャラクタ310Aのビデオストリームは、第1のユーザデバイス308Aに表示される。
[0070]さらに、予め規定されたナビゲーション経路316と併せて設けられた経路カメラ318を示している。図3Aに示す予め規定されたナビゲーション経路316は円形状であるが、予め規定されたナビゲーション経路316によって、3D(3次元)仮想環境302の少なくとも1つの仮想エリア314内のある場所から別の場所までユーザの仮想キャラクタが移動するように、その他任意の好適な形状(例えば図3Bに詳述)が用いられてもよい。例えば、予め規定されたナビゲーション経路316としては、仮想的な部屋を端から端まで横切る直線も可能であるし、部屋の周りを囲む正方形、長円形、又は長方形の経路も可能であり、(例えば、経路カメラ318の回転による)見回し、拡大若しくは縮小、傾斜等、カメラ経路の要素との相互作用、さらには他のユーザとの相互作用(例えば、他のユーザとの会話若しくはテキストの送受信又はファイルの共有による)の自由を依然として与える仮想環境の予め規定された体験をユーザに提供する。経路カメラ318は、3D(3次元)仮想環境302におけるビデオストリームを取り込むように構成されている。いくつかの実施態様において、経路カメラ318は、少なくとも1つの仮想エリア314(すなわち、仮想的な会議室)における一定の距離及び一定の視認角度を維持しつつ、予め規定されたナビゲーション経路316における移動を実行するように構成されている。経路カメラ318は、任意のユーザが対応する仮想キャラクタを通じて、ユーザデバイスを用いることによりアクセス可能であり、経路カメラ318からのビューがユーザに提供される。経路カメラ318が移動したり、経路カメラ318の傾斜又は回転等による視角の変化によって視点が調整されたりすると、3D(3次元)仮想環境302において視点が更新される。或いは、経路カメラ318は、第3の人物のビューを提供する。例えば、第1のユーザ306Aが第2のユーザ306Bに対応する第2の仮想キャラクタ310Bを視認する必要があるが、第3の仮想キャラクタ310Cが第1のユーザ306Aの視線を遮っている場合は、第1のユーザ306Aが対応する第1の仮想キャラクタ310Aの位置を変更する必要がないように、経路カメラ318がその位置及び向きの変更によって第2の仮想キャラクタ310Bのビューを提供する。経路カメラ318は、複数の仮想キャラクタの位置を変更することなく、多くの視角を提供するため有益である。複数の仮想カメラがそれぞれ、対応する仮想キャラクタの視線ビューを提供する一方、経路カメラ318が第3の眼のビューを複数人のユーザに提供することから、複数の仮想カメラはそれぞれ、経路カメラ318とは異なる。例えば、第1の仮想キャラクタ310Aが第2の仮想キャラクタ310Bの前方に配置されている場合、第1のユーザ306は、第2の仮想キャラクタ310Bしか見ることができない。その理由は、第2の仮想キャラクタ310Bが第1の仮想カメラ312Aの視線に存在するためである。さらに、第1のユーザ306Aは、経路カメラ318を用いることにより、第1の仮想キャラクタ310Aを移動させることなく他の方向を視認可能である。
[0071]図3Bは、本開示の一実施形態に係る、3D(3次元)仮想環境における予め定められたナビゲーション経路の実装シナリオを示している。図3Bは、図1A~図1E、図2、及び図3Aの要素と併せて記載している。図3Bを参照して、この図は、3D(3次元)仮想環境302における予め定められたナビゲーション経路の実装シナリオ300Bを示している。
[0072]一実施態様において、予め規定されたナビゲーション経路316は、共通経路を始点とする複数の副経路に分岐しており、複数の副経路は、3D(3次元)仮想環境302における複数人のユーザの座席まで螺旋状に分岐している。例えば、第1の予め規定されたナビゲーション経路320は、第1の副経路320A、第2の副経路320B、第3の副経路320C、第4の副経路320D、第5の副経路320E、第6の副経路320F、及び第7の副経路320G等の複数の副経路に分岐しており、これらが3D(3次元)仮想環境302において、テーブル326の周りの複数人のユーザの座席まで螺旋状となっている。同様に、図3Bに示すように、第2の予め規定されたナビゲーション経路322及び第3の予め規定されたナビゲーション経路324についても、それぞれテーブル328及びテーブル330の周りの複数の副経路へと分岐している。同様に、本開示の範囲を制限することなく、他の可能な数の予め規定されたナビゲーション経路及び副経路が分岐可能である。
[0073]添付の特許請求の範囲に規定されるような本開示の範囲から逸脱することなく、上述の本開示の実施形態の改良が可能である。本開示の説明及び請求に使用している「含む(including)」、「備える(comprising)」、「組み込む(incorporating)」、「有する(have)」、「~である(is)」等の表現は、非排他的な解釈、すなわち、明示的な記載のない項目、構成要素、又は要素についても存在し得ることが意図される。単数形の言及は、複数形にも関連すると解釈される。単語「例示的(exemplary)」は、「一例、事例、又は例示として作用する」意味で本明細書に使用している。「例示的(exemplary)」と記載の如何なる実施形態も、他の実施形態より好適若しくは有利であるとの解釈、並びに/又は、他の実施形態からの特徴の組み込みの排除とは必ずしもならない。単語「任意選択で(optionally)」は、「いくつかの実施形態においては提供され、他の実施形態においては提供されない」意味で本明細に使用している。本開示の特定の特徴は、明瞭化のため別個の実施形態の文脈において記載しているが、単一の実施形態として組み合わせて提供することも可能であることが理解される。逆に、本開示の種々特徴は、簡素化のため単一の実施形態の文脈において記載しているが、別個の提供、任意好適な組み合わせでの提供、又は本開示のその他任意の記載の実施形態における好適な提供も可能である。
100 方法
102、104、106、108、110、112、114、116、118、120、122、124、126、128、130、132、134A、134B、134C、136、138A、138B、138C、140、142 ステップ
102A、102B サブステップ
200 システム
202 3D(3次元)仮想環境
204 サーバ
206 プロセッサ
208 メモリ
210A 第1のユーザデバイス
210B 第2のユーザデバイス
212A 第1のユーザ
212B 第2のユーザ
214A 第1の仮想キャラクタ
214B 第2の仮想キャラクタ
216A 第1の仮想カメラ
216B 第2の仮想カメラ
300A、300B 実装シナリオ
302 3D(3次元)仮想環境
304 サーバ
306A 第1のユーザ
306B 第2のユーザ
306C 第3のユーザ
306D 第4のユーザ
308A 第1のユーザデバイス
308B 第2のユーザデバイス
308C 第3のユーザデバイス
308D 第4のユーザデバイス
310A 第1の仮想キャラクタ
310B 第2の仮想キャラクタ
310C 第3の仮想キャラクタ
310D 第4の仮想キャラクタ
312A 第1の仮想カメラ
312B 第2の仮想カメラ
312C 第3の仮想カメラ
312D 第4の仮想カメラ
314 仮想エリア
316 予め規定されたナビゲーション経路
318 経路カメラ
320 第1の予め規定されたナビゲーション経路
320A 第1の副経路
320B 第2の副経路
320C 第3の副経路
320D 第4の副経路
320E 第5の副経路
320F 第6の副経路
320G 第7の副経路
322 第2の予め規定されたナビゲーション経路
324 第3の予め規定されたナビゲーション経路
326、328、330 テーブル

Claims (20)

  1. 3次元仮想環境においてナビゲーション支援を提供する方法であって、
    複数人のユーザと関連付けられた複数のユーザデバイスを用いて前記3次元仮想環境にアクセスするステップであり、前記3次元仮想環境が、
    前記複数人のユーザに対応する複数の仮想キャラクタを備え、前記複数の仮想キャラクタは、異なる仮想位置に配置され、前記異なる仮想位置は、前記複数の仮想キャラクタが前記3次元仮想環境のナビゲーションするとき動的に変化し、前記複数の仮想キャラクタは、前記3次元仮想環境において互いにコミュニケーションし、
    前記3次元仮想環境がさらに、
    前記複数の仮想キャラクタに対応する複数の仮想カメラを備え、所与の仮想カメラが対応する仮想キャラクタから所与の距離に配置され、所与の向きから前記3次元仮想環境を視認しており、前記所与の仮想カメラが前記対応する仮想キャラクタの移動に応じて移動可能である、ステップと、
    前記3次元仮想環境における少なくとも1つの仮想エリアに向かって移動するように前記複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を前記3次元仮想環境に提供するステップと、
    前記複数の仮想キャラクタのうちの少なくとも1つが前記少なくとも1つの仮想エリア又はその近くに存在する場合に、前記少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供するステップと、
    前記複数の仮想カメラを用いて複数のビデオストリームを取り込むステップであり、所与のビデオストリームが所与の仮想キャラクタと関連付けられた所与の仮想カメラの視点から取り込まれ、前記所与のビデオストリームが前記所与の仮想キャラクタが存在する前記3次元仮想環境の少なくとも領域を表す、ステップと、
    前記複数のビデオストリームを前記複数のユーザデバイスに送って表示するステップと、
    を含む、方法。
  2. 前記少なくとも1つの予め規定されたナビゲーション経路が、前記少なくとも1つの仮想エリアで複数の副経路に分割され、前記少なくとも1つの予め規定されたナビゲーション経路が、一連のセグメントを含む3次元スプラインであり、所与のセグメントが線形セグメント、湾曲セグメントの一方である、請求項1に記載の方法。
  3. 前記複数の副経路が、螺旋パターン、線形パターン、自由形状パターンのうちの少なくとも1つの形態である、請求項1又は2に記載の方法。
  4. 前記シーン詳細の表示が、視覚的表示、聴覚的表示、触覚的表示のうちの少なくとも1つの形態である、請求項1~3のいずれか一項に記載の方法。
  5. 前記所与のビデオストリームが、前記所与の仮想キャラクタの一部も表す、請求項1~4のいずれか一項に記載の方法。
  6. 前記所与の仮想カメラが、前記対応する仮想キャラクタの高さの上方に配置された、請求項1~5のいずれか一項に記載の方法。
  7. 任意所与の時間に、前記複数の仮想キャラクタの前記異なる仮想位置がジオメトリを構成し、前記ジオメトリが、円ジオメトリ、長円ジオメトリ、多角ジオメトリ、直線ジオメトリ、弓ジオメトリ、曲線ジオメトリ、自由形状ジオメトリのうちの1つである、請求項1~6のいずれか一項に記載の方法。
  8. 前記複数の仮想キャラクタのうちの所与のキャラクタと関連付けられたデータを前記3次元仮想環境の所与のエリアにパブリッシュするステップと、
    ユーザが前記3次元環境の前記所与のエリアにサブスクライブした少なくとも1つのユーザデバイスに前記データをブロードキャストするステップと、
    をさらに含む、請求項1~7のいずれか一項に記載の方法。
  9. 前記データが、前記所与のキャラクタと関連付けられた位置、向き、オーディオ、ビデオのうちの少なくとも1つを含む、請求項8に記載の方法。
  10. 前記複数のユーザデバイスのうちの少なくとも1つのユーザデバイスを用いて前記所与の仮想カメラを制御するステップをさらに含む、請求項1~9のいずれか一項に記載の方法。
  11. 対応する仮想キャラクタが前記少なくとも1つの予め規定されたナビゲーション経路に沿って移動する少なくとも1つの仮想カメラの位置の視覚的表示を提供するステップをさらに含む、請求項1~10のいずれか一項に記載の方法。
  12. ユーザデバイスにおいて、前記複数のユーザデバイスのうちの少なくとも2つの他のユーザデバイスから少なくとも2つのビデオストリームを受信するステップと、
    前記ユーザデバイスのユーザに対応する仮想キャラクタの仮想位置及び前記仮想キャラクタに対応する仮想カメラの視認方向に対する前記少なくとも2つのビデオストリームに対応する複数の仮想キャラクタの相対的な仮想位置に基づいて、前記少なくとも2つのビデオストリームを主ストリーム及び少なくとも1つの補助ストリームとして再編するステップであり、前記複数の仮想キャラクタが、前記少なくとも2つの他のユーザデバイスの少なくとも2人のユーザに対応する、ステップと、
    前記ユーザデバイスにおいて、前記主ストリーム及び前記少なくとも1つの補助ストリームを変動するビデオ品質で提供して表示するステップであり、前記主ストリームのビデオ品質が前記少なくとも1つの補助ストリームのビデオ品質よりも高い、ステップと、
    をさらに含む、請求項1~11のいずれか一項に記載の方法。
  13. 前記少なくとも2つのビデオストリームを再編する前記ステップが、
    前記ビデオストリームに対応する仮想キャラクタの仮想位置が、前記ユーザデバイスの前記ユーザに対応する前記仮想キャラクタの前記仮想位置からの予め規定された閾値距離よりも長い距離に存在する場合、及び/又は
    前記ビデオストリームに対応する仮想キャラクタの位置が、前記仮想キャラクタに対応する前記仮想カメラの前記視認方向からの予め規定された閾値角度よりも大きな角度に存在する場合、
    に、前記ビデオストリームを補助ストリームとして決定することを含む、請求項12に記載の方法。
  14. 前記仮想キャラクタのユーザと関連付けられたユーザデバイスから前記複数のユーザデバイスのうちの少なくとも1つの他のユーザデバイスまで、前記少なくとも1つの予め規定されたナビゲーション経路に沿って対応する仮想キャラクタが移動する各仮想カメラの位置座標を示すメタデータをブロードキャストするステップをさらに含む、請求項1~13のいずれか一項に記載の方法。
  15. 前記複数の仮想キャラクタのいずれかが前記少なくとも1つの予め規定されたナビゲーション経路を通って前記少なくとも1つの仮想エリアに入った場合に、少なくとも1つの動作をトリガするステップをさらに含み、
    前記少なくとも1つの予め規定されたナビゲーション経路が、前記複数の仮想キャラクタのいずれかが存在する場合に前記少なくとも1つの動作がトリガされる少なくとも1つのトリガ点を含む、請求項1~14のいずれか一項に記載の方法。
  16. 前記少なくとも1つの動作が、ビデオの送信、オーディオの再生、前記少なくとも1つの予め規定されたナビゲーション経路に配置された物体の始動のうちの少なくとも1つを含む、請求項15に記載の方法。
  17. 前記複数のユーザデバイスのカメラを用いて、前記複数人のユーザを表す複数のビデオフィードを取り込むステップと、
    対応するビデオフィードから、前記複数人のユーザの各ユーザの背景を除去するステップと、
    背景がない前記複数人のユーザの各ユーザのビデオ切り抜きを前記3次元仮想環境の対応する仮想キャラクタとマージするステップと、
    をさらに含む、請求項1~16のいずれか一項に記載の方法。
  18. 3次元仮想環境においてナビゲーション支援を提供するシステムであって、
    複数人のユーザと関連付けられた複数のユーザデバイスと、
    前記複数のユーザデバイスに対して通信可能に結合された少なくとも1つのサーバを、
    を備えており、
    前記少なくとも1つのサーバは、
    前記3次元仮想環境へのアクセスを前記複数のユーザデバイスに提供することであり、前記3次元仮想環境が、
    前記複数人のユーザに対応する複数の仮想キャラクタを備え、前記複数の仮想キャラクタが、異なる仮想位置に配置され、前記異なる仮想位置は、前記複数の仮想キャラクタが前記3次元仮想環境のナビゲーションするとき動的に変化し、前記複数の仮想キャラクタは、前記3次元仮想環境において互いにコミュニケーションし、
    前記3次元仮想環境がさらに、
    前記複数の仮想キャラクタに対応する複数の仮想カメラを備え、所与の仮想カメラが対応する仮想キャラクタから所与の距離に配置され、所与の向きから前記3次元仮想環境を視認しており、前記所与の仮想カメラが前記対応する仮想キャラクタの移動に応じて移動可能である、ことと、
    前記3次元仮想環境における少なくとも1つの仮想エリアに向かって移動するように前記複数の仮想キャラクタに指示するための少なくとも1つの予め規定されたナビゲーション経路を前記3次元仮想環境に提供することと、
    前記複数の仮想キャラクタのうちの少なくとも1つが前記少なくとも1つの仮想エリア又はその近くに存在する場合に、前記少なくとも1つの仮想エリアにおけるシーン詳細の表示を提供することと、
    前記複数の仮想カメラを用いて複数のビデオストリームを取り込むことであり、所与のビデオストリームが所与の仮想キャラクタと関連付けられた所与の仮想カメラの視点から取り込まれ、前記所与のビデオストリームが前記所与の仮想キャラクタの少なくとも一部及び前記所与の仮想キャラクタが存在する前記3次元仮想環境の領域を表す、ことと、
    前記複数のビデオストリームを前記複数のユーザデバイスに送って表示することと、
    を行うように構成されている、システム。
  19. 前記少なくとも1つのサーバが、互いに通信可能に結合された少なくとも1つのプロセッサ及び少なくとも1つのメモリを備え、前記少なくとも1つのプロセッサが、少なくとも1つの3次元仮想環境をホストする仮想環境プラットフォームを実装するように構成され、前記少なくとも1つのメモリが、前記少なくとも1つの3次元仮想環境に関する情報及び/又はデータを格納するように構成された、請求項18に記載のシステム。
  20. 3次元仮想環境においてナビゲーション支援を提供するコンピュータプログラム製品であって、処理デバイスによりアクセスされた場合に、請求項1~17のいずれか一項に記載の方法のステップを前記処理デバイスに実行させるプログラム命令が格納された非一時的機械可読データ記憶媒体を備える、コンピュータプログラム製品。
JP2023088459A 2022-05-31 2023-05-30 3d(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステム Pending JP2023177310A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/829,314 2022-05-31
US17/829,314 US20230381670A1 (en) 2022-05-31 2022-05-31 Method and system for providing navigation assistance in three-dimensional virtual environments

Publications (1)

Publication Number Publication Date
JP2023177310A true JP2023177310A (ja) 2023-12-13

Family

ID=86609577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023088459A Pending JP2023177310A (ja) 2022-05-31 2023-05-30 3d(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステム

Country Status (5)

Country Link
US (1) US20230381670A1 (ja)
EP (1) EP4286995A1 (ja)
JP (1) JP2023177310A (ja)
KR (1) KR20230166957A (ja)
CN (1) CN117152389A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230412413A1 (en) * 2022-06-21 2023-12-21 Viktor Kaptelinin Management of user's incoming images in videoconference sessions
US20240062457A1 (en) * 2022-08-18 2024-02-22 Microsoft Technology Licensing, Llc Adaptive adjustments of perspective views for improving detail awareness for users associated with target entities of a virtual environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003201032A1 (en) * 2002-01-07 2003-07-24 Stephen James Crampton Method and apparatus for an avatar user interface system

Also Published As

Publication number Publication date
EP4286995A1 (en) 2023-12-06
KR20230166957A (ko) 2023-12-07
US20230381670A1 (en) 2023-11-30
CN117152389A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
US11663785B2 (en) Augmented and virtual reality
US20240005892A1 (en) Systems, methods, and media for displaying interactive augmented reality presentations
US11734906B2 (en) Automatic transparency of VR avatars
JP7498209B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
US11809213B2 (en) Controlling duty cycle in wearable extended reality appliances
WO2022022028A1 (zh) 虚拟对象控制方法及装置、设备、计算机可读存储介质
JP2023177310A (ja) 3d(3次元)仮想環境においてナビゲーション支援を提供する方法及びシステム
US20230368464A1 (en) Information processing system, information processing method, and information processing program
US12020667B2 (en) Systems, methods, and media for displaying interactive augmented reality presentations
US20230334792A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
US20230334790A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
US20240185546A1 (en) Interactive reality computing experience using multi-layer projections to create an illusion of depth
US20210312887A1 (en) Systems, methods, and media for displaying interactive augmented reality presentations
US20230334791A1 (en) Interactive reality computing experience using multi-layer projections to create an illusion of depth
WO2023215637A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
WO2024039885A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
WO2024039887A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
WO2023205145A1 (en) Interactive reality computing experience using multi-layer projections to create an illusion of depth
CN118113186A (zh) 全景漫游方法、装置、设备及可读存储介质
CN117278820A (zh) 视频生成方法、装置、设备及存储介质