KR102376114B1 - 인코딩 방법, 디코딩 방법, 및 디바이스 - Google Patents

인코딩 방법, 디코딩 방법, 및 디바이스 Download PDF

Info

Publication number
KR102376114B1
KR102376114B1 KR1020207023576A KR20207023576A KR102376114B1 KR 102376114 B1 KR102376114 B1 KR 102376114B1 KR 1020207023576 A KR1020207023576 A KR 1020207023576A KR 20207023576 A KR20207023576 A KR 20207023576A KR 102376114 B1 KR102376114 B1 KR 102376114B1
Authority
KR
South Korea
Prior art keywords
patches
auxiliary information
patch
bits
coding
Prior art date
Application number
KR1020207023576A
Other languages
English (en)
Other versions
KR20200108465A (ko
Inventor
더쥔 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20200108465A publication Critical patent/KR20200108465A/ko
Application granted granted Critical
Publication of KR102376114B1 publication Critical patent/KR102376114B1/ko

Links

Images

Classifications

    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 출원의 실시예들은 인코딩 방법, 디코딩 방법, 및 장치를 제공한다. 인코딩 방법은 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하는 단계 -X개의 제1 패치와 X개의 제2 패치 사이에 매칭 관계가 있고, X개의 제2 패치는 현재 프레임의 이전 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수임-; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하는 단계; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계; 및 X개의 그룹의 보조 정보 차이를 인코딩하는 단계를 포함한다. 본 출원의 실시예들에서 제공되는 인코딩 방법은 2개의 인접한 프레임의 포인트 클라우드 데이터 사이의 상관 관계를 사용함으로써 코딩/압축 성능을 개선한다.

Description

인코딩 방법, 디코딩 방법, 및 디바이스
삭제
본 출원의 실시예들은 이미지 처리 기술들의 분야에 관한 것으로, 특히 인코딩 방법, 디코딩 방법, 및 장치에 관한 것이다.
컴퓨터 기술들 및 3차원(three-dimensional, 3D) 센서 기술들의 계속적인 개발로, 포인트 클라우드 데이터를 수집하는 것이 점점 더 편리하게 되고, 수집된 데이터의 품질이 점점 더 높아지고, 데이터의 규모가 점점 더 커지고 있다. 포인트 클라우드 또는 포인트 클라우드 데이터는 측정 기기를 사용하여 획득된, 제품의 외관 표면의 포인트 데이터 세트를 지칭한다. 대규모 포인트 클라우드 데이터에 대한 고품질 압축, 코딩, 저장, 및 송신을 효과적으로 수행하는 방법은 매우 중요하다.
포인트 클라우드 데이터를 처리하기 위한 일반적인 처리 방법은: 현재 프레임의 포인트 클라우드 데이터를 복수의 패치로 분할하고; 복수의 패치를 투영하여 복수의 2차원 이미지 블록을 형성하고; 모든 2차원 이미지 블록에 대해 패킹 동작(또는 패킹이라고 지칭됨)을 수행하여 깊이 맵 및 텍스쳐 맵을 형성하며(포인트 클라우드 데이터가 컬러 정보를 운반하는 경우); 깊이 맵 및 텍스처 맵을 이미지 또는 비디오 코딩 방식으로 인코딩하고, 패치들의 보조 정보를 인코딩하는 것이다. 이러한 방법은 성숙한 코딩 기술들의 이점들을 충분히 이용하여, 코딩 효율이 상당히 높아질 수 있다.
그러나, 연속 프레임들의 포인트 클라우드 데이터 사이에는 매우 밀접한 상관 관계가 있다. 전술한 방법은 각각의 프레임의 포인트 클라우드 데이터를 개별적으로 처리하는데만 사용된다. 이것은 코딩/압축 성능 손실을 초래한다.
본 출원의 실시예들은 코딩/압축 성능을 개선하기 위한, 인코딩 방법, 디코딩 방법, 및 장치를 제공한다.
제1 양태에 따르면, 본 출원의 실시예는 인코딩 방법을 제공한다. 본 방법은 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하는 단계; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하는 단계; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계; 및 X개의 그룹의 보조 정보 차이를 인코딩하는 단계를 포함한다.
제1 양태에서 제공된 인코딩 방법에 따르면, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 획득된 X개의 그룹의 보조 정보 차이는 2개의 인접한 프레임의 포인트 클라우드 데이터 사이의 상관 관계를 이용하여 인코딩된다. 이것은 코딩 손실을 감소시키고 코딩/압축 성능을 향상시킨다.
선택적으로, 제1 양태의 가능한 구현에서, X<M인 경우, 본 방법은 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 획득하는 단계 -Y=M-X임-; Y개의 제1 패치의 보조 정보의 최대값 A를 획득하는 단계; 최대값 A에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 제1 비트 수를 결정하는 단계; 코딩을 위한 제1 비트 수를 인코딩하는 단계; 및 코딩을 위한 제1 비트 수를 사용하여 Y개의 제1 패치의 보조 정보를 인코딩하는 단계를 추가로 포함한다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, 코딩을 위한 필요한 비트 수는 나머지 Y개의 제1 패치의 보조 정보에 기초하여 결정된다. 이것은 모든 M개의 제1 패치의 보조 정보에 기초하여 코딩을 위한 필요한 비트 수를 결정하는 것을 회피한다. 이러한 방식으로, 처리될 데이터의 데이터 볼륨이 감소되고, 코딩 효율 및 적합성이 향상되고, 코딩 성능이 향상된다.
선택적으로, 제1 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z>1인 경우, 본 방법은 추가로: M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하는 단계 -Y=M-X임-; X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하는 단계 -k=1, ..., Z임-; 최대값 Bk가 최대값 Ak 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심벌인 것으로 결정하거나; 또는 최대값 Bk가 최대값 Ak보다 작은 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정하는 단계; 제1 식별 정보 내의 각각의 비트가 제1 심볼인 경우, 제2 식별 정보가 제1 심볼이라고 결정하고, 제2 식별 정보를 인코딩하는 단계; 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하는 단계 -k=1, ..., Z임-; 제1 식별 정보 내의 적어도 하나의 비트가 제2 심볼인 경우, 제2 식별 정보가 제2 심벌인 것으로 결정하고, 제1 식별 정보 및 제2 식별 정보를 인코딩하는 단계; 및 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하거나 -k=1, ..., Z임-; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 인코딩하고, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하는 단계 -k=1, ..., Z임-를 추가로 포함한다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, X개의 제1 패치의 보조 정보의 최대값은 Y개의 제1 패치의 보조 정보의 최대값과 비교되고, 그 후 Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수가 결정될 수 있다. X개의 제1 패치의 보조 정보의 최대값에 기초하여 결정된 코딩을 위한 비트 수가 Y개의 제1 패치의 보조 정보를 인코딩하는데 사용될 때, 비트스트림이 추가로 압축됨으로써, 코딩 효율 및 압축 성능을 향상시킨다.
선택적으로, 제1 양태의 가능한 구현에서, 미리 설정된 매칭 관계는 다음의 단계들에 따라 결정된다: 현재 프레임의 이전 프레임에서 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-; N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들 Qij를 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-; 및 Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-.
선택적으로, 제1 양태의 가능한 구현에서, O개의 제1 패치와 N개의 제2 패치 사이에 매칭 관계가 있다고 결정되는 경우, 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하는 단계는: O개의 제1 패치로부터 X개의 제1 패치를 결정하는 단계를 포함하고, O개의 제1 패치는 N개의 제2 패치에 매칭되는 제1 패치이고, O≥X이다.
선택적으로, 제1 양태의 가능한 구현에서, 연관 값 Qij는 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫이고; 제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는 제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이며; 여기서, 제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 제1 점유 행렬의 유효 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 제2 점유 행렬의 유효 영역에 대응하는 행렬 영역이다.
선택적으로, 제1 양태의 가능한 구현에서, 미리 설정된 매칭 관계가 결정되기 전에, 본 방법은 추가로 M개의 제1 패치를 정렬하는 단계를 포함할 수 있다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, M개의 제1 패치가 정렬됨으로써, 제1 패치들 및 제2 패치들의 매칭 속도가 증가될 수 있고, 그에 의해 인코딩 처리 속도를 증가시킬 수 있다.
선택적으로, 제1 양태의 가능한 구현에서, 미리 설정된 매칭 관계는: X개의 제1 패치 내의 k번째 제1 패치가 X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여 X개의 제2 패치 내의 k번째 제2 패치와 매칭되는 것을 포함하고, 여기서 k=1, ..., X이다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, 동일한 시퀀스 번호를 갖는 제1 패치 및 제2 패치가 서로 매칭하는 것으로 지정된다. 이것은 매칭 관계를 단순화하여, 인코딩 속도를 증가시킨다.
선택적으로, 제1 양태의 가능한 구현에서, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계는: X개의 제1 패치의 보조 정보와 X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이들을, X개의 그룹의 보조 정보 차이로서 결정하는 단계를 포함한다. 본 방법은 추가로: 매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 제2 패치 사이의 매칭 관계를 표시함-; 및 매칭 정보를 인코딩하는 단계를 포함한다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, 각각의 제1 패치의 보조 정보와 제1 패치와 동일한 시퀀스 번호를 갖는 제2 패치의 보조 정보에 대해 감산이 대응하여 수행됨으로써, X개의 그룹의 보조 정보 차이가 획득된다. 이것은 차이를 계산하는 복잡성을 단순화하여, 인코딩 속도를 증가시킨다.
선택적으로, 제1 양태의 가능한 구현에서, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계는: X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여, X개의 제1 패치 내의 k번째 제1 패치의 보조 정보와 X개의 제2 패치 내의 k번째 제2 패치의 보조 정보 사이의 차이를, X개의 그룹의 보조 정보 차이 내의 k번째 그룹의 보조 정보 차이로서 결정하는 단계를 포함하고, 여기서 k=1, ..., X이다.
이 가능한 구현에서 제공되는 인코딩 방법에 따르면, X개의 제1 패치의 보조 정보와 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이들은 X개의 그룹의 보조 정보 차이로서 결정된다. 이것은 인코딩 정확도를 개선하여, 코딩 성능을 향상시킨다.
선택적으로, 제1 양태의 가능한 구현에서, 본 방법은 추가로 M에 기초하여 코딩을 위한 제4 비트 수를 결정하는 단계; 및 코딩을 위한 제4 비트 수를 사용하여 X를 인코딩하는 단계를 포함한다.
제2 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공한다. 본 방법은: 비트스트림에 기초하여, 현재 프레임 내의 X개의 제1 패치에 대응하는 X개의 그룹의 보조 정보 차이를 획득하는 단계; X개의 제2 패치의 보조 정보를 획득하는 단계; 및 X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, X<M인 경우, 본 방법은 추가로: 비트스트림에 기초하여 코딩을 위한 제1 비트 수를 획득하는 단계 -코딩을 위한 제1 비트 수는 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보의 최대값 A에 기초하여 인코딩 장치에 의해 결정되고, Y=M-X임-; 및 코딩을 위한 제1 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z>1인 경우, 본 방법은 추가로: 비트스트림에 기초하여 제2 식별 정보를 획득하는 단계; 제2 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-; 제2 식별 정보가 제2 심볼인 경우, 제1 식별 정보를 획득하는 단계; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-; 및 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z임-를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하는 단계; 및 코딩을 위한 제4 비트 수를 사용하여 비트스트림에 기초하여 X를 획득하는 단계를 포함한다.
제3 양태에 따르면, 본 출원의 실시예는 결정 모듈, 획득 모듈, 및 인코딩 모듈을 포함하는 인코딩 장치를 제공한다. 결정 모듈은 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하도록 구성된다. 획득 모듈은 X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하도록 구성된다. 인코딩 모듈은: X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하고, X개의 그룹의 보조 정보 차이를 인코딩하도록 구성된다.
선택적으로, 제3 양태의 가능한 구현에서, X<M인 경우, 획득 모듈은 추가로: M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 획득하고 -Y=M-X임-; Y개의 제1 패치의 보조 정보의 최대값 A를 획득하도록 구성된다. 인코딩 모듈은 추가로: 최대값 A에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 제1 비트 수를 결정하고; 코딩을 위한 제1 비트 수를 인코딩하며; 코딩을 위한 제1 비트 수를 사용하여 Y개의 제1 패치의 보조 정보를 인코딩하도록 구성된다.
선택적으로, 제3 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z>1인 경우, 획득 모듈은 추가로: M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고 -Y=M-X임-; X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하도록 구성되며, 여기서 k=1, ..., Z이다. 인코딩 모듈은 추가로: 최대값 Bk가 최대값 Ak 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 것으로 결정하거나; 또는 최대값 Bk가 최대값 Ak보다 작은 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정하고; 제1 식별 정보 내의 각각의 비트가 제1 심볼인 경우, 제2 식별 정보가 제1 심볼이라고 결정하고, 제2 식별 정보를 인코딩하고; 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하고 -k=1, ..., Z임-; 제1 식별 정보 내의 적어도 하나의 비트가 제2 심볼인 경우, 제2 식별 정보가 제2 심벌인 것으로 결정하고, 제1 식별 정보 및 제2 식별 정보를 인코딩하고; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하거나 -k=1, ..., Z임-; 또는 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 인코딩하고, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하도록 구성되며, 여기서 k=1, ..., Z이다.
선택적으로, 제3 양태의 가능한 구현에서, 결정 모듈은 구체적으로 다음 단계들에 따라 미리 설정된 매칭 관계를 결정하도록 구성된다: 현재 프레임의 이전 프레임에서 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-; N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들 Qij를 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-; 및 Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-.
선택적으로, 제3 양태의 가능한 구현에서, O개의 제1 패치와 N개의 제2 패치 사이에 매칭 관계가 있다고 결정되는 경우, 결정 모듈은 구체적으로: O개의 제1 패치로부터 X개의 제1 패치를 결정하도록 구성되고, 여기서 O개의 제1 패치는 N개의 제2 패치에 매칭되는 제1 패치들이고, O≥X이다.
선택적으로, 제3 양태의 가능한 구현에서, 연관 값 Qij는 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫이고; 제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역의 면적이거나; 또는 제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이며; 제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 제1 점유 행렬의 유효 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 제2 점유 행렬의 유효 영역에 대응하는 행렬 영역이다.
선택적으로, 제3 양태의 가능한 구현에서, 미리 설정된 매칭 관계는: X개의 제1 패치 내의 k번째 제1 패치가 X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여 X개의 제2 패치 내의 k번째 제2 패치와 매칭되는 것을 포함하고, 여기서 k=1, ..., X이다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 구체적으로 X개의 제1 패치의 보조 정보와 X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이들을, X개의 그룹의 보조 정보 차이로서 결정하도록 구성된다. 획득 모듈은 추가로 매칭 정보를 획득하도록 구성되고, 여기서 매칭 정보는 X개의 제1 패치와 X개의 제2 패치 사이의 매칭 관계를 표시한다. 인코딩 모듈은 추가로 매칭 정보를 인코딩하도록 구성된다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 구체적으로 X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여, X개의 제1 패치 내의 k번째 제1 패치의 보조 정보와 X개의 제2 패치 내의 k번째 제2 패치의 보조 정보 사이의 차이를, X개의 그룹의 보조 정보 차이 내의 k번째 그룹의 보조 정보 차이로서 결정하도록 구성되고, 여기서 k=1, ..., X이다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고; 코딩을 위한 제4 비트 수를 사용하여 X를 인코딩하도록 구성된다.
제4 양태에 따르면, 본 출원의 실시예는 디코딩 모듈 및 획득 모듈을 포함하는 디코딩 장치를 제공한다. 디코딩 모듈은 비트스트림에 기초하여, 현재 프레임 내의 X개의 제1 패치에 대응하는 X개의 그룹의 보조 정보 차이를 획득하도록 구성된다. 획득 모듈은 X개의 제2 패치의 보조 정보를 획득하도록 구성된다. 디코딩 모듈은 추가로 X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제4 양태의 가능한 구현에서, X<M인 경우, 디코딩 모듈은 추가로: 비트스트림에 기초하여 코딩을 위한 제1 비트 수를 획득하고 -코딩을 위한 제1 비트 수는 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보의 최대값 A에 기초하여 인코딩 장치에 의해 결정되고, Y=M-X임-; 코딩을 위한 제1 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제4 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z>1인 경우, 디코딩 모듈은 추가로: 비트스트림에 기초하여 제2 식별 정보를 획득하고; 제2 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하고 -k=1, ..., Z임-; 제2 식별 정보가 제2 심볼인 경우, 제1 식별 정보를 획득하고; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하고 -k=1, ..., Z임-; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z이다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고; 코딩을 위한 제4 비트 수를 사용하여 비트스트림에 기초하여 X를 획득하도록 구성된다.
제1 양태 및 제1 양태의 가능한 구현예들, 제2 양태 및 제2 양태의 가능한 구현예들, 제3 양태 및 제3 양태의 가능한 구현예들, 및 제4 양태 및 제4 양태의 가능한 구현예들을 참조하여, X개의 제1 패치와 X개의 제2 패치 사이에 미리 설정된 매칭 관계가 있고, X개의 제2 패치는 현재 프레임의 이전 프레임에 포함되고, X는 M 이하이며, X와 M 양쪽 모두는 양의 정수이다. 보조 정보는: 3차원 좌표계에서의 패치의 최소 X 좌표값, 3차원 좌표계에서의 패치의 최소 Y 좌표값, 3차원 좌표계에서의 패치의 최소 Z 좌표값, 투영 방향에 따른 점유 맵에서의 패치의 최소 X 좌표값, 및 투영 방향에 따른 점유 맵에서의 패치의 최소 Y 좌표값 중 적어도 하나를 포함한다.
제5 양태에 따르면, 본 출원의 실시예는 인코더를 제공한다. 인코더는 프로세서 및 메모리를 포함한다. 메모리는 명령어를 저장하도록 구성되고, 프로세서는 메모리에 저장된 명령어를 실행하여, 인코더가 제1 양태에서의 방법을 수행하도록 구성된다.
제5 양태의 인코더는 송수신기를 추가로 포함할 수 있고, 여기서 송수신기는 다른 디바이스와 통신하도록 구성된다.
제6 양태에 따르면, 본 출원의 실시예는 디코더를 제공한다. 디코더는 프로세서 및 메모리를 포함한다. 메모리는 명령어를 저장하도록 구성되고, 프로세서는 메모리에 저장된 명령어를 실행하여, 디코더가 제2 양태에서의 방법을 수행하도록 구성된다.
제6 양태에서의 디코더는 송수신기를 추가로 포함할 수 있고, 여기서 송수신기는 다른 디바이스와 통신하도록 구성된다.
제7 양태에 따르면, 본 출원의 실시예는 판독가능 저장 매체 및 컴퓨터 프로그램을 포함하는 저장 매체를 제공한다. 컴퓨터 프로그램은 제1 양태 또는 제2 양태에서의 방법을 구현하는데 사용된다.
제8 양태에 따르면, 본 출원의 실시예는 프로그램 제품을 제공한다. 프로그램 제품은 컴퓨터 프로그램(즉, 실행가능 명령어)을 포함하고, 여기서 컴퓨터 프로그램은 판독가능 저장 매체에 저장된다. 인코더의 적어도 하나의 프로세서 또는 디코더의 적어도 하나의 프로세서는 판독가능 저장 매체로부터의 컴퓨터 프로그램을 판독할 수 있고, 적어도 하나의 프로세서는 컴퓨터 프로그램을 실행하여, 인코더 또는 디코더가 제1 양태에서 제공되는 방법 및 제1 양태 또는 제2 양태의 구현들 그리고 제2 양태의 구현들을 구현하게 한다.
본 출원의 제9 양태는 칩을 제공한다. 칩은 인코더에 적용될 수 있고, 칩은 적어도 하나의 통신 인터페이스, 적어도 하나의 프로세서, 및 적어도 하나의 메모리를 포함한다. 통신 인터페이스, 메모리, 및 프로세서는 버스를 통해 서로 접속된다. 프로세서는 본 출원의 제1 양태에서 제공되는 인코딩 방법을 수행하기 위해, 메모리에 저장된 컴퓨터 프로그램을 호출한다.
본 출원의 제10 양태는 칩을 제공한다. 칩은 디코더에 적용될 수 있고, 칩은 적어도 하나의 통신 인터페이스, 적어도 하나의 프로세서, 및 적어도 하나의 메모리를 포함한다. 통신 인터페이스, 메모리, 및 프로세서는 버스를 통해 서로 접속된다. 프로세서는 본 출원의 제2 양태에서 제공되는 디코딩 방법을 수행하기 위해, 메모리에 저장된 컴퓨터 프로그램을 호출한다.
선택적으로, 제1 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 본 방법은 추가로:
M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하는 단계 -Y=M-X이고, Y는 양의 정수임-;
X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하는 단계 -k=1, ..., Z임-; 및
최대값 Bk가 최대값 Ak 이상이거나 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 이상인 경우, k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심벌인 것으로 결정하거나; 또는
최대값 Bk가 최대값 Ak 미만이거나 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 미만인 경우, k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심벌인 것으로 결정하는 단계를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 본 방법은 추가로:
Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보 각각이 제1 심볼인 경우, 제2 식별 정보가 제3 심벌인 것으로 결정하고, 제2 식별 정보를 비트스트림으로 인코딩하는 단계; 및
최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하는 단계 -k=1, ..., Z임-를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 본 방법은 추가로:
Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보 중 적어도 하나가 제2 심볼인 경우, 제2 식별 정보가 제4 심볼인 것으로 결정하고, Z개의 타입의 보조 정보 및 제2 식별 정보에 대응하는 Z개의 식별 정보를 비트스트림으로 인코딩하는 단계; 및
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 식별 정보가 상기 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하거나 -k=1, ..., Z임-; 또는
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 비트스트림으로 인코딩하며, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하는 단계를 포함하고, 여기서 k=1, ..., Z이다.
선택적으로, 제1 양태의 가능한 구현에서, 코딩을 위한 제3 비트 수를 비트스트림으로 인코딩 단계는:
코딩을 위한 제3 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이를 비트스트림으로 인코딩하는 단계를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 보조 정보 차이는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이; 및
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 보조 정보는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
점유 맵에서의 제1 패치의 높이와 점유 맵에서의 기준 패치의 높이 사이의 차이; 및
점유 맵에서의 제1 패치의 폭과 점유 맵에서의 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제1 양태의 가능한 구현에서, 현재 프레임의 기준 프레임은 현재 프레임의 이전 프레임 또는 현재 프레임의 다음 프레임을 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로:
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하는 단계; 및
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하는 단계 -차이는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-; 및
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하는 단계 -차이는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-; 차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-; 및
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 본 방법은 추가로:
비트스트림을 분석하여 매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용됨-를 포함하고;
X개의 기준 패치의 보조 정보를 획득하는 단계는:
매칭 정보에 기초하여, X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치를 결정하는 단계; 및
X개의 기준 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 보조 정보 차이는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이; 및
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제2 양태의 가능한 구현에서, 보조 정보는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
점유 맵에서의 제1 패치의 높이와 점유 맵에서의 기준 패치의 높이 사이의 차이; 및
점유 맵에서의 제1 패치의 폭과 점유 맵에서의 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제3 양태의 가능한 구현에서, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 획득 모듈은 추가로:
M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고 -Y=M-X이고, Y는 양의 정수임-;
X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하고 -k=1, ..., Z임-;
최대값 Bk가 최대값 Ak 이상이거나 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 이상인 경우, k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심벌인 것으로 결정하거나; 또는
최대값 Bk가 최대값 Ak 미만이거나 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 미만인 경우, k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심벌인 것으로 결정하도록 구성된다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 추가로:
Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보 각각이 제1 심볼인 경우, 제2 식별 정보가 제3 심벌인 것으로 결정하고, 제2 식별 정보를 비트스트림으로 인코딩하고;
최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하도록 구성되며, 여기서 k=1, ..., Z이다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 추가로:
Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보 중 적어도 하나가 제2 심볼인 경우, 제2 식별 정보가 제4 심볼인 것으로 결정하고, Z개의 타입의 보조 정보 및 제2 식별 정보에 대응하는 Z개의 식별 정보를 비트스트림으로 인코딩하고;
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하거나 -k=1, ..., Z임-; 또는
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 비트스트림으로 인코딩하며, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 비트스트림으로 인코딩하도록 구성되며, 여기서 k=1, ..., Z이다.
선택적으로, 제3 양태의 가능한 구현에서, 인코딩 모듈은 구체적으로:
코딩을 위한 제3 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이를 비트스트림으로 인코딩하도록 구성된다.
선택적으로, 제3 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제3 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들 및 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제3 양태의 가능한 구현에서, 보조 정보 차이는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이; 및
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제3 양태의 가능한 구현에서, 보조 정보는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
점유 맵에서의 제1 패치의 높이와 점유 맵에서의 기준 패치의 높이 사이의 차이; 및
점유 맵에서의 제1 패치의 폭과 점유 맵에서의 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제3 양태의 가능한 구현에서, 현재 프레임의 기준 프레임은 현재 프레임의 이전 프레임 또는 현재 프레임의 다음 프레임을 포함한다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로:
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하고;
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되며, k=1, ..., Z이다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되며, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하고 -차이는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하고 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-;
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성된다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 상기 비트스트림으로부터 차이를 획득하고 -차이는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하며 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-;
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성된다.
선택적으로, 제4 양태의 가능한 구현에서, 디코딩 모듈은 추가로:
비트스트림을 분석하여 매칭 정보를 획득하도록 구성되고, 여기서 매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되며;
획득 모듈은 구체적으로:
매칭 정보에 기초하여, X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치를 결정하고;
X개의 기준 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제4 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제4 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제4 양태의 가능한 구현에서, 보조 정보 차이는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이; 및
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 포함한다.
선택적으로, 제4 양태의 가능한 구현에서, 보조 정보는:
3차원 좌표계에서의 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 기준 패치의 최소 X 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
3차원 좌표계에서의 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 기준 패치의 최소 Z 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 X 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 X 좌표값 사이의 차이;
투영 방향에 따른 점유 맵에서의 제1 패치의 최소 Y 좌표값과 투영 방향에 따른 점유 맵에서의 기준 패치의 최소 Y 좌표값 사이의 차이;
점유 맵에서의 제1 패치의 높이와 점유 맵에서의 기준 패치의 높이 사이의 차이; 및
점유 맵에서의 제1 패치의 폭과 점유 맵에서의 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함한다.
제11 양태에 따르면, 본 출원의 실시예는 패치들 사이의 매칭 관계를 결정하기 위한 방법을 제공하고, 이 방법은:
현재 프레임 내의 M개의 제1 패치 및 현재 프레임의 기준 프레임 내의 N개의 기준 패치를 획득하는 단계 -M과 N 양쪽 모두는 양의 정수임-; 및
M개의 제1 패치 및 N개의 기준 패치에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하는 단계 -X는 M 이하이고, X는 N 이하임-를 포함한다.
선택적으로, 제11 양태의 가능한 구현에서, M개의 제1 패치 및 N개의 기준 패치에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하는 단계는:
M개의 제1 패치 및 N개의 기준 패치에 기초하여 M개의 제1 패치와 N개의 기준 패치 사이의 연관 값들을 획득하는 단계; 및
M개의 제1 패치와 N개의 기준 패치 사이의 연관 값들에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하는 단계를 포함한다.
선택적으로, 제11 양태의 가능한 구현에서, M개의 제1 패치와 N개의 기준 패치 사이의 연관 값들에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하는 단계는:
N개의 기준 패치 내의 i번째 기준 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 기준 패치 사이의 연관 값들을 획득하고, j개의 연관 값 중 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치는: 현재 프레임 내의 M개의 제1 패치에서, i번째 기준 패치 이전의 (i-1)개의 기준 패치와 매칭되지 않고, 투영 방향이 i번째 기준 패치의 투영 방향과 동일한 제1 패치를 포함하고, j는 M 이하이고, k는 j 이하이며, j, k, 및 M은 모두 양의 정수임-; 및
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 기준 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-를 포함한다.
선택적으로, 제11 양태의 가능한 구현에서, 연관 값은 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫이고;
제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는
제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이고;
제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역에 대응하는 행렬 영역이다.
선택적으로, 제11 양태의 가능한 구현에서, M개의 제1 패치 및 N개의 기준 패치에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하는 단계는:
기준 프레임 내의 N개의 기준 패치의 정렬 순서 및 현재 프레임 내의 M개의 제1 패치의 정렬 순서에 기초하여, X개의 제1 패치가 X개의 기준 패치와 각각 매칭되는 것을 결정하는 단계를 포함한다.
선택적으로, 제11 양태의 가능한 구현에서, 본 방법은 추가로:
X개의 제1 패치와 X개의 기준 패치 사이의 매칭의 시퀀스에 기초하여 현재 프레임 내의 X개의 제1 패치를 정렬하는 단계; 및
X개의 제1 패치 이후에, 현재 프레임 내의 X개의 제1 패치 이외의 적어도 하나의 제1 패치를 배열하는 단계를 추가로 포함한다.
제12 양태에 따르면, 본 출원의 실시예는 인코딩 방법을 제공하며, 이 인코딩 방법은:
매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되고, X개의 기준 패치는 현재 프레임의 기준 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이고, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-; 및
매칭 정보를 비트스트림으로 인코딩하는 단계를 포함한다.
선택적으로, 제12 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제12 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제12 양태의 가능한 구현에서, 본 방법은 추가로:
X개의 그룹의 보조 정보 차이를 비트스트림으로 인코딩하는 단계를 포함하고, 여기서 X개의 그룹의 보조 정보 차이는 각각 X개의 제1 패치의 보조 정보와 X개의 기준 패치의 보조 정보 사이의 차이들을 표시한다.
선택적으로, 제12 양태의 가능한 구현에서, 본 방법은 추가로: X를 비트스트림으로 인코딩하는 단계를 포함하거나; 또는 본 방법은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고, 코딩을 위한 제4 비트 수를 사용하여 X를 비트스트림으로 인코딩하는 단계를 포함한다.
제13 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공하고, 이 디코딩 방법은:
비트스트림을 분석하여 매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되고, X는 현재 프레임 내의 기준 패치와 매칭되는 제1 패치들의 수를 나타내고, 기준 패치는 현재 프레임의 기준 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이고, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-; 및
매칭 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제13 양태의 가능한 구현에서, 매칭 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계는:
매칭 정보에 기초하여 X개의 기준 패치를 결정하는 단계; 및
X개의 기준 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제13 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제13 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제13 양태의 가능한 구현에서, 본 방법은 추가로:
비트스트림을 분석하여 X개의 그룹의 보조 정보 차이를 획득하는 단계 -X개의 그룹의 보조 정보 차이는 X개의 제1 패치의 보조 정보와 X개의 기준 패치의 보조 정보 사이의 차이들을 각각 표시함-를 포함하고;
매칭 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계는:
매칭 정보에 기초하여 X개의 기준 패치를 결정하는 단계; 및
X개의 그룹의 보조 정보 차이 및 X개의 기준 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, 제13 양태의 가능한 구현에서, 본 방법은 추가로: 비트스트림을 분석하여 X를 획득하는 단계를 포함하거나; 또는 본 방법은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고, 코딩을 위한 제4 비트 수를 사용하여 비트스트림을 분석하여 X를 획득하는 단계를 포함한다.
제14 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공하고, 이 디코딩 방법은:
비트스트림을 분석하여 제2 식별 정보를 획득하는 단계;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하는 단계; 및
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용함으로써 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이고, Z≥1이며, Y와 Z 양쪽 모두는 양의 정수이다.
선택적으로, 제14 양태의 가능한 구현에서, 본 방법은 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제14 양태의 가능한 구현에서, 본 방법은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함한다.
제15 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공하고, 이 디코딩 방법은:
비트스트림을 분석하여 제2 식별 정보를 획득하는 단계;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터 제1 식별 정보를 획득하는 단계; 및
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용함으로써 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이고, Z≥1이며, Y와 Z 양쪽 모두는 양의 정수이다.
선택적으로, 제15 양태의 가능한 구현에서, 본 방법은 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제15 양태의 가능한 구현에서, 본 방법은 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함한다.
제16 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공하고, 이 디코딩 방법은:
비트스트림을 분석하여 제2 식별 정보를 획득하는 단계;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하는 단계;
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하는 단계 -차이는 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수임-; 및
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z이고, Z≥1이고, Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-를 포함한다.
선택적으로, 제16 양태의 가능한 구현에서, 본 방법은 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제16 양태의 가능한 구현에서, 본 방법은 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치의 수를 나타낸다.
제17 양태에 따르면, 본 출원의 실시예는 디코딩 방법을 제공하고, 이 디코딩 방법은:
비트스트림을 분석하여 제2 식별 정보를 획득하는 단계;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터 제1 식별 정보를 획득하는 단계;
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하는 단계 -차이는 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수임-; 및
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z이고, Z≥1이고, Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-를 포함한다.
선택적으로, 제17 양태의 가능한 구현에서, 본 방법은 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함하고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제17 양태의 가능한 구현에서, 본 방법은 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계를 포함한다.
제18 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는, 패치들 사이의 매칭 관계를 결정하기 위한 장치를 제공하며, 여기서
메모리는 소프트웨어 프로그램 명령어를 저장하도록 구성되고; 프로세서는:
현재 프레임 내의 M개의 제1 패치 및 현재 프레임의 기준 프레임 내의 N개의 기준 패치를 획득하고 -M과 N 양쪽 모두는 양의 정수임-;
M개의 제1 패치 및 N개의 기준 패치에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하도록 구성되고, 여기서 X는 M 이하이다.
선택적으로, 제18 양태의 가능한 구현에서, 프로세서는 구체적으로:
M개의 제1 패치 및 N개의 기준 패치에 기초하여 M개의 제1 패치와 N개의 기준 패치 사이의 연관 값들을 획득하고;
M개의 제1 패치와 N개의 기준 패치 사이의 연관 값들에 기초하여 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 결정하도록 구성된다.
선택적으로, 제18 양태의 가능한 구현에서, 프로세서는 구체적으로:
N개의 기준 패치 내의 i번째 기준 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 기준 패치 사이의 연관 값들을 획득하고, j개의 연관 값 중 최대 연관 값 Qik를 결정하고 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치는: 현재 프레임 내의 M개의 제1 패치에서, i번째 기준 패치 이전의 (i-1)개의 기준 패치와 매칭되지 않고, 투영 방향이 i번째 기준 패치의 투영 방향과 동일한 제1 패치를 포함하고, j는 M 이하이고, k는 j 이하이며, j, k, 및 M은 모두 양의 정수임-;
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 기준 패치와 매칭되는 것으로 결정하도록 구성되고, 여기서 k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나이다.
선택적으로, 제18 양태의 가능한 구현에서, 연관 값은 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫이고;
제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는
제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이고;
제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역에 대응하는 행렬 영역이다.
선택적으로, 제18 양태의 가능한 구현에서, 프로세서는 구체적으로:
기준 프레임 내의 N개의 기준 패치의 정렬 순서 및 현재 프레임 내의 M개의 제1 패치의 정렬 순서에 기초하여, X개의 제1 패치가 X개의 기준 패치와 각각 매칭되는 것을 결정하도록 구성된다.
선택적으로, 제18 양태의 가능한 구현에서, 프로세서는 추가로:
X개의 제1 패치와 X개의 기준 패치 사이의 매칭의 시퀀스에 기초하여 현재 프레임 내의 X개의 제1 패치를 정렬하고;
X개의 제1 패치 이후에, 현재 프레임 내의 X개의 제1 패치 이외의 적어도 하나의 제1 패치를 배열하도록 구성된다.
제19 양태에 따르면, 본 출원의 실시예는 인코딩 장치를 제공하고, 이 인코딩 장치는:
매칭 정보를 획득하도록 구성되는 획득 모듈 -매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되고, X개의 기준 패치는 현재 프레임의 기준 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이고, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-; 및
매칭 정보를 비트스트림으로 인코딩하도록 구성되는 인코딩 모듈을 포함한다.
선택적으로, 제19 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제19 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제19 양태의 가능한 구현에서, 인코딩 모듈은 추가로:
X개의 그룹의 보조 정보 차이를 비트스트림으로 인코딩하도록 구성되고, 여기서 X개의 그룹의 보조 정보 차이는 각각 X개의 제1 패치의 보조 정보와 X개의 기준 패치의 보조 정보 사이의 차이들을 표시한다.
선택적으로, 제19 양태의 가능한 구현에서, 인코딩 모듈은 추가로 X를 비트스트림으로 인코딩하도록 구성되거나; 또는
인코딩 모듈은 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고, 코딩을 위한 제4 비트 수를 사용하여 X를 비트스트림으로 인코딩하도록 구성된다.
제20 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 디코딩 장치를 제공하고,
메모리는 프로그램 명령어를 저장하도록 구성되고;
프로세서는:
비트스트림을 분석하여 매칭 정보를 획득하고 -매칭 정보는 X개의 제1 패치와 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되고, X는 현재 프레임 내의 기준 패치와 매칭되는 제1 패치들의 수를 나타내고, 기준 패치는 현재 프레임의 기준 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이고, M은 현재 프레임 내의 제1 패치들의 수를 나타냄-;
매칭 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제20 양태의 가능한 구현에서, 프로세서는 구체적으로:
매칭 정보에 기초하여 X개의 기준 패치를 결정하고;
X개의 기준 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제20 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제20 양태의 가능한 구현에서, 매칭 정보는:
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들; 또는
X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함한다.
선택적으로, 제20 양태의 가능한 구현에서, 프로세서는 추가로:
비트스트림을 분석하여 X개의 그룹의 보조 정보 차이를 획득하도록 구성되고, X개의 그룹의 보조 정보 차이는 X개의 제1 패치의 보조 정보와 X개의 기준 패치의 보조 정보 사이의 차이들을 각각 표시하고;
프로세서는 구체적으로:
매칭 정보에 기초하여 X개의 기준 패치를 결정하고;
X개의 그룹의 보조 정보 차이 및 X개의 기준 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, 제20 양태의 가능한 구현에서, 프로세서는 추가로 비트스트림을 분석하여 X를 획득하도록 구성되거나; 또는
프로세서는 추가로: M에 기초하여 코딩을 위한 제4 비트 수를 결정하고, 코딩을 위한 제4 비트 수를 사용하여 비트스트림을 분석하여 X를 획득하도록 구성된다.
제21 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 디코딩 장치를 제공하고,
메모리는 프로그램 명령어를 저장하도록 구성되고;
프로세서는:
비트스트림을 분석하여 제2 식별 정보를 획득하고;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하고;
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용함으로써 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이고, Z≥1이며, Y와 Z 양쪽 모두는 양의 정수이다.
선택적으로, 제21 양태의 가능한 구현에서, 프로세서는 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제21 양태의 가능한 구현에서, 프로세서는 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
제22 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 디코딩 장치를 제공하고,
메모리는 프로그램 명령어를 저장하도록 구성되고;
프로세서는:
비트스트림을 분석하여 제2 식별 정보를 획득하고;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터 제1 식별 정보를 획득하고;
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용함으로써 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z이고, Z≥1이며, Y와 Z 양쪽 모두는 양의 정수이다.
선택적으로, 제22 양태의 가능한 구현에서, 프로세서는 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제22 양태의 가능한 구현에서, 프로세서는 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
제23 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 디코딩 장치를 제공하고,
메모리는 프로그램 명령어를 저장하도록 구성되고;
프로세서는:
비트스트림을 분석하여 제2 식별 정보를 획득하고;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터, Z개의 타입의 보조 정보에 대응하는 Z개의 식별 정보를 획득하고;
k번째 타입의 보조 정보에 대응하는 식별 정보가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하고 -차이는 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하고 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수임-;
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 k=1, ..., Z이고, Z≥1이고, Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제23 양태의 가능한 구현에서, 프로세서는 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제23 양태의 가능한 구현에서, 프로세서는 추가로:
k번째 타입의 보조 정보에 대응하는 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성된다.
제24 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 디코딩 장치를 제공하고,
메모리는 프로그램 명령어를 저장하도록 구성되고;
프로세서는:
비트스트림을 분석하여 제2 식별 정보를 획득하고;
제2 식별 정보가 제4 심볼인 경우, 비트스트림으로부터 제1 식별 정보를 획득하고;
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림으로부터 차이를 획득하고 -차이는 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이임-;
차이 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하고 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수임-;
코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 k=1, ..., Z이고, Z≥1이고, Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제24 양태의 가능한 구현에서, 프로세서는 추가로:
제2 식별 정보가 제3 심볼인 경우, 현재 프레임 내의 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 현재 프레임 내의 X개의 제1 패치 이외의 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 Y=M-X이고, X, Y, 및 M은 모두 양의 정수이며, M은 현재 프레임 내의 제1 패치들의 수를 나타낸다.
선택적으로, 제24 양태의 가능한 구현에서, 프로세서는 추가로:
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성된다.
본 출원의 실시예들은 인코딩 방법, 디코딩 방법, 및 장치를 제공한다. X개의 제1 패치는 2개의 인접한 프레임의 포인트 클라우드 데이터 사이의 상관 관계를 사용하여 현재 프레임 내의 M개의 제1 패치로부터 결정되고, 여기서 X개의 제1 패치와 현재 프레임의 이전 프레임 내의 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 존재하고; X개의 그룹의 보조 정보 차이는 X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 획득되며; X개의 그룹의 보조 정보 차이가 인코딩된다. 이것은 코딩 손실을 감소시키고 코딩 성능을 향상시킨다.
도 1은 기존 포인트 클라우드 데이터 분할(point cloud data partitioning)의 개략도이고;
도 2는 기존 점유 맵의 개략도이고;
도 3은 기존 포인트 클라우드 데이터 패킹 방법의 흐름도이고;
도 4는 기존의 인코딩 방법의 흐름도이고;
도 5는 본 출원의 실시예 1에 따른 인코딩 방법의 흐름도이고;
도 6은 본 출원의 실시예 2에 따른 인코딩 방법의 흐름도이고;
도 7은 본 출원의 실시예 3에 따른 인코딩 방법의 흐름도이고;
도 8은 본 출원의 실시예 1에 따른 디코딩 방법의 흐름도이고;
도 9는 본 출원의 실시예에 따른 점유 맵의 개략도이고;
도 10은 본 출원의 실시예 1에 따른 인코딩 장치의 개략적인 구조도이고;
도 11은 본 출원의 실시예 1에 따른 디코딩 장치의 개략적인 구조도이고;
도 12는 본 출원의 실시예 1에 따른 인코더의 개략적인 구조도이며;
도 13은 본 출원의 실시예 1에 따른 디코더의 개략적인 구조도이다.
본 출원의 실시예들은 각각의 프레임의 포인트 클라우드 데이터를 개별적으로 처리함으로써 발생하는 코딩/압축 성능 손실의 기존의 기술적 문제를 해결하기 위한 인코딩 방법, 디코딩 방법, 및 장치를 제공한다.
다음은 기존의 포인트 클라우드 데이터 처리 방법을 간략하게 설명한다. 포인트 클라우드 데이터 분할 스테이지, 포인트 클라우드 데이터 패킹(또는 패킹이라고 지칭됨) 스테이지, 보조 정보 인코딩 스테이지, 및 보조 정보 디코딩 스테이지의 4개의 스테이지가 포함된다.
(1) 포인트 클라우드 데이터 분할 스테이지
포인트 클라우드 데이터는 미리 설정된 규칙에 따라 분할되어 복수의 패치(또는 패치들이라고 지칭됨)를 획득한다. 각각의 패치는 접속된 컴포넌트 영역이고, 임의의 2개의 패치 사이에는 중첩 영역이 존재하지 않는다.
예를 들어, 도 1은 기존 포인트 클라우드 데이터 분할의 개략도이다. 도 1의 좌측은 3차원 좌표계에서의 포인트 클라우드 데이터를 도시하며, 여기서 포인트 클라우드 데이터는 측정 기기를 사용하여 획득된, 인물 사진(11)의 외관 표면의 포인트 데이터 세트를 포함한다. 3차원 좌표계는 x축, y축, 및 z축을 포함한다. z축의 음의 방향을 투영 방향에 따른 사용하면, 도 1의 우측은 포인트 클라우드 데이터의 분할 결과를 도시한다. 설명의 편의를 위해, x축 및 y축에 기초하여 결정된 2차원 평면을 사용하여 패치를 설명한다. 도 1의 우측에 도시된 바와 같이, 포인트 클라우드 데이터는 6개의 패치: 패치(12) 내지 패치(17)로 분할될 수 있다.
3개의 좌표축들에 기초하여 3차원 좌표계에는 총 6개의 투영 방향: x축의 양의 방향, x축의 음의 방향, y축의 양의 방향, y축의 음의 방향, z축의 양의 방향, 및 z축의 음의 방향이 존재한다는 점에 유의해야 한다. 포인트 클라우드 데이터는 적어도 하나의 투영 방향에 따른 분할되어 복수의 패치를 형성할 수 있다.
(2) 포인트 클라우드 데이터 패킹(packing) 스테이지
패킹(packing)은 수학에서의 최적화 문제이고, 패킹은 상이한 크기의 박스들을 하나의 컨테이너 내에 배치하여, 컨테이너 밀도를 높이거나 더 적은 컨테이너를 사용하는 방법을 의미한다. 포인트 클라우드 데이터 패킹은 투영 방향에 따른 3차원에서 2차원으로 다양한 형상의 복수의 패치를 투영하여, 모든 패치가 특정 규칙에 따라 하나의 2차원 이미지로 조밀하게 배열될 수 있게 함으로써, 2차원 이미지가 더 적은 갭들을 포함하게 하거나 타겟 이미지를 더 작게 만들 수 있다는 것을 의미한다. 모든 패치들을 배열하는 이러한 프로세스는 포인트 클라우드 데이터 패킹(packing)이라고 지칭된다. 스테이지에서, 패치들은 3차원에서 2차원으로 투영될 수 있고, 패치들에 대응하는 보조 정보가 획득될 수 있다. 관련 개념들이 먼저 설명된다.
1. 투영 이미지
패치들은 3차원에서 2차원으로 투영되고, 그 후 패킹 시퀀스에 기초하여 2차원 투영 이미지를 형성한다.
투영 이미지는 깊이 투영 맵 및 텍스처 투영 맵을 포함할 수 있다. 깊이 투영 맵은 다양한 패치들을 투영함으로써 획득된 깊이 맵들을 사용함으로써 패킹 시퀀스에 기초하여 생성되는 2차원 이미지이다. 텍스처 투영 맵은 다양한 패치들을 투영함으로써 획득된 텍스처 맵들을 사용함으로써 패킹 시퀀스에 기초하여 생성되는 2차원 이미지이다. 깊이 투영 맵의 폭 및 높이는 텍스처 투영 맵과 동일할 수 있다.
2. 점유 맵(또는 점유 맵(occupancy map)이라고 지칭됨)
점유 맵은 2차원 이진 이미지이며, 투영 이미지 내의 픽셀 위치가 포인트 클라우드 데이터 내의 포인트에 의해 점유되는지를 표시하는데 사용된다. 일반적으로, 사용된 코딩 비트의 양을 감소시키기 위해, 점유 맵의 해상도는 투영 이미지보다 낮다.
예를 들어, 도 2는 기존 점유 맵의 개략도이다. 도 2의 좌측 및 우측은 각각 2개의 인접한 프레임 내의 패치들에 대응하는 점유 맵들을 도시한다. 상이한 글자들은 패치들의 상이한 투영 방향들 또는 법선 축들을 나타낸다. 문자 A 내지 F는 각각 투영 방향들 또는 법선 축들: x축의 양의 방향, x축의 음의 방향, y축의 양의 방향, y축의 음의 방향, z축의 양의 방향, 및 z축의 음의 방향을 나타낼 수 있다. 예를 들어, 패치들(21 내지 25)은 도 2의 좌측에 포함되고, 패치들(31 내지 35)은 도 2의 우측에 포함된다. 이것은 연속적으로 분산된 동일 문자들을 사용함으로써 디스플레이되는 포인트들(샘플들)이 하나의 패치에 의해 점유되고, 패치에 의해 실제로 점유되는 영역은 유효 영역이라고 지칭될 수 있다는 것을 표시한다. 이것은 문자로 디스플레이되지 않은 포인트들이 포인트 클라우드 데이터에 의해 점유되지 않고, 이러한 포인트들에 의해 형성되는 영역은 무효 영역이라고 지칭될 수 있다는 것을 나타낸다.
3. 보조 정보
보조 정보는 패치의 위치 정보를 표시할 수 있다. 다음은 표 1에 기초하여 설명한다.
표 1에서, u1, v1, 및 d1은 3차원 좌표계에서의 패치의 위치를 표시한다. 포인트 클라우드 데이터의 분할이 완료된 후에, 패치의 u1, v1, 및 d1이 획득될 수 있다. 표 1에서, sizeU 및 sizeV는 투영 이미지에서의 패치의 폭 및 높이를 표시한다. 패치가 투영 방향에 따른 3차원에서 2차원으로 투영된 후에, sizeU 및 sizeV가 획득될 수 있다. sizeU와 sizeU0 사이의 특정 대응관계 및 sizeV와 sizeV0 사이의 특정 대응관계가 있을 수 있다. 구체적으로, 대응관계는 점유 맵의 해상도와 관련될 수 있다. u0, v0, sizeU0, 및 sizeV0는 점유 맵에서의 패치의 위치를 표시한다. sizeU0와 sizeV0은 sizeU 및 sizeV에 기초하여 획득될 수 있다. u0 및 v0은 특정 규칙에 따라 점유 맵 내의 모든 패치를 조밀하게 배열함으로써 획득될 수 있다.
표 1: 패치의 보조 정보
명칭 설명
보조 정보 u1 3차원 좌표계에서의 패치의 최소 x 좌표값
v1 3차원 좌표계에서의 패치의 최소 y 좌표값
d1 3차원 좌표계에서의 패치의 최소 z 좌표값
u0 점유 맵에서의 패치의 최소 x 좌표값
v0 점유 맵에서의 패치의 최소 y 좌표값
sizeU 투영 이미지에서의 패치의 폭
sizeV 투영 이미지에서의 패치의 높이
sizeU0 점유 맵에서의 패치의 폭
sizeV0 점유 맵에서의 패치의 높이
normalAxis 값이 예를 들어, 0 내지 2를 범위로 하며 x축, y축, 및 z축에 대응하는 패치의 법선 축 또는 투영 방향의 인덱스
Occupancy 패치의 점유 맵(occupancy map)
OccupancyResolution 값이 예를 들어, 16인 점유 맵의 해상도
Depth 패치에 대해 투영이 수행된 후에 형성된 깊이 맵
도 3은 기존 포인트 클라우드 데이터 패킹 방법의 흐름도이다. 도 3에 도시된 바와 같이, 기존의 포인트 클라우드 데이터 패킹 방법은 각각의 프레임의 포인트 클라우드 데이터를 개별적으로 처리하는데 사용되고, 다음의 단계들을 포함할 수 있다.
S101. 현재 프레임 내의 패치들을 정렬한다.
구체적으로, 패치들은 패치들이 2차원 평면 상에 투영된 후에 패치들의 높이들의 내림차순으로 정렬될 수 있다. 동일한 높이를 갖는 복수의 패치에 대해, 복수의 패치는 복수의 패치가 2차원 평면 상에 투영된 후에 패치들의 폭들의 내림차순으로 정렬될 수 있기에, 모든 패치들의 정렬이 완료될 수 있다. 전술한 방법에 따르면, 현재 프레임 내의 패치들의 정렬 순서는 다음과 같이 획득될 수 있다: patch[1], ..., patch[i], ..., patch[M], 여기서 0<i≤M이고, M은 현재 프레임 내의 패치들의 수를 나타낸다.
S102. 현재 프레임의 점유 맵의 높이 및 폭의 초기값을 획득한다.
계산 공식은 다음과 같다:
점유 맵의 폭의 최소값 = 점유 맵의 투영 이미지/해상도의 폭의 최소값;
점유 맵의 폭의 초기값 = max(점유 맵의 폭의 최소값, 점유 맵에서의 i번째 패치의 폭 + 1) -0<i≤M임-;
점유 맵의 높이의 최소값 = 점유 맵의 투영 이미지/해상도의 높이의 최소값;
점유 맵의 높이의 초기값 = max(점유 맵의 높이의 최소값, 점유 맵에서의 i번째 패치의 높이) -0<i≤M임; 및
점유 맵의 초기 크기 = 점유 맵의 높이의 초기값 x 점유 맵의 폭의 초기값.
S103. 현재 프레임 내의 패치들의 정렬 순서에 기초하여 i번째 패치 patch[i]를 획득하고, 여기서 0<i≤M이다.
S104. 왼쪽에서 오른쪽 방향으로 그리고 위에서 아래 방향으로, i번째 패치 patch[i]가 점유 맵 내에 삽입될 수 있는지를 결정한다.
i번째 패치 patch[i]가 삽입될 수 있는 경우, 점유 맵에서의 i번째 패치 patch[i]의 위치(u0, v0)가 획득된다. 그 후, M번째 패치 patch[M]가 획득될 때까지 S103이 다시 수행된다.
i번째 패치 patch[i]가 점유 맵 내에 삽입될 수 있는 위치가 존재하지 않는 경우, S105가 수행된다.
새로운 패치는 점유 맵에서의 패치들에 의해 점유된 위치들에 삽입될 수 없다.
S105. 점유 맵의 높이 및 폭을 2배로 한다.
또한, i번째 패치 patch[i]가 삽입될 수 있을 때까지, S104가 다시 수행된다.
다음은 특정 예를 사용하여 도 2를 참조하여 설명한다.
도 2의 좌측을 참조하면, 처음 5개의 패치가 패치들(21 내지 25)로서 연속적으로 정렬되고, 투영 방향들이 문자들 C, F, A, D, A에 의해 각각 식별된다고 가정된다. 점유 맵이 충분히 크다고 가정하면, S105는 수행되지 않는다. 포인트 클라우드 데이터 패킹 방법은 다음과 같다: 패치들의 정렬 순서에 기초하여 패치(21)를 획득하여, 패치(21)를 좌측에서 우측 방향으로 그리고 상부에서 하부 방향으로 점유 맵 내에 삽입하고; 패치(22)를 획득하여, 패치(22)를 좌측에서 우측 방향으로 그리고 상부에서 하부 방향으로 점유 맵 내에 삽입하고; 패치(23)를 획득하여, 패치(23)를 좌측에서 우측 방향으로 그리고 상부에서 하부 방향으로 점유 맵 내에 삽입하고; 패치(24)를 획득하여, 패치(24)를 좌측에서 우측 방향으로 그리고 상부에서 하부 방향으로 점유 맵 내에 삽입하며; 패치(25)를 획득하여, 패치(25)를 좌측에서 우측 방향으로 그리고 상부에서 하부 방향으로 점유 맵 내에 삽입한다.
포인트 클라우드 데이터 패킹(packing)이 완료된 후에, 점유 맵에서, 현재 프레임 내의 모든 패치의 위치들이 결정될 수 있다. 그 후, 패치들의 보조 정보가 인코딩될 수 있다.
(3) 보조 정보 인코딩 스테이지
패치의 다음 몇가지 타입의 보조 정보를 인코딩하는 것이 주로 포함된다. 보조 정보는 u0, v0, u1, v1, d1, sizeU0, 및 sizeV0 중 적어도 하나를 포함할 수 있다. u0, v0, u1, v1 및 d1에는 고정된 비트 수의 고정-길이 코딩이 사용될 수 있다. 인덱스 Golomb-Rice(Glomb-Rice) 코딩은 sizeU0 및 sizeV0에 사용될 수 있다. 전술한 인코딩 방법도 다른 보조 정보를 인코딩하는데 사용될 수도 있다는 점에 유의해야 한다.
인코딩 방법에서의 입력 정보는 현재 프레임 내의 패치들의 수 M 및 각각의 패치의 보조 정보이다. 입력 정보는 비트스트림을 획득하기 위해 인코딩될 수 있고, 비트스트림은 디코딩 장치의 입력 정보로서 사용된다.
도 4는 기존의 인코딩 방법의 흐름도이다. 도 4에 도시된 바와 같이, 기존의 인코딩 방법은 각각의 프레임 내의 패치의 보조 정보를 개별적으로 처리하기 위해 사용되고, 다음의 단계들을 포함할 수 있다.
S201. 현재 프레임 내의 패치들의 수 M에 대해 32비트 인코딩을 수행한다.
예를 들어, M은 200이다. 인코딩 후에 획득된 비트스트림은 0 x C8을 포함할 수 있다.
S202. 패치의 보조 정보를 인코딩하고, 여기서 보조 정보는 u0, v0, u1, v1, 및 d1 중 적어도 하나를 포함한다.
각각의 타입의 보조 정보에 대해, 현재 프레임 내의 모든 패치의 보조 정보의 타입의 최대값이 획득된다. 코딩에 필요한 비트 수는 최대값에 기초하여 결정되고, 코딩을 위한 비트 수에 대해 8비트 인코딩이 수행된다. 현재 프레임 내의 모든 패치의 보조 정보의 타입은 코딩을 위한 비트 수를 사용하여 인코딩된다.
다음은 특정 예들을 사용하여 설명한다.
보조 정보는 u0 및 v0을 포함하고, 현재 프레임에는 3개의 패치가 존재하고, 3개의 패치의 보조 정보 u0의 십진수 값들은 각각 2, 5, 및 9이고, 3개의 패치의 보조 정보 v0의 십진수 값들은 각각 3, 4, 및 7이라고 가정된다.
인코딩 방법은 구체적으로 다음과 같다.
보조 정보 u0에 대해, 현재 프레임 내의 3개의 패치의 보조 정보 u0은 최대값이 9인 {2, 5, 9}이다. 고정된 비트 수를 갖는 고정-길이 코딩은 9에 사용되고, 코딩에 필요한 비트 수는 4이다. 코딩을 위한 비트 수 4에 대해 8비트 인코딩이 먼저 수행되고, 인코딩 후에 획득된 비트스트림은 0x4를 포함한다. 그 후, 현재 프레임 내의 3개의 패치의 보조 정보 u0은 코딩을 위한 비트 수 4를 사용하여 연속적으로 인코딩되고, 인코딩 후에 획득된 비트스트림은 0x2, 0x5, 및 0x9를 포함한다.
보조 정보 v0에 대해, 현재 프레임 내의 3개의 패치의 보조 정보 v0은 최대값이 7인 {3, 4, 7}이다. 고정된 비트 수의 고정-길이 코딩은 7에 사용되고, 코딩에 필요한 비트 수는 3이다. 코딩을 위한 비트 수 3에 대해 8비트 인코딩이 먼저 수행되고, 인코딩 후에 획득된 비트스트림은 0x3을 포함한다. 그 후, 현재 프레임 내의 3개의 패치의 보조 정보 v0은 코딩을 위한 비트 수 3을 사용하여 연속적으로 인코딩되고, 인코딩 후에 획득된 비트스트림은 0x3, 0x4, 및 0x7을 포함한다.
S203. 패치의 보조 정보를 인코딩하고, 여기서 보조 정보는 sizeU0 및 sizeV0을 포함한다.
보조 정보 sizeU0에 대해, 현재 프레임 내의 i번째 패치의 보조 정보 차이 delta_sizeU0 = sizeU0 - pre_sizeU0이 획득되고, delta_sizeU0에 대해 인덱스 Glomb Rice 코딩이 수행되며, 여기서 sizeU0은 i번째 패치의 보조 정보 sizeU0을 나타내고, pre_sizeU0은 (i-1)번째 패치의 보조 정보 sizeU0을 나타내고, 0<i≤M이다.
보조 정보 sizeV0에 대해, 현재 프레임 내의 i번째 패치의 보조 정보 차이 delta_sizeV0 = pre_sizeV0 - sizeV0이 획득되고, delta_sizeV0에 대해 인덱스 Glomb Rice 코딩이 수행되고, 여기서 sizeV0은 i번째 패치의 보조 정보 sizeV0을 나타내고, pre_sizeV0은 (i-1)번째 패치의 보조 정보 sizeV0을 나타낸다.
현재 프레임 내의 첫번째 패치의 보조 정보 차이가 획득되어야 할 때, pre_sizeU0은 제1 미리 설정된 값, 예를 들어, 0일 수 있고; pre_sizeV0은 제2 미리 설정된 값일 수 있다.
인코딩 프로세스에서, S202 및 S203의 실행 시퀀스는 제한되지 않는다는 점에 유의해야 한다. S202에서, 복수의 타입의 보조 정보가 있는 경우, 다양한 타입의 보조 정보의 인코딩 시퀀스가 제한되지 않는다. 예를 들어, 3가지 타입의 보조 정보: u1, v1, 및 d1이 존재하는 경우, 인코딩 시퀀스는 현재 프레임 내의 이전 패치의 u1, v1, 및 d1을 인코딩하는 것, 현재 프레임 내의 현재 패치의 u1, v1, 및 d1을 인코딩하는 것, 현재 프레임 내의 다음 패치의 u1, v1, 및 d1을 인코딩하는 것 등일 수 있다. 대안적으로, 인코딩 시퀀스는 현재 프레임 내의 모든 패치의 u1을 인코딩하는 것, 현재 프레임 내의 모든 패치의 v1을 인코딩하는 것, 현재 프레임 내의 모든 패치의 d1을 인코딩하는 것일 수 있다. 유사하게, S203에서, sizeU0 및 sizeV0의 인코딩 시퀀스는 제한되지 않는다. 인코딩 장치 및 디코딩 장치는 인코딩 및 디코딩 시퀀스들을 미리 정의할 수 있다는 점에 유의해야 한다.
(4) 보조 정보 디코딩 스테이지
디코딩 방법에서의 입력 정보는 인코딩 장치에 의해 출력되는 비트스트림이다. 디코딩 방법은 인코딩 방법에 대응한다.
다음은 보조 정보가 u0, v0, u1, v1, d1, sizeU0, 및 sizeV0을 포함하고, u0, v0, u1, v1, 및 d1이 sizeU0 및 sizeV0 전에 인코딩되는 예를 사용하여 기존의 디코딩 방법을 설명한다. 기존의 디코딩 방법은 각각의 프레임 내의 패치의 보조 정보를 개별적으로 처리하기 위해 사용되고, 다음의 단계들을 포함할 수 있다.
S301. 비트스트림으로부터 32 비트를 디코딩하여 현재 프레임 내의 패치들의 수 M을 획득한다.
S302. 비트스트림으로부터 연속적인 5개의 8 비트를 디코딩하여, u0, v0, u1, v1, 및 d1의 최대값을 인코딩하는데 필요한 비트 수를 연속적으로 획득한다.
S303. 현재 프레임 내의 패치들의 수 M 및 u0, v0, u1, v1, 및 d1에 각각 대응하는 코딩을 위한 비트 수에 기초하여 비트스트림으로부터 디코딩을 연속적으로 수행하여, 현재 프레임 내의 패치들의 u0, v0, u1, v1, 및 d1의 값을 획득한다.
S304. 인덱스 Glomb Rice 방법을 사용하여 현재 프레임 내의 패치들의 수 M에 기초하여 디코딩을 수행함으로써, 현재 프레임 내의 각각의 패치의 sizeU0에 대한 차이 delta_sizeU0 및 현재 프레임 내의 각각의 패치의 sizeV0에 대한 차이 delta_sizeV0을 획득하고; sizeU0 = pre_sizeU0 + delta_sizeU0 및 sizeV0 = pre_sizeV0 - delta_sizeV0에 따라, 현재 프레임 내의 각각의 패치의 sizeU0 및 sizeV0의 값을 획득한다.
기존의 보조 정보 인코딩 및 디코딩 방법들은 각각의 프레임 내의 패치의 보조 정보에 대한 인코딩 처리 및 디코딩 처리를 개별적으로 수행하기 위해서만 사용되지만, 연속적인 프레임들의 포인트 클라우드 데이터 사이에 매우 밀접한 상관 관계가 있어서, 보조 정보 코딩의 압축 성능 손실을 초래한다는 것을 알 수 있다.
다음은 특정 실시예들을 사용하여, 본 출원에서의 기술적 해결책들을 상세히 설명하고 본 출원에서의 기술적 해결책들을 통해 전술한 기술적 문제를 해결하는 방식을 설명한다. 다음의 몇가지 특정 실시예들은 서로 결합될 수 있고, 일부 실시예들에서 동일하거나 유사한 개념 또는 프로세스는 반복하여 설명되지 않을 수 있다.
본 출원의 명세서, 청구범위, 및 첨부 도면들에서, "제1", "제2", "제3", "제4" 등(존재한다면)의 용어들은 유사한 대상들을 구별하고자 하는 것이지, 반드시 특정 순서 또는 시퀀스를 표시하는 것은 아니다.
도 5는 본 출원의 실시예 1에 따른 인코딩 방법의 흐름도이다. 이 실시예에서 제공되는 인코딩 방법은 인코딩 장치에 의해 수행될 수 있다. 도 5에 도시된 바와 같이, 이 실시예에서 제공되는 인코딩 방법은 다음의 단계들을 포함할 수 있다.
S401. 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정한다.
X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있고, X개의 제2 패치는 현재 프레임의 이전 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이다.
구체적으로, 현재 프레임 내의 패치는 제1 패치라고 지칭될 수 있고, 현재 프레임 내의 패치들의 수는 M이다. 현재 프레임의 이전 프레임 내의 패치는 제2 패치라고 지칭될 수 있다. 현재 프레임 내의 X개의 제1 패치와 이전 프레임 내의 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있다. 다시 말해서, X개의 제1 패치 및 X개의 제2 패치로부터 연속적인 프레임들의 포인트 클라우드 데이터 사이에는 특정 상관 관계가 있다는 것을 알 수 있다. 상관 관계는 후속 인코딩 및 디코딩 동안 이용될 수 있다.
M 및 X의 특정 값들은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 또한, 이전 프레임 내의 제2 패치들의 수가 N0으로 정의되면, X는 N0 이하이다. 다시 말해서, X ≤ min(M, N0)이고, 여기서 min(M, N0)은 M 및 N0보다 작다. 선택적으로, X는 미리 설정된 값일 수 있고, 인코딩 장치 및 디코딩 장치에 알려진 값이다. 예를 들어, X = min(M, N0)이다.
S402. X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득한다.
보조 정보에 대해서는, 표 1을 참조한다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
보조 정보는 표 1에 도시된 다양한 타입의 보조 정보를 포함할 수 있지만 이에 제한되지 않고, 다른 패치 관련 정보를 추가로 포함할 수 있다는 점에 유의해야 한다. 선택적으로, 보조 정보는 패치의 인덱스 값을 추가로 포함할 수 있고, 여기서 인덱스 값은 모든 패치에서 패치의 시퀀스 번호를 표시한다. 예를 들어, 현재 프레임 내의 M개의 제1 패치의 정렬 순서에 기초하여, 제1 패치들의 인덱스 값들은 연속적으로 0, 1, 2, ..., M-2, 및 M-1일 수 있거나, 1, 2, ..., M-1, 및 M일 수 있다.
S403. X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득한다.
구체적으로, 한 그룹의 보조 정보 차이는 하나의 제1 패치의 보조 정보 및 하나의 제2 패치의 보조 정보에 기초하여 획득될 수 있다. 이러한 방식으로, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이가 획득된다. 보조 정보의 타입들의 수는 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 하나 이상의 타입의 보조 정보가 있을 수 있다. 한가지 타입의 보조 정보가 있을 때, 한 그룹의 보조 정보 차이는 하나의 값만을 포함한다. 복수의 타입의 보조 정보가 있을 때, 한 그룹의 보조 정보 차이는 복수의 값을 포함하고, 여기서 각각의 값은 한가지 타입의 보조 정보에 대응한다.
다음은 특정 예들을 사용하여 표 1을 참조하여 설명한다.
구체적으로 표 1에서 u0인 한가지 타입의 보조 정보가 있다고 가정하면, 한 그룹의 보조 정보 차이는 delta_u0=u0-pre_u0이다. 공식에서의 u0은 제1 패치의 보조 정보 u0을 나타내고, 공식에서의 pre_u0은 제2 패치의 보조 정보 u0을 나타낸다.
구체적으로 표 1에서 u0, v0, u1, v1, d1, sizeU0, 및 sizeV0인 7가지 타입의 보조 정보가 있다고 가정하면, 한 그룹의 보조 정보 차이는 delta_x = x - pre_x이다. 공식에서의 x는 제1 패치의 보조 정보 x를 나타내고, 공식에서의 pre_x는 제2 패치의 보조 정보 x를 나타내고, 여기서 x는 u0, v0, u1, v1, d1, sizeU0, 또는 sizeV0일 수 있다. 구체적으로, 보조 정보 차이의 그룹은 {delta_u0, delta_v0, delta_u1, delta_v1, delta_d1, delta_sizeU0, delta_sizeV0}이다.
선택적으로, 구현에서, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 것은:
X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여, X개의 제1 패치 내의 k번째 제1 패치의 보조 정보와 X개의 제2 패치 내의 k번째 제2 패치의 보조 정보 사이의 차이를 X개의 그룹의 보조 정보 차이 내의 k번째 그룹의 보조 정보 차이로서 결정하는 것을 포함할 수 있고, 여기서 k=1, ..., X이다.
구체적으로, X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있다. 이 구현에서, X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여 동일한 시퀀스 번호를 갖는 제1 패치 및 제2 패치가 서로 매칭된다. 따라서, k번째 제1 패치의 보조 정보와 k번째 제2 패치의 보조 정보 사이의 차이는 k번째 그룹의 보조 정보 차이로서 결정된다.
각각의 제1 패치의 보조 정보와 제1 패치와 동일한 시퀀스 번호를 갖는 제2 패치의 보조 정보에 대해 감산이 대응하여 수행됨으로써, X개의 그룹의 보조 정보 차이가 획득된다. 이것은 차이를 계산하는 복잡성을 단순화함으로써, 인코딩 속도를 증가시킨다.
선택적으로, 다른 구현에서, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계는:
X개의 그룹의 보조 정보 차이로서, X개의 제1 패치의 보조 정보와 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이를 결정하는 단계를 포함할 수 있고;
본 방법은 추가로:
매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 제2 패치 사이의 매칭 관계를 표시함-; 및
매칭 정보를 인코딩하는 단계를 포함한다.
구체적으로, X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있다. 이 구현에서, X개의 제1 패치에서, 제2 패치와 매칭되는 제1 패치의 시퀀스 번호는 X개의 제2 패치에서의 제2 패치의 시퀀스 번호와 동일하거나 상이할 수 있다. X개의 제1 패치의 보조 정보와 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이들은 X개의 그룹의 보조 정보 차이로서 결정된다. 이것은 인코딩 정확도를 향상시키고, 이에 의해 코딩 성능을 향상시킨다.
선택적으로, 매칭 정보는 X개의 제1 패치의 인덱스 값들 및 X개의 제2 패치의 인덱스 값들을 포함할 수 있다. 예를 들어, X=3이고, 3개의 제1 패치의 인덱스 값들은 연속적으로 0, 1, 2이고, 3개의 제2 패치의 인덱스 값들은 연속적으로 0, 1, 2이다. 인덱스 값이 0인 제1 패치는 인덱스 값이 0인 제2 패치와 매칭되고, 인덱스 값이 1인 제1 패치는 인덱스 값이 2인 제2 패치와 매칭되고, 인덱스 값이 2인 제1 패치는 인덱스 값이 1인 제2 패치와 매칭된다고 가정된다. 이 경우, 매칭 정보는 3개의 제1 패치의 인덱스 값{0, 1, 2} 및 3개의 제2 패치의 인덱스 값{0, 2, 1}을 포함할 수 있다.
선택적으로, 매칭 정보는 X개의 제1 패치 및 X개의 인덱스 차이의 인덱스 값들을 포함할 수 있고, 여기서 X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치와 매칭되는 X개의 제2 패치의 인덱스 값들 사이의 차이들이다. 전술한 예가 여전히 사용된다. X개의 제1 패치의 인덱스 값들은 {0, 1, 2}이고, X개의 제1 패치와 매칭되는 X개의 제2 패치의 인덱스 값들은 {0, 2, 1}이다. 그 후, X개의 인덱스 차이는 {0-0, 1-2, 2-1} = {0, -1, 1}일 수 있다. 이 경우, 매칭 정보는 3개의 제1 패치 및 3개의 인덱스 차이{0, -1, 1}의 인덱스 값들{0, 1, 2}을 포함할 수 있다.
선택적으로, X개의 제1 패치의 시퀀스 번호들이 X개의 제1 패치와 매칭되는 X개의 제2 패치의 시퀀스 번호들과 각각 동일한 경우, 매칭 정보는 1 비트 표시 정보를 포함할 수 있다. 선택적으로, 1 비트 표시 정보는 0 또는 1일 수 있다.
1 비트 표시 정보는 서로 매칭되는 제1 패치 및 제2 패치가 동일한 시퀀스 번호를 갖는다는 것을 표시하는데 사용된다. 이것은 추가로 비트스트림을 압축하여, 코딩 효율을 향상시킨다.
S404. X개의 그룹의 보조 정보 차이를 인코딩한다.
구체적으로, X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있기 때문에, X개의 그룹의 보조 정보 차이는 X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 획득된다. X개의 그룹의 보조 정보 차이가 인코딩된다. 이것은 2개의 인접한 프레임의 데이터 사이의 상관 관계를 고려한다. 따라서, 코딩 손실이 감소되고, 코딩/압축 성능이 향상된다.
X개의 그룹의 보조 정보 차이를 인코딩하기 위한 방법은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 인코딩 방법이 디코딩 방법에 대응하는 경우, 기존의 인코딩 방법이 사용될 수 있다. 선택적으로, X개의 그룹의 보조 정보 차이는 인덱스 Glomb Rice 코딩을 통해 인코딩될 수 있다.
이 실시예에서 제공되는 인코딩 방법에서, X개의 제1 패치는 현재 프레임 내의 M개의 제1 패치로부터 결정되고, 여기서 현재 프레임의 이전 프레임 내의 X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 존재하고; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 획득된 X개의 그룹의 보조 정보 차이가 인코딩된다는 것을 알 수 있다. 이것은 2개의 인접한 프레임의 데이터 사이의 상관 관계를 고려한다. 따라서, 코딩 손실이 감소되고, 코딩/압축 성능이 향상된다.
선택적으로, 이 실시예에서 제공되는 인코딩 방법은 추가로:
M을 인코딩하는 것을 포함할 수 있다.
M을 인코딩하기 위한 방법은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 인코딩 방법이 디코딩 방법에 대응하는 경우, 기존의 인코딩 방법이 사용될 수 있다. 선택적으로, M은 코딩을 위한 미리 설정된 비트 수를 갖는 고정-길이 코딩을 통해 인코딩될 수 있다. 코딩을 위한 미리 설정된 비트 수의 특정 값은 이 실시예에서 제한되지 않으며, 예를 들어, 32 비트일 수 있다.
선택적으로, 이 실시예에서 제공되는 인코딩 방법은 추가로:
X를 인코딩하는 것을 포함할 수 있다.
구체적으로, X를 인코딩함으로써, 이전 프레임 내의 제2 패치들과 매칭되는 현재 프레임 내의 제1 패치들의 수가 디코딩 동안 명확하게 알려질 수 있다. 이것은 코딩 효율을 향상시킨다.
선택적으로, X를 인코딩하는 단계는:
M에 기초하여 코딩을 위한 제4 비트 수를 결정하는 단계; 및
코딩을 위한 제4 비트 수를 사용하여 X를 인코딩하는 단계를 포함할 수 있다.
구체적으로, X는 M 이하이고, 따라서 X를 인코딩하는데 필요한 코딩을 위한 비트의 최대수(코딩을 위한 제4 비트 수)은 M에 기초하여 결정될 수 있다. 그 후, X는 코딩을 위한 제4 비트 수를 사용하여 인코딩된다. 이것은 추가로 비트스트림을 압축하여, 코딩/압축 성능을 향상시킬 수 있다.
다음은 특정 예를 사용하여 설명한다.
예를 들어, M=200이고, X=90이다. M=200에 기초하여, 코딩을 위한 제4 비트 수가 16이라고 결정될 수 있다. 이 경우, X는 16 비트를 사용하여 인코딩될 수 있고, 인코딩 후에 획득된 비트스트림은 0 x 5A를 포함할 수 있다.
선택적으로, 구현에서, 미리 설정된 매칭 관계는 다음의 단계들:
현재 프레임의 이전 프레임 내의 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-;
N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들 Qij를 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-; 및
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-; 또는
Qik가 미리 설정 임계값 이하인 경우, 어떠한 제1 패치도 i번째 제2 패치와 매칭되지 않는 것으로 결정하는 단계에 따라 결정될 수 있다.
다음은 특정 예들을 사용하여 설명한다.
N=10이라고 가정된다. 제2 패치들의 정렬 순서에 기초하여, 10개의 제2 패치는 pre_patch[i]로서 식별될 수 있고, 여기서 i=1, ..., 10이고, 대응하는 인덱스 값들은 1 내지 10일 수 있다. M=20이라고 가정된다. 제1 패치들의 정렬 순서에 기초하여, 20개의 제1 패치는 patch[k]로서 식별될 수 있고, 여기서 k=1, ..., 20이고, 대응하는 인덱스 값들은 1 내지 20일 수 있다. 미리 설정된 임계값은 thr로서 식별될 수 있다.
N개의 제2 패치가 순회(traverse)된다. (인덱스 값 1을 갖는)pre_patch[1]이 먼저 획득되고, 그 후 제1 세트가 순회된다. 제1 세트는 매칭이 성공적으로 수행되지 않은 T개의 제1 패치를 포함한다. 이 경우, T = M = 20이다. 제1 세트는 pre_patch[j]로서 식별될 수 있는 20개의 제1 패치를 포함하고, 여기서 j=1, ..., 20이고 대응하는 인덱스 값들은 1 내지 20이다. 투영 방향들이 pre_patch[1]의 투영 방향과 동일한 제1 세트의 제1 패치들은 patch[1] 및 patch[2]인 것으로 가정된다. 그 후, pre_patch[1]과 patch[1] 사이의 연관 값 Q11과 pre_patch[1]과 patch[2] 사이의 연관 값 Q12가 획득된다. Q11>Q12라고 가정하면, Q11은 미리 설정된 임계값 thr과 비교된다. Q11 > thr인 경우, pre_patch[1]는 patch[1]과 매칭되는 것으로 결정된다. 다시 말해서, 현재 프레임에서 인덱스 값이 1인 제1 패치는 이전 프레임에서 인덱스 값이 1인 제2 패치와 매칭된다. (인덱스 값 1을 갖는)patch[1]이 제1 세트로부터 삭제되어, 새로운 제1 세트를 구성한다. 이 경우, 새로운 제1 세트는 pre_patch[j]로서 재식별될 수 있는 19개의 제1 패치를 포함하고, 여기서 0<j≤19이고, 대응하는 인덱스 값들은 2 내지 20이다.
N개의 제2 패치는 계속 순회된다. (인덱스 값 2를 갖는)pre_patch[2]가 획득되고, 제1 세트가 순회된다. 이 경우, T=19이다. 투영 방향들이 pre_patch[2]의 투영 방향과 동일한 제1 세트의 제1 패치들은 patch[3] 및 patch[4]인 것으로 가정된다. 그 후, pre_patch[2]와 patch[3] 사이의 연관 값 Q23과 pre_patch[2]와 patch[4] 사이의 연관 값 Q24가 획득된다. Q24>Q23라고 가정하면, Q24는 미리 설정된 임계값 thr과 비교된다. Q24 < thr인 경우, 이것은 현재 프레임 내의 제1 패치 어느 것도 pre_patch[2]와 매칭되지 않는다는 것을 표시한다. 이 경우, 제1 세트는 변경되지 않은 채로 유지된다. 그 후, 모든 N개의 제2 패치가 순회될 때까지, 다음 제2 패치가 계속 순회된다.
N개의 제2 패치 및 M개의 제1 패치를 순회하고 투영 방향들이 동일한 제1 패치들과 제2 패치 사이의 연관 값을 비교함으로써, N개의 제2 패치와 일대일 매칭 관계에 있는 모든 제1 패치가 결정될 수 있다는 것을 알 수 있다.
미리 설정된 임계값의 특정 값은 이 실시예에서 제한되지 않고, 요건에 따라 설정된다는 점에 유의해야 한다.
N의 특정 값은 이 실시예에서 제한되지 않고, 요건에 따라 설정된다는 점에 유의해야 한다. N ≤ N0이고, N0은 이전 프레임 내의 제2 패치들의 수를 나타낸다. N0개의 제2 패치로부터 N개의 제2 패치를 획득하는 방식은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 예를 들어, 처음 N개의 제2 패치는 N0개의 제2 패치의 정렬 순서에 기초하여 획득될 수 있다.
선택적으로, 연관 값 Qij는 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫일 수 있고;
제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는
제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이고;
제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 제1 점유 행렬의 유효 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 제2 점유 행렬의 유효 영역에 대응하는 행렬 영역이다.
선택적으로, 미리 설정된 매칭 관계가 결정되기 전에, 본 방법은 추가로:
M개의 제1 패치를 정렬하는 것을 포함할 수 있다.
구체적으로, M개의 제1 패치는 점유 맵에서의 제1 패치의 높이들의 내림차순으로 정렬될 수 있다. 동일 높이를 갖는 복수의 제1 패치에 대해, 복수의 제1 패치가 점유 맵에서의 제1 패치들의 폭들의 내림차순으로 정렬됨으로써, M개의 제1 패치의 정렬이 완료될 수 있다. 예를 들어, 도 2의 우측에 도시된 바와 같이, 설명을 위한 예로서 패치들(31 내지 34)의 정렬 순서만이 사용된다. 점유 맵에서의 패치들의 높이들의 내림차순은 연속적으로: 패치(31), 패치(32), 패치(33), 및 패치(34)이다. 점유 맵에서의 패치(32) 및 패치(33)의 높이가 동일하기 때문에, 패치(32) 및 패치(33)는 점유 맵에서의 패치들의 폭들의 내림차순으로 정렬된다. 이 경우, 패치(31) 내지 패치(34) 이후에 획득되는 시퀀스는 연속적으로: 패치(31), 패치(32), 패치(33), 및 패치(34)이다.
현재 프레임 내의 M개의 제1 패치와 이전 프레임 내의 N개의 제2 패치 사이의 매칭 관계가 결정되기 전에, M개의 제1 패치가 정렬됨으로써, 제1 패치들과 제2 패치들을 매칭하는 속도가 증가될 수 있고, 이에 의해 인코딩 처리 속도를 증가시킬 수 있다.
선택적으로, 이 실시예에서 제공되는 인코딩 방법에서, O개의 제1 패치와 N개의 제2 패치 사이에 매칭 관계가 있다고 결정되면, 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하는 것은:
O개의 제1 패치로부터 X개의 제1 패치를 결정하는 것을 포함할 수 있고, 여기서 O개의 제1 패치는 N개의 제2 패치와 매칭되는 제1 패치들이고, O≥X이다.
구체적으로, X개의 제1 패치는 N개의 제2 패치와 매칭되는 모든 제1 패치로부터 결정될 수 있다. 다시 말해서, X≤O이고, O는 N개의 제2 패치와 일대일 매칭 관계에 있는 제1 패치들의 수를 나타낸다.
선택적으로, 다른 구현에서, 미리 설정된 매칭 관계는:
X개의 제1 패치 내의 k번째 제1 패치가 X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여 X개의 제2 패치 내의 k번째 제2 패치와 매칭되는 것을 포함하고, 여기서 k=1, ..., X이다.
동일한 시퀀스 번호를 갖는 제1 패치 및 제2 패치는 서로 매칭되는 것으로 지정된다. 이것은 매칭 관계를 단순화함으로써, 인코딩 속도를 증가시킨다.
인코딩 프로세스에서, X개의 그룹의 보조 정보 차이를 인코딩하고 M을 인코딩하는 실행 시퀀스는 제한되지 않는다는 점에 유의해야 한다. 복수의 타입의 보조 정보가 존재하는 경우, X개의 그룹의 보조 정보 차이를 인코딩하는 프로세스에서, 인코딩 장치 및 디코딩 장치가 인코딩 및 디코딩 시퀀스를 미리 정의한다면, 다양한 타입의 보조 정보의 인코딩 시퀀스는 제한되지 않는다.
이 실시예는 인코딩 방법을 제공하는데, 이 인코딩 방법은: 현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하는 단계; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하는 단계; X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하는 단계; 및 X개의 그룹의 보조 정보 차이 및 M을 인코딩하는 단계를 포함한다. 이 실시예에서 제공되는 인코딩 방법에 따르면, X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 획득된 X개의 그룹의 보조 정보 차이는 2개의 인접한 프레임의 포인트 클라우드 데이터 사이의 상관 관계를 사용하여 인코딩된다. 이것은 코딩 손실을 감소시키고 코딩/압축 성능을 향상시킨다.
도 6은 본 출원의 실시예 2에 따른 인코딩 방법의 흐름도이다. 도 5에 도시된 방법 실시예 1에 기초하여, 이 실시예에서 제공되는 인코딩 방법은 인코딩 방법의 다른 구현이고, 주로 X<M일 때 X개의 제1 패치 이외의 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 인코딩하기 위한 방법이다. 도 6에 도시된 바와 같이, 이 실시예에서 제공되는 인코딩 방법은 다음의 단계들을 추가로 포함할 수 있다.
S501. M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 획득하고, 여기서 도 5에서의 Y=M-X이다.
S502. Y개의 제1 패치의 보조 정보의 최대값 A를 획득한다.
S503. 최대값 A에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 제1 비트 수를 결정한다.
S504. 코딩을 위한 제1 비트 수를 인코딩한다.
S505. 코딩을 위한 제1 비트 수를 사용하여 Y개의 제1 패치의 보조 정보를 인코딩한다.
코딩을 위한 제1 비트 수를 인코딩하는 구현은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 선택적으로, 코딩을 위한 제1 비트 수는 미리 설정된 비트 수를 사용하여 인코딩될 수 있다. 코딩을 위한 미리 설정된 비트 수의 특정 값은 이 실시예에서 제한되지 않으며, 예를 들어, 8일 수 있다.
보조 정보의 타입들의 수는 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 선택적으로, 보조 정보는: 3차원 좌표계에서의 패치의 최소 X 좌표값(u1), 3차원 좌표계에서의 패치의 최소 Y 좌표값(v1), 3차원 좌표계에서의 패치의 최소 Z 좌표값(d1), 투영 방향에 따른 점유 맵에서의 패치의 최소 X 좌표값(u0), 및 투영 방향에 따른 점유 맵에서의 패치의 최소 Y 좌표값(v0) 중 적어도 하나를 포함할 수 있다.
다음은 예들을 사용하여 표 1을 참조하여 설명한다.
M=10이고, X=7이며, Y=3인 것으로 가정되고; 보조 정보는 u0 및 v0을 포함한다. 7개의 제1 패치의 보조 정보가 인코딩된 후에, 나머지 3개의 제1 패치의 보조 정보가 인코딩될 필요가 있다. 나머지 3개의 제1 패치의 보조 정보 u0의 십진수 값들은 각각 2, 5, 및 9이고, 나머지 3개의 제1 패치의 보조 정보 v0의 십진수 값들은 각각 3, 4, 및 7이다. 코딩을 위한 미리 설정된 비트 수는 8이다.
인코딩 방법은 구체적으로 다음과 같다.
보조 정보 u0에 대해, 3개의 제1 패치의 보조 정보 u0은 최대값이 9인 {2, 5, 9}이고, 코딩에 필요한 비트 수는 4이다. 코딩을 위한 비트 수 4에 대해 8비트 인코딩이 먼저 수행되고, 인코딩 후에 획득된 비트스트림은 0x4를 포함한다. 그 후, 3개의 제1 패치의 보조 정보 u0은 코딩을 위한 비트 수 4를 사용하여 연속적으로 인코딩되고, 인코딩 후에 획득된 비트스트림은 0x2, 0x5, 및 0x9를 포함한다.
보조 정보 v0에 대해, 3개의 제1 패치의 보조 정보 v0은 최대값이 7인 {3, 4, 7}이고, 코딩에 필요한 비트 수는 3이다. 코딩을 위한 비트 수 3에 대해 8비트 인코딩이 먼저 수행되고, 인코딩 후에 획득된 비트스트림은 0x3을 포함한다. 그 후, 3개의 제1 패치의 보조 정보 v0은 코딩을 위한 비트 수 3을 사용하여 연속적으로 인코딩되고, 인코딩 후에 획득된 비트스트림은 0x3, 0x4, 및 0x7을 포함한다.
인코딩 프로세스에서, Y개의 제1 패치의 보조 정보 및 그러한 정보를 코딩하기 위한 제1 비트 수를 인코딩하는 실행 시퀀스는 제한되지 않는다는 점에 유의해야 한다. 복수의 타입의 보조 정보가 존재하는 경우, 인코딩 장치 및 디코딩 장치가 인코딩 및 디코딩 시퀀스를 미리 정의한다면, 다양한 타입의 보조 정보의 인코딩 시퀀스는 제한되지 않는다.
이 실시예는 인코딩 방법을 제공하고, 이 인코딩 방법은: Y개의 제1 패치의 보조 정보를 획득하는 단계; Y개의 제1 패치의 보조 정보의 최대값 A를 획득하는 단계; 최대값 A에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 제1 비트 수를 결정하는 단계; 코딩을 위한 미리 설정된 비트 수를 사용하여 코딩을 위한 제1 비트 수를 인코딩하는 단계; 및 코딩을 위한 제1 비트 수를 사용하여 Y개의 제1 패치의 보조 정보를 인코딩하는 단계를 포함한다. 본 실시예에서 제공되는 인코딩 방법에 따르면, 코딩을 위한 필요한 비트 수는 나머지 Y개의 제1 패치의 보조 정보에 기초하여 결정된다. 이것은 모든 M개의 제1 패치의 보조 정보에 기초하여 코딩을 위한 필요한 비트 수를 결정하는 것을 회피한다. 이러한 방식으로, 처리될 데이터의 데이터 볼륨이 감소되고, 코딩 효율 및 적합성이 향상되고, 코딩 성능이 향상된다.
도 7은 본 출원의 실시예 3에 따른 인코딩 방법의 흐름도이다. 도 5에 도시된 방법 실시예 1에 기초하여, 이 실시예에서 제공되는 인코딩 방법은 인코딩 방법의 또 다른 구현이고, 주로 X<M일 때 X개의 제1 패치 이외의 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 인코딩하기 위한 방법이다. 도 7에 도시된 바와 같이, 이 실시예에서 제공되는 인코딩 방법은 다음의 단계들을 추가로 포함할 수 있다.
S601. M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고, 여기서 Y=M-X이고, Z≥1이다.
S602. X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하고, 여기서 k=1, ..., Z이다.
S603. 최대값 Bk가 최대값 Ak 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심벌인 것으로 결정하고; 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고; 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하며, 여기서 k=1, ..., Z이다.
S604. 최대값 Bk가 최대값 Ak보다 작은 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정하고; 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고; 코딩을 위한 제3 비트 수를 인코딩하고; 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하며, 여기서 k=1, ..., Z이다.
S605. 제1 식별 정보를 인코딩한다.
선택적으로, 제1 심볼은 0일 수 있고 제2 심볼은 1일 수 있거나; 또는 제1 심볼은 1일 수 있고 제2 심볼은 0일 수 있다.
선택적으로, 보조 정보는 3차원 좌표계에서의 패치의 최소 X 좌표값(u1), 3차원 좌표계에서의 패치의 최소 Y 좌표값(v1), 3차원 좌표계에서의 패치의 최소 Z 좌표값(d1), 투영 방향에 따른 점유 맵에서의 패치의 최소 X 좌표값(u0), 및 투영 방향에 따른 점유 맵에서의 패치의 최소 Y 좌표값(v0) 중 적어도 하나를 포함할 수 있다.
코딩을 위한 제3 비트 수를 인코딩하는 구현은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 선택적으로, 코딩을 위한 제3 비트 수는 미리 설정된 비트 수를 사용하여 인코딩될 수 있다. 코딩을 위한 미리 설정된 비트 수의 특정 값은 이 실시예에서 제한되지 않으며, 예를 들어, 8이다.
제1 식별 정보를 인코딩하는 구현은 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. 선택적으로, 제1 식별 정보는 미리 설정된 비트 수를 사용하여 인코딩될 수 있다. 코딩을 위한 미리 설정된 비트 수의 특정 값은 이 실시예에서 제한되지 않으며, 예를 들어, 8 또는 Z이다. Z는 보조 정보의 타입들의 수를 나타낸다.
다음은 특정 예들을 사용하여 표 1을 참조하여 상세한 설명을 제공한다.
5가지 타입의 보조 정보: u0, v0, u1, v1, 및 d1이 있다고 가정하면, 제1 식별 정보는 A=abcde에 의해 식별된 5 비트를 포함한다. 비트 a, b, c, d, 및 e 일대일은 u0, v0, u1, v1 및 d1에 대응한다. 제1 심볼은 0이고 제2 심볼은 1이다.
X개의 제1 패치의, 5가지 타입의 보조 정보, 즉, u0, v0, u1, v1, 및 d1의 최대값은 각각 max_u0, max_v0, max_u1, max_v1, 및 max_d1이다. Y개의 제1 패치의 5가지 타입의 보조 정보, 즉 u0, v0, u1, v1, 및 d1의 최대값은 max_u0', max_v0', max_u1', max_v1', 및 max_d1'이다.
보조 정보 u0에 대해, max_u0 ≥ max_u0'인 경우, a=0이다. 이 경우, Y개의 제1 패치의 보조 정보 u0을 코딩하기 위한 제2 비트 수는 max_u0에 기초하여 결정될 수 있고, Y개의 제1 패치의 보조 정보 u0은 코딩을 위한 제2 비트 수를 사용하여 인코딩된다. 예를 들어, max_u0=7이고, 코딩을 위한 제2 비트 수는 3이다. 그 후, Y개의 제1 패치의 보조 정보 u0은 코딩을 위한 제2 비트 수 3을 사용하여 인코딩된다. max_u0 < max_u0'인 경우, a=1이다. 이 경우, Y개의 제1 패치의 보조 정보 u0을 코딩하기 위한 제3 비트 수는 max_u0'에 기초하여 결정될 수 있고, Y개의 제1 패치의 보조 정보 u0은 코딩을 위한 제3 비트 수를 사용하여 인코딩된다.
유사하게, 보조 정보 v0, u1, v1 및 d1에 대해, b, c, d 및 e의 값이 0 또는 1인지는 비교 결과에 기초하여 결정될 수 있다. 제1 식별 정보의 특정 값에 대해서는, 표 2를 참조한다.
표 2: 제1 식별 정보 및 제2 식별 정보
Figure 112020085750258-pct00001
이 실시예에서, X개의 제1 패치의 보조 정보는 X개의 그룹의 보조 정보 차이를 인코딩함으로써 획득된다. X개의 제1 패치의 보조 정보가 먼저 인코딩되는 경우, X개의 제1 패치의 보조 정보는 먼저 그에 따라 디코딩된다. 다시 말해서, 디코딩 장치는 먼저 X개의 제1 패치의 보조 정보를 획득한다. 인코딩 동안, X개의 제1 패치의 보조 정보의 최대값이 Y개의 제1 패치의 보조 정보의 최대값과 비교된다. X개의 제1 패치의 보조 정보의 최대값이 Y개의 제1 패치의 보조 정보의 최대값 이상인 경우, X개의 제1 패치의 보조 정보의 최대값에 기초하여 결정되는 코딩을 위한 필요한 비트 수가 Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수로서 사용됨으로써, Y개의 제1 패치의 보조 정보를 인코딩할 수 있다. 이러한 방식으로, Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수는 특별히 인코딩되어 디코딩 장치에 통지될 필요가 없다. 이것은 추가로 비트스트림을 압축하고, 그에 의해 코딩 효율 및 압축 성능을 향상시킨다. 대응적으로, 디코딩 동안, 제1 식별 정보에서의 각각의 비트 값에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수가 X개의 제1 패치의 보조 정보의 최대값에 기초하여 결정된다는 것을 알 수 있는 경우, Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수가 디코딩을 통해 획득된 X개의 제1 패치의 보조 정보에 기초하여 획득되고; 비트스트림이 코딩을 위한 비트 수에 기초하여 추가로 분석됨으로써, Y개의 제1 패치의 보조 정보를 획득할 수 있다.
선택적으로, 이 실시예에서 제공되는 인코딩 방법에서, Z개의 타입의 보조 정보가 존재하고 Z>1인 경우, 제1 식별 정보를 인코딩하기 전에, 본 방법은 추가로:
제1 식별 정보에서의 적어도 하나의 비트가 제2 심볼인 것으로 결정하는 단계를 포함할 수 있다.
구체적으로, 복수의 타입의 보조 정보가 존재할 때, 일부 타입의 보조 정보에 대해, X개의 제1 패치의 보조 정보의 타입들의 최대값은 Y개의 제1 패치의 보조 정보의 타입들의 최대값 이상이고; 일부 다른 타입의 보조 정보에 대해, X개의 제1 패치의 보조 정보의 타입들의 최대 값은 Y개의 제1 패치의 보조 정보의 타입들의 최대 값보다 작다. 이 경우, 제1 식별 정보가 인코딩된다.
선택적으로, 본 방법은 추가로:
제2 식별 정보가 제2 심볼인 것으로 결정하는 단계; 및
제2 식별 정보를 인코딩하는 단계를 포함할 수 있다.
구체적으로, (F로 표현되는) 제2 식별 정보는 1 비트를 포함하고, X개의 제1 패치의 Z개의 타입의 보조 정보의 최대값들이 모두 Y개의 제1 패치의 Z개의 타입의 보조 정보의 최대값 이상인지를 표시한다. 이 시나리오에서, 제2 식별 정보는 제2 심볼이다. Z개의 타입의 보조 정보에서, 일부 타입의 보조 정보에 대해, X개의 제1 패치의 보조 정보의 타입들의 최대값은 Y개의 제1 패치의 보조 정보의 타입들의 최대값 이상이고; 일부 다른 타입의 보조 정보에 대해, X개의 제1 패치의 보조 정보의 타입들의 최대 값은 Y개의 제1 패치의 보조 정보의 타입들의 최대 값보다 작다. 이 경우, 제1 식별 정보와 제2 식별 정보 양쪽 모두가 인코딩될 수 있다. 선택적으로, 제1 식별 정보 및 제2 식별 정보는 개별적으로 인코딩될 수 있다. 구체적으로, 제1 식별 정보는 미리 설정된 비트 수를 사용하여 인코딩되고, 제2 식별 정보는 1 비트를 사용하여 인코딩된다. 예를 들어, 제1 식별 정보가 A=abcde인 경우, A는 5 비트를 사용하여 인코딩될 수 있고, 제2 식별 정보는 1 비트를 사용하여 인코딩된다. 선택적으로, 제1 식별 정보 및 제2 식별 정보는 미리 설정된 비트 수를 사용하여 공동으로 인코딩될 수 있다. 예를 들어, 제1 식별 정보가 A=abcde이고, 제2 식별 정보가 F=f인 경우, abcdef 또는 fabcde는 1 바이트를 사용하여 인코딩될 수 있다.
선택적으로, 이 실시예에서 제공되는 인코딩 방법에서, Z개의 타입의 보조 정보가 존재하고, Z>1이고, 제1 식별 정보에서의 각각의 비트가 제1 심볼인 경우, 본 방법은 추가로:
제2 식별 정보가 제1 심볼인 것으로 결정하는 단계; 및
제2 식별 정보만을 인코딩하는 단계를 포함할 수 있다.
구체적으로, (F로 표현되는) 제2 식별 정보는 1 비트를 포함한다. 이 시나리오에서, 제2 식별 정보는 제1 심볼이다. Z개의 타입의 보조 정보에서, 각각의 타입의 보조 정보에 대해, X개의 제1 패치의 보조 정보의 타입의 최대값은 Y개의 제1 패치의 보조 정보의 타입의 최대값 이상이다. 이 경우, S604는 수행되지 않는다. 1 비트 제2 식별 정보만이 인코딩될 필요가 있다. 이것은 추가로 비트스트림을 압축하고, 그에 의해 코딩 효율 및 압축 성능을 향상시킨다. 예를 들어, 제2 식별 정보의 특정 값에 대해서는, 표 2를 참조한다.
인코딩 프로세스에서, Y개의 제1 패치의 보조 정보, 제1 식별 정보, 및/또는 제2 식별 정보, 및 코딩을 위한 제3 비트 수를 인코딩하는 실행 시퀀스는 제한되지 않는다는 점에 유의해야 한다. 복수의 타입의 보조 정보가 존재하는 경우, 인코딩 장치 및 디코딩 장치가 인코딩 및 디코딩 시퀀스를 미리 정의한다면, 다양한 타입의 보조 정보의 인코딩 시퀀스는 제한되지 않는다.
예를 들어, 다음은 특정 인코딩 시퀀스를 제공한다.
단계 1: M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고, 여기서 Y=M-X이다.
단계 2: X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하고, 여기서 k=1, ..., Z이다.
단계 3: 최대값 Bk가 최대값 Ak 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심벌인 것으로 결정하거나; 또는 최대값 Bk가 최대값 Ak보다 작은 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정한다.
단계 4: 제1 식별 정보 내의 각각의 비트가 제1 심볼인 경우, 제2 식별 정보가 제1 심볼이라고 결정하고, 제2 식별 정보를 인코딩하고; 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하고, 여기서 k=1, ..., Z이다.
단계 5: 제1 식별 정보 내의 적어도 하나의 비트가 제2 심볼인 경우, 제2 식별 정보가 제2 심벌인 것으로 결정하고, 제1 식별 정보 및 제2 식별 정보를 인코딩하고; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하거나 -k=1, ..., Z임-; 또는 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 인코딩하고, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하며, 여기서 k=1, ..., Z이다.
본 실시예에서 제공되는 인코딩 방법에 따르면, X개의 제1 패치의 보조 정보의 최대값은 Y개의 제1 패치의 보조 정보의 최대값과 비교되고, 그 후 Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수가 결정될 수 있다. X개의 제1 패치의 보조 정보의 최대값에 기초하여 결정된 코딩을 위한 비트 수가 Y개의 제1 패치의 보조 정보를 인코딩하는데 사용될 때, 비트스트림이 추가로 압축됨으로써, 코딩 효율 및 압축 성능을 향상시킨다.
도 8은 본 출원의 실시예 1에 따른 디코딩 방법의 흐름도이다. 이 실시예에서 제공되는 디코딩 방법은 도 5 내지 도 7에 도시된 방법 실시예들에서 제공되는 인코딩 방법들에 대응한다. 도 8에 도시된 바와 같이, 이 실시예에서 제공되는 디코딩 방법은 다음의 단계들을 포함할 수 있다.
S701. 비트스트림에 기초하여, 현재 프레임 내의 X개의 제1 패치에 대응하는 X개의 그룹의 보조 정보 차이를 획득한다.
현재 프레임 내의 M개의 제1 패치는 X개의 제1 패치를 포함하고, 현재 프레임의 이전 프레임 내의 X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수이다.
S702. X개의 제2 패치의 보조 정보를 획득한다.
S703. X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득한다.
선택적으로, X<M인 경우, 이 실시예에서 제공되는 디코딩 방법은 추가로:
비트스트림에 기초하여 코딩을 위한 제1 비트 수를 획득하는 단계 -코딩을 위한 제1 비트 수는 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보의 최대값 A에 기초하여 인코딩 장치에 의해 결정되고, Y=M-X임-; 및
코딩을 위한 제1 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택적으로, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 이 실시예에서 제공되는 디코딩 방법은 추가로:
비트스트림에 기초하여 제1 식별 정보를 획득하는 단계; 및
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-; 또는
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z임-를 포함한다.
선택적으로, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z>1인 경우, 이 실시예에서 제공되는 디코딩 방법은 추가로:
비트스트림에 기초하여 식별 정보를 획득하는 단계; 및
식별 정보가 제1 식별 정보를 포함하고 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-;
식별 정보가 제1 식별 정보를 포함하고 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z임-;
식별 정보가 제2 식별 정보를 포함하고 제2 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-;
식별 정보가 제1 식별 정보 및 제2 식별 정보를 포함하고, 제2 식별 정보가 제2 심볼이며, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-; 또는
식별 정보가 제1 식별 정보 및 제2 식별 정보를 포함하고, 제2 식별 정보가 제2 심볼이며, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z임-를 포함한다.
예를 들어, 식별 정보가 제1 식별 정보 및 제2 식별 정보를 포함한다고 가정하면, 특정 디코딩 시퀀스는 다음과 같이 제공된다:
단계 11: 비트스트림에 기초하여 제2 식별 정보를 획득한다.
단계 12: 제2 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하고, 여기서 k=1, ..., Z이다.
단계 13: 제2 식별 정보가 제2 심볼인 경우, 제1 식별 정보를 획득한다.
단계 14: 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하고, 여기서 k=1, ..., Z이다.
단계 15: 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z이다.
단계 13에서, 제1 식별 정보를 획득하는 방식은 제1 식별 정보 및 제2 식별 정보를 인코딩하는 방식에 기초하여 결정된다. 선택적으로, 제1 식별 정보와 제2 식별 정보가 개별적으로 인코딩되는 경우, 예를 들어, 제1 식별 정보가 Z 비트를 사용하여 인코딩되고, 제2 식별 정보가 1 비트를 사용하여 인코딩되는 경우, 비트스트림이 디코딩되어 제1 식별 정보를 획득한다. 선택적으로, 제1 식별 정보와 제2 식별 정보가 공동으로 인코딩되는 경우, 예를 들어, 제1 식별 정보와 제2 식별 정보가 1 바이트를 사용하여 인코딩되는 경우, 제1 식별 정보는 단계 11에서 획득된다.
선택적으로, X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계는:
X개의 그룹의 보조 정보 차이의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여, X개의 그룹의 보조 정보 차이에서의 k번째 그룹의 보조 정보 차이와 X개의 제2 패치에서의 k번째 제2 패치의 보조 정보의 합을 X개의 제1 패치에서의 k번째 제1 패치의 보조 정보로서 결정하는 단계를 포함한다.
선택적으로, X개의 그룹의 보조 정보 차이 및 X개 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계는:
비트스트림에 기초하여 매칭 정보를 획득하는 단계 -매칭 정보는 X개의 제1 패치와 X개의 제2 패치 사이의 매칭 관계를 표시함-; 및
매칭 정보, X개의 그룹의 보조 정보 차이, 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
선택사항으로서, 이 실시예에서 제공되는 디코딩 방법은 추가로:
M에 기초하여 코딩을 위한 제4 비트 수를 결정하는 단계; 및
코딩을 위한 제4 비트 수를 사용하여 비트스트림에 기초하여 X를 획득하는 단계를 포함한다.
선택적으로, 보조 정보는 3차원 좌표계에서의 패치의 최소 X 좌표값(u1), 3차원 좌표계에서의 패치의 최소 Y 좌표값(v1), 3차원 좌표계에서의 패치의 최소 Z 좌표값(d1), 투영 방향에 따른 점유 맵에서의 패치의 최소 X 좌표값(u0), 및 투영 방향에 따른 점유 맵에서의 패치의 최소 Y 좌표값(v0) 중 적어도 하나를 포함한다.
본 출원의 이 실시예에서 제공되는 디코딩 방법은 도 5 내지 도 7에 도시된 방법 실시예들에서 제공되는 인코딩 방법들에 대응한다. 디코딩 방법의 기술적 원리 및 기술적 효과는 인코딩 방법의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
본 출원의 실시예는 인코더에 의해 수행될 수 있는 포인트 클라우드 데이터 패킹 방법을 추가로 제공한다. 본 방법은 각각의 프레임의 포인트 클라우드 데이터가 개별적으로 패킹되기 때문에 패치들이 시간 및 공간 측면에서 불일치하는 기존의 기술적 문제를 해결하는데 사용된다.
도 2의 좌측 및 우측은 각각 2개의 인접 프레임 내의 패치들에 대응하는 점유 맵들을 도시한다. 도 2의 좌측에 도시된 바와 같이, 전자의 프레임(former frame) 내의 패치들은 개별적으로 정렬되고, 처음 5개의 패치는 패치들(21 내지 25)로서 연속적으로 정렬된다. 패치들(21 내지 25)은 패치들의 정렬 순서에 기초하여 전자의 프레임의 점유 맵 내에 연속적으로 삽입된다. 도 2의 우측에 도시된 바와 같이, 후자의 프레임 내의 패치들은 개별적으로 정렬되고, 처음 5개의 패치는 패치들(31 내지 35)로서 연속적으로 정렬된다. 패치들(31 내지 35)은 패치들의 정렬 순서에 기초하여 후자의 프레임의 점유 맵 내에 연속적으로 삽입된다. 각각의 프레임 내의 패치들이 개별적으로 정렬되기 때문에, 도 2의 좌측 상의 패치(21) 및 패치(22)의 위치는 각각 2개의 인접한 프레임의 점유 맵들에서의 도 2의 우측 상의 패치(31) 및 패치(32)의 위치와 상이하다. 이것은 시간 및 공간 측면에서 패치들의 일관성에 영향을 미치고, 패치들의 보조 정보의 후속 인코딩 동안 압축 성능 손실을 초래함으로써, 코딩 성능에 영향을 미친다.
본 출원의 이 실시예에서 제공되는 포인트 클라우드 데이터 패킹 방법은 주로 도 3의 S101을 포함하고, 도 3의 것들과 유사한 다른 단계들을 포함한다. 본 출원의 이 실시예에서 제공되는 포인트 클라우드 데이터 패킹 방법에서, 현재 프레임 내의 M개의 제1 패치를 정렬하는 단계는:
현재 프레임의 이전 프레임 내의 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-;
N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들 Qij를 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-;
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-; 또는
Qik가 미리 설정 임계값 이하인 경우, 어떠한 제1 패치도 i번째 제2 패치와 매칭되지 않는 것으로 결정하는 단계; 및
N개의 제2 패치의 정렬 순서에 기초하여, N개의 제2 패치와 매칭되는 제1 패치들을 연속적으로 정렬하는 단계를 포함할 수 있다.
N개의 제2 패치와 매칭되지 않는 제1 패치들의 정렬 순서는 이 실시예에서 제한되지 않는다는 점에 유의해야 한다.
선택적으로, 연관 값 Qij는 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫일 수 있고;
제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는
제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이고;
제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 제1 점유 행렬의 유효 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 제2 점유 행렬의 유효 영역에 대응하는 행렬 영역이다.
선택적으로, 현재 프레임의 이전 프레임 내의 N개의 제2 패치를 획득하는 단계 전에, 본 방법은 추가로:
M개의 제1 패치를 정렬하는 단계를 포함한다.
상세한 설명에 대해서는, 도 5에 도시된 방법 실시예를 참조한다. 기술적 원리 및 기술적 효과는 도 5에 도시된 방법 실시예의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
다음은 특정 예를 사용하여 설명한다.
도 9는 본 출원의 실시예에 따른 점유 맵의 개략도이다. 도 9의 좌측 및 우측은 각각 2개의 인접한 프레임 내의 패치들에 대응하는 점유 맵들을 도시한다. 도 9의 좌측에 도시된 바와 같이, 패치들(41 내지 44)이 예로서 사용된다. 이전 프레임 내의 패치들(41 내지 44)은: 패치들(41 내지 44)로서 연속적으로 분류된다. 도 9의 우측에 도시된 바와 같이, 현재 프레임 내의 패치들이 정렬될 때, 패치들과 패치들(41 내지 44) 사이에 매칭이 수행될 필요가 있다. 매칭이 수행된 후, 패치들(51 내지 54)은: 패치들(51 내지 54)로서 연속적으로 정렬된다. 이것은 2개의 인접한 프레임에서 매칭 관계를 갖는 패치들이 점유 맵들에서 각각 동일한 위치들을 갖는 것을 보장하고, 시간 및 공간 측면에서 패치들의 일관성을 보장한다. 따라서, 패치들의 보조 정보의 후속 인코딩 동안 코딩/압축 성능이 향상될 수 있다.
이 실시예에서 제공되는 포인트 클라우드 데이터 패킹 방법에 따르면, 현재 프레임 내의 패치들의 정렬 순서는 이전 프레임 내의 패치들의 정렬 순서에 기초하여 획득된다. 이것은 시간 및 공간 측면에서 2개의 인접한 프레임에서의 패치들의 일관성을 보장함으로써, 후속 코딩/압축 성능을 향상시킨다.
일 실시예는 본 출원의 이 실시예에서 제공된 포인트 클라우드 데이터 패킹 방법을 수행하도록 구성된 처리 모듈을 포함하는 인코딩 장치를 추가로 제공한다. 인코딩 장치의 기술적 원리 및 기술적 효과는 포인트 클라우드 데이터 패킹 방법의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
도 10은 본 출원의 실시예 1에 따른 인코딩 장치의 개략적인 구조도이다. 본 출원의 이 실시예에서 제공되는 인코딩 장치는 도 5 내지 도 7에 도시된 방법 실시예들 중 어느 하나에서 제공되는 인코딩 방법을 수행하도록 구성된다. 도 10에 도시된 바와 같이, 본 출원의 이 실시예에서 제공되는 인코딩 장치는:
현재 프레임 내의 M개의 제1 패치로부터 X개의 제1 패치를 결정하도록 구성된 결정 모듈(61) -X개의 제1 패치와 X개의 제2 패치 사이에 미리 설정된 매칭 관계가 있고, X개의 제2 패치는 현재 프레임의 이전 프레임에 포함되고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수임-;
X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하도록 구성된 획득 모듈(62); 및
X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 그룹의 보조 정보 차이를 획득하고, X개의 그룹의 보조 정보 차이를 인코딩하도록 구성된 인코딩 모듈(63)을 포함할 수 있다.
선택적으로, X<M인 경우, 획득 모듈(62)은 추가로:
M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 획득하고 -Y=M-X임-;
Y개의 제1 패치의 보조 정보의 최대값 A를 획득하도록 구성된다.
인코딩 모듈(63)은 추가로:
최대값 A에 기초하여, Y개의 제1 패치의 보조 정보를 코딩하기 위한 제1 비트 수를 결정하고;
코딩을 위한 제1 비트 수를 인코딩하고;
코딩을 위한 제1 비트 수를 사용하여 Y개의 제1 패치의 보조 정보를 인코딩하도록 구성된다.
선택적으로, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 획득 모듈(62)은 추가로:
M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고 -Y=M-X임-;
X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하도록 구성되고, 여기서 k=1, ..., Z이다.
인코딩 모듈(63)은 추가로:
최대값 Bk가 최대값 Ak 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심벌인 것으로 결정하거나; 또는 최대값 Bk가 최대값 Ak보다 작은 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정하고;
제1 식별 정보 내의 각각의 비트가 제1 심볼인 경우, 제2 식별 정보가 제1 심볼이라고 결정하고, 제2 식별 정보를 인코딩하고; 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하고 -k=1, ..., Z임-;
제1 식별 정보 내의 적어도 하나의 비트가 제2 심볼인 경우, 제2 식별 정보가 제2 심벌인 것으로 결정하고, 제1 식별 정보 및 제2 식별 정보를 인코딩하고; 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 최대값 Bk에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하거나 -k=1, ..., Z임-; 또는 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 최대값 Ak에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고, 코딩을 위한 제3 비트 수를 인코딩하고, 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하도록 구성되며, 여기서 k=1, ..., Z이다.
선택적으로, 결정 모듈(61)은 구체적으로 다음의 단계들:
현재 프레임의 이전 프레임 내의 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-;
N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들 Qij를 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-; 및
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-에 따라 미리 설정된 매칭 관계를 결정하도록 구성된다.
선택적으로, O개의 제1 패치와 N개의 제2 패치 사이에 매칭 관계가 있다고 결정되면, 결정 모듈(61)은 구체적으로:
O개의 제1 패치로부터 X개의 제1 패치를 결정하도록 구성되고, 여기서 O개의 제1 패치는 N개의 제2 패치와 매칭되는 제1 패치들이고, O≥X이다.
선택적으로, 연관 값 Qij는 제1 기준 값을 제2 기준 값으로 나눔으로써 획득된 몫이고;
제1 기준 값은 제1 점유 행렬과 제2 점유 행렬의 교집합 영역(intersection region)의 면적이고, 제2 기준 값은 제1 점유 행렬과 제2 점유 행렬의 합집합 영역(union region)의 면적이거나; 또는
제1 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 교집합 영역에 포함되는 샘플들의 수이고, 제2 기준 값은 제1 점유 행렬의 유효 영역과 제2 점유 행렬의 유효 영역의 합집합 영역에 포함되는 샘플들의 수이고;
제1 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 j번째 제1 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제2 점유 행렬의 유효 영역은 투영 방향에 따른 2차원 평면 상에 i번째 제2 패치를 투영함으로써 획득되는 실제로 점유된 영역이고, 제1 점유 행렬은 제1 점유 행렬의 유효 영역에 대응하는 행렬 영역이고, 제2 점유 행렬은 제2 점유 행렬의 유효 영역에 대응하는 행렬 영역이다.
선택적으로, 미리 설정된 매칭 관계는: X개의 제1 패치 내의 k번째 제1 패치가 X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여 X개의 제2 패치 내의 k번째 제2 패치와 매칭되는 것을 포함하고, 여기서 k=1, ..., X이다.
선택적으로, 인코딩 모듈(63)은 구체적으로:
X개의 그룹의 보조 정보 차이로서, X개의 제1 패치의 보조 정보와 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 보조 정보 사이의 차이를 결정하도록 구성되고;
획득 모듈(62)은 추가로 매칭 정보를 획득하도록 구성되고, 여기서 매칭 정보는 X개의 제1 패치와 X개의 제2 패치 사이의 매칭 관계를 표시하고;
인코딩 모듈(63)은 추가로 매칭 정보를 인코딩하도록 구성된다.
선택적으로, 인코딩 모듈(63)은 구체적으로:
X개의 제1 패치의 정렬 순서 및 X개의 제2 패치의 정렬 순서에 기초하여, X개의 제1 패치 내의 k번째 제1 패치의 보조 정보와 X개의 제2 패치 내의 k번째 제2 패치의 보조 정보 사이의 차이를 X개의 그룹의 보조 정보 차이 내의 k번째 그룹의 보조 정보 차이로서 결정하도록 구성되며, 여기서 k=1, ..., X이다.
선택적으로, 인코딩 모듈(63)은 추가로:
M에 기초하여 코딩을 위한 제4 비트 수를 결정하고;
코딩을 위한 제4 비트 수를 사용하여 X를 인코딩하도록 구성된다.
선택적으로, 보조 정보는: 3차원 좌표계에서의 패치의 최소 X 좌표값, 3차원 좌표계에서의 패치의 최소 Y 좌표값, 3차원 좌표계에서의 패치의 최소 Z 좌표값, 투영 방향에 따른 점유 맵에서의 패치의 최소 X 좌표값, 및 투영 방향에 따른 점유 맵에서의 패치의 최소 Y 좌표값 중 적어도 하나를 포함한다.
이 실시예에서 제공되는 인코딩 장치는 도 5 내지 도 7에 도시된 실시예들 중 어느 하나에서 제공되는 인코딩 방법을 수행할 수 있다. 인코딩 장치의 기술적 원리 및 기술적 효과는 인코딩 방법의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
도 11은 본 출원의 실시예 1에 따른 디코딩 장치의 개략적인 구조도이다. 본 출원의 이 실시예에서 제공되는 디코딩 장치는 도 8에 도시된 방법 실시예에서 제공되는 디코딩 방법을 수행하도록 구성된다. 도 11에 도시된 바와 같이, 본 출원의 이 실시예에서 제공되는 디코딩 장치는:
비트스트림에 기초하여, 현재 프레임 내의 X개의 제1 패치에 대응하는 X개의 그룹의 보조 정보 차이를 획득하도록 구성된 디코딩 모듈(72) -현재 프레임 내의 M개의 제1 패치는 X개의 제1 패치를 포함하고, 현재 프레임의 이전 프레임 내의 X개의 제1 패치와 X개의 제2 패치 사이에는 미리 설정된 매칭 관계가 있고, X는 M 이하이고, X와 M 양쪽 모두는 양의 정수임-; 및
X개의 제2 패치의 보조 정보를 획득하도록 구성된 획득 모듈(71)을 포함할 수 있고;
디코딩 모듈(72)은 추가로 X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, X<M인 경우, 디코딩 모듈(72)은 추가로:
비트스트림에 기초하여 코딩을 위한 제1 비트 수를 획득하고 -코딩을 위한 제1 비트 수는 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보의 최대값 A에 기초하여 인코딩 장치에 의해 결정되고, Y=M-X임-;
코딩을 위한 제1 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 보조 정보를 획득하도록 구성된다.
선택적으로, X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 디코딩 모듈(72)은 추가로:
비트스트림에 기초하여 제2 식별 정보를 획득하고;
제2 식별 정보가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하고 -k=1, ..., Z임-;
제2 식별 정보가 제2 심볼인 경우, 제1 식별 정보를 획득하고;
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 비트스트림에 기초하여 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하거나 -k=1, ..., Z임-; 또는
제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 비트스트림에 기초하여 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 비트스트림에 기초하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되고, 여기서 코딩을 위한 제3 비트 수는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak에 기초하여 인코딩 장치에 의해 결정되고, k=1, ..., Z이다.
선택적으로, 디코딩 모듈(72)은 추가로:
M에 기초하여 코딩을 위한 제4 비트 수를 결정하고;
코딩을 위한 제4 비트 수를 사용하여 비트스트림에 기초하여 X를 획득하도록 구성된다.
이 실시예에서 제공되는 디코딩 장치는 도 8에 도시된 실시예에서 제공되는 디코딩 방법을 수행할 수 있다. 디코딩 장치의 기술적 원리 및 기술적 효과는 디코딩 방법의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
도 12는 본 출원의 실시예 1에 따른 인코더의 개략적인 구조도이다. 도 12에 도시된 바와 같이, 이 실시예에서 제공된 인코더는 프로세서(81) 및 메모리(82)를 포함할 수 있다. 메모리(82)는 명령어를 저장하도록 구성된다. 프로세서(81)는 인코더가 도 5 내지 도 7에 도시된 실시예들 중 하나에서 제공되는 인코딩 방법을 수행하도록, 메모리에 저장된 명령어를 실행하도록 구성된다. 인코더의 특정 구현 및 기술적 효과는 인코딩 방법의 특정 구현 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다. 인코더는 송수신기(83)를 추가로 포함할 수 있고, 여기서 송수신기(83)는 다른 디바이스와 통신하도록 구성된다.
도 13은 본 출원의 실시예 1에 따른 디코더의 개략적인 구조도이다. 도 13에 도시된 바와 같이, 이 실시예에서 제공되는 디코더는 프로세서(91) 및 메모리(92)를 포함할 수 있다. 메모리(92)는 명령어를 저장하도록 구성된다. 프로세서(91)는 디코더가 도 8에 도시된 실시예에서 제공되는 디코딩 방법을 수행하도록, 메모리에 저장된 명령어를 실행하도록 구성된다. 디코더의 특정 구현 및 기술적 효과는 디코딩 방법의 특정 구현 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다. 디코더는 추가로 송수신기(93)를 포함할 수 있고, 여기서 송수신기(93)는 다른 디바이스와 통신하도록 구성된다.
본 출원의 실시예들에서의 프로세서는 중앙 처리 유닛(CPU), 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(application-specific integrated circuit, ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 트랜지스터 논리 디바이스, 하드웨어 컴포넌트, 또는 이들의 임의의 조합일 수 있다는 것이 이해될 수 있다. 프로세서는 본 출원에 개시된 내용을 참조하여 설명된 다양한 예시적인 논리 블록, 모듈, 및 회로를 구현하거나 실행할 수 있다. 프로세서는 컴퓨팅 기능을 구현하는 프로세서들의 조합, 예를 들어, 하나 이상의 마이크로프로세서의 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다.
전술된 실시예들의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 사용하는 것에 의해 구현될 수 있다. 소프트웨어가 실시예들을 구현하기 위해 사용될 때, 실시예들은 컴퓨터 프로그램 제품의 형태로 완전히 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어들이 컴퓨터 상에서 로딩되고 실행될 때, 본 출원의 실시예들에 따른 절차 또는 기능들은 모두 또는 부분적으로 생성된다. 이러한 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크, 또는 다른 프로그램가능 장치일 수 있다. 이러한 컴퓨터 명령어들은 컴퓨터 판독가능 저장 매체에 저장될 수 있거나 또는 컴퓨터 판독가능 저장 매체로부터 다른 컴퓨터 판독가능 저장 매체로 송신될 수 있다. 예를 들어, 이러한 컴퓨터 명령어들은 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로부터 유선(예를 들어, 동축 케이블, 광 섬유 또는 DSL(digital subscriber line)) 또는 무선(예를 들어, 적외선, 라디오, 또는 마이크로웨이브) 방식으로, 다른 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로 송신될 수 있다. 이러한 컴퓨터 판독가능 저장 매체는 컴퓨터에 의해 액세스가능한 임의의 사용가능 매체, 또는, 하나 이상의 사용가능 매체를 집적하는, 서버 또는 데이터 센터와 같은, 데이터 저장 디바이스일 수 있다. 사용가능 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 솔리드 스테이트 드라이브 (SSD)) 등일 수 있다.
선택적으로, 다른 구현에서, 본 출원의 실시예들에서의 매칭 정보는:
X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들; 또는
X개의 인덱스 차이 -X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들과 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함할 수 있다.
이 구현에서, 디코딩 장치는 X개의 제1 패치의 인덱스 값들을 획득하거나 도출할 수 있다.
다음은 특정 예들을 사용하여 설명한다.
X는 5인 것으로 가정된다. 인코딩 장치 및 디코딩 장치는 X개의 제1 패치의 인덱스 값들이 연속적으로 0, 1, 2, 3 및 4인 것을 알 수 있다. 5개의 제1 패치와 대응하여 매칭되는 5개의 제2 패치의 인덱스 값들은 연속적으로 0, 2, 3, 1 및 4이다.
선택적으로, 구현에서, 매칭 정보는 5개의 제1 패치와 대응하여 매칭되는 5개의 제2 패치의 인덱스 값들을 포함할 수 있고, 인덱스 값들은 구체적으로 0, 2, 3, 1 및 4이다. 매칭 정보는 3 비트를 이용하여 인코딩될 수 있다.
선택적으로, 다른 구현에서, 매칭 정보는 X개의 인덱스 차이를 포함할 수 있다. X개의 인덱스 차이는 제1 패치들의 인덱스 값들에서 제1 패치들에 대응하여 매칭되는 제2 패치들의 인덱스 값들을 차감한 값일 수 있다. 구체적으로, X개의 인덱스 차이는 0-0, 1-2, 2-3, 3-1, 및 4-4, 즉, 0, -1, -1, 2, 및 0일 수 있다.
선택적으로, 또 다른 구현에서, 매칭 정보는 X개의 인덱스 차이를 포함할 수 있다. X개의 인덱스 차이는 제1 패치들과 대응하여 매칭되는 제2 패치들의 인덱스 값들에서 제1 패치들의 인덱스 값들을 차감한 값일 수 있다. 구체적으로, X개의 인덱스 차이는 0-0, 2-1, 3-2, 1-3, 및 4-4, 즉, 0, 1, 1, -2, 및 0일 수 있다.
선택적으로, 본 출원의 도 5에 도시된 실시예에서 제공되는 인코딩 방법에서, 매칭 정보가 획득되는 경우, S402에서 X개의 제1 패치의 보조 정보 및 X개의 제2 패치의 보조 정보를 획득하는 단계는:
X개의 제1 패치의 보조 정보를 획득하는 단계; 및
매칭 정보에 기초하여, X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 보조 정보를 획득하는 단계를 포함할 수 있다.
다음은 특정 예들을 사용하여 설명한다.
표 1에는 구체적으로 u0, v0, u1, v1, d1, sizeU0, 및 sizeV0인 7가지 타입의 보조 정보가 존재한다고 가정된다. X=5이다.
5개의 제1 패치의 인덱스 값들은 연속적으로 0, 1, 2, 3, 및 4이다. 인덱스 값이 i인 제1 패치의 7가지 타입의 보조 정보는 u0i, v0i, u1i, v1i, d1i, sizeU0i, 및 sizeV0i로 표시되고, 여기서 i = 0, 1, 2, 3, 4이다. 예를 들어, 인덱스 값이 0인 제1 패치의 7가지 타입의 보조 정보는 u00, v00, u10, v10, d10, sizeU00, 및 sizeV00로 표시된다.
5개의 제2 패치의 인덱스 값들은 연속적으로 0, 1, 2, 3, 및 4이다. 인덱스 값이 j인 제2 패치의 7가지 타입의 보조 정보는 pre_u0j, pre_v0j, pre_u1j, pre_v1j, pre_d1j, pre_sizeU0j, 및 pre_sizeV0j로 표시되고, 여기서 j = 0, 1, 2, 3, 4이다. 예를 들어, 인덱스 값이 2인 제2 패치의 7가지 타입의 보조 정보는 pre_u02, pre_v02, pre_u12, pre_v12, pre_d12, pre_sizeU02, 및 pre_sizeV02로 표시된다.
선택적으로, 예에서, 매칭 정보는 X개의 제1 패치의 인덱스 값들 및 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들을 포함한다. 예를 들어, 5개의 제1 패치의 인덱스 값들은 {0, 1, 2, 3, 4}이고, 5개의 제2 패치의 인덱스 값들은 {0, 2, 3, 1, 4}이다.
이 경우, 5개의 제1 패치의 보조 정보는 다음과 같다:
u00, v00, u10, v10, d10, sizeU00, sizeV00;
u01, v01, u11, v11, d11, sizeU01, sizeV01;
u02, v02, u12, v12, d12, sizeU02, sizeV02;
u03, v03, u13, v13, d13, sizeU03, sizeV03;
u04, v04, u14, v14, d14, sizeU04, sizeV04.
5개의 제1 패치와 대응하여 매칭되는 5개의 제2 패치의 보조 정보는 다음과 같다:
pre_u00, pre_v00, pre_u10, pre_v10, pre_d10, pre_sizeU00, pre_sizeV00;
pre_u02, pre_v02, pre_u12, pre_v12, pre_d12, pre_sizeU02, pre_sizeV02;
pre_u03, pre_v03, pre_u13, pre_v13, pre_d13, pre_sizeU03, pre_sizeV03;
pre_u01, pre_v01, pre_u11, pre_v11, pre_d11, pre_sizeU01, pre_sizeV01;
pre_u04, pre_v04, pre_u14, pre_v14, pre_d14, pre_sizeU04, pre_sizeV04.
5개의 제1 패치의 보조 정보 차이는 다음과 같다:
delta_u00 = u00 - pre_u00, delta_v00 =v00 - pre_v00, delta_u10 = u10 - pre_u10,
delta_v10 = v10 - pre_v10, delta_d10 = d10 - pre_d10, delta_sizeU00 = sizeU00 - pre_sizeU00, delta_sizeV00 = sizeV00 -pre_sizeV00;
delta_u01 = u01 - pre_u02, delta_v01 = v01 - pre_v02, delta_u1 = u11 - pre_u12,
delta_v11 = v11 - pre_v12, delta_d11 = d11 - pre_d12, delta_sizeU01 = sizeU01 - pre_sizeU02, delta_sizeV01 = sizeV01 - pre_sizeV02;
delta_u02 = u02 - pre_u03, delta_v02 = v02 - pre_v03, delta_u2 = u12 - pre_u13,
delta_v12 = v12 - pre_v13, delta_d12 = d12 - pre_d13, delta_sizeU02 = sizeU02 - pre_sizeU03, delta_sizeV02 = sizeV02 - pre_sizeV03;
delta_u03 = u03 - pre_u01, delta_v03 = v03 - pre_v01, delta_u3 = u13 - pre_u11,
delta_v13 = v13 - pre_v11, delta_d13 = d13 - pre_d11, delta_sizeU03 = sizeU03 - pre_sizeU01, delta_sizeV03 = sizeV03 - pre_sizeV01;
delta_u04 = u04 - pre_u04, delta_v04 = v04 - pre_v04, delta_u4 = u14 - pre_u14,
delta_v14 = v14 - pre_v14, delta_d14 = d14 - pre_d14, delta_sizeU04 = sizeU04 - pre_sizeU04, delta_sizeV04 = sizeV04 - pre_sizeV04.
선택적으로, 다른 예에서, 매칭 정보는 X개의 인덱스 차이를 포함한다. X개의 인덱스 차이는 X개의 제1 패치의 인덱스 값들에서 X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들을 차감함으로써 획득된 차이들, 예를 들어, {0, -1, -1, 2, 0}이다.
먼저 5개의 제1 패치의 인덱스 값들이 연속적으로 0, 1, 2, 3 및 4인 것을 알 수 있다. 5개의 인덱스 차이는 0, -1, -1, 2, 0이고, 이 경우에, 5개의 제1 패치에 대응하여 매칭되는 5개의 제2 패치의 인덱스 값들은 연속적으로 0-0, 1-(-1), 2-(-1), 3-2, 4-0, 즉, 0, 2, 3, 1, 4이다.
5개의 제1 패치의 보조 정보, 5개의 제1 패치에 대응하여 매칭되는 5개의 제2 패치의 보조 정보, 및 5개의 제1 패치에 대응하는 보조 정보 차이는 전술한 설명에서의 보조 정보와 동일하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
제1 패치들의 보조 정보를 획득하고 제2 패치들의 보조 정보를 획득하는 실행 시퀀스는 이 실시예에서 제한되지 않는다는 점에 유의해야 한다.
선택적으로, 본 출원의 도 8에 도시된 실시예에서 제공되는 디코딩 방법에서, 비트스트림을 분석하여 매칭 정보를 획득하는 경우, S703에서의 X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계는:
매칭 정보에 기초하여, X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 보조 정보를 결정하는 단계; 및
X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함한다.
다음은 예들을 사용하여 설명한다.
표 1에는 구체적으로 u0, v0, u1, v1, d1, sizeU0, 및 sizeV0인 7가지 타입의 보조 정보가 존재한다고 가정된다. X=5이다.
5개의 제2 패치의 인덱스 값들은 연속적으로 0, 1, 2, 3, 및 4이다. 인덱스 값이 j인 제2 패치의 7가지 타입의 보조 정보는 pre_u0j, pre_v0j, pre_u1j, pre_v1j, pre_d1j, pre_sizeU0j, 및 pre_sizeV0j로 표시되고, 여기서 j = 0, 1, 2, 3, 4이다. 예를 들어, 인덱스 값이 2인 제2 패치의 7가지 타입의 보조 정보는 pre_u02, pre_v02, pre_u12, pre_v12, pre_d12, pre_sizeU02, 및 pre_sizeV02로 표시된다.
선택적으로, 예에서, 매칭 정보는 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들을 포함한다. 예를 들어, 5개의 제2 패치의 인덱스 값들은 {0, 2, 3, 1, 4}이다.
먼저 5개의 제1 패치의 인덱스 값들이 연속적으로 0, 1, 2, 3 및 4인 것을 알 수 있다. 그 후, 인덱스 값들이 0, 1, 2, 3, 및 4인 5개의 제1 패치에 대응하여 매칭되는 5개의 제2 패치의 보조 정보는 다음과 같다:
pre_u00, pre_v00, pre_u10, pre_v10, pre_d10, pre_sizeU00, pre_sizeV00;
pre_u02, pre_v02, pre_u12, pre_v12, pre_d12, pre_sizeU02, pre_sizeV02;
pre_u03, pre_v03, pre_u13, pre_v13, pre_d13, pre_sizeU03, pre_sizeV03;
pre_u01, pre_v01, pre_u11, pre_v11, pre_d11, pre_sizeU01, pre_sizeV01;
pre_u04, pre_v04, pre_u14, pre_v14, pre_d14, pre_sizeU04, pre_sizeV04.
선택적으로, 다른 예에서, 매칭 정보는 X개의 제1 패치의 인덱스 값들 및 X개의 인덱스 차이를 포함한다. X개의 인덱스 차이는 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들에서 X개의 제1 패치의 인덱스 값들을 차감함으로써 획득되는 차이들이다. 예를 들어, 5개의 제1 패치의 인덱스 값들은 {0, 1, 2, 3, 4}이고, 5개의 인덱스 차이는 {0, 1, 1, -2, 0}이다.
제1 패치들의 인덱스 값들 및 인덱스 차이들은 알려져 있고, 이 경우에, 5개의 제1 패치에 대응하여 매칭되는 5개의 제2 패치의 인덱스 값들은 연속적으로 0+0, 1+1, 2+1, 3+(-2), 및 4+0, 즉, 0, 2, 3, 1, 및 4이다.
5개의 제1 패치와 대응하여 매칭되는 5개의 제2 패치의 보조 정보는 전술한 설명들에서의 보조 정보와 동일하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
X개의 제1 패치와 대응하여 매칭되는 X개의 제2 패치의 보조 정보가 결정된 후에, X개의 제1 패치의 보조 정보는 X개의 그룹의 보조 정보 차이 및 X개의 제2 패치의 보조 정보에 기초하여 획득될 수 있다.
패치의 보조 정보가 법선 축 인덱스 normalAxis를 갖는 경우, 디코더 측에서, X개의 제1 패치의 보조 정보의 법선 축 인덱스들 normalAxis은 X개의 제1 패치와 매칭되는 X개의 제2 패치들의 보조 정보의 법선 축 인덱스들 normalAxis을 사용하여 결정될 수 있다는 점에 유의해야 한다.
예를 들어, X=5이다.
5개의 제1 패치의 인덱스 값들은 연속적으로 0, 1, 2, 3, 및 4이다. 인덱스 값이 i인 제1 패치의 보조 정보의 법선 축 인덱스 normalAxis는 정규화된 normalAxisi로 표시되고, 여기서 i=0, 1, 2, 3, 4이다. 예를 들어, 인덱스 값이 0인 제1 패치의 보조 정보의 법선 축 인덱스 normalAxis는 normalAxis0로 표시된다.
5개의 제2 패치의 인덱스 값들은 연속적으로 0, 1, 2, 3, 및 4이다. 인덱스 값이 j인 제2 패치의 보조 정보의 법선 축 인덱스 normalAxis는 pre_normalAxisj로 표시되고, 여기서 j=0, 1, 2, 3, 4이다. 예를 들어, 인덱스 값이 0인 제2 패치의 보조 정보의 법선 축 인덱스 normalAxis는 pre_normalAxis0로 표시된다.
선택적으로, 예에서, 매칭 정보는 X개의 제1 패치에 대응하여 매칭되는 X개의 제2 패치의 인덱스 값들을 포함한다. 예를 들어, 5개의 제2 패치의 인덱스 값들은 {0, 2, 3, 1, 4}이다.
먼저 5개의 제1 패치의 인덱스 값들이 연속적으로 0, 1, 2, 3 및 4인 것을 알 수 있다. 그 후, 인덱스 값들이 0, 1, 2, 3, 및 4인 5개의 제1 패치에 대응하여 매칭되는 5개의 제2 패치의 보조 정보의 법선 축 인덱스들 normalAxis은 다음과 같다:
pre_normalAxis0;
pre_normalAxis2;
pre_normalAxis3;
pre_normalAxis1;
pre_normalAxis4.
이 경우, normalAxisi로서 표시되는, 인덱스 값이 i(i=0, 1, 2, 3, 4)인 제1 패치의 보조 정보의 법선 축 인덱스 normalAxis는 다음의 공식들을 사용함으로써 획득될 수 있다:
normalAxis0 = pre_normalAxis0;
normalAxis1 = pre_normalAxis2;
normalAxis2 = pre_normalAxis3;
normalAxis3 = pre_normalAxis1;
normalAxis4 = pre_normalAxis4.
선택적으로, 본 출원의 이 실시예에서의 매칭 관계는 다음의 단계들:
현재 프레임의 이전 프레임 내의 N개의 제2 패치를 획득하는 단계 -N은 양의 정수임-;
N개의 제2 패치 내의 i번째 제2 패치에 대해, -i=1, ..., N임- 매칭이 성공적으로 수행되지 않은 j개의 제1 패치와 i번째 제2 패치 사이의 연관 값들을 획득하고, 최대 연관 값 Qik를 결정하는 단계 -매칭이 성공적으로 수행되지 않은 j개의 제1 패치의 투영 방향들은 i번째 제2 패치의 투영 방향과 동일함-; 및
Qik가 미리 설정된 임계값보다 큰 경우, Qik에 대응하는 k번째 제1 패치가 i번째 제2 패치와 매칭되는 것으로 결정하는 단계 -k번째 제1 패치는 매칭이 성공적으로 수행되지 않은 j개의 제1 패치 중 하나임-; 또는
Qik가 미리 설정 임계값 이하인 경우, 어떠한 제1 패치도 i번째 제2 패치와 매칭되지 않는 것으로 결정하는 단계에 따라 결정될 수 있다.
다음은 다른 예를 사용하여 설명한다.
N=10이라고 가정된다. 제2 패치는 pre_patch로서 식별되고, 제1 패치는 "패치(patch)"로서 식별된다. 제2 패치들의 정렬 순서에 기초하여, 10개의 제2 패치는 pre_patch[i]로서 식별될 수 있고, 여기서 i=1, ..., 10이고, 대응하는 인덱스 값들은 1 내지 10일 수 있다. M=20이라고 가정된다. 제1 패치들의 정렬 순서에 기초하여, 20개의 제1 패치는 patch[k]로서 식별될 수 있고, 여기서 k=1, ..., 20이고, 대응하는 인덱스 값들은 1 내지 20일 수 있으며, 대응하는 최상의 매치 인덱스들 bestMatchIndex은 모두 -1이다. bestMatchIndex의 디폴트 값은 -1이거나, 다른 값일 수 있다. 예를 들어, N 이상의 값이 선택될 수 있다. 최상의 매치 인덱스는 현재 제1 패치에 매칭되는 제2 패치의 인덱스를 표시하는데 사용된다. 미리 설정된 임계값은 thr로서 식별될 수 있다.
N개의 제2 패치가 순회(traverse)된다. (인덱스 값 1을 갖는)pre_patch[1]이 먼저 획득되고, 그 후 M개의 제1 패치가 순회된다. patch[k]가 가정되고, 여기서 k=1, ..., 20이다. patch[k]의 투영 방향이 pre_patch[1]의 투영 방향과 동일하고, patch[k]의 최상의 매치 인덱스 bestMatchIndex가 -1인 경우, 전술한 조건을 충족시키는 모든 제1 패치 patch[k]와 pre_patch[1] 사이의 연관 값들이 계산되고, 연관 값들에서의 최대값 Q1m이 획득된다. m은 연관 값들에서의 최대값에 대응하는 제1 패치의 인덱스를 나타낸다. Q1m의 값이 미리 설정된 임계값 thr의 값과 비교된다. Q1m>thr인 경우, pre_patch[1]는 patch[m]과 매칭되는 것으로 결정된다. 다시 말해서, 현재 프레임에서의 인덱스 값이 m인 제1 패치는 이전 프레임에서의 인덱스 값이 1인 제2 패치와 매칭된다. patch[m]의 최상의 매치 인덱스 bestMatchIndex는 m으로 업데이트되고, 어레이 W에 저장된다. Q1m ≤ thr인 경우, 이것은 M개의 제1 패치 내의 패치 어느 것도 pre_patch[1]와 매칭 관계를 갖지 않는다는 것을 표시한다.
N개의 제2 패치는 계속 순회된다. (인덱스 값 2를 갖는)pre_patch[2]가 획득되고, 동일한 단계들이 수행된다. M개의 제1 패치는 pre_patch[2]와 매칭 관계를 갖는 패치를 검색한다. pre_patch[2]에 매칭되는 제1 패치의 인덱스 값이 -1인 경우, 이것은 M개의 제1 패치에서, 패치 어느 것도 pre_patch[2]와 매칭 관계를 갖지 않는다는 것을 표시한다. pre_patch[2]에 매칭되는 제1 패치의 인덱스 값이 n인 경우, 이것은 M개의 제1 패치 내의 n번째 패치가 pre_patch[2]와 매칭 관계를 갖는다는 것을 표시한다. 다시 말해서, patch[n]의 최상의 매치 인덱스 bestMatchIndex는 n이다. 모든 N개의 제2 패치가 순회될 때까지, 다음 제2 패치가 계속 순회된다.
전술한 단계들에 따르면, 어레이 W는 제2 패치들과 매칭 관계를 각각 갖는 모든 제1 패치를 저장하고, matchedPatchCount 제1 패치들이 있는 것으로 가정된다. 어레이 W에서, N개의 제2 패치와 매칭 관계를 갖는 matchedPatchCount 제1 패치들의 정렬 순서는 N개의 제2 패치의 정렬 순서와 동일하다. M개의 제1 패치에서, N개의 제2 패치와 매칭 관계를 갖지 않는 나머지 제1 패치(patch)는 어레이 W에 저장되며, 매칭 관계를 갖는 matchedPatchCount 제1 패치들 이후에 저장된다. 어레이 W에서의 전자의 matchedPatchCount 패치들은 매칭 관계를 갖는 패치들이고, 나머지 패치들은 매칭 관계를 갖지 않는 패치들이다. 매칭 관계를 갖지 않는 제1 패치들을 어레이 W에 저장하는 시퀀스는 본 출원의 이 실시예에서 제한되지 않는다는 점에 유의해야 한다. M개의 제1 패치에서, 매칭 관계를 갖지 않는 패치들(즉, bestMatchIndex가 -1인 패치들)은 어레이 W에 연속적으로 저장된다. 대안적으로, M개의 제1 패치에서, 매칭 관계를 갖지 않는 패치들(즉, bestMatchIndex가 -1인 패치들)은 랜덤 순서로 어레이 W에 저장된다.
그 후, M개의 제1 패치 내의 패치들의 시퀀스는 어레이 W를 사용하여 업데이트된다. 이러한 방식으로, M개의 제1 패치 내의 전자의 matchedPatchCount 제1 패치들은 매칭 관계를 갖는 제1 패치들이고, 후자의 M-matchedPatchCount 제1 패치들은 매칭 관계를 갖지 않는(최상의 매치 인덱스들 bestMatchIndex이 -1인) 제1 패치들이다.
선택적으로, 본 출원의 실시예는 추가로 인코딩 방법을 제공하고, 주로 X<M일 때 X개의 제1 패치 이외의 M개의 제1 패치 내의 나머지 Y개의 제1 패치의 보조 정보를 인코딩하기 위한 방법이다. 이 실시예에서 제공되는 인코딩 방법은 다음을 포함할 수 있다:
단계 21: M개의 제1 패치 내의 나머지 Y개의 제1 패치의 Z개의 타입의 보조 정보를 획득하고, 여기서 Y=M-X이고, Z≥1이다.
단계 22: X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk 및 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 획득하고, 여기서 k=1, ..., Z이다.
단계 23: 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 이상인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제1 심벌인 것으로 결정하고; 최대값 Bk 또는 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수를 결정하고; 코딩을 위한 제2 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하며, 여기서 k=1, ..., Z이다.
다음은 예를 사용하여 설명한다.
X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk는 200이고, Bk를 코딩하는데 필요한 비트 수는 8이며; Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak는 209이고, Ak를 코딩하는데 필요한 비트 수는 8이라고 가정된다. 이 경우, 최대값 Bk 또는 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제2 비트 수가 8이라고 결정될 수 있다. 그 후, Y개의 제1 패치의 k번째 타입의 보조 정보는 코딩을 위한 제2 비트 수 8을 사용하여 인코딩된다.
도 7에 도시된 실시예와 비교하여, 본 실시예에서 제공되는 인코딩 방법에서, 비교 대상들은 최대값 Bk 및 최대값 Ak 대신에, 최대값 Bk를 코딩하는데 필요한 비트 수 및 최대값 Ak를 코딩하는데 필요한 비트 수이다. 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 이상일 때, Y개의 제1 패치의 k번째 타입의 보조 정보는 최대값 Bk를 코딩하는데 필요한 비트 수를 직접 사용하여 인코딩될 수 있다. Y개의 제1 패치의 보조 정보를 코딩하기 위한 비트 수는 특별히 인코딩되어 디코딩 장치에 통지될 필요가 없다. 이것은 추가로 비트스트림을 압축하고, 그에 의해 코딩 효율 및 압축 성능을 향상시킨다.
단계 24: 최대값 Bk를 코딩하는데 필요한 비트 수가 최대값 Ak를 코딩하는데 필요한 비트 수 미만인 경우, 제1 식별 정보에서 k번째 타입의 보조 정보에 대응하는 비트가 제2 심벌인 것으로 결정하고; 최대값 Ak 또는 최대값 Ak를 코딩하는데 필요한 비트 수에 기초하여, Y개의 제1 패치의 k번째 타입의 보조 정보를 코딩하기 위한 제3 비트 수를 결정하고; 코딩을 위한 제3 비트 수를 인코딩하고; 코딩을 위한 제3 비트 수를 사용하여 Y개의 제1 패치의 k번째 타입의 보조 정보를 인코딩하며, 여기서 k=1, ..., Z이다.
단계 25: 제1 식별 정보를 인코딩한다.
단계 21에 대해서는, 도 7에 도시된 실시예에서의 S601의 설명을 참조하고; 단계 22에 대해서는, S602의 설명을 참조하고; 단계 25에 대해서는, S605의 설명을 참조한다는 점에 유의해야 한다. 그 기술적 원리 및 기술적 효과는 도 7에 도시된 실시예의 기술적 원리 및 기술적 효과와 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
선택적으로, 구현에서, 도 7에 도시된 실시예에서의 S604 및 단계 24에서 코딩을 위한 제3 비트 수를 인코딩하는 단계는:
코딩을 위한 제3 비트 수를 직접 인코딩하는 단계를 포함할 수 있다.
다음은 예를 사용하여 설명한다.
코딩을 위한 제3 비트 수이 6이라고 가정하면, 코딩을 위한 제3 비트 수는 3 비트를 직접 사용하여 인코딩될 수 있고, 인코딩 후에 획득된 비트스트림은 0x6을 포함한다.
대응적으로, 디코더 측에서, 디코딩 장치는 비트스트림을 분석하여 코딩을 위한 제3 비트 수를 획득할 수 있다.
전술한 예가 여전히 사용된다. 디코딩 장치는 비트스트림으로부터, 0x6인 것으로 가정되는 3 비트를 분석하여, 코딩을 위한 제3 비트 수 6을 획득할 수 있다.
선택적으로, 다른 구현에서, 도 7에 도시된 실시예에서의 S604 및 단계 24에서 코딩을 위한 제3 비트 수를 인코딩하는 단계는:
코딩을 위한 제3 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이를 인코딩하는 단계를 포함할 수 있다.
다음은 예를 사용하여 설명한다.
코딩을 위한 제3 비트 수가 7이고, 코딩을 위한 제3 비트 수가 일반적으로 최대값 Ak를 코딩하는데 필요한 비트 수 이상이며, 최대값 Bk를 코딩하는데 필요한 비트 수가 3이라고 가정하면, 코딩을 위한 제3 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이는 4이다. 차이는 2 비트를 사용하여 인코딩될 수 있고, 인코딩 후에 획득된 비트스트림은 0x4를 포함한다.
대응적으로, 디코더 측에서, 디코딩 장치는 비트스트림으로부터 차이 비트 정보를 획득할 수 있다. 차이 비트 정보는 Y개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이를 표시하는데 사용되며, 여기서 k=1, ..., Z이다. 그 후, 코딩을 위한 제3 비트 수는 차이 비트 정보 및 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 획득된다.
전술한 예가 여전히 사용된다. 디코딩 장치는 비트스트림으로부터, 0x4인 것으로 가정되는 2 비트를 분석하여 차이 비트 정보 4를 획득할 수 있고; 최대값 Bk를 코딩하는데 필요한 획득된 비트 수는 3이다. 이 경우, 코딩을 위한 제3 비트 수 7은 차이 비트 정보 4 및 최대값 Bk를 코딩하는데 필요한 비트 수 3에 기초하여 획득될 수 있다.
단계 23 및 단계 24를 제외하고, 이 실시예에서 제공되는 인코딩 방법의 다른 내용은 도 7에 도시된 실시예의 것과 유사하다는 점에 유의해야 한다. 그 기술적 원리 및 기술적 효과는 도 7에 도시된 실시예의 것들과 유사하다. 세부사항들은 본 명세서에서 다시 설명하지 않는다.
본 출원의 실시예들에서, 연속적인 프레임들의 포인트 클라우드 데이터 사이의 상관 관계가 이용되고, 여기서, 현재 프레임과 현재 프레임의 이전 프레임은 2개의 연속적인 프레임이라는 점에 유의해야 한다. 일부 구현들에서, 2개의 연속적인 프레임은 현재 프레임과 현재 프레임의 기준 프레임으로도 지칭될 수 있다. 현재 프레임의 기준 프레임은 현재 프레임의 이전 프레임 또는 현재 프레임의 다음 프레임일 수 있다. 현재 프레임 내의 패치는 제1 패치라고 지칭될 수 있고, 기준 프레임 내의 패치는 기준 패치라고 지칭될 수 있다.
현재 프레임의 이전 프레임 또는 다음 프레임은 시퀀스가 조정된 후에 획득되는 프레임일 수 있다는 점에 유의해야 한다. 현재 프레임의 이전 프레임 또는 다음 프레임은 시간 시퀀스에서 불필요하게 이전 프레임 또는 다음 프레임이다. 예를 들어, 수 개의 프레임들의 입력 처리될 포인트 클라우드들은 시간 시퀀스가 조정된 후에 획득되는 시퀀스일 수 있다. 예를 들어, 시간 시퀀스에서의 프레임 시퀀스는 제1 프레임, 제2 프레임, 제3 프레임, ..., 및 제7 프레임이고, 조정된 시퀀스는 제1 프레임, 제3 프레임, 제7 프레임, 제4 프레임, 제5 프레임, 제2 프레임, 및 제6 프레임으로 변경된다. 현재 프레임이 제7 프레임이라고 가정하면, 시퀀스가 조정된 후에 획득되는 프레임 시퀀스 내의 제7 프레임의 이전 프레임은 제3 프레임이고, 시퀀스가 조정된 후에 획득되는 프레임 시리즈 내의 제7 프레임의 다음 프레임은 제4 프레임이다.

Claims (100)

  1. 포인트 클라우드 데이터 디코딩 방법으로서,
    비트스트림을 분석하여 X개의 그룹의 보조 정보 차이를 획득하는 단계 -X는 현재 프레임 내의 기준 패치와 매칭되는 제1 패치의 수를 나타내고, X는 M 이하이고, M은 상기 현재 프레임 내의 제1 패치의 수를 나타내고, X와 M 양쪽 모두는 양의 정수임-;
    X개의 기준 패치의 보조 정보를 획득하는 단계 -상기 기준 패치는 상기 현재 프레임의 기준 프레임에 포함됨-; 및
    상기 X개의 그룹의 보조 정보 차이 및 상기 X개의 기준 패치의 보조 정보에 기초하여 상기 현재 프레임 내의 X개의 제1 패치의 보조 정보를 획득하는 단계를 포함하고;
    상기 보조 정보 차이는:
    점유 맵에서의 상기 제1 패치의 높이와 점유 맵에서의 상기 기준 패치의 높이 사이의 차이; 및
    점유 맵에서의 상기 제1 패치의 폭과 점유 맵에서의 상기 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함하는 포인트 클라우드 데이터 디코딩 방법.
  2. 제1항에 있어서,
    X<M인 경우, 상기 방법은:
    상기 비트스트림을 분석하여 코딩을 위한 적어도 하나의 제1 비트 수를 획득하는 단계 -코딩을 위한 제1 비트 수 각각은 Y개의 제1 패치의 적어도 하나의 타입의 보조 정보에서, 상기 코딩을 위한 제1 비트 수에 대응하는 하나의 타입의 보조 정보의 최대값 A를 코딩하는데 필요한 비트 수이며, Y=M-X이고, Y는 양의 정수임-; 및
    코딩을 위한 적어도 하나의 제1 비트 수를 사용하여 상기 Y개의 제1 패치의 적어도 하나의 타입의 보조 정보를 상기 비트스트림으로부터 획득하는 단계를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  3. 제1항에 있어서,
    X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 상기 방법은:
    상기 비트스트림으로부터 제2 식별 정보를 획득하는 단계; 및
    상기 제2 식별 정보가 제3 심볼인 경우, 상기 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 상기 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z이고, Y=M-X이며, Y는 양의 정수임-를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  4. 제3항에 있어서,
    상기 제2 식별 정보가 제4 심볼인 경우, 상기 비트스트림으로부터 제1 식별 정보를 획득하는 단계; 및
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 상기 X개의 제1 패치의 k번째 타입의 보조 정보의 상기 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 상기 비트스트림으로부터 상기 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하는 단계 -k=1, ..., Z임-를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  5. 제4항에 있어서,
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 상기 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 상기 비트스트림으로부터 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보를 획득하는 단계 -코딩을 위한 제3 비트 수는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  6. 제4항에 있어서,
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 상기 비트스트림으로부터 차이를 획득하는 단계 -상기 차이는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 상기 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-;
    상기 차이 및 상기 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하는 단계 -코딩을 위한 제3 비트 수는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 상기 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-; 및
    코딩을 위한 제3 비트 수를 사용하여 비트스트림으로부터 Y개의 제1 패치의 상기 k번째 타입의 보조 정보를 획득하는 단계를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 방법은:
    상기 비트스트림을 분석하여 매칭 정보를 획득하는 단계 -상기 매칭 정보는 상기 X개의 제1 패치와 상기 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용됨-를 추가로 포함하고;
    X개의 기준 패치의 보조 정보를 획득하는 단계는:
    상기 매칭 정보에 기초하여, 상기 X개의 제1 패치와 대응하여 매칭되는 상기 X개의 기준 패치를 결정하는 단계; 및
    상기 X개의 기준 패치의 보조 정보를 획득하는 단계를 포함하는 포인트 클라우드 데이터 디코딩 방법.
  8. 제7항에 있어서,
    상기 매칭 정보는:
    상기 X개의 제1 패치와 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들; 또는
    X개의 인덱스 차이 -상기 X개의 인덱스 차이는 상기 X개의 제1 패치의 인덱스 값들과 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함하는 포인트 클라우드 데이터 디코딩 방법.
  9. 제7항에 있어서,
    상기 매칭 정보는:
    상기 X개의 제1 패치의 인덱스 값들 및 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들; 또는
    상기 X개의 제1 패치의 인덱스 값들 및 상기 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -상기 X개의 인덱스 차이는 상기 X개의 제1 패치의 인덱스 값들과 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함하는 포인트 클라우드 데이터 디코딩 방법.
  10. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 방법은,
    M에 기초하여 코딩을 위한 제4 비트 수를 결정하는 단계; 및
    코딩을 위한 제4 비트 수를 사용하여 상기 비트스트림을 분석하여 X를 획득하는 단계를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  11. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 보조 정보 차이는:
    3차원 좌표계에서의 상기 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 X 좌표값 사이의 차이;
    3차원 좌표계에서의 상기 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 Y 좌표값 사이의 차이;
    3차원 좌표계에서의 상기 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 Z 좌표값 사이의 차이;
    투영 방향에 따른 점유 맵에서의 상기 제1 패치의 최소 X 좌표값과 상기 투영 방향에 따른 점유 맵에서의 상기 기준 패치의 최소 X 좌표값 사이의 차이; 및
    상기 투영 방향에 따른 점유 맵에서의 상기 제1 패치의 최소 Y 좌표값과 상기 투영 방향에 따른 점유 맵에서의 상기 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 추가로 포함하는 포인트 클라우드 데이터 디코딩 방법.
  12. 포인트 클라우드 데이터 디코딩 장치로서,
    비트스트림을 분석하여 X개의 그룹의 보조 정보 차이를 획득하도록 구성되는 디코딩 모듈 -X는 현재 프레임 내의 기준 패치와 매칭되는 제1 패치의 수를 나타내고, X는 M 이하이고, M은 상기 현재 프레임 내의 제1 패치의 수를 나타내고, X와 M 양쪽 모두는 양의 정수임-; 및
    X개의 기준 패치의 보조 정보를 획득하도록 구성되는 획득 모듈 -상기 기준 패치는 상기 현재 프레임의 기준 프레임에 포함됨-을 포함하고;
    상기 디코딩 모듈은 추가로 상기 X개의 그룹의 보조 정보 차이 및 상기 X개의 기준 패치의 보조 정보에 기초하여 상기 현재 프레임 내의 X개의 제1 패치의 보조 정보를 획득하도록 구성되고;
    상기 보조 정보 차이는:
    점유 맵에서의 상기 제1 패치의 높이와 점유 맵에서의 상기 기준 패치의 높이 사이의 차이; 및
    점유 맵에서의 상기 제1 패치의 폭과 점유 맵에서의 상기 기준 패치의 폭 사이의 차이 중 적어도 하나를 포함하는 포인트 클라우드 데이터 디코딩 장치.
  13. 제12항에 있어서,
    X<M인 경우, 상기 디코딩 모듈은 추가로:
    상기 비트스트림을 분석하여 코딩을 위한 적어도 하나의 제1 비트 수를 획득하고 -코딩을 위한 제1 비트 수 각각은 Y개의 제1 패치의 적어도 하나의 타입의 보조 정보에서, 코딩을 위한 제1 비트 수에 대응하는 하나의 타입의 보조 정보의 최대값 A를 코딩하는데 필요한 비트 수이며, Y=M-X이고, Y는 양의 정수임-;
    코딩을 위한 적어도 하나의 제1 비트 수를 사용하여 상기 Y개의 제1 패치의 적어도 하나의 타입의 보조 정보를 상기 비트스트림으로부터 획득하도록 구성되는 포인트 클라우드 데이터 디코딩 장치.
  14. 제12항에 있어서,
    X<M이고, Z개의 타입의 보조 정보가 존재하고, Z≥1인 경우, 상기 디코딩 모듈은 추가로:
    상기 비트스트림으로부터 제2 식별 정보를 획득하고;
    상기 제2 식별 정보가 제3 심볼인 경우, 상기 X개의 제1 패치의 k번째 타입의 보조 정보의 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 상기 비트스트림으로부터 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되는 -k=1, ..., Z이고, Y=M-X이며, Y는 양의 정수임- 포인트 클라우드 데이터 디코딩 장치.
  15. 제14항에 있어서,
    상기 디코딩 모듈은 추가로:
    상기 제2 식별 정보가 제4 심볼인 경우, 상기 비트스트림으로부터 제1 식별 정보를 획득하고;
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제1 심볼인 경우, 상기 X개의 제1 패치의 k번째 타입의 보조 정보의 상기 최대값 Bk에 기초하여 코딩을 위한 제2 비트 수를 결정하고, 코딩을 위한 제2 비트 수를 사용하여 상기 비트스트림으로부터 상기 Y개의 제1 패치의 k번째 타입의 보조 정보를 획득하도록 구성되는 -k=1, ..., Z임- 포인트 클라우드 데이터 디코딩 장치.
  16. 제15항에 있어서,
    상기 디코딩 모듈은 추가로:
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 상기 비트스트림으로부터 코딩을 위한 제3 비트 수를 획득하고, 코딩을 위한 제3 비트 수를 사용하여 상기 비트스트림으로부터 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보를 획득하도록 구성되는 -코딩을 위한 제3 비트 수는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임- 포인트 클라우드 데이터 디코딩 장치.
  17. 제15항에 있어서,
    상기 디코딩 모듈은 추가로:
    상기 제1 식별 정보에서 상기 k번째 타입의 보조 정보에 대응하는 비트가 제2 심볼인 경우, 상기 비트스트림으로부터 차이를 획득하고 -상기 차이는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수와 상기 최대값 Bk를 코딩하는데 필요한 비트 수 사이의 차이이고, k=1, ..., Z임-;
    상기 차이 및 상기 최대값 Bk를 코딩하는데 필요한 비트 수에 기초하여 코딩을 위한 제3 비트 수를 획득하며 -코딩을 위한 제3 비트 수는 상기 Y개의 제1 패치의 상기 k번째 타입의 보조 정보의 최대값 Ak를 코딩하는데 필요한 비트 수이고, k=1, ..., Z임-;
    코딩을 위한 제3 비트 수를 사용하여 상기 비트스트림으로부터 Y개의 제1 패치의 상기 k번째 타입의 보조 정보를 획득하도록 구성되는 포인트 클라우드 데이터 디코딩 장치.
  18. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 디코딩 모듈은 추가로:
    상기 비트스트림을 분석하여 매칭 정보를 획득하도록 구성되고, 상기 매칭 정보는 상기 X개의 제1 패치와 상기 X개의 기준 패치 사이의 매칭 관계를 표시하는데 사용되고;
    상기 획득 모듈은 구체적으로:
    매칭 정보에 기초하여, 상기 X개의 제1 패치와 대응하여 매칭되는 상기 X개의 기준 패치를 결정하고;
    상기 X개의 기준 패치의 보조 정보를 획득하도록 구성되는 포인트 클라우드 데이터 디코딩 장치.
  19. 제18항에 있어서,
    상기 매칭 정보는:
    상기 X개의 제1 패치와 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들; 또는
    X개의 인덱스 차이 -상기 X개의 인덱스 차이는 상기 X개의 제1 패치의 인덱스 값들과 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함하는 포인트 클라우드 데이터 디코딩 장치.
  20. 제18항에 있어서,
    상기 매칭 정보는:
    상기 X개의 제1 패치의 인덱스 값들과 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들; 또는
    상기 X개의 제1 패치의 인덱스 값들 및 상기 X개의 제1 패치에 각각 대응하는 X개의 인덱스 차이 -상기 X개의 인덱스 차이는 상기 X개의 제1 패치의 인덱스 값들과 상기 X개의 제1 패치에 대응하여 매칭되는 상기 X개의 기준 패치의 인덱스 값들 사이의 차이들임- 중 어느 하나를 포함하는 포인트 클라우드 데이터 디코딩 장치.
  21. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 디코딩 모듈은 추가로:
    M에 기초하여 코딩을 위한 제4 비트 수를 결정하고;
    코딩을 위한 제4 비트 수를 사용하여 상기 비트스트림을 분석하여 X를 획득하도록 구성되는 포인트 클라우드 데이터 디코딩 장치.
  22. 제12항 내지 제17항 중 어느 한 항에 있어서,
    상기 보조 정보 차이는:
    3차원 좌표계에서의 상기 제1 패치의 최소 X 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 X 좌표값 사이의 차이;
    3차원 좌표계에서의 상기 제1 패치의 최소 Y 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 Y 좌표값 사이의 차이;
    3차원 좌표계에서의 상기 제1 패치의 최소 Z 좌표값과 3차원 좌표계에서의 상기 기준 패치의 최소 Z 좌표값 사이의 차이;
    투영 방향에 따른 점유 맵에서의 상기 제1 패치의 최소 X 좌표값과 상기 투영 방향에 따른 점유 맵에서의 상기 기준 패치의 최소 X 좌표값 사이의 차이; 및
    상기 투영 방향에 따른 점유 맵에서의 상기 제1 패치의 최소 Y 좌표값과 상기 투영 방향에 따른 점유 맵에서의 상기 기준 패치의 최소 Y 좌표값 사이의 차이 중 적어도 하나를 추가로 포함하는 포인트 클라우드 데이터 디코딩 장치.
  23. 컴퓨터 판독가능 저장 매체에 저장된 프로그램으로서,
    컴퓨터 또는 프로세서가 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 판독가능 저장 매체에 저장된 프로그램.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
KR1020207023576A 2018-01-17 2018-10-26 인코딩 방법, 디코딩 방법, 및 디바이스 KR102376114B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810045808.X 2018-01-17
CN201810045808.XA CN110049323B (zh) 2018-01-17 2018-01-17 编码方法、解码方法和装置
PCT/CN2018/112215 WO2019140973A1 (zh) 2018-01-17 2018-10-26 编码方法、解码方法和装置

Publications (2)

Publication Number Publication Date
KR20200108465A KR20200108465A (ko) 2020-09-18
KR102376114B1 true KR102376114B1 (ko) 2022-03-18

Family

ID=67273545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023576A KR102376114B1 (ko) 2018-01-17 2018-10-26 인코딩 방법, 디코딩 방법, 및 디바이스

Country Status (7)

Country Link
US (1) US11388446B2 (ko)
EP (1) EP3737100A4 (ko)
JP (1) JP7127137B2 (ko)
KR (1) KR102376114B1 (ko)
CN (2) CN110049323B (ko)
BR (1) BR112020014511A2 (ko)
WO (1) WO2019140973A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200140256A (ko) * 2018-04-11 2020-12-15 소니 주식회사 화상 처리 장치 및 방법
CN110944187B (zh) 2018-09-19 2022-05-10 华为技术有限公司 点云编码方法和编码器
CN110971912B (zh) 2018-09-30 2022-04-29 华为技术有限公司 点云编解码方法、编解码器、编解码装置和存储介质
WO2021165566A1 (en) * 2020-02-19 2021-08-26 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
CN114915791B (zh) * 2021-02-08 2023-10-20 荣耀终端有限公司 基于二维规则化平面投影的点云序列编解码方法及装置
EP4152264A1 (en) * 2021-09-17 2023-03-22 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347120A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
KR20110097140A (ko) * 2010-02-24 2011-08-31 삼성전자주식회사 이동 로봇의 위치 추정 장치 및 방법
JP2012068881A (ja) 2010-09-22 2012-04-05 Univ Of Tokyo 3次元動画像の圧縮に用いる基本単位及び当該基本単位の生成方法、当該基本単位を用いた3次元動画像の圧縮方法
US10484697B2 (en) 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
US10515259B2 (en) * 2015-02-26 2019-12-24 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining 3D object poses and landmark points using surface patches
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
CN107230225B (zh) * 2017-04-25 2020-06-09 华为技术有限公司 三维重建的方法和装置
CN107240129A (zh) * 2017-05-10 2017-10-10 同济大学 基于rgb‑d相机数据的物体及室内小场景恢复与建模方法
CN107481315A (zh) * 2017-06-29 2017-12-15 重庆邮电大学 一种基于Harris‑SIFT‑BRIEF算法的单目视觉三维环境重建方法
CN107403456B (zh) * 2017-07-28 2019-06-18 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US10535161B2 (en) * 2017-11-09 2020-01-14 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347120A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Khaled Mammou et al, Point Cloud Compression: Test Model Category 2 version 0.0, ISO/IEC JTC1/SC29/WG11 m41920(2017/10/27.)*

Also Published As

Publication number Publication date
KR20200108465A (ko) 2020-09-18
CN110278719B (zh) 2021-11-19
US20200351522A1 (en) 2020-11-05
EP3737100A1 (en) 2020-11-11
JP7127137B2 (ja) 2022-08-29
BR112020014511A2 (pt) 2020-12-08
JP2021510987A (ja) 2021-04-30
CN110049323B (zh) 2021-09-07
CN110049323A (zh) 2019-07-23
US11388446B2 (en) 2022-07-12
EP3737100A4 (en) 2020-12-30
WO2019140973A1 (zh) 2019-07-25
CN110278719A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
KR102376114B1 (ko) 인코딩 방법, 디코딩 방법, 및 디바이스
US9396512B2 (en) Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit
US9348860B2 (en) Method for encoding a mesh model, encoded mesh model and method for decoding a mesh model
US9965821B2 (en) Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit
US20080080778A1 (en) Image data compression method and apparatuses, image display method and apparatuses
US20150379682A1 (en) Vertex attribute data compression with random access using hardware
EP2782066A1 (en) Local feature amount extraction device, local feature amount extraction method, and program
US20120166510A1 (en) Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder
EP3333720A1 (en) A method and an apparatus for encoding a signal transporting data for reconstructing a sparse matrix
CN112825199A (zh) 碰撞检测方法、装置、设备及存储介质
US9396705B2 (en) Image processing method and image processing apparatus for drawing graphics in one area
US9898834B2 (en) Method and apparatus for generating a bitstream of repetitive structure discovery based 3D model compression
CN111862343A (zh) 一种三维重建方法、装置、设备及计算机可读存储介质
US20230086264A1 (en) Decoding method, encoding method, decoder, and encoder based on point cloud attribute prediction
He A simple optimal binary representation of mosaic floorplans and Baxter permutations
US20210082082A1 (en) Data processing method and processing circuit
CN112288759A (zh) 一种边界提取方法、装置、设备及存储介质
CN111291240B (zh) 处理数据的方法和数据处理装置
US9177006B2 (en) Radix sort with read-only key
CN111047656A (zh) 一种动态参考点深度偏移z值压缩算法
US20230104518A1 (en) Method and system for pre-processing geometric model data of 3d modeling software for deep learning
CN116821077A (zh) 栅格文件的编码方法、装置、电子设备及存储介质
Monclús et al. Efficient selection of representative views and navigation paths for volume data exploration
Bradley A dyadic solution of relative pose problems
JP2022539411A (ja) 点群符号化方法、点群復号化方法、符号器、復号器及びコンピュータ記憶媒体

Legal Events

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