KR20230084143A - 애니메이션화된 3d 객체의 적어도 하나의 속성을 인코딩/디코딩하기 위한 방법 및 장치 - Google Patents

애니메이션화된 3d 객체의 적어도 하나의 속성을 인코딩/디코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20230084143A
KR20230084143A KR1020237010620A KR20237010620A KR20230084143A KR 20230084143 A KR20230084143 A KR 20230084143A KR 1020237010620 A KR1020237010620 A KR 1020237010620A KR 20237010620 A KR20237010620 A KR 20237010620A KR 20230084143 A KR20230084143 A KR 20230084143A
Authority
KR
South Korea
Prior art keywords
subset
values
component
animated
attribute
Prior art date
Application number
KR1020237010620A
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 KR20230084143A publication Critical patent/KR20230084143A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics

Landscapes

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

Abstract

애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하기 위한 방법 및 장치, 및 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하기 위한 방법 및 장치가 개시된다. 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소는 속성들의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍함으로써 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 -, 그리고 값들의 제1 서브세트 및 제2 서브세트를 인코딩함으로써 인코딩된다.

Description

애니메이션화된 3D 객체의 적어도 하나의 속성을 인코딩/디코딩하기 위한 방법 및 장치
본 실시예들은 대체적으로 애니메이션화된 메시의 인코딩 및 디코딩을 위한 방법 및 장치에 관한 것이다.
자유 뷰포인트 비디오는 공간적으로 디스패치된 물리적 캡처 디바이스들(비디오, 적외선, ...)의 세트를 사용하여 애니메이션화된 모델을 캡처함으로써 구현될 수 있다. 이어서, 캡처된 애니메이션화된 시퀀스는 인코딩되어 6개의 자유도(6 dof)를 갖는 임의의 가상 뷰포인트로부터 재생되기 위한 단말기로 송신될 수 있다. 애니메이션화된 모델을 인코딩하기 위한 상이한 접근법들이 존재한다. 예를 들어, 애니메이션화된 모델은 이미지/비디오, 포인트 클라우드, 또는 텍스처링된 메시로서 표현될 수 있다
이미지/비디오 기반 접근법에서, 비디오 스트림 + 추가적인 메타데이터의 세트가 저장되고, 재생 시에 가상 뷰포인트로부터 이미지를 생성하기 위해 워핑(warping) 또는 임의의 다른 재투영이 수행된다. 이러한 솔루션은 많은 대역폭을 필요로 하고, 많은 아티팩트들을 도입한다.
포인트 클라우드 접근법에서, 애니메이션화된 3D 포인트 클라우드가 입력된 애니메이션화된 이미지들의 세트로부터 재구성되어, 이에 따라, 3D 모델 표현이 더 콤팩트해지게 한다. 이어서, 애니메이션화된 포인트 클라우드는 그것의 전달을 위해 (예컨대, HEVC, AVC, VVC...를 사용하여) 2D 코딩된 비디오 스트림들에 인코딩된 애니메이션화된 포인트 클라우드 및 투영된 포인트들(패치들로도 알려짐)을 감싸는 볼륨의 평면들 상에 투영될 수 있다. 이러한 솔루션은, 예를 들어 MPEG V-PCC 표준("ISO/IEC JTC1/SC29 WG11, w19332, V-PCC codec description," Alpbach, Austria, April 2020)에서 개발된다. 그러나, 모델의 특성은 공간적 확장의 면에서 매우 제한되며, 확대도들의 경우에는 표면 상의 구멍들과 같은 일부 아티팩트들이 나타날 수 있다.
텍스처링된 메시 접근법에서, 애니메이션화된 텍스처링된 메시는, 예를 들어 [1](A. Collet, M. Chuang, P. Sweeney, D. Gillett, D. Evseev, D. Calabrese, H. Hoppe, A. Kirk and S. Sullivan, "High-quality streamable free-viewpoint video," in ACM Transaction on Graphics (SIGGRAPH), 2015, or in J. Carranza, C. Theobalt, M. A. Magnor and H.-P. Seidel, "Free-Viewpoint Video of Human Actors," in ACM SIGGRAPH, 2003)에서와 같은 입력된 애니메이션화된 이미지들의 세트로부터 재구성된다. 이러한 종류의 재구성은 일반적으로, 복셀들 또는 포인트 클라우드로서 중간 표현을 통과한다. 메시들의 특징은, 표준 비디오 스트림에서 측광 텍스처 아틀라스들이 인코딩될 수 있고 기하구조 정의가 상당히 낮을 수 있다는 것이다. 포인트 클라우드 솔루션들은 비디오 기반 인코딩 접근법들과 호환가능한 평면 표현을 획득하기 위해 (V-PCC에서와 같이) "복잡한" 그리고 "손실성인" 암시적 및 명시적 투영들을 필요로 할 수 있다. 이에 대응하여, 텍스처링된 메시 인코딩은 메시의 삼각형들에 대한 텍스처 이미지의 맵핑을 수행하기 위해 텍스처 좌표(UV)들에 의존한다.
일 실시예에 따르면, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하기 위한 방법이 제공된다. 방법은, 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 단계 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 -, 및 값들의 제1 서브세트 및 제2 서브세트를 인코딩하는 단계를 포함한다.
다른 실시예에 따르면, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하기 위한 장치가 제공되는데, 이는 적어도 하나의 속성의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하도록 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 -, 그리고 값들의 제1 서브세트를 인코딩하고 제2 서브세트를 인코딩하도록 구성되는 하나 이상의 프로세서들을 포함한다.
다른 실시예에 따르면, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하기 위한 방법이 제공되며, 여기서 디코딩하는 단계는, 값들의 제1 서브세트 및 값들의 제2 서브세트를 디코딩하는 단계, 및 제1 서브세트 및 제2 서브세트로부터 적어도 하나의 속성의 적어도 하나의 구성요소를 재구성하는 단계를 포함하고, 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함한다.
다른 실시예에 따르면, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하기 위한 장치가 제공되는데, 이는 값들의 제1 서브세트 및 값들의 제2 서브세트를 디코딩하도록, 그리고 제1 서브세트 및 제2 서브세트로부터 적어도 하나의 속성을 재구성하도록 구성되는 하나 이상의 프로세서들을 포함하고, 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함한다.
다른 실시예에 따르면, 3D 객체를 인코딩/디코딩하기 위한 방법이 제공되는데, 이는 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 적어도 인코딩/디코딩하는 단계를 포함한다.
다른 실시예에 따르면, 3D 객체를 인코딩/디코딩하기 위한 장치가 제공되는데, 이는 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 적어도 인코딩/디코딩하도록 구성되는 하나 이상의 프로세서들을 포함한다.
다른 실시예에 따르면, 애니메이션화된 3D 객체의 적어도 하나의 속성의 코딩됨을 포함하는 비트스트림이 제공되는데, 이는 애니메이션화된 3D 객체의 적어도 속성의 적어도 하나의 구성요소의 값들의 제1 서브세트를 나타내는 코딩된 비디오 데이터, 및 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소의 값들의 제2 서브세트를 나타내는 코딩된 메타데이터를 포함하고, 상기 적어도 하나의 속성은 값들의 제1 서브세트 및 제2 서브세트로 리프레이밍되고, 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함한다.
하나 이상의 실시예들은 또한, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 전술된 실시예들 중 임의의 것에 따른 인코딩 방법들 또는 디코딩 방법들 중 어느 하나를 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램을 제공한다. 본 실시예들 중 하나 이상은 또한, 전술된 방법들에 따라 3D 객체, 또는 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하거나 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예들은 또한, 전술된 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예들은 또한, 전술된 방법들에 따라 생성된 비트스트림을 송신하거나 수신하기 위한 방법 및 장치를 제공한다.
도 1은 본 실시예들의 태양들이 구현될 수 있는 시스템의 블록도를 도시한다.
도 2는 비디오 인코더의 일 실시예의 블록도를 도시한다.
도 3은 비디오 디코더의 일 실시예의 블록도를 도시한다.
도 4는 팔면체 표현을 도시한다.
도 5는 대응하는 3D 객체들 및 텍스처 아틀라스를 갖는 예시적인 메시들을 도시한다.
도 6은 CL=0(EdgeBreaker 없음)을 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 속성의 진화를 도시한다.
도 7은 CL=4(EdgeBreaker를 가짐)를 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다.
도 8은 CL=4(EdgeBreaker를 가짐)를 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다.
도 9는 CL=10(베일런스-구동된(valence driven) EdgeBreaker를 가짐)을 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다.
도 10은 CL=10(베일런스-구동된 EdgeBreaker를 가짐)을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다.
도 11은 CL=10(EdgeBreaker를 가짐) 및 10 비트의 양자화 스텝을 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 UV의 델타들의 진화를 도시한다.
도 12는 CL=10(EdgeBreaker를 가짐) 및 10 비트의 양자화 스텝을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 UV의 델타들의 진화를 도시한다.
도 13은 CL=10(EdgeBreaker를 가짐) 및 7 비트의 양자화 스텝을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 팔면체 공간 내의 법선의 진화를 도시한다.
도 14는 일 실시예에 따른, 3D 객체를 인코딩하기 위한 예시적인 방법을 도시한다.
도 15는 일 실시예에 따른, 3D 객체를 디코딩하기 위한 예시적인 방법을 도시한다.
도 16은 일 실시예에 따른, 애니메이션화된 3D 객체의 속성의 적어도 하나의 구성요소를 인코딩하기 위한 예시적인 방법을 도시한다.
도 17은 일 실시예에 따른, 애니메이션화된 3D 객체의 속성의 구성요소의 값들을 리프레이밍하기 위한 예시적인 방법을 도시한다.
도 18은 일 실시예에 따른, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하기 위한 예시적인 방법의 블록도를 도시한다.
도 19는 하나의 프레임에 대한 이미지 평면들에서의 발레리나 모델 속성들에 대한 선형 패킹의 일례를 도시한다.
도 20은 CL=10(EdgeBreaker를 가짐) 및 7 비트의 양자화 스텝을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 팔면체 공간 내의 개상된(rebased) 법선의 진화를 도시한다.
도 21은 일 실시예에 따른, 리프레이밍을 위한 U, V 신호들 및 대응하는 필터링의 일례를 도시한다.
도 22는 일 실시예에 따른 비트스트림의 일부의 일례를 도시한다.
도 23a는 일 실시예에 따른, 제2 서브세트에 대해 인코딩된 메타데이터의 일례를 도시한다.
도 23b는 다른 실시예에 따른, 제2 서브세트에 대해 인코딩된 메타데이터의 일례를 도시한다.
도 1은 다양한 태양들 및 실시예들이 구현될 수 있는 시스템의 일례의 블록도를 도시한다. 시스템(100)은 후술되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있으며, 본 출원에 기술된 태양들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들에는 개인용 컴퓨터들, 랩톱 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인용 비디오 녹화 시스템들, 연결형 가전 제품들, 및 서버들과 같은 다양한 전자 디바이스들이 포함되지만, 이들로 제한되지 않는다. 시스템(100)의 요소들은 단일 집적 회로, 다수의 IC들, 및/또는 별개의 컴포넌트들에, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(100)의 프로세싱 및 인코더/디코더 요소들은 다수의 IC들 및/또는 별개의 구성요소들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(100)은, 예를 들어 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 다른 시스템들에 또는 다른 전자 디바이스들에 통신가능하게 커플링된다. 다양한 실시예들에서, 시스템(100)은 본 출원에 기술된 태양들 중 하나 이상을 구현하도록 구성된다.
시스템(100)은, 예를 들어 본 출원에 기술된 다양한 태양들을 구현하기 위해 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(110)를 포함한다. 프로세서(110)는 임베딩된 메모리, 입출력 인터페이스 및 당업계에 알려진 바와 같은 다양한 다른 회로부들을 포함할 수 있다. 시스템(100)은 적어도 하나의 메모리(120)(예컨대, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(100)은 저장 디바이스(140)를 포함하며, 이는 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이들로 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있다. 비제한적인 예로서, 저장 디바이스(140)는 내부 저장 디바이스, 부착된 저장 디바이스 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
예를 들어, 시스템(100)은 데이터를 프로세싱하여 인코딩된 비디오 또는 디코딩된 비디오를 제공하도록 구성된 인코더/디코더 모듈(130)을 포함하고, 인코더/디코더 모듈(130)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(130)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 또한, 인코더/디코더 모듈(130)은 시스템(100)의 별개의 요소로서 구현될 수 있거나, 또는 당업자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(110) 내에 통합될 수 있다.
본 출원에 기술된 다양한 태양들을 수행하기 위해 프로세서(110) 또는 인코더/디코더(130) 상에 로딩될 프로그램 코드는 저장 디바이스(140)에 저장되고, 이어서 프로세서(110)에 의한 실행을 위해 메모리(120) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(110), 메모리(120), 저장 디바이스(140) 및 인코더/디코더 모듈(130) 중 하나 이상은 본 출원에 기술된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 저장된 그러한 항목들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분, 비트스트림, 매트릭스, 변수, 및 방정식, 공식, 연산 및 연산 로직의 프로세싱으로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이들로 제한되지 않는다.
여러 실시예들에서, 프로세서(110) 및/또는 인코더/디코더 모듈(130) 내부의 메모리는 명령어들을 저장하기 위해 그리고 인코딩 또는 디코딩 동안 필요한 프로세싱을 위한 작업 메모리를 제공하기 위해 사용된다. 그러나, 다른 실시예들에서, 프로세싱 디바이스 외부의 메모리(예를 들어, 프로세싱 디바이스는 프로세서(110) 또는 인코더/디코더 모듈(130) 중 어느 하나일 수 있음)는 이러한 기능들 중 하나 이상에 사용된다. 외부 메모리는 메모리(120) 및/또는 저장 디바이스(140), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 여러 실시예들에서, 외부 비휘발성 플래시 메모리가 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속, 외부 동적 휘발성 메모리는 MPEG-2, HEVC, 또는 VVC에 대한 것과 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(100)의 요소들에 대한 입력은 블록(105)에 나타낸 바와 같은 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 무선으로 송신되는 RF 신호를 수신하는 RF 부분, (ii) 복합 입력 단자(Composite input terminal), (iii) USB 입력 단자, 및/또는 (iv) HDMI 입력 단자를 포함하지만, 이들로 제한되지 않는다.
다양한 실시예들에서, 블록(105)의 입력 디바이스들은 당업계에 알려진 바와 같은 연관된 각자의 입력 프로세싱 요소들을 갖는다. 예를 들어, RF 부분은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수들의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환(downconvert)하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향 변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 오류 보정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 근접 주파수(near-baseband frequency))로 또는 기저대역으로 하향 변환하는 것을 포함하여, 다양한 이들 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 프로세싱 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향 변환, 및 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이들 요소들 중 일부를 제거하고/하거나 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은 기존 요소들 사이에 요소들을 삽입하는 것, 예를 들어, 증폭기들 및 아날로그-대-디지털 변환기를 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
추가로, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 접속을 통해 다른 전자 디바이스들에 시스템(100)을 접속시키기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 프로세싱, 예를 들어, 리드 솔로몬(Reed-Solomon) 에러 보정의 다양한 태양들이, 예를 들어, 필요에 따라, 별개의 입력 프로세싱 IC 내에서 또는 프로세서(110) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 프로세싱의 태양들이, 필요에 따라, 별개의 인터페이스 IC들 내에서 또는 프로세서(110) 내에서 구현될 수 있다. 복조, 에러 정정, 및 역다중화된 스트림은, 예를 들어, 출력 디바이스 상에서의 프리젠테이션을 위해 필요에 따라 데이터 스트림을 프로세싱하도록 메모리 및 저장 요소들과 조합하여 동작하는 프로세서(110), 및 인코더/디코더(130)를 포함한 다양한 프로세싱 요소들에 제공된다.
시스템(100)의 다양한 요소들이 집적 하우징 내에 제공될 수 있다. 집적 하우징 내에서, 다양한 요소들은 I2C 버스, 배선 및 인쇄 회로 기판들을 포함한 적합한 접속 배열물(115), 예를 들어, 당업계에 알려져 있는 바와 같은 내부 버스를 사용하여, 상호접속될 수 있고 그들 사이에서 데이터를 송신할 수 있다.
시스템(100)은 통신 채널(190)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(150)를 포함한다. 통신 인터페이스(150)는 통신 채널(190)을 통해 데이터를 송수신하도록 구성되는 송수신기를 포함할 수 있지만, 이로 제한되지 않는다. 통신 인터페이스(150)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이로 제한되지 않으며, 예를 들어, 통신 채널(190)이 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, IEEE 802.11과 같은 Wi-Fi 네트워크를 사용하여 시스템(100)으로 스트리밍된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신에 대해 적응된 통신 채널(190) 및 통신 인터페이스(150)를 통해 수신된다. 이러한 실시예들의 통신 채널(190)은 전형적으로, 스트리밍 애플리케이션들 및 다른 오버더톱(over-the-top) 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(105)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(100)에 제공한다. 또 다른 실시예들은 입력 블록(105)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(100)에 제공한다.
시스템(100)은 디스플레이(165), 스피커(175), 및 다른 주변기기 디바이스(185)를 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다른 주변기기 디바이스들(185)은, 실시예들의 다양한 예들에서, 독립형 DVR, 디스크 플레이어, 스테레오 시스템, 조명 시스템, 및 시스템(100)의 출력에 기초하여 기능을 제공하는 다른 디바이스들 중 하나 이상을 포함한다. 다양한 실시예들에서, 제어 신호들은, 사용자 개입으로 또는 사용자 개입 없이 디바이스-대-디바이스 제어를 인에이블시키는 AV.Link, CEC, 또는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(100)과 디스플레이(165), 스피커들(175), 또는 다른 주변기기 디바이스들(185) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(160, 170, 180)을 통한 전용 접속들을 통해 시스템(100)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(150)를 통해 통신 채널(190)을 사용하여 시스템(100)에 접속될 수 있다. 디스플레이(165) 및 스피커(175)는 전자 디바이스, 예를 들어 텔레비전에서 시스템(100)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(160)는 디스플레이 드라이버, 예를 들어 타이밍 제어기(T Con) 칩을 포함한다.
디스플레이(165) 및 스피커(175)는 대안적으로, 예를 들어 입력(105)의 RF 부분이 별개의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(165) 및 스피커들(175)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어 HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
도 2는 일 실시예에 따른, 애니메이션화된 메시의 하나 이상의 속성들을 인코딩하기 위해 사용될 수 있는 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 인코더와 같은 예시적인 비디오 인코더(200)를 도시한다. 도 2는 또한, HEVC 표준에 대한 개선이 이루어지는 인코더, 또는 HEVC와 유사한 기술들을 채용하는 인코더, 예컨대 JVET(Joint Video Exploration Team)에 의한 개발 하의 VVC(Versatile Video Coding) 인코더를 도시할 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어들은 상호교환가능하게 사용될 수 있고, "인코딩된" 또는 "코딩된"이라는 용어들은 상호교환가능하게 사용될 수 있고, "픽셀" 또는 "샘플"이라는 용어들은 상호교환가능하게 사용될 수 있고, "이미지", "픽처" 및 "프레임"이라는 용어들은 상호교환가능하게 사용될 수 있다. 반드시 그렇지는 않지만, 일반적으로, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
인코딩되기 전에, 비디오 시퀀스는, 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하거나(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환), 또는 (예를 들어, 컬러 구성요소들 중 하나의 구성요소의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위해 입력 픽처 구성요소들의 재맵핑(remapping)을 수행하는, 사전 인코딩 프로세싱(201)을 거칠 수 있다. 메타데이터는 사전-프로세싱과 연관될 수 있고, 비트스트림에 부착될 수 있다.
인코더(200)에서 픽처는 후술되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처가 파티셔닝되고(202), 예를 들어, 코딩 단위(CU)들의 단위들로 프로세싱된다. 각각의 유닛은, 예를 들어 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 그것은 인트라 예측을 수행한다(260). 인터 모드에서는 모션 추정(275) 및 보상(270)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(205), 예를 들어 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 인코더는 또한, 인트라 예측 결과 및 인터 예측 결과를 블렌드할 수 있거나, 또는 상이한 인트라/인터 예측 방법들로부터의 결과들을 블렌드할 수 있다(263).
예측 잔차들은, 예를 들어 오리지널 이미지 블록에서 예측된 블록을 감산함으로써(210) 계산된다. 모션 개선 모듈(272)은 오리지널 블록을 참조하지 않고서 블록의 모션 필드를 개선하기 위해 이미 이용가능한 기준 픽처를 사용한다. 영역에 대한 모션 필드는 영역을 갖는 모든 픽셀들에 대한 모션 벡터들의 집합으로 간주될 수 있다. 모션 벡터들이 서브블록 기반인 경우, 모션 필드는 또한, 영역 내의 모든 서브블록 모션 벡터들의 집합으로서 표현될 수 있다(서브블록 내의 모든 픽셀들은 동일한 모션 벡터를 갖고, 모션 벡터들은 서브블록에 따라 달라질 수 있음). 단일 모션 벡터가 영역에 대해 사용되는 경우, 영역에 대한 모션 필드는 또한, 단일 모션 벡터(영역 내의 모든 픽셀들에 대해 동일한 모션 벡터들)로 표현될 수 있다.
이어서, 예측 잔차들은 변환되고(225) 양자화된다(230). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들은 엔트로피 코딩되어(245) 비트스트림을 출력한다. 인코더는 변환을 스킵할 수 있고, 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 모두를 스킵할 수 있으며, 즉, 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩된다.
인코더는 인코딩된 블록을 디코딩하여 추가 예측들을 위한 기준을 제공한다. 양자화된 변환 계수들은 예측 잔차들을 디코딩하기 위해 역양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(255) 이미지 블록이 재구성된다. 인루프(in-loop) 필터들(265)이, 예를 들어, 인코딩 아티팩트들을 감소시키기 위해 디블록킹(deblocking)/SAO(샘플 적응적 오프셋) 필터링을 수행하도록 재구성된 픽처에 적용된다. 필터링된 이미지는 기준 픽처 버퍼(280)에 저장된다.
도 3은 일 실시예에 따른, 애니메이션화된 메시의 하나 이상의 속성들을 디코딩하기 위해 사용될 수 있는 예시적인 비디오 디코더(300)의 블록도를 도시한다. 디코더(300)에서, 비트스트림은 후술되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(300)는 대체적으로 도 2에 기술된 바와 같이 인코딩 패스에 상반적인 디코딩 패스를 수행한다. 인코더(200)는 또한 대체적으로, 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(200)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(330). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 나타낸다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(335). 변환 계수들은 예측 잔차들을 디코딩하기 위해 역양자화되고(340) 역변환된다(350). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(355) 이미지 블록이 재구성된다.
예측된 블록은 인트라 예측(360) 또는 모션 보상 예측(즉, 인터 예측)(375)으로부터 획득(370)될 수 있다. 디코더는 인트라 예측 결과 및 인터 예측 결과를 블렌드할 수 있거나, 또는 다수의 인트라/인터 예측 방법들로부터의 결과들을 블렌드할 수 있다(373). 모션 보상 전에, 모션 필드는 이미 이용가능한 기준 픽처들을 사용함으로써 개선될 수 있다(372). 재구성된 이미지에 인루프 필터들(365)이 적용된다. 필터링된 이미지는 기준 픽처 버퍼(380)에 저장된다.
디코딩된 픽처는 사후 디코딩 프로세싱(385), 예를 들어, 사전 인코딩 프로세싱(201)에서 수행된 재맵핑 프로세스의 역을 수행하는 역 재맵핑 또는 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환)을 추가로 거칠 수 있다. 사후 디코딩 프로세싱은 사전 인코딩 프로세싱에서 도출되고 비트스트림에서 시그널링된 메타데이터를 사용할 수 있다.
본 출원은 애니메이션화된 3D 객체의 하나 이상의 속성들을 인코딩/디코딩하기 위한 다양한 실시예들을 제공한다. 일 실시예에 따르면, 3D 객체는 애니메이션화된 포인트 클라우드 또는 애니메이션화된 3D 메시로서 표현된다. 3D 메시로서 표현된 3D 객체의 경우에 하기의 실시예들이 기술된다. 3D 메시는 3D 객체의 포인트 클라우드로부터 도출될 수 있다.
메시는 적어도 하기의 특징들을 포함한다: 정점들의 목록 또는 정점 포지션들의 목록, 정점들 사이의 연결부를 정의하는 토폴로지, 예를 들어, 면들의 목록, 및 선택적으로 텍스처 데이터, 예컨대 정점들에 연관된 텍스처 아틀라스들, 또는 컬러 값들.
일 실시예에 따르면, 비디오 기반 코딩/디코딩은 애니메이션화된 메시의 정점의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩/디코딩하기 위해 사용된다. 정점의 속성이란, 여기서, 메시의 각각의 정점에 연관된 속성들, 예컨대 기하구조 좌표들로도 지칭되는 3D 공간 내의 정점의 포지션(x,y,z), 정점에 연관된 텍스처 아틀라스 내의 텍스처 좌표들(U,V), 정점에 연관된 법선, 정점에 연관된 컬러, 또는 일반 속성을 지칭한다. 일부 속성은 오로지 하나의 구성요소만을 가질 수 있고, 다른 속성들은 여러 구성요소들을 가질 수 있다.
애니메이션화된 텍스처링된 메시를 인코딩하고 송신하기 위한 종단간 체인(end-to-end chain)의 일례가 [1]에서 제시된다. 이러한 스킴에서, 메시들의 토폴로지가 부합하도록 시간 경과에 따라 메시들이 추적된다. 텍스처 아틀라스들은 H.264 기반 인코더를 사용하여, 비디오 프레임으로서 인코딩된다. 메시는 메시 시퀀스를 일련의 키프레임들 및 예측 프레임들로 분할함으로써 인코딩한 것이다. 키프레임 메시들은 기하구조 및 연결성 정보 둘 모두를 포함한다. 16 비트로 양자화된 기하구조 정보(정점 포지션들 및 UV 좌표들)가 인코딩된다. 연결성 정보는 가변-바이트 삼각형 스트립을 사용하여 델타-인코딩된다. 예측 프레임은 오로지 델타 기하구조 정보만을 포함한다. 선형 모션 예측자는 델타 기하구조를 컴퓨팅하는 데 사용되는데, 이는 이어서, Golomb 코딩으로 양자화되고 압축된다. [1]에서, 메시는 메타데이터로서, 그리고 비디오 코딩 스킴들을 사용하지 않고서 인코딩된다.
문헌[J. Rossignac, "Edgebreaker: Connectivity compression for triangle meshes," GVU center, Georgia Institute of Technology, 1999]에서 그리고 문헌[J. Rossignac, "3D compression made simple: Edgebreaker with ZipandWrap on a corner-table," in Proceedings International Conference on Shape Modeling and Applications, Genova, Italy, 2001]에서, 정적 메시들을 인코딩하기 위한, EdgeBreaker로 불리는 스킴의 구현예들이 제안된다. Edgebreaker는 정적 메시 토폴로지를 메시 토폴로지 위에 나선형 삼각형-스트립들로서 인코딩하기 위한 알고리즘을 제공한다. 트리-스트립 체인 토폴로지는 매우 짧은 코드를 사용하여 코딩되며, 프로세스를 통해 방문하는 정점들의 속성들(포지션, UV들, 법선, 컬러들)은 델타-인코딩된다. 이어서, 델타-인코딩된 속성 테이블들은 임의의 엔트로피 코더의 사용으로 압축된다. 알고리즘의 입력 데이터 구조는 입력 메시의 코너 테이블 표현이다.
EdgeBreaker 알고리즘은 소위 CLERS 테이블을 사용한다. Edgebreaker는 나선형(깊이-우선) 삼각형-스패닝-트리 순서로 삼각형들을 방문하고, 삼각형마다 하나씩, 디스크립터들의 스트링을 생성하는데, 이들은 새로운 삼각형들을 이전에 재구성된 것들에 연결함으로써 메시가 어떻게 재생성될 수 있는지를 표시한다. Edgebreaker의 특성은 모든 디스크립터들이 세트{C,L,E,R,S}로부터의 심볼들이라는 사실에 있다. 다른 파라미터는 필요하지 않다. 디스크립터들 중 절반이 C이기 때문에, 자명한 코드(C=0, L=110, E=111, R=101, S=100)는 삼각형마다 평균 2 비트를 보장한다.
메시의 정점들은 델타-인코딩된다. Edgebreaker 압축은 WRITE(delta, D) 명령문(statement)들을 사용하여, 델타로 불리는 스트링에 교정 벡터(corrective vector)들의 시퀀스 및 포인트를 저장하며, 여기서 D는 포인트 또는 벡터이다. 교정 벡터들은 개별 사후 프로세싱 엔트로피 압축 단계에서 가변 길이 이진 포맷을 사용하여 인코딩된다. 압축해제 동안, 제1 호출 READ(delta)이 제1 정점의 디코딩된 버전을 반환한다. READ(delta)에 대한 후속 호출들이 교정 벡터들을 반환하는데, 이들은 정점 추정치들에 추가된다.
새로운 삼각형의 팁 정점(tip vertex)을 아직 방문하지 않았을 때, 삼각형은 C 삼각형이고, 현재 삼각형의 팁 정점에 대한 교정 벡터는 문헌[C. Touma and C. Gotsman, "Triangle Mesh Compression," in Graphics Interface, 1998.]에서 설명된 바와 같은 평행사변형 규칙을 사용하여 델타-인코딩된다.
구글의 문헌["Draco 3D graphics compression," 2017-2020 ([Online] Available: https://google.github.io/draco/).]에서, Draco로 불리는, 정적 포인트 클라우드들 및 정적 메시들의 압축에 대한 라이브러리가 제시된다. 정적 메시들의 경우, 라이브러리는 Edgebreaker 알고리즘의 커팅 에지(cutting edge) 구현들에 의존한다. 시스템은, 압축비에 대한 직접적인 영향을 갖는 압축 속도를 주로 안내하는 압축의 3개의 레벨들{CL0, CL4, CL10}을 제안한다. 압축 레벨 영향은 토폴로지 압축 알고리즘을 선택하는 것이다:
- CL0: Edgebreaker 없음, 단순한 토폴로지 인코딩, 매우 빠름, 낮은 압축.
- CL4: Edgebreaker의 단순하고 빠른 구현.
- CL10: 베일런스-구동되는 Edgebreaker의 진화되고 (약간) 더 느린 구현, 가장 콤팩트한 결과들.
Draco는 정점 포지션들(디폴트 qp=11), UV들(디폴트 qt=10), 법선들(디폴트 qn=7), 컬러들(디폴트 qc=8) 및 일반(디폴트 qg=8)에 대한 양자화 파라미터들을 제안한다. 디폴트 값들은 구성요소당 비트로 표현된다. 값들은 구성요소당 32비트로 상승할 수 있다.
Draco에서, 포지션들, UV들, 컬러들 및 일반 속성들은 평행사변형 규칙을 사용하여 모두 델타 인코딩된다. 법선들은, 그들의 정규화된 그리고 구체(spherical) 특성으로 인해, 문서[Q. MEYER, J.
Figure pct00001
, G. SUSSNER, M. STAMMINGER and G. ANDGREINER, "On floating-point normal vectors.," in Proceedings of the 21st Eurographics conference onRendering, Aire-la-Ville, Switzerland, 2010]에서와 같은 팔면체 표현을 사용하여 양자화된다(도 4 참조). 도 4는 구체의 팔분원들을 팔면체의 면들에 맵핑하는 팔면체 표현을 도시한다. 이어서, 팔면체의 면들은 단위 정사각형으로 펼쳐진 평면에 투영된다.
압축의 프로세스 동안, Draco 구현은 CLERS 체인들을 특정 테이블에 저장하고, 양자화된 속성들을 각자의 테이블들에 저장한다. 포지션들, UV들, 컬러들, 및 일반 속성들의 경우, 양자화된 델타 값들은 부호있는 정수들로서 메모리에 저장된다. 법선의 경우, 양자화된 팔면체 값들은 부호없는 I,J 좌표들로서 메모리에 저장된다. 속성 테이블들은 최종적으로 엔트로피 코딩된다.
도 5는 대응하는 3D 객체들 및 텍스처 아틀라스를 갖는 예시적인 메시들을 도시한다. 도 5의 상단은 Microsoft®에 의해 제공되는 애니메이션화된 발레리나 모델의 프레임을 도시하는데, 이를 위해 메시 추적이 사용되었고, 시간의 경과에 따른 대응하는 안정화된 텍스처 아틀라스들이 제공된다. 도 5의 하단은 메시 추적이 사용되지 않는 Owlii®에 의해 제공되는 애니메이션화된 바스켓볼 플레이어의 프레임을 도시한다.
도 6은 CL=0(EdgeBreaker 없음)을 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 속성의 진화를 도시한다. x 축은 속성 테이블 내의 샘플의 인덱스이다. y 축은 각각 x, y 및 z 좌표이다. EdgeBreaker가 사용되지 않기 때문에, 속성들(x,y,z)은 전역 좌표들로 표현된다.
도 7은 CL=4(EdgeBreaker를 가짐)를 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다. x 축은 속성 테이블 내의 델타 값의 인덱스이다. y 축은 각각 x-델타, y-델타 및 z-델타이다.
도 8은 CL=4(EdgeBreaker를 가짐)를 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다. x 축은 속성 테이블 내의 델타 값의 인덱스이다. y 축은 각각 x-델타, y-델타 및 z-델타이다.
도 9는 CL=10(베일런스-구동된 EdgeBreaker를 가짐)을 갖는 Draco를 사용하여 바스켓볼 플레이어 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다. x 축은 속성 테이블 내의 델타 값의 인덱스이다. y 축은 각각 x-델타, y-델타 및 z-델타이다.
도 10은 CL=10(베일런스-구동된 EdgeBreaker를 가짐)을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 포지션의 델타들의 진화를 도시한다. x 축은 속성 테이블 내의 델타 값의 인덱스이다. y 축은 각각 x-델타, y-델타 및 z-델타이다.
구성요소당 11 비트의 디폴트 양자화가 바스켓볼 플레이어 모델을 위해 사용되었고, 구성요소당 10 비트의 디폴트 양자화가 발레리나 모델을 위해 사용되었다. 도 6은 샘플들의 매우 중요한 시차(disparity)(즉, 분산이 높음)를 도시한다. 높은 분산을 갖는 것은, 데이터가 공간 코히어런스 기반 인코더들에 맵핑하기에 매우 적합하지 않음을 의미한다. 도 6은 또한, 편차가 또한 매우 높음을 도시하는데, 이는 양자화 공간(10 또는 11 비트)의 전체가 신호를 인코딩하기 위해 필수적임을 의미한다.
하기의 표 1은 애니메이션화된 메시 모델들을 인코딩하기 위해 Draco의 상이한 구성들을 사용할 때 획득된 바스켓볼 및 발레리나 포지션 속성 신호들에 대한 분산 및 편차들의 요약을 예시한다.
Figure pct00002
도 7 및 도 8은, 메시에 대한 델타-인코딩을 사용할 때, 분산이 훨씬 더 낮음을 도시한다. 단지 몇 개의 성긴(sparse) 포인트들만이 보일 수 있다. 이는 전체 신호가 잡음성이더라도, 잡음은 매우 콤팩트하고 편평함, 즉 작은 변화들을 가짐을 의미한다. 따라서, 신호는 공간 코히어런스의 면에서 비디오 인코딩에 적합하다. 덧붙여, 편차는 또한 훨씬 더 낮은데, 이는 대부분의 신호가 10 또는 11 비트의 오리지널 미만의 범위로 인코딩될 수 있음을 의미한다.
도 9 및 도 10의 경우, 오로지 첫 번째 포인트(이는 체인의 시작임)만이 절대 값이고, 다른 모든 샘플들은 매우 적은 비트들을 소비하는 베일런스-구동된 델타이다. 더욱이, 이러한 신호에 대한 편차는 약 6인데, 이는 극히 낮고, 이러한 값들(마이너스 절대 값)이 더 작은 비트 범위로 재인코딩될 수 있음을 의미한다. CL=10을 갖는 Draco 구성은 공간 코히어런스의 면에서 비디오 코딩을 위해 CL=4보다 훨씬 더 적합한 신호를 제공한다.
여기서, UV 특징은 텍스처 아틀라스를 메시의 면들에 맵핑하는 텍스처 좌표들을 나타낸다. 각각의 정점에 연관된 텍스처는 정점에 연관된 U,V 텍스처 좌표들의 결합(couple)에 의해 식별된다. 표 2는 CL=10(EdgeBreaker를 가짐) 및 10 비트의 양자화 스텝을 갖는 Draco를 사용하여, 각각 바스켓볼 플레이어 모델 및 발레리나 모델의 주어진 프레임에 대한 UV의 델타들의 진화를 각각 도시하는 도 11 및 도 12에 제시된 UV 프로파일들의 요약을 제공한다. x 축은 속성 테이블 내의 델타 값의 인덱스이다. y 축은 각각 U-델타 및 V-델타이다.
도 11 및 도 12는 CL=10이 기하구조에 대해 도시된 바와 동일한 특성들을 갖는 UV 신호들을 제공함을 도시한다. 그러나, 전체 분산 및 편차들은 기하구조에 대해서보다 약간 더 높다. 이는 텍스처 아틀라스가 텍스처 이미지 위로 점프하여, 패치 변화에 대해 더 넓은 UV 델타 값들을 초래하기 때문이다.
Figure pct00003
발레리나 분산 및 편차 값들이 바스켓볼 값들보다 1차수 더 높음을 알 수 있다. 발레리나가 시간 경과에 따라 아틀라스를 안정화하는 메시 추적으로부터 이익을 얻는 경우에도, [1]로부터의 아틀라스 생성 알고리즘은 도 5에 도시된 바와 같이, 메시 추적을 사용하지 않는 아틀라스 생성 알고리즘보다 더 작은 패치들을 생성하는 것으로 보인다. 이것은 발레리나 UV 플롯들 상의 성긴 포인트들에 대응하는, 더 성긴 UV 델타들(더 높은 편차) 및 더 넓은 체인 재시작들을 초래한다.
상기에 설명된 바와 같이, Draco에서, 법선 벡터들은 델타로서 인코딩되는 것이 아니라, 팔면체 표현에서의 절대 값으로 인코딩된다. 도 13은 발레리나 모델에 대한, 팔면체 공간에서의 법선 진화에 대한 프로파일을 도시한다. x 축은 속성 테이블 내의 값의 인덱스이고, y 축은 팔면체 공간에서 각각 I 및 J 값들이다.
도 13은 매우 높은 분산 및 편차들로 인해 신호가 공간 압축에 적합한 것으로 보이지 않음을 도시한다. 신호는 범위 극값이 사용되기 때문에, 양자화 공간 감소에 적합한 것으로 보이지 않는다. 그럼에도 불구하고, 도 13은 신호가 2개의 주요 부분들(상단 및 하단)로 분할됨을 보여준다.
도 14는 일 실시예에 따른, 3D 객체를 인코딩하기 위한 예시적인 방법(1400)을 도시한다. 이러한 실시예에 따르면, 3D 객체는 애니메이션화된 3D 텍스처링된 메시이다. 다른 변형예에 따르면, 3D 객체는 임의의 다른 포맷일 수 있고, 애니메이션화된 3D 메시로 변환될 수 있다. 예를 들어, 3D 객체는 본래, 동적 포인트 클라우드로서 표현될 수 있다. 포인트 클라우드의 3D 포인트들은 3D 메시 표현으로 추가로 변환된다.
애니메이션화된 3D 메시에 의해, 여기서, 3D 메시, 즉 3D 메시들의 시퀀스는 시간 경과에 따라 진화함이 이해되어야 하며, 여기서 정점 및 선택적으로 토폴로지가 시간 경과에 따라 진화한다.
1401에서, 3D 애니메이션화된 텍스처링된 메시는 Edgebreaker-유사 알고리즘[1,4,5,7]으로 입력되는데, 이는 상기에서 설명된 바와 같은 델타 테이블들로서의 기하구조, 텍스처 좌표들, 및 법선의 속성들을 출력으로서 제공한다. 결국, [1]에서와 같이, 메시들은 Edgebreaker-유사 알고리즘으로 입력되기 전에 시간 경과에 따라 안정화될 수 있다. 따라서, 이러한 변형예에 따르면, 메시들의 토폴로지가 부합하도록 시간 경과에 따라 메시들이 추적된다.
1403에서, Edgebreaker 알고리즘으로 생성된 토폴로지가 인코딩된다. 일 실시예에 따르면, 토폴로지는 메타데이터로서 인코딩된다. 다른 실시예들에서, 토폴로지는 비디오 프레임들에 패킹되고, 비디오 데이터로서 인코딩된다. 변형예에 따르면, 토폴로지는 키프레임들에서만 변경되고, 따라서, 키프레임들에 대한 토폴로지만이 인코딩된다. 토폴로지는 SEI 메시지와 같은 동기화된 메타데이터에 저장된다.
1402에서, 각각의 속성의 각각의 구성요소는 비디오의 이미지의 구성요소에 패킹된다. N 비트로 양자화된 기하구조 (x, y, z) 델타들은 구성요소당 N 비트를 갖는 YUV 4:4:4 스트림의 각각의 구성요소에 각각 저장된다. M 비트로 양자화된 UV 델타들은 구성요소당 M 비트를 갖는 YUV 4:4:4 스트림의 제1 및 제2 구성요소에 각각 저장되어, 마지막 구성요소를 0으로 남겨둔다. 3D 메시가 각각의 정점에 연관된 컬러를 포함하는 일 실시예에 따르면, 컬러 데이터가 또한 비디오의 이미지의 적어도 하나의 구성요소에 패킹된다.
더 복잡한 패킹이 사용될 수 있다. 7 비트 또는 8 비트로 양자화된 팔면체 법선들은, 구성요소당 8 비트를 갖는 YUV 4:4:4 스트림의 제1 및 제2 구성요소에 인코딩되어, 마지막 구성요소를 0으로 남겨둔다. 더 복잡한 패킹이 또한 사용될 수 있다. 도 19는 하나의 프레임에 대한 이미지 평면들에서의 발레리나 모델 속성들에 대한 선형 패킹의 일례를 도시한다. 좌측으로부터 우측으로, 도시된 속성들은 구성요소당 10 비트의 기하구조 델타(시인성을 위해 3으로 스케일링됨), 구성요소당 10 비트의 UV 델타들, 및 구성요소당 8 비트의 법선이다. 도 19는 이미지들 내의 "핫 스팟들"로서의 프로파일 곡선들의 성긴 포인트들을 도시한다.
다른 변형예에 따르면, 델타의 기하구조, UV 및 법선 구성요소들은 또한, YUV 비디오 신호(예컨대, 4:0:0 모노크롬 또는 4:2:0)의 하나의 비디오 루미넌스 구성요소(Y)로 확산될 수 있다. 그러한 변형예는, 예를 들어, 분포에 사용되는 공통 4:2:0 YUV 비디오 포맷의 사용을 허용한다.
1404에서, 패킹된 속성들이 인코딩된다. 각각의 종류의 속성에 대한 (상위 값만큼) 가장 가까운 이용가능한 비트 깊이의 HEVC 또는 VVC 비디오 스트림이 생성된다. 각각의 속성의 모든 프레임들이 인코딩되어, 속성(기하구조, 텍스처 좌표들, 법선)당 하나의 스트림을 생성한다.
속성들은 HEVC 인코더, 또는 VVC 인코더, 또는 임의의 다른 비디오 기반 인코더와 같은 무손실 비디오 기반 인코딩을 사용하여 인코딩된다. 무손실 인코딩은 여기서, 기하구조, UV 및 법선 좌표들에 대해 사용되는데, 이는 양자화가 재구성된 3D 모델의 제어되지 않은 시프트들 및 왜곡을 야기하기 때문이다.
일 실시예에 따르면, 인코딩 전에 법선 좌표들에 대해 법선 개상이 수행된다. 상기에서 설명되고 도 13에 도시된 바와 같이, 법선 좌표들의 신호는 2개의 주요 부분들(상단 및 하단)로 분할된다. 개상 동작 후, 신호의 분산 및 편차들은 상당히 낮아지고, 이에 따라, 공간 코딩과 더 많이 호환가능해진다. 그러한 개상 동작은 하기의 방식으로 수행될 수 있다:
Nnormal은 리프레이밍 전, 법선을 인코딩하는 데 사용되는 비트들의 수로 한다. Rnormal = Power(2, Nnormal)는 수치 범위로 하고, Rh = Rnormal /2는 수치 범위의 절반으로 한다. I,J는 개상할 좌표들이고, (I',J')는 개상된 좌표들이다: (I > Rh)인 경우에는 I' = Rh + I - Rnormal이고, 그렇지 않은 경우에는 I'= Rh + I이다.
디코더에서, 법선 신호를 재구성하기 위해, 하기에 의해 재구성이 수행된다: (I' > Rh)인 경우에는 I = I' - Rh이고, 그렇지 않은 경우에는 I = Rh + I'이다.
J 좌표들에 대해 동일한 동작들이 수행된다. 도 20은 CL=10(EdgeBreaker를 가짐) 및 7 비트의 양자화 스텝을 갖는 Draco를 사용하여 발레리나 모델의 주어진 프레임에 대한 팔면체 공간 내의 개상된 법선의 진화를 도시한다. x 축은 속성 테이블 내의 값의 인덱스이다. y 축은 각각 팔면체 공간에서의 I 및 J 값들이다.
일 실시예에 따르면, 인코딩 전에 속성의 적어도 하나의 구성요소에 무손실 양자화 리프레이밍 스킴이 적용된다. 그러한 리프레이밍 스킴은 도 16 및 도 17을 참조하여 후술된다. 이러한 무손실 양자화 리프레이밍은 추가로 페이로드를 감소시키거나 품질을 상승시키는 것을 허용한다.
1405에서, 텍스처 아틀라스들은 HEVC 인코더, 또는 VVC 인코더, 또는 임의의 다른 비디오 기반 인코더와 같은 비디오 기반 인코더를 사용하여 인코딩된다.
1406에서, 토폴로지의, 속성들의 그리고 텍스처들의 인코딩으로부터 생성된 비트스트림들은 저장 또는 스트리밍을 위해 하나 이상의 비트스트림들로 다중화된다.
일 실시예에 따르면, 토폴로지의, 속성들의 그리고 텍스처들의 인코딩으로부터 생성된 비트스트림들은 V-PCC 신택스를 사용하여 V-PCC 비트스트림에 임베드된다.
도 15는 일 실시예에 따른, 비트스트림으로부터 3D 객체를 디코딩하기 위한 예시적인 방법(1500)을 도시한다. 예를 들어, 비트스트림은 도 15를 참조하여 기술된 인코딩 방법(1400)에 의해 생성될 수 있다.
1502에서, 애니메이션화된 3D 메시의 토폴로지, 텍스처들, 및 속성들에 대한 신택스 요소들을 포함하는 비트스트림이 수신된다. 데이터는 결국 역다중화된다. 일 실시예에 따르면, 수신된 비트스트림은 V-PCC 디코더 신택스에 순응된다.
1503에서, 토폴로지는 구현된 변형예에 따라 메타데이터 또는 비디오 데이터로서 디코딩된다. 1504에서, 속성들은 비디오 기반 디코더를 사용하여 디코딩된다. 일 실시예에 따르면, 도 18을 참조하여 후술되는 바와 같이 역 무손실 양자화 리프레이밍 스킴이 사용된다. 1505에서, 텍스처 아틀라스들은 비디오 기반 디코더를 사용하여 디코딩된다. 1506에서, 디코딩된 토폴로지, 디코딩된 속성들 및 디코딩된 텍스처들로부터 3D 애니메이션화된 텍스처링된 메시가 재구성된다.
도 7 내지 도 12 및 도 20에 도시된 바와 같이, CL=4 또는 CL=10을 갖는 Edgedbreaker 알고리즘에 의해 제공되는 대부분의 신호들은 원점에 고도로 집중되고, 이때 몇 개의 값들이 떨어져 확산된다. 이러한 특성은 2개의 부분들에 인코딩할 데이터를 분할하기 위해 사용되어, 조밀한 부분을 이미지 압축 시에 그러나 더 작은 비트 범위로 유지하고, 예를 들어 메타데이터 또는 SEI 메시지로서 저장되는 별개의 테이블에 성긴 부분을 코딩하여, 최종적으로 엔트로피 코딩된다. 변형예에서, 성긴 부분은 또한, 비디오 기반 인코더를 사용하여 비디오 데이터로서 코딩될 수 있다. 도 21은 라인들 L0과 L1 사이의 조밀한 부분 및 라인들 L0과 L1을 벗어난 성긴 부분을 갖는 U,V 신호들의 일례를 도시한다. 신호의 그러한 분할은 리프레이밍으로도 불린다. 예시적인 실시예가 하기에 설명된다.
도 16은 애니메이션화된 3D 메시의 속성의 적어도 하나의 구성요소를 인코딩하기 위한 예시적인 방법(1600)을 도시한다. 방법(1600)은 3D 메시의 속성의 구성요소 중 어느 하나에, 예컨대 기하구조의 x, y, 또는 z 구성요소들에, 또는 텍스처 좌표들의 U 또는 V에, 또는 법선 좌표들의 I 또는 J에 적용될 수 있는 무손실 양자화 리프레이밍 스킴이다.
적어도 하나의 속성은 인코딩될 값들의 세트를 포함한다. 일 실시예에 따르면, 속성의 값들은 이미지의 구성요소에 패킹된다. 그러나, 여기에 제시된 원리는 값들의 세트의 임의의 표현에 적용될 수 있다. 예를 들어, 값들의 세트는 1D 테이블에 표현될 수 있다.
1601에서, 값들의 세트는 도 17을 참조하여 기술된 바와 같이, 값들의 제1 서브세트 및 값들의 제2 서브세트로 리프레이밍된다.
도 17은 일 실시예에 따른, 애니메이션화된 3D 메시의 속성의 구성요소의 값들을 리프레이밍하기 위한 예시적인 방법을 도시한다. 리프레이밍 방법은 값들의 입력 세트를 하기의 2개의 서브세트들로 분할하는 것을 목표로 한다: 원점에 집중된 신호의 조밀한 부분을 포함하는 제1 서브세트 및 신호의 성긴 부분을 포함하는 제2 서브세트. 일 실시예에 따르면, 값들의 제1 서브세트 및 값들의 제2 서브세트는 값들의 범위를 정의하는 반경 파라미터의 함수로서 결정되며, 상기 값들의 제1 서브세트는 상기 값들의 범위에 있는 세트의 값들을 포함하고, 상기 값들의 제2 서브세트는 값들의 범위를 벗어난 세트의 값들을 포함한다.
1701에서, 반경이 결정된다. 변형예에 따르면, 반경은 구성요소의 최대 편차의 절반으로서 결정될 수 있다. 예를 들어, 도 21에 표현된 신호의 예에서, 반경 R=11은 U=22 및 V=20 편차의 최대 값들을 2로 나눈 값으로 취해질 수 있다. 다른 변형예에서, 반경은 수동으로 설정될 수 있다.
상기의 결정된 반경 R은 (2개의 라인들 L0과 L1 사이의) 가장 큰 밀도를 포함하는 반경을 제공한다. 따라서, 신호의 조밀한 부분은 도 21의 확대 부분에 예시된 바와 같이, 신호의 중심 + 반경 및 신호의 중심 - 반경에 의해 정의된 범위에 놓인 값의 부분으로서 결정된다.
값들의 제1 서브세트(조밀한 부분)를 손실 없이 양자화하기 위한 비트들의 수는 결정된 반경 R의 함수로서 결정된다. Br =
Figure pct00004
은 범위를 인코딩하는 데 필요한 비트의 수로 한다. Br은 범위[-R,+R] 내의 모든 정수 값들을 인코딩하는 데 필요한 무손실 재양자화 공간이다. 이전의 예에서, R=11인 상태에서, Br= floor(log2(22)+1) = 5 비트인데, 이는 수 R' = 25 = 32 값들을 제공한다.
일 실시예에 따르면, 반경 R은 각각의 프레임 i에 대해 결정된다. 이어서, 각각의 프레임은 그 자체의 결정된 수의 비트들을 사용하여 양자화된다.
일 실시예에 따르면, 메시의 속성의 각각의 구성요소에 대해 별개의 반경 R이 결정된다. 따라서, 속성의 각각의 구성요소는 그 자체의 결정된 수의 비트들을 사용하여 양자화된다.
다른 실시예에 따르면, 메시의 속성의 모든 구성요소들에 대해 동일한 반경 R이 결정된다. 따라서, 속성의 모든 구성요소들은 동일한 결정된 수의 비트들을 사용하여 양자화된다. 이러한 변형예에 따르면, 모든 구성요소들에 대해 결정된 동일한 반경은 속성의 각각의 구성요소에 대해 별개로 결정된 반경 중의 최대 반경에 대응하는 것으로 결정된다.
다른 실시예에 따르면, 허용된 성긴 포인트들의 최대치가, 반경의 크기가 필요한 경우 자동으로 상승하도록 설정된다. 허용된 성긴 포인트들의 그러한 최대치는 평균 압축 결과들에 대해 컴퓨팅될 수 있고, 압축된 리프레이밍된 델타들과 원시 성긴 포인트들 사이에 최상의 트레이드오프를 제공하도록 최적화될 수 있다.
1702에서, 범위[-R,+R]에 놓인 입력 신호의 값들은 다수의 Br 비트들 상에서 양자화된다. 범위[-R,+R]에 속하지 않는 입력 신호의 값들은 별개의 테이블(성김 테이블)에 저장되고, 입력 신호 내의 그들의 위치도 또한 저장된다. 이러한 별개의 테이블은 값들의 제2 서브세트를 형성한다.
일 실시예에 따르면, 값들의 제1 서브세트는 값들의 입력 세트로 설정되고, 범위[-R, +R]에 속하는 값들은 Br 비트 상에서 양자화되고, 범위[-R,+R]를 벗어난 값들은 결정된 값으로 대체된다. 예를 들어, 범위[-R,+R]를 벗어난 값의 경우, 값의 제1 서브세트 내의 그의 오리지널 값은 공간 압축을 향상시키기 위해 반경 내의 가장 가까운 값으로 대체된다.
다른 실시예에 따르면, 범위[-R,+R]를 벗어난 값들은 값들의 제1 세트로부터 제거된다. 그러나, 이러한 실시예는 각각의 프레임에 대해 가변 테이블 크기를 초래한다.
1703에서, 반경은, 예를 들어 메타데이터 신택스 요소로서 비트스트림에 인코딩된다.
1602에서, 값들의 제1 서브세트는 비디오 기반 인코더, 예를 들어 전술된 인코더(200)를 사용하여 인코딩된다.
1603에서, 값들의 제2 서브세트는 메타데이터로서 인코딩된다. 성긴 포인트들의 테이블에 대응하는 값들의 제2 서브세트는, 각각의 성긴 포인트에 대해, 오리지널 비트 크기 + 값들의 오리지널 세트 내의 그의 인덱스에 코딩되는 그의 값을 포함한다. 인덱스는 리프레이밍 전에, 오리지널 데이터를 어드레싱하는 데 필요한 최소 수의 비트들에 코딩될 수 있다. 변형예에 따르면, 성김 테이블은 보충 향상 정보(Supplemental Enhancement Information, SEI) 메시지에 코딩되고, 원시 또는 엔트로피 코딩될 수 있다. 예를 들어, 값들의 제2 서브세트는 HEVC, VVC 또는 V-PCC 인코더를 사용하여 SEI에 인코딩된다. 다른 변형예에 따르면, 성김 테이블은 비디오 기반 인코더를 사용하여 비디오 데이터로서 코딩된다.
다른 실시예에 따르면, 도 21에 도시된 바와 같이, 성긴 포인트들은 조밀한 포인트들의 대향 부분들에 있고, 따라서, 성긴 포인트들은 또한, 2개의 서브공간들, 즉 조밀한 공간 아래의 서브공간 및 그 위의 서브공간에 걸쳐 무손실로 리프레이밍될 수 있다: 이러한 서브공간들의 크기는 1 + (오리지널 비트 범위 - Br)/2와 동일하다. 이러한 실시예에 따르면, 성김 테이블은, 예를 들어 신호를 개상하고 개상된 신호를 조밀한 부분에 대해서와 동일한 방식으로 리프레이밍으로써, 동일한 크기의 2개의 별개의 테이블들에 코딩될 수 있다. 이러한 실시예는, 속성의 각각의 구성요소에 대해 별개의 리프레이밍이 수행되는 경우에만 가능하다.
도 18은 일 실시예에 따른, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하기 위한 예시적인 방법(1800)의 블록도를 개시한다. 적어도 하나의 속성의 적어도 하나의 구성요소는, 예를 들어 도 16에 도시된 방법을 사용하여, 이전에 인코딩된 비트스트림으로부터 디코딩된다.
1801에서, 반경 파라미터가 디코딩된다. 반경 파라미터는 제1 서브세트의 값들이 양자화된 값들의 범위를 정의한다.
1802에서, 구성요소의 값들의 제1 서브세트는, 예를 들어 디코더(300)와 같은 비디오 기반 디코더를 사용하여 디코딩된다. 도 17에 기술된 바와 같이, 값들의 제1 서브세트는 신호의 조밀한 부분을 포함한다. 제1 서브세트의 값들은 디코딩된 반경 파라미터에 따라 역양자화된다.
1803에서, 엔트로피 코딩된 또는 원시 코딩된 성김 테이블을 SEI 메시지와 같은 비트스트림의 메타데이터로부터 디코딩함으로써 값들의 제2 서브세트가 획득된다. 변형예에서, 값들의 제2 서브세트는 비디오 기반 디코더를 사용하여 성김 테이블을 디코딩함으로써 획득된다. 값들의 제2 디코딩된 서브세트는 신호의 성긴 부분의 오리지널 값들 및 속성의 구성요소의 오리지널 신호 내의 성김 데이터의 인덱스를 포함한다.
1804에서, 속성의 구성요소의 값들은 제1 서브세트 및 제2 서브세트로부터 재구성된다. 제1 서브세트가 비디오의 이미지의 구성요소에 패킹됨에 따라, 제1 서브세트는 이미지 구성요소로부터 언패킹된다.
일 실시예에 따르면, 제1 서브세트는 속성의 구성요소와 동일한 수의 값들을 포함한다. 속성의 구성요소를 재구성하기 위해, 제2 서브세트로부터의 값에 대응하는 값의 각각의 위치에서, 제1 서브세트 내의 디코딩된 값은 디코딩된 제2 서브세트의 대응하는 값으로 대체된다.
다른 실시예에 따르면, 제1 서브세트의 값들만이 구성요소에 패킹되는데, 즉, 패킹을 위한 속성의 구성요소로부터 제2 서브세트의 값들이 제거되었다. 속성의 구성요소를 재구성하기 위해, 제2 서브세트로부터의 값에 대응하는 값의 각각의 위치에, 디코딩된 제2 서브세트의 대응하는 값이 삽입된다.
다른 실시예에 따르면, 도 15의 1506에서 3D 애니메이션화된 객체를 재구성할 때, 속성의 구성요소는 즉석으로(on the fly) 재구성된다. 델타 테이블은 값들의 디코딩된 제1 서브세트로 설정된다. 델타 테이블의 요소가 필요할 때마다, EdgeBreaker 알고리즘은 성김 테이블에서 현재 포인트를 룩업하도록 수정된다. 성김 테이블의 현재 포인트의 저장된 인덱스가 델타 테이블의 현재 인덱스와 동일한 경우, 델타 테이블의 값은 스킵되고, 성김 테이블로부터의 값이 사용된다. 성김 테이블 내의 현재 포인트에 대한 포인터가 증가된다. 그렇지 않은 경우, 델타 테이블로부터의 값이 판독되고 사용된다.
성김 테이블이 너무 크지 않은 경우(대체적인 경우), 무손실 재양자화의 이득이 중요하다: 예컨대, 손실이 없이 10 비트 대신에 5 비트, 또는 16 비트 대신에 8 비트로 모델을 코딩함. SEI에서의 성김 데이터 저장과 함께 최소 오버헤드를 갖는 델타 데이터 비디오 코딩을 위한 코딩 이득이 달성된다.
다른 실시예에 따르면, 구성요소당 하나의 반경이 사용될 수 있고, 따라서, 필요한 경우 구성요소마다 상이한 양자화가 사용될 수 있다.
일 실시예에 따르면, 인코딩/디코딩하기 위한 속성의 구성요소의 값들은 Edgebreaker 알고리즘에서 설명된 바와 같이, 메시의 정점들의 스캔 순서에 따라 이전에 스캔된 값들에 의한 예측으로부터 획득된 잔차 값들을 포함한다.
다른 실시예에 따르면, 반경은 멀티패스 인코딩 스킴으로 결정된다.
이러한 실시예에 따르면, 최대 값 Rm은 시퀀스의 모든 프레임들 I에 대해 또는 프레임들의 서브세트에 대해 별개로 결정된 반경 Ri에 걸쳐 결정된다. 따라서, 이러한 실시예에 따르면, 모든 프레임들에 대한 또는 서브세트에 대한 비트들의 수는 Brm = floor(log2(2*Rm)+1)로 설정된다.
다른 실시예에 따르면, 실시간 인코딩이 필요할 때, 예를 들어 브로드캐스팅을 위해, 반경을 결정하기 위해 순방향 접근법이 구상될 수 있다. 이러한 경우, 각각의 새로운 프레임에 대해, 최적의 비트 깊이를 결정하기 위해 편차를 사용하는 대신, 고정 비트 깊이, 예를 들어 사용자 또는 애플리케이션 정의되는 비트 깊이가 사용된다. 이러한 비트 범위 내의 모든 값들은 비디오 코딩을 사용하여 인코딩되고, 나머지 값들은 멀티패스 솔루션의 성긴 포인트들에 대해, 결국 양자화 리프레이밍을 사용하여 SEI 메시지들에 인코딩된다.
일 실시예에 따르면, 도 15에서 디코딩된 비트스트림은 V-PCC 디코더에 순응된다. 도 22에 도시된 바와 같이, 비트스트림은 속성들의 전부 또는 부분들의 리프레이밍이 인에이블되는지의 여부를 표시하는 신택스 요소(reframe_flag)를 포함한다. 변형예에 따르면, 리프레이밍이 인에이블되는지 여부를 표시하는 신택스 요소가 각각의 속성에 대해 비트스트림에 설정된다.
비트스트림은 또한, 적어도 하나의 반경을 나타내는 정보(radius)를 포함한다. 전술된 바와 같이, 반경은 각각의 속성의 각각의 구성요소에 대해 개별적으로 설정될 수 있으며, 그 경우에, 비트스트림은 각각의 속성의 각각의 구성요소에 대한 반경을 나타내는 정보를 포함한다. 또는, 반경은 속성의 모든 구성요소들에 대해 동일할 수 있으며, 그 경우에, 비트스트림은 속성의 모든 구성요소들에 대한 반경을 나타내는 정보를 포함한다. 다른 실시예에 따르면, 반경은 모든 속성들에 대해 동일할 수 있으며, 그 경우에, 비트스트림은 모든 속성들에 대한 반경을 나타내는 정보를 포함한다.
다른 실시예에 따르면, 반경은 시퀀스에서, 예를 들어 각각의 키 프레임에서 변경될 수 있다. 따라서, 이러한 실시예에서, 반경은 각각의 키 프레임들에서 비트스트림에 시그널링된다.
도 23a는 제2 서브세트에 대해 인코딩된 메타데이터의 일례를 도시한다. 메타데이터로서 인코딩된 각각의 성김 테이블에 대해, 메타데이터는 속성의 인코딩된 성긴 포인트들의 수(Num_sparsePts), 성긴 포인트들의 원시 또는 엔트로피 코딩된 값들(SparsePtsValues) 및 그들의 인덱스(SparsePtsIndex)를 포함한다. 도 23b는 다른 실시예에 따른, 제2 서브세트에 대해 인코딩된 메타데이터의 일례를 도시하며, 여기서 성긴 데이터에 대해 리프레이밍이 허용된다. 그 실시예에서, 메타데이터는 또한, 성김 테이블이 리프레이밍되는지의 여부를 표시하는 신택스 요소(RfS)를 포함한다. 따라서, 성김 테이블이 리프레이밍되는 경우, 메타데이터는 리프레이밍된 성김 테이블들에 대한 반경의 크기(Radius')를 포함한다.
도 24에 도시된 본 발명의 원리들의 일례에 따르면, 통신 네트워크 NET를 통한 2개의 원격 디바이스들 A와 B 사이의 송신 콘텍스트에서, 디바이스 A는 도 1 내지 도 23b와 관련하여 기술된 바와 같이, 3D 객체를 인코딩하기 위한 방법을 구현하도록 구성되는 메모리 RAM 및 ROM과 관련된 프로세서를 포함하고, 디바이스 B는 도 1 내지 도 23b와 관련하여 기술된 바와 같이, 3D 객체를 디코딩하기 위한 방법을 구현하도록 구성되는 메모리 RAM 및 ROM과 관련된 프로세서를 포함한다.
일례에 따르면, 네트워크는 디바이스 A로부터의 신호를 디바이스 B를 포함하는 디코딩용 디바이스들로 브로드캐스트/전송하도록 적응된 브로드캐스트 네트워크이다.
디바이스 A에 의해 송신되도록 의도된 신호는 전술된 실시예들 중 어느 하나의 실시예에 따라 3D 객체를 인코딩하기 위한 방법에 의해 생성된 적어도 하나의 비트스트림을 전달한다.
도 25는 패킷-기반 전송 프로토콜을 통해 전송된 그러한 신호의 신택스의 일례를 도시한다. 각각의 전송된 패킷(P)은 헤더(H) 및 페이로드(PAYLOAD)를 포함한다. 실시예들에 따르면, 페이로드(PAYLOAD)는 하기의 신택스 요소들 중 적어도 하나를 포함할 수 있다: 속성 값들을 나타내는 코딩된 이미지 데이터, 속성 값들을 나타내는 코딩된 메타데이터, 속성들의 전부 또는 부분들의 리프레이밍이 인에이블되는지의 여부를 표시하는 신택스 요소, 및 최종적인 반경 크기. 페이로드는 또한, 상기에서 논의된 신택스 요소 중 어느 하나를 포함할 수 있다.
도 26은 전술된 실시예들 중 어느 하나에 따라 신호를 송신하기 위한 방법(2600)의 일 실시예를 도시한다. 그러한 방법은 그러한 신호를 포함하는 데이터에 액세스하는 단계(2601), 및 예를 들어 유선 및/또는 무선 매체 내에 구현될 수 있는 통신 채널을 통해, 액세스된 데이터를 송신하는 단계(2602)를 포함한다. 일 실시예에 따르면, 방법은 도 1 상에 도시된 디바이스(100) 또는 도 24로부터의 디바이스 A에 의해 수행될 수 있다.
다양한 방법들이 본 명세서에 기술되고, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계들 또는 동작들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다. 부가적으로, "제1", "제2" 등의 용어는 요소, 구성요소, 단계, 동작 등을 수정하기 위해 다양한 실시예에서 예를 들어 "제1 디코딩" 및 "제2 디코딩" 같이 사용될 수 있다. 그러한 용어들의 사용은, 구체적으로 요구되지 않는 한 수정된 동작들에 대한 순서화를 의미하지 않는다. 따라서, 이러한 예에서, 제1 디코딩은 제2 디코딩 전에 수행될 필요가 없고, 예를 들어, 제2 디코딩 전에, 그 동안, 또는 그와 중첩되는 기간에 발생할 수 있다.
또한, 본 태양들은 VVC 또는 HEVC로 제한되지 않으며, 예를 들어, 다른 표준들 및 권고들, 및 임의의 그러한 표준들 및 권고들의 확장들에 적용될 수 있다. 달리 나타내지 않거나, 또는 기술적으로 배제되지 않는 한, 본 출원에 기술되는 태양들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들이 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이며, 기술된 태양들은 이들 특정 값들로 제한되지 않는다.
다양한 구현예들이 디코딩을 수반한다. 본 출원에서 사용된 바와 같은 "디코딩"은, 예를 들어, 디스플레이에 적합한 최종 출력을 생성하기 위해 수신된 인코딩된 시퀀스 상에서 수행된 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 이러한 프로세스들은 디코더에 의해 전형적으로 수행되는 프로세스들 중 하나 이상의 프로세스들, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 차동 디코딩을 포함한다. 어구 "디코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들이 인코딩을 수반한다. "디코딩"에 관한 상기의 논의와 유사한 방식으로, 본 출원에서 사용된 바와 같은 "디코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스 상에서 수행된 프로세스들의 전부 또는 일부를 포함할 수 있다.
본 명세서에 기술된 구현예들 및 태양들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 단일 형태의 구현예의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스들로 지칭되는 프로세서와 같은 장치에서 구현될 수 있다. 프로세서들은 또한 예를 들어 컴퓨터, 셀룰러폰, 휴대용/개인 휴대 정보 단말기("PDA"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스와 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 기술된 특정 특징부, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"라는 문구뿐만 아니라 임의의 다른 변형예들의 출현들은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원은 다양한 정보들을 "결정하는 것"을 지칭할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보들에 "액세스하는 것"을 지칭할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보들을 "수신하는 것"을 지칭할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신"하는 것은 전형적으로 예를 들어 정보를 저장하는 것, 정보를 프로세싱하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안, 하나의 방식으로 또는 다른 방식으로 수반된다.
예를 들어 다음의 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서 "/", "및/또는", 및 "적어도 하나" 중 임의의 것의 사용은 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 옵션들(A 및 B) 둘 모두의 선택을 포함하도록 의도됨을 이해해야 한다. 또 다른 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 어구는 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 제3 열거된 옵션(C) 단독의 선택, 또는 제1 및 제2 열거된 옵션들(A 및 B) 단독의 선택, 또는 제1 및 제3 열거된 옵션들(A 및 C) 단독의 선택, 또는 제2 및 제3 열거된 옵션들(B 및 C) 단독의 선택, 또는 3개의 모든 옵션들(A, B 및 C)의 선택을 포함하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목들에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, 용어 "신호"는 특히 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 예를 들어, 소정 실시예들에서, 인코더는 탈양자화를 위한 양자화 매트릭스를 시그널링한다. 이러한 방식으로, 일 실시예에서, 동일한 파라미터가 인코더 측 및 디코더 측 둘 모두에서 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 전송할 수 있다(명시적 시그널링). 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신(암시적 시그널링) 없이 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소들, 플래그들 등이 다양한 실시예들에서 대응하는 디코더에 정보를 시그널링하는 데 사용된다. 전술된 표현이 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백한 바와 같이, 구현예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 전달하도록 포맷화된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 전달하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 전달하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.

Claims (46)

  1. 방법으로서, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하는 단계를 포함하고, 인코딩하는 단계는,
    - 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 단계 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 -, 및
    - 제1 서브세트 및 제2 서브세트를 인코딩하는 단계를 포함하는, 방법.
  2. 장치로서, 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 인코딩하도록 구성되고, 인코딩하는 것은,
    - 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 것 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 -, 및
    - 제1 서브세트 및 제2 서브세트를 인코딩하는 것을 포함하는, 장치.
  3. 제1항 또는 제2항에 있어서, 제1 서브세트는 비디오 기반 인코더를 사용하여 인코딩되는, 방법 또는 장치.
  4. 제1항 또는 제3항에 있어서, 또는 제2항 또는 제3항에 있어서, 제2 서브세트는 비디오 기반 인코더를 사용하여 또는 메타데이터로서 인코딩되는, 방법 또는 장치.
  5. 제1항, 제3항 및 제4항 중 어느 한 항에 있어서, 또는 제2항 내지 제4항 중 어느 한 항에 있어서, 값들의 제1 서브세트를 비디오의 이미지의 적어도 하나의 구성요소에 패킹하는 것을 추가로 포함하는, 또는 하나 이상의 프로세서들은 값들의 제1 서브세트를 비디오의 이미지의 적어도 하나의 구성요소에 패킹하도록 추가로 구성되는, 방법 또는 장치.
  6. 제1항, 제3항 내지 제5항 중 어느 한 항에 있어서, 또는 제2항 내지 제5항 중 어느 한 항에 있어서, 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 것은 값들의 제1 서브세트를 무손실 양자화하는 것을 포함하는, 방법 또는 장치.
  7. 제1항, 제3항 내지 제5항 중 어느 한 항에 있어서, 또는 제2항 내지 제5항 중 어느 한 항에 있어서, 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 것은,
    - 값들의 범위를 정의하는 반경 파라미터의 함수로서 값들의 제1 서브세트 및 값들의 제2 서브세트를 결정하는 것, 및
    - 반경 파라미터를 인코딩하는 것을 포함하는, 방법 또는 장치.
  8. 제7항에 있어서, 반경 파라미터는 적어도 하나의 속성의 적어도 하나의 구성요소의 값들의 최대 편차의 절반으로서 결정되는, 방법 또는 장치.
  9. 제7항 또는 제8항에 있어서, 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 제1 서브세트 및 제2 서브세트로 리프레이밍하는 것은 반경 파라미터의 함수로서 값들의 제1 서브세트를 손실 없이 양자화하기 위한 비트들의 수를 결정하는 것을 포함하는, 방법 또는 장치.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 적어도 하나의 속성의 모든 구성요소들에 대해 동일한 반경 파라미터가 결정되는, 방법 또는 장치.
  11. 제7항 내지 제9항 중 어느 한 항에 있어서, 적어도 하나의 속성의 각각의 구성요소에 대해 별개의 반경 파라미터가 결정되는, 방법 또는 장치.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서, 반경 파라미터는 애니메이션화된 3D 객체의 적어도 하나의 프레임에 대해 결정되는, 방법 또는 장치.
  13. 제7항 내지 제12항 중 어느 한 항에 있어서, 애니메이션화된 3D 객체의 적어도 2개의 프레임들 각각에 대해 반경 파라미터가 결정되고, 값들의 범위는 결정된 반경 파라미터들 중의 최대 값의 함수로서 결정되는, 방법 또는 장치.
  14. 제3항 내지 제13항 중 어느 한 항에 있어서, 값들의 제1 서브세트는 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 포함하고, 제2 서브세트에 속하는 값에 대응하는 적어도 하나의 값은 제1 서브세트에서 제1 서브세트의 적어도 하나의 값으로부터 결정된 값으로 대체되는, 방법 또는 장치.
  15. 제3항 내지 제13항 중 어느 한 항에 있어서, 값들의 제1 서브세트는 적어도 하나의 속성의 적어도 하나의 구성요소의 값들을 포함하고, 제2 서브세트에 속하는 값들은 제거되는, 방법 또는 장치.
  16. 제1항, 제3항 내지 제15항 중 어느 한 항에 있어서, 또는 제2항 내지 제15항 중 어느 한 항에 있어서, 제2 서브세트가 메타데이터로서 인코딩될 때, 제2 서브세트의 값들은 엔트로피 코딩되는, 방법 또는 장치.
  17. 제1항, 제3항 내지 제15항 중 어느 한 항에 있어서, 또는 제2항 내지 제15항 중 어느 한 항에 있어서, 제2 서브세트가 메타데이터로서 인코딩될 때, 제2 서브세트의 값들은 원시 인코딩되는, 방법 또는 장치.
  18. 제1항, 제3항 내지 제17항 중 어느 한 항에 있어서, 또는 제2항 내지 제17항 중 어느 한 항에 있어서, 값들의 제2 서브세트를 인코딩하는 것은 제2 서브세트의 적어도 하나의 값에 대해, 적어도 하나의 속성의 적어도 하나의 구성요소에 상기 적어도 하나의 값의 위치를 인코딩하는 것을 포함하는, 방법 또는 장치.
  19. 제1항, 제3항 내지 제18항 중 어느 한 항에 있어서, 또는 제2항 내지 제18항 중 어느 한 항에 있어서,
    값들의 제2 서브세트를 값들의 제3 서브세트 및 제4 서브세트로 리프레이밍하고 상기 제3 서브세트의 값들 및 상기 제4 서브세트의 값들을 무손실 양자화하는 것을 추가로 포함하는, 또는 하나 이상의 프로세서들은 값들의 제2 서브세트를 값들의 제3 서브세트 및 제4 서브세트로 리프레이밍하고 상기 제3 서브세트의 값들 및 상기 제4 서브세트의 값들을 무손실 양자화하도록 추가로 구성되는, 방법 또는 장치.
  20. 제1항, 제3항 내지 제19항 중 어느 한 항에 있어서, 또는 제2항 내지 제19항 중 어느 한 항에 있어서,
    애니메이션화된 3D 객체의 토폴로지를 메타데이터로서 인코딩하는 것을 추가로 포함하는, 또는 하나 이상의 프로세서들은 애니메이션화된 3D 객체의 토폴로지를 메타데이터로서 인코딩하도록 추가로 구성되는, 방법 또는 장치.
  21. 하나 이상의 프로세서들로 하여금, 제1항, 제3항 내지 제20항 중 어느 한 항의 방법을 수행하게 하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체.
  22. 방법으로서, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하는 단계를 포함하고, 디코딩하는 단계는,
    - 값들의 제1 서브세트 및 값들의 제2 서브세트를 디코딩하는 단계, 및
    - 적어도 하나의 속성의 적어도 하나의 구성요소를 제1 서브세트 및 제2 서브세트로부터 재구성하는 단계 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 - 를 포함하는, 방법.
  23. 장치로서, 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소를 디코딩하도록 구성되고, 디코딩하는 것은,
    - 값들의 제1 서브세트 및 값들의 제2 서브세트를 디코딩하는 것, 및
    - 적어도 하나의 속성의 적어도 하나의 구성요소를 제1 서브세트 및 제2 서브세트로부터 재구성하는 것 - 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함함 - 을 포함하는, 장치.
  24. 제22항 또는 제23항에 있어서, 제1 서브세트는 비디오 기반 디코더를 사용하여 디코딩되는, 방법 또는 장치.
  25. 제22항 또는 제24항에 있어서, 또는 제23항 또는 제24항에 있어서, 제2 서브세트는 비디오 기반 디코더를 사용하여 또는 메타데이터로서 디코딩되는, 방법 또는 장치.
  26. 제22항, 제24항 및 제25항 중 어느 한 항에 있어서, 또는 제23항 내지 제25항 중 어느 한 항에 있어서, 값들의 제1 서브세트를 디코딩하는 것은 비디오의 이미지의 적어도 하나의 구성요소로부터의 값들을 언패킹하는 것을 포함하는, 방법 또는 장치.
  27. 제22항, 제24항 내지 제26항 중 어느 한 항에 있어서, 또는 제23항 내지 제26항 중 어느 한 항에 있어서, 제1 서브세트 및 제2 서브세트로부터 적어도 하나의 속성의 적어도 하나의 구성요소를 재구성하는 것은 값들의 제1 서브세트를 역양자화하는 것을 포함하는, 방법 또는 장치.
  28. 제22항, 제24항 내지 제27항 중 어느 한 항에 있어서, 또는 제23항 내지 제27항 중 어느 한 항에 있어서,
    값들의 범위를 정의하는 반경 파라미터를 디코딩하는 것을 추가로 포함하는, 또는 하나 이상의 프로세서들은 값들의 범위를 정의하는 반경 파라미터를 디코딩하도록 추가로 구성되는, 방법 또는 장치.
  29. 제22항, 제24항 내지 제28항 중 어느 한 항에 있어서, 또는 제23항 내지 제28항 중 어느 한 항에 있어서, 제2 서브세트가 메타데이터로서 디코딩될 때, 제2 서브세트의 값들은 엔트로피 디코딩되는, 방법 또는 장치.
  30. 제22항, 제24항 내지 제28항 중 어느 한 항에 있어서, 또는 제23항 내지 제28항 중 어느 한 항에 있어서, 제2 서브세트가 메타데이터로서 디코딩될 때, 제2 서브세트의 값들은 원시 디코딩되는, 방법 또는 장치.
  31. 제22항, 제24항 내지 제30항 중 어느 한 항에 있어서, 또는 제23항 내지 제30항 중 어느 한 항에 있어서, 값들의 제2 서브세트를 디코딩하는 것은 제2 서브세트의 적어도 하나의 값에 대해, 적어도 하나의 속성의 적어도 하나의 구성요소에 상기 적어도 하나의 값의 위치를 디코딩하는 것을 포함하는, 방법 또는 장치.
  32. 제31항에 있어서, 제1 서브세트 및 제2 서브세트로부터 적어도 하나의 속성의 적어도 하나의 구성요소를 재구성하는 것은 값들의 디코딩된 제1 서브세트에서, 제2 서브세트에 속하는 값의 위치에 배치된 값을 디코딩된 제2 서브세트로부터의 대응하는 값으로 대체하는 것을 포함하는, 방법 또는 장치.
  33. 제31항에 있어서, 제1 서브세트 및 제2 서브세트로부터 적어도 하나의 속성의 적어도 하나의 구성요소를 재구성하는 것은 값들의 디코딩된 제1 서브세트에서, 디코딩된 제2 서브세트로부터의 값들을 대응하는 위치에 삽입하는 것을 포함하는, 방법 또는 장치.
  34. 제22항, 제24항 내지 제33항 중 어느 한 항에 있어서, 또는 제23항 내지 제33항 중 어느 한 항에 있어서,
    애니메이션화된 3D 객체의 토폴로지를 메타데이터로서 디코딩하는 것을 추가로 포함하는, 또는 하나 이상의 프로세서들은 애니메이션화된 3D 객체의 토폴로지를 메타데이터로서 디코딩하도록 추가로 구성되는, 방법 또는 장치.
  35. 제1항 내지 제20항, 제22항, 제24항 내지 제34항 중 어느 한 항에 있어서, 또는 제2항 내지 제20항, 제23항 또는 제34항 중 어느 한 항에 있어서, 값들의 세트는 잔차 예측 값들을 포함하는, 방법 또는 장치.
  36. 제1항 내지 제20항, 제22항, 제24항 내지 제35항 중 어느 한 항에 있어서, 또는 제2항 내지 제20항, 제23항 내지 제35항 중 어느 한 항에 있어서, 적어도 하나의 속성은, 3D 객체의 기하구조 좌표들, 프레임 아틀라스 내의 텍스처 좌표들, 법선 좌표들, 컬러 데이터, 또는 일반 데이터 중 적어도 하나를 포함하는, 방법 또는 장치.
  37. 제1항 내지 제20항, 제22항, 제24항 내지 제36항 중 어느 한 항에 있어서, 또는 제2항 내지 제20항, 제23항 내지 제36항 중 어느 한 항에 있어서, 애니메이션화된 3D 객체는 애니메이션화된 포인트 클라우드 또는 애니메이션화된 3D 메시인, 방법 또는 장치.
  38. 하나 이상의 프로세서들로 하여금, 제1항 내지 제20항, 제22항, 제24항 내지 제37항 중 어느 한 항의 방법을 수행하게 하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체.
  39. 디바이스로서,
    - 제23항 내지 제37항 중 어느 한 항에 따른 장치; 및
    - (i) 애니메이션화된 3D 객체의 적어도 하나의 부분을 나타내는 데이터를 포함하는 신호를 수신하도록 구성된 안테나, (ii) 수신된 신호를 애니메이션화된 3D 객체의 적어도 하나의 부분을 나타내는 데이터를 포함하는 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 또는 (iii) 애니메이션화된 3D 객체의 적어도 하나의 부분을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  40. 제39항에 있어서, TV, 휴대폰, 태블릿 또는 셋톱 박스를 포함하는, 디바이스.
  41. 비트스트림으로서,
    - 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소의 값들의 제1 서브세트를 나타내는 코딩된 비디오 데이터, 및
    - 애니메이션화된 3D 객체의 적어도 하나의 속성의 적어도 하나의 구성요소의 값들의 제2 서브세트를 나타내는 코딩된 메타데이터를 포함하고, 적어도 하나의 속성의 적어도 하나의 구성요소는 값들의 제1 서브세트 및 제2 서브세트로 리프레이밍되고, 값들의 제1 서브세트는 값들의 범위에 있는 적어도 하나의 구성요소의 값들을 포함하고, 값들의 제2 서브세트는 값들의 범위를 벗어난 적어도 하나의 구성요소의 값들을 포함하는, 비트스트림.
  42. 제41항에 있어서, 제1 서브세트 및 제2 서브세트를 결정하기 위해 사용되는 반경 파라미터를 추가로 포함하는, 비트스트림.
  43. 제41항 또는 제42항에 있어서, 적어도 하나의 속성의 적어도 하나의 구성요소의 값들의 리프레이밍이 인에이블되는지의 여부를 표시하는 신택스 요소를 추가로 포함하는, 비트스트림.
  44. 제41항 내지 제43항 중 어느 한 항에 따른 비트스트림이 저장되는 컴퓨터 판독가능 저장 매체.
  45. 장치로서,
    o 제41항 내지 제44항 중 어느 한 항에 따른 신호를 포함하는 데이터에 액세스하도록 구성되는 액세스 유닛, 및
    o 액세스된 데이터를 송신하도록 구성되는 송신기를 포함하는, 장치.
  46. 제41항 내지 제44항 중 어느 한 항에 따른 신호를 포함하는 데이터에 액세스하는 단계, 및 액세스된 데이터를 송신하는 단계를 포함하는, 방법.
KR1020237010620A 2020-09-30 2021-09-21 애니메이션화된 3d 객체의 적어도 하나의 속성을 인코딩/디코딩하기 위한 방법 및 장치 KR20230084143A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20306126 2020-09-30
EP20306126.2 2020-09-30
PCT/EP2021/075984 WO2022069299A1 (en) 2020-09-30 2021-09-21 A method and an apparatus for encoding/decoding at least one attribute of an animated 3d object

Publications (1)

Publication Number Publication Date
KR20230084143A true KR20230084143A (ko) 2023-06-12

Family

ID=72964615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237010620A KR20230084143A (ko) 2020-09-30 2021-09-21 애니메이션화된 3d 객체의 적어도 하나의 속성을 인코딩/디코딩하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US20230386087A1 (ko)
EP (1) EP4222708A1 (ko)
KR (1) KR20230084143A (ko)
CN (1) CN116250011A (ko)
WO (1) WO2022069299A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023041838A1 (en) * 2021-09-14 2023-03-23 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2023148084A1 (en) * 2022-02-03 2023-08-10 Interdigital Vc Holdings France, Sas A method and an apparatus for encoding/decoding attributes of a 3d object
US20240064334A1 (en) * 2022-08-12 2024-02-22 Tencent America LLC Motion field coding in dynamic mesh compression

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8406314B2 (en) * 2007-11-28 2013-03-26 Sharp Laboratories Of America, Inc. Two-dimensional DPCM with PCM escape mode
EP2128822B1 (en) * 2008-05-27 2012-01-04 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Index-based pixel block processing

Also Published As

Publication number Publication date
WO2022069299A1 (en) 2022-04-07
EP4222708A1 (en) 2023-08-09
US20230386087A1 (en) 2023-11-30
CN116250011A (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
US11915456B2 (en) Method and device for encoding and reconstructing missing points of a point cloud
US20230386087A1 (en) A method and an apparatus for encoding/decoding at least one attribute of an animated 3d object
US10951914B2 (en) Reliable large group of pictures (GOP) file streaming to wireless displays
CN113228650B (zh) 基于块的表面的视频编码或解码的量化
KR20210020915A (ko) 이미지 블록들의 비대칭 이진 파티셔닝에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
US20180302629A1 (en) Image processing apparatus and method
CN113647111A (zh) 环内重整形自适应重整形方向
US10869030B2 (en) Method of coding and decoding images, a coding and decoding device, and corresponding computer programs
WO2023275222A1 (en) A method or an apparatus for estimating film grain parameters
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR20210134041A (ko) 포인트 클라우드의 중간 포인트들의 프로세싱
WO2023148084A1 (en) A method and an apparatus for encoding/decoding attributes of a 3d object
US20230379482A1 (en) Spatial resolution adaptation of in-loop and post-filtering of compressed video using metadata
WO2023147742A1 (en) Method and apparatus of encoding/decoding a slice of point cloud data
US20230262268A1 (en) Chroma format dependent quantization matrices for video encoding and decoding
WO2024093215A1 (en) Encoding/decoding point cloud geometry data
WO2023148083A1 (en) A method and an apparatus for encoding/decoding a 3d mesh
WO2024012810A1 (en) Film grain synthesis using encoding information
JP2022540659A (ja) ルマツークロマ量子化パラメータテーブルシグナリング
WO2024061660A1 (en) Dynamic structures for volumetric data coding
CN117716688A (zh) 用于视频编码的外部增强预测
KR20220029715A (ko) 볼류메트릭 데이터 처리
CN116134818A (zh) 混合纹理颗粒编码模式的改进
JP2023504372A (ja) ジョイントクロマの符号化されたブロックに対するスケーリング処理
KR20240072180A (ko) Isp 모드를 사용한 템플릿 기반 인트라 모드 도출(timd)의 확장