WO2018048223A1 - 3차원 이미지를 프로세싱하기 위한 방법 및 장치 - Google Patents

3차원 이미지를 프로세싱하기 위한 방법 및 장치 Download PDF

Info

Publication number
WO2018048223A1
WO2018048223A1 PCT/KR2017/009829 KR2017009829W WO2018048223A1 WO 2018048223 A1 WO2018048223 A1 WO 2018048223A1 KR 2017009829 W KR2017009829 W KR 2017009829W WO 2018048223 A1 WO2018048223 A1 WO 2018048223A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
regions
images
region
wus
Prior art date
Application number
PCT/KR2017/009829
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020170114060A external-priority patent/KR102352933B1/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP17849107.2A priority Critical patent/EP3489891B1/en
Priority to US16/331,355 priority patent/US20190199995A1/en
Priority to CN201780043925.6A priority patent/CN109478313B/zh
Priority to JP2019503545A priority patent/JP7069111B2/ja
Publication of WO2018048223A1 publication Critical patent/WO2018048223A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

3차원(3D) 이미지를 프로세싱하기 위한 방법이 개시된다. 상기 방법은, 3D 이미지를 2차원(2D) 이미지로 프로젝션하는 과정, 2D 이미지를 구성하는 복수의 영역들을 패킹하여 패킹된 2D 이미지를 생성하는 과정, 상기 패킹된 2D 이미지를 인코딩하는 것에 의하여 인코딩된 데이터를 생성하는 과정, 및 상기 인코딩된 데이터를 전송하는 과정을 포함한다.

Description

