KR102642406B1 - 가상 현실 영상을 처리하는 방법 및 장치 - Google Patents
가상 현실 영상을 처리하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102642406B1 KR102642406B1 KR1020230054657A KR20230054657A KR102642406B1 KR 102642406 B1 KR102642406 B1 KR 102642406B1 KR 1020230054657 A KR1020230054657 A KR 1020230054657A KR 20230054657 A KR20230054657 A KR 20230054657A KR 102642406 B1 KR102642406 B1 KR 102642406B1
- Authority
- KR
- South Korea
- Prior art keywords
- track
- viewport
- image
- information
- degrees
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 title claims description 17
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 31
- 238000013507 mapping Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 210000000887 face Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
- G06T3/067—Reshaping or unfolding 3D tree structures onto 2D planes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/12—Panospheric to cylindrical image transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/16—Spatio-temporal transformations, e.g. video cubism
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/178—Metadata, e.g. disparity information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/243—Image signal generators using stereoscopic image cameras using three or more 2D image sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/363—Image reproducers using image projection screens
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Library & Information Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
Abstract
본 개시의 일면에 따른 전방향(omnidirectional) 콘텐트와 관련된 전방향 이미지에 대한 정보를 전송하기 위한 방법은, 뷰포트와 관련된 정보를 수신하는 단계; 및 상기 수신된 뷰포트와 관련된 정보에 기초하여 선택된 상기 전방향 콘텐트의 적어도 하나의 트랙과 관련된 미디어 데이터, 및 상기 전방향 콘텐트와 관련된 메타데이터를 전송하는 단계를 포함하고, 상기 적어도 하나의 트랙은 등장방형 투영(ERP, equiretangular projection) 방식에 의해 생성되고, 상기 메타데이터는: 상기 전방향 이미지 상의 영역의 중심을 나타내는 정보, 상기 전방향 이미지 상의 상기 영역의 요우 각(yaw angle)의 폭(width) 및 피치 각(pitch angle)의 폭을 나타내는 정보, 및 상기 적어도 하나의 트랙 각각의 상기 전방향 이미지 상의 커버리지를 나타내는 정보를 포함한다
Description
본 개시는 적응적인 가상 현실(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: virtual reality) 영상을 처리하는 방법 및 장치를 제안한다.
또한, 본 개시는 송신측에서 VR 컨텐츠를 구성하는 영상들을 왜곡 없이 렌더링하기 위한 정보들을 구성하여 이를 시그널링하는 방법 및 장치를 제안한다.
또한, 본 개시는 수신측에서 VR 컨텐츠의 시그널링 정보를 기반으로, 해당 VR 컨텐츠를 재생하는 방법 및 장치를 제안한다.
본 개시의 일면에 따른 전방향(omnidirectional) 콘텐트와 관련된 전방향 이미지에 대한 정보를 전송하기 위한 방법은, 뷰포트와 관련된 정보를 수신하는 단계; 및 상기 수신된 뷰포트와 관련된 정보에 기초하여 선택된 상기 전방향 콘텐트의 적어도 하나의 트랙과 관련된 미디어 데이터, 및 상기 전방향 콘텐트와 관련된 메타데이터를 전송하는 단계를 포함하고, 상기 적어도 하나의 트랙은 등장방형 투영(ERP, equiretangular projection) 방식에 의해 생성되고, 상기 메타데이터는: 상기 전방향 이미지 상의 영역의 중심을 나타내는 정보, 상기 전방향 이미지 상의 상기 영역의 요우 각(yaw angle)의 폭(width) 및 피치 각(pitch angle)의 폭을 나타내는 정보, 및 상기 적어도 하나의 트랙 각각의 상기 전방향 이미지 상의 커버리지를 나타내는 정보를 포함할 수 있다.
상기 선택된 뷰포트와 관련된 정보는 뷰포인트 정보를 포함하고, 상기 뷰포인트 정보는 구면 좌표와 관련된 중심 요우 각 및 중심 피치 각을 포함하고, 상기 중심 요우 각은 -180도 이상 180도 이하이고, 상기 중심 피치 각은 -90도 이상 90도 이하이고, 상기 요우 각의 폭은 0도 이상 360도 이하이고, 상기 피치 각의 폭은 0도 이상 180도 이하일 수 있다.
상기 메타데이터는, 상기 적어도 하나의 트랙이 스티칭 되는지 여부, 상기 적어도 하나의 트랙이 상기 전방향 이미지의 전체인지 아니면 부분인지 여부,
상기 적어도 하나의 트랙의 수평 활성 범위, 상기 적어도 하나의 트랙의 수직 활성 범위, 상기 적어도 하나의 트랙이 정다면체 투영법에 의한 것인지 여부, 상기 정다면체의 종류, 및 상기 적어도 하나의 트랙의 뷰포트(Field of View, FoV) 정보, 중 적어도 하나를 나타내는 정보를 포함할 수 있다
상기 적어도 하나의 트랙은 상기 전방향 콘텐트의 전체 지오메트리(geometry)를 포함하고, 상기 적어도 하나의 트랙은, 캡쳐된 상기 전방향 이미지를 스티칭하고, 상기 스티칭된 전방향 이미지를 2차원 평면에 투영하고, 상기 투영된 이미지를 분할하여 생성될 수 있다.
상기 메타데이터는 상기 뷰포트와 중첩되는 상기 적어도 하나의 트랙과 하나 이상의 트랙들 사이의 의존성에 대한 정보를 더 포함할 수 있다.
상기 적어도 하나의 트랙의 개수는 2 이상이고, 상기 적어도 하나의 트랙은 서로 중첩되지 아니하고, 상기 적어도 하나의 트랙은 서로 의존성을 가질 수 있다.
본 개시의 일면에 따른 전방향(omnidirectional) 콘텐트와 관련된 전방향 이미지를 처리하는 장치는, 송수신기; 및 상기 송수신기와 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는: 뷰포트와 관련된 정보를 수신하고; 그리고 상기 수신된 뷰포트와 관련된 정보에 기초하여 선택된 상기 전방향 콘텐트의 적어도 하나의 트랙과 관련된 미디어 데이터, 및 상기 전방향 콘텐트와 관련된 메타데이터를 전송하도록 구성되고, 상기 적어도 하나의 트랙은 등장방형 투영(ERP, equiretangular projection) 방식에 의해 생성되고, 상기 메타데이터는: 상기 전방향 이미지 상의 영역의 중심을 나타내는 정보, 상기 전방향 이미지 상의 상기 영역의 요우 각(yaw angle)의 폭(width) 및 피치 각(pitch angle)의 폭을 나타내는 정보, 및 상기 적어도 하나의 트랙 각각의 상기 전방향 이미지 상의 커버리지를 나타내는 정보를 포함하할 수 있다.
본 개시의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 개시의 바람직한 실시예들을 게시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.
하기의 본 게시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 "포함하다(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, 2B 및 2C는 본 개시에 따른 ERP 영상의 예시도들을 나타낸다.
도 3A, 3B 및 3C는 본 개시에 따른 뷰포트(viewport) 영상의 예시도들을 나타낸다.
도 4는 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 5는 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 6A, 6B 및 6C는 생성한 뷰포트 영상에 나타나는 재깅(zagging), 흐릿함(blur), 우둘투둘함(aliasing)을 설명하기 위한 예시도이다.
도 7 및 8은 본 개시에 따른 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 9(a)는 뷰포트 영상을 나타내는 도면이고, 도 9(b)는 구형 좌표계에서 요와 피치를 나타내는 도면이다.
도 10은 구형 좌표계의 좌표를 ERP 영상의 좌표에 매핑하는 방법을 설명하기 위한 예시도이다.
도 11은 본 개시에 따른 다면체를 이용하여 360도 영상을 획득하는 방법을 설명하기 위한 예시도이다. 도 11(a)는 다면체별 2차원 전개도를 나타내고, 도 11(b)는 육면체의 2차원전개도의 예시도이고, 도 11(c)는 20면체의 2차원 전개도의 예시도이다.
도 12는 본 개시에 따른 ERP 영상에서 뷰포트를 렌더링하는것과 관련한 뷰포인트 추적을 설명하기 위한 도면이다.
도 13는 본 개시에 따른 육면체 투명(cubical projection)에서 뷰포트를 렌더링하는것과 관련한 뷰포인트 추적을 설명하기 위한 도면이다.
도 14는 360도 영상을 캡처하기 위한 카메라 장치들을 나타낸다.
도 15는 360도 영상을 캡처하는 카메라 장치들의 형태에 따른 촬영범위를 설명하기 위한 예시도이다. 도 15(a)는 정사면체 형태의 카메라 장치, 도 15(b)는 정육면체 형태의 카메라 장치, 도 15(c)는 정십이면체 형태의 카메라 장치에 따른 촬영범위를 나타낸다.
도 16은 구면 영상으로부터 투명하는 방법을 설명하기 위한 예시도이다.
도 17은 육면체 투영 방법을 설명하기 위한 예시도이다.
도 18은 팔면체 투영 방법을 설명하기 위한 예시도이다.
도 2A, 2B 및 2C는 본 개시에 따른 ERP 영상의 예시도들을 나타낸다.
도 3A, 3B 및 3C는 본 개시에 따른 뷰포트(viewport) 영상의 예시도들을 나타낸다.
도 4는 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 5는 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 6A, 6B 및 6C는 생성한 뷰포트 영상에 나타나는 재깅(zagging), 흐릿함(blur), 우둘투둘함(aliasing)을 설명하기 위한 예시도이다.
도 7 및 8은 본 개시에 따른 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 9(a)는 뷰포트 영상을 나타내는 도면이고, 도 9(b)는 구형 좌표계에서 요와 피치를 나타내는 도면이다.
도 10은 구형 좌표계의 좌표를 ERP 영상의 좌표에 매핑하는 방법을 설명하기 위한 예시도이다.
도 11은 본 개시에 따른 다면체를 이용하여 360도 영상을 획득하는 방법을 설명하기 위한 예시도이다. 도 11(a)는 다면체별 2차원 전개도를 나타내고, 도 11(b)는 육면체의 2차원전개도의 예시도이고, 도 11(c)는 20면체의 2차원 전개도의 예시도이다.
도 12는 본 개시에 따른 ERP 영상에서 뷰포트를 렌더링하는것과 관련한 뷰포인트 추적을 설명하기 위한 도면이다.
도 13는 본 개시에 따른 육면체 투명(cubical projection)에서 뷰포트를 렌더링하는것과 관련한 뷰포인트 추적을 설명하기 위한 도면이다.
도 14는 360도 영상을 캡처하기 위한 카메라 장치들을 나타낸다.
도 15는 360도 영상을 캡처하는 카메라 장치들의 형태에 따른 촬영범위를 설명하기 위한 예시도이다. 도 15(a)는 정사면체 형태의 카메라 장치, 도 15(b)는 정육면체 형태의 카메라 장치, 도 15(c)는 정십이면체 형태의 카메라 장치에 따른 촬영범위를 나타낸다.
도 16은 구면 영상으로부터 투명하는 방법을 설명하기 위한 예시도이다.
도 17은 육면체 투영 방법을 설명하기 위한 예시도이다.
도 18은 팔면체 투영 방법을 설명하기 위한 예시도이다.
이하 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 다음에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(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)로 칭해질 수 있으며, 특정 시점에 사용자에게 보여지는 영상의 영역(여기서 상기 영상의 영역은 상기 구형 영상의 영역 등이 될 수 있다.)을 의미한다.
이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 적응적인 가상 현실 영상을 처리하는 방법이 구현되는 컴퓨터 시스템의 구성을 설명하기 위한 예시도이다.
한편, 본 발명의 실시예에 따른 적응적인 가상 현실 영상을 처리하는 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 도 1에 도시된 바와 같이, 컴퓨터 시스템은 적어도 하나 이상의 프로세서(110)와, 메모리(120)를 포함할 수 있다.
프로세서(110)는 CPU(central processing unit; 중앙 처리 장치)이거나, 혹은 메모리(120)에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
프로세서(110)는 컴퓨터 시스템(100)의 모든 동작을 제어하는 제어기(controller)일 수 있다. 상기 제어기는 메모리(120)에서 저장된 프로그램 코드를 읽어내어 실행함으로써 컴퓨터 시스템(100)이 작동하는 동작들을 실행할 수 있다.
컴퓨터 시스템(100)은 사용자 입력 장치(150)와, 데이터 통신 버스(130)와, 사용자 출력 장치(160)와, 저장소(140)를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스(130)를 통해 데이터 통신을 할 수 있다.
컴퓨터 시스템은 네트워크(180)에 연결된 네트워크 인터페이스(170)를 더 포함할 수 있다.
메모리(120) 및 저장소(140)는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리(120)는 ROM(123) 및 RAM(126)을 포함할 수 있다. 저장소(140)는 자기 테이프, 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SDD), 광데이터 장치 및 플래시 메모리와 같은 비휘발성 메모리를 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 적응적인 가상 현실 영상을 처리하는 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 적응적인 가상 현실 영상을 처리하는 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 운영 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 적응적인 가상 현실 영상을 처리하는 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
도 2A, 2B 및 2C는 본 개시에 따른 ERP 영상의 예시도들을 나타낸다.
뷰포트는 사용자의 관점(perspective)에 따라 투명(projection)된 것을 의미한다. 가상 현실 컨텐츠(virtual reality content, VR content)를 볼 때, 기초 VR content의 '부분'이 VR 디스플레이 장치에 의하여 렌더링될 수 있다. 상기 기초 VR 컨텐츠의 상기 부분을 뷰포트라 한다. 예컨대, 사용자의 머리의 움직임에 기초하여, 헤드 마운티드 디스플레이 장치(Head mounted device, HMD)가 뷰포트를 렌더링할 수 있다.
뷰포트는 다양한 의미로 사용될 수 있다. HMD의 디스플레이 부분을 지칭할 수 있고, 전체 VR 컨텐츠 중 렌더링할 부분을 지칭할 수 있으며, 상기 렌더링 할 부분을 선별하기 위한 정보를 뷰포트라 지칭할 수 있다.
전방향 영상(omnidirectional image)의 경우, 구형 좌표계(spherical coordinate) 또는 등장방형 투영(equiretangular projection)에서 전체 컨텐츠 중 사용자 보는 관점(perspective)에 해당하는 영상, 즉 '전체 영상의 부분'을 뷰포트라 지칭하는 것이 통상적이므로, 뷰포트에 관련된 정보는 뷰포인트(viewpoint)와 FoV(Field of view)를 포함한다. 뷰포인트는 구형 좌표계에서 사용자의 시점이 지향하는 지점(viewing orientation point)을 의미하고, FoV는 커버리지 영역과 관련된 것으로, HMD의 디스플레이에 출력될 시야의 범위를 나타낸다. viewpoint는 구형 좌표계에서의 요우 각(yaw angle) 및 피치 각(pitch angle)으로 나타낼 수 있고, FoV는 요우 각의 너비 및 피치 각의 너비를 각도 단위로 나타낼 수 있다.
본 개시에 따른 전방향 비디오 영상은 4k 등장방형 투영(ERP, Equiretangular projection) 영상일 수 있다. 4k ERP 영상의 해상도는 4096 x 2048일 수 있다. 4k는 가로축 해상도인 4096을 의미할 수 있다. 본 개시에 따른 뷰포트 영상의 해상도는 640 x 720 일 수 있다. 이는 헤드 마운티드 디스플레이 장치의 양안에 대응되는 왼쪽 이미지와 오른쪽 이미지 각각이 640 x 720 일 수 있다.
구체적인 수치는 예시적인 것이며, 본 개시의 기술적 범위를 제한하는 것은 아니다. 예컨대, 4k ERO 영상의 해상도는 3840 x 2160 또는 3840 x 1920 일 수 있고, 뷰포트 영상의 해상도는 630 x 700일 수 있다.
도 3A, 3B 및 3C는 본 개시에 따른 뷰포트(viewport) 영상의 예시도들을 나타낸다.
도 3A, 3B 및 3C에 개시된 는 뷰포인트의 중심 요 각(center yaw angle)을 의미하고, 는 중심 피치 각(center pitch angle)을 의미한다.
뷰포인트는 중심 요 각 및 중심 피치 각에 의하여 정하여질 수 있다. 예컨대, 뷰포인트를 viewpoint = (center_yaw, center_pitch)와 같이 나타낼 수 있다.
예컨대, 도 3A는 뷰포인트가 (0˚, 0˚)인 경우, 도 3B는 뷰포인트가 (0˚, 45˚)인 경우, 도 3A는 뷰포인트가 (0˚, 90˚)인 경우에 대한 헤드 마운티드 디스플레이의 양안의 디스플레이 화면을 나타낸다.
뷰포인트를 나타내는 center_yaw 및 center_pitch는 각도로 환산될 수 있는 것이라면, 다양한 실시예를 가질 수 있다. center_yaw 및 center_pitch는 부동소수점 방식 또는 고정소수점 방식으로 나타낼 수 있다. 또는, 기본 단위(base unit)에 기반하여, 정수로 나타낼 수 있다. 예컨대, 기본 단위를 (2-16˚)로 하고, center_yaw = 100 x 216 라 하면, center_yaw는 100˚를 의미하게 된다.
도 4는 뷰포트 영상과 ERP 영상을 매핑하여, 뷰포트를 렌더링하는 방법을 설명하기 위한 예시도이다.
먼저, 퍼스펙티브(perspective), 아지무달(azimuthal) 등의 투영 방법(projection method)을 사용하여, 뷰포트(viewport)의 좌표 (x, y)를 구형 좌표계의 좌표 (θ, φ )로 변환한다. 이때, θ는 요우 각을 의미하고, φ는 피치 각을 의미한다. 변환된 구형 좌표계의 좌표 (θ, φ )를 ERP 영상의 서브 픽셀 (u, v)로 변환한다. 도 4의 ERP 영상은 전방향 비디오 영상(omnidirectional video coordinate)이다. 즉, u의 범위는 -180˚ < u < 180˚로 정하여지고, v의 범위는 -90˚ < u < 90˚로 정하여진다.
서브 픽셀 (u, v)를 포함하는 인접 픽셀들의 픽셀 값들을 획득하고, 상기 획득한 인접 픽셀들의 픽셀 값들에 기반하여, 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출할 수 있다. 또한, 상기 획득한 인접 픽셀들의 픽셀 값들에 가중치를 적용하여 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출할 수 있다.
또한, 본 개시에 따른 가상 현실 영상을 처리하는 방법은 뷰포트의 좌표 (x, y)로부터 ERP 영상의 서브 픽셀 (u, v)를 즉시 획득할 수 있다. 이때, 뷰포트의 좌표 (x, y)와 ERP 영상의 서브 픽셀 (u, v)의 대응 관계를 나타내는 대응 표를 실험적으로 미리 획득하고, 상기 대응표를 이용하여 뷰포트의 좌표 (x, y)에 대응하는 ERP 영상의 서브 픽셀 (u, v)를 즉시 획득할 수 있다.
다음 수식에 따라 서브 픽셀 (u, v)를 포함하는 인접 픽셀들의 픽셀 값들로부터, 뷰포트의 좌표 (x, y)의 픽셀 값을 산출할 수 있다.
도 5는 뷰포트 영상과 ERP 영상을 매핑하여, 뷰포트를 렌더링하는 방법을 설명하기 위한 예시도이다.
도 5의 왼쪽 그림은 요우 각이 0˚이고, 피치 각이 45˚인 뷰포트이고, 도 5의 오른쪽 그림은 4k ERP 영상을 의미한다. 도 5는 뷰포트와 4k ERP 영상 사이의 매핑 관계를 나타낸다. 통상 뷰포트의 하단 라인과 매핑되는 ERP 영상의 하단 곡선의 곡률(curvature)보다 뷰포트의 상단 라인과 매핑되는 ERP 영상의 상단 곡선의 곡률이 더 크다. 뷰포트의 하단 라인 및 상단 라인에 대응되는 ERP 영상의 하단 곡선 및 상단 곡선은 실험적으로 획득할 수 있다.
뷰포트의 각 행(row) 별로 샘플링 비율(sampling rate)이 다르므로, 뷰포트의 좌표의 픽셀 값을 구하기 위하여 ERP 영상에 4x4 또는 2x2 등의 일정한 보간 마스크(interpolation mask)를 사용하여 뷰포트의 좌표에 대응하는 픽셀 값을 산출하는 것은 큰 오차가 발생하는 문제를 내포하고 있다. 뷰포트의 각 행 별로, 다른 샘플링 비율을 적용할 수 있는 방법이 필요하다.
본 개시에 따른 뷰포트의 렌더링 방법은 뷰포트의 수평 라인 별로 렌더링 할 수 있다. 각 수평 라인에 대하여, 4k ERP 영상에 대응되는 각 곡선을 미리 획득하고, 뷰포트의 각 수평 라인에 대응하는 각 곡선을 따라서, 보간법(interpolation method)에 따라 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출할 수 있다.
도 6A, 6B 및 6C는 생성한 뷰포트 영상에 나타나는 재깅(zagging), 흐릿함(blur), 우둘투둘함(aliasing)을 설명하기 위한 예시도이다.
도 6A는 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출하기 위하여, 최근방법(nearest neighborhood method)을 사용한 결과를 나타낸다. 최근방법은 상기 ERP 영상의 서브 픽셀 (u, v)에 가장 가까운 픽셀 값을 이용하여 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출하는 방법이다. 가장 가까운 픽셀 값을 이용하기 때문에, 축소 변환의 경우, 유실되는 픽셀이 존재하게 되므로, zagging 현상(지그재그 모양의 무늬가 생김)이 나타날 수 있다.
도 6B는 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출하기 위하여, Bi-linear 보간법을 사용한 결과를 나타낸다. Bi-linear 보간법은 통상 linear 보간법을 수평 방향 또는 수직 방향으로 연속적으로 2회 보간하는 방법이다. bi-linear 보간법는 수평 방향 또는 수직 방향으로 보간하므로, 빠르게 처리할 수 있으나, 라인 별로 보간법을 적용하므로, 라인 내의 이미지는 부드럽게 처리되는 반면, 라인 간의 이미지는 편차가 발생하여 blur 현상(영상이 흐릿해짐)이 나타날 수 있다.
도 6C는 뷰포트의 좌표 (x, y)에 대응하는 픽셀 값을 산출하기 위하여, Bi-cubic 보간법을 사용한 결과를 나타낸다. bi-cubic 보간법을 큐빅 보간법을 연속적으로 2회 보간하는 방법이다. ERP의 서브픽셀의 상하좌우에 위치하는 픽셀값을 이용하여, 가중 평균값을 뷰포트의 픽셀 값으로 사용하므로, 알리아싱(aliasing) 현상(우툴두툴한 질감이 생김)이 발생할 수 있다.
도 7 및 8은 본 개시에 따른 뷰포트 영상과 ERP 영상을 매핑하는 방법을 설명하기 위한 예시도이다.
도 7은 뷰포트의 한 픽셀에 대하여, ERP 영상에서의 복수의 인접 픽셀들을 결정하는 방법을 설명하기 위한 예시도 이다. 뷰포트의 한 픽셀의 중심점과 4개의 꼭지점을 산출하고, 산출된 중심점과 4개의 꼭지점의 좌표에 해당하는 뷰포트의 서브 픽셀들을 산출한다. 상기 뷰포트의 서브 픽셀들에 대응되는 ERP 영상의 서브 픽셀들을 산출하고, ERP 영상의 서브 픽셀들을 각각의 인접 픽셀들을 결정한다.
도 8은 상기 결정된 인접 픽셀들의 픽셀 값들을 가중 평균하여, 상기 중심점 및 상기 4개의 꼭지점의 픽셀 값들을 산출한다. 각 점에 대한 픽셀 값 산출 방법은 도 4에서 설명한 방법과 유사하다.
먼저 뷰포트의 한 픽셀의 중심점을 (x0, y0) 이라 하고, 상기 픽셀의 꼭지점들을 각각 (x1, y1), (x2, y2), (x3, y3), (x4 y4)이라 할 때, 상기 중심점 및 상기 꼭지점들은 각각 뷰포트의 서브 픽셀을 나타내는 것이다. 뷰포트의 서브 픽셀은 (xj, yj)로 표시할 수 있고, 하기 수식에 따라 계산할 수 있다.
상기 수식의 결과를 이용하여 뷰포트의 픽셀 (x, y)의 픽셀 값은 하기 수식에 따라 계산할 수 있다.
도 9(a)는 뷰포트 영상을 나타내는 도면이고, 도 9(b)는 구형 좌표계에서 요우 각와 피치 각을 나타내는 도면이다.
뷰포트는 2가지 방식으로 나타낼 수 있다. 1)뷰포트가 뷰포인트(viewpoint)와 FOV(field of view)를 포함하는 방식과, 2) 뷰포트 자체를 표현하는 방식이다.
뷰포인트와 FoV는 하기 수식과 같이 표현할 수 있다.
또한, 뷰포트는 뷰포인트 및 FoV를 사용하는 대신, 하기 수식과 같이 표현할 수 있다.
[수학식 4]와 [수학식 5] 사이에는 다음과 같은 관계식을 갖는다.
예컨대, viewpoint = (90°, 0°), 및 FOV = (120°, 100°) 일 때, viewport = (150°, 30°; 50°, -50°)일 수 있다.
아키텍처 A(Architecture A): Track covering entire content geometry
도 10은 구형 좌표계의 좌표를 ERP 영상의 좌표에 매핑하는 방법을 설명하기 위한 예시도이다.
구형 좌표계(spherical coordinate의 좌표 (r, θ, φ)는 ERP 상의 좌표 (x, y)로 변환된다. 이때, x는 요우 각(θ)에 대응되고, y는 피치 각(φ)에 대응될 수 있다.
본 개시에 따른 일 실시예는 트랙이 전체 컨텐츠의 기하학적 구조(geometry, 지오메트리)를 포함하도록 설계할 수 있다.
아키텍처 A의 특징은 다음과 같다. 비디오 스트림 또는 비디오 트랙의 샘플들은 전체 컨텐츠의 기하학적 구조(geometry)를 포함할 수 있다. 예컨대, 도 10의 ERP 투영의 요우 각(θ)의 범위가 -180°< θ < 180°이고, 피치 각(φ)의 범위가 -90°< φ < 90° 일 경우, ERP 투영 영상(ERP projection image)은 전방향 영상(omnidirectional image)가 된다. 이를 360°영상, 전체 컨텐츠(entire content)라 할 수 있고, 더 간단히 360 영상, 360 비디오라 칭할 수 있다. 전형적으로, 구형 360 비디오를 캡처하고, 캡처한 360 비디오를 2차원 평면에 매핑함으로써, 아키텍처 A가 수행될 수 있다. 재생기(예컨대, HMD)는 뷰포트를 선택하고, 360도 비디오로부터 추출하여, 선택된 뷰포트를 렌더링 할 수 있다.
도 11은 본 개시에 따른 다른 실시예에 의하여, 360도 영상을 2차원 평면에 투영하는 방법을 설명하기 위한 예시도이다.
전방향 영상은 다른 투영 방법에 의하여 생성될 수도 있다. 예컨대, 정다면체를 이용하여, 360 영상을 생성하고, 생성된 360 영상들을 2차원 평면에 투영할 수 있다.
도 11(a)는 다면체에 따라, 3차원 모델과, 2차원 투영도, 다면체의 면의 개수를 나타낸다. 도 11(b)는 육면체의 2차원 투영도를 나타내고, 도 11(c)는 20면체의 2차원 투영도를 나타낸다.
도 11(a)는 구형 360도 영상을 2차원 평면으로 투영하는 다른 방법들을 개시하고 있다. 일반적으로 기본은 정다면체에 투영하는 것이다. 상기 정다면체는 복수의 2차원 평면으로 둘러쌀 수 있으므로, ERP와 유사하게 2차원 평면으로 나타낼 수 있다. ERP 영상은 구면에 투명되는 영상을 직사각형에 투영하여 직사각형 형태로 작성되나, 정다면체를 이용한 투영 방법은, 도 11(b) 및 도 11(c)의 경우와 같이, 검은색 영역과 같은 패딩 영역이 필요할 수 있다.
사용할 수 있는 다면체가 다양할 수 있으므로, HMD와 같은 클라이언트가 360 영상으로부터 뷰포트를 정확히 렌더링할 수 있도록, 파일 포맷(예컨대, ISOBMFF, international organization for standardization base media file format)에 기본 투영 방법에 관한 정보를 나타내는 것이 중요하다. 즉, 상기 ISOBMFF 형식으로 구성된 데이터는 메타데이터를 포함할 수 있고, 상기 메타데이터는 상기 기본 투영 방법에 관한 정보를 포함할 수 있다.
아키텍처 B(Architecture B): 뷰포트 기반 아키텍처
아키텍처 B는 뷰포트에 기반하여 설계된 것이다. 트랙은 스티칭되었을 수도 있고, 스티칭되지 아니할 수도 있다. 이를 뷰포트-기반 설계(viewport-based architecture)라 한다.
아키텍처 B에 따르면, 비디오 컨텐츠는 다수개로 분리될 수 있다. 각각은 구형 360 영상의 다른 부분을 커버한다. 분리된 각각을 트랙 뷰포트(track viewport)라고 할 수 있다. 상기 트랙 뷰포트들 사이에 중첩된 부분이 존재할 수 있고, 존재하지 아니할 수 있다. 통상 컨텐츠 서버 또는 카메라를 장착한 영상 처리 장치가 상기 트랙 뷰포트들을 생성한다.
클라이언트(예컨대, HMD)는 렌더링할 뷰포트를 선택한다. 선택된 뷰포트에 대응하는 적어도 하나의 트랙 뷰포트를 상기 컨텐츠 서버 또는 상기 영상 처리 장치에게 요청하고 수신한다. 그러나, HMD는 카메라 장치를 포함할 수 있고, 스스로 캡처한 영상으로부터 트랙 뷰포트를 획득하는 것을 본 개시의 범위에서 배제하는 것은 아니다.
선택된 뷰포트를 렌더링하기 위하여, 복수의 트랙 뷰포트들이 필요할 수 있다. 상기 복수의 트랙 뷰포트들 사이에는 의존성(dependency)이 있을 수 있다. 즉, 어떤 트랙 뷰포트는 단지 비디오 부분의 작은 부분을 나타나기 때문에, 단독으로 재생할 수 없을 수 있다. 즉, 의존적인 트랙은 다른 트랙들 없이 단독으로 프리젠테이션되지 아니할 수 있다.
상기 복수의 트랙 뷰포트들 사이에 의존성이 있는 경우, 클라이언트는 선택된 뷰포트와 중첩되는 트랙뷰포트와 관련된 뷰포트를 요청하고, 상기 선택된 뷰포트를 렌더링할 수 있다.
상기 트랙들은, 각각의 트랙이 분리된 파일로서, 개별적으로 저장될 수 있고, 하나의 파일에 복수의 트랙이 저장될 수 있고, 하나의 트랙이 복수의 파일들에 나뉘어 저장될 수 있다.
트랙들 사이에 의존성이 있는 경우, 선택된 뷰포트와 중첩되는 트랙 뷰포트와 관련되는 참조 트랙들을 특정하기 위하여 "Track Reference Box"를 사용할 수 있다.
실시예 B.1: 스티칭(stitching), 투영(projection), 파티셔닝(partitioning)
본 개시에 따라서, 360 영상을 캡처하는 카메라 장치에 의하여, 360 구형 컨텐츠가 생성되고, 2차원 평면에 투영된다. 그러면, 투영된 평면은 영역들로 분리되고, 분리된 영역들 각각은 트랙으로 캡슐화된다.
도 12는 본 개시의 일면에 따른 ERP 영상에서 "렌더링할 뷰포트"과 관련하여 요구되는 "트랙 뷰포트"을 설명하기 위한 도면이다.
도 12를 참고하면, VR 컨텐츠는 ERP를 사용하여 투영되고, 각 트랙이 360 구형 영상의 부분 (트랙 뷰포트)을 차지하도록 분할된다. 1, 2, 3, ... , 16으로 번호 붙여진 영역들이 각각 트랙 뷰포트이다. 이를 번호에 따라, 1번 트랙 뷰포트, 2번 트랙 뷰포트, ..., 16번 트랙 뷰포트라 할 수 있다. HMD와 같은 클라이언트가 "렌더링할 뷰포트"를 선택할 때, 하나 또는 복수의 파일들에 관련된 트랙들이 "트랙 뷰포트"에 기초하여 요구될 수 있다.
예컨대, 도 12(a)의 중앙의 검은색 부분이 "렌더링할 뷰포트"라면, 요청되는 "트랙 뷰포트"들은, 6번 트랙 뷰포트, 7번 트랙 뷰포트, 10번 트랙 뷰포트, 11번 트랙 뷰포트가 된다. 도 12(b)의 검은색 부분이 "렌더링할 뷰포트"라면, 요청되는 "트랙 뷰포트"들은 3번 트랙 뷰포트와 7번 트랙 뷰포트가 된다.
도 13는 본 개시의 다른 실시예에 따라서, 육면체 투영(cubical projection)을 사용하여, "렌더링할 뷰포트"과 관련하여 요구되는 "트랙 뷰포트"을 설명하기 위한 도면이다.
VR 컨텐츠가 생성되고, 육면체 투영을 이용하여, 2차원 평면에 투영된다. 투영된 평면은 육면체의 각 면에 정확히 대응되는 영역들로 분할되고, 영역들 각각은 트랙으로 캡슐화된다.
도 13(a) 및 도 13(b)는 육면체의 각 면을 1F, 2R, 3b, 4L, 5T, 6m으로 표시하고 있다. 도 17(b)와 유사하다. 다만, 2R 대신 2l, 4L대신 4r인 점에서 도 13과 도 17(b)는 서로 다르다. 각 투영면에 대한 명칭은 실시예에 따라 다양하게 적용할 수 있다.
도 13(a)에서 표시된 검은 색 부분이 "렌더링할 뷰포트"라면, 요청되는 "트랙 뷰포트"들은, 1F와 2R가 된다. 도 13(b)에서 표시된 검은 색 부분이 "렌더링할 뷰포트"라면, 요청되는 "트랙 뷰포트"들은, 2R과 5T가 된다.
요청되는 트랙들이 다른 트랙들과 의존성을 갖는다면, "트랙 참조 박스(track reference box)"에 의하여 암시되어, 상기 참조된 트랙(들)도 요청될 수 있다.
실시예 B.2: No stitching (개별 카메라의 아웃풋, 임의 배치)
본 실시예에 따르면, 캡처링 장치(컨텐츠 생성 장치)에서, 각 카메라의 캡처된 프레임은 스티치되지 아니한다. 이미지 스티칭이란 조각난 파노라마 또는 고 해상도 영상을 제작하기 위하여, FOV(Field of View)를 중첩시켜서, 다수의 사진 영상을 결합하는 과정을 의미한다.
각 카메라로부터의 개별 비디오 시퀀스는 트랙으로써 캡슐화된다. 달리 말하면, "트랙 뷰포트"는 각 카메라의 뷰포트와 동일하다. 일반적으로 카메라의 뷰포트는 중첩된다. 즉, 카메라로부터의 개별 비디오 시퀀스를 스티칭하지 아니하고, 개별적으로 수신할 수 있다.
도 14는 360 영상을 캡처하기 위한 카메라 장치들을 나타낸다.
선택된 "렌더링 뷰포트"를 생성하기 위하여, 다른 카메라들로부터의 프레임들의 스티칭 및 투영이 클라이언트 측에서 수행된다. 각 카메라의 피치와 요 경계를 특정하거나, 카메라의 지향점과 FOV를 특정함으로써, 파일 형식(예: ISOBMFF)은 카메라 뷰포트의 임의 배치를 나타내는 구문을 이용할 수 있게 한다. 즉, 상기 ISOBMFF 형식으로 구성된 데이터는 메타데이터를 포함할 수 있고, 상기 메타데이터는 상기 카메라 뷰포트의 임의 배치에 관한 정보를 포함할 수 있다.
실시예 B.3: No stitching (개별 카메라의 아웃풋, 정형 배치)
본 실시예에 따르면, 캡처링 장치(컨텐츠 생성 장치)에서, 각 카메라의 캡처된 프레임은 스티치되지 아니한다. 각 카메라로부터의 개별 비디오 시퀀스는 트랙으로써 캡슐화된다.
상기 실시예 B.2와 달리, 하나의 카메라가 정다면체의 하나의 면을 지향점으로 하는 정다면체의 표면의 투영들 중 하나와 같이 정형 배치에 부합되도록 실시예 B.3의 카메라 장치가 설정된다.
도 15는 360도 영상을 캡처하는 카메라 장치들의 형태에 따른 촬영범위를 설명하기 위한 예시도이다. 도 15(a)는 정사면체 형태의 카메라 장치 장치에 관한 예시도이고, 도 15(b)는 정육면체 형태의 카메라 장치 장치에 관한 예시도이고, 도 15(c)는 정십이면체 형태의 카메라 장치에 관한 예시도이다. 즉, 카메라 장치는 정사면체(4개의 카메라들), 정육면체(6개의 카메라들), 정십이면체(12개의 카메라들)의 투영에 대응되는 것을 묘사하고 있다.
파일 포맷(예: ISOBMFF)에서 카메라 장치를 위하여 사용되는 정다면체를 특정함으로써 클라이언트는 정확한 카메라 배치를 알 수 있다. 즉, 카메라의 지향점들과 VR 컨텐츠를 생산하는 스티칭 방법들을 알 수 있다. 상기 ISOBMFF 형식으로 구성된 데이터는 메타데이터를 포함할 수 있고, 상기 메타데이터는 상기 카메라 배치, 카메라의 지향점들 및 VR 컨텐츠를 생산하는 스티칭 방법에 관한 정보를 포함할 수 있다.
또한 렌더링을 위하여 클라이언트에 의해 사용되는 파일 포맷에 의하여 카메라들의 FOV가 특정될 필요가 있다.
아키텍처 B의 이러한 속성을 이용하면, 클라이언트(예: HMD)가 관련된 트랙들/파일들을 정확하게 요청하도록, 파일 포맷이 기본 투영 방법과 "트랙 뷰포트"를 지시하는 것이 중요하다.
일반적으로 아키텍처 B에서 각 트랙의 종횡비 및 해상도는 동일할 필요는 없다. 예컨대, 서로 다른 트랙 뷰포트로 파티셔닝하기 전에 2차원 투영을 위한 ERP라면, 상부 및 하부는 중앙 영역보다 더 넓은 직사각형으로 분할될 수 있다. 또는 상부 및 하부는 중앙 영역보다 낮은 해상도로 분할될 수 있다.
이하에서 상술한 모든 실시예에 적용할 수 있는 구문 구조를 제시하고자 한다.
트랙-기반 구문은 컨테이닝 트랙의 VR 속성을 특정하기 위한 것이다.
부호화된 프레임들(decoded frames)은 VR 컨텐츠일 수 있다. 상기 부호화된 프레임들은 전체 VR 장면(예: 구형 360 영상, 투영들 등)을 포함할 수 있다. 또는, 상기 부호화된 프레임들은 상기 전체 VR 장면의 부분만을 포함할 수 있다.
스키마 타입(SchemeType) 'vrvi' (VR video box)가 사용될 수 있다. 또는 다른 고유한 이름이 사용될 수 있다.
하기 표는 'vrvi'의 정의를 나타낸다.
VR 비디오 박스는 부호화된 프레임이 전체 360 영상 장면을 포함하거나, 구형 장면의 부분만을 포함하는 것을 지시하는데 사용될 수 있다. 스키마 타입태(SchemeType)가 'vrvi'일 때, 상기 VR 비디오 박스는 존재할 것이다.
하기 표는 'vrvi'의 구문을 나타낸다.
본 개시에 따른 다른 방법에서, FOV는 카메라 파라미터들에 의하여 도출될 수 있다. 예컨대, 센서 디멘전과 초점 거리를 이용하여 일반 광학 장치들을 통하여, FOV가 산출될 수 있다.
상술한 바와 같이 뷰포트를 특정하는 다른 방법은 뷰포인트(viewpoint, 또는 지향점, orientation)와 FOV를 이용하는 것이다. 카메라의 지향점 (center_yaw, center_pitch)은 특정되고, FOV는 상기 구문의 fov_yaw와 fov_pitch에 의하여 시그널링될 수 있거나, 카메라 파라미터(예: 센서 디멘션과 초점 거리)에 의하여 도출될 수 있다.
pre_stitched는 정수이다. pre_stitched가 1이면, 파일 포맷에 의하여, 하나 또는 복수의 트랙에 캡슐화되기 전에 컨텐츠는 먼저 스티칭(pre-stitched)되고, 2차원 평면에 투영된다.
pre_stitched가 0이면, 컨텐츠는 스티치되지 아니하고, 각 카메라로부터의 비디오 시퀀스는 개별적으로 캡슐화된다.
entire_active_range는 모든 관련된 트랙에 의하여 전달되는 비디오와 함께 렌더링될 컨텐츠의 전체 커버리지 범위(기하학적 표면)를 지시한다. entire_active_range의 값에 따른 정의는 하기 표를 참고한다.
hor_active_range는 컨텐츠의 제한된 보기(즉, degree_range = 3)가 있는 경우, 컨텐츠의 수평도 범위(도)를 나타낸다.
vert_active_range는 컨텐츠의 제한된 보기(즉, degree_range = 3)가 있는 경우, 컨텐츠의 수직 각도 범위 (도)를 나타낸다.
geometry_type은 전방향 미디어(omnidirectional media)를 렌더링 하기 위하여 특정되는 기하학적 형태를 나타낸다.
platonic_projection_type은 전방향 미디어의 렌더링을 위한 정다면체의 형태를 나타낸다.
scene_fraction은 정수이다. scene_fraction이 0이면, 컨텐츠가 VR의 전체 장면을 포함한다는 것을 나타낸다. 즉, 각 프레임이 전체 장면을 포함한다. 프레임의 장면 범위는 즉, 각 프레임이 전체 장면을 포함한다. 프레임의 장면 범위는 (yaw_left, yaw_right) = (0,360) 및 (pitch_top, pitch_bot) = (-90,90) 이도록 유도된다. scene_fraction이 1이면 프레임이 장면의 일부를 담당한다. 커버리지는 다음 구문으로 표시된다.
platonic_arranged 컨텐츠가 스티칭되지 않은 경우 (pre_stitched = 0),이 구문은 카메라 리그가 특별히 배열되었는지 여부를 나타낸다. 값이 1일 때, 정다면체의 주어진 면을 향하는 각 지점으로 카메라가 향하는 것을 나타낸다.
num_faces는 다음과 같은 두 가지 상황에서 신호됩니다.
A. vr_projection_type이 투영이 정다면체 위에 있음을 나타낸다. 이는 상기 투영 방법을 나타내기 위하여, 4, 8, 12, 20의 값이 될 수 있습니다. (6은 정육면체 투영를 위한 것이다.).
B. platonic_arranged는 정다면체에 따라 배치된 카메라로 스티치되지 않은 카메라 컨텐츠를 획득하였음을 나타낸다.
face_id는 다음과 같은 두 가지 상황에서 시그널된다.
A. vr_scene_fraction = 1 이고, vr_projection_type은 투영이 정다면체 위에 있음을 나타낼 때, 그것은 정다면체의 미리 정하여진 인덱싱에 따라서, 포함된 트랙으로부터의 면을 나타낸다.
B. platonic_arranged는 정다면체에 따라 배치된 카메라로 스티치되지 않은 카메라 컨텐츠를 획득하였음을 나타낸다. 이 값은 카메라의 방향이 정다면체의 미리 정하여진 인덱싱에 대응됨을 나타낸다.
yaw_left, yaw_right, pitch_top, pitch_bot는 포함된 트랙의 뷰포트를 나타낸다.
fov_yaw, fov_pitch는 수평 및 수직 방향으로 카메라의 FOV를 나타낸다. 카메라가 정다면체의 면과 정렬되도록 배치된 경우, 지향(orientation)이 결정되고, 카메라의 뷰포트를 결정하기 위하여, FOV를 위한 두개의 파라미터들만 필요하다.
실시예 1
ERP에서, 하나의 트랙으로 전체 장면을 커버하는 실시예의 구문은 다음과 같다.
실시예 2
도 16은 구면 영상으로부터 투명하는 방법을 설명하기 위한 예시도이다.
도 16은 ERP에서, 4개의 트랙들, 각각 장면의 일부를 커버하는 실시예를 설명하기 위한 것이다.
도 16의 영역 1 부분의 구문은 다음과 같다.
실시예 3
큐빅 투영(Cubic projection)에 있어서, 하나의 트랙을 전체 화면을 커버하는 실시예를 위한 구문은 다음과 같다.
실시예 4
도 17은 정육면체 투영 방법을 설명하기 위한 예시도이다.
큐빅 투영 방법에 있어서, 6개의 트랙 중 "전면(front face)"(즉, 1f)을 커버하는 실시예를 위한 구문은 다음과 같다.
실시예 5
하기 표는 정팔면체에 있어서, 하나의 트랙이 전체 장면을 커버하기 위한 실시예를 위한 구문이다.
실시예 6
도 18은 정팔면체 투영 방법을 설명하기 위한 예시도 이다.
하기 표는 도 18의 정팔면체 중 3번 면의 장면을 커버하기 위한 실시예를 위한 구문이다.
실시예 7
하기 표는 도 14에서 제시된 카메라 장치들과 같이 카메라가 임의 배치된 경우의 하나의 카메라에 대응되는 면을 커버하는 실시예를 위한 구문이다.
실시예 8
하기 표는 어안(fish-eye) 카메라의 전면을 커버하는 실시예를 위한 구문이다.
실시예 9
하기 표는 도 15(b)의 정육면체 투영에 있어서, 전면을 커버하는 실시예를 위한 구문이다.
*
실시예 10
하기 표는 도 15(a)의 정사면체 투영에 있어서, 특정 면을 커버하는 실시예를 위한 구문이다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니 되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.
Claims (12)
- 전방향(omnidirectional) 콘텐트와 관련된 전방향 이미지에 대한 정보를 전송하기 위한 방법에 있어서,
뷰포트와 관련된 정보를 수신하는 단계; 및
상기 수신된 뷰포트와 관련된 정보에 기초하여 선택된 상기 전방향 콘텐트의 적어도 하나의 트랙과 관련된 미디어 데이터, 및 상기 전방향 콘텐트와 관련된 메타데이터를 전송하는 단계를 포함하고,
상기 적어도 하나의 트랙은 등장방형 투영(ERP, equiretangular projection) 방식에 의해 생성되고,
상기 메타데이터는:
상기 전방향 이미지 상의 영역의 중심을 나타내는 정보,
상기 전방향 이미지 상의 상기 영역의 요우 각(yaw angle)의 폭(width) 및 피치 각(pitch angle)의 폭을 나타내는 정보, 및
상기 적어도 하나의 트랙 각각의 상기 전방향 이미지 상의 커버리지를 나타내는 정보를 포함하는 방법. - 제1항에 있어서,
상기 선택된 뷰포트와 관련된 정보는 뷰포인트 정보를 포함하고,
상기 뷰포인트 정보는 구면 좌표와 관련된 중심 요우 각 및 중심 피치 각을 포함하고,
상기 중심 요우 각은 -180도 이상 180도 이하이고,
상기 중심 피치 각은 -90도 이상 90도 이하이고,
상기 요우 각의 폭은 0도 이상 360도 이하이고,
상기 피치 각의 폭은 0도 이상 180도 이하인 방법. - 제1항에 있어서,
상기 메타데이터는,
상기 적어도 하나의 트랙이 스티칭 되는지 여부,
상기 적어도 하나의 트랙이 상기 전방향 이미지의 전체인지 아니면 부분인지 여부,
상기 적어도 하나의 트랙의 수평 활성 범위,
상기 적어도 하나의 트랙의 수직 활성 범위,
상기 적어도 하나의 트랙이 정다면체 투영법에 의한 것인지 여부,
상기 정다면체의 종류, 및
상기 적어도 하나의 트랙의 뷰포트(Field of View, FoV) 정보, 중 적어도 하나를 나타내는 정보를 포함하는 방법. - 제1항에 있어서,
상기 적어도 하나의 트랙은 상기 전방향 콘텐트의 전체 지오메트리(geometry)를 포함하고,
상기 적어도 하나의 트랙은, 캡쳐된 상기 전방향 이미지를 스티칭하고, 상기 스티칭된 전방향 이미지를 2차원 평면에 투영하고, 상기 투영된 이미지를 분할하여 생성되는 방법. - 제1항에 있어서,
상기 메타데이터는 상기 뷰포트와 중첩되는 상기 적어도 하나의 트랙과 하나 이상의 트랙들 사이의 의존성에 대한 정보를 더 포함하는 방법. - 제1항에 있어서,
상기 적어도 하나의 트랙의 개수는 2 이상이고, 상기 적어도 하나의 트랙은 서로 중첩되지 아니하고, 상기 적어도 하나의 트랙은 서로 의존성을 갖는 방법 - 전방향(omnidirectional) 콘텐트와 관련된 전방향 이미지를 처리하는 장치로서,
송수신기; 및
상기 송수신기와 연결된 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는:
뷰포트와 관련된 정보를 수신하고; 그리고
상기 수신된 뷰포트와 관련된 정보에 기초하여 선택된 상기 전방향 콘텐트의 적어도 하나의 트랙과 관련된 미디어 데이터, 및 상기 전방향 콘텐트와 관련된 메타데이터를 전송하도록 구성되고,
상기 적어도 하나의 트랙은 등장방형 투영(ERP, equiretangular projection) 방식에 의해 생성되고,
상기 메타데이터는:
상기 전방향 이미지 상의 영역의 중심을 나타내는 정보,
상기 전방향 이미지 상의 상기 영역의 요우 각(yaw angle)의 폭(width) 및 피치 각(pitch angle)의 폭을 나타내는 정보, 및
상기 적어도 하나의 트랙 각각의 상기 전방향 이미지 상의 커버리지를 나타내는 정보를 포함하는,
장치. - 제7항에 있어서,
상기 선택된 뷰포트와 관련된 정보는 뷰포인트 정보를 포함하고,
상기 뷰포인트 정보는 구면 좌표와 관련된 중심 요우 각 및 중심 피치 각을 포함하고,
상기 중심 요우 각은 -180도 이상 180도 이하이고,
상기 중심 피치 각은 -90도 이상 90도 이하이고,
상기 요우 각의 폭은 0도 이상 360도 이하이고,
상기 피치 각의 폭은 0도 이상 180도 이하인 장치. - 제7항에 있어서,
상기 메타데이터는,
상기 적어도 하나의 트랙이 스티칭 되는지 여부,
상기 적어도 하나의 트랙이 상기 전방향 이미지의 전체인지 아니면 부분인지 여부,
상기 적어도 하나의 트랙의 수평 활성 범위,
상기 적어도 하나의 트랙의 수직 활성 범위,
상기 적어도 하나의 트랙이 정다면체 투영법에 의한 것인지 여부,
상기 정다면체의 종류, 및
상기 적어도 하나의 트랙의 뷰포트(Field of View, FoV) 정보, 중 적어도 하나를 나타내는 정보를 포함하는 장치. - 제7항에 있어서,
상기 적어도 하나의 트랙은 상기 전방향 콘텐트의 전체 지오메트리(geometry)를 포함하고,
상기 적어도 하나의 트랙은, 캡쳐된 상기 전방향 이미지를 스티칭하고, 상기 스티칭된 전방향 이미지를 2차원 평면에 투영하고, 상기 투영된 이미지를 분할하여 생성되는 장치. - 제7항에 있어서,
상기 메타데이터는 상기 뷰포트와 중첩되는 상기 적어도 하나의 트랙과 하나 이상의 트랙들 사이의 의존성에 대한 정보를 더 포함하는 장치. - 제7항에 있어서,
상기 적어도 하나의 트랙의 개수는 2 이상이고, 상기 적어도 하나의 트랙은 서로 중첩되지 아니하고, 상기 적어도 하나의 트랙은 서로 의존성을 갖는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662406997P | 2016-10-12 | 2016-10-12 | |
US62/406,997 | 2016-10-12 | ||
KR1020170132770A KR102527816B1 (ko) | 2016-10-12 | 2017-10-12 | 전방향 이미지를 처리하는 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170132770A Division KR102527816B1 (ko) | 2016-10-12 | 2017-10-12 | 전방향 이미지를 처리하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230060499A KR20230060499A (ko) | 2023-05-04 |
KR102642406B1 true KR102642406B1 (ko) | 2024-03-04 |
Family
ID=61906397
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170132770A KR102527816B1 (ko) | 2016-10-12 | 2017-10-12 | 전방향 이미지를 처리하는 방법 및 장치 |
KR1020230054657A KR102642406B1 (ko) | 2016-10-12 | 2023-04-26 | 가상 현실 영상을 처리하는 방법 및 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170132770A KR102527816B1 (ko) | 2016-10-12 | 2017-10-12 | 전방향 이미지를 처리하는 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210067758A1 (ko) |
EP (1) | EP3528212A4 (ko) |
KR (2) | KR102527816B1 (ko) |
CN (1) | CN109891465B (ko) |
WO (1) | WO2018070810A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190222823A1 (en) * | 2017-12-18 | 2019-07-18 | Immersive Tech, Inc. | Techniques for Capturing and Rendering Videos with Simulated Reality Systems and for Connecting Services with Service Providers |
US20190313074A1 (en) * | 2018-04-05 | 2019-10-10 | Lg Electronics Inc. | Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video |
WO2019203456A1 (ko) * | 2018-04-15 | 2019-10-24 | 엘지전자 주식회사 | 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치 |
US11140380B2 (en) * | 2018-06-06 | 2021-10-05 | Lg Electronics Inc. | Method and apparatus for processing overlay media in 360 degree video system |
WO2019245302A1 (en) * | 2018-06-22 | 2019-12-26 | Lg Electronics Inc. | Method for transmitting 360-degree video, method for providing a user interface for 360-degree video, apparatus for transmitting 360-degree video, and apparatus for providing a user interface for 360-degree video |
WO2020009341A1 (ko) * | 2018-07-06 | 2020-01-09 | 엘지전자 주식회사 | 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치 |
WO2020013513A1 (ko) * | 2018-07-09 | 2020-01-16 | 엘지전자 주식회사 | 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치 |
US10965928B2 (en) | 2018-07-31 | 2021-03-30 | Lg Electronics Inc. | Method for 360 video processing based on multiple viewpoints and apparatus therefor |
KR20200095408A (ko) | 2019-01-31 | 2020-08-10 | 한국전자통신연구원 | 이머시브 비디오 포맷팅 방법 및 장치 |
KR102261597B1 (ko) * | 2019-04-23 | 2021-06-07 | 주식회사 비포에이 | Vr 영상 콘텐츠의 자막 처리 기기 |
US11343567B1 (en) * | 2019-08-07 | 2022-05-24 | Meta Platforms, Inc. | Systems and methods for providing a quality metric for media content |
KR102281037B1 (ko) | 2019-10-17 | 2021-07-22 | 세종대학교산학협력단 | 뷰포트(Viewport) 추출 방법 및 장치 |
US11734789B2 (en) | 2020-06-02 | 2023-08-22 | Immersive Tech, Inc. | Systems and methods for image distortion correction |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299244C (zh) * | 2005-06-02 | 2007-02-07 | 中国科学院力学研究所 | 一种三维场景动态建模和实时仿真的系统及方法 |
US7990394B2 (en) * | 2007-05-25 | 2011-08-02 | Google Inc. | Viewing and navigating within panoramic images, and applications thereof |
KR101679844B1 (ko) * | 2010-06-14 | 2016-11-25 | 주식회사 비즈모델라인 | 이종 플랫폼 간 증강현실 제공 방법 |
WO2012083508A1 (zh) * | 2010-12-24 | 2012-06-28 | 中国科学院自动化研究所 | 互联网上复杂场景真实感快速绘制方法 |
KR101368177B1 (ko) * | 2012-08-08 | 2014-02-27 | 한국과학기술정보연구원 | 가상현실 멀티뷰 제공 방법 및 시스템 |
US20140320592A1 (en) * | 2013-04-30 | 2014-10-30 | Microsoft Corporation | Virtual Video Camera |
EP2824883A1 (en) * | 2013-07-12 | 2015-01-14 | Alcatel Lucent | A video client and video server for panoramic video consumption |
US10725297B2 (en) * | 2015-01-28 | 2020-07-28 | CCP hf. | Method and system for implementing a virtual representation of a physical environment using a virtual reality environment |
KR102157655B1 (ko) * | 2016-02-17 | 2020-09-18 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
CN105915885A (zh) * | 2016-03-02 | 2016-08-31 | 优势拓展(北京)科技有限公司 | 鱼眼图像的3d交互显示方法和系统 |
US20180048877A1 (en) * | 2016-08-10 | 2018-02-15 | Mediatek Inc. | File format for indication of video content |
WO2018043905A1 (ko) * | 2016-08-29 | 2018-03-08 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
WO2018068213A1 (zh) * | 2016-10-10 | 2018-04-19 | 华为技术有限公司 | 一种视频数据的处理方法及装置 |
-
2017
- 2017-10-12 EP EP17859745.6A patent/EP3528212A4/en active Pending
- 2017-10-12 KR KR1020170132770A patent/KR102527816B1/ko active IP Right Grant
- 2017-10-12 US US16/341,769 patent/US20210067758A1/en not_active Abandoned
- 2017-10-12 CN CN201780063380.5A patent/CN109891465B/zh active Active
- 2017-10-12 WO PCT/KR2017/011262 patent/WO2018070810A1/ko unknown
-
2023
- 2023-04-26 KR KR1020230054657A patent/KR102642406B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Feng Qian et al., "Optimizing 360 Video Delivery Over Cellular Networks", DOI:10.1145/2980055.2980056, AllThingsCellular’16, 2016.10.03.-07) |
YEONGDOO CHOI et al., "WD on ISO/IEC 23000-20 Omnidirectional Media Application Format", (2016-06-01) |
Also Published As
Publication number | Publication date |
---|---|
KR102527816B1 (ko) | 2023-05-03 |
CN109891465B (zh) | 2023-12-29 |
KR20180040507A (ko) | 2018-04-20 |
CN109891465A (zh) | 2019-06-14 |
WO2018070810A1 (ko) | 2018-04-19 |
EP3528212A1 (en) | 2019-08-21 |
KR20230060499A (ko) | 2023-05-04 |
EP3528212A4 (en) | 2019-09-18 |
US20210067758A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102642406B1 (ko) | 가상 현실 영상을 처리하는 방법 및 장치 | |
US10855968B2 (en) | Method and apparatus for transmitting stereoscopic video content | |
US11244584B2 (en) | Image processing method and device for projecting image of virtual reality content | |
KR102560029B1 (ko) | 가상 현실 콘텐트를 송수신하는 방법 및 장치 | |
KR102352933B1 (ko) | 3차원 이미지를 프로세싱하기 위한 방법 및 장치 | |
US10757423B2 (en) | Apparatus and methods for compressing video content using adaptive projection selection | |
US11792378B2 (en) | Suggested viewport indication for panoramic video | |
US11089280B2 (en) | Apparatus and method for capturing and displaying segmented content | |
US10909761B1 (en) | 2D video with option for projected viewing in modeled 3D space | |
EP3586315B1 (en) | Method and apparatus for displaying image based on user motion information | |
KR20170132669A (ko) | 몰입형 비디오 포맷을 위한 방법, 장치 및 스트림 | |
US20190251735A1 (en) | Method, apparatus and stream for immersive video format | |
EP3301933A1 (en) | Methods, devices and stream to provide indication of mapping of omnidirectional images | |
US11113870B2 (en) | Method and apparatus for accessing and transferring point cloud content in 360-degree video environment | |
da Silveira et al. | Omnidirectional visual computing: Foundations, challenges, and applications | |
US10891711B2 (en) | Image processing method and apparatus | |
KR20220054430A (ko) | 볼류메트릭 비디오 콘텐츠를 전달하기 위한 방법 및 장치들 | |
US10853910B2 (en) | Method and apparatus for processing omni-directional image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |