KR101716326B1 - 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램 - Google Patents

가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램 Download PDF

Info

Publication number
KR101716326B1
KR101716326B1 KR1020150127171A KR20150127171A KR101716326B1 KR 101716326 B1 KR101716326 B1 KR 101716326B1 KR 1020150127171 A KR1020150127171 A KR 1020150127171A KR 20150127171 A KR20150127171 A KR 20150127171A KR 101716326 B1 KR101716326 B1 KR 101716326B1
Authority
KR
South Korea
Prior art keywords
image frame
direction data
video
time point
client
Prior art date
Application number
KR1020150127171A
Other languages
English (en)
Inventor
김태욱
이하람
정덕영
Original Assignee
클릭트 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 클릭트 주식회사 filed Critical 클릭트 주식회사
Priority to KR1020150127171A priority Critical patent/KR101716326B1/ko
Priority to EP16844615.1A priority patent/EP3349442A4/en
Priority to PCT/KR2016/009588 priority patent/WO2017043795A1/ko
Priority to JP2018531276A priority patent/JP6731482B2/ja
Priority to CN201610803452.2A priority patent/CN106507128A/zh
Priority to TW105128999A priority patent/TWI653551B/zh
Application granted granted Critical
Publication of KR101716326B1 publication Critical patent/KR101716326B1/ko
Priority to US15/908,924 priority patent/US10970931B2/en

Links

Images

Classifications

    • 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
    • H04N13/0059
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 가상현실영상 전송방법, 가상현실영상 재생방법 및 이를 이용한 프로그램에 관한 것이다.
본 발명의 일실시예에 따른 가상현실영상 전송방법은, 서버가 최초영상프레임을 생성하는 단계(S120); 상기 최초영상프레임에 상응하는 영상방향데이터를 판단하는 단계(S140); 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성하는 단계(S160); 및 상기 최종영상프레임을 무선통신을 통해 클라이언트로 전송하는 단계(S180);를 포함한다.
본 발명에 따르면, 가상현실 영상프레임을 무선으로 전송함에 따른 특정시점의 영상프레임 누락을 보완할 수 있어서, 사용자는 특정한 영상프레임이 수신되지 않는 경우에도 자연스럽게 가상현실 영상 내의 물체가 움직이는 것으로 느낄 수 있다.

Description

가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램 {METHOD AND PROGRAM FOR TRANSMITTING AND PLAYING VIRTUAL REALITY IMAGE}
본 발명은 가상현실영상 전송방법, 가상현실영상 재생방법 및 이를 이용한 프로그램에 관한 것으로, 보다 자세하게는 무선통신을 통해 높은 사양을 요구하는 가상현실 컨텐츠의 실시간 전송 및 재생을 수행하는 방법 또는 프로그램에 관한 것이다.
가상현실(VR; Virtual Reality)이란 컴퓨터를 통해 생성된 가상의 공간으로, 3차원 시각효과를 통해 현실성을 부여하는 공간이다. 가상현실 구현을 위한 기술은 사용자의 입력을 실시간으로 처리하여 현실 세계에 있는 것 같은 느낌을 받을 수 있는 기술로, 멀티미디어를 뛰어 넘는 차세대 기술이다.
가상현실 환경은 사용자에게 실감나는 몰입감을 제공함으로써 실재하는 물체를 시뮬레이션할 수 있을 뿐만 아니라 실제로 존재하지 않는 물체나 상황을 체험할 수 있게 해준다. 이러한 가상현실 환경은 여러 다양한 분야에 적용될 수 있다. 예를 들어, 자동차 설계나 시뮬레이션 실험 등의 공학 분야에서부터 의료분야, 문화 컨텐츠 분야에 이르기까지 실로 다양한 분야에서 사용되고 있다.
이러한 가상현실(VR)은 보는 관점에 따라 가상환경(Virtual Environment), 가상존재(Virtual Presence), 인공세계(Artifical World), 가상세계(Virtual World), 사이버 스페이스(Cyber space)와 같은 용어로 혼용하고 있으나, 일반적으로 컴퓨터가 만들어낸 실세계와 유사한 3차원 가상세계를 사용자에게 제공하고, 그 가상세계와 실시간으로 자유롭게 조작할 수 있는 입력수단과 사용자의 조작에 대응하여 실제적인 감각을 제공하는 감각궤환(Sensory feedback) 수단을 제공하므로써 인공적인 체험과 경험을 할 수 있도록 해주는 기술이라 할 수 있다.
최근 기술발전에 따라 가상현실 컨텐츠를 이용할 수 있는 장치들도 다수 등장하고 있다. 기존에는 고사양의 가상현실 영상을 생성하기 위해 데스크톱 등의 PC에 케이블로 VR재생 장치를 연결한 채 사용자가 착용하여 이용하였다. 그러나 이러한 경우, 케이블에 의해 VR장치를 착용하고 움직일 수 있는 행동반경이 제한되며, VR장치를 착용하여 외부를 확인할 수 없는 상태에서 케이블에 걸려 넘어지는 사고 등이 발생할 수 있는 문제가 있었다. 또한, PC가 있는 경우만 VR장치를 이용하여 가상현실 영상을 즐길 수 있는 불편함이 존재하였다.
또한, 최근에는 이동단말기를 VR장치에 결합하고, 이동단말기가 VR영상을 생성하기 위한 정보처리를 수행한 후 VR장치로 전달하는 방식이 등장하고 있다. 이는 정보처리를 수행하는 컴퓨터인 이동단말기와 재생하는 VR장치가 유선으로 연결되지만, 이동단말기 VR장치에 결합될 수 있어서 케이블에 의해 발생하는 문제점은 해결될 수 있다. 그러나 이동단말기는 PC에 비해 고사양의 프로그램을 구동하기 어려워서, 고사양의 VR게임을 구동하거나 높은 해상도의 VR영상을 재생하기 어려운 문제가 있다.
따라서, 본 발명은, 정보처리 장치와 VR장치 간에 무선통신을 통해 영상프레임을 전송하여 재생하도록 하여, 장소 및 행동반경에 구애받지 않고 고사양의 컴퓨터로부터 VR영상을 제공받을 수 있는, 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램을 제공하고자 한다.
본 발명의 일실시예에 따른 가상현실영상 전송방법은, 서버가 최초영상프레임을 생성하는 단계; 상기 최초영상프레임에 상응하는 영상방향데이터를 판단하는 단계; 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성하는 단계; 및 상기 최종영상프레임을 무선통신을 통해 클라이언트로 전송하는 단계;를 포함하며, 상기 클라이언트는 가상현실영상에 해당하는 상기 최종영상프레임을 재생하는 장치이며, 상기 영상방향데이터는 상기 서버에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터이다.
또한, 상기 클라이언트로부터 재생방향데이터를 수신하는 단계;를 더 포함하며, 상기 영상방향데이터 판단단계는 상기 수신한 재생방향데이터를 바탕으로 상기 영상방향데이터를 결정하는 것을 특징으로 하며, 상기 클라이언트는 사용자의 고개 움직임을 측정하여 재생방향데이터를 획득하는 것을 특징으로 하며, 상기 재생방향데이터는 특정시점에 상기 클라이언트의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터일 수 있다.
본 발명의 다른 일실시예에 따른 가상현실영상 전송방법은, 서버가 특정시점의 최초전체영상을 생성하는 단계; 상기 클라이언트로부터 재생방향데이터를 수신하는 단계; 상기 최초전체영상에서 상기 재생방향데이터에 상응하는 최초영상프레임을 추출하는 단계; 상기 재생방향데이터를 영상방향데이터로 결정하고, 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성하는 단계; 및 상기 최종영상프레임을 무선통신을 통해 클라이언트로 전송하는 단계;를 포함하며, 상기 클라이언트는 사용자의 고개 움직임을 측정하여 상기 재생방향데이터를 획득하는, 가상현실영상에 해당하는 상기 최종영상프레임을 재생하는 장치이며, 상기 영상방향데이터는 상기 서버에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터이고, 상기 재생방향데이터는 특정시점에 상기 클라이언트의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터이다.
또한, 상기 클라이언트는 상기 클라이언트에 의해 제2시점의 최종영상프레임이 수신되지 않는 경우, 제1시점의 영상방향데이터와 상기 제2시점의 재생방향데이터의 차이값을 산출하여, 상기 차이값을 바탕으로 상기 제1시점의 최종영상프레임을 보정하는 것을 특징으로 하며, 상기 제2시점은 상기 제1시점으로부터 상기 최종영상프레임의 전송주기가 경과된 시점일 수 있다.
또한, 상기 최종영상프레임 생성단계는, 상기 최종영상프레임을 각각의 안구용 영상프레임으로 변환하는 단계; 및 상기 클라이언트의 화면에 부합하는 크기로 상기 최종영상프레임을 변환하는 단계;를 더 포함할 수 있다.
본 발명의 또 다른 일실시예에 따른 가상현실영상 재생방법은, 클라이언트가 서버로부터 제1시점에 상응하는 제1최종영상프레임을 수신하는 단계; 제2시점에 상응하는 제2최종영상프레임이 수신되지 않으면, 상기 제1시점에 상응하는 영상방향데이터와 상기 제2시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계; 상기 산출된 차이값만큼 상기 제1최종영상프레임을 보정하여 미수신된 상기 제2최종영상프레임을 대체하는 제2대체영상프레임을 생성하는 단계; 및 상기 제2대체영상프레임을 화면에 표시하는 단계;를 포함하되, 상기 영상방향데이터는 상기 서버에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터이며, 상기 재생방향데이터는 특정시점에 상기 클라이언트의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터이며, 상기 최종영상프레임은 상기 서버에 의해 상기 영상방향데이터를 메타정보로 포함하는 영상프레임이며, 상기 제2시점은 상기 제1시점으로부터 상기 최종영상프레임의 전송주기가 경과된 시점이다.
또한, 상기 제2대체영상프레임 생성단계는, 상기 차이값을 바탕으로 상기 제1최종영상프레임을 이동 또는 변환시키는 것을 특징으로 할 수 있다.
또한, 상기 재생방향데이터 및 상기 영상방향데이터는 고저각데이터 및 방위각데이터를 포함하며, 상기 차이값 산출단계는 상기 제2시점의 재생방향데이터와 상기 제1시점의 영상방향데이터 사이의 고저각 및 방위각 차이를 산출하는 것을 특징으로 할 수 있다.
또한, 상기 재생방향데이터 및 상기 영상방향데이터는 착용자의 정면방향을 축으로 하는 회전각도인 기울임데이터를 포함하며, 상기 대체영상프레임 생성단계는 상기 제2시점의 재생방향데이터와 상기 제1시점의 영상방향데이터 사이의 상기 기울임데이터 차이를 바탕으로, 상기 제1최종영상프레임을 회전하여 보정하는 단계;를 더 포함할 수 있다.
또한, 제n시점(n은 1보다 큰 자연수)에 상응하는 최종영상프레임이 수신되지 않으면, 상기 제n-1시점에 상응하는 영상방향데이터와 상기 제n시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계; 및 상기 산출된 차이값만큼 상기 제n-1대체영상프레임을 보정하여 제n대체영상프레임을 생성하는 단계;를 더 포함할 수 있다.
본 발명의 또 다른 일실시예에 따른 가상현실영상 전송 또는 재생프로그램은, 하드웨어와 결합되어 상기 언급된 가상현실영상 전송방법 또는 재생방법을 실행하며, 매체에 저장된다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 가상현실 영상프레임을 무선으로 전송함에 따른 특정시점의 영상프레임 누락을 보완할 수 있어서, 사용자는 특정한 영상프레임이 수신되지 않는 경우에도 가상현실 공간의 전체적인 시점이 흔들리지 않고 자연스럽게 영상이 재생될 수 있는 효과가 있다.
둘째, 사용자는 서버컴퓨터가 멀리 떨어져 있는 상태에서도 셀룰러 통신이나 WLAN 통신을 이용하여 어디서나 끊김이 없는 가상현실 영상을 즐길 수 있다.
셋째, 영상프레임이 미수신되는 경우를 보완할 수 있음에 따라 가상현실 영상을 무선으로 전송할 수 있어서, 컴퓨터에 연결된 케이블에 의해 행동이 제한되고 케이블에 걸려서 안전사고가 발생할 수 있는 문제를 해결하는 효과가 있다.
넷째, 서버는 클라이언트에 의해 요청되는 재생방향데이터에 부합하는 전체영상 중 하나의 프레임만 추출하여 전송하거나 재생방향데이터에 부합하는 방향의 프레임만 생성하여 전송하면 되므로, 무선통신의 네트워크 대역폭을 절약할 수 있는 효과가 있다.
다섯째, 동일한 데이터용량으로 모든 방향에 대한 전체영상을 전송하는 것이 아닌 하나의 프레임만 전송하므로, 통신 트래픽을 많이 차지하지 않으면서 고해상도의 영상을 전송할 수 있다. 이를 통해, 클라이언트를 착용하는 사용자는 원거리에서 고해상도의 영상을 시청할 수 있다.
여섯째, 클라이언트는 서버로부터 재생이 요구되는 방향의 영상프레임만을 수신하므로, 원하는 방향을 재생하기 위해 클라이언트가 전체영상 중에서 재생하는 방향의 프레임을 추출하는 과정을 수행할 필요가 없다. 이를 통해, 클라이언트는 높은 사양이 필요하지 않을 수 있다.
도 1은 본 발명의 일실시예에 따른 가상현실영상 송수신 시스템의 구성도이다.
도 2는 본 발명의 일실시예에 따른 가상현실영상 전송방법에 대한 순서도이다.
도 3은 본 발명의 일실시예에 따른 최초전체영상을 기초로 생성된 가상현실영상프레임의 전송방법에 대한 순서도이다.
도 4는 본 발명의 일실시예에 따른 클라이언트의 가상현실영상 재생방법에 대한 순서도이다.
도 5는 제2최종영상프레임이 누락되고 제2대체영상프레임이 제공되지 않을 경우, 클라이언트를 통해 사용자에게 제공되는 영상의 변화를 나타낸 예시도면이다.
도 6은 본 발명의 일실시예에 따라 클라이언트에서 제1시점의 영상방향데이터와 제2시점의 재생방향데이터의 차이값을 바탕으로 생성한 제2대체영상프레임의 예시도면이다.
도 7은 클라이언트가 이동하는 경우 최종영상프레임이 누락된 프레임이 없이 차례대로 제공됨에 따른 물체 위치 변화를 나타낸 예시도면이다.
도 8은 본 발명의 일실시예에 따라 클라이언트의 이동정도를 반영하여 제1최종영상프레임에서 각각의 물체 위치를 보정한 제2대체영상프레임을 제공하는 예시도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 가상현실영상 송수신 시스템에 대해 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 가상현실영상 송수신 시스템의 구성도이다.
본 발명의 일실시예에 따른 가상현실영상 송수신 시스템은, 서버(100); 및 클라이언트(200);를 포함한다.
서버(100)는 가상현실(Virtual Reality; VR) 영상을 생성하는 컴퓨터이다. 서버(100)는 내부에서 정보처리를 수행하여 클라이언트(200)에 제공할 VR영상을 생성하는 기능을 수행한다. 예를 들어, VR영상이 특정한 게임 구동에 따른 영상인 경우, 서버(100)는 게임프로그램을 구동하여 적절한 영상프레임을 생성하여 무선통신을 통해 클라이언트(200)로 전송할 수 있다.
또한, 서버(100)는 생성되는 VR영상에 영상방향데이터를 메타정보로 결합하는 기능을 수행할 수 있다. 상기 영상방향데이터는 서버(100)에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터일 수 있다.
또한, 서버(100)는 클라이언트(200)로부터 재생방향데이터를 수신할 수 있다. 서버(100)는 영상프레임에 결합할 영상방향데이터를 수신한 재생방향데이터로 결정하고, 재생방향데이터(또는 영상방향데이터)에 상응하는 VR영상프레임을 생성할 수 있다.
클라이언트(200)는 가상현실영상에 해당하는 영상프레임(즉, 후술하는 최종영상프레임)을 수신하여 재생하는 장치이다. 즉, 클라이언트(200)는 서버(100)로부터 수신한 VR영상프레임을 재생하여 착용자에게 제공하는 기능을 수행한다. 클라이언트(200)는 VR장치 자체가 해당될 수 있으며, VR장치에 이동단말기가 결합된 형태가 해당될 수도 있다. 예를 들어, VR장치와 이동단말기가 결합되어 클라이언트(200)를 이루는 경우, 이동단말기가 서버(100)로부터 생성된 영상프레임을 수신하고, 이를 연결된 유선케이블 또는 근거리 무선통신을 통해 VR장치로 영상프레임을 전달하여 화면에 표시할 수 있다.
VR장치는 다양한 형태로 구성될 수 있다. 예를 들어, VR장치는 양안에 적합한 각각의 영상을 포함한 영상프레임을 하나의 디스플레이부에 표시하고, 각 안구방향의 어안렌즈에 의해 3차원 영상으로 생성할 수 있다. 또한, 다른 일실시예에서, VR장치는 각각의 안구에 부합하는 영상을 제공하는 2개의 디스플레이부를 구비할 수 있다.
또한, 클라이언트(200)는 재생방향데이터를 측정하는 역할을 수행할 수 있다. 상기 재생방향데이터는 특정시점에 상기 클라이언트(200)의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터일 수 있다. 즉, 착용자가 클라이언트(200)를 안구에 착용하고 바라보는 방향을 측정하고, 이를 재생방향데이터로 결정할 수 있다. 예를 들어, 재생방향데이터는 고저각데이터, 방위각데이터 또는 기울임데이터를 포함할 수 있다. 클라이언트(200)는 하나 이상의 센서(예를 들어, 자이로센서, 가속도센서, 지자기센서 등)을 구비하여, 클라이언트(200)를 착용한 사용자의 머리(또는 고개)의 움직임을 측정하여 고저각데이터, 방위각데이터, 기울임데이터 등을 포함할 수 있다. 또한, 클라이언트(200)는 측정한 재생방향데이터를 서버(100)로 무선통신을 통해 전송하는 기능을 수행할 수 있다.
상기 고저각데이터는 수평면(예를 들어, 지평선)과 클라이언트(200)의 시선방향이 이루는 각을 의미할 수 있다. 즉, 상기 고저각데이터는 사용자 고개의 상하 움직임에 따라 수평면과 이루는 각일 수 있다.
상기 방위각데이터는 방위를 나타내는 각도로, 수평면 상에서 특정한 기준방향을 기준으로 하여 회전한 각도를 의미할 수 있다. 즉, 상기 방위각데이터는 사용자의 몸체(또는 목)을 축으로 하여 회전하는 고개움직임에 의해 변경될 수 있다.
상기 기울임데이터는 사용자의 정면방향을 축으로 하여 고개가 회전하는 각을 의미할 수 있다. 즉, 상기 기울임데이터는 사용자의 좌우로의 고개 움직임 또는 사용자 신체의 전체적인 회전 등에 의해 변경될 수 있다.
또한, 클라이언트(200)는 착용자의 이동을 측정할 수도 있다. 예를 들어, 가상시뮬레이션 훈련 또는 게임을 수행하는 경우, 사용자는 클라이언트(200)를 착용하고 이동하게 되므로, 클라이언트(200)는 측정된 사용자의 이동 정도를 바탕으로 이동한 위치에 부합하는 영상프레임을 서버(100)로 요청할 수 있다. 또한, 클라이언트(200)는, 후술하는 바와 같이, 사용자가 이동한 특정시점의 영상프레임이 미수신되는 경우, 영상프레임 전송주기 사이의 사용자의 이동 정도를 반영하여 영상프레임의 보정을 수행할 수 있다.
또한, 클라이언트(200)는 무선통신으로 영상프레임을 수신하는 경우에 특정한 영상프레임이 수신되지 않으면, 이전에 수신된 영상프레임을 사용자의 움직임에 적합하도록 보정하여 화면 상에 표시할 수 있다. 즉, 클라이언트(200)는 제2시점의 최종영상프레임이 수신되지 않는 경우, 제1시점의 영상방향데이터와 상기 제2시점의 재생방향데이터의 차이값을 산출하여, 상기 차이값을 바탕으로 제1시점의 최종영상프레임을 보정할 수 있다. 상기 제2시점은 상기 제1시점으로부터 상기 최종영상프레임의 전송주기가 경과된 시점일 수 있다.
서버(100)와 클라이언트(200)는 무선통신을 통해 연결될 수 있다. 무선통신방식으로는, Wi-Fi방식, 셀룰러통신 등이 활용될 수 있다. 예를 들어, 서버(100)가 사용자가 위치한 특정한 공간 내(예를 들어, 집 내부, 가상현실 체험공간 내 등)에 배치된 컴퓨터인 경우, 무선 AP(예를 들어, Wi-Fi AP)를 통해 클라이언트(200)와 서버(100) 사이의 통신이 수행될 수 있다. 또한, 예를 들어, 서버(100)가 외부의 원거리에 배치된 컴퓨터인 경우, 원거리의 서버(100)가 셀룰러 통신 또는 LAN통신 등을 통해 클라이언트(200)로 생성된 영상프레임을 전송할 수 있다. 클라이언트(200)는 셀룰러통신을 통해 기지국으로부터 영상프레임을 수신하거나 무선 AP로부터 WLAN을 통해 영상프레임을 수신할 수 있다. 이를 통해, 사용자는, 무선통신이 가능한 클라이언트(200)를 소지하고 있으면, 서버(100) 컴퓨터에 가까운 위치에 있지 않아도 서버(100)로부터 제공되는 VR영상을 수신하여 이용할 수 있다.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 가상현실영상 전송방법, 재생방법 및 프로그램에 대해 설명하기로 한다.
무선통신을 통해 가상현실영상(VR영상)을 전송하는 경우, 무선통신망의 상태가 원활하지 않아 특정한 영상프레임이 누락될 수 있다. 이러한 경우에 착용자는 영상프레임 내의 물체가 흔들리는 것과 같이 느껴 멀미증상이 생길 수도 있다. 이러한 문제를 해결하기 위해서는, 누락된 영상프레임을 대체할 대체영상프레임을 이전 시점에 수신한 영상프레임으로부터 생성하여 사용자에게 제공할 필요가 있다.
기존의 서버(100)와 클라이언트(200)가 케이블을 통해 유선으로 연결되는 방식은 영상을 생성하는 서버(100)컴퓨터에 의해 영상보정까지 수행되므로 별도의 보정을 위한 기준이 필요하지 않지만, 무선통신을 이용하여 서버(100)와 클라이언트(200) 사이에 영상프레임을 전송하는 방식은 서버(100)에 의해 영상프레임이 생성되고 클라이언트(200)에 의해 누락된 특정시점의 영상프레임을 보완하는 것으로 역할이 나누어지므로 영상을 보정하기 위한 기준이 필요하다. 따라서, 이하, 무선통신을 통해 수신되지 않는 영상프레임을 보완하여 사용자가 영상이 흔들리는 등의 불편함을 인지하지 못하도록 하기 위한 서버(100)의 가상현실 영상 생성 및 전송방법과 클라이언트(200)의 가상현실영상 재생방법을 설명한다.
도 2는 본 발명의 일실시예에 따른 가상현실영상 전송방법에 대한 순서도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 가상현실영상 전송방법은, 서버(100)가 최초영상프레임을 생성하는 단계(S120); 상기 최초영상프레임에 상응하는 영상방향데이터를 판단하는 단계(S140); 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성하는 단계(S160); 및 상기 최종영상프레임을 무선통신을 통해 클라이언트(200)로 전송하는 단계(S180);를 포함한다.
서버(100)가 최초영상프레임을 생성한다(S120). 서버(100)는 내부에 설치된 프로그램을 구동하여 최초영상프레임을 생성할 수 있다. 상기 최초영상프레임은 클라이언트(200)로 송신된 후 특정 영상프레임의 미수신 시 보완을 위한 정보처리가 수행되지 않은 영상프레임을 의미한다. 예를 들어, 서버(100)가 게임 프로그램을 구동하여 게임 영상프레임을 생성할 수 있다.
서버(100)는 상기 최초영상프레임에 상응하는 영상방향데이터를 판단한다(S140). 상기 영상방향데이터는 상기 서버(100)에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터이다. 서버(100)에 의해 영상이 생성되기 전에 영상방향데이터를 결정(예를 들어, 특정방향의 영상 제공이 요청됨에 따라 생성할 영상방향이 정해진 후 대응되는 최초영상프레임을 생성)될 수 있고, 영상프레임을 생성한 후 대응되는 영상방향데이터를 결정할 수도 있다.
서버(100)는 최초영상프레임에 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성한다(S160). 그 후, 서버(100)는 최종영상프레임을 무선통신을 통해 클라이언트(200)로 전송한다(S180). 즉, 서버(100)는, 클라이언트(200)가 영상프레임에 대응되는 방향을 판단하거나 다음 전송시점(즉, 제2시점)의 영상프레임이 미수신되는 경우에 이전 시점(즉, 제1시점)의 영상프레임 보정을 통해 보완할 수 있도록, 최초영상프레임에 영상방향데이터를 결합한 최종영상프레임을 클라이언트(200)로 전송할 수 있다.
클라이언트(200)는 서버(100)로부터 제2시점의 최종영상프레임이 통신 상태 불량 등에 의해 수신되지 않는 경우, 제1시점의 영상방향데이터와 상기 제2시점의 재생방향데이터의 차이값을 산출하여, 상기 차이값을 바탕으로 상기 제1시점의 최종영상프레임을 보정할 수 있다. 상기 제2시점은 상기 제1시점으로부터 상기 최종영상프레임의 전송주기가 경과된 시점일 수 있다.
또한, 상기 클라이언트(200)로부터 재생방향데이터를 수신하는 단계(S110);를 더 포함할 수 있다. 예를 들어, 착용자가 클라이언트(200)를 착용하고 움직이면, 클라이언트(200)는 특정시점에 화면을 통해 사용자에게 제공되어야 할 영상프레임 방향에 관한 데이터(예를 들어, 사용자의 고개움직임에 관한 데이터)를 획득하여 서버(100)로 전송할 수 있다. 클라이언트(200)에 의해 측정되는 데이터를 재생방향데이터라고 하며, 서버(100)는 영상방향데이터 판단단계(S120)에서 클라이언트(200)로부터 수신한 재생방향데이터를 바탕으로 영상방향데이터를 결정할 수 있다. 즉, 서버(100)는 클라이언트(200)로부터 수신된 재생방향데이터와 일치하는 방향을 영상을 생성할 방향으로 결정할 수 있다. 따라서, 서버(100)는 클라이언트(200)로부터 수신된 재생방향데이터를 영상방향데이터로 설정하고(S120), 설정된 영상방향데이터에 부합하는 최초영상프레임(S100)을 생성할 수 있다.
또한, 상기 최종영상프레임 생성단계(S140)는, 상기 최종영상프레임을 각각의 안구용 영상프레임으로 변환하는 단계;를 더 포함할 수 있다. 3차원 영상이 제공되기 위해서는 좌안용 영상과 우안용 영상에 차이가 필요할 수 있다. 따라서, 서버(100)는 클라이언트(200)로 전송할 최종영상프레임을 좌안용 최종영상프레임 및 우안용 최종영상프레임으로 각각 생성할 수 있다.
또한, 상기 최종영상프레임 생성단계(S140)는, 상기 클라이언트(200)의 화면에 부합하는 크기로 상기 최종영상프레임을 변환하는 단계;를 더 포함할 수 있다. 즉, 서버(100)는 클라이언트(200)가 최종영상프레임을 수신하여 바로 재생할 수 있도록, 클라이언트(200) 화면 크기에 부합하도록 영상프레임의 크기를 변환할 수 있다. 이를 통해, 서버(100)에 비해 정보처리를 위한 사양이 낮은 클라이언트(200)에서 화면 크기에 부합하도록 변환하는 과정에서 발생할 수 있는 시간지연(delay)을 최소화할 수 있다.
도 3은 본 발명의 일실시예에 따른 최초전체영상을 기초로 생성된 가상현실영상프레임의 전송방법에 대한 순서도이다.
본 발명의 다른 일실시예에 따른 가상현실영상 전송방법은, 서버(100)가 특정시점의 최초전체영상을 생성하는 단계(S100); 상기 클라이언트(200)로부터 재생방향데이터를 수신하는 단계(S110); 상기 최초전체영상에서 상기 재생방향데이터에 상응하는 최초영상프레임을 추출하는 단계(S121); 상기 재생방향데이터를 영상방향데이터로 결정하는 단계(S141); 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성하는 단계(S160); 및 상기 최종영상프레임을 무선통신을 통해 클라이언트(200)로 전송하는 단계(S180);를 포함한다. 이하, 기 설명된 단계에 대한 구체적인 설명은 생략한다.
서버(100)가 특정시점의 최초전체영상을 획득한다(S100). 상기 최초전체영상은 사용자의 시선이 향하는 모든 방향의 영상프레임을 포함하는 영상을 의미할 수 있다. 즉, 서버(100)는 내부의 특정한 프로그램을 구동하여 특정시점의 전체영상을 생성할 수 있고, 미리 생성된 일정시간의 전체영상(예를 들어, 360도 카메라에 의해 일정시간동안 촬영된 영상) 중에서 특정시점의 전체영상을 추출할 수 있다.
서버(100)가 클라이언트(200)로부터 재생방향데이터를 수신한다(S110).
서버(100)가 상기 최초전체영상에서 상기 재생방향데이터에 상응하는 최초영상프레임을 추출한다(S121). 즉, 서버(100)는 클라이언트(200)로부터 수신된 재생방향데이터를 통해 영상프레임이 요청되는 방향을 판단하고, 최초전체영상에서 상기 재생방향데이터에 상응하는 최초영상프레임을 추출할 수 있다.
서버(100)는 상기 재생방향데이터를 영상방향데이터로 결정한다(S141). 즉, 서버(100)는, 추출된 최초영상프레임이 상기 재생방향데이터에 대응되는 방향의 영상프레임이므로, 클라이언트(200)로부터 수신된 재생방향데이터를 상기 추출된 최초영상프레임의 영상방향데이터로 설정될 수 있다.
서버(100)가 상기 최초영상프레임에 상기 영상방향데이터를 메타정보로 결합하여 최종영상프레임을 생성한다(S160). 서버(100)가 상기 최종영상프레임을 무선통신을 통해 클라이언트(200)로 전송한다(S180).
도 4는 본 발명의 일실시예에 따른 클라이언트(200)의 가상현실영상 재생방법에 대한 순서도이다.
본 발명의 또 다른 일실시예에 따른 가상현실영상 재생방법은, 클라이언트(200)가 서버(100)로부터 제1시점에 상응하는 제1최종영상프레임을 수신하는 단계(S200); 제2시점에 상응하는 제2최종영상프레임이 수신되지 않으면, 상기 제1시점에 상응하는 영상방향데이터와 상기 제2시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계(S220); 상기 산출된 차이값만큼 상기 제1최종영상프레임을 보정하여 미수신된 상기 제2최종영상프레임을 대체하는 제2대체영상프레임을 생성하는 단계(S240); 및 상기 제2대체영상프레임을 화면에 표시하는 단계(S260);를 포함한다.
클라이언트(200)가 서버(100)로부터 제1시점에 상응하는 제1최종영상프레임을 수신한다(S200). 즉, 클라이언트(200)는 서버(100)로부터 영상방향데이터가 메타정보로 결합된 제1최종영상프레임을 무선통신을 통해 수신할 수 있다. 상기 영상방향데이터는 상기 서버(100)에 의해 획득된 영상프레임의 3차원 공간상의 방향에 관한 데이터이며, 상기 최종영상프레임은 상기 서버(100)에 의해 상기 영상방향데이터를 메타정보로 포함하는 영상프레임일 수 있다.
클라이언트(200)는, 제2시점에 상응하는 제2최종영상프레임이 수신되지 않으면, 상기 제1시점에 상응하는 영상방향데이터와 상기 제2시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출한다(S220). 상기 제2시점은, 상기 제1시점으로부터 상기 최종영상프레임의 전송주기가 경과된 시점일 수 있다. 클라이언트(200)는 제1시점에 대응하는 제1최종영상프레임을 수신하여 표시한 후에 최종영상프레임의 전송주기가 경과된 후 제2시점에 통신상태의 불량 등의 이유로 제2최종영상프레임을 수신하지 못할 수 있다. 이러한 경우, 사용자는 제2시점에서 기대되는 제2최종영상프레임 대신에 제1최종영상프레임을 계속 표시됨에 따라 제2시점의 재생방향데이터와 제1최종영상프레임의 영상방향데이터 사이의 차이만큼 물체가 흔들리는 현상이 발생할 수 있다. 즉, 제2시점에 제1시점에 상응하는 제1최종영상프레임을 계속 표시한 후에 제3시점(즉, 제2시점으로부터 최종영상프레임의 전송주기가 경과된 시점)에 새로운 최종영상프레임(즉, 제3최종영상프레임)이 수신되면, 도 5에서와 같이, 사용자는 제1최종영상프레임에서 제3최종영상프레임으로 바로 변경됨에 따라 제2시점에 상응하는 물체의 위치를 건너뛰고 제1시점의 물체 위치에서 제3시점의 물체 위치로 이동함에 따라 부자연스럽게 물체가 움직이거나 흔들리는 것과 같은 현상을 느낄 수 있다. 이러한 현상이 계속적으로 발생하게 되면, 사용자는 멀미 현상을 느낄 수 있다. 이를 해결하기 위해, 클라이언트(200)는 누락된 제2최종영상프레임을 대체할 영상프레임을 생성할 필요가 있다. 따라서 클라이언트(200)는 제1시점에 수신된 제1최종영상프레임을 수정하여 제2시점의 영상프레임(즉, 제2대체영상프레임)으로 생성할 수 있다.
클라이언트(200)는 제1최종영상프레임을 제2시점에 부합하는 영상프레임으로 변환하기 위해 보정 수준을 결정할 필요가 있다. 이를 위해, 클라이언트(200)는 상기 제1시점에 상응하는 영상방향데이터와 상기 제2시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출할 수 있다. 재생방향데이터는 특정시점에 상기 클라이언트(200)의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터일 수 있다. 재생방향데이터는 VR장치 내에 구비된 센서(예를 들어, 자이로센서, 지자기센서, 가속도센서 등)를 통해 측정될 수 있다. 예를 들어, 클라이언트(200)는 서버(100)로부터 재생방향데이터에 대응하는 영상방향데이터를 포함하는 영상프레임을 수신하여 사용자에게 제공하는 경우, 클라이언트(200)는 영상프레임이 제공되어야 하는 방향에 해당하는 제2재생방향데이터와 제1최종영상프레임의 방향에 해당하는 제1영상방향데이터의 차이를 계산하여, 제1최종영상프레임을 보정하여야 하는 값으로 산출할 수 있다.
상기 재생방향데이터 및 상기 영상방향데이터는 고저각데이터 및 방위각데이터를 포함할 수 있다. 클라이언트(200)는 제2시점의 재생방향데이터와 제1시점의 영상방향데이터 사이의 고저각 및 방위각 차이를 산출할 수 있다.
또한, 상기 재생방향데이터 및 상기 영상방향데이터는 착용자의 정면방향을 축으로 하는 회전각도인 기울임데이터를 포함할 수 있다. 클라이언트(200)는 제2시점의 재생방향데이터와 제1시점의 영상방향데이터 사이의 기울임데이터 차이를 산출할 수 있다.
클라이언트(200)는 상기 산출된 차이값만큼 상기 제1최종영상프레임을 보정하여 미수신된 상기 제2최종영상프레임을 대체하는 제2대체영상프레임을 생성한다(S240). 일실시예로, 클라이언트(200)는 상기 차이값을 바탕으로 상기 제1최종영상프레임을 이동할 수 있다. 즉, 클라이언트(200)는 고저각의 차이값만큼 제1최종영상프레임을 수직방향으로 이동시킬 수 있고, 방위각의 차이값만큼 제1최종영상프레임을 수평방향으로 이동시킬 수 있다. 또한, 클라이언트(200)는 기울임데이터의 차이값만큼 제1최종영상프레임을 회전할 수 있다. 사용자의 정면방향을 축으로 특정한 방향으로 고개를 기울이면 사용자에게 보이는 물체는 회전하므로, 제1시점의 영상방향데이터와 제2시점의 재생방향데이터간의 기울임데이터의 차이값만큼 제1최종영상프레임을 회전할 수 있다.
클라이언트(200)가 제1최종영상프레임을 상기 차이값에 따라 보정하는 경우, 사용자에게 제공될 제2대체영상프레임 상에는, 도 6에서와 같이, 공백영역이 발생하게 된다. 상기 공백영역은 흑백으로 처리되거나, 착용자가 시각적으로 최소로 인지하도록 유사한 색상의 조합으로 처리될 수도 있다.
클라이언트(200)는 상기 제2대체영상프레임을 화면에 표시한다(S260). 즉, 클라이언트(200)는 제2시점에 누락된 제2최종영상프레임을 대신하여 제1최종영상프레임을 보정한 제2대체영상프레임을 화면에 표시할 수 있다.
또한, 사용자가 클라이언트(200)를 착용하고 이동하는 경우, 클라이언트(200)는 사용자의 이동정도(예를 들어, 이동거리 및 이동방향, 이동한 걸음 수 등)를 파악하여, 제2시점의 최종영상프레임이 수신되지 않는 경우, 사용자의 이동정도에 부합하도록 제1최종영상프레임을 보정할 수 있다. 일실시예로, 사용자가 이동하는 경우에 물체들은 사용자로부터 떨어진 거리에 따라서 위치변화 정도에 차이가 있다. 도 7에서와 같이, 가까이 위치하는 물체는 사용자의 이동에 따라 큰 폭으로 이동하고, 멀리 위치하는 물체는 사용자의 이동에 따라 가까이 위치한 물체에 비해 작은 폭으로 이동하게 된다. 따라서, 가상현실 영상에서도 이러한 원근에 따른 물체 이동 폭의 차이를 반영하여야 사용자에게 높은 현실감을 제공할 수 있다. 이를 위해, 서버가 복수의 물체(즉, 영상프레임 내에서 각 픽셀의 집합으로 표현된 물체)가 클라이언트로부터 각각 떨어진 거리정보(이하, 깊이정보)를 메타정보로 포함하여 최종영상프레임을 생성하여 전송할 수 있다. 제2시점의 제2최총영상프레임이 누락되는 경우, 클라이언트는 포함된 하나 이상의 센서(예를 들어, 자이로센서, 가속도센서, 지자기센서 등)를 이용하여 사용자의 이동정도를 산출하고, 제1최종영상프레임 내의 각각의 물체에 각 물체의 깊이정보를 반영하여 제2대체영상프레임을 생성할 수 있다. 즉, 도 8에서와 같이, 클라이언트는 제1시점과 제2시점의 클라이언트 위치(즉, 클라이언트를 착용한 사용자의 위치) 차이에 따라 제1최종영상프레임 내 복수의 물체에 상응하는 픽셀 별로 보정을 수행하여 제2대체영상프레임을 생성할 수 있다. 또한, 추가적으로, 클라이언트는 물체가 배치된 거리에 따른 물체 이동 폭의 차이를 반영하여 픽셀 단위의 물체 보정을 수행한 후, 기존에 제1최종영상프레임에서 물체가 배치되어 있던 영역을 보상하는 작업을 수행할 수 있다. 클라이언트는 주변의 색상을 반영하여 특정한 색상 조합으로 기존의 물체 배치 공간을 채울 수 있다.
또한, 다른 일실시예로, 물체의 이동 폭이 상이한 경우, 클라이언트는 가장 큰 크기의 물체의 배치 위치에 맞게 영상프레임을 이동시킨 후, 나머지 물체들을 픽셀 단위로 조절할 수 있다. 이를 통해, 최대 크기의 물체에 대해서는 픽셀 단위 작업을 수행하지 않으므로, 제2대체영상프레임 내에 픽셀단위 이동에 따라 생성되는 빈 공간이 최소화될 수 있다. 또한, 다른 일실시예로, 클라이언트를 착용한 사용자가 전방 또는 후방으로만 이동하는 경우, 클라이언트는 제1최종영상프레임을 확대 또는 축소하여 누락된 제2최종영상프레임을 대체하는 제2대체영상프레임을 생성할 수 있다.
또한, 제n시점(n은 1보다 큰 자연수)에 상응하는 최종영상프레임이 수신되지 않으면, 상기 제n-1시점에 상응하는 영상방향데이터와 상기 제n시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계; 및 상기 산출된 차이값만큼 상기 제n-1대체영상프레임을 보정하여 제n대체영상프레임을 생성하는 단계;를 더 포함할 수 있다. 즉, 제2시점에 제2최종영상프레임이 수신되지 않아 제2대체영상프레임이 제공된 후에 제3시점에 제3최종영상프레임이 수신되면, 사용자는 영상 내의 물체가 원활하게 이동하는 것으로 지각할 수 있다. 그러나 제2시점 이후에도 영상프레임이 연속적으로 수신되지 않는 경우, 클라이언트(200)는 이전에 생성된 대체영상프레임(예를 들어, 제2대체영상프레임 또는 제n-1대체영상프레임)을 바탕으로 다음 대체영상프레임(예를 들어, 제3대체영상프레임 또는 제n대체영상프레임)을 생성할 필요가 있다. 클라이언트(200)는 제n-1시점의 제n-1대체영상프레임 내의 영상방향데이터(또는 제n-1시점에 측정된 재생방향데이터)와 제n시점에 측정된 재생방향데이터를 비교하여 차이값을 산출하고, 산출된 차이값만큼 제n-1대체영상프레임을 보정(예를 들어, 이동 또는 변환)하여 제n대체영상프레임을 생성할 수 있다. 이를 통해, 클라이언트(200)는 통신상태 불량에 의해 연속적으로 서버(100)로부터 최종영상프레임이 수신되지 않는 경우에도 자연스러운 가상현실 영상을 사용자에게 제공할 수 있다.
이상에서 전술한 본 발명의 일 실시예에 따른 가상현실영상 전송방법 및 가상현실영상 보정방법은, 하드웨어인 서버(100) 또는 클라이언트(200)와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
첫째, 가상현실 영상프레임을 무선으로 전송함에 따른 특정시점의 영상프레임 누락을 보완할 수 있어서, 사용자는 특정한 영상프레임이 수신되지 않는 경우에도 가상현실 공간의 전체적인 시점이 흔들리지 않고 자연스럽게 유지될 수 있는 효과가 있다.
둘째, 사용자는 서버컴퓨터가 멀리 떨어져 있는 상태에서도 셀룰러 통신이나 WLAN 통신을 이용하여 어디서나 끊김이 없는 가상현실 영상을 즐길 수 있다.
셋째, 영상프레임이 미수신되는 경우를 보완할 수 있음에 따라 가상현실 영상을 무선으로 전송할 수 있어서, 컴퓨터에 연결된 케이블에 의해 행동이 제한되고 케이블에 걸려서 안전사고가 발생할 수 있는 문제를 해결하는 효과가 있다.
넷째, 서버는 클라이언트에 의해 요청되는 재생방향데이터에 부합하는 전체영상 중 하나의 프레임만 추출하여 전송하거나 재생방향데이터에 부합하는 방향의 프레임만 생성하여 전송하면 되므로, 무선통신의 네트워크 대역폭을 절약할 수 있는 효과가 있다.
다섯째, 동일한 데이터용량으로 모든 방향에 대한 전체영상을 전송하는 것이 아닌 하나의 프레임만 전송하므로, 통신 트래픽을 많이 차지하지 않으면서 고해상도의 영상을 전송할 수 있다. 이를 통해, 클라이언트를 착용하는 사용자는 원거리에서 고해상도의 영상을 시청할 수 있다.
여섯째, 클라이언트는 서버로부터 재생이 요구되는 방향의 영상프레임만을 수신하므로, 원하는 방향을 재생하기 위해 클라이언트가 전체영상 중에서 재생하는 방향의 프레임을 추출하는 과정을 수행할 필요가 없다. 이를 통해, 클라이언트는 높은 사양이 필요하지 않을 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100 : 서버 200 : 클라이언트

Claims (12)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 클라이언트가 서버로부터 제1시점에 상응하는 제1최종영상프레임을 수신하는 단계;
    제2시점에 상응하는 제2최종영상프레임이 수신되지 않으면, 상기 제1시점에 상응하는 영상방향데이터와 상기 제2시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계;
    상기 산출된 차이값만큼 상기 제1최종영상프레임을 보정하여 미수신된 상기 제2최종영상프레임을 대체하는 제2대체영상프레임을 생성하는 제2대체영상프레임 생성단계; 및
    상기 제2대체영상프레임을 화면에 표시하는 단계;를 포함하되,
    상기 영상방향데이터는,
    상기 서버에 의해 생성된 영상프레임의 3차원 공간상의 방향에 관한 데이터이며,
    상기 재생방향데이터는,
    특정시점에 상기 클라이언트의 화면상에 재생되어야 하는 영상프레임의 방향에 관한 데이터이며,
    상기 제1최종영상프레임 및 제2최종영상프레임은,
    상기 서버에 의해 상기 영상방향데이터를 메타정보로 포함하는 영상프레임이며,
    상기 제2시점은,
    상기 제1시점으로부터 최종영상프레임의 전송주기가 경과된 시점이며,
    상기 제2대체영상프레임 생성단계는,
    상기 차이값을 바탕으로 상기 제1최종영상프레임을 이동 또는 변환시키는 것을 특징으로 하는, 가상현실영상 재생방법.
  9. 제8항에 있어서,
    상기 재생방향데이터 및 상기 영상방향데이터는,
    고저각데이터 및 방위각데이터를 포함하며,
    상기 차이값 산출단계는,
    상기 제2시점의 재생방향데이터와 상기 제1시점의 영상방향데이터 사이의 고저각 및 방위각 차이를 산출하는 것을 특징으로 하는, 가상현실영상 재생방법.
  10. 제8항에 있어서,
    상기 재생방향데이터 및 상기 영상방향데이터는,
    착용자의 정면방향을 축으로 하는 회전각도인 기울임데이터를 포함하며,
    상기 제2대체영상프레임 생성단계는,
    상기 제2시점의 재생방향데이터와 상기 제1시점의 영상방향데이터 사이의 상기 기울임데이터 차이를 바탕으로, 상기 제1최종영상프레임을 회전하여 보정하는 단계;를 더 포함하는, 가상현실영상 재생방법.
  11. 제8항에 있어서,
    제n시점(n은 2보다 큰 자연수)에 상응하는 최종영상프레임이 수신되지 않으면, 제n-1시점에 상응하는 영상방향데이터와 상기 제n시점에 상응하는 재생방향데이터를 비교하여 차이값을 산출하는 단계; 및
    상기 산출된 차이값만큼 제n-1대체영상프레임을 보정하여 제n대체영상프레임을 생성하는 단계;를 더 포함하되,
    상기 제n시점은,
    제n번째의 최종영상프레임이 수신되는 시점으로, 상기 제n-1시점으로부터 최종영상프레임의 전송주기가 경과된 시점인, 가상현실영상 재생방법.
  12. 하드웨어인 컴퓨터와 결합되어, 제8항 내지 제11항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 가상현실영상 재생프로그램.
