KR20230074179A - 다중 평면 이미지들을 처리하기 위한 기법들 - Google Patents

다중 평면 이미지들을 처리하기 위한 기법들 Download PDF

Info

Publication number
KR20230074179A
KR20230074179A KR1020237012754A KR20237012754A KR20230074179A KR 20230074179 A KR20230074179 A KR 20230074179A KR 1020237012754 A KR1020237012754 A KR 1020237012754A KR 20237012754 A KR20237012754 A KR 20237012754A KR 20230074179 A KR20230074179 A KR 20230074179A
Authority
KR
South Korea
Prior art keywords
tile
mpi
slice
representation
scene
Prior art date
Application number
KR1020237012754A
Other languages
English (en)
Inventor
베누이트 반다메
디디어 도옌
프레데릭 바본
레미 겐드로트
Original Assignee
인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 filed Critical 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Publication of KR20230074179A publication Critical patent/KR20230074179A/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • 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/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • H04N13/232Image signal generators using stereoscopic image cameras using a single 2D image sensor using fly-eye lenses, e.g. arrangements of circular lenses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

디바이스, 장치 및 연관된 방법들이 제공된다. 일 실시예에서, 본 방법은 3차원(3D) 장면의 다중 평면 이미지(MPI) 표현을 획득하는 단계를 포함한다. MPI 표현은 3D 장면으로부터의 콘텐츠의 복수의 슬라이스들을 포함하고, 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응한다. 각각의 슬라이스는 규칙적 타일들로 분해되고; 각각의 타일의 배향이 결정된다.

Description

