KR20180030393A - 가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템 - Google Patents

가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR20180030393A
KR20180030393A KR1020170117431A KR20170117431A KR20180030393A KR 20180030393 A KR20180030393 A KR 20180030393A KR 1020170117431 A KR1020170117431 A KR 1020170117431A KR 20170117431 A KR20170117431 A KR 20170117431A KR 20180030393 A KR20180030393 A KR 20180030393A
Authority
KR
South Korea
Prior art keywords
viewport
terminal
information
video data
sharing
Prior art date
Application number
KR1020170117431A
Other languages
English (en)
Other versions
KR102375307B1 (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 삼성전자주식회사
Publication of KR20180030393A publication Critical patent/KR20180030393A/ko
Application granted granted Critical
Publication of KR102375307B1 publication Critical patent/KR102375307B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • H04N13/0059
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • H04N13/0014
    • H04N13/0062
    • 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/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • 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/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시는 가상 현실(Virtual Reality, VR) 뷰포트를 공유하기 위한 방법, 장치, 및 시스템을 개시한다. 상기 방법은 컨텐츠 배포 서버에 의해서, 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립함으로써 파노라믹 비디오 데이터를 상기 단말 및 상기 뷰포트 공유 서버에 멀티캐스팅하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 제 1 전송 연결을 통해 상기 파노라믹 비디오 데이터를 수신하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 단말에 대한 제 2 전송 연결을 확립함으로써 상기 단말에 의해 제공되는 뷰포트 정보를 수신하거나 상기 단말에게 뷰포트 정보를 송신하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 수신된 뷰포트 정보를 렌더링하는 과정; 상기 단말에 의해서, 상기 제 1 전송 연결을 통해 상기 파노라믹 비디오 데이터를 수신하는 과정; 상기 단말에 의해서, 상기 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하는 과정; 상기 단말에 의해서, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하는 과정; 상기 단말에 의해서, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 상기 단말에 의해서, 상기 파노라믹 비디오 데이터를, 상기 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하는 과정; 및 상기 단말에 의해서, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 포함한다. 그 결과, 사용자에게 제공되는 정보량이 증가된다.

Description

가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템{METHOD, APPARATUS, AND SYSTEM FOR SHARING VIRTUAL REALITY VIEWPORT}
본 개시는 일반적으로 전자 장치들 간의 통신 분야, 특히 가상 현실 장치들 간의 통신 분야에 관한 것이며, 보다 구체적으로는 가상 현실 뷰포트(viewport)를 공유하기 위한 방법, 장치 및 시스템에 관한 것이다.
가상 현실(Virtual Reality, VR) 기술의 발전에 따라, 파노라믹 비디오 및 관련 기술이 각광을 받고 있다. 파노라믹 비디오(360° 파노라믹 비디오라고도 함, panoramic video)는 일련의 파노라믹 이미지(a series of panoramic images)로 구성된다. 촬영 장치의 한계로 인하여 복수의 시점들에서 이미지들을 동시에 촬영하기 위해서는 복수의 카메라가 필요하며, 그 후에 이러한 상이한 시점(viewpoint)들에서 동시(same time)에 촬영된 이미지들이 스티칭 알고리즘(stitching algorithm)을 통해 함께 스티칭됨으로써 파노라믹 이미지를 획득하게 된다.
뷰포트(viewport)는 사용자 단말에서 보는 관점을 의미할 수 있다. 뷰포트는 통상 컴퓨터 그래픽에서, 사용자의 시야에 보이는 다각형 영역을 의미한다. 다만, 영역의 형태는 다각형에 한정하는 것은 아니다. VR 기기의 뷰포트는 렌더링 과정에서 변환한 화상을 실제로 표시하는 디스플레이 영역을 의미할 수 있다. 뷰포트 정보는 파노라마 비디오 데이터를 렌더링하여 VR 기기의 뷰포트에 디스플레이할 영상을 생성하기 위한 정보일 수 있다. 뷰포트 정보는 줄여서 뷰포트라 일컫을 수 있다. 사용자 단말이 사용자 뷰포트에서 볼 수 있는 영역의 이미지를 사용자에게 제공할 경우, 360° 이미지가 파노라믹 비디오로 디스플레이되어 이미지의 모든 라인들이 다소 왜곡되기 때문에, 이 이미지를 바로 디스플레이할 수는 없다. 따라서, 사용자 뷰포트에서 볼 수 있는 영역의 이미지를 얻기 위해서는, 3차원 좌표를 2차원 좌표로 변환하기 위해, 서로 다른 좌표 변환 공식들이 서로 다른 투영법들에 따라 선택될 필요가 있다. 이러한 방식으로, 사용자 뷰포트에서 볼 수 있는 영역의 이미지가 디스플레이될 수 있다. 사용자가 서로 다른 시점들 및 위치들에서 파노라믹 비디오를 볼 수 있게 되기 때문에, 서로 다른 사용자들이 동일한 가상 장면에 대해 서로 다른 뷰포트들을 가질 수 있다.
그러나, 지금까지, 사용자에게 디스플레이되는 이미지는 사용자 뷰포트에서 볼 수 있는 영역의 이미지만을 포함한다. 즉, 사용자가 이용할 수 있는 정보량은 상대적으로 작다. 결과적으로, 사용자와 다른 사용자들 또는 관리자 간에 교환될 수 있는 정보량은 상대적으로 작다.
본 개시는 VR 콘텐트 및 뷰포트를 송수신하는 방법 및 장치를 제안한다.
또한, 본 개시는 송신측에서 VR 콘텐트를 구성하는 영상들을 왜곡 없이 렌더링하기 위한 정보들을 구성하여 이를 시그널링하는 방법 및 장치를 제안한다.
또한, 본 개시는 수신측에서 VR 콘텐트의 시그널링 정보를 기반으로, 해당 VR 콘텐트를 재생하는 방법 및 장치를 제안한다.
본 개시는 VR 뷰포트를 공유하기 위한 방법, 장치, 및 시스템을 제공한다.
본 개시의 제 1 양태에 따르면, VR 뷰포트(viewport)를 공유하기 위한 방법이 제공된다. 상기 방법은 컨텐츠 배포 서버에 의해서, 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립함으로써 파노라믹 비디오 데이터를 상기 단말 및 상기 뷰포트 공유 서버에 멀티캐스팅하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 상기 파노라믹 비디오 데이터를 수신하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 단말에 대한 제 2 전송 연결을 확립함으로써 상기 단말에 의해 제공되는 뷰포트 정보를 수신하거나 상기 단말에게 뷰포트 정보를 송신하는 과정; 상기 뷰포트 공유 서버에 의해서, 상기 수신된 뷰포트 정보를 렌더링하는 과정; 상기 단말에 의해서, 상기 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 상기 파노라믹 비디오 데이터를 수신하는 과정; 상기 단말에 의해서, 상기 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하는 과정; 상기 단말에 의해서, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하는 과정; 상기 단말에 의해서, 상기 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립함으로써 상기 단말의 뷰포트 정보를 제공하며 또한 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 상기 단말에 의해서, 상기 파노라믹 비디오 데이터를, 상기 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하는 과정; 및 상기 단말에 의해서, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 포함한다.
몇몇 구현예들에서, 상기 단말에 의해서, 상기 단말의 뷰포트 정보를 제공하는 것은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 상기 단말에 의해서, 뷰포트 정보에서의 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 상기 뷰포트 정보를 상기 뷰포트 공유 서버에게 제공하는 것을 포함한다. 또한, 상기 뷰포트 공유 서버에 의해서, 뷰포트 정보를 상기 단말에게 송신하는 것은, 상기 단말로부터 뷰포트 정보를 수신한 것에 대한 응답으로, 상기 뷰포트 공유 서버에 의해서, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 송신하는 것을 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 단말에 의해서, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 1 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보만을 수신하는 과정; 및 상기 뷰포트 공유 서버에 의해서, 상기 제 1 요청을 수신한 것에 대한 응답으로, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 상기 단말에게 송신하는 과정을 더 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 상기 단말에 의해서, 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 2 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 상기 미리 정해진 단말의 뷰포트 정보를 수신하는 과정; 및 상기 뷰포트 공유 서버에 의해서, 상기 제 2 요청을 수신한 것에 대한 응답으로, 상기 미리 정해진 단말의 뷰포트 정보를 상기 단말에게 송신하는 과정을 더 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 DND(Do Not Disturb) 모드일 경우, 상기 단말에 의해서, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하는 과정을 더 포함하는 방법.
몇몇 구현예들에서, 상기 단말에 의해서, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하는 것, 및 상기 단말에 의해서, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 것은, 사용자에 의해 설정된 렌더링 모드가 PIP(Picture In Picture) 모드일 경우, 상기 단말에 의해서, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 사용자 뷰포트 범위 내에서 렌더링되는 비디오로 렌더링하거나, 상기 단말에 의해서, 상기 사용자 뷰포트 범위 내의 비디오를 상기 수신된 뷰포트 정보에 대응하는 렌더링되는 비디오로 렌더링하는 것; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 상기 단말에 의해서, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 풀 스크린 모드로 렌더링하는 것을 포함한다.
몇몇 구현예들에서, 상기 뷰포트 공유 서버에 의해서, 뷰포트 정보를 상기 단말에게 송신하는 것은, 상기 뷰포트 공유 서버에 의해서, 공유 동작(sharing operation)을 수신한 것에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하는 것을 포함한다.
몇몇 구현예들에서, 상기 방법은 상기 뷰포트 공유 서버에 의해서, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정; 또는 상기 뷰포트 공유 서버에 의해서, 상기 뷰포트 공유 서버에 의해 렌더링되는 상기 수신된 뷰포트 정보에 대한 선택 동작(selection operation)을 수신한 것에 대한 응답으로, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 더 포함한다.
몇몇 구현예들에서, 상기 뷰포트 정보는 뷰포트의 피치각(pitch angle), 뷰포트의 요우각(yaw angle), 공유 플래그 정보 및 뷰포트 소유자 정보를 포함한다.
본 개시의 제 2 양태에 따르면, VR 뷰포트를 공유하기 위한 방법이 제공된다. 상기 방법은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하는 과정; 상기 제 1 전송 연결을 통해, 상기 컨텐츠 배포 서버에 의해 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정; 단말에 대한 제 2 전송 연결을 확립하는 과정; 상기 제 2 전송 연결을 통해, 상기 단말에 의해 제공되는 뷰포트 정보를 수신하는 과정; 상기 제 2 전송 연결을 통해, 뷰포트 정보를 상기 단말에게 송신하는 과정; 및 상기 수신된 뷰포트 정보를 렌더링하는 과정을 포함한다.
몇몇 구현예들에서, 상기 제 2 전송 연결을 통해, 뷰포트 정보를 상기 단말에게 송신하는 것은, 상기 제 2 전송 연결을 통해, 상기 단말로부터 뷰포트 정보를 수신한 것에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 공유 플래그 정보가 미리 정해진 값으로 설정되어 있음을 나타내는 뷰포트 정보를 송신하는 것을 포함한다.
몇몇 구현예들에서, 상기 제 2 전송 연결을 통해, 뷰포트 정보를 상기 단말에게 송신하는 것은, 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 단말로부터 송신되는 제 1 요청을 수신한 것에 대한 응답으로, 상기 제 2 전송 연결을 통해 상기 단말에게 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 송신하는 것 - 상기 제 1 요청은 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 요청으로서, 상기 단말로부터 상기 뷰포트 공유 서버로 송신됨 -; 및 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 상기 단말로부터 송신되는 제 2 요청을 수신한 것에 대한 응답으로, 상기 제 2 전송 연결을 통해 상기 단말에게 상기 미리 정해진 단말의 뷰포트 정보를 송신하는 것 - 상기 제 2 요청은 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 요청으로서, 상기 단말로부터 상기 뷰포트 공유 서버로 송신됨 - 중의 어느 하나를 포함한다.
몇몇 구현예들에서, 상기 제 2 전송 연결을 통해, 뷰포트 정보를 상기 단말에게 송신하는 것은, 공유 동작을 수신한 것에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하는 것을 포함한다.
몇몇 구현예들에서, 상기 방법은 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정; 또는 상기 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 더 포함한다.
본 개시의 제 3 양태에 따르면, VR 뷰포트를 공유하기 위한 방법이 제공된다. 상기 방법은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하는 과정; 상기 제 1 전송 연결을 통해 파노라믹 비디오 데이터를 수신하는 과정; 상기 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하고, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하는 과정; 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하는 과정; 상기 제 2 전송 연결을 통해 단말의 뷰포트 정보를 제공하는 과정; 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 및 상기 파노라믹 비디오 데이터를 상기 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하고, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 포함한다.
몇몇 구현예들에서, 상기 제 2 전송 연결을 통해 상기 단말의 뷰포트 정보를 제공하는 것은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 상기 제 2 전송 연결을 통해, 뷰포트 정보에서의 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 상기 뷰포트 공유 서버에게 제공하는 것을 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 제 2 전송 연결을 통해, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 1 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 또는 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 제 2 전송 연결을 통해, 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 2 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 상기 미리 정해진 단말의 뷰포트 정보를 수신하는 과정을 더 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하는 과정을 더 포함한다.
몇몇 구현예들에서, 상기 방법은 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 사용자 뷰포트 범위 내에서 렌더링되는 비디오로 렌더링하거나, 상기 사용자 뷰포트 범위 내의 비디오를 상기 수신된 뷰포트 정보에 대응하는 렌더링되는 비디오로 렌더링하는 과정; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 풀 스크린 모드로 렌더링하는 과정을 더 포함한다.
본 개시의 제 4 양태에 따르면, VR 뷰포트를 공유하기 위한 시스템이 제공된다. 상기 시스템은 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립함으로써 파노라믹 비디오 데이터를 멀티캐스팅하도록 구성되는 컨텐츠 배포 서버; 상기 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 상기 파노라믹 비디오 데이터를 수신하고, 상기 단말에 대한 제 2 전송 연결을 확립함으로써 상기 단말에 의해 제공되는 뷰포트 정보를 수신하거나 상기 단말에게 뷰포트 정보를 송신하고, 상기 수신된 뷰포트 정보를 렌더링하도록 구성되는 뷰포트 공유 서버; 및 상기 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 상기 파노라믹 비디오 데이터를 수신하고, 상기 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하고, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하고, 상기 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립함으로써 상기 단말의 뷰포트 정보를 제공하며 또한 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하고, 상기 파노라믹 비디오 데이터를, 상기 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하고, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성되는 단말을 포함한다.
몇몇 구현예들에서, 상기 단말은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 뷰포트 정보에서의 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 상기 뷰포트 정보를 상기 뷰포트 공유 서버에게 제공하도록 더 구성된다. 또한, 상기 뷰포트 공유 서버는, 상기 단말로부터 뷰포트 정보를 수신한 것에 대한 응답으로, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 단말은, 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 1 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보만을 수신하도록 더 구성된다. 또한, 상기 뷰포트 공유 서버는, 상기 제 1 요청을 수신한 것에 대한 응답으로, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 상기 단말에게 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 단말은, 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 상기 뷰포트 공유 서버에게 송신하며, 상기 제 2 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 상기 미리 정해진 단말의 뷰포트 정보를 수신하도록 더 구성된다. 또한, 상기 뷰포트 공유 서버는, 상기 제 2 요청을 수신한 것에 대한 응답으로, 상기 미리 정해진 단말의 뷰포트 정보를 상기 단말에게 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 단말은, 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하도록 더 구성된다.
몇몇 구현예들에서, 상기 단말은, 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 사용자 뷰포트 범위 내에서 렌더링되는 비디오로 렌더링하거나, 상기 사용자 뷰포트 범위 내의 비디오를 상기 수신된 뷰포트 정보에 대응하는 렌더링되는 비디오로 렌더링하거나; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 풀 스크린 모드로 렌더링하도록 더 구성된다.
몇몇 구현예들에서, 상기 뷰포트 공유 서버는, 공유 동작을 수신한 것에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 뷰포트 공유 서버는, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하거나; 또는 상기 뷰포트 공유 서버에 의해 렌더링되는 상기 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 더 구성된다.
본 개시의 제 5 양태에 따르면, VR 뷰포트를 공유하기 위한 장치가 제공된다. 상기 장치는 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하도록 구성되는 제 1 전송 연결 모듈; 상기 제 1 전송 연결을 통해, 상기 컨텐츠 배포 서버에 의해 멀티캐스팅된 파노라믹 비디오 데이터를 수신하도록 구성되는 비디오 수신 모듈; 단말에 대한 제 2 전송 연결을 확립하도록 구성되는 제 2 전송 연결 모듈; 상기 제 2 전송 연결을 통해, 상기 단말에 의해 제공되는 뷰포트 정보를 수신하도록 구성되는 뷰포트 수신 모듈; 상기 제 2 전송 연결을 통해, 뷰포트 정보를 상기 단말에게 송신하도록 구성되는 뷰포트 송신 모듈; 및 상기 수신된 뷰포트 정보를 렌더링하도록 구성되는 렌더링 모듈을 포함한다.
몇몇 구현예들에서, 상기 뷰포트 송신 모듈은, 상기 단말로부터 뷰포트 정보를 수신한 것에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 공유 플래그 정보가 미리 정해진 값으로 설정되어 있음을 나타내는 뷰포트 정보를 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 뷰포트 송신 모듈은, 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 단말로부터 송신되는 제 1 요청을 수신한 것에 대한 응답으로, 상기 단말에게 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 송신하는 것 - 상기 제 1 요청은 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 요청으로서, 상기 단말로부터 상기 뷰포트 공유 서버로 송신됨 -; 및 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 상기 단말로부터 송신되는 제 2 요청을 수신한 것에 대한 응답으로, 상기 단말에게 상기 미리 정해진 단말의 뷰포트 정보를 송신하는 것 - 상기 제 2 요청은 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 요청으로서, 상기 단말로부터 상기 뷰포트 공유 서버로 송신됨 - 중의 어느 하나를 수행하도록 더 구성된다.
몇몇 구현예들에서, 상기 뷰포트 송신 모듈은, 공유 동작을 수신한 것에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하도록 더 구성된다.
몇몇 구현예들에서, 상기 렌더링 모듈은, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하거나; 또는 상기 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 상기 파노라믹 비디오 데이터 및 상기 수신된 뷰포트 정보에 기초하여, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 더 구성된다.
본 개시의 제 6 양태에 따르면, VR 뷰포트를 공유하기 위한 장치가 제공된다. 상기 장치는 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하도록 구성되는 제 1 전송 연결 모듈; 상기 제 1 전송 연결을 통해 파노라믹 비디오 데이터를 수신하도록 구성되는 비디오 수신 모듈; 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하도록 구성되는 제 2 전송 연결 모듈; 상기 제 2 전송 연결을 통해 단말의 뷰포트 정보를 제공하도록 구성되는 뷰포트 공유 모듈; 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하도록 구성되는 뷰포트 수신 모듈; 및 상기 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하고, 상기 사용자 뷰포트 범위 내의 비디오를 렌더링하고, 상기 파노라믹 비디오 데이터를 상기 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하고, 상기 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성되는 렌더링 모듈을 포함한다.
몇몇 구현예들에서, 상기 뷰포트 공유 모듈은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 상기 제 2 전송 연결을 통해, 뷰포트 정보에서의 상기 공유 플래그 정보가 상기 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 상기 뷰포트 공유 서버에게 제공하도록 더 구성된다.
몇몇 구현예들에서, 상기 장치는 사용자에 의해 설정된 뷰포트 공유 모드가 상기 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 상기 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 상기 뷰포트 공유 서버에게 송신하도록 구성되거나, 또는 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 상기 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 상기 뷰포트 공유 서버에게 송신하도록 구성되는 뷰포트 추적 모듈을 더 포함한다. 또한, 상기 뷰포트 수신 모듈은 상기 제 1 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하거나 또는 상기 제 2 요청에 대한 응답으로 상기 뷰포트 공유 서버로부터 송신되는 상기 미리 정해진 단말의 뷰포트 정보를 수신하도록 더 구성된다.
몇몇 구현예들에서, 상기 렌더링 모듈은, 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 상기 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하도록 더 구성된다.
몇몇 구현예들에서, 상기 렌더링 모듈은, 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 사용자 뷰포트 범위 내에서 렌더링되는 비디오로 렌더링하거나, 상기 사용자 뷰포트 범위 내의 비디오를 상기 수신된 뷰포트 정보에 대응하는 렌더링되는 비디오로 렌더링하거나; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 상기 수신된 뷰포트 정보에 대응하는 비디오를 상기 풀 스크린 모드로 렌더링하도록 더 구성된다.
본 개시에 의해 제공되는 VR 뷰포트를 공유하기 위한 방법, 장치 및 시스템에 따르면, 컨텐츠 배포 서버가 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립함으로써 파노라믹 비디오 데이터를 단말 및 뷰포트 공유 서버로 멀티캐스팅하고; 뷰포트 공유 서버가 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 파노라믹 비디오 데이터를 수신하고, 단말에 대한 제 2 전송 연결을 확립함으로써 단말에 의해 제공되는 뷰포트 정보를 수신하거나 단말에게 뷰포트 정보를 송신하고, 수신된 뷰포트 정보를 렌더링하며; 또한 단말이 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 파노라믹 비디오 데이터를 수신하고, 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하고, 사용자 뷰포트 범위 내의 비디오를 렌더링하고, 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립함으로써 단말의 뷰포트 정보를 제공하고 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하고, 파노라믹 비디오 데이터를, 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하며, 또한 수신된 뷰포트 정보에 대응하는 비디오를 렌더링한다. 따라서, 뷰포트 공유 서버로 인하여 사용자는 다른 사용자들 또는 관리자의 뷰포트들을 공유할 수 있게 되며, 사용자에게 제공되는 정보량이 상당히 증가된다. 또한, 사용자와 다른 사용자들 또는 관리자 간에 교환될 수 있는 정보량이 크게 증가될 수 있다.
본 개시의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 개시의 바람직한 실시예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 “포함하다(include)” 및 “포함하다(comprise)”과 그 파생어들은 한정없는 포함을 의미하며; 상기 용어 “혹은(or)”은 포괄적이고 ‘및/또는’을 의미하고; 상기 구문들 “~와 연관되는(associated with)” 및 ““~와 연관되는(associated therewith)”과 그 파생어들은 포함하고(include), ~내에 포함되고(be included within), ~와 서로 연결되고(interconnect with), 포함하고(contain), ~내에 포함되고(be contained within), ~에 연결하거나 혹은 ~와 연결하고(connect to or with), ~에 연결하거나 혹은 ~와 연결하고(couple to or with), ~와 통신 가능하고(be communicable with), ~와 협조하고(cooperate with), 인터리빙하고(interleave), 병치하고(juxtapose), ~로 가장 근접하고(be proximate to), ~로 ~할 가능성이 크거나 혹은 ~와 ~할 가능성이 크고(be bound to or with), 가지고(have), 소유하고(have a property of) 등과 같은 것을 의미하고; 상기 용어 "제어기"는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템, 혹은 그 부분을 의미하고, 상기와 같은 디바이스는 하드웨어, 펌웨어 혹은 소프트웨어, 혹은 상기 하드웨어, 펌웨어 혹은 소프트웨어 중 적어도 2개의 몇몇 조합에서 구현될 수 있다. 어떤 특정 제어기와 연관되는 기능성이라도 집중화되거나 혹은 분산될 수 있으며, 국부적이거나 원격적일 수도 있다는 것에 주의해야만 할 것이다. 특정 단어들 및 구문들에 대한 정의들은 이 특허 문서에 걸쳐 제공되고, 해당 기술 분야의 당업자는 많은 경우, 대부분의 경우가 아니라고 해도, 상기와 같은 정의들이 종래 뿐만 아니라 상기와 같이 정의된 단어들 및 구문들의 미래의 사용들에도 적용된다는 것을 이해해야만 할 것이다.
본 개시의 다른 특징, 목적 및 이점은 첨부 도면을 참조하여 비제한적 실시예들에 대한 상세한 설명을 읽을 때 더욱 명백해질 것이다.
도 1은 본 개시가 적용될 수 있는 예시적인 시스템 아키텍처를 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른 VR 뷰포트 공유 시스템의 내부의 예시적인 아키텍처를 도시한 도면이다.
도 3은 뷰포트 공유 서버에 의해 렌더링되는 예시적인 인터페이스를 도시한 도면이다.
도 4는 단말 A가 뷰포트 정보를 단말 B 또는 뷰포트 공유 서버와 공유하는 것을 도시한 예시적인 시그널링도이다.
도 5는 단말 A가 단말 B 또는 뷰포트 공유 서버의 뷰포트 정보를 추적하는 것을 도시한 예시적인 시그널링도이다.
도 6은 뷰포트 공유 서버가 그것의 뷰포트 정보를 단말 A 및 단말 B에 푸시하는 것을 도시한 예시적인 시그널링도이다.
도 7은 본 개시의 일 실시예에 따른 단말 장치 또는 서버를 구현하도록 구성되는 컴퓨터 시스템의 개략적인 구조도이다.
이하, 첨부 도면들과 실시예들의 조합으로 본 개시에 대하여 상세하게 더 설명하도록 한다. 본 명세서에서 설명되는 특정 실시예들은 본 발명의 제한이 아니라, 단지 관련 발명을 설명하기 위해 사용된 것임을 이해해야 한다. 또한, 설명의 편의를 위해서, 관련 발명과 관련된 부분들만이 첨부 도면에 도시되어 있음을 유의해야 한다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(component surface)”은 하나 혹은 그 이상의 컴포넌트 표면들을 포함한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 과정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 과정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 개시의 실시 예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 개시의 다양한 실시 예들에 따르면, 전자 디바이스는 통신 기능을 포함할 수 있다. 일 예로, 전자 디바이스는 스마트 폰(smart phone)과, 태블릿(tablet) 개인용 컴퓨터(personal computer: PC, 이하 ‘PC’라 칭하기로 한다)와, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA, 이하 ‘PDA’라 칭하기로 한다)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP, 이하 ‘PMP’라 칭하기로 한다)와, 엠피3 플레이어(mp3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD, 일 예로 ‘HMD’라 칭하기로 한다)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등이 될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 디바이스는 통신 기능을 가지는 스마트 가정용 기기(smart home appliance)가 될 수 있다. 일 예로, 상기 스마트 가정용 기기는 텔레비전과, 디지털 비디오 디스크(digital video disk: DVD, 이하 ‘DVD’라 칭하기로 한다) 플레이어와, 오디오와, 냉장고와, 에어 컨디셔너와, 진공 청소기와, 오븐과, 마이크로웨이브 오븐과, 워셔와, 드라이어와, 공기 청정기와, 셋-탑 박스(set-top box)와, TV 박스 (일 예로, Samsung HomeSyncTM, Apple TVTM, 혹은 Google TVTM)와, 게임 콘솔(gaming console)과, 전자 사전과, 캠코더와, 전자 사진 프레임 등이 될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 디바이스는 의료 기기(일 예로, 자기 공명 혈관 조영술(magnetic resonance angiography: MRA, 이하 ‘MRA’라 칭하기로 한다) 디바이스와, 자기 공명 화상법(magnetic resonance imaging: MRI, 이하 “MRI”라 칭하기로 한다)과, 컴퓨터 단층 촬영(computed tomography: CT, 이하 ‘CT’라 칭하기로 한다) 디바이스와, 촬상 디바이스, 혹은 초음파 디바이스)와, 네비게이션(navigation) 디바이스와, 전세계 위치 시스템(global positioning system: GPS, 이하 ‘GPS’라 칭하기로 한다) 수신기와, 사고 기록 장치(event data recorder: EDR, 이하 ‘EDR’이라 칭하기로 한다)와, 비행 기록 장치(flight data recorder: FDR, 이하 ‘FER’이라 칭하기로 한다)와, 자동차 인포테인먼트 디바이스(automotive infotainment device)와, 항해 전자 디바이스(일 예로, 항해 네비게이션 디바이스, 자이로스코프(gyroscope), 혹은 나침반)와, 항공 전자 디바이스와, 보안 디바이스와, 산업용 혹은 소비자용 로봇(robot) 등이 될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 디바이스는 통신 기능을 포함하는, 가구와, 빌딩/구조의 일부와, 전자 보드와, 전자 서명 수신 디바이스와, 프로젝터와, 다양한 측정 디바이스들(일 예로, 물과, 전기와, 가스 혹은 전자기 파 측정 디바이스들) 등이 될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 디바이스는 상기에서 설명한 바와 같은 디바이스들의 조합이 될 수 있다. 또한, 본 개시의 바람직한 실시 예들에 따른 전자 디바이스는 상기에서 설명한 바와 같은 디바이스에 한정되는 것이 아니라는 것은 당업자에게 자명할 것이다.
본 개시의 다양한 실시 예들에 따르면, VR 콘텐트를 송수신하는 기기는 일 예로, 전자 디바이스가 될 수 있다.
이하, 본 개시의 실시 예들에서 사용되는 용어들을 아래와 같이 정의한다. 영상은 동영상(video), 정지 영상(image) 등이 될 수 있으며, 영상 컨텐트는 동영상, 정지 영상 등은 물론 관련된 오디오, 자막 등을 포함하는 각종 멀티미디어 컨텐트를 포함할 수 있다. VR 컨텐트는 상기 영상을 360도 영상, 3D 영상 등으로 제공하는 영상 컨텐트를 포함한다. 미디어 파일 포맷은 ISO(International Organization for Standardization) 기반 미디어 파일 포맷(ISOBMFF) 등과 같은 각종 미디어 관련 규격에 따른 미디어 파일 포맷 등이 될 수 있다. 그리고 투영(projection)은 360도 영상 등의 표현을 위한 구형 영상(spherical image)이 평면(planar surface) 상에 투영되는 처리 또는 그 처리 결과에 따른 영상 프레임을 의미한다. 맵핑(mapping)은 상기 투영에 따른 평면 상의 영상 데이터가 2D 평면에 매핑되는 처리 또는 그 처리 결과에 따른 영상 프레임을 의미한다. 전방향 미디어(omnidirectional media)는 예컨대, 사용자가 HMD를 이용하였을 때 사용자의 머리 움직임의 방향에 따라 또는 사용자의 뷰 포트(viewport)에 따라 렌더링될 수 있는 (동)영상(image or video) 및/또는 관련된 오디오를 포함한다. 상기 뷰 포트는 FOV(Field Of View)로 칭해질 수 있으며, 특정 시점에 사용자에게 보여지는 영상의 영역(여기서 상기 영상의 영역은 상기 구형 영상의 영역 등이 될 수 있다.)을 의미한다.
컨텐츠 배포 서버, 뷰포트 공유 서버 및 복수의 단말들을 포함하는 뷰포트(viewport) 공유 시스템에서, 상기 뷰포트 공유 서버에 의해 뷰포트를 공유하는 방법으로서, 상기 컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정; 제1 단말로부터, 상기 제1 단말이 생성한 제1 뷰포트 정보를 수신하는 과정; 제2 단말에게, 상기 제1 뷰포트 정보를 송신하는 과정; 제3 단말에게, 상기 뷰포트 공유 서버가 생성한 제2 뷰포트 정보를 송신하는 과정; 상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제1 비디오 데이터를 생성하는 과정; 및 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제2 비디오 데이터를 생성하는 과정;를 포함할 수 있다.
컨텐츠 배포 서버, 뷰포트 공유 서버 및 복수의 단말들을 포함하는 뷰포트(viewport) 공유 시스템에서 상기 복수의 단말들 중 하나에 의하여 뷰포트를 공유하는 방법으로서, 상기 컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정; 제1 뷰포트 정보를 생성하는 과정; 상기 뷰포트 공유 서버로 상기 제1 뷰포트 정보를 송신하는 과정; 상기 뷰포트 공유 서버로부터 상기 제2 뷰포트 정보를 수신하는 과정; 상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제1 비디오 데이터를 생성하는 과정; 및 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제2 비디오 데이터를 생성하는 과정; 를 포함할 수 있다.
뷰포트를 공유하기 위한 장치로서, 컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하도록 구성되는 제1 송수신기; 제1 단말로부터, 상기 제1 단말이 생성한 제1 뷰포트 정보를 수신하고, 제2 단말에게, 상기 제1 뷰포트 정보를 송신하고, 제3 단말에게, 상기 뷰포트 공유 서버가 생성한 제2 뷰포트 정보를 송신하도록 구성되는 제2 송수신기; 및 상기 제1 송수신기 및 상기 제2 송수신기에 연결된 제어기를 포함하고, 상기 제어기는, 상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제1 비디오 데이터를 생성하고, 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제2 비디오 데이터를 생성하도록 구성될 수 있다.
뷰포트를 공유하기 위한 장치로서, 컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하도록 구성되는 제1 송수신기; 제1 뷰포트 정보를 뷰포트 공유 서버로 송신하고, 상기 뷰포트 공유 서버로부터 제2 뷰포트 정보를 수신하도록 구성되는 제2 송수신기; 및 상기 제1 송수신기 및 상기 제2 송수신기에 연결된 제어기를 포함하고, 상기 제어부는, 상기 제1 뷰포트 정보를 생성하고, 상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제1 비디오 데이터를 생성하고, 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제2 비디오 데이터를 생성하도록 구성될 수 있다.또한, 본 개시의 실시예들 및 실시예들의 특징들은 비충돌 기반으로 서로 결합 될 수 있음을 유의해야 한다. 이하, 첨부 도면들을 참조하여 실시예들과 함께 본 개시에 대하여 상세하게 설명하도록 한다.
도 1에 도시된 바와 같이, 시스템 아키텍처(100)는 컨텐츠 배포 서버(110), 뷰포트 공유 서버(120), n개의 단말들(130)(n은 0보다 큰 정수), 및 네트워크(140)를 포함할 수 있다. 컨텐츠 배포 서버(110)는 컨텐츠 배달 서버(content delivery server)일 수 있다. 네트워크(140)는 컨텐츠 배포 서버(110), 뷰포트 공유 서버(120), 및 n개의 단말들(130) 간의 통신 링크를 제공하기 위한 매개체이다. 네트워크(140)는 유무선 통신 링크 또는 광섬유 케이블과 같은 다양한 연결 유형을 포함할 수 있다. 뷰포트는 사용자 단말에서 보는 관점, 뷰포트(viewport)를 의미할 수 있다. 뷰포트는 통상 컴퓨터 그래픽에서, 사용자의 시야에 보이는 다각형 영역을 의미한다. 다만, 영역의 형태는 다각형에 한정하는 것은 아니다. VR 기기의 뷰포트는 렌더링 과정에서 변환한 화상을 실제로 표시하는 디스플레이 영역을 의미할 수 있으나, 파노라마 비디오 데이터를 렌더링하여 VR 기기의 뷰포트에 디스플레이할 영상을 생성하기 위한 정보를 뷰포트 정보 또는 뷰포트 정보라 할 수 있고, 뷰포트 정보 또는 뷰포트 정보를 줄여서 뷰포트 또는 뷰포트라 일컫을 수 있다.
사용자는 단말(130)을 사용하여 네트워크(140)를 통해 컨텐츠 배포 서버(110) 및 뷰포트 공유 서버(120)와 각각 상호 작용함으로써, 메시지 등을 수신 또는 송신할 수 있다. VR 애플리케이션, 인스턴트 메신저, 이메일 클라이언트 또는 소셜 네트워킹 플랫폼 소프트웨어와 같은 다양한 클라이언트 애플리케이션이 단말(130)에 설치될 수도 있다.
단말(130)은 모바일 단말 또는 컴퓨터에 기초한 VR 헤드 장착 장치, 모바일 단말 또는 컴퓨터에 기초한 VR 스마트 안경 등을 포함하며 이에 한정되지 않는, VR 기술을 지원하며 디스플레이 스크린을 가진 다양한 전자 장치일 수 있다.
본 개시의 실시예에서 제공되는 VR 뷰포트 공유 방법은 일반적으로 컨텐츠 배포 서버(110), 뷰포트 공유 서버(120), 및 단말(130)에 의해 실행된다는 것에 유의해야 한다. 따라서, VR 뷰포트 공유 시스템은 일반적으로 컨텐츠 배포 서버(110), 뷰포트 공유 서버(120) 및 단말(130)을 포함한다. 컨텐츠 배포 서버(content distribution server)는 컨텐츠 배달 서버(content delivery server)일 수 있다.
도 1의 컨텐츠 배포 서버들(110), 뷰포트 공유 서버들(120), 단말들(130) 및 네트워크들(140)의 수는 단지 예시적인 것일 뿐임을 이해해야 한다. 실제 요구에 따라 임의의 수의 단말 장치, 네트워크 및 서버가 가능할 수 있다. 예컨대, 본 개시에 따른 뷰포트 공유 시스템(viewport sharing system)은 하나 이상의 컨텐츠 배포 서버(110), 하나 이상의 뷰포트 공유 서버(120) 및 하나 이상의 단말(130)을 포함할 수 있다.
전술한 VR 뷰포트 공유 시스템(100)에서, 컨텐츠 배포 서버(110)는 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 각각 확립함으로써, 파노라믹 비디오 데이터를 멀티캐스트 하도록 구성된다. 즉, 파노라믹 비디오 데이터는 RTP(Real-time Transport Protocol)를 통해서 송신되며, 여기서 RTP 패킷은 파노라믹 비디오의 타임스탬프 및 코드 데이터를 포함하고, 하나의 파노라믹 비디오 데이터 프레임은 하나 이상의 RTP 패킷들로 구성될 수 있다.
여기서, 제 1 전송 연결은 종래 기술에서 잘 알려져 있거나 향후 개발될 파노라믹 비디오 데이터를 멀티캐스팅하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 1 전송 연결은 RTP 연결일 수 있다. 다만, 이는 발명의 기술적 범위를 제한하기 위한 것이 아니다. 제1 전송 연결은 TCP 연결 또는 UDP 연결일 수도 있고, 유선 또는 무선 연결일 수 있다. 상기 제1 전송 연결은 컨텐츠 배포 서버(110)가 파노라믹 비디오 데이터를 전송하기 위하여 사용되는 것을 고려하였으나, 발명의 범위를 제한하기 위한 것은 아니다. 파노라믹 비디오 데이터를 전송하는 다른 방법 또는 본 개시에 따른 공유 방법이 적용되는 데이터를 전송하는 방법에 적합한 연결 방법이 제1 전송 연결로서 사용될 수 있다. 본 개시에서 제1 전송 연결은 파노라믹 비디오 데이터를 전송하는 연결(connection)을 지칭하는 기술적(descriptive) 용어로서 사용될 수 있다. 반면, 제2 전송 연결은 뷰포트 정보를 전송하는 연결(connection)을 지칭하는 기술적 용어로서 사용될 수 있다.
전술한 VR 뷰포트 공유 시스템(100)에서, 뷰포트 공유 서버(120)는 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하여 파노라믹 비디오 데이터를 수신하고, 단말에 대한 제 2 전송 연결을 확립하여 단말에 의해 제공되는 뷰포트 정보를 수신하거나 단말에 대하여 뷰포트 정보를 송신하며, 또한 수신된 뷰포트 정보를 렌더링하도록 구성된다. 여기서, 제 2 전송 연결을 통해 송신되는 뷰포트 정보는 사용자 뷰포트 정보 및 뷰포트 소유자 정보를 포함할 수 있다. 예를 들어, 뷰포트 정보는 뷰포트의 피치각(pitch angle), 뷰포트의 요우각(yaw angle) 및 뷰포트 소유자 정보를 포함할 수 있다. 상기 사용자 뷰포트 정보는 뷰포트의 피치 각과 뷰포트의 요우 각을 포함할 수 있다. 뷰포트 정보는 다른 단말들과의 뷰포트 공유를 설정하기 위한 공유 플래그(flag) 정보를 더 포함할 수 있다.
여기서, 제 2 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 뷰포트 정보를 송신하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 2 전송 연결은 TCP(Transmission Control Protocol) 세션 또는 UDP(User Datagram Protocol) 연결일 수 있다. 이는 발명의 기술적 범위를 제한하기 위한 것이 아니다.
전술한 VR 뷰포트 공유 시스템(100)에서, 단말(130)은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하여 파노라믹 비디오 데이터를 수신하고, 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하고, 사용자 뷰포트 범위 내의 비디오를 렌더링하며, 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하여 단말의 뷰포트 정보를 제공하고 , 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하고, 수신된 뷰포트 정보에 대응하는 비디오 데이터로 파노라믹 비디오 데이터를 변환하고, 또한 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성된다. 상기 사용자 뷰포트 범위는 사용자 뷰포트 정보에 의하여 정하여질 수 있고, 상기 사용자 뷰포트 정보는 피치 각(pitch angle)과 요우 각(yaw angle)을 포함할 수 있다. 뷰포트 정보는 상기 사용자 뷰포트 정보, 뷰포트 소유자 정보, 공유 플래그를 포함할 수 있고, 상기 사용자 뷰포트 범위 내의 비디오는 상기 뷰포트 정보에 대응하는 파노라믹 비디오 데이터일 수 있다.
몇몇 시나리오들에서는, 사용자가 로컬 단말의 뷰포트를 다른 단말들과 공유하는 것을 예상할 수 있다. 본 경우에 있어서, 단말(130)은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정하는 경우, 뷰포트 정보에 있어서의 공유 플래그 정보가 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 뷰포트 공유 서버에게 제공하도록 더 구성된다. 또한, 뷰포트 공유 서버(120)는, 단말로부터 뷰포트 정보를 수신한 것에 응답하여, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 그 공유 플래그 정보가 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 송신하도록 더 구성된다. 예컨대, 사용자는 제1 단말의 공유 플래그 정보를 기본(default)으로 설정할 수 있다. 기본으로 설정된 공유 플래그 정보는 0 또는 False 값일 수 있고, 다른 값을 가져도 무방하다. 기본으로 설정된 공유 플래그 정보는 다른 단말에게 제1 단말의 제1 뷰포트 정보를 공유하지 않는 것을 의미할 수 있다. 예컨대, 공유 플래그 정보가 기본으로 설정된 경우, 제1 단말의 제1 뷰포트 정보는 다른 단말에 공유되지 아니하나, 뷰포트 공유 서버에게는 공유될 수 있다. 즉, 제1 뷰포트 정보는 뷰포트 공유 서버에게 전송되나, 다른 단말에게는 전송되지 아니할 수 있다. 또한, 상기 공유 플래그 정보는 다른 단말에 제1 뷰포트 정보를 공유할 것으로 정하여진 값으로 설정될 수 있다. 상기 공유 플래그 정보가 상기 뷰포트 정보를 공유할 것으로 설정된 경우, 뷰포트 공유 서버는 제1 단말의 제1 뷰포트 정보를 뷰포트 공뷰 서버뿐만 아니라 다른 단말에게 전송할 수 있다.
몇몇 시나리오들에서는, 사용자가 뷰포트 공유 서버의 뷰포트를 추적하는 것을 예상할 수 있다. 예를 들어, 코치로서, 사용자가 모든 단말들의 뷰포트들을 추적하는 것을 예상할 수 있다. 본 경우에 있어서, 단말(130)은, 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드인 경우, 뷰포트 공유 서버에 의해 수신되는 뷰포트 정보를 획득하기 위한 제 1 요청을 뷰포트 공유 서버에게 송신하고, 또한 제 1 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보만을 수신하도록 더 구성된다. 또한, 뷰포트 공유 서버(120)는, 제 1 요청을 수신한 것에 대한 응답으로, 뷰포트 공유 서버에 의해 수신되는 뷰포트 정보만을 단말에게 송신하도록 더 구성된다.
몇몇 다른 시나리오들에서는, 사용자가 다른 사용자의 뷰포트를 추적하는 것을 예상할 수 있다. 본 경우에 있어서, 단말(130)은, 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드인 경우, 그 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 뷰포트 공유 서버에게 송신하며, 또한 제 2 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 미리 정해진 단말의 뷰포트 정보를 수신하도록 더 구성된다. 또한, 뷰포트 공유 서버(120)는, 제 2 요청을 수신한 것에 대한 응답으로, 미리 정해진 단말의 뷰포트 정보를 단말에게 송신하도록 더 구성된다.
몇몇 다른 시나리오들에서는, 사용자가 다른 사용자들 또는 뷰포트 공유 서버에 의해 방해받지 않는 것을 예상할 수 있다. 본 경우에 있어서, 단말(130)은, 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드인 경우, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하도록 더 구성된다. 여기서, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하는 방법은 종래 기술에서 잘 알려져 있거나 향후에 개발될 정보 수신을 정지하는 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 예를 들어, 단말(130)은 뷰포트 공유 서버로부터 송신되는 임의의 메시지를 거절할 수 있거나; 또는 뷰포트 공유 서버로부터의 연결을 해제하여 뷰포트 공유 서버로부터 송신되는 뷰포트 정보의 수신을 중지할 수도 있다. 일 대안으로서, 단말(130)은 DND 모드를 설정하기 위한 요청을 뷰포트 공유 서버에게 송신할 수 있다. 이러한 경우에 있어서, 단말이 뷰포트 공유 서버에 대한 디폴트 모드로 되돌아갈 필요가 있을 때, 단말(130)은 디폴트 모드로 되돌아가기 위한 요청을 뷰포트 공유 서버에게 송신할 수 있다.
몇몇 시나리오들에서, 단말(130)이 수신된 뷰포트 정보에 대응하는 비디오 및 사용자 뷰포트 범위 내의 비디오를 사용자에게 렌더링하는 경우에 있어서, 단말(130)은, 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 수신된 뷰포트 정보에 대응하는 비디오를 사용자 뷰포트 범위 내에서 렌더링된 비디오로 렌더링하거나, 또는 사용자 뷰포트 범위 내의 비디오를, 수신된 뷰포트 정보에 대응하는 렌더링된 비디오로 렌더링할 수 있다. 일 대안으로서, 사용자에 의해 설정된 렌더링 모드가 풀 스크린(full screen) 모드인 경우, 단말(130)은 수신된 뷰포트 정보에 대응하는 비디오를 풀 스크린 모드에서 렌더링할 수 있다.
몇몇 시나리오들에서는, 뷰포트 공유 서버의 관리자가, 뷰포트 공유 서버(120)에 의해서, 뷰포트 공유 서버의 뷰포트 정보를 뷰포트 공유 수신 가능한 모든 단말들에게 송신할 수 있으며(예를 들어, 관리자가 코치인 경우), 이에 따라 단말들이 글로벌 상황(global situation)을 학습할 수 있게 한다. 즉, 뷰포트 공유 서버(120)는 공유 동작을 수신한 것에 대한 응답으로, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게 송신하도록 구성된다.
몇몇 시나리오들에서, 뷰포트 공유 서버(120)는 수신된 뷰포트 정보를 디스플레이할 수 있으며, 또한 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여 수신된 뷰포트 정보에 대응하는 비디오를 직접 렌더링하거나; 또는 뷰포트 공유 서버에 의해 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 더 구성된다.
본 개시의 전술한 실시예에서 제공되는 VR 뷰포트 공유 시스템은, 단말들과 뷰포트 공유 서버 간의 제 2 전송 연결들을 통해 상이한 단말들 간의 비디오 컨텐츠 공유 및 뷰포트 공유 서버와 단말들 간의 비디오 컨텐츠 공유를 가능하게 한다. 따라서, 사용자에게 제공되는 정보량이 크게 증가하게 되며, 그에 따라 사용자 경험이 향상된다.
도 2를 더 참조하면, 도 2는 본 개시의 일 실시예에 따른 VR 뷰포트 공유 시스템에서의 컨텐츠 배포 서버, 뷰포트 공유 서버 및 단말들의 내부에 대한 예시적인 구조도를 도시한 것이다.
도 2에 도시된 바와 같이, VR 뷰포트 공유 시스템은 컨텐츠 배포 서버(210), 뷰포트 공유 서버(220) 및 단말(230)을 포함한다.
컨텐츠 배포 서버(210)는 제 1 전송 연결 모듈(211) 및 비디오 배포 모듈(212)을 포함하는 장치를 포함할 수 있다.
본 실시예에서, 제 1 전송 연결 모듈(211)은 뷰포트 공유 서버의 제 1 전송 연결 모듈 및 단말의 제 1 전송 연결 모듈 각각에 대한 연결을 확립하도록 구성될 수 있다. 비디오 배포 모듈(212)은 확립된 제 1 전송 연결들을 통해 파노라믹 비디오 데이터를 각각의 단말 및 뷰포트 공유 서버에 멀티캐스팅 하도록 구성될 수 있다.
여기서, 제 1 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 파노라믹 비디오 데이터를 멀티캐스팅 하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 1 전송 연결은 RTP 연결일 수 있다.
뷰포트 공유 서버(220)는 제 1 전송 연결 모듈(221), 비디오 수신 모듈(222), 제 2 전송 연결 모듈(223), 뷰포트 수신 모듈(224), 뷰포트 송신 모듈(225) 및 렌더링 모듈(226)로 구성되는 장치를 포함할 수 있다.
본 실시예에서, 제 1 전송 연결 모듈(221)은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하도록 구성될 수 있다. 비디오 수신 모듈(222)은 컨텐츠 배포 서버에 의해 멀티캐스팅된 파노라믹 비디오 데이터를 제 1 전송 연결을 통해 수신하도록 구성될 수 있다. 제 2 전송 연결 모듈(223)은 단말에 대한 제 2 전송 연결을 확립하도록 구성될 수 있다. 뷰포트 수신 모듈(224)은 단말에 의해 제공된 뷰포트 정보를 제 2 전송 연결을 통해 수신하도록 구성될 수 있다. 뷰포트 송신 모듈(225)은 뷰포트 정보를 제 2 전송 연결을 통해 단말에 송신하도록 구성될 수 있다. 렌더링 모듈(226)은 수신된 뷰포트 정보를 렌더링하도록 구성될 수 있다.
여기서, 제 1 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 파노라믹 비디오 데이터의 멀티캐스팅에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 1 전송 연결은 RTP 연결일 수 있다. 여기서, 제 2 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 뷰포트 정보를 송신하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 2 전송 연결은 TCP 세션 또는 UDP 연결일 수 있다. 본 실시예의 몇몇 선택적 구현예들에서는, 사용자 단말로부터 송신되는 공유 명력에 따라, 뷰포트 공유 서버는 뷰포트 송신 모듈(225)에 의해서, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 단말에게 그것의 뷰포트 정보를 송신할 수 있다. 즉, 뷰포트 송신 모듈(225)은 공유 플래그 정보가 단말로부터 미리 정해진 값으로 설정되었음을 나타내는 뷰포트 정보를 수신한 것에 대한 응답으로, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 뷰포트 정보를 송신하도록 더 구성될 수 있다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 뷰포트 공유 서버는 뷰포트 송신 모듈(225)에 의해 사용자로부터의 추적 요청에 응답할 수 있다. 즉, 뷰포트 송신 모듈(225)은 단말로부터 송신되는 제 1 요청을 수신한 것에 대한 응답으로, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 단말에게 송신하도록 더 구성될 수 있으며, 여기서 제 1 요청은 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 요청으로서, 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우에 단말로부터 뷰포트 공유 서버로 송신된다. 대안적으로는, 뷰포트 송신 모듈(225)은 단말로부터 송신되는 제 2 요청을 수신한 것에 대한 응답으로, 미리 정해진 단말의 뷰포트 정보를 제 2 전송 연결을 통해 단말에게 송신하도록 더 구성될 수도 있으며, 여기서 제 2 요청은 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 요청으로서, 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우 단말로부터 뷰포트 공유 서버로 송신된다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 뷰포트 공유 서버의 관리자에 의해 입력된 공유 동작에 따라, 뷰포트 공유 서버는 뷰포트 송신 모듈(225)에 의해서, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 단말에게, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신할 수 있다. 즉, 뷰포트 송신 모듈(225)은 공유 동작을 수신한 것에 대한 응답으로, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하도록 더 구성될 수 있다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 뷰포트 공유 서버는 렌더링 모듈(226)에 의해, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링할 수 있다. 즉, 렌더링 모듈(226)은 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성될 수 있다. 일 대안으로서, 렌더링 모듈(226)은 뷰포트티브 공유 서버에 의해 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성될 수도 있다. 일 예로서, 도 3을 참조하면, 도 3은 뷰포트 공유 서버의 비디오 컨텐츠 디스플레이 영역(300)을 도시한 것이며, 여기서 301은 단말 뷰포트 디스플레이 영역이고, 302 및 303은 상이한 단말 뷰포트들 각각에 대응한다. 관리자가 단말 뷰포트들(302 및 303)을 클릭할 경우, 305 및 306에 도시된 바와 같이, 그 단말 뷰포트들에 대응하는 비디오 컨텐츠들이 디스플레이될 수 있다.
다시 도 2를 참조하면, 단말(230)은 제 1 전송 연결 모듈(231), 비디오 수신 모듈(232), 제 2 전송 연결 모듈(233), 뷰포트 공유 모듈(234), 뷰포트 수신 모듈(235) 및 렌더링 모듈(236)로 구성되는 장치를 포함할 수 있다.
본 실시예에서, 제 1 전송 연결 모듈(231)은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하도록 구성된다. 비디오 수신 모듈(232)은 제 1 전송 연결을 통해 파노라믹 비디오 데이터를 수신하도록 구성된다. 제 2 전송 연결 모듈(233)은 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하도록 구성된다. 뷰포트 공유 모듈(234)은 제 2 전송 연결을 통해 단말의 뷰포트 정보를 제공하도록 구성된다. 뷰포트 수신 모듈(235)은 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하도록 구성된다. 렌더링 모듈(236)은 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하여, 사용자 뷰포트 범위 내에서 비디오를 렌더링하도록 구성되거나; 또는 파노라믹 비디오 데이터를 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하도록 구성된다.
여기서, 제 1 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 파노라믹 비디오 데이터를 멀티캐스팅 하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 1 전송 연결은 RTP 연결일 수 있다. 여기서, 제 2 전송 연결은 종래 기술에서 잘 알려져 있거나 향후에 개발될 뷰포트 정보를 송신하기에 적합한 연결 방법일 수 있으며, 본 개시에서는 제한되지 않는다. 일 예로서, 제 2 전송 연결은 TCP 세션 또는 UDP 연결일 수 있다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 사용자는 뷰포트 공유 모듈(234)에 의해, 로컬 단말의 뷰포트를 다른 단말들과 공유하기 위한 뷰포트 공유 서버를 요청할 수 있다. 즉, 뷰포트 공유 모듈은, 사용자가 뷰포트 정보에서 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 공유 플래그 정보가 미리 정해진 값으로 설정되었음을 나타내는 뷰포트 정보를 제 2 전송 연결을 통해 뷰포트 공유 서버에게 제공하도록 더 구성된다. 예컨대, 공유 플래그가 1(참값, True value)로 설정되어 있으면, 단말은 뷰포트 정보를 다른 단말에게 공유할 수 있다. 상기 공유 플래그가 0(거짓 값, False value)로 설정되어 있으면, 단말은 뷰포트 정보를 뷰포트 공유 서버에게 송신할 수 있다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 사용자는 단말에 배치된 뷰포트 추적 모듈에 의해, 뷰포트 공유 서버에게 뷰포트 추적 요청을 송신할 수 있으며, 뷰포트 공유 서버에 의해 제공되는 뷰포트 정보를 수신할 수 있다. 본 경우에 있어서, 단말은, 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 뷰포트 공유 서버에게 송신하거나; 또는 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우에, 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 뷰포트 공유 서버에게 송신하도록 구성되는 뷰포트 추적 모듈(237)을 더 포함한다. 본 경우에 있어서, 뷰포트 수신 모듈은 제 1 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하거나; 또는 제 2 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 미리 정해진 단말의 뷰포트 정보를 수신하도록 더 구성될 수 있다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 사용자는 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 렌더링하는 것을 중지하는 것을 예상할 수 있다. 본 경우에 있어서, 렌더링 모듈(236)은 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 렌더링하는 것을 중지하도록 더 구성된다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 사용자 뷰포트 범위 내의 비디오 및 수신된 뷰포트 정보에 대응하는 비디오를 사용자에게 렌더링할 때에, 렌더링 모듈은, 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 수신된 뷰포트 정보에 대응하는 비디오를 사용자 뷰포트 범위 내에서 렌더링된 비디오로 렌더링하거나, 또는 사용자 뷰포트 범위 내의 비디오를, 수신된 뷰포트 정보에 대응하는 렌더링된 비디오로 렌더링할 수 있다. 일 대안으로서, 렌더링 모듈은, 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 수신된 뷰포트 정보에 대응하는 비디오를 풀 스크린 모드로 렌더링할 수 있다.
도 2에 도시된 컨텐츠 배포 서버, 뷰포트 공유 서버, 및 단말의 구조들은 단지 예시적인 것이고, 본 개시에 대한 제한으로서 고려되지 않으며, 또한 도 2의 모듈들은 그 모듈들에 대응하는 기능들을 구현할 수 있는 임의의 모듈들 또는 그 모듈들의 변형들로 대체될 수 있다는 것을 당업자는 이해할 것이다. 예를 들면, 도 2에서의 뷰포트 공유 서버의 제 1 전송 연결 모듈 및 제 2 전송 연결 모듈의 기능들이 세션 관리 모듈로 통합될 수도 있으며, 세션 관리 모듈은 컨텐츠 배포 서버에 대한 제 1 전송 연결 및 단말에 대한 제 2 전송 연결을 확립하는데 사용된다. 본 경우에 있어서, 세션 관리 모듈은 제 1 전송 연결 모듈과 제 2 전송 연결 모듈을 결합하여 얻어진 모듈이다. 또한, 전술한 VR 뷰포트 공유 장치는 예를 들어 프로세서 및 메모리 등의 다른 공지의 구성들을 더 포함할 수 있다. 이들 공지의 구성들은 본 발명의 실시예들을 불필요하게 모호하게 하는 것을 방지하기 위해서 도시되어 있지 않다.
전술한 본 개시의 실시예에서 제공되는 VR 뷰포트 공유 시스템은 컨텐츠 배포 서버, 뷰포트 공유 서버 및 단말을 포함한다. 결과적으로, 서로 다른 단말들 사이 및 뷰포트 공유 서버와 단말들 사이의 비디오 컨텐츠의 공유가 달성될 수 있으며, 사용자에게 제공되는 정보량이 크게 증가하여, 사용자 경험이 상당히 개선된다.
이하, 단말 A가 단말 B 또는 뷰포트 공유 서버와 뷰포트 정보를 공유하는 절차에 대하여 도 4를 참조하여 설명한다.
도 4는 단말 A가 단말 B 또는 뷰포트 공유 서버와 뷰포트 정보를 공유하는 것을 나타내는 예시적인 시그널링도(signaling diagram)이다. 도 4에 도시된 바와 같이, 시그널링도(400)는 다음의 스텝들을 포함한다.
스텝들 S401 내지 S403에서, 단말 A, 단말 B 및 뷰포트 공유 서버는 각각 컨텐츠 배포 서버에 대한 RTP 세션들을 확립하며, 여기서 요청 메시지가 컨텐츠 배포 서버의 IP 어드레스 및 포트 정보를 반송(carry)한다.
스텝들 S404 내지 S405에서, 단말 A 및 단말 B는 각각 뷰포트 공유 서버에 대한 TCP 세션들을 확립하며, 여기서 요청 메시지가 뷰포트 공유 서버의 IP 어드레스 및 포트 정보를 반송한다.
스텝들 S406 내지 S408에서, 컨텐츠 배포 서버는 파노라믹 비디오 데이터를 RTP 멀티캐스트에 의해서 각각의 단말 A, 단말 B 및 뷰포트 공유 서버로 송신하며, 여기서 RTP 패킷이 파노라믹 비디오의 타임스탬프 및 코드 데이터를 반송한다. 하나의 파노라믹 비디오 데이터 프레임은 하나 이상의 RTP 패킷으로 구성될 수 있다.
스텝 S409에서, 단말 A는 실시간으로 그것의 뷰포트 정보를 제공하며, 여기서 뷰포트 정보는 뷰포트의 피치각, 뷰포트의 요우각, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함한다. 공유 플래그는 디폴트로 유지되며, 설정되지 않는다. 상기 뷰포트의 피치각 정보는 시작 피치각(start pitch angle) 및 끝 피치각(end pitch angle)을 포함할 수 있다. 또는 상기 뷰포트의 피치각 정보는 피치각의 중심(center of pitch)과 피치각의 범위(a scope of pitch)를 포함할 수 있다. 상기 뷰포트의 요우각 정보는 시작 요우각(start yaw angle) 및 끝 요우각(end yaw angle)을 포함할 수 있다. 또는 상기 뷰포트의 요우각정보는 요우의 중심(center of yaw)과 요우각의 범위(a scope of yaw)를 포함할 수 있다. 또한, 피치의 중심과 요우의 중심을 시점(viewpoint)라고 할 수 있다. 피치각의 범위와 요우각의 범위를 시야각(FOV, field of view)이라고 할 수 있다.
스텝 S410에서, 뷰포트 공유 서버는 단말 A의 뷰포트를 수신하여, 공유 플래그가 설정되지 않았음을 검출하고, 렌더링 모듈에 의해서 단말 A의 뷰포트를 디스플레이하며, 또한 단말 A의 뷰포트가 선택된 이후에는 단말 A의 뷰포트 범위 내의 비디오를 디스플레이할 수 있다.
스텝 S411에서, 단말 A는 공유 버튼을 사용하여 그것의 뷰포트를 공유하며, 여기서 뷰포트 정보는 스텝 S409에서와 동일하며, 공유 플래그가 설정된다. 본 경우에 있어서, 단말 A는 뷰포트 공유 서버로 뷰포트 정보를 송신한다.
스텝 S412에서, 뷰포트 공유 서버는, 단말 A의 공유 플래그가 설정되어있는 것을 검출하여, 단말 A의 뷰포트를 단말 B에 송신할 준비를 한다.
스텝 S413에서는, 단말 A의 뷰포트가 TCP로 단말 B에 송신된다.
스텝 S409 내지 S413은 예시적인 것이다. 상기 단말 A가 자신의 뷰포트를 공유하지 않는 경우, 상기 스텝 S409 및 S410에 따라 동작할 것이고, 상기 단말 A가 자신의 뷰포트를 공유하는 경우, 스텝 S411 내지 S413에 따라 동작할 것이다.
스텝 S414에서, 단말 B가 프리 모드로 설정되면, 단말 A의 비디오 컨텐츠는 원본 비디오에 기초하여 PIP 모드로 디스플레이될 수 있다. 대안적으로는, 단말 B가 단말 A의 비디오 컨텐츠를 풀 스크린 모드로 디스플레이할 수도 있다.
스텝들 S415 내지 S416에서, 단말 A 및 단말 B는 그들 각각의 포트들을 디스에이블하여, 확립되어 있는 세션을 빠져나간다.
도 4에 도시된 전술한 스텝들은 본 개시의 실시예에 따라 단말 A가 단말 B 또는 뷰포트 공유 서버와 뷰포트 정보를 공유하는 예시적인 실시예일 뿐이며, 본 개시의 제한으로서 고려되지 않는다는 것을 당업자는 이해할 것이다. 예를 들어, 도 4의 경우에는, 스텝들 S401 및 S402가 역으로 수행될 수 있으며, 스텝들 S406, S407 및 S408은 동시에 수행될 수 있다.
이하, 단말 A가 단말 B 또는 뷰포트 공유 서버의 뷰포트 정보를 추적하는 절차에 대하여 도 5를 참조하여 설명한다.
도 5는 단말 A가 단말 B 또는 뷰포트 공유 서버의 뷰포트 정보를 추적하는 것을 나타내는 예시적인 시그널링도이다. 도 5에 도시된 바와 같이, 시그널링도(500)는 다음의 스텝들을 포함한다.
스텝들 S501 내지 S503에서, 단말 A, 단말 B 및 뷰포트 공유 서버는 각각 컨텐츠 배포 서버에 대한 RTP 세션들을 확립하며, 여기서 요청 메시지가 컨텐츠 배포 서버의 IP 어드레스 및 포트 정보를 반송(carry)한다.
스텝들 S504 내지 S505에서, 단말 A 및 단말 B는 각각 뷰포트 공유 서버에 대한 TCP 세션들을 확립하며, 여기서 요청 메시지가 뷰포트 공유 서버의 IP 어드레스 및 포트 정보를 반송한다.
스텝들 S506 내지 S508에서, 컨텐츠 배포 서버는 RTP 멀티캐스트에 의해서, 각각의 단말 A, 단말 B 및 뷰포트 공유 서버로 파노라믹 비디오 데이터를 송신하며, 여기서 RTP 패킷이 파노라믹 비디오의 타임스탬프 및 코드 데이터를 반송한다. 하나의 파노라믹 비디오 데이터 프레임은 하나 이상의 RTP 패킷으로 구성될 수 있다.
스텝 S509에서, 단말 B는 실시간으로 그것의 뷰포트 정보를 제공하며, 여기서 뷰포트 정보는 뷰포트의 피치각, 뷰포트의 요우각, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함한다. 공유 플래그는 디폴트로 유지되며 설정되지 않는다.
스텝 S510에서, 뷰포트 공유 서버는 단말 B의 뷰포트를 수신하여, 공유 플래그가 설정되어 있지 않음을 검출하고, 렌더링 모듈에 의해 단말 B의 뷰포트를 디스플레이하며, 또한 단말 B의 뷰포트가 선택된 후에는 단말 B의 뷰포트 범위 내의 비디오를 디스플레이할 수 있다.
스텝 S511에서, 단말 A는 뷰포트 공유 서버에게 뷰포트 추적 요청을 제출함으로써, 단말 B와 동일한 뷰포트로부터 가상 컨텐츠를 브라우즈한다.
스텝 S512에서, 뷰포트 공유 서버는 단말 A로부터 요청을 수신하여, 단말 B의 뷰포트 정보를 제공한다.
스텝 S513에서, 단말 A는 단말 B의 뷰포트 정보를 획득하여, 단말 B의 뷰포트 범위 내의 가상 컨텐츠를 풀 스크린 모드로 디스플레이한다.
스텝 S514에서, 단말 A는 뷰포트 공유 서버에게 뷰포트 추적 요청을 제출함으로써, 뷰포트 공유 서버와 동일한 뷰포트로부터 가상 컨텐츠를 브라우즈한다.
스텝 S515에서, 뷰포트 공유 서버는 단말 A로부터 요청을 수신하여, 뷰포트 공유 서버의 뷰포트 정보를 제공한다.
스텝 S516에서, 단말 A는 뷰포트 공유 서버의 뷰포트 정보를 획득하여, 뷰포트 공유 서버의 뷰포트 범위 내의 가상 컨텐츠를 풀 스크린 모드로 디스플레이한다.
스텝들 S517 내지 S518에서, 단말 A 및 단말 B는 그들의 포트들을 각각 디스에이블하여, 확립되어 있는 세션을 빠져나간다.
도 5에 도시된 전술한 스텝들은 본 개시의 실시예에 따라 단말 A가 단말 B 또는 뷰포트 공유 서버의 뷰포트 정보를 추적하는 예시적인 실시예일 뿐이며, 본 개시에 대한 제한으로서 고려되지 않는다는 것을 당업자는 이해할 것이다. 예를 들어, 도 5의 경우, 스텝들 S501 및 S502가 역으로 수행될 수 있으며, 스텝들 S505, S506 및 S507은 동시에 수행될 수도 있다.
이하, 뷰포트 공유 서버가 그것의 뷰포트 정보를 단말 A와 단말 B에게 푸시하는 절차에 대하여 도 6을 참조하여 설명한다.
도 6은 뷰포트 공유 서버가 그것의 뷰포트 정보를 단말 A 및 단말 B에 푸시하는 것을 나타내는 예시적인 시그널링도이다. 도 6에 도시된 바와 같이, 시그널링도(600)는 다음의 스텝들을 포함한다.
스텝들 S601 내지 S603에서, 단말 A, 단말 B 및 뷰포트 공유 서버는 각각 컨텐츠 배포 서버에 대한 RTP 세션들을 확립하며, 여기서 요청 메시지가 컨텐츠 배포 서버의 IP 어드레스 및 포트 정보를 반송(carry)한다.
스텝들 S604 내지 S605에서, 단말 A 및 단말 B는 각각 뷰포트 공유 서버에 대한 TCP 세션들을 설정하며, 여기서 요청 메시지가 뷰포트 공유 서버의 IP 어드레스 및 포트 정보를 반송한다.
스텝들 S606 내지 S608에서, 컨텐츠 배포 서버는 RTP 멀티캐스트에 의해서 각각의 단말 A, 단말 B 및 뷰포트 공유 서버로 파노라믹 비디오 데이터를 송신하며, 여기서 RTP 패킷이 파노라믹 비디오의 타임스탬프 및 코드 데이터를 반송한다. 하나의 파노라믹 비디오 데이터 프레임은 하나 이상의 RTP 패킷으로 구성될 수 있다.
스텝 S609에서, 단말 B는 실시간으로 그것의 뷰포트 정보를 제공하며, 여기서 뷰포트 정보는 뷰포트의 피치각, 뷰포트의 요우각, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함한다. 공유 플래그는 디폴트로 유지되며, 설정되지 않는다.
스텝 S610에서, 뷰포트 공유 서버는 단말 B의 뷰포트를 수신하여, 공유 플래그가 설정되지 않았음을 검출하고, 렌더링 모듈에 의해 단말 B의 뷰포트를 디스플레이하며, 또한 단말 B의 뷰포트가 선택된 이후에는 단말 B의 뷰포트 범위 내의 비디오를 디스플레이할 수 있다.
스텝 S611에서, 단말 A는 실시간으로 그것의 뷰포트 정보를 제공하며, 여기서 뷰포트 정보는 뷰포트의 피치각, 뷰포트의 요우각, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함한다. 공유 플래그는 디폴트로 유지되며, 설정되지 않는다.
스텝 S612에서, 뷰포트 공유 서버는 단말 A의 뷰포트를 수신하여, 공유 플래그가 설정되지 않았음을 검출하고, 렌더링 모듈에 의해 단말 A의 뷰포트를 디스플레이하며, 단말 A의 뷰포트가 선택된 후에는 단말 A의 뷰포트 범위 내의 비디오를 디스플레이할 수 있다.
스텝들 S613 내지 S614에서, 뷰포트 공유 서버는 그것의 뷰포트 정보를 단말 A 및 단말 B에 푸시한다.
스텝들 S615 내지 S616에서, 단말 A 및 단말 B는 뷰포트 공유 서버에 의해 푸시된 뷰포트를 수신하여, 그 뷰포트를 PIP 모드로 또는 풀 스크린 모드로 디스플레이한다.
스텝들 S617 내지 S618에서, 단말 A 및 단말 B는 그들의 포트를 각각 디스에이블하여, 확립되어 있는 세션을 빠져나간다.
도 6에 도시된 전술한 스텝들은 본 개시의 실시예에 따라 뷰포트 공유 서버가 그것의 뷰포트 정보를 단말 A 및 단말 B에 푸시하는 예시적 실시예일 뿐이며, 본 개시에 대한 제한으로서 고려되지 않는다는 것을 당업자는 이해할 것이다. 예를 들어, 도 6의 경우, 스텝들 S601 및 S602가 역으로 수행될 수 있으며, 스텝들 S606, S607 및 S608은 동시에 수행될 수 있다.
전술한 본 개시의 실시예들에서 제공되는 VR 뷰포트 공유 방법에 따르면, 사용자에게 제공되는 정보량이 크게 증가하며, 이에 따라 사용자 경험이 상당히 개선된다.
도 2 내지 도 6의 VR 뷰포트 공유 시스템, VR 뷰포트를 공유하기 위한 뷰포트 공유 서버 내의 장치 및 VR 뷰포트를 공유하기 위한 단말 내의 장치에 대한 전술한 실시예들 이외에, 본 개시는 시스템에 적용 가능한 VR 뷰포트 공유 방법, 뷰포트 공유 서버에 적용 가능한 VR 뷰포트 공유 방법, 및 단말에 적용 가능한 VR 뷰포트 공유 방법의 실시예들을 더 제공한다.
본 개시의 실시예에 따른 시스템에 적용 가능한 VR 뷰포트 공유 방법은, 컨텐츠 배포 서버에 의해서, 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립하여 단말 및 뷰포트 공유 서버로 파노라믹 비디오 데이터를 멀티캐스팅하는 과정; 뷰포트 공유 서버에 의해서, 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하여 파노라믹 비디오 데이터를 수신하는 과정; 뷰포트 공유 서버에 의해서, 단말에 대한 제 2 전송 연결을 확립하여 단말에 의해 제공되는 뷰포트 정보를 수신하거나 단말에게 뷰포트 정보를 송신하는 과정; 뷰포트 공유 서버에 의해서, 수신된 뷰포트 정보를 렌더링하는 과정; 단말에 의해서, 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하여 파노라믹 비디오 데이터를 수신하는 과정; 단말에 의해서, 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하는 과정; 단말에 의해서, 사용자 뷰포트 범위 내의 비디오를 렌더링하는 과정; 단말에 의해서, 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하여 단말의 뷰포트 정보를 제공하고 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 단말에 의해서, 파노라믹 비디오 데이터를, 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하는 과정; 및 단말에 의해서, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 단말에 의해서, 단말의 뷰포트 정보를 제공하는 것은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우, 뷰포트 정보에서 공유 플래그 정보가 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 뷰포트 공유 서버에게 제공하는 것을 포함한다. 또한, 뷰포트 공유 서버에 의해서, 단말에게 뷰포트 정보를 송신하는 것은, 단말로부터 뷰포트 정보를 수신한 것에 응답하여, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 공유 플래그 정보가 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 송신하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 단말에 의해서, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 송신하고, 제 1 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보만을 수신하는 과정; 및 뷰포트 공유 서버에 의해서, 제 1 요청을 수신한 것에 대한 응답으로, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 단말에게 송신하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 단말에 의해서, 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 뷰포트 공유 서버에게 송신하고, 제 2 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 미리 정해진 단말의 뷰포트 정보를 수신하는 과정; 및 뷰포트 공유 서버에 의해서, 제 2 요청을 수신한 것에 대한 응답으로, 미리 정해진 단말의 뷰포트 정보를 단말에게 송신하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 단말에 의해서, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 단말에 의해서, 사용자 뷰포트 범위 내의 비디오를 렌더링하고, 단말에 의해서, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 것은, 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 단말에 의해서, 수신된 뷰포트 정보에 대응하는 비디오를 사용자 뷰포트 범위 내에서 렌더링된 비디오로 렌더링하거나, 또는 단말에 의해서, 사용자 뷰포트 범위 내의 비디오를, 수신된 뷰포트 정보에 대응하는 렌더링된 비디오로 렌더링하거나; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 단말에 의해서, 수신된 뷰포트 정보에 대응하는 비디오를 풀 스크린 모드로 렌더링하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 뷰포트 공유 서버에 의해서, 뷰포트 정보를 단말에게 송신하는 것은, 뷰포트 공유 서버에 의해서, 공유 동작을 수신한 것에 대한 응답으로, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 뷰포트 공유 서버에 의해서, 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정; 또는 뷰포트 공유 서버에 의해서, 뷰포트 공유 서버에 의해 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 응답하여, 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 뷰포트 정보는 뷰포트의 피치각, 뷰포트의 요우각, 공유 플래그 정보 및 뷰포트 소유자 정보를 포함한다.
전술한 본 시스템에 적용 가능한 VR 뷰포트 공유 방법에 기록된 스텝들은 도 1 내지 도 6을 참조하여 각각 설명한 시스템 내의 단말들에 대응함을 이해할 것이다. 따라서, 도 1 내지 도 6의 단말들에 대해 설명된 동작들 및 특징들은 전술한 VR 뷰포트 공유 방법에 기록된 스텝들에 대해서도 적용 가능하며, 따라서 이하에서는 반복적으로 설명되지 않을 것이다.
본 개시의 실시예에 따른 뷰포트 공유 서버에 적용 가능한 VR 뷰포트 공유 방법은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하는 과정; 제 1 전송 연결을 통해, 컨텐츠 배포 서버에 의해 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정; 단말에 대한 제 2 전송 연결을 확립하는 과정; 제 2 전송 연결을 통해, 단말에 의해 제공되는 뷰포트 정보를 수신하는 과정; 제 2 전송 연결을 통해, 뷰포트 정보를 단말에게 송신하는 과정; 및 수신된 뷰포트 정보를 렌더링하는 과정을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 제 2 전송 연결을 통해, 뷰포트 정보를 단말에게 송신하는 것은, 단말로부터 뷰포트 정보를 수신한 것에 대한 응답으로, 제 2 전송 연결을 통해, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 네트워크 내의 단말에게, 공유 플래그 정보가 미리 정해진 값으로 설정되어 있다는 것을 나타내는 뷰포트 정보를 송신하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 제 2 전송 연결을 통해, 뷰포트 정보를 단말에게 송신하는 것은, 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 단말로부터 송신되는 제 1 요청을 수신한 것에 대한 응답으로, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보만을 제 2 전송 연결을 통해 단말에게 송신하되, 제 1 요청은 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 요청으로서 단말로부터 뷰포트 공유 서버로 송신되는 것; 및 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 단말로부터 송신되는 제 2 요청을 수신한 것에 대한 응답으로, 미리 정해진 단말의 뷰포트 정보를 제 2 전송 연결을 통해 단말에게 송신하되, 제 2 요청은 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 요청으로서 단말로부터 뷰포트 공유 서버로 송신되는 것 중의 어느 하나를 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 제 2 전송 연결을 통해, 뷰포트 정보를 단말에게 송신하는 것은, 제 2 전송 연결을 통해, 공유 동작을 수신한 것에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 허용하는 단말에게, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 송신하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정; 또는 렌더링되는 수신된 뷰포트 정보에 대한 선택 동작을 수신한 것에 대한 응답으로, 파노라믹 비디오 데이터 및 수신된 뷰포트 정보에 기초하여, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 더 포함한다.
전술한 뷰포트 공유 서버에 적용 가능한 VR 뷰포트 공유 방법에 기록된 스텝들은 도 2 및 도 3을 참조하여 각각 설명한 뷰포트 공유 서버 내의 모듈들에 대응함을 이해할 것이다. 따라서, 도 2 및 도 3의 모듈들에 대해 설명된 동작들 및 특징들은 전술한 뷰포트 공유 서버에 적용 가능한 VR 뷰포트 공유 방법에 기록된 스텝들에 대해서도 적용 가능하며, 따라서 이하에서는 반복적으로 설명되지 않을 것이다.
본 개시의 실시예에 따른 단말에 적용 가능한 VR 뷰포트 공유 방법은 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립하는 과정; 제 1 전송 연결을 통해 파노라믹 비디오 데이터를 수신하는 과정; 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하여, 사용자 뷰포트 범위 내의 비디오를 렌더링하는 과정; 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립하는 과정; 제 2 전송 연결을 통해 단말의 뷰포트 정보를 제공하는 과정; 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 파노라믹 비디오 데이터를, 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하는 과정; 및 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 과정을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 제 2 전송 연결을 통해 단말의 뷰포트 정보를 제공하는 것은, 사용자가 공유 플래그 정보를 미리 정해진 값으로 설정한 경우에, 제 2 전송 연결을 통해, 뷰포트 정보에서 공유 플래그 정보가 미리 정해진 값으로 설정되어 있음을 나타내는 뷰포트 정보를 뷰포트 공유 서버에게 제공하는 것을 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 뷰포트 공유 서버에 대한 뷰포트 추적 모드일 경우, 제 2 전송 연결을 통해, 뷰포트 공유 서버에 의해 수신된 뷰포트 정보를 획득하기 위한 제 1 요청을 뷰포트 공유 서버에게 송신하고, 제 1 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 과정; 또는 사용자에 의해 설정된 뷰포트 공유 모드가 미리 정해진 단말에 대한 뷰포트 추적 모드일 경우, 제 2 전송 연결을 통해, 미리 정해진 단말의 뷰포트 정보를 획득하기 위한 제 2 요청을 뷰포트 공유 서버에게 송신하고, 제 2 요청에 대한 응답으로 뷰포트 공유 서버로부터 송신되는 미리 정해진 단말의 뷰포트 정보를 수신하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 뷰포트 공유 모드가 DND 모드일 경우, 뷰포트 공유 서버로부터 송신되는 뷰포트 정보를 수신하는 것을 중지하는 과정을 더 포함한다.
본 실시예의 몇몇 선택적 구현예들에 따르면, 본 방법은 사용자에 의해 설정된 렌더링 모드가 PIP 모드일 경우, 뷰포트 정보에 대응하는 비디오를 사용자 뷰포트 범위 내에서 렌더링되는 비디오로 렌더링하거나, 또는 사용자 뷰포트 범위 내의 비디오를 수신된 뷰포트 정보에 대응하는 렌더링되는 비디오로 렌더링하는 과정; 또는 사용자에 의해 설정된 렌더링 모드가 풀 스크린 모드일 경우, 수신된 뷰포트 정보에 대응하는 비디오를 풀 스크린 모드로 렌더링하는 과정을 더 포함한다.
전술한 단말에 적용 가능한 VR 뷰포트 공유 방법에 기록된 스텝들은 도 2를 참조하여 설명한 단말 내의 모듈들에 대응함을 이해할 것이다. 따라서, 도 2의 단말 내의 모듈들에 대해 설명된 동작들 및 특징들은 전술한 단말에 적용 가능한 VR 뷰포트 공유 방법에 기록된 스텝들에 대해서도 적용 가능하며, 따라서 이하에서는 반복적으로 설명되지 않을 것이다.
전술한 본 개시의 실시예들에서, 제 1 요청 및 제 2 요청은 단지 2개의 상이한 요청들을 나타낸 것이다. 용어 "제 1" 및 "제 2"는 그 요청에 대한 제한으로서 고려되지 않음을 당업자는 이해해야 한다.
마찬가지로, 전술한 본 개시의 실시예들에서, 제 1 전송 연결 및 제 2 전송 연결은 단지 2개의 상이한 전송 연결들을 나타내며, 여기서 제 1 전송 연결은 파노라믹 비디오 데이터의 멀티캐스팅에 적합한 연결 방법이고, 제 2 전송 연결 뷰포트 정보를 송신하기에 적합한 연결 방법이다. 용어들 "제 1" 및 "제 2"는 전송 연결에 대한 제한으로서 고려되지 않음을 당업자는 이해해야 한다.
이제, 도 7을 참조하면, 본 개시의 실시예에 따른 단말 장치를 구현하도록 구성된 컴퓨터 시스템(700)의 개략적인 구조도가 도시되어있다.
도 7에 도시된 바와 같이, 컴퓨터 시스템(700)은 ROM(read-only memory)(702)에 저장된 프로그램 또는 저장부(708)로부터 RAM(random access memory)(703)으로 로딩되는 프로그램에 따라 다양한 적절한 동작 및 프로세스를 실행할 수 있는 CPU(central processing unit)(701)를 포함한다. 또한, RAM(703)은 시스템(700)의 동작에 필요한 다양한 프로그램 및 데이터를 저장한다. CPU(701), ROM(702) 및 RAM(703)은 버스(704)를 통해 서로 연결된다. 또한, 입/출력(I/O) 인터페이스(705)도 버스(704)에 연결된다. CPU(701)는 프로세서(processor)일 수 있다. RAM(703)과 ROM(702)은 메모리(memory)의 일종이다. 본 개시에 따른 콘텐츠 배포 서버, 뷰포트 공유 서버, 단말은 컴퓨터 시스템(700)일 수 있다.
다음과 같은 컴포넌트들이 I/O 인터페이스(705)에 연결된다: 키보드 등을 포함하는 입력부(706); CRT(cathode ray tube), LCD(liquid crystal display device), 스피커 등을 포함하는 출력부(707); 하드 디스크 등을 포함하는 저장부(708); 및 NFC 컴포넌트, LAN 카드 및 모뎀과 같은 네트워크 인터페이스 카드를 포함하는 통신부(709)를 포함한다. 통신부(709)는 인터넷 등의 네트워크를 통해 통신 프로세스들을 수행한다. 통신부(709)는 송수신기(transceiver, 트랜시버)일 수 있다.
특히, 본 발명의 실시예에 따르면, 흐름도를 참조하여 전술한 프로세스는 컴퓨터 소프트웨어 프로그램으로 구현될 수도 있다. 예를 들어, 본 발명의 실시예는 기계 판독가능한 매체에 유형적으로 내장된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램은 흐름도의 방법을 실행하기 위한 프로그램 코드를 포함한다. 이러한 일 실시예에서, 컴퓨터 프로그램은 통신부(709)를 통해 네트워크로부터 다운로드되어 설치될 수 있다.
도면의 흐름도 및 블록도는 본 발명의 다양한 실시예들의 시스템, 방법 및 컴퓨터 프로그램 제품에 따라 구현될 수 있는 구조, 기능 및 동작을 도시한 것이다. 이와 관련하여, 흐름도 및 블록도 내의 각 블록은 모듈, 프로그램 세그먼트 또는 코드 부분을 나타낼 수 있다. 모듈, 프로그램 세그먼트 또는 코드 부분은 특정 논리 기능을 구현하기 위한 하나 이상의 실행 가능한 명령을 포함한다. 몇몇 대안적인 구현예들에서, 블록에 의해 표시된 기능은 도면에 도시된 시퀀스와 상이한 시퀀스로 발생할 수 있음에 유의해야 한다. 예를 들어, 실제에 있어서는, 관련된 기능에 따라, 실질적으로 병렬로, 또는 역순으로 연속 2개의 블록이 실행될 수도 있다. 또한, 블록도 및/또는 흐름도 및 블록들의 조합 내의 각 블록은 특정 기능 또는 동작을 실행하는 전용 하드웨어 기반 시스템에 의해 구현될 수 있거나, 또는 전용 하드웨어와 컴퓨터 명령들의 조합에 의해 구현될 수 있음에 유의해야 한다.
본 개시의 실시예들에 포함된 유닛들은 소프트웨어 또는 하드웨어에 의해 구현될 수 있다. 또한, 상기 유닛들은 예를 들어, 비디오 수신 모듈, 뷰포트 수신 모듈 및 뷰포트 송신 모듈을 포함하는 프로세서로서 기술되는 프로세서로 제공될 수 있으며, 여기서 이들 유닛의 명칭은 그 유닛에 대한 제한으로서 고려되지 않는다. 예를 들어, 비디오 수신 모듈은 "컨텐츠 배포 서버에 의해 멀티캐스팅된 파노라믹 비디오 데이터를 제 1 전송 연결을 통해 수신하기 위한 모듈"로 기술될 수도 있다.
다른 양태에서, 본 개시는 비휘발성 컴퓨터 판독가능한 저장 매체를 더 제공한다. 비휘발성 컴퓨터 판독 가능한 기록 매체는 전술한 실시예들에서의 장치에 포함되는 컴퓨터 판독 가능한 기록 매체이거나, 또는 장치에 조립되어 있지 않은 독립형 컴퓨터 판독 가능한 저장 매체일 수 있다. 전술한 컴퓨터 판독 가능한 저장 매체는 하나 이상의 프로그램을 저장한다. 전술한 하나 이상의 프로그램은, 전술한 디바이스에 의해 실행될 시에, 디바이스로 하여금 다음의 동작들을 수행하게 한다: 컨텐츠 배포 서버에 의해서, 각각의 단말 및 뷰포트 공유 서버에 대한 제 1 전송 연결들을 확립함으로써 파노라믹 비디오 데이터를 단말 및 뷰포트 공유 서버에 멀티캐스팅하는 동작; 뷰포트 공유 서버에 의해서, 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 파노라믹 비디오 데이터를 수신하는 동작; 뷰포트 공유 서버에 의해서, 단말에 대한 제 2 전송 연결을 확립함으로써 단말에 의해 제공되는 뷰포트 정보를 수신하거나 단말에게 뷰포트 정보를 송신하는 동작; 뷰포트 공유 서버에 의해서, 수신된 뷰포트 정보를 렌더링하는 동작; 단말에 의해서, 컨텐츠 배포 서버에 대한 제 1 전송 연결을 확립함으로써 파노라믹 비디오 데이터를 수신하는 동작; 단말에 의해서, 파노라믹 비디오 데이터를 사용자 뷰포트 범위 내의 비디오 데이터로 변환하는 동작; 단말에 의해서, 사용자 뷰포트 범위 내의 비디오를 렌더링하는 동작; 단말에 의해서, 뷰포트 공유 서버에 대한 제 2 전송 연결을 확립함으로써 단말의 뷰포트 정보를 제공하고 뷰포트 공유 서버로부터 뷰포트 정보를 수신하는 동작; 단말에 의해서, 파노라믹 비디오 데이터를, 수신된 뷰포트 정보에 대응하는 비디오 데이터로 변환하는 동작; 및 단말에 의해서, 수신된 뷰포트 정보에 대응하는 비디오를 렌더링하는 동작.
전술한 내용은 단지 본 개시의 바람직한 실시예 및 적용된 기술 원리에 대한 설명일 뿐이다. 본 개시의 범위가 상기 기술적 특징의 특정 조합에 의해 형성된 기술적 해결책에 한정되지 않음을 당업자는 이해할 것이다. 또한, 본 발명의 범위는 본 발명의 개념을 벗어나지 않는다면 상기 기술 특징 또는 이와 동등한 특징의 임의의 조합에 의해 형성된 다른 기술적 해결책을 포괄하며, 예를 들어 본 개시에 개시된 특징을 유사한 기능을 가진 기술적 특징으로(이에 한정되지 않음) 대체하여 형성되는 기술적 해결책을 포괄한다.

Claims (20)

  1. 컨텐츠 배포 서버, 뷰포트 공유 서버 및 복수의 단말들을 포함하는 뷰포트(viewport) 공유 시스템에서, 상기 뷰포트 공유 서버에 의해 뷰포트를 공유하는 방법으로서,
    컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정;
    제1 단말로부터, 상기 제1 단말이 생성한 제1 뷰포트 정보를 수신하는 과정;
    제2 단말에게, 상기 제1 뷰포트 정보를 송신하는 과정;
    제3 단말에게, 상기 뷰포트 공유 서버가 생성한 제2 뷰포트 정보를 송신하는 과정;
    상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제1 비디오 데이터를 생성하는 과정; 및
    상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제2 비디오 데이터를 생성하는 과정;
    을 포함하고,
    상기 제1 단말, 상기 제2 단말 및 상기 제3 단말은 상기 복수의 단말들에 포함되는 방법.
  2. 제1항에 있어서,
    상기 컨텐츠 배포 서버와 제1 전송 연결을 확립하는 과정; 및
    상기 복수의 단말들 중 하나의 단말과 제2 전송 연결을 확립하는 과정;
    을 더 포함하고,
    상기 파노라믹 비디오 데이터는, 상기 제1 전송 연결을 통하여 수신되고,
    상기 제1 뷰포트 정보는, 상기 제2 전송 연결을 통하여 송신되거나 수신되고,
    상기 제2 뷰포트 정보는, 상기 제2 전송 연결을 통하여 수신되는 방법.
  3. 제1항에 있어서,
    상기 제1 뷰포트 정보 및 제2 뷰포트 정보는 각각 피치각 정보, 요우각 정보, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함하는 방법.
  4. 제1항에 있어서,
    상기 제3 단말로부터, 상기 뷰포트 공유 서버의 뷰포트를 추적하기 위하여 제1 요청을 수신하고, 상기 제1 요청에 응답하여, 상기 제2 뷰포트 정보를 상기 제3 단말에게 송신하는 과정; 및
    상기 제2 단말로부터, 상기 제1 단말의 뷰포트를 추적하기 위하여 제2 요청을 수신하고, 상기 제2 요청에 응답하여, 상기 제1 뷰포트 정보를 상기 제2 단말에게 송신하는 과정
    을 더 포함하는 방법
  5. 제1항에 있어서,
    상기 제1 비디오 데이터 또는 상기 제2 비디오 데이터를 상기 제1 단말, 제2 단말, 제3 단말 중 적어도 하나에 송신하는 과정을
    더 포함하는 방법.
  6. 컨텐츠 배포 서버, 뷰포트 공유 서버 및 복수의 단말들을 포함하는 뷰포트(viewport) 공유 시스템에서 상기 복수의 단말들 중 하나에 의하여 뷰포트를 공유하는 방법으로서,
    상기 컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하는 과정;
    제1 뷰포트 정보를 생성하는 과정;
    상기 뷰포트 공유 서버로 상기 제1 뷰포트 정보를 송신하는 과정;
    상기 뷰포트 공유 서버로부터 상기 제2 뷰포트 정보를 수신하는 과정;
    상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제1 비디오 데이터를 생성하는 과정; 및
    상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제2 비디오 데이터를 생성하는 과정;
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 컨텐츠 배포 서버와 제1 전송 연결을 확립하는 과정; 및
    상기 뷰포트 공유 서버와 제2 전송 연결을 확립하는 과정;
    를 더 포함하고,
    상기 파노라믹 비디오 데이터는, 상기 제1 전송 연결을 통하여 수신되고,
    상기 제1 뷰포트 정보는, 상기 제2 전송 연결을 통하여 송신되고,
    상기 제2 뷰포트 정보는, 상기 제2 전송 연결을 통하여 수신되는 방법.
  8. 제6항에 있어서,
    상기 제1 뷰포트 정보 및 제2 뷰포트 정보는 각각 피치각 정보, 요우각 정보, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함하는 방법.
  9. 제6항에 있어서,
    상기 뷰포트 공유 서버의 뷰포트를 추적하기 위하여 제1 요청을 송신하고, 제1 요청에 대응하는 상기 뷰포트 공유 서버의 뷰포트 정보를 수신하는 과정; 또는
    상기 복수의 단말들 중 다른 단말의 뷰포트를 추적하기 위하여 제2 요청을 송신하고, 제2 요청에 대응하는 상기 다른 단말의 뷰포트 정보를 수신하는 과정;
    중 적어도 하나의 과정을 더 포함하는 방법
  10. 제6항에 있어서,
    상기 제1 비디오 데이터 또는 상기 제2 비디오 데이터를 상기 뷰포트 공유 서버에 송신하는 과정을
    더 포함하는 방법.
  11. 뷰포트를 공유하기 위한 장치로서,
    컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하도록 구성되는 제1 송수신기;
    제1 단말로부터, 상기 제1 단말이 생성한 제1 뷰포트 정보를 수신하고, 제2 단말에게, 상기 제1 뷰포트 정보를 송신하고, 제3 단말에게, 상기 뷰포트 공유 서버가 생성한 제2 뷰포트 정보를 송신하도록 구성되는 제2 송수신기; 및
    상기 제1 송수신기 및 상기 제2 송수신기에 연결된 제어기를 포함하고,
    상기 제어기는,
    상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제1 비디오 데이터를 생성하고, 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여 제2 비디오 데이터를 생성하도록 구성되는 장치.
  12. 제11항에 있어서,
    상기 제1 송수신기는,
    상기 컨텐츠 배포 서버와 제1 전송 연결을 확립하고, 상기 제1 전송 연결을 통하여, 상기 컨텐츠 배포 서버로부터 상기 파노라믹 비디오 데이터를 수신하도록 추가로 구성되고,
    상기 제2 송수신기는,
    상기 제1 단말, 상기 제2 단말 및 상기 제3 단말 중 하나와 제2 전송 연결을 확립하고, 상기 제2 전송 연결을 통하여, 상기 제1 뷰포트 정보를 송신하거나 수신하고, 상기 제2 뷰포트 정보를 수신하도록 추가로 구성되는 장치.
  13. 제11항에 있어서,
    상기 제1 뷰포트 정보 및 제2 뷰포트 정보는 각각 피치각 정보, 요우각 정보, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함하는 장치.
  14. 제11항에 있어서,
    상기 제2 송수신기는,
    상기 제3 단말로부터, 상기 뷰포트 공유 서버의 뷰포트를 추적하기 위하여 제1 요청을 수신하고, 상기 제1 요청에 응답하여, 상기 제2 뷰포트 정보를 상기 제3 단말에게 송신하고,
    상기 제2 단말로부터, 상기 제1 단말의 뷰포트를 추적하기 위하여 제2 요청을 수신하고, 상기 제2 요청에 응답하여, 상기 제1 뷰포트 정보를 상기 제2 단말에게 송신하도록 추가로 구성되는 장치.
  15. 제11항에 있어서,
    상기 제2 송수신기는,
    상기 제1 비디오 데이터 또는 상기 제2 비디오 데이터를 상기 제1 단말, 제2 단말, 제3 단말 중 적어도 하나에 송신하도록 추가로 구성되는 장치.
  16. 뷰포트를 공유하기 위한 장치로서,
    컨텐츠 배포 서버로부터 멀티캐스팅된 파노라믹 비디오 데이터를 수신하도록 구성되는 제1 송수신기;
    제1 뷰포트 정보를 뷰포트 공유 서버로 송신하고, 상기 뷰포트 공유 서버로부터 제2 뷰포트 정보를 수신하도록 구성되는 제2 송수신기; 및
    상기 제1 송수신기 및 상기 제2 송수신기에 연결된 제어기를 포함하고,
    상기 제어부는,
    상기 제1 뷰포트 정보를 생성하고, 상기 제1 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제1 비디오 데이터를 생성하고, 상기 제2 뷰포트 정보에 기반하여, 상기 파노라믹 비디오 데이터를 렌더링하여, 제2 비디오 데이터를 생성하도록 구성되는 장치.
  17. 제16항에 있어서,
    상기 제1 송수신기는,
    상기 컨텐츠 배포 서버와 제1 전송 연결을 확립하고, 상기 제1 전송 연결을 통하여, 상기 컨텐츠 배포 서버로부터 상기 파노라믹 비디오 데이터를 수신하도록 추가로 구성되고,
    상기 제2 송수신기는,
    상기 뷰포트 공유 서버와 제2 전송 연결을 확립하고, 상기 제2 전송 연결을 통하여, 상기 제1 뷰포트 정보를 송신하고, 상기 제2 뷰포트 정보를 수신하도록 추가로 구성되는 장치.
  18. 제16항에 있어서,
    상기 제1 뷰포트 정보 및 제2 뷰포트 정보는 각각 피치각 정보, 요우각 정보, 뷰포트 소유자 정보 및 공유 플래그 정보를 포함하는 장치.
  19. 제16항에 있어서,
    상기 제2 송수신기는,
    상기 뷰포트 공유 서버의 뷰포트를 추적하기 위하여 제1 요청을 송신하고, 상기 제1 요청에 대응하는 상기 뷰포트 공유 서버의 뷰포트 정보를 수신하고,
    다른 단말의 뷰포트를 추적하기 위하여 제2 요청을 송신하고, 상기 제2 요청에 대응하는 상기 다른 단말의 뷰포트 정보를 수신하도록 추가로 구성되는 장치
  20. 제16항에 있어서,
    상기 제2 송수신기가,
    상기 제1 비디오 데이터 또는 상기 제2 비디오 데이터를 상기 뷰포트 공유 서버에 송신하도록 추가로 구성되는 장치.
KR1020170117431A 2016-09-14 2017-09-13 가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템 KR102375307B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610826631.8A CN106385587B (zh) 2016-09-14 2016-09-14 分享虚拟现实视角的方法、装置及系统
CN201610826631.8 2016-09-14

Publications (2)

Publication Number Publication Date
KR20180030393A true KR20180030393A (ko) 2018-03-22
KR102375307B1 KR102375307B1 (ko) 2022-03-17

Family

ID=57935759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117431A KR102375307B1 (ko) 2016-09-14 2017-09-13 가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템

Country Status (5)

Country Link
US (1) US20180074679A1 (ko)
EP (1) EP3475924A4 (ko)
KR (1) KR102375307B1 (ko)
CN (1) CN106385587B (ko)
WO (1) WO2018052251A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769797B2 (en) * 2017-01-05 2020-09-08 Samsung Electronics Co., Ltd. Virtual reality experience sharing
CN108462729B (zh) * 2017-02-17 2023-01-10 北京三星通信技术研究有限公司 实现终端设备交互的方法和装置、终端设备及服务器
CN108632631B (zh) * 2017-03-16 2020-08-07 华为技术有限公司 一种全景视频中视频分片的下载方法和装置
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
KR20180113109A (ko) * 2017-04-05 2018-10-15 삼성전자주식회사 전자 장치 및 전자 장치의 화면 표시 방법
CN106990848B (zh) * 2017-04-10 2023-06-20 河南中医药大学 一种虚拟现实防眩晕方法和系统
US10430147B2 (en) 2017-04-17 2019-10-01 Intel Corporation Collaborative multi-user virtual reality
US11782669B2 (en) 2017-04-28 2023-10-10 Microsoft Technology Licensing, Llc Intuitive augmented reality collaboration on visual data
CN107172136B (zh) * 2017-05-04 2018-07-03 腾讯科技(深圳)有限公司 体素数据的同步方法和装置
DE102017208936A1 (de) 2017-05-29 2018-11-29 Audi Ag Verfahren zum Betreiben eines Virtual-Reality-Systems und Virtual-Reality-System
CN108924534B (zh) * 2017-06-21 2020-03-17 腾讯科技(深圳)有限公司 全景图像的展示方法、客户端、服务器及存储介质
CN109246438B (zh) * 2017-07-10 2020-11-17 上海交通大学 基于用户消费信息的视频处理方法及装置
CN108307182A (zh) * 2017-08-04 2018-07-20 东北大学 一种基于虚拟现实技术的网络交互共享体验系统和方法
CN107613338A (zh) * 2017-09-25 2018-01-19 中兴通讯股份有限公司 视频传输方法、服务器、vr播放终端及计算机可读存储介质
CN109842792B (zh) * 2017-11-27 2021-05-11 中兴通讯股份有限公司 视频播放方法、装置、系统及存储介质
CN108040260B (zh) * 2017-12-13 2020-09-18 江苏视博云信息技术有限公司 C/s架构下高清全景视频的观看方法、系统及服务器
WO2019127349A1 (zh) * 2017-12-29 2019-07-04 腾讯科技(深圳)有限公司 一种多媒体信息分享的方法、相关装置及系统
CN110149542B (zh) * 2018-02-13 2021-12-03 华为技术有限公司 传输控制方法
CN110166764B (zh) * 2018-02-14 2022-03-01 阿里巴巴集团控股有限公司 虚拟现实vr直播中的视角同步方法及装置
CN110519652B (zh) * 2018-05-22 2021-05-18 华为软件技术有限公司 Vr视频播放方法、终端及服务器
CN108765536A (zh) * 2018-05-30 2018-11-06 链家网(北京)科技有限公司 一种虚拟三维空间的同步处理方法及装置
US11032590B2 (en) * 2018-08-31 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server
CN109309787B (zh) * 2018-09-07 2020-10-30 视联动力信息技术股份有限公司 一种全景视频数据的操作方法和系统
US11323754B2 (en) * 2018-11-20 2022-05-03 At&T Intellectual Property I, L.P. Methods, devices, and systems for updating streaming panoramic video content due to a change in user viewpoint
CN111510757A (zh) * 2019-01-31 2020-08-07 华为技术有限公司 一种共享媒体数据流的方法、装置以及系统
JP7360112B2 (ja) * 2019-09-27 2023-10-12 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法
CN110602480A (zh) * 2019-09-27 2019-12-20 三星电子(中国)研发中心 一种采用增强现实分享场景的方法、装置及系统
CN111343478A (zh) * 2020-02-21 2020-06-26 深圳市酷开网络科技有限公司 Vr设备数据处理方法、系统、vr一体机及存储介质
CN111327823A (zh) * 2020-02-28 2020-06-23 深圳看到科技有限公司 视频生成方法、装置及对应的存储介质
CN111459267A (zh) * 2020-03-02 2020-07-28 杭州嘉澜创新科技有限公司 一种数据处理方法、第一服务器、第二服务器与存储介质
CN111862348B (zh) * 2020-07-30 2024-04-30 深圳市腾讯计算机系统有限公司 视频显示方法、视频生成方法、装置、设备及存储介质
CN114554276B (zh) * 2020-11-26 2023-12-12 中移物联网有限公司 一种设备间内容共享的方法、装置及系统
WO2022234699A1 (ja) * 2021-05-07 2022-11-10 キヤノン株式会社 動画配信装置、表示制御装置、動画配信システム、動画配信方法およびプログラム
CN113873313B (zh) * 2021-09-22 2024-03-29 乐相科技有限公司 一种虚拟现实画面分享方法及装置
CN114095752A (zh) * 2021-10-18 2022-02-25 长沙宏达威爱信息科技有限公司 一种虚拟现实云渲染系统的制作方法
CN114979089B (zh) * 2022-04-25 2023-03-24 北京邮电大学 一种实时传输全景视频的系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006503375A (ja) * 2002-10-18 2006-01-26 サーノフ・コーポレーション 複数のカメラを用いたパノラマ映像化を可能とする方法およびシステム
EP2490179A1 (en) * 2011-02-18 2012-08-22 Alcatel Lucent Method and apparatus for transmitting and receiving a panoramic video stream

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673246B2 (en) * 2001-12-12 2010-03-02 Canon Kabushiki Kaisha Image information processing apparatus and method, virtual space presentation apparatus, information administration apparatus, and control methods thereof
US20080231626A1 (en) * 2007-03-22 2008-09-25 Motorola, Inc. Method and Apparatus to Facilitate a Differently Configured Virtual Reality Experience for Some Participants in a Communication Session
CA2958728C (en) * 2007-05-25 2019-04-30 Google Inc. Rendering, viewing and annotating panoramic images, and applications thereof
US8836771B2 (en) * 2011-04-26 2014-09-16 Echostar Technologies L.L.C. Apparatus, systems and methods for shared viewing experience using head mounted displays
US9015245B1 (en) * 2011-07-20 2015-04-21 Google Inc. Experience sharing with commenting
US9870429B2 (en) * 2011-11-30 2018-01-16 Nokia Technologies Oy Method and apparatus for web-based augmented reality application viewer
US9516225B2 (en) * 2011-12-02 2016-12-06 Amazon Technologies, Inc. Apparatus and method for panoramic video hosting
CN103731630B (zh) * 2012-10-16 2019-01-11 华为技术有限公司 一种视频监控方法、设备和系统
CN103873453B (zh) * 2012-12-18 2019-05-24 中兴通讯股份有限公司 沉浸通信客户端、服务器及获取内容视图的方法
US9710968B2 (en) * 2012-12-26 2017-07-18 Help Lightning, Inc. System and method for role-switching in multi-reality environments
EP2824885B1 (en) * 2013-07-12 2019-01-23 Provenance Asset Group LLC A manifest file format supporting panoramic video
US10622020B2 (en) * 2014-10-03 2020-04-14 FieldCast, LLC Point of view video processing and curation platform
JP6264087B2 (ja) * 2014-02-21 2018-01-24 ソニー株式会社 表示制御装置、表示装置および表示制御システム
US9691181B2 (en) * 2014-02-24 2017-06-27 Sony Interactive Entertainment Inc. Methods and systems for social sharing head mounted display (HMD) content with a second screen
US10525883B2 (en) * 2014-06-13 2020-01-07 Magna Electronics Inc. Vehicle vision system with panoramic view
WO2016002445A1 (ja) * 2014-07-03 2016-01-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5898756B1 (ja) * 2014-11-28 2016-04-06 株式会社コロプラ ディスプレイとネットワークを介して接続される複数のコントローラとを連動させて画面操作するシステム、プログラム、及び方法
CN104735464A (zh) * 2015-03-31 2015-06-24 华为技术有限公司 一种全景视频交互传输方法、服务器和客户端
CN105578199A (zh) * 2016-02-22 2016-05-11 北京佰才邦技术有限公司 虚拟现实全景多媒体处理系统、方法及客户端设备
CN105915937B (zh) * 2016-05-10 2019-12-13 上海乐相科技有限公司 一种全景视频播放方法及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006503375A (ja) * 2002-10-18 2006-01-26 サーノフ・コーポレーション 複数のカメラを用いたパノラマ映像化を可能とする方法およびシステム
EP2490179A1 (en) * 2011-02-18 2012-08-22 Alcatel Lucent Method and apparatus for transmitting and receiving a panoramic video stream

