KR20240089239A - 메시 압축에서의 텍스처 좌표 예측 - Google Patents

메시 압축에서의 텍스처 좌표 예측 Download PDF

Info

Publication number
KR20240089239A
KR20240089239A KR1020247014599A KR20247014599A KR20240089239A KR 20240089239 A KR20240089239 A KR 20240089239A KR 1020247014599 A KR1020247014599 A KR 1020247014599A KR 20247014599 A KR20247014599 A KR 20247014599A KR 20240089239 A KR20240089239 A KR 20240089239A
Authority
KR
South Korea
Prior art keywords
vertex
coordinates
predicted
space
line
Prior art date
Application number
KR1020247014599A
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 KR20240089239A publication Critical patent/KR20240089239A/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

메시 압축을 위한 텍스처 좌표 예측 방법, 장치 및 시스템이 제공된다. 프로세스는 메시에 대한, 3차원(3D) 공간상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하는 단계를 포함할 수 있다. 프로세스는 제1 정점 및 예측 후보 정점과 연관된 신장 수직 거리를 결정하는 단계를 포함할 수 있고, 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초한며, 프로세스는 제1 정점과 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 제1 정점의 2D 텍스처 좌표를 결정하는 단계를 포함할 수 있다. 프로세스는 또한 제1 정점의 예측된 좌표와 제1 정점의 실제 2D 좌표의 잔차를 결정하는 단계; 및 잔차의 엔트로피 코딩에 기초하여 메시를 압축하는 단계를 포함할 수 있다.

Description