3차원 이미지를 프로세싱하기 위한 방법 및 장치
본 발명은 3차원 이미지를 프로세싱하기 위한 방법 및 장치에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 사물인터넷 (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(virtual reality) 등과 같은 VR 장치들에서 재생될 수 있는 가상 현실(VR) 콘텐트에 대한 연구가 진행 중이다. VR 시스템은 사용자를 모니터링하여, 사용자가 어떤 종류의 제어기를 사용하여 콘텐트 디스플레이 장치나 프로세싱 유닛으로 피드백 입력을 제공할 수 있게 하면 그 장치나 유닛이 해당 입력을 처리하여 콘텐트를 그에 맞춰 조정함으로써 인터랙션을 가능하게 하는 시스템이다.
VR 에코시스템 안의 기본 구성들은 예를 들어, HMD(head mounted display), 무선, 모바일 VR, TV들, CA VE(cave automatic virtual environment)들, 주변기기 및 햅틱스[VR에 입력을 제공하기 위한 다른 제어기들], 콘텐트 캡처[카메라, 비디오 스티칭], 콘텐트 스튜디오[게임, 라이브, 영화, 뉴스 및 다큐멘터리], 산업적 응용[교육, 건강관리, 부동산, 건설, 여행], 생산 도구 및 서비스[3D 엔진, 프로세싱 파워], 앱 스토어[VR 미디어 컨텐트용] 등을 포함하여 구성될 수 있다.
VR 디바이스에서 재생되는 3 차원(3 dimensional: 3D) 이미지는 구형 또는 원통형과 같은 입체적인 이미지일 수 있다. VR 디바이스는 사용자의 시선 방향 등을 고려하여 3D 이미지의 특정한 영역을 디스플레이할 수 있다.
VR을 위한 360도 이미지(또는 3D 이미지, 전방향(omnidirectional) 이미지)를 위한 저장, 압축 및 전송 시스템에서, 다수의 카메라로 촬영한 다수의 이미지들을 3D 모델(예를 들어, 구(sphere) 모델, 큐브(cube) 모델 및 실린더(cylinder) 모델 등)의 표면에 맵핑하여 HMD 디바이스에서 특정 뷰(view)에 대응하는 영역을 렌더링하여 디스플레이한다. 이러한 경우, 원격에 있는 사용자에게 3D 이미지를 제공하기 위해 기존의 2D 이미지를 압축/저장/전송하기 위한 시스템을 활용할 수 있다. 3D 이미지를 2D 이미지로 맵핑(또는 프로젝션(projection))하기 위해 예를 들어, 정방형 도법(ERP: equirectangular projection)이 사용될 수 있다. ERP를 이용하여 3D 이미지를 2D 이미지로 변환한 후, 기존의 2D 이미지에 대한 압축/저장/전송 시스템을 이용하여 원격의 사용자에게 전달할 수 있다. 원격의 사용자는 수신한 2D 이미지를 디코딩한 후 ERP의 역변환을 통해 다시 3D 이미지를 복원할 수 있다. 도 1은 예시적인 ERP 역변환을 나타낸다. 도 1을 참조하면, 직사각형 형태의 2D 이미지는 구 형상의 3D 이미지로 ERP 역변환을 통해 변환될 수 있다.
3D 이미지를 2D 이미지로 맵핑하기 위해, ERP 이외에도 실린더(cylinder) 프로젝션 또는 큐브(cube) 프로젝션이 사용될 수 있으며, 그 밖에도 다양한 맵핑 방식들이 사용될 수 있다. 실린더 프로젝션 또는 큐브 프로젝션을 이용하여 2D 이미지로 변환된 3D 이미지를 수신한 VR 디바이스는 실린더 프로젝션의 역변환 또는 큐브 프로젝션의 역변환을 통해 3D 이미지를 복원할 수 있다. 도 2는 예시적인 실린더 프로젝션의 역변환을 나타낸다. 도 2를 참고하면, 직사각형 형태의 2D 이미지는 원통(실린더) 형태의 3D 이미지로 실린더 프로젝션의 역변환을 통해 변환될 수 있다. 도 3은 예시적인 큐브 프로젝션을 나타낸다. 도 3을 참고하면, 큐브 프로젝션을 통해 생성된 2D 이미지는 6면체(큐브)의 면(face)들에 대응하는 6개의 직사각형(또는 정사각형) 형태의 서브-이미지들을 포함할 수 있다. 큐브 프로젝션의 역변환을 통해, 6개의 서브-이미지들 각각을 6면체의 면에 대응시켜 6면체 형태의 3D 이미지를 복원할 수 있다.
도 1 내지 도 3을 통해 설명드린 프로젝션 방법들 및 프로젝션의 역변환 방법들에 의하는 경우, 각 프로젝션 방법에 따라 특정 영역의 영상이 왜곡(distortion)되거나, 특정 영역에 대한 과도한 여분의(redundant) 데이터가 생성될 수 있다. 예를 들어, ERP 경우, 2D 이미지의 상측 및 하측 가장자리들에서 중앙보다 심한 왜곡이 발생할 수 있다. 따라서, HMD 디바이스를 통해 이미지의 상측 및 하측의 극점들(poles)을 보았을 때, 왜곡으로 인해 몰입감이 저하될 수 있다. 또한, 극점에서는 점에 해당하는 데이터가 직선으로 업샘플링(upsampling)되어 2D 이미지로 프로젝션되므로, 불필요한 데이터가 증가하여, 2D 이미지를 전송하기 위한 비트레이트를 증가시킬 수 있다.
3D 이미지로부터 EPR 등을 이용하여 프로젝션된 이미지 데이터는 종래의 2D 이미지에 비하여 데이터 양이 매우 클 수 있다. 따라서, 데이터 전송의 부담을 경감시키기 위해, 프로젝션된 2D 이미지를 다수의 타일(tile)들로 분할하여, 현재의 FOV(field of view)에 대응되는 영역의 타일들에 대한 데이터만을 전송하는 방법이 고려될 수 있다. 그러나 이러한 방식에 의하는 경우, 타일들마다 프로젝션에 따른 왜곡의 정도가 상이하여, 뷰포트(viewport) 별로 균일한 시각적 품질(visual quality)를 보장할 수 없으며, 여분의 데이터를 전송하게 되는 문제가 있다. 또한, 타일 별로 분할(partition)되어 압축 및 전송되므로, 구획화 현상(blocking artifact)이 발생하는 문제가 있다.
3D 이미지로부터 EPR 등을 이용하여 프로젝션된 이미지 데이터는 종래의 2D 이미지에 비하여 데이터 양이 매우 클 수 있다. 따라서, 데이터 전송의 부담을 경감시키기 위해, 프로젝션된 2D 이미지를 다수의 타일(tile)들로 분할하여, 현재의 FOV(field of view)에 대응되는 영역의 타일들에 대한 데이터만을 전송하는 방법이 고려될 수 있다. 그러나 이러한 방식에 의하는 경우, 타일들마다 프로젝션에 따른 왜곡의 정도가 상이하여, 뷰포트(viewport) 별로 균일한 시각적 품질(visual quality)를 보장할 수 없으며, 여분의 데이터를 전송하게 되는 문제가 있다. 또한, 타일 별로 분할(partition)되어 압축 및 전송되므로, 구획화 현상(blocking artifact)이 발생하는 문제가 있다.
이에 본 발명이 해결하고자 하는 과제는 3D 이미지로부터 프로젝션된 2D 이미지를 효율적으로 분할 및 변환하여, 전송 효율과 복원 화질을 개선하고자 하는 것이다.
본 발명의 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 3차원(3D) 이미지를 프로세싱하기 위한 방법은, 3D 이미지를 2차원(2D) 이미지로 프로젝션하는 과정, 2D 이미지를 구성하는 복수의 영역들을 패킹하여 패킹된 2D 이미지를 생성하는 과정, 상기 패킹된 2D 이미지를 인코딩하는 것에 의하여 인코딩된 데이터를 생성하는 과정, 및 상기 인코딩된 데이터를 전송하는 과정을 포함한다.
본 발명의 다른 실시예에 따른 3D 이미지를 프로세싱하기 위한 송신기는, 통신 인터페이스, 및 상기 통신 인터페이스에 연결된 프로세서를 포함하고, 상기 프로세서는, 3D 이미지를 2차원(2D) 이미지로 프로젝션하고, 2D 이미지를 구성하는 복수의 영역들을 패킹하여 패킹된 2D 이미지를 생성하고, 패킹된 2D 이미지를 인코딩하는 것에 의하여 인코딩된 데이터를 생성하고, 그리고 상기 인코딩된 데이터를 전송하도록 구성된다.
본 발명의 또 다른 실시예에 따른 3차원(3D) 이미지를 디스플레이하기 위한 방법은, 인코딩된 데이터를 수신하는 과정, 인코딩된 데이터를 디코딩하여 복수의 영역들로 패킹된 2차원(2D) 이미지를 생성하는 과정, 상기 패킹된 2D 이미지를 패킹해제(unpacking)하여 3D 이미지로부터 프로젝션된 2D 이미지를 생성하는 과정, 및 상기 프로젝션된 2D 이미지에 기초하여 상기 3D 이미지를 디스플레이하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따른 3차원(3D) 이미지를 디스플레이하기 위한 장치는, 통신 인터페이스 및 상기 통신 인터페이스에 연결된 프로세서를 포함하고, 상기 프로세서는, 인코딩된 데이터를 수신하고, 인코딩된 데이터를 디코딩하여 복수의 영역들로 패킹된 2차원(2D) 이미지를 생성하고, 상기 패킹된 2D 이미지를 패킹해제(unpacking)하여 3D 이미지로부터 프로젝션된 2D 이미지를 생성하고, 그리고 상기 프로젝션된 2D 이미지에 기초하여 상기 3D 이미지를 디스플레이하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
즉, 3D 이미지로부터 프로젝션된 2D 이미지의 전송 효율을 개선하고, 복원 화질을 향상시킬 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 예시적인 ERP의 역변환을 나타낸다.
도 2는 예시적인 실린더 프로젝션의 역변환을 나타낸다.
도 3은 예시적인 큐브 프로젝션의 역변환을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 송신기의 시스템을 도시한다.
도 5는 본 발명의 일 실시예에 따른 수신기의 시스템을 도시한다.
도 6은 본 발명의 일 실시예에 따른 WU(warping unit)들을 설정하는 방법을 도시한다.
도 7은 본 발명의 다른 실시예에 따른 WU들을 설정하는 방법을 도시한다.
도 8은 본 발명의 실시예들에 따른 WU를 변환하는 방법들을 도시한다.
도 9는 본 발명의 일 실시예에 따른 WU들을 변환하는 방법을 도시한다.
도 10은 본 발명의 일 실시예에 따른 WU들을 재조합하는 방법을 도시한다.
도 11은 본 발명의 일 실시예에 따른 WU의 샘플링 레이트에 대한 가중치를 나타낸 그래프이다.
도 12는 본 발명의 일 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸 도면이다.
도 13은 도 12의 3D 이미지를 2D 이미지로 맵핑하는 방법에서 3D 이미지의 영역들과 2D 이미지의 영역들의 맵핑 관계를 나타낸다.
도 14는 도 13의 1 내지 4 영역들의 맵핑 방법을 나타낸다.
도 15는 도 13의 5 내지 8 영역들의 맵핑 방법을 나타낸다.
도 16은 도 13의 9 내지 12 영역들의 맵핑 방법을 나타낸다.
도 17은 도 13의 13 내지 15 영역들의 맵핑 방법을 나타낸다.
도 18은 도 13의 17 내지 19 영역들의 맵핑 방법을 나타낸다.
도 19 및 도 20은 도 13의 20 영역의 맵핑 방법을 나타낸다.
도 21 및 도 22는 도 13의 16 영역의 맵핑 방법을 나타낸다.
도 23는 본 발명의 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 24는 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 25는 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 26은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 27 및 도 28은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 29 및 도 30은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다.
도 31은 본 발명의 또 다른 실시예에 따른 마름모 형상의 영역을 직사각형 또는 정사각형 형태의 영역으로 변환하기 위한 패치를 나타낸다.
도 32는 본 발명의 또 다른 실시예에 따른 2D 이미지를 나타낸다.
도 33은 본 발명의 일 실시예에 다른 송신기를 나타내는 블록도이다.
도 34는 본 발명의 일 실시예에 따른 수신기를 나타내는 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제 1, 제 2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
도 4는 본 발명의 일 실시예에 따른 송신기의 시스템을 도시한다. 송신기는 3D 이미지와 관련된 데이터 또는 서비스를 제공하기 위한 서버일 수 있다. 여기서 3D 이미지는 동적 이미지 및 정적 이미지 모두를 지칭할 수 있다. 송신기는 3D 이미지를 생성하거나 또는 수신할 수 있다 (410). 송신기는 여러 방향에서 촬영된 다수의 카메라들로부터의 이미지들을 이어붙여(stitching) 3D 이미지를 생성할 수 있다. 송신기는 이미 만들어진 3D 이미지에 관한 데이터를 외부로부터 수신할 수도 있다.
송신기는 3D 이미지를 2D 이미지로 프로젝션 할 수 있다 (420). 3D 이미지를 2D 이미지로 프로젝션하기 위해, ERP, 실린더 프로젝션, 큐브 프로젝션 및 본원 명세서에서 이후 설명될 다양한 프로젝션 방법들 중 어느 하나가 사용될 수 있으며, 이에 한정되는 것이 아니다.
송신기는 프로젝션된 2D 이미지의 영역들을 패킹(packing)할 수 있다 (430). 여기서, 패킹하는 것은 2D 이미지를 WU(Warping Uint)들로 지칭될 수 있는 다수의 영역들로 분할하고, WU들을 변형하고, 그리고/또는 WU들을 재구성(또는 재배치)하는 것을 포함할 수 있으며, 이를 통해 패킹된 2D 이미지를 생성하는 것을 지칭할 수 있다. WU들은 2D 이미지를 구성하는 영역들로서, 단순히 영역들, 구역들, 파티션들 등과 같이 유사한 다른 용어들로 대체될 수 있다. 이하, 도 6 및 도 7을 참고하여, WU를 설정하는 방법에 관하여 보다 상세히 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 WU들을 설정하는 방법을 도시한다. 도 6에서, 2D 이미지(600)는 다수의 WU들(610, 620)로 구분될 수 있다. 다수의 WU들(610, 620)은 서로 중첩되지 않도록 설정될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 WU들을 설정하는 방법을 도시한다. 도 7에서, 2D 이미지(700)는 다수의 WU들(710, 720)로 구분될 수 있다. 다수의 WU들(710, 720) 각각은 적어도 하나의 인접한 다른 WU와 중첩되도록 설정될 수 있다. 몇몇 실시예들에 의하면, WU들 중의 일부는 다른 WU와 중첩하고, 다른 일부는 WU와 중첩하지 않도록 설정될 수도 있다. WU들이 중첩되는 경우, 중첩되는 영역에 대응하는 이미지는 각 WU에 중복하여 존재한다. 이러한 중첩을 통해, 수신기에서 WU들에 중복된 영역을 조합(blending)하도록 함으로써, 구획화 현상(blocking artifact)를 감소시킬 수 있다. 또한 중첩되는 WU들 각각은 중첩되지 않는 WU보다 넓은 FOV를 제공할 수 있으므로, 특정 뷰포트에 대응하는 WU를 전송할 때, 보다 적은 수의 WU를 전송함으로써, 상기 뷰포트에 대응하는 정보를 전송할 수 있다.
다시 도 4를 참고하면, WU들을 변형하는 것은 WU들 각각의 형상을 변형(예를 들어, 직사각형으로부터 삼각형, 사다리꼴 등으로 변형)하는 것, WU들 중 적어도 일부를 회전시키는 것, 및/또는 반전시키는 것(mirroring)을 포함할 수 있다.
WU들을 재구성(또는 재배치)하는 것은 다수의 WU들 중 적어도 일부를 회전하는 것, 미러링하는 것 및/또는 이동시키는 것(shifting)을 포함할 수 있다. 몇몇 실시예들에 따르면, WU들은 패딩 영역(padding region)을 최소화하도록 재구성될 수 있으나, 반드시 이에 한정되는 것은 아니다. 여기서, 패딩 영역은 패킹된 2D 이미지 상에서 3D 이미지에 대응되는 영역들을 제외한 부가적인 영역을 의미할 수 있다.
송신기는 패킹된 2D 이미지를 인코딩할 수 있다 (440). 인코딩은 기존에 알려진 2D 이미지에 대한 인코딩 방식을 이용하여 수행될 수 있다. WU들 각각에 대하여 독립적으로 인코딩이 수행될 수 있다. 몇몇 실시예들에 의하면, 변환된 WU들을 그룹화하여 형성된 하나의 이미지에 대하여 인코딩이 수행될 수 있다.
송신기는 인코딩된 데이터를 캡슐화(encapsulation)할 수 있다 (450). 캡슐화는 인코딩된 데이터를 분할하고, 분할물들에 헤더를 부가하는 등의 프로세싱을 통해 정해진 전송 프로토콜에 따르도록 인코딩된 데이터를 가공하는 것을 의미할 수 있다. 송신기는 캡슐화된 데이터를 전송할 수 있다. WU들 각각에 대하여 캡슐화가 수행될 수 있다. 몇몇 실시예들에 의하면, 변환된 WU들을 그룹화하여 형성된 하나의 이미지에 대하여 캡슐화가 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 수신기의 시스템을 도시한다. 수신기는 송신기로부터 전송된 3D 이미지에 관한 데이터를 수신할 수 있다. 수신기는 수신된 데이터에 대하여 캡슐화 해제(decapsulation)를 수행할 수 있다 (510). 캡슐화 해제(510)를 통하여, 도 4에서의 인코딩(440)을 통해 생성된 인코딩된 데이터가 생성될 수 있다.
수신기는 캡슐화 해제(510)된 데이터에 대하여 디코딩을 수행할 수 있다 (520). 디코딩(520)을 통해 패킹된 2D 이미지가 복원될 수 있다.
수신기는 디코딩된 데이터(즉, 패킹된 2D 이미지)에 대하여 패킹해제(unpacking)를 수행할 수 있다 (530). 패킹해제를 통해 도 4에서의 프로젝션(420)을 통해 생성된 2D 이미지가 복원될 수 있다. 패킹해제를 수행하는 것은 도 4에서의 패킹(430)에서 수행된 WU들의 재구성, 변형, 및/또는 2D 이미지의 WU들로의 분할의 역변환이 수행될 수 있다. 이를 위해 패킹(430)의 방법에 대하여 수신기는 알고 있을 필요가 있다. 패킹(430)의 방법은 수신기와 송신기 사이에 미리 정해져 있을 수 있다. 몇몇 실시예들에 의하면 송신기는 패킹(430)의 방법에 관한 정보를 메타데이터와 같은 별도의 메시지를 통해 수신기에 전달할 수 있다. 몇몇 실시예들에 의하면, 캡슐화(450)를 통해 생성된 전송 데이터는, 예를 들어 헤더 내부에, 패킹(430)의 방법에 관한 정보를 포함할 수도 있다. 패킹해제(530)는 WU별로 독립적으로 수행될 수 있다. 만약, WU들이 도 7에서와 같이 서로 중첩하도록 설정된 경우라면, 수신기는 중첩된 영역을 조합(blending)함으로써 스무딩(smooting)하여, 인접한 WU들의 이미지들을 연결(stitching)함으로써, 2D 이미지를 생성할 수 있다.
수신기는 패킹해제된 2D 이미지를 3D 이미지로 프로젝션할 수 있다 (540). 수신기는 2D 이미지를 3D 이미지로 프로젝션하기 위해 도 4에서 2D 이미지로 프로젝션(420)하기 위해 사용된 프로젝션의 역의 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다. 수신기는 패킹해제된 2D 이미지를 3D 이미지로 프로젝션하여 3D 이미지를 생성할 수 있다.
수신기는 3D 이미지의 적어도 일부를 디스플레이 장치를 통해 디스플레이할 수 있다(550). 예를 들어, 수신기는 3D 이미지 중, 현재의 FOV(field of view)에 대응하는 데이터만을 추출하여 렌더링할 수 있다.
이하, 프로젝션된 2D 이미지로부터의 WU들을 변환하는 방법에 대하여 보다 상세히 설명하도록 한다. 분할된 WU들은 통상적으로 사각형 또는 다면체의 형태일 수 있다. WU는 프로젝션된 2D 이미지 내에서의 위치에 따라 왜곡의 정도 및 잉여 데이터(redundant data)의 비가 상이할 수 있다. 효과적으로 데이터를 압축하기 위해 불필요한 데이터를 다운 샘플링을 통해 감소시키거나, 또는 왜곡의 정도에 따라 영상을 변환(warping)하여 왜곡을 감소시킬 수 있다.
예를 들어, WU 데이터에 대하여 수평 방향과 수직 방향에 따라 상이한 샘플링 레이트를 적용하여 업샘플링 또는 다운샘플링을 수행함으로써, WU의 폭 및 높이가 리사이징(resizing)될 수 있다. 또는 변환을 통해, WU의 형태가 삼각형, 사다리꼴, 사각형, 마름모꼴 사각형(rhombus), 원 등의 다양한 형태로 변환될 수 있다. 이와 관련하여, 도 8을 참고하여 보다 상세히 설명하도록 한다.
도 8은 본 발명의 실시예들에 따른 WU를 변환하는 방법들을 도시한다. 도 8을 참고하면, 정사각형 형태의 WU(810)는 삼각형 형태의 WU(820), 직사각형 형태의 WU(830), 또는 사다리꼴 형태의 WU(840)으로 변환될 수 있다. 삼각형 형태의 WU(820)를 생성하기 위해, 정사각형 형태의 WU(810)의 수평 방향에 대한 샘플링 레이트를 일정하게 유지하며, 수직 방향에 대한 샘플링 레이트를 최상단에서 0이 되도록 하측에서부터 상측으로 선형적으로 감소시킬 수 있다. 직사각형 형태의 WU(830)를 생성하기 위해 WU(810)의 수평 방향에 대한 샘플링 레이트를 수직 방향에 대한 샘플링 레이트보다 크게 설정할 수 있다. 사다리꼴 형태의 WU(840)을 생성하기 위해, 정사각형 형태의 WU(810)의 수평 방향에 대한 샘플링 레이트를 일정하게 유지하며, 수직 방향에 대한 샘플링 레이트를 최상단에서 0보다 큰 값을 갖도록 하측에서부터 상측으로 선형적으로 감소시킬 수 있다.
앞서 설명한 바와 같이, WU들을 다양한 형상으로 변환할 수 있으나, 어떠한 형상으로 변환할 것인지 및 어떠한 샘플링 레이트를 적용할 것인지는 컨텐트 제작자의 선택, WU 내의 xy 좌표, 전체 이미지 내에서의 WU의 위치, 컨텐트의 특징, 컨텐트의 복잡도 및 괌심 영역(ROI: region of interest)중 하나 이상을 고려하여 결정될 수 있다. 샘플링 방법 및 보간(interpolation)의 방법은 WU별로 결정될 수 있다. 예를 들어, WU별로 서로 상이한 안티-얼라이어싱(anti-aliasing) 필터 및 보간 필터가 결정될 수 있고, WU 별로 상이한 수직 샘플링 레이트 및 수평 샘플링 레이트가 결정될 수 있다. 보간 시, nearest neighbor, liner, B-spline 등과 같은 다양한 보간 방법들 중 WU 별로 상이한 보간 방법이 선택될 수 있다. 또한, WU 내에서도 위도(latitude) 및 경도(longitude) 좌표에 따라 샘플링 레이트가 조절될 수 있다.
도 9는 본 발명의 일 실시예에 따른 WU들을 변환하는 방법을 도시한다. 도 9를 참고하면, 2D 이미지(910)는 다수의 WU들로 분할될 수 있으며, 다수의 WU들에 상이한 변환들이 적용되어, 변환된 2D 이미지(920)가 생성될 수 있다. 구체적으로, 북극 영역(즉, 2D 이미지(910)의 상단)에 가까운 WU들은 정삼각형 형태로 샘플링될 수 있다. 남극 영역(즉, 2D 이미지(910)의 하단)에 가가운 WU들은 역삼각형 형태로 샘플링될 수 있다. 적도 부분에 가까운 영역(즉, 2D 이미지(910)의 수직 방향으로 중앙 영역)사각형 형태로 샘플링 될 수 있다. 이러한 맵핑 방식을 이용하는 경우, WU별로 맵핑을 위한 패치 형태가 결정될 수 있고, WU 단위로 전송될 때, 샘플링된 패치 형태 단위로 렌더링이 가능할 수 있다.
샘플링 방식들은 규칙적(regular) 샘플링 방식과 불규칙적(irregular) 샘플링 방식을 포함한다. 규칙적 샘플링 방식은 WU 내에서 같은 X 좌표(또는 Y 좌표)를 갖는 라인(line) 내에서는 동일한 레이트로 샘플링을 수행하는 것이다. 규칙적 샘플링 방식으로 샘플링된 WU들은 수신기에서 반드시 역변환(inverse warping) 과정을 통해 ERP 형태의 2D 이미지로 복원한 다음에 구형의 3D 이미지로 렌더링이 가능하다. 예를 들어, ERP 이미지를 8개의 WU로 분할하고, 각각 정삼각형으로 변환하여 정8면체(octahedron)과 동일한 기하(geometry) 형태로 구성이 가능하더라도, 규칙적으로 샘플링된 WU는 ERP로 역변환한 후 렌더링되어야 한다. 뷸규칙적 샘플링의 경우 매 라인마다 기하구조(geometry)의 표면에서 각도가 회전되는 단위로 샘플링을 수행하면, 역변환 없이 해당 기하구조에서 직접적으로 렌더링이 가능할 수 있다. 다만, 이러한 경우 계산의 복잡도가 증가할 수 있다.
WU들은 서로 상이한 형태일 수 있다. WU의 형상이 사각형이 아닌 경우 주변의 블랭크 영역들에 대한 패딩이 필요할 수 있다. WU들에 관한 데이터들은 독립적으로 압축 및 전송될 수도 있으나, 몇몇 실시예들에 의하면, 블랭크 영역의 크기를 감소시키기 위해 WU들을 그룹화하여 하나의 이미지로 재패킹(re-packing)할 수 있다. 그룹화되는 WU들은 현재의 FOV에 대응하는 WU들일 수 있으나 반드시 이에 한정되는 것은 아니다. 이와 관련하여 도 10을 참고하여 보다 구체적으로 설명하도록 한다. 도 10은 본 발명의 일 실시예에 따른 WU들을 재조합하는 방법을 도시한다. 도 10에서와 같이, 3개의 WU들(1010, 1020, 1030)을 그룹화하고 조합하여 하나의 이미지(1040)가 생성될 수 있다. 생성된 이미지(1040)의 블랭크 영역을 감소시키기 위해 삼각형 형태의 WU들(1010, 1030)을 각각 180도 회전시킨 후 WU들(1010, 1020, 1030)의 조합이 수행될 수 있다. 도 10은 예시에 불과하며, 조합된 이미지의 블랭크 영역을 감소시키기 위해 다양한 방법의 변환들(예를 들어, 회전, 미러링, 및 시프팅 등)이 WU에 적용될 수 있다. 그룹화된 이미지(1040)은 하나의 이미지로서 압축 및 전송될 수 있다.
수신기는, 도 10과 관련하여 설명된 WU들의 그룹화 및 조합에 대한 역변환을 수행함으로써, 독립적인 WU의 이미지를 추출할 수 있다. 추출된 WU에 대하여 개별적인 WU에 대하여 수행된 변환의 역변환을 수행한 후, 이어붙이기(stitching) 및 블렌딩(blending) 절차를 수행함으로써, 3D 이미지가 렌더링될 수 있다.
WU들이 서로 중첩되는 경우, 수신기는 3D 영상을 렌더링하기 위해, 가중 합(weighted sum)을 이용한 블렌딩을 수행할 수 있다. 가중 합을 이용한 블렌딩에 적용되는 가중치(weight value)는 이미지 내의 픽셀의 위치에 따라 결정될 수 있다. 예를 들어, 가중치는 각 WU의 중심점에서 멀어짐에 따라 작은 값을 가질 수 있다. 이러한 유형의 가중치는 도 11의 (a)에 예시적으로 도시되어 있다. 도 11은 본 발명의 일 실시예에 따른 가중 합을 이용한 블렌딩에서 WU에 적용되는 가중치를 나타낸 그래프이다. 도 11에서, wi,j[s]는 WUi,j의 중심으로부터 s만큼 떨어진 곳에 위치한 픽셀에 적용되는 가중치를 나타낸다. 도 11에 기재된 window coefficient는 가중치와 동일한 의미로 해석될 수 있다. 몇몇 실시예들에 따르면, 가중치는 컨텐트-적응적(content-adaptive)으로 조절될 수 있으며, 도 11의 (b)는 이를 예시한다. 도 11의 (b)에서 wi,j[s]의 가중치는 컨텐트에 따라 w'i,j[s]로 조절된다.
몇몇 실시예들에 의하면, 수신기는 가중 합을 이용한 블렌딩 대신, 중첩되는 이미지에 대한 데이터들 중 하나를 선택하여, 3D 이미지를 렌더링할 수 있다.
이하, 본 발명의 예시적인 3D 이미지를 2D 이미지로 맵핑하는 방법들에 대하여 설명하도록 한다.
도 12는 본 발명의 일 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸 도면이다. 도 12의 실시예에서, 3D 이미지(1210)는 정육면체(cube)의 형상으로 렌더링될 수 있다. 3D 이미지(1210)는 2D 이미지(1220)로 맵핑될 수 있다. 정육면체 형상의 3D 이미지(1210)의 측면들(1211)은 2D 이미지(1220)의 중앙의 영역들(1221)에 맵핑될 수 있다. 3D 이미지(1210)의 상부면은 상부면의 대각선들과 상부면의 중심과 동일한 중심을 갖는 상부면보다 작은 크기의 정사각형의 변들에 의해 8개의 영역들로 구분될 수 있다. 8개의 영역들은 사다리꼴 형상의 영역(1212) 및 정삼각형 형상의 영역(1213)으로 구분될 수 있다. 사다리꼴 형상의 영역(1212)은 2D 이미지(1220)에서 대응되는 사다리꼴 형상의 영역(1222)에 맵핑될 수 있다. 정삼각형 형상의 영역(1213)은 상하가 반전되거나, 또는 180도 회전되어, 2D 이미지(1220)에서 사다리꼴 형상의 영역(1222)들 사이에 삽입되어, 2D 이미지(1220)가 직사각형의 형태를 갖도록 할 수 있다. 하부면에도 상부면과 같은 방식의 맵핑이 적용될 수 있다. 3D 이미지(1210)의 상부면과 하부면에 대응하는 2D 이미지(1220)의 영역들(1222, 1223)에는 이미지의 불연속성(discontinuity)를 감소시키기 위해, 로우 패스 필터링이 적용될 수 있다. 3D 이미지(1210)의 각각의 영역들과 3D 이미지(1220)의 각각의 영역들의 구체적인 맵핑 관계는 도 13에 도시되어 있다. 도 13은 도 12의 3D 이미지를 2D 이미지로 맵핑하는 방법에서 3D 이미지의 영역들과 2D 이미지의 영역들의 맵핑 관계를 나타낸다. 도 13에서 동일한 인덱스를 갖는 3D 이미지(1210) 상의 영역과 2D 이미지(1220) 상의 영역은 서로 대응된다.
도 12 및 도 13에서의 맵핑 방법을 특정하기 위한 메시지는 예시적으로 다음과 같이 표현될 수 있다.
if(geometry_type != sphere){
unsigned int(8) num_of_regions;
for(i=0; i < num_of_regions ; i++){
unsigned int(16) region_top_left_x;
unsigned int(16) region_top_left_y;
unsigned int(16) region_width;
unsigned int(16) region_height;
if(geometry_type == carousel_cube){
unsigned int(16) carousel_cube_surface_id;
unsigned int(16) orientation_of_surface;
unsigned int(16) area_top_left_x;
unsigned int(16) area_top_left_y;
unsigned int(16) area_width;
unsigned int(16) area_height;
}
}
}
위 메시지에서 필드들의 의미는 다음과 같다.
geometry_type: 전방향 미디어(즉, 3D 이미지)의 렌더링을 위한 기하 구조를 나타낸다. 회전목마 정육면체(carousel_cube, 즉, 도 12 및 13에서의 기하구조)이외에도 구, 실린더, 정육면체 등을 나타낼 수 있다.
num_of_regions: 참조되는 트랙 내에서 영상을 분할하는 영역들의 수를 나타낸다. 참조되는 트랙 내에서의 영상은 이 필드의 값에 의해 주어지는 수의 비-중첩되는 영역들로 분할될 것이며, 각각의 영역은 기하구조의 영역들 및 특정한 표면에 별개로 맵핑될 것이다.
region_top_left_x 및 region_top_left_y: 각각 참조되는 트랙 내의 영상의 분할된 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
region_width 및 region_height: 각각 참조되는 트랙 내의 영상의 분할된 영역의 폭 및 높이를 나타낸다.
carousel_surface_id: 도 13에서 예시적으로 정의된 바와 같이, 분할된 영역이 맵핑될 회전목마 정육면체의 표면들의 식별자를 나타낸다.
orientation_of_surface: 도 13에서 예시적으로 보여진 바와 같은, 표면의 형상의 배향(orientation)을 나타낸다.
area_top_left_x and area_top_left_y: 각각 기하구조 표면 상의 특정한 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
area_width 및 area_height: 각각 기하구조 표면 상의 특정한 영역의 폭 및 높이를 나타낸다.
도 14는 도 13의 1 내지 4 영역들의 맵핑 방법을 나타낸다. 도 14를 참고하면, 도 13에서 1 내지 4의 surface ID 값들을 갖는 영역들에 대하여, orientation_of_surface는 0으로 설정될 것이다 (즉, 배향이 없음). 각각의 정사각형 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 15는 도 13의 5 내지 8 영역들의 맵핑 방법을 나타낸다. 도 15를 참고하면, 5 내지 8의 surface ID 값들을 갖는 영역들에 대하여, orientation_of_surface의 값은 1로 설정될 것이다 (즉, 직립(upright) 배향). 각각의 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 16은 도 13의 9 내지 12 영역들의 맵핑 방법을 나타낸다. 도 16를 참고하면, 9 내지 12의 surface ID 값들을 갖는 영역들에 대하여, orientation_of_surface의 값은 2로 설정될 것이다 (즉, 뒤집힌(upside down) 배향). 각각의 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 17은 도 13의 13 내지 15 영역들의 맵핑 방법을 나타낸다. 도 17를 참고하면, 13 내지 15의 surface ID 값들을 갖는 영역들에 대하여, orientation_of_surface의 값은 2로 설정될 것이다 (즉, 뒤집힌(upside down) 배향). 각각의 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 18은 도 13의 17 내지 19 영역들의 맵핑 방법을 나타낸다. 도 17를 참고하면, 17 내지 19의 surface ID 값들을 갖는 영역들에 대하여, orientation_of_surface의 값은 1로 설정될 것이다 (즉, 직립 배향). 각각의 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 19 및 도 20은 도 13의 20 영역의 맵핑 방법을 나타낸다. 도 19 및 20을 참고하면, 20의 surface ID 값을 갖는 영역들에 대하여, orientation_of_surface의 값들은 5(도 19, 직립 우반 배향(upright right half orientation)) 및 6(도 20, 직립 좌반 배향(upright left half orientation))과 같이 설정될 수 있다. 각각의 영역의 크기 및 위치는, region_top_left_x, region_top_left_y, region_width 및 region_height의 값들로 정의될 것이다.
도 21 및 도 22는 도 13의 16 영역의 맵핑 방법을 나타낸다. 도 21 및 22을 참고하면, 16의 surface ID 값을 갖는 영역들에 대하여, orientation_of_surface의 값들은 7(도 21, 뒤집한 우반 배향(upside down right half orientation)) 및 8(도 22, 뒤집힌 좌반 배향(upside down left half orientation))과 같이 설정될 수 있다.
도 23는 본 발명의 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다. 도 23에서 상부 및 하부가 사각뿔의 형상을 갖는 사각기둥 형태의 3D 이미지(2310)가 렌더링될 수 있다. 이러한 3D 이미지(2310)는 3D 이미지(2310)의 전개도와 같은 방식으로 2D 이미지(2320)로 맵핑될 수 있다. 2D 이미지(2320)를 직사각형 형태로 만들기 위해 패딩 영역이 부가될 수 있다. 몇몇 실시예들에서, 3D 이미지(2310)로부터 직사각형 형태의 2D 이미지를 형성하기 위하여, 도 12 및 13에서 직육면체 형상의 3D 이미지(1210)의 상부면 및 하부면에 적용된 것과 같은 맵핑 방식이 적용될 수 있다. 이를 통해 도 24에 도시된 것과 같은 2D 이미지(2400)가 생성될 수 있다.
도 25는 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다. 육각 기둥 형태로 렌더링된 3D 이미지(2510) 또한, 도 23 및 도 24에서 3D 이미지(2310)가 2D 이미지(2400)로 맵핑된 것과 유사한 방식으로, 2D 이미지(2520)로 맵핑될 수 있다.
도 26은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다. 팔각 기둥 형태로 렌더링된 3D 이미지(2610) 또한, 도 23 및 도 24에서 3D 이미지(2310)가 2D 이미지(2400)로 맵핑된 것과 유사한 방식으로, 2D 이미지(2620)로 맵핑될 수 있다.
도시되지는 않았지만 프로젝트 비욘드(Project Beyond)에서처럼 16개의 수평 카메라가 존재하고, 상측 및 하측에 각각 하나씩의 카메라가 존재하는 경우는 16각 기둥의 기하형상으로 렌더링되는 3D 이미지가 구성될 수 있다. 16각 기둥 형상의 3D 이미지는 도 23 내지 도 26에서 설명된 방식과 유사한 방식으로 2D 이미지로 맵핑될 수 있다.
이러한 맵핑 방식을 나타내는 메시지는 예시적으로 다음과 같이 구성될 수 있다.
unsigned int(16) center_pitch_offset;
unsigned int(16) center_yaw_offset;
unsigned int(8) num_of_regions;
for(i=0; i < num_of_regions ; i++){
unsigned int(16) region_id;
unsigned int(16) region_top_left_x;
unsigned int(16) region_top_left_y;
unsigned int(16) region_width;
unsigned int(16) region_height;
if(geometry_type == carousel){
unsigned int(8) surface_id;
unsigned int(1) shape_of_surface;
if{shape_of_surface == 1){
unsigned int(1) orientation_of_triangle;
}
unsigned int(16) area_top_left_x;
unsigned int(16) area_top_left_y;
unsigned int(16) area_width;
unsigned int(16) area_height;
}
}
위 메시지에서 필드들의 의미는 다음과 같다.
center_pitch_offset 및 center_yaw_offset: 각각 영상의 중앙의 픽셀이 렌더링되는 점의 좌표의 피치(pitch) 및 요우(yaw) 각들의 오프셋 값들을 나타낸다.
num_of_regions: 참조되는 트랙 내의 영상을 분할하는 영역들의 수를 나타낸다.
region_top_left_x 및 region_top_left_y: 각각 참조되는 트랙 내의 영상의 분할된 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
region_width 및 region_height: 각각 참조되는 트랙 내의 영상의 분할된 영역의 폭 및 높이를 나타낸다.
surface_id: 기하구조의 표면들에 대한 식별자를 나타낸다.
shape_of_surface: 기하구조의 표면의 형상을 나타내는 수이다. shape_of_surface가 0인 경우 기하구조의 표면의 형상은 사각형일 수 있다. shape_of_surface가 1인 경우 기하구조의 표면의 형상은 삼각형일 수 있다.
area_top_left_x and area_top_left_y: 각각 기하구조 표면 상의 특정한 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
area_width 및 area_height: 각각 기하구조 표면 상의 특정한 영역의 폭 및 높이를 나타낸다.
orientation_of_triangle: 삼각형의 배향을 나타내는 수이다. orientation_of_triangle이 0인 경우, 삼각형은 도 18에서 설명된 바와 같이 표현될 수 있다. orientation_of_triangle이 1인 경우 삼각형은 도 19에서 설명된 바와 같이 표현될 수 있다.
회전목마_실린더와 같은 기하구조 맵핑을 정의하는 데 있어, 참조되는 트랙 내의 평면의(planar) 영상은 아래의 신택스(syntax)에 따라 맵핑될 수 있다.
if(geometry_type != sphere){
unsigned int(8) num_of_regions;
for(i=0; i < num_of_regions ; i++){
unsigned int(16) region_top_left_x;
unsigned int(16) region_top_left_y;
unsigned int(16) region_width;
unsigned int(16) region_height;
if(geometry_type == carousel_cylinder){
unsigned int(16) carousel_cylinder_surface_id;
unsigned int(16) orientation_of_surface;
unsigned int(16) area_top_left_x;
unsigned int(16) area_top_left_y;
unsigned int(16) area_width;
unsigned int(16) area_height;
}
}
}
상기 신택스에서 필드들의 의미는 다음과 같다.
geometry_type: 전방향 미디어(즉, 3D 이미지)의 렌더링을 위한 기하 구조를 나타낸다. 회전목마 실린더(carousel_cylinder, 즉, 도 23 내지 26에서의 기하구조)이외에도 구, 실린더, 정육면체 등을 나타낼 수 있다.
num_of_regions: 참조되는 트랙 내에서 영상을 분할하는 영역들의 수를 나타낸다. 참조되는 트랙 내에서의 영상은 이 필드의 값에 의해 주어지는 수의 비-중첩되는 영역들로 분할될 것이며, 각각의 영역은 기하구조의 영역들 및 특정한 표면에 별개로 맵핑될 것이다.
region_top_left_x 및 region_top_left_y: 각각 참조되는 트랙 내의 영상의 분할된 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
region_width 및 region_height: 각각 참조되는 트랙 내의 영상의 분할된 영역의 폭 및 높이를 나타낸다.
carousel_surface_id: 분할된 영역이 맵핑될 회전목마 실린더의 표면들의 식별자를 나타낸다. surface ID들은 앞서 설명된 회전목마 직육면체 에서와 유사하게 정의될 수 있다 (도 13 참고).
orientation_of_surface: 앞서 회전목마 직육면체와 관련하여에서 정의된 바와 같은, 표면의 형상의 배향(orientation)을 나타낸다.
area_top_left_x and area_top_left_y: 각각 기하구조 표면 상의 특정한 영역의 좌측 상단 모서리의 수평 및 수직 좌표들을 나타낸다.
area_width 및 area_height: 각각 기하구조 표면 상의 특정한 영역의 폭 및 높이를 나타낸다.
도 27 및 도 28은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다. 3D 이미지는 정다면체의 형태로 렌더링될 수 있다. 예시적으로, 도 27의 3D 이미지 (2710)과 같이 정20면체로 렌더링될 수 있다. 다른 예시들에서, 3D 이미지는 정4면체, 정6면체, 정8면체, 또는 정12면체로 렌더링될 수 있다. 3D 이미지(2710)는 정20면체의 전개도와 같은 형태의 2D 이미지(2720)로 프로젝션될 수 있다. 몇몇 실시예들에서는, 2D 이미지(2720)에는 직사각형의 2D 이미지를 형성하기 위해 패딩 영역이 추가될 수도 있다. 몇몇 실시예들에서는 도 27의 2D 이미지(2720)의 상부의 삼각형들 및 하부의 삼각형들을 분할, 회전 및 재배치하여 도 28에서와 같은 직사각형 형태의 2D 이미지(2800)를 형성할 수도 있다. 이러한 삼각형들의 분할 및 재배치는 도 12 및 13의 실시예에서 설명된 것과 실질적으로 동일한 방식으로 수행될 수 있다.
몇몇 실시예들에 따르면, 롬빅(Rhombic) 다면체로 렌더링된 3D 이미지 또한, 앞서 설명한 실시예들과 유사하게 2D 이미지로 맵핑할 수 있다. 도 29 및 도 30은 본 발명의 또 다른 실시예에 따른 3D 이미지를 2D 이미지로 맵핑하는 방법을 나타낸다. 도 29에서와 같이 롬빅 12면체로 렌더링된 3D 이미지(2910)는 전개도와 같은 형태의 2D 이미지(2920)로 프로젝션될 수 있다. 몇몇 실시예들에서는, 2D 이미지(2920)에는 직사각형의 2D 이미지를 형성하기 위해 패딩 영역이 추가될 수도 있다. 몇몇 실시예들에서는 도 29의 2D 이미지(2920)의 상부의 삼각형들 및 하부의 삼각형들을 분할, 회전 및 재배치하여 도 30에서와 같은 직사각형 형태의 2D 이미지(3000)를 형성할 수도 있다. 이러한 삼각형들의 분할 및 재배치는 도 12 및 13의 실시예에서 설명된 것과 실질적으로 동일한 방식으로 수행될 수 있다.
몇몇 실시예들에 따르면 도29의 2D 이미지(2920)의 마름모 형상의 영역들(즉, WU들) 각각을 직사각형 또는 정사각형의 형태로 변환할 수 있다. 2D 이미지(2920)의 영역들을 직사각형 또는 정사각형의 형태로 변환하기 위해 도 31에서와 같은 패치(patch)가 사용될 수 있다. 도 31은 마름모 형상의 영역을 직사각형 또는 정사각형 형태의 영역으로 변환하기 위한 패치를 나타낸다. 패치된 영역(3100)은 제 1 영역(3110) 및 제 2 영역(3120)을 포함할 수 있다. 제 1 영역(3110)에는 2D 이미지(2920)의 영역들 각각이 대응될 수 있다. 제 2 영역(3120)에는 패치된 영역(3100)의 형상을 직사각형 또는 정사각형으로 만들기 위한 부가 데이터가 포함될 수 있다.
몇몇 실시예들에 따르면, 도 29의 2D 이미지(2920)의 영역들에 도 31의 패치가 적용된 후 도 32에서와 같이 평면에 배열될 수 있다. 도 32는 본 발명의 또 다른 실시예에 따른 2D 이미지를 나타낸다. 도 32에서 빈 블록(empty block)(즉, 빈 영역)에는 대응하는 이미지가 존재하지 않는다. 이러한 경우 해당 블록에 대한 skip_block_flag의 값을 1로 설정하여 해당 블록을 디코딩하지 않을 수 있다. 만약 빈 블록에 대한 skip_block_flag의 값이 1로 설정된다면, 해당 블록은 디코딩될 것이지만 복원된 이미지의 값은 유효하지 않을(invalid) 수 있다.
도 32와 같이 사각형으로 영역을 분할하여 맵핑하는 경우, 사각형들 사이의 경계 영역에서 구획화 현상이 발생할 수 있으며, 모션 추정(ME: motion estimation) 및 모션 보상(MC: motion compensation)을 수행할 때, 이미지 블록의 주변의 데이터가 없는 경우(즉, 이미지 블록 주변에 빈 블록이 존재하는 경우), ME 및 MC가 효율적으로 수행되지 못할 수 있다. 효율적인 ME 및 MC를 위해, 패딩 블록이 부가될 수 있다. 패딩 블록은 이미지 블록의 주변에 배치될 수 있다. 패딩 블록에는 실제 이미지의 데이터가 포함되지 않을 수 있다. 따라서, 패딩 블록은 수신기 측에서 렌더링되지 않을 수 있다. 패딩 블록에는 공간적으로 인접한 영역의 가장 가까운 이미지의 값을 카피한 데이터가 채워지거나, 인접한 영역의 이미지들에 대한 값들에 대하여 가중 합(weighted sum)이 적용된 데이터가 채워질 수 있다. 몇몇 실시예들에 의하면, 각 기하구조에서 연속되는 주변 영상 데이터를 이용한 카피 및 채우기를 통하여 패딩 블록의 데이터가 형성될 수 있다. 패딩 블록은 수신기측에서 3D 이미지를 재생하기 위해 렌더링되지 않을 수 있으나, 렌더링되는 영역(즉, 이미지 블록에 대응하는 영역)의 렌더링 품질을 향상시키기 위해 이용될 수 있다. 패딩 영역과 관련하여, 롬빅 다면체와 관련된 실시예에서 설명되었으나, 2D 이미지에 빈 영역이 존재하는 경우라면, 렌더링 품질의 향상을 위해 패딩 영역이 적용될 수 있음이 용이하게 이해될 수 있을 것이다.
도 33은 본 발명의 일 실시예에 다른 송신기를 나타내는 블록도이다. 도 11은 본 발명의 일 실시예에 따른 송신기를 나타낸 블록도이다. 송신기(3300)는 서버로도 지칭될 수 있다. 송신기(3300)는 메모리(3310), 통신 인터페이스(3320) 및 프로세서(3330)를 포함할 수 있다. 송신기(3300)는 앞서 실시예들을 통해 설명된 송신기(3300)의 동작(즉, 3D 이미지를 2D 이미지로 맵핑하는 것에 관련된 동작들 등)을 수행하도록 구성될 수 있다. 프로세서(3330)는 메모리(3310) 및 통신 인터페이스(3320)에 통신 가능하게, 그리고 전기적으로 연결될 수 있다. 통신 인터페이스(3320)를 통해 송신기(3300)는 데이터를 송신하고 그리고 수신할 수 있다. 메모리(3310)에는 송신기(3300)의 동작을 위한 정보들이 저장될 수 있다. 프로세서(3330)를 제어하기 위한 명령들 또는 코드들이 메모리(3310)에 저장될 수 있다. 추가적으로, 프로세서(3330)의 연산을 위해 필요한 일시적 또는 지속적 데이터들이 메모리(1110)에 저장될 수 있다. 프로세서(3330)는 하나의 프로세서일 수 있으며, 몇몇 실시예들에 따르면, 기능들에 따라 구분된 복수의 프로세서들의 집합을 의미할 수도 있다. 프로세서(3330)는 송신기(3300)의 동작을 제어하도록 구성될 수 있다. 앞서 설명된 송신기(3300)의 동작들은 실질적으로 프로세서(3330)에 의해 처리되고 실행될 수 있다. 비록 데이터를 송신하고 수신하는 것이 통신 인테페이스(3320)를 통해 이루어지고, 데이터 및 명령들을 저장하는 것이 메모리(3310)에 의해 수행되더라도, 통신 인터페이스(3320) 및 메모리(3310)의 동작들은 프로세서(3330)에 의해 제어될 수 있으므로, 데이터를 송신 및 수신하는 것 및 명령들을 저장하는 것 또한 프로세서(3330)에 의해 수행되는 것으로 간주될 수 있다.
도 34는 본 발명의 일 실시예에 따른 수신기를 나타내는 블록도이다. 수신기(3400)는 HMD 디바이스와 같은 VR 디바이스일 수 있다. 수신기(3400)는 3D 이미지에 관한 데이터(2D로 프로젝션된 이미지에 관한 데이터)를 수신하고, 3D 이미지를 디스플레이할 수 있다. 수신기(3400)는 메모리(3410), 통신 인터페이스(3420), 프로세서(3430) 및 디스플레이(3440)를 포함할 수 있다. 메모리(3410), 통신 인터페이스(3420), 및 프로세서(3430)에 관한 설명은 송신기(3300)의 메모리(3310), 통신 인터페이스(3320), 및 프로세서(3330)에 대한 설명과 실질적으로 동일하다. 디스플레이(3440)는 3D 이미지의 적어도 일부 영역을 재생할 수 있다. 디스플레이(3440)의 동작 또한 프로세서(3430)에 의해 제어될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 3차원(3D) 이미지를 프로세싱하기 위한 방법으로서,
    3D 이미지를 2차원(2D) 이미지로 프로젝션하는 과정;
    2D 이미지를 구성하는 복수의 영역들을 패킹하여 패킹된 2D 이미지를 생성하는 과정;
    상기 패킹된 2D 이미지를 인코딩하는 것에 의하여 인코딩된 데이터를 생성하는 과정; 및
    상기 인코딩된 데이터를 전송하는 과정을 포함하는,
    3D 이미지를 프로세싱하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 복수의 영역들은 서로 중첩하지 않는,
    3D 이미지를 프로세싱하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 복수의 영역들을 패킹하는 것은 상기 복수의 영역들 중 적어도 하나를 회전시키는 것을 포함하는,
    3D 이미지를 프로세싱하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 복수의 영역들을 패킹하는 것은 상기 복수의 영역들 중 적어도 하나의 하나 이상의 변의 길이를 변경하는 것을 포함하는,
    3D 이미지를 프로세싱하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 복수의 영역들을 패킹하는 것은 상기 복수의 영역들 중 적어도 하나의 수평 축과 수직 축에 상이한 샘플링 레이트들을 적용하는 것을 포함하는,
    3D 이미지를 프로세싱하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 패킹된 2D 이미지는 렌더링되지 않는 적어도 하나의 추가적인 영역을 더 포함하는,
    3D 이미지를 프로세싱하기 위한 방법.
  7. 3차원(3D) 이미지를 디스플레이하기 위한 방법으로서,
    인코딩된 데이터를 수신하는 과정;
    인코딩된 데이터를 디코딩하여 복수의 영역들로 패킹된 2차원(2D) 이미지를 생성하는 과정;
    상기 패킹된 2D 이미지를 패킹해제(unpacking)하여 3D 이미지로부터 프로젝션된 2D 이미지를 생성하는 과정; 및
    상기 프로젝션된 2D 이미지에 기초하여 상기 3D 이미지를 디스플레이하는 과정을 포함하는,
    3D 이미지를 디스플레이하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 복수의 영역들은 서로 중첩하지 않는,
    3D 이미지를 디스플레이하기 위한 방법.
  9. 제 7 항에 있어서,
    상기 패킹해제하는 것은 상기 복수의 영역들 중 적어도 하나를 회전시키는 것을 포함하는,
    3D 이미지를 디스플레이하기 위한 방법.
  10. 제 7 항에 있어서,
    상기 패킹해제하는 것은 상기 복수의 영역들 중 적어도 하나의 하나 이상의 변의 길이를 변경하는 것을 포함하는,
    3D 이미지를 디스플레이하기 위한 방법.
  11. 제 7 항에 있어서,
    상기 패킹해제하는 것은 상기 복수의 영역들 중 적어도 하나의 수평 축과 수직 축에 상이한 샘플링 레이트들을 적용하는 것을 포함하는,
    3D 이미지를 디스플레이하기 위한 방법.
  12. 제 7 항에 있어서,
    상기 패킹된 2D 이미지는 렌더링되지 않는 적어도 하나의 추가적인 영역을 더 포함하는,
    3D 이미지를 디스플레이하기 위한 방법.
  13. 3D 이미지를 프로세싱하기 위한 송신기로서,
    통신 인터페이스; 및
    상기 통신 인터페이스에 연결된 프로세서를 포함하고,
    상기 프로세서는 청구항 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하도록 구성되는,
    3D 이미지를 프로세싱하기 위한 송신기.
  14. 3차원(3D) 이미지를 디스플레이하기 위한 장치로서,
    통신 인터페이스; 및
    상기 통신 인터페이스에 연결된 프로세서를 포함하고,
    상기 프로세서는 청구항 제 7 항 내지 제 13 항 중 어느 한 항의 방법을 수행하도록 구성되는,
    3D 이미지를 디스플레이하기 위한 장치.
PCT/KR2017/009829 2016-09-09 2017-09-07 3차원 이미지를 프로세싱하기 위한 방법 및 장치 WO2018048223A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP17849107.2A EP3489891B1 (en) 2016-09-09 2017-09-07 Method and device for processing three-dimensional image data
US16/331,355 US20190199995A1 (en) 2016-09-09 2017-09-07 Method and device for processing three-dimensional image
CN201780043925.6A CN109478313B (zh) 2016-09-09 2017-09-07 处理三维图像的方法和设备
JP2019503545A JP7069111B2 (ja) 2016-09-09 2017-09-07 3次元イメージを処理するための方法及び装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662385446P 2016-09-09 2016-09-09
US62/385,446 2016-09-09
KR10-2017-0114060 2017-09-06
KR1020170114060A KR102352933B1 (ko) 2016-09-09 2017-09-06 3차원 이미지를 프로세싱하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2018048223A1 true WO2018048223A1 (ko) 2018-03-15

Family

ID=61561563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/009829 WO2018048223A1 (ko) 2016-09-09 2017-09-07 3차원 이미지를 프로세싱하기 위한 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2018048223A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034509A1 (en) * 2018-12-14 2020-02-20 Zte Corporation Immersive video bitstream processing
KR20200060900A (ko) * 2018-11-23 2020-06-02 (주)텔리언 다방향 뷰 영상 데이터 전송 시스템
CN111862033A (zh) * 2020-07-15 2020-10-30 上海联影医疗科技有限公司 医学图像处理方法、装置、图像处理设备及存储介质
US11783445B2 (en) * 2018-04-11 2023-10-10 Beijing Boe Optoelectronics Technology Co., Ltd. Image processing method, device and apparatus, image fitting method and device, display method and apparatus, and computer readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020070015A (ko) * 2001-02-28 2002-09-05 김남국 상하좌우 360도 파노라믹 또는 구면 동영상 압축 및전송을 위한 방법 및 장치
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images
US20150249815A1 (en) * 2013-05-01 2015-09-03 Legend3D, Inc. Method for creating 3d virtual reality from 2d images
WO2016076680A1 (en) * 2014-11-14 2016-05-19 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
KR20160079357A (ko) * 2014-12-26 2016-07-06 주식회사 케이티 파노라믹 비디오 영상의 관심 영역의 영상 전송 방법, 장치 및 디바이스

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020070015A (ko) * 2001-02-28 2002-09-05 김남국 상하좌우 360도 파노라믹 또는 구면 동영상 압축 및전송을 위한 방법 및 장치
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images
US20150249815A1 (en) * 2013-05-01 2015-09-03 Legend3D, Inc. Method for creating 3d virtual reality from 2d images
WO2016076680A1 (en) * 2014-11-14 2016-05-19 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
KR20160079357A (ko) * 2014-12-26 2016-07-06 주식회사 케이티 파노라믹 비디오 영상의 관심 영역의 영상 전송 방법, 장치 및 디바이스

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783445B2 (en) * 2018-04-11 2023-10-10 Beijing Boe Optoelectronics Technology Co., Ltd. Image processing method, device and apparatus, image fitting method and device, display method and apparatus, and computer readable medium
KR20200060900A (ko) * 2018-11-23 2020-06-02 (주)텔리언 다방향 뷰 영상 데이터 전송 시스템
KR102130784B1 (ko) * 2018-11-23 2020-07-06 (주)텔리언 다방향 뷰 영상 데이터 전송 시스템
WO2020034509A1 (en) * 2018-12-14 2020-02-20 Zte Corporation Immersive video bitstream processing
US11948268B2 (en) 2018-12-14 2024-04-02 Zte Corporation Immersive video bitstream processing
CN111862033A (zh) * 2020-07-15 2020-10-30 上海联影医疗科技有限公司 医学图像处理方法、装置、图像处理设备及存储介质
CN111862033B (zh) * 2020-07-15 2024-02-20 上海联影医疗科技股份有限公司 医学图像处理方法、装置、图像处理设备及存储介质

Similar Documents

Publication Publication Date Title
KR102352933B1 (ko) 3차원 이미지를 프로세싱하기 위한 방법 및 장치
WO2018048223A1 (ko) 3차원 이미지를 프로세싱하기 위한 방법 및 장치
KR102594003B1 (ko) 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림
CN109644279B (zh) 用于用信号通知360度视频信息的方法和系统
WO2017138801A1 (ko) 360도 영상 처리 방법 및 장치
CN109891465B (zh) 用于处理虚拟现实图像的方法和装置
US10855968B2 (en) Method and apparatus for transmitting stereoscopic video content
EP3642800A1 (en) Point cloud and mesh compression using image/video codecs
WO2018048287A1 (ko) 가상 현실 컨텐트의 영상을 투영하기 위한 영상 처리 방법 및 장치
WO2018131813A1 (en) Method and apparatus for generating metadata for 3d images
WO2019034808A1 (en) CODING AND DECODING VOLUMETRIC VIDEO
TWI655608B (zh) 標示關注區域之方法與裝置
TW201840180A (zh) 生成和編碼包括堆疊在360度虛擬實境投影佈局中的至少一個填充區域和至少一個投影面的基於投影的圖框的方法及裝置
JP2021502033A (ja) ボリュメトリックビデオを符号化/復号する方法、装置、およびストリーム
KR20170096975A (ko) 전방향성 영상의 메타데이터를 송수신하는 기법
KR20040050888A (ko) 비평면 화상의 화상 처리 장치 및 화상 처리 방법, 기억매체 및 컴퓨터 프로그램
WO2019209838A1 (en) Method, apparatus and stream for volumetric video format
WO2020189983A1 (en) Method and apparatus for accessing and transferring point cloud content in 360-degree video environment
CA3038689A1 (en) Methods, devices and stream to encode global rotation motion compensated images
TWI681662B (zh) 用於減少基於投影的圖框中的偽影的方法和裝置
US20210209808A1 (en) Compression of dynamic unstructured point clouds
WO2018109265A1 (en) A method and technical equipment for encoding media content
KR102331041B1 (ko) 3차원 이미지에 관한 데이터를 전송하기 위한 방법
US10827160B2 (en) Method for transmitting data relating to three-dimensional image
WO2018110839A1 (ko) 3차원 이미지에 관한 데이터를 전송하기 위한 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17849107

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019503545

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2017849107

Country of ref document: EP

Effective date: 20190221

NENP Non-entry into the national phase

Ref country code: DE