KR20100136415A - 내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치 - Google Patents

내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치 Download PDF

Info

Publication number
KR20100136415A
KR20100136415A KR1020100054408A KR20100054408A KR20100136415A KR 20100136415 A KR20100136415 A KR 20100136415A KR 1020100054408 A KR1020100054408 A KR 1020100054408A KR 20100054408 A KR20100054408 A KR 20100054408A KR 20100136415 A KR20100136415 A KR 20100136415A
Authority
KR
South Korea
Prior art keywords
avatar
computer
proxy
remote
virtual environment
Prior art date
Application number
KR1020100054408A
Other languages
English (en)
Inventor
브라이언 마셜 오코넬
폴 브라이언 무디
2세 릭 알렌 헤밀톤
보아스 베츨러
네일 알란 카츠
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 KR20100136415A publication Critical patent/KR20100136415A/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/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 MPEG-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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • 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
    • 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
    • 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities

Abstract

컴퓨터 생성된 가상 세계의 화면들을 원격 관찰자에게 랜더링하는 컴퓨터 방법 및 장치가 제공된다. 본 발명의 방법 및 장치는 원격 관찰자를 대신하는 프록시로서 거주 사용자의 아바타를 구축한다. 거주 사용자의 컴퓨터 노드는 가상 세계의 프록시 아바타 화면들을 원격 관찰자에게 내보낸다. 원격 관찰자 컴퓨터는 가상 세계 애플리케이션 프로그램을 실행하지 않고서 내보내진 가상 세계 화면들을 랜더링한다.

Description

