KR20180025797A - 영상 스트리밍 방법 및 이를 지원하는 전자 장치 - Google Patents

영상 스트리밍 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR20180025797A
KR20180025797A KR1020170059526A KR20170059526A KR20180025797A KR 20180025797 A KR20180025797 A KR 20180025797A KR 1020170059526 A KR1020170059526 A KR 1020170059526A KR 20170059526 A KR20170059526 A KR 20170059526A KR 20180025797 A KR20180025797 A KR 20180025797A
Authority
KR
South Korea
Prior art keywords
image
image data
data
electronic device
video
Prior art date
Application number
KR1020170059526A
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 AU2017320166A priority Critical patent/AU2017320166A1/en
Priority to EP17846998.7A priority patent/EP3494706A1/en
Priority to PCT/KR2017/009495 priority patent/WO2018044073A1/en
Priority to CN201710778347.2A priority patent/CN107872666A/zh
Priority to US15/694,189 priority patent/US20180063512A1/en
Publication of KR20180025797A publication Critical patent/KR20180025797A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • 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/013Eye 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
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • H04N13/0484
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video 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/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
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

본 발명의 다양한 실시 예에 따른 전자 장치는 영상을 출력하는 디스플레이, 외부 전자 장치와 복수의 채널들을 형성하는 통신 모듈, 메모리 및 상기 디스플레이, 통신 모듈, 메모리와 전기적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하고, 상기 복수의 영역들 각각을 상기 복수의 채널들 중 하나와 연계하고, 상기 통신 모듈은 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하고, 상기 프로세서는 상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 상기 디스플레이에 출력할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

