KR20210141472A - 정보 처리 장치 및 방법 - Google Patents

정보 처리 장치 및 방법 Download PDF

Info

Publication number
KR20210141472A
KR20210141472A KR1020217027957A KR20217027957A KR20210141472A KR 20210141472 A KR20210141472 A KR 20210141472A KR 1020217027957 A KR1020217027957 A KR 1020217027957A KR 20217027957 A KR20217027957 A KR 20217027957A KR 20210141472 A KR20210141472 A KR 20210141472A
Authority
KR
South Korea
Prior art keywords
point
attribute information
information
unit
layer
Prior art date
Application number
KR1020217027957A
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 KR20210141472A publication Critical patent/KR20210141472A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

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

Abstract

본 개시는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있도록 하는 정보 처리 장치 및 방법에 관한 것이다. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 그 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 속성 정보의 계층화를 행하고, 그 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트를 선택한다. 본 개시는, 예를 들어 정보 처리 장치, 화상 처리 장치, 부호화 장치, 복호 장치, 전자 기기, 정보 처리 방법 또는 프로그램 등에 적용할 수 있다.

Description

정보 처리 장치 및 방법
본 개시는 정보 처리 장치 및 방법에 관한 것으로, 특히 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있도록 한 정보 처리 장치 및 방법에 관한 것이다.
종래, 예를 들어 포인트 클라우드(Point cloud)와 같은 3차원 구조를 나타내는 3D 데이터의 부호화 방법이 고려되었다(예를 들어 비특허문헌 1 참조). 포인트 클라우드의 데이터는, 각 포인트의 위치 정보 및 속성 정보에 의해 구성된다. 따라서 포인트 클라우드의 부호화는, 그 위치 정보와 속성 정보의 각각에 대하여 행해진다. 속성 정보의 부호화 방법으로서 예를 들어, Lifting이라는 기술을 사용하여 행하는 것이 제안되었다(예를 들어 비특허문헌 2 참조).
그런데, 이러한 포인트 클라우드의 부호화 데이터를 스케일러블하게 복호하는 것이 고려되었다. 예를 들어, 광대한 3차원 공간을 포인트 클라우드에 의해 표현하는 경우, 그 부호화 데이터의 데이터양은 매우 커진다. 그 전부를 복호하는 것은 부하가 불필요하게 증대되어 버리므로, 필요한 오브젝트의 데이터를 필요한 해상도로 얻어지도록 스케일러블하게 복호하는 것이 요구되었다.
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video", tcsvt_paper_submitted_february.pdf Khaled Mammou, Alexis Tourapis, Jungsun Kim, Fabrice Robinet, Valery Valentin, Yeping Su, "Lifting Scheme for Lossy Attribute Encoding in TMC1", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42640, April 2018, San Diego, US
그러나, 종래의 부호화 방법의 경우, 속성 정보의 부호화 데이터의 복호에는 최고 해상도의 위치 정보가 필요하였다. 그 때문에 위치 정보를 불필요하게 고해상도로 복호하지 않으면 안되어, 복호 처리의 부하가 증대될 우려가 있었다.
본 개시는, 이러한 상황을 감안하여 이루어진 것이며, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있도록 하는 것이다.
본 기술의 일 측면의 정보 처리 장치는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하는 계층화부를 구비하고, 상기 계층화부는, 상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는 정보 처리 장치이다.
본 기술의 일 측면의 정보 처리 방법은, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하고, 상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는 정보 처리 방법이다.
본 기술의 다른 측면의 정보 처리 장치는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하는 역계층화부를 구비하고, 상기 역계층화부는, 상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는 정보 처리 장치이다.
본 기술의 다른 측면의 정보 처리 방법은, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하고, 상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는 정보 처리 방법이다.
본 기술의 또 다른 측면의 정보 처리 장치는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와, 상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보의 계층화를 행하는 계층화부를 구비하는 정보 처리 장치이다.
본 기술의 또 다른 측면의 정보 처리 장치는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와, 상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 포인트 클라우드의 속성 정보의 계층 구조가 상기 위치 정보의 계층 구조에 대응하는 것으로서, 상기 속성 정보의 역계층화를 행하는 역계층화부를 구비하는 정보 처리 장치이다.
본 기술의 일 측면의 정보 처리 장치 및 방법에 있어서는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 그 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 속성 정보의 계층화가 행해지고, 그 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트가 선택된다.
본 기술의 다른 측면의 정보 처리 장치 및 방법에 있어서는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 그 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 속성 정보의 역계층화가 행해지고, 그 역계층화 시에, 각 계층에 있어서, 참조 포인트의 속성 정보와 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 예측 포인트의 속성 정보의 예측값이 도출되고, 그 예측값과 차분값을 사용하여 예측 포인트의 속성 정보가 도출된다.
본 기술의 또 다른 측면의 정보 처리 장치에 있어서는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보가 생성되고, 그 생성된 정보에 기초하여, 위치 정보의 계층 구조에 대응하도록, 그 포인트 클라우드의 속성 정보의 계층화가 행해진다.
본 기술의 또 다른 측면의 정보 처리 장치에 있어서는, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보가 생성되고, 그 생성된 정보에 기초하여, 그 포인트 클라우드의 속성 정보의 계층 구조가 그 위치 정보의 계층 구조에 대응하는 것으로서, 그 속성 정보의 역계층화가 행해진다.
도 1은 위치 정보의 계층화의 예를 설명하는 도면이다.
도 2는 Lifting의 예를 설명하는 도면이다.
도 3은 Lifting의 예를 설명하는 도면이다.
도 4는 Lifting의 예를 설명하는 도면이다.
도 5는 양자화의 예를 설명하는 도면이다.
도 6은 속성 정보의 계층화 방법의 예를 설명하는 도면이다.
도 7은 속성 정보의 계층화의 예를 설명하는 도면이다.
도 8은 속성 정보의 역계층화의 예를 설명하는 도면이다.
도 9는 속성 정보의 계층화의 예를 설명하는 도면이다.
도 10은 속성 정보의 계층화의 예를 설명하는 도면이다.
도 11은 속성 정보의 역계층화의 예를 설명하는 도면이다.
도 12는 양자화 방법의 예를 설명하는 도면이다.
도 13은 양자화의 예를 설명하는 도면이다.
도 14는 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 15는 속성 정보 부호화부의 주된 구성예를 도시하는 블록도이다.
도 16은 계층화 처리부의 주된 구성예를 도시하는 블록도이다.
도 17은 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 18은 속성 정보 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 19는 계층화 처리의 흐름의 예를 설명하는 흐름도이다.
도 20은 양자화 처리의 흐름의 예를 설명하는 흐름도이다.
도 21은 계층화 처리의 흐름의 예를 설명하는 흐름도이다.
도 22는 양자화 처리의 흐름의 예를 설명하는 흐름도이다.
도 23은 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 24는 속성 정보 복호부의 주된 구성예를 도시하는 블록도이다.
도 25는, 역계층화 처리부의 주된 구성예를 도시하는 블록도이다.
도 26은 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 27은 속성 정보 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 28은 역양자화 처리의 흐름의 예를 설명하는 흐름도이다.
도 29는 역계층화 처리의 흐름의 예를 설명하는 흐름도이다.
도 30은 역양자화 처리의 흐름의 예를 설명하는 흐름도이다.
도 31은 DCM이 적용된 위치 정보의 Octree의 예를 도시하는 도면이다.
도 32는 속성 정보의 처리에 있어서 참조되는 Octree의 예를 도시하는 도면이다.
도 33은 속성 정보의 부호화에 있어서의 Octree의 예를 도시하는 도면이다.
도 34는 속성 정보의 복호에 있어서의 Octree의 예를 도시하는 도면이다.
도 35는 속성 정보의 부호화에 있어서의 Octree의 예를 도시하는 도면이다.
도 36은 속성 정보의 복호에 있어서의 Octree의 예를 도시하는 도면이다.
도 37은 Quantization Weight의 도출예를 도시하는 도면이다.
도 38은 위치 정보의 계층 구조의 예를 도시하는 도면이다.
도 39는 라벨 부착의 예를 도시하는 도면이다.
도 40은 위치 정보의 계층 구조의 예를 도시하는 도면이다.
도 41은 라벨 부착의 예를 도시하는 도면이다.
도 42는 라벨 부착의 예를 도시하는 도면이다.
도 43은 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 44는 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 45는 계층화 처리의 흐름의 예를 설명하는 흐름도이다.
도 46은 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 47은 역계층화 처리의 흐름의 예를 설명하는 흐름도이다.
도 48은 컴퓨터의 주된 구성예를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 실시 형태라고 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 스케일러블 복호
2. 제1 실시 형태(부호화 장치)
3. 제2 실시 형태(복호 장치)
4. DCM
5. QuantizationWeight
6. LoDGeneration
7. 부기
<1. 스케일러블 복호>
<기술 내용ㆍ기술 용어를 서포트하는 문헌 등>
본 기술에서 개시되는 범위는, 실시 형태에 기재되어 있는 내용뿐만 아니라, 출원 당시에 있어서 공지로 되어 있는 이하의 비특허문헌에 기재되어 있는 내용도 포함된다.
비특허 문헌 1: (상술)
비특허 문헌 2: (상술)
비특허 문헌 3: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
비특허 문헌 4:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
비특허 문헌 5: Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
비특허 문헌 6: Sebastien Lasserre, David Flynn, "[PCC] Inference of a mode using point location direct coding in TMC3", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42239, January 2018, Gwangju, Korea
즉, 상술한 비특허문헌에 기재되어 있는 내용도 서포트 요건을 판단할 때의 근거가 된다. 예를 들어, 비특허문헌 4에 기재되어 있는 Quad-Tree Block Structure, 비특허문헌 4에 기재되어 있는 QTBT(Quad Tree Plus Binary Tree) Block Structure가 실시 형태에 있어서 직접적인 기재가 없는 경우라도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 만족시키는 것으로 한다. 또한, 예를 들어 파싱(Parsing), 신택스(Syntax), 시맨틱스(Semantics) 등의 기술 용어에 대해서도 마찬가지로, 실시 형태에 있어서 직접적인 기재가 없는 경우라도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 만족시키는 것으로 한다.
<포인트 클라우드>
종래, 점의 위치 정보나 속성 정보 등에 의해 3차원 구조를 나타내는 포인트 클라우드(Point cloud)나, 정점, 에지, 면으로 구성되고, 다각형 표현을 사용하여 3차원 형상을 정의하는 메쉬(Mesh) 등의 3D 데이터가 존재하였다.
예를 들어 포인트 클라우드의 경우, 입체 구조물(3차원 형상의 오브젝트)을 다수의 점의 집합으로서 표현한다. 즉, 포인트 클라우드의 데이터(포인트 클라우드 데이터라고도 칭함)는, 이 포인트 클라우드의 각 점의 위치 정보나 속성 정보에 의해 구성된다. 속성 정보에는, 예를 들어 색 정보, 반사율 정보, 법선 정보 등이 포함된다. 따라서 데이터 구조가 비교적 단순함과 함께, 충분히 많은 점을 사용함으로써 임의의 입체 구조물을 충분한 정밀도로 표현할 수 있다.
<Octree>
이러한 포인트 클라우드 데이터는 그 데이터양이 비교적 크므로, 예를 들어 비특허문헌 1에 기재된 바와 같이, 부호화에 따른 데이터양을 압축하는 것이 고려되었다. 예를 들어, 우선, 포인트 클라우드의 위치 정보를 부호화(복호)하고, 계속해서 속성 정보를 부호화(복호)한다. 위치 정보는, 부호화 시에, 복셀을 사용하여 양자화되고, 또한 Octree화에 의해 계층화된다.
복셀은, 3차원 공간을 분할하는 소정의 크기의 소(小) 영역이다. 이 복셀별로 포인트가 배치되도록 위치 정보가 보정된다. 2차원으로서 설명하면, 예를 들어 도 1의 A에 도시되는 바와 같이, 어떤 영역(10)이, 사각형으로 표시되는 복셀(11-1)에 의해 분할되고, 그 복셀(11-1)별로 검정색 동그라미로 표시되는 포인트(12-1)가 배치되도록 각 포인트(12-1)의 위치 정보가 보정된다. 즉, 이 복셀의 크기에 따라 위치 정보가 양자화된다. 또한, 도 1의 A에 있어서는, 1개의 복셀(11-1)에만 부호를 붙이고 있지만, 도 1의 A의 영역(10) 내의 모든 사각이 복셀(11-1)이다. 마찬가지로, 도 1의 A에 도시되는 모든 검정색 동그라미가 포인트(12-1)이다.
Octree에서는, 1개의 복셀이 x, y, z의 각 방향으로 2분할되어(즉 8분할되어) 1개 하위의 계층(LoD라고도 칭함)의 복셀이 형성된다. 환언하건대, x, y, z의 각 방향으로 배열되는 2개의 복셀(즉 8개의 복셀)이 통합되어, 1개 상위의 계층(LoD)의 복셀이 형성된다. 그리고, 각 계층에 있어서 위치 정보가 복셀에 의해 양자화된다.
예를 들어 도 1의 A의 경우, 2차원이므로, 도 1의 B와 같이 상하 좌우로 배열되는 4개의 복셀(11-1)이 통합되어, 굵은 선으로 표시되는 1개 상위의 복셀(11-2)이 형성된다. 그리고 이 복셀(11-2)을 사용하여 위치 정보가 양자화된다. 즉, 복셀(11-2) 내에, 포인트(12-1)(도 1의 A)가 존재하는 경우, 그 위치 정보를 보정함으로써, 그 포인트(12-1)가, 복셀(11-2)에 대응하는 포인트(12-2)로 변환된다. 또한, 도 1의 B에 있어서는, 1개의 복셀(11-1)에만 부호를 붙이고 있지만, 도 1의 B의 영역(10) 내의 점선으로 표시되는 모든 사각이 복셀(11-1)이다. 또한, 도 1의 B에 있어서는, 1개의 복셀(11-2)에만 부호를 붙이고 있지만, 도 1의 B의 영역(10) 내의 굵은 선으로 표시되는 모든 사각이 복셀(11-2)이다. 마찬가지로, 도 1의 B에 도시되는 모든 검정색 동그라미가 포인트(12-2)이다.
마찬가지로, 도 1의 C와 같이, 상하 좌우로 배열되는 4개의 복셀(11-2)이 통합되어, 굵은 선으로 표시되는 1개 상위의 복셀(11-3)이 형성된다. 그리고 이 복셀(11-3)을 사용하여 위치 정보가 양자화된다. 즉, 복셀(11-3) 내에, 포인트(12-2)(도 1의 B)가 존재하는 경우, 그 위치 정보를 보정함으로써, 그 포인트(12-2)가, 복셀(11-3)에 대응하는 포인트(12-3)로 변환된다. 또한, 도 1의 C에 있어서는, 1개의 복셀(11-2)에만 부호를 붙이고 있지만, 도 1의 C의 영역(10) 내의 점선으로 표시되는 모든 사각이 복셀(11-2)이다. 또한, 도 1의 C에 있어서는, 1개의 복셀(11-3)에만 부호를 붙이고 있지만, 도 1의 C의 영역(10) 내의 굵은 선으로 표시되는 모든 사각이 복셀(11-3)이다. 마찬가지로, 도 1의 C에 도시되는 모든 검정색 동그라미가 포인트(12-3)이다.
마찬가지로, 도 1의 D와 같이, 상하 좌우로 배열되는 4개의 복셀(11-3)이 통합되어, 굵은 선으로 표시되는 1개 상위의 복셀(11-4)이 형성된다. 그리고 이 복셀(11-4)을 사용하여 위치 정보가 양자화된다. 즉, 복셀(11-4) 내에, 포인트(12-3)(도 1의 C)가 존재하는 경우, 그 위치 정보를 보정함으로써, 그 포인트(12-3)가, 복셀(11-4)에 대응하는 포인트(12-4)로 변환된다. 또한, 도 1의 D에 있어서는, 1개의 복셀(11-3)에만 부호를 붙이고 있지만, 도 1의 D의 영역(10) 내의 점선으로 표시되는 모든 사각이 복셀(11-3)이다.
이와 같이 함으로써, 위치 정보가 복셀의 계층 구조에 대응하여 계층화된다.
<Lifting>
이에 비해 속성 정보를 부호화할 때에는, 부호화에 의한 열화를 포함시켜 위치 정보를 기지인 것으로 하여, 점간의 위치 관계를 이용하여 부호화를 행한다. 이러한 속성 정보의 부호화 방법으로서, RAHT(Region Adaptive Hierarchical Transform)나, 비특허문헌 2에 기재된 바와 같은 Lifting이라고 칭하는 변환을 사용하는 방법이 고려되었다. 이들 기술을 적용함으로써, 위치 정보의 Octree와 같이 속성 정보를 계층화할 수도 있다.
예를 들어 Lifting의 경우, 각 포인트의 속성 정보는, 다른 포인트의 속성 정보를 사용하여 도출되는 예측값과의 차분값으로서 부호화된다. 그리고, 그 차분값의 도출(즉 예측값의 도출)을 행하는 포인트가 계층적으로 선택된다.
예를 들어 2차원으로서 설명하면, 도 2의 A에 도시되는 계층에 있어서, 동그라미로 표시되는 각 포인트(P0 내지 P9) 중, 흰색 동그라미로 표시되는 포인트(P7, P8, P9)가, 예측값이 도출되는 포인트인 예측 포인트로서 선택되고, 그 이외의 포인트(P0 내지 P6)는, 그 예측값 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로서 선택된다. 그리고, 예측 포인트(P7)의 예측값은, 참조 포인트(P0 및 P1)의 속성 정보를 참조하여 도출된다. 예측 포인트(P8)의 예측값은, 참조 포인트(P2 및 P3)의 속성 정보를 참조하여 도출된다. 예측 포인트(P9)의 예측값은, 참조 포인트(P4 내지 P6)의 속성 정보를 참조하여 도출된다. 즉, 이 계층에 있어서는 포인트(P7 내지 P9)의 각각의 차분값이 도출된다.
그 1개 상위의 계층에 있어서는, 도 2의 B에 도시되는 바와 같이, 도 2의 A의 계층(1개 하위의 계층)에 있어서 참조 포인트로 선택된 포인트(P0 내지 P6)에 대하여, 도 2의 A의 계층의 경우와 마찬가지의 예측 포인트와 참조 포인트의 분류(구분)가 행해진다.
예를 들어, 도 2의 B에 있어서 그레이색 동그라미로 표시되는 포인트(P1, P3, P6)가 예측 포인트로서 선택되고, 검정색 동그라미로 표시되는 포인트(P0, P2, P4, P5)가 참조 포인트로서 선택된다. 그리고, 예측 포인트(P1)의 예측값은, 참조 포인트(P0 및 P2)의 속성 정보를 참조하여 도출된다. 예측 포인트(P3)의 예측값은, 참조 포인트(P2 및 P4)의 속성 정보를 참조하여 도출된다. 예측 포인트(P6)의 예측값은, 참조 포인트(P4 및 P5)의 속성 정보를 참조하여 도출된다. 즉, 이 계층에 있어서는, 포인트(P1, P3, P6)의 각각의 차분값이 도출된다.
그 1개 상위의 계층에 있어서는, 도 2의 C에 도시되는 바와 같이, 도 2의 B의 계층(1개 하위의 계층)에 있어서 참조 포인트로 선택된 포인트(P0, P2, P4, P5)의 분류(구분)가 행해진다.
이러한 분류를, 1개 하위의 계층의 참조 포인트에 대하여 재귀적으로 반복함으로써, 속성 정보가 계층화된다.
<포인트의 분류>
이 Lifting에 있어서의 포인트의 분류(구분)의 수순을 보다 구체적으로 설명한다. Lifting에 있어서 포인트의 분류는, 상술한 바와 같이 하위층으로부터 상위층을 향하는 순으로 행해진다. 각 계층에 있어서는, 우선, 각 포인트를 모턴 코드순으로 정렬시킨다. 다음에, 그 모턴 코드순으로 배열되는 포인트의 열의 선두 포인트를 참조 포인트로 선택한다. 다음에, 그 참조 포인트의 근방에 위치하는 포인트(근방점)를 탐색하고, 탐색된 포인트(근방점)를 예측 포인트(인덱스 포인트라고도 칭함)로 설정한다.
예를 들어, 도 3에 도시되는 바와 같이, 처리 대상의 참조 포인트(21)를 중심으로 반경 R의 원(22) 내에 있어서 포인트를 탐색한다. 이 반경 R은 계층별로 미리 설정되어 있다. 도 3의 예의 경우, 포인트(23-1) 내지 포인트(23-4)가 검출되고, 예측 포인트로 설정된다.
다음에, 남은 포인트에 대하여 마찬가지의 분류를 행한다. 즉, 현시점에 있어서 참조 포인트로도 예측 포인트로도 선택되어 있지 않은 포인트 중, 모턴 코드순으로 선두의 포인트를 참조 포인트로 선택하고, 그 참조 포인트 근방의 포인트를 탐색하여, 예측 포인트로 설정한다.
모든 포인트를 분류할 때까지 상술한 처리를 반복하면, 그 계층의 처리가 종료되고, 처리 대상이 1개 상위의 계층으로 이행된다. 그리고, 그 계층에 대하여, 상술한 수순이 반복된다. 즉, 1개 하위의 계층에 있어서 참조 포인트로 선택된 각 포인트가 모턴 코드순으로 정렬되고, 상술한 바와 같이 참조 포인트와 예측 포인트로 분류된다. 이상과 같은 처리를 반복함으로써, 속성 정보가 계층화된다.
<예측값의 도출>
또한 상술한 바와 같이 Lifting의 경우, 예측 포인트의 속성 정보의 예측값은, 그 예측 포인트 주변의 참조 포인트의 속성 정보를 사용하여 도출된다. 예를 들어, 도 4에 도시되는 바와 같이, 예측 포인트 Q(i,j)의 예측값을, 참조 포인트(P1) 내지 P3의 속성 정보를 참조하여 도출하는 것으로 한다. 이 경우, 이하의 식 (1)과 같이, 각 참조 포인트의 속성 정보가, 예측 포인트와 그 참조 포인트의 거리의 역수에 따른 가중치(α(P,Q(i,j)))에 의해 가중치 부여되어 통합되어 도출된다. 여기서 A(P)는 포인트(P)의 속성 정보를 나타낸다.
Figure pct00001
이 예측 포인트와 그 참조 포인트의 거리의 도출에, 최고 해상도(즉 최하위층)의 위치 정보가 사용되었다.
<양자화>
또한, 속성 정보는, 상술한 바와 같이 계층화된 후, 양자화되어 부호화된다. 그 양자화 시에, 각 포인트의 속성 정보(차분값)는, 계층 구조에 따라 도 5의 예와 같이 가중치 부여된다. 이 가중치(Quantization Weight) W는, 도 5에 도시되는 바와 같이, 하위층의 가중치를 사용하여 포인트별로 도출된다. 또한, 이 가중치는, 압축 효율을 향상시키기 위해, Lifting(속성 정보의 계층화)에 있어서도 이용될 수 있다.
<계층 구조의 불일치>
상술한 바와 같이 속성 정보의 계층화의 방법은, 위치 정보의 Octree의 경우와 다르므로, 속성 정보의 계층 구조가 위치 정보의 계층 구조와 일치하는 것이 보증되지 않는다. 그 때문에, 중간 해상도(최하위층보다 상위의 계층)에 있어서, 속성 정보의 포인트와 위치 정보의 포인트가 일치하지 않아, 그 중간 해상도의 위치 정보를 사용해도 속성 정보의 예측을 정확하게 행할 수 없다(즉, 속성 정보의 역계층화가 곤란하다)고 하는 케이스가 발생할 우려가 있었다.
환언하건대, 속성 정보를 정확하게 복호(역계층화)하기 위해서는, 그 계층에 상관없이, 위치 정보를 최하위층까지 복호할 필요가 있어, 복호 처리의 부하가 증대될 우려가 있었다.
<위치의 불일치>
또한 상술한 바와 같이 위치 정보는 복셀에 의해 양자화되므로, 계층에 따라 포인트의 위치 정보가 변화할 가능성이 있다. 그 때문에, 중간 해상도의 위치 정보로는 속성 정보의 예측을 정확하게 행할 수 없다(즉, 속성 정보의 역계층화가 곤란하다)고 하는 케이스가 발생할 우려가 있었다.
환언하건대, 속성 정보를 정확하게 복호(역계층화)하기 위해서는, 그 계층에 상관없이, 위치 정보를 최하위층까지 복호할 필요가 있어, 복호 처리의 부하가 증대될 우려가 있었다.
<속성 정보의 계층화: 방법 1>
그래서, 도 6에 도시되는 표의 가장 위의 행에 기재된 바와 같이, 포인트가 존재하는 복셀이 속하는 1개 상위의 계층(LoD)의 복셀에 속성 정보가 남도록 예측 포인트를 선택한다(방법 1).
즉, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 속성 정보의 계층화를 행하고, 그 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트를 선택하도록 한다.
예를 들어, 정보 처리 장치에 있어서, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 속성 정보의 계층화를 행하는 계층화부를 구비하고, 그 계층화부는, 그 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트를 선택하도록 한다.
2차원으로서 설명하면, 예를 들어 부호화는 도 7과 같이 행해진다. 예를 들어, 도 7의 A에 도시되는 바와 같이, 소정의 공간 영역(100)에 있어서, 포인트(102-1) 내지 포인트(102-9)가 소정의 계층의 복셀(101-1)별로 배치되도록, 위치 정보가 설정되어 있는 것으로 한다. 또한, 복셀(101-1) 내지 복셀(101-3)을 서로 구별하여 설명할 필요가 없는 경우, 복셀(101)이라고 칭한다. 또한, 포인트(102-1) 내지 포인트(102-9)를 서로 구별하여 설명할 필요가 없는 경우, 포인트(102)라고 칭한다.
이 계층에 있어서, 도 7의 B에 도시되는 바와 같이, 포인트(102-1) 내지 포인트(102-9)가 존재하는 복셀(101-1)의 1개 상위 계층의 복셀(101-2)에도 포인트가 존재하도록, 포인트(102-1) 내지 포인트(102-9)를 예측 포인트와 참조 포인트로 분류한다. 도 7의 B의 예에서는, 흰색 동그라미로 표시되는 포인트(102-3), 포인트(102-5) 및 포인트(102-8)가 예측 포인트로 설정되고, 그 밖의 포인트가 참조 포인트로 설정되어 있다.
1개 상위의 계층에 있어서도 마찬가지로, 포인트(102-1), 포인트(102-2), 포인트(102-4), 포인트(102-6), 포인트(102-7), 포인트(102-9)가 존재하는 복셀(101-2)의 1개 상위 계층의 복셀(101-3)에도 포인트가 존재하도록, 이들 포인트(102)를 예측 포인트와 참조 포인트로 분류한다(도 7의 C). 도 7의 C의 예에서는, 그레이색 동그라미로 표시되는 포인트(102-1), 포인트(102-4) 및 포인트(102-7)가 예측 포인트로 설정되고, 그 밖의 포인트가 참조 포인트로 설정되어 있다.
이와 같이 함으로써, 도 7의 D에 도시되는 바와 같이, 하위층에 있어서 포인트(102)가 존재하는 복셀(101-3)에는, 포인트(102)가 1개 존재하도록 계층화된다. 이러한 처리를 각 계층에 대하여 행한다. 즉, Octree와 마찬가지의 계층화를 실현할 수 있다.
복호는, 예를 들어 도 8과 같이, 도 7의 역순으로 행해진다. 예를 들어, 도 8의 A에 도시되는 바와 같이, 소정의 공간 영역(100)에 있어서, 포인트(102-2), 포인트(102-6), 포인트(102-9)가 소정의 계층의 복셀(101-3)별로 배치되도록, 위치 정보가 설정되어 있는 것으로 한다(도 7의 D와 마찬가지의 상태).
이 1개 하위의 계층에 있어서는, 도 8의 B에 도시되는 바와 같이, 복셀(101-3)별 포인트(102-2), 포인트(102-6), 포인트(102-9)의 속성 정보를 사용하여, 포인트(102-1), 포인트(102-4), 포인트(102-7)의 예측값을 도출하여 차분값에 가산하고, 복셀(101-2)별 포인트(102)의 속성 정보를 복원한다(도 7의 C와 마찬가지의 상태).
또한, 1개 하위의 계층에 있어서도 마찬가지로, 도 8의 C에 도시되는 바와 같이, 복셀(101-2)별 포인트(102-1), 포인트(102-2), 포인트(102-4), 포인트(102-6), 포인트(102-7), 포인트(102-9)의 속성 정보를 사용하여, 포인트(102-3), 포인트(102-5), 포인트(102-8)의 예측값을 도출하여 차분값에 가산하고, 속성 정보를 복원한다(도 7의 B와 마찬가지의 상태).
이와 같이 함으로써, 도 8의 D에 도시되는 바와 같이, 복셀(101-1)별 포인트(102)의 속성 정보가 복원된다(도 7의 A와 마찬가지의 상태). 즉, Octree의 경우와 마찬가지로, 상위 계층의 속성 정보를 사용하여 각 계층의 속성 정보를 복원할 수 있다.
이와 같이 함으로써, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 따라서, 중간 해상도에 있어서도 각 속성 정보에 대응하는 위치 정보가 얻어지므로, 그 중간 해상도로 위치 정보 및 속성 정보를 복호함으로써, 속성 정보를 정확하게 복호할 수 있다. 따라서, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
<속성 정보의 계층화: 방법 1-1>
상술한 방법 1을 적용한 경우의 예측값 도출 시에, 도 6에 도시되는 표의 위에서 2번째의 행에 기재된 바와 같이, 부호화ㆍ복호의 양쪽에 있어서, 현재 계층(LoD)의 해상도의 위치 정보를 사용하여 예측값을 도출하도록 해도 된다(방법 1-1).
예를 들어, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 그 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 속성 정보의 역계층화를 행하고, 그 역계층화 시에, 각 계층에 있어서, 참조 포인트의 속성 정보와 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 예측 포인트의 속성 정보의 예측값을 도출하고, 그 예측값과 차분값을 사용하여 예측 포인트의 속성 정보를 도출하도록 해도 된다.
또한 예를 들어, 정보 처리 장치에 있어서, 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 그 포인트 클라우드의 각 포인트를 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 그 예측값의 도출 시에 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 속성 정보의 역계층화를 행하는 역계층화부를 구비하고, 그 역계층화부는, 그 역계층화 시에, 각 계층에 있어서, 참조 포인트의 속성 정보와 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 예측 포인트의 속성 정보의 예측값을 도출하고, 그 예측값과 차분값을 사용하여 예측 포인트의 속성 정보를 도출하도록 해도 된다.
또한 예를 들어, 역계층화에 있어서, 참조 포인트의 속성 정보와, 참조 포인트 및 예측 포인트의 커런트 계층의 해상도의 위치 정보를 사용하여, 예측값을 도출하도록 해도 된다.
도 4를 참조하여 설명한 바와 같이, 예측 포인트의 예측값의 도출은, 예측 포인트와 참조 포인트의 거리에 따라 가중치 부여한 참조 포인트의 속성 정보를 사용하여 행해진다.
이 거리의 도출을, 부호화ㆍ복호의 어느 쪽의 경우도, 처리 대상인 현재 계층(커런트 계층)의 해상도의 위치 정보를 사용하여 행하도록 해도 된다. 즉, 계층화에 있어서, 포인트 클라우드의 커런트 계층의 해상도의 위치 정보에 기초하는 거리에 따라 가중치 부여한 참조 포인트의 속성 정보를 사용하여 예측 포인트의 예측값을 도출하도록 해도 된다.
부호화의 경우, 도 7의 B에 있어서는, 복셀(101-1)의 해상도의 위치 정보를 사용하여 예측 포인트와 참조 포인트의 거리를 도출하고, 도 7의 C에 있어서는, 복셀(101-2)의 해상도의 위치 정보를 사용하여 예측 포인트와 참조 포인트의 거리를 도출한다. 복호의 경우도 마찬가지로, 도 8의 B에 있어서는, 복셀(101-2)의 해상도의 위치 정보를 사용하여 예측 포인트와 참조 포인트의 거리를 도출하고, 도 8의 C에 있어서는, 복셀(101-1)의 해상도의 위치 정보를 사용하여 예측 포인트와 참조 포인트의 거리를 도출한다.
이와 같이 함으로써, 부호화와 복호의 양쪽에 있어서 서로 동일한 거리를 도출할 수 있다. 즉, 서로 동일한 예측값을 도출할 수 있다. 따라서, 속성 정보를 중간 해상도로 복호하는 경우에도, 거리 산출의 오차에 따른 정밀도의 저감(복호에 따른 오차의 증대)을 억제할 수 있다. 보다 구체적으로는, 속성 정보를 중간 해상도로 복호하는 경우, 후술하는 방법 1-1'의 경우보다 정확하게 복호할 수 있다. 또한, 후술하는 방법 1-2의 경우보다 부호화ㆍ복호의 부하의 증대를 억제할 수 있다.
또한, 복호(역계층화)의 경우(도 8), 중간 해상도의 각 포인트의 위치 정보와 속성 정보로부터에서는, 서로의 대응 관계가 불분명하다. 예를 들어, 도 8의 B에 있어서, 각 포인트(102)가, 어느 복셀(101-2)에 존재하는가가 불명확하다. 그래서, 계층화의 경우와 마찬가지로 위치 정보를 사용하여 속성 정보의 계층화(복호할 중간 해상도까지의 계층화)를 행함으로써, 각 계층에 있어서 각 포인트의 속성 정보와 위치 정보를 대응짓도록 해도 된다. 이와 같이 함으로써, 보다 정확하게 역계층화를 행할 수 있다.
<속성 정보의 계층화: 방법 1-1'>
또한, 상술한 방법 1을 적용한 경우의 예측값 도출 시에, 도 6에 도시되는 표의 위에서 3번째의 행에 기재된 바와 같이, 복호에 있어서, 현재 계층(LoD)의 해상도의 위치 정보를 사용하여 예측값을 도출하도록 해도 된다(방법 1-1'). 즉, 부호화에 있어서는, 최대 해상도(최하층의 해상도)의 위치 정보는 기지이므로, 그 최대 해상도의 위치 정보를 사용하여 예측값(보다 구체적으로는, 예측값의 도출에 사용되는 참조 포인트와 예측 포인트의 거리)을 도출하도록 해도 된다.
즉, 포인트 클라우드의 최하층의 해상도의 위치 정보에 기초하는 거리에 따라 가중치 부여한 참조 포인트의 속성 정보를 사용하여 예측 포인트의 예측값을 도출하도록 해도 된다.
예를 들어, 도 9의 A에 도시되는 계층(도 7의 A와 동일한 계층)을 최하층이라고 하면, 포인트(102-3), 포인트(102-5), 포인트(102-8)의 예측값 도출은, 도 9의 B에 도시되는 바와 같이, 복셀(101-1)의 해상도의 위치 정보를 사용하여 행해진다. 이것은 도 7의 B의 경우와 마찬가지이다.
단, 이 경우, 도 9의 C에 도시되는 바와 같이, 포인트(102-1), 포인트(102-4), 포인트(102-7)의 예측값 도출도, 도 9의 B의 경우와 마찬가지로, 복셀(101-1)의 해상도의 위치 정보를 사용하여 행해진다. 즉, 도 9의 D에 도시되는 바와 같이, 복셀(101-3)별 포인트(102-2), 포인트(102-6), 포인트(102-9)의 위치 정보도 복셀(101-1)의 해상도를 갖는다.
이와 같이 함으로써, 방법 1-1의 경우에 비하여 예측 정밀도를 향상시킬 수 있으므로, 방법 1-1의 경우보다 부호화 효율을 향상시킬 수 있다. 단, 복호 시에는, 도 9의 D에 도시되는 바와 같이, 복셀(101-3)별 포인트(102-2), 포인트(102-6), 포인트(102-9)의 위치 정보가 복셀(101-1)의 해상도를 가질 수 없으므로, 복호는 도 8의 경우(방법 1-1)와 마찬가지로 행해진다. 즉, 부호화와 복호에서 서로 다른 해상도의 위치 정보를 사용하여 참조 포인트와 예측 포인트의 거리가 도출된다.
<속성 정보의 계층화: 방법 1-2>
또한, 상술한 방법 1을 적용한 경우의 예측값 도출 시에, 도 6에 도시되는 표의 가장 밑의 행에 기재된 바와 같이, 가상의 참조 포인트를 사용하여 예측값을 도출하도록 해도 된다(방법 1-2). 즉, 계층화에 있어서, 커런트 계층의 포인트를 전부 예측 포인트로 분류하고, 1개 상위 계층의 복셀 내에 참조 포인트를 설정하고, 참조 포인트의 속성 정보를 사용하여 각 예측 포인트의 예측값을 도출하도록 해도 된다.
또한, 예를 들어 역계층화에 있어서, 참조 포인트의 속성 정보와, 참조 포인트의 커런트 계층의 1개 상위 계층의 해상도의 위치 정보와, 예측 포인트의 커런트 계층의 해상도의 위치 정보를 사용하여, 각 예측 포인트의 예측값을 도출하도록 해도 된다.
2차원으로서 설명하면, 예를 들어 부호화는 도 10과 같이 행해진다. 도 10의 A는, 도 7과 동일한 계층을 도시하고 있고, 공간 영역(100)에는, 포인트(102-1) 내지 포인트(102-9)와 마찬가지의 복셀(101-1)별 포인트(111-1) 내지 포인트(111-9)가 존재하고 있다. 또한, 포인트(111-1) 내지 포인트(111-9)를 서로 구별하여 설명할 필요가 없는 경우, 포인트(111)라고 칭한다.
이 경우, 도 7의 경우와 달리, 포인트(111-1) 내지 포인트(111-9)는 전부 예측 포인트로 설정된다. 그리고, 도 10의 B에 도시되는 바와 같이, 복셀(101-1)의 1개 상위의 계층의, 그들의 예측 포인트(포인트(111))가 존재하는 복셀(101-1)이 속하는 복셀(101-2)에, 참조 포인트로서, 복셀(101-2)별 가상의 포인트(112-1) 내지 포인트(112-7)가 설정된다. 또한, 포인트(112-1) 내지 포인트(112-7)를 서로 구별하여 설명할 필요가 없는 경우, 포인트(112)라고 칭한다.
새롭게 설정한 가상의 포인트(112)의 속성 정보는, 리컬러 처리함으로써, 근방의 포인트(111)의 속성 정보를 사용하여 도출한다. 또한, 포인트(112)의 위치는, 복셀(101-2) 내라면 임의이며, 도 10의 B에 도시되는 중앙 이외여도 된다.
도 10의 B에 도시되는 바와 같이, 각 예측 포인트(포인트(111))의 예측값은, 이들 참조 포인트(포인트(112))를 사용하여 도출된다.
그리고, 그 1개 위의 계층에 있어서는, 도 10의 C에 도시되는 바와 같이, 도 10의 B에 있어서 설정한 포인트(112)가 예측 포인트로 설정된다. 그리고, 도 10의 B의 경우와 마찬가지로, 복셀(101-2)의 1개 상위의 계층의, 그들의 예측 포인트(포인트(112))가 존재하는 복셀(101-2)이 속하는 복셀(101-3)에, 참조 포인트로서, 복셀(101-3)별 가상의 포인트(113-1) 내지 포인트(113-3)가 설정된다. 또한, 포인트(113-1) 내지 포인트(113-3)를 서로 구별하여 설명할 필요가 없는 경우, 포인트(113)라고 칭한다.
새롭게 설정한 가상의 포인트(113)의 속성 정보는, 포인트(112)의 경우와 마찬가지로 리컬러 처리에 의해 도출된다. 도 10의 C에 도시되는 바와 같이, 각 예측 포인트(포인트(112))의 예측값은, 이들 참조 포인트(포인트(113))를 사용하여 도출된다.
이와 같이 함으로써, 도 10의 D에 도시되는 바와 같이, 하위층에 있어서 포인트(111)가 존재하는 복셀(101-3)에는, 포인트(113)가 1개 존재하도록 계층화된다. 이러한 처리를 각 계층에 대하여 행한다. 즉, Octree와 마찬가지의 계층화를 실현할 수 있다.
복호는, 예를 들어 도 11과 같이, 도 10의 역순으로 행해진다. 예를 들어, 도 11의 A에 도시되는 바와 같이, 소정의 공간 영역(100)에 있어서, 포인트(113-1) 내지 포인트(113-3)가 소정의 계층의 복셀(101-3)별로 배치되도록, 위치 정보가 설정되어 있는 것으로 한다(도 10의 D와 마찬가지의 상태).
이 1개 하위의 계층에 있어서는, 도 11의 B에 도시되는 바와 같이, 복셀(101-3)별 포인트(113-1) 내지 포인트(113-3)의 속성 정보를 사용하여, 포인트(112-1) 내지 포인트(112-7)의 예측값을 도출하여 차분값에 가산하고, 복셀(101-2)별 포인트(112)의 속성 정보를 복원한다(도 10의 C와 마찬가지의 상태).
또한, 1개 하위의 계층에 있어서도 마찬가지로, 도 11의 C에 도시되는 바와 같이, 복셀(101-2)별 포인트(112-1) 내지 포인트(112-7)의 속성 정보를 사용하여, 포인트(111-1) 내지 포인트(111-9)의 예측값을 도출하여 차분값에 가산하고, 속성 정보를 복원한다(도 10의 B와 마찬가지의 상태).
이와 같이 함으로써, 도 11의 D에 도시되는 바와 같이, 복셀(101-1)별 포인트(111)의 속성 정보가 복원된다(도 10의 A와 마찬가지의 상태). 즉, Octree의 경우와 마찬가지로, 상위 계층의 속성 정보를 사용하여 각 계층의 속성 정보를 복원할 수 있다.
또한, 이 경우, 리컬러 처리된 가상의 포인트를 사용하여 예측을 행하므로, 방법 1-1이나 방법 1-1'의 경우와 비교하여 예측 정밀도를 향상시킬 수 있다. 즉, 방법 1-1이나 방법 1-1'의 경우보다 부호화 효율을 향상시킬 수 있다. 또한, 이 방법의 경우, 부호화와 복호에 있어서 서로 동일한 해상도의 위치 정보를 사용하여 참조 포인트와 예측 포인트의 거리를 도출할 수 있으므로, 방법 1-1'의 경우보다 정확하게 복호할 수 있다. 단, 이 경우, 가상의 포인트를 설정하거나, 리컬러 처리를 행하거나 하므로, 그만큼 부하는 증대된다.
<속성 정보의 계층화: 조합>
또한, 상술한 각 방법 중 어느 것을 선택하여 적용할 수 있도록 해도 된다. 그 경우, 부호화측이 방법을 선택하여 적용하고, 그 중 어느 방법을 선택하였는가를 나타내는 정보를, 부호화측으로부터 복호측으로 전송하고, 복호측이 그 정보에 기초하여 부호화측과 동일한 방법을 적용하도록 하면 된다.
<가중치의 도출 시의 하위층의 참조>
그런데 <양자화>에 있어서 설명한 바와 같이, 속성 정보(차분값)의 양자화나, 계층화에 사용되는 가중치(Quantization Weight) W는, 하위층의 가중치를 사용하여 포인트별로 도출된다. 따라서, 복호 시에는, 중간 해상도의 속성 정보를 역양자화하기 위해, 그보다 하위층의 가중치가 필요하였다. 즉, 스케일러블한 복호를 행하는 것이 곤란하였다. 환언하건대, 원하는 중간 해상도의 속성 정보를 복호하기 위해, 모든 계층을 복호해야 하므로, 복호 처리의 부하가 증대될 우려가 있었다.
<가중치: 방법 1>
그래서, 도 12에 도시되는 표의 가장 위의 행에 기재된 바와 같이, 상술한 포인트별 가중치 대신에, 계층(LoD)별 가중치를 사용하여 속성 정보의 양자화ㆍ역양자화를 행하도록 해도 된다(방법 1). 즉, 상술한 바와 같이 생성된 각 계층의 각 포인트의 차분값을, 계층별 가중치를 사용하여 양자화ㆍ역양자화하도록 해도 된다.
예를 들어, 도 13에 도시되는 바와 같이, 어떤 계층 LoD(N)에 대하여 가중치(Quantization Weight)를 C0으로 설정하고, 그 계층 LoD(N)의 모든 포인트의 속성 정보(차분값)를, 가중치 C0을 사용하여 양자화ㆍ역양자화한다. 또한, 그 1개 상위의 계층 LoD(N-1)에 대한 가중치를 C1로 설정하고, 그 계층 LoD(N-1)의 모든 포인트의 속성 정보(차분값)를, 가중치 C1을 사용하여 양자화ㆍ역양자화한다. 또한, 그 1개 상위의 계층 LoD(N-2)에 대한 가중치를 C2로 설정하고, 그 계층 LoD(N-2)의 모든 포인트의 속성 정보(차분값)를, 가중치 C2를 사용하여 양자화ㆍ역양자화한다.
또한, 이들 가중치 C0, C1, C2는 서로 독립적으로 설정한다. 포인트별 가중치를 사용하는 경우, 동 계층의 포인트간에서의 가중치 부여를 어떻게 행할까를 고려할 필요가 있으므로, 처리가 복잡해질 뿐만 아니라, 예를 들어 하위층의 정보가 필요하게 되는 등, 계층별 가중치의 독립화가 곤란하게 될 우려도 있다. 이에 비해 계층별 가중치는 보다 용이하게, 서로 독립적으로 도출할 수 있다.
이러한 계층간에서 독립적인 가중치를 적용함으로써, 하위층에 의존하지 않는 양자화ㆍ역양자화가 가능하게 된다. 즉, 상술한 바와 같이 하위층의 정보의 참조가 불필요하므로, 보다 용이하게 스케일러블한 복호를 실현할 수 있다.
또한, 상위 계층의 가중치일수록 값이 커지도록 해도 된다(도 13의 예의 경우, C0≤C1≤C2). 일반적으로, 계층화된 속성 정보는, 보다 상위 계층의 것일수록 보다 많은 포인트의 속성 정보에 영향을 미치므로(직접적 또는 간접적으로 예측값의 도출에 사용되므로), 보다 중요하다. 따라서, 보다 상위의 계층의 속성 정보(차분값)를 보다 큰 값의 가중치를 사용하여 양자화ㆍ역양자화함으로써, 부호화ㆍ복호의 정밀도의 저감을 억제할 수 있다.
<가중치: 방법 1-1>
또한, 방법 1을 적용하는 경우, 도 12에 도시되는 표의 위에서 2번째의 행에 기재된 바와 같이, 부호화와 복호에 있어서 가중치를 도출하기 위한 함수(가중치 도출 함수)를 공유하도록 해도 된다(방법 1-1). 즉, 부호화와 복호에 있어서, 서로 동일한 가중치 도출 함수를 사용하여, 상술한 계층별 가중치를 도출하도록 해도 된다. 이와 같이 함으로써, 부호화와 복호에 있어서, 서로 동일한 가중치를 도출할 수 있으므로, 양자화ㆍ역양자화에 따른 정밀도의 저감을 억제할 수 있다.
또한, 이 가중치 도출 함수는 어떠한 함수여도 된다. 즉, 이 가중치 도출 함수에 의해 도출되는 각 계층의 가중치는 임의이다. 예를 들어, 계층이 상위일수록 큰 가중치가 얻어지는 함수(계층에 따라 단조 증가하는 함수)여도 된다. 또한, 그 가중치의 계층별 증가율은 일정해도 되고, 일정하지 않아도 된다. 또한, 이 가중치 도출 함수에 의해 도출되는 가중치의 범위도 임의이다.
<가중치: 방법 1-1-1>
또한, 그 경우, 도 12에 도시되는 표의 위에서 3번째의 행에 기재된 바와 같이, 소정의 함수를 미리 공유하도록 해도 된다(방법 1-1-1). 즉, 부호화와 복호에 있어서, 미리 정해진 서로 동일한 가중치 도출 함수를 사용하여, 상술한 계층별 가중치를 도출하도록 해도 된다. 이와 같이 함으로써, 보다 용이하게 부호화와 복호에 있어서 가중치 도출 함수를 공유할 수 있다.
<가중치: 방법 1-1-2>
또한, 도 12에 도시되는 표의 위에서 4번째의 행에 기재된 바와 같이, 가중치 도출 함수를 정의하는 파라미터(예를 들어, 함수를 지정하는 정보나 계수 등)를 공유하도록 해도 된다(방법 1-1-2). 즉, 부호화 시에 가중치 도출 함수를 정의하고, 그 가중치 도출 함수를 정의하는 파라미터를 복호측에 전송(비트 스트림에 포함시킴)하도록 해도 된다. 즉, 양자화된 차분값과, 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 부호화하고, 부호화 데이터를 생성하도록 해도 된다. 그리고, 그 부호화 데이터를 복호하고, 양자화된 차분값과, 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 취득하도록 해도 된다. 이와 같이 함으로써, 비트 스트림에 포함되는 파라미터에 기초하여 부호화 시에 사용된 가중치 도출 함수를 용이하게 복원할 수 있으므로, 복호에 있어서도 용이하게 부호화의 경우와 동일한 가중치 도출 함수를 적용할 수 있다.
<가중치: 방법 1-2>
또한, 방법 1을 적용하는 경우, 도 12에 도시되는 표의 위에서 5번째의 행에 기재된 바와 같이, 부호화와 복호에 있어서 가중치를 공유하도록 해도 된다(방법 1-2). 즉, 부호화와 복호에 있어서, 서로 동일한 가중치를 사용하여 양자화ㆍ역양자화를 행하도록 해도 된다. 이와 같이 함으로써, 양자화ㆍ역양자화에 따른 정밀도의 저감을 억제할 수 있다. 또한, 각 계층의 가중치의 크기는 임의이다.
<가중치: 방법 1-2-1>
또한, 그 경우, 도 12에 도시되는 표의 위에서 6번째의 행에 기재된 바와 같이, 소정의 가중치를 미리 공유하도록 해도 된다(방법 1-2-1). 즉, 부호화와 복호에 있어서, 미리 정해진 서로 동일한 가중치를 사용하여 양자화ㆍ역양자화를 행하도록 해도 된다. 이와 같이 함으로써, 보다 용이하게 부호화와 복호에 있어서 가중치를 공유할 수 있다.
<가중치: 방법 1-2-2>
또한, 도 12에 도시되는 표의 위에서 7번째의 행에 기재된 바와 같이, 부호화측으로부터 복호측으로 가중치를 전송하도록 해도 된다(방법 1-2-2). 즉, 부호화 시에 가중치를 설정하고, 그 가중치를 복호측에 전송(비트 스트림에 포함시킴)하도록 해도 된다. 즉, 양자화된 차분값과, 계층별 가중치를 부호화하고, 부호화 데이터를 생성하도록 해도 된다. 그리고, 그 부호화 데이터를 복호하고, 양자화된 차분값과, 계층별 가중치를 취득하도록 해도 된다. 이와 같이 함으로써, 복호 시의 역양자화에는, 그 비트 스트림에 포함되는 가중치를 적용할 수 있다. 따라서, 보다 용이하게, 부호화 시의 양자화에 사용된 가중치를, 복호 시의 역양자화에 적용할 수 있다.
<가중치: 방법 2>
또한, 양자화ㆍ역양자화에 있어서 포인트별 가중치를 적용하도록 해도 된다. 예를 들어, 도 12에 도시되는 표의 위에서 8번째의 행에 기재된 바와 같이, 부호화(양자화)에 있어서 포인트별 가중치를 정의하여 적용하고, 그 포인트별 가중치를 복호측에 전송(비트 스트림에 포함시킴)하도록 해도 된다(방법 2). 이와 같이 함으로써, 각 포인트의 속성 정보(차분값)에 따라 적합한 가중치를 사용하여 양자화ㆍ역양자화를 행할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다.
<가중치: 방법 2-1>
이 방법 2를 적용하는 경우, 도 12에 도시되는 표의 위에서 9번째의 행에 기재된 바와 같이, 정의된 전체 포인트의 가중치를 전송(비트 스트림에 포함시킴)하도록 해도 된다(방법 2-1). 이와 같이 함으로써, 복호(역양자화) 시에는, 비트 스트림에 포함되는 가중치를 그대로 적용할 수 있으므로, 보다 용이하게 역양자화를 행할 수 있다.
<가중치: 방법 2-2>
또한 방법 2를 적용하는 경우, 도 12에 도시되는 표의 가장 밑의 행에 기재된 바와 같이, 정의된 각 포인트의 가중치와 소정의 값의 차분값을 전송(비트 스트림에 포함시킴)하도록 해도 된다(방법 2-2). 이 소정의 값은 임의이다. 각 가중치와는 다른 값을 이 소정의 값으로 해도 되고, 가중치끼리의 차분값을 전송해도 된다. 이와 같이 함으로써, 예를 들어 방법 2-1의 경우에 비하여, 가중치에 관한 정보량의 증대를 억제할 수 있고, 부호화 효율의 저감을 억제할 수 있다.
<가중치: 조합>
또한, 상술한 각 방법 중 어느 것을 선택하여 적용할 수 있도록 해도 된다. 그 경우, 부호화측이 방법을 선택하여 적용하고, 그 중 어느 방법을 선택하였는가를 나타내는 정보를, 부호화측으로부터 복호측으로 전송하고, 복호측이 그 정보에 기초하여 부호화측과 동일한 방법을 적용하도록 하면 된다.
<계층화에 대한 가중치의 적용>
이 가중치를 속성 정보의 계층화에 이용하도록 해도 된다. 예를 들어, Lifting의 경우, 각 계층에 있어서 도출된 차분값은, 이 가중치(Quantization Weight)를 사용하여 갱신(업데이트)되고, 그 업데이트된 차분값을 사용하여, 참조 포인트로 설정된 포인트의 속성 정보가 갱신된다. 이와 같이 함으로써, 압축 효율의 저감이 억제된다. 속성 정보의 계층화에 있어서 이러한 업데이트 처리를 행하는 경우, 상술한 계층별 가중치를 적용하도록 해도 된다.
이와 같이 함으로써, 하위층의 정보의 참조가 불필요하므로, 보다 용이하게 스케일러블한 복호를 실현할 수 있다.
<2. 제1 실시 형태>
<부호화 장치>
다음에, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하는 장치에 대하여 설명한다. 도 14는, 본 기술을 적용한 정보 처리 장치의 일 양태인 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 14에 도시되는 부호화 장치(200)는, 포인트 클라우드(3D 데이터)를 부호화하는 장치이다. 부호화 장치(200)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 포인트 클라우드를 부호화한다.
또한, 도 14에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 14에 도시되는 것이 전부라고는 할 수 없다. 즉, 부호화 장치(200)에 있어서, 도 14에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 14에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 14에 도시되는 바와 같이 부호화 장치(200)는, 위치 정보 부호화부(201), 위치 정보 복호부(202), 포인트 클라우드 생성부(203), 속성 정보 부호화부(204) 및 비트 스트림 생성부(205)를 갖는다.
위치 정보 부호화부(201)는, 부호화 장치(200)에 입력된 포인트 클라우드(3D 데이터)의 위치 정보를 부호화한다. 이 부호화 방법은 임의이다. 예를 들어, 노이즈 억제(디노이즈)를 위한 필터링이나 양자화 등의 처리가 행해지도록 해도 된다. 위치 정보 부호화부(201)는, 생성된 위치 정보의 부호화 데이터를 위치 정보 복호부(202) 및 비트 스트림 생성부(205)에 공급한다.
위치 정보 복호부(202)는, 위치 정보 부호화부(201)로부터 공급되는 위치 정보의 부호화 데이터를 취득하고, 그 부호화 데이터를 복호한다. 이 복호 방법은, 위치 정보 부호화부(201)에 의한 부호화에 대응하는 방법이면 임의이다. 예를 들어, 디노이즈를 위한 필터링이나 역양자화 등의 처리가 행해지도록 해도 된다. 위치 정보 복호부(202)는, 생성된 위치 정보(복호 결과)를 포인트 클라우드 생성부(203)에 공급한다.
포인트 클라우드 생성부(203)는, 부호화 장치(200)에 입력되는 포인트 클라우드의 속성 정보와, 위치 정보 복호부(202)로부터 공급되는 위치 정보(복호 결과)를 취득한다. 포인트 클라우드 생성부(203)는, 속성 정보를 위치 정보(복호 결과)에 맞추는 처리(리컬러 처리)를 행한다. 포인트 클라우드 생성부(203)는, 위치 정보(복호 결과)에 대응시킨 속성 정보를 속성 정보 부호화부(204)에 공급한다.
속성 정보 부호화부(204)는, 포인트 클라우드 생성부(203)로부터 공급되는 위치 정보(복호 결과) 및 속성 정보를 취득한다. 속성 정보 부호화부(204)는, 그 위치 정보(복호 결과)를 사용하여, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용한 부호화 방법에 의해 속성 정보를 부호화하고, 속성 정보의 부호화 데이터를 생성한다. 속성 정보 부호화부(204)는, 생성된 속성 정보의 부호화 데이터를 비트 스트림 생성부(205)에 공급한다.
비트 스트림 생성부(205)는, 위치 정보 부호화부(201)로부터 공급되는 위치 정보의 부호화 데이터를 취득한다. 또한, 비트 스트림 생성부(205)는, 속성 정보 부호화부(204)로부터 공급되는 속성 정보의 부호화 데이터를 취득한다. 비트 스트림 생성부(205)는, 이들 부호화 데이터를 포함하는 비트 스트림을 생성한다. 비트 스트림 생성부(205)는, 생성된 비트 스트림을 부호화 장치(200)의 외부에 출력한다.
이러한 구성으로 함으로써, 부호화 장치(200)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 이와 같이 함으로써, 하위층에 의존하지 않는 양자화ㆍ역양자화가 가능하게 된다. 즉, 부호화 장치(200)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
또한, 이들 처리부(위치 정보 부호화부(201) 내지 비트 스트림 생성부(205))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU(Central Processing Unit), ROM(Read Only Memory), RAM(Random Access Memory) 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<속성 정보 부호화부>
도 15는, 속성 정보 부호화부(204)(도 14)의 주된 구성예를 도시하는 블록도이다. 또한, 도 15에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 15에 도시되는 것이 전부라고는 할 수 없다. 즉, 속성 정보 부호화부(204)에 있어서, 도 15에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 15에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 15에 도시되는 바와 같이 속성 정보 부호화부(204)는, 계층화 처리부(211), 양자화부(212) 및 부호화부(213)를 갖는다.
계층화 처리부(211)는, 속성 정보의 계층화에 관한 처리를 행한다. 예를 들어, 계층화 처리부(211)는, 속성 정보 부호화부(204)에 공급되는 속성 정보나 위치 정보(복호 결과)를 취득한다. 계층화 처리부(211)는, 그 위치 정보를 사용하여 속성 정보를 계층화한다. 그때, 계층화 처리부(211)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 계층화를 행한다. 즉, 계층화 처리부(211)는, 위치 정보와 마찬가지의 계층 구조의 속성 정보를 생성한다(속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지음). 계층화 처리부(211)는, 계층화한 속성 정보(차분값)를 양자화부(212)에 공급한다.
양자화부(212)는, 계층화 처리부(211)로부터 공급되는 속성 정보(차분값)를 취득한다. 양자화부(212)는, 그 속성 정보(차분값)를 양자화한다. 그때, 양자화부(212)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 양자화를 행한다. 즉, 양자화부(212)는, <1. 스케일러블 복호>에 있어서 설명한 바와 같은 계층별 가중치를 사용하여 속성 정보(차분값)를 양자화한다. 양자화부(212)는, 그 양자화된 속성 정보(차분값)를 부호화부(213)에 공급한다. 또한, 양자화부(212)는, 필요에 따라, 양자화에 적용한 가중치에 관한 정보도 부호화부(213)에 공급한다.
부호화부(213)는, 양자화부(212)로부터 공급되는, 양자화된 속성 정보(차분값)를 취득한다. 부호화부(213)는, 그 양자화된 속성 정보(차분값)를 부호화하고, 속성 정보의 부호화 데이터를 생성한다. 이 부호화 방법은 임의이다. 또한, 양자화부(212)로부터 가중치에 관한 정보가 공급되는 경우, 부호화부(213)는, 그 정보(예를 들어, 가중치 도출 함수 정의 파라미터, 가중치 등)도 부호화 데이터에 포함시킨다. 부호화부(213)는, 생성된 부호화 데이터를 비트 스트림 생성부(205)에 공급한다.
이상과 같이 계층화나 양자화를 행함으로써, 속성 정보 부호화부(204)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 하위층에 의존하지 않고 양자화를 행할 수 있다. 부언하건대, 하위층에 의존하지 않는 역양자화가 가능하게 된다. 즉, 속성 정보 부호화부(204)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
또한, 이들 처리부(계층화 처리부(211) 내지 부호화부(213))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<계층화 처리부>
도 16은, 계층화 처리부(211)(도 15)의 주된 구성예를 도시하는 블록도이다. 또한, 도 16에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 16에 도시되는 것이 전부라고는 할 수 없다. 즉, 계층화 처리부(211)에 있어서, 도 16에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 16에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 16에 도시되는 바와 같이 계층화 처리부(211)는, 계층별 처리부(221-1), 계층별 처리부(221-2), …를 갖는다. 계층별 처리부(221-1)는, 속성 정보의 최하위층(N)에 대한 처리를 행한다. 계층별 처리부(221-2)는, 속성 정보의 최하위층의 1개 상위의 계층(N-1)에 대한 처리를 행한다. 이들 계층별 처리부(221-1), 계층별 처리부(221-2), …를 서로 구별하여 설명할 필요가 없는 경우, 계층별 처리부(221)라고 칭한다. 즉, 계층화 처리부(211)는, 대응 가능한 속성 정보의 계층수의 계층별 처리부(221)를 갖는다.
계층별 처리부(221)는, 처리 대상인 커런트 계층(현재 LoD)의 속성 정보의 계층화에 관한 처리를 행한다. 예를 들어, 계층별 처리부(221)는, 커런트 계층의 각 포인트를 그 커런트 계층의 예측 포인트와 참조 포인트(보다 상위의 계층의 예측 포인트)로 분류하고, 예측값이나 차분값을 도출한다. 그때, 계층별 처리부(221)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 처리를 행한다.
계층별 처리부(221)는, 포인트 분류부(231), 예측부(232), 연산부(233), 업데이트부(234) 및 연산부(235)를 갖는다.
포인트 분류부(231)는, 커런트 계층의 각 포인트를 예측 포인트와 참조 포인트로 분류한다. 그때, 포인트 분류부(231)는, <1. 스케일러블 복호>에 있어서 상술한 바와 같이, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트(환언하건대, 참조 포인트)를 선택한다. 즉, 포인트 분류부(231)는, 도 6의 표를 참조하여 설명한 어느 방법에 의해 포인트의 분류를 행한다. 포인트 분류부(231)는, 예측 포인트로 선택한 포인트의 속성 정보 H(N)을 연산부(233)에 공급한다. 또한, 포인트 분류부(231)는, 참조 포인트로 선택한 포인트의 속성 정보 L(N)을 예측부(232) 및 연산부(235)에 공급한다.
또한, 포인트 분류부(231), 예측부(232) 및 업데이트부(234)는, 각 포인트의 위치 정보를 공유한다.
예측부(232)는, 포인트 분류부(231)로부터 공급되는, 참조 포인트로 선택된 포인트의 속성 정보 L(N)이나 위치 정보 등을 사용하여, 예측 포인트의 속성 정보의 예측값 P(N)을 도출한다. 그때, 예측부(232)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용한 방법으로 예측값 P(N)을 도출한다. 예측부(232)는, 도출한 예측값 P(N)을 연산부(233)에 공급한다.
연산부(233)는, 각 예측 포인트에 대하여, 포인트 분류부(231)로부터 공급되는 속성 정보 H(N)으로부터, 예측부(232)로부터 공급되는 예측값 P(N)을 감산하고, 차분값 D(N)을 도출한다. 연산부(233)는, 도출한 각 예측 포인트의 차분값 D(N)을 양자화부(212)(도 15)에 공급한다. 또한, 연산부(233)는, 도출한 각 예측 포인트의 차분값 D(N)을 업데이트부(234)에도 공급한다.
업데이트부(234)는, 연산부(233)로부터 공급되는 예측 포인트의 차분값 D(N)을 취득한다. 업데이트부(234)는, 그 차분값 D(N)을, 소정의 연산을 행하여 갱신하고, 계수 U(N)을 도출한다. 이 연산 방법은 임의이지만, 예를 들어 양자화에 사용되는 가중치(Quantization Weight) W를 사용하여, 이하의 식 (2)와 같은 연산이 행해지도록 해도 된다.
Figure pct00002
그때, 업데이트부(234)는, 이 연산에 사용되는 가중치 w를, <1. 스케일러블 복호>에 있어서 상술한 바와 같이, 계층별로 독립적으로 도출한다. 즉, 포인트 분류부(231)는, 도 12의 표를 참조하여 설명한 어느 방법을 적용하여 도출한 가중치 w를 사용하여 이 연산을 행한다. 업데이트부(234)는, 도출한 계수 U(N)을 연산부(235)에 공급한다.
연산부(235)는, 포인트 분류부(231)로부터 공급되는 참조 포인트의 속성 정보 L(N)을 취득한다. 또한, 연산부(235)는, 업데이트부(234)로부터 공급되는 계수 U(N)을 취득한다. 연산부(235)는, 속성 정보 L(N)에 계수 U(N)을 가산함으로써, 속성 정보 L(N)을 갱신한다(갱신된 속성 정보 L'(N)을 도출함). 이와 같이 함으로써, 압축 효율의 저감을 억제할 수 있다. 연산부(235)는, 그 갱신된 속성 정보 L'(N)을, 1개 상위의 계층(N-1)을 처리 대상으로 하는 계층별 처리부(221)(의 포인트 분류부(231))에 공급한다. 예를 들어, 도 16의 경우, 계층별 처리부(221-1)의 연산부(235)는, 계층별 처리부(221-2)에, 갱신된 속성 정보 L'(N)을 공급한다. 갱신된 속성 정보 L'(N)이 공급된 계층별 처리부(221)는, 그 포인트를 처리 대상으로 하여(즉 1개 상위의 계층을 커런트 계층으로 하여) 마찬가지의 처리를 행한다.
이상과 같이 계층화를 행함으로써, 계층화 처리부(211)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 하위층에 의존하지 않고 도출한 가중치를 사용하여 계층화를 행할 수 있다. 즉, 계층화 처리부(211)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
또한, 이들 처리부(포인트 분류부(231) 내지 연산부(235))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<부호화 처리의 흐름>
다음에, 이 부호화 장치(200)에 의해 실행되는 처리에 대하여 설명한다. 부호화 장치(200)는, 부호화 처리를 실행함으로써 포인트 클라우드의 데이터를 부호화한다. 이 부호화 처리의 흐름의 예를, 도 17의 흐름도를 참조하여 설명한다.
부호화 처리가 개시되면, 부호화 장치(200)의 위치 정보 부호화부(201)는, 스텝 S201에 있어서, 입력된 포인트 클라우드의 위치 정보를 부호화하고, 위치 정보의 부호화 데이터를 생성한다.
스텝 S202에 있어서, 위치 정보 복호부(202)는, 스텝 S201에 있어서 생성된 위치 정보의 부호화 데이터를 복호하고, 위치 정보를 생성한다.
스텝 S203에 있어서, 포인트 클라우드 생성부(203)는, 입력된 포인트 클라우드의 속성 정보와, 스텝 S202에 있어서 생성된 위치 정보(복호 결과)를 사용하여, 리컬러 처리를 행하고, 속성 정보를 위치 정보에 대응시킨다.
스텝 S204에 있어서, 속성 정보 부호화부(204)는, 속성 정보 부호화 처리를 실행함으로써, 스텝 S203에 있어서 리컬러 처리된 속성 정보를 부호화하고, 속성 정보의 부호화 데이터를 생성한다. 그때, 속성 정보 부호화부(204)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 처리를 행한다. 속성 정보 부호화 처리의 상세에 대해서는 후술한다.
스텝 S205에 있어서, 비트 스트림 생성부(205)는, 스텝 S201에 있어서 생성된 위치 정보의 부호화 데이터와, 스텝 S204에 있어서 생성된 속성 정보의 부호화 데이터를 포함하는 비트 스트림을 생성하여, 출력한다.
스텝 S205의 처리가 종료되면 부호화 처리가 종료된다.
이와 같이 각 스텝의 처리를 행함으로써, 부호화 장치(200)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 이와 같이 함으로써, 하위층에 의존하지 않는 양자화ㆍ역양자화가 가능하게 된다. 즉, 부호화 장치(200)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<속성 정보 부호화 처리의 흐름>
다음에, 도 17의 스텝 S204에 있어서 실행되는 속성 정보 부호화 처리의 흐름의 예를, 도 18의 흐름도를 참조하여 설명한다.
속성 정보 부호화 처리가 개시되면, 속성 정보 부호화부(204)의 계층화 처리부(211)는, 스텝 S221에 있어서, 계층화 처리를 실행함으로써 속성 정보를 계층화하고, 각 포인트의 속성 정보의 차분값을 도출한다. 그때, 계층화 처리부(211)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 계층화를 행한다. 계층화 처리의 상세에 대해서는 후술한다.
스텝 S222에 있어서, 양자화부(212)는, 양자화 처리를 실행함으로써, 스텝 S221에 있어서 도출된 각 차분값을 양자화한다. 그때, 양자화부(212)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 양자화를 행한다. 양자화 처리의 상세에 대해서는 후술한다.
스텝 S223에 있어서, 부호화부(213)는, 스텝 S222에 있어서 양자화된 차분값을 부호화하고, 속성 정보의 부호화 데이터를 생성한다.
스텝 S223의 처리가 종료되면 속성 정보 부호화 처리가 종료되고, 처리는 도 17로 되돌아간다.
이와 같이 각 스텝의 처리를 행함으로써, 속성 정보 부호화부(204)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 하위층에 의존하지 않고 양자화를 행할 수 있다. 부언하건대, 하위층에 의존하지 않는 역양자화가 가능하게 된다. 즉, 속성 정보 부호화부(204)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<계층화 처리의 흐름>
다음에, 도 18의 스텝 S221에 있어서 실행되는 계층화 처리의 흐름의 예를, 도 19의 흐름도를 참조하여 설명한다. 여기서는, 도 6의 표의 위에서 2번째에 기재된 방법 1-1을 적용하는 경우에 대하여 설명한다.
계층화 처리가 개시되면, 계층화 처리부(211)의 계층별 처리부(221)는, 스텝 S241에 있어서, 처리 대상인 커런트 계층(현재 LoD)을 최하위의 계층(LoD)으로 한다.
스텝 S242에 있어서, 포인트 분류부(231)는, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트를 선택한다. 환언하건대, 포인트 분류부(231)는, 이 처리에 의해 참조 포인트를 선택한다.
예를 들어, 포인트 분류부(231)는, 커런트 계층의 포인트가 존재하는 각 복셀이 속하는 1개 상위 계층의 복셀에 대하여, 참조 포인트를 1개씩 설정한다. 또한, 후보로 되는 포인트가 복수 존재하는 경우, 포인트 분류부(231)는, 어느 1개를 선택한다. 이 선택 방법은 임의이다. 예를 들어, 근방에 위치하는 포인트가 가장 많은 포인트를 참조 포인트로서 선택하도록 해도 된다. 참조 포인트를 설정하면 포인트 분류부(231)는, 다음에, 그 참조 포인트 이외의 포인트를 예측 포인트로 설정한다. 이와 같이 하여, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 예측 포인트가 선택된다.
스텝 S243에 있어서, 포인트 분류부(231)는, 커런트 계층의 해상도의 위치 정보에 기초하여, 각 예측 포인트에 대응하는 참조 포인트를 설정한다.
예를 들어, 포인트 분류부(231)는, 참조 포인트로부터 소정의 범위 내에 위치하는 예측 포인트(근방의 예측 포인트)를, 커런트 계층의 해상도의 위치 정보를 사용하여 탐색한다. 포인트 분류부(231)는, 탐색한 근방의 예측 포인트가 그 참조 포인트를 참조하도록, 예측 포인트와 참조 포인트를 대응짓는다. 포인트 분류부(231)가 각 참조 포인트에 대하여 이러한 처리를 행함으로써, 모든 예측 포인트가 참조 포인트에 대응지어진다. 즉, 각 예측 포인트에 대응하는(각 예측 포인트가 참조하는) 참조 포인트가 설정된다.
스텝 S244에 있어서, 예측부(232)는, 각 예측 포인트의 예측값을 도출한다. 즉, 예측부(232)는, 스텝 S243의 처리에 의해 설정된 대응 관계에 기초하여, 각 예측 포인트에 대응하는 참조 포인트의 속성 정보를 사용하여, 그 예측 포인트의 속성 정보의 예측값을 도출한다.
예를 들어, 예측부(232)는, 도 4를 참조하여 설명한 바와 같이, 예측 포인트에 대응하는 각 참조 포인트의 속성 정보를, 예측 포인트와 참조 포인트의 거리의 역수에 따른 가중치(α(P,Q(i,j)))에 의해 가중치 부여하고, 상술한 식 (1)과 같은 연산을 행하여 통합한다. 그때, 예측부(232)는, 커런트 계층의 해상도의 위치 정보를 사용하여, 예측 포인트와 참조 포인트의 거리를 도출하여, 적용한다.
스텝 S245에 있어서, 연산부(233)는, 스텝 S242에 있어서 선택된 예측 포인트의 속성 정보로부터, 스텝 S244에 있어서 도출된 예측값을 감산함으로써, 각 예측 포인트의 차분값을 도출한다.
스텝 S246에 있어서, 업데이트부(234)는, 업데이트 처리에 사용되는 가중치를 도출한다. 업데이트부(234)는, 이 가중치를, 도 12에 도시되는 표에 기재된 어느 방법을 적용하여 도출한다. 즉, 업데이트부(234)는 가중치를 계층별로 독립적으로 도출한다.
스텝 S247에 있어서, 업데이트부(234)는, 스텝 S246에 있어서 도출한 가중치를 사용하여, 스텝 S245에 있어서 도출된 차분값을 업데이트한다. 예를 들어, 업데이트부(234)는, 상술한 식 (2)로 표시되는 연산을 행함으로써, 이 업데이트를 행한다.
스텝 S248에 있어서, 연산부(235)는, 스텝 S247에 있어서 업데이트한 차분값을 사용하여, 스텝 S243에 있어서, 설정된 참조 포인트의 속성 정보를 갱신한다.
스텝 S249에 있어서, 계층별 처리부(221)는, 커런트 계층(현재 LoD)이 최상위의 계층인지 여부를 판정한다. 또한, 속성 정보의 계층 구조에 있어서의 최상위의 계층은, 위치 정보의 계층과는 독립적으로 설정되므로, 위치 정보의 계층 구조에 있어서의 최상위의 계층과는 다른 경우도 있다. 커런트 계층이 최상위의 계층이 아니라고 판정된 경우, 처리는 스텝 S250으로 진행한다.
스텝 S250에 있어서, 계층별 처리부(221)는, 처리 대상인 커런트 계층(현재 LoD)을 1개 위의 계층(LoD)으로 한다. 스텝 S250의 처리가 종료되면 처리는 스텝 S242로 되돌아간다. 즉, 각 계층에 대하여 스텝 S242 내지 스텝 S250의 각 처리가 실행된다.
그리고, 스텝 S249에 있어서, 커런트 계층이 최상위의 계층이라고 판정된 경우, 계층화 처리가 종료되고, 처리는 도 18로 되돌아간다.
이와 같이 각 스텝의 처리를 행함으로써, 계층화 처리부(211)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 하위층에 의존하지 않고 도출한 가중치를 사용하여 계층화를 행할 수 있다. 즉, 계층화 처리부(211)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<양자화 처리의 흐름>
다음에, 도 18의 스텝 S222에 있어서 실행되는 양자화 처리의 흐름의 예를, 도 20의 흐름도를 참조하여 설명한다. 여기서는, 도 12의 표의 위에서 4번째에 기재된 방법 1-1-2를 적용하는 경우에 대하여 설명한다.
양자화 처리가 개시되면, 양자화부(212)는, 스텝 S271에 있어서, 가중치 도출 함수를 정의한다.
스텝 S272에 있어서, 양자화부(212)는, 스텝 S271에 있어서 정의된 가중치 도출 함수를 사용하여, 계층(LoD)별 가중치를 도출한다.
스텝 S273에 있어서, 양자화부(212)는, 스텝 S272에 있어서 도출된 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다.
스텝 S274에 있어서, 양자화부(212)는, 가중치 도출에 사용한 가중치 도출 함수를 정의하는 가중치 도출 함수 정의 파라미터를, 부호화부(213)에 공급하고, 부호화시킨다. 즉, 양자화부(212)는, 가중치 도출 함수 정의 파라미터를 복호측에 전송시킨다.
스텝 S274의 처리가 종료되면 양자화 처리가 종료되고, 처리는 도 18로 되돌아간다.
이와 같이 양자화 처리를 실행함으로써, 양자화부(212)는, 하위층에 의존하지 않고 양자화를 행할 수 있다. 부언하건대, 하위층에 의존하지 않는 역양자화가 가능하게 된다. 즉, 양자화부(212)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<계층화 처리의 흐름>
또한, 도 6의 표의 위에서 3번째에 기재된 방법 1-1'를 적용하는 경우에도, 계층화 처리는, 도 19의 흐름도와 기본적으로 마찬가지의 흐름으로 행해진다. 단, 스텝 S243의 처리에 있어서, 포인트 분류부(231)는, 최하위층의 해상도(즉, 최고 해상도)의 위치 정보에 기초하여, 각 예측 포인트에 대응하는 참조 포인트를 설정한다. 또한, 스텝 S244의 처리에 있어서, 예측부(232)는, 최하위층의 해상도(즉, 최고 해상도)의 해상도의 위치 정보를 사용하여, 예측 포인트와 참조 포인트의 거리를 도출하고, 그 거리의 역수에 따른 가중치를 사용하여 예측값을 도출한다.
이와 같이 함으로써, 계층화 처리부(211)는, 포인트 클라우드의 최하층의 해상도의 위치 정보에 기초하는 거리에 따라 가중치 부여한 참조 포인트의 속성 정보를 사용하여 예측 포인트의 예측값을 도출할 수 있다.
다음에, 도 6의 표의 위에서 4번째에 기재된 방법 1-2를 적용하는 경우의 계층화 처리의 흐름의 예를, 도 21의 흐름도를 참조하여 설명한다.
이 경우, 계층화 처리부(211)는, 스텝 S301, 스텝 S303 내지 스텝 S310의 각 처리를, 도 19의 스텝 S241, 스텝 S243 내지 스텝 S250의 각 처리와 마찬가지로 실행한다.
또한, 스텝 S302에 있어서, 포인트 분류부(231)는, 커런트 계층의 포인트를 전부 예측 포인트로 설정하고, 또한 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록, 가상의 참조 포인트를 설정한다. 포인트 분류부(231)는, 기존의 포인트(예측 포인트)의 속성 정보를 사용하여 리컬러 처리를 행하고, 설정한 가상의 참조 포인트의 속성 정보를 생성한다.
스텝 S303에 있어서, 포인트 분류부(231)는, 스텝 S302에 있어서 설정한 가상의 참조 포인트 중에서, 커런트 계층의 해상도의 위치 정보에 기초하여, 각 예측 포인트에 대응하는 참조 포인트를 설정한다.
이와 같이 각 스텝의 처리를 행함으로써, 계층화 처리부(211)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 또한, 하위층에 의존하지 않고 도출한 가중치를 사용하여 계층화를 행할 수 있다. 즉, 계층화 처리부(211)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<양자화 처리의 흐름>
다음에, 도 12의 표의 위에서 7번째에 기재된 방법 1-2-2를 적용하는 경우의 양자화 처리의 흐름의 예를, 도 22의 흐름도를 참조하여 설명한다.
양자화 처리가 개시되면, 양자화부(212)는, 스텝 S321에 있어서, 계층(LoD)별 가중치를 도출한다.
스텝 S322에 있어서, 양자화부(212)는, 스텝 S321에 있어서 도출된 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다.
스텝 S323에 있어서, 양자화부(212)는, 양자화에 사용한 가중치를, 부호화부(213)에 공급하고, 부호화시킨다. 즉, 양자화부(212)는, 이 가중치를 복호측에 전송시킨다.
스텝 S323의 처리가 종료되면 양자화 처리가 종료되고, 처리는 도 18로 되돌아간다.
이와 같이 양자화 처리를 실행함으로써, 양자화부(212)는, 하위층에 의존하지 않고 양자화를 행할 수 있다. 부언하건대, 하위층에 의존하지 않는 역양자화가 가능하게 된다. 즉, 양자화부(212)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다.
<3. 제2 실시 형태>
<복호 장치>
도 23은, 본 기술을 적용한 정보 처리 장치의 일 양태인 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 23에 도시되는 복호 장치(400)는, 포인트 클라우드(3D 데이터)의 부호화 데이터를 복호하는 장치이다. 복호 장치(400)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 포인트 클라우드의 부호화 데이터를 복호한다.
또한, 도 23에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 23에 도시되는 것이 전부라고는 할 수 없다. 즉, 복호 장치(400)에 있어서, 도 23에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 23에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 23에 도시되는 바와 같이 복호 장치(400)는, 복호 대상 LoD 심도 설정부(401), 부호화 데이터 추출부(402), 위치 정보 복호부(403), 속성 정보 복호부(404) 및 포인트 클라우드 생성부(405)를 갖는다.
복호 대상 LoD 심도 설정부(401)는, 복호 대상으로 하는 계층(LoD)의 심도의 설정에 관한 처리를 행한다. 예를 들어, 복호 대상 LoD 심도 설정부(401)는, 부호화 데이터 추출부(402)에 유지되어 있는 포인트 클라우드의 부호화 데이터에 대하여, 어느 계층까지 복호할지를 설정한다. 이 복호 대상으로 하는 계층 심도 설정의 방법은 임의이다.
예를 들어, 복호 대상 LoD 심도 설정부(401)가, 유저나 애플리케이션 등의 외부로부터의 계층 심도에 관한 지시에 기초하여 설정하도록 해도 된다. 또한, 복호 대상 LoD 심도 설정부(401)가, 출력 화상 등, 임의의 정보에 기초하여 복호 대상으로 하는 계층 심도를 구하여, 설정하도록 해도 된다.
예를 들어, 복호 대상 LoD 심도 설정부(401)가, 포인트 클라우드로부터 생성되는 2차원 화상의 시점 위치, 방향, 화각, 시점의 움직임(이동, 팬, 틸트, 줌) 등에 기초하여, 복호 대상으로 할 계층 심도를 설정하도록 해도 된다.
또한, 이 복호 대상으로 하는 계층 심도 설정의 데이터 단위는 임의이다. 예를 들어, 복호 대상 LoD 심도 설정부(401)는, 포인트 클라우드 전체에 대하여 계층 심도를 설정할 수도 있고, 오브젝트별로 계층 심도를 설정할 수도 있고, 오브젝트 내의 부분 영역별로 계층 심도를 설정할 수도 있다. 물론, 이들 예 이외의 데이터 단위로 계층 심도를 설정할 수도 있다.
부호화 데이터 추출부(402)는, 복호 장치(400)에 입력되는 비트 스트림을 취득하고, 유지한다. 부호화 데이터 추출부(402)는, 최상위에서부터 복호 대상 LoD 심도 설정부(401)에 의해 지정된 계층까지의 위치 정보 및 속성 정보의 부호화 데이터를, 그 유지하고 있는 비트 스트림으로부터 추출한다. 부호화 데이터 추출부(402)는, 추출한 위치 정보의 부호화 데이터를 위치 정보 복호부(403)에 공급한다. 부호화 데이터 추출부(402)는, 추출한 속성 정보의 부호화 데이터를 속성 정보 복호부(404)에 공급한다.
위치 정보 복호부(403)는, 부호화 데이터 추출부(402)로부터 공급되는 위치 정보의 부호화 데이터를 취득한다. 위치 정보 복호부(403)는, 그 위치 정보의 부호화 데이터를 복호하고, 위치 정보(복호 결과)를 생성한다. 이 복호 방법은, 부호화 장치(200)의 위치 정보 복호부(202)의 경우와 마찬가지의 방법이면 임의이다. 위치 정보 복호부(403)는, 생성된 위치 정보(복호 결과)를, 속성 정보 복호부(404) 및 포인트 클라우드 생성부(405)에 공급한다.
속성 정보 복호부(404)는, 부호화 데이터 추출부(402)로부터 공급되는 속성 정보의 부호화 데이터를 취득한다. 속성 정보 복호부(404)는, 위치 정보 복호부(403)로부터 공급되는 위치 정보(복호 결과)를 취득한다. 속성 정보 복호부(404)는, 그 위치 정보(복호 결과)를 사용하여, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용한 방법에 의해 속성 정보의 부호화 데이터를 복호하고, 속성 정보(복호 결과)를 생성한다. 속성 정보 복호부(404)는, 생성된 속성 정보(복호 결과)를 포인트 클라우드 생성부(405)에 공급한다.
포인트 클라우드 생성부(405)는, 위치 정보 복호부(403)로부터 공급되는 위치 정보(복호 결과)를 취득한다. 포인트 클라우드 생성부(405)는, 속성 정보 복호부(404)로부터 공급되는 속성 정보(복호 결과)를 취득한다. 포인트 클라우드 생성부(405)는, 그 위치 정보(복호 결과) 및 속성 정보(복호 결과)를 사용하여, 포인트 클라우드(복호 결과)를 생성한다. 포인트 클라우드 생성부(405)는, 생성된 포인트 클라우드(복호 결과)의 데이터를 복호 장치(400)의 외부에 출력한다.
이러한 구성으로 함으로써, 복호 장치(400)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 또한, 이와 같이 함으로써, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
또한, 이들 처리부(복호 대상 LoD 심도 설정부(401) 내지 포인트 클라우드 생성부(405))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<속성 정보 복호부>
도 24는, 속성 정보 복호부(404)(도 23)의 주된 구성예를 도시하는 블록도이다. 또한, 도 24에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 24에 도시되는 것이 전부라고는 할 수 없다. 즉, 속성 정보 복호부(404)에 있어서, 도 24에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 24에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 24에 도시되는 바와 같이 속성 정보 복호부(404)는, 복호부(421), 역양자화부(422) 및 역계층화 처리부(423)를 갖는다.
복호부(421)는, 속성 정보 복호부(404)에 공급되는 속성 정보의 부호화 데이터를 취득한다. 복호부(421)는, 그 속성 정보의 부호화 데이터를 복호하고, 속성 정보(복호 결과)를 생성한다. 이 복호 방법은, 부호화 장치(200)의 부호화부(213)(도 15)에 의한 부호화 방법에 대응하는 방법이면 임의이다. 또한, 생성된 속성 정보(복호 결과)는, 부호화 전의 속성 정보에 대응하고, 제1 실시 형태에 있어서 설명한 바와 같이, 속성 정보와 그 예측값의 차분값이며, 양자화되어 있다. 복호부(421)는, 생성된 속성 정보(복호 결과)를 역양자화부(422)에 공급한다.
또한, 속성 정보의 부호화 데이터에 가중치에 관한 정보(예를 들어, 가중치 도출 함수 정의 파라미터, 가중치 등)가 포함되어 있는 경우, 복호부(421)는, 그 가중치에 관한 정보(복호 결과)도 생성한다. 복호부(421)는, 생성된 가중치에 관한 정보(복호 결과)를 역양자화부(422)에 공급한다. 또한, 복호부(421)는, 생성된 가중치에 관한 정보(복호 결과)를, 속성 정보의 부호화 데이터의 복호에 이용할 수도 있다.
역양자화부(422)는, 복호부(421)로부터 공급되는 속성 정보(복호 결과)를 취득한다. 역양자화부(422)는, 그 속성 정보(복호 결과)를 역양자화한다. 그때, 역양자화부(422)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여, 부호화 장치(200)의 양자화부(212)(도 15)에 의한 양자화의 역처리인 역양자화를 행한다. 즉, 역양자화부(422)는, <1. 스케일러블 복호>에 있어서 설명한 바와 같은 계층별 가중치를 사용하여 속성 정보(복호 결과)를 역양자화한다.
또한, 복호부(421)로부터 가중치에 관한 정보(복호 결과)가 공급되는 경우, 역양자화부(422)는, 그 가중치에 관한 정보(복호 결과)도 취득한다. 그 경우, 역양자화부(422)는, 그 가중치에 관한 정보(복호 결과)에 의해 지정되는 가중치, 또는 그 가중치에 관한 정보(복호 결과)에 기초하여 도출되는 가중치를 사용하여 속성 정보(복호 결과)를 역양자화한다.
역양자화부(422)는, 역양자화한 속성 정보(복호 결과)를 역계층화 처리부(423)에 공급한다.
역계층화 처리부(423)는, 역양자화부(422)로부터 공급되는, 역양자화된 속성 정보(복호 결과)를 취득한다. 상술한 바와 같이 이 속성 정보는 차분값이다. 또한, 역계층화 처리부(423)는, 위치 정보 복호부(403)로부터 공급되는 위치 정보(복호 결과)를 취득한다. 역계층화 처리부(423)는, 그 위치 정보(복호 결과)를 사용하여, 취득한 속성 정보(차분값)에 대하여, 부호화 장치(200)의 계층화 처리부(211)(도 15)에 의한 계층화의 역처리인 역계층화를 행한다. 그때, 역계층화 처리부(423)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 역계층화를 행한다. 즉, 역계층화 처리부(423)는, 위치 정보를 사용하여 예측값을 도출하고, 그 예측값을 차분값에 가산함으로써 속성 정보를 복원한다. 이와 같이 역계층화 처리부(423)는, 위치 정보를 사용하여, 그 위치 정보와 마찬가지의 계층 구조의 속성 정보를 역계층화한다. 역계층화 처리부(423)는, 역계층화한 속성 정보를 복호 결과로서 포인트 클라우드 생성부(405)(도 23)에 공급한다.
이상과 같이 역양자화나 역계층화를 행함으로써, 속성 정보 복호부(404)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 또한, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
또한, 이들 처리부(복호부(421) 내지 역계층화 처리부(423))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<역계층화 처리부>
도 25는, 역계층화 처리부(423)(도 24)의 주된 구성예를 도시하는 블록도이다. 또한, 도 25에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 24에 도시되는 것이 전부라고는 할 수 없다. 즉, 역계층화 처리부(423)에 있어서, 도 24에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 24에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 24에 도시되는 바와 같이 역계층화 처리부(423)는, 계층별 처리부(441-1), 계층별 처리부(441-2), …를 갖는다. 계층별 처리부(441-1)는, 속성 정보의 최상위층(0)에 대한 처리를 행한다. 계층별 처리부(441-2)는, 속성 정보의 최상위로부터 1개 하위의 계층(1)에 대한 처리를 행한다. 이들 계층별 처리부(441-1), 계층별 처리부(441-2), …를 서로 구별하여 설명할 필요가 없는 경우, 계층별 처리부(441)라고 칭한다. 즉, 역계층화 처리부(423)는, 대응 가능한 속성 정보의 계층수의 계층별 처리부(441)를 갖는다.
계층별 처리부(441)는, 처리 대상인 커런트 계층(현재 LoD)의 속성 정보(차분값)의 역계층화에 관한 처리를 행한다. 예를 들어, 계층별 처리부(441)는, 커런트 계층의 각 포인트의 속성 정보의 예측값을 도출하고, 그 예측값과 차분값을 가산함으로써, 커런트 계층의 각 포인트의 속성 정보를 도출한다. 그때, 계층별 처리부(441)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 처리를 행한다.
계층별 처리부(441)는, 예측부(451), 연산부(452) 및 머지 처리부(453)를 갖는다.
예측부(451)는, 역양자화부(422) 또는 전단의 계층별 처리부(441)로부터 공급되는 커런트 계층의 참조 포인트의 속성 정보 L(N)을 취득한다. 또한, 예측부(451)는, 위치 정보 복호부(403)로부터 공급되는 위치 정보(복호 결과)를 취득한다. 예측부(451)는, 그 위치 정보 및 속성 정보를 사용하여, 예측 포인트의 속성 정보의 예측값 P(N)을 도출한다. 그때, 예측부(451)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용한 방법으로 예측값 P(N)을 도출한다. 예측부(451)는, 도출한 예측값 P(N)을 연산부(452)에 공급한다.
연산부(452)는, 역양자화부(422)로부터 공급되는 커런트 계층의 예측 포인트의 속성 정보의 차분값 D(N)을 취득한다. 또한, 연산부(452)는, 예측부(451)로부터 공급되는 커런트 계층의 예측 포인트의 속성 정보의 예측값 P(N)을 취득한다. 연산부(452)는, 차분값 D(N)과 예측값 P(N)을 가산하여 예측 포인트의 속성 정보 H(N)을 생성(복원)한다. 연산부(452)는, 생성된 예측 포인트의 속성 정보 H(N)을 머지 처리부(453)에 공급한다.
머지 처리부(453)는, 역양자화부(422) 또는 전단의 계층별 처리부(441)로부터 공급되는 커런트 계층의 참조 포인트의 속성 정보 L(N)을 취득한다. 또한, 머지 처리부(453)는, 연산부(452)로부터 공급되는 커런트 계층의 예측 포인트의 속성 정보 H(N)을 취득한다. 머지 처리부(453)는, 취득한 참조 포인트의 속성 정보 L(N)과 예측 포인트의 속성 정보 H(N)을 통합한다. 이에 의해, 최상위층에서부터 커런트 계층까지의 전체 포인트의 속성 정보가 생성된다. 머지 처리부(453)는, 생성된 전체 포인트의 속성 정보를, 커런트 계층의 1개 하위의 계층의 참조 포인트의 속성 정보 L(N+1)로서, 후단의 계층별 처리부(441)(의 예측부(451) 및 머지 처리부(453))에 공급한다.
또한, 복호 대상의 최하위층을 커런트 계층으로 하는 계층별 처리부(441)의 경우, 머지 처리부(453)는, 생성된 전체 포인트의 속성 정보를, 복호 결과로서 포인트 클라우드 생성부(405)(도 23)에 공급한다.
이상과 같이 역계층화를 행함으로써, 역계층화 처리부(423)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
또한, 이들 처리부(예측부(451) 내지 머지 처리부(453))는, 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 기타를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<복호 처리의 흐름>
다음에, 이 복호 장치(400)에 의해 실행되는 처리에 대하여 설명한다. 복호 장치(400)는, 복호 처리를 실행함으로써 포인트 클라우드의 부호화 데이터를 복호한다. 이 복호 처리의 흐름의 예를, 도 26의 흐름도를 참조하여 설명한다.
복호 처리가 개시되면, 복호 장치(400)의 복호 대상 LoD 심도 설정부(401)는, 스텝 S401에 있어서, 복호할 LoD 심도를 설정한다.
스텝 S402에 있어서, 부호화 데이터 추출부(402)는, 비트 스트림을 취득하여 유지하고, 스텝 S401에 있어서 설정된 LoD 심도까지의 위치 정보 및 속성 정보의 부호화 데이터를 추출한다.
스텝 S403에 있어서, 위치 정보 복호부(403)는, 스텝 S402에 있어서 추출된 위치 정보의 부호화 데이터를 복호하고, 위치 정보(복호 결과)를 생성한다.
스텝 S404에 있어서, 속성 정보 복호부(404)는, 스텝 S402에 있어서 추출된 속성 정보의 부호화 데이터를 복호하고, 속성 정보(복호 결과)를 생성한다. 그때, 속성 정보 복호부(404)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 처리를 행한다. 속성 정보 복호 처리의 상세에 대해서는 후술한다.
스텝 S405에 있어서, 포인트 클라우드 생성부(405)는, 스텝 S403에 있어서 생성된 위치 정보(복호 결과)와, 스텝 S404에 있어서 생성된 속성 정보(복호 결과)를 사용하여 포인트 클라우드(복호 결과)를 생성하여, 출력한다.
스텝 S405의 처리가 종료되면, 복호 처리가 종료된다.
이와 같이 각 스텝의 처리를 행함으로써, 복호 장치(400)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 또한, 이와 같이 함으로써, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
<속성 정보 복호 처리의 흐름>
다음에, 도 26의 스텝 S404에 있어서 실행되는 속성 정보 복호 처리의 흐름의 예를, 도 27의 흐름도를 참조하여 설명한다.
속성 정보 복호 처리가 개시되면, 속성 정보 복호부(404)의 복호부(421)는, 스텝 S421에 있어서, 속성 정보의 부호화 데이터를 복호하고, 속성 정보(복호 결과)를 생성한다. 이 속성 정보(복호 결과)는 상술한 바와 같이 양자화되어 있다.
스텝 S422에 있어서, 역양자화부(422)는, 역양자화 처리를 실행함으로써, 스텝 S421에 있어서 생성된 속성 정보(복호 결과)를 역양자화한다. 그때, 역양자화부(422)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 역양자화를 행한다. 역양자화 처리의 상세에 대해서는 후술한다. 또한, 이 역양자화된 속성 정보는, 상술한 바와 같이 속성 정보와 그 예측값의 차분값이다.
스텝 S423에 있어서, 역계층화 처리부(423)는, 역계층화 처리를 실행함으로써, 스텝 S422에 있어서 역양자화된 속성 정보(차분값)를 역계층화하고, 각 포인트의 속성 정보를 도출한다. 그때, 역계층화 처리부(423)는, <1. 스케일러블 복호>에 있어서 상술한 본 기술을 적용하여 역계층화를 행한다. 역계층화 처리의 상세에 대해서는 후술한다.
스텝 S423의 처리가 종료되면 속성 정보 복호 처리가 종료되고, 처리는 도 26으로 되돌아간다.
이와 같이 각 스텝의 처리를 행함으로써, 속성 정보 복호부(404)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 또한, 이와 같이 함으로써, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
<역양자화 처리의 흐름>
다음에, 도 27의 스텝 S422에 있어서 실행되는 역양자화 처리의 흐름의 예를, 도 28의 흐름도를 참조하여 설명한다. 여기서는, 도 12의 표의 위에서 4번째에 기재된 방법 1-1-2를 적용하는 경우에 대하여 설명한다.
역양자화 처리가 개시되면, 역양자화부(422)는, 스텝 S441에 있어서, 부호화 데이터가 복호되어 생성된 가중치 도출 함수 정의 파라미터를 취득한다.
스텝 S442에 있어서, 역양자화부(422)는, 스텝 S441에 있어서 취득한 함수 정의 파라미터에 기초하여 가중치 도출 함수를 정의한다.
스텝 S443에 있어서, 역양자화부(422)는, 스텝 S442에 있어서 정의한 가중치 도출 함수를 사용하여, 계층(LoD)별 가중치를 도출한다.
스텝 S444에 있어서, 역양자화부(422)는, 스텝 S443에 있어서 도출된 가중치를 사용하여, 속성 정보(복호 결과)를 역양자화한다.
스텝 S444의 처리가 종료되면 역양자화 처리가 종료되고, 처리는 도 27로 되돌아간다.
이와 같이 역양자화 처리를 실행함으로써, 역양자화부(422)는, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
<역계층화 처리의 흐름>
다음에, 도 27의 스텝 S423에 있어서 실행되는 역계층화 처리의 흐름의 예를, 도 29의 흐름도를 참조하여 설명한다. 여기서는, 도 6의 표의 위에서 2번째에 기재된 방법 1-1을 적용하는 경우에 대하여 설명한다.
역계층화 처리가 개시되면, 역계층화 처리부(423)는, 스텝 S461에 있어서, 위치 정보(복호 결과)를 사용하여 속성 정보(복호 결과)를 계층화한다. 즉, 역계층화 처리부(423)는, 제1 실시 형태에 있어서 설명한 계층화 처리와 마찬가지의 처리를 행하여, 복호 대상의 계층에 대하여, 속성 정보의 계층 구조와 위치 정보의 계층 구조를 대응짓는다. 이에 의해, 각 포인트의 속성 정보(복호 결과)와 위치 정보(복호 결과)가 대응지어진다. 이 대응 관계에 기초하여 이하의 처리가 행해진다.
스텝 S462에 있어서, 역계층화 처리부(423)의 계층별 처리부(441)는, 처리 대상인 커런트 계층(현재 LoD)을 최상위의 계층(LoD)으로 한다.
스텝 S463에 있어서, 예측부(451)는, 각 예측 포인트의 예측값을 도출한다. 즉, 예측부(451)는, 각 예측 포인트에 대응하는 참조 포인트의 속성 정보를 사용하여, 그 예측 포인트의 속성 정보의 예측값을 도출한다.
예를 들어, 예측부(451)는, 도 4를 참조하여 설명한 바와 같이, 예측 포인트에 대응하는 각 참조 포인트의 속성 정보를, 예측 포인트와 참조 포인트의 거리의 역수에 따른 가중치(α(P,Q(i,j)))에 의해 가중치 부여하고, 상술한 식 (1)과 같은 연산을 행하여 통합함으로써, 예측값을 도출한다. 그때, 예측부(451)는, 커런트 계층(현재 LoD)의 해상도의 위치 정보를 사용하여, 예측 포인트와 참조 포인트의 거리를 도출하고, 적용한다.
스텝 S464에 있어서, 연산부(452)는, 스텝 S463에 있어서 도출된 예측값을, 그 예측 포인트의 차분값에 가산함으로써, 그 예측 포인트의 속성 정보를 복원한다.
스텝 S465에 있어서, 머지 처리부(453)는, 도출한 예측 포인트의 속성 정보와, 참조 포인트의 속성 정보를 머지하여 커런트 계층의 전체 포인트의 속성 정보를 생성한다.
스텝 S466에 있어서, 계층별 처리부(441)는, 커런트 계층(현재 LoD)이 최하위의 계층인지 여부를 판정한다. 커런트 계층이 최하위의 계층이 아니라고 판정된 경우, 처리는 스텝 S467로 진행한다.
스텝 S467에 있어서, 계층별 처리부(441)는, 처리 대상인 커런트 계층(현재 LoD)을 1개 밑의 계층(LoD)으로 한다. 스텝 S467의 처리가 종료되면 처리는 스텝 S463으로 되돌아간다. 즉, 각 계층에 대하여 스텝 S463 내지 스텝 S467의 각 처리가 실행된다.
그리고, 스텝 S466에 있어서, 커런트 계층이 최하위의 계층이라고 판정된 경우, 역계층화 처리가 종료되고, 처리는 도 27로 되돌아간다.
이와 같이 각 스텝의 처리를 행함으로써, 역계층화 처리부(423)는, 속성 정보의 예측값을 정확하게 도출할 수 있고, 위치 정보의 계층 구조에 대응지어진 속성 정보의 계층 구조를 정확하게 역계층화할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
또한, 도 6의 표의 위에서 3번째에 기재된 방법 1-1'를 적용하는 경우에도, 도 6의 표의 위에서 4번째에 기재된 방법 1-2를 적용하는 경우에도, 역계층화 처리는, 도 29의 흐름도와 기본적으로 마찬가지의 흐름으로 행해진다. 따라서, 이들의 설명은 생략한다.
<역양자화 처리의 흐름>
다음에, 도 12의 표의 위에서 7번째에 기재된 방법 1-2-2를 적용하는 경우의 역양자화 처리의 흐름의 예를, 도 30의 흐름도를 참조하여 설명한다.
역양자화 처리가 개시되면, 역양자화부(422)는, 스텝 S481에 있어서, 부호화 데이터가 복호되어 생성된 계층(LoD)별 가중치를 취득한다.
스텝 S482에 있어서, 역양자화부(422)는, 스텝 S481에 있어서 취득한 가중치를 사용하여, 속성 정보(복호 결과)를 역양자화한다.
스텝 S482의 처리가 종료되면 역양자화 처리가 종료되고, 처리는 도 27로 되돌아간다.
이와 같이 역양자화 처리를 실행함으로써, 역양자화부(422)는, 하위층에 의존하지 않고 역양자화를 행할 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다.
<4. DCM>
<위치 정보의 DCM>
상술한 바와 같이, 위치 정보는 Octree화된다. 근년, 예를 들어 비특허문헌 6에 기재된 바와 같이, Octree에 있어서 리프(Octree의 최하위층의 노드, 즉 최고 해상도의 포인트)가 특정 개수 이하밖에 존재하지 않는 노드에 있어서, 그 노드에서부터 각 리프까지의 상대 거리를 부호화하는 DCM(Direct Coding Mode)이 제안되었다.
예를 들어, 복셀 데이터의 Octree화에 있어서, 처리 대상의 노드가 소정의 조건을 만족시키고, 소(疎)하다고 판정되면, 이 DCM이 적용되고, 처리 대상 노드에서부터 그 처리 대상 노드에 직접적 또는 간접적으로 속하는 각 리프까지의 상대 거리(xyz의 각 방향에 대하여)가 구해져, 부호화된다.
또한, 「직접적으로 속하는 노드」란, 나무 구조에 있어서 상대 노드에 매달리는 노드를 나타낸다. 예를 들어, 처리 대상 노드에 직접적으로 속하는 노드는, 처리 대상 노드에 속하며, 또한 처리 대상 노드보다 1계층 하위의 노드(소위 자(子) 노드)를 나타낸다. 또한, 「간접적으로 속하는 노드」란, 나무 구조에 있어서 다른 노드를 통하여 상대 노드에 매달리는 노드를 나타낸다. 예를 들어, 처리 대상 노드에 간접적으로 속하는 노드는, 처리 대상 노드에 다른 노드를 통하여 속하며, 또한 처리 대상 노드보다 2계층 이상 하위의 노드(예를 들어 손(孫) 노드)를 나타낸다.
예를 들어, 도 31에 도시되는 바와 같이, Octree화 시에, 노드 n0(LoD=n)이 소하다고 판정되면, 그 노드 n0에 속하는(매달리는) 리프 p0이 특정되고, 그 노드 n2와 리프 p2의 (위치의) 차분이 도출된다. 즉, 중간 해상도의 노드(LoD=n과 LoD=l 사이의 계층(LoD)의 노드)의 위치 정보의 부호화는 생략된다.
마찬가지로, 노드 n2(LoD=m)가 소하다고 판정되면, 그 노드 n2에 속하는(매달리는) 리프 p2가 특정되고, 그 노드 n2와 리프 p2의 (위치의) 차분이 도출된다. 즉, 중간 해상도의 노드(LoD=m과 LoD=l 사이의 계층(LoD)의 노드)의 위치 정보의 부호화는 생략된다.
이와 같이 DCM을 적용함으로써, 소한 노드의 생성을 생략할 수 있으므로, Octree화의 처리의 부하의 증대를 억제할 수 있다.
<DCM에 대응하는 속성 정보의 계층화>
이러한 DCM이 적용되는 경우에 있어서도 속성 정보를 스케일러블하게 복호할 수 있도록, 위치 정보의 Octree에 있어서도 도 32에 도시되는 바와 같이 중간 해상도의 노드가 형성되어 있는 것으로서, 속성 정보의 계층화를 행해도 된다. 즉, DCM이 적용되어 있지 않는 것으로서, 속성 정보에 대하여 본 기술을 적용한 부호화ㆍ복호를 행해도 된다.
도 32의 예의 경우, 노드 n0부터 리프 p0까지의 사이의 흰색 동그라미로 표시되는 중간 해상도의 노드(노드 n0', 노드 n0" 및 노드 n0'")와, 노드 n2부터 리프 p2까지의 사이의 흰색 동그라미로 표시되는 중간 해상도의 노드(노드 n2')가 존재하는 것으로서, 속성 정보의 계층화가 행해진다. 즉, 이들 노드에 대응하는 속성 정보가 생성된다.
이와 같이 함으로써, DCM에 의해 위치 정보의 부호화가 생략되는 노드에 대해서도 속성 정보는 부호화되므로, 임의의 계층(해상도)의 속성 정보를, 최고 해상도까지 복호하지 않고 용이하게 복원할 수 있다. 즉, DCM이 적용되는 경우라도, 속성 정보의 보다 용이한 스케일러블한 복호를 실현할 수 있다.
예를 들어 부호화 장치(200)의 경우, 속성 정보 부호화부(204)(도 14)는, 도 31의 예와 같은 계층 구조의 위치 정보에 대하여, 속성 정보를 도 32의 예와 같은 계층 구조로 계층화하고, 양자화하고, 부호화한다. 즉, 계층화 처리부(211)(도 15)가, 도 32의 예와 같은 계층 구조의 속성 정보를 생성한다.
또한, 예를 들어 복호 장치(400)의 경우, 속성 정보 복호부(404)(도 23)는, 속성 정보의 부호화 데이터를 원하는 해상도로(원하는 계층까지) 복호한다. 상술한 바와 같이, 부호화 데이터에 있어서 속성 정보는, 도 32의 예와 같은 계층 구조를 갖는다. 따라서, 속성 정보 복호부(404)(역계층화 처리부(423)(도 24))는, 최고 해상도까지의 복호를 필요로 하지 않고, 임의의 계층의 속성 정보를 역계층화하여, 복원할 수 있다.
<노드의 해상도 설정 1>
또한, 이러한 속성 정보에 관한 처리에 있어서 위치 정보를 참조하는 경우에, DCM에 의해 위치 정보의 부호화가 생략되는 중간 해상도의 노드는, 예를 들어 그 계층의 해상도로 표현되도록 해도 된다.
<부호화의 경우>
예를 들어, 포인트 클라우드 데이터의 부호화에 있어서 LoD=m의 계층을 처리 대상으로 하는 경우에 대하여 설명한다. 위치 정보 부호화부(201)는, 소한 노드에 대하여 DCM을 적용하고, 도 31의 예와 같은 계층 구조의 위치 정보를 생성하여, 부호화한다. 즉, 이 위치 정보의 부호화 데이터에는, 노드 n0에 대응하는 LoD=m의 노드 n0"의 위치 정보는 포함되지 않는다.
이에 비해, 속성 정보 부호화부(204)는, 도 33에 도시되는 예와 같이, DCM에 의해 생략된, 노드 n0에 대응하는 LoD=m의 노드 n0"의 속성 정보를 생성한다. 그때, 속성 정보 부호화부(204)(계층화 처리부(211))는, 그 노드 n0"를, 그 계층(LoD=m)의 해상도로 표현한다. 즉, 속성 정보 부호화부(204)(계층화 처리부(211))는, 그 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 속성 정보를 생성한다.
그 경우, 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 속성 정보의 생성 방법은 임의이다. 예를 들어, 노드 n0이나 리프 p0에 대응하는 속성 정보가 사용되어, 노드 n0"에 대응하는 속성 정보가 생성되도록 해도 된다. 그 경우, 예를 들어 노드 n0이나 리프 p0의 속성 정보가, 노드 n0이나 리프 p0과 노드 n0"의 해상도의 차이에 따라 변환됨으로써, 노드 n0"에 대응하는 속성 정보가 생성되도록 해도 된다. 또한, 예를 들어 주변에 위치하는 노드의 속성 정보가 사용되어, 노드 n0"에 대응하는 속성 정보가 생성되도록 해도 된다.
이와 같이 함으로써, 부호화 장치(200)는, 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 속성 정보를 부호화할 수 있다.
<복호의 경우>
다음에, 포인트 클라우드 데이터의 부호화 데이터의 복호에 있어서 LoD=m의 계층을 처리 대상으로 하는 경우에 대하여 설명한다. 상술한 바와 같이 부호화된 속성 정보의 부호화 데이터에는, 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 속성 정보가 포함되어 있다. 따라서, 속성 정보 복호부(404)는, 속성 정보의 부호화 데이터를 계층(LoD=m)까지 복호함으로써, 용이하게 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 속성 정보를 복원할 수 있다.
즉, 복호 장치(400)는, DCM이 적용되는 경우라도, 보다 용이하게 속성 정보를 스케일러블하게 복호할 수 있다.
또한, 위치 정보에 대해서는, 계층(LoD=m)의 노드 n0"에 대응하는 위치 정보가 부호화되어 있지 않다. 따라서, 위치 정보 복호부(403)는, 도 34에 도시되는 예와 같이, 리프 p0에 대응하는 위치 정보를 복원하고, 그 해상도를 최종 해상도(최고 해상도)로부터 계층(LoD=m)의 해상도로 변환함으로써, 계층(LoD=m)의 해상도의 노드 n0"에 대응하는 위치 정보를 생성해도 된다.
<노드의 해상도 설정 2>
또한, DCM에 의해 위치 정보의 부호화가 생략되는 중간 해상도의 노드는, 예를 들어 최고 해상도(즉, 리프(LoD=l)의 해상도)로 표현되도록 해도 된다.
<부호화의 경우>
예를 들어, 포인트 클라우드 데이터의 부호화에 있어서 LoD=m의 계층을 처리 대상으로 하는 경우에 대하여 설명한다. 이 경우, 속성 정보 부호화부(204)는, 도 35에 도시되는 예와 같이, DCM에 의해 생략된, 노드 n0에 대응하는 LoD=m의 노드 n0"의 속성 정보를 생성한다. 그때, 속성 정보 부호화부(204)(계층화 처리부(211))는, 그 노드 n0"를 리프(LoD=l)의 해상도로 표현한다. 즉, 속성 정보 부호화부(204)(계층화 처리부(211))는, 리프(LoD=l)의 해상도의 노드 n0"에 대응하는 속성 정보(즉, 리프 p0에 대응하는 속성 정보와 동일한 속성 정보)를 생성한다.
이와 같이 함으로써, 부호화 장치(200)는, 리프(LoD=l)의 해상도의 노드 n0"에 대응하는 속성 정보를 부호화할 수 있다.
<복호의 경우>
다음에, 포인트 클라우드 데이터의 부호화 데이터의 복호에 있어서 LoD=m의 계층을 처리 대상으로 하는 경우에 대하여 설명한다. 상술한 바와 같이 부호화된 속성 정보의 부호화 데이터에는, 리프(LoD=l)의 해상도의 노드 n0"에 대응하는 속성 정보가 포함되어 있다. 따라서, 속성 정보 복호부(404)는, 속성 정보의 부호화 데이터를 계층(LoD=m)까지 복호함으로써, 용이하게 리프(LoD=l)의 해상도의 노드 n0"에 대응하는 속성 정보를 복원할 수 있다.
즉, 복호 장치(400)는, DCM이 적용되는 경우라도, 보다 용이하게 속성 정보를 스케일러블하게 복호할 수 있다.
또한, 위치 정보에 대해서는, 계층(LoD=m)의 노드 n0"가 부호화되어 있지 않다. 따라서, 위치 정보 복호부(403)는, 도 36에 도시되는 예와 같이, 리프 p0에 대응하는 위치 정보를 복원하고, 그것을, 리프(LoD=l)의 해상도의 노드 n0"에 대응하는 위치 정보로서 이용해도 된다.
<5. QuantizationWeight>
<가중치 도출 함수예 그 1>
<1. 스케일러블 복호>에 있어서, 도 12 등을 참조하여, 가중치(Quantization Weight)의 예에 대하여 설명하였다. 예를 들어, <가중치: 방법 1-1-1>에 있어서, 소정의 가중치 도출 함수를 사용하여 가중치를 도출하는 예에 대하여 설명하였다. 이 가중치를 도출하기 위한 가중치 도출 함수는, 어떠한 함수여도 되지만, 예를 들어 도 37의 A에 도시되는 바와 같은 식 (11) 및 식 (12)와 같은 함수여도 된다. 이하에 그 식 (11) 및 식 (12)를 다시 게재한다.
Figure pct00003
Figure pct00004
식 (11) 및 식 (12)에 있어서, LoDCount는, 속성 정보의 계층 구조의 최하위층(최고 해상도의 계층)을 나타낸다. 또한, QuantizationWeight[i]는, 이 계층 구조의 계층 i(최상위(최저 해상도의 계층)로부터 (i-1)번째의 계층)에 있어서의 가중치(이 가중치는 계층별로 설정되는 값임)를 나타낸다. pointCount는, 이 계층 구조의 전체 노드(Node)수, 즉 전체 포인트수를 나타낸다. predictorCount[i]는, 계층 i의 예측 포인트의 수, 즉 계층 i에 있어서 예측값이 도출되는 포인트의 수를 나타낸다. 계층 0(최상위층)부터 계층 LoDCount(최하위층)까지의 각 계층의 예측 포인트의 수의 적산값(식 (11)의 가장 우측 변의 분자)이, 전체 포인트수(pointCount)로 된다.
식 (11)에 나타내는 바와 같이, 이 경우의 계층 i의 가중치(QuantizationWeight[i])에는, 전체 포인트수와, 그 계층 i의 예측 포인트의 수의 비가 세팅된다. 단, 식 (12)에 나타내는 바와 같이, 최하위층(i==LoDCount)의 경우, 가중치(QuantizationWeight[i])에는 「1」이 세팅된다.
이러한 가중치 도출 함수를 사용하여 가중치(QuantizationWeight[i])를 도출함으로써, 부호화 장치(200) 및 복호 장치(400)는, 하위층에 의존하지 않고 가중치를 도출할 수 있다. 따라서, <가중치: 방법 1>에 있어서 상술한 바와 같이, 하위층에 의존하지 않는 양자화ㆍ역양자화가 가능하게 된다. 즉, 상술한 바와 같이 하위층의 정보의 참조가 불필요하므로, 부호화 장치(200) 및 복호 장치(400)는, 보다 용이하게 스케일러블한 복호를 실현할 수 있다.
또한, 이 가중치 도출 함수(식 (11) 및 식 (12))를 사용함으로써, 부호화 장치(200) 및 복호 장치(400)는, 상위의 계층일수록 값이 커지도록 가중치를 도출할 수 있다. 따라서, 부호화ㆍ복호의 정밀도의 저감을 억제할 수 있다.
또한, <가중치: 방법 1-1-1>에 있어서 상술한 바와 같이, 부호화 장치(200) 및 복호 장치(400)가, 이 가중치 도출 함수(식 (11) 및 식 (12))를 미리 공유하도록 해도 된다. 이와 같이 함으로써, 부호화 장치(200) 및 복호 장치(400)는, 서로 동일한 가중치를 도출할 수 있다. 또한, 이 가중치 도출 함수를 공유하기 위한 정보의 전송이 불필요하므로, 부호화 효율의 저감이나 부호화 처리 및 복호 처리의 부하의 증대를 억제할 수 있다.
또한, <가중치: 방법 1-1-2>에 있어서 상술한 바와 같이, 부호화 장치(200)가, 부호화 시에 이 가중치 도출 함수(식 (11) 및 식 (12))를 정의해도 된다. 그 경우, 부호화 장치(200)가, 그 정의한 가중치 도출 함수, 또는 복호 장치(400)가 그 가중치 도출 함수를 도출할 수 있는 파라미터(가중치 도출 함수 정의 파라미터)를 복호 장치(400)에 전송해도 된다.
예를 들어, 부호화 장치(200)는, 이러한 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림에 포함시켜 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 도 20의 흐름도를 참조하여 설명한 양자화 처리에 있어서, 양자화부(212)는, 가중치 도출 함수로서, 상술한 식 (11) 및 식 (12)를 정의한다(스텝 S271). 그리고, 양자화부(212)는, 그 가중치 도출 함수를 사용하여, 계층(LoD)별 가중치를 도출한다(스텝 S272). 그리고, 양자화부(212)는, 그 도출한 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다(스텝 S273). 그리고, 양자화부(212)는, 그 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를 부호화부(213)에 공급하고, 부호화시킨다(스텝 S274). 즉, 양자화부(212)는, 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를 복호측에 전송시킨다.
또한, 부호화 장치(200)가, 이 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림과는 독립된 데이터 또는 파일로서 복호 장치(400)에 전송하도록 해도 된다.
이와 같이, 이러한 가중치 도출 함수 또는 파라미터를 부호화 장치(200)로부터 복호 장치(400)에 전송함으로써, 부호화 장치(200) 및 복호 장치(400)는, 가중치 도출 함수(식 (11) 및 식 (12))를 공유할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 서로 동일한 가중치를 도출할 수 있다.
또한, <가중치: 방법 1-2>에 있어서 상술한 바와 같이, 부호화 장치(200) 및 복호 장치(400)가, 이 가중치 도출 함수(식 (11) 및 식 (12))를 사용하여 도출한 가중치(QuantizationWeight[i])를 공유하도록 해도 된다. 예를 들어, <가중치: 방법 1-2-2>에 있어서 상술한 바와 같이, 부호화 장치(200)가, 부호화 시에 이 가중치 도출 함수를 사용하여 가중치를 도출하고, 그 가중치를 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 부호화 장치(200)는, 이러한 가중치를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림에 포함시켜 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 도 22의 흐름도를 참조하여 설명한 양자화 처리에 있어서, 양자화부(212)는, 상술한 가중치 도출 함수(식 (11) 및 식 (12))를 사용하여, 계층(LoD)별 가중치를 도출한다(스텝 S321). 그리고, 양자화부(212)는, 그 도출한 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다(스텝 S322). 그리고, 양자화부(212)는, 그 양자화에 사용한 가중치를 부호화부(213)에 공급하고, 부호화시킨다(스텝 S323). 즉, 양자화부(212)는, 이 가중치를 복호측에 전송시킨다.
또한, 부호화 장치(200)가, 이 가중치를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림과는 독립된 데이터 또는 파일로서 복호 장치(400)에 전송하도록 해도 된다.
이와 같이 가중치를 부호화 장치(200)로부터 복호 장치(400)로 전송함으로써, 부호화 장치(200) 및 복호 장치(400)는 가중치를 공유할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 하위층에 의존하지 않고, 용이하게 가중치를 도출할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 보다 용이하게 스케일러블한 복호를 실현할 수 있다. 또한, 복호 장치(400)는, 가중치 도출 함수를 사용하여 가중치를 도출할 필요가 없으므로, 복호 처리의 부하의 증대를 억제할 수 있다.
<가중치 도출 함수예 그 2>
가중치 도출 함수는, 예를 들어 도 37의 B에 도시되는 바와 같은 식 (13)과 같은 함수여도 된다. 이하에 그 식 (13)을 다시 게재한다.
Figure pct00005
식 (11) 및 식 (12)의 경우와 마찬가지로, 식 (13)에 있어서, LoDCount는, 속성 정보의 계층 구조의 최하위층을 나타낸다. 또한, QuantizationWeight[i]는, 이 계층 구조의 계층 i에 있어서의 가중치를 나타낸다. predictorCount[i]는, 계층 i의 예측 포인트의 수, 즉 계층 i에 있어서 예측값이 도출되는 포인트의 수를 나타낸다. 계층 i(처리 대상의 계층)에서부터 계층 LoDCount(최하위층)까지의 각 계층의 예측 포인트의 수의 적산값(식 (11)의 가장 우측 변의 분자)은, 계층 i 이하의 포인트수로 된다.
식 (13)에 나타내는 바와 같이, 이 경우의 계층 i의 가중치(QuantizationWeight[i])에는, 계층 i 이하의 포인트수와, 그 계층 i의 예측 포인트의 수의 비가 세팅된다.
이 식 (13)의 가중치 도출 함수를 적용하는 경우에도, 식 (11) 및 식 (12)의 가중치 도출 함수를 적용하는 경우와 마찬가지로, 부호화 장치(200) 및 복호 장치(400)는, 하위층에 의존하지 않고 가중치를 도출할 수 있다. 따라서, <가중치: 방법 1>에 있어서 상술한 바와 같이, 하위층에 의존하지 않는 양자화ㆍ역양자화가 가능하게 된다. 즉, 상술한 바와 같이 하위층의 정보의 참조가 불필요하므로, 부호화 장치(200) 및 복호 장치(400)는, 보다 용이하게 스케일러블한 복호를 실현할 수 있다.
또한, 이 식 (13)의 가중치 도출 함수를 적용하는 경우에도, 식 (11) 및 식 (12)의 가중치 도출 함수를 적용하는 경우와 마찬가지로, 부호화 장치(200) 및 복호 장치(400)는, 상위의 계층일수록 값이 커지도록 가중치를 도출할 수 있다. 따라서, 부호화ㆍ복호의 정밀도의 저감을 억제할 수 있다.
가중치(QuantizationWeight[i])는, 도 5에 도시되는 바와 같이, 다른 포인트에 참조될 기회가 많은 포인트일수록 중요하다(주관적인 화질에 대한 영향이 큼)고 하는 가치관에 따라 값이 세팅된다. 그리고, 일반적으로, 보다 상위의 계층의 예측 포인트일수록, 다른 포인트에 참조될 기회가 많다고 하는 경향이 있다. 그 때문에, 보다 상위의 계층의 예측 포인트일수록 큰 가중치가 세팅된다. 도 12를 참조하여 상술한 바와 같이, 계층(LoD)별로 가중치를 세팅하는 경우에도, 이 가치관에 따라 보다 상위의 계층일수록 큰 가중치가 세팅된다.
포인트가 충분히 밀(密)한 상태의 포인트 클라우드의 경우, 즉 기본적으로 각 포인트의 근방에 다른 포인트가 존재하는 경우, 일반적으로 해상도를 증대시킬수록 포인트수가 증대된다. 전형적으로는, 그 포인트수 증대의 정도도 충분히 크며, 예측 포인트의 수(predictorCount[i])는 하위층을 향하여 단조 증가한다. 따라서, 식 (11) 및 식 (12)의 가중치 도출 함수를 적용해도, 식 (13)의 가중치 도출 함수를 적용해도, 계층 i의 가중치(QuantizationWeight[i])는 상위층으로 될수록 커지기 쉽다.
이에 비해, 포인트가 소한 상태의 포인트 클라우드의 경우, 즉 각 포인트의 근방에 다른 포인트가 존재할 가능성이 낮은 경우, 일반적으로 해상도를 증대시켜도 포인트수는 그다지 증대되지 않는다. 전형적으로는, 많은 비율의 포인트가 계층 구조의 상위층에 있어서 예측 포인트에 할당되어 버려, 예측 포인트의 수가 하위층을 향하여 저감될 가능성도 있다.
식 (11) 및 식 (12)의 가중치 도출 함수를 적용하는 경우, 계층 i의 가중치(QuantizationWeight[i])는, 그 계층의 예측 포인트의 수(predictorCount[i])가 적을수록 큰 값으로 된다. 따라서, 전형적으로는, 많은 비율의 포인트가 예측 포인트에 할당되는 상위층 쪽이, 하위층보다 가중치가 작아져 버리는 경우도 생각된다. 즉, 가중치와 예측 포인트가 참조될 기회의 수의 대응 관계가 약해져, 양자화에 의한 주관적인 화질의 열화가 증대될 가능성이 있다.
이에 비해, 계층 i 이하의 포인트수는, 상위층을 향하여 단조 증가한다. 그 때문에, 식 (13)의 가중치 도출 함수를 적용하는 경우, 계층 i의 가중치(QuantizationWeight[i])는, 상위층으로 될수록 증대될 가능성이 높다. 즉, 다른 포인트에 참조될 기회가 많은(보다 상위의 계층의) 예측 포인트에 대하여 큰 가중치를 세팅한다고 하는 경향을 유지하기 쉽다. 따라서, 식 (11) 및 식 (12)의 가중치 도출 함수를 적용하는 경우보다, 양자화에 의한 주관적인 화질의 열화를 억제할 수 있다.
또한, <가중치: 방법 1-1-1>에 있어서 상술한 바와 같이, 부호화 장치(200) 및 복호 장치(400)가, 이 가중치 도출 함수(식 (13))를 미리 공유하도록 해도 된다. 이와 같이 함으로써, 부호화 장치(200) 및 복호 장치(400)는, 서로 동일한 가중치를 도출할 수 있다. 또한, 이 가중치 도출 함수를 공유하기 위한 정보의 전송이 불필요하므로, 부호화 효율의 저감이나 부호화 처리 및 복호 처리의 부하의 증대를 억제할 수 있다.
또한, <가중치: 방법 1-1-2>에 있어서 상술한 바와 같이, 부호화 장치(200)가, 부호화 시에 이 가중치 도출 함수(식 (13))를 정의해도 된다. 그 경우, 부호화 장치(200)가, 그 정의한 가중치 도출 함수, 또는 복호 장치(400)가 그 가중치 도출 함수를 도출할 수 있는 파라미터(가중치 도출 함수 정의 파라미터)를, 복호 장치(400)에 전송해도 된다.
예를 들어, 부호화 장치(200)는, 이러한 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림에 포함시켜 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 도 20의 흐름도를 참조하여 설명한 양자화 처리에 있어서, 양자화부(212)는, 가중치 도출 함수로서, 상술한 식 (13)을 정의한다(스텝 S271). 그리고, 양자화부(212)는, 그 가중치 도출 함수를 사용하여, 계층(LoD)별 가중치를 도출한다(스텝 S272). 그리고, 양자화부(212)는, 그 도출한 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다(스텝 S273). 그리고, 양자화부(212)는, 그 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를 부호화부(213)에 공급하고, 부호화시킨다(스텝 S274). 즉, 양자화부(212)는, 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를 복호측에 전송시킨다.
또한, 부호화 장치(200)가, 이 가중치 도출 함수 또는 가중치 도출 함수 정의 파라미터를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림과는 독립된 데이터 또는 파일로서 복호 장치(400)에 전송하도록 해도 된다.
이와 같이, 이러한 가중치 도출 함수 또는 파라미터를 부호화 장치(200)로부터 복호 장치(400)로 전송함으로써, 부호화 장치(200) 및 복호 장치(400)는, 가중치 도출 함수(식 (13))를 공유할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 서로 동일한 가중치를 도출할 수 있다.
또한, <가중치: 방법 1-2>에 있어서 상술한 바와 같이, 부호화 장치(200) 및 복호 장치(400)가, 이 가중치 도출 함수(식 (13))를 사용하여 도출한 가중치(QuantizationWeight[i])를 공유하도록 해도 된다. 예를 들어, <가중치: 방법 1-2-2>에 있어서 상술한 바와 같이, 부호화 장치(200)가, 부호화 시에 이 가중치 도출 함수를 사용하여 가중치를 도출하고, 그 가중치를 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 부호화 장치(200)는, 이러한 가중치를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림에 포함시켜 복호 장치(400)에 전송하도록 해도 된다.
예를 들어, 도 22의 흐름도를 참조하여 설명한 양자화 처리에 있어서, 양자화부(212)는, 상술한 가중치 도출 함수(식 (13))를 사용하여, 계층(LoD)별 가중치를 도출한다(스텝 S321). 그리고, 양자화부(212)는, 그 도출한 LoD별 가중치를 사용하여, 속성 정보의 차분값을 양자화한다(스텝 S322). 그리고, 양자화부(212)는, 그 양자화에 사용한 가중치를 부호화부(213)에 공급하고, 부호화시킨다(스텝 S323). 즉, 양자화부(212)는, 이 가중치를 복호측에 전송시킨다.
또한, 부호화 장치(200)가, 이 가중치를, 포인트 클라우드의 부호화 데이터를 포함하는 비트 스트림과는 독립된 데이터 또는 파일로서 복호 장치(400)에 전송하도록 해도 된다.
이와 같이, 이러한 가중치를 부호화 장치(200)로부터 복호 장치(400)로 전송함으로써, 부호화 장치(200) 및 복호 장치(400)는 가중치를 공유할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 하위층에 의존하지 않고, 용이하게 가중치를 도출할 수 있다. 따라서, 부호화 장치(200) 및 복호 장치(400)는, 보다 용이하게 스케일러블한 복호를 실현할 수 있다. 또한, 복호 장치(400)는, 가중치 도출 함수를 사용하여 가중치를 도출할 필요가 없으므로, 복호 처리의 부하의 증대를 억제할 수 있다.
<6. LoDGeneration>
<위치 정보 복호 시의 LoDGeneration>
<1. 스케일러블 복호>에 있어서 도 6 등을 참조하여 상술한 바와 같이, 위치 정보의 계층 구조와 마찬가지의 구조로 되도록 속성 정보를 계층화함으로써, 속성 정보의 스케일러블한 복호가 가능하게 된다. 그리고, 속성 정보는, 각 계층의 예측 포인트(환언하건대 참조 포인트)를 선택함으로써, 그 계층 구조가 설정된다. 이러한 계층 구조를 설정하는 처리를 LoD 제너레이션(LoDGeneration) 처리, 또는 서브 샘플링(SubSampling) 처리라고 칭한다.
<2. 제1 실시 형태>나 <3. 제2 실시 형태>에 있어서 상술한 바와 같이, 이 LoD 제너레이션 처리는 속성 정보의 부호화ㆍ복호 시에 행해진다. 예를 들어, 부호화 장치(200)의 경우, 속성 정보 부호화부(204)의 포인트 분류부(231)가 이 LoD 제너레이션 처리를 행한다(스텝 S242). 또한, 복호 장치(400)의 경우, 속성 정보 복호부(404)의 역계층화 처리부(423)가 이 LoD 제너레이션 처리를 행한다(스텝 S461).
이 LoD 제너레이션 처리는, 이 예 이외에도, 예를 들어 위치 정보의 부호화 데이터의 복호 시에 행해지도록 해도 된다. 위치 정보의 부호화 데이터를 복호함으로써, 위치 정보의 계층 구조(각 포인트가 어느 계층에 속하는지)가 밝혀진다. 그래서 LoD 제너레이션 처리로서, 이 위치 정보의 계층 구조를 나타내는 정보를 생성한다. 그리고, 그 정보에 기초하여, 위치 정보의 계층 구조에 대응하도록, 속성 정보의 계층화ㆍ역계층화가 행해지도록 한다. 이와 같이 함으로써, 위치 정보의 계층 구조를 속성 정보에 적용할 수 있다.
그리고, 이러한 계층화ㆍ역계층화를 적용하여 속성 정보의 부호화ㆍ복호가 행해지도록 한다. 즉, 위치 정보와 속성 정보의 계층 구조가 대응한 상태에서 부호화ㆍ복호가 행해지도록 한다. 이와 같이 함으로써, 속성 정보의 스케일러블한 복호가 가능하게 된다. 또한, 용장한 처리를 저감시켜, 속성 정보의 부호화 처리ㆍ복호 처리의 부하의 증대를 억제할 수 있다.
또한, 부호화 장치(200)의 경우, 이 LoD 제너레이션 처리는 위치 정보의 부호화 시에 행해지도록 해도 된다.
<LoDGeneration 처리의 예>
이러한 LoD 제너레이션 처리에 대하여 설명한다. 위치 정보의 부호화 데이터를 복호하면, 예를 들어 Octree 등의 계층 구조가 복원된다. 도 38은, 복원된 위치 정보의 계층 구조의 예를 도시한다. 이 계층 구조의 동그라미로 표시되는 노드(611)는, 계층화된 포인트를 나타낸다. 또한, 도 38에 있어서는, 계층 구조의 일부(노드(611)의 일부)만을 도시하고 있다. 도 38에 있어서는, 노드(611-1) 내지 노드(611-12)가 도시되어 있지만, 각 노드를 서로 구별하여 설명할 필요가 없는 경우, 노드(611)라고 칭한다.
위치 정보는, 최상위의 계층(LoDIdx=0)으로부터 최하위의 계층을 향하여 계층별로 복호된다. 도 38에 도시되는 예의 경우, 최상위의 계층(LoDIdx=0)에 있어서 노드(611-1)가 출현하고 있다. 그 1개 하위의 계층(LoDIdx=1)에 있어서, 해상도가 높아짐으로써 노드(611-1)에 대응하는 포인트가 분할되어, 새로운 노드(611-2)가 출현하고 있다. 그 1개 하위의 계층(LoDIdx=2)에 있어서는, 노드(611-1)에 대응하는 포인트가 분할되어, 새로운 노드(611-3) 및 노드(611-4)가 출현하고, 노드(611-2)에 대응하는 포인트가 분할되어, 새로운 노드(611-5) 내지 노드(611-7)가 출현하고 있다.
그 1개 하위의 계층(LoDIdx=3)에 있어서는, 노드(611-1)에 대응하는 포인트가 분할되어, 새로운 노드(611-7)가 출현하고 있다. 그 1개 하위의 계층(LoDIdx=4)에 있어서는, 노드(611-1)에 대응하는 포인트가 분할되어, 새로운 노드(611-8) 내지 노드(611-10)가 출현하고, 노드(611-7)에 대응하는 포인트가 분할되어, 새로운 노드(611-11) 및 노드(611-12)가 출현하고 있다.
이와 같이 순차적으로 출현하는 각 노드(611)에 대하여, 예를 들어 데이터 구조의 리스트(List)와 같은 것을 사용하여, 계층(LodIdx)을 나타내는 라벨 부착이 행해진다. 도 38의 예에 대한 라벨 부착의 예를 도 39에 도시한다. 이 라벨 부착은, 위치 정보의 계층 구조의 최상위층으로부터 최하위층을 향하는 순으로 계층별로 행해지며, 새롭게 출현하는 각 노드에 대하여, 그 계층을 나타내는 값의 라벨이 부착된다.
예를 들어, 최상위의 계층(LoDIdx=0)이 처리되고, 노드(611-1)가 출현하면, 도 39의 위에서 1단째(「1」의 단)에 나타내는 바와 같이, 리스트에 있어서, 그 노드(611-1)에 대하여 「0」의 라벨이 부착된다.
1개 하위의 계층(LoDIdx=1)이 처리되고, 노드(611-2)가 새롭게 출현하면, 도 39의 위에서 2단째(「2」의 단)에 나타내는 바와 같이, 리스트에 있어서, 그 노드(611-2)에 대하여 「1」의 라벨이 부착된다. 노드(611-1)는 이미 라벨이 부착되어 있으므로, 여기서는 라벨은 부착되지 않는다.
또한, 1개 하위의 계층(LoDIdx=2)이 처리되고, 노드(611-3) 내지 노드(611-6)가 새롭게 출현하면, 도 39의 위에서 3단째(「3」의 단)에 나타내는 바와 같이, 리스트에 있어서, 그 노드(611-3) 내지 노드(611-6)의 각각에 대하여 「2」의 라벨이 부착된다. 노드(611-1) 및 노드(611-2)는 이미 라벨이 부착되어 있으므로, 여기서는 라벨은 부착되지 않는다. 또한, 계층 구조(Octree)에 있어서는 각 노드(각 포인트)가 모턴 오더순으로 배열된다. 리스트에 있어서도, 마찬가지로, 각 노드(611)의 라벨이 모턴 오더순으로 정렬된다. 따라서, 도 39의 예의 경우, 라벨의 배열은 「0, 2, 2, 1, 2, 2, …」와 같이 된다.
또한, 1개 하위의 계층(LoDIdx=3)이 처리되고, 노드(611-7)가 새롭게 출현하면, 도 39의 위에서 4단째(「4」의 단)에 나타내는 바와 같이, 리스트에 있어서, 그 노드(611-7)에 대하여 「3」의 라벨이 부착된다. 노드(611-1)는 이미 라벨이 부착되어 있으므로, 여기서는 라벨은 부착되지 않는다. 모턴 오더순에 있어서 노드(611-7)는, 노드(611-1)의 다음에 출현하므로, 도 39의 예의 경우, 라벨의 배열은 「0, 3, …」과 같이 된다.
또한, 1개 하위의 계층(LoDIdx=4)이 처리되고, 노드(611-8) 내지 노드(611-12)가 새롭게 출현하면, 도 39의 위에서 5단째(「5」의 단)에 나타내는 바와 같이, 리스트에 있어서, 이들 노드(611-8) 내지 노드(611-12)에 대하여 「4」의 라벨이 부착된다. 노드(611-1)나 노드(611-7)는 이미 라벨이 부착되어 있으므로, 여기서는 라벨은 부착되지 않는다. 모턴 오더순에 있어서, 노드(611-8) 내지 노드(611-10)는, 노드(611-1)의 다음에 출현하고, 노드(611-11) 및 노드(611-12)는, 노드(611-7)의 다음에 출현한다. 따라서, 도 39의 예의 경우, 라벨의 배열은 「0, 4, 4, 4, 3, 4, 4, …」과 같이 된다.
이상과 같이 생성된 리스트를 참조하여 속성 정보를 계층화하고, 속성 정보의 부호화ㆍ복호를 행함으로써, 위치 정보와 마찬가지의 계층 구조로 속성 정보를 부호화ㆍ복호할 수 있다. 따라서, 속성 정보의 스케일러블한 복호를 실현할 수 있다. 또한, 용장한 처리를 저감시켜, 속성 정보의 부호화 처리ㆍ복호 처리의 부하의 증대를 억제할 수 있다.
<DCM을 포함하는 경우 그 1>
위치 정보의 계층 구조에 있어서 DCM이 포함되는 경우에 대하여 설명한다. 그 경우의 위치 정보의 계층 구조의 예를 도 40에 도시한다. 도 40에 도시되는 계층 구조에 있어서, LoDIdx=1의 계층에서 출현하는 노드(611-21)의 포인트는 LoDIdx=3의 계층에서 분할된다. 즉, LoDIdx=3의 계층에 있어서 새로운 노드(611-22)가 출현하고 있다. 또한, 이 노드(611-21)에는 DCM이 적용되어 있다. 노드(611-22)에도 DCM이 적용된다.
이러한 DCM이 적용되는 노드에 대해서는, DCM이 적용되지 않는 노드와는 다른 리스트를 사용하여 라벨 부착을 행하도록 해도 된다. 이러한 방법에 의한 도 40의 예에 대한 라벨 부착의 예를 도 41에 도시한다. 도 41에 도시되는 바와 같이, DCM이 적용되지 않는 노드에 대해서는, 리스트 A(ListA)를 사용하여 도 39의 예의 경우와 마찬가지로 라벨 부착이 행해진다. 이에 비해, DCM이 적용되는 노드(611-21) 및 노드(611-22)에 대해서는, 리스트 A와 다른 리스트 B(ListB)를 사용하여 라벨 부착이 행해진다. 또한, 리스트 A 및 리스트 B는, 설명의 편의상, 각 리스트에 부여한 명칭이며, 실제의 명칭은 임의이다.
최상위의 계층(LoDIdx=0)이 처리된 후, 그 1개 하위의 계층(LoDIdx=1)이 처리되고, DCM이 적용된 노드(611-21)가 새롭게 출현하면, 도 41의 점선으로부터 도면 중 우측에 표시되는 리스트 B에 있어서, 그 노드(611-21)에 대하여 「1」의 라벨이 부착된다. 노드(611-22)도 DCM이 적용되고, 이 LoDIdx=1의 노드(611-21)로부터의 상대 거리로서 부호화되기 때문에, 이 계층에 있어서 노드(611-22)에 대하여 라벨이 부착된다. 단, 노드(611-22)는 LoDIdx=3에 있어서 노드(611-21)와 나누어지므로, 이 노드(611-22)에 대해서는 「3」의 라벨이 부착된다.
또한, 노드(611-21)에 대한 라벨과 노드(611-22)에 대한 라벨은, 최하위층(최고 해상도)의 모턴 오더순에 있어서의 양쪽 노드의 위치에 따라 배열된다. 도 40의 예의 경우, 노드(611-21), 노드(611-22)의 순으로 배열되므로, 라벨은 「1, 3」의 순으로 배열된다.
다른 DCM이 적용되는 노드(611)에 대해서도 마찬가지로 리스트 B에 라벨이 세팅된다. 그리고, 속성 정보의 부호화ㆍ복호에 있어서, 리스트 A 및 리스트 B의 라벨 열이 이용된다. 그때, 리스트 A의 라벨 열과 리스트 B의 라벨 열이 머지되고, 모턴 오더순으로 정렬된다. 즉, 최하위층(최고 해상도)에 있어서 모턴 오더순으로 배열되는 노드에 대응하도록 라벨이 정렬된다.
또한, 리스트 B의 라벨(DCM이 적용된 노드의 라벨)에 대해서는, 중복점을 제거하는 처리가 행해진다. DCM이 적용된 노드(611)에는, 최초로 출현한 시점에서, 분리되는 노드(611)에 대해서도 라벨 부착이 행해진다. 예를 들어, 도 41의 경우, LoDIdx=1의 계층에 있어서, 노드(611-21)와 노드(611-22)의 양쪽에 대한 라벨 부착이 행해지고 있다.
그러나, 복호 대상의 계층에 따라서는, 노드가 분리되어 있지 않은 경우도 있을 수 있다. 예를 들어, 도 40의 예의 LoDIdx=2의 계층(해상도)에서 복호하는 경우, 노드(611-21)와 노드(611-22)는 분리되어 있지 않다. 즉, LoDIdx=2의 계층에 있어서는, 「1」의 라벨에 대응하는 포인트(노드(611-21))와 「3」의 라벨에 대응하는 포인트(노드(611-22))가 중복되어 있다. 따라서, 노드(611-22)에 대한 라벨은 불필요하다. 그래서, 상술한 바와 같이, 대응하는 점이 중복되는 라벨의 제거가 행해진다.
즉 이 중복점을 제거하는 처리는, 리스트 B의 라벨(DCM이 적용된 노드의 라벨)만을 대상으로 하여 행해진다(리스트 A의 라벨은 대상 외로 됨).
이상과 같이, DCM이 적용되어 있지 않은 노드에 대응하는 라벨 열과, DCM이 적용된 노드에 대응하는 라벨 열이 머지되고, 각 라벨이 모턴 오더순으로 정렬되며, 또한 중복점이 적절하게 제거된 1개의 라벨 열이, LoD 제너레이션 처리 결과로서, 속성 정보의 부호화ㆍ복호에 적용된다.
이상과 같이 생성된 리스트를 참조하여 속성 정보를 계층화하고, 속성 정보의 부호화ㆍ복호를 행함으로써, 위치 정보와 마찬가지의 계층 구조에서 속성 정보를 부호화ㆍ복호할 수 있다. 따라서, 위치 정보의 계층 구조에 있어서 DCM이 포함되는 경우에도, 속성 정보의 스케일러블한 복호를 실현할 수 있다. 또한, 용장한 처리를 저감시켜, 속성 정보의 부호화 처리ㆍ복호 처리의 부하의 증대를 억제할 수 있다.
<DCM을 포함하는 경우 그 2>
또한, 위치 정보의 계층 구조에 있어서 DCM이 포함되는 경우에도, DCM이 적용되는 노드와 DCM이 적용되지 않는 노드를 나누지 않고, 즉 동일한 리스트를 사용하여 라벨 부착이 행해지도록 해도 된다. 도 42는, 도 41과 마찬가지로, 도 40에 도시되는 계층 구조에 대한 라벨 부착의 예를 도시한다. 도 42의 예에서는, 도 39의 예의 경우와 마찬가지로, 단일 리스트를 사용하여 라벨 부착이 행해지고 있다.
우선, 최상위의 계층(LoDIdx=0)이 처리되고, 노드(611-1)가 출현하면, 도 39의 예의 경우와 마찬가지로, 리스트에 있어서, 그 노드(611-1)에 대하여 「0」의 라벨이 부착된다(도 42의 위에서 1단째(「1」의 단)).
그 1개 하위의 계층(LoDIdx=1)이 처리되고, DCM이 적용된 노드(611-21)가 새롭게 출현하면, 리스트에 있어서, 그 노드(611-21)에 대하여 「1」의 라벨이 부착된다. 노드(611-22)도 DCM이 적용되고, 이 LoDIdx=1의 노드(611-21)로부터의 상대 거리로서 부호화되기 때문에, 이 계층에 있어서 노드(611-22)에 대하여 라벨이 부착된다. 단, 노드(611-22)는 LoDIdx=3에 있어서 노드(611-21)와 나누어지므로, 이 노드(611-22)에 대해서는 「3」의 라벨이 부착된다(도 42의 위에서 2단째(「2」의 단)).
또한, 도 41의 경우와 마찬가지로, 노드(611-21)에 대한 라벨과 노드(611-22)에 대한 라벨은, 최하위층(최고 해상도)의 모턴 오더순에 있어서의 양쪽 노드의 위치에 따라 배열된다. 도 40의 예의 경우, 노드(611-21), 노드(611-22)의 순으로 배열되므로, 라벨은 「1, 3」의 순으로 배열된다.
단, 이 도 42의 예의 경우, 중복점의 제거는, DCM이 적용된 노드에 대하여 라벨 부착을 행할 때마다 행해진다. 예를 들어, 도 40의 예의 LoDIdx=2의 계층(해상도)에서 복호하는 경우에는, 「1」의 라벨에 대응하는 포인트(노드(611-21))와 「3」의 라벨에 대응하는 포인트(노드(611-22))가 중복되므로, 「3」의 라벨이 제거된다. 환언하건대, 도 42의 위에서 2단째(「2」의 단)에 있어서, 「1」의 라벨 부착만이 행해진다.
이에 비해, 도 40의 예의 LoDIdx=4의 계층(해상도)에서 복호하는 경우에는, 「1」의 라벨에 대응하는 포인트(노드(611-21))와 「3」의 라벨에 대응하는 포인트(노드(611-22))가 중복되지 않으므로, 라벨의 제거는 행해지지 않는다. 환언하건대, 도 42의 위에서 2단째(「2」의 단)에 있어서, 「1」의 라벨 부착과 「3」의 라벨 부착이 행해진다.
또한, 1개 하위의 계층(LoDIdx=2)이 처리되고, 새로운 노드(611)가 출현하면, 리스트에 있어서, 그들 노드에 대하여 「2」의 라벨이 부착된다(도 42의 위에서 3단째(「3」의 단)). 마찬가지로, 더 1개 하위의 계층(LoDIdx=3)이 처리되고, 새로운 노드(611)가 출현하면, 리스트에 있어서, 그들 노드에 대하여 「3」의 라벨이 부착된다(도 42의 위에서 3단째(「4」의 단)). 마찬가지로, 더 1개 하위의 계층(LoDIdx=4)이 처리되고, 새로운 노드(611)가 출현하면, 리스트에 있어서, 그들 노드에 대하여 「4」의 라벨이 부착된다(도 42의 위에서 3단째(「5」의 단)). 이들 라벨은, 노드(611)와 마찬가지로, 모턴 오더순으로 정렬된다.
이상과 같이 생성된, DCM이 적용되어 있지 않은 노드에 대응하는 라벨과, DCM이 적용된 노드에 대응하는 라벨을 포함하는 1개의 라벨 열이, LoD 제너레이션 처리 결과로서, 속성 정보의 부호화ㆍ복호에 적용된다. 이 방법의 경우, 생성된 라벨 열은, 각 라벨이 모턴 오더순으로 정렬되어 있다. 따라서, 이 라벨 열은, 도 41의 예의 경우와 같이, 각 라벨을 모턴 오더순으로 정렬하여 머지할 필요없이, 속성 정보의 부호화ㆍ복호에 적용할 수 있다.
이상과 같이 생성된 리스트를 참조하여 속성 정보를 계층화하고, 속성 정보의 부호화ㆍ복호를 행함으로써, 위치 정보와 마찬가지의 계층 구조로 속성 정보를 부호화ㆍ복호할 수 있다. 따라서, 이 방법의 경우도, 속성 정보의 스케일러블한 복호를 실현할 수 있다. 또한, 용장한 처리를 저감시켜, 속성 정보의 부호화 처리ㆍ복호 처리의 부하의 증대를 억제할 수 있다.
<부호화 장치>
도 43은, 이 경우의 부호화 장치(200)의 구성의 일례를 도시하는 블록도이다. 즉, 도 43에 도시되는 부호화 장치(200)는, <6. LoDGeneration>에 있어서 상술한 본 기술을 적용하여 포인트 클라우드를 부호화한다.
또한, 도 43에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 43에 도시되는 것이 전부라고는 할 수 없다. 즉, 부호화 장치(200)에 있어서, 도 43에 있어서 블록으로서 표시되어 있지 않은 처리부가 존재하거나, 도 43에 있어서 화살표 등으로서 표시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 43에 도시되는 부호화 장치(200)는, 도 14의 경우와 마찬가지로, 위치 정보 부호화부(201) 내지 비트 스트림 생성부(205)를 갖는다. 단, 위치 정보 복호부(202)는, 위치 정보의 부호화 데이터를 복호할 때, 도 38 내지 도 42를 참조하여 상술한 바와 같이 리스트를 사용하여 LoD 제너레이션 처리(서브 샘플링 처리)를 행한다.
예를 들어, 위치 정보의 계층 구조에 DCM이 적용된 노드가 포함되지 않는 경우, 위치 정보 복호부(202)는, 도 39를 참조하여 설명한 바와 같은 방법에 의해 LoD 제너레이션 처리를 행한다. 또한, 예를 들어 위치 정보의 계층 구조에 DCM이 적용된 노드가 포함되는 경우, 위치 정보 복호부(202)는, 도 41 또는 도 42를 참조하여 설명한 바와 같은 방법에 의해 LoD 제너레이션 처리를 행한다.
그리고, 위치 정보 복호부(202)는, 생성된 리스트(라벨 열)를 속성 정보 부호화부(204)에 공급한다. 속성 정보 부호화부(204)는, 그 LoD 제너레이션 처리 결과(라벨 열)를 사용하여 속성 정보를 부호화한다. 즉, 속성 정보 부호화부(204)는, 그 라벨 열(위치 정보의 계층 구조)을 속성 정보의 계층 구조로서 적용하여, 부호화를 행한다. 이와 같이 함으로써, 속성 정보 부호화부(204)는, LoD 제너레이션 처리(서브 샘플링 처리)를 행하지 않고, 각 속성 정보를 위치 정보와 마찬가지의 계층 구조로 계층화할 수 있다.
따라서, 부호화 장치(200)는, 속성 정보의 스케일러블한 복호를 실현할 수 있다. 또한, 부호화 장치(200)는, 용장한 처리를 저감시켜, 속성 정보의 부호화 처리의 부하의 증대를 억제할 수 있다.
<부호화 처리의 흐름>
이 경우의 부호화 처리의 흐름의 예를, 도 44의 흐름도를 참조하여 설명한다. 부호화 처리가 개시되면, 부호화 장치(200)의 위치 정보 부호화부(201)는, 스텝 S601에 있어서, 입력된 포인트 클라우드의 위치 정보를 부호화하고, 위치 정보의 부호화 데이터를 생성한다.
스텝 S602에 있어서, 위치 정보 복호부(202)는, 스텝 S601에 있어서 생성된 위치 정보의 부호화 데이터를 복호하고, 위치 정보를 생성한다. 그때, 위치 정보 복호부(202)는, 도 38 내지 도 42를 참조하여 상술한 바와 같이, 리스트를 사용하여 LoD 제너레이션 처리를 행하고, 각 노드의 라벨 부착을 행한다.
스텝 S603에 있어서, 포인트 클라우드 생성부(203)는, 입력된 포인트 클라우드의 속성 정보와, 스텝 S202에 있어서 생성된 위치 정보(복호 결과)를 사용하여, 리컬러 처리를 행하고, 속성 정보를 위치 정보에 대응시킨다.
스텝 S604에 있어서, 속성 정보 부호화부(204)는, 속성 정보 부호화 처리를 실행함으로써, 스텝 S603에 있어서 리컬러 처리된 속성 정보를 부호화하고, 속성 정보의 부호화 데이터를 생성한다. 그때, 속성 정보 부호화부(604)는, 스텝 S602에 있어서 행해진 LoD 제너레이션 처리의 결과(라벨 열)를 사용하여 속성 정보를 부호화한다. 이 경우에도 속성 정보 부호화 처리는, 도 18의 흐름도와 마찬가지의 흐름으로 행해진다. 단, 스텝 S221에 있어서 실행되는 계층화 처리의 상세에 대해서는 후술한다.
스텝 S605에 있어서, 비트 스트림 생성부(205)는, 스텝 S601에 있어서 생성된 위치 정보의 부호화 데이터와, 스텝 S604에 있어서 생성된 속성 정보의 부호화 데이터를 포함하는 비트 스트림을 생성하여, 출력한다.
스텝 S605의 처리가 종료되면 부호화 처리가 종료된다.
이와 같이 각 스텝의 처리를 행함으로써, 부호화 장치(200)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 즉, 부호화 장치(200)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다. 또한, 부호화 장치(200)는, 용장한 처리를 저감시켜, 부호화 처리의 부하의 증대를 억제할 수 있다.
<계층화 처리의 흐름>
이 경우에도, 도 44의 스텝 S604에 있어서 실행되는 속성 정보 부호화 처리는, 도 18의 흐름도와 마찬가지의 흐름으로 실행된다. 단, 그 속성 정보 부호화 처리의 스텝 S221에 있어서는, 계층화 처리는, 이하와 같은 흐름으로 실행된다. 이 경우의 계층화 처리의 흐름의 예를 도 45의 흐름도를 참조하여 설명한다.
계층화 처리가 개시되면, 계층화 처리부(211)의 계층별 처리부(221)는, 스텝 S621에 있어서, 처리 대상인 커런트 계층(현재 LoD)을 최하위의 계층(LoD)으로 한다. 즉, 최하위의 계층(LoD)을 처리 대상으로 한다.
스텝 S622에 있어서, 포인트 분류부(231)는, 도 44의 스텝 S602의 LoD 제너레이션 처리에서 라벨 부착이 행해진 리스트에 기초하여 예측 포인트를 선택한다. 즉, 포인트 분류부(231)는, 위치 정보와 마찬가지의 계층 구조를 구축한다.
스텝 S623 내지 스텝 S630의 각 처리는, 스텝 S243 내지 스텝 S250(도 19)의 각 처리와 마찬가지로 실행된다.
이와 같이 각 스텝의 처리를 행함으로써, 계층화 처리부(211)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 즉, 계층화 처리부(211)는, 속성 정보의 스케일러블한 복호를 보다 용이화할 수 있다. 또한, 계층화 처리부(211)는, 용장한 처리를 저감시켜, 계층화 처리의 부하의 증대를 억제할 수 있다.
<복호 장치>
복호 장치(400)의 구성은, 이 경우에도 도 23의 예와 마찬가지이다. 즉, 도 23의 복호 장치(400)는, <6. LoDGeneration>에 있어서 상술한 본 기술을 적용하여 포인트 클라우드를 부호화하여 생성된 비트 스트림을 복호할 수 있다. 단, 이 경우, 위치 정보 복호부(403)는, 위치 정보의 부호화 데이터를 복호할 때, 도 38 내지 도 42를 참조하여 상술한 바와 같이, 리스트를 사용하여 LoD 제너레이션 처리(서브 샘플링 처리)를 행한다. 즉, 위치 정보 복호부(403)는, 위치 정보 복호부(202)와 마찬가지의 방법에 의해, LoD 제너레이션 처리를 행한다.
그리고, 위치 정보 복호부(403)는, 생성된 리스트(라벨 열)를 속성 정보 복호부(404)에 공급한다. 속성 정보 복호부(404)는, 그 LoD 제너레이션 처리 결과(라벨 열)를 사용하여 속성 정보의 부호화 데이터를 복호한다. 즉, 속성 정보 복호부(404)는, 그 라벨 열(위치 정보의 계층 구조)을 속성 정보의 계층 구조로서 적용하여, 복호를 행한다. 이와 같이 함으로써, 속성 정보 복호부(404)는, LoD 제너레이션 처리(서브 샘플링 처리)를 행하지 않고, 각 속성 정보가 위치 정보와 마찬가지의 계층 구조인 것으로 하여 역계층화 처리를 행할 수 있다.
따라서, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 실현할 수 있다. 또한, 복호 장치(400)는, 용장한 처리를 저감시켜, 속성 정보의 부호화 데이터의 복호 처리의 부하의 증대를 억제할 수 있다.
또한, 이 경우에도, 속성 정보 복호부(404)는, 도 24의 예의 경우와 마찬가지의 구성을 갖는다. 또한, 역계층화 처리부(423)는, 도 25의 예의 경우와 마찬가지의 구성을 갖는다.
<복호 처리의 흐름>
이 경우의 복호 처리의 흐름의 예를, 도 46의 흐름도를 참조하여 설명한다. 복호 처리가 개시되면, 복호 장치(400)의 복호 대상 LoD 심도 설정부(401)는, 스텝 S651에 있어서, 복호할 LoD 심도를 설정한다.
스텝 S652에 있어서, 부호화 데이터 추출부(402)는, 비트 스트림을 취득하여 유지하고, 최상위의 LoD에서부터 스텝 S651에 있어서 설정된 LoD 심도까지의 위치 정보 및 속성 정보의 부호화 데이터를 추출한다.
스텝 S653에 있어서, 위치 정보 복호부(403)는, 스텝 S652에 있어서 추출된 위치 정보의 부호화 데이터를 복호하고, 위치 정보(복호 결과)를 생성한다. 그때, 위치 정보 복호부(403)는, 도 38 내지 도 42를 참조하여 상술한 바와 같이, 리스트를 사용하여 LoD 제너레이션 처리를 행하고, 각 노드의 라벨 부착을 행한다.
스텝 S654에 있어서, 속성 정보 복호부(404)는, 스텝 S652에 있어서 추출된 속성 정보의 부호화 데이터를 복호하고, 속성 정보(복호 결과)를 생성한다. 그때, 속성 정보 복호부(404)는, 스텝 S653에 있어서 행해진 LoD 제너레이션 처리의 결과(라벨 열)를 사용하여 속성 정보의 부호화 데이터를 복호한다. 이 경우에도 속성 정보 복호 처리는, 도 27의 흐름도와 마찬가지의 흐름으로 행해진다. 단, 스텝 S423에 있어서 실행되는 역계층화 처리의 상세에 대해서는 후술한다.
스텝 S655에 있어서, 포인트 클라우드 생성부(405)는, 스텝 S653에 있어서 생성된 위치 정보(복호 결과)와, 스텝 S654에 있어서 생성된 속성 정보(복호 결과)를 사용하여 포인트 클라우드(복호 결과)를 생성하여, 출력한다.
스텝 S655의 처리가 종료되면, 복호 처리가 종료된다.
이와 같이 각 스텝의 처리를 행함으로써, 복호 장치(400)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다. 또한, 복호 장치(400)는, 용장한 처리를 저감시켜, 복호 처리의 부하의 증대를 억제할 수 있다.
<역계층화 처리의 흐름>
이 경우에도, 도 46의 스텝 S654에 있어서 실행되는 속성 정보 복호 처리는, 도 27의 흐름도와 마찬가지의 흐름으로 실행된다. 단, 그 속성 정보 복호 처리의 스텝 S423에 있어서, 역계층화 처리는, 이하와 같은 흐름으로 실행된다. 이 경우의 역계층화 처리의 흐름의 예를 도 47의 흐름도를 참조하여 설명한다.
역계층화 처리가 개시되면, 역계층화 처리부(423)의 계층별 처리부(441)는, 스텝 S661에 있어서, 처리 대상인 커런트 계층(현재 LoD)을 최상위의 계층(LoD)으로 한다. 즉, 최하위의 계층(LoD)을 처리 대상으로 한다.
스텝 S662에 있어서, 예측부(451)는, 도 46의 스텝 S653의 LoD 제너레이션 처리에서 라벨 부착이 행해진 리스트와, 현재 LoD의 해상도의 위치 정보에 기초하여, 참조 포인트로부터 예측 포인트의 예측값을 도출한다.
예를 들어, 예측부(451)는, 리스트에 기초하여, 즉 속성 정보의 계층 구조를 위치 정보의 계층 구조와 마찬가지인 것으로 간주하여, 현재 LoD의 참조 포인트를 특정하고, 그 참조 포인트와 현재 LoD의 해상도의 위치 정보에 기초하여, 현재 LoD의 예측 포인트의 예측값을 도출한다. 이 예측값의 도출 방법은 임의이다. 예를 들어, 예측부(451)가, 스텝 S463의 처리의 경우와 마찬가지의 방법에 의해 예측값을 도출하도록 해도 된다.
스텝 S663 내지 스텝 S666의 각 처리는, 스텝 S464 내지 스텝 S467의 각 처리(도 29)와 마찬가지로 실행된다.
이와 같이 각 스텝의 처리를 행함으로써, 역계층화 처리부(423)는, 속성 정보의 계층 구조를 위치 정보의 계층 구조에 대응지을 수 있다. 즉, 복호 장치(400)는, 속성 정보의 스케일러블한 복호를 보다 용이하게 행할 수 있다. 또한, 역계층화 처리부(423)는, 용장한 처리를 저감시켜, 역계층화 처리의 부하의 증대를 억제할 수 있다.
<7. 부기>
<계층화ㆍ역계층화 방법>
이상에 있어서는, 속성 정보의 계층화ㆍ역계층화 방법으로서 Lifting을 예로 들어 설명하였지만, 본 기술은 속성 정보를 계층화하는 임의의 기술에 적용할 수 있다. 즉, 속성 정보의 계층화ㆍ역계층화의 방법은 Lifting 이외여도 된다.
<제어 정보>
이상의 각 실시 형태에 있어서 설명한 본 기술에 관한 제어 정보를 부호화측으로부터 복호측으로 전송하도록 해도 된다. 예를 들어, 상술한 본 기술을 적용하는 것을 허가(또는 금지)할지 여부를 제어하는 제어 정보(예를 들어 enabled_flag)를 전송하도록 해도 된다. 또한, 예를 들어 상술한 본 기술을 적용하는 것을 허가(또는 금지)하는 범위(예를 들어 블록 사이즈의 상한 혹은 하한, 또는 그 양쪽, 슬라이스, 픽처, 시퀀스, 컴포넌트, 뷰, 레이어 등)를 지정하는 제어 정보를 전송하도록 해도 된다.
<주변ㆍ근방>
또한, 본 명세서에 있어서, 「근방」이나 「주변」 등의 위치 관계는, 공간적인 위치 관계뿐만 아니라, 시간적인 위치 관계도 포함할 수 있다.
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 48은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
도 48에 도시되는 컴퓨터(900)에 있어서, CPU(Central Processing Unit)(901), ROM(Read Only Memory)(902), RAM(Random Access Memory)(903)은, 버스(904)를 통하여 서로 접속되어 있다.
버스(904)에는 또한, 입출력 인터페이스(910)도 접속되어 있다. 입출력 인터페이스(910)에는, 입력부(911), 출력부(912), 기억부(913), 통신부(914) 및 드라이브(915)가 접속되어 있다.
입력부(911)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등으로 이루어진다. 출력부(912)는, 예를 들어 디스플레이, 스피커, 출력 단자 등으로 이루어진다. 기억부(913)는, 예를 들어 하드 디스크, RAM 디스크, 불휘발성 메모리 등으로 이루어진다. 통신부(914)는, 예를 들어 네트워크 인터페이스로 이루어진다. 드라이브(915)는, 자기 디스크, 광 디스크, 광 자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(921)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(901)가, 예를 들어 기억부(913)에 기억되어 있는 프로그램을, 입출력 인터페이스(910) 및 버스(904)를 통하여, RAM(903)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다. RAM(903)에는 또한, CPU(901)가 각종 처리를 실행하는 데 있어서 필요한 데이터 등도 적절하게 기억된다.
컴퓨터가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(921)에 기록하여 적용할 수 있다. 그 경우, 프로그램은, 리무버블 미디어(921)를 드라이브(915)에 장착함으로써, 입출력 인터페이스(910)를 통하여, 기억부(913)에 인스톨할 수 있다.
또한, 이 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통하여 제공할 수도 있다. 그 경우, 프로그램은 통신부(914)에서 수신하고, 기억부(913)에 인스톨할 수 있다.
그 밖에, 이 프로그램은 ROM(902)이나 기억부(913)에 미리 인스톨해 둘 수도 있다.
<본 기술의 적용 대상>
이상에 있어서는, 포인트 클라우드 데이터의 부호화ㆍ복호에 본 기술을 적용하는 경우에 대하여 설명하였지만, 본 기술은 이들 예에 한정되지 않고, 임의의 규격의 3D 데이터의 부호화ㆍ복호에 대하여 적용할 수 있다. 즉, 상술한 본 기술과 모순되지 않는 한, 부호화ㆍ복호 방식 등의 각종 처리, 그리고 3D 데이터나 메타데이터 등의 각종 데이터의 사양은 임의이다. 또한, 본 기술과 모순되지 않는 한, 상술한 일부의 처리나 사양을 생략해도 된다.
또한, 이상에 있어서는, 본 기술의 적용예로서 부호화 장치(200) 및 복호 장치(400)에 대하여 설명하였지만, 본 기술은 임의의 구성에 적용할 수 있다.
예를 들어, 본 기술은 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신, 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기나 수신기(예를 들어 텔레비전 수상기나 휴대 전화기), 또는 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하거나, 이들 기억 매체로부터 화상을 재생하거나 하는 장치(예를 들어 하드 디스크 레코더나 카메라) 등의, 여러 가지 전자 기기에 적용될 수 있다.
또한, 예를 들어 본 기술은, 시스템 LSI(Large Scale Integration) 등으로서의 프로세서(예를 들어 비디오 프로세서), 복수의 프로세서 등을 사용하는 모듈(예를 들어 비디오 모듈), 복수의 모듈 등을 사용하는 유닛(예를 들어 비디오 유닛), 또는 유닛에 추가로 그 밖의 기능을 부가한 세트(예를 들어 비디오 세트) 등, 장치의 일부의 구성으로서 실시할 수도 있다.
또한, 예를 들어, 본 기술은 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수도 있다. 예를 들어, 본 기술을, 네트워크를 통하여 복수의 장치에서 분담, 공동하여 처리하는 클라우드 컴퓨팅으로서 실시하도록 해도 된다. 예를 들어, 컴퓨터, AV(Audio Visual) 기기, 휴대형 정보 처리 단말기, IoT(Internet of Things) 디바이스 등의 임의의 단말기에 대하여, 화상(동화상)에 관한 서비스를 제공하는 클라우드 서비스에 있어서 본 기술을 실시하도록 해도 된다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통하여 접속되어 있는 복수의 장치, 및 1개의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
<본 기술을 적용 가능한 분야ㆍ용도>
본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다. 또한, 그 용도도 임의이다.
<기타>
또한, 본 명세서에 있어서 「플래그」란, 복수의 상태를 식별하기 위한 정보이며, 참(1) 또는 거짓(0)의 2 상태를 식별할 때 사용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「플래그」가 취할 수 있는 값은, 예를 들어 1/0의 2치여도 되고, 3치 이상이어도 된다. 즉, 이 「플래그」를 구성하는 bit수는 임의이며, 1bit여도 되고 복수 bit여도 된다. 또한, 식별 정보(플래그도 포함함)는, 그 식별 정보를 비트 스트림에 포함시키는 형태뿐만 아니라, 어떤 기준으로 되는 정보에 대한 식별 정보의 차분 정보를 비트 스트림에 포함시키는 형태도 상정되기 때문에, 본 명세서에 있어서는 「플래그」나 「식별 정보」는, 그 정보뿐만 아니라, 기준으로 되는 정보에 대한 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떠한 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」는 용어는, 예를 들어 한쪽의 데이터를 처리할 때 다른 쪽의 데이터를 이용할 수 있도록(링크시킬 수 있도록) 하는 것을 의미한다. 즉, 서로 관련지어진 데이터는, 1개의 데이터로서 통합되어도 되고, 각각 개별적인 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련짓기」는, 데이터 전체가 아니라, 데이터의 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 본 명세서에 있어서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함시킨다」, 「저장한다」, 「집어넣는다」, 「끼워넣는다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 1개의 데이터로 통합하는 것과 같은, 복수의 것을 1개로 통합하는 것을 의미하며, 상술한 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 1개의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 것 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하다면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함시키도록 해도 된다.
또한, 예를 들어, 상술한 프로그램은 임의의 장치에 있어서 실행되도록 해도 된다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 1개의 흐름도의 각 스텝을, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담하여 실행하도록 해도 된다. 또한, 1개의 스텝에 복수의 처리가 포함되는 경우, 그 복수의 처리를, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담하여 실행하도록 해도 된다. 환언하건대, 1개의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로서 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 1개의 스텝으로서 통합하여 실행할 수도 있다.
또한, 예를 들어 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별적으로 실행되도록 해도 된다. 즉, 모순이 생기지 않는 한, 각 스텝의 처리가 상술한 순서와 다른 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합하여 실행되도록 해도 된다.
또한, 예를 들어 본 기술에 관한 복수의 기술은, 모순이 생기지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용하여 실시할 수도 있다. 예를 들어, 어느 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부와 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하지 않은 다른 기술과 병용하여 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하는 계층화부를 구비하고,
상기 계층화부는, 상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는
정보 처리 장치.
(2) 상기 계층화부는,
상기 예측 포인트와 상기 참조 포인트의 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하고,
도출한 상기 예측값을 사용하여 상기 차분값을 도출하는
(1)에 기재된 정보 처리 장치.
(3) 상기 계층화부는, 상기 포인트 클라우드의 최하층의 해상도의 위치 정보에 기초하는 상기 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는
(2)에 기재된 정보 처리 장치.
(4) 상기 계층화부는, 상기 포인트 클라우드의 커런트 계층의 해상도의 위치 정보에 기초하는 상기 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는
(2)에 기재된 정보 처리 장치.
(5) 상기 계층화부는, 커런트 계층의 포인트를 전부 상기 예측 포인트로 분류하고, 상기 1개 상위 계층의 복셀 내에 참조 포인트를 설정하고, 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는
(2)에 기재된 정보 처리 장치.
(6) 상기 계층화부에 의해 생성된 각 계층의 각 포인트의 상기 차분값을, 계층별 가중치를 사용하여 양자화하는 양자화부를 더 구비하는
(1) 내지 (5) 중 어느 것에 기재된 정보 처리 장치.
(7) 상기 양자화부는, 상위 계층일수록 값이 큰 상기 계층별 가중치를 사용하여 상기 차분값을 양자화하는
(6)에 기재된 정보 처리 장치.
(8) 상기 양자화부에 의해 양자화된 상기 차분값과, 상기 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 부호화하고, 부호화 데이터를 생성하는 부호화부를 더 구비하는
(6)에 기재된 정보 처리 장치.
(9) 상기 양자화부에 의해 양자화된 상기 차분값과, 상기 계층별 가중치를 부호화하고, 부호화 데이터를 생성하는 부호화부를 더 구비하는
(6)에 기재된 정보 처리 장치.
(10) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하고,
상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는
정보 처리 방법.
(11) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하는 역계층화부를 구비하고,
상기 역계층화부는, 상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는
정보 처리 장치.
(12) 상기 역계층화부는, 상기 참조 포인트의 상기 속성 정보와, 상기 참조 포인트 및 상기 예측 포인트의 커런트 계층의 해상도의 상기 위치 정보를 사용하여, 상기 예측값을 도출하는
(11)에 기재된 정보 처리 장치.
(13) 상기 역계층화부는, 상기 참조 포인트의 상기 속성 정보와, 상기 참조 포인트의 커런트 계층의 1개 상위 계층의 해상도의 상기 위치 정보와, 상기 예측 포인트의 상기 커런트 계층의 해상도의 상기 위치 정보를 사용하여, 상기 예측값을 도출하는
(11)에 기재된 정보 처리 장치.
(14) 상기 역계층화부는, 상기 예측 포인트와 상기 참조 포인트의 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는
(11) 내지 (13) 중 어느 것에 기재된 정보 처리 장치.
(15) 상기 역계층화부는, 상기 위치 정보를 사용하여 상기 속성 정보를 계층화하고, 각 계층에 있어서 각 포인트의 상기 위치 정보와 상기 속성 정보를 대응짓는
(11) 내지 (14) 중 어느 것에 기재된 정보 처리 장치.
(16) 양자화된 각 계층의 각 포인트의 상기 차분값을, 계층별 가중치를 사용하여 역양자화하는 역양자화부를 더 구비하는
(11) 내지 (15) 중 어느 것에 기재된 정보 처리 장치.
(17) 상기 역양자화부는, 상위 계층일수록 값이 큰 상기 계층별 가중치를 사용하여, 양자화된 상기 차분값을 역양자화하는
(16)에 기재된 정보 처리 장치.
(18) 부호화 데이터를 복호하고, 상기 양자화된 상기 차분값과, 상기 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 취득하는 복호부를 더 구비하는
(16)에 기재된 정보 처리 장치.
(19) 부호화 데이터를 복호하고, 상기 양자화된 상기 차분값과, 상기 계층별 가중치를 취득하는 복호부를 더 구비하는
(16)에 기재된 정보 처리 장치.
(20) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하고,
상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는
정보 처리 방법.
(21) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와,
상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보의 계층화를 행하는 계층화부
를 구비하는 정보 처리 장치.
(22) 상기 생성부는, 상기 위치 정보의 부호화 데이터가 복호되어 얻어진 상기 위치 정보에 대하여, 상기 정보를 생성하는
(21)에 기재된 정보 처리 장치.
(23) 상기 생성부는, 리스트를 사용하여, 상기 위치 정보의 계층 구조의 각 노드에 대한 라벨 부착을 행함으로써, 상기 정보를 생성하는
(21) 또는 (22)에 기재된 정보 처리 장치.
(24) 상기 생성부는, 상기 위치 정보의 계층 구조의 최상위층으로부터 최하위층을 향하는 순으로 계층별로, 새롭게 출현하는 각 노드에 대하여, 상기 계층을 나타내는 값의 라벨을 부착하는
(23)에 기재된 정보 처리 장치.
(25) 상기 생성부는, 상기 위치 정보의 계층 구조의 각 계층에 있어서, 새롭게 출현하는 각 노드에 대한 라벨 부착을 모턴 오더순으로 행하는
(24)에 기재된 정보 처리 장치.
(26) 상기 생성부는, DCM(Direct Coding Mode)이 적용되는 노드가 새롭게 출현한 경우, 상기 노드에 대한 라벨 부착과, 하위층에 있어서 상기 노드로부터 분할되는 다른 상기 DCM이 적용되는 노드에 대한 라벨 부착을 행하는
(24) 또는 (25)에 기재된 정보 처리 장치.
(27) 상기 생성부는, 상기 DCM이 적용되는 노드에 대한 라벨 부착은, 상기 DCM이 적용되지 않는 노드에 대한 라벨 부착에 사용하는 리스트와는 상이한 다른 리스트를 사용하여 행하는
(26)에 기재된 정보 처리 장치.
(28) 상기 생성부는, 복수의 라벨의 각각에 대응하는 포인트가 중복되는 경우, 상기 복수의 라벨 중 1개를 남기고 그 밖의 것을 삭제하는
(26) 또는 (27)에 기재된 정보 처리 장치.
(29) 상기 계층화부는, 상기 정보에 기초하여, 상기 위치 정보의 계층 구조에 대응하도록, 상기 속성 정보의 각 계층의 예측 포인트를 선택하는
(21) 내지 (28) 중 어느 것에 기재된 정보 처리 장치.
(30) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하고,
생성된 상기 정보에 기초하여, 상기 포인트 클라우드의 위치 정보의 계층 구조에 대응하도록, 상기 속성 정보의 계층화를 행하는
정보 처리 방법.
(31) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와,
상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 포인트 클라우드의 속성 정보의 계층 구조가 상기 위치 정보의 계층 구조에 대응하는 것으로서, 상기 속성 정보의 역계층화를 행하는 역계층화부
를 구비하는 정보 처리 장치.
(32) 상기 생성부는, 상기 위치 정보의 부호화 데이터가 복호되어 얻어진 상기 위치 정보에 대하여, 상기 정보를 생성하는
(31)에 기재된 정보 처리 장치.
(33) 상기 생성부는, 리스트를 사용하여, 상기 위치 정보의 계층 구조의 각 노드에 대한 라벨 부착을 행함으로써, 상기 정보를 생성하는
(31) 또는 (32)에 기재된 정보 처리 장치.
(34) 상기 생성부는, 상기 위치 정보의 계층 구조의 최상위층으로부터 최하위층을 향하는 순으로 계층별로, 새롭게 출현하는 각 노드에 대하여, 상기 계층을 나타내는 값의 라벨을 부착하는
(33)에 기재된 정보 처리 장치.
(35) 상기 생성부는, 상기 위치 정보의 계층 구조의 각 계층에 있어서, 새롭게 출현하는 각 노드에 대한 라벨 부착을 모턴 오더순으로 행하는
(34)에 기재된 정보 처리 장치.
(36) 상기 생성부는, DCM(Direct Coding Mode)이 적용되는 노드가 새롭게 출현한 경우, 상기 노드에 대한 라벨 부착과, 하위층에 있어서 상기 노드로부터 분할되는 다른 상기 DCM이 적용되는 노드에 대한 라벨 부착을 행하는
(34) 또는 (35)에 기재된 정보 처리 장치.
(37) 상기 생성부는, 상기 DCM이 적용되는 노드에 대한 라벨 부착은, 상기 DCM이 적용되지 않는 노드에 대한 라벨 부착에 사용하는 리스트와는 상이한 다른 리스트를 사용하여 행하는
(36)에 기재된 정보 처리 장치.
(38) 상기 생성부는, 복수의 라벨의 각각에 대응하는 포인트가 중복되는 경우, 상기 복수의 라벨 중 1개를 남기고 그 밖의 것을 삭제하는
(36) 또는 (37)에 기재된 정보 처리 장치.
(39) 상기 역계층화부는, 상기 정보에 기초하여, 상기 위치 정보의 계층 구조에 대응하도록, 상기 속성 정보의 각 계층의 예측 포인트를 선택하는
(31) 내지 (38) 중 어느 것에 기재된 정보 처리 장치.
(40) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하고,
생성된 상기 정보에 기초하여, 상기 포인트 클라우드의 속성 정보의 계층 구조가 상기 위치 정보의 계층 구조에 대응하는 것으로서, 상기 속성 정보의 역계층화를 행하는
정보 처리 방법.
(41) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보를 계층화하는 계층화부와,
상기 계층화부에 의해 계층화된 상기 속성 정보를 계층별 가중치를 사용하여 양자화하는 양자화부
를 구비하는 정보 처리 장치.
(42) 상기 양자화부는, 상기 포인트 클라우드의 포인트수와 처리 대상의 계층의 포인트수의 비로 이루어지는 상기 가중치를 사용하여 상기 속성 정보를 양자화하는
(41)에 기재된 정보 처리 장치.
(43) 상기 양자화부는, 값 「1」의 상기 가중치를 사용하여 최하위층의 상기 속성 정보를 양자화하는
(42)에 기재된 정보 처리 장치.
(44) 상기 양자화부는, 처리 대상의 계층 이하의 계층의 포인트수와 상기 처리 대상의 계층 포인트수의 비로 이루어지는 상기 가중치를 사용하여 상기 속성 정보를 양자화하는
(41)에 기재된 정보 처리 장치.
(45) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보를 계층화하고,
계층화된 상기 속성 정보를 계층별 가중치를 사용하여 양자화하는
정보 처리 방법.
(46) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조에 대응하도록 계층화되고, 계층별 가중치를 사용하여 양자화된 상기 포인트 클라우드의 속성 정보를, 상기 가중치를 사용하여 역양자화하는 역양자화부와,
상기 역양자화부에 의해 역양자화된 상기 속성 정보를 역계층화하는 역계층화부
를 구비하는 정보 처리 장치.
(47) 상기 역양자화부는, 상기 포인트 클라우드의 포인트수와 처리 대상의 계층의 포인트수의 비로 이루어지는 상기 가중치를 사용하여 상기 속성 정보를 역양자화하는
(46)에 기재된 정보 처리 장치.
(48) 상기 역양자화부는, 값 「1」의 상기 가중치를 사용하여 최하위층의 상기 속성 정보를 역양자화하는
(47)에 기재된 정보 처리 장치.
(49) 상기 역양자화부는, 처리 대상의 계층보다 하위층의 포인트수와 상기 처리 대상의 계층의 포인트수의 비로 이루어지는 상기 가중치를 사용하여 상기 속성 정보를 역양자화하는
(46)에 기재된 정보 처리 장치.
(50) 상기 역양자화부는, 상기 속성 정보의 양자화에 사용된 상기 가중치를 취득하고, 취득한 상기 가중치를 사용하여 상기 속성 정보를 역양자화하는
(46) 내지 (49) 중 어느 것에 기재된 정보 처리 장치.
(51) 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보를 계층화하고,
계층화된 상기 속성 정보를 계층별 가중치를 사용하여 양자화하는
정보 처리 방법.
100: 공간 영역
101: 복셀
102: 포인트
111: 포인트
112: 포인트
113: 포인트
200: 부호화 장치
201: 위치 정보 부호화부
202: 위치 정보 복호부
203: 포인트 클라우드 생성부
204: 속성 정보 부호화부
205: 비트 스트림 생성부
211: 계층화 처리부
212: 양자화부
213: 부호화부
221: 계층별 처리부
231: 포인트 분류부
232: 예측부
233: 연산부
234: 업데이트부
235: 연산부
400: 복호 장치
401: 복호 대상 LOD 심도 설정부
402: 부호화 데이터 추출부
403: 위치 정보 복호부
404: 속성 정보 복호부
405: 포인트 클라우드 생성부
421: 복호부
422: 역양자화부
423: 역계층화 처리부
441: 계층별 처리부
451: 예측부
452: 연산부
453: 머지 처리부

Claims (20)

  1. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하는 계층화부를 구비하고,
    상기 계층화부는, 상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는,
    정보 처리 장치.
  2. 제1항에 있어서, 상기 계층화부는,
    상기 예측 포인트와 상기 참조 포인트의 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하고,
    도출한 상기 예측값을 사용하여 상기 차분값을 도출하는,
    정보 처리 장치.
  3. 제2항에 있어서, 상기 계층화부는, 상기 포인트 클라우드의 최하층의 해상도의 위치 정보에 기초하는 상기 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는,
    정보 처리 장치.
  4. 제2항에 있어서, 상기 계층화부는, 상기 포인트 클라우드의 커런트 계층의 해상도의 위치 정보에 기초하는 상기 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는,
    정보 처리 장치.
  5. 제1항에 있어서, 상기 계층화부에 의해 생성된 각 계층의 각 포인트의 상기 차분값을, 계층별 가중치를 사용하여 양자화하는 양자화부를 더 구비하는,
    정보 처리 장치.
  6. 제5항에 있어서, 상기 양자화부는, 상위 계층일수록 값이 큰 상기 계층별 가중치를 사용하여 상기 차분값을 양자화하는,
    정보 처리 장치.
  7. 제5항에 있어서, 상기 양자화부에 의해 양자화된 상기 차분값과, 상기 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 부호화하고, 부호화 데이터를 생성하는 부호화부를 더 구비하는,
    정보 처리 장치.
  8. 제5항에 있어서, 상기 양자화부에 의해 양자화된 상기 차분값과, 상기 계층별 가중치를 부호화하고, 부호화 데이터를 생성하는 부호화부를 더 구비하는,
    정보 처리 장치.
  9. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 상기 속성 정보의 계층화를 행하고,
    상기 계층화 시에, 커런트 계층의 포인트가 존재하는 복셀이 속하는 1개 상위 계층의 복셀에도 포인트가 존재하도록 상기 예측 포인트를 선택하는,
    정보 처리 방법.
  10. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하는 역계층화부를 구비하고,
    상기 역계층화부는, 상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는,
    정보 처리 장치.
  11. 제10항에 있어서, 상기 역계층화부는, 상기 참조 포인트의 상기 속성 정보와, 상기 참조 포인트 및 상기 예측 포인트의 커런트 계층의 해상도의 상기 위치 정보를 사용하여, 상기 예측값을 도출하는,
    정보 처리 장치.
  12. 제10항에 있어서, 상기 역계층화부는, 상기 예측 포인트와 상기 참조 포인트의 거리에 따라 가중치 부여한 상기 참조 포인트의 상기 속성 정보를 사용하여 상기 예측 포인트의 상기 예측값을 도출하는,
    정보 처리 장치.
  13. 제10항에 있어서, 상기 역계층화부는, 상기 위치 정보를 사용하여 상기 속성 정보를 계층화하고, 각 계층에 있어서 각 포인트의 상기 위치 정보와 상기 속성 정보를 대응짓는,
    정보 처리 장치.
  14. 제10항에 있어서, 양자화된 각 계층의 각 포인트의 상기 차분값을, 계층별 가중치를 사용하여 역양자화하는 역양자화부를 더 구비하는,
    정보 처리 장치.
  15. 제14항에 있어서, 상기 역양자화부는, 상위 계층일수록 값이 큰 상기 계층별 가중치를 사용하여, 양자화된 상기 차분값을 역양자화하는,
    정보 처리 장치.
  16. 제14항에 있어서, 부호화 데이터를 복호하고, 상기 양자화된 상기 차분값과, 상기 계층별 가중치를 도출할 때 사용되는 함수를 정의하는 파라미터를 취득하는 복호부를 더 구비하는,
    정보 처리 장치.
  17. 제14항에 있어서, 부호화 데이터를 복호하고, 상기 양자화된 상기 차분값과, 상기 계층별 가중치를 취득하는 복호부를 더 구비하는,
    정보 처리 장치.
  18. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 속성 정보에 대하여, 상기 포인트 클라우드의 각 포인트를 상기 속성 정보와 예측값의 차분값을 남기는 포인트인 예측 포인트와 상기 예측값의 도출 시에 상기 속성 정보가 참조되는 포인트인 참조 포인트로 분류하는 처리를 상기 참조 포인트에 대하여 재귀적으로 반복함으로써 계층화된 상기 속성 정보의 역계층화를 행하고, 상기 역계층화 시에, 각 계층에 있어서, 상기 참조 포인트의 상기 속성 정보와 상기 포인트 클라우드의 최하층 이외의 계층의 해상도의 위치 정보를 사용하여 상기 예측 포인트의 상기 속성 정보의 예측값을 도출하고, 상기 예측값과 상기 차분값을 사용하여 상기 예측 포인트의 상기 속성 정보를 도출하는,
    정보 처리 방법.
  19. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와,
    상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 위치 정보의 계층 구조에 대응하도록, 상기 포인트 클라우드의 속성 정보의 계층화를 행하는 계층화부를 구비하는,
    정보 처리 장치.
  20. 3차원 형상의 오브젝트를 표현하는 포인트 클라우드의 위치 정보의 계층 구조를 나타내는 정보를 생성하는 생성부와,
    상기 생성부에 의해 생성된 상기 정보에 기초하여, 상기 포인트 클라우드의 속성 정보의 계층 구조가 상기 위치 정보의 계층 구조에 대응하는 것으로서, 상기 속성 정보의 역계층화를 행하는 역계층화부를 구비하는,
    정보 처리 장치.
KR1020217027957A 2019-03-19 2020-03-05 정보 처리 장치 및 방법 KR20210141472A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2019051291 2019-03-19
JPJP-P-2019-051291 2019-03-19
JP2019118635 2019-06-26
JPJP-P-2019-118635 2019-06-26
JPJP-P-2019-181399 2019-10-01
JP2019181399 2019-10-01
PCT/JP2020/009331 WO2020189296A1 (ja) 2019-03-19 2020-03-05 情報処理装置および方法

Publications (1)

Publication Number Publication Date
KR20210141472A true KR20210141472A (ko) 2021-11-23

Family

ID=72520839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027957A KR20210141472A (ko) 2019-03-19 2020-03-05 정보 처리 장치 및 방법

Country Status (7)

Country Link
US (2) US11943457B2 (ko)
EP (1) EP3929881A4 (ko)
JP (1) JP7480775B2 (ko)
KR (1) KR20210141472A (ko)
CN (1) CN113557552A (ko)
TW (1) TWI844635B (ko)
WO (1) WO2020189296A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114930398A (zh) * 2020-01-09 2022-08-19 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US20230154052A1 (en) * 2020-04-24 2023-05-18 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US20230281878A1 (en) * 2020-06-18 2023-09-07 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
EP4240016A4 (en) * 2020-10-30 2024-10-16 Lg Electronics Inc POINT CLOUD DATA TRANSMISSION DEVICE, POINT CLOUD DATA TRANSMISSION METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD
WO2022119304A1 (ko) * 2020-12-01 2022-06-09 현대자동차주식회사 적응적 데드존 양자화를 이용하는 포인트 클라우드 코딩 장치 및 방법
TWI750973B (zh) * 2020-12-25 2021-12-21 扉睿科技股份有限公司 基於安全導向暨群組分享之物聯網系統
US20240056604A1 (en) * 2020-12-28 2024-02-15 Sony Group Corporation Information processing apparatus and method
CN115474049A (zh) * 2021-06-11 2022-12-13 维沃移动通信有限公司 点云编码处理方法、解码处理方法及装置
US11310235B1 (en) 2021-08-04 2022-04-19 Netfay Inc. Internet of things system based on security orientation and group sharing
JPWO2023170726A1 (ko) * 2022-03-07 2023-09-14
CN118743219A (zh) * 2022-03-12 2024-10-01 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
CN115049750B (zh) * 2022-05-31 2023-06-16 九识智行(北京)科技有限公司 基于八叉树的体素地图生成方法、装置、存储介质及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
EP3608876A1 (en) 2016-09-13 2020-02-12 Dassault Systèmes Compressing a signal that represents a physical attribute
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
WO2020075862A1 (ja) * 2018-10-12 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
EP3901916A4 (en) * 2018-12-21 2022-02-23 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA CODING METHOD, THREE-DIMENSIONAL DATA DECODING METHOD, THREE-DIMENSIONAL DATA CODING DEVICE AND THREE-DIMENSIONAL DATA DECODING DEVICE
KR20210107686A (ko) * 2018-12-26 2021-09-01 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
WO2020184443A1 (ja) * 2019-03-08 2020-09-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020189943A1 (ko) * 2019-03-15 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020189976A1 (ko) * 2019-03-16 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 처리 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Khaled Mammou, Alexis Tourapis, Jungsun Kim, Fabrice Robinet, Valery Valentin, Yeping Su, "Lifting Scheme for Lossy Attribute Encoding in TMC1", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42640, April 2018, San Diego, US
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video", tcsvt_paper_submitted_february.pdf

Also Published As

Publication number Publication date
EP3929881A4 (en) 2022-04-20
US20220191520A1 (en) 2022-06-16
US20240205431A1 (en) 2024-06-20
TWI844635B (zh) 2024-06-11
JPWO2020189296A1 (ko) 2020-09-24
EP3929881A1 (en) 2021-12-29
WO2020189296A1 (ja) 2020-09-24
TW202041034A (zh) 2020-11-01
JP7480775B2 (ja) 2024-05-10
US11943457B2 (en) 2024-03-26
CN113557552A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
JP7480775B2 (ja) 情報処理装置および方法
US20220174315A1 (en) Video signal processing method and apparatus
US11991348B2 (en) Information processing device and method
KR20200053499A (ko) 정보 처리 장치 및 방법
JPWO2019235587A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2021010200A1 (ja) 情報処理装置および方法
US20210112276A1 (en) Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
US20230023219A1 (en) Information processing device and method
WO2022145214A1 (ja) 情報処理装置および方法
WO2020145143A1 (ja) 情報処理装置および方法
WO2020071115A1 (ja) 画像処理装置および方法
JP7544049B2 (ja) 情報処理装置および方法
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2021010134A1 (ja) 情報処理装置および方法
US11790567B2 (en) Information processing apparatus and method
JP2024061785A (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置