KR1020150127171A 2015-09-08 2015-09-08 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램 KR101716326B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020150127171A KR101716326B1 (ko) 2015-09-08 2015-09-08 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
EP16844615.1A EP3349442A4 (en) 2015-09-08 2016-08-29 Virtual reality image transmission method, image reproduction method, and program using same
PCT/KR2016/009588 WO2017043795A1 (ko) 2015-09-08 2016-08-29 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
JP2018531276A JP6731482B2 (ja) 2015-09-08 2016-08-29 仮想現実映像伝送方法、再生方法、及びこれらを用いたプログラム
CN201610803452.2A CN106507128A (zh) 2015-09-08 2016-09-05 虚拟现实影像传输方法、播放方法及利用此方法的程序
TW105128999A TWI653551B (zh) 2015-09-08 2016-09-07 虛擬實境影像傳輸方法、播放方法及利用其的程式
US15/908,924 US10970931B2 (en) 2015-09-08 2018-03-01 Method for transmitting virtual reality image created based on image direction data, and computer readable medium storing program using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150127171A KR101716326B1 (ko) 2015-09-08 2015-09-08 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170028073A Division KR101788545B1 (ko) 2017-03-06 2017-03-06 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램

Publications (1)

Publication Number Publication Date
KR101716326B1 true KR101716326B1 (ko) 2017-03-14