내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치{COMPUTER METHOD AND APPARATUS PROVIDING INTERACTIVE CONTROL AND REMOTE IDENTITY THROUGH IN-WORLD PROXY}
본 발명은 컴퓨터에 의해 생성된 가상 세계의 화면들을 원격 관찰자에게 랜더링하는 컴퓨터 방법 및 장치에 관한 것이다.
가상적 우주(Virtual Universe; VU)는 아바타의 이용을 통해 VU의 거주자(resident)들이 여기저기 돌아다니고, 거주하고, 상호작용하도록 기획된 컴퓨터 기반 시뮬레이션 환경이다. 많은 VU들이 3-D 그래픽과 풍경을 이용하여 표현되며, 이것은 "거주자"로서 알려진 수 많은 사용자들에 의해 인기를 끌고 있다. VU의 또다른 명칭들에는 "메타버스(metaverse)", "가상 세계", "3D 인터넷" 및 "가상 환경"이 있다. 이 명칭들 각각은 본 명세서에서 상호교환적으로 이용된다.
종종, VU는 물리적 현상, 집(거주 공간), 및 풍경의 측면에서 현실 세계를 빼닮았다. VU의 예시들에는 에버퀘스트(EverQuest), 울티마 온라인(Ultima Online), 리니지(Lineage) 또는 월드 오브 크래프트(World of Warcraft)와 같은 대규모 멀티플레이어 온라인 게임들뿐만이 아니라, 세컨드 라이프(Second Life), 엔트로피아 유니버스(Entropia Universe), 더 심스 온라인(The Sims Online), 데어(There), 레드 라이트 센터(Red Light Center)가 포함된다.
다양한 VU 개념들이 다음과 같이 일반적으로 정의되어 있다.
"아바타(avatar)"란 사용자가 선택한 그래픽적인 대행물로서, 이것은 다른 사람들이 볼 수 있으며 종종 카툰형식의 사람모습의 형태를 취한다. 사용자는 때때로 내부세계 카메라 오퍼레이터 또는 아바타 제어자로서 칭해지며, "내부세계(in-world)"란 주어진 가상적 우주에 관한 것 또는 그 내부를 말한다.
"에이전트"란 사용자의 계정을 말하며, 이에 기초하여 사용자는 아바타를 구축할 수 있고, 이것은 사용자가 차지하고 있는 재산 목록에 결부되어 있다.
"영역"이란 일반적으로 단일 서버상에 존재하는, VU내의 가상의 지상 영역을 말한다.
기술적으로 말해서, 자산, 아바타, 환경, 및 시각적인 모든 것들은 (i) 기하학적 형상 데이터(텍스트 좌표로서 사용자에게 배포됨), (ii) 텍스처(JPEG2000 파일과 같은 그래픽 파일로서 사용자에게 배포됨), 및 (iii) 효과 데이터(사용자의 선호사항 및 사용자의 디바이스 성능에 따라 사용자의 클라이언트에 의해 랜더링됨)에 결부되어 있는 각각의 UUID(범세계적 고유 식별자 - 본 발명분야에서의 표준)를 포함한다.
마지막으로, "텔레포트 신청"이란 특정한 위치로 즉시 곧바로 이동하기 위한 신청을 말한다.
가상적 우주내의 객체(object)는 원뿔, 삼각형 및 다각형과 같은 하나 이상의 프리미티브 객체들로 구성된다. 객체가 보다 디테일할수록(즉, 보다 많은 프리미티브 객체로 구성될수록), 객체를 랜더링하고 다운로딩하는데 보다 긴 시간이 걸릴 것이다. 가상 세계 무리들은 자신의 설계내에 많은 객체들을 병합하는 것이 일반적이다.
다양한 문제점들이 가상적 우주에서 존재한다. 예를 들어, 가상적 우주에서의 참가는 중량(heavy weight)의 클라이언트, 서버 용량과 내부세계(즉, 가상 환경내)에서 동작하는 방법에 관한 지식을 필요로 한다. 중량의 클라이언트와 필요한 지식은 가상적 우주에 진입하기를 희망하는 수 많은 사람들에게는 진입 장벽이다. 추가적인 서버 용량은 가상적 우주 오퍼레이터에게 많은 비용을 요한다. 가상적 우주의 진입에 대한 장벽을 감소시켜주는 방법이 필요하다.
본 발명은 전술한 문제점들을 해결한다. 본 발명은 완전한 클라이언트 사용자(full client user)(즉, 내부세계 카메라 오퍼레이터)의 아바타만이 완전한 거주인으로서 대행하고, 완전한 클라이언트 사용자/내부세계 카메라 오퍼레이터의 가상 세계 상호작용 지식만을 필요로 하기 때문에, 서버 수요를 경감시켜주는 내부세계 활동의 경량적 관찰을 제공한다. 시청하는 사람들(즉, 원격 관찰자들)은 가상세계 조작의 복잡함을 이해할 필요가 없다. 더욱이, 내부세계에서의 동작들은 일상적이고 상업적 과정의 일부로서 요구되기 때문에, 원격 관찰자를 대신하는 프록시를 완전한 클라이언트 사용자/내부세계 카메라 오퍼레이터에게 승인해주는 능력은 원격 관찰자로 하여금 임시적인 내부세계 대행물 및 자신의 내부세계 동작의 기록을 가질 수 있도록 해준다.
일 실시예에서, 본 발명의 컴퓨터 방법 및 장치는 프록시 시스템과 프록시 화면 내보내기 서브시스템을 포함한다. 거주 사용자에 의해 동작되는 아바타를 갖는 가상 환경이 주어지면, 프록시 시스템은 가상 환경의 게스트 참가자(비거주자)가 되고자 하는 원격 관찰자를 대신하는 프록시로서 아바타를 구축한다. 프록시 화면 내보내기 서브시스템은 아바타를 프록시로서 제공하는 컴퓨터 노드로부터 가상 환경의 화면들을 원격 관찰자에게 내보낸다. 컴퓨터 노드는 가상 환경의 완전한 클라이언트 및/또는 서버일 수 있다. 내보내기는 가상 환경의 애플리케이션 프로그램을 실행할 것을 필요하지 않는 컴퓨터상의 원격 관찰자들(따라서, 경량(light weight)의 클라이언트)에 대해 가상 환경 화면들을 랜더링하는 방식으로 수행된다.
가상 환경은 비디오/3D 비디오 환경, 게임 환경, 가상세계 및/또는 3D 그래픽 환경 등 중에서 임의의 것이다. 프록시 아바타(즉, 프록시 상태의 거주 사용자의 아바타)는 원격 관찰자가 가상 환경에서 비거주 게스트 참가자가 될 수 있도록 해준다. 프록시 시스템은 원격 관찰자를 대행하는 아바타의 아이덴티티(identity of avatar)가 변경되게 해준다.
본 발명의 하나의 양태에 따르면, 프록시 시스템은 원격 관찰자가 가상 환경에서 아바타를 상호작용적으로 제어할 수 있게 해준다. 이것은 원격 관찰자에 대한 "아바타 권한"을 승인하는 것을 포함한다.
다른 양태는 원격 관찰자와 거주 사용자(즉, 내부세계 오퍼레이터)가 통신할 수 있도록 해준다. 통신은 텍스트(예컨대, 채팅 세션) 및/또는 음성[예컨대, VoIP(voice over IP)]에 의한 것일 수 있다.
다른 양태는 아바타가 원격/비거주 관찰자 또는 원격/비거주 관찰자들의 그룹을 대신하는 프록시로서 역할중임을 전달해주는 표시(예컨대, 시각적, 그래픽적, 및/또는 이미지 기반의 표시자 등)를 가상 환경에서 활용한다.
이에 따라, 본 발명에 의해 제공되는 발명적 특징들은 다음을 포함한다.
(1) 비VU 클라이언트(원격 관찰자)로부터 내부세계와 내부세계 카메라 오퍼레이터/아바타 제어자(채팅 및/또는 음성)와의 통신을 위한 시스템.
(2) 내부세계 카메라 오퍼레이터/아바타 제어자를 통해 누가(원격 관찰자 또는 외부 VU 사용자) 내부세계를 대리하여 관찰중인지를 나타내거나, 또는 원격 관찰자들의 그룹을 대행할 때에, 그룹의 회원들의 수를 나타내기 위한 시스템.
(3) '아바타 권한' 및 프록시를 내부세계 카메라 오퍼레이터(완전한 클라이언트 사용자)에게 승인해주어서 내부세계 카메라 오퍼레이터가 내부세계에서 '당신(원격 관찰자/그룹)처럼 행동'할 수 있도록 해주기 위한 시스템. 원격 관찰자의 액세스 제어 리스트 또는 허가서, 아이덴티티 및 아바타가 내부세계 카메라 오퍼레이터에 의해 임시적으로 사용된다.
제안된 본 발명은 아래와 같은 수 많은 장점들을 포함하지만, 아래의 것들로 제한되는 것은 아니다.
(1) 가상세계/환경 이벤트에서 참가를 위한 진입의 장벽이 감소된다.
(2) (비디오 제공물을 수신하는) 원격 관찰자들의 인식이 증가된다.
(3) 내부세계에서 원격 사용자 동작을 위한 프록시 권리 및 액세스가 승인된다.
전술한 내용들은 첨부된 도면들에서 도시된 본 발명의 예시적인 실시예들의 보다 자세한 이하의 설명으로부터 명백해질 것이며, 도면들에서 동일한 참조 문자들은 여러 도면들에 걸쳐서 동일한 부분들을 가리킨다. 도면들은 반드시 실척도일 필요는 없으며, 이 대신에 본 발명의 실시예들을 도해할 때에는 강조하여 도시하였다.
도 1은 본 발명의 실시예들이 배치된 컴퓨터 네트워크의 개략도이다.
도 2는 도 1의 네트워크에서의 컴퓨터 노드의 블럭도이다.
도 3은 본 발명을 구현하는 내부세계 프록시 시스템의 블럭도이다.
도 4는 프록시 화면들을 내보내는 다른 실시예의 블럭도이다.
도 5는 프록시 화면들이 내보내지고 클라이언트들간에 통신이 추가되는 다른 실시예의 블럭도이다.
도 6은 내부세계 카메라의 원격 관찰자 제어의 다른 실시예의 블럭도이다.
도 7은 본 발명의 기하학적 형상 기반의 실시예이다.
도 8은 도 3 실시예의 흐름도이다.
아래에서는 본 발명의 컴포넌트들 및 관련된 인터페이스들을 설명한다. 위에 열거된 장점들을 제공해주기 위해 각각의 컴포넌트들이 이용된다. 이와 다른 다양한 구현예 및 컴포넌트 구성들이 적합할 수 있음을 이해한다. 후술하는 것들은 예시적이고 설명적인 목적으로 기술된 것이며, 한정적인 의미로 기술된 것은 아니다.
도 1은 본 발명의 실시예(100)가 구현될 수 있는 컴퓨터 네트워크 또는 이와 유사한 디지털 프로세싱 환경을 도시한다.
클라이언트 컴퓨터(들)/디바이스들(50a, 50b,...50n)(총칭하여 '50'이라 칭함) 및 서버 컴퓨터(들)(60)은 애플리케이션 프로그램 등을 실행하는 프로세싱 디바이스, 저장 디바이스, 및 입력/출력 디바이스를 제공한다. 클라이언트 컴퓨터(들)/디바이스들(50)은 또한 통신 네트워크(70)를 통해, 다른 클라이언트 디바이스들/프로세스들(50) 및 서버 컴퓨터(들)(60)을 포함하여, 다른 컴퓨팅 디바이스들에 링크될 수 있다. 통신 네트워크(70)는 상대방과 통신하기 위해 각각의 프로토콜들(TCP/IP, 블루투스 등)을 현재 이용하는 원격 액세스 네트워크, 글로벌 네트워크(예컨대, 인터넷), 컴퓨터들의 전세계적 집합체, 로컬 영역 또는 광대역 네트워크, 및 게이트웨이의 일부분일 수 있다. 다른 전자 디바이스/컴퓨터 네트워크 아키텍처가 적합할 수 있다.
일반적으로, 하나 이상의 서버들(60)이 가상 환경(40)(도 3 참조)을 지원하며, 중량의(완전한) 클라이언트들(50a, 50b)은 완전한 클라이언트 사용자들(내부세계 카메라 오퍼레이터/아바타 제어자)의 각각의 아바타들(25, 35)을 지원한다. 통상적인 가상세계 시뮬레이터 기술들 및 내부세계 카메라 동작/아바타 제어 기술들이 일반적인 동작을 위해 활용된다. 또한, 경량의 클라이언트(50c)는 외부세계/원격 관찰자(11)(도 3 참조)를 가상세계(40)의 임시적 참가 게스트로서 지원한다. 바람직한 실시예에서, 경량의 클라이언트(50c)는 (이후에 명백하게 설명되는) 브라우저(13) 및 적어도 비디오 플레이어 플러그인(18) 등을 포함한다.
완전한 클라이언트(50a)의 사용자는 아바타(25)를 제어한다. 본 발명에 따르면, 아바타(25)는 다양한 시점에서 프록시 아바타(15)로서 역할을 할 수 있다. 본 발명의 시스템(100)은 완전한 클라이언트(50a) 사용자/아바타(25) 제어자가 내부세계(40)로부터의 화면을 경량의 클라이언트(50c)의 표준적인 비디오 플레이어(18)에 스트리밍하도록 해준다. 완전한 클라이언트(50a) 사용자/아바타(25) 제어자는 원격 관찰자/게스트 참가자(11)의 상호작용 제어 및 원격 아이덴티티를 통해 내부세계 프록시 아바타(15)(아바타(25)의 모드 또는 상태)를 거쳐서 비디오 화면을 스트리밍해줄 수 있다. 이러한 방식을 통해, 중량의 클라이언트(50a, 50b)의 요건을 제거시킴으로써 가상세계 환경(40)으로의 진입시의 장벽이 감소되고, 가상세계 인프라구조에 대한 서버(60) 부하가 감소되는데, 이것은 이하에서 보다 자세하게 설명될 것이다.
도 1에 이어서, 도 2는 도 1의 컴퓨터 시스템내의 컴퓨터[예컨대, 클라이언트 프로세서/디바이스(50) 또는 서버 컴퓨터(60)]의 내부 구조도이다. 각각의 컴퓨터들(50, 60)은 컴퓨터 또는 프로세싱 시스템의 컴포넌트들간의 데이터 전송에 이용되는 하드웨어 배선 세트인 시스템 버스(79)를 포함한다. 시스템 버스(79)는 엘리먼트들간의 정보의 전송을 가능하게 해주는 컴퓨터 시스템(예컨대, 프로세서, 디스크 저장소, 메모리, 입력/출력 포트, 네트워크 포트 등)의 여러가지 엘리먼트들을 연결시켜주는 공유된 통로이다. 시스템 버스(79)에는 다양한 입력 및 출력 디바이스들(예컨대, 키보드, 마우스, 디스플레이, 프린터, 스피커, 등)을 컴퓨터(50, 60)에 연결시켜주는 I/O 디바이스 인터페이스(82)가 부착된다. 네트워크 인터페이스(86)는 컴퓨터로 하여금 네트워크[예컨대, 도 1의 네트워크(70)]에 부착된 다양한 기타의 디바이스들에 연결되도록 해준다. 메모리(90)는 본 발명의 실시예(100)(예컨대, 경량의 클라이언트(50c), 내부세계 프록시 아바타(15), 아바타 권한(30) 및 상술하고 후술할 관련 코드)를 구현하는데 이용되는 컴퓨터 소프트웨어 명를 위한 휘발성 저장소를 제공한다. 디스크 저장소(95)는 본 발명의 실시예를 구현하는데 이용되는 컴퓨터 소프트웨어 명령(92) 및 데이터(94)를 위한 비휘발성 저장소를 제공한다. 중앙 프로세서 유닛(84)이 또한 시스템 버스(79)에 부착되어 컴퓨터 명령의 실행을 제공해준다.
일 실시예에서, 프로세서 루틴(92) 및 데이터(94)는 본 발명 시스템을 위한 소프트웨어 명령의 적어도 일부분을 제공해주는 컴퓨터 판독가능 매체(예컨대, 하나 이상의 DVD-ROM, CD-ROM, 디스켓, 테이프 등과 같은 탈착가능한 저장 매체)를 포함하는, (일반적으로 도면부호 '92'로서 칭해지는) 컴퓨터 프로그램 제품이다. 컴퓨터 프로그램 제품(92)은 본 발명기술에서 잘 알려진 임의의 적절한 소프트웨어 설치 프로시저에 의해 설치될 수 있다. 다른 실시예에서, 소프트웨어 명령의 적어도 일부분은 또한 케이블, 통신 및/또는 무선 접속을 통해 다운로드될 수 있다. 다른 실시예들에서, 본 발명 프로그램은 전파 매체(예컨대, 무선파, 적외선파, 레이저파, 음파, 또는 인터넷 또는 기타 네트워크(들)과 같은 글로벌 네트워크를 통해 전파되는 전기파)상의 전파 신호로 구현된 컴퓨터 프로그램 전파 신호 제품(107)이다. 이러한 캐리어 매체 또는 신호는 본 발명의 루틴/프로그램(92)을 위한 소프트웨어 명령의 적어도 일부분을 제공해준다.
대안적인 실시예들에서, 전파 신호는 전파 매체를 통해 운송되는 아날로그 캐리어파 또는 디지털 신호이다. 예를 들어, 전파 신호는 글로벌 네트워크(예컨대, 인터넷), 원격통신 네트워크, 또는 기타 네트워크를 통해 전파되는 디지털화된 신호일 수 있다. 일 실시예에서, 전파 신호는 수 밀리초, 초, 분, 또는 이보다 긴 기간에 걸쳐 네트워크를 통해 패킷으로 보내진 소프트웨어 애플리케이션을 위한 명령과 같이, 일정 기간 동안에 전파 매체를 통해 송신되는 신호이다. 다른 실시예에서, 컴퓨터 프로그램 제품(92)의 컴퓨터 판독가능 매체는, 컴퓨터 프로그램 전파 신호 제품에 대해 상술한 바와 같이, 전파 매체를 수신하고 전파 매체내에 수록된 전파 신호를 식별하는 것과 같은, 컴퓨터 시스템(50)이 수신 및 판독할 수 있는 전파 매체이다.
일반적으로 말해서, 용어 "캐리어 매체" 또는 과도기적 캐리어는 전술한 과도기적 신호, 전파 신호, 전파 매체, 저장 매체 등을 망라한다.
도 3에 이어서, 상술한 바와 같이, 완전한 클라이언트들(50a, 50b, 50n)의 사용자들은 각각의 아바타(25, 35)를 제어한다. 아바타(25, 35)는 각각의 프록시(15)로서 역할을 하도록 구성될 수 있다. 설명의 단순함을 위해, 도 3 내지 도 7 및 후술내용들은 때때로 원격 관찰자(11)에 대응하는 각각의 프록시 상태/프록시 아바타(15)를 갖는 아바타(25)를 설명한다. 다른 완전한 클라이언트들(50b, 50n)의 아바타(35)는 다양한 원격 관찰자들(11)을 대신하는 각각의 프록시 상태들을 유사하게 가질 수 있음을 이해한다. 이와 같은 아바타(25, 35) 각각에 대해, 서버(60)에 대한 수요는, 각각의 프록시 아바타(15)가 관심대상의 아바타(25, 35)의 개념적이고 대안적인 아이덴티티가 되는 가상세계(40)의 각각의 완전한 (거주자 두명이 아닌) 거주자 하나만의 등가물이다. 따라서, 프록시 아바타(15)는 도 3에서 완전한 클라이언트(50a)의 사용자에 의해 제어된 아바타(25)내에서 가상선(점선)으로 도시된다. 도 4 내지 도 7은 보다 상세한 세부사항을 제공하며, 대안적인 실시예들을 설명한다. 도 3 내지 도 7 각각은 다음에 설명하는 본 발명의 비제한적인 예시로서의 가상 세계 프록시 시스템(100)을 설명한다.
본 발명의 실시예들에서의 간략한 개관에 의하면, 프록시 시스템(100)은 아바타(25)로부터, 구체적으로는 시스템(100)의 내부세계 프록시 아바타(15)로부터 화면점(point of view)을 내보내는 방법을 제공한다. 프록시 시스템(100)은 또한 프록시 아바타(15)를 통해 관찰하는 자들(원격 관찰자(들)/게스트)(11) 및 완전한 클라이언트(50a) 사용자/아바타(25) 제어자간의 통신 방법을 제공해주거나 또는 그렇지 않으면 이러한 것을 가능하게 해준다. 프록시 시스템(100)은 또한 허가가 승인되면 프록시를 통해 관찰하는 원격 관찰자(11)가 가상세계(40)와 상호작용할 수 있도록 해준다. 또한, 프록시 시스템(100)은 (초기 내부세계 아바타(25) 사용자로부터 원격 관찰자(11)를 대행하는 대응하는 프록시 아바타(15)까지) 내부세계 아이덴티티의 아바타(25) 제어자/완전한 클라이언트(25a) 사용자 임시 전송을 승인하고, 내부세계 사용자/아바타(25) 제어자가 프록시 아바타(15)를 동작시켜서 승인된 관찰자(11)를 대신하여 행동하게 하는 능력을 원격 관찰자(11)에게 제공한다. 이러한 특징들 각각은 다음과 같은 바람직하고 다양한 대안적인 실시예들에서 구현된다.
화면점 내보내기
본 실시예들은 아바타(25, 35)의 화면점을 가상세계(40)의 외부에 있는 비 가상세계(40) 회원/관찰자(11)에게 내보내는 방법을 포함한다. 몇몇 실시예들에서, 가상세계 서버(60)는 (도 6 및 도 7에서 도시된) 내보내기 컴포넌트(28, 29)를 포함하며, 다른 실시예들에서는 내보내기 컴포넌트(28, 29)를 (도 3 내지 도 5에서 도시된) 중량의 클라이언트(50a, 50b)상에 배치시킬 수 있다. 서버(60) 환경에서, 프로토콜 핸들러(31)는 아바타(25, 35)의 시야내의 객체와 함께 아바타의 위치와 배향을 표출한다. 서버(60)는 알려진 가상세계 랜더링 기술들을 이용하여 아바타(25, 35)의 화면(200)을 랜더링한다. 그런 후 이 화면(200)은 참조부호 29에서 정지 화상 또는 프레임으로 변환된다. 서버(60)는 초당 여러 프레임들을 생성시킬 수 있고, 이러한 프레임들을 관찰하는 것에 관심을 갖는 경량의 클라이언트(50c)로의 송신을 위한 버퍼(28)내에 각각의 프레임을 위치시킬 수 있다. 클라이언트(50c)[예컨대, 경량의 클라이언트(50c)내의 스트리밍 비디오 플레이어(18)]는 서버(60)에 의해 수신된 각각의 프레임을 디스플레이한다. 만약 초당 충분한 프레임이 송신되면, 클라이언트(50c)를 관찰하는 원격 관찰자(11)는 정지 프레임들을 연속된 스트림으로서 인식하며, 독립적인 정지 화상들로 인식하지 않는다.
대부분의 실시예들에서, 정지 화상들을 송신하는데 필요한 대역폭을 감소시켜주는 다른 단계가 삽입되는데, 이 단계를 인코딩이라 부른다. 예시적인 인코딩 기술들에는 MPEG2, MPEG4, H.264, FLV 및 이와 다른 많은 기술들이 포함된다. 추가적으로, 서버(60)는 아바타 또는 환경에 의해 생성된 임의의 사운드(잠재적으로, MP3, WMA 기타 등과 같은 알려진 오디오 인코딩 기술로 인코딩됨)를 표출시키고, 이러한 것들을 관찰중인 클라이언트(50)에 송신한다.
통신
도 3 및 도 5를 참조하면, 본 실시예들은 완전한 클라이언트(50a)의 채팅 멀티플렉서(24)와 통신하기 위해 결합된 채팅 확장부(14)를 이용하며, 클라이언트(50a)의 카메라 제어기(26)를 상호작용으로 제어하기 위해 동작적으로 결합된 카메라 제어 확장부(16)를 이용한다. 이러한 확장부들(14, 16)(또는, 이와 실질적으로 유사한 것들)에서, 본 발명은 내부세계 프록시 아바타(15)의 완전한 클라이언트(50a) 사용자/제어자와 아바타의 내보내진 화면점(200)을 관찰하는 이들(11)간의 통신을 허용해주는 방법을 포함한다. 통신은 성질상 텍스트방식일 수 있으며, 브라우저(13)를 통해 내부세계 프록시 아바타(15)의 화면점을 관찰하는 원격 관찰자(11)로부터의 HTTP 요청을 통해 수신될 수 있다.
원격 관찰자(11)에게 반송되는 통신은 또한 성질상 텍스트방식일 수 있으며, HTTP 응답으로서 브라우저(13)에 송신된다. 다른 실시예들에서, 아바타(15)와 브라우저(13)간에 프록싱된 알려진 VoIP(voice over IP) 방법들을 이용하여 음성 통신이 허용될 수 있다.
비제한적인 예시로서, 일 실시예에서, 원격 관찰자의 브라우저(13)는 네비게이션부(16), 통신부(14) 및 표준 웹 브라우저 옵션들 옆의 오디오/비디오 콘텐츠(18)의 디스플레이를 허용하도록 증대된다. 대부분의 실시예들에서, 이러한 증대는 표준 방법들을 통해 설치된 브라우저(13)에 대한 하나 이상의 확장부들(14, 16, 18)이다. 확장부들(14, 16, 18)은 본 발명에 특유적이지 않을 수 있다. 예를 들어, 제안된 본 발명은 마크로미디어 플래쉬 또는 애플 퀵타임과 같은 표준 브라우저 확장부들을 이용할 수 있다. 아바타 "권리 승인" 요청, 및 네비게이션이 표준 HTML 및 HTML 버튼을 이용하여 인보크될 수 있다. 도 6에서 도시된 바와 같이, 이러한 요청은 표준 브라우저 HTTP 요청/응답 방법들을 이용하여 가상세계 시스템 서버(60)에 송신될 수 있다. 통신은 성질상 HTML 형태로 렌더링된 텍스트 방식일 수 있으며, 콘텐츠는 표준 브라우저 HTTP 요청/응답 방법들을 이용하여 원격 관찰자(11)[자신의 브라우저(13)]에 송신될 수 있다. 표준 HTML 및 스크립팅 방법들을 통해, 브라우저(13)는 HTTP 요청을 이용하여 외부로의 통신을 위해 프록시 시스템(100)을 폴링할 수 있다. (서버(60)의 채팅 모듈(64) 및 클라이언트(50a)의 채팅 멀티플렉서(24)를 통한) 내부세계 아바타(15, 35)와의 음성 통신은 VoIP를 지원하는 다른 브라우저 플러그인[예컨대, 채팅 확장부(14)]를 통해 인에이블될 수 있다.
네비게이션
도 3 및 도 5에 이어서, 네비게이션 및 "아바타 권한"(30) 요청이 HTTP 요청을 통해 프록시 시스템(100)내에 송신된다. "아바타 권한"(30)을 승인해달라는 요청이 해당 내부세계 프록시 아바타(15)의 완전한 클라이언트(50a) 사용자/제어자에게 표시되고, 응답은 HTTP 응답을 통해 요청자(11)에게 반송된다. "아바타 권한"(30)이 내부세계 아바타(25, 15) 제어자/완전한 클라이언트(50a) 사용자에 의해 승인될 때에만 원격 관찰자(11)로부터의 네비게이션 요청이 프로세싱된다. 네비게이션 요청(16)은 HTTP 요청을 통해 수신된다. 네비게이션 요청(16)은 이동, 배향, 텔레포테이션 또는 이와 다른 복수의 공지되거나 또는 일반적인 가상세계 기능들을 포함할 수 있다. 프록시 시스템(100)은, 마치 요청된 기능들이 중량의 가상세계 클라이언트(50a, 50b)에 의해 실행된 것 처럼, 카메라 제어 확장부(16)와 동작적으로 통신하는 카메라 제어기(26)에 의해 이러한 기능들을 실행시킨다.
내부세계 대행물
내부세계 프록시 아바타(15)(아바타(25)의 상태 또는 모드)를 통해 가상세계(40)를 원격적으로 관찰하는 이들(11)의 내부세계 대행물을 프록시 시스템(100) 아이덴티티 및 인증 디렉토리(데이터 저장소)(33)에 의해 설명한다. 데이터 저장소(33)는 비제한적인 예시로서, 내부세계 프록시 아바타(15)에 의해 대행된 원격 관찰자들(11)의 수의 열거, 아바타(25) 아이덴티티, 원격 관찰자들(11)의 명칭 및 유사성 리스트 또는 다른 가상환경의 각자의 아바타들 등을 포함한다.
완전한 내부세계 프록시
또한, 프록시 시스템(100)은 내부세계 프록시 아바타(15)(아바타(25)의 상태)가 원격 관찰자들(11) 중 하나의 아바타 외관을 취하고, 원격 관찰자들(11)의 크레덴셜에 대한 액세스를 갖도록 하여 마치 원격 관찰자 자신들이 원격 관찰자(11)의 아바타인 것처럼 내부세계(40)에서 행동하도록 해준다. 로그온 식별 모듈(12)에서, 원격 관찰자(11)는 내부세계(40) 이용, 인벤토리, 아바타 설명 및 크레덴셜을 위해, 내부세계 프록시 아바타(15)/아바타(25) 액세스 허용을 제어하는 완전한 클라이언트(50a) 사용자를 승인해준다. 이어서, 내부세계 프록시 아바타(15)/아바타(25)는 마치 원격 관찰자(11)가 내부세계에 있는 것 처럼(그리고 사용자 아바타(25)의 내부세계 프록시 아바타(15) 아이덴티티를 통해 관찰하고 있지 않는 것 처럼) 외부의 원격 관찰자(11)의 대행물을 취한다. 이에 응답하여, 서버(60)는 이러한 아이덴티티 변경 또는 업데이트를 데이터 저장소(33)에 기록해둔다. 아바타(25)의 내부세계 프록시 아바타(15) 버전에 의해 수행된 동작들은 허가받은 원격 관찰자(11)에 의해 수행될 때에 대리/원격 아이덴티티(22) 및 대리 카메라 오퍼레이터(23)에서 로깅된다. 2차 카메라(27)가 또한 원격 관찰자(11)를 대행하는 프록시 아바타(15)에 의해 수행된 이러한 동작들을 추적한다.
아바타 권한
"아바타 권한"(30)을 승인하는 것은 원격 관찰자(11)(즉, 내부세계 아바타(25)의 내보내진 화면점을 관찰하는 가상세계(40) 외부의 비회원 게스트 참가자)가 프록시 아바타(15)를 효과적으로 제어할 수 있는 프로세스이다. 요청은 요청측 관찰자(11)의 브라우저(13)로부터 프록시 시스템(100)에 송신되고, 아바타(15, 25)/완전한 클라이언트(50a) 사용자의 내부세계 제어자에 의해 승인되거나 거절된다. 대부분의 실시예들에서, 만약 "아바타 권한"(30)이 승인되면, 승인자(내부세계 아바타(15, 25) 제어자/완전한 클라이언트(50a) 사용자)는 임의의 시점에서 아바타 권한을 철회시킬 수 있다. "아바타 권한"(30)은 원격 관찰자(11)로 하여금 중량의 애플리케이션의 설치, 아바타의 생성 또는 가상세계(40) 진입에 대한 기타 장벽들 없이 가상세계(40)와 상호작용하는 것을 허용해준다. "아바타 권한"(30)이 승인되면, 제한[이를 때때로 액세스 제어 리스트(ACL; access control list 또는 permission)라고 부름]이 아바타(15, 25)의 새로운 제어자/원격 관찰자(11)에 가해질 수 있다. 예를 들어, 원격 관찰자(11)/새로운 제어자는 가상세계 머니를 지출하는 것 또는 가상세계(40)내의 특정한 영역들로의 진입에 제한을 받을 수 있다. 본 발명분야에서 알려진 기술들이 예컨대 데이터 저장소(33)에서 표시된 제한 속성에 기초하여 이러한 제한들을 구현하는데 이용된다.
아바타 랜더링 증대
본 발명의 실시예들은 후술하는 두 개의 구별되는 방법들을 이용하여 아바타(15, 25) 랜더링을 증대시킬 수 있다. 서버(60)의 랜더링 확장부(67)(도 6)가 이러한 증대를 구현하는데 활용된다.
랜더링 증대
화면점 내보내기의 실시때에, 아바타의 화면점이 가상적 우주(40)의 외부에 있는 다른 이들에게 내보내고 있는 중임을 내부세계의 다른 이들에게 전달하도록 사용자의 아바타(15, 25)[즉, 프록시(15) 상태에서의 아바타(25)] 랜더링이 증대될 수 있다. 이와 같은 정보는 자신이 또다른 아바타와 개인적인 상호작용을 갖는 것으로 생각할 수 있는 다른 아바타에 대해서 이용될 수 있다. 랜더링 증대는 실시예에 따라 달라질 수 있지만, 모든 실시예들의 증대는 아바타(15, 25)와의 상호작용이 개인적이지가 않다는 확실성을 갖고 전달되어야한다. 몇몇 예시들은 아바타의 어깨 위의 카메라를 랜더링하는 것, 아바타 뒤의 사람 그룹을 랜더링하는 것 또는 기타의 이와 같은 증대를 포함한다. 몇몇 실시예들에서, 화면점 내보내기를 관찰하기 전에, 식별 로그온(12)에서 원격 관찰자(11)가 프록시 시스템(100)에게 사진을 제공하는 것이 필요할 수 있다. 실시예 시스템은 현재 자신의 화면점을 내보내고 있는 프록시 아바타(15)[즉, 프록시 상태의 아바타(25)] 뒤 또는 위에서 사진을 디스플레이한다.
아바타 랜더링 증대 권한
가상세계 외부에 있는 원격 관찰자(11)가 아바타(15, 25)[즉, 아바타(25)의 프록시 아바타(15) 상태]를 제어하기 위해 "아바타 권한"을 승인받았을 때에 몇몇 실시예들은 추가적인 증대를 지원할 수 있다. 다시, 실시예들은 달라질 수 있지만 아바타(15, 25)가 아바타 소유자(완전한 클라이언트(50a) 사용자)의 제어하에 현재 있지 않다라는 점을 이러한 증대는 명확하게 전달해야 한다. 예를 들어, 아바타가 외부 관찰자(11) 제어하에 있다라는 것을 표시하는 꼭두각시 스트링이 아바타의 팔다리에 부착된 상태에서 아바타(15, 25)(아바타(25)의 프록시 아바타(15) 상태)가 랜더링될 수 있다. 다른 실시예들에서, 아바타를 현재 제어하는 원격 관찰자(11)의 명칭을 표시하는 텍스트가 아바타(15, 25) 위에 랜더링될 수 있다.
대안적인 실시예들
제공된 상세한 설명은 오로지 설명을 위한 것일뿐이지 제안된 본 발명을 한정하려는 의도는 없음을 유념해야 한다. 본 발명분야의 당업자가 아는 바와 같이, 수 많은 변형들이 본 발명의 범위와 사상을 일탈하지 않고서 가능할 수 있다. 따라서, 몇몇의 추가적인 실시예들을 도 4, 도 5 및 도 7에서 도시하고, 이하에서 설명한다.
단순한 클라이언트 스트리밍 실시예(도 4):
이 실시예에서는, 중량의 가상적 우주 클라이언트(50a)가 가상적 우주(40)와 브라우저 클라이언트(50c) 사이에서 프록싱된다. 완전한 클라이언트(50a)가 상술한 프레임 버퍼(28)와 프레임 생성 유닛(29)을 활용하는 반면에 원격 관찰자(11)의 브라우저(13)는 도 3에서 도시된 스트리밍 비디오 플러그인(18)을 활용한다. 이 실시예는 스트리밍 비디오(프록시 화면 내보내기)로 제한되며, 브라우저 클라이언트(50c)와 완전한 3D 클라이언트(50a)간의 추가적인 상호작용(예컨대, 통신, 네비게이션 등)은 지원되지 않는다.
진보된 클라이언트 스트리밍 실시예(도 5):
이 실시예에서는, 중량의 가상적 우주 클라이언트(50a)가 가상적 우주(40)와 브라우저 클라이언트(50c)간에 프록싱된다. 원격 관찰자 브라우저(13)는 도 3에서 도시된, 프록시 화면 내보내기, 통신, 및 네비게이션을 각각 지원하는 스트리밍 비디오 확장부(18), 채팅 확장부(14) 및 카메라 제어 확장부(16)를 활용한다. 완전한 클라이언트(50a)는 전술한 대응하는 동작적/상호작용적 비디오-오디오 스트리밍 서브시스템[프레이머(29) 및 버퍼(28)], 통신 모듈[채팅 멀티플렉서(24)] 및 카메라 제어기(26), 2차 카메라(27) 유닛을 갖는다. 이 실시예는 상술한 스트리밍 비디오/프록시 화면 내보내기 방법, 완전한 클라이언트(50a) 사용자와 원격 관찰자(11) 간의 통신, 및 네비게이션 방법을 허용한다.
브라우저 랜더링 실시예(도 7):
이 실시예에서는, 가상적 우주 서버(60)가 기하학적 형상 정보 및 텍스처를 원격 관찰자(11)/클라이언트(50c)의 브라우저(13)에 송신한다. 브라우저(13)내의 3D 기하학적 형상 랜더링 플러그인(73)은 이러한 텍스처 및 기하학적 형상(즉, 송신된 데이터)을 랜더링된 화상과 동화상으로 변환시킨다. 이것은 프록시 화면 내보내기(스트리밍 비디오)를 구현한다. 기하학적 형상 기반의 랜더링은 장면 그래프의 다운스트림을 업데이트하며, 이것은 일방향성이다. 따라서, 단순형 프로토콜 핸들러(37)가 기하학적 형상 기반의 랜더링을 지원하는데 활용되는 반면에 (상술한) 복합형 프로토콜 핸들러(31)는 완전한 클라이언트(50a)와의 프로토콜 상호작용, 상태 업데이트 및 양방향성 이벤트를 제공한다.
이제 도 8의 흐름도를 참조하면, 도 3의 프로세싱 실시예가 자세하게 설명되고 기술된다. (클라이언트(50c)에서의) 원격 관찰자(11)는 초기에 관심대상의 가상 세계(40)의 비참가자이자 비회원이다. 본 발명의 프록시 시스템(100)을 통해, 원격 관찰자(11)는 프록시를 통해 화면들(200)을 수신하고자 하는 요청을 한다(단계 102). 클라이언트(50c)는 이러한 요청을 가상 세계(40)의 작업 회원들로서 완전한 클라이언트(50a) 및/또는 서버(60)에 송신한다.
일 실시예에서, 서버(60)는 이에 응답하여 필요한 바에 따라, 요청측의 클라이언트(50c) 로그온 식별 모듈(12), 채팅 확장부(14), 카메라 제어 확장부(16) 및 스트리밍 비디오 플러그인(18)의 브라우저(13)에 다운로드한다(단계 104). 다운로딩한 모듈들/플러그인(12, 14, 16, 18)(또는 등가적인 플러그인들)을 클라이언트(50a)에 설치하기 위해(단계 104) 마법사 또는 기타의 알려진 기술들이 활용된다.
가상 세계(40)내의 게스트 참가자 상태를 찾기 위해 원격 관찰자(11)가 식별 로그온(12)을 상호작용으로 동작시킨 것에 응답하여, 완전한 클라이언트(50a)는 프록시 아바타(15)(아바타(25)의 상태)를 초기화한다. 이것은 전술한 대리 원격 아이덴티티(22), 카메라 오퍼레이터 대행 대리부(23), 채팅 멀티플렉서(24), 카메라 제어부(26), 2차 카메라(27) 및 스트리밍 비디오 내보내기 서브시스템(28, 29)을 구축하는 것을 포함한다. 단계 106은 원격 관찰자(11)를 대신하는 프록시로서 아바타(25)를 구축하는 것을 나타낸다. 원격 관찰자(11)가 원격 관찰자(11)/게스트 참가자의 아이덴티티를 취하기 위한 프록시 아바타(15)(아바타(25)의 상태)에 대한 허용을 완전한 클라이언트(50a)의 사용자에게 승인한 것에 응답하여, 클라이언트(50a)는 서버(60) 인증 디렉토리(33)내에 이 아이덴티티를 등록시킨다(단계 106).
서버(60) 프로토콜 핸들러(31)와의 통신에서, 완전한 클라이언트(50a)는 원격 관찰자(11)/클라이언트(50c)에게 프록시 아바타(15)를 통해 관찰한 가상 세계(40)의 스트리밍 화면들(200)을 내보낸다. 스트리밍 비디오 내보내기 서브시스템[즉, 프레임 그래버(29) 및 프레임 버퍼/생성기(28)]은 전술한 프록시 화면 내보내기를 구현한다. 대리 원격 아이덴티티 및 대행부(22, 23)를 통해, 완전한 클라이언트(50a)의 사용자는 가상 세계(40)에서 프록시 아바타(15)의 카메라(26, 27)를 조작하고 제어한다. 단계 108은 또한 상술한 아바타 랜더링 증대를 구현한다.
프록시 아바타(15) 동작 및 이용 동안에, 원격 관찰자(11) 및 완전한 클라이언트(50a) 사용자들은 전술한 채팅 확장부(14)와 채팅 멀티플렉서(24)를 통해 서로 통신한다. 단계 110은 이러한 통신 요청/응답을 구현한다. 프록시 아바타(15)를 이용하여 가상 세계(40)와 한층 상호작용하기 위해, 원격 관찰자(11)는 완전한 클라이언트(50a) 사용자로부터 "아바타 권한"(30)을 요청할 수 있다(단계 112). "아바타 권한"(30)의 승인 시, 단계 114는 프록시 아바타(15)의 원격 관찰자(11) 상호작용 제어를 지원한다. 원격 관찰자(11) 클라이언트(50c)의 카메라 제어 확장부(16)는, 완전한 클라이언트(50a)의 카메라 제어기(26) 및 2차 카메라(27)와의 동작적 통신으로, "아바타 권한"(30)을 가진 원격 관찰자(11)가 프록시 아바타(15)를 제어하도록 구현시킨다. 구체적으로, 단계 114에서 원격 관찰자(11)는 가상 세계(40)에서의 프록시 아바타(15)/아바타(25)의 내부세계 카메라를 조작하고 제어한다. 단계 114는 또한 전술한 "아바타 권한" 랜더링 증대를 구현시킬 수 있다.
본 발명분야의 당업자에 의해 이해되는 바와 같이, 본 발명은 시스템, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함) 또는 소프트웨어와 하드웨어 양태들(본 명세서에서 일반적으로 "회로", "모듈", 또는 "시스템"으로서 언급될 수 있음)을 결합한 실시예의 형태를 취할 수 있다. 또한, 본 발명은 컴퓨터 사용가능 프로그램 코드를 수록한 임의의 유형적 표현 매체내에 수록된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체(들)의 임의의 조합이 활용될 수 있다. 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 예컨대, 비제한적인 예시로서 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있다. 컴퓨터 판독가능 매체의 보다 구체적인 예시들(비포괄적인 리스트임)은 하나 이상의 배선들을 갖는 전기 접속부, 휴대형 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 제거가능한 프로그램가능 판독 전용 메모리(EPROM 또는 플래쉬 메모리), 광섬유, 휴대형 컴팩트 디스크 판독 전용 메모리(CDROM), 광학 저장 디바이스, 인터넷 또는 인트라넷을 지원하는 것과 같은 송신 매체, 또는 자기 저장 디바이스를 포함할 것이다. 프로그램은 예컨대 페이퍼 또는 이와 다른 매체의 광학적 스캐닝을 통해 전자적으로 캡쳐될 수 있고, 그 후 컴파일되고 해석되거나, 또는 그렇지 않은 경우 필요한 경우 적절한 방법으로 프로세싱되고, 그런 다음 컴퓨터 메모리내에 저장되기 때문에, 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 심지어 프로그램이 인쇄된 페이퍼 또는 이와 다른 적절한 매체일 수 있음을 유념한다. 이 명세서의 구성에서, 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 명령 실행 시스템, 장치, 또는 디바이스에 의한 사용 또는 이와 결합된 사용을 위한 프로그램을 포함하고, 저장하고, 전달하고, 전파하거나, 또는 전송할 수 있는 임의의 매체일 수 있다. 컴퓨터 사용가능 매체는 기저대역 또는 캐리어파의 일부분으로서, 컴퓨터 사용가능 프로그램 코드가 함께 수록된 전파 데이터 신호를 포함할 수 있다. 컴퓨터 사용가능 프로그램 코드는 비제한적인 예시로서 무선, 유선, 광섬유 케이블, RF 등을 포함하는 임의의 적절한 매체를 이용하여 송신될 수 있다.
본 발명의 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 자바, 스몰토크, C++ 등과 같은 객체 지향형 프로그래밍 언어와 "C" 프로그래밍 언어 또는 이와 유사한 프로그래밍 언어와 같은 통상적인 절차적 프로그래밍 언어를 포함하는, 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기록될 수 있다. 프로그램 코드는 사용자의 컴퓨터상에서 전체가 실행될 수 있거나, 사용자의 컴퓨터상에서 부분적으로 실행될 수 있거나, 독립형 소프트웨어 패키지로서, 사용자의 컴퓨터상에서 부분적으로 그리고 원격 컴퓨터상에서 부분적으로 실행될 수 있거나, 또는 원격 컴퓨터 또는 서버상에서 전체가 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 로컬 영역 네트워크(LAN) 또는 광대역 네트워크(WAN)를 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 접속될 수 있거나, 또는 (예컨대, 인터넷 서비스 공급자를 이용한 인터넷을 통해) 외부 컴퓨터로의 접속이 행해질 수 있다.
본 명세서에서는 본 발명의 실시예들에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블럭도를 참조하여 본 발명을 설명하였다. 흐름도 및/또는 블럭도내의 각각의 블럭, 및 흐름도 및/또는 블럭도내의 블럭들의 조합은 컴퓨터 프로그램 명령에 의해 이행될 수 있음을 이해할 것이다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적용 컴퓨터, 또는 머신을 생성하기 위한 기타의 프로그램가능 데이터 프로세싱 장치의 프로세서에 제공됨으로써 컴퓨터 또는 기타의 프로그램가능 데이터 프로세싱 장치의 프로세서를 통해 실행되는 이러한 명령들이 흐름도 및/또는 블럭도의 블럭 또는 블럭들내에서 규정된 기능/동작을 이행하기 위한 수단을 생성시킬 수 있다.
컴퓨터 또는 기타의 프로그램가능 데이터 프로세싱 장치가 특정한 방식으로 기능을 하도록 지시할 수 있는 이러한 컴퓨터 프로그램 명령은 또한 컴퓨터 판독가능 매체내에 저장될 수 있으며, 이로써 컴퓨터 판독가능 매체내에 저장된 명령들이 흐름도 및/또는 블럭도의 블럭 또는 블럭들내에서 규정된 기능/동작을 이행하는 명령 수단을 포함하는 제조 물품을 생성하도록 한다.
컴퓨터 구현된 프로세스를 생성하도록 하는 일련의 동작 단계들이 컴퓨터 또는 기타의 프로그램가능 장치상에서 수행되도록 하는 컴퓨터 프로그램 명령들이 또한 컴퓨터 또는 기타의 프로그램가능 데이터 프로세싱 장치상으로 로딩될 수 있으며, 이로써 컴퓨터 또는 기타의 프로그램가능 장치상에서 실행되는 명령들이 흐름도 및/또는 블럭도의 블럭 또는 블럭들내에서 규정된 기능/동작을 이행하는 프로세스를 제공한다.
도면들내의 흐름도 및 블럭도는 본 발명의 다양한 실시예들에 따른 시스템, 방법, 및 컴퓨터 프로그램 제품의 잠재적인 구현의 아키텍쳐, 기능성, 및 동작을 도시한다. 이점에서, 흐름도 또는 블럭도내의 각각의 블럭들은 특정한 논리 기능(들)을 이행하기 위한 하나 이상의 실행가능 명령들을 포함하는, 모듈, 세그먼트, 또는 코드 부분을 나타낼 수 있다. 몇몇 대안적인 구현예들에서, 블럭내에서 나타난 기능들은 도면들에서 나타난 순서를 따르지 않고서 수행될 수 있음을 또한 유념해야 한다. 예를 들어, 연이어 도시된 두 개의 블럭들은, 실제적으로는, 사실상 동시적으로 실행될 수 있거나, 또는 수반된 기능성에 따라, 블럭들은 때때로 반대의 순서로 실행될 수 있다. 블럭도 및/또는 흐름도의 각각의 블럭, 블럭도 및/또는 흐름도내의 블럭들의 조합은 특정한 기능 또는 동작을 수행하는 특수 목적용 하드웨어 기반 시스템, 또는 특수 목적용 하드웨어 및 컴퓨터 명령의 조합에 의해 이행될 수 있음을 또한 유념할 것이다.
본 명세서에서 사용된 용어는 단지 특정 실시예를 설명하기 위함이며, 본 발명을 제한시키려는 의도는 없다. 본 명세서에서 사용된 "a", "an" 및 "the"의 단수 형태는 문맥에서 명확하게 달리 표현하지 않는 한, 복수 형태도 포함하는 것으로 한다. 또한, 용어 "포함한다" 및/또는 "포함하는"이 본 명세서에서 사용될 때에, 진술된 특징, 정수, 단계, 동작, 엘리먼트, 및/또는 컴포넌트의 존재를 규정하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 엘리먼트, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음을 추가로 이해할 것이다.
아래의 청구항들에서 모든 수단들 또는 단계들 및 기능 엘리먼트의 대응하는 구조물, 물질, 동작, 및 등가물은 구체적으로 청구된 다른 청구된 엘리먼트들과 결합하여 본 기능을 수행하기 위한 임의의 구조물, 물질, 또는 동작을 포함하는 것으로 한다. 본 발명의 설명은 설명과 해설을 위해 제시되었으며, 개시된 형태를 망라한 것이거나 또는 본 발명을 개시된 형태로 한정시키는 것으로 의도한 것은 아니다. 수 많은 변형과 변경이 본 발명의 범위와 사상으로부터 일탈하는 것 없이 본 발명의 당업자에게 떠오를 것이다. 본 발명의 원리와 실제 응용을 최상으로 설명하고, 본 발명분야의 기타 사람들이 특정 용도 구상에 적합한 다양한 변형들을 갖는 다양한 실시예들을 염두하면서 본 발명을 이해하도록 하기 위해 실시예가 선택되고 기술되었다.
70: 네트워크, 82: I/O 디바이스 인터페이스
84: 중앙 프로세서 유닛, 86: 네트워크 인터페이스
79: 시스템 버스, 90: 메모리
92: 루틴, 95: 디스크 저장소
92: OS 프로그램, 94: 데이터
40: VW 시뮬레이션, 31: 프로토콜 핸들러
33: 3D 인터넷 아이덴티티 및 인증 디렉토리
60: VW 서버, 12: 식별 로그온
14: 채팅 확장부, 16: 카메라 제어 확장부
18: 스트리밍 비디오 플러그인, 13: 웹 브라우저
11: 게스트 참가자, 24: 채팅 멀티플렉서
26: 카메라 제어부, 28: 프레임 스트리머
23: 카메라 오퍼레이터 대행 대리부, 27: 2차 카메라
29: 프레임 그레이버, 15: 프록시
25: 내부세계 아바타/제어자, 50a: 완전한 3D 클라이언트
67: 서버측 랜더링 확장부, 31: 복합형 프로토콜 핸들러
73: 3D 기하학적 형상 랜더링 플러그인

