KR20230135646A - 메시 압축을 위한 패치 시간적 정렬의 인코딩 - Google Patents

메시 압축을 위한 패치 시간적 정렬의 인코딩 Download PDF

Info

Publication number
KR20230135646A
KR20230135646A KR1020237028944A KR20237028944A KR20230135646A KR 20230135646 A KR20230135646 A KR 20230135646A KR 1020237028944 A KR1020237028944 A KR 1020237028944A KR 20237028944 A KR20237028944 A KR 20237028944A KR 20230135646 A KR20230135646 A KR 20230135646A
Authority
KR
South Korea
Prior art keywords
patch
patches
mesh
map
matching
Prior art date
Application number
KR1020237028944A
Other languages
English (en)
Inventor
쥔 티엔
시앙 장
샤오종 수
차오 황
샨 리우
Original Assignee
텐센트 아메리카 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 아메리카 엘엘씨 filed Critical 텐센트 아메리카 엘엘씨
Publication of KR20230135646A publication Critical patent/KR20230135646A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일부 예에서, 처리 회로는 제1 시간 인스턴스와 연관된 제1 메시 프레임 및 제2 시간 인스턴스와 연관된 제2 메시 프레임을 적어도 수신한다. 상기 제1 메시 프레임은 이차원(2D)에 매핑된 3차원(3D) 정보를 갖는 제1 패치들이 있는 제1의 2D 맵을 포함한다. 상기 제2 메시 프레임은 2D에 매핑된 3D 정보를 갖는 제2 패치들이 있는 제2의 2D 맵을 포함한다. 상기 처리 회로는 상기 제1 패치들 중 하나의 제1 패치가 상기 제2 패치들 중 하나의 제2 패치에 대한 참조 매칭 패치인 것으로 식별한다. 또한, 상기 처리 회로는 상기 제1 패치에 대한 상기 제2 패치의 시간적 정렬을 위한 제1 재매핑 변환 파라미터를 결정하고, 상기 제1 재매핑 변환 파라미터에 따라 상기 제2 패치로부터 변환되는 변환된 제2 패치를 포함하는 새로운 제2의 2D 맵을 생성한다.

Description

