KR102624994B1 - 포인트 클라우드 데이터를 위한 파일 형식 - Google Patents

포인트 클라우드 데이터를 위한 파일 형식 Download PDF

Info

Publication number
KR102624994B1
KR102624994B1 KR1020227014438A KR20227014438A KR102624994B1 KR 102624994 B1 KR102624994 B1 KR 102624994B1 KR 1020227014438 A KR1020227014438 A KR 1020227014438A KR 20227014438 A KR20227014438 A KR 20227014438A KR 102624994 B1 KR102624994 B1 KR 102624994B1
Authority
KR
South Korea
Prior art keywords
point cloud
track
region
data
cloud data
Prior art date
Application number
KR1020227014438A
Other languages
English (en)
Other versions
KR20220071256A (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 KR20220071256A publication Critical patent/KR20220071256A/ko
Application granted granted Critical
Publication of KR102624994B1 publication Critical patent/KR102624994B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

포인트 클라우드 데이터 처리 방법은, 포인트 클라우드 데이터의 3D 영역 및 포인트 클라우드 데이터의 하나 이상의 포인트가 위에 투영되는 포인트 클라우드 트랙 패치 프레임(point cloud track patch frame)의 2D 영역을 결정하는 단계; 및 2D 영역에 포함된 포인트 클라우드 트랙의 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙의 비디오 프레임 데이터에 기초해, 포인트 클라우드 데이터의 3D 영역을 재구성하는 단계를 포함한다.

Description

포인트 클라우드 데이터를 위한 파일 형식
이 특허 문서는 멀티미디어 데이터 처리 및 송신 기술에 그리고 포인트 클라우드 데이터 처리 방법, 장치 및 시스템에 관한 것이다.
비디오 인코딩은 압축 도구를 사용하여 2차원 비디오 프레임을 네트워크를 통해 저장하거나 전송하는 데 더 효율적인 압축된 비트스트림 표현으로 인코딩한다. 인코딩을 위해 2차원 비디오 프레임을 사용하는 기존의 비디오 코딩 기술은 때때로 3차원 시각적 장면의 시각적 정보를 표현하는 데 비효율적이다.
이 특허 문서는 무엇보다도 다차원 이미지와 관련된 시각적 정보를 운반(carry)하는 디지털 비디오를 인코딩 및 디코딩하기 위한 기술을 설명한다.
하나의 예시적인 양상에서, 포인트 클라우드 데이터(point cloud data) 처리 방법이 개시된다. 방법은, 포인트 클라우드 데이터의 3D 영역 및 3D 영역의 하나 이상의 포인트가 위에 투영되는 포인트 클라우드 트랙 패치 프레임(point cloud track patch frame)의 2D 영역을 결정하는 단계, 및 2D 영역에 포함된 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙의 비디오 프레임 데이터로부터 포인트 클라우드 데이터의 3D 영역을 재구성하는 단계를 포함한다.
또 다른 예시적인 양상에서, 포인트 클라우드 데이터 처리의 또 다른 방법이 개시된다. 방법은, 포인트 클라우드 데이터의 3D 영역 및 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계, 및 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 비디오 프레임 데이터 및 대응하는 포인트 클라우드 트랙 패치 프레임 데이터에 기초하여, 포인트 클라우드 데이터의 3D 영역을 재구성하는 단계를 포함한다.
또 다른 예시적인 양상에서, 포인트 클라우드 데이터 처리를 위한 장치가 개시된다.
또 다른 예시적인 양상에서, 컴퓨터 프로그램 저장 매체가 개시된다. 컴퓨터 프로그램 저장 매체는 그 위에 저장된 코드를 포함한다. 코드는 프로세서에 의해 실행될 때 프로세서가 설명된 방법을 구현하게 한다.
이러한 양상 및 다른 양상이 본 문서에 설명되어 있다.
도 1은 3D 포인트 클라우드 데이터 처리의 예시적인 방법의 흐름도이다.
도 2는 3D 포인트 클라우드 데이터 처리의 예시적인 방법의 흐름도이다.
도 3은 3D 포인트 클라우드 데이터 처리의 예시적인 방법의 흐름도이다.
도 4는 3D 포인트 클라우드 데이터 처리의 예시적인 방법의 흐름도이다.
도 5는 3D 포인트 클라우드 데이터 처리의 예시적인 방법의 흐름도이다.
도 6은 데이터 신택스의 예를 도시한다.
도 7은 또 다른 예시적인 데이터 신택스를 도시한다.
도 8은 예시적인 하드웨어 장치의 블록도이다.
섹션 표제는 가독성을 향상시키기 위해서만 본 문서에서 사용되며 각 섹션의 개시된 실시예 및 기술의 범위를 해당 섹션으로만 제한하지 않는다. 특정 특징은 H.264/AVC(advanced video coding) 및 H.265/HEVC 및 MPEG 표준의 예를 사용하여 설명된다. 그러나 개시된 기술의 적용 가능성은 H.264/AVC 또는 H.265/HEVC 시스템에만 제한되지는 않는다.
본 문서에서는 포인트 클라우드 데이터 처리를 위해 다양한 신택스 요소가 상이한 섹션들에 개시되어 있다. 그러나 동일한 이름을 가진 신택스 요소는 달리 명시되지 않는 한 다른 섹션에서 사용되는 것과 동일한 형식 및 신택스를 갖는 것으로 이해된다. 또한, 상이한 섹션 표제하에 설명된 상이한 신택스 요소들 및 구조들은 다양한 실시예들에서 함께 결합될 수 있다. 또한, 구체적인 구조는 구현 예로서 설명되지만, 신택스 구조의 다양한 엔트리의 순서는 본 문서에서 달리 언급되지 않는 한 변경될 수 있음을 이해할 것이다.
비디오 기반 포인트 클라우드 압축(video-based point cloud compression; VPCC 또는 V-PCC)은 포인트 클라우드 시각적 정보의 체적 인코딩을 나타낸다. 코딩된 포인트 클라우드 시퀀스(CPCS)를 포함하는 V-PCC 비트스트림은 시퀀스 파라미터 세트(sequence parameter set; SPS) 데이터, 패치 정보 비트스트림, 2D 비디오 인코딩된 점유 맵 비트스트림, 2D 비디오 인코딩된 기하구조 비트스트림, 및 0개 이상의 2D 비디오 인코딩된 속성 비트스트림을 운반하는 VPCC 단위로 구성된다.
사용자는 일반적으로 포인트 클라우드 객체(object)를 볼 수 있는 6자유도(degree of freedom; DoF)를 갖는다. 임의의 주어진 시점에서, 사용 가능한 포인트 클라우드 객체의 일부만이 사용자의 위치, 뷰포트, 시야 등에 따라 각 사용자에게 보여질 것이다. 많은 애플리케이션의 경우 전체 포인트 클라우드 객체 데이터가 전달, 디코딩 및 렌더링될 필요가 없다. 포인트 클라우드 객체의 부분적 액세스 및 전달을 지원하기 위해, DoF의 모든 가능성과 사용자가 포인트 클라우드 객체를 보고자 하는 방향을 완전히 커버하기 위해 하나 이상의 3D 공간적 서브영역을 식별하기 위한 지원이 필요하다.
V-PCC ISOBMFF 컨테이너의 예시적인 구조
V-PCC 기본 스트림의 V-PCC 단위는 그 유형에 기초해 ISOBMFF 파일 내의 개별 트랙에 매핑된다. 다중 트랙 ISOBMFF V-PCC 컨테이너에는 두 가지 유형의 트랙이 있다: V-PCC 트랙 및 V-PCC 컴포넌트 트랙.
V-PCC 트랙은 패치 정보 서브비트스트림 및 시퀀스 파라미터 세트를 포함하는 V-PCC 비트스트림에서 체적 시각적 정보를 운반하는 트랙이다.
V-PCC 컴포넌트 트랙은 V-PCC 비트스트림의 점유 맵, 기하구조, 및 속성 서브비트스트림에 대한 2D 비디오 인코딩 데이터를 운반하는 제약된 비디오 체계 트랙(video scheme tracks)이다.
이 레이아웃에 기초해, V-PCC ISOBMFF 컨테이너는 다음을 포함해야 한다:
(샘플 엔트리에) 시퀀스 파라미터 세트와 시퀀스 파라미터 세트 V-PCC 단위(단위 유형 VPCC_SPS) 및 패치 데이터 그룹 V-PCC 단위(단위 유형 VPCC_PDG)의 페이로드를 운반하는 샘플을 포함하는 V-PCC 트랙. 이 트랙은 비디오 압축 V-PCC 단위(즉, 단위 유형 VPCC_OVD, VPCC_GVD 및 VPCC_AVD)의 페이로드를 운반하는 다른 트랙에 대한 트랙 참조도 포함한다.
샘플이 점유 맵 데이터에 대한 비디오 코딩된 기본 스트림의 액세스 단위(즉, 유형 VPCC_OVD의 V-PCC 단위의 페이로드)을 포함하는 제약된 비디오 체계 트랙.
샘플이 기하구조 데이터에 대한 비디오 코딩된 기본 스트림의 액세스 단위(즉, 유형 VPCC_GVD의 V-PCC 단위의 페이로드)를 포함하는 하나 이상의 제약된 비디오 체계 트랙.
샘플이 속성 데이터에 대한 비디오 코딩된 기본 스트림의 액세스 단위(즉, 유형 VPCC_AVD의 V-PCC 단위의 페이로드)를 포함하는 0개 이상의 제약된 비디오 체계 트랙.
간단한 논의
본 출원에 개시된 기술은, ISO BMFF와 호환되는 파일 형식을 사용하여 포인트 클라우드를 비트스트림 표현으로 인코딩(및 디코딩)하는 데 사용될 수 있으며, 동시에 전방향(omnidirectional) 비디오 처리 기술을 허용하여 상이한 시점들의 전방향 비디오 간에 자연스러운 전환을 구현함으로써 사용자 시청 경험을 개선한다.
본 발명의 실시예의 기술적 솔루션은 전방향 비디오 트랙에 대한 뷰 그룹 정보를 제공하고, 동일한 시점에 속하는 모든 전방향 비디오 트랙이 뷰에 대응하는 트랙 그룹을 구성함을 표시한다. 전방향 비디오 시점 전환 프로세스에서, 시점 전환 전후의 전방향 비디오 윈도우 콘텐츠의 일관성이 보장되고, 상이한 시점들의 전방향 비디오 사이의 자연스러운 전환이 실현되어 사용자 시청 경험을 향상시킨다.
일반적으로, 개시된 기술에 기초한 실시예는 비디오 데이터 처리를 위해 사용될 수 있다. 일부 실시예에서, 전방향 비디오 데이터는 ISO(International Organization for Standardization) 기본 미디어 파일 형식에 기초한 파일에 저장된다. 그 중 예를 들어, 제약된 체계 정보 박스, 트랙 참조 박스, 트랙 그룹 박스와 같은 ISO 기본 미디어 파일 형식은 ISO/IEC JTC1/SC29/WG11 MPEG(Moving Picture Experts Group) MPEG-4, 파트 12 ISO 기본 미디어 파일 형식을 참조할 수 있다.
ISO 기본 파일 형식의 모든 데이터는 박스에 설치된다. MP4 파일에 의해 표현되는 ISO 기본 파일 형식은 여러 개의 박스로 구성되며 각 박스는 유형과 길이를 가지며 데이터 객체로서 간주될 수 있다. 박스는 컨테이너 박스라는 또 다른 박스를 포함할 수 있다. MP4 파일은 먼저 파일 형식의 마크업으로서 "ftyp" 유형의 박스 하나만 가지며 파일에 대한 일부 정보를 포함할 것이다. 서브박스가 미디어에 대한 메타 데이터 정보를 포함하는 컨테이너 박스인 "MOOV" 유형의 박스(Movie Box)가 하나만 있을 것이다. MP4 파일의 미디어 데이터는 "mdat" 유형의 미디어 박스(Media Data Box)에 포함되어 있는데, 이는 컨테이너 박스이기도 하며, 이 컨테이너 박스는 (미디어 데이터가 다른 파일을 참조할 때) 사용 가능하거나 그렇지 않을 수 있으며, 미디어 데이터의 구조는 메타데이터로 구성된다.
시한(timed) 메타데이터 트랙은 특정 샘플과 연관된 시한 메타데이터를 확립하는 ISO 기본 미디어 파일 형식(ISOBMFF)의 메커니즘이다. 시한 메타데이터는 미디어 데이터와 덜 결합되며 일반적으로 "설명적"이다.
본 문서에서는, 예를 들어, MPEG의 V-PCC 데이터와 같은 포인트 클라우드 데이터의 3D 또는 공간적 영역을 예를 들어, MP4 또는 ISOBMFF 형식과 같은 기존의 2D 비디오 형식과 호환되는 형식으로 표현할 수 있는 몇 가지 기술적 솔루션이 제공된다. 제안된 솔루션의 한 가지 유리한 양상은 새로운 기능의 구현을 위해 기존의 2D 비디오 기술 및 신택스를 재사용할 수 있다는 것이다.
솔루션 1
도 1의 예시적인 흐름도에 도시된 바와 같이, 이 방법은 다음 단계를 포함한다:
단계(S110)는 포인트 클라우드 데이터의 3D 영역 및 3D 영역의 하나 이상의 포인트가 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역을 결정하는 것을 포함한다.
단계(S120)는 2D 영역에 포함된 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙의 비디오 프레임 데이터로부터 포인트 클라우드 데이터의 3D 영역을 재구성하는 것을 포함한다.
일부 실시예에서, S110의 결정 동작은 3D 영역 내의 하나 이상의 포인트에 대응하는 하나보다 많은 2D 영역을 사용하여 수행될 수 있다.
일부 실시예에서, 포인트 클라우드 데이터의 공간적 영역(예컨대, 3D 영역)은 다음 정보 중 적어도 하나를 포함하거나 이를 사용하여 설명된다:
SpatialRegionInfoStruct()는 공간적 영역의 x, y, z 좌표 오프셋과 이 영역의 폭, 높이, 깊이를 포함하는 공간적 영역 정보와 소스 경계 박스 정보(source bounding box information)를 제공한다.
1) 포인트 클라우드 데이터의 x, y, z 좌표 오프셋, 및 포인트 클라우드 데이터의 폭, 높이 및 깊이를 포함하는 포인트 클라우드 데이터의 3D 경계 박스 파라미터(3D 공간적 위치);
2) 포인트 클라우드 데이터의 3D 영역의 x, y, z 좌표 오프셋, 및 포인트 클라우드 데이터의 3D 영역의 폭, 높이 및 깊이를 포함하는 포인트 클라우드 데이터의 3D 영역(또는 3D 블록) 파라미터;
3) 포인트 클라우드 데이터의 포인트 수;
4) 포인트 클라우드 데이터의 레이블
5) 포인트 클라우드의 속성 수 및 유형.
대안적으로, 포인트 클라우드 데이터의 공간적 영역(예컨대, 3D 영역)은 적어도 다음 정보를 포함한다:
1) 포인트 클라우드 데이터의 경계 박스의 크기를 표현하기 위해 사용되는 포인트 클라우드 데이터의 3D 경계 박스의 폭, 높이 및 깊이, 그리고 포인트 클라우드 데이터의 3D 경계 박스가 x, y 및 z 좌표 방향으로 분할되는 3D 블록의 수, 및 3D 블록의 폭, 높이 및 깊이; 또는
2) 포인트 클라우드 데이터를 포함하는 경계 구의 반경을 명시하는 포인트 클라우드 데이터의 3D 경계 구 반경, 그리고 포인트 클라우드 데이터의 3D 경계 구가 행, 열 및 레이어 방향으로 분할되는 3D 서브구(subspheres)의 수, 및 3D 서브구의 폭, 높이 및 두께.
SpatialRegionInfoStruct()는 포인트 클라우드 데이터의 3D 영역과, 3D 영역의 하나 이상의 포인트가 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역을 포함하는 포인트 클라우드 데이터의 공간적 영역 정보를 제공하며, 다음과 같이 정의된다:
신택스 예
aligned(8) SpatialRegionInfoStruct() {
unsigned int(16) num_points;
string label;
unsigned int(4) num_attributes;
for (i = 0; i < num_attributes; i++) {
unsigned int(4) attribute_type[i];
}
unsigned int(1) 3d_bounding_box_present_flag;
if (3d_bounding_box_present_flag) {
3DRegionStruct();
unsigned int(1) 2d_bounding_box_update_flag;
if (2d_bounding_box_update_flag)
2DRegionStruct();
}
}
aligned(8) class 3DRegionStruct(delta_included_flag) {
unsigned int(16) region_id;
unsigned int(16) 3d_bounding_box_x;
unsigned int(16) 3d_bounding_box_y;
unsigned int(16) 3d_bounding_box_z;
if (delta_included_flag) {
unsigned int(16) 3d_bounding_box_delta_x;
unsigned int(16) 3d_bounding_box_delta_y;
unsigned int(16) 3d_bounding_box_delta_z;
}
else {
unsigned int(16) 3d_bounding_box_width;
unsigned int(16) 3d_bounding_box_height;
unsigned int(16) 3d_bounding_box_depth;
}
}
aligned(8) class 2DRegionStruct() {
unsigned int(16) bounding_box_top;
unsigned int(16) bounding_box_left;
unsigned int(16) bounding_box_width;
unsigned int(16) bounding_box_height;
}
시맨틱스 예
number_points는 포인트 클라우드 데이터의 포인트의 수를 명시한다.
label은 포인트 클라우드 데이터의 레이블을 명시한다.
number_attributes는 포인트 클라우드 데이터의 속성 수를 명시한다.
attributes_type[i]는 포인트 클라우드 데이터의 i번째 속성의 유형을 명시한다.
3d_bounding_box_present_flag는 포인트 클라우드 데이터의 3D 경계 박스 파라미터가 존재하는지 여부를 나타낸다.
2d_bounding_box_update_flag는 포인트 클라우드 데이터의 3D 영역의 하나 이상의 포인트가 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역이 갱신되는지 여부를 나타낸다.
region_id는 포인트 클라우드 데이터의 3D 영역의 아이덴티티를 명시한다.
3d_bounding_box_x, 3d_bounding_box_y, 및 3d_bounding_box_z는 데카르트 좌표에서 소스 경계 박스의 3D 공간 부분에 대응하는 3D 영역의 x, y 및 z 오프셋의 최소값을 각각 명시한다.
delta_included_flag는 3DRegionStruct()에 3d_bounding_box_delta_x, 3d_bounding_box_height, 및 3d_bounding_box_delta_z가 존재하는지 여부를 나타낸다.
3d_bounding_box_delta_x, 3d_bounding_box_delta_y, 및 3d_bounding_box_delta_z는 데카르트 좌표에서 소스 경계 박스의 3D 공간 부분에 대응하는 3D 영역의 x, y 및 z 오프셋의 최대값을 각각 명시한다.
3d_bounding_box_width, 3d_bounding_box_height, 및 3d_bounding_box_depth는 데카르트 좌표에서 소스 경계 박스의 3D 공간 부분에 대응하는 공간적 영역의 폭, 높이, 및 깊이를 각각 나타낸다.
bounding_box_top, bounding_box_left는 직사각형 2D 영역의 상단 및 좌측으로부터 패치 프레임의 상단 모서리까지의 거리를 각각 명시한다.
bounding_box_width, bounding_box_height는 패치 프레임에서 직사각형 2D 영역의 폭과 높이를 각각 명시한다.
패치 프레임, 타일, 및 타일 그룹 분할은 다음과 같이 수행될 수 있다.
V-PCC 트랙으로부터의 패치 프레임은 타일과 타일 그룹으로 분할될 수 있다.
패치 프레임은 하나 이상의 타일 행과 하나 이상의 타일 열로 분할된다. 타일은 패치 프레임의 직사각형 영역이다.
타일 그룹은 패치 프레임의 다수의 타일을 포함한다.
일부 실시예에서, 직사각형 타일 그룹만이 지원된다. 이 모드에서, 타일 그룹은 패치 프레임의 직사각형 영역을 집합적으로 형성하는 패치 프레임의 타일 수를 포함한다.
따라서, 포인트 클라우드 데이터의 3D 영역의 하나 이상의 포인트가 위에 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역은 적어도 다음 분할 원칙에 기초해 생성된다:
1. 포인트 클라우드 데이터의 3D 영역의 하나 이상의 포인트가 위에 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역은 패치 프레임 상의 패치 위치에 기초해 정의된다.
2. 포인트 클라우드 데이터의 3D 영역의 하나 이상의 포인트가 위에 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역은, 타일로 분할되는 패치 프레임 상의 타일 위치에 기초해 정의된다.
3. 포인트 클라우드 데이터의 3D 영역의 하나 이상의 포인트가 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역은, 타일 그룹으로 분할되는 패치 프레임 상의 타일 그룹 위치에 기초해 정의된다.
이에 따라 포인트 클라우드 패치 프레임 상의 2D 영역은 다음 정보 중 적어도 하나를 포함한다:
1) 2D 경계 박스의 x, y 오프셋 및 2D 경계 박스의 폭, 높이를 포함하는 2D 영역 위치 파라미터.
2) 2D 영역 레이어 인덱스 정보.
3) 2D 영역 설명 정보(예컨대, 의도).
4) 포인트 클라우드 패치 정보(예컨대, 패치 수).
5) 포인트 클라우드 타일 정보.
6) 포인트 클라우드 타일 그룹 정보.
일부 실시예에서, S120의 포인트 클라우드 재구성 동작은 다음과 같이 수행될 수 있다.
포인트 클라우드 재구성 프로세스로의 입력은:
- 2D 영역에 포함된 매핑 정보를 패치할 블록,
- 공칭 해상도에서 대응하는 포인트 클라우드 컴포넌트 트랙의 디코딩된 기하구조 비디오 프레임,
- 공칭 해상도에서 대응하는 포인트 클라우드 컴포넌트 트랙의 디코딩된 속성 비디오 프레임,
- 공칭 해상도에서 대응하는 포인트 클라우드 컴포넌트 트랙의 디코딩된 점유 맵 비디오 프레임, 및/또는
- 출력 순서의 프레임 인덱스이다.
일부 실시예에서, 위의 입력은 포인트 클라우드 데이터의 시각적으로 정확한 커버리지를 제공하기 위한 업스케일링 동작에 기초할 수 있다.
포인트 클라우드 재구성 프로세스의 출력은:
- 3D 영역에 대해 재구성된 포인트 클라우드 프레임의 포인트 목록을 보유하는 컨테이너, 및
- 3D 영역에 대해 재구성된 포인트 클라우드의 포인트 수이다.
실시예 1
도 2에 도시된 바와 같이, 단계(S210)는 포인트 클라우드 트랙 샘플 엔트리 또는 샘플의 요소에 기초하여 포인트 클라우드의 3D 영역을 결정하는 것을 설명한다. 포인트 클라우드 트랙의 샘플 엔트리 및 샘플 형식은 대안적인 실시예와 함께 아래에서 설명된다.
V-PCC 트랙
기존의 평면 2D 비디오 정보를 저장하는 비디오 트랙과 달리 V-PCC 트랙은 3D 체적 시각적 정보를 저장하기 위한 새로운 유형의 트랙이다.
체적 시각적 트랙
각 체적 시각적 장면은 고유한 체적 시각적 트랙에 의해 표현된다. ISOBMFF 파일은 다수의 장면을 포함할 수 있으므로 다수의 체적 시각적 트랙이 이 파일에 있을 수 있다.
체적 비주얼 트랙은 ISO/IEC 14496-12에 정의된 MediaBox의 HandlerBox에서 체적 시각적 미디어 핸들러 유형 'volv'에 의해 식별될 수 있다.
V-PCC 트랙 샘플 엔트리
샘플 엔트리 유형: 'vpc1', 'vpcg'
컨테이너: SampleDescriptionBox('stsd')
필수적: A 'vpc1' or 'vpcg' 샘플 엔트리는 필수적이다
수량: 하나 이상의 샘플 엔트리가 있을 수 있다.
V-PCC 트랙은 'vpc1' 또는 'vpcg'의 샘플 엔트리 유형으로 VolumetricVisualSampleEntry를 확장하는 VPCCSampleEntry를 사용해야 한다.
VPCC 체적 샘플 엔트리는 여기에 정의된 VPCCDecoderConfigurationRecord를 포함하는 VPCCConfigurationBox를 포함해야 한다.
aligned(8) class VPCCDecoderConfigurationRecord {
unsigned int(8) configurationVersion = 1;
sample_stream_vpcc_header header;
unsigned int(8) numOfSetupUnits;
for (i=0; i<numOfSetupUnits; i++) {
sample_stream_vpcc_unit setupUnit;
}
}
class VPCCConfigurationBox extends Box('vpcc') {
VPCCDecoderConfigurationRecord() VPCCConfig;
}
대안적인 실시예 1
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의되는 VolumetricTileInfoBox()를 사용하여 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 패치 데이터, 2D 타일 데이터 또는 타일 그룹 데이터를 포함할 수 있는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry('vpc1') {
VPCCConfigurationBox config;
VPCCUnitHeaderHeaderBox unit;
VolumetricTileInfoBox();
}
aligned(8) class VolumetricTileInfoBox extends FullBox('voti',0,0) {
unsigned int(16) num_regions;
for (i = 0; i < num_regions; i++) {
SpatialRegionInfoStruct();
string region_intent[i];
unsigned int(4) layer_index[i];
unsigned int(4) mapping_type[i];
if (mapping_type[i] == 0) {
unsigned int(8) num_patches[i];
if (mapping_type[i] == 1) {
unsigned int(8) num_tiles[i];
for (j=0; j<num_tiles[i]; j++) {
unsigned int(32) tile_track_group_id[i][j];
if (mapping_type[i] == 2) {
unsigned int(8) num_tile_groups[i];
for (j=0; j<num_tile_groups[i]; j++) {
unsigned int(16) tile_group_id[i][j];
}
}
}
시맨틱스 예
num_regions은 포인트 클라우드 데이터의 3D 영역 수를 명시한다.
region_intent[i]는 포인트 클라우드 데이터의 region[i]의 의도를 명시한다.
layer_index[i]는 포인트 클라우드 데이터의 region[i]의 레이어 인덱스를 명시한다.
mapping_type[i]는 포인트 클라우드 데이터의 region[i] 매핑 유형을 명시한다.
num_patches[i]는 포인트 클라우드 데이터의 region[i]에 있는 패치 수를 명시한다.
num_tiles[i]는 포인트 클라우드 데이터의 region[i]에 있는 2D 타일 수를 명시한다.
tile_track_group_id[i][j]는 포인트 클라우드 데이터의 region[i]의 2D 타일 트랙 그룹 아이덴티티의 배열을 명시한다.
num_tile_groups[i]는 포인트 클라우드 데이터의 region[i]에 있는 타일 그룹의 수를 명시한다.
tile_group_id[i][j]는 포인트 클라우드 데이터의 region[i]의 타일 그룹 아이덴티티의 배열을 명시한다.
대안적인 실시예 2
포인트 클라우드 데이터의 3D 영역은 본 문서에 정의된 3DRegionToPatchBox()를 사용하여, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 패치 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry('vpc1') {
VPCCConfigurationBox config;
VPCCUnitHeaderHeaderBox unit;
3DRegionToPatchBox();
}
aligned(8) class 3DRegionToPatchBox extends FullBox('r2pa',0,0) {
unsigned int(16) num_regions;
for (i = 0; i < num_regions; i++) {
SpatialRegionInfoStruct();
string region_intent[i];
unsigned int(4) layer_index[i];
unsigned int(8) num_patches[i];
}
}
시맨틱스 예
num_regions은 포인트 클라우드 데이터의 3D 영역 수를 명시한다.
region_intent[i]는 포인트 클라우드 데이터의 region[i]의 의도를 명시한다.
layer_index[i]는 포인트 클라우드 데이터의 region[i]의 레이어 인덱스를 명시한다.
num_patches[i]는 포인트 클라우드 데이터의 region[i]에 있는 패치 수를 명시한다.
대안적인 실시예 3
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의된 3DRegionTo2DTileBox()를 사용하여, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 2D 타일 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry('vpc1') {
VPCCConfigurationBox config;
VPCCUnitHeaderHeaderBox unit;
3DRegionTo2DTileBox();
}
aligned(8) class 3DRegionTo2DTileBox extends FullBox('r2ti',0,0) {
unsigned int(16) num_regions;
for (i = 0; i < num_regions; i++) {
SpatialRegionInfoStruct();
string region_intent[i];
unsigned int(4) layer_index[i];
unsigned int(8) num_tiles[i];
for (j=0; j<num_tiles[i]; j++) {
unsigned int(16) tile_track_group_id[i][j];
}
}
}
시맨틱스 예
num_regions은 포인트 클라우드 데이터의 3D 영역 수를 명시한다.
region_intent[i]는 포인트 클라우드 데이터의 region[i]의 의도를 명시한다.
layer_index[i]는 포인트 클라우드 데이터의 region[i]의 레이어 인덱스를 명시한다.
num_tiles[i]는 포인트 클라우드 데이터의 region[i]에 있는 2D 타일 수를 명시한다.
tile_track_group_id[i][j]는 포인트 클라우드 데이터의 region[i]의 2D 타일 트랙 그룹 아이덴티티의 배열을 명시한다.
대안적인 실시예 4
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의된 3DRegionToPatchTileGroupBox()를 사용하여, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 타일 그룹 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry('vpc1') {
VPCCConfigurationBox config;
VPCCUnitHeaderHeaderBox unit;
3DRegionToPatchTileGroupBox();
}
aligned(8) class 3DRegionToPatchTileGroupBox extends FullBox('rptg',0,0) {
unsigned int(16) num_regions;
for (i = 0; i < num_regions; i++) {
SpatialRegionInfoStruct();
string region_intent[i];
unsigned int(4) layer_index[i];
unsigned int(8) num_tile_groups[i];
for (j=0; j<num_tile_groups[i]; j++) {
unsigned int(16) tile_group_id[i][j];
}
}
}
시맨틱스 예
num_regions은 포인트 클라우드 데이터의 3D 영역 수를 명시한다.
region_intent[i]는 포인트 클라우드 데이터의 region[i]의 의도를 명시한다.
layer_index[i]는 포인트 클라우드 데이터의 region[i]의 레이어 인덱스를 명시한다.
num_tile_groups[i]는 포인트 클라우드 데이터의 region[i]에 있는 타일 그룹의 수를 명시한다.
tile_group_id[i][j]는 포인트 클라우드 데이터의 region[i]의 타일 그룹 아이덴티티의 배열을 명시한다.
V-PCC 트랙 샘플 형식
V-PCC 트랙의 각 패치 샘플은 단일 포인트 클라우드 프레임에 대응한다. 각 컴포넌트 비디오 트랙의 프레임에 대응하는 샘플은 V-PCC 트랙 패치 샘플과 동일한 합성 시간(composition time)을 가져야 한다. 각 V-PCC 패치 샘플은 VPCC_PDG 유형의 단지 하나의 V-PCC 단위 페이로드만 포함해야 하며, 이 페이로드는 하나 이상의 패치 시퀀스 단위 페이로드를 포함할 수 있다.
대안적인 실시예 1
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의되는 VolumetricTileInfoBox()를 사용하여 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 패치 데이터, 2D 타일 데이터 또는 타일 그룹 데이터를 포함할 수 있는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSample {
unsigned int VPCCLength = sample_size;
for (i=0; i< VPCCLength; ) {
sample_stream_vpcc_unit unit;
i += (ssvh_unit_size_precision_bytes_minus1 + 1) + unit.ssvu_vpcc_unit_size;
}
VolumetricTileInfoBox();
}
시맨틱스 예
vpcc_unit_payload_size는 vpcc_unit_payload_size에 대한 바이트 수를 제공한다.
vpcc_unit_payload()는 VPCC_PDG 유형의 V-PCC 단위의 페이로드이며 하나의 patch_data_group() 인스턴스를 포함해야 한다.
대안적인 실시예 2
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의된 3DRegionToPatchBox()를 사용하여, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 패치 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSample
{
unsigned int VPCCLength = sample_size;
for (i=0; i< VPCCLength; ) {
sample_stream_vpcc_unit unit;
i += (ssvh_unit_size_precision_bytes_minus1 + 1) + unit.ssvu_vpcc_unit_size;
}
3DRegionToPatchBox();
}
대안적인 실시예 3
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의된 3DRegionTo2DTileBox()를 사용하여, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 2D 타일 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSample
{
unsigned int VPCCLength = sample_size;
for (i=0; i< VPCCLength; ) {
sample_stream_vpcc_unit unit;
i += (ssvh_unit_size_precision_bytes_minus1 + 1) +
unit.ssvu_vpcc_unit_size;
}
3DRegionTo2DTileBox();
}
대안적인 실시예 4
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의된 3DRegionToPatchTileGroupBox()를 사용해, 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 타일 그룹 데이터를 포함하는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
aligned(8) class VPCCSample
{
unsigned int VPCCLength = sample_size;
for (i=0; i< VPCCLength; ) {
sample_stream_vpcc_unit unit;
i += (ssvh_unit_size_precision_bytes_minus1 + 1) +
unit.ssvu_vpcc_unit_size;
}
3DRegionToPatchTileGroupBox();
}
실시예 2
도 3에 도시된 바와 같이 단계(S310)는 시한 메타데이터 트랙(timed metadata track)의 요소에 기초하여 포인트 클라우드 데이터의 3D 영역을 결정하는 단계를 설명하고, 시한 메타데이터 트랙은 포인트 클라우드 트랙에 대한 특정 트랙 참조를 포함한다. 타이밍 메타데이터 트랙은 대안적인 실시예와 함께 아래에서 설명된다.
V-PCC 시한 메타데이터 트랙
V-PCC 공간적 영역 시한 메타데이터 트랙은 'cdsc' 트랙 참조 유형의 TrackReferenceBox를 활용하여 각각의 V-PCC 트랙에 링크되며, 이는 시간에 따라 동적으로 변화하는 포인트 클라우드 데이터의 대응 공간적 영역 정보를 나타낸다.
V-PCC 시한 메타데이터 트랙의 샘플 엔트리와 샘플 형식은 다음과 같이 정의된다:
포인트 클라우드 데이터의 3D 영역은 다음과 같이 정의되는 VolumetricTileInfoBox()를 사용하여 포인트 클라우드 데이터의 3D 영역을 재구성하기 위한 패치 데이터, 2D 타일 데이터 또는 타일 그룹 데이터를 포함할 수 있는 포인트 클라우드 트랙 패치 프레임의 하나 이상의 2D 영역과 연관된다.
신택스 예
class VPCCSpatialRegionSampleEntry extends MetaDataSampleEntry('pcsr') {
VolumetricTileInfoBox();
}
aligned(8) VPCCSpatialRegionSample() {
VolumetricTileInfoBox();
}
솔루션 2
이 예는 포인트 클라우드 데이터 처리 방법을 제공한다. 도 4에 도시된 바와 같이, 방법은 다음 단계들을 포함한다:
단계(S410)는 포인트 클라우드 데이터의 3D 영역 및 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 것을 포함한다.
단계(S420)는 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 비디오 프레임 데이터 및 대응하는 포인트 클라우드 트랙 패치 프레임 데이터에 기초하여, 포인트 클라우드 데이터의 3D 영역을 재구성하는 것을 포함한다.
일부 실시예에서, 포인트 클라우드 데이터의 공간적 영역(예컨대, 3D 영역)은 솔루션 1과 관련하여 이전에 설명된 형식과 유사한 형식을 포함하거나 이 형식을 사용하여 설명된다(단락 [0042] 참조).
일부 실시예에서, S420의 포인트 클라우드 재구성 동작은 다음과 같이 수행될 수 있다.
포인트 클라우드 재구성 프로세스로의 입력은:
- 공칭 해상도에서 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 디코딩된 기하구조 비디오 프레임,
- 공칭 해상도에서 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 디코딩된 속성 비디오 프레임,
- 공칭 해상도에서 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 디코딩된 점유 맵 비디오 프레임,
- 대응 포인트 클라우드 트랙의 매핑 정보를 패치하기 위한 블록, 및/또는
- 출력 순서의 프레임 인덱스이다.
일부 실시예에서, 비디오 및 다른 파라미터와 포인트 클라우드 데이터 사이의 정확한 매핑을 제공하기 위해 업스케일링이 위의 입력에 순차적으로 적용될 수 있다.
포인트 클라우드 재구성 프로세스의 출력은:
- 3D 영역에 대해 재구성된 포인트 클라우드 프레임의 포인트 목록을 보유하는 컨테이너, 및
- 3D 영역에 대해 재구성된 포인트 클라우드의 포인트 수이다.
실시예 3
도 5에 도시된 바와 같이, 단계(S510)는 포인트 클라우드 컴포넌트 트랙의 트랙 그룹 데이터 박스 내의 요소에 기초하여 포인트 클라우드 데이터의 3D 영역 및 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 것을 포함하고, 포인트 클라우드 컴포넌트 트랙 그룹은 점유 맵 트랙, 기하구조 트랙, 또는 속성 트랙을 포함한다.
비디오 인코딩된 V-PCC 컴포넌트 트랙
플레이어 측에서 포인트 클라우드를 재구성하지 않고 속성, 기하구조, 또는 점유 맵 트랙으로부터 디코딩된 프레임을 디스플레이하는 것은 의미가 없을 수 있으므로, 이러한 비디오 코딩된 트랙에 대해 제약된 비디오 체계 유형이 정의된다.
V-PCC 컴포넌트 비디오 트랙은 파일에서 제약된 비디오로서 표현될 수 있으며 그 제약된 비디오 샘플 엔트리의 RestrictedSchemeInfoBox의 SchemeTypeBox의 scheme_type 필드에서 'pccv'에 의해 식별된다.
VPCCUnitHeaderBox를 포함하는 V-PCC 컴포넌트 비디오 트랙에 SchemeInformationBox가 있어야 한다.
V-PCC 컴포넌트 비디오 트랙은 적어도 2D 비디오 인코딩된 점유 맵 트랙, 2D 비디오 인코딩된 기하구조 트랙, 및 0개 이상의 2D 비디오 인코딩된 속성 트랙을 포함한다.
대안적인 실시예 1
포인트 클라우드 데이터의 동일한 공간적 영역에 대응하는 모든 V-PCC 컴포넌트 트랙(점유 맵 트랙, 기하구조 트랙 및 속성 트랙)은 특정 유형의 VPCCTrackGroupBox('pctg')를 모든 컴포넌트 트랙에 추가하여 ISO/IEC 14496-12의 트랙 그룹화 도구를 사용하여 함께 그룹화될 수 있다. V-PCC 컴포넌트 비디오 트랙의 VPCCTrackGroupBox는 선택적 구현과 함께 아래에 설명되어 있다.
VPCCTrackGroupBox
박스 유형: 'pctg'
컨테이너: TrackBox
필수적: 아니요
수량: 0 또는 1
'pctg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox는 V-PCC 컴포넌트 트랙 그룹을 나타내는 VPCCTrackGroupBox이다.
'pctg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내에서 track_group_id의 동일한 값을 갖는 V-PCC 컴포넌트 트랙은 (예컨대, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는) 3D 공간적 관계를 갖는 동일한 트랙 그룹에 속한다. 'pctg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내의 track_group_id는 포인트 클라우드 데이터의 공간적 영역의 식별자로서 사용될 수 있다.
동일한 공간적 영역에 대응하는 V-PCC 컴포넌트 트랙은 track_group_type 'pctg'를 위한 track_group_id의 동일한 값을 가지며, 한 공간적 영역으로부터의 트랙의 track_group_id는 임의의 다른 공간적 영역의 트랙의 track_group_id와 다르다.
신택스 예
aligned(8) class VPCCTrackGroupBox extends TrackGroupTypeBox('pctg') {
SpatialRegionInfoStruct();
}
V-PCC 컴포넌트 비디오 트랙은 'pctg'와 동일한 track_group_type, 즉 VPCCTrackGroupBox를 갖는 TrackGroupTypeBox를 포함할 수 있으며, VPCCTrackGroupBox를 포함하는 V-PCC 컴포넌트 비디오 트랙에 대한 선택적 실시예는 후술된다.
도 6은 일 실시예에 따른 V-PCC 컴포넌트 트랙의 VPCCTrackGroupBox의 개략도이다.
도 6에 도시된 바와 같이, 포인트 클라우드 데이터 파일은 하나의 점유 맵 컴포넌트 비디오 트랙, 하나의 기하구조 컴포넌트 비디오 트랙, 및 0개 이상의 속성 컴포넌트 비디오 트랙을 포함한다. 다른 V-PCC 컴포넌트 비디오 트랙은 'pctg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox, 즉, VPCCTrackGroupBox를 포함하고, 동일한 track_group_id 값을 가지며, 이는 V-PCC 점유 맵, 기하구조, 및 속성 컴포넌트 비디오 트랙이 포인트 클라우드 데이터의 동일한 공간적 영역(예컨대, 포인트 클라우드의 3D 영역)에 대응하는 V-PCC 컴포넌트 트랙 그룹을 형성함을 나타낸다.
대안적인 실시예 2
포인트 클라우드 데이터의 동일한 공간적 영역에 대응하는 모든 V-PCC 컴포넌트 2D 타일 트랙(점유 맵 2D 타일 트랙, 기하구조 2D 타일 트랙 및 속성 2D 타일 트랙)은 특정 유형의 VPCC2DTileGroupBox('pcti')를 모든 컴포넌트 2D 타일 트랙에 추가하여 ISO/IEC 14496-12의 트랙 그룹화 도구를 사용하여 함께 그룹화될 수 있다. V-PCC 컴포넌트 비디오 트랙의 VPCC2DTileGroupBox는 선택적 구현과 함께 아래에 설명되어 있다.
VPCC2DTileGroupBox
박스 유형: 'pcti'
컨테이너: TrackBox
필수적: 아니요
수량: 0 또는 1
'pcti'와 동일한 track_group_type을 가진 TrackGroupTypeBox는 V-PCC 컴포넌트 2D 타일 트랙 그룹을 나타내는 VPCC2DtileGroupBox이다.
'pcti'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내에서 track_group_id의 동일한 값을 갖는 V-PCC 컴포넌트 2D 타일 트랙은 (예컨대, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는) 3D 공간적 관계를 갖는 동일한 트랙 그룹에 속한다. 'pcti'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내의 track_group_id는 포인트 클라우드 데이터의 공간적 영역의 식별자로서 사용될 수 있다.
동일한 공간적 영역에 대응하는 V-PCC 컴포넌트 2D 타일 트랙은 track_group_type 'pcti'를 위한 track_group_id의 동일한 값을 가지며, 한 공간적 영역으로부터의 트랙의 track_group_id는 임의의 다른 공간적 영역의 트랙의 track_group_id와 다르다.
신택스 예
aligned(8) class VPCC2DTileGroupBox extends TrackGroupTypeBox('pcti') {
SpatialRegionInfoStruct();
}
대안적인 실시예 3
동일한 포인트 클라우드 3D 영역에 대응하는 모든 포인트 클라우드 컴포넌트(기하구조 컴포넌트, 점유 그래프 컴포넌트, 속성 컴포넌트)에서 포인트 클라우드 컴포넌트 타일 그룹 트랙은 특정 유형의 트랙 그룹 데이터 박스(트랙 그룹 박스)로 구성될 수 있다. 3D 영역에 대한 포인트 클라우드 컴포넌트 타일 그룹 트랙 그룹. 다음은 선택적 구현과 함께 포인트 클라우드 컴포넌트 타일 그룹 트랙의 포인트 클라우드 컴포넌트 타일 그룹 데이터 박스를 설명한다.
포인트 클라우드 데이터의 동일한 공간적 영역에 대응하는 모든 V-PCC 컴포넌트 타일 그룹 트랙(점유 맵 타일 그룹 트랙, 기하구조 타일 그룹 트랙, 및 속성 타일 그룹 트랙)은 특정 유형의 VPCCTileGroupBox('ptgg')를 모든 컴포넌트 2D 타일 트랙에 추가하여 ISO/IEC 14496-12의 트랙 그룹화 도구를 사용하여 함께 그룹화될 수 있다. V-PCC 컴포넌트 비디오 트랙의 VPCCTileGroupBox는 선택적 구현과 함께 아래에 설명되어 있다.
VPCCTileGroupBox
박스 유형: 'ptgg'
컨테이너: TrackBox
필수적: 아니요
수량: 0 또는 1
트랙 그룹 유형(track_group_type)이 'ptgg'와 동일한 트랙 그룹 유형 데이터 박스(TrackGroupTypeBox)는 포인트 클라우드 컴포넌트에서 포인트 클라우드 컴포넌트 타일 그룹 트랙 그룹을 나타내는 포인트 클라우드 컴포넌트 타일 그룹의 그룹 데이터 박스이다. 동일한 트랙 그룹 식별자(track_group_id) 값을 갖는 포인트 클라우드 컴포넌트 타일 그룹의 그룹 데이터 박스의 모든 포인트 클라우드 컴포넌트는 공간적 영역 관계(예컨대, 동일한 포인트 클라우드에 대응하는 3D 영역)를 갖는 트랙 그룹에 속한다. 포인트 클라우드 컴포넌트 그룹의 그룹 데이터 박스의 트랙 그룹 식별자는 포인트 클라우드 공간적 영역 식별자(region_id)로서 또한 사용될 수 있으며, 상이한 포인트 클라우드 공간적 영역들에 대응하는 트랙 그룹 식별자의 값은 달라야 한다.
'ptgg'와 동일한 track_group_type을 가진 TrackGroupTypeBox는 V-PCC 컴포넌트 타일 그룹 트랙 그룹을 나타내는 VPCCTileGroupBox이다.
'pcgg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내에서 track_group_id의 동일한 값을 갖는 V-PCC 컴포넌트 타일 그룹 트랙은 (예컨대, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는) 3D 공간적 관계를 갖는 동일한 트랙 그룹에 속한다. 'ptgg'와 동일한 track_group_type을 갖는 TrackGroupTypeBox 내의 track_group_id는 포인트 클라우드 데이터의 공간적 영역의 식별자로서 사용될 수 있다.
동일한 공간적 영역에 대응하는 V-PCC 컴포넌트 타일 그룹 트랙은 track_group_type 'ptgg'를 위한 track_group_id의 동일한 값을 가지며, 한 공간적 영역으로부터의 트랙의 track_group_id는 임의의 다른 공간적 영역의 트랙의 track_group_id와 다르다.
신택스 예
aligned(8) class PCCTileGroupBox extends TrackGroupTypeBox('ptgg') {
SpatialRegionInfoStruct();
unsigned int(16) tile_group_id;
}
시맨틱스 예
tile_group_id는 V-PCC 컴포넌트 타일 그룹 트랙 그룹의 타일 그룹 아이덴티티를 명시한다.
실시예 4
V-PCC 시한 메타데이터 트랙
V-PCC 공간적 영역 시한 메타데이터 트랙은 'cdsc' 트랙 참조 유형의 TrackReferenceBox를 활용하여 각각의 V-PCC 컴포넌트 트랙 그룹에 연결되며, 이는 시간에 따라 동적으로 변화하는 포인트 클라우드 데이터의 대응 공간적 영역 정보를 나타낸다.
V-PCC 컴포넌트 트랙 그룹의 track_group_id 값에 대한 'cdsc' 트랙 참조를 포함하는 V-PCC 공간적 영역 시한 메타데이터 트랙은 트랙 그룹의 각 V-PCC 컴포넌트 트랙을 개별적으로 설명한다.
V-PCC 시한 메타데이터 트랙의 샘플 엔트리와 샘플 형식은 다음과 같이 정의된다:
신택스 예
class VPCCSpatialRegionSampleEntry extends MetaDataSampleEntry('pcsr') {
SpatialRegionInfoStruct();
}
aligned(8) VPCCSpatialRegionSample() {
SpatialRegionStruct();
}
도 6은 비디오 샘플이 미디어 데이터로서 배열된 예시적인 파일 형식을 도시한다. 비디오 샘플은 트랙에 따라 순서가 지정된다(trak으로 표시). 트랙의 한 예는 트랙 그룹 엔트리 및 특정 트랙 그룹 유형(pctg)에 기초해 식별되는 포인트 클라우드 데이터의 기하구조 트랙을 포함한다. 도시된 트랙의 또 다른 예는 포인트 클라우드 데이터의 속성 트랙이다. 트랙의 제3 예는 포인트 클라우드 데이터의 점유 맵 트랙이다. 예를 들어, 점유 맵은 3D 영역의 다양한 포인트를 대응하는 하나 이상의 2D 영역으로 매핑하는 데이터를 포함한다.
도 7은 본 발명의 일 실시예에 따른 V-PCC 컴포넌트 트랙 그룹에 대한 V-PCC 공간적 영역 시한 메타데이터 트랙 참조의 개략도이다.
도 7에 도시된 바와 같이, TrackReferenceBox는 'pcsr'과 동일한 샘플 엔트리 유형을 갖는 V-PCC 시한 메타데이터 트랙에 포함되고, TrackReferenceBox의 track_IDs[]는 V-PCC 컴포넌트 트랙 그룹의 track_group_id 값을 참조한다. TrackReferenceBox의 reference_type은 'cdsc' 값을 취하고, 시한 메타데이터 트랙이 참조된 V-PCC 컴포넌트 트랙 그룹의 콘텐츠 설명 정보를 포함함을 나타낸다. 이 실시예에서, V-PCC 공간적 영역 시한 메타데이터 비디오 트랙은, V-PCC 컴포넌트 트랙 그룹의 track_group_type이 'pctg'와 동일한 V-PCC 컴포넌트 트랙 그룹의 트랙 그룹 식별자를 참조하며, 이는 시간에 따라 동적으로 변화하는 포인트 클라우드 데이터의 대응하는 공간적 영역 정보를 나타낸다.
일부 실시예는 바람직하게는 다음과 같은 기술적 솔루션을 구현할 수 있다.
솔루션 1. 포인트 클라우드 데이터 처리 방법에 있어서,
포인트 클라우드 데이터의 3D 영역 및 3D 영역의 하나 이상의 포인트가 투영되는 포인트 클라우드 트랙 패치 프레임의 2D 영역을 결정하는 단계; 상기 2D 영역에 포함된 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙의 비디오 프레임 데이터로부터 포인트 클라우드 데이터의 3D 영역을 재구성하는 단계를 포함하는, 포인트 클라우드 데이터 처리 방법. 이 솔루션의 예는 솔루션 1 및 도 1을 참조하여 설명된다.
솔루션 2. 솔루션 1에 있어서, 상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역의 하나 이상의 포인트가 투영되는 상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역은, 포인트 클라우드 트랙 샘플 엔트리 또는 샘플의 요소에 기초해 결정되는 것인, 포인트 클라우드 데이터 처리 방법. 이 솔루션의 예는 도 2를 참조하여 설명된다.
솔루션 3. 솔루션 1 또는 솔루션 2에 있어서, 특정 박스 유형에 따라 상기 포인트 클라우드 트랙에서 패치 데이터 박스를 식별하는 단계를 포함하고, 상기 패치 데이터 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 패치 데이터를 포함함을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 4. 솔루션 1 또는 솔루션 2에 있어서, 특정 박스 유형에 따라 상기 포인트 클라우드 트랙에서 2D 타일 데이터 박스를 식별하는 단계를 포함하고, 상기 2D 타일 데이터 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역의 2D 타일 데이터를 포함함을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 5. 솔루션 1 또는 솔루션 2에 있어서, 특정 박스 유형에 따라 상기 포인트 클라우드 트랙에서 타일 그룹 데이터 박스를 식별하는 단계를 포함하고, 상기 타일 그룹 데이터 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 타일 그룹 데이터를 포함함을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 6. 솔루션 1에서, 시한 메타데이터 트랙의 요소에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역을 결정하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 트랙에 대한 특정 트랙 참조를 포함하는 것인, 포인트 클라우드 데이터 처리 방법. 도 3 및 관련 텍스트는 이 솔루션의 일부 추가 특징 및 실시예를 설명했다.
솔루션 7. 솔루션 1 또는 솔루션 6에 있어서, 특정 샘플 엔트리 유형에 따라 상기 시한 메타데이터 트랙을 식별하는 단계를 포함하고, 상기 시한 메타데이터 트랙은, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 다음 정보: 패치 데이터, 2D 타일 데이터, 타일 그룹 데이터 중 하나를 포함함을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 8. 포인트 클라우드 데이터 처리 방법에 있어서,
포인트 클라우드 데이터의 3D 영역 및 상기 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계; 및 상기 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙으로부터의 비디오 프레임 데이터 및 대응하는 포인트 클라우드 트랙 패치 프레임 데이터에 기초하여, 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하는 단계를 포함하는, 포인트 클라우드 데이터 처리 방법. 도 4, 솔루션 2 및 관련 텍스트는 이 솔루션의 일부 실시예 및 특징을 설명한다.
솔루션 9. 솔루션 8에 있어서, 상기 3D 영역을 결정하는 단계는, 포인트 클라우드 컴포넌트 트랙의 상기 트랙 그룹 데이터 박스 내의 요소에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계를 포함하고, 상기 포인트 클라우드 컴포넌트 트랙 그룹은 점유 맵 트랙, 기하구조 트랙, 또는 속성 트랙을 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 10. 솔루션 8 또는 솔루션 9에 있어서, 특정 트랙 그룹 유형에 따라 상기 포인트 클라우드 컴포넌트 트랙에서 트랙 그룹 데이터 박스를 식별하는 단계를 포함하고, 상기 트랙 그룹 데이터 박스는 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대응하는 상기 포인트 클라우드 데이터의 상기 3D 영역을 표시하며, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는 포인트 데이터 컴포넌트 트랙의 트랙 그룹 데이터 박스는 동일한 트랙 그룹 아이덴티티를 갖는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 11. 솔루션 8 또는 솔루션 9에 있어서, 상기 특정 트랙 그룹 유형에 따라 상기 포인트 클라우드 컴포넌트 2D 타일 트랙에서 트랙 그룹 데이터 박스를 식별하는 단계를 포함하고, 상기 트랙 그룹 데이터 박스는 상기 포인트 클라우드 컴포넌트 2D 타일 트랙 그룹에 대응하는 상기 포인트 클라우드 데이터의 상기 3D 영역을 표시하며, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는 포인트 클라우드 컴포넌트 2D 타일 트랙의 트랙 그룹 데이터 박스는 동일한 트랙 그룹 아이덴티티를 갖는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 12. 솔루션 8 또는 솔루션 9에 있어서, 상기 특정 트랙 그룹 유형에 따라 상기 포인트 클라우드 컴포넌트 타일 그룹 트랙에서 트랙 그룹 데이터 박스를 식별하는 단계를 포함하고, 상기 트랙 그룹 데이터 박스는 상기 포인트 클라우드 컴포넌트 타일 그룹 트랙 그룹에 대응하는 상기 포인트 클라우드 데이터의 상기 3D 영역을 표시하며, 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는 포인트 클라우드 컴포넌트 타일 그룹 트랙의 상기 트랙 그룹 데이터 박스는 동일한 트랙 그룹 아이덴티티를 갖는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 13. 솔루션 8에 있어서, 상기 결정하는 단계는, 시한 메타데이터 트랙의 요소에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대한 특정 트랙 참조를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 14. 솔루션 8 또는 솔루션 13에 있어서, 특정 샘플 엔트리 유형에 따라 상기 시한 메타데이터 트랙을 식별하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대응하는 포인트 클라우드 데이터의 상기 3D 영역을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 15. 솔루션 1 내지 솔루션 14 중 어느 한 솔루션에 있어서, 상기 3D 영역은 상기 포인트 클라우드 트랙 패치 프레임의 하나보다 많은 2D 영역 상에 투영되는 포인트를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 16. 솔루션 1 내지 15 중 어느 한 솔루션에 있어서, 포인트 클라우드 데이터의 3D 영역에 대한 정보는, 상기 3D 영역의 x, y, z 좌표 오프셋 및/또는 상기 3D 영역의 폭, 높이, 및 깊이를 포함하는 3D 경계 박스 파라미터를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 17. 솔루션 1 내지 솔루션 16 중 어느 한 솔루션에 있어서, 포인트 클라우드 데이터의 3D 영역은 다음 정보: 포인트 클라우드 데이터의 레이블; 포인트 클라우드 데이터의 포인트 수; 또는 포인트 클라우드의 속성 수와 유형 중 하나를 더 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 18. 솔루션 1 내지 솔루션 17 중 어느 한 솔루션에 있어서, 상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역에 대한 정보는, 상기 2D 영역의 x, y 좌표 오프셋, 및/또는 상기 2D 영역의 폭 및 높이를 포함하는 2D 경계 박스 파라미터를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 19. 솔루션 1 내지 솔루션 18 중 어느 한 솔루션에 있어서, 포인트 클라우드 트랙 패치 프레임의 2D 영역은 다음 정보: 레이어 정보; 설명 정보; 패치 수; 2D 타일 정보; 또는 타일 그룹 정보 중 하나를 더 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
솔루션 20. 솔루션 1 내지 솔루션 19 중 어느 한 솔루션에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
솔루션 21. 상술된 방법을 프로세서에 의해 실행시키기 위한 코드가 저장된 컴퓨터 판독가능 매체.
도 6 및 도 7은 여기에 설명된 포인트 클라우드 데이터 처리 기술을 용이하게 하기 위해 사용되는 파일 형식의 예를 도시한다.
도 8은 포인트 클라우드 데이터의 처리에 사용되는 장치(800)의 일 예의 블록도이다. 장치(800)는 본 문서에 설명된 방법을 구현하도록 프로그래밍된 프로세서(802)를 포함한다. 장치(800)는 예를 들어, 데이터 디코딩, 컴포넌트 트랙 액세스 등과 같은 특정 기능을 수행하기 위한 전용 하드웨어 회로를 더 포함할 수 있다. 장치(800)는 또한 프로세서를 위한 실행 코드 및/또는 2D 체적 데이터 및 본 문서에 설명된 다양한 신택스 요소에 부합하는 데이터를 포함하는 다른 데이터를 저장하는 메모리를 포함할 수 있다.
일부 실시예에서, 3D 포인트 클라우드 데이터 인코더는 본 문서에 설명된 신택스 및 시맨틱스를 사용하여 3D 공간 정보를 인코딩함으로써 3D 포인트 클라우드의 비트스트림 표현을 생성하도록 구현될 수 있다.
포인트 클라우드 데이터 인코딩 또는 디코딩 장치는 컴퓨터, 예를 들어, 랩톱, 태블릿, 또는 게임 디바이스와 같은 사용자 디바이스의 일부로서 구현될 수 있다.
본 문서에 설명된 개시된 그리고 다른 실시예들, 모듈들 및 기능적 동작들은, 디지털 전자 회로들에서, 또는 이 문서에서 개시된 구조물들, 및 이들의 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어들, 또는 이들의 하나 이상의 조합에서 구현될 수 있다. 개시된 및 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체 상에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 메모리 디바이스, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 구성, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터를 프로세싱하기 위한 모든 장치, 디바이스, 및 기계를 포함하며, 예를 들어, 프로그램 가능한 프로세서, 컴퓨터 또는 다수의 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 추가하여, 해당(in question) 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인공적으로 생성된 신호, 예를 들어, 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하기 위해 생성되는 기계 생성(machine-generated) 전기, 광학 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로서 또한 알려짐)은, 컴파일되거나 인터프리트된 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 컴퓨터 프로그램은, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 비롯한 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 해당하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부에, 해당 프로그램에 전용된(dedicated) 단일 파일에, 또는 다수의 조정된 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터에, 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분산되고 통신 네트워크에 의해 상호 접속된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
이 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치도 이 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적당한 프로세서들이, 예로서, 범용 마이크로프로세서 및 전용 마이크로프로세서 모두와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 메모리들 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크를 포함하거나, 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하기 위해, 또는 수신 및 송신 모두를 위해 결합되어 동작할 수 있거나, 둘 다일 수 있다. 그러나 컴퓨터는 이러한 디바이스를 가질 필요가 없다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기 위해 적합한 컴퓨터 판독가능 매체는, 예로서, 반도체 메모리 디바이스, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스; 자기 디스크, 예를 들어, 내장형 하드 디스크 또는 이동식 디스크; 광자기 디스크; 및 CD ROM 디스크 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 매체, 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완될 수 있거나 그에 포함될 수 있다.
이 특허 문서는 많은 세부사항을 포함하지만, 이들은 임의의 발명의 또는 청구될 수 있는 것의 범위에 대한 제한들이 아니라, 오히려, 특정 발명의 특정 실시예에 특유할 수 있는 특징의 설명으로서 해석되어야 한다. 별도의 실시예의 상황에서 이 특허 문서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 단일의 실시예의 상황에서 설명되는 다양한 특징은 또한, 다수의 실시예들에서 별도로 또는 임의의 적당한 서브-조합으로 구현될 수 있다. 또한, 특징들은 특정 조합들에서 작동하는 것으로 위에서 설명되고 초기에 그렇게 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부의 경우들에 있어서 조합으로부터 배제될 수 있고, 이 청구된 조합은 서브-조합 또는 서브-조합의 변형에 대한 것이 될 수 있다.
유사하게, 동작들은 특별한 순서로 도면들에서 묘사되어 있지만, 이것은 바람직한 결과들을 달성하기 위하여, 이러한 동작들이 도시된 특별한 순서로 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행될 것을 요구하는 것으로서 이해되지는 말아야 한다. 또한, 이 특허 문서에서 설명된 실시예에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되지 말아야 한다.
단지 몇 가지 구현 및 예시만이 설명되고, 다른 구현, 개선, 및 변형은 이 특허 명세서에서 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (21)

  1. 포인트 클라우드 데이터 처리 방법에 있어서,
    포인트 클라우드 데이터의 3D 영역을 결정하는 단계;
    포인트 클라우드 트랙 패치 프레임(point cloud track patch frame)의 2D 영역을 결정하는 단계 - 상기 3D 영역의 상기 포인트 클라우드 데이터의 하나 이상의 포인트는 상기 2D 영역으로 투영되고,
    상기 2D 영역은 다음 분할 원칙들: 1) 상기 포인트 클라우드 트랙 패치 프레임 상의 패치 위치에 기초해 상기 2D 영역을 정의하는 것, 또는 2) 상기 포인트 클라우드 트랙 패치 프레임 상의 타일 위치에 기초해 상기 2D 영역을 정의하는 것 중 적어도 하나의 분할 원칙에 기초하여 생성됨 - ;
    특정 박스 유형에 따라 상기 포인트 클라우드 트랙 패치 프레임에서 제1 박스 - 상기 제1 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 패치 데이터를 포함하는 것을 표시함 - 를 식별하거나, 상기 특정 박스 유형에 따라 상기 포인트 클라우드 트랙 패치 프레임에서 제2 박스 - 상기 제2 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역의 2D 타일 데이터를 포함하는 것을 표시함 - 를 식별하는 단계; 및
    상기 2D 영역에 포함된 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙들의 비디오 프레임 데이터로부터 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하는 단계
    를 포함하는, 포인트 클라우드 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역의 하나 이상의 포인트가 위에 투영되는 상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역은, 샘플 또는 포인트 클라우드 트랙 샘플 엔트리의 요소에 기초해 결정되는 것인, 포인트 클라우드 데이터 처리 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 3D 영역을 결정하는 단계는,
    시한 메타데이터 트랙(timed metadata track)의 요소들에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역을 결정하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 트랙 패치 프레임에 대한 특정 트랙 참조를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  5. 제4항에 있어서,
    특정 샘플 엔트리 유형에 따라 상기 시한 메타데이터 트랙을 식별하는 단계를 포함하며, 상기 시한 메타데이터 트랙은, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 다음 정보: 패치 데이터, 2D 타일 데이터, 타일 그룹 데이터 중 하나를 포함하는 것을 나타내는 것인, 포인트 클라우드 데이터 처리 방법.
  6. 제1항에 있어서,
    상기 포인트 클라우드 데이터의 상기 3D 영역에 대한 정보는 3D 경계 박스 파라미터들을 포함하고,
    상기 3D 경계 박스 파라미터들은,
    i) 상기 3D 영역의 x, y, z 좌표 오프셋, 및
    ii) 상기 3D 영역의 폭, 높이, 및 깊이
    중 적어도 하나를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  7. 제1항에 있어서,
    상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역에 대한 정보는 2D 경계 박스 파라미터들을 포함하고,
    상기 2D 경계 박스 파라미터들은,
    i) 상기 2D 영역의 x, y 좌표 오프셋, 및 ii) 상기 2D 영역의 폭 및 높이: 중 적어도 하나;
    패치들의 설명 정보; 또는
    2D 타일 정보
    를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  8. 포인트 클라우드 데이터 처리 방법에 있어서,
    포인트 클라우드 데이터의 3D 영역을 결정하는 단계;
    상기 3D 영역에 대응하는 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계;
    특정 트랙 그룹 유형에 따라 포인트 클라우드 컴포넌트 트랙에서 제1 박스 - 상기 제1 박스는 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대응하는 상기 포인트 클라우드 데이터의 상기 3D 영역을 표시하며, 상기 포인트 클라우드 데이터의 동일한 3D 영역에 대응하는 포인트 데이터 컴포넌트 트랙들의 상기 제1 박스는 동일한 트랙 그룹 아이덴티티를 가짐 - 를 식별하는 단계; 및
    상기 포인트 클라우드 컴포넌트 트랙 그룹의 포인트 클라우드 컴포넌트 트랙들로부터의 비디오 프레임 데이터 - 상기 비디오 프레임 데이터는 1) 디코딩된 기하구조 비디오 프레임들, 2) 디코딩된 속성 비디오 프레임들, 3) 디코딩된 점유 맵 비디오 프레임들, 4) 매핑 정보를 패치할 블록, 또는 5) 출력 순서의 프레임 인덱스 중 적어도 하나를 포함함 - 및 대응하는 포인트 클라우드 트랙 패치 프레임 데이터에 기초하여, 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하는 단계
    를 포함하는, 포인트 클라우드 데이터 처리 방법.
  9. 제8항에 있어서,
    상기 3D 영역을 결정하는 단계는,
    포인트 클라우드 컴포넌트 트랙의 트랙 그룹 데이터 박스의 요소에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역에 대응하는 상기 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계를 포함하고, 상기 포인트 클라우드 컴포넌트 트랙 그룹은 점유 맵 트랙, 기하구조 트랙, 또는 속성 트랙을 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  10. 삭제
  11. 제8항에 있어서,
    상기 결정하는 단계는,
    시한 메타데이터 트랙의 요소들에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역에 대응하는 상기 포인트 클라우드 컴포넌트 트랙 그룹을 결정하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대한 특정 트랙 참조를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  12. 제11항에 있어서,
    특정 샘플 엔트리 유형에 따라 상기 시한 메타데이터 트랙을 식별하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 컴포넌트 트랙 그룹에 대응하는 상기 포인트 클라우드 데이터의 상기 3D 영역을 표시하는 것인, 포인트 클라우드 데이터 처리 방법.
  13. 제8항에 있어서,
    상기 포인트 클라우드 데이터의 상기 3D 영역에 대한 정보는 3D 경계 박스 파라미터들을 포함하고,
    상기 3D 경계 박스 파라미터들은,
    i) 상기 3D 영역의 x, y, z 좌표 오프셋, 및
    ii) 상기 3D 영역의 폭, 높이, 및 깊이
    중 적어도 하나를 포함하는 것인, 포인트 클라우드 데이터 처리 방법.
  14. 포인트 클라우드 데이터 처리 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치에 있어서, 상기 방법은,
    포인트 클라우드 데이터의 3D 영역을 결정하는 단계;
    포인트 클라우드 트랙 패치 프레임의 2D 영역을 결정하는 단계 - 상기 3D 영역의 상기 포인트 클라우드 데이터의 하나 이상의 포인트는 상기 2D 영역으로 투영되고,
    상기 2D 영역은 다음 분할 원칙들: 1) 상기 포인트 클라우드 트랙 패치 프레임 상의 패치 위치에 기초해 상기 2D 영역을 정의하는 것, 또는 2) 상기 포인트 클라우드 트랙 패치 프레임 상의 타일 위치에 기초해 상기 2D 영역을 정의하는 것 중 적어도 하나의 분할 원칙에 기초하여 생성됨 - ;
    특정 박스 유형에 따라 상기 포인트 클라우드 트랙 패치 프레임에서 제1 박스 - 상기 제1 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 패치 데이터를 포함하는 것을 표시함 - 를 식별하거나, 상기 특정 박스 유형에 따라 상기 포인트 클라우드 트랙 패치 프레임에서 제2 박스 - 상기 제2 박스는, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역의 2D 타일 데이터를 포함하는 것을 표시함 - 를 식별하는 단계; 및
    상기 2D 영역에 포함된 패치 프레임 데이터와 대응 포인트 클라우드 컴포넌트 트랙들의 비디오 프레임 데이터로부터 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하는 단계
    를 포함하는 것인, 비디오 처리 장치.
  15. 제14항에 있어서,
    상기 포인트 클라우드 데이터의 상기 3D 영역 및 상기 3D 영역의 하나 이상의 포인트가 위에 투영되는 상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역은, 샘플 또는 포인트 클라우드 트랙 샘플 엔트리의 요소에 기초해 결정되는 것인, 비디오 처리 장치.
  16. 삭제
  17. 제14항에 있어서,
    상기 3D 영역을 결정하는 단계는,
    시한 메타데이터 트랙의 요소들에 기초하여 상기 포인트 클라우드 데이터의 상기 3D 영역을 결정하는 단계를 포함하고, 상기 시한 메타데이터 트랙은 상기 포인트 클라우드 트랙 패치 프레임에 대한 특정 트랙 참조를 포함하는 것인, 비디오 처리 장치.
  18. 제17항에 있어서,
    상기 프로세서는 또한,
    특정 샘플 엔트리 유형에 따라 상기 시한 메타데이터 트랙을 식별하기 위해 구성되며, 상기 시한 메타데이터 트랙은, 상기 2D 영역이 상기 포인트 클라우드 데이터의 상기 3D 영역을 재구성하기 위한 다음 정보: 패치 데이터, 2D 타일 데이터, 타일 그룹 데이터 중 하나를 포함하는 것을 나타내는 것인, 비디오 처리 장치.
  19. 제14항에 있어서,
    상기 포인트 클라우드 데이터의 상기 3D 영역에 대한 정보는 3D 경계 박스 파라미터들을 포함하고,
    상기 3D 경계 박스 파라미터들은,
    i) 상기 3D 영역의 x, y, z 좌표 오프셋, 및
    ii) 상기 3D 영역의 폭, 높이, 및 깊이
    중 적어도 하나를 포함하는 것인, 비디오 처리 장치.
  20. 제14항에 있어서,
    상기 포인트 클라우드 트랙 패치 프레임의 상기 2D 영역에 대한 정보는 2D 경계 박스 파라미터들을 포함하고,
    상기 2D 경계 박스 파라미터들은,
    i) 상기 2D 영역의 x, y 좌표 오프셋, 및 ii) 상기 2D 영역의 폭 및 높이: 중 적어도 하나;
    패치들의 설명 정보; 또는
    2D 타일 정보
    를 포함하는 것인, 비디오 처리 장치.
  21. 삭제