다중 평면 이미지들을 처리하기 위한 기법들
본 개시내용은 대체적으로 볼류메트릭 비디오(volumetric video) 캡처에 관한 것이고, 더 구체적으로는 다중 평면 이미지(multi-plane image, MPI) 포맷들을 사용하는 볼류메트릭 비디오 캡처들에 관한 것이다.
볼류메트릭 비디오 캡처는, 종종 실제 장면들에서 이동하는 이미지들이, 임의의 각도에서 나중에 보여질 수 있는 방식으로 캡처될 수 있게 하는 기법이다. 이것은, 특정 각도에서 사람들 및 객체들의 이미지들을 캡처하는 데 있어서 제한되는 규칙적인 카메라 캡처들과는 매우 상이하다. 추가로, 비디오 캡처는 3차원(three-dimensional, 3D) 공간에서 장면들의 캡처들을 허용한다. 이어서, 결과적으로, 획득되는 데이터는 실제인 또는 컴퓨터에 의해 생성되는 몰입형 경험(immersive experience)들을 확립하는 데 사용될 수 있다. 가상, 증강 및 혼합 현실 환경들의 인기가 상승함에 따라, 볼류메트릭 비디오 캡처 기법들도 또한 인기가 상승하고 있다. 이는, 기법들이 사진의 시각적 품질을 사용하고 그것을 공간화된 콘텐츠의 몰입도 및 상호작용성과 혼합하기 때문이다. 그 기법은 복잡하고, 컴퓨터 그래픽, 광학, 및 데이터 처리 분야들에서의 최근 진보들 중 많은 것을 조합한다.
생성된 몰입형 경험들은 극히 현실적으로 보이지만, 다량의 데이터를 다루는 단점을 갖는다. 이러한 데이터의 관리 및 저장 둘 모두는, 임시적이더라도 고가이며 어려운 것이다. 결과적으로, 최종 제품의 속도 및 품질에 영향을 미치지 않고서 관리 및 저장될 필요가 있는 데이터의 양을 감소시키는 해결책들을 제공하는 것이 바람직하다.
일 실시예에서, 장치 및 연관된 방법들이 제공된다. 일 실시예에서, 본 방법은 3차원(3D) 장면의 다중 평면 이미지(MPI) 표현을 획득하는 단계를 포함한다. MPI 표현은 3D 장면으로부터의 콘텐츠의 복수의 슬라이스들을 포함하고, 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응한다. 각각의 슬라이스는 규칙적 타일들로 분해되고; 각각의 타일의 배향이 결정된다.
상이한 실시예에서, 3D 장면의 뷰를 렌더링하기 위한 디바이스 및 연관된 방법이 제공된다. 본 방법은 3D 장면의 인코딩된 MPI 표현을 획득하는 단계를 포함한다. 인코딩된 MPI 표현은 비트스트림 또는 아틀라스(atlas) 중 하나를 포함한다. 이어서, 인코딩된 MPI 표현은 복수의 타일들, 복수의 타일들의 각각의 타일에 대한 배향 정보, 및 각각의 타일을 MPI 표현의 슬라이스 및 슬라이스 내의 포지션과 연관시키는 정보를 획득하기 위해 디코딩되며, 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응한다. 이어서, 슬라이스들의 적층된 표현이 구성된다. 각각의 슬라이스는 슬라이스와 연관된 타일들을 포함하고, 각각의 타일은 타일의 배향 정보에 따라 배향된다. 마지막으로, 슬라이스들의 적층된 표현으로부터의 콘텐츠가 병합 이미지(merged image)에 투영된다. 병합 이미지는 제2 가상 카메라의 포지션으로부터의 3D 장면의 뷰를 나타낸다.
본 개시내용의 교시들은 첨부 도면들과 함께 하기의 상세한 설명을 고려함으로써 용이하게 이해될 수 있다:
도 1a는 하나 이상의 카메라들의 중간에 위치된 투영 카메라(projective camera)의 제1 포지션에 대해 계산된 가상 이미지의 예시이다.
도 1b는 하나 이상의 실제 카메라들의 중간으로부터 좌측의 특정 거리에 위치된 투영 카메라에 대해 계산된 가상 이미지의 예시이다.
도 2는 일 실시예에 따른, 하나 이상의 실제 카메라들로부터 멀리 위치된 투영 카메라로 관찰된 가상 이미지의 예시이다.
도 3은 에피폴라 라인(Epipolar line)의 예시이다.
도 4는 일 실시예에 따른, MPI의 슬라이스들을 생성하기 위해 4개의 실제 카메라들, 및 하나의 가상 카메라가 제공되는 일례의 예시이다.
도 5는 일 실시예에 따른, 가상 컬러 큐브를 형성하는 6개의 연속적 슬라이스들의 예시이다.
도 6은 일 실시예에 따른, 4×4 카메라들의 행렬로 캡처된 이미지들 상에 적용되는 알고리즘의 결과를 예시한다.
도 7a는 일 실시예에 따른, 2D 좌표들마다 컬러 큐브들을 병합하는 것의 예시이다.
도 7b는 일 실시예에 따른 원근 투영(perspective projection)(들)과의 병합이다.
도 8은 일 실시예에 따른, 2D 이미지로 저장된 타일의 픽셀들의 예시이다.
도 9는 일 실시예에 따른 1차원 타일 배향의 예시이다.
도 10은 일 실시예에 따른 2D 타일 배향의 예시이다.
도 11은 하나 이상의 실시예들에 따른 인코딩 및 디코딩 시스템의 일반적인 개요를 개략적으로 예시한다.
도 12는 일 실시예의 흐름도 예시이다.
도 13은 일 실시예에 따라 제공된 해결책과 외삽형 투영 카메라(extrapolated projection camera)로부터 관찰된 MPI를 비교한다.
이해를 용이하게 하기 위해, 도면들에 공통되는 동일한 요소들을 지정하기 위해 가능한 경우 동일한 참조 부호들이 사용되었다.
도 1a 및 도 1b는 투영 카메라의 2개의 포지션들에 대해 계산된 가상 이미지의 예시들이다. 도 1a는 하나 이상의 카메라들의 중간에 위치되는 것처럼 투영 카메라에 대해 계산되는 반면, 도 1b는 하나 이상의 실제 카메라들의 중간으로부터 좌측의 특정 거리(이 경우에 30 cm)에 위치되는 투영 카메라에 대해 계산된다. 이러한 특정 예에서, 실제 카메라들은 각각의 길이가 21 cm인 정사각형 안에 속박되었다. 두 경우들 모두에서, 타일형 다중 평면 이미지(MPI)들이 생성되었다.
MPI는 매우 세세한 최종 렌더링들을 생성하는 데 사용되는 카메라 중심의 계층화된 이미지들의 3D 표현이고, 다수의 몰입형 기술들에 사용될 수 있다. MPI는, 종종 합성 이미지를 계산하는 데 사용되는 중간 데이터 객체인 다중 평면 이미지이다. 그것은 평면들(또는 슬라이스들)의 집합으로 구성되며, 이는 데이터의 큐브를 정의한다. 평면들은, 실제 카메라들로부터 합성 이미지가 계산되는 가상 카메라의 광축(optical axis)에 수직이다. MPI들은 실제 뷰 및 컴퓨터 생성 뷰(computer-generated view) 둘 모두의 매우 세세한 이미지들을 제공하는 데 사용된다.
도 1a 및 도 1b의 예에서, 생성된 MPI는 동일하였고, 200개의 슬라이스들에 기초하여 계산되었다. 타일 크기들은 각각 7개의 픽셀들이었다. 슬라이스들은 도 1b의 타워 기둥들 및 지붕의 스크래치들 주위에서 더욱 가시적이다. 그들은 타워의 상세사항들을 보유하는 슬라이스들을 통해 가시적 배경에 대응한다.
MPI들은 딥러닝 애플리케이션들을 이용하여 계산될 수 있다. 종종, MPI들은 뷰 합성을 제공하는 데 사용되며, 이는 이어서 딥러닝 애플리케이션들을 포함하는 다양한 애플리케이션들에서 사용될 수 있다. 이미지 뷰 합성은, 카메라들의 행렬에 의해 캡처되지 않았던 포지션으로부터 관찰된 장면으로부터 이미지가 계산될 수 있게 하는 알고리즘을 설명한다. 가상 카메라의 외적 및 내적 파라미터들은 자유롭게 정의될 수 있다. 합성된 이미지의 품질은, 가상 카메라가 실제 카메라(들)와 동일한 내적 파라미터들을 공유하고 있을 때 양호할 것이다.
뷰 합성은 주어진 시점들로부터 촬영된 다수의 사진들로부터 시작하여 최종 렌더링을 생성하는 것을 목표로 한다. 그러나, 해결될 필요가 있는, 현재 상태의 기술과 연관된 몇 가지 문제들이 존재한다. 하나의 문제는, 실제이거나 또는 가상일 수 있는 다수의 주어진 카메라 설정들 및 배향들로부터 임의의 합성 이미지를 구축하는 어려움들에 관련된다. 이러한 합성 이미지의 최종 렌더링은 주어진 설정들을 갖고 주어진 위치에 배치된 가상 카메라로부터 원하는 대로 취해진다.
다른 어려움은, MPI 평면들이 가상 카메라의 광축에 수직으로 정의되고 기존의 MPI 기법들이 각각의 슬라이스의 콘텐츠를 슬라이스와 연관된 평평한 평면 상에 놓이도록 제한한다는 사실에 관련된다. MPI는 이미지들 또는 이미지들의 슬라이스들로부터 제조된 타일들을 저장될 수 있는 합리적인 볼륨으로 유지함으로써 인코딩된다. MPI에 대한 타일들의 크기는 MPI에 정의된 슬라이스들의 수에 의존한다. 이어서, 제공된 슬라이스들의 수에 또한 의존하는 타일형 MPI로부터 보간된 뷰(interpolated view)들이 생성된다. 그러나, 많은 수의 타일들을 갖는 것은, 언급된 바와 같은 문제가 되는 많은 양의 데이터를 저장해야 할 필요가 있다. 따라서, 타일형 MPI에 저장될 타일들의 수 및 슬라이스들의 수를 감소시키기 위해 결국에 도움이 될 일부 정보를 각각의 타일에 대해 추가하기 위한 해결책은 일 실시예에서 논의되는 바와 같이, 이러한 어려움들을 해결하는 하나의 방식일 수 있다. 이러한 실시예에서, 타일형 MPI의 전반적 크기는 뷰 합성의 주어진 픽처 품질에 대해 감소된다. 도 7a 및 도 7b는 이후에 이러한 실시예에 관한 더 많은 정보를 제공할 것이다. 도 7a 및 도 7b에서 논의될 바와 같이, MPI로부터의 가상 뷰의 계산이 가능하게 된다. 추가적으로, 타일형 MPI는 가상 카메라로부터 MPI가 계산되었던 가상 뷰를 생성하도록 적층될 수 있거나(도 7a) 또는 MPI는 많은 상이한 가상 뷰들을 생성하기 위해 어떤 투영 카메라에도 투영될 수 있다(도 7b).
상이한 실시예에서, 가상 뷰들(식 (12) 참조)은 이어서 뷰 렌더링들과 함께 사용될 수 있는 완전한 알고리즘(complete algorithm)을 근사화하는 데 사용될 수 있다. 이러한 실시예에서, 타일형 MPI는 더 빠른 렌더링 생성을 허용하는 투영 카메라들에 대해 계산된다. 그러한 영역들에서의 하나의 어려움은, 투영 카메라가 실제 카메라들에 의해 정의된 경계들의 외부에 배치될 때 발생하는 가시적 결함들을 회피하는 것이다. 그러한 경우에, 실시예는 뷰 외삽(view extrapolation)들을 사용하여, 타일형 MPI로부터의 투영 평면들 및 슬라이스들의 평면들이 가시적이게 될 수 있게 한다.
볼류메트릭 비디오 캡처 기법들은, 특정 방식으로 이미지들을 캡처하는 카메라들의 개발에서의 발전들인 컴퓨터 그래픽, 광학, 및 데이터 처리의 분야들에서 상승하는 진보들을 통해 가능하게 되었다. 하나의 그러한 카메라는, 동일한 장면의 다수의 뷰들을 동시에 제공하기 때문에 MPI들의 생성에 사용될 수 있는 라이트 필드 카메라(light field camera)이다.
라이트 필드 카메라들은 다양한 뷰 포인트들로부터 실제 콘텐츠가 캡처될 수 있게 한다. 라이트 필드 카메라들의 2개의 주요 군들은, 카메라들의 행렬; 또는 플렌옵틱 카메라(plenoptic camera)들이다. 카메라들의 행렬은 다양한 뷰 포인트들로부터의 많은 포착(acquisition)들을 수행하는 데 사용되는 단일 카메라로 대체될 수 있다. 따라서, 캡처되고 있는 라이트 필드는 정적 장면으로 제한된다. 플렌옵틱 카메라를 이용하면, 메인 렌즈와 센서 사이에 마이크로 렌즈가 위치된다. 마이크로 렌즈들은 다양한 뷰 포인트들에 대응하는 마이크로 이미지들을 생성한다. 센서에 의해 수집된 마이크로 이미지들의 행렬은 카메라들의 행렬로 획득된 포착과 동등한 소위 서브 애퍼처(sub-aperture) 이미지들로 변형될 수 있다. 실시예들은 카메라들의 행렬을 고려하여 설명되지만, 플렌옵틱 카메라로부터 추출된 서브 애퍼처 이미지들의 세트에 동일하게 잘 적용될 것이다.
카메라 교정은 중요하고, 소위 외적 및 내적 파라미터들을 추정하기 위해 획득되는 특수 이미지들 및 알고리즘들의 세트를 수반한다. 외적 파라미터들은 실제 세계 좌표계에서의 카메라들의 포지션 - 메인 렌즈 동공의 중심 포지션을 특징짓기 위한 3개의 병진들, 및 카메라들의 메인 광축의 배향들을 특징짓기 위한 3개의 회전 각도들을 설명한다. 내적 파라미터들은 초점 길이, 중심점(principal point), 픽셀 크기와 같은 각각의 카메라의 내부 속성들을 설명한다. 그것은 또한, 이상적인 얇은 렌즈에 비해 캡처된 이미지들을 왜곡시키는 메인 렌즈에 의해 생성된 기하학적 왜곡을 포함할 수 있다. 많은 교정 절차들은 다양한 뷰 포인트들로부터 여러 번 관찰되는 체커보드(checkerboard)에 의존한다.
카메라들은 기하학적으로 교정될 수 있다. N개의 카메라들이 존재하는 시나리오에서, N개의 카메라들은, 예를 들어, 모든 카메라들에 의해 동시에 관찰되는 흑백 체커보드를 사용하여 교정된다. 카메라들로부터 상이한 포지션들에 포지셔닝된 체커보드로 여러 개의 사진들이 촬영된다. 각각의 사진 상에서, 체커보드의 2개의 흑색 및 2개의 백색 정사각형들에 의해 한계가 정해지는 코너들의 2D 좌표들이 추출된다. 하나의 이미지로부터, 코너들의 2D 좌표들은 다른 카메라들에 의해 관찰된 동일한 코너들의 2D 좌표들과 연관된다.
N개의 카메라들에 의해 관찰된 코너들의 N개의 2D 좌표들을 이용하여 그리고 또한 상이한 노출들에 대해, 세계 좌표계(WCS)에 따라 카메라들의 포지션을 추정하는 것이 가능하다. 이러한 좌표계에서, 카메라 i∈[1,N]로부터의 메인 렌즈의 동공의 중심이 병진 벡터 T i =(X,Y,Z) t 에 의해 공간에 포지셔닝되고, 광축의 배향은 3D 회전 행렬 R i 에 의해 정의된다. 카메라 i의 포즈 행렬은
Figure pct00001
에 의해 정의된다. 카메라 i의 외적 행렬은 Q i =
Figure pct00002
에 의해 정의된다. 내적 카메라 파라미터들: 초점 길이; 중심점; 픽셀 크기; 기하학적 왜곡이 외적 카메라 파라미터들과 동시에 추정된다.
카메라 교정을 이용하면, 픽셀 (x,y)에서 가시적인 객체 내지 카메라 i 사이의 임의의 거리 z에 대해, 하나의 카메라 i로부터의 2D 픽셀 좌표 (x,y)를 3D WCS 좌표 (X,Y,Z) t 로 변환하는 것이 가능하다. 또한, 공간 내의 임의의 포인트 (X,Y,Z) t 로부터, 카메라 i로부터 픽셀 (x,y)에서 관찰된 그의 좌표를 계산하는 것이 가능하다.
포인트 클라우드들은 WCS에서의 3D 포인트들의 하나 이상의 세트들이다. 각각의 3D 포인트는 RGB 컬러와 연관된다. 포인트 클라우드들은 각각의 RGB 픽셀을, 카메라 교정 파라미터들 및 대응하는 깊이를 알고 있는 WCS에 투영함으로써 멀티 뷰 플러스 깊이(Multi-View plus Depth, MVD)로부터 쉽게 획득될 수 있다.
또 다른 중요한 개념은 깊이 맵 추정의 것이다. 라이트 필드 카메라를 이용하여, 장면 내의 주어진 객체가 가변 시차(varying parallax)로 여러 번 관찰된다. 따라서, 모든 카메라들로부터 그러한 객체의 거리를 추정하는 것이 가능하다. 각각의 픽셀이 주어진 카메라에 의해 획득된 대응하는 이미지에서 가시적인 객체들의 거리를 정량화하는 소위 깊이 맵을 추론한다.
MVD들을 사용할 때, 카메라들의 행렬에 의해 획득된 이미지들의 세트뿐 아니라, 깊이 맵 이미지들의 대응하는 세트가 지정된다. 하나의 깊이 맵은 하나의 이미지와 연관되고, 그것은 동일한 공간 해상도 및 동일한 관찰 포지션(viewing position)들을 공유한다.
도 2는 투영 카메라가 실제 카메라들의 배치와 관련하여 매우 높게 위치되는 외삽의 예시이다. 따라서, 투영 카메라의 메인 축은 MPI의 슬라이스들의 법선으로부터 멀리 있다. 제공된 가상 이미지는 실제 카메라들에 의해 관찰될 수 없는 소정의 어두운 영역들을 디스플레이한다. 이러한 예에서, 타일형 MPI(또는 심지어 전체 MPI)로부터의 뷰 합성은, MPI가 실제 카메라들의 경계들에 놓이지 않는 투영 카메라에 따라 투영될 때, 슬라이스들(또는 평면들)을 가시적이게 한다. 이것은, 사용자가 디바이스와 자유롭게 상호작용하여 (예를 들어, 소위 동적 윈도우 데모, 또는 헤드 마운트 디스플레이로 관찰된 합성 뷰들로서) 투영 카메라의 물리적 포지션을 정의할 수 있을 때 비교적 일반적이다.
현재 논의되는 바와 같은 일 실시예에서, 예컨대, MPI가 외삽된 포지션으로부터 관찰될 때 타일들 사이에서 가시적인 공간을 감소시키도록 타일들을 배향시키기 위해, 각각의 타일에 추가적인 데이터가 추가될 것이다. 따라서, MPI의 각각의 슬라이스는 그의 연관된 콘텐츠를 평평한 평면으로 더 이상 제한하지 않고, 오히려 각각의 타일의 배향에 따라 평면 외부로 확장될 수 있는 배향된(또는 틸팅된) 타일들의 집합으로서 생각될 수 있다.
그러한 표현은 실시간 몰입을 허용하는 렌더링 측에서의 더 빠른 처리를 허용할 수 있다.
전통적으로, MPI로부터의 합성 뷰들의 품질은 슬라이스들의 수에 의존한다. MPI의 타일형 버전에서, 데이터의 양은 감소되지만, 합성 뷰들의 품질은 여전히 슬라이스들의 초기 수에 의존한다. 일 실시예에서, 주어진 예상 뷰 합성 품질을 위해 슬라이스들의 수를 (전반적으로) 감소시키기 위해 타일들 각각에 대한 배향에 관련된 정보를 추가하는 것이 가능하다. 이러한 배향된 타일들을 갖는 이러한 실시예에서, 객체 공간을 많은 슬라이스들로 분할할 필요가 없다(예컨대, 배향된 타일들은, 더 적은 슬라이스들을 갖는 MPI가 더 많은 슬라이스들을 갖지만 배향된 타일 정보가 부족한 MPI와 동일한 뷰 합성/렌더링 품질을 생성할 수 있게 할 수 있음). 예를 들어, 원래의 MPI 콘텐츠가 500개의 슬라이스들을 갖는 경우, 이들 중 100개의 슬라이스들은 이러한 배향된 타일로부터 필요한 정보를 획득하기에 충분할 수 있다. 이러한 정보를 통해, 타일들의 배향이 결정될 수 있고, 깊이 정확도가 유지될 수 있다. 타일들의 감소는 또한, 저장될 데이터의 총량의 감소를 허용한다.
일 실시예에서, 각각의 타일의 배향은 하기의 방식으로 관리될 수 있다:
- 컨센서스를 계산할 때, 슬라이스당 평균 깊이 Z를 계산함
- MPI를 계산하고, 객체 공간 내의 타일의 4개의 코너들의 z 좌표들을 타일마다 결정함. 이후에 논의되는 바와 같이, 이러한 좌표들은 확장된 아틀라스 인덱스로 저장된다. (각각의 타일과 연관된 텍스처를 포함하는 메인 아틀라스에 비해, 필요한 메모리 크기가 매우 제한되는 추가적인 설명 이름 A Z 가 유지된다.)
다른 실시예에서, 뷰 합성 알고리즘이 사용될 수 있고, 이는 특정 볼류메트릭 데이터의 계산을 허용한다. 카메라들의 행렬을 고려할 때 원시 이미지들의 포착으로부터, 가상 카메라 포지션에서 보이는 바와 같은 합성 이미지의 계산까지, 여러 단계들이 수행된다.
도 3은 에피폴라 라인의 예시이다. 카메라 교정과 연관된 하나의 중요한 개념은 기하학적 카메라 교정과 관련된다. N개의 카메라들이 존재하는 시나리오에서. 2개의 카메라들로부터 동시에 관찰된 이미지들 사이에서 깊이 추정이 가능하게 된다. XL(x,y)를 공간 X(X,Y,Z)에서 객체를 관찰하는 좌측 카메라로부터의 픽셀이라고 하자. O L 은 좌측 카메라의 광학 중심이다. 라인(O L ,X) 상에 있는 임의의 객체 Xi는 동일한 픽셀 XL에 의해 관찰된다. 우측 카메라 상에서, 객체 X i 는, 에피폴라 라인으로 정의되는 센서 상의 하나의 라인 상에 모두가 있는 좌표들 xr에서 관찰된다.
하기 예들 및 설명들은 깊이 맵들의 추정을 이해하는 것을 도울 것이다. 예시를 위해, 2개의 카메라들이 하기 설명에서 사용될 것이지만, 당업자에 의해 이해될 수 있는 바와 같이, 대안적인 실시예들에서 다른 수들의 카메라들이 사용될 수 있다.
일 실시예에서, 픽셀과 연관된 깊이를 추정하기 위한 방법이 다음과 같이 에피폴라 라인을 사용하여 수행된다:
1) 픽셀 좌표 (x,y)에서의 기준 카메라의 픽셀 p ref (x,y)를 고려한다.
2) 픽셀 p ref 는 기준 카메라와 연관된 회전 및 병진 행렬을 갖는 다양한 거리 후보들 Z c 에서 세계 좌표계로 역투영(de-project)된다. 이것은, 픽셀 p ref (x,y)에 의해 모두 관찰되는 좌표 후보들의 물리적 포지션
Figure pct00003
가 획득될 수 있게 할 것이다. 후보들의 수 S는 전형적으로, 양호한 깊이 추정을 위해 100과 동일하다. 또한, S는 슬라이스들의 수로 지칭될 수 있는데, 이는, 그들이, 깊이 맵이 추정되는 평행한 슬라이스들에서 3D 공간들을 커팅하는 많은 평면들을 정의하기 때문이다.
3) 이어서, 후보들 p ref 가 외적 및 내적 카메라 파라미터들에 따라 제2 카메라에 투영된다. 제2 카메라 상의 S개의 좌표들
Figure pct00004
를 추론하며, 이들 모두는 거리 후보 Z c 에 의존한다.
4) 기준 카메라 상의 픽셀 p ref 에서 관찰된 실제 물리적 객체 P ref 의 거리
Figure pct00005
는, p ref ( x,y )
Figure pct00006
와 가장 유사한 경우 거리 후보 Z c 와 동일하다.
상이한 실시예들에서, 다양한 추정기들을 사용하여 유사성들이 계산된다. 이해를 쉽게 하기 위해, 2개의 공통 유사성 추정기들이 열거될 것이지만, 당업자에게 공지된 바와 같이, 대안적인 실시예들에서 다른 추정기들이 사용될 수 있다.
제1 추정기는 2개의 픽셀들 사이의 L1 놈(norm)에 관련된다 ― 관찰되는 픽셀 p를 3개의 컬러 성분들 적색, 녹색 및 청색
Figure pct00007
에 대응하는 3개의 스칼라들에 의해 정의된 컬러 픽셀들이라 한다. 2개의 픽셀들 p ref ( x,y )
Figure pct00008
사이의 L1 놈은
Figure pct00009
Figure pct00010
에 의해 정의된다. N개의 후보들
Figure pct00011
중에서, p ref ( x,y )를 갖는 최소 L1 놈을 갖는 것은 공간에서 동일한 객체를 관찰한다고 한다. 대응하는 Z c 는 픽셀 p ref 에 연관된 깊이 추정이다.
제2 추정기는 2개의 픽셀들 사이의 제곱 L2 놈에 관련된다 - 이것은, 제곱 L2 놈에 대한 유사성 측정이
Figure pct00012
Figure pct00013
에 의해 정의되는 것을 제외하고는, 이전에 설명된 L1 놈과 유사하다.
하나의 시나리오 하에서, 하나의 픽셀의 컬러 성분만으로 유사성이 추정되는 경우, 깊이 추정은 노이즈에 매우 민감하다. 이러한 제한을 극복하기 위해, 2개의 픽셀들 사이의 유사성은 몇몇 주변 픽셀들을 포함하는 패치를 사용하여 계산된다. 이러한 기법은 교차 패치 깊이 추정을 지칭한다. 분명히, 그것은 훨씬 더 많은 계산을 요구하는데, 그 이유는, 그것이 2개의 픽셀들 사이의 유사성에 비해 P×P 픽셀들의 패치에 대해 p 2더 많은 계산을 요구하기 때문이다. 이것은 실시간 추정을 위한, 그리고 특히 모바일 디바이스들에 임베딩될 때의 임계점이다. 전술된 유사성 연산자는 픽셀을 둘러싸는 패치들에 사용될 수 있다:
Figure pct00014
2개의 패치들 사이의 L1 놈 ― P x P 픽셀 패치인
Figure pct00015
가 픽셀 p ref ( x,y )를 둘러싸고 패치
Figure pct00016
가 픽셀
Figure pct00017
를 둘러싼다고 하자. 2개의 패치들 사이의 L1 놈은
Figure pct00018
에 의해 정의된다. S개의 후보들
Figure pct00019
중에서, p ref ( x,y )를 갖는 최소 L1 놈을 갖는 것은 공간에서 동일한 객체를 관찰한다고 한다. 대응하는 Z c 는 픽셀 p ref ( x,y )에 연관된 깊이 추정이다.
일 실시예에서, 깊이 맵은 기준 카메라와 다른 카메라 사이에서 계산된다. N개의 카메라들로 이루어진 행렬의 경우에, 주어진 카메라에 대해, N-1개의 깊이 맵이 추정된다. 이러한 깊이 맵들은, 카메라당 하나의 깊이 맵을 추정하기 위해 (평균화, 가장 가까운 데이터를 취함으로써 ...) 단일 맵으로 병합될 수 있다. 이러한 절차의 종료 시에, N개의 카메라들에 의해 획득된 N개의 이미지들은 N개의 깊이 맵들과 연관된다. 이러한 데이터는 다중 뷰 플러스 깊이(MVD)로 불린다.
일 실시예에서, 뷰 합성을 획득하는 것은, MVD가 관찰/계산되었던 카메라들의 행렬에 가까이 위치되는 가상 카메라로부터의 이미지의 계산을 나타낸다. 일례에서, 뷰 합성 알고리즘은 하기 단계들을 통해 제공될 수 있다:
1. 컨센서스 큐브 ― 이러한 단계를 이용하여, 입력 이미지당 큐브가 계산된다. 그것은, 많은 샘플링된 깊이들에 대해, 모든 깊이 맵들이 선택된 입력 카메라의 관찰 포인트로부터 얼마나 잘 매칭되는지를 정량화한다.
2. 소프트 가시성 큐브(Soft Visibility Cube) ― 이러한 큐브는 컨센서스 큐브를 통합함으로써 계산된다. 소프트 가시성 큐브는, 카메라 관찰 포인트에 대해, 주어진 픽셀로부터 객체가 얼마나 많이 보일 수 있는지를 정량화한다. 깊이 맵 추정들은 오류가 발생하기 쉽기 때문에, 가시성은 "소프트"라고 한다. 컨센서스 큐브에 관해 말하면, 소프트 가시성은 확률과 비슷하다.
3. 가상 컬러큐브 추정 - 입력 이미지들의 컨센서스 큐브 및 가시성 큐브를 알고 있으면, 가상 카메라로부터 가상 컬러큐브(MPI)가 추정된다.
4. 가상 컬러큐브로부터의 가상 이미지 계산 - 가상 컬러큐브(MPI)가 적층되어 단일 가상 이미지를 형성한다.
상기 단계들은 뒤따르는 설명에서 추가적인 상세사항들로 확장될 것이다. 상기 단계 목록의 처음 3개의 단계들은 3D 장면의 MPI 표현을 생성하기 위한 하나의 방식을 제공한다는 것에 유의한다. 생성된 MPI는 상기 단계 목록에서 '가상 컬러큐브'로 표기된다. 제4 단계는 3D 장면의 새로운 뷰를 효율적으로 생성하거나 또는 합성하기 위해 MPI 표현이 어떻게 사용되는지를 설명한다. 이전에 언급된 바와 같이, MPI 표현을 생성하기 위한 많은 공지된 기법들이 존재하고, 상기 목록의 단계들 1, 2 및 3은 구체적인 예시로서 제공된다. 그러나, 본 발명은 상기 단계들 1, 2 및 3을 특징으로 하는 MPI 생성 기법으로 제한되지 않는다. 오히려, 본 발명은 3D 장면의 MPI 표현을 생성하기 위해 임의의 공지된 기법을 활용할 수 있다. 예를 들어, MPI 표현을 생성하기 위해, MPI를 생성하기 위한 다양한 딥러닝 접근법들이 채용될 수 있다.
도 4는 일 실시예에 따른 예시이다. 도 4에서, 다수의 슬라이스들이 도시되어 있다. 적어도 하나의 슬라이스가 가상 카메라로부터(그리고 카메라 2의 경우에 컨센서스 계산으로부터) 정의된다. 일 실시예에서, 컨센서스는, 깊이 맵들의 값들이 적어도 하나의 주어진 깊이 맵과 얼마나 밀접하게 부합하는지를 나타낸다. (Nx,Ny)픽셀들 및 그의 대응하는 깊이 맵 D i 로 구성된 각각의 입력 이미지 I i 에 대해, 컨센서스 큐브 C i 가 계산된다. 큐브 C i 는 (N x ,N y ,S) 픽셀들로 구성되고, 여기서 S는 슬라이스들의 수를 가리킨다. 슬라이스들은, MPI가 계산되는 가상 카메라에 따라 정의된다. 가상 카메라는 전형적으로 실제 카메라들의 중간에 위치되지만, 가상 카메라의 다른 포지션들도 또한 가능하다.
도 4를 다시 참조하면, 4개의 실제 카메라들 및 하나의 가상 카메라에 대한 결과들이 제공된다. 이들 각각은 이러한 예에 대해 생성된 MPI의 슬라이스들을 정의한다. 슬라이스들 P s 는 가상 카메라의 메인 광축에 수직이고, (식 (1)에 따라) 가상 카메라로부터 z만큼 떨어져 있다. 슬라이스들 P s 는 모든 실제 카메라들에 대해, 어떤 것이 그들의 배향들이든 그들의 컨센서스를 계산하기 위해 사용된다. 실제 카메라들 및 가상 카메라 사이에서 동일한 슬라이스들을 공유하는 것은 계산을 더 쉽고 더 빠르게 하고, 제안된 알고리즘에 필요하다. 각각의 슬라이스
Figure pct00020
는 거리 z와 연관되는데, 이는, 식 (1)에 의해 주어지는 바와 같이, zmin 및 zmax와 반비례하여 가변한다. zmin 및 zmax는, 가상 카메라 시스템에서, MPI의 첫 번째 슬라이스 및 마지막 슬라이스의 포지션을 특징짓는다. 최소 및 최대 거리들은 장면 콘텐츠에 따라 정의되고, 그것은 전형적으로 깊이 맵들을 계산하는 데 사용되는 동일한 최소 및 최대 거리들로 설정된다.
Figure pct00021
(1)
카메라 i의 컨센서스를 계산하기 위해, 해당 카메라로부터 광선이 투사되어 픽셀 (x,y)를 통과한다(도 4에서 i = 2). 이러한 광선은 WCS 좌표 J = (X, Y, Z)에서 슬라이스 P s 에 부딪친다. 이러한 좌표는 픽셀 좌표들
Figure pct00022
에서 실제 카메라들 k에 다시 투영된다. 깊이 맵들은 해당 좌표에서 추정된
Figure pct00023
깊이를 제공한다. 포인트들
Figure pct00024
k번째 카메라 좌표계에서 표현되고, 그들은 포인트 J k 에 대응하며, 이는 이어서 WCS에서 표현된다. 슬라이스의 두께는
Figure pct00025
이고, 이때
Figure pct00026
이고
Figure pct00027
이다. 컨센서스 큐브를 정의하기 위해, 펄스 함수 Π(a,b,c)가 다음과 같도록 정의된다:
Figure pct00028
(2)
또한, 헤비사이드(Heaviside) H(a,b) 함수가 다음과 같이 정의된다:
Figure pct00029
(3)
슬라이스 s에서 카메라 i에 대한 픽셀 (x,y)에서의 컨센서스의 값은 다음과 동일하다:
Figure pct00030
(4)
여기서, M은 카메라 i의 컨센서스를 계산하는 데 사용되는 카메라들의 세트이다. 정확한 계산을 위해, M은 모든 카메라들에 동일하게 선택된다.
Figure pct00031
는 가상 카메라 C v 와 포인트 J k 사이의 대수 측정치(algebraic measure)이다.
Figure pct00032
는 포인트 J k 와 평면 P s 사이의 대수 측정치이다. 이러한 거리들은 가상 카메라의 Q v 내적 행렬을 사용하여 계산된다:
Figure pct00033
(5)
Figure pct00034
는 슬라이스의 두께이고, 이때
Figure pct00035
이다. 투영 및 역투영은 내적 및 외적 카메라 파라미터들로 계산된다. 컨센서스는, 객체가 슬라이스 내에 있다는 것에 부합하는 깊이 맵들의 수들(예컨대, 카메라들의 수)을 여전히 이러한 슬라이스와 그 너머를 볼 수 있는 깊이 맵들의 총 수(예컨대, 카메라들의 총 수)로 나눈 비율로 정의된다.
Figure pct00036
는 청색 화살표들로 도 4에 예시되어 있다.
컨센서스
Figure pct00037
의 계산은, 특히, 대부분의 이미지들이 소정 거리 너머에서 가려질 때 노이즈가 있다. 이러한 경우, 식 (4)의 분모는 0이 되는 경향이 있다. 하나의 옵션은 분모에 대한 최소 값을 설정하는 것이다. 이러한 최소 값은 실험적으로
Figure pct00038
로 설정된다. 슬라이스 s에서 컨센서스
Figure pct00039
는, 그의 신호 대 노이즈를 개선시키기 위해 평활화될 수 있다. 노이즈제거(Denoising)는 소위 가이드식 노이즈제거 알고리즘들에 의해 슬라이스별로 수행된다. 로컬 평활화 커널(local smoothing kernel)이, 슬라이스 s에서 컨센서스로부터의
Figure pct00040
주위의 그리고 관찰된 이미지
Figure pct00041
로부터의 픽셀들 주위의 주변 픽셀들을 이용하여 계산된다.
소프트 가시성 계산은 주어진 이미지,
Figure pct00042
에 대해, 하기의 식에 따라 슬라이스들 전체에 걸쳐 그의 컨센서스
Figure pct00043
를 통합함으로써 계산된다:
Figure pct00044
(6)
가시성은 제1 슬라이스에 대해 1과 동일하고, 0까지 감소한다. 가시성이 0을 향해 감소하고 있을 때, 이것은, 주어진 슬라이스를 넘어, 이미지
Figure pct00045
가 픽셀
Figure pct00046
에서 가시적인 객체에 의해 가려진다는 것을 의미한다. 식 (6)에서
Figure pct00047
는 가시성이 0 미만으로 감소하는 것을 방지한다. 이것은, 컨센서스가 뷰로부터 가려진 객체들을 넘어 볼 수 있는 모든 카메라들 i 사이의 부합이기 때문에 빈번하게 발생한다. 잠재적으로,
Figure pct00048
Figure pct00049
를 계산하는 데 사용된 카메라들의 수 M과 동일할 수 있다.
도 5는 가상 컬러 큐브의 6개의 연속적 슬라이스들의 예시를 제공한다. 상단 좌측 이미지는 전경 슬라이스를 제공하고, 하단 우측 이미지는 배경 슬라이스를 제공하고, 다른 슬라이스들은 그 사이에 있다. 일 실시예에서, 도 5는
Figure pct00050
이도록
Figure pct00051
개의 관찰된 이미지들
Figure pct00052
의 세트로 계산된 가상 카메라 포지션으로부터 보여진 가상 이미지의 추정에서 사용될 수 있다. 세트
Figure pct00053
은 단순히, 가상 카메라에 가장 가까운 4개의 실제 카메라들, 또는 객체들의 최대 세트가 가시적인 완전한 MPI를 구축하기 위한 모든 카메라들로서 정의될 수 있다.
가상 카메라 포지션으로부터 보여진 가상 이미지를 추정하기 위해, MPI
Figure pct00054
로 불리는 가상 컬러큐브가 또한 예비 단계로서 계산된다. 컬러큐브는 내적 및 외적 카메라 파라미터들을 특징으로 하는 가상 카메라의 좌표계에 있다. 이러한 가상 큐브의 각각의 슬라이스는 대응하는 소프트 가시성에 의해 가중된
Figure pct00055
개의 이미지들의 평균으로서 계산된다.
Figure pct00056
(7)
식 (7)에서,
Figure pct00057
는 가상 카메라로부터 실제 카메라 k로 재투영된 좌표
Figure pct00058
를 나타낸다. 이러한 접근법의 큰 이점은, 가상 컬러 큐브로부터의 정수 좌표들
Figure pct00059
이 큐브에 의한
Figure pct00060
의 샘플링 때문에 가능하게 되는 역방향 워핑 접근법(backward warping approach)으로 계산된다는 것이다. 가상 컬러 큐브는, 주어진 슬라이스에 놓인 객체들만이 보이는 초점 스택과 같고, 전경 객체들은 제거되었다.
일 실시예에서, 가상 컬러 큐브가 또한 생성될 수 있다. 이러한 실시예에서, MPI는 고유한 가상 컬러이미지를 형성하도록 병합된다. 이러한 실시예에서, 컬러 가상 이미지들과 연관된 컨센서스 큐브
Figure pct00061
및 가시성 큐브
Figure pct00062
를 먼저 계산하는 것이 도움이 될 수 있다. 식 (7)과 유사하게, 계산은
Figure pct00063
개의 초기 컨센서스 또는 가시성 큐브를 평균함으로써 수행된다:
Figure pct00064
(8)
Figure pct00065
(9)
여기서,
Figure pct00066
는 가상 컨센서스 큐브의 복셀 좌표(voxel coordinate)이다.
Figure pct00067
Figure pct00068
는 복셀
Figure pct00069
을 WCS
Figure pct00070
로 역투영하고, 이어서 좌표들
Figure pct00071
로 투영함으로써 계산되고, 이때
Figure pct00072
는 포인트
Figure pct00073
로부터 카메라
Figure pct00074
까지의 거리이다.
상기 정의된 큐브들 둘 모두가
Figure pct00075
로 조합된다.
Figure pct00076
(10)
CC는 0 내지 1 사이에서 가변하는 일종의 확률이다. 전형적인 값들은 다음과 같다:
Figure pct00077
주어진
Figure pct00078
가 1과 동일한 경우, 이것은, 객체가 가상 카메라로부터 거리 z에 놓여 있고, 가상 카메라 내의 좌표
Figure pct00079
에서 보여진다는 것에 모든 카메라들이 부합함을 의미한다.
Figure pct00080
높은 값
Figure pct00081
는 드물다 ― 그것은, 깊이 추정이 정확했고(텍스처화된 영역들이었고), 가상 카메라(또는 카메라들)의 슬라이스 상에 정확하게 그리고 실제 카메라들의 슬라이스들에 매우 가까이 포지셔닝되었던 객체에 대응한다.
Figure pct00082
CC 값들은 대부분 0과 동일한데, 이는 많은 슬라이스들(또는 전형적인 슬라이스의 많은 영역들)이 어떠한 객체와도 매칭되지 않기 때문이다.
Figure pct00083
상세사항들이 거의 없는 객체들에 대해, 원시 이미지들로부터 추출된 깊이 맵들은 부합하지 않고 원시 컨센서스는 낮으며, 그것은
Figure pct00084
만큼 낮을 수 있고, 여기서 N은 카메라들의 수이다. 이러한 경우에, CC는 또한 대략
Figure pct00085
값들로 낮다.
Figure pct00086
CC 값들은 2개의 슬라이스들 사이에 놓인 객체들에 대한
Figure pct00087
보다 더 낮을 수 있다. 따라서, 몇 퍼센트(예컨대, 0에 가까움)와 동일한 CC값들이 일반적이다.
이어서, 컬러 슬라이스들은 컨센서스에 의해 가중되고, 광선 가시성(ray visibility)이 0에 도달할 때까지 누적된다:
Figure pct00088
(11)
일 실시예에서, 가상 컬러큐브(즉, 3D 장면의 MPI 표현)는 4개의 값들: 적색, 녹색, 청색 및 α(RGBα)로 구성된 픽셀들로 저장된다. RGB는 식 (7)에 의해 계산된 컬러들을 인코딩한다. α는 식 (10)으로 계산되었던
Figure pct00089
성분을 인코딩한다.
도 6은 4×4 카메라들의 행렬로 캡처된 이미지들 상에 적용된 알고리즘의 결과를 보여주는 실시예의 예시이다. 4개의 컨센서스 및 가시성 큐브들이 4개의 중앙 카메라들에 대해 128개의 슬라이스들을 이용하여 계산된다. 모든 깊이 맵들이 컨센서스 및 가시성 큐브들을 계산하는 데 기여하고 있다: 세트 M은 16개의 카메라들로 구성된다. 합성 컬러큐브는 4개의 중앙 카메라들로 계산된다: 세트
Figure pct00090
은 4개의 카메라들로 구성된다.
도 6은 4개의 원본 이미지들(좌측의 4개의 이미지들) 및 합성된 이미지(우측 이미지)의 상세도를 예시한다. 이러한 예에서, 이러한 알고리즘은 복잡한 폐색들로 구성된 장면들에서도 매우 정확한 결과들을 생성하고 있다. 그것은
Figure pct00091
개의 컨센서스 및 가시성 큐브들에 대해 다량의 메모리를 요구한다. 예에서, 캡처 장치는 2MPixel 카메라들의 4×4 행렬로 구성되고; 200개의 슬라이스들이 깊이 맵들, 컨센서스 및 가시성 큐브들을 계산하는 데 사용된다. 하나의 합성 이미지의 계산이 GPU 상에서 5초 내에 수행되고, 8 Gb의 메모리를 요구한다.
도 7a 및 도 7b는 가상 컬러 큐브들을 단일 가상 이미지에 병합하는 것을 도시하는 예시들이다. 도 7a는 가상 컬러 큐브와 동일한 가상 카메라 포지션을 공유하는 가상 이미지를 제공한다. 도 7b는 가상 컬러 큐브로부터 자유롭게 계산된 가상 이미지이다. 도 7b에서 생성된 가상 이미지는 제2 가상 카메라 포지션으로부터의 3D 장면의 합성된 뷰이며, 여기서 제2 가상 카메라 포지션은 대체적으로 가상 컬러 큐브의 원래의 가상 카메라 포지션과는 상이하다.
논의된 실시예에서, 뷰 합성 알고리즘의 최종 단계로서, 가상 컬러 큐브는 일부 가중치들에 따라 단일의 가상 이미지로 병합된다. 논의된 바와 같은 도 7a 및 도 7b는 2D 좌표들마다 병합이 어떻게 수행되는지를 예시한다. 이것은 MPI의 계산에 전용된 계산 시간으로 호환가능한 실시간 렌더링을 허용한다.
일단 MPI가 주어진 가상 카메라 포지션에 대해 정의되면, 일 실시예에서, 다른 가상 뷰들이 근사화되고, 가상 컬러 큐브에는 원근 투영들이 제공된다(도 7b). 제2 투영은 최종 합성 이미지의 제2 가상 카메라의 관찰 포인트 및 카메라 포지션을 제어한다. 따라서, 2개의 가상 카메라 포지션들이 정의되는데, 제1 가상 카메라 포지션은 가상 컬러큐브(MPI)를 계산하는 데 전용되고, 제2 가상 카메라 포지션은 가상 컬러큐브(MPI)를 자유롭게 선택된 가상 카메라 포지션으로 병합하는 데 전용된다. 실제로, MPI를 계산하는 데 사용된 제1 가상 카메라 포지션은 실제 카메라들의 중간에 위치되고, 제2 가상 카메라 포지션은 몰입형 경험을 위해 사용자의 헤드 포지션 또는 관찰 포지션에 의해 제어된다.
식 (12)는 4×4 투영 행렬 P를 이용한 3D 좌표
Figure pct00092
의 투영에 의해 수정된다:
Figure pct00093
(12)
여기서,
Figure pct00094
이다. 투영된 좌표
Figure pct00095
는 정수가 아니고, 값
Figure pct00096
은 보간으로 추출된다. 가상 컬러큐브를 비스듬한 투영과 병합하는 것은 제1 가상 카메라에 대해 계산된 완전한 알고리즘보다 약간 더 낮은 품질을 갖는 가상 이미지를 생성한다. 그럼에도 불구하고, 이러한 접근법은, 가상 컬러 큐브를 가상 이미지에 적층하는 것으로부터, 해당 큐브의 계산을 포함하는, 알고리즘의 3개의 처음 단계들의 계산을 분할할 수 있게 한다. 따라서, 기록된 콘텐츠 및 가상 컬러 큐브까지의 일부 사전계산을 이용하여 실시간 렌더링이 가능하다.
도 8은 가상 컬러 큐브의 타일링의 예시이다. 모든 타일들은 2D 이미지로 저장된다. 가상 컬러 큐브 또는 MPI는 본질적으로 크다. 예를 들어, 각각 2048×1088 픽셀 해상도의 4×4 카메라들의 카메라 리그(rig)를 이용하여, 가상 컬러 큐브는 전형적으로 128개의 슬라이스들에 대해 128×2048×1088 픽셀들로 구성된다. 가상 컬러큐브는 또한 0들로 가득 차는데, 이는 MPI 내의 다양한 슬라이스들 내의 대부분의 영역들이 장면 상세사항들과 매칭되지 않기 때문이다. 실제 콘텐츠를 사용하면, 픽셀들의 90%가 널(null)이거나 또는 무시해도 될 정도의 기여도, 즉
Figure pct00097
를 갖는다는 것에 유의한다. 도 7에 예시된 바와 같이 컬러 큐브를 적층하는 것은 최근 GPU 카드들로 4 Hz에서 계산된다. 10의 배율로 스피드업하기 위해, MPI는 널 픽셀들이 전혀 또는 거의 없는 새로운 구조로 변환된다. 기본 접근법은, MPI를 픽셀 크기
Figure pct00098
의 타일들
Figure pct00099
로 분할하는 것이다. 이것은, 예를 들어, 고정된 크기일 수 있다.
동일한 크기를 갖는 모든 타일들을 선택하는 것은 가상 컬러 큐브의 분할을 더 쉽게 만든다. 도 8은 도 5에 부분적으로 도시된 가상 큐브가, 유의한 타일들만이 저장되는 단일 2D 이미지로 어떻게 변환되는지를 예시한다. 유의한 콘텐츠를 갖지 않는 타일들은 폐기되고, 뷰 합성을 위한 후속 투영 동작들에서 비어 있는 것으로서 처리될 것이다. 2D 이미지로 저장된 유의한 타일들의 경우, 픽셀당 4개의 성분들인 RGB 컬러 성분 및 식 (10)에 의해 기술된 바와 같은 CC 값들을 기록하는 α 성분이 픽셀마다 저장된다. 유의한 타일들의 집합은 아틀라스라고 불리는 구조로 배열된다. 타일
Figure pct00100
Figure pct00101
픽셀들 및 가상 컬러 큐브 내의 3D 포지션
Figure pct00102
으로 구성된 작은 이미지에 의해 특징지어지고, 여기서
Figure pct00103
는, 타일이 픽셀 좌표들
Figure pct00104
Figure pct00105
Figure pct00106
사이에서 추출되었던 슬라이스이다. 타일의
Figure pct00107
픽셀들은 도 8에 도시된 바와 같은 2D 이미지로 저장된다.
아틀라스는 다음으로 구성된다:
1) 선택된 타일들을 기록하는 크기
Figure pct00108
의 2D 이미지 A. A가 기록할 수 있는 타일들의 최대 수는
Figure pct00109
와 동일하다. 타일의 각각의 픽셀은 4개의 성분들
Figure pct00110
에 의해 정의되고, 여기서 α는 식 (10)에 정의된 바와 같은 CC이다.
2) A 내의 대응하는 타일들의 3D 포지션을 기록하는 크기
Figure pct00111
의 2D 이미지
Figure pct00112
.
Figure pct00113
의 각각의 픽셀은 A에서 설명된 i번째 타일들의 3D 포지션에 대응하는 3개의 성분 값들
Figure pct00114
로 이루어진다.
각각의 타일의 배향을 허용하기 위해, 하기의 동작들이 수행된다:
1- 컨센서스를 계산할 때, 슬라이스당 그리고 픽셀당 평균 깊이 Z를 계산함
2- MPI를 계산하고, 객체 공간 내의 타일의 4개의 코너들의 z 좌표들을 타일마다 결정함. 이러한 좌표들은 확장된 아틀라스 인덱스로 저장된다.
식 (4)는 주어진 카메라 및 주어진 슬라이스에 대한 컨센서스 큐브의 계산을 설명한다. 제안된 알고리즘은 다음에 의해 정의된 평균 z 컨센서스
Figure pct00115
를 정의한다:
Figure pct00116
(13)
가상 컬러큐브(MPI)가 원시 이미지들을 가상 슬라이스들에 투영함으로써 계산되고 있는 동안, 평균 z 컨센서스
Figure pct00117
를 MPI와 동일한 크기를 갖는 큐브
Figure pct00118
에 또한 투영하는 것이 중요하다. 이러한 큐브는, 슬라이스 두께들보다 더 정확한 객체들의 평균 z를 추적한다.
Figure pct00119
는 하기 식에 의해 계산된다:
Figure pct00120
(14)
식 (7)에 관해 말하면,
Figure pct00121
는 가상 카메라로부터 실제 카메라 k로 재투영된 좌표
Figure pct00122
를 나타낸다.
Figure pct00123
는 가상 카메라 C v 와 포인트 P k 사이의 거리이다. 이러한 거리는, 포인트 J k 가 슬라이스 s에 속하는 경우,
Figure pct00124
에 기여한다.
Figure pct00125
는 슬라이스 s에 속하는 포인트들 J k 의 가상 카메라에 대한 평균 거리를 표현한다. 이러한 평균 거리는 텍스처 영역들에서 계산된 깊이 맵들에 대해 매우 정확하고, 이러한 영역들에 대해, 슬라이스의 두께는 깊이 맵들의 정확도에 비해 너무 크다.
Figure pct00126
는 이러한 정확도의 트레이스를 유지하는 것을 허용한다. 텍스처가 없는 영역들에서, 포인트 J k 는 여러 슬라이스들에서 확산된다.
도 9는 타일이 1차원적으로 어떻게 배향되는지를 도시하는 개략적인 타일 추출에 대한 평면도의 예시이다. 도면은 실제로 타일 배향들이 타일의 콘텐츠에 기초하기 때문에 예시적이고, 따라서 단일 차원으로 제한되지 않는다. 도 10은 타일의 4개의 코너들을 제공한다. 타일이 MPI로부터 추출되는 동안, 배향은 해당 타일에 속하는 픽셀들의
Figure pct00127
로 계산될 수 있다. 도 9로부터,
Figure pct00128
Figure pct00129
와 그들의 배향을 아는 것은, 타일의 배향을 특징짓고 이를 도 10에서와 같이 4개의 타일 코너들의 4개의 깊이들
Figure pct00130
에 의해 추가로 특징짓기에 충분하다.
이러한 방식으로, MPI가 계산되고, 큐브
Figure pct00131
는, MPI 내의 각각의 픽셀에 대해, 대응하는 슬라이스 두께보다 더 큰 정확도로 카메라까지의 거리를 정의한다. MPI는 공간들을 저장하기 위해 타일형 MPI로 변환된다. 타일들은 MPI로부터 추출되고, 타일들은
Figure pct00132
를 사용함으로써 배향된다.
타일들의 4개의 코너들을 계산하기 위해, 먼저 타일의 평균 거리가 계산된다.
Figure pct00133
는 크기
Figure pct00134
의 타일의 좌측 하단 픽셀 좌표이다:
Figure pct00135
(15)
z의 기울기들은
Figure pct00136
xy 도함수로 추정된다:
Figure pct00137
(16)
Figure pct00138
(17)
이전의 식으로부터, 타일 t의 4개의 코너들의 4개의 거리들을 도출한다.
Figure pct00139
(18)
아틀라스는 타일들에 대한 배향 정보를 포함하도록 확장된다. 아틀라스는 nx * ny 타일들로 구성되며, 각각의 타일은 크기 Tx*Ty를 갖는다. 타일의 각각의 픽셀은 4개의 성분들
Figure pct00140
에 의해 정의되고, 여기서 α는 식 (10)에 정의된 바와 같은 CC이다. 일반적인 경우에, 각각의 타일은 장면 내의 그의 위치에 대응하는 (x, y, z) 좌표를 갖는다. 배향된 타일은 4개의 코너들(Z1, Z2, Z3, Z4)의 깊이에 대응하는 4개의 좌표들의 다른 세트를 가질 것이다.
일 실시예에서, 확장된 아틀라스가 다음과 같이 구성되는 일례가 제공될 수 있다:
1) 선택된 타일들을 기록하는 크기
Figure pct00141
의 2D 이미지 A. 예를 들어, 도 8을 참조한다. A가 기록할 수 있는 타일들의 최대 수는
Figure pct00142
와 동일하다. 타일의 각각의 픽셀은 4개의 성분들
Figure pct00143
에 의해 정의되고, 여기서 α는 식 (10)에 정의된 바와 같은 CC이다.
2) A에서 대응하는 타일들의 3D 포지션을 기록하는 크기
Figure pct00144
의 2D 이미지
Figure pct00145
.
Figure pct00146
의 각각의 픽셀은 A에서 설명된 i번째 타일들의 3D 포지션에 대응하는 3개의 성분 값들
Figure pct00147
로 이루어진다.
3) 타일들에 대한 배향 정보를 기록하는 크기
Figure pct00148
의 2D 이미지
Figure pct00149
. 예를 들어, 배향 정보가 타일의 4개의 코너들로서 표현되는 경우, 2D 이미지
Figure pct00150
의 각각의 요소는 A 내의 대응하는 타일의 4개의 코너들의 4D z 거리들을 기록한다.
아틀라스(예컨대, 타일 배향 정보를 포함하는 확장된 아틀라스)는 배향된 타일들을 포함하는 적층형 타일 표현을 재구성하는 데 사용되고, 이것은 투영 행렬 P에 따라 2D 이미지에 투영된다. 아틀라스 이미지
Figure pct00151
는 타일 코너들의 4개의 거리들 z를 제공한다.
Figure pct00152
(19)
여기서,
Figure pct00153
이고, 이때
Figure pct00154
이다. OpenGL과 같은 그래픽 API는 MPI들의 실시간 투영에 대해 일반적으로 사용된다. OpenGL을 이용하면, 타일을 그리기(plot) 위해 2개의 삼각형들의 좌표들을 제공하는 것이 충분하다. 가상 카메라 시스템에서, 제1 삼각형은 하기의 좌표들을 가질 것이다:
Figure pct00155
Figure pct00156
. 제2 삼각형은 하기의 좌표들을 갖는다:
Figure pct00157
Figure pct00158
. 2개의 삼각형들은 아틀라스에서 타일에 대해 기록된
Figure pct00159
픽셀들에 의해 주어진 텍스처들(예컨대, RGB 값들)과 연관된다. OpenGL은 2개의 삼각형들의 투영, 및 투영 행렬 P에 따른 래스터화를 수행하고 있다. A z 의 크기는, 타일 텍스처들을 저장하는 아틀라스 이미지 A의 크기에 비해 무시해도 될 정도이다. 또한, 타일 코너들의 z 거리들을 고려하는 계산 시간은 주어진
Figure pct00160
에서 타일들을 투영하는 것에 비해 영향을 미치지 않는다.
대안적인 실시예에서, 아틀라스(예컨대, 타일 배향 정보를 포함하는 확장된 아틀라스)가 저장될 수 있다. 아틀라스는 파일에 저장되거나 또는 비트스트림에 기입될 수 있다. 파일 또는 비트스트림은 나중에 사용하기 위해 저장될 수 있거나, 또는 그것은 다른 디바이스가 3D 장면의 뷰들을 (예컨대, 실시간으로) 렌더링하기 위해 아틀라스 정보를 사용할 수 있도록 네트워크를 통해 다른 디바이스로 전달될 수 있다. 디코더 측에서, 아틀라스 정보가 디코딩되고 각각의 픽셀의 RGBα, 각각의 타일의
Figure pct00161
및 4개의 깊이 값들 (Z1, Z2, Z3, Z4)이 디코딩된다. 이러한
Figure pct00162
및 4개의 깊이들은 각각의 타일에 대한 각각의 픽셀의 좌표들
Figure pct00163
을 재계산하는 데 사용된다. 주어진 타일에 속하는 주어진 픽셀의 좌표들은 다음 방정식을 따르는 4개의 코너들의 깊이 값들로부터 계산된 z 좌표 및 투영 행렬 P를 사용하여 수행된다:
여기서,
Figure pct00164
이고, 이때
Figure pct00165
이다.
OpenGL은 MPI들의 실시간 투영을 달성하기 위해 디코더 디바이스에 의해 사용될 수 있다. OpenGL을 이용하면, 타일을 그리기 위해 2개의 삼각형들의 좌표들을 제공하는 것이 충분하다. 가상 카메라 시스템에서, 제1 삼각형은 하기의 좌표를 가질 것이다:
Figure pct00166
. 제2 삼각형은 하기의 좌표들을 갖는다:
Figure pct00167
. 2개의 삼각형들은 아틀라스에 기록된
Figure pct00168
픽셀들에 의해 주어진 텍스처들(RGB)에 연관된다. OpenGL은 2개의 삼각형들의 투영, 및 투영 행렬 P에 따른 래스터화를 수행한다. 각각의 픽셀은 다음 식에 따라 합성된다:
Figure pct00169
과거에는, (실제 카메라들 사이의 가상 카메라 포지션들로부터, 그리고 또한 외삽된 포지션들 둘 모두로부터) 정확한 합성된 뷰들을 갖기 위해, 많은 슬라이스들을 갖는 MPI를 계산하는 것이 필수였다. 그러나 많은 슬라이스들을 갖는 것은 많은 유의한 타일들을 생성하고, 따라서 타일형 MPI가 더 커진다. 일례에서, 주어진 장면으로, 500개의 슬라이스들을 갖는 MPI에 대해, 55 Mbyte의 데이터를 요구하는 280000개의 타일들이 추출될 수 있다. 배향된 타일을 사용하여, 일 실시예에서, 이것은 감소된 수의 슬라이스들(예컨대, 500개 대신 100개의 슬라이스들)을 갖고서 비슷한 렌더링 성능으로 달성될 수 있다. 100개의 슬라이스들만으로, 추출된 타일들의 수는 130000으로 감소되며, 이는 크기를 26 Mbyte의 데이터로 감소시킨다. 배향된 타일들을 인코딩하기 위한 추가적인 비용은 추출된 타일들의 8%와 동일하므로, 타일 배향 정보는 2 Mbyte의 추가적인 비용을 발생시키는데, 이는 총 크기와 관련하여 작고, 500개의 슬라이스들의 경우에서 총 크기보다 훨씬 더 작다. 일 실시예에서, 시뮬레이션들은, 타일들이 그에 따라 배향되는 경우 MPI가 너무 많은 슬라이스들을 가질 필요가 없다는 것을 예시한다. 슬라이스들을 더 적게 갖는 것은, 타일들의 배향의 추가적인 인코딩 비용에도 불구하고 타일형 MPI의 크기를 감소시키는 것을 허용한다.
이전 실시예들 중 하나에서 논의된 바와 같이, 타일 배향들이 2D 이미지 A Z 에 기록된 4개의 코너 깊이 값들 Z 1, Z 2, Z 3Z 4로 특징지어질 수 있을 때, 값들은 식 (16) 및 식 (17)에 의해 주어진 바와 같이 해당 타일에 속하는 픽셀들에 대해 추정된 기울기들에 의해 계산될 수 있다. 다른 실시예에서, 이미지 A Z 는, 타일의 중심 포인트의 깊이, x 치수와 관련되는 깊이의 기울기, 및 y 방향과 관련되는 깊이의 기울기를 각각 나타내는 3개의 성분들만을, 예를 들어
Figure pct00170
Figure pct00171
Figure pct00172
로서 유지함으로써 약간 상이하게 정의될 수 있다. A Z 의 본질은 주어진 슬라이스에 대해 추출된 타일에 속하는 픽셀들에 대한 평균 z 컨센서스
Figure pct00173
의 변형을 모델링하는 것이다. 일 실시예에서, 선형 모델(예컨대, 평평한 배향된 타일에 대응함)은 기울기들을 특징으로 하는 배향들을 갖고 사용될 수 있다. 이러한 모델에 대해, 그러한 타일들의 공간 포지션 및 배향이 특정될 수 있는 많은 상이한 방식들이 존재한다. 예를 들어, 깊이 값들은 타일의 4개의 코너들에 대해 특정될 수 있거나, 깊이 값들은 타일의 3개의 코너들에 대해 특정될 수 있거나, 또는 깊이 값들은 타일의 중심 포인트뿐만 아니라 타일의 코너들 중 2개에 대해 특정될 수 있다. 타일들의 에지 경계들 중 하나 이상의 에지 경계들의 중심에 위치된 포인트들에 대해 깊이 값들이 제공될 수 있다. 대안적으로, 타일 배향을 정의하기 위해 수평 및 수직 기울기 파라미터들과 함께, 단일 깊이 값이 제공될 수 있다. 기울기 파라미터들 대신에, 2개의 성분 각도 값들이 배향을 특정하는 데 사용될 수 있다. 그러한 각도 값들은, 타일이 슬라이스 평면에 대해, 예를 들어 수평 및 수직 방향들에서 배향되는 각도를 나타낼 수 있다. 대안적으로, 각도 값들은 슬라이스 평면에 대한 타일의 표면 법선의 각도를 나타낼 수 있다. 일 실시예에서, 타일들에 대한 포지션(예컨대, 깊이) 및 배향을 특정하는 임의의 파라미터들이 활용될 수 있다. 또한, 그러한 파라미터들은 이전에 특정된 바와 같이 아틀라스 이미지 Az에 저장될 수 있지만, 타일 배향 파라미터들을 저장하고 그들에 대한 액세스를 제공하기 위한 다른 기법들이 또한 가능하다. 또한, 예를 들어 타일이 비평면 형상을 취할 수 있게 하는 2차 모델로서, 선형(예컨대, 평평한 타일) 모델 이외의 모델들이 사용될 수 있다. 3D 공간에서 표면을 설명할 수 있는 임의의 모델들이 사용될 수 있다.
도 11은 하나 이상의 실시예들에 따른 인코딩 및 디코딩 시스템의 일반적인 개요를 개략적으로 예시한다. 도 11의 시스템은 하나 이상의 기능들을 수행하도록 구성되고, 인코딩 디바이스(1140)에 의한 인코딩을 위해 수신된 콘텐츠(하나 초과의 이미지들 또는 비디오들을 포함함)를 준비하기 위한 사전처리 모듈(1130)을 가질 수 있다. 사전처리 모듈(1130)은 다중 이미지 획득, 공통 공간 등에서 획득된 다수의 이미지들의 병합, 특정 포맷의 전방향성 비디오의 획득 및 인코딩에 더 적합한 포맷의 준비를 허용하기 위한 다른 기능들을 수행할 수 있다. 다른 구현예는 다수의 이미지들을 포인트 클라우드 표현을 갖는 공통 공간으로 조합할 수 있다. 인코딩 디바이스(1140)는 콘텐츠를, 호환가능한 디코딩 디바이스(1170)에 의한 복구를 위해 송신 및/또는 저장에 적합한 형태로 패키징한다. 대체적으로, 엄격하게 요구되지는 않지만, 인코딩 디바이스(1140)는 어느 정도의 압축을 제공하여, 공통 공간이 더 효율적으로 표현될 수 있게 한다(즉, 저장을 위한 더 적은 메모리 및/또는 송신에 필요한 더 적은 대역폭을 사용함). 2D 프레임에 맵핑된 3D 구체(sphere)의 경우에, 2D 프레임은 실질적으로, 다수의 이미지(또는 비디오) 코덱들 중 임의의 것에 의해 인코딩될 수 있는 이미지이다. 포인트 클라우드 표현을 갖는 공통 공간의 경우에, 인코딩 디바이스는, 예를 들어 옥트리 분해(octree decomposition)에 의한, 잘 알려져 있는 포인트 클라우드 압축을 제공할 수 있다. 인코딩된 후에, 데이터는 네트워크 인터페이스(1150)로 전송되며, 이는 전형적으로, 예를 들어 게이트웨이에 존재하는 임의의 네트워크 인터페이스에서 구현될 수 있다. 이어서, 데이터는 인터넷과 같은 통신 네트워크(1150)를 통해 송신될 수 있다. 다양한 다른 네트워크 유형들 및 컴포넌트들(예컨대, 유선 네트워크들, 무선 네트워크들, 모바일 셀룰러 네트워크들, 광대역 네트워크들, 근거리 네트워크들, 광역 네트워크들, WiFi 네트워크들 등)이 그러한 송신에 사용될 수 있고, 임의의 다른 통신 네트워크가 예상될 수 있다. 이어서, 데이터는 네트워크 인터페이스(1160)를 통해 수신될 수 있으며, 이는 게이트웨이에서, 액세스 포인트에서, 최종 사용자 디바이스의 수신기에서, 또는 통신 수신 능력들을 포함하는 임의의 디바이스에서 구현될 수 있다. 수신 후에, 데이터는 디코딩 디바이스(1170)로 전송된다. 이어서, 디코딩된 데이터는 센서 또는 사용자 입력 데이터와도 또한 통신할 수 있는 디바이스(1180)에 의해 처리된다. 디코더(1170) 및 디바이스(1180)는 단일 디바이스(예컨대, 스마트폰, 게임 콘솔, STB, 태블릿, 컴퓨터 등)에 통합될 수 있다. 다른 실시예에서, 렌더링 디바이스(1190)가 또한 통합될 수 있다.
일 실시예에서, 디코딩 디바이스(1170)는 적어도 하나의 컬러 성분을 포함하는 이미지를 획득하는 데 사용될 수 있고, 적어도 하나의 컬러 성분은 보간된 데이터 및 보간되지 않은 데이터를 포함하고, 적어도 하나의 컬러 성분에서 보간되지 않은 데이터를 갖는 하나 이상의 위치들을 나타내는 메타데이터를 획득한다.
도 12는 이미지들을 처리하기 위한 일 실시예의 흐름도 예시이다. 단계(1210)에서, 적어도, 서로로부터 일정 거리에 배치된 적어도 2개의 실제 카메라들의 상이한 관점들로부터 캡처된 장면의 이미지가 수신된다. 장면은 적어도 하나의 콘텐츠를 포함하고, 예를 들어, 콘텐츠는 객체들 또는 사람들의 시각적 표현들일 수 있다. 적어도 이미지는 비디오 또는 스트리밍 콘텐츠일 수 있다. 단계(1220)에서, 상기 적어도 2개의 실제 카메라들 사이에 배치된 가상 카메라의 관점으로부터 동일한 장면의 가상 이미지가 생성된다. 단계(1230)에서, 가상 카메라 및 상기 실제 카메라들로부터 획득된 정보가 관리되고 임의의 리던던시들이 제거된다. 단계(1240)에서, 이러한 정보는 도 7a 및 도 7b에서 앞서 논의된 바와 같은 복수의 적층된 타일들에 제공된다. 타일들은 전술된 바와 같이 배향될 수 있다. 단계(1250)에서, 적어도 하나의 콘텐츠가 임의의 각도로 그리고 임의의 포지션에 배치된 임의의 가상 카메라에 의해 캡처되는 것으로 보이도록, 스택을 선택적으로 기울어지게 함으로써 장면의 적어도 하나의 콘텐츠의 가상 이미지의 최종 렌더링이 생성된다.
도 13은 외삽들을 갖는 합성된 이미지의 예시이다. 좌측은 배향된 타일들 없이(예컨대, 타일 배향 정보의 이득 없이) 생성된 이미지를 보여주는 반면, 우측은 배향된 타일들을 사용하여 생성된 이미지를 보여준다. 슬라이스(들)의 수는 두 경우들 모두에서 S = 100이다. 배향된 타일들의 공간 포지션은, 슬라이스의 중간에서의(예컨대, 중심 깊이에서의) 디폴트 포지션이 사용된 경우보다 더 정확하게 특정된다. 이러한 경우는, 배향된 타일들이 슬라이스들의 두께에도 불구하고 공간 내에서 정확한 위치를 어떻게 허용하는지를 예시한다.
일 실시예에서, 3D 장면의 향상된 다중 평면 이미지(MPI) 표현을 생성할 수 있는 방법 또는 디바이스가 구현될 수 있다. 이러한 실시예에서, 디바이스는 장면의 MPI 표현을 획득할 수 있는 프로세서를 가질 수 있다. MPI 표현은 3D 장면으로부터의 콘텐츠의 복수의 슬라이스들을 포함하고, 여기서 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응한다. 이어서, 각각의 슬라이스가 규칙적 타일들로 분해되고, 타일들 각각에 대한 배향 정보가 결정된다. 이어서, 타일들은 그들의 배향 정보, 또한 각각의 타일을 MPI 표현의 슬라이스 및 슬라이스 내의 타일 포지션과 연관시키는 정보를 포함하여 저장될 수 있다.
다른 실시예에서, 3D 장면의 뷰를 렌더링하기 위해 유사한 방법 및 디바이스가 사용될 수 있다. 이러한 실시예에서, MPI 표현은 유사한 방식으로 획득되고, 이어서 슬라이스들이 분해되고 각각의 타일 배향이 또한 유사하게 결정된다. 그러나, 각각의 슬라이스의 적층된 표현이 이어서 구성된다. 이러한 실시예에서, 각각의 슬라이스는 슬라이스로부터 분해된 타일들을 포함하고, 각각의 타일은 타일의 배향 정보에 따라 배향된다. 이어서, 콘텐츠는 슬라이스들의 적층된 표현으로부터의 병합 이미지에 투영되고, 병합 이미지는 제2 가상 카메라의 포지션으로부터의 3D 장면의 뷰를 나타낸다.
다수의 향상들이 또한 상기의 어느 하나의 실시예에서 구현될 수 있다. 예를 들어, MPI 표현을 획득하는 것은 3D 장면의 다중 뷰 플러스 깊이(MVD) 캡처로부터 MPI 표현을 생성하는 것을 포함할 수 있다. MPI 표현을 획득하는 것은 또한, 딥러닝 알고리즘을 사용하여 캡처된 장면 정보로부터 MPI 표현을 계산하는 것을 포함할 수 있다.
각각의 슬라이스의 상이한 깊이는 슬라이스의 최소 깊이, 최대 깊이, 또는 평균 깊이 중 적어도 하나에 대응한다. 각각의 타일에 대해, 타일의 3D 장면 콘텐츠에 대한 깊이 값들 및 깊이 값들에 기초한 타일의 배향 정보가 결정된다.
일 실시예에서, 각각의 슬라이스는 규칙적 타일들로 분해된다. 이어서, 규칙적 타일들 중 어느 것이 유의한 콘텐츠를 포함하는 것으로서 결정되고, 이어서 유의한 콘텐츠를 갖는 것들은 유지되고 다른 것들이 폐기될 것이다.
일 실시예에서, 각각의 타일에 대한 배향 정보, 및 각각의 타일을 MPI의 슬라이스 및 슬라이스 내의 타일 포지션과 연관시키는 정보가 아틀라스 파일에 저장된다. 다른 실시예에서, 각각의 타일에 대한 배향 정보, 및 각각의 타일을 MPI의 슬라이스 및 슬라이스 내의 타일 포지션과 연관시키는 정보가 비트스트림에 기입된다.
또한, 일 실시예에서, 슬라이스들의 적층된 표현이 구성된다. 각각의 슬라이스는 슬라이스로부터 분해된 타일들을 포함하고, 각각의 타일은 타일의 배향 정보에 따라 배향된다. 콘텐츠는 슬라이스들의 적층된 표현으로부터의 병합 이미지에 투영되고, 병합 이미지는 제2 가상 카메라의 포지션으로부터의 3D 장면의 뷰를 나타낸다.
일 실시예에서, 배향 정보는 다음 중 하나 이상을 포함할 수 있다: 타일의 코너들에 대한 깊이 값들; 타일의 중심 포인트에 대한 깊이 값; 수평 기울기 값; 수직 기울기 값; 또는 타일의 표면 법선의 각도 값들.
다른 실시예에서, 3D 장면의 뷰를 렌더링하기 위한 방법이 도입된다. 이러한 실시예에서, 인코딩된 MPI 표현이 획득된다. 인코딩된 MPI 표현은 비트스트림 또는 아틀라스 파일 중 하나를 포함할 수 있다. 이어서, 인코딩된 MPI는 디코딩되어, 타일들뿐만 아니라 각각의 타일에 대한 배향 정보 및 각각의 타일을 MPI 표현의 슬라이스 및 슬라이스 내의 타일 포지션과 연관시키는 정보를 획득한다. 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응한다. 이어서, 슬라이스들의 적층된 표현이 구성되고, 각각의 슬라이스는 슬라이스에 연관된 타일들을 포함하고, 각각의 타일은 배향 정보에 따라 배향된다. 이어서, 콘텐츠는 슬라이스들의 적층된 표현으로부터의 병합 이미지에 투영되고, 병합 이미지는 제2 가상 카메라의 포지션으로부터의 3D 장면의 뷰를 나타낸다.
인코딩된 MPI 표현은 통신 네트워크를 통해 인코딩된 MPI 표현을 수신함으로써 획득될 수 있다. 그것은 또한, 파일 시스템 또는 메모리 중 하나로부터 인코딩된 MPI 표현을 판독함으로써 획득될 수 있다. 또한, 콘텐츠의 투영은, 각각의 배향된 타일을 한 쌍의 삼각형들로 분해하는 것, 및 정점 포지션들이 OpenGL과 같은 애플리케이션 프로그래밍 인터페이스(API)를 통해 그래픽 처리 유닛(GPU)으로 전송될 수 있도록 한 쌍의 삼각형들의 각각의 삼각형의 정점 포지션들을 결정하는 것을 포함할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 이루어질 수 있음이 이해될 것이다. 예를 들어, 다른 구현예들을 생성하기 위해 상이한 구현예들의 요소들이 조합되거나, 보충되거나, 수정되거나, 또는 제거될 수 있다. 추가적으로, 당업자는, 다른 구조들 및 프로세스들이 개시된 것들을 대체할 수 있고, 생성된 구현예들이, 개시된 구현예들과 적어도 실질적으로 동일한 결과(들)를 달성하기 위해, 적어도 실질적으로 동일한 기능(들)을 적어도 실질적으로 동일한 방식(들)으로 수행할 것임을 이해할 것이다. 따라서, 이들 및 다른 구현예들이 본 출원에 의해 고려된다.
본 명세서는 3D 장면의 MPI 표현을 생성하기 위한 단계들을 제공하고 논의하지만, 그러한 단계들은 이해를 돕기 위해 예로서 제시된다는 것을 이해하여야 한다. 따라서, 3D 장면의 MPI 표현을 생성하기 위한 다양한 공지된 기법들이 존재하고, 따라서 본 발명이 임의의 공지된 MPI 생성 기법과 함께 사용될 수 있음을 당업자가 인식할 것임이 자명하다.

