KR20230166957A - 3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템 - Google Patents

3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230166957A
KR20230166957A KR1020230069759A KR20230069759A KR20230166957A KR 20230166957 A KR20230166957 A KR 20230166957A KR 1020230069759 A KR1020230069759 A KR 1020230069759A KR 20230069759 A KR20230069759 A KR 20230069759A KR 20230166957 A KR20230166957 A KR 20230166957A
Authority
KR
South Korea
Prior art keywords
virtual
given
virtual environment
user
character
Prior art date
Application number
KR1020230069759A
Other languages
English (en)
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 KR20230166957A publication Critical patent/KR20230166957A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Software Systems (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

3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법은, 복수의 사용자들에 대응하는 복수의 가상 캐릭터들로서, 3D 가상 환경에서 서로 통신하는 복수의 가상 캐릭터들, 및 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들을 포함한다. 또한, 상기 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능하다. 또한, 상기 3D 가상 환경에서 적어도 하나의 가상 영역을 이동하도록 복수의 가상 캐릭터들을 지향시키기 위해 3D 가상 환경에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하는 단계를 포함한다. 또한, 적어도 하나의 가상 영역에서 장면 세부사항의 표시를 제공하는 단계를 포함한다. 또한, 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하고, 복수의 비디오 스트림들을 그 위에 디스플레이하기 위해 복수의 사용자 디바이스들로 전송하는 단계를 포함한다.

Description

3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템 {METHOD AND SYSTEM FOR PROVIDING NAVIGATION ASSISTANCE IN THREE-DIMENSIONAL VIRTUAL ENVIRONMENTS}
본 개시는 일반적으로 가상 환경들의 분야에 관한 것으로, 보다 구체적으로는 3차원(three-dimensional; 3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템에 관한 것이다.
혁신 기술의 급속한 발전과 함께, 모든 삶의 양태가 급격하게 변화되어 왔다. 최근, 예를 들어, 3차원(3D) 기술의 개발과 함께, 3D 가상 환경이 널리 보급되어 왔다.
3D 가상 환경은 가상으로 연결할 뿐만 아니라 한 번에 많은 사용자와 통신하기 위한 새로운 방식을 제공한다. 또한, 3D 가상 환경은 교육 목적, 조직 회의, 화상 회의뿐만 아니라 전통적인 원거리 학습을 위해서도 사용될 수 있다. 3D 가상 환경은 회의실, 교실, 박물관 등과 같은 물리적 장소와 유사하다. 3D 가상 환경은 또한 비디오 게임을 플레이하기 위해 또는 가상 이벤트, 예를 들어, 가상 이벤트에 참여하는 각각의 사용자의 위치에 관계없이 서로 통신하기 위해 사용자에 의해 사용되는 화상 회의를 위해 사용된다. 비디오 게임 또는 가상 이벤트에서 사용되는 것과 같은 종래의 3D 가상 환경은 사용자가 3D 가상 환경 내에서 전체적인 경험을 제공하기 위해 요구될 수 있는 특정 세부사항을 놓치기 쉽게 되기 때문에 거대한 규모로 구현된다. 일부 시나리오에서, 프로그래머에 의해 정의된 경험을 사용자에게 제공할 수 있는 컷신(cutscene)이 있을 수 있지만, 이들 컷신은 일반적으로 사용자가 가질 수 있는 상호작용을 방지하거나 제한한다. 비디오 게임의 경우에 컷신(또는 이벤트 장면)은 상호작용하지 않고 게임 플레이를 중단시키지 않는 시퀀스로서 정의될 수 있다. 전형적으로, 컷신은 캐릭터 사이의 대화를 보여주고, 분위기를 설정하고, 새로운 모델 및 게임플레이 요소를 도입하고, 감정 연결을 생성하는 등을 위해 사용된다. 따라서, 종래의 3D 가상 환경에서 사용자 경험을 개선하는 방법의 기술적 문제가 존재한다.
따라서, 상기 논의에 비추어, 종래의 3D 가상 환경과 연관된 상기 언급된 단점을 극복할 필요가 존재한다.
본 개시내용은 3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템을 제공한다. 본 개시내용은 종래의 3D 가상 환경에서 사용자 경험을 개선하는 방법의 기존의 문제에 대한 해결책을 제공한다. 본 개시내용의 목적은 종래 기술에서 직면한 문제를 적어도 부분적으로 극복하는 해결책을 제공하는 것이고, 3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 개선된 방법 및 시스템을 제공하는 것이다.
본 개시내용의 하나 이상의 목적은 첨부된 독립 청구항에서 제공된 해결책에 의해 달성된다. 본 개시내용의 유리한 구현은 종속 청구항에서 추가로 정의된다.
일 양태에서, 본 개시내용은 3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법을 제공한다. 방법은 복수의 사용자들과 연관된 복수의 사용자 디바이스들을 사용하여 3D 가상 환경에 액세스하는 단계를 포함하고, 3D 가상 환경은 복수의 사용자들에 대응하는 복수의 가상 캐릭터들을 포함하고, 복수의 가상 캐릭터들은 복수의 가상 캐릭터들이 3D 가상 환경을 통해 내비게이팅함에 따라 동적으로 변하는 상이한 가상 포지션에 배열되고, 복수의 가상 캐릭터들은 3D 가상 환경에서 서로 통신한다. 3D 가상 환경은 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들을 더 포함하고, 주어진 가상 카메라는 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝되고 주어진 배향으로부터 3D 가상 환경을 뷰잉하고, 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능하다. 방법은 3D 가상 환경에서 적어도 하나의 가상 영역을 향해 이동하도록 복수의 가상 캐릭터들을 지향시키기 위해 3D 가상 환경에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하는 단계를 더 포함하고, 적어도 하나의 미리 정의된 내비게이션 경로는 적어도 하나의 가상 영역에서 복수의 서브-경로들로 분할된다. 방법은 복수의 가상 캐릭터들 중 적어도 하나의 가상 캐릭터가 적어도 하나의 가상 영역에 또는 그 부근에 존재할 때 적어도 하나의 가상 영역에서 장면 세부사항(scene detail)의 표시를 제공하는 단계를 더 포함한다. 방법은 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하는 단계를 더 포함하고, 주어진 비디오 스트림은 주어진 가상 캐릭터와 연관된 주어진 가상 카메라의 시점(perspective)으로부터 캡처되고, 주어진 비디오 스트림은 적어도, 주어진 가상 캐릭터가 존재하는 3D 가상 환경의 영역을 나타내고, 복수의 비디오 스트림들을 그 위에 디스플레이하기 위해 복수의 사용자 디바이스들로 전송하는 단계를 더 포함한다.
개시된 방법은 3D 가상 환경에서 강화된 사용자 경험을 제공한다. 방법은 복수의 사용자들 각각이 3D 가상 환경에서 제공된 특정 세부사항을 놓치지 않는 방식으로 3D 가상 환경에 액세스하기 위한 개선된 내비게이션 보조를 제공한다. 방법에 개시된 미리 정의된 내비게이션 경로는 3D 가상 환경의 적어도 하나의 가상 영역을 가리킨다. 또한, 미리 정의된 내비게이션 경로는 복수의 사용자들이 상이한 방향으들로부터 적어도 하나의 가상 영역을 탐색하는 것을 돕기 위해 복수의 서브-경로들로 분할된다. 더욱이, 복수의 가상 캐릭터들의 상이한 가상 포지션에 의한 상이한 형상의 기하학적 구조(geometry)의 형성은 비디오 게임 또는 3D 화상 회의 플랫폼에서 일반적으로 이용가능하지 않은 인터랙티브 시네마틱 경험 및 컷신을 제공한다.
상기 언급된 구현 형태들 모두가 결합될 수 있다는 것이 인식되어야 한다.
본 출원에서 설명된 모든 디바이스들, 요소들, 회로들, 유닛들, 및 수단들은 소프트웨어 또는 하드웨어 요소 또는 이들의 임의의 종류의 조합으로 구현될 수 있다는 것이 주목되어야 한다. 본 출원에서 설명된 다양한 엔티티에 의해 수행되는 모든 단계들뿐만 아니라, 다양한 엔티티에 의해 수행되는 것으로 설명된 기능은 각각의 엔티티가 각각의 단계 및 기능을 수행하도록 적응되거나 구성된다는 것을 의미하도록 의도된다. 특정 실시예의 다음의 설명에서, 외부 엔티티에 의해 수행될 특정 기능 또는 단계가 그 특정 단계 또는 기능을 수행하는 그 엔티티의 특정 상세 요소의 설명에 반영되지 않더라도, 이들 방법 및 기능은 각각의 소프트웨어 또는 하드웨어 요소, 또는 이들의 임의의 종류의 조합으로 구현될 수 있다는 것이 당업자에게 명백해야 한다. 본 개시의 피처는 첨부된 청구항에 의해 정의된 바와 같은 본 개시의 범위로부터 벗어나지 않으면서 다양한 조합으로 결합될 수 있다는 것이 인식될 것이다.
본 개시의 추가 양태, 이점, 특징, 및 목적은 다음의 첨부된 청구항과 함께 해석되는 예시적인 구현의 도면 및 상세한 설명으로부터 명백해질 것이다.
상기의 요약뿐만 아니라 예시적인 실시예의 다음의 상세한 설명은 첨부된 도면과 함께 판독될 때 더 잘 이해된다. 본 개시내용을 예시하기 위한 목적으로, 본 개시내용의 예시적인 구성이 도면에 도시된다. 그러나, 본 개시내용은 본 명세서에 개시된 특정 방법 및 수단에 제한되지 않는다. 더욱이, 당업자들은 도면이 축척에 맞게 도시되지 않음을 이해할 것이다. 가능한 한, 유사한 요소는 동일한 번호로 표시되었다.
본 개시내용의 실시예는 이제 다음의 도면을 참조하여 단지 예로서 설명될 것이다.
도 1a 내지 도 1e는 총괄적으로 본 개시내용의 실시예에 따른, 3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법의 흐름도이다.
도 2는 본 개시내용의 실시예에 따른, 3D 가상 환경에서 내비게이션 보조를 제공하기 위한 시스템을 예시한다.
도 3a는 본 개시내용의 실시예에 따른, 3D 가상 환경의 구현 시나리오를 예시한다.
도 3b는 본 개시내용의 실시예에 따른, 3D 가상 환경에서 미리 결정된 내비게이션 경로의 구현 시나리오를 예시한다.
첨부된 도면에서, 밑줄 친 번호는 밑줄 친 번호가 위치되는 아이템 또는 밑줄 친 번호가 인접한 아이템을 나타내기 위해 사용된다. 밑줄 치지 않은 번호는 밑줄 치지 않는 번호를 아이템에 연결하는 라인에 의해 식별되는 아이템에 관한 것이다. 번호가 밑줄 치지 않았고 연관된 화살표를 수반할 때, 밑줄 치지 않은 번호는 화살표가 가리키는 일반적인 아이템을 식별하기 위해 사용된다.
이하의 상세한 설명은 본 개시내용의 실시예 및 그들이 구현될 수 있는 방식을 예시한다. 본 개시내용를 수행하는 일부 모드가 개시되었지만, 당업자는 본 개시내용을 수행하거나 실시하기 위한 다른 실시예도 가능하다는 것을 인식할 것이다.
도 1a 내지 도 1e는 총괄적으로 본 개시의 일 실시예에 따른, 3차원(3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 방법의 흐름도이다. 도 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)를 포함한다. 도 1a에는 단계(102A 및 102B를 포함하는 102, 104 및 106)가 도시되어 있고, 도 1b에는 단계(108, 110, 112, 114, 및 116)가 도시되어 있고, 도 1c에는 단계(118, 120, 122, 124, 126)가 도시되어 있고, 도 1d에는 단계(128, 130, 132, 134A, 134B, 134C)가 도시되어 있고, 도 1e에는 단계(136, 138A, 138B, 138C, 140)가 도시되어 있다.
3D 가상 환경에서 내비게이션 보조를 위한 방법(100)이 제공된다. 방법(100)은 사용자가 3D 가상 환경의 각각의 가상 영역을 탐색하는 것을 돕는 각각의 관심 포인트를 표시하기 위해 내비게이션으로 3D 가상 환경에서 전체적인 뷰(holistic view)를 제공한다. 방법(100)에서, 복수의 가상 캐릭터들은 미리 정의된 내비게이션 경로를 통해 3D 가상 환경을 탐색하기 위해 대응하는 복수의 사용자들에 의해 제어된다. 미리 정의된 내비게이션 경로는 복수의 사용자들이 복수의 가상 캐릭터들이 적어도 하나의 가상 영역을 이동하게 하는 방향을 제공한다.
도 1a를 참조하면, 단계(102)에서, 방법(100)은 복수의 사용자들과 연관된 복수의 사용자 디바이스들을 사용하여 3D 가상 환경에 액세스하는 단계를 포함한다. 복수의 사용자들 각각은 복수의 사용자 디바이스들 중 하나를 사용하여 3D 가상 환경에 액세스하도록 구성된다. 복수의 사용자 디바이스들의 예는 스마트폰, 랩톱, 데스크톱, 태블릿 등을 포함할 수 있지만, 이에 제한되지 않는다.
단계(102)의 하위 단계(102A)에서, 3D 가상 환경은 복수의 사용자들에 대응하는 복수의 가상 캐릭터들을 포함한다. 복수의 가상 캐릭터들은 복수의 가상 캐릭터들이 3D 가상 환경을 통해 내비게이팅함에 따라 동적으로 변하는 상이한 가상 포지션에 배열되고, 복수의 가상 캐릭터들은 3D 가상 환경에서 서로 통신한다. 일반적으로, 3D 가상 환경은 복수의 사용자들이 복수의 가상 캐릭터들(예를 들어, 아바타)을 통해 서로 통신하고 상호작용할 수 있는 컴퓨터-시뮬레이션된 전자 3D 가상 환경으로서 정의된다. 전형적으로, 가상 캐릭터는 사용자를 나타내거나 사용자에 의해 조작될 수 있는 전자 이미지로서 정의될 수 있다. 대안적으로, 복수의 가상 캐릭터들은 복수의 사용자들의 그래픽 표현으로서 정의될 수 있다. 더욱이, 복수의 사용자들은 3D 가상 환경에서 복수의 가상 캐릭터들을 이동시킴으로써 3D 가상 환경을 탐색할 수 있다. 복수의 사용자들이 3D 가상 환경에서 복수의 가상 캐릭터들을 자유롭게 이동시킬 때, 복수의 가상 캐릭터들 각각의 포지션은 동적으로 변한다. 일 구현에서, 복수의 사용자들 각각의 가상 캐릭터는 헤드 트래킹 디바이스에 의해 제어될 수 있다. 다른 구현에서, 복수의 사용자들 각각의 가상 캐릭터는 마우스 이동에 의해 제어될 수 있다. 또다른 구현에서, 복수의 사용자들 각각의 가상 캐릭터는 하나 이상의 키보드 키에 의해 제어될 수 있다. 또한, 복수의 사용자들은 사용자가 복수의 가상 캐릭터들 중 다른 가상 캐릭터와 통신하기를 원하는 특정 가상 캐릭터를 클릭함으로써 3D 가상 환경에서 서로 통신한다. 일 구현에서, 복수의 가상 캐릭터들은 오디오를 공유함으로써 통신한다. 다른 구현에서, 복수의 가상 캐릭터들은 비디오를 공유함으로써 통신한다. 유익하게는, 3D 가상 환경에 액세스함으로써, 복수의 사용자들은 전체 3D 가상 환경을 동적으로 탐색하기 위해 단일 플랫폼 상에서 서로 통신한다.
단계(102)의 하위 단계(102B)에서, 3D 가상 환경은 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들을 더 포함하고, 주어진 가상 카메라는 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝되고 주어진 배향으로부터 3D 가상 환경을 뷰잉한다. 더욱이, 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능하다. 또한, 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들은 대응하는 가상 캐릭터가 이동되는 이동을 향해 3D 가상 환경의 상이한 뷰를 캡처한다. 일 구현에서, 주어진 가상 카메라는 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝된다. 주어진 거리는 대응하는 가상 캐릭터와 연관된 사용자에 의해 고정되거나 설정될 수 있다. 더욱이, 주어진 가상 카메라는 대응하는 가상 캐릭터와 연관된 사용자에 의해 고정되거나 변경될 수 있는 주어진 배향으로부터 3D 가상 환경의 상이한 뷰를 캡처한다. 예를 들어, 제1 사용자는 제1 가상 캐릭터, 및 제1 가상 캐릭터에 대응하는 제1 가상 카메라를 제어하고, 그 후 제1 가상 캐릭터에 의해 뷰잉된 특정 가상 영역은 제1 가상 카메라에 의해 캡처된다. 또한, 제1 가상 카메라에 의해 캡처된 뷰는 제1 사용자에 의해 뷰잉된다.
단계(104)에서, 임의의 주어진 시간에, 복수의 가상 캐릭터들의 상이한 가상 포지션은 기하학적 구조를 형성하고, 기하학적 구조는 원형 기하학적 구조, 타원형 기하학적 구조, 다각형 기하학적 구조, 선형 기하학적 구조, 아치형 기하학적 구조, 곡선형 기하학적 구조, 또는 자유형 기하학적 구조 중 하나이다. 복수의 가상 캐릭터에 의해 형성된 기하학적 구조는 가상 환경의 가상 구조, 예를 들어 테이블, 하나 이상의 카우치, 모닥불, 강당 또는 교실의 좌석 등 주위에 배열될 수 있다. 일 구현에서, 복수의 가상 캐릭터들의 상이한 가상 포지션은 복수의 사용자들 각각이 하나의 시야에서 서로를 볼 수 있는 3D 가상 환경의 현실적인 뷰를 제공한다. 다른 구현에서, 복수의 사용자들에 대응하는 복수의 가상 캐릭터들이 원형 기하학적 구조, 타원형 기하학적 구조, 다각형 기하학적 구조, 선형 기하학적 구조, 아치형 기하학적 구조, 곡선형 기하학적 구조, 자유형 기하학적 구조 등 중 하나를 형성하는 하나의 장소에 있기 때문에, 각각의 사용자가 다른 사용자를 검색할 필요가 없기 때문에, 복수의 가상 캐릭터들의 상이한 가상 포지션은 서로와 통신하기 위한 편리한(hassle-free) 방식을 제공한다.
단계(106)에서, 방법(100)은 주어진 가상 카메라가 대응하는 가상 캐릭터의 높이 위에 포지셔닝되는 것을 포함한다. 일 구현에서, 주어진 가상 카메라는 대응하는 가상 캐릭터의 높이뿐만 아니라 대응하는 가상 캐릭터의 뒤에 포지셔닝되어, 복수의 사용자들로부터의 사용자가 3D 가상 환경에서의 장면, 및 또한 대응하는 가상 캐릭터의 머리 및 몸통을 뷰잉할 수 있게 한다. 또한, 대응하는 가상 캐릭터의 머리 및 몸통의 뷰는 사용자가 대응하는 가상 캐릭터의 이동을 분석할 수 있게 한다. 다른 구현에서, 주어진 가상 카메라는 대응하는 가상 캐릭터의 높이뿐만 아니라 대응하는 가상 캐릭터의 앞에 포지셔닝되어, 대응하는 가상 캐릭터와 연관된 사용자가 대응하는 가상 캐릭터의 시선 뷰(line-of-sight view)를 수신하게 한다.
이제 도 1b를 참조하면, 단계(108)에서, 방법(100)은 복수의 사용자 디바이스들 중에서 적어도 하나의 사용자 디바이스를 사용하여 주어진 가상 카메라를 제어하는 단계를 포함한다. 예를 들어, 제1 사용자가 제1 가상 캐릭터를 제어하기 위해 제1 사용자 디바이스를 사용하고 있는 경우, 제1 가상 캐릭터에 의해 커버되는 3D 가상 환경에서의 적어도 하나의 가상 영역은 제1 사용자에 의해 뷰잉된다. 그 이유는 제1 가상 캐릭터에 대응하는 제1 가상 카메라가 제1 가상 캐릭터에 의해 뷰잉되는 적어도 하나의 가상 영역에 대한 뷰를 캡처하기 때문이다.
단계(110)에서, 방법(100)은 3D 가상 환경에서의 적어도 하나의 가상 영역을 향해 이동하도록 복수의 가상 캐릭터들을 지향시키기 위해 3D 가상 환경에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하는 단계를 포함한다. 또한, 적어도 하나의 미리 정의된 내비게이션 경로는 공통 시작 지점을 포함한다. 또한, 적어도 하나의 미리 정의된 내비게이션 경로는 복수의 사용자들이 그들의 대응하는 복수의 가상 캐릭터들을 3D 가상 환경에서의 하나 이상의 가상 영역로 이동시킬 수 있게 한다. 또한, 적어도 하나의 미리 정의된 내비게이션 경로는 또한 복수의 사용자들이 3D 가상 환경에서 제공되는 특정 세부사항을 놓치지 않도록 3D 가상 환경의 상이한 가상 영역을 탐색할 때 복수의 사용자들을 안내한다.
단계(112)에서, 방법(100)은 대응하는 가상 캐릭터가 적어도 하나의 미리 정의된 내비게이션 경로를 따라 이동하는 적어도 하나의 가상 카메라의 포지션의 시각적 표시를 제공하는 단계를 포함한다. 예를 들어, 복수의 사용자들로부터의 제1 사용자 및 제2 사용자가 제1 가상 캐릭터 및 제2 가상 캐릭터를 통해 3D 가상 환경을 탐색하면, 제1 사용자는 제2 가상 캐릭터 (예를 들어, 높이) 상에 위치된 가상 카메라의 포지션을 볼 수 있다. 제2 가상 캐릭터 상에 위치된 가상 카메라는 시각적 표시를 통해 복수의 사용자로부터 제1 사용자에 의해 뷰잉된다. 시각적 표시의 예는 점, 구, 가상 객체, 헤일로, 가상 안개 등을 포함할 수 있지만, 이에 제한되지 않는다.
단계(114)에서, 적어도 하나의 미리 정의된 내비게이션 경로는 적어도 하나의 가상 영역에서 복수의 서브-경로들로 분할되고, 적어도 하나의 미리 정의된 내비게이션 경로는 3D 스플라인이고, 3D 스플라인은 일련의 세그먼트를 포함하고, 주어진 세그먼트는 선형 세그먼트, 곡선형 세그먼트 중 하나이다. 적어도 하나의 미리 정의된 내비게이션 경로는, 복수의 사용자가 상이한 방향으로부터 하나 이상의 가상 영역의 전체적인 뷰를 경험할 수 있게 하는 복수의 서브-경로들로 분할되는 것과 같이, 3D 가상 환경에 따라 변한다. 또한, 복수의 서브-경로는 상이한 패턴을 가질 수 있다. 일 예에서, 3D 가상 환경의 구현 시나리오에 따라, 미리 정의된 내비게이션 경로는 하나 이상의 수일 수 있다. 구현에서, 적어도 하나의 미리 정의된 내비게이션 경로는 3D 스플라인일 수 있는 반면, 3D 스플라인은 일련의 세그먼트를 포함하고, 주어진 세그먼트는 선형 세그먼트 및 곡선형 세그먼트 중 하나이다. 곡선형 세그먼트의 예는 베지어(Bezier) 세그먼트, 헤르미트(Hermite) 세그먼트 등을 포함할 수 있지만, 이에 제한되지 않는다.
단계(116)에서, 복수의 서브-경로들은 나선형 패턴, 선형 패턴, 또는 자유형 패턴 중 적어도 하나의 형태이다. 구현에서, 나선형 패턴은 복수의 사용자들에게 360도 뷰를 제공하기 위해 적어도 하나의 미리 정의된 내비게이션 경로의 서브-경로에 의해 획득된다. 다른 구현에서, 선형 패턴은 복수의 사용자들에게 직선 뷰를 제공하기 위해 적어도 하나의 미리 정의된 내비게이션 경로의 서브-경로에 의해 획득된다. 또 다른 구현에서, 자유형 패턴은 복수의 사용자들이 특정 가상 영역에서 자유롭게 이동할 수 있게 하기 위해 적어도 하나의 미리 정의된 내비게이션 경로의 서브-경로에 의해 획득된다.
이제 도 1c를 참조하면, 단계(118)에서, 방법(100)은 복수의 가상 캐릭터들 중 적어도 하나의 가상 캐릭터가 적어도 하나의 가상 영역에 또는 그 부근에 존재할 때 적어도 하나의 가상 영역에서 장면 세부사항의 표시를 제공하는 단계를 포함한다. 예를 들어, 이 경우, 복수의 가상 캐릭터들로부터의 3개의 가상 캐릭터가 3D 가상 환경에서 적어도 하나의 가상 영역을 향해 적어도 하나의 미리 정의된 내비게이션 경로 상에서 이동하고 있다. 장면 세부사항의 표시는 3개의 가상 캐릭터 중 하나가 적어도 하나의 가상 영역에 접근하거나 적어도 하나의 가상 영역에 도달하자마자 제공되어, 적어도 하나의 가상 영역을 향해 이동하는 가상 캐릭터에 향상된 시청 경험을 제공하게 한다. 따라서, 장면 세부사항의 표시는 적어도 하나의 가상 영역에 접근하거나 도달하는 가상 캐릭터에 제공되거나, 또는 복수의 가상 캐릭터들에 제공될 수도 있다. 일 구현에서, 적어도 하나의 가상 영역에서의 장면 세부사항의 표시는 적어도 하나의 가상 영역으로부터의 특정 가상 영역을 깜박임으로써 제공될 수 있다. 다른 구현에서, 적어도 하나의 가상 영역에서의 장면 세부사항의 표시는 적어도 하나의 가상 영역으로부터의 특정 가상 영역을 강조함으로써 제공될 수 있다. 또 다른 구현에서, 적어도 하나의 가상 영역에서의 장면 세부사항의 표시는 복수의 가상 캐릭터들로부터의 가상 캐릭터 중 임의의 것이 적어도 하나의 가상 영역의 부근에 진입할 때 적어도 하나의 가상 영역으로부터의 특정 가상 영역에서 오디오 또는 비디오를 재생함으로써 제공될 수 있다. 적어도 하나의 가상 영역에서의 장면 세부사항의 표시는 복수의 사용자들로부터의 각각의 사용자의 주의를 끄는 것을 지원한다. 일 구현에서, 복수의 사용자들은 적어도 하나의 가상 영역으로부터의 특정 영역을 클릭함으로써 적어도 하나의 가상 영역 내에서 상호작용한다. 다른 구현에서, 복수의 사용자들은 적어도 하나의 가상 영역으로부터의 특정 영역에 진입함으로써 적어도 하나의 가상 영역 내에서 상호작용한다. 일 예에서, 복수의 사용자들은 적어도 하나의 가상 영역으로부터의 특정 영역에서 음성 커맨드를 전송함으로써 적어도 하나의 가상 영역 내에서 상호작용한다. 다른 예에서, 복수의 사용자들은 적어도 하나의 가상 영역으로부터의 특정 영역에서 제스처 커맨드를 제공함으로써 적어도 하나의 가상 영역 내에서 상호작용한다.
단계(120)에서, 장면 세부사항의 표시는 시각적 표시, 오디오 표시, 햅틱 표시 중 적어도 하나의 형태이다. 일 예에서, 복수의 사용자들로부터의 제1 사용자가 적어도 하나의 가상 영역의 부근에 진입하면, 비디오 표시는 적어도 하나의 가상 영역을 향해 제1 사용자의 주의를 잡기 위해 제1 사용자에게 제공된다. 시각적 표시의 예로는 비디오의 재생, GIF(graphic interchange format) 이미지의 재생, 애니메이션화된 비디오의 재생 등을 포함하지만, 이에 제한되지 않는다. 다른 예에서, 복수의 사용자들로부터의 제1 사용자가 적어도 하나의 가상 영역의 부근에 진입하면, 오디오 표시는 적어도 하나의 가상 영역을 향해 제1 사용자의 주의를 잡기 위해 재생된다. 오디오 표시의 예는 링톤의 재생, 음성 기록의 재생 등을 포함하지만, 이에 제한되지 않는다. 또 다른 예에서, 복수의 사용자들로부터의 제1 사용자가 적어도 하나의 가상 영역의 부근에 진입하면, 햅틱 표시는 적어도 하나의 가상 영역과 제1 사용자를 상호작용하기 위해 제1 사용자에게 제공된다. 햅틱 표시의 예들은 적어도 하나의 가상 영역을 클릭하거나 이동하는 것을 포함하지만, 이에 제한되지 않는다.
단계(122)에서, 방법(100)은 복수의 가상 캐릭터들 중에서 주어진 캐릭터와 연관된 데이터를 3D 가상 환경의 주어진 영역에 공개(publishing)하는 단계 및 사용자가 3D 환경의 주어진 영역에 가입한 적어도 하나의 사용자 디바이스에 데이터를 브로드캐스팅하는 단계를 포함한다. 데이터의 공개 및 브로드캐스팅은 3D 가상 환경에서 복수의 사용자들 사이의 통신 모델로서 사용된다. 주어진 가상 캐릭터와 연관된 데이터(예를 들어, 포지션, 오디오, 비디오 등)는 복수의 가상 캐릭터들 중에서 3D 가상 환경의 주어진 영역(또는 특정 영역)에 공개된다. 그리고, 공개된 데이터를 뷰잉하고 청취하기를 원하는 사용자는 3D 가상 환경의 주어진 영역에 가입하고, 따라서 데이터는 사용자가 3D 가상 환경의 주어진 영역에 가입한 이들 사용자 디바이스들에 브로드캐스팅된다. 예를 들어, 제1 사용자는 3D 가상 환경의 제1 가상 영역에서 대응하는 제1 사용자 디바이스를 통해 데이터(즉, 포지션, 오디오, 비디오 등)를 공개한다. 또한, 공개된 데이터는 제1 가상 영역으로만 제한된다. 일 구현에서, 제2 사용자가 제1 가상 영역에서 제1 사용자에 의해 공개된 데이터에 액세스할 것을 요구하면, 제2 사용자는 3D 가상 환경의 제1 가상 영역에 가입할 것을 요구한다. 제1 가상 영역의 가입 후에, 공개된 데이터는 제2 사용자에 의해 동작되는 제2 사용자 디바이스에 브로드캐스팅된다. 다른 구현에서, 제2 사용자가 제1 가상 영역에서 제1 사용자에 의해 공개된 데이터에 액세스할 것을 요구하면, 제2 사용자는 제1 사용자의 공개된 데이터에 액세스하기 위해 대응하는 제2 가상 캐릭터를 제1 가상 영역으로 이동시킬 것을 요구한다. 유익하게도, 복수의 사용자들은 데이터가 공개되는 가상 영역에 가입함으로써 서로의 공개된 데이터를 수신한다.
일 구현에서, 주어진 가상 캐릭터와 연관된 데이터는 3D 가상 환경의 주어진 영역에 가입한 사용자들에 의해 추가로 사용되는 공개-가입 모듈을 통해 공개된다. 공개-가입 모듈은 프로세서에 의해 3D 가상 환경의 주어진 영역에 가입하지 않은 복수의 사용자 디바이스들로부터의 다른 사용자 디바이스들에 대한 데이터의 액세스를 제한하기 위해 사용된다. 일 예에서, 공개-가입 모듈은, 제1 사용자와 같은 사용자의 데이터(예를 들어, 포지션, 오디오, 및 비디오)가 3D 가상 환경의 특정 가상 영역에 공개되고 이를 뷰잉하고 청취하기를 원하는 다른 사용자가 3D 가상 환경의 특정 가상 영역에 가입하는 통신 모델로서 사용된다. 공개-가입 모듈은 공개-가입 모델을 통한 통신이 익명으로 될 수 있는 콘텐츠의 생성 및 소비에 기초한 통신의 모델에 대응하며, 이는 서버 및/또는 복수의 사용자 디바이스들 각각이 가상 환경의 자원을 획득하기 위해 가입에 관해 알 필요가 없다는 것을 의미한다. 통상적인 공개-가입 모듈은 각각의 참여자가 정보를 공개하고 수신할 수 있는 정보 교환을 가능하게 하여, 통상적인 클라이언트-서버 모델보다 더 큰 정도의 유연성을 가능하게 한다. 본 개시의 공개-구독 모듈은 사용자 디바이스가 구독할 수 있는 더 높은-자원 요구 셀과 같이, 더 많은 수의 자원을 요구하는 복수의 사용자 디바이스 각각에 더 많은 수의 자원을 동적으로 집중시키는 것을 가능하게 한다. 또한, 공개된 자원의 수는 3D 가상 환경의 양, 및 각각의 사용자에게 보이는 3D 가상 환경의 부분 내의 상호작용의 레벨을 개선한다.
단계(124)에서, 데이터는 주어진 캐릭터와 연관된 포지션, 배향, 오디오, 비디오 중 적어도 하나를 포함한다. 주어진 캐릭터와 연관된 데이터는 복수의 가상 캐릭터들 중에서 공개되고 3D 가상 환경의 주어진 영역을 구독한 사용자에게 브로드캐스팅되는 포지션, 배향, 오디오 및 비디오 중 하나를 포함한다.
단계(126)에서, 방법(100)은 복수의 가상 캐릭터들 중 임의의 것이 적어도 하나의 미리 정의된 내비게이션 경로를 통해 적어도 하나의 가상 영역에 진입할 때 적어도 하나의 액션을 트리거하는 단계를 포함하고, 적어도 하나의 미리 정의된 내비게이션 경로는 복수의 가상 캐릭터들 중 임의의 것이 존재하면 적어도 하나의 액션이 트리거되는 적어도 하나의 트리거 지점을 포함한다. 이 경우에, 복수의 가상 캐릭터들 중 하나가 적어도 하나의 미리 정의된 내비게이션 경로를 통해 적어도 하나의 가상 영역에 진입하면, 적어도 하나의 액션이 트리거된다. 그 이유는 적어도 하나의 미리 정의된 내비게이션 경로가 복수의 가상 캐릭터들 중 하나가 적어도 하나의 트리거 지점에 존재할 때 트리거되는 적어도 하나의 트리거 지점을 포함하기 때문이다.
이제 도 1d를 참조하면, 단계(128)에서, 적어도 하나의 액션은 비디오를 전송하는 것, 오디오를 재생하는 것, 또는 적어도 하나의 미리 정의된 내비게이션 경로에 배치된 객체를 활성화하는 것 중 적어도 하나를 포함한다. 복수의 가상 캐릭터들 중 하나가 적어도 하나의 미리 정의된 내비게이션 경로를 통해 적어도 하나의 가상 영역에 진입할 때 트리거되는 적어도 하나의 액션은 비디오를 전송하는 것, 오디오를 재생하는 것, 및 적어도 하나의 미리 정의된 내비게이션 경로에 배치된 객체를 활성화하는 것 중 하나를 포함한다.
단계(130)에서, 방법(100)은 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하는 단계를 포함하고, 주어진 비디오 스트림은 주어진 가상 캐릭터와 연관된 주어진 가상 카메라의 시점에서 캡처되고, 주어진 비디오 스트림은 적어도, 주어진 가상 캐릭터가 존재하는 3D 가상 환경의 영역을 나타낸다. 예를 들어, 어떤 경우에, 제1 사용자가 제1 가상 캐릭터를 제어하고, 제1 가상 카메라가 제1 가상 캐릭터와 연관되면, 제1 가상 카메라에 의해 캡처된 비디오 스트림은 적어도, 제1 가상 캐릭터가 존재하는 3D 가상 환경의 영역을 나타낸다. 유사하게, 복수의 가상 카메라는 대응하는 복수의 가상 캐릭터들이 존재하는 3D 가상 환경의 하나 이상의 영역을 캡처한다.
단계(132)에서, 주어진 비디오 스트림은 또한 주어진 가상 캐릭터의 일부분을 나타낸다. 예를 들어, 제 1 사용자가 3D 가상 환경에서 제 1 가상 캐릭터를 제어하고 있다면, 제 1 가상 캐릭터의 부분(예를 들어, 머리 및 몸통)은 3D 가상 환경을 탐색하는 동안 제 1 사용자에게 보여질 수 있다. 유리하게는, 주어진 가상 캐릭터의 부분의 표현은 주어진 가상 캐릭터의 움직임 및 제스처를 추적하는 것을 가능하게 한다. 예를 들어, 어떤 경우에, 주어진 가상 카메라가 가상 캐릭터의 머리 위에 포지셔닝되면, 주어진 비디오 스트림은 가상 캐릭터의 머리의 전후방 및 몸통의 후방을 나타낸다. 이러한 경우에, 가상 캐릭터의 발은 주어진 가상 카메라의 시점에서 놓이지 않을 수 있다.
단계(134A)에서, 방법(100)은 사용자 디바이스에서, 복수의 사용자 디바이스들 중에서 적어도 2개의 다른 사용자 디바이스로부터 적어도 2개의 비디오 스트림을 수신하는 단계를 포함한다. 예를 들어, 어떤 경우에, 복수의 사용자들로부터의 제 1 사용자, 제 2 사용자 및 제 3 사용자와 같은 3명의 사용자들이 3D 가상 환경을 사용하고 있고, 적어도 하나의 가상 영역이 제 1 사용자 및 제 2 사용자에 의해 탐색되면, 제 1 사용자 및 제 2 사용자에 의해 탐색된 적어도 하나의 가상 영역의 비디오 스트림은 제 3 사용자에게 브로드캐스팅된다.
단계(134B)에서, 방법(100)은 사용자 디바이스의 사용자에 대응하는 가상 캐릭터의 가상 포지션 및 가상 캐릭터에 대응하는 가상 카메라의 뷰 방향에 대한 적어도 2개의 비디오 스트림들에 대응하는 가상 캐릭터의 상대적인 가상 포지션에 기초하여, 적어도 2개의 비디오 스트림을 메인 스트림 및 적어도 하나의 주변 스트림으로 조직화(organizing)하는 단계를 포함하고, 가상 캐릭터는 적어도 2개의 다른 사용자 디바이스의 적어도 2명의 사용자에 대응한다. 3D 가상 환경을 사용하는 복수의 사용자들로부터의 제 1 사용자, 제 2 사용자 및 제 3 사용자와 같은 3명의 사용자들의 상기 언급된 경우에, 제 1 사용자는 특정 영역의 부근에 진입한 후에 3D 가상 환경의 적어도 하나의 가상 영역을 탐색하고, 제 2 사용자는 특정 영역의 부근에 진입하지 않고 3D 가상 환경의 적어도 하나의 가상 영역을 탐색한다. 또한, 제 1 사용자에 대응하는 제 1 가상 캐릭터의 제 1 가상 카메라에 의해 캡처된 비디오 스트림은 메인 스트림으로서 고려된다. 유사하게, 제 2 사용자에 대응하는 제 2 가상 캐릭터의 제 2 가상 카메라에 의해 캡처된 비디오 스트림은 주변 스트림으로서 고려된다. 이 경우에, 제 3 사용자는 제 1 사용자로부터의 비디오 스트림을 메인 스트림으로서 그리고 제 2 사용자로부터의 비디오 스트림을 주변 스트림으로서 수신한다. 따라서, 캡처된 비디오 스트림은 대응하는 가상 캐릭터(예를 들어, 제 1 가상 캐릭터 및 제 2 가상 캐릭터)의 포지션 및 배향(예를 들어, 제 1 가상 카메라 및 제 2 가상 카메라의 배향)에 기초하여, 메인 스트림 및 적어도 하나의 주변 스트림으로 조직화된다. 유리하게는, 수신된 2개의 비디오 스트림을 메인 스트림 및 주변 스트림으로 조직화하는 것은 2개의 비디오 스트림들을 수신하는 복수의 사용자들 중 사용자(예를 들어, 제 3 사용자)에 향상된 뷰잉 경험을 제공한다.
단계(134C)에서, 방법(100)은 사용자 디바이스에서, 메인 스트림 및 적어도 하나의 주변 스트림을 디스플레이하기 위한 가변 비디오 품질로 제공하는 단계를 포함하고, 메인 스트림의 비디오 품질은 적어도 하나의 주변 스트림의 비디오 품질보다 더 높다. 예를 들어, 제1 가상 캐릭터가 적어도 하나의 가상 영역의 부근 내에 포지셔닝되면, 제1 가상 캐릭터에 대응하는 제1 가상 카메라에 의해 캡처된 비디오 스트림(즉, 메인 스트림)은 높은 품질 및 높은 픽셀 레이트를 갖는다. 유사하게, 제2 가상 캐릭터가 적어도 하나의 가상 영역의 부근 밖에 포지셔닝되면, 제2 가상 캐릭터에 대응하는 제2 가상 카메라에 의해 캡처된 비디오 스트림(즉, 주변 스트림)은 낮은 품질 및 낮은 픽셀 레이트를 갖는다.
이제 도 1e를 참조하면, 단계(136)에서, 방법(100)은, 비디오 스트림에 대응하는 가상 캐릭터의 가상 포지션이 사용자 디바이스의 사용자에 대응하는 가상 캐릭터의 가상 포지션으로부터 미리 정의된 임계 거리보다 더 큰 거리에 놓이고, 비디오 스트림에 대응하는 가상 캐릭터의 포지션이 가상 캐릭터에 대응하는 가상 카메라의 뷰 방향으로부터 미리 정의된 임계 각도보다 더 큰 각도로 놓일 때, 비디오 스트림이 주변 스트림인 것으로 결정하는 단계를 포함하는, 적어도 2개의 비디오 스트림을 조직화하는 단계를 포함한다. 일 구현에서, 주변 스트림을 결정하는 사용자에 대응하는 가상 캐릭터의 가상 포지션으로부터의 미리 정의된 임계 거리는 0.5m보다 더 크다. 다른 구현에서, 주변 스트림을 결정하는 가상 캐릭터에 대응하는 가상 카메라의 뷰 방향으로부터의 미리 정의된 임계 각도는 30도보다 더 크다. 메인 스트림 또는 주변 스트림 중 어느 하나로서의 비디오 스트림의 결정은 가상 캐릭터의 포지션, 및 복수의 가상 캐릭터들로부터의 가상 캐릭터의 가상 카메라의 뷰 방향 및 배향에 의존한다. 예를 들어, 제1 가상 캐릭터가 적어도 하나의 가상 영역의 미리 정의된 임계 거리의 거리 내에 포지셔닝되면, 제1 가상 캐릭터에 대응하는 제1 가상 카메라에 의해 캡처된 비디오 스트림은 메인 스트림이다. 다른 상황에서, 제1 가상 캐릭터가 적어도 하나의 가상 영역의 미리 정의된 임계 거리보다 더 큰 거리에 포지셔닝되면, 제1 가상 캐릭터에 대응하는 제1 가상 카메라에 의해 캡처된 비디오 스트림은 주변 스트림이다. 또한, 제1 가상 캐릭터의 포지션이 제1 가상 캐릭터에 대응하는 제1 가상 카메라의 뷰 방향으로부터 미리 정의된 임계 각도보다 더 큰 각도로 놓이면, 그러한 경우에, 제1 가상 카메라에 의해 캡처된 비디오 스트림은 주변 스트림으로 간주된다.
단계(138A)에서, 방법(100)은 복수의 사용자 디바이스들의 카메라를 사용하여 복수의 비디오 피드들을 캡처하는 단계를 포함하고, 복수의 비디오 피드들은 복수의 사용자들을 나타낸다. 예를 들어, 복수의 사용자들로부터의 제1 사용자, 제2 사용자 및 제3 사용자가 그들의 대응하는 사용자 디바이스를 통해 3D 가상 환경을 사용하면, 대응하는 사용자 디바이스의 카메라는 각각의 사용자의 비디오를 캡처한다. 대안적으로, 제1 사용자 디바이스의 카메라는 제1 사용자의 비디오를 캡처하고, 제2 사용자 디바이스의 카메라는 제2 사용자의 비디오를 캡처하고, 제3 사용자 디바이스의 카메라는 제3 사용자의 비디오를 캡처한다.
단계(138B)에서, 방법(100)은 대응하는 비디오 피드로부터 복수의 사용자들 중 각각의 사용자의 배경을 제거하는 단계를 포함한다. 또한, 사용자 디바이스의 카메라에 의해 캡처된 비디오는 캡처된 비디오의 배경을 제거하도록 프로세싱된다. 일 구현에서, 캡처된 비디오의 배경은 프로세서에 의해 크로핑(cropping)될 수 있다. 다른 구현에서, 캡처된 비디오의 배경은 프로세서에 의해 블러링될 수 있다. 또 다른 구현에서, 캡처된 비디오의 배경은 프로세서에 의해 변경(예를 들어, 컬러의 변경, 밝기의 변경 등)될 수 있다. 유익하게도, 캡처된 비디오의 배경의 제거는 대응하는 사용자의 얼굴 외관에 대한 초점을 제공한다.
단계(138C)에서, 방법(100)은 복수의 사용자들 중 그들의 배경이 없는 각각의 사용자의 비디오 컷아웃을 3D 가상 환경에서 대응하는 가상 캐릭터와 병합하는 단계를 포함한다. 캡처된 비디오의 배경의 제거 후에, 사용자의 얼굴 외관 및/또는 전체 몸통만이 비디오 스트림에 남아 있고 가상 환경에 삽입된다. 또한, 일 구현에서, 비디오 스트림은 대응하는 가상 캐릭터의 얼굴이 대응하는 사용자의 얼굴로서 표현되도록 대응하는 사용자의 가상 캐릭터 상에 붙여질 수 있다. 따라서, 가상 캐릭터의 외관은 비디오 컷아웃이 가상 환경에 삽입된 사용자의 외관이고, 사용자가 가상 존재감을 느끼게 하기 위해 가상 환경에 실제로 존재한다는 인상을 제공한다.
단계(140)에서, 방법(100)은 대응하는 가상 캐릭터가 복수의 사용자 디바이스들 중에서 상기 가상 캐릭터의 사용자와 연관된 사용자 디바이스로부터 적어도 하나의 다른 사용자 디바이스로의 적어도 하나의 미리 정의된 내비게이션 경로를 따라 이동하는 각각의 가상 카메라의 포지션 좌표를 나타내는 메타데이터를 브로드캐스팅하는 단계를 포함한다. 예를 들어, 제1 사용자에 대응하는 제1 가상 캐릭터의 메타데이터는 제2 사용자에 대응하는 제2 사용자 디바이스에 (예를 들어, 웹 소켓을 통해) 브로드캐스팅된다. 또한, 메타데이터의 브로드캐스팅은 제2 사용자가 3D 가상 환경에서 제1 사용자의 제1 가상 캐릭터를 검색하고 그에 도달하는 것을 가능하게 한다. 메타데이터를 수신함으로써, 제2 사용자는 제1 가상 캐릭터의 좌표를 추적하고 제2 가상 캐릭터를 제1 가상 캐릭터에 도달하도록 이동시킨다.
단계(142)에서, 방법(100)은 복수의 비디오 스트림들을 그것을 디스플레이하기 위해 복수의 사용자 디바이스들로 전송하는 단계를 포함한다. 일 구현에서, 복수의 가상 카메라들에 의해 캡처된 복수의 비디오 스트림들은 복수의 사용자들 또는 복수의 사용자들 각각으로부터의 선택적 사용자로 전송될 수 있다.
방법(100)은 3D 가상 환경에서 강화된 사용자 경험을 제공한다. 방법(100)은 복수의 사용자들 각각이 3D 가상 환경에서 제공된 특정 세부사항을 놓치지 않는 방식으로 3D 가상 환경에 액세스하기 위한 개선된 내비게이션 보조를 제공한다. 방법(100)에 개시된 미리 정의된 내비게이션 경로는 3D 가상 환경의 적어도 하나의 가상 영역을 가리킨다. 또한, 미리 정의된 내비게이션 경로는 복수의 사용자들이 상이한 방향들로부터 적어도 하나의 가상 영역을 탐색하는 것을 돕기 위해 복수의 서브-경로들로 분할된다. 또한, 복수의 가상 캐릭터들의 상이한 가상 포지션에 의한 상이한 형상의 기하학적 구조의 형성은 비디오 게임 또는 3D 화상 회의 플랫폼에서 일반적으로 이용가능하지 않은 인터랙티브 시네마틱 경험 및 컷신을 제공한다.
단계(102 내지 142)는 단지 예시적인 것이고, 다른 대안이 또한 제공될 수 있으며, 여기서 본원의 청구항들의 범위로부터 벗어나지 않고 하나 이상의 단계가 추가되거나, 하나 이상의 단계가 제거되거나, 또는 하나 이상의 단계가 상이한 시퀀스로 제공된다.
도 2는 본 개시내용의 실시예에 따른, 3D 가상 환경에서 내비게이션 보조를 제공하기 위한 시스템을 예시한다. 도 2는 도 1로부터의 요소와 함께 설명된다. 도 2를 참조하면, 3D 가상 환경(202)에서 내비게이션 보조를 제공하기 위한 시스템(200)이 도시된다. 또한, 시스템(200)은 3D 가상 환경(202)에 액세스하기 위한 서버(204)를 포함한다. 서버(204)는 프로세서(206) 및 메모리(208)를 포함한다. 제1 사용자 디바이스(210A) 및 제2 사용자 디바이스(210B)와 같은 복수의 사용자 디바이스들이 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들에 의해 각각 동작되는 것으로 추가로 도시된다. 또한, 제1 가상 캐릭터(214A) 및 제2 가상 캐릭터(214B)와 같은 복수의 가상 캐릭터들이 도시되며, 여기서 각각의 가상 캐릭터는, 각각 제1 가상 캐릭터(214A)가 제1 사용자(212A)와 연관되고 제2 가상 캐릭터(214B)가 제2 사용자(212B)와 연관되는 것과 같이, 복수의 사용자들 중 하나와 연관된다. 제1 가상 캐릭터(214A) 및 제2 가상 캐릭터(214B)와 같은 복수의 가상 캐릭터는 제1 가상 카메라(216A) 및 제2 가상 카메라(216B)와 같은 복수의 가상 카메라들을 갖는다. 시스템(200)은 (도 1a 내지 도 1e의) 방법(100)을 실행하도록 구성된다.
3D 가상 환경(202)은 그것의 탐색 및 그것의 대응하는 가상 캐릭터를 통한 사용자 사이의 통신을 가능하게 하는 임의의 적합한 3D 모델링 기술 및 컴퓨터 보조 도면(computer assisted drawings; CAD) 방법을 통해 설계된 가상으로 구성된(예를 들어, 가상 모델)을 지칭한다. 따라서, 3D 가상 환경(202)은 사용자가 걸을 수 있고, 서로의 가상 캐릭터를 보고 서로 통신할 수 있는 가상 세팅을 갖는 가상 미팅 플랫폼 또는 화상 회의 플랫폼일 수 있다. 3D 가상 환경(202)의 예로는 3D 롤러 코스터, 엔터테인먼트 공원에서의 3D 하운티드 하우스, 엔터테인먼트 공원, 비디오 게임, 3D 박물관, 3D 도시, 학교, 공장, 또는 임의의 장소 등을 포함할 수 있지만, 이에 제한되지 않는다.
서버(204)는 제1 사용자 디바이스(210A) 및 제2 사용자 디바이스(210B)와 같은 복수의 사용자 디바이스들에 통신가능하게 커플링되는 적합한 로직, 회로부, 인터페이스, 및/또는 코드를 포함할 수 있다. 대안적으로, 언급된 바와 같이, 서버(204)는 제1 사용자 디바이스(210A) 및 제2 사용자 디바이스(210B)와 같은 복수의 사용자 디바이스들을 각각 사용하여 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들에 대한 3D 가상 환경(202)의 액세스를 제공하도록 구성된다. 서버(204)는 3D 가상 환경(202)에서 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들에 의해 수행되는 액션의 라이브 피드를 제공하도록 또한 구성될 수 있다. 서버(204)의 구현의 예로는 저장 서버, 클라우드 기반 서버, 웹 서버, 애플리케이션 서버, 또는 이들의 조합을 포함할 수 있지만, 이에 제한되지 않는다.
프로세서(206)는 3D 가상 환경(202)에서 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들에 의해 제공되는 커맨드에 따라, 제1 가상 캐릭터(214A) 및 제2 가상 캐릭터(214B)와 같은 복수의 가상 캐릭터들을 제어하기 위해 서버(204)의 메모리(208)에 저장된 명령어들을 실행하도록 구성되는 적절한 로직, 회로, 인터페이스, 또는 코드를 포함할 수 있다. 프로세서(206)의 예로은 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 마이크로프로세서, 마이크로컨트롤러, CISC(complex instruction set computing) 프로세서, ASIC(application-specific integrated circuit) 프로세서, RISC(reduced instruction set) 프로세서, VLIW(very long instruction word) 프로세서, 상태 머신, 데이터 프로세싱 유닛, 그래픽 프로세싱 유닛(graphics processing unit; GPU) 및 다른 프로세서들 또는 제어 회로를 포함할 수 있지만, 이에 제한되지 않는다.
메모리(208)는 3D 가상 환경(202)의 가상 영역, 복수의 가상 캐릭터들의 포지션, 오디오, 비디오 등을 포함하지만 이에 제한되지 않는, 3D 가상 환경(202)에 관련된 데이터를 저장하도록 구성되는 적절한 로직, 회로, 및/또는 인터페이스를 포함할 수 있다. 구현에서, 메모리(208)는 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들에 의해 실행 가능한 데이터 및 명령어들을 저장하도록 구성될 수 있다. 메모리(208)의 구현의 예로은 전기적 소거가능 프로그램가능 판독 전용 메모리(electrically erasable programmable read-only memory; EEPROM), 동적 랜덤 액세스 메모리(dynamic random-access memory; DRAM), 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 하드 디스크 드라이브(Hard Disk Drive; HDD), 플래시 메모리, 시큐어 디지털(Secure Digital; SD) 카드, 솔리드 스테이트 드라이브(Solid-State Drive; SSD) 및/또는 CPU 캐시 메모리를 포함할 수 있지만, 이에 제한되지 않는다.
제1 사용자 디바이스(210A) 및 제2 사용자 디바이스(210B)와 같은 복수의 사용자 디바이스들 각각은 제1 사용자(212A) 및 제2 사용자(212B)와 같은 복수의 사용자들이 각각 3D 가상 환경(202)에 액세스가능하게 하기 위해 서버(204)에 통신가능하게 커플링되도록 구성되는 적절한 로직, 회로, 인터페이스 및/또는 코드를 포함할 수 있다. 복수의 사용자 디바이스들 각각의 예로는 사물 인터넷(Internet-of-Things; IoT) 디바이스, 스마트폰, MTC(machine type communication) 디바이스, 컴퓨팅 디바이스, IoT 제어기, 드론, 무선 통신을 위한 맞춤형 하드웨어, 송신기, 또는 임의의 다른 휴대용 또는 비휴대용 전자 디바이스를 포함할 수 있지만, 이에 제한되지 않는다.
복수의 가상 캐릭터들 각각은 3D 가상 환경(202)을 탐색하기 위해 복수의 사용자들 각각에 의해 제어된다. 예를 들어, 제 1 가상 캐릭터(214A)는 제 1 사용자(212A)에 의해 제어되고, 유사하게, 제 2 가상 캐릭터(214B)는 제 2 사용자(212B)에 의해 제어된다.
제 1 가상 카메라(216A) 및 제 2 가상 카메라(216B)와 같은 복수의 가상 카메라들 각각은 제 1 가상 캐릭터(214A) 및 제 2 가상 캐릭터(214B)와 같은 복수의 가상 캐릭터들 각각이 3D 가상 환경(202)에서 이동함에 따라 3D 가상 환경(202)에서 상이한 뷰들을 캡처하기 위해 사용되고, 그 후에, 캡처된 뷰들은 제 1 사용자 디바이스(210A) 및 제 2 사용자 디바이스(210B)와 같은 복수의 사용자 디바이스들 상에 각각 나타내어진다.
3D 가상 환경(202)에서 내비게이션 보조를 위한 시스템(200)이 제공된다. 3D 가상 환경(202)에서의 내비게이션 보조는 3D 가상 환경(202)에서 관심 지점을 향해 이동함에 있어서 제 1 사용자(212A) 및 제 2 사용자(212B)와 같은 복수의 사용자들에게 하나 이상의 특정 방향이 제공된다는 것을 의미한다. 일 구현에서, 시스템(200)은 N명의 사용자, 따라서 N개의 사용자 디바이스, N개의 가상 캐릭터 및 N명의 가상 카메라를 가질 수 있지만, 간략화를 위해, 단지 2명의 사용자, 따라서 2명의 사용자 디바이스, 2명의 가상 캐릭터 및 2명의 가상 카메라가 도 2에 도시된다.
시스템(200)은 복수의 사용자들과 연관되는 복수의 사용자 디바이스들 및 복수의 사용자 디바이스들에 통신가능하게 커플링되는 서버(204)와 같은 적어도 하나의 서버를 포함한다. 일 구현에서, 제 1 사용자 디바이스(210A)와 같은 복수의 사용자 디바이스들은 제 1 사용자(212A)와 연관된다. 유사하게, 제 2 사용자 디바이스(210B)는 제 2 사용자(212B)와 연관된다. 시스템(200)은 제 1 사용자(212A) 및 제 2 사용자(212B) 각각이 3D 가상 환경(202)에 액세스가능하게 하기 위해 제 1 사용자 디바이스(210A) 및 제 2 사용자 디바이스(210B) 각각에 통신가능하게 커플링되는 서버(204)를 더 포함한다.
서버(204)와 같은 적어도 하나의 서버는 복수의 사용자 디바이스들에 3D 가상 환경에 대한 액세스를 제공하도록 구성된다. 복수의 사용자 디바이스들 각각은 서버(204)와 같은 적어도 하나의 서버를 통해 3D 가상 환경(202)에 액세스한다. 예를 들어, 제 1 사용자(212A)는 3D 가상 환경(202)에 액세스하기 위해 제 1 사용자 디바이스(210A)를 서버(204)와 같은 적어도 하나의 서버에 연결한다. 유사하게, 제 2 사용자(212B)는 3D 가상 환경(202)에 액세스하기 위해 제 2 사용자 디바이스(210B)를 서버(204)와 같은 적어도 하나의 서버에 연결한다.
3D 가상 환경(202)은 복수의 사용자들에 대응하는 복수의 가상 캐릭터들을 포함하고, 여기서 복수의 가상 캐릭터들은 복수의 가상 캐릭터들이 3D 가상 환경(202)을 통해 내비게이팅함에 따라 동적으로 변하는 상이한 가상 포지션에 배열되고, 여기서 복수의 가상 캐릭터들은 3D 가상 환경(202)에서 서로 통신한다. 일 구현에서, 제 1 사용자(212A)는 3D 가상 환경(202)에서 대응하는 제 1 가상 캐릭터(214A)를 이동시키고, 제 2 사용자(212B)는 3D 가상 환경(202)에서 대응하는 제 2 가상 캐릭터(214B)를 이동시킨다. 제 1 가상 캐릭터(214A) 및 제 2 가상 캐릭터(214B) 각각의 가상 포지션은 3D 가상 환경(202)의 모든 가상 영역들의 상이한 뷰들을 복수의 사용자들에게 제공하기 위해 동적으로 변한다. 복수의 가상 캐릭터들 각각의 사이의 통신은 예를 들어, 도 1a 내지 도 1e에서 상세히 설명되었다.
3D 가상 환경(202)은 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들을 더 포함하고, 주어진 가상 카메라는 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝되고, 주어진 방향으로부터 3D 가상 환경(202)을 뷰잉하고, 여기서 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능하다. 일 예에서, 제1 사용자(212A)가 제1 가상 캐릭터(214A)를 하나의 포지션으로부터 다른 포지션으로 이동시키면, 대응하는 제1 가상 카메라(216A)는 제1 가상 캐릭터(214A)의 이동에 따라 이동한다. 다른 예에서, 제2 사용자(212B)가 제2 가상 캐릭터(214B)를 하나의 포지션으로부터 다른 포지션으로 이동시키면, 대응하는 제2 가상 카메라(216B)는 제2 가상 캐릭터(214B)의 이동에 따라 이동한다. 유리하게는, 복수의 가상 캐릭터의 이동에 따른 복수의 가상 카메라의 이동은 대응하는 가상 캐릭터가 존재하는 3D 가상 환경(202)의 가상 영역의 전체적인 뷰를 제공한다.
서버(204)와 같은 적어도 하나의 서버는 복수의 가상 캐릭터가 3D 가상 환경(202)에서 적어도 하나의 가상 영역을 향해 이동하도록 지향시키기 위해 3D 가상 환경(202)에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하도록 또한 구성된다. 일 예에서, 제1 사용자(212A)는 3D 가상 환경(202)에서 적어도 하나의 가상 영역을 향해 적어도 하나의 미리 정의된 내비게이션 경로 상에서 제1 가상 캐릭터(214A)를 이동시키도록 제1 사용자 디바이스(210A)를 동작시킨다. 다른 예에서, 제2 사용자(212B)는 3D 가상 환경(202)에서 적어도 하나의 가상 영역을 향해 적어도 하나의 미리 정의된 내비게이션 경로 상에서 제2 가상 캐릭터(214B)를 이동시키도록 제2 사용자 디바이스(210B)를 동작시킨다. 또한, 적어도 하나의 미리 정의된 내비게이션 경로는 복수의 사용자들 각각이 다수의 방향으로부터 적어도 하나의 가상 영역을 탐색하고 경험하도록 복수의 서브-경로들로 분할된다. 일 구현에서, 적어도 하나의 미리 정의된 내비게이션 경로는 적어도 하나의 가상 영역에서 복수의 서브-경로들로 분할된다. 또한, 적어도 하나의 미리 정의된 내비게이션 경로는 복수의 사용자가 상이한 방향으로부터 하나 이상의 가상 영역의 전체적인 뷰를 경험할 수 있게 하는 복수의 서브-경로들로 분할된다. 또한, 복수의 서브-경로들은 상이한 패턴을 가질 수 있다.
서버(204)와 같은 적어도 하나의 서버는, 복수의 가상 캐릭터들 중 적어도 하나의 가상 캐릭터가 적어도 하나의 가상 영역에 또는 그 부근에 존재할 때 적어도 하나의 가상 영역에서 장면 세부사항의 표시를 제공하도록 또한 구성된다. 일 구현에서, 제1 사용자(212A)가 대응하는 제1 가상 캐릭터(214A)를 적어도 하나의 가상 영역의 부근에 진입하도록 이동시키면, 장면 세부사항의 표시는 특정 가상 영역의 하이라이팅에 의해, 또는 특정 가상 영역에서 오디오 또는 비디오를 재생하는 것 등에 의해 제1 가상 캐릭터(214A)에 제공된다. 적어도 하나의 가상 영역에서의 장면 세부사항의 표시는, 제1 사용자(212A)가 장면의 특정 세부사항을 관측하고 그 세부사항을 놓치지 않도록 제1 가상 캐릭터(214A)에 제공된다.
서버(204)와 같은 적어도 하나의 서버는 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하도록 또한 구성되고, 주어진 비디오 스트림은 주어진 가상 캐릭터와 연관된 주어진 가상 카메라의 시점에서 캡처되고, 여기서 주어진 비디오 스트림은 적어도, 주어진 가상 캐릭터의 일부분 및 주어진 가상 캐릭터가 존재하는 3D 가상 환경(202)의 영역을 나타낸다. 예를 들어, 제1 가상 캐릭터(214A)와 연관된 제1 가상 카메라(216A)는 비디오 스트림을 캡처한다. 캡처된 비디오 스트림은 제1 가상 캐릭터(214A)가 존재하는 특정 가상 영역의 상이한 뷰를 포함한다. 또한, 캡처된 비디오 스트림은 대응하는 제1 가상 캐릭터(214A)의 일부분을 포함한다. 또한, 제1 가상 카메라(216A)에 의해 캡처된 비디오 스트림은 제1 사용자 디바이스(210A) 상에 디스플레이되어 3D 가상 환경(202)의 상이한 뷰를 제1 사용자(212A)에 제공한다.
서버(204)와 같은 적어도 하나의 서버는 복수의 비디오 스트림들을 그 위에 디스플레이하기 위해 복수의 사용자 디바이스들에 전송하도록 또한 구성된다. 일 예에서, 제1 가상 카메라(216A)에 의해 캡처된 비디오 스트림은 제1 사용자 디바이스(210A) 상에 디스플레이된다. 다른 예에서, 제2 가상 카메라(216B)에 의해 캡처된 비디오 스트림은 제2 사용자 디바이스(210B) 상에 디스플레이된다. 복수의 사용자 디바이스들 상의 캡처된 비디오 스트림들의 디스플레이는 적어도 하나의 가상 영역의 제3 아이 뷰(eye view)를 복수의 사용자들에게 제공한다.
일 실시예에 따르면, 서버(204)와 같은 적어도 하나의 서버는 프로세서(206)와 같은 적어도 하나의 프로세서, 및 서로 통신가능하게 커플링되는 메모리(208)와 같은 적어도 하나의 메모리를 포함하고, 프로세서(206)와 같은 적어도 하나의 프로세서는 적어도 하나의 3D 가상 환경(202)을 호스팅하는 가상 환경 플랫폼을 구현하도록 구성되고, 메모리(208)와 같은 적어도 하나의 메모리는 적어도 하나의 3D 가상 환경(202)에 관한 정보 및/또는 데이터를 저장하도록 구성된다. 일 구현에서, 서버(204)의 프로세서(206)는 3D 가상 환경(202)에서 태스크들을 실행한다. 또한, 서버(204)의 메모리(208)와 같은 적어도 하나의 메모리는 3D 가상 환경(202)에 관련된 데이터를 저장하기 위한 스토리지를 제공한다.
일 양태에서, 3차원(3D) 가상 환경(202)에서 내비게이션 보조를 제공하기 위한 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 프로세싱 디바이스에 의해 액세스될 때 프로그램 명령어들이 저장된 비일시적 머신 판독가능 데이터 저장 매체를 포함한다. 일 구현에서, 컴퓨터 프로그램 제품은 복수의 사용자들에 의해 제공되는 입력에 대해 실행되도록 요구되는 명령어들 및 커맨드들의 세트를 포함한다. 예를 들어, 제1 사용자(212A)가 제1 가상 캐릭터(214A)를 이동시키라고 명령하는 경우, 컴퓨터 프로그램 제품은 제1 가상 캐릭터(214A)를 이동시키라는 커맨드에 대한 명령어들의 분석 후에 커맨드를 실행한다. 유리하게는, 컴퓨터 프로그램 제품은 3D 가상 환경(202)의 손쉬운 기능을 제공한다. 일 예에서, 명령어들은 컴퓨터 판독가능 매체 상에서 구현되며, 컴퓨터 판독가능 매체는 전기적 소거가능 프로그램가능 판독 전용 메모리(electrically erasable programmable read-only memory; EEPROM), 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 하드 디스크 드라이브(Hard Disk Drive; HDD), 플래시 메모리, 시큐어 디지털(Secure Digital; SD) 카드, 솔리드 스테이트 드라이브(Solid-State Drive; SSD), 컴퓨터 판독가능 저장 매체 및/또는 CPU 캐시 메모리를 포함하지만, 이에 제한되지 않는다. 비일시적 컴퓨터 판독가능 매체는 컴퓨터로 하여금 동작들을 실행하게 하며, 동작들은 복수의 사용자 디바이스들로부터 커맨드를 수신할 시에 복수의 가상 캐릭터들의 이동, 복수의 가상 캐릭터들 중 하나가 적어도 하나의 가상 영역의 부근에 진입할 때 객체의 표시를 포함한다. 또한, 비일시적 컴퓨터 판독가능 매체는 복수의 사용자들 중 임의의 사용자에 의해 업데이트된 데이터를 저장하고, 데이터가 업로드되는 적어도 하나의 가상 영역에 가입한 복수의 사용자들로부터의 특정 사용자에게 데이터를 브로드캐스팅하도록 구성된다. 또한, 비일시적 컴퓨터 판독가능 매체는 복수의 가상 캐릭터들에 의해 뷰잉되는 적어도 하나의 가상 영역을 대응하는 복수의 가상 디바이스들에 디스플레이하도록 구성된다.
도 3a는 본 개시내용의 실시예에 따른, 3D 가상 환경의 구현 시나리오를 예시한다. 도 3a는 도 1 및 도 2로부터의 요소들과 함께 설명된다. 도 3a를 참조하면, 3D 가상 환경(302)의 구현 시나리오(300A)가 도시된다. 제1 사용자(306A), 제2 사용자(306B), 제3 사용자(306C), 및 제4 사용자(306D)와 같은 복수의 사용자들에 3D 가상 환경(302)의 액세스를 제공하기 위한 서버(304)가 추가로 도시된다. 또한, 3D 가상 환경(302)은 적어도 하나의 가상 영역(314), 미리 정의된 내비게이션 경로(316), 및 경로 카메라(318)를 포함한다.
도 3a에 도시된 3D 가상 환경(302)은 도 2의 3D 가상 환경(202)에 대응한다. 도 3a에 도시된 서버(304)는 도 2의 서버(204)에 대응한다. 유사하게, 복수의 사용자들은 도 2의 복수의 사용자들에 대응하고, 복수의 사용자 디바이스들은 도 2의 복수의 사용자 디바이스들에 대응한다.
구현 시나리오(300A)에서, 3D 가상 환경(302)의 적어도 하나의 가상 영역(314)은 제1 사용자(306A), 제2 사용자(306B), 제3 사용자(306C), 및 제4 사용자(306D)와 같은 복수의 사용자들 사이의 화상 회의를 위한 가상 회의실로서 고려된다. 복수의 사용자들 각각은 제1 사용자 디바이스(308A), 제2 사용자 디바이스(308B), 제3 사용자 디바이스(308C), 및 제4 사용자 디바이스(308D)와 같은 복수의 사용자 디바이스들 중 하나를 사용하여 적어도 하나의 가상 영역(314)(즉, 가상 회의실)에 액세스하도록 구성된다. 그 후, 복수의 가상 캐릭터들 각각은 복수의 사용자 디바이스들 중 하나를 통해 복수의 사용자들 중 하나에 의해 제어된다. 예를 들어, 제1 가상 캐릭터(310A)는 적어도 하나의 가상 영역(314)(즉, 가상 회의실)의 부근에 도달하거나 또는 놓이기 위해 제1 사용자 디바이스(308A)를 사용하여 제1 사용자(306A)에 의해 미리 정의된 내비게이션 경로(316) 상에서 이동하도록 요구된다. 유사하게, 제2 가상 캐릭터(310B), 제3 가상 캐릭터(310C) 및 제4 가상 캐릭터(310D) 각각은, 적어도 하나의 가상 영역(314)(즉, 가상 회의실) 부근에 도달하거나 또는 놓이기 위해, 제2 사용자 디바이스(308B), 제3 사용자 디바이스(308C) 및 제4 사용자 디바이스(308D)를 각각 사용하여, 제2 사용자(306B), 제3 사용자(306C) 및 제4 사용자(306D) 각각에 의해 미리 정의된 내비게이션 경로(316) 상에서 이동하도록 요구된다. 복수의 가상 캐릭터들 중 하나가 적어도 하나의 가상 영역(314)(즉, 가상 회의실)에 또는 그 근부에 존재할 때, 관심 지점의 표시가 적어도 하나의 가상 영역(314)(즉, 가상 회의실)을 향해 접근하는 가상 캐릭터에 제공된다. 예를 들어, 제1 가상 캐릭터(310A)가 적어도 하나의 가상 영역(314)(즉, 가상 회의실) 부근에 진입하면, 적어도 하나의 가상 영역(314)(즉, 가상 회의실)은 제1 가상 캐릭터(310A)에 대응하는 제1 사용자(306A)의 주의를 잡기 위해 블링킹되거나 하이라이팅되기 시작한다. 또한, 복수의 가상 카메라들 각각은 복수의 가상 캐릭터들 각각의 비디오 스트림을 캡처하도록 구성된다. 예를 들어, 제1 가상 캐릭터(310A)와 연관된 제1 가상 카메라(312A)는 3D 가상 환경(302)의 적어도 하나의 가상 영역(314)(즉, 가상 회의실)을 향한 제1 가상 캐릭터(310A)의 이동의 비디오 스트림을 캡처하도록 구성된다. 유사하게, 제2 가상 캐릭터(310B), 제3 가상 캐릭터(310C) 및 제4 가상 캐릭터(310D) 각각과 연관된 제2 가상 카메라(312B), 제3 가상 카메라(312C) 및 제4 가상 카메라(312D)는, 3D 가상 환경(302)의 적어도 하나의 가상 영역(314)(즉, 가상 회의실)을 향한 제2 가상 캐릭터(310B), 제3 가상 캐릭터(310C) 및 제4 가상 캐릭터(310D) 각각의 이동의 비디오 스트림을 캡처하도록 구성된다. 캡처된 비디오 스트림은 대응하는 사용자 디바이스 상에 디스플레이된다. 예를 들어, 제1 가상 카메라(312A)에 의해 캡처된 제1 가상 캐릭터(310A)의 비디오 스트림은 제1 사용자 디바이스(308A) 상에 디스플레이된다.
또한, 미리 정의된 내비게이션 경로(316)와 함께 제공되는 경로 카메라(318)가 도시된다. 도 3a에 도시된 미리 정의된 내비게이션 경로(316)가 원의 형상이지만, 미리 정의된 내비게이션 경로(316)가 3D 가상 환경(302)의 적어도 하나의 가상 영역(314) 내의 하나의 위치로부터 다른 위치로 사용자의 가상 캐릭터를 취하도록 임의의 다른 적합한 형상(예를 들어, 도 3b에서 상세히 설명됨)이 사용될 수 있다. 예를 들어, 미리 정의된 내비게이션 경로(316)는 일 단부로부터 다른 단부로 가상 룸을 가로지르는 직선일 수 있거나, 사용자에게 가상 환경의 미리 정의된 경험을 제공하기 위해 방 주위를 도는 사각형, 타원형 또는 직사각형 경로일 수 있고, 이는 여전히 둘러보기(look around)(예를 들어, 경로 카메라(318)를 회전함으로써), 줌인 또는 줌아웃, 기울임 등을 자유롭게 하고, 카메라 경로의 요소와 상호작용하게 하고, 심지어 다른 사용자와 상호 작용하게 한다(예를 들어, 다른 사용자에게 말하거나 문자를 보내거나 그들이 파일 공유을 가능하게 함으로써). 경로 카메라(318)는 3D 가상 환경(302)에서 비디오 스트림을 캡처하도록 구성된다. 일부 구현에서, 경로 카메라(318)는 적어도 하나의 가상 영역(314)(즉, 가상 회의실)에서 일정한 거리 및 일정한 뷰잉 각도를 유지하면서 미리 정의된 내비게이션 경로(316)에서 이동을 수행하도록 구성된다. 경로 카메라(318)는 사용자 디바이스를 사용하여 그들의 대응하는 가상 캐릭터를 통해 임의의 사용자에 의해 액세스되어, 경로 카메라(318)로부터의 뷰를 사용자에게 제공할 수 있다. 경로 카메라(318)가 이동하거나, 뷰잉 각도를 변경하기 위해 경로 카메라(318)를 기울이거나 회전시키는 것과 같이 뷰 지점이 조정될 때, 시점은 3D 가상 환경(302)에서 업데이트된다. 대안적으로, 경로 카메라(318)는 제 3 사람 뷰를 제공한다. 예를 들어, 제1 사용자(306A)가 제2 사용자(306B)에 대응하는 제2 가상 캐릭터(310B)를 뷰잉할 필요가 있지만 제3 가상 캐릭터(310C)가 제1 사용자(306A)의 뷰 사이트를 차단하면, 경로 카메라(318)는 제1 사용자(306A)가 대응하는 제1 가상 캐릭터(310A)의 포지션을 변경할 필요가 없도록 그 포지션 및 배향을 변경함으로써 제2 가상 캐릭터(310B)의 뷰를 제공한다. 유리하게는, 경로 카메라(318)는 복수의 가상 캐릭터의 포지션을 변경하지 않고 다수의 뷰일 각도를 제공한다. 복수의 가상 카메라 각각이 대응하는 가상 캐릭터의 시선 뷰를 제공하는 반면, 경로 카메라(318)가 제3 눈 뷰를 복수의 사용자에게 제공하기 때문에, 복수의 가상 카메라 각각은 경로 카메라(318)와 상이하다. 예를 들어, 제1 가상 캐릭터(310A)가 제2 가상 캐릭터(310B)의 전방에 포지셔닝되면, 제1 사용자(306A)는 제2 가상 캐릭터(310B)만을 볼 수 있다. 그 이유는, 제2 가상 캐릭터(310B)가 제1 가상 카메라(312A)의 시선에 있기 때문이다. 또한, 제1 사용자(306A)는 경로 카메라(318)를 이용하여 제1 가상 캐릭터(310A)를 이동시키지 않고 다른 방향을 뷰잉할 수 있다.
도 3b는 본 발명의 일 실시예에 따른 3D 가상 환경에서 미리 결정된 네비게이션 경로의 구현 시나리오를 도시한다. 도 3b는 도 1a 내지 도 1e, 도 2 및 도 3a로부터의 요소들과 함께 설명된다. 도 3b를 참조하면, 3D 가상 환경(302)에서 미리 결정된 내비게이션 경로의 구현 시나리오(300B)가 도시된다.
일 구현에서, 미리 정의된 내비게이션 경로(316)는 공통 경로로부터 시작하여 복수의 서브-경로들로 분기되고, 복수의 서브-경로들은 3D 가상 환경(302)에서 복수의 사용자들의 좌석으로 나선형으로 아래로 분기된다. 예를 들어, 제1 미리 정의된 내비게이션 경로(320)는 3D 가상 환경(302) 내의 테이블(326) 주위의 복수의 사용자의 좌석에 나선형으로 내려가는 제1 서브 경로(320A), 제2 서브 경로(320B), 제3 서브 경로(320C), 제4 서브 경로(320D), 제5 서브 경로(320E), 제6 서브 경로(320F), 및 제7 서브 경로(320G)와 같은 복수의 서브 경로로 분기된다. 유사하게, 제 2 미리 정의된 내비게이션 경로(322) 및 제 3 미리 정의된 내비게이션 경로(324)는 또한 도 3b에 도시된 바와 같이, 각각 테이블(328) 및 테이블(330) 주위의 복수의 서브-경로들로 분기된다. 유사하게, 다른 가능한 수의 미리 정의된 내비게이션 경로들 및 서브-경로들이 본 개시의 범위를 제한하지 않고 분기될 수 있다.
첨부하는 청구범위에 의해 정의된 본 개시내용의 범위를 벗어나지 않고서, 전술한 본 개시내용의 실시형태들에 대한 변형이 가능하다. 본 개시내용을 기술하고 청구하기 위해 사용된 "포함하는", "구비하다", "통합하는", "갖는", "~인"과 같은 표현은 비배타적인 방식으로, 즉 명시적으로 존재하는 것으로 설명되지 않는 아이템, 컴포넌트 또는 요소가 포함되게 하도록 해석되어야 한다. 단수에 대한 언급도 복수에 대한 언급으로 해석되어야 한다. "예시적"이라는 단어는 본 명세서에서 "예, 사례 또는 예시로서의 역할"을 의미하는 의미로 사용된다. "예시적"으로 설명하는 실시형태가 반드시 다른 실시형태보다 선호되거나 유리한 것으로 해석되거나 다른 실시형태의 피처의 통합을 배제하는 것으로 해석되어서는 안 된다. 본 명세서에서 "선택적으로"라는 단어는 "일부 실시예형태에서는 제공되고 다른 실시형태에서는 제공되지 않는다"는 의미로 사용된다. 명확성을 위해, 개별 실시형태의 맥락에서 설명되는 본 개시내용의 특정 특징은 단일 실시형태에서 조합으로 제공될 수도 있다는 것이 이해될 것이다. 반대로, 간결성을 위해 단일 실시형태의 맥락에서 설명된 본 개시내용의 다양한 특징은 또한 개별적으로 또는 임의의 적절한 조합으로 또는 본 개시의 다른 설명된 실시형태에서 적합한 것으로서 제공될 수도 있다.

Claims (20)

  1. 3차원(three-dimensional; 3D) 가상 환경에서 내비게이션 보조를 제공하는 방법에 있어서,
    복수의 사용자들과 연관된 복수의 사용자 디바이스들을 사용하여 상기 3D 가상 환경에 액세스하는 단계로서, 상기 3D 가상 환경은,
    상기 복수의 사용자들에 대응하는 복수의 가상 캐릭터들 - 상기 복수의 가상 캐릭터들은 상기 복수의 가상 캐릭터들이 상기 3D 가상 환경을 통해 내비게이팅함에 따라 동적으로 변하는 상이한 가상 포지션들로 배열되고, 상기 복수의 가상 캐릭터들은 상기 3D 가상 환경에서 서로 통신함 - , 및
    상기 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들 - 주어진 가상 카메라가 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝되고 주어진 배향으로부터 상기 3D 가상 환경을 뷰잉하고, 상기 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능함 -
    을 포함하는 것인, 상기 3D 가상 환경에 액세스하는 단계;
    상기 3D 가상 환경에서 적어도 하나의 가상 영역을 향해 이동하도록 상기 복수의 가상 캐릭터들을 지향시키기 위해 상기 3D 가상 환경에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하는 단계;
    상기 복수의 가상 캐릭터들 중 적어도 하나의 가상 캐릭터가 상기 적어도 하나의 가상 영역에 또는 그 부근에 존재할 때 상기 적어도 하나의 가상 영역에서 장면 세부사항(scene detail)의 표시를 제공하는 단계;
    상기 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하는 단계 - 주어진 비디오 스트림은 주어진 가상 캐릭터와 연관된 주어진 가상 카메라의 시점(perspective)에서 캡처되며, 상기 주어진 비디오 스트림은 적어도, 상기 주어진 가상 캐릭터가 존재하는 상기 3D 가상 환경의 영역을 나타냄 - ; 및
    상기 복수의 비디오 스트림들을 그 위에 디스플레이하기 위해 상기 복수의 사용자 디바이스들에 전송하는 단계
    를 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 미리 정의된 내비게이션 경로는 상기 적어도 하나의 가상 영역에서 복수의 서브-경로들로 분할되고, 상기 적어도 하나의 미리 정의된 내비게이션 경로는 3D 스플라인이고, 상기 3D 스플라인은 일련의 세그먼트를 포함하고, 주어진 세그먼트는 선형 세그먼트, 곡선형 세그먼트 중 하나인 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 복수의 서브-경로들은 나선형 패턴, 선형 패턴, 자유형 패턴 중 적어도 하나의 형태인 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 장면 세부사항의 표시는 시각적 표시, 오디오 표시, 햅틱(haptic) 표시 중 적어도 하나의 형태인 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 주어진 비디오 스트림은 또한 상기 주어진 가상 캐릭터의 일부분을 나타내는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 주어진 가상 카메라는 상기 대응하는 가상 캐릭터의 높이 위에 포지셔닝되는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    임의의 주어진 시간에, 상기 복수의 가상 캐릭터들의 상이한 가상 포지션은 기하학적 구조(geometry)를 형성하고, 상기 기하학적 구조는 원형 기하학적 구조, 타원형 기하학적 구조, 다각형 기하학적 구조, 선형 기하학적 구조, 아치형 기하학적 구조, 곡선형 기하학적 구조, 자유형 기하학적 구조 중 하나인 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 복수의 가상 캐릭터들 중에서 주어진 캐릭터와 연관된 데이터를 상기 3D 가상 환경의 주어진 영역에 공개(publishing)하는 단계; 및
    사용자가 상기 3D 환경의 주어진 영역에 가입한 적어도 하나의 사용자 디바이스에 상기 데이터를 브로드캐스팅하는 단계
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  9. 제 8 항에 있어서,
    상기 데이터는 상기 주어진 캐릭터와 연관된 포지션, 배향, 오디오, 비디오 중 적어도 하나를 포함하는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 복수의 사용자 디바이스들 중에서 적어도 하나의 사용자 디바이스를 사용하여 상기 주어진 가상 카메라를 제어하는 단계
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    대응하는 가상 캐릭터가 상기 적어도 하나의 미리 정의된 내비게이션 경로를 따라 이동하는 적어도 하나의 가상 카메라의 포지션의 시각적 표시를 제공하는 단계
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    사용자 디바이스에서, 상기 복수의 사용자 디바이스들 중에서 적어도 2개의 다른 사용자 디바이스들로부터 적어도 2개의 비디오 스트림을 수신하는 단계;
    상기 사용자 디바이스의 사용자에 대응하는 가상 캐릭터의 가상 포지션 및 상기 가상 캐릭터에 대응하는 가상 카메라의 뷰 방향에 대한 상기 적어도 2개의 비디오 스트림에 대응하는 가상 캐릭터의 상대적 가상 포지션에 기초하여, 상기 적어도 2개의 비디오 스트림을 메인 스트림 및 적어도 하나의 주변 스트림으로 조직화(organizing)하는 단계 - 상기 가상 캐릭터는 상기 적어도 2개의 다른 사용자 디바이스의 적어도 2명의 사용자에 대응함 -
    상기 사용자 디바이스에서, 디스플레이하기 위해 가변 비디오 품질로 상기 메인 스트림 및 상기 적어도 하나의 주변 스트림을 제공하는 단계 - 상기 메인 스트림의 비디오 품질은 상기 적어도 하나의 주변 스트림의 비디오 품질보다 높음 -
    를 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  13. 제 12 항에 있어서,
    상기 적어도 2개의 비디오 스트림을 조직화하는 단계는,
    비디오 스트림에 대응하는 가상 캐릭터의 가상 포지션이 상기 사용자 디바이스의 사용자에 대응하는 가상 캐릭터의 가상 포지션으로부터 미리 정의된 임계 거리보다 큰 거리에 놓일 때; 및/또는
    상기 비디오 스트림에 대응하는 가상 캐릭터의 포지션이 상기 가상 캐릭터에 대응하는 가상 카메라의 뷰 방향으로부터 미리 정의된 임계 각도보다 큰 각도로 놓일 때,
    상기 비디오 스트림을 주변 스트림으로 결정하는 단계를 포함하는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    대응하는 가상 캐릭터가 상기 가상 캐릭터의 사용자와 연관된 사용자 디바이스로부터 상기 적어도 하나의 미리 정의된 내비게이션 경로를 따라 이동하는 각각의 가상 카메라의 포지션 좌표를 나타내는 메타데이터를 상기 복수의 사용자 디바이스들 중에서 적어도 하나의 다른 사용자 디바이스에 브로드캐스팅하는 단계
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 복수의 가상 캐릭터들 중 임의의 가상 캐릭터가 상기 적어도 하나의 미리 정의된 내비게이션 경로를 통해 상기 적어도 하나의 가상 영역에 진입할 때 적어도 하나의 액션을 트리거하는 단계 - 상기 적어도 하나의 미리 정의된 내비게이션 경로는 상기 복수의 가상 캐릭터들 중 임의의 가상 캐릭터가 존재하면 상기 적어도 하나의 액션이 트리거되는 적어도 하나의 트리거 지점을 포함함 -
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 액션은, 비디오를 전송하는 것, 오디오를 재생하는 것, 상기 적어도 하나의 미리 정의된 내비게이션 경로에 배치된 객체를 활성화(activating)하는 것 중 적어도 하나를 포함하는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  17. 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 복수의 사용자 디바이스들의 카메라를 사용하여, 상기 복수의 사용자들을 나타내는 복수의 비디오 피드들을 캡처하는 단계;
    대응하는 비디오 피드로부터 상기 복수의 사용자들의 각각의 사용자의 배경을 제거하는 단계; 및
    상기 복수의 사용자들 중 그들의 배경이 없는 각각의 사용자의 비디오 컷아웃을 상기 3D 가상 환경에서의 대응하는 가상 캐릭터와 병합하는 단계
    를 더 포함하는, 3차원 가상 환경에서 내비게이션 보조를 제공하는 방법.
  18. 3차원(three-dimensional; 3D) 가상 환경에서 내비게이션 보조를 제공하는 시스템에 있어서,
    복수의 사용자들과 연관된 복수의 사용자 디바이스들; 및
    상기 복수의 사용자 디바이스들에 통신가능하게 커플링된 적어도 하나의 서버
    를 포함하고,
    상기 적어도 하나의 서버는,
    상기 복수의 사용자 디바이스들에 상기 3D 가상 환경에 대한 액세스를 제공하도록 - 상기 3D 가상 환경은,
    상기 복수의 사용자들에 대응하는 복수의 가상 캐릭터로서, 상기 복수의 가상 캐릭터들은 상기 복수의 가상 캐릭터들이 상기 3D 가상 환경을 통해 내비게이팅함에 따라 동적으로 변하는 상이한 가상 포지션들로 배열되고, 상기 복수의 가상 캐릭터들은 상기 3D 가상 환경에서 서로 통신하는 것인, 상기 복수의 가상 캐릭터들, 및
    상기 복수의 가상 캐릭터들에 대응하는 복수의 가상 카메라들로서, 주어진 가상 카메라가 대응하는 가상 캐릭터로부터 주어진 거리에 포지셔닝되고 주어진 배향으로부터 상기 3D 가상 환경을 뷰잉하고, 상기 주어진 가상 카메라는 대응하는 가상 캐릭터의 이동에 따라 이동가능한, 상기 복수의 가상 카메라들을 포함함 - ;
    상기 3D 가상 환경에서 적어도 하나의 가상 영역을 향해 이동하도록 상기 복수의 가상 캐릭터들을 지향시키기 위해 상기 3D 가상 환경에서 적어도 하나의 미리 정의된 내비게이션 경로를 제공하도록;
    상기 복수의 가상 캐릭터들 중 적어도 하나의 가상 캐릭터가 상기 적어도 하나의 가상 영역에 또는 그 부근에 존재할 때 상기 적어도 하나의 가상 영역에서 장면 세부사항의 표시를 제공하도록;
    상기 복수의 가상 카메라들을 사용하여 복수의 비디오 스트림들을 캡처하도록 - 주어진 비디오 스트림은 주어진 가상 캐릭터와 연관된 주어진 가상 카메라의 시점에서 캡처되며, 상기 주어진 비디오 스트림은 적어도, 상기 주어진 가상 캐릭터의 일부분 및 상기 주어진 가상 캐릭터가 존재하는 상기 3D 가상 환경의 영역을 나타냄 - ; 및
    상기 복수의 비디오 스트림들을 그 위에 디스플레이하기 위해 상기 복수의 사용자 디바이스들에 전송하도록
    구성되는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 시스템.
  19. 제 18 항에 있어서,
    상기 적어도 하나의 서버는 서로 통신가능하게 커플링된 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하고, 상기 적어도 하나의 프로세서는 적어도 하나의 3D 가상 환경을 호스팅하는 가상 환경 플랫폼을 구현하도록 구성되고, 적어도 하나의 메모리는 상기 적어도 하나의 3D 가상 환경에 속하는 정보 및/또는 데이터를 저장하도록 구성되는 것인, 3차원 가상 환경에서 내비게이션 보조를 제공하는 시스템.
  20. 3차원(three-dimensional; 3D) 가상 환경에서 내비게이션 보조를 제공하기 위한 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 프로그램 명령어들이 저장된 비일시적 머신 판독가능 데이터 저장 매체를 포함하고, 상기 프로그램 명령어들은 프로세싱 디바이스에 의해 액세스될 때, 상기 프로세싱 디바이스로 하여금 제1항 내지 제17항 중 어느 한 항의 방법의 단계를 실행하게 하는 것인, 컴퓨터 프로그램 제품.
KR1020230069759A 2022-05-31 2023-05-31 3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템 KR20230166957A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR20230166957A true KR20230166957A (ko) 2023-12-07

Family

ID=86609577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230069759A KR20230166957A (ko) 2022-05-31 2023-05-31 3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템

Country Status (5)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230412767A1 (en) * 2022-06-21 2023-12-21 Viktor Kaptelinin Obtaining feedback in virtual meetings
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 (3)

* 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
US11058950B2 (en) * 2019-03-15 2021-07-13 Sony Interactive Entertainment Inc. Methods and systems for spectating characters in virtual reality views
JP7476580B2 (ja) * 2020-03-09 2024-05-01 株式会社Jvcケンウッド 観戦支援装置、観戦支援方法、及び観戦支援プログラム

Also Published As

Publication number Publication date
US20230381670A1 (en) 2023-11-30
EP4286995A1 (en) 2023-12-06
CN117152389A (zh) 2023-12-01
JP2023177310A (ja) 2023-12-13

Similar Documents

Publication Publication Date Title
US12079942B2 (en) Augmented and virtual reality
US11600046B2 (en) Selecting two-dimensional imagery data for display within a three-dimensional model
JP7498209B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
US11969666B2 (en) Head-mounted display for navigating virtual and augmented reality
US20170144069A1 (en) Head-mounted display for navigating a virtual environment
KR20230166957A (ko) 3차원 가상 환경에서 내비게이션 보조를 제공하기 위한 방법 및 시스템
US20140002580A1 (en) Portable proprioceptive peripatetic polylinear video player
US20230368464A1 (en) Information processing system, information processing method, and information processing program
WO2022156490A1 (zh) 虚拟场景中画面展示方法、装置、设备、存储介质及程序产品
WO2023213185A1 (zh) 直播画面数据处理方法、装置、设备、存储介质及程序
US20230334790A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
US20230334792A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
CN117278820A (zh) 视频生成方法、装置、设备及存储介质
US20240185546A1 (en) Interactive reality computing experience using multi-layer projections to create an illusion of depth
US20230334791A1 (en) Interactive reality computing experience using multi-layer projections to create an illusion of depth
CN118113186A (zh) 全景漫游方法、装置、设备及可读存储介质
WO2023215637A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
WO2024039885A1 (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
WO2024039887A1 (en) Interactive reality computing experience using optical lenticular multi-perspective simulation
CN114900679A (zh) 一种三维模型展示方法、装置、电子设备及可读存储介质
CN116954412A (zh) 虚拟角色的显示方法、装置、设备及存储介质
Hoch et al. Individual and Group Interaction
Alfaro Bernate Surround vision: a handheld screen for accessing peripheral content around the TV