영상 스트리밍 방법 및 이를 지원하는 전자 장치 {Method for Streaming Image and the Electronic Device supporting the same}
본 문서의 다양한 실시 예는 외부 장치로부터 영상 데이터를 수신하여 영상을 스트리밍하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.
전자 장치의 해상도 증가와 연산속도의 증가, 그래픽 처리 장치의 성능 향상으로 인해, 과거 대형기기에서만 동작하던 가상현실, 3차원 입체 영상을 출력하는 장치가 스마트 글래스, 헤드 마운트 장치(head mount device, 이하 HMD) 등을 통해 소형화, 경량화 되고 있다. 예를 들면, VR(virtual reality) 장치를 통해, 360도 파노라마 영상들을 재생할 수 있고, 가속도 센서를 통해 사용자의 머리의 움직임을 센싱하여, 사용자가 보고자 하는 영역의 영상을 선택하여 감상할 수 있기 때문에 기존 모니터나 스마트폰 화면에서 느끼지 못했던 임장감을 사용자에게 제공할 수 있다.
3차원 입체 영상을 위한 영상 데이터는 사용자가 시청 중인 영역뿐 만 아니라, 주변 영역에 대한 영상 데이터를 포함하여, 일반적인 영상보다 일반적인 영상보다 데이터 양이 많을 수 있다.
종래 기술에 따른 VR 장치는 VR 장치와 스트리밍 서버 사이에 형성된 하나의 채널을 통해 3차원 투영 공간을 구성하는 모든 영역의 영상 데이터가 동시에 전송된다. 또한, 종래 기술에 따른 VR 장치는 사용자의 시선 정보와 무관하게, 가상의 3차원 투영 공간 상의 모든 영역에 대한 이미지의 퀄리티가 동일하여, 한정된 무선 통신 환경에서 고화질의 3차원 영상을 제공하기 어려운 문제점이 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 영상을 출력하는 디스플레이, 외부 전자 장치와 복수의 채널들을 형성하는 통신 모듈, 메모리 및 상기 디스플레이, 통신 모듈, 메모리와 전기적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하고, 상기 복수의 영역들 각각을 상기 복수의 채널들 중 하나와 연계하고, 상기 통신 모듈은 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하고, 상기 프로세서는 상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 상기 디스플레이에 출력할 수 있다.
본 발명의 다양한 실시 예에 따른 영상 출력 방법 및 이를 지원하는 전자 장치는 가상의 3차원 공간을 구성하는 복수의 영역들에 연계된 복수의 채널들을 이용하여, 한정된 네트워크 환경에서도 고화질의 영상을 사용자에게 제공할 수 있다.
본 발명의 다양한 실시 예에 따른 영상 출력 방법 및 이를 지원하는 전자 장치는 가상의 3차원 공간을 구성하는 복수의 영역들에 출력될 영상 데이터를 화질에 따라 계층적으로 저장하고, 사용자의 관심도가 높은 영역에 대해서는 고화질의 영상 데이터를 출력하고, 다른 영역에 대해서는 중간 화질 또는 저화질의 영상 데이터를 출력할 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치를 도시한다.
도 2는 다양한 실시 예에 따른 영상 스트리밍 방법을 설명하는 순서도이다.
도 3a 및 3b는 다양한 실시 예에 따른 스트리밍 시스템의 구성도이다.
도 4는 다양한 실시 예에 따른 카메라 장치에서부터 실시간 스트리밍을 나타낸다.
도 5은 다양한 실시 예에 따른 카메라 장치의 촬영 예시도이다.
도 6은 다양한 실시 예에 따른 서버의 데이터베이스의 저장 구조를 도시한다.
도 7a는 다양한 실시 예에 따른 VR 출력 장치의 출력 화면의 예시도이다.
도 7b는 다양한 실시 예에 따른 정육면체의 3D 투영 공간을 나타낸다.
도 7c는 다양한 실시 예에 따른 정육면체의 3차원 공간을 구면에 투영하는 예시도이다.
도 8a는 다양한 실시 예에 따른 전자 장치의 블럭도이다.
도 8b는 다양한 실시 예에 따른 스트리밍을 통한 영상 데이터의 출력 과정을 설명하는 순서도이다.
도 9는 다양한 실시 예에 따르면, 디블록킹 필터를 이용하여, 서피스간의 화질 차이를 감소시키는 화면 예시도 있다.
도 10a 및 도 10b는 다양한 형태의 가상의 3차원 투영 공간의 예시도이다.
도 11a 및 도 11b는 정다면체의 3차원 투영 공간의 데이터 구성 예시도이다.
도 12a 및 도 12b는 정다면체의 3차원 투영 공간의 하나의 면을 재결합하여, 하나의 서브 영상을 구성하는 예시도이다.
도 12c는 다양한 실시 예에 따른 2개의 면의 일부를 결합하여, 서브 영상을 구성하는 예시도이다.
도 13a 및 도 13b는 정다면체의 3차원 투영 공간의 2개의 면을 결합하여, 하나의 서브 영상을 구성하는 예시도이다.
도 14는 정다면체의 3차원 투영 공간의 2개 면 및 다른 하나의 면의 일부를 결합하여, 하나의 서브 영상을 구성하는 예시도이다.
도 15a는 다양한 실시 예에 따른 정이십면체의 3차원 투영 공간의 꼭지점을 중심으로 서브 영상을 구성하는 예시도이다.
도 15b는 정이십면체의 3차원 투영 공간의 꼭지점을 중심으로 구성된 서브 영상의 데이터 구성도이다.
도 16a는 다양한 실시 예에 따른 정팔면체의 3차원 투영 공간의 일부 꼭지점을 중심으로 서브 영상을 구성하는 예시도이다.
도 16b는 정팔면체의 3차원 투영 공간의 꼭지점을 중심으로 구성된 서브 영상의 데이터 구성도이다.
도 17은 네트워크 환경 내의 전자 장치를 도시한다.
도 18는 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 19는 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자 장치(101(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 전자 장치를 도시한다.
도 1을 참조하면, 전자 장치(101)는 입체 영상(예: 가상 현실 영상, 3D 촬영 영상, 360도 파노라마 영상 등)을 출력하는 장치(예: VR(virtual reality) 장치, 스마트 글래스, 헤드 마운트 장치(head mount device; HMD))일 수 있다. 예를 들어, 헤드 마운트 장치는 디스플레이를 포함하는 장치(예: PS VR) 또는 스마트폰을 장착할 수 있는 하우징을 가지는 장치(예: 기어 VR)일 수 있다. 외부 장치(102)로부터 복수의 채널들을 이용하여 스트리밍 영상을 수신할 수 있다.
다양한 실시 예에서, 전자 장치(101)는 프로세서(101a), 통신 모듈(102b), 디스플레이(101c), 메모리(101d), 및 센서 모듈(101e)을 포함할 수 있다.
프로세서(101a)는 통신 모듈(102b)을 통해 외부 장치(102)(예: 스트리밍 서버)에 저장된 데이터를 요청하여, 외부 장치(102)로부터 영상 데이터 또는 오디오 데이터를 수신할 수 있다. 프로세서(101a)는 수신된 영상 데이터 또는 오디오 데이터를 기반으로 입체 영상을 디스플레이(101c)에 스트리밍할 수 있다. 프로세서(101a)는 센서 모듈(101e)을 이용하여, 사용자의 시선 방향(또는 디스플레이(101c) 면에 수직한 방향)을 인식하고, 시선 방향에 대응하는 영상 데이터를 디스플레이(101c)에 출력하거나, 스피커 또는 이어폰을 통해 오디오 데이터를 출력할 수 있다. 이하에서는, 영상 데이터를 디스플레이에 출력하는 경우를 중심으로 논의하지만, 오디오 데이터를 스피커를 통해 출력하는 경우에도 적용될 수 있다.
다양한 실시 예에 따르면, 프로세서(101a)는 가상의 3차원 투영 공간을 복수의 영역들로 구분하고, 각각의 영역에 대응하는 영상 데이터를 서로 독립적으로 관리할 수 있다. 예를 들어, 현재 디스플레이(101c)에 출력되는 영역(이하, 출력 영역 또는 시야 범위(field of view; FOV))에 대한 영상 데이터(또는 출력 영역을 포함하는 면에 대한 영상 데이터, 이하 동일)는 출력되지 않는 주변 영역과 해상도가 다를 수 있다. 디스플레이(101c)에 출력되는 영역은 고화질(예: 높을 프레임 비율, 높은 비트 전송률)의 영상 데이터를 기반으로 출력되고, 출력되지 않는 주변 영역은 저 퀄리티(낮은 해상도, 낮은 비트 전송률)로 처리할 수 있다.
예를 들어, 프로세서(101a)는 사용자가 전자 장치(101)을 머리에 장착하고 디스플레이(101c)를 바라보는 경우, 가상의 3차원 투영 공간 중 미리 설정된 제1 영역의 이미지가 디스플레이(101c)에 출력될 수 있다. 사용자가 머리를 돌려 시선을 이동하는 경우, 전자 장치(101)도 이동하게 되고, 프로세서(101a)는 센서 모듈(101e)에 포함된 가속도 센서 등을 통해 센싱 정보를 수집할 수 있다. 프로세서(101a)는 수집된 정보를 기반으로 변경된 제2 영역의 이미지를 디스플레이(101c)에 출력할 수 있다.
외부 장치(102)는 3차원의 입체 공간을 구성하는 각각의 영역에 대한 영상 데이터를 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)에 따라 계층화하여 관리할 수 있다. 예를 들어, 외부 장치(102)는 제1 영역에 대한 영상 데이터를 저화질의 제1 영상 데이터, 중간 화질의 제2 영상 데이터, 고화질의 제3 영상 데이터로 각각 저장할 수 있다. 외부 장치(102)는 전자 장치(101)의 요청에 대응하는 화질의 영상 데이터를 해당 영역과 연계된 채널을 통해 전송할 수 있다.
다양한 실시 예에 따르면, 외부 장치(102)는 각 영역의 영상 데이터를 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)에 따라 계층화하여 관리할 수 있다. 예를 들어, 제1 영역에 대한 제1 영상 데이터를 제1 해상도, 제2 해상도, 제3 해상도로 나누어 각각 저장할 수 있다. 외부 장치(102)는 전자 장치(101)에서 제1 영역에 대한 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)가 결정된 영상 데이터를 요청하는 경우, 대응하는 영상 데이터를 전자 장치(101)에 송신할 수 있다.
다양한 실시 예에서, 전자 장치(101)은 시야 범위에 대해서는 제1 채널을 통해 고화질의 영상 데이터를 요청하고, 시야 범위의 주변 영역에 대해서는 제2 채널을 통해 중간 화질의 영상 데이터를 요청할 수 있다. 외부 장치(102)는 제1 채널을 통해 고화질의 시야 범위에 대한 영상 데이터를 전송하고, 제2 채널을 통해 중간 화질의 주변 영역에 대한 영상 데이터를 전송할 수 있다.
다양한 실시 예에 따르면, 전자 장치(101)는 사용자의 시선 방향(전자 장치의 디스플레이 면에 수직한 방향)에 대응하는 영역(이하, 시야 범위)에 대한 영상 데이터를 고화질로, 다른 영상 데이터를 저화질로 받을 수 있다.
도 2는 다양한 실시 예에 따른 영상 스트리밍 방법을 설명하는 순서도이다.
도 2를 참조하면, 동작 210에서, 프로세서(101a)는 전자 장치(101)를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분할 수 있다. 상기 복수의 영역들은 각각 독자적으로 관리될 수 있다. 예를 들어, 상기 복수의 영역들은 서로 다른 채널을 통해 수신한 영상 데이터들을 기반으로 서로 다른 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 가지도록 설정될 수 있다. 복수의 영역들은 외부 장치로부터 실시간으로 스트리밍되는 영상 데이터들을 할 수 있다.
동작 220에서, 프로세서(101a)는 복수의 영역들을 구성하는 각각의 영역을 복수의 채널들(103) 중 하나와 연계할 수 있다. 예를 들어, 제1 영역(예: 사용자의 정면 영역)은 미리 설정된 제1 채널과 연계될 수 있고, 제2 영역(예: 사용자의 우측 영역)은 미리 설정된 제2 채널과 연계될 수 있다. 제1 채널을 통해 수신된 영상 데이터는 제1 영역(예: 사용자의 정면 영역)에서만 출력될 수 있고, 제1 채널을 통해 수신된 영상 데이터는 제1 영역(예: 사용자의 정면 영역)에서만 출력될 수 있다.
동작 230에서, 통신 모듈(101b)은 각각의 영역에 연계된 채널을 통해, 각각 영상 데이터를 수신할 수 있다. 예를 들어, 제1 영역은 미리 설정된 제1 채널을 통해 제1 영상 데이터가 전송되고, 제2 영역은 미리 설정된 제2 채널을 통해 제2 영상 데이터가 전송될 수 있다.
일 실시 예에서, 각각의 영역에 대한 영상 데이터는 서로 다른 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 가질 수 있다. 프로세서(101)은 시야 범위에 대해서는 고화질의 영상 데이터를 출력하고, 다른 영역에 대해서는 중간 화질 또는 저화질의 영상 데이터를 출력할 수 있다.
다른 일 실시 예에서, 가상의 3차원 투영 공간을 구성하는 복수의 영역들은 복수의 그룹들로 그룹화될 수 있다. 하나의 그룹에 포함된 영역의 영상 데이터는 다른 그룹에 포함된 영역의 영상 데이터와 서로 다른 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 가질 수 있다.
예를 들어, 사용자의 정면 영역은 제1 그룹일 수 있고, 정면 영역을 둘러싸는 측면 영역들은 제2 그룹일 수 있다. 제1 그룹은 상대적으로 높은 해상도의 영상 데이터를 기반으로 영상을 출력할 수 있고, 제2 그룹은 상대적으로 낮은 해상도의 영상 데이터를 기반으로 영상을 출력할 수 있다.
동작 240에서, 프로세서(101a)는 각각의 채널을 통해 수신한 각각의 영상 데이터를 기반으로 가상의 3차원 투영 공간을 구성할 수 있다. 프로세서(101a)는 각각의 영상 데이터들은 서로 동기화할 수 있다. 예를 들어, 프로세서(101a)는 각각의 채널을 통해 수신한 영상 데이터 중 동일한 타임 스탬프를 가지는 영상 데이터를 동시에 출력할 수 있다. 프로세서(101a)는 사용자의 시선 방향에 대응하는 영역에 대한 영상 데이터를 디스플레이(101)에 출력할 수 있다.
프로세서(101a)는 사용자 또는 상기 전자 장치의 움직임을 인식하는 센서 모듈(예: 가속도 센서)를 이용하여, 시선 방향의 변경이 있는지를 확인할 수 있다. 프로세서(101a)는 시선 방향의 변경이 있는 경우, 시선 방향에 대한 화질을 높이도록 요청할 수 있다. 외부 장치(102)는 해당 요청에 대응하여, 해당 영역의 해상도를 높이고, 주변 영역의 해상도를 낮출 수 있다.
도 3a 및 3b는 다양한 실시 예에 따른 스트리밍 시스템의 구성도이다. VR 출력 장치(340)는 도 1에서의 전자 장치(101)일 수 있고, 서버(130)는 도 1 에서의 외부 장치(102)일 수 있다.
도 3a 및 3b 참조하면, 스트리밍 시스템(301)은 카메라 장치(310), 이미지 변환 장치(320), 서버(330), 및 VR 출력 장치(340)를 포함할 수 있다. 스트리밍 시스템(301)은 카메라 장치(310)에서 수집한 이미지를 실시간으로(또는 지정된 시간 지연 범위 이내) VR 출력 장치(340)로 스트리밍할 수 있다. 스트리밍 시스템(301)은 사용자가 관심이 높은 시야 범위에 대한 데이터 양(또는 화질)을 상대적으로 높이고, 사용자의 관심이 낮은 영역에 대한 데이터 양(또는 화질)을 상대적으로 낮추어, 한정된 통신 여건에서 고화질의 컨텐츠를 사용자에게 제공할 수 있다.
카메라 장치(310)는 주변의 피사체를 촬영하여 영상 데이터를 수집할 수 있다. 카메라 장치(310)는 복수의 이미지 센서(또는 이미지 센서)들을 포함할 수 있다. 예를 들어, 카메라 장치(310)는 제1 방향을 향해 배치되는 제1 이미지 센서(311) 및 상기 제1 방향과 반대되는 제2 방향에 배치되는 제2 이미지 센서(312)를 포함하는 장치일 수도 있다.
카메라 장치(310)는 복수의 이미지 센서들을 통해 각각 영상 데이터를 수집하고, 각각의 이미지 센서에 연결된 파이프 라인을 통해 영상 데이터를 처리할 수 있다. 카메라 장치(310)는 버퍼 또는 메모리에 수집한 영상 데이터를 저장하고, 순차적으로 이미지 변환 장치(320)에 전송할 수 있다.
다양한 실시 예에서, 카메라 장치(310)는 블루투스, 와이파이 다이렉트(WiFi Direct) 등의 근거리 통신 모듈을 포함할 수 있다. 카메라 장치(310)는 근거리 통신 모듈을 통해 이미지 변환 장치(320)과 미리 연동되어 유선 또는 무선 통신 채널을 형성할 수 있다. 카메라 장치(310)를 통해 수집된 영상 데이터는 상기 통신 채널을 통해 실시간으로 이미지 변환 장치(320)에 전달될 수 있다.
다양한 실시 예에 따르면, 카메라 장치 (310)는 서로 다른 해상도, 서로 다른 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 가지는 영상 데이터를 수집할 수 있다. 예를 들어, 메인 피사체를 촬영하는 제1 이미지 센서(311)는 고화질의 영상 데이터를 수집하고, 주변 배경을 촬영하는 제2 이미지 센서(312)는 저화질의 영상 데이터를 수집하도록 설정될 수 있다.
이미지 변환 장치(320)는 카메라 장치(310)의 복수의 이미지 센서들을 통해 수집된 영상 데이터를 결합하고 변환할 수 있다. 다양한 실시 예에서, 이미지 변환 장치(320)는 수집된 영상 데이터를 2차원 변환하거나, 서버(130)에 전송하기 용이한 형태로 변환할 수 있다. 예를 들어, 이미지 변환 장치(320)는 카메라 장치(310)에 연동된 스마트폰 또는 태블릿 PC 일수 있다.
이미지 변환 장치(120)는 복수의 이미지 센서들을 통해 수집된 영상 데이터를 공통된 특징점을 중심으로 이어 붙이는 스티칭 작업을 할 수 있다. 예를 들어, 제1 이미지 센서에서 수집한 제1 영상 데이터와 제2 이미지 센서에서 수집한 제2 영상 데이터를 경계 영역에서 특징점(공통 데이터)를 중심으로 결합할 수 있다. 도 3B와 같이, 카메라 장치 (310)가 제1 이미지 센서 및 제2 이미지 센서를 포함하는 경우, 이미지 변환 장치(320)는 제1 이미지 센서에서 수집된 제1 영상 데이터와 제2 이미지 센서에서 수집된 제2 영상 데이터 중 중복되는 영역에서의 데이터를 제거할 수 있다. 이미지 변환 장치(320)는 제1 영상 데이터와 제2 영상 데이터의 경계를 연결하여, 하나의 결합 이미지를 생성할 수 있다.
이미지 변환 장치(120)는 스티칭된 결합 이미지를 기반으로 등장방형도법(Equirectangular)에 따른 변환을 할 수 있다. 예를 들어, 이미지 변환 장치(120)는 카메라 장치(310)의 형태에 따라 원형으로 수집된 이미지를 사각형 또는 직사각형의 이미지로 변환할 수 있다. 이 경우, 일부 영역(예: 이미지의 상단, 하단)에서는 이미지 왜곡이 발생할 수 있다.
다양한 실시 예에서, 이미지 변환 장치(120)의 일부 기능은 다른 장치(예: 카메라 장치(330), 서버(330))에서 수행될 수 있다. 예를 들어, 스티칭 작업, 또는 등장방형도법(Equirectangular)에 따른 변환은 서버(330)에서 수행될 수 도 있다.
서버(330)는 3D맵 생성부(331), 인코딩부(332), 및 데이터베이스(333)을 포함할 수 있다.
3D맵 생성부(331)는 이미지 변환 장치(320)에 의해 변환된 2D 이미지를 3차원 공간상에 맵핑할 수 있다. 예를 들어, 3D맵 생성부(331)는 등장방형도법(Equirectangular)에 의해 생성된 2D 이미지를 지정된 개수(예: 6개)의 영역으로 구분할 수 있다. 상기 영역들은 VR 출력 장치(340)에서, 사용자가 인식하는 가상의 3차원 투영 공간을 구성하는 복수의 영역들에 각각 대응할 수 있다.
3D맵 생성부(331)는 2차원의 이미지를 3차원을 구성하는 각각의 면에 대응시키고, 각각의 픽셀들에 대한 보정을 통해 사용자가 거리감 또는 입체감을 느낄 수 있도록 할 수 있다.
인코딩부(332)는 3차원 공간을 구성하는 하나의 면에 대응하는 영상 데이터에 대해, 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 다르게 하면서, 계층화하여 저장할 수 있다. 예를 들어, 제1 면에 대한 영상 데이터에 대해, 상대적으로 높은 해상도의 제1 영상 데이터, 중간 해상도의 제2 영상 데이터, 낮은 해상도의 제3 영상 데이터로 계층화 코딩하고, 일정 시간 간격으로 분할하여, 데이터베이스(333)에 저장할 수 있다.
다양한 실시 예에서, 인코딩부(332)는 계층화된 코딩(layered coding) 방식에 의해 영상 데이터를 저장할 수 있다. 계층화된 코딩(layered coding) 방식은 가장 저화질 영상 L0의 데이터에 L1, L2 의 부가정보를 추가하여 복호화 영상의 화질을 향상하는 방식일 수 있다.
데이터베이스(333)는 3차원 공간을 구성하는 하나의 면에 대응하는 영상 데이터를 계층화하여 저장할 수 있다. 데이터베이스(333)의 구조에 관한 추가 정보는 도 6을 통해 제공될 수 있다.
VR 출력 장치(340)는 복수의 채널들(335)을 통해 영상 데이터를 서버(330)으로부터 수신할 수 있다. VR 출력 장치(340)는 수신한 영상 데이터를 기반으로 3차원의 투영 공간을 출력할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 사용자가 현재 바라보고 있는 시야 범위에 대해서는 상대적으로 고화질의 영상 데이터를 수신하여 출력하고, 시야 범위의 주변 영역에 대해서는 중간화질 또는 저화질의 영상 데이터를 수신하여 출력할 수 있다.
도 4는 다양한 실시 예에 따른 카메라 장치에서부터 실시간 스트리밍을 나타낸다.
도 4를 참조하면, 동작 410에서, 카메라 장치(310)는 주변의 피사체를 촬영하여 영상 데이터를 수집할 수 있다. 카메라 장치(310)는 복수의 이미지 센서들 이용하여, 서로 다른 위치, 서로 다른 각도의 다양한 영상 데이터를 수집할 수 있다.
동작 420에서, 이미지 변환 장치(320)는 수집된 영상 데이터를 스티칭하고, 다양한 2D 변환 방법, 예를 들어, 등장방형도법 (Equirectangular)에 따른 변환을 수행할 수 있다. 이미지 변환 장치(320)는 수집된 이미지의 공통 데이터를 제거하고, 3D 맵을 형성하기 용이한 형태로 변환할 수 있다.
동작 430에서, 3D맵 생성부(331)는 이미지 변환 장치(320)에 의해 변환된 2D 이미지를 3차원 공간상에 맵핑할 수 있다. 3D맵 생성부(331)는2D 이미지를 큐브 맵 또는 다이아몬드 형태의 맵 등 다양한 형태로 맵핑할 수 있다.
동작 440에서, 인코딩부(332)는 3차원 맵을 구성하는 각각의 면(또는 영역)의 영상 데이터에 대해, 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 다르게 하면서, 계층화하여 일정 시간 간격으로 분할하여 저장할 수 있다. VR 출력 장치(340)의 요청에 대응하는 화질 정보를 가지는 영상 데이터가 미리 설정된 채널을 통해 VR 출력 장치(340)에 전송될 수 있다.
동작 450에서, VR 출력 장치(340)는 사용자의 시선 방향에 따라 차등화된 영상 데이터를 전송 요청하여, 대응하는 영상 데이터를 받을 수 있다. 예를 들어, VR 출력 장치(340)는 사용자가 현재 바라보고 있는 시야 범위에 대해서는 상대적으로 고화질의 영상 데이터를 요청하여, 대응하는 영상 데이터를 수신하여 출력할 수 있다. VR 출력 장치(340)는 시야 범위의 주변 영역에 대해서는 중간화질 또는 저화질의 영상 데이터를 전송 요청하여, 대응하는 영상 데이터를 수신하여 출력할 수 있다.
동작 460에서, VR 출력 장치(340)는 수신한 영상 데이터를 기반으로 스트리밍 영상을 출력할 수 있다. 3차원 투영 공간을 구성하는 각각의 영역은 서로 다른 채널을 통해 수신된 서로 다른 영상 데이터를 기반으로 출력될 수 있다. VR 출력 장치(340)는 사용자가 바라보고 있는 시야 범위에 대해서는 고화질의 이미지를, 주변 영역에 대해서는 중간 화질의 이미지를 시야 범위와 상대적으로 거리가 멀고 분리된 영역에 대해서는 저화질의 이미지를 출력할 수 있다.
도 5은 다양한 실시 예에 따른 카메라 장치의 촬영 예 중 이미지 센서가 2개인 경우의 예시도이다.
도 5를 참조하면, 카메라 장치(310)는 제1 이미지 센서(311) 및 제2 이미지 센서(312)를 포함할 수 있다. 제1 이미지 센서(311)는 제1 방향의 180도 이상의 화각을 가지고 촬영할 수 있고, 제2 이미지 센서(312)는 제1 방향과 반대되는 제2 방향의 180도 이상의 화각을 가지고 촬영할 수 있다. 이를 통해, 카메라 장치(310)는 360도 화각에 대응하는 이미지를 획득할 수 있다.
제1 이미지 센서(311)는 제1 영상 데이터(501a)를 수집할 수 있고, 제2 이미지 센서(312)는 제2 영상 데이터(501b)를 수집할 수 있다. 제1 영상 데이터(501a) 및 제2 영상 데이터(501b)는 카메라 렌즈의 특징에 따라 사각 또는 직사각형이 아닌 왜곡된 형태(예: 원형)이미지일 수 있다.
카메라 장치 (310)(또는 이미지 변환 장치(320))는 제1 영상 데이터(501a) 및 제2 영상 데이터(501b)를 통합하여 하나의 원본 이미지(501)을 생성할 수 있다.
이미지 변환 장치(320)는 원본 이미지(501)에 대한 스티칭 작업 및 등장방형도법(Equirectangular)에 따른 변환 작업을 수행하여, 사각형태의 2차원 이미지(502)를 생성할 수 있다.
서버(330)의 3D맵 생성부(331)는 2차원 이미지(502)를 기반으로 큐브 맵(503, 504)을 생성할 수 있다. 도 5에서는 6개의 면을 포함하는 큐브 맵(503, 504)을 형성하는 경우를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
큐브 맵(503, 504)은 VR 출력 장치(340)에서 출력되는 가상의 3차원 투영 공간에 대응할 수 있다. 큐브 맵(503, 504)을 구성하는 제1 내지 제6 면(510 내지 560)에 대한 영상 데이터는 서로 다른 채널을 통해 VR 출력 장치(340)에 전송될 수 있다.
서버(330)는 데이터베이스(333)에, 큐브 맵(503, 504)을 구성하는 제1 내지 제6 면(510 내지 560)에 대한 영상 데이터를 계층화하여 일정한 시간 간격으로 나누어 저장할 수 있다. 예를 들어, 서버(330)는 제1 내지 제6 면(510 내지 560)에 대해 각각 고화질/중간화질/저화질 이미지를 저장할 수 있다.
VR 출력 장치(340)는 사용자의 시선상황(또는 시선 방향)에 따라 재생하고자 하는 데이터의 품질을 차등적으로 서버에 요청할 수 있다. 예를 들어, 센서 모듈의 인식 정보에 의해 결정된 시야 범위에 대해서는 고화질의 영상 데이터를 요청할 수 있고, 주변 영역에 대해서 중간 화질 또는 저화질의 영상 데이터를 요청할 수 있다.
사용자는 현재 시청하고 있는 시야 범위에 대해서 고화질의 이미지를 확인할 수 있다. 사용자가 고개를 돌려 다른 영역을 바라보는 경우, 시야 범위가 변경될 수 있다. 사용자가 고개를 돌린 직후에는, 변경된 시야 범위에서 중간 화질의 영상 데이터가 스트리밍 되고 있는 상태이지만, 이후 프레임에서는 고화질의 이미지로 대체될 수 있다.
또 다른 실시 예로, VR 출력 장치(340)는 미리 설정된 중요도 정보를 기반으로 서버(330)으로부터 영상 데이터를 요청할 수 있다. 예를 들어, 사용자가 자주 보지 않거나 중요하지 않은 부분일 수 있는 제5 면(550) 및 제6 면(560)은 상대적으로 중요도가 낮게 설정될 수 있고, 제1 내지 제 4 면(510 내지 540)은 상대적으로 중요도가 높게 설정될 수 있다. VR 출력 장치(340)는 제5 면(550) 및 제6 면(560)에 대해서는 저화질의 영상 데이터를 요청하고, 제1 내지 제 4 면(510 내지 540)에 대해서는 고화질의 영상 데이터를 요청할 수 있다.
일 실시 예에서, 상기 중요도 정보는 카메라 장치(310)에서 영상을 촬영하는 과정에서, 미리 결정될 수 있다. 예를 들어, 카메라 장치(310)는 극좌표 부분에 해당하는 제5 면(550) 및 제6 면(560)의 영상 데이터에 대한 중요도를 낮은 값으로 설정하고 기록할 수 있다.
도 6은 다양한 실시 예에 따른 서버의 데이터베이스의 저장 구조를 도시한다. 도 6에서는 큐브 맵 형태의 영상 데이터를 계층화하는 경우를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
도 6을 참조하면, 데이터베이스(601)는 3차원 공간을 구성하는 하나의 면에 대응하는 영상 데이터를 계층화하여 저장할 수 있다. 제1 내지 제6 면(A 내지 F)을 포함하는 큐브 맵에 있어서, 시간에 따라(또는 각각의 프레임에 따라) 각각의 면에 대한 영상 데이터를 서로 다른 화질로 저장할 수 있다.
예를 들어, T1 시간에 출력되는 제1 면(A)에 대한 영상 데이터는 화질에 따라 A1 내지 A6로 저장될 수 있다. 예를 들어, A1 내지 A6는 모두 동일한 이미지를 출력하지만, 해상도가 A1에서 가장 낮고, A6에서 가장 높을 수 있다. 유사한 방식으로, 제2 면 내지 제6 면(B 내지 F)에 대한 영상 데이터는 화질에 따라 B1 내지 B6, C1 내지 C6, … F1 내지 F6로 저장될 수 있다.
VR 출력 장치(340)에서, 시야 범위가 제1 면(A)으로 결정된 경우, 서버(330)는 제1 면(A)에 대한 영상 데이터 중 가장 높은 화질의 A6를 제1 채널을 통해 VR 출력 장치(340)에 전송할 수 있다. 서버(330)는 제1 면(A)에 인접한 제2 내지 제5 면(B 내지 E)에 대해서는 제2 내지 제5 채널을 통해 중간 화질의 B3, C3, D3, E3가 전송될 수 있다. 서버(330)는 제1 면(A)과 마주 보는 제6 면(F)에 대한 영상 데이터 중 가장 낮은 화질의 F1를 제6 채널을 통해 VR 출력 장치(340)에 전송할 수 있다.
다양한 실시 예에서, VR 출력 장치(340)에 전송되는 영상 데이터의 화질 범위는 무선 통신 환경에 따라 결정될 수 있다. 예를 들어, 상대적으로 무선 통신 성능이 높은 상태인 경우, 제1 면(A)의 영상 데이터는 A4 내지 A6에서 선택되어 전송될 수 있고, 상대적으로 무선 통신 성능이 낮은 상태인 경우, 제1 면(A)의 영상 데이터는 A1 내지 A3에서 선택되어 전송될 수 있다.
도 7a는 다양한 실시 예에 따른 VR 출력 장치의 출력 화면의 예시도이다. 도 7a에서는 6개의 면(또는 서피스(surface))을 포함하는 큐브 맵의 3차원 투영 공간을 예시적으로 도시하였으나, 이에 한정되는 것은 아니다. 후면(Back)은 설명상의 편의를 위해 제외하고 5개 면에 대해서 설명하도록 한다.
도 7a을 참조하면, VR 출력 장치(340)를 중심으로 큐브 형태의 6개의 면이 배치될 수 있다. 사용자의 시선 방향(701)에 따라, 시야 범위가 결정될 수 있고, 시야 범위를 중심으로 각 영역의 화질이 달라질 수 있다. 각각의 영역에는 서버(720)으로부터 영상 데이터를 수신할 수 있는 서로 다른 채널이 연계될 수 있다.
공간(710a)에서, 사용자의 시선 방향(701)이 전면 영역(711)을 향하는 경우, 시야 범위는 전면 영역(711)으로 결정될 수 있다. VR 출력 장치(340)는 전면 영역(711)에 대응하는 채널(711a)를 이용하여, 고화질의 영상 데이터를 요청하고 수신할 수 있다. VR 출력 장치(340)는 전면 영역(711)에 인접한 좌측/우측/상측/하측 영역(712 내지 715)에는 중간 화질의 영상 데이터를 요청하고 수신할 수 있다. 전면 영역(711)에 대향되는 후면 영역에 대해서는 저화질의 영상 데이터를 수신하거나, 영상 데이터를 수신하지 않을 수 있다.
공간(710b)에서, 사용자의 시선 방향(701)이 우측 영역(713)을 향하는 경우, 시야 범위는 우측 영역(713)으로 결정될 수 있다. VR 출력 장치(340)는 우측 영역(713)에 대응하는 채널(713a)를 이용하여, 고화질의 영상 데이터를 요청하고 수신할 수 있다. VR 출력 장치(340)는 우측 영역(713)에 인접한 전면/후면/상측/하측 영역(711, 미도시, 714, 715)에는 중간 화질의 영상 데이터를 요청하고 수신할 수 있다. 통신 상황에 따라, 우측 영역(713)에 대향되는 좌측 영역(712)에 대해서는 저화질의 영상 데이터를 수신하거나, 데이터를 요청하는 과정에서 데이터 프레임을 의도적으로 취소(skip)하여 재생 Fps(frame per second)를 떨어뜨려 데이터 대역폭을 절약할 수도 있고, 영상 데이터를 수신하지 않을 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)와 서버(720) 사이에는 영상 데이터의 스트리밍을 위한 채널과 별개의 제어 채널(705)이 형성될 수 있다. 예를 들어, VR 출력 장치(340)는 제어 채널(705)를 통해, 각각의 스트리밍 채널을 통해 전송될 화질에 관한 정보를 제공할 수 있다. 서버(720)는 상기 정보를 기반으로 각각의 스트리밍 채널을 통해 전송할 영상 데이터를 결정하고, 해당 영상 데이터를 전송할 수 있다.
도 7b는 다양한 실시 예에 따른 정육면체의 3D 투영 공간을 나타낸다. 도 7b에서는 정다면체 중 정육면체 투영법(Cubemap Projection)을 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
도 7b를 참조하면, VR 출력 장치(340)는 3차원 투영 공간이 정육면체의 형태인 경우, 서로 다른 6개의 채널을 이용하여, 동일 시간대의 제1 내지 제6 영상 데이터(또는 chunk)를 수신하여, 재생할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 사용자의 시선 방향(예: 도 7a의 701)을 따라 출력 영역(750)을 결정할 수 있다. 출력 영역(750)은 현재 VR 출력 장치(340)에 의해 3차원 투영 공간 중 일부 범위일 수 있다.
예를 들어, VR 출력 장치(340)는 VR 출력 장치(340)의 움직임을 인식하는 센서 모듈(예: 가속도 센서 또는 자이로 센서 등)를 이용하여, 시선 방향의 변경이 있는지를 확인할 수 있다. VR 출력 장치(340)는 시선 방향을 중심으로 일정한 범위(예: 지정된 크기의 직사각형 범위)를 출력 영역(또는 시야 범위(field of view; FOV))(750)으로 결정할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 출력 영역(750)의 중심점(이하, 출력 중심점)의 좌표를 결정할 수 있다. 출력 중심점(751a, 752a, 또는 753a)의 좌표는 3차원 직교 좌표계(Cartesian coordinate system), 구면 좌표계(Spherical coordinate system), 또는 오일러 각(Euler angle), 쿼터니언(Quaternion) 등을 이용하여 표현될 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 출력 중심점(751a, 752a, 또는 753a)과 3차원 투영 공간에 포함되는 각 면의 중심점의 좌표와의 거리를 기반으로 각 면의 영상 데이터의 화질을 결정할 수 있다.
예를 들어, 사용자가 전면(front)를 바라보는 경우, VR 출력 장치(340)는 제1 출력 영역(751)에 포함된 범위의 영상 데이터를 출력할 수 있다. VR 출력 장치(340)는 출력 중심점(751a)와 각 면의 중심점(A 내지 F) 사이의 거리(이하, 중심 거리)를 산출할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 가까운 전면(front)의 영상 데이터를 고화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 먼 후면(back)의 영상 데이터를 저화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 나머지 면에 대한 영상 데이터를 중간화질로 전송하도록 서버 장치에 요청할 수 있다.
사용자가 머리를 이동하여, 시선 방향이 전면에서 상부면으로 점차적으로 이동하는 경우, 출력 영역(750)은 제1 출력 영역(751)에서, 제2 출력 영역(752) 또는 제3 출력 영역(753)으로 순차적으로 변경될 수 있다.
사용자가 전면과 상부면의 사이를 바라보는 경우, VR 출력 장치(340)는 제2 출력 영역(752)에 포함된 범위의 영상 데이터를 출력할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 가까운 전면(front) 및 상부면(top)의 영상 데이터를 고화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 먼 후면(back) 및 바닥면(bottom)의 영상 데이터를 저화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 나머지 면에 대한 영상 데이터를 중간화질로 전송하도록 서버 장치에 요청할 수 있다.
사용자가 상부면(top)를 바라보는 경우, VR 출력 장치(340)는 제3 출력 영역(753)에 포함된 범위의 영상 데이터를 출력할 수 있다. VR 출력 장치(340)는 출력 중심점(753a)와 각 면의 중심점(A 내지 F) 사이의 중심 거리를 산출할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 가까운 상부면(top)의 영상 데이터를 고화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 중심 거리가 가장 먼 바닥면(bottom)의 영상 데이터를 저화질로 전송하도록 서버 장치에 요청할 수 있다. VR 출력 장치(340)는 나머지 면에 대한 영상 데이터를 중간화질로 전송하도록 서버 장치에 요청할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 각 면의 중심점(A 내지 F)에 대한 벡터를 이용하여, 각 채널에 할당되는 대역폭을 결정할 수 있다. 일 실시 예에서, VR 출력 장치(340)는 3차원 투영 공간의 중심점(O)에서 출력 영역(또는 시야 영역)의 중심점(예: 751a, 752a, 또는 753a)을 향하는 제1 벡터(이하, 시선 벡터)(
Figure pat00001
)와 중심점(O)에서 각 면의 중심을 향하는 제2 벡터(이하, 면 벡터)(예:
Figure pat00002
내지
Figure pat00003
) 사이의 각도(Θ)를 이용하여, 각 채널에 할당되는 대역폭을 결정할 수 있다.
예를 들어, VR 출력 장치(340)는, 직교 좌표계에서, 사용자가 원점(0,0,0)에 위치했다고 가정할 경우, 3차원 투영 공간에 위치한 임의의 물체에 대한 벡터를 얻을 수 있다. VR 출력 장치(340)는 정다면체의 각 면의 중심점에 대한 벡터를 얻을 수 있다. 정육면체를 가정하였을 때, 각 면의 중심점(A 내지 F)에 대한 벡터는 다음과 같이 표현할 수 있다.
Front:
Figure pat00004
, Right:
Figure pat00005
,
Left:
Figure pat00006
, Top:
Figure pat00007
,
Bottom:
Figure pat00008
, Back:
Figure pat00009
VR 출력 장치(340)는 사용자가 바라보는 방향의 시선 벡터(
Figure pat00010
) 다음과 같이 표현할 수 있다.
User FoV:
Figure pat00011
VR 출력 장치(340)는 사용자의 시선 벡터(
Figure pat00012
) 와 각 면에 대한 벡터의 내적을 활용하여 두 벡터가 이루는 각도를 얻을 수 있다. Front를 예로 들면,
Figure pat00013
Figure pat00014
Figure pat00015
와 같은 수식을 이용하여 두 벡터가 이루는 각 (
Figure pat00016
을 구할 수 있다.
VR 출력 장치(340)는 전체 면이 사용자 시선 벡터와 이루는 각도의 합 (
Figure pat00017
) 중 각 면의 각도가 차지하는 비중에 의하여 해당 면에 대한 우선 순위를 결정하고, 이에 따라 네트워크 대역폭을 분배할 수 있다. 우선 순위가 높은 면에 대해 상대적으로 넓은 대역폭을 분배하고, 우선 순위가 낮은 면에 대해 상대적으로 좁은 대역폭을 분배할 수 있다.
도 7c는 다양한 실시 예에 따른 정육면체의 3차원 공간을 구면에 투영하는 예시도이다. 도 7c는 예시적인 것으로 이에 한정되는 것은 아니다.
도 7c를 참조하면, VR 출력 장치(340)는 정육면체의 3차원 공간을, 반지름이 1인 구면 공간에 투영할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 정육면체의 각 면의 중심점 좌표를 3차원 직교 좌표계(x,y,z)로 나타낼 수 있다.
예를 들어, TOP의 중심점(D)은 (0,0,1), FRONT의 중심점(A)은 (-1,0,0), RIGHT의 중심점(B)은 (0,1,0)로 결정될 수 있다. FRONT, TOP, RIGHT 세면이 접해있는 꼭지점의 좌표(P)는
Figure pat00018
로 결정될 수 있다.
FRONT, TOP, RIGHT 세면의 중심점은, 구면 좌표계
Figure pat00019
에서, FRONT
Figure pat00020
, TOP
Figure pat00021
, RIGHT
Figure pat00022
로 나타낼 수 있다.
VR 출력 장치(340)는 센서 모듈(예: 가속도 센서 또는 자이로 센서 등)를 이용하여 감지된, 출력 영역(750)의 출력 중심점을 구면 좌표로 맵핑하고, 출력 중심점(751)과 각 면의 중심점의 구면 거리(D)를 산출하여, 각 면의 영상 데이터의 품질을 결정할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 각 면의 중심점 좌표 (예, (
Figure pat00023
), (
Figure pat00024
), ... (
Figure pat00025
))를 이용하여 출력 중심점(751) (
Figure pat00026
) 과의 구면 거리(D)를 이용하여, 각 채널에 할당되는 대역폭을 결정할 수 있다.
예를 들어, VR 출력 장치(340)는
Figure pat00027
시간에서 출력 영역의 출력 중심점(751)을 (
Figure pat00028
), (
Figure pat00029
) 등으로 산출할 수 있다. VR 출력 장치(340)는 각 면의 중심점 좌표 (예, (
Figure pat00030
), (
Figure pat00031
), ... (
Figure pat00032
))를 이용하여 출력 중심점 (
Figure pat00033
) 과의 구면 거리(D)를 아래의 [수학식1]을 이용하여 계산할 수 있다.
[수학식1]
Figure pat00034
VR 출력 장치(340)는 사용 가능한 네트워크 대역폭과 계산된 각 면의 중심점 구면거리(D)를 이용하여 각 면에 대하여 대역폭을 아래의 [수학식2]를 통해 분배할 수 있다.
[수학식2]
Figure pat00035
대역폭 (
Figure pat00036
)과 구면 거리(
Figure pat00037
)
다양한 실시 예에 따르면, VR 출력 장치(340)는 구면 좌표계에서 각 면의 중심점과 출력 중심점을 향하는 벡터(vector) 간의 각도, 오일러 각, 쿼터니언 등을 활용하여 대역폭 분배 과정을 수행할 수 있다. 예를 들어, 출력 중심점(751)과 각 면의 중심점이 이루는 각도에 반비례하도록 대역폭을 분배할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 각 면에서 사용할 수 있는 대역폭이 결정되면, DASH 혹은 HLS 와 같은 기술 등에서 사용되는 화질 선택 방법을 각 면에 대하여 적용할 수 있다.
다양한 실시 예에 따르면, VR 출력 장치(340)는 다수의 면에 대해 설정된 네트워크 대역폭과 선택된 화질의 비트 레이트(Bit rate) 차이가 발생하면 잔여 네트워크 대역폭이 존재할 수 있기 때문에, 설정된 네트워크 대역폭보다 높은 비트 레이트의 영상 데이터를 요청할 수 있다.
도 8a는 다양한 실시 예에 따른 전자 장치의 블럭도이다. 도 8에서는 비디오 데이터 또는 오디오 데이터를 처리하고 출력하는 구성을 중심으로 도시하였으며, 일부 구성이 추가 또는 생략될 수 있다.
도 8a를 참조하면, 전자 장치(801)는 스트리밍 제어부(810), 스트림부 (820), 임시 저장부(830), 분석부(840), 디코딩부(850), 버퍼(860), 출력부(870), 및 센서부(880)를 포함할 수 있다.
스트리밍 제어부(810)는 센서부(880)에서 수집된 센싱 정보를 기반으로 스트림부(820)를 제어할 수 있다. 예를 들어, 스트리밍 제어부(810)는 센싱 정보를 통해 사용자가 현재 바라보고 있는 시야 범위를 확인할 수 있다. 스트리밍 제어부(810)는 사용자의 시야 범위에 대응하는 스트림부(820) 중 하나를 결정하고, 스트리밍의 우선 순위, 데이터 전송 속도, 영상 데이터의 해상도 등을 조절할 수 있다. 다양한 실시 예에서, 스트리밍 제어부(810)는 도 1의 프로세서(101a)일 수 있다.
다양한 실시 예에서, 스트리밍 제어부(810)는 임시 저장부(830)로부터 캐시 메모리(830)의 상태 정보를 수신할 수 있다. 스트리밍 제어부(810)는 수신한 상태 정보를 기반으로 스트림부(820)를 제어하여, 전송되는 영상 데이터의 양 또는 속도를 조절할 수 있다.
스트림부(820)는 스트리밍 제어부(810)의 제어에 따라 영상 데이터를 스트리밍할 수 있다. 스트림부(820)는 출력되는 가상의 3차원 공간에 포함되는 영역(또는 서피스)의 개수에 대응하는 스트리머를 포함할 수 있다. 예를 들어, 도 7과 같은 큐브 맵의 3차원 투영 공간의 경우, 스트림부 (820)는 제1 내지 제6 스트리머를 포함할 수 있다. 각각의 스트리머를 통해 출력되는 영상 데이터는 대응하는 서피스를 통해 출력될 수 있다.
임시 저장부(830)는 스트림부(820)를 통해 전송되는 영상 데이터를 임시로 저장할 수 있다. 캐시 메모리(830)는 출력되는 가상의 3차원 공간에 포함되는 영역(또는 서피스)의 개수에 대응하는 캐시(cache) 메모리를 포함할 수 있다. 예를 들어, 도 7과 같은 큐브 맵의 3차원 투영 공간의 경우, 임시 저장부(830)는 제1 내지 제6 캐시 메모리를 포함할 수 있다. 각각의 캐시 메모리에 임시 저장된 영상 데이터는 대응하는 서피스를 통해 출력될 수 있다.
분석부(840)는 임시 저장부(830)에 저장된 영상 데이터로부터 비디오 데이터 및 오디오 데이터를 추출할 수 있다. 예를 들어, 분석부(840)는 임시 저장부(830)에 저장된 영상 데이터 중 통신을 위해 부가된 헤더 등을 제거하여 실질적인 영상 데이터를 추출하고, 비디오 데이터 및 오디오 데이터를 분리할 수 있다. 분석부(840)는 출력되는 가상의 3차원 공간에 포함되는 영역(또는 서피스)의 개수에 대응하는 파서(parser)를 포함할 수 있다.
디코딩부(850)는 분석부 (840)에서 추출된 비디오 데이터 및 오디오 데이터를 디코딩할 수 있다. 다양한 실시 예에서, 디코딩부(850)는 비디오 데이터를 디코딩하는 비디오 디코더(851) 및 오디오 데이터를 디코딩 하는 오디오 디코더(852)를 포함할 수 있다. 디코딩부(850)는 출력되는 가상의 3차원 공간에 포함되는 영역(또는 서피스)의 개수에 대응하는 비디오 디코더(851)를 포함할 수 있다.
버퍼(860)은 출력부(870)를 통해 비디오 또는 오디오를 출력하기 전에 디코딩된 비디오 데이터 및 오디오 데이터를 저장할 수 있다. 버퍼(860)은 비디오 버퍼(또는 서피스 버퍼)(861) 및 오디오 버퍼(862)를 포함할 수 있다. 버퍼(860)은 출력되는 가상의 3차원 공간에 포함되는 영역(또는 서피스)의 개수에 대응하는 비디오 버퍼(861)를 포함할 수 있다.
다양한 실시 예에 따르면, 스트리밍 제어부(810)는 지정된 타이밍 신호에 따라 버퍼(860)에 저장된 비디오 데이터 및 오디오 데이터를 출력부(870)에 제공할 수 있다. 예를 들어, 스트리밍 제어부(810)는 비디오 버퍼(861)에 저장된 비디오 데이터를 오디오 버퍼(862)에 저장된 오디오 데이터를 기준으로 하는 타이밍 신호에 따라 비디오 출력부(871)(예: 디스플레이)에 제공할 수 있다.
출력부(870)는 비디오 출력부(또는 비디오 렌더러)(871) 및 오디오 출력부(또는 오디오 렌더러)(872)를 포함할 수 있다. 비디오 출력부(871)는 비디오 데이터에 따른 이미지를 출력할 수 있다. 오디오 출력부(872)는 오디오 데이터에 따른 소리를 출력할 수 있다.
센서부(880)는 사용자의 시선 정보(예: 시야 범위, 시야 방향)를 스트리밍 제어부(810)에 제공할 수 있다.
다양한 실시 예에 따르면, 스트리밍 제어부(810)는 시야 범위를 기반으로 버퍼링을 제어할 수 있다. 스트리밍 제어부(810)는 시야 범위로 결정된 서피스의 주변 서피스에서 영상 데이터의 수신이 지연되는 경우, 별도의 버퍼링 동작을 하지 않을 수 있다. 스트리밍 제어부(810)는 주변 서피스에서 출력되기 위해 수신 중인 영상 데이터의 수신을 의도적으로 취소(skip)하여, 재생 fps를 낮추고, 데이터 수신량을 줄일 수 있다. 스트리밍 제어부(810)는 취소된 구간의 다음 구간에 대한 영상 데이터를 수신할 수 있다.
다양한 실시 예에 따르면, 스트리밍 제어부(810)는 시야 범위 이동에 따라 각 서피스 마다 서로 다른 화질의 영상을 재생하도록 할 수 있다. 스트리밍 제어부(810)는 버퍼 저장 데이터의 교체(buffer swap)기능을 이용하여, 시야 범위의 이동에 따라 빠르게 화질을 변경할 수 있다.
예를 들어, 시야 범위가 전면 영역인 상태에서, n 번째 비디오 데이터가 비디오 출력부(870)에서 재생 중이고, n+2 번째 비디오 데이터가 수신 중일 수 있다. 전면 영역의 인접 영역인 좌측/우측/상측/하측 영역은 전면 영역 보다는 낮은 화질의 n+2 번째 비디오 데이터를 수신할 수 있다. 시야 영역이, 좌측 영역 또는 우측 영역으로 변경되는 경우, 스트리밍 제어부(810)는 현재 네트워크의 비트 전송 속도(bitrate)를 확인하여, n+3이 아닌, n+1 또는 n+2 번째 비디오 데이터를 중복으로 수신할 수 있다. 스트리밍 제어부(810)는 비디오 버퍼(861)에 저장된 저화질의 비디오 데이터를 고화질의 비디오 데이터로 교체할 수 있다.
도 8a에서는 가상의 3차원 투영 공간이 6개의 면(예: 큐브 맵)인 경우를 중심으로 논의하였으나, 이에 한정되는 것은 아니다. 예를 들어, 스트리밍 제어부(810)는 가상의 3차원 투영 공간을 8개의 면 또는 10개의 면으로 구분하고, 각각의 면에 대한 렌더링을 수행할 수 있다.
다양한 실시 예에 따르면, 스트리밍 제어부(810)는 다수의 서피스 생성시 성능 저하를 방지하기 위해, 복수의 서피스들을 그룹화하고, 그룹별로 서로 다른 화질 정보(예: 프레임 비율, 해상도, 비트 전송 비율 등)를 가지도록 설정할 수 있다. 예를 들어, 제1 스트리머, 제1 캐시 메모리, 제1 파서, 제1 비디오 디코더, 제1 버퍼는 제1 그룹의 영상 데이터를 처리하고, 제2 스트리머, 제2 캐시 메모리, 제2 파서, 제2 비디오 디코더, 제2 버퍼는 제2 그룹의 영상 데이터를 처리할 수 있다.
다양한 실시 예에 따르면, 스트리밍 제어부(810)는 처리할 수 있는 서피스의 개수를 초과하는 맵핑 방법(예: 정 20면체 Icosahedrons mapping)을 이용하는 경우, 사용자가 시청 중인 시야 범위에 포함된 복수의 다면체 면의 비디오 데이터를 하나의 서피스로 통합하여 처리할 수 있다. 예를 들어, 정 20면체 Icosahedrons mapping 의 경우, 스트리밍 제어부(810)는 각각의 서피스에서, 정 20면체 중 3~4개의 면에 대한 비디오 데이터를 처리하도록 할 수 있다.
도 8b는 다양한 실시 예에 따른 스트리밍을 통한 영상 데이터의 출력 과정을 설명하는 순서도이다.
도 8b를 참조하면, 동작 891에서, 스트리밍 제어부(810)는 센서부(880)로부터 사용자의 시야 범위에 관한 센싱 정보를 수신할 수 있다.
동작 892에서, 스트리밍 제어부(810)는 센싱 정보를 기반으로 각각의 스트림머(예: 제1 내지 제6 스트림머)에서 수신할 영상 데이터의 화질을 결정할 수 있다. 스트리밍 제어부(810)는 외부의 스트리밍 서버와 연결된 복수의 채널들(또는 제어 채널)을 이용하여, 각각의 스트림머에 영상 데이터의 전송을 요청할 수 있다.
동작 893에서, 각각의 스트림머(821)는 영상 데이터를 수신할 수 있다. 각각의 스트림머(821)를 통해 수신되는 영상 데이터의 화질은 서로 다를 수 있다. 각각의 스트림머(821)는 영상 데이터를 캐시 메모리(831)에 저장할 수 있다.
동작 894에서, 파서(841)는 캐시 메모리(831)에 저장된 영상 데이터로부터 비디오 데이터 및 오디오 데이터를 추출할 수 있다. 예를 들어, 파서(841)는 캐시 메모리(831)에 저장된 영상 데이터 중 통신을 위해 부가된 헤더 등을 제거하여 실질적인 영상 데이터를 추출할 수 있다. 또한, 파서(841)는 지정된 순서(예: 시간 순서, 재생 순서 등)에 따라 영상 데이터의 패킷들을 결합할 수 있다. 파서(841)는 영상 데이터에 비디오 데이터 및 오디오 데이터가 포함된 경우, 비디오 데이터 및 오디오 데이터를 분리할 수 있다.
동작 895에서, 디코딩부(850)는 추출된 비디오 데이터 및 오디오 데이터를 디코딩할 수 있다. 예를 들어, 비디오 디코더(851)는 H.264에 따라 압축된 비디오 데이터를 압축 해제하여, 비디오 출력부(871)에서 재생 가능한 비디오 데이터로 변환할 수 있다. 오디오 디코더(852)는 AAC(advanced audio coding)에 따라 압축된 오디오 데이터를 압축해제할 수 있다.
다양한 실시 예에서, 디코딩된 비디오 데이터는 비디오 버퍼(861)에 저장될 수 있고, 디코딩된 오디오 데이터는 오디오 버퍼(862)에 저장될 수 있다. 버퍼(860)은 가상의 3차원 공간을 구분하는 면의 개수만큼의 비디오 버퍼(861)를 포함할 수 있다.
동작 896에서, 스트리밍 제어부(810)는 지정된 타이밍 신호에 따라, 비디오 출력부(871) 또는 오디오 출력부(872)를 통해 비디오 데이터 또는 오디오 데이터를 출력할 수 있다.
일 실시 예에서, 스트리밍 제어부(810)는 각각의 비디오 버퍼(861)에 저장된 데이터 중 동일한 타임 스탬프를 가지는 비디오 데이터를 동시에 출력할 수 있다.
다른 일 실시 예에서, 스트리밍 제어부(810)는 오디오 버퍼(862)에 저장된 오디오 데이터를 기준으로 하는 타이밍 신호에 따라 비디오 출력부(871)(예: 디스플레이)에 비디오 데이터를 출력할 수 있다. 예를 들어, 오디오 출력부(872)에서 n번째 오디오 데이터가 출력되는 경우, 스트리밍 제어부(810)는 n번째 오디오 데이터와 미리 동기화된 비디오 데이터를 비디오 출력부(871)에 전송할 수 있다.
다양한 실시 예에 따른 영상 스트리밍 방법은 전자 장치에서 수행되고, 상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하는 동작, 상기 복수의 영역들 각각을 외부 장치로부터 영상 데이터를 수신하는 복수의 채널들 중 하나와 연계하는 동작, 상기 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하는 동작, 및 상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 디스플레이에 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상 데이터를 수신하는 동작은 센서 모듈을 이용하여, 사용자의 시선에 대응하는 방향에 관한 센싱 정보를 수집하는 동작 및 상기 센싱 정보를 기반으로 복수의 영역들 중 상기 방향에 대응하는 시야 범위를 결정하는 동작을 포함할 수 있다. 상기 영상 데이터를 수신하는 동작은 상기 시야 범위에 연계된 제1 채널을 통해 제1 화질의 제1 영상 데이터를 수신하는 동작, 상기 시야 범위에 인접한 주변 영역에 연계된 제2 채널을 통해 제2 화질의 제2 영상 데이터를 수신하는 동작을 포함할 수 있다. 상기 스트리밍 영상을 출력하는 동작은 상기 제1 영상 데이터를 기반으로 상기 시야 범위에 이미지를 출력하고, 상기 제2 영상 데이터를 기반으로 상기 주변 영역에 이미지를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상 데이터를 수신하는 동작은 상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통해 제3 화질의 제3 영상 데이터를 수신하는 동작을 포함할 수 있다. 상기 스트리밍 영상을 출력하는 동작은 상기 제3 영상 데이터를 기반으로 상기 분리 영역에 이미지를 출력하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상 데이터를 수신하는 동작은 상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통한 영상 데이터의 수신을 제한하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 영상 데이터를 수신하는 동작은 무선 통신 환경을 기반으로, 상기 복수의 영역들 각각에 연계된 채널을 통해 수신하는 영상 데이터의 화질 범위를 결정하는 동작을 포함할 수 있다.
도 9는 다양한 실시 예에 따르면, 디블록킹 필터를 이용하여, 서피스간의 화질 차이를 감소시키는 화면 예시도 있다. 도 9에서는 HEVC(high efficiency video codec)의 병렬화 기술 중 타일(tile) 기법을 적용하는 경우를 예시적으로 도시한 것으로 이에 한정되는 것은 아니다.
도 9를 참조하면, 스트리밍 제어부(810)는 HEVC(high efficiency video codec)의 병렬화 기술 중 타일(tile) 기법을 적용하여 각각의 서피스의 영상 데이터를 병렬화 처리할 수 있다. 가상의 3차원 공간은 정면 영역(901), 우측 영역(902), 좌측 영역(903), 상측 영역(904), 하측 영역(905), 후면 영역(906)을 포함할 수 있다. 정면 영역(901)은 상대적으로 고화질의 영상 데이터(예: 화질 등급 5)가 출력될 수 있고, 우측 영역(902), 좌측 영역(903), 상측 영역(904), 하측 영역(905), 및 후면 영역(906)은 상대적으로 낮은 등급의 영상 데이터(예: 화질 등급 1)가 출력될 수 있다.
사용자의 시야 범위(950)가 각 영역의 경계에 해당하는 경우, 사용자에게 자연스러운 화면 변화를 제공하기 위해, 스트리밍 제어부(810)는 각각의 타일 별로 다른 계수 값(coefficient)을 갖는 디블럭킹 필터를 적용하여, 경계 면의 화질 열화 artifact를 줄일 수 있다.
스트리밍 제어부(810)는 시야 범위(950)의 이동에 따라서 렌더링될 서피스(예: 정면 영역(901) 및 우측 영역(902))를 미리 확인할 수 있다. 스트리밍 제어부(810)는 비디오 디코더(851)를 통해서 생성된 비디오 데이터에 디블록킹 필터(deblocking filter)를 블록별로 차별적으로 적용할 수 있다. 스트리밍 제어부(810)는 우측 영역(902)를 4개의 타일(902a 내지 902d)로 나누고, 각각의 타일에 다른 계수값을 적용하여 블락킹 아티팩트(blocking artifact)를 효과적으로 감소시킬 수 있다.
도 9에서와 같이, 시야 범위(950)가 정면 영역(901) 및 우측 영역(902)의 사이에 위치하는 경우, 우측 영역(902) 중 제1 타일(902a) 및 제3 타일(902c)의 디블럭킹 필터 계수는 상대적으로 성능이 높은 필터 계수를 적용하고, 제2 타일(902b) 및 제4 타일(902d)에는 상대적으로 성능이 낮은 필터 계수를 적용할 수 있다.
도 9에서는 시야 범위(950)가 2개의 면 사이의 경계에 배치되는 경우를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다. 예를 들어, 시야 범위(950)는 3개 면의 경계에 배치될 수도 있다. 이 경우, 시야 범위(950)에 포함되거나 인접한 타일에서는 상대적으로 성능이 높은 필터 계수를 적용되고, 시야 범위(950)에서 가장 먼 타일에는 가장 성능이 낮은 필터 계수를 적용될 수 있다.
도 10a 및 도 10b는 다양한 형태의 가상의 3차원 투영 공간의 예시도이다. 도 10a 및 도 10b는 예시적인 것으로 이에 한정되는 것은 아니다.
도 10a를 참조하면, 정팔면체(regular octahedron) 형태의 3차원 투영 공간 (1001)은 제1 면 내지 제8 면(1011 내지 1018)을 포함할 수 있다. 제1 면 내지 제8 면(1011 내지 1018)은 각각 정삼각형 형태일 수 있다. 제1 면 내지 제8 면(1011 내지 1018)에 대한 영상 데이터는 복수의 스트리밍 채널을 통해 전송될 수 있다.
다양한 실시 예에서, VR 출력 장치(340)는 시야 범위로 결정되는 면의 영상 데이터를 상대적으로 고화질의 데이터로 수신하고, 시야 범위에서 멀어질수록 저화질의 데이터를 수신할 수 있다. 예를 들어, 제1 면(1011)이 시야 범위로 결정되는 경우, VR 출력 장치(340)는 제1 면(1011)에 대해 가장 고화질의 영상 데이터를 수신하고, 제1 면(1011)에 반대되는 제8 면(1018)에 대해 가장 저화질의 영상 데이터를 수신(또는 영상 데이터의 수신을 취소)할 수 있다.
일 실시 예에서, VR 출력 장치(340)는 서버(330)과 서로 다른 8개의 스트리밍 채널을 형성하고, 각각의 면에 대한 영상 데이터를 수신할 수 있다.
다른 일 실시 예에서, VR 출력 장치(340)는 서버(340)과 서로 다른 4개의 스트리밍 채널을 형성하고, 각각의 스트리밍 채널을 통해 하나 이상의 면에 대한 영상 데이터를 수신할 수 있다.
예를 들어, 제1 면(1011)이 시야 범위로 결정되는 경우, VR 출력 장치(340)는 제1 스트리밍 채널을 통해, 제1 면(1011)에 대한 영상 데이터를 수신할 수 있다. VR 출력 장치(340)는 제2 스트리밍 채널을 통해, 제1 면(1011)에 인접한 제2 내지 제4 면(1012 내지 1014)에 대한 영상 데이터를 수신하고, 제3 스트리밍 채널을 통해, 제5 내지 제7 면(1015 내지 1017)에 대한 영상 데이터를 수신할 수 있다. VR 출력 장치(340)는 제4 스트리밍 채널을 통해, 제1 면(1011)의 반대면에 배치되는 제8 면(1018)에 대한 영상 데이터를 수신할 수 있다. 다양한 실시 예에서, VR 출력 장치(340)는 각각의 스트리밍 채널을 통해 수신한 영상 데이터를 그룹화하여 일괄적으로 처리할 수 있다.
도 10b를 참조하면, 정이십면체(regular icosahedron) 형태의 3차원 투영 공간(1002)은 제1 면 내지 제20 면(1021, 1022a 내지 1022c, 1023a 내지 1023f, 1024a 내지 1024f, 1025a 내지 1025c 및 1026)을 포함할 수 있다. 제1 면 내지 제20 면(1021, 1022a 내지 1022c, 1023a 내지 1023f, 1024a 내지 1024f, 1025a 내지 1025c 및 1026)은 각각 정삼각형 형태일 수 있다. 제1 면 내지 제20 면(1021, 1022a 내지 1022c, 1023a 내지 1023f, 1024a 내지 1024f, 1025a 내지 1025c 및 1026)에 대한 영상 데이터는 복수의 스트리밍 채널을 통해 전송될 수 있다.
다양한 실시 예에서, VR 출력 장치(340)는 시야 범위로 결정되는 면의 영상 데이터를 상대적으로 고화질의 데이터로 수신하고, 시야 범위에서 멀어질수록 저화질의 데이터를 수신할 수 있다. 예를 들어, 제1 면(1021)이 시야 범위로 결정되는 경우, VR 출력 장치(340)는 제1 면(1021)에 대해 가장 고화질의 영상 데이터를 수신하고, 제1 면(1021)에 반대되는 제20 면(1026)에 대해 가장 저화질의 영상 데이터를 수신(또는 영상 데이터의 수신을 취소)할 수 있다.
일 실시 예에서, VR 출력 장치(340)는 서버(340)과 서로 다른 20개의 스트리밍 채널을 형성하고, 각각의 면에 대한 영상 데이터를 수신할 수 있다.
다른 일 실시 예에서, VR 출력 장치(340)는 서버(330)과 서로 다른 6개의 스트리밍 채널을 형성하고, 각각의 스트리밍 채널을 통해 하나 이상의 면에 대한 영상 데이터를 수신할 수 있다.
예를 들어, 제1 면(1021)이 시야 범위로 결정되는 경우, VR 출력 장치(340)는 제1 스트리밍 채널을 통해, 제1 면(1021)에 대한 영상 데이터를 수신할 수 있다. VR 출력 장치(340)는 제2 스트리밍 채널을 통해, 제1 면(1011)에 인접한 제2 내지 제4 면(1022a 내지 1022c)에 대한 영상 데이터를 수신하고, 제3 스트리밍 채널을 통해, 제5 내지 제10 면(1023a 내지 1023f)에 대한 영상 데이터를 수신할 수 있다. VR 출력 장치(340)는 제4 스트리밍 채널을 통해, 제11 내지 제16 면(1024a 내지 1024f)에 대한 영상 데이터를 수신하고, 제5 스트리밍 채널을 통해, 제17 내지 제19 면(1025a 내지 1025c)에 대한 영상 데이터를 수신할 수 있다. VR 출력 장치(340)는 제6 스트리밍 채널을 통해, 제1 면(1021)의 반대면에 배치되는 제20 면(1026)에 대한 영상 데이터를 수신할 수 있다. 다른 일 실시 예에서, VR 출력 장치(340)는 각각의 스트리밍 채널을 통해 수신한 영상 데이터를 그룹화하여 일괄적으로 처리할 수 있다.
도 11a 및 도 11b는 정다면체의 3차원 투영 공간의 데이터 구성 예시도이다. 도 11a 및 도 11b는 예시적인 것으로 이에 한정되는 것은 아니다.
서버(330)는 정다면체의 각 면을 구성하는 영상 데이터를 이용하여, 하나의 서브 영상(또는 subregion 영상, 전송용 영상)으로 재구성할 수 있다. 일 실시 예에서, 서버(330)는 하나의 면에 대한 영상 데이터를 이용하여, 하나의 서브 영상을 생성할 수 있다. 이하에서는, 제1 면(1111 또는 1151)을 기반으로 서브 영상을 생성하는 과정을 설명하지만, 다른 면들에도 적용될 수 있다.
도 11a에서, 서버(330)는 정이십면체의 3차원 투영 공간(1101)을 구성하는 각각의 면(Surface)에 대응하는 서로 다른 서브 영상을 생성할 수 있다.
예를 들어, 정이십면체의 제1 면(1111)은 제1 영상 데이터(1111a)로 구성될 수 있다. 서버(330)는 삼각 형태의 제1 영상 데이터(1111a)를 사각형 프레임을 가지는 제1 서브 영상(1141)으로 변경하여 저장할 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 영상 데이터(1111a)에 더미 데이터(예: 블랙 데이터)(1131)을 추가하여 사각형 프레임을 가지는 제1 서브 영상(1141)을 생성할 수 있다. 예를 들어, 더미 데이터(예: 블랙 데이터)(1131)는 인코딩 효율을 크게 감소시키지 않고, 디코딩 가능한 최대 해상도에 영향을 줄 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 서브 영상(1141)을 복수의 화질 등급으로 계층화 하여 저장할 수 있다. 서버(330)는 VR 출력 장치(340)의 요청에 따라 다양한 화질의 제1 서브 영상(1141)을 VR 출력 장치(340)에 전송할 수 있다.
도 11b에서, 서버(330)는 정팔면체의 3차원 투영 공간(1105)을 구성하는 각각의 면(Surface)에 대응하는 서로 다른 서브 영상을 생성할 수 있다.
예를 들어, 정팔면체의 제1 면(1151)은 제1 영상 데이터(1151a)로 구성될 수 있다. 서버(330)는 삼각 형태의 제1 영상 데이터(1151a)를 사각형 프레임을 가지는 제1 서브 영상(1181)으로 변경하여 저장할 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 영상 데이터(1151a)에 더미 데이터(예: 블랙 데이터)(1171)을 추가하여 사각형 프레임을 가지는 제1 서브 영상(1181)을 생성할 수 있다. 더미 데이터(예: 블랙 데이터)(1171)는 인코딩 효율을 크게 감소시키지 않고, 디코딩 가능한 최대 해상도에 영향을 줄 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 서브 영상(1181)을 복수의 화질 등급으로 계층화 하여 저장할 수 있다. 서버(330)는 VR 출력 장치(340)의 요청에 따라 다양한 화질의 제1 서브 영상(1181)을 VR 출력 장치(340)에 전송할 수 있다.
도 12a 및 도 12b는 정다면체의 3차원 투영 공간의 하나의 면을 재결합하여, 하나의 서브 영상을 구성하는 예시도이다. 도 12a 및 도 12b는 예시적인 것으로 이에 한정되는 것은 아니다.
서버(330)는 정다면체의 하나의 면을 구성하는 영상 데이터를 재배열하여, 하나의 서브 영상(또는 subregion 영상, 전송용 영상)을 생성할 수 있다. 이하에서는, 제1 면(1211 또는 1251)을 기반으로 서브 영상을 생성하는 과정을 설명하지만, 상기 과정은 정이십면체 또는 정팔면체의 다른 면들에도 적용될 수 있다.
도 12a에서, 서버(330)는 정이십면체의 3차원 투영 공간(1201)을 구성하는 하나의 면(Surface)을 재배열하여, 하나의 서브 영상을 생성할 수 있다.
예를 들어, 정이십면체의 제1 면(1211)은 제1 영상 데이터(1211a)로 구성될 수 있다. 제1 영상 데이터(1211a)는 제1 분할 영상(1211a1)과 제2 분할 영상(1211a2)를 포함할 수 있다. 제1 분할 영상(1211a1)과 제2 분할 영상(1211a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
서버(330)는 제1 분할 영상(1211a1)과 제2 분할 영상(1211a2)의 배치 형태를 변경하여, 사각형 프레임을 가지는 제1 서브 영상(1241)을 생성할 수 있다. 예를 들어, 서버(330)는 제1 분할 영상(1211a1)과 제2 분할 영상(1211a2)의 빗변이 서로 접하도록 배치하여, 직사각형의 제1 서브 영상(1241)을 생성할 수 있다. 서버(330)는, 도 11a 또는 11b와 달리, 별도의 더미 영상을 포함하지 않은 제1 서브 영상(1241)을 생성할 수 있다. 제1 서브 영상(1241)이 별도의 별도의 더미 영상을 포함하지 않은 경우, 프레임 재배열 과정에서 발생할 수 있는 디코딩 해상도에 미치는 영향이 줄어들 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 서브 영상(1241)을 복수의 화질 등급으로 계층화 하여 저장할 수 있다. 서버(330)는 VR 출력 장치(340)의 요청에 따라 다양한 화질의 제1 서브 영상(1241)을 VR 출력 장치(340)에 전송할 수 있다.
도 12b에서, 서버(330)는 정팔면체의 3차원 투영 공간(1205)을 구성하는 하나의 면(Surface)을 재배열하여, 하나의 서브 영상을 생성할 수 있다.
예를 들어, 정팔면체의 제1 면(1251)은 제1 영상 데이터(1251a)로 구성될 수 있다. 제1 영상 데이터(1251a)는 제1 분할 영상(1251a1)과 제2 분할 영상(1251a2)를 포함할 수 있다. 제1 분할 영상(1251a1)과 제2 분할 영상(1251a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
서버(330)는 제1 분할 영상(1251a1)과 제2 분할 영상(1251a2)의 배치 형태를 변경하여, 사각형 프레임을 가지는 제1 서브 영상(1281)로 변경하여 저장할 수 있다. 서버(330)는 제1 분할 영상(1251a1)과 제2 분할 영상(1251a2)의 빗변이 서로 접하도록 배치하여, 사각 형태의 제1 서브 영상(1281)을 생성할 수 있다.
도 12c는 다양한 실시 예에 따른 2개의 면의 일부를 결합하여, 서브 영상을 구성하는 예시도이다. 도 12c에서는 정팔면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
서버(330)는 정다면체의 2개 면을 구성하는 영상 데이터 각각의 일부를 이용하여, 하나의 서브 영상(또는 subregion 영상, 전송용 영상)으로 재구성할 수 있다. 일 실시 예에서, 서버(330)는 정다면체의 제1 면의 일부 및 제2 면의 일부를 결합하여, 제1 서브 영상을 생성하고, 제1 면의 다른 일부 및 제2 면의 다른 일부를 결합하여 제2 서브 영상을 생성할 수 있다. 이하에서는, 제1 면(1291) 및 제2 면(1292)을 기반으로 서브 영상을 생성하는 과정을 설명하지만, 다른 면들에도 적용될 수 있다.
서버(330)는 정팔면체의 3차원 투영 공간(1209)을 구성하는 2개의 면(Surface)을 재배열하여, 2개의 서브 영상을 생성할 수 있다.
예를 들어, 정팔면체의 제1 면(1291)은 제1 영상 데이터(1291a)로 구성될 수 있다. 제1 영상 데이터(1291a)는 제1 분할 영상(1291a1)과 제2 분할 영상(1291a2)를 포함할 수 있다. 제1 분할 영상(1291a1)과 제2 분할 영상(1291a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
정팔면체의 제2 면(1292)은 제1 영상 데이터(1292a)로 구성될 수 있다. 제2 영상 데이터(1292a)는 제3 분할 영상(1292a1)과 제4 분할 영상(1292a2)를 포함할 수 있다. 제3 분할 영상(1292a1)과 제4 분할 영상(1292a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
서버(330)는 제1 분할 영상(1291a1)과 제3 분할 영상(1292a1)의 배치 형태를 변경하여, 사각형 프레임을 가지는 제1 서브 영상(1295a1) 를 생성할 수 있다. 서버(330)는 제1 분할 영상(1291a1)과 제3 분할 영상(1292a1)의 빗변이 서로 접하도록 배치하여, 사각 형태의 제1 서브 영상(1295a1)을 생성할 수 있다.
서버(330)는 제2 분할 영상(1291a2)과 제4 분할 영상(1292a2)의 배치 형태를 변경하여, 사각형 프레임을 가지는 제1 서브 영상(1295a2)를 생성할 수 있다. 서버(330)는 제2 분할 영상(1291a2)과 제4 분할 영상(1292a2)의 빗변이 서로 접하도록 배치하여, 사각 형태의 제2 서브 영상(1295a2)을 생성할 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 서브 영상(1295a2) 및 제2 서브 영상(1295a2) 각각을 복수의 화질 등급으로 계층화 하여 저장할 수 있다. 서버(330)는 VR 출력 장치(340)의 요청에 따라 다양한 화질의 제1 서브 영상(1295a2) 또는 제2 서브 영상(1295a2)을 VR 출력 장치(340)에 전송할 수 있다. 도 12c의 방식은, 도 12b와 비교할 때, 생성되는 서브 영상의 개수(8개)는 동일하지만, 사용자가 꼭지점(1290)을 바라보는 경우에, 요청하는 고화질 영상의 수가 네 개에서 두 개로 줄어 들 수 있다.
도 13a 및 도 13b는 정다면체의 3차원 투영 공간의 2개의 면을 결합하여, 하나의 서브 영상을 구성하는 예시도이다. 도 13a 및 도 13b는 정이십면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다. 또한, 도 13a 및 도 13b의 과정은 3개 이상의 면을 결합하여, 하나의 서브 영상을 생성하는 경우에도 적용될 수 있다.
정다면체(예: 정이십면체)를 구성하는 면의 수가 많을 경우, 모든 면에 대하여 전송 채널을 생성하고 유지하는 경우, 시스템 오버헤드가 증가할 수 있다.
서버(330)는 정다면체의 2개의 면을 구성하는 영상 데이터를 결합하여, 하나의 서브 영상(또는 subregion 영상, 전송용 영상)으로 재구성할 수 있다. 이를 통해, 서버(330)는 전송 채널의 개수를 줄일 수 있고, 시스템 오버헤드를 감소시킬 수 있다.
이하에서는, 제1 면(1311 또는 1351) 및 제2 면(1312 또는 1352)을 결합하여, 하나의 서브 영상(1341 또는 1381)을 생성하는 과정을 설명하지만, 상기 과정은 다른 면들에도 적용될 수 있다.
도 13a에서, 서버(330)는 정이십면체의 3차원 투영 공간(1301)을 구성하는 2개의 면의 배치 형태를 유지하고, 별도의 더미 데이터(예: 블랙 데이터)를 추가하여, 하나의 서브 영상(1341)을 생성할 수 있다.
예를 들어, 정이십면체의 제1 면(1311)은 제1 영상 데이터(1311a)로 구성될 수 있고, 제2 면(1312)은 제2 영상 데이터(1312a)로 구성될 수 있다.
제1 면(1311)과 제2 면(1312)은 서로 인접한 면일 수 있고, 제1 영상 데이터(1311a)과 제2 영상 데이터(1312a)는 인접하는 면에서 연속적인 데이터 특성을 가질 수 있다.
서버(330)는 각각 삼각 형태인 제1 영상 데이터(1311a)과 제2 영상 데이터(1312a)의 주변에 별도의 더미 데이터(예: 블랙 데이터)(1331)를 추가하여, 직사각형 프레임을 가지는 제1 서브 영상(1341)를 생성할 수 있다. 더미 데이터(1331)는 제1 영상 데이터(1311a)과 제2 영상 데이터(1312a)가 접하는 변을 제외한 나머지 변에 접하도록 배치될 수 있다.
서버(330)는 정이십면체의 3차원 투영 공간의 20개 면에 대한 영상 데이터를 총 10개의 서브 영상들로 변환하여 저장할 수 있다. 이를 통해, 영상 데이터를 전송하기 위한 채널의 개수가 줄어들 수 있고, 시스템 오버헤드가 줄어들 수 있다.
도 13b에서, 서버(330)는 정이십면체의 3차원 투영 공간(1305)을 구성하는 2개 면의 영상 데이터를 재구성하여, 하나의 서브 영상을 생성할 수 있다. 이 경우, 도 13a와 달리, 별도의 더미 데이터(예: 블랙 데이터)는 추가되지 않을 수 있다.
예를 들어, 정이십면체의 제1 면(1351)은 제1 영상 데이터(1351a)로 구성될 수 있다. 제1 영상 데이터(1351a)는 제1 분할 영상(1351a1)과 제2 분할 영상(1351a2)를 포함할 수 있다. 제1 분할 영상(1351a1)과 제2 분할 영상(1351a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
정이십면체의 제2 면(1352)은 제2 영상 데이터(1352a)로 구성될 수 있다. 제2 영상 데이터(1352a)는 제3 분할 영상(1352a1)과 제4 분할 영상(1352a2)를 포함할 수 있다. 제3 분할 영상(1352a1)과 제4 분할 영상(1352a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다.
제1 면(1351)과 제2 면(1352)은 서로 인접한 면일 수 있고, 제1 영상 데이터(1351a)과 제2 영상 데이터(1352a)는 인접하는 면에서 연속적인 데이터 특성을 가질 수 있다.
서버(330)는 각각 정삼각 형태인 제1 영상 데이터(1351a)에 제2 영상 데이터(1352a)를 분리 결합하여, 사각형 프레임을 가지는 제1 서브 영상(1341)를 생성할 수 있다. 제3 분할 데이터(1352a1)의 빗변은 정삼각형의 제1 영상 데이터(1351a)의 제1 변에 접할 수 있다. 제4 분할 데이터(1352a2)의 빗변은 정삼각형의 제1 영상 데이터(1351a)의 제2 변에 접할 수 있다.
서버(330)는 정이십면체의 3차원 투영 공간(1305)의 20개 면에 대한 영상 데이터를 총 10개의 서브 영상들로 변환하여 저장할 수 있다. 이를 통해, 영상 데이터를 전송하기 위한 채널의 개수가 줄어들 수 있고, 시스템 오버헤드가 줄어들 수 있다.
도 14는 정다면체의 3차원 투영 공간의 2개 면 및 다른 하나의 면의 일부를 결합하여, 하나의 서브 영상을 구성하는 예시도이다. 도 14는 정이십면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
이하에서는, 제1 면 내지 제5 면(1411 또는 1415)를 결합하여, 제1 서브 영상(1441 및 1442)를 생성하는 과정을 설명하지만, 상기 과정은 다른 면들에도 적용될 수 있다.
도 14에서, 서버(330)는 정이십면체의 3차원 투영 공간(1401)을 구성하는 2개 면 및 다른 하나의 면의 일부에 대한 영상 데이터를 결합하고, 별도의 더미 데이터(예: 블랙 데이터)를 추가하여, 하나의 서브 영상을 생성할 수 있다.
예를 들어, 정이십면체의 제1 면(1411)은 제1 영상 데이터(1411a)로 구성될 수 있고, 제2 면(1412)은 제2 영상 데이터(1412a)로 구성될 수 있다. 정이십면체(1401)의 제3 면(1413)은 제3 영상 데이터(1413a)로 구성될 수 있다. 제3 영상 데이터(1413a)는 제1 분할 데이터(1413a1) 및 제2 분할 데이터(1413a2)로 구성될 수 있다. 제1 분할 데이터(1413a1) 및 제2 분할 데이터(1413a2)는 각각 빗변이 서로 다른 방향을 향하도록 배치되는 직각 삼각형 형태일 수 있다. 정이십면체의 제4 면(1414)은 제4 영상 데이터(1414a)로 구성될 수 있고, 제5 면(1415)은 제5 영상 데이터(1415a)로 구성될 수 있다.
제1 면 내지 제3 면(1411 내지 1413)은 서로 인접한 면일 수 있고, 제1 영상 데이터 내지 제3 영상 데이터(1411a 내지 1413a)는 서로 인접하는 면에서 연속적인 데이터 특성을 가질 수 있다.
서버(330)는 제1 영상 데이터(1411a), 제2 영상 데이터(1412a), 제3 영상 데이터(1413a)의 제1 분할 데이터(1413a1), 및 더미 데이터(예: 블랙 데이터)(1431)를 결합하여 제1 서브 영상(1441)을 생성할 수 있다. 서버(330)는 정삼각 형태인 제1 영상 데이터(1411a), 제2 영상 데이터(1412a)의 배치 형태를 유지할 수 있다. 서버(330)는 제3 영상 데이터(1413a)의 제1 분할 데이터(1413a1)를 제2 영상 데이터(1412a)에 접하도록 배치할 수 있다. 서버(330)는 더미 데이터(예: 블랙 데이터)(1431)를 제1 영상 데이터(1411a)에 접하도록 배치할 수 있다. 제1 서브 영상(1441)는 직사각형의 프레임을 가질 수 있다.
유사한 방식으로, 제3 면 내지 제5 면(1413 내지 1415)은 서로 인접한 면일 수 있고, 제3 영상 데이터 내지 제5 영상 데이터(1413a 내지 1415a)는 서로 인접하는 면에서 연속적인 데이터 특성을 가질 수 있다.
서버(330)는 제4 영상 데이터(1414a), 제5 영상 데이터(1415a), 제3 영상 데이터(1413a)의 제2 분할 데이터(1413a2), 및 더미 데이터(예: 블랙 데이터)(1432)를 결합하여 제2 서브 영상(1442)을 생성할 수 있다.
서버(330)는 정삼각 형태인 제4 영상 데이터(1414a), 제5 영상 데이터(1415a)의 배치 형태를 유지할 수 있다. 서버(330)는 제3 영상 데이터(1413a)의 제2 분할 데이터(1413a2)를 제4 영상 데이터(1414a)에 접하도록 배치할 수 있다. 서버(330)는 더미 데이터(예: 블랙 데이터)(1432)를 제5 영상 데이터(1415a)에 접하도록 배치할 수 있다. 제2 서브 영상(1442)는 직사각형의 프레임을 가질 수 있다.
상기 과정은 다른 면들에도 적용될 수 있다. 서버(330)는 정이십면체의 3차원 투영 공간(1401)의 전체에 대한 영상 데이터를 총 8개의 서브 영상들(1441 내지 1448)로 변환하여 저장할 수 있다. 이를 통해, 영상 데이터를 전송하기 위한 채널의 개수가 줄어들 수 있고, 시스템 오버헤드가 줄어들 수 있다.
다양한 실시 예에 따르면, 서버(330)는 제1 내지 제8 서브 영상 들(1441 내지 1448) 각각을 복수의 화질 등급으로 계층화 하여 저장할 수 있다. 서버(330)는 VR 출력 장치(340)의 요청에 따라 다양한 화질의 제1 내지 제8 서브 영상 들(1441 내지 1448)을 VR 출력 장치(340)에 전송할 수 있다. 도 13a의 방식은, 도 11a 또는 도 12a와 비교할 때, 전송 채널의 개수가 총 20개에서 총 8개로 줄어들 수 있다. 사용자가 3차원 투영 공간(1301)의 상단을 바라보는 경우, 제1 서브 영상(1441)과 제2 서브 영상(1442)을 고화질로 전송하고, 다른 서브 영상을 중간 화질 또는 저화질로 전송할 수 있다.
도 15a는 다양한 실시 예에 따른 정이십면체의 3차원 투영 공간의 꼭지점을 중심으로 서브 영상을 구성하는 예시도이다. 도 15a는 정이십면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
정다면체의 3차원 투영 공간은 3개 이상의 면들이 접하는 꼭지점을 포함할 수 있다. 서버(330)는 정다면체의 하나의 꼭지점을 중심으로 배치되는 면들의 영상 데이터를 재결합하여, 하나의 서브 영상을 생성할 수 있다.
이하에서는, 정이십면체의 3차원 투영 공간(1501)에서 제1 꼭지점(1510) 및 제2 꼭지점(1520)을 중심으로 각각 서브 영상을 생성하는 과정을 설명하지만, 상기 과정은 다른 꼭지점 및 다른 면들에도 적용될 수 있다.
정이십면체는 5개의 면들이 만나는 지점에 꼭지점을 포함할 수 있다. 예를 들어, 제1 꼭지점(1510)은 제1 면 내지 제 5면(1511 내지 1515)이 모두 접하는 지점에 형성될 수 있다. 제2 꼭지점(1520)은 제4 면 내지 제8 면(1514 내지 1518)이 모두 접하는 지점에 형성될 수 있다.
서버(330)는 제1 영상 데이터 내지 제5 영상 데이터(1511a 내지 1515a)에서 각각의 영상 데이터의 일부를 조합하여, 하나의 서브 영상(1542)를 생성할 수 있다. 서버(330)는 각각 영상 데이터에서, 꼭지점 데이터(1510a)에 인접한 영역의 일부 데이터를 조합할 수 있다. 생성된 서브 영상(1542)는 직사각형의 프레임을 가질 수 있다.
서버(330)는 제4 영상 데이터 내지 제8 영상 데이터(1514a 내지 1515a)에서 각각의 영상 데이터의 일부를 조합하여, 하나의 서브 영상(1548)를 생성할 수 있다. 서버(330)는 각각 영상 데이터에서, 꼭지점 데이터(1520a)에 인접한 영역의 일부 데이터를 조합할 수 있다. 생성된 서브 영상(1548)는 직사각형의 프레임을 가질 수 있다. 서브 영상의 구성에 관한 추가 정보는 도 15b를 통해 제공될 수 있다.
서버(330)는 정이십면체의 3차원 투영 공간(1501)의 20개 면에 대한 영상 데이터를 이용하여, 제1 내지 제12 서브 영상(1541 내지 1552)을 생성할 수 있다. 이를 통해, 영상 데이터를 전송하기 위한 채널의 개수가 줄어들 수 있고, 시스템 오버헤드가 줄어들 수 있다.
도 15b는 정이십면체의 3차원 투영 공간의 꼭지점을 중심으로 구성된 서브 영상의 데이터 구성도이다. 도 15b는 정이십면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
도 15b를 참조하면, 정이십면체의 꼭지점 데이터(1550)은 제1 면 내지 제5 면에 대응하는 제1 내지 제5 영상 데이터(1551내지 1555)가 모두 접하는 지점에 형성될 수 있다.
서버(330)는 제1 내지 제5 영상 데이터(1551내지 1555) 각각의 일부를 조합하여, 하나의 서브 영상(1581)를 생성할 수 있다.
예를 들어, 서버(330)는 제1 영상 데이터(1501)의 제1 분할 영상 데이터(A) 및 제2 분할 영상 데이터(B), 제2 영상 데이터(1502)의 제3 분할 영상 데이터(C) 및 제4 분할 영상 데이터(D), 제3 영상 데이터(1503)의 제5 분할 영상 데이터(E) 및 제6 분할 영상 데이터(F), 제4 영상 데이터(1504)의 제7 분할 영상 데이터(G) 및 제8 분할 영상 데이터(H), 제5 영상 데이터(1555)의 제9 분할 영상 데이터(I) 및 제10 분할 영상 데이터(J)를 재결합하여, 서브 영상(1581)를 생성할 수 있다. 각각의 분할 영상 데이터(A 내지 J)는 직각 삼각형의 형태일 수 있다.
다양한 실시 예에 따르면, 서버(330)는 3차원 투영 공간 상에서, 각각의 분할 영상 데이터가 인접하게 배치되는 경우, 서브 영상(1581)에서, 인접한 분할 영상 데이터가 서로 접하게 배치되도록 할 수 있다. 서버(330)는 연속된 이미지가 포함된 영역을 서로 붙여주어, 인코딩 효율을 높일 수 있다. 예를 들어, A 영역과 J 영역은 서로 다른 면의 영상 데이터에 속하지만, 정이십면체에서 서로 붙어있는 면으로 연속된 이미지를 갖기 때문에, 서브 영상(1581)에서 하나의 정삼각형 형태로 접하도록 조합될 수 있다.
도 15b에서의 서브 영상(1581)의 결합 형태는 예시적인 것으로 이에 한정되는 것은 아니다. 분할 영상 데이터(A 내지 J)의 배치 형태는 다양한 방식으로 변경될 수 있다.
도 16a는 다양한 실시 예에 따른 정팔면체의 3차원 투영 공간의 일부 꼭지점을 중심으로 서브 영상을 구성하는 예시도이다. 도 16a는 정팔면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
정다면체의 3차원 투영 공간은 3개 이상의 면들이 접하는 꼭지점을 포함할 수 있다. 서버(330)는 정다면체의 하나의 꼭지점을 중심으로 배치되는 면들의 영상 데이터를 재결합하여, 하나의 서브 영상을 생성할 수 있다.
이하에서는, 정팔면체의 3차원 투영 공간(1601)에서 에서 제1 꼭지점(1610) 및 제2 꼭지점(1620)을 중심으로 각각 서브 영상을 생성하는 과정을 설명하지만, 상기 과정은 다른 꼭지점 및 다른 면들에도 적용될 수 있다.
정팔면체는 4개의 면들이 만나는 지점에 꼭지점을 포함할 수 있다. 예를 들어, 제1 꼭지점(1610)은 제1 면 내지 제 4면(1611 내지 1614)이 모두 접하는 지점에 형성될 수 있다. 제2 꼭지점(1620)은 제3 면 내지 제6 면(1613 내지 1616)이 모두 접하는 지점에 형성될 수 있다.
정팔면체의 제1 면 내지 제6 면(1611 내지 1616)은 각각 제1 영상 데이터 내지 제6 영상 데이터(1611a 내지 1616a)로 구성될 수 있다.
서버(330)는 제1 영상 데이터 내지 제4 영상 데이터(1611a 내지 1614a)에서 각각의 영상 데이터의 일부를 조합하여, 하나의 서브 영상(1643)을 생성할 수 있다. 서버(330)는 각각 영상 데이터에서, 꼭지점 데이터(1610a)에 인접한 영역의 일부 데이터를 조합할 수 있다. 생성된 서브 영상(1642)는 직사각형의 프레임을 가질 수 있다.
서버(330)는 제3 영상 데이터 내지 제6 영상 데이터(1613a 내지 1616a)에서 각각의 영상 데이터의 일부를 조합하여, 하나의 서브 영상(1643)을 생성할 수 있다. 서버(330)는 각각 영상 데이터에서, 꼭지점 데이터(1620a)에 인접한 영역의 일부 데이터를 조합할 수 있다. 생성된 서브 영상(1643)은 직사각형의 프레임을 가질 수 있다. 서브 영상의 구성에 관한 추가 정보는 도 16b를 통해 제공될 수 있다.
유사한 방식으로, 서버(330)는 정팔면체의 3차원 투영 공간(1601)의 8개 면에 대한 영상 데이터를 이용하여, 제1 내지 제6 서브 영상(1641 내지 1646)을 생성할 수 있다. 이를 통해, 영상 데이터를 전송하기 위한 채널의 개수가 줄어들 수 있고, 시스템 오버헤드가 줄어들 수 있다.
도 16b는 정팔면체의 3차원 투영 공간의 꼭지점을 중심으로 구성된 서브 영상의 데이터 구성도이다. 도 16b는 정팔면체를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다.
도 16b를 참조하면, 정팔면체의 꼭지점 데이터(1650)은 제1 면 내지 제4 면에 대응하는 제1 내지 제4 영상 데이터(1661 내지 1664)가 모두 접하는 지점에 형성될 수 있다.
서버(330)는 제1 내지 제4 영상 데이터(1661 내지 1664) 각각의 일부를 조합하여, 하나의 서브 영상(1681)를 생성할 수 있다.
예를 들어, 서버(330)는 제1 영상 데이터(1601)의 제1 분할 영상 데이터(A) 및 제2 분할 영상 데이터(B), 제2 영상 데이터(1602)의 제3 분할 영상 데이터(C) 및 제4 분할 영상 데이터(D), 제3 영상 데이터(1603)의 제5 분할 영상 데이터(E) 및 제6 분할 영상 데이터(F), 제4 영상 데이터(1604)의 제7 분할 영상 데이터(G) 및 제8 분할 영상 데이터(H)를 재결합하여, 서브 영상(1681)를 생성할 수 있다. 각각의 분할 영상 데이터(A 내지 G)는 직각 삼각형의 형태일 수 있다.
다양한 실시 예에 따르면, 서버(330)는 3차원 투영 공간 상에서, 각각의 분할 영상 데이터가 인접하게 배치되는 경우, 서브 영상(1681)에서, 인접한 분할 영상 데이터가 서로 접하게 배치되도록 할 수 있다. 서버(330)는 연속된 이미지가 포함된 영역을 서로 붙여주어, 인코딩 효율을 높일 수 있다. 예를 들어, A 영역과 H 영역은 서로 다른 면의 영상 데이터에 속하지만, 정팔면체에서 서로 붙어있는 면으로 연속된 이미지를 갖기 때문에, 서브 영상(1681)에서 하나의 정삼각형 형태로 접하도록 조합될 수 있다.
도 16b에서의 서브 영상(1681)의 결합 형태는 예시적인 것으로 이에 한정되는 것은 아니다. 분할 영상 데이터(A 내지 H)의 배치 형태는 다양한 방식으로 변경될 수 있다.
도 17을 참조하여, 다양한 실시 예에서의, 네트워크 환경(2100) 내의 전자 장치(2101)가 기재된다. 전자 장치(2101)는 버스(2110), 프로세서(2120), 메모리(2130), 입출력 인터페이스(2150), 디스플레이(2160), 및 통신 인터페이스(2170)를 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(2101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(2110)는 구성요소들(2110-2170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(2120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(2120)는, 예를 들면, 전자 장치(2101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(2130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(2130)는, 예를 들면, 전자 장치(2101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(2130)는 소프트웨어 및/또는 프로그램(2140)을 저장할 수 있다. 프로그램(2140)은, 예를 들면, 커널(2141), 미들웨어(2143), 어플리케이션 프로그래밍 인터페이스(API)(2145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(2147) 등을 포함할 수 있다. 커널(2141), 미들웨어(2143), 또는 API(2145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(2141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(2143), API(2145), 또는 어플리케이션 프로그램(2147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(2110), 프로세서(2120), 또는 메모리(2130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(2141)은 미들웨어(2143), API(2145), 또는 어플리케이션 프로그램(2147)에서 전자 장치(2101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(2143)는, 예를 들면, API(2145) 또는 어플리케이션 프로그램(2147)이 커널(2141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(2143)는 어플리케이션 프로그램(2147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(2143)는 어플리케이션 프로그램(2147) 중 적어도 하나에 전자 장치(2101)의 시스템 리소스(예: 버스(2110), 프로세서(2120), 또는 메모리(2130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(2145)는 어플리케이션(2147)이 커널(2141) 또는 미들웨어(2143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(2150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(2101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(2101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(2160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(2160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(2160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(2170)는, 예를 들면, 전자 장치(2101)와 외부 장치(예: 제 1 외부 전자 장치(2102), 제 2 외부 전자 장치(2104), 또는 서버(2106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(2170)는 무선 통신 또는 유선 통신을 통해서 네트워크(2162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(2104) 또는 서버(2106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시 예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시 예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(2162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(2102, 2104) 각각은 전자 장치(2101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시 예에 따르면, 전자 장치(2101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(2102,2104), 또는 서버(2106)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치(2101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(2101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(2102, 2104), 또는 서버(2106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(2102, 2104), 또는 서버(2106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(2101)로 전달할 수 있다. 전자 장치(2101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 18는 다양한 실시 예에 따른 전자 장치(2201)의 블록도이다.
전자 장치(2201)는, 예를 들면, 도 11에 도시된 전자 장치(1101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(2201)는 하나 이상의 프로세서(예: AP)(2222), 통신 모듈(2220), (가입자 식별 모듈(2224), 메모리(2230), 센서 모듈(2240), 입력 장치(2250), 디스플레이(2260), 인터페이스(2270), 오디오 모듈(2280), 카메라 모듈(2291), 전력 관리 모듈(2295), 배터리(2296), 인디케이터(2297), 및 모터(2298)를 포함할 수 있다. 프로세서(2210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(2210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(2210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 프로세서(2210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(2210)는 도 22에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(2221))를 포함할 수도 있다. 프로세서(2210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(2220)(예: 통신 인터페이스(1170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(2220)은, 예를 들면, 셀룰러 모듈(2221), WiFi 모듈(2223), 블루투스 모듈(2225), GNSS 모듈(2227), NFC 모듈(2228) 및 RF 모듈(2229)를 포함할 수 있다. 셀룰러 모듈(2221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(2221)은 가입자 식별 모듈(예: SIM 카드)(2224)을 이용하여 통신 네트워크 내에서 전자 장치(2201)의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(2221)은 프로세서(2210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(2221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈(2221), WiFi 모듈(2223), 블루투스 모듈(2225), GNSS 모듈(2227) 또는 NFC 모듈(2228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(2229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(2229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈(2221), WiFi 모듈(2223), 블루투스 모듈(2225), GNSS 모듈(2227) 또는 NFC 모듈(2228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(2224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(2230)(예: 메모리(1130))는, 예를 들면, 내장 메모리(2232) 또는 외장 메모리(2234)를 포함할 수 있다. 내장 메모리(2232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(2234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(2234)는 다양한 인터페이스를 통하여 전자 장치(2201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(2240)은, 예를 들면, 물리량을 계측하거나 전자 장치(2201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(2240)은, 예를 들면, 제스처 센서(2240A), 자이로 센서(2240B), 기압 센서(2240C), 마그네틱 센서(2240D), 가속도 센서(2240E), 그립 센서(2240F), 근접 센서(2240G), 컬러(color) 센서(2240H)(예: RGB(red, green, blue) 센서), 생체 센서(2240I), 온/습도 센서(2240J), 조도 센서(2240K), 또는 UV(ultra violet) 센서(2240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(2240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(2240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(2201)는 프로세서(2210)의 일부로서 또는 별도로, 센서 모듈(2240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(2210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(2240)을 제어할 수 있다.
입력 장치(2250)는, 예를 들면, 터치 패널(2252), (디지털) 펜 센서(2254), 키(2256), 또는 초음파 입력 장치(2258)를 포함할 수 있다. 터치 패널(2252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(2252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(2252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(2254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(2256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(2258)는 마이크(예: 마이크(2288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(2260)(예: 디스플레이(1160))는 패널(2262), 홀로그램 장치(2264), 프로젝터(2266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(2262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(2262)은 터치 패널(2252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시 예에 따르면, 패널(2262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(2252)과 일체형으로 구현되거나, 또는 터치 패널(2252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(2264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(2266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(2201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(2270)는, 예를 들면, HDMI(2272), USB(2274), 광 인터페이스(optical interface)(2276), 또는 D-sub(D-subminiature)(2278)를 포함할 수 있다. 인터페이스(2270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(2270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(2280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(2280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(2280)은, 예를 들면, 스피커(2282), 리시버(2284), 이어폰(2286), 또는 마이크(2288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(2291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(2295)은, 예를 들면, 전자 장치(2201)의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈(2295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(2296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(2296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터(2297)는 전자 장치(2201) 또는 그 일부(예: 프로세서(2210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(2298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(2201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치(예: 전자 장치(2201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
다양한 실시 예에 따른 전자 장치는 영상을 출력하는 디스플레이, 외부 전자 장치와 복수의 채널들을 형성하는 통신 모듈, 메모리 및 상기 디스플레이, 통신 모듈, 메모리와 전기적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하고, 상기 복수의 영역들 각각을 상기 복수의 채널들 중 하나와 연계하고, 상기 통신 모듈은 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하고, 상기 프로세서는 상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 상기 디스플레이에 출력할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치는 사용자 또는 상기 전자 장치의 움직임을 인식하는 센서 모듈을 더 포함하고, 상기 센서 모듈은 사용자의 시선에 대응하는 방향에 관한 센싱 정보를 수집하고, 상기 프로세서는 상기 센싱 정보를 기반으로 복수의 영역들 중 상기 방향에 대응하는 시야 범위를 결정할 수 있다. 상기 시선에 대응하는 방향은 상기 디스플레이의 면에 수직한 방향일 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 3차원 투영 공간의 기준점에서 상기 시야 범위의 중심점을 향하는 제1 벡터와 상기 기준점에서 상기 복수의 영역들 각각의 중심점을 향하는 제2 벡터 사이의 각도를 기반으로, 상기 복수의 영역들 중 적어도 하나에 대한 영상 데이터의 화질을 결정할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 복수의 영역들을 구면에 매핑하고, 상기 복수의 영역들의 중심점과 상기 시야 범위의 중심점 사이의 구면 거리를 기반으로 상기 화질을 결정할 수 있다.
다양한 실시 예에 따르면, 상기 통신 모듈은 상기 시야 범위에 연계된 제1 채널을 통해 제1 화질의 제1 영상 데이터를 수신하고, 상기 시야 범위에 인접한 주변 영역에 연계된 제2 채널을 통해 제2 화질의 제2 영상 데이터를 수신하고, 상기 프로세서는 상기 제1 영상 데이터를 기반으로 상기 시야 범위에 이미지를 출력하고, 상기 제2 영상 데이터를 기반으로 상기 주변 영역에 이미지를 출력할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 영상 데이터에 포함된 오디오 데이터를 기준으로 상기 제1 영상 데이터에 포함된 제1 비디오 데이터와 상기 제2 영상 데이터에 포함된 제2 비디오 데이터의 출력 타이밍을 결정할 수 있다. 상기 프로세서는 상기 제2 영상 데이터에서 버퍼링이 발생하는 경우, 지정된 영상 구간에 대한 상기 제2 영상 데이터에 의한 영상 출력을 취소할 수 있다. 상기 프로세서는 상기 시야 범위가 변경되는 경우, 지정된 영상 구간에 대한 상기 제2 영상 데이터를 중복하여 수신하고, 이전에 수신된 상기 제2 영상 데이터의 적어도 일부와 교체할 수 있다.
다양한 실시 예에 따르면, 상기 통신 모듈은 상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통해 제3 화질의 제3 영상 데이터를 수신하고, 상기 프로세서는 상기 제3 영상 데이터를 기반으로 상기 분리 영역에 이미지를 출력할 수 있다.
다양한 실시 예에 따르면, 상기 통신 모듈은 상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통한 영상 데이터의 수신을 제한할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 무선 통신 환경을 기반으로, 상기 복수의 영역들 각각에 연계된 채널을 통해 수신하는 영상 데이터의 화질 범위를 결정할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 상기 복수의 영역들을 복수의 그룹들로 그룹화하고, 각각의 그룹에 서로 다른 화질의 영상 데이터를 기반으로 스트리밍 영상을 출력할 수 있다.
다양한 실시 예에 따른 서버 장치는 외부의 전자 장치에 영상을 스트리밍 하고, 상기 전자 장치와 복수의 채널을 형성하는 통신 모듈, 2차원의 이미지를 3차원 공간을 구성하는 각각의 면에 대응시키는 맵 생성부, 상기 3차원 공간을 구성하는 적어도 하나의 면에 대응하는 영상 데이터에 대해, 화질 정보를 다르게 하여 계층화하는 인코딩부 및 상기 계층화된 영상 데이터를 저장하는 데이터베이스을 포함할 수 있다. 상기 복수의 채널은 상기 3차원 공간을 구성하는 각각의 면에 연계될 수 있다.
다양한 실시 예에 따르면, 상기 인코딩부는 상기 적어도 하나의 면에 더미 데이터를 추가하여, 사각 프레임의 상기 영상 데이터를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 인코딩부는 상기 3차원 공간의 인접한 복수의 면들에 대응하는 영상 데이터를 재결합하여, 사각 프레임의 상기 영상 데이터를 생성할 수 있다.
도 19는 다양한 실시 예에 따른 프로그램 모듈의 블록도이다. 한 실시 예에 따르면, 프로그램 모듈(2310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 23을 참조하면, 프로그램 모듈(2310)은 커널(2320)(예: 커널(141)), 미들웨어(2330)(예: 미들웨어(1143)), (API(2360)(예: API(1145)), 및/또는 어플리케이션(2370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(2310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(1102, 1104), 서버(1106) 등)로부터 다운로드 가능하다.
커널(2320)은, 예를 들면, 시스템 리소스 매니저(2321) 및/또는 디바이스 드라이버(2323)를 포함할 수 있다. 시스템 리소스 매니저(2321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(2321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(2323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(2330)는, 예를 들면, 어플리케이션(2370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(2370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(2360)를 통해 다양한 기능들을 어플리케이션(2370)으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(2330) 는 런타임 라이브러리(2335), 어플리케이션 매니저(2341), 윈도우 매니저(2342), 멀티미디어 매니저(2343), 리소스 매니저(2344), 파워 매니저(2345), 데이터베이스 매니저(2346), 패키지 매니저(2347), 연결 매니저(2348), 통지 매니저(2349), 위치 매니저(2350), 그래픽 매니저(2351), 또는 보안 매니저(2352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(2335)는, 예를 들면, 어플리케이션(2370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(2335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(2341)는, 예를 들면, 어플리케이션(2370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(2342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(2343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(2344)는 어플리케이션(2370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(2345)는, 예를 들면, 배터리의 용량 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보를 제공할 수 있다. 한 실시 예에 따르면, 파워 매니저(2345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(2346)는, 예를 들면, 어플리케이션(2370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(2347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(2348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(2349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(2350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(2351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(2352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(2330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시 예에 따르면, 미들웨어(2330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(2330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(2360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(2370)은, 예를 들면, 홈(2371), 다이얼러(2372), SMS/MMS(2373), IM(instant message)(2374), 브라우저(2375), 카메라(2376), 알람(2377), 컨택트(2378), 음성 다이얼(2379), 이메일(2380), 달력(2381), 미디어 플레이어(2382), 앨범(2383), 와치(2384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(2370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시 예에 따르면, 어플리케이션(2370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(2370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(2310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(1120)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(230))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (25)

  1. 영상을 출력할 수 있는 전자 장치에 있어서,
    영상을 출력하는 디스플레이;
    외부 전자 장치와 복수의 채널들을 형성하는 통신 모듈;
    메모리; 및
    상기 디스플레이, 통신 모듈, 메모리와 전기적으로 연결되는 프로세서;를 포함하고,
    상기 프로세서는
    상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하고, 상기 복수의 영역들 각각을 상기 복수의 채널들 중 하나와 연계하고,
    상기 통신 모듈은 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하고,
    상기 프로세서는 상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 상기 디스플레이에 출력하는 전자 장치.
  2. 제1항에 있어서,
    사용자 또는 상기 전자 장치의 움직임을 인식하는 센서 모듈을 더 포함하고,
    상기 센서 모듈은 사용자의 시선에 대응하는 방향에 관한 센싱 정보를 수집하고,
    상기 프로세서는 상기 센싱 정보를 기반으로 복수의 영역들 중 상기 방향에 대응하는 시야 범위를 결정하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는
    상기 3차원 투영 공간의 기준점에서 상기 시야 범위의 중심점을 향하는 제1 벡터와 상기 기준점에서 상기 복수의 영역들 각각의 중심점을 향하는 제2 벡터 사이의 각도를 기반으로, 상기 복수의 영역들 중 적어도 하나에 대한 영상 데이터의 화질을 결정하는 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는
    상기 복수의 영역들을 구면에 매핑하고,
    상기 복수의 영역들의 중심점과 상기 시야 범위의 중심점 사이의 구면 거리를 기반으로 상기 화질을 결정하는 전자 장치.
  5. 제2항에 있어서, 상기 시선에 대응하는 방향은
    상기 디스플레이의 면에 수직한 방향인 전자 장치.
  6. 제2항에 있어서, 상기 통신 모듈은
    상기 시야 범위에 연계된 제1 채널을 통해 제1 화질의 제1 영상 데이터를 수신하고, 상기 시야 범위에 인접한 주변 영역에 연계된 제2 채널을 통해 제2 화질의 제2 영상 데이터를 수신하고,
    상기 프로세서는
    상기 제1 영상 데이터를 기반으로 상기 시야 범위에 이미지를 출력하고, 상기 제2 영상 데이터를 기반으로 상기 주변 영역에 이미지를 출력하는 전자 장치.
  7. 제6항에 있어서, 상기 프로세서는
    상기 영상 데이터에 포함된 오디오 데이터를 기준으로 상기 제1 영상 데이터에 포함된 제1 비디오 데이터와 상기 제2 영상 데이터에 포함된 제2 비디오 데이터의 출력 타이밍을 결정하는 전자 장치.
  8. 제6항에 있어서, 상기 프로세서는
    상기 제2 영상 데이터에서 버퍼링이 발생하는 경우, 지정된 영상 구간에 대한 상기 제2 영상 데이터에 의한 영상 출력을 취소하는 전자 장치.
  9. 제6항에 있어서, 상기 프로세서는
    상기 시야 범위가 변경되는 경우, 지정된 영상 구간에 대한 상기 제2 영상 데이터를 중복하여 수신하고, 이전에 수신된 상기 제2 영상 데이터의 적어도 일부와 교체하는 전자 장치.
  10. 제2항에 있어서, 상기 통신 모듈은
    상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통해 제3 화질의 제3 영상 데이터를 수신하고,
    상기 프로세서는 상기 제3 영상 데이터를 기반으로 상기 분리 영역에 이미지를 출력하는 전자 장치.
  11. 제2항에 있어서, 상기 통신 모듈은
    상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통한 영상 데이터의 수신을 제한하는 전자 장치.
  12. 제1항에 있어서, 상기 프로세서는
    무선 통신 환경을 기반으로, 상기 복수의 영역들 각각에 연계된 채널을 통해 수신하는 영상 데이터의 화질 범위를 결정하는 전자 장치.
  13. 제1항에 있어서, 상기 프로세서는
    상기 복수의 영역들을 복수의 그룹들로 그룹화하고,
    각각의 그룹에 서로 다른 화질의 영상 데이터를 기반으로 스트리밍 영상을 출력하는 전자 장치.
  14. 외부의 전자 장치에 영상을 스트리밍 하는 서버 장치에 있어서,
    상기 전자 장치와 복수의 채널을 형성하는 통신 모듈;
    2차원의 이미지를 3차원 공간을 구성하는 각각의 면에 대응시키는 맵 생성부;
    상기 3차원 공간을 구성하는 적어도 하나의 면에 대응하는 영상 데이터에 대해, 화질 정보를 다르게 하여 계층화하는 인코딩부; 및
    상기 계층화된 영상 데이터를 저장하는 데이터베이스;을 포함하는 서버 장치.
  15. 제14항에 있어서, 상기 인코딩부는
    상기 적어도 하나의 면에 더미 데이터를 추가하여, 사각 프레임의 상기 영상 데이터를 생성하는 서버 장치.
  16. 제14항에 있어서, 상기 인코딩부는
    상기 3차원 공간의 인접한 복수의 면들에 대응하는 영상 데이터를 재결합하여, 사각 프레임의 상기 영상 데이터를 생성하는 서버 장치.
  17. 제14항에 있어서, 상기 복수의 채널은
    상기 3차원 공간을 구성하는 각각의 면에 연계된 서버 장치.
  18. 전자 장치에서 수행되는 영상 스트리밍 방법 있어서,
    상기 전자 장치를 중심으로 하는 가상의 3차원 투영 공간을 복수의 영역들로 구분하는 동작;
    상기 복수의 영역들 각각을 외부 장치로부터 영상 데이터를 수신하는 복수의 채널들 중 하나와 연계하는 동작;
    상기 외부 장치로부터, 상기 복수의 영역들 각각에 연계된 채널을 통해 대한 영상 데이터를 수신하는 동작;
    상기 수신한 영상 데이터를 기반으로 스트리밍 영상을 디스플레이에 출력하는 동작;을 포함하는 방법.
  19. 제18항에 있어서, 상기 영상 데이터를 수신하는 동작은
    센서 모듈을 이용하여, 사용자의 시선에 대응하는 방향에 관한 센싱 정보를 수집하는 동작; 및
    상기 센싱 정보를 기반으로 복수의 영역들 중 상기 방향에 대응하는 시야 범위를 결정하는 동작;을 포함하는 방법.
  20. 제19항에 있어서, 상기 영상 데이터를 수신하는 동작은
    상기 시야 범위에 연계된 제1 채널을 통해 제1 화질의 제1 영상 데이터를 수신하는 동작;
    상기 시야 범위에 인접한 주변 영역에 연계된 제2 채널을 통해 제2 화질의 제2 영상 데이터를 수신하는 동작;을 포함하는 방법.
  21. 제20항에 있어서, 상기 스트리밍 영상을 출력하는 동작은
    상기 제1 영상 데이터를 기반으로 상기 시야 범위에 이미지를 출력하고, 상기 제2 영상 데이터를 기반으로 상기 주변 영역에 이미지를 출력하는 동작;을 포함하는 방법.
  22. 제19항에 있어서, 상기 영상 데이터를 수신하는 동작은
    상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통해 제3 화질의 제3 영상 데이터를 수신하는 동작;을 포함하는 방법.
  23. 제18항에 있어서, 상기 스트리밍 영상을 출력하는 동작은
    상기 제3 영상 데이터를 기반으로 상기 분리 영역에 이미지를 출력하는 동작;을 포함하는 방법.
  24. 제19항에 있어서, 상기 영상 데이터를 수신하는 동작은
    상기 시야 범위와 분리된 분리 영역에 연계된 제3 채널을 통한 영상 데이터의 수신을 제한하는 동작;을 포함하는 방법.
  25. 제18항에 있어서, 상기 영상 데이터를 수신하는 동작은
    무선 통신 환경을 기반으로, 상기 복수의 영역들 각각에 연계된 채널을 통해 수신하는 영상 데이터의 화질 범위를 결정하는 동작;을 포함하는 방법.
KR1020170059526A 2016-09-01 2017-05-12 영상 스트리밍 방법 및 이를 지원하는 전자 장치 KR20180025797A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2017320166A AU2017320166A1 (en) 2016-09-01 2017-08-30 Image streaming method and electronic device for supporting the same
EP17846998.7A EP3494706A1 (en) 2016-09-01 2017-08-30 Image streaming method and electronic device for supporting the same
PCT/KR2017/009495 WO2018044073A1 (en) 2016-09-01 2017-08-30 Image streaming method and electronic device for supporting the same
CN201710778347.2A CN107872666A (zh) 2016-09-01 2017-09-01 图像流传输方法和支持该方法的电子设备
US15/694,189 US20180063512A1 (en) 2016-09-01 2017-09-01 Image streaming method and electronic device for supporting the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160112872 2016-09-01
KR1020160112872 2016-09-01

Publications (1)

Publication Number Publication Date
KR20180025797A true KR20180025797A (ko) 2018-03-09

Family

ID=61727843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059526A KR20180025797A (ko) 2016-09-01 2017-05-12 영상 스트리밍 방법 및 이를 지원하는 전자 장치

Country Status (4)

Country Link
EP (1) EP3494706A1 (ko)
KR (1) KR20180025797A (ko)
CN (1) CN107872666A (ko)
AU (1) AU2017320166A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839908B (zh) * 2020-06-23 2023-07-11 华为技术有限公司 视频传输方法、装置、系统及计算机可读存储介质
CN114125324B (zh) * 2021-11-08 2024-02-06 北京百度网讯科技有限公司 一种视频拼接方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467104A (en) * 1992-10-22 1995-11-14 Board Of Regents Of The University Of Washington Virtual retinal display
PT1135878E (pt) * 1998-12-02 2002-12-31 Swisscom Mobile Ag Aparelho movel e processo para a recepcao e filtragem a partir dos dados que acompanham o programa com base numa posicao determinada
US7492821B2 (en) * 2005-02-08 2009-02-17 International Business Machines Corporation System and method for selective image capture, transmission and reconstruction
DE102006043894B3 (de) * 2006-09-19 2007-10-04 Siemens Ag Detailtiefenstufen-Einstellung mehrdimensionaler Bilddaten mit einem Client/Server-basierten Bildrenderingsystem
JP5887026B2 (ja) * 2012-09-03 2016-03-16 ゼンソモトリック インストゥルメンツ ゲゼルシャフト ヒューア イノベイティブ ゼンソリック エムベーハーSENSOMOTORIC INSTRUMENTS Gesellschaft fur innovative Sensorik mbH ヘッドマウントシステム及びヘッドマウントシステムを用いてディジタル画像のストリームを計算しレンダリングする方法
GB2523740B (en) * 2014-02-26 2020-10-14 Sony Interactive Entertainment Inc Image encoding and display
KR102407283B1 (ko) * 2014-05-29 2022-06-10 네버마인드 캐피탈 엘엘씨 콘텐트를 전달 및/또는 콘텐트를 재생하기 위한 방법들 및 장치
CN105867626A (zh) * 2016-04-12 2016-08-17 京东方科技集团股份有限公司 头戴式虚拟现实设备及其控制方法、虚拟现实系统
CN105892061A (zh) * 2016-06-24 2016-08-24 北京国承万通信息科技有限公司 显示装置及方法

Also Published As

Publication number Publication date
AU2017320166A1 (en) 2019-03-21
EP3494706A4 (en) 2019-06-12
CN107872666A (zh) 2018-04-03
EP3494706A1 (en) 2019-06-12

Similar Documents

Publication Publication Date Title
CN110036647B (zh) 用于管理三维内容的缩略图的电子设备
EP3446282B1 (en) Image processing apparatus and method
US11017598B2 (en) Method for processing omni-directional image using padding area and apparatus supporting the same
US20180063512A1 (en) Image streaming method and electronic device for supporting the same
US10482672B2 (en) Electronic device and method for transmitting and receiving image data in electronic device
US20160086386A1 (en) Method and apparatus for screen capture
US10848669B2 (en) Electronic device and method for displaying 360-degree image in the electronic device
EP3358531B1 (en) Electronic device for providing vr image based on polyhedron and image providing method thereof
KR20180011539A (ko) 영상의 처리를 위한 전자 장치
KR20160059765A (ko) 전자 장치의 디스플레이 방법 및 장치
KR20180032089A (ko) 이미지를 표시하는 전자 장치 및 그 제어 방법
US11244422B2 (en) Image processing apparatus and image processing method therefor
KR20170126362A (ko) 전자 장치 및 전자 장치의 전자 문서 출력 방법
KR20170062038A (ko) 전자 장치 및 그의 동작 방법
KR102653336B1 (ko) 전자 장치 및 그 제어 방법
KR20170019595A (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
KR20180025797A (ko) 영상 스트리밍 방법 및 이를 지원하는 전자 장치
KR20180113109A (ko) 전자 장치 및 전자 장치의 화면 표시 방법
KR102284769B1 (ko) 3d 컨텐츠를 제공하는 서버 및 그 동작 방법
KR102114466B1 (ko) 영상 컨텐츠 내 관심 영역 정보를 이용한 영상 디스플레이 방법 및 장치
KR20180041001A (ko) 콘텐츠 출력 방법 및 이를 지원하는 전자 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application