KR20200051784A - 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 - Google Patents

3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 Download PDF

Info

Publication number
KR20200051784A
KR20200051784A KR1020207010539A KR20207010539A KR20200051784A KR 20200051784 A KR20200051784 A KR 20200051784A KR 1020207010539 A KR1020207010539 A KR 1020207010539A KR 20207010539 A KR20207010539 A KR 20207010539A KR 20200051784 A KR20200051784 A KR 20200051784A
Authority
KR
South Korea
Prior art keywords
depth
data
scene
patch
color
Prior art date
Application number
KR1020207010539A
Other languages
English (en)
Other versions
KR102600011B1 (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
Priority claimed from EP17306188.8A external-priority patent/EP3457688A1/en
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20200051784A publication Critical patent/KR20200051784A/ko
Application granted granted Critical
Publication of KR102600011B1 publication Critical patent/KR102600011B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • 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/15Processing image signals for colour aspects of 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

3 차원 장면들의 시퀀스가 인코더에 의해 비디오로서 인코딩되고 3D 장면들의 시퀀스를 검색하는 디코더로 송신된다. 결정된 뷰 포인트로부터 보이는 3D 장면의 포인트들은 스트림의 다른 트랙들과 독립적으로 디코딩될 수 있도록 하기 위해 스트림의 제1 트랙에서 컬러 이미지로서 인코딩된다. 컬러 이미지는 3 자유도 렌더링과 호환 가능하다. 장면의 잔차 포인트들의 깊이 정보 및 깊이 및 컬러는 스트림의 개별 트랙들에서 인코딩되고, 디코더가 볼류메트릭 렌더링을 위한 장면을 디코딩하도록 구성된 경우에만 디코딩된다.

Description

3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
본 개시내용은 볼류메트릭 비디오 콘텐츠(volumetric video content)의 분야에 관한 것이다. 본 개시내용은, 예를 들어 모바일 디바이스들 또는 머리-장착 디스플레이들과 같은 최종 사용자 디바이스들 상에서 몰입 렌더링(immersive rendering)을 위한, 볼류메트릭 콘텐츠를 나타내는 데이터의 포맷팅의 맥락에서 또한 이해된다.
이 단원은 아래에서 설명 및/또는 청구되는 본 개시내용의 다양한 양태와 관련될 수 있는 기술의 다양한 양태를 독자에게 소개하고자 한다. 이러한 토론은 본 발명의 다양한 양태의 보다 나은 이해를 촉진하도록 독자에게 배경 정보를 제공하는데 도움이 될 것으로 생각된다. 따라서, 이러한 설명들은 이러한 관점에서 읽혀져야 하고, 선행 기술을 참작하는 것이 아니라는 것을 이해하여야 한다.
360° 플랫 비디오(flat video)라고도 하는 몰입형 비디오는 사용자가 그의 머리를 정지(still) 뷰 포인트(point of view)를 중심으로 회전하여 자신을 사방으로 볼 수 있게 한다. 회전들은 3 자유도(3 Degrees of Freedom)(3DoF) 경험만 가능하게 한다. 예를 들어 머리-장착 디스플레이 디바이스(Head-Mounted Display)(HMD)를 사용하여 제1 전방향 비디오 경험을 하는데는 3DoF 비디오가 충분할지라도, 예를 들어 시차를 경험함으로써 더 많은 자유를 기대하는 시청자는 3DoF 비디오에 금방 좌절할 수 있다. 또한, 3DoF는 사용자가 그의 머리를 회전할 뿐만 아니라 그의 머리를 세 방향으로 평행이동시키기 때문에 현기증을 또한 유발할 수 있고, 그 평행이동들은 3DoF 비디오 경험에서 재현되지 않는다.
(6 자유도(6 Degrees of Freedom)(6DoF) 비디오라고도 알려진) 볼류메트릭 비디오는 3DoF 비디오의 대안이다. 6DoF 비디오를 시청하고 있을 때, 사용자는 회전 외에도 시청된 콘텐츠 내에서 그의 머리와 심지어 그의 몸을 또한 평행이동시킬 수 있고, 시차와 심지어 볼륨들을 경험할 수 있다. 이러한 비디오들은 몰입감 및 장면 깊이의 인식을 상당히 높여주며, 머리의 평행이동들 중에 일관적인 시각적 피드백을 제공함으로써 현기증을 또한 방지한다. 콘텐츠는 전용 센서들에 의해 생성되어 관심 장면의 컬러와 깊이의 동시적인 기록을 가능하게 한다. 사진 측량 기술들과 결합된 컬러 카메라들의 장비를 사용하는 것이 그러한 기록을 수행하는 일반적인 방법이다.
3DoF 비디오들은 텍스처 이미지들(예를 들어, 위도/경도 투영 매핑(latitude/longitude projection mapping) 또는 정방형 투영 매핑(equirectangular projection mapping)에 따라 인코딩된 구형 이미지(spherical image)들)의 매핑 해제로 생긴 이미지들의 시퀀스를 포함하지만, 6DoF 비디오 프레임들에는 여러 뷰 포인트로부터의 정보가 삽입된다. MVD(Multiview + Depth) 프레임들이라고도 하는 6DoF 비디오 프레임들은 상이한 뷰 포인트들 및/또는 뷰의 방향으로부터 캡처된 복수의 이미지를 포함한다. 이들은 또한 3 차원 캡처로부터 발생한 일시적인 포인트 클라우드(point cloud)들의 시리즈로 보일 수도 있다. 시청 조건들에 따라 두 종류의 볼류메트릭 비디오가 고려될 수 있다. 첫 번째 것(즉, 완전한 6DoF)은 비디오 콘텐츠 내에서 완전 자유 항해(complete free navigation)를 가능하게 하는 반면, 두 번째 것(일명 3DoF+)은 사용자 시청 공간을 제한된 볼륨으로 제한하여, 머리의 회전 및 시차 경험이 제한되게 한다. 이러한 두 번째 맥락은 자유 항해와 좌석에 앉은 청중 구성원의 수동적 시청 조건 사이의 중요한 트레이드오프이다. 또한 3DoF+ 비디오들은 6DoF 비디오들보다 적은 수의 카메라와 더 간단한 장비들을 요구한다.
3DoF 비디오들은 선택된 투영 매핑(예를 들어, 입방체 투영 매핑(cubical projection mapping), 피라미드 투영 매핑(pyramid projection mapping) 또는 정방형 투영 매핑(equirectangular projection mapping))에 따라 생성된 직사각형 컬러 이미지들의 시퀀스로서 스트림으로 인코딩될 수 있다. 이러한 인코딩은 표준 이미지 및 비디오 처리 표준들을 이용하는 장점이 있다. 3DoF+ 비디오(컬러 이미지 + 깊이 이미지)의 뷰들은 레거시 표준 인코딩 방법들에 의해 인코딩될 수 있다. 그러나 n 개 뷰 비디오를 인코딩하는 것은 2n 개 비디오를 인코딩하는 것과 동등하고 많은 양의 데이터를 필요로 하여, 결과 스트림은 브로드캐스팅 또는 스트리밍에 적합하지 않다. 3DoF+ 및 6Dof 비디오들은 포인트 클라우드들의 컬러 포인트들의 깊이를 인코딩할 추가 데이터를 필요로 한다. 볼류메트릭 장면에 대한 렌더링의 종류(즉, 3DoF 또는 볼류메트릭 렌더링)는 장면을 스트림으로 인코딩할 때 선험적으로 알고 있지 않다. 현재까지 스트림들은 한 종류의 렌더링 또는 다른 렌더링으로 인코딩된다. 한 번에 인코딩되고 3DoF 비디오로서 또는 볼류메트릭 비디오(3DoF+ 또는 6DoF)로서 디코딩될 수 있는 볼류메트릭 장면을 나타내는 데이터를 반송할 수 있고 MVD 표준 인코딩보다 적은 양의 데이터를 요구하는 스트림 포맷 및, 연관된 방법과 디바이스는 없다.
본 명세서에서 "일 실시예", "실시예", "예시적 실시예", "특정 실시예"라는 언급들은 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함하지 않을 수 있다는 것을 시사한다. 더욱이, 그러한 문구들이 반드시 동일한 실시예를 언급하는 것은 아니다. 또한, 특정 특징, 구조 또는 특성이 실시예와 관련하여 설명될 때, 명시적으로 설명되든지에 관계없이 다른 실시예들과 관련하여 그러한 특징, 구조 또는 특성에 영향을 미치는 것은 관련 기술분야의 통상의 기술자의 지식 범위 내에 있다고 생각된다.
하나 이상의 실시예에 따르면, 상이한 수단에 의해 획득된 3D 장면을 스트림으로 인코딩하기 위한 디바이스 및 방법이 제공된다. 스트림은 신택스의 요소들로 구조화된다. 방법은,
- 제1 투영 매핑에 따라 뷰 포인트로부터 보이는 3D 장면의 포인트들을 제1 컬러 맵 상에 투영함으로써 제1 컬러 데이터를 생성하는 단계 - 제1 컬러 데이터는 뷰 포인트를 중심으로 3 회전 자유도를 가능하게 하는 렌더링에 적응된 컬러 이미지이다 -;
- 제2 투영 매핑에 따라 뷰 포인트로부터 보이는 3D 장면의 포인트들을 제1 깊이 맵 상에 투영함으로써 제1 깊이 데이터를 생성하는 단계 - 제1 깊이 데이터는 패치 데이터 아이템 리스트(patch data item list)와 연관된 깊이 패치 아틀라스(depth patch atlas)에 패킹된 패치 픽처들로서 인코딩된다. 패치 데이터 아이템은 깊이 패치 픽처를 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함한다 -;
- 상기 뷰 포인트로부터 보이지 않는 3D 장면의 포인트들을 나타내는 제2 컬러 데이터 및 제2 깊이 데이터를 생성하는 단계; 및
- 스트림에서, 제1 컬러 데이터를 신택스의 제1 요소로 인코딩하고 제1 깊이 데이터, 제2 컬러 데이터 및 제2 깊이 데이터를 신택스의 적어도 제2 요소로 인코딩하는 단계를 포함한다.
본 개시내용은 또한 위에서 제시된 바와 같은 방법에 따라 및/또는 디바이스에 의해 생성된 스트림으로부터 3D 장면을 디코딩하기 위한 디바이스 및 방법에 관한 것이다.
본 개시내용은 더 잘 이해될 것이고, 첨부 도면을 참조하여 다음의 설명을 읽을 때 다른 특정 특징 및 장점이 나타날 것이며, 설명은 첨부 도면들을 참조하여 설명된다.
- 도 15는 본 원리들의 비제한적 실시예에 따라, 두 개의 뷰를 포함하는 멀티 뷰 플러스 깊이(multi-view plus depth)(MVD) 프레임을 도시한다.
- 도 1은 본 원리들의 비제한적 실시예에 따라, 물체의 3 차원(three-dimension)(3D) 모델 및 3D 모델에 대응하는 포인트 클라우드의 포인트들을 도시한다.
- 도 2는 본 원리들의 비제한적 실시예에 따라, 여러 물체의 표면 표현을 포함하는 3 차원 장면을 나타내는 이미지를 도시한다.
- 도 3은 본 원리들의 비제한적 실시예에 따라, 도 2의 장면상의 뷰 포인트들의 예시적인 배열 및 이러한 배열의 상이한 뷰 포인트들로부터 이러한 장면의 가시 포인트들을 도시한다.
- 도 4는 본 원리들의 비제한적 실시예에 따라, 도 3의 뷰 포인트에 따라 도 2의 장면의 상이한 뷰들을 보여줌으로써 시차 경험을 도시한다.
- 도 5는 본 원리들의 비제한적 실시예에 따라, 정방형 투영 매핑에 따라 도 3의 뷰 포인트로부터 보이는 도 2의 장면의 포인트들을 인코딩하는 컬러 이미지를 도시한다.
- 도 6은 본 원리들의 비제한적 실시예에 따라, 입방체 투영 매핑에 따라 인코딩된 도 5의 장면의 동일 포인트들의 이미지를 도시한다.
- 도 7은 본 원리들의 비제한적 실시예에 따라, 도 3의 뷰 포인트로부터 도 2의 3D 장면의 깊이 맵(깊이 이미지라고도 함)을 도시한다.
- 도 8은 본 원리들의 비제한적 실시예에 따라, 도 5의 컬러 맵에 투영된 장면의 포인트들에 대한 깊이 패치 아틀라스의 일부를 도시한다.
- 도 9는 본 원리들의 비제한적 실시예에 따라, 도 5 또는 도 6의 이미지의 인코딩 후에 패치들로서 잔차 포인트(residual point)들의 인코딩을 도시한다.
- 도 16은 본 원리들의 비제한적 실시예에 따라, 도 15의 MVD 프레임으로부터 시작하여, 뷰 포인트로부터 몰입형 이미지를 생성하고 프레임의 뷰들로부터 사용되지 않는 픽셀들을 제거하는 것을 도시한다.
- 도 10은 본 원리들의 비제한적 실시예에 따라, 동시에 3DoF 렌더링 호환 가능하고 볼류메트릭 렌더링 호환 가능한 포맷으로 3D 장면의 시퀀스를 인코딩, 송신 및 디코딩하는 예를 도시한다.
- 도 11은 본 원리들의 비제한적 실시예에 따라, 데이터가 패킷 기반 전송 프로토콜을 통해 송신될 때 스트림의 신택스의 실시예의 예를 도시한다.
- 도 12는 본 원리들의 비제한적 실시예에 따라, 도 13 및/또는 도 14와 관련하여 설명된 방법을 구현하도록 구성될 수 있는 디바이스의 예시적인 아키텍처를 도시한다.
- 도 13은 본 원리들의 비제한적 실시예에 따라, 도 10의 디바이스(101)로 구성된 (도 12와 관련하여 설명된) 디바이스에서 3D 장면을 스트림으로 인코딩하기 위한 방법을 도시한다.
- 도 14는 본 원리들의 비제한적 실시예에 따라, 도 10의 디바이스(103)로 구성된 (도 12와 관련하여 설명된) 디바이스(120)에서 스트림으로부터 3 차원 장면을 디코딩하기 위한 방법을 도시한다.
이제 본 주제가 도면을 참조하여 설명되며, 도면에서 유사한 참조 부호들은 전체에 걸쳐 유사한 요소들을 지칭하는데 사용된다. 다음의 설명에서, 설명 목적을 위해, 본 주제의 철저한 이해를 제공하기 위해 많은 특정 세부 사항이 제시된다. 그러나, 본 주제 실시예들은 이러한 특정 세부 사항들 없이 실시될 수 있음이 명백할 수 있다.
본 설명은 본 개시내용의 원리들을 예시한다. 따라서, 본 명세서에서 명시적으로 설명되거나 도시되지 않았지만, 관련 기술분야의 통상의 기술자가 본 개시내용의 원리들을 구현하고 그 범위 내에 포함되는 다양한 배열을 고안할 수 있다는 것이 인식될 것이다.
본 원리들은 3 차원(3D) 장면을 3D 장면의 3DoF 및/또는 볼류메트릭 렌더링을 위한 스트림으로 나타내는 데이터를 인코딩하는 방법, 그러한 데이터를 반송하는 스트림을 위한 포맷, 및 디코더가 디코딩된 데이터를 3DoF 렌더러 및/또는 볼류메트릭(즉, 3DoF+ 또는 6DoF) 장면들에 제공하도록 구성되는 경우, 그러한 스트림으로부터 그러한 데이터를 디코딩하기 위한 방법의 특정 실시예들을 참조하여 설명될 것이다. 볼류메트릭 비디오는 복수의 카메라에 의해 MVD 프레임들의 시퀀스로서 캡처될 수 있는 볼류메트릭 장면들의 시퀀스이다. MVD 프레임은 컬러 및 깊이 이미지를 포함한다. 스트림은 3DoF 렌더러가 전달한대로 사용할 수 있는 데이터를 반송한다. 3DoF 렌더러는 볼류메트릭 장면을 고정된 뷰 포인트로부터 캡처된 것처럼 렌더링하기 위해 수정의 어떠한 업데이트도 필요하지 않다. 스트림의 신택스의 제1 요소는 3DoF 렌더러가 고정된 뷰 포인트로부터의 3D 장면을 렌더링할 것으로 예상되는 장면의 일부에 대응하는 데이터를 포함한다. 뷰 포인트가 고정되지 않은 볼류메트릭 렌더러에 의해 3D 장면을 렌더링하기 위해, 스트림은 적어도 신택스의 제2 요소를 포함한다. 제1 실시예에서, 신택스의 제2 요소는 신택스의 제1 요소로 인코딩된 포인트들에 대응하는 픽셀들이 제거되는 MVD 프레임들을 포함한다. 제2 실시예에서, 신택스의 제2 요소는 제1 뷰 포인트로부터 보이지 않는 3D 장면의 부분에 관한 추가 정보를 포함한다.
본 원리들에 따르면, 3D 장면으로부터 시작하는, 코더에서 구현된 코딩 방법은 3D 장면을 나타내는 데이터를 반송하는 데이터 스트림을 생성하는데 사용된다. 인코딩 방법은 뷰 포인트로부터 3D 장면의 3DoF 렌더링을 위한 데이터를 반송하는 컬러 이미지를 준비한다. 이러한 제1 컬러 이미지는 스트림으로부터 다른 데이터와 독립적으로 추출될 수 있도록 하기 위해 생성된 스트림의 신택스의 제1 요소에 삽입된다. 볼류메트릭 렌더링을 준비할 때, 방법은 제1 컬러 이미지에 투영된 포인트들의 깊이를 인코딩한다. 이러한 포인트들(결정된 뷰 포인트로부터 보이는 포인트들)의 깊이는 깊이 이미지로서 인코딩될 수 있다. 변형 예에서, 깊이를 인코딩하는데 사용되는 값 범위의 역학을 최적화하기 위해, 깊이는 기존 방법들에 따라 패치 아틀라스로서 인코딩될 수 있다. 제1 실시예에서, 방법은 제1 컬러 이미지를 생성하는데 사용된 장면의 포인트들에 대응하는 MVD 프레임의 컬러 및 깊이 이미지들의 픽셀들을 제거한다(즉, 픽셀들을 디폴트 컬러 및 깊이, 예를 들어 흑색으로 대체한다). 장면의 잔차 포인트들은 3DoF 렌더링의 경우에 고정된 뷰 포인트인 것으로 결정된 뷰 포인트로부터 보이지 않는 포인트들이다. 잔차 포인트들에 대응하는 픽셀들은 MVD 프레임에 남겨진다. 제2 실시예에서, 방법은 제1 컬러 이미지에서 아직 인코딩되지 않은 장면의 컬러 및 포인트들의 깊이를 추가로 인코딩한다. 장면의 잔차 포인트들은 3DoF 렌더링의 경우에 고정된 뷰 포인트인 것으로 결정된 뷰 포인트로부터 보이지 않는 포인트들이다. 잔차 포인트들은 하나 이상의 컬러 이미지 및 깊이 이미지로 인코딩될 수 있다. 변형 예에서, 잔차 포인트들은 기존 방법들에 따라 패치 아틀라스 이미지들로 인코딩된다. 볼류메트릭 렌더링을 고려하여 준비된 데이터는 스트림의 신택스의 제2 요소에 삽입된다.
본 원리들에 따르면, 디코더에서 구현된 디코딩 방법이 개시된다. 디코더는 소스, 예를 들어 메모리 또는 네트워크 인터페이스로부터 본 인코딩 방법에 따라 인코딩된 스트림을 획득한다. 스트림은 신택스의 적어도 두 개의 요소를 포함하고, 신택스의 제1 요소는 3DoF 렌더링을 위한 3D 장면을 나타내는 데이터를 반송한다. 실시예에서, 이러한 신택스의 제1 요소는 결정된 뷰 포인트로부터 3D 장면의 포인트들을 컬러 이미지로 투영 매핑함에 따라 인코딩된 컬러 이미지를 포함한다. 스트림의 신택스의 적어도 하나의 제2 요소는 3D 장면을 3DoF+ 또는 6DoF 모드로 렌더링하기 위한 볼류메트릭 렌더러에 필요한 데이터를 반송한다. 디코더는 스트림의 신택스의 제1 요소로부터 제1 컬러 이미지를 디코딩한다. 디코더가 3DoF 렌더링을 위한 스트림을 디코딩하도록 구성된 경우, 디코더는 추가 회로, 예를 들어 렌더러 또는 포맷 변환기에 스트림의 신택스의 제1 요소로부터의 디코딩된 데이터를 제공한다. 디코더가 스트림을 볼류메트릭 모드(즉, 3DoF+ 또는 6DoF)에서 디코딩하도록 구성된 경우, 디코더는 신택스의 적어도 하나의 제2 요소에 삽입된 데이터를 디코딩하고 추가 모듈, 예를 들어 렌더러 또는 포맷 변환기에 모든 디코딩된 데이터를 제공한다.
도 15는 두 개의 뷰를 포함하는 멀티뷰 플러스 깊이(MVD) 프레임을 도시한다. MVD 프레임의 각각의 뷰는 컬러 이미지(텍스처라고도 함) 및 깊이 이미지를 포함한다. 도 15의 예에서, MVD 프레임은 두 개의 뷰를 포함하는데, 제1 뷰는 컬러 이미지(150t) 및 깊이 이미지(150d)를 포함하고 제2 뷰는 컬러 이미지(151t) 및 깊이 이미지(151d)를 포함한다. 변형 예에서, 뷰는 컬러 및 깊이가 함께 인코딩된 픽셀들로 된 하나의 이미지만을 포함한다. 제1 뷰 및 제2 뷰는 상이한 방향들로 지향되고 상이한 위치들에 배치된 두 개의 카메라(도 15의 예에서 광각 카메라들)에 의해 캡처된 장면의 일부에 대응한다. 일부 물체(예를 들어, 캐릭터들, 문들, 천장의 일부 등)는 두 이미지에 모두 존재한다. 레거시 표준 압축 방법을 사용하여 이러한 두 개의 뷰를 인코딩하면 여러 번 동일한 정보를 인코딩하는 것 초래하게 되고, 그래서 매우 큰 스트림이 생성된다.
MVD 프레임의 각각의 뷰는 뷰를 메타데이터의 형태로 캡처한 카메라의 외부 및 내부 파라미터들과 연관된다. 카메라의 외부 파라미터들(예를 들어, 3D 장면 내 카메라의 배치 장소 및 위치) 및 깊이 이미지를 사용함으로써, 컬러 이미지의 픽셀을 3D 공간으로 역 투영(de project)하여 컬러 포인트 클라우드를 획득하는 것이 가능하다.
도 1은 물체의 3 차원(3D) 모델(10) 및 3D 모델(10)에 대응하는 포인트 클라우드의 포인트들(11)을 도시한다. 모델(10)은 3D 메시 표현일 수 있고 포인트 클라우드의 포인트들(11)은 메시의 정점들일 수 있다. 포인트들(11)은 또한 메시의 면들의 표면상에 펼쳐진 포인트들일 수 있다. 모델(10)은 또한 클라우드의 포인트(11)를 뿌린 버전으로 표현될 수 있으며; 모델(10)의 표면은 클라우드 포인트(11)의 포인트를 뿌려서 생성된다. 모델(10)은 복셀(voxel)들 또는 스플라인(spline)들과 같은 많은 표현으로 나타낼 수 있다. 도 1은 3D 물체의 표면 표현으로부터 포인트 클라우드를 정의하는 것이 항상 가능하고 클라우드의 포인트로부터 3D 물체의 표면 표현을 반복적으로 생성하는 것이 항상 가능하다는 사실을 보여준다. 본 명세서에 사용되는 바와 같이, (3D 장면의 확장 포인트들에 의해) 3D 물체의 포인트들을 이미지로 투영하는 것은 이러한 3D 물체의 임의의 표현을 물체에 투영하는 것과 동등하다.
도 2는 여러 물체의 표면 표현을 포함하는 3 차원 장면을 나타내는 이미지(20)를 도시한다. 장면은 임의의 적합한 기술을 사용하여 캡처되었을 수 있다. 예를 들어, 이것은 컴퓨터 그래픽 인터페이스(computer graphics interface)(CGI) 도구들을 사용하여 생성되었을 수 있다. 이것은 컬러 이미지 및 깊이 이미지 획득 디바이스들에 의해 MVD 프레임으로서 캡처되었을 수 있다. 그러한 경우, 획득 디바이스들(예를 들어 카메라들)로부터 보이지 않는 물체들의 일부가 도 3 및 도 8과 관련하여 설명되는 바와 같이 장면에서 표현되지 않을 수 있다. 도 2에 도시된 예시적인 장면은 주택들, 두 개의 캐릭터 및 우물을 포함한다. 도 2의 큐브(33)는 사용자가 3D 장면을 관찰할 가능성 있는 뷰 공간(space of view)을 예시한다.
도 3은 장면상의 뷰 포인트들의 예시적인 배열 및 이러한 배열의 상이한 뷰 포인트들로부터 이 장면의 가시적인 포인트들을 도시한다. 몰입형 렌더링 디바이스(예를 들어, 케이브(cave) 또는 머리-장착 디스플레이 디바이스(HMD))에 의해 렌더링되고 디스플레이되기 위해, 3D 장면은 뷰 포인트, 예를 들어 뷰 포인트(30)로부터 고려된다. 뷰 포인트(30) 및 장면 포인트(31) 사이에 아무런 불투명한 물체가 놓여 있지 않기 때문에, 제1 캐릭터의 오른쪽 팔꿈치에 대응하는 장면의 포인트(31)는 뷰 포인트(30)에서 보인다. 반대로, 제2 캐릭터의 왼쪽 팔꿈치에 대응하는 장면 포인트(32)는 제1 캐릭터의 포인트들에 의해 가려 있으므로 뷰 포인트(30)로부터 보이지 않는다. 3DoF 렌더링의 경우, 뷰 포인트, 예를 들어 뷰 포인트(30)만 고려된다. 사용자는 그의 머리를 뷰 포인트를 중심으로 3 자유도로 회전시킬 수 있지만 뷰 포인트를 이동시킬 수는 없다. 스트림에서 인코딩할 장면의 포인트들은 이러한 뷰 포인트로부터 보이는 포인트들이다. 이러한 뷰 포인트로부터 보이지 않는 장면의 포인트들을 인코딩할 필요가 없는데, 왜냐하면 사용자가 뷰 포인트를 이동시켜 이들 포인트에 액세스할 수 없기 때문이다. 6DoF 렌더링에서, 사용자는 장면의 어느 곳이든 뷰 포인트를 이동시킬 수 있다. 이 경우, 자신의 뷰 포인트를 대체할 수 있는 사용자에 의해 모든 포인트가 잠재적으로 액세스 가능하므로 콘텐츠 스트림 내 장면의 모든 포인트를 인코딩한다는 것이 값진 것이다. 인코딩 단계에서, 사용자가 어떤 뷰 포인트에서 장면을 관찰할 것인지를 선험적으로 알게 하는 수단이 없다. 3DoF+ 렌더링에서, 사용자는 뷰 포인트를 중심으로 제한된 공간 내에서 뷰 포인트를 이동시킬 수 있다. 예를 들어, 사용자는 뷰 포인트(30)에 중심을 둔 큐브(33) 내에서 자신의 뷰 포인트를 이동시킬 수 있고, 따라서 도 4와 관련하여 예시된 바와 같은 시차를 경험할 수 있다. 뷰 공간의 임의의 포인트, 예를 들어 큐브(33)로부터 보이는 장면의 일부를 나타내는 데이터는 스트림으로 인코딩되어야 한다. 뷰 공간의 크기 및 형상은 인코딩 단계에서 판단 및 결정되고 스트림으로 인코딩될 수 있다. 디코더는 이러한 정보를 스트림으로부터 획득하고 렌더러는 뷰 공간을 획득된 정보에 의해 결정된 공간으로 제한한다. 다른 실시예에서, 렌더러는 예를 들어 사용자의 움직임들을 검출하는 센서들의 능력들과 관련하여 하드웨어 제약들에 따라 뷰 공간을 결정한다. 그러한 경우에, 인코딩 단계에서, 렌더러의 뷰 공간 내의 포인트로부터 보이는 포인트가 데이터 스트림으로 인코딩되지 않았다면, 이 포인트는 렌더링되지 않을 것이다. 실시예에서, 인코딩 방법은 뷰 공간을 렌더링하는 것을 고려하지 않고 스트림 내 장면의 모든 포인트를 인코딩한다. 다른 실시예에서, 스트림의 크기를 최적화하기 위해, 예를 들어 뷰 공간을 렌더링함에 따라 결정된 장면의 포인트들의 서브세트만이 인코딩된다.
도 4는 볼류메트릭 렌더링에 의해 가능해진 시차 경험을 도시한다. 도 4b는 사용자가 도 3의 뷰 포인트(30)에서 볼 수 있는 장면의 일부를 도시한다. 이러한 뷰 포인트로부터, 두 캐릭터는 주어진 공간 구성 내에 있는데, 예를 들어, (흰 셔츠와 함께) 제2 캐릭터의 왼쪽 팔꿈치는 그의 머리가 보이는 동안 제1 캐릭터의 몸에 가려져 있다. 사용자가 뷰 포인트(30)를 중심으로 그의 머리를 3 자유도로 회전시킬 때, 이 구성은 변하지 않는다. 뷰 포인트가 고정되면, 제2 캐릭터의 왼쪽 팔꿈치는 보이지 않는다. 도 4a는 도 3의 뷰 공간(33)의 좌측에서 뷰 포인트로부터 보이는 동일한 것을 도시한다. 그러한 뷰 포인트로부터, 시차 효과로 인해 도 3의 포인트(32)가 보인다. 따라서 볼류메트릭 렌더링의 경우, 포인트(32)는 데이터 스트림에서 인코딩되어야 하거나 또는 렌더링되지 않을 것이다. 도 4c는 도 3의 뷰 공간(33)의 우측의 뷰 포인트에서 관찰된 동일한 장면을 도시한다. 이러한 뷰 포인트의 위치로부터, 제2 캐릭터는 제1 캐릭터에 의해 거의 전체가 가려진다. 3D 장면 내에서 뷰 포인트를 이동시킴으로써, 사용자는 시차 효과를 경험한다. 두 가지 시차 효과는 (캐릭터들 사이의 시차와 같은) 물체들 간 시차(inter-objects parallax)와 (앞에 있는 캐릭터의 얼굴 일부를 발견하는 것과 같은) 물체들 내 시차(intra-objects parallax)로 구분될 수 있다.
도 5는 정방형 투영 매핑에 따라 도 3의 뷰 포인트(30)로부터 보이는 도 2의 장면의 포인트들을 인코딩하는 컬러 이미지를 도시한다. 정방형 투영 매핑은 구형 투영 매핑의 한 예이다. 도 6은 입방체 투영 매핑에 따라 인코딩된 장면의 동일한 포인트들의 이미지를 도시한다. 상이한 입방체 투영 매핑이 있다. 예를 들어, 큐브의 면들은 도 6의 이미지에서 상이하게 배열될 수 있고 및/또는 면들은 상이하게 지향될 수 있다. 결정된 뷰 포인트로부터 보이는 장면의 포인트들을 인코딩할 투영 매핑은 예를 들어 압축 기준에 따라 또는 예를 들어 표준 옵션에 따라 선택된다. 관련 기술분야의 통상의 기술자는 투영 매핑에 따라 포인트 클라우드의 투영에 의해 획득된 이미지를 상이한 투영 매핑에 따라 동일한 포인트 클라우드의 동등한 이미지로 변환하는 것이 항상 가능하다는 것을 알고 있다. 그럼에도 불구하고 그러한 변환은 투영의 해상도의 일부 손실을 의미할 수 있다.
도 5 및 도 6은 본 출원에서 흑과 백이다. 그렇지만 이들은 예를 들어, RGB 또는 YUV에서 장면의 포인트들의 컬러를 인코딩하는 컬러 이미지들의 예라는 것으로 이해된다. 도 5 및 도 6은 3D 장면의 3DoF 렌더링에 필요한 데이터를 포함한다. 신택스의 제1 요소에서, 이미지를 도 5 및 도 6의 예시적인 이미지로서 포함하는 데이터 스트림을 수신하는 디코더는 이미지의 인코딩에 사용된 방법과 상관된 방법을 사용하여 이미지를 디코딩한다. 스트림은 표준 이미지 및 비디오 압축 방법들 및 이미지 및 비디오 전송을 위한 표준 포맷, 예를 들어 MPEG 2, H264 또는 H265에 따라 인코딩될 수 있다. 디코더는 디코딩된 이미지(또는 이미지들의 시퀀스)를 3DoF 렌더러 또는 예를 들면 재 포맷을 위한 모듈로 전송할 수 있다. 3DoF 렌더러는 인코딩에서 사용된 투영 매핑(예를 들어, 도 5의 이미지에 대한 구체, 도 6의 이미지에 대한 큐브)에 대응하는 표면상에 이미지를 투영한다. 변형 예에서, 렌더러는 이미지를 투영하기 전에 상이한 투영 매핑에 따라 이미지를 변환한다.
이미지가 투영 매핑에 따라 3D 장면의 포인트들을 인코딩할 때 이미지는 3DoF 렌더링과 호환 가능하다. 장면은 360°에 있는 포인트들을 포함할 수 있다. 예를 들어 3DoF 렌더링과 호환 가능한 이미지들을 인코딩하는데 일반적으로 사용되는 투영 매핑들은, 구형 매핑들 중에서도 정방형 투영 또는 경도/위도 투영, 또는 상이한 레이아웃들의 입방체 투영 매핑들 또는 피라미드 투영 매핑들이다.
도 7은 도 3의 뷰 포인트(30)로부터 도 2의 3D 장면의 깊이 맵(깊이 이미지라고도 함)을 도시한다. 볼류메트릭 렌더링에는 깊이 정보가 필요하다. 도 7의 이미지의 예시적인 인코딩에서, 픽셀이 더 어두울수록, 포인트는 뷰 포인트로부터 이러한 픽셀에 더 가깝게 투영된다. 예를 들어, 깊이는 12 비트로 인코딩될 수 있는데, 즉 깊이는 0과 212-1 = 4095 사이의 정수로 표현된다. 예를 들어, 가장 가까운 포인트가 결정된 뷰 포인트로부터 1 미터에 위치되고, 가장 먼 포인트가 25 미터에 위치되면, 깊이의 선형 인코딩은 0,586 센티미터(=(2500 - 100)/4096)의 단계들로 수행될 것이다. 뷰 포인트로부터 먼 포인트의 깊이 값 부정확도가 뷰 포인트에 가까운 포인트에 대한 깊이 값 부정확도보다 덜 중요하므로 깊이는 또한 로그 스케일(logarithmic scale)에 따라 인코딩될 수 있다. 도 7의 예시적인 실시예에서, 뷰 포인트로부터 보이는 장면의 포인트들의 깊이는 도 5의 컬러 맵을 인코딩하는데 사용된 투영 매핑과 동일한 투영 매핑에 따라 깊이 맵으로 인코딩된다. 다른 실시예에서, 깊이는 상이한 투영 매핑에 따라 인코딩될 수 있다. 렌더러는 이러한 데이터로 인코딩된 장면의 포인트들을 역 투영하기 위해 깊이 맵 및/또는 컬러 이미지를 변환한다. 이러한 실시예는 깊이 부정확도를 증가시킬 수 있다.
다른 실시예에서, 결정된 뷰 포인트, 예를 들어 도 3의 뷰 포인트(30)로부터 보이는 포인트들의 깊이는 패치 아틀라스로서 인코딩될 수 있다. 도 8은 도 5의 컬러 맵(80)에 투영된 장면의 포인트들에 대한 깊이 패치 아틀라스(83)의 일부를 도시한다. 패치는 투영된 포인트들을 군집함으로써 획득된 픽처이다. 패치는 투영 맵에서 인접한 픽셀들의 영역을 정의하고 깊이 일관적인(depth consistent) 투영 포인트들의 일부에 대응한다. 그 일부는 대응하는 투영된 포인트들이 뷰 포인트로부터 공간에서 차지하는 각도 범위로 정의된다. 패치들은 그들의 연결성 및 깊이에 따라 투영 맵에 군집된다. 영역(P)은 투영이 발생한 그리고 깊이 일관적인 투영 맵의 인접한 픽셀들의 세트가 점유한다. 깊이 일관성 검사는 뷰 포인트와 P에 의해 점유된 각각의 투영된 포인트 사이의 거리(Z)를 고려하고, 이러한 픽셀들의 거리 범위가 문턱치(T)보다 깊지 않음을 보장하는 것으로 귀결된다. 이러한 문턱치는 Zmax(관찰 포인트와 P에 의해 점유된 투영된 픽셀들 사이의 최대 거리), 추가 생성 동작에 의해 생성된 픽처에 저장된 깊이의 역학(D) 및 지각 특성들에 종속할 수 있다. 예를 들어, 전형적인 인간 시력은 호(arc)의 약 3 분(minute)이다. 이들 기준에 따라 문턱치(T)를 결정하는 것은 몇 가지 장점이 있다. 한편으로, 추가 생성 동작에서 생성된 픽처의 이미지 패치는 생성된 픽처의 픽셀들의 깊이 해상도(예를 들어, 10 비트 또는 12 비트)와 일관적인 깊이 범위를 점유할 것이고, 따라서 압축 아티팩트들에 강인하다. 다른 한편, 깊이 범위는 3DoF+ 맥락에 의해 지각적으로 주도된다. 실제로, 인간의 시력은 가까운 또는 먼 포인트들의 거리를 동등하게 인식하지 못한다. 예로서, 문턱치는 다음의 수학식 [수학식 1]에 따라 정의된다.
Figure pct00001
여기서 VA는 시력의 값이다.
예를 들어, 패치(81)는 제1 캐릭터의 왼쪽 팔에 대해 획득된다. 역학 범위의 2D 값들은 몇 데시미터의 짧은 거리를 인코딩하는데 사용되므로 장면의 투영 포인트들의 부분의 깊이를 인코딩하는 것은 중요한 가치가 있어, 깊이 인코딩의 정밀도를 높이고 압축 아티팩트들에 대한 강인성을 높일 수 있다. 패치(82)는 한 쌍의 주택에 대해 획득된다. 인코딩할 깊이 범위는 더 크지만, 주택들은 뷰 포인트에서 멀리 있으므로 인코딩의 부정확도는 시각적 아티팩트들을 눈에 덜 띠게 한다. 그러나 장면의 이 부분에 대한 깊이 인코딩 정확도는 도 7의 깊이 맵과 비교하여 증가된다.
패치의 포인트들의 투영이 패치 아틀라스에서 차지할 크기에 따라, 패치들은 패치 아틀라스(83)라고 불리는 픽처(83) 내에서 주어진 각도 해상도(예를 들어, 픽셀 당 3 초 또는 픽셀 당 5 초)로 배열된다. 배열은 패치와 연관된 포인트들을 투영 (깊이 및 색상)하기 위한 패치 아틀라스 내의 영역을 예약하는데 있다. 예약된 영역의 크기는 픽처 각도 해상도 및 패치의 각도 범위에 종속한다. 프레임에서 영역들의 위치는 겹치지 않고 픽처의 프레임을 점유하도록 최적화된다. 패치 데이터 아이템은 깊이 패치 아틀라스 내에 패킹된 깊이 패치를 컬러 이미지 내의 대응하는 컬러 픽셀 영역과 매핑하는 데이터를 포함한다. 예를 들어, 패치 데이터 아이템은 패치 아틀라스 내 패치의 좌측 위 코너의 좌표들, 패치 아틀라스 내 패치의 폭 및 높이, 컬러 이미지 내 대응하는 컬러 픽셀들의 좌측 위 코너, 대응하는 컬러 픽셀들의 컬러 이미지의 영역의 폭 및 높이를 포함한다. 변형 예에서, 패치 데이터 아이템의 정보는, 예를 들어 구형 투영 매핑에 따라 인코딩된 컬러 이미지에서 국부화(localisation)를 용이하게 하기 위해 각도 범위 데이터로 표현된다.
결정된 뷰 포인트로부터 보이는 포인트들은 3D 장면의 포인트들 중 일부이다. 3D 장면을 완전히 인코딩하기 위해, 잔차 포인트들(즉, 3DoF 호환 가능 컬러 이미지로 인코딩되지 않은 포인트 및 대응하는 깊이 데이터)이 스트림으로 인코딩된다. 도 9는 잔차 포인트들을 패치들로서 인코딩하는 것을 도시한다.
도 16은 도 15의 MVD 프레임으로부터 시작하여, 뷰 포인트로부터 몰입형 이미지를 생성하고 프레임의 뷰들로부터 사용된 픽셀들을 제거하는 것을 도시한다. 도 1, 도 3, 도 5 및 도 7과 관련하여 도시된 바와 같이, MVD 프레임의 데이터는, 예를 들어 포인트 클라우드로서 3D 장면을 인스턴스화하는데 사용된다. 포인트 클라우드의 임의의 3D 포인트는 그 포인트가 생성된 뷰들의 픽셀들과 연관된다. 3D 포인트는 적어도 하나의 픽셀과 연관되고 또한 여러 픽셀과 연관될 수도 있으며, 각각의 픽셀은 상이한 뷰에 속한다. 뷰 포인트가 획득되고 이 뷰 포인트로부터 보이는 3D 장면의 포인트들은 제1 뷰(162t 및 162d)(즉, 컬러 이미지 및 깊이 이미지) 상에 투영된다. 본 원리들의 제1 실시예에 따르면, 3D 포인트가 제1 뷰 상에 투영될 때, 이러한 3D 포인트들과 연관된 픽셀들은 그들의 뷰에서 제거된다. 컬러 이미지들의 경우, 픽셀을 제거하는 것은, 예를 들어 컬러 값을 디폴트 컬러 값, 예를 들면, 흑색, 흰색 또는 회색으로 대체함으로써 수행된다. 깊이 이미지들의 경우, 픽셀에 저장된 깊이 값은 이 픽셀(및 컬러 이미지 내 대응하는 픽셀)이 3D 포인트를 인코딩하지 않는다는 것을 표시하는 디폴트 값으로 대체된다. 이러한 기술은 핵심 맵들의 사용을 방지하기 위해 3D 장면 인코딩 도메인에서 잘 알려져 있다. 이러한 실시예의 장점은 MVD 프레임의 관점에서 동일한 값을 갖는 넓은 영역들의 인접 픽셀들을 생성하는 것이고, 따라서 픽셀들의 압축률이 크게 강화된다. 도 15의 컬러 이미지들(150t 및 151t)은 컬러 이미지들(160t 및 161t)로 변환된다. 도 15의 깊이 이미지들(150d 및 151d)은 깊이 이미지들(160d 및 161d)로 변환된다. 이러한 기술들의 장점은 뷰들 사이의 많은 중복 정보의 부분이 MVD 프레임의 뷰로부터 제거되고 몰입형 뷰에서 한 번만 저장된다는 점이다. 카메라들의 외부 및 내부 파라미터들을 포함하는 메타데이터는 MVD 프레임의 각각의 뷰와 연관 채로 유지된다. 본 개시내용의 제1 실시예에서, 이미지들(162t 및 162d)은 스트림의 신택스의 제1 요소로 인코딩되고 이미지들(160t, 160d, 161t 및 161d) 및 연관된 메타데이터는 스트림의 신택스의 적어도 제2 요소로 인코딩된다.
도 10은 동시에 3DoF 렌더링 호환 가능하고 볼류메트릭 렌더링 호환 가능한 포맷으로 3D 장면의 시퀀스를 인코딩, 송신 및 디코딩하는 예를 도시한다. 3 차원 장면(100)(또는 3D 장면들의 시퀀스)은 본 인코딩 방법의 원리들에 따라 인코더(101)에 의해 스트림(102)으로 인코딩된다. 스트림(102)은 3DoF 렌더링을 위한 3D 장면을 나타내는 데이터를 반송하는 신택스의 제1 요소를 포함한다. 제1 실시예에서, 3D 장면은 MVD 프레임 시퀀스로부터 획득된다. 적어도 제2 요소는 포인트들이 신택스의 제1 요소의 뷰 상에 투영된 MVD 프레임 시퀀스를 포함한다. 제2 실시예에서, 신택스의 제2 요소들은 컬러를 나타내는 데이터 및 3D 장면의 잔차 포인트들을 나타내는 깊이 데이터를 반송한다. 디코더(103)는 소스로부터 스트림(102)을 획득한다. 예를 들어, 소스는 다음과 같은 것을 포함하는 집합에 속한다:
- 로컬 메모리, 예를 들어, 비디오 메모리 또는 RAM(또는 랜덤 액세스 메모리(Random Access Memory)), 플래시 메모리, ROM(또는 판독 전용 메모리(Read Only Memory)), 하드 디스크;
- 저장 인터페이스, 예를 들어, 대용량 저장소, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원(magnetic support)과의 인터페이스;
- 통신 인터페이스, 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스(예컨대, IEEE 802.11 인터페이스 또는 Bluetooth®인터페이스); 및
- 사용자가 데이터를 입력할 수 있게 하는 그래픽 사용자 인터페이스와 같은 사용자 인터페이스.
디코더(103)는 스트림(102)의 신택스의 제1 요소를 디코딩한다. 디코더가 추가 모듈, 예를 들어 3DoF 렌더러 또는 포맷 변환기에 3DoF 장면을 제공하도록 구성된 경우, 디코더는 신택스의 이러한 제1 요소로부터 디코딩된 데이터를 송신한다. 이러한 데이터는 3DoF 렌더링을 위한 장면 포인트들을 포함하는 3D 장면을 나타낸다. 디코더가 추가 모듈, 예를 들어 3DoF 렌더러 또는 포맷 변환기를 제공하도록 구성된 경우, 디코더는 스트림의 신택스의 적어도 하나의 제2 요소로부터 데이터를 디코딩한다.
도 11은 데이터가 패킷 기반 전송 프로토콜을 통해 송신될 때 스트림의 신택스의 실시예의 예를 도시한다. 도 11은 볼류메트릭 비디오 스트림의 예시적인 구조(1100)를 도시한다. 구조는 스트림을 신택스의 독립적 요소들로 구성하는 컨테이너로 구성된다. 구조는 스트림의 모든 신택스 요소들에 공통적인 한 세트의 데이터인 헤더 부분(1101)을 포함할 수 있다. 예를 들어, 헤더 부분은 신택스 요소들 각각의 특성 및 역할을 서술하는 신택스 요소들에 관한 메타데이터를 포함한다. 헤더 부분은 3DoF 렌더링을 위한 제1 컬러 이미지를 인코딩하는데 사용되는 뷰 포인트의 좌표들 및 픽처들의 크기 및 해상도에 대한 정보를 또한 포함할 수 있다. 구조는 신택스의 제1 요소(1102) 및 신택스의 적어도 하나의 제2 요소(1103)를 포함하는 페이로드를 포함한다. 제1 신택스 요소(1102)는 3DoF 렌더링을 위해 준비된 제1 컬러 및 깊이 이미지들을 나타내는 데이터를 포함한다. 이미지들은 비디오 압축 방법에 따라 이미지가 압축되었을 수 있다.
제1 실시예에서, 제2 신택스 요소는 소스로부터 수신된 MVD 프레임들로부터 생성된 데이터를 포함한다. 도 16에 도시된 바와 같이 제1 뷰를 생성하는데 사용된 이러한 소스 MVD 프레임들의 픽셀들은 MVD 프레임들로부터 제거된다.
본 원리들의 제2 실시예에서, 제2 신택스 요소는 3D 장면의 잔차 포인트들의 컬러 및 깊이 정보를 포함한다. 장면의 잔차 포인트들은 제2 컬러 이미지 및 제2 깊이 이미지에 투영된다. 장면의 잔차 포인트들은 제1 컬러 이미지로 인코딩되지 않은 장면의 포인트들이다. 잔차 포인트들의 일부가 결정된 뷰 포인트로부터 보이지 않으면, 모든 잔차 포인트가 컬러 및 깊이 맵에 투영될 때까지 단계(1303)가 반복될 수 있다. 변형 예에서, 뷰 포인트는 예를 들어 단계(1303)의 각각의 반복에서 3DoF+ 렌더링에 대해 결정된 뷰 공간 내에서 변위될 수 있다. 다른 실시예에서, 반복된 제2 컬러 이미지들 및 제2 깊이 이미지들은 본 출원에서 설명된 것 이외의 원리에 따라 패치들로 군집될 수 있다. 이러한 실시예에서, 컬러 패치들은 컬러 패치 아틀라스에 패킹된다. 깊이 패치들은 제2 깊이 패치 아틀라스에 패킹된다. 변형 예에서, 깊이 패치들은 제1 컬러 이미지와 연관된 깊이 패치들을 이미 포함하는 제1 깊이 패치 아틀라스에 패킹된다. 패치 데이터 아이템들은 어떤 컬러 이미지 또는 패치 아틀라스가 깊이 패치와 연관되는지를 표시하는 정보를 포함한다.
예시 목적을 위해, ISOBMFF 파일 포맷 표준의 맥락에서, 컬러 맵, 깊이 맵 및 메타데이터는 전형적으로 타입 MOOV의 박스 내 ISOBMFF 트랙들에서 참조될 것이며, 이때 컬러 맵 및 깊이 맵 데이터 자체는 타입 mdat의 메타-데이터 박스에 삽입된다.
도 12는 도 13 및/또는 도 14와 관련하여 설명되는 방법을 구현하도록 구성될 수 있는 디바이스(120)의 예시적인 아키텍처를 도시한다. 디바이스(120)는 도 10의 인코더(101) 또는 디코더(103)로 구성될 수 있다.
디바이스(120)는 데이터 및 어드레스 버스(121)에 의해 함께 링크되는 다음의 요소들을 포함한다:
- 예를 들어, DSP(또는 디지털 신호 프로세서(Digital Signal Processor))인 마이크로프로세서(122)(또는 CPU);
- ROM(또는 판독 전용 메모리(Read Only Memory))(123);
- RAM(또는 랜덤 액세스 메모리(Random Access Memory))(124);
- 저장 인터페이스(125);
- 애플리케이션으로부터 송신할 데이터를 수신하기 위한 I/O 인터페이스(126); 및
- 전력 공급 디바이스, 예를 들어 배터리를 포함한다.
예에 따르면, 전력 공급 디바이스는 디바이스의 외부에 있다. 언급된 각각의 메모리에서, 본 명세서에서 사용된 ≪레지스터≫라는 단어는 작은 용량(몇 비트)의 영역에 대응하거나 또는 매우 큰 영역(예를 들어, 전체 프로그램 또는 수신되거나 디코딩된 대량의 데이터)에 대응할 수 있다. ROM(123)은 적어도 프로그램 및 파라미터들을 포함한다. ROM(123)은 본 원리들에 따라 기술들을 수행할 알고리즘들 및 명령어들을 저장할 수 있다. 스위치 온될 때, CPU(122)는 RAM에 프로그램을 업로드하고 대응하는 명령어들을 실행한다.
RAM(124)은 CPU(122)에 의해 실행되고 디바이스(120)의 스위치 온 후에 업로드되는 레지스터 내의 프로그램, 레지스터 내의 입력 데이터, 레지스터 내의 방법의 상이한 상태들의 중간 데이터, 및 레지스터 내의 방법을 실행하는데 사용된 다른 변수들을 포함한다.
본 명세서에서 설명된 구현예들은, 예를 들어, 방법 또는 프로세스, 장치, 컴퓨터 프로그램 제품, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현예의 맥락에서만 논의될지라도 (예를 들어, 방법 또는 디바이스로서만 논의될지라도), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 프로그램)로도 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그램 가능 로직 디바이스를 비롯한, 예를 들어, 일반적으로 처리 디바이스들을 지칭하는 프로세서와 같은 장치에서 구현될 수 있다. 프로세서는 예를 들어, 컴퓨터들, 셀 폰들, 휴대용/개인 휴대 정보 단말기(personal digital assistant)("PDA")들 및 최종 사용자들 사이에서 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스를 또한 포함한다.
도 10의 인코딩 또는 인코더(101)의 예에 따르면, 3 차원 장면(100)은 소스로부터, 예를 들면 MVD 프레임 시퀀스의 형태로 획득된다. 예를 들어, 소스는 다음과 같은 것을 포함하는 집합에 속한다:
- 로컬 메모리(123 또는 124), 예를 들어, 비디오 메모리 또는 RAM(또는 랜덤 액세스 메모리), 플래시 메모리, ROM(또는 판독 전용 메모리), 하드 디스크;
- 저장 인터페이스(125), 예를 들어, 대용량 저장소, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스;
- 통신 인터페이스(126), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스(예컨대, IEEE 802.11 인터페이스 또는 Bluetooth®인터페이스); 및
- 사용자가 데이터를 입력할 수 있게 하는 그래픽 사용자 인터페이스와 같은 사용자 인터페이스.
도 10의 디코딩 또는 디코더(들)(103)의 예들에 따르면, 스트림은 목적지로 전송된다; 구체적으로는, 목적지는 다음과 같은 것을 포함하는 집합에 속한다:
- 로컬 메모리(123 또는 124), 예를 들어, 비디오 메모리 또는 RAM, 플래시 메모리, 하드 디스크;
- 저장 인터페이스(125), 예를 들어, 대용량 저장소, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스; 및
- 통신 인터페이스(126), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스(예를 들어, USB(또는 범용 직렬 버스(Universal Serial Bus)), 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스, HDMI(고화질 멀티미디어 인터페이스(High Definition Multimedia Interface) 인터페이스) 또는 무선 인터페이스(예컨대, IEEE 802.11 인터페이스, WiFi®또는 Bluetooth®인터페이스).
인코딩 또는 인코더의 예들에 따르면, 볼류메트릭 장면을 나타내는 데이터를 포함하는 비트스트림은 목적지로 전송된다. 예로서, 비트스트림은 로컬 또는 원격 메모리, 예를 들어, 비디오 메모리(104) 또는 RAM(104), 하드 디스크(103)에 저장된다. 변형예에서, 비트스트림은 저장 인터페이스(105), 예를 들어, 대용량 저장소, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스에 전송되고 및/또는 통신 인터페이스(106), 예를 들어, 포인트 투 포인트 링크, 통신 버스, 포인트 투 멀티포인트 링크 또는 브로드캐스트 네트워크와의 인터페이스를 통해 송신된다.
도 10의 디코딩 또는 디코더 또는 렌더러(103)의 예들에 따르면, 비트스트림은 소스로부터 획득된다. 예시적으로, 비트스트림은 로컬 메모리, 예를 들어, 비디오 메모리(124), RAM(124), ROM(123), 플래시 메모리(123) 또는 하드 디스크(123)로부터 판독된다. 변형 예에서, 비트스트림은 저장 인터페이스(125), 예를 들어, 대용량 저장소, RAM, ROM, 플래시 메모리, 광학 디스크 또는 자기 지원과의 인터페이스로부터 수신되고 및/또는 통신 인터페이스(125), 예를 들어, 포인트 투 포인트 링크, 버스, 포인트 투 멀티포인트 링크 또는 브로드캐스트 네트워크와의 인터페이스로부터 수신된다.
예들에 따르면, 디바이스(120)는 도 13 내지 도 14와 관련하여 설명된 방법을 구현하도록 구성되고 다음과 같은 것을 포함하는 집합에 속한다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 태블릿(또는 태블릿 컴퓨터);
- 랩톱;
- 스틸 픽처 카메라;
- 비디오 카메라;
- 인코딩 칩;
- 서버(예를 들어, 브로드캐스트 서버, 주문형 비디오 서버 또는 웹 서버).
도 13은 본 원리들의 비제한적 실시예에 따라, 도 10의 디바이스(101)로 구성된 (도 12와 관련하여 설명된) 디바이스(120)에서 3D 장면을 스트림으로 인코딩하는 방법을 도시한다.
단계(1300)에서, 디바이스(120)의 상이한 파라미터들이 업데이트된다. 특히, 3D 장면이 소스로부터 획득된다. 예를 들어, MVD 프레임이 획득되고 MVD 프레임에 포함된 정보에 따라 3D 장면이 결정된다. 3D 장면의 공간에서 뷰 포인트가 결정되고, 투영 매핑이 초기화되고, 투영 맵 및 이미지들의 크기들 및 해상도들이 결정된다.
단계(1301)에서, 뷰 포인트로부터 보이는 3D 장면의 포인트들이 투영 매핑에 따라 제1 컬러 이미지로 인코딩된다. 제1 컬러 이미지는 3DoF 렌더링에 호환 가능하다.
단계(1302)에서, 결정된 뷰 포인트로부터 보이는 장면의 포인트들에 관한 깊이 정보가 제1 깊이 이미지로 인코딩된다. 다른 실시예에서, 이러한 깊이 정보는 깊이 패치 아틀라스로 인코딩되고 패치 데이터 아이템 리스트가 구축된다. 패치 데이터 아이템은 깊이 패치 아틀라스의 깊이 패치들을 제1 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함한다. 제1 패치 아틀라스의 패치 데이터 아이템들은 이러한 깊이 패치들이 제1 컬러 이미지의 픽셀 영역들과 매핑된다는 것을 표시하는 정보를 포함한다.
단계(1303)에서, 제1 실시예에서, 단계(1303)에서, 제1 컬러 맵 상에 투영된 3D 장면의 3D 포인트들과 연관된 픽셀들은 도 16과 관련하여 도시된 바와 같이 MVD 프레임의 컬러 및 깊이 이미지들로부터 제거된다. 제2 실시예에서, 장면의 잔차 포인트들은 제2 컬러 이미지 및 제2 깊이 이미지에 투영된다. 장면의 잔차 포인트들은 제1 컬러 이미지로 인코딩되지 않은 장면의 포인트들이다. 잔차 포인트들의 일부가 결정된 뷰 포인트로부터 보이지 않으면, 모든 잔차 포인트가 컬러 및 깊이 맵에 투영될 때까지 단계(1303)가 반복될 수 있다. 변형 예에서, 뷰 포인트는 예를 들어 단계(1303)의 각각의 반복에서 3DoF+ 렌더링에 대해 결정된 뷰 공간 내에서 변위될 수 있다. 다른 실시예에서, 반복된 제2 컬러 이미지들 및 제2 깊이 이미지들은 본 출원에서 설명된 것 이외의 원리에 따라 패치들로 군집될 수 있다. 이러한 실시예에서, 컬러 패치들은 컬러 패치 아틀라스에 패킹된다. 깊이 패치들은 제2 깊이 패치 아틀라스에 패킹된다. 변형 예에서, 깊이 패치들은 제1 컬러 이미지와 연관된 깊이 패치들을 이미 포함하는 제1 깊이 패치 아틀라스에 패킹된다. 패치 데이터 아이템들은 어떤 컬러 이미지 또는 패치 아틀라스가 깊이 패치와 연관되는지를 표시하는 정보를 포함한다.
단계(1304)에서, 3D 장면을 나타내는 데이터를 반송하는 스트림이 도 11과 관련하여 설명된 구조에 따라 생성된다. 스트림은 신택스의 제1 요소에서 제1 컬러 이미지의 데이터를 포함한다. 제1 컬러 이미지는 스트림의 다른 데이터와 독립적으로 디코딩될 수 있도록 하기 위해 스트림의 신택스의 전용 요소로 인코딩된다. 제1 컬러 이미지는 3DoF 렌더링을 수행하는데 필요한 유일한 데이터이므로, 볼류메트릭 렌더링을 수행하는데 필요한 상호 보완적인 데이터를 디코딩하지 않고 제1 컬러 이미지가 디코딩될 수 있는 스트림을 생성하는 것이 본 원리들의 장점이다. 단계(1302 및 1304)에서 준비된 데이터는 스트림의 신택스의 적어도 하나의 제2 요소로 인코딩된다. 따라서, 디코더가 볼류메트릭 렌더링을 위한 데이터를 디코딩하도록 구성된 경우, 필요한 경우에만 이들이 디코딩될 수 있다. 실시예에서, 단계(1304)는 단계(1301, 1302 및 1303)과 병렬로 실행될 수 있거나, 또는 방법의 단계들은 순차적으로 실행될 수 있다.
도 14는 본 원리들의 비제한적 실시예에 따라, 도 10의 디바이스(103)로 구성된 (도 12와 관련하여 설명된) 디바이스(120)에서 스트림으로부터 3 차원 장면을 디코딩하기 위한 방법을 도시한다.
단계(1400)에서, 디바이스(120)의 상이한 파라미터들이 업데이트된다. 특히, 소스로부터 스트림이 획득되고, 3D 장면의 공간에서 뷰 포인트가 결정된다. 변형 예에서, 뷰 포인트의 위치는 스트림으로부터 디코딩된다. 스트림은 제1 컬러 이미지를 나타내는 데이터를 반송하는 신택스의 제1 요소를 포함한다. 제1 컬러 이미지는 3DoF 렌더링과 호환 가능하며 제1 투영 매핑에 따라 인코딩되었다. 스트림은 제1 컬러 이미지의 포인트들의 깊이 및 예를 들어, MVD 프레임의 형태의, 뷰 포인트로부터 보이지 않는 장면의 포인트들의 컬러 및 깊이를 나타내는 데이터를 반송하는 신택스의 적어도 하나의 제2 요소를 더 포함한다.
단계(1401)에서, 제1 컬러 이미지가 스트림의 신택스의 제1 요소로부터 디코딩된다. 제1 컬러 이미지는, 예를 들어 표준 이미지 또는 비디오 압축 방법에 따라 압축되었다면 압축 해제된다.
단계(1402)에서, 디코더는 3DoF 렌더링을 위한 또는 볼류메트릭 렌더링을 위한 3D 장면을 디코딩하도록 구성되어 있는지를 검사한다. 이러한 검사 단계는 암시적일 수 있고(즉, 수행되지 않을 수 있고) 디코딩 방법은 단계(1402) 직후에 단계(1405)를 실행한다. 변형 예에서, 디코더는 소스로부터 검사 정보를 획득한다. 검사 정보는 스트림으로부터 디코딩되거나 또는 메모리에서 판독되거나 또는 디바이스(120)의 통신 인터페이스를 통해 원격 디바이스로부터 수신될 수 있다. 디코더가 3DoF 렌더링을 위한 3D 장면을 디코딩하도록 구성된 경우, 방법은 단계(1405)를 실행한다. 디코더가 볼류메트릭 렌더링을 위한 3D 장면을 디코딩하도록 구성된 경우, 방법은 단계(1403)을 실행한다.
단계(1403)에서, 제1 컬러 이미지로 인코딩된 장면의 포인트들의 깊이를 나타내는 데이터가 스트림의 신택스의 제2 요소로부터 디코딩된다. 이러한 데이터는 제1 깊이 이미지로 인코딩될 수 있다. 다른 실시예에서, 이러한 데이터는 패치 데이터 아이템 리스트와 연관된 제1 깊이 패치 아틀라스로 인코딩된다. 이러한 리스트의 패치 데이터는 제1 깊이 패치 아틀라스의 깊이 패치를 제1 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함한다. 제1 깊이 패치 아틀라스가 3D 장면의 잔차 포인트들에 대한 깊이 패치들을 인코딩하는데 사용되는 경우, 이러한 제1리스트의 패치 데이터 아이템들은 연관된 패치가 제1 컬러 이미지를 참조한다는 것을 표시하는 정보를 포함한다.
단계(1404)에서 단계(1403) 이후 또는 이와 병렬로 실행된다. 제1 실시예에서, MVD 프레임은 디코딩되고 뷰들의 깊이 이미지에 포함된 정보는 뷰들과 연관된 메타데이터와 관련하여 사용되어 3D 장면에서 뷰들의 컬러 이미지의 픽셀들을 역 투영한다. 제2 실시예에서, 잔차 포인트들이라 불리는 3D 장면의 포인트들을 나타내는 컬러 및 깊이 데이터는 스트림의 신택스의 적어도 하나의 제2 요소로부터 디코딩된다. 잔차 포인트들은 결정된 뷰 포인트에서는 보이지 않지만 뷰 공간의 다른 뷰 포인트에서는 보이는 장면의 포인트들에 대응한다. 이러한 데이터는 적어도 제2 컬러 이미지 및 제2 깊이 이미지로 인코딩된다. 다른 실시예에서, 이러한 데이터는 적어도 컬러 패치 아틀라스 및 제2 깊이 패치 아틀라스로 인코딩된다. 변형 예에서, 제2 깊이 패치 아틀라스는 제1 깊이 패치 아틀라스의 일부이다. 패치 데이터 아이템 리스트는 이러한 데이터와 연관된다. 패치 데이터 아이템은 깊이 패치를 컬러 이미지와 또는 컬러 패치에 연관시키는 정보를 적어도 포함한다. 단계(1402, 1403 및 1404)에서 스트림으로부터 디코딩된 데이터는 볼류메트릭 렌더링에 필요한 3 차원 장면을 나타낸다.
단계(1405)에서, 디코딩된 장면은 추가 모듈, 예를 들어 3DoF 렌더러 또는 볼류메트릭 렌더러 또는 다른 유형의 모듈, 예를 들어 포맷 변환기로 송신된다. 제1 및 제2 컬러 이미지의 픽셀들로부터의 장면 및 그들의 깊이 패치 아틀라스에서의 대응하는 값의 재구성은 인코딩에 사용된 투영 매핑에 따른 3D 장면의 포인트들의 역 투영을 가능하게 하기 위해 깊이와 컬러 데이터를 매핑하는 패치 데이터 아이템에 따라 결정된다.
당연히, 본 개시내용은 앞서 설명된 실시예로 제한되지 않는다.
특히, 본 개시내용은 3 차원 장면(또는 3 차원 장면들의 시퀀스)을 나타내는 데이터를 반송하는 스트림을 인코딩/디코딩하기 위한 방법들 및 디바이스들로 제한되지 않고, 3D 장면을 3 자유도 방식으로 또는 볼류메트릭 방식(즉, 3DoF+ 또는 6DoF)으로 렌더링하는 방법들 이러한 방법들을 구현하는 임의의 디바이스들 및 특히 적어도 하나의 CPU 및/또는 적어도 하나의 GPU를 포함하는 임의의 디바이스들까지도 확장된다.
본 개시내용은 또한 3 차원 장면을 나타내는 정보를 포함하는 데이터 스트림으로부터 렌더링된 이미지들을 디스플레이하기 위한 방법 (및 구성된 디바이스)에 관한 것이다.
본 개시내용은 또한 본 원리들에 따라 인코딩된 스트림을 송신 및/또는 수신하기 위한 방법 (및 구성된 디바이스)에 관한 것이다.
본 명세서에서 설명된 구현예들은, 예를 들어, 방법 또는 프로세스, 장치, 컴퓨터 프로그램 제품, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현예의 맥락에서만 논의될지라도(예를 들어, 방법 또는 디바이스로서만 논의될지라도), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 프로그램)로도 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그램 가능 로직 디바이스를 비롯한, 예를 들어, 일반적으로 처리 디바이스들을 지칭하는 프로세서와 같은 장치에서 구현될 수 있다. 프로세서들은, 예를 들어 스마트폰들, 태블릿들, 컴퓨터들, 모바일 폰들, 휴대용/개인 휴대 정보 단말기("PDA")들 및 최종 사용자들 사이에서 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스를 또한 포함한다.
본 명세서에서 설명된 다양한 프로세스들 및 특징들의 구현예들은 다양한 상이한 장비 또는 애플리케이션들, 특히, 예를 들면, 데이터 인코딩, 데이터 디코딩, 뷰 생성, 텍스처 처리, 및 이미지들 및 관련된 텍스처 정보 및/또는 깊이 정보의 다른 처리와 연관된 장비 또는 애플리케이션들에서 구현될 수 있다. 그러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 처리하는 후처리 프로세서, 인코더에 입력을 제공하는 전처리 프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱, 퍼스널 컴퓨터, 셀 폰, PDA 및 다른 통신 디바이스들을 포함한다. 분명히 해야 하는 것으로서, 장비는 이동식일 수도 있고 심지어 이동 차량에 설치될 수도 있다.
또한, 방법들은 프로세서에 의해 수행되는 명령어들에 의해 구현될 수 있고, 그러한 명령어들 (및/또는 구현에 의해 생성된 데이터 값들)은, 예를 들어, 집적 회로, 예를 들면 하드 디스크, 콤팩트 디스켓(compact diskette)("CD"), (예를 들어, 종종 디지털 다용도 디스크 또는 디지털 비디오 디스크라고 지칭되는 DVD와 같은) 광학 디스크와 같은 소프트웨어 캐리어 또는 다른 저장 디바이스, 랜덤 액세스 메모리(random access memory)("RAM") 또는 판독 전용 메모리(read only memory)("ROM")와 같은 프로세서 판독 가능 매체에 저장될 수 있다. 명령어들은 프로세서 판독 가능 매체 상에 유형으로 구현된 애플리케이션 프로그램을 형성할 수 있다. 명령어들은 예를 들어, 하드웨어, 펌웨어, 소프트웨어 또는 조합일 수 있다. 명령어들은 예를 들어, 운영 체제, 별개의 애플리케이션 또는 이 둘의 조합에서 발견될 수 있다. 그러므로 프로세서는 예를 들어, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령어들을 갖는 (저장 디바이스와 같은) 프로세서 판독 가능 매체를 포함하는 디바이스 둘 모두로서 특징지어질 수 있다. 또한, 프로세서 판독 가능 매체는 명령어들에 추가하여 또는 명령어들 대신에, 구현에 의해 생성된 데이터 값들을 저장할 수 있다.
관련 기술분야에서 통상의 기술자에게 명백해지는 바와 같이, 구현예들은 예를 들어, 저장되거나 송신될 수 있는 정보를 반송하도록 포맷된 다양한 신호를 생성할 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 신택스를 기입하거나 판독하기 위한 규칙들을 데이터로서 반송하도록 포맷되거나, 또는 설명된 실시예에 의해 기입된 실제 신택스 값들을 데이터로서 반송하도록 포맷될 수 있다. 이러한 신호는, 예를 들어, (예를 들면, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 베이스밴드 신호로서 포맷될 수 있다. 포맷한다는 것은 예를 들어, 데이터 스트림을 인코딩하는 것 및 캐리어를 인코딩된 데이터 스트림으로 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 다양한 서로 다른 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독 가능 매체에 저장될 수 있다.
다수의 구현예가 설명되었다. 그럼에도 불구하고, 다양한 변형예들이 만들어질 수 있다는 것이 이해될 것이다. 예를 들어, 상이한 구현예들의 요소들이 조합되거나, 보충되거나, 변형되거나 또는 제거되어 다른 구현예들을 만들어 낼 수 있다. 또한, 관련 기술분야에서 통상의 기술자라면 다른 구조들 및 프로세스들이 개시된 것들에 대체될 수 있고 결과적인 구현예들이 적어도 실질적으로 동일한 기능(들)을, 적어도 실질적으로 동일한 방식(들)으로 수행하여, 개시된 구현예들과 적어도 실질적으로 동일한 결과(들)을 달성할 것이라는 점을 이해할 것이다. 따라서, 이러한 구현예들 및 다른 구현예들이 본 출원에 의해 예상된다.

Claims (14)

  1. 3D 장면을 나타내는 스트림을 생성하는 방법으로서,
    - 제1 투영 매핑에 따라 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 제1 컬러 맵 상에 투영함으로써 제1 컬러 데이터를 생성하는 단계 - 상기 제1 컬러 데이터는 상기 뷰 포인트를 중심으로 3 회전 자유도를 가능하게 하는 렌더링에 적응된 컬러 이미지임 -;
    - 제2 투영 매핑에 따라 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 제1 깊이 맵 상에 투영함으로써 제1 깊이 데이터를 생성하는 단계 - 상기 제1 깊이 데이터는 제1 패치 데이터 아이템 리스트(patch data item list)와 연관된 제1 깊이 패치 아틀라스(depth patch atlas)에 패킹된 패치 픽처들로서 인코딩되고, 제1 패치 데이터 아이템은 깊이 패치 픽처를 상기 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함함 -;
    - 상기 뷰 포인트로부터 보이지 않는 상기 3D 장면의 포인트들을 나타내는 제2 컬러 데이터 및 제2 깊이 데이터를 생성하는 단계; 및
    - 상기 스트림에서, 상기 제1 컬러 데이터를 신택스의 제1 요소로 인코딩하고 상기 제1 깊이 데이터, 상기 제2 컬러 데이터 및 상기 제2 깊이 데이터를 신택스의 적어도 제2 요소로 인코딩하는 단계
    를 포함하는, 방법.
  2. 3D 장면을 나타내는 데이터를 스트림으로 인코딩하기 위한 디바이스로서,
    적어도 프로세서와 연관된 메모리를 포함하고, 상기 프로세서는,
    - 제1 투영 매핑에 따라 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 제1 컬러 맵 상에 투영함으로써 제1 컬러 데이터를 생성하고 - 상기 제1 컬러 데이터는 상기 뷰 포인트를 중심으로 3 회전 자유도를 가능하게 하는 렌더링에 호환 가능한 컬러 이미지임 -;
    - 상기 제2 투영 매핑에 따라 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 제1 깊이 맵 상에 투영함으로써 제1 깊이 데이터를 생성하고 - 상기 제1 깊이 데이터는 제1 패치 데이터 아이템 리스트와 연관된 제1 깊이 패치 아틀라스에 패킹된 패치 픽처들로서 인코딩되고, 제1 패치 데이터 아이템은 깊이 패치 픽처를 상기 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함함 -;
    - 상기 뷰 포인트로부터 보이지 않는 상기 3D 장면의 포인트들인 포인트들을 나타내는 제2 컬러 데이터 및 제2 깊이 데이터를 생성하고;
    - 상기 스트림에서, 상기 제1 컬러 데이터를 신택스의 제1 요소로 인코딩하고 상기 제1 깊이 데이터, 상기 제2 컬러 데이터 및 상기 제2 깊이 데이터를 신택스의 적어도 제2 요소로 인코딩하도록
    구성되는, 디바이스.
  3. 제1항의 방법 또는 제2항의 디바이스에 있어서,
    상기 3D 장면은 멀티뷰 플러스 깊이(Multiview plus depth)(MVD) 프레임의 형태로 획득되고, 제2 컬러 데이터 및 제2 깊이 데이터를 생성하는 단계는 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들과 연관된 상기 MVD 프레임의 뷰들의 픽셀들을 제거함으로써 수행되는, 방법 또는 디바이스.
  4. 제1항의 방법 또는 제2항의 디바이스에 있어서,
    제2 컬러 데이터 및 제2 깊이 데이터를 생성하는 단계는 제3 투영 매핑에 따라 상기 3D 장면의 잔차 포인트들을 제2 컬러 맵 및 제2 깊이 맵 상에 투영함으로써 수행되고, 상기 잔차 포인트들은 상기 뷰 포인트로부터 보이지 않는 상기 3D 장면의 포인트들인, 방법 또는 디바이스.
  5. 제4항의 방법 또는 제4항의 디바이스에 있어서,
    상기 제2 컬러 데이터는 컬러 패치 아틀라스에 패킹된 패치 픽처들로서 인코딩되고, 상기 제2 깊이 데이터는 제2 깊이 패치 아틀라스 내 패치 픽처들로서 인코딩되고 제2 패치 데이터 아이템 리스트와 연관되며, 제2 패치 데이터 아이템은 깊이 패치 픽처를 상기 제2 패치 아틀라스의 컬러 패치와 매핑하는 정보를 포함하는, 방법 또는 디바이스.
  6. 3D 장면을 디코딩하는 방법으로서,
    - 스트림을 획득하는 단계 - 상기 스트림은,
    ● 상기 3D 장면을 나타내는 제1 컬러 데이터를 반송하는 신택스의 제1 요소 - 상기 제1 컬러 데이터는 제1 투영 매핑에 따라 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 투영함으로써 인코딩된 컬러 이미지이고, 상기 컬러 이미지는 상기 뷰 포인트를 중심으로 3 회전 자유도를 가능하게 하는 렌더링에 호환 가능함 -, 및
    ● 상기 제1 투영 매핑에 따라 상기 뷰 포인트로부터 상기 3D 장면의 상기 포인트들을 투영함으로써 인코딩된 제1 깊이 데이터 및 상기 뷰 포인트로부터 보이지 않는 상기 3D 장면의 포인트들을 나타내는 제2 컬러 데이터 및 제2 깊이 데이터를 반송하는 신택스의 적어도 제2 요소
    를 포함하고; 상기 제1 깊이 데이터는 제1 패치 데이터 아이템 리스트와 연관된 제1 깊이 패치 아틀라스에 패킹된 패치 픽처들로서 인코딩되고, 제1 패치 데이터 아이템은 깊이 패치 픽처를 상기 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함함 -; 및
    - 상기 제1 컬러 데이터로부터 상기 컬러 이미지를 디코딩하는 단계
    를 포함하는, 방법.
  7. 제6항에 있어서,
    - 상기 스트림의 상기 신택스의 적어도 제2 요소로부터 제1 깊이 데이터를 디코딩하는 단계 - 깊이 데이터는 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들의 깊이를 나타냄 -;
    - 상기 스트림의 상기 신택스의 적어도 제2 요소로부터 제2 컬러 데이터 및 제2 깊이 데이터를 디코딩하는 단계
    를 포함하는, 방법.
  8. 3D 장면을 디코딩하기 위한 디바이스로서,
    적어도 프로세서와 연관된 메모리를 포함하고, 상기 프로세서는,
    - 스트림을 획득하고 - 상기 스트림은,
    ● 상기 3D 장면을 나타내는 제1 컬러 데이터를 반송하는 신택스의 제1 요소 - 상기 제1 컬러 데이터는 제1 투영 매핑에 따라 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들을 투영함으로써 인코딩된 컬러 이미지이고, 상기 컬러 이미지는 상기 뷰 포인트를 중심으로 3 회전 자유도를 가능하게 하는 렌더링에 호환 가능함 -, 및
    ● 상기 제1 투영 매핑에 따라 상기 뷰 포인트로부터 상기 3D 장면의 상기 포인트들을 투영함으로써 인코딩된 제1 깊이 데이터 및 상기 뷰 포인트로부터 보이지 않는 상기 3D 장면의 포인트들을 나타내는 제2 컬러 데이터 및 제2 깊이 데이터를 반송하는 신택스의 적어도 제2 요소
    를 포함하고; 상기 제1 깊이 데이터는 제1 패치 데이터 아이템 리스트와 연관된 제1 깊이 패치 아틀라스에 패킹된 패치 픽처들로서 인코딩되고, 제1 패치 데이터 아이템은 깊이 패치 픽처를 상기 컬러 이미지의 픽셀 영역과 매핑하는 정보를 포함함 -; 및
    - 상기 제1 컬러 데이터로부터 상기 컬러 이미지를 디코딩하도록
    구성되는, 디바이스.
  9. 제8항에 있어서,
    상기 프로세서는,
    - 상기 스트림의 상기 신택스의 적어도 제2 요소로부터 제1 깊이 데이터를 디코딩하고 - 깊이 데이터는 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들의 깊이를 나타냄 -;
    - 상기 스트림의 상기 신택스의 적어도 제2 요소로부터 제2 컬러 데이터 및 제2 깊이 데이터를 디코딩하도록
    추가로 구성되는, 디바이스.
  10. 제6항 또는 제7항의 방법 또는 제8항 또는 제9항의 디바이스에 있어서,
    상기 제2 컬러 데이터 및 제2 깊이 데이터는 MVD 프레임으로서 인코딩되는, 방법 또는 디바이스.
  11. 제6항 또는 제7항의 방법 또는 제8항 또는 제9항의 디바이스에 있어서,
    상기 제2 컬러 데이터 및 제2 깊이 데이터는 제2 투영 매핑에 따라 상기 뷰 포인트로부터 상기 3D 장면의 잔차 포인트들의 투영이고, 상기 잔차 포인트들은 상기 뷰 포인트로부터 보이는 상기 3D 장면의 포인트들인, 방법 또는 디바이스.
  12. 제11항의 방법 또는 제11항의 디바이스에 있어서,
    상기 제2 컬러 데이터는 컬러 패치 아틀라스에 패킹된 패치 픽처들로서 인코딩되고, 상기 제2 깊이 데이터는 제2 깊이 패치 아틀라스 내 패치 픽처들로서 인코딩되고 제2 패치 데이터 아이템 리스트와 연관되며, 제2 패치 데이터 아이템은 깊이 패치 픽처를 상기 제2 패치 아틀라스의 컬러 패치와 링크하는 정보를 포함하는, 방법 또는 디바이스.
  13. 제6항, 제7항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법에 있어서,
    디코딩된 3D 장면을 3D 장면 렌더러로 송신하는 단계를 포함하는, 방법.
  14. 제8항 내지 제12항 중 어느 한 항의 디바이스에 있어서,
    상기 프로세서는 디코딩된 3D 장면을 3D 장면 렌더러로 송신하도록 추가로 구성되는, 디바이스.
KR1020207010539A 2017-09-15 2018-09-11 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 KR102600011B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP17306188.8A EP3457688A1 (en) 2017-09-15 2017-09-15 Methods and devices for encoding and decoding three degrees of freedom and volumetric compatible video stream
EP17306188.8 2017-09-15
EP18305949.2 2018-07-13
EP18305949 2018-07-13
PCT/US2018/050407 WO2019055389A1 (en) 2017-09-15 2018-09-11 METHODS AND DEVICES FOR ENCODING AND DECODING THREE DEGREES OF FREEDOM AND VOLATILE COMPATIBLE VIDEO STREAM

Publications (2)

Publication Number Publication Date
KR20200051784A true KR20200051784A (ko) 2020-05-13
KR102600011B1 KR102600011B1 (ko) 2023-11-09

Family

ID=63668031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207010539A KR102600011B1 (ko) 2017-09-15 2018-09-11 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들

Country Status (5)

Country Link
US (1) US20200228777A1 (ko)
EP (1) EP3682632B1 (ko)
KR (1) KR102600011B1 (ko)
CN (1) CN111264058A (ko)
WO (1) WO2019055389A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151748B2 (en) * 2018-07-13 2021-10-19 Electronics And Telecommunications Research Institute 3D point cloud data encoding/decoding method and apparatus
WO2020036389A1 (en) * 2018-08-13 2020-02-20 Lg Electronics Inc. Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video
FR3088510A1 (fr) * 2018-11-09 2020-05-15 Orange Synthese de vues
US11350074B2 (en) * 2019-03-20 2022-05-31 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
EP3716628A1 (en) * 2019-03-29 2020-09-30 InterDigital CE Patent Holdings A method and apparatus for encoding and decoding volumetric video
CN115514972A (zh) * 2019-06-28 2022-12-23 腾讯美国有限责任公司 视频编解码的方法、装置、电子设备及存储介质
US11432009B2 (en) * 2019-07-02 2022-08-30 Intel Corporation Techniques for encoding and decoding immersive video
WO2021001217A1 (en) * 2019-07-04 2021-01-07 Interdigital Vc Holdings France, Sas Processing volumetric data
EP3767953A1 (en) 2019-07-15 2021-01-20 InterDigital VC Holdings, Inc. Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs
EP3793199A1 (en) * 2019-09-10 2021-03-17 InterDigital VC Holdings, Inc. A method and apparatus for delivering a volumetric video content
EP4032311A1 (en) 2019-09-19 2022-07-27 InterDigital CE Patent Holdings Devices and methods for generating and rendering immersive video
US11677979B2 (en) * 2020-08-24 2023-06-13 Tencent America LLC Freeview video coding
CN115474034B (zh) * 2021-06-11 2024-04-26 腾讯科技(深圳)有限公司 沉浸媒体的数据处理方法、装置、相关设备及存储介质
US11956409B2 (en) * 2021-08-23 2024-04-09 Tencent America LLC Immersive media interoperability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150029353A (ko) * 2013-09-10 2015-03-18 삼성전자주식회사 영상 처리 장치 및 영상 처리 방법
KR20160045911A (ko) * 2013-09-05 2016-04-27 이베이 인크. 단일 이미지로부터 깊이를 추정하기
WO2017142353A1 (ko) * 2016-02-17 2017-08-24 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157747A (en) * 1997-08-01 2000-12-05 Microsoft Corporation 3-dimensional image rotation method and apparatus for producing image mosaics
US6903741B2 (en) * 2001-12-13 2005-06-07 Crytek Gmbh Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US7747067B2 (en) * 2003-10-08 2010-06-29 Purdue Research Foundation System and method for three dimensional modeling
US7283140B2 (en) * 2005-06-21 2007-10-16 Microsoft Corporation Texture montage
WO2008054100A1 (en) * 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
EP2235957A1 (en) * 2007-12-20 2010-10-06 Koninklijke Philips Electronics N.V. Image encoding method for stereoscopic rendering
WO2010108024A1 (en) * 2009-03-20 2010-09-23 Digimarc Coporation Improvements to 3d data representation, conveyance, and use
CN103181171B (zh) * 2010-11-04 2016-08-03 皇家飞利浦电子股份有限公司 深度指示图的产生
US9191646B2 (en) * 2011-08-29 2015-11-17 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
EP2670146A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding and decoding a multiview video stream
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
RU2667605C2 (ru) * 2013-05-10 2018-09-21 Конинклейке Филипс Н.В. Способ кодирования сигнала видеоданных для использования с многовидовым устройством визуализации
CN105519120B (zh) * 2014-06-20 2019-03-22 寰发股份有限公司 用于视频数据的三维或多视图视频编码的分区模式编码方法
US10687069B2 (en) * 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
US20160112713A1 (en) * 2014-10-20 2016-04-21 Google Inc. Mapping spherical image to 2d representations
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
KR102458339B1 (ko) * 2015-08-07 2022-10-25 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
CN108885342B (zh) * 2016-03-15 2021-06-04 奇跃公司 虚拟图像生成系统及其操作方法
CN105898274B (zh) * 2016-04-13 2018-01-12 万云数码媒体有限公司 一种基于rgb压缩的2d加深度3d图像纵向存储方法
US10313686B2 (en) * 2016-09-20 2019-06-04 Gopro, Inc. Apparatus and methods for compressing video content using adaptive projection selection
CN108235031B (zh) * 2016-12-15 2019-11-05 华为技术有限公司 一种运动矢量解码方法及解码器
US10417810B2 (en) * 2017-05-31 2019-09-17 Verizon Patent And Licensing Inc. Methods and systems for rendering virtual reality content based on two-dimensional (“2D”) captured imagery of a three-dimensional (“3D”) scene

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160045911A (ko) * 2013-09-05 2016-04-27 이베이 인크. 단일 이미지로부터 깊이를 추정하기
KR20150029353A (ko) * 2013-09-10 2015-03-18 삼성전자주식회사 영상 처리 장치 및 영상 처리 방법
WO2017142353A1 (ko) * 2016-02-17 2017-08-24 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

Also Published As

Publication number Publication date
WO2019055389A1 (en) 2019-03-21
KR102600011B1 (ko) 2023-11-09
CN111264058A (zh) 2020-06-09
US20200228777A1 (en) 2020-07-16
EP3682632A1 (en) 2020-07-22
EP3682632B1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
KR102600011B1 (ko) 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
US11790562B2 (en) Method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
CN111279705B (zh) 用于编码和解码体积视频的方法、设备和流
CN111034201B (zh) 编码和解码体积视频的方法、设备和流
KR20200065076A (ko) 볼류메트릭 비디오 포맷을 위한 방법, 장치 및 스트림
EP3457688A1 (en) Methods and devices for encoding and decoding three degrees of freedom and volumetric compatible video stream
CN112189345B (zh) 用于编码或解码表示3d场景的数据的方法、设备或介质
US11375235B2 (en) Method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
EP3562159A1 (en) Method, apparatus and stream for volumetric video format
US11798195B2 (en) Method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
KR102607709B1 (ko) 3 자유도 및 볼류메트릭 호환 가능한 비디오 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
JP2023506832A (ja) 補助パッチを有する容積ビデオ
EP3709659A1 (en) A method and apparatus for encoding and decoding volumetric video
US20220345681A1 (en) Method and apparatus for encoding, transmitting and decoding volumetric video

Legal Events

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