Also Published As

Publication number Publication date
WO2018052251A1 (en) 2018-03-22
EP3475924A4 (en) 2019-08-14
CN106385587B (zh) 2019-08-02
CN106385587A (zh) 2017-02-08
US20180074679A1 (en) 2018-03-15
EP3475924A1 (en) 2019-05-01
KR102375307B1 (ko) 2022-03-17

Similar Documents

Publication Publication Date Title
KR102375307B1 (ko) 가상 현실 뷰포트를 공유하기 위한 방법, 장치, 및 시스템
TWI586159B (zh) 終端間影像共享方法、終端裝置以及通信系統
JP2024504092A (ja) ミラーリング方法、装置、電子機器および記憶媒体
WO2022161107A1 (zh) 三维视频的处理方法、设备及存储介质
WO2020125604A1 (zh) 数据传输方法、装置、设备及存储介质
WO2014012444A1 (zh) 一种实现增强现实信息共享的方法、装置和系统
US11743590B2 (en) Communication terminal, image communication system, and method for displaying image
JP2017502583A (ja) 多面上映館の映像の生成方法とその記憶媒体およびこれを用いた映像管理装置
KR20170093451A (ko) 텔레프레젠스 영상 합성 장치, 텔레프레젠스 영상 합성 시스템 및 원격지 촬영 장치
EP4064691A1 (en) Communication management device, image communication system, communication management method, and carrier means
CN110944140A (zh) 远程展示方法、远程展示系统、电子装置、存储介质
US11102448B2 (en) Image capturing apparatus, image processing system, image processing method, and recording medium
CN115486086A (zh) 通信会话的会话描述
US20230206575A1 (en) Rendering a virtual object in spatial alignment with a pose of an electronic device
US9699123B2 (en) Methods, systems, and non-transitory machine-readable medium for incorporating a series of images resident on a user device into an existing web browser session
WO2021147749A1 (zh) 实现3d显示的方法、装置及3d显示系统
WO2022157105A1 (en) System for broadcasting volumetric videoconferences in 3d animated virtual environment with audio information, and method for operating said system
CN114567742A (zh) 全景视频的传输方法、装置及存储介质
KR101670983B1 (ko) 화면 공유 시스템 및 화면 공유 방법과 관리서버 및 관리서버의 운영방법
Zhang et al. Uncompressed high-definition videoconferencing tools for telemedicine and distance learning
CN111510370B (zh) 内容处理方法及装置、计算机介质和电子设备
WO2022181379A1 (ja) 画像処理装置、画像処理方法、及びプログラム
US20240236267A9 (en) Communication management device, image communication system, communication management method, and recording medium
US20240087157A1 (en) Image processing method, recording medium, image processing apparatus, and image processing system
US20210289194A1 (en) System, method, and computer program for generating volumetric video

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right