KR20210019445A - 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 - Google Patents

삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 Download PDF

Info

Publication number
KR20210019445A
KR20210019445A KR1020207035777A KR20207035777A KR20210019445A KR 20210019445 A KR20210019445 A KR 20210019445A KR 1020207035777 A KR1020207035777 A KR 1020207035777A KR 20207035777 A KR20207035777 A KR 20207035777A KR 20210019445 A KR20210019445 A KR 20210019445A
Authority
KR
South Korea
Prior art keywords
data
dimensional
prediction
value
information
Prior art date
Application number
KR1020207035777A
Other languages
English (en)
Inventor
도시야스 스기오
Original Assignee
파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 filed Critical 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카
Publication of KR20210019445A publication Critical patent/KR20210019445A/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/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/103Selection of coding mode or of prediction mode
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image 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/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

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)
  • Image Processing (AREA)

Abstract

삼차원 데이터 부호화 방법은, 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 방법으로서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고(S3961), 선택된 예측 모드의 예측값을 산출하고(S3962), 제1 삼차원점의 속성 정보와, 산출된 예측값의 차분인 예측 잔차를 산출하고(S3963), 예측 모드와 예측 잔차를 포함하는 비트 스트림을 생성하고(S3964), 예측값의 산출에서는, 선택된 예측 모드에 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다.

Description

삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
본 개시는, 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치에 관한 것이다.
자동차 혹은 로봇이 자율적으로 동작하기 위한 컴퓨터 비전, 맵 정보, 감시, 인프라 점검, 또는, 영상 전송 등, 폭넓은 분야에 있어서, 향후, 삼차원 데이터를 활용한 장치 또는 서비스의 보급이 전망된다. 삼차원 데이터는, 레인지 파인더 등의 거리 센서, 스테레오 카메라, 또는 복수의 단안(單眼) 카메라의 조합 등 다양한 방법으로 취득된다.
삼차원 데이터의 표현 방법 중 하나로서, 삼차원 공간 내의 점군에 의해 삼차원 구조의 형상을 나타내는 포인트 클라우드라 불리는 표현 방법이 있다. 포인트 클라우드에서는, 점군의 위치와 색이 저장된다. 포인트 클라우드는 삼차원 데이터의 표현 방법으로서 주류가 될 것으로 예상되지만, 점군은 데이터량이 매우 크다. 따라서, 삼차원 데이터의 축적 또는 전송에 있어서는 이차원의 동화상(일례로서, MPEG로 규격화된 MPEG-4 AVC 또는 HEVC 등이 있다)과 마찬가지로, 부호화에 의한 데이터량의 압축이 필수가 된다.
또한, 포인트 클라우드의 압축에 대해서는, 포인트 클라우드 관련의 처리를 행하는 공개된 라이브러리(Point Cloud Library) 등에 의해 일부 서포트되고 있다.
또한, 삼차원의 지도 데이터를 사용하여, 차량 주변에 위치하는 시설을 검색하고, 표시하는 기술이 알려져 있다(예를 들면, 특허문헌 1 참조).
국제 공개 제2014/020663호
삼차원 데이터의 복호에 있어서 속성 정보를 올바르게 복호할 수 있는 것이 요망되고 있다.
본 개시는, 삼차원 데이터의 복호에 있어서 속성 정보를 올바르게 복호할 수 있는 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 또는 삼차원 데이터 복호 장치를 제공하는 것을 목적으로 한다.
본 개시의 일 양태에 따른 삼차원 데이터 부호화 방법은, 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 방법으로서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 상기 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고, 선택된 상기 예측 모드의 예측값을 산출하고, 상기 제1 삼차원점의 속성 정보와, 산출된 상기 예측값의 차분인 예측 잔차를 산출하고, 상기 예측 모드와 상기 예측 잔차를 포함하는 비트 스트림을 생성하고, 상기 예측값의 산출에서는, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
본 개시의 일 양태에 따른 삼차원 데이터 복호 방법은, 복수의 삼차원점을 복호하는 삼차원 데이터 복호 방법으로서, 비트 스트림을 취득함으로써 상기 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득하고, 취득된 예측 모드의 예측값을 산출하고, 상기 예측값과 상기 예측 잔차를 가산함으로써, 상기 제1 삼차원점의 속성 정보를 산출하고, 상기 예측값의 산출에서는, 취득된 상기 예측 모드에 상기 제1 삼차원점 주위의 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
본 개시는, 삼차원 데이터의 복호에 있어서 속성 정보를 올바르게 복호할 수 있는 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 또는 삼차원 데이터 복호 장치를 제공할 수 있다.
도 1은, 실시 형태 1에 따른 부호화 삼차원 데이터의 구성을 나타내는 도면이다.
도 2는, 실시 형태 1에 따른 GOS의 최하층 레이어에 속하는 SPC간의 예측 구조의 일례를 나타내는 도면이다.
도 3은, 실시 형태 1에 따른 레이어간의 예측 구조의 일례를 나타내는 도면이다.
도 4는, 실시 형태 1에 따른 GOS의 부호화순의 일례를 나타내는 도면이다.
도 5는, 실시 형태 1에 따른 GOS의 부호화순의 일례를 나타내는 도면이다.
도 6은, 실시 형태 1에 따른 삼차원 데이터 부호화 장치의 블럭도이다.
도 7은, 실시 형태 1에 따른 부호화 처리의 플로차트이다.
도 8은, 실시 형태 1에 따른 삼차원 데이터 복호 장치의 블럭도이다.
도 9는, 실시 형태 1에 따른 복호 처리의 플로차트이다.
도 10은, 실시 형태 1에 따른 메타 정보의 일례를 나타내는 도면이다.
도 11은, 실시 형태 2에 따른 SWLD의 구성예를 나타내는 도면이다.
도 12는, 실시 형태 2에 따른 서버 및 클라이언트의 동작예를 나타내는 도면이다.
도 13은, 실시 형태 2에 따른 서버 및 클라이언트의 동작예를 나타내는 도면이다.
도 14는, 실시 형태 2에 따른 서버 및 클라이언트의 동작예를 나타내는 도면이다.
도 15는, 실시 형태 2에 따른 서버 및 클라이언트의 동작예를 나타내는 도면이다.
도 16은, 실시 형태 2에 따른 삼차원 데이터 부호화 장치의 블럭도이다.
도 17은, 실시 형태 2에 따른 부호화 처리의 플로차트이다.
도 18은, 실시 형태 2에 따른 삼차원 데이터 복호 장치의 블럭도이다.
도 19는, 실시 형태 2에 따른 복호 처리의 플로차트이다.
도 20은, 실시 형태 2에 따른 WLD의 구성예를 나타내는 도면이다.
도 21은, 실시 형태 2에 따른 WLD의 8진 트리 구조의 예를 나타내는 도면이다.
도 22는, 실시 형태 2에 따른 SWLD의 구성예를 나타내는 도면이다.
도 23은, 실시 형태 2에 따른 SWLD의 8진 트리 구조의 예를 나타내는 도면이다.
도 24는, 실시 형태 3에 따른 삼차원 데이터 작성 장치의 블럭도이다.
도 25는, 실시 형태 3에 따른 삼차원 데이터 송신 장치의 블럭도이다.
도 26은, 실시 형태 4에 따른 삼차원 정보 처리 장치의 블럭도이다.
도 27은, 실시 형태 5에 따른 삼차원 데이터 작성 장치의 블럭도이다.
도 28은, 실시 형태 6에 따른 시스템의 구성을 나타내는 도면이다.
도 29는, 실시 형태 6에 따른 클라이언트 장치의 블럭도이다.
도 30은, 실시 형태 6에 따른 서버의 블럭도이다.
도 31은, 실시 형태 6에 따른 클라이언트 장치에 의한 삼차원 데이터 작성 처리의 플로차트이다.
도 32는, 실시 형태 6에 따른 클라이언트 장치에 의한 센서 정보 송신 처리의 플로차트이다.
도 33은, 실시 형태 6에 따른 서버에 의한 삼차원 데이터 작성 처리의 플로차트이다.
도 34는, 실시 형태 6에 따른 서버에 의한 삼차원 맵 송신 처리의 플로차트이다.
도 35는, 실시 형태 6에 따른 시스템의 변형예의 구성을 나타내는 도면이다.
도 36은, 실시 형태 6에 따른 서버 및 클라이언트 장치의 구성을 나타내는 도면이다.
도 37은, 실시 형태 7에 따른 삼차원 데이터 부호화 장치의 블럭도이다.
도 38은, 실시 형태 7에 따른 예측 잔차의 예를 나타내는 도면이다.
도 39는, 실시 형태 7에 따른 볼륨의 예를 나타내는 도면이다.
도 40은, 실시 형태 7에 따른 볼륨의 8진 트리 표현의 예를 나타내는 도면이다.
도 41은, 실시 형태 7에 따른 볼륨의 비트열의 예를 나타내는 도면이다.
도 42는, 실시 형태 7에 따른 볼륨의 8진 트리 표현의 예를 나타내는 도면이다.
도 43은, 실시 형태 7에 따른 볼륨의 예를 나타내는 도면이다.
도 44는, 실시 형태 7에 따른 인트라 예측 처리를 설명하기 위한 도면이다.
도 45는, 실시 형태 7에 따른 회전 및 병진 처리를 설명하기 위한 도면이다.
도 46은, 실시 형태 7에 따른 RT 적용 플래그 및 RT 정보의 신택스예를 나타내는 도면이다.
도 47은, 실시 형태 7에 따른 인터 예측 처리를 설명하기 위한 도면이다.
도 48은, 실시 형태 7에 따른 삼차원 데이터 복호 장치의 블럭도이다.
도 49는, 실시 형태 7에 따른 삼차원 데이터 부호화 장치에 의한 삼차원 데이터 부호화 처리의 플로차트이다.
도 50은, 실시 형태 7에 따른 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다.
도 51은, 실시 형태 8에 따른 삼차원점의 예를 나타내는 도면이다.
도 52는, 실시 형태 8에 따른 LoD의 설정예를 나타내는 도면이다.
도 53은, 실시 형태 8에 따른 LoD의 설정에 사용하는 역치의 예를 나타내는 도면이다.
도 54는, 실시 형태 8에 따른 예측값에 사용하는 속성 정보의 예를 나타내는 도면이다.
도 55는, 실시 형태 8에 따른 지수 골룸 부호의 일례를 나타내는 도면이다.
도 56은, 실시 형태 8에 따른 지수 골룸 부호에 대한 처리를 나타내는 도면이다.
도 57은, 실시 형태 8에 따른 속성 헤더의 신택스예를 나타내는 도면이다.
도 58은, 실시 형태 8에 따른 속성 데이터의 신택스예를 나타내는 도면이다.
도 59는, 실시 형태 8에 따른 삼차원 데이터 부호화 처리의 플로차트이다.
도 60은, 실시 형태 8에 따른 속성 정보 부호화 처리의 플로차트이다.
도 61은, 실시 형태 8에 따른 지수 골룸 부호에 대한 처리를 나타내는 도면이다.
도 62는, 실시 형태 8에 따른 나머지 부호와 그 값의 관계를 나타내는 역방향 조회 테이블의 예를 나타내는 도면이다.
도 63은, 실시 형태 8에 따른 삼차원 데이터 복호 처리의 플로차트이다.
도 64는, 실시 형태 8에 따른 속성 정보 복호 처리의 플로차트이다.
도 65는, 실시 형태 8에 따른 삼차원 데이터 부호화 장치의 블럭도이다.
도 66은, 실시 형태 8에 따른 삼차원 데이터 복호 장치의 블럭도이다.
도 67은, 실시 형태 8에 따른 삼차원 데이터 부호화 처리의 플로차트이다.
도 68은, 실시 형태 8에 따른 삼차원 데이터 복호 처리의 플로차트이다.
도 69는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제1 예를 나타내는 도면이다.
도 70은, 실시 형태 9에 따른 예측값에 사용하는 속성 정보의 예를 나타내는 도면이다.
도 71은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제2 예를 나타내는 도면이다.
도 72는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제3 예를 나타내는 도면이다.
도 73은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제4 예를 나타내는 도면이다.
도 74는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제5 예를 나타내는 도면이다.
도 75는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제6 예를 나타내는 도면이다.
도 76은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제7 예를 나타내는 도면이다.
도 77은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제8 예를 나타내는 도면이다.
도 78은, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제1 예를 나타내는 도면이다.
도 79는, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제2 예를 나타내는 도면이다.
도 80은, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제3 예를 나타내는 도면이다.
도 81은, 실시 형태 9에 따른 예측 모드를 2치화하여 부호화하는 경우의 2치화 테이블의 2치 데이터를 부호화하는 예에 대해서 설명하기 위한 도면이다.
도 82는, 실시 형태 9에 따른 예측 모드값의 부호화의 일례를 나타내는 플로차트이다.
도 83은, 실시 형태 9에 따른 예측 모드값의 복호의 일례를 나타내는 플로차트이다.
도 84는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 다른 예를 나타내는 도면이다.
도 85는, 실시 형태 9에 따른 예측 모드를 2치화하여 부호화하는 경우의 2치화 테이블의 2치 데이터를 부호화하는 예에 대해서 설명하기 위한 도면이다.
도 86은, 실시 형태 9에 따른 예측 모드값의 부호화의 다른 일례를 나타내는 플로차트이다.
도 87은, 실시 형태 9에 따른 예측 모드값의 복호의 다른 일례를 나타내는 플로차트이다.
도 88은, 실시 형태 9에 따른 부호화 시에 조건 A에 따라 예측 모드값을 고정할지의 여부를 결정하는 처리의 일례를 나타내는 플로차트이다.
도 89는, 실시 형태 9에 따른 복호 시에 조건 A에 따라 예측 모드값을 고정된 값으로 할지 복호할지를 결정하는 처리의 일례를 나타내는 플로차트이다.
도 90은, 실시 형태 9에 따른 최대 절대 차분값 maxdiff를 설명하기 위한 도면이다.
도 91은, 실시 형태 9에 따른 신택스의 예를 나타내는 도면이다.
도 92는, 실시 형태 9에 따른 신택스의 예를 나타내는 도면이다.
도 93은, 실시 형태 9에 따른 삼차원 데이터 부호화 장치에 의한 삼차원 데이터 부호화 처리의 플로차트이다.
도 94는, 실시 형태 9에 따른 속성 정보 부호화 처리의 플로차트이다.
도 95는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치에 있어서의 예측값의 산출 처리의 플로차트이다.
도 96은, 실시 형태 9에 따른 예측 모드의 선택 처리의 플로차트이다.
도 97은, 실시 형태 9에 따른 코스트가 최소가 되는 예측 모드를 선택하는 처리의 플로차트이다.
도 98은, 실시 형태 9에 따른 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다.
도 99는, 실시 형태 9에 따른 속성 정보 복호 처리의 플로차트이다.
도 100은, 실시 형태 9에 따른 삼차원 데이터 복호 장치에 있어서의 예측값의 산출 처리의 플로차트이다.
도 101은, 실시 형태 9에 따른 예측 모드의 복호 처리의 플로차트이다.
도 102는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치가 구비하는 속성 정보 부호화부의 구성을 나타내는 블럭도이다.
도 103은, 실시 형태 9에 따른 삼차원 데이터 복호 장치가 구비하는 속성 정보 복호부의 구성을 나타내는 블럭도이다.
도 104는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치의 구성을 나타내는 블럭도이다.
도 105는, 실시 형태 9에 따른 삼차원 데이터 복호 장치의 구성을 나타내는 블럭도이다.
도 106은, 실시 형태 9에 따른 삼차원 데이터 부호화 장치의 처리의 플로차트이다.
도 107은, 실시 형태 9에 따른 삼차원 데이터 복호 장치의 처리의 플로차트이다.
도 108은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
도 109는, 실시 형태 10에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 일례를 나타내는 도면이다.
도 110은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 복호 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
도 111은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
도 112는, 실시 형태 10에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 일례를 나타내는 도면이다.
도 113은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 복호 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
도 114는, 실시 형태 10에 따른 예측 모드에 예측값을 할당하는 처리에 사용하는 초기 테이블의 예를 나타낸다.
도 115는, 실시 형태 10에 따른 초기 테이블을 사용하여 생성된, 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
도 116은, 실시 형태 10에 따른 예측값의 산출 처리의 일례를 나타내는 플로차트이다.
도 117은, 실시 형태 10에 따른 예측 모드의 선택 처리의 플로차트이다.
도 118은, 실시 형태 10에 따른 코스트가 최소가 되는 예측 모드를 선택하는 처리의 플로차트이다.
도 119는, 실시 형태 10에 따른 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다.
도 120은, 실시 형태 10에 따른 속성 정보 복호 처리의 플로차트이다.
도 121은, 실시 형태 10에 따른 예측값의 산출 처리의 플로차트이다.
도 122는, 실시 형태 10에 따른 예측값의 산출 처리의 다른 일례를 나타내는 플로차트이다.
도 123은, 실시 형태 10에 따른 예측 모드의 선택 처리의 플로차트이다.
도 124는, 실시 형태 10에 따른 예측값의 산출 처리의 플로차트이다.
도 125는, 실시 형태 10에 따른 삼차원 데이터 부호화 장치의 구성을 나타내는 블럭도이다.
도 126은, 실시 형태 10에 따른 삼차원 데이터 복호 장치의 구성을 나타내는 블럭도이다.
도 127은, 실시 형태 10에 따른 삼차원 데이터 부호화 장치의 처리의 플로차트이다.
도 128은, 실시 형태 10에 따른 삼차원 데이터 복호 장치의 처리의 플로차트이다.
본 개시의 일 양태에 따른 삼차원 데이터 부호화 방법은, 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 방법으로서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 상기 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고, 선택된 상기 예측 모드의 예측값을 산출하고, 상기 제1 삼차원점의 속성 정보와, 산출된 상기 예측값의 차분인 예측 잔차를 산출하고, 상기 예측 모드와 상기 예측 잔차를 포함하는 비트 스트림을 생성하고, 상기 예측값의 산출에서는, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
이에 의하면, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당한다. 이 때문에, 생성되는 비트 스트림에는, 선택된 예측 모드의 예측값에 따라 예측 잔차를 산출하여, 예측 모드와 예측 잔차가 포함된다. 이 때문에, 삼차원 데이터 복호 장치는, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 삼차원 데이터 복호 장치는, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 상기 예측값의 산출에 있어서, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 상기 제2 삼차원점의 수가 소정수 이하임으로써 당해 예측 모드에 당해 예측값이 할당되지 않는 경우여도 된다.
또한, 상기 소정의 고정값은 초기값이어도 된다.
또한, 상기 소정의 고정값은 0이어도 된다.
또한, 상기 예측값의 산출에서는, 상기 2 이상의 예측 모드 중 제1 예측 모드에 있어서, 상기 1 이상의 제2 삼차원점의 속성 정보의 평균을 상기 예측값으로서 산출하고, 상기 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 상기 제2 삼차원점의 속성 정보를 상기 예측값으로서 산출해도 된다.
또한, 상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고, 상기 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작아도 된다.
또한, 상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고, 하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 제1 삼차원점으로부터의 거리가 상기 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작아도 된다.
본 개시의 일 양태에 따른 삼차원 데이터 복호 방법은, 복수의 삼차원점을 복호하는 삼차원 데이터 복호 방법으로서, 비트 스트림을 취득함으로써 상기 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득하고, 취득된 예측 모드의 예측값을 산출하고, 상기 예측값과 상기 예측 잔차를 가산함으로써, 상기 제1 삼차원점의 속성 정보를 산출하고, 상기 예측값의 산출에서는, 취득된 상기 예측 모드에 상기 제1 삼차원점 주위의 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
이에 의하면, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 상기 예측값의 산출에 있어서, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 상기 제2 삼차원점의 수가 소정수 이하임으로써 당해 예측 모드에 당해 예측값이 할당되지 않는 경우여도 된다.
또한, 상기 소정의 고정값은 초기값이어도 된다.
또한, 상기 소정의 고정값은 0이어도 된다.
또한, 상기 예측값의 산출에서는, 2 이상의 예측 모드 중 제1 예측 모드에 있어서, 1 이상의 상기 제2 삼차원점의 속성 정보의 평균을 상기 예측값으로서 산출하고, 상기 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 상기 제2 삼차원점의 속성 정보를 상기 예측값으로서 산출해도 된다.
또한, 상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고, 상기 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작아도 된다.
또한, 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고, 하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 제1 삼차원점으로부터의 거리가 상기 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작아도 된다.
또한, 본 개시의 일 양태에 따른 삼차원 데이터 부호화 장치는, 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 장치로서, 프로세서와 메모리를 구비하고, 상기 프로세서는, 상기 메모리를 사용하여, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 상기 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고, 선택된 상기 예측 모드의 예측값을 산출하고, 상기 제1 삼차원점의 속성 정보와, 산출된 상기 예측값의 차분인 예측 잔차를 산출하고, 상기 예측 모드와 상기 예측 잔차를 포함하는 비트 스트림을 생성하고, 상기 예측값의 산출에서는, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
이에 의하면, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당한다. 이 때문에, 생성되는 비트 스트림에는, 선택된 예측 모드의 예측값에 따라 예측 잔차를 산출하여, 예측 모드와 예측 잔차가 포함된다. 이 때문에, 삼차원 데이터 복호 장치는, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 삼차원 데이터 복호 장치는, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 본 개시의 일 양태에 따른 삼차원 데이터 복호 장치는, 복수의 삼차원점을 복호하는 삼차원 데이터 복호 장치로서, 프로세서와 메모리를 구비하고, 상기 프로세서는, 상기 메모리를 사용하여, 비트 스트림을 취득함으로써 상기 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득하고, 취득된 예측 모드의 예측값을 산출하고, 상기 예측값과 상기 예측 잔차를 가산함으로써, 상기 제1 삼차원점의 속성 정보를 산출하고, 상기 예측값의 산출에서는, 취득된 상기 예측 모드에 상기 제1 삼차원점 주위의 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당한다.
이에 의하면, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 이들의 포괄적 또는 구체적인 양태는, 시스템, 방법, 집적회로, 컴퓨터 프로그램 또는 컴퓨터 판독 가능한 CD-ROM 등의 기록 매체로 실현되어도 되고, 시스템, 방법, 집적회로, 컴퓨터 프로그램 및 기록 매체의 임의의 조합으로 실현되어도 된다.
이하, 실시 형태에 대해서, 도면을 참조하면서 구체적으로 설명한다. 또한, 이하에서 설명하는 실시 형태는, 모두 본 개시의 하나의 구체적인 예를 나타내는 것이다. 이하의 실시 형태에서 나타내어지는 수치, 형상, 재료, 구성 요소, 구성 요소의 배치 위치 및 접속 형태, 단계, 단계의 순서 등은, 일례이며, 본 개시를 한정하는 주지는 아니다. 또한, 이하의 실시 형태에서의 구성 요소 중, 최상위 개념을 나타내는 독립 청구항에 기재되어 있지 않은 구성 요소에 대해서는, 임의의 구성 요소로서 설명된다.
(실시 형태 1)
우선, 본 실시 형태에 따른 부호화 삼차원 데이터(이하, 부호화 데이터라고도 기재한다)의 데이터 구조에 대해서 설명한다. 도 1은, 본 실시 형태에 따른 부호화 삼차원 데이터의 구성을 나타내는 도면이다.
본 실시 형태에서는, 삼차원 공간은, 동화상의 부호화에 있어서의 픽처에 상당하는 스페이스(SPC)로 분할되고, 스페이스를 단위로 하여 삼차원 데이터가 부호화된다. 스페이스는, 또한, 동화상 부호화에 있어서의 매크로 블록 등에 상당하는 볼륨(VLM)으로 분할되고, VLM을 단위로 하여 예측 및 변환이 행해진다. 볼륨은, 위치 좌표가 대응지어지는 최소 단위인 복수의 복셀(VXL)을 포함한다. 또한, 예측이란, 이차원 화상에서 행해지는 예측과 마찬가지로, 다른 처리 단위를 참조하여, 처리 대상의 처리 단위와 유사한 예측 삼차원 데이터를 생성하고, 당해 예측 삼차원 데이터와 처리 대상의 처리 단위의 차분을 부호화하는 것이다. 또한, 이 예측은, 동일 시각의 다른 예측 단위를 참조하는 공간 예측뿐만 아니라, 상이한 시각의 예측 단위를 참조하는 시간 예측을 포함한다.
예를 들면, 삼차원 데이터 부호화 장치(이하, 부호화 장치라고도 기재한다)는, 포인트 클라우드 등의 점군 데이터에 의해 표현되는 삼차원 공간을 부호화할 때에는, 복셀의 사이즈에 따라, 점군의 각 점, 또는, 복셀 내에 포함되는 복수점을 묶어서 부호화한다. 복셀을 세분화하면 점군의 삼차원 형상을 고정밀도로 표현할 수 있고, 복셀의 사이즈를 크게 하면 점군의 삼차원 형상을 대략적으로 표현할 수 있다.
또한, 이하에서는, 삼차원 데이터가 포인트 클라우드인 경우를 예로 설명을 행하지만, 삼차원 데이터는 포인트 클라우드에 한정되지 않으며, 임의의 형식의 삼차원 데이터이면 된다.
또한, 계층 구조의 복셀을 사용해도 된다. 이 경우, n차 계층에서는, n-1차 이하의 계층(n차 계층의 하층)에 샘플점이 존재하는지의 여부를 차례로 나타내도 된다. 예를 들면, n차 계층만을 복호할 때에 있어서, n-1차 이하의 계층에 샘플점이 존재하는 경우는, n차 계층의 복셀의 중심에 샘플점이 존재한다고 간주하여 복호할 수 있다.
또한, 부호화 장치는, 점군 데이터를, 거리 센서, 스테레오 카메라, 단안 카메라, 자이로, 또는 관성 센서 등을 사용하여 취득한다.
스페이스는, 동화상의 부호화와 마찬가지로, 단독으로 복호 가능한 인트라·스페이스(I-SPC), 단방향의 참조만 가능한 프리딕티브·스페이스(P-SPC), 및, 쌍방향의 참조가 가능한 바이디렉셔널·스페이스(B-SPC)를 포함하는 적어도 3개의 예측 구조 중 어느 하나로 분류된다. 또한, 스페이스는 복호 시각과 표시 시각의 2종류의 시각 정보를 갖는다.
또한, 도 1에 나타내는 바와 같이, 복수의 스페이스를 포함하는 처리 단위로서, 랜덤 액세스 단위인 GOS(Group Of Space)가 존재한다. 또한, 복수의 GOS를 포함하는 처리 단위로서 월드(WLD)가 존재한다.
월드가 차지하는 공간 영역은, GPS 또는 위도 및 경도 정보 등에 의해, 지구상의 절대 위치와 대응지어진다. 이 위치 정보는 메타 정보로서 저장된다. 또한, 메타 정보는, 부호화 데이터에 포함되어도 되고, 부호화 데이터와는 별도로 전송되어도 된다.
또한, GOS 내에서는, 모든 SPC가 삼차원적으로 인접해도 되고, 다른 SPC와 삼차원적으로 인접하지 않는 SPC가 존재해도 된다.
또한, 이하에서는, GOS, SPC 또는 VLM 등의 처리 단위에 포함되는 삼차원 데이터에 대한, 부호화, 복호 또는 참조 등의 처리를, 간단히, 처리 단위를 부호화, 복호 또는 참조하는 등이라고도 기재한다. 또한, 처리 단위에 포함되는 삼차원 데이터는, 예를 들면, 삼차원 좌표 등의 공간 위치와, 색 정보 등의 특성값의 적어도 하나의 세트를 포함한다.
다음에, GOS에 있어서의 SPC의 예측 구조에 대해서 설명한다. 동일 GOS 내의 복수의 SPC, 또는, 동일 SPC 내의 복수의 VLM은, 서로 상이한 공간을 차지하지만, 같은 시각 정보(복호 시각 및 표시 시각)를 갖는다.
또한, GOS 내에서 복호순으로 선두가 되는 SPC는 I-SPC이다. 또한, GOS에는 클로즈드 GOS와 오픈 GOS의 2종류가 존재한다. 클로즈드 GOS는, 선두 I-SPC로부터 복호 개시할 때에, GOS 내의 모든 SPC를 복호할 수 있는 GOS이다. 오픈 GOS에서는, GOS 내에서 선두 I-SPC보다 표시 시각이 앞이 되는 일부의 SPC는 상이한 GOS를 참조하고 있으며, 당해 GOS만으로 복호를 행할 수 없다.
또한, 지도 정보 등의 부호화 데이터에서는, WLD를 부호화순과는 역방향으로 복호하는 경우가 있으며, GOS간에 의존성이 있으면 역방향 재생이 곤란하다. 따라서, 이러한 경우에는, 기본적으로는 클로즈드 GOS가 사용된다.
또한, GOS는, 높이 방향으로 레이어 구조를 가지며, 아래 레이어의 SPC부터 차례로 부호화 또는 복호가 행해진다.
도 2는 GOS의 최하층 레이어에 속하는 SPC간의 예측 구조의 일례를 나타내는 도면이다. 도 3은 레이어간의 예측 구조의 일례를 나타내는 도면이다.
GOS 내에는 하나 이상의 I-SPC가 존재한다. 삼차원 공간 내에는, 사람, 동물, 차, 자전거, 신호, 또는 랜드마크가 되는 건물 등의 오브젝트가 존재하는데, 특히 사이즈가 작은 오브젝트는 I-SPC로서 부호화하면 유효하다. 예를 들면, 삼차원 데이터 복호 장치(이하, 복호 장치라고도 기재한다)는, GOS를 저처리량 또는 고속으로 복호할 때에는, GOS 내의 I-SPC만을 복호한다.
또한, 부호화 장치는, WLD 내의 오브젝트의 소밀함에 따라 I-SPC의 부호화 간격 또는 출현 빈도를 전환해도 된다.
또한, 도 3에 나타내는 구성에 있어서, 부호화 장치 또는 복호 장치는, 복수의 레이어를 하층(레이어 1)부터 차례로 부호화 또는 복호한다. 이에 의해, 예를 들면 자율 주행차 등에 있어 보다 정보량이 많은 지면 부근의 데이터의 우선도를 올릴 수 있다.
또한, 드론 등에서 사용되는 부호화 데이터에서는, GOS 내에 있어서 높이 방향으로 위의 레이어의 SPC부터 차례로 부호화 또는 복호해도 된다.
또한, 부호화 장치 또는 복호 장치는, 복호 장치가 러프하게 GOS를 파악할 수 있고, 서서히 해상도를 올릴 수 있도록, 복수의 레이어를 부호화 또는 복호해도 된다. 예를 들면, 부호화 장치 또는 복호 장치는, 레이어 3, 8, 1, 9…의 순으로 부호화 또는 복호해도 된다.
다음에, 정적 오브젝트 및 동적 오브젝트의 취급법에 대해서 설명한다.
삼차원 공간에는, 건물 또는 도로 등 정적인 오브젝트 또는 신(scene)(이후, 통합해서 정적 오브젝트라고 부른다)과, 차 또는 사람 등의 동적인 오브젝트(이후, 동적 오브젝트라고 부른다)가 존재한다. 오브젝트의 검출은, 포인트 클라우드의 데이터, 또는, 스테레오 카메라 등의 카메라 영상 등으로부터 특징점을 추출하는 등 하여, 별도로 행해진다. 여기에서는, 동적 오브젝트의 부호화 방법의 예에 대해서 설명한다.
제1 방법은, 정적 오브젝트와 동적 오브젝트를 구별하지 않고 부호화하는 방법이다. 제2 방법은, 정적 오브젝트와 동적 오브젝트를 식별 정보에 의해 구별하는 방법이다.
예를 들면, GOS가 식별 단위로서 사용된다. 이 경우, 정적 오브젝트를 구성하는 SPC를 포함하는 GOS와, 동적 오브젝트를 구성하는 SPC를 포함하는 GOS가, 부호화 데이터 내, 또는 부호화 데이터와는 별도로 저장되는 식별 정보에 의해 구별된다.
또는, SPC가 식별 단위로서 사용되어도 된다. 이 경우, 정적 오브젝트를 구성하는 VLM을 포함하는 SPC와, 동적 오브젝트를 구성하는 VLM을 포함하는 SPC가, 상기 식별 정보에 의해 구별된다.
또는, VLM 혹은 VXL이 식별 단위로서 사용되어도 된다. 이 경우, 정적 오브젝트를 포함하는 VLM 또는 VXL과, 동적 오브젝트를 포함하는 VLM 또는 VXL이 상기 식별 정보에 의해 구별된다.
또한, 부호화 장치는, 동적 오브젝트를 1 이상의 VLM 또는 SPC로서 부호화하고, 정적 오브젝트를 포함하는 VLM 또는 SPC와, 동적 오브젝트를 포함하는 SPC를, 서로 상이한 GOS로서 부호화해도 된다. 또한, 부호화 장치는, 동적 오브젝트의 사이즈에 따라 GOS의 사이즈가 가변이 되는 경우에는, GOS의 사이즈를 메타 정보로서 별도 저장한다.
또한, 부호화 장치는, 정적 오브젝트와 동적 오브젝트를 서로 독립적으로 부호화하고, 정적 오브젝트로 구성되는 월드에 대하여, 동적 오브젝트를 중첩해도 된다. 이때, 동적 오브젝트는 1 이상의 SPC로 구성되고, 각 SPC는, 당해 SPC가 중첩되는 정적 오브젝트를 구성하는 1 이상의 SPC에 대응지어진다. 또한, 동적 오브젝트를 SPC가 아니라, 1 이상의 VLM 또는 VXL에 의해 표현해도 된다.
또한, 부호화 장치는, 정적 오브젝트와 동적 오브젝트를 서로 상이한 스트림으로서 부호화해도 된다.
또한, 부호화 장치는, 동적 오브젝트를 구성하는 1 이상의 SPC를 포함하는 GOS를 생성해도 된다. 또한, 부호화 장치는, 동적 오브젝트를 포함하는 GOS(GOS_M)와, GOS_M의 공간 영역에 대응하는 정적 오브젝트의 GOS를 동일 사이즈(동일한 공간 영역을 차지함)로 설정해도 된다. 이에 의해, GOS 단위로 중첩 처리를 행할 수 있다.
동적 오브젝트를 구성하는 P-SPC 또는 B-SPC는, 부호화가 완료된 상이한 GOS에 포함되는 SPC를 참조해도 된다. 동적 오브젝트의 위치가 시간적으로 변화하고, 동일한 동적 오브젝트가 상이한 시각의 GOS로서 부호화되는 케이스에서는, GOS를 넘은 참조가 압축률의 관점에서 유효해진다.
또한, 부호화 데이터의 용도에 따라, 상기의 제1 방법과 제2 방법을 전환해도 된다. 예를 들면, 부호화 삼차원 데이터를 지도로서 사용하는 경우는, 동적 오브젝트를 분리할 수 있는 것이 바람직하기 때문에, 부호화 장치는, 제2 방법을 사용한다. 한편, 부호화 장치는, 콘서트 또는 스포츠 등의 이벤트의 삼차원 데이터를 부호화하는 경우에, 동적 오브젝트를 분리할 필요가 없으면, 제1 방법을 사용한다.
또한, GOS 또는 SPC의 복호 시각과 표시 시각은 부호화 데이터 내, 또는 메타 정보로서 저장할 수 있다. 또한, 정적 오브젝트의 시각 정보는 모두 동일한 것으로 해도 된다. 이때, 실제의 복호 시각과 표시 시각은, 복호 장치가 결정하는 것으로 해도 된다. 혹은, 복호 시각으로서, GOS, 혹은, SPC마다 상이한 값이 부여되고, 표시 시각으로서 모두 동일한 값이 부여되어도 된다. 또한, HEVC의 HRD(Hypothetical Reference Decoder) 등 동화상 부호화에 있어서의 디코더 모델과 같이, 디코더가 소정 사이즈의 버퍼를 갖고, 복호 시각에 따라 소정의 비트 레이트로 비트 스트림을 읽어들이면 파탄없이 복호할 수 있는 것을 보증하는 모델을 도입해도 된다.
다음에, 월드 내에 있어서의 GOS의 배치에 대해서 설명한다. 월드에 있어서의 삼차원 공간의 좌표는, 서로 직교하는 3개의 좌표축(x축, y축, z축)에 의해 표현된다. GOS의 부호화순으로 소정의 룰을 설정함으로써, 공간적으로 인접하는 GOS가 부호화 데이터 내에서 연속하도록 부호화를 행할 수 있다. 예를 들면, 도 4에 나타내는 예에서는, xz 평면 내의 GOS를 연속적으로 부호화한다. 어느 xz 평면 내의 모든 GOS의 부호화 종료 후에 y축의 값을 갱신한다. 즉, 부호화가 진행됨에 따라, 월드는 y축 방향으로 신장해 간다. 또한, GOS의 인덱스 번호는 부호화순으로 설정된다.
여기서, 월드의 삼차원 공간은, GPS, 혹은 위도 및 경도 등의 지리적인 절대 좌표와 1대 1로 대응지어 둔다. 혹은, 미리 설정한 기준 위치로부터의 상대 위치에 의해 삼차원 공간이 표현되어도 된다. 삼차원 공간의 x축, y축, z축 방향은, 위도 및 경도 등에 의거하여 결정되는 방향 벡터로서 표현되며, 당해 방향 벡터는 메타 정보로서 부호화 데이터와 함께 저장된다.
또한, GOS의 사이즈는 고정으로 하고, 부호화 장치는, 당해 사이즈를 메타 정보로서 저장한다. 또한, GOS의 사이즈는, 예를 들면, 도시 지역인지 아닌지, 또는, 실내인지 밖인지 등에 따라 전환되어도 된다. 즉, GOS의 사이즈는, 정보로서의 가치가 있는 오브젝트의 양 또는 성질에 따라 전환되어도 된다. 혹은, 부호화 장치는, 동일 월드 내에 있어서, 오브젝트의 밀도 등에 따라, GOS의 사이즈, 또는, GOS 내의 I-SPC의 간격을 적응적으로 전환해도 된다. 예를 들면, 부호화 장치는, 오브젝트의 밀도가 높을수록, GOS의 사이즈를 작게 하고, GOS 내의 I-SPC의 간격을 짧게 한다.
도 5의 예에서는, 3번째부터 10번째의 GOS의 영역에서는, 오브젝트의 밀도가 높기 때문에, 세세한 입도에서의 랜덤 액세스를 실현하기 위해서, GOS가 세분화되어 있다. 또한, 7번째부터 10번째의 GOS는, 각각, 3번째부터 6번째의 GOS의 뒤쪽에 존재한다.
다음에, 본 실시 형태에 따른 삼차원 데이터 부호화 장치의 구성 및 동작의 흐름을 설명한다. 도 6은, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(100)의 블럭도이다. 도 7은, 삼차원 데이터 부호화 장치(100)의 동작예를 나타내는 플로차트이다.
도 6에 나타내는 삼차원 데이터 부호화 장치(100)는, 삼차원 데이터(111)를 부호화함으로써 부호화 삼차원 데이터(112)를 생성한다. 이 삼차원 데이터 부호화 장치(100)는, 취득부(101), 부호화 영역 결정부(102), 분할부(103), 부호화부(104)를 구비한다.
도 7에 나타내는 바와 같이, 우선, 취득부(101)는, 점군 데이터인 삼차원 데이터(111)를 취득한다(S101).
다음에, 부호화 영역 결정부(102)는, 취득한 점군 데이터에 대응하는 공간 영역 중, 부호화 대상의 영역을 결정한다(S102). 예를 들면, 부호화 영역 결정부(102)는, 유저 또는 차량의 위치에 따라, 당해 위치 주변의 공간 영역을 부호화 대상의 영역으로 결정한다.
다음에, 분할부(103)는, 부호화 대상의 영역에 포함되는 점군 데이터를, 각 처리 단위로 분할한다. 여기서 처리 단위란, 상술한 GOS 및 SPC 등이다. 또한, 이 부호화 대상의 영역은, 예를 들면, 상술한 월드에 대응한다. 구체적으로는, 분할부(103)는, 미리 설정한 GOS의 사이즈, 또는, 동적 오브젝트의 유무 혹은 사이즈에 의거하여, 점군 데이터를 처리 단위로 분할한다(S103). 또한, 분할부(103)는, 각 GOS에 있어서 부호화순으로 선두가 되는 SPC의 개시 위치를 결정한다.
다음에, 부호화부(104)는, 각 GOS 내의 복수의 SPC를 순차적으로 부호화함으로써 부호화 삼차원 데이터(112)를 생성한다(S104).
또한, 여기에서는, 부호화 대상의 영역을 GOS 및 SPC로 분할한 후에, 각 GOS를 부호화하는 예를 나타냈지만, 처리의 순서는 상기에 한정되지 않는다. 예를 들면, 하나의 GOS의 구성을 결정한 후에 그 GOS를 부호화하고, 그 후, 다음 GOS의 구성을 결정하는 등의 순서를 사용해도 된다.
이와 같이, 삼차원 데이터 부호화 장치(100)는, 삼차원 데이터(111)를 부호화함으로써 부호화 삼차원 데이터(112)를 생성한다. 구체적으로는, 삼차원 데이터 부호화 장치(100)는, 삼차원 데이터를, 랜덤 액세스 단위이며, 각각이 삼차원 좌표에 대응지어져 있는 제1 처리 단위(GOS)로 분할하고, 제1 처리 단위(GOS)를 복수의 제2 처리 단위(SPC)로 분할하며, 제2 처리 단위(SPC)를 복수의 제3 처리 단위(VLM)로 분할한다. 또한, 제3 처리 단위(VLM)는, 위치 정보가 대응지어지는 최소 단위인 1 이상의 복셀(VXL)을 포함한다.
다음에, 삼차원 데이터 부호화 장치(100)는, 복수의 제1 처리 단위(GOS)의 각각을 부호화함으로써 부호화 삼차원 데이터(112)를 생성한다. 구체적으로는, 삼차원 데이터 부호화 장치(100)는, 각 제1 처리 단위(GOS)에 있어서, 복수의 제2 처리 단위(SPC)의 각각을 부호화한다. 또한, 삼차원 데이터 부호화 장치(100)는, 각 제2 처리 단위(SPC)에 있어서, 복수의 제3 처리 단위(VLM)의 각각을 부호화한다.
예를 들면, 삼차원 데이터 부호화 장치(100)는, 처리 대상의 제1 처리 단위(GOS)가 클로즈드 GOS인 경우에는, 처리 대상의 제1 처리 단위(GOS)에 포함되는 처리 대상의 제2 처리 단위(SPC)를, 처리 대상의 제1 처리 단위(GOS)에 포함되는 다른 제2 처리 단위(SPC)를 참조하여 부호화한다. 즉, 삼차원 데이터 부호화 장치(100)는, 처리 대상의 제1 처리 단위(GOS)와는 상이한 제1 처리 단위(GOS)에 포함되는 제2 처리 단위(SPC)를 참조하지 않는다.
한편, 처리 대상의 제1 처리 단위(GOS)가 오픈 GOS인 경우에는, 처리 대상의 제1 처리 단위(GOS)에 포함되는 처리 대상의 제2 처리 단위(SPC)를, 처리 대상의 제1 처리 단위(GOS)에 포함되는 다른 제2 처리 단위(SPC), 또는, 처리 대상의 제1 처리 단위(GOS)와는 상이한 제1 처리 단위(GOS)에 포함되는 제2 처리 단위(SPC)를 참조하여 부호화한다.
또한, 삼차원 데이터 부호화 장치(100)는, 처리 대상의 제2 처리 단위(SPC)의 타입으로서, 다른 제2 처리 단위(SPC)를 참조하지 않는 제1 타입(I-SPC), 다른 하나의 제2 처리 단위(SPC)를 참조하는 제2 타입(P-SPC), 및 다른 두 개의 제2 처리 단위(SPC)를 참조하는 제3 타입 중 어느 하나를 선택하고, 선택한 타입에 따라 처리 대상의 제2 처리 단위(SPC)를 부호화한다.
다음에, 본 실시 형태에 따른 삼차원 데이터 복호 장치의 구성 및 동작의 흐름을 설명한다. 도 8은, 본 실시 형태에 따른 삼차원 데이터 복호 장치(200)의 블록의 블럭도이다. 도 9는, 삼차원 데이터 복호 장치(200)의 동작예를 나타내는 플로차트이다.
도 8에 나타내는 삼차원 데이터 복호 장치(200)는, 부호화 삼차원 데이터(211)를 복호함으로써 복호 삼차원 데이터(212)를 생성한다. 여기서, 부호화 삼차원 데이터(211)는, 예를 들면, 삼차원 데이터 부호화 장치(100)에서 생성된 부호화 삼차원 데이터(112)이다. 이 삼차원 데이터 복호 장치(200)는, 취득부(201), 복호 개시 GOS 결정부(202), 복호 SPC 결정부(203), 복호부(204)를 구비한다.
우선, 취득부(201)는, 부호화 삼차원 데이터(211)를 취득한다(S201). 다음에, 복호 개시 GOS 결정부(202)는, 복호 대상의 GOS로 결정한다(S202). 구체적으로는, 복호 개시 GOS 결정부(202)는, 부호화 삼차원 데이터(211) 내, 또는 부호화 삼차원 데이터와는 별도로 저장된 메타 정보를 참조하여, 복호를 개시하는 공간 위치, 오브젝트, 또는, 시각에 대응하는 SPC를 포함하는 GOS를 복호 대상의 GOS로 결정한다.
다음에, 복호 SPC 결정부(203)는, GOS 내에서 복호할 SPC의 타입(I, P, B)을 결정한다(S203). 예를 들면, 복호 SPC 결정부(203)는, (1) I-SPC만을 복호할지, (2) I-SPC 및 P-SPC를 복호할지, (3) 모든 타입을 복호할지를 결정한다. 또한, 모든 SPC를 복호하는 등, 미리 복호할 SPC의 타입이 결정되어 있는 경우는, 본 단계는 행해지지 않아도 된다.
다음에, 복호부(204)는, GOS 내에서 복호순(부호화순과 동일)으로 선두가 되는 SPC가 부호화 삼차원 데이터(211) 내에서 개시하는 어드레스 위치를 취득하고, 당해 어드레스 위치로부터 선두 SPC의 부호화 데이터를 취득하며, 당해 선두 SPC부터 차례로 각 SPC를 순차적으로 복호한다(S204). 또한, 상기 어드레스 위치는, 메타 정보 등에 저장되어 있다.
이와 같이, 삼차원 데이터 복호 장치(200)는, 복호 삼차원 데이터(212)를 복호한다. 구체적으로는, 삼차원 데이터 복호 장치(200)는, 랜덤 액세스 단위이며, 각각이 삼차원 좌표에 대응지어져 있는 제1 처리 단위(GOS)의 부호화 삼차원 데이터(211)의 각각을 복호함으로써 제1 처리 단위(GOS)의 복호 삼차원 데이터(212)를 생성한다. 보다 구체적으로는, 삼차원 데이터 복호 장치(200)는, 각 제1 처리 단위(GOS)에 있어서, 복수의 제2 처리 단위(SPC)의 각각을 복호한다. 또한, 삼차원 데이터 복호 장치(200)는, 각 제2 처리 단위(SPC)에 있어서, 복수의 제3 처리 단위(VLM)의 각각을 복호한다.
이하, 랜덤 액세스용 메타 정보에 대해서 설명한다. 이 메타 정보는, 삼차원 데이터 부호화 장치(100)에서 생성되며, 부호화 삼차원 데이터(112(211))에 포함된다.
종래의 이차원 동화상에 있어서의 랜덤 액세스에서는, 지정한 시각의 근방이 되는 랜덤 액세스 단위의 선두 프레임으로부터 복호를 개시하고 있었다. 한편, 월드에 있어서는, 시각에 더하여, 공간(좌표 또는 오브젝트 등)에 대한 랜덤 액세스가 상정된다.
그래서, 적어도 좌표, 오브젝트, 및 시각의 3개의 요소로의 랜덤 액세스를 실현하기 위해서, 각 요소와 GOS의 인덱스 번호를 대응짓는 테이블을 준비한다. 또한, GOS의 인덱스 번호와 GOS의 선두가 되는 I-SPC의 어드레스를 대응짓는다. 도 10은, 메타 정보에 포함되는 테이블의 일례를 나타내는 도면이다. 또한, 도 10에 나타내는 모든 테이블이 사용될 필요는 없으며, 적어도 하나의 테이블이 사용되면 된다.
이하, 일례로서, 좌표를 기점으로 하는 랜덤 액세스에 대해서 설명한다. 좌표(x2, y2, z2)에 액세스할 때에는, 우선, 좌표-GOS 테이블을 참조하여, 좌표가 (x2, y2, z2)인 지점은 2번째 GOS에 포함되는 것을 알 수 있다. 다음에, GOS 어드레스 테이블을 참조하여, 2번째 GOS에 있어서의 선두 I-SPC의 어드레스가 addr(2)인 것을 알 수 있기 때문에, 복호부(204)는, 이 어드레스로부터 데이터를 취득하여 복호를 개시한다.
또한, 어드레스는, 논리적 포맷에 있어서의 어드레스여도 되고, HDD 또는 메모리의 물리 어드레스여도 된다. 또한, 어드레스 대신에 파일 세그먼트를 특정하는 정보가 사용되어도 된다. 예를 들면, 파일 세그먼트는, 하나 이상의 GOS 등을 세그먼트화한 단위이다.
또한, 오브젝트가 복수의 GOS에 걸쳐 있는 경우에는, 오브젝트-GOS 테이블에 있어서, 오브젝트가 속하는 GOS를 복수 나타내도 된다. 당해 복수의 GOS가 클로즈드 GOS이면, 부호화 장치 및 복호 장치는, 병렬로 부호화 또는 복호를 행할 수 있다. 한편, 당해 복수의 GOS가 오픈 GOS이면, 복수의 GOS가 서로 참조함으로써 보다 압축 효율을 높일 수 있다.
오브젝트의 예로서는, 사람, 동물, 차, 자전거, 신호, 또는 랜드마크가 되는 건물 등이 있다. 예를 들면, 삼차원 데이터 부호화 장치(100)는, 월드의 부호화 시에 삼차원의 포인트 클라우드 등으로부터 오브젝트에 특유의 특징점을 추출하고, 당해 특징점에 의거하여 오브젝트를 검출하고, 검출한 오브젝트를 랜덤 액세스 포인트로서 설정할 수 있다.
이와 같이, 삼차원 데이터 부호화 장치(100)는, 복수의 제1 처리 단위(GOS)와, 복수의 제1 처리 단위(GOS)의 각각에 대응지어져 있는 삼차원 좌표를 나타내는 제1 정보를 생성한다. 또한, 부호화 삼차원 데이터(112(211))는, 이 제1 정보를 포함한다. 또한, 제1 정보는, 또한, 복수의 제1 처리 단위(GOS)의 각각에 대응지어져 있는, 오브젝트, 시각 및 데이터 저장처 중 적어도 하나를 나타낸다.
삼차원 데이터 복호 장치(200)는, 부호화 삼차원 데이터(211)로부터 제1 정보를 취득하고, 제1 정보를 사용하여, 지정된 삼차원 좌표, 오브젝트 또는 시각에 대응하는 제1 처리 단위의 부호화 삼차원 데이터(211)를 특정하고, 당해 부호화 삼차원 데이터(211)를 복호한다.
이하, 그 외의 메타 정보의 예에 대해서 설명한다. 랜덤 액세스용 메타 정보 외에, 삼차원 데이터 부호화 장치(100)는, 이하와 같은 메타 정보를 생성 및 저장해도 된다. 또한, 삼차원 데이터 복호 장치(200)는, 이 메타 정보를 복호 시에 사용해도 된다.
삼차원 데이터를 지도 정보로서 사용하는 경우 등에는, 용도에 따라 프로파일이 규정되고, 당해 프로파일을 나타내는 정보가 메타 정보에 포함되어도 된다. 예를 들면, 시가지 혹은 교외용, 또는, 비행 물체용의 프로파일이 규정되고, 각각에 있어서 월드, SPC 또는 VLM의 최대 또는 최소 사이즈 등이 정의된다. 예를 들면, 시가지용에서는, 교외용보다 상세한 정보가 필요하기 때문에, VLM의 최소 사이즈가 작게 설정된다.
메타 정보는, 오브젝트의 종류를 나타내는 태그값을 포함해도 된다. 이 태그값은 오브젝트를 구성하는 VLM, SPC, 또는 GOS와 대응지어진다. 예를 들면, 태그값 「0」은 「사람」을 나타내고, 태그값 「1」은 「차」를 나타내고, 태그값 「2」는 「신호기」를 나타내는 등 오브젝트의 종류마다 태그값이 설정되어도 된다. 또는, 오브젝트의 종류가 판정하기 어렵거나 또는 판정할 필요가 없는 경우는 사이즈, 또는, 동적 오브젝트인지 정적 오브젝트인지 등의 성질을 나타내는 태그값이 사용되어도 된다.
또한, 메타 정보는, 월드가 차지하는 공간 영역의 범위를 나타내는 정보를 포함해도 된다.
또한, 메타 정보는, 부호화 데이터의 스트림 전체, 또는, GOS 내의 SPC 등, 복수의 SPC에 공통의 헤더 정보로서, SPC 또는 VXL의 사이즈를 저장해도 된다.
또한, 메타 정보는, 포인트 클라우드의 생성에 사용한 거리 센서 혹은 카메라 등의 식별 정보, 또는, 포인트 클라우드 내의 점군의 위치 정밀도를 나타내는 정보를 포함해도 된다.
또한, 메타 정보는, 월드가 정적 오브젝트만으로 구성되는지, 동적 오브젝트를 포함하는지를 나타내는 정보를 포함해도 된다.
이하, 본 실시 형태의 변형예에 대해서 설명한다.
부호화 장치 또는 복호 장치는, 서로 상이한 2 이상의 SPC 또는 GOS를 병렬로 부호화 또는 복호해도 된다. 병렬로 부호화 또는 복호하는 GOS는, GOS의 공간 위치를 나타내는 메타 정보 등에 의거하여 결정할 수 있다.
삼차원 데이터를 차 또는 비행 물체 등이 이동할 때의 공간 지도로서 사용하거나, 또는 이러한 공간 지도를 생성하는 케이스 등에서는, 부호화 장치 또는 복호 장치는, GPS, 경로 정보, 또는 줌 배율 등에 의거하여 특정되는 공간에 포함되는 GOS 또는 SPC를 부호화 또는 복호해도 된다.
또한, 복호 장치는, 자기 위치 또는 주행 경로에 가까운 공간부터 차례로 복호를 행해도 된다. 부호화 장치 또는 복호 장치는, 자기 위치 또는 주행 경로로부터 먼 공간을, 가까운 공간에 비해 우선도를 떨어뜨려 부호화 또는 복호해도 된다. 여기서, 우선도를 떨어뜨린다는 것은, 처리 순서를 내리거나, 해상도를 낮추거나(솎아내어 처리하거나), 또는, 화질을 낮추는(부호화 효율을 올린다. 예를 들면, 양자화 스텝을 크게 한다.) 등이다.
또한, 복호 장치는, 공간 내에서 계층적으로 부호화되어 있는 부호화 데이터를 복호할 때는, 저계층만을 복호해도 된다.
또한, 복호 장치는, 지도의 줌 배율 또는 용도에 따라, 저계층부터 우선적으로 복호해도 된다.
또한, 차 또는 로봇의 자율 주행 시에 행하는 자기 위치 추정 또는 물체 인식 등의 용도에서는, 부호화 장치 또는 복호 장치는, 노면으로부터 특정 높이 이내의 영역(인식을 행하는 영역) 이외는 해상도를 떨어뜨려 부호화 또는 복호를 행해도 된다.
또한, 부호화 장치는, 실내와 실외의 공간 형상을 표현하는 포인트 클라우드를 각각 개별적으로 부호화해도 된다. 예를 들면, 실내를 표현하는 GOS(실내 GOS)와 실외를 표현하는 GOS(실외 GOS)를 나눔으로써, 복호 장치는, 부호화 데이터를 사용할 때에, 시점 위치에 따라 복호할 GOS를 선택할 수 있다.
또한, 부호화 장치는, 좌표가 가까운 실내 GOS와 실외 GOS를, 부호화 스트림 내에서 인접하도록 부호화해도 된다. 예를 들면, 부호화 장치는, 양자의 식별자를 대응짓고, 부호화 스트림 내, 또는 별도 저장되는 메타 정보 내에 대응지은 식별자를 나타내는 정보를 저장한다. 이에 의해, 복호 장치는, 메타 정보 내의 정보를 참조하여, 좌표가 가까운 실내 GOS와 실외 GOS를 식별할 수 있다.
또한, 부호화 장치는, 실내 GOS와 실외 GOS에서, GOS 또는 SPC의 사이즈를 전환해도 된다. 예를 들면, 부호화 장치는, 실내에서는 실외에 비해 GOS의 사이즈를 작게 설정한다. 또한, 부호화 장치는, 실내 GOS와 실외 GOS에서, 포인트 클라우드로부터 특징점을 추출할 때의 정밀도, 또는 오브젝트 검출의 정밀도 등을 변경해도 된다.
또한, 부호화 장치는, 복호 장치가 동적 오브젝트를 정적 오브젝트와 구별하여 표시하기 위한 정보를 부호화 데이터에 부가해도 된다. 이에 의해, 복호 장치는, 동적 오브젝트와 적색 테두리 또는 설명용 문자 등을 합쳐서 표시할 수 있다. 또한, 복호 장치는, 동적 오브젝트 대신에 적색 테두리 또는 설명용 문자만을 표시해도 된다. 또한, 복호 장치는, 보다 세세한 오브젝트 종별을 표시해도 된다. 예를 들면, 차에는 적색 테두리가 사용되고, 사람에는 황색 테두리가 사용되어도 된다.
또한, 부호화 장치 또는 복호 장치는, 동적 오브젝트의 출현 빈도, 또는, 정적 오브젝트와 동적 오브젝트의 비율 등에 따라, 동적 오브젝트와 정적 오브젝트를 상이한 SPC 또는 GOS로서 부호화 또는 복호할지의 여부를 결정해도 된다. 예를 들면, 동적 오브젝트의 출현 빈도 또는 비율이 역치를 초과하는 경우에는, 동적 오브젝트와 정적 오브젝트가 혼재하는 SPC 또는 GOS가 허용되고, 동적 오브젝트의 출현 빈도 또는 비율이 역치를 초과하지 않는 경우에는, 동적 오브젝트와 정적 오브젝트가 혼재하는 SPC 또는 GOS가 허용되지 않는다.
동적 오브젝트를 포인트 클라우드가 아니라, 카메라의 이차원 화상 정보로부터 검출할 때에는, 부호화 장치는, 검출 결과를 식별하기 위한 정보(테두리 또는 문자 등)와 오브젝트 위치를 별도로 취득하고, 이들 정보를 삼차원의 부호화 데이터의 일부로서 부호화해도 된다. 이 경우, 복호 장치는, 정적 오브젝트의 복호 결과에 대하여, 동적 오브젝트를 나타내는 보조 정보(테두리 또는 문자)를 중첩하여 표시한다.
또한, 부호화 장치는, 정적 오브젝트의 형상의 복잡함 등에 따라, SPC에 있어서의 VXL 또는 VLM의 소밀함을 변경해도 된다. 예를 들면, 부호화 장치는, 정적 오브젝트의 형상이 복잡할수록, VXL 또는 VLM를 조밀하게 설정한다. 또한, 부호화 장치는, 공간 위치 또는 색 정보를 양자화할 때의 양자화 스텝 등을 VXL 또는 VLM의 소밀함에 따라 결정해도 된다. 예를 들면, 부호화 장치는, VXL 또는 VLM이 조밀할수록 양자화 스텝을 작게 설정한다.
이상과 같이, 본 실시 형태에 따른 부호화 장치 또는 복호 장치는, 좌표 정보를 갖는 스페이스 단위로 공간의 부호화 또는 복호를 행한다.
또한, 부호화 장치 및 복호 장치는, 스페이스 내에 있어서, 볼륨 단위로 부호화 또는 복호를 행한다. 볼륨은, 위치 정보가 대응지어지는 최소 단위인 복셀을 포함한다.
또한, 부호화 장치 및 복호 장치는, 좌표, 오브젝트, 및 시간 등을 포함하는 공간 정보의 각 요소와 GOP를 대응지은 테이블, 또는 각 요소간을 대응지은 테이블에 의해 임의의 요소간을 대응지어 부호화 또는 복호를 행한다. 또한, 복호 장치는, 선택된 요소의 값을 사용하여 좌표를 판정하고, 좌표로부터 볼륨, 복셀 또는 스페이스를 특정하며, 당해 볼륨 또는 복셀을 포함하는 스페이스, 또는 특정된 스페이스를 복호한다.
또한, 부호화 장치는, 특징점 추출 또는 오브젝트 인식에 의해, 요소에 의해 선택 가능한 볼륨, 복셀 또는 스페이스를 판정하고, 랜덤 액세스 가능한 볼륨, 복셀 또는 스페이스로서 부호화한다.
스페이스는, 당해 스페이스 단체(單體)로 부호화 또는 복호 가능한 I-SPC와, 임의의 하나의 처리 완료 스페이스를 참조하여 부호화 또는 복호되는 P-SPC와, 임의의 두 개의 처리 완료 스페이스를 참조하여 부호화 또는 복호되는 B-SPC의 3종류의 타입으로 분류된다.
1 이상의 볼륨이, 정적 오브젝트 또는 동적인 오브젝트에 대응한다. 정적 오브젝트를 포함하는 스페이스와 동적 오브젝트를 포함하는 스페이스는 서로 상이한 GOS로서 부호화 또는 복호된다. 즉, 정적 오브젝트를 포함하는 SPC와, 동적 오브젝트를 포함하는 SPC가 상이한 GOS에 할당된다.
동적 오브젝트는 오브젝트마다 부호화 또는 복호되고, 정적 오브젝트를 포함하는 1 이상의 스페이스에 대응지어진다. 즉, 복수의 동적 오브젝트는 개별적으로 부호화되고, 얻어진 복수의 동적 오브젝트의 부호화 데이터는, 정적 오브젝트를 포함하는 SPC에 대응지어진다.
부호화 장치 및 복호 장치는, GOS 내의 I-SPC의 우선도를 올려, 부호화 또는 복호를 행한다. 예를 들면, 부호화 장치는, I-SPC의 열화가 적어지도록(복호 후에 원래의 삼차원 데이터가 보다 충실히 재현되도록) 부호화를 행한다. 또한, 복호 장치는, 예를 들면, I-SPC만을 복호한다.
부호화 장치는, 월드 내의 오브젝트의 소밀함 또는 수(양)에 따라 I-SPC를 사용하는 빈도를 바꾸어 부호화를 행해도 된다. 즉, 부호화 장치는, 삼차원 데이터에 포함되는 오브젝트의 수 또는 소밀함에 따라, I-SPC를 선택하는 빈도를 변경한다. 예를 들면, 부호화 장치는, 월드 내의 오브젝트가 조밀할수록 I스페이스를 사용하는 빈도를 올린다.
또한, 부호화 장치는, 랜덤 액세스 포인트를 GOS 단위로 설정하고, GOS에 대응하는 공간 영역을 나타내는 정보를 헤더 정보에 저장한다.
부호화 장치는, GOS의 공간 사이즈로서, 예를 들면, 디폴트값을 사용한다. 또한, 부호화 장치는, 오브젝트 또는 동적 오브젝트의 수(양) 또는 소밀함에 따라 GOS의 사이즈를 변경해도 된다. 예를 들면, 부호화 장치는, 오브젝트 혹은 동적 오브젝트가 조밀할수록, 또는 수가 많을수록, GOS의 공간 사이즈를 작게 한다.
또한, 스페이스 또는 볼륨은, 뎁스 센서, 자이로, 또는 카메라 등의 센서로 얻어진 정보를 사용하여 도출된 특징점군을 포함한다. 특징점의 좌표는 복셀의 중심 위치에 설정된다. 또한, 복셀의 세분화에 의해 위치 정보의 고정밀도화를 실현할 수 있다.
특징점군은, 복수의 픽처를 사용하여 도출된다. 복수의 픽처는, 실제의 시각 정보와, 스페이스에 대응지어진 복수의 픽처에서 동일한 시각 정보(예를 들면, 레이트 제어 등에 사용되는 부호화 시각)의 적어도 2종류의 시각 정보를 갖는다.
또한, 1 이상의 스페이스를 포함하는 GOS 단위로 부호화 또는 복호가 행해진다.
부호화 장치 및 복호 장치는, 처리가 완료된 GOS 내의 스페이스를 참조하여, 처리 대상의 GOS 내의 P스페이스 또는 B스페이스의 예측을 행한다.
또는, 부호화 장치 및 복호 장치는, 상이한 GOS를 참조하지 않고, 처리 대상의 GOS 내의 처리 완료 스페이스를 사용하여 처리 대상의 GOS 내의 P스페이스 또는 B스페이스의 예측을 행한다.
또한, 부호화 장치 및 복호 장치는, 1 이상의 GOS를 포함하는 월드 단위로 부호화 스트림을 송신 또는 수신한다.
또한, GOS는 적어도 월드 내에서 1방향으로 레이어 구조를 가지며, 부호화 장치 및 복호 장치는, 하위 레이어부터 부호화 또는 복호를 행한다. 예를 들면, 랜덤 액세스 가능한 GOS는 최하위 레이어에 속한다. 상위 레이어에 속하는 GOS는 동일 레이어 이하에 속하는 GOS를 참조한다. 즉, GOS는, 미리 정해진 방향으로 공간 분할되며, 각각이 1 이상의 SPC를 포함하는 복수의 레이어를 포함한다. 부호화 장치 및 복호 장치는, 각 SPC를, 당해 SPC와 동일 레이어 또는 당해 SPC보다 하층의 레이어에 포함되는 SPC를 참조하여 부호화 또는 복호한다.
또한, 부호화 장치 및 복호 장치는, 복수의 GOS를 포함하는 월드 단위 내에서, 연속적으로 GOS를 부호화 또는 복호한다. 부호화 장치 및 복호 장치는, 부호화 또는 복호의 순서(방향)를 나타내는 정보를 메타 데이터로서 기입하거나 또는 읽어낸다. 즉, 부호화 데이터는, 복수의 GOS의 부호화 순서를 나타내는 정보를 포함한다.
또한, 부호화 장치 및 복호 장치는, 서로 상이한 2 이상의 스페이스 또는 GOS를 병렬로 부호화 또는 복호한다.
또한, 부호화 장치 및 복호 장치는, 스페이스 또는 GOS의 공간 정보(좌표, 사이즈 등)를 부호화 또는 복호한다.
또한, 부호화 장치 및 복호 장치는, GPS, 경로 정보, 또는 배율 등, 자기의 위치 또는/및 영역 사이즈에 관한 외부 정보에 의거하여 특정되는 특정 공간에 포함되는 스페이스 또는 GOS를 부호화 또는 복호한다.
부호화 장치 또는 복호 장치는, 자기의 위치로부터 먼 공간은, 가까운 공간에 비해 우선도를 떨어뜨려 부호화 또는 복호한다.
부호화 장치는, 배율 또는 용도에 따라, 월드의 어느 1방향을 설정하고, 당해 방향으로 레이어 구조를 갖는 GOS를 부호화한다. 또한, 복호 장치는, 배율 또는 용도에 따라 설정된 월드의 어느 1방향으로 레이어 구조를 갖는 GOS를, 하위 레이어부터 우선적으로 복호한다.
부호화 장치는, 실내와 실외에서 스페이스에 포함되는 특징점 추출, 오브젝트 인식의 정밀도, 또는 공간 영역 사이즈 등을 변화시킨다. 단, 부호화 장치 및 복호 장치는, 좌표가 가까운 실내 GOS와 실외 GOS를 월드 내에서 인접하여 부호화 또는 복호하고, 이들의 식별자도 대응지어 부호화 또는 복호한다.
(실시 형태 2)
포인트 클라우드의 부호화 데이터를 실제의 장치 또는 서비스에서 사용할 때에는, 네트워크 대역을 억제하기 위해서 용도에 따라 필요한 정보를 송수신하는 것이 바람직하다. 그러나, 지금까지, 삼차원 데이터의 부호화 구조에는 그러한 기능이 존재하지 않으며, 그를 위한 부호화 방법도 존재하지 않았다.
본 실시 형태에서는, 삼차원의 포인트 클라우드의 부호화 데이터에 있어서 용도에 따라 필요한 정보만을 송수신하는 기능을 제공하기 위한 삼차원 데이터 부호화 방법 및 삼차원 데이터 부호화 장치, 및, 당해 부호화 데이터를 복호하는 삼차원 데이터 복호 방법 및 삼차원 데이터 복호 장치에 대해서 설명한다.
특징량을 일정 이상 갖는 복셀(VXL)을 특징 복셀(FVXL)로 정의하고, FVXL로 구성되는 월드(WLD)를 스파스 월드(SWLD)로 정의한다. 도 11은, 스파스 월드 및 월드의 구성예를 나타내는 도면이다. SWLD에는, FVXL로 구성되는 GOS인 FGOS와, FVXL로 구성되는 SPC인 FSPC와, FVXL로 구성되는 VLM인 FVLM이 포함된다. FGOS, FSPC 및 FVLM의 데이터 구조 및 예측 구조는 GOS, SPC 및 VLM과 동일해도 상관없다.
특징량이란, VXL의 삼차원 위치 정보, 또는 VXL 위치의 가시광 정보를 표현하는 특징량이며, 특히 입체물의 코너 및 에지 등에서 많이 검출되는 특징량이다. 구체적으로는, 이 특징량은, 하기와 같은 삼차원 특징량 또는 가시광의 특징량이지만, 그 외, VXL의 위치, 휘도, 또는 색 정보 등을 나타내는 특징량이면, 어떠한 것이어도 상관없다.
삼차원 특징량으로서, SHOT 특징량(Signature of Histograms of OrienTations), PFH 특징량(Point Feature Histograms), 또는 PPF 특징량(Point Pair Feature)이 사용된다.
SHOT 특징량은, VXL 주변을 분할하고, 기준점과 분할된 영역의 법선 벡터의 내적(內積)을 계산하여 히스토그램화함으로써 얻어진다. 이 SHOT 특징량은, 차원수가 높고, 특징 표현력이 높다는 특징을 갖는다.
PFH 특징량은, VXL 근방의 다수의 2점 세트를 선택하고, 그 2점으로부터 법선 벡터 등을 산출하여 히스토그램화함으로써 얻어진다. 이 PFH 특징량은, 히스토그램 특징이므로, 다소의 외란에 대하여 로버스트성을 가지며, 특징 표현력도 높다는 특징을 갖는다.
PPF 특징량은, 2점의 VXL마다 법선 벡터 등을 사용하여 산출되는 특징량이다. 이 PPF 특징량에는, 전체 VXL이 사용되기 때문에, 오클루전에 대하여 로버스트성을 갖는다.
또한, 가시광의 특징량으로서, 화상의 휘도 구배 정보 등의 정보를 사용한 SIFT(Scale-Invariant Feature Transform), SURF(Speeded Up Robust Features), 또는 HOG(Histogram of Oriented Gradients) 등을 사용할 수 있다.
SWLD는, WLD의 각 VXL로부터 상기 특징량을 산출하고, FVXL을 추출함으로써 생성된다. 여기서, SWLD는 WLD가 갱신될 때마다 갱신해도 상관없고, WLD의 갱신 타이밍에 관계없이, 일정 시간 경과 후에 정기적으로 갱신하도록 해도 상관없다.
SWLD는 특징량마다 생성해도 상관없다. 예를 들면, SHOT 특징량에 의거한 SWLD1과 SIFT 특징량에 의거한 SWLD2와 같이, 특징량마다 각기 다른 SWLD가 생성되고, 용도에 따라 SWLD를 구분하여 사용하도록 해도 상관없다. 또한, 산출한 각 FVXL의 특징량을 특징량 정보로서 각 FVXL에 유지하도록 해도 상관없다.
다음에, 스파스 월드(SWLD)의 사용 방법에 대해서 설명한다. SWLD는 특징 복셀(FVXL)만을 포함하기 때문에, 모든 VXL을 포함하는 WLD와 비교하여 일반적으로 데이터 사이즈가 작다.
특징량을 사용하여 어떠한 목적을 달성하는 어플리케이션에 있어서는, WLD 대신에 SWLD의 정보를 사용함으로써, 하드 디스크로부터의 읽어내기 시간, 및 네트워크 전송 시의 대역 및 전송 시간을 억제할 수 있다. 예를 들면, 지도 정보로서, WLD와 SWLD를 서버에 유지해 두고, 클라이언트로부터의 요망에 따라, 송신하는 지도 정보를 WLD 또는 SWLD로 전환함으로써, 네트워크 대역 및 전송 시간을 억제할 수 있다. 이하, 구체적인 예를 나타낸다.
도 12 및 도 13은, SWLD 및 WLD의 사용예를 나타내는 도면이다. 도 12에 나타내는 바와 같이, 차재 장치인 클라이언트 1이 자기 위치 판정 용도로서 지도 정보가 필요한 경우는, 클라이언트 1은 서버에 자기 위치 추정용 지도 데이터의 취득 요망을 보낸다(S301). 서버는, 당해 취득 요망에 따라 SWLD를 클라이언트 1에 송신한다(S302). 클라이언트 1은, 수신한 SWLD를 사용하여 자기 위치 판정을 행한다(S303). 이때, 클라이언트 1은 레인지 파인더 등의 거리 센서, 스테레오 카메라, 또는 복수의 단안 카메라의 조합 등의 다양한 방법으로 클라이언트 1 주변의 VXL 정보를 취득하고, 얻어진 VXL 정보와 SWLD로부터 자기 위치 정보를 추정한다. 여기서 자기 위치 정보는, 클라이언트 1의 삼차원 위치 정보 및 방향 등을 포함한다.
도 13에 나타내는 바와 같이, 차재 장치인 클라이언트 2가 삼차원 지도 등의 지도 묘화의 용도로서 지도 정보가 필요한 경우는, 클라이언트 2는 서버에 지도 묘화용 지도 데이터의 취득 요망을 보낸다(S311). 서버는, 당해 취득 요망에 따라 WLD를 클라이언트 2에 송신한다(S312). 클라이언트 2는, 수신한 WLD를 사용하여 지도 묘화를 행한다(S313). 이때, 클라이언트 2는, 예를 들면, 자기가 가시광 카메라 등으로 촬영한 화상과, 서버로부터 취득한 WLD를 사용하여 렌더링 화상을 작성하고, 작성한 화상을 카 내비게이션 등의 화면에 묘화한다.
상기와 같이, 서버는, 자기 위치 추정과 같은 각 VXL의 특징량을 주로 필요로 하는 용도에서는 SWLD를 클라이언트에 송신하고, 지도 묘화와 같이 상세한 VXL 정보가 필요한 경우는 WLD를 클라이언트에 송신한다. 이에 의해, 지도 데이터를 효율적으로 송수신하는 것이 가능해진다.
또한, 클라이언트는, 스스로 SWLD와 WLD 중 어느 쪽이 필요한지를 판단하고, 서버에 SWLD 또는 WLD의 송신을 요구해도 상관없다. 또한, 서버는, 클라이언트 또는 네트워크의 상황에 맞추어, SWLD나 WLD 중 어느 쪽을 송신해야 할지를 판단해도 상관없다.
다음에, 스파스 월드(SWLD)와 월드(WLD)의 송수신을 전환하는 방법을 설명한다.
네트워크 대역에 따라 WLD 또는 SWLD를 수신할지를 전환하도록 해도 된다. 도 14는, 이 경우의 동작예를 나타내는 도면이다. 예를 들면, LTE(Long Term Evolution) 환경하 등의 사용할 수 있는 네트워크 대역이 한정되어 있는 저속 네트워크가 사용되고 있는 경우에는, 클라이언트는, 저속 네트워크 경유로 서버에 액세스하고(S321), 서버로부터 지도 정보로서 SWLD를 취득한다(S322). 한편, Wi­Fi(등록상표) 환경하 등의 네트워크 대역에 여유가 있는 고속 네트워크가 사용되고 있는 경우에는, 클라이언트는, 고속 네트워크 경유로 서버에 액세스하고(S323), 서버로부터 WLD를 취득한다(S324). 이에 의해, 클라이언트는, 당해 클라이언트의 네트워크 대역에 따라 적절한 지도 정보를 취득할 수 있다.
구체적으로는, 클라이언트는, 옥외에서는 LTE 경유로 SWLD를 수신하고, 시설 등의 옥내에 들어간 경우는 Wi­Fi(등록상표) 경유로 WLD를 취득한다. 이에 의해, 클라이언트는, 옥내의 보다 상세한 지도 정보를 취득하는 것이 가능해진다.
이와 같이, 클라이언트는, 자신이 사용하는 네트워크의 대역에 따라 서버에 WLD 또는 SWLD를 요구해도 된다. 또는, 클라이언트는, 자신이 사용하는 네트워크의 대역을 나타내는 정보를 서버에 송신하고, 서버는 당해 정보에 따라 당해 클라이언트에 적합한 데이터(WLD 또는 SWLD)를 송신해도 된다. 또는, 서버는, 클라이언트의 네트워크 대역을 판별하고, 당해 클라이언트에 적합한 데이터(WLD 또는 SWLD)를 송신해도 된다.
또한, 이동 속도에 따라 WLD 또는 SWLD를 수신할지를 전환하도록 해도 된다. 도 15는, 이 경우의 동작예를 나타내는 도면이다. 예를 들면, 클라이언트가 고속 이동을 하고 있는 경우는(S331), 클라이언트는 SWLD를 서버로부터 수신한다(S332). 한편, 클라이언트가 저속 이동을 하고 있는 경우는(S333), 클라이언트는 WLD를 서버로부터 수신한다(S334). 이에 의해, 클라이언트는, 네트워크 대역을 억제하면서, 속도에 맞는 지도 정보를 취득할 수 있다. 구체적으로는, 클라이언트는, 고속 도로를 주행 중에는 데이터량이 적은 SWLD를 수신함으로써, 대략적인 지도 정보를 적절한 속도로 갱신할 수 있다. 한편, 클라이언트는, 일반 도로를 주행 중에는 WLD를 수신함으로써, 보다 상세한 지도 정보를 취득하는 것이 가능해진다.
이와 같이, 클라이언트는, 자신의 이동 속도에 따라 서버에 WLD 또는 SWLD를 요구해도 된다. 또는, 클라이언트는, 자신의 이동 속도를 나타내는 정보를 서버에 송신하고, 서버는 당해 정보에 따라 당해 클라이언트에 적합한 데이터(WLD 또는 SWLD)를 송신해도 된다. 또는, 서버는, 클라이언트의 이동 속도를 판별하고, 당해 클라이언트에 적합한 데이터(WLD 또는 SWLD)를 송신해도 된다.
또한, 클라이언트는, 처음에 SWLD를 서버로부터 취득하고, 그 중에서 중요한 영역의 WLD를 취득해도 상관없다. 예를 들면, 클라이언트는, 지도 데이터를 취득할 때에, 처음에 대략적인 지도 정보를 SWLD로 취득하고, 거기에서부터 건물, 표지, 또는 인물 등의 특징이 많이 출현하는 영역을 좁히고, 좁힌 영역의 WLD를 나중에 취득한다. 이에 의해, 클라이언트는, 서버로부터의 수신 데이터량을 억제하면서, 필요한 영역의 상세한 정보를 취득하는 것이 가능해진다.
또한, 서버는, WLD로부터 물체마다 각기 다른 SWLD를 작성하고, 클라이언트는, 용도에 맞추어, 각각을 수신해도 된다. 이에 의해, 네트워크 대역을 억제할 수 있다. 예를 들면, 서버는, WLD로부터 미리 사람 또는 차를 인식하고, 사람의 SWLD와 차의 SWLD를 작성한다. 클라이언트는, 주위의 사람의 정보를 취득하고자 하는 경우에는 사람의 SWLD를, 차의 정보를 취득하고자 하는 경우에는 차의 SWLD를 수신한다. 또한, 이러한 SWLD의 종류는 헤더 등에 부가된 정보(플래그 또는 타입 등)에 의해 구별하도록 해도 상관없다.
다음에, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(예를 들면 서버)의 구성 및 동작의 흐름을 설명한다. 도 16은, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(400)의 블럭도이다. 도 17은, 삼차원 데이터 부호화 장치(400)에 의한 삼차원 데이터 부호화 처리의 플로차트이다.
도 16에 나타내는 삼차원 데이터 부호화 장치(400)는, 입력 삼차원 데이터(411)를 부호화함으로써 부호화 스트림인 부호화 삼차원 데이터(413 및 414)를 생성한다. 여기서, 부호화 삼차원 데이터(413)는 WLD에 대응하는 부호화 삼차원 데이터이고, 부호화 삼차원 데이터(414)는 SWLD에 대응하는 부호화 삼차원 데이터이다. 이 삼차원 데이터 부호화 장치(400)는, 취득부(401), 부호화 영역 결정부(402), SWLD 추출부(403), WLD 부호화부(404), SWLD 부호화부(405)를 구비한다.
도 17에 나타내는 바와 같이, 우선, 취득부(401)는, 삼차원 공간 내의 점군 데이터인 입력 삼차원 데이터(411)를 취득한다(S401).
다음에, 부호화 영역 결정부(402)는, 점군 데이터가 존재하는 공간 영역에 의거하여, 부호화 대상의 공간 영역을 결정한다(S402).
다음에, SWLD 추출부(403)는, 부호화 대상의 공간 영역을 WLD로 정의하고, WLD에 포함되는 각 VXL로부터 특징량을 산출한다. 그리고, SWLD 추출부(403)는, 특징량이 미리 정해진 역치 이상인 VXL을 추출하여, 추출한 VXL을 FVXL로 정의하고, 당해 FVXL을 SWLD에 추가함으로써, 추출 삼차원 데이터(412)를 생성한다(S403). 즉, 입력 삼차원 데이터(411)로부터 특징량이 역치 이상인 추출 삼차원 데이터(412)가 추출된다.
다음에, WLD 부호화부(404)는, WLD에 대응하는 입력 삼차원 데이터(411)를 부호화함으로써 WLD에 대응하는 부호화 삼차원 데이터(413)를 생성한다(S404). 이때, WLD 부호화부(404)는, 부호화 삼차원 데이터(413)의 헤더에, 당해 부호화 삼차원 데이터(413)가 WLD를 포함하는 스트림인 것을 구별하기 위한 정보를 부가한다.
또한, SWLD 부호화부(405)는, SWLD에 대응하는 추출 삼차원 데이터(412)를 부호화함으로써 SWLD에 대응하는 부호화 삼차원 데이터(414)를 생성한다(S405). 이때, SWLD 부호화부(405)는, 부호화 삼차원 데이터(414)의 헤더에, 당해 부호화 삼차원 데이터(414)가 SWLD를 포함하는 스트림인 것을 구별하기 위한 정보를 부가한다.
또한, 부호화 삼차원 데이터(413)를 생성하는 처리와, 부호화 삼차원 데이터(414)를 생성하는 처리의 처리 순서는 상기와 반대여도 된다. 또한, 이들 처리의 일부 또는 전부가 병렬로 행해져도 된다.
부호화 삼차원 데이터(413 및 414)의 헤더에 부여되는 정보로서, 예를 들면, 「world_type」이라는 파라미터가 정의된다. world_type=0의 경우는 스트림이 WLD를 포함하는 것을 나타내고, world_type=1의 경우는 스트림이 SWLD를 포함하는 것을 나타낸다. 더 그 외의 다수의 종별을 정의하는 경우에는, world_type=2와 같이 할당하는 수치를 늘리도록 해도 상관없다. 또한, 부호화 삼차원 데이터(413 및 414) 중 한쪽에 특정의 플래그가 포함되어도 된다. 예를 들면, 부호화 삼차원 데이터(414)에, 당해 스트림이 SWLD를 포함하는 것을 포함하는 플래그가 부여되어도 된다. 이 경우, 복호 장치는, 플래그의 유무에 의해 WLD를 포함하는 스트림인지, SWLD를 포함하는 스트림인지를 판별할 수 있다.
또한, WLD 부호화부(404)가 WLD를 부호화할 때에 사용하는 부호화 방법과, SWLD 부호화부(405)가 SWLD를 부호화할 때에 사용하는 부호화 방법은 상이해도 된다.
예를 들면, SWLD에서는 데이터가 솎아내어져 있기 때문에, WLD에 비해, 주변 데이터와의 상관이 낮아질 가능성이 있다. 따라서, SWLD에 사용되는 부호화 방법에서는, WLD에 사용되는 부호화 방법보다 인트라 예측 및 인터 예측 중 인터 예측이 우선되어도 된다.
또한, SWLD에 사용되는 부호화 방법과 WLD에 사용되는 부호화 방법에서는, 삼차원 위치의 표현 수법이 상이해도 된다. 예를 들면, SWLD에서는, 삼차원 좌표에 의해 FVXL의 삼차원 위치를 표현하고, WLD에서는, 후술하는 8진 트리에 의해 삼차원 위치가 표현되어도 되며, 그 반대여도 된다.
또한, SWLD 부호화부(405)는, SWLD의 부호화 삼차원 데이터(414)의 데이터 사이즈가 WLD의 부호화 삼차원 데이터(413)의 데이터 사이즈보다 작아지도록 부호화를 행한다. 예를 들면, 상술한 바와 같이 SWLD는, WLD에 비해, 데이터간의 상관이 낮아질 가능성이 있다. 이에 의해, 부호화 효율이 떨어져, 부호화 삼차원 데이터(414)의 데이터 사이즈가 WLD의 부호화 삼차원 데이터(413)의 데이터 사이즈보다 커질 가능성이 있다. 따라서, SWLD 부호화부(405)는, 얻어진 부호화 삼차원 데이터(414)의 데이터 사이즈가, WLD의 부호화 삼차원 데이터(413)의 데이터 사이즈보다 큰 경우에는, 재부호화를 행함으로써, 데이터 사이즈를 저감한 부호화 삼차원 데이터(414)를 재생성한다.
예를 들면, SWLD 추출부(403)는, 추출하는 특징점의 수를 줄인 추출 삼차원 데이터(412)를 재생성하고, SWLD 부호화부(405)는, 당해 추출 삼차원 데이터(412)를 부호화한다. 또는, SWLD 부호화부(405)에 있어서의 양자화의 정도를 보다 성기게 해도 된다. 예를 들면, 후술하는 8진 트리 구조에 있어서, 최하층의 데이터를 라운딩함으로써, 양자화의 정도를 성기게 할 수 있다.
또한, SWLD 부호화부(405)는, SWLD의 부호화 삼차원 데이터(414)의 데이터 사이즈를 WLD의 부호화 삼차원 데이터(413)의 데이터 사이즈보다 작게 할 수 없는 경우는, SWLD의 부호화 삼차원 데이터(414)를 생성하지 않아도 된다. 또는, WLD의 부호화 삼차원 데이터(413)가 SWLD의 부호화 삼차원 데이터(414)에 카피되어도 된다. 즉, SWLD의 부호화 삼차원 데이터(414)로서 WLD의 부호화 삼차원 데이터(413)가 그대로 사용되어도 된다.
다음에, 본 실시 형태에 따른 삼차원 데이터 복호 장치(예를 들면 클라이언트)의 구성 및 동작의 흐름을 설명한다. 도 18은, 본 실시 형태에 따른 삼차원 데이터 복호 장치(500)의 블럭도이다. 도 19는, 삼차원 데이터 복호 장치(500)에 의한 삼차원 데이터 복호 처리의 플로차트이다.
도 18에 나타내는 삼차원 데이터 복호 장치(500)는, 부호화 삼차원 데이터(511)를 복호함으로써 복호 삼차원 데이터(512 또는 513)를 생성한다. 여기서, 부호화 삼차원 데이터(511)는, 예를 들면, 삼차원 데이터 부호화 장치(400)에서 생성된 부호화 삼차원 데이터(413 또는 414)이다.
이 삼차원 데이터 복호 장치(500)는, 취득부(501), 헤더 해석부(502), WLD 복호부(503), SWLD 복호부(504)를 구비한다.
도 19에 나타내는 바와 같이, 우선, 취득부(501)는, 부호화 삼차원 데이터(511)를 취득한다(S501). 다음에, 헤더 해석부(502)는, 부호화 삼차원 데이터(511)의 헤더를 해석하여, 부호화 삼차원 데이터(511)가 WLD를 포함하는 스트림인지, SWLD를 포함하는 스트림인지를 판별한다(S502). 예를 들면, 상술한 world_type의 파라미터가 참조되어, 판별이 행해진다.
부호화 삼차원 데이터(511)가 WLD를 포함하는 스트림인 경우(S503에서 Yes), WLD 복호부(503)는, 부호화 삼차원 데이터(511)를 복호함으로써 WLD의 복호 삼차원 데이터(512)를 생성한다(S504). 한편, 부호화 삼차원 데이터(511)가 SWLD를 포함하는 스트림인 경우(S503에서 No), SWLD 복호부(504)는, 부호화 삼차원 데이터(511)를 복호함으로써 SWLD의 복호 삼차원 데이터(513)를 생성한다(S505).
또한, 부호화 장치와 마찬가지로, WLD 복호부(503)가 WLD를 복호할 때에 사용하는 복호 방법과, SWLD 복호부(504)가 SWLD를 복호할 때에 사용하는 복호 방법은 상이해도 된다. 예를 들면, SWLD에 사용되는 복호 방법에서는, WLD에 사용되는 복호 방법보다 인트라 예측 및 인터 예측 중 인터 예측이 우선되어도 된다.
또한, SWLD에 사용되는 복호 방법과 WLD에 사용되는 복호 방법에서는, 삼차원 위치의 표현 수법이 상이해도 된다. 예를 들면, SWLD에서는, 삼차원 좌표에 의해 FVXL의 삼차원 위치를 표현하고, WLD에서는, 후술하는 8진 트리에 의해 삼차원 위치가 표현되어도 되며, 그 반대여도 된다.
다음에, 삼차원 위치의 표현 수법인 8진 트리 표현에 대해서 설명한다. 삼차원 데이터에 포함되는 VXL 데이터는 8진 트리 구조로 변환된 후, 부호화된다. 도 20은, WLD의 VXL의 일례를 나타내는 도면이다. 도 21은, 도 20에 나타내는 WLD의 8진 트리 구조를 나타내는 도면이다. 도 20에 나타내는 예에서는, 점군을 포함하는 VXL(이하, 유효 VXL)인 3개 VXL1~3이 존재한다. 도 21에 나타내는 바와 같이, 8진 트리 구조는 노드와 리프로 구성된다. 각 노드는 최대 8개의 노드 또는 리프를 갖는다. 각 리프는 VXL 정보를 갖는다. 여기서, 도 21에 나타내는 리프 중, 리프 1, 2, 3은 각각 도 20에 나타내는 VXL1, VXL2, VXL3을 나타낸다.
구체적으로는, 각 노드 및 리프는 삼차원 위치에 대응한다. 노드 1은, 도 20에 나타내는 전체 블록에 대응한다. 노드 1에 대응하는 블록은 8개의 블록으로 분할되며, 8개의 블록 중, 유효 VXL을 포함하는 블록이 노드로 설정되고, 그 이외의 블록은 리프로 설정된다. 노드에 대응하는 블록은, 또한 8개의 노드 또는 리프로 분할되고, 이 처리가 트리 구조의 계층만큼 반복된다. 또한, 최하층의 블록은, 모두 리프로 설정된다.
또한, 도 22는, 도 20에 나타내는 WLD로부터 생성한 SWLD의 예를 나타내는 도면이다. 도 20에 나타내는 VXL1 및 VXL2는 특징량 추출의 결과, FVXL1 및 FVXL2로 판정되어, SWLD에 추가되어 있다. 한편, VXL3은 FVXL로 판정되지 않아, SWLD에 포함되어 있지 않다. 도 23은, 도 22에 나타내는 SWLD의 8진 트리 구조를 나타내는 도면이다. 도 23에 나타내는 8진 트리 구조에서는, 도 21에 나타내는, VXL3에 상당하는 리프 3이 삭제되어 있다. 이에 의해, 도 21에 나타내는 노드 3이 유효 VXL을 갖지 않게 되어, 리프로 변경되어 있다. 이와 같이 일반적으로 SWLD의 리프수는 WLD의 리프수보다 적어지고, SWLD의 부호화 삼차원 데이터도 WLD의 부호화 삼차원 데이터보다 작아진다.
이하, 본 실시 형태의 변형예에 대해서 설명한다.
예를 들면, 차재 장치 등의 클라이언트는, 자기 위치 추정을 행하는 경우에, SWLD를 서버로부터 수신하고, SWLD를 사용하여 자기 위치 추정을 행하며, 장애물 검지를 행하는 경우는, 레인지 파인더 등의 거리 센서, 스테레오 카메라, 또는 복수의 단안 카메라의 조합 등의 다양한 방법을 사용하여 스스로 취득한 주변의 삼차원 정보에 의거하여 장애물 검지를 실시해도 된다.
또한, 일반적으로 SWLD에는 평탄 영역의 VXL 데이터가 포함되기 어렵다. 그 때문에, 서버는, 정적인 장애물의 검지용으로, WLD를 서브 샘플링한 서브 샘플 월드(subWLD)를 유지하고, SWLD와 subWLD를 클라이언트에 송신해도 된다. 이에 의해, 네트워크 대역을 억제하면서, 클라이언트측에서 자기 위치 추정 및 장애물 검지를 행할 수 있다.
또한, 클라이언트가 삼차원 지도 데이터를 고속으로 묘화할 때에는, 지도 정보가 메시 구조인 쪽이 편리한 경우가 있다. 그래서, 서버는, WLD로부터 메시를 생성하고, 메시 월드(MWLD)로서 미리 유지해도 된다. 예를 들면 클라이언트는, 성긴 삼차원 묘화를 필요로 하고 있는 경우에는 MWLD를 수신하고, 상세한 삼차원 묘화를 필요로 하고 있는 경우에는 WLD를 수신한다. 이에 의해, 네트워크 대역을 억제할 수 있다.
또한, 서버는, 각 VXL 중, 특징량이 역치 이상인 VXL을 FVXL로 설정했지만, 상이한 방법으로 FVXL을 산출해도 상관없다. 예를 들면, 서버는, 신호 또는 교차점 등을 구성하는 VXL, VLM, SPC, 또는 GOS를, 자기 위치 추정, 운전 어시스트, 또는 자동 운전 등에 필요하다고 판단하고, FVXL, FVLM, FSPC, FGOS로서 SWLD에 포함시키도록 해도 상관없다. 또한, 상기 판단은 수동으로 행해져도 된다. 또한, 특징량에 의거하여 설정된 FVXL 등에, 상기 방법으로 얻어진 FVXL 등을 추가해도 된다. 즉, SWLD 추출부(403)는, 또한, 입력 삼차원 데이터(411)로부터 미리 정해진 속성을 갖는 물체에 대응하는 데이터를 추출 삼차원 데이터(412)로서 추출해도 된다.
또한, 그들 용도로 필요한 취지를 특징량과는 별도로 라벨링하도록 해도 상관없다. 또한, 서버는, SWLD의 상위 레이어(예를 들면 레인 월드)로서, 신호 또는 교차점 등의 자기 위치 추정, 운전 어시스트, 또는 자동 운전 등에 필요한 FVXL을 별도로 유지해도 된다.
또한, 서버는, WLD 내의 VXL에도 랜덤 액세스 단위 또는 소정의 단위마다 속성을 부가해도 된다. 속성은, 예를 들면, 자기 위치 추정에 필요 혹은 불필요한지를 나타내는 정보, 또는, 신호 혹은 교차점 등의 교통 정보로서 중요한지의 여부 등을 나타내는 정보를 포함한다. 또한, 속성은, 레인 정보(GDF: Geographic Data Files 등)에 있어서의 Feature(교차점 또는 도로 등)와의 대응 관계를 포함해도 된다.
또한, WLD 또는 SWLD의 갱신 방법으로서 하기와 같은 방법을 사용해도 상관없다.
사람, 공사, 또는 가로수(트럭용)의 변화 등을 나타내는 갱신 정보가 점군 또는 메타 데이터로서 서버에 업로드된다. 서버는, 당해 업로드에 의거하여, WLD를 갱신하고, 그 후, 갱신한 WLD를 사용하여 SWLD를 갱신한다.
또한, 클라이언트는, 자기 위치 추정 시에 자신이 생성한 삼차원 정보와 서버로부터 수신한 삼차원 정보의 부정합을 검지한 경우, 자신이 생성한 삼차원 정보를 갱신 통지와 함께 서버에 송신해도 된다. 이 경우, 서버는, WLD를 사용하여 SWLD를 갱신한다. SWLD가 갱신되지 않는 경우, 서버는, WLD 자체가 오래된 것으로 판단한다.
또한, 부호화 스트림의 헤더 정보로서, WLD인지 SWLD인지를 구별하는 정보가 부가되는 것으로 했지만, 예를 들면, 메시 월드 또는 레인 월드 등, 다종류의 월드가 존재하는 경우에는, 그들을 구별하는 정보가 헤더 정보에 부가되어도 상관없다. 또한, 특징량이 상이한 SWLD가 다수 존재하는 경우에는, 각각을 구별하는 정보가 헤더 정보에 부가되어도 상관없다.
또한, SWLD는, FVXL로 구성되는 것으로 했지만, FVXL로 판정되지 않은 VXL을 포함해도 된다. 예를 들면, SWLD는, FVXL의 특징량을 산출할 때에 사용하는 인접 VXL을 포함해도 된다. 이에 의해, SWLD의 각 FVXL에 특징량 정보가 부가되지 않는 경우에도, 클라이언트는, SWLD를 수신한 때에 FVXL의 특징량을 산출할 수 있다. 또한, 그때에는, SWLD는 각 VXL이 FVXL인지 VXL인지를 구별하기 위한 정보를 포함해도 된다.
이상과 같이, 삼차원 데이터 부호화 장치(400)는, 입력 삼차원 데이터(411)(제1 삼차원 데이터)로부터 특징량이 역치 이상인 추출 삼차원 데이터(412)(제2 삼차원 데이터)를 추출하고, 추출 삼차원 데이터(412)를 부호화함으로써 부호화 삼차원 데이터(414)(제1 부호화 삼차원 데이터)를 생성한다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 특징량이 역치 이상인 데이터를 부호화한 부호화 삼차원 데이터(414)를 생성한다. 이에 의해, 입력 삼차원 데이터(411)를 그대로 부호화하는 경우에 비해 데이터량을 삭감할 수 있다. 따라서, 삼차원 데이터 부호화 장치(400)는, 전송하는 데이터량을 삭감할 수 있다.
또한, 삼차원 데이터 부호화 장치(400)는, 또한, 입력 삼차원 데이터(411)를 부호화함으로써 부호화 삼차원 데이터(413)(제2 부호화 삼차원 데이터)를 생성한다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 예를 들면, 사용 용도 등에 따라, 부호화 삼차원 데이터(413)와 부호화 삼차원 데이터(414)를 선택적으로 전송할 수 있다.
또한, 추출 삼차원 데이터(412)는, 제1 부호화 방법에 의해 부호화되고, 입력 삼차원 데이터(411)는, 제1 부호화 방법과는 상이한 제2 부호화 방법에 의해 부호화된다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 입력 삼차원 데이터(411)와 추출 삼차원 데이터(412)에 각각 적합한 부호화 방법을 사용할 수 있다.
또한, 제1 부호화 방법에서는, 제2 부호화 방법보다 인트라 예측 및 인터 예측 중 인터 예측이 우선된다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 인접하는 데이터간의 상관이 낮아지기 쉬운 추출 삼차원 데이터(412)에 대하여, 인터 예측의 우선도를 올릴 수 있다.
또한, 제1 부호화 방법과 제2 부호화 방법에서는, 삼차원 위치의 표현 수법이 상이하다. 예를 들면, 제2 부호화 방법에서는, 8진 트리에 의해 삼차원 위치가 표현되고, 제1 부호화 방법에서는, 삼차원 좌표에 의해 삼차원 위치가 표현된다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 데이터수(VXL 또는 FVXL의 수)가 상이한 삼차원 데이터에 대하여, 보다 적합한 삼차원 위치의 표현 수법을 사용할 수 있다.
또한, 부호화 삼차원 데이터(413 및 414) 중 적어도 한쪽은, 당해 부호화 삼차원 데이터가 입력 삼차원 데이터(411)를 부호화함으로써 얻어진 부호화 삼차원 데이터인지, 입력 삼차원 데이터(411) 중 일부를 부호화함으로써 얻어진 부호화 삼차원 데이터인지를 나타내는 식별자를 포함한다. 즉, 당해 식별자는, 부호화 삼차원 데이터가 WLD의 부호화 삼차원 데이터(413)인지 SWLD의 부호화 삼차원 데이터(414)인지를 나타낸다.
이에 의하면, 복호 장치는, 취득한 부호화 삼차원 데이터가 부호화 삼차원 데이터(413)인지 부호화 삼차원 데이터(414)인지를 용이하게 판정할 수 있다.
또한, 삼차원 데이터 부호화 장치(400)는, 부호화 삼차원 데이터(414)의 데이터량이 부호화 삼차원 데이터(413)의 데이터량보다 작아지도록 추출 삼차원 데이터(412)를 부호화한다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 부호화 삼차원 데이터(414)의 데이터량을 부호화 삼차원 데이터(413)의 데이터량보다 작게 할 수 있다.
또한, 삼차원 데이터 부호화 장치(400)는, 또한, 입력 삼차원 데이터(411)로부터 미리 정해진 속성을 갖는 물체에 대응하는 데이터를 추출 삼차원 데이터(412)로서 추출한다. 예를 들면, 미리 정해진 속성을 갖는 물체란, 자기 위치 추정, 운전 어시스트, 또는 자동 운전 등에 필요한 물체이며, 신호 또는 교차점 등이다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 복호 장치에서 필요한 데이터를 포함하는 부호화 삼차원 데이터(414)를 생성할 수 있다.
또한, 삼차원 데이터 부호화 장치(400)(서버)는, 또한, 클라이언트의 상태에 따라, 부호화 삼차원 데이터(413 및 414) 중 한쪽을 클라이언트에 송신한다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 클라이언트의 상태에 따라 적절한 데이터를 송신할 수 있다.
또한, 클라이언트의 상태는, 클라이언트의 통신 상황(예를 들면 네트워크 대역), 또는 클라이언트의 이동 속도를 포함한다.
또한, 삼차원 데이터 부호화 장치(400)는, 또한, 클라이언트의 요구에 따라, 부호화 삼차원 데이터(413 및 414) 중 한쪽을 클라이언트에 송신한다.
이에 의하면, 삼차원 데이터 부호화 장치(400)는, 클라이언트의 요구에 따라 적절한 데이터를 송신할 수 있다.
또한, 본 실시 형태에 따른 삼차원 데이터 복호 장치(500)는, 상기 삼차원 데이터 부호화 장치(400)에 의해 생성된 부호화 삼차원 데이터(413 또는 414)를 복호한다.
즉, 삼차원 데이터 복호 장치(500)는, 입력 삼차원 데이터(411)로부터 추출된 특징량이 역치 이상인 추출 삼차원 데이터(412)가 부호화됨으로써 얻어진 부호화 삼차원 데이터(414)를 제1 복호 방법에 의해 복호한다. 또한, 삼차원 데이터 복호 장치(500)는, 입력 삼차원 데이터(411)가 부호화됨으로써 얻어진 부호화 삼차원 데이터(413)를, 제1 복호 방법과는 상이한 제2 복호 방법에 의해 복호한다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 특징량이 역치 이상인 데이터를 부호화한 부호화 삼차원 데이터(414)와, 부호화 삼차원 데이터(413)를, 예를 들면, 사용 용도 등에 따라 선택적으로 수신할 수 있다. 이에 의해, 삼차원 데이터 복호 장치(500)는, 전송하는 데이터량을 삭감할 수 있다. 또한, 삼차원 데이터 복호 장치(500)는, 입력 삼차원 데이터(411)와 추출 삼차원 데이터(412)에 각각 적합한 복호 방법을 사용할 수 있다.
또한, 제1 복호 방법에서는, 제2 복호 방법보다 인트라 예측 및 인터 예측 중 인터 예측이 우선된다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 인접하는 데이터간의 상관이 낮아지기 쉬운 추출 삼차원 데이터에 대하여, 인터 예측의 우선도를 올릴 수 있다.
또한, 제1 복호 방법과 제2 복호 방법에서는, 삼차원 위치의 표현 수법이 상이하다. 예를 들면, 제2 복호 방법에서는, 8진 트리에 의해 삼차원 위치가 표현되고, 제1 복호 방법에서는, 삼차원 좌표에 의해 삼차원 위치가 표현된다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 데이터수(VXL 또는 FVXL의 수)가 상이한 삼차원 데이터에 대하여, 보다 적합한 삼차원 위치의 표현 수법을 사용할 수 있다.
또한, 부호화 삼차원 데이터(413 및 414) 중 적어도 한쪽은, 당해 부호화 삼차원 데이터가 입력 삼차원 데이터(411)를 부호화함으로써 얻어진 부호화 삼차원 데이터인지, 입력 삼차원 데이터(411) 중 일부를 부호화함으로써 얻어진 부호화 삼차원 데이터인지를 나타내는 식별자를 포함한다. 삼차원 데이터 복호 장치(500)는, 당해 식별자를 참조하여, 부호화 삼차원 데이터(413 및 414)를 식별한다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 취득한 부호화 삼차원 데이터가 부호화 삼차원 데이터(413)인지 부호화 삼차원 데이터(414)인지를 용이하게 판정할 수 있다.
또한, 삼차원 데이터 복호 장치(500)는, 또한, 클라이언트(삼차원 데이터 복호 장치(500))의 상태를 서버에 통지한다. 삼차원 데이터 복호 장치(500)는, 클라이언트의 상태에 따라, 서버로부터 송신된 부호화 삼차원 데이터(413 및 414) 중 한쪽을 수신한다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 클라이언트의 상태에 따라 적절한 데이터를 수신할 수 있다.
또한, 클라이언트의 상태는, 클라이언트의 통신 상황(예를 들면 네트워크 대역), 또는 클라이언트의 이동 속도를 포함한다.
또한, 삼차원 데이터 복호 장치(500)는, 또한, 부호화 삼차원 데이터(413 및 414) 중 한쪽을 서버에 요구하고, 당해 요구에 따라, 서버로부터 송신된 부호화 삼차원 데이터(413 및 414) 중 한쪽을 수신한다.
이에 의하면, 삼차원 데이터 복호 장치(500)는, 용도에 따른 적절한 데이터를 수신할 수 있다.
(실시 형태 3)
본 실시 형태에서는, 차량간에서의 삼차원 데이터를 송수신하는 방법에 대해서 설명한다. 예를 들면, 자차량과 주변 차량의 사이에서의 삼차원 데이터의 송수신이 행해진다.
도 24는, 본 실시 형태에 따른 삼차원 데이터 작성 장치(620)의 블럭도이다. 이 삼차원 데이터 작성 장치(620)는, 예를 들면, 자차량에 포함되며, 삼차원 데이터 작성 장치(620)가 작성한 제1 삼차원 데이터(632)에, 수신한 제2 삼차원 데이터(635)를 합성함으로써, 보다 조밀한 제3 삼차원 데이터(636)를 작성한다.
이 삼차원 데이터 작성 장치(620)는, 삼차원 데이터 작성부(621), 요구 범위 결정부(622), 탐색부(623), 수신부(624), 복호부(625), 합성부(626)를 구비한다.
우선, 삼차원 데이터 작성부(621)는, 자차량이 구비하는 센서로 검지한 센서 정보(631)를 사용하여 제1 삼차원 데이터(632)를 작성한다. 다음에, 요구 범위 결정부(622)는, 작성한 제1 삼차원 데이터(632) 중에서 데이터가 부족한 삼차원 공간 범위인 요구 범위를 결정한다.
다음에, 탐색부(623)는, 요구 범위의 삼차원 데이터를 소유하는 주변 차량을 탐색하고, 탐색에 의해 특정한 주변 차량에 요구 범위를 나타내는 요구 범위 정보(633)를 송신한다. 다음에, 수신부(624)는, 주변 차량으로부터, 요구 범위의 부호화 스트림인 부호화 삼차원 데이터(634)를 수신한다(S624). 또한, 탐색부(623)는, 특정 범위에 존재하는 모든 차량에 대하여, 무차별적으로 리퀘스트를 보내고, 응답이 있었던 상대로부터 부호화 삼차원 데이터(634)를 수신해도 된다. 또한, 탐색부(623)는, 차량에 한정하지 않으며, 신호기 또는 표지 등의 물체에 리퀘스트를 보내어, 당해 물체로부터 부호화 삼차원 데이터(634)를 수신해도 된다.
다음에, 복호부(625)는, 수신한 부호화 삼차원 데이터(634)를 복호함으로써 제2 삼차원 데이터(635)를 취득한다. 다음에, 합성부(626)는, 제1 삼차원 데이터(632)와 제2 삼차원 데이터(635)를 합성함으로써, 보다 조밀한 제3 삼차원 데이터(636)를 작성한다.
다음에, 본 실시 형태에 따른 삼차원 데이터 송신 장치(640)의 구성 및 동작을 설명한다. 도 25는, 삼차원 데이터 송신 장치(640)의 블럭도이다.
삼차원 데이터 송신 장치(640)는, 예를 들면, 상술한 주변 차량에 포함되며, 주변 차량이 작성한 제5 삼차원 데이터(652)를 자차량이 요구하는 제6 삼차원 데이터(654)로 가공하고, 제6 삼차원 데이터(654)를 부호화함으로써 부호화 삼차원 데이터(634)를 생성하여, 부호화 삼차원 데이터(634)를 자차량에 송신한다.
삼차원 데이터 송신 장치(640)는, 삼차원 데이터 작성부(641), 수신부(642), 추출부(643), 부호화부(644), 송신부(645)를 구비한다.
우선, 삼차원 데이터 작성부(641)는, 주변 차량이 구비하는 센서로 검지한 센서 정보(651)를 사용하여 제5 삼차원 데이터(652)를 작성한다. 다음에, 수신부(642)는, 자차량으로부터 송신된 요구 범위 정보(633)를 수신한다.
다음에, 추출부(643)는, 제5 삼차원 데이터(652)로부터, 요구 범위 정보(633)로 나타내어지는 요구 범위의 삼차원 데이터를 추출함으로써, 제5 삼차원 데이터(652)를 제6 삼차원 데이터(654)로 가공한다. 다음에, 부호화부(644)는, 제6 삼차원 데이터(654)를 부호화함으로써, 부호화 스트림인 부호화 삼차원 데이터(634)를 생성한다. 그리고, 송신부(645)는, 자차량에 부호화 삼차원 데이터(634)를 송신한다.
또한, 여기에서는, 자차량이 삼차원 데이터 작성 장치(620)를 구비하고, 주변 차량이 삼차원 데이터 송신 장치(640)를 구비하는 예를 설명하지만, 각 차량이, 삼차원 데이터 작성 장치(620)와 삼차원 데이터 송신 장치(640)의 기능을 가져도 된다.
(실시 형태 4)
본 실시 형태에서는, 삼차원 맵에 의거한 자기 위치 추정에 있어서의 이상계(異常系)의 동작에 대해서 설명한다.
차의 자동 운전, 또는, 로봇, 혹은 드론 등의 비행체 등의 이동체를 자율적으로 이동시키는 등의 용도가 향후 확대될 것으로 예상된다. 이러한 자율적인 이동을 실현하는 수단의 일례로서, 이동체가, 삼차원 맵 내에 있어서의 자신의 위치를 추정(자기 위치 추정)하면서, 맵에 따라 주행하는 방법이 있다.
자기 위치 추정은, 삼차원 맵과, 자차에 탑재한 레인지 파인더(LiDAR 등) 또는 스테레오 카메라 등의 센서에 의해 취득한 자차 주변의 삼차원 정보(이후, 자차 검지 삼차원 데이터)를 매칭하여, 삼차원 맵 내의 자차 위치를 추정함으로써 실현할 수 있다.
삼차원 맵은, HERE사가 제창하는 HD맵 등과 같이, 삼차원의 포인트 클라우드뿐만 아니라, 도로 및 교차점의 형상 정보 등 이차원의 지도 데이터, 또는, 정체 및 사고 등의 실시간으로 변화하는 정보를 포함해도 된다. 삼차원 데이터, 이차원 데이터, 실시간으로 변화하는 메타 데이터 등 복수의 레이어로 삼차원 맵이 구성되고, 장치는, 필요한 데이터만을 취득, 또는, 참조하는 것도 가능하다.
포인트 클라우드의 데이터는, 상술한 SWLD여도 되고, 특징점이 아닌 점군 데이터를 포함해도 된다. 또한, 포인트 클라우드의 데이터의 송수신은, 하나, 또는, 복수의 랜덤 액세스 단위를 기본으로 하여 행해진다.
삼차원 맵과 자차 검지 삼차원 데이터의 매칭 방법으로서 이하의 방법을 사용할 수 있다. 예를 들면, 장치는, 서로의 포인트 클라우드에 있어서의 점군의 형상을 비교하여, 특징점간의 유사도가 높은 부위가 동일 위치라고 결정한다. 또한, 장치는, 삼차원 맵이 SWLD로 구성되는 경우, SWLD를 구성하는 특징점과, 자차 검지 삼차원 데이터로부터 추출한 삼차원 특징점을 비교하여 매칭을 행한다.
여기서, 고정밀도로 자기 위치 추정을 행하기 위해서는, (A) 삼차원 맵과 자차 검지 삼차원 데이터를 취득할 수 있으며, 또한, (B) 그들 정밀도가 미리 정해진 기준을 만족시키는 것이 필요하게 된다. 그러나, 이하와 같은 이상 케이스에서는, (A) 또는 (B)를 만족시킬 수 없다.
(1) 삼차원 맵을 통신 경유로 취득할 수 없다.
(2) 삼차원 맵이 존재하지 않거나, 또는, 삼차원 맵을 취득하였지만 파손되어 있다.
(3) 자차의 센서가 고장나 있거나, 또는, 악천후 때문에, 자차 검지 삼차원 데이터의 생성 정밀도가 충분하지 않다.
이들 이상 케이스에 대처하기 위한 동작을, 이하에서 설명한다. 이하에서는, 차를 예로 동작을 설명하지만, 이하의 수법은, 로봇 또는 드론 등, 자율적으로 이동하는 동물체 전반에 대하여 적용할 수 있다.
이하, 삼차원 맵 또는 자차 검지 삼차원 데이터에 있어서의 이상 케이스에 대응하기 위한, 본 실시 형태에 따른 삼차원 정보 처리 장치의 구성 및 동작을 설명한다. 도 26은, 본 실시 형태에 따른 삼차원 정보 처리 장치(700)의 구성예를 나타내는 블럭도이다.
삼차원 정보 처리 장치(700)는, 예를 들면, 자동차 등의 동물체에 탑재된다. 도 26에 나타내는 바와 같이, 삼차원 정보 처리 장치(700)는, 삼차원 맵 취득부(701), 자차 검지 데이터 취득부(702), 이상 케이스 판정부(703), 대처 동작 결정부(704), 동작 제어부(705)를 구비한다.
또한, 삼차원 정보 처리 장치(700)는, 이차원 화상을 취득하는 카메라, 또는, 초음파 혹은 레이저를 사용한 일차원 데이터의 센서 등, 자차 주변의 구조물 또는 동물체를 검지하기 위한 도시하지 않은 이차원 또는 일차원의 센서를 구비해도 된다. 또한, 삼차원 정보 처리 장치(700)는, 삼차원 맵을 4G 혹은 5G 등의 이동체 통신망, 또는, 차와 차간 통신 혹은 도로와 차간 통신에 의해 취득하기 위한 통신부(도시하지 않음)를 구비해도 된다.
삼차원 맵 취득부(701)는, 주행 경로 근방의 삼차원 맵(711)을 취득한다. 예를 들면, 삼차원 맵 취득부(701)는, 이동체 통신망, 또는, 차와 차간 통신 혹은 도로와 차간 통신에 의해 삼차원 맵(711)을 취득한다.
다음에, 자차 검지 데이터 취득부(702)는, 센서 정보에 의거하여 자차 검지 삼차원 데이터(712)를 취득한다. 예를 들면, 자차 검지 데이터 취득부(702)는, 자차가 구비하는 센서에 의해 취득된 센서 정보에 의거하여, 자차 검지 삼차원 데이터(712)를 생성한다.
다음에, 이상 케이스 판정부(703)는, 취득한 삼차원 맵(711) 및 자차 검지 삼차원 데이터(712) 중 적어도 한쪽에 대하여 미리 정해진 체크를 실시함으로써 이상 케이스를 검출한다. 즉, 이상 케이스 판정부(703)는, 취득한 삼차원 맵(711) 및 자차 검지 삼차원 데이터(712) 중 적어도 한쪽이 비정상인지를 판정한다.
이상 케이스가 검출된 경우, 대처 동작 결정부(704)는, 이상 케이스에 대한 대처 동작을 결정한다. 다음에, 동작 제어부(705)는, 삼차원 맵 취득부(701) 등, 대처 동작의 실시에 필요한 각 처리부의 동작을 제어한다.
한편, 이상 케이스가 검출되지 않는 경우, 삼차원 정보 처리 장치(700)는, 처리를 종료한다.
또한, 삼차원 정보 처리 장치(700)는, 삼차원 맵(711)과 자차 검지 삼차원 데이터(712)를 사용하여, 삼차원 정보 처리 장치(700)를 갖는 차량의 자기 위치 추정을 행한다. 다음에, 삼차원 정보 처리 장치(700)는, 자기 위치 추정의 결과를 사용하여, 당해 차량을 자동 운전한다.
이와 같이, 삼차원 정보 처리 장치(700)는, 제1 삼차원 위치 정보를 포함하는 맵 데이터(삼차원 맵(711))를 통신로를 통해 취득한다. 예를 들면, 제1 삼차원 위치 정보는, 삼차원의 좌표 정보를 갖는 부분 공간을 단위로 하여 부호화되고, 각각이 1 이상의 부분 공간의 집합체이며, 각각을 독립적으로 복호 가능한 복수의 랜덤 액세스 단위를 포함한다. 예를 들면, 제1 삼차원 위치 정보는, 삼차원의 특징량이 소정의 역치 이상이 되는 특징점이 부호화된 데이터(SWLD)이다.
또한, 삼차원 정보 처리 장치(700)는, 센서로 검지한 정보로부터 제2 삼차원 위치 정보(자차 검지 삼차원 데이터(712))를 생성한다. 다음에, 삼차원 정보 처리 장치(700)는, 제1 삼차원 위치 정보 또는 제2 삼차원 위치 정보에 대하여 이상 판정 처리를 실시함으로써, 제1 삼차원 위치 정보 또는 상기 제2 삼차원 위치 정보가 비정상인지의 여부를 판정한다.
삼차원 정보 처리 장치(700)는, 제1 삼차원 위치 정보 또는 제2 삼차원 위치 정보가 비정상이라고 판정된 경우, 당해 이상에 대한 대처 동작을 결정한다. 다음에, 삼차원 정보 처리 장치(700)는, 대처 동작의 실시에 필요한 제어를 실시한다.
이에 의해, 삼차원 정보 처리 장치(700)는, 제1 삼차원 위치 정보 또는 제2 삼차원 위치 정보의 이상을 검지하고, 대처 동작을 행할 수 있다.
(실시 형태 5)
본 실시 형태에서는, 후속 차량에의 삼차원 데이터 송신 방법 등에 대해서 설명한다.
도 27은, 본 실시 형태에 따른 삼차원 데이터 작성 장치(810)의 구성예를 나타내는 블럭도이다. 이 삼차원 데이터 작성 장치(810)는, 예를 들면, 차량에 탑재된다. 삼차원 데이터 작성 장치(810)는, 외부의 교통 감시 클라우드, 전주(前走) 차량 또는 후속 차량과 삼차원 데이터의 송수신을 행함과 더불어, 삼차원 데이터를 작성 및 축적한다.
삼차원 데이터 작성 장치(810)는, 데이터 수신부(811), 통신부(812), 수신 제어부(813), 포맷 변환부(814), 복수의 센서(815), 삼차원 데이터 작성부(816), 삼차원 데이터 합성부(817), 삼차원 데이터 축적부(818), 통신부(819), 송신 제어부(820), 포맷 변환부(821), 데이터 송신부(822)를 구비한다.
데이터 수신부(811)는, 교통 감시 클라우드 또는 전주 차량으로부터 삼차원 데이터(831)를 수신한다. 삼차원 데이터(831)는, 예를 들면, 자차량의 센서(815)로 검지 불가능한 영역을 포함하는, 포인트 클라우드, 가시광 영상, 깊이 정보, 센서 위치 정보, 또는 속도 정보 등의 정보를 포함한다.
통신부(812)는, 교통 감시 클라우드 또는 전주 차량과 통신하여, 데이터 송신 요구 등을 교통 감시 클라우드 또는 전주 차량에 송신한다.
수신 제어부(813)는, 통신부(812)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신처와의 통신을 확립한다.
포맷 변환부(814)는, 데이터 수신부(811)가 수신한 삼차원 데이터(831)에 포맷 변환 등을 행함으로써 삼차원 데이터(832)를 생성한다. 또한, 포맷 변환부(814)는, 삼차원 데이터(831)가 압축 또는 부호화되어 있는 경우에는, 신장 또는 복호 처리를 행한다.
복수의 센서(815)는, LiDAR, 가시광 카메라 또는 적외선 카메라 등의, 차량 외부의 정보를 취득하는 센서군이며, 센서 정보(833)를 생성한다. 예를 들면, 센서 정보(833)는, 센서(815)가 LiDAR 등의 레이저 센서인 경우, 포인트 클라우드(점군 데이터) 등의 삼차원 데이터이다. 또한, 센서(815)는 복수가 아니어도 된다.
삼차원 데이터 작성부(816)는, 센서 정보(833)로부터 삼차원 데이터(834)를 생성한다. 삼차원 데이터(834)는, 예를 들면, 포인트 클라우드, 가시광 영상, 깊이 정보, 센서 위치 정보, 또는 속도 정보 등의 정보를 포함한다.
삼차원 데이터 합성부(817)는, 자차량의 센서 정보(833)에 의거하여 작성된 삼차원 데이터(834)에, 교통 감시 클라우드 또는 전주 차량 등이 작성한 삼차원 데이터(832)를 합성함으로써, 자차량의 센서(815)에서는 검지할 수 없는 전주 차량의 전방 공간도 포함하는 삼차원 데이터(835)를 구축한다.
삼차원 데이터 축적부(818)는, 생성된 삼차원 데이터(835) 등을 축적한다.
통신부(819)는, 교통 감시 클라우드 또는 후속 차량과 통신하여, 데이터 송신 요구 등을 교통 감시 클라우드 또는 후속 차량에 송신한다.
송신 제어부(820)는, 통신부(819)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신처와 통신을 확립한다. 또한, 송신 제어부(820)는, 삼차원 데이터 합성부(817)에서 생성된 삼차원 데이터(832)의 삼차원 데이터 구축 정보와, 통신처로부터의 데이터 송신 요구에 의거하여, 송신 대상의 삼차원 데이터의 공간인 송신 영역을 결정한다.
구체적으로는, 송신 제어부(820)는, 교통 감시 클라우드 또는 후속 차량으로부터의 데이터 송신 요구에 따라, 후속 차량의 센서에서는 검지할 수 없는 자차량의 전방 공간을 포함하는 송신 영역을 결정한다. 또한, 송신 제어부(820)는, 삼차원 데이터 구축 정보에 의거하여 송신 가능한 공간 또는 송신 완료 공간의 갱신 유무 등을 판단함으로써 송신 영역을 결정한다. 예를 들면, 송신 제어부(820)는, 데이터 송신 요구로 지정된 영역이며, 또한, 대응하는 삼차원 데이터(835)가 존재하는 영역을 송신 영역으로 결정한다. 그리고, 송신 제어부(820)는, 통신처가 대응하는 포맷, 및 송신 영역을 포맷 변환부(821)에 통지한다.
포맷 변환부(821)는, 삼차원 데이터 축적부(818)에 축적되어 있는 삼차원 데이터(835) 중, 송신 영역의 삼차원 데이터(836)를, 수신측이 대응하고 있는 포맷으로 변환함으로써 삼차원 데이터(837)를 생성한다. 또한, 포맷 변환부(821)는, 삼차원 데이터(837)를 압축 또는 부호화함으로써 데이터량을 삭감해도 된다.
데이터 송신부(822)는, 삼차원 데이터(837)를 교통 감시 클라우드 또는 후속 차량에 송신한다. 이 삼차원 데이터(837)는, 예를 들면, 후속 차량의 사각이 되는 영역을 포함하는, 자차량의 전방의 포인트 클라우드, 가시광 영상, 깊이 정보, 또는 센서 위치 정보 등의 정보를 포함한다.
또한, 여기에서는, 포맷 변환부(814 및 821)에서 포맷 변환 등이 행해지는 예를 기술했지만, 포맷 변환은 행해지지 않아도 된다.
이러한 구성에 의해, 삼차원 데이터 작성 장치(810)는, 자차량의 센서(815)에서는 검지할 수 없는 영역의 삼차원 데이터(831)를 외부로부터 취득하고, 삼차원 데이터(831)와 자차량의 센서(815)로 검지한 센서 정보(833)에 의거한 삼차원 데이터(834)를 합성함으로써 삼차원 데이터(835)를 생성한다. 이에 의해, 삼차원 데이터 작성 장치(810)는, 자차량의 센서(815)로 검지할 수 없는 범위의 삼차원 데이터를 생성할 수 있다.
또한, 삼차원 데이터 작성 장치(810)는, 교통 감시 클라우드 또는 후속 차량으로부터의 데이터 송신 요구에 따라, 후속 차량의 센서에서는 검지할 수 없는 자차량의 전방 공간을 포함하는 삼차원 데이터를, 교통 감시 클라우드 또는 후속 차량 등에 송신할 수 있다.
(실시 형태 6)
실시 형태 5에 있어서, 차량 등의 클라이언트 장치가, 다른 차량 또는 교통 감시 클라우드 등의 서버에 삼차원 데이터를 송신하는 예를 설명하였다. 본 실시 형태에서는, 클라이언트 장치는, 서버 또는 다른 클라이언트 장치에 센서로 얻어진 센서 정보를 송신한다.
우선, 본 실시 형태에 따른 시스템의 구성을 설명한다. 도 28은, 본 실시 형태에 따른 삼차원 맵 및 센서 정보의 송수신 시스템의 구성을 나타내는 도면이다. 이 시스템은, 서버(901)와, 클라이언트 장치(902A 및 902B)를 포함한다. 또한, 클라이언트 장치(902A 및 902B)를 특별히 구별하지 않는 경우에는, 클라이언트 장치(902)라고도 기재한다.
클라이언트 장치(902)는, 예를 들면, 차량 등의 이동체에 탑재되는 차재 기기이다. 서버(901)는, 예를 들면, 교통 감시 클라우드 등이며, 복수의 클라이언트 장치(902)와 통신 가능하다.
서버(901)는, 클라이언트 장치(902)에, 포인트 클라우드로 구성되는 삼차원 맵을 송신한다. 또한, 삼차원 맵의 구성은 포인트 클라우드에 한정되지 않으며, 메시 구조 등, 다른 삼차원 데이터를 나타내는 것이어도 된다.
클라이언트 장치(902)는, 서버(901)에, 클라이언트 장치(902)가 취득한 센서 정보를 송신한다. 센서 정보는, 예를 들면, LiDAR 취득 정보, 가시광 화상, 적외 화상, 뎁스 화상, 센서 위치 정보 및 속도 정보 중 적어도 하나를 포함한다.
서버(901)와 클라이언트 장치(902)의 사이에서 송수신되는 데이터는, 데이터 삭감을 위해서 압축되어도 되고, 데이터의 정밀도를 유지하기 위해서 비압축인 채여도 상관없다. 데이터를 압축하는 경우, 포인트 클라우드에는 예를 들면 8진 트리 구조에 의거한 삼차원 압축 방식을 사용할 수 있다. 또한, 가시광 화상, 적외 화상, 및 뎁스 화상에는 이차원의 화상 압축 방식을 사용할 수 있다. 이차원의 화상 압축 방식이란, 예를 들면, MPEG로 규격화된 MPEG-4 AVC 또는 HEVC 등이다.
또한, 서버(901)는, 클라이언트 장치(902)로부터의 삼차원 맵의 송신 요구에 따라 서버(901)에서 관리하는 삼차원 맵을 클라이언트 장치(902)에 송신한다. 또한, 서버(901)는 클라이언트 장치(902)로부터의 삼차원 맵의 송신 요구를 기다리지 않고 삼차원 맵을 송신해도 된다. 예를 들면, 서버(901)는, 미리 정해진 공간에 있는 하나 이상의 클라이언트 장치(902)에 삼차원 맵을 브로드캐스트해도 상관없다. 또한, 서버(901)는, 한 번 송신 요구를 받은 클라이언트 장치(902)에, 일정 시간마다 클라이언트 장치(902)의 위치에 적합한 삼차원 맵을 송신해도 된다. 또한, 서버(901)는, 서버(901)가 관리하는 삼차원 맵이 갱신될 때마다 클라이언트 장치(902)에 삼차원 맵을 송신해도 된다.
클라이언트 장치(902)는, 서버(901)에 삼차원 맵의 송신 요구를 보낸다. 예를 들면, 클라이언트 장치(902)가, 주행시에 자기 위치 추정을 행하고자 하는 경우에, 클라이언트 장치(902)는, 삼차원 맵의 송신 요구를 서버(901)에 송신한다.
또한, 다음과 같은 경우에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다. 클라이언트 장치(902)가 유지하는 삼차원 맵이 오래된 경우에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다. 예를 들면, 클라이언트 장치(902)가 삼차원 맵을 취득하고 나서 일정 기간이 경과한 경우에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다.
클라이언트 장치(902)가 유지하는 삼차원 맵으로 나타내어지는 공간으로부터, 클라이언트 장치(902)가 밖으로 나오는 일정 시각 전에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다. 예를 들면, 클라이언트 장치(902)가, 클라이언트 장치(902)가 유지하는 삼차원 맵으로 나타내어지는 공간의 경계로부터 미리 정해진 거리 이내에 존재하는 경우에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다. 또한, 클라이언트 장치(902)의 이동 경로 및 이동 속도를 파악할 수 있는 경우에는, 이들에 의거하여, 클라이언트 장치(902)가 유지하는 삼차원 맵으로 나타내어지는 공간으로부터, 클라이언트 장치(902)가 밖으로 나오는 시각을 예측해도 된다.
클라이언트 장치(902)가 센서 정보로부터 작성한 삼차원 데이터와 삼차원 맵의 위치 맞춤 시의 오차가 일정 이상인 경우에, 클라이언트 장치(902)는 서버(901)에 삼차원 맵의 송신 요구를 보내도 된다.
클라이언트 장치(902)는, 서버(901)로부터 송신된 센서 정보의 송신 요구에 따라, 서버(901)에 센서 정보를 송신한다. 또한, 클라이언트 장치(902)는 서버(901)로부터의 센서 정보의 송신 요구를 기다리지 않고 센서 정보를 서버(901)에 보내도 된다. 예를 들면, 클라이언트 장치(902)는, 한 번 서버(901)로부터 센서 정보의 송신 요구를 얻은 경우, 일정 기간 동안, 정기적으로 센서 정보를 서버(901)에 송신해도 된다. 또한, 클라이언트 장치(902)는, 클라이언트 장치(902)가 센서 정보를 기초로 작성한 삼차원 데이터와, 서버(901)로부터 얻은 삼차원 맵의 위치 맞춤 시의 오차가 일정 이상인 경우, 클라이언트 장치(902) 주변의 삼차원 맵에 변화가 생겼을 가능성이 있다고 판단하고, 그 취지와 센서 정보를 서버(901)에 송신해도 된다.
서버(901)는, 클라이언트 장치(902)에 센서 정보의 송신 요구를 보낸다. 예를 들면, 서버(901)는, 클라이언트 장치(902)로부터, GPS 등의 클라이언트 장치(902)의 위치 정보를 수신한다. 서버(901)는, 클라이언트 장치(902)의 위치 정보에 의거하여, 서버(901)가 관리하는 삼차원 맵에 있어서 정보가 적은 공간에 클라이언트 장치(902)가 가까워지고 있다고 판단한 경우, 새로운 삼차원 맵을 생성하기 위해서 클라이언트 장치(902)에 센서 정보의 송신 요구를 보낸다. 또한, 서버(901)는, 삼차원 맵을 갱신하고자 하는 경우, 적설 시 혹은 재해 시 등의 도로 상황을 확인하고자 하는 경우, 정체 상황, 혹은 사건 사고 상황 등을 확인하고자 하는 경우에, 센서 정보의 송신 요구를 보내도 된다.
또한, 클라이언트 장치(902)는, 서버(901)로부터 수취하는 센서 정보의 송신 요구의 수신 시에 있어서의 통신 상태 또는 대역에 따라, 서버(901)에 송신하는 센서 정보의 데이터량을 설정해도 된다. 서버(901)에 송신하는 센서 정보의 데이터량을 설정한다는 것은, 예를 들면, 당해 데이터 그 자체를 증감시키는 것, 또는 압축 방식을 적절히 선택하는 것이다.
도 29는, 클라이언트 장치(902)의 구성예를 나타내는 블럭도이다. 클라이언트 장치(902)는, 서버(901)로부터 포인트 클라우드 등으로 구성되는 삼차원 맵을 수신하고, 클라이언트 장치(902)의 센서 정보에 의거하여 작성한 삼차원 데이터로부터 클라이언트 장치(902)의 자기 위치를 추정한다. 또한, 클라이언트 장치(902)는, 취득한 센서 정보를 서버(901)에 송신한다.
클라이언트 장치(902)는, 데이터 수신부(1011), 통신부(1012), 수신 제어부(1013), 포맷 변환부(1014), 복수의 센서(1015), 삼차원 데이터 작성부(1016), 삼차원 화상 처리부(1017), 삼차원 데이터 축적부(1018), 포맷 변환부(1019), 통신부(1020), 송신 제어부(1021), 데이터 송신부(1022)를 구비한다.
데이터 수신부(1011)는, 서버(901)로부터 삼차원 맵(1031)을 수신한다. 삼차원 맵(1031)은, WLD 또는 SWLD 등의 포인트 클라우드를 포함하는 데이터이다. 삼차원 맵(1031)에는, 압축 데이터, 및 비압축 데이터 중 어느 쪽이 포함되어 있어도 된다.
통신부(1012)는, 서버(901)와 통신하며, 데이터 송신 요구(예를 들면, 삼차원 맵의 송신 요구) 등을 서버(901)에 송신한다.
수신 제어부(1013)는, 통신부(1012)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신처와의 통신을 확립한다.
포맷 변환부(1014)는, 데이터 수신부(1011)가 수신한 삼차원 맵(1031)에 포맷 변환 등을 행함으로써 삼차원 맵(1032)을 생성한다. 또한, 포맷 변환부(1014)는, 삼차원 맵(1031)이 압축 또는 부호화되어 있는 경우에는, 신장 또는 복호 처리를 행한다. 또한, 포맷 변환부(1014)는, 삼차원 맵(1031)이 비압축 데이터이면, 신장 또는 복호 처리를 행하지 않는다.
복수의 센서(1015)는, LiDAR, 가시광 카메라, 적외선 카메라, 또는 뎁스 센서 등, 클라이언트 장치(902)가 탑재되어 있는 차량의 외부 정보를 취득하는 센서군이며, 센서 정보(1033)를 생성한다. 예를 들면, 센서 정보(1033)는, 센서(1015)가 LiDAR 등의 레이저 센서인 경우, 포인트 클라우드(점군 데이터) 등의 삼차원 데이터이다. 또한, 센서(1015)는 복수가 아니어도 된다.
삼차원 데이터 작성부(1016)는, 센서 정보(1033)에 의거하여 자차량 주변의 삼차원 데이터(1034)를 작성한다. 예를 들면, 삼차원 데이터 작성부(1016)는, LiDAR로 취득한 정보와, 가시광 카메라로 얻어진 가시광 영상을 사용하여 자차량 주변의 색 정보를 갖는 포인트 클라우드 데이터를 작성한다.
삼차원 화상 처리부(1017)는, 수신한 포인트 클라우드 등의 삼차원 맵(1032)과, 센서 정보(1033)로부터 생성한 자차량 주변의 삼차원 데이터(1034)를 사용하여, 자차량의 자기 위치 추정 처리 등을 행한다. 또한, 삼차원 화상 처리부(1017)는, 삼차원 맵(1032)과 삼차원 데이터(1034)를 합성함으로써 자차량 주변의 삼차원 데이터(1035)를 작성하고, 작성한 삼차원 데이터(1035)를 사용하여 자기 위치 추정 처리를 행해도 된다.
삼차원 데이터 축적부(1018)는, 삼차원 맵(1032), 삼차원 데이터(1034) 및 삼차원 데이터(1035) 등을 축적한다.
포맷 변환부(1019)는, 센서 정보(1033)를, 수신측이 대응하고 있는 포맷으로 변환함으로써 센서 정보(1037)를 생성한다. 또한, 포맷 변환부(1019)는, 센서 정보(1037)를 압축 또는 부호화함으로써 데이터량을 삭감해도 된다. 또한, 포맷 변환부(1019)는, 포맷 변환을 할 필요가 없는 경우는 처리를 생략해도 된다. 또한, 포맷 변환부(1019)는, 송신 범위의 지정에 따라 송신하는 데이터량을 제어해도 된다.
통신부(1020)는, 서버(901)와 통신하며, 데이터 송신 요구(센서 정보의 송신 요구) 등을 서버(901)로부터 수신한다.
송신 제어부(1021)는, 통신부(1020)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신을 확립한다.
데이터 송신부(1022)는, 센서 정보(1037)를 서버(901)에 송신한다. 센서 정보(1037)는, 예를 들면, LiDAR로 취득한 정보, 가시광 카메라로 취득한 휘도 화상, 적외선 카메라로 취득한 적외 화상, 뎁스 센서로 취득한 뎁스 화상, 센서 위치 정보, 및 속도 정보 등, 복수의 센서(1015)에 의해 취득한 정보를 포함한다.
다음에, 서버(901)의 구성을 설명한다. 도 30은, 서버(901)의 구성예를 나타내는 블럭도이다. 서버(901)는, 클라이언트 장치(902)로부터 송신된 센서 정보를 수신하고, 수신한 센서 정보에 의거하여 삼차원 데이터를 작성한다. 서버(901)는, 작성한 삼차원 데이터를 사용하여, 서버(901)가 관리하는 삼차원 맵을 갱신한다. 또한, 서버(901)는, 클라이언트 장치(902)로부터의 삼차원 맵의 송신 요구에 따라, 갱신한 삼차원 맵을 클라이언트 장치(902)에 송신한다.
서버(901)는, 데이터 수신부(1111), 통신부(1112), 수신 제어부(1113), 포맷 변환부(1114), 삼차원 데이터 작성부(1116), 삼차원 데이터 합성부(1117), 삼차원 데이터 축적부(1118), 포맷 변환부(1119), 통신부(1120), 송신 제어부(1121), 데이터 송신부(1122)를 구비한다.
데이터 수신부(1111)는, 클라이언트 장치(902)로부터 센서 정보(1037)를 수신한다. 센서 정보(1037)는, 예를 들면, LiDAR로 취득한 정보, 가시광 카메라로 취득한 휘도 화상, 적외선 카메라로 취득한 적외 화상, 뎁스 센서로 취득한 뎁스 화상, 센서 위치 정보, 및 속도 정보 등을 포함한다.
통신부(1112)는, 클라이언트 장치(902)와 통신하며, 데이터 송신 요구(예를 들면, 센서 정보의 송신 요구) 등을 클라이언트 장치(902)에 송신한다.
수신 제어부(1113)는, 통신부(1112)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신을 확립한다.
포맷 변환부(1114)는, 수신한 센서 정보(1037)가 압축 또는 부호화되어 있는 경우에는, 신장 또는 복호 처리를 행함으로써 센서 정보(1132)를 생성한다. 또한, 포맷 변환부(1114)는, 센서 정보(1037)가 비압축 데이터이면, 신장 또는 복호 처리를 행하지 않는다.
삼차원 데이터 작성부(1116)는, 센서 정보(1132)에 의거하여 클라이언트 장치(902) 주변의 삼차원 데이터(1134)를 작성한다. 예를 들면, 삼차원 데이터 작성부(1116)는, LiDAR로 취득한 정보와, 가시광 카메라로 얻어진 가시광 영상을 사용하여 클라이언트 장치(902) 주변의 색 정보를 갖는 클라우드 데이터를 작성한다.
삼차원 데이터 합성부(1117)는, 센서 정보(1132)를 기초로 작성한 삼차원 데이터(1134)를, 서버(901)가 관리하는 삼차원 맵(1135)에 합성함으로써 삼차원 맵(1135)을 갱신한다.
삼차원 데이터 축적부(1118)는, 삼차원 맵(1135) 등을 축적한다.
포맷 변환부(1119)는, 삼차원 맵(1135)을, 수신측이 대응하고 있는 포맷으로 변환함으로써 삼차원 맵(1031)을 생성한다. 또한, 포맷 변환부(1119)는, 삼차원 맵(1135)을 압축 또는 부호화함으로써 데이터량을 삭감해도 된다. 또한, 포맷 변환부(1119)는, 포맷 변환을 할 필요가 없는 경우는 처리를 생략해도 된다. 또한, 포맷 변환부(1119)는, 송신 범위의 지정에 따라 송신하는 데이터량을 제어해도 된다.
통신부(1120)는, 클라이언트 장치(902)와 통신하며, 데이터 송신 요구(삼차원 맵의 송신 요구) 등을 클라이언트 장치(902)로부터 수신한다.
송신 제어부(1121)는, 통신부(1120)를 통해, 대응 포맷 등의 정보를 통신처와 교환하여, 통신을 확립한다.
데이터 송신부(1122)는, 삼차원 맵(1031)을 클라이언트 장치(902)에 송신한다. 삼차원 맵(1031)은, WLD 또는 SWLD 등의 포인트 클라우드를 포함하는 데이터이다. 삼차원 맵(1031)에는, 압축 데이터, 및 비압축 데이터 중 어느 쪽이 포함되어 있어도 된다.
다음에, 클라이언트 장치(902)의 동작 흐름에 대해서 설명한다. 도 31은, 클라이언트 장치(902)에 의한 삼차원 맵 취득 시의 동작을 나타내는 플로차트이다.
우선, 클라이언트 장치(902)는, 서버(901)에 삼차원 맵(포인트 클라우드 등)의 송신을 요구한다(S1001). 이때, 클라이언트 장치(902)는, GPS 등으로 얻어진 클라이언트 장치(902)의 위치 정보를 함께 송신함으로써, 그 위치 정보에 관련된 삼차원 맵의 송신을 서버(901)에 요구해도 된다.
다음에, 클라이언트 장치(902)는, 서버(901)로부터 삼차원 맵을 수신한다(S1002). 수신한 삼차원 맵이 압축 데이터이면, 클라이언트 장치(902)는, 수신한 삼차원 맵을 복호하여 비압축의 삼차원 맵을 생성한다(S1003).
다음에, 클라이언트 장치(902)는, 복수의 센서(1015)로 얻어진 센서 정보(1033)로부터 클라이언트 장치(902) 주변의 삼차원 데이터(1034)를 작성한다(S1004). 다음에, 클라이언트 장치(902)는, 서버(901)로부터 수신한 삼차원 맵(1032)과, 센서 정보(1033)로부터 작성한 삼차원 데이터(1034)를 사용하여 클라이언트 장치(902)의 자기 위치를 추정한다(S1005).
도 32는, 클라이언트 장치(902)에 의한 센서 정보의 송신 시의 동작을 나타내는 플로차트이다. 우선, 클라이언트 장치(902)는, 서버(901)로부터 센서 정보의 송신 요구를 수신한다(S1011). 송신 요구를 수신한 클라이언트 장치(902)는, 센서 정보(1037)를 서버(901)에 송신한다(S1012). 또한, 클라이언트 장치(902)는, 센서 정보(1033)가 복수의 센서(1015)로 얻어진 복수의 정보를 포함하는 경우, 각 정보를, 각 정보에 적합한 압축 방식으로 압축함으로써 센서 정보(1037)를 생성해도 된다.
다음에, 서버(901)의 동작 흐름에 대해서 설명한다. 도 33은, 서버(901)에 의한 센서 정보의 취득 시의 동작을 나타내는 플로차트이다. 우선, 서버(901)는, 클라이언트 장치(902)에 센서 정보의 송신을 요구한다(S1021). 다음에, 서버(901)는, 당해 요구에 따라 클라이언트 장치(902)로부터 송신된 센서 정보(1037)를 수신한다(S1022). 다음에, 서버(901)는, 수신한 센서 정보(1037)를 사용하여 삼차원 데이터(1134)를 작성한다(S1023). 다음에, 서버(901)는, 작성한 삼차원 데이터(1134)를 삼차원 맵(1135)에 반영한다(S1024).
도 34는, 서버(901)에 의한 삼차원 맵의 송신 시의 동작을 나타내는 플로차트이다. 우선, 서버(901)는, 클라이언트 장치(902)로부터 삼차원 맵의 송신 요구를 수신한다(S1031). 삼차원 맵의 송신 요구를 수신한 서버(901)는, 클라이언트 장치(902)에 삼차원 맵(1031)을 송신한다(S1032). 이때, 서버(901)는, 클라이언트 장치(902)의 위치 정보에 맞추어 그 부근의 삼차원 맵을 추출하고, 추출한 삼차원 맵을 송신해도 된다. 또한, 서버(901)는, 포인트 클라우드로 구성되는 삼차원 맵을, 예를 들면 8진 트리 구조에 의한 압축 방식 등을 사용하여 압축하고, 압축 후의 삼차원 맵을 송신해도 된다.
이하, 본 실시 형태의 변형예에 대해서 설명한다.
서버(901)는, 클라이언트 장치(902)로부터 수신한 센서 정보(1037)를 사용하여 클라이언트 장치(902)의 위치 부근의 삼차원 데이터(1134)를 작성한다. 다음에, 서버(901)는, 작성한 삼차원 데이터(1134)와, 서버(901)가 관리하는 동 에어리어의 삼차원 맵(1135)의 매칭을 행함으로써, 삼차원 데이터(1134)와 삼차원 맵(1135)의 차분을 산출한다. 서버(901)는, 차분이 미리 정해진 역치 이상인 경우는, 클라이언트 장치(902)의 주변에서 어떠한 이상이 발생한 것으로 판단한다. 예를 들면, 지진 등의 자연재해에 의해 지반 침하 등이 발생했을 때 등에, 서버(901)가 관리하는 삼차원 맵(1135)과, 센서 정보(1037)를 기초로 작성한 삼차원 데이터(1134)의 사이에 큰 차이가 발생하는 것을 생각할 수 있다.
센서 정보(1037)는, 센서의 종류, 센서의 성능, 및 센서의 제품 번호 중 적어도 하나를 나타내는 정보를 포함해도 된다. 또한, 센서 정보(1037)에, 센서의 성능에 따른 클래스 ID 등이 부가되어도 된다. 예를 들면, 센서 정보(1037)가 LiDAR로 취득된 정보인 경우, 수 mm 단위의 정밀도로 정보를 취득할 수 있는 센서를 클래스 1, 수 cm 단위의 정밀도로 정보를 취득할 수 있는 센서를 클래스 2, 수 m 단위의 정밀도로 정보를 취득할 수 있는 센서를 클래스 3과 같이, 센서의 성능에 식별자를 할당하는 것을 생각할 수 있다. 또한, 서버(901)는, 센서의 성능 정보 등을, 클라이언트 장치(902)의 제품 번호로부터 추정해도 된다. 예를 들면, 클라이언트 장치(902)가 차량에 탑재되어 있는 경우, 서버(901)는, 당해 차량의 차종으로부터 센서의 스펙 정보를 판단해도 된다. 이 경우, 서버(901)는, 차량의 차종의 정보를 사전에 취득하고 있어도 되고, 센서 정보에, 당해 정보가 포함되어도 된다. 또한, 서버(901)는 취득한 센서 정보(1037)를 사용하여, 센서 정보(1037)를 사용하여 작성한 삼차원 데이터(1134)에 대한 보정의 정도를 전환해도 된다. 예를 들면, 센서 성능이 고정밀도(클래스 1)인 경우, 서버(901)는, 삼차원 데이터(1134)에 대한 보정을 행하지 않는다. 센서 성능이 저정밀도(클래스 3)인 경우, 서버(901)는, 삼차원 데이터(1134)에, 센서의 정밀도에 따른 보정을 적용한다. 예를 들면, 서버(901)는, 센서의 정밀도가 낮을수록 보정의 정도(강도)를 강하게 한다.
서버(901)는, 어느 공간에 있는 복수의 클라이언트 장치(902)에 동시에 센서 정보의 송신 요구를 보내도 된다. 서버(901)는, 복수의 클라이언트 장치(902)로부터 복수의 센서 정보를 수신한 경우에, 모든 센서 정보를 삼차원 데이터(1134)의 작성에 사용할 필요는 없으며, 예를 들면, 센서의 성능에 따라, 사용할 센서 정보를 선택해도 된다. 예를 들면, 서버(901)는, 삼차원 맵(1135)을 갱신하는 경우, 수신한 복수의 센서 정보 중에서 고정밀도 센서 정보(클래스 1)를 선별하고, 선별한 센서 정보를 사용하여 삼차원 데이터(1134)를 작성해도 된다.
서버(901)는, 교통 감시 클라우드 등의 서버만으로 한정되지 않으며, 다른 클라이언트 장치(차재)여도 된다. 도 35는, 이 경우의 시스템 구성을 나타내는 도면이다.
예를 들면, 클라이언트 장치(902C)가 근처에 있는 클라이언트 장치(902A)에 센서 정보의 송신 요구를 보내어, 클라이언트 장치(902A)로부터 센서 정보를 취득한다. 그리고, 클라이언트 장치(902C)는, 취득한 클라이언트 장치(902A)의 센서 정보를 사용하여 삼차원 데이터를 작성하고, 클라이언트 장치(902C)의 삼차원 맵을 갱신한다. 이에 의해, 클라이언트 장치(902C)는, 클라이언트 장치(902A)로부터 취득 가능한 공간의 삼차원 맵을, 클라이언트 장치(902C)의 성능을 살려 생성할 수 있다. 예를 들면, 클라이언트 장치(902C)의 성능이 높은 경우에, 이러한 케이스가 발생한다고 생각할 수 있다.
또한, 이 경우, 센서 정보를 제공한 클라이언트 장치(902A)는, 클라이언트 장치(902C)가 생성한 고정밀도 삼차원 맵을 취득할 권리가 주어진다. 클라이언트 장치(902A)는, 그 권리에 따라 클라이언트 장치(902C)로부터 고정밀도 삼차원 맵을 수신한다.
또한, 클라이언트 장치(902C)는 근처에 있는 복수의 클라이언트 장치(902)(클라이언트 장치(902A) 및 클라이언트 장치(902B))에 센서 정보의 송신 요구를 보내도 된다. 클라이언트 장치(902A) 또는 클라이언트 장치(902B)의 센서가 고성능인 경우에는, 클라이언트 장치(902C)는, 이 고성능 센서로 얻어진 센서 정보를 사용하여 삼차원 데이터를 작성할 수 있다.
도 36은, 서버(901) 및 클라이언트 장치(902)의 기능 구성을 나타내는 블럭도이다. 서버(901)는, 예를 들면, 삼차원 맵을 압축 및 복호하는 삼차원 맵 압축/복호 처리부(1201)와, 센서 정보를 압축 및 복호하는 센서 정보 압축/복호 처리부(1202)를 구비한다.
클라이언트 장치(902)는, 삼차원 맵 복호 처리부(1211)와, 센서 정보 압축 처리부(1212)를 구비한다. 삼차원 맵 복호 처리부(1211)는, 압축된 삼차원 맵의 부호화 데이터를 수신하고, 부호화 데이터를 복호하여 삼차원 맵을 취득한다. 센서 정보 압축 처리부(1212)는, 취득한 센서 정보로부터 작성한 삼차원 데이터 대신에, 센서 정보 그 자체를 압축하고, 압축한 센서 정보의 부호화 데이터를 서버(901)에 송신한다. 이 구성에 의해, 클라이언트 장치(902)는, 삼차원 맵(포인트 클라우드 등)을 복호하는 처리를 행하는 처리부(장치 또는 LSI)를 내부에 유지하면 되고, 삼차원 맵(포인트 클라우드 등)의 삼차원 데이터를 압축하는 처리를 행하는 처리부를 내부에 유지할 필요가 없다. 이에 의해, 클라이언트 장치(902)의 비용 및 소비 전력 등을 억제할 수 있다.
이상과 같이, 본 실시 형태에 따른 클라이언트 장치(902)는, 이동체에 탑재되고, 이동체에 탑재된 센서(1015)에 의해 얻어진, 이동체의 주변 상황을 나타내는 센서 정보(1033)로부터, 이동체 주변의 삼차원 데이터(1034)를 작성한다. 클라이언트 장치(902)는, 작성된 삼차원 데이터(1034)를 사용하여 이동체의 자기 위치를 추정한다. 클라이언트 장치(902)는, 취득한 센서 정보(1033)를 서버(901) 또는 다른 이동체(902)에 송신한다.
이에 의하면, 클라이언트 장치(902)는, 센서 정보(1033)를 서버(901) 등에 송신한다. 이에 의해, 삼차원 데이터를 송신하는 경우에 비해, 송신 데이터의 데이터량을 삭감할 수 있을 가능성이 있다. 또한, 삼차원 데이터의 압축 또는 부호화 등의 처리를 클라이언트 장치(902)에서 행할 필요가 없으므로, 클라이언트 장치(902)의 처리량을 삭감할 수 있다. 따라서, 클라이언트 장치(902)는, 전송되는 데이터량의 삭감, 또는, 장치의 구성의 간략화를 실현할 수 있다.
또한, 클라이언트 장치(902)는, 또한, 서버(901)에 삼차원 맵의 송신 요구를 송신하고, 서버(901)로부터 삼차원 맵(1031)을 수신한다. 클라이언트 장치(902)는, 자기 위치의 추정에서는, 삼차원 데이터(1034)와 삼차원 맵(1032)을 사용하여, 자기 위치를 추정한다.
또한, 센서 정보(1033)는, 레이저 센서로 얻어진 정보, 휘도 화상, 적외 화상, 뎁스 화상, 센서의 위치 정보, 및 센서의 속도 정보 중 적어도 하나를 포함한다.
또한, 센서 정보(1033)는, 센서의 성능을 나타내는 정보를 포함한다.
또한, 클라이언트 장치(902)는, 센서 정보(1033)를 부호화 또는 압축하고, 센서 정보의 송신에서는, 부호화 또는 압축 후의 센서 정보(1037)를, 서버(901) 또는 다른 이동체(902)에 송신한다. 이에 의하면, 클라이언트 장치(902)는, 전송되는 데이터량을 삭감할 수 있다.
예를 들면, 클라이언트 장치(902)는, 프로세서와 메모리를 구비하고, 프로세서는, 메모리를 사용하여, 상기의 처리를 행한다.
또한, 본 실시 형태에 따른 서버(901)는, 이동체에 탑재되는 클라이언트 장치(902)와 통신 가능하며, 이동체에 탑재된 센서(1015)에 의해 얻어진, 이동체의 주변 상황을 나타내는 센서 정보(1037)를 클라이언트 장치(902)로부터 수신한다. 서버(901)는, 수신한 센서 정보(1037)로부터, 이동체 주변의 삼차원 데이터(1134)를 작성한다.
이에 의하면, 서버(901)는, 클라이언트 장치(902)로부터 송신된 센서 정보(1037)를 사용하여 삼차원 데이터(1134)를 작성한다. 이에 의해, 클라이언트 장치(902)가 삼차원 데이터를 송신하는 경우에 비해, 송신 데이터의 데이터량을 삭감할 수 있을 가능성이 있다. 또한, 삼차원 데이터의 압축 또는 부호화 등의 처리를 클라이언트 장치(902)에서 행할 필요가 없으므로, 클라이언트 장치(902)의 처리량을 삭감할 수 있다. 따라서, 서버(901)는, 전송되는 데이터량의 삭감, 또는, 장치의 구성의 간략화를 실현할 수 있다.
또한, 서버(901)는, 또한, 클라이언트 장치(902)에 센서 정보의 송신 요구를 송신한다.
또한, 서버(901)는, 또한, 작성된 삼차원 데이터(1134)를 사용하여 삼차원 맵(1135)을 갱신하고, 클라이언트 장치(902)로부터의 삼차원 맵(1135)의 송신 요구에 따라 삼차원 맵(1135)을 클라이언트 장치(902)에 송신한다.
또한, 센서 정보(1037)는, 레이저 센서로 얻어진 정보, 휘도 화상, 적외 화상, 뎁스 화상, 센서의 위치 정보, 및 센서의 속도 정보 중 적어도 하나를 포함한다.
또한, 센서 정보(1037)는, 센서의 성능을 나타내는 정보를 포함한다.
또한, 서버(901)는, 또한, 센서의 성능에 따라, 삼차원 데이터를 보정한다. 이에 의하면, 당해 삼차원 데이터 작성 방법은, 삼차원 데이터의 품질을 향상시킬 수 있다.
또한, 서버(901)는, 센서 정보의 수신에서는, 복수의 클라이언트 장치(902)로부터 복수의 센서 정보(1037)를 수신하고, 복수의 센서 정보(1037)에 포함되는 센서의 성능을 나타내는 복수의 정보에 의거하여, 삼차원 데이터(1134)의 작성에 사용할 센서 정보(1037)를 선택한다. 이에 의하면, 서버(901)는, 삼차원 데이터(1134)의 품질을 향상시킬 수 있다.
또한, 서버(901)는, 수신한 센서 정보(1037)를 복호 또는 신장하고, 복호 또는 신장 후의 센서 정보(1132)로부터, 삼차원 데이터(1134)를 작성한다. 이에 의하면, 서버(901)는, 전송되는 데이터량을 삭감할 수 있다.
예를 들면, 서버(901)는, 프로세서와 메모리를 구비하고, 프로세서는, 메모리를 사용하여, 상기의 처리를 행한다.
(실시 형태 7)
본 실시 형태에서는, 인터 예측 처리를 사용한 삼차원 데이터의 부호화 방법 및 복호 방법에 대해서 설명한다.
도 37은, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(1300)의 블럭도이다. 이 삼차원 데이터 부호화 장치(1300)는, 삼차원 데이터를 부호화함으로써 부호화 신호인 부호화 비트 스트림(이하, 간단히 비트 스트림이라고도 기재한다)을 생성한다. 도 37에 나타내는 바와 같이, 삼차원 데이터 부호화 장치(1300)는, 분할부(1301), 감산부(1302), 변환부(1303), 양자화부(1304), 역양자화부(1305), 역변환부(1306), 가산부(1307), 참조 볼륨 메모리(1308), 인트라 예측부(1309), 참조 스페이스 메모리(1310), 인터 예측부(1311), 예측 제어부(1312), 엔트로피 부호화부(1313)를 구비한다.
분할부(1301)는, 삼차원 데이터에 포함되는 각 스페이스(SPC)를 부호화 단위인 복수의 볼륨(VLM)으로 분할한다. 또한, 분할부(1301)는, 각 볼륨 내의 복셀을 8진 트리 표현화(Octree화)한다. 또한, 분할부(1301)는, 스페이스와 볼륨을 동일 사이즈로 하여, 스페이스를 8진 트리 표현화해도 된다. 또한, 분할부(1301)는, 8진 트리화에 필요한 정보(심도 정보 등)를 비트 스트림의 헤더 등에 부가해도 된다.
감산부(1302)는, 분할부(1301)로부터 출력된 볼륨(부호화 대상 볼륨)과, 후술하는 인트라 예측 또는 인터 예측에 의해 생성되는 예측 볼륨의 차분을 산출하고, 산출된 차분을 예측 잔차로서 변환부(1303)에 출력한다. 도 38은, 예측 잔차의 산출예를 나타내는 도면이다. 또한, 여기서 나타내는 부호화 대상 볼륨 및 예측 볼륨의 비트열은, 예를 들면, 볼륨에 포함되는 삼차원점(예를 들면 포인트 클라우드)의 위치를 나타내는 위치 정보이다.
이하, 8진 트리 표현과 복셀의 스캔 순서에 대해서 설명한다. 볼륨은 8진 트리 구조로 변환(8진 트리화)된 후, 부호화된다. 8진 트리 구조는 노드와 리프로 구성된다. 각 노드는 8개의 노드 또는 리프를 가지며, 각 리프는 복셀(VXL) 정보를 갖는다. 도 39는, 복수의 복셀을 포함하는 볼륨의 구조예를 나타내는 도면이다. 도 40은, 도 39에 나타내는 볼륨을 8진 트리 구조로 변환한 예를 나타내는 도면이다. 여기서, 도 40에 나타내는 리프 중, 리프 1, 2, 3은 각각 도 39에 나타내는 복셀 VXL1, VXL2, VXL3을 나타내고, 점군을 포함하는 VXL(이하, 유효 VXL)을 표현하고 있다.
8진 트리는, 예를 들면 0, 1의 2치열로 표현된다. 예를 들면, 노드 또는 유효 VXL을 값 1, 그 이외를 값 0으로 하면, 각 노드 및 리프에는 도 40에 나타내는 2치열이 할당된다. 그리고, 폭 우선 또는 깊이 우선의 스캔 순서에 따라, 이 2치열이 스캔된다. 예를 들면 폭 우선으로 스캔된 경우, 도 41의 A에 나타내는 2치열이 얻어진다. 깊이 우선으로 스캔한 경우는 도 41의 B에 나타내는 2치열이 얻어진다. 이 스캔에 의해 얻어진 2치열은 엔트로피 부호화에 의해 부호화되어 정보량이 삭감된다.
다음에, 8진 트리 표현에 있어서의 심도 정보에 대해서 설명한다. 8진 트리 표현에 있어서의 심도는, 볼륨 내에 포함되는 포인트 클라우드 정보를, 어느 입도까지 유지할지를 컨트롤하기 위해서 사용된다. 심도를 크게 설정하면, 보다 세세한 레벨까지 포인트 클라우드 정보를 재현할 수 있지만, 노드 및 리프를 표현하기 위한 데이터량이 증가한다. 반대로 심도를 작게 설정하면, 데이터량이 감소하지만, 복수의 상이한 위치 및 색이 상이한 포인트 클라우드 정보가 동일 위치 또한 동일 색인 것으로 간주되기 때문에, 본래의 포인트 클라우드 정보가 갖는 정보를 잃게 된다.
예를 들면, 도 42는, 도 40에 나타내는 심도=2의 8진 트리를, 심도=1의 8진 트리로 표현한 예를 나타내는 도면이다. 도 42에 나타내는 8진 트리는 도 40에 나타내는 8진 트리보다 데이터량이 적어진다. 즉, 도 42에 나타내는 8진 트리는 도 42에 나타내는 8진 트리보다 2치열화 후의 비트수가 적다. 여기서, 도 40에 나타내는 리프 1과 리프 2가 도 41에 나타내는 리프 1로 표현되게 된다. 즉, 도 40에 나타내는 리프 1과 리프 2가 상이한 위치였다는 정보가 없어진다.
도 43은, 도 42에 나타내는 8진 트리에 대응하는 볼륨을 나타내는 도면이다. 도 39에 나타내는 VXL1과 VXL2가 도 43에 나타내는 VXL12에 대응한다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 도 43에 나타내는 VXL12의 색 정보를, 도 39에 나타내는 VXL1과 VXL2의 색 정보로부터 생성한다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, VXL1과 VXL2의 색 정보의 평균값, 중간값, 또는 가중 평균값 등을 VXL12의 색 정보로서 산출한다. 이와 같이, 삼차원 데이터 부호화 장치(1300)는, 8진 트리의 심도를 바꿈으로써, 데이터량의 삭감을 제어해도 된다.
삼차원 데이터 부호화 장치(1300)는, 8진 트리의 심도 정보를, 월드 단위, 스페이스 단위, 및 볼륨 단위 중 어느 단위로 설정해도 상관없다. 또한 그때, 삼차원 데이터 부호화 장치(1300)는, 월드의 헤더 정보, 스페이스의 헤더 정보, 또는 볼륨의 헤더 정보에 심도 정보를 부가해도 된다. 또한, 시간이 상이한 모든 월드, 스페이스, 및 볼륨에서 심도 정보로서 동일한 값을 사용해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 전체 시간의 월드를 관리하는 헤더 정보에 심도 정보를 부가해도 된다.
복셀에 색 정보가 포함되는 경우에는, 변환부(1303)는, 볼륨 내의 복셀의 색 정보의 예측 잔차에 대하여, 직교 변환 등의 주파수 변환을 적용한다. 예를 들면, 변환부(1303)는, 어떤 스캔 순서로 예측 잔차를 스캔함으로써 일차원 배열을 작성한다. 그 후, 변환부(1303)는, 작성한 일차원 배열에 일차원의 직교 변환을 적용함으로써 일차원 배열을 주파수 영역으로 변환한다. 이에 의해, 볼륨 내의 예측 잔차의 값이 가까운 경우에는 저역의 주파수 성분의 값이 커지고, 고역의 주파수 성분의 값이 작아진다. 따라서, 양자화부(1304)에 있어서 보다 효율적으로 부호량을 삭감할 수 있다.
또한, 변환부(1303)는, 일차원이 아니라, 이차원 이상의 직교 변환을 사용해도 된다. 예를 들면, 변환부(1303)는, 어떤 스캔 순서로 예측 잔차를 이차원 배열로 매핑하고, 얻어진 이차원 배열에 이차원 직교 변환을 적용한다. 또한, 변환부(1303)는, 복수의 직교 변환 방식으로부터 사용할 직교 변환 방식을 선택해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 어떤 직교 변환 방식을 사용했는지를 나타내는 정보를 비트 스트림에 부가한다. 또한, 변환부(1303)는, 차원이 다른 복수의 직교 변환 방식으로부터 사용할 직교 변환 방식을 선택해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 어떤 차원의 직교 변환 방식을 사용했는지를 비트 스트림에 부가한다.
예를 들면, 변환부(1303)는, 예측 잔차의 스캔 순서를, 볼륨 내의 8진 트리에 있어서의 스캔 순서(폭 우선 또는 깊이 우선 등)에 맞춘다. 이에 의해, 예측 잔차의 스캔 순서를 나타내는 정보를 비트 스트림에 부가할 필요가 없으므로, 오버헤드를 삭감할 수 있다. 또한, 변환부(1303)는, 8진 트리의 스캔 순서와는 다른 스캔 순서를 적용해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 예측 잔차의 스캔 순서를 나타내는 정보를 비트 스트림에 부가한다. 이에 의해, 삼차원 데이터 부호화 장치(1300)는, 예측 잔차를 효율적으로 부호화할 수 있다. 또한, 삼차원 데이터 부호화 장치(1300)는, 8진 트리의 스캔 순서를 적용하는지의 여부를 나타내는 정보(플래그 등)를 비트 스트림에 부가하고, 8진 트리의 스캔 순서를 적용하지 않는 경우에, 예측 잔차의 스캔 순서를 나타내는 정보를 비트 스트림에 부가해도 된다.
변환부(1303)는, 색 정보의 예측 잔차뿐만 아니라, 복셀이 갖는 그 외의 속성 정보를 변환해도 된다. 예를 들면, 변환부(1303)는, 포인트 클라우드를 LiDAR 등으로 취득했을 때에 얻어지는 반사도 등의 정보를 변환하여, 부호화해도 된다.
변환부(1303)는, 스페이스가 색 정보 등의 속성 정보를 갖지 않는 경우는, 처리를 스킵해도 된다. 또한, 삼차원 데이터 부호화 장치(1300)는, 변환부(1303)의 처리를 스킵하는지의 여부를 나타내는 정보(플래그)를 비트 스트림에 부가해도 된다.
양자화부(1304)는, 변환부(1303)에서 생성된 예측 잔차의 주파수 성분에 대하여, 양자화 제어 파라미터를 사용하여 양자화를 행함으로써 양자화 계수를 생성한다. 이에 의해 정보량이 삭감된다. 생성된 양자화 계수는 엔트로피 부호화부(1313)에 출력된다. 양자화부(1304)는, 양자화 제어 파라미터를, 월드 단위, 스페이스 단위, 또는 볼륨 단위로 제어해도 된다. 그때에는, 삼차원 데이터 부호화 장치(1300)는, 양자화 제어 파라미터를 각각의 헤더 정보 등에 부가한다. 또한, 양자화부(1304)는, 예측 잔차의 주파수 성분마다, 가중치를 바꾸어 양자화 제어를 행해도 된다. 예를 들면, 양자화부(1304)는, 저주파수 성분은 세세하게 양자화하고, 고주파 성분은 성기게 양자화해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 각 주파수 성분의 가중치를 나타내는 파라미터를 헤더에 부가해도 된다.
양자화부(1304)는, 스페이스가 색 정보 등의 속성 정보를 갖지 않는 경우는, 처리를 스킵해도 된다. 또한, 삼차원 데이터 부호화 장치(1300)는, 양자화부(1304)의 처리를 스킵하는지의 여부를 나타내는 정보(플래그)를 비트 스트림에 부가해도 된다.
역양자화부(1305)는, 양자화 제어 파라미터를 사용하여, 양자화부(1304)에서 생성된 양자화 계수에 역양자화를 행함으로써 예측 잔차의 역양자화 계수를 생성하고, 생성한 역양자화 계수를 역변환부(1306)에 출력한다.
역변환부(1306)는, 역양자화부(1305)에서 생성된 역양자화 계수에 대하여 역변환을 적용함으로써 역변환 적용 후 예측 잔차를 생성한다. 이 역변환 적용 후 예측 잔차는, 양자화 후에 생성된 예측 잔차이기 때문에, 변환부(1303)가 출력한 예측 잔차와는 완전하게는 일치하지 않아도 된다.
가산부(1307)는, 역변환부(1306)에서 생성된 역변환 적용 후 예측 잔차와, 양자화 전의 예측 잔차의 생성에 사용된, 후술하는 인트라 예측 또는 인터 예측에 의해 생성된 예측 볼륨을 가산하여 재구성 볼륨을 생성한다. 이 재구성 볼륨은, 참조 볼륨 메모리(1308), 또는, 참조 스페이스 메모리(1310)에 저장된다.
인트라 예측부(1309)는, 참조 볼륨 메모리(1308)에 저장된 인접 볼륨의 속성 정보를 사용하여, 부호화 대상 볼륨의 예측 볼륨을 생성한다. 속성 정보란, 복셀의 색 정보 또는 반사도를 포함한다. 인트라 예측부(1309)는, 부호화 대상 볼륨의 색 정보 또는 반사도의 예측값을 생성한다.
도 44는, 인트라 예측부(1309)의 동작을 설명하기 위한 도면이다. 예를 들면, 인트라 예측부(1309)는, 도 44에 나타내는, 부호화 대상 볼륨(볼륨 idx=3)의 예측 볼륨을, 인접 볼륨(볼륨 idx=0)으로부터 생성한다. 여기서, 볼륨 idx란 스페이스 내의 볼륨에 대해 부가되는 식별자 정보이며, 각 볼륨에 상이한 값이 할당된다. 볼륨 idx의 할당의 순서는 부호화 순서와 동일한 순서여도 되고, 부호화 순서와는 상이한 순서여도 된다. 예를 들면, 인트라 예측부(1309)는, 도 44에 나타내는 부호화 대상 볼륨의 색 정보의 예측값으로서, 인접 볼륨인 볼륨 idx=0 내에 포함되는 복셀의 색 정보의 평균값을 사용한다. 이 경우, 부호화 대상 볼륨 내에 포함되는 각 복셀의 색 정보로부터, 색 정보의 예측값이 차감됨으로써 예측 잔차가 생성된다. 이 예측 잔차에 대하여 변환부(1303) 이후의 처리가 행해진다. 또한, 이 경우, 삼차원 데이터 부호화 장치(1300)는, 인접 볼륨 정보와, 예측 모드 정보를 비트 스트림에 부가한다. 여기서 인접 볼륨 정보란, 예측에 사용한 인접 볼륨을 나타내는 정보이며, 예를 들면, 예측에 사용한 인접 볼륨의 볼륨 idx를 나타낸다. 또한, 예측 모드 정보란, 예측 볼륨의 생성에 사용한 모드를 나타낸다. 모드란, 예를 들면, 인접 볼륨 내의 복셀의 평균값으로부터 예측값을 생성하는 평균값 모드, 또는 인접 볼륨 내의 복셀의 중간값으로부터 예측값을 생성하는 중간값 모드 등이다.
인트라 예측부(1309)는, 예측 볼륨을, 복수의 인접 볼륨으로부터 생성해도 된다. 예를 들면, 도 44에 나타내는 구성에 있어서, 인트라 예측부(1309)는, 볼륨 idx=0의 볼륨으로부터 예측 볼륨 0을 생성하고, 볼륨 idx=1의 볼륨으로부터 예측 볼륨 1을 생성한다. 그리고, 인트라 예측부(1309)는, 예측 볼륨 0과 예측 볼륨 1의 평균을 최종적인 예측 볼륨으로서 생성한다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 예측 볼륨의 생성에 사용한 복수의 볼륨의 복수의 볼륨 idx를 비트 스트림에 부가해도 된다.
도 45는, 본 실시 형태에 따른 인터 예측 처리를 모식적으로 나타내는 도면이다. 인터 예측부(1311)는, 어느 시각 T_Cur의 스페이스(SPC)를, 상이한 시각 T_LX의 부호화 완료 스페이스를 사용하여 부호화(인터 예측)한다. 이 경우, 인터 예측부(1311)는, 상이한 시각 T_LX의 부호화 완료 스페이스에 회전 및 병진 처리를 적용하여 부호화 처리를 행한다.
또한, 삼차원 데이터 부호화 장치(1300)는, 상이한 시각 T_LX의 스페이스에 적용한 회전 및 병진 처리에 관련된 RT 정보를 비트 스트림에 부가한다. 상이한 시각 T_LX란, 예를 들면, 상기 어느 시각 T_Cur보다 전의 시각 T_L0이다. 이때, 삼차원 데이터 부호화 장치(1300)는, 시각 T_L0의 스페이스에 적용한 회전 및 병진 처리에 관련된 RT 정보 RT_L0을 비트 스트림에 부가해도 된다.
또는, 상이한 시각 T_LX란, 예를 들면, 상기 어느 시각 T_Cur보다 후의 시각 T_L1이다. 이때, 삼차원 데이터 부호화 장치(1300)는, 시각 T_L1의 스페이스에 적용한 회전 및 병진 처리에 관련된 RT 정보 RT_L1을 비트 스트림에 부가해도 된다.
또는, 인터 예측부(1311)는, 상이한 시각 T_L0 및 시각 T_L1의 양쪽 모두의 스페이스를 참조하여 부호화(쌍예측)를 행한다. 이 경우에는, 삼차원 데이터 부호화 장치(1300)는, 각각의 스페이스에 적용한 회전 및 병진에 관련된 RT 정보 RT_L0 및 RT_L1의 양쪽 모두를 비트 스트림에 부가해도 된다.
또한, 상기에서는 T_L0을 T_Cur보다 전의 시각, T_L1을 T_Cur보다 후의 시각으로 했지만, 반드시 이에 한정하지 않는다. 예를 들면, T_L0과 T_L1은 모두 T_Cur보다 전의 시각이어도 된다. 또는, T_L0과 T_L1은 모두 T_Cur보다 후의 시각이어도 된다.
또한, 삼차원 데이터 부호화 장치(1300)는, 복수의 상이한 시각의 스페이스를 참조하여 부호화를 행하는 경우에는, 각각의 스페이스에 적용한 회전 및 병진에 관련된 RT 정보를 비트 스트림에 부가해도 된다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 참조하는 복수의 부호화 완료 스페이스를 2개의 참조 리스트(L0 리스트 및 L1 리스트)로 관리한다. L0 리스트 내의 제1 참조 스페이스를 L0R0으로 하고, L0 리스트 내의 제2 참조 스페이스를 L0R1로 하고, L1 리스트 내의 제1 참조 스페이스를 L1R0으로 하고, L1 리스트 내의 제2 참조 스페이스를 L1R1로 한 경우, 삼차원 데이터 부호화 장치(1300)는, L0R0의 RT 정보 RT_L0R0과, L0R1의 RT 정보 RT_L0R1과, L1R0의 RT 정보 RT_L1R0과, L1R1의 RT 정보 RT_L1R1을 비트 스트림에 부가한다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 이들 RT 정보를 비트 스트림의 헤더 등에 부가한다.
또한, 삼차원 데이터 부호화 장치(1300)는, 복수의 상이한 시각의 참조 스페이스를 참조하여 부호화를 행하는 경우, 참조 스페이스마다 회전 및 병진을 적용할지의 여부를 판정한다. 그때, 삼차원 데이터 부호화 장치(1300)는, 참조 스페이스마다 회전 및 병진을 적용하였는지의 여부를 나타내는 정보(RT 적용 플래그 등)를 비트 스트림의 헤더 정보 등에 부가해도 된다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 부호화 대상 스페이스로부터 참조하는 참조 스페이스마다 ICP(Interactive Closest Point) 알고리즘을 사용하여 RT 정보, 및 ICP 에러값을 산출한다. 삼차원 데이터 부호화 장치(1300)는, ICP 에러값이, 미리 정해진 일정값 이하인 경우는, 회전 및 병진을 행할 필요가 없다고 판정하여 RT 적용 플래그를 오프로 설정한다. 한편, 삼차원 데이터 부호화 장치(1300)는, ICP 에러값이 상기 일정값보다 큰 경우는, RT 적용 플래그를 온으로 설정하여, RT 정보를 비트 스트림에 부가한다.
도 46은, RT 정보 및 RT 적용 플래그를 헤더에 부가하는 신택스예를 나타내는 도면이다. 또한, 각 신택스에 할당하는 비트수는, 그 신택스가 취할 수 있는 범위에서 결정해도 된다. 예를 들면, 참조 리스트 L0 내에 포함되는 참조 스페이스 수가 8개인 경우, MaxRefSpc_l0에는 3bit가 할당되어도 된다. 할당하는 비트수를, 각 신택스가 취할 수 있는 값에 따라 가변으로 해도 되고, 취할 수 있는 값에 상관없이 고정으로 해도 된다. 할당하는 비트수를 고정으로 하는 경우는, 삼차원 데이터 부호화 장치(1300)는, 그 고정 비트수를 다른 헤더 정보에 부가해도 된다.
여기서, 도 46에 나타내는, MaxRefSpc_l0은, 참조 리스트 L0 내에 포함되는 참조 스페이스 수를 나타낸다. RT_flag_l0[i]는, 참조 리스트 L0 내의 참조 스페이스 i의 RT 적용 플래그이다. RT_flag_l0[i]가 1인 경우, 참조 스페이스 i에 회전 및 병진이 적용된다. RT_flag_l0[i]가 0인 경우, 참조 스페이스 i에 회전 및 병진이 적용되지 않는다.
R_l0[i] 및 T_l0[i]는, 참조 리스트 L0 내의 참조 스페이스 i의 RT 정보이다. R_l0[i]는, 참조 리스트 L0 내의 참조 스페이스 i의 회전 정보이다. 회전 정보는, 적용된 회전 처리의 내용을 나타내며, 예를 들면, 회전 행렬, 또는 쿼터니언 등이다. T_l0[i]는, 참조 리스트 L0 내의 참조 스페이스 i의 병진 정보이다. 병진 정보는, 적용된 병진 처리의 내용을 나타내며, 예를 들면, 병진 벡터 등이다.
MaxRefSpc_l1은, 참조 리스트 L1 내에 포함되는 참조 스페이스 수를 나타낸다. RT_flag_l1[i]는, 참조 리스트 L1 내의 참조 스페이스 i의 RT 적용 플래그이다. RT_flag_l1[i]가 1인 경우, 참조 스페이스 i에 회전 및 병진이 적용된다. RT_flag_l1[i]가 0인 경우, 참조 스페이스 i에 회전 및 병진이 적용되지 않는다.
R_l1[i] 및 T_l1[i]는, 참조 리스트 L1 내의 참조 스페이스 i의 RT 정보이다. R_l1[i]는, 참조 리스트 L1 내의 참조 스페이스 i의 회전 정보이다. 회전 정보는, 적용된 회전 처리의 내용을 나타내며, 예를 들면, 회전 행렬, 또는 쿼터니언 등이다. T_l1[i]는, 참조 리스트 L1 내의 참조 스페이스 i의 병진 정보이다. 병진 정보는, 적용된 병진 처리의 내용을 나타내며, 예를 들면, 병진 벡터 등이다.
인터 예측부(1311)는, 참조 스페이스 메모리(1310)에 저장된 부호화 완료된 참조 스페이스의 정보를 사용하여 부호화 대상 볼륨의 예측 볼륨을 생성한다. 상술한 바와 같이, 인터 예측부(1311)는, 부호화 대상 볼륨의 예측 볼륨을 생성하기 전에, 부호화 대상 스페이스와 참조 스페이스의 전체적인 위치 관계를 가깝게 하기 위해서, 부호화 대상 스페이스와 참조 스페이스에서 ICP(Interactive Closest Point) 알고리즘을 사용하여 RT 정보를 구한다. 그리고, 인터 예측부(1311)는, 구한 RT 정보를 사용하여 참조 스페이스에 회전 및 병진 처리를 적용함으로써 참조 스페이스 B를 얻는다. 그 후, 인터 예측부(1311)는, 부호화 대상 스페이스 내의 부호화 대상 볼륨의 예측 볼륨을 참조 스페이스 B 내의 정보를 사용하여 생성한다. 여기서, 삼차원 데이터 부호화 장치(1300)는, 참조 스페이스 B를 얻기 위해 사용된 RT 정보를 부호화 대상 스페이스의 헤더 정보 등에 부가한다.
이와 같이, 인터 예측부(1311)는, 참조 스페이스에 회전 및 병진 처리를 적용함으로써 부호화 대상 스페이스와 참조 스페이스의 전체적인 위치 관계를 가깝게 하고 나서, 참조 스페이스의 정보를 사용하여 예측 볼륨을 생성함으로써 예측 볼륨의 정밀도를 향상시킬 수 있다. 또한, 예측 잔차를 억제할 수 있으므로 부호량을 삭감할 수 있다. 또한, 여기에서는, 부호화 대상 스페이스와 참조 스페이스를 사용하여 ICP를 행하는 예를 나타내었지만, 반드시 이에 한정하지 않는다. 예를 들면, 인터 예측부(1311)는, 처리량을 삭감하기 위해서, 복셀 또는 포인트 클라우드 수를 솎아낸 부호화 대상 스페이스, 및, 복셀 또는 포인트 클라우드 수를 솎아낸 참조 스페이스 중 적어도 한쪽을 사용하여 ICP를 행함으로써, RT 정보를 구해도 된다.
또한, 인터 예측부(1311)는, ICP의 결과 얻어지는 ICP 에러값이, 미리 정해진 제1 역치보다 작은 경우, 즉, 예를 들면 부호화 대상 스페이스와 참조 스페이스의 위치 관계가 가까운 경우에는, 회전 및 병진 처리는 필요없다고 판단하고, 회전 및 병진을 행하지 않아도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, RT 정보를 비트 스트림에 부가하지 않음으로써 오버헤드를 억제해도 된다.
또한, 인터 예측부(1311)는, ICP 에러값이, 미리 정해진 제2 역치보다 큰 경우에는, 스페이스간의 형상 변화가 크다고 판단하고, 부호화 대상 스페이스의 모든 볼륨에 인트라 예측을 적용해도 된다. 이하, 인트라 예측을 적용하는 스페이스를 인트라 스페이스라고 부른다. 또한, 제2 역치는 상기 제1 역치보다 큰 값이다. 또한, ICP에 한정하지 않고, 2개의 복셀 집합, 또는, 2개의 포인트 클라우드 집합으로부터 RT 정보를 구하는 방법이면, 어떠한 수법을 적용해도 된다.
또한, 삼차원 데이터에 형상 또는 색 등의 속성 정보가 포함되는 경우에는, 인터 예측부(1311)는, 부호화 대상 스페이스 내의 부호화 대상 볼륨의 예측 볼륨으로서, 예를 들면 참조 스페이스 내에서 부호화 대상 볼륨과 가장 형상 또는 색 등의 속성 정보가 가까운 볼륨을 탐색한다. 또한, 이 참조 스페이스는, 예를 들면, 상술한 회전 및 병진 처리가 행해진 후의 참조 스페이스이다. 인터 예측부(1311)는, 탐색에 의해 얻어진 볼륨(참조 볼륨)으로부터 예측 볼륨을 생성한다. 도 47은, 예측 볼륨의 생성 동작을 설명하기 위한 도면이다. 인터 예측부(1311)는, 도 47에 나타내는 부호화 대상 볼륨(볼륨 idx=0)을, 인터 예측을 사용하여 부호화하는 경우, 참조 스페이스 내의 참조 볼륨을 차례로 스캔하면서, 부호화 대상 볼륨과 참조 볼륨의 차분인 예측 잔차가 가장 작은 볼륨을 탐색한다. 인터 예측부(1311)는, 예측 잔차가 가장 작은 볼륨을 예측 볼륨으로서 선택한다. 부호화 대상 볼륨과 예측 볼륨의 예측 잔차가 변환부(1303) 이후의 처리에 의해 부호화된다. 여기서, 예측 잔차란, 부호화 대상 볼륨의 속성 정보와 예측 볼륨의 속성 정보의 차분이다. 또한, 삼차원 데이터 부호화 장치(1300)는, 예측 볼륨으로서 참조한 참조 스페이스 내의 참조 볼륨의 볼륨 idx를 비트 스트림의 헤더 등에 부가한다.
도 47에 나타내는 예에서는, 참조 스페이스 L0R0의 볼륨 idx=4의 참조 볼륨이 부호화 대상 볼륨의 예측 볼륨으로서 선택된다. 그리고, 부호화 대상 볼륨과 참조 볼륨의 예측 잔차와, 참조 볼륨 idx=4가 부호화되어 비트 스트림에 부가된다.
또한, 여기에서는 속성 정보의 예측 볼륨을 생성하는 예를 설명하였지만, 위치 정보의 예측 볼륨에 대해서도 동일한 처리가 행해져도 된다.
예측 제어부(1312)는, 부호화 대상 볼륨을 인트라 예측, 및 인터 예측 중 어느 것을 사용하여 부호화할지를 제어한다. 여기서, 인트라 예측, 및 인터 예측을 포함하는 모드를 예측 모드라고 부른다. 예를 들면, 예측 제어부(1312)는, 부호화 대상 볼륨을 인트라 예측으로 예측한 경우의 예측 잔차와, 인터 예측으로 예측한 경우의 예측 잔차를 평가값으로서 산출하고, 평가값이 작은 쪽의 예측 모드를 선택한다. 또한, 예측 제어부(1312)는, 인트라 예측의 예측 잔차와 인터 예측의 예측 잔차에, 각각 직교 변환, 양자화, 및, 엔트로피 부호화를 적용함으로써 실제의 부호량을 산출하고, 산출한 부호량을 평가값으로 하여 예측 모드를 선택해도 된다. 또한, 평가값에 예측 잔차 이외의 오버헤드 정보(참조 볼륨 idx 정보 등)를 추가하도록 해도 된다. 또한, 예측 제어부(1312)는, 부호화 대상 스페이스를 인트라 스페이스로 부호화하는 것으로 미리 결정되어 있는 경우에는, 항상 인트라 예측을 선택해도 된다.
엔트로피 부호화부(1313)는, 양자화부(1304)로부터의 입력인 양자화 계수를 가변 길이 부호화함으로써 부호화 신호(부호화 비트 스트림)를 생성한다. 구체적으로는, 엔트로피 부호화부(1313)는, 예를 들면, 양자화 계수를 2치화하고, 얻어진 2치 신호를 산술 부호화한다.
다음에, 삼차원 데이터 부호화 장치(1300)에 의해 생성된 부호화 신호를 복호하는 삼차원 데이터 복호 장치에 대해서 설명한다. 도 48은, 본 실시 형태에 따른 삼차원 데이터 복호 장치(1400)의 블럭도이다. 이 삼차원 데이터 복호 장치(1400)는, 엔트로피 복호부(1401), 역양자화부(1402), 역변환부(1403), 가산부(1404), 참조 볼륨 메모리(1405), 인트라 예측부(1406), 참조 스페이스 메모리(1407), 인터 예측부(1408), 예측 제어부(1409)를 구비한다.
엔트로피 복호부(1401)는, 부호화 신호(부호화 비트 스트림)를 가변 길이 복호한다. 예를 들면, 엔트로피 복호부(1401)는, 부호화 신호를 산술 복호하여 2치 신호를 생성하고, 생성한 2치 신호로부터 양자화 계수를 생성한다.
역양자화부(1402)는, 엔트로피 복호부(1401)로부터 입력된 양자화 계수를, 비트 스트림 등에 부가된 양자화 파라미터를 사용하여 역양자화함으로써 역양자화 계수를 생성한다.
역변환부(1403)는, 역양자화부(1402)로부터 입력된 역양자화 계수를 역변환함으로써 예측 잔차를 생성한다. 예를 들면, 역변환부(1403)는, 역양자화 계수를, 비트 스트림에 부가된 정보에 의거하여 역직교 변환함으로써 예측 잔차를 생성한다.
가산부(1404)는, 역변환부(1403)에서 생성된 예측 잔차와, 인트라 예측 또는 인터 예측에 의해 생성된 예측 볼륨을 가산하여 재구성 볼륨을 생성한다. 이 재구성 볼륨은, 복호 삼차원 데이터로서 출력됨과 더불어, 참조 볼륨 메모리(1405), 또는, 참조 스페이스 메모리(1407)에 저장된다.
인트라 예측부(1406)는, 참조 볼륨 메모리(1405) 내의 참조 볼륨과 비트 스트림에 부가된 정보를 사용하여 인트라 예측에 의해 예측 볼륨을 생성한다. 구체적으로는, 인트라 예측부(1406)는, 비트 스트림에 부가된 인접 볼륨 정보(예를 들면 볼륨 idx)와, 예측 모드 정보를 취득하고, 인접 볼륨 정보로 나타내어지는 인접 볼륨을 사용하여, 예측 모드 정보로 나타내어지는 모드에 의해 예측 볼륨을 생성한다. 또한, 이들 처리의 상세는, 비트 스트림에 부여된 정보가 사용되는 점을 제외하고, 상술한 인트라 예측부(1309)에 의한 처리와 동일하다.
인터 예측부(1408)는, 참조 스페이스 메모리(1407) 내의 참조 스페이스와 비트 스트림에 부가된 정보를 사용하여 인터 예측에 의해 예측 볼륨을 생성한다. 구체적으로는, 인터 예측부(1408)는, 비트 스트림에 부가된 참조 스페이스마다의 RT 정보를 사용하여 참조 스페이스에 대하여 회전 및 병진 처리를 적용하고, 적용 후의 참조 스페이스를 사용하여 예측 볼륨을 생성한다. 또한, 참조 스페이스마다의 RT 적용 플래그가 비트 스트림 내에 존재하는 경우에는, 인터 예측부(1408)는, RT 적용 플래그에 따라 참조 스페이스에 회전 및 병진 처리를 적용한다. 또한, 이들 처리의 상세는, 비트 스트림에 부여된 정보가 사용되는 점을 제외하고, 상술한 인터 예측부(1311)에 의한 처리와 동일하다.
예측 제어부(1409)는, 복호 대상 볼륨을 인트라 예측으로 복호할지, 인터 예측으로 복호할지를 제어한다. 예를 들면, 예측 제어부(1409)는, 비트 스트림에 부가된, 사용하는 예측 모드를 나타내는 정보에 따라 인트라 예측 또는 인터 예측을 선택한다. 또한, 예측 제어부(1409)는, 복호 대상 스페이스를 인트라 스페이스로 복호하는 것으로 미리 결정되어 있는 경우는, 항상 인트라 예측을 선택해도 된다.
이하, 본 실시 형태의 변형예에 대해서 설명한다. 본 실시 형태에서는 스페이스 단위로 회전 및 병진이 적용되는 예를 설명하였지만, 보다 세세한 단위로 회전 및 병진이 적용되어도 된다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 스페이스를 서브 스페이스로 분할하고, 서브 스페이스 단위로 회전 및 병진을 적용해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 서브 스페이스마다 RT 정보를 생성하고, 생성한 RT 정보를 비트 스트림의 헤더 등에 부가한다. 또한, 삼차원 데이터 부호화 장치(1300)는, 부호화 단위인 볼륨 단위로 회전 및 병진을 적용해도 된다. 이 경우, 삼차원 데이터 부호화 장치(1300)는, 부호화 볼륨 단위로 RT 정보를 생성하고, 생성한 RT 정보를 비트 스트림의 헤더 등에 부가한다. 또한, 상기를 조합해도 된다. 즉, 삼차원 데이터 부호화 장치(1300)는, 큰 단위로 회전 및 병진을 적용하고, 그 후, 세세한 단위로 회전 및 병진을 적용해도 된다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 스페이스 단위로 회전 및 병진을 적용하고, 얻어진 스페이스에 포함되는 복수의 볼륨의 각각에 대하여, 서로 다른 회전 및 병진을 적용해도 된다.
또한, 본 실시 형태에서는 참조 스페이스에 회전 및 병진을 적용하는 예를 설명하였지만, 반드시 이에 한정하지 않는다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 예를 들면, 스케일 처리를 적용하여 삼차원 데이터의 크기를 변화시켜도 된다. 또한, 삼차원 데이터 부호화 장치(1300)는, 회전, 병진 및 스케일 중 어느 하나 또는 2개를 적용해도 된다. 또한, 상기와 같이 다단계로 상이한 단위로 처리를 적용하는 경우에는, 각 단위에 적용되는 처리의 종류가 상이해도 된다. 예를 들면, 스페이스 단위에서는 회전 및 병진이 적용되고, 볼륨 단위에서는 병진이 적용되어도 된다.
또한, 이들 변형예에 대해서는, 삼차원 데이터 복호 장치(1400)에 대해서도 동일하게 적용할 수 있다.
이상과 같이, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(1300)는, 이하의 처리를 행한다. 도 48은, 삼차원 데이터 부호화 장치(1300)에 의한 인터 예측 처리의 플로차트이다.
우선, 삼차원 데이터 부호화 장치(1300)는, 대상 삼차원 데이터(예를 들면 부호화 대상 스페이스)와 상이한 시각의 참조 삼차원 데이터(예를 들면 참조 스페이스)에 포함되는 삼차원점의 위치 정보를 사용하여 예측 위치 정보(예를 들면 예측 볼륨)를 생성한다(S1301). 구체적으로는, 삼차원 데이터 부호화 장치(1300)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용함으로써 예측 위치 정보를 생성한다.
또한, 삼차원 데이터 부호화 장치(1300)는, 회전 및 병진 처리를 제1 단위(예를 들면 스페이스)로 행하고, 예측 위치 정보의 생성을 제1 단위보다 세세한 제2 단위(예를 들면 볼륨)로 행해도 된다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 회전 및 병진 처리 후의 참조 스페이스에 포함되는 복수의 볼륨 중, 부호화 대상 스페이스에 포함되는 부호화 대상 볼륨과 위치 정보의 차이가 최소가 되는 볼륨을 탐색하고, 얻어진 볼륨을 예측 볼륨으로서 사용한다. 또한, 삼차원 데이터 부호화 장치(1300)는, 회전 및 병진 처리와, 예측 위치 정보의 생성을 동일한 단위로 행해도 된다.
또한, 삼차원 데이터 부호화 장치(1300)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 제1 단위(예를 들면 스페이스)로 제1 회전 및 병진 처리를 적용하고, 제1 회전 및 병진 처리에 의해 얻어진 삼차원점의 위치 정보에, 제1 단위보다 세세한 제2 단위(예를 들면 볼륨)로 제2 회전 및 병진 처리를 적용함으로써 예측 위치 정보를 생성해도 된다.
여기서, 삼차원점의 위치 정보 및 예측 위치 정보는, 예를 들면 도 41에 나타내는 바와 같이, 8진 트리 구조로 표현된다. 예를 들면, 삼차원점의 위치 정보 및 예측 위치 정보는, 8진 트리 구조에 있어서의 심도와 폭 중, 폭을 우선한 스캔 순서로 나타내어진다. 또는, 삼차원점의 위치 정보 및 예측 위치 정보는, 8진 트리 구조에 있어서의 심도와 폭 중, 심도를 우선한 스캔 순서로 나타내어진다.
또한, 도 46에 나타내는 바와 같이, 삼차원 데이터 부호화 장치(1300)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용하는지의 여부를 나타내는 RT 적용 플래그를 부호화한다. 즉, 삼차원 데이터 부호화 장치(1300)는, RT 적용 플래그를 포함하는 부호화 신호(부호화 비트 스트림)를 생성한다. 또한, 삼차원 데이터 부호화 장치(1300)는, 회전 및 병진 처리의 내용을 나타내는 RT 정보를 부호화한다. 즉, 삼차원 데이터 부호화 장치(1300)는, RT 정보를 포함하는 부호화 신호(부호화 비트 스트림)를 생성한다. 또한, 삼차원 데이터 부호화 장치(1300)는, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하는 것이 나타내어지는 경우에 RT 정보를 부호화하고, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하지 않는 것이 나타내어지는 경우에 RT 정보를 부호화하지 않아도 된다.
또한, 삼차원 데이터는, 예를 들면, 삼차원점의 위치 정보와, 각 삼차원점의 속성 정보(색 정보 등)를 포함한다. 삼차원 데이터 부호화 장치(1300)는, 참조 삼차원 데이터에 포함되는 삼차원점의 속성 정보를 사용하여 예측 속성 정보를 생성한다(S1302).
다음에, 삼차원 데이터 부호화 장치(1300)는, 대상 삼차원 데이터에 포함되는 삼차원점의 위치 정보를, 예측 위치 정보를 사용하여 부호화한다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 도 38에 나타내는 바와 같이 대상 삼차원 데이터에 포함되는 삼차원점의 위치 정보와 예측 위치 정보의 차분인 차분 위치 정보를 산출한다(S1303).
또한, 삼차원 데이터 부호화 장치(1300)는, 대상 삼차원 데이터에 포함되는 삼차원점의 속성 정보를, 예측 속성 정보를 사용하여 부호화한다. 예를 들면, 삼차원 데이터 부호화 장치(1300)는, 대상 삼차원 데이터에 포함되는 삼차원점의 속성 정보와 예측 속성 정보의 차분인 차분 속성 정보를 산출한다(S1304). 다음에, 삼차원 데이터 부호화 장치(1300)는, 산출된 차분 속성 정보에 변환 및 양자화를 행한다(S1305).
마지막으로, 삼차원 데이터 부호화 장치(1300)는, 차분 위치 정보와, 양자화 후의 차분 속성 정보를 부호화(예를 들면 엔트로피 부호화)한다(S1306). 즉, 삼차원 데이터 부호화 장치(1300)는, 차분 위치 정보와 차분 속성 정보를 포함하는 부호화 신호(부호화 비트 스트림)를 생성한다.
또한, 삼차원 데이터에 속성 정보가 포함되지 않는 경우에는, 삼차원 데이터 부호화 장치(1300)는, 단계 S1302, S1304 및 S1305를 행하지 않아도 된다. 또한, 삼차원 데이터 부호화 장치(1300)는, 삼차원점의 위치 정보의 부호화와, 삼차원점의 속성 정보의 부호화 중 한쪽만을 행해도 된다.
또한, 도 49에 나타내는 처리의 순서는 일례이며, 이에 한정되지 않는다. 예를 들면, 위치 정보에 대한 처리(S1301, S1303)와, 속성 정보에 대한 처리(S1302, S1304, S1305)는 서로 독립되어 있기 때문에, 임의의 순서로 행해져도 되고, 일부가 병렬 처리되어도 된다.
이상에 의해, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(1300)는, 대상 삼차원 데이터와 상이한 시각의 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보를 사용하여 예측 위치 정보를 생성하고, 대상 삼차원 데이터에 포함되는 삼차원점의 위치 정보와 예측 위치 정보의 차분인 차분 위치 정보를 부호화한다. 이에 의해, 부호화 신호의 데이터량을 삭감할 수 있으므로 부호화 효율을 향상시킬 수 있다.
또한, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(1300)는, 참조 삼차원 데이터에 포함되는 삼차원점의 속성 정보를 사용하여 예측 속성 정보를 생성하고, 대상 삼차원 데이터에 포함되는 삼차원점의 속성 정보와 예측 속성 정보의 차분인 차분 속성 정보를 부호화한다. 이에 의해, 부호화 신호의 데이터량을 삭감할 수 있으므로 부호화 효율을 향상시킬 수 있다.
예를 들면, 삼차원 데이터 부호화 장치(1300)는, 프로세서와 메모리를 구비하고, 프로세서는, 메모리를 사용하여, 상기의 처리를 행한다.
도 48은, 삼차원 데이터 복호 장치(1400)에 의한 인터 예측 처리의 플로차트이다.
우선, 삼차원 데이터 복호 장치(1400)는, 부호화 신호(부호화 비트 스트림)로부터, 차분 위치 정보와 차분 속성 정보를 복호(예를 들면 엔트로피 복호)한다(S1401).
또한, 삼차원 데이터 복호 장치(1400)는, 부호화 신호로부터, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용하는지의 여부를 나타내는 RT 적용 플래그를 복호한다. 또한, 삼차원 데이터 복호 장치(1400)는, 회전 및 병진 처리의 내용을 나타내는 RT 정보를 복호한다. 또한, 삼차원 데이터 복호 장치(1400)는, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하는 것이 나타내어지는 경우에 RT 정보를 복호하고, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하지 않는 것이 나타내어지는 경우에 RT 정보를 복호하지 않아도 된다.
다음에, 삼차원 데이터 복호 장치(1400)는, 복호된 차분 속성 정보에 역양자화 및 역변환을 행한다(S1402).
다음에, 삼차원 데이터 복호 장치(1400)는, 대상 삼차원 데이터(예를 들면 복호 대상 스페이스)와 상이한 시각의 참조 삼차원 데이터(예를 들면 참조 스페이스)에 포함되는 삼차원점의 위치 정보를 사용하여 예측 위치 정보(예를 들면 예측 볼륨)를 생성한다(S1403). 구체적으로는, 삼차원 데이터 복호 장치(1400)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용함으로써 예측 위치 정보를 생성한다.
보다 구체적으로는, 삼차원 데이터 복호 장치(1400)는, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하는 것이 나타내어지는 경우에, RT 정보로 나타내어지는 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용한다. 한편, RT 적용 플래그에 의해 회전 및 병진 처리를 적용하지 않는 것이 나타내어지는 경우에는, 삼차원 데이터 복호 장치(1400)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 회전 및 병진 처리를 적용하지 않는다.
또한, 삼차원 데이터 복호 장치(1400)는, 회전 및 병진 처리를 제1 단위(예를 들면 스페이스)로 행하고, 예측 위치 정보의 생성을 제1 단위보다 세세한 제2 단위(예를 들면 볼륨)로 행해도 된다. 또한, 삼차원 데이터 복호 장치(1400)는, 회전 및 병진 처리와, 예측 위치 정보의 생성을 동일한 단위로 행해도 된다.
또한, 삼차원 데이터 복호 장치(1400)는, 참조 삼차원 데이터에 포함되는 삼차원점의 위치 정보에 제1 단위(예를 들면 스페이스)로 제1 회전 및 병진 처리를 적용하고, 제1 회전 및 병진 처리에 의해 얻어진 삼차원점의 위치 정보에, 제1 단위보다 세세한 제2 단위(예를 들면 볼륨)로 제2 회전 및 병진 처리를 적용함으로써 예측 위치 정보를 생성해도 된다.
여기서, 삼차원점의 위치 정보 및 예측 위치 정보는, 예를 들면 도 41에 나타내는 바와 같이, 8진 트리 구조로 표현된다. 예를 들면, 삼차원점의 위치 정보 및 예측 위치 정보는, 8진 트리 구조에 있어서의 심도와 폭 중, 폭을 우선한 스캔 순서로 나타내어진다. 또는, 삼차원점의 위치 정보 및 예측 위치 정보는, 8진 트리 구조에 있어서의 심도와 폭 중, 심도를 우선한 스캔 순서로 나타내어진다.
삼차원 데이터 복호 장치(1400)는, 참조 삼차원 데이터에 포함되는 삼차원점의 속성 정보를 사용하여 예측 속성 정보를 생성한다(S1404).
다음에, 삼차원 데이터 복호 장치(1400)는, 부호화 신호에 포함되는 부호화 위치 정보를 예측 위치 정보를 사용하여 복호함으로써 대상 삼차원 데이터에 포함되는 삼차원점의 위치 정보를 복원한다. 여기서, 부호화 위치 정보란, 예를 들면, 차분 위치 정보이며, 삼차원 데이터 복호 장치(1400)는, 차분 위치 정보와 예측 위치 정보를 가산함으로써 대상 삼차원 데이터에 포함되는 삼차원점의 위치 정보를 복원한다(S1405).
또한, 삼차원 데이터 복호 장치(1400)는, 부호화 신호에 포함되는 부호화 속성 정보를 예측 속성 정보를 사용하여 복호함으로써 대상 삼차원 데이터에 포함되는 삼차원점의 속성 정보를 복원한다. 여기서, 부호화 속성 정보란, 예를 들면, 차분 속성 정보이며, 삼차원 데이터 복호 장치(1400)는, 차분 속성 정보와 예측 속성 정보를 가산함으로써 대상 삼차원 데이터에 포함되는 삼차원점의 속성 정보를 복원한다(S1406).
또한, 삼차원 데이터에 속성 정보가 포함되지 않는 경우에는, 삼차원 데이터 복호 장치(1400)는, 단계 S1402, S1404 및 S1406을 행하지 않아도 된다. 또한, 삼차원 데이터 복호 장치(1400)는, 삼차원점의 위치 정보의 복호와, 삼차원점의 속성 정보의 복호 중 한쪽만을 행해도 된다.
또한, 도 50에 나타내는 처리의 순서는 일례이며, 이에 한정되지 않는다. 예를 들면, 위치 정보에 대한 처리(S1403, S1405)와, 속성 정보에 대한 처리(S1402, S1404, S1406)는 서로 독립되어 있기 때문에, 임의의 순서로 행해져도 되고, 일부가 병렬 처리되어도 된다.
(실시 형태 8)
삼차원점군의 정보는, 위치 정보(geometry)와 속성 정보(attribute)를 포함한다. 위치 정보는, 어느 점을 기준으로 한 좌표(x좌표, y좌표, z좌표)를 포함한다. 위치 정보를 부호화하는 경우는, 각 삼차원점의 좌표를 직접 부호화하는 대신에, 각 삼차원점의 위치를 8진 트리 표현으로 표현하고, 8진 트리의 정보를 부호화함으로써 부호량을 삭감하는 방법이 사용된다.
한편, 속성 정보는, 각 삼차원점의 색 정보(RGB, YUV 등), 반사율, 및 법선 벡터 등을 나타내는 정보를 포함한다. 예를 들면, 삼차원 데이터 부호화 장치는, 속성 정보를, 위치 정보와는 다른 부호화 방법을 사용하여 부호화할 수 있다.
본 실시 형태에서는 속성 정보의 부호화 방법에 대해서 설명한다. 또한, 본 실시 형태에서는 속성 정보의 값으로서 정수값을 사용하여 설명한다. 예를 들면 색 정보 RGB 또는 YUV의 각 색 성분이 8bit 정밀도인 경우, 각 색 성분은 0~255의 정수값을 취한다. 반사율의 값이 10bit 정밀도인 경우, 반사율의 값은 0~1023의 정수값을 취한다. 또한, 삼차원 데이터 부호화 장치는, 속성 정보의 비트 정밀도가 소수 정밀도인 경우, 속성 정보의 값이 정수값이 되도록, 당해 값에 스케일 값을 곱하고 나서 정수값으로 반올림해도 된다. 또한, 삼차원 데이터 부호화 장치는, 이 스케일 값을 비트 스트림의 헤더 등에 부가해도 된다.
삼차원점의 속성 정보의 부호화 방법으로서, 삼차원점의 속성 정보의 예측값을 산출하고, 원래의 속성 정보의 값과 예측값의 차분(예측 잔차)을 부호화하는 것을 생각할 수 있다. 예를 들면, 삼차원점 p의 속성 정보의 값이 Ap이고, 예측값이 Pp인 경우, 삼차원 데이터 부호화 장치는, 그 차분 절대값 Diffp=|Ap-Pp|를 부호화한다. 이 경우, 예측값 Pp를 고정밀도로 생성할 수 있으면, 차분 절대값 Diffp의 값이 작아진다. 따라서, 예를 들면, 값이 작을수록 발생 비트수가 작아지는 부호화 테이블을 사용하여 차분 절대값 Diffp를 엔트로피 부호화함으로써 부호량을 삭감할 수 있다.
속성 정보의 예측값을 생성하는 방법으로서, 부호화 대상의 대상 삼차원점 주위에 있는 다른 삼차원점인 참조 삼차원점의 속성 정보를 사용하는 것을 생각할 수 있다. 여기서 참조 삼차원점이란, 대상 삼차원점으로부터 미리 정해진 거리 범위 내에 있는 삼차원점이다. 예를 들면, 대상 삼차원점 p=(x1, y1, z1)과 삼차원점 q=(x2, y2, z2)가 존재하는 경우, 삼차원 데이터 부호화 장치는, (식 A1)에 나타내는 삼차원점 p와 삼차원점 q의 유클리드 거리 d(p, q)를 산출한다.
Figure pct00001
삼차원 데이터 부호화 장치는, 유클리드 거리 d(p, q)가 미리 정해진 역치 THd보다 작은 경우, 삼차원점 q의 위치가 대상 삼차원점 p의 위치에 가깝다고 판정하고, 대상 삼차원점 p의 속성 정보의 예측값의 생성에 삼차원점 q의 속성 정보의 값을 사용한다고 판정한다. 또한, 거리 산출 방법은 다른 방법이어도 되며, 예를 들면 마하라노비스 거리 등이 사용되어도 된다. 또한, 삼차원 데이터 부호화 장치는, 대상 삼차원점으로부터 미리 정해진 거리 범위 외의 삼차원점을 예측 처리에 사용하지 않는다고 판정해도 된다. 예를 들면, 삼차원점 r이 존재하고, 대상 삼차원 p와 삼차원점 r의 거리 d(p, r)이 역치 THd 이상인 경우, 삼차원 데이터 부호화 장치는, 삼차원점 r을 예측에 사용하지 않는다고 판정해도 된다. 또한, 삼차원 데이터 부호화 장치는, 역치 THd를 나타내는 정보를, 비트 스트림의 헤더 등에 부가해도 된다.
도 51은, 삼차원점의 예를 나타내는 도면이다. 이 예에서는, 대상 삼차원점 p와 삼차원점 q의 거리 d(p, q)가 역치 THd보다 작다. 따라서, 삼차원 데이터 부호화 장치는, 삼차원점 q를 대상 삼차원점 p의 참조 삼차원점으로 판정하고, 대상 삼차원 p의 속성 정보 Ap의 예측값 Pp의 생성에 삼차원점 q의 속성 정보 Aq의 값을 사용한다고 판정한다.
한편, 대상 삼차원점 p와 삼차원점 r의 거리 d(p, r)은, 역치 THd 이상이다. 따라서, 삼차원 데이터 부호화 장치는, 삼차원점 r을 대상 삼차원점 p의 참조 삼차원점이 아니라고 판정하고, 대상 삼차원점 p의 속성 정보 Ap의 예측값 Pp의 생성에 삼차원점 r의 속성 정보 Ar의 값을 사용하지 않는다고 판정한다.
또한, 삼차원 데이터 부호화 장치는, 대상 삼차원점의 속성 정보를 예측값을 사용하여 부호화하는 경우, 이미 속성 정보를 부호화 및 복호 완료한 삼차원점을 참조 삼차원점으로서 사용한다. 마찬가지로, 삼차원 데이터 복호 장치는, 복호 대상의 대상 삼차원점의 속성 정보를 예측값을 사용하여 복호하는 경우, 이미 속성 정보를 복호 완료한 삼차원점을 참조 삼차원점으로서 사용한다. 이에 의해, 부호화 시와 복호 시에 동일한 예측값을 생성할 수 있으므로, 부호화에서 생성한 삼차원점의 비트 스트림을 복호측에서 올바르게 복호할 수 있다.
또한, 삼차원점의 속성 정보를 부호화하는 경우에, 삼차원점의 위치 정보를 사용하여 각 삼차원점을 복수 계층으로 분류하고 나서 부호화하는 것을 생각할 수 있다. 여기서, 분류한 각 계층을 LoD(Level of Detail)라고 부른다. LoD의 생성 방법에 대해서 도 52를 사용하여 설명한다.
우선, 삼차원 데이터 부호화 장치는, 초기점 a0을 선택하고, LoD0에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 a0으로부터의 거리가 LoD0의 역치 Thres_LoD[0]보다 큰 점 a1을 추출하여 LoD0에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 a1로부터의 거리가 LoD0의 역치 Thres_LoD[0]보다 큰 점 a2를 추출하여 LoD0에 할당한다. 이와 같이, 삼차원 데이터 부호화 장치는, LoD0 내의 각 점 사이의 거리가 역치 Thres_LoD[0]보다 커지도록 LoD0을 구성한다.
다음에, 삼차원 데이터 부호화 장치는, 아직 LoD가 미할당된 점 b0을 선택하고, LoD1에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 b0으로부터의 거리가 LoD1의 역치 Thres_LoD[1]보다 크고, LoD가 미할당된 점 b1을 추출하여 LoD1에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 b1로부터의 거리가 LoD1의 역치 Thres_LoD[1]보다 크고, LoD가 미할당된 점 b2를 추출하여 LoD1에 할당한다. 이와 같이, 삼차원 데이터 부호화 장치는, LoD1 내의 각 점 사이의 거리가 역치 Thres_LoD[1]보다 커지도록 LoD1을 구성한다.
다음에, 삼차원 데이터 부호화 장치는, 아직 LoD가 미할당된 점 c0을 선택하고, LoD2에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 c0으로부터의 거리가 LoD2의 역치 Thres_LoD[2]보다 크고, LoD가 미할당된 점 c1을 추출하여 LoD2에 할당한다. 다음에, 삼차원 데이터 부호화 장치는, 점 c1로부터의 거리가 LoD2의 역치 Thres_LoD[2]보다 크고, LoD가 미할당된 점 c2를 추출하여 LoD2에 할당한다. 이와 같이, 삼차원 데이터 부호화 장치는, LoD2 내의 각 점 사이의 거리가 역치 Thres_LoD[2]보다 커지도록 LoD2를 구성한다. 예를 들면, 도 53에 나타내는 바와 같이, 각 LoD의 역치 Thres_LoD[0], Thres_LoD[1], 및 Thres_LoD[2]가 설정된다.
또한, 삼차원 데이터 부호화 장치는, 각 LoD의 역치를 나타내는 정보를, 비트 스트림의 헤더 등에 부가해도 된다. 예를 들면, 도 53에 나타내는 예의 경우, 삼차원 데이터 부호화 장치는, 역치 Thres_LoD[0], Thres_LoD[1], 및 Thres_LoD[2]를 헤더에 부가해도 된다.
또한, 삼차원 데이터 부호화 장치는, LoD의 최하층에 LoD가 미할당된 삼차원점 모두를 할당해도 된다. 이 경우, 삼차원 데이터 부호화 장치는, LoD의 최하층의 역치를 헤더에 부가하지 않음으로써 헤더의 부호량을 삭감할 수 있다. 예를 들면, 도 53에 나타내는 예의 경우, 삼차원 데이터 부호화 장치는, 역치 Thres_LoD[0]과 Thres_LoD[1]을 헤더에 부가하고, Thres_LoD[2]를 헤더에 부가하지 않는다. 이 경우, 삼차원 데이터 복호 장치는, Thres_LoD[2]의 값 0으로 추정해도 된다. 또한, 삼차원 데이터 부호화 장치는, LoD의 계층 수를 헤더에 부가해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, LoD의 계층 수를 사용하여 최하층의 LoD를 판정할 수 있다.
또한, LoD의 각 층의 역치의 값을 도 53에 나타내는 바와 같이 상위층일수록 크게 설정함으로써, 상위층(LoD0에 가까운 층)일수록 삼차원점간의 거리가 떨어진 소점군(sparse)이 되고, 하위층일수록 삼차원점간의 거리가 가까운 밀점군(dense)이 된다. 또한, 도 53에 나타내는 예에서는, LoD0이 최상위층이다.
또한, 각 LoD를 설정할 때의 초기 삼차원점의 선택 방법은, 위치 정보 부호화 시의 부호화 순서에 의존해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, LoD0의 초기점 a0으로서, 위치 정보 부호화 시에 최초로 부호화된 삼차원점을 선택하고, 초기점 a0을 기점으로, 점 a1, 점 a2를 선택하여 LoD0을 구성한다. 그리고, 삼차원 데이터 부호화 장치는, LoD1의 초기점 b0으로서, LoD0에 속해있지 않은 삼차원점 중에서, 가장 빨리 위치 정보가 부호화된 삼차원점을 선택해도 된다. 즉, 삼차원 데이터 부호화 장치는, LoDn의 초기점 n0으로서, LoDn의 상층(LoD0~LoDn-1)에 속해있지 않은 삼차원점 중에서, 가장 빨리 위치 정보가 부호화된 삼차원점을 선택해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호 시에 동일한 초기점 선택 방법을 사용함으로써, 부호화 시와 동일한 LoD를 구성할 수 있으므로, 비트 스트림을 적절히 복호할 수 있다. 구체적으로는, 삼차원 데이터 복호 장치는, LoDn의 초기점 n0으로서, LoDn의 상층에 속해 있지 않은 삼차원점 중에서, 가장 빨리 위치 정보가 복호된 삼차원점을 선택한다.
이하, 삼차원점의 속성 정보의 예측값을, LoD의 정보를 사용하여 생성하는 수법에 대해서 설명한다. 예를 들면, 삼차원 데이터 부호화 장치는, LoD0에 포함되는 삼차원점부터 차례로 부호화하는 경우, LoD1에 포함되는 대상 삼차원점을, LoD0 및 LoD1에 포함되는 부호화 또한 복호 완료(이하, 간단히 「부호화 완료」라고도 기재한다)된 속성 정보를 사용하여 생성한다. 이와 같이, 삼차원 데이터 부호화 장치는, LoDn에 포함되는 삼차원점의 속성 정보의 예측값을, LoDn'(n'<=n)에 포함되는 부호화 완료된 속성 정보를 사용하여 생성한다. 즉, 삼차원 데이터 부호화 장치는, LoDn에 포함되는 삼차원점의 속성 정보의 예측값의 산출에, LoDn의 하층에 포함되는 삼차원점의 속성 정보를 사용하지 않는다.
예를 들면, 삼차원 데이터 부호화 장치는, 삼차원점의 속성 정보의 예측값을, 부호화 대상의 대상 삼차원점 주변의 부호화 완료된 삼차원점 중, N개 이하의 삼차원점의 속성값의 평균을 산출함으로써 생성한다. 또한, 삼차원 데이터 부호화 장치는, N의 값을, 비트 스트림의 헤더 등에 부가해도 된다. 또한, 삼차원 데이터 부호화 장치는, N의 값을 삼차원점마다 변경하고, 삼차원점마다 N의 값을 부가해도 된다. 이에 의해, 삼차원점마다 적절한 N을 선택할 수 있으므로, 예측값의 정밀도를 향상시킬 수 있다. 따라서, 예측 잔차를 작게 할 수 있다. 또한, 삼차원 데이터 부호화 장치는, N의 값을 비트 스트림의 헤더에 부가하고, 비트 스트림 내에서 N의 값을 고정해도 된다. 이에 의해, 삼차원점마다 N의 값을 부호화, 또는 복호할 필요가 없어지므로, 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 부호화 장치는, LoD마다 N의 값을 따로따로 부호화해도 된다. 이에 의해 LoD마다 적절한 N을 선택함으로써 부호화 효율을 향상시킬 수 있다.
또는, 삼차원 데이터 부호화 장치는, 삼차원점의 속성 정보의 예측값을, 주위의 부호화 완료된 N개의 삼차원점의 속성 정보의 가중 평균값에 의해 산출해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 대상 삼차원점과 주위의 N개의 삼차원점의 각각의 거리 정보를 사용하여 가중치를 산출한다.
삼차원 데이터 부호화 장치는, LoD마다 N의 값을 따로따로 부호화하는 경우, 예를 들면 LoD의 상위층일수록 N의 값을 크게 설정하고, 하위층일수록 N의 값을 작게 설정한다. LoD의 상위층에서는 속한 삼차원점간의 거리가 멀어지기 때문에, N의 값을 크게 설정하여 복수의 주위의 삼차원점을 선택하여 평균화함으로써 예측 정밀도를 향상시킬 수 있을 가능성이 있다. 또한, LoD의 하위층에서는 속한 삼차원점간의 거리가 가깝기 때문에, N의 값을 작게 설정하여 평균화의 처리량을 억제하면서, 효율적인 예측을 행하는 것이 가능해진다.
도 54는, 예측값에 사용하는 속성 정보의 예를 나타내는 도면이다. 상술한 바와 같이, LoDN에 포함되는 점 P의 예측값은, LoDN'(N'<=N)에 포함되는 부호화 완료된 주위점 P'를 사용하여 생성된다. 여기서, 주위점 P'는, 점 P와의 거리에 의거하여 선택된다. 예를 들면, 도 54에 나타내는 점 b2의 속성 정보의 예측값은, 점 a0, a1, a2, b0, b1의 속성 정보를 사용하여 생성된다.
상술한 N의 값에 따라, 선택되는 주위점은 변화한다. 예를 들면 N=5의 경우는 점 b2의 주위점으로서 a0, a1, a2, b0, b1이 선택된다. N=4의 경우는 거리 정보를 기초로 점 a0, a1, a2, b1이 선택된다.
예측값은, 거리 의존의 가중 평균에 의해 산출된다. 예를 들면, 도 54에 나타내는 예에서는, 점 a2의 예측값 a2p는, (식 A2) 및 (식 A3)에 나타내는 바와 같이, 점 a0 및 점 a1의 속성 정보의 가중 평균에 의해 산출된다. 또한, Ai는 점 ai의 속성 정보의 값이다.
Figure pct00002
또한, 점 b2의 예측값 b2p는, (식 A4)~(식 A6)에 나타내는 바와 같이, 점 a0, a1, a2, b0, b1의 속성 정보의 가중 평균에 의해 산출된다. 또한, Bi는 점 bi의 속성 정보의 값이다.
Figure pct00003
또한, 삼차원 데이터 부호화 장치는, 삼차원점의 속성 정보의 값과, 주위점으로부터 생성한 예측값의 차분값(예측 잔차)을 산출하고, 산출한 예측 잔차를 양자화해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 예측 잔차를 양자화 스케일(양자화 스텝이라고도 부른다)로 제산함으로써 양자화를 행한다. 이 경우, 양자화 스케일이 작을수록 양자화에 의해 발생할 수 있는 오차(양자화 오차)가 작아진다. 반대로 양자화 스케일이 클수록 양자화 오차는 커진다.
또한, 삼차원 데이터 부호화 장치는, 사용하는 양자화 스케일을 LoD마다 바꾸어도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 상위층일수록 양자화 스케일을 작게 하고, 하위층일수록 양자화 스케일을 크게 한다. 상위층에 속하는 삼차원점의 속성 정보의 값은, 하위층에 속하는 삼차원점의 속성 정보의 예측값으로서 사용될 가능성이 있기 때문에, 상위층의 양자화 스케일을 작게 하여 상위층에서 발생할 수 있는 양자화 오차를 억제하여, 예측값의 정밀도를 높임으로써 부호화 효율을 향상시킬 수 있다. 또한, 삼차원 데이터 부호화 장치는, LoD마다 사용하는 양자화 스케일을 헤더 등에 부가해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 올바르게 양자화 스케일을 복호할 수 있으므로, 비트 스트림을 적절히 복호할 수 있다.
또한, 삼차원 데이터 부호화 장치는, 양자화 후의 예측 잔차인 부호있는 정수값(부호있는 양자화값)을 부호없는 정수값(부호없는 양자화값)으로 변환해도 된다. 이에 의해 예측 잔차를 엔트로피 부호화하는 경우에, 음의 정수의 발생을 고려할 필요가 없어진다. 또한, 삼차원 데이터 부호화 장치는, 반드시 부호있는 정수값을 부호없는 정수값으로 변환할 필요는 없으며, 예를 들면 부호 비트를 별도로 엔트로피 부호화해도 된다.
예측 잔차는, 원래의 값으로부터 예측값을 감산함으로써 산출된다. 예를 들면, 점 a2의 예측 잔차 a2r은, (식 A7)에 나타내는 바와 같이, 점 a2의 속성 정보의 값 A2로부터, 점 a2의 예측값 a2p를 감산함으로써 산출된다. 점 b2의 예측 잔차 b2r은, (식 A8)에 나타내는 바와 같이, 점 b2의 속성 정보의 값 B2로부터, 점 b2의 예측값 b2p를 감산함으로써 산출된다.
a2r=A2-a2p···(식 A7)
b2r=B2-b2p···(식 A8)
또한, 예측 잔차는, QS(양자화 스텝(Quantization Step))로 제산됨으로써 양자화된다. 예를 들면, 점 a2의 양자화값 a2q는, (식 A9)에 의해 산출된다. 점 b2의 양자화값 b2q는, (식 A10)에 의해 산출된다. 여기서, QS_LoD0은, LoD0용 QS이고, QS_LoD1은, LoD1용 QS이다. 즉, LoD에 따라 QS가 변경되어도 된다.
a2q=a2r/QS_LoD0···(식 A9)
b2q=b2r/QS_LoD1···(식 A10)
또한, 삼차원 데이터 부호화 장치는, 이하와 같이, 상기 양자화값인 부호있는 정수값을 부호없는 정수값으로 변환한다. 삼차원 데이터 부호화 장치는, 부호있는 정수값 a2q가 0보다 작은 경우, 부호없는 정수값 a2u를 -1-(2×a2q)로 설정한다. 삼차원 데이터 부호화 장치는, 부호있는 정수값 a2q가 0 이상인 경우, 부호없는 정수값 a2u를 2×a2q로 설정한다.
마찬가지로, 삼차원 데이터 부호화 장치는, 부호있는 정수값 b2q가 0보다 작은 경우, 부호없는 정수값 b2u를 -1-(2×b2q)로 설정한다. 삼차원 데이터 부호화 장치는, 부호있는 정수값 b2q가 0 이상인 경우, 부호없는 정수값 b2u를 2×b2q로 설정한다.
또한, 삼차원 데이터 부호화 장치는, 양자화 후의 예측 잔차(부호없는 정수값)를, 엔트로피 부호화에 의해 부호화해도 된다. 예를 들면 부호없는 정수값을 2치화한 다음, 2치의 산술 부호화를 적용해도 된다.
또한, 이 경우, 삼차원 데이터 부호화 장치는, 예측 잔차의 값에 따라 2치화 방법을 전환해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 예측 잔차 pu가 역치 R_TH보다 작은 경우는, 역치 R_TH를 표현하기 위해 필요한 고정 비트수로 예측 잔차 pu를 2치화한다. 또한, 삼차원 데이터 부호화 장치는, 예측 잔차 pu가 역치 R_TH 이상인 경우는, 역치 R_TH의 2치화 데이터와 (pu-R_TH)의 값을 지수 골룸(Exponential-Golomb) 등을 사용하여 2치화한다.
예를 들면, 삼차원 데이터 부호화 장치는, 역치 R_TH가 63이고, 예측 잔차 pu가 63보다 작은 경우는, 예측 잔차 pu를 6bit로 2치화한다. 또한, 삼차원 데이터 부호화 장치는, 예측 잔차 pu가 63 이상인 경우는, 역치 R_TH의 2치 데이터(111111)와 (pu-63)을 지수 골룸을 사용하여 2치화함으로써 산술 부호화를 행한다.
보다 구체적인 예에서는, 삼차원 데이터 부호화 장치는, 예측 잔차 pu가 32인 경우, 6bit의 2치 데이터(100000)를 생성하고, 이 비트열을 산술 부호화한다. 또한, 삼차원 데이터 부호화 장치는, 예측 잔차 pu가 66인 경우, 역치 R_TH의 2치 데이터(111111)와 값 3(66-63)을 지수 골룸으로 나타낸 비트열(00100)을 생성하고, 이 비트열(111111+00100)을 산술 부호화한다.
이와 같이, 삼차원 데이터 부호화 장치는, 예측 잔차의 크기에 따라 2치화 방법을 전환함으로써, 예측 잔차가 커진 경우의 2치화 비트수의 급격한 증가를 억제하면서 부호화하는 것이 가능해진다. 또한, 삼차원 데이터 부호화 장치는, 역치 R_TH를 비트 스트림의 헤더 등에 부가해도 된다.
예를 들면, 고비트 레이트로 부호화가 행해지는 경우, 즉, 양자화 스케일이 작은 경우, 양자화 오차가 작고 예측 정밀도가 높아지며, 결과적으로 예측 잔차가 커지지 않을 가능성이 있다. 따라서, 이 경우에는, 삼차원 데이터 부호화 장치는, 역치 R_TH를 크게 설정한다. 이에 의해, 역치 R_TH의 2치화 데이터를 부호화할 가능성이 낮아져, 부호화 효율이 향상한다. 반대로, 저비트 레이트로 부호화가 행해지는 경우, 즉, 양자화 스케일이 큰 경우, 양자화 오차가 크고 예측 정밀도가 나빠지며, 결과적으로 예측 잔차가 커질 가능성이 있다. 따라서, 이 경우에는, 삼차원 데이터 부호화 장치는, 역치 R_TH를 작게 설정한다. 이에 의해, 2치화 데이터의 급격한 비트 길이 증가를 방지할 수 있다.
또한, 삼차원 데이터 부호화 장치는, LoD마다 역치 R_TH를 전환하고, LoD마다의 역치 R_TH를 헤더 등에 부가해도 된다. 즉, 삼차원 데이터 부호화 장치는, LoD마다 2치화 방법을 전환해도 된다. 예를 들면, 상위층에서는 삼차원점간의 거리가 멀기 때문에, 예측 정밀도가 나쁘며 결과적으로 예측 잔차가 커질 가능성이 있다. 따라서, 삼차원 데이터 부호화 장치는, 상위층에 대해서는 역치 R_TH를 작게 설정함으로써 2치화 데이터의 급격한 비트 길이 증가를 방지한다. 또한, 하위층에서는 삼차원점간의 거리가 가깝기 때문에, 예측 정밀도가 높으며 결과적으로 예측 잔차가 작아질 가능성이 있다. 따라서, 삼차원 데이터 부호화 장치는, 계층에 대해서는 역치 R_TH를 크게 설정함으로써 부호화 효율을 향상시킨다.
도 55는, 지수 골룸 부호의 일례를 나타내는 도면이며, 2치화 전의 값(다치)과, 2치화 후의 비트(부호)의 관계를 나타내는 도면이다. 또한, 도 55에 나타내는 0과 1을 반전시켜도 된다.
또한, 삼차원 데이터 부호화 장치는, 예측 잔차의 2치화 데이터에 산술 부호화를 적용한다. 이에 의해, 부호화 효율을 향상시킬 수 있다. 또한, 산술 부호화의 적용시에, 2치화 데이터 중, n비트로 2치화한 부분인 n비트 부호(n-bit code)와, 지수 골룸을 사용하여 2치화한 부분인 나머지 부호(remaining code)에서, 각 비트의 0과 1의 출현 확률의 경향은 상이할 가능성이 있다. 따라서, 삼차원 데이터 부호화 장치는, n비트 부호와 나머지 부호에서, 산술 부호화의 적용 방법을 전환해도 된다.
예를 들면, 삼차원 데이터 부호화 장치는, n비트 부호에 대해서는, 비트마다 상이한 부호화 테이블(확률 테이블)을 사용하여 산술 부호화를 행한다. 이때, 삼차원 데이터 부호화 장치는, 비트마다 사용하는 부호화 테이블의 수를 바꾸어도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, n비트 부호의 선두 비트 b0에는 1개의 부호화 테이블을 사용하여 산술 부호화를 행한다. 또한, 삼차원 데이터 부호화 장치는, 다음 비트 b1에 대해서는 2개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 부호화 장치는, b0의 값(0 또는 1)에 따라 비트 b1의 산술 부호화에 사용하는 부호화 테이블을 전환한다. 마찬가지로, 삼차원 데이터 부호화 장치는, 또한 다음 비트 b2에 대해서는 4개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 부호화 장치는, b0 및 b1의 값(0~3)에 따라, 비트 b2의 산술 부호화에 사용하는 부호화 테이블을 전환한다.
이와 같이, 삼차원 데이터 부호화 장치는, n비트 부호의 각 비트 bn-1을 산술 부호화할 때에, 2n-1개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 부호화 장치는, bn-1보다 전의 비트의 값(발생 패턴)에 따라, 사용하는 부호화 테이블을 전환한다. 이에 의해, 삼차원 데이터 부호화 장치는, 비트마다 적절한 부호화 테이블을 사용할 수 있으므로, 부호화 효율을 향상시킬 수 있다.
또한, 삼차원 데이터 부호화 장치는, 각 비트에서 사용하는 부호화 테이블의 수를 삭감해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 각 비트 bn-1을 산술 부호화할 때에, bn-1보다 전의 m비트(m<n-1)의 값(발생 패턴)에 따라 2m개의 부호화 테이블을 전환해도 된다. 이에 의해 각 비트에서 사용하는 부호화 테이블의 수를 억제하면서, 부호화 효율을 향상시킬 수 있다. 또한, 삼차원 데이터 부호화 장치는, 각 부호화 테이블에 있어서의 0과 1의 발생 확률을, 실제로 발생한 2치화 데이터의 값에 따라 갱신해도 된다. 또한, 삼차원 데이터 부호화 장치는, 일부 비트의 부호화 테이블에 있어서의 0과 1의 발생 확률을 고정화해도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제할 수 있으므로 처리량을 삭감할 수 있다.
예를 들면, n비트 부호가 b0b1b2…bn-1인 경우, b0용 부호화 테이블은 1개(CTb0)이다. b1용 부호화 테이블은 2개(CTb10, CTb11)이다. 또한, b0의 값(0~1)에 따라 사용하는 부호화 테이블이 전환된다. b2용 부호화 테이블은, 4개(CTb20, CTb21, CTb22, CTb23)이다. 또한, b0 및 b1의 값(0~3)에 따라 사용하는 부호화 테이블이 전환된다. bn-1용 부호화 테이블은 2n-1개(CTbn0, CTbn1,…CTbn(2n-1-1))이다. 또한, b0b1…bn-2의 값(0~2 n-1-1)에 따라 사용하는 부호화 테이블이 전환된다.
또한, 삼차원 데이터 부호화 장치는, n비트 부호에 대해서는, 2치화하지 않고 0~2n-1의 값을 설정하는 m-ary에 의한 산술 부호화(m=2n)를 적용해도 된다. 또한, 삼차원 데이터 부호화 장치가, n비트 부호를 m-ary로 산술 부호화하는 경우는, 삼차원 데이터 복호 장치도 m-ary의 산술 복호에 의해 n비트 부호를 복원해도 된다.
도 56은, 예를 들면, 나머지 부호가 지수 골룸 부호인 경우의 처리를 설명하기 위한 도면이다. 지수 골룸을 사용하여 2치화한 부분인 나머지 부호는, 도 56에 나타내는 바와 같이 prefix부와 suffix부를 포함한다. 예를 들면, 삼차원 데이터 부호화 장치는, prefix부와 suffix부에서 부호화 테이블을 전환한다. 즉, 삼차원 데이터 부호화 장치는, prefix부에 포함되는 각 비트를, prefix용 부호화 테이블을 사용하여 산술 부호화하고, suffix부에 포함되는 각 비트를, suffix용 부호화 테이블을 사용하여 산술 부호화한다.
또한, 삼차원 데이터 부호화 장치는, 각 부호화 테이블에 있어서의 0과 1의 발생 확률을, 실제로 발생한 2치화 데이터의 값에 따라 갱신해도 된다. 또는, 삼차원 데이터 부호화 장치는, 어느 한쪽의 부호화 테이블에 있어서의 0과 1의 발생 확률을 고정화해도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제할 수 있으므로 처리량을 삭감할 수 있다. 예를 들면, 삼차원 데이터 부호화 장치는, prefix부에 대하여 발생 확률을 갱신하고, suffix부에 대하여 발생 확률을 고정화해도 된다.
또한, 삼차원 데이터 부호화 장치는, 양자화 후의 예측 잔차를, 역양자화 및 재구성함으로써 복호하고, 복호한 예측 잔차인 복호값을 부호화 대상의 삼차원점 이후의 예측에 사용한다. 구체적으로는, 삼차원 데이터 부호화 장치는, 양자화 후의 예측 잔차(양자화값)에 양자화 스케일을 곱함으로써 역양자화값을 산출하고, 역양자화값과 예측값을 가산하여 복호값(재구성값)을 얻는다.
예를 들면, 점 a2의 역양자화값 a2iq는, 점 a2의 양자화값 a2q를 사용하여 (식 A11)에 의해 산출된다. 점 b2의 역양자화값 b2iq는, 점 b2의 양자화값 b2q를 사용하여 (식 A12)에 의해 산출된다. 여기서, QS_LoD0은, LoD0용 QS이고, QS_LoD1은, LoD1용 QS이다. 즉, LoD에 따라 QS가 변경되어도 된다.
a2iq=a2q×QS_LoD0···(식 A11)
b2iq=b2q×QS_LoD1···(식 A12)
예를 들면, 점 a2의 복호값 a2rec는, (식 A13)에 나타내는 바와 같이, 점 a2의 역양자화값 a2iq에, 점 a2의 예측값 a2p를 가산함으로써 산출된다. 점 b2의 복호값 b2rec는, (식 A14)에 나타내는 바와 같이, 점 b2의 역양자화값 b2iq에, 점 b2의 예측값 b2p를 가산함으로써 산출된다.
a2rec=a2iq+a2p···(식 A13)
b2rec=b2iq+b2p···(식 A14)
이하, 본 실시 형태에 따른 비트 스트림의 신택스예를 설명한다. 도 57은, 본 실시 형태에 따른 속성 헤더(attribute_header)의 신택스예를 나타내는 도면이다. 속성 헤더는, 속성 정보의 헤더 정보이다. 도 57에 나타내는 바와 같이, 속성 헤더는, 계층 수 정보(NumLoD), 삼차원점 수 정보(NumOfPoint[i]), 계층 역치(Thres_Lod[i]), 주위 점수 정보(NumNeighorPoint[i]), 예측 역치(THd[i]), 양자화 스케일(QS[i]), 2치화 역치(R_TH[i])를 포함한다.
계층 수 정보(NumLoD)는, 사용되는 LoD의 계층 수를 나타낸다.
삼차원점 수 정보(NumOfPoint[i])는, 계층 i에 속하는 삼차원점의 수를 나타낸다. 또한, 삼차원 데이터 부호화 장치는, 삼차원점의 총수를 나타내는 삼차원점 총수 정보(AllNumOfPoint)를 다른 헤더에 부가해도 된다. 이 경우, 삼차원 데이터 부호화 장치는, 최하층에 속하는 삼차원점의 수를 나타내는 NumOfPoint[NumLoD-1]을 헤더에 부가하지 않아도 된다. 이 경우, 삼차원 데이터 복호 장치는, (식 A15)에 의해 NumOfPoint[NumLoD-1]을 산출할 수 있다. 이에 의해, 헤더의 부호량을 삭감할 수 있다.
Figure pct00004
계층 역치(Thres_Lod[i])는, 계층 i의 설정에 사용되는 역치이다. 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, LoDi 내의 각 점 사이의 거리가 역치 Thres_LoD[i]보다 커지도록 LoDi를 구성한다. 또한, 삼차원 데이터 부호화 장치는, Thres_Lod[NumLoD-1](최하층)의 값을 헤더에 부가하지 않아도 된다. 이 경우, 삼차원 데이터 복호 장치는, Thres_Lod[NumLoD-1]의 값을 0으로 추정한다. 이에 의해 헤더의 부호량을 삭감할 수 있다.
주위 점수 정보(NumNeighorPoint[i])는, 계층 i에 속하는 삼차원점의 예측값의 생성에 사용하는 주위의 점수의 상한값을 나타낸다. 삼차원 데이터 부호화 장치는, 주위의 점수 M이 NumNeighorPoint[i]에 못 미치는 경우(M<NumNeighorPoint[i])는, M개의 주위의 점수를 사용하여 예측값을 산출해도 된다. 또한, 삼차원 데이터 부호화 장치는, 각 LoD에서 NumNeighorPoint[i]의 값을 구분할 필요가 없는 경우는, 모든 LoD에서 사용되는 1개의 주위 점수 정보(NumNeighorPoint)를 헤더에 부가해도 된다.
예측 역치(THd[i])는, 계층 i에서 부호화 또는 복호 대상의 대상 삼차원점의 예측에 사용하는 주위의 삼차원점과 대상 삼차원점의 거리의 상한값을 나타낸다. 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 대상 삼차원점으로부터의 거리가 THd[i]보다 떨어져 있는 삼차원점을 예측에 사용하지 않는다. 또한, 삼차원 데이터 부호화 장치는, 각 LoD에서 THd[i]의 값을 구분할 필요가 없는 경우는, 모든 LoD에서 사용되는 1개의 예측 역치(THd)를 헤더에 부가해도 된다.
양자화 스케일(QS[i])은, 계층 i의 양자화 및 역양자화에서 사용되는 양자화 스케일을 나타낸다.
2치화 역치(R_TH[i])는, 계층 i에 속하는 삼차원점의 예측 잔차의 2치화 방법을 전환하기 위한 역치이다. 예를 들면, 삼차원 데이터 부호화 장치는, 예측 잔차가 역치 R_TH보다 작은 경우는, 고정 비트수로 예측 잔차 pu를 2치화하고, 예측 잔차가 역치 R_TH 이상인 경우는, 역치 R_TH의 2치화 데이터와 (pu-R_TH)의 값을 지수 골룸을 사용하여 2치화한다. 또한, 각 LoD에서 R_TH[i]의 값을 전환할 필요가 없는 경우는, 삼차원 데이터 부호화 장치는, 모든 LoD에서 사용되는 1개의 2치화 역치(R_TH)를 헤더에 부가해도 된다.
또한, R_TH[i]는 nbit로 나타낼 수 있는 최대값이어도 된다. 예를 들면 6bit에서는 R_TH는 63이고, 8bit에서는 R_TH는 255이다. 또한, 삼차원 데이터 부호화 장치는, 2치화 역치로서 nbit로 나타낼 수 있는 최대값을 부호화하는 대신에, 비트수를 부호화해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, R_TH[i]=63의 경우는 값 6을, R_TH[i]=255의 경우는 값 8을 헤더에 부가해도 된다. 또한, 삼차원 데이터 부호화 장치는, R_TH[i]를 나타내는 비트수의 최소값(최소 비트수)을 정의하고, 최소값으로부터의 상대 비트수를 헤더에 부가해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, R_TH[i]=63에서 최소 비트수가 6인 경우는 값 0을 헤더에 부가하고, R_TH[i]=255에서 최소 비트수가 6인 경우는 값 2를 헤더에 부가해도 된다.
또한, 삼차원 데이터 부호화 장치는, NumLoD, Thres_Lod[i], NumNeighborPoint[i], THd[i], QS[i] 및 R_TH[i] 중 적어도 하나를 엔트로피 부호화하여 헤더에 부가해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 각 값을 2치화하여 산술 부호화해도 된다. 또한, 삼차원 데이터 부호화 장치는, 처리량을 억제하기 위해서 각 값을 고정 길이로 부호화해도 된다.
또한, 삼차원 데이터 부호화 장치는, NumLoD, Thres_Lod[i], NumNeighborPoint[i], THd[i], QS[i], 및 R_TH[i] 중 적어도 하나를 헤더에 부가하지 않아도 된다. 예를 들면, 이들 중 적어도 하나의 값이, 규격 등의 profile 또는 level 등으로 규정되어도 된다. 이에 의해 헤더의 비트량을 삭감할 수 있다.
도 58은, 본 실시 형태에 따른 속성 데이터(attribute_data)의 신택스예를 나타내는 도면이다. 이 속성 데이터는, 복수의 삼차원점의 속성 정보의 부호화 데이터를 포함한다. 도 58에 나타내는 바와 같이 속성 데이터는, n비트 부호(n-bit code)와 나머지 부호(remaining code)를 포함한다.
n비트 부호는(n-bit code)는, 속성 정보의 값의 예측 잔차의 부호화 데이터 또는 그 일부이다. n비트 부호의 비트 길이는 R_TH[i]의 값에 의존한다. 예를 들면 R_TH[i]가 나타내는 값이 63인 경우, n비트 부호는 6bit이고, R_TH[i]가 나타내는 값이 255인 경우, n비트 부호는 8bit이다.
나머지 부호(remaining code)는, 속성 정보의 값의 예측 잔차의 부호화 데이터 중, 지수 골룸으로 부호화된 부호화 데이터이다. 이 나머지 부호는, n비트 부호가 R_TH[i]와 동일한 경우에 부호화 또는 복호된다. 또한, 삼차원 데이터 복호 장치는, n비트 부호의 값과 나머지 부호의 값을 가산하여 예측 잔차를 복호한다. 또한, n비트 부호가 R_TH[i]와 동일한 값이 아닌 경우는, 나머지 부호는 부호화 또는 복호되지 않아도 된다.
이하, 삼차원 데이터 부호화 장치에 있어서의 처리의 흐름을 설명한다. 도 59는, 삼차원 데이터 부호화 장치에 의한 삼차원 데이터 부호화 처리의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 위치 정보(geometry)를 부호화한다(S3001). 예를 들면, 삼차원 데이터 부호화는, 8진 트리 표현을 사용하여 부호화를 행한다.
삼차원 데이터 부호화 장치는, 위치 정보의 부호화 후에, 양자화 등에 의해 삼차원점의 위치가 변화한 경우에, 변화 후의 삼차원점에 원래의 삼차원점의 속성 정보를 재할당한다(S3002). 예를 들면, 삼차원 데이터 부호화 장치는, 위치의 변화량에 따라 속성 정보의 값을 보간함으로써 재할당을 행한다. 예를 들면, 삼차원 데이터 부호화 장치는, 변화 후의 삼차원 위치에 가까운 변화 전의 삼차원점을 N개 검출하여, N개의 삼차원점의 속성 정보의 값을 가중 평균한다. 예를 들면, 삼차원 데이터 부호화 장치는, 가중 평균에 있어서, 변화 후의 삼차원 위치로부터 각 N개의 삼차원까지의 거리에 의거하여 가중치를 결정한다. 그리고, 삼차원 데이터 부호화 장치는, 가중 평균에 의해 얻어진 값을 변화 후의 삼차원점의 속성 정보의 값으로 결정한다. 또한, 삼차원 데이터 부호화 장치는, 양자화 등에 의해 2개 이상의 삼차원점이 동일한 삼차원 위치로 변화한 경우는, 그 변화 후의 삼차원점의 속성 정보의 값으로서, 변화 전의 2개 이상의 삼차원점의 속성 정보의 평균값을 할당해도 된다.
다음에, 삼차원 데이터 부호화 장치는, 재할당 후의 속성 정보(Attribute)를 부호화한다(S3003). 예를 들면, 삼차원 데이터 부호화 장치는, 복수 종류의 속성 정보를 부호화하는 경우는, 복수 종류의 속성 정보를 차례로 부호화해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 속성 정보로서, 색과 반사율을 부호화하는 경우는, 색의 부호화 결과 후에 반사율의 부호화 결과를 부가한 비트 스트림을 생성해도 된다. 또한, 비트 스트림에 부가되는 속성 정보의 복수의 부호화 결과의 순서는, 이 순서에 한정하지 않으며, 어떠한 순서여도 된다.
또한, 삼차원 데이터 부호화 장치는, 비트 스트림 내의 각 속성 정보의 부호화 데이터 개시 장소를 나타내는 정보를 헤더 등에 부가해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호가 필요한 속성 정보를 선택적으로 복호할 수 있으므로, 복호가 불필요한 속성 정보의 복호 처리를 생략할 수 있다. 따라서, 삼차원 데이터 복호 장치의 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 부호화 장치는, 복수 종류의 속성 정보를 병렬로 부호화하고, 부호화 결과를 하나의 비트 스트림에 통합해도 된다. 이에 의해, 삼차원 데이터 부호화 장치는, 고속으로 복수 종류의 속성 정보를 부호화할 수 있다.
도 60은, 속성 정보 부호화 처리(S3003)의 플로차트이다. 우선, 삼차원 데이터 부호화 장치는, LoD를 설정한다(S3011). 즉, 삼차원 데이터 부호화 장치는, 각 삼차원점을 복수의 LoD 중 어느 하나에 할당한다.
다음에, 삼차원 데이터 부호화 장치는, LoD 단위의 루프를 개시한다(S3012). 즉, 삼차원 데이터 부호화 장치는, LoD마다 단계 S3013~S3021의 처리를 반복하여 행한다.
다음에, 삼차원 데이터 부호화 장치는, 삼차원점 단위의 루프를 개시한다(S3013). 즉, 삼차원 데이터 부호화 장치는, 삼차원점마다 단계 S3014~S3020의 처리를 반복하여 행한다.
우선, 삼차원 데이터 부호화 장치는, 처리 대상의 대상 삼차원점의 예측값의 산출에 사용할, 대상 삼차원점 주위에 존재하는 삼차원점인 복수의 주위점을 탐색한다(S3014). 다음에, 삼차원 데이터 부호화 장치는, 복수의 주위점의 속성 정보의 값의 가중 평균을 산출하고, 얻어진 값을 예측값 P로 설정한다(S3015). 다음에, 삼차원 데이터 부호화 장치는, 대상 삼차원점의 속성 정보와 예측값의 차분인 예측 잔차를 산출한다(S3016). 다음에, 삼차원 데이터 부호화 장치는, 예측 잔차를 양자화함으로써 양자화값을 산출한다(S3017). 다음에, 삼차원 데이터 부호화 장치는, 양자화값을 산술 부호화한다(S3018).
또한, 삼차원 데이터 부호화 장치는, 양자화값을 역양자화함으로써 역양자화값을 산출한다(S3019). 다음에, 삼차원 데이터 부호화 장치는, 역양자화값에 예측값을 가산함으로써 복호값을 생성한다(S3020). 다음에, 삼차원 데이터 부호화 장치는, 삼차원점 단위의 루프를 종료한다(S3021). 또한, 삼차원 데이터 부호화 장치는, LoD 단위의 루프를 종료한다(S3022).
이하, 상기의 삼차원 데이터 부호화 장치에 의해 생성된 비트 스트림을 복호하는 삼차원 데이터 복호 장치에서의 삼차원 데이터 복호 처리에 대해서 설명한다.
삼차원 데이터 복호 장치는, 삼차원 데이터 부호화 장치에 의해 생성된 비트 스트림 내의 속성 정보의 2치화 데이터를, 삼차원 데이터 부호화 장치와 동일한 방법으로 산술 복호함으로써, 복호된 2치화 데이터를 생성한다. 또한, 삼차원 데이터 부호화 장치에 있어서, n비트로 2치화한 부분(n비트 부호)과, 지수 골룸을 사용하여 2치화한 부분(나머지 부호)에서 산술 부호화의 적용 방법을 전환한 경우는, 삼차원 데이터 복호 장치는, 산술 복호 적용시에, 그에 맞추어 복호를 행한다.
예를 들면, 삼차원 데이터 복호 장치는, n비트 부호의 산술 복호 방법에 있어서, 비트마다 상이한 부호화 테이블(복호 테이블)을 사용하여 산술 복호를 행한다. 이때, 삼차원 데이터 복호 장치는, 비트마다 사용하는 부호화 테이블의 수를 바꾸어도 된다. 예를 들면, n비트 부호의 선두 비트 b0에는 1개의 부호화 테이블을 사용하여 산술 복호를 행한다. 또한, 삼차원 데이터 복호 장치는, 다음 비트 b1에 대해서는 2개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 복호 장치는, b0의 값(0 또는 1)에 따라 비트 b1의 산술 복호에 사용하는 부호화 테이블을 전환한다. 마찬가지로, 삼차원 데이터 복호 장치는, 또한 다음 비트 b2에 대해서는 4개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 복호 장치는, b0 및 b1의 값(0~3)에 따라, 비트 b2의 산술 복호에 사용하는 부호화 테이블을 전환한다.
이와 같이, 삼차원 데이터 복호 장치는, n비트 부호의 각 비트 bn-1을 산술 복호할 때에, 2n-1개의 부호화 테이블을 사용한다. 또한, 삼차원 데이터 복호 장치는, bn-1보다 전의 비트의 값(발생 패턴)에 따라, 사용하는 부호화 테이블을 전환한다. 이에 의해, 삼차원 데이터 복호 장치는, 비트마다 적절한 부호화 테이블을 사용하여 부호화 효율을 향상시킨 비트 스트림을 적절히 복호할 수 있다.
또한, 삼차원 데이터 복호 장치는, 각 비트에서 사용하는 부호화 테이블의 수를 삭감해도 된다. 예를 들면, 삼차원 데이터 복호 장치는, 각 비트 bn-1을 산술 복호할 때에, bn-1보다 전의 m비트(m<n-1)의 값(발생 패턴)에 따라 2m개의 부호화 테이블을 전환해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 각 비트에서 사용하는 부호화 테이블의 수를 억제하면서, 부호화 효율을 향상시킨 비트 스트림을 적절히 복호할 수 있다. 또한, 삼차원 데이터 복호 장치는, 각 부호화 테이블에 있어서의 0과 1의 발생 확률을, 실제로 발생한 2치화 데이터의 값에 따라 갱신해도 된다. 또한, 삼차원 데이터 복호 장치는, 일부 비트의 부호화 테이블에 있어서의 0과 1의 발생 확률을 고정화해도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제할 수 있으므로 처리량을 삭감할 수 있다.
예를 들면, n비트 부호가 b0b1b2…bn-1인 경우, b0용 부호화 테이블은 1개(CTb0)이다. b1용 부호화 테이블은 2개(CTb10, CTb11)이다. 또한, b0의 값(0~1)에 따라 부호화 테이블이 전환된다. b2용 부호화 테이블은 4개(CTb20, CTb21, CTb22, CTb23)이다. 또한, b0 및 b1의 값(0~3)에 따라 부호화 테이블이 전환된다. bn-1용 부호화 테이블은, 2n-1개(CTbn0, CTbn1,…CTbn(2n-1-1))이다. 또한, b0b1…bn-2의 값(0~2n-1-1)에 따라 부호화 테이블이 전환된다.
도 61은, 예를 들면, 나머지 부호가 지수 골룸 부호인 경우의 처리를 설명하기 위한 도면이다. 삼차원 데이터 부호화 장치가 지수 골룸을 사용해 2치화하여 부호화한 부분(나머지 부호)은, 도 61에 나타내는 바와 같이 prefix부와 suffix부를 포함한다. 예를 들면, 삼차원 데이터 복호 장치는, prefix부와 suffix부에서 부호화 테이블을 전환한다. 즉, 삼차원 데이터 복호 장치는, prefix부에 포함되는 각 비트를, prefix용 부호화 테이블을 사용하여 산술 복호하고, suffix부에 포함되는 각 비트를, suffix용 부호화 테이블을 사용하여 산술 복호한다.
또한, 삼차원 데이터 복호 장치는, 각 부호화 테이블에 있어서의 0과 1의 발생 확률을, 복호 시에 발생한 2치화 데이터의 값에 따라 갱신해도 된다. 또는, 삼차원 데이터 복호 장치는, 어느 한쪽의 부호화 테이블에 있어서의 0과 1의 발생 확률을 고정화해도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제할 수 있으므로 처리량을 삭감할 수 있다. 예를 들면, 삼차원 데이터 복호 장치는, prefix부에 대하여 발생 확률을 갱신하고, suffix부에 대하여 발생 확률을 고정화해도 된다.
또한, 삼차원 데이터 복호 장치는, 산술 복호한 예측 잔차의 2치화 데이터를, 삼차원 데이터 부호화 장치에서 사용된 부호화 방법에 맞추어 다치화함으로써 양자화 후의 예측 잔차(부호없는 정수값)를 복호한다. 삼차원 데이터 복호 장치는, 우선 n비트 부호의 2치화 데이터를 산술 복호함으로써 복호한 n비트 부호의 값을 산출한다. 다음에, 삼차원 데이터 복호 장치는, n비트 부호의 값과 R_TH의 값을 비교한다.
삼차원 데이터 복호 장치는, n비트 부호의 값과 R_TH의 값이 일치한 경우, 지수 골룸으로 부호화된 비트가 다음에 존재한다고 판정하고, 지수 골룸으로 부호화된 2치화 데이터인 나머지 부호를 산술 복호한다. 그리고, 삼차원 데이터 복호 장치는, 복호한 나머지 부호로부터, 나머지 부호와 그 값의 관계를 나타내는 역방향 조회 테이블을 사용하여 나머지 부호의 값을 산출한다. 도 62는, 나머지 부호와 그 값의 관계를 나타내는 역방향 조회 테이블의 예를 나타내는 도면이다. 다음에, 삼차원 데이터 복호 장치는, 얻어진 나머지 부호의 값을 R_TH에 가산함으로써 다치화된 양자화 후의 예측 잔차를 얻는다.
한편, 삼차원 데이터 복호 장치는, n비트 부호의 값과 R_TH의 값이 일치하지 않는(R_TH보다 값이 작은) 경우, n비트 부호의 값을 그대로, 다치화된 양자화 후의 예측 잔차로 결정한다. 이에 의해, 삼차원 데이터 복호 장치는, 삼차원 데이터 부호화 장치에서 예측 잔차의 값에 따라 2치화 방법을 전환하여 생성한 비트 스트림을 적절히 복호할 수 있다.
또한, 삼차원 데이터 복호 장치는, 역치 R_TH가 비트 스트림의 헤더 등에 부가되어 있는 경우는, 역치 R_TH의 값을 헤더로부터 복호하고, 복호한 역치 R_TH의 값을 사용하여 복호 방법을 전환해도 된다. 또한, 삼차원 데이터 복호 장치는, LoD마다 역치 R_TH가 헤더 등에 부가되어 있는 경우, LoD마다 복호한 역치 R_TH를 사용하여 복호 방법을 전환한다.
예를 들면, 역치 R_TH가 63이고, 복호한 n비트 부호의 값이 63인 경우, 삼차원 데이터 복호 장치는, 나머지 부호를 지수 골룸에 의해 복호함으로써 나머지 부호의 값을 얻는다. 예를 들면, 도 62에 나타내는 예에서는, 나머지 부호가 00100이고, 나머지 부호의 값으로서 3이 얻어진다. 다음에, 삼차원 데이터 복호 장치는, 역치 R_TH의 값 63과, 나머지 부호의 값 3을 가산함으로써 예측 잔차의 값 66을 얻는다.
또한, 복호한 n비트 부호의 값이 32인 경우, 삼차원 데이터 복호 장치는, n비트 부호의 값 32를 예측 잔차의 값으로 설정한다.
또한, 삼차원 데이터 복호 장치는, 복호한 양자화 후의 예측 잔차를, 예를 들면, 삼차원 데이터 부호화 장치에 있어서의 처리와 반대의 처리에 의해, 부호없는 정수값으로부터 부호있는 정수값으로 변환한다. 이에 의해, 삼차원 데이터 복호 장치는, 예측 잔차를 엔트로피 부호화하는 경우에, 음의 정수의 발생을 고려하지 않고 생성한 비트 스트림을 적절히 복호할 수 있다. 또한, 삼차원 데이터 복호 장치는, 반드시 부호없는 정수값을 부호있는 정수값으로 변환할 필요는 없으며, 예를 들면 부호 비트를 별도로 엔트로피 부호화하여 생성된 비트 스트림을 복호하는 경우는, 부호 비트를 복호해도 된다.
삼차원 데이터 복호 장치는, 부호있는 정수값으로 변환한 양자화 후의 예측 잔차를, 역양자화 및 재구성에 의해 복호함으로써 복호값을 생성한다. 또한, 삼차원 데이터 복호 장치는, 생성한 복호값을, 복호 대상의 삼차원점 이후의 예측에 사용한다. 구체적으로는, 삼차원 데이터 복호 장치는, 양자화 후의 예측 잔차에, 복호한 양자화 스케일을 곱함으로써 역양자화값을 산출하고, 역양자화값과 예측값을 가산하여 복호값을 얻는다.
복호된 부호없는 정수값(부호없는 양자화값)은, 이하의 처리에 의해 부호있는 정수값으로 변환된다. 삼차원 데이터 복호 장치는, 복호된 부호없는 정수값 a2u의 LSB(least significant bit)가 1인 경우, 부호있는 정수값 a2q를 -((a2u+1)>>1)로 설정한다. 삼차원 데이터 복호 장치는, 부호없는 정수값 a2u의 LSB가 1이 아닌 경우, 부호있는 정수값 a2q를 (a2u>>1)로 설정한다.
마찬가지로, 삼차원 데이터 복호 장치는, 복호된 부호없는 정수값 b2u의 LSB가 1인 경우, 부호있는 정수값 b2q를 -((b2u+1)>>1)로 설정한다. 삼차원 데이터 복호 장치는, 부호없는 정수값 n2u의 LSB가 1이 아닌 경우, 부호있는 정수값 b2q를 (b2u>>1)로 설정한다.
또한, 삼차원 데이터 복호 장치에 의한 역양자화 및 재구성 처리의 상세는, 삼차원 데이터 부호화 장치에서의 역양자화 및 재구성 처리와 동일하다.
이하, 삼차원 데이터 복호 장치에 있어서의 처리의 흐름을 설명한다. 도 63은, 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다. 우선, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 위치 정보(geometry)를 복호한다(S3031). 예를 들면, 삼차원 데이터 복호 장치는, 8진 트리 표현을 사용하여 복호를 행한다.
다음에, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 속성 정보(Attribute)를 복호한다(S3032). 예를 들면, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 복호하는 경우는, 복수 종류의 속성 정보를 차례로 복호해도 된다. 예를 들면, 삼차원 데이터 복호 장치는, 속성 정보로서 색과 반사율을 복호하는 경우는, 비트 스트림에 부가되어 있는 순서에 따라, 색의 부호화 결과와 반사율의 부호화 결과를 복호한다. 예를 들면, 비트 스트림에 있어서, 색의 부호화 결과 후에 반사율의 부호화 결과가 부가되어 있는 경우, 삼차원 데이터 복호 장치는, 색의 부호화 결과를 복호하고, 그 후에 반사율의 부호화 결과를 복호한다. 또한, 삼차원 데이터 복호 장치는, 비트 스트림에 부가되는 속성 정보의 부호화 결과를 어떠한 순서로 복호해도 된다.
또한, 삼차원 데이터 복호 장치는, 비트 스트림 내의 각 속성 정보의 부호화 데이터 개시 장소를 나타내는 정보를, 헤더 등을 복호함으로써 취득해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호가 필요한 속성 정보를 선택적으로 복호할 수 있으므로, 복호가 불필요한 속성 정보의 복호 처리를 생략할 수 있다. 따라서, 삼차원 데이터 복호 장치의 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 병렬로 복호하고, 복호 결과를 하나의 삼차원점군에 통합해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 고속으로 복수 종류의 속성 정보를 복호할 수 있다.
도 64는, 속성 정보 복호 처리(S3032)의 플로차트이다. 우선, 삼차원 데이터 복호 장치는, LoD를 설정한다(S3041). 즉, 삼차원 데이터 복호 장치는, 복호된 위치 정보를 갖는 복수의 삼차원점의 각각을 복수의 LoD 중 어느 하나에 할당한다. 예를 들면, 이 할당 방법은, 삼차원 데이터 부호화 장치에서 사용된 할당 방법과 동일한 방법이다.
다음에, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 개시한다(S3042). 즉, 삼차원 데이터 복호 장치는, LoD마다 단계 S3043~S3049의 처리를 반복하여 행한다.
다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 개시한다(S3043). 즉, 삼차원 데이터 복호 장치는, 삼차원점마다 단계 S3044~S3048의 처리를 반복하여 행한다.
우선, 삼차원 데이터 복호 장치는, 처리 대상의 대상 삼차원점의 예측값의 산출에 사용할, 대상 삼차원점 주위에 존재하는 삼차원점인 복수의 주위점을 탐색한다(S3044). 다음에, 삼차원 데이터 복호 장치는, 복수의 주위점의 속성 정보의 값의 가중 평균을 산출하고, 얻어진 값을 예측값 P로 설정한다(S3045). 또한, 이들 처리는 삼차원 데이터 부호화 장치에 있어서의 처리와 동일하다.
다음에, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 양자화값을 산술 복호한다(S3046). 또한, 삼차원 데이터 복호 장치는, 복호한 양자화값을 역양자화함으로써 역양자화값을 산출한다(S3047). 다음에, 삼차원 데이터 복호 장치는, 역양자화값에 예측값을 가산함으로써 복호값을 생성한다(S3048). 다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 종료한다(S3049). 또한, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 종료한다(S3050).
다음에, 본 실시 형태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치의 구성을 설명한다. 도 65는, 본 실시 형태에 따른 삼차원 데이터 부호화 장치(3000)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 부호화 장치(3000)는, 위치 정보 부호화부(3001), 속성 정보 재할당부(3002), 속성 정보 부호화부(3003)를 구비한다.
속성 정보 부호화부(3003)는, 입력점군에 포함되는 복수의 삼차원점의 위치 정보(geometry)를 부호화한다. 속성 정보 재할당부(3002)는, 입력점군에 포함되는 복수의 삼차원점의 속성 정보의 값을, 위치 정보의 부호화 및 복호 결과를 사용하여 재할당한다. 속성 정보 부호화부(3003)는, 재할당된 속성 정보(attribute)를 부호화한다. 또한, 삼차원 데이터 부호화 장치(3000)는, 부호화된 위치 정보 및 부호화된 속성 정보를 포함하는 비트 스트림을 생성한다.
도 66은, 본 실시 형태에 따른 삼차원 데이터 복호 장치(3010)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 복호 장치(3010)는, 위치 정보 복호부(3011)와 속성 정보 복호부(3012)를 포함한다.
위치 정보 복호부(3011)는, 비트 스트림으로부터 복수의 삼차원점의 위치 정보(geometry)를 복호한다. 속성 정보 복호부(3012)는, 비트 스트림으로부터 복수의 삼차원점의 속성 정보(attribute)를 복호한다. 또한, 삼차원 데이터 복호 장치(3010)는, 복호한 위치 정보와 복호한 속성 정보를 결합함으로써 출력점군을 생성한다.
이상과 같이, 본 실시 형태에 따른 삼차원 데이터 부호화 장치는, 도 67에 나타내는 처리를 행한다. 삼차원 데이터 부호화 장치는, 속성 정보를 갖는 삼차원점을 부호화한다. 우선, 삼차원 데이터 부호화 장치는, 삼차원점의 속성 정보의 예측값을 산출한다(S3061). 다음에, 삼차원 데이터 부호화 장치는, 삼차원점의 속성 정보와, 예측값의 차분인 예측 잔차를 산출한다(S3062). 다음에, 삼차원 데이터 부호화 장치는, 예측 잔차를 2치화함으로써 2치 데이터를 생성한다(S3063). 다음에, 삼차원 데이터 부호화 장치는, 2치 데이터를 산술 부호화한다(S3064).
이에 의하면, 삼차원 데이터 부호화 장치는, 속성 정보의 예측 잔차를 산출하고, 또한, 당해 예측 잔차를 2치화 및 산술 부호함으로써, 속성 정보의 부호화 데이터의 부호량을 삭감할 수 있다.
예를 들면, 산술 부호화(S3064)에서는, 삼차원 데이터 부호화 장치는, 2치 데이터의 비트마다 상이한 부호화 테이블을 사용한다. 이에 의하면, 삼차원 데이터 부호화 장치는, 부호화 효율을 향상시킬 수 있다.
예를 들면, 산술 부호화(S3064)에서는, 2치 데이터의 하위 비트일수록, 사용하는 부호화 테이블의 수가 많다.
예를 들면, 산술 부호화(S3064)에서는, 삼차원 데이터 부호화 장치는, 2치 데이터에 포함되는 대상 비트의 상위 비트의 값에 따라, 대상 비트의 산술 부호화에 사용할 부호화 테이블을 선택한다. 이에 의하면, 삼차원 데이터 부호화 장치는, 상위 비트의 값에 따라 부호화 테이블을 선택할 수 있으므로 부호화 효율을 향상시킬 수 있다.
예를 들면, 삼차원 데이터 부호화 장치는, 2치화(S3063)에서는, 예측 잔차가 역치(R_TH)보다 작은 경우, 고정 비트수로 예측 잔차를 2치화함으로써 2치 데이터를 생성하고, 예측 잔차가 역치(R_TH) 이상인 경우, 역치(R_TH)를 나타내는 고정 비트수의 제1 부호(n비트 부호)와, 예측 잔차로부터 역치(R_TH)를 감산한 값을 지수 골룸으로 2치화한 제2 부호(나머지 부호)를 포함하는 2치 데이터를 생성한다. 삼차원 데이터 부호화 장치는, 산술 부호화(S3064)에서는, 제1 부호와 제2 부호에 상이한 산술 부호화 방법을 사용한다.
이에 의하면, 삼차원 데이터 부호화 장치는, 예를 들면, 제1 부호와 제2 부호의 각각에 적합한 산술 부호화 방법에 의해 제1 부호와 제2 부호를 산술 부호화할 수 있으므로 부호화 효율을 향상시킬 수 있다.
예를 들면, 삼차원 데이터 부호화 장치는, 예측 잔차를 양자화하고, 2치화(S3063)에서는, 양자화된 예측 잔차를 2치화한다. 역치(R_TH)는, 양자화에 있어서의 양자화 스케일에 따라 변경된다. 이에 의하면, 삼차원 데이터 부호화 장치는, 양자화 스케일에 따른 적절한 역치를 사용할 수 있으므로 부호화 효율을 향상시킬 수 있다.
예를 들면, 제2 부호는, prefix부와 suffix부를 포함한다. 삼차원 데이터 부호화 장치는, 산술 부호화(S3064)에서는, prefix부와 suffix부에 상이한 부호화 테이블을 사용한다. 이에 의하면, 삼차원 데이터 부호화 장치는, 부호화 효율을 향상시킬 수 있다.
예를 들면, 삼차원 데이터 부호화 장치는, 프로세서와 메모리를 구비하고, 프로세서는, 메모리를 사용하여, 상기의 처리를 행한다.
또한, 본 실시 형태에 따른 삼차원 데이터 복호 장치는, 도 68에 나타내는 처리를 행한다. 삼차원 데이터 복호 장치는, 속성 정보를 갖는 삼차원점을 복호한다. 우선, 삼차원 데이터 복호 장치는, 삼차원점의 속성 정보의 예측값을 산출한다(S3071). 다음에, 삼차원 데이터 복호 장치는, 비트 스트림에 포함되는 부호화 데이터를 산술 복호함으로써 2치 데이터를 생성한다(S3072). 다음에, 삼차원 데이터 복호 장치는, 2치 데이터를 다치화함으로써 예측 잔차를 생성한다(S3073). 다음에, 삼차원 데이터 복호 장치는, 예측값과 예측 잔차를 가산함으로써, 삼차원점의 속성 정보의 복호값을 산출한다(S3074).
이에 의하면, 삼차원 데이터 복호 장치는, 속성 정보의 예측 잔차를 산출하고, 또한, 당해 예측 잔차를 2치화 및 산술 부호화함으로써 생성된 속성 정보의 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 산술 복호(S3072)에서는, 삼차원 데이터 복호 장치는, 2치 데이터의 비트마다 상이한 부호화 테이블을 사용한다. 이에 의하면, 삼차원 데이터 복호 장치는, 부호화 효율이 향상된 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 산술 복호(S3072)에서는, 2치 데이터의 하위 비트일수록, 사용하는 부호화 테이블의 수가 많다.
예를 들면, 산술 복호(S3072)에서는, 삼차원 데이터 복호 장치는, 2치 데이터에 포함되는 대상 비트의 상위 비트의 값에 따라, 대상 비트의 산술 복호에 사용할 부호화 테이블을 선택한다. 이에 의하면, 삼차원 데이터 복호 장치는, 부호화 효율이 향상된 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 삼차원 데이터 복호 장치는, 다치화(S3073)에서는, 2치 데이터에 포함되는 고정 비트수의 제1 부호(n비트 부호)를 다치화함으로써 제1 값을 생성한다. 삼차원 데이터 복호 장치는, 제1 값이 역치(R_TH)보다 작은 경우, 제1 값을 예측 잔차로 결정하고, 제1 값이 역치(R_TH) 이상인 경우, 2치 데이터에 포함되는 지수 골룸 부호인 제2 부호(나머지 부호)를 다치화함으로써 제2 값을 생성하여, 제1 값과 제2 값을 가산함으로써 예측 잔차를 생성한다. 삼차원 데이터 복호 장치는, 산술 복호(S3072)에서는, 제1 부호와 제2 부호에 상이한 산술 복호 방법을 사용한다.
이에 의하면, 삼차원 데이터 복호 장치는, 부호화 효율이 향상된 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 삼차원 데이터 복호 장치는, 예측 잔차를 역양자화하고, 가산(S3074)에서는, 예측값과, 역양자화된 예측 잔차를 가산한다. 역치(R_TH)는, 역양자화에 있어서의 양자화 스케일에 따라 변경된다. 이에 의하면, 삼차원 데이터 복호 장치는, 부호화 효율이 향상된 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 제2 부호는, prefix부와 suffix부를 포함한다. 삼차원 데이터 복호 장치는, 산술 복호(S3072)에서는, prefix부와 suffix부에 상이한 부호화 테이블을 사용한다. 이에 의하면, 삼차원 데이터 복호 장치는, 부호화 효율이 향상된 비트 스트림을 적절히 복호할 수 있다.
예를 들면, 삼차원 데이터 복호 장치는, 프로세서와 메모리를 구비하고, 프로세서는, 메모리를 사용하여, 상기의 처리를 행한다.
(실시 형태 9)
실시 형태 8과는 다른 수법으로 예측값을 생성해도 된다. 이하에서는, 부호화 대상의 삼차원점을 제1 삼차원점이라고 칭하고, 그 주위의 삼차원점을 제2 삼차원점이라고 칭하는 경우가 있다.
예를 들면, 삼차원점의 속성 정보의 예측값의 생성에 있어서, 부호화 대상의 삼차원점의 부호화 완료 또한 복호 완료된 주위의 삼차원점 중, 가장 거리가 가까운 삼차원점의 속성값을 그대로 예측값으로서 생성해도 상관없다. 또한, 예측값의 생성에서는, 예측 모드 정보(PredMode)를 삼차원점마다 부가하고, 복수의 예측값으로부터 하나의 예측값을 선택함으로써 예측값을 생성할 수 있도록 해도 상관없다. 즉, 예를 들면, 총수 M의 예측 모드에 있어서, 예측 모드 0에 평균값, 예측 모드 1에 삼차원점 A의 속성값,···, 예측 모드 M-1에 삼차원점 Z의 속성값을 할당하고, 예측에 사용한 예측 모드를 삼차원점마다 비트 스트림에 부가하는 것을 생각할 수 있다. 이와 같이, 주위의 삼차원점의 속성 정보의 평균이 예측값으로서 산출되는 제1 예측 모드를 나타내는 제1 예측 모드값은, 주위의 삼차원점의 속성 정보 그 자체가 예측값으로서 산출되는 제2 예측 모드를 나타내는 제2 예측 모드값보다 작아도 된다. 여기서, 예측 모드 0에서 산출되는 예측값인 「평균값」은, 부호화 대상의 삼차원점 주위의 삼차원점의 속성값의 평균값이다.
도 69는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제1 예를 나타내는 도면이다. 도 70은, 실시 형태 9에 따른 예측값에 사용하는 속성 정보의 예를 나타내는 도면이다. 도 71은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제2 예를 나타내는 도면이다.
예측 모드수 M은, 비트 스트림에 부가되어도 상관없다. 또한, 예측 모드수 M은, 비트 스트림에 부가되지 않고 규격의 profile, level 등으로 값이 규정되어도 상관없다. 또한, 예측 모드수 M은, 예측에 사용하는 삼차원점 수 N으로부터 산출된 값이 사용되어도 상관없다. 예를 들면 예측 모드수 M은, M=N+1에 의해 산출되어도 상관없다.
또한, 도 69에 나타내어지는 테이블은, 예측에 사용하는 삼차원점 수 N=4, 또한, 예측 모드수 M=5의 경우의 예이다. 점 b2의 속성 정보의 예측값은, 점 a0, a1, a2, b1의 속성 정보를 사용하여 생성될 수 있다. 복수의 예측 모드로부터 하나의 예측 모드를 선택하는 경우, 점 b2로부터의 각 점 a0, a1, a2, b1까지의 거리 정보를 기초로, 각 점 a0, a1, a2, b1의 속성값을 예측값으로서 생성하는 예측 모드를 선택해도 된다. 예측 모드는, 부호화 대상의 삼차원점마다 부가된다. 예측값은, 부가된 예측 모드에 따른 값에 따라 산출된다.
도 71에 나타내어지는 테이블은, 도 69와 마찬가지로, 예측에 사용하는 삼차원점 수 N=4, 또한, 예측 모드수 M=5의 경우의 예이다. 점 a2의 속성 정보의 예측값은, 점 a0, a1의 속성 정보를 사용하여 생성될 수 있다. 복수의 예측 모드로부터 하나의 예측 모드를 선택하는 경우, 점 a2로부터의 각 점 a0, a1까지의 거리 정보를 기초로, 각 점 a0, a1의 속성값을 예측값으로서 생성하는 예측 모드를 선택해도 된다. 예측 모드는, 부호화 대상의 삼차원점마다 부가된다. 예측값은, 부가된 예측 모드에 따른 값에 따라 산출된다.
또한, 상기의 점 a2와 같이 인접 점수, 즉, 주위의 삼차원점 수 N이 4개에 못 미치는 경우, 테이블에 있어서 예측값이 미할당인 예측 모드를 not available로 해도 된다.
또한, 예측 모드의 값의 할당은, 부호화 대상의 삼차원점으로부터의 거리순으로 결정해도 상관없다. 예를 들면, 복수의 예측 모드를 나타내는 예측 모드값은, 예측값으로서 사용하는 속성 정보를 갖는 주위의 삼차원점까지의 부호화 대상의 삼차원점으로부터의 거리가 가까울수록 작다. 도 69의 예에서는, 점 b1, a2, a1, a0의 순으로 부호화 대상의 삼차원점인 점 b2에의 거리가 가까운 것이 나타내어진다. 예를 들면, 예측값의 산출에서는, 2 이상의 예측 모드 중 예측 모드값이 「1」로 나타내어지는 예측 모드에 있어서 점 b1의 속성 정보를 예측값으로서 산출하고, 예측 모드값이 「2」로 나타내어지는 예측 모드에 있어서 점 a2의 속성 정보를 예측값으로서 산출한다. 이와 같이, 점 b1의 속성 정보를 예측값으로서 산출하는 예측 모드를 나타내는 예측 모드값은, 점 b2로부터의 거리가 점 b1보다 먼 위치에 있는 점 a2의 속성 정보를 예측값으로서 산출하는 예측 모드를 나타내는 예측 모드값보다 작다.
이에 의해, 거리가 가깝기 때문에 예측이 맞기 쉽고 선택되기 쉬울 가능성이 있는 점에 작은 예측 모드값을 할당할 수 있어, 예측 모드값을 부호화하기 위한 비트수를 삭감할 수 있다. 또한, 부호화 대상의 삼차원점과 동일한 LoD에 속하는 삼차원점에 우선적으로 작은 예측 모드값을 할당해도 된다.
도 72는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제3 예를 나타내는 도면이다. 구체적으로는, 제3 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 색 정보(YUV)에 의한 값인 경우의 예이다. 이와 같이, 예측값에 사용되는 속성 정보는, 삼차원점의 색을 나타내는 색 정보여도 된다.
도 72에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드에서 산출되는 예측값은, YUV 색 공간을 정의하는 YUV 각각의 성분의 평균이다. 구체적으로는, 당해 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 Y성분의 값인 Yb1, Ya2, Ya1, Ya0의 가중 평균 Yave와, 점 b1, a2, a1, a0에 각각 대응하는 U성분의 값인 Ub1, Ua2, Ua1, Ua0의 가중 평균 Uave와, 점 b1, a2, a1, a0에 각각 대응하는 V성분의 값인 Vb1, Va2, Va1, Va0의 가중 평균 Vave를 포함한다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 색 정보를 포함한다. 색 정보는, Y성분, U성분 및 V성분의 값의 조합으로 나타내어진다.
또한, 도 72에서는, 색 정보는, YUV 색 공간으로 정의되는 값으로 나타내어져 있지만, YUV 색 공간에 한정하지 않고, RGB 색 공간으로 정의되는 값으로 나타내어져도 되고, 다른 색 공간으로 정의되는 값으로 나타내어져도 된다.
이와 같이, 예측값의 산출에서는, 예측 모드의 예측값으로서, 2 이상의 평균 또는 속성 정보를 산출해도 된다. 또한, 2 이상의 평균 또는 속성 정보는, 각각, 색 공간을 정의하는 2 이상의 성분의 값을 나타내고 있어도 된다.
또한, 예를 들면, 도 72의 테이블에 있어서 예측 모드값이 「2」로 나타내어지는 예측 모드가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 Y성분, U성분 및 V성분을 각각 예측값 Ya2, Ua2, Va2로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「2」가 비트 스트림에 부가된다.
도 73은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제4 예를 나타내는 도면이다. 구체적으로는, 제4 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 반사율 정보에 의한 값인 경우의 예이다. 반사율 정보는, 예를 들면, 반사율 R을 나타내는 정보이다.
도 73에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드에서 산출되는 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 반사율 Rb1, Ra2, Ra1, Ra0의 가중 평균 Rave이다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 반사율 Rb1, Ra2, Ra1, Ra0이다.
또한, 예를 들면, 도 73의 테이블에 있어서 예측 모드값이 「3」으로 나타내어지는 예측 모드가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 반사율을 예측값 Ra1로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「3」이 비트 스트림에 부가된다.
도 72 및 도 73에 나타내어지는 바와 같이, 속성 정보는, 제1 속성 정보와, 제1 속성 정보와는 상이한 종류의 제2 속성 정보를 포함하고 있어도 된다. 제1 속성 정보는, 예를 들면, 색 정보이다. 제2 속성 정보는, 예를 들면, 반사율 정보이다. 예측값의 산출에서는, 제1 속성 정보를 사용하여 제1 예측값을 산출하고, 또한, 제2 속성 정보를 사용하여 제2 예측값을 산출해도 된다.
속성 정보가, YUV 색 공간, RGB 색 공간 등의 색 정보와 같이, 복수의 성분을 갖는 경우, 성분마다 구분한 예측 모드에서 예측값이 산출되어도 상관없다. 예를 들면 YUV 공간의 경우, Y성분, U성분 및 V성분을 사용한 예측값의 각각은, 각각의 성분에 있어서 선택된 예측 모드에서 산출되어도 된다. 예를 들면, Y성분을 사용한 예측값을 산출하기 위한 예측 모드 Y, U성분을 사용한 예측값을 산출하기 위한 예측 모드 U, 및, V성분을 사용한 예측값을 산출하기 위한 예측 모드 V의 각각에 있어서, 예측 모드값이 선택되어도 된다. 이 경우, 각 성분의 예측 모드를 나타내는 예측 모드값에는, 후술하는 도 74~도 76의 테이블의 값이 사용되고, 이들 예측 모드값이, 각각 비트 스트림에 부가되어도 된다. 또한, 상기에서는, YUV 색 공간에 대해서 설명하였지만, RGB 색 공간에 대해서도 동일하게 적용할 수 있다.
또한, 속성 정보의 복수 성분 중 2 이상의 성분을 포함하는 예측값은, 공통되는 예측 모드에서 산출되어도 된다. 예를 들면 YUV 색 공간의 경우, Y성분을 사용한 예측값을 산출하기 위한 예측 모드 Y와, UV성분을 사용한 예측값을 산출하기 위한 예측 모드 UV의 각각에 있어서, 예측 모드값이 선택되어도 된다. 이 경우, 각 성분의 예측 모드를 나타내는 예측 모드값에는, 후술하는 도 74 및 도 77의 테이블의 값이 사용되고, 이들 예측 모드값이, 각각 비트 스트림에 부가되어도 된다.
도 74는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제5 예를 나타내는 도면이다. 구체적으로는, 제5 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 색 정보의 Y성분의 값인 경우의 예이다.
도 74에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드 Y에서 산출되는 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 Y성분의 값인 Yb1, Ya2, Ya1, Ya0의 가중 평균 Yave이다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 Y성분의 값 Yb1, Ya2, Ya1, Ya0이다.
또한, 예를 들면, 도 74의 테이블에 있어서 예측 모드값이 「2」로 나타내어지는 예측 모드 Y가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 Y성분을 예측값 Ya2로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「2」가 비트 스트림에 부가된다.
도 75는, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제6 예를 나타내는 도면이다. 구체적으로는, 제6 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 색 정보의 U성분의 값인 경우의 예이다.
도 75에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드 U에서 산출되는 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 U성분의 값인 Ub1, Ua2, Ua1, Ua0의 가중 평균 Uave이다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 U성분의 값 Ub1, Ua2, Ua1, Ua0이다.
또한, 예를 들면, 도 75의 테이블에 있어서 예측 모드값이 「1」로 나타내어지는 예측 모드 U가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 U성분을 예측값 Ub1로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「1」이 비트 스트림에 부가된다.
도 76은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제7 예를 나타내는 도면이다. 구체적으로는, 제7 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 색 정보의 V성분의 값인 경우의 예이다.
도 76에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드 V에서 산출되는 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 V성분의 값인 Vb1, Va2, Va1, Va0의 가중 평균 Vave이다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 V성분의 값 Vb1, Va2, Va1, Va0이다.
또한, 예를 들면, 도 76의 테이블에 있어서 예측 모드값이 「4」로 나타내어지는 예측 모드 V가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 V성분을 예측값 Va0으로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「4」가 비트 스트림에 부가된다.
도 77은, 실시 형태 9에 따른 각 예측 모드에서 산출되는 예측값을 나타내는 테이블의 제8 예를 나타내는 도면이다. 구체적으로는, 제8 예는, 예측값에 사용되는 속성 정보가 주위의 삼차원점의 색 정보의 U성분의 값 및 V성분의 값인 경우의 예이다.
도 77에 나타내어지는 바와 같이, 예측 모드값이 「0」으로 나타내어지는 예측 모드 U에서 산출되는 예측값은, 점 b1, a2, a1, a0에 각각 대응하는 U성분의 값인 Ub1, Ub2, Ua1, Ua0의 가중 평균 Uave와, 점 b1, a2, a1, a0에 각각 대응하는 V성분의 값인 Vb1, Vb2, Va1, Va0의 가중 평균 Vave를 포함한다. 또한, 예측 모드값이 「1」~「4」로 나타내어지는 예측 모드에서 산출되는 예측값은, 각각, 주위의 삼차원점 b1, a2, a1, a0의 U성분의 값 및 V성분의 값을 포함한다.
또한, 예를 들면, 도 77의 테이블에 있어서 예측 모드값이 「1」로 나타내어지는 예측 모드 UV가 선택된 경우, 부호화 대상의 삼차원점의 속성값의 U성분 및 V성분을 각각 예측값 Ub1, Vb1로서 사용하여 부호화해도 된다. 이 경우, 예측 모드값으로서의 「1」이 비트 스트림에 부가된다.
부호화 시의 예측 모드는, RD 최적화에 의해 선택되어도 된다. 예를 들면, 어느 예측 모드 P를 선택한 경우의 코스트 cost(P)를 산출하고, cost(P)가 최소가 되는 예측 모드 P를 선택하는 것을 생각할 수 있다. 코스트 cost(P)로서는, 예를 들면, 예측 모드 P의 예측값을 사용한 경우의 예측 잔차 residual(P)와, 예측 모드 P를 부호화하기 위해서 필요한 비트수 bit(P)와, 조정 파라미터 λ값을 사용하여, 식 D1로 산출해도 된다.
cost(P)=abs(residual(P))+λ×bit(P)···(식 D1)
abs(x)는 x의 절대값을 나타낸다.
abs(x) 대신에 x의 제곱값을 사용해도 상관없다.
상기 식 D1을 사용함으로써, 예측 잔차의 크기와 예측 모드를 부호화하기 위해 필요한 비트수의 밸런스를 고려한 예측 모드를 선택하는 것이 가능해진다. 또한, 조정 파라미터 λ는, 양자화 스케일의 값에 따라 값을 상이한 값이 설정되어도 된다. 예를 들면 양자화 스케일이 작은 경우(고비트 레이트 시), λ값을 작게 함으로써 예측 잔차 residual(P)가 작아지는 예측 모드를 선택하여 예측 정밀도를 가능한 한 향상시키고, 양자화 스케일이 큰 경우(저비트 레이트 시), λ값을 크게 함으로써 예측 모드 P를 부호화하기 위해 필요한 비트수 bit(P)를 고려하면서 적절한 예측 모드가 선택되도록 해도 된다.
또한, 양자화 스케일이 작은 경우란, 예를 들면, 제1 양자화 스케일보다 작은 경우이다. 양자화 스케일이 큰 경우란, 예를 들면, 제1 양자화 스케일 이상의 제2 양자화 스케일보다 큰 경우이다. 또한, 양자화 스케일이 작을수록 λ값을 작은 값으로 설정해도 된다.
예측 잔차 residual(P)는, 부호화 대상의 삼차원점의 속성값으로부터 예측 모드 P의 예측값을 감산함으로써 산출된다. 또한, 코스트 산출시의 예측 잔차 residual(P) 대신에, 예측 잔차 residual(P)를 양자화, 역양자화하고, 예측값과 가산하여 복호값을 구하고, 원래의 삼차원점의 속성값과 예측 모드 P를 사용한 경우의 복호값의 차분(부호화 오차)을 코스트값에 반영해도 상관없다. 이에 의해, 부호화 오차가 작은 예측 모드를 선택하는 것이 가능해진다.
예측 모드 P를 부호화하기 위해 필요한 비트수 bit(P)는, 예를 들면 예측 모드를 2치화하여 부호화하는 경우는, 2치화 후의 비트수를 사용해도 된다. 예를 들면, 예측 모드수 M=5의 경우, 도 78과 같이, 예측 모드수 M을 사용하여 최대값을 5로 한 truncated unary code로 예측 모드를 나타내는 예측 모드값을 2치화해도 된다. 이 경우, 예측 모드값이 「0」인 경우는 1비트, 예측 모드값이 「1」인 경우는 2비트, 예측 모드값이 「2」인 경우는 3비트, 예측 모드값이 「4」 및 「5」인 경우는 4비트가, 각각의 예측 모드값의 부호화에 필요한 비트수 bit(P)로서 사용된다. truncated unary code를 사용함으로써 예측 모드의 값이 작을수록 적은 비트수가 된다. 이 때문에, 예측 모드값이 「0」인 경우에 예측값으로서 산출되는 평균값, 또는, 예측 모드값이 「1」인 경우에 예측값으로서 산출되는 삼차원점의 속성 정보, 즉, 부호화 대상의 삼차원점에 거리가 가까운 삼차원점의 속성 정보와 같이, 선택되기 쉬운, 예를 들면 cost(P)가 최소가 되기 쉬운 예측값을 산출하는 예측 모드를 나타내는 예측 모드값의 부호량을 삭감할 수 있다.
또한, 예측 모드수의 최대값이 정해져 있지 않은 경우는, 도 79와 같이, 예측 모드를 나타내는 예측 모드값을 unary code로 2치화해도 된다. 또한, 각 예측 모드의 발생 확률이 가까운 경우는, 도 80과 같이, 예측 모드를 나타내는 예측 모드값을 fixed code로 2치화하여 부호량을 삭감하도록 해도 된다.
또한, 예측 모드 P를 나타내는 예측 모드값을 부호화하기 위해 필요한 비트수 bit(P)로서, 예측 모드 P를 나타내는 예측 모드값의 2치화 데이터를 산술 부호화하고, 산술 부호화 후의 부호량을 bit(P)의 값으로 해도 상관없다. 이에 의해, 보다 정확한 필요 비트수 bit(P)를 사용하여 코스트를 산출할 수 있기 때문에, 보다 적절한 예측 모드를 선택하는 것이 가능해진다.
또한, 도 78은, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제1 예를 나타내는 도면이다. 구체적으로는, 제1 예는, 예측 모드수 M=5의 경우에 있어서, truncated unary code로 예측 모드값을 2치화하는 예이다.
또한, 도 79는, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제2 예를 나타내는 도면이다. 구체적으로는, 제2 예는, 예측 모드수 M=5의 경우에 있어서, unary code로 예측 모드값을 2치화하는 예이다.
또한, 도 80은, 실시 형태 9에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 제3 예를 나타내는 도면이다. 구체적으로는, 제3 예는, 예측 모드수 M=5의 경우에 있어서, fixed code로 예측 모드값을 2치화하는 예이다.
예측 모드(PredMode)를 나타내는 예측 모드값은, 2치화 후에 산술 부호화하여 비트 스트림에 부가되어도 된다. 예측 모드값은, 상술한 바와 같이, 예를 들면 예측 모드수 M의 값을 사용한 truncated unary code로 2치화되어도 된다. 이 경우, 예측 모드값의 2치화 후의 비트수의 최대수는, M-1이 된다.
또한, 2치화 후의 2치 데이터는, 부호화 테이블을 사용하여 산술 부호화되어도 된다. 이 경우, 예를 들면, 2치 데이터의 비트마다 부호화 테이블을 전환하여 부호화함으로써 부호화 효율을 향상시켜도 된다. 또한, 부호화 테이블 수를 억제하기 위해서, 2치 데이터 중, 선두 비트 one bit에 one bit용 부호화 테이블 A를 사용하여 부호화하고, 나머지 비트 remaining bit의 각 비트에 remaining bit용 부호화 테이블 B를 사용하여 부호화해도 된다. 예를 들면, 도 81에 나타내어지는 예측 모드값이 「3」인 2치화 데이터 「1110」을 부호화하는 경우, 선두 비트 one bit의 「1」에 부호화 테이블 A를 사용하여 부호화하고, 나머지 비트 remaining bit의 「110」의 각각의 비트에 부호화 테이블 B를 사용하여 부호화해도 된다.
또한, 도 81은, 실시 형태 9에 따른 예측 모드를 2치화하여 부호화하는 경우의 2치화 테이블의 2치 데이터를 부호화하는 예에 대해서 설명하기 위한 도면이다. 도 81에서의 2치화 테이블은, 예측 모드수 M=5에 있어서, truncated unary code로 예측 모드값을 2치화하는 예이다.
이에 의해, 부호화 테이블 수를 억제하면서, 2치 데이터의 비트 위치에 따라 부호화 테이블을 전환함으로써 부호화 효율을 향상시킬 수 있다. 또한, Remaining bit의 부호화 시에, 또한, 비트마다 부호화 테이블을 전환하여 산술 부호화하거나, 또는, 산술 부호화된 결과에 따라 당해 부호화 테이블을 전환하여 복호해도 된다.
예측 모드수 M을 사용한 truncated unary code로 예측 모드값을 2치화하여 부호화하는 경우, 복호측에서 복호한 2치 데이터로부터 예측 모드를 특정할 수 있도록, truncated unary code에 사용된 예측 모드수 M이 비트 스트림의 헤더 등에 부가되어도 상관없다. 또한, 예측 모드수가 취할 수 있는 값 MaxM이 규격 등으로 규정되어도 되고, MaxM-M의 값(M<=MaxM)이 헤더에 부가되어도 상관없다. 또한, 예측 모드수 M은, 스트림에 부가되지 않고, 규격 등의 profile 또는 level로 규정되어도 상관없다.
또한, truncated unary code를 사용하여 2치화한 예측 모드값은, 상술한 바와 같이 one bit부와 remaining부에서 부호화 테이블을 전환하여 산술 부호화하는 것을 생각할 수 있다. 또한, 각 부호화 테이블에 있어서의 0과 1의 발생 확률은, 실제로 발생한 2치 데이터의 값에 따라 갱신되어도 된다. 또한, 어느 한쪽의 부호화 테이블에 있어서의 0과 1의 발생 확률은, 고정화되어도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제하여 처리량을 삭감해도 상관없다. 예를 들면 one bit부의 발생 확률은 갱신되고, remaining bit부의 발생 확률은 고정화되어도 된다.
도 82는, 실시 형태 9에 따른 예측 모드값의 부호화의 일례를 나타내는 플로차트이다. 도 83은, 실시 형태 9에 따른 예측 모드값의 복호의 일례를 나타내는 플로차트이다.
도 82에 나타내어지는 바와 같이, 예측 모드값의 부호화에서는, 우선, 예측 모드값을, 예측 모드수 M을 사용한 truncated unary code로 2치화한다(S3401).
다음에, truncated unary code의 2치 데이터를 산술 부호화한다(S3402). 이에 의해, 비트 스트림에는, 2치 데이터가 예측 모드로서 포함된다.
또한, 도 83에 나타내어지는 바와 같이, 예측 모드값의 복호에서는, 우선, 예측 모드수 M을 사용하여 비트 스트림을 산술 복호하고, truncated unary code의 2치 데이터를 생성한다(S3403).
다음에, truncated unary code의 2치 데이터로부터 예측 모드값을 산출한다(S3404).
예측 모드(PredMode)를 나타내는 예측 모드값의 2치화 방법으로서, 예측 모드수 M의 값을 사용한 truncated unary code로 2치화하는 예를 나타냈지만, 반드시 이에 한정하지 않는다. 예를 들면, 예측 모드에 예측값이 할당된 수 L(L<=M)을 사용한 truncated unary code로 예측 모드값을 2치화해도 된다. 예를 들면, 예측 모드수 M=5의 경우에, 어느 부호 대상의 삼차원점의 예측에 사용 가능한 주위의 삼차원점이 2개인 경우, 도 84에 나타내어지는 바와 같이 3개의 예측 모드가 available이 되고, 나머지 2개의 예측 모드가 not available이 되는 케이스가 있다. 예를 들면, 도 84에 나타내어지는 바와 같이 예측 모드수 M=5의 경우에서, 부호화 대상의 삼차원점 주위에 있는 예측에 사용 가능한 삼차원점의 수가 2개이고, 예측 모드값이 「3」 및 「4」를 나타내는 예측 모드에 예측값이 할당되어 있지 않은 경우가 있다.
이 경우, 도 85에 나타내어지는 바와 같이, 예측 모드가 할당된 값 L을 최대값으로 하여 truncated unary code로 예측 모드값을 2치화함으로써, 예측 모드수 M으로 truncated unary code한 경우보다 2치화 후의 비트수를 삭감할 수 있을 가능성이 있다. 예를 들면, 이 경우 L=3이기 때문에, 최대값 3으로 하여 truncated unary code로 2치화함으로써 비트수를 삭감할 수 있다. 이와 같이, 예측 모드에 예측값이 할당된 수 L을 최대값으로 하여 truncated unary code로 2치화함으로써, 예측 모드값의 2치화 후의 비트수를 삭감해도 된다.
2치화 후의 2치 데이터는 부호화 테이블을 사용하여 산술 부호화되어도 된다. 이 경우, 예를 들면 2치 데이터의 비트마다 부호화 테이블을 전환하여 부호화함으로써 부호화 효율을 향상시켜도 된다. 또한, 부호화 테이블 수를 억제하기 위해서, 2치화 데이터 중, 선두 비트 one bit에 one bit용 부호화 테이블 A를 사용하여 부호화하고, 나머지 비트 remaining bit의 각 비트에 remaining bit용 부호화 테이블 B를 사용하여 부호화해도 된다. 예를 들면, 도 85에 나타내어지는 예측 모드값이 「2」인 2치화 데이터 「11」을 부호화하는 경우, 선두 비트 one bit의 「1」에 부호화 테이블 A를 사용하여 부호화하고, 나머지 비트 remaining bit의 「1」에 부호화 테이블 B를 사용하여 부호화해도 된다.
또한, 도 85는, 실시 형태 9에 따른 예측 모드를 2치화하여 부호화하는 경우의 2치화 테이블의 2치 데이터를 부호화하는 예에 대해서 설명하기 위한 도면이다. 도 85에서의 2치화 테이블은, 예측 모드에 예측값이 할당된 수 L=3에 있어서, truncated unary code로 예측 모드값을 2치화하는 예이다.
이에 의해, 부호화 테이블 수를 억제하면서, 2치 데이터의 비트 위치에 따라 부호화 테이블을 전환함으로써 부호화 효율을 향상시킬 수 있다. 또한, Remaining bit의 부호화 시에, 또한, 비트마다 부호화 테이블을 전환하여 산술 부호화하거나, 또는, 산술 부호화된 결과에 따라 당해 부호화 테이블을 전환하여 복호해도 된다.
예측 모드값을, 예측값이 할당된 수 L을 사용한 truncated unary code로 2치화하여 부호화하는 경우, 복호측에서 복호한 2치 데이터로부터 예측 모드를 특정할 수 있도록, 부호화 시와 동일한 방법으로 예측 모드에 예측값을 할당함으로써 수 L을 산출하고, 산출된 L을 사용하여 예측 모드를 복호해도 상관없다.
또한, truncated unary code를 사용하여 2치화한 예측 모드값은, 상술한 바와 같이 one bit부와 remaining부에서 부호화 테이블을 전환하여 산술 부호화하는 것을 생각할 수 있다. 또한, 각 부호화 테이블에 있어서의 0과 1의 발생 확률은, 실제로 발생한 2치 데이터의 값에 따라 갱신되어도 된다. 또한, 어느 한쪽의 부호화 테이블에 있어서의 0과 1의 발생 확률은, 고정화되어도 된다. 이에 의해, 발생 확률의 갱신 횟수를 억제하여 처리량을 삭감해도 상관없다. 예를 들면 one bit부의 발생 확률은 갱신되고, remaining bit부의 발생 확률은 고정화되어도 된다.
도 86은, 실시 형태 9에 따른 예측 모드값의 부호화의 다른 일례를 나타내는 플로차트이다. 도 87은, 실시 형태 9에 따른 예측 모드값의 복호의 다른 일례를 나타내는 플로차트이다.
도 86에 나타내어지는 바와 같이, 예측 모드값의 부호화에서는, 우선, 예측 모드에 예측값이 할당된 수 L을 산출한다(S3411).
다음에, 예측 모드값을, 수 L을 사용한 truncated unary code로 2치화한다(S3412).
다음에, truncated unary code의 2치 데이터를 산술 부호화한다(S3413).
또한, 도 87에 나타내어지는 바와 같이, 예측 모드값의 복호에서는, 우선, 예측 모드에 예측값이 할당된 수 L을 산출한다(S3414).
다음에, 수 L을 사용하여 비트 스트림을 산술 복호하고, truncated unary code의 2치 데이터를 생성한다(S3415).
다음에, truncated unary code의 2치 데이터로부터 예측 모드값을 산출한다(S3416).
예측 모드값은, 모든 속성값마다 부가되지 않아도 된다. 예를 들면, 어떤 조건을 만족하면 예측 모드를 고정하여, 예측 모드값을 비트 스트림에 부가하지 않도록 하고, 어떤 조건을 만족하지 않으면, 예측 모드를 선택하여 비트 스트림에 예측 모드값을 부가하도록 해도 된다. 예를 들면, 조건 A를 만족하면 예측 모드값을 「0」으로 고정하여 주위 삼차원점의 평균값으로부터 예측값을 산출하고, 조건 A를 만족하지 않으면 복수의 예측 모드로부터 하나의 예측 모드를 선택하여 비트 스트림에 선택한 예측 모드를 나타내는 예측 모드값을 부가하도록 해도 된다.
어떤 조건 A로서는, 예를 들면, 부호화 대상의 삼차원점에 있어서의 주위 N개(부호화 완료, 복호 완료)의 삼차원점의 속성값(a[0]~a[N-1])의 최대 절대 차분값 maxdiff를 산출하여, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인 것이다. 주위 삼차원점의 속성값의 최대 절대 차분값이 역치 Thfix 미만인 경우, 각 삼차원점의 속성값에 차이가 적어, 예측 모드를 선택해도 예측값에 차이가 없다고 판정하고, 예측 모드값을 「0」으로 고정하여 예측 모드값을 부호화하지 않음으로써, 예측 모드를 부호화하기 위한 부호량을 삭감하면서, 적절한 예측값을 생성하는 것이 가능해진다.
또한, 역치 Thfix는, 비트 스트림의 헤더 등에 부가되어도 되고, 엔코더는, 역치 Thfix의 값을 바꾸어 부호화할 수 있도록 해도 상관없다. 예를 들면, 엔코더는, 고비트 레이트에서의 부호화 시에, 역치 Thfix의 값을 저비트 레이트 시보다 작게 하여 헤더에 부가하고, 예측 모드를 선택하여 부호화하는 케이스를 늘림으로써, 조금이라도 예측 잔차가 작아지도록 부호화해도 된다. 또한, 엔코더는, 저비트 레이트에서의 부호화 시에, 역치 Thfix의 값을 고비트 레이트 시보다 크게 하여 헤더에 부가하고, 예측 모드를 고정하여 부호화한다. 이와 같이, 저비트 레이트 시에 예측 모드가 고정되어 부호화되는 케이스를 늘림으로써, 예측 모드를 부호화하는 비트량을 억제하면서, 부호화 효율을 향상시킬 수 있다. 또한, 역치 Thfix는, 비트 스트림에 부가되지 않고, 규격의 profile 또는 level로 규정되어도 된다.
예측에 사용되는, 부호화 대상의 삼차원점 주위의 N개의 삼차원점은, 부호화 대상의 삼차원점으로부터의 거리가 역치 THd보다 작은 부호화 완료 및 복호 완료된 N개의 삼차원점이다. N의 최대값은, NumNeighborPoint로서 비트 스트림에 부가되어도 된다. 주위의 부호화 완료 및 복호 완료된 삼차원점 수가 NumNeighborPoint의 값에 못 미치는 경우 등, N의 값은, 항상 NumNeighborPoint의 값에 일치하지 않아도 된다.
예측에 사용되는, 부호화 대상의 삼차원점 주위의 삼차원점의 속성값의 최대 절대 차분값 maxdiff가 역치 Thfix[i]보다 작으면 예측 모드값이 「0」으로 고정되는 예를 나타냈지만, 반드시 이에 한정하지 않으며, 예측 모드값을 「0」~「M-1」 중 어느 하나로 고정하도록 해도 상관없다. 또한 고정되는 예측 모드값을 비트 스트림에 부가해도 상관없다.
도 88은, 실시 형태 9에 따른 부호화 시에 조건 A에 따라 예측 모드값을 고정할지의 여부를 결정하는 처리의 일례를 나타내는 플로차트이다. 도 89는, 실시 형태 9에 따른 복호 시에 조건 A에 따라 예측 모드값을 고정된 값으로 할지 복호할지를 결정하는 처리의 일례를 나타내는 플로차트이다.
도 88에 나타내어지는 바와 같이, 우선, 삼차원 데이터 부호화 장치는, 부호화 대상의 삼차원점 주위의 N개의 삼차원점에 있어서의 속성값의 최대 절대 차분값 maxdiff를 산출한다(S3421).
다음에, 삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인지 아닌지를 판정한다(S3422). 또한, 역치 Thfix는, 부호화되어, 스트림의 헤더 등에 부가되어도 된다.
삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인 경우(S3422에서 Yes), 예측 모드값을 「0」으로 결정한다(S3423).
한편, 삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 이상인 경우(S3422에서 No), 복수의 예측 모드로부터 하나의 예측 모드를 선택한다(S3424). 예측 모드의 선택 처리의 상세는, 도 96을 사용하여 후술한다.
그리고, 삼차원 데이터 부호화 장치는, 선택된 예측 모드를 나타내는 예측 모드값을 산술 부호화한다(S3425). 구체적으로는, 삼차원 데이터 부호화 장치는, 도 82에서 설명한 단계 S3401 및 S3402를 실행함으로써 예측 모드값을 산술 부호화한다. 또한, 삼차원 데이터 부호화 장치는, 예측 모드 PredMode를, 예측값이 할당된 예측 모드수를 사용하여 truncated unary code로 2치화하여 산술 부호화해도 된다. 즉, 삼차원 데이터 부호화 장치는, 도 86에서 설명한 단계 S3411~S3413을 실행함으로써 예측 모드값을 산술 부호화해도 된다.
삼차원 데이터 부호화 장치는, 단계 S3423에서 결정된 예측 모드, 또는, 단계 S3425에서 선택된 예측 모드의 예측값을 산출하고, 산출된 예측값을 출력한다(S3426). 삼차원 데이터 부호화 장치는, 단계 S3423에서 결정된 예측 모드값을 사용하는 경우, 예측 모드값이 「0」으로 나타내어지는 예측 모드의 예측값으로서, 주위의 N개의 삼차원점의 속성값의 평균을 산출한다.
또한, 도 89에 나타내어지는 바와 같이, 우선, 삼차원 데이터 복호 장치는, 복호 대상의 삼차원점 주위의 N개의 삼차원점에 있어서의 속성값의 최대 절대 차분값 maxdiff를 산출한다(S3431). 또한, 최대 절대 차분값 maxdiff는, 도 90에 나타내어지는 바와 같이 산출되어도 된다. 최대 절대 차분값 maxdiff는, 예를 들면, 주위의 N개의 삼차원점 중 2개를 페어로서 선택한 경우에 취할 수 있는 모든 페어의 각각의 차분의 절대값을 산출하고, 산출된 복수의 절대값 중 최대값이다.
다음에, 삼차원 데이터 복호 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인지 아닌지를 판정한다(S3432). 또한, 역치 Thfix는, 스트림의 헤더 등이 복호되어 설정되어도 된다.
삼차원 데이터 복호 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인 경우(S3432에서 Yes), 예측 모드값을 「0」으로 결정한다(S3433).
한편, 삼차원 데이터 복호 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 이상인 경우(S3432에서 No), 예측 모드값을 비트 스트림으로부터 복호한다(S3434).
삼차원 데이터 복호 장치는, 단계 S3433에서 결정된 예측 모드값, 또는, 단계 S3434에서 복호된 예측 모드값으로 나타내어지는 예측 모드의 예측값을 산출하고, 산출된 예측값을 출력한다(S3435). 삼차원 데이터 복호 장치는, 단계 S3433에서 결정된 예측 모드값을 사용하는 경우, 예측 모드값이 「0」으로 나타내어지는 예측 모드의 예측값으로서, 주위의 N개의 삼차원점의 속성값의 평균을 산출한다.
도 91은, 실시 형태 9에 따른 신택스의 예를 나타내는 도면이다. 도 91의 신택스에 있어서의 NumLoD, NumNeighborPoint[i], NumPredMode[i], Thfix[i] 및 NumOfPoint[i]에 대해서 순서대로 설명한다.
NumLoD는, LoD의 계층 수를 나타낸다.
NumNeighborPoint[i]는, 계층 i에 속하는 삼차원점의 예측값 생성에 사용하는 주위의 점수의 상한값을 나타낸다. 주위의 점수 M이 NumNeighborPoint[i]에 못 미치는 경우(M<NumNeighborPoint[i]), 예측값은, M개의 주위의 점수를 사용하여 산출되어도 된다. 또한, 각 LoD에서 NumNeighborPoint[i]의 값을 구분할 필요가 없는 경우는, 1개의 NumNeighborPoint가 헤더에 부가되어도 된다.
NumPredMode[i]는, 계층 i의 속성값의 예측에 사용하는 예측 모드의 총수(M)를 나타낸다. 또한, 예측 모드수가 취할 수 있는 값 MaxM은, 규격 등으로 값이 규정되고, MaxM-M의 값(0<M<=MaxM)은, NumPredMode[i]로서 헤더에 부가되며, 최대값 MaxM-1의 truncated unary code로 2치화하여 부호화되어도 상관없다. 또한, 예측 모드수 NumPredMode[i]는, 스트림에 부가되지 않고, 규격 등의 profile 또는 level로 값이 규정되어도 상관없다. 또한, 예측 모드수는, NumNeighborPoint[i]+NumPredMode[i]로 규정되어도 상관없다. 또한, 각 LoD에서 NumPredMode[i]의 값을 구분할 필요가 없는 경우는, 1개의 NumPredMode가 헤더에 부가되어도 된다.
Thfix[i]는, 계층 i의 예측 모드를 고정할지의 여부를 판정하기 위한 최대 절대 차분값의 역치를 나타낸다. 예측에 사용하는 주위 삼차원점의 속성값의 최대 절대 차분값이 Thfix[i]보다 작으면 예측 모드가 0으로 고정된다. 또한, Thfix[i]는, 스트림에 부가되지 않고, 규격 등의 profile 또는 level로 규정되어도 상관없다. 또한, 각 LoD에서 Thfix[i]의 값을 구분할 필요가 없는 경우는, 1개의 Thfix가 헤더에 부가되어도 된다.
NumOfPoint[i]는, 계층 i에 속하는 삼차원점의 수를 나타낸다. 또한, 삼차원점의 총수 AllNumOfPoint를 다른 헤더에 부가하는 경우는, NumOfPoint[NumLoD-1](최하층에 속하는 삼차원점의 수)은 헤더에 부가되지 않고,
Figure pct00005
를 계산하여 산출하도록 해도 된다. 이에 의해, 헤더의 부호량을 삭감할 수 있다.
또한, NumPredMode[i]의 설정예로서, LoD에 속하는 삼차원점의 거리가 떨어져 있기 때문에 예측이 맞기 어려운 상위층일수록 NumPredMode[i]의 값을 크게 설정하여, 선택할 수 있는 예측 모드를 늘려도 된다. 또한, 예측이 맞기 쉬운 하위층일수록 NumPredMode[i]의 값을 작게 설정하여, 예측 모드의 부호화에 필요한 비트량을 억제해도 된다. 이들 설정에 의해, 상위층에서는 선택할 수 있는 예측 모드를 늘려 예측 잔차를 작게 하고, 하위층에서는 예측 모드의 부호량을 억제할 수 있어 부호화 효율을 향상시킬 수 있다.
또한, Thfix[i]의 설정예로서, LoD에 속하는 삼차원점의 거리가 떨어져 있기 때문에 예측이 맞기 어려운 상위층일수록 Thfix[i]의 값을 작게 설정하여, 예측 모드를 선택하는 케이스를 늘려도 된다. 또한, 예측이 맞기 쉬운 하위층일수록 Thfix[i]의 값을 크게 설정하여, 예측 모드를 고정하여 예측 모드의 부호화에 필요한 비트량을 억제해도 된다. 이들 설정에 의해, 상위층에서는 예측 모드를 선택하는 케이스를 늘려 예측 잔차를 작게 하고, 하위층에서는 예측 모드를 고정하여 예측 모드의 부호량을 억제할 수 있어, 부호화 효율을 향상시킬 수 있다.
상기 NumLoD, NumNeighborPoint[i], NumPredMode[i], Thfix[i] 또는 NumOfPoint[i]는, 엔트로피 부호화되어 헤더에 부가되어도 된다. 예를 들면 각 값은, 2치화되어 산술 부호화되어도 된다. 또한, 각 값은, 처리량을 억제하기 위해서 고정 길이로 부호화되어도 상관없다.
도 92는, 실시 형태 9에 따른 신택스의 예를 나타내는 도면이다. 도 92의 신택스에 있어서의 PredMode, n-bit code 및 remaining code에 대해서 순서대로 설명한다.
PredMode는, 계층 i의 j번째 삼차원점의 속성값을 부호화, 복호하기 위한 예측 모드를 나타낸다. PredMode는, 「0」부터 「M-1」(M은 예측 모드의 총수)의 값을 취한다. PredMode가 비트 스트림에 없는 경우(조건인 maxdiff>=Thfix[i] && NumPredMode[i]>1을 만족하지 않는 경우), PredMode는 값 0으로 추정되어도 된다. 또한, PredMode는, 「0」에 한정하지 않으며 「0」부터 「M-1」 중 어느 하나의 값이 추정값이 되어도 된다. 또한, PredMode가 비트 스트림에 없는 경우의 추정값은, 별도의 헤더 등에 부가되어도 상관없다. 또한, PredMode는 예측값이 할당된 예측 모드수를 사용하여 truncated unary code로 2치화하여 산술 부호화되어도 된다.
n-bit code는, 속성 정보의 값의 예측 잔차의 부호화 데이터를 나타낸다. n-bit code의 비트 길이는, R_TH[i]의 값에 의존한다. n-bit code의 비트 길이는, 예를 들면 R_TH[i]가 나타내는 값이 63인 경우는 6bit가 되고, R_TH[i]가 나타내는 값이 255인 경우는 8bit가 된다.
remaining code는, 속성 정보의 값의 예측 잔차의 부호화 데이터 중, Exponential-Golomb으로 부호화된 부호화 데이터를 나타낸다. remaining code는, n-bit code가 R_TH[i]와 동일한 경우에 복호되며, n-bit code의 값과 remaining code의 값을 가산하여 예측 잔차를 복호한다. 또한, n-bit code가 R_TH[i]와 동일한 값이 아닌 경우는, remaining code는 복호되지 않아도 된다.
이하, 삼차원 데이터 부호화 장치에 있어서의 처리의 흐름을 설명한다. 도 93은, 실시 형태 9에 따른 삼차원 데이터 부호화 장치에 의한 삼차원 데이터 부호화 처리의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 위치 정보(geometry)를 부호화한다(S3441). 예를 들면, 삼차원 데이터 부호화는, 8진 트리 표현을 사용하여 부호화를 행한다.
삼차원 데이터 부호화 장치는, 위치 정보의 부호화 후에, 양자화 등에 의해 삼차원점의 위치가 변화한 경우에, 변화 후의 삼차원점에 원래의 삼차원점의 속성 정보를 재할당한다(S3442). 예를 들면, 삼차원 데이터 부호화 장치는, 위치의 변화량에 따라 속성 정보의 값을 보간함으로써 재할당을 행한다. 예를 들면, 삼차원 데이터 부호화 장치는, 변화 후의 삼차원 위치에 가까운 변화 전의 삼차원점을 N개 검출하여, N개의 삼차원점의 속성 정보의 값을 가중 평균한다. 예를 들면, 삼차원 데이터 부호화 장치는, 가중 평균에 있어서, 변화 후의 삼차원 위치로부터 각 N개의 삼차원까지의 거리에 의거하여 가중치를 결정한다. 그리고, 삼차원 데이터 부호화 장치는, 가중 평균에 의해 얻어진 값을 변화 후의 삼차원점의 속성 정보의 값으로 결정한다. 또한, 삼차원 데이터 부호화 장치는, 양자화 등에 의해 2개 이상의 삼차원점이 동일한 삼차원 위치로 변화한 경우는, 그 변화 후의 삼차원점의 속성 정보의 값으로서, 변화 전의 2개 이상의 삼차원점의 속성 정보의 평균값을 할당해도 된다.
다음에, 삼차원 데이터 부호화 장치는, 재할당 후의 속성 정보(Attribute)를 부호화한다(S3443). 예를 들면, 삼차원 데이터 부호화 장치는, 복수 종류의 속성 정보를 부호화하는 경우는, 복수 종류의 속성 정보를 차례로 부호화해도 된다. 예를 들면, 삼차원 데이터 부호화 장치는, 속성 정보로서, 색과 반사율을 부호화하는 경우는, 색의 부호화 결과 후에 반사율의 부호화 결과를 부가한 비트 스트림을 생성해도 된다. 또한, 비트 스트림에 부가되는 속성 정보의 복수의 부호화 결과의 순서는, 이 순서에 한정하지 않으며, 어떠한 순서여도 좋다.
또한, 삼차원 데이터 부호화 장치는, 비트 스트림 내의 각 속성 정보의 부호화 데이터 개시 장소를 나타내는 정보를 헤더 등에 부가해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호가 필요한 속성 정보를 선택적으로 복호할 수 있으므로, 복호가 불필요한 속성 정보의 복호 처리를 생략할 수 있다. 따라서, 삼차원 데이터 복호 장치의 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 부호화 장치는, 복수 종류의 속성 정보를 병렬로 부호화하고, 부호화 결과를 하나의 비트 스트림에 통합해도 된다. 이에 의해, 삼차원 데이터 부호화 장치는, 고속으로 복수 종류의 속성 정보를 부호화할 수 있다.
도 94는, 실시 형태 9에 따른 속성 정보 부호화 처리(S3443)의 플로차트이다. 우선, 삼차원 데이터 부호화 장치는, LoD를 설정한다(S3451). 즉, 삼차원 데이터 부호화 장치는, 각 삼차원점을 복수의 LoD 중 어느 하나에 할당한다.
다음에, 삼차원 데이터 부호화 장치는, LoD 단위의 루프를 개시한다(S3452). 즉, 삼차원 데이터 부호화 장치는, LoD마다 단계 S3453~S3461의 처리를 반복하여 행한다.
다음에, 삼차원 데이터 부호화 장치는, 삼차원점 단위의 루프를 개시한다(S3453). 즉, 삼차원 데이터 부호화 장치는, 삼차원점마다 단계 S3454~S3460의 처리를 반복하여 행한다.
우선, 삼차원 데이터 부호화 장치는, 처리 대상의 대상 삼차원점의 예측값의 산출에 사용할, 대상 삼차원점 주위에 존재하는 삼차원점인 복수의 주위점을 탐색한다(S3454).
다음에, 삼차원 데이터 부호화 장치는, 대상 삼차원점의 예측값 P를 산출한다(S3455). 예측값 P의 산출 처리의 구체적인 예는, 도 95를 사용하여 후술한다.
다음에, 삼차원 데이터 부호화 장치는, 대상 삼차원점의 속성 정보와 예측값의 차분인 예측 잔차를 산출한다(S3456).
다음에, 삼차원 데이터 부호화 장치는, 예측 잔차를 양자화함으로써 양자화값을 산출한다(S3457).
다음에, 삼차원 데이터 부호화 장치는, 양자화값을 산술 부호화한다(S3458).
또한, 삼차원 데이터 부호화 장치는, 양자화값을 역양자화함으로써 역양자화값을 산출한다(S3459).
다음에, 삼차원 데이터 부호화 장치는, 역양자화값에 예측값을 가산함으로써 복호값을 생성한다(S3460).
다음에, 삼차원 데이터 부호화 장치는, 삼차원점 단위의 루프를 종료한다(S3461).
또한, 삼차원 데이터 부호화 장치는, LoD 단위의 루프를 종료한다(S3462).
도 95는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치에 있어서의 예측값의 산출 처리(S3455)의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 처리 대상의 대상 삼차원점의 예측값의 예측에 사용 가능한, 대상 삼차원점 주위의 N개의 삼차원점의 속성값의 가중 평균을 산출하고, 산출한 가중 평균을 예측 모드값이 「0」인 예측 모드에 할당한다(S3420).
다음에, 삼차원 데이터 부호화 장치는, 도 88에서 설명한 단계 S3421~S3426을 실행함으로써, 대상 삼차원점의 예측값을 출력한다.
도 96은, 실시 형태 9에 따른 예측 모드의 선택 처리(S3424)의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 대상 삼차원점 주위의 N개의 삼차원점의 속성 정보를, 대상 삼차원점에 거리가 가까운 것부터 순서대로 예측 모드값으로서 「1」부터 「N」까지 1씩 인크리먼트한 값을 할당한다(S3427). 또한, 예측 모드값은 「0」부터 「N」까지 할당되기 때문에, 모두 N+1개의 예측 모드가 생성된다. N+1이 비트 스트림에 부가되는 최대 예측 모드수 M(NumPredMode)을 초과하는 경우는, 삼차원 데이터 부호화 장치는, M개까지 예측 모드를 생성하도록 해도 된다.
다음에, 삼차원 데이터 부호화 장치는, 각 예측 모드의 코스트를 산출하고, 코스트가 최소가 되는 예측 모드를 선택한다(S3428).
도 97은, 실시 형태 9에 따른 코스트가 최소가 되는 예측 모드를 선택하는 처리(S3428)의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 초기값으로서, i=0 및 mincost=∞로 설정한다(S3471). 설정된 i 및 mincost의 초기값은 삼차원 데이터 부호화 장치의 메모리에 기억된다.
다음에, 삼차원 데이터 부호화 장치는, i번째의 예측 모드 PredMode[i]의 코스트 cost[i]를 예를 들면, 식 D1을 사용하여 산출한다(S3472).
다음에, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost보다 작은지 아닌지를 판정한다(S3473).
다음에, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost보다 작은 경우(S3473에서 Yes), mincost=cost[i]로 설정하고, 예측 모드를 predmode[i]로 설정하며(S3474), 단계 S3475로 진행한다. 즉, 메모리에 기억되어 있는 mincost의 값을 cost[i]의 값으로 갱신하고, 또한, predmode[i]를 예측 모드로서 메모리에 기억한다.
한편, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost 이상인 경우(S3473에서 No), 단계 S3475로 진행한다.
다음에, 삼차원 데이터 부호화 장치는, i의 값을 하나 인크리먼트한다(S3475).
다음에, 삼차원 데이터 부호화 장치는, i가 예측 모드수보다 작은지 아닌지를 판정한다(S3476).
삼차원 데이터 부호화 장치는, i가 예측 모드수보다 작은 경우(S3476에서 Yes), 단계 S3472로 되돌아가고, 그렇지 않은 경우(S3476에서 No), 코스트가 최소가 되는 예측 모드를 선택하는 처리를 종료한다.
이하, 삼차원 데이터 복호 장치에 있어서의 처리의 흐름을 설명한다. 도 98은, 실시 형태 9에 따른 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다. 우선, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 위치 정보(geometry)를 복호한다(S3444). 예를 들면, 삼차원 데이터 복호 장치는, 8진 트리 표현을 사용하여 복호를 행한다.
다음에, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 속성 정보(Attribute)를 복호한다(S3445). 예를 들면, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 복호하는 경우는, 복수 종류의 속성 정보를 차례로 복호해도 된다. 예를 들면, 삼차원 데이터 복호 장치는, 속성 정보로서 색과 반사율을 복호하는 경우는, 비트 스트림에 부가되어 있는 순서에 따라, 색의 부호화 결과와 반사율의 부호화 결과를 복호한다. 예를 들면, 비트 스트림에 있어서, 색의 부호화 결과 후에 반사율의 부호화 결과가 부가되어 있는 경우, 삼차원 데이터 복호 장치는, 색의 부호화 결과를 복호하고, 그 후에 반사율의 부호화 결과를 복호한다. 또한, 삼차원 데이터 복호 장치는, 비트 스트림에 부가되는 속성 정보의 부호화 결과를 어떠한 순서로 복호해도 된다.
또한, 삼차원 데이터 복호 장치는, 비트 스트림 내의 각 속성 정보의 부호화 데이터 개시 장소를 나타내는 정보를, 헤더 등을 복호함으로써 취득해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호가 필요한 속성 정보를 선택적으로 복호할 수 있으므로, 복호가 불필요한 속성 정보의 복호 처리를 생략할 수 있다. 따라서, 삼차원 데이터 복호 장치의 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 병렬로 복호하고, 복호 결과를 하나의 삼차원점군에 통합해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 고속으로 복수 종류의 속성 정보를 복호할 수 있다.
도 99는, 실시 형태 9에 따른 속성 정보 복호 처리(S3445)의 플로차트이다. 우선, 삼차원 데이터 복호 장치는, LoD를 설정한다(S3481). 즉, 삼차원 데이터 복호 장치는, 복호된 위치 정보를 갖는 복수의 삼차원점의 각각을 복수의 LoD 중 어느 하나에 할당한다. 예를 들면, 이 할당 방법은, 삼차원 데이터 부호화 장치에서 사용된 할당 방법과 동일한 방법이다.
다음에, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 개시한다(S3482). 즉, 삼차원 데이터 복호 장치는, LoD마다 단계 S3483~S3489의 처리를 반복하여 행한다.
다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 개시한다(S3483). 즉, 삼차원 데이터 복호 장치는, 삼차원점마다 단계 S3484~S3488의 처리를 반복하여 행한다.
우선, 삼차원 데이터 복호 장치는, 처리 대상의 대상 삼차원점의 예측값의 산출에 사용할, 대상 삼차원점 주위에 존재하는 삼차원점인 복수의 주위점을 탐색한다(S3484). 또한, 이 처리는 삼차원 데이터 부호화 장치에 있어서의 처리와 동일하다.
다음에, 삼차원 데이터 복호 장치는, 대상 삼차원점의 예측값 P를 산출한다(S3485).
다음에, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 양자화값을 산술 복호한다(S3486).
또한, 삼차원 데이터 복호 장치는, 복호한 양자화값을 역양자화함으로써 역양자화값을 산출한다(S3487).
다음에, 삼차원 데이터 복호 장치는, 역양자화값에 예측값을 가산함으로써 복호값을 생성한다(S3488).
다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 종료한다(S3489).
또한, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 종료한다(S3490).
도 100은, 실시 형태 9에 따른 삼차원 데이터 복호 장치에 있어서의 예측값의 산출 처리(S3485)의 플로차트이다.
우선, 삼차원 데이터 복호 장치는, 처리 대상의 대상 삼차원점의 예측값의 예측에 사용 가능한, 대상 삼차원점 주위의 N개의 삼차원점의 속성값의 가중 평균을 산출하고, 산출한 가중 평균을 예측 모드값이 「0」인 예측 모드에 할당한다(S3430).
다음에, 삼차원 데이터 복호 장치는, 도 89에서 설명한 단계 S3431~S3435를 실행함으로써, 대상 삼차원점의 예측값을 출력한다.
또한, 단계 S3430을 실행하는 대신에, 단계 S3432에서 Yes로 판정된 후, 또는, 단계 S3434에서 복호된 예측 모드값이 「0」인 경우에, 처리 대상의 대상 삼차원점의 예측값의 예측에 사용 가능한, 대상 삼차원점 주위의 N개의 삼차원점의 속성값의 가중 평균을 예측값으로서 산출해도 된다. 이에 의해, 예측 모드값이 「0」으로 나타내어지는 예측 모드 이외의 경우에는, 평균값을 산출할 필요가 없어져, 처리량을 삭감할 수 있다.
도 101은, 실시 형태 9에 따른 예측 모드의 복호 처리(S3434)의 플로차트이다.
우선, 삼차원 복호 장치는, 대상 삼차원점 주위의 N개의 삼차원점의 속성 정보를, 대상 삼차원점에 거리가 가까운 것부터 순서대로 예측 모드값으로서 「1」부터 「N」까지 1씩 인크리먼트한 값을 할당한다(S3491). 또한, 예측 모드값은 「0」부터 「N」까지 할당되기 때문에, 모두 N+1개의 예측 모드가 생성된다. N+1이 비트 스트림에 부가되는 최대 예측 모드수 M(NumPredMode)을 초과하는 경우는, 삼차원 데이터 복호 장치는, M개까지 예측 모드를 생성하도록 해도 된다.
다음에, 삼차원 데이터 복호 장치는, 예측 모드수를 사용하여 예측 모드를 산술 복호한다(S3492). 구체적으로는, 삼차원 데이터 복호 장치는, 도 83에서 설명한 단계 S3403 및 S3404를 실행함으로써 예측 모드를 산술 복호해도 된다. 또한, 삼차원 데이터 복호 장치는, 도 87에서 설명한 단계 S3414~S3416을 실행함으로써 예측 모드를 산술 복호해도 된다.
도 102는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치가 구비하는 속성 정보 부호화부(3100)의 구성을 나타내는 블럭도이다. 또한, 도 102에는, 삼차원 데이터 부호화 장치가 구비하는, 위치 정보 부호화부와 속성 정보 재할당부와 속성 정보 부호화부 중, 속성 정보 부호화부의 상세를 나타내고 있다.
속성 정보 부호화부(3400)는, LoD 생성부(3401), 주위 탐색부(3402), 예측부(3403), 예측 잔차 산출부(3404), 양자화부(3405), 산술 부호화부(3406), 역양자화부(3407), 복호값 생성부(3408), 메모리(3409)를 포함한다.
LoD 생성부(3401)는, 삼차원점의 위치 정보(geometry)를 사용하여 LoD를 생성한다.
주위 탐색부(3402)는, LoD 생성부(3401)에 의한 LoD의 생성 결과와 각 삼차원점간의 거리를 나타내는 거리 정보를 사용하여, 각 삼차원점에 인접하는 근린 삼차원점을 탐색한다.
예측부(3403)는, 부호화 대상의 대상 삼차원점의 속성 정보의 예측값을 생성한다. 구체적으로는, 예측부(3403)는, 예측 모드값이 「0」~「M-1」로 나타내어지는 예측 모드에 예측값을 할당하고, 예측 모드를 선택한다. 예측부(3403)는, 선택한 예측 모드, 구체적으로는, 예측 모드를 나타내는 예측 모드값을 산술 부호화부에 출력한다. 예측부(3403)는, 예를 들면, 단계 S3455의 처리를 행한다.
예측 잔차 산출부(3404)는, 예측부(3403)에 의해 생성된 속성 정보의 예측값의 예측 잔차를 산출(생성)한다. 예측 잔차 산출부(3404)는, 단계 S3456의 처리를 행한다.
양자화부(3405)는, 예측 잔차 산출부(3404)에 의해 산출된 속성 정보의 예측 잔차를 양자화한다.
산술 부호화부(3106)는, 양자화부(3105)에 의해 양자화된 후의 예측 잔차를 산술 부호화한다. 산술 부호화부(3406)는, 산술 부호화한 예측 잔차를 포함하는 비트 스트림을, 예를 들면, 삼차원 데이터 복호 장치에 출력한다.
또한, 예측 잔차는, 산술 부호화부(3406)에 의해 산술 부호화되기 전에, 예를 들면 양자화부(3405)에 의해 2치화되어도 된다. 또한, 산술 부호화부(3406)는, 각종 헤더 정보를 생성, 부호화해도 된다. 또한, 산술 부호화부(3406)는, Prediction block으로부터 부호화에 사용한 예측 모드를 취득하고, 산술 부호화하여 비트 스트림에 부가해도 된다.
역양자화부(3407)는, 양자화부(3405)에 의해 양자화된 후의 예측 잔차를 역양자화한다. 역양자화부(3407)는, 단계 S3459의 처리를 행한다.
복호값 생성부(3408)는, 예측부(3403)에 의해 생성된 속성 정보의 예측값과, 역양자화부(3407)에 의해 역양자화된 후의 예측 잔차를 가산함으로써 복호값을 생성한다.
메모리(3409)는, 복호값 생성부(3408)에 의해 복호된 각 삼차원점의 속성 정보의 복호값을 기억하는 메모리이다. 예를 들면, 예측부(3403)는, 아직 부호화하지 않은 삼차원점의 예측값을 생성하는 경우에, 메모리(3409)에 기억되어 있는 각 삼차원점의 속성 정보의 복호값을 사용하여 예측값을 생성한다.
도 103은, 실시 형태 9에 따른 삼차원 데이터 복호 장치가 구비하는 속성 정보 복호부(3410)의 구성을 나타내는 블럭도이다. 또한, 도 103에는, 삼차원 데이터 복호 장치가 구비하는, 위치 정보 복호부와 속성 정보 복호부 중, 속성 정보 복호부의 상세를 나타내고 있다.
속성 정보 복호부(3410)는, LoD 생성부(3411), 주위 탐색부(3412), 예측부(3413), 산술 복호부(3414), 역양자화부(3415), 복호값 생성부(3416), 메모리(3417)를 포함한다.
LoD 생성부(3411)는, 위치 정보 복호부(도시하지 않음)에 의해 복호된 삼차원점의 위치 정보(geometry 정보)를 사용하여 LoD를 생성한다.
주위 탐색부(3412)는, LoD 생성부(3411)에 의한 LoD의 생성 결과와 각 삼차원점간의 거리를 나타내는 거리 정보를 사용하여, 각 삼차원점에 인접하는 근린 삼차원점을 탐색한다.
예측부(3413)는, 복호 대상의 대상 삼차원점의 속성 정보의 예측값을 생성한다. 예측부(3413)는, 예를 들면, 단계 S3485의 처리를 행한다.
산술 복호부(3414)는, 속성 정보 부호화부(3400)로부터 취득한 비트 스트림 내의 예측 잔차를 산술 복호한다. 산술 복호부(3414)는, 각종 헤더 정보를 복호해도 된다. 또한, 산술 복호부(3414)는, 산술 복호한 예측 모드를 예측부(3413)에 출력해도 된다. 이 경우, 예측부(3413)는, 산술 복호부(3414)에서 산술 복호됨으로써 얻어진 예측 모드를 사용하여 예측값을 산출해도 된다.
역양자화부(3415)는, 산술 복호부(3414)가 산술 복호한 예측 잔차를 역양자화한다.
복호값 생성부(3416)는, 예측부(3413)에 의해 생성된 예측값과 역양자화부(3415)에 의해 역양자화된 후의 예측 잔차를 가산하여 복호값을 생성한다. 복호값 생성부(3416)는, 복호된 속성 정보 데이터를 다른 장치에 출력한다.
메모리(3417)는, 복호값 생성부(3416)에 의해 복호된 각 삼차원점의 속성 정보의 복호값을 기억하는 메모리이다. 예를 들면, 예측부(3413)는, 아직 복호하지 않은 삼차원점의 예측값을 생성하는 경우에, 메모리(3417)에 기억되어 있는 각 삼차원점의 속성 정보의 복호값을 사용하여 예측값을 생성한다.
다음에, 본 실시 형태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치의 구성을 설명한다. 도 104는, 실시 형태 9에 따른 삼차원 데이터 부호화 장치(3420)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 부호화 장치(3420)는, 예측 모드 선택부(3421), 예측값 산출부(3422), 예측 잔차 산출부(3423), 부호화부(3424)를 구비한다. 예측 모드 선택부(3421)는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택한다. 예측값 산출부(3422)는, 예측 모드 선택부(34121)에 의해 선택된 예측 모드의 예측값을 산출한다. 예측 잔차 산출부(3423)는, 제1 삼차원점의 속성 정보와, 예측값 산출부(3422)에 의해 산출된 예측값의 차분인 예측 잔차를 산출한다. 부호화부(3424)는, 선택된 예측 모드와 산출된 예측 잔차를 포함하는 비트 스트림을 생성한다.
도 105는, 실시 형태 9에 따른 삼차원 데이터 복호 장치(3430)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 복호 장치(3430)는, 취득부(3431), 예측값 산출부(3432), 복호부(3433)를 구비한다. 취득부(3431)는, 비트 스트림을 취득함으로써 예측 모드 및 예측 잔차를 취득한다. 예측값 산출부(3432)는, 취득된 예측 모드의 예측값을 산출한다. 복호부(3433)는, 산출된 예측값과 취득된 예측 잔차를 가산함으로써, 제1 삼차원점의 속성 정보를 산출한다.
본 실시 형태에 따른 삼차원 데이터 부호화 장치는, 도 106에 나타내는 처리를 행한다.
삼차원 데이터 부호화 장치는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택한다(S3421a). 다음에, 삼차원 데이터 부호화 장치는, 선택된 예측 모드의 예측값을 산출한다(S3422a). 다음에, 삼차원 데이터 부호화 장치는, 제1 삼차원점의 속성 정보와, 산출된 예측값의 차분인 예측 잔차를 산출한다(S3423a). 다음에, 삼차원 데이터 부호화 장치는, 선택된 예측 모드와 산출된 예측 잔차를 포함하는 비트 스트림을 생성한다(S3424a).
이에 의하면, 삼차원 데이터 부호화 장치는, 2 이상의 예측 모드 중 하나의 예측 모드의 예측값을 사용하여 속성 정보를 부호화할 수 있기 때문에, 속성 정보의 부호화 효율을 향상시킬 수 있다.
또한, 예측값의 산출(S3422a)에서는, 삼차원 데이터 부호화 장치는, 2 이상의 예측 모드 중 제1 예측 모드에서, 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하고, 2 이상의 예측 모드 중 제2 예측 모드에서, 제2 삼차원점의 속성 정보를 예측값으로서 산출한다.
또한, 제1 예측 모드를 나타내는 제1 예측 모드값은, 제2 예측 모드를 나타내는 제2 예측 모드값보다 작다. 비트 스트림은, 선택된 예측 모드를 나타내는 예측 모드값을, 예측 모드로서 포함한다.
또한, 예측값의 산출(S3422a)에서는, 예측 모드의 예측값으로서, 2 이상의 평균 또는 속성 정보를 산출한다.
또한, 속성 정보는, 삼차원점의 색을 나타내는 색 정보이고, 2 이상의 평균 또는 속성 정보는, 각각, 색 공간를 정의하는 2 이상의 성분의 값을 나타낸다.
또한, 예측값의 산출(S3422a)에서는, 삼차원 데이터 부호화 장치는, 2 이상의 예측 모드 중 제3 예측 모드에서, 하나의 제2 삼차원점의 속성 정보를 예측값으로서 산출하고, 2 이상의 예측 모드 중 제4 예측 모드에서, 제1 삼차원점으로부터의 거리가 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보를 예측값으로서 산출한다. 제3 예측 모드를 나타내는 제3 예측 모드값은, 제4 예측 모드를 나타내는 제4 예측 모드값보다 작다. 비트 스트림은, 선택된 예측 모드를 나타내는 예측 모드값을, 예측 모드로서 포함한다. 이에 의하면, 선택되기 쉬운 예측값을 산출하는 예측 모드를 나타내는 예측 모드값을 작은 값으로 함으로써 부호량을 삭감할 수 있다.
또한, 속성 정보는, 제1 속성 정보와, 제1 속성 정보와는 상이한 종류의 제2 속성 정보를 포함한다. 예측값의 산출(S3422a)에서는, 삼차원 데이터 부호화 장치는, 제1 속성 정보를 사용하여 제1 예측값을 산출하고, 또한, 제2 속성 정보를 사용하여 제2 예측값을 산출한다.
또한, 삼차원 데이터 부호화 장치는, 또한, 예측 모드를 나타내는 예측 모드값을, 예측 모드의 수에 따른 truncated unary code로 2치화함으로써 2치 데이터를 생성한다. 비트 스트림은, 2치 데이터를 예측 모드로서 포함한다. 이에 의하면, 선택되기 쉬운 예측값을 산출하는 예측 모드를 나타내는 예측 모드값의 부호량을 삭감할 수 있다.
또한, 예측 모드의 선택(S3421a)에서는, 삼차원 데이터 부호화 장치는, 1 이상의 제2 삼차원점의 속성 정보의 최대 절대 차분값이 소정의 역치 미만인 경우, 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하기 위한 예측 모드를 선택하고, 최대 절대 차분값이 소정의 역치 이상인 경우, 2 이상의 예측 모드 중 하나의 예측 모드를 선택한다. 이에 의하면, 최대 절대 차분값이 소정의 역치 미만인 경우의 처리량을 삭감할 수 있다.
본 실시 형태에 따른 삼차원 데이터 복호 장치는, 도 107에 나타내는 처리를 행한다.
삼차원 데이터 복호 장치는, 비트 스트림을 취득함으로써 예측 모드 및 예측 잔차를 취득한다(S3431a). 다음에, 삼차원 데이터 복호 장치는, 취득된 예측 모드의 예측값을 산출한다(S3432a). 다음에, 삼차원 데이터 부호화 장치는, 산출된 예측값과 취득된 예측 잔차를 가산함으로써, 제1 삼차원점의 속성 정보를 산출한다(S3433a).
이에 의하면, 최대 절대 차분값이 소정의 역치 미만인 경우의 처리량을 삭감할 수 있다.
또한, 예측값의 산출(S3432a)에서는, 삼차원 데이터 복호 장치는, 2 이상의 예측 모드 중 제1 예측 모드에서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하고, 2 이상의 예측 모드 중 제2 예측 모드에서, 제2 삼차원점의 속성 정보를 예측값으로서 산출한다.
또한, 제1 예측 모드를 나타내는 제1 예측 모드값은, 제2 예측 모드를 나타내는 제2 예측 모드값보다 작다. 비트 스트림은, 선택된 예측 모드를 나타내는 예측 모드값을, 예측 모드로서 포함한다.
또한, 예측값의 산출(S3432a)에서는, 삼차원 데이터 복호 장치는, 예측 모드의 예측값으로서, 2 이상의 평균 또는 속성 정보를 산출한다.
또한, 속성 정보는, 삼차원점의 색을 나타내는 색 정보이고, 2 이상의 평균 또는 속성 정보는, 각각, 색 공간를 정의하는 2 이상의 성분의 값을 나타낸다.
또한, 예측값의 산출(S3432a)에서는, 2 이상의 예측 모드 중 제3 예측 모드에서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점 중 하나의 제2 삼차원점의 속성 정보를 예측값으로서 산출하고, 2 이상의 예측 모드 중 제4 예측 모드에서, 제1 삼차원점으로부터의 거리가 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보를 예측값으로서 산출한다. 제3 예측 모드를 나타내는 제3 예측 모드값은, 제4 예측 모드를 나타내는 제4 예측 모드값보다 작다. 비트 스트림은, 선택된 예측 모드를 나타내는 예측 모드값을, 예측 모드로서 포함한다. 이에 의하면, 선택되기 쉬운 예측값을 산출하는 예측 모드를 나타내는 예측 모드값을 작은 값으로 함으로써 속성 정보의 복호에 필요로 하는 시간을 저감할 수 있다.
또한, 속성 정보는, 제1 속성 정보와, 제1 속성 정보와는 상이한 종류의 제2 속성 정보를 포함한다. 예측값의 산출(S3432a)에서는, 제1 속성 정보를 사용하여 제1 예측값을 산출하고, 또한, 제2 속성 정보를 사용하여 제2 예측값을 산출한다.
또한, 예측 모드의 취득(S3431a)에서는, 삼차원 데이터 복호 장치는, 예측 모드의 수에 따른 truncated unary code로 2치화된 2치 데이터를 예측 모드로서 취득한다.
또한, 예측값의 산출(S3432a)에서는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보의 최대 절대 차분값이 소정의 역치 미만인 경우, 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하고, 최대 절대 차분값이 소정의 역치 이상인 경우, 2 이상의 예측 모드 중 하나의 예측 모드의 예측값을 예측값으로서 산출한다.
이에 의하면, 최대 절대 차분값이 소정의 역치 미만인 경우의 처리량을 삭감할 수 있다.
(실시 형태 10)
삼차원 데이터 부호화 장치는, 예측 모드(PredMode)를 나타내는 예측 모드값을, 예측 모드 총수 M의 값을 사용하여 truncated unary code로 2치화하여 산술 부호화하는 경우, 예측에 사용 가능한 부호화 완료, 및, 복호 완료된 삼차원점이며, 부호화 대상의 삼차원점 주위의 삼차원점 수에 의해, 예측값이 할당되지 않는 예측 모드가 발생할 가능성이 있다. 삼차원 데이터 부호화 장치는, 엔코더라고도 한다. 삼차원 데이터 복호 장치는, 디코더라고도 한다. 도 108~도 110을 사용하여 설명한다.
도 108은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다. 도 109는, 실시 형태 10에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 일례를 나타내는 도면이다. 도 110은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 복호 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
예를 들면, 도 108에는, 예측 모드 총수 M=5이고 예측에 사용 가능한 주위 삼차원점 수 N=2의 경우, 예측 모드의 예측값으로서, 예측 모드 0에는 평균값, 예측 모드 1과 2에는 N=2개의 삼차원점의 속성값이 각각 할당되고, 예측 모드 3과 예측 모드 4에는 예측값이 할당되지 않는 예가 나타내어져 있다. 이 경우, 예측값이 할당되지 않는 예측 모드 3 및 예측 모드 4에는, 예측값으로서 부정(不定)값인 not available을 할당하는 것을 생각할 수 있다. 이 경우, 삼차원 데이터 부호화 장치는, 예측 모드 총수 M=5의 값을 사용하여 부호화하기 때문에, 5개의 예측 모드 중 어느 하나를 선택하는 것이 가능하다. 따라서, 삼차원 데이터 부호화 장치는, 예측 모드 3 또는 예측 모드 4를 잘못 선택하여, 잘못 선택한 예측 모드 3 또는 예측 모드 4를 나타내는 예측 모드값을 비트 스트림에 부가할 수 있게 되어 버린다. 그러면, 그 후에, 삼차원 데이터 복호 장치는, 잘못 부가된 예측 모드값을 포함하는 비트 스트림을 취득하고, 취득한 비트 스트림에 부가된 예측 모드를 복호할 수 있게 되어 버린다. 이것이 원인으로, 삼차원 데이터 복호 장치는, 비트 스트림을 올바르게 복원할 수 없을 우려가 있다. 이에 대해서, 이하에 설명한다.
예를 들면, 도 109에 나타내어지는 바와 같이, 삼차원 데이터 부호화 장치는, 잘못해서 예측값이 할당되지 않는 예측 모드 3을 선택한 경우라도, 예측 모드 3을 나타내는 예측 모드값인 「3」의 2치 데이터인 「1110」을 산술 부호화할 수 있다. 산술 부호화된 2치 데이터는, 비트 스트림에 부가된다. 또한, 도 109의 예에서는, 예측 모드 총수 M=5를 사용하여 truncated unary code로 예측 모드값을 2치화하여 얻어진 2치 데이터가 나타내어진다. 또한, 예측 모드값의 2치화 방법은, truncated unary code에 한정하지 않고, unary code 또는 fixed code로 행해져도 된다.
그리고, 도 110에 나타내어지는 바와 같이, 삼차원 데이터 복호 장치는, 삼차원 데이터 부호화 장치에 의해 생성된 비트 스트림을 취득하면, 비트 스트림에 포함되는 데이터를 복호함으로써, 예측 모드값의 2치 데이터인 「1110」을 얻을 수 있고, 예측 모드값의 「3」을 얻을 수 있다. 그리고, 삼차원 데이터 복호 장치는, 예측 모드 3으로 예측값을 산출함으로써, 복호 대상의 삼차원점의 속성값을 복호한다.
그러나, 비트 스트림으로부터 얻어진 예측 모드 3은, 잘못 부가된 예측 모드이며, 부정값이 부가되어 있는 예측 모드이다. 이 때문에, 삼차원 데이터 복호 장치는, 예측 모드 3으로 예측값을 산출할 때에, 삼차원 데이터 부호화 장치에 있어서 예측 모드 3으로 산출된 예측값과 상이한 값을 산출할 우려가 있다. 즉, 엔코더측과 디코더측에서 공통되는 산출 방법으로 예측값을 산출하지 않으면, 엔코더에서 산출된 예측값과 디코더에서 산출된 예측값의 사이에 불일치가 생길 우려가 있다. 불일치가 생기면, 디코더측의 이후의 예측에도 영향을 주게 되고, 삼차원 데이터 복호 장치는, 비트 스트림을 올바르게 복호할 수 없게 될 가능성이 있다.
그래서, 예측값이 할당되어 있지 않은 예측 모드에는, 소정의 고정값을 설정하면 엔코더와 디코더에서 공통의 산출 방법을 미리 결정해 둠으로써, 만일 엔코더가, 잘못해서 예측값이 할당되지 않은 예측 모드(초기값이 설정된 예측 모드)를 사용하여 예측 잔차를 생성하고, 그 예측 모드를 비트 스트림에 부가한 경우에도, 디코더는 비트 스트림으로부터 예측 모드를 복호하고, 엔코더측과 동일한 초기값을 사용하여 복호값을 얻을 수 있어, 올바르게 비트 스트림을 복호할 수 있다.
도 111은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다. 도 112는, 실시 형태 10에 따른 예측 모드값을 2치화하여 부호화하는 경우의 2치화 테이블의 일례를 나타내는 도면이다. 도 113은, 실시 형태 10에 따른 각 예측 모드에 있어서 삼차원 데이터 복호 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
예를 들면, 도 111에는, 도 108과 마찬가지로, 예측 모드 총수 M=5이고 예측에 사용 가능한 주위 삼차원점 수 N=2의 경우, 예측 모드의 예측값으로서, 예측 모드 0에는 평균값, 예측 모드 1과 2에는 N=2개의 삼차원점의 속성값이 각각 할당되고, 예측 모드 3과 예측 모드 4에는 예측값이 할당되지 않는 예가 나타내어져 있다. 이 경우, 예측값이 할당되지 않는 예측 모드 3 및 예측 모드 4에는, 예측값으로서 소정의 고정값이 설정된다.
즉, 삼차원 데이터 부호화 장치는, 예측값의 산출에 있어서, 선택된 예측 모드에 주위 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다. 예를 들면, 예측값의 산출에 있어서, 선택된 예측 모드에 주위 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 주위 삼차원점의 수가 소정수 이하임으로써 당해 예측 모드에 당해 예측값이 할당되지 않는 경우이다. 또한, 처리 대상 주위의 삼차원점의 수 N이 소정수 이하임으로써, 선택된 예측 모드에 주위 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 예를 들면, 평균값과 주위 삼차원점의 속성 정보가 예측값으로서 할당되는 경우, N+1<M의 경우이다.
예를 들면, 도 112에 도시되는 바와 같이, 삼차원 데이터 부호화 장치는, 잘못해서 예측값이 할당되지 않는 예측 모드 3을 선택한 경우라도, 예측 모드 3을 나타내는 예측 모드값인 「3」의 2치 데이터인 「1110」을 산술 부호화할 수 있다. 산술 부호화된 2치 데이터는, 비트 스트림에 부가된다. 또한, 도 112의 예에서는, 예측 모드 총수 M=5를 사용하여 truncated unary code로 예측 모드값을 2치화하여 얻어진 2치 데이터가 나타내어진다. 또한, 도 112는, 도 109와 동일한 도면이다.
그리고, 도 113에 도시되는 바와 같이, 삼차원 데이터 복호 장치는, 삼차원 데이터 부호화 장치에 의해 생성된 비트 스트림을 취득하면, 비트 스트림에 포함되는 데이터를 복호함으로써, 예측 모드값의 2치 데이터인 「1110」을 얻을 수 있고, 예측 모드값의 「3」을 얻을 수 있다. 그리고, 삼차원 데이터 복호 장치는, 예측값이 할당되지 않는 예측 모드 3으로 예측값을 산출하게 되기 때문에, 소정의 고정값을 예측값으로서 산출한다. 따라서, 잘못해서 예측값이 할당되어 있지 않은 예측 모드가 선택된 경우라도, 엔코더측과 디코더측에서 산출되는 예측값을 일치시킬 수 있다. 이에 의해, 삼차원 데이터 복호 장치는, 비트 스트림을 올바르게 복호할 수 있다.
이와 같이, 삼차원 데이터 부호화 장치는, 처리 대상의 삼차원점 주위의 N개의 삼차원점의 속성 정보를 사용하여, 처리 대상의 삼차원점의 속성 정보의 예측값을 1 이상 산출한다. 그리고, 삼차원 데이터 부호화 장치는, 총수 M개의 예측 모드에, 산출된 1 이상의 예측값을 할당하고, 1 이상의 예측값이 할당되지 않은 예측 모드에, 소정의 고정값을 예측값으로서 할당한다.
또한, 소정의 고정값은 초기값이며, 예를 들면 값 0이다. 즉, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 속성값이 색 정보(YUV나 RGB)인 경우는 값 (0, 0, 0)을, 반사율인 경우는 값 0을, 각각 초기값으로서 설정해도 된다.
또한, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 초기값의 설정 방법으로서, 예측값이 할당되지 않은 예측 모드에 초기값을 설정하는 것으로 했지만, 반드시 이에 한정하지 않는다. 이 예에 대해서, 도 114 및 도 115를 사용하여 설명한다.
도 114는, 실시 형태 10에 따른 예측 모드에 예측값을 할당하는 처리에 사용하는 초기 테이블의 예를 나타낸다. 도 115는, 실시 형태 10에 따른 초기 테이블을 사용하여 생성된, 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블의 일례를 나타내는 도면이다.
삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 예를 들면, 먼저 모든 예측 모드의 예측값에 초기값(예를 들면 값 0)을 할당함으로써 초기 테이블을 생성한다. 다음에, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 그 후에 예측에 사용 가능한 주위 삼차원점의 속성값의 평균값, 또는, 주위 삼차원점의 속성값으로 각 예측 모드의 예측값을 갱신하도록 해도 상관없다. 예를 들면, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 도 114에 도시되는 초기 테이블과 같이, 모든 예측 모드의 예측값에 초기값이 설정된 테이블을 사용하여, 도 115에 나타내어지는 바와 같이, 각 예측 모드에 있어서 삼차원 데이터 부호화 장치에 의해 산출되는 예측값을 나타내는 테이블을 생성해도 된다. 다음에, 삼차원 데이터 부호화 장치는, 처리 대상의 삼차원점 주위의 N개의 삼차원점의 속성값을 사용하여, 각 예측 모드에 있어서의 예측값을 산출한다. 그리고, 삼차원 데이터 부호화 장치는, 각 예측 모드에 대해서, 초기 테이블의 초기값을, 산출된 예측값으로 갱신한다.
예를 들면, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 예측 모드 0의 초기값을 예측에 사용 가능한 주위 삼차원점의 속성값의 평균값으로 갱신하고, 또한, 예측 모드 1 및 예측 모드 2의 초기값을 주위 삼차원점의 속성값으로 갱신함으로써, 각 예측 모드의 예측값을 나타내는 테이블을 생성해도 된다. 이 경우여도, 예측값이 할당되어 있지 않은 예측 모드에는, 초기값이 할당되게 된다.
이와 같이, M개의 예측 모드가 있고, 부호화 대상의 삼차원점 주위에 N개의 삼차원점이 있는 경우에 있어서, N+1이 M보다 작은 경우, N개의 삼차원점의 속성값에 의한 예측값이 할당되지 않는 예측 모드에는, 결과적으로, 초기값이 설정된다면, 예측값이 할당되지 않은 예측 모드의 예측값에 초기값이 설정되어도 되고, 예측값이 할당되지 않음으로써 초기값이 예측값으로서 확정되어도 된다.
또한, 초기값은, 값 0에 한정하지 않고, 엔코더와 디코더에서 동일한 값이 사용되면 어떠한 값이라도 상관없다.
도 116은, 실시 형태 10에 따른 예측값의 산출 처리의 일례를 나타내는 플로차트이다.
도 116에 나타내어지는 바와 같이, 우선, 삼차원 데이터 부호화 장치는, 처리 대상의 대상 삼차원점의 예측값의 예측에 사용 가능한, 대상 삼차원점 주위의 N개의 삼차원점의 속성값의 가중 평균을 산출하고, 산출한 가중 평균을 예측 모드값이 「0」인 예측 모드에 할당한다(S3901).
다음에, 삼차원 데이터 부호화 장치는, 부호화 대상의 삼차원점 주위의 N개의 삼차원점에 있어서의 속성값의 최대 절대 차분값 maxdiff를 산출한다(S3902).
다음에, 삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인지 아닌지를 판정한다(S3903). 또한, 역치 Thfix는, 부호화되어, 스트림의 헤더 등에 부가되어도 된다.
삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 미만인 경우(S3903에서 Yes), 예측 모드 고정 플래그를 「1」로 하여 산술 부호화하고(S3904), 예측 모드값을 「0」으로 결정한다(S3905).
한편, 삼차원 데이터 부호화 장치는, 최대 절대 차분값 maxdiff가 역치 Thfix 이상인 경우(S3903에서 No), 예측 모드 고정 플래그를 「0」으로 하여 산술 부호화하고(S3906), 복수의 예측 모드로부터 하나의 예측 모드를 선택한다(S3907).
그리고, 삼차원 데이터 부호화 장치는, 선택된 예측 모드를 나타내는 예측 모드값을 산술 부호화한다(S3908).
삼차원 데이터 부호화 장치는, 단계 S3905에서 결정된 예측 모드, 또는, 단계 S3908에서 선택된 예측 모드의 예측값을 산출하고, 산출된 예측값을 출력한다(S3909). 삼차원 데이터 부호화 장치는, 단계 S3905에서 결정된 예측 모드값을 사용하는 경우, 예측 모드값이 「0」으로 나타내어지는 예측 모드의 예측값으로서, 주위의 N개의 삼차원점의 속성값의 평균을 산출한다.
또한, 삼차원 데이터 부호화 장치는, 예측 모드(PredMode)를, 예측 모드 총수 M을 사용하여 truncated unary code로 2치화하여 산술 부호화해도 된다. 또한, 삼차원 데이터 부호화 장치는, 예측 모드 총수 M을 나타내는 NumPredMode를, 헤더에 부호화하여 부가해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 헤더 내의 NumPredMode를 복호함으로써, 예측 모드(PredMode)를 올바르게 복호할 수 있다. 또한, 삼차원 데이터 복호 장치는, NumPredMode=1의 경우, PredMode를 부호화하지 않아도 된다. 이에 의해 NumPredMode=1의 경우의 부호량을 삭감할 수 있다.
도 117은, 실시 형태 10에 따른 예측 모드의 선택 처리(S3907)의 플로차트이다.
우선, 삼차원 데이터 부호화 장치는, 대상 삼차원점 주위의 N개의 삼차원점의 속성 정보를, 대상 삼차원점에 거리가 가까운 것부터 순서대로 예측 모드값으로서 「1」부터 「N」까지 1씩 인크리먼트한 값을 할당한다(S3911). 또한, 예측 모드값은 「0」부터 「N」까지 할당되기 때문에, 모두 N+1개의 예측 모드가 생성된다. N+1이 비트 스트림에 부가되는 최대 예측 모드수 M(NumPredMode)을 초과하는 경우는, 삼차원 데이터 부호화 장치는, M개까지 예측 모드를 생성하도록 해도 된다.
다음에, 삼차원 데이터 부호화 장치는, 예측값이 할당되지 않은 예측 모드의 예측값에 초기값(예를 들면, 값 「0」)을 설정한다(S3912). 구체적으로는, 삼차원 데이터 부호화 장치는, 예측값이 할당되지 않은 예측 모드와 초기값을 관련지어 메모리에 기억한다.
다음에, 삼차원 데이터 부호화 장치는, 각 예측 모드의 코스트를 산출하고, 코스트가 최소가 되는 예측 모드를 선택한다(S3913).
도 118은, 실시 형태 10에 따른 코스트가 최소가 되는 예측 모드를 선택하는 처리(S3913)의 플로차트이다. 도 118은, 도 97의 플로차트에 대응하는 도면이다.
우선, 삼차원 데이터 부호화 장치는, 초기값으로서, i=0 및 mincost=∞로 설정한다(S3921). 설정된 i 및 mincost의 초기값은 삼차원 데이터 부호화 장치의 메모리에 기억된다.
다음에, 삼차원 데이터 부호화 장치는, i번째의 예측 모드 PredMode[i]의 코스트 cost[i]를 예를 들면, 식 D1을 사용하여 산출한다(S3922).
다음에, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost보다 작은지 아닌지를 판정한다(S3923).
다음에, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost보다 작은 경우(S3923에서 Yes), mincost=cost[i]로 설정하고, 예측 모드를 predmode[i]로 설정하며(S3924), 단계 S3925로 진행한다. 즉, 메모리에 기억되어 있는 mincost의 값을 cost[i]의 값으로 갱신하고, 또한, predmode[i]를 예측 모드로서 메모리에 기억한다.
한편, 삼차원 데이터 부호화 장치는, 산출된 코스트 cost[i]가 메모리에 기억되어 있는 mincost 이상인 경우(S3923에서 No), 단계 S3925로 진행한다.
다음에, 삼차원 데이터 부호화 장치는, i의 값을 하나 인크리먼트한다(S3925).
다음에, 삼차원 데이터 부호화 장치는, i가 예측 모드수보다 작은지 아닌지를 판정한다(S3926).
삼차원 데이터 부호화 장치는, i가 예측 모드수보다 작은 경우(S3926에서 Yes), 단계 S3922로 되돌아가고, 그렇지 않은 경우(S3926에서 No), 코스트가 최소가 되는 예측 모드를 선택하는 처리를 종료한다.
이하, 삼차원 데이터 복호 장치에 있어서의 처리의 흐름을 설명한다. 도 119는, 실시 형태 10에 따른 삼차원 데이터 복호 장치에 의한 삼차원 데이터 복호 처리의 플로차트이다. 우선, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 위치 정보(geometry)를 복호한다(S3931). 예를 들면, 삼차원 데이터 복호 장치는, 8진 트리 표현을 사용하여 복호를 행한다.
다음에, 삼차원 데이터 복호 장치는, 비트 스트림으로부터 속성 정보(Attribute)를 복호한다(S3932). 예를 들면, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 복호하는 경우는, 복수 종류의 속성 정보를 차례로 복호해도 된다. 예를 들면, 삼차원 데이터 복호 장치는, 속성 정보로서 색과 반사율을 복호하는 경우는, 비트 스트림에 부가되어 있는 순서에 따라, 색의 부호화 결과와 반사율의 부호화 결과를 복호한다. 예를 들면, 비트 스트림에 있어서, 색의 부호화 결과 후에 반사율의 부호화 결과가 부가되어 있는 경우, 삼차원 데이터 복호 장치는, 색의 부호화 결과를 복호하고, 그 후에 반사율의 부호화 결과를 복호한다. 또한, 삼차원 데이터 복호 장치는, 비트 스트림에 부가되는 속성 정보의 부호화 결과를 어떠한 순서로 복호해도 된다.
또한, 삼차원 데이터 복호 장치는, 비트 스트림 내의 각 속성 정보의 부호화 데이터 개시 장소를 나타내는 정보를, 헤더 등을 복호함으로써 취득해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 복호가 필요한 속성 정보를 선택적으로 복호할 수 있으므로, 복호가 불필요한 속성 정보의 복호 처리를 생략할 수 있다. 따라서, 삼차원 데이터 복호 장치의 처리량을 삭감할 수 있다. 또한, 삼차원 데이터 복호 장치는, 복수 종류의 속성 정보를 병렬로 복호하고, 복호 결과를 하나의 삼차원점군에 통합해도 된다. 이에 의해, 삼차원 데이터 복호 장치는, 고속으로 복수 종류의 속성 정보를 복호할 수 있다.
도 120은, 실시 형태 10에 따른 속성 정보 복호 처리(S3932)의 플로차트이다.
우선, 삼차원 데이터 복호 장치는, LoD를 설정한다(S3941). 즉, 삼차원 데이터 복호 장치는, 복호된 위치 정보를 갖는 복수의 삼차원점의 각각을 복수의 LoD 중 어느 하나에 할당한다. 예를 들면, 이 할당 방법은, 삼차원 데이터 부호화 장치에서 사용된 할당 방법과 동일한 방법이다.
다음에, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 개시한다(S3942). 즉, 삼차원 데이터 복호 장치는, LoD마다 단계 S3943~S3949의 처리를 반복하여 행한다.
다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 개시한다(S3943). 즉, 삼차원 데이터 복호 장치는, 삼차원점마다 단계 S3944~S3948의 처리를 반복하여 행한다.
우선, 삼차원 데이터 복호 장치는, 처리 대상의 대상 삼차원점의 예측값의 산출에 사용할, 대상 삼차원점 주위에 존재하는 삼차원점인 복수의 주위점을 탐색한다(S3944). 또한, 이 처리는 삼차원 데이터 부호화 장치에 있어서의 처리와 동일하다.
여기서, 삼차원 데이터 복호 장치는, 계층마다의 삼차원점의 수인 NumOfPoint를 헤더부 등에 부가하는 것에 더해, 비트 스트림 내의 예측 모드(PredMode)의 복호 처리와, LoD 생성 후의 예측에 사용 가능한 주위 삼차원점을 산출하는 처리를 독립적으로 실행한다. 구체적으로는, 삼차원 데이터 복호 장치는, LoD의 생성(S3941) 및 주위점의 탐색(S3944)과, 예측값의 산출(S3946), n-bit code 및 remaining code의 산술 복호 처리(예측 모드와 예측 잔차의 복호: S3945)를 독립적으로 실행한다. 이 때문에, 삼차원 데이터 복호 장치는, 단계 S3941, S3944 및 S3946과, S3945를 각각 병렬로 처리하도록 해도 상관없다. 이에 의해, 전체 처리 시간을 삭감할 수 있다.
삼차원 데이터 복호 장치는, 속성 정보의 비트 스트림으로부터 예측 모드와 예측 잔차를 산술 복호한다(S3945).
다음에, 삼차원 데이터 복호 장치는, 단계 S3945에서 얻어진 예측 모드에 있어서, 대상 삼차원점의 예측값 P를 산출한다(S3946). 또한, 예측값의 산출 처리의 상세는, 도 121을 사용하여 후술한다.
또한, 삼차원 데이터 복호 장치는, 예측 잔차로서 복호된 양자화값을 역양자화함으로써 역양자화값을 산출한다(S3947).
다음에, 삼차원 데이터 복호 장치는, 역양자화값에 예측값을 가산함으로써 복호값을 생성한다(S3948).
다음에, 삼차원 데이터 복호 장치는, 삼차원점 단위의 루프를 종료한다(S3949).
또한, 삼차원 데이터 복호 장치는, LoD 단위의 루프를 종료한다(S3950).
도 121은, 실시 형태 10에 따른 예측값의 산출 처리(S3946)의 플로차트이다.
우선, 삼차원 데이터 복호 장치는, 처리 대상의 대상 삼차원점의 예측값의 예측에 사용 가능한, 대상 삼차원점 주위의 N개의 삼차원점의 속성값의 가중 평균을 산출하고, 산출한 가중 평균을 예측 모드값이 「0」인 예측 모드에 할당한다(S3951).
다음에, 삼차원 데이터 복호 장치는, 대상 삼차원점 주위의 N개의 삼차원점의 속성 정보를, 대상 삼차원점에 거리가 가까운 것부터 순서대로 예측 모드값으로서 「1」부터 「N」까지 1씩 인크리먼트한 값을 할당한다(S3952). 또한, 예측 모드값은 「0」부터 「N」까지 할당되기 때문에, 모두 N+1개의 예측 모드가 생성된다. N+1이 비트 스트림에 부가되는 최대 예측 모드수 M(NumPredMode)을 초과하는 경우는, 삼차원 데이터 복호 장치는, M개까지 예측 모드를 생성하도록 해도 된다.
다음에, 삼차원 데이터 복호 장치는, 예측값이 할당되지 않은 예측 모드의 예측값에 초기값(예를 들면, 값 「0」)을 설정한다(S3953). 구체적으로는, 삼차원 데이터 복호 장치는, 예측값이 할당되지 않은 예측 모드와 초기값을 관련지어 메모리에 기억한다.
다음에, 삼차원 데이터 복호 장치는, 단계 S3945의 「예측 모드와 예측 잔차를 복호」에서 복호한 예측 모드값으로 나타내어지는 예측 모드의 예측값을 출력한다(S3954).
또한, 단계 S3953 및 단계 S3954를 실행하는 대신에, 삼차원 데이터 복호 장치는, 예측 모드를 나타내는 예측 모드값에 의거한 값(예를 들면, 「예측 모드값+1」)이 주위 삼차원점의 속성 정보에 의거하여 산출되는 예측값의 수보다 큰지 아닌지를 판정하고, 예측 모드값에 의거한 값이 예측값의 수보다 큰 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당해도 된다. 예를 들면, 삼차원 데이터 복호 장치는, 복호한 예측 모드(PredMode)가, 예측값이 할당되지 않은 예측 모드를 나타내는 경우(즉, PredMode>N), 예측값으로서 초기값(즉, 값 「0」)을 출력해도 된다. 또한, 삼차원 데이터 복호 장치는, 복호한 예측 모드(PredMode)가, 예측값이 할당되지 않은 예측 모드를 나타내는 경우(즉, PredMode>N), 규격 위반으로 규정하고, 규격 위반임을 나타내는 에러 신호를 출력해도 된다.
도 116~도 121에서는, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치는, 예측값이 할당되지 않은 예측 모드에 초기값을 할당하는 처리를 실행하는 예를 설명하였지만, 도 114 및 도 115에서 설명한 바와 같이, 초기 테이블을 생성한 후에, 예측값을 갱신함으로써 각 예측 모드의 예측값을 산출해도 된다.
예를 들면, 삼차원 데이터 부호화 장치는, 도 116~도 118에서 설명한 처리 중, 도 116 및 도 117을 실행하는 대신에 도 122 및 도 123의 처리를 실행해도 된다.
도 122는, 실시 형태 10에 따른 예측값의 산출 처리의 다른 일례를 나타내는 플로차트이다. 도 122의 플로차트에는, 도 116의 플로차트에 추가로, 단계 S3900이 실행되는 점이 상이하다. 또한, 도 116의 플로차트와는, 단계 S3907 대신에 단계 S3907a를 실행하는 점이 상이하다.
이 경우, 도 122에 나타내어지는 바와 같이, 우선, 삼차원 데이터 부호화 장치는, 모든 예측 모드의 예측값에 초기값(예를 들면, 값 「0」)을 설정한다(S3900). 즉, 삼차원 데이터 부호화 장치는, 초기 테이블을 생성한다.
다음에, 삼차원 데이터 부호화 장치는, 단계 S3901~S3906, S3907a, S3908, S3909를 실행한다. 여기서, 도 116과는 상이한 단계 S3907a에 대해서, 도 123을 사용하여 설명한다.
도 123은, 실시 형태 10에 따른 예측 모드의 선택 처리(S3907a)의 플로차트이다.
삼차원 데이터 부호화 장치는, 도 117의 단계 S3911~S3913 중, 단계 S3911 및 S3913을 실행한다. 단계 S3911이 실행됨으로써, 산출된 평균값 또는 속성값으로, 대응하는 예측 모드의 초기값이 갱신된다.
또한, 예를 들면, 삼차원 데이터 복호 장치는, 도 12~도 14에서 설명한 처리 중, 도 121에서 설명한 처리를 실행하는 대신에 도 124의 처리를 실행해도 된다.
도 124는, 실시 형태 10에 따른 예측값의 산출 처리(S3946a)의 플로차트이다.
삼차원 데이터 복호 장치는, 모든 예측 모드의 예측값에 초기값(예를 들면, 값 「0」)을 설정한다(S3950).
다음에, 삼차원 데이터 복호 장치는, 도 121에서의 단계 S3951, S3952 및 S3954를 실행한다.
다음에, 본 실시 형태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치의 구성을 설명한다. 도 125는, 실시 형태 10에 따른 삼차원 데이터 부호화 장치(3900)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 부호화 장치(3900)는, 예측 모드 선택부(3901), 예측값 산출부(3902), 예측 잔차 산출부(3903), 부호화부(3904)를 구비한다.
예측 모드 선택부(3901)는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택한다. 예측값 산출부(3902)는, 선택된 예측 모드의 예측값을 산출한다. 예측값 산출부(3902)는, 예측값의 산출에 있어서, 제2 삼차원점의 수가 소정수 이하임으로써, 선택된 예측 모드에 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다. 예측 잔차 산출부(3903)는, 제1 삼차원점의 속성 정보와, 산출된 예측값의 차분인 예측 잔차를 산출한다. 부호화부(3904)는, 예측 모드와 예측 잔차를 포함하는 비트 스트림을 생성한다.
도 126은, 실시 형태 10에 따른 삼차원 데이터 복호 장치(3910)의 구성을 나타내는 블럭도이다. 이 삼차원 데이터 복호 장치(3910)는, 취득부(3911), 예측값 산출부(3912), 복호부(3913)를 구비한다. 취득부(3911)는, 비트 스트림을 취득함으로써 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득한다. 예측값 산출부(3912)는, 취득된 예측 모드의 예측값을 산출한다. 예측값 산출부(3912)는, 예측값의 산출에 있어서, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 수가 소정수 이하임으로써, 선택된 예측 모드에 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다. 복호부(3913)는, 예측값과 예측 잔차를 가산함으로써, 제1 삼차원점의 속성 정보를 산출한다.
본 실시 형태에 따른 삼차원 데이터 부호화 장치는, 도 127에 나타내는 처리를 행한다.
삼차원 데이터 부호화 장치는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택한다(S3961). 다음에, 삼차원 데이터 부호화 장치는, 선택된 예측 모드의 예측값을 산출한다(S3962). 삼차원 데이터 부호화 장치는, 예측값의 산출(S3962)에 있어서, 제2 삼차원점의 수가 소정수 이하임으로써, 선택된 예측 모드에 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다. 다음에, 삼차원 데이터 부호화 장치는, 예측 모드와 예측 잔차를 포함하는 비트 스트림을 생성한다(S3964).
이에 의하면, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당한다. 이 때문에, 생성되는 비트 스트림에는, 선택된 예측 모드의 예측값에 따라 예측 잔차를 산출하여, 예측 모드와 예측 잔차가 포함된다. 이 때문에, 삼차원 데이터 복호 장치는, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 삼차원 데이터 복호 장치는, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 소정의 고정값은 초기값이다. 또한, 소정의 고정값은 0이다.
또한, 1 이상의 예측값의 산출(S3961)에서는, 2 이상의 예측 모드 중 제1 예측 모드에 있어서, 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하고, 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 제2 삼차원점의 속성 정보를 예측값으로서 산출한다.
또한, 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어진다. 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작다.
또한, 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어진다. 하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 제1 삼차원점으로부터의 거리가 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작다.
본 실시 형태에 따른 삼차원 데이터 복호 장치는, 도 128에 나타내는 처리를 행한다.
삼차원 데이터 복호 장치는, 비트 스트림을 취득함으로써 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득한다(S3971). 다음에, 삼차원 데이터 복호 장치는, 취득된 예측 모드의 예측값을 산출한다(S3972). 삼차원 데이터 복호 장치는, 예측값의 산출(S3972)에서는, 제1 삼차원점 주위의 1 이상의 제2 삼차원점의 수가 소정수 이하임으로써, 취득된 예측 모드에 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 산출한다. 다음에, 삼차원 데이터 복호 장치는, 예측값과 예측 잔차를 가산함으로써, 제1 삼차원점의 속성 정보를 산출한다(S3973).
이에 의하면, 취득한 비트 스트림으로부터 처리 대상의 삼차원점의 속성 정보를 복호할 때에, 삼차원 데이터 부호화 방법과 동일하게, 1 이상의 예측값이 할당되어 있지 않은 예측 모드에 소정의 고정값을 예측값으로서 할당하기 때문에, 부호화 시에 산출된 예측값과 일치하는 예측값을 산출할 수 있다. 따라서, 처리 대상의 삼차원점의 속성 정보를 올바르게 복호할 수 있다.
또한, 소정의 고정값은 초기값이다. 또한, 소정의 고정값은 0이다.
또한, 1 이상의 예측값의 산출(S3972)에서는, 2 이상의 예측 모드 중 제1 예측 모드에 있어서, 1 이상의 제2 삼차원점의 속성 정보의 평균을 예측값으로서 산출하고, 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 제2 삼차원점의 속성 정보를 예측값으로서 산출한다.
또한, 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어진다. 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작다.
또한, 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어진다. 하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 제1 삼차원점으로부터의 거리가 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작다.
이상, 본 개시의 실시 형태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치 등에 대해서 설명하였지만, 본 개시는, 이 실시 형태에 한정되는 것은 아니다.
또한, 상기 실시 형태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치 등에 포함되는 각 처리부는 전형적으로는 집적회로인 LSI로서 실현된다. 이들은 개별적으로 1칩화되어도 되고, 일부 또는 전부를 포함하도록 1칩화되어도 된다.
또한, 집적회로화는 LSI에 한정하는 것은 아니며, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조 후에 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array), 또는 LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규러블·프로세서를 사용하여도 된다.
또한, 상기 각 실시 형태에 있어서, 각 구성 요소는, 전용 하드웨어로 구성되거나, 각 구성 요소에 적합한 소프트웨어 프로그램을 실행함으로써 실현되어도 된다. 각 구성 요소는, CPU 또는 프로세서 등의 프로그램 실행부가, 하드 디스크 또는 반도체 메모리 등의 기록 매체에 기록된 소프트웨어 프로그램을 읽어내어 실행함으로써 실현되어도 된다.
또한, 본 개시는, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치 등에 의해 실행되는 삼차원 데이터 부호화 방법 또는 삼차원 데이터 복호 방법 등으로서 실현되어도 된다.
또한, 블럭도에 있어서의 기능 블록의 분할은 일례이며, 복수의 기능 블록을 하나의 기능 블록으로서 실현하거나, 하나의 기능 블록을 복수로 분할하거나, 일부의 기능을 다른 기능 블록으로 옮겨도 된다. 또한, 유사한 기능을 갖는 복수의 기능 블록의 기능을 단일의 하드웨어 또는 소프트웨어가 병렬 또는 시분할로 처리해도 된다.
또한, 플로차트에 있어서의 각 단계가 실행되는 순서는, 본 개시를 구체적으로 설명하기 위해 예시하기 위한 것이며, 상기 이외의 순서여도 된다. 또한, 상기 단계의 일부가, 다른 단계와 동시(병렬)에 실행되어도 된다.
이상, 하나 또는 복수의 양태에 따른 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치 등에 대해서, 실시 형태에 의거하여 설명하였는데, 본 개시는, 이 실시 형태에 한정되는 것은 아니다. 본 개시의 취지를 일탈하지 않는 한, 당업자가 생각해낸 각종 변형을 본 실시 형태에 실시한 것이나, 상이한 실시 형태에 있어서의 구성 요소를 조합하여 구축되는 형태도, 하나 또는 복수의 양태의 범위 내에 포함되어도 된다.
본 개시는, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치에 적용할 수 있다.
100, 400: 삼차원 데이터 부호화 장치 101, 201, 401, 501: 취득부
102, 402: 부호화 영역 결정부 103: 분할부
104, 644: 부호화부 111: 삼차원 데이터
112, 211, 413, 414, 511, 634: 부호화 삼차원 데이터
200, 500: 삼차원 데이터 복호 장치 202: 복호 개시 GOS 결정부
203: 복호 SPC 결정부 204, 625: 복호부
212, 512, 513: 복호 삼차원 데이터 403: SWLD 추출부
404: WLD 부호화부 405: SWLD 부호화부
411: 입력 삼차원 데이터 412: 추출 삼차원 데이터
502: 헤더 해석부 503: WLD 복호부
504: SWLD 복호부
620, 620A: 삼차원 데이터 작성 장치
621, 641: 삼차원 데이터 작성부 622: 요구 범위 결정부
623: 탐색부 624, 642: 수신부
626: 합성부 631, 651: 센서 정보
632: 제1 삼차원 데이터 633: 요구 범위 정보
635: 제2 삼차원 데이터 636: 제3 삼차원 데이터
640: 삼차원 데이터 송신 장치 643: 추출부
645: 송신부 652: 제5 삼차원 데이터
654: 제6 삼차원 데이터 700: 삼차원 정보 처리 장치
701: 삼차원 맵 취득부 702: 자차 검지 데이터 취득부
703: 이상 케이스 판정부 704: 대처 동작 결정부
705: 동작 제어부 711: 삼차원 맵
712: 자차 검지 삼차원 데이터 810: 삼차원 데이터 작성 장치
811: 데이터 수신부 812, 819: 통신부
813: 수신 제어부 814, 821: 포맷 변환부
815: 센서 816: 삼차원 데이터 작성부
817: 삼차원 데이터 합성부 818: 삼차원 데이터 축적부
820: 송신 제어부 822: 데이터 송신부
831, 832, 834, 835, 836, 837: 삼차원 데이터
833: 센서 정보 901: 서버
902, 902A, 902B, 902C: 클라이언트 장치
1011, 1111: 데이터 수신부
1012, 1020, 1112, 1120: 통신부 1013, 1113: 수신 제어부
1014, 1019, 1114, 1119: 포맷 변환부 1015: 센서
1016, 1116: 삼차원 데이터 작성부 1017: 삼차원 화상 처리부
1018, 1118: 삼차원 데이터 축적부 1021, 1121: 송신 제어부
1022, 1122: 데이터 송신부 1031, 1032, 1135: 삼차원 맵
1033, 1037, 1132: 센서 정보
1034, 1035, 1134: 삼차원 데이터 1117: 삼차원 데이터 합성부
1201: 삼차원 맵 압축/복호 처리부
1202: 센서 정보 압축/복호 처리부 1211: 삼차원 맵 복호 처리부
1212: 센서 정보 압축 처리부
1300: 삼차원 데이터 부호화 장치 1301: 분할부
1302: 감산부 1303: 변환부
1304: 양자화부 1305, 1402: 역양자화부
1306, 1403: 역변환부 1307, 1404: 가산부
1308, 1405: 참조 볼륨 메모리 1309, 1406: 인트라 예측부
1310, 1407: 참조 스페이스 메모리 1311, 1408: 인터 예측부
1312, 1409: 예측 제어부 1313: 엔트로피 부호화부
1400: 삼차원 데이터 복호 장치 1401: 엔트로피 복호부
3000: 삼차원 데이터 부호화 장치 3001: 위치 정보 부호화부
3002: 속성 정보 재할당부 3003: 속성 정보 부호화부
3010: 삼차원 데이터 복호 장치 3011: 위치 정보 복호부
3012: 속성 정보 복호부 3400: 속성 정보 부호화부
3401: LoD 생성부 3402: 주위 탐색부
3403: 예측부 3404: 예측 잔차 산출부
3405: 양자화부 3406: 산술 부호화부
3407: 역양자화부 3408: 복호값 생성부
3409, 3417: 메모리 3410: 속성 정보 복호부
3411: LoD 생성부 3412: 주위 탐색부
3413: 예측부 3414: 산술 복호부
3415: 역양자화부 3416: 신호값 생성부
3900: 삼차원 데이터 부호화 장치 3901: 예측 모드 선택부
3902: 예측값 산출부 3903: 예측 잔차 산출부
3904: 부호화부
3910: 삼차원 데이터 복호 장치 3911: 취득부
3912: 예측값 산출부 3913: 복호부

Claims (16)

  1. 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 방법으로서,
    제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 상기 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고,
    선택된 상기 예측 모드의 예측값을 산출하고,
    상기 제1 삼차원점의 속성 정보와, 산출된 상기 예측값의 차분인 예측 잔차를 산출하고,
    상기 예측 모드와 상기 예측 잔차를 포함하는 비트 스트림을 생성하고,
    상기 예측값의 산출에서는, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당하는, 삼차원 데이터 부호화 방법.
  2. 청구항 1에 있어서,
    상기 예측값의 산출에 있어서, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 상기 제2 삼차원점의 수가 소정수 이하임으로써 당해 예측 모드에 당해 예측값이 할당되지 않는 경우인, 삼차원 데이터 부호화 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 소정의 고정값은 초기값인, 삼차원 데이터 부호화 방법.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 소정의 고정값은 0인, 삼차원 데이터 부호화 방법.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    상기 예측값의 산출에서는,
    상기 2 이상의 예측 모드 중 제1 예측 모드에 있어서, 상기 1 이상의 제2 삼차원점의 속성 정보의 평균을 상기 예측값으로서 산출하고,
    상기 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 상기 제2 삼차원점의 속성 정보를 상기 예측값으로서 산출하는, 삼차원 데이터 부호화 방법.
  6. 청구항 5에 있어서,
    상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고,
    상기 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작은, 삼차원 데이터 부호화 방법.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서,
    상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고,
    하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 제1 삼차원점으로부터의 거리가 상기 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작은, 삼차원 데이터 부호화 방법.
  8. 복수의 삼차원점을 복호하는 삼차원 데이터 복호 방법으로서,
    비트 스트림을 취득함으로써 상기 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득하고,
    취득된 예측 모드의 예측값을 산출하고,
    상기 예측값과 상기 예측 잔차를 가산함으로써, 상기 제1 삼차원점의 속성 정보를 산출하고,
    상기 예측값의 산출에서는, 취득된 상기 예측 모드에 상기 제1 삼차원점 주위의 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당하는, 삼차원 데이터 복호 방법.
  9. 청구항 8에 있어서,
    상기 예측값의 산출에 있어서, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우란, 상기 제2 삼차원점의 수가 소정수 이하임으로써 당해 예측 모드에 당해 예측값이 할당되지 않는 경우인, 삼차원 데이터 복호 방법.
  10. 청구항 8 또는 청구항 9에 있어서,
    상기 소정의 고정값은 초기값인, 삼차원 데이터 복호 방법.
  11. 청구항 8 내지 청구항 10 중 어느 한 항에 있어서,
    상기 소정의 고정값은 0인, 삼차원 데이터 복호 방법.
  12. 청구항 8 내지 청구항 11 중 어느 한 항에 있어서,
    상기 예측값의 산출에서는,
    2 이상의 예측 모드 중 제1 예측 모드에 있어서, 1 이상의 상기 제2 삼차원점의 속성 정보의 평균을 상기 예측값으로서 산출하고,
    상기 2 이상의 예측 모드 중 제2 예측 모드에 있어서, 상기 제2 삼차원점의 속성 정보를 상기 예측값으로서 산출하는, 삼차원 데이터 복호 방법.
  13. 청구항 12에 있어서,
    상기 2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고,
    상기 평균이 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 1 이상의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작은, 삼차원 데이터 복호 방법.
  14. 청구항 8 내지 청구항 13 중 어느 한 항에 있어서,
    2 이상의 예측 모드는, 각각, 상이한 값의 예측 모드값에 의해 나타내어지고,
    하나의 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값은, 상기 제1 삼차원점으로부터의 거리가 상기 하나의 제2 삼차원점보다 먼 위치에 있는 다른 제2 삼차원점의 속성 정보가 예측값으로서 할당되는 예측 모드를 나타내는 예측 모드값보다 작은, 삼차원 데이터 복호 방법.
  15. 복수의 삼차원점을 부호화하는 삼차원 데이터 부호화 장치로서,
    프로세서와,
    메모리를 구비하고,
    상기 프로세서는, 상기 메모리를 사용하여,
    제1 삼차원점 주위의 1 이상의 제2 삼차원점의 속성 정보를 사용하여, 상기 제1 삼차원점의 속성 정보의 예측값을 산출하기 위한 2 이상의 예측 모드 중 하나의 예측 모드를 선택하고,
    선택된 상기 예측 모드의 예측값을 산출하고,
    상기 제1 삼차원점의 속성 정보와, 산출된 상기 예측값의 차분인 예측 잔차를 산출하고,
    상기 예측 모드와 상기 예측 잔차를 포함하는 비트 스트림을 생성하고,
    상기 예측값의 산출에서는, 선택된 상기 예측 모드에 상기 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당하는, 삼차원 데이터 부호화 장치.
  16. 복수의 삼차원점을 복호하는 삼차원 데이터 복호 장치로서,
    프로세서와,
    메모리를 구비하고,
    상기 프로세서는, 상기 메모리를 사용하여,
    비트 스트림을 취득함으로써 상기 복수의 삼차원점 중 제1 삼차원점의 예측 모드 및 예측 잔차를 취득하고,
    취득된 예측 모드의 예측값을 산출하고,
    상기 예측값과 상기 예측 잔차를 가산함으로써, 상기 제1 삼차원점의 속성 정보를 산출하고,
    상기 예측값의 산출에서는, 취득된 상기 예측 모드에 상기 제1 삼차원점 주위의 제2 삼차원점의 속성 정보에 의거한 예측값이 할당되지 않는 경우, 당해 예측 모드의 예측값으로서 소정의 고정값을 할당하는, 삼차원 데이터 복호 장치.
KR1020207035777A 2018-06-15 2019-06-14 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 KR20210019445A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862685596P 2018-06-15 2018-06-15
US62/685,596 2018-06-15
PCT/JP2019/023776 WO2019240286A1 (ja) 2018-06-15 2019-06-14 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Publications (1)

Publication Number Publication Date
KR20210019445A true KR20210019445A (ko) 2021-02-22

Family

ID=68842207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035777A KR20210019445A (ko) 2018-06-15 2019-06-14 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치

Country Status (7)

Country Link
US (3) US11212519B2 (ko)
JP (2) JP7330962B2 (ko)
KR (1) KR20210019445A (ko)
CN (1) CN112313708A (ko)
BR (1) BR112020024480A2 (ko)
MX (1) MX2020013273A (ko)
WO (1) WO2019240286A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3813021A4 (en) 2018-06-14 2021-08-11 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE AND TRIDIMENSIONAL DATA DECODING DEVICE
CN112313708A (zh) * 2018-06-15 2021-02-02 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
WO2019244931A1 (ja) 2018-06-19 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11348285B2 (en) * 2019-12-10 2022-05-31 Sony Group Corporation Mesh compression via point cloud representation
WO2021140928A1 (ja) * 2020-01-06 2021-07-15 ソニーグループ株式会社 情報処理装置および方法
EP4071715A4 (en) * 2020-01-07 2023-04-05 Sony Group Corporation INFORMATION PROCESSING DEVICE AND METHOD
WO2021141093A1 (ja) * 2020-01-08 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN115023741A (zh) * 2020-01-09 2022-09-06 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN115335868A (zh) * 2020-03-27 2022-11-11 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US20230316582A1 (en) * 2020-06-30 2023-10-05 Sony Group Corporation Information processing apparatus and method
WO2022080283A1 (ja) * 2020-10-13 2022-04-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687686B2 (en) 2009-04-15 2014-04-01 Electronics And Telecommunications Research Institute 3D contents data encoding/decoding apparatus and method
US10321145B2 (en) * 2014-10-07 2019-06-11 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image by means of view merging prediction
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US10909727B2 (en) * 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
CN108632607B (zh) * 2018-05-09 2019-06-21 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
CN112292713A (zh) 2018-06-12 2021-01-29 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
KR20210018278A (ko) 2018-06-13 2021-02-17 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
EP3813021A4 (en) 2018-06-14 2021-08-11 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE AND TRIDIMENSIONAL DATA DECODING DEVICE
CN112313708A (zh) * 2018-06-15 2021-02-02 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置

Also Published As

Publication number Publication date
JP2023138762A (ja) 2023-10-02
CN112313708A (zh) 2021-02-02
US20230379450A1 (en) 2023-11-23
US11212519B2 (en) 2021-12-28
US20210099696A1 (en) 2021-04-01
JP7330962B2 (ja) 2023-08-22
BR112020024480A2 (pt) 2021-03-02
MX2020013273A (es) 2021-02-18
US20220078404A1 (en) 2022-03-10
WO2019240286A1 (ja) 2019-12-19
JPWO2019240286A1 (ja) 2021-06-24
US11750797B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
JP7330962B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7245244B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019240215A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
KR20210020924A (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
JP7448519B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
KR20210019433A (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
JP7389028B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
KR20210018254A (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
JP7410879B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7478668B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2019244931A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020075862A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7448517B2 (ja) 三次元データの符号化方法、三次元データの復号方法、三次元データの符号化装置、及び三次元データの復号装置
WO2020196677A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7453212B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7444849B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置