Claims (10)

  1. 컴퓨터 가상 환경 화면들(computer virtual environment views)을 랜더링하는 컴퓨터 방법에 있어서,
    사용자에 의해 동작되는 아바타를 갖는 가상 환경이 주어지면, 원격 관찰자(remote viewer)를 대신하는 프록시(proxy)로서 상기 아바타를 구축하는 단계; 및
    상기 아바타를 상기 프록시로서 제공하는 컴퓨터 노드로부터 상기 가상 환경의 화면들을 상기 원격 관찰자에게 내보내는(exporting) 단계
    를 포함하며, 상기 내보내는 단계는 상기 가상 환경의 애플리케이션 프로그램을 실행하지 않는 컴퓨터상의 상기 원격 관찰자에 대해 가상 환경 화면들을 랜더링하는 방식으로 수행되는 것인, 컴퓨터 방법.
  2. 제1항에 있어서, 상기 가상 환경은 비디오 환경, 게임 환경, 가상 세계 및 3D 그래픽 환경 중 임의의 하나인 것인, 컴퓨터 방법.
  3. 제1항에 있어서, 상기 사용자는 상기 가상 환경의 거주자이며,
    상기 아바타를 프록시로서 구축하는 단계는, 상기 원격 관찰자를 상기 가상 환경내의 비거주자인 게스트 참가자가 되도록 인에이블시키는 단계를 포함하는 것인, 컴퓨터 방법.
  4. 제1항에 있어서,
    상기 원격 관찰자를 대행하는 상기 아바타의 아이덴티티(identity)를 변경시키는 단계
    를 더 포함하는, 컴퓨터 방법.
  5. 제1항에 있어서,
    상기 가상 환경내에서 상기 아바타를 상호작용적으로 제어하도록 상기 원격 관찰자를 인에이블시키는 단계
    를 더 포함하는, 컴퓨터 방법.
  6. 제5항에 있어서, 상기 원격 관찰자를 인에이블시키는 단계는 상기 원격 관찰자에게 아바타의 권한(power of avatar)을 승인해주는 단계를 포함하는 것인, 컴퓨터 방법.
  7. 제1항에 있어서,
    상기 원격 관찰자와 상기 사용자가 서로 통신하도록 인에이블시키는 단계를 더 포함하는, 컴퓨터 방법.
  8. 제1항에 있어서,
    상기 프록시로서 역할을 하는 상기 아바타를 상기 가상 환경내에서 표시하는 단계를 더 포함하는, 컴퓨터 방법.
  9. 가상 환경 화면들을 랜더링하는 컴퓨터 장치에 있어서,
    사용자에 의해 동작되는 아바타를 갖는 가상 환경이 주어지면, 원격 관찰자를 대신하는 프록시로서 상기 아바타의 구성을 인에이블시키는 프록시 시스템; 및
    상기 프록시 시스템에 결합되며, 상기 아바타를 상기 프록시로서 제공하는 컴퓨터 노드로부터 상기 가상 환경의 화면들을 상기 원격 관찰자에게 내보내는 프록시 화면 내보내기 서브시스템
    을 포함하며, 상기 서브시스템은 상기 가상 환경의 애플리케이션 프로그램을 실행하지 않는 컴퓨터상의 상기 원격 관찰자에 대해 가상 환경 화면들을 랜더링하는 방식으로 상기 화면들을 내보내는 것인, 컴퓨터 장치.
  10. 컴퓨터 가상 세계의 화면들을 랜더링하는 컴퓨터 프로그램 제품에 있어서,
    원격 관찰자를 대신하는 프록시를 형성하기 위해 관심대상의 가상 세계내에서 사용자의 아바타를 이용하도록 구성된 컴퓨터 사용가능 프로그램 코드; 및
    상기 아바타를 프록시로서 제공하는 컴퓨터로부터 상기 가상 세계의 화면들을 상기 원격 관찰자에게 내보내도록 구성된 컴퓨터 사용가능 프로그램 코드
    를 포함하는 컴퓨터 사용가능 프로그램 코드를 기록한 컴퓨터 사용가능 매체를 포함하며,
    상기 화면들은 상기 가상 세계의 애플리케이션 프로그램을 실행하지 않는 컴퓨터상의 상기 원격 관찰자에 대해 가상 세계 화면들을 랜더링하는 방식으로 내보내지는 것인, 컴퓨터 프로그램 제품.