메시 압축을 위한 패치 시간적 정렬의 인코딩
참조에 의한 포함
본 출원은 2021년 11월 22일에 출원된 미국 가출원 제63/264,421호, "ENCODING OF PATCH TEMPORAL ALIGNMENT FOR MESH COMPRESSION(메시 압축을 위한 패치 시간적 정렬의 인코딩)"에 대한 우선권의 이익을 주장하는, 2022년 9월 23일에 출원된 미국 특허출원 제17/951,942호, "ENCODING OF PATCH TEMPORAL ALIGNMENT FOR MESH COMPRESSION"에 대한 우선권의 이익을 주장한다. 이들 선출원의 개시내용은 그 전체가 참조에 의해 본 출원에 포함된다.
본 개시는 일반적으로 메시 코딩과 관련된 실시예를 기술한다.
여기에 제공되는 배경 설명은 일반적으로 본 개시의 맥락을 제시하기 위한 것이다. 이 배경기술 섹션에 기술된 저작물의 범위에서, 현재 지명된 발명자들의 저작물과 본 출원의 출원 시에 선행 기술로 인정되지 않을 수 있는 설명의 측면들은 명시적으로도 묵시적으로도 본 개시의 선행 기술로 인정되지 않는다.
차원(3-dimensional, 3D) 공간에서의 세계 속의 객체, 세계 속의 환경 등과 같은 세계를 포착하여 표현하기 위한 다양한 기술들이 개발되고 있다. 세계의 3D 표현은 보다 몰입적인 형태의 상호작용 및 의사소통(communication)을 가능하게 한다. 일부 예에서, 포인트 클라우드 및 메시가 세계의 3D 표현물로서 사용될 수 있다.
본 개시의 측면들은 메시 코딩(인코딩 및/또는 디코딩) 방법 및 장치를 제공한다. 일부 예에서, 메시 코딩 장치는 처리 회로를 포함한다. 상기 처리 회로는 제1 시간 인스턴스와 연관된 제1 메시 프레임 및 제2 시간 인스턴스와 연관된 제2 메시 프레임을 적어도 수신한다. 상기 제1 메시 프레임 및 상기 제2 메시 프레임은 객체의 표면을 다각형으로 표현한다. 상기 제1 메시 프레임은 이차원(2D)에 매핑된 3차원(3D) 정보를 갖는 제1 패치들이 있는 제1의 2D 맵을 포함한다. 상기 제2 메시 프레임은 2D에 매핑된 3D 정보를 갖는 제2 패치들이 있는 제2의 2D 맵을 포함한다. 상기 처리 회로는 상기 제1 패치들 중 하나의 제1 패치가 상기 제2 패치들 중 하나의 제2 패치에 대한 참조 매칭 패치인 것으로 식별한다. 또한, 상기 처리 회로는 상기 제1의 2D 맵에서의 상기 제1 패치에 대해 상기 제2 패치를 시간적으로 정렬하기 위한 제1 재매핑 변환 파라미터를 결정하고, 상기 제2의 2D 맵에 대응하는 새로운 제2의 2D 맵을 생성한다. 상기 새로운 제2의 2D 맵은 제1 재매핑 변환 파라미터에 따라 상기 제2 패치로부터 변환되는 변환된 제2 패치를 포함한다.
상기 제1 패치가 상기 제2 패치에 대한 참조 매칭 패치임을 식별하기 위해, 일부 예에서, 상기 처리 회로는 상기 제1 패치들에 대한 상기 제2 패치의 제1 매칭 메트릭들을 개별적으로 결정하고, 상기 제1 매칭 메트릭들에 따라 상기 제1 패치들 중에서 최고의 매칭 패치로서 상기 제1 패치를 선택한다. 또한, 일례에서, 상기 처리 회로는 상기 제2 패치들에 대한 상기 제1 패치의 제2 매칭 메트릭들을 개별적으로 결정하고, 상기 제2 매칭 메트릭들에 따라 상기 제2 패치가 최고의 매칭 패치인 것에 대한 응답으로 상기 제1 패치가 상기 제2 패치에 대한 상기 참조 매칭 패치인 것으로 결정한다.
상기 제1 패치들에 대한 상기 제2 패치의 제1 매칭 메트릭들을 개별적으로 결정하기 위해, 일례에서, 상기 처리 회로는 상기 제2 패치와 특정 패치의 매칭된 특징점에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정한다. 다른 예에서, 상기 처리 회로는 상기 제2 패치의 3D 좌표의 중심과 특정 패치의 3D 좌표의 중심 사이의 차이에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정한다. 다른 예에서, 상기 처리 회로는 상기 제2 패치와 특정 패치 사이의 3D 좌표의 하우스도르프 거리(Hausdorff distance)에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정한다.
일부 예에서, 상기 제1 패치에 대한 상기 제2 패치의 시간적 정렬을 위한 제1 재매핑 변환(re-map transform) 파라미터를 결정하기 위해, 상기 처리 회로는 회전(rotation) 파라미터, 반사(reflection) 파라미터 및 공간 이동(spatial translation) 파라미터 중 적어도 하나를 결정한다.
일부 예에서, 상기 처리 회로는 상기 제2 패치에 대한 상기 제1 재매핑 변환 파라미터를 적어도 상기 제1 메시 프레임 및 상기 제2 메시 프레임을 실어 전달하는 비트스트림으로 인코딩한다. 일부 예에서, 상기 처리 회로는 상기 제1 재매핑 변환 파라미터에 따라 상기 제2 메시 프레임의 지오메트리 2D 맵을 업데이트한다.
일부 실시예에서, 상기 처리 회로는 상기 제2 패치들을 제1 클래스와 제2 클래스로 분류한다. 상기 제1 클래스는 상기 제1 패치들 중에서 식별된 대응하는 참조 매칭 패치들이 있는 상기 제2 패치들의 제1 서브세트를 포함한다. 상기 제2 클래스는 상기 제1 패치들 중에서 식별된 참조 매칭 패치가 없는 상기 제2 패치들의 제2 서브세트를 포함한다.
일부 예에서, 상기 처리 회로는 크기에 따라 상기 제2 패치들의 상기 제1 서브세트를 크기 순서에 따른 제1 패치 시퀀스로 정렬하고, 상기 제1 패치 시퀀스에 따라 상기 제2 패치들의 상기 제1 서브세트에 대한 개별 재매핑 변환 파라미터를 결정한다.
일부 예에서, 상기 제1 패치 시퀀스 내의 패치들에 대한 개별 재매핑 변환 파라미터를 결정하기 위해, 상기 처리 회로는 상기 크기 순서에 따른 상기 제1 패치 시퀀스로부터 상기 제2 패치를 선택한다. 상기 제1 패치 시퀀스는 크기가 상기 제2 패치보다 큰 제3 패치를 적어도 포함하고, 상기 제3 패치에 대한 제2 재매핑 변환 파라미터들은 결정되었으며, 상기 제2 재매핑 변환 파라미터에 따라 변환된 제3 패치는 패킹된 패치 리스트(packed patch list)에 추가된다. 상기 처리 회로는 상기 제1 패치와 유사도가 가장 높은 회전된 제2 패치를 생성하기 위한 제1 회전 각도를 결정한다. 그런 다음, 상기 처리 회로는
상기 패킹된 패치 리스트 내의 변환된 패치들과의 중첩을 피하기 위해 상기 회전된 제2 패치를 이동시키기 위한 제1 공간 이동 값(spatial translation value)을 결정한다. 일례에서, 상기 처리 회로는 상기 제1 회전 각도 및 상기 제1 공간 이동 값에 따라 상기 제2 패치의 변환된 제2 패치를 생성하고, 상기 변환된 제2 패치를 상기 패킹된 패치 리스트에 추가한다. 일례에서, 상기 처리 회로는 또한 반사된 제2 패치와 상기 제1 패치의 최고 유사도와 두 번째로 높은 유사도의 유사도 비교에 기초하여 상기 제2 패치의 반사 여부를 판정한다.
일부 예에서, 상기 처리 회로는 무중첩(overlapping free)을 허용하는 미리 정의된 윈도(window)에 공간 이동 값이 없는 것에 대한 응답으로 상기 제2 패치를 상기 제2 클래스로 재분류하기로 결정한다.
일부 예에서, 상기 처리 회로는 크기에 따라 상기 제2 패치들의 제2 서브세트를 크기 순서에 따른 제2 패치 시퀀스로 정렬하고, 상기 제2 패치 시퀀스에 따라 상기 제2 패치들의 제2 서브세트에 대한 개별 재매핑 변환 파라미터를 결정한다.
일례에서, 패치의 크기는 상기 패치의 경계를 포함한 상기 패치 내의 픽셀 수에 기초하여 결정된다. 다른 예에서, 패치의 크기는 상기 패치의 경계를 제외한 상기 패치 내의 픽셀 수에 기초하여 결정된다. 다른 예에서, 패치의 크기는 상기 패치를 구성하는 최소 직사각형 경계 상자(bounding box)의 면적에 기초하여 결정된다.
본 개시의 측면들은 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체를 제공하며, 상기 명령어는 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금 메시 코딩 방법 중 어느 하나 또는 조합을 수행하게 한다.
개시된 주제의 추가 특징, 성질 및 다양한 이점은 이하의 상세한 설명 및 첨부 도면으로부터 더욱 명백해질 것이다:
도 1은 일부 예에서의 통신 시스템의 블록도를 도시한다.
도 2는 일부 예에서의 스트리밍 시스템의 블록도를 도시한다.
도 3은 일부 예에서의 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 4는 일부 예에서의 포인트 클라우드 프레임에 대응하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 5는 일부 예에서의 비디오 디코더의 블록도를 도시한다.
도 6은 일부 예에서의 비디오 인코더의 블록도를 도시한다.
도 7은 일부 예에서의 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 8은 일부 예에서의 포인트 클라우드 프레임을 실어 전달하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 9는 일부 예에서의 메시의 아틀라스에의 매핑을 예시하는 도면을 도시한다.
도 10은 일례에서의 두 개의 시간 인스턴스에서 텍스처 맵을 도시한다.
도 11은 일부 예에서의 프로세스 예를 요약한 흐름도를 도시한다.
도 12는 일부 예에서의 프로세스 예를 요약한 흐름도를 도시한다.
도 13은 일부 예에서의 컴퓨터 시스템의 개략도이다.
본 발명의 여러 측면은 3차원(3D) 미디어 처리 분야의 기술을 제공한다.
3차원(3D) 캡처, 3D 모델링 및 3D 렌더링 등의 진보와 같은 3D 미디어 처리에서의 기술 개발은 3D 미디어 콘텐츠가 여러 플랫폼과 디바이스에 걸쳐 도처에 존재하는 것(ubiquitous presence)을 촉진하였다. 일례에서, 한 대륙에서 아기의 첫 걸음이 포착될 수 있고, 미디어 기술은 조부모가 다른 대륙에서 아기를 보고(아마도 상호작용하고) 몰입적 체험(immersive experience)을 즐길 수 있도록 해준다. 본 개시의 일 측면에 따르면, 몰입적 체험을 향상시키기 위해, 3D 모델은 점점 더 정교해지고 있으며, 3D 모델의 생성 및 소비는 데이터 스토리지, 데이터 송신 자원과 같은, 데이터 자원의 상당한 양을 차지한다.
본 개시의 일부 측면에 따르면, 포인트 클라우드(point cloud) 및 메시(mesh)를 3D 모델로서 사용하여 몰입형 콘텐츠(immersive contents)를 표현할 수 있다.
포인트 클라우드는 일반적으로 색상, 재료 속성, 텍스처 정보, 강도 속성, 반사 속성, 움직임 관련 속성, 양식(modality) 속성 및 기타 다양한 속성과 같은, 연관된 속성을 각각 갖는 3D 공간에서의 포인트의 집합을 의미할 수 있다. 포인트 클라우드를 사용하여 객체나 장면을 그러한 포인트의 구성으로서 재구축할 수 있다.
객체의 메시(메시 모델이라고도 함)는 객체의 표면을 설명하는 다각형을 포함할 수 있다. 각각의 다각형은 3D 공간에서 다각형의 정점들과 그러한 정점들이 다각형에 어떻게 연결되어 있는지에 대한 정보로 정의할 수 있다. 정점들이 어떻게 연결되어 있는지에 대한 정보를 연결 정보(connectivity information)라고 한다. 일부 예에서, 메시는 정점과 연관된 색상, 법선 등과 같은 속성을 포함할 수 있다.
본 개시의 일부 측면에 따르면, 포인트 클라우드 압축(point cloud compression, PCC)을 위한 일부 코딩 도구가 메시 압축에 사용될 수 있다. 예를 들어, 메시를 다시 메시화하여(re-mashed) 새로운 메시의 연결 정보를 유추할 수 있는 새로운 메시를 생성할 수 있다. 새로운 메시의 정점, 및 새로운 메시의 정점과 연관된 속성은 포인트 클라우드에 있는 포인트로 간주될 수 있으며 PCC 코덱을 사용하여 압축될 수 있다.
포인트 클라우드는 객체 또는 장면을 포인트의 구성으로서 재구축하는 데 사용될 수 있다. 포인트는 다양한 설정으로 다수의 카메라, 깊이 센서 또는 Lidar를 사용하여 캡처될 수 있고 재구축된 장면이나 객체를 사실적으로 표현하기 위해 수천에서 최대 수십억 개의 포인트로 구성될 수 있다. 패치는 일반적으로 포인트 클라우드에 의해 기술되는 표면의 연속적인 서브세트를 가리킬 수 있다. 일례에서, 패치는 임계값 양보다 적게 서로로부터 벗어나는 표면 법선 벡터를 갖는 포인트를 포함합니다.
PCC는 G-PCC라고 하는 지오메트리 기반 방식, V-PCC라고 하는 비디오 코딩 기반 방식 등의 다양한 방식에 따라 수행될 수 있다. 본 개시의 일부 측면에 따르면, G-PCC는 3D 지오메트리를 직접 인코딩하고 비디오 코딩과 공유할 것이 많지 않은 순수하게 지오메트리 기반 접근법이며, V-PCC는 비디오 코딩에 크게 기반을 두고 있다. 예를 들어, V-PCC는 3D 클라우드의 포인트를 2D 그리드(이미지)의 픽셀로 매핑할 수 있다. V-PCC 방식은 포인트 클라우드 압축을 위해 일반 비디오 코덱을 활용할 수 있다. 본 개시에서 PCC 코덱(encoder/decoder)은 G-PCC 코덱(encoder/decoder) 또는 V-PCC 코덱일 수 있다.
본 개시의 일 측면에 따르면, V-PCC 방식은 기존의 비디오 코덱을 사용하여 포인트 클라우드의 지오메트리, 점유(occupancy) 및 텍스처를 3개의 개별 비디오 시퀀스로서 압축할 수 있다. 3개의 비디오 시퀀스를 해석하는 데 필요한 추가 메타데이터(extra metadata)는 별개로 압축된다. 전체 비트스트림의 작은 부분이 일례에서 소프트웨어 구현을 사용하여 효율적으로 인코딩/디코딩될 수 있는 메타데이터이다. 정보의 대부분은 비디오 코덱에 의해 처리된다.
도 1은 일부 예에서의 통신 시스템(100)의 블록도를 도시한다. 통신 시스템(100)은, 예를 들어 네트워크(150)를 통해 서로 통신할 수 있는 복수의 단말 디바이스를 포함한다. 예를 들어, 통신 시스템(100)은 네트워크(150)를 통해 상호연결된 한 쌍의 단말 디바이스(110, 120)를 포함한다. 도 1의 예에서, 제1의 단말 디바이스 쌍(110, 120)은 포인트 클라우드 데이터의 단방향 송신을 수행할 수 있다. 예를 들어, 단말 디바이스(110)는 단말 디바이스(110)와 연결된 센서(105)에 의해 캡처되는 포인트 클라우드(예를 들어, 구조를 표현하는 포인트들)를 압축할 수 있다. 압축된 포인트 클라우드는 예를 들어 비트스트림의 형태로 네트워크(150)를 통해 다른 단말 디바이스(120)로 송신될 수 있다. 단말 디바이스(120)는 압축된 포인트 클라우드를 네트워크(150)로부터 수신하고, 비트스트림을 압축해제하여 재구축하고, 재구축된 포인트 클라우드를 적합하게 표시할 수 있다. 단방향 데이터 송신은 애플리케이션 등을 제공하는 미디어에서 일반적일 수 있다.
도 1의 예에서, 단말 디바이스(110, 120)는 서버 및 개인용 컴퓨터로 예시될 수 있지만, 본 개시의 원리는 그렇게 한정되지 않을 수 있다. 본 개시의 실시예는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 게이밍 단말기, 미디어 플레이어 및/또는 전용 3차원(3D) 장비를 사용하는 애플리케이션을 찾는다. 네트워크(150)는 단말기 디바이스(110)와 단말 디바이스(120) 사이에 압축된 포인트 클라우드를 송신하는 임의의 수의 네트워크를 나타낸다. 네트워크(150)는 예를 들어 유선(wireline, wired) 및/또는 무선 통신 네트워크를 포함할 수 있다. 네트워크(150)는 회선 교환(circuit-switched) 및/또는 패킷 교환(packet-switched) 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크로는 통신망, 근거리 통신망, 광역 통신망, 인터넷 등을 포함한다.
도 2는 일부 예에서의 스트리밍 시스템(200)의 블록도를 도시한다. 스트리밍 시스템(200)은 포인트 클라우드의 사용 애플리케이션이다. 개시된 주제는 3D 텔레프레즌스 애플리케이션, 가상 현실 애플리케이션 등과 같은 다른 포인트 클라우드 가능형(point cloud enabled) 애플리케이션에 동등하게 적용될 수 있다.
스트리밍 시스템(200)은 캡처 서브시스템(213)을 포함할 수 있다. 캡처 서브시스템(213)은 포인트 클라우드 소스(201), 예를 들어 광검출 및 레인징(light detection and ranging, LIDAR) 시스템, 3D 카메라, 3D 스캐너, 소프트웨어로 압축되지 않은 포인트 클라우드를 생성하는 그래픽 생성 컴포넌트(graphics generation component), 압축되지 않은 포인트 클라우드(202)를 생성하는 것 등을 포함할 수 있다. 일례에서, 포인트 클라우드(202)는 3D 카메라에 의해 캡처되는 포인트를 포함한다. 포인트 클라우드(202)는 압축된 포인트 클라우드(204)(압축된 포인트 클라우드의 비트스트림)와 비교할 때 높은 데이터 볼륨을 강조하기 위해 굵은 선으로 표시된다. 압축된 포인트 클라우드(204)는 포인트 클라우드 소스(201)에 결합된 인코더(203)를 포함하는 전자 디바이스(220)에 의해 생성될 수 있다. 인코더(203)는 하드웨어, 소프트웨어 또는 이들의 조합을 포함하여 아래에서 더 자세히 설명되는 바와 같이 개시된 주제의 측면을 가능하게 하거나 구현할 수 있다. 압축된 포인트 클라우드(204)(또는 압축 포인트 클라우드(204)의 비트스트림)는 포인트 클라우드(202)의 스트림과 비교할 때 더 낮은 데이터 볼륨을 강조하기 위해 가는 선으로 표시되며, 향후 사용을 위해 스트리밍 서버(205)에 저장될 수 있다. 도 2의 클라이언트 서브시스템(206, 208)과 같은, 하나 이상의 스트리밍 클라이언트 서브시스템은 스트리밍 서버(205)에 액세스하여 압축된 포인트 클라우드(204)의 복사본(207, 209)을 검색할 수 있다. 클라이언트 서브시스템(206)은 예를 들어 전자 디바이스(230)에 디코더(210)를 포함할 수 있다. 디코더(210)는 압축된 포인트 클라우드의 인커밍 복사본(207)을 디코딩하고 렌더링 비다이스(212)에서 렌더링될 수 있는 재구축된 포인트 클라우드(211)의 아웃고잉 스트림을 생성한다.
전자 장치(220, 230)는 다른 컴포넌트(미도시)를 포함할 수 있음에 유의한다. 예를 들어, 전자 디바이스(220)는 디코더(미도시)를 포함할 수 있고 전자 디바이스(230)도 인코더(미도시)를 포함할 수 있다.
일부 스트리밍 시스템에서, 압축된 포인트 클라우드(204), (207), 및 (209)(예컨대, 압축된 포인트 클라우드의 비트스트림)는 특정 표준에 따라 압축될 수 있다. 일부 예에서 비디오 코딩 표준이 포인트 클라우드의 압축에 사용된다. 이러한 표준의 예로는 HEVC(High Efficiency Video Coding), VVC(Versatile Video Coding) 등을 포함한다.
도 3은 일부 실시예에 따라, 포인트 클라우드 프레임을 인코딩하기 위한 V-PCC 인코더(300)의 블록도를 도시한다. 일부 실시예에서, V-PCC 인코더(300)는 통신 시스템(100) 및 스트리밍 시스템(200)에서 사용될 수 있다. 예를 들어, 인코더(203)는 V-PCC 인코더(300)와 유사한 방식으로 구성되고 동작할 수 있다.
V-PCC 인코더(300)는 포인트 클라우드 프레임을 압축되지 않은 입력으로 수신하여 압축된 포인트 클라우드 프레임에 대응하는 비트스트림을 생성한다. 일부 실시예에서, V-PCC 인코더(300)는 포인트 클라우드 소스(201) 등과 같은, 포인트 클라우드 소스로부터 포인트 클라우드 프레임을 수신할 수 있다.
도 3의 예에서, V-PCC 인코더(300)는 패치 생성(patch generation) 모듈(306), 패치 패킹(patch packing) 모듈(308), 지오메트리 이미지 생성(geometry image generation) 모듈(310), 텍스처 이미지 생성(texture image generation) 모듈(312), 패치 정보(patch info) 모듈(304), 점유 맵(occupancy map) 모듈(314), 평활화(smoothing) 모듈(336), 이미지 패딩(image padding) 모듈(316, 318), 그룹 확장(group dilation) 모듈(320), 비디오 압축(video compression) 모듈(322, 323, 332), 보조 패치 정보 압축(auxiliary patch info compression) 모듈(338), 엔트로피 압축(entropy compression) 모듈(334) 및 멀티플렉서(multiplexer)(324)를 포함한다.
본 개시의 일 측면에 따르면, V-PCC 인코더(300)는 3D 포인트 클라이드 프레임을, 압축된 포인트 클라우드를 변환하여 압축해제된 포인트 클라우드로 되돌리는 데 사용되는 일부 메타데이터(예컨대, 점유 맵 및 패치 정보)와 함께 이미지 기반 표현으로 변환한다. 일부 예에서, V-PCC 인코더(300)는 3D 포인트 클라우드 프레임을 지오메트리 이미지, 텍스처 이미지 및 점유 맵으로 변환한 다음, 비디오 코딩 기술을 사용하여 지오메트리 이미지, 텍스처 이미지 및 점유 맵을 비트스트림으로 인코딩할 수 있다. 일반적으로, 지오메트리 이미지는 픽셀에 투영된 포인트와 연관된 지오메트리 값으로 채워진 픽셀들이 있는 2D 이미지이며, 지오메트리 값으로 채워진 픽셀은 지오메트리 샘플이라고 할 수 있다. 텍스처 이미지는 픽셀에 투영된 포인트와 연관된 텍스처 값으로 채워진 픽셀이 있는 2D 이미지이며, 텍스처 값으로 채워진 픽셀은 텍스처 샘플이라고 할 수 있다. 점유 맵은 패치에 의해 점유되거나 점유되지 않음을 지시하는 값으로 채워진 픽셀이 있는 2D 이미지이다.
패치 생성 모듈(306)은 포인트 클라우드를 패치 세트(예컨대, 패치는 포인트 클라우드에 의해 기술되는 표면의 연속적인 서브세트로 정의됨)로 세그먼트화하며, 이는 중첩되거나 중첩되지 않을 수 있으므로, 각각의 패치는 2D 공간의 평면에 대한 깊이 필드로 기술될 수 있다. 일부 실시예에서, 패치 생성 모듈(306)은 포인트 클라우드를 매끄러운 경계를 갖는 최소 개수의 패치로 분해하는 동시에, 재구성 오류를 최소화하는 것을 목표로 한다.
일부 예에서, 패치 정보 모듈(304)은 패치의 크기와 모양을 지시하는 패치 정보를 수집할 수 있다. 일부 예에서, 패치 정보는 이미지 프레임으로 패킹된 다음 보조 패치 정보 압축 모듈(338)에 의해 인코딩되어 압축된 보조 패치 정보를 생성할 수 있다.
일부 예에서, 패치 패킹 모듈(308)은 추출된 패치를 2차원(2D) 그리드에 매핑하는 동시에 미사용 공간을 최소화하고 그리드의 모든 MxM(예: 16x16) 블록이 고유한 패치와 연관됨을 보장한다. 효율적인 패치 패킹은 미사용 공간을 최소화하거나 시간적 일관성(temporal consistency)을 보장함으로써 압축 효율에 직접적으로 영향을 미칠 수 있다.
지오메트리 이미지 생성 모듈(310)은 주어진 패치 위치에서 포인트 클라우드의 지오메트리와 연관된 2D 지오메트리 이미지를 생성할 수 있다. 텍스처 이미지 생성 모듈(312)은 주어진 패치 위치에서 포인트 클라우드의 텍스처와 연관된 2D 텍스처 이미지를 생성할 수 있다. 지오메트리 이미지 생성 모듈(310)과 텍스처 이미지 생성 모듈(312)은 포인트 클라우드의 지오메트리와 텍스처를 이미지로 저장하기 위해 패킹 프로세스 동안 계산된 3D-2D 매핑을 이용한다. 다수의 포인트가 동일한 샘플에 투영되는 경우를 더 잘 처리하기 위해, 각각의 패치는 계층이라고 하는 두 이미지에 투영된다. 일례에서 지오메트리 이미지는 YUV420-8비트 포맷의 WxH 모노크롬 프레임으로 표현된다. 텍스처 이미지를 생성하기 위해, 텍스처 생성 프로시저는 재샘플링된 포인트와 연관될 색상을 계산하기 위해 재구축된/평활화된 지오메트리를 이용한다.
점유 맵 모듈(314)은 각 유닛의 패딩 정보를 기술하는 점유 맵을 생성할 수 있다. 예를 들어, 점유 이미지는 셀이 빈 공간(empty space)에 속하는지 포인트 클라우드에 속하는지를 그리드의 각 셀에 대해 지시하는 이진 맵을 포함한다. 일례에서, 점유 맵은 각각의 픽셀에 대해 픽셀이 패딩되었는지 여부를 기술하는 이진 정보를 사용한다. 다른 예에서, 점유 맵은 각각의 픽셀 블록에 대해 픽셀 블록이 패딩되었는지 여부를 기술하는 이진 정보를 사용한다.
점유 맵 모듈(314)에 의해 생성되는 점유 맵(314)은 무손실 코딩 또는 손실 코딩을 사용하여 압축될 수 있다. 무손실 코딩이 사용되는 경우, 엔트로피 압축 모듈(334)이 점유 맵의 압축에 사용된다. 손실 코딩이 사용되는 경우, 비디오 압축 모듈(332)이 점유 맵의 압축에 사용된다.
패치 패킹 모듈(308)은 이미지 프레임 내의 패킹된 2D 패치들 사이에 약간의 빈 공간을 남겨 둘 수 있다는 점에 유의한다. 이미지 패딩 모듈(316, 318)은 2D 비디오 및 이미지 코덱에 적합할 수 있는 이미지 프레임을 생성하기 위해 빈 공간을 채울 수 있다(패딩이라고 함). 이미지 패딩(image padding)은 미사용 공간을 중복 정보로 채울 수 있는 배경 채우기(background filling)라고도 한다. 일부 예에서, 우수한 배경 채우기는 패치 경계 주변에 상당한 코딩 왜곡을 도입하지 않으면서 비트 레이트를 최소한으로 증가시킨다.
비디오 압축 모듈(322, 323, 332)은 HEVC, VVC 등과 같은, 적합한 비디오 코딩 표준에 기초하여, 패딩된 지오메트리 이미지, 패딩된 텍스처 이미지 및 점유 맵과 같은, 2D 이미지를 인코딩할 수 있다. 일례에서, 비디오 압축 모듈(322, 323, 332)은 개별적으로 작동하는 개별 구성 요소입니다. 비디오 압축 모듈(322, 323, 332)은 다른 예에서 단일 구성요소로 구현될 수 있음에 유의한다.
일부 예에서, 평활화 모듈(336)은 재구축된 지오메트리 이미지의 평활화된 이미지를 생성하도록 구성된다. 평활화된 이미지는 텍스처 이미지 생성(312)에 제공될 수 있다. 그러면, 텍스처 이미지 생성(312)은 재구축된 지오메트리 이미지에 기초하여 텍스처 이미지의 생성을 조정할 수 있다. 예를 들어, 인코딩 및 디코딩 중에 패치 모양(예컨대, 지오메트리)이 약간 왜곡된 경우, 패치 모양의 왜곡을 수정(correct)하기 위해 텍스처 이미지를 생성할 때 왜곡을 고려할 수 있다.
일부 실시예에서, 그룹 확장(320)은 재구축된 포인트 클라우드의 시각적 품질뿐만 아니라 코딩 이득을 개선하기 위해 중복 저주파 콘텐츠(low-frequency content)로 객체 경계 주변의 픽셀을 패딩하도록 구성된다.
멀티플렉서(324)는 압축된 지오메트리 이미지, 압축된 텍스처 이미지, 압축된 점유 맵, 압축된 보조 패치 정보를 압축된 비트스트림으로 다중화할 수 있다.
도 4는 일부 예에서, 포인트 클라우드 프레임에 대응하는 압축된 비트스트림을 디코딩하기 위한 V-PCC 디코더(400)의 블록도를 도시한다. 일부 예에서, V-PCC 디코더(400)는 통신 시스템(100) 및 스트리밍 시스템(200)에서 사용될 수 있다. 예를 들어, 디코더(210)는 V-PCC 디코더(400)와 유사한 방식으로 동작하도록 구성될 수 있다. V-PCC 디코더(400)는 압축된 비트스트림을 수신하고, 압축된 비트스트림에 기초하여 재구축된 포인트 클라우드를 생성한다.
도 4의 예에서, V-PCC 디코더(400)는 디멀티플렉서(432), 비디오 압축해제 모듈(434, 436), 점유 맵 압축해제 모듈(438), 보조 패치 정보 압축해제 모듈(442), 지오메트리 재구축 모듈(444), 평활화 모듈(446), 텍스처 재구축 모듈(448) 및 색상 평활화 모듈(452)을 포함한다.
디멀티플렉서(432)는 압축된 비트스트림을 수신하여 압축된 텍스처 이미지, 압축된 지오메트리 이미지, 압축된 점유 맵 및 압축된 보조 패치 정보로 분리할 수 있다.
비디오 압축해제 모듈(434, 436)은 적합한 표준(예컨대, HEVC, VVC 등)에 따라 압축된 이미지를 디코딩하고 압축해제된 이미지를 출력할 수 있다. 예를 들어, 비디오 압축해제 모듈(434)은 압축된 텍스처 이미지를 디코딩하고 압축해제된 텍스처 이미지를 출력하고; 비디오 압축해제 모듈(436)은 압축된 지오메트리 이미지를 디코딩하고 압축해제된 지오메트리 이미지를 출한다.
점유 맵 압축해제 모듈(438)은 적합한 표준(예를 들어, HEVC, VVC 등)에 따라 압축된 점유 맵을 디코딩하고 압축해제된 점유 맵을 출력할 수 있다.
보조 패치 정보 압축해제 모듈(442)은 적합한 표준(예컨대, HEVC, VVC 등)에 따라 압축된 보조 패치 정보를 디코딩하여 압축해제된 보조 패치 정보를 출력할 수 있다.
지오메트리 재구축 모듈(444)은 압축해제된 지오메트리 이미지를 수신하고, 압축해제된 점유 맵 및 압축해제된 보조 패치 정보에 기초하여 재구축된 포인트 클라우드 지오메트리를 생성할 수 있다.
평활화 모듈(446)은 패치의 에지에서 부조화(incongruences)를 평활화할 수 있다. 평활화 프로시저는 압축 아티팩트로 인해 패치 경계에서 발생할 수 있는 잠재적 불연속성을 완화하는 것을 목표로 한다. 일부 실시예에서, 평활화 필터는 압축/압축해제에 의해 야기될 수 있는 왜곡을 완화하기 위해 패치 경계에 위치한 픽셀에 적용될 수 있다.
텍스처 재구축 모듈(448)은 압축해제된 텍스처 이미지 및 평활화 지오메트리에 기초하여 포인트 클라우드의 포인트에 대한 텍스처 정보를 결정할 수 있다.
색상 평활화 모듈(452)은 색상의 부조화를 평활화할 수 있다. 3D 공간에서 인접하지 않은 패치가 종종 2D 비디오에서 서로 옆에 패킹된다. 일부 예에서, 인접하지 않은 패치의 픽셀 값은 블록 기반 비디오 코덱에 의해 혼합될 수 있다. 색상 평활화의 목표는 패치 경계에 나타나는 시각적 아티팩트를 줄이는 것이다.
도 5는 일부 예에서의 비디오 디코더(510)의 블록도를 도시한다. 비디오 디코더(510)는 V-PCC 디코더(400)에 사용될 수 있다. 예를 들어, 비디오 압축해제 모듈(434, 436), 점유 맵 압축해제 모듈(438)은 비디오 디코더(510)와 유사하게 구성될 수 있다.
비디오 디코더(510)는 코딩된 비디오 시퀀스와 같은, 압축된 이미지로부터 심볼(521)을 재구축하는 파서(520)를 포함할 수 있다. 이러한 심볼의 카테고리는 비디오 디코더(510)의 동작을 관리하는 데 사용되는 정보를 포함된다. 파서(520)는 수신되는 코딩된 비디오 시퀀스를 파싱/엔트로피-디코딩할 수 있다. 코딩된 비디오 시퀀스의 코딩은 비디오 코딩 기술 또는 표준을 따르는 것일 수 있고, 가변 길이 코딩, 허프만 코딩, 컨텍스트 민감도가 있거나 없는 산술 코딩 등을 포함하는 다양한 원리를 따를 수 있다. 파서(520)는 그룹에 대응하는 적어도 하나의 파라미터에 기초하여, 비디오 디코더에서 픽셀의 서브그룹 중 적어도 하나에 대한 서브그룹 파라미터 세트를 코딩된 비디오 시퀀스로부터 추출할 수 있다. 서브그룹은 GOP(Group of Picture), 픽처, 타일, 슬라이스, 매크로블록, CU(Coding Unit), 블록, TU(Transform Unit), PU(Prediction Unit) 등을 포함할 수 있다. 파서(520)는 또한 코딩된 비디오 시퀀스 정보로부터, 변환 계수, 양자화 파라미터 값, 움직임 벡터 등과 같은 추출할 수 있다.
파서(520)는 버퍼 메모리로부터 수신된 비디오 시퀀스에 대해 엔트로피 디코딩/파싱 동작을 수행하여, 심볼(521)을 생성할 수 있다.
심볼(521)의 재구축은 코딩된 비디오 픽처 또는 그 일부(예: 인터 및 인트라 픽처, 인터 및 인트라 블록)의 유형 및 기타 인자에 따라 다수의 서로 다른 유닛이 관련할 수 있다. 어떤 유닛이 관련되고 어떻게 관련되는지는 파서(520)에 의해 코딩된 비디오 시퀀스로부터 파싱된 서브그룹 제어 정보에 의해 제어될 수 있다. 파서(520)와 그 아래의 다수의 유닛 사이의 그러한 서브그룹 제어 정보의 흐름은 단순함을 위해 나타내지 않았다.
이미 언급된 기능 블록을 넘어, 비디오 디코더(510)는 아래에 설명되는 바와 같이 개념적으로 다수의 기능 유닛으로 세분될 수 있다. 상업적 제약 하에서 작동하는 실제 구현에서, 이러한 기능 유닛 중 다수는 서로 밀접하게 상호작용하며, 적어도 부분적으로, 서로 통합될 수 있다. 그러나 개시된 주제를 설명하기 위해, 이하의 기능 유닛들로의 개념적 세분화가 적절하다.
제1 유닛은 스케일러/역변환 유닛(551)이다. 스케일러/역변환 유닛(551)은 파서(520)로부터의 심볼(들)(521)로서 사용할 변환, 블록 크기, 양자화 인자, 양자화 스케일링 행렬 등을 포함한, 제어 정보뿐만 아니라 양자화된 변환 계수도 수신한다. 스케일러/역변환 유닛(551)은 집성기(aggregator)(555)에 입력될 수 있는 샘플 값을 포함하는 블록을 출력할 수 있다.
경우에 따라서는, 스케일러/역변환(551)의 출력 샘플은 인트라 코딩된 블록에 관련될 수 있다, 즉, 이전에 재구축된 픽처로부터의 예측 정보를 사용하지 않지만, 현재 픽처의 이전에 재구축된 부분으로부터의 예측 정보를 사용할 수 있는 블록이다. 이러한 예측 정보는 인트라 픽처 예측 유닛(552)에 의해 제공될 수 있다. 경우에 따라서는, 인트라 픽처 예측 유닛(552)은 현재 픽처 버퍼(558)에서 인출된 이미 재구축된 주변 블록 정보를 사용하여, 재구축중인 블록과 동일한 크기 및 모양의 블록을 생성한다. 현재 픽처 버퍼(558)는, 예를 들어 부분적으로 재구축된 현재 픽처 및/또는 완전히 재구축된 현재 픽처를 버퍼링한다. 집성기(555)는, 경우에 따라서는, 인트라 예측 유닛(552)이 생성한 예측 정보를 스케일러/역변환 유닛(551)에 의해 제공되는 출력 샘플 정보에 샘플 단위로 추가될 수 있다.
다른 경우에, 스케일러/역변환 유닛(551)의 출력 샘플은 인터 코딩되고 잠재적으로 움직임 보상된 블록에 속할 수 있다. 이러한 경우, 움직임 보상 예측 유닛(553)은 인터 픽처 예측에 사용되는 샘플을 인출하기 위해 참조 픽처 메모리(557)에 액세스할 수 있다. 블록에 속하는 심볼(521)에 따라 인출된 샘플을 움직임 보상한 후, 이러한 샘플은 집성기(555)에 의해 스케일러/역변환 유닛(551)의 출력(이 경우 잔차 샘플 또는 잔차 신호로 불림)에 더해져, 출력 샘플 정보를 생성할 수 있다. 움직임 보상 예측 유닛(553)이 예측 샘플을 인출하는 참조 픽처 메모리(557) 내의 주소는 움직임 벡터에 의해 제어될 수 있으며, 예를 들어 X, Y 및 참조 픽처 성분을 가질 수 있는 심볼(321)의 형태로 움직임 보상 유닛에 사용할 수 있다. 움직임 보상은 또한 서브샘플의 정확한 움직임 벡터가 사용되고 있을 때에 참조 픽처 메모리(557)로부터 인출된 샘플 값의 보간을 포함할 수 있고, 움직임 벡터 예측 메커니즘 등도 포함할 수 있다.
집성기(555)의 출력 샘플은 루프 필터 유닛(556)에서 다양한 루프 필터링 기술의 대상이 될 수 있다. 비디오 압축 기술은 코딩된 비디오 시퀀스(코딩된 비디오 비트스트림이라고도 함)에 포함된 파라미터에 의해 제어되고 파서(520)로부터의 심볼(521)로서 루프 필터 유닛(556)에 사용 가능하게 되는 인 루프(in-loop) 필터 기술을 포함할 수 있지만, 또한 코딩된 픽처 또는 코딩된 비디오 시퀀스의 이전(디코딩 순서상) 부분을 디코딩하는 동안 획득된 메타 정보에 응답할 수 있을 뿐만 아니라 이전에 재구축되고 루프 필터링된 샘플 값에 응답할 수도 있다.
루프 필터 유닛(556)의 출력은 렌더링 디바이스(512)에 출력될 수 있을 뿐만 아니라 나중의 인터 픽처 예측에 사용하기 위해 참조 픽처 메모리(557)에 저장될 수도 있는 샘플 스트림일 수 있다.
일단 완전히 재구축된 특정 코딩된 픽처는 나중의 예측을 위한 참조 픽처로서 사용할 수 있다. 예를 들어, 현재 픽처에 대응하는 코딩된 픽처가 완전히 재구축되고 코딩된 픽처가 참조 픽처로 식별되면(예를 들어, 파서(520)에 의해), 현재 픽처 버퍼(558)는 참조 픽처 메모리(557)의 일부가 될 수 있고, 새로운 현재 픽처 버퍼는 다음 코딩된 픽처의 재구축을 시작하기 전에 재할당될 수 있다.
비디오 디코더(510)는 ITU-T Rec. H.265와 같은, 표준에서의 미리 정해진 비디오 압축 기술에 따라 디코딩 동작을 수행할 수 있다. 코딩된 비디오 시퀀스는 비디오 압축 기술 또는 표준의 신택스와 비디오 압축 기술 또는 표준의 문서화된 프로파일 모두를 준수한다는 점에서, 코딩된 비디오 시퀀스는 사용되는 비디오 압축 기술 또는 표준에 의해 지정된 신택스를 따를 수 있다. 구체적으로, 프로파일은 비디오 압축 기술 또는 표준에서 사용 가능한 모든 도구 중에서 해당 프로파일에서 사용할 수 있는 유일한 도구로서 특정 도구를 선택할 수 있다. 또한 준수를 위해 필요한 것은 코딩된 비디오 시퀀스의 복잡도가 비디오 압축 기술 또는 표준의 레벨에 의해 정의된 범위 내에 있다는 것일 수 있다. 경우에 따라서는, 레벨은 최대 픽처 크기, 최대 프레임 레이트, 최대 재구축 샘플 레이트(예를 들어, 초당 메가 샘플로 측정됨), 최대 참조 픽처 크기 등을 제한한다. 레벨에 의해 설정된 제한은, 경우에 따라서는 코딩된 비디오 시퀀스에서 시그널링된 가상 참조 디코더(Hippothetical Reference Decoder, HRD) 버퍼 관리를 위한 HRD 사양 및 메타 데이터를 통해 추가로 제한될 수 있다.
도 6은 본 개시의 일 실시예에 따른 비디오 인코더(603)의 블록도를 도시한다. 비디오 인코더(603)는 포인트 클라우드를 압축하는 V-PCC 인코더(300)에 사용될 수 있다. 일례에서, 비디오 압축 모듈(322, 323)과 비디오 압축 모듈(332)은 인코더(603)와 유사하게 구성된다.
비디오 인코더(603)는 패딩된 지오메트리 이미지, 패딩된 텍스처 이미지 등과 같은, 이미지를 수신하고 압축된 이미지를 생성할 수 있다.
일 실시예에 따르면, 비디오 인코더(603)는 소스 비디오 시퀀스의 픽처를 실시간으로 또는 애플리케이션에 의해 요구되는 임의의 다른 시간 제약하에 코딩된 비디오 시퀀스(압축된 이미지)로 코딩하고 압축할 수 있다. 적절한 코딩 속도를 강제하는 것은 제어기(650)의 한 가지 기능을 구성한다. 일부 실시예에서, 제어기(650)는 후술되는 바와 같이 다른 기능 유닛을 제어하고 다른 기능 유닛에 기능적으로 결합된다. 단순함을 위해 그 결합을 표시하지 않았다. 제어기(650)에 의해 설정되는 파라미터로는 레이트 제어 관련 파라미터(픽처 스킵, 양자화기, 레이트 왜곡 최적화 기술의 람다 값,…), 픽처 크기, 픽처 그룹(group of picture, GOP) 레이아웃, 최대 움직임 벡터 허용 검색 범위, 등을 포함할 수 있다. 제어기(650)는 특정 시스템 설계에 최적화된 비디오 인코더(603)에 속하는 다른 적절한 기능을 갖도록 구성될 수 있다.
일부 실시예에서, 비디오 인코더(603)는 코딩 루프에서 동작하도록 구성될 수 있다. 과도하게 단순화된 설명으로서, 일례에서, 코딩 루프는 소스 코더(630)(예컨대, 코딩될 입력 픽처에 기초하여 심볼 스트림과 같은 심볼 및 참조 픽처(들)의 생성을 담당), 및 비디오 인코더(603)에 내장된 (로컬) 디코더(633)를 포함할 수 있다. 디코더(633)는 (원격) 디코더도 생성할 것(심볼과 코딩된 비디오 비트 스트림 사이의 임의의 압축이 개시된 주제에서 고려되는 비디오 압축 기술에서 무손실일 수 있는 것)과 유사한 방식으로 샘플 데이터를 생성하기 위해 심볼을 재구축한다. 재구축된 샘플 스트림(샘플 데이터)은 참조 픽처 메모리(634)에 입력된다. 심볼 스트림의 디코딩은 디코더 위치(로컬 또는 원격)와 무관하게 비트가 정확한 결과(bit-exact result)로 이어지므로, 참조 픽처 메모리(634)의 내용도 로컬 인코더와 원격 인코더 사이에 비트가 정확하다(bit exact). 다시 말해, 인코더의 예측 부분은 디코딩 동안에 예측을 사용하는 경우에 디코더가 "인식하는(see)" 것과 정확히 동일한 샘플 값을 참조 픽처 샘플로서 "인식한다". 참조 픽처 동기성(reference picture synchronicity)(및 예를 들어 채널 오차로 인해 동시성이 유지될 수 없는 경우, 결과 드리프트)의 기본 원리는 일부 관련 기술에도 사용된다.
"로컬" 디코더(633)의 동작은 비디오 디코더(410)와 같은, "원격" 디코더의 동작과 동일할 수 있으며, 이는 이미 도 5와 관련하여 상세하게 설명되었다. 하지만 도 5를 또한 간략하게 참조하면, 심볼이 이용 가능하고 엔트로피 코더(645) 및 파서(520)에 의해 코딩된 비디오 시퀀스로의 심볼의 인코딩/디코딩이 무손실일 수 있으므로, 비디오 디코더(510)의 엔트로피 디코딩 부분은 파서(520)를 포함하여, 로컬 디코더(633)에 완전하게 구현되지 않을 수 있다.
동작하는 동안, 일부 예에서, 소스 코더(630)는 "참조 픽처"로 지정된 비디오 시퀀스로부터 하나 이상의 이전에 코딩된 픽처를 참조하여 입력 픽처를 예측적으로 코딩하는 움직임 보상된 예측 코딩을 수행할 수 있다. 이러한 방식으로, 코딩 엔진(632)은 입력 픽처에 대한 예측 참조(들)로서 선택될 수 있는 입력 픽처의 픽셀 블록과 참조 픽처(들)의 픽셀 블록 간의 차이를 코딩한다.
로컬 비디오 디코더(633)는 소스 코더(630)에 의해 생성된 심볼에 기초하여, 참조 픽처로 지정될 수 있는 픽처의 코딩된 비디오 데이터를 디코딩할 수 있다. 코딩 엔진(632)의 동작은 유리하게는 손실 프로세스일 수 있다. 코딩된 비디오 데이터가 비디오 디코더(도 6에 도시되지 않음)에서 디코딩될 수 있을 때, 재구축된 비디오 시퀀스는 일반적으로 약간의 오류(error)가 있는 소스 비디오 시퀀스의 복제본(replica)일 수 있다. 로컬 비디오 디코더(633)는 참조 픽처에 대해 비디오 디코더에 의해 수행될 수 있는 디코딩 프로세스를 복제하고, 재구축된 참조 픽처가 참조 픽처 캐시(634)에 저장되도록 할 수 있다. 이러한 방식으로, 비디오 인코더(603)는 원단(far-end) 비디오 디코더(송신 오류 없음)에 의해 획득될 재구축된 참조 픽처로서 공통 콘텐츠를 갖는 재구축된 참조 픽처의 사본을 로컬에 저장할 수 있다.
예측기(predictor)(635)는 코딩 엔진(632)에 대한 예측 검색을 수행할 수 있다. 즉, 코딩될 새로운 픽처를 위해, 예측기(635)는 참조 픽처 메모리(634)에서 새로운 픽처에 대한 적절한 예측 참조의 역할을 할 수 있는 샘플 데이터(후보 참조 픽셀 블록임), 또는 참조 픽처 움직임 벡터, 블록 모양 등과 같은 특정 메타데이터를 검색할 수 있다. 예측기(635)는 적절한 예측 참조를 찾기 위해 샘플 블록별 픽셀 블록(sample block-by-pixel block) 단위로 동작할 수 있다. 경우에 따라서는, 예측기(635)에 의해 획득된 검색 결과에 의해 결정되는 바와 같이, 입력 픽처는 참조 픽처 메모리(634)에 저장된 다수의 참조 픽처로부터 끌어낸 예측 참조를 가질 수 있다.
제어기(650)는, 예를 들어 비디오 데이터를 인코딩하기 위해 사용되는 파라미터 및 서브그룹 파라미터의 설정을 포함한, 소스 코더(630)의 코딩 동작을 관리할 수 있다.
전술한 모든 기능 유닛의 출력은 엔트로피 코더(645)에서의 엔트로피 코딩 대상일 수 있다. 엔트로피 코더(645)는 호프만(Huffman) 코딩, 가변 길이 코딩, 산술 코딩 등과 같은 기술에 따라 심볼을 무손실 압축함으로써, 다양한 기능 유닛에 의해 생성된 심볼을 코딩된 비디오 시퀀스로 변환한다.
제어기(650)는 비디오 인코더(603)의 동작을 관리할 수 있다. 코딩하는 동안, 제어기(650)는 각각의 코딩된 픽처에 특정 코딩된 픽처 유형을 할당할 수 있으며, 이는 각각의 픽처에 적용될 수 있는 코딩 기술에 영향을 미칠 수 있다. 예를 들어, 픽처는 종종 다음 픽처 유형 중 하나로서 지정될 수 있다:
인트라 픽처(Intra Picture: I 픽처)는 예측의 소스로서 시퀀스 내의 어떤 다른 픽처도 사용하지 않고 코딩 및 디코딩될 수 있는 것일 수 있다. 일부 비디오 코덱은, 예를 들어 독립 디코더 리프레시 픽처(Independent Decoder Refresh, "IDR") 픽처를 포함한, 서로 다른 유형의 인트라 픽처를 허용한다. 당업자는 I 픽처의 이러한 변형 및 각각의 적용 및 특징을 알고 있다.
예측 픽처(predictive picture: P 픽처)는 각각의 블록의 샘플 값을 예측하기 위해 최대 하나의 움직임 벡터 및 참조 색인을 사용하는 인트라 예측 또는 인터 예측을 사용하여 코딩 및 디코딩될 수 있는 것일 수 있다.
양 방향 예측 픽처(bi-directionally predictive picture: B 픽처)는 각각의 블록의 샘플 값을 예측하기 위해 최대 두 개의 움직임 벡터 및 참조 색인을 사용하는 인트라 예측 또는 인터 예측을 사용하여 코딩 및 디코딩될 수 있는 것일 수 있다. 유사하게, 다중 예측 픽처(multiple-predictive picture)는 단일 블록의 재구축을 위해 두 개보다 많은 참조 픽처 및 연관된 메타 데이터를 사용할 수 있다.
소스 픽처는 일반적으로 공간적으로 복수의 샘플 블록(예를 들어, 각각 4×4, 8×8, 4×8 또는 16×16 샘플 블록)으로 세분화되고 블록 단위로 코딩될 수 있다. 블록은 블록의 픽처 각각에 적용된 코딩 할당에 의해 결정된 대로의 다른 (이미 코딩된) 블록을 참조하여 예측적으로 코딩될 수 있다. 예를 들어, I 픽처의 블록은 비예측적으로(non-predictively) 코딩되거나, 동일한 픽처의 이미 코딩된 블록(공간 예측(spatial prediction) 또는 인트라 예측)을 참조하여 예측적으로 코딩될 수 있다. P 픽처의 픽셀 블록은 이전에 코딩된 하나의 참조 픽처를 참조하여 공간 예측을 통해 또는 시간 예측(temporal prediction)을 통해 예측적으로 코딩될 수 있다. B 픽처의 블록은 이전에 코딩된 하나 또는 두 개의 참조 픽처를 참조하여 공간 예측을 통해 또는 시간 예측을 통해 예측적으로 코딩될 수 있다.
비디오 인코더(603)는 ITU-T Rec. H.265.와 같은 미리 결정된 비디오 코딩 기술 또는 표준에 따라 코딩 동작을 수행할 수 있다. 그 동작 시에, 비디오 인코더(603)는 입력 비디오 시퀀스에서의 시간적 및 공간적 중복성을 이용하는 예측 코딩 동작을 포함한, 다양한 압축 동작을 수행할 수 있다. 따라서, 코딩된 비디오 데이터는 사용되는 비디오 코딩 기술 또는 표준에 의해 지정된 신택스를 따를 수 있다.
비디오는 시간적 시퀀스로 복수의 소스 픽처(비디오 픽처)의 형태일 수 있다. 인트라 픽처 예측(종종 인트라 예측으로 축약됨)은 주어진 픽처에서 공간적 상관관계를 이용하고, 인터 픽처 예측(inter-picture prediction)은 픽처들 사이의 (시간적 또는 기타) 상관관계를 이용한다. 일례에서, 현재 픽처라고 하는 인코딩/디코딩 중인 특정 픽처는 블록으로 파티셔닝될 수 있다. 현재 픽처 내의 블록이 이전에 코딩되고 비디오에서 여전히 버퍼링되어 있는 참조 픽처의 참조 블록과 유사한 경우, 현재 픽처 내의 블록은 움직임 벡터라고 하는 벡터에 의해 코딩될 수 있다. 움직임 벡터는 참조 픽처 내의 참조 블록을 가리키며, 다수의 참조 픽처가 사용 중인 경우, 참조 픽처를 식별하는 제3 차원을 가질 수 있다.
일부 실시예에서, 양-예측 기술(bi-prediction technique)이 인터 픽처 예측에 사용될 수 있다. 이러한 양-예측 기술에 따르면, 디코딩 순서상 비디오에서 현재 픽처에 모두 선행하는 (하지만 각각 표시 순서상 과거 또는 미래의 것일 수 있음) 제1 참조 픽처와 제2 참조 픽처와 같은, 2개의 참조 픽처가 사용된다. 현재 픽처의 블록은 제1 참조 픽처의 제1 참조 블록을 가리키는 제1 움직임 벡터 및 제2 참조 픽처의 제2 참조 블록을 가리키는 제2 움직임 벡터에 의해 코딩될 수 있다. 블록은 제1 참조 블록과 제2 참조 블록의 조합에 의해 예측될 수 있다.
또한, 인터 픽처 예측에 병합 모드 기술을 사용하여 코딩 효율을 향상시킬 수 있다.
본 개시의 일부 실시예에 따르면, 인터 픽처 예측 및 인트라 픽처 예측과 같은 예측은 블록 단위로 수행된다. 예를 들어, HEVC 표준에 따르면, 비디오 픽처의 시퀀스 내의 픽처는 압축을 위해 코딩 트리 유닛(coding tree unit, CTU)로 파티셔닝되고, 픽처 내의 CTU들은 64×64 픽셀, 32×32 픽셀 또는 16×16 픽셀과 같이, 동일한 크기를 가질 수 있다. 일반적으로, CTU는 루마 CTB 1개와 크로마 CTB 2개인, 3개의 병렬 코딩 트리 블록(coding tree block, CTB)을 포함할 수 있다. 각각의 CTU는 재귀적으로 하나 또는 다수의 코딩 유닛(CU)으로 쿼드트리 분할될 수 있다. 예를 들어 64×64 픽셀의 CTU는 64×64 픽셀의 CU 1개 또는 32×32 픽셀의 CU 4개 또는 16×16 픽셀의 CU 16개로 분할될 수 있다. 일례에서, 각각의 CU는 인터 예측 유형 또는 인트라 예측 유형과 같은, CU에 대한 예측 유형을 결정하기 위해 분석될 수 있다. CU는 시간 및/또는 공간 예측 가능성에 따라 하나 이상의 예측 유닛(prediction unit, PU)으로 분할될 수 있다. 일반적으로, 각각의 PU는 루마 예측 블록(PB)과 두 개의 크로마 PB를 포함한다. 일 실시예에서, 코딩(인코딩/디코딩)에서의 예측 동작은 예측 블록의 단위로 수행된다. 예측 블록의 예로서 루마 예측 블록을 사용하면, 예측 블록은 8×8 픽셀, 16×16 픽셀, 8×16 픽셀, 16×8 픽셀 등과 같은 픽셀에 대한 값(예컨대, 루마 값)의 행렬을 포함한다.
도 7은 일부 예에서의 G-PCC 인코더(700)의 블록도를 도시한다. G-PCC 인코더(700)는 포인트 클라우드 데이터를 수신하고 포인트 클라우드 데이터를 압축하여 압축된 포인트 클라우드 데이터를 실어 전달하는 비트 스트림을 생성하도록 구성될 수 있다. 일 실시예에서, G-PCC 인코더(700)는 위치 양자화(position quantization) 모듈(710), 중복 포인트 제거(duplicated points removal) 모듈(712), 옥트리 인코딩(octree encoding) 모듈(730), 속성 전송(attribute transfer) 모듈(720), 디테일 레벨(level of detail, LOD) 생성 모듈(740), 속성 예측(attribute prediction) 모듈(750), 잔차 양자화(residual quantization) 모듈(760), 산술 코딩(arithmetic coding) 모듈(770), 역 잔차 양자화(inverse residual quantization) 모듈(780), 가산(addition) 모듈(781), 재구축된 속성 값을 저장하는 메모리(790)를 포함한다.
도시된 바와 같이, 입력 포인트 클라우드(701)는 G-PCC 인코더(700)에서 수신될 수 있다. 포인트 클라우드(701)의 위치(예컨대, 3D 좌표)는 양자화 모듈(710)에 제공된다. 양자화 모듈(710)은 좌표를 양자화하여 양자화된 위치를 생성하도록 구성된다. 중복 포인트 제거(duplicated points removal module) 모듈(712)은 양자화된 위치를 수신하고 필터 프로세스를 수행하여 중복 포인트를 식별 및 제거하도록 구성된다. 옥트리 인코딩(octree encoding) 모듈(730)은 중복 포인트 제거 모듈(712)로부터 필터링된 위치를 수신하고, 옥트리 기반 인코딩 프로세스를 수행하여 복셀의 3D 그리드를 기술하는 점유 코드 시퀀스를 생성하도록 구성된다. 점유 코드는 산술 코딩 모듈(770)에 제공된다.
속성 전송 모듈(720)은 입력 포인트 클라우드의 속성을 수신하고 속성 전송 프로세스를 수행하여 복수의 속성 값이 각각의 복셀과 연관되는 경우에 각각의 복셀에 대한 속성 값을 결정하도록 구성된다. 옥트리 인코딩 모듈(730)에서 출력된 재정렬된 포인트에 대해 속성 전송 프로세스가 수행될 수 있다. 전송 동작 후의 속성은 속성 예측 모듈(750)에 제공된다. LOD 생성 모듈(740)은 옥트리 인코딩 모듈(730)에서 출력된 재정렬된 포인트에 대해 동작하고, 포인트를 상이한 LOD들로 재조직화하도록 구성된다. LOD 정보는 속성 예측 모듈(750)에 공급된다.
속성 예측 모듈(750)은 LOD 생성 모듈(740)로부터의 LOD 정보에 의해 지시되는 OD 기반 순서에 따라 포인트를 처리한다. 속성 예측 모듈(750)은 메모리(790)에 저장된 현재 포인트의 이웃 포인트의 세트의 재구축된 속성에 기초하여 현재 포인트에 대한 속성 예측을 생성한다. 속성 전송 모듈(720)로부터 수신된 원래의 속성 값 및 로컬로 생성된 속성 예측에 기초하여 예측 잔차가 후속적으로 획득될 수 있다. 각각의 속성 예측 프로세스에서 후보 인덱스를 사용하는 경우, 선택된 예측 후보에 대응하는 인덱스는 산술 코딩 모듈(770)에 제공될 수 있다.
잔차 양자화 모듈(760)은 속성 예측 모듈(750)로부터 예측 잔차를 수신하고, 양자화를 수행하여 양자화된 잔차를 생성하도록 구성된다. 양자화된 잔차는 산술 코딩 모듈(770)에 제공된다.
역 잔차 양자화 모듈(780)은 잔차 양자화 모듈(760)로부터 양자화된 잔차를 수신하고, 잔차 양자화 모듈(760)에서 수행된 양자화 동작의 역을 수행함으로써 재구축된 예측 잔차를 생성하도록 구성된다. 가산 모듈(781)은 역 잔차 양자화 모듈(780)로부터 재구축된 예측 잔차를 수신하고, 속성 예측 모듈(750)로부터 각각의 속성 예측을 수신하도록 구성된다. 재구축된 예측 잔차와 속성 예측을 결합함으로써, 재구축된 속성 값이 생성되어 메모리(790)에 저장된다.
산술 코딩 모듈(770)은 점유 코드, 후보 인덱스(사용된 경우), 양자화된 잔차(생성된 경우) 및 기타 정보를 수신하고, 엔트로피 인코딩을 수행하여 수신된 값 또는 정보를 추가로 압축하도록 구성된다. 그 결과, 압축된 정보를 실어 전달하는 압축된 비트스트림(702)이 생성될 수 있다. 비트스트림(702)은 압축된 비트스트림을 디코딩하는 디코더에 송신될 수 있거나, 그렇지 않으면 제공될 수 있거나, 저장 디바이스에에 저장될 수 있다.
도 8은 일 실시예에 따른 G-PCC 디코더(800)의 블록도를 도시한다. G-PCC 디코더(800)는 압축된 비트스트림을 수신하고, 포인트 클라우드 데이터 압축해제를 수행하여 비트스트림을 압축해제하여 디코딩된 포인트 클라우드 데이터를 생성하도록 구성될 수 있다. 일 실시예에서, G-PCC 디코더(800)는 산술 디코딩 모듈(810), 역 잔차 양자화 모듈(820), 옥트리 디코딩 모듈(830), LOD 생성 모듈(840), 속성 예측 모듈(850), 및 재구축된 속성 값을 저장하는 메모리(860)를 포함할 수 있다.
도시된 바와 같이, 압축된 비트스트림(801)은 산술 디코딩 모듈(810)에서 수신될 수 있다. 산술 디코딩 모듈(810)은 압축된 비트스트림(801)을 디코딩하여 양자화된 잔차(생성된 경우) 및 포인트 클라우드의 점유 코드를 획득하도록 구성된다. 옥트리 디코딩 모듈(830)은 점유 코드에 따라 포인트 클라우드에서의 포인트의 재구축된 위치를 결정하도록 구성된다. LOD 생성 모듈(840)은 재구축된 위치에 기초하여 포인트들을 서로 다른 LOD로 재조직화하고, LOD 기반 순서를 결정하도록 구성된다. 역 잔차 양자화 모듈(820)은 산술 디코딩 모듈(810)로부터 수신된 양자화된 잔차에 기초하여 재구축된 잔차를 생성하도록 구성된다.
속성 예측 모듈(850)은 속성 예측 프로세스를 수행하여 LOD 기반 순서에 따라 포인트에 대한 속성 예측을 결정하도록 구성된다. 예를 들어, 현재 포인트의 속성 예측은 메모리(860)에 저장된 현재 포인트 주변 포인트들의 재구축된 속성 값에 기초하여 결정될 수 있다. 일부 예에서, 속성 예측은 각각의 재구축된 잔차와 결합되어 현재 포인트에 대한 재구축된 속성을 생성할 수 있다.
옥트리 디코딩 모듈(830)로부터 생성된 재구축된 위치와 함께 속성 예측 모듈(850)로부터 생성된 재구축된 속성의 시퀀스는 한 예로 G-PCC 디코더(800)로부터 출력되는 디코딩된 포인트 클라우드(802)에 대응한다. 또한, 재구축된 속성도 메모리(860)에 저장되어 후속 포인트에 대한 속성 예측을 도출하는 데 사용될 수 있다.
다양한 실시예에서, 인코더(300), 디코더(400), 인코더(700) 및/또는 디코더(800)는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 인코더(300), 디코더(400), 인코더(700) 및/또는 디코더(800)는 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은, 소프트웨어 없이 또는 소프트웨어와 함께 동작하는 하나 이상의 집적 회로(IC)와 같은 처리 회로로 구현될 수 있다. 다른 예에서, 인코더(300), 디코더(400), 인코더(700) 및/또는 디코더(800)는 컴퓨터로 판독 가능한 비휘발성(또는 비일시적) 메모리에 저장된 명령어를 포함하는 소프트웨어 또는 펌웨어로 구현될 수 있다. 명령어는 하나 이상의 프로세서와 같은 처리 회로에 의해 실행될 때, 처리 회로로 하여금 인코더(300), 디코더(400), 인코더(700) 및/또는 디코더(800)의 기능을 수행하게 한다.
여기에 개시된 속성 예측 기술을 구현하도록 구성된 속성 예측 모듈(750, 850)은 도 7 및 도 8에 도시된 것과 유사하거나 상이한 구조를 가질 수 있는 다른 디코더 또는 인코더에 포함될 수 있음에 유의한다. 또한, 다양한 예에서 인코더(700)와 디코더(800)는 동일한 디바이스 또는 별개의 디바이스에 포함될 수 있다.
본 개시의 일부 측면에 따르면, 메시 압축은 PCC 코딩 도구와 상이한 코딩 도구를 사용할 수 있거나, 또는 위의 PCC(예컨대, G-PCC, V-PCC) 인코더, 위의 PCC(예컨대, G-PCC, V-PCC) 디코더 등과 같은, PCC 코딩 도구를 사용할 수 있다.
객체의 메시(메시 모델, 메시 프레임이라고도 함)는 객체의 표면을 기술하는 다각형을 포함할 수 있다. 각각의 다각형은 3D 공간에서 다각형의 정점과 정점을 다각형에 연결하는 에지로 정의할 수 있다. 정점들이 어떻게 연결되어 있는지에 대한 정보(예컨대, 에지의 정보)를 연결 정보라고 한다. 일부 예에서, 객체의 메시는 객체의 표면을 기술하는 연결된 삼각형에 의해 형성된다. 에지를 공유하는 두 개의 삼각형을 두 개의 연결된 삼각형이라고 한다. 일부 다른 예에서, 객체의 메시는 연결된 사변형(connected quadrilateral)에 의해 형성된다. 에지를 공유하는 두 개의 사변형은 두 개의 연결된 사변형이라고 할 수 있다. 메시는 다른 적합한 다각형에 의해 형성될 수 있다는 점에 유의하기 바란다.
일부 예에서, 메시는 정점과 연관된 색상, 법선 등과 같은 속성을 포함할 수도 있다. 속성들은 2D 속성 맵으로 메시를 파라미터화하는 매핑 정보를 활용하여 메시의 표면과 연관될 수 있다. 매핑 정보는 일반적으로 메시 정점과 연관된, UV 좌표 또는 텍스처 좌표라고 하는 파라메트릭 좌표의 세트로 기술된다. 2D 속성 맵(일부 예에서 텍스처 맵이라고 함)은 텍스처, 법선, 변위 등과 같은 고해상도 속성 정보를 저장하는 데 사용된다. 이러한 정보는 텍스처 매핑 및 음영과 같은 다양한 용도로 사용될 수 있다.
일부 실시예에서, 메시는 지오메트리 정보, 연결 정보, 매핑 정보, 정점 속성 및 속성 맵이라고 하는 컴포넌트를 포함할 수 있다. 일부 예에서, 지오메트리 정보는 메시의 정점과 연관된 3D 위치의 세트로 설명된다. 일례에서 (x,y,z) 좌표는 정점의 3D 위치를 기술하는 데 사용할 수 있으며, 3D 좌표라고도 합니다. 일부 예에서, 연결 정보는 정점을 연결하여 3D 표면을 생성하는 방법을 기술하는 정점 인덱스의 세트를 포함한다. 일부 예에서, 매핑 정보는 메시 표면을 평면의 2D 영역에 매핑하는 방법을 기술한다. 일례에서, 매핑 정보는 연결 정보와 함께 메시 정점과 연관된 UV 파라메트릭/텍스처 좌표(u,v)의 세트로 기술된다. 일부 예에서, 정점 속성은 메시 정점과 연관된 스칼라 또는 벡터 속성 값을 포함한다. 일부 예에서, 속성 맵은 메시 표면과 연관되고 2D 이미지/비디오로서 저장되는 속성을 포함한다. 일례에서, 비디오(예컨대, 2D 이미지/비디오)와 메시 표면 간의 매핑은 매핑 정보에 의해 정의된다.
본 발명의 일 측면에 따르면, UV 매핑 또는 메시 파라미터화라고 하는 일부 기술은 3D 도메인에서의 메시의 표면을 2D 도메인에 매핑하는 데 사용된다. 일부 예에서 메시는 3D 도메인의 패치들로 파티셔닝된다. 패치는 경계 에지로 구성된 경계가 있는 메시의 연속적인 서브세트이다. 패치의 경계 에지는 패치의 하나의 다각형에만 속하는 에지이며, 패치에서 인접한 두 개의 인접한 다각형에 의해 공유되지 않는다. 패치 내 경계 에지의 정점은 패치의 경계 정점이라고 하며, 패치 내의 비경계 정점은 일부 예에서 패치의 내부 정점이라고 할 수 있다.
일부 예에서, 객체의 메시는 연결된 삼각형에 의해 형성되고, 메시는 패치들로 파티셔닝될 수 있으며, 각각의 패치는 연결된 삼각형의 서브세트이다. 패치의 경계 에지는 패치에서 하나의 삼각형에만 속하고 패치에서 인접한 삼각형에 의해 공유되지 않는 에지이다. 패치 내의 경계 에지의 정점은 패치의 경계 정점이라고 하며, 패치 내의 비경계 정점은 일부 예에서 패치의 내부 정점라고 할 수 있다. 경계 루프는 경계 정점의 시퀀스를 포함하며, 경계 정점의 시퀀스에 의해 형성된 경계 에지는 경계 루프라고 하는 루프를 형성할 수 있다.
본 개시의 일 측면에 따르면, 일부 예에서 패치들은 개별적으로 2D 형상(UV 패치라고도 함)으로 파라미터화된다. 2D 형상은 일부 예에서 아틀라스(atlase)라고도 하는 맵으로 패킹될 수 있다(예컨대, 방향 지정(oriented) 및 배치(placed))될 수 있다. 일부 예에서, 맵은 2D 이미지 또는 비디오 처리 기술을 사용하여 추가로 처리될 수 있다.
일례에서, UV 매핑 기술은 3D 메시의 패치에 대응하는 2D의 UV 아틀라스(UV 맵이라고도 함) 및 하나 이상의 텍스처 아틀라스(텍스처 맵이라고도 함)를 생성한다. UV 아틀라스는 3D 메시의 3D 정점을 2D 도메인(예컨대, 직사각형)의 2D 포인트에 할당하는 것을 포함한다. UV 아틀라스는 3D 표면의 좌표와 2D 도메인의 좌표 사이의 매핑이다. 일례에서, 2D 좌표(u,v)에서 UV 아틀라스에 있는 포인트는 3D 도메인에서 정점의 좌표(x, y, z)에 의해 형성되는 값을 갖는다. 일례에서, 텍스처 아틀라스는 3D 메시의 색상 정보를 포함한다. 예를 들어, 2D 좌표(u,v)의 텍스처 아틀라스에 있는 포인트(UV 아틀라스에서 (x,y,z)의 3D 값을 가짐)는 3D 도메인에서 (x, y, z)에 포인트의 색상 속성을 지정하는 색상을 가진다. 일부 예에서, 3D 도메인에서 좌표(x, y, z)는 3D 좌표 또는 xyz 좌표로 지칭되고, 2D 좌표(u,v)는 uv 좌표 또는 UV 좌표로 지칭된다.
본 발명의 일부 측면에 따르면, 메시 압축은 하나 이상의 2D 맵(일부 예에서 2D 아틀라스라고도 함)을 사용하여 메시를 표현한 다음, 이미지 또는 비디오 코덱을 사용하여 2D 맵을 인코딩함으로써 수행될 수 있다. 여러 다른 기술을 사용하여 2D 맵을 생성할 수 있다.
도 9는 일부 예에서의 3D 메시(910)의 2D 아틀라스(920)에의 매핑을 예시하는 도면을 도시한다. 도 9의 예에서, 3D 메시(910)는 4개의 패치 A-D를 형성하는 4개의 정점 1-4를 포함한다. 각각의 패치는 정점 세트 및 연관된 속성 정보를 갖는다. 예를 들어, 패치 A는 삼각형으로 연결된 정점 1, 2 및 3에 의해 형성된다. 패치 B는 삼각형으로 연결된 정점 1, 3 및 4에 의해 형성된다. 패치 C는 삼각형으로 연결된 정점 1, 2 및 4에 의해 형성된다. 패치 D는 삼각형으로 연결된 정점 2, 3 및 4에 의해 형성된다. 일부 예에서, 정점 1, 2, 3 및 4는 각자의 속성을 가질 수 있고, 정점 1, 2, 3 및 4에 의해 형성된 삼각형들은 각자의 속성을 가질 수 있다.
일례에서, 3D의 패치 A, B, C 및 D는 UV 아틀라스(920) 또는 맵(920)이라고도 하는 2D 아틀라스(920)와 같은 2D 도메인에 매핑된다. 예를 들어, 패치 A는 맵(920)에서 2D 형상(UV 패치라고도 함) A'에 매핑되고, 패치 B는 맵(920)에서 2D 형상(UV 패치라고도 함) B'에 매핑되고, 패치 C는 맵(920)에서 2D 형상(UV 패치라고도 함) C'에 매핑되고, 패치 D는 맵(920)에서 2D 형상(UV 패치라고도 함) D'에 매핑된다. 일부 예에서, 3차원 도메인에서의 좌표를 (x, y, z) 좌표라고 하고, 맵(920)와 같은 2차원 도메인에서의 좌표를 UV 좌표라고 한다. 3D 메시의 정점은 맵(920)에서 대응하는 UV 좌표를 가질 수 있다.
맵(920)은 지오메트리 정보를 가진 지오메트리 맵일 수 있거나, 색상, 법선, 텍스타일 또는 기타 속성 정보를 가진 텍스처 맵일 수 있거나, 점유 정보를 가진 점유 맵일 수 있다.
도 9의 예에서는 각각의 패치가 삼각형으로 표현되지만, 패치는 메시의 연속적인 서브세트를 형성하기 위해 연결되는 임의의 적합한 수의 정점을 포함할 수 있음에 유의하기 바란다. 일부 예에서, 패치의 정점은 삼각형으로 연결된다. 패치의 정점은 다른 적합한 형상을 사용하여 패치의 정점을 연결할 수 있음에 유의하기 바란다.
일례에서, 정점의 지오메트리 정보는 2D 지오메트리 맵에 저장될 수 있다. 예를 들어, 2D 지오메트리 맵은 샘플링 포인트의 (x, y, z) 좌표를 2D 지오메트리 맵의 대응하는 포인트에 저장한다. 예를 들어, (u, v) 위치에 있는 2D 지오메트리 맵의 포인트는 3D 메시에서 대응하는 샘플링 포인트의 x, y 및 z 값에 개별적으로 대응하는 3가지 성분의 벡터 값을 갖는다.
본 개시의 일 측면에 따르면, 맵 내의 영역은 완전히 점유되지 않을 수 있다. 예를 들어, 도 9에서, 2D 형상 A', B', C' 및 D' 외부에 있는 영역은 정의되지 않는다. 디코딩 후에 2D 형상 A', B', C' 및 D' 외부에 있는 영역의 샘플 값은 폐기될 수 있다. 경우에 따라서는, 픽셀이 패치에 속하는지 또는 정의되지 않았는지 식별하기 위한 이진 값을 저장하는 것과 같이, 점유 맵을 사용하여 각각의 픽셀에 대한 일부 추가 정보를 저장한다.
본 개시의 일 측면에 따르면, 동적 메시는 구성요소(지오메트리 정보, 연결 정보, 매핑 정보, 정점 속성 및 속성 맵들) 중 적어도 하나가 시간에 따라 변하는 메시이다. 동적 메시는 메시의 시퀀스(메시 프레임이라고도 함)로 기술될 수 있다. 일부 예에서, 동적 메시에서의 메시 프레임은 서로 다른 시간에서의 객체 표면의 표현일 수 있으며, 각각의 메시 프레임은 특정 시간(시간 인스턴스라고도 함)에서의 객체 표면의 표현이다. 동적 메시는 시간에 따라 변화하는 상당한 양의 정보를 포함할 수 있기 때문에 대량의 데이터를 필요로 할 수 있다. 메시의 압축 기술은 미디어 콘텐츠의 효율적인 저장 및 송신을 메시 표현으로 가능하게 할 수 있다.
일부 예에서, 동적 메시는 일정한 연결 정보, 시변 지오메트리 및 시변 정점 속성을 가질 수 있다. 일부 예에서 동적 메시는 시변 연결 정보를 가질 수 있다. 일례에서, 디지털 콘텐츠 생성 도구는 일반적으로 시변 속성 맵과 시변 연결 정보를 가진 동적 메시를 생성한다. 일부 예에서는 체적 취득 기술(volumetric acquisition technique)을 사용하여 동적 메시를 생성한다. 체적 취득 기술은 특히 실시간 제약 조건 하에서 시변 연결 정보를 가진 동적 메시를 생성할 수 있다.
본 개시의 일 측면에 따르면, 텍스처 매핑(예컨대, 텍스처 맵, 속성 맵)은 메시 표현의 많은 부분을 소비하며, 텍스처 매핑의 효율적인 압축은 메시 압축에서 중요한 태스크 중 하나일 수 있다. 일부 예에서, 시간 인스턴스에서의 텍스처 매핑은 패치에 대응하는 2D 형상으로 구성된 이미지(예컨대, 텍스처 맵, 속성 맵)를 포함하고, 2D 형상은 UV 패치라고도 한다. 각각의 UV 패치는 시간 인스턴스에서의 메시의 표면 영역의 텍스처 정보(적색, 녹색 및 청색의 색상 값 같은 것)를 나타낸다. 이미지의 픽셀 좌표는 UV 좌표에 대응한다.
도 10은 일례에서의 2개의 시간 인스턴스에서의 텍스처 맵을 도시한다. 일부 예에서, 서로 다른 시간 인스턴스에서의 텍스처 매핑은 독립적으로 생성될 수 있고, 서로 다른 시간 인스턴스에서의 텍스처 맵 내의 관련 UV 패치는 서로 다르게 배치될 수 있다. 도 10은 제1 시간 t0에서의 제1 텍스처 맵(1010) 및 제2 시간 t1에서의 제2 텍스처 맵(1020)을 도시한다. 제1 텍스처 맵(1010)과 제2 텍스처 맵(1020)에서 관련된 UV 패치는 서로 다르게 배치된다. 예를 들어, 제1 텍스쳐 맵(1010)은 제1 시간 t0에서 사람의 얼굴에 대응하는 UV 패치(1011)를 포함하고, 제2 텍스쳐 맵(1020)은 제2 시간 t1에서 사람의 얼굴에 대응하는 UV 패치(1021)를 포함한다. UV 패치(1011)와 UV 패치(1021)는 관련되어 있다. 도 10에서 볼 수 있듯이, UV 패치(1011)와 UV 패치(1021)는 서로 다른 방향 및 서로 다른 UV 위치에 의해 각자의 텍스처 맵에 배치된다.
본 개시의 일부 측면은 패치를 시간적으로 정렬 하기 위한, 예를 들어 텍스처 맵, 속성 맵, 지오메트리 맵과 같은, 2D 맵에서 UV 패치를 시간적으로 정렬하기 위한 인코딩 기술을 제공한다. 예를 들어, 2D 맵에서의 UV 패치가 시간적으로 정렬되어 있는 경우, 예를 들어 인터 예측 기술을 사용하여 2D 맵을 보다 효율적으로 압축할 수 있다. 일부 예에서, 메시는 2D 맵을 사용하여 표현될 수 있고, 본 개시에서 "패치"라는 용어는 2D 맵의 맥락에서 UV 패치를 의미할 수 있음에 유의하기 바란다.
도 11은 본 개시의 일부 실시예에 따른 패치의 시간적 정렬의 프로세스(1100)의 도면을 도시한다. 프로세스(1100)는 메시에 대한 인코딩 프로세스 동안 사용될 수 있다. 다양한 실시예에서, 프로세스(1100)는 처리 회로에 의해 실행된다. 일부 실시예에서, 프로세스(1100)는 소프트웨어 명령어로 구현되며, 따라서 처리 회로가 소프트웨어 명령어를 실행할 때, 처리 회로는 프로세스(1100)를 수행한다. 상기 프로세스는 (S1101)에서 시작하며 패치 분석(S1110), 패치 분류(S1120), 재매핑 분석(S1130), 및 재매핑(S1140)을 포함한다.
(S1110)에서, 패치 분석을 수행한다. 패치 분석은 패치의 특성을 분석할 수 있다. 일부 예에서, 패치 분석 동안, 2D 맵(예컨대, 속성 맵, 텍스처 맵 등)에서 개별 패치의 특징점이 식별된다. 특징점은 SIFT(Scale-Invariant Feature Transform, SURF(Speedup Robust Features), GLOH(Gradient Location and Orientation Histogram), HOG(Histogram of Oriented Gradients) 등과 같은, 적합한 기술로 식별할 수 있다.
일부 예에서, 패치 분석 동안, 각 패치의 메트릭이 계산된다. 메트릭은 스케일 불변(scale-invariant) 메트릭, 회전 불변(rotation-invariant) 메트릭, 이동 불변(translation-invariant) 메트릭 또는 아핀 변환 불변(affine transform invariant) 메트릭 등일 수 있다. 몇 가지 메트릭 예가 다음 설명에서 설명될 것이다. 일부 예에서, 메트릭 예가 패치 분석에서 메트릭으로서 개별적으로 사용될 수 있다. 일부 예에서, 메트릭 예의 2개 이상의 메트릭이 결합되어 패치 분석에서 결합된 메트릭을 형성할 수 있다. 일부 예에서, 패치의 유사한 특성을 지시하는 다른 적합한 메트릭이 패치 분석에 사용될 수 있다.
일부 예에서, 패치의 3D 좌표의 중심이 패치의 메트릭으로서 계산될 수 있다. 예를 들어, 패치의 3D 좌표의 중심은 패치 내부의 포인트(예: 정점)의 3D 좌표의 서브세트의 가중 합에 의해 계산될 수 있다. 일례에서, 패치의 3D 좌표의 중심은 경계 포인트를 포함(예컨대, 경계 정점 포함)한, 패치 내부의 모든 포인트(예컨대, 정점)의 3D 좌표를 평균하여 계산될 수 있다. 다른 예에서, 패치의 3D 좌표의 중심은 경계 포인트를 제외한(예컨대, 경계 정점을 제외한), 패치 내부의 모든 포인트(예컨대, 정점)의 3D 좌표를 평균하여 계산된다. 다른 예에서, 패치의 3D 좌표의 중심은 패치의 모든 경계 정점의 3D 좌표의 평균으로서 계산된다.
일부 예에서, 패치의 UV 좌표의 중심이 패치의 메트릭으로서 계산될 수 있다. 예를 들어, 패치의 UV 좌표의 중심은 패치 내부의 포인트(예컨대, 정점)의 UV 좌표의 서브세트의 가중 합에 의해 계산할 수 있다. 일례에서, 패치의 UV 좌표의 중심은 경계 포인트(예컨대, 경계 정점)를 포함한, 패치 내부의 모든 포인트(예컨대, 정점)의 UV 좌표를 평균하여 계산될 수 있다. 다른 예에서, 패치의 UV 좌표의 중심은 경계 포인트(예컨대, 경계 정점)를 제외한, 패치 내부의 모든 포인트(예컨대, 정점)의 UV 좌표를 평균하여 계산된다. 다른 예에서, 패치의 UV 좌표의 중심은 패치의 모든 경계 정점의 UV 좌표의 평균을 취하여 계산된다.
일부 예에서, 패치에 있는 포인트들의 서브세트의 가중 평균 텍스처 또는 속성 값은 패치의 메트릭으로서 계산될 수 있다. 일례에서, 가중 평균 텍스처 또는 속성 값은 경계 포인트(예컨대, 경계 정점)을 포함한, 패치 내부의 모든 포인트(예컨대, 정점)의 텍스처 또는 (적색, 녹색, 및 청색 채널 값과 같은) 속성 값을 평균하여 계산될 수 있다. 다른 예에서, 가중 평균 텍스처 또는 속성 값은 경계 포인트(예컨대, 경계 정점)을 제외한, 패치 내부의 모든 포인트(예컨대, 정점)의 텍스처 또는 (적색, 녹색, 및 청색 채널 값과 같은) 속성 값을 평균하여 계산될 수 있다. 다른 예에서, 가중 평균 텍스처 또는 속성 값은 패치 내부의 모든 경계 정점의 텍스처 또는 (적색, 녹색, 및 청색 채널 값과 같은) 속성 값의 평균을 취하여 계산된다.
(1120)에서, 패치 분류가 수행된다. 일부 예에서, 패치 분류 동안, 주어진 시간 인스턴스에서의 패치들은 프레임간 일관성(inter-frame consistency 또는 임의의 다른 시간적/공간적 특성에 기초하여 서로 다른 카테고리로 분류될 수 있다.
일부 실시예에서, 주어진 시간 인스턴스에서의 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)의 패치들은 클래스 M과 클래스 N으로 지칭되는 2개의 클래스로 분류될 수 있다. 클래스 M은 과거 시간 인스턴스에서 참조 매칭 패치가 발견되는 패치들을 포함하고, 클래스 N에는 과거 시간 인스턴스에서 참조 매칭 패치가 발견되지 않은 패치들이 포함된다. 일부 예에서, 패치와 그 패치에 대한 참조 매칭 패치는 서로 다른 시간 인스턴스에서의 객체의 표면의 일부에 대한 표현일 수 있다. 예를 들어, 패치는 현재 시각에서의 물체의 특정 표면 부분을 표현하고, 참조 매칭 패치는 과거 시간 인스턴스에서의 객체의 특정 표면 부분을 표현한다.
패치 분류 동안, 일부 예에서, 각각의 패치에 대해, 참조 매칭 패치가 과거 시간 인스턴스에서 발견되는지 여부를 판정하기 위해, 과거 시간 인스턴스에서의 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)에 대해 참조 매치 기술이 채용된다.
일부 예에서, 기술은 주어진 시간 인스턴스에서의 패치에 대해, 예를 들어 패치 및 참조 매칭 패치가 충분히 매칭된 특징점을 가지는 경우, 특징 매칭에 기초하여 과거 시간 인스턴스에서 참조 매칭 패치를 결정할 수 있다. 일 실시예에서, 교차 특징 매칭 기술(cross feature matching technique)이 이용될 수 있다. 예를 들어, 추출된 특징점에 기초하여, 주어진 시간 인스턴스(t)에서 Pi,t로 표시되는 패치는 과거 시간 인스턴스(t-k)의 모든 패치와 매칭된다. 과거 시간 인스턴스(t-k)의 모든 패치 중에서, 패치 Pi,t에 대한 최고의 매칭 패치(예컨대, 매칭된 특징점의 수에 기초함)는 Pi0,t-k로 표시된다. 그 다음에, 과거 시간 인스턴스(t-k)에서의 패치 Pi0,t-k는 시간 인스턴스(t)의 모든 패치와 매칭되어 최고의 미래 매칭 패치를 찾는다. Pi0,t-k에 대한 최고의 미래 매칭 패치가 Pi,t인 경우, 때, Pi0,t-k와 Pi,t는 교차 특징 매칭 기술에 따라 교차 매칭된다. 그러면, 패치 Pi,t에 대해, 과거 시간 인스턴스에서 참조 매칭 패치가 존재하고, Pi,t는 클래스 M으로 분류된다. 그렇지 않으면(예컨대, Pi0,t-k에 대한 최고의 미래 매칭 패치가 Pi,t가 아니면), Pi,t는 클래스 N으로 분류된다.
일부 예에서, 패치 분류 동안, 참조 매칭 패치가 과거 시간 인스턴스에서 발견되는지 여부를 판정하기 위해, 과거 시간 인스턴스에서의 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)에 메트릭 매칭 기술이 채용된다. 일례에서, 3D 좌표의 중심을 사용하면, 시간 인스턴스(t)에서의 패치 Pi,t는 과거 시간 인스턴스(t-k)의 모든 패치와 매칭되며, 여기서 k는 양수이다. 과거 시간 인스턴스(t-k)의 모든 패치 중에서, Pi,t 패치와 3D 좌표의 중심의 차이가 최소인 패치(Pi0,t-k로 표시)가 최고의 매칭 패치로 선택될 수 있다. 3D 좌표의 중심의 차이는 l1 놈(norm), l2 놈 또는 기타 거리 측정에 의해 측정될 수 있다. 그러면, 최고의 매칭 패치 Pi0,t-k는 Pi0,t-k에 대한 최고의 미래 매핑 패치를 찾기 위해 3D 좌표의 중심을 사용하는 시간 인스턴스(t)에서 모든 패치와 매칭된다.
패치 Pi0,t-k가 과거 시간 인스턴스(t-k)에서의 패치들 중에서 패치 Pi,t에 대한 3D 좌표의 중심의 차이가 가장 작고, 또한 패치 Pi,t가 시간 인스턴스(t)에서의 패치들 중에서 패치 Pi0,t-k에 대한 3D 좌표의 중심의 차이가 가장 작으면(예컨대, 패치 Pi,t가 Pi0,t-k에 대해 최고의 미래 매칭됨), 3D 좌표의 중심의 교차 매칭에 따라 Pi0,t-k와 Pi,t는 교차 매칭되고, Pi,t는 클래스 M으로 분류된다. 그렇지 않으면(예컨대, Pi0,t-k에 대한 최고의 미래 매칭 패치가 Pi,t가 아님), Pi,t는 클래스 N으로 분류된다.
일부 예에서, 하나보다 많은 메트릭이 메트릭 매칭 기술에서 사용될 수 있다. 예를 들어, 시간 인스턴스(t)에서의 패치 Pi,t에 대해, 과거 시간 인스턴스에서의 교차 매치 패치 Pi0,t-k는 3D 좌표의 중심에 따라 발견되고,
다른 메트릭(예컨대, 평균 텍스처 값) 또는 두 개의 교차 매치 패치의 두개의 메트릭(예컨대, 평균 텍스처 값 및 UV 좌표의 중심)은, 주어진 임계값 미만(또는 두 개의 메트릭의 경우 두 개의 주어진 임계값) 미만과 같이, 작다. Pi,t는 클래스 M으로 분류된다. 그렇지 않으면(예컨대, 다른 메트릭(들)의 차이가 임계값보다 크거나 같으면), Pi,t는 클래스 N으로 분류된다.
일부 예에서, 하우스도르프 거리가 메트릭 매칭에 사용된다. 예를 들어, 시간 인스턴스 t의 패치 Pi,t는 과거 시간 인스턴스(t-k)의 모든 패치와 일치하며, 여기서 k는 3D 좌표의 Hausdorff 거리에 따른 양수입니다.
일부 예에서, 하우스도르프(Hausdorff) 거리가 메트릭 매칭에 사용된다. 예를 들어,시간 인스턴스 t에서의 패치 Pi,t는 과거 시간 인스턴스 (t-k)에서의 모든 패치에 매칭되며, 여기서, k의 3D 좌표의 Hausdorff 거리에 따라 양수이다.
일부 예에서, Hausdorff 거리는 매트릭 매칭 시에 (평균 텍스처 값, 및/또는 3D 좌표의 중심, 및/또는 UV 좌표의 중심 등과 같은) 계산된 메트릭 중 하나, 둘 또는 그 이상과 결합된다.
위의 설명에서 패치 분류는 과거 시간 인스턴스에 대해 주어진 시간 인스턴스의 참조 매칭을 수행하지만, 패치 분류는 또한 미래 시간 인스턴스에 대해 주어진 시간 인스턴스의 참조 매칭을 사용하여 적용될 수 있음에 유의하기 바란다. 예를 들어, 주어진 시간 인스턴스에서의 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)의 패치들은 클래스 M과 클래스 N이라고 하는 두 개의 클래스로 분류된다. 클래스 M은 미래의 시간 인스턴스에서 참조 매칭 패치가 발견되는 패치들을 포함하고; 클래스 N은 미래의 시간 인스턴스에서 참조 매칭 가 발견되지 않는 패치들을 포함한다.
(S1130)에서, 재매핑 분석을 수행한다. 일부 예에서, 재매핑 분석 동안, 회전 파라미터, 반사 파라미터, 이동 파라미터 등과 같은 재매핑 변환 파라미터가 각각의 패치에 대해 계산되어 패치가 시간 영역에서 더 잘 정렬되도록 한다.
일부 예에서, 재매핑 변환 파라미터는 매칭 로컬 특징점에 기초하여 도출될 수 있다.
일부 예에서, 재매핑 분석은 클래스 M의 패치를 사용하여 시작한다. 재매핑 분석이 클래스 M의 패치를 사용하여 완료된 후, 재매핑 분석은 클래스 N의 패치에 대해 수행될 수 있다.
일 실시예에서, 재맵핑 분석을 위해, 패킹된 패치 리스트 L은 비어 있도록 초기화된다. 그런 다음, 클래스 M의 패치들이 크기에 따라 정렬된다. 크기 순서에 따라 클래스 M의 패치들에 대해 재매핑 분석이 수행된다. 예를 들어, 클래스 M에서의 큰 패치는 클래스 M에서의 작은 패치보다 먼저 분석된다. 일례에서, 패치 크기는 경계를 포함한, 패치 내부의 픽셀 수에 의해 계산될 수 있다. 다른 예에서, 패치 크기는 경계를 제외한, 패치 내부의 픽셀 수에 의해 계산될 수 있다. 다른 예에서, 패치 크기는 패치를 포함하는 최소 직사각형 경계 상자의 면적이 될 수 있다.
일부 예에서, 각각의 패치에 대한 재매핑 분석 동안 회전 각도가 결정되어 참조 매칭 패치에 대한 최고의 유사도를 달성한다. 일부 예에서, 클래스 M의 패치 Pi,t는 시간 인스턴스(t-k)에서 참조 매칭 패치를 가지며, k는 양수이고, 참조 매칭 패치는 패치 Pi0,t-k로 표시된다. 일례에서, 패치 Pi,t에 대해, 회전 각도 ri,t는 각도 ri,t로 패치 Pi,t의 회전 이후에 R(Pi,t)로 표시되는 회전된 패치가 참조 Pi0,t-k에 대해 최고의 유사도(이 유사도 값을 제1 최고의 유사도 값이라고 함)를 가지는 것으로 결정된다. 일부 예에서 회전 각도 ri,t는 0과 2π 사이의 값(0 <= ri,t < 2π)이다. 일부 예에서, 유사도는 IoU(intersection over union) 값에 의해 측정될 수 있다. 일부 예에서, 유사도 척도는 회전된 패치 R(Pi,t)와 참조 매칭 패치 Pi0,t-k 사이의 교차-상관이다.
일부 예에서, 패치 Pi,t는 수평축을 따라 반사되어 반사된 패치 FPi,t를 생성하고, 반사된 패치 FPi,t가 Pi0,t-k에 대해 최고의 유사도(이 유사도의 값을 두 번째로 높은 유사도 값이라 함)를 갖도록 회전 각도 fi,t가 결정된다. 그런 다음, 첫 번째로 높은 유사도 값과 두 번째로 높은 유사도 값의 유사도 값을 비교하여 패치 Pi,t에 대해 ri,t를 사용할 것인지, 반사된 패치 Fpi,t에 fi,t를 사용할 것인지 결정할 수 있다. 일례에서, 첫 번째 유사도 값이 더 높은 경우, 최종 회전 각도는 ri,t이고; 두 번째 유사도 값이 더 높은 경우, 최종 회전 각도 ri,t는 -fi,t로 설정될 수 있다. 최종 회전 각도 ri,t의 범위는 -2π < ri,t < 2π이며, 여기서 음의 각도는 패치 Pi,t에 반사가 적용됨을 지시함에 유의하기 바란다.
일부 예에서, 반사가 적용되는지 여부를 지시하기 위해 1비트의 반사 플래그가 사용된다. 1비트의 반사 플래그를 사용하면, 회전 각도는 0에서 2π의 범위에 있다.
일부 예에서, 회전 각도 ri,t가 결정된 후, 회전된 패치 R(Pi,t)에 대한 공간 이동 값(ui,t, vi,t)이 결정된다. 일례에서, 공간 이동 값(ui,t,vi,t)은 초기에 공간 이동(공간 이동된 패치라고 하고, T(R(Pi,t)로 표시됨) 후의 UV 좌표의 중심이 참조 매칭 패치 Pi0,t-k의 UV 좌표의 줌심과 동일하도록 초기화 값으로 설정된다. 그런 다음, 공간 이동된 패치 T(R(Pi,t))는 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 이미 있는 패치와 중첩되는지를 여부를 검사받는다. 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 있는 다른 패치와 중첩되지 않는 경우(무중첩), 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 추가된다. 그런 다음, 크기 순서에 따라 클래스 M의 다음 패치에 대해 재매핑 분석이 계속될 수 있다.
일부 예에서, 공간 이동 값(ui,t,vi,t)은 회전된 패치 R(Pi,t)와 참조 매칭 패치 Pi0,t-k 사이의 교차 상관 값을 공간 이동 값에 대한 윈도를 통해 계산함으로써 초기화된다. 최고의 교차 관 값을 줄 수 있는 윈도에서의 값이 공간 이동 값(ui,t,vi,t)의 초기화 값으로 사용될 수 있다.
일부 예에서, 중첩 검사 동안, 공간 이동된 패치 T(R(Pi,t))는 패킹된 패치 리스트 L에 이미 있는 패치와 중첩되고, 그러면 공간 이동 값(ui,t,vi,t)은 초기화 값을 중심으로 한 범위 내로 점진적으로 수정될 수 있으며, 수정된 공간 이동 값으로 공간 이동된 패치 T(R(Pi,t))에 대해 중첩 검사를 수행하여 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 있는 임의의 패치와 충첩되는지를 검사한다. 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 있는 패치와 중첩되지 않는 경우, 공간 이동된 패치 T(R(Pi,t))가 패킹된 패치 리스트 L에 추가된다. 그런 다음 크기 순서에 따라 클래스 M의 다음 패치에 대해 다시 매핑 분석을 계속할 수 있다.
그러나, 일례에서, 검색 범위 내의 모든 공간 이동 값(ui,t,vi,t)에 대해, 공간 이동된 패치 T(R(Pi,t))와 패킹된 패치 리스트 L에 있는 패치들 중 일부 사이에 중첩이 발생하면, 패치 Pi,t는 클래스 M에서 제거되고 클래스 N에 추가된다. 그런 다음 크기 순서에 따라 클래스 M의 다음 패치에 대해 재매핑 분석이 계속된다.
클래스 M의 모든 패치에 대한 재매핑 분석이 완료된 후, 재매핑 분석은 클래스 N의 패치에 대해 계속된다.
일부 예에서, 클래스 N의 패치들은 크기에 따라 정렬된다. 재매핑 분석은 크기 순서를 따른다. 예를 들어, 클래스 N의 큰 패치는 클래스 N의 작은 패치 이전에 재매핑 분석된다. 일례에서, 패치 크기는 경계를 포함한, 패치 내부의 픽셀 수로 계산된다. 다른 예에서, 패치 크기는 경계를 제외한, 패치 내부의 픽셀 수이다. 다른 예에서, 패치 크기는 패치를 포함하는 가장 작은 직사각형 경계 상자의 면적이다.
일부 예에서, 클래스 N의 패치 Pi,t에 대해, 공간 이동 값(ui,t,vi,t)이 결정될 수 있다. 일례에서 공간 이동 값(ui,t,vi,t)은 초기에 공간 이동이 없음을 지시하는 (0, 0)으로 설정된다. 그런 다음, 패치 Pi,t가 패킹된 패치 리스트 L에 이미 있는 패치와 중첩되는지 패치 Pi,t가 검사된다. 패치 Pi,t가 중첩되지 않는 경우(예컨대, 패킹된 패치 리스트 L의 임의의 패치와 중첩되지 않음), 패치 Pi,t는 패킹된 패치 리스트 L에 추가된다. 그런 다음, 크기 순서에 따라 클래스 N의 다음 패치에 대해 재매핑 분석이 계속된다.
일부 예에서, 패치 Pi,t가 패킹된 패치 리스트 L의 패치와 중첩되면, 공간 이동 값(ui,t,vi,t)은 (0,0)을 중심으로 하는 범위 내에서 점진적으로 수정된다. 점진적으로 수정된 공간 이동 값을 가지는 T(Pi,t)로 표시되는 공간 이동된 패치가 패킹된 패치 리스트 L의 임의의 패치와 중첩되는지를 검사하기 위해 중첩 검사가 수행된다. T(Pi,t)로 표시되는 공간 이동된 패치가 중첩되지 않으면, 공간 이동된 패치 T(Pi,t)가 패킹된 패치 리스트 L에 추가된다. 그런 다음, 크기 순서에 따라 클래스 N의 다음 패치에 대해 재매핑 분석이 계속된다.
일부 예에서, 검색 범위 내의 모든 공간 이동 값(ui,t,vi,t)에 대해, T(Pi,t)와 패킹된 패치 리스트 L 내의 일부 패치 사이에 중첩이 발생하면, 재매핑 분석은 중지(조기 중지라고 함). 조기 중지는 주어진 검색 범위로 재매핑이 가능하지 않음을 지시한다. 일례에서, 재매핑 단계(S1140)는 생략된다. 결과적으로, 주어진 시간 인스턴스(t)에서의 재매핑은 수행되지 않을 것이다.
일부 예시에서, 클래스 N의 패치를 사용한 재매핑 분석이 조기 중지없이 완료되는 경우, 재매핑(S1140)이 수행될 수 있다.
(S1140)에서, 재매핑을 수행한다.
일부 예에서, 재매핑 동안, 새로운 텍스처 맵 또는 새로운 속성 맵과 같은, 하나 이상의 새로운 2D 맵이 시간 인스턴스(t)에 대해 생성된다. 일례에서, 원본 2D 맵(예컨대, 원본 텍스처 맵 또는 원본 속성 맵)의 각각의 픽셀을 검사하여 픽셀이 패치에 속하는지 여부를 판정할 수 있다.
픽셀이 패치 Pi,t에 속하는 경우, 픽셀은 점유된 픽셀이다. 패치 Pi,t의 점유된 픽셀의 경우, 패치 Pi,t에 대한 회전 각도 및 공간 이동 값을 적용하여 새로운 2D 맵(예: 새로운 지오메트리 맵, 새로운 텍스처 맵 또는 새로운 속성 맵)의 새로운 위치를 결정할 수 있다. 일부 예에서, 패치 Pi,t는 클래스 N에 있고, 그러면 패치 Pi,t의 재매핑 변환 파라미터가 회전 각도 파라미터를 포함하지 않을 수 있고, 그러면 회전이 픽셀에 적용되지 않을 것이다. 픽셀의 새로운 위치를 도출한 후, 원래 2D 맵의 픽셀 값(예: 지오메트리 맵, 텍스처 맵 또는 속성 값)이 새로운 2D 맵의 새로운 위치 값이 되도록 할당한다. 그런 다음, 재매핑이 계속된다.
픽셀이 어느 패치에도 속하지 않으면, 픽셀은 원래의 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)에서 점유되지 않은 픽셀이고, 재매핑은 다음 픽셀에 대해 계속된다.
원래의 2D 맵에서 점유된 모든 픽셀의 픽셀 값이 새로운 2D 맵으로 재매핑된 후, 값이 할당되지 않은 새로운 맵의 픽셀이 있을 수 있다. 이들은 새로운 2D 맵에서 점유되지 않은 픽셀이다.
새로운 2D 맵(예컨대, 새로운 지오메트리 맵, 새로운 텍스처 맵 또는 새로운 속성 맵)에서 점유되지 않은 픽셀에 대해, 임의의 적합한 값이 할당될 수 있다. 일례에서, 코딩 효율을 개선하기 위해, 점유된 공간적/시간적 이웃의 값으로부터 점유되지 않은 픽셀이 도출될 수 있다. 다른 예에서, 점유되지 않은 픽셀은 상수 값으로 할당될 수 있으며, 여기서 상수 값은 모든 점유 픽셀의 평균값 또는 중앙값일 수 있다. 다른 예에서, 경계 확장 기술(boundary expansion technique)이 사용되며, 패치의 경계가 확장되어 경계 값을 점유되지 않은 픽셀에 채운다. 다른 예에서, 밉맵 기술(mipmap technique)이 점유되지 않은 픽셀을 채우는데 사용된다.
일부 실시예에서, 지오메트리 맵, 텍스처 맵, 속성 이미지 등과 같은 각각의 2D 맵에 대해, 패치 시간 정렬이 적용되어 새로운 지오메트리 맵, 새로운 텍스처 맵, 새로운 속성 맵 등을 생성한다. 그러나, 재매핑 분석 중에 조기 중지되는 경우, 새로운 2D 맵은 원본 2D 맵의 정확한 복사본이 될 수 있다.
일부 예에서, 맨 처음 2D 맵과 같은 메시 시퀀스 시간의 시작 부분에 있는 2D 맵(예컨대, 지오메트리 맵, 텍스처 맵 또는 속성 맵)의 경우, 대응하는 새로운 2D 맵은 원본 2D 맵의 정확한 사본일 수 있다. 일부 예에서, 미래 시간 인스턴스에서의 2D 맵은 참조 프레임으로서 사용되며, 메시 시퀀스에서 맨 처음 2D 맵에 대해 새로운 2D 맵이 생성될 수 있다.
일부 예에서, 새로운 2D 맵(예컨대, 새로운 지오메트리 맵, 새로운 텍스처 맵 또는 새로운 속성 맵)이 새로운 2D 맵 시퀀스를 형성하기 위해 시간 인스턴스마다 생성되면, 새로운 2D 맵 시퀀스에 압축이 적용될 수 있다.
일부 예에서, 2D 맵(예컨대, 텍스처 맵 또는 속성 맵)을 디코더 측에서 원래의 UV 좌표로 복원하기 위해, 각각의 패치에 대한 재매핑 변환 파라미터가 인코더와 디코더 사이에서 전달될 수 있어, 디코더는 원본 2D 맵를 복원할 수 있다.
본 개시의 일 측면에 따르면, 재매핑 변환 파라미터는 다양한 기술에 의해 코딩될 수 있다. 일부 예에서, 각각의 패치에 대해, 재매핑 변환이 자명하지 않은 변환(non-trivial transform)인지 여부를 지시하기 위해 1비트의 변환 플래그가 시그널링될 수 있다. 자명한 변환은 반사가 없고 회전 각도가 0도이고 공간 이동 값이 (0, 0)인 재매핑 변환이다. 일부 예에서, 회전 각도는 코딩 전에 양자화될 수 있다. 일례에서, 회전 각도의 양자화는 π/2, π/4의 양자화 스텝 또는 다른 양자화 스텝으로 수행될 수 있다. 일부 예에서, 공간 이동 값은 코딩 전에 양자화될 수 있다. 공간 이동 값의 양자화는 정수 값의 양자화 스텝, 부동 소수점 값 또는 일부 다른 양자화 스텝으로 수행될 수 있다.
일부 실시예에서, (Wavefront obj 파일처럼, 3D 지오메트리 표현과 같은) 메시 표현에서의 UV 좌표가 업데이트된다. 예를 들어, 지오메트리 맵가 새로운 지오메트리 맵으로 업데이트된다. UV 좌표가 업데이트된 후, 재매핑 변환 파라미터를 인코딩할 필요가 없다.
본 개시의 다른 측면에 따르면, 인코더 측에서 적응적 샘플링이 적용될 수 있다. 일부 예에서, 패치의 시간적 정렬 방법은 적응적 샘플링 방법과 함께 사용될 수 있다.
적응적 샘플링에서, 샘플링 스텝은 정보를 표현하는 데 필요한 대역폭을 줄일 수 있는 지오메트리 맵, 텍스처 맵 또는 속성 맵에 적응적으로 적용된다. 적응적 샘플링 후, 지오메트리 맵, 텍스쳐 맵, 속성 맵 등과 같은 2D 맵에서의 패치는 시간적으로 정렬될 수 있다. 패치는 적응적 샘플링 동안 다른 샘플링 레이트로 샘플링되었을 수 있음에 유의하기 바란다.
도 12는 본 개시의 일 실시예에 따른 프로세스(1200)를 개략적으로 설명하는 흐름도를 도시한다. 프로세스(1200)는 메시에 대한 인코딩 프로세스 동안 사용될 수 있다. 다양한 실시예에서, 프로세스(1200)는 처리 회로에 의해 실행된다. 일부 실시예에서, 프로세스(1200)는 소프트웨어 명령어로 구현되며, 따라서 처리 회로가 소프트웨어 명령어를 실행할 때, 처리 회로는 프로세스(1200)를 수행한다. 프로세스는 (S1201)에서 시작하여 (S1210)으로 진행한다.
(S1210)에서, 적어도 제1 시간 인스턴스과 연관된 제1 메시 프레임 및 제2 시간 인스턴스과 연관된 제2 메시 프레임이 수신된다. 제1 메시 프레임과 제2 메시 프레임은 객체의 표면을 다각형으로 표현한다. 제1 메시 프레임은 제1 시간 인스턴스에서 2D에 매핑된 3D 정보를 갖는 제1 패치들이 있는 제1의 2D 맵을 포함한다. 제2 메시 프레임은 제2 시간 인스턴스에서 2D에 매핑된 3D 정보를 갖는 제2 패치들이 있는 제2의 2D 맵을 포함한다.
(S1220)에서, 제1 패치들 중 하나의 제1 패치가 제2 패치들 중 하나의 제2 패치에 대한 참조 매칭 패치로서 식별된다.
(S1230)에서, 제1의 2D 맵에서의 제1 패치에 대한 제2 패치의 시간적 정렬을 위한 제1 재매핑 변환 파라미터를 결정한다.
(S1240)에서, 제2의 2D 맵에 대응하는 새로운 제2의 2D 맵이 생성된다. 새로운 제2의 2D 맵은 제1 재매핑 변환 파라미터에 따라 제2 패치로부터 변환되는 변환된 제2 패치를 포함한다.
일부 예에서, 제2 패치에 대한 참조 매칭 패치가 될 제1 패치를 식별하기 위해, 교차 매치 기술(cross match technique)이 사용된다. 일례에서, 제1 패치들에 대한 제2 패치의 제1 매칭 메트릭들이 개별적으로 결정된다. 제1 매칭 메트릭들에 따라 제1 패치들 중에서 최고의 매칭 패치로서 제1 패치가 선택된다. 그런 다음, 제2 패치들에 대한 제1 패치의 제2 매칭 메트릭들이 개별적으로 결정된다. 제2 매칭 메트릭들에 따라 제2 패치가 최고의 매칭 패치인 것에 대한 응답으로 제1 패치가 제2 패치에 대한 참조 매칭 패치인 것으로 결정된다.
일례에서, 제2 패치와 특정 패치의 매칭된 특징점에 따라 제1 패치들 중의 특정 패치에 대한 제2 패치의 매칭 메트릭이 결정된다. 다른 예에서, 제2 패치의 3D 좌표의 중심과 특정 패치의 3D 좌표의 중심 사이의 차이에 따라, 제1 패치들 중의 특정 패치에 대한 제2 패치의 매칭 메트릭이 결정된다. 다른 예에서, 제2 패치와 특정 패치 사이의 3D 좌표의 하우스도르프 거리(Hausdorff distance)에 따라 제1 패치들 중의 특정 패치에 대한 제2 패치의 매칭 메트릭이 결정된다.
일부 예에서, 시간적 정렬을 위한 제1 재매핑 변환 파라미터는 회전 파라미터, 반사 파라미터 및 공간 이동 파라미터 중 적어도 하나를 포함한다.
일부 실시예에서, 제2 패치에 대한 제1 재매핑 변환 파라미터는 적어도 제1 메시 프레임 및 제2 메시 프레임을 실어 전달하는 비트스트림으로 인코딩된다.
일부 실시예에서, 제1 재매핑 변환 파라미터에 따라 제2 메시 프레임의 지오메트리 2D 맵이 업데이트된다.
일부 실시예에서, 제2 패치들은 제1 클래스와 제2 클래스로 분류된다. 제1 클래스는 제1 패치들 중에서 식별된 대응하는 참조 매칭 패치들이 있는 제2 패치들의 제1 서브세트를 포함하고, 제2 클래스는 제1 패치들 중에서 식별된 참조 매칭 패치가 없는 제2 패치들의 제2 서브세트를 포함한다.
일부 예에서, 크기에 따라 제2 패치들의 제1 서브세트는 크기 순서에 따른 제1 패치 시퀀스로 정렬되고, 제1 패치 시퀀스에 따라 제2 패치들의 제1 서브세트에 대한 개별 재매핑 변환 파라미터가 결정된다. 일례에서, 크기 순서에 따라 제1 패치 시퀀스로부터 제2 패치가 선택된다. 제1 패치 시퀀스는 크기가 제2 패치보다 큰 제3 패치를 적어도 포함한다. 제3 패치에 대한 제2 재매핑 변환 파라미터들가 결정되었으며, 제2 재매핑 변환 파라미터에 따라 변환된 제3 패치는 패킹된 패치 리스트에 추가된다. 제1 패치와 유사도가 가장 높은 회전된 제2 패치를 생성하기 위한 제1 회전 각도가 결정되고; 패킹된 패치 리스트 내의 변환된 패치들과의 중첩을 피하기 위해 회전된 제2 패치를 이동시키기 위한 제1 공간 이동 값이 결정된다. 제2 패치가 제1 회전 각도 및 제1 공간 이동 값에 따라 변환되어 변환된 제2 패치를 생성한다. 패킹된 패치 리스트에 변환된 제2 패치가 추가된다.
일부 예에서, 반사된 제2 패치와 제1 패치의 최고 유사도와 두 번째로 높은 유사도의 유사도 비교에 기초하여 제2 패치의 반사 여부가 판정된다.
일부 예에서, 무중첩을 허용하는 미리 정의된 윈도에 공간 이동 값이 없는 것에 대한 응답으로, 제2 패치가 제1 클래스로부터 제거되고 제2 클래스에 추가된다(예컨대, 제2 클래스로 재분류된다).
일부 예에서, 크기에 따라 제2 패치들의 제2 서브세트가 크기 순서에 따른 제2 패치 시퀀스로 정렬된다. 그 다음에, 제2 패치 시퀀스에 따라 제2 패치들의 제2 서브세트에 대한 개별 재매핑 변환 파라미터가 결정된다.
그런 다음, 프로세스는 (S1299)로 진행하여 종료된다.
프로세스(1200)는 적절하게 적용될 수 있다. 프로세스(1200)의 단계(들)는 수정 및/또는 생략될 수 있다. 추가 단계(들)이 추가될 수 있다. 임의의 적합한 구현 순서가 사용될 수 있다.
본 명세서에 개시된 기술은 개별적으로 또는 임의의 순서로 조합되어 사용될 수 있다. 또한, 각각의 기술(예컨대, 방법, 실시예), 인코더 및 디코더는 처리 회로(예컨대, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일부 예에서, 하나 이상의 프로세서는 컴퓨터로 판독 가능한 비일시적 매체에 저장된 프로그램을 실행한다.
전술한 기술은 컴퓨터로 판독 가능한 명령어를 사용하고 또 하나 이상의 컴퓨터로 판독 가능한 매체에 물리적으로 저장될 수 있는 컴퓨터 소프트웨어로서 구현될 수 있다. 예를 들어, 도 13는 개시된 주제의 특정 실시예를 구현하기에 적합한 컴퓨터 시스템(1300)을 도시한다.
컴퓨터 소프트웨어는 하나 이상의 컴퓨터 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU) 등에 의해, 어셈블리(assembly), 컴파일(compilation), 링킹(linking), 또는 이와 유사한 메커니즘을 거쳐 직접, 또는 해석(interpretation), 마이크로 코드 실행(micro-code execution) 등을 통해 실행될 수 있는 명령어를 포함하는 코드를 생성할 수 있는 임의의 적합한 기계어 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령어는, 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게이밍 디바이스, 사물 인터넷 디바이스 등을 포함한, 다양한 유형의 컴퓨터 또는 그 구성요소에서 실행될 수 있다.
도 13에 도시된 컴퓨터 시스템(1300)의 구성요소는 본질적으로 예시적인 것이며, 본 개시의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 어떠한 한정도 시사하려는 것은 아니다. 구성요소의 구성은 컴퓨터 시스템(1300)의 예시적인 실시예에 나타낸 구성요소 중 어느 하나 또는 조합과 관련된 임의의 종속성 또는 요건을 가지는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(1300)은 특정 휴먼 인터페이스 입력 디바이스(human interface input device)를 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는 한 명 이상의 인간 사용자에 의한 입력, 예를 들어 촉각 입력(예: 키 누름(keystroke), 스와이프(swip), 데이터 장갑 움직임), 오디오 입력(예: 음성, 박수), 시각적 입력(예: 제스처), 후각 입력(도시되지 않음)에 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스는 또한 오디오(예: 음성, 음악, 주변 소리), 이미지(예: 스캔된 이미지, 정지 이미지 카메라로부터 획득한 픽처 이미지), 비디오(예: 2차원 비디오, 입체 비디오(stereoscopic video)를 포함한 3차원 비디오)와 같은, 사람에 의한 의식적 입력과 반드시 직접 관련이 있는 것은 아닌 특정 미디어를 캡처하는 데 사용될 수도 있다.
입력 휴먼 인터페이스 디바이스는 키보드(1301), 마우스(1302), 트랙 패드(1303), 터치 스크린(1310), 데이터 장갑(도시되지 않음), 조이스틱(1305), 마이크로폰(1306), 스캐너(1307), 카메라(1308) 중 하나 이상(각각 하나만 표시됨)을 포함할 수 있다.
컴퓨터 시스템(1300)은 특정 휴먼 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는 예를 들어 촉각 출력, 소리, 빛 및 냄새/맛을 통해, 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는 촉각 출력 디바이스(예: 터치 스크린(1310), 데이터 장갑(도시되지 않음), 또는 조이스틱(1305)에 의한 촉각 피드백이지만, 입력 디바이스의 역할을 하지 않는 촉각 피드백 디바이스도 있을 수 있음), 오디오 출력 디바이스(예: 스피커(1309), 헤드폰(도시되지 않음)), 시각적 출력 디바이스(예: 각각 터치 스크린 입력 기능이 있거나 없는, 각각 촉각 피드백 기능이 있거나 없는, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함한, 스크린(1310) - 그 일부는 스테레오그래픽 출력(stereographic), 가상 현실 안경(virtual-reality glasses)(도시되지 않음), 홀로그래픽 디스플레이(holographic display) 및 연기 탱크(smoke tank)(도시되지 않음)와 같은 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 할 수 있음 -), 및 프린터(도시되지 않음)를 포함할 수 있다.
컴퓨터 시스템(1300)은 또한 CD/DVD 등의 매체(1321)를 갖는 CD/DVD ROM RW(1320)을 포함한 광학 매체, 썸 드라이브(thumb-drive)(1322), 착탈 가능한 하드 드라이브 또는 솔리드 스테이트 드라이브(1323), 테이프 및 플로피 디스크(도시되지 않음)와 같은 레거시 자기 매체, 보안 동글(security dongle)(도시되지 않음)과 같은 특수한 ROM/ASIC/PLD 기반 기기 등의 인간이 액세스할 수 있는 저장 디바이스 및 그 연관 매체를 포함할 수도 있다.
당업자는 또한 현재 개시된 주제와 관련하여 사용된 바와 같이 "컴퓨터로 판독 가능한 매체"라는 용어가 송신 매체, 반송파(carrier wave) 또는 기타 일시적인 신호를 포함하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(1300)은 또한 하나 이상의 통신 네트워크(1355)에 대한 인터페이스(1354)를 포함할 수 있다. 네트워크는 예를 들어 무선, 유선, 광 등의 네트워크일 수 있다. 네트워크는 또한 로컬, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등의 네트워크일 수 있다. 네트워크의 예로는 이더넷; 무선 LAN; GSM, 3G, 4G, 5G, LTE, 등을 포함하는 셀룰러 네트워크; 케이블 TV, 위성 TV, 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크; CANBus를 포함하는 차량 및 산업용, 등을 포함한다. 특정 네트워크는 일반적으로 특정 범용 데이터 포트 또는 주변 버스(1349)(예: 컴퓨터 시스템(1300)의 USB 포트)에 부착된 외부 네트워크 인터페이스 어댑터)를 필요로 하며; 다른 것은 일반적으로 이하에 설명하는 바와 같이 시스템 버스에 부착함으로써 컴퓨터 시스템(1300)의 코어에 통합된다(예: PC 컴퓨터 시스템에의 이더넷 인터페이스 또는 스마트폰 컴퓨터 시스템에의 셀룰러 네트워크 인터페이스). 이러한 네트워크 중 임의의 것을 사용하여, 컴퓨터 시스템(1300)은 다른 네트워크와 통신할 수 있다. 이러한 통신은 단방향, 수신 전용(예: TV 방송), 단방향 전송 전용(예: CANbus에서 특정 CANbus 디바이스로) 또는 양방향(예: 로컬 또는 광역 디지털 네트워크를 사용하여 다른 컴퓨터 시스템으로)일 수 있다. 특정 프로토콜 및 프로토콜 스택이 전술한 바와 같은 네트워크 및 네트워크 인터페이스 각각에 사용될 수 있다.
전술한 휴먼 인터페이스 디바이스, 인간이 액세스 가능한 저장 디바이스 및 네트워크 인터페이스는 컴퓨터 시스템(1300)의 코어(1340)에 부착될 수 있다.
코어(1340)는 하나 이상의 중앙 처리 유닛(CPU)(1341), 그래픽 처리 유닛(GPU)(1342), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Area, FPGA)(1343) 형태의 특화된 프로그램 가능한 처리 유닛, 특정 태스크를 위한 하드웨어 가속기(1344), 그래픽 어댑터(1350) 등을 포함할 수 있다. 판독 전용 메모리(Read-only memory, ROM)(1345), 랜덤 액세스 메모리(1346), 사용자가 액세스할 수 없는 내부 하드 드라이브, SSD 등의 내부 대용량 저장장치(1347)와 함께, 이러한 기기는 시스템 버스(1348)을 통해 연결될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(1348)는 추가적인 CPU, GPU 등에 의한 확장을 가능하게 하는 하나 이상의 물리 플러그의 형태로 액세스 가능할 수 있다. 주변 디바이스는 코어의 시스템 버스(1348)에 직접 연결되거나 주변 버스(1349)를 통해 연결될 수 있다. 일례에서, 스크린(1310)이 그래픽 어댑터(1350)에 연결될 수 있다. 주변 버스를 위한 아키텍처로는 PCI, USB 등을 포함한다.
CPU(1341), GPU(1342), FPGA(1343) 및 가속기(1344)는, 조합하여, 전술한 컴퓨터 코드를 구성할 수 있는 특정 명령어를 실행할 수 있다. 해당 컴퓨터 코드는 ROM(1345) 또는 RAM(1346)에 저장될 수 있다. 이행 데이터(transitional data)는 RAM(1346)에도 저장될 수 있는 반면, 영구 데이터는 예를 들어, 내부 대용량 저장장치(1347)에 저장될 수 있다. 메모리 디바이스 중 어느 것에 대한 빠른 저장 및 검색은 하나 이상의 CPU(1341), GPU(1342), 대용량 저장장치(1347), ROM(1345), RAM(1346) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터로 판독 가능한 매체는 다양한 컴퓨터로 구현되는 동작(computer-implemented operation)을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시의 목적을 위해 특별히 설계되고 구축된 것일 수 있거나, 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려져 있고 이용 가능한 종류의 것일 수 있다.
한정이 아닌 예로서, 아키텍처(1300), 구체적으로 코어(1340)를 갖는 컴퓨터 시스템은 하나 이상의 유형의 컴퓨터로 판독 가능한 매체에 구현된 소프트웨어를 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속기 등을 포함)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터로 판독 가능한 매체는 위에서 소개한 바와 같이 사용자가 액세스할 수 있는 대용량 저장장치와 연관된 매체일 수 있을 뿐만 아니라 코어 내부 대용량 저장장치(1347) 또는 ROM(1345)과 같은, 비일시적인 성질의 코어(1340)의 특정 저장장치일 수 있다. 본 개시의 다양한 실시예를 구현하는 소프트웨어는 이러한 디바이스에 저장되고 코어(1340)에 의해 실행될 수 있다. 컴퓨터로 판독 가능한 매체는 구체적인 필요에 따라, 하나 이상의 메모리 소자 또는 칩을 포함할 수 있다. 소프트웨어는 코어(1340) 및 특히 내부의 프로세서(CPU, GPU, FPGA 등 포함)로 하여금 RAM(1346)에 저장된 데이터 구조를 정의하고 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여, 여기에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하도록 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은 여기에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하기 위해 소프트웨어 대신 또는 소프트웨어와 함께 작동할 수 있는, 논리 배선(logic hardwired)의 결과로서 그렇지 않으면 회로(예: 가속기(1344))에 다른 방식으로 구현되는 기능을 제공할 수 있다. 소프트웨어에 대한 언급은 논리를 포함할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 컴퓨터로 판독 가능한 매체에 대한 언급은 실행을 위한 소프트웨어를 저장하는 회로(예: 집적 회로(IC)), 실행을 위한 논리를 구현하는 회로, 또는 적절한 경우 둘 다를 포함할 수 있다. 본 개시는 하드웨어와 소프트웨어의 임의의 적합한 조합을 포함한다.
특정 발명이 예시적인 실시예를 참조하여 설명되었지만, 이 설명은 한정하려는 의도가 아니다. 본 발명의 예시적인 실시예의 다양한 수정 및 추가적인 실시예는 이 설명으로부터 당업자에게 명백할 것이다. 당업자는 본 발명의 사상 및 범위를 벗어나지 않고 본 명세서에 도시되고 설명된 예시적인 실시예에 대해 이들 및 다양한 다른 수정이 이루어질 수 있음을 쉽게 인식할 것이다. 따라서 첨부된 청구범위는 임의의 그러한 수정 및 대안 실시예를 포함할 것으로 생각된다. 도면 내에서 특정 비율은 과장될 수 있으며, 다른 비율은 최소화될 수 있다. 따라서, 본 개시 및 도면은 한정적이라기보다는 예시적인 것으로 간주되어야 한다.

Claims (20)

  1. 메시 인코딩 방법으로서,
    제1 시간 인스턴스와 연관된 제1 메시 프레임 및 제2 시간 인스턴스와 연관된 제2 메시 프레임을 적어도 수신하는 단계 - 상기 제1 메시 프레임 및 상기 제2 메시 프레임은 객체의 표면을 다각형으로 표현하며, 상기 제1 메시 프레임은 이차원(2D)에 매핑된 3차원(3D) 정보를 갖는 제1 패치들이 있는 제1의 2D 맵을 포함하고, 상기 제2 메시 프레임은 2D에 매핑된 3D 정보를 갖는 제2 패치들이 있는 제2의 2D 맵을 포함함 -;
    상기 제1 패치들 중 하나의 제1 패치가 상기 제2 패치들 중 하나의 제2 패치에 대한 참조 매칭 패치(reference matching patch)인 것으로 식별하는 단계;
    상기 제1의 2D 맵에서의 상기 제1 패치에 대한 상기 제2 패치의 시간적 정렬을 위한 제1 재매핑 변환 파라미터를 결정하는 단계; 및
    상기 제2의 2D 맵에 대응하는 새로운 제2의 2D 맵을 생성하는 단계 - 상기 새로운 제2의 2D 맵은 상기 제1 재매핑 변환 파라미터에 따라 상기 제2 패치로부터 변환되는 변환된 제2 패치를 포함함 -
    를 포함하는 메시 인코딩 방법.
  2. 제1항에 있어서,
    상기 제1 패치가 상기 제2 패치에 대한 참조 매칭 패치인 것으로 식별하는 단계는,
    상기 제1 패치들에 대한 상기 제2 패치의 제1 매칭 메트릭들을 개별적으로 결정하는 단계; 및
    상기 제1 매칭 메트릭들에 따라 상기 제1 패치들 중에서 최고의 매칭 패치로서 상기 제1 패치를 선택하는 단계
    를 포함하는, 메시 인코딩 방법.
  3. 제2항에 있어서,
    상기 제2 패치들에 대한 상기 제1 패치의 제2 매칭 메트릭들을 개별적으로 결정하는 단계; 및
    상기 제2 매칭 메트릭들에 따라 상기 제2 패치가 최고의 매칭 패치인 것에 대한 응답으로 상기 제1 패치가 상기 제2 패치에 대한 상기 참조 매칭 패치인 것으로 결정하는 단계
    를 더 포함하는 메시 인코딩 방법.
  4. 제2항에 있어서,
    상기 제1 패치들에 대한 상기 제2 패치의 제1 매칭 메트릭들을 개별적으로 결정하는 단계는,
    상기 제2 패치와 특정 패치의 매칭된 특징점에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정하는 단계;
    상기 제2 패치의 3D 좌표의 중심과 특정 패치의 3D 좌표의 중심 사이의 차이에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정하는 단계; 및
    상기 제2 패치와 특정 패치 사이의 3D 좌표의 하우스도르프 거리(Hausdorff distance)에 따라 상기 제1 패치들 중의 상기 특정 패치에 대한 상기 제2 패치의 매칭 메트릭을 결정하는 단계
    중 적어도 하나를 더 포함하는, 메시 인코딩 방법.
  5. 제1항에 있어서,
    상기 제1 패치에 대한 상기 제2 패치의 시간적 정렬을 위한 제1 재매핑 변환 파라미터를 결정하는 단계는,
    회전 파라미터, 반사 파라미터 및 공간 이동 파라미터 중 적어도 하나를 결정하는 단계를 더 포함하는, 메시 인코딩 방법.
  6. 제1항에 있어서,
    상기 제2 패치에 대한 상기 제1 재매핑 변환 파라미터를 적어도 상기 제1 메시 프레임 및 상기 제2 메시 프레임을 실어 전달하는 비트스트림으로 인코딩하는 단계를 더 포함하는 메시 인코딩 방법.
  7. 제1항에 있어서,
    상기 제1 재매핑 변환 파라미터에 따라 상기 제2 메시 프레임의 기하구조 2D 맵을 업데이트하는 단계를 더 포함하는 메시 인코딩 방법.
  8. 제1항에 있어서,
    상기 제2 패치들을 제1 클래스와 제2 클래스로 분류하는 단계를 더 포함하고,
    상기 제1 클래스는 상기 제1 패치들 중에서 식별된 대응하는 참조 매칭 패치들이 있는 상기 제2 패치들의 제1 서브세트를 포함하고,
    상기 제2 클래스는 상기 제1 패치들 중에서 식별된 참조 매칭 패치가 없는 상기 제2 패치들의 제2 서브세트를 포함하는, 메시 인코딩 방법.
  9. 제8항에 있어서,
    크기에 따라 상기 제2 패치들의 상기 제1 서브세트를 크기 순서에 따른 제1 패치 시퀀스로 정렬하는 단계; 및
    상기 제1 패치 시퀀스에 따라 상기 제2 패치들의 상기 제1 서브세트에 대한 개별 재매핑 변환 파라미터를 결정하는 단계
    를 더 포함하는 메시 인코딩 방법.
  10. 제9항에 있어서,
    상기 제1 패치 시퀀스 내의 패치들에 대한 개별 재매핑 변환 파라미터를 결정하는 단계는,
    상기 크기 순서에 따른 상기 제1 패치 시퀀스로부터 상기 제2 패치를 선택하는 단계 - 상기 제1 패치 시퀀스는 크기가 상기 제2 패치보다 큰 제3 패치를 적어도 포함하고, 상기 제3 패치에 대한 제2 재매핑 변환 파라미터들이 결정되며, 상기 제2 재매핑 변환 파라미터에 따라 변환된 제3 패치는 패킹된 패치 리스트에 추가됨 -;
    상기 제1 패치와 유사도가 가장 높은 회전된 제2 패치를 생성하기 위한 제1 회전 각도를 결정하는 단계; 및
    상기 패킹된 패치 리스트 내의 변환된 패치들과의 중첩을 피하기 위해 상기 회전된 제2 패치를 이동시키기 위한 제1 공간 이동 값을 결정하는 단계
    를 더 포함하는, 메시 인코딩 방법.
  11. 제10항에 있어서,
    상기 제1 회전 각도 및 상기 제1 공간 이동 값에 따라 상기 제2 패치의 변환된 제2 패치를 결정하는 단계; 및
    상기 패킹된 패치 리스트에 상기 변환된 제2 패치를 추가하는 단계
    를 더 포함하는 메시 인코딩 방법.
  12. 제10항에 있어서,
    반사된 제2 패치와 상기 제1 패치의 최고 유사도와 두 번째로 높은 유사도의 유사도 비교에 기초하여 상기 제2 패치의 반사 여부를 판정하는 단계를 더 포함하는 메시 인코딩 방법.
  13. 제10항에 있어서,
    무중첩을 허용하는 미리 정의된 윈도에 공간 이동 값이 없는 것에 대한 응답으로 상기 제2 패치를 상기 제2 클래스로 재분류하기로 결정하는 단계를 더 포함하는 메시 인코딩 방법.
  14. 제9항에 있어서,
    크기에 따라 상기 제2 패치들의 제2 서브세트를 크기 순서에 따른 제2 패치 시퀀스로 정렬하는 단계; 및
    상기 제2 패치 시퀀스에 따라 상기 제2 패치들의 제2 서브세트에 대한 개별 재매핑 변환 파라미터를 결정하는 단계
    를 더 포함하는 메시 인코딩 방법.
  15. 제9항에 있어서,
    패치의 크기를,
    상기 패치의 경계를 포함한 상기 패치 내의 픽셀 수;
    상기 패치의 경계를 제외한 상기 패치 내의 픽셀 수; 및
    상기 패치를 구성하는 최소 직사각형 경계 상자의 면적
    중 적어도 하나에 따라 결정하는 단계를 더 포함하는 메시 인코딩 방법.
  16. 처리 회로를 포함하는, 메시 처리 장치로서,
    상기 처리 회로는,
    제1 시간 인스턴스와 연관된 제1 메시 프레임 및 제2 시간 인스턴스와 연관된 제2 메시 프레임을 적어도 수신하도록 - 상기 제1 메시 프레임 및 상기 제2 메시 프레임은 객체의 표면을 다각형으로 표현하며, 상기 제1 메시 프레임은 이차원(2D)에 매핑된 3차원(3D) 정보를 갖는 제1 패치들이 있는 제1의 2D 맵을 포함하고, 상기 제2 메시 프레임은 2D에 매핑된 3D 정보를 갖는 제2 패치들이 있는 제2의 2D 맵을 포함함 -;
    상기 제1 패치들 중 하나의 제1 패치가 상기 제2 패치들 중 하나의 제2 패치에 대한 참조 매칭 패치인 것으로 식별하도록;
    상기 제1의 2D 맵에서의 상기 제1 패치에 대해 상기 제2 패치를 정렬하는 제1 재매핑 변환 파라미터를 결정하도록; 그리고
    상기 제1 재매핑 변환 파라미터에 따라 상기 제2 패치로부터 변환되는 변환된 제2 패치가 있는 새로운 제2의 2D 맵을 생성하도록
    구성되는, 장치.
  17. 제16항에 있어서,
    상기 처리 회로는,
    상기 제1 패치들에 대한 상기 제2 패치의 제1 매칭 메트릭들을 개별적으로 결정하도록;
    상기 제1 매칭 메트릭들에 따라 상기 제1 패치들 중에서 최고의 매칭 패치로서 상기 제1 패치를 선택하도록;
    상기 제2 패치들에 대한 상기 제1 패치의 제2 매칭 메트릭들을 개별적으로 결정하도록; 그리고
    상기 제2 매칭 메트릭들에 따라 상기 제2 패치가 최고의 매칭 패치인 것에 대한 응답으로 상기 제1 패치가 상기 제2 패치에 대한 상기 참조 매칭 패치인 것으로 결정하도록
    구성되는, 장치.
  18. 제16항에 있어서,
    상기 처리 회로는,
    상기 제2 패치들을 제1 클래스와 제2 클래스로 분류하도록 구성되며,
    상기 제1 클래스는 상기 제1 패치들 중에서 식별된 대응하는 참조 매칭 패치들이 있는 상기 제2 패치들의 제1 서브세트를 포함하고,
    상기 제2 클래스는 상기 제1 패치들 중에서 식별된 대응하는 참조 매칭 패치가 없는 상기 제2 패치들의 제2 서브세트를 포함하는, 장치.
  19. 제18항에 있어서,
    상기 처리 회로는,
    크기에 따라 상기 제2 패치들의 상기 제1 서브세트를 크기 순서에 따른 제1 패치 시퀀스로 정렬하도록; 그리고
    상기 제1 패치 시퀀스에 따라 상기 제2 패치들의 상기 제1 서브세트에 대한 개별 재매핑 변환 파라미터를 결정하도록
    구성되는, 장치.
  20. 제19항에 있어서,
    상기 처리 회로는,
    상기 크기 순서에 따른 상기 제1 패치 시퀀스로부터 상기 제2 패치를 선택하도록 - 상기 제1 패치 시퀀스는 크기가 상기 제2 패치보다 큰 제3 패치를 적어도 포함하고, 상기 제3 패치에 대한 제2 재매핑 변환 파라미터들이 결정되며, 상기 제2 재매핑 변환 파라미터에 따라 변환된 제3 패치는 패킹된 패치 리스트에 추가됨 -;
    상기 제1 패치와 가장 유사도가 높은 회전된 제2 패치를 생성하기 위한 제1 회전 각도를 결정하도록; 그리고
    상기 패킹된 패치 리스트 내의 변환된 패치와의 중첩을 피하기 위해 상기 회전된 제2 패치를 이동시키기 위한 제1 공간 이동 값을 결정하도록
    구성되는, 장치.
KR1020237028944A 2021-11-22 2022-09-27 메시 압축을 위한 패치 시간적 정렬의 인코딩 KR20230135646A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163264421P 2021-11-22 2021-11-22
US63/264,421 2021-11-22
US17/951,942 US20230162403A1 (en) 2021-11-22 2022-09-23 Encoding of patch temporal alignment for mesh compression
US17/951,942 2022-09-23
PCT/US2022/077117 WO2023091814A1 (en) 2021-11-22 2022-09-27 Encoding of patch temporal alignment for mesh compression

Publications (1)

Publication Number Publication Date
KR20230135646A true KR20230135646A (ko) 2023-09-25

Family

ID=86384085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237028944A KR20230135646A (ko) 2021-11-22 2022-09-27 메시 압축을 위한 패치 시간적 정렬의 인코딩

Country Status (5)

Country Link
US (1) US20230162403A1 (ko)
JP (1) JP2024512921A (ko)
KR (1) KR20230135646A (ko)
CN (1) CN117136545A (ko)
WO (1) WO2023091814A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367770B2 (en) * 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
CN114641802A (zh) * 2019-10-02 2022-06-17 交互数字Vc控股法国有限公司 用于对体积视频进行编码、传输和解码的方法和装置
US20210150278A1 (en) * 2019-11-14 2021-05-20 Zoox, Inc. Depth data model training
US11477483B2 (en) * 2020-01-08 2022-10-18 Apple Inc. Video-based point cloud compression with variable patch scaling
WO2021170906A1 (en) * 2020-02-28 2021-09-02 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video

Also Published As

Publication number Publication date
JP2024512921A (ja) 2024-03-21
CN117136545A (zh) 2023-11-28
US20230162403A1 (en) 2023-05-25
WO2023091814A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US20230063575A1 (en) Patch zippering for mesh compression
JP7476432B2 (ja) メッシュ復元のための方法、装置及びコンピュータプログラム
JP2024516059A (ja) エンコーダによるメッシュ圧縮のための適応サンプリングの方法および装置
JP2024515984A (ja) メッシュ圧縮のための境界ジオメトリ情報の予測コーディング
US20230162404A1 (en) Decoding of patch temporal alignment for mesh compression
US20230196663A1 (en) Checking overlapping-free property for patches in mesh compression
US11924434B2 (en) 2D atlas adaptive sampling in 3D mesh compression
US20230177738A1 (en) Dynamic mesh compression based on point cloud compression
KR20230148257A (ko) 지오메트릭과 시맨틱 정보를 사용한 맨해튼 레이아웃 추정
KR20230135646A (ko) 메시 압축을 위한 패치 시간적 정렬의 인코딩
US11967025B2 (en) Detection of boundary loops in non-manifold meshes
US20230074762A1 (en) Vertex reordering for mesh compression
US20230222697A1 (en) Mesh compression with deduced texture coordinates
US20230090677A1 (en) Coding connectivity in vertex reordering methods for mesh compression
US20240062466A1 (en) Point cloud optimization using instance segmentation
KR20230173702A (ko) 3d 메시를 2d 맵에 빠르고 컴팩트하게 패킹하기 위한 컨볼루셔널 접근법
JP2024509988A (ja) チャートベースのメッシュ圧縮の方法、装置およびコンピュータプログラム

Legal Events

Date Code Title Description
A201 Request for examination