Claims (24)

  1. 방법으로서,
    3차원(3D) 장면의 다중 평면 이미지(multi-plane image, MPI) 표현을 획득하는 단계 - 상기 MPI 표현은 상기 3D 장면으로부터의 콘텐츠의 복수의 슬라이스들을 포함하고, 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응함 -;
    각각의 슬라이스를 규칙적 타일들로 분해하는 단계; 및
    각각의 타일에 대한 배향 정보를 결정하는 단계를 포함하는, 방법.
  2. 장치로서,
    3D 장면의 향상된 다중 평면 이미지(MPI) 표현을 생성하도록 구성된 프로세서를 포함하고, 상기 프로세서는:
    상기 장면의 MPI 표현을 획득하고 - 상기 MPI 표현은 상기 3D 장면으로부터의 콘텐츠의 복수의 슬라이스들을 포함하고, 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응함 -;
    각각의 슬라이스를 규칙적 타일들로 분해하고;
    각각의 타일에 대한 배향 정보를 결정하는, 장치.
  3. 제1항에 있어서, 상기 슬라이스들의 적층된 표현을 구성함으로써 상기 3D 장면의 뷰를 렌더링하는 단계 - 각각의 슬라이스는 상기 슬라이스로부터 분해된 타일들을 포함하고, 각각의 타일은 상기 타일의 배향 정보에 따라 배향됨 -; 및
    상기 슬라이스들의 적층된 표현으로부터의 콘텐츠를 병합 이미지에 투영하는 단계 - 상기 병합 이미지는 제2 가상 카메라의 포지션으로부터의 상기 3D 장면의 뷰를 나타냄 - 를 추가로 포함하는, 방법.
  4. 제2항에 있어서, 상기 프로세서는 상기 슬라이스들의 적층된 표현을 구성함으로써 상기 3D 장면의 뷰를 렌더링하고, 각각의 슬라이스는 상기 슬라이스로부터 분해된 타일들을 포함하고, 각각의 타일은 상기 타일의 배향 정보에 따라 배향되고; 상기 프로세서는 상기 슬라이스들의 적층된 표현으로부터의 콘텐츠를 병합 이미지에 투영하도록 추가로 구성되고, 상기 병합 이미지는 제2 가상 카메라의 포지션으로부터의 상기 3D 장면의 뷰를 나타내는, 장치.
  5. 제1항에 있어서, 상기 3D 장면의 향상된 MPI 표현은 상기 타일들, 각각의 타일에 대한 상기 배향 정보, 및 각각의 타일을 상기 MPI 표현의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보를 저장함으로써 생성되는, 방법.
  6. 제2항에 있어서, 상기 프로세서는, 상기 타일들, 각각의 타일에 대한 상기 배향 정보, 및 각각의 타일을 상기 MPI 표현의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보를 저장함으로써 상기 3D 장면의 향상된 MPI 표현을 생성하는, 장치.
  7. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 MPI 표현은 상기 3D 장면의 다중 뷰 플러스 깊이(multi-view plus depth, MVD) 캡처로부터 생성되는, 방법 또는 장치.
  8. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 MPI 표현은 딥러닝 알고리즘(deep learning algorithm)을 사용하여 캡처된 장면 정보로부터 획득되는, 방법 또는 장치.
  9. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 슬라이스들은 복수의 상이한 깊이들을 갖고, 각각의 슬라이스의 깊이는 상기 슬라이스의 최소 깊이, 최대 깊이, 또는 평균 깊이 중 적어도 하나에 대응하는, 방법 또는 장치.
  10. 제1항, 제3항, 제5항 또는 제7항 내지 제9항의 방법 또는 제2항, 제4항, 제6항 또는 제7항 내지 제9항의 장치에 있어서, 각각의 타일에 대해, 깊이 값들은 상기 타일과 연관된 상기 3D 장면 콘텐츠에 대해 결정되고, 상기 타일에 대한 상기 배향 정보는 상기 깊이 값들에 기초하여 결정되는, 방법 또는 장치.
  11. 제1항, 제3항, 제5항 또는 제7항 내지 제10항의 방법 또는 제2항, 제4항, 제6항 또는 제7항 내지 제10항의 장치에 있어서, 상기 타일들, 각각의 타일에 대한 상기 배향 정보, 및 각각의 타일을 상기 MPI 표현의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보가 아틀라스 파일(atlas file)에 저장되는, 방법 또는 장치.
  12. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 타일들, 각각의 타일에 대한 상기 배향 정보, 및 각각의 타일을 상기 MPI의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보가 비트스트림에 기입되는, 방법 또는 장치.
  13. 제1항에 있어서, 각각의 슬라이스를 규칙적 타일들로 분해하는 단계는,
    상기 규칙적 타일들 중 어느 것이 유의한 콘텐츠를 포함하는지를 결정하는 단계; 및
    유의한 콘텐츠를 포함하는 것으로 결정된 타일들을 유지하는 반면, 유의한 콘텐츠를 포함하는 것으로 결정되지 않은 타일들을 폐기하는 단계를 추가로 포함하는, 방법.
  14. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 슬라이스들의 적층된 표현은 상기 타일의 배향 정보에 따라 구성되는, 방법 또는 장치.
  15. 제14항에 있어서, 상기 슬라이스들의 적층된 표현으로부터의 콘텐츠는 제2 가상 카메라의 포지션으로부터의 상기 3D 장면의 뷰를 나타내는 병합 이미지에 투영되는, 방법 또는 장치.
  16. 제1항, 제3항 또는 제5항의 방법 또는 제2항, 제4항 또는 제6항의 장치에 있어서, 상기 배향 정보는, 상기 타일의 하나 이상의 코너들에 대한 깊이 값들; 타일의 중심 포인트에 대한 깊이 값; 수평 기울기 값; 수직 기울기 값; 상기 타일의 표면 법선의 각도 값들; 및 그들의 조합으로부터 선택되는, 방법 또는 장치.
  17. 3D 장면의 뷰를 렌더링하기 위한 방법으로서,
    상기 3D 장면의 인코딩된 MPI 표현을 획득하는 단계 - 상기 인코딩된 MPI 표현은 비트스트림 또는 아틀라스 중 하나를 포함함 -;
    상기 인코딩된 MPI 표현을 디코딩하여, 복수의 타일들, 상기 복수의 타일들의 각각의 타일에 대한 배향 정보, 및 각각의 타일을 상기 MPI 표현의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보를 획득하는 단계 - 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응함 -;
    상기 슬라이스들의 적층된 표현을 구성하는 단계 - 각각의 슬라이스는 상기 슬라이스와 연관된 타일들을 포함하고, 각각의 타일은 상기 타일의 배향 정보에 따라 배향됨 -; 및
    상기 슬라이스들의 적층된 표현으로부터의 콘텐츠를 병합 이미지에 투영하는 단계 - 상기 병합 이미지는 제2 가상 카메라의 포지션으로부터의 상기 3D 장면의 뷰를 나타냄 - 를 포함하는, 방법.
  18. 3D 장면의 뷰를 렌더링하도록 구성되는 프로세서를 갖는 디바이스로서,
    상기 프로세서가, 상기 3D 장면의 인코딩된 MPI 표현을 획득하는 것 - 상기 인코딩된 MPI 표현은 비트스트림 또는 아틀라스 중 하나를 포함함 -;
    상기 프로세서가 또한, 상기 인코딩된 MPI 표현을 디코딩하여, 복수의 타일들, 상기 복수의 타일들의 각각의 타일에 대한 배향 정보, 및 각각의 타일을 상기 MPI 표현의 슬라이스 및 상기 슬라이스 내의 포지션과 연관시키는 정보를 획득하는 것 - 각각의 슬라이스는 제1 가상 카메라의 포지션에 대한 상이한 깊이에 대응함 -;
    상기 프로세서가, 상기 슬라이스들의 적층된 표현을 구성하는 것 - 각각의 슬라이스는 상기 슬라이스와 연관된 타일들을 포함하고, 각각의 타일은 상기 타일의 배향 정보에 따라 배향됨 -; 및
    상기 프로세서가, 상기 슬라이스들의 적층된 표현으로부터의 콘텐츠를 병합 이미지에 투영하는 것 - 상기 병합 이미지는 제2 가상 카메라의 포지션으로부터의 상기 3D 장면의 뷰를 나타냄 - 을 포함하는, 디바이스.
  19. 제17항의 방법 또는 제18항의 디바이스에 있어서, 상기 인코딩된 MPI 표현은 통신 네트워크를 통해 상기 인코딩된 MPI 표현을 수신함으로써 획득되는, 방법 또는 디바이스.
  20. 제17항의 방법 또는 제18항의 디바이스에 있어서, 상기 인코딩된 MPI 표현은 파일 시스템으로부터 획득되는, 방법 또는 디바이스.
  21. 제17항의 방법 또는 제18항의 디바이스에 있어서, 상기 인코딩된 MPI 표현은 메모리 위치로부터 획득되는, 방법 또는 디바이스.
  22. 제17항의 방법 또는 제18항의 디바이스에 있어서, 상기 콘텐츠는, 각각의 배향된 타일을 한 쌍의 삼각형들로 분해하고 상기 한 쌍의 삼각형들의 각각의 삼각형의 정점 포지션들을 결정함으로써 투영되는, 방법 또는 디바이스.
  23. 제22항에 있어서, 상기 정점 포지션은 애플리케이션 프로그래밍 인터페이스(application programming interface, API)를 통해 그래픽 처리 유닛(graphics processing unit, GPU)으로 전송되는, 방법 또는 디바이스.
  24. 제23항에 있어서, 상기 API는 OpenGL API인, 방법 또는 디바이스.