KR1020100054408A 2009-06-18 2010-06-09 내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치 KR20100136415A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/487,442 US8629866B2 (en) 2009-06-18 2009-06-18 Computer method and apparatus providing interactive control and remote identity through in-world proxy
US12/487,442 2009-06-18

Publications (1)

Publication Number Publication Date
KR20100136415A true KR20100136415A (ko) 2010-12-28

Family

ID=43353911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100054408A KR20100136415A (ko) 2009-06-18 2010-06-09 내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치

Country Status (2)

Country Link
US (1) US8629866B2 (ko)
KR (1) KR20100136415A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456328B1 (ko) * 2011-03-01 2014-11-04 디즈니엔터프라이지즈,인크. 스프라이트 스트립 렌더러
KR20230123240A (ko) * 2022-02-16 2023-08-23 이화여자대학교 산학협력단 영상 제공 장치와 연동되는 메타버스 스트레처블 디스플레이 컨트롤러 제공 장치 및 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8655964B2 (en) 2009-12-14 2014-02-18 At&T Intellectual Property I, Lp Unified location and presence, communication across real and virtual worlds
WO2013003914A1 (en) * 2011-07-07 2013-01-10 Smart Services Crc Pty Limited A system and method for managing multimedia data
US9846960B2 (en) 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US20130321564A1 (en) 2012-05-31 2013-12-05 Microsoft Corporation Perspective-correct communication window with motion parallax
US9767598B2 (en) 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
US8976224B2 (en) 2012-10-10 2015-03-10 Microsoft Technology Licensing, Llc Controlled three-dimensional communication endpoint
WO2015033333A1 (en) * 2013-09-09 2015-03-12 N-Sip Ltd Communication channel between plugin application and browser script
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319992B2 (en) * 2000-09-25 2008-01-15 The Mission Corporation Method and apparatus for delivering a virtual reality environment
EP1428108B1 (en) * 2001-05-14 2013-02-13 Koninklijke Philips Electronics N.V. Device for interacting with real-time streams of content
US6999083B2 (en) * 2001-08-22 2006-02-14 Microsoft Corporation System and method to provide a spectator experience for networked gaming
US6853398B2 (en) * 2002-06-21 2005-02-08 Hewlett-Packard Development Company, L.P. Method and system for real-time video communication within a virtual environment
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
WO2006100644A2 (en) 2005-03-24 2006-09-28 Koninklijke Philips Electronics, N.V. Orientation and position adaptation for immersive experiences
US20080086696A1 (en) * 2006-03-03 2008-04-10 Cadcorporation.Com Inc. System and Method for Using Virtual Environments
WO2007124590A1 (en) * 2006-05-03 2007-11-08 Affinity Media Uk Limited Method and system for presenting virtual world environment
US7958453B1 (en) * 2006-09-29 2011-06-07 Len Bou Taing System and method for real-time, multi-user, interactive and collaborative environments on the web
US9630104B2 (en) * 2006-10-23 2017-04-25 Konrad V. Sherinian Systems, methods, and apparatus for transmitting virtual world content from a server system to a client
US8504926B2 (en) * 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
US20080262910A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People via Virtual Reality for Real Time Communications
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
WO2010065848A2 (en) * 2008-12-05 2010-06-10 Social Communications Company Realtime kernel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456328B1 (ko) * 2011-03-01 2014-11-04 디즈니엔터프라이지즈,인크. 스프라이트 스트립 렌더러
KR20230123240A (ko) * 2022-02-16 2023-08-23 이화여자대학교 산학협력단 영상 제공 장치와 연동되는 메타버스 스트레처블 디스플레이 컨트롤러 제공 장치 및 방법