KR1020227014438A 2019-09-30 2019-09-30 포인트 클라우드 데이터를 위한 파일 형식 KR102624994B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/109490 WO2021062645A1 (en) 2019-09-30 2019-09-30 File format for point cloud data

Publications (2)

Publication Number Publication Date
KR20220071256A KR20220071256A (ko) 2022-05-31
KR102624994B1 true KR102624994B1 (ko) 2024-01-12

Family

ID=75337604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014438A KR102624994B1 (ko) 2019-09-30 2019-09-30 포인트 클라우드 데이터를 위한 파일 형식

Country Status (6)

Country Link
US (1) US20220215616A1 (ko)
EP (1) EP4042381A4 (ko)
JP (1) JP7402976B2 (ko)
KR (1) KR102624994B1 (ko)
CN (1) CN114365194A (ko)
WO (1) WO2021062645A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875539B2 (en) * 2020-03-16 2024-01-16 Samsung Electronics Co., Ltd. Partial access metadata for video-based point cloud compression data
CN115618027A (zh) * 2021-07-12 2023-01-17 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机及可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080310757A1 (en) * 2007-06-15 2008-12-18 George Wolberg System and related methods for automatically aligning 2D images of a scene to a 3D model of the scene
CN107067462A (zh) * 2017-03-10 2017-08-18 东华大学 基于视频流的织物三维悬垂形态重建方法
US10198858B2 (en) * 2017-03-27 2019-02-05 3Dflow Srl Method for 3D modelling based on structure from motion processing of sparse 2D images
WO2019082958A1 (ja) 2017-10-27 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
TWI815842B (zh) 2018-01-16 2023-09-21 日商索尼股份有限公司 影像處理裝置及方法
CN110009743B (zh) * 2019-02-22 2023-04-04 南京航空航天大学 一种场景理解的网格曲面重建方法
US11245926B2 (en) * 2019-03-19 2022-02-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for track derivation for immersive media data tracks
CN110189412B (zh) * 2019-05-13 2023-01-03 武汉大学 基于激光点云的多楼层室内结构化三维建模方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AHMED HAMZA ET AL, "Evaluation Results for CE on Partial Access of PC Data", 128. MPEG MEETING*
EMRE B.AKSU, "Technologies under consideration on carriage of PC data", 126. MPEG MEETING*
XIN WANG ET AL, "Signaling of 2D and 3D Spatial Relationship of V-PCC Tiles for their Partial Access and Delivery", 127. MPEG MEETING*