Family

ID=58240264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150127171A KR101716326B1 (ko) 2015-09-08 2015-09-08 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램

Country Status (7)

Country Link
US (1) US10970931B2 (ko)
EP (1) EP3349442A4 (ko)
JP (1) JP6731482B2 (ko)
KR (1) KR101716326B1 (ko)
CN (1) CN106507128A (ko)
TW (1) TWI653551B (ko)
WO (1) WO2017043795A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10839563B2 (en) 2017-12-20 2020-11-17 Samsung Electronics Co., Ltd. Method and apparatus for processing image interaction
JP2020535542A (ja) * 2017-09-29 2020-12-03 クリックト インコーポレイテッドClicked Inc. 仮想現実画像の提供方法及びこれを用いたプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102374404B1 (ko) * 2017-07-25 2022-03-15 삼성전자주식회사 콘텐트를 제공하기 위한 디바이스 및 방법
KR102022980B1 (ko) * 2017-12-01 2019-09-19 클릭트 주식회사 깊이데이터를 이용한 증강현실영상 제공방법 및 프로그램
JP7091073B2 (ja) * 2018-01-05 2022-06-27 キヤノン株式会社 電子機器及びその制御方法
CN109298779B (zh) * 2018-08-10 2021-10-12 济南奥维信息科技有限公司济宁分公司 基于虚拟代理交互的虚拟训练***与方法
KR20220084842A (ko) * 2020-12-14 2022-06-21 삼성전자주식회사 증강 현실 콘텐츠를 디스플레이하는 전자 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048597A (ja) * 2010-08-30 2012-03-08 Univ Of Tokyo 複合現実感表示システム、画像提供画像提供サーバ、表示装置及び表示プログラム
KR20140010616A (ko) * 2012-07-16 2014-01-27 한국전자통신연구원 3d 가상 객체에 대한 조작 처리 장치 및 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001076168A (ja) * 1999-09-02 2001-03-23 Ntt Docomo Inc 情報端末装置、データベースサーバ装置、画像表示システムおよびそれらの制御方法
JP2005217536A (ja) * 2004-01-27 2005-08-11 Sony Corp 映像配信システム
US9480919B2 (en) * 2008-10-24 2016-11-01 Excalibur Ip, Llc Reconfiguring reality using a reality overlay device
KR101060998B1 (ko) * 2009-03-26 2011-08-31 서울대학교산학협력단 사용자 위치 기반 네트워킹 가상공간 시뮬레이터 시스템
US8872888B2 (en) * 2010-10-01 2014-10-28 Sony Corporation Content transmission apparatus, content transmission method, content reproduction apparatus, content reproduction method, program and content delivery system
US20130249947A1 (en) * 2011-08-26 2013-09-26 Reincloud Corporation Communication using augmented reality
TWI490628B (zh) 2011-09-23 2015-07-01 Nat Inst Chung Shan Science & Technology Virtual reality video control method
KR20140066258A (ko) * 2011-09-26 2014-05-30 마이크로소프트 코포레이션 투시 근안 디스플레이에 대한 센서 입력에 기초한 비디오 디스플레이 수정
EP2860606B1 (en) * 2012-06-12 2018-01-10 Sony Corporation Information processing device, information processing method, and program for an augmented reality display
JP2014165841A (ja) * 2013-02-27 2014-09-08 Brother Ind Ltd 情報処理装置及び情報処理方法
JP6160154B2 (ja) * 2013-03-22 2017-07-12 セイコーエプソン株式会社 頭部装着型表示装置を利用した情報表示システム、頭部装着型表示装置を利用した情報表示方法、および、頭部装着型表示装置
GB201305402D0 (en) * 2013-03-25 2013-05-08 Sony Comp Entertainment Europe Head mountable display
US9451162B2 (en) * 2013-08-21 2016-09-20 Jaunt Inc. Camera array including camera modules
US10356219B2 (en) * 2014-02-17 2019-07-16 Sony Interactive Entertainment Inc. Image transmission apparatus, information processing terminal, image transmission method, information processing method, program, and information storage medium
GB2523555B (en) * 2014-02-26 2020-03-25 Sony Interactive Entertainment Europe Ltd Image encoding and display
GB2523740B (en) * 2014-02-26 2020-10-14 Sony Interactive Entertainment Inc Image encoding and display
CN104281260A (zh) * 2014-06-08 2015-01-14 朱金彪 操作虚拟世界里的电脑和手机的方法、装置以及使用其的眼镜
US20150379772A1 (en) * 2014-06-30 2015-12-31 Samsung Display Co., Ltd. Tracking accelerator for virtual and augmented reality displays
US9824498B2 (en) * 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality
US9756375B2 (en) * 2015-01-22 2017-09-05 Microsoft Technology Licensing, Llc Predictive server-side rendering of scenes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048597A (ja) * 2010-08-30 2012-03-08 Univ Of Tokyo 複合現実感表示システム、画像提供画像提供サーバ、表示装置及び表示プログラム
KR20140010616A (ko) * 2012-07-16 2014-01-27 한국전자통신연구원 3d 가상 객체에 대한 조작 처리 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020535542A (ja) * 2017-09-29 2020-12-03 クリックト インコーポレイテッドClicked Inc. 仮想現実画像の提供方法及びこれを用いたプログラム
JP7026213B2 (ja) 2017-09-29 2022-02-25 クリックト インコーポレイテッド 仮想現実画像の提供方法及びこれを用いたプログラム
US10839563B2 (en) 2017-12-20 2020-11-17 Samsung Electronics Co., Ltd. Method and apparatus for processing image interaction

