KR20220123576A - 3차원(3d) 환경에 대한 통합된 입/출력 - Google Patents

3차원(3d) 환경에 대한 통합된 입/출력 Download PDF

Info

Publication number
KR20220123576A
KR20220123576A KR1020220019520A KR20220019520A KR20220123576A KR 20220123576 A KR20220123576 A KR 20220123576A KR 1020220019520 A KR1020220019520 A KR 1020220019520A KR 20220019520 A KR20220019520 A KR 20220019520A KR 20220123576 A KR20220123576 A KR 20220123576A
Authority
KR
South Korea
Prior art keywords
user
environment
input
avatar
audio
Prior art date
Application number
KR1020220019520A
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 KR20220123576A publication Critical patent/KR20220123576A/ko

Links

Images

Classifications

    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • 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
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/048023D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Steroid Compounds (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

다양한 입력 모드 및 출력 모드가 삼차원(3D) 환경에 대하여 이용될 수 있다. 사용자는 3D 환경에서 사용자의 3D 아바타를 애니메이팅하기 위하여 특정 입력 모드(예컨대, 텍스트, 오디오, 비디오 등)를 이용할 수 있다. 사용자는 3D 환경의 프레젠테이션에서 특정 출력 모드(예컨대, 텍스트, 오디오, 3D 애니메이션 등)를 이용할 수 있다. 입력/출력 모드는 사용자의 위치와 같은 조건에 기초하여 변경될 수 있다.

Description

3차원(3D) 환경에 대한 통합된 입/출력 {INTEGRATED INPUT/OUTPUT (I/O) FOR A THREE-DIMENSIONAL (3D) ENVIRONMENT}
본 개시는 일반적으로 3차원(3D) 환경에서의 통신에 관한 것이며, 특히 그러나 배타적이지는 않게, 3D 환경에서 복수의 입력/출력(I/O) 모드를 제공하기 위한 방법, 시스템 및 컴퓨터 판독가능 매체에 관한 것이다.
온라인 비디오 회의는 보통 참가자, 참가자의 아바타 또는 참가자의 다른 그래픽 표현의 썸네일 또는 전체화면 비디오 이미지를 나타내는 사용자 인터페이스를 수반한다. 그러한 비디오 회의는 참가자에게 완전히 실감나는 경험을 제공하지는 않는다.
예컨대, 참가자가 다른 참가자의 "떠있는 머리"와 기본 오디오가 있는 디스플레이 스크린을 단순히 보고 있는 경우, 사용자/참가자가 대화에 계속 완전히 빠져있고 관심가지고 있는 것은 어렵다.
또한, 참가자의 주변 환경 및/또는 참가자의 사용자 장치에 의해 제공되는 입력/출력의 유형은 참가자가 온라인 회의에 효과적으로 참가하는 것을 어렵게 할 수 있다. 예컨대, 참가자는 참가자의 사용자 장치 상에 카메라를 가지지 않을 수 있으며, 다른 참석자들은 그 참가자를 보지 못할 수 있다.
방법은 제1 입력 신호를 제1 사용자로부터 수신하고 제1 입력 신호를 3D 환경에서 제1 사용자를 나타내는 제1 아바타의 애니메이션을 위해 이용하는 단계 - 제1 아바타의 애니메이션은 제1 입력 신호가 제1 사용자로부터 수신되는 제1 입력 모드 및 제1 입력 신호에 의해 제공되는 감정 정보에 적어도 부분적으로 기초함 -; 3D 환경을 제1 사용자 및 적어도 제2 사용자에게 표시하는 단계 - 제1 사용자 및 적어도 제2 사용자에게의 3D 환경의 표시는 제1 사용자 및 적어도 제2 사용자에 의해 선택되는 각 제1 출력 모드에 기초함 -; 및 제1 사용자의 위치에서의 변동에 응답하여, 사용자의 입력 모드를 제1 입력 모드로부터 제2 입력 모드로 변경하는 단계를 포함한다.
다른 양상에 따르면, 저장된 명령어를 가지는 비일시적 컴퓨터 판독가능 매체가 제공되며, 명령어는 프로세서의 실행에 응답하여, 프로세서로 하여금 3차원(3D) 환경에 대한 동작들을 수행하거나 동작들의 수행을 제어하도록 한다. 동작들은 제1 입력 신호를 제1 사용자로부터 수신하고 제1 입력 신호를 3D 환경에서 제1 사용자를 나타내는 제1 아바타의 애니메이션을 위하여 이용하는 동작 - 제1 아바타의 애니메이션은 제1 입력 신호가 제1 사용자로부터 수신되는 제1 입력 모드 및 제1 입력 신호에 의해 제공되는 감정 정보에 적어도 부분적으로 기초함 -; 3D 환경을 제1 사용자 및 적어도 제2 사용자에게 표시하는 동작 - 제1 사용자 및 적어도 제2 사용자에게의 3D 환경의 표시는 제1 사용자 및 적어도 제2 사용자에 의해 선택된 각 제1 출력 모드에 기초함 -; 및 제1 사용자의 위치에서의 변동에 응답하여, 사용자의 입력 모드를 제1 입력 모드로부터 제2 입력 모드로 변경하는 동작을 포함한다.
또 다른 양상에 따르면, 프로세서; 및 프로세서에 결합되고 저장된 명령어를 가지는 비일시적 컴퓨터 판독가능 매체를 포함하는 장치가 제공되며, 명령어는 프로세서의 실행에 응답하여, 프로세서로 하여금 3차원(3D) 환경에 대한 동작들을 수행하거나 동작들의 수행을 제어하도록 하고, 동작들은 제1 입력 신호를 제1 사용자로부터 수신하고 제1 입력 신호를 3D 환경에서 제1 사용자를 나타내는 제1 아바타의 애니메이션을 위하여 이용하는 동작 - 제1 아바타의 애니메이션은 제1 입력 신호가 제1 사용자로부터 수신되는 제1 입력 모드 및 제1 입력 신호에 의해 제공되는 감정 정보에 적어도 부분적으로 기초함 -; 3D 환경을 제1 사용자 및 적어도 제2 사용자에게 표시하는 동작 - 제1 사용자 및 적어도 제2 사용자에게의 3D 환경의 표시는 제1 사용자 및 적어도 제2 사용자에 의해 선택된 각 제1 출력 모드에 기초함 -; 및 제1 사용자의 위치에서의 변동에 응답하여, 사용자의 입력 모드를 제1 입력 모드로부터 제2 입력 모드로 변경하는 동작을 포함한다.
도 1은 일부 구현예에 따른, 예시적인 3D 환경을 도시한다.
도 2는 일부 구현예에 따라, 도 1의 3D 환경에서 사용자에 대하여 인에이블될 수 있는 예시적인 입력 모드 및 출력 모드를 도시한다.
도 3은 일부 구현예에 따라, 입력 모드로서 비디오의 예시를 도시한다.
도 4는 일부 구현예에 따라, 사용자의 위치에 기초한 입력/출력 모드에서의 변경의 예시를 도시한다.
도 5는 일부 구현예에 따라, 입력/출력 모드에 대한 다양한 사용자 선호의 예시를 도시한다.
도 6은 일부 구현예에 따라, 변동하는 입력/출력 모드와 함께 3D 환경 및 애니메이팅된 3D 아바타를 제공할 수 있는 3D 환경 플랫폼을 포함하는 예시적인 시스템 아키텍처의 도면이다.
도 7은 일부 구현예에 따라, 변동하는 입력/출력 모드를 이용하는 3D 환경을 동작하기 위한 방법을 예시하는 흐름도이다.
도 8은 일부 구현예에 따라, 예시적인 컴퓨팅 장치를 예시하는 블록도이다.
이하의 상세한 설명에서, 여기에서의 일부를 형성하는 첨부된 도면에 대한 참조가 이루어진다. 도면에서, 유사한 부호는, 별다른 언급이 없다면, 보통, 유사한 컴포넌트를 식별한다. 상세한 설명, 도면 및 청구범위에서 설명된 예시적인 실시예는 제한을 의도하지 않는다. 여기에서 제시된 대상의 사상 또는 범위를 벗어나지 않으면서, 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고 도면에서 예시된 바와 같이, 본 개시의 양상은 다양한 상이한 구성으로 배열되고, 대체되고, 조합되고, 분리되고 설계될 수 있으며, 모두 여기에서 고려된다.
"일 실시예", "실시예", "예시적인 실시예" 등에 대한 명세서 내 참조는 설명된 실시예가 특정 피처, 구조 또는 특징을 포함할 수 있음을 나타내지만, 모든 실시예는 특정 피처, 구조 또는 특징을 포함할 필요가 없을 수 있다. 또한, 그러한 문구는 동일한 실시예를 참조할 필요가 없다. 또한, 특정 피처, 구조 또는 특징이 일 실시예와 함께 설명되는 경우, 그러한 피처, 구조 또는 특징은 명시적으로 설명되었든 아니든 다른 실시예와 관련하여 유효하다.
여기에서 설명된 실시예는 복수의 입력 모드 및 복수의 출력 모드를 지원하는 3차원(3D) 아바타를 나타내기 위한 시스템 및 방법을 제공함으로써 상기 또는 기타 단점을 다룬다. 3D 아바타는 가상 현실(VR) 회의, 증강 현실(AR) 설정과 같은 다양한 유형의 3D 환경에서, 온라인 게임에서 또는 하나 이상의 3D 아바타에 의해 3D 환경에서 나타나는 하나 이상의 사용자를 포함할 수 있는 기타 유형의 3D 환경에서, 나타날 수 있다. 여기에서 설명되는 VR 회의 예시에서, 다양한 사용자는 그들 각각 선택한 모드를 통하여 VR 회의에 참여하며, 시스템은 사용자 간의 단일 공유형 가상 회의 세션을 생성하도록 모드 간의 상호 운용성을 가능하게 한다.
시스템은 (VR 회의와 같은) 3D 환경에서 각 개별 사용자/참가자에 대하여 3D 아바타를 생성하고 각 사용자에 의해 제공되거나 각 사용자로부터 센싱된 입력에 기초하여 각 아바타를 애니메이팅한다. 다른 사용자는 이후, 마치 실제 생생한 환경에 참여하는 것처럼, 3D 환경에서 애니메이팅되는 아바타를 보고/보거나 들을 수 있다. 각 사용자는 자신이 3D 환경 (예컨대, 오디오, 오디오만, 텍스트만, 이미지, 또는 다른 포맷 또는 이들의 조합이 있는 애니메이팅된 3D 아바타)에서 어떻게 나타나는지를 제어할 수 있다. 또한, 각 사용자는 다른 사용자/참가자가 3D 환경에서 그 사용자에게 어떻게 나타날지를 제어할 수도 있다. 예컨대, 제1 사용자는 3D 환경에서 제2 사용자의 텍스트를 읽기만 원할 수 있고, 제2 사용자의 애니메이팅된 3D 아바타를 보거나 제2 사용자로부터의 오디오를 듣기 원하지 않고, 따라서, 제1 사용자에게 나타난 3D 환경은 사용자가 말할 때마다 제1 사용자에게 제2 사용자의 텍스트만 디스플레이할 수 있다.
다양한 다른 예시적인 특징 및 구현예가 다음에서 설명된다
먼저 도 1을 참조하면, 일부 구현예에 따라, 예시적인 3D 환경이 일반적으로 100으로 도시된다. 3D 환경(100)은 3D 오브젝트를 가지는 컴퓨터 생성 이미지를 포함한다. 도 1의 예시에서, 3D 환경(100)은, 사용자 A, 사용자 B, 사용자 C 및 사용자 D로서 라벨링되는 4 명의 참가자(참석자)를 가지는 가상 현실(VR) 회의를 포함한다. 3D 환경(100)은 증강 현실(AR) 플랫폼 또는 기타 유형의 3D 플랫폼과 같은 다른 플랫폼을 통하여 제공될 수 있다. 그러한 3D 플랫폼으로, 3D 캐릭터가 실제 사람을 나타내는 데 이용될 수 있으며, 실제 사람은 (선택가능한/커스터마이징 가능한 3D 캐릭터의 외형을 가지고) 회의에 참석한다. 3D 캐릭터 또는 다른 3D 오브젝트가 또한 미팅에 실제 있지 않은 사람 또는 물건을 나타내는 데 이용될 수 있다(예컨대, 3D 캐릭터가 참석하지 않은 사람을 나타내도록 빈 의자에 배치될 수 있고, 물리적으로 있지 않은 테이블이 미팅을 위한 그래픽적 3D 오브젝트로서 생성될 수 있는 등임).
3D 환경 플랫폼(200)(예컨대, 도 2 참조)은 VR 회의에서 각각의 사용자/참가자에 대한 3D 아바타를 생성하고 각 사용자에 의해 제공되거나 각 사용자로부터 센싱된 입력에 기초하여 각 3D 아바타를 애니메이팅한다. 따라서, 사용자가 지리적으로 멀거나 서로 떨어질 수 있는 한편, 각 사용자는 3D 환경(100)에서 일부 방식으로 (예컨대, 3D 아바타로서) 나타날 수 있다. 사용자 각각은 따라서, 마치 실제 생생한 회의에 참가하는 것처럼 VR 회의에서 애니메이팅된 3D 아바타를 보고 및/또는 들을 수 있다.
3D 환경에서 나타난 바와 같은 3D 아바타는 그 각 사용자에 의해 선택된 임의의 폼을 취할 수 있다. 예컨대, 도 1에서 사용자 A, 사용자 C 및 사용자 D는 인간 폼을 취하도록 그 3D 아바타를 선택하였다. 인간 폼은 결과적으로 사용자의 실제 물리적 외모를 흉내낼 수 있거나 사용자가 그 아바타에 대하여 상이한 외모를 선택할 수 있다(예컨대, 유명한 배우의 유사성을 가지거나 일부 다른 실제 또는 상상의 인물의 외모를 가지는 아바타를 선택함). 사용자 B와 같이, 사용자는 사람일 필요가 없는 외모(예컨대, 도 1에 도시된 바와 같은 외계인, 동물 또는 기타 생물 또는 무생물 오브젝트)를 선택할 수 있다.
또한, 3D 환경 플랫폼(200)은 제1 사용자가, 제2 사용자가 제1 사용자에게 3D 환경에서 어떻게 나타나는지 제어할 수 있게 할 수 있다. 예컨대, 사용자 C는 사용자 B에 의해 선택된 외계인 외모를 좋아하지 않을 수 있다. 따라서, 3D 환경 플랫폼(200)은 사용자 C에게, 외계인 외모를 인간 외모로 오버라이드(override)하기 위한 능력을 제공할 수 있다. 따라서, 사용자 C에게 나타난 3D 환경(100)은 사용자 B를 인간 폼으로 보여주는 한편, 다른 사용자 모두는 3D 환경(100) 내 미팅의 그 각각의 프레젠테이션에서 외계인 폼으로 사용자 B를 볼 것이다.
도 1에 도시된 예시적인 미팅에서, 사용자 C에 의해 언급된 발언은 오디오 포맷보다는 또는 오디오 포맷에 더하여, 버블 텍스트 포맷(102)과 같이 텍스트로서 나타난다. 사용자 C는 다른 사용자에게 텍스트로 나타날 자신의 발언을 선택했을 수 있고 및/또는 다른 사용자 중 하나는 3D 환경(100) 내 미팅의 그 각각의 프레젠테이션에서 텍스트로서 나타날 사용자 C의 발언을 선택했을 수 있다.
도 1에 도시된 VR 회의의 예시적인 뷰는 특정 사용자에게 나타날 수 있는 것의 폼 및 콘텐트를 나타낸다. 예컨대, 사용자 A는 참가자가 모두 애니메이팅된 3D 아바타로서 나타나도록 그 선호를 설정했을 수 있으며, 여기서 3D 아바타 중 적어도 일부는 그 발언 출력에 대한 오디오를 제공한다. 사용자 A 및/또는 사용자 C는 오디오 출력에 대안적으로 또는 추가적으로, 사용자 C에 대한 텍스트 출력을 제공하도록 그 선호를 더 설정했을 수 있다. 따라서, 도 1은 이러한 예시에서 사용자 A에게 나타난 미팅의 폼 및 콘텐트를 도시하는 한편, 다른 사용자 각각은 사용자에 대하여 변동되는 입력 모드 및 출력 모드에 따라 이러한 다른 사용자에게 각각 제공되는 미팅에 대한 상이한 폼 및 콘텐트를 가질 수 있다. 예컨대, 다른 사용자 중 하나는 "오디오만"의 출력 모드로 설정했을 수 있고, 따라서, 그러한 사용자는 다른 미팅 참가자로부터 오디오 출력을 제공받고 다른 사용자의 임의의 텍스트 또는 3D 애니메이션을 제공받지 않는다.
사용자가 3D 환경에 대하여 제공하는 입력 모드의 유형은 텍스트, 오디오, 텍스트가 있는 카메라 트랙킹을 통한 비디오, 오디오에 더한 카메라 트랙킹을 통한 비디오 및 다른 포맷을 포함할 수 있으나 이에 제한되지 않는다. 사용자에게 이용가능한 출력 모드(예컨대, 다른 사용자가 3D 환경에서 사용자에게 나타나는 방식)의 유형의 예시는 텍스트, 오디오, 오디오가 있는 3D 아바타 애니메이션, (텍스트 버블을 포함하는) 텍스트가 있는 3D 아바타 애니메이션, 텍스트 및/또는 오디오가 있는 정지 이미지 및 다른 포맷을 포함할 수 있으나 이에 제한되지 않는다. 일부 실시예에 따르면 그리고 전술한 바에 더하여, 사용자는 또한 미팅 중에 다른 참가자에게 어떻게 나타날지에 대한 오디오의 유형(예컨대, 사용자의 실제 음성, 일부 다른 사람의 음성, 만화 음성 또는 다른 합성 음성 등)을 선택할 수 있다.
도 1에 도시된 바와 같은 VR 회의는 단지 가능한 구현예의 일 예시이다. 복수 유저 간의 회의를 수반할 필요가 없을 수 있는 3D 환경에서 구현되는 다른 예시에서, 단일 사용자가 3D 환경에서 3D 아바타에 의해 나타날 수 있다. 3D 아바타에 의해 생성되는 행동/오디오/외모는 사용자에 의해 이용되는 입력 모드(예컨대, 텍스트 입력, 카메라 입력 등)에 기초하여 제어될 수 있고, 3D 아바타가 (3D 환경에서 수반되는/나타나는 그들 자신의 3D 아바타를 가질 필요가 없을 수 있는) 다른 사용자에게 나타나는 방식은 사용자에 의해 선택되거나 이러한 다른 사용자에 의해 선택되는 출력 모드(예컨대, 3D 환경에서 단지 3D 아바타를 보는 것과 조합하거나 이에 대한 대안으로의 텍스트, 오디오, 언어 선호 등)에 의해 제어될 수 있다.
예컨대, 3D 게이밍 환경에서 전자 게임의 사용자/플레이어는 게임에 수반된 유일한 플레이어일 수 있다. 게임 내 사용자의 3D 아바타의 언급된 오디오, 움직임 등은 사용자에 의해 제공된 입력 모드(텍스트, 음성, 카메라 등)에 기초한다. 한편, 다른 사용자가 3D 게이밍 환경에 액세스할 수 있고 (그리고 게임에서 플레이하고 있을 필요는 없을 수 있음) 게임 내 플레이어의 진행/게임 플레이를 관찰할 수 있고 이러한 다른 사용자는 플레이어의 3D 아바타를 보고, 플레이어에 의해 언급된 텍스트를 읽고, 플레이어에 의해 언급된 오디오를 듣고, 및/또는 이러한 다른 사용자에 의해 선택된 일부 다른 출력 모드로 나타냄(및/또는 사용자가 그 3D 아바타가 게임 중에 다른 사용자에게 어떻게 나타날지 제어하기 원하는 경우, 사용자에 의해 명시된 출력 모드로 나타냄)으로써 그러한 진행/게임 플레이를 관찰할 수 있다.
다른 예시에서, 단일 사용자(3D 아바타)는, 학생 시청자들에게 온라인 강의를 하는 선생님일 수 있고, 학생 시청자들은 자신이 온라인 강의를 나타내는 3D 환경에서 아바타에 의해 표현되지 않는다. 학생들 각각은 출력 모드를 제어하여 학생이 텍스트를 읽는 것, 오디오를 듣는 것, 텍스트 및 오디오를 모두 수신하는 것, 오디오 및/또는 텍스트가 있는 선생님의 3D 애니메이션을 보는 것 등을 선택할 수 있다.
도 2는 일부 구현예에 따라, 도 1의 3D 환경 내 사용자에 대하여 인에이블(enable)될 수 있는 예시적인 입력 모드 및 출력 모드를 도시한다. 각 사용자에 대하여 인에이블되는 입력 모드 및/또는 출력 모드는 사용자가 명시한 설정, 사용자의 클라이언트 장치의 능력, 사용자의 환경 또는 기타 조건 (예컨대, 사용자의 위치, 사용자가 운전 또는 걷기와 같은 일부 활동에 관여되는지 여부) 및/또는 기타 파라미터 또는 이들의 조합에 기초할 수 있다. (도 1과 동시에 고려될 수 있는) 도 2에서, 사용자 A-D 각각은 각각의 클라이언트 장치(202-208)를 동작하고, 각각의 클라이언트 장치(202-208)는 결과적으로 도 1의 3D 환경(100)에서 보유되는 세션 도중 3D 환경 플랫폼(200)과 통신한다.
도 2의 다양한 예시에 따르면, 사용자 A는 오디오 및 비디오의 입력 모드 (그리고 아마도 텍스트와 같은 다른 추가적인 입력 모드)를 지원하는 클라이언트 장치(202)를 동작하고 있다. 예컨대, 사용자 A의 클라이언트 장치(202)는 사용자 A의 발언한 단어를 캡처하기 위한 마이크로폰 및 사용자 A의 라이브 비디오를 캡처하기 위한 카메라를 가질 수 있다. 따라서, 오디오 및 비디오는 선호되는 입력 모드로서 사용자 A에 의해 명백히 선택될 수 있거나 그러한 입력 모드가 클라이언트 장치(202)에 의해 자동적으로 선택될 수 있다. 일부 구현예에서, 3D 환경 플랫폼(200)은 클라이언트 장치(202)의 능력을 검출함으로써, 그러한 입력 모드를 선택하고, 사용자 A는 3D 환경(200) 또는 클라이언트 장치(202)에 의해 선택된 입력 모드를 수용하거나 오버라이드 하기위한 옵션을 제공받을 수 있다.
출력 모드에 관하여, 클라이언트 장치(202)는 오디오 및 3D 애니메이션 (그리고, 또한 텍스트와 같은 추가적인 다른 출력 모드)을 지원한다. 따라서, 그러한 출력 모드가 (예컨대, 사용자 A에 의해, 클라이언트 장치(202)에 의해 및/또는 3D 환경 플랫폼(200)에 의해) 클라이언트 장치(202)에 대하여 인에이블되는 경우, 사용자 A는 도 1의 3D 환경(100)으로부터 3D 애니메이션을 (첨부된 오디오와 함께) 볼 수 있다.
클라이언트 장치(202) (및/또는 도 2에서 다른 클라이언트 장치 중 적어도 일부)는 따라서 스마트 전화기, 랩탑 또는 데스크탑 컴퓨터, VR 헤드기어 또는 오디오, 텍스트 또는 기타 출력 포맷과 함께 출력으로서 디스플레이 스크린 상에 3D 환경(100)을 렌더링할 수 있고 또한 사용자 입력(예컨대, 음성, 얼굴 표정, 몸 동작, 감정 등)을 획득(예컨대, 수신, 센싱 및/또는 해석)하는 입력 모드를 지원할 수 있는 하드웨어 및 거기에 설치된 소프트웨어의 풀세트가 있는 기타 전자 통신 기기일 수 있다. 그러한 클라이언트 장치는 또한 사용자가, 선택적으로, 일부 입력/출력 모드를 인에이블하고 기타 입력/출력 모드를 디스에이블하도록 허용하는 능력을 제공받을 수 있다. 예컨대, 사용자 A는 미팅 중에 오디오 출력을 디스에이블하도록 선택하여 텍스트만이 사용자 A에 의해 보여지는 3D 환경(100)에서 나타날 수 있다.
또한, 클라이언트 장치(202) (및/또는 도 2에서 다른 장치 중 적어도 일부)는 클라이언트 장치의 환경적인 조건, 위치 움직임/방향 등을 결정할 수 있는 GPS(global positioning system) 툴, 바이오메트릭 센서, 환경 센서 등과 같은 기타 툴을 제공받을 수 있다. 그러한 툴과 다양한 입력/출력 모드가 예컨대, 미팅 도중에) 3D 환경(100)의 폼 및 콘텐트를 선택하고 이후 수정하는 데 이용될 수 있는 방식은 이하에서 보다 상세히 설명될 것이다.
사용자 B의 클라이언트 장치(204)는 입력 모드로서 오디오를 인에이블했고 출력 모드에 대하여 오디오 및 3D 애니메이션을 인에이블했다. 예컨대, 클라이언트 장치(204)는 사용자 B의 이미지를 캡처하기 위한 카메라를 가지지 않을 수 있거나 (따라서, 사용자 B는 3D 환경(100) 내 그 3D 아바타에 대하여 외계인 외모를 선택하였음) 또는 카메라가 디스에이블/미선택될 수 있지만 클라이언트 장치(204)는 기능적 마이크로폰을 가져 3D 환경(100)에서의 사용을 위한 사용자 B의 오디오를 캡처할 수 있다. 출력 모드에 대하여, 클라이언트 장치(204)는 사용자 B가 3D 환경(100)에서 애니메이팅된 아바타를 보고 들을 수 있도록, 오디오 및 3D 애니메이션을 인에이블하였다.
사용자 C의 클라이언트 장치(206)는 입력 모드로서 텍스트를 인에이블하였고 출력 모드에 대하여 텍스트 및 3D 애니메이션을 인에이블하였다. 예컨대, 클라이언트 장치(206)는 사용자 C의 이미지를 캡처하기 위한 카메라를 가지지 않을 수 있고 (또는 카메라가 디스에이블/미선택될 수 있고), 클라이언트 장치(206)는 마이크로폰을 가지지 않을 수 있지만 (또는 마이크로폰이 디스에이블/미선택될 수 있지만), 클라이언트 장치(206)는 3D 환경(100)에서 사용을 위한 입력을 제공하도록 사용자 C에 의해 동작가능한 기능적인 텍스트 입력 툴(예컨대, 키보드)을 가진다. 출력 모드에 대하여, 클라이언트 장치(206)는, 사용자 C가 3D 환경에서 아바타를 보고 그들의 대화를 (들음에 의함 보다는 텍스트를 통해) 읽을 수 있도록, 텍스트 및 3D 애니메이션을 인에이블했다(그러나 오디오는 인에이블되지 않음). 오디오가 인에이블되지 않은, 클라이언트 장치(206)에 대하여, 도 2에 도시된 입력/출력 모드는 예컨대, 사용자 C가 미팅에 참가하기 원하지만, 사용자 C가 도서관 또는 큰소리로 말하는 것이 지양(discourage)되는 기타 위치에 있는 경우에 이용될 수 있다.
사용자 D의 클라이언트 장치(208)는 입력 모드로서 오디오 및 비디오를 인에이블했고 출력 모드에 대하여는 오디오만 인에이블하였다. 예컨대, 사용자 D는 미팅에 참가하는 한편 차량을 운전하고 있을 수 있다. 사용자 D의 입력을 캡처하기 위하여 그리고 안전상 이유로, 텍스트 입력은 클라이언트 장치(206)에 대하여 디스에이블 되었다. 그러나, 사용자 D의 이미지 및 사용자 D의 발언은 클라이언트 장치(208)의 카메라 및 마이크로폰, 각각에 의한 입력으로서 안전하게 캡처될 수 있다. 유사하게, 클라이언트 장치(208)의 출력 모드는 오디오만으로 설정되어, 사용자 D가 운전하는 동안 텍스트 출력 또는 3D 애니메이션 출력으로 사용자 D가 미팅하는 것을 산만하게 하는 것을 방지할 수 있다.
추가 예시적인 특징 및 구현예가 다음에 설명된다.
도 3은 일부 구현예에 따라, 입력 모드로서의 비디오의 예시를 도시한다. 맥락에 대하여 도 2의 클라이언트 장치(208)를 이용하여, 클라이언트 장치(208)의 카메라(300)는 (사용자 D가 말함에 따른 D의 입/입술의 움직임을 포함하는) 몸 움직임을 트랙킹/캡처하고, 3D 환경 플랫폼(200)은 카메라가 캡처한 움직임에 기초하여, VR 환경(100) 내 사용자 D의 아바타를 상응하여 애니메이팅한다. 사용자 D가 (예컨대, 손을 들거나 입/입술 움직임 또는 기타 몸 신호를 개시함으로써) 발언하기 원하는 경우, 카메라(300)는 "손 들기" 또는 입/입술 모션 또는 기타 몸 신호를 캡처하고, 3D 환경 플랫폼(200)은 (도 1에서 104로 도시된 바와 같이 - 여기서 사용자 D의 3D 아바타는 손을 들고 있음 -) 그러한 몸 동작이 있는 3D 아바타를 애니메이팅 하고, 이에 따라 사용자 D가 발언하기 원한다고 다른 참가자에게 알리고 또한 미팅 중에 동시 발언자 또는 인터럽션(interruption)을 피한다.
전술은, "손 들기"의 사용자의 행위가 사용자 D가 질문을 하기 원함을 일반적으로 나타내는 것으로서 추론되는 예시를 예시한다. 3D 환경 플랫폼(200)은 사용자 D에 의한 다음의 예시적인 행위 중 하나 이상을 3D 아바타의 대응하는 "손 들기" 애니메이션으로 (실시간으로 또는 거의 실시간으로) 번역/맵핑할 수 있다 - 사용자 D가 자신의 손을 물리적으로 들고 이러한 움직임이 카메라(300)에 의해 캡처됨; 사용자 D가 텍스트를 통해 채팅하고 있고 3D 환경 플랫폼(200)에 의해 파싱/검출되고 발언하고자 하는 사용자 D에 의한 요청으로서 해석되는 "실례합니다만(excuse me)…또는 "기다려주세요(wait)…또는 "잠시만요(hold on)…와 같은 문구를 타이핑함; 사용자 D가 현재 뮤트(mute)되고 이야기하기 시작하고 "실례합니다만…"을 말함; 등등 -. (질문 및 대답 세션에서와 같이) 3D 가상 회의 시나리오에서, 사용자 D의 손들기는 다른 누군가 발언하기 원하는 점을 현재 발언하는 (다른) 사용자에게 신호하여, 다른 사용자/발언자가 사용자 D가 발언할 수 있도록 정지할 수 있다.
이미지 및/또는 오디오 프로세싱이 또한 수행되어, 텍스트로부터의 감정의 검출에 대안적으로 또는 추가적으로, 사용자의 감정을 센싱할 수 있다. 예컨대, 사용자 D가 "나 화났어"라고 말하는 경우, 카메라(300)는 사용자 D의 렌더링된 얼굴 또는 얼굴 표정을 검출하는 한편, 클라이언트 장치(200)의 마이크로폰은 오디오를 캡처하고 오디오 프로세싱이 (클라이언트 장치(208) 및/또는 3D 환경 플랫폼(200)에서) 오디오 상에서 수행되어 감정 상태를 나타내는 오디오 볼륨 내 피크를 검출한다. 클라이언트 장치(208)에서의 바이오메트릭 센서(302)는 또한 올라간 체온, 심박수 또는 혈압을 검출할 수 있고, 이는 또한 감정 상태를 나타낸다. 이러한 검출된 정보는 사용자 D가 진정으로 화난 것인지(또는 대안적으로 농담하는 것인지)를 결정하도록 (클라이언트 장치(208) 및/또는 3D 환경 플랫폼(200)에서) 프로세싱될 수 있고, 사용자 D의 3D 아바타는 실시간으로 또는 거의 실시간으로 (도 3에서 304로 도시된 바와 같이) 대응하여 애니메이팅되어, 감정(예컨대, 더 큰 오디오 및 "나 화났어!"라고 말하는 입술 움직임으로 화난 얼굴 표현)을 나타낼 수 있다. 일부 실시예에서, 사용자 D는 또한, 3D 환경 플랫폼(200) 및/또는 클라이언트 장치(208)에서의 프로세싱이 감정을 잘못해석한 경우, 클라이언트 장치(208)에서의 오버라이드 기능을 제공받을 수 있다.
상기 전술한 바와 같이, 모든 참가자/사용자가 3D 환경(100)에서의 상호작용(예컨대, 미팅) 동안 (카메라 또는 디스플레이 스크린과 같은) 입력/출력 모드의 모든 폼에 액세스하지 않을 수 있다. 또한, 일부 입력/출력 모드는 3D 환경에서 수행된 미팅/세션의 부분 동안 사용에 이용가능하지 않거나 비실용적이 될 수 있다.
예컨대, 도 4는 사용자의 환경(예컨대, 위치) 또는 다른 조건에 기초한 입력/출력 모드에서의 변경의 예시를 도시한다. (스마트폰 또는 다른 유형의 모바일 장치의 폼인) 클라이언트 장치(202)를 가지는 사용자 A가 도 4의 예시를 위해 이용된다. 400에서, 사용자 A는 그 집에서, 비디오 및 오디오 입력을 위해 카메라/마이크로폰을 이용하고, 다른 참가자의 3D 애니메이션을 보도록 클라이언트 장치(202)의 디스플레이 스크린을 이용(및 또한 다른 참가자의 오디오를 듣도록 클라이언트 장치(202)의 마이크로폰을 이용)하여 VR 회의에 참가할 수 있다.
402에서, 사용자 A는 집 밖으로 걸어 나가고 차량에 타서 운전을 시작한다. 3D 환경(200)은 사용자 A가 차량으로 걸어갔으며 운전하고 있다고 센싱(예컨대, 클라이언트 장치(202)에 설치된 가속도계, GPS 툴 등을 통해 결정됨)하고 (예컨대, 사용자 A가 카메라를 보기 보다는 운전 중에 교통의 방향을 마주하고 있으므로) 카메라는 이제 비실용적인 입력 모드일 수 있다고 결정하고, 따라서, 클라이언트 장치(202)는 카메라를 디스에이블하고 입력 모드로서 사용자 A로부터의 오디오를 대신 이용(하고 오디오 입력을 이용하여 3D 환경(100)에서 다른 참가자에게 나타나는 사용자 A의 아바타를 애니메이팅)할 수 있다. 3D 환경 플랫폼(300)은 또한 운전 중에 텍스트 입력(texting)하는 위험으로 인하여, 입력 모드로서 텍스트를 디스에이블 할 수 있다.
사용자는 402에서 운전 동안 클라이언트 장치(202)의 디스플레이 스크린을 안전하게 볼 수 없으므로, 3D 환경 플랫폼(200)은 또한 사용자 A로의 다른 사용자의 대화를, 클라이언트 장치(202)의 디스플레이 스크린을 통한 텍스트 또는 비디오 보다는 오디오(예컨대, 다른 참가자의 실제 음성 및/또는 합성 음성)로서 나타낼 수 있다. 일부 실시예에서, 다른 사용자는 일반적으로 도 4에서 402-404에서의 전체 시간동안 사용자 A의 애니메이팅된 3D 아바타를 계속해서 볼 수 있으며, 사용자 A가 집을 떠났고 운전하고 있다는 것을 알지 못할 수 있다(예컨대, 다른 참가자는 사용자 A가 집과 운전 환경 사이에서 시프트 함에 따른 3D 아바타의 애니메이션에서의 실질적인 변동을 알아채지 않을 것임 - 사용자의 입력 모드에서의 변경은 다른 참가자에게 감지될 수 없을 수 있음). 일부 실시예에서, 사용자 A는 실제로 자신(사용자 A)이 집 밖으로 걸어 나갔고 지금 운전중이라는 점을 다른 사용자에게 확실히 보여주기 원할 수 있다. 그래서, 3D 환경의 그들의 각 프레젠테이션에서 다른 사용자에게 디스플레이되는 사용자 A의 3D 아바타는 3D 아바타가 걷고, 운전하는 등을 보여주도록 적절히 애니메이팅될 수 있다.
404에서, 사용자 A는 차에서 내리고 오디오가 지양되는 조용한 도서관에 들어간다. 그러한 경우에, 3D 환경 플랫폼(200)은 GPS 및 기타 위치/맵 소스를 이용하여 사용자가 도서관에 들어갔음을 결정하고 출력 모드(예컨대, 클라이언트 장치(202)에서 다른 참가자가 사용자 A에게 어떻게 나타나는지)를 (402에서 사용된) 오디오로부터 (예컨대, 스피치 투 텍스트 변환을 이용하여) 404에서 텍스트가 있고 오디오는 없는 3D 애니메이션 또는 404에서 텍스트만으로 변경한다. 또한, 3D 환경(100)에 대한 사용자 A의 입력 모드는 (402에서 사용된) 오디오로부터 404에서 텍스트로 변경되어 사용자 A가 도서관의 범위 내에 있는 한편 3D 환경(100)에서 다른 이들과 통신을 위해 텍스트를 이용할 수 있게 할 수 있다. 텍스트는 3D 환경 플랫폼(200)에 의해 파싱되어 감정 또는 몸 움직임을 나타내는 단어를 파싱하는 것과 같이 다른 참가자에 의해 보여지는 사용자 A의 3D 아바타에서의 대응하는 움직임을 생성할 수 있다.
도 4는 사용자 A의 위치/환경에 따른 입력/출력 모드에서의 변경을 예시한다. 또한, 3D 세션 동안 사용자 A를 보는/듣는 다른 참가자의 입력/출력 모드에서의 변경이 있을 수 있다. 예컨대, 3D 환경 플랫폼(200)은 수신 사용자 (사용자 A 외 다른 참가자)의 위치에서의 변동을 감지할 수 있으며 그 수신 사용자에 대한 입력/출력 모드를 자동적으로 조정할 수 있다. 도 4로부터의 본 예시를 계속하면, 사용자 A의 3D 아바타의 뷰어(수신 사용자)는 어두운 극장에서와 같이 스크린/전화기를 보고 있는 것이 적절하지 않을 수 있는 환경으로 걸어갈 수 있다. 따라서, 수신 사용자가 극장으로 걸어갔음을 결정한 3D 환경 플랫폼(200)은 사용자 A의 아바타의 시각적 프레젠테이션(예컨대, 디스플레이 스크린 상의 3D 애니메이션)으로부터 (수신 사용자가 헤드폰을 통하여 별개로 들을 수 있는) 오디오로 자동적으로 변경한다.
도 4에서의 전술한 예시는 3D 환경 플랫폼(200)이 사용자의 환경에 따른 입력/출력 모드를 자동적으로 변경한 시나리오를 설명하였다. 다른 구현예에서, 입력/출력 모드 및 다른 프레젠테이션 양상이 사용자 선호에 기초할 수 있다. 도 5는 일부 구현예에 따라 입력/출력 모드에 대한 다양한 사용자 선호의 예시를 도시한다.
예컨대, 사용자는 클라이언트 장치(500)를 사용하여 입력/출력 모드에 대한 선호를 입력/설정할 수 있다. 도 5의 예시에서, 사용자는 502에서 다양한 입력 모드로부터 선택할 수 있고, 504에서 사용자가 자신을 다른 참가자/참여자/사용자에게 어떻게 나타내고 싶은지를 선택할 수 있으며, 506(예컨대, 출력 모드)에서 다른 참가자/참여자/사용자가 사용자에게 어떻게 나타나는지를 선택할 수 있다.
502에서 선택가능한 입력 모드에 관하여, 사용자는 텍스트만을 통한 입력을 제공하도록 선호("텍스트"에서 X 선택으로 도시됨)하며, 다른 가능한 선택은 "선호 없음", "오디오", "비디오", "오디오" 또는 명시될 수 있는 일부 "기타" 입력 모드이다. 이용가능한 것을 선택(SELECT AVAILABLE) 옵션은 502에서 입력 모드에 대하여 및/또는 504 및 506에서 출력 모드에 대하여 제공될 수 있다. 예컨대, 사용자는 사용자의 클라이언트 장치(500)의 키보드를 이용하여 전자 게임을 플레이하고 있을 수 있다. 키보드가 게임을 플레이하기 위하여 사용중이므로, 게임 중에 친구와 텍스트 입력하기 위한 키보드는 사용자에게 이용가능하지 않다. 따라서, 사용자는 이용가능한 것을 선택 옵션을 인에이블하여 (또는 클라이언트 장치(500)가 텍스트 입력(texting)하기 위한 키보드의 이용가능하지 않음의 검출에 응답하여 이러한 옵션을 자동적으로 인에이블함) 클라이언트 장치(500)가 마이크로폰을 입력 장치로서 활성화하여 (사용자에 의한 텍스트 입력 대신) 오디오를 사용자로부터 수신할 수 있다. (예컨대, 사용자가 출력 모드로서 친구로부터의 텍스트를 선택한 경우) 친구로부터의 텍스트를 디스플레이하는 것과 함께, 사용자의 오디오는 이후 게임 도중 클라이언트 장치(500)의 디스플레이 스크린 상에 텍스트로서 디스플레이될 수 있다. 친구로부터의 메시지는 대안적으로 또는 추가적으로, 사용자 또는 친구가 출력 모드로서 오디오를 선택했는지, 클라이언트 장치(500) 상의 사용자의 스피커가 인에이블되는지/이용가능한지 등에 따라 오디오를 통하여 사용자에게 나타날 수 있다.
사용자는, 504에서 사용자가 다른 참가자에게 어떻게 나타나는지에 관하여 특정 선호가 없을 수 있으며("선호 없음"에서 X 선택을 가지는 것으로 도시됨), 다른 가능한 선택은 텍스트, 오디오, 애니메이팅된 아바타(보다 하위 선택은 실제와 닮음 또는 외계인과 같은 다른 이미지임)이다. 502에서 입력 모드로서 텍스트의 선택으로, 3D 환경 플랫폼(200)은 따라서 텍스트-투-스피치를 이용하여 사용자의 텍스트를 다른 사용자에게 나타나는 오디오가 있는 애니메이팅된 3D 아바타로 변환할 수 있다.
506에서, 사용자는 출력 모드를 명시할 수 있으며, 구체적으로 그 방식은 다른 참가자 각각이 클라이언트 장치(500)를 통하여 사용자에게 나타날 수 있다. 다른 사용자(참가자) 각각에 대하여, 사용자는 선호 없음, 텍스트, 오디오, 애니메이팅된 3D 아바타(보다 하위 선택은 실제와 닮음 또는 외계인과 같은 다른 이미지임)를 명시할 수 있다. 따라서, 다른 참가자 중 한 명이 자신이 텍스트만을 이용하여 나타냄을 선택했을 수 있는 경우에도, 클라이언트 장치(500)의 사용자는 이러한 출력 모드를 텍스트 대신 오디오와 같은 일부 다른 포맷으로 오버라이드/변경할 수 있다.
유사하게, 클라이언트 장치(500)의 특정 사용자가 504에서 자신이 다른이에게 어떻게 나타나는지에 관하여 "선호 없음"(또는 아마도 일부 다른 포맷)을 선택했으므로, 다른 참가자는 결과적으로 버블 텍스트, 오디오, 합성된 음성을 가지는 외계인 이미지를 이용하는 애니메이팅된 3D 아바타 또는 기타 포맷을 이용하여 그 유저를 보기/듣기 선호할 수 있다.
다른 시나리오에서, 사용자는 3D 환경(100)에서 세션이 친목회 또는 사업상 미팅인지에 따라 그 아바타의 외모를 변경하기 원할 수 있다. 따라서, 사용자는 친목회 동안 다른 참가자에게 보여지는 보다 캐주얼한 아바타 외모를 504에서 (예컨대, 다른 이미지라는 선택 하에서의 라이브러리로부터) 선택할 수 있고 사업상 미팅 동안 보다 격식있는 아바타 외모(예컨대, 정장을 입은 사용자)를 선택할 수 있다. 가상 화이트보드 또는 프레젠테이션 슬라이드 덱과 같은 기타 3D 오브젝트는 또한 사업상 미팅 동안 렌더링될 수 있다.
일부 실시예에서, 사용자 프로필 정보는 또한, 세션 동안 보다 적절하고 공동의/공유된 경험을 생성하도록, 3D 환경(100)에서의 세션 동안 아바타 및 기타 3D 오브젝트의 외견 및 컨텍스트를 커스터마이징하는 데 이용될 수 있다. 예컨대, 참가자의 사용자 프로필이 사용자가 십대임을 나타내는 경우 및 추가적인 정보가 3D 환경(100) 내 세션이 학급회임을 나타내는 경우, 3D 환경 플랫폼(200)은 환경 및 아바타를 조정하여 학급회에 대한 적절한 콘텐트 등급을 제공(예컨대, 성인 지향 자료는 삭제되고, 비학급 관련 3D 오브젝트는 배제되는 등임)할 수 있다
친구인 일부 참가자를 나타내는 프로필 정보는 또한 3D 환경 플랫폼(200)에 의해 이용되어 애니메이션을 결정하여 그 각각의 3D 아바타를 구동할 수 있다. 예컨대, 친구 간의 몸 움직임은 낯선 사람이나 회사 동료 간의 몸 움직임과는 상이하다. 3D 환경 플랫폼(200)은 그러한 프로필 정보 및 기타 정보를 이용하여 참가자 간의 관계 및 3D 환경(100)에서 보유되는 세션의 맥락에 따라 3D 아바타를 적절히 애니메이팅할 수 있다.
사용자 프로필 정보는 사용자에 대한 이력적인 정보를 포함할 수 있다. 이력적인 정보는 이전 3D 환경 세션에서 다른 사용자와의 사용자의 상호작용(예컨대, 사교적임, 사업적임, 교육적임, 화남, 운전중임, 문자하기 등)을 포함할 수 있다. 상이한 이력적 패턴이 상이한 사용자에 대하여 드러날 수 있으며, 그러한 이력적 정보는 어떻게 사용자의 3D 아바타를 애니메이팅할지, 다가오는 3D 세션에 대한 환경/설정을 선택할지 등을 추론 또는 예측하는 데 이용될 수 있다.
사용자 프로필 정보의 액세스 및 이용은 사용자에 의해 제어될 수 있다. 예컨대, 실시예는 3D 환경 및 3D 아바타를 생성하는 것에 관하여 그들의 프로필 정보의 이용을 방지하거나 제한하기 위한 능력을 사용자에게 제공한다. 사용자 허락이 프로필 정보를 이용하기 위해 요구될 수 있으며, 사용자는 이용될 수 있는 프로필 정보의 유형 및 프로필 정보가 사용되도록 허락되는 기간을 더 명시할 수 있다. 사용자는 또한 다른 사용자에 대한 위치 및/또는 기타 정보를 결정하는 것이 제한될 수 있다.
(도 5에서 나타난 바와 같이 및/또는 사용자 프로필 정보를 수반하는) 상기 및 임의의 기타 아바타 또는 환경 맞춤화(customization)가 실시간으로 수행될 수 있다. 다른 구현예에서, 3D 환경 플랫폼(200)은, 사용자가 입력/출력 모드에 대하여 선호되는 선택을 할 필요없이, 사용자에 대하여 입력 및/또는 출력 모드를 설정할 수 있다.
일부 예시적인 구현예에서, 다양한 기타 사용자 행동 및/또는 사용자 특징이, 3D 아바타에 대한 대응하는 애니메이션(또는 기타 유형의 출력)을 생성하도록, 추론될 수 있다. 예컨대, 사용자의 (톤, 볼륨 등과 같은) 오디오 특징이 3D 환경 플랫폼(200)에 의해 시험되어 사용자의 입력이 여유(relaxation) 대 긴급(urgency)를 나타내는 출력으로 번역될 필요가 있는 여부, 상이한 언어들 간의 번역이 (예컨대, 오디오 및/또는 텍스트에서 영어에서 프랑스어로 또는 그 반대로) 수행될 필요가 있는지 여부를 결정할 수 있다. 3D 환경 플랫폼(200)에 의해 대응하는 출력으로 번역될 수 있는 다른 유형의 행동은 사용자가 자신을 뮤트(mute)함 (및 이후 사용자의 3D 아바타가 3D 아바타의 얼굴에서 재갈 또는 지퍼와 같은 "뮤트" 상태를 보여줌); 사용자가 카메라를 끄고 다른 입력이 가능하지 않은 경우 사용자의 3D 아바타가 애니메이팅되지 않는 상태 또는 일부 디폴트 상태로 가서 사용자가 이용가능하지 않은 입력 모드를 가짐을 나타냄; 사용자가 커피 한모금을 마시고 사용자의 3D 아바타가 비디오 입력에 기초하여 한모금 마심을 흉내내거나 한모금 마심의 오디오를 검출함에 기초하여 한모금 마심을 시뮬레이팅하는 것; 사용자가 코를 풀고 시스템은 이러한 행동이 3D 아바타로 나타내기에 적절하지 않음을 인식하는 것 등을 포함할 수 있다. 따라서, 이러한 다양한 예시에서, 3D 환경 플랫폼(200)은 일부 행동이 "노이즈" 또는 아니면 불충분하게 유의미한지, 그리고 무시되거나 일부 방식으로 표현될 수 있는지 여부를 결정하기 위한 프로세스/알고리즘을 수행할 수 있다.
일부 실시예에서, 3D 세션 동안의 신호 및 정보는 3D 환경 플랫폼(200) 및/또는 클라이언트 장치에 의해 디폴트로 암호화된다. 예컨대, 오디오는 클라이언트 장치에서 암호화되고 3D 환경 플랫폼(200)의 서버에서 복호화된 이후에 3D 세션 동안에 다른 사용자에게 중계된다.
기록이 또한 가능하다. 3D 세션은 3D 환경 플랫폼(200) 및/또는 클라이언트 장치에 의해 기록될 수 있으며 추후의 복호화 및 시청을 위하여 암호화된 폼으로 저장될 수 있다.
도 6은 일부 구현예에 따라, 상술된 바와 같은 변동하는 입력/출력 모드와 함께 (3D 환경(100)과 같은) 3D 환경 및 애니메이팅된 3D 아바타를 제공할 수 있는 (3D 환경 플랫폼(200)과 같은) 3D 환경 플랫폼을 포함하는 예시적인 시스템 아키텍처의 도면이다. (온라인 게이밍 플랫폼(602)을 포함하거나 이와 함께 동작할 수 있는) 3D 환경 플랫폼(200)은 또한 "사용자 생성 콘텐트 플랫폼" 또는 "사용자 생성 콘텐트 시스템"으로 지칭되며, 예컨대, 사용자가 전자 게임을 플레이하거나 온라인 가상 미팅을 수행하는 동안, 사용자가 서로 상호작용하기위한 다양한 방식을 제안한다. 예컨대, 온라인 게이밍 플랫폼(602)의 사용자는 공통 목표를 향하여 작업하며, 다양한 가상 게이밍 아이템을 공유하고, 서로 전자 메시지를 전송하는 등을 할 수 있다. 사용자가 전자 게임에서 렌더링된 3D 세계를 통하여 내비게이팅하고 가상 3D 미팅에 함께 참여하는 등과 같이, 3D 환경 플랫폼(200)의 사용자는 상술된 3D 아바타와 같은 캐릭터를 이용함으로써 3D 환경(100)에서 상호작용할 수 있다.
3D 환경 플랫폼(200)은 또한 플랫폼의 사용자가 아바타를 생성하고 애니메이팅 하도록 허용하고 사용자가 다른 그래픽 오브젝트를 생성하여 3D 환경(100)에 배치하도록 허용할 수 있다. 예컨대, 3D 환경 플랫폼(200)의 사용자는 아바타를 생성하고, 설계하고 커스터마이징하고 기타 3D 오브젝트를 3D 환경에서 생성하고, 설계하고 삽입하도록 허용될 수 있다.
도 6에서, (여기에서 "시스템"으로도 지칭되는) 예시적인 시스템 아키텍처(600)는 3D 환경 플랫폼(200)(온라인 게이밍 플랫폼(602), 가상 현실(VR) 플랫폼, 증강 현실(AR) 플랫폼, 온라인 미팅 플랫폼 및/또는 기타 유형의 콘텐트 플랫폼 또는 협력 플랫폼을 포함할 수 있음), 복수의 클라이언트 장치(604a-c)(여기에서 "클라이언트 장치(604)"로 일반적으로 지칭됨), 3D 환경 플랫폼(200)의 부분을 형성할 수 있는 복수의 서버(606a 및 606b)(여기에서 "서버(606)"로 일반적으로 지칭됨) 및 외부 시스템(608)을 포함한다. 시스템 아키텍처(600)은 하나의 가능한 구현예의 예시를 위해 제공된다. 다른 구현예에서, 시스템 아키텍처(600)는 동일하거나 보다 적거나 보다 많거나 도 6에서 도시된 바와 동일하거나 상이한 방식으로 구성된 상이한 요소들을 포함할 수 있다.
통신 네트워크(610)가 시스템 아키텍처(600) 내 다양한 요소 간의 통신을 위하여 이용될 수 있다. 네트워크는 공공 네트워크(예컨대, 인터넷), 개인 네트워크(예컨대, LAN(local area network) 또는 WAN(wide area network)), 유선 네트워크(예컨대, 이더넷 네트워크), 무선 네트워크(예컨대, 802.11 네트워크, Wi-Fi 네트워크 또는 무선 LAN(WLAN)), 셀룰러 네트워크(예컨대, LTE(long term evolution) 네트워크), 라우터, 허브, 스위치, 서버 컴퓨터 또는 이들의 조합을 포함할 수 있다.
(상술한 클라이언트 장치(202-208) 중 임의의 것에 의해 실시될 수 있는) 클라이언트 장치(604)는 3D 어플리케이션(게임 어플리케이션을 포함함) 및 하나 이상의 사용자 인터페이스(예컨대, 오디오/비디오 입력/출력 장치)를 포함할 수 있다. 오디오/비디오 입력/출력 장치는 카메라, 마이크로폰, 스피커, 헤드폰, 디스플레이 장치 등 중 하나 이상을 포함할 수 있다. 또한, 클라이언트 장치(604)는 센서, 가속도계, 안면/감정 인식 소프트웨어, 카메라, GPS 툴 및 입력, 환경/위치 및 사용자와 연관된 기타 특징 또는 조건을 해석하는 것과 관련하여 이용가능한 기타 다양한 하드웨어 및 소프트웨어 컴포넌트(프로세싱 요소를 포함함)를 포함할 수 있다. 예컨대, 클라이언트 장치(604)에서 프로세싱 요소는 사용자의 감정을 결정하기 위해 이용되는 오디오 및 그래픽 프로세서 및 암호화를 수행하고 입력과 출력 모드 간에 전환하고, 3D 세션을 지원하기 위한 기타 동작들을 수행하기 위한 하나 이상의 프로세서를 포함할 수 있다. 클라이언트 장치(604) 내 센서는 가속도계, 바이오메트릭 센서 등을 포함할 수 있다. 일부 구현예에서, 서버(606)에서 프로세싱 로드를 감소시키기 위한 많은 프로세싱 동작이 클라이언트 장치(604)에 의해 수행된다. 예컨대, 클라이언트 장치(604) 내 프로세싱 요소는, 센서에 의해 제공된 데이터와 조합하여, 사용자의 감정적인 상태의 결정을 하고, 감정적인 상태를 가지는 아바타를 자동화하고, 생성된 아바타를 3D 환경 내 프레젠테이션을 위하여 송신할 수 있다.
클라이언트 장치(604)는 모바일 스마트폰, 게이밍 콘솔, VR 헤드셋, 데스크탑 또는 랩탑 컴퓨터 또는 기타 컴퓨팅 장치를 포함할 수 있다. 특정 사용자에 의해 이용되는 클라이언트 장치의 유형에 따라, 예컨대, VR 헤드셋에 의해 최대 충실도(fidelity)가 제공될 수 있고; 데스크탑/랩탑에 의해 중간 충실도가 제공될 수 있으며; 그리고 텍스트/음성 능력만있는 전화기에 의해 최소 충실도가 제공될 수 있다.
네트워크(610)를 통하여, 클라이언트 장치(604)는 제1 서버(606a)와 같은 서버(606)와 통신한다. 제1 서버(606a)는 클라이언트 장치(604)로부터의 신호(예컨대, 오디오, 비디오, 텍스트 등)를 복호화/암호화, 수신 및 프로세싱하고, 프로세싱된 신호를 3D 환경 플랫폼(200), 예컨대, VR 회의를 생성하고 이후 (애니메이팅된 아바타와 기타 선택된 출력 모드를 가지고) 생성된 VR 회의를 클라이언트 장치(604)로 나타내는 VR 회의 플랫폼에 제공하는 것과 같은 동작을 수행한다.
외부 시스템(608)은 GPS 시스템 또는 위치 정보를 클라이언트 장치(604) 및/또는 제1 서버(606a) 또는 다른 서버에 제공하는 기타 외부 정보 소스일 수 있다.
제2 서버(606b)는 비즈니스 논리, 프로필 정보 및 3D 환경 플랫폼(200)에 의해 나타난 3D 환경을 커스터마이징 하도록 이용 가능한 기타 데이터를 저장 및 프로세싱할 수 있다. 예컨대, 제2 서버(606b)는 프로필 정보를 이용하여 참가하는 사용자가 3D 환경(100)에서 (형식적인 비즈니스 설정에 반한) 비형식적 사회적 설정으로 나타내야 하는지 여부를 결정하고 각 클라이언트 장치(604)에 대하여 사용할 특정 입력/출력 모드가 무엇인지 결정할 수 있다.
서버(606)는 하나 이상의 저장 장치를 포함할 수 있다. 저장 장치는, 예컨대, 3D 환경 플랫폼(200)에 의해 또는 클라이언트 장치(604)에 로컬로 설치된 어플리케이션에 의해 3D 환경(100)에서 렌더링되는 그래픽 오브젝트 및 (위치, 색상, 텍스쳐 등과 같은) 그래픽 오브젝트의 구성/성질 정보를 저장할 수 있다. 일부 실시예에서, 저장 장치는 3D 환경 플랫폼(200)에 의해 렌더링되는 그래픽 오브젝트를 제공하는 별개의 콘텐트 전달 네트워크의 일부일 수 있다. 예컨대, 3D 환경 플랫폼(200)은 3D 세션 도중 프레젠테이션을 위하여 저장 장치에 저장된 그래픽 오브젝트를 끌어당길 수 있다(또는 이를 밀 수 있음).
일 구현예에서, 저장 장치는 비일시적인 컴퓨터 판독가능 메모리(예컨대, 랜덤 액세스 메모리), 캐시, 드라이브(예컨대, 하드 드라이브), 플래시 드라이브, 데이터베이스 시스템, 또는 데이터 및 기타 콘텐트를 저장할 수 있는 다른 유형의 컴포넌트 또는 장치일 수 있다. 저장 장치는 또한 복수의 컴퓨팅 장치(예컨대, 복수의 서버 컴퓨터)에 걸칠 수 있는 복수의 저장 컴포넌트(예컨대, 복수의 드라이브 또는 복수의 데이터베이스)를 포함할 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200)은 하나 이상의 컴퓨팅 장치를 가지는 서버(예컨대, 클라우드 컴퓨팅 시스템, 랙마운트 서버, 서버 컴퓨터, 물리적 서버의 클러스터 등)를 포함할 수 있다. 일부 구현예에서, (서버(606)와 같은) 서버는 3D 환경 플랫폼(200)에 포함될 수 있거나, 독립적인 시스템일 수 있거나 다른 시스템 또는 플랫폼의 일부일 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200)은 (랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등과 같은) 하나 이상의 컴퓨팅 장치, 데이터 저장소(예컨대, 하드 디스크, 메모리, 데이터베이스), 네트워크, 3D 환경 플랫폼(200) 상의 동작을 수행하고 3D 환경 플랫폼(200)으로의 액세스를 사용자에게 제공하는 데 이용될 수 있는 소프트웨어 컴포넌트 및/또는 하드웨어 컴포넌트를 포함할 수 있다. 3D 환경 플랫폼(200)은 또한 온라인 3D 환경 플랫폼(200)에 의해 제공되는 콘텐트로의 액세스를 사용자에게 제공하는 데 이용될 수 있는 웹사이트(예컨대, 웹페이지) 또는 어플리케이션 백엔드 소프트웨어를 포함할 수 있다. 예컨대, 사용자는 클라이언트 장치(604) 상에 설치된 어플리케이션을 이용하여 3D 환경 플랫폼(200)에 액세스할 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200)은 사용자 간의 연결을 제공하는 소셜 네트워크의 유형 또는 사용자(예컨대, 엔드 유저 또는 소비자)가 3D 환경 플랫폼(200) 상에서 다른 사용자와 통신하도록 허용하는 사용자 생성 콘텐트 시스템의 유형일 수 있으며, 여기서 통신은 음성 채팅(예컨대, 동기 및/또는 비동기 음성 통신), 비디오 채팅(예컨대 동기 및/또는 비동기 비디오 통신) 또는 텍스트 채팅(예컨대, 동기 및/또는 비동기 텍스트 기반 통신)을 포함할 수 있다. 본 개시의 일부 구현예에서, "사용자"는 단일 개인으로서 표현될 수 있다. 그러나 본 개시의 다른 구현예는 "사용자"(예컨대, 생성 사용자)가 사용자의 집합에 의해 제어되는 엔티티 또는 자동화된 소스임을 포함한다. 예컨대, 사용자 생성 콘텐트 시스템 내 커뮤니티 또는 그룹으로서 연합된 개인 사용자의 집합은 "사용자"로서 고려될 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200)은 가상 게이밍 플랫폼(예컨대, 게이밍 플랫폼(602))일 수 있다. 예컨대, 게이밍 플랫폼은 싱글 플레이어 또는 멀티플레이어 게임을 네트워크(610)를 통하여 클라이언트 장치(604)를 이용하여 게임에 액세스하거나 게임과 상호작용할 수 있는 사용자의 커뮤니티에 제공할 수 있다. 3D 환경 플랫폼(200)이 게임을 제공하는 일부 구현예에서, 게임(여기에서 "비디오 게임", "온라인 게임" 또는 "가상 게임" 등으로도 지칭됨)은 예컨대, 이차원(2D) 게임, 삼차원(3D) 게임(예컨대, 3D 사용자 생성 게임), 가상 현실(VR) 게임 또는 증강 현실(AR) 게임일 수 있다. 일부 구현예에서, 사용자는 다른 사용자와 게임 플레이에 참가할 수 있다. 일부 구현예에서, 게임은 게임의 다른 사용자와 실시간으로 플레이될 수 있다.
일부 구현예에서, 게임 플레이는 게임 내에서 클라이언트 장치(예컨대, 클라이언트 장치(604a-c)를 이용하는 하나 이상의 플레이어의 상호작용 또는 디스플레이 또는 클라이언트 장치(604)의 사용자 인터페이스 상에서의 상호작용의 프레젠테이션을 참조할 수 있다.
일부 구현예에서, 게임 또는 기타 3D 구현예는 게임 콘텐트(예컨대, 디지털 미디어 아이템)을 엔티티에게 나타내도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 이용하여 실행되거나 로딩될 수 있는 전자 파일을 포함할 수 있다.
3D 환경 또는 3D 세계가 게임 콘텐트와 같은 오브젝트(또는 지리적 데이터의 3D 표현이 이용되든 아니든 3D 콘텐츠로서 나타내기 위한 적어도 현재의 오브젝트)를 표현하는 지리적 데이터의 삼차원 표현을 제공하는 그래픽을 사용한다. 2D 환경 또는 2D 세계는 오브젝트/콘텐트를 표현하는 지리적 데이터의 이차원 표현을 제공하는 그래픽을 사용한다.
일부 구현예에서, 3D 환경 플랫폼(200)은 하나 이상의 게임 또는 기타 유형의 3D 세션을 호스팅하고 사용자가 클라이언트 장치(604) 상에 설치된 어플리케이션을 이용하여 3D 세션과 상호작용하도록 허용할 수 있다. 3D 환경 플랫폼(200)의 사용자는 3D 환경에서 플레이하는 것, 3D 환경과 상호작용하는 것 또는 3D 환경을 빌드하는 것, 서로 통신하는 것 및/또는 3D 환경에 대한 오브젝트(예컨대, 여기에서 "아이템", "오브젝트", "가상 게임 아이템" 또는 "그래픽 오브젝트"로도 지칭됨)를 생성 및 빌드하는 것을 할 수 있다. 예컨대, 사용자 생성 가상 아이템을 생성함에 있어서, 사용자는 다른 것들 중에서도 캐릭터, 캐릭터에 대한 애니메이션, 캐릭터에 대한 데코레이션, 상호작용적인 3D 세션에 대한 하나 이상의 가상 환경을 생성할 수 있거나 3D 환경(100)에서 사용되는 구조를 빌드할 수 있다. 일부 구현예에서, 사용자는 인플랫폼 통화(예컨대, 가상통화)와 같은 3D 가상 오브젝트를 사거나 팔거나 3D 환경 플랫폼(200)의 다른 사용자와 거래할 수 있다. 일부 구현예에서, 3D 환경 플랫폼(200)은 3D 콘텐트를 어플리케이션(예컨대, 게임 어플리케이션 또는 가상 미팅 어플리케이션)에 전송할 수 있다. 일부 구현예에서, 3D 콘텐트(여기에서 "콘텐트"로도 지칭됨)는 3D 환경 플랫폼(200)과 연관된 임의의 데이터 또는 소프트웨어 명령어(예컨대, 게임 오브젝트, 게임, 사용자 정보, 비디오, 이미지, 명령, 미디어 아이템 등)를 지칭할 수 있다. 일부 구현예에서, 3D 오브젝트(예컨대, 여기에서, "아이템" 또는 "오브젝트" 또는 "가상 게임 아이템"으로도 지칭됨)는 3D 환경 플랫폼의 3D 환경에서 이용되거나, 생성되거나, 공유되거나, 아니면 묘사되는 오브젝트를 지칭할 수 있다. 예를 들어, 3D 오브젝트는 파츠, 모델, 캐릭터, 또는 (얼굴, 팔, 입술 등과 같은) 그 컴포넌트, 도구, 무기, 의류, 빌딩, 차량, 통화, 식물군, 동물군, 전술한 것의 컴포넌트(예컨대, 빌딩의 창문) 등을 포함할 수 있다.
3D 환경(100)을 호스팅하는 3D 환경 플랫폼(200)은 예시의 목적으로 제공된다는 점이 주목될 수 있다. 일부 구현예에서, 3D 환경 플랫폼(200)은 하나의 유저로부터 하나 이상의 다른 사용자로의 통신 메시지를 포함할 수 있는 하나 이상의 미디어 아이템을 호스팅할 수 있다. 미디어 아이템은 디지털 비디오, 디지털 무비, 디지털 포토, 디지털 음악, 오디오 콘텐트, 멜로디, 웹사이트 콘텐트, 소셜 미디어 업데이트, 전자 책, 전자 잡지, 디지털 신문, 디지털 오디오 북, 전자 저널, 웹 블로그, 리얼 심플 신디케이션(real simple syndication:RSS) 피드, 전자 만화책, 소프트웨어 어플리케이션 등을 포함할 수 있지만, 이에 제한되는 것은 아니다. 일부 구현예에서, 미디어 아이템은 엔티티에 디지털 미디어 아이템을 나타내도록 구성되는 소프트웨어, 펌웨어 또는 하드웨어를 이용하여 로드되거나 실행될 수 있는 전자 파일일 수 있다.
일부 구현예에서, 3D 환경(100)은 특정 사용자 또는 특정 그룹의 사용자와 연관될 수 있거나(예컨대, 비공개 게임(private game)), 3D 환경 플랫폼(200)(예컨대, 공개 3D 게임(public 3D game))의 사용자에게 널리 이용가능하도록 할 수 있다. 3D 환경 플랫폼(200)이 사용자의 그룹 또는 특정한 사용자와 하나 이상의 게임을 연관시키는 일부 구현예에서, 3D 환경 플랫폼(200)은 사용자 계정 정보(예컨대, 사용자명 및 패스워드와 같은 사용자 계정 식별자)를 이용하여 3D 환경과 특정 사용자를 연관시킬 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200) 또는 클라이언트 장치(604)는 어플리케이션을 포함할 수 있다. 일부 구현예에서, 그러한 어플리케이션은 3D 환경의 실행 또는 개발을 위해 이용될 수 있다. 예를 들어, 어플리케이션은 다른 특징 중에서도 2D, 3D, VR 또는 AR 그래픽을 위한 렌더링 엔진("렌더러"), 물리 엔진, 충돌 감지 엔진(및 충돌 반응), 사운드 엔진, 스크립팅 기능, 애니메이션 엔진, 인공지능 엔진, 네트워킹 기능, 스트리밍 기능, 메모리 관리 기능, 스레딩 기능, 씬그래프(scene graph) 기능 또는 영화(cinematic)를 위한 비디오 지원을 포함할 수 있다. 어플리케이션의 컴포넌트는 연산을 돕고 3D 환경을 렌더링하는 명령(예컨대, 렌더링 명령, 충돌 명령, 물리 명령 등)을 생성할 수 있다. 일부 구현예에서, 클라이언트 장치(604)의 어플리케이션은 독립적으로 작업하거나, 3D 환경 플랫폼(200)과 협동하여 작업하거나 또는 그 둘의 조합하여 작업할 수 있다.
일부 구현예에서, 3D 환경 플랫폼(200) 및 클라이언트 장치(604) 모두는 (엔진을 포함하는) 어플리케이션을 실행한다. 엔진을 이용하는 3D 환경 플랫폼(200)은 기능 (예컨대, 상술한 입력/출력 모드 변경을 제어하는 것을 포함하는 물리 명령, 애니메이션 명령, 렌더링 명령 등) 일부 또는 전부를 수행할 수 있다. 일부 구현예에서, 각 3D 환경은 3D 환경 플랫폼(200) 상에서 수행되는 엔진 기능 및 클라이언트 장치(604) 상에서 수행되는 기능 사이의 상이한 비율을 가질 수 있다.
사용자는 클라이언트 장치(604) 상에서 제어를 이용하여 3D 환경에서 상호작용하고 있을 수 있고 제어 명령어(예컨대, 사용자 입력)를 3D 환경 플랫폼(200)에 송신할 수 있다. 클라이언트 장치(604)로부터의 제어 명령어를 수신한 이후에, 3D 환경 플랫폼(200)은 제어 명령어에 기초하여 명령어 또는 정보를 클라이언트 장치(604)를 송신할 수 있다. 다른 예시에서, 3D 환경 플랫폼(200)은 하나 이상의 제어 명령어를 하나의 클라이언트 장치(604a)로부터 3D 세션에 참가하는 다른 클라이언트 장치(예컨대, 클라이언트 장치(604b)로 건낼 수 있다. 클라이언트 장치(604a 및 604b)는 명령어를 이용하고 상술한 바와 같이 입력/출력 모드를 인에이블하는 것을 포함하여 클라이언트 장치(604a 및 604b)의 디스플레이 상의 프레젠테이션을 위해 3D 환경을 렌더링할 수 있다.
일부 구현예에서, 사용자는 사용자 장치 상에서 어플리케이션을 통해 3D 환경 플랫폼(200)에 로그인 할 수 있다. 사용자는 사용자 계정 정보(예컨대, 사용자 이름 및 패스워드)를 제공함으로써 사용자 계정에 액세스할 수 있고, 여기서, 사용자 계정은 3D 환경 플랫폼(200)에 의해 제공되는 하나 이상의 3D 환경에 참가하는 데 이용가능한 하나 이상의 캐릭터와 연관된다.
일반적으로, 3D 환경 플랫폼(200)에 의해 수행되는 것으로 다양한 구현예에서 설명된 기능은 또한, 적절하다면 다른 구현예에서, 클라이언트 장치(604) 또는 서버에 의해 수행될 수 있다. 또한, 특정한 컴포넌트에 기인한 기능은 함께 동작하는 상이한 컴포넌트 또는 복수의 컴포넌트에 의해 수행될 수 있다. 3D 환경 플랫폼(200)은 또한 적절한 어플리케이션 프로그래밍 인터페이스(API)를 통하여 다른 시스템 또는 장치로 제공되는 서비스로서 액세스될 수 있고, 따라서 웹사이트에서의 사용에 한정되는 것은 아니다.
도 7은 일부 구현예에 따라, 변동하는 입력/출력 모드를 이용하여 (3D 환경(100)과 같은) 3D 환경을 동작하기 위한 방법(700)을 예시하는 흐름도이다. 단순함을 위하여, 방법(700)에서의 다양한 동작이 동작을 수행하는 3D 환경 플랫폼(200)의 맥락에서 설명될 것이다. 그러나, 도 6에 관하여 상술된 바와 같이, 동작 중 일부는 대안적으로 또는 추가적으로 클라이언트 장치(604)에 의해 전체 또는 부분적으로 수행될 수 있다. 예시적인 방법(700)은 블록(702 내지 710)과 같은 하나 이상의 블록에 의해 예시된 하나 이상의 동작을 포함할 수 있다. 방법(700)의 다양한 블록 및 여기에서 설명된 임의의 다른 프로세스는 요구된 구현예에 기초하여 보다 적은 블록으로 조합되고, 추가적인 블록으로의 분할되고, 추가적인 블록으로 보충되고 및/또는 제거될 수 있다.
도 7의 방법(700)은 도 1-6에서 도시된 요소에 관하여 여기에서 설명될 수 있다. 일 실시예에서, 방법(700)의 동작은 파이프라인 방식의 순차적인 방식으로 수행될 수 있다. 다른 실시예에서, 일부 동작은 순서 없이 수행되거나, 병렬로 수행되는 등일 수 있다.
블록(702)("제1 사용자로부터 제1 입력 신호를 수신 - 제1 입력 신호는 제1 입력 모드를 통해 수신됨 -")에서, 3D 환경 플랫폼(200)은 (클라이언트 장치(202)에서의 사용자 A와 같은) 제1 사용자로부터 입력 신호를 수신한다. 입력 신호는 클라이언트 장치(202)의 제1 입력 모드를 통하여 수신된다. 예컨대, 입력 모드가 비디오 및 오디오인 경우, 제1 입력 신호는 카메라(200)에 의해 캡처된 사용자의 이미지 및 마이크로폰에 의해 캡처되는 사용자 오디오를 포함한다. 제1 입력 신호는 또한 사용자 A의 감정이 도출될 수 있고 제1 입력 신호가 요소를 프로세싱함으로써 도출되는 사용자의 감정을 포함할 수 있는 사용자 A의 이미지/사운드와 같은 일부 감정 정보를 포함할 수 있다. 블록(702)는 블록(704)로 이어질 수 있다.
블록(704)("3D 환경에서 제1 사용자를 표현하는 제1 아바타의 애니메이션을 위하여 제1 입력 신호를 이용")에서, 3D 환경 플랫폼(200)은 사용자 A의 3D 아바타의 애니메이션을 위하여 제1 입력 신호를 이용한다. 예컨대, 제1 입력 신호는 오디오 정보를 포함할 수 있고, 사용자는 "나 화났어"라고 말하고 있으며, 제1 입력 신호는 또한 사용자 A가 화났음을 더 나타내는 감정정보를 포함할 수 있다. 따라서, 3D 환경 플랫폼(200)은 제1 입력 신호로부터의 그러한 정보를 이용하여 3D 아바타의 빨개진 얼굴과 음성의 화난/높은 톤을 가지고 "나 화났어"라고 말하는 것과 함께, 사용자 A의 3D 아바타의 입술/입/몸을 애니메이팅하여 분노를 흉내낸다. 블록(704)는 블록(706)으로 이어질 수 있다.
블록(706)("출력 모드에 기초하여 3D 환경을 제1 사용자 및 적어도 제2 사용자에게 나타냄")에서, 3D 환경 플랫폼(200)은 (사용자 A 및 다른 사용자의 애니메이팅된 3D 아바타를 가지는) 3D 환경을 제1 사용자 및 3D 환경(100) 내의 임의의 다른 사용자/참가자에게 나타난다. 이러한 프레젠테이션은 사용자 각각에 대하여 인에이블되는 출력 모드에 기초할 수 있다. 예컨대, 한 사용자는 텍스트만 그의 출력 모드로서 인에이블할 수 있고, 따라서 "나 화났어"라는 텍스트를 가지고 나타내며 오디오 및/또는 3D 애니메이션으로 나타내지 않는다. 다양한 다른 사용자는 텍스트만, 오디오만, 오디오가 있는 아바타 애니메이션 및 텍스트가 있는 아바타 애니메이션과 같이 그들 자신에 대하여 각각 선택된 다른 출력 모드를 가질 수 있다. 블록(706)는 블록(708)로 이어질 수 있다.
블록(708)("제1 사용자의 위치에서의 변동?")에서, 3D 환경 플랫폼(200)은 제1 사용자의 위치가 변했는지 여부를 결정한다. 변동이 없는 경우(블록(708)에서 "아니오"), 3D 환경(100)의 프레젠테이션은 사용자 A에 대하여 그 현재 폼/콘텐트로 블록(706)를 계속한다.
그러나, 블록(708_)에서 사용자 A의 위치가 변한 경우(블록(708)에서 "예"), 3D 환경 플랫폼(200)은 블록(710)("사용자의 입력 모드를 제1 입력 모드로부터 제2 입력 모드로 변경")에서, 적절히 사용자 A의 입력 모드를 변경한다. 예컨대 그리고 전술한 도 4에 관하여, 사용자 A가 운전하고, 도서관에 있는 등 동안, 사용자 A의 입력 모드가 변경될 수 있다. 사용자 A에 대한 출력 모드는 또한 블록(710)에서 변경될 수 있다.
방법(700)은 이후 블록(702-708)과 유사한 방식으로 계속된다.
도 8은 여기서 설명된 하나 이상의 특징을 구현하도록 이용될 수 있는 예시적인 컴퓨팅 장치(800)의 블록도이다. (클라이언트 장치(202-208)를 포함하는) 클라이언트 장치(604) 및/또는 3D 환경 플랫폼(200)은 도 8의 컴퓨팅 장치(800)의 형태로 제공될 수 있다. 일 예시에서, 컴퓨팅 장치(800)는 여기서 설명된 방법을 수행하도록 이용될 수 있다. 컴퓨팅 장치(800)는 임의의 적절한 컴퓨터 시스템, 서버 또는 다른 전자 또는 하드웨어 장치일 수 있다. 예를 들어, 컴퓨팅 장치(800)는 메인 프레임 컴퓨터, 데스크 탑 컴퓨터, 워크스테이션(workstation), 휴대용 컴퓨터 또는 전자 장치(휴대용 장치, 모바일 장치, 휴대 전화, 스마트폰, 타블렛 컴퓨터, 텔레비전, TV 셋톱박스(STB), 개인 휴대 정보 단말기(PDA), 미디어 플레이어, 게임 장치, 웨어러블 장치 등)일 수 있다. 일부 구현예에서, 장치(800)는 프로세서(802), 메모리(804), 입력/출력(I/O) 인터페이스 및 툴(806) 및 입력/출력 장치(814)를 포함한다.
프로세서(802)는 컴퓨팅 장치(800)의 기본 동작을 컨트롤하고 프로그램 코드를 실행하기 위한 하나 이상의 프로세서 및/또는 프로세싱 회로일 수 있다. "프로세서"는 임의의 적절한 하드웨어 및/또는 소프트웨어 시스템, 데이터, 신호 또는 다른 정보를 프로세싱하는 메커니즘 또는 컴포넌트를 포함한다. 프로세서는 범용 중앙 프로세싱 유닛(CPU), 복수의 프로세싱 유닛, 목적 달성을 위한 전용 회로(dedicated circuitry)를 가진 시스템 또는 다른 시스템을 포함할 수 있다. 프로세싱은 특정한 지리적 위치에 제한되거나 시간적 제한을 가질 필요가 없다. 예를 들어, 프로세서는 "일괄 모드" 등에서 "실시간", "오프라인"으로 그 기능을 수행할 수 있다. 프로세싱의 부분은 상이한(또는 동일한) 프로세싱 시스템에 의해 상이한 시간 및 상이한 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다.
메모리(804)는 프로세서(802)에 의해 액세스하기 위해 컴퓨팅 장치(800)에서 제공되고, 프로세서에 의해 실행을 위한 명령어를 저장하기 위해 적절한 임의의 적절한 프로세서-판독가능 저장 매체, 예컨대, RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 등 일 수 있으며, 프로세서(802)로부터 분리되어 위치되고/거나 그들과 통합될 수 있다. 메모리(804)는 운영 체제(808), 하나 이상의 어플리케이션(810) 및 그 연관된 데이터(812)를 포함하는, 프로세서(802)에 의해 컴퓨팅 장치(800) 상에서 실행 가능한 소프트웨어를 저장할 수 있다. 어플리케이션(81)은 3D 환경 플랫폼(200)과 협력하여 3D 아바타가 있는 3D 환경을 생성하고 여기에서 설명된 바와 같은 다양한 입력/출력 모드를 인에이블하도록 이용될 수 있다. 일부 구현예에서, 어플리케이션(810)은 프로세서(802)에 의한 실행에 응답하여, 프로세서(802)가 3D 환경에서 입력/출력 모드를 이용하는 것에 관하여 여기서 설명된 동작을 수행하거나 동작이 수행을 제어할 수 있게 하는 명령어를 포함할 수 있다.
메모리(804) 내 소프트웨어 중 임의의 것이 대안적으로 컴퓨터 판독가능 기록매체 또는 임의의 다른 적절한 저장 위치 상에 저장될 수 있다. 또한, 메모리(804)(및/또는 다른 연결된 저장 장치)는 여기서 설명된 특징에서 이용되는 데이터 및 명령어를 저장할 수 있다. 메모리(804) 및 임의의 다른 유형의 저장소(마그네틱 디스크, 광학 디스크, 마그네틱 테이프 또는 다른 유형(tangible)의 미디어)는 "저장소" 또는 "저장장치"로 고려될 수 있다.
I/O 인터페이스 및 툴(806)은 컴퓨팅 장치(800)를 다른 시스템 및 장치와 인터페이스로 접속시킬 수 있게 하기 위한 기능을 제공할 수 있다. 예를 들어, 네트워크 통신 장치, 저장 장치 및 입력/출력 장치는 I/O 인터페이스를 통하여 컴퓨팅 장치(800)와 통신할 수 있다. 일부 구현예에서, I/O 인터페이스 및 툴(806)은 입력 장치(키보드, 포인팅 디바이스, 터치스크린, 마이크로폰, 카메라, 스캐너 등) 및/또는 출력 장치(디스플레이 장치, 스피커 장치, 프린터, 모터 등)를 포함하는 인터페이스 장치에 연결될 수 있으며, 이들은 적어도 하나의 입력/출력 장치(618)로서 통합적으로 도시된다. 툴(806)은, 컴퓨팅 장치(800)의 다른 컴포넌트 또는 그 외부 컴포넌트와 통신할 수 있는 GPS 툴, 센서 툴, 가속도계 등을 더 포함할 수 있다.
입력/출력 장치(814)는 입력으로서 오디오 메시지를 수신하는 데 이용될 수 있는 입력 장치(예컨대, 마이크로폰 등) 및 오디오 출력 장치(예컨대, 스피커, 헤드폰 등) 및/또는 상술된 그래픽 및 가시적 출력을 제공하는 데 이용될 수 있는 디스플레이 장치를 포함할 수 있다. 입력/출력 장치(814)는 또한 키보드, 카메라 및 여기에서 설명된 다양한 입력/출력 모드를 제공할 수 있는 기타 장치를 포함할 수 있다.
예시의 편의를 위해, 도 8는 프로세서(802), 메모리(804), I/O 인터페이스 및 툴(806), 어플리케이션(810) 등의 각각에 대한 하나의 블록을 도시한다. 이러한 블록은 하나 이상의 프로세서 또는 프로세싱 회로망, 운영 체제, 메모리, I/O 인터페이스, 어플리케이션 및/또는 소프트웨어 모듈을 나타낼 수 있다. 다른 구현예에서, 장치(600)는 도시된 컴포넌트 모두를 가지지 않을 수 있고/거나, 여기에 도시된 것에 더하여 또는 이를 대신하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다.
사용자 장치는 여기서 설명된 특징을 구현할 수 있고/거나 이와 함께 이용될 수 있다. 예시적인 사용자 장치는 컴퓨팅 장치(800), 예컨대, 프로세서(802), 메모리(804) 및 I/O 인터페이스 및 툴(806)와 일부 유사한 컴포넌트를 포함하는 컴퓨터 장치일 수 있다. 클라이언트 장치에 적합한 운영 체제, 소프트웨어 및 어플리케이션은 메모리에 제공될 수 있고, 프로세서에 의해 이용될 수 있다. 클라이언트 장치에 대한 I/O 인터페이스는 네트워크 통신 장치 및 입력과 출력 장치, 예컨대, 사운드를 캡쳐하기 위한 마이크로폰, 이미지 또는 비디오를 캡쳐하기 위한 카메라, 사운드를 출력하기 위한 오디오 스피커 장치, 이미지 또는 비디오를 출력하기 위한 디스플레이 장치 또는 다른 출력 장치에 연결될 수 있다. 오디오/비디오 입력/출력 장치(814) 내 디스플레이 장치는 예를 들어, 여기에 설명된 바와 같이, 전-처리 및 후-처리된 이미지를 디스플레이하도록 장치(800)에 연결될 수 있고(또는 포함될 수 있고), 이러한 디스플레이 장치는 임의의 적절한 디스플레이 장치, 예컨대, LCD, LED 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치스크린, 3D 디스플레이 스크린, 프로젝터 또는 다른 시각적 디스플레이 장치를 포함할 수 있다. 일부 구현예는 오디오 출력 장치, 예컨대 텍스트를 말하는 음성 출력 또는 합성을 제공할 수 있다.
여기에 설명된 하나 이상의 방법(예컨대, 방법(700))은 컴퓨터 상에서 실행될 수 있는 컴퓨터 프로그램 명령어 또는 코드에 의해 구현될 수 있다. 예를 들어, 코드는 하나 이상의 디지털 프로세서(예컨대, 마이크로프로세서 또는 다른 프로세싱 회로)에 의해 구현될 수 있고, 예컨대, 마그네틱, 광학, 전자기 또는 반도체 또는 반도체 기억 장치(solid-state memory)를 포함하는 반도체 저장 매체, 마그네틱 테이프, 리무버블 컴퓨터 디스켓(removable computer diskette), RAM(random access memory), ROM(read-only memory), 플래시 메모리, 강체 자기 디스크(rigid magnetic disk), 광학 디스크, 반도체 기억 장치 드라이브 등과 같은 비일시적인 컴퓨터 판독가능 저장매체(예컨대, 저장 매체)를 포함하는 컴퓨터 프로그램 제품 상에 저장될 수 있다. 프로그램 명령어는 또한 예컨대, 소프트웨어의 형태로 서버(예컨대, 분산 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달되는 서비스(SaaS)로서 전자 신호에 포함되고 전자 신호로서 제공될 수 있다. 대안적으로 하나 이상의 방법은 하드웨어(로직 게이트 등)에서 또는 하드웨어와 소프트웨어의 조합에서 구현될 수 있다. 예시적인 하드웨어는 프로그램 가능 프로세서(예컨대, 필드 프로그램가능 게이트 어레이(FPGA), 복합 프로그램 가능 논리 소자), 범용 프로세서, 그래픽 프로세서, 주문형 집적 회로(ASIC) 등일 수 있다. 하나 이상의 방법은 시스템 상에서 동작하는 어플리케이션의 컴포넌트 또는 그 일부로서 또는 운영 체제 및 다른 어플리케이션과 결합되어 동작하는 소프트웨어 또는 어플리케이션으로서 수행될 수 있다.
여기에 설명된 하나 이상의 방법은 임의의 유형의 컴퓨팅 장치에서 실행될 수 있는 독립적인 프로그램, 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 장치(휴대전화, 스마트폰, 타블렛 PC, 웨어러블 장치(손목시계, 암밴드(armband), 장신구(jewelry), 헤드웨어(headwear), 고글, 안경 등), 랩탑 컴퓨터 등)에서 실행되는 모바일 어플리케이션("앱")에서 실행될 수 있다. 일 예시에서, 클라이언트/서버 아키텍처가 사용될 수 있으며, 예컨대, (클라이언트 장치로서) 모바일 컴퓨팅 장치가 서버 장치로 사용자 입력을 전송하고, 서버로부터 출력(예컨대, 디스플레이)을 위한 최종 출력 데이터를 수신한다. 다른 예시에서, 모든 연산은 모바일 컴퓨팅 장치 상의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예시에서, 연산은 모바일 컴퓨팅 장치 및 하나 이상의 서버 장치 사이에 분할될 수 있다.
설명이 그 특정한 구현예에 대하여 설명되었으나, 이러한 특정한 구현예는 단지 예시적인 것이며, 제한적이지 않다. 예시에서 예시된 개념은 다른 예시 및 구현예에 적용될 수 있다.
본 개시에 설명된 기능의 블록, 동작, 특징, 방법, 장치 및 시스템은 당업자에게 알려질 것과 같이, 기능의 블록, 장치 및 시스템의 다양한 조합으로 분할되거나 통합될 수 있다는 점이 주목된다. 임의의 적절한 프로그래밍 언어와 프로그래밍 기법은 특정한 구현예의 루틴을 구현하도록 이용될 수 있다. 절차상 또는 객체 지향형과 같은 다양한 프로그래밍 기법이 이용될 수 있다. 루틴은 단일 프로세싱 장치 또는 복수의 프로세서 상에서 실행될 수 있다. 단계, 동작 또는 연산이 특정한 순서로 나타날 수 있지만, 순서는 상이한 특정 구현예에서 변경될 수 있다. 일부 구현예에서, 본 명세서에서 순차적으로 도시된 복수의 단계 또는 동작은 동시에 수행될 수 있다.

Claims (20)

  1. 삼차원(3D) 환경을 동작하기 위한 방법으로서,
    제1 입력 신호를 제1 사용자로부터 수신하고, 상기 제1 입력 신호를 상기 3D 환경에서 상기 제1 사용자를 표현하는 제1 아바타의 애니메이션을 위하여 이용하는 단계 - 상기 제1 아바타의 애니메이션은, 상기 제1 입력 신호가 상기 제1 사용자로부터 수신되는 제1 입력 모드 및 상기 제1 입력 신호에 의해 제공된 감정 정보에 적어도 부분적으로 기초함 -;
    상기 3D 환경을 상기 제1 사용자 및 적어도 제2 사용자에게 나타내는 단계 - 상기 3D 환경의 상기 제1 사용자 및 적어도 상기 제2 사용자로의 프레젠테이션은 상기 제1 사용자 및 적어도 상기 제2 사용자에 의해 선택된 각 제1 출력 모드에 기초하는 것임 -; 및
    상기 제1 사용자의 위치에서의 변동에 응답하여, 상기 제1 사용자의 입력 모드를 상기 제1 입력 모드로부터 제2 입력 모드로 변경하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 사용자의 상기 제2 입력 모드로의 변경은 상기 제2 사용자의 상기 제1 출력 모드를 통하여 상기 제2 사용자에게 나타나는 상기 3D 환경에서 검출 가능하지 않은 것인, 방법.
  3. 제1항에 있어서,
    상기 제1 사용자의 상기 위치에서의 변동에 응답하여, 상기 제1 사용자의 상기 제1 출력 모드를 상기 제1 출력 모드로부터 제2 출력 모드로 변경하는 단계
    를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 제1 입력 모드는 오직 텍스트만, 오디오만, 오디오가 있는 카메라 트랙킹 및 텍스트가 있는 카메라 트랙킹 중 하나를 포함하고, 상기 제1 출력 모드는 텍스트만, 오디오만, 오디오가 있는 아바타 애니메이션 및 텍스트가 있는 아바타 애니메이션 중 하나를 포함하는 것인, 방법.
  5. 제1항에 있어서,
    상기 3D 환경은 3D 환경 플랫폼에 의해 제공되고, 입력 모드 및 출력 모드는 상기 제1 및 제2 사용자의 클라이언트 장치의 능력 또는 상기 제1 사용자 및 적어도 상기 제2 사용자의 위치 중 적어도 하나에 기초하여 상기 3D 환경 플랫폼에 의해 선택가능한 것인, 방법.
  6. 제1항에 있어서,
    입력 모드 및 출력 모드는 상기 제1 사용자 및 적어도 상기 제2 사용자에 의해 선택가능한 것인, 방법.
  7. 제1항에 있어서,
    적어도 상기 제2 사용자에 의해 선택된 상기 제1 출력 모드는 상기 제1 아바타의 프레젠테이션에 대하여 상기 제1 사용자에 의해 선택된 설정을 오버라이드(override)하는 것인, 방법.
  8. 저장된 명령어를 가지는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어는 프로세서에 의한 실행에 응답하여 상기 프로세서로 하여금 삼차원(3D) 환경에 대한 동작들을 수행하거나 상기 동작들의 수행을 제어하도록 하고, 상기 동작들은
    제1 입력 신호를 제1 사용자로부터 수신하고, 상기 제1 입력 신호를 상기 3D 환경에서 상기 제1 사용자를 표현하는 제1 아바타의 애니메이션을 위하여 이용하는 동작 - 상기 제1 아바타의 애니메이션은, 상기 제1 입력 신호가 상기 제1 사용자로부터 수신되는 제1 입력 모드 및 상기 제1 입력 신호에 의해 제공된 감정 정보에 적어도 부분적으로 기초함 -;
    상기 3D 환경을 상기 제1 사용자 및 적어도 제2 사용자에게 나타내는 동작 - 상기 3D 환경의 상기 제1 사용자 및 적어도 상기 제2 사용자로의 프레젠테이션은 상기 제1 사용자 및 적어도 상기 제2 사용자에 의해 선택된 각 제1 출력 모드에 기초하는 것임 -; 및
    상기 제1 사용자의 위치에서의 변동에 응답하여, 상기 제1 사용자의 입력 모드를 상기 제1 입력 모드로부터 제2 입력 모드로 변경하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  9. 제8항에 있어서,
    상기 제1 사용자의 상기 제2 입력 모드로의 변경은 상기 제2 사용자의 상기 제1 출력 모드를 통하여 상기 제2 사용자에게 나타나는 상기 3D 환경에서 검출 가능하지 않은 것인, 비일시적 컴퓨터 판독가능 매체.
  10. 제8항에 있어서,
    상기 동작들은 상기 제1 사용자의 상기 위치에서의 변동에 응답하여, 상기 제1 사용자의 상기 제1 출력 모드를 상기 제1 출력 모드로부터 제2 출력 모드로 변경하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  11. 제8항에 있어서,
    상기 제1 입력 모드는 텍스트만, 오디오만, 오디오가 있는 카메라 트랙킹 및 텍스트가 있는 카메라 트랙킹 중 하나를 포함하고, 상기 제1 출력 모드는 텍스트만, 오디오만, 오디오가 있는 아바타 애니메이션 및 텍스트가 있는 아바타 애니메이션 중 하나를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  12. 제8항에 있어서,
    상기 3D 환경은 3D 환경 플랫폼에 의해 제공되고, 입력 모드 및 출력 모드는 상기 제1 및 제2 사용자의 클라이언트 장치의 능력 또는 상기 제1 사용자 및 적어도 상기 제2 사용자의 위치 중 적어도 하나에 기초하여 상기 3D 환경 플랫폼에 의해 선택가능한 것인, 비일시적 컴퓨터 판독가능 매체.
  13. 제8항에 있어서,
    입력 모드 및 출력 모드는 상기 제1 사용자 및 적어도 상기 제2 사용자에 의해 선택가능한 것인, 비일시적 컴퓨터 판독가능 매체.
  14. 제8항에 있어서,
    적어도 상기 제2 사용자에 의해 선택된 상기 제1 출력 모드는 상기 제1 아바타의 프레젠테이션에 대하여 상기 제1 사용자에 의해 선택된 설정을 오버라이드(override)하는 것인, 비일시적 컴퓨터 판독가능 매체.
  15. 프로세서; 및
    상기 프로세서에 결합되고 저장된 명령어를 가지는 비일시적 컴퓨터 판독가능 매체
    를 포함하고,
    상기 명령어는 상기 프로세서에 의한 실행에 응답하여, 삼차원(3D) 환경에 대한 동작들을 실행하거나 상기 동작들의 실행을 제어하도록 하고, 상기 동작들은
    제1 입력 신호를 제1 사용자로부터 수신하고, 상기 제1 입력 신호를 상기 3D 환경에서 상기 제1 사용자를 표현하는 제1 아바타의 애니메이션을 위하여 이용하는 동작 - 상기 제1 아바타의 애니메이션은, 상기 제1 입력 신호가 상기 제1 사용자로부터 수신되는 제1 입력 모드 및 상기 제1 입력 신호에 의해 제공된 감정 정보에 적어도 부분적으로 기초함 -;
    상기 3D 환경을 상기 제1 사용자 및 적어도 제2 사용자에게 나타내는 동작 - 상기 3D 환경의 상기 제1 사용자 및 적어도 상기 제2 사용자로의 프레젠테이션은 상기 제1 사용자 및 적어도 상기 제2 사용자에 의해 선택된 각 제1 출력 모드에 기초하는 것임 -; 및
    상기 제1 사용자의 위치에서의 변덩에 응답하여, 상기 제1 사용자의 입력 모드를 상기 제1 입력 모드로부터 제2 입력 모드로 변경하는 동작을 포함하는, 장치.
  16. 제15항에 있어서,
    상기 제1 사용자의 상기 제2 입력 모드로의 변경은 상기 제2 사용자의 상기 제1 출력 모드를 통하여 상기 제2 사용자에게 나타나는 상기 3D 환경에서 검출 가능하지 않은 것인, 장치.
  17. 제15항에 있어서,
    상기 동작들은 상기 제1 사용자의 상기 위치에서의 변동에 응답하여, 상기 제1 사용자의 상기 제1 출력 모드를 상기 제1 출력 모드로부터 제2 출력 모드로 변경하는 동작을 더 포함하는, 장치.
  18. 제15항에 있어서,
    상기 제1 입력 모드는 텍스트만, 오디오만, 오디오가 있는 카메라 트랙킹 및 텍스트가 있는 카메라 트랙킹 중 하나를 포함하고, 상기 제1 출력 모드는 텍스트만, 오디오만, 오디오가 있는 아바타 애니메이션 및 텍스트가 있는 아바타 애니메이션 중 하나를 포함하는 것인, 장치.
  19. 제15항에 있어서,
    상기 3D 환경은 3D 환경 플랫폼에 의해 제공되고, 입력 모드 및 출력 모드는 상기 제1 및 제2 사용자의 클라이언트 장치의 능력 또는 상기 제1 사용자 및 적어도 상기 제2 사용자의 위치 중 적어도 하나에 기초하여 상기 3D 환경 플랫폼에 의해 선택가능한 것인, 장치.
  20. 제15항에 있어서,
    적어도 상기 제2 사용자에 의해 선택된 상기 제1 출력 모드는 상기 제1 아바타의 프레젠테이션에 대하여 상기 제1 사용자에 의해 선택된 설정을 오버라이드(override)하는 것인, 장치.
KR1020220019520A 2021-03-01 2022-02-15 3차원(3d) 환경에 대한 통합된 입/출력 KR20220123576A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163155064P 2021-03-01 2021-03-01
US63/155,064 2021-03-01

Publications (1)

Publication Number Publication Date
KR20220123576A true KR20220123576A (ko) 2022-09-08

Family

ID=80449183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220019520A KR20220123576A (ko) 2021-03-01 2022-02-15 3차원(3d) 환경에 대한 통합된 입/출력

Country Status (5)

Country Link
US (2) US11651541B2 (ko)
EP (1) EP4054180A1 (ko)
JP (1) JP2022133254A (ko)
KR (1) KR20220123576A (ko)
CN (1) CN114995704A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309482A (zh) * 2021-04-20 2022-11-08 福特全球技术公司 一种车辆交互系统以及相应的车辆和方法
US20230254448A1 (en) * 2022-02-10 2023-08-10 Apple Inc. Camera-less representation of users during communication sessions
US20240087596A1 (en) * 2022-09-08 2024-03-14 Roblox Corporation Artificial latency for moderating voice communication

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003037826A (ja) * 2001-07-23 2003-02-07 Alpine Electronics Inc 代理画像表示装置およびテレビ電話装置
JP2004266746A (ja) * 2003-03-04 2004-09-24 Megachips System Solutions Inc 画像音声通信システム
JP2004274550A (ja) * 2003-03-11 2004-09-30 Sony Ericsson Mobilecommunications Japan Inc 移動体通信端末装置
FR2910772B1 (fr) 2006-12-21 2009-01-23 Alcatel Lucent Sa Procede de communication interactive entre terminaux de communication, serveur et reseau de television interactive
EP2279472A4 (en) * 2008-04-05 2013-11-20 Social Communications Co APPARATUS AND METHODS BASED ON A SHARED VIRTUAL SPACE COMMUNICATION ENVIRONMENT
US8788957B2 (en) * 2008-08-22 2014-07-22 Microsoft Corporation Social virtual avatar modification
US8648865B2 (en) * 2008-09-26 2014-02-11 International Business Machines Corporation Variable rendering of virtual universe avatars
US20120204120A1 (en) * 2011-02-08 2012-08-09 Lefar Marc P Systems and methods for conducting and replaying virtual meetings
EP2976749A4 (en) * 2013-03-20 2016-10-26 Intel Corp AVATAR-BASED TRANSMISSION PROTOCOLS, SYMBOL GENERATION AND PUPPET ANIMATION
KR20150053339A (ko) * 2013-11-08 2015-05-18 삼성전자주식회사 전자 디바이스의 입력 처리 방법 및 장치
US20160134840A1 (en) 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
US10313848B2 (en) * 2016-05-20 2019-06-04 The Circle Project, Llc System and method for dynamically exchanging, storing, updating, and interacting with digital identities on portable computing devices using interfaces, gestures and monitored activity
US10536691B2 (en) * 2016-10-04 2020-01-14 Facebook, Inc. Controls and interfaces for user interactions in virtual spaces
GB201709199D0 (en) * 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10521946B1 (en) 2017-11-21 2019-12-31 Amazon Technologies, Inc. Processing speech to drive animations on avatars
US11077364B2 (en) * 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
US11086474B2 (en) * 2018-04-09 2021-08-10 Spatial Systems Inc. Augmented reality computing environments—mobile device join and load
US11348581B2 (en) * 2019-07-12 2022-05-31 Qualcomm Incorporated Multi-modal user interface
US11763559B2 (en) * 2020-02-14 2023-09-19 Magic Leap, Inc. 3D object annotation
US11621861B2 (en) * 2020-11-06 2023-04-04 Microsoft Technology Licensing, Llc Dynamic grouping of live video streams and content views
US11140360B1 (en) * 2020-11-10 2021-10-05 Know Systems Corp. System and method for an interactive digitally rendered avatar of a subject person

Also Published As

Publication number Publication date
EP4054180A1 (en) 2022-09-07
JP2022133254A (ja) 2022-09-13
CN114995704A (zh) 2022-09-02
US20220277505A1 (en) 2022-09-01
US20230334743A1 (en) 2023-10-19
US11651541B2 (en) 2023-05-16

Similar Documents

Publication Publication Date Title
US11398067B2 (en) Virtual reality presentation of body postures of avatars
US11222632B2 (en) System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
US11100694B2 (en) Virtual reality presentation of eye movement and eye contact
US11468894B2 (en) System and method for personalizing dialogue based on user's appearances
US10235620B2 (en) Guided personal companion
US8243116B2 (en) Method and system for modifying non-verbal behavior for social appropriateness in video conferencing and other computer mediated communications
US11651541B2 (en) Integrated input/output (I/O) for a three-dimensional (3D) environment
WO2012105318A1 (ja) 入力支援装置、入力支援方法及び記録媒体
US11456887B1 (en) Virtual meeting facilitator
US20230335121A1 (en) Real-time video conference chat filtering using machine learning models
KR20210096643A (ko) 온라인 게이밍 플랫폼 음성 통신 시스템
US20230017111A1 (en) Spatialized audio chat in a virtual metaverse
US11954451B1 (en) Observation-based training of artificial intelligence character models
US20240112389A1 (en) Intentional virtual user expressiveness
US20230412766A1 (en) Information processing system, information processing method, and computer program
JP7062126B1 (ja) 端末、情報処理方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
E902 Notification of reason for refusal