KR101640767B1 - 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 - Google Patents
이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 Download PDFInfo
- Publication number
- KR101640767B1 KR101640767B1 KR1020100011857A KR20100011857A KR101640767B1 KR 101640767 B1 KR101640767 B1 KR 101640767B1 KR 1020100011857 A KR1020100011857 A KR 1020100011857A KR 20100011857 A KR20100011857 A KR 20100011857A KR 101640767 B1 KR101640767 B1 KR 101640767B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual reality
- data
- input
- request
- reality input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법을 개시한다. 가상 현실 입출력 시스템은 복수의 가상 현실 입력 장치로부터 수신된 데이터와 복수의 가상 현실 어플리케이션의 요청을 복수의 가상 현실 데이터 생성부 중 해당하는 적어도 하나의 가상 현실 데이터 생성부로 전달하고, 적어도 하나의 가상 현실 데이터 생성부에서 수신된 데이터 중 해당하는 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전달한다.
Description
본 발명의 실시예들은 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법에 관한 것이다.
최근의 3D 관련 기술 및 시장 동향을 조사해보면, 2015년경에는 3차원 컨텐츠 중심의 새로운 미디어 서비스가 가정에 도입될 전망이며, 가정 내 3차원 컨텐츠 보급을 위해 영화사와 소비자 가전 업체가 협력을 모색 중에 있다. 3차원 컨텐츠를 가정에 전송하기 위하여, 3차원 방송 기술에 대한 관심이 증대되고 있으며, 3차원 방송은 일본(BS-11)에서 시범 방송 중이다. 또한, 여러 방송 관련 기업에서는 3차원 방송 본격화를 위해 압축/전송 표준화 및 기술 개발이 활발히 진행 중이다.
3차원 VW(Virtual World) 서비스는 이머시브(immersive) 체감형 게임이 결합된 새로운 형태의 홈 엔터테인먼트로 자리 잡을 전망이다. 이러한 추세에 발맞추어서 세계 TV 시장에서의 새로운 엔터테인먼트 비즈니스를 이끌어 내기 위하여, 가상 현실 엔터테인먼트 시스템(Virtual Reality Entertainment System, 이하 "VRES")이 개발되었다. VRES는 대화면 디스플레이의 실사 수준 가상 환경에서 실감형 가상 여행, 가상 스포츠, 가상 러닝(learning) 및 가상 게임 등의 새로운 경험(experience)을 즐길 수 있는 체감형 가상 현실 시스템이다. 이러한 VRES는 TV와 같은 홈 디스플레이 장치에서 기존의 게임 콘솔을 넘어서는 새로운 사용자 경험을 사용자에게 제공하기 위하여, 사용자의 모션 센싱, FHD(Full High Definition)급의 3차원 그래픽과 실 사이즈의 아바타를 제공하는 것을 특징으로 한다.
본 명세서에서는 효과적으로 가상 현실 입출력을 제어할 수 있는 시스템 및 방법이 제안된다.
복수의 가상 현실 입력 장치로부터의 데이터를 수신하는 데이터 수신부, 상기 수신된 데이터에 기초하여 각각 해당하는 가상 현실 데이터를 생성하는 복수의 가상 현실 데이터 생성부 및 복수의 가상 현실 어플리케이션의 요청을 상기 복수의 가상 현실 데이터 생성부 중 해당하는 적어도 하나의 가상 현실 데이터 생성부로 전달하고, 상기 적어도 하나의 가상 현실 데이터 생성부에서 상기 수신된 데이터 중 해당하는 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전달하는 가상 현실 입출력부를 포함하는 가상 현실 입출력 시스템이 제공된다.
일측에 따르면, 상기 가상 현실 입출력부는 상기 복수의 가상 현실 어플리케이션 각각의 요청 및 상기 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스레드 풀을 통해 스케줄링 및 로드 밸런싱하여 상기 복수의 가상 현실 데이터 생성부 중 해당하는 가상 현실 데이터 생성부로 전달할 수 있다.
다른 측면에서, 상기 가상 현실 입출력부는 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신(Inter Process Communication, IPC)을 이용하여 상기 복수의 가상 현실 어플리케이션과 통신할 수 있다.
또 다른 측면에서, 가상 현실 입출력 시스템은 고분해능의 타이머(high resolution timer)를 관리하는 실시간 신호 관리부를 더 포함할 수 있고, 상기 가상 현실 입출력부는 상기 고분해능의 타이머를 이용하여 상기 요청에 따른 가상 현실 데이터를 실시간으로 상기 요청을 전송한 가상 현실 어플리케이션으로 전송할 수 있다.
복수의 가상 현실 입력 장치로부터의 데이터를 수신하는 단계, 복수의 가상 현실 어플리케이션 중 적어도 하나로부터 요청을 수신하는 단계, 상기 수신된 데이터 중 적어도 일부 및 상기 요청을 가상 현실 데이터를 생성하는 복수의 모듈 중 해당하는 적어도 하나의 모듈로 전송하는 단계 및 상기 적어도 하나의 모듈에서 상기 적어도 일부의 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전송하는 단계를 포함하는 가상 현실 입출력 방법이 제공된다.
시스템에 의존적이지 않는 네트워크 프로토콜 또는 프로세스간 통신(Inter Process Communication, IPC)를 이용한 입출력 데이터의 송수신을 통해 운영체제 등의 실행 환경에 의존적 않은 가상 현실 입출력 시스템 및 가상 현실 입출력 방법을 제공할 수 있다.
모션 센싱, 3차원 캡처링, 얼굴 표정 추적, 원격 멀티-터치와 같은 별개의 기능 블록들을 하나의 프로세스에서 통합하여 관리하고, 고분해능의 타이머(high resolution timer)를 이용하여 실시간으로 가상 현실 데이터를 서비스함으로써, 신체 동작 데이터나 얼굴 표정 등과 같은 사용자의 모습이 아바타에 실시간으로 반영되도록 할 수 있고, 복수의 가상 현실 입력 장치로부터 수신되는 데이터를 스레드 풀을 통해 일괄 관리함으로써, 스케줄링 및 로드 밸런싱을 제공할 수 있다.
하나의 프로세스에서 어플리케이션별로 세션을 유지 및 관리하여 클라이언트-서버 형태의 서비스를 제공함으로써, 동시에 복수의 컨텐츠 실행을 지원할 수 있다.
하나의 프로세스와 가상 현실 어플리케이션을 분리된 프로세스로 운영함으로써, 컨텐츠의 수행 안정성에 영향을 주지 않도록 결함 내성적(fault-tolerant)인 가상 현실 입출력 시스템을 제공할 수 있다.
다양한 형태와 특성을 가진 가상 현실 데이터를 생성 빈도에 따라 서로 다른 방식으로 제공함으로써 컴퓨터 자원의 낭비를 줄일 수 있다.
도 1은 본 발명의 일실시예에 따른 가상 현실 입출력 시스템을 포함하는 가상 현실 엔터테인먼트 시스템의 개괄적인 모습을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 가상 현실 입출력 시스템에서 복수의 가상 현실 입력 장치로부터 수신되는 데이터를 처리하는 모습을 나타낸 일례이다.
도 3은 본 발명의 일실시예에 따른 가상 현실 입출력 시스템을 통해 생성되는 데이터의 일례이다.
도 4는 본 발명의 일실시예에 있어서, VRES에서 동작하는 프로세스를 나타낸 일례이다.
도 5는 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템을 설명하기 위한 일례이다.
도 6은 본 발명의 일실시예에 있어서, 얼굴 및 신체 모델링을 위한 시퀀스의 일례이다.
도 7은 본 발명의 일실시예에 있어서, 얼굴 애니메이션을 위한 시퀀스의 일례이다.
도 8은 본 발명의 일실시예에 있어서, 동작 모델링을 위한 시퀀스의 일례이다.
도 9는 본 발명의 일실시예에 있어서, 원격 멀티-터치를 위한 시퀀스의 일례이다.
도 10은 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 11은 본 발명의 일실시예에 있어서, 가상 현실 입출력 방법을 도시한 흐름도이다.
도 2는 본 발명의 일실시예에 따른 가상 현실 입출력 시스템에서 복수의 가상 현실 입력 장치로부터 수신되는 데이터를 처리하는 모습을 나타낸 일례이다.
도 3은 본 발명의 일실시예에 따른 가상 현실 입출력 시스템을 통해 생성되는 데이터의 일례이다.
도 4는 본 발명의 일실시예에 있어서, VRES에서 동작하는 프로세스를 나타낸 일례이다.
도 5는 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템을 설명하기 위한 일례이다.
도 6은 본 발명의 일실시예에 있어서, 얼굴 및 신체 모델링을 위한 시퀀스의 일례이다.
도 7은 본 발명의 일실시예에 있어서, 얼굴 애니메이션을 위한 시퀀스의 일례이다.
도 8은 본 발명의 일실시예에 있어서, 동작 모델링을 위한 시퀀스의 일례이다.
도 9는 본 발명의 일실시예에 있어서, 원격 멀티-터치를 위한 시퀀스의 일례이다.
도 10은 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 11은 본 발명의 일실시예에 있어서, 가상 현실 입출력 방법을 도시한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 가상 현실 입출력 시스템을 포함하는 가상 현실 엔터테인먼트 시스템의 개괄적인 모습을 도시한 도면이다. 가상 현실 엔터테인먼트 시스템(Virtual Reality Entertainment System, 이하, "VRES")(110)은 대화면 디스플레이의 실사 수준 가상 환경에서 실감형 가상 여행, 가상 스포츠, 가상 게임 등과 같이 새로운 경험을 즐길 수 있는 체감형 가상 현실 시스템으로, 도 1에서와 같이, 가상 현실 데이터 입출력부(111), 가상 현실 입출력 시스템(112) 그리고 가상 현실 엔진(113) 및 가상 현실 어플리케이션(114)를 포함할 수 있다. 이때, VRES(110)는 복수의 가상 현실 입력 장치(120) 및 디스플레이(130)와 연결될 수 있고, 필요에 따라 복수의 가상 현실 입력 장치(120) 및 디스플레이(130)를 포함할 수도 있다. 또한, 본 실시예에서는 가상 현실 입출력 시스템(112)이 VRES(110)에 포함된 형태를 설명하였으나, 가상 현실 입출력 시스템(112)은 별도의 시스템으로 구성되어 특정 운영체제에 의존적이지 않은 네트워크 프로토콜(예를 들어, TCP(Transmission Control Protocol)나 UDP(User Datagram Protocol))을 통해 VRES(110)과 통신하는 형태로 구현될 수도 있다. 도 1에서는 가상 현실 입출력 시스템(112)이 VRES(110)에 포함되어 특정 운영체제에 의존적이지 않은 프로세스간 통신(Inter Process Communication, 이하, "IPC")을 통해 가상 현실 엔진(113) 및 가상 현실 어플리케이션(114)과 통신하는 일례를 나타낸다.
즉, 가상 현실 입출력 시스템(112)은 이러한 VRES(110)의 실행환경에 의존적이지 않고, 안정적으로 다수 사용자의 VR 입출력을 실시간으로 처리하기 위한 구조를 갖는다. 우선, 가상 현실 입출력 시스템(112)은 모든 가상 현실 입출력을 통합해 하나의 프로세스에서 서비스 한다. 복수의 가상 현실 입력 장치(120), 예를 들어, 칼라 카메라, 깊이 카메라 및 모션 센스 등은 유에스비(Universal Serial Bus, USB), IEEE 1394, 블루투스(Bluetooth) 등의 포트를 하나로 통합한 가상 현실 데이터 입출력부(111)에 연결된다. 이러한 가상 현실 데이터 입출력부(111)는 복수의 가상 현실 입력 장치(120)에서 발생하는 신호를 가상 현실 입출력 시스템(112)로 전달한다. 상술한 바와 같이 가상 현실 입출력 시스템(112)이 VRES(110)와 별도의 시스템으로 구성되는 경우에는 가상 현실 입출력 시스템(112)이 가상 현실 데이터 입출력부(111)를 포함할 수도 있다.
가상 현실 입출력 시스템(112)은 전달받은 신호를 통해 3차원 얼굴 모델링, 3차원 신체 모델링, 3차원 얼굴 애니메이션, 3차원 동작 모델링 및 원격 멀티-터치 처리 등을 수행하고, 수행의 결과로서 다음과 같은 8개의 가상 현실 데이터를 생성할 수 있다.
- 얼굴 기본 형상(face geometry)
- 얼굴 텍스처(face texture)
- 얼굴 애니메이션(face animation)
- 신체 기본 형상(body geometry)
- 신체 텍스처(body texture)
- 신체 동작(body motion)
- 신체 제스처(body gesture)
- 원격 멀티-터치 제스처(remote multi-touch gesture)
가상 현실 입출력 시스템(112)에서 생성한 가상 현실 데이터를 서비스 받기 위해, 가상 현실 엔진(113) 또는 가상 현실 어플리케이션(114)은 가상 현실 입출력 스터브 모듈을 링크하고, 가상 현실 입출력 스터브 헤더에 정의된 인터페이스를 이용한다. 가상 현실 입출력 시스템(112)은 가상 현실 입출력 프록시 모듈을 통해 가상 현실 스터브 모듈과 통신을 수행한다. 이때, 가상 현실 입출력 프록시 모듈과 가상 현실 스터브 모듈은 상술한 바와 같이, 네트워크 프로토콜이나 IPC를 통해 데이터를 송수신할 수 있다. 예를 들어, 가상 현실 어플리케이션(114)이 링크한 가상 현실 스터브 모듈을 통해 가상 현실 입출력 프록시 모듈로 가상 현실 데이터를 요청할 수 있고, 가상 현실 입출력 시스템(112)은 가상 현실 입출력 프록시 모듈을 통해 가상 현실 스터브 모듈로 생성된 가상 현실 데이터를 전송함으로써, 가상 현실 어플리케이션(114)이 요청된 가상 현실 데이터를 수신하도록 할 수 있다. 여기서, 음성 데이터는 가상 현실 어플리케이션(114)에서 전용 라이브러리를 통해 직접 처리될 수 있다.
도 2는 본 발명의 일실시예에 따른 가상 현실 입출력 시스템에서 복수의 가상 현실 입력 장치로부터 수신되는 데이터를 처리하는 모습을 나타낸 일례이다. 본 실시예에 따른 가상 현실 입출력 시스템은 도 1을 통해 설명한 가상 현실 입출력 시스템(112)에 대응되는 것으로, 얼굴 카메라(201), 깊이 카메라 및 칼라 카메라(202) 그리고 동작 센서(203)와 같은 복수의 가상 현실 입력 장치(120)로부터 수신된 데이터를 가상 현실 데이터 입출력부(111)를 통해 수신할 수 있다. 또한 가상 현실 입출력 시스템은 표정 동작 생성(204), 아바타 얼굴 모델링(205), 아바타 신체 모델링(206), 원격 멀티-터치 프로세싱(207), 아바타 동작 모델링(208) 각각을 위한 모듈들을 이용하여 수신된 데이터를 처리하여 가상 현실 데이터를 생성할 수 있다.
우선, 표정 동작 생성(204)을 위한 모듈은 얼굴 카메라(201)를 통해 수신된 데이터를 이용하여 얼굴 특징 3차원 제어점과 머리 동작, 목 관절 3DOF(Degrees of Freedom) 등에 대한 가상 현실 데이터를 생성할 수 있다. 예를 들어, 표정 동작 생성(204)을 위한 모듈은 3차원 얼굴 애니메이션을 위해, 얼굴 특징 3차원 제어점(일례로, 54개), 얼굴 위치(x, y, z) 및 회전(rx, ry, rz) 등의 데이터를 초당 30 프레임 이상으로 실시간 스트리밍 할 수 있다. 이때, 표정 동작 생성(204)을 위한 모듈은 얼굴 특징 3차원 제어점, 얼굴 위치 및 회전 등의 데이터를 생성하기 위해 얼굴/신체 기본 형상, 얼굴/신체 텍스처, 신체 뼈대 등의 정보를 미리 저장해 놓은 참조 모델(209)을 더 이용할 수 있다.
또한, 아바타 얼굴 모델링(205)을 위한 모듈은 깊이 카메라 및 칼라 카메라(202)를 통해 수신된 데이터를 이용하여 기본 현상 모델링 폴리곤과 텍스처 모델링 등에 대한 가상 현실 데이터를 생성할 수 있다. 예를 들어, 아바타 얼굴 모델링(205)을 위한 모듈은 3차원 얼굴 모델링을 위해 가상 현실 어플리케이션의 요청에 따라 얼굴 기본 형상과 얼굴 텍스처(디퓨즈(diffuse) 맵, 노멀(normal) 맵) 등의 데이터를 생성할 수 있다.
아바타 신체 모델링(206)을 위한 모듈은 깊이 카메라 및 칼라 카메라(202)를 통해 수신된 데이터를 이용하여 기본 형상 모델링 및 텍스처 모델링에 대한 가상 현실 데이터를 생성할 수 있다. 예를 들어, 아바타 신체 모델링(206)을 위한 모듈은 3차원 신체 모델링을 위해 가상 현실 어플리케이션의 요청에 따라 신체 기본 형상 및 신체 텍스처(디퓨즈 맵, 노멀 맵) 등의 데이터를 생성할 수 있다. 이때, 아바타 신체 모델링(206)을 위한 모듈은 신체 기본 형상 및 신체 텍스처 등의 데이터를 생성하기 위해 표정 동작 생성(204)을 위한 모듈에서와 같이 참조 모델(209)을 더 이용할 수 있다.
원격 멀티-터치 프로세싱(207)을 위한 모듈은 동작 센서(203)를 통해 수신된 데이터를 이용하여 신호 프로세싱 및 원격 멀티-터치 제스처 인식에 대한 가상 현실 데이터를 생성할 수 있다. 예를 들어, 원격 멀티-터치 프로세싱(207)을 위한 모듈은 원격 멀티-터치 제스처 커맨드를 초당 30 프레임 이상으로 실시간 스트리밍할 수 있다.
아바타 동작 모델링(208)을 위한 모듈은 깊이 카메라 및 칼라 카메라(202) 그리고 동작 센서(203)를 통해 수신된 데이터를 이용하여 영상 기반 관절, 동작 센서 기반 관절, 영상/동상 센서 융합 기반 관절 및 동작 제스처 인식에 대한 가상 현실 데이터를 생성할 수 있다. 예를 들어, 아바타 동작 모델링(208)을 위한 모듈은 3차원 모션 모델링을 위해 신체 모션 관절(일례로 27개) 및 신체 동작에 의해 인식된 신체 제스처 등의 데이터를 초당 30 프레임 이상으로 실시간 스트리밍 할 수 있다.
도 3은 본 발명의 일실시예에 따른 가상 현실 입출력 시스템을 통해 생성되는 데이터의 일례이다. 도 3의 일례에서는 상술한 바와 같이, 얼굴(301), 신체(302), 동작(303) 및 원격 멀티-터치(304)에 대해 생성된 총 8개의 가상 현실 데이터를 나타낸다.
도 4는 본 발명의 일실시예에 있어서, VRES에서 동작하는 프로세스를 나타낸 일례이다. 이때, 도 4에는 메인 사용자 인터페이스(401), 가상 현실 입출력 데몬(402)와 복수의 가상 현실 어플리케이션(404)의 프로세스들이 나타나 있다. 이때, 각각의 프로세스는 독립적으로 수행되며, IPC/네트워크/파일(403) 등을 이용하여 데이터를 주고 받을 수 있다. 메인 사용자 인터페이스(401)는 VRES에서 복수의 가상 현실 어플리케이션(404) 중 수행 가능한 가상 현실 어플리케이션을 선택해 실행하는 프로세스이다. 가상 현실 입출력 데몬(402)은 가상 현실 입출력을 처리하는 메인 프로세스로, 도 1에서 설명한 가상 현실 입출력 시스템(112)에서 실행될 수 있는 프로세스이다. 또한, 복수의 가상 현실 어플리케이션(404)은 가상 현실 입출력 데몬(402)으로부터 가상 현실 데이터를 수신하여 각각 해당하는 동작을 수행하는 프로세스이다.
도 5는 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템을 설명하기 위한 일례이다. 도 5에서는 가상 현실 어플리케이션(510)의 요청을 처리하는 가상 현실 입출력 시스템(520)에 대해 보다 구체적인 예를 들어 설명한다.
가상 현실 어플리케이션(510)은 도 5에 도시된 바와 같이 "UDPServer"(511), "VRIOStub"(512) 및 "VRIOClient"(513)를 포함할 수 있다. 여기서, "UDPServer"(511)는 가상 현실 입출력 시스템(520)과의 UDP 통신을 담당할 수 있다. "VRIOStub"(512)는 "UDPServer"(511)를 통해 가상 현실 입출력 시스템(520)의 기능을 가상 현실 어플리케이션(510)에서 사용할 수 있도록 인터페이스를 제공할 수 있다. 또한, "VRIOClient"(513)는 이러한 "UDPServer"(511)와 "VRIOStub"(512)의 기능을 통합 관리하는 역할을 수행할 수 있다.
가상 현실 입출력 시스템(520)은 도 5에 도시된 바와 같이 "VRIOServer"(521), "Session Manager"(522), "IODev Manager"(523) 및 "RTS signal Manager"(524)를 포함할 수 있다. 여기서, "VRIOServer"(521)는 스레드 풀(thread pool), 패킷 큐(packet queue) 및 POSIX 스레드 뮤텍스(POSIX thread mutex)를 이용하여 "VRIOClient"(513)로부터의 요청을 가상 현실 입출력 시스템(520)에서 생성하는 적합한 "Proxy Service Thread"에 전달하고, "Proxy Service Thread"에서 처리된 결과를 다시 "VRIOClient"(513)로 전달한다. 여기서, POSIX 스레드는 병렬적으로 작동하는 소프트웨어의 작성을 위해 제공되는 표준 API(Application Programming Interface)를, 뮤텍스는 상호 배제(mutual exclusion)를 각각 의미한다. 이때, "Proxy Service Thread"는 도 2를 통해 설명한 모듈들을 통해 "VRIOClient"(513)로부터의 요청을 처리할 수 있다. 즉, "Proxy Service Thread"는 POSIX 스레드 기반의 스레드 풀을 통해 도 2를 통해 설명한 모듈들을 적당히 할당하여 상기 요청을 처리할 수 있다. "Session Manager"(522)는 가상 현실 어플리케이션(510)과의 통신 세션을 관리할 수 있고, "IODev Manager"(523)는 가상 현실 입출력 시스템(520)이 사용하고 있는 하드웨어 장치들의 핸들을 관리할 수 있다. 또한, "RTS signal Manager"(524)는 실시간 호출을 처리하기 위해 필요한 고분해능의 타이머(high resolution timer)를 관리한다.
이하에서는 가상 현실 입출력 시스템(520)에서 도 4를 통해 설명한 메인 프로세스인 가상 현실 입출력 데몬(402)을 초기화하는 일례를 설명한다. 가상 현실 입출력 시스템(520)은 "Daemonize()" 함수를 통해 부모 프로세스인 데몬 프로세스를 생성할 수 있고, 시그널을 재맵핑할 수 있다. 관련된 디렉토리와 표준 입출력을 변경한 후 "VRIO_Daemon()" 함수를 호출할 수 있고 부모 프로세스가 종료될 수 있다. "VRIO_Daemon()" 함수에서는 실시간으로 스케줄러를 생성할 수 있고, 송수신되는 데이터를 정해진 시간에 맞게 호출하기 위한 고분해능의 타이머를 초기화될 수 있다. 또한, "VRIO_Daemon()" 함수는 도 1에서 설명한 가상 현실 입출력 프록시 모듈을 초기화할 수 있고, 도 5를 통해 설명한 "IODev Manager"(523) 및 "RTS signal Manager"(524)를 초기화할 수 있다. 뿐만 아니라, "VRIO_Daemon()" 함수는 스트리밍을 돕기 위한 스레드 풀이 생성될 수 있고, 도 2를 통해 설명한 각각의 모듈들과 관련된 스레드들을 생성하여 스레드 풀에 등록할 수 있다. 이후, 생성된 스레드들은 가상 현실 어플리케이션(510)의 요청에 따른 호출에 의해 깨어나 각자의 역할을 수행함으로써, 가상 현실 어플리케이션(510)에서 요구하는 가상 현실 데이터를 생성할 수 있다. 스레드들이 스레드 풀에 등록된 후 "VRIO_Daemon()"는 필요한 가상 현실 입력 데이터를 초기화할 수 있고, 도 2를 통해 설명한 각각의 모듈들과 가상 현실 입출력 데몬(402)간의 통신을 초기화 시킨 후 "VRIOServer"(521)를 시작시킬 수 있다.
도 6은 본 발명의 일실시예에 있어서, 얼굴 및 신체 모델링을 위한 시퀀스의 일례이다. 가상 현실 어플리케이션은 도 1을 통해 설명한 가상 현실 스터브 모듈에서 정의된 함수를 이용하여 신체 모델링 및 얼굴 모델링을 위한 모듈로 초기화 명령을 전송하면, 가상 현실 입출력 시스템은 역시 도 1을 통해 설명한 가상 현실 프록시 모듈을 통해 초기화 명령을 수신하고, 해당 모듈에 초기화 명령을 전달하여 각 모듈이 필요한 가상 현실 데이터를 생성하도록 할 수 있다. 예를 들어, 신체 모델링을 위해서는 도 2를 통해 설명한 아바타 신체 모델링(206)을 위한 모듈로, 얼굴 모델링을 위해서는 역시 도 2를 통해 설명한 아바타 얼굴 모델링(205)을 위한 모듈로 초기화 명령을 전달하여 얼굴 기본 형상, 얼굴 텍스처, 신체 기본 형상 및 신체 텍스처에 대한 가상 현실 데이터를 생성하도록 할 수 있다. 이때, 가상 현실 입출력 시스템은 가상 현실 프록시 모듈을 통해 가상 현실 스터브 모듈에서 정의된 함수를 이용하여 생성된 가상 현실 데이터가 해당 가상 현실 어플리케이션으로 전송되도록 할 수 있고, 가상 현실 어플리케이션에서는 수신한 가상 현실 데이터를 이용하여 실 사이즈의 아바타를 생성하는데 이용할 수 있다.
도 7 내지 도 9는 각각 본 발명의 일실시예에 있어서, 얼굴 애니메이션, 동작 모델링 및 원격 멀티-터치를 위한 시퀀스의 일례이다. 도 6을 통해 설명한 바와 같이, 가상 현실 어플리케이션은 해당 모듈로 초기화 명령을 전송하고, 가상 현실 입출력 시스템에서 해당 모듈은 초기화 명령에 따라 요청된 가상 현실 데이터를 생성하여 가상 현실 어플리케이션을 전송할 수 있다. 예를 들어, 얼굴 애니메이션, 동작 모델링 및 원격 멀티-터치를 위해서는, 도 2를 통해 설명한 표정 동작 생성(204), 아바타 동작 모델링(208) 및 원격 멀티-터치 프로세싱(207)을 위한 각각의 모듈들이 이용될 수 있다. 각각 해당하는 가상 현실 데이터를 생성하여 가상 현실 어플리케이션으로 전송할 수 있다. 여기서, 표정 동작 생성(204)을 위한 모듈에서 생성된 가상 현실 데이터는 아바타의 표정 변화에, 아바타 동작 모델링(208)을 위한 모듈에서 생성된 가상 현실 데이터는 아바타의 움직임을 조절하는데, 원격 멀티-터치 프로세싱(207)을 위한 모듈에서 생성된 가상 현실 데이터는 아바타의 제스처를 만드는데 각각 이용될 수 있다. 또한, 도 6에서와 같이 초기화 명령과 가상 현실 데이터의 전송은 가상 현실 스터브 모듈과 가상 현실 프록시 모듈을 이용하여 수행될 수 있다.
즉, 상술한 바와 같이 가상 현실 스터브 모듈과 가상 현실 프록시 모듈간의 통신은 TCP나 UDP 기반의 네트워크 프로토콜 또는 IPC를 통해 수행되기 때문에 복수의 가상 현실 입력 장치나 가상 현실 입출력 시스템이 컨텐츠의 실행 환경에 의존적이 않고, 도 5를 통해 설명한 스레드 풀과 "Session Manager"(522)를 통해 가상 현실 어플리케이션별로 서비스 세션을 유지 및 관리함으로써, 클라이언트-서버 구조로 동시에 복수의 컨텐츠 실행을 지원할 수 있다.
도 10은 본 발명의 일실시예에 있어서, 가상 현실 입출력 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 실시예에 따른 가상 현실 입출력 시스템(1000)은 도 10에 도시된 바와 같이 데이터 수신부(1010), 복수의 가상 현실 데이터 생성부(1020), 가상 현실 입출력부(1030), 실시간 신호 관리부(1040) 및 세션 관리부(1050)를 포함할 수 있다.
데이터 수신부(1010)는 복수의 가상 현실 입력 장치로부터의 데이터를 수신한다. 여기서, 복수의 가상 현실 입력 장치는 칼라 카메라, 깊이 카메라 및 모션 센서 중 적어도 하나를 포함할 수 있다. 즉, 가상 현실 입력 장치로는 사용자의 얼굴 표정, 동작, 신체 기본 형상 등과 같이 사용자에 대한 아바타 생성에 필요한 정보를 획득하기 위한 모든 장치가 이용될 수 있다.
복수의 가상 현실 데이터 생성부(1020)는 수신된 데이터에 기초하여 각각 해당하는 가상 현실 데이터를 생성한다. 이러한 복수의 가상 현실 데이터 생성부(1020) 각각은 복수의 가상 현실 입력 장치로부터 수신된 데이터 중 해당하는 데이터에 기초하여 얼굴 기본 형상, 얼굴 텍스처, 얼굴 애니메이션, 신체 기본 형상, 신체 텍스처, 신체 모션, 신체 제스처 및 원격 멀티-터치 제스처 중 적어도 하나에 대한 데이터를 가상 현실 데이터로서 생성할 수 있다. 일례로, 복수의 가상 현실 데이터 생성부(1020)는 도 2를 통해 설명한 표정 동작 생성(204), 아바타 얼굴 모델링(205), 아바타 신체 모델링(206), 원격 멀티-터치 프로세싱(207), 아바타 동작 모델링(208) 각각을 위한 모듈들에 대응될 수 있다. 가상 현실 데이터를 생성하는 방법에 대해서는 도 2 및 도 3을 통해 자세히 설명하였기에 반복적인 설명은 생략한다.
가상 현실 입출력부(1030)는 복수의 가상 현실 어플리케이션의 요청을 상기 복수의 가상 현실 데이터 생성부(1020) 중 해당하는 적어도 하나의 가상 현실 데이터 생성부로 전달하고, 상기 적어도 하나의 가상 현실 데이터 생성부에서 상기 수신된 데이터 중 해당하는 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전달한다.
즉, 가상 현실 입출력부(1030)는 복수의 가상 현실 어플리케이션과 복수의 가상 현실 데이터 생성부(1020)간의 통신, 복수의 가상 현실 입력 장치와 복수의 가상 현실 데이터 생성부(1020)간의 통신을 중계하는 역할을 수행할 수 있다. 이때, 가상 현실 입출력부(1030)는 복수의 가상 현실 어플리케이션 각각의 요청 및 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스레드 풀을 통해 스케줄링 및 로드 밸런싱하여 복수의 가상 현실 데이터 생성부(1020) 중 해당하는 가상 현실 데이터 생성부로 전달할 수 있다. 다시 말해, 하나의 프로세스에서 복수의 가상 현실 어플리케이션 각각의 요청과 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스케줄링하고, 로드를 조절할 수 있다.
또한, 복수의 가상 현실 데이터 생성부(1020)와 같이 별개의 기능 블록들을 통합 관리할 수 있어 복수의 가상 현실 어플리케이션 각각이 복수의 가상 현실 입력 장치에 대한 설정 및 데이터 획득/처리를 직접 하지 않고, 중앙 집중적 관리를 통해 보다 효율적이고 안정적인 장치관리가 가능해진다.
뿐만 아니라, 가상 현실 입출력부(1030)는 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신(Inter Process Communication, IPC)을 이용하여 복수의 가상 현실 어플리케이션과 통신할 수 있다. 즉, 가상 현실 어플리케이션의 실행 환경에 대해 독립적으로 가상 현실 데이터를 생성하여 전송할 수 있기 때문에 복수의 가상 현실 어플리케이션의 컨텐츠 실행 환경이 모두 다른 경우에도 아무런 문제 없이 서비스를 제공할 수 있다.
실시간 신호 관리부(1040)는 고분해능의 타이머(high resolution timer)를 관리한다. 이때, 가상 현실 입출력부(1030)는 이러한 고분해능의 타이머를 이용하여 요청에 따른 가상 현실 데이터를 실시간으로 요청을 전송한 가상 현실 어플리케이션으로 전송할 수 있다. 즉, 가상 현실 입출력부(1030)는 가상 현실 어플리케이션으로부터의 요청을 실시간으로 처리하기 위해 고분해능의 타이머를 이용할 수 있다.
또한, 가상 현실 데이터 중 생성 빈도수가 기선정된 수 이하인 가상 현실 데이터는 요청에 따라 해당 가상 현실 어플리케이션으로 전송될 수 있고, 가상 현실 데이터 중 생성 빈도수가 기선정된 수를 초과하는 가상 현실 데이터는 최초 요청 이후 해당 가상 현실 데이터가 생성될 때마다 실시간으로 해당 가상 현실 어플리케이션으로 전송될 수 있다. 예를 들어, 생성 빈도수가 낮은 얼굴 기본 형상, 신체 기본 형상 등의 가상 현실 데이터는 요청 시 1회만 전송하는 리퀘스트-리스폰드(request-respond) 방식이 이용되고, 얼굴 애니메이션, 신체 모션 등과 같이 생성 빈도수가 높은 가상 현실 데이터는 초당 30프레임 이상으로 실시간 스트리밍하는 등의 콜백 등록-콜백(callback registration-callback) 방식이 이용될 수 있다. 이때, 실시간 스트리밍을 위해 고분해능의 타이머가 이용될 수 있다.
세션 관리부(1050)는 복수의 가상 현실 어플리케이션별로 통신 세션을 관리한다. 즉, 복수의 가상 현실 어플리케이션별로 통신 세션을 관리하여 클라이언트-서버 형태의 통신 형태를 제공함으로써, 동시에 복수의 가상 현실 어플리케이션에 대한 컨텐츠 실행을 지원해줄 수 있게 된다.
VRES는 적어도 하나의 가상 현실 어플리케이션을 포함하고, 도 1에서와 같이 가상 현실 입출력 시스템(1000)을 직접 포함하여 가상 현실 데이터를 수신하여 이용하거나 또는 별도의 시스템으로서 가상 현실 입출력 시스템(1000)과 연계하여 가상 현실 데이터를 수신하여 이용할 수도 있다.
도 11은 본 발명의 일실시예에 있어서, 가상 현실 입출력 방법을 도시한 흐름도이다. 본 실시예에 따른 가상 현실 입출력 방법은 도 10을 통해 설명한 가상 현실 입출력 시스템(1000)을 통해 수행될 수 있다. 도 11에서는 가상 현실 입출력 시스템(1000)을 통해 각각의 단계가 수행되는 과정을 설명함으로써 가상 현실 입출력 방법을 설명한다.
단계(1110)에서 가상 현실 입출력 시스템(1000)은 복수의 가상 현실 입력 장치로부터의 데이터를 수신한다. 여기서, 복수의 가상 현실 입력 장치는 칼라 카메라, 깊이 카메라 및 모션 센서 중 적어도 하나를 포함할 수 있다. 즉, 가상 현실 입력 장치로는 사용자의 얼굴 표정, 동작, 신체 기본 형상 등과 같이 사용자에 대한 아바타 생성에 필요한 정보를 획득하기 위한 모든 장치가 이용될 수 있다.
단계(1120)에서 가상 현실 입출력 시스템(1000)은 복수의 가상 현실 어플리케이션 중 적어도 하나로부터 요청을 수신한다. 여기서, 상기 요청은 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신을 통해 상기 복수의 가상 현실 어플리케이션으로부터 수신될 수 있다. 또한, 이후 설명될 가상 현실 데이터는, 상술한 네트워크 프로토콜이나 프로세스간 통신을 통해 복수의 가상 현실 어플리케이션으로 전송될 수 있다. 다시 말해, 가상 현실 입출력 시스템(1000)은 복수의 가상 현실 어플리케이션 각각과의 통신에 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신을 이용할 수 있다. 이는, 복수의 가상 현실 어플리케이션 각각의 실행 환경과 독립적으로 가상 현실 입출력을 제공하기 위함이다.
단계(1130)에서 가상 현실 입출력 시스템(1000)은 수신된 데이터 중 적어도 일부 및 상기 요청을 가상 현실 데이터를 생성하는 복수의 모듈 중 해당하는 적어도 하나의 모듈로 전송한다. 이러한 복수의 모듈 각각은 복수의 가상 현실 입력 장치로부터 수신된 데이터 중 해당하는 데이터에 기초하여 얼굴 기본 형상, 얼굴 텍스처, 얼굴 애니메이션, 신체 기본 형상, 신체 텍스처, 신체 모션, 신체 제스처 및 원격 멀티-터치 제스처 중 적어도 하나에 대한 데이터를 가상 현실 데이터로서 생성할 수 있다. 일례로, 복수의 모듈은 도 2를 통해 설명한 표정 동작 생성(204), 아바타 얼굴 모델링(205), 아바타 신체 모델링(206), 원격 멀티-터치 프로세싱(207), 아바타 동작 모델링(208) 각각을 위한 모듈들에 대응될 수 있다. 가상 현실 데이터를 생성하는 방법에 대해서는 도 2 및 도 3을 통해 자세히 설명하였기에 반복적인 설명은 생략한다. 또한, 가상 현실 입출력 시스템(1000)은 복수의 가상 현실 어플리케이션 각각의 요청 및 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스레드 풀을 통해 스케줄링 및 로드 밸런싱하여 복수의 모듈 중 해당하는 모듈로 전달할 수 있다.
단계(1140)에서 가상 현실 입출력 시스템(1000)은 상기 적어도 하나의 모듈에서 상기 적어도 일부의 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전송한다. 상술한 바와 같이, 가상 현실 데이터이의 전송 역시 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신을 통해 상기 복수의 가상 현실 어플리케이션으로 전송될 수 있다.
또한, 가상 현실 입출력 시스템(1000)은 고분해능의 타이머(high resolution timer)를 관리하는 단계(미도시) 및 복수의 가상 현실 어플리케이션별로 통신 세션을 관리하는 단계(미도시) 등을 더 수행할 수 있다. 예를 들어, 가상 현실 입출력 시스템(1000)은 단계(1140)에서 고분해능의 타이머를 이용하여 상기 요청에 따른 가상 현실 데이터를 실시간으로 상기 요청을 전송한 가상 현실 어플리케이션으로 전송할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 가상 현실 입출력 시스템 또는 가상 현실 입출력 방법을 이용하면, 시스템에 의존적이지 않는 네트워크 프로토콜 또는 프로세스간 통신(Inter Process Communication, IPC)를 이용한 입출력 데이터의 송수신을 통해 운영체제 등의 실행 환경에 의존적 않은 가상 현실 입출력 시스템 및 가상 현실 입출력 방법을 제공할 수 있고, 모션 센싱, 3차원 캡처링, 얼굴 표정 추적, 원격 멀티-터치와 같은 별개의 기능 블록들을 하나의 프로세스에서 통합하여 관리하고, 고분해능의 타이머(high resolution timer)를 이용하여 실시간으로 가상 현실 데이터를 서비스함으로써, 신체 동작 데이터나 얼굴 표정 등과 같은 사용자의 모습이 아바타에 실시간으로 반영되도록 할 수 있고, 복수의 가상 현실 입력 장치로부터 수신되는 데이터를 스레드 풀을 통해 일괄 관리함으로써, 스케줄링 및 로드 밸런싱을 제공할 수 있다. 또한, 하나의 프로세스에서 어플리케이션별로 세션을 유지 및 관리하여 클라이언트-서버 형태의 서비스를 제공함으로써, 동시에 복수의 컨텐츠 실행을 지원할 수 있고, 하나의 프로세스와 가상 현실 어플리케이션을 분리된 프로세스로 운영함으로써, 컨텐츠의 수행 안정성에 영향을 주지 않도록 결함 내성적(fault-tolerant)인 가상 현실 입출력 시스템을 제공할 수 있을 뿐만 아니라 다양한 형태와 특성을 가진 가상 현실 데이터를 생성 빈도에 따라 서로 다른 방식으로 제공함으로써 컴퓨터 자원의 낭비를 줄일 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 파일 데이터, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명을 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명하였으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
1000: 가상 현실 입출력 시스템
1010: 데이터 수신부
1020: 복수의 가상 현실 데이터 생성부
1030: 가상 현실 입출력부
1040: 실시간 신호 관리부
1050: 세션 관리부
1010: 데이터 수신부
1020: 복수의 가상 현실 데이터 생성부
1030: 가상 현실 입출력부
1040: 실시간 신호 관리부
1050: 세션 관리부
Claims (15)
- 복수의 가상 현실 입력 장치로부터의 데이터를 수신하는 데이터 수신부;
상기 수신된 데이터에 기초하여 각각 해당하는 가상 현실 데이터를 생성하는 복수의 가상 현실 데이터 생성부; 및
복수의 가상 현실 어플리케이션의 요청을 상기 복수의 가상 현실 데이터 생성부 중 해당하는 적어도 하나의 가상 현실 데이터 생성부로 전달하고, 상기 적어도 하나의 가상 현실 데이터 생성부에서 상기 수신된 데이터 중 해당하는 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전달하는 가상 현실 입출력부
를 포함하고,
상기 가상 현실 입출력부는,
상기 복수의 가상 현실 어플리케이션 각각의 요청 및 상기 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스레드 풀을 통해 스케줄링 및 로드 밸런싱하여 상기 복수의 가상 현실 데이터 생성부 중 해당하는 가상 현실 데이터 생성부로 전달하는, 가상 현실 입출력 시스템. - 삭제
- 제1항에 있어서,
상기 가상 현실 입출력부는,
특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신(Inter Process Communication, IPC)을 이용하여 상기 복수의 가상 현실 어플리케이션과 통신하는, 가상 현실 입출력 시스템. - 제1항에 있어서,
고분해능의 타이머(high resolution timer)를 관리하는 실시간 신호 관리부
를 더 포함하고,
상기 가상 현실 입출력부는,
상기 고분해능의 타이머를 이용하여 상기 요청에 따른 가상 현실 데이터를 실시간으로 상기 요청을 전송한 가상 현실 어플리케이션으로 전송하는, 가상 현실 입출력 시스템. - 제1항에 있어서,
상기 복수의 가상 현실 어플리케이션별로 통신 세션을 관리하는 세션 관리부
를 더 포함하는, 가상 현실 입출력 시스템. - 제1항에 있어서,
상기 복수의 가상 현실 입력 장치는, 칼라 카메라, 깊이 카메라 및 모션 센서 중 적어도 하나를 포함하는, 가상 현실 입출력 시스템. - 제1항에 있어서,
상기 복수의 가상 현실 데이터 생성부 각각은,
상기 복수의 가상 현실 입력 장치로부터 수신된 데이터 중 해당하는 데이터에 기초하여 얼굴 기본 형상, 얼굴 텍스처, 얼굴 애니메이션, 신체 기본 형상, 신체 텍스처, 신체 모션, 신체 제스처 및 원격 멀티-터치 제스처 중 적어도 하나에 대한 데이터를 상기 가상 현실 데이터로서 생성하는, 가상 현실 입출력 시스템. - 제1항에 있어서,
상기 가상 현실 데이터 중 생성 빈도수가 기선정된 수 이하인 가상 현실 데이터는 상기 요청에 따라 해당 가상 현실 어플리케이션으로 전송되고,
상기 가상 현실 데이터 중 생성 빈도수가 기선정된 수를 초과하는 가상 현실 데이터는 최초 요청 이후 해당 가상 현실 데이터가 생성될 때마다 실시간으로 해당 가상 현실 어플리케이션으로 전송되는, 가상 현실 입출력 시스템. - 삭제
- 가상 현실 입출력 시스템에 의해 수행되는 가상 현실 입출력 방법에 있어서,
데이터 수신부가 복수의 가상 현실 입력 장치로부터의 데이터를 수신하는 단계;
가상 현실 입출력부가 복수의 가상 현실 어플리케이션 중 적어도 하나로부터 요청을 수신하는 단계;
상기 가상 현실 입출력부가 상기 수신된 데이터 중 적어도 일부 및 상기 요청을 가상 현실 데이터를 생성하는 복수의 모듈 중 해당하는 적어도 하나의 모듈로 전송하는 단계; 및
상기 가상 현실 입출력부가 상기 적어도 하나의 모듈에서 상기 적어도 일부의 데이터를 처리하여 생성한 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전송하는 단계
를 포함하고,
상기 가상 현실 입출력부가 상기 요청 및 상기 수신된 데이터 중 적어도 일부를 가상 현실 데이터를 생성하는 복수의 모듈 중 해당하는 적어도 하나의 모듈로 전송하는 단계는,
상기 복수의 가상 현실 어플리케이션 각각의 요청 및 상기 복수의 가상 현실 입력 장치 각각으로부터 수신되는 데이터를 스레드 풀을 통해 스케줄링 및 로드 밸런싱하여 상기 모듈 중 해당하는 모듈로 전송하는 단계
를 포함하는, 가상 현실 입출력 방법. - 삭제
- 제10항에 있어서,
상기 요청은 특정 운영체제에 의존적이지 않은 네트워크 프로토콜이나 프로세스간 통신을 통해 상기 복수의 가상 현실 어플리케이션으로부터 수신되고,
상기 가상 현실 데이터는, 상기 네트워크 프로토콜이나 상기 프로세스간 통신을 통해 상기 복수의 가상 현실 어플리케이션으로 전송되는, 가상 현실 입출력 방법. - 제10항에 있어서,
실시간 신호 관리부가 고분해능의 타이머(high resolution timer)를 관리하는 단계
를 더 포함하고,
상기 타이머를 관리하는 단계는,
상기 요청을 상기 적어도 하나의 모듈로 전송하는 단계가 수행된 후에 수행되고,
상기 가상 현실 입출력부가 상기 가상 현실 데이터를 상기 요청을 전송한 가상 현실 어플리케이션으로 전송하는 단계는,
상기 고분해능의 타이머를 이용하여 상기 요청에 따른 가상 현실 데이터를 실시간으로 상기 요청을 전송한 가상 현실 어플리케이션으로 전송하는, 가상 현실 입출력 방법. - 제10항에 있어서,
세션 관리부가 상기 복수의 가상 현실 어플리케이션별로 통신 세션을 관리하는 단계
를 더 포함하고,
상기 관리하는 단계는,
상기 요청을 수신하는 단계가 수행되기 전에 수행되는, 가상 현실 입출력 방법. - 제10항, 제12항 내지 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011857A KR101640767B1 (ko) | 2010-02-09 | 2010-02-09 | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 |
US12/929,168 US8924985B2 (en) | 2010-02-09 | 2011-01-05 | Network based real-time virtual reality input/output system and method for heterogeneous environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011857A KR101640767B1 (ko) | 2010-02-09 | 2010-02-09 | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110092441A KR20110092441A (ko) | 2011-08-18 |
KR101640767B1 true KR101640767B1 (ko) | 2016-07-29 |
Family
ID=44354670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100011857A KR101640767B1 (ko) | 2010-02-09 | 2010-02-09 | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8924985B2 (ko) |
KR (1) | KR101640767B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210127077A (ko) * | 2020-04-13 | 2021-10-21 | 한국전자통신연구원 | 다수 사용자 참여를 위한 증강현실 플랫폼 제공 장치 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9930310B2 (en) | 2009-09-09 | 2018-03-27 | Apple Inc. | Audio alteration techniques |
JP2012181704A (ja) * | 2011-03-01 | 2012-09-20 | Sony Computer Entertainment Inc | 情報処理装置および情報処理方法 |
US9727227B2 (en) * | 2011-07-28 | 2017-08-08 | Microsoft Technology Licensing, Llc | Multi-touch remoting |
CN102541259A (zh) * | 2011-12-26 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及其根据脸部表情提供心情服务的方法 |
US9609020B2 (en) * | 2012-01-06 | 2017-03-28 | Optio Labs, Inc. | Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines |
AU2013207269A1 (en) | 2012-01-06 | 2014-07-24 | Optio Labs, LLC | Systems and methods for enforcing security in mobile computing |
US9787681B2 (en) | 2012-01-06 | 2017-10-10 | Optio Labs, Inc. | Systems and methods for enforcing access control policies on privileged accesses for mobile devices |
US20140067869A1 (en) * | 2012-08-30 | 2014-03-06 | Atheer, Inc. | Method and apparatus for content association and history tracking in virtual and augmented reality |
US9773107B2 (en) | 2013-01-07 | 2017-09-26 | Optio Labs, Inc. | Systems and methods for enforcing security in mobile computing |
US20140273857A1 (en) | 2013-03-13 | 2014-09-18 | Optio Labs, Inc. | Systems and methods to secure short-range proximity signals |
US9575319B2 (en) | 2014-03-10 | 2017-02-21 | Ion Virtual Technology Corporation | Method and system for reducing motion blur when experiencing virtual or augmented reality environments |
US9529200B2 (en) | 2014-03-10 | 2016-12-27 | Ion Virtual Technology Corporation | Method and system for reducing motion blur when experiencing virtual or augmented reality environments |
WO2016100684A1 (en) | 2014-12-18 | 2016-06-23 | Ion Virtual Technology Corporation | Inflatable virtual reality headset system |
CN104616347A (zh) * | 2015-01-05 | 2015-05-13 | 掌赢信息科技(上海)有限公司 | 一种表情迁移方法、电子设备及系统 |
CN105809727A (zh) * | 2016-03-16 | 2016-07-27 | 成都电锯互动科技有限公司 | 一种三维动画制作系统 |
CN107404641A (zh) * | 2016-05-18 | 2017-11-28 | 中兴通讯股份有限公司 | 视频处理方法、视频播放方法、机顶盒以及vr设备 |
CN106067159A (zh) * | 2016-05-27 | 2016-11-02 | 范杭 | 虚拟现实、增强现实的实时显示方法和系统 |
US10607386B2 (en) * | 2016-06-12 | 2020-03-31 | Apple Inc. | Customized avatars and associated framework |
CN106980500B (zh) * | 2017-02-17 | 2019-12-10 | 福建天泉教育科技有限公司 | 一种安卓虚拟现实模式和裸眼模式切换方法和系统 |
US10861210B2 (en) | 2017-05-16 | 2020-12-08 | Apple Inc. | Techniques for providing audio and video effects |
WO2020259810A1 (en) * | 2019-06-25 | 2020-12-30 | Huawei Technologies Co., Ltd. | Multi radio media access control for ultra-low and bounded delay |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044720A1 (en) | 2002-08-31 | 2004-03-04 | Kyung-Hun Jang | Method and apparatus for dynamically controlling a real-time multimedia data generation rate |
US20090154293A1 (en) * | 2007-12-18 | 2009-06-18 | Anandraj Sengupta | System and method for augmented reality inspection and data visualization |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675746A (en) * | 1992-09-30 | 1997-10-07 | Marshall; Paul S. | Virtual reality generator for use with financial information |
US5548735A (en) | 1993-09-15 | 1996-08-20 | International Business Machines Corporation | System and method for asynchronously processing store instructions to I/O space |
KR0162765B1 (ko) | 1995-12-15 | 1999-01-15 | 양승택 | 고속 중형 컴퓨터의 입출력 스케쥴러 구동방법 및 그 장치 |
US5909218A (en) | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US6625299B1 (en) * | 1998-04-08 | 2003-09-23 | Jeffrey Meisner | Augmented reality technology |
US6466185B2 (en) * | 1998-04-20 | 2002-10-15 | Alan Sullivan | Multi-planar volumetric display system and method of operation using psychological vision cues |
US6474159B1 (en) | 2000-04-21 | 2002-11-05 | Intersense, Inc. | Motion-tracking |
KR20020025301A (ko) * | 2000-09-28 | 2002-04-04 | 오길록 | 다중 사용자를 지원하는 파노라믹 이미지를 이용한증강현실 영상의 제공 장치 및 그 방법 |
US6891518B2 (en) | 2000-10-05 | 2005-05-10 | Siemens Corporate Research, Inc. | Augmented reality visualization device |
US20030115358A1 (en) * | 2001-09-04 | 2003-06-19 | Yeong-Hyun Yun | Unified interprocess communication |
KR100475247B1 (ko) | 2001-12-28 | 2005-03-10 | 한국전자통신연구원 | 증강현실 기술을 이용한 게임 장치 및 방법 |
US20030179308A1 (en) * | 2002-03-19 | 2003-09-25 | Lucia Zamorano | Augmented tracking using video, computed data and/or sensing technologies |
DE102004027270A1 (de) * | 2004-06-03 | 2005-12-29 | Siemens Ag | System und Verfahren zur Bestimmung einer Position, insbesondere für Augmented-Reality Anwendungen |
US20060017654A1 (en) * | 2004-07-23 | 2006-01-26 | Romo Justin R | Virtual reality interactivity system and method |
KR20060061507A (ko) | 2004-12-02 | 2006-06-08 | 한국전자통신연구원 | 고성능 네트워크 서버를 위한 비동기적 입출력 처리 방법 |
US8707323B2 (en) * | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
KR101146091B1 (ko) | 2007-11-30 | 2012-05-16 | 광주과학기술원 | 증강 현실을 위한 입력 인터페이스 장치 및 이를 구비한 증강 현실 시스템 |
KR101485459B1 (ko) * | 2008-02-15 | 2015-01-22 | 삼성전자주식회사 | 인터넷 가상 현실상의 그래픽 아이콘을 현실의 사용자경험과 연동하는 방법, 장치 및 그 기록매체 |
KR101203157B1 (ko) * | 2009-03-05 | 2012-11-20 | 한국전자통신연구원 | 데이터 전달 시스템, 장치 및 방법 |
-
2010
- 2010-02-09 KR KR1020100011857A patent/KR101640767B1/ko active IP Right Grant
-
2011
- 2011-01-05 US US12/929,168 patent/US8924985B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044720A1 (en) | 2002-08-31 | 2004-03-04 | Kyung-Hun Jang | Method and apparatus for dynamically controlling a real-time multimedia data generation rate |
US20090154293A1 (en) * | 2007-12-18 | 2009-06-18 | Anandraj Sengupta | System and method for augmented reality inspection and data visualization |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210127077A (ko) * | 2020-04-13 | 2021-10-21 | 한국전자통신연구원 | 다수 사용자 참여를 위한 증강현실 플랫폼 제공 장치 |
KR102696481B1 (ko) * | 2020-04-13 | 2024-08-20 | 한국전자통신연구원 | 다수 사용자 참여를 위한 증강현실 플랫폼 제공 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20110197201A1 (en) | 2011-08-11 |
KR20110092441A (ko) | 2011-08-18 |
US8924985B2 (en) | 2014-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101640767B1 (ko) | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 | |
US9455931B2 (en) | Load balancing between processors | |
CN107852573B (zh) | 混合现实社交交互 | |
US12073234B2 (en) | Management framework for mixed reality devices | |
US20160225188A1 (en) | Virtual-reality presentation volume within which human participants freely move while experiencing a virtual environment | |
CN109885163A (zh) | 一种虚拟现实多人交互协作方法与系统 | |
CN113209632B (zh) | 一种云游戏的处理方法、装置、设备及存储介质 | |
WO2022048677A1 (zh) | 基于云手机的vr应用设计方法及系统 | |
CN112221127B (zh) | 一种云游戏的多点控制方法及装置 | |
JP2021531561A (ja) | 3d移行 | |
JP2022061452A (ja) | ヒューマン・インターフェイス・デバイスのレイテンシ決定 | |
US9948691B2 (en) | Reducing input processing latency for remotely executed applications | |
KR20230153468A (ko) | 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램 | |
CN114570020A (zh) | 数据处理方法以及系统 | |
CN104007986A (zh) | 跨系统远程实时交互技术 | |
CN116546228A (zh) | 用于虚拟场景的推流方法、装置、设备及存储介质 | |
KR102571086B1 (ko) | 가상공간을 이용한 다중 사용자 간 협업 지원 방법 및 시스템 | |
CN115624740A (zh) | 一种虚拟现实设备及其控制方法、装置、系统及互动系统 | |
CN115364477A (zh) | 云游戏控制方法、装置、电子设备及存储介质 | |
CN111213088A (zh) | 网络控制的3d视频捕获 | |
CN111064985A (zh) | 一种实现视频串流的系统、方法及装置 | |
WO2014029091A1 (zh) | 窗口图像的传输方法、显示方法、终端、服务器及系统 | |
Nijdam et al. | Refurbish a single user 3D application into a multi-user distributed service: a case study | |
Carboni | A Framework for Client-Server Objects Streaming in VR | |
Sanna et al. | 3-d visualization on mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190619 Year of fee payment: 4 |