Also Published As

Publication number Publication date
US20100321378A1 (en) 2010-12-23
US8629866B2 (en) 2014-01-14

Similar Documents

Publication Publication Date Title
KR20100136415A (ko) 내부세계 프록시를 통해 상호작용 제어 및 원격 아이덴티티를 제공하는 컴퓨터 방법 및 장치
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US11617947B2 (en) Video game overlay
CN112104594B (zh) 沉浸式交互式远程参与现场娱乐
US8392839B2 (en) System and method for using partial teleportation or relocation in virtual worlds
JP5987060B2 (ja) ゲームシステム、ゲーム装置、制御方法、プログラム及び記録媒体
US9940647B2 (en) Qualified video delivery advertisement
CN109906107A (zh) 基于浏览器的云游戏
JP7355841B2 (ja) 仮想キャラクタの現実間のクロスオーバを示すための方法及び非一時的なコンピュータ可読媒体
JP6576245B2 (ja) 情報処理装置、制御方法及びプログラム
US8888592B1 (en) Voice overlay
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
US8823708B2 (en) Teleport preview provisioning in virtual environments
CN109152955A (zh) 云游戏中的用户保存数据管理
CN113766958A (zh) 用于通过使用分布式游戏引擎来预测状态的系统和方法
US11465059B2 (en) Non-player game communication
JP7419554B2 (ja) ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオのサーフェシング
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
JP2019079510A (ja) 生放送中の音声フィードバックのための方法とシステム、および非一時的コンピュータ読取可能な記録媒体
KR20210084248A (ko) Vr 컨텐츠 중계 플랫폼 제공 방법 및 그 장치
WO2023055813A2 (en) Platform agnostic autoscaling multiplayer inter and intra server communication manager system and method for ar, vr, mixed reality, and xr connected spaces
US9398342B1 (en) Interactive applications
KR20180022329A (ko) Vr 영상 데이터 분석장치
US20230099431A1 (en) Bi-directional Cross-Platform Library for Automated Reflection
US10786744B1 (en) Messaging service

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee