KR20230051201A - 디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치 - Google Patents
디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치 Download PDFInfo
- Publication number
- KR20230051201A KR20230051201A KR1020237006906A KR20237006906A KR20230051201A KR 20230051201 A KR20230051201 A KR 20230051201A KR 1020237006906 A KR1020237006906 A KR 1020237006906A KR 20237006906 A KR20237006906 A KR 20237006906A KR 20230051201 A KR20230051201 A KR 20230051201A
- Authority
- KR
- South Korea
- Prior art keywords
- sampling rate
- sampling
- mesh
- bitstream
- decoded
- Prior art date
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 491
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims description 115
- 230000006835 compression Effects 0.000 title description 43
- 238000007906 compression Methods 0.000 title description 43
- 238000012545 processing Methods 0.000 claims abstract description 55
- 230000006837 decompression Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 29
- 239000000523 sample Substances 0.000 description 26
- 230000033001 locomotion Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 19
- 238000013139 quantization Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000009499 grossing Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000011664 signaling Effects 0.000 description 7
- 108050005509 3D domains Proteins 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 238000012856 packing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
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
프로세싱 회로부는 메시 프레임을 운반하는 비트스트림으로부터 2D에서 복수의 맵을 디코딩한다. 메시 프레임은 다각형을 가진 오브젝트의 표면을 나타낸다. 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 디코딩된 기하학 맵 및 디코딩된 속성 맵을 포함한다. 프로세싱 회로부는 비트스트림에서 시그널링된 구문에 따라 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정한다. 적응형 2D 아틀라스 샘플링 동안 제1 샘플링 레이트는 메시 프레임의 제1 영역에 적용되며 제2 샘플링 레이트는 메시 프레임의 제2 영역에 적용된다. 프로세싱 회로부는, 복수의 맵에 기초하여, 적어도 제1 샘플링 레이트에 따라 메시 프레임의 제1 정점을, 그리고 제2 샘플링 레이트에 따라 메시 프레임의 제2 정점을 재구성한다.
Description
본 출원은, 2021년 10월 4일에 출원된 "디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치"인, 미국 가 출원 번호 제63/252/084호에 대한 우선권의 이익을 주장하는, 2022년 9월 14일에 출원된 "디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치"인, 미국 특허 출원 번호 제17/945,013호에 대한 우선권의 이익을 주장한다. 이전 출원에 대한 개시는 그 전체가 참조로서 본원에 통합된다.
본 개시는 일반적으로 메시 코딩(mesh coding)에 관련된 실시예를 설명한다.
본원에서 제공된 배경 설명은 일반적으로 개시의 맥락을 제공할 목적을 위한 것이다. 현재 명명된 발명자의 작업은, 작업이 이러한 배경 섹션, 뿐만 아니라 그 외 출원 시 종래 기술로서 자격을 얻지 않은 설명의 양상들에서 설명되는 정도로, 본 개시에 대해 종래 기술로서 명시적으로도 암시적으로도 인정되지 않는다.
다양한 기술이 3-차원(3D) 공간에 세상에서의 오브젝트, 세상에서의 환경 등과 같은, 세계를 캡처하고 표현하기 위해 개발된다. 세상의 3D 표현은 상호작용 및 통신의 보다 몰입감 있는 형태를 가능하게 할 수 있다. 몇몇 예에서, 포인트 클라우드 및 메시가 세상의 3D 표현으로서 사용될 수 있다.
개시의 양상은 메시 코딩을 위한 방법 및 장치를 제공한다(예컨대, 압축 및 압축해제). 몇몇 예에서, 메시 코딩을 위한 장치는 프로세싱 회로부를 포함한다. 프로세싱 회로부는 메시 프레임을 운반하는 비트스트림(bitstream)으로부터 2-차원(2D)으로 복수의 맵을 디코딩한다. 메시 프레임은 다각형을 가진 오브젝트의 표면을 나타낸다. 2D에서의 복수의 맵은 적어도 적용된 적응형 2D 아틀라스(atlas) 샘플링을 가진 디코딩된 기하학 맵 및 디코딩된 속성 맵을 포함한다. 프로세싱 회로부는 비트스트림에서 시그널링된 구문에 따라 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정한다. 제1 샘플링 레이트는 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제1 영역에 적용되며, 제2 샘플링 레이트는 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제2 영역에 적용된다. 제1 샘플링 레이트는 제2 샘플링 레이트와 상이하다. 프로세싱 회로부는, 복수의 맵에 기초하여, 적어도 제1 샘플링 레이트에 따른 메시 프레임의 제1 정점을, 그리고 제2 샘플링 레이트에 따른 메시 프레임의 제2 정점을 재구성한다.
몇몇 실시예에서, 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 디코딩된 점유 맵을 포함하며, 프로세싱 회로부는, 메시 프레임의 제1 영역에 대응하는 디코딩된 점유 맵의 제1 샘플링 영역에서 점유된 포인트의 초기 UV 좌표를 획득하고, 상기 점유 포인트는 제1 정점에 대응하며, 초기 UV 좌표 및 제1 샘플링 레이트에 기초하여 제1 정점에 대한 복구된 UV 좌표를 결정한다. 몇몇 예에서, 프로세싱 회로부는, 비트스트림으로부터 제1 샘플링 영역의 제1 UV 오프셋을 디코딩하며, 초기 UV 좌표, 제1 샘플링 레이트 및 제1 UV 오프셋에 기초하여 제1 정점의 복구된 UV 좌표를 결정한다. 예에서, 프로세싱 회로부는 초기 UV 좌표에서 디코딩된 기하학 맵에서의 픽셀에 따라 제1 정점에 대한 복구된 3D 좌표를 결정하며, 초기 UV 좌표에서 디코딩된 속성 맵에서의 픽셀에 따라 제1 정점에 대한 복구된 속성 값을 결정한다.
몇몇 예에서, 복수의 맵은 점유 맵이 부족하며, 프로세싱 회로부는 제1 영역에 대한 제1 경계 정점을 표시하는 비트스트림으로부터의 정보를 디코딩한다. 프로세싱 회로부는 제1 경계 정점에 따라 제1 영역에 대응하는 점유 맵에서의 제1 점유 영역을 추론하며, 제1 점유 영역에서 점유 포인트의 UV 좌표를 획득한다. 점유 포인트는 제1 정점에 대응한다. 프로세싱 회로부는 적어도 제1 샘플링 레이트에 따라 UV 좌표를 샘플링된 UV 좌표로 변환하며, 복수의 맵에 기초하여, 샘플링된 UV 좌표에 따라 제1 정점을 재구성한다. 예에서, 프로세싱 회로부는 샘플링된 UV 좌표에서 디코딩된 기하학 맵에서의 픽셀에 따라 제1 정점에 대한 복구된 3D 좌표를 결정하며, 샘플링된 UV 좌표에서 디코딩된 속성 맵에서의 픽셀에 따라 제1 정점에 대한 복구된 속성 값을 결정한다.
UV 좌표를 샘플링된 UV 좌표로 변환하기 위해, 몇몇 예에서, 프로세싱 회로부는 비트스트림으로부터의 제1 영역과 연관된 제1 UV 오프셋을 디코딩하며; 제1 샘플링 레이트 및 제1 UV 오프셋에 따라 UV 좌표를 샘플링된 UV 좌표로 변환한다.
예에서, 프로세싱 회로부는 비트스트림으로부터 직접 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트의 값을 디코딩한다. 또 다른 예에서, 프로세싱 회로부는 비트스트림으로부터 적어도 제1 인덱스 및 제2 인덱스를 디코딩하고, 제1 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타내며, 제2 인덱스는 샘플링 레이트의 세트로부터 제2 샘플링 레이트의 선택을 나타낸다. 또 다른 예에서, 프로세싱 회로부는 레이트의 사전-수립된 세트에 기초하여 제1 샘플링 레이트를 예측한다. 또 다른 예에서, 프로세싱 회로부는 메시 프레임의 디코딩된 영역에 대한 이전 사용된 샘플링 레이트에 기초하여 제1 샘플링 레이트를 예측한다. 또 다른 예에서, 프로세싱 회로부는 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서의 디코딩된 영역에 대한 이전 사용된 샘플링 레이트에 기초하여 제1 샘플링 레이트를 예측한다.
몇몇 예에서, 프로세싱 회로부는 제1 샘플링 레이트가 시그널링되는지 또는 예측되는지를 나타내는 제1 구문 값을 디코딩한다. 제1 샘플링 레이트가 시그널링됨을 나타내는 제1 구문 값에 응답하여, 예에서, 프로세싱 회로부는 비트스트림으로부터 직접 제1 샘플링 레이트의 값을 디코딩하거나 또는 비트스트림으로부터의 인덱스를 디코딩하고, 상기 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타낸다. 제1 샘플링 레이트가 예측됨을 나타내는 제1 구문 값에 응답하여, 예에서, 프로세싱 회로부는 비트스트림으로부터의 제2 구문을 디코딩하며, 제2 구문은 제1 샘플링 레이트를 예측하기 위한 사용할 예측기를 나타낸다. 뿐만 아니라, 예에서, 프로세싱 회로부는 비트스트림으로부터 디코딩된 구문 값에 기초하여 예측 잔차를 결정하며, 예측기 및 예측 잔차에 기초하여 제1 샘플링 레이트를 결정한다.
몇몇 예에서, 프로세싱 회로부는 비트스트림으로부터 기본 샘플링 레이트를 디코딩하며, 기본 샘플링 레이트에 따라 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정한다.
몇몇 예에서, 프로세싱 회로부는 적응형 2D 아틀라스 샘플링의 가능을 나타내는 제어 플래그를 디코딩하고, 메시 프레임에서 영역의 수를 결정하며, 영역에 대한 샘플링 레이트를 각각 결정한다.
몇몇 실시예에서, 프로세싱 회로부는, 비트스트림으로부터, 제1 영역과 연관된 제1 UV 오프셋을 결정하며, 복수의 맵에 기초하여, 제1 샘플링 레이트 및 제1 UV 오프셋에 따라 메시 프레임의 제1 정점을 재구성한다. 예에서, 프로세싱 회로부는 비트스트림으로부터 직접 제1 UV 오프셋의 값을 디코딩한다. 또 다른 예에서, 프로세싱 회로부는 UV 오프셋의 사전-수립된 세트에 기초하여 제1 UV 오프셋을 예측한다. 또 다른 예에서, 프로세싱 회로부는 메시 프레임의 디코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 제1 UV 오프셋을 예측한다. 또 다른 예에서, 프로세싱 회로부는 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서 디코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 제1 UV 오프셋을 예측한다.
몇몇 예에서, 프로세싱 회로부는 제1 UV 오프셋이 시그널링되는지 또는 예측되는지를 나타내는 제1 구문 값을 디코딩한다. 제1 UV 오프셋이 시그널링됨을 나타내는 제1 구문 값에 응답하여, 예에서, 프로세싱 회로부는 비트스트림으로부터 직접 제1 UV 오프셋의 값을 디코딩하며, 기본 샘플링 레이트와 제1 샘플링 레이트의 비교에 기초하여 제1 UV 오프셋의 부호를 추론한다.
또 다른 예에서, 제1 UV 오프셋이 예측됨을 나타내는 제1 구문 값에 응답하여, 프로세싱 회로부는 비트스트림으로부터 제2 구문을 디코딩하며, 제2 구문은 제1 UV 오프셋을 예측하기 위해 사용할 예측기를 나타낸다. 뿐만 아니라, 예에서, 프로세싱 회로부는 비트스트림으로부터 디코딩된 구문 값에 기초하여 예측 잔차를 결정하며 예측기 및 예측 잔차에 기초하여 제1 UV 오프셋을 결정한다.
본 개시의 양상은 또한 컴퓨터에 의해 실행될 때, 컴퓨터가 메시 코딩을 위한 방법 중 임의의 하나 또는 조합을 수행하게 하는 지시를 저장한 비-일시적 컴퓨터-판독 가능한 매체를 제공한다.
개시된 주제의 추가 특색, 특징, 및 다양한 이점은 다음의 상세한 설명 및 수반된 도면으로부터 더 분명해질 것이다:
도 1은 몇몇 예에서 통신 시스템의 블록도를 도시한다.
도 2는 몇몇 예에서 스트리밍 시스템의 블록도를 도시한다.
도 3은 몇몇 예에서 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 4는 몇몇 예에서 포인트 클라우드 프레임에 대응하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 5는 몇몇 예에서 비디오 디코더의 블록도를 도시한다.
도 6은 몇몇 예에서 비디오 인코더의 블록도를 도시한다.
도 7은 몇몇 예에서 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 8은 몇몇 예에서 포인트 클라우드 프레임을 운반하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 9는 몇몇 예에서 메시 대 아틀라스의 매핑을 예시한 다이어그램을 도시한다.
도 10은 몇몇 예에서 다운 샘플링을 예시한 다이어그램을 도시한다.
도 11은 본 개시의 몇몇 실시예에 따른 메시 압축을 위한 프레임워크의 다이어그램을 도시한다.
도 12는 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다.
도 13은 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다.
도 14는 몇몇 예에서 프로세스 예를 개괄한 흐름도를 도시한다.
도 15는 몇몇 예에서 프로세스 예를 개괄한 흐름도를 도시한다.
도 16은 몇몇 예에서 컴퓨터 시스템의 개략적인 예시이다.
도 1은 몇몇 예에서 통신 시스템의 블록도를 도시한다.
도 2는 몇몇 예에서 스트리밍 시스템의 블록도를 도시한다.
도 3은 몇몇 예에서 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 4는 몇몇 예에서 포인트 클라우드 프레임에 대응하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 5는 몇몇 예에서 비디오 디코더의 블록도를 도시한다.
도 6은 몇몇 예에서 비디오 인코더의 블록도를 도시한다.
도 7은 몇몇 예에서 포인트 클라우드 프레임을 인코딩하기 위한 인코더의 블록도를 도시한다.
도 8은 몇몇 예에서 포인트 클라우드 프레임을 운반하는 압축된 비트스트림을 디코딩하기 위한 디코더의 블록도를 도시한다.
도 9는 몇몇 예에서 메시 대 아틀라스의 매핑을 예시한 다이어그램을 도시한다.
도 10은 몇몇 예에서 다운 샘플링을 예시한 다이어그램을 도시한다.
도 11은 본 개시의 몇몇 실시예에 따른 메시 압축을 위한 프레임워크의 다이어그램을 도시한다.
도 12는 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다.
도 13은 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다.
도 14는 몇몇 예에서 프로세스 예를 개괄한 흐름도를 도시한다.
도 15는 몇몇 예에서 프로세스 예를 개괄한 흐름도를 도시한다.
도 16은 몇몇 예에서 컴퓨터 시스템의 개략적인 예시이다.
본 개시의 양상은 3차원(3D) 미디어 프로세싱의 분야에서의 기술을 제공한다.
3차원(3D) 캡처, 3D 모델링, 및 3D 렌더링 등에서의 진전과 같은, 3D 미디어 프로세싱에서의 기술 개발은 여러 플랫폼 및 디바이스에 걸쳐 3D 미디어 콘텐트의 어디에나 있는 존재를 촉진하여 왔다. 예에서, 아기의 제1 단계는 하나의 대륙에서 캡처될 수 있고, 미디어 기술은 조부모님으로 하여금 또 다른 대륙에서 아기와의 몰입감 있는 경험을 보고(및 아마도 상호작용하고) 즐기도록 허용할 수 있다. 본 개시의 양상에 따르면, 몰입감 있는 경험을 개선하기 위해, 3D 모델은 훨씬 더 정교해지고 있으며, 3D 모델의 생성 및 소비는 데이터 저장, 데이터 송신 리소스와 같은, 상당한 양의 데이터 리소스를 차지한다.
본 개시의 몇몇 양상에 따르면, 포인트 클라우드 및 메시는 몰입감 있는 콘텐트를 나타내기 위해 3D 모델로서 사용될 수 있다.
포인트 클라우드는 일반적으로 3D 공간에서의 포인트들의 세트를 나타낼 수 있으며, 각각은 컬러, 재료 속성, 텍스처 정보, 강도 속성, 반사율 속성, 모션 관련 속성, 양식 속성, 및 다양한 다른 속성과 같은, 연관된 속성을 갖는다. 포인트 클라우드는 이러한 포인트의 구성으로서 오브젝트 또는 씬을 재구성하기 위해 사용될 수 있다.
오브젝트의 메시(또한 메시 모델로서 불리우는)는 오브젝트의 표면을 기술하는 다각형을 포함할 수 있다. 각각의 다각형은 3D 공간에서의 다각형의 정점 및 정점이 어떻게 다각형에 연결되는지에 대한 정보에 의해 정의될 수 있다. 정점이 어떻게 연결되는지에 대한 정보는 연결성 정보로서 불리운다. 몇몇 예에서, 메시는 또한 정점과 연관된, 컬러, 법선 등과 같은 속성을 포함할 수 있다.
본 개시의 몇몇 양상에 따르면, 포인트 클라우드 압축(PCC)을 위한 몇몇 코딩 툴이 메시 압축을 위해 사용될 수 있다. 예를 들어, 메시는 새로운 메시의 연결성 정보가 추론될 수 있는 새로운 메시를 생성하기 위해 재-메싱될 수 있다. 새로운 메시의 정점, 및 새로운 메시의 정점과 연관된 속성은 포인트 클라우드에서의 포인트로서 고려될 수 있으며 PCC 코덱을 사용하여 압축될 수 있다.
포인트 클라우드는 포인트의 구성으로서 오브젝트 또는 씬을 재구성하기 위해 사용될 수 있다. 포인트는 다양한 셋업에서 다수의 카메라, 깊이 센서 또는 라이다(Lidar)를 사용하여 캡처될 수 있으며 재구성된 씬 또는 오브젝트를 현실적으로 표현하기 위해 수천 내지 수십억 개의 포인트로 이루어질 수 있다. 패치는 일반적으로 포인트 클라우드에 의해 기술된 표면의 연속 서브세트를 나타낼 수 있다. 예에서, 패치는 천 미만의 양만큼 서로 벗어난 표면 법선 벡터를 가진 포인트를 포함한다.
PCC는 G-PCC로 불리우는 기하학-기반 기법, V-PCC로 불리우는 비디오 코딩 등과 같은, 다양한 기법에 따라 수행될 수 있다. 본 개시의 몇몇 양상에 따르면, G-PCC는 직접 3D 기하학을 인코딩하며 비디오 코딩과 많은 것을 공유하지 않고 순수 기하학-기반 접근법이고, V-PCC는 비디오 코딩에 아주 많이 기초한다. 예를 들어, V-PCC는 2D 그리드(이미지)의 픽셀에 3D 클라우드의 포인트를 매핑할 수 있다. V-PCC 기법은 포인트 클라우드 압축을 위해 일반 비디오 코덱을 이용할 수 있다. 본 개시에서 PCC 코덱(인코더/디코더)은 G-PCC 코덱(인코더-디코더) 또는 V-PCC 코덱일 수 있다.
본 개시의 양상에 따르면, V-PCC 기법은 3개의 별개의 비디오 시퀀스로서 포인트 클라우드의 기하학, 점유, 및 텍스처를 압축하기 위해 기존의 비디오 코덱을 사용할 수 있다. 3개의 비디오 시퀀스를 해석하기 위해 요구되는 추가 메타데이터는 별도로 압축된다. 전체 비트스트림의 작은 부분은 예에서, 소프트웨어 구현예를 사용하여 효율적으로 인코딩/디코딩될 수 있는, 메타데이터이다. 대량의 정보가 비디오 코덱에 의해 핸들링된다.
도 1은 몇몇 예에서 통신 시스템(100)의 블록도를 예시한다. 통신 시스템 (100) 은 예를 들어, 네트워크(150)를 통해 서로 통신할 수 있는 복수의 단말기 디바이스들을 포함한다. 예를 들어, 통신 시스템(100)은 네트워크(150)를 통해 상호연결된 단말기 디바이스들(110 및 120)의 쌍을 포함한다. 도 1 예에서, 단말기 디바이스들(110 및 120)의 제1 쌍은 포인트 클라우드 데이터의 단방향 송신을 수행할 수 있다. 예를 들어, 단말기 디바이스(110)는 단말기 디바이스(110)와 연결된 센서(105)에 의해 캡처되는 포인트 클라우드(예컨대, 구조를 나타내는 포인트)를 압축할 수 있다. 압축된 포인트 클라우드는 예를 들어, 비트스트림의 형태로 네트워크(150)를 통해 다른 단말기 디바이스(120)로 송신될 수 있다. 단말기 디바이스(120)는 네트워크(150)로부터 압축된 포인트 클라우드를 수신하고, 포인트 클라우드를 재구성하기 위해 비트스트림을 압축해제하며, 재구성된 포인트 클라우드를 적절하게 디스플레이할 수 있다. 단방향 데이터 송신은 미디어 서빙 애플리케이션 등에서 공통적일 수 있다.
도 1 예에서, 단말기 디바이스(110 및 120)는 서버, 및 개인용 컴퓨터로서 예시될 수 있지만, 본 개시의 원리는 그렇게 제한되지 않을 수 있다. 본 개시의 실시예는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 게이밍 단말기, 미디어 플레이어, 및/또는 전용 3-차원(3D) 장비를 가진 애플리케이션을 찾는다. 네트워크(150)는 단말기 디바이스(110 및 120) 사이에서 압축된 포인트 클라우드를 송신하는 임의의 수의 네트워크를 나타낸다. 네트워크(150)는 예를 들어, 와이어라인(유선) 및/또는 무선 통신 네트워크를 포함할 수 있다. 네트워크(150)는 회로-스위칭 및/또는 패킷-스위칭 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 전기통신 네트워크, 근거리 네트워크, 광역 네트워크, 인터넷 등을 포함한다.
도 2는 몇몇 예에서 스트리밍 시스템(200)의 블록도를 예시한다. 스트리밍 시스템(200)은 포인트 클라우드의 사용 애플리케이션이다. 개시된 주제는 3D 텔레프레즌스(telepresence) 애플리케이션, 가상 현실 애플리케이션 등과 같은, 다른 포인트 클라우드 가능 애플리케이션에 동일하게 적용 가능할 수 있다.
스트리밍 시스템(200)은 캡처 서브시스템(213)을 포함할 수 있다. 캡처 서브시스템(213)은 포인트 클라우드 소스(201), 예를 들어, 압축되지 않은 포인트 클라우드(202)를 생성하는, 예를 들어, 광 검출 및 거리측정(LIDAR) 시스템, 3D 카메라, 3D 스캐너 등을 포함할 수 있다. 예에서, 포인트 클라우드(202)는 3D 카메라에 의해 캡처되는 포인트를 포함한다. 포인트 클라우드(202)는 압축된 포인트 클라우드(204)(압축된 포인트 클라우드의 비트스트림)와 비교될 때 높은 데이터 볼륨을 강조하기 위해 굵은 선으로 묘사된다. 압축된 포인트 클라우드(204)는 포인트 클라우드 소스(201)에 결합된 인코더(203)를 포함하는 전자 디바이스(220)에 의해 생성될 수 있다. 인코더(203)는 이하에서 더 상세하게 설명되는 바와 같이 개시된 주제의 양상을 가능하게 하거나 또는 구현하기 위해 하드웨어, 소프트웨어, 또는 그것의 조합을 포함할 수 있다. 포인트 클라우드(202)의 스트림과 비교될 때 더 적은 데이터 볼륨을 강조하기 위해 얇은 선으로 묘사되는, 압축된 포인트 클라우드(204)(또는 압축된 포인트 클라우드(204)의 비트스트림)는 미래 사용을 위해 스트리밍 서버(205) 상에 저장될 수 있다. 도 2에서의 클라이언트 서브시스템(206 및 208)과 같은, 하나 이상의 스트리밍 클라이언트 서브시스템은 압축된 포인트 클라우드(204)의 사본(207 및 209)을 검색하기 위해 스트리밍 서버(205)를 액세스할 수 있다. 클라이언트 서브시스템(206)은 예를 들어, 전자 디바이스(230)에 디코더(210)를 포함할 수 있다. 디코더(210)는 압축된 포인트 클라우드의 인입 사본(207)을 디코딩하며 렌더링 디바이스(212) 상에서 렌더링될 수 있는 재구성된 포인트 클라우드(211)의 송출 스트림을 생성한다.
전자 디바이스(220 및 230)는 다른 구성요소(도시되지 않음)를 포함할 수 있다는 것이 주의된다. 예를 들어, 전자 디바이스(220)는 디코더(도시되지 않음)를 포함할 수 있으며 전자 디바이스(230)는 또한 인코더(도시되지 않음)를 포함할 수 있다.
몇몇 스트리밍 시스템에서, 압축된 포인트 클라우드(204, 207, 및 209)(예컨대, 압축된 포인트 클라우드의 스트림)는 특정한 표준에 따라 압축될 수 있다. 몇몇 예에서, 비디오 코딩 표준이 포인트 클라우드의 압축 시 사용된다. 이들 표준의 예는 고 효율 비디오 코딩(HEVC), 다목적 비디오 코딩(VVC) 등을 포함한다.
도 3은 몇몇 실시예에 따른, 포인트 클라우드 프레임을 인코딩하기 위한 V-PCC 인코더(300)의 블록도를 도시한다. 몇몇 실시예에서, V-PCC 인코더(300)는 통신 시스템(100) 및 스트리밍 시스템(200)에서 사용될 수 있다. 예를 들어, 인코더(203)는 V-PCC 인코더(300)와 유사한 방식으로 구성되고 동작할 수 있다.
V-PCC 인코더(300)는 압축되지 않은 입력으로서 포인트 클라우드 프레임을 수신하며 압축된 포인트 클라우드 프레임에 대응하는 비트스트림을 생성한다. 몇몇 실시예에서, V-PCC 인코더(300)는 포인트 클라우드 소스(201) 등과 같은, 포인트 클라우드 소스로부터 포인트 클라우드 프레임을 수신할 수 있다.
도 3 예에서, V-PCC 인코더(300)는 패치 생성 모듈(306), 패치 패킹 모듈(308), 기하학 이미지 생성 모듈(310), 텍스처 이미지 생성 모듈(312), 패치 정보 모듈(304), 점유 맵 모듈(314), 평활화 모듈(336), 이미지 패딩 모듈(316 및 318), 그룹 확장 모듈(320), 비디오 압축 모듈(322, 323, 및 332), 보조 패치 정보 압축 모듈(338), 엔트로피 압축 모듈(334), 및 다중화기(324)를 포함한다.
본 개시의 양상에 따르면, V-PCC 인코더(300)는 3D 포인트 클라우드 프레임을, 압축된 포인트 클라우드를 다시 압축해제된 포인트 클라우드로 변환하기 위해 사용되는 몇몇 메타데이터(예컨대, 점유 맵 및 패치 정보)와 함께 이미지-기반 표현으로 변환한다. 몇몇 예에서, V-PCC 인코더(300)는 3D 포인트 클라우드 프레임을 기하학 이미지, 텍스처 이미지 및 점유 맵으로 변환하며, 그 후 기하학 이미지, 텍스처 이미지, 및 점유 맵을 비트스트림으로 인코딩하기 위해 비디오 코딩 기법을 사용할 수 있다. 일반적으로, 기하학 이미지는 픽셀로 투사된 포인트와 연관된 기하학 값으로 채워진 픽셀을 가진 2D 이미지이며, 기하학 값으로 채워진 픽셀은 기하학 샘플로서 불리울 수 있다. 텍스처 이미지는 픽셀로 투사된 포인트와 연관된 텍스처 값으로 채워진 픽셀을 가진 2D 이미지이며, 텍스처 값으로 채워진 픽셀은 텍스처 샘플로 불리울 수 있다. 점유 맵은 패치에 의해 점유 또는 비점유를 나타내는 값으로 채워진 픽셀을 가진 2D 이미지이다.
패치 생성 모듈(306)은 포인트 클라우드를, 중첩하거나 또는 중첩하지 않을 수 있는, 패치의 세트(예컨대, 패치는 포인트 클라우드에 의해 설명된 표면의 연속 서브세트로서 정의된다)로 분할하여, 각각의 패치가 2D 공간에서의 평면에 대하여 깊이 필드에 의해 설명될 수 있도록 한다. 몇몇 실시예에서, 패치 생성 모듈(306)은 재구성 에러를 또한 최소화하면서, 평활한 경계를 가진 최소 수의 패치로 포인트 클라우드를 분해하는 것을 목표로 한다.
몇몇 예에서, 패치 정보 모듈(304)은 패치의 크기 및 형태를 나타내는 패치 정보를 수집할 수 있다. 몇몇 예에서, 패치 정보는 이미지 프레임으로 패킹되며 그 후 압축된 보조 패치 정보를 생성하기 위해 보조 패치 정보 압축 모듈(338)에 의해 인코딩될 수 있다.
몇몇 예에서, 패치 패킹 모듈(308)은 사용되지 않은 공간을 최소화하고 그리드의 모든 M×M(예컨대, 16×16) 블록이 고유 패치와 연관됨을 보장하면서 추출된 패치를 2차원(2D) 그리드로 매핑하도록 구성된다. 효율적인 패치 패킹은 사용되지 않은 공간을 최소화하거나 또는 시간 일관성을 보장함으로써 압축 효율에 직접 영향을 줄 수 있다.
기하학 이미지 생성 모듈(310)은 주어진 패치 위치에서 포인트 클라우드의 기하학과 연관된 2D 기하학 이미지를 생성할 수 있다. 텍스처 이미지 생성 모듈(312)은 주어진 패치 위치에서 포인트 클라우드의 텍스처와 연관된 2D 텍스처 이미지를 생성할 수 있다. 기하학 이미지 생성 모듈(310) 및 텍스처 이미지 생성 모듈(312)은 이미지로서 포인트 클라우드의 기하학 및 텍스처를 저장하기 위해 패킹 프로세스 동안 계산된 3D 대 2D 매핑을 이용한다. 동일한 샘플로 투사되는 다수의 포인트의 경우를 더 양호하게 핸들링하기 위해, 각각의 패치는 층으로서 불리우는, 2개의 이미지로 투사된다. 예에서, 기하학 이미지는 YUV420-8비트 포맷으로 W×H의 단색 프레임에 의해 표현된다. 텍스처 이미지를 생성하기 위해, 텍스처 생성 절차는 재샘플링된 포인트와 연관될 컬러를 계산하기 위해 재구성된/평활화된 기하학을 이용한다.
점유 맵 모듈(314)은 각각의 유닛에서 패딩 정보를 기술하는 점유 맵을 생성할 수 있다. 예를 들어, 점유 이미지는 셀이 빈 공간에 또는 포인트 클라우드에 속하는지를 그리드의 각각의 셀에 대해 나타내는 이진 맵을 포함한다. 예에서, 점유 맵은 픽셀이 패딩되는지 여부를 각각의 픽셀에 대해 기술하는 이진 정보를 사용한다. 또 다른 예에서, 점유 맵은 픽셀들의 블록이 패딩되는지 여부를 픽셀의 각각의 블록에 대해 기술하는 이진 정보를 사용한다.
점유 맵 모듈(314)에 의해 생성된 점유 맵은 무손실 코딩 또는 손실 있는 코딩을 사용하여 압축될 수 있다. 무손실 코딩이 사용될 때, 엔트로피 압축 모듈(334)은 점유 맵을 압축하기 위해 사용된다. 손실 있는 코딩이 사용될 때, 비디오 압축 모듈(332)은 점유 맵을 압축하기 위해 사용된다.
패치 패킹 모듈(308)은 이미지 프레임에서 패킹된 2D 패치 사이에 몇몇 빈 공간을 남길 수 있다는 것이 주의된다. 이미지 패딩 모듈(316 및 318)은 2D 비디오 및 이미지 코덱에 적합할 수 있는 이미지 프레임을 생성하기 위해 빈 공간을 채울 수 있다(패딩으로 불리우는). 이미지 패딩은 또한 중복 정보로 사용되지 않은 공간을 채울 수 있는 배경 채움으로서 불리울 수 있다. 몇몇 예에서, 양호한 배경 채움은 패치 경계 주위에 상당한 코딩 왜곡을 도입하지 않으면서 비트 레이트를 최소로 증가시킨다.
비디오 압축 모듈(322, 323, 및 332)은 패딩된 기하학 이미지, 패딩된 텍스처 이미지, 및 점유 맵과 같은 2D 이미지를, HEVC, VVC 등과 같은, 적절한 비디오 코딩 표준에 기초하여 인코딩할 수 있다. 예에서, 비디오 압축 모듈(322, 323, 및 332)은 별도로 동작하는 개개의 구성요소이다. 비디오 압축 모듈(322, 323, 및 332)은 또 다른 예에서 단일 구성요소로서 구현될 수 있다.
몇몇 예에서, 평활화 모듈(336)은 재구성된 기하학 이미지의 평활화된 이미지를 생성하도록 구성된다. 평활화된 이미지는 텍스처 이미지 생성(312)으로 제공될 수 있다. 그 후, 텍스처 이미지 생성(312)은 재구성된 기하학 이미지에 기초하여 텍스처 이미지의 생성을 조정할 수 있다. 예를 들어, 패치 형태(예컨대, 기하학)가 인코딩 및 디코딩 동안 약간 왜곡될 때, 왜곡은 패치 형태에서의 왜곡을 정정하기 위해 텍스처 이미지를 생성할 때 고려될 수 있다.
몇몇 실시예에서, 그룹 확장(320)은 코딩 이득뿐만 아니라 재구성된 포인트 클라우드의 시각적 품질을 개선하기 위해 중복 저-주파수 콘텐트를 갖고 오브젝트 경계 주위의 픽셀을 패딩하도록 구성된다.
다중화기(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)은 패치의 에지에서의 비일관성을 평활화할 수 있다. 평활화 절차는 압축 아티팩트로 인한 패치 경계에서 발생할 수 있는 잠재적인 불연속성을 완화하는 것을 목표로 한다. 몇몇 실시예에서, 평활화 필터는 압축/압축해제에 의해 야기될 수 있는 왜곡을 완화하기 위해 패치 경계상에 위치되는 픽셀에 적용될 수 있다.
텍스처 재구성 모듈(448)은 압축해제된 텍스처 이미지 및 평활화 기하학에 기초하여 포인트 클라우드에서 포인트에 대한 텍스처 정보를 결정할 수 있다.
컬러 평활화 모듈(452)은 컬러링의 비일관성을 평활화할 수 있다. 3D 공간에서 이웃하지 않는 패치는 종종 2D 비디오에서 서로의 다음에 패킹된다. 몇몇 예에서, 이웃하지 않는 패치로부터의 픽셀 값은 블록-기반 비디오 코덱에 의해 섞일 수 있다. 컬러 평활화의 목표는 패치 경계에서 나타나는 시각적 아티팩트를 감소시키는 것이다.
도 5는 몇몇 예에서 비디오 디코더(510)의 블록도를 도시한다. 비디오 디코더(510)는 V-PCC 디코더(400)에서 사용될 수 있다. 예를 들어, 비디오 압축해제 모듈(434 및 436), 점유 맵 압축해제 모듈(438)은 비디오 디코더(510)와 유사하게 구성될 수 있다.
비디오 디코더(510)는 코딩된 비디오 시퀀스와 같은, 압축된 이미지로부터 심볼(521)을 재구성하기 위해 파서(520)를 포함할 수 있다. 이들 심볼의 카테고리는 비디오 디코더(510)의 동작을 관리하기 위해 사용된 정보를 포함한다. 파서(520)는 수신되는 코딩된 비디오 시퀀스를 파싱/엔트로피-디코딩할 수 있다. 코딩된 비디오 시퀀스의 코딩은 비디오 코딩 기술 또는 표준에 따를 수 있으며, 가변 길이 코딩, 허프만(Huffman) 코딩, 콘텍스트 민감성을 가진 또는 그것이 없는 산술 코딩 등을 포함한, 다양한 원리를 따를 수 있다. 파서(520)는 그룹에 대응하는 적어도 하나의 파라미터에 기초하여, 코딩된 비디오 시퀀스로부터, 비디오 디코더에서 픽셀의 서브그룹 중 적어도 하나에 대한 서브그룹 파라미터의 세트를 추출할 수 있다. 서브그룹은 화상 그룹(GOP들), 화상, 타일, 슬라이스, 매크로블록, 코딩 유닛(CU들), 블록, 변환 유닛(TU들), 예측 유닛(PU들) 등을 포함할 수 있다. 파서(520)는 또한 코딩된 비디오 시퀀스로부터 변환 계수, 양자화기 파라미터 값, 모션 벡터 등과 같은 정보를 추출할 수 있다.
파서(520)는 심볼(521)을 생성하도록, 버퍼 메모리로부터 수신된 비디오 시퀀스에 대한 엔트로피 디코딩/파싱 동작을 수행할 수 있다.
심볼(521)의 재구성은 코딩된 비디오 화상 또는 그것의 부분(이를테면: 화상 간 및 화상 내, 블록 간 및 블록 내)의 유형, 및 다른 인자에 의존하여, 다수의 상이한 유닛을 수반할 수 있다. 어떤 유닛이 수반되고, 어떻게 하는지는 파서(520)에 의해 코딩된 비디오 시퀀스로부터 파싱되었던 서브그룹 제어 정보에 의해 제어될 수 있다. 파서(520)와 이하에서의 다수의 유닛 간의 이러한 서브그룹 제어 정보의 흐름은 명료함을 위해 묘사되지 않는다.
이미 언급된 기능 블록을 넘어, 비디오 디코더(510)는 이하에서 설명되는 바와 같이 다수의 기능 유닛으로 개념적으로 세분될 수 있다. 상업적 제약하에서 동작하는 현실적인 구현예에서, 이들 유닛 중 많은 것은 서로 가깝게 상호작용하며, 적어도 부분적으로 서로로 통합될 수 있다. 그러나, 개시된 주제를 기술할 목적으로, 이하에서의 기능 블록으로의 개념적 세분이 적절하다.
제1 유닛은 스케일러/역변환 유닛(551)이다. 스케일러/역변환 유닛(551)은 파서(520)로부터의 심볼(들)(521)로서, 사용하기 위해 어떤 것을 변환할지, 블록 크기, 양자화 인자, 양자화 스케일링 메트릭을 포함하여, 양자화된 변환 계수뿐만 아니라 제어 정보를 수신한다. 스케일러/역변환 유닛(551)은 수집기(555)로 입력될 수 있는 샘플 값을 포함한 블록을 출력할 수 있다.
몇몇 경우에서, 스케일러/역변환(551)의 출력 샘플은 인트라 코딩된 블록과 관련되며; 즉: 이전 재구성된 화상들로부터의 예측성 정보를 사용하지 않는 블록은, 그러나, 현재 화상의 이전 재구성된 부분으로부터의 예측성 정보를 사용할 수 있다. 이러한 예측성 정보는 인트라 화상 예측 유닛(552)에 의해 제공될 수 있다. 몇몇 경우에서, 인트라 화상 예측 유닛(552)은 현재 화상 버퍼(558)로부터 인출된 주변의 이미 재구성된 정보를 사용하여, 재구성 하에서 블록의 형태 및 동일한 크기의 블록을 생성한다. 현재 화상 버퍼(558)는, 예를 들어, 부분적으로 재구성된 현재 화상 및/또는 완전 재구성된 현재 화상을 버퍼링한다. 수집기(555)는, 몇몇 경우에서, 샘플 단위 기반으로, 인트라 예측 유닛(552)이 생성한 예측 정보를 스케일러/역변환 유닛(551)에 의해 제공된 바와 같이 출력 샘플 정보에 부가한다.
다른 경우에서, 스케일러/역변환 유닛(551)의 출력 샘플은 인트라 코딩되며, 잠재적으로 모션 보상된 블록과 관련될 수 있다. 이러한 경우에, 모션 보상 예측 유닛(553)은 예측을 위해 사용된 샘플을 인출하기 위해 기준 화상 메모리(557)를 액세스할 수 있다. 블록과 관련된 심볼(521)에 따라 인출된 샘플을 모션 보상한 후, 이들 샘플은 출력 샘플 정보를 생성하도록 수집기(555)에 의해 스케일러/역변환 유닛(51)의 출력(이 경우에 잔차 샘플 또는 잔차 신호로 불리우는)에 부가될 수 있다. 모션 보상 예측 유닛(553)이 예측 샘플을 인출하는 기준 화상 메모리(557) 내에서의 어드레스는 예를 들어, X, Y, 및 기준 화상 구성요소를 가질 수 있는 심볼(521)의 형태로 모션 보상 예측 유닛(553)에 이용 가능한, 모션 벡터에 의해 제어될 수 있다. 모션 보상은 또한 서브-샘플 정확 모션 벡터가 사용 중일 때 기준 화상 메모리(557)로부터 인출된 것으로서 샘플 값의 보간, 모션 벡터 예측 메커니즘 등을 포함할 수 있다.
수집기(555)의 출력 샘플은 루프 필터 유닛(556)에서 다양한 루프 필터링 기법을 겪을 수 있다. 비디오 압축 기술은 코딩된 비디오 시퀀스(또한 코딩된 비디오 비트스트림으로서 불리우는)에 포함되고 파서(520)로부터의 심볼(521)로서 루프 필터 유닛(556)에 이용 가능해진 파라미터에 의해 제어되는 인-루프 필터 기술을 포함할 수 있지만, 또한 코딩된 화상 또는 코딩된 비디오 시퀀스의 이전(디코딩 순서에서) 부분의 디코딩 동안 획득된 메타-정보에 반응적일 뿐만 아니라, 이전 재구성되고 루프-필터링된 샘플 값에 반응적일 수 있다.
루프 필터 유닛(556)의 출력은 렌더 디바이스로 출력될 뿐만 아니라 미래 화상-간 예측에서의 사용을 위해 기준 화상 메모리(557)에 저장될 수 있는 샘플 스트림일 수 있다.
특정한 코딩된 화상이, 일단 완전히 재구성되면, 미래 예측을 위한 기준 화상으로서 사용될 수 있다. 예를 들어, 일단 현재 화상에 대응하는 코딩된 화상이 완전히 재구성되며 코딩된 화상이 기준 화상으로서 식별되었다면(예를 들어, 파서(520)에 의해), 현재 화상 버퍼(558)는 기준 화상 메모리(557)의 부분이 될 수 있으며, 프레시 현재 화상 버퍼는 다음의 코딩된 화상의 재구성을 시작하기 전에 재할당될 수 있다.
비디오 디코더(510)는 ITU-T Rec. H.265와 같은, 표준에서의 미리 결정된 비디오 압축 기술에 따라 디코딩 동작을 수행할 수 있다. 코딩된 비디오 시퀀스는 코딩된 비디오 시퀀스가 비디오 압축 기술 또는 표준의 구문 및 비디오 압축 기술 또는 표준에 문서화된 대로의 프로필 모두를 준수한다는 점에서, 사용되고 있는 비디오 압축 기술 또는 표준에 의해 특정된 구문에 따를 수 있다. 구체적으로, 프로필은 비디오 압축 기술 또는 표준에서 이용 가능한 툴 모두로부터 단지 상기 프로필 하에서 사용을 위해 이용 가능한 툴로서 특정한 툴을 선택할 수 있다. 또한, 코딩된 비디오 시퀀스의 복잡도가 비디오 압축 기술 또는 표준의 레벨에 의해 정의된 바와 같이 제한 내에 있는 것이 준수를 위해 필요할 수 있다. 몇몇 경우에서, 레벨은 최대 화상 크기, 최대 프레임 레이트, 최대 재구성 샘플 레이트(예를 들어, 초당 메가샘플로 측정됨), 최대 기준 화상 크기 등을 제한한다. 레벨에 의해 설정된 제한은 몇몇 경우에서, 코딩된 비디오 시퀀스에서 시그널링된 HRD 버퍼 관리를 위한 가상적 기준 디코더(HRD) 규격 및 메타데이터를 통해 추가로 제한될 수 있다.
도 6은 본 개시의 실시예에 따른 비디오 인코더(603)의 블록도를 도시한다. 비디오 인코더(603)는 포인트 클라우드를 압축하는 V-PCC 인코더(300)에서 사용될 수 있다. 예에서, 비디오 압축 모듈(322 및 323), 및 비디오 압축 모듈(332)은 인코더(603)에 유사하게 구성된다.
비디오 인코더(603)는 패딩된 기하학 이미지, 패딩된 텍스처 이미지 등과 같은, 이미지를 수신하며, 압축된 이미지를 생성할 수 있다.
실시예에 따르면, 비디오 인코더(603)는 실시간으로 또는 애플리케이션에 의해 요구된 대로 임의의 다른 시간 제약 하에서 소스 비디오 시퀀스(이미지)의 화상을 코딩된 비디오 시퀀스(압축 이미지)로 코딩하고 압축할 수 있다. 적절한 코딩 속도를 시행하는 것은 제어기(650)의 하나의 기능이다. 몇몇 실시예에서, 제어기(650)는 이하에서 설명되는 바와 같이 다른 기능 유닛을 제어하며 다른 기능 유닛에 기능적으로 결합된다. 결합은 명료함을 위해 묘사되지 않는다. 제어기(650)에 의해 설정된 파라미터는 레이트 제어 관련 파라미터(화상 스킵, 양자화기, 레이트-왜곡 최적화 기법의 람다 값, ...), 화상 크기, 화상 그룹(GOP) 레이아웃, 최대 모션 벡터 검색 범위 등을 포함할 수 있다. 제어기(650)는 특정한 시스템 설계를 위해 최적화된 비디오 인코더(603)와 관련된 다른 적절한 기능을 갖도록 구성될 수 있다.
몇몇 실시예에서, 비디오 인코더(603)는 코딩 루프에서 동작하도록 구성된다. 지나치게 단순화된 설명으로서, 예에서, 코딩 루프는 소스 코더(630)(예컨대, 코딩될 입력 화상, 및 기준 화상(들)에 기초하여 심볼 스트림과 같은, 심볼을 생성할 책임이 있는), 및 비디오 인코더(603)에 내장된 (국소) 디코더(633)를 포함할 수 있다. 디코더(633)는 (원격) 디코더가 또한 생성하는 것과 유사한 방식으로 샘플 데이터를 생성하도록 심볼을 재구성한다(심볼과 코딩된 비디오 스트림 간의 임의의 압축은 개시된 주제에서 고려된 비디오 압축 기술에서 무손실이므로). 재구성된 샘플 스트림(샘플 데이터)은 기준 화상 메모리(634)로 입력된다. 심볼 스트림의 디코딩이 디코더 위치(국소 또는 원격)에 관계없이 비트-정확 결과를 야기하므로, 기준 화상 메모리(634)에서의 콘텐트는 또한 국소 인코더와 원격 인코더 사이에서 비트 정확하다. 다시 말해서, 인코더의 예측 부분이 기준 화상 샘플로서 디코더와 정확하게 동일한 샘플 값을 "보는" 것은 디코딩 동안 예측을 사용할 때 "볼 것"이다. 기준 화상 공시성(및 예를 들어, 채널 에러 때문에, 공시성이 유지될 수 없다면 결과적인 드리프트)의 이러한 기본 원리는 또한 몇몇 관련 기술에서 사용된다.
"국소" 디코더(633)의 동작은 비디오 디코더(510)와 같은, "원격" 디코더와 동일할 수 있으며, 이것은 도 5와 함께 위에서 상세하게 이미 설명되었다. 그러나, 간단히 도 5를 또한 참조하면, 심볼이 이용 가능하고 엔트로피 코더(645) 및 파서(520)에 의한 코딩된 비디오 시퀀스로의 심볼의 인코딩/디코딩은 무손실일 수 있으므로, 파서를 포함하여, 비디오 디코더(510)의 엔트로피 디코딩 부분은 국소 디코더(633)에서 완전히 구현되지 않을 수 있다.
동작 동안, 몇몇 예에서, 소스 코더(630)는 "기준 화상"으로 지정된 비디오 시퀀스로부터의 하나 이상의 이전-코딩된 화상을 참조하여 입력 화상을 예측적으로 코딩하는, 모션 보상된 예측성 코딩을 수행할 수 있다. 이러한 방식으로, 코딩 엔진(632)은 입력 화상의 픽셀 블록과 예측 기준(들)으로 선택될 수 있는 기준 화상(들)의 픽셀 화상 간의 차이를 입력 화상으로 코딩한다.
국소 비디오 디코더(633)는 소스 코더(630)에 의해 생성된 심볼에 기초하여, 기준 화상으로서 지정될 수 있는 화상의 코딩된 비디오 데이터를 디코딩할 수 있다. 코딩 엔진(632)의 동작은 유리하게는 손실 있는 프로세스일 수 있다. 코딩된 비디오 데이터가 비디오 디코더(도 6에서 도시되지 않음)에서 디코딩될 수 있을 때, 재구성된 비디오 시퀀스는 통상적으로 몇몇 에러를 가진 소스 비디오 시퀀스의 복제품일 수 있다. 국소 비디오 디코더(633)는 비디오 디코더에 의해 기준 화상에 대해 수행될 수 있으며 재구성된 기준 화상이 기준 화상 캐시(634)에 저장되게 할 수 있는 디코딩 프로세스를 복제한다. 이러한 방식으로, 비디오 인코더(603)는 원단 비디오 디코더(송신 에러가 없는)에 의해 획득될 재구성된 기준 화상으로서 공통적인 콘텐트를 가진 재구성된 기준 화상의 사본을 국소적으로 저장할 수 있다.
예측기(635)는 코딩 엔진(632)에 대한 예측 탐색을 수행할 수 있다. 즉, 코딩될 새로운 화상에 대해, 예측기(635)는 새로운 화상에 대한 적절한 예측 기준으로서 작용할 수 있는, 샘플 데이터(후보 기준 화상 블록으로서) 또는 기준 화상 모션 벡터, 블록 형태 등과 같은 특정한 메타데이터에 대해 기준 화상 메모리(634)를 탐색할 수 있다. 예측기(635)는 적절한 예측 기준을 찾기 위해 샘플 블록 대 픽셀 블록 기반으로 동작할 수 있다. 몇몇 경우에서, 예측기(635)에 의해 획득된 탐색 결과에 의해 결정된 바와 같이, 입력 화상은 기준 화상 메모리(634)에 저장된 다수의 기준 화상으로부터 인출된 예측 기준을 가질 수 있다.
제어기(650)는 예를 들어, 비디오 데이터를 인코딩하기 위한 파라미터 및 서브그룹 파라미터의 설정을 포함하여, 소스 코더(630)의 코딩 동작을 관리할 수 있다.
모든 앞서 언급한 기능 유닛의 출력은 엔트로피 코더(645)에서 엔트로피 코딩을 겪을 수 있다. 엔트로피 코더(645)는, 허프만 코딩, 가변 길이 코딩, 산술 코딩 등과 같은 기술에 따라 심볼을 무손실 압축함으로써, 다양한 기능 유닛에 의해 생성된 것으로서 심볼을 코딩된 비디오 시퀀스로 변환한다.
제어기(650)는 비디오 인코더(603)의 동작을 관리할 수 있다. 코딩 동안, 제어기(650)는 각각의 코딩된 화상에 특정한 코딩된 화상 유형을 할당할 수 있으며, 이것은 각각의 화상에 적용될 수 있는 코딩 기법에 영향을 줄 수 있다. 예를 들어, 화상은 종종 다음의 화상 유형 중 하나로서 할당될 수 있다.
인트라 화상(I 화상)은 예측의 소스로서 시퀀스에서 임의의 다른 화상을 사용하지 않고 코딩되고 디코딩될 수 있는 것일 수 있다. 몇몇 비디오 코덱은 예를 들어, 독립 디코더 리프레시("IDR") 화상을 포함한, 상이한 유형의 인트라 화상을 허용한다. 이 기술분야의 숙련자는 I 화상 및 그것들 각각의 애플리케이션과 특징의 이들 변형을 알고 있다.
예측성 화상(P 화상)은 각각의 블록의 샘플 값을 예측하기 위해 최대 하나의 모션 벡터 및 기준 인덱스를 사용한 인트라 예측 또는 인터 예측을 사용하여 코딩되고 디코딩될 수 있는 것일 수 있다.
양-방향 예측성 화상(B 화상)은 각각의 블록의 샘플 값을 예측하기 위해 최대 두 개의 모션 벡터 및 기준 인덱스를 사용한 인트라 예측 또는 인터 예측을 사용하여 코딩되고 디코딩될 수 있는 것일 수 있다. 유사하게, 다중-예측성 화상은 단일 블록의 재구성을 위해 두 개 이상의 기준 화상 및 연관된 메타데이터를 사용할 수 있다.
소스 화상은 일반적으로 복수의 샘플 블록(예를 들어, 각각 4×4, 8×8, 4×8, 또는 16×16 샘플의 블록)으로 공간적으로 세분되며 블록 단위 기반으로 코딩될 수 있다. 블록은 블록 각각의 화상에 적용된 코딩 할당에 의해 결정된 바와 같이 다른(이미 코딩된) 블록을 참조하여 예측적으로 코딩될 수 있다. 예를 들어, I 화상의 블록은 비-예측적으로 코딩될 수 있거나 또는 그것들은 동일한 화상의 이미 코딩된 블록을 참조하여 예측적으로 코딩될 수 있다(공간 예측 또는 인트라 예측). P 화상의 픽셀 블록은 하나의 이전 코딩된 기준 화상을 참조하여 공간 예측을 통해 또는 시간 예측을 통해, 예측적으로 코딩될 수 있다. B 화상의 블록은 하나 또는 두 개의 이전 코딩된 기준 화상을 참조하여 공간 예측을 통해 또는 시간 예측을 통해, 예측적으로 코딩될 수 있다.
비디오 인코더(603)는 ITU-T Rec. H.265와 같은, 미리 결정된 비디오 코딩 기술 또는 표준에 따라 코딩 동작을 수행할 수 있다. 그것의 동작에서, 비디오 인코더(603)는 입력 비디오 시퀀스에서 시간적 및 공간적 중복성을 이용하는 예측성 코딩 동작을 포함한, 다양한 압축 동작을 수행할 수 있다. 코딩된 비디오 데이터는, 그러므로, 사용되고 있는 비디오 코딩 기술 또는 표준에 의해 특정된 구문을 따를 수 있다.
비디오는 시간 시퀀스에서 복수의 소스 화상(이미지들)의 형태로 있을 수 있다. 화상-내 예측(종종 인트라 예측으로 축약되는)은 주어진 화상에서 공간적 상관을 이용하며, 화상-간 예측은 화상 간의 (시간적 또는 다른) 상관을 이용한다. 예에서, 현재 화상으로 불리우는, 인코딩/디코딩 하에서의 특정 화상은 블록으로 분할된다. 현재 화상에서의 블록이 비디오에서 이전 코딩되고 여전히 버퍼링된 기준 화상에서의 기준 블록과 유사할 때, 현재 화상에서의 블록은 모션 벡터로서 불리우는 벡터에 의해 코딩될 수 있다. 모션 벡터는 기준 화상에서 기준 블록을 가리키며, 다수의 기준 화상이 사용 중인 경우에, 기준 화상을 식별하는 제3 치수를 가질 수 있다.
몇몇 실시예에서, 이중-예측 기법은 화상-간 예측에서 사용될 수 있다. 이중-예측 기법에 따르면, 양쪽 모두가 디코딩 순서에서 비디오에서의 현재 화상 이전인(그러나 디스플레이 순서에서, 각각 과거 및 미래에 있을 수 있는) 제1 기준 화상 및 제2 기준 화상과 같은, 두 개의 기준 화상이 사용된다. 현재 화상에서의 블록은 제1 기준 화상에서 제1 기준 블록을 가리키는 제1 모션 벡터, 및 제2 기준 화상에서 제2 기준 블록을 가리키는 제2 모션 벡터에 의해 코딩될 수 있다. 블록은 제1 기준 블록 및 제2 기준 블록의 조합에 의해 예측될 수 있다.
뿐만 아니라, 본 개시의 몇몇 실시예에 따르면, 화상-간 예측 및 화상-내 예측과 같은, 예측이 블록의 단위로 수행된다. 예를 들어, HEVC 표준에 따르면, 비디오 화상의 시퀀스에서의 화상은 압축을 위해 코딩 트리 유닛(CTU)으로 분할되고, 화상에서의 CTU는 64×64 픽셀, 32×32 픽셀, 또는 16×16 픽셀과 같은, 동일한 크기를 갖는다. 일반적으로, CTU는 하나의 루마(luma) CTB 및 두 개의 크로마(chroma) CTB인, 3개의 코딩 트리 블록(CTB)을 포함한다. 각각의 CTU는 하나 또는 다수의 코딩 유닛(CU)으로 재귀적으로 쿼드트리 분리될 수 있다. 예를 들어, 64×64 픽셀의 CTU는 64×64 픽셀의 하나의 CU, 또는 32×32 픽셀의 4개의 CU, 또는 16×16 픽셀의 16개 CU로 분리될 수 있다. 예에서, 각각의 CU는 인터 예측 유형 또는 인트라 예측 유형과 같은, CU에 대한 예측 유형을 결정하기 위해 분석된다. CU는 시간적 및/또는 공간적 예측 가능성에 의존하여 하나 이상의 예측 유닛(PU들)으로 분리된다. 일반적으로, 각각의 PU는 루마 예측 블록(PB), 두 개의 크로마 PB를 포함한다. 실시예에서, 코딩(인코딩/디코딩)에서의 예측 동작은 예측 블록의 단위로 수행된다. 예측 블록의 예로서 루마 예측 블록을 사용하여, 예측 블록은 8×8 픽셀, 16×16 픽셀, 8×16 픽셀, 16×8 픽셀 등과 같은, 픽셀에 대한 값(예컨대, 루마 값)의 행렬을 포함한다.
도 7은 몇몇 예에서 G-PCC 인코더(700)의 블록도를 도시한다. G-PCC 인코더(700)는 포인트 클라우드 데이터를 수신하며 압축된 포인트 클라우드 데이터를 운반하는 비트 스트림을 생성하기 위해 포인트 클라우드 데이터를 압축하도록 구성될 수 있다. 실시예에서, G-PCC 인코더(700)는 위치 양자화 모듈(710), 중복 포인트 제거 모듈(712), 옥트리(octree) 인코딩 모듈(730), 속성 전달 모듈(720), 세밀도(level of detail; LOD) 생성 모듈(740), 속성 예측 모듈(750), 잔차 양자화 모듈(760), 산술 코딩 모듈(770), 역 잔차 양자화 모듈(780), 부가 모듈(781), 및 재구성된 속성 값을 저장하기 위한 메모리(790)를 포함할 수 있다.
도시된 바와 같이, 입력 포인트 클라우드(701)는 G-PCC 인코더(700)에서 수신될 수 있다. 포인트 클라우드(701)의 위치(예컨대, 3D 좌표)는 양자화 모듈(710)로 제공된다. 양자화 모듈(710)은 양자화된 위치를 생성하기 위해 좌표를 양자화하도록 구성된다. 복제 포인트 제거 모듈(712)은 양자화된 위치를 수신하고 중복 포인트를 식별하고 제거하기 위해 필터 프로세스를 수행하도록 구성된다. 옥트리 인코딩 모듈(730)은 중복 포인트 제거 모듈(712)로부터 필터링된 위치를 수신하며, 복셀의 3D 그리드를 기술하는 점유 코드의 시퀀스를 생성하기 위해 옥트리-기반 인코딩 프로세스를 수행하도록 구성된다. 점유 코드는 산술 코딩 모듈(770)로 제공된다.
속성 전달 모듈(720)은 입력 포인트 클라우드의 속성을 수신하며, 다수의 속성 값이 각각의 복셀과 연관될 때 각각의 복셀에 대한 속성 값을 결정하기 위해 속성 전달 프로세스를 수행하도록 구성된다. 속성 전달 프로세스는 옥트리 인코딩 모듈(730)로부터 출력된 재순서화된 포인트에 대해 수행될 수 있다. 전달 동작 후 속성은 속성 예측 모듈(750)로 제공된다. LOD 생성 모듈(740)은 옥트리 인코딩 모듈(730)로부터 출력된 재순서화된 포인트에 대해 동작하며, 포인트를 상이한 LOD로 재조직하도록 구성된다. LOD 정보는 속성 예측 모듈(750)로 공급된다.
속성 예측 모듈(750)은 LOD 생성 모듈(740)로부터의 LOD 정보에 의해 표시된 LOD-기반 순서에 따라 포인트를 프로세싱한다. 속성 예측 모듈(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), 필드 프로그램 가능한 게이트 어레이(FPGA) 등과 같은, 소프트웨어를 갖고 또는 그것 없이 동작하는 하나 이상의 집적 회로(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 공간에서 다각형의 정점 및 정점을 다각형으로 연결하는 에지에 의해 정의될 수 있다. 정점이 어떻게 연결되는지에 대한 정보(예컨대, 에지의 정보)는 연결성 정보로서 불리운다. 몇몇 예에서, 오브젝트의 메시는 오브젝트의 표면을 기술하는 연결된 삼각형에 의해 형성된다. 에지를 공유하는 두 개의 삼각형은 두 개의 연결된 삼각형으로 불리운다. 몇몇 다른 예에서, 오브젝트의 메시는 연결된 사각형에 의해 형성된다. 에지를 공유하는 두 개의 사각형은 두 개의 연결된 사각형으로 불리울 수 있다. 메시는 다른 적절한 다각형에 의해 형성될 수 있다는 것이 주의된다.
몇몇 예에서, 메시는 또한, 정점과 연관된, 컬러, 법선 등과 같은, 속성을 포함할 수 있다. 속성은 2D 속성 맵을 갖고 메시를 파라미터화하는 매핑 정보를 이용함으로써 메시의 표면과 연관될 수 있다. 매핑 정보는 일반적으로 메시 정점과 연관된, UV 좌표 또는 텍스처 좌표로 불리우는, 파라메트릭 좌표의 세트에 의해 설명된다. 2D 속성 맵(몇몇 예에서, 텍스처 맵으로 불리우는)은 텍스처, 법선, 변위 등과 같은 고 분해능 속성 정보를 저장하기 위해 사용된다. 이러한 정보는 텍스처 매핑 및 셰이딩과 같은 다양한 목적을 위해 사용될 수 있다.
몇몇 실시예에서, 메시는 기하학 정보, 연결성 정보, 매핑 정보, 정점 속성, 및 속성 맵으로서 불리우는 구성요소를 포함할 수 있다. 몇몇 예에서, 기하학 정보는 메시의 정점과 연관된 3D 위치의 세트에 의해 설명된다. 예에서, (x,y,z) 좌표는 정점의 3D 위치를 설명하기 위해 사용될 수 있으며, 또한 3D 좌표로서 불리운다. 몇몇 예에서, 연결성 정보는 3D 표면을 생성하기 위해 정점을 어떻게 연결하는지를 설명하는 정점 인덱스의 세트를 포함한다. 몇몇 예에서, 매핑 정보는 평면의 2D 영역에 메시 표면을 어떻게 매핑하는지를 설명한다. 예에서, 매핑 정보는 연결성 정보와 함께 메시 정점과 연관된 UV 파라메트릭/텍스처 좌표(u,v)의 세트에 의해 설명된다. 몇몇 예에서, 정점 속성은 메시 정점과 연관된 스칼라 또는 벡터 속성 값을 포함한다. 몇몇 예에서, 속성 맵은 메시 표면과 연관되며 2D 이미지/비디오로서 저장되는 속성을 포함한다. 예에서, 비디오(예컨대, 2D 이미지/비디오)와 메시 표면 간의 매핑은 매핑 정보에 의해 정의된다.
개시의 양상에 따르면, UV 매핑 또는 메시 파라미터화로 불리우는 몇몇 기법은 3D 도메인에서의 메시의 표면을 2D 도메인에 매핑하기 위해 사용된다. 몇몇 예에서, 메시는 3D 도메인에서 패치로 분할된다. 패치는 경계 에지로 형성된 경계를 가진 메시의 연속 서브세트이다. 패치의 경계 에지는 패치의 단지 하나의 다각형에 속하며, 패치에서 두 개의 인접한 다각형에 의해 공유되지 않는 에지이다. 패치에서 경계 에지의 정점은 패치의 경계 정점으로 불리우며, 패치에서의 비-경계 정점은 몇몇 예에서 패치의 내부 정점으로 불리울 수 있다.
몇몇 예에서, 오브젝트의 메시는 연결된 삼각형에 의해 형성되며, 메시는 패치로 분할될 수 있고, 각각의 패치는 연결된 삼각형의 서브세트이다. 패치의 경계 에지는 패치에서 단지 하나의 삼각형에 속하며 패치에서 인접한 삼각형에 의해 공유되지 않는 에지이다. 패치에서 경계 에지의 정점은 패치의 경계 정점으로 불리우며, 패치에서의 비-경계 정점은 몇몇 예에서 패치의 내부 정점으로 불리울 수 있다.
본 개시의 양상에 따르면, 패치는 몇몇 예에서 각각 2D 형태(또한 UV 패치로 불리우는)로 파라미터화된다. 2D 형태는 몇몇 예에서 또한 아틀라스로 불리우는 맵으로 패킹될(예컨대, 배향되고 위치되는) 수 있다. 몇몇 예에서, 맵은 2D 이미지 또는 비디오 프로세싱 기법을 사용하여 추가로 프로세싱될 수 있다.
예에서, UV 매핑 기법은 3D 메시의 패치에 대응하는 2D에서 UV 아틀라스(또한 UV 맵으로 불리우는) 및 하나 이상의 텍스처 아틀라스(또한 텍스처 맵으로 불리우는)를 생성한다. UV 아틀라스는 2D 도메인(예컨대, 직사각형)에서의 2D 포인트에 3D 메시의 3D 정점의 할당을 포함한다. 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'에 매핑된다. 몇몇 예에서, 3D 도메인에서의 좌표는 (x, y, z) 좌표로 불리우며, 맵(920)과 같은, 2D 도메인에서의 좌표는 UV 좌표로 불리운다. 3D 메시에서의 정점은 맵(920)에서 대응하는 UV 좌표를 가질 수 있다.
맵(920)은 기하학 정보를 가진 기하학 맵일 수 있거나, 또는 컬러, 법선, 텍스타일, 또는 다른 속성 정보를 가진 텍스처 맵일 수 있거나, 또는 점유 정보를 가진 점유 맵일 수 있다.
각각의 패치가 도 9 예에서 삼각형에 의해 표현되지만, 패치는 메시의 연속 서브세트를 형성하기 위해 연결되는 임의의 적절한 수의 정점을 포함할 수 있다는 것이 주의된다. 몇몇 예에서, 패치에서의 정점은 삼각형에 연결된다. 패치에서의 정점은 다른 적절한 형태를 사용하여 연결될 수 있다는 것이 주의된다.
예에서, 정점의 기하학 정보는 2D 기하학 맵으로 저장될 수 있다. 예를 들어, 2D 기하학 맵은 2D 기하학 맵에 대응하는 포인트에서의 샘플링 포인트의 (x, y, z) 좌표를 저장한다. 예를 들어, (u, v) 위치에서의 2D 기하학 맵에서의 포인트는 3D 메시에서의 대응하는 샘플링 포인트의 x, y, 및 z 값에 각각 대응하는 3개의 구성요소의 벡터 값을 갖는다.
본 개시의 양상에 따르면, 맵에서의 면적은 완전히 점유되지 않을 수 있다. 예를 들어, 도 9에서, 2D 형태(A', B', C' 및 D') 밖에 있는 면적은 정의되지 않는다. 디코딩 후 2D 형태(A', B', C' 및 D') 밖에 있는 면적의 샘플 값은 폐기될 수 있다. 몇몇 경우에, 점유 맵은 픽셀이 패치에 속하거나 또는 정의되지 않는지를 식별하기 위해 이진 값을 저장하는 것과 같은, 각각의 픽셀에 대한 몇몇 추가 정보를 제공하기 위해 사용된다.
본 개시의 양상에 따르면, 동적 메시는 구성요소(기하학 정보, 연결성 정보, 매핑 정보, 정점 속성 및 속성 맵) 중 적어도 하나가 시간에 따라 달라지는 메시이다. 동적 메시는 메시(또한 메시 프레임으로 불리우는)의 시퀀스에 의해 설명될 수 있다. 동적 메시는 동적 메시가 시간에 걸쳐 변하는 상당한 양의 정보를 포함할 수 있으므로 다량의 데이터를 요구할 수 있다. 메시의 압축 기술은 메시 표현에서 메시 콘텐트의 효율적인 저장 및 송신을 허용할 수 있다.
몇몇 예에서, 동적 메시는 일정한 연결성 정보, 시변 기하학 및 시변 정점 속성을 가질 수 있다. 몇몇 예에서, 동적 메시는 시변 연결성 정보를 가질 수 있다. 예에서, 디지털 콘텐트 생성 툴은 일반적으로 시변 속성 맵 및 시변 연결성 정보를 가진 동적 메시를 생성한다. 몇몇 예에서, 체적측정 획득 기법이 동적 메시를 생성하기 위해 사용된다. 체적측정 획득 기법은 특히 실시간 제약 하에서 시변 연결성 정보를 가진 동적 메시를 생성할 수 있다.
몇몇 기법이 메시 압축을 위해 사용된다. 몇몇 예에서, UV 아틀라스 샘플링 및 V-PCC는 메시 압축을 위해 사용될 수 있다. 예를 들어, UV 아틀라스는 규칙적인 그리드 샘플을 갖고 기하학 이미지를 생성하기 위해 규칙적 그리드 상에서 샘플링된다. 규칙적 그리드 샘플의 연결성이 추론될 수 있다. 규칙적 그리드 샘플은 포인트 클라우드에서 포인트로서 고려될 수 있으며, 따라서 V-PCC 코덱과 같은, PCC 코덱을 사용하여 코딩될 수 있다.
본 개시의 양상에 따르면, 3D 메시 정보를 효율적으로 압축하기 위해, 기하학 맵, 텍스처 맵(몇몇 예에서 또한 속성 맵으로 불리우는), 점유 맵 등과 같은, 2D 맵이 코딩되기 전에 다운-샘플링될 수 있다.
도 10은 몇몇 예에서 다운 샘플링을 예시한 다이어그램을 도시한다. 도 10에서, 맵(1020)은 수평 및 수직 방향 양쪽 모두로 2배만큼 다운-샘플링되며, 다운-샘플링된 맵(1030)이 그에 따라 생성된다. 다운-샘플링된 맵(1030)의 폭(예컨대, 수평 방향에서의 픽셀의 수)은 맵(1020)의 폭(예컨대, 수평 방향에서의 픽셀의 수)의 ½이며, 다운-샘플링된 맵(1030)의 높이(예컨대, 수직 방향에서의 픽셀의 수)는 맵(1020)의 높이(예컨대, 수직 방향에서의 픽셀의 수)의 ½이다.
도 10에서, 맵(1020)은 2D 형태(또한 UV 패치로서 불리우는)(A', B', C' 및 D')를 포함하며, 다운 샘플링된 맵(1030)은 2D 형태(A', B', C' 및 D')에 각각 대응하는 샘플링된 2D 형태(A", B", C" 및 D")를 포함한다. 다운-샘플링된 맵(1030)은 그 후 몇몇 예에서 메시 인코더 측에서의 이미지 또는 비디오 인코더에 의해 코딩된다.
몇몇 예에서, 메시 디코더 측에서, 다운-샘플링된 맵이 디코딩된다. 다운-샘플링된 맵의 디코딩 후, 다운-샘플링된 맵은 3D 메시를 재구성하기 위해 원래 분해능(예컨대, 수직 방향에서의 픽셀의 원래 수 및 수평 방향에서의 픽셀의 원래 수)으로 복구된다.
일반적으로, 동적 메시 시퀀스는 동적 메시 시퀀스가 시간에 걸쳐 변하는 상당한 양의 정보로 이루어질 수 있으므로 다량의 데이터를 요구한다. 2D 맵(예컨대, UV 아틀라스, 속성 맵)에 적용된 샘플링 단계는 메시 정보를 표현하기 위해 요구된 대역폭을 줄이도록 도울 수 있다. 그러나, 샘플링 단계는 또한 다운-샘플링 동안 3D 메시의 몇몇 중대한 기하학 형태와 같은 주요 정보를 제거할 수 있다.
몇몇 예에서, 적응형 샘플링 기법은 너무 많은 중요한 정보를 풀지 않고 2D 아틀라스(또한 2D에서의 맵으로 불리우는)를 프로세싱하기 위해 사용될 수 있다. 적응형 샘플링 기법은 정적 메시(하나의 메시 프레임 또는 메시 콘텐트는 시간에 걸쳐 변하지 않는다) 압축 및 동적 메시 압축을 위해 사용될 수 있다. 다양한 적응형 샘플링 기법은 개별적으로 또는 임의의 형태의 조합에 의해 적용될 수 있다. 다음의 설명에서, 적응형 샘플링 방법은 기하학 맵 또는 속성 (텍스처) 맵, 또는 둘 모두일 수 있는, 2D 아틀라스(예컨대, 2D에서의 맵)에 적용된다.
도 11은 본 개시의 몇몇 실시예에 따른 메시 압축을 위한 프레임워크(1100)의 다이어그램을 도시한다. 프레임워크(1100)는 메시 인코더(1110) 및 메시 디코더(1150)를 포함한다. 메시 인코더(1110)는 입력 메시(1101)(동적 메시 프로세싱의 경우에 메시 프레임)를 수신하며, 입력 메시(1101)를 비트스트림(1145)으로 인코딩하고, 메시 디코더(1150)는 재구성된 메시(1195)(동적 메시 프로세싱의 경우에 재구성된 메시 프레임)를 생성하기 위해 비트스트림(1145)을 디코딩한다.
메시 인코더(110)는 컴퓨터, 서버컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 게이밍 디바이스, AR 디바이스, VR 디바이스 등과 같은, 임의의 적절한 디바이스일 수 있다. 메시 디코더(1150)는 컴퓨터, 클라이언트 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 게이밍 디바이스, AR 디바이스, VR 디바이스 등과 같은, 임의의 적절한 디바이스일 수 있다. 비트스트림(1145)은 임의의 적절한 통신 네트워크(도시되지 않음)를 통해 메시 인코더(1110)로부터 메시 디코더(1140)로 송신될 수 있다.
도 11 예에서, 메시 인코더(1110)는 함께 결합된 사전-프로세싱 모듈(1111), 적응형 샘플링 모듈(1120), 비디오 인코더(1130) 및 보조 데이터 인코더(1140)를 포함한다. 비디오 인코더(1130)는 3D 메시에 대한 표현에서 2D 맵과 같은, 이미지 또는 비디오 데이터를 인코딩하도록 구성된다.
도 11 예에서, 사전-프로세싱 모듈(1111)은 UV 아틀라스(1105)를 갖고 메시를 생성하기 위해 입력 메시(1101)로의 적절한 동작을 수행하도록 구성된다. 예를 들어, 사전-프로세싱 모듈(1111)은 추적, 재메싱, 파라미터화, 및 복셀화를 포함하는 일련의 동작을 수행할 수 있다. 도 11 예에서, 일련의 동작은 인코더-전용일 수 있으며 디코딩 프로세스의 부분이 아니다. 몇몇 예에서, UV 아틀라스(1105)를 가진 메시는 정점의 3D 위치 정보, 3D 위치 정보를 2D에 매핑하는 UV 아틀라스, 및 다른 2D 속성 맵(예컨대, 2D 컬러 맵 등)을 포함한다.
몇몇 예에서, 입력 메시(1101)는 UV 아틀라스를 가진 메시의 형태에 있으며, 그 후 사전-프로세싱 모듈(1111)은 UV 아틀라스(1105)를 가진 메시가 되도록 입력 메시(1101)를 포워딩할 수 있다는 것이 주의된다.
적응형 샘플링 모듈(1120)은 UV 아틀라스(1105)를 가진 메시를 수신하며 적응적으로 샘플링된 맵(1125)을 생성하기 위해 적응형 샘플링을 수행한다. 몇몇 예에서, 적응형 샘플링 모듈(1120)은 맵에서의 정보 밀도와 같은, 맵에서 또는 맵의 상이한 영역에서의 특성을 검출하며, 특성에 기초하여 맵 또는 맵의 상이한 영역을 샘플링하기 위한 상이한 샘플링 레이트를 결정하기 위해 다양한 기법을 사용할 수 있다. 그 후, 2D 맵은 적응적으로 샘플링된 맵(1125)을 생성하기 위해 상이한 샘플링 레이트에 따라 샘플링될 수 있다. 적응적으로 샘플링된 맵(1125)은 기하학 맵(또한 몇몇 예에서 기하학 이미지로 불리우는), 점유 맵, 다른 속성 맵(예컨대, 컬러 맵) 등을 포함할 수 있다.
비디오 인코더(1130)는 이미지 인코딩 및/또는 비디오 인코딩 기법을 사용하여 적응적으로 샘플링된 맵(1125)을 비트스트림(1145)으로 인코딩할 수 있다.
적응형 샘플링 모듈(1120)은 또한 적응형 샘플링을 위해 사용된 보조 정보를 나타내는 보조 데이터(1127)를 생성한다. 보조 데이터 인코더(1140)는 보조 데이터(1127)를 수신하며, 보조 데이터(1127)를 비트스트림(1145)으로 인코딩한다.
적응형 샘플링 모듈(1120) 및 보조 데이터 인코더(1140)의 동작은 본 개시에서 추가로 설명될 것이다.
도 11 예에서, 비트스트림(1145)은 메시 디코더(1150)로 제공된다. 메시 디코더(1150)는 도 11에서 도시된 바와 같이 함께 결합된 비디오 디코더(1160), 보조 데이터 디코더(1170), 및 메시 재구성 모듈(1190)을 포함한다. 예에서, 비디오 디코더(1160)는 비디오 인코더(1130)에 대응하며, 비디오 인코더(1130)에 의해 인코딩되는 비트스트림(1145)의 일 부분을 디코딩하며 디코딩된 맵(1165)을 생성할 수 있다. 몇몇 예에서, 디코딩된 맵(1165)은 디코딩된 UV 맵, 하나 이상의 디코딩된 속성 맵 등을 포함한다. 몇몇 예에서, 디코딩된 맵(1165)은 디코딩된 점유 맵(예컨대, 초기 디코딩된 맵)을 포함한다.
도 11 예에서, 보조 데이터 디코더(1170)는 보조 데이터 인코더(1140)에 대응하며, 보조 데이터 인코더(1140)에 의해 인코딩되는 비트스트림(1145)의 일 부분을 디코딩하고 디코딩된 보조 데이터(1175)를 생성할 수 있다.
도 11 예에서, 디코딩된 맵(1165) 및 디코딩된 보조 데이터(1175)는 메시 재구성 모듈(1190)로 제공된다. 메시 재구성 모듈(1190)은 디코딩된 맵(1165) 및 디코딩된 보조 데이터(1175)에 기초하여 재구성된 메시(1195)를 생성한다. 몇몇 예에서, 메시 재구성 모듈(1190)은 정점과 연관된 각각의 3D 좌표, UV 좌표, 컬러 등과 같은, 재구성된 메시(1195)에서의 정점 및 정점의 정보를 결정할 수 있다. 보조 데이터 디코더(1170) 및 메시 재구성 모듈(1190)의 동작은 본 개시에서 추가로 설명될 것이다.
사전-프로세싱 모듈(1111), 적응형 샘플링 모듈(1120), 비디오 인코더(1130) 및 보조 데이터 인코더(1140)와 같은, 메시 인코더(1110)에서의 구성요소는 각각 다양한 기법에 의해 구현될 수 있다는 것이 주의된다. 예에서, 구성요소는 집적 회로부에 의해 구현된다. 또 다른 예에서, 구성요소는 하나 이상의 프로세서에 의해 실행될 수 있는 소프트웨어를 사용하여 구현된다.
비디오 디코더(1160), 보조 데이터 디코더(1170), 및 메시 재구성 모듈(1190)과 같은, 메시 디코더(1150)에서의 구성요소는 각각 다양한 기법에 의해 구현될 수 있다는 것이 주의된다. 예에서, 구성요소는 집적 회로부에 의해 구현된다. 또 다른 예에서, 구성요소는 하나 이상의 프로세서에 의해 실행될 수 있는 소프트웨어를 사용하여 구현된다.
몇몇 실시예에서, 샘플링 적응화는 맵 유형에 기초할 수 있다. 몇몇 예에서, 적응형 샘플링 모듈(1120)은 상이한 유형의 맵에 상이한 샘플링 레이트를 적용할 수 있다. 예를 들어, 상이한 샘플링 레이트는 기하학 맵 및 속성 맵에 적용될 수 있다. 예에서, 메시는 규칙적인 형태 및 풍부 텍스처를 가진 오브젝트에 대한 모델이다. 예를 들어, 오브젝트는 직사각형 형태지만, 풍부 컬러를 가진다. 따라서, 기하학 맵의 정보 밀도는 비교적 낮다. 예에서, 적응형 샘플링 모듈(1120)은 기하학 맵 상에서(수직 방향 및 수평 방향 양쪽 모두에서) 2:1의 제1 샘플링 레이트를 이용하며 텍스처 맵 상에서(수직 방향 및 수평 방향 양쪽 모두에서) 1:1의 제2 샘플링 레이트를 이용한다.
몇몇 예에서, 하나의 방향에서의 A:B의 샘플링 레이트는 상기 방향에서의 원래 맵에서 A 픽셀로부터 B 샘플을 생성하기 위해 나타낸다. 예를 들어, 수평 방향에서 2:1의 샘플링 레이트는 수평 방향에서의 원래 맵에서 모든 두 개의 픽셀에 대해 1 샘플을 생성하기 위해 나타낸다. 수직 방향에서의 2:1 샘플링 레이트는 수직 방향에서의 원래 맵에서 모든 두 개의 픽셀에 대해 1 샘플을 생성하기 위해 나타낸다.
몇몇 예에서, 샘플링 스텝의 용어가 사용된다. 하나의 방향에서의 샘플링 스텝은 상기 방향에서 두 개의 인접한 샘플링 위치 간의 픽셀이 수를 나타낸다. 예를 들어, 수평 방향에서 2의 샘플링 스텝은 수평 방향에서 인접한 샘플링 위치 간의 두 개의 픽셀에 대해 나타내며; 수직 방향에서 2의 샘플링 스텝은 수직 방향에서 인접한 샘플링 위치 간의 2개의 픽셀에 대해 나타낸다. 본 개시에서, 샘플링 레이트는 샘플링 스텝과 동일하다는 것이 주의된다. 예를 들어, 2의 샘플링 레이트(예컨대, 2:1)는 인접한 샘플링 위치 간의 두 개의 픽셀과 같다.
몇몇 실시예에서, 샘플링 적응화는 맵에서의 서브-영역에 기초한다. 상이한 샘플링 레이트는 맵의 상이한 부분 상에서 이용될 수 있다. 몇몇 예에서, 픽셀의 몇몇 로우는 보존될 보다 적은 정보를 가지며, 그 후 더 큰 샘플링 레이트는 이들 로우를 따라 이용될 수 있어서, 더 작은 수의 샘플 로우가 코딩되게 한다. 몇몇 예에서, 픽셀의 몇몇 컬럼은 보존될 보다 적은 정보를 갖고, 그 후 더 큰 샘플링 레이트가 이들 컬럼을 따라 이용될 수 있어서, 더 작은 수의 샘플 컬럼이 코딩되게 한다. 다른 영역에 대해, 더 작은 샘플링 레이트는 샘플링 후 정보 손실을 최소로 유지하기 위해 이용된다.
도 12는 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다. 맵(1220)은 여러 블록 로우로 분할되며, 각각의 블록 로우는 고정된 수의 샘플 (픽셀) 로우를 포함한다. 상이한 샘플링 레이트는 적응적으로 샘플링된 맵(1230)을 생성하기 위해 수직 방향으로 블록 로우에 적용된다. 예를 들어, 각각의 블록 로우는 CTU 로우(또한 CTU 라인으로 불리우는)이며 샘플(또한 픽셀로 불리우는)의 64개 로우를 포함한다. 도 12 예에서, 맵(1220)에서 블록 로우 0 및 블록 로우 6에 대해, 2:1의 제1 샘플링 레이트는 수직 방향으로 적용되며, 샘플링 후 적응적으로 샘플링된 맵(1230)에 블록 로우 0 및 블록 로우 6의 각각에 대해 샘플의 32개 로우를 야기한다. 맵(1220)에서 블록 로우 1 내지 5에 대해, 1:1의 제2 샘플링 레이트는 수직 방향으로 이용되어, 적응적으로 샘플링된 맵(1230)에서 블록 로우 1 내지 블록 로우 5의 각각에 대해 샘플의 로우의 64개를 야기한다.
1:1의 샘플링 레이트는 도 12에서 수평 방향에 적용된다는 것이 주의된다.
몇몇 예에서, 적응적으로 샘플링된 맵(1230)은 그 후 비디오 인코더(1130)와 같은, 이미지 또는 비디오 인코더에 의해 인코딩된다. 디코더 측에서, 예에서, 적응적으로 샘플링된 맵(1230)이 디코딩된다. 디코딩 후, 샘플의 최상위 32개 로우는 샘플의 64개 로우와 같은, 원래 분해능으로 복구(업-샘플링)되며; 샘플의 최하위 32개 로우는 샘플의 64개 로우와 같은, 원래 분해능으로 복구(업-샘플링)된다.
몇몇 다른 예에서, 3D 메시의 2D 표현에서 코딩될 맵은 다수의 서브-영역으로 분할될 수 있다. 맵(예컨대, 화상) 안에서의 이러한 분할의 예는 슬라이스, 타일, 타일 그룹, 코딩 트리 유닛 등을 포함한다. 몇몇 예에서, 상이한 샘플링 레이트가 상이한 서브-영역에 적용될 수 있다. 예에서, 상이한 서브-영역과 연관된 상이한 샘플링 레이트는 3D 메시를 운반하는 비트스트림에서 시그널링될 수 있다. 디코더 측에서, 적응적으로 샘플링된 맵의 디코딩 후, 각각의 서브 영역은 서브 영역과 연관된 샘플링 레이트에 따라 원래 분해능으로 복구된다.
몇몇 예에서, 적응적으로 샘플링된 맵의 원래 분해능으로의 복구 프로세스는 복구된 맵을 생성하는 역 샘플링 프로세스로 불리운다. 역 샘플링 프로세스로부터의 복구 후, 2D 아틀라스의 형태로의 복구된 맵의 출력은 3D 메시 재구성을 위해 사용될 수 있다.
도 12에서의 예는 수직 방향에서의 상이한 블록 로우에 대한 적응형 샘플링을 도시하지만, 유사한 적응형 샘플링이 수평 방향으로 상이한 컬럼에 적용될 수 있거나, 또는 수직 방향 및 수평 방향 양쪽 모두에서 이용될 수 있다.
몇몇 실시예에서, 샘플링 적응화는 패치에 기초한다. 몇몇 예에서, 맵에서의 상이한 패치는 상이한 샘플링 레이트를 가질 수 있다.
도 13은 몇몇 예에서 적응형 샘플링의 다이어그램을 도시한다. 고 분해능을 가진 2D 아틀라스와 같은, 맵(1320)은 제1 2D 형태(A') 및 제2 2D 형태(B')와 같은, 3D 메시에서의 패치에 대응하는 UV 패치로서 또한 불리우는 다수의 2D 형태를 포함한다. 도 13 예에서, 2:1의 제1 샘플링 레이트는 제1 샘플링된 2D 형태(A")를 생성하기 위해 수직 방향 및 수평 방향 양쪽 모두로 제1 2D 형태(A')에 적용되며; 1:1의 제2 샘플링 레이트는 제2 샘플링된 2D 형태(B")를 생성하기 위해 수직 방향 및 수평 방향 양쪽 모두로 제2 2D 형태(B')에 적용된다. 제1 샘플링된 2D 형태(A") 및 제2 샘플링된 2D 형태(B")는 적응적으로 샘플링된 맵(1330)으로 불리우는 새로운 맵에 위치된다.
도 13 예에서, 제1 샘플링된 2D 형태(A")는 제1 2D 형태(A')보다 작으며, 제2 샘플링된 2D 형태(B")는 제2 2D 형태(B')와 동일한 크기이다. 적응적으로 샘플링된 맵(1330)은 비디오 인코더(1130)와 같은, 이미지 또는 비디오 인코더에 의해, 3D 메시를 운반하는 비트스트림으로 인코딩된다. 몇몇 예에서, 샘플링된 2D 형태와 연관된 샘플링 레이트는, 예를 들어, 보조 데이터 인코더(1140)에 의해, 3D 메시를 운반하는 비트스트림으로 인코딩된다.
몇몇 예에서, 디코더 측에서, 비디오 디코더(1160)와 같은, 이미지/비디오 디코더는 비트스트림으로부터 적응적으로 샘플링된 맵(1330)과 같은 초기 맵을 디코딩한다. 뿐만 아니라, 샘플링된 2D 형태와 연관된 샘플링 레이트는 예를 들어, 보조 데이터 디코더(1170)에 의해, 비트스트림으로부터 디코딩된다. 샘플링된 2D 형태와 연관된 샘플링 레이트에 따르면, 적응적으로 샘플링된 맵(1330)에서 샘플링된 2D 형태는 복구된 맵을 생성하기 위해 원래 크기(예컨대, 수직 방향 및 수평 방향에서의 동일한 수의 픽셀)로 복구된다. 복구된 맵은 그 후 3D 메시 재구성을 위해 사용된다.
본 개시의 양상에 따르면, 상이한 맵 유형에 대한 샘플링 레이트, 상이한 서브-영역에 대한 샘플링 레이트, 상이한 패치에 대한 샘플링 레이트 등과 같은, 적응형 샘플링 정보는 메시 인코더 측 및 메시 디코더 측에서 알려져 있다. 몇몇 예에서, 적응형 샘플링 정보는 3D 메시를 운반하는 비트스트림으로 적절히 인코딩된다. 따라서, 메시 디코더 및 메시 인코더는 동일한 적응형 샘플링 정보에 기초하여 동작할 수 있다. 메시 디코더는 맵을 정확한 크기로 복구할 수 있다.
본 개시의 양상에 따르면, 메시 인코더(1110)와 같은, 메시 인코더는 2D 아틀라스 샘플링(또한 UV 아틀라스 샘플링으로 불리우는)을 수행할 수 있다. 예를 들면, 적응형 샘플링 모듈(1120)은 UV 아틀라스(1105)를 가진 메시를 수신할 수 있다. UV 아틀라스(1105)를 가진 메시의 각각의 정점은 UV 아틀라스에서 대응하는 포인트를 가지며, UV 아틀라스에서 대응하는 포인트의 위치는 UV 좌표에 의해 특정된다. UV 아틀라스에서, 대응하는 포인트는 3D 공간에서 정점의 3D 좌표(예컨대, (x, y, z))를 포함한 벡터 값을 가질 수 있다. 뿐만 아니라, UV 아틀라스(1105)를 가진 메시는 하나 이상의 속성 맵에서의 UV 좌표에 의해 특정된 위치에서 픽셀의 속성 값으로서 정점과 연관된 속성 값을 저장하는 하나 이상의 속성 맵을 포함한다. 예를 들어, 컬러 맵은 컬러 맵은 컬러 맵에서 UV 좌표에 의해 특정된 위치에 픽셀의 컬러로서 정점의 컬러를 저장할 수 있다.
적응형 샘플링 모듈(1120)은 UV 아틀라스(1105)를 가진 메시에 대해 적응형 샘플링 기법을 이용하며, 예를 들어, 샘플링된 기하학 맵(또한 샘플링된 UV 맵 또는 샘플링된 UV 아틀라스로 불리우는), 하나 이상의 샘플링된 속성 맵(또한 몇몇 예에서 텍스처 맵으로 불리우는) 등을 포함할 수 있는 적응적으로 샘플링된 맵(1125)(또한 몇몇 예에서 적응적으로 샘플링된 아틀라스로 불리우는)을 출력할 수 있다. 몇몇 예에서, 적응적으로 샘플링된 맵(1125)은 샘플링된 점유 맵을 포함한다.
본 개시의 양상에 따르면, 동일한 샘플링 레이트 구성은 적응적으로 샘플링된 맵을 생성하기 위해 기하학 맵, 속성 맵, 점유 맵 등과 같은, 다양한 맵에 적용될 수 있다. 몇몇 예에서, 적응형 샘플링 모듈(1120)은 UV 아틀라스에 대해 샘플링함으로써(예컨대, UV 아틀라스 상에서의 샘플링 위치에 기초하여) 적응적으로 샘플링된 맵(1125)을 생성할 수 있다. 적응형 샘플링 모듈(1120)은 UV 아틀라스 상에서 샘플링 위치를 결정하며, 그 후 UV 아틀라스 상에서의 샘플링 위치에 따라 적응적으로 샘플링된 맵을 생성한다. 예를 들어, UV 아틀라스 상에서의 샘플링 위치가 예를 들어 샘플링 레이트에 따라 결정된 후, 적응형 샘플링 모듈(1120)은 샘플링된 맵(1125)의 각각에서 샘플링된 포인트의 위치를 결정하며, 그 후 샘플링된 맵(1125)에서 각각의 샘플링된 포인트의 값을 결정한다.
예에서, UV 아틀라스 상에서의 샘플링 위치가 메시의 정점에 의해 정의된 다각형 안에 있을 때, 샘플링 위치가 점유되며 그 후 샘플링 위치에 대응하는 샘플링된 점유 맵에서의 샘플링된 포인트는 점유된 것으로 설정된다(예컨대, 샘플링된 점유 맵에서의 샘플링된 포인트의 값은 "1"이다). 그러나, 샘플링 위치가 메시 정점에 의해 정의된 임의의 다각형 안에 없을 때, 샘플링 위치는 비점유되며, 그 후 샘플링 위치에 대응하는 샘플링된 점유 맵에서의 샘플링된 포인트는 비점유인 것으로 설정된다(예컨대, 샘플링된 점유 맵에서의 샘플링된 포인트의 값은 "0"이다).
UV 아틀라스 상에서의 각각의 점유된 샘플링 위치에 대해, 적응형 샘플링 모듈(1120)은 점유된 샘플링 위치에서 3D (기하학) 좌표를 결정하며, 샘플링된 기하학 맵(또한 샘플링된 UV 아틀라스로 불리우는)에서 대응하는 샘플링된 포인트의 벡터 값이도록 결정된 3D 좌표를 할당할 수 있다. 유사하게, 적응형 샘플링 모듈(1120)은 점유된 샘플링 위치에서 속성 값(예컨대, 컬러, 법선 등)을 결정하며 샘플링된 속성 맵에서 대응하는 샘플링된 포인트의 속성 값이도록 결정된 속성 값을 할당한다. 몇몇 예에서, 적응형 샘플링 모듈(1120)은 연관된 다각형 정점으로부터 보간함으로써 점유된 샘플링 위치의 3D 좌표 및 속성을 결정할 수 있다.
예에서, 메시는 삼각형에 의해 형성된다. 샘플링 위치는 메시의 3개의 정점에 의해 정의된 삼각형 안에 있으며, 따라서, 샘플링 위치는 점유된 샘플링 위치이다. 적응형 샘플링 모듈(1120)은 예를 들어, 삼각형의 3개의 정점의 3D 좌표의 가중 평균 3D 좌표에 따라 점유된 샘플링 위치에서 3D (기하학) 좌표를 결정할 수 있다. 적응형 샘플링 모듈(1120)은 샘플링된 기하학 맵에서 대응하는 샘플링된 포인트의 벡터 값이도록 가중 평균 3D 좌표를 할당할 수 있다. 유사하게, 적응형 샘플링 모듈(1120)은 예를 들어, 삼각형의 3개의 정점의 속성의 가중 평균 속성 값(예컨대, 가중 평균 컬러, 가중 평균 법선 등)에 따라 점유된 샘플링 위치에서 속성 값을 결정할 수 있다. 적응형 샘플링 모듈(1120)은 샘플링된 속성 맵에서 대응하는 샘플링된 포인트의 속성 값이도록 가중 평균 속성 값을 할당할 수 있다.
몇몇 예에서, 샘플링 레이트(SR)는 전체 2D 아틀라스(예컨대, 기하학 맵, 속성 맵 등)에걸쳐 일관적일 수 있지만, u 축 및 v 축에 대한 샘플링 레이트는 상이할 수 있다. u 축 및 v 축에서 상이한 샘플링 레이트를 사용하는 것은 이방성 재메싱을 가능하게 한다. 도 12 및 도 13을 참조하여 설명되는 바와 같이, 몇몇 예에서, 2D 아틀라스는 슬라이스 또는 타일 또는 패치와 같은, 다수의 영역으로 분할될 수 있으며, 다수의 영역은 각각의 샘플링 레이트를 가질 수 있다. 예를 들어, 메시는 연결된 삼각형으로 형성되고, 메시는 여러 패치로 분할될 수 있으며, 각각의 패치는 전체 매시의 서브세트를 포함한다. 상이한 샘플링 레이트는 예를 들어 적응형 샘플링 모듈(1120)에 의해 각각의 패치에 적용될 수 있다.
본 개시의 양상에 따르면, 메시 인코더(1110)와 같은, 메시 인코더는 2D 아틀라스에서 각각의 영역에 대한 적절한 샘플링 레이트를 결정할 수 있다.
몇몇 예에서, 적응형 샘플링 모듈(1120)은 2D 아틀라스(예컨대, 기하학 맵, 속성 맵 등)에 걸친 샘플링 레이트 분포를 결정할 수 있다. 예를 들어, 적응형 샘플링 모듈(1120)은 영역의 특성에 따라 영역에 대한 특정 샘플링 레이트(SR)를 결정할 수 있다. 예에서, 특정 샘플링 레이트는 영역의 주파수 스펙트럼에 기초하여 결정된다. 예를 들어, 풍부-텍스처 영역(또는 전체 2D 아틀라스)은 텍스처 속성 값에서 높은 공간 주파수 구성요소를 가질 수 있고, 적응형 샘플링 모듈(1120)은 높은 공간 주파수 구성요소에 적절한 샘플링 레이트(예컨대, 더 낮은 샘플링 레이트, 더 낮은 샘플링 스텝)를 풍부-텍스처 영역에 할당할 수 있다. 또 다른 예에서, 높은 활동을 가진 영역(또는 전체 2D 아틀라스)은 좌표(예컨대, 3D 좌표, UV 좌표)에 높은 공간 주파수 구성요소를 포함할 수 있고, 적응형 샘플링 모듈(1120)은 높은 활동에 적절한 샘플링 레이트(예컨대, 더 낮은 샘플링 레이트, 더 낮은 샘플링 스텝)를 영역에 할당할 수 있다. 또 다른 예에서, 평활한 영역(또는 전체 2D 아틀라스)은 텍스처 속성 값에서 높은 공간 주파수 구성요소가 부족할 수 있고, 적응형 샘플링 모듈(1120)은 평활한 영역에 적절한 샘플링 레이트(예컨대, 더 높은 샘플링 레이트, 더 높은 샘플링 스텝)를 할당할 수 있다. 또 다른 예에서, 낮은 활동을 가진 영역(또는 전체 2D 아틀라스)은 좌표(예컨대, 3D 좌표, UV 좌표)에서 높은 공간 주파수 구성요소가 부족할 수 있고, 적응형 샘플링 모듈(1120)은 영역에서 낮은 활동에 적절한 샘플링 레이트(예컨대, 더 높은 샘플링 레이트, 더 낮은 샘플링 스텝)를 할당할 수 있다.
본 개시의 양상에 따르면, 샘플링 레이트는 오버샘플링 율(oversampling ratio; OR) 파라미터에 의해 표현될 수 있다. OR 파라미터는 영역에서 샘플링 포인트의 수 및 영역에서 원래 정점의 수 간의 비로서 정의된다. 영역에 대한 OR 파라미터가 1보다 클 때, OR 파라미터는 영역이 원래 정점의 수와 비교하여 오버샘플링됨을 나타내고; 영역의 OR 파라미터가 1보다 작을 때, OR 파라미터는 영역이 원래 정점의 수와 비교하여 언더-샘플링됨을 나타낸다. 예를 들어, 메시의 영역은 1000개의 정점으로 이루어지며, 특정 샘플링 레이트(SR)가 영역에서 이용될 때, 3000개의 샘플링 포인트가 획득된다. 그 후, 영역의 OR 파라미터는 SR을 가진 3과 같다, 즉 OR(SR) = 3.
몇몇 실시예에서, 적응형 샘플링 모듈(1120)은 미리 정의된 타깃 OR 파라미터에 가장 가까운 OR 파라미터를 달성하기 위해 영역에 대한 최종 샘플링 레이트를 결정하기 위해 알고리즘을 사용할 수 있다. 예를 들어, 특정 영역 i(예컨대, i는 특정 영역을 식별하기 위한 영역 인덱스이다)에 대해, 타깃 OR(TORi로 표시됨) 파라미터는 특정 영역 i에 대해 정의된다. 적응형 샘플링 모듈(1120)은 식(1)으로 표현된 바와 같은, 타깃 OR(TORi) 파라미터에 가장 가까운 OR 파라미터를 생성하는 샘플링 레이트로서 특정 영역 i의 최종 샘플링 레이트(SRi로 표시됨)를 결정할 수 있다.
SRi = argminSR |OR(SR) - TORi|
식(1)
예에서, 적응형 샘플링 모듈(1120)은 다수의 샘플링 레이트를 시도하며 타깃 OR 파라미터에 가장 가까운 OR 파라미터를 생성하는 다수의 샘플링 레이트 중 하나를 선택할 수 있다. 또 다른 예에서, 적응형 샘플링 모듈(1120)은 타깃 OR 파라미터에 가장 가까운 OR 파라미터를 생성하는 최종 샘플링 레이트를 결정하도록 샘플링 레이트에 대한 탐색 범위에서의 탐색을 수행하기 위해, 이진 탐색 알고리즘 등과 같은, 알고리즘을 사용할 수 있다.
몇몇 실시예에서, 적응형 샘플링 모듈(1120)은 미리 정의된 임계치(Th0으로 표시됨)보다 작은 최대 OR 파라미터를 달성할 수 있는 특정 영역 i(예컨대, i는 특정 영역을 식별하기 위한 영역 인덱스이다)에 대한 최종 샘플링 레이트를 결정하기 위해 알고리즘을 사용할 수 있다. 몇몇 예에서, 알고리즘은 비교적 작은(예컨대, 1:1) 기본 샘플링 레이트(BSR)로부터 시작하며, 최종 샘플링 레이트를 결정하기 위해 반복 사이클을 가진 반복 프로세스를 사용한다. 현재 BSR을 테스트하기 위한 각각의 반복 사이클에서, 영역에 대한 OR 파라미터가 결정된다. OR 파라미터가 임계치(Th0)보다 작을 때, 현재 BSR은 특정 영역에 대한 최종 샘플링 레이트이며; OR 파라미터가 임계치(Th0)보다 클 때, 새로운 BSR이 현재 BSR에 기초하여 산출된다. 예를 들어, 스케일링 인자(F0)(예컨대, 1보다 큰)는 새로운 BSR을 결정하기 위해 현재 BSR에 적용된다. 그 후, 새로운 BSR은 현재 BSR이 되며, 반복 프로세스는 다음 반복 사이클로 간다. 몇몇 예에서, 영역(i)의 최종 샘플링 레이트를 결정하기 위한 프로세스는 식(2)으로서 결정된다:
여기에서 SRi는 최종 샘플링 레이트이고, Th0은 OR 파라미터에 대한 임계치이며, F0 >1은 BSR을 증가시키기 위한 스케일링 인자이다. 따라서, BSR을 가진 OR 파라미터가 임계치(Th0)보다 작을 때, 현재 영역은 최종 샘플링 레이트로서 BSR을 사용할 것이며, 그렇지 않다면 최종 샘플링 레이트는 스케일링 인자(F0)에 의해 변경된다. 프로세스는 OR(SRi)이 임계치(Th0)보다 작을 때까지 반복적으로 행해질 수 있다.
몇몇 실시예에서, 적응형 샘플링 모듈(1120)은 제1 미리 정의된 임계치(Th0으로 표시됨)보다 크고 제2 미리 정의된 임계치(Th1로 표시됨)보다 큰 것과 같은, 특정 범위에서의 OR 파라미터를 달성할 수 있는 특정 영역 i(예컨대, i는 특정 영역을 식별하기 위한 영역 인덱스이다)에 대한 최종 샘플링 레이트(SRi)를 결정하기 위해 알고리즘을 사용할 수 있다. 몇몇 예에서, 알고리즘은 임의의 기본 샘플링 레이트(BSR)로부터 시작하며, 최종 샘플링 레이트를 결정하기 위해 반복 사이클을 가진 반복 프로세스를 사용한다. 현재 BSR을 테스트하기 위해 각각의 반복 사이클에서, 특정 영역에 대한 OR 파라미터가 결정된다. OR 파라미터가 제1 미리 정의된 임계치(Th0)보다 작고 제2 미리 정의된 임계치(Th1)보다 큰 것과 같은, 특정 범위에 있을 때, 현재 BSR은 특정 영역에 대한 최종 샘플링 레이트이다. 그러나, OR 파라미터가 제1 미리 정의된 임계치(Th0)보다 클 때, 제1 스케일링 인자(F0)(예컨대, 1보다 큰)가 새로운 BSR을 결정하기 위해 현재 BSR에 적용되고; OR 파라미터가 제2 미리 정의된 임계치(Th1)보다 작을 때, 제2 스케일링 인자(F1)(예컨대, 1보다 작은)가 새로운 BSR을 결정하기 위해 현재 BSR에 적용된다. 그 후, 새로운 BSR은 현재 BSS가 되며, 반복 프로세스는 다음 반복 사이클로 간다.
몇몇 예에서, 영역 i의 최종 샘플링 스텝을 결정하기 위한 프로세스는 식(3과 같이 결정된다:
여기에서 BSR은 기본 샘플링 레이트를 나타내고, Th0은 제1 미리 정의된 임계치를 나타내며 Th1은 제2 미리 정의된 임계치를 나타내고, F0 > 1은 BSR을 증가시키기 위한 제1 스케일링 인자를 나타내며, 0 < F1 < 1은 BSR을 감소시키기 위한 제2 스케일링 인자를 나타낸다.
스케일링 인자(F0 및 F1)는 각각의 영역에 대해 상이할 수 있다는 것이 주의된다. BSR을 가진 OR 파라미터가 임계치(예컨대, Th0 및 Th1)에 의해 정의된 특정 범위 내에 있을 때, 현재 영역은 최종 샘플링 레이트로서 BSR을 사용할 수 있다. BSR을 가진 OR 파라미터가 Th0 이상일 때, 최종 샘플링 레이트는 스케일링 인자(F0)에 의해 증가된다. BSR을 가진 OR 파라미터가 Th1 이하일 때, 최종 샘플링 레이트는 스케일링 인자(F1)에 의해 감소된다. 프로세스는 OR(SRi)가 Th0 및 Th1에 의해 정의된 범위에 있을 때까지 반복적으로 행해질 수 있다.
본 개시의 몇몇 양상에 따르면, 적응형 샘플링 모듈(1120)은 단일 맵에서 상이한 샘플링 레이트(또는 상이한 샘플링 스텝)를 가진 영역을 위치시킬 수 있다.
적응형 샘플링 레이트가 이용될 때, 샘플링된 맵에서 샘플링된 영역의 크기는 원래 UV 아틀라스와 비교하여, 또는 균일한 샘플링 레이트가 사용될 때의 경우와 비교하여 상이한 비만큼 변할 수 있다. 적응형 샘플링 모듈(1120)은 샘플링된 맵에서 상이한 샘플링 레이트를 갖고 샘플링된 영역을 위치시킬 수 있으며 샘플링된 영역을 서로 중첩하지 않게 유지하기 위해, 그에 따라 샘플링된 맵에서의 각각의 포인트는 특정 영역에 1 대 1 대응을 갖는다.
몇몇 예에서, 적응형 샘플링 모듈(1120)은 각각의 샘플링된 영역에 대한 바운딩 박스를 결정하며, 그 후 바운딩 박스에 따라 샘플링된 영역을 위치시킬 수 있다. 예에서, 원래 UV 아틀라스에서의 특정 영역에 대해, umin은 특정 영역에서 정점 모두의 최소 u 좌표이며, vmin은 특정 영역에서 정점 모두의 최소 v 좌표이다. 최소 u 좌표 및 최소 v 좌표에 기초하여, 적응형 샘플링 모듈(1120)은 특정 영역에 대응하는 샘플링된 영역에 대한 바운딩 박스를 결정할 수 있다. 예를 들어, 샘플링된 영역에 대한 바운딩 박스의 최상부-좌측 코너는 샘플링된 맵에서 (u0, v0)의 위치에 위치될 수 있고, 위치는 및 에 의해 산출될 수 있으며, 여기에서 SR은 동일한 샘플링 레이트가 u 방향 및 v 방향에서 사용될 특정 영역에 적용된 샘플링 레이트를 나타내고, [C]는 값 C보다 큰 최소 정수를 결정하는 천장 함수를 나타낸다.
몇몇 실시예에서, 적응형 샘플링 모듈(1120)은 특정한 순서를 갖고 샘플링된 영역을 1 대 1로 샘플링된 맵에 위치시킬 수 있다. 현재 샘플링된 영역을 위치시키기 위해, 적응형 샘플링 모듈(1120)은 먼저 위치 (u0, v0)(예컨대, 현재 샘플링된 영역에 대한 바운딩 박스의 최상부-좌측 코너)에 따라, 현재 샘플링된 영역을 위치시킬 수 있다. 적응형 샘플링 모듈(1120)이 현재 샘플링된 영역이 이미 위치된 샘플링된 영역과 중첩함을 검출할 때, 적응형 샘플링 모듈(1120)은 이전에 위치된 샘플링된 영역과 중첩하는 것을 피하도록 현재 샘플링된 영역을 위치시키기 위해 새로운 위치를 결정할 수 있다.
몇몇 예에서, 특정한 검색 윈도우 및/또는 기준이 정의될 수 있으며, 적응형 샘플링 모듈(1120)은 특정한 검색 윈도우 및/또는 기준에 따라 현재 샘플링된 영역을 위치시키기 위한 새로운 위치((un, vn)으로 표시됨)를 찾을 수 있다. 몇몇 예에서, 새로운 위치(un, vn) 및 원래 위치(u0, v0) 간의 오프셋(또한 UV 오프셋으로 불리우는)이 재구성을 위해 인코더 측에서 디코더 측으로 시그널링될 수 있다.
몇몇 실시예에서, 샘플링된 영역은 비-중첩일 뿐만 아니라 또한 영역 간에 특정한 양의 갭을 갖도록 위치된다. 예를 들어, 각각의 샘플링된 영역은 다른 샘플링된 영역에 최소 10-픽셀 거리를 갖도록 요구될 수 있다. 샘플링된 영역 간의 간격은 다양한 기법에 의해 정의될 수 있다는 것이 주의된다. 몇몇 예에서, 샘플링된 영역 간의 최소 거리는 최소 수평 거리(l0), 및 최소 수직 거리(l1)에 의해 정의될 수 있다.
본 개시의 몇몇 양상은 또한 메시 압축을 위한 적응형 샘플링에 대한 시그널링 기법을 제공한다.
몇몇 실시예에서, 메시의 상이한 영역의 샘플링 레이트는 메시의 정보를 운반하는 비트스트림으로 시그널링될 수 있다. 샘플링 레이트는 비트스트림에서 상이한 레벨로 시그널링될 수 있다는 것이 주의된다. 예에서, 샘플링 레이트는 메시 프레임의 시퀀스를 포함하는 전체 메시 시퀀스에 대한 시퀀스 헤더에서 시그널링될 수 있다. 또 다른 예에서, 샘플링 레이트는 메시 프레임의 그룹(화상 그룹(GOP)과 유사한 개념에 있는)에 대한 그룹 헤더에서 시그널링될 수 있다. 또 다른 예에서, 샘플링 레이트는 각각의 메시 프레임에 대한 프레임 헤더에서 시그널링될 수 있다. 또 다른 예에서, 메시 프레임에서의 슬라이스의 샘플링 레이트는 슬라이스의 슬라이스 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 타일에 대한 샘플링 레이트는 타일의 타일 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 패치에 대한 샘플링 레이트는 패치의 패치 헤더에서 시그널링된다.
구체적으로, 몇몇 실시예에서, 제어 플래그는 적응형 샘플링 방법이 비트스트림에서 상이한 레벨로 이용되는지 여부를 나타내기 위해 시그널링될 수 있다. 예에서, 제어 플래그는 전체 메시 시퀀스에 대한 시퀀스 헤더에서 시그널링된다. 또 다른 예에서, 제어 플래그는 메시 프레임의 그룹에 대한 그룹 헤더에서 시그널링된다. 또 다른 예에서, 제어 플래그는 각각의 메시 프레임의 프레임 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 슬라이스에 대한 제어 플래그는 슬라이스의 슬라이스 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 타일에 대한 제어 플래그는 타일의 타일 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 패치에 대한 제어 플래그는 패치의 패치 헤더에서 시그널링된다. 레벨에서의 제어 플래그가 참일 때, 적응형 샘플링이 상기 레벨에서 가능화되어, 적응형 샘플링 레이트가 이용될 수 있도록 한다. 레벨에서의 제어 플래그가 거짓일 때, 적응형 샘플링은 균일한 샘플링 레이트가 상기 레벨에서 이용되도록 블능화된다.
몇몇 예에서, 제어 플래그는 1비트를 포함하며, 다양한 기법에 의해 코딩될 수 있다. 예에서, 제어 플래그는 고정된 또는 업데이트된 확률을 갖고 엔트로피 코딩(예컨대, 산술 코딩 및 허프만 코딩)에 의해 코딩된다. 또 다른 예에서, 제어 플래그는 더 적은 복잡도를 가진 코딩 기법(바이패스 코딩으로 불리우는)에 의해 코딩된다.
몇몇 예에서, 기본 샘플링 레이트는 적응형 샘플링이 가능화되는지 여우에 관계없이 시그널링될 수 있다. 적응형 샘플링이 가능화될 때, 기본 샘플링 레이트는 예측기로서 사용될 수 있으며, 각각의 영역은 영역의 실제 샘플링 레이트를 나타내기 위해 기본 샘플링 레이트로부터의 차이를 시그널링할 수 있다. 적응형 샘플링이 불능화될 때, 기본 샘플링 레이트는 적절한 레벨의 전체 콘텐트에서 균일한 샘플링 레이트로서 사용될 수 있다.
기본 샘플링 레이트는 또한 비트스트림에서 상이한 레벨로 시그널링될 수 있다. 예에서, 기본 샘플링 레이트는 전체 메시 시퀀스에 대한 시퀀스 헤더에서 시그널링될 수 있다. 또 다른 예에서, 기본 샘플링 레이트는 메시 프레임의 그룹에 대한 그룹 헤더에서 시그널링될 수 있다. 또 다른 예에서, 기본 샘플링 레이트는 각각의 메시 프레임에 대한 프레임 헤더에서 시그널링될 수 있다. 또 다른 예에서, 메시 프레임에서 슬라이스의 기본 샘플링 레이트는 슬라이스의 슬라이스 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 타일에 대한 기본 샘플링 레이트는 타일의 타일 헤더에서 시그널링된다. 또 다른 예에서, 메시 프레임에서 패치에 대한 기본 샘플링 레이트는 패치의 패치 헤더에서 시그널링된다.
몇몇 예에서, 기본 샘플링 레이트는 고정-길이 또는 가변-길이 표현(예컨대, 고정 k-비트 표현 및 k-순서화 지수-골롬(Exp-Golomb) 표현)에 의해 이진화될 수 있으며, 각각의 비트는 고정된 또는 업데이트된 확률을 가진 엔트로피 코딩(예컨대, 산술 코딩 및 허프만 코딩)에 의해 코딩될 수 있거나 또는 보다 적은 복잡도를 가진 바이패스 코딩에 의해 코딩될 수 있다.
본 개시의 양상에 따르면, 적응형 샘플링이 가능화될 때, 메시 프레임에서의 영역의 샘플링 레이트는 적절히 시그널링된다. 몇몇 예에서, 전체 메시 프레임에서의 영역의 수는 시그널링될 수 있거나 또는 도출될 수 있다(예컨대, CTU 로우의 수, 타일의 수, 패치의 수 등으로서).
본 개시의 양상에 따르면, 영역의 샘플링 레이트는 예측 없이 시그널링될 수 있다. 예에서, 각각의 영역(또는 전체 2D 아틀라스)의 샘플링 레이트는 임의의 예측 없이 직접 시그널링될 수 있다. 또 다른 예에서, 각각의 영역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 인코더 및 디코더 둘 모두에 의해 알려진 샘플링 레이트의 사전-수립된 세트로부터 택하여질 수 있다. 특정한 샘플링 레이트의 시그널링은 사전-수립된 레이트 세트에서 특정한 샘플링 레이트의 인덱스를 시그널링함으로써 수행될 수 있다. 예를 들어, 샘플링 스텝의 사전-수립된 세트는 (매 2 픽셀, 매 4 픽셀, 매 8 픽셀 등). 인덱스 1은 매 2 픽셀의 샘플링 레이트(예컨대, 2:1)를 나타내기 위해 시그널링될 수 있고; 인덱스 2는 매 4 픽셀의 샘플링 레이트(예컨대, 4:1)를 나타내기 위해 시그널링될 수 있고; 인덱스 3은 매 8 픽셀의 샘플링 레이트(예컨대, 8:1)를 나타내기 위해 시그널링될 수 있다.
본 개시의 또 다른 양상에 따르면, 영역의 샘플링 레이트가 예측될 수 있다. 임의의 적절한 예측 기법이 사용될 수 있다는 것이 주의된다.
예에서, 메시 프레임의 각각의 영역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 사전-수립된 레이트 세트로부터 예측될 수 있다. 또 다른 예에서, 메시 프레임의 각각의 영역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 동일한 프레임의 다른 이미 코딩된 영역에서 이전 사용된 샘플링 레이트로부터 예측될 수 있다. 또 다른 예에서, 메시 프레임의 각각의 영역(또는 전체 2D 아틀라스)에 대한 샘플링 레이트는 다른 이미지 코딩된 메시 프레임에서 이전 사용된 샘플링 레이트로부터 예측될 수 있다.
본 개시의 또 다른 양상에 따르면, 각각의 영역(또는 전체 2D 아틀라스)의 샘플링 레이트는 예측 및 직접 시그널링 둘 모두가 허용되도록 하는 방식으로 결정될 수 있다. 예에서, 구문은 샘플링 레이트가 예측될지 또는 직접 시그널링될지를 나타내도록 구조화될 수 있다. 구문이 샘플링 레이트가 예측됨을 나타낼 때, 샘플링 레이트를 예측하기 위해 어떤 예측기를 사용할지가 예를 들어 또 다른 구문에 의해 추가로 시그널링된다. 구문이 샘플링 레이트가 직접 시그널링됨을 나타낼 때, 샘플링 레이트의 값은 예를 들어 또 다른 구문에 의해 시그널링된다.
몇몇 예에서, 샘플링 레이트가 예측에 의해 시그널링될 때, 예측 잔차가 시그널링될 수 있다. 예측 잔차는 고정-길이 또는 가변-길이 표현(예컨대, 고정 k-비트 표현 및 k-순서화 지수-골롬 표현)에 의해 이진화될 수 있으며, 각각의 비트는 고정된 확률 또는 업데이트된 확률을 갖고 엔트로피 코딩(예컨대, 산술 코딩 및 허프만 코딩)에 의해 코딩될 수 있거나 또는 더 낮은 복잡도를 갖고 바이패스 코딩에 의해 코딩될 수 있다. 예를 들어, 예측 잔차의 부호 비트는 바이패스 코딩에 의해 코딩될 수 있으며 예측 잔차의 절대 값은 업데이트된 확률을 갖고 엔트로피 코딩에 의해 코딩될 수 있다.
본 개시의 몇몇 양상에 따르면, 적응형 샘플링이 가능화될 때, 메시 프레임에서 각각의 영역의, UV 좌표의 오프셋(또한 UV 오프셋으로 불리우는), 즉 offsetu = uo-un 및 offsetv = vo-vn은 메시 프레임에서 운반하는 비트스트림에서 코딩될 있다. 몇몇 예에서, 전체 메시 프레임에서 영역의 수는 시그널링되거나 또는 도출될 수 있다(예컨대, CTU 로우의 수, 타일의 수, 패치의 수 등으로서).
본 개시의 양상에 따르면, 영역의 UV 오프셋은 예측 없이 시그널링될 수 있다. 예에서, 각각의 영역의 UV 오프셋은 임의의 예측 없이 직접 시그널링될 수 있다.
본 개시의 또 다른 양상에 따르면, 영역의 UV 오프셋이 예측될 수 있다. 임의의 적절한 예측 기법이 사용될 수 있다는 것이 주의된다. 예에서, 각각의 영역의 UV 오프셋은 사전-수립된 UV 오프셋 세트로부터 예측된다. 또 다른 예에서, 각각의 영역의 UV 오프셋은 동일한 메시 프레임의 다른 이미지 코딩된 영역에서 이전 사용된 UV 오프셋으로부터 예측된다. 또 다른 예에서, 각각의 영역의 UV 오프셋은 다른 이미 코딩된 메시 프레임에서 이전 사용된 UV 오프셋으로부터 예측된다.
본 개시의 또 다른 양상에 따르면, 각각의 영역의 UV 오프셋은 예측 및 직접 시그널링 둘 모두가 허용되도록 하는 방식으로 시그널링될 수 있다. 몇몇 예에서, 구문은 UV 오프셋이 예측될지 또는 직접 시그널링될지를 나타내도록 구조화될 수 있다. 구문이 UV 오프셋이 예측됨을 나타낼 때, UV 오프셋을 예측하기 위해 어떤 예측기를 사용할지가 또 다른 구문에 의해 추가로 시그널링된다. 구문이 UV 오프셋이 직접 시그널링됨을 나타낼 때, UV 오프셋의 값은 또 다른 구문에 의해 시그널링된다.
몇몇 예에서, UV 오프셋은 직접 시그널링되고, UV 오프셋의 값은 고정-길이 또는 가변-길이 표현(예컨대, 고정 k-비트 표현 및 k-순서화 지수-골롬 표현)에 의해 이진화될 수 있으며, 각각의 비트는 고정된 확률 또는 업데이트된 확률을 가진 엔트로피 코딩(예컨대, 산술 코딩 및 허프만 코딩)에 의해 인코딩될 수 있거나 또는 보다 적은 복잡도를 가진 바이패스 코딩에 의해 코딩될 수 있다. 예에서, UV 오프셋의 부호 비트는 바이패스 코딩에 의해 코딩될 수 있으며 UV 오프셋의 절대 값은 업데이트된 확률을 가진 엔트로피 코딩에 의해 코딩될 수 있다.
몇몇 예에서, UV 오프셋의 부호 비트는 샘플링 레이트의 값으로부터 추론되거나 또는 예측될 수 있다. 예를 들어, 영역의 샘플링 레이트가 기본 샘플링 레이트보다 높을 때, UV 오프셋의 부호 비트는 양으로 추론되거나 또는 예측될 수 있으며; 영역의 샘플링 레이트가 기본 샘플링 레이트보다 작을 때, UV 오프셋의 부호 비트는 음으로 추론되거나 또는 예측될 수 있다. 영역의 샘플링 레이트가 기본 샘플링 레이트와 같다면, UV 오프셋은 0으로 추론되거나 또는 예측될 수 있다.
몇몇 예에서, UV 오프셋이 예측될 수 있고, 예측 잔차가 시그널링될 수 있다. 예를 들어, 예측 잔차는 고정-길이 또는 가변-길이 표현(예컨대, 고정 k-비트 표현 및 k-순서화 지수-골롬 표현)에 의해 이진화되며, 각각의 비트는 고정된 확률 또는 업데이트된 확률을 가진 엔트로피 코딩(예컨대, 산술 코딩 및 허프만 코딩)에 의해 코딩될 수 있거나 또는 보다 적은 복잡도를 가진 바이패스 코딩에 의해 코딩될 수 있다. 예에서, 예측 잔차의 부호 비트는 바이패스 코딩에 의해 코딩될 수 있으며 예측 잔차의 절대 값은 업데이트된 확률을 가진 엔트로피 코딩에 의해 코딩될 수 있다.
본 개시의 몇몇 양상은 또한 디코더 측에서의 사용을 위한 메시 재구성 기법을 제공한다. 메시 재구성 기법은 메시 재구성 모듈(1190)과 같은, 메시 재구성 모듈에서 사용될 수 있다.
몇몇 예에서, 디코딩된 맵(1165)은 디코딩된 점유을 포함하며, 메시 재구성 모듈(1190)은 디코딩된 점유 맵, 디코딩된 기하학 맵 및 하나 이상의 디코딩된 속성 맵을 포함하는 디코딩된 맵(1165)에 따라 메시 프레임을 재구성할 수 있다. 몇몇 예에서, 디코딩된 점유 맵은 디코딩된 기하학 맵 및 디코딩된 속성 맵과 동일한 샘플링 레이트를 사용한 적응형 샘플링의 결과일 수 있는 샘플링된 점유 맵에 대응하며, 따라서 디코딩된 점유 맵은 샘플링된 영역을 포함한다.
몇몇 예에서, 디코딩된 맵(1165)은 점유 맵을 포함하지 않고, 비트스트림(1145)은 예를 들어, 보조 데이터 인코더(1140)에 의해 인코딩된 보조 데이터로서, 각각의 영역의 경계 정점을 식별하는 정보를 포함한다. 보조 데이터 디코더(1170)는 영역의 경계 정점을 식별하는 정보를 디코딩할 수 있다. 메시 재구성 모듈(1190)은 영역의 경계 정점에 기초하여 추론된 점유 맵에 대한 영역을 추론할 수 있다. 몇몇 예에서, 추론된 점유 맵은 적응형 샘플링을 이용하여 프로세싱되지 않았다는 것이 주의된다. 메시 재구성 모듈(1190)은 추론된 점유 맵 및 디코딩된 기하학 맵 및 하나 이상의 디코딩된 속성 맵을 포함하는 디코딩된 맵(1165)에 따라 메시 프레임을 재구성할 수 있다.
본 개시의 양상에 따르면, 메시 재구성 모듈(1190)은 메시 프레임에서 정점에 대한 UV 좌표를 결정하며 디코딩된 맵(1165) 및 디코딩된 보조 데이터(예컨대, 샘플링 레이트, UV 오프셋, 경계 정점을 식별하는 정보 등)에 기초하여 메시 프레임에서 정점의 속성 값 및 3D 좌표를 결정한다.
몇몇 실시예에서 영역에서 정점의 UV 좌표를 결정하기 위해 영역의 샘플링 레이트(SR)가 비트스트림(1145)으로부터 디코딩된 구문 값에 따라 결정된다. 몇몇 예에서, 영역의 (offsetu, offsetv)와 같은, UV 오프셋이 비트스트림(1145)으로부터 디코딩된 구문 값에 따라 결정된다.
예에서, 디코딩된 맵(1165)은 디코딩된 점유 맵을 포함한다. 메시 재구성 모듈(1190)은 디코딩된 점유 맵의 샘플링된 영역에서 각각의 점유된 포인트에 대응하는 정점의 UV 좌표를 결정한다. 예를 들어, 샘플링된 영역에서 좌표 (ui, vi)를 가진 각각의 점유된 포인트에 대해, 메시 재구성 모듈(1190)은 식(4) 및 식(5)에 따라 점유된 포인트에 대응하는 정점의 UV 좌표 (Ui, Vi)를 결정할 수 있다:
Ui = (ui + offsetu) × SR
식(4)
Vi = (vi + offsetv) × SR
식(5)
또 다른 예에서, 디코딩된 맵(1165)은 디코딩된 점유 맵을 포함하지 않는다. 메시 재구성 모듈(1190)은 영역의 경계 정점에 따라 추론된 점유 맵에서 추론된 영역을 결정할 수 있다. 추론된 영역에서 점유된 포인트에 대응하는 정점의 UV 좌표는 추론된 점유 맵의 영역에서 점유된 포인트의 위치에 의해 직접 추론될 수 있다. 예를 들어, 추론된 점유 맵에서의 점유된 포인트는 특정 UV 좌표(Us, Vs)에 의해 정의된 위치를 가지며, 특정 UV 좌표(Us, Vs)는 메시 프레임에서 대응 정점의 UV 좌표이다.
몇몇 실시예에서, 점유 맵(예컨대, 디코딩된 점유 맵, 추론된 점유 맵) 상에서의 각각의 점유된 포인트에 대해, 메시 재구성 모듈(1190)은 메시 프레임 상에서 정점을 복구할 수 있으며, 디코딩된 기하학 맵 및 디코딩된 속성 맵에서의 대응하는 위치에 따라 대응하는 기하학 값(예컨대, 3D 좌표) 및 속성 값을 결정할 수 있다.
몇몇 실시예에서, 영역에서의 정점에 대한 기하학 및 속성 맵에서 대응하는 위치를 도출하기 위해, 영역의 샘플링 레이트(SR)는 비트스트림(1145)으로부터 디코딩된 구문 값에 따라 결정된다. 몇몇 예에서, 영역의 (offsetu, offsetv)과 같은, UV 오프셋은 비트스트림(1145)으로부터 디코딩된 구문 값에 따라 결정된다.
예에서, 디코딩된 맵(1165)은 디코딩된 점유 맵을 포함한다. 디코딩된 점유 맵의 샘플링된 영역에서 좌표(ui, vi)를 가진 각각의 점유된 포인트에 대해, 디코딩된 기하학 맵 및 디코딩된 속성 맵에서의 대응 위치는 (ui, vi)로부터 직접 도출될 수 있다. 예를 들어, 샘플링된 점유 맵을 획득하기 위해 점유 맵에 적용된 샘플링 레이트는 기하학 맵(샘플링된 기하학 맵을 획득하기 위해) 및 속성 맵(샘플링된 속성 맵을 획득하기 위해)에 적용된 샘플링 레이트와 일치한다. 디코딩된 점유 맵은 샘플링된 점유 맵에 대응할 수 있고, 디코딩된 기하학 맵은 샘플링된 기하학 맵에 대응하며, 디코딩된 속성 맵은 샘플링된 속성 맵에 대응한다. 따라서, 디코딩된 점유 맵에서의 점유된 포인트는 디코딩된 기하학 및 디코딩된 속성 맵에서 동일한 좌표를 가진 대응 포인트를 가질 수 있다.
또 다른 예에서, 디코딩된 맵(1165)은 디코딩되 점유 맵을 포함하지 않는다. 메시 재구성 모듈(1190)은 영역의 경계 정점에 따라 추론된 점유 맵에서 추론된 영역을 결정할 수 있다. 추론된 영역에서 좌표 (Ui, Vi)를 가진 각각의 점유된 포인트에 대해, 기하학 맵 및 속성 맵에서의 대응 위치는 식(6) 및 식(7)로부터 도출될 수 있다:
몇몇 실시예에서, 메시 재구성 모듈(1190)은 점유된 위치로부터 추론함으로써 정점 간에 연결성 정보를 추론할 수 있다. 몇몇 실시예에서, 연결성 정보는 비트스트림(1145)에서 명시적으로 시그널링될 수 있다.
도 14는 본 개시의 실시예에 따른 프로세스(1400)를 개괄한 흐름도를 도시한다. 프로세스(1400)는 메시에 대한 인코딩 프로세스 동안 사용될 수 있다. 다양한 실시예에서, 프로세서(1400)는 프로세싱 회로부에 의해 실행된다. 몇몇 실시예에서, 프로세스(1400)는 소프트웨어 지시들로 구현되며, 따라서 프로세싱 회로부가 소프트웨어 지시를 실행할 때, 프로세싱 회로부는 프로세스(1400)를 수행한다. 프로세스는 (S1401)에서 시작하고 (S1410)으로 나아간다.
(S1410)에서, 오브젝트의 표면을 표현한 다각형을 가진 메시 프레임에 대한 데이터 구조가 수신된다. 메시 프레임에 대한 데이터 구조는 UV 아틀라스에서의 UV 좌표에 메시 프레임의 정점을 연관시키는 UV 아틀라스를 포함한다.
(S1420)에서, 메시 프레임의 영역에 대한 각각의 샘플링 레이트는 메시 프레임의 영역의 각각의 특성에 따라 결정된다.
(S1430)에서, 메시 프레임의 영역에 대한 각각의 샘플링 레이트는 UV 아틀라스 상에서 샘플링 위치를 결정하기 위해 UV 아틀라스 상에서 이용된다.
(S1440)에서, 메시 프레임에 대한 하나 이상의 샘플링된 2-차원(2D) 맵은 UV 아틀라스 상에서의 샘플링 위치에 따라 형성된다.
(S1450)에서, 하나 이상의 샘플링된 2D 맵은 비트스트림으로 인코딩된다.
메시 프레임의 영역에 대한 각각의 샘플링 레이트를 결정하기 위해, 몇몇 예에서, 메시 프레임의 제1 영역에 대한 제1 샘플링 레이트는 제1 영역에서 샘플링 위치의 제1 수를 제한하는 요건에 따라 결정된다. 예에서, 제1 샘플링 레이트는 타깃 값에 가장 가까운 오버샘플링 율(OR)을 달성하기 위해 결정된다. OR는 샘플링 위치의 제1 수 대 원래 메시 프레임의 제1 영역에서의 정점의 수 간의 비이다.
또 다른 예에서, 제1 샘플링 레이트는 비교적 작도록 초기화되며, 오버샘플링 율(OR)이 제1 임계치보다 작을 때까지 조정된다. OR는 샘플링 위치의 제1 수 대 원래 메시 프레임의 제1 영역에서의 정점의 수 간의 비이다.
또 다른 예에서, 제1 샘플링 레이트는 오버샘플링 율(OR)이 제1 임계치보다 작고 제2 임계치보다 클 때까지 조정된다. OR는 샘플링 위치의 제1 수 대 원래 메시 프레임의 제1 영역에서의 정점의 수 간의 비이다.
몇몇 예에서, 하나 이상의 샘플링된 2D 맵의 샘플링된 2D 맵은 UV 아틀라스 상에서의 샘플링 위치에 대응하는 샘플링된 포인트를 가진 샘플링된 영역을 포함한다. 예에서, 샘플링 위치가 다각형에 있을 때, 샘플링 위치는 점유된 것으로 결정된다. 따라서, 샘플링 위치에 대응하는 샘플링된 2D 맵에서의 샘플링된 포인트의 속성은 다각형의 정점의 속성에 따라 결정된다.
몇몇 예에서, 하나 이상의 샘플링된 2D 맵을 형성하기 위해, 메시의 영역에 대응하는 샘플링된 영역은 메시의 영역의 각각의 샘플링 레이트에 기초하여 결정될 수 있다. 그 후, 샘플링 영역은 샘플링된 맵을 형성하기 위해 비-중첩 구성에 위치된다. 예에서, 샘플링된 영역은 하나하나씩 위치된다. 예에서, 샘플링된 영역의 바운딩 박스가 결정되며, 샘플링된 영역은 다른 이미 위치된 샘플링된 영역과 중첩하기 위해 바운딩 박스의 하나 이상의 코너를 피하도록 위치된다.
예를 들어, 비-중첩 구성으로 샘플링 영역을 위치시키기 위해, 샘플링된 영역의 서브세트가 비-중첩 구성으로 위치된 후, 현재 샘플링된 영역에 대해, 초기 배치 위치는 현재 샘플링된 영역의 샘플링 레이트에 따라 결정된다. 그 후, 초기 배치 위치에서의 현재 샘플링된 영역이 샘플링된 영역의 서브세트와 중첩할지가 결정된다.
몇몇 예에서, 초기 배치 위치로의 오프셋이 초기 배치 위치에서의 현재 샘플링된 영역이 샘플링된 영역의 서브세트와 중첩하는 것에 응답하여 결정된다. 오프셋은 현재 샘플링된 영역이 샘플링된 영역의 서브세트와 중첩하지 않는 것을 허용한다.
몇몇 예에서, 비-중첩 구성은 샘플링된 영역 간에 최소 거리 요건을 포함한다.
몇몇 실시예에서, 영역과 각각 연관된 샘플링 레이트는 다양한 기법에 의해 인코딩된다. 예에서, 제1 영역에 대한 제1 샘플링 레이트의 값은 비트스트림으로 직접 인코딩된다. 또 다른 예에서, 제1 인덱스는 비트스트림으로 인코딩되며 제1 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타낸다. 또 다른 예에서, 샘플링 레이트의 사전-수립된 세트로부터 제1 샘플링 레이트를 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다. 또 다른 예에서, 메시 프레임의 인코딩된 영역에 대한 이전 사용된 샘플링 레이트로부터 제1 샘플링 레이트를 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다. 또 다른 예에서, 메시 프레임 이전에 인코딩된 또 다른 메시에서 인코딩된 영역에 대한 이전 사용된 샘플링 레이트로부터 제1 샘플링 레이트를 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다.
몇몇 실시예에서, 인코더 측은 제1 영역과 연관된 제1 샘플링 레이트를 시그널링하기 위해 또는 제1 샘플링 레이트를 예측하기 위한 판단을 하며, 판단을 표시한 제1 구문 값을 비트스트림으로 인코딩할 수 있다. 예에서, 판단이 제1 샘플링 레이트를 시그널링한다는 것에 응답하여, 제1 샘플링 레이트의 값은 직접 비트스트림으로 인코딩된다. 또 다른 예에서, 판단이 제1 샘플링 레이트를 시그널링한다는 것에 응답하여, 인덱스가 비트스트림으로 인코딩되며, 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타낸다.
몇몇 예에서, 판단이 제1 샘플링 레이트를 예측한다는 것에 응답하여, 제2 구문이 비트스트림으로 인코딩된다. 제2 구문은 제1 샘플링 레이트를 예측하기 위해 사용할 예측기를 나타낸다. 뿐만 아니라, 예에서, 예측 잔차가 비트스트림으로 인코딩된다. 예측 잔차는 제1 샘플링 레이트와 예측기의 샘플링 레이트 간의 차이다.
몇몇 예에서, 기본 샘플링 레이트가 비트스트림으로 인코딩된다. 기본 샘플링 레이트는 임의의 적절한 레벨에서, 적응형 샘플링이 사용되는지에 관계없이 인코딩될 수 있다. 기본 샘플링 레이트는 예에서 예측기로서 사용될 수 있다.
몇몇 예에서, 제어 플래그는 메시 프레임에 대한 적응형 2D 아틀라스 샘플링의 가능 또는 불능을나타내기 위해 인코딩된다.
몇몇 예에서, 메시 프레임의 제1 영역과 연관된 제1 UV 오프셋이 결정된다. 제1 UV 오프셋은 다른 샘플링된 영역과의 중첩을 피하기 위해 제1 영역에 대응하는 제1 샘플링 영역에 적용된다. 하나 이상의 구문이 비트스트림으로 인코딩될 수 있고, 하나 이상의 구문은 제1 UV 오프셋을 나타낼 수 있다. 예에서, 제1 UV 오프셋의 값을 가진 구문은 비트스트림으로 직접 인코딩된다. 또 다른 예에서, UV 오프셋의 사전-수립된 세트에 기초하여 제1 UV 오프셋을 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다. 또 다른 예에서, 메시 프레임의 인코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 제1 UV 오프셋을 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다. 또 다른 예에서, 메시 프레임 이전에 인코딩된 또 다른 메시 프레임에서 인코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 제1 UV 오프셋을 예측하기 위한 예측기를 나타내는 구문이 비트스트림으로 인코딩된다.
몇몇 예에서, 비트스트림으로 제1 UV 오프셋을 예측하기 위한 예측기를 나타내는 구문은 비트스트림으로 인코딩되며 예측 잔차가 비트스트림으로 인코딩되고, 예측 잔차는 제1 UV 오프셋과 예측기의 UV 오프셋 간의 차이다.
그 후, 프로세스는 (S1499)로 진행하며 종료된다.
프로세스(1400)는 적절하게 적응될 수 있다. 프로세스(1400)에서의 단계(들)는 수정되고 및/또는 생략될 수 있다. 부가적인 단계(들)가 부가될 수 있다. 구현예의 임의의 적절한 순서가 사용될 수 있다.
도 15는 본 개시의 실시예에 따른 프로세스(1500)를 개괄한 흐름도를 도시한다. 프로세스(1500)는 메시에 대한 디코딩 프로세스 동안 사용될 수 있다. 다양한 실시예에서, 프로세스(1500)는 프로세싱 회로부에 의해 실행된다. 몇몇 실시예에서, 프로세스(1500)는 소프트웨어 지시에 구현되며, 따라서 프로세싱 회로부가 소프트웨어 지시를 실행할 때, 프로세싱 회로부는 프로세스(1500)를 수행한다. 프로세스는 (S1501)에서 시작하며 (S1510)으로 나아간다.
(S1510)에서, 2D에서의 복수의 맵은 메시 프레임을 운반하는 비트스트림으로부터 디코딩된다. 메시 프레임은 다각형을 가진 오브젝트의 표면을 표현하며, 2D에서의 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 적어도 디코딩된 기하학 맵 및 디코딩된 속성 맵을 포함한다.
(S1520)에서, 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트가 비트스트림에서 시그널링된 구문에 따라 결정된다. 제1 샘플링 레이트는 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제1 영역에 적용되며, 제2 샘플링 레이트는 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제2 영역에 적용된다. 제1 샘플링 레이트는 제2 샘플링 레이트와 상이하다.
(S1530)에서, 복수의 맵에 기초하여, 적어도 메시 프레임의 제1 정점이 제1 샘플링 레이트에 따라 재구성되며, 메시 프레임의 제2 정점이 제2 샘플링 레이트에 따라 재구성된다.
몇몇 예에서, 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 디코딩된 점유 맵을 포함한다. 제1 샘플링 레이트에 따라 적어도 제1 정점을 재구성하기 위해, 메시 프레임의 제1 영역에 대응하는 디코딩된 점유 맵의 제1 샘플링 영역에서의 점유된 포인트의 초기 UV 좌표가 결정되며, 점유된 포인트는 제1 정점에 대응한다. 그 후, 제1 정점에 대한 복구된 UV 좌표가 초기 UV 좌표 및 제1 샘플링 레이트에 기초하여 결정된다. 예에서, 제1 샘플링 영역의 제1 UV 오프셋은 비트스트림으로부터의 구문에 따라 결정된다. 제1 정점의 복구된 UV 좌표는 초기 UV 좌표, 제1 샘플링 레이트 및 제1 UV 오프셋에 기초하여 결정된다. 뿐만 아니라, 예에서, 제1 정점에 대한 복구된 3D 좌표는 초기 UV 좌표에서 디코딩된 기하학 맵에서의 픽셀에 따라 결정되며, 제1 정점에 대한 복구된 속성 값은 초기 UV 좌표에서 디코딩된 속성 맵에서의 픽셀에 따라 결정된다.
몇몇 실시예에서, 복수의 맵은 점유 맵이 부족하다. 제1 샘플링 레이트에 따라 적어도 제1 정점을 재구성하기 위해, 제1 영역에 대한 제1 경계 정점을 나타내는 정보가 비트스트림으로부터 디코딩된다. 제1 영역에 대응하는 점유 맵에서의 제1 점유된 영역은 제1 경계 정점에 따라 추론된다. 제1 점유된 영역에서 점유된 포인트의 UV 좌표가 결정되며, 점유된 포인트는 제1 정점에 대응한다. UV 좌표는 적어도 제1 샘플링 레이트에 따라 샘플링된 UV 좌표로 변환된다. 복수의 맵에 기초하여, 제1 정점은 샘플링된 UV 좌표에 따라 재구성된다.
몇몇 예에서, 제1 정점을 재구성하기 위해, 제1 정점에 대한 복구된 3D 좌표가 샘플링된 UV 좌표에서 디코딩된 기하학 맵에서의 픽셀에 따라 결정되며, 제1 정점에 대한 복구된 속성 값은 샘플링된 UV 좌표에서 디코딩된 속성 맵에서의 픽셀에 따라 결정된다.
몇몇 예에서, UV 좌표를 샘플링된 UV 좌표로 변환하기 위해, 제1 영역과 연관된 제1 UV 오프셋이 비트스트림으로부터 디코딩되며, UV 좌표는 제1 샘플링 레이트 및 제1 UV 오프셋에 따라 샘플링된 UV 좌표로 변환된다.
몇몇 실시예에서, 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트가 다양한 기법에 의해 결정될 수 있다. 예에서, 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트의 값은 비트스트림으로부터 직접 디코딩된다. 또 다른 예에서, 적어도 제1 인덱스 및 제2 인덱스는 비트스트림으로부터 디코딩되고, 제1 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타내며, 제2 인덱스는 샘플링 레이트의 세트로부터 제2 샘플링 레이트의 선택을 나타낸다. 또 다른 예에서, 제1 샘플링 레이트는 레이트의 사전-수립된 세트에 기초하여 예측된다. 또 다른 예에서, 제1 샘플링 레이트는 메시 프레임의 디코딩된 영역에 대한 이전 사용된 샘플링 레이트에 기초하여 예측된다. 또 다른 예에서, 제1 샘플링 레이트는 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서 디코딩된 영역에 대한 이전 사용된 샘플링 레이트에 기초하여 예측된다.
몇몇 실시예에서, 제1 샘플링 레이트를 결정하기 위해, 제1 샘플링 레이트가 시그널링되는지 또는 예측되는지를 나타내는 제1 구문 값이 비트스트림으로부터 디코딩된다. 예에서, 제1 샘플링 레이트가 시그널링됨을 나타내는 제1 구문 값에 응답하여, 제1 샘플링 레이트의 값은 비트스트림으로부터 직접 디코딩된다. 또 다른 예에서, 제1 샘플링 레이트가 시그널링됨을 나타내는 제1 구문 값에 응답하여, 인덱스는 비트스트림으로부터 디코딩된다. 인덱스는 샘플링 레이트의 세트로부터 제1 샘플링 레이트의 선택을 나타낸다.
몇몇 예에서, 제1 샘플링 레이트가 예측됨을 나타내는 제1 구문 값에 응답하여, 제2 구문은 비트스트림으로부터 디코딩되며, 제2 구문은 제1 샘플링 레이트를 예측하기 위해 사용할 예측기를 나타낸다. 뿐만 아니라, 예에서, 예측 잔차가 비트스트림으로부터 디코딩된 구문 값에 기초하여 결정되며; 제1 샘플링 레이트는 예측기 및 예측 잔차에 기초하여 결정된다.
몇몇 예에서, 기본 샘플링 레이트는 비트스트림으로부터 디코딩되며, 제1 샘플링 레이트 및 제2 샘플링 레이트는 기본 샘플링 레이트에 따라 결정될 수 있다. 예를 들어, 기본 샘플링 레이트는 예측기로서 사용된다.
몇몇 예에서, 메시 프레임 상에서 적응형 2D 아틀라스 샘플링의 가능을 나타내는 제어 플래그가 비트스트림으로부터 디코딩된다. 그 후, 메시 프레임에서의 영역의 수 및 영역에 대한 각각의 샘플링 레이트가 예를 들어, 비트스트림에서의 구문에 기초하여 결정된다.
몇몇 예에서, 제1 영역과 연관된 제1 UV 오프셋이 비트스트림으로부터 결정되며, 복수의 맵에 기초하여, 메시 프레임의 제1 정점이 제1 샘플링 레이트 및 제1 UV 오프셋에 따라 재구성된다. 예에서, 제1 영역과 연관된 제1 UV 오프셋을 결정하기 위해, 제1 UV 오프셋의 값은 비트스트림으로부터 직접 디코딩된다. 또 다른 예에서, 제1 UV 오프셋은 UV 오프셋의 사전-수립된 세트에 기초하여 예측된다. 또 다른 예에서, 제1 UV 오프셋은 메시 프레임의 디코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 예측된다. 또 다른 예에서, 제1 UV 오프셋은 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서 디코딩된 영역에 대한 이전 사용된 UV 오프셋에 기초하여 예측된다.
몇몇 실시예에서, 제1 영역과 연관된 제1 UV 오프셋을 결정하기 위해, 제1 UV 오프셋이 시그널리되는지 또는 예측되는지를 나타내는 제1 구문 값이 비트스트림으로부터 디코딩된다. 예에서, 제1 UV 오프셋이 시그널링됨을 나타내는 제1 구문 값에 응답하여, 제1 UV 오프셋의 값은 비트스트림으로부터 직접 디코딩된다. 예에서, 제1 UV 오프셋의 부호는 기본 샘플링 레이트와 제1 샘플링 레이트의 비교에 기초하여 추론된다.
또 다른 예에서, 제1 UV 오프셋이 예측됨을 나타내는 제1 구문 값에 응답하여, 제2 구문은 비트스트림으로부터 디코딩되며, 제2 구문은 제1 UV 오프셋을 예측하기 위해 사용할 예측기를 나타낸다. 뿐만 아니라, 예측 잔차가 비트스트림으로부터 디코딩된 구문 값에 기초하여 결정되며, 제1 UV 오프셋은 예측기 및 예측 잔차에 기초하여 결정된다.
그 후, 프로세스는 (S1599)로 진행되며 종료된다.
프로세스(1500)는 적절하게 적응될 수 있다. 프로세스(1500)에서의 단계(들)는 수정되고 및/또는 생략될 수 있다. 부가적인 단계(들)가 부가될 수 있다. 구현예의 임의의 적절한 순서가 사용될 수 있다.
본 개시에서 개시된 기법은 별도로 또는 임의의 순서로 조합하여 사용될 수 있다. 뿐만 아니라, 기법(예컨대, 방법, 실시예), 인코더, 및 디코더의 각각은 프로세싱 회로부(예컨대, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 몇몇 예에서, 하나 이상의 프로세서는 비-일시적 컴퓨터-판독 가능한 매체에 저장되는 프로그램을 실행한다.
상기 설명된 기법은 컴퓨터-판독 가능한 지시를 사용하여 컴퓨터 소프트웨어로서 구현되며 하나 이상의 컴퓨터-판독 가능한 미디어에 물리적으로 저장될 수 있다. 예를 들어, 도 16은 개시된 주제의 특정한 실시예를 구현하는데 적합한 컴퓨터 시스템(1600)을 도시한다.
컴퓨터 시스템(1600)에 대해 도 16에 도시된 구성요소는 사실상 대표적이며 본 개시의 실시예를 구현한 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 임의의 제한을 제안하도록 의도되지 않는다. 구성요소의 구성은 컴퓨터 시스템(1600)의 대표적인 실시예에 예시된 구성요소 중 임의의 하나 또는 조합에 관한 임의의 의존성 또는 요건을 갖는 것으로 해석되지 않아야 한다.
컴퓨터 시스템(1600)은 특정한 인간 인터페이스 입력 디바이스를 포함할 수 있다. 이러한 인간 인터페이스 입력 디바이스는 예를 들어, 촉각 입력(이를테면: 키스트로크, 스와이프, 데이터 글러브 움직임), 오디오 입력(이를테면: 음성, 박수), 시각적 입력(이를테면: 제스처), 후각 입력(묘사되지 않음)을 통해 하나 이상의 인간 사용자에 의한 입력에 반응적일 수 있다. 인간 인터페이스 디바이스는 또한 오디오(이를테면: 스피치, 음악, 주변 사운드), 이미지(이를테면: 스캐닝된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지), 비디오(2-차원 비디오, 입체 비디오를 포함한 3-차원 비디오와 같은)와 같은, 인간에 의한 의식적인 입력에 반드시 직접 관련되는 것은 아닌 특정한 미디어를 캡처하기 위해 사용될 수 있다.
입력 인간 인터페이스 디바이스는: 키보드(1601), 마우스(1602), 트랙패드(1603), 터치 스크린(1610), 데이터-글러브(도시되지 않음), 조이스틱(1605), 마이크로폰(1606), 스캐너(1607), 카메라(1608) 중 하나 이상(각각 하나만 묘사됨)을 포함할 수 있다.
컴퓨터 시스템(1600)은 또한 특정한 인간 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 인간 인터페이스 출력 디바이스는 예를 들어, 촉각 출력, 사운드, 광, 및 냄새/맛을 통해 하나 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 인간 인터페이스 출력 디바이스는 촉각 출력 디바이스(예를 들어, 터치-스크린(1610)에 의한 촉각 피드백, 데이터-글러브(도시되지 않음), 또는 조이스틱(1605), 그러나 또한 입력 디바이스로서 작용하지 않는 촉각 피드백 디바이스가 있을 수 있다), 오디오 출력 디바이스(이를테면: 스피커(1609), 헤드폰(묘사되지 않음)), 시각적 출력 디바이스(이를테면 CRT 스트린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하기 위한 스크린(1610), 각각은 터치-스크린 입력 능력을 갖거나 또는 없고, 각각은 촉각 피드백 능력을 갖거나 없고 - 그 중 몇몇은 입체 출력과 같은 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 출력할 수 있을 것이다; 가상-현실 안경(묘사되지 않음), 홀로그램 디스플레이 및 스모크 탱크(묘사되지 않음), 및 프린터(묘사되지 않음)를 포함할 수 있다.
컴퓨터 시스템(1600)은 또한 CD/DVD를 가진 CD/DVD ROM/RW(1620) 또는 유사한 미디어(1621)를 포함한 광학 미디어, 썸-드라이브(1622), 착탈 가능한 하드 드라이브 또는 고체 상태 드라이브(1623), 테이프 및 플로피 디스크(묘사되지 않음)와 같은 레거시 자기 미디어, 보안 동글(묘사되지 않음)과 같은 특수화된 ROM/ASIC/PLD 기반 디바이스 등과 같은 인간 액세스 가능한 저장 디바이스 및 그것들의 연관된 미디어를 포함할 수 있다.
이 기술분야의 숙련자는 본 개시된 주제와 관련하여 사용된 바와 같이 용어 "컴퓨터 판독 가능한 미디어"가 송신 미디어, 캐리어 파, 또는 다른 일시적 신호를 포함하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(1600)은 또한 하나 이상의 통신 네트워크(1655)로의 인터페이스(1654)를 포함할 수 있다. 네트워크는 예를 들어, 무선, 와이어라인, 광학일 수 있다. 네트워크는 또한 로컬, 광역, 대도시, 차량 및 산업, 실-시간, 지연-허용 등일 수 있다. 네트워크의 예는 GSM, 3G, 4G, 5G, LTE 등을 포함하기 위해 이더넷, 무선 LAN, 셀룰러 네트워크와 같은 근거리 네트워크, 케이블 TV, 위성 TV, 및 지상파 방송 TV를 포함하기 위해 TV 와이어라인 또는 무선 광역 디지털 네트워크, CANBus를 포함하기 위한 차량 및 산업용 등을 포함한다. 특정한 네트워크는 일반적으로 특정한 범용 데이터 포트 또는 주변 버스(1649)(예를 들어, 컴퓨터 시스템(1600)의 USB 포트와 같은)에 접속된 외부 네트워크 인터페이스 어댑터를 요구하며; 다른 것들은 일반적으로 이하에 설명된 바와 같이(예를 들어, PC 컴퓨터 시스템으로의 이더넷 인터페이스 또는 스마트폰 컴퓨터 시스템으로의 셀룰러 네트워크 인터페이스) 시스템 버스로의 접속에 의해 컴퓨터 시스템(1600)의 코어로 통합된다. 이들 네트워크 중 임의의 것을 사용하여, 컴퓨터 시스템(1600)은 다른 엔티티와 통신할 수 있다. 이러한 통신은 예를 들어, 로컬 또는 광역 디지털 네트워크를 사용하여 다른 컴퓨터 시스템에 대해, 단방향, 수신 전용(예를 들어, 방송 TV), 단방향 전송-전용(예를 들어, CANbus 대 특정한 CANbus 디바이스), 또는 양방향일 수 있다. 특정한 프로토콜 및 프로토콜 스택은 상기 설명된 바와 같이 이들 네트워크 및 네트워크 인터페이스의 각각 상에서 사용될 수 있다.
앞서 언급한 인간 인터페이스 디바이스, 인간-액세스 가능한 저장 디바이스, 및 네트워크 인터페이스는 컴퓨터 시스템(1600)의 코어(1640)에 부착될 수 있다.
코어(1640)는 하나 이상의 중앙 프로세싱 유닛(CPU)(1651), 그래픽스 프로세싱 유닛(GPU)(1642), 필드 프로그램 가능한 게이트 영역(FPGA)(1643)의 형태로의 특수화된 프로그램 가능한 프로세싱 유닛, 특정한 태스크를 위한 하드웨어 가속화기(1644), 그래픽 어댑터(1650) 등을 포함할 수 있다. 판독-전용 메모리(ROM)(1645), 랜덤-액세스 메모리(1646), 내부의 사용자 액세스 가능하지 않은 하드 드라이브, SSD 등과 같은 내부 대용량 저장장치(1647)와 함께, 이들 디바이스는 시스템 버스(1648)를 통해 연결될 수 있다. 몇몇 컴퓨터 시스템에서, 시스템 버스(1648)는 부가적인 CPU, GPU 등에 의한 확장을 가능하게 하기 위해 하나 이상의 물리 플러그의 형태로 액세스 가능할 수 있다. 주변 디바이스는 코어 시스템 버스(1648)에 직접, 또는 주변 버스(1649)를 통해 부착될 수 있다. 예에서, 스크린(1610)은 그래픽스 어댑터(1650)에 연결될 수 있다. 주변 버스에 대한 아키텍처는 PCI, USB 등을 포함한다.
CPU(1641), GPU(1642), FPGA(1643), 및 가속화기(1644)는 조합하여, 앞서 언급한 컴퓨터 코드를 구성할 수 있는 특정한 지시를 실행할 수 있다. 상기 컴퓨터 코드는 ROM(1645) 또는 RAM(1646)에 저장될 수 있다. 이전 데이터가 또한 RAM(1646)에 저장될 수 있는 반면, 영구 데이터는, 예를 들어, 내부 대용량 저장장치(1647)에 저장될 수 있다. 메모리 디바이스 중 임의의 것으로의 빠른 저장 및 검색은 하나 이상의 CPU(1641), GPU(1642), 대용량 저장장치(1647), ROM(1645), RAM(1646) 등과 밀접하게 연관될 수 있는, 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터 판독 가능한 미디어는 다양한 컴퓨터-구현된 동작을 수행하기 위해 컴퓨터 코드를 가질 수 있다. 미디어 및 컴퓨터 코드는 본 개시의 목적을 위해 특수하게 설계되고 구성된 것들 것 수 있거나, 또는 그것들은 컴퓨터 소프트웨어 분야에서의 숙련자에게 잘 알려지고 이용 가능한 종류일 수 있다.
제한으로서가 아닌 예로서, 아키텍처(1600), 및 특수하게는 코어(1640)를 가진 컴퓨터 시스템은 하나 이상의 유형의, 컴퓨터-판독 가능한 미디어에 구체화된 소프트웨어를 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속화기 등을 포함한)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터-판독 가능한 미디어는 상기 소개된 바와 같이 사용자-액세스 가능한 대용량 저장장치, 뿐만 아니라, 코어-내부 대용량 저장장치(1647) 또는 ROM(1645)과 같은, 비-일시적 특징인 코어(1640)의 특정한 저장장치와 연관된 미디어일 수 있다. 본 개시의 다양한 실시예를 구현한 소프트웨어는 이러한 디바이스에 저장되며 코어(1640)에 의해 실행될 수 있다. 컴퓨터-판독 가능한 매체는 특정한 요구에 따라, 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는 코어(1640) 및 특수하게는 프로세서(CPU, GPU, FPGA 등을 포함한)가 RAM(1646)에 저장된 데이터 구조를 정의하며 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여, 본원에서 설명된 특정한 프로세스 또는 특정한 프로세스의 특정한 부분을 실행하게 할 수 있다. 또한 또는 대안으로서, 컴퓨터 시스템은 본원에서 설명된 특정한 프로세스 또는 특정한 프로세스의 특정한 부분을 실행하기 위해 소프트웨어 대신에 또는 그것과 함께 동작할 수 있는, 회로(예를 들어: 가속화기(1644))에 하드와이어드되거나 또는 그 외 구체화된 논리의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는 적절한 경우, 로직을 포함할 수 있으며, 그 반대 또한 마찬가지이다. 컴퓨터-판독 가능한 미디어에 대한 참조는 적절한 경우, 실행을 위한 소프트웨어를 저장한 회로(집적 회로(IC)와 같은), 실행을 위해 논리를 구체화한 회로, 또는 둘 모두를 포함할 수 있다. 본 개시는 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포함한다.
본 개시는 여러 대표적인 실시예를 설명하였지만, 본 개시의 범위 내에 있는 변경, 치환, 및 다양한 대체 등가물이 있다. 따라서, 이 기술분야의 숙련자는, 본원에서 명시적으로 도시되거나 또는 설명되지 않지만, 본 개시의 원리를 구체화하며 따라서 그것의 사상 및 범위 내에 있는 다수의 시스템 및 방법을 고안할 수 있을 것이라는 것이 이해될 것이다.
Claims (20)
- 메시 압축해제를 위한 방법에 있어서,
메시 프레임을 운반하는 비트스트림으로부터 2차원(2D)에서의 복수의 맵을 디코딩하는 단계 - 상기 메시 프레임은 다각형을 가진 오브젝트의 표면을 나타내고, 상기 2D에서의 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 적어도 디코딩된 기하학 맵 및 디코딩된 속성 맵을 포함함 - ;
상기 비트스트림에서 시그널링된 구문(syntax)에 따라 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하는 단계 - 상기 제1 샘플링 레이트는 상기 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제1 영역에 적용되며, 상기 제2 샘플링 레이트는 상기 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제2 영역에 적용되고, 상기 제1 샘플링 레이트는 상기 제2 샘플링 레이트와 상이함 - ; 및
상기 복수의 맵에 기초하여, 적어도 상기 제1 샘플링 레이트에 따라 메시 프레임의 제1 정점을, 그리고 상기 제2 샘플링 레이트에 따라 메시 프레임의 제2 정점을 재구성하는 단계를 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 복수의 맵은 상기 적응형 2D 아틀라스 샘플링을 적용한 디코딩된 점유 맵을 포함하며, 상기 적어도 제1 샘플링 레이트에 따라 제1 정점을, 그리고 상기 제2 샘플링 레이트에 따라 제2 정점을 재구성하는 단계는:
상기 메시 프레임의 제1 영역에 대응하는 디코딩된 점유 맵의 제1 샘플링 영역에서 점유된 포인트의 초기 UV 좌표를 획득하는 단계 - 상기 점유된 포인트는 상기 제1 정점에 대응함 - ; 및
상기 초기 UV 좌표 및 상기 제1 샘플링 레이트에 기초하여 상기 제1 정점에 대한 복구된 UV 좌표를 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제2항에 있어서,
상기 비트스트림으로부터 상기 제1 샘플링 영역의 제1 UV 오프셋을 디코딩하는 단계; 및
상기 초기 UV 좌표, 상기 제1 샘플링 레이트 및 상기 제1 UV 오프셋에 기초하여 상기 제1 정점의 복구된 UV 좌표를 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제2항에 있어서,
상기 초기 UV 좌표에서 상기 디코딩된 기하학 맵에서의 픽셀에 따라 상기 제1 정점에 대한 복구된 3D 좌표를 결정하는 단계; 및
상기 초기 UV 좌표에서 상기 디코딩된 속성 맵에서의 픽셀에 따라 상기 제1 정점에 대한 복구된 속성 값을 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 복수의 맵에는 점유 맵이 없고,
상기 적어도 제1 샘플링 레이트에 따라 제1 정점을, 그리고 상기 제2 샘플링 레이트에 따라 제2 정점을 재구성하는 단계는:
상기 제1 영역에 대한 제1 경계 정점을 나타내는 정보를 상기 비트스트림으로부터 디코딩하는 단계;
상기 제1 경계 정점에 따라 상기 제1 영역에 대응하는 점유 맵에서의 제1 점유 영역을 추론하는 단계;
상기 제1 점유 영역에서 점유된 포인트의 UV 좌표를 획득하는 단계 - 상기 점유된 포인트는 상기 제1 정점에 대응함 - ;
적어도 상기 제1 샘플링 레이트에 따라 상기 UV 좌표를 샘플링된 UV 좌표로 변환하는 단계; 및
상기 복수의 맵에 기초하여, 상기 샘플링된 UV 좌표에 따라 상기 제1 정점을 재구성하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제5항에 있어서,
상기 제1 정점을 재구성하는 단계는:
상기 샘플링된 UV 좌표에서 상기 디코딩된 기하학 맵에서의 픽셀에 따라 상기 제1 정점에 대한 복구된 3D 좌표를 결정하는 단계; 및
상기 샘플링된 UV 좌표에서 상기 디코딩된 속성 맵에서의 픽셀에 따라 상기 제1 정점에 대한 복구된 속성 값을 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제5항에 있어서,
상기 UV 좌표를 상기 샘플링된 UV 좌표로 변환하는 단계는:
상기 비트스트림으로부터 상기 제1 영역과 연관된 제1 UV 오프셋을 디코딩하는 단계; 및
상기 제1 샘플링 레이트 및 상기 제1 UV 오프셋에 따라 상기 UV 좌표를 상기 샘플링된 UV 좌표로 변환하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하는 단계는:
상기 비트스트림으로부터 직접 적어도 상기 제1 샘플링 레이트 및 상기 제2 샘플링 레이트의 값을 디코딩하는 단계;
상기 비트스트림으로부터 적어도 제1 인덱스 및 제2 인덱스를 디코딩하는 단계 - 상기 제1 인덱스는 샘플링 레이트의 세트로부터 상기 제1 샘플링 레이트의 선택을 나타내며, 상기 제2 인덱스는 상기 샘플링 레이트의 세트로부터 상기 제2 샘플링 레이트의 선택을 나타냄 - ;
레이트의 사전-수립된 세트에 기초하여 상기 제1 샘플링 레이트를 예측하는 단계;
메시 프레임의 디코딩된 영역에 대해 이전에 사용된 샘플링 레이트에 기초하여 상기 제1 샘플링 레이트를 예측하는 단계; 및
상기 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서 디코딩된 영역에 대해 이전에 사용된 샘플링 레이트에 기초하여 상기 제1 샘플링 레이트를 예측하는 단계
중 적어도 하나의 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하는 단계는:
상기 제1 샘플링 레이트가 시그널링되는지 또는 예측되는지를 나타내는 제1 구문 값을 디코딩하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제9항에 있어서,
상기 제1 샘플링 레이트가 시그널링된다는 것을 나타내는 상기 제1 구문 값에 응답하여, 상기 방법은:
상기 비트스트림으로부터 직접 상기 제1 샘플링 레이트의 값을 디코딩하는 단계; 및
상기 비트스트림으로부터 인덱스를 디코딩하는 단계 - 상기 인덱스는 샘플링 레이트의 세트로부터 상기 제1 샘플링 레이트의 선택을 나타냄 -
중 적어도 하나의 단계를 포함하는, 메시 압축해제를 위한 방법. - 제9항에 있어서,
상기 제1 샘플링 레이트가 예측된다는 것을 나타내는 상기 제1 구문 값에 응답하여, 상기 방법은:
상기 비트스트림으로부터 제2 구문을 디코딩하는 단계를 포함하며,
상기 제2 구문은 상기 제1 샘플링 레이트를 예측하기 위해 사용할 예측기를 나타내는, 메시 압축해제를 위한 방법. - 제11항에 있어서,
상기 비트스트림으로부터 디코딩된 구문 값에 기초하여 예측 잔차를 결정하는 단계; 및
상기 예측기 및 상기 예측 잔차에 기초하여 상기 제1 샘플링 레이트를 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하는 단계는:
상기 비트스트림으로부터 기본 샘플링 레이트를 디코딩하는 단계; 및
상기 기본 샘플링 레이트에 따라 상기 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
적응형 2D 아틀라스 샘플링의 가능을 나타내는 제어 플래그를 디코딩하는 단계;
상기 메시 프레임에서 영역의 수를 결정하는 단계; 및
각각 상기 영역에 대한 샘플링 레이트를 결정하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제1항에 있어서,
상기 비트스트림으로부터, 상기 제1 영역과 연관된 제1 UV 오프셋을 결정하는 단계; 및
상기 복수의 맵에 기초하여, 상기 제1 샘플링 레이트 및 상기 제1 UV 오프셋에 따라 상기 메시 프레임의 제1 정점을 재구성하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제15항에 있어서,
상기 제1 영역과 연관된 상기 제1 UV 오프셋을 결정하는 단계는:
상기 비트스트림으로부터 직접 상기 제1 UV 오프셋의 값을 디코딩하는 단계;
UV 오프셋의 사전-수립된 세트에 기초하여 상기 제1 UV 오프셋을 예측하는 단계;
상기 메시 프레임의 디코딩된 영역에 대해 이전에 사용된 UV 오프셋에 기초하여 상기 제1 UV 오프셋을 예측하는 단계; 및
상기 메시 프레임 이전에 디코딩된 또 다른 메시 프레임에서 디코딩된 영역에 대해 이전에 사용된 UV 오프셋에 기초하여 상기 제1 UV 오프셋을 예측하는 단계
중 적어도 하나의 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제15항에 있어서,
상기 제1 영역과 연관된 상기 제1 UV 오프셋을 결정하는 단계는:
상기 제1 UV 오프셋이 시그널링되는지 또는 예측되는지를 나타내는 제1 구문 값을 디코딩하는 단계를 더 포함하는, 메시 압축해제를 위한 방법. - 제17항에 있어서,
상기 제1 UV 오프셋이 시그널링된다는 것을 나타내는 상기 제1 구문 값에 응답하여, 상기 방법은:
상기 비트스트림으로부터 직접 상기 제1 UV 오프셋의 값을 디코딩하는 단계; 및
기본 샘플링 레이트와 상기 제1 샘플링 레이트의 비교에 기초하여 상기 제1 UV 오프셋의 부호를 추론하는 단계를 포함하는, 메시 압축해제를 위한 방법. - 제17항에 있어서,
상기 제1 UV 오프셋이 예측된다는 것을 나타내는 상기 제1 구문 값에 응답하여, 상기 방법은:
상기 비트스트림으로부터 제2 구문을 디코딩하는 단계 - 상기 제2 구문은 상기 제1 UV 오프셋을 예측하기 위해 사용할 예측기를 나타냄 - ;
상기 비트스트림으로부터 디코딩된 구문 값에 기초하여 예측 잔차를 결정하는 단계;
상기 예측기 및 상기 예측 잔차에 기초하여 상기 제1 UV 오프셋을 결정하는 단계를 포함하는, 메시 압축해제를 위한 방법. - 메시 압축해제를 위한 장치에 있어서,
프로세싱 회로부를 포함하고,
상기 프로세싱 회로부는
메시 프레임을 운반하는 비트스트림으로부터 2차원(2D)에서 복수의 맵을 디코딩하고 - 상기 메시 프레임은 다각형을 가진 오브젝트의 표면을 나타내고, 상기 2D에서 복수의 맵은 적응형 2D 아틀라스 샘플링을 적용한 적어도 디코딩된 기하학 맵 및 디코딩된 속성 맵을 포함함 - ;
상기 비트스트림에서 시그널링된 구문에 따라 적어도 제1 샘플링 레이트 및 제2 샘플링 레이트를 결정하고 - 상기 제1 샘플링 레이트는 상기 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제1 영역에 적용되며, 상기 제2 샘플링 레이트는 상기 적응형 2D 아틀라스 샘플링 동안 메시 프레임의 제2 영역에 적용되고, 상기 제1 샘플링 레이트는 상기 제2 샘플링 레이트와 상이함 - ; 그리고
상기 복수의 맵에 기초하여, 적어도 상기 제1 샘플링 레이트에 따라 상기 메시 프레임의 제1 정점을, 그리고 상기 제2 샘플링 레이트에 따라 메시 프레임의 제2 정점을 재구성하도록 구성되는,
메시 압축해제를 위한 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163252084P | 2021-10-04 | 2021-10-04 | |
US63/252,084 | 2021-10-04 | ||
US17/945,013 | 2022-09-14 | ||
US17/945,013 US11922664B2 (en) | 2021-10-04 | 2022-09-14 | Method and apparatus of adaptive sampling for mesh compression by decoders |
PCT/US2022/076549 WO2023059975A1 (en) | 2021-10-04 | 2022-09-16 | Method and apparatus of adaptive sampling for mesh compression by decoders |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230051201A true KR20230051201A (ko) | 2023-04-17 |
Family
ID=85774511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237006906A KR20230051201A (ko) | 2021-10-04 | 2022-09-16 | 디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11922664B2 (ko) |
EP (1) | EP4205081A1 (ko) |
JP (1) | JP2024516057A (ko) |
KR (1) | KR20230051201A (ko) |
CN (1) | CN116711305A (ko) |
WO (1) | WO2023059975A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11362672B2 (en) * | 2020-05-08 | 2022-06-14 | Qualcomm Incorporated | Inline decompression |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591199B2 (en) * | 2000-04-11 | 2003-07-08 | Recherche 2000 Inc. | Method and system for acquisition, monitoring, display and diagnosis of operational parameters of electrolyzers |
DE10129108A1 (de) * | 2001-06-16 | 2003-01-02 | Harman Becker Automotive Sys | Verfahren und Schaltungsanordnung zur Datenübertragung |
KR102310816B1 (ko) * | 2010-05-12 | 2021-10-13 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 통합된 유효성 맵 코딩을 위한 방법 및 장치 |
FR2961930B1 (fr) * | 2010-06-29 | 2013-01-04 | Fittingbox | Procede de compression / decompression de maillage tridimensionnel |
US20150187130A1 (en) * | 2011-02-10 | 2015-07-02 | Google Inc. | Automatic Generation of 2.5D Extruded Polygons from Full 3D Models |
US9734595B2 (en) * | 2014-09-24 | 2017-08-15 | University of Maribor | Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds |
GB2558314B (en) * | 2017-01-02 | 2020-07-29 | Canon Kk | Improved attribute mapping to encode and decode 3D models |
EP3489900A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Method, apparatus and stream for encoding/decoding volumetric video |
EP3926959A4 (en) * | 2019-03-21 | 2022-03-23 | LG Electronics Inc. | POINT CLOUD DATA TRANSMITTER DEVICE, POINT CLOUD DATA TRANSMITTER METHOD, POINT CLOUD DATA RECEIVE DEVICE, AND POINT CLOUD DATA RECEIVE METHOD |
-
2022
- 2022-09-14 US US17/945,013 patent/US11922664B2/en active Active
- 2022-09-16 EP EP22871094.3A patent/EP4205081A1/en active Pending
- 2022-09-16 KR KR1020237006906A patent/KR20230051201A/ko unknown
- 2022-09-16 CN CN202280008556.8A patent/CN116711305A/zh active Pending
- 2022-09-16 WO PCT/US2022/076549 patent/WO2023059975A1/en active Application Filing
- 2022-09-16 JP JP2023547799A patent/JP2024516057A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023059975A1 (en) | 2023-04-13 |
US11922664B2 (en) | 2024-03-05 |
EP4205081A1 (en) | 2023-07-05 |
US20230105452A1 (en) | 2023-04-06 |
JP2024516057A (ja) | 2024-04-12 |
CN116711305A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223836B2 (en) | Method and apparatus for point cloud coding | |
JP7476432B2 (ja) | メッシュ復元のための方法、装置及びコンピュータプログラム | |
US20230107834A1 (en) | Method and apparatus of adaptive sampling for mesh compression by encoders | |
KR20230056750A (ko) | 메시 압축을 위한 패치 지퍼링 | |
US11922664B2 (en) | Method and apparatus of adaptive sampling for mesh compression by decoders | |
US11924434B2 (en) | 2D atlas adaptive sampling in 3D mesh compression | |
US20230177738A1 (en) | Dynamic mesh compression based on point cloud compression | |
JP7504298B2 (ja) | 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム | |
US20230177736A1 (en) | Method and apparatus for chart based mesh compression | |
US20230074762A1 (en) | Vertex reordering for mesh compression | |
US20230090677A1 (en) | Coding connectivity in vertex reordering methods for mesh compression | |
US20230014820A1 (en) | Methods and apparatuses for dynamic mesh compression | |
KR20230137993A (ko) | 추론된 텍스처 좌표들을 갖는 메시 압축 |