메시 압축에서의 텍스처 좌표 예측
본 출원은 2022년 9월 7일자로 출원된 미국 가출원 제63/404,399호, 및 2023년 6월 30일자로 출원된 미국 출원 제18/345,027호로부터의 우선권을 주장하며, 이 출원들의 개시내용은 그 전체가 인용에 의해 본 명세서에 포함된다.
본 개시내용은 한 세트의 고급 비디오 코딩 기술에 관한 것이다. 보다 구체적으로, 본 개시내용은 메시(mesh) 압축에서의 텍스처 좌표 예측(texture coordinate prediction) 관한 것이다.
세계의 고급 3차원(3D, three-dimensional) 표현은 보다 몰입적인 형태의 상호 작용 및 통신을 가능하게 하고 있다. 3D 표현의 현실성을 달성하기 위해, 3D 모델은 훨씬 더 정교해지고 있으며, 상당한 양의 데이터가 이러한 3D 모델의 생성 및 소비에 링크된다. 3D 메시가 몰입형 콘텐츠를 3D 모델링하는 데 널리 사용된다.
3D 메시는 볼류메트릭(volumetric) 객체의 표면을 설명하는 여러 다각형으로 구성될 수 있다. 메시는 볼류메트릭 객체의 표면을 설명하는 여러 다각형으로 구성될 수 있다. 각 다각형은 3D 공간에서의 각 다각형의 정점(vertice)과 정점이 어떻게 연결되어 있는지에 대한 정보(연결성 정보로 지칭됨)로 정의될 수 있다. 이러한 매핑은 일반적으로 XYZ 좌표로 지칭되는 파라메트릭 좌표의 세트에 의해 설명된다. 일부 실시예에서, 컬러, 법선(normals) 등과 같은 정점 속성도 메시 정점과 연관될 수 있다. 2D 속성 맵으로 메시를 파라미터화(parameterize)하는 매핑 정보를 활용하여 속성을 메시의 표면과 연관시킬 수도 있다. 이러한 매핑은 일반적으로 메시 정점과 관련된 UV 좌표 또는 텍스처 좌표라고 하는 파라메트릭 좌표의 세트로 설명된다. 2D 속성 맵은 텍스처, 법선, 변위 등과 같은 고해상도 속성 정보를 저장하는 데 사용될 수 있다. 이러한 정보는 텍스처 매핑 및 음영 처리와 같은 다양한 목적으로 사용될 수 있다.
동적 메시 시퀀스는 많은 양의 데이터를 요구할 수 있는데, 이는 시간 경과에 따라 변경되는 상당한 양의 정보를 가질 수 있기 때문이다. 따라서 그러한 콘텐츠를 저장 및 전송하기 위해서는 효율적인 압축 기술이 요구된다.
메시 압축 표준 IC, MESHGRID, FAMC는 이전에 일정한 연결성 및 시변 기하학적 구조 및 정점 속성을 갖는 동적 메시를 처리하기 위해 개발되었다. 그러나 이러한 표준은 시변 속성 맵 및 연결 정보를 고려하지 않는다.
게다가, 볼류메트릭 획득 기법이 특히 실시간 제약 하에서 일정한 연결성의 동적 메시를 생성하는 것이 또한 난제이다. 이러한 타입의 동적 메시 콘텐츠는 기존 표준에 의해 지원되지 않는다.
실시예에 따르면, 메시 압축을 위한 텍스처 좌표 예측을 위한 프로세스에 대한 방법, 장치 및 컴퓨터 명령을 저장하는 비-일시적 컴퓨터 판독가능 매체가 제공될 수 있다.
일 실시예에 따르면, 프로세스는 메시에 대한, 3차원(3D) 공간상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하는 단계 - 상기 예측 후보 정점은 상기 제1 정점의 공동 가장자리(co-edge) 정점이고, 상기 제1 정점과 상기 공동 가장자리 정점은 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ; 상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장(stretch) 수직 거리를 결정하는 단계 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 - ; 상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 2D 텍스처 좌표를 결정하는 단계를 포함할 수 있다. 프로세스는 또한 상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하는 단계; 및 잔차의 엔트로피 코딩에 기초하여 메시를 압축하는 단계를 포함할 수 있다.
일 실시예에 따르면, 장치는 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 상기 프로그램 코드를 판독하고 상기 프로그램 코드의 명령에 따라 동작하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 상기 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금, 메시에 대한, 3차원(3D) 공간 상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하게 하는 수신 코드 - 상기 예측 후보 정점은 상기 제1 정점의 공동 가장자리 정점이고, 상기 제1 정점과 상기 공동 가장자리 정점은 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ; 상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장 수직 거리를 결정하게 하는 제1 결정 코드 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 - ; 및 상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 2D 텍스처 좌표를 예측하게 하는 제2 결정 코드를 포함할 수 있다. 상기 프로그램 코드는 상기 적어도 하나의 프로세서로 하여금 상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하게 하는 제3 결정 코드; 및 상기 적어도 하나의 프로세서로 하여금 잔차의 엔트로피 코딩에 기초하여 메시를 압축하게 하는 제1 압축 코드를 포함할 수 있다.
일 실시예에 따르면, 비-일시적 컴퓨터 판독가능 매체는 명령을 저장하고, 상기 명령은, 메시 압축을 위한 텍스처 좌표 예측 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 메시에 대한, 3차원(3D) 공간상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하고 - 상기 예측 후보 정점은 상기 제1 정점의 공동 가장자리(co-edge) 정점이고, 상기 제1 정점과 상기 공동 가장자리 정점은 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ; 상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장(stretch) 수직 거리를 결정하고 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 - ; 상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 2D 텍스처 좌표를 예측하게 하게 하는 하나 이상의 명령을 포함할 수 있다. 상기 하나 이상의 명령은 또한 상기 하나 이상의 프로세서로 하여금 상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하게 하고; 그리고 잔차의 엔트로피 코딩에 기초하여 메시를 압축하게 할 수 있다.
개시된 청구 대상의 추가 특징, 성질 및 다양한 이점은 다음의 상세한 설명 및 첨부 도면으로부터 보다 명백해질 것이다.
도 1은 본 개시내용의 실시예에 따른 통신 시스템의 단순화된 블록도의 개략적인 도면이다.
도 2는 본 개시내용의 실시예에 따른 스트리밍(streaming) 시스템의 단순화된 블록도의 개략적인 도면이다.
도 3은 본 개시내용의 실시예에 따른 비디오 인코더 및 디코더의 단순화된 블록도의 개략적인 도면이다.
도 4는 본 개시내용의 실시예에 따른, 관련 기술에서의 예시적인 텍스처 좌표 예측의 도면이다.
도 5a는 본 개시내용의 실시예에 따른, 동일 가장자리(co-edge) 및 후보 예측 정점의 예시적인 도면이다.
도 5b는 본 개시내용의 실시예에 따른, 메시 압축을 위한 텍스처 좌표 예측에 대한 도면이다.
도 6은 본 개시내용의 실시예에 따른, 시간적으로 상관된 UV 아틀라스를 생성하는 프로세스를 예시하는 예시적인 흐름도이다.
도 7은 실시예를 구현하기에 적합한 컴퓨터 시스템의 도면이다.
메시는 볼류메트릭 객체(volumetric object)의 표면을 설명하는 여러 다각형을 포함할 수 있다. 위에서 언급한 바와 같이 메시 기하학적 정보는 정점 연결 정보, 3차원 좌표, 텍스처 좌표 등으로 구성된다.
본 개시내용의 일 양상에 따르면, 동적 메시 압축의 병렬 프로세싱을 위한 방법, 시스템 및 비-일시적 저장 매체가 제공된다. 본 개시내용의 실시예는 정적 메시에도 적용될 수 있다.
도 1 및 도 2를 참조하여, 본 개시내용의 인코딩 및 디코딩 구조를 구현하기 위한 본 개시내용의 일 실시예가 설명된다.
도 1은 본 개시내용의 일 실시예에 따른 통신 시스템(100)의 단순화된 블록도를 예시한다. 시스템(100)은 네트워크(150)를 통해 상호 접속된 적어도 2개의 단말(110, 120)을 포함할 수 있다. 데이터의 단방향 전송을 위해, 제1 단말(110)은 네트워크(150)를 통한 다른 단말(120)로의 전송을 위해 로컬 위치에서, 메시 데이터를 포함할 수 있는 비디오 데이터를 코딩할 수 있다. 제2 단말(120)은 네트워크(150)로부터 다른 단말의 코딩된 비디오 데이터를 수신하고, 코딩된 데이터를 디코딩하며, 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 전송은 미디어 서빙 애플리케이션 등에서 공통적일 수 있다.
도 1은 예를 들어, 화상 회의 동안 발생할 수 있는 코딩된 비디오의 양방향 전송을 지원하기 위해 제공되는 제2 쌍의 단말(130, 140)을 예시한다. 데이터의 양방향 전송을 위해, 각각의 단말(130, 140)은 네트워크(150)를 통한 다른 단말로의 전송을 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말(130, 140)은 또한 다른 단말에 의해 전송된 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있으며, 로컬 디스플레이 디바이스에서 복원된 비디오 데이터를 디스플레이할 수 있다.
도 1에서, 단말(110-140)은 예를 들어, 서버, 개인용 컴퓨터 및 스마트폰 및/또는 임의의 다른 타입의 단말일 수 있다. 예를 들어, 단말(110-140)은 랩톱 컴퓨터, 태블릿 컴퓨터, 미디어 플레이어 및/또는 전용 화상 회의 장비일 수 있다. 네트워크(150)는 예를 들어, 유선 및/또는 무선 통신 네트워크를 포함하여, 코딩된 비디오 데이터를 단말(110-140) 사이에 전달하는 임의의 수의 네트워크를 나타낸다. 통신 네트워크(150)는 회선 교환 및/또는 패킷 교환 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 원격 통신 네트워크, 근거리 네트워크, 광역 네트워크 및/또는 인터넷을 포함한다. 본 논의의 목적으로, 네트워크(150)의 아키텍처 및 토폴로지는 본 명세서에서 아래에 설명되지 않는 한 본 개시내용의 동작에 중요하지 않을 수 있다.
도 2는 개시된 청구 대상에 대한 애플리케이션에 대한 일례로, 스트리밍 환경에서의 비디오 인코더 및 디코더의 배치를 예시한다. 개시된 청구 대상은 예를 들어, 화상 회의, 디지털 TV, CD, DVD, 메모리 스틱 등을 포함하는 디지털 매체 상의 압축된 비디오의 저장 등을 포함하는 다른 비디오 가능 애플리케이션에 사용될 수 있다.
도 2에 예시된 바와 같이, 스트리밍 시스템(200)은 비디오 소스(201) 및 인코더(203)를 포함하는 캡처 서브시스템(213)을 포함할 수 있다. 스트리밍 시스템(200)은 적어도 하나의 스트리밍 서버(205) 및/또는 적어도 하나의 스트리밍 클라이언트(206)를 더 포함할 수 있다.
비디오 소스(201)는 예를 들어, 3D 메시 및 3D 메시와 연관된 메타데이터를 포함하는 스트림(202)을 생성할 수 있다. 비디오 소스(201)는 예를 들어, 3D 센서(예컨대, 깊이 센서) 또는 3D 이미징 기술(예컨대, 디지털 카메라(들)), 및 3D 센서 또는 3D 이미징 기술로부터 수신된 데이터를 사용하여 3D 메시를 생성하도록 구성되는 컴퓨팅 디바이스를 포함할 수 있다. 인코딩된 비디오 비트스트림과 비교할 때 높은 데이터 볼륨을 가질 수 있는 샘플 스트림(202)은 비디오 소스(201)에 결합된 인코더(203)에 의해 처리될 수 있다. 인코더(203)는 아래에서 더 상세히 설명되는 바와 같이, 개시된 청구 대상의 양상을 가능하게 하거나 구현하기 위한 하드웨어, 소프트웨어, 또는 이들의 조합을 포함할 수 있다. 인코더(203)는 또한 인코딩된 비디오 비트스트림(204)을 생성할 수 있다. 압축되지 않은 스트림(202)과 비교할 때 더 낮은 데이터 볼륨을 가질 수 있는 인코딩된 비디오 비트스트림(204)은 향후 사용을 위해 스트리밍 서버(205)에 저장될 수 있다. 하나 이상의 스트리밍 클라이언트(206)는 인코딩된 비디오 비트스트림(204)의 사본일 수 있는 비디오 비트스트림(209)을 리트리브하기 위해 스트리밍 서버(205)에 액세스할 수 있다.
스트리밍 클라이언트(206)는 비디오 디코더(210) 및 디스플레이(212)를 포함할 수 있다. 비디오 디코더(210)는 예를 들어, 인코딩된 비디오 비트스트림(204)의 착신 카피인 비디오 비트스트림(209)을 디코딩하고, 디스플레이(212) 또는 (도시되지 않은) 다른 렌더링 디바이스 상에 렌더링될 수 있는 발신 비디오 샘플 스트림(211)을 생성할 수 있다. 일부 스트리밍 시스템에서, 비디오 비트스트림(204, 209)은 특정 비디오 코딩/압축 표준에 따라 인코딩될 수 있다.
도 3은 인코더 및 디코더를 사용한 동적 메시 압축 및 메시 재구성을 위한 프레임워크(300)의 예시적인 도면이다.
도 3에서 확인되는 바와 같이, 프레임워크(300)는 인코더(301) 및 디코더(351)를 포함할 수 있다. 인코더(301)는 하나 이상의 입력 메시(305), UV 아틀라스(UV atlas)(310)를 갖는 하나 이상의 메시, 점유 맵(315), 기하학적 구조 맵(320), 속성 맵(325) 및 메타데이터(330)를 포함할 수 있다. 디코더(351)는 디코딩된 점유 맵(335), 디코딩된 기하학적 구조 맵(340), 디코딩된 속성 맵(345), 디코딩된 메타데이터(350) 및 재구성된 메시(360)를 포함할 수 있다.
본 개시내용의 일 양상에 따르면, 입력 메시(305)는 하나 이상의 프레임을 포함할 수 있고, 하나 이상의 프레임 각각은 일련의 동작에 의해 전처리되고 UV 아틀라스(310)를 이용한 메시를 생성하는 데 사용될 수 있다. 일례로, 전처리 동작은 추적, 파라미터화, 리메싱(remeshing), 복셀화 등을 포함할 수 있으며 이에 제한되지는 않을 수 있다. 일부 실시예에서, 전처리 동작은 디코더 측이 아닌 인코더 측에서만 수행될 수 있다.
UV 아틀라스(310)를 이용한 메시는 2D 메시일 수 있다. UV 아틀라스를 이용한 2D 메시는 메시의 각각의 정점이 2D 아틀라스 상의 UV 좌표와 연관될 수 있는 메시일 수 있다. UV 아틀라스(310)를 이용한 메시는 샘플링에 기반하여 복수의 맵으로 처리 및 변환될 수 있다. 일례로, UV 아틀라스(310)는 UV 아틀라스로 2D 메시를 샘플링하는 것에 기반하여 점유 맵, 기하학적 구조 맵 및 속성 맵으로 처리 및 변환될 수 있다. 생성된 점유 맵(335), 기하학적 구조 맵(340) 및 속성 맵(345)은 적절한 코덱(예컨대, HVEC, VVC, AV1 등)을 사용하여 인코딩되고 디코더에 전송될 수 있다. 일부 실시예에서, 메타데이터(예컨대, 연결 정보 등)가 또한 디코더에 전송될 수 있다.
일 양상에 따르면, 디코더(351)는 인코더로부터 인코딩된 점유 맵, 기하학적 구조 맵 및 속성 맵을 수신할 수 있다. 디코더(351)는 점유 맵, 기하학적 구조 맵 및 속성 맵을 디코딩하기 위해, 본 명세서에 설명된 실시예에 부가하여, 적절한 기법 및 방법을 사용할 수 있다. 일 실시예에서, 디코더(351)는 디코딩된 점유 맵(335), 디코딩된 기하학적 구조 맵(340), 디코딩된 속성 맵(345) 및 디코딩된 메타데이터(350)를 생성할 수 있다. 입력 메시(305)는 하나 이상의 재구성 필터 및 기법을 사용하여, 디코딩된 점유 맵(335), 디코딩된 기하학적 구조 맵(340), 디코딩된 속성 맵(345) 및 디코딩된 메타데이터(350)에 기초하여 재구성된 메시(360)로 재구성될 수 있다. 일부 실시예에서, 메타데이터(330)는 디코더(351)에 직접 전송될 수 있고, 디코더(351)는 디코딩된 점유 맵(335), 디코딩된 기하학적 구조 맵(340) 및 디코딩된 속성 맵(345)에 기초하여 재구성된 메시(360)를 생성하기 위해 메타데이터를 사용할 수 있다. 리메싱, 파라미터화, 추적, 복셀화 등을 포함하지만 이에 제한되지 않는 사후 필터링 기법이 또한 재구성된 메시(360)에 적용될 수 있다.
2D UV 아틀라스를 이용한 입력 메시는 정점을 가질 수 있으며, 여기서 메시의 각각의 정점은 2D 아틀라스 상에서 연관된 UV 좌표를 가질 수 있다. 점유, 기하학적 구조 및 속성 맵은 UV 아틀라스 상의 하나 이상의 포인트/포지션을 샘플링함으로써 생성될 수 있다. 각각의 샘플 포지션은, 그것이 메시 정점에 의해 정의된 다각형 내부에 있다면, 점유되거나 점유되지 않을 수 있다. 각각의 점유된 샘플에 대해, 연관된 다각형 정점으로부터 보간함으로써 그 대응하는 3D 기하학적 구조 좌표 및 속성을 계산할 수 있다.
본 개시내용의 일 양상에 따르면, 샘플링 레이트는 전체 2D 아틀라스에 걸쳐 일관될 수 있다. 일부 실시예에서, u 축 및 v 축에 대한 샘플링 레이트는 상이할 수 있으며, 이는 이방성 리메싱을 가능하게 할 수 있다. 일부 실시예에서, 전체 2D 아틀라스는 슬라이스 또는 타일과 같은 다수의 구역으로 분할될 수 있고, 그러한 각각의 구역은 상이한 샘플링 레이트를 가질 수 있다.
본 개시내용의 일 양상에 따르면, 각각의 구역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 시퀀스 헤더, 프레임 헤더, 슬라이스 헤더 등을 포함하지만 이에 제한되지 않는 고 레벨 신택스(syntax)로 시그널링될 수 있다. 일부 실시예에서, 각각의 구역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 인코더와 디코더 모두에 의해 가정된 미리 설정된 세트의 레이트로부터 선택될 수 있다. 미리 설정된 세트의 레이트가 인코더와 디코더 모두에 의해 알려져 있기 때문에, 하나의 특정 샘플링 레이트의 시그널링은 미리 설정된 레이트 세트 내의 인덱스를 시그널링하는 것만을 요구할 것이다. 그러한 미리 설정된 세트의 일례는 2개의 픽셀마다, 4개의 픽셀마다, 8개의 픽셀마다 등일 수 있다. 일부 실시예에서, 메시 프레임의 각각의 구역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 미리 설정된 레이트 세트로부터, 동일한 프레임의 다른 이미 코딩된 구역에서 이전에 사용된 샘플링 레이트로부터, 또는 다른 이미 코딩된 메시 프레임에서 이전에 사용된 샘플링 레이트로부터 예측될 수 있다.
일부 실시예에서, 각각의 구역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 각각의 구역(또는 전체 2D 아틀라스)의 일부 특징에 기반할 수 있다. 일례로, 샘플 레이트는 활동에 기반할 수 있는데, 풍부한 텍스처 구역(또는 전체 2D 아틀라스) 또는 높은 활동을 갖는 구역(또는 전체 2D 아틀라스)의 경우, 샘플 레이트가 더 높게 설정될 수 있다. 다른 예로서, 평활 구역(또는 전체 2D 아틀라스) 또는 낮은 활동을 갖는 구역(또는 전체 2D 아틀라스)의 경우, 샘플 레이트가 더 낮게 설정될 수 있다.
일부 실시예에서, 메시 프레임의 각각의 구역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 예측 및 직접 시그널링의 조합이 허용될 수 있는 방식으로 시그널링될 수 있다. 신택스는 샘플링 레이트가 예측될지 또는 직접적으로 시그널링될지를 표시하도록 구조화될 수 있다. 예측될 때, 예측자 샘플링 레이트 중 어느 것이 사용될지가 추가로 시그널링될 수 있다. 직접적으로 시그널링될 때, 레이트의 값을 표현하기 위한 신택스가 시그널링될 수 있다.
본 개시내용에서, 삼각형 메시(triangle mesh)와 같은 예시적인 다각형이 더 자세히 고려된다. 삼각형 메시는, 공통 가장자리들 또는 모서리들에 의해 연결된 삼각형들의 세트로 구성된 다각형 메시의 한 유형이다. 본 개시내용에 개시된 방법은 사변형 메시 또는 오각형 메시 등과 같은 다른 다각형 메시로 확장될 수 있다.
관련 기술에서는, 텍스처 좌표를 압축하기 위해, 3D 좌표에서 텍스처 좌표로의 삼각형들의 유사성이 Draco 방법에 의해 사용된다. 도 4에서와 같이, 포인트 C, N 및 P는 텍스처 평면(예를 들어, 2D 평면 매핑 텍스처)에 있는 삼각형의 세 정점이며, 여기서 C는 인코딩될 다음 정점이다. 3D 좌표는 3D 메시의 3차원에서의 속성을 포함할 수 있고, 텍스처 좌표는 각각의 3D 좌표의 2차원에서의 속성을 포함할 수 있다.
Draco 방법 텍스처 좌표 압축에는 다음이 포함될 수 있다:
단계 1: 인코딩 순서 목록에서 N 또는 P가 C 뒤에 오면, 델타 코딩(delta coding)을 사용하여 C의 텍스처 좌표를 압축한다.
단계 2: N과 P 모두의 코딩 순서가 C보다 앞에 있으면, 예측 코딩 방법을 사용하여 C를 인코딩하고, CX는 NP에 수직이다. X와 를 계산한 다음 두 개의 후보 값, 즉X+, X-를 잠재적 예측 좌표로 얻는다.
단계 3: C와 두 개의 후보 사이의 유클리드 거리를 계산하고 더 작은 것을 C의 예측 좌표로 선택한다. 어느 것이 예측 좌표인지 표시하기 위해 플래그가 사용된다.
단계 3: 원래 좌표와 예측 좌표 사이의 잔차를 계산한다. 엔트로피 코딩을 사용하여 잔차와 플래그를 압축한다.
본 개시내용의 실시예에 따르면, 3D 공간에서 텍스처 평면으로의 투영을 캡처하는 더 좋은 방법은 투영 후 거리의 신장(stretch)을 고려하는 것이다. 본 개시내용에서는 투영 후 거리의 신장을 사용한 메시 압축에서의 텍스처 좌표 예측 방법 및 시스템에 대해 설명한다.
당업자는 제안된 방법이 개별적으로 사용될 수도 있고 임의의 순서로 결합될 수도 있음을 알 것이다. 또한, 방법(또는 실시예), 인코더 및 디코더 각각은 처리 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일례에서, 하나 이상의 프로세서는 비일시적 컴퓨터 판독 가능 매체에 저장된 프로그램을 실행한다.
본 개시내용에서는 메시 압축에서의 텍스처 좌표 예측을 위한 방법 및 시스템이 제안된다. 당업자는 이들이 개별적으로 또는 임의의 형태의 조합에 의해 적용될 수 있음을 알 것이다. 또한 이 방법은 동적 메시뿐만 아니라, 메시의 프레임이 하나만 있거나 메시 내용이 시간에 걸쳐 변하지 않는 정적 메시에도 적용될 수 있다는 점에 유의해야 한다. 또한, 개시된 방법 및 시스템은 텍스처 좌표 압축으로 제한되지 않는다. 예를 들어 3D 좌표 압축에도 적용될 수 있다.
전술한 바와 같이, 본 개시내용은 본 개시내용을 상세히 설명하기 위해 삼각형 메시를 사용하지만, 당업자는 임의의 형상의 메시 다각형이 사용될 수 있다는 것을 알 수 있다.
삼각형 메시의 삼각형들은 정렬될 수 있다. 삼각형들의 순서는 특정 순서(예: 에지브레이커 알고리즘(Edgebreaker algorithm)의 순회(traversal) 등)를 기반으로 할 수 있다. 정점들이 정렬될 수 있다. 정점들의 순서는 특정 순서(예: 에지브레이커 알고리즘의 순회 등)를 기반으로 할 수 있다. 삼각형과 정점의 순서는 순회와 같은 동일한 방식을 기반으로 할 수도 있고 다른 방식을 기반으로 할 수도 있다.
도 5a에 도시된 바와 같이, 메시(500)는 동일 가장자리(co-edge) 및 예측 후보 정점을 갖는 2개의 삼각형 메시를 포함할 수 있다.
도 5a에 도시된 바와 같이, 동일 가장자리 정점의 예를 예시한다. 정점 V에 대해, V와 W가 텍스처 평면에서 가장자리를 공유하는 2개의 삼각형의 반대편의 정점(opposite vertices)이 되는 다른 정점 W가 있는 경우, W는 V의 동일 가장자리 정점이다. 텍스처 좌표 압축 동안, W의 텍스처 좌표 및 공통 가장자리의 2개의 정점(도 5a의 정점 P 및 Q)의 텍스처 좌표가 이미 코딩되어 있으면, W는 V의 텍스처 좌표 예측 후보이다.
일 실시예에 따르면, V의 텍스처 좌표를 인코딩하면, 3D 공간의 텍스처 평면으로의 투영 이후의 수직 거리의 신장이 계산될 수 있고 이에 따라 텍스처 좌표를 예측하는 데 사용될 수 있다.
도 5b는 3D 공간의 3D 좌표로부터 2D 공간의 텍스처 좌표로의 메시 압축에 대한 텍스처 좌표 예측을 예시한다.
도 5b에 도시된 바와 같이, 다이어그램(550)은 각각 V의 3D 좌표 및 텍스처 좌표를 나타내는 VXYZ 및 VUV를 포함한다. 다이어그램(550)에서 볼 수 있듯이, W는 V의 텍스처 좌표 압축 예측 후보이다.
실시예에서, 다이어그램(550)에 도시된 바와 같이, VXYZ 및 WXYZ로부터 가장자리 PXYZQXYZ까지 수직선이 3D 공간에 그려질 수 있다. 교차점은 다이어그램(550)에서와 같이 EXYZ와 FXYZ이다.
일 실시예에서, 수직 예측이 사용될 수 있다.
텍스처 평면에서, 정점 EUV가 결정될 수 있으며, 여기서 EUV는 가장자리 PUVQUV 상에 또는 PUVQUV의 연장선 상에 있고, 3D 공간에서 길이 |PE| 및 |EQ| 사이의 비율, 즉 |PXYZEXYZ| / |EXYZQXYZ| = |PUVEUV| / |EUVQUV|을 유지한다. 마찬가지로 텍스처 평면의 정점 FUV가 결정될 수 있다.
그런 다음 텍스처 평면에서 정점 EUV로부터 수직선이 가장자리 PUVQUV로 그려질 수 있고, 수직선 상에서 길이 |V'EUV| = |VXYZEXYZ| * |WUVFUV| / |WXYZFXYZ|인 정점 V'가 선택될 수 있다.
본 개시내용에서는 종래의 텍스쳐 좌표 압축과 달리 V'는 항상 선 PUVQUV을 따라 정점 WUV의 반대 편에 존재한다. 따라서 본 개시내용에서는 예측 정점 V'가 어느 쪽에 속하는지에 대해 플래그(falg)할 필요가 없다.
마지막으로, 원래 좌표 VUV와 예측 좌표 V' 사이의 잔차(residual)가 계산될 수 있다. 잔차는 엔트로피 코딩을 사용하여 압축될 수 있다. 엔트로피 코딩은 고정 길이 코딩일 수도 있고, Exp-Golomb 코딩, 산술 코딩, 허프만(Huffman) 코딩 등과 같은 가변 길이 코딩일 수도 있다.
일 실시예에서, 병렬 예측이 사용될 수 있다.
본 개시내용의 실시예는 텍스처 평면에서 평행선을 사용하는 것을 포함한다. 정점 EUV로부터 선 WUVFUV에 평행한 선이 그려질 수 있고, 그 평행선 상에서 길이 |V'EUV| = |VXYZEXYZ| * |WUVFUV| / |WXYZFXYZ|인 정점 V'가 선택될 수 있다.
이후, 엔트로피 코딩을 이용하여 원래 좌표 VUV와 예측 좌표 V' 사이의 잔차를 계산하고 압축할 수 있다. 엔트로피 코딩은 고정 길이 코딩일 수도 있고, Exp-Golomb 코딩, 산술 코딩, 허프만 코딩 등과 같은 가변 길이 코딩일 수도 있다.
일 실시예에서, 텍스처 예측을 위해 다수의 예측자(predictor)가 사용될 수 있다.
V의 텍스처 좌표를 인코딩할 때, 일부 실시예에서, 이용 가능한 텍스처 좌표 압축 예측 후보가 하나를 초과할 때, 예측된 값들의 평균이 사용될 수 있다. 정점 V에 대한 M개의 예측 텍스처 좌표 V1, V2, …, VM이 있다고 가정하면(여기서 M은 양의 정수임), 평균 V'는 V' = (V1 + V2 + … + VM) / M을 기준으로 계산된다.
원래 좌표 VUV와 평균 V' 사이의 잔차는 엔트로피 코딩을 사용하여 계산되고 압축될 수 있다. 엔트로피 코딩은 고정 길이 코딩일 수도 있고, Exp-Golomb 코딩, 산술 코딩, 허프만 코딩 등과 같은 가변 길이 코딩일 수도 있다.
일 실시예에서, 제한된 예측자는 텍스처 예측을 위해 사용될 수 있다.
일 실시예에서, 얼마나 많은 텍스처 좌표 압축 예측 후보가 고려될 수 있는지를 지시하는 상한 L이 설정될 수 있으며, 여기서 L은 양의 정수일 수 있다. 이 실시예에서 정점 V에 대해 L개보다 많은 텍스처 좌표 압축 예측 후보가 있는 경우 제1 L개의 예측 후보와 그들의 관련 예측 값 V1, V2, …, VL만 고려되며, V' = (V1+ V2 + … + VL) / L 이다.
원래 좌표 VUV와 평균 V' 사이의 잔차는 엔트로피 코딩을 사용하여 계산되고 압축될 수 있다. 엔트로피 코딩은 고정 길이 코딩일 수도 있고, Exp-Golomb 코딩, 산술 코딩, 허프만 코딩 등과 같은 가변 길이 코딩일 수도 있다.
도 6은 메시 압축을 위한 텍스처 좌표 예측을 위한 프로세스(600)를 도시하는 흐름도이다.
동작 605에서는, 메시에 대해 3차원(3D) 공간 상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신할 수 있다. 예측 후보 정점은 제1 정점의 동일 가장자리 정점일 수 있으며, 제1 정점과 동일 가장자리 정점은 가장자리를 공유하는 두 개의 다각형 메시의 반대쪽에 있을 수 있다. 일 예로서, 다이어그램(550)에 도시된 바와 같이, VXYZ 및 WXYZ에 대한 3D 좌표가 수신될 수 있다.
일부 실시예에서, 신장 수직 거리를 결정하는 것은 3D 공간에서, 제1 정점으로부터 공유 가장자리까지의 제1 수직선을 결정하는 것 - 제1 수직선은 공유 가장자리를 제1 비율로 분할함 - ; 2D 공간에서 공유 가장자리를 제1 비율로 분할하는 제1 교차점을 결정하는 것; 3D 공간에서, 예측 후보 정점으로부터 공유 가장자리까지의 제2 수직선을 결정하는 것 - 제2 수직선은 공유 가장자리를 제2 비율로 분할함 - ; 및 2D 공간에서 공유 가장자리를 제2 비율로 나누는 제2 교차점을 결정하는 것을 포함한다.
동작 610에서, 제1 정점 및 예측 후보 정점과 연관된 신장(stretch) 수직 거리가 수신될 수 있다. 일부 실시예에서, 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초할 수 있다. 예를 들어, VXYZEXYZ 및 WXYZFXYZ는 신장 수직 거리를 결정하는 데 사용될 수 있다.
동작 615에서, 제1 정점의 2D 텍스처 좌표는 제1 정점 및 예측 후보 정점과 연관된 신장 수직 거리에 기초한다. 일 예로서, VUV는 VXYZEXYZ 및 WXYZFXYZ에 기초하여 결정될 수 있다.
일부 실시예에서, 제1 정점의 2D 텍스처 좌표를 결정하는 것은 2D 공간에서 예측선(predicted line) 상의 제1 정점의 예측 좌표를 결정하는 것을 포함할 수 있으며, 예측선은 공유 가장자리에 수직인 선이고 제1 교차점을 통과하는 선이며, 예측선 상의 제1 정점의 예측 좌표는 제2 수직선과 제2 교차점에 기초한다.
일부 실시예에서, 제1 정점의 2D 텍스처 좌표를 결정하는 것은 2D 공간에서 평행선 상의 제1 정점의 예측 좌표를 결정하는 것을 포함할 수 있으며, 평행선은 제2 수직선에 평행한 선이고 제1 교차점을 통과하는 선이며, 평행선 상의 제1 정점의 예측 좌표는 제2 수직선과 제2 교차점 사이의 거리 관계에 기초한다.
일부 실시예에서, 예측 후보 정점의 좌표는 둘 이상의 예측 후보 정점의 좌표를 포함할 수 있으며, 따라서 제1 정점의 2D 텍스처 좌표는 제1 정점과 둘 이상의 예측 후보 정점들 중 각각의 예측 후보 정점과 연관된 각각의 신장 수직 거리에 기초할 수 있다. 일부 실시예에서, 둘 이상의 예측 후보 정점에 포함된 예측 후보 정점의 개수는 제1 임계값보다 작을 수 있다.
일부 실시예에서, 프로세스(600)는 메시의 제1 정점의 예측 좌표를 인코딩하는 동작 620을 포함할 수 있다.
일부 실시예에서, 프로세스(600)는 또한 동작 620 및 625를 포함할 수 있다.
동작 620에서는 제1 정점의 예측 좌표와 제1 정점의 실제 2D 좌표의 잔차(residual)가 결정될 수 있다. 일 예로서, 원래 좌표 VUV와 예측 좌표 V' 사이의 잔차가 결정될 수 있다.
동작 625에서, 메시는 잔차의 엔트로피 코딩에 기초하여 압축될 수 있다. 예를 들어, 원래 좌표 VUV와 예측 좌표 V' 사이의 잔차는 엔트로피 코딩을 사용하여 압축될 수 있다. 엔트로피 코딩은 고정 길이 코딩일 수도 있고, Exp-Golomb 코딩, 산술 코딩, 허프만 코딩 등과 같은 가변 길이 코딩일 수도 있다.
위에서 설명된 기법은 컴퓨터 판독 가능 명령을 사용하여 컴퓨터 소프트웨어로서 구현될 수 있고 하나 이상의 컴퓨터 판독 가능 매체에 물리적으로 저장될 수 있다. 예를 들어, 도 7은 본 개시내용의 특정 실시예를 구현하기에 적합한 컴퓨터 시스템(700)을 도시한다.
컴퓨터 소프트웨어는 컴퓨터 중앙 처리 유닛(CPU: central processing unit), 그래픽 처리 유닛(GPU: Graphics Processing Unit) 등에 의해, 직접적으로 또는 해석, 마이크로코드 실행 등을 통해 실행될 수 있는 명령을 포함하는 코드를 생성하기 위해 어셈블리, 컴파일, 링크 또는 유사한 메커니즘을 거칠 수 있는 임의의 적절한 기계 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령은 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게임 디바이스, 사물 인터넷 디바이스 등을 포함하는 다양한 타입의 컴퓨터 또는 이들의 컴포넌트 상에서 실행될 수 있다.
컴퓨터 시스템(700)에 대해 도 7에 도시된 컴포넌트는 예이며, 본 개시내용의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대해 어떠한 제한도 제안하도록 의도되지 않는다. 컴포넌트의 구성이 컴퓨터 시스템(700)의 비-제한적인 실시예에 예시된 컴포넌트 중 임의의 컴포넌트 또는 그러한 컴포넌트의 조합과 관련된 어떠한 의존성이나 요건도 갖는 것으로 해석되지 않아야 한다.
컴퓨터 시스템(700)은 특정 인간 인터페이스 입력 디바이스를 포함할 수 있다. 그러한 인간 인터페이스 입력 디바이스는 예를 들어, 촉각 입력(이를테면 키 스트로크(keystroke), 스와이프(swipe), 데이터 글러브(glove) 움직임), 오디오 입력(이를테면, 음성, 박수), 시각적 입력(이를테면, 제스처), 후각적 입력(도시되지 않음)을 통해 하나 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 인간 인터페이스 디바이스는 또한, 오디오(이를테면 스피치, 음악, 주변 사운드), 이미지(이를테면 스캔된 이미지, 정지 이미지 카메라로부터 획득된 사진 이미지), 비디오(이를테면, 2차원 비디오, 입체 비디오를 포함하는 3차원 비디오)와 같은, 인간에 의한 의식적 입력과 반드시 직접적으로 관련되는 것은 아닌 특정 미디어를 캡처하는 데 사용될 수 있다.
입력 인간 인터페이스 디바이스는 키보드(701), 마우스(702), 트랙 패드(703), 터치 스크린(710), 데이터 글러브, 조이스틱(705), 마이크로폰(706), 스캐너(707), 카메라(708) 중 하나 이상(각각 도시된 것 중 단 하나)을 포함할 수 있다.
컴퓨터 시스템(700)은 또한 특정 인간 인터페이스 출력 디바이스를 포함할 수 있다. 그러한 인간 인터페이스 출력 디바이스는 예를 들어, 촉각 출력, 사운드, 광 및 후각/미각을 통해 하나 이상의 인간 사용자의 감각을 자극할 수 있다. 그러한 인간 인터페이스 출력 디바이스는 촉각 출력 디바이스(예를 들어, 터치 스크린(710), 데이터 글러브 또는 조이스틱(705)에 의한 촉각 피드백)를 포함할 수 있지만, 입력 디바이스로서 기능하지 않는 촉각 피드백 디바이스가 또한 존재할 수 있다. 예를 들어, 그러한 디바이스는 오디오 출력 디바이스(이를테면 스피커(709), (도시되지 않은) 헤드폰), 시각적 출력 디바이스(이를테면, 각각 터치 스크린 입력 능력을 갖거나 갖지 않고, 각각 촉각적 피드백 능력을 갖거나 갖지 않는 CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하는 스크린(710) ― 이들 중 일부는 스테레오그래픽 출력과 같은 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 출력하는 것이 가능할 수 있음 ―, (도시되지 않은) 가상 현실 안경, (도시되지 않은) 홀로그래픽 디스플레이 및 연기 탱크), 및 (도시되지 않은) 프린터일 수 있다.
컴퓨터 시스템(700)은 또한, 인간 액세스 가능 저장 디바이스 및 이들의 연관된 매체, 이를테면 CD/DVD 또는 유사한 매체(721)를 갖는 CD/DVD ROM/RW(720), 썸 드라이브(thumb-drive)(722), 착탈식 하드 드라이브 또는 솔리드 스테이트 드라이브(723), 레거시 자기 매체, 이를테면 (도시되지 않은) 테이프 및 플로피 디스크, 특수 ROM/ASIC/PLD 기반 디바이스, 이를테면 (도시되지 않은) 보안 동글(security dongle) 등을 포함하는 광학 매체를 포함할 수 있다.
당해 기술분야에서 통상의 지식을 가진 자는 또한, 현재 개시된 청구 대상과 관련하여 사용되는 바와 같은 "컴퓨터 판독 가능 매체"라는 용어가 전송 매체, 반송파, 또는 다른 일시적인 신호를 포괄하지 않는다고 이해해야 한다.
컴퓨터 시스템(700)은 또한 하나 이상의 통신 네트워크에 대한 인터페이스를 포함할 수 있다. 네트워크는 예를 들어 무선, 유선, 광일 수 있다. 네트워크는 추가로, 근거리, 광역, 대도시, 차량 및 산업, 실시간, 지연 용인(delay-tolerant) 등일 수 있다. 네트워크의 예는 근거리 네트워크, 이를테면 이더넷, 무선 LAN, GSM, 3G, 4G, 5G, LTE 등을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상 브로드캐스트 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용 등을 포함한다. 특정 네트워크는 일반적으로, (예를 들어, 컴퓨터 시스템(700)의 USB 포트와 같은) 특정 범용 데이터 포트 또는 주변 버스(749)에 부착된 외부 네트워크 인터페이스 어댑터를 필요로 하며, 다른 것들은 일반적으로, 아래에서 설명되는 바와 같은 시스템 버스에 대한 부착(예를 들어, PC 컴퓨터 시스템으로의 이더넷 인터페이스 또는 스마트폰 컴퓨터 시스템으로의 셀룰러 네트워크 인터페이스)에 의해 컴퓨터 시스템(700)의 코어에 통합된다. 이러한 네트워크 중 임의의 네트워크를 사용하여, 컴퓨터 시스템(700)은 다른 엔티티와 통신할 수 있다. 그러한 통신은 예를 들어, 근거리 또는 광역 디지털 네트워크를 사용하는 다른 컴퓨터 시스템에 대해 단방향, 수신 전용(예를 들어, 브로드캐스트 TV), 단방향 송신 전용(예를 들어, 특정 CANbus 디바이스에 대한 CANbus), 또는 양방향일 수 있다. 그러한 통신은 클라우드 컴퓨팅 환경(755)으로의 통신을 포함할 수 있다. 위에서 설명된 바와 같이, 특정 프로토콜 및 프로토콜 스택이 그러한 네트워크 및 네트워크 인터페이스 각각에 사용될 수 있다.
앞서 언급한 인간 인터페이스 디바이스, 인간 액세스 가능 저장 디바이스 및 네트워크 인터페이스(754)는 컴퓨터 시스템(700)의 코어(740)에 부착될 수 있다.
코어(740)는 하나 이상의 중앙 처리 유닛(CPU)(741), 그래픽 처리 유닛(GPU)(742), 필드 프로그래밍 가능 게이트 영역(FPGA: Field Programmable Gate Area)(743) 형태의 특수 프로그래밍 가능 처리 유닛, 특정 작업을 위한 하드웨어 가속기(744) 등을 포함할 수 있다. 이러한 디바이스는 판독 전용 메모리(ROM: Read-only memory)(745), 랜덤 액세스 메모리(746), 내부 비-사용자 액세스 가능 하드 드라이브, SSD 등과 같은 내부 대용량 저장소(747)와 함께, 시스템 버스(748)를 통해 접속될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(748)는 추가 CPU, GPU 등에 의한 확장을 가능하게 하도록 하나 이상의 물리적 플러그의 형태로 액세스 가능할 수 있다. 주변 디바이스는 코어의 시스템 버스(748)에 직접적으로 또는 주변 버스(749)를 통해 부착될 수 있다. 주변 버스를 위한 아키텍처는 PCI, USB 등을 포함한다. 그래픽 어댑터(750)가 코어(740)에 포함될 수 있다.
CPU(741), GPU(742), FPGA(743) 및 가속기(744)는 조합하여, 앞서 언급된 컴퓨터 코드를 구성할 수 있는 특정 명령을 실행할 수 있다. 그 컴퓨터 코드는 ROM(745) 또는 RAM(746)에 저장될 수 있다. 전이(transitional) 데이터가 또한 RAM(746)에 저장될 수 있는 반면, 영구 데이터는 예를 들어, 내부 대용량 저장소(747)에 저장될 수 있다. 메모리 디바이스 중 임의의 디바이스에 대한 고속 저장 및 리트리브는 하나 이상의 CPU(741), GPU(742), 대용량 저장소(747), ROM(745) 및 RAM(746) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터 판독 가능 매체는 다양한 컴퓨터 구현 동작을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적으로 특별히 설계 및 구성된 것일 수 있거나, 이들은 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 잘 알려져 있고 이용 가능한 종류일 수 있다.
제한이 아닌 예로서, 아키텍처(700)를 갖는 컴퓨터 시스템, 그리고 구체적으로 코어(740)는 (CPU, GPU, FPGA, 가속기 등을 포함하는) 프로세서(들)가 하나 이상의 유형(tangible) 컴퓨터 판독 가능 매체에 구현된 소프트웨어를 실행하는 결과로서 기능을 제공할 수 있다. 그러한 컴퓨터 판독 가능 매체는 위에서 소개된 바와 같은 사용자 액세스 가능 대용량 저장소뿐만 아니라, 비-일시적 성질의 코어(740)의 특정 저장소, 이를테면 코어 내부 대용량 저장소(747) 또는 ROM(745)과 연관된 매체일 수 있다. 본 개시내용의 다양한 실시예를 구현하는 소프트웨어는 그러한 디바이스에 저장되고 코어(740)에 의해 실행될 수 있다. 컴퓨터 판독 가능 매체는 특정 요구에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는 코어(740) 및 구체적으로는 코어(840) 내의 (CPU, GPU, FPGA 등을 포함하는) 프로세서로 하여금, RAM(746)에 저장된 데이터 구조를 정의하는 것과 소프트웨어에 의해 정의된 프로세스에 따라 그러한 데이터 구조를 수정하는 것을 포함하여, 본 명세서에서 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하게 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은 본 명세서에서 설명되는 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하도록 소프트웨어 대신 또는 소프트웨어와 함께 동작할 수 있는 회로(예를 들어, 가속기(744))에 하드와이어링되거나 달리 구현된 로직의 결과로서 기능을 제공할 수 있다. 적절한 경우, 소프트웨어에 대한 참조는 로직을 포함할 수 있고, 그 반대도 가능하다. 컴퓨터 판독 가능 매체에 대한 참조는 적절한 경우, 실행을 위한 소프트웨어를 저장하는 회로(이를테면, 집적 회로(IC: integrated circuit)), 실행을 위한 로직을 구현하는 회로, 또는 이 둘 모두를 포괄할 수 있다. 본 개시내용은 하드웨어와 소프트웨어의 임의의 적절한 조합을 포괄한다.
본 개시내용은 여러 비-제한적인 실시예를 설명했지만, 본 개시내용의 범위 내에 속하는 변경, 치환 및 다양한 대체 등가물이 있다. 따라서 당해 기술분야에서 통상의 지식을 가진 자는, 본 명세서에서 명시적으로 도시되거나 설명되지는 않지만, 본 개시내용의 원리를 구현하고 따라서 본 개시내용의 사상 및 범위 내에 있는 다수의 시스템 및 방법을 안출할 수 있을 것이라고 인식될 것이다.

Claims (20)

  1. 메시(mesh) 압축을 위한 텍스처(texture) 좌표 예측 방법으로서,
    상기 텍스처 좌표 예측 방법은 적어도 하나의 프로세서에 의해 실행되며,
    상기 텍스처 좌표 예측 방법은,
    메시에 대한, 3차원(3D) 공간상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하는 단계 - 상기 제1 정점과 상기 예측 후보 정점은 텍스처 평면에서 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ;
    상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장(stretch) 수직 거리를 결정하는 단계 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 -;
    상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 텍스처 좌표를 예측하는 단계; 및
    상기 메시의 상기 제1 정점의 예측된 텍스처 좌표를 인코딩하는 단계
    를 포함하는,
    텍스처 좌표 예측 방법.
  2. 제1항에 있어서,
    상기 신장 수직 거리를 결정하는 단계는,
    3D 공간에서, 제1 정점으로부터 공유 가장자리로의 제1 수직선을 결정하는 단계 - 상기 제1 수직선은 상기 공유 가장자리를 제1 비율로 분할함 - ;
    2D 공간에서, 상기 공유 가장자리를 상기 제1 비율로 분할하는 제1 교차점을 결정하는 단계;
    3D 공간에서, 상기 예측 후보 꼭지점으로부터 상기 공유 가장자리로의 제2 수직선을 결정하는 단계 - 상기 제2 수직선은 상기 공유 가장자리를 제2 비율로 분할함 - ; 및
    2D 공간에서 상기 공유 가장자리를 상기 제2 비율로 분할하는 제2 교차점을 결정하는 단계를 포함하는,
    텍스처 좌표 예측 방법.
  3. 제2항에 있어서,
    상기 제1 정점의 예측된 텍스처 좌표를 결정하는 단계는,
    2D 공간에서 예측선 상의 상기 제1 정점의 예측된 좌표를 결정하는 단계를 포함하고,
    상기 예측선은 상기 공유 가장자리에 수직이고 상기 제1 교차점을 통과하는 선이며, 상기 예측선 상의 제1 정점의 예측된 좌표는 상기 제2 수직선 및 상기 제2 교차점에 기초하는,
    텍스처 좌표 예측 방법.
  4. 제3항에 있어서,
    상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하는 단계; 및
    상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하는 단계
    를 더 포함하는 텍스처 좌표 예측 방법.
  5. 제2항에 있어서,
    상기 제1 정점의 예측된 텍스처 좌표를 결정하는 단계는,
    2D 공간에서, 상기 제2 수직선과 평행하고 상기 제1 교차점을 통과하는 평행선 상의 상기 제1 정점의 예측된 좌표를 결정하는 단계를 포함하고,
    상기 평행선 상의 상기 제1 정점의 예측된 좌표는 상기 제2 수직선과 상기 제2 교차점 사이의 거리 관계에 기초하는,
    텍스처 좌표 예측 방법.
  6. 제5항에 있어서,
    상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하는 단계; 및
    상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하는 단계
    를 더 포함하는 텍스처 좌표 예측 방법.
  7. 제1항에 있어서,
    상기 예측 후보 정점의 좌표는 둘 이상의 예측 후보 정점의 좌표를 포함하고, 상기 제1 정점의 예측된 텍스처 좌표는 상기 제1 정점 및 상기 둘 이상의 예측 후보 정점의 각각의 예측 후보 정점과 연관된 각각의 신장 수직 거리에 기초하는,
    텍스처 좌표 예측 방법.
  8. 제7항에 있어서,
    상기 둘 이상의 예측 후보 정점에 포함된 예측 후보 정점의 개수는 제1 임계값보다 작은,
    텍스처 좌표 예측 방법.
  9. 메시 압축을 위한 텍스처 좌표 예측 장치에 있어서,
    프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 프로그램 코드를 판독하고 상기 프로그램 코드의 명령에 따라 동작하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 프로그램 코드는:
    상기 적어도 하나의 프로세서로 하여금, 메시에 대한, 3차원(3D) 공간 상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하게 하는 수신 코드 - 상기 제1 정점과 상기 예측 후보 정점은 텍스처 평면에서 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ;
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장 수직 거리를 결정하게 하는 제1 결정 코드 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 - ;
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 텍스처 좌표를 예측하게 하는 제2 결정 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 메시의 상기 제1 정점의 예측된 텍스처 좌표를 인코딩하게 하는 인코딩 코드
    를 포함하는,
    텍스처 좌표 예측 장치.
  10. 제9항에 있어서,
    상기 제1 결정 코드는,
    상기 적어도 하나의 프로세서로 하여금, 3D 공간에서, 상기 제1 정점으로부터 공유 가장자리로의 제1 수직선을 결정하게 하는 제3 결정 코드 - 상기 제1 수직선은 상기 공유 가장자리를 제1 비율로 분할함 - ;
    상기 적어도 하나의 프로세서로 하여금, 2D 공간에서, 상기 공유 가장자리를 상기 제1 비율로 분할하는 제1 교차점을 결정하게 하는 제4 결정 코드;
    상기 적어도 하나의 프로세서로 하여금, 3D 공간에서, 상기 예측 후보 정점으로부터 상기 공유 가장자리로의 제2 수직선을 결정하게 하는 제5 결정 코드 - 상기 제2 수직선은 상기 공유 가장자리를 제2 비율로 분할함 - ; 및
    상기 적어도 하나의 프로세서로 하여금, 2D 공간에서 상기 공유 가장자리를 상기 제2 비율로 분할하는 제2 교차점을 결정하게 하는 제6 결정 코드
    를 포함하는,
    텍스처 좌표 예측 장치.
  11. 제10항에 있어서,
    상기 제2 결정 코드는,
    상기 적어도 하나의 프로세서로 하여금, 2D 공간에서 예측선 상의 상기 제1 정점의 예측된 좌표를 결정하게 하는 제7 결정 코드를 포함하고,
    상기 예측선은 상기 공유 가장자리에 수직이고 상기 제1 교차점을 통과하는 선이며, 상기 예측선 상의 제1 정점의 예측된 좌표는 상기 제2 수직선 및 상기 제2 교차점에 기초하는,
    텍스처 좌표 예측 장치.
  12. 제11항에 있어서,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하게 하는 제8 결정 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하게 하는 제1 압축 코드
    를 더 포함하는,
    텍스처 좌표 예측 장치.
  13. 제10항에 있어서,
    상기 제2 결정 코드는,
    상기 적어도 하나의 프로세서로 하여금, 2D 공간에서, 상기 제2 수직선과 평행하고 상기 제1 교차점을 통과하는 평행선 상의 상기 제1 정점의 예측된 좌표를 결정하게 하는 제9 결정 코드를 포함하고,
    상기 평행선 상의 상기 제1 정점의 예측된 좌표는 상기 제2 수직선과 상기 제2 교차점 사이의 거리 관계에 기초하는,
    텍스처 좌표 예측 장치.
  14. 제13항에 있어서,
    상기 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금, 상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하게 하는 제10 결정 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하게 하는 제2 압축 코드
    를 더 포함하는, 텍스처 좌표 예측 장치.
  15. 명령을 저장한, 비-일시적 컴퓨터 판독가능 매체로서,
    상기 명령은, 메시 압축을 위한 텍스처 좌표 예측 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금
    메시에 대한, 3차원(3D) 공간상의 제1 정점의 좌표와 예측 후보 정점의 좌표를 수신하고 - 상기 제1 정점과 상기 예측 후보 정점은 텍스처 평면에서 가장자리를 공유하는 2개의 다각형 메시의 반대편에 위치함 - ;
    상기 제1 정점 및 상기 예측 후보 정점과 연관된 신장(stretch) 수직 거리를 결정하고 - 상기 신장 수직 거리는 3D 공간을 2차원(2D) 공간으로 변환하는 것에 기초함 -;
    상기 제1 정점과 상기 예측 후보 정점과 연관된 신장 수직 거리에 기초하여 상기 제1 정점의 텍스처 좌표를 예측하고; 그리고
    상기 메시의 상기 제1 정점의 예측된 텍스처 좌표를 인코딩하게 하는
    하나 이상의 명령을 포함하는,
    비-일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 신장 수직 거리를 결정하는 것은,
    3D 공간에서, 제1 정점으로부터 공유 가장자리로의 제1 수직선을 결정하는 것 - 상기 제1 수직선은 상기 공유 가장자리를 제1 비율로 분할함 - ;
    2D 공간에서, 상기 공유 가장자리를 상기 제1 비율로 분할하는 제1 교차점을 결정하는 것;
    3D 공간에서, 상기 예측 후보 꼭지점으로부터 상기 공유 가장자리로의 제2 수직선을 결정하는 것 - 상기 제2 수직선은 상기 공유 가장자리를 제2 비율로 분할함 - ; 및
    2D 공간에서 상기 공유 가장자리를 상기 제2 비율로 분할하는 제2 교차점을 결정하는 것을 포함하는,
    비-일시적 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 제1 정점의 예측된 텍스처 좌표를 결정하는 것은,
    2D 공간에서 예측선 상의 상기 제1 정점의 예측된 좌표를 결정하는 것을 포함하고,
    상기 예측선은 상기 공유 가장자리에 수직이고 상기 제1 교차점을 통과하는 선이며, 상기 예측선 상의 제1 정점의 예측된 좌표는 상기 제2 수직선 및 상기 제2 교차점에 기초하는,
    비-일시적 컴퓨터 판독가능 매체.
  18. 제17항에 있어서,
    상기 명령은, 상기 하나 이상의 프로세서로 하여금
    상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하고; 그리고
    상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하게 하는,
    비-일시적 컴퓨터 판독가능 매체.
  19. 제16항에 있어서,
    상기 제1 정점의 예측된 텍스처 좌표를 결정하는 것은,
    2D 공간에서, 상기 제2 수직선과 평행하고 상기 제1 교차점을 통과하는 평행선 상의 상기 제1 정점의 예측된 좌표를 결정하는 것을 포함하고,
    상기 평행선 상의 상기 제1 정점의 예측된 좌표는 상기 제2 수직선과 상기 제2 교차점 사이의 거리 관계에 기초하는,
    비-일시적 컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 명령은, 상기 하나 이상의 프로세서로 하여금
    상기 제1 정점의 예측된 좌표와 상기 제1 정점의 실제 2D 좌표의 잔차를 결정하고; 그리고
    상기 잔차의 엔트로피 코딩에 기초하여 상기 메시를 압축하게 하는,
    비-일시적 컴퓨터 판독가능 매체.
KR1020247014599A 2022-09-07 2023-07-05 메시 압축에서의 텍스처 좌표 예측 KR20240089239A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263404399P 2022-09-07 2022-09-07
US63/404,399 2022-09-07
US18/345,027 2023-06-30
US18/345,027 US20240078713A1 (en) 2022-09-07 2023-06-30 Texture coordinate prediction in mesh compression
PCT/US2023/026898 WO2024054290A1 (en) 2022-09-07 2023-07-05 Texture coordinate prediction in mesh compression

Publications (1)

Publication Number Publication Date
KR20240089239A true KR20240089239A (ko) 2024-06-20

Family

ID=90061045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247014599A KR20240089239A (ko) 2022-09-07 2023-07-05 메시 압축에서의 텍스처 좌표 예측

Country Status (4)

Country Link
US (1) US20240078713A1 (ko)
KR (1) KR20240089239A (ko)
CN (1) CN118020093A (ko)
WO (1) WO2024054290A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783669B2 (en) * 2018-09-26 2020-09-22 Google Llc Texture coordinate compression using texture atlas
EP3827414A4 (en) * 2018-11-09 2021-11-24 Samsung Electronics Co., Ltd. TEXTURED NEURONAL AVATARS
US11450030B2 (en) * 2019-09-24 2022-09-20 Apple Inc. Three-dimensional mesh compression using a video encoder