KR1020237012754A 2020-09-24 2021-09-24 다중 평면 이미지들을 처리하기 위한 기법들 KR20230074179A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20306088.4 2020-09-24
EP20306088 2020-09-24
PCT/EP2021/076306 WO2022063953A1 (en) 2020-09-24 2021-09-24 Techniques for processing multiplane images

Publications (1)

Publication Number Publication Date
KR20230074179A true KR20230074179A (ko) 2023-05-26

Family

ID=72840439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237012754A KR20230074179A (ko) 2020-09-24 2021-09-24 다중 평면 이미지들을 처리하기 위한 기법들

Country Status (5)

Country Link
US (1) US20230326128A1 (ko)
EP (1) EP4218232A1 (ko)
KR (1) KR20230074179A (ko)
CN (1) CN116349224A (ko)
WO (1) WO2022063953A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931120B (zh) * 2024-03-22 2024-05-24 南京达道电子科技有限公司 一种基于gpu的摄像头图像视角调整方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10026220B2 (en) * 2016-05-18 2018-07-17 Siemens Healthcare Gmbh Layered lightfields for occlusion handling
US11348284B2 (en) * 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression

Also Published As

Publication number Publication date
WO2022063953A1 (en) 2022-03-31
EP4218232A1 (en) 2023-08-02
CN116349224A (zh) 2023-06-27
US20230326128A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
US10540818B2 (en) Stereo image generation and interactive playback
CN111615715B (zh) 编码/解码体积视频的方法、装置和流
US10600233B2 (en) Parameterizing 3D scenes for volumetric viewing
US10474227B2 (en) Generation of virtual reality with 6 degrees of freedom from limited viewer data
CN108876926B (zh) 一种全景场景中的导航方法及***、ar/vr客户端设备
RU2431938C2 (ru) Эффективное кодирование множества видов
US7643025B2 (en) Method and apparatus for applying stereoscopic imagery to three-dimensionally defined substrates
KR100468851B1 (ko) 3차원 객체와 애니메이트된 3차원 객체의 이미지 기반표현과 렌더링 방법
US20140198182A1 (en) Representation and Coding of Multi-View Images Using Tapestry Encoding
JP2017532847A (ja) 立体録画及び再生
CN111557094A (zh) 用于编码/解码体积式视频的方法、设备和流
US10444931B2 (en) Vantage generation and interactive playback
JP2019534500A (ja) 没入型ビデオフォーマットのための方法、機器、及びシステム
EP1668919B1 (en) Stereoscopic imaging
Schenkel et al. Natural scenes datasets for exploration in 6DOF navigation
JP7344988B2 (ja) ボリュメトリック映像の符号化および復号化のための方法、装置、およびコンピュータプログラム製品
Hornung et al. Interactive pixel‐accurate free viewpoint rendering from images with silhouette aware sampling
KR20230074179A (ko) 다중 평면 이미지들을 처리하기 위한 기법들
Fachada et al. Chapter View Synthesis Tool for VR Immersive Video
US10652514B2 (en) Rendering 360 depth content
Marrinan et al. Image Synthesis from a Collection of Depth Enhanced Panoramas: Creating Interactive Extended Reality Experiences from Static Images
US20230401752A1 (en) Techniques using view-dependent point cloud renditions
KR20220143844A (ko) 이미지 콘텐츠를 처리하기 위한 방법 및 디바이스
WO2022219230A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
Edling et al. IBR camera system for live TV production