KR20220101169A - 멀티뷰 비디오 프로세싱 방법 및 장치 - Google Patents

멀티뷰 비디오 프로세싱 방법 및 장치 Download PDF

Info

Publication number
KR20220101169A
KR20220101169A KR1020227020559A KR20227020559A KR20220101169A KR 20220101169 A KR20220101169 A KR 20220101169A KR 1020227020559 A KR1020227020559 A KR 1020227020559A KR 20227020559 A KR20227020559 A KR 20227020559A KR 20220101169 A KR20220101169 A KR 20220101169A
Authority
KR
South Korea
Prior art keywords
media
view
views
atlas
track
Prior art date
Application number
KR1020227020559A
Other languages
English (en)
Other versions
KR102647019B1 (ko
Inventor
키우팅 리
쳉 후앙
Original Assignee
지티이 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지티이 코포레이션 filed Critical 지티이 코포레이션
Publication of KR20220101169A publication Critical patent/KR20220101169A/ko
Application granted granted Critical
Publication of KR102647019B1 publication Critical patent/KR102647019B1/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/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/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • 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
    • 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/189Recording image signals; Reproducing recorded 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/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Graphics (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어 콘텐츠 전송을 효과적으로 절감하고 몰입형 미디어 콘텐츠를 효율적으로 렌더링하기 위한 방법, 장치, 및 시스템이 개시된다. 일 예시적인 양태에서, 방법은, 사용자의 현재의 시점 포지션 및 시점 방향에 따라 사용자가 서버로부터 미디어 파일을 요청하는 단계, 사용자의 현재의 시점 포지션 및 시점 방향에 따라 사용자가 서버로부터 미디어 파일을 수신하고, 아틀라스의 패치를 추출하며, 사용자의 현재의 윈도우 영역에서 시각적 콘텐츠를 합성하는 단계, 및 사용자의 현재의 시점 포지션 및 시점 방향에 따라 사용자가 3차원 입체 비디오 콘텐츠를 취득하는 단계를 포함한다.

Description

멀티뷰 비디오 프로세싱 방법 및 장치
본 문헌은 개괄적으로 몰입형 기술에 관한 것이다.
최근 인간-컴퓨터 인터랙션과 인공 지능 기술의 발전으로, 몰입형 기술은 작업 환경과 생활 방식에 혁명을 일으키고 있다. 몰입형 기술은 마케팅 및 광고, 의료, 교육 및 게임을 비롯한 다방면에 적용된다. 새로운 몰입형 기술의 급속한 발전은 비디오 및 이미지 데이터의 효과적인 프로세싱을 필요로 한다.
X, Y 및 Z 축을 따른 제한된 병진 이동(통상, 머리 움직임)이 추가되어, 미디어 콘텐츠 전송을 효과적으로 절감하고 몰입형 미디어 콘텐츠를 효율적으로 렌더링하는, 3DoF를 지원하는 미디어 데이터의 표현에 관련된 방법, 디바이스 및 애플리케이션이 개시된다.
본 개시 기술의 예시적인 실시형태에서, 방법은, 사용자의 현재의 시점(viewing) 포지션, 시점 방향, 및 뷰포트(viewport)에 따라 사용자가 서버로부터 미디어 파일을 요청하는 단계, 사용자의 현재의 시점 포지션, 시점 방향, 및 뷰포트에 따라 사용자가 서버로부터 미디어 파일을 수신하고, 하나 이상의 아틀라스의 패치를 추출하며, 사용자의 현재의 뷰포트에서 시각적 콘텐츠를 합성하는 단계, 및 사용자의 현재의 뷰포트에서 사용자가 3차원 입체 비디오 콘텐츠를 취득하는 단계를 포함한다.
본 개시 기술의 다른 예시적인 실시형태에서, 미디어 콘텐츠를 구성하는 방법은, 각각의 미디어 샘플이 복수의 뷰 중 하나 이상에 대응하고 대응하는 뷰의 텍스처 성분 또는 깊이 성분 중 적어도 하나를 포함하도록, 복수의 미디어 샘플을, 하나 이상의 기본 뷰와 하나 이상의 추가 뷰를 포함하는 복수의 뷰와 연관된 미디어 파일에 배치(또는 미디어 파일로부터 추출)하는 단계; 각각의 미디어 트랙이 대응하는 뷰에 관한 정보를 기술하기 위한 하나 이상의 인디케이터를 포함하도록, 하나 이상의 기본 뷰에 대응하는 기본 뷰 미디어 트랙 및 하나 이상의 추가 뷰 미디어 트랙을 결정하는 단계; 및 복수의 미디어 샘플을, 각각 하나의 기본 뷰와 연관되는 하나 이상의 샘플 그룹으로 그룹화하는 것에 의해 하나 이상의 인디케이터에 기초하여 복수의 미디어 샘플로부터 미디어 콘텐츠를 구성하거나, 복수의 미디어 샘플이 배치되는 다수의 미디어 트랙을 그룹화하는 것에 의해 하나 이상의 인디케이터에 기초하여 복수의 미디어 샘플로부터 미디어 콘텐츠를 구성하는 단계를 포함한다.
본 개시 기술의 또 다른 예시적인 실시형태에서, 미디어 콘텐츠를 구성하는 방법은, 각각의 미디어 샘플이 복수의 뷰 중 하나에 대응하고 대응하는 뷰와 연관된 텍스처 성분 또는 깊이 성분 중 적어도 하나를 포함하도록, 복수의 미디어 샘플을, 복수의 기본 뷰와 복수의 추가 뷰를 포함하는 복수의 뷰와 연관된 미디어 파일에 배치(또는 미디어 파일로부터 추출)하는 단계; 각각의 미디어 트랙이 대응하는 뷰에 관한 정보를 기술하기 위한 하나 이상의 인디케이터를 포함하도록, 복수의 기본 뷰에 각각 대응하는 복수의 기본 뷰 미디어 트랙 및 복수의 추가 뷰에 각각 대응하는 복수의 추가 뷰 미디어 트랙을 결정하는 단계; 및 복수의 미디어 샘플을, 각각 적어도 하나의 기본 뷰와 연관되는 하나 이상의 미디어 샘플 그룹으로 그룹화하는 것에 의해 하나 이상의 인디케이터에 기초하여 복수의 미디어 샘플로부터 미디어 콘텐츠를 구성하는 단계를 포함한다.
본 개시 기술의 또 다른 예시적인 실시형태에서, 미디어 콘텐츠를 구성하는 방법은, 시점 방향, 시점 포지션, 및 시점 윈도우에 따라 복수의 뷰에 대응하는 카메라 파라미터를 포함하는 카메라 정보를, 복수의 뷰와 연관된 미디어 파일에 배치(또는 미디어 파일로부터 추출)하는 단계; 카메라 파라미터 정보에 기초하여, 미디어 파일로부터 미디어 메타데이터를 선택하는 단계; 및 미디어 메타데이터에 기초하여 미디어 콘텐츠를 구성하는 단계를 포함한다.
일부 실시형태는 바람직하게는 이들 방법을 다음과 같이 구현할 수 있다:
전술한 방법에서, 기본 뷰는 다른 뷰를 예측하기 위한 뷰를 포함한다.
전술한 방법에서, 각각의 기본 뷰는 기본 뷰 아틀라스에 대응한다.
전술한 방법에서, 패치는 기본 뷰 아틀라스에 기초하여 획득된다.
전술한 방법에서, 미디어 콘텐츠는 하나 이상의 기본 뷰와 하나 이상의 추가 뷰의 조합에 기초하여 구성된다.
전술한 방법에서, 하나 이상의 인디케이터는 2개 이상의 기본 뷰의 아틀라스에 대응하는 복수의 샘플을 샘플 그룹으로 그룹화하기 위한 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는 각각의 미디어 트랙이 텍스처 성분 또는 깊이 성분 또는 둘 다를 포함하는지를 나타내기 위한 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는 각각의 미디어 트랙이 텍스처 성분 또는 깊이 성분 또는 둘 다를 포함하는지를 나타내기 위한 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는, 텍스처 성분 및 깊이 성분 중 어느 부분이 미디어 트랙에 포함되는지를 정의하기 위해 아틀라스 속성 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는 대응하는 뷰를 기술하기 위한 뷰 식별자를 포함한다. 일 구현예에서, 각각의 미디어 트랙은 아틀라스 모드로서 저장된 하나 이상의 뷰를 포함한다.
전술한 방법에서, 미디어 콘텐츠를 구성하는 단계는 상이한 뷰들로부터 패치들을 조합하는 단계를 포함한다. 일 구현예에서, 아틀라스(atlas)는 하나 이상의 뷰로부터의 하나 이상의 패치의 집합체(aggregation)를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는 각 아틀라스 내의 패치의 수를 기술하는 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는 패치가 아틀라스로부터 대응하는 뷰로 매핑되는 회전 각도에 대한 패치 회전 인디케이터를 포함한다.
전술한 방법에서, 하나 이상의 인디케이터는, 상이한 뷰들을 포함하는 상이한 미디어 트랙을 그룹화하기 위해 그룹화 타입을 기술하는 파일 레벨 그룹화 인디케이터를 포함한다.
전술한 방법에서, 파일 레벨 그룹화 인디케이터는 기본 뷰와 하나 이상의 추가 뷰 사이의 그룹화 정보를 포함한다.
전술한 방법에서, 파일 레벨 그룹화 인디케이터는 그룹내 엔티티의 수를 포함한다.
전술한 방법에서, 각각의 미디어 트랙은 복수의 뷰를 기본 뷰 또는 추가 뷰로서 식별하기 위한 인디케이터를 포함한다.
전술한 방법에서, 카메라 정보는 미디어 파일을 기초로 하여 추출된다.
전술한 방법에서, 카메라 정보는 미디어 트랙을 기초로 하여 추출된다.
전술한 방법에서, 복수의 미디어 트랙 각각은 복수의 뷰의 패치로부터의 것이고, 각각의 뷰는 하나의 카메라에 대응한다.
전술한 방법에서, 사용자의 복수의 뷰는 적어도 하나의 기본 뷰 및 적어도 하나의 기본 뷰와 연관된 적어도 하나의 추가 뷰를 포함한다.
전술한 방법에서, 적어도 하나의 기본 뷰의 미디어 데이터는 적어도 하나의 기본 뷰와 연관된 적어도 하나의 추가 뷰의 베이스 이미지로서 사용된다.
전술한 방법에서, 사용자의 복수의 뷰는 각각 상이한 미디어 트랙에 저장된 2개 이상의 기본 뷰를 포함한다.
전술한 방법에서, 카메라 정보는 미디어 트랙 그룹 내의 미디어 데이터가 미디어 트랙 그룹에 대응하는 특정 공간 범위 내에서 이미지를 디코딩하는 데 사용될 것임을 나타내기 위한 미디어 트랙 그룹을 포함한다.
본 개시 기술의 또 다른 예시적인 실시형태에서, 전술한 방법은 프로세서 실행 가능 코드의 형태로 구현되고 컴퓨터 판독 가능 프로그램 매체에 저장된다.
본 개시 기술의 또 다른 예시적인 실시형태에서, 전술한 방법을 수행하기 위해 구성되거나 동작 가능한 디바이스가 개시된다.
전술한 양태 및 다른 양태와 그 구현예는 도면, 상세한 설명, 및 청구범위에서 보다 상세히 기술된다.
도 1은 본 개시 기술의 일부 실시형태에 기초한 3DOF+의 콘텐츠 수집의 일례를 도시하는 도면이다.
도 2는 본 개시 기술의 일부 실시형태에 기초한 비디오 데이터 프로세싱 시스템의 일례를 도시하는 도면이다.
도 3은 본 개시 기술의 일부 실시형태에 기초한 비디오 데이터 프로세싱 방법의 일례를 도시하는 흐름도이다.
도 4a는 본 개시 기술의 일부 실시형태에 기초한 미디어 파일의 기본 구조의 일례를 도시하는 도면이다.
도 4b는 본 개시 기술의 일부 실시형태에 기초한 미디어 파일의 기본 구조의 다른 예를 도시하는 도면이다.
도 5는 단일 미디어 트랙이 하나 이상의 기본 뷰를 포함하는 경우에 본 개시 기술의 일부 실시형태에 기초한 미디어 파일 내의 다계층 구조의 일례를 도시하는 도면이다.
도 6은 본 개시 기술의 일부 실시형태에 기초한 미디어 파일 내의 다계층 트랙 구조의 일례를 도시하는 도면이다.
몰입형 미디어(immersive media)는 오디오 및 비디오 기술을 통해 사용자로 하여금 시각적/청각적 경험으로 고도로 현실적인 가상 공간 환경을 경험할 수 있게 한다. 현재, 몰입형 경험은 주로 파노라마 비디오를 지원한다. 예를 들어, 사용자는 헤드 디스플레이 디바이스를 통해 머리의 자유 회전으로, 즉 3-자유도(3DOF, three-degree-of-freedom) 몰입형 경험으로 360도 비디오를 시청할 수 있다. 확장된 3-자유도(3DOF 플러스) 및 부분적 6-자유도(6DOF)를 지원하는 비디오의 경우, 사용자의 머리는 제한된 범위 내에서도 움직여 가려진 시각적 콘텐츠와 같은 더 상세한 것을 볼 수 있다.
3DOF 플러스 비디오에 대한 지원은, 공간 내에 상이한 형상으로 배열된 다수의 카메라를 통해 원본 비디오를 캡처한 다음, 3차원 파노라마 비디오의 알고리즘 합성을 통해, 몰입형 미디어에서의 사용자 머리의 제한된 움직임을 충족하는 데에 사용될 수 있다. 다수의 카메라가 배치되기 때문에, 멀티뷰 비디오에는 일반적으로 다량의 용장 데이터가 존재하므로 스토리지 및 컴퓨팅 리소스가 낭비된다. 현재, 콘텐츠 제작 단계에서는 다중 뷰의 중복 부분의 시각적 콘텐츠를 동시에 제거하여 용장성을 줄이고 뷰포트 내에 텍스처 및 깊이 성분을 가진 뷰로 입체 비디오를 표현하는 것이 가능하다. 사용자의 단말 디바이스가 몰입형 미디어 콘텐츠를 수신할 때, 사용자에게 최상의 몰입감을 보장하기 위하여, 특히 이동 과정에서의 렌더링의 경우, 사용자의 시점(viewing) 포지션, 시점 방향, 획득 디바이스의 특성, 및 기타 정보에 따라 콘텐츠를 렌더링하는 것이 필요하다. 현재, 3DOF 플러스의 미디어 콘텐츠에 맞는 대응하는 미디어 표현이 부족하고, 그래서 미디어 콘텐츠의 효과적인 렌더링 및 재생에 영향을 미칠 것이다.
도 1은 본 개시 기술의 일부 실시형태에 기초한 3DOF 플러스의 비디오 캡처의 일례를 도시하는 도면이다. 3DOF 플러스 시나리오를 지원하기 위하여, 공간 내의 상이한 위치들에 다수의 카메라가 배치된다. 예를 들어, 다수의 카메라는 곡선 구성으로 평행하게 또는 직사각형 구성으로 배열되고, 이미지는 다수의 카메라에 의해 동시에 캡처된다. 카메라 배치의 위치 및 방위에 따라, 상이한 카메라들에 의해 캡처되는 비디오들은 유사한 콘텐츠를 가질 수 있다.
멀티뷰 비디오로부터 수집된 콘텐츠는 합성되어 3차원 파노라마 비디오를 생성한다. 멀티뷰 획득 콘텐츠의 유사성 및 차이에 따라, 사용자는 가려진 시각적 콘텐츠와 같은 보다 상세한 것을 보기 위해 몰입형 미디어를 시청하는 중에 제한된 범위에서 움직일 수 있다.
도 2는 본 개시 기술의 일부 실시형태에 기초한 비디오 데이터 프로세싱 시스템의 일례를 도시하는 도면이다. 본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 시스템은 미디어 서버(10)와 사용자 단말(20)을 포함한다.
일부 구현예에서, 미디어 서버(10)는 미디어 파일을 저장하기 위한 메모리 모듈(101)과, 사용자 단말(20)과 통신하기 위한 트랜시버 모듈(102)을 포함한다. 메모리 모듈(101)은 미디어 파일을 저장하는 데 사용된다. 일부 구현예에서, 트랜시버 모듈(102)은 사용자 단말(20)로부터 요청 메시지를 수신 및/또는 저장된 미디어 파일을 사용자 단말(20)에 전송하도록 구성된다. 일례로, 트랜시버 모듈(102)은 무선 네트워크 및/또는 유선 네트워크를 통해 요청 메시지를 수신하고 미디어 파일을 전송할 수 있다.
일 구현예에서, 사용자 단말(20)은 트랜시버 모듈(201), 캡슐화 해제 및 디코딩 모듈(202), 미디어 프로세싱 모듈(203), 및 미디어 재생 모듈(204)을 포함한다. 일부 구현예에서, 트랜시버 모듈(201)은 미디어 서버(10)로부터 미디어 파일을 수신 및/또는 미디어 파일 요청과 같은 요청을 미디어 서버(10)에 전송하도록 구성된다. 캡슐화 해제 및 디코딩 모듈(202)은 트랜시버 모듈(201)에 의해 수신된 미디어 파일을 언팩 및 디코딩하는 데 사용된다. 일부 구현예에서, 미디어 프로세싱 모듈(203)은 사용자의 현재의 시점 상태(예컨대, 사용자의 포지션, 시점 방향, 사용자의 뷰포트)에 따라 디코딩 모듈(202)에 의해 디코딩된 멀티뷰의 아틀라스 세트에 대해 비디오 합성과 같은 비디오 프로세싱 및 렌더링을 수행한다. 미디어 재생 모듈(204)은 사용자의 현재의 시점 상태에 대응하여 시각적 콘텐츠를 재생하는 데 사용된다.
도 3은 본 개시 기술의 일부 실시형태에 기초한 비디오 데이터 프로세싱 방법의 일례를 도시하는 흐름도이다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은, 단계 S301에서, 사용자의 현재의 시점 포지션, 시점 방향, 및 뷰포트에 따라, 사용자가 서버로부터 미디어 파일을 요청하는 단계를 포함한다. 일례로, 대응하는 미디어 파일에 대한 요청은 사용자가 원하는 뷰를 시청하기 위해 사용자의 실시간 피드백을 포함할 수 있다. 일례로, 사용자 단말에서 구현되는 미디어 프로세싱 모듈은 사용자의 실시간 피드백을 사용자의 요청으로 변환하기 위해 하나 이상의 센서 및 연관된 신호 프로세싱 디바이스를 사용할 수 있다.
본 개시 기술의 일부 실시형태에서, 비디어 데이터 프로세싱 방법은, 단계 S302에서, 사용자의 현재의 시점 포지션, 시점 방향, 및 뷰포트에 따라 사용자가 서버로부터 미디어 파일을 수신하고, 사용자의 현재의 시점 포지션, 시점 방향, 및 뷰포트에 따라 하나 이상의 아틀라스의 패치를 추출하며, 사용자의 현재의 뷰포트에서 시각적 콘텐츠를 합성하는 단계를 포함한다. 일례로, 미디어 프로세싱 모듈은 사용자의 실시간 시점 포지션 및 방향에 따라 사용자의 뷰포트에서 비디오를 재구성하고, 재구성된 비디오를 미디어 재생 모듈 또는 디스플레이 단말에 전송할 수 있다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은, 단계 S303에서, 사용자의 현재 시점 위치, 시점 방향, 및 뷰포트에 따라 사용자가 재구성된 3차원 입체 비디오 콘텐츠를 취득하는 단계를 포함한다. 일례로, 사용자는 재구성된 비디오를 보기 위해 디스플레이 단말 또는 미디어 재생 모듈을 사용한다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은 ISO(International Organization for Standardization, 국제 표준화 기구) 기본 미디어 파일 포맷에 기초한 파일 내의 3DOF 플러스 비디오 데이터에 구현될 수 있다. ISO 기본 미디어 파일 포맷은, 다른 것들 중에서, ISO/IEC JTC1/SC29/WG11 MPEG(Moving Picture Experts Group) MPEG-4 Part 12 ISO 기본 미디어 파일 포맷에서 정의되어 있는, 제한된 스킴 정보 박스, 트랙 참조 박스, 및 트랙 그룹 박스를 포함할 수 있다. 전방향성 비디오의 투영, 패키징 단계 및 기본 포맷은 ISO/IEC JTC1/SC29/WG11의 MPEG(Moving Picture Experts Group)에서 개발한 MPEG-I Part 2 OMAF(전방향성 미디어 포맷)에 기초하여 운용될 수 있다.
본 개시 기술의 일부 실시형태에서, ISO 기본 파일 포맷의 모든 데이터는 박스(Box)에 포함된다. 일례로, mp4 파일이 나타내는 ISO 기본 파일 포맷은, 각각 특정 타입 및 길이를 갖고 데이터 객체로서 간주될 수 있는 복수의 박스를 포함한다. 박스는 컨테이너 박스라고 불리는 다른 박스를 포함할 수 있다. 일례로, "ftyp" 타입 박스는 파일의 선두에 배치된다. 일례로, "ftyp" 타입 박스는 파일 포맷을 나타내기 위한 플래그로서 사용되고 파일에 관한 일부 정보를 포함한다.
본 개시 기술의 일부 실시형태에서, "ftyp" 타입 박스 다음에는 "MOOV" 타입 박스가 이어지는데, 이것은 미디어에 대한 메타데이터를 가진 컨테이너 박스이다. 일 구현예에서, MP4 파일에 대한 미디어 파일은, 각각 컨터이너 박스인 하나 이상의 "mdat" 타입 박스에 포함된다. 다른 구현예에서, MP4 파일은 미디어 파일이 다른 파일 전체를 참조할 때에 이러한 "mdat" 타입 박스를 포함하지 않는다. 본 개시 기술의 일부 실시형태에서, 미디어 데이터의 구조는 메타데이터에 의해 기술된다. 일부 구현예에서, 미디어에 관한 메타데이터의 상세한 기술을 위해, MP4 파일은 "meta" 타입 박스를 포함할 수 있는데, 이 박스 역시 일부 일반적 또는 추가적 시한 없는(untimed) 메타데이터를 기술하는 컨테이너 박스이다.
본 개시 기술의 일부 실시형태에서, 시한(timed) 메타데이터 트랙(예컨대, ISOBMFF(ISO Basic Media File Format)의 메커니즘)은 특정 샘플과 연관된 시한 메타데이터를 확립하는 데 사용된다. 타이밍 메타데이터는 미디어 데이터와의 결합이 적고 대개 설명적이다.
도 4a는 본 개시 기술의 일부 실시형태에 기초하여 아틀라스의 텍스처 성분 및 깊이 성분이 동일한 미디어 트랙에 배치되는 경우의 미디어 파일의 기본 구조의 일례를 도시하는 도면이다.
도 4b는 본 개시 기술의 일부 실시형태에 기초하여 아틀라스의 텍스처 성분 및 깊이 성분이 상이한 미디어 트랙들에 배치되는 경우의 미디어 파일의 기본 구조의 일례를 도시하는 도면이다.
본 개시 기술의 일부 실시형태에서, 베이스 계층과 하나 이상의 추가 계층을 포함하는 계층 구조를 사용하여 복수의 뷰를 기술할 수 있다. 미디어 파일은 하나의 미디어 트랙이 하나의 계층에 대응하는 경우 복수의 뷰의 미디어 메타데이터를 기술하기 위한 하나 이상의 미디어 트랙을 포함할 수 있다.
도 4b에 도시하는 바와 같이, 비디오의 뷰는 텍스처 성분과 깊이 성분으로 분리될 수 있는 하나 이상의 아틀라스에 의해 표현될 수 있고, 텍스처 성분 및/또는 깊이 성분은 아틀라스에 대응하는 하나 이상(예컨대, 1 또는 2) 미디어 트랙에 포함된다. 아틀라스는 완전한 뷰 또는 뷰의 잘려진 조각의 일부인, 하나 이상의 뷰로부터 패치들을 수집한다. 패치의 콘텐츠, 사이즈, 및 수량이 변할 경우, 패치에 관한 정보는 시한 메타데이터를 사용하여 기술된다.
일 구현예에서, 카메라 파라미터 리스트와 같은, 복수의 뷰에 관한 정적 정보는 미디어 트랙 내의 박스 또는 미디어 파일 내의 박스에 기술된다.
다른 구현예에서, 박스를 "meta" 타입 박스로서 정의하여 각각의 카메라를 하나씩 기술하며, 각각의 카메라는 각각의 뷰에 대응한다.
다른 구현예에서, 하나의 미디어 트랙 내의 아틀라스가 하나 이상의 뷰에 대응하는 경우에, 뷰에 대응하는 카메라 파라미터의 리스트는 미디어 트랙에 기술된다.
아틀라스 내의 각각의 패치는 카메라에 의해 캡처된 비디오의 뷰로부터 도출된다. 사용자의 시점 포지션 및 시점 방향에 따라, 미디어 트랙에서 기술된 각 패치의 특성에 기초하여 사용자의 시야 내의 패치가 선택되어 사용자는 하나 이상의 선택 패치들을 합성함으로써 현재의 뷰포트의 미디어 콘텐츠를 볼 수 있다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터를 프로세싱하기 위한 방법은: 사용자에 의해 선택된 뷰포트 내의 멀티뷰 비디오의 뷰에 대응하는 하나 이상의 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계 - 하나 이상의 아틀라스는 하나 이상의 뷰의 텍스처 성분 및 깊이 성분을 포함함 -; 및 멀티뷰 비디오를 촬영하기 위한 카메라 파라미터 및 아틀라스에 기초하여 뷰포트에서 사용자가 멀티뷰 비디오를 볼 수 있게 하는 단계를 포함한다.
본 개시 기술의 일부 실시형태에서, 사용자에 의해 선택된 멀티뷰 비디오의 뷰에 대응하는 하나 이상의 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계는: 멀티뷰 비디오의 기본 뷰 및 사용자에 의해 선택된 멀티뷰 비디오의 뷰에 관련된 하나 이상의 추가 뷰를 결정하는 단계; 및 하나 이상의 아틀라스가 미디어 트랙에서 멀티뷰 비디오의 기본 뷰 및 하나 이상의 추가 뷰에 대응하는 것에 기초하여, 미디어 트랙에서 사용자에 의해 선택된 멀티뷰 비디오의 뷰에 대응하는 하나 이상의 아틀라스를 결정하는 단계를 포함한다.
도 5는 단독 미디어 트랙이 하나 이상의 기본 뷰를 포함한 베이스 계층인 경우에 본 개시 기술의 일부 실시형태에 기초한 미디어 파일 내의 다계층 구조의 일례를 도시하는 도면이다.
본 개시 기술의 일부 실시형태에서, 상이한 뷰들 간의 상관관계가 뷰 예측에 사용될 수 있다. 동일한 공간 내의 다수의 카메라에 의해 획득된 뷰들은 상이한 상관도를 가질 수 있다. 높은 상관도의 뷰들의 경우, 뷰는 인근 뷰를 예측하는 데 사용될 수 있다. 그러나, 낮은 상관도의 뷰들은 뷰의 콘텐츠가 독립적이고(또는 비상관적이고) 서로로부터 예측될 수 없지만, 기본 뷰의 프레임간 예측은 가능하다.
본 개시 기술의 일부 실시형태에서, 미디어 파일은 하나 이상의 기본 뷰와 연관된 미디어 데이터를 포함하고, 각각의 기본 뷰는 아틀라스에 대응한다. 그런 점에서, 본 개시 기술은 다양한 실시형태들에서 구현되어, 특정 미디어 트랙을 베이스 계층으로서 정의하는 계층적 미디어 기술 구조를 제공할 수 있고, 하나 이상의 기본 뷰에 대응하는 하나 이상의 아틀라스를 기술하고 저장하는 데 사용될 수 있다. 다른 관련된 추가 뷰에 대응하는 아틀라스는 추가 계층의 미디어 트랙과 같은 하나 이상의 다른 미디어 트랙에서 기술되고 저장되며, 사용자 뷰포트의 뷰는 베이스 계층과 추가 계층에서 아틀라스의 패치의 조합으로부터 합성된다.
다계층 아틀라스를 통해, 3차원 파노라마 비디오가 합성되어 사용자는 헤드셋의 포지션 및 방위를 변경함으로써 부분적으로 가려진 시각적 콘텐츠를 볼 수 있게 된다.
베이스 계층의 미디어 트랙에서, 타입 "oinf"(동작점 정보)의 샘플 그룹은 베이스 계층 내의 기본 뷰의 아틀라스를 나타내고, 그 뷰의 아틀라스는 다른 아틀라스를 참조하지 않지만, 추가 계층 내의 다른 아틀라스에 의해 참조될 수 있다. 추가 뷰의 아틀라스를 포함하는 추가 계층에 대응하는 하나 이상의 트랙에서, 그룹 타입이 "oinf"인 샘플 그룹은 미디어 트랙 참조 타입이 "oref"인 미디어 트랙에 의해 참조될 수 있다.
베이스 계층의 미디어 트랙에는 다수의 기본 뷰가 있으므로, 상이한 기본 뷰에 기초하여 샘플들을 그룹화하고 샘플 그룹 타입을, 그룹화 샘플이 기본 뷰에 속하는 것을 나타내는 "nvw"로서 정의한다.
Box Type: 'sbgp'
Container: SampleTableBox or TrackFragmentBox
Mandatory: No
Quantity: Zero or more.
aligned(8) class SampleToGroupBox extends FullBox('sbgp', version, 0){
unsigned int(32) grouping_type;
if (version == 1) {
unsigned int(32) grouping_type_parameter;
}
unsigned int(32) entry_count;
for (i=1; i <= entry_count; i++)
{
unsigned int(32) sample_count;
unsigned int(32) group_description_index;
}
}
특정 신택스는 다음과 같다:
"version"은 박스의 버전을 표시한다;
"grouping_type"은 샘플 그룹화의 타입을 나타내고 그것을 grouping_type에 대해 동일한 값을 갖는 그것의 샘플 그룹 기술 엔트리에 링크한다.
"grouping_type_parameter"는 그룹화의 서브타입을 표시한다;
"entry_count"는 다음의 테이블 내의 샘플링 엔트리의 수를 표시한다;
"sample_count"는 동일한 샘플 그룹에 속하는 연속 샘플의 수를 표시한다; 그리고
"group_description_index"는 이 그룹 내의 샘플을 기술하는 샘플 그룹 엔트리의 인덱스를 표시한다.
기본 뷰 기반 샘플에 기초한 그룹화의 경우, 타입 "bsvw"(기본 뷰)의 샘플 그룹 엔트리가 정의되고, 그룹 내의 이들 샘플이 대응하는 기본 뷰의 식별자, 기본 뷰에 대응하는 카메라의 식별자가 기술되며, 기본 뷰와 연관된 다른 추가 뷰가 기술된다.
일례로 이들 식별자는 다음과 같이 기술될 수 있다:
class BasicViewGroupEntry extends SampleGroupDescriptionEntry ('bsvw'){
unsigned int (32) group_id;
unsigned int (32) view_idx;
unsigned int (32) camera_idx;
unsigned int (8) num_ref_views;
unsigned int (8) texture_or_depth_flag;
for(int i=0; i< num_ref_views; i++){
unsigned int (32) additional_view_idx;
unsigned int (32) track_id;
if(texture_or_depth_flag)
unsigned int (32) depth_track_id;
}
}
신택스는 다음과 같이 정의된다:
"group_id"는 현재의 샘플이 속하는 그룹 식별자를 표시한다;
"view_idx"는 현재의 샘플에 대응하는 기본 뷰 인덱스 식별자, 즉 샘플이 대응하는 뷰를 표시한다.
"camera_idx"는 기본 뷰에 대응하는 카메라 인덱스 식별자를 표시한다;
"num_ref_views"는 기본 뷰 아틀라스의 세트를 참조하는 다른 추가 뷰의 수를 표시한다.
"additional_view_idx"는 그룹 내의 기본 뷰와 연관된 추가 뷰의 인덱스 식별자를 표시한다;
"track_id"는 연관된 추가 뷰가 대응하는 샘플이 위치해 있는 미디어 트랙 ID를 표시한다;
"texture_or_depth_flag"는 연관된 추가 뷰가 대응하는 샘플을 포함하는 미디어 트랙이 텍스처 성분 및/또는 깊이 성분을 포함하는지를 표시한다. 그것이 0과 같으면, 둘 다를 포함하고, 1과 같으면 텍스터 성분만 포함한다.
"depth_track_id"은 연관된 추가 뷰가 대응하는 깊이 성분이 위치해 있는 미디어 트랙 ID를 표시한다.
본 개시 기술의 일부 실시형태에서, 미디어 트랙 내의 샘플은 하나 이상의 뷰로부터의 패치를 포함하는 아틀라스이다. 일례로 각각의 뷰는 하나의 아틀라스에 대응한다. 다른 예로 하나 이상의 뷰는 하나의 아틀라스에 대응할 수 있다. 아틀라스는 텍스처 성분 및 깊이 성분을 포함한다. 예시적인 계층적 구조에서는, 아틀라스의 텍스처 성분 및 깊이 성분이 2개의 미디어 트랙에 각각 배치될 수 있다. 또 다른 예시적인 계층적 구조에서는, 아틀라스의 텍스처 성분 및 깊이 성분이 동일한 미디어 트랙에 배치될 수도 있다. "AtlasAttributeBox"는 미디어 트랙에 포함된 아틀라스의 성분을 기술한다.
Box type: 'atat'
Container: Scheme Information Box ('schi')
Mandatory (per an item): Yes, when scheme_type is equal to 'altv'
Quantity (per an item): one
aligned(8) class AtlasAttributeBox() extends FullBox('atat', 0, 0) {
unsigned int (8) texture_in_track;
unsigned int (8) depth_in_track;
unsigned int (8) atlas_id;
}
신택스는 다음과 같이 정의된다:
"texture_in_track"는 미디어 트랙이 텍스처 성분을 포함하는지를 표시한다.
"depth_in_track"는 미디어 트랙이 깊이 성분을 포함하는지를 표시한다; 그리고
"atlas_id"는 미디어 트랙에서 텍스처 성분 및/또는 깊이 성분이 속하는 아틀라스의 식별자를 표시한다.
본 개시 기술의 실시형태에서, 아틀라스의 텍스처 성분 및 깊이 성분이 2개의 미디어 트랙에 배치되는 경우, 2개의 미디어 트랙은 하나의 미디어 트랙 그룹에 속하는데, 예를 들어, 트랙 1은 아틀라스 1의 텍스처 성분을 갖고 트랙 2는 아틀라스 1의 깊이 성분을 포함하며, 여기서 트랙 1과 트랙 2의 성분들은 동일한 아틀라스에 속한다. 일례로 2개의 미디어 트랙은 track_group_type이 "atls"인 TrackGrouptypeBox를 정의함으로써 하나의 미디어 트랙 그룹에 속하고, 미디어 트랙 그룹은 아틀라스의 아틀라스 식별 인덱스(atlas_id)와 동일할 수 있는 "track_group_id"에 의해 식별된다.
본 개시 기술의 또 다른 실시형태에서, 텍스처 및 깊이 성분 둘다가 하나의 미디어 트랙에 배치되는 경우, 텍스터 및 깊이 성분 샘플들은 그룹화되고, 타입 "texture and depth group"은 각각의 샘플이 텍스처 성분 또는 깊이 성분에 속하는지를 기술하는 텍스처 및 깊이 샘플 그룹으로서 정의된다.
일례로 이들 식별자는 다음과 같이 기술될 수 있다:
class textureAnddepthGroupEntry extends SampleGroupDescriptionEntry ('tdpd') {
bit(2) reserved = 0;
unsigned int (8) texture_or_depth;
unsigned int (8) num_basicview_flag;
if(num_basicview_flag)
unsigned int (8) group_id;
}
신택스는 다음과 같이 정의된다:
"texture_or_depth"는 그룹의 샘플이 텍스처 또는 깊이 성분으로 그룹화되는 것을 표시한다. texture_or_depth가 0과 같은 경우, 샘플은 텍스처 성분으로 그룹화되고, texture_or_depth가 1과 같은 경우, 샘플은 깊이 성분으로 그룹화된다; 그리고
"num_basicview_flag"는 미디어 트랙 내의 샘플이 다수의 기본 뷰에 대응하는지를 표시하는데; 그것이 0과 경우는 단독 기본 뷰에 대응하고, 이들 샘플은 기본 뷰에 의해 그룹화되지 않으며, 1과 같은 경우는 2개보다 많은 기본 뷰에 대응한다.
미디어 트랙 내의 다수의 기본 뷰의 샘플들에 대한 "group_id"는 기본 뷰에 기초한 샘플 그룹의 그룹화 식별자를 표시한다.
본 개시 기술의 일부 실시형태에서, ISO 기본 파일 포맷에서 정의된 뷰 식별자 박스(ViewIdentifierBox)는 "vwid"이고, 뷰의 아이덴티티, 뷰에 대응하는 다른 참조 뷰 등을 비롯해 각각의 미디어 트랙에 포함되는 뷰를 기술한다. 미디어 트랙이 텍스처 성분 또는 깊이 성분, 또는 둘 다를 포함하는지를 표시할 수도 있다.
미디어 트랙 내의 아틀라스, 샘플에 기초하여, 사용자가 보기를 원하는 이미지를 합성하기 위해 사용자는 현재의 시점 포지션, 시점 방향, 및 뷰포트에 따라 하나 이상의 미디어 트랙에서 아틀라스를 선택한다. 세트 내의 패치들은 하나 이상의 뷰에 대응하는 하나 이상의 카메라에 의해 캡처된 비디오로부터의 것이다. 일부 구현예에서, 미디어 트랙 및 그것의 대응하는 아틀라스의 선택을 용이하게 하기 위해 각각의 패치가 속하는 뷰 및 그 뷰 내의 각 패치의 포지션이 기술된다. 선택적으로 다음 방법 중 하나를 사용하여 ISO 기본 파일 포맷에 따라 박스의 파라미터를 아틀라스에 정의한다.
본 개시 기술의 일부 실시형태에 있어서, 각각의 프레임 샘플에서, 상이한 뷰들로부터 패치가 수집되고, 뷰 내의 포지션은 상이하고 가변적이며, 모든 아틀라스에 대한 패치 정보는 시한 메타데이터에 의해 동적으로 기술된다.
샘플 엔트리 타입에 따라 시한 메타데이터 트랙으로부터 아틀라스 정보 리스트가 식별되며, 아틀라스 정보 리스트 시한 메타데이터 트랙은 아틀라스 내의 각각의 패치에 대응하는 위치 정보 및 대응하는 뷰와 대응하는 뷰 정보를 표시하는 데 사용된다.
구체적으로, 아틀라스 정보 리스트 시한 메타데이터 트랙의 목적은 트랙 샘플 엔트리 타입 "atpl"에 의해 표시되며 이하와 같이 표시된다.
AtlasParamsListSampleEntry extends MetaDataSampleEntry ('atpl'){
unsigned int(8) num_atlases;
unsigned int(8) num_views;
bit(7) reserved;
}
신택스는 다음과 같이 정의된다:
"num_atlases"는 아틀라스의 수를 표시한다; 그리고
"num_views"는 뷰의 수를 표시한다.
시한 메타데이터 트랙 내의 각 샘플은 일부 점에서의 모든 아틀라스에 관한 정보에 대응하고 있다. 다음의 예는 아틀라스 정보의 샘플 포맷이 앞의 트랙 샘플 엔트리 샘플 "atpl"를 참조하는 것을 표시하고, 각 샘플에 대한 아틀라스 정보를 표시한다.
aligned(8) AtlasParamsSample(){
for(i=0;i< num_atlases;i++){
unsigned int(8) atlas_id;
unsigned int(8) num_patches;
unsigned int(8) group_id;
for(j=0;j< num_patches;j++){
unsigned int(8) view_id;
unsigned int(32) patch_width_in_view;
unsigned int(32) patch_height_in_view;
unsigned int(32) patch_pos_in_atlas_x;
unsigned int(32) patch_pos_in_atlas_y;
unsigned int(32) patch_pos_in_view_x;
unsigned int(32) patch_pos_in_view_y;
unsigned int(32) patch_rotation;
}
}
}
신택스는 다음과 같이 정의된다:
"atlas_id"는 아틀라스의 식별자를 표시한다;
"num_patches"는 아틀라스에 포함된 패치의 수를 표시한다;
"view_id"는 패치가 속하는 뷰 식별자를 표시한다;
"group_id"는 기본 뷰 및 그것의 연관된 추가 뷰에 기초한 그룹화의 그룹 식별자를 표시하며, group_id가 0과 같은 경우에는 단독 기본 뷰이고, 뷰가 그룹화될 필요가 없다.
"patch_width_in_view"와 "patch_height_in_view"는 각각 휘도 샘플에서 패치의 폭과 높이를 표시한다;
"patch_pos_in_atlas_x"와 "patch_pos_in_atlas_y"는 각각 아틀라스에서 X-축과 Y-축의 좌표를 표시한다.
"patch_pos_in_view_x"와 "patch_pos_in_view_y"는 각각 휘도 샘플에서 패치의 X-축과 Y-축의 좌표를 표시한다.
"patch_rotation"는 패치가 아틀라스로부터 뷰로 매핑되는 회전 각도를 표시한다. patch_rotation가 0인 경우는, 회전 없음을 표시하고, patch_rotation가 1인 경우는 시계방향으로 90도 회전을 표시하고 1보다 큰 다른 값은 일시적으로 보류된다.
본 개시 기술의 일부 실시형태에서, 아틀라스 정보는 다른 미디어 트랙에 배치된 아틀라스를 기술하고, 앞에서 정의한 시한 메타데이터 트랙은 "cdsc" referenceType과 함께 TrackReferenceBox를 사용하여 하나 이상의 다른 미디어 트랙에 링크될 수 있다.
본 개시 기술의 일부 실시형태에서, 샘플 테이블 박스(SampleTableBox)는 미디어 트랙 내의 샘플의 아틀라스 정보를 하나씩 표시하기 위해 새로운 정의 박스(아틀라스 파라미터 박스)를 포함한다.
Box Type:'atlp'
Container:SampleTableBox
Mandatory: No
Quantity: Zero or one
aligned(8) class AtlasParametersBox extends FullBox('atlp', 0, 0) {
unsigned int(8) sample_count;
for (i=0; i < sample_count; i++) {
AtlasStruct();
}
}
aligned(8) class AtlasStruct(){
unsigned int(8) num_patches;
for(j=0;j< num_patches;j++){
unsigned int(8) view_id;
unsigned int(32) patch_width_in_view;
unsigned int(32) patch_height_in_view;
unsigned int(32) patch_pos_in_atlas_x;
unsigned int(32) patch_pos_in_atlas_y;
unsigned int(32) patch_pos_in_view_x;
unsigned int(32) patch_pos_in_view_y;
unsigned int(32) patch_rotation;
}
}
신택스는 다음과 같이 정의된다:
"sample_count"는 시간 주기 동안의 연속 샘플의 수를 표시한다;
"num_patches"는 아틀라스에 포함된 패치의 수를 표시한다;
"view_id"는 이 패치가 속하는 뷰 식별자를 표시한다;
"patch_width_in_view"와 "patch_height_in_view"는 각각 휘도 샘플에서 패치의 폭과 높이를 표시한다;
"patch_pos_in_atlas_x"와 "patch_pos_in_atlas_y"는 각각 아틀라스에서 패치의 X-축과 Y-축의 좌표를 표시한다.
"patch_pos_in_view_x"와 "patch_pos_in_view_y"는 각각 휘도 샘플에서 X-축과 Y-축의 좌표를 표시한다.
"patch_rotation"는 아틀라스로부터 뷰 이미지로의 패치의 회전 각도를 표시한다. 그것이 0인 경우는 회전 없음을 표시하고, 그것이 1인 경우는 시계방향으로 90도 회전을 표시하고 1보다 큰 다른 값은 일시적으로 보류된다.
도 6은 미디어 파일에 다수의 기본 뷰가 있고 기본 뷰가 다른 뷰를 예측하기 위한 베이스 뷰로서 사용될 수 있는 경우에 본 개시 기술의 일부 실시형태에 기초한 미디어 파일 내의 다계층 트랙 구조의 일례를 도시하는 도면이다. 계층적 트랙 기술 구조에 기반하여, 미디어 트랙은 하나의 기본 뷰를 저장할 베이스 계층으로서 정의되고 모든 기본 뷰의 동작점 정보를 기술한다. 다른 기본 뷰 및 추가 뷰의 대응하는 뷰는 하나 이상의 다른 미디어 트랙에 저장된다. 다중 뷰를 통해, 3차원 입체 비디오가 합성될 수 있으므로 사용자는 머리의 배치를 통해 부분적으로 가려진 시각적 콘텐츠를 볼 수 있다.
베이스 계층의 미디어 트랙 내의 타입 "oinf"(동작점 정보) 샘플 그룹은 모든 기본 뷰에서 동작점 정보를 기술하기 위해 정의된다. 모든 추가 계층 미디어 트랙은 미디어 트랙 타입 인디케이터 "oref"를 참조함으로써 베이스 계층 미디어 트랙을 참조한다.
미디어 트랙 레벨에서 또는 파일 레벨에서의 표시를 포함함으로써 기본 뷰는 다른 기본 뷰 및 그 연관된 추가 뷰와 구별될 수 있다.
본 개시 기술의 일부 실시형탱서, 기본 뷰와 추가 뷰의 구별은 미디어 트랙 레벨에서 기술된다. 기본 뷰에 속하는 아틀라스를 포함하는 미디어 트랙에서, 미디어 트랙은 MediaInformationBox에서 타입 'invw'의 박스를 정의함으로써 기본 뷰를 포함하는 미디어 트랙으로서 기술된다.
Box type: 'invw'
Container: MediaInformationBox
Mandatory: No
Quantity: Zero or one
aligned(8) class BasicViewBox() extends fullBox('bavw', 0, 0) {
unsigned int(8) basic_view_idx;
unsigned int(8) camera_idx;
unsigned int (8) num_ref_views;
unsigned int (8) texture_or_depth_flag;
for(int k=0; k< num_ref_views; k++){
unsigned int (8) additional_view_idx;
unsigned int (8)track_id;
if(texture_or_depth_flag)
unsigned int (32) depth_track_id;
}
}
신택스는 다음과 같이 정의된다:
"basic_view_idx"는 미디어 트랙 내의 대응하는 아틀라스의 기본 뷰의 식별자이다;
"camera_idx"는 기본 뷰에 대응하는 카메라의 식별자를 표시한다;
"additional_view_idx"는 기본 뷰를 참조하는 추가 뷰의 식별자를 표시한다; 그리고
"track_id"는 기본 뷰와 연관된 추가 뷰에 대응하는 아틀라스를 포함하는 미디어 트랙의 식별자를 표시한다;
"texture_or_depth_flag"는 샘플에 대응하는 추가 뷰와 연관된 샘플을 포함하는 미디어 트랙이 텍스처 성분 및/또는 깊이 성분을 포함하는지를 표시하며, 그것이 0인 경우는 둘 다를 포함하며, 1인 경우는 텍스처 성분만 포함한다; 그리고
"depth_track_id"은 연관된 추가 뷰가 대응하는 깊이 성분이 위치해 있는 미디어 트랙 ID를 표시한다.
기본 뷰 및 기본 뷰를 참조하는 연관된 추가 뷰에 대응하는 아틀라스의 경우, 트랙 그룹 타입(track_group_type)이 "cstg"인 트랙 그룹 박스는 기본 뷰 및 그것의 연관된 추가 뷰에 대응하는 아틀라스들 사이의 관계를 기술하기 위해 정의된다.
본 개시 기술의 일부 실시형태에서, 그룹 기술은 기본 뷰가 위치한 미디어 트랙에 대해 그리고 연관된 기본 뷰를 참조하는 추가 뷰를 가진 미디어 트랙에 대해 파일 레벨에서 제공된다.
EntityToGroupBox의 확장은 ISO 기본 파일 포맷에서, 연관된 뷰로부터 아틀라스를 포함하는 미디어 트랙을 그룹화하기 위해 그룹화 타입(grouping_type)을 "asvw"(연관된 뷰 그룹)으로서 정의하는 데 사용된다. 그룹 멤버들은 기본 뷰가 위치해 있는 미디어 트랙을 구별하기 위해 기술되며 트랙은 아틀라스의 텍스처 성분 및/또는 깊이 성분을 포함한다고 말할 수 있다. 하나의 그룹에서, 미디어 트랙에는 단독 기본 뷰가 있고 다른 뷰는 그 기본 뷰와 연관된다.
Box Type: 'asvw'
Container: GroupsListBox
Mandatory: No
Quantity: One or more
aligned(8) class AssociateViewsGroupBox('asvw', version, flags)
extends EntityToGroupBox (grouping_type, version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0; i<num_entities_in_group; i++)
unsigned int(32) entity_id;
unsigned int(8) is_basic_view;
unsigned int(8) is_texture_in_entity;
unsigned int(8) is_depth_in_entity;
}
신택스는 다음과 같다:
"group_id"는 각각의 박스에 기술된 그룹화에 대한 그룹 식별자를 표시한다;
"num_entities_in_group"는 그룹내 엔티티의 수를 표시한다; 그리고
"entity_id"는 속해 있는 아틀라스가 배치되는 미디어 트랙의 엔티티 식별자를 표시하고 track_id와 같다;
"is_basic_view"는 그룹내 그룹 멤버 미디어 트랙이 기본 뷰를 포함하는지를 표시한다. 그것이 1인 경우 그룹내 그룹 멤버 미디어 트랙은 기본 뷰를 포함하거나, 그것이 0인 경우 그룹내 그룹 멤버 미디어 트랙은 기본 뷰를 포함하지 않고 단독의 그룹 멤버가 1의 값을 갖는다;
"is_texture_in_entity"는 그룹내 특정 그룹 멤버의 미디어 트랙이 해당 뷰가 속해 있는 아틀라스의 텍스처 성분을 포함하는지를 표시한다; 그리고
"is_depth_in_entity"는 그룹내 그룹 멤버의 미디어 트랙이 해당 뷰가 속해 있는 아틀라스의 깊이 성분을 포함하는지를 표시한다.
일부 구현예에서, 다수의 기본 뷰의 아틀라스는 별도의 비트스트림에 저장된다. 예를 들어, 하나의 비트스트림은 하나의 기본 뷰에 대응하는 단독 아틀라스 및 해당 기본 뷰와 연관된 다른 뷰에 대응하는 아틀라스를 포함한다. 이 경우에도 계층적 구조가 사용될 수 있다.
본 개시 기술의 일부 실시형태에서, 미디어 스트림 파일을 수신하고 디코딩한 후에, 사용자는 사용자의 시점 방향, 시점 포지션, 및 뷰포트에 따라 기본 뷰 및 기본 뷰의 연관된 추가 뷰에 대응하는 미디어 콘텐츠를 선택한다. 대응하는 카메라 정보는 선택된 콘텐츠의 렌더링을 완료하는 과정에서 고려된다.
본 개시 기술의 일부 실시형태에서, 카메라 파라미터의 정보를 기술하는 박스를 정의함으로써, 다중 뷰에 대한 카메라가 상세하게 기술된다.
본 개시 기술의 일부 실시형태에서, 카메라 파라미터 정보는 고유 정보이고 포지션 정보이며, 데이터 박스는 기술을 위해 파일 레벨에서 정의된다. 카메라 파라미터 리스트 박스는 박스 타입에 따라 식별되고, 미디어 파일 내의 모든 패치에 대응하는 카메라 파라미터가 기술되며, 박스는 "meta" 타입 박스에 포함된다.
Box type: 'capl'
Container: Meta Box ('meta')
Mandatory: No
Quantity: Zero or one
aligned(8) class CameraParametersListBox() extends FullBox('capl', 0, 0) {
unsigned int(16) num_cameras;
for(int i=0; i<num_cameras; i++){
unsigned int(8) view_idx;
CameraPosStruct();
RotationStruct();
ProjectionFormatStructEx();
DepthQuantizationStruct();
}
}
aligned(8) class CameraPosStruct() {
unsigned int(32) camera_pos_x;
unsigned int(32) camera_pos_y;
unsigned int(32) camera_pos_z;
}
aligned(8) class ProjectionFormatStructEx() {
bit(3) reserved = 0;
unsigned int(5) projection_type;
projection_plane_width;
projection_plane_height;
if (projection_type==0) {
unsigned int(32) erp_phi_min;
unsigned int(32) erp_phi_max;
unsigned int(32) erp_theta_min;
unsigned int(32) erp_theta_min;
}
if (projection_type==0) {
cubic_map_type;
}
if (projection_type==2) {
unsigned int(32) perspective_focal_hor;
unsigned int(32) perspective_focal_ver;
unsigned int(32) perspective_center_hor;
unsigned int(32) perspective_center_ver;
}
}
aligned(8) class DepthQuantizationStruct() {
unsigned int(8) quantization_law;
if (quantization_law == 0) {
unsigned int(32) depth_near;
unsigned int(32) depth_far;
}
}
aligned(8) class RotationStruct() {
signed int(32) rotation_yaw;
signed int(32) rotation_pitch;
signed int(32) rotation_roll;
}
신택스는 다음과 같이 정의된다:
"num_cameras"는 카메라의 수를 표시한다;
"view_idx"는 카메라에 의해 캡처되는 뷰의 식별자이며, 이에 뷰에 대응하는 카메라를 찾을 수 있다.
"camera_pos_x", "camera_pos_y", 및 "camera_pos_z"는 전역 참조 좌표계에서의 카메라의 포지션을 표시한다;
"projection_type"은 카메라의 투영 방법을 표시한다. 0과 같은 경우는, ERP 투영 방법을 표시하고, 1과 같은 경우는 CMP 투영 방법을 표시하며, 2와 같은 경우는 투시 투영을 표시하고, 값의 범위는 0 내지 255이고, 그 중 3 내지 255는 필요할 경우 추후 정의될 수 있다;
"projection_plane_width"와 "projection_plane_height"는 카메라 투영면의 수평 및 수직 분해능을 표시하며,이들은 인코딩된 밝기 샘플링의 수평 및 수직 해상도로 표시된다;
"erp_phi_min" 및 "erp_phi_max"는 ERP 투영의 위도 범위(최소 및 최대)를 표시한다;
"erp_theta_min" 및 "erp_theta_max"는 ERP 투영의 경도 범위(최소 및 최대)를 표시한다;
"perspective_focal_hor" 및 "perspective_focal_ver"는 투시 투영의 초점의, 수평 및 수직 성분을 각각 루마 샘플 포지션 단위로 표시한다;
"perspective_center_hor" 및 "perspective_center_ver"는 투시 투영의 주요점의, 수평 및 수직 좌표를 루마 샘플 포지션으로 표시한다;
"quantization_law"는 카메라의 깊이 양자화 방법의 타입을 표시한다;
"depth_near, depth_far"는 각각 최소 및 최대 정규화 디스패리티 값을 표시한다;
"cubic_map_type"은 CMP 투영의 타입을 표시한다. 그것이 0과 같은 경우는 완전 투영 모드(6 패키지 면)을 표시하고, 그것이 0보다 큰 경우 일시적으로 보류된다; 그리고
"rotation _yaw"와 "rotation _pitch"와 "rotation _roll"는 각각 X, Y, 및 Z 축을 따라 카메라가 회전하는 요각, 피치각, 및 롤각을 명시한다.
본 개시 기술의 일부 실시형태에서, 미디어 트랙 각각은 하나 이상의 뷰의 패치로부터 유래하며, 각각의 뷰는 하나의 카메라에 대응하고, 각 미디어 트랙 내의 뷰에 대응하는 카메라가 기술된다.
카메라 파라미터 리스트 박스는 스킴 정보 박스인 "schi" 타입 박스에 포함되는 박스 타입에 따라 식별되며, 박스가 스킴 타입인 경우(scheme_type이 아틀라스 모드를 지원하는 "altv"인 경우), 제한된 스킴 정보를 기술한다. 카메라 파라미터 박스의 예를 이하에 기술한다.
Box type: 'acpl'
Container: Scheme Information Box ('schi')
Mandatory (per an item): Yes, when scheme_type is equal to 'altv'
Quantity (per an item): one
aligned(8) class AtlasCameraParametersListBox() extends FullBox('acpl', 0, 0) {
unsigned int(16) num_cameras;
for(int i=0; i<num_cameras; i++){
unsigned int(8) view_idx;
CameraPosStruct();
RotationStruct();
ProjectionFormatStructEx();
DepthQuantizationStruct();
}
}
본 개시 기술의 일부 실시형태에서, 카메라의 배치 모드에 기초하여 2개 이상의 기본 뷰가 있고, 기본 뷰의 아틀라스는 상이한 미디어 트랙들에 저장되고, 각각의 기본 뷰의 아틀라스는 기본 뷰으로서 사용되고, 연관된 추가 뷰의 뷰는 추가 뷰로서 기능한다. 기본 뷰가 위치하는 미디어 트랙에서, 기본 뷰 및 그것의 연관된 다른 뷰에 대응하는 카메라는 솔루션 정보인 "schi" 타입 박스에 포함되는 아탈라스 카메라 파라미터 박스(AltalsCameraParametersListBox)를 사용하여 기술될 수 있다. 스킴 정보 박스는 제한된 정보를 기술하는 데 사용된다. 다른 관련된 뷰의 아틀라스가 위치하는 미디어 트랙은 기본 뷰의 미디어 트랙을 관련된 추가 뷰의 다른 미디어 트랙와 연관시키기 위해 트랙 참조 타입 "sbas"를 사용하여 트랙을 정의한다.
본 개시 기술의 일부 실시형태에서, 기본 뷰 및 그것에 관련된 다른 뷰와 연관되는 미디어 트랙은 트랙 그룹 타입 "cstg"을 사용하여 정의될 수 있다.
본 개시 기술은 다수의 기본 뷰가 존재하는 상황에서 뷰의 아틀라스를 미디어 트랙에 배치하도록 일부 실시형태에서 구현될 수 있다. 일 구현예에서는, 텍스처 성분과 깊이 성분이 하나의 미디어 트랙에 배치되거나, 다른 구현예에서는, 텍스처 성분과 깊이 성분이 상이한 미디어 트랙들에 배치된다. 본 개시 기술의 일부 실시형태에 기초하여 구현되는 멀티뷰 비디오 프로세싱 방법은, 미디어 트랙 및 관련된 메타데이터의 구조를 정의하고 미디어 트랙에 배치된 뷰의 아틀라스 정보와 데이터의 메타데이터를 기술하는 단계를 포함할 수 있다. 본 개시 기술의 일부 실시형태에 기초하여 구현되는 멀티뷰 비디오 프로세싱 방법은 다중 뷰에 기초하여 비디오를 캡처링하는 단계, 비디오를 코딩하는 단계, 코딩된 비디오를 그것의 메타데이터를 사용하여 미디어 파일로 팩킹하는 단계, 및 사용자의 선택에 따라 또는 직접 미디어 파일을 전송하는 단계를 포함할 수 있다. 사용자는 미디어 파일을 접수하고 필요한 메타데이터 및 샘플을 추출하며, 미디어 파일 내의 픽처들을 디코딩하고 디코딩된 픽처들을 합성하여 사용자의 뷰포트에서 합성된 콘텐츠를 볼 수 있다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은 사용자의 시점 내의 멀티뷰 비디오의 뷰에 대응하는 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계를 포함할 수 있다. 하나 이상의 아틀라스는 뷰의 텍스처 정보 및 깊이 정보를 포함한다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은 또한 아틀라스 및 멀티뷰 비디오에 대응하는 카메라 파라미터에 기초하여, 사용자의 시점 내에 다시점 비디오를 생성하는 단계를 포함할 수 있다.
본 개시 기술의 일부 실시형태에서, 사용자의 시점 내의 다시점 비디오의 뷰에 대응하는 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계는, 다시점 비디오의 기본 뷰 및 및 사용자에 의해 선택된 다시점 비디오의 기본 뷰에 관련된 추가 뷰를 결정하는 단계와, 아틀라스가 미디어 트랙에서 다시점 비디오의 기본 뷰 및 추가 뷰에 대응하는 것에 기초하여, 미디어 트랙에서 사용자에 의해 선택된 멀티뷰 비디오의 뷰에 대응하는 하나 이상의 아틀라스를 결정하는 단계를 포함한다.
일례로 사용자의 시점 내의 다시점 비디오의 뷰에 대응하는 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계는, 제2 그룹 타입에 기초하여 미디어 트랙에서 엔티티 그룹 데이터 박스를 식별하는 단계를 더 포함하고, 엔티티 그룹 데이터 박스는 다시점 비디오의 기본 뷰를 나타낸다. 일례로 엔티티 그룹 데이터 박스는 엔티티 그룹의 그룹 식별자를 나타낸다.
일례로 사용자의 시점 내의 다시점 비디오의 뷰에 대응하는 미디어 트랙 내의 하나 이상의 아틀라스를 결정하는 단계는, 비디오 트랙 샘플의 엔트리에서 기본 뷰 데이터 박스를 식별하는 단계를 더 포함하고, 기본 뷰 데이터 박스는 다시점 비디오의 베이스 뷰 식별자(identification)를 나타낸다.
본 개시 기술의 일부 실시형태에서, 샘플 그룹 데이터 박스가 미디어 트랙 내에 있고, 그것의 대응하는 샘플 그룹 기술 데이터 박스는 제1 그룹 타입에 기초하여 식별되며, 샘플 그룹 기술 데이터 박스 내의 샘플 그룹 엔트리는 다시점 비디오 베이스 뷰 ID를 표시한다. 일례로 샘플 그룹 엔트리는 샘플 그룹의 그룹화 식별자를 표시한다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은 샘플 그룹 기술 데이터 박스 또는 엔티티 그룹 데이터 박스 또는 기본 뷰 데이터 박스에서 표시되는 다시점 비디오의 베이스 뷰 식별자와 연관되는 하나 이상의 추가 뷰의 식별자를 표시하는 단계를 더 포함한다. 일례로 비디오 데이터 프로세싱 방법은 뷰에 대응하는 아틀라스가 위치하는 미디어 트랙의 식별자를 사용하는 단계를 더 포함한다.
본 개시 기술의 일부 실시형태에서, 기본 뷰 데이터 박스가 나타내는 기본 뷰 및 기본 뷰 데이터 박스가 나타내는 다시점 비디오의 베이스 뷰 식별자가 나타내는 추가 뷰에 대응하는 아틀라스가 위치해 있다. 일례로 미디어 트랙은, 미디어 트랙의 타입에 따라, 차트 세트가 베이스 뷰에 대응하는 미디어 트랙 및 추가 뷰에 대응하는 아틀라스가 위치하는 미디어 트랙의 그룹화를 식별함으로써, 특성화된다.
본 개시 기술의 일부 실시형태에서, 제1 샘플 엔트리 타입에 따라 아틀라스 리스트 시한 메타데이터 트랙이 식별되고, 아틀라스 리스트 시한 메타데이터 트랙은 미디어 트랙 내의 아틀라스의 이미지 블록 정보를 표시하기 위해 사용된다.
본 개시 기술의 일부 실시형태에서, 미디어 트랙 내의 아틀라스의 패치 정보는: 아틀라스의 식별자(identificaiotn); 아틀라스의 패치 수; 아틀라스의 패치 소스의 뷰 식별자; 아틀라스에 대응하는 뷰 내의 아틀라스의 패치의 폭과 높이; 아틀라스에서 패치의 X-축 및 Y-축 좌표; 아틀라스에 대응하는 뷰 내의 아틀라스의 패치의 X-축 및 Y-축 좌표; 아틀라스로부터 뷰의 대응하는 회전 각도로 매핑된 아틀라스의 패치, 중 적어도 하나를 포함한다.
본 개시 기술의 일부 실시형태에서, 비디오 데이터 프로세싱 방법은 아틀라스가 텍스처 정보 및/또는 깊이 정보를 포함하고 아틀라스의 아이덴티티를 표시하는지를 나타내는 아틀라스 속성 데이터 박스를 식별하는 단계를 더 포함한다. 대안으로, 아틀라스를 포함하는 텍스처 정보에 속하는 비디오 트랙과 아틀라스의 깊이 정보를 포함하는 비디오 트랙은 제3 트랙 그룹 타입에 기초하여 식별된다.
본 개시 기술의 일부 실시형태에서, 카메라 파라미터는 파일 레벨 카메라 파라미터 리스트 데이터 박스를 식별하고 다시점 뷰를 촬영하기 위한 카메라 파라미터 정보를 표시하기 위해 사용될 수 있다. 대안으로, 제한된 솔루션 정보를 식별하기 위한 아틀라스 카메라 파라미터 리스트 데이터 박스는 미디어 트랙 내의 아틀라스에 대응하는 뷰의 카메라 파라미터 정보를 표시하기 위해 위해 사용된다.
본 개시 기술의 일부 실시형태에서, 카메라 파라미터는: 카메라 위치에 대한 좌표 정보; 카메라 위치에 대한 좌표 회전 정보; 카메라 매핑 포맷 정보; 카메라 깊이 정량화 정보, 중 적어도 하나를 포함할 수 있다.
여기에 설명한 실시형태 중 일부는 네트워크 환경의 컴퓨터에 의해 실행되는 프로그램 코드와 같은 컴퓨터 실행 가능 명령어를 포함한, 컴퓨터 판독 가능 매체에 수록되는 컴퓨터 프로그램 제품에 의해 일 실시형태에서 구현될 수 있는 방법 또는 프로세스의 일반적인 맥락에서 설명된다. 컴퓨터 판독 가능 매체는 ROM(리드 온리 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크), DVD(디지털 다목적 디스크) 등을 포함하지만 이에 국한되지 않는 이동식 및 비이동식 저장 디바이스를 포함할 수 있다. 따라서, 컴퓨터 판독 가능 매체는 비일시적 저장 매체를 포함할 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함할 수 있다. 컴퓨터 또는 프로세서 실행 가능 명령어, 연관된 데이터 구조, 및 프로그램 모듈은 여기에 개시한 방법들의 단계들을 실행하기 위한 프로그램 코드의 예를 대표한다. 이러한 실행 가능 명령어 또는 연관된 데이터 구조의 특정 시퀀스는 이러한 단계 또는 프로세스에서 설명되는 기능을 구현하기 위한 대응하는 액트의 예를 대표한다.
개시한 실시형태 중 일부는 하드웨어 회로, 소프트웨어, 또는 이들의 조합을 사용하여 디바이스 또는 모듈로서 구현될 수 있다. 예를 들어, 하드웨어 회로 구현예는 예컨대 인쇄 회로 기판의 일부로서 통합되는 별개의 아날로그 및/또는 디지털 컴포넌트를 포함할 수 있다. 대안적으로 또는 추가적으로, 개시한 컴포넌트 또는 모듈은 ASIC(Application Specific Integrated Circuit) 및/또는 FPGA(Field Programmable Gate Array) 디바이스로서 구현될 수 있다. 일부 구현예는 본 출원의 개시 기능과 연관된 디지털 신호 프로세싱의 동작 요구에 최적화된 아키텍처를 갖는 특수 마이크로프로세서인 디지털 신호 프로세서(DSP)를 추가로 또는 대안으로 포함할 수 있다. 마찬가지로, 각 모듈 내의 다양한 컴포넌트 또는 하위 컴포넌트는 소프트웨어, 하드웨어 또는 펌웨어로 구현될 수 있다. 모듈 및/또는 모듈 내의 컴포넌트 사이의 접속은, 적절한 프로토콜을 사용하는 인터넷, 유선 또는 무선 네트워크를 통한 통신을 포함하지만 이에 국한되지 않는 당업계에 알려진 접속 방법 및 매체 중 임의의 하나를 사용하여 제공될 수 있다.
본 문헌이 다수의 상세를 포함하고 있지만, 이들은 청구 대상 또는 발명의 범주에 대한 제한으로서 해석되는 것이 아니라 특정 실시형태에 고유한 특징들의 설명으로서 해석되어야 한다. 본 문헌에서 개별 실시형태의 맥락에서 설명되는 특정 특징들은 단일 실시형태에서 조합으로도 구현될 수 있다. 반면, 단일 실시형태의 맥락에서 설명되는 다양한 특징들도 다수의 실시형태에서 별도로 또는 임의의 적절한 하위조합으로 구현될 수 있다. 그러나, 특징들이 특정 조합으로 설명되고 심지어 처음에 그렇게 주장될 수도 있지만, 청구되는 조합 중의 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수도 있고, 청구되는 조합이 하위 조합 또는 하위 조합의 변형에 관한 것일 수 도 있다. 마찬가지로, 동작들이 도면에 특정 순서로 도시되지만, 이는 바람직한 결과를 달성하기 위해, 그러한 동작이 도시된 특정 순서로 또는 순차적 순서로 수행되는 것을, 또는 모든 예시 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다.
소수의 구현예 및 예시만이 설명되었지만, 본 문헌에서 설명하고 예시한 것에 기초하여 다른 구현예, 개선예 및 변형예가 이루어질 수 있다.

Claims (31)

  1. 미디어 콘텐츠를 구성하는 방법에 있어서,
    각각의 미디어 샘플이 복수의 뷰 중 하나 이상에 대응하고 상기 대응하는 뷰의 텍스처 성분 또는 깊이 성분 중 적어도 하나를 포함하도록, 복수의 미디어 샘플을, 하나 이상의 기본 뷰와 하나 이상의 추가 뷰를 포함하는 상기 복수의 뷰와 연관된 미디어 파일에 배치하는 단계;
    각각의 미디어 트랙이 상기 대응하는 뷰에 관한 정보를 기술하기 위한 하나 이상의 인디케이터를 포함하도록, 상기 하나 이상의 기본 뷰에 대응하는 기본 뷰 미디어 트랙 및 하나 이상의 추가 뷰 미디어 트랙을 결정하는 단계; 및
    상기 복수의 미디어 샘플을, 각각 하나의 기본 뷰와 연관되는 하나 이상의 미디어 샘플 그룹으로 그룹화하거나 상기 복수의 미디어 샘플이 배치되는 복수의 미디어 트랙을 그룹화하는 것에 의해, 상기 하나 이상의 인디케이터에 기초하여 상기 복수의 미디어 샘플로부터 미디어 콘텐츠를 구성하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 각각의 기본 뷰는 n개의 기본 뷰 아틀라스에 대응하는, 방법.
  3. 제2항에 있어서, 상기 기본 뷰 아틀라스에 기초하여 패치가 획득되는, 방법.
  4. 제2항에 있어서, 상기 미디어 콘텐츠는 하나 이상의 기본 뷰와 하나 이상의 추가 뷰의 조합에 기초하여 구성되는, 방법.
  5. 제4항에 있어서, 상기 하나 이상의 인디케이터는 2개 이상의 기본 뷰에 대응하는 상기 복수의 미디어 샘플을 샘플 그룹으로 그룹화하기 위한 인디케이터를 포함하는, 방법.
  6. 제1항에 있어서, 상기 하나 이상의 인디케이터는, 각각의 미디어 트랙이 상기 텍스처 성분 또는 상기 깊이 성분을 포함하는지를 나타내기 위한 인디케이터를 포함하는, 방법.
  7. 제1항에 있어서, 상기 하나 이상의 인디케이터는, 각각의 미디어 트랙이 상기 텍스처 성분 또는 상기 깊이 성분을 포함하는지를 나타내기 위한 인디케이터를 포함하는, 방법.
  8. 제1항에 있어서, 상기 하나 이상의 인디케이터는, 상기 텍스처 성분 및 상기 깊이 성분 중 어느 부분이 상기 미디어 트랙에 포함되는지를 정의하기 위해 아틀라스 속성 인디케이터를 포함하는, 방법.
  9. 제1항에 있어서, 상기 하나 이상의 인디케이터는 상기 대응하는 뷰를 기술하기 위한 뷰 식별자를 포함하는, 방법.
  10. 제1항에 있어서, 상기 미디어 콘텐츠를 구성하는 단계는 상이한 미디어 샘플들로부터 패치들을 조합하는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 하나 이상의 인디케이터는 각 미디어 샘플에서 패치의 수를 기술하는 인디케이터를 포함하는, 방법.
  12. 제10항에 있어서, 상기 하나 이상의 인디케이터는 패치가 뷰 아틀라스로부터 상기 복수의 뷰와 연관된 미디어 샘플로 매핑되는 회전 각도에 대한 패치 회전 인디케이터를 포함하는, 방법.
  13. 미디어 콘텐츠를 구성하는 방법에 있어서,
    각각의 미디어 샘플이 복수의 뷰 중 하나에 대응하고 상기 대응하는 뷰와 연관된 텍스처 성분 또는 깊이 성분 중 적어도 하나를 포함하도록, 복수의 미디어 샘플을, 복수의 기본 뷰와 복수의 추가 뷰를 포함하는 상기 복수의 뷰와 연관된 미디어 파일에 배치하는 단계;
    각각의 미디어 트랙이 상기 대응하는 뷰에 관한 정보를 기술하기 위한 하나 이상의 인디케이터를 포함하도록, 상기 복수의 기본 뷰에 각각 대응하는 복수의 기본 뷰 미디어 트랙과, 상기 복수의 추가 뷰에 각각 대응하는 복수의 추가 뷰 미디어 트랙을 결정하는 단계; 및
    상기 복수의 미디어 샘플을, 각각 적어도 하나의 기본 뷰와 연관되는 하나 이상의 미디어 샘플 그룹으로 그룹화하는 것에 의해, 상기 하나 이상의 인디케이터에 기초하여 상기 복수의 미디어 샘플로부터 미디어 콘텐츠를 구성하는 단계
    를 포함하는, 방법.
  14. 제13항에 있어서, 상기 하나 이상의 기본 뷰에 기초하여 획득된 이미지가 다른 이미지를 예측하기 위한 베이스 이미지로서 사용되는, 방법.
  15. 제14항에 있어서, 각각의 기본 뷰는 기본 뷰 아틀라스에 대응하는, 방법.
  16. 제15항에 있어서, 상기 이미지는 상기 기본 뷰 아틀라스에 기초하여 획득되는, 방법.
  17. 제15항에 있어서, 각각의 기본 뷰 아틀라스는 별도의 코드 스트림에 저장되는, 방법.
  18. 제13항에 있어서, 상기 하나 이상의 인디케이터는, 상이한 뷰들을 포함하는 상이한 미디어 트랙들을 그룹화하기 위해 그룹화 타입을 기술하는 엔티티 레벨 그룹화 인디케이터를 포함하는, 방법.
  19. 제18항에 있어서, 상기 엔티티 레벨 그룹화 인디케이터는 기본 뷰와 추가 뷰 사이의 그룹화 정보를 포함하는, 방법.
  20. 제18항에 있어서, 상기 엔티티 레벨 그룹화 인디케이터는 그룹내 엔티티의 수를 포함하는, 방법.
  21. 제13항에 있어서, 각각의 미디어 트랙은 상기 복수의 뷰를 기본 뷰 또는 추가 뷰로서 식별하기 위한 인디케이터를 포함하는, 방법.
  22. 미디어 콘텐츠를 구성하는 방법에 있어서,
    시점(viewing) 방향, 시점 포지션, 및 시점 윈도우에 따라 복수의 뷰에 대응하는 카메라 파라미터를 포함하는 카메라 정보를, 상기 복수의 뷰와 연관된 미디어 파일에 배치하는 단계;
    상기 카메라 파라미터 정보에 기초하여, 상기 미디어 파일로부터 미디어 메타데이터를 선택하는 단계; 및
    상기 미디어 메타데이터에 기초하여 미디어 콘텐츠를 구성하는 단계
    를 포함하는, 방법.
  23. 제22항에 있어서, 상기 카메라 정보는 미디어 파일을 기초로 하여 추출되는, 방법.
  24. 제22항에 있어서, 상기 카메라 정보는 미디어 트랙을 기초로 하여 추출되는, 방법.
  25. 제22항 내지 제24항 중 어느 한 항에 있어서, 상기 복수의 미디어 트랙 각각은 상기 복수의 뷰의 패치로부터 유래하고, 각각의 뷰는 하나의 카메라에 대응하는, 방법.
  26. 제22항 내지 제24항 중 어느 한 항에 있어서, 사용자의 상기 복수의 뷰는 적어도 하나의 기본 뷰 및 상기 적어도 하나의 기본 뷰와 연관된 적어도 하나의 추가 뷰를 포함하는, 방법.
  27. 제26항에 있어서, 상기 적어도 하나의 기본 뷰의 미디어 메타데이터는 상기 적어도 하나의 기본 뷰와 연관된 적어도 하나의 추가 뷰의 베이스 이미지로서 사용되는, 방법.
  28. 제22항 내지 제24항 중 어느 한 항에 있어서, 사용자의 상기 복수의 뷰는 각각 상이한 미디어 트랙들에 저장된 2개 이상의 기본 뷰를 포함하는, 방법.
  29. 제22항 내지 제24항 중 어느 한 항에 있어서, 상기 카메라 정보는, 미디어 트랙 그룹 내의 미디어 데이터가 상기 미디어 트랙 그룹에 대응하는 특정 공간 범위 내에서 이미지를 디코딩하는 데 사용될 것임을 나타내기 위해 상기 미디어 트랙 그룹을 포함하는, 방법.
  30. 메모리와 프로세서를 포함하는, 무선 통신을 위한 장치에 있어서, 상기 프로세서는 상기 메모리로부터 코드를 판독하고 제1항 내지 제29항 중 어느 한 항에 기재된 방법을 구현하는, 장치.
  31. 프로세서에 의해 실행될 때에, 상기 프로세서로 하여금 제1항 내지 제29항 중 어느 한 항에 기재된 방법을 구현하게 하는 코드가 저장된 컴퓨터 판독 가능 프로그램 저장 매체.
KR1020227020559A 2019-11-29 2019-11-29 멀티뷰 비디오 프로세싱 방법 및 장치 KR102647019B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/122095 WO2021102953A1 (en) 2019-11-29 2019-11-29 Multi-view video processing method and apparatus

Publications (2)

Publication Number Publication Date
KR20220101169A true KR20220101169A (ko) 2022-07-19
KR102647019B1 KR102647019B1 (ko) 2024-03-12

Family

ID=76129052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227020559A KR102647019B1 (ko) 2019-11-29 2019-11-29 멀티뷰 비디오 프로세싱 방법 및 장치

Country Status (6)

Country Link
US (1) US20220286659A1 (ko)
EP (1) EP4066513A4 (ko)
JP (1) JP2023504097A (ko)
KR (1) KR102647019B1 (ko)
CN (1) CN114556962B (ko)
WO (1) WO2021102953A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962756A (zh) * 2022-04-26 2023-10-27 腾讯科技(深圳)有限公司 沉浸媒体的处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170113657A (ko) * 2015-02-10 2017-10-12 노키아 테크놀로지스 오와이 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
KR20190068622A (ko) * 2016-11-28 2019-06-18 소니 주식회사 자유 시점 비디오 스트리밍을 위한 디코더 중심의 uv 코덱
KR20190105011A (ko) * 2017-01-13 2019-09-11 인터디지털 브이씨 홀딩스 인코포레이티드 몰입형 비디오 포맷을 위한 방법, 장치 및 스트림

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957448B (zh) * 2009-04-09 2017-05-17 瑞典爱立信有限公司 生成媒体容器文件的方法、媒体内容服务器、以及媒体处理方法和媒体处理服务器
US9357199B2 (en) * 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth
GB2527786B (en) * 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
US20160373771A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
US10951912B2 (en) * 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
US10515477B2 (en) * 2018-02-06 2019-12-24 A9.Com, Inc. Photorealistic three dimensional texturing using canonical views and a two-stage approach
US10944977B2 (en) * 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
US10887574B2 (en) * 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US11212506B2 (en) * 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
EP3843385A4 (en) * 2018-10-08 2021-09-22 Samsung Electronics Co., Ltd. METHOD AND DEVICE FOR GENERATING A MEDIA FILE WITH THREE-DIMENSIONAL VIDEO CONTENT AND METHOD AND DEVICE FOR REPLAYING THREE-DIMENSIONAL VIDEO CONTENT
KR20200143287A (ko) * 2019-06-14 2020-12-23 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11432009B2 (en) * 2019-07-02 2022-08-30 Intel Corporation Techniques for encoding and decoding immersive video
US11627314B2 (en) * 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170113657A (ko) * 2015-02-10 2017-10-12 노키아 테크놀로지스 오와이 이미지 시퀀스 트랙을 처리하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
KR20190068622A (ko) * 2016-11-28 2019-06-18 소니 주식회사 자유 시점 비디오 스트리밍을 위한 디코더 중심의 uv 코덱
KR20190105011A (ko) * 2017-01-13 2019-09-11 인터디지털 브이씨 홀딩스 인코포레이티드 몰입형 비디오 포맷을 위한 방법, 장치 및 스트림

Also Published As

Publication number Publication date
KR102647019B1 (ko) 2024-03-12
EP4066513A1 (en) 2022-10-05
US20220286659A1 (en) 2022-09-08
CN114556962A (zh) 2022-05-27
JP2023504097A (ja) 2023-02-01
WO2021102953A1 (en) 2021-06-03
CN114556962B (zh) 2024-01-30
EP4066513A4 (en) 2023-01-25

Similar Documents

Publication Publication Date Title
JP6960528B2 (ja) メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム
JP7472220B2 (ja) 方法、プログラム、及びデバイス
CN112534825B (zh) 封装方法、生成图像的方法、计算装置和可读存储介质
US11582496B2 (en) Method, device, and computer program for transmitting media content
CN113852829A (zh) 点云媒体文件的封装与解封装方法、装置及存储介质
CN116233493A (zh) 沉浸媒体的数据处理方法、装置、设备及可读存储介质
US20220286659A1 (en) Multi-view video processing method and apparatus
EP3698332A1 (en) An apparatus, a method and a computer program for volumetric video
CN115883871A (zh) 媒体文件封装与解封装方法、装置、设备及存储介质
CN116137664A (zh) 点云媒体文件封装方法、装置、设备及存储介质
CN115941995A (zh) 媒体文件封装与解封装方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant