KR20180029473A - 가상 현실 콘텐트를 송수신하는 방법 및 장치 - Google Patents

가상 현실 콘텐트를 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR20180029473A
KR20180029473A KR1020160117448A KR20160117448A KR20180029473A KR 20180029473 A KR20180029473 A KR 20180029473A KR 1020160117448 A KR1020160117448 A KR 1020160117448A KR 20160117448 A KR20160117448 A KR 20160117448A KR 20180029473 A KR20180029473 A KR 20180029473A
Authority
KR
South Korea
Prior art keywords
images
area
virtual reality
region
image
Prior art date
Application number
KR1020160117448A
Other languages
English (en)
Other versions
KR102560029B1 (ko
Inventor
최병두
정재윤
에릭 입
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160117448A priority Critical patent/KR102560029B1/ko
Priority to EP17849172.6A priority patent/EP3501171B1/en
Priority to PCT/KR2017/009995 priority patent/WO2018048288A1/en
Priority to US15/702,387 priority patent/US10685467B2/en
Publication of KR20180029473A publication Critical patent/KR20180029473A/ko
Application granted granted Critical
Publication of KR102560029B1 publication Critical patent/KR102560029B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/006Mixed reality
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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/204Image signal generators using stereoscopic image 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/38Transmitter circuitry for the transmission of television signals according to analogue transmission standards

Abstract

본 개시는 센서 네트워크(Sensor Network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 및 사물 인터넷(Internet of Things, IoT)을 위한 기술과 관련된 것이다. 본 개시는 상기 기술을 기반으로 하는 지능형 서비스(스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 활용될 수 있다. 본 개시는, 디바이스가 가상 현실 콘텐트를 송신하는 방법에 있어서, 타겟을 캡쳐한 적어도 2개의 영상을 획득하는 과정과, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 구성하기 위해서 상기 적어도 2개의 영상을 배열하여 평면 상에 투영시키는 과정과, 상기 투영된 2개의 영상이 중첩된 영역을 검출하고, 상기 중첩된 영역의 재배치 정보를 생성하는 과정과, 상기 적어도 2개의 영상과 상기 재배치 정보를 송신하는 과정을 포함한다.

Description

가상 현실 콘텐트를 송수신하는 방법 및 장치{A METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING VIRTUAL REALITY CONTENT}
본 개시는 가상 현실(VR: virtual reality) 콘텐트를 송수신하는 방법 및 장치에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 사물인터넷 (Internet of Things, IoT) 망으로 진화하고 있다. IoE (Internet of Everything) 기술은 클라우드 서버 등과의 연결을 통한 빅데이터 (Big data) 처리 기술 등이 IoT 기술에 결합된 하나의 예가 될 수 있다.
IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술 등과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크 (sensor network), 사물 통신 (Machine to Machine, M2M), MTC (Machine Type Communication) 등의 기술이 연구되고 있다.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT (Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT 기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.한편, IoT을 구현을 위한 콘텐트들 역시 진화하고 있다. 즉, 흑백 컨텐트에서 컬러 컨텐트, 고선명(High Definition : HD), 초고선명(Ultra High Definition Television : UHD), 최근의 HDR(high dynamic range) 컨텐트의 표준화 및 배포로 계속 진화해 감에 따라, 오큘러스(Oculus), 삼성 기어 VR 등과 같은 VR 장치들에서 재생될 수 있는 가상 현실(VR: virtual reality) 콘텐트에 대한 연구가 진행 중이다. VR 시스템의 근본적인 토대는 사용자를 모니터링하여, 사용자가 어떤 종류의 제어기를 사용하여 콘텐트 디스플레이 장치나 프로세싱 유닛으로 피드백 입력을 제공할 수 있게 하면 그 장치나 유닛이 해당 입력을 처리하여 콘텐트를 그에 맞춰 조정함으로써 인터랙션을 가능하게 하는 시스템이다.
VR 에코시스템 안의 기본 구성들은 예를 들어, HMD(head mounted display), 무선, 모바일 VR, TV들, CA VE(cave automatic virtual environment)들, 주변기기 및 햅틱스[VR에 입력을 제공하기 위한 다른 제어기들], 콘텐트 캡처[카메라, 비디오 스티칭], 콘텐트 스튜디오[게임, 라이브, 영화, 뉴스 및 다큐멘터리], 산업적 응용[교육, 건강관리, 부동산, 건설, 여행], 생산 도구 및 서비스[3D 엔진, 프로세싱 파워], 앱 스토어[VR 미디어 컨텐트용] 등을 포함하여 구성될 수 있다.
그리고, VR 콘텐트를 구성하기 위해서 수행되는, 360도 영상 컨텐트의 캡쳐, 부호화 및 전송에 대해 3D, 360도 콘텐트를 위해 특히 설계될 수 있는 차세대 post-HEVC(High Efficiency Video Coding) 코덱의 구현 없이 많은 도전에 직면하고 있는 실정이다.
따라서, VR 콘텐츠를 보다 효율적으로 구성하여 소비할 수 있는 방안이 요구된다.
본 개시는 VR 콘텐트를 송수신하는 방법 및 장치를 제안한다.
또한, 본 개시는 송신측에서 VR 콘텐트를 구성하는 영상들을 왜곡 없이 렌더링하기 위한 정보들을 구성하여 이를 시그널링하는 방법 및 장치를 제안한다.
또한, 본 개시는 수신측에서 VR 콘텐트의 시그널링 정보를 기반으로, 해당 VR 콘텐트를 재생하는 방법 및 장치를 제안한다.
본 개시의 실시 예에 따른 방법은; 타겟을 캡쳐한 적어도 2개의 영상을 획득하는 과정과, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 구성하기 위해서 상기 적어도 2개의 영상을 배열하여 평면 상에 투영시키는 과정과, 상기 투영된 2개의 영상이 중첩된 영역을 검출하고, 상기 중첩된 영역의 재배치 정보를 생성하는 과정과, 상기 적어도 2개의 영상과 상기 재배치 정보를 송신하는 과정을 포함한다.
본 개시의 실시 예에 따른 다른 방법은; 가상 현실 콘텐트를 수신하는 디바이스에 있어서, 상기 가상 현실 콘텐트를 수신하는 과정과, 상기 가상 현실 콘텐트로부터 타겟을 캡쳐한 적어도 2개의 영상과, 재배치 정보를 획득하는 과정과, 상기 재배치 정보를 기반으로, 평면 상에 투영된 상기 적어도 2개의 영상이 중첩된 영역을 재배치하여, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 렌더링하는 과정을 포함한다.
본 개시의 실시 예에 따른 장치는; 가상 현실 콘텐트를 송신하는 디바이스에 있어서, 타겟을 캡쳐한 적어도 2개의 영상을 획득하는 카메라부와, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 구성하기 위해서 상기 적어도 2개의 영상을 배열하여 평면 상에 투영시키고, 상기 투영된 2개의 영상이 중첩된 영역을 검출하고, 상기 중첩된 영역의 재배치 정보를 생성하는 제어부와, 상기 적어도 2개의 영상과 상기 재배치 정보를 송신하는 송수신부를 포함한다.
본 개시의 실시 예에 따른 다른 장치는; 가상 현실 콘텐트를 수신하는 디바이스에 있어서, 상기 가상 현실 콘텐트를 수신하는 송수신부와, 상기 가상 현실 콘텐트로부터 타겟을 캡쳐한 적어도 2개의 영상과, 재배치 정보를 획득하는 제어부와, 상기 제어부의 지시에 따라 상기 재배치 정보를 기반으로, 평면 상에 투영된 상기 적어도 2개의 영상이 중첩된 영역을 재배치하여, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 렌더링하는 디스플레이부를 포함한다.
본 개시의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 개시의 바람직한 실시예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 “포함하다(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은 일반적인 어안 카메라를 통해서 촬영된 영상의 일 예를 도시한 도면,
도 2a,b는 본 개시의 실시 예에 따른 기기가 구비하는 적어도 2개의 렌즈를 구비한 카메라를 통해서 캡쳐된 영상들을 스티칭하여 VR 콘텐트를 구성한 경우의 일 예를 도시한 도면,
도 3은 본 개시의 실시 예에 따라 VR 콘텐트를 송수신하는 전체 동작 흐름도,
도 4a는 본 개시의 실시 예에 따른 송신기의 블록 구성도의 일 예,
도 4b는 본 개시의 실시 예에 따른 송신기의 제어부(402)의 동작 흐름도의 일 예,
도 5a는 상기 캡쳐된 적어도 2개의 영상을 VR 콘텐트의 360도 영상으로 구성하기 위해서 스티칭하여 2차원 평면상에 투영시켜 매핑한 경우의 일 예를 도시한 도면,
도 5b는 본 개시의 실시 예에 따라 스티치된 2개의 영상들에서 왜곡을 검출하는 방식을 설명하기 위한 도면,
도 6a는 본 개시의 실시 예에 따른 num_circular_images, image_center_x 및 image_center_y를 설명하기 위한 도면의 일 예,
도 6b는 본 개시의 실시 예에 따른 반경들을 설명하기 위한 도면의 일 예,
도 6c는 본 개시의 실시 예에 따라 scene_radious의 값을 구체적으로 나타내는 일 예,
도 6d는 본 개시의 실시 예에 따라 원형 영상의 렌즈 쉐이딩을 보상하기 위한 파라미터의 적용 예,
도 7a는 본 개시의 실시 예에 따라 overlapped_fov의 값을 지시하는 다른 실시 예를 설명하기 위한 도면,
도 7b~c는 본 개시의 다른 실시 예에 따라 overlapped_fov의 값을 지시하는 다른 실시 예를 설명하기 위한 도면,
도 7d는 본 개시의 실시 예에 따라 중첩 영역의 로컬 피팅 영역을 나타낸 일 예,
도 7e~g는 본 개시의 다른 실시 예에 따라 중첩 영역의 로컬 피팅 영역을 나타낸 일 예,
도 8은 본 개시의 실시 예에 따른 Roll, yaw 및 pitch 각도를 설명하기 위한 도면,
도 9는 본 개시의 실시 예에 따라 중첩된 영역을 로컬 피팅 영역으로 배치하기 위해서 가중치를 적용할 경우의 예를 설명하기 위한 도면,
도 10a는 본 개시의 실시 예에 따른 수신기의 블록 구성도의 일 예,
도 10b는 본 개시의 실시 예에 따른 수신측의 동작 흐름도의 일 예,
도 11a는 본 개시의 실시 에에 따른 수신측이 송신측으로부터 수신한 원형 영상들을 디코딩하여 스티칭한 경우의 일 예,
도 11b는 본 개시의 실시 예에 따라 Compression curve가 모든 각도 방향으로 동일한 반경값으로 매칭된 경우, 실제 스티칭되어 디스플레이되는 영상의 영역의 일 예를 도시한 도면,
도 11c는 본 개시의 실시 예에 따라 로컬 피팅 영역에 상응하게 원형 영상이 디스플레이된 경우의 일 예를 도시한 도면,
도 12는 본 개시의 실시 예에 따른 렌즈 쉐이딩의 보상 절차를 거친 결과의 일 예를 도시한 도면,
도 13은 본 개시의 실시 예에 따라 중첩 영역에 블랜딩을 위한 가중치를 적용한 실시 예를 도시한 도면.
이하 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 다음에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(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)로 칭해질 수 있으며, 특정 시점에 사용자에게 보여지는 영상의 영역(여기서 상기 영상의 영역은 상기 구형 영상의 영역 등이 될 수 있다.)을 의미한다.
이하, 명세서에서는 설명의 편의상, 전방향 미디어의 일 예로, VR 콘텐트를 예를 들어 송수신기의 동작을 설명하기로 한다.
VR 콘텐트를 구성하기 위해서는 타겟 장면(scene)의 360도를 커버할 수 있는 적어도 2개의 렌즈들 혹은, 이들을 구비한 카메라 부를 장착한 디바이스가 사용되며, 일반적으로 어안(fisheye) 카메라가 널리 사용되고 있다. 이하, 본 개시의 실시 예에 따른 송신측은 어안(fish eye) 카메라 부를 장착한 디바이스를 예로 들어 설명하기로 한다. 그러나, 본 개시의 실시 예에 따른 송신측은 상기 카메라부를 구비한 디바이스와 별도로 구성되어, 상기 별도의 디바이스와 통신함으로써 본 개시의 실시 예에 따라 동작할 수 있다.
도 1은 일반적인 어안 카메라를 통해서 촬영된 영상의 일 예를 도시한 도면이다.
도 1을 참조하면, 일 예로, 어안 카메라가 구비한 2개의 렌즈 각각을 통해서 촬영된 구형 영상이 평면 상에 원형(circle, 100, 120)으로 투영된 상태를 나타낸다. 여기서, 원형 영상(100, 120) 각각은, 전형적으로 해당 렌즈에 의해서 캡쳐되는 모든 픽셀(pixel)들을 포함한다.
일반적으로, 어안 카메라를 사용하는 시스템은 360도 영상을 구성하기 위해서 어안 카메라의 렌즈들에 의해서 캡쳐되는 영상들을 정렬(align) 혹은 스티칭(stiching)하고, 2D 평면 상에 투영 혹은 매핑시킨다. 그리고 상기 투영된 영상은 하나의 프레임으로 매핑되어 엔코딩되어 수신측으로 전송된다. 엔코딩된 영상을 수신한 수신측에서는, 직접 매핑 방식을 사용하여 등장방형 (equi-rectangular) 또는 큐브(cube) 맵과 같은 중간 투영 맵의 사용 없이 엔코딩된 영상을 영상 비트 스트림(bit stream)으로 디코딩하고, 투영된 영상에서 현재의 FOV(field of view)에 대응하는 파트를 직접적으로 랜더링(rendering)할 수 있다. 랜더링은 디코딩된 영상을 디스플레이하기 위한 처리를 의미하고, FOV는 특정 시점에서 사용자에게 배타적으로 보여지는 구형 영역으로 정의된다.
수신측이 엔코딩된 영상들을 360도 영상으로 올바르게 랜더링하기 위해서는, 송신측이 해당 VR 콘텐트의 포맷을 설명하는 정보를 수신측으로 시그널링해야 한다. 이러한 정보로는, 보통 2가지 타입의 렌즈 정정 파라미터들이 넓게 사용되고 있다. 첫 번째 타입은 디코딩된 영상에 대한 왜곡/정정(distortion/correction)을 위한 값을 다항식으로 표현하는 방식이다. 두 번째 타입은 디코딩된 영상에 대한 다중 FOV들을 다중 원들의 영상을 연관시키는 압축 곡선(compression curve)으로 표현하는 방식이다. 두 개의 타입들은 일부의 파라미터만으로 수신측에서 VR 콘텐트의 디코딩을 위한 정보를 구성할 수 있다는 장점을 가진다. 반면, VR 콘텐트에 대한 왜곡/정정을 위한 값을 결정하는 입력 파라미터가 원형 영상의 반경이기 때문에, 특정 각도를 위한 국부적 변화를 나타내기 어렵다는 단점이 있다.
어안 렌즈들을 통해서 캡쳐된 영상들이 상기한 다항식 표현과 함께 전송되거나, 또는 압축 곡선으로 전달 및 랜더링될 경우, 캡쳐된 영상들 모두 동일한 깊이 값(depth value)을 가진다고 가정하자. 그러면, 상기 캡쳐된 영상들을 스티치(stich)하여 360도 영상을 구성할 경우, 스티치된 영역 주변에 어긋나거나 왜곡되는 영역이 나타나지 않는다. 여기서, 깊이 값은 카메라 혹은 어안 렌즈와 개체(object)간의 거리를 지시한다.
그러나, 실제 캡쳐된 영상들 각각에 포함된 개체 영역의 깊이 값은 실질적으로 백그라운드(background)의 깊이 값과 상이하다. 여기서, 백그라운드는 캡쳐된 영상 내에서 미리 결정된 임계값 이상의 깊이 값을 가지는 영역으로 정의되어, 상기 캡쳐된 영상들에서 동일하게 나타내어지는 부분을 의미한다.
따라서, 360도 영상을 구성하기 위해서 다수의 렌즈 혹은 카메라들을 통해서 캡쳐된 영상들을 정렬하거나 스티칭할 경우, 스티칭된 영역 주변에 어긋나거나 왜곡되는 영역이 발생할 수 있다. 도 2a,b는 본 개시의 실시 예에 따른 기기가 구비하는 2개의 렌즈를 구비한 카메라를 통해서 캡쳐된 영상들을 스티칭하여 360도 영상을 구성한 경우의 일 예를 도시한 도면이다.
도 2a를 참조하면, 캡쳐된 영상 내에서 개체 영역 1(200)은 참조 번호 204를 기준으로, 백그라운드 상에 왜곡이 발생하지 않았으나, 2개의 렌즈 중 왼쪽 렌즈에서 캡쳐된 영상에 포함된 개체가 상기 2개의 렌즈 중 오른쪽 렌즈에서 캡쳐된 영상에 포함된 개체와 중첩됨으로써 왜곡된 상태를 도시하고 있다. 그 이유는, 상기 2개의 렌즈와 개체 간의 거리 즉, 깊이값이 상이함에 따라 발생하게 된다.
그러므로, 본 개시의 실시 예에서는, 360도 영상을 구성하는 영상들이 중첩된 영역을 검출하고, 360도 영상을 구성한 영상들을 캡쳐한 각 렌즈와 개체간의 거리를 고려하여 상기 중첩된 영역의 배치 혹은 크기를 조정함으로써, 중첩된 영역의 왜곡 현상을 복원하는 방안을 제안한다. 구체적으로, 본 개시의 실시 예에서는, 송신측이 상기 중첩된 영역의 배치 혹은 크기를 조정하기 위한 파라미터들을 구성하고, 캡쳐한 영상들과 함께 전송한다. 그러면, 수신측은 상기 파라미터들과 함께 캡쳐한 영상들을 수신하고, 상기 파라미터들을 기반으로 캡쳐된 영상들의 중첩된 영역의 배치 혹은 크기를 조정함으로써 왜곡 현상이 복원된 360도 영상을 렌더링할 수 있게 된다.
본 개시의 실시 예에서는 상기 파라미터들의 일 예로, 중첩된 영역의 정정 파라미터들을 표현하는 압축 곡선에 가중치(weight)를 적용함으로써, VR 콘텐트에 대응하는 360도 영상의 국부적 영역 별로 비균일한 스트레칭(stretching)을 수행하여 왜곡된 영상을 보상할 수 있다. 여기서, 스트레칭은 영상 처리 기술 중 하나로, 해당 영상에 대응하는 픽셀들을 나타내는 히스토그램(histogram)에서 상기 픽셀들을 고르게 분포시키는 방식이다.
도 3은 본 개시의 실시 예에 따라 VR 콘텐트를 송수신하는 전체 동작 흐름도이다.
도 3을 참조하면, 송신측은 300단계에서 VR 콘텐트의 입력 데이터를 생성한다. 여기서, 송신측은 적어도 2개의 어안 렌즈 또는 카메라를 구비한 전자 기기인 경우를 가정하자. 본 개시의 실시 예에 따른 입력 데이터의 생성 과정은 VR 콘텐트의 타겟 장면을 360도로 구성하기 위해 상기 적어도 2개의 렌즈 또는 카메라를 통해서 영상들을 캡쳐하여 저장한다. 그리고, 304단계에서 상술한 바와 같은 직접 매핑 방식을 사용하여 저장된 영상들을 360도로 구성하기 위해 배열 또는 스티칭하여 2D 평면 상에 투영할 수 있다. 그리고, 투영된 영상을 하나의 프레임에 매핑할 수 있다. 그리고, 305단계에서 스티칭된 영상들이 중첩된 영역을 검출하고, 검출된 영역에서 발생한 왜곡을 복원하기 위한 파라미터들을 생성할 수 있다. 일 예로, 본 개시의 실시 예에 따라 검출된 영역의 왜곡을 보상하기 위한 파라미터들은 VR 콘텐트의 메타 데이터(metadata)에 포함되어 전송될 수 있다. 그러나, 상기 파라미터들이 메타 데이터에 포함되는 구성은 설명의 편의상, 일 예로서 설명된 것이며, 상기 파라미터들을 시그널링하기 위한 추가적인 방법들이 존재할 수 있다. 예를 들어, 상기 파라미터들을 위한 포맷이나 전송 방법들을 위한 실시 예가 적용될 수 있다. 그리고, 실시 예에 따라 306단계 내지 308단계에서 송신측은 메타 데이터를 상기 구성된 프레임과 함께 파일 형태로 인켑슐레이션(encapsulation)하는 엔코딩을 수행하고, 310단계에서 엔코딩된 파일을 송신될 수 있다. 다른 실시 예에 따라 메타 데이터는 파일과 별도의 정보로서 수신측으로 전송될 수 있다.
312단계에서 수신측는 상기 파일을 디켑슐레이션(decapsulation)하여 프레임과 메타 데이터를 획득하고, 314단계에서 상기 획득한 프레임으로부터 획득한 영상들과 메타 데이터를 디코딩하여 입력 데이터를 획득할 수 있다. 또는, 실시 예에 따라 송신측으로부터 입력 데이터와는 별도로 전송된 메타 데이터를 획득할 수 있다. 그리고, 316단계에서 수신부는 획득한 메타 데이터를 기반으로, 입력 데이터에 대응하는 영상들을 획득하고, 저장된 영상들을 스티칭하고, 메타 데이터로부터 획득한 파라미터들을 기반으로 스티칭된 영상들 간에 중첩된 영역을 재배치함으로써, 왜곡이 복원된 VR 콘텐트를 렌더링할 수 있다. 본 개시의 실시 예에 따른 엔코딩/디코딩은 다양한 표준들 예를 들어, ISOMEF, DASH, OMAF, 뿐만 아니라, VR 콘텐트를 인에이블링하는 기술들 또는 어플리케이션(application)을 처리할 수 있는 다른 표준들에서도 사용 가능하다.
이하, 도 4a,b를 참조하여, 본 개시의 실시 예에 따른 송신측에서 VR 콘텐트에 포함된 360도 영상이 왜곡 없이 수신측에서 렌더링되기 위한 시그널링 정보를 구성하고, 상기 시그널링 정보와 VR 콘텐트를 송신하는 방법 및 장치를 상세히 설명하기로 한다.
도 4a는 본 개시의 실시 예에 따른 송신기의 블록 구성도의 일 예이다.
도 4a를 참조하면, 송신기(400)는 일 예로, 제어부(402)와, 송수신부(404), 적어도 2개의 렌즈로 구성되는 카메라부(406), 프레임/파일 구성부(408) 및 엔코더(encoder, 410)을 포함하여 구성될 수 있다.
먼저, 카메라부(406)는 타겟 장면을 360도 영상으로 구성하기 위한 영상들을 캡쳐하여 저장한다. 설명의 편의상, 도 4a는 송신기(400)가 카메라부(406)와 일체형인 형태를 도시하여 설명하였으나, 상기 카메라부(406)는 송신기(400)와 별도의 장치로 구성될 수 있다.
그러면, 상기 제어부(402)는 상기 카메라부(406)로부터 획득한 적어도 2개의 영상을 360도 영상으로 구성하기 위한 배열 혹은 스티칭을 수행하여 투영 및 매핑한다. 이때, 구형의 영상들 각각의 깊이 값이 동일하지 않기 때문에, 배열 혹은 스티칭으로 인해서 중첩된 영역에서 도 2a에서 설명한 바와 같이 개체의 일부가 왜곡될 수 있다. 이러한 왜곡을 복원하기 위해서 본 개시의 실시 예에 따른 제어부(402)는 도 4b와 같이 동작할 수 있다.
도 4b는 본 개시의 실시 예에 따른 송신기의 제어부(402)의 동작 흐름도의 일 예이다. 도 4b를 참조하면, 410단계에서 상기 제어부(402)는 상기 배열 혹은 스티칭된 영상들이 중첩된 영역을 검출한다. 설명의 편의상, 도 5a는 상기 캡쳐된 적어도 2개의 영상을 VR 콘텐트의 360도 영상으로 구성하기 위해서 스티칭하여 2차원 평면상에 투영시켜 매핑한 경우의 일 예를 도시한 도면이다. 도 5a를 참조하면, 제어부(402)는 영상들이 중첩된 영역에서 2개의 영상들이 서로 인접한 픽셀들(500)을 비교하여 불연속성이 존재하는 픽셀들에서 왜곡이 발생한 것임을 확인할 수 있다. 여기서, 불연속성이 존재하는 픽셀들을 판단하기 위한 메트릭(metric)의 일 예로, 상기 인접한 픽셀들 각각의 차이에 제곱을 더한 값을 이용할 수 있다. 도 5b를 참조하면, 본 개시의 다른 실시 예에 따라 스티치된 2개의 영상들에서 직접 연결되어야 할 지점들 즉, 동일한 특징부들(510)을 검출함으로써 왜곡이 발생한 것임을 확인할 수도 있다. 도 5a 및 도 5b에 도시한 바와 같이 왜곡 영역이 발생하는 이유는, 상술한 바와 같이, 실제 촬영된 영상을 구성하는 개체와 백그라운드 등의 깊이 값이 상이하기 때문에 2차원 평면상에 상기 2개의 영상들을 배치하는 과정에서 상기 영상들에서 직접 연결되어야 하는 지점들이 동일하지 않은 위치 즉, 일부 영역이 중첩되거나 떨어진 위치에 배치되기 때문이다.
그러므로, 412단계에서 제어부(402)는 검출된 영역 내에서 발생한 왜곡을 복원하기 위해 상기 중첩된 영역의 위치와 실제 배치되어야 하는 로컬 피팅 영역(local fitting region)의 위치간의 차이(disparity)를 계산할 수 있다. 그리고, 414단계에서 상기 제어부(402)는 상기 위치간의 차이를 기반으로, 상기 중첩된 영역을 로컬 피팅 영역으로 배치하기 위해 요구되는 방식이 예를 들어, 스트레칭(stretching) 또는 와핑(warping) 방식인지 여부를 결정하고, 결정된 방식에 따라 상기 프레임/파일 구성부(408)가 상기 중첩된 영역을 로컬 피팅 영역으로 배치하기 위한 파라미터 값들을 계산하도록 제어할 수 있다. 본 개시의 실시 예에 따른 파라미터들은 하기 <표 1>을 참조하여 상세히 설명하기로 한다. 여기서, 와핑 방식은, 기하학적 변형(Geometric Transformation)의 한 종류로서 예를 들어, 중첩된 영역을 구성하는 픽셀들의 현재 위치를 지정된 위치 즉, 로컬 피팅 영역을 구성하는 픽셀들에 대응시키는 기술이다. 실시 예에 따라 상기 제어부(420)는 상기 중첩된 영역의 위치와 로컬 피팅 영역의 위치에 대한 차이를 깊이 값으로 치환하여 사용할 수 있다. 만약, 송신부(400)가 깊이 값을 측정할 수 있는 카메라를 구비한 경우, 별도의 계산 없이 상기 중첩된 영역의 깊이 값을 획득할 수 있다. 실시 예에 따라 상기 송신부(400)가 깊이 값을 측정할 수 있는 기능을 구비하지 않은 경우, 스티칭된 영상들에서 특정 포인트를 기준으로 중첩된 영역들을 서치할 수 있다. 또는, 실시 예에 따라 송신기가 자이로 센서(gyro sensor)를 구비할 경우를 가정하자. 이 경우, 매 프레임마다 중첩된 영역을 검출하지 않고, 자이로 센서를 통해서 글로벌 카메라 모션(global camera motion)을 감지하거나 또는 글로벌 모션 추정(estimation)을 수행하고 이를 기반으로 기준 프레임에서 검출된 중첩 영역을 업데이트할 수 있다. 또는, 실시 예에 따라 수신측이 검출된 중첩 영역을 업데이트할 수 있도록 글로벌 모션 관련 정보들을 VR 콘텐트의 메타 데이터에 포함시켜 전송할 수도 있다.
그리고, 본 개시의 실시 예에 따른 프레임/파일 구성부(408)가 생성한 중첩된 영역을 로컬 피팅 영역으로 재배치하기 위한 파라미터들은 전송할 VR 콘텐트를 위한 시그널링 정보 즉, 메타 데이터에 포함되어 구성될 수 있다. 상기 시그널링 정보는 실시 예에 따라 VR 콘텐트의 포맷을 지시하기 위해서 사용될 수 있고, 수신측에서 VR 콘텐트를 렌더링하기 위해서 사용될 수 있다. 일 예로, 본 개시의 실시 예에 따른 시그널링 정보는 하기 <표 1>과 같은 형태로 구성될 수 있다.
aligned(8) class fisheye_video_info( ) {
bit(24) reserved = 0;
unsigned int(8) num_circular_images;
for(i=0; i< num_circle_images; i++) {
unsigned int(32) image_center_x;
unsigned int(32) image_center_y;
unsigned int(32) full_radius;
unsigned int(32) frame_radius;
unsigned int(32) scene_radius;
unsigned int(32) image_rotation;
bit(30) reserved = 0;
unsigned int(2) image_flip;
unsigned int(32) image_scale_axis_angle;
unsigned int(32) image_scale_x;
unsigned int(32) image_scale_y;
unsigned int(32) field_of_view;
unsigned int(32) displayed_fov;
unsigned int(32) overlapped_fov;
unsigned int(16) image_center_yaw;
unsigned int(16) image_center_pitch;
unsigned int(16) image_center_roll;
bit(16) reserved = 0;
unsigned int(16) num_compression_curve_pionts;
for(j=0; j< num_compression_curve_pionts; j++) {
unsigned int(32) compression_curve_x;
unsigned int(32) compression_curve_y;
}
unsigned int (16) local_fov_weight_type;
unsigned int (16) num_local_fov_region;
if(local_fov_weight_type == 0){ // per angle
for(k=0; k< num_local_fitting_region; k++){
unsigned int (32) start_radius; unsigned int (32) end_radius;
unsigned int (32) start_angle;
unsigned int (32) end_angle;
unsigned int (32) angle_delta;
for(ang= start_angle; ang< end_angle; ang+= angle_delta){
unsigned int (32) start_radius_local_weight;
unsigned int (32) center_radius_local_weight;
unsigned int (32) end_radius_local_weight;
}
}
if(local_fov_weight_type == 1){ // per radius
for(k=0; k< num_local_fitting_region; k++){
unsigned int (32) start_radius;
unsigned int (32) end_radius;
unsigned int (32) start_angle;
unsigned int (32) end_angle;
unsigned int (32) radius_delta;
for(j= start_radius; j< end_radius; j+= radius_delta){
unsigned int (32) start_angle_local_weight; unsigned int (32) center_angle_local_weight;
unsigned int (32) end_angle_local_weight;
}
}
}
if(local_fov_weight_type == 2){
for(j=0; j< num_local_fov_region; j++) {
unsigned int(32) start_radius;
unsigned int(32) end_radius;
unsigned int(32) start_angle;
unsigned int(32) end_angle;
unsigned int(32) radius_delta;
unsigned int(32) angle_delta;
for(rad=start_radius; rad< end_radius; rad+=radius_delta) {
for(ang=start_angle; ang< ang_radius; ang+=angle_delta) {
unsigned int(32) center_local_weight;
}
}
}
unsigned int (8) interpol_idx;
}
bit(16) reserved = 0;
unsigned int(16) num_LSC_points;
for(j=0; j< num_LSC_points; j++) {
unsigned int (32) LSC_radius;
unsigned int (32) LSC_gain_R;
unsigned int (32) LSC_gain_G;
unsigned int (32) LSC_gain_B;
}
}
bit(24) reserved = 0;
unsigned int(8) num_deadzones;
for(i=0; i< num_deadzones; i++) {
unsigned int(16) deadzone_left_horizontal_offset;
unsigned int(16) deadzone_top_vertical_offset;
unsigned int(16) deadzone_width;
unsigned int(16) deadzone_height;
}
}
상기 <표 1>을 참조하면, 중첩된 영역을 로컬 피팅 영역으로 재배치하기 위한 파라미터들은 다음과 같이 정의될 수 있다.
-num_circular_images는 상기 메타 데이터가 적용되는 각 샘플들의 부호화된 픽쳐(coded picture) 내에서 원형 영상(cicular image)들의 수를 지시한다. 전형적으로, 2 이상의 값을 가지며, 다른 논 제로(non-zero) 값들로 설정되는 것 또한 가능하다. 도 6a는 본 개시의 실시 예에 따른 num_circular_images, image_center_x 및 image_center_y를 설명하기 위한 도면의 일 예이다. 도 6a를 참조하면, VR 콘텐트를 구성하기 위해서 어안 카메라를 통해서 캡쳐된 2개의 영상이 평면 상에 투영된 2개의 원형 영상1,2(600, 602)으로 구성될 경우를 도시하고 있으므로, 이 경우, num_circular_images의 값은 2이다.
-image_center_x은 상기 보정 정보가 적용될 각 샘플의 부호화된 픽쳐에서 원형 영상의 중앙의 루마(luma) 샘플들에서, 수평(horizontal) 좌표를 지시하는 고정 포인트 16.16 값이다. 도 6a를 참조하면, 원형 영상1(600)의 수평 좌표는 참조 번호 604의 x좌표 값을 지시하고, 원형 영상2(602)의 수평좌표는 참조 번호 606의 x좌표값을 지시한다.
-image_center_y는 상기 보정 정보가 적용될 각 샘플의 부호화된 픽쳐에서 원형 영상의 중앙의 루마 샘플들에서 수직(vertical) 좌표를 지시하는 고정 포인트 16.16 값이다. 도 6a를 참조하면, 원형 영상1(600)의 수직 좌표는 참조 번호 604의 y좌표 값을 지시하고, 원형 영상2(602)의 수평좌표는 참조 번호 606의 y 좌표값을 지시한다.-full_radius는 원형 영상의 중앙으로부터 전체 라운드 영상의 가장자리까지의 루마 샘플들에서 반경을 지시하는 고정 포인트 16.16값이다. 도 6b는 본 개시의 실시 예에 따른 반경들을 설명하기 위한 도면의 일 예이다. 도 6b를 참조하면, 타원(616)은 카메라 바디로 둘러싸인 카메라에 장착된 렌즈 영역에 대응하고, 해당 카메라의 디스플레이 유닛을 통해서 출력하는 프레임은 직사각형 형태로 상기 타원에 대응하는 영역 중 일부가 잘라진 형태로 디스플레이될 수 있는 경우의 예를 도시하고 있다. 이 경우, full_radius는 참조 번호 610에 대응한다. 예를 들어, 원형 영상이 완벽한 원이 아니고 실제로 타원형(616)인 경우를 가정하면, 타원형 영상의 full_radius는 수평 반경과 직교 반경 둘 다의 값으로 정의될 수 있다. 만약, 카메라의 프레임(614)을 통해서 원형 영상이 잘리게 될 경우에도, full radius의 값은 이론적으로 잘리지 않은 값(619)으로 정의된다.
-frame_radius는 프레임 내에서 원형 영상의 중앙으로부터 영상의 경계까지의 루마 샘플들에서 반경을 지시하는 고정된 포인트 16.16 값이고, 도 6b를 참조하면, 전체 반경(full radius, 610)은 원형 영상이 완벽한 원이 아니거나 실질적으로, 타원형이면 평형 및 수직 반경 둘 다로서 정의될 수 있다. 만약, 원형 영상이 카메라의 프레임(6142) 등에 의해서 잘릴 경우, frame_radius의 값(620)은 여전히 잘리지 않은 상기 full_radius(610)로서 정의된다.
-scene_radius는 카메라 바디로부터 개체간에 장애물이 없는 경우, 원형 영상의 중앙으로부터 영상의 가장자리 영역에 가장 가까운 루마 샘플들에서 반경을 지시하는 고정된 16. 16 값이다. 도 6b는 본 개시의 실시 예에 따라 scene_radious의 값을 구체적으로 나타내는 일 예의 도면이다.
또한, 상기 <표 1>에서는 scene_radius가 가장 가까운 반경만 지정하는 것으로 간략 표현되어 있으나, 도 6c의 실시 예에서와 같이, 장애물의 영향을 받지 않는 영역을 좀 더 자세히 기술하기 위해서 scene radius를 단일 반경으로 표현하지 않고 각도별로 달리 표현하는 방법도 가능하다. 도 6c를 참조하면, 카메라 중심(620)으로부터 90도에 대응하는 샘플의 scene_radius의 값은 프레임이 끝나는 구간까지의 길이로 나타내어진다. 반대로, 270도에 대응하는 샘플의 scene_radius의 값은 상기 영상의 270도에 대응하는 반경에서 카메라 바디에 대응하는 반경을 제외한 길이로 나타내어질 수 있다. 구체적인 예로, 본 개시의 실시 예에 다른 scene_radius는 하기와 같은 4가지 방식으로 나타내어질 수 있다.
-{Cx, Cy, N, {A1, R1}, …{AN, RN} } 여기서, Cx, Cy는 카메라의 중심 영역 즉, 도 6c의 참조 번호 620을 지시하는 좌표값을 지시하고, N은 샘플의 수이고, A, R는 해당 샘플의 각도와 반경을 나타낸다.
-{Cx, Cy, N, D, R1, …., RN} 여기서, D는 앵글의 등간격을 지시한다.
-{N, {A1, R1}, …{AN, RN} }: 고정된 영상의 중앙으로부터, A와 R을 이용하여 해당 샘플의 scene_radius를 나타낸다.
-{N, D, R1, …, RN}: 고정된 영상의 중앙으로부터 해당 샘플의 R로만 샘플의 scene_radius를 나타낸다.
상술한 바와 같은 full_radious, frame_radius 및 scene_radious는 카메라 파라미터로 분류될 수 있다. 일반적으로 카메라의 렌즈는 전체가 완만한 평면이 아니라 굴곡을 가지고 있기 때문에, 입력되는 광량상의 차이로 인하여, 렌즈 쉐이딩(lens shanding)이 발생할 수 있다. 따라서, 카메라를 통해서 캡쳐되는 실제 영상들은, 상술한 카메라 파라미터들만을 이용하여서는 심리스(seamless)하게 정합하기 어렵다. 그러므로, 보통 카메라 혹은 렌즈의 중심으로부터 바깥으로 가면서 쉐이딩을 보상하는 이득값을 radius에 대한 함수로 나타내는 방식을 이용하여 이러한 렌즈 쉐이딩을 보상할 수 있다. 그러므로, 본 개시의 실시 예에 따른 보정 정보는, 상기 <표 1>에 포함되어 있지는 않지만, 카메라의 렌즈 쉐이딩을 보상하기 위한 파라미터들을 추가로 포함할 수 있다. 이러한 렌즈 쉐이딩의 보상은 보통 영상의 2D 평면 투영 전에 적용된다.
상기 <표 1>에서의 렌즈 쉐이딩 보상 파라미터들을 하기와 같이 정의된다.
-num_LSC_points는 현재 원형 영상에 대한 LSC(lens shading compensation) 포인트들의 수를 나타낸다. 각 LSB 포인트는 LSC_gain_R, LSC_gain_G, LSC_gain_B 및 LSC_radius을 가진다.
-LSC_radius 는 영상의 중앙으로부터 현재 LSC 포인트의 거리를 지시한다.
-LSC_gain_R은 레드(red)에 대한 LSC 이득을 나타낸다.
-LSC_gain_G는 그린(green)에 대한 LSC 이득을 나타낸다.
-LSC_gain_B는 블루(blue)에 대한 LSC 이득을 나타낸다.
본 개시의 실시 예에 따른 렌즈 쉐이딩 보상 파라미터들은 총 3가지 형태로 나타낼 수 있다.
-{N, {R1, G1}, …, {RN, GN}: 여기서, N은 샘플의 개수이고, G는 이득값이다. 즉, 샘플의 반경 별로 적용될 이득 값으로 나타낼 수 있다.
-{N, {R1, GR _1, GG _1, GB_1}, …, {RN, , GR _N, GG _N, GB_N}: 여기서, {GR _N, GG _N, GB_N}은 해당 샘플의 반지름 별 RGB 채널의 각 이득값을 나타낸다.
-{N, M, {R1, G1,2, G1,3, …, G1,M}, … , {R1, GN,1, GN,2, …, GN,M}}: 여기서, M은 채널 수이고, {GN,M, GN,M, …, GN,M}은 해당 샘플의 반지름 별 M개 채널 각각의 이득값을 나타낸다.
그리고, 렌즈 쉐이딩 보상 파라미터들의 확장 실시 예로, 원형 이미지를 구성하는 동심원들의 반지름 간격을 등간격(DR)으로 지정하고, 각 반지름 별로 이득값을 다음과 같이 지정할 수 있다.
-{N, DR, G1, …GN}
-{N, DR, {GR1, GG1, GB1}, … {GRN, GGN, GBN}}
- {N, DR, M, {G1,1, G1,2, … , G1,M}, … { GN,1, GN,2, …, GN,M }}
도 6d는 본 개시의 실시 예에 따라 원형 영상의 렌즈 쉐이딩을 보상하기 위한 파라미터의 적용 예를 도시한 도면이다. 도 6d를 참조하면, 설명의 편의상, 원형 영상(630)은 등 간격(0.2)의 반경을 가지는 총 5개의 동심원으로 구성되며, 중심으로부터 가장자리 영역으로 갈수록 어두워지는 영상을 보상하기 위해서 이득값이 높은 값을 가진다.
-image_rotation는 원형 영상의 각도들에서 회전의 양을 지시한다. 예를 들어, 상이한 비디오 카메라 제조 업체들은 캡쳐된 영상 각각에 대해 상이한 좌표 시스템들 또는 레이아웃(layout)들을 선택할 수 있고, 영상은 +/- 90도 또는 +/- 180도 각도들 또는 다른 값에 의해서 회전될 수 있다. 도 2a,b를 참조하면, 2개의 영상들 중 하나의 영상은 +90도 회전된 영상이고, 나머지 하나는 -90도 회전된 영상(예를 들어, +270도)이다.
-image_flip은 영상의 플립(flip)되었는 지 여부와 및 이에 대한 방법을 지시하고, 역 플리핑 동작이 적용될 필요가 있는 지 여부를 지시한다. 예를 들어, image_flip의 값이 0이면 영상이 플립되지 않은 것을 지시하고, image_flip 값이 1이면, 영상이 수직으로 플립됨을 지시하고, image_flip의 값이 2이면, 영상이 수평으로 플립됨을 지시하고, image_flip의 값이 3이면 영상이 수직 및 수평 둘 다로 플립됨을 지시한다.
-image_scale_axis_angle, image_scale_x, and image_scale_y는 해당 축을 따라 영상이 스케일(scale)되었는지 여부 및 방법을 지시, 여기서, 축은 각도들에서 image_scale_axis_angle의 값에 의해서 지시되는 싱글 앵글에 의해서 정의되고, 0 도의 각도는 수평 벡터가 완벽하게 수평임을 의미하고, 수직 펙터가 완벽하게 수직임을 의미하고, image_scale_x, and image_scale_y는 해당 축에서 각각 병렬, 직교하는 방향 등에서 스케일링 비율들을 지시한다.
-field_of_view는 각도들에서 어안 렌즈들의 FoV를 지시하는 고정된 포인트 16.16 값이고, 반구형 어안 렌즈를 위한 일반적인 값은 180.0도이다.
-displayed_fov는 각 어안 카메라 영상의 영상 영역에 대응하고, 렌더링되고 디스플레이되는 FOV를 지시한다. 일 예로, num_circular_images의 값이 2일 경우, displayed_fov의 디폴트(defualt) 값이 180도로 동일하다. 반면, displayed_fov는 렌즈들 및 콘텐츠들의 특성들에 의존하여 변경될 수 있다. 예를 들어, 왼편 카메라를 통해서 캡쳐된 영상의 displayed_fov의 값이 170이고, 오른쪽 카메라를 통해서 캡쳐된 영상의 layed_fov의 디폴트 값이 190인 경우의 스티칭 품질은, 180도로 디폴트를 가지는 영상들을 스티칭한 경우보다 높게 된다. 업데이트된 displayed_fov 값들을 가져올 수 있다. 디폴트 값 180과 displayed_fov의 결정된 값 간의 최대 갭은 overlapped_fov와 동일하다. 그러므로, displayed_fov의 최대값은 180+overlapped_fov이고, 최소값은 180-overlapped_fov이다.
-overlapped_fov는 멀티 원형 영상들간의 중첩된 영역들을 나타내다. 다시 말해서, overlapped_fov는 구형 영상을 구성하기 위해서 배열 혹은 스티칭되는 영상들의 중첩 영역을 지시한다. 도 6a를 참조하면, overlapped_fov는 원형 영상 1(600) 및 원형 영상2(602)간의 중첩된 영역 즉, FOV가 170도와 190도 사이의 음영 표기된 영역을 지시한다. overlapped_fov는 실시 예에 따라 중첩된 영역의 시작 FOV와 끝 FOV를 지시하는 형태로 나타낼 수 있다.
도 7a는 본 개시의 실시 예에 따라 overlapped_fov의 값을 지시하는 다른 실시 예를 설명하기 위한 도면이다. 도 7a를 참조하면, 2개의 원형 이미지를 캡쳐한 카메라 혹은 렌즈에 배치에 따라 중첩 영역에 대응하는 FOV 범위인 170도와 190도 사이에서 일부 각도들(700)로 overlapped_fov의 값을 지시할 수 있다. 일 예로, 175도 및 185도를 overlapped_fov의 값으로 지시한 경우를 도시하고 있다. 도 7b,c는 본 개시의 다른 실시 예에 따라 overlapped_fov의 값을 지시하는 다른 실시 예를 설명하기 위한 도면이다. 도 7b의 실시 예에서는, 참조 번호 710에 나타낸 바와 같이, overlapped_fov의 값을 일 예로, 중첩 영역을 구성하는 FOV의 중심값인 FOV curve(712)와, 상기 중첩 영역의 폭(width, 714)만으로 구성될 수 있다. 도 7c의 실시 예에서는, 참조 번호 720에 나타낸 바와 같이, overlapped_fov의 값은 FOV curve를 지시하는 포인트들 각각의 극좌표 (반경, 각도)와 폭으로 구성될 수 있다. 또 다른 실시 예에 따라 overlapped_fov의 값은 중첩 영역의 시작과 끝점을 앵글 단위의 극 좌표 즉, {(A1, Rs, Re), (A2,Rs,Re)…(An, Rs, Re)}와 같이 나타낼 수 있다.
또한, 본 개시의 실시 예에 따른 파라미터들은 해당 영상을 하기 3개의 각도 중 적어도 하나를 이용하여 나타낼 수 있다.-image_center_yaw는 각 샘플의 부호화된 픽쳐에 원형 영상의 중앙 픽셀이 구 표면에 투영되는 포인트의 각도들에서 yaw 각도를 지시하는 정수이다.
-image_center_pitch는 각 샘플의 부호화된 픽처에 원형 영상의 중앙 픽셀이 구 표면에 투영되는 포인트의 각도들에서 pitch 각도를 지시하는 정수이다.
-image_center_roll은 각 샘플의 부호화된 픽처에 원형 영상의 중앙 픽셀이 구 표면에 투영되는 포인트의 각도들에서 roll 각도를 지시하는 정수이다.
도 8은 본 개시의 실시 예에 따른 Roll, yaw 및 pitch 각도를 설명하기 위한 도면이다. 도 8을 참조하면, Roll, yaw 및 pitch 각도는 각각 x축, z축, y축 상에서 도시한 바와 같이 각각 정의된다.
-num_compression_curve_pionts는 compression_curve_x 및 compression_curve_y의 쌍을 지시하는 정수이다.
-compression_curve_x 및 compression_curve_y의 쌍들의 리스트는, 캡쳐되는 구형 장면의 부분에 대해 상대적인 원형 영상의 기하학적 압축 곡선을 나타내고, compression_curve_x 값들의 어레이는 영상 중앙에서 0.0으로부터 영상 가장자리 테두리에서 1.0도까지 레인징(ranging)하는 반경 길이의 노말라이즈된 값들을 나타내고, compression_curve_y 값들의 어레이는 카메라 뷰 방향으로부터 도(degree)들에서 앵글들을 나타내고, 180도들의 FoV를 가지는 어안 렌즈들에 대해, 노말라이즈된 축에 따라 도들의 범위가 영상 중앙의 0.0에서 영상의 가장자리 테두리에서 90.0 도까지지임. 도 6a를 참조하면, compression_curve는 FOV 별로 평면 상의 원형 영상에서 얼마만큼의 영역으로 나타내게되는지 알려준다. 이 정보를 이용하여 수신측은 원형 영상으로부터 특정 뷰 포트를 직접적으로 렌더링할 수 있다.
본 개시의 실시 예에 따라 중첩 영역을 로컬 피팅 영역으로 배치하기 위한 위치 및 가중치 파라미터들은 하기와 같다.
-local_fov_weight_type은 FOV의 representation type을 지시한다.
-num_local_fov_region는 상이한 FOV를 가지는 로컬 피팅 영역들의 수를 지시한다.
-start_radius, end_radius, start_angle, and end_angle은 부분적으로 디스플레이되는 실제 FOV를 변경하기 위한 로컬 피팅/와핑 영역을 지시한다. 즉, 본 개시의 실시 예에 따라 로컬 피팅 영역의 위치를 지시하는 파라미터들로 분류된다.
-radius_delta는 각 반경을 위한 상이한 FOV를 나타내는 델타 값을 지시한다.
-radius_angle은 각 앵글을 위한 상이한 FOV를 나타내는 델타 값을 지시한다.
-center_local_weight는 start_radius, end_radius, start_angle, end_angle에 의해서 구체화되는 영역의 중앙 위치의 FoV에 대한 가중치 값을 지시하고, i는 앵글 인덱스이고, j는 반경 인덱스이다.
-start_radius_local_weight는 start_radius 에 의해서 구체화되는 영역에서 로컬 FOV의 가중치 값을 지시한다.
end_radius_local_weight는 end_radius에 의해서 구체화되는 영역에서 로컬 FOV의 가중치 값을 지시한다.
-start_angle_local_weight은 start_angle에 의해 구체화되는 영역에서 로컬 FOV의 가중치 값을 지시한다.
-end_angle_local_weight는 end_angle 에 의해 구체화되는 영역에서 로컬 FOV의 가중치 값을 지시한다.
이하, 본 개시의 실시 예에 따른 제어부(402)는 검출된 중첩 영역에 대해 상술한 바와 같이 로컬 피팅 영역을 지정하기 위한 가중치를 주는 방식 외에 다른 실시 예에 따라 상기 중첩 영역에서 왜곡이 발생하는 일부 영역들을 지정하여 지정된 일부 영역들을 구성하는 색상들을 블랜딩(blending)하여 스티칭된 영상간의 왜곡을 복원하는 방법을 적용할 수 있다. 또한, 다른 실시 예에 따라 중첩 영역의 가중치를 실시 예를 적용하는 예는, 중첩 영역에 대한 로컬 피팅 영역과, 블랜딩하기 위한 영역 둘 다를 지시할 수도 있다. 이하, 설명의 편의상 로컬 피팅 영역의 위치를 지시하는 실시 예들을 설명하였으나, 해당 실시 예들은 블랜딩하기 위한 영역을 지시하는 실시 예로서 적용 가능함은 물론이다. 이 경우, 로컬 피팅 영역을 위해서 적용되는 가중치의 파라미터는 FOV 대신 색상을 지시하게 된다.
이하, 본 개시의 다른 실시 예에 따라 로컬 피팅 영역의 위치를 하기와 같은 구체적인 실시 예들로 나타낼 수 있다.
본 개시의 실시 예에 따라 중첩 영역은 해당 영역들이 중첩되는 위치 및 정도가 단순히 해당 영상을 캡쳐한 카메라 혹은 렌즈의 위치 뿐만 해당 영상에 대응하는 콘텐츠의 특성에 따라 가변될 수 있다. 도 7d는 본 개시의 실시 예에 따라 중첩 영역의 로컬 피팅 영역을 나타낸 일 예이다. 본 개시의 실시 예에 따른 제어부(402)는 도 7a에 도시한 영상간의 중첩 영역에 가중치가 적용될 영역을 도 7d에서의 참조번호 722 내지 724와 같이 해당 VR 콘텐츠의 특성에 따라 overlapped_fov의 값을 상이하게 조정하여 나타낼 수 있다.
도 7e,f,g는 본 개시의 다른 실시 예에 따라 중첩 영역의 로컬 피팅 영역을 나타낸 일 예이다. 도 7e의 실시 예에서는 참조 번호 730에서와 같이 로컬 피팅 영역을 지시하기 위해서 중첩 영역을 구성하는 포인트들 각각의 (x,y) 좌표(도 7c의 {x3,y3}, {x4,y4} {x5,y5}, {x6,y6}에 대응함)와, 상기 중첩 영역이 재배치될 로컬 피팅 영역의 포인트들 각각의 (x,y) 좌표(도 7c의 참조 번호 732의 {x1,y1}, {x2,y2}에 대응함) 각각에 가중치 필드를 추가하여 나타낼 수 있다. 다른 실시 예에 따라 로컬 피팅 영역을 구성하는 포인트들 각각의 (x,y) 좌표들과, 가중치로만 나타낼 수 있다. 예를 들어, 참조 번호 710에 도시한 바와 같이, 중첩 영역에 대응하는 음영 영역을 지시하는 (x,y) 좌표와 가중치 즉, {(x3,y3, 1.0), (x4, y4, 1.0), (x5, y5, 0.0), (x6, y6, 0.0)…}로 나타낼 수 있다. 도 7f의 실시 예에서는, 로컬 피팅 영역을 일 예로, 중첩 영역과, 중첩되지 않는 영역을 구성하는 동심원의 FOV, 반경 및 가중치로 나타낼 수 있다. 참조 번호 740에 도시한 바와 같이, 중첩되지 않은 영역을 지시하는 (75도, 0.7, 1.0) 및 중첩된 영역을 지시하는 (85도, 09, 1.0) 및 (95도, 1.0, 0.0)과 같이 나타낼 수 있다. 즉, 중첩 영역의 끝 동심원에 가중치가 0.0으로 적용되고, 중첩 영역의 시작 동심원과 중첩되지 않은 영역의 마지막 동심원에 가중치가 1.0으로 적용됨에 따라 중첩 영역이 75도, 반경 0.7 및 85도 반경, 0.9로 재배치되도록 지시함을 나타낸다. 또는 실시 예에 따라 중첩된 영역의 시작 동심원의 {(85도, 0.9)과 끝 동심원의 (95도, 1.0)} 각각에 가중치를 적용하여 나타내어질 수 있다,
다른 실시 예에 따라 도 7b와 같이 나타내어지는 중첩 영역을 지시하는 값에 가중치를 적용할 수 있다. 도 7g의 실시 예에서는 중첩 영역을 지시하는 반경과, 각도 및 폭 별 가중치를 지시할 수 있다. 또는, 다른 실시 예에 따라 도 7f의 실시 예에 따라 중첩 영역의 FOV curve를 지시하는 포인트들 각각의 (x,y) 좌표와 폭, 혹은 극 좌표와 폭 별로 적용할 가중치를 매핑시킬 수 있다.
본 개시의 실시 예에 따라 제어부(402)는 상기한 바와 같은 중첩 영역을 로컬 피팅 영역으로 배치하기 위한 위치 및 가중치 파라미터들을 이용하여 동심원의 특정 각도에 대응하는 영역을 상대적으로 많이 스트레칭하거나, 쉬링크(shrink)한 상태로 전체 영상에 매핑될 수 있도록 로컬 피팅 영역에 구성하는 각도 별로 가중치인 local fov weight 값을 상이하게 할당하고, 할당된 값을 메타 데이터에 포함시켜 수신측으로 전송할 수 있다. 여기서, 쉬링크 방식은 해당 영상을 구성하는 픽셀들에 대응하는 히스토그램에서 일부 영역을 지정하여 수축시키는 방식이다. 도 9는 본 개시의 실시 예에 따라 중첩된 영역을 로컬 피팅 영역으로 배치하기 위해서 가중치를 적용할 경우의 예를 설명하기 위한 도면이다.
도 9를 참조하면, 본 개시의 실시 예에 따른 보정 파라미터들은 일 예로, 검출된 왜곡 영역의 각도(Local FOV)와, 가중치(LFR: Local FOV rate)로 나타낼 수 있다. 상기 가중치는, 3차원 구형 영상의 특정 포인트(3D 포인트)가 2차원 평면에 투영된 포인트(2D 포인트)의 매핑 관계를 지시하는 값으로 정의된다. 여기서, 각도는 렌즈 혹은 카메라로 캡쳐된 영상의 중심으로부터 방사형으로 지정된 각도로 나타낼 수 있다. 도 9의 경우, 시계 방향으로 12시 방향에서 0도로 시작 각도가 설정되지만, 이러한 표현 방식은 일 예로서 예시된 것으로, 시작 각도의 위치나 방향 등이 실시 예에 따라 다르게 정의될 수 있다. 도 9에서 음영 표기된 영역이 로컬 피팅 영역에 대응하므로, 이를 지시하기 위해서 원형 이미지의 가장자리를 확대시키는 가중치 값이 설정된 경우를 도시하고 있다. 만약, 로컬 피팅 영역이 상기 원형 이미지의 가장 자리보다 축소되어야 할 경우, 가중치는 1보다 작은 값으로 설정된다. 참조 번호 540은 음영 영역에 대응하는 60도 내지 150도 범위 내에서 30도의 각도 단위로 가중치를 설정하고, 상기 범위 내에서 지시된 각도들 사이의 각도에 대한 가중치는 인접 각도의 가중치를 보간하여 이용할 수 있다. 즉, <표 1>의 파라미터들은 본 개시의 실시 예에 따라 인접 각도의 가중치를 보간을 지시하는 Interpol_idx가 더 포함될 수 있다. 일 예로, Interpol_idx는 start_angle, end_angle, start_radius, and end_radius 내에서 중간 영역에 가중치 팩터(factor)를 보간(interpolation)하는 구체적인 방법을 하기 <표 2>와 같이 지시할 수 있다.
Interpol_ idx Interpolation method
0 Nearest neighbor
1 Linear (or bi-linear)
2~63 reserved
또한, 실시 예에 따라 제어부(402)는 로컬 피팅 영역의 위치를, FOV에 대응하는 radius만을 지시하는 파라미터들로만 구성하거나, 상기 FOV에 대응하는 angle을 지시하는 파라미터들로만 구성하거나, 상기 FOV에 대응하는 radius 및 angle 모드를 지시하는 파라미터들로 구성하여 메타 데이터에 포함시킬 수 있다. 또한, 앵글 혹은 반경을 지시하는 파라미터들은 왜곡 영역에 대응하는 반경 혹은 각도가 로컬 피팅 영역에 매핑되도록 적용되는 가중치값들로 설정될 수 있다. 구체적으로, 다른 실시 예에 따른 로컬 피팅 영역의 위치는 다음과 같은 실시 예들로 세분화될 수 있다.
-N, {A1, LFR1}, {A2, LFR2}, … , {AN, LFRN}, 여기서 A는 각도를 나타내고, N은 데이터의 개수, LFR은 해당 앵글의 FOV에 대응하는 가중치를 지시한다.
-N, {A1, R1}, {A2, R2}, …{AN, RN} : 여기서, R은 가중치의 대상을 FOV 대신 2차원 평면 상에서의 반지름에 적용한 경우이다.
-N, D, R1, R2, …, RN : 이 경우, 원형 영상의 전체 각도를 D 간격을 가지는 N개로 지정하고, 해당 각도 별 LFR을 지시하는 경우이다.
-Rs, RE, Rd, As, Ae, Ad, {LFR(R,A), …}: 각도와 반경간에 LFR을 직접 지시하는 경우이다. Rs는 시작 반경 혹은 FOV를 지시할 수 있고, RE는 끝 반경 혹은 FOV를 지시할 수 있고, Rd는 반경 혹은 FOV 간격을 지시할 수 있고, As는 시작 각도, AE는 끝 각도, Ad는 각도간의 간격, LFR(R,A)는 RS, Re, Rd, As, Ae, Ad 등으로 지시된 반경과 각도에 할당된 LFR을 지시할 수 있다.
-num_deadzones는 상기 메타 데이터가 적용될 각 샘플의 부호화된 픽쳐에서 데드 영역의 수를 지시하는 정수이다.
-deadzone_left_horizontal_offset, deadzone_top_vertical_offset, deadzone_width, and deadzone_height는 픽셀들을 사용할 수 없는 데드존 직사각형 영역의 크기 및 위치를 지시하는 정수 값이다. 여기서, deadzone_left_horizontal_offset 및 deadzone_top_vertical_offset은 각각 부호화된 픽쳐에서 데드존의 상위 왼쪽 코너 중 루나 샘플들에서 수평 및 수직 좌표들을 지시하고, deadzone_width and deadzone_height는 상기 데드존의 루나 샘플들에서 넓이와 높이를 지시하고, 동영상을 재생하기 위한 비트들을 저장하기 위해서 데드존 내에서 모든 픽셀들은 동일 픽셀 값으로 예를 들어 모두 블랙으로 세팅되어야 한다.
상기한 바와 같이 410단계 내지 414단계를 통해서 보정 정보가 포함하는 파라미터들이 구성되면, 제어부(402)는 상기 보정 정보를 상기 송수신부(404)를 통해서 송신하도록 제어한다. 상기 보정 정보는, 일 예로, 상기 파라미터값들은 VR 콘텐트의 메타 데이터에 포함시켜 전송될 수 있다.
그러면, 수신측은 송신측으로부터 수신한 VR 콘텐트를 구성하는 영상들을 디코딩하는 과정에서 상기 메타 데이터로부터 획득한 파라미터들을 기반으로 중첩된 영역을 로컬 피팅 영역으로 배치하여 왜곡을 복원한 360도 영상을 레더링할 수 있게 된다.
한편, 실시 예에 따라, 상기 중첩된 영역과 로컬 피팅 영역간의 차이에 대응하는 가중치인 델타(delta) 값을 FOV 별로 저장한 룩 업 테이블(look up table)을 사용할 수 있다. 이러한 룩업 테이블을 구성하는 가중치 값들은 송신기(400)가 구비한 카메라부(406)의 렌즈 별 특성을 고려한 실험 값으로 결정될 수 있다.
이하 도 10a,b를 참조하여, 본 개시의 실시 예에 따른 수신측이 수신한 VR 콘텐트를 디코딩하여 재생하는 방법 및 장치를 상세히 설명하기로 한다.
도 10a는 본 개시의 실시 예에 따른 수신기의 블록 구성도의 일 예이다.
도 10a를 참조하면, 수신기(1000)는 제어부(1002)와, 송수신부(1004)와, 디스플레이부(1006) 및 디코딩부(1008)를 포함하여 구성될 수 있다.
도 10b는 본 개시의 실시 예에 따른 수신측의 동작 흐름도의 일 예이다.
도 10b를 참조하면, 1010단계에서 송수신부(106004)는 송신측으로부터 전송된 VR 콘텐트를 수신한다. 여기서, 수신된 VR 콘텐트는, 실시 예에 따라 도 3에서 설명한 바와 같이 프레임과 상기 VR 콘텐트를 위한 시그널링 정보가 인켑슐레이션된 파일 형태로 수신될 수 있다. 또는, 상기 시그널링 정보가, 엔코딩된 파일과 별도로 수신될 수 있다.
1012단계에서 제어부(1002)는 상기 수신한 파일로부터 프레임과 상기 시그널링 정보를 획득하여 디코딩부(1008)에게 전달한다. 그러면, 1014단계에서 디코딩부(1008)는 상기 제어부(1002)의 지시에 따라 상기 시그널링 정보를 기반으로 프레임에 포함된 영상들을 디코딩한다. 구체적으로, 본 개시의 실시 에에 따른 디코딩부(1008)는 상기 프레임에 포함된 원형 영상들을 획득할 수 있다. 여기서, 원형 영상들은, 송신측이 구비한 렌즈들 혹은 카메라들을 통해서 촬영된 구형 영상들이 평면 상에 투영 및 매핑된 상태이다. 먼저, 디코딩부(1008)는 상기 획득한 원형 영상들을 정렬하거나 스티칭하여 해당 VR 콘텐트의 영상을 구성할 수 있다. 도 11a는 본 개시의 실시 에에 따른 수신측이 송신측으로부터 수신한 원형 영상들을 디코딩하여 스티칭한 경우의 일 예이다. 도 11a를 참조하면, 원형 영상들이 중첩된 영역에 동일 개체가 대칭적으로 연결되지 않는 왜곡 현상이 발생한 경우를 나타낸다.
상기 제어부(1002)는 상기 획득한 시그널링 정보로부터 본 개시의 실시 예에 따라 상기 스티칭된 영상들의 중첩된 영역(1100)이 실제 배치되어야 할 로컬 피팅 영역을 지시하는 파라미터들을 획득하고, 상기 중첩된 영역(1100)을 획득한 파라미터들에 대응하는 로컬 피팅 영역에 배치시킴으로써 보상할 수 있다. 구체적인 예로, 제어부(1002)는 본 개시의 실시 예에 따라 시그널링 정보로부터 획득한 displayed_fov 값을 이용하여 원형 영상1,2(1102, 1104) 각각이 실제 배치되어야 하는 로컬 피팅 영역을 결정할 수 있다. 실시 예에 따라 시그널링 정보로부터 획득한 compression curve 값을 이용할 경우, FOV는 실제 영상에서 반경 값으로 치환될 수 있다. 이때, 해당 FOV를 각도 단위로 나타내는 기존 기술을 사용할 수 있다. 도 11b는 본 개시의 실시 예에 따라 compression curve가 모든 각도 방향으로 동일한 반경값으로 매칭된 경우, 실제 스티칭되어 디스플레이되는 영상들의 일 예를 도시한 도면이다. 도 11b를 참조하면, 스티칭된 영상 각각(1102, 1104)은 참조 번호 1110에 나타낸 바와 같이 원형으로 나타내어진다.
그리고, 본 개시의 실시 예에 따라 시그널링 정보로부터 상기 중첩된 영역(1100)이 재배치되어야 할 로컬 피팅 영역에 대응하는 FOV를 지시하는 파라미터들을 획득한 경우, 상기 원형 영상(1102, 1104) 각각은 비대칭 원형 형태로 디스플레이될 수 있다. 이때, 로컬 피팅 영역에 대응하는 FOV를 지시하는 파라미터들은 앞서 설명한 바와 같이 실시 예에 따라 중첩된 영역(1100)을 구성하는 반경에 적용될 가중치(예를 들어, radius_delta, start_radius_local_weight, end_radius_local_weight) 혹은 앵글에 적용될 가중치(예를 들어, start_angle _local_weight, end_angle_local_weight 및 center_local_weight)중 적어도 하나로 구성될 수 있다.
도 11c는 본 개시의 실시 예에 따라 로컬 피팅 영역에 상응하게 원형 영상이 디스플레이된 경우의 일 예를 도시한 도면이다. 도 11c를 참조하면, 원형 영상 (1102)에서 중첩된 영역 중 재배치될 영역에 대응하는 각도(722)에 대응하는 부분 영역을 도시한 바와 오른쪽 원형 영상(1104) 쪽으로 더 위치하도록 가중치 값을 설정함으로써, 각도(1122)에 대응하는 FOV가 확장된 경우를 나타내고 있다. 결과적으로, 상기 확장된 FOV를 통해서 왜곡된 영상의 복원이 가능해짐을 알 수 있다.
한편, 해당 영상을 캡쳐한 각 렌즈의 물리적인 특성에 따라 캡쳐된 원형 영상의 렌즈 쉐이딩을 보상하는 과정이 필요하다. 도 12는 본 개시의 실시 예에 따른 렌즈 쉐이딩의 보상 절차를 거친 결과의 일 예를 도시한 도면이다.
도 12를 참조하면, (a),(b),(c)의 영상들은 어안 카메라를 통해서 캡쳐된 영상이 스티칭되는 과정에서 렌즈 특성상 가장 자리 부분이 어둡게 나타내어지고 있다. 그러므로, 본 개시의 실시 예에 따른 제어부(1002)는 상술한 바와 같은 렌즈 쉐이딩 보상 파라미터를 이용하여 스티칭되어 디스플레이되는 영상들을 보상하는 후 처리를 수행한다. 구체적인 예로, 각 RGB 색상 component별로 특정 gain값을 곱하여 보상할 수 있다. 이때, 메타 데이터로부터 획득한 LSC_gain_R, LSC_gain_G 및 LSC_gain_B가 사용된다.
결과적으로, 렌즈 쉐이딩이 반영된 영상을 나타내는 (d),(e),(f)의 영상들은 (a),(b),(c)의 영상들에 비해 스티칭된 영역이 부각되지 않는 자연스러운 여상이 렌더링되게 된다.
또한, 본 개시의 실시 예에 따라 시그널링 정보로부터 상기 중첩된 영역(1100)에서 블랜딩되어야 하는 영역을 지시하는 파라미터들을 획득한 경우, 상기 제어부(1002)는 해당 영역을 구성하는 색상들을 블렌딩함으로써, 스티칭된 영역 간의 왜곡을 보상할 수 있다. 도 13a,b는 본 개시의 실시 예에 따라 중첩 영역에 블랜딩을 위한 가중치를 적용한 실시 예를 도시한 도면이다. 그림 (a)를 참조하면, 2개의 영상이 스티칭된 가장자리간의 색상 차이로 인해서 스티칭된 이음새가 식별되어 렌더링되는 반면, 그림 (b)는 상기 스티칭된 가장 자리를 구성하는 색상들을 블랜딩하여 이음새가 식별되지 않도록 렌더링되는 효과를 가져옴을 볼 수 있다.
한편, 다른 실시 예에 따라 획득한 디코딩 영상들을 수신측의 디스플레이부(1006)의 화면에 대응하는 사각형에 배치하기 위해서 스트레칭 혹은 와핑하여 뷰 표트에 당하는 영역을 렌더링할 수 있다. 마찬가지로, 본 개시의 실시 예에 따른 송신부는 상기 사각형에 배치된 영상들이 중첩된 영상이 실제 배치되어야 할 로컬 피팅 영역을 위한 파라미터들을 구성하여 수신측에게 전달할 수 있다. 그러면, 수신측은 상기 파라미터들을 기반으로 중첩된 영역을 로컬 피팅 영역으로 재배치함으로써, 왜곡 없는 VR 콘텐트를 재생할 수 있게 된다.
본 개시의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(read only memory: ROM, 이하 ‘ROM’이라 칭하기로 한다)와, 랜덤-접속 메모리(random access memory: RAM, 이하 ‘RAM’라 칭하기로 한다)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 개시를 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 개시가 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 개시의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 개시의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 개시의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 개시는 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 개시는 이와 균등한 것을 적절하게 포함한다
또한 본 개시의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (24)

  1. 디바이스가 가상 현실 콘텐트를 송신하는 방법에 있어서,
    타겟을 캡쳐한 적어도 2개의 영상을 획득하는 과정과,
    상기 가상 현실 콘텐트에 대응하는 360도 영상을 구성하기 위해서 상기 적어도 2개의 영상을 배열하여 평면 상에 투영시키는 과정과,
    상기 투영된 2개의 영상이 중첩된 영역을 검출하고, 상기 중첩된 영역의 재배치 정보를 생성하는 과정과,
    상기 적어도 2개의 영상과 상기 재배치 정보를 송신하는 과정을 포함하는 방법.
  2. 제1항에 있어서,
    상기 재배치 정보는 상기 가상 현실 콘텐트의 메타 데이터에 포함되어 전송됨을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 재배치 정보는,
    상기 중첩된 영역의 위치 정보와, 상기 중첩된 영역의 위치를 재배치하기 위한 가중치 정보를 포함하여 구성됨을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 가중치 정보는,
    상기 중첩된 영역을 분할한 적어도 2개의 서브 영역 별로 상이한 값을 지시함을 특징으로 하는 방법.
  5. 제3항에 있어서, 상기 가중치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역을 캡쳐한 카메라와, 상기 중첩된 영역이 포함하는 개체간의 거리를 기반으로 설정됨을 특징으로 하는 방법.
  6. 제3항에 있어서,
    상기 중첩된 영역의 위치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역의 3차원 모델과 상기 평면간의 매핑 관계를 나타내는 동심원들의 반경과, 각도들 중 적어도 하나를 기반으로 구성됨을 특징으로 하는 방법.
  7. 가상 현실 콘텐트를 수신하는 디바이스에 있어서,
    상기 가상 현실 콘텐트를 수신하는 과정과,
    상기 가상 현실 콘텐트로부터 타겟을 캡쳐한 적어도 2개의 영상과, 재배치 정보를 획득하는 과정과,
    상기 재배치 정보를 기반으로, 평면 상에 투영된 상기 적어도 2개의 영상이 중첩된 영역을 재배치하여, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 렌더링하는 과정을 포함하는 방법.
  8. 제7항에 있어서,
    상기 재배치 정보는 상기 가상 현실 콘텐트의 메타 데이터에 포함되어 수신됨을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 재배치 정보는, 상기 중첩된 영역의 위치 정보와, 상기 중첩된 영역의 위치를 재배치하기 위한 가중치 정보를 포함하여 구성됨을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 가중치 정보는,
    상기 중첩된 영역을 분할한 적어도 2개의 서브 영역 별로 상이한 값을 지시함을 특징으로 하는 방법.
  11. 제9항에 있어서, 상기 가중치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역을 캡쳐한 카메라와, 상기 중첩된 영역이 포함하는 개체간의 거리를 기반으로 설정됨을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 중첩된 영역의 위치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역의 3차원 모델과 상기 평면간의 매핑 관계를 나타내는 동심원들의 반경과, 각도들 중 적어도 하나를 기반으로 구성됨을 특징으로 하는 방법.
  13. 가상 현실 콘텐트를 송신하는 디바이스에 있어서,
    타겟을 캡쳐한 적어도 2개의 영상을 획득하는 카메라부와,
    상기 가상 현실 콘텐트에 대응하는 360도 영상을 구성하기 위해서 상기 적어도 2개의 영상을 배열하여 평면 상에 투영시키고, 상기 투영된 2개의 영상이 중첩된 영역을 검출하고, 상기 중첩된 영역의 재배치 정보를 생성하는 제어부와,
    상기 적어도 2개의 영상과 상기 재배치 정보를 송신하는 송수신부를 포함하는 디바이스.
  14. 제13항에 있어서,
    상기 재배치 정보는 상기 가상 현실 콘텐트의 메타 데이터에 포함되어 전송됨을 특징으로 하는 디바이스.
  15. 제13항에 있어서,
    상기 재배치 정보는 상기 중첩된 영역의 위치 정보와, 상기 중첩된 영역의 위치를 재배치하기 위한 가중치 정보를 포함하여 구성됨을 특징으로 하는 디바이스
  16. 제15항에 있어서, 상기 가중치 정보는,
    상기 중첩된 영역을 분할한 적어도 2개의 서브 영역 별로 상이한 값을 지시함을 특징으로 하는 디바이스.
  17. 제15항에 있어서, 상기 가중치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역을 캡쳐한 카메라와, 상기 중첩된 영역이 포함하는 개체간의 거리를 기반으로 설정됨을 특징으로 하는 디바이스.
  18. 제15항에 있어서,
    상기 중첩된 영역의 위치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역의 3차원 모델과 상기 평면간의 매핑 관계를 나타내는 동심원들의 반경과, 각도들 중 적어도 하나를 기반으로 구성됨을 특징으로 하는 디바이스.
  19. 가상 현실 콘텐트를 수신하는 디바이스에 있어서,
    상기 가상 현실 콘텐트를 수신하는 송수신부와,
    상기 가상 현실 콘텐트로부터 타겟을 캡쳐한 적어도 2개의 영상과, 재배치 정보를 획득하는 제어부와,
    상기 제어부의 지시에 따라 상기 재배치 정보를 기반으로, 평면 상에 투영된 상기 적어도 2개의 영상이 중첩된 영역을 재배치하여, 상기 가상 현실 콘텐트에 대응하는 360도 영상을 렌더링하는 디스플레이부를 포함하는 디바이스.
  20. 제19항에 있어서,
    상기 재배치 정보는 상기 가상 현실 콘텐트의 메타 데이터에 포함되어 수신됨을 특징으로 하는 디바이스.
  21. 제19항에 있어서,
    상기 재배치 정보는, 상기 중첩된 영역의 위치 정보와, 상기 중첩된 영역의 위치를 재배치하기 위한 가중치 정보를 포함하여 구성됨을 특징으로 하는 디바이스.
  22. 제21항에 있어서, 상기 가중치 정보는,
    상기 중첩된 영역을 분할한 적어도 2개의 서브 영역 별로 상이한 값을 지시함을 특징으로 하는 디바이스.
  23. 제21항에 있어서, 상기 가중치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역을 캡쳐한 카메라와, 상기 중첩된 영역이 포함하는 개체간의 거리를 기반으로 설정됨을 특징으로 하는 디바이스.
  24. 제21항에 있어서, 상기 중첩된 영역의 위치 정보는,
    상기 캡쳐한 적어도 2개의 영상 중 상기 중첩된 영역을 재배치할 기준 영역의 3차원 모델과 상기 평면간의 매핑 관계를 나타내는 동심원들의 반경과, 각도들 중 적어도 하나를 기반으로 구성됨을 특징으로 하는 디바이스.
KR1020160117448A 2016-09-12 2016-09-12 가상 현실 콘텐트를 송수신하는 방법 및 장치 KR102560029B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160117448A KR102560029B1 (ko) 2016-09-12 2016-09-12 가상 현실 콘텐트를 송수신하는 방법 및 장치
EP17849172.6A EP3501171B1 (en) 2016-09-12 2017-09-12 Method and apparatus for transmitting and receiving virtual reality content
PCT/KR2017/009995 WO2018048288A1 (en) 2016-09-12 2017-09-12 Method and apparatus for transmitting and receiving virtual reality content
US15/702,387 US10685467B2 (en) 2016-09-12 2017-09-12 Method and apparatus for transmitting and receiving virtual reality content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160117448A KR102560029B1 (ko) 2016-09-12 2016-09-12 가상 현실 콘텐트를 송수신하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180029473A true KR20180029473A (ko) 2018-03-21
KR102560029B1 KR102560029B1 (ko) 2023-07-26

Family

ID=61560176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160117448A KR102560029B1 (ko) 2016-09-12 2016-09-12 가상 현실 콘텐트를 송수신하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10685467B2 (ko)
EP (1) EP3501171B1 (ko)
KR (1) KR102560029B1 (ko)
WO (1) WO2018048288A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190120619A (ko) * 2018-04-16 2019-10-24 주식회사 루씨드드림 삼차원 스테레오스코픽 영상 내의 객체 합성을 위한 시점별 양안 시차 영상의 렌더링 방법 및 시스템
KR20190138758A (ko) * 2018-06-06 2019-12-16 엘지전자 주식회사 360 비디오 시스템에서 오버레이 미디어 처리 방법 및 그 장치
US20200014905A1 (en) * 2018-07-06 2020-01-09 Lg Electronics Inc. Method and apparatus for transmitting and receiving metadata for coordinate system of dynamic viewpoint
KR20200006918A (ko) * 2018-07-11 2020-01-21 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
KR20200089872A (ko) * 2019-01-18 2020-07-28 경희대학교 산학협력단 가상현실 콘텐츠를 체험하는 사용자의 체험 공간 활용도 향상 방법 및 장치
US11212505B2 (en) 2019-01-31 2021-12-28 Electronics And Telecommunications Research Institute Method and apparatus for immersive video formatting

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11024065B1 (en) * 2013-03-15 2021-06-01 William S. Baron Process for creating an augmented image
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US11089280B2 (en) * 2016-06-30 2021-08-10 Sony Interactive Entertainment Inc. Apparatus and method for capturing and displaying segmented content
US10339627B2 (en) * 2016-10-10 2019-07-02 Gopro, Inc. Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image
KR20180039529A (ko) * 2016-10-10 2018-04-18 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
EP4254035A3 (en) * 2016-10-12 2023-12-06 Samsung Electronics Co., Ltd. Method, apparatus, and recording medium for processing image
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
CN106651764B (zh) * 2016-12-29 2019-10-15 北京奇艺世纪科技有限公司 一种全景图压缩方法及装置
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
JP7070547B2 (ja) * 2017-03-22 2022-05-18 ソニーグループ株式会社 画像処理装置および方法、並びにプログラム
US11070724B2 (en) * 2017-03-22 2021-07-20 Sony Corporation Image processing apparatus and method
WO2018171758A1 (en) * 2017-03-24 2018-09-27 Mediatek Inc. Method and apparatus for deriving vr projection, packing, roi and viewport related tracks in isobmff and supporting viewport roll signaling
KR102262727B1 (ko) * 2017-05-26 2021-06-09 엘지전자 주식회사 360 비디오 처리 방법 및 그 장치
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US11049219B2 (en) 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US11348265B1 (en) * 2017-09-15 2022-05-31 Snap Inc. Computing a point cloud from stitched images
KR102082707B1 (ko) * 2017-09-22 2020-02-28 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11363214B2 (en) * 2017-10-18 2022-06-14 Gopro, Inc. Local exposure compensation
US20190130526A1 (en) * 2017-10-27 2019-05-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Metadata based quality enhancement post-video warping
US11303826B2 (en) * 2018-01-31 2022-04-12 Lg Electronics Inc. Method and device for transmitting/receiving metadata of image in wireless communication system
US10649638B2 (en) * 2018-02-06 2020-05-12 Adobe Inc. Immersive media content navigation and editing techniques
JP7310794B2 (ja) * 2018-03-16 2023-07-19 ソニーグループ株式会社 画像処理装置と画像処理方法
EP3570063B1 (de) * 2018-05-14 2023-08-30 dSPACE GmbH Verfahren zur schnellen abschätzung einer perspektivischen verdeckung in einer simulation eines bildgebenden sensors
CN108805988A (zh) * 2018-05-23 2018-11-13 平安科技(深圳)有限公司 Vr图像生成方法、装置、计算机设备及存储介质
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
US10666863B2 (en) * 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
US11178373B2 (en) 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
US10887574B2 (en) 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US10893299B2 (en) 2018-07-31 2021-01-12 Intel Corporation Surface normal vector processing mechanism
US11212506B2 (en) 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
US10839589B2 (en) * 2018-07-31 2020-11-17 Intel Corporation Enhanced immersive media pipeline for correction of artifacts and clarity of objects in computing environments
US10762394B2 (en) 2018-07-31 2020-09-01 Intel Corporation System and method for 3D blob classification and transmission
US11057631B2 (en) 2018-10-10 2021-07-06 Intel Corporation Point cloud coding standard conformance definition in computing environments
US11158025B2 (en) 2018-12-31 2021-10-26 Gopro, Inc. Methods and apparatus for optimized stitching of overcapture content
US10614553B1 (en) * 2019-05-17 2020-04-07 National Chiao Tung University Method for spherical camera image stitching
US11120591B2 (en) * 2019-05-31 2021-09-14 Apple Inc. Variable rasterization rate
JP7306089B2 (ja) 2019-06-17 2023-07-11 株式会社リコー 画像処理システム、撮像システム、画像処理装置、撮像装置およびプログラム
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
JP7424076B2 (ja) * 2020-01-29 2024-01-30 株式会社リコー 画像処理装置、画像処理システム、撮像装置、画像処理方法およびプログラム
US11957974B2 (en) 2020-02-10 2024-04-16 Intel Corporation System architecture for cloud gaming
WO2023130047A1 (en) * 2021-12-30 2023-07-06 Canon U.S.A., Inc. Systems and methods for virtual reality immersive calling

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040257384A1 (en) * 1999-05-12 2004-12-23 Park Michael C. Interactive image seamer for panoramic images
US20130243351A1 (en) * 2012-03-19 2013-09-19 Adobe Systems Incorporated Methods and Apparatus for Interfacing Panoramic Image Stitching with Post-Processors
US20150358539A1 (en) * 2014-06-06 2015-12-10 Jacob Catt Mobile Virtual Reality Camera, Method, And System
US20160142644A1 (en) * 2014-11-17 2016-05-19 Industrial Technology Research Institute Surveillance systems and image processing methods thereof
US20160212338A1 (en) * 2015-01-15 2016-07-21 Electronics And Telecommunications Research Institute Apparatus and method for generating panoramic image based on image quality

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044181A (en) 1997-08-01 2000-03-28 Microsoft Corporation Focal length estimation method and apparatus for construction of panoramic mosaic images
US6157747A (en) 1997-08-01 2000-12-05 Microsoft Corporation 3-dimensional image rotation method and apparatus for producing image mosaics
US7813589B2 (en) 2004-04-01 2010-10-12 Hewlett-Packard Development Company, L.P. System and method for blending images into a single image
WO2009039512A1 (en) 2007-09-21 2009-03-26 The Trustees Of Columbia University In The City Of New York Systems and methods for panoramic imaging
KR20150118813A (ko) * 2014-04-15 2015-10-23 삼성전자주식회사 햅틱 정보 운용 방법 및 이를 지원하는 전자 장치
US10979691B2 (en) * 2016-05-20 2021-04-13 Qualcomm Incorporated Circular fisheye video in virtual reality

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040257384A1 (en) * 1999-05-12 2004-12-23 Park Michael C. Interactive image seamer for panoramic images
US20130243351A1 (en) * 2012-03-19 2013-09-19 Adobe Systems Incorporated Methods and Apparatus for Interfacing Panoramic Image Stitching with Post-Processors
US20150358539A1 (en) * 2014-06-06 2015-12-10 Jacob Catt Mobile Virtual Reality Camera, Method, And System
US20160142644A1 (en) * 2014-11-17 2016-05-19 Industrial Technology Research Institute Surveillance systems and image processing methods thereof
US20160212338A1 (en) * 2015-01-15 2016-07-21 Electronics And Telecommunications Research Institute Apparatus and method for generating panoramic image based on image quality

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190120619A (ko) * 2018-04-16 2019-10-24 주식회사 루씨드드림 삼차원 스테레오스코픽 영상 내의 객체 합성을 위한 시점별 양안 시차 영상의 렌더링 방법 및 시스템
KR20190138758A (ko) * 2018-06-06 2019-12-16 엘지전자 주식회사 360 비디오 시스템에서 오버레이 미디어 처리 방법 및 그 장치
US11140380B2 (en) 2018-06-06 2021-10-05 Lg Electronics Inc. Method and apparatus for processing overlay media in 360 degree video system
US20200014905A1 (en) * 2018-07-06 2020-01-09 Lg Electronics Inc. Method and apparatus for transmitting and receiving metadata for coordinate system of dynamic viewpoint
KR20200005438A (ko) * 2018-07-06 2020-01-15 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
US10834375B2 (en) * 2018-07-06 2020-11-10 Lg Electronics Inc. Method and apparatus for transmitting and receiving metadata for coordinate system of dynamic viewpoint
KR20200006918A (ko) * 2018-07-11 2020-01-21 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
KR20200089872A (ko) * 2019-01-18 2020-07-28 경희대학교 산학협력단 가상현실 콘텐츠를 체험하는 사용자의 체험 공간 활용도 향상 방법 및 장치
US11212505B2 (en) 2019-01-31 2021-12-28 Electronics And Telecommunications Research Institute Method and apparatus for immersive video formatting

Also Published As

Publication number Publication date
EP3501171A1 (en) 2019-06-26
EP3501171A4 (en) 2019-08-21
KR102560029B1 (ko) 2023-07-26
US10685467B2 (en) 2020-06-16
US20180075635A1 (en) 2018-03-15
EP3501171B1 (en) 2023-03-01
WO2018048288A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
KR102560029B1 (ko) 가상 현실 콘텐트를 송수신하는 방법 및 장치
US11792378B2 (en) Suggested viewport indication for panoramic video
KR102642406B1 (ko) 가상 현실 영상을 처리하는 방법 및 장치
KR102545195B1 (ko) 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
US10855968B2 (en) Method and apparatus for transmitting stereoscopic video content
US11308581B2 (en) Spherical rotation for encoding wide view video
US20190236990A1 (en) Image processing method and device for projecting image of virtual reality content
US10681272B2 (en) Device for providing realistic media image
US20190289203A1 (en) Image processing apparatus, image capturing system, image processing method, and recording medium
US20190289206A1 (en) Image processing apparatus, image capturing system, image processing method, and recording medium

Legal Events

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