Also Published As

Publication number Publication date
US20220215616A1 (en) 2022-07-07
KR20220071256A (ko) 2022-05-31
JP7402976B2 (ja) 2023-12-21
WO2021062645A1 (en) 2021-04-08
EP4042381A1 (en) 2022-08-17
JP2022550150A (ja) 2022-11-30
CN114365194A (zh) 2022-04-15
EP4042381A4 (en) 2022-11-02

Similar Documents

Publication Publication Date Title
TWI768308B (zh) 沈浸式媒體資料軌道之軌道導出方法和裝置
CN109691103B (zh) 视频编码
CN111869201B (zh) 处理和发送三维内容的方法
CN109691094A (zh) 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
US11412267B2 (en) Storage of multiple atlases from one V-PCC elementary stream in ISOBMFF
WO2021093153A1 (en) Point cloud data processing
US20220215616A1 (en) File format for point cloud data
CN114697668B (zh) 点云媒体的编解码方法及相关产品
WO2021251173A1 (ja) 情報処理装置および方法
CN113852829A (zh) 点云媒体文件的封装与解封装方法、装置及存储介质
US20220360819A1 (en) Volumetric media process methods and apparatus
WO2024041238A1 (zh) 一种点云媒体的数据处理方法及相关设备
CN115396647B (zh) 一种沉浸媒体的数据处理方法、装置、设备及存储介质
CN115086635B (zh) 多视角视频的处理方法、装置、设备及存储介质
CN115004716A (zh) 容积媒体处理方法和装置
WO2023169003A1 (zh) 点云媒体的解码方法、点云媒体的编码方法及装置
KR20230113781A (ko) 몰입형 미디어의 다중 아틀라스 캡슐화
WO2023144439A1 (en) A method, an apparatus and a computer program product for video coding
CN118251892A (zh) 点云数据的发送装置、由发送装置执行的方法、点云数据的接收装置和由接收装置执行的方法
CN115426502A (zh) 点云媒体的数据处理方法、装置、设备及存储介质
CN116347118A (zh) 一种沉浸媒体的数据处理方法及相关设备
CN116939290A (zh) 媒体数据处理方法、装置、设备及存储介质
CN115868156A (zh) 信息处理装置和方法

Legal Events

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