Also Published As

Publication number Publication date
US10970931B2 (en) 2021-04-06
JP2018533317A (ja) 2018-11-08
JP6731482B2 (ja) 2020-07-29
TW201729043A (zh) 2017-08-16
EP3349442A1 (en) 2018-07-18
CN106507128A (zh) 2017-03-15
EP3349442A4 (en) 2018-11-07
TWI653551B (zh) 2019-03-11
US20180190036A1 (en) 2018-07-05
WO2017043795A1 (ko) 2017-03-16

Similar Documents

Publication Publication Date Title
KR101716326B1 (ko) 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
CN107735152B (zh) 用于虚拟现实(vr)观看的扩展视野重新渲染
JP6511386B2 (ja) 情報処理装置および画像生成方法
KR101788545B1 (ko) 가상현실영상 전송방법, 재생방법 및 이를 이용한 프로그램
KR101874111B1 (ko) 가상현실영상 재생방법 및 이를 이용한 프로그램
US11187895B2 (en) Content generation apparatus and method
US11127208B2 (en) Method for providing virtual reality image and program using same
KR102192153B1 (ko) 가상현실 영상 제공 방법 및 이를 이용한 프로그램
KR102179810B1 (ko) 가상현실영상 재생방법 및 이를 이용한 프로그램

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200309

Year of fee payment: 4