Also Published As

Publication number Publication date
US20240078713A1 (en) 2024-03-07
CN118020093A (zh) 2024-05-10
WO2024054290A1 (en) 2024-03-14

Similar Documents

Publication Publication Date Title
JP2023552116A (ja) メッシュ解凍のための方法、処理回路構成を含む装置、並びに関連するプログラム及び記憶媒体
US20230306701A1 (en) Parallel approach to dynamic mesh alignment
KR20230145176A (ko) 메시 압축에서 패치들에 대한 무중첩 속성 체크
KR20240089239A (ko) 메시 압축에서의 텍스처 좌표 예측
US20240185471A1 (en) Texture coordinate compression using chart partition
JP7508709B2 (ja) 動的メッシュ圧縮のための2d uvアトラスサンプリングベースの方法、装置及びプログラム
US11606556B2 (en) Fast patch generation for video based point cloud coding
US20230306648A1 (en) Mesh parameterization with temporally correlated uv atlases
US20230306647A1 (en) Geometry filtering for mesh compression
KR20240093923A (ko) 표면 반사 대칭을 이용하는 기본 메시 코딩
CN118475958A (zh) 使用图表分区的纹理坐标压缩
KR20230169289A (ko) 메시 압축을 위한 경계 uv 정보의 예측 코딩
KR20230162687A (ko) 메시 압축을 위한 경계 uv2xyz 인덱스의 예측 코딩
KR20240090790A (ko) 메시 압축을 위한 적응형 지오메트리 필터링
KR20240110618A (ko) 신규 세그먼트화를 이용한 메시 최적화
KR20240056588A (ko) 동적 메시 정점 변위 코딩
WO2024063811A1 (en) Multiple attribute maps merging
KR20240067924A (ko) 대칭 메시의 uv 속성 코딩 방법 및 장치
WO2024144877A1 (en) Multiple sub-meshes encoding
KR20240131434A (ko) 동적 메시 압축을 위한 경계 정보를 이용한 삼각 분할 방법
JP2023533423A (ja) ビデオベースの点群コーディングのための非バイナリ占有マップ
KR20240066268A (ko) 일반적인 토폴로지의 차트를 사용한 atlas 샘플링 기반 메시 압축
KR20230011406A (ko) 비디오 기반 포인트 클라우드 코딩을 위한 조건적 재채색
CN118575200A (zh) 用于网格压缩的自适应几何滤波
CN118215940A (zh) 使用实例分段的点云优化

Legal Events

Date Code Title Description
A201 Request for examination