KR102142876B1 - 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치 - Google Patents

클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치 Download PDF

Info

Publication number
KR102142876B1
KR102142876B1 KR1020180140596A KR20180140596A KR102142876B1 KR 102142876 B1 KR102142876 B1 KR 102142876B1 KR 1020180140596 A KR1020180140596 A KR 1020180140596A KR 20180140596 A KR20180140596 A KR 20180140596A KR 102142876 B1 KR102142876 B1 KR 102142876B1
Authority
KR
South Korea
Prior art keywords
viewpoint
user
motion information
image tiles
user terminal
Prior art date
Application number
KR1020180140596A
Other languages
English (en)
Other versions
KR20200056658A (ko
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 서울과학기술대학교 산학협력단
Priority to KR1020180140596A priority Critical patent/KR102142876B1/ko
Priority to US16/515,175 priority patent/US10869013B2/en
Publication of KR20200056658A publication Critical patent/KR20200056658A/ko
Application granted granted Critical
Publication of KR102142876B1 publication Critical patent/KR102142876B1/ko
Priority to US17/098,325 priority patent/US11463670B2/en
Priority to US17/494,808 priority patent/US11683460B2/en
Priority to US17/901,839 priority patent/US11876947B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • H04L67/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • H04N13/264Image signal generators with monoscopic-to-stereoscopic image conversion using the relative movement of objects in two video frames or fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42201Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] biosensors, e.g. heat sensor for presence detection, EEG sensors or any limb activity sensors worn by the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0085Motion estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Neurosurgery (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 가상현실 콘텐츠를 생성하고 이를 전송버퍼에 저장한 후, 전송버퍼를 관리하는 방법에 관한 발명이다. 서버가 사용자 모션 정보에 기초하여 가상현실 콘텐츠를 형성하고 이를 전송버퍼에 저장한 후, 후속하여 수신된 사용자 모션 정보에 기초하여 전송버퍼에 저장되어 있는 가상현실 콘텐츠를 수정할 수 있도록 함으로써, 가장 최근의 사용자 모션 정보가 가상현실 콘텐츠에 적절히 반영될 수 있도록 한다. 본 발명은 이를 통하여 보다 몰입도 높은 가상현실 서비스를 제공할 수 있다.

Description

클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치 {METHOD AND APPARATUS FOR BUFFER MANAGEMENT IN CLOUD BASED VIRTUAL REALLITY SERVICES}
본 발명은 가상현실 서비스를 위한 콘텐츠 생성에 관한 것으로서, 더 구체적으로는 클라우드에 기반한 가상현실 서비스에서 생성된 콘텐츠를 일시적으로 저장하는 버퍼를 관리하는 방법 및 장치에 관한 것이다.
가상현실이란 컴퓨터에 의하여 생성된 어떤 특정한 환경이나 상황을 의미하기도 하고, 컴퓨터가 생성한 환경이나 상황을 접한 사람이 마치 그러한 특정한 환경이나 상황과 실제로 상호작용을 하고 있는 것처럼 만들어 주는 인간과 컴퓨터간의 인터페이스를 의미하기도 한다. 이는 사람들이 일상적으로 경험하기 어려운 환경을 직접 체험하지 않고도 그 환경에 들어와 있는 것처럼 보여주고 조작할 수 있게 하기 위함이다.
가상현실 서비스를 제공한다는 것은 컴퓨터가 생성한 가상현실을 사용자가 체험할 수 있도록 사용자의 감각기관에 가상현실 콘텐츠를 전달해주는 것으로서, 컴퓨터는 사용자의 시각, 청각, 촉각등의 감각기관이 감지할 수 있는 형태로 가상현실을 생성하여 사용자에게 전달한다.
한편, 가상현실은 사용자의 모션을 실시간으로 반영하여 컴퓨터가 생성한다. 예를들어 사용자에게 3차원 가상현실을 제공하는 서비스의 경우, 사용자의 시선에 따라 3차원 가상현실 세계를 보여주는 영상이 실시간으로 생성되어야 한다. 사용자가 경사로를 걷고 있다고 한다면, 기울기를 반영하여 영상이 생성되며, 사용자의 보행 속도도 영상에 반영된다. 사용자가 급하게 고개를 돌리면, 급격한 시선의 변화를 반영하여 가상현실 영상이 생성되어야 한다.
이를 위해, 사용자 단말은 각종 센서를 통하여 가상현실 생성에 필요한 사용자 모션 정보를 실시간으로 수집하여 컴퓨터에 제공하고, 또한 컴퓨터가 생성하여 제공하는 가상현실 영상을 디스플레이함으로써, 몰입감있는 가상현실을 구현할 수 있다.
근래에 가상현실 서비스는, 헤드마운트 디스플레이 (HMD) 를 PC에 무선 또는 유선으로 접속하여, PC가 생성한 몰입형 가상현실 콘텐츠를 HMD를 통하여 사용자가 경험할 수 있게 하거나, 스마트폰 또는 별도의 임베디드 프로세싱 유닛에서 생성한 몰입형 가상현실 콘텐츠를 스마트폰과 연결된 HMD 또는 가상현실 전용 HMD를 통하여 사용자가 경험할 수 있도록 한다.
한편, 사용자의 움직임에 따라 시시각각 변화하는 가상현실 영상의 몰입감을 향상시키기 위해서는 사용자 모션을 실시간으로 반영한 가상현실 영상을 생성할 필요가 있다. 따라서, 몰입감 높은 가상현실 서비스를 이용하기 위해서는, 상당한 컴퓨팅 파워가 요구되며, 고사양의 PC, 스마트폰, 또는 가상현실 전용 단말 등이 요구된다.
결과적으로, 가상현실 서비스를 이용하기 위해서는 높은 초기비용이 발생한다. 가상현실 서비스를 이용하는데 요구되는 초기비용을 줄이기 위하여 저사양의 사용자 단말을 사용하거나, 한편으로는 클라우드에서 가상현실 콘텐츠를 생성하고 네트워크를 통하여 사용자 단말에 공급하는 방식이 제안되고 있다.
그러나, 클라우드에서 가상현실 콘텐츠를 생성하여 네트워크를 통하여 사용자 단말에 제공하는 방식은 서버와 단말기간의 사용자 모션정보의 송수신 및 콘텐츠 송수신 등에 상대적으로 긴 시간이 소요되므로 레이턴시 (시간지연)의 문제를 야기한다.
이하에서, 도 1 및 도 2를 참조하여 클라우드에서 가상현실 콘텐츠를 생성하고 서비스할 경우에 발생되는 레이턴시의 문제점을 개략적으로 기술한다.
도 1은 가상현실 콘텐츠를 생성하는 서버 (100) 와 가상현실 서비스를 이용하는 복수의 단말기 (110, 120,,, 160)가 네트워크를 통하여 접속되어 있는 것을 도시한 블럭도이다. 도 2는 서버에서 가상현실 콘텐츠를 생성하여 전송하는 과정에서 발생하는 레이턴시를 설명하기 위한 그래프이다.
각 단말기 (110) (예컨대 헤드마운트 디스플레이) 에는 사용자의 모션을 감지할 수 있는 각종 가속도 센서 및/또는 사용자의 뇌파나 안구운동 등의 생체신호를 감지할 수 있는 센서 등이 탑재되어 있을 수 있다.
도 2에 도시된 바와 같이, 각 단말기 (110) 에서 감지된 사용자 모션 정보는 주기적으로 서버 (100) 에 전송된다. 서버 (100) 에서는 수신된 사용자 모션 정보에 기초하여 단말기 (110)에서 디스플레이될 가상현실 콘텐츠를 생성하여 해당 단말기 (110)에 전송한다.
도 2를 참조하여 클라우드 기반의 가상현실 서비스 환경에서 단말기와 서버간의 모션 정보 생성/송수신 및 콘텐츠 생성/송수신시 발생되는 레이턴시를 설명한다.
단말기 (110) 는 주기적으로 사용자 모션 정보를 생성하여 서버 (100)에 송신한다. 예를 들면, 단말기 (110) 는 사용자가 머리에 착용하는 HMD (Head Mount Display)로서, 단말기 (110) 에는 사용자의 모션을 감지할 수 있는 하나 또는 복수의 센서가 포함되어 있다. 단말기 (110)는 이들 하나 또는 복수의 센서가 감지한 사용자의 움직임에 관한 정보 즉 모션 정보를 일정한 시간 간격으로 서버 (100)에 전송한다.
서버 (100)는 단말기 (110)가 t0시점에 송신한 사용자의 제1 모션 정보 (모션1)를 t1시점에 수신하고 수신된 사용자의 제1 모션 정보에 기초하여 단말기 (100)에서 디스플레이될 가상현실 콘텐츠를 위한 복수의 이미지 타일을 생성 또는 선택한다.
예를 들면, t0시점에 송신한 사용자의 제 1 모션 정보 (모션1) 에 사용자가 머리를 좌측으로 소정각도만큼 회전한 정보가 포함되어 있다면, 이를 수신한 서버 (100)는 회전된 사용자의 시야에 포착되는 만큼의 가상현실 콘텐츠를 위한 복수의 이미지 타일을 생성 또는 선택한다.
서버 (100)는 생성된 복수의 이미지 타일을 t2 시점에 전송버퍼에 일시 저장하였다가 t3 시점에 단말기 (110)에 송신한다. 단말기 (110) 는 t4 시점에 복수의 이미지 타일을 수신하여 디코딩하고 t5 시점에 디스플레이한다.
전술한 과정에서, T1 + T2 + T3 +T4만큼의 시간이 사용자 모션이 발생한 후 이를 반영한 이미지 콘텐츠가 서버 (100) 에서 생생되어 사용자 단말기 (110) 에서 디스플레이될 때까지 실제 발행한 레이턴시에 해당한다.
레이턴시를 구성하는 T1시간은 단말기 (110)와 서버 (100)간의 상방향 채널 네트워크 환경에 따라 가변적이다. 예를 들면, 서버와 단말기간의 장애물 또는 반사물, 상방향 채널을 공유하는 단말기의 개수 등 다양한 원인들에 따라 T1시간은 가변적이다.
레이턴시를 구성하는 T2 시간은 서버 (100)의 자원 (CPU, 메모리 등) 사용 상태에 따라 가변적이다. 레이턴시를 구성하는 T3시간은 서버 (100)와 서버 (110)간의 하방향 채널 네트워크 환경에 따라 가변적이다. 레이턴시를 구성하는 T4 시간은 단말기의 성능에 좌우될 수 있지만 대체로 시간에 따라 일정한 값으로 예측될 수 있다.
전술한 바와 같이, 레이턴시는 서버의 자원활용 상태뿐만아니라 서버 (100)와 단말기 (110)간의 상방향 및 하방향 네크워크 환경에 따라 시시각각 변화하며, 레이턴시가 길어질수록 가상현실 서비스의 몰입감은 저하된다. 이에 더하여, 사용자의 제1 모션 정보 (모션1) 와 사용자의 제2 모션 정보 (모션2) 또는 그 후속 모션정보 간에 모션차가 크면 클수록 가상현실의 몰입감은 더욱 저하된다.
따라서, 본 발명은 사용자의 제1 모션 정보에 기초하여 복수의 이미지 타일을 생성하여 전송버퍼에 일시적으로 저장한 이후 전송전에, 사용자의 제2 모션 정보 또는 그 후속 모션 정보들이 전송버퍼내에 저장된 복수의 이미지 타일에 적절히 반영될 수 있도록 전송버퍼를 관리하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 네트워크를 통하여 사용자 단말기로부터 주기적으로 사용자의 모션 정보를 수신하는 단계, 수신된 사용자의 모션 정보중 제1 모션 정보에 기초하여 서버가 사용자의 제1 시점을 계산하는 단계, 제1 시점에 기초하여 서버가 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하여 전송버퍼에 저장하는 단계 및 서버가 복수의 이미지 타일을 네트워크를 통하여 사용자 단말기에 송신하는 단계를 포함하며, 수신된 사용자의 모션 정보중 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 서버가 사용자의 제2 시점을 계산하는 단계, 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하는 단계, 제1 시점과 제2 시점간의 차가 소정값 이상이면, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 제2 시점에 기초하여 수정하는 단계를 추가로 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 제2 시점에 기초하여 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 전송버퍼에 저장하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 제1 시점에 기초하여 생성 또는 선택된 복수의 이미지 타일 중 제2 시점에 부합하지 않는 이미지 타일을 전송버퍼로부터 삭제하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 네트워크를 통하여 사용자 단말기로부터 주기적으로 사용자의 모션 정보를 수신하는 단계, 수신된 사용자의 모션 정보중 제1 모션 정보에 기초하여 서버가 사용자의 제1 시점을 계산하는 단계, 제1 시점에 기초하여 서버가 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하는 단계, 제1 시점으로부터 복수의 이미지 타일 각각에 이르는 거리를 계산하여, 거리가 짧은 순서로 복수의 이미지 타일을 전송버퍼에 저장하는 단계; 및 서버가 복수의 이미지 타일을 저장된 순서에 따라 네트워크를 통하여 사용자 단말기에 송신하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 수신된 상기 사용자의 모션 정보중 상기 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 서버가 사용자의 제2 시점을 계산하는 단계, 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하는 단계, 제1 시점과 제2 시점간의 차가 소정값 이상이면, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 제2 시점에 기초하여 수정하는 단계를 추가로 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 제2 시점으로부터 복수의 이미지 타일 각각에 이르는 거리를 계산하고, 계산 결과에 따라 복수의 이미지 타일의 저장 순서를 수정하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 제2 시점에 기초하여 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 전송버퍼에 저장하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은, 서버가 제1 시점에 기초하여 생성 또는 선택된 복수의 이미지 타일 중 제2 시점에 부합하지 않는 이미지 타일을 전송버퍼로부터 삭제하는 것을 특징으로 한다.
전술한 바와 같이, 본 발명에서 제안한 다양한 실시예에 따라 본발명은 클라우드 기반의 가상현실 서비스 환경에서, 사용자 모션에 기초하여 생성되고 전송버퍼에 저장된 이미지 타일을 후속하는 사용자 모션에 부합되도록 수정할 수 있는 버퍼관리 방법 및 장치를 제공함으로써, 보다 신뢰할 수 있고 몰입감 높은 가상현실 서비스를 제공할 수 있도록 한다.
도 1은 가상현실 콘텐츠를 생성하는 서버와 가상현실 서비스를 이용하는 복수의 단말기가 네트워크를 통하여 접속되어 있는 것을 도시한 블럭도이다.
도 2는 서버에서 가상현실 콘텐츠를 생성하여 전송하는 과정에서 발생하는 레이턴시를 설명하기 위한 그래프이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 기반의 가상현실 서비스를 위한 버퍼관리 방법을 도시한 블럭도이다.
도 4는 사용자 단말기의 위치에 따른 사용자의 시야 및 사용자의 시점을 설명하기 위한 도이다.
도 5는 본 발명의 다른 일 실시예에 따른 클라우드 기반의 가상현실 서비스를 위한 버퍼관리 방법을 도시한 블럭도이다.
도 6은 도 5에 도시한 버퍼관리 방법에 있어서 복수의 이미지 타일을 저장하는 순서를 설명하기 위한 도이다.
도 7은 도 5에 도시한 버퍼관리 방법에 있어서 제2 시점에 부합되도록 복수의 이미지 타일을 저장하는 순서를 수정하는 방법을 설명하기 위한 도이다.
도 8은 마이크로 프로세서와 전송버퍼를 포함하는 서버가 네트워크를 통하여 사용자 단말기와 송수신하는 클라우드 기반의 가상현실 서비스 시스템을 도시한다.
본 명세서에서 개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시에서 제안하고자 하는 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 당해 기술분야에서 통상의 지식을 가진 자에게 실시예들의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 개시된 실시예들의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 상세한 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 3 및 도 4를 참조하여 본 발명의 일 실시예에 따른 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법을 기술한다. 도 3에 따르면, 단계 310에서 서버 (100) 는 사용자 단말기 (110)로부터 사용자 모션 정보를 주기적으로 수신한다.
예를 들어, 사용자 단말기 (HMD)에는 하나 이상의 위치 센서 및 가속도 센서가 탑재되어 있으며, 이를 통하여 사용자의 헤드 위치가 주기적으로 감지된다. 사용자 단말기는 감지된 사용자 모션정보를 주기적으로 송신하며, 서버 (100)는 이 사용자 모션 정보 (모션1, 모션2, 모션3, ...)를 수신한다.
단계 320에서 서버 (100)는 수신된 제1 모션 정보 (모션1)에 기초하여 제1 시점을 계산한다. 제1 모션 정보 (모션1)로부터 추출된 사용자의 헤드위치로부터 도 4에 도시된 바와 같이 사용자의 시야를 계산할 수 있으며, 사용자의 시야의 중심 (A)을 제1 시점으로 추정할 수 있다.
다른 예로서, 사용자 단말기 (HMD)에 안구 트래킹 센서가 탑재되어 있는 경우에는, 안구 트래킹 결과 사용자가 실제로 바라보고 있는 시점 (B)을 제1 시점으로 계산할 수 있다.
단계 330에서 서버 (100)는 제1 모션 정보 (모션1), 즉 사용자의 헤드위치로부터 계산된 사용자의 시야에 부합하는 비디오 콘텐츠를 위한 복수의 이미지 타일을 생성 및 선택하여 전송버퍼에 저장한다.
단계 340에서 서버 (100)는 제2 모션 정보 (모션2)에 기초하여 제2 시점을 계산한다. 제2 시점을 계산하는 방법은 제1 시점을 계산하는 방법과 동일하다. 제2 시점을 계산하는 단계 340는 복수의 이미지 타일을 생성하여 저장하는 단계 330과 시간적으로 중첩되어 실행될 수 있다.
단계 350에서 서버 (100)는 제1 시점과 제2 시점의 차를 소정값과 비교하며, 단계 360에서 서버 (100)는 제1 시점과 제2 시점의 차가 소정값 이상이면 전송버퍼에 저장되어 있는 복수의 이미지 타일을 수정한다.
예를 들어, 제1 시점의 좌표를 (x1, y1) 이라고 하고, 제2 시점의 좌표를 (x2, y2)라고 하면, 이들간의 차는 |(x1, y1)-(x2, y2)|로 나타낼 수 있다.
한편, 하나의 이미지 타일의 가로 길이를 W라고 하고 세로 길이를 H라고 하였을 때, 소정값을 하나의 이미지 타일에 대한 상대적 크기로서 a*|(W,H)|(a는 임의의 양의 실수) 와 같이 나타낼 수 있다. a는 사용자의 몰입감을 방해할 수 있다고 여겨지는 범위에서 자유롭게 설정될 수 있다.
이때, |(x1, y1)-(x2, y2)|>=a*|(W,H)|라면, 전송버퍼에 저장된 복수의 이미지 타일들이 사용자의 제1 시점에 기초하여 생성되었지만, 그것들이 그대로 사용자 단말기에 전송되어 디스플레이되면, 사용자의 후속 모션에 따른 사용자의 제2 시점 또는 후속 시점들에 부합하지 않는 정도가 소정의 범위를 벗어나기 때문에 사용자가 위화감을 느낄 수 있다고 판단할 수 있다.
따라서, 본 발명의 일 실시예에 따른 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법은 전술한 바와 같은 경우에, 전송버퍼에 저장되어 있는 복수의 이미지 타일들을 사용자의 제2 시점에 부합되도록 수정한다. 제1 시점과 제2 시점의 차가 소정값보다 작다면, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 수정하지 않는다.
본 발명의 다른 일 실시예에서는 이 경우에 사용자의 제3 모션 정보 (모션3)에 기초하여 제3 시점을 계산하고, 제1 시점과 제3 시점간의 차가 소정값이상인지 여부를 판단하고 그 결과에 따라 전송 버퍼에 저장되어 있는 이미지 타일을 수정하도록 할 수도 있다. 즉, 단계 340, 단계 350, 단계 360은 후속하는 사용자 모션 정보에 대하여 반복적으로 실행될 수 있다.
단계 370에서 서버 (100)는 수정된 복수의 이미지 타일을 사용자 단말기 (110)에게 전송한다.
한편, 단계 360에서, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 수정하는 방법은 다양하게 고려될 수 있다.
예를 들어, 사용자 단말기 (110)가 제1 모션 정보를 송신한 후, 사용자가 헤드를 5도 우회전하고 이를 제2 모션 정보가 반영하고 있다면, 전송 버퍼에 저장되어 있는 이미지 타일들 (사용자의 제1 시점에 기초하여 생성됨) 에 추가하여 사용자 헤드가 우회전함으로써 요구되는 시야에 해당하는 만큼의 이미지 타일들이 저장될 수 있다. 즉, 사용자의 제2 시점에 부합되는 이미지 타일들이 추가적으로 생성되어 전송버퍼에 저장될 수 있다.
전술한 예에서, 전송 버퍼에 저장되어 있던 복수의 이미지 타일들 중에 사용자 헤드가 우회전함에 따라 사용자의 시야에서 벗어나게 되는 이미지 타일들은 사용자 단말기에서 더이상 디스플레이할 필요가 없으므로, 전송버퍼로부터 삭제하는 것이 바람직하다. 그렇게 함으로써, 불필요한 이미지 타일의 전송에 네트워크 자원이 소모되는 것도 방지할 수 있다.
한편, 인간의 시각을 통한 인지능력은 눈이 바라보는 시점으로부터 거리가 멀어질 수록 현저하게 약화된다. 즉, 사용자가 바라보는 시점으로부터 가까운 영역의 이미지 타일들은 사용자가 명확하게 인식할 수 있는 반면에 사용자가 바라보는 시점으로부터 먼 영역에 위치하는 이미지 타일들은 사용자에게 상대적으로 명확하게 인식되지 않는다.
따라서, 사용자의 시점에 기초하여 생성된 이미지 타일을 사용자의 단말기에 전송할 때, 전술한 인간의 시각적 인지능력을 고려하여 이미지 타일을 특정한 순서로 저장하고 전송한다면, 제한된 자원을 보다 효율적으로 사용하여 몰입감 높은 가상현실 서비스를 제공할 수 있다.
이하에서는 도 5 및 도 6을 참조하여, 본 발명의 다른 실시예에 따른 클라우드 기반의 가상현실 서비스를 위한 버퍼관리 방법을 기술한다.
단계 510에서 서버 (100)는 네트워크를 통하여 사용자 단말기 (110)로부터 주기적으로 사용자의 모션 정보를 수신한다. 단계 520에서 서버 (100)는 수신된 사용자의 모션 정보중 제1 모션 정보에 기초하여 사용자의 제1 시점을 계산한다. 모션 정보에 기초하여 시점을 계산하는 방법은 전술한 바와 동일하다.
단계 530에서 서버 (100)는 제1 시점에 기초하여 사용자 단말기 (110)에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택한다.
단계 540에서 서버 (100)는 제1 시점으로부터 복수의 이미지 타일 각각에 이르는 거리를 계산하여, 거리가 짧은 순서로 복수의 이미지 타일을 전송버퍼에 저장한다.
예를 들어 도 6은 이미지 타일 (t(0,0))의 중심에 사용자의 제 1 시점이 위치할 경우에, 제 1시점으로부터 각 이미지 타일에 이르는 거리가 가까운 순서로 각 이미지 타일을 버퍼에 저장하는 과정을 설명한다.
도 6에 따르면, 사용자의 제1 시점이 이미지 타일 (t(0,0))의 중심에 위치하므로, 제1 시점으로부터 가장 가까운 거리에 위치하는 이미지 타일은 이미지 타일 (t(0,0))가 된다. 따라서, 전송버퍼에 가장 우선적으로 저장되는 이미지 타일은 이미지 타일 (t(0,0))가 된다.
사용자의 제1 시점으로부터 두번째로 가까운 거리에 위치하는 이미지 타일은 이미지 타일 (t(0,1), t(1,0), t(0,-1), t(-1,0))들이다. 따라서, 이들 이미지 타일이 다음 순서로 전송버퍼에 저장된다.
사용자의 제1 시점으로부터 세번째로 가까운 거리에 위치하는 이미지 타일은 이미지 타일 (t(1,1), t(1,-1), t(-1,-1), t(-1,1))들이다. 따라서, 이들 이미지 타일이 다음 순서로 전송버퍼에 저장된다.
전술한 바와 같이 사용자의 제1 시점으로부터 각 이미지 타일에 이르는 거리를 계산하고, 거리가 가까운 순서에 따라 이미지 타일을 전송버퍼에 저장하는 과정은 사용자의 제1 시점에 기초하여 생성된 복수의 이미지 타일을 모두 전송버퍼에 저장할 때까지 반복된다.
단계 550에서 서버 (100)는 전송버퍼에 저장된 순서대로 복수의 이미지 타일을 사용자 단말기 (110)에 전송한다.
이와 같이, 사용자의 시점에 가까운 이미지 타일들을 우선적으로 저장하고 사용자 단말기 (110)에 전송하게 되면, 사용자 단말기 (110)에서 디스플레이되는 하나의 프레임에 해당되는 모든 이미지 타일이 전송되기 전이라도, 우선적으로 전송된 사용자의 시점에 가까운 이미지 타일들과 이전 프레임에 사용된 이미지 타일들을 활용하여 현 프레임을 구성하여 디스플레이할 수도 있다.
사용자의 시점으로부터 먼 거리의 이미지 타일들은 예를 들어 종전 프레임에서 사용된 이미지 타일들을 재활용하더라도 어차피 사용자가 이를 명확히 인지하지 못하기 때문에 위화감을 느끼지 않고 가상현실에 몰입할 수 있다는 점을 이용하는 것이다.
본 발명의 다른 실시예에 따르면, 서버 (100)가 제2 모션 정보에 기초하여 제 2 시점을 계산하고 제2 시점으로부터 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하는 단계를 추가로 포함하며, 제1 시점과 제2 시점간의 차가 소정값 이상이면, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 제2 시점에 기초하여 수정할 수 있다.
본 발명의 또 다른 실시예에 따르면, 제1 시점과 제2 시점간의 차가 소정값 이상이면, 전송버퍼에 저장되어 있는 복수의 이미지 타일들의 저장 순서를 수정할 수 있다.
도 7에 도시된 바와 같이, 사용자의 제1 시점이 이미지 타일 (t(0,0))의 중심에 위치하고, 사용자의 제2 시점이 이미지 타일 (t(2,0))의 중심에 위치할 경우, 두 시점간의 차가 소정값, 예를 들어, 하나의 이미지 타일의 가로길이 (W)이상이므로 서버 (100)는 전송버퍼에 저장되어 있는 복수의 이미지 타일의 저장 순서를 수정할 수 있다.
이때, 새로이 저장되는 이미지 타일의 저장 순서는, 사용자의 제2 시점으로부터 각 이미지 타일에 이르는 거리가 짧은 순서이다. 즉, 이미지 타일 (t(2,0))이 가장 우선적으로 전송버퍼에 저장된다. 따라서, 서버 (100)는 이미지 타일 (t(2,0))을 가장 우선적으로 사용자 단말기 (110)에 전송하게 된다.
제1 시점과 제2 시점간의 차가 소정값이상인 경우, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 수정하는 방법은 이외에도 다양하게 고려될 수 있다.
예를 들어, 사용자 단말기 (110)가 제1 모션 정보를 송신한 후, 사용자가 헤드를 좌회전하고 이를 제2 모션 정보가 반영하고 있다면, 전송 버퍼에 저장되어 있는 이미지 타일들 (사용자의 제1 시점에 기초하여 생성됨) 에 추가하여 사용자 헤드가 좌회전함으로써 요구되는 시야에 해당하는 만큼의 이미지 타일들이 추가로 저장될 수 있다. 즉, 사용자의 제2 시점에 부합되는 이미지 타일들이 추가적으로 생성되어 전송버퍼에 저장될 수 있다.
추가적으로 생성되는 이미지 타일들에 대해서도 제2 시점으로부터의 거리가 계산되고, 그 거리에 따라 저장 순서가 결정될 수 있다.
한편, 전송 버퍼에 저장되어 있던 복수의 이미지 타일들 중에 사용자 헤드가 좌회전함에 따라 사용자의 시야에서 벗어나게 되는 이미지 타일들은 사용자 단말기에서 더이상 디스플레이할 필요가 없으므로, 전송버퍼로부터 삭제할 수 있다.
도 8은 마이크로 프로세서 (200)와 전송버퍼 (300)를 포함하는 서버 (100)가 네트워크를 통하여 사용자 단말기 (110, 120, 130)와 송수신하는 클라우드 기반의 가상현실 서비스 시스템을 도시한다.
본 발명에 따른 다른 실시예로서, 본 발명은 사용자 단말기 (110)로부터 주기적으로 송신되는 사용자의 모션 정보를 수신하고, 사용자의 모션 정보에 기초하여 사용자 단말기 (110)에서 디스플레이될 콘텐츠를 생성 또는 선택하여 사용자 단말기에 송신하는 서버 (100)내에, 하나 또는 복수의 마이크로 프로세서 (200) 및 전송버퍼 (300)를 포함하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치로서 기술될 수 있으며, 하나 또는 복수의 마이크로 프로세서는, 수신된 사용자의 모션 정보중 제1 모션 정보에 기초하여 사용자의 제1 시점을 계산하고, 제1 시점에 기초하여 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하여 전송버퍼에 저장하며, 수신된 사용자의 모션 정보중 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 사용자의 제2 시점을 계산하며, 제1 시점과 제2 시점간의 차를 소정값과 비교하며, 제1 시점과 제2 시점간의 차가 소정값 이상이면, 전송버퍼에 저장되어 있는 복수의 이미지 타일을 제2 시점에 기초하여 수정하는 것을 특징으로 한다.
또 다른 실시예로서, 본 발명은 사용자 단말기로부터 주기적으로 송신되는 사용자의 모션 정보를 수신하고, 사용자의 모션 정보에 기초하여 사용자 단말기에서 디스플레이될 콘텐츠를 생성 또는 선택하여 사용자 단말기에 송신하는 서버내에, 하나 또는 복수의 마이크로 프로세서 및 전송버퍼를 포함하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치로서 기술될 수 있으며, 하나 또는 복수의 마이크로 프로세서는, 수신된 사용자의 모션 정보중 제1 모션 정보에 기초하여 사용자의 제1 시점을 계산하며, 제1 시점에 기초하여 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하며, 제1 시점으로부터 복수의 이미지 타일 각각에 이르는 거리를 계산하여, 거리가 짧은 순서로 상기 복수의 이미지 타일을 전송버퍼에 저장하며, 서버가 복수의 이미지 타일을 저장된 순서에 따라 네트워크를 통하여 사용자 단말기에 송신하는 것을 특징으로 한다.
이상, 도 1 내지 도 8을 참조하여, 본 발명의 실시예들을 기술하였으나, 본 발명은 이러한 실시예에 한정되지 않으며, 다양하게 변형될 수 있다.
110, 120, 130, 140, 150, 160 사용자 단말기
100 서버
200 마이크로 프로세서
300 전송버퍼

Claims (15)

  1. 서버가 네트워크를 통하여 사용자 단말기로부터 주기적으로 사용자의 모션 정보를 수신하는 단계;
    수신된 상기 사용자의 모션 정보중 제1 모션 정보에 기초하여 상기 서버가 사용자의 제1 시점을 계산하는 단계;
    상기 제1 시점에 기초하여 상기 서버가 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하여 전송버퍼에 저장하는 단계; 및
    상기 서버가 상기 복수의 이미지 타일을 상기 네트워크를 통하여 상기 사용자 단말기에 송신하는 단계를 포함하며,
    수신된 상기 사용자의 모션 정보중 상기 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 상기 서버가 사용자의 제2 시점을 계산하는 단계;
    상기 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하는 단계;
    상기 제1 시점과 상기 제2 시점간의 차가 상기 소정값 이상이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하는 단계를 추가로 포함하며,
    상기 수정하는 단계는, 상기 서버가 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 상기 전송버퍼에 저장하고,
    상기 수정하는 단계는, 상기 제1 시점에 기초하여 생성 또는 선택된 상기 복수의 이미지 타일 중 상기 제2 시점에 부합하지 않는 이미지 타일을 상기 전송버퍼로부터 삭제하고,
    상기 제1 시점의 좌표를 (x1, y1), 상기 제2 시점의 좌표를 (x2, y2), 하나의 이미지 타일의 가로 길이를 W, 세로 길이를 H라고 할 때,
    상기 소정값은 a*|(W,H)|(a는 임의의 양의 실수)로 나타낼 수 있고,
    |(x1, y1)-(x2, y2)|>=a*|(W,H)|이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하는 것을 특징으로 하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법.
  2. 삭제
  3. 삭제
  4. 서버가 네트워크를 통하여 사용자 단말기로부터 주기적으로 사용자의 모션 정보를 수신하는 단계;
    수신된 상기 사용자의 모션 정보중 제1 모션 정보에 기초하여 상기 서버가 사용자의 제1 시점을 계산하는 단계;
    상기 제1 시점에 기초하여 상기 서버가 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하는 단계;
    상기 제1 시점으로부터 상기 복수의 이미지 타일 각각에 이르는 거리를 계산하여, 상기 거리가 짧은 순서로 상기 복수의 이미지 타일을 전송버퍼에 저장하는 단계; 및
    상기 서버가 상기 복수의 이미지 타일을 저장된 순서에 따라 상기 네트워크를 통하여 상기 사용자 단말기에 송신하는 단계를 포함하며,
    수신된 상기 사용자의 모션 정보중 상기 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 상기 서버가 사용자의 제2 시점을 계산하는 단계;
    상기 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하는 단계;
    상기 제1 시점과 상기 제2 시점간의 차가 상기 소정값 이상이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하는 단계를 추가로 포함하고,
    상기 수정하는 단계는, 상기 제2 시점으로부터 상기 복수의 이미지 타일 각각에 이르는 거리를 계산하고, 계산 결과에 따라 상기 복수의 이미지 타일의 저장 순서를 수정하고,
    상기 수정하는 단계는, 상기 서버가 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 상기 전송버퍼에 저장하고,
    상기 수정하는 단계는, 상기 제1 시점에 기초하여 생성 또는 선택된 상기 복수의 이미지 타일 중 상기 제2 시점에 부합하지 않는 이미지 타일을 상기 전송버퍼로부터 삭제하고,
    상기 제1 시점의 좌표를 (x1, y1), 상기 제2 시점의 좌표를 (x2, y2), 하나의 이미지 타일의 가로 길이를 W, 세로 길이를 H라고 할 때,
    상기 소정값은 a*|(W,H)|(a는 임의의 양의 실수)로 나타낼 수 있고,
    |(x1, y1)-(x2, y2)|>=a*|(W,H)|이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하고,
    상기 서버가 상기 제1 시점에 기초하여 저장된 상기 전송버퍼에서 상기 복수의 이미지 타일을 저장된 순서에 따라 상기 네트워크를 통하여 상기 사용자 단말기에 송신하는 중에, 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 상기 전송버퍼에 저장되면, 상기 전송버퍼에서 상기 제2 시점에 기초하여 저장된 이미지 타일을 우선적으로 상기 사용자 단말기에 송신하는 것을 특징으로 하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 사용자 단말기로부터 주기적으로 송신되는 사용자의 모션 정보를 수신하고, 상기 사용자의 모션 정보에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠를 생성 또는 선택하여 상기 사용자 단말기에 송신하는 서버내에, 하나 또는 복수의 마이크로 프로세서 및 전송버퍼를 포함하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치에 있어서,
    상기 하나 또는 복수의 마이크로 프로세서는,
    수신된 상기 사용자의 모션 정보중 제1 모션 정보에 기초하여 사용자의 제1 시점을 계산하고,
    상기 제1 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하여 상기 전송버퍼에 저장하며,
    수신된 상기 사용자의 모션 정보중 상기 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 사용자의 제2 시점을 계산하며,
    상기 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하며,
    상기 제1 시점과 상기 제2 시점간의 차가 상기 소정값 이상이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하며,
    상기 하나 또는 복수의 마이크로 프로세서는, 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가로 생성 또는 선택하여 상기 전송버퍼에 저장하고,
    상기 하나 또는 복수의 마이크로 프로세서는, 상기 제1 시점에 기초하여 생성 또는 선택된 상기 복수의 이미지 타일 중 상기 제2 시점에 부합하지 않는 이미지 타일을 상기 전송버퍼로부터 삭제하고,
    상기 제1 시점의 좌표를 (x1, y1), 상기 제2 시점의 좌표를 (x2, y2), 하나의 이미지 타일의 가로 길이를 W, 세로 길이를 H라고 할 때,
    상기 소정값은 a*|(W,H)|(a는 임의의 양의 실수)로 나타낼 수 있고,
    |(x1, y1)-(x2, y2)|>=a*|(W,H)|이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하는 것을 특징으로 하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치.
  10. 삭제
  11. 삭제
  12. 사용자 단말기로부터 주기적으로 송신되는 사용자의 모션 정보를 수신하고, 상기 사용자의 모션 정보에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠를 생성 또는 선택하여 상기 사용자 단말기에 송신하는 서버내에, 하나 또는 복수의 마이크로 프로세서 및 전송버퍼를 포함하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치에 있어서,
    상기 하나 또는 복수의 마이크로 프로세서는, 수신된 상기 사용자의 모션 정보중 제1 모션 정보에 기초하여 사용자의 제1 시점을 계산하며,
    상기 제1 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 복수의 이미지 타일을 생성 또는 선택하며,
    상기 제1 시점으로부터 상기 복수의 이미지 타일 각각에 이르는 거리를 계산하여, 상기 거리가 짧은 순서로 상기 복수의 이미지 타일을 전송버퍼에 저장하며,
    상기 서버가 상기 복수의 이미지 타일을 저장된 순서에 따라 네트워크를 통하여 상기 사용자 단말기에 송신하며,
    상기 하나 또는 복수의 마이크로 프로세서는, 수신된 상기 사용자의 모션 정보중 상기 제1 모션 정보에 후속하는 제2 모션 정보에 기초하여 사용자의 제2 시점을 계산하며,
    상기 제1 시점과 상기 제2 시점간의 차를 소정값과 비교하며,
    상기 제1 시점과 상기 제2 시점간의 차가 상기 소정값 이상이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하고,
    상기 하나 또는 복수의 마이크로 프로세서는, 상기 제2 시점으로부터 상기 복수의 이미지 타일 각각에 이르는 거리를 계산하고, 계산 결과에 따라 상기 복수의 이미지 타일의 저장 순서를 수정하고,
    상기 하나 또는 복수의 마이크로 프로세서는, 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 상기 전송버퍼에 저장하며,
    상기 제1 시점에 기초하여 생성 또는 선택된 상기 복수의 이미지 타일 중 상기 제2 시점에 부합하지 않는 이미지 타일을 상기 전송버퍼로부터 삭제하고,
    상기 제1 시점의 좌표를 (x1, y1), 상기 제2 시점의 좌표를 (x2, y2), 하나의 이미지 타일의 가로 길이를 W, 세로 길이를 H라고 할 때,
    상기 소정값은 a*|(W,H)|(a는 임의의 양의 실수)로 나타낼 수 있고,
    |(x1, y1)-(x2, y2)|>=a*|(W,H)|이면, 상기 전송버퍼에 저장되어 있는 상기 복수의 이미지 타일을 상기 제2 시점에 기초하여 수정하고,
    상기 하나 또는 복수의 마이크로 프로세서는, 상기 제1 시점에 기초하여 저장된 상기 전송버퍼에서 상기 복수의 이미지 타일을 저장된 순서에 따라 상기 네트워크를 통하여 상기 사용자 단말기에 송신하는 중에, 상기 제2 시점에 기초하여 상기 사용자 단말기에서 디스플레이될 콘텐츠에 관한 이미지 타일을 추가적으로 생성 또는 선택하여 상기 전송버퍼에 저장되면, 상기 전송버퍼에서 상기 제2 시점에 기초하여 저장된 이미지 타일을 우선적으로 상기 사용자 단말기에 송신하는 것을 특징으로 하는 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 장치.
  13. 삭제
  14. 삭제
  15. 삭제
KR1020180140596A 2018-11-15 2018-11-15 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치 KR102142876B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180140596A KR102142876B1 (ko) 2018-11-15 2018-11-15 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치
US16/515,175 US10869013B2 (en) 2018-11-15 2019-07-18 Method and apparatus for buffer management in cloud based virtual reality services
US17/098,325 US11463670B2 (en) 2018-11-15 2020-11-14 Method and apparatus for buffer management in cloud based virtual reality services
US17/494,808 US11683460B2 (en) 2018-11-15 2021-10-05 Method and apparatus for buffer management in cloud based virtual reality services
US17/901,839 US11876947B2 (en) 2018-11-15 2022-09-01 Method and apparatus for buffer management in cloud based virtual reality services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180140596A KR102142876B1 (ko) 2018-11-15 2018-11-15 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200056658A KR20200056658A (ko) 2020-05-25
KR102142876B1 true KR102142876B1 (ko) 2020-08-10

Family

ID=70728296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140596A KR102142876B1 (ko) 2018-11-15 2018-11-15 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치

Country Status (2)

Country Link
US (4) US10869013B2 (ko)
KR (1) KR102142876B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230083538A (ko) 2021-12-03 2023-06-12 (주)이노시뮬레이션 분산 시뮬레이션을 위한 동적 시뮬레이션 버퍼 및 이의 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102142876B1 (ko) 2018-11-15 2020-08-10 서울과학기술대학교 산학협력단 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
KR20220005274A (ko) * 2020-07-06 2022-01-13 삼성전자주식회사 전자 장치에서 무선 통신 효율을 개선하기 위한 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215875A (ja) * 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3433278B2 (ja) * 1995-11-08 2003-08-04 富士通株式会社 三次元画像表示方法及びそれに使用する三次元画像表示装置
US9628783B2 (en) * 2013-03-15 2017-04-18 University Of Southern California Method for interacting with virtual environment using stereoscope attached to computing device and modifying view of virtual environment based on user input in order to be displayed on portion of display
US10838502B2 (en) * 2016-03-29 2020-11-17 Microsoft Technology Licensing, Llc Sharing across environments
US10305734B2 (en) * 2016-04-07 2019-05-28 General Electric Company Method, system, and program storage device for customization of services in an industrial internet of things
US10652314B2 (en) * 2016-05-10 2020-05-12 Verizon Patent And Licensing Inc. Cloud-based virtual reality project system
US10433025B2 (en) * 2016-05-10 2019-10-01 Jaunt Inc. Virtual reality resource scheduling of process in a cloud-based virtual reality processing system
KR102142876B1 (ko) 2018-11-15 2020-08-10 서울과학기술대학교 산학협력단 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215875A (ja) * 2016-06-01 2017-12-07 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、および画像生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230083538A (ko) 2021-12-03 2023-06-12 (주)이노시뮬레이션 분산 시뮬레이션을 위한 동적 시뮬레이션 버퍼 및 이의 제어 방법

Also Published As

Publication number Publication date
US11876947B2 (en) 2024-01-16
US20220030208A1 (en) 2022-01-27
US11463670B2 (en) 2022-10-04
US20210067755A1 (en) 2021-03-04
US20220417487A1 (en) 2022-12-29
US11683460B2 (en) 2023-06-20
KR20200056658A (ko) 2020-05-25
US20200162712A1 (en) 2020-05-21
US10869013B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
KR102142876B1 (ko) 클라우드 기반의 가상현실 서비스를 위한 버퍼 관리 방법 및 장치
TWI732194B (zh) 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體
JP7164630B2 (ja) 予測サッカード着地点に基づく動的グラフィックスレンダリング
CN108292489B (zh) 信息处理装置和图像生成方法
US10013812B2 (en) Method and system for controlling a head-mounted display system
JP6124985B1 (ja) 映像コンテンツ配信システム及びコンテンツ管理サーバ
JP2016522463A5 (ko)
US9398252B2 (en) Information processing apparatus, information processing system and program
US11663737B2 (en) Information processing apparatus and representative coordinate derivation method
WO2018225187A1 (ja) 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
US11159645B2 (en) Adaptive backchannel synchronization for virtual, augmented, or mixed reality (xR) applications in edge cloud architectures
US20150138301A1 (en) Apparatus and method for generating telepresence
EP3173134B1 (en) Synchronization object determining method, apparatus, and system
KR102319649B1 (ko) 혼합현실에서의 드론 비행을 위한 원격 훈련 방법 및 장치
US11531401B2 (en) Data replacement apparatus, computing device, and program for user and avatar coordination
KR20210046759A (ko) 이미지 디스플레이 방법, 장치 및 시스템
JPWO2021199184A5 (ko)
CN111796740A (zh) 基于可穿戴智能设备的无人车控制方法、装置及***
WO2021220407A1 (ja) ヘッドマウントディスプレイ装置および表示制御方法
CN111277857B (zh) 一种流媒体调度方法及装置
KR101953578B1 (ko) 클라우드 기반의 가상현실 서비스를 위한 콘텐츠 가공 방법 및 장치
US20190287285A1 (en) Information processing device, information processing method, and program
JP7420585B2 (ja) Ar表示制御装置及びそのプログラム、並びに、ar表示システム
WO2022049908A1 (ja) 表示処理装置、表示処理方法、記憶媒体、および情報処理装置
CN115145395A (zh) 虚拟现实交互控制方法、***及虚拟现实设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant