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

정보 처리 장치 및 방법 Download PDF

Info

Publication number
KR20240032738A
KR20240032738A KR1020237043399A KR20237043399A KR20240032738A KR 20240032738 A KR20240032738 A KR 20240032738A KR 1020237043399 A KR1020237043399 A KR 1020237043399A KR 20237043399 A KR20237043399 A KR 20237043399A KR 20240032738 A KR20240032738 A KR 20240032738A
Authority
KR
South Korea
Prior art keywords
vertex
vertices
information
patch
boundary
Prior art date
Application number
KR1020237043399A
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 KR20240032738A publication Critical patent/KR20240032738A/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
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Hardware Redundancy (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시는 부호화 효율의 저감을 억제할 수 있도록 하는 정보 처리 장치 및 방법에 관한 것이다. 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 그 메쉬의 정점 및 그 정점간의 접속을 나타내는 정점 접속 정보를 생성하고, 그 정점 접속 정보를 부호화한다. 또한, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 그 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하고, 그 부호화 데이터가 복호되어 얻어진 정점 접속 정보와, 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 그 패치에 위치하는 정점과 그 정점간의 접속을 재구성한다. 본 개시는, 예를 들어 정보 처리 장치, 전자 기기, 정보 처리 방법 또는 프로그램 등에 적용할 수 있다.

Description

정보 처리 장치 및 방법
본 개시는 정보 처리 장치 및 방법에 관한 것으로, 특히 부호화 효율의 저감을 억제할 수 있도록 한 정보 처리 장치 및 방법에 관한 것이다.
종래, 3차원 형상의 오브젝트를 표현하는 3D 데이터로서, 메쉬(Mesh)가 있었다. 이 메쉬의 압축 방법으로서, VPCC(Video-based Point Cloud Compression)를 확장해서 메쉬를 압축하는 방법이 제안되었다(예를 들어, 비특허문헌 1 참조). 이 방법의 경우, 오브젝트의 지오메트리(위치 정보)는, 패치화되고, 지오메트리 화상으로서 부호화된다. 그 때문에, 지오메트리 화상에 있어서의 각 정점의 위치를 나타내는 정보가 생성되고, 메타 정보로서 부호화된다.
Danillo Graziosi, Alexandre Zaghetto, Ali Tabatabai, "[VPCC][EE2.6-related] Mesh Patch Data", ISO/IEC JTC 1/SC 29/WG 7 m 55368, October 2020
그러나, 이 방법의 경우, 지오메트리 화상에 포함되는 모든 정점에 대해서 그 메타 정보가 생성되기 때문에, 부호화 효율이 저감될 우려가 있었다.
본 개시는 이러한 상황을 감안하여 이루어진 것으로, 부호화 효율의 저감을 억제할 수 있도록 하는 것이다.
본 기술의 일 측면의 정보 처리 장치는, 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하는 정점 접속 정보 생성부와, 상기 정점 접속 정보를 부호화하는 부호화부를 구비하는 정보 처리 장치이다.
본 기술의 일 측면의 정보 처리 방법은, 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하고, 상기 정점 접속 정보를 부호화하는 정보 처리 방법이다.
본 기술의 다른 측면의 정보 처리 장치는, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하는 복호부와, 상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는 정점 접속 재구성부를 구비하는 정보 처리 장치이다.
본 기술의 다른 측면의 정보 처리 방법은, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하고, 상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는 정보 처리 방법이다.
본 기술의 일 측면의 정보 처리 장치 및 방법에 있어서는, 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부가 삭제되고, 그 메쉬의 정점 및 그 정점간의 접속을 나타내는 정점 접속 정보가 생성되고, 그 정점 접속 정보가 부호화된다.
본 기술의 다른 측면의 정보 처리 장치 및 방법에 있어서는, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 그 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터가 복호되고, 그 부호화 데이터가 복호되어 얻어진 정점 접속 정보와, 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 그 패치에 위치하는 정점과 그 정점간의 접속이 재구성된다.
도 1은 비디오 베이스드 어프로치에 대해서 설명하는 도면이다.
도 2는 메쉬에 대해서 설명하는 도면이다.
도 3은 정점 접속 정보에 대해서 설명하는 도면이다.
도 4는 정점 및 접속의 재구성의 방법에 대해서 설명하는 도면이다.
도 5는 경계 정점에 대해서 설명하는 도면이다.
도 6은 정점 접속 정보의 예에 대해서 설명하는 도면이다.
도 7은 정점 접속 정보의 예에 대해서 설명하는 도면이다.
도 8은 정점 접속 정보의 예에 대해서 설명하는 도면이다.
도 9는 density에 대해서 설명하는 도면이다.
도 10은 정점 위치의 리파인먼트에 대해서 설명하는 도면이다.
도 11은 정점과 접속의 재구성의 방법에 대해서 설명하는 도면이다.
도 12는 경계 정점의 보간에 대해서 설명하는 도면이다.
도 13은 폴리곤의 형성에 대해서 설명하는 도면이다.
도 14는 패치 영역 외의 폴리곤의 머지에 대해서 설명하는 도면이다.
도 15는 패치 영역 내의 폴리곤의 머지에 대해서 설명하는 도면이다.
도 16은 내부 정점의 추가에 대해서 설명하는 도면이다.
도 17은 정점과 접속의 재구성의 방법에 대해서 설명하는 도면이다.
도 18은 경계의 설정 방법에 대해서 설명하는 도면이다.
도 19는 삼각 영역과 직사각형 영역의 설정에 대해서 설명하는 도면이다.
도 20은 경계의 보정에 대해서 설명하는 도면이다.
도 21은 경계의 보정에 대해서 설명하는 도면이다.
도 22는 경계의 보정에 대해서 설명하는 도면이다.
도 23은 경계의 보정에 대해서 설명하는 도면이다.
도 24는 직사각형 영역의 내부 정점의 배치에 대해서 설명하는 도면이다.
도 25는 직사각형 영역의 내부 정점의 배치에 대해서 설명하는 도면이다.
도 26은 직사각형 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 27은 직사각형 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 28은 삼각 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 29는 삼각 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 30은 삼각 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 31은 삼각 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 32는 삼각 영역의 접속의 형성에 대해서 설명하는 도면이다.
도 33은 부호화 장치의 주요 구성예를 도시하는 블록도이다.
도 34는 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 35는 복호 장치의 주요 구성예를 도시하는 블록도이다.
도 36은 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 37은 정점 접속 재구성 처리의 흐름의 예를 설명하는 흐름도이다.
도 38은 정점 접속 재구성 처리의 흐름의 예를 설명하는 흐름도이다.
도 39는 내부 정점의 추가에 대해서 설명하는 도면이다.
도 40은 정점 접속 정보의 예에 대해서 설명하는 도면이다.
도 41은 정점 접속 정보에 기초한 오큐펀시 화상 생성의 예에 대해서 설명하는 도면이다.
도 42는 정점 접속 정보에 기초한 오큐펀시 화상 생성의 예에 대해서 설명하는 도면이다.
도 43은 정점 접속 정보에 기초한 오큐펀시 화상 생성의 예에 대해서 설명하는 도면이다.
도 44는 폴리곤의 표리에 대해서 설명하는 도면이다.
도 45는 Omap 수정 정보의 예에 대해서 설명하는 도면이다.
도 46은 부호화 장치의 주요 구성예를 도시하는 블록도이다.
도 47은 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 48은 Omap 수정 정보 생성 처리의 흐름의 예를 설명하는 흐름도이다.
도 49는 복호 장치의 주요 구성예를 도시하는 블록도이다.
도 50은 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 51은 오큐펀시 화상 생성 처리의 흐름의 예를 설명하는 흐름도이다.
도 52는 패치의 재구성의 예에 대해서 설명하는 도면이다.
도 53은 패치의 재구성의 예에 대해서 설명하는 도면이다.
도 54는 패치의 재구성의 예에 대해서 설명하는 도면이다.
도 55는 폴리곤의 추가의 모습의 예에 대해서 설명하는 도면이다.
도 56은 폴리곤의 추가의 모습의 예에 대해서 설명하는 도면이다.
도 57은 폴리곤의 추가의 모습의 예에 대해서 설명하는 도면이다.
도 58은 컴퓨터의 주요 구성예를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 실시 형태로 한다)에 대해서 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. VPCC 확장에서의 Mesh 압축
2. 정점 접속 정보의 전송
3. 제1 실시 형태(부호화 장치)
4. 제2 실시 형태(복호 장치)
5. 응용예
6. 부기
<1.VPCC 확장에서의 Mesh 압축>
<기술 내용·기술 용어를 서포트하는 문헌 등>
본 기술에서 개시되는 범위는, 실시 형태에 기재되어 있는 내용뿐만 아니라, 출원 당시에 있어서 공지되어 있는 이하의 비특허문헌 등에 기재되어 있는 내용이나 이하의 비특허문헌에 있어서 참조되고 있는 다른 문헌의 내용 등도 포함된다.
비특허문헌 1: (상술)
비특허문헌 2:"Information technology - Coded Representation of Immersive Media - Part 5: Visual Volumetric Video-based Coding (V3C)and Video-based Point Cloud Compression (V-PCC)", ISO/IEC 23090-5:2020(E), ISO/IEC JTC 1/SC 29/WG 11 w19579
즉, 상술한 비특허문헌에 기재되어 있는 내용이나, 상술한 비특허문헌에 있어서 참조되고 있는 다른 문헌의 내용 등도, 서포트 요건을 판단할 때의 근거가 된다.
<포인트 클라우드>
종래, 점의 위치 정보나 속성 정보 등에 의해 3차원 구조를 나타내는 포인트 클라우드(Point cloud) 등의 3D 데이터가 존재했다.
예를 들어 포인트 클라우드의 경우, 입체 구조물(3차원 형상의 오브젝트)을 다수의 점의 집합으로서 표현한다. 포인트 클라우드는, 각 점의 위치 정보(지오메트리라고도 칭한다)와 속성 정보(애트리뷰트라고도 칭한다)에 의해 구성된다. 애트리뷰트는 임의의 정보를 포함할 수 있다. 예를 들어, 각 포인트의 색 정보, 반사율 정보, 법선 정보 등이 애트리뷰트에 포함되도록 해도 된다. 이와 같이 포인트 클라우드는, 데이터 구조가 비교적 단순함과 함께, 충분히 많은 점을 사용함으로써 임의의 입체 구조물을 충분한 정밀도로 표현할 수 있다.
<VPCC>
VPCC(Video-based Point Cloud Compression)는, 이러한 포인트 클라우드의 부호화 기술의 하나이며, 3차원 구조를 나타내는 3D 데이터인 포인트 클라우드 데이터를, 2차원 화상용 코덱을 사용해서 부호화한다.
VPCC에서는, 포인트 클라우드의 지오메트리 및 애트리뷰트가, 각각 소영역(패치라고도 칭한다)으로 분해되고, 그 패치마다 2차원 평면인 투영면에 투영된다. 예를 들어, 지오메트리 및 애트리뷰트는 오브젝트를 내포하는 바운딩 박스의 6면의 어느 것에 투영된다. 이 투영면에 투영된 지오메트리나 애트리뷰트를 투영 화상이라고도 칭한다. 또한, 투영면에 투영된 패치를 패치 화상이라고도 칭한다.
예를 들어, 도 1의 A에 도시되는 3차원 구조의 오브젝트를 나타내는 포인트 클라우드(1)의 지오메트리가, 도 1의 B에 도시된 바와 같은 패치(2)로 분해되고, 그 패치마다 투영면에 투영된다. 즉, 지오메트리의 패치 화상(패치 마다의 투영 화상)이 생성된다. 지오메트리의 패치 화상의 각 화소값은, 투영면으로부터 포인트까지의 거리(뎁스 값(Depth))를 나타낸다.
포인트 클라우드(1)의 애트리뷰트도 지오메트리와 마찬가지로 패치(2)로 분해되고, 그 패치마다 지오메트리와 동일한 투영면에 투영된다. 즉, 지오메트리의 패치 화상과 동 사이즈 또한 동일 형상의 애트리뷰트 패치 화상이 생성된다. 애트리뷰트의 패치 화상의 각 화소값은, 대응하는 지오메트리의 패치 화상의 동일 위치 의 포인트의 애트리뷰트(색, 법선 벡터, 반사율 등)를 나타낸다.
그리고, 이와 같이 생성된 각 패치 화상이 비디오 시퀀스의 프레임 화상(비디오 프레임이라고도 칭한다) 내에 배치된다. 즉, 투영면 상의 각 패치 화상이 소정의 2차원 평면에 배치된다.
예를 들어, 지오메트리의 패치 화상이 배치된 프레임 화상을 지오메트리 비디오 프레임(Geometry video frame)이라고도 칭한다. 또한, 이 지오메트리 비디오 프레임을, 지오메트리 화상이나 지오메트리 맵 등이라고도 칭한다. 도 1의 C에 도시되는 지오메트리 화상(11)은, 지오메트리의 패치 화상(3)이 배치된 프레임 화상(지오메트리 비디오 프레임)이다. 이 패치 화상(3)은, 도 1의 B의 패치(2)에 대응한다(지오메트리의 패치(2)가 투영면에 투영된 것이다).
또한, 애트리뷰트의 패치 화상이 배치된 프레임 화상을 애트리뷰트 비디오 프레임(Attribute video frame)이라고도 칭한다. 또한, 이 애트리뷰트 비디오 프레임을, 애트리뷰트 화상이나 애트리뷰트 맵이라고도 칭한다. 도 1의 D에 도시되는 애트리뷰트 화상(12)은, 애트리뷰트의 패치 화상(4)이 배치된 프레임 화상(애트리뷰트 비디오 프레임)이다. 이 패치 화상(4)은 도 1의 B의 패치(2)에 대응한다(애트리뷰트의 패치(2)가 투영면에 투영된 것이다).
그리고, 이들 비디오 프레임이, 예를 들어 AVC(Advanced Video Coding)나 HEVC(High Efficiency Video Coding) 등과 같은 2차원 화상용 부호화 방법으로 부호화된다. 즉, 3차원 구조를 나타내는 3D 데이터인 포인트 클라우드 데이터를, 2차원 화상용의 코덱을 사용해서 부호화 할 수 있다. 일반적으로 3D 데이터의 인코더보다 2D 데이터의 인코더쪽이 보급되고 있어 저렴하게 실현할 수 있다. 즉, 상술한 바와 같이 비디오 베이스드 어프로치를 적용함으로써, 비용의 증대를 억제할 수 있다.
또한, 이러한 비디오 베이스드 어프로치의 경우, 오큐펀시 화상(오큐펀시 맵이라고도 칭한다)을 사용할 수도 있다. 오큐펀시 화상은 지오메트리 비디오 프레임이나 애트리뷰트 비디오 프레임의 NxN 화소마다, 투영 화상(패치 화상)의 유무를 나타내는 맵 정보이다. 예를 들어, 오큐펀시 화상은 지오메트리 화상이나 애트리뷰트 화상에 있어서의, 패치 화상이 존재하는 영역(NxN 화소)을 값 「1」로 나타내고, 패치 화상이 존재하지 않는 영역(NxN 화소)을 값 「0」으로 나타낸다.
이러한 오큐펀시 화상이, 지오메트리 화상이나 애트리뷰트 화상과는 다른 데이터로서 부호화되고, 복호측으로 전송된다. 디코더는 이 오큐펀시 맵을 참조함으로써, 패치가 존재하는 영역인지 여부를 파악할 수 있으므로, 부호화·복호에 의해 발생하는 노이즈 등의 영향을 억제할 수 있고, 보다 정확하게 포인트 클라우드를 재구축 할 수 있다. 예를 들어, 부호화· 복호에 의해 뎁스 값이 변화해도, 디코더는 오큐펀시 맵을 참조함으로써, 패치 화상이 존재하지 않는 영역의 뎁스 값을 무시(3D 데이터의 위치 정보로서 처리하지 않도록)할 수 있다.
예를 들어, 도 1의 C의 지오메트리 화상(11)이나 도 1의 D의 애트리뷰트 화상(12)에 대하여, 도 1의 E에 도시된 바와 같은 오큐펀시 화상(13)을 생성해도 된다. 오큐펀시 화상(13)에 있어서, 백색의 부분이 값 「1」을 나타내고, 검은 부분이 값 「0」을 나타내고 있다.
또한, 이 오큐펀시 화상도, 지오메트리 비디오 프레임이나 애트리뷰트 비디오 프레임 등과 마찬가지로, 비디오 프레임으로서 전송할 수 있다. 즉, 지오메트리나 애트리뷰트와 마찬가지로, AVC나 HEVC 등과 같은 2차원 화상용의 부호화 방법으로 부호화된다.
즉, VPCC의 경우, 포인트 클라우드의 지오메트리와 애트리뷰트는, 서로 동일한 투영면에 투영되고, 프레임 화상의 동일한 위치에 배치된다. 즉, 각 포인트의 지오메트리와 애트리뷰트가 그 프레임 화상 상의 위치에 따라 서로 대응지어져 있다.
<Mesh>
그런데, 3차원 구조의 오브젝트를 표현하는 3D 데이터로서, 포인트 클라우드 외에, 예를 들어 메쉬(Mesh)가 존재했다. 메쉬는, 도 2에 도시되는 바와 같이, 정점 (21)끼리를 연결하는 변(22)에 의해 둘러싸인 평면(다각형)인 폴리곤에 의해 3차원 공간의 오브젝트 표면을 표현한다. 그 오브젝트를 표현하는 3D 데이터로서는, 도 2에 도시되는 바와 같이, 이 메쉬와, 각 폴리곤에 붙여지는 텍스처(23)를 포함한다.
메쉬를 사용한 3D 데이터는, 예를 들어 도 2의 하단에 도시되는 바와 같이, 각 정점 (21)의 위치 정보(3차원 좌표 (X,Y,Z))로 이루어지는 정점 정보(31), 각 폴리곤을 구성하는 정점 (21)과 변(22)을 나타내는 커넥티비티(32), 각 폴리곤에 붙여지는 텍스처(23)의 맵 정보인 텍스처 화상(33), 그리고 각 정점 (21)에 대응하는 텍스처의 텍스처 화상(33)에 있어서의 위치(즉, 텍스처 화상(33)에 있어서의 각 정점 (21)의 위치)를 나타내는 UV 맵(34)에 의해 구성된다. UV 맵(34)은 각 정점의 위치를, 텍스처 화상(33) 상의 좌표인 UV 좌표에 의해 나타낸다.
메쉬를 사용한 3D 데이터의 경우, 상술한 VPCC의 경우와 달리, UV 맵(34)에 의해 각 정점 (21)과 텍스처(23)의 대응 관계가 나타난다. 따라서, 도 2의 예와 같이, 텍스처 화상(33)은, 각 정점의 3차원 좌표에 의해 구성되는 정점 정보(31)와는 독립한 맵 정보로서 구성된다. 그 때문에, 텍스처 화상(33)에 있어서, 각 폴리곤의 텍스처(23)는, 그 투영 방향이나 해상도를 임의로 설정할 수 있다.
<VPCC를 이용한 Mesh의 압축>
이러한 메쉬를 사용한 3D 데이터의 압축 방법으로서, 예를 들어 비특허문헌 1 등에 있어서, 상술한 VPCC를 확장해서 메쉬를 사용한 3D 데이터를 압축(부호화)하는 방법이 제안되었다. 이 방법의 경우, 오브젝트의 지오메트리(위치 정보)는 패치화되고, 도 1의 C의 예와 같이 지오메트리 화상으로서 부호화된다. 그 때문에, 지오메트리 화상에 있어서의 각 정점의 위치를 나타내는 정보가 생성되고, 메타 정보로서 부호화된다.
그러나, 이 방법의 경우, 지오메트리 화상에 포함되는 모든 정점에 대해서 그 메타 정보가 생성되기 때문에, 부호화 효율이 저감될 우려가 있었다.
<2. 정점 접속 정보의 전송>
그래서, 인코더가, 메타 정보로서 지오메트리 화상에 있어서의 위치 정보를 전송하는 정점의 수를 저감시키도록 한다. 즉, 인코더가, 지오메트리 화상에 포함되는 메쉬의 정점 중, 일부의 정점의 위치 정보나 그 정점간의 접속을 나타내는 정점 접속 정보를 생성하고, 그 정점 접속 정보를 메타 정보로서 부호화하고, 디코더로 전송하도록 한다.
그 때, 정점 접속 정보에는, 적어도, 패치의 경계에 위치하는 정점(경계 정점이라고도 칭한다)에 관한 정보가 포함되도록 한다. 환언하면, 도 3의 표의 최상단에 도시되는 바와 같이, 인코더가, 지오메트리 화상에 포함되는 메쉬의 정점 중, 패치의 경계 이외(패치의 내부)에 위치하는 정점(내부 정점이라고도 칭한다)의 적어도 일부를 삭제하고, 나머지 정점에 대해서, 정점 접속 정보를 생성하도록 한다.
예를 들어, 정보 처리 방법에 있어서, 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 그 메쉬의 정점 및 그 정점간의 접속을 나타내는 정점 접속 정보를 생성하고, 그 정점 접속 정보를 부호화하도록 한다.
예를 들어, 정보 처리 장치에 있어서, 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 그 메쉬의 정점 및 그 정점간의 접속을 나타내는 정점 접속 정보를 생성하는 정점 접속 정보 생성부와, 그 정점 접속 정보를 부호화하는 부호화부를 구비하도록 한다.
이와 같이 함으로써, 인코더는, 정점 접속 정보가 나타내는 정점의 수를 저감시킬 수 있고, 정점 접속 정보의 정보량의 증대를 억제할 수 있다. 따라서, 인코더는, 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감을 억제할 수 있다.
또한, 이러한 정점 접속 정보가 전송된 디코더가, 지오메트리 화상에 포함되는 메쉬의 정점이나 그 정점간의 접속을 재구성하도록 한다.
예를 들어, 정보 처리 방법에 있어서, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 그 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하고, 그 부호화 데이터가 복호되어 얻어진 정점 접속 정보와, 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 그 패치에 위치하는 정점과 그 정점간의 접속을 재구성하도록 한다.
예를 들어, 정보 처리 장치에 있어서, 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 그 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하는 복호부와, 그 복호부에 의해 부호화 데이터가 복호되어 얻어진 정점 접속 정보와, 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 그 패치에 위치하는 정점과 그 정점간의 접속을 재구성하는 정점 접속 재구성부를 구비하도록 한다.
이와 같이 함으로써, 디코더는 복호된 지오메트리 화상에 있어서, 정점이나 접속을 재구성할 수 있다. 즉, 디코더는 부호화 및 복호에 의한 메쉬의 정점수의 저감을 억제할 수 있다. 따라서, 디코더는 인코더가 정점 접속 정보에 있어서의 정점의 수를 저감시키는 것에 의한 메쉬의 품질 저감을 억제할 수 있다. 따라서, 정점 접속 정보에 있어서의 정점수의 저감이 현실적으로 가능해진다. 환언하면, 디코더는 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감의 억제를 실현할 수 있다.
또한, 본 명세서에 있어서, 인코더로부터 디코더로의 정보의 전송은, 임의의 통신 매체를 개재한 전송(즉, 통신에 의한 정보의 전송)뿐만 아니라, 임의의 기억 매체를 개재한 전송(즉, 기억 매체로의 정보의 기입이나 그 기억 매체로부터의 정보의 읽어내기)도 포함되는 것으로 한다.
<정점 접속 정보>
도 2를 참조하여 설명한 바와 같이, 메쉬를 사용한 3D 데이터에서는 지오메트리는, 정점만 나타나고, 정점 정보나 커넥티비티와 같은 비화상의 데이터로서 구성된다. VPCC를 사용해서 이 3D 데이터를 부호화하는 경우에는, 이들 정보로부터 지오메트리 화상이 생성된다. 즉, 3D 데이터는, 서로 인접하는 폴리곤으로 이루어지는 패치로 분할되고, 패치마다 2차원 평면(투영면)에 투영되고, 그 투영면으로부터의 뎁스 정보로 이루어지는 패치 화상이 생성된다. 그리고, 그 패치 화상이 2차원 평면인 지오메트리 화상에 배치되고, 비디오 시퀀스의 프레임 화상으로서 부호화된다.
이 지오메트리 화상에 있어서는, 메쉬의 정점은 표현되지 않는다. 그래서, 지오메트리 화상에 있어서 어디가 정점인지와, 정점간의 접속을 나타내는 정점 접속 정보가 생성되고, 메타 정보로서 부호화된다.
인코더는, 이 정점 접속 정보에 있어서, 내부 정점의 수를 저감시킴으로써, 정점 접속 정보의 정보량을 저감시킨다. 환언하면, 인코더는, 적어도 패치의 경계에 위치하는 정점인 경계 정점에 관한 정보를 포함하는 정점 접속 정보를 생성한다.
즉, 도 3의 표 위에서부터 3단째에 도시되는 바와 같이, 인코더가 생성하는 정점 접속 정보가, 패치(패치 화상)의 경계에 위치하는 정점인 경계 정점의 리스트인 「경계 정점 리스트」를 포함하도록 해도 된다. 환언하면, 인코더가, 이러한 경계 정점 리스트를 생성하고, 정점 접속 정보로 해도 된다. 예를 들어, 인코더는, 내부 정점을 모두 삭제해도 된다.
예를 들어, 도 5에 있어서는, 패치 화상 A, 패치 화상 B, 패치 화상 C 및 패치 화상 D가 도시되어 있다. 도면 중, 회색으로 나타나는 영역이 패치 내의 영역(패치 영역이라고도 칭한다)이다. 또한, 각 패치 화상의 경계(패치 영역과 패치 영역이 아닌 곳의 경계)에 도시되는 흰 동그라미는, 경계 정점을 나타낸다. 각 경계 정점의 근방에 도시되는 「#」+숫자는, 그 근방의 경계 정점의 식별 정보(패치 내에서 정점을 식별하기 위한 정보)를 나타낸다.
정점 접속 정보에 있어서, 경계 정점 리스트가 패치의 경계마다 나타나는 바와 같이 해도 된다. 예를 들어, 패치 화상 A는, 경계 정점 #0 내지 경계 정점 #4가 위치하는 경계와, 경계 정점 #5 내지 경계 정점 #8이 위치하는 경계를 갖는다. 패치 화상 B는, 경계 정점 #0 내지 경계 정점 #3이 위치하는 경계를 갖는다. 패치 화상 C는, 경계 정점 #2 내지 경계 정점 #4가 위치하는 경계를 갖는다. 패치 화상 D는, 경계 정점 #5 내지 경계 정점 #8이 위치하는 경계를 갖는다. 경계 정점 리스트가 이러한 경계마다 생성되도록 해도 된다.
도 5에 도시되는 바와 같이, 패치(패치 화상)의 경계에는, 경계의 내측이 패치 영역인 경우와, 경계의 외측이 패치 영역인 경우가 있을 수 있다. 예를 들어, 패치 화상 A의 경계 정점 #0 내지 경계 정점 #4가 위치하는 경계, 패치 화상 B의 경계 정점 #0 내지 경계 정점 #3이 위치하는 경계, 패치 화상 C의 경계 정점 #2 내지 경계 정점 #4가 위치하는 경계 및, 패치 화상 D의 경계 정점 #5 내지 경계 정점 #8이 위치하는 경계는, 내측이 패치 영역이 되는 경계이다. 또한, 패치 화상 A의 경계 정점 #5 내지 경계 정점 #8이 위치하는 경계는, 외측이 패치 영역이 되는 경계이다.
이와 같이 내측이 패치 영역이 되는 경계에 대응하는 경계 정점 리스트(그 경계에 위치하는 경계 정점과 그 경계 정점간의 접속에 의해 구성되는 리스트)를 인클루시브 리스트(Inclusive List)라고 칭한다. 또한, 외측이 패치 영역이 되는 경계에 대응하는 경계 정점 리스트를 익스클루시브 리스트(Exclusive List)라고 칭한다.
도 5에 도시되는 바와 같이, 패치(패치 화상)는, 내측이 패치 영역이 되는 경계를 반드시 1개 갖는다. 이에 반해, 외측이 패치 영역이 되는 경계는, 패치 화상 B 내지 패치 화상 D와 같이, 패치(패치 화상)에 존재하지 않아도 된다. 패치 화상 A는 외측이 패치 영역이 되는 경계를 1개 갖지만, 외측이 패치 영역이 되는 경계가 1개의 패치(패치 화상)에 복수 존재해도 된다.
즉, 도 3의 표 위에서부터 10단째에 도시되는 바와 같이, 경계 정점 리스트가, 리스트를 구성하는 경계 정점 및 그 경계 정점간의 접속에 의해 둘러싸인 영역이 패치 영역에 포함되는 인클루시브 리스트를 포함하도록 해도 된다. 예를 들어, 패치마다 1개씩 인클루시브 리스트가 형성되어도 된다.
또한, 도 3의 표 위에서부터 11단째에 도시되는 바와 같이, 경계 정점 리스트가, 리스트를 구성하는 경계 정점 및 그 경계 정점간의 접속에 의해 둘러싸인 영역이 패치 영역에 포함되지 않는 익스클루시브 리스트를 더 포함하도록 해도 된다. 예를 들어, 1개의 패치에 대하여, 단수의 인클루시브 리스트에 더하여, 단수 또는 복수의 익스클루시브 리스트가 형성되어도 된다.
경계 정점 리스트에는 임의의 정보가 포함되어 있어도 된다. 예를 들어, 도 3의 표 위에서부터 7단째에 도시되는 바와 같이, 경계 정점 리스트가, 각 경계 정점의 식별 정보와, 지오메트리 화상에 있어서의 각 경계 정점의 위치 정보(UV 좌표)를 포함하도록 해도 된다. 또한, 도 3의 표 위에서부터 8단째에 도시되는 바와 같이, 경계 정점 리스트가, 경계 정점의 배열순(리스트순)으로 경계 정점간의 접속을 나타내도록 해도 된다. 예를 들어, 경계 정점 리스트에 있어서, 각 경계 정점이 도 5에 도시되는 화살표의 방향 순으로 기술되도록 하고, 인접하는 경계 정점끼리가 접속되는 것을 나타내도 된다. 즉, 인클루시브 리스트나 익스클루시브 리스트가 이들 정보를 포함하도록 해도 된다.
도 6은 정점 접속 정보의 예를 나타낸다. 도 6에 도시되는 정점 접속 정보(111)는, 패치(패치 화상)마다의 경계 정점 리스트를 포함한다. 도면 중, 「Inclusive」의 행에 인클루시브 리스트가 나타나고, 「Exclusive」의 행에 익스클루시브 리스트가 나타나 있다. 이 예의 경우, 경계 정점 리스트는 「# 숫자」로 나타나는 각 경계 정점의 식별 정보와, 각 경계 정점의 UV 좌표에 의해 구성된다.
예를 들어, 정점 접속 정보(111)의 경우, 패치 화상 A(Patch A)의 인클루시브 리스트는 경계 정점 #0(UV 좌표 (u00,v00)), 경계 정점 #1(UV 좌표 (u10,v10)), 경계 정점 #2(UV 좌표 (u20,v20)), 경계 정점 #4(UV 좌표 (u40,v40))에 의해 구성된다. 그리고, 경계 정점 #0과 경계 정점 #1, 경계 정점 #1과 경계 정점 #2, 경계 정점 #2와 경계 정점 #4, 경계 정점 #4와 경계 정점 #0이, 각각 접속된다. 또한, 패치 화상 A(Patch A)의 익스클루시브 리스트는 경계 정점 #5(UV 좌표 (u50,v50)), 경계 정점 #6(UV 좌표 (u60,v60)), 경계 정점 #7(UV 좌표 (u70,v70)), 경계 정점 #8(UV 좌표 (u80,v80))에 의해 구성된다. 그리고, 경계 정점 #5와 경계 정점 #6, 경계 정점 #6과 경계 정점 #7, 경계 정점 #7과 경계 정점 #8, 경계 정점 #8과 경계 정점 #5가, 각각 접속된다.
마찬가지로, 패치 화상 B(Patch B)의 인클루시브 리스트는 경계 정점 #3(UV 좌표 (u31,v31)), 경계 정점 #2(UV 좌표 (u21,v21)), 경계 정점 #1(UV 좌표 (u11,v11)), 경계 정점 #0(UV 좌표 (u01,v01))에 의해 구성된다. 그리고, 경계 정점 #3과 경계 정점 #2, 경계 정점 #2와 경계 정점 #1, 경계 정점 #1과 경계 정점 #0, 경계 정점 #0과 경계 정점 #3이, 각각 접속된다. 또한, 패치 화상 B(Patch B)의 익스클루시브 리스트는 존재하지 않는다(none).
마찬가지로, 패치 화상 C(Patch C)의 인클루시브 리스트는 경계 정점 #4(UV 좌표 (u42,v42)), 경계 정점 #2(UV 좌표 (u22,v22)), 경계 정점 #3(UV 좌표 (u32,v32))에 의해 구성된다. 그리고, 경계 정점 #4와 경계 정점 #2, 경계 정점 #2와 경계 정점 #3, 경계 정점 #3과 경계 정점 #4가 각각 접속된다. 또한, 패치 화상 C(Patch C)의 익스클루시브 리스트는 존재하지 않는다(none).
마찬가지로, 패치 화상 D(Patch D)의 인클루시브 리스트는 경계 정점 #5(UV 좌표 (u53,v53)), 경계 정점 #8(UV 좌표 (u83,v83)), 경계 정점 #7(UV 좌표 (u73,v73)), 경계 정점 #6(UV 좌표 (u63,v63))에 의해 구성된다. 그리고, 경계 정점 #5와 경계 정점 #8, 경계 정점 #8과 경계 정점 #7, 경계 정점 #7과 경계 정점 #6, 경계 정점 #6과 경계 정점 #5가, 각각 접속된다. 또한, 패치 화상 D(Patch D)의 익스클루시브 리스트는 존재하지 않는다(none).
또한, 도 3의 표 위에서부터 4단째에 도시되는 바와 같이, 정점 접속 정보가, 패치 영역내(경계가 아닌 부분)에 위치하는 내부 정점의 리스트인 내부 정점 리스트를 더 포함하도록 해도 된다. 상술한 바와 같이, 내부 정점은, 모두 삭제해도 되고, 그 일부를 삭제해도 된다. 환언하면, 정점 접속 정보에는, 내부 정점에 관한 정보가 포함되어도 된다. 즉, 예를 들어 내부 정점의 일부만을 삭제하는 경우, 인코더는, 정점 접속 정보로 하고, 상술한 경계 정점 리스트에 더하여, 그러한 내부 정점에 관한 정보를 나타내는 내부 정점 리스트를 생성해도 된다.
내부 정점 리스트에는 임의의 정보가 포함되어 있어도 된다. 예를 들어, 내부 정점 리스트가, 내부 정점의 식별 정보와, 지오메트리 화상에 있어서의 내부 정점의 위치 정보를 포함하도록 해도 된다.
예를 들어, 도 6에 도시되는 정점 접속 정보(111)의 경우, 각 패치의 「Non-boundary Vertex」의 행에 내부 정점 리스트가 나타나 있다. 예를 들어, 패치 화상 A(Patch A)의 내부 정점 리스트는 내부 정점 #9(UV 좌표 (u90,v90))와 내부 정점 #10(UV 좌표 (u100,v100))에 의해 구성된다. 또한, 패치 화상 B(Patch B) 내지 패치 화상 D(Patch D)에는 내부 정점 리스트는 존재하지 않는다(none).
또한, 경계 정점 리스트가 각 경계 정점의 식별 정보만을 포함하도록 해도 된다. 예를 들어, 인코더가 정점 접속 정보로서, 도 7에 도시된 바와 같은 공통 경계 정점 리스트(120)를 생성하고, 이 공통 경계 정점 리스트(120)에 있어서, 각 경계 정점의 UV 좌표를 나타내도록 해도 된다.
이 경우의, 정점 접속 정보에 포함되는 경계 정점 리스트의 예를 도 8의 A에 도시한다. 도 8의 A에 도시되는 경계 정점 리스트(121)에 있어서는, 인클루시브 리스트나 익스클루시브 리스트가, 경계 정점의 식별 정보에 의해 구성된다. 또한, 이 경우도, 도 6의 예와 마찬가지로, 각 경계 정점의 기술순에 의해 경계 정점간의 접속이 나타나 있다.
또한, 경계 정점 리스트가 에지의 식별 정보에 의해 구성되도록 해도 된다. 예를 들어, 도 7의 공통 경계 정점 리스트(120)에 있어서, 패치의 경계(경계 정점이나 그 경계 정점간의 접속)에 의해 구성되는 에지의 식별 정보(E#1, E#2, E#3, E#4, E#5, E#6, E#7, E#8)가 나타나고, 그 에지의 식별 정보를 사용해서 경계 리스트가 형성되도록 해도 된다. 도 8의 B에 그 경우의 경계 정점 리스트의 예를 나타낸다. 도 8의 B에 도시되는 경계 정점 리스트(122)에 있어서는, 인클루시브 리스트나 익스클루시브 리스트가, 경계 정점의 식별 정보가 아니고, 에지의 식별 정보에 의해 구성된다.
예를 들어, 경계 정점 리스트(122)의 경우, 패치 화상 A(Patch A)의 인클루시브 리스트는 에지 E#1, 에지 E#2, 에지 E#4에 의해 구성된다. 또한, 패치 화상 A(Patch A)의 익스클루시브 리스트는 에지 E#5, 에지 E#6, 에지 E#7, 에지 E#8에 의해 구성된다.
마찬가지로, 패치 화상 B(Patch B)의 인클루시브 리스트는 에지 E#3, 에지 E#2, 에지 E#1에 의해 구성된다. 또한, 패치 화상 B(Patch B)의 익스클루시브 리스트는 존재하지 않는다(none).
마찬가지로, 패치 화상 C(Patch C)의 인클루시브 리스트는 에지 E#4, 에지 E#2, 에지 E#3에 의해 구성된다. 또한, 패치 화상 C(Patch C)의 익스클루시브 리스트는 존재하지 않는다(none).
마찬가지로, 패치 화상 D(Patch D)의 인클루시브 리스트는 에지 E#5, 에지 E#8, 에지 E#7, 에지 E#6에 의해 구성된다. 또한, 패치 화상 D(Patch D)의 익스클루시브 리스트는 존재하지 않는다(none).
도 3의 표 위에서부터 5단째에 도시되는 바와 같이, 정점 접속 정보가, 패치간의 경계 정점의 대응 관계를 나타내는 페어 정보를 더 포함하도록 해도 된다. 예를 들어 도 5에 도시된 바와 같은 패치 화상은, 상술한 바와 같이, 메쉬의 3D 데이터를 패치로 분할하고, 2차원 평면에 투영한 것이다. 그 때문에, 3D 데이터에 있어서 1개의 정점이나 중복점 (위치가 서로 동일한 복수의 정점)이었던 것이 복수의 정점으로서 표현되는 경우가 있다.
예를 들어 도 5에 있어서, 동일한 식별 정보가 할당된 경계 정점은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이었던 것을 나타내고 있다. 즉, 패치 화상 A의 경계 정점 #0 및 패치 화상 B의 경계 정점 #0은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 마찬가지로, 패치 화상 A의 경계 정점 #1 및 패치 화상 B의 경계 정점 #1은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #2, 패치 화상 B의 경계 정점 #2 및 패치 화상 C의 경계 정점 #2는, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 B의 경계 정점 #3 및 패치 화상 C의 경계 정점 #3은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #4 및 패치 화상 C의 경계 정점 #4는, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #5 및 패치 화상 D의 경계 정점 #5는, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #6 및 패치 화상 D의 경계 정점 #6은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #7 및 패치 화상 D의 경계 정점 #7은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 패치 화상 A의 경계 정점 #8 및 패치 화상 D의 경계 정점 #8은, 3D 데이터에 있어서 1개의 정점 (또는 중복점)이다. 즉, 3D 데이터가 재구성될 때에는, 이들 정점은, 1개의 정점 (또는 중복점)이 된다.
본 명세서에 있어서는, 이러한 메쉬의 단수 정점 (또는 중복점)으로부터 생성되는 패치의 복수의 정점에 의해 구성되는 「조합」(「쌍」이나 「그룹」으로도 표현할 수 있다)을 「페어」라 칭한다. 즉, 페어를 구성하는 각 정점은, 메쉬에 있어서 서로 동일한 정점에 대응한다. 환언하면, 이 페어를 나타내는 「페어 정보」는, 복수의 패치의 정점끼리의 대응 관계(어느 정점과 어느 정점이 대응할지)를 나타내는 정보이다. 또한, 페어는, 3개 이상의 정점에 의해 구성되어도 된다. 즉, 메쉬의 1개의 정점이 3 이상의 패치로 나뉘어도 된다.
또한, 이러한 페어 정보에 기초하여 정점을 매칭시키는 처리를 페어링 처리라고도 칭한다.
인코더가, 이러한 페어를 나타내는 페어 정보를 정점 접속 정보에 포함해도 된다. 예를 들어, 도 5의 예와 같이, 페어를 구성하는 경계 정점에 서로 동일한 식별 정보를 할당하여, 도 7에 도시되는 공통 경계 정점 리스트(120)에 있어서, 그 식별 정보마다 UV 좌표를 나타냄으로써, 그들이 페어를 구성하는 것을 나타내도록 해도 된다. 또한, 페어를 구성하는 각 경계 정점이 구성하는 에지는, 3D 데이터를 재구성할 때에 일체화된다(에지와 에지가 접합된다). 그래서, 도 7에 도시되는 바와 같이, 그들의 에지에 대하여 서로 동일한 식별 정보를 할당해도 된다.
정점 접속 정보에 이러한 페어 정보를 포함함으로써, 3D 데이터의 재구성 시에, 디코더는 그 페어 정보에 기초하여 페어링 처리를 실행할 수 있다. 따라서, 예를 들어 크랙의 발생을 억제하는 등, 3D 데이터의 품질 저감을 억제할 수 있다.
<정점 접속 재구성용 파라미터>
도 3의 표 위에서부터 12단째에 도시되는 바와 같이, 인코더는 상술한 정점 접속 정보에 더하여, 정점 및 그 정점간의 접속을 재구성할 때에 사용되는 파라미터(정점 접속 재구성용 파라미터라고도 칭한다)를 더욱 생성해도 된다. 즉, 이 정점 접속 재구성용 파라미터가 정점 접속 정보와 함께 메타 정보로서 부호화되고, 디코더로 전송되어도 된다. 그리고, 디코더가, 이 전송된 정점 접속 재구성용 파라미터에 기초하여 정점이나 접속을 재구성해도 된다.
이 정점 접속 재구성용 파라미터는, 정점이나 접속의 재구성에 사용되는 것이면, 어떤 내용의 것이어도 된다.
예를 들어, 도 3의 표 위에서부터 13단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 메쉬의 내부 정점의 적어도 일부가 삭제되었는지 여부를 나타내는 플래그 정보(boundary_vertex_only_flag)를 생성해도 된다. 즉, 이 플래그 정보(boundary_vertex_only_flag)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 플래그 정보(boundary_vertex_only_flag)에 기초하여, 정점의 재구성을 행할지 여부를 결정하도록 해도 된다.
예를 들어, 이 boundary_vertex_only_flag가 참(예를 들어 「1」)인 경우, 상술한 바와 같이 내부 정점의 적어도 일부가 삭제되어 정점 접속 정보가 생성된 것을 나타낸다. 또한, boundary_vertex_only_flag가 거짓(예를 들어 「0」)인 경우, 종래와 같이, 지오메트리 화상에 포함되는 모든 정점 및 그 정점간의 접속을 나타내는 정점 접속 정보가 생성된 것을 나타낸다.
즉, boundary_vertex_only_flag가 참인 경우, 디코더는 전송된 정점 접속 정보에 포함되지 않는 정점이나 접속을 재구성하고, 그들도 포함하는 커넥티비티, UV 맵, 정점 정보 등을 생성한다. 또한, 이 boundary_vertex_only_flag가 거짓인 경우, 디코더는 전송된 정점 접속 정보에 포함되는 정점이나 접속만을 포함하는 커넥티비티, UV 맵, 접속 정보 등을 생성한다.
이러한 플래그 정보(boundary_vertex_only_flag)이 인코더부터 디코더로 전송됨으로써, 디코더는 이 플래그 정보(boundary_vertex_only_flag)에 기초하여, 전송된 정점 접속 정보에 포함되지 않는 정점이나 접속을 재구성할지 여부를 보다 용이하고 또한 적절하게 결정할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 14단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 재구성할 때의 정점 밀도에 관한 정보(density)를 생성해도 된다. 즉, 이 정보(density)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보(density)에 따라, 정점의 재구성을 행하도록 해도 된다.
density는 복원하는 내부의 정점 밀도(LoD)(샘플링 간격)를 나타내는 파라미터이다. 예를 들어, 도 9에 그 재구성된 정점의 예를 나타낸다. 도 9에 있어서, 흰 동그라미가 재구성된 정점을 나타낸다. 도 9의 A는, density=1인 경우의 재구성된 정점의 예를 나타낸다. 도 9의 B는, density=2인 경우의 재구성된 정점의 예를 나타낸다. 도 9의 C는, density=3인 경우의 재구성된 정점의 예를 나타낸다. 이들의 예에 도시되는 바와 같이, density=1이 최고밀도(픽셀 단위)를 나타내고, density의 값이 커질수록, 정점의 간격이 넓어진다(밀도가 저하된다).
이 density의 설정 단위는 임의이다. 예를 들어, density가 패치마다 설정되도록 해도 되고, 프레임마다(지오메트리 화상마다) 설정되어도 된다.
이 density가 인코더부터 디코더로 전송됨으로써, 디코더는 이 density에 따라, 정점을 재구성할 수 있다. 즉, 인코더가 재구성되는 3D 데이터의 정보량(품질)을 제어할 수 있다.
또한, 예를 들어 디코더가, 정점을 재구성할 때에 그 재구성한 정점의 위치를, 지오메트리 화상(뎁스 값)에 기초하여 보정할 수 있도록 해도 된다. 일반적으로, 메쉬의 정점은, 그 주변의 영역에 있어서의 뎁스 값의 극값(극댓값 또는 극솟값)이 되는 경우가 많다. 그래서, 디코더가, 재구성에 의해 정점이 이 뎁스 값의 극값이외의 위치에 생성된 경우, 그 정점의 위치를 뎁스 값의 극값에 보정하도록 해도 된다.
도 10의 A에 있어서 곡선은 지오메트리 화상의 화소값(즉 뎁스 값)을 나타낸다. 상술한 바와 같이 보정을 행하는 경우, 디코더는 예를 들어 재구성에 의해 생성된 정점 (141)의 위치를, 그 주변의 뎁스 값의 극솟값 위치로 이동시킨다(정점142). 마찬가지로, 디코더는 재구성에 의해 생성된 정점 (143)의 위치를, 그 주변의 뎁스 값의 극댓값 위치로 이동시킨다(정점 (144)).
디코더가 이러한 정점 위치의 보정을 행할 수 있는 경우에, 예를 들어 도 3의 표 위에서부터 15단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 디코더가 재구성하는 정점의 위치를 보정하는지 여부를 나타내는 플래그 정보(refinement_enable_flag)를 생성해도 된다. 즉, 이 플래그 정보(refinement_enable_flag)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 플래그 정보(refinement_enable_flag)에 기초하여, 정점의 보정을 행할지 여부를 결정해도 된다.
예를 들어, refinement_enable_flag가 참(예를 들어 「1」)인 경우, 정점의 위치의 보정을 실행하는 것을 나타낸다. 또한, refinement_enable_flag가 거짓(예를 들어 「0」)인 경우, 정점의 위치의 보정을 실행하지 않는 것을 나타낸다. 즉, 디코더는 전송된 refinement_enable_flag가 참인 경우, 정점의 위치의 보정을 실행하고, 이 refinement_enable_flag가 거짓인 경우, 정점의 위치의 보정을 실행하지 않는다.
이와 같이, refinement_enable_flag가 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더가 정점의 위치의 보정을 실행할지 여부를 제어할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 16단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 디코더가 재구성하는 정점의 보정 목표로 하는 지오메트리의 특징에 관한 정보(refinement_type)를 생성해도 된다. 즉, 이 정보(refinement_type)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보(refinement_type)에 따라, 정점의 보정을 행하도록 해도 된다.
refinement_type는, 보정의 목표로 하는 극값의 종류(예를 들어, Local minimal(극솟값)만인지, Local maximal(극댓값)만인지, 극솟값과 극댓값의 양쪽인지)를 지정하는 파라미터이다. 예를 들어, 이 refinement_type의 값이 극솟값만을 나타내는 경우, 보정에 의한 정점의 이동처가, 뎁스 값이 극솟값이 되는 위치에 한정된다. 또한, 이 refinement_type의 값이 극댓값만을 나타내는 경우, 보정에 의한 정점의 이동처가, 뎁스 값이 극댓값이 되는 위치에 한정된다. 또한, 이 refinement_type의 값이 극솟값 및 극댓값의 양쪽을 나타내는 경우, 보정에 의한 정점의 이동처는, 뎁스 값이 극솟값이 되는 위치여도 되고, 극댓값이 되는 위치여도 된다.
이 refinement_type이 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 정점의 위치의 보정 방법을 제어할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 17단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 재구성하는 정점의 보정의 목표의 탐색 범위에 관한 정보(refinement_range)를 생성해도 된다. 즉, 이 정보(refinement_range)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보(refinement_range)에 따라, 정점의 보정을 행하도록 해도 된다.
refinement_range(r)는, 서치 범위(극값 탐색 범위(정점 이동 가능 범위이기도 한다))를 나타내는 파라미터이다. 예를 들어, 도 10의 B에 도시되는 바와 같이, 정점 (145)의 보정 목표로 하는 뎁스 값의 극값 탐색은, 이 refinement_range에 의해 지정되는 거리 r의 범위 내에서 행해진다. 이와 같이, 뎁스 값의 극값 탐색 범위를 제한함으로써, 보정 처리의 부하 증대를 억제할 수 있다. 또한, 이 refinement_range가 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 정점의 위치의 보정에 있어서의 뎁스 값의 극값 탐색 범위를 제어할 수 있다.
환언하면, 이 정보(refinement_range)는, 재구성된 정점의 이동 가능한 범위(보정 가능한 범위)를 나타낸다. 따라서, 이 refinement_range가 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 정점의 위치 이동 가능한 범위(법제 가능한 범위)를 제어할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 18단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 재구성하는 정점의 보정 후의 최소 간격에 관한 정보(refinement_minimum_interval)를 생성해도 된다. 즉, 이 정보(refinement_minimum_interval)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보(refinement_minimum_interval)에 따라, 그 보정을 행하도록 해도 된다.
refinement_minimum_interval은, 보정 후의 정점간의 거리로서 허용되는 최솟값(최소 간격)을 나타내는 파라미터이다. 디코더는, 이 정보에 따라서 정점 위치의 보정을 행한다. 즉, 디코더는 정점의 간격이 refinement_minimum_interval에서 지정되는 거리보다 작아지지 않도록 보정을 행한다.
따라서, 이 refinement_minimum_interval이 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 정점의 위치의 보정 방법을 제어할 수 있다. 환언하면, 인코더는, 그 보정 후의 3D 데이터의 품질을 제어할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 19단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 재구성하는 상기 정점간의 접속의 방법에 관한 정보(connectivity_type)를 생성해도 된다. 즉, 이 정보(connectivity_type)가 인코더부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보(connectivity_type)에 따라, 정점간의 접속의 재구성을 행하도록 해도 된다.
connectivity_type는 정점끼리의 접속의 방법을 나타내는 정보이다. 예를 들어, 이 connectivity_type이 triangle의 경우, 디코더는 폴리곤(삼각형)을 형성하도록 정점간의 접속을 재구성한다. 또한, connectivity_type이 non triangle의 경우, 디코더는 폴리곤(삼각형) 이외의 형을 형성하도록 정점간의 접속을 재구성한다.
또한, 이 connectivity_type의 설정 단위는 임의이다. 예를 들어, connectivity_type이 패치마다 설정되도록 해도 되고, 경계 정점마다 설정되어도 된다.
이러한 connectivity_type이 인코더부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 접속의 재구성의 방법을 제어할 수 있다.
또한, 예를 들어 도 3의 표 위에서부터 20단째에 도시되는 바와 같이, 인코더가, 이 정점 접속 재구성용 파라미터로서, 재구성하는 상기 정점에 의해 구성되는 폴리곤의 머지의 방법에 관한 정보를 생성해도 된다. 즉, 이 정보가 인코더로부터 디코더로 전송되도록 해도 된다. 그리고, 디코더가, 이 정보에 따라 폴리곤의 머지를 행하도록 해도 된다.
예를 들어, 폴리곤의 머지의 방법(메쉬의 리덕션 방법)으로서, 어느 알고리즘을 적용할지를 지정하는 정보가, 인코더로부터 디코더로 전송되어, 디코더가, 이 정보에 따라 폴리곤의 머지를 행하도록 해도 된다.
또한, 이 정보의 설정 단위는 임의이다. 예를 들어, 패치마다 설정되도록 해도 된다.
이러한 정보가 인코더로부터 디코더로 전송됨으로써, 인코더는, 디코더에 의한 폴리곤의 머지의 방법을 제어할 수 있다.
<경계 정점 모드 적용 판정>
또한, 인코더가, 상술한 바와 같이 정점 접속 정보를 생성할 때에, 도 3의 표 위에서부터 21단째에 도시되는 바와 같이, 지오메트리 화상에 포함되는 내부 정점의 내 일부를 삭제하는 경계 정점 모드를 적용할지 여부를 판정하도록 해도 된다. 즉, 인코더가 소정의 조건에 기초하여, 메쉬의 내부 정점을 삭제할지 여부를 판정하고, 삭제한다고 판정한 경우, 경계 정점 모드를 적용하고, 메쉬의 내부 정점의 적어도 일부를 삭제해서 정점 접속 정보를 생성하도록 해도 된다.
이 판정의 조건은 임의이다. 예를 들어, 도 3의 표 위에서부터 22단째에 도시되는 바와 같이, 인코더가, 내부 정점의 수와 경계 정점의 수를 비교하고, 그 비교 결과에 기초하여, 경계 정점 모드를 적용할지 여부(즉, 메쉬의 내부 정점을 삭제할지 여부)를 판정해도 된다.
예를 들어, 인코더가, 내부 정점수가 경계 정점수에 대하여 충분히 많은 경우(정점수가 충분한 삭감이 가능한 경우)에, 경계 정점 모드를 적용한다고 판정해도 된다. 환언하면, 인코더가, 내부 정점수가 경계 정점수에 대하여 충분히 많지 않은 경우(정점수의 충분한 삭감을 예상할 수 없는 경우)에, 경계 정점 모드를 적용하지 않는다고 판정해도 된다.
예를 들어, 내부 정점의 수에 비하여 경계 정점의 수가 극단적으로 많은 경우, 내부 정점을 삭감해도 정점 접속 정보의 정보량이 충분한 삭감은 예상할 수 없다. 즉, 부호화 효율을 충분히 저감시키지 못할 가능성이 있다. 이러한 경우에는, 경계 정점 모드를 적용하지 않음으로써, 인코더는 부호화 처리의 부하 증대를 억제할 수 있다.
이에 반해, 예를 들어 경계 정점의 수에 비하여 내부 정점의 수가 충분히 많으면, 내부 정점을 삭감하는 것에 의한 정점 접속 정보의 정보량의 충분한 삭감을 예상할 수 있다. 그 때문에, 이러한 경우에, 경계 정점 모드를 적용함으로써, 인코더는 부호화 효율의 저감을 충분히 억제할 수 있다.
또한, 도 3의 표 최하단에 도시되는 바와 같이, 인코더가, 내부 정점의 적어도 일부를 삭제하고, 내부 정점을 재구성함으로써 발생하는 변형의 크기에 기초하여, 경계 정점 모드를 적용할지 여부(즉, 메쉬의 내부 정점을 삭제할지 여부)를 판정해도 된다.
예를 들어, 인코더가, 실제로 내부 정점을 삭제하고, 더욱 내부 정점을 재구성하고, 그 처리 전후에 있어서의 내부 정점의 차이(변형의 크기)를 역치 판정한다. 그리고, 그 변형이 역치 이하의 경우, 인코더가 경계 정점 모드를 적용하도록 한다. 환언하면, 그 변형이 역치보다 큰 경우, 인코더가 경계 정점 모드를 적용하지 않도록 한다. 즉, 인코더는 경계 정점 모드를 적용하는 것에 의한 내부 정점의 변화량이 허용 범위 내의 경우에만, 경계 정점 모드를 적용한다.
이와 같이 함으로써, 인코더는, 경계 정점 모드를 적용하는 것에 의한, 3D 데이터의 품질 저감을 억제할 수 있다.
<정점 접속 재구성 방법 1>
이어서, 디코더에 의한 정점이나 그 정점간의 접속의 재구성에 대해서 설명한다. 이 정점이나 접속의 재구성의 방법은 임의이다.
예를 들어, 도 4의 표 위에서부터 2단째에 도시되는 바와 같이, 디코더는 경계 정점을 선형 보간하고, 패치에 포함되는 영역인 패치 영역을 판정하고, 폴리곤을 생성하고, 패치 영역 외의 불필요한 폴리곤을 머지하고, 지오메트리(뎁스 값)에 기초하여 패치 영역의 폴리곤을 머지함으로써, 패치에 위치하는 정점이나 그 정점간의 접속을 재구성해도 된다.
예를 들어, 인코더로부터 전송된 정점 접속 정보에 의해, 어떤 패치에 대해서, 도 11에 도시되는 흰 동그라미와 같이 경계 정점이 나타나는 것으로 한다. 디코더는, 도 12에 도시되는 회색 동그라미와 같이, 이 경계 정점을 선형 보간한다. 그 때, 디코더는 예를 들어 density 등의 파라미터에 기초한 간격으로 경계 정점을 보간한다.
그리고, 디코더는 이들 경계 정점에 기초하여 패치 영역을 판정한다. 예를 들어, 도 11에 도시되는 경계 정점이 인클루시브 리스트를 구성하는 정점의 경우, 도 12에 도시되는 경계 정점으로 둘러싸인 내측의 영역이 패치 영역이라 판정된다. 또한, 예를 들어 도 11에 도시되는 경계 정점이 익스클루시브 리스트를 구성하는 정점의 경우, 도 12에 도시되는 경계 정점으로 둘러싸인 외측의 영역이 패치 영역이라 판정된다.
다음에 디코더는, 이러한 처리 대상 영역에 대하여 예를 들어 도 13에 도시되는 바와 같이, 폴리곤을 생성한다. 도 13에 있어서는, 폴리곤을 형성하는 접속만을 도시하고, 정점의 도시를 생략하고 있다. 그 때, 디코더는 예를 들어 density 등의 인코더로부터 공급되는 파라미터에 기초한 간격으로 정점을 형성하도록 폴리곤을 생성한다. 예를 들어, 디코더는 복셀(Voxel) 단위로 정점을 배치하고, 소정의 규칙으로 접속한다(커넥티비티를 생성한다).
이어서, 디코더는 도 14에 도시되는 바와 같이, 패치 영역 외의 불필요한 폴리곤을 머지한다. 즉, 디코더는 패치 영역 외의 폴리곤(정점이나 접속)을 삭제한다.
또한, 도 4의 표 위에서부터 3단째에 도시되는 바와 같이, 상술한 바와 같이 페어 정보를 적용하는 경우, 디코더는 더욱 선형 보간한 경계 정점(회색 동그라미)을 삭제해도 된다. 선형 보간한 경계 정점은 다른 패치의 경계 정점과 페어를 구성하지 않기 때문에, 이러한 정점이 존재하면 페어링 처리가 올바르게 실행되지 못할 우려가 있기 때문이다. 환언하면, 선형 보간한 경계 정점을 삭제함으로써, 디코더는 올바르게 페어링 처리를 행할 수 있다.
이어서, 디코더는 도 15에 도시되는 바와 같이, 지오메트리(뎁스 값)에 기초하여 패치 영역의 폴리곤을 머지한다. 즉, 디코더는 뎁스 값을 사용해서 메쉬 리덕션을 행한다. 이 머지 방법은 임의이다. 예를 들어, 디코더는 인코더로부터 공급되는 파라미터(폴리곤 머지 방법 지정 정보 등)에 기초한 방법을 적용해도 된다.
예를 들어, 디코더는 각 폴리곤에 대해서, 근린의 정점 위치의 뎁스 값의 변화량으로부터 머지할 수 있는지 여부를 판단해도 된다. 또한, 내부 정점 리스트(non boundary vertices)가 존재하는 경우, 디코더는 도 16에 도시되는 바와 같이, 그 내부 정점 리스트에 포함되는 내부 정점 (도 16의 검은 동그라미)을 머지(삭제)하지 않도록, 패치 영역의 폴리곤을 머지한다.
또한, 디코더는 상술한 바와 같이, 예를 들어 지오메트리(뎁스 값)에 기초하여 재구성한 정점의 위치를 보정해도 된다. 그 경우, 디코더는 예를 들어 인코더로부터 전송되는 정점 접속 재구성용 파라미터에 기초하여, 정점의 보정을 행해도 된다.
<정점 접속 재구성 방법 2>
또한, 예를 들어 도 4의 표의 최하단에 도시되는 바와 같이, 디코더는 필요에 따라 패치의 경계를 보정하고, 패치를 삼각 영역과 직사각형 영역으로 나누고, 직사각형 영역에 정점을 배치하고, 직사각형 영역의 정점간의 접속을 결정하고, 삼각 영역의 정점간의 접속(커넥티비티)을 결정함으로써, 패치에 위치하는 정점 및 그 정점간의 접속을 재구성해도 된다.
예를 들어, 인코더로부터 전송된 정점 접속 정보에 의해, 패치의 경계가 도 17에 도시되는 것으로 한다. 도 17에 있어서 선으로 둘러싸인 (내측의)영역이 패치 영역인 것으로 한다.
디코더는, 이 패치 영역을 삼각 영역과 직사각형 영역으로 분할한다. 예를 들어, 디코더는 2개의 경계 정점 (x1,y1),(x2,y2)에 대하여, 2개의 후보점 (x1,y2),(x2,y1)을 설정한다. 그리고, 디코더는 그들 후보점 중, 폴리곤의 내측에 있는 것을 직사각형 영역의 경계 상의 점으로서 채용한다. 디코더는, 이와 같이 해서 점을 설정하고, 도 19에 도시되는 예와 같이, 그 점에 기초하여 패치 영역 내에 직사각형 영역을 설정한다. 그리고, 디코더는 그 직사각형 영역 외에 삼각 영역(삼각형에 의해 구성되는 영역)을 설정한다.
또한, 도 18의 예에 있어서, 후보점이 양쪽 모두 폴리곤의 내측에 없는 경우, 디코더는 한 개처의 정점을 사용해서 마찬가지 판정을 행해도 된다.
이러한 후보점의 선택에 있어서, 폴리곤 내에 점을 설정할 수 없는 경우, 디코더는 패치의 경계의 형상을 보정해도 된다.
예를 들어, 디코더는 경계 정점을 이동시킴으로써, 패치의 경계의 형상을 보정해도 된다. 예를 들어, 디코더는 도 20에 있어서 흰 동그라미로 나타나는 정점을 화살표와 같이 이동시킴으로써, 굵은 선으로 나타나는 패치의 경계의 형상을, 도 21과 같이 변경해도 된다.
또한, 예를 들어 디코더는, 정점을 추가함으로써, 패치의 경계의 형상을 보정해도 된다. 예를 들어, 디코더는 도 22에 있어서 굵은 선으로 나타낸 바와 같은 형상의 경계를 갖는 패치에 대하여, 도 23에 있어서 흰 동그라미로 나타나는 바와 같이, 정점을 추가함으로써, 그 패치의 경계의 형상을 변경해도 된다.
직사각형 영역이 설정되면, 디코더는 도 24에 도시되는 바와 같이, 그 직사각형 영역에 내부 정점을 배치한다. 도 24에 있어서, 검은 동그라미로 나타나는 내부 정점이, 직사각형 영역에 재구성된 내부 정점을 나타낸다. 디코더는, 예를 들어 density(LoD)에 따른 간격으로 균일하게 배치한다. 단, 필요한 정점은, 별도 배치되도록 해도 된다. 예를 들어, 직사각형의 정점 및 경계 정점 각각에 대해서, u, v 각 방향으로 선을 그어, 각 선의 교점(직사각형 영역 내)과, 직사각형과의 정점은, 반드시 배치되도록 해도 된다.
도 24는 밀해지도록 정점을 배치한 경우의 예를 나타낸다. 도 25는 소해지도록 정점을 배치한 경우의 예를 나타낸다.
내부 정점이 배치되면, 디코더는 그 직사각형 영역의 내부 정점간을 소정의 방법(패턴)으로 접속한다. 이 접속의 패턴은 임의이다. 예를 들어, 도 26에 도시되는 표와 같이, 패치 화상의 중심(UV 좌표 (U축의 중심, V축의 중심)의 점)으로부터 본 위치에 따른 패턴에서 접속되어도 된다. 이 예의 경우, 패치 화상의 중심의 좌측 상단, 우측 상단, 좌측 하단, 우측 하단의 4개의 영역마다 폴리곤(접속)의 패턴이 준비되어 있다. 예를 들어, 패턴 1의 경우, 도 27의 예와 같이, 패치 화상의 중심(도면 중 회색 점)을 둘러싸도록 커넥티비티가 형성된다. 패턴 2의 경우, 패치 화상의 중심으로부터 방사상으로 연장되도록 커넥티비티가 형성된다.
다음에 디코더는, 삼각 영역의 커넥티비티를 설정한다. 그 때, 디코더는 필요에 따라 정점을 보간해도 된다. 이 커넥티비티의 설정 방법은 임의이다.
예를 들어, 도 28의 A에 도시된 바와 같은 삼각 영역이 존재하는 것으로 한다. 이 삼각 영역의 정점(152), 정점(153) 및 정점(154)이 위치하는 경계(도면 중에 있어서 삼각 영역의 저변)는, 직사각형 영역에 접하는 경계(직사각형 영역 경계면이라고도 칭한다)이다. 또한, 삼각 영역의 직사각형 영역 경계면에서 보아 수직 방향으로 가장 먼 정점(즉, 정점(151))을 산의 정점이라고도 칭한다.
디코더는 이러한 삼각 영역에 대하여, 도 28의 B에 도시되는 바와 같이, 산의 정점(정점(151))과, 직사각형 영역 경계면의 각 정점(정점(152) 내지 정점(154))을 연결하도록, 정점간을 접속해도 된다. 즉, 디코더는 접속(155) 내지 접속(157)을 형성해도 된다.
또한, 도 29의 A에 도시되는 바와 같이, 직사각형 영역 경계면에 단차(직각에 구부러지는 부분)가 존재하는 경우, 디코더는 그 단차에 경사면을 형성하도록 접속을 추가해도 된다. 예를 들어, 도 29의 A의 예의 경우, 정점(161), 정점(162) 및 정점(163)의 부분에 단차가 형성되어 있다. 이 단차에 대하여, 디코더는 정점(161)과 정점(163)을 연결하는 접속(164)을 형성하고 있다.
또한, 도 29의 B에 도시되는 바와 같이, 디코더는 삼각 영역 내에 정점(도면 중의 검은 동그라미)을 추가하고, 추가한 정점과 직사각형 영역 경계면의 정점을 연결하는 접속을 형성해도 된다. 도 29의 B의 예의 경우, 디코더는 정점(171)을 추가해서 접속(172) 및 접속(173)을 형성하고, 정점(174)을 추가해서 접속(175) 및 접속(176)을 형성하고 있다.
또한, 디코더는 각 영역의 내부 폴리곤(산의 정점을 포함하지 않는 폴리곤)에만 정점을 추가해도 된다. 예를 들어, 디코더는 도 30에 있어서 회색으로 나타나는 영역에만 정점이나 접속을 추가해도 된다. 도 30에 도시되는 예의 경우, 삼각 영역의 경계에 정점(181) 내지 정점(188)이 형성되어 있고, 그 중의 정점(181)과 정점(182)이 산의 정점을 형성하고, 정점(183) 내지 정점(188)은, 직사각형 영역 경계면에 위치한다. 그리고, 이들 점에 의해, 폴리곤(191) 내지 폴리곤(194)이 형성되어 있다. 이러한 경우에, 디코더가, 산의 정점을 포함하지 않는 폴리곤(193) 및 폴리곤(194)에만 정점을 추가하도록 해도 된다.
또한, 디코더는 도 31의 A나 도 32의 A에 도시되는 예와 같이, 산의 정점 이외의 정점간을 연결해서 접속을 형성해도 된다. 예를 들어, 추가한 정점과, 직사각형 영역 경계면의 정점을 연결하는 접속을 형성해도 된다. 또한, 도 31의 B나 도 32의 B에 도시되는 예와 같이, 또한 산의 정점과 다른 정점을 연결하는 접속을 추가해도 된다.
<3. 제1 실시 형태>
<부호화 장치>
이상에 있어서 설명한 본 기술은, 임의의 장치에 적용할 수 있다. 예를 들어, 도 33에 도시된 바와 같은 부호화 장치(300)에, 본 기술을 적용할 수 있다. 도 33은, 본 기술을 적용한 정보 처리 장치의 일 실시 형태인 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 33에 도시되는 부호화 장치(300)는, VPCC를 확장해서 Mesh를 사용한 3D 데이터를 비디오 프레임으로서 2차원 화상용 부호화 방법에 의해 부호화하는 장치이다. 그 때, 부호화 장치(300)는, 상술한 본 기술의 각종 방법 중, 단수의 방법을 적용하거나, 또는 복수의 방법을 조합해서 적용하여, 부호화한다.
또한, 도 33에 있어서는, 처리부나 데이터의 흐름 등의 주요한 것을 도시하고 있고, 도 33에 도시되는 것이 전부라고는 할 수 없다. 즉, 부호화 장치(300)에 있어서, 도 33에 있어서 블록으로서 나타나지 않은 처리부가 존재하거나, 도 33에 있어서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름이 존재해도 된다.
도 33에 도시되는 바와 같이 부호화 장치(300)는 메쉬 복셀화부(311), 패치 생성부(312), 정점 접속 갱신부(313), 지오메트리 화상 생성부(314), 오큐펀시 화상 생성부(315), 텍스처 화상 생성부(316), 메타 정보 부호화부(317), 2D 부호화부(318), 2D 부호화부(319), 2D 부호화부(320), 다중화부(321) 및 정점 접속 재구성부(322)를 갖는다. 지오메트리 화상 생성부(314), 오큐펀시 화상 생성부(315) 및 텍스처 화상 생성부(316)는, 본 개시에 있어서 화상 생성부(331)로 간주해도 된다. 또한, 메타 정보 부호화부(317), 2D 부호화부(318), 2D 부호화부(319) 및 2D 부호화부(320)는, 본 개시에 있어서 부호화부(332)로 간주해도 된다.
부호화 장치(300)에는, 메쉬를 사용한 3D 데이터로서, 커넥티비티(351), 정점 정보(352), UV 맵(353), 텍스처(354)가 공급된다.
커넥티비티(351)는 커넥티비티(32)(도 2)와 마찬가지 정보이고, 폴리곤을 형성하는 각 정점(서로 접속하는 각 정점)을, 폴리곤마다 나타낸다. 정점 정보(352)는 정점 정보(31)(도 2)와 마찬가지 정보이고, 메쉬를 형성하는 각 정점의 좌표를 나타낸다. UV 맵(353)은 UV 맵(34)(도 2)과 마찬가지 정보이고, 각 정점의 텍스처 화상 상의 위치를 나타낸다. 텍스처(354)는 텍스처 화상(33)(도 2)과 마찬가지 정보이고, 폴리곤에 붙여지는 텍스처를 나타낸다. 즉, 텍스처(354)는 텍스처 화상을 포함하는 정보이다.
메쉬 복셀화부(311)는 부호화 장치(300)에 공급되는 정점 정보(352)를 취득한다. 메쉬 복셀화부(311)는 취득한 정점 정보(352)에 포함되는 각 정점의 좌표를 복셀 그리드로 변환한다. 메쉬 복셀화부(311)는 변환 후의 복셀 그리드의 정점 정보(352)를 패치 생성부(312)에 공급한다.
패치 생성부(312)는 부호화 장치(300)에 공급되는 커넥티비티(351)를 취득한다. 또한, 패치 생성부(312)는 메쉬 복셀화부(311)로부터 공급되는 복셀 그리드의 정점 정보(352)를 취득한다. 패치 생성부(312)는 그들 정보에 기초하여, 지오메트리의 패치를 생성한다. 또한, 패치 생성부(312)는 생성한 지오메트리의 패치를 투영면에 투영하고, 패치 화상을 생성한다.
패치 생성부(312)는 생성한 패치 화상, 커넥티비티(351) 및 정점 정보(352)등의 정보를 정점 접속 갱신부(313)에 공급한다. 또한, 패치 생성부(312)는 생성한 패치 화상을 지오메트리 화상 생성부(314)에 공급한다. 또한, 패치 생성부(312)는 생성한 패치 화상을 오큐펀시 화상 생성부(315)에 공급한다. 또한, 패치 생성부(312)는 생성한 패치 화상을 텍스처 화상 생성부(316)에 공급한다.
정점 접속 갱신부(313)는 패치 생성부(312)로부터 공급되는 패치 화상, 커넥티비티(351) 및 정점 정보(352) 등의 정보를 취득한다.
정점 접속 갱신부(313)는 그들 정보에 기초하여, 정점 접속 정보를 생성한다. 그 때, 정점 접속 갱신부(313)는 <2. 정점 접속 정보의 전송>의 항(<정점 접속 정보> 내지 <경계 정점 모드 적용 판정>의 항을 포함한다) 등에 있어서 설명한 본 기술을 적용해서 정점 접속 정보를 생성한다. 즉, 정점 접속 갱신부(313)는 지오메트리 화상에 포함되는 메쉬의 정점 중, 적어도 일부의 내부 정점을 삭제하고, 나머지 정점(적어도 경계 정점을 포함한다)에 관한 정점 접속 정보를 생성한다. 이에 의해, <정점 접속 정보>의 항에 있어서 상술한 바와 같은 정보를 포함하는 정점 접속 정보가 생성된다.
또한, 정점 접속 갱신부(313)는 <정점 접속 재구성용 파라미터>의 항에 있어서 상술한 바와 같은, 정점 및 그 정점간의 접속을 재구성할 때에 사용되는 정점 접속 재구성용 파라미터를 생성해도 된다.
또한, 정점 접속 갱신부(313)는 <경계 정점 모드 적용 판정>의 항에 있어서 상술한 바와 같이, 경계 정점 모드를 적용할지 여부를 판정하고, 적용하는 경우만, 상술한 바와 같이 정점 접속 정보를 생성해도 된다. 경계 정점 모드를 적용하지 않을 경우, 정점 접속 갱신부(313)는 지오메트리 화상에 포함되는 모든 메쉬의 정점에 대해서, 정점 접속 정보를 생성한다.
정점 접속 갱신부(313)는 생성한 정점 접속 정보나 정점 접속 재구성용 파라미터를 메타 정보로서 메타 정보 부호화부(317)에 공급한다. 또한, 정점 접속 갱신부(313)는 생성한 정점 접속 정보를 정점 접속 재구성부(322)에 공급한다. 또한, 정점 접속 갱신부(313)는 생성한 정점 접속 재구성용 파라미터를 정점 접속 재구성부(322)에 공급해도 된다.
화상 생성부(331)는 화상(프레임 화상)의 생성에 관한 처리를 행한다. 지오메트리 화상 생성부(314)는 패치 생성부(312)로부터 공급되는 패치 화상을 취득한다. 지오메트리 화상 생성부(314)는, 그 패치 화상을 2차원 평면에 배치하고, 지오메트리 화상을 생성한다. 지오메트리 화상 생성부(314)는 지오메트리 비디오 프레임으로서 2D 부호화부(318)에 공급한다. 또한, 지오메트리 화상 생성부(314)는 생성한 지오메트리 화상을 정점 접속 재구성부(322)에 공급한다.
오큐펀시 화상 생성부(315)는 패치 생성부(312)로부터 공급되는 패치 화상을 취득한다. 오큐펀시 화상 생성부(315)는 그 패치 화상을 사용해서 오큐펀시 화상을 생성한다. 오큐펀시 화상 생성부(315)는 생성한 오큐펀시 화상을 2D 부호화부(319)에 공급한다.
텍스처 화상 생성부(316)는 패치 생성부(312)로부터 공급되는 패치 화상을 취득한다. 또한, 텍스처 화상 생성부(316)는 정점 접속 재구성부(322)로부터 공급되는, 재구성된 정점이나 접속에 관한 정보를 취득한다. 텍스처 화상 생성부(316)는, 또한 UV 맵(353)이나 텍스처(354)를 취득한다. 지오메트리 화상은, 텍스처(354)에 대하여 독립적으로 생성되었으므로, 텍스처 화상과 지오메트리 화상이 일치하지 않을(패치 화상의 형상, 크기, 배치 등이 서로 다를) 가능성이 있다. 그래서, 텍스처 화상 생성부(316)는 텍스처 화상(텍스처(354))을 지오메트리 화상에 맞추도록 갱신한다. 즉, 텍스처 화상 생성부(316)는 패치 화상의 형상, 크기, 배치 등이 지오메트리 화상과 동일해지도록 텍스처 화상을 갱신한다. 텍스처 화상 생성부(316)는, 정점 접속 재구성부(322)로부터 공급되는, 재구성된 정점이나 접속에 관한 정보나 UV 맵(353)을 사용해서 이 갱신을 행한다. 텍스처 화상 생성부(316)는 갱신한 텍스처 화상을 2D 부호화부(320)에 공급한다.
부호화부(332)는 부호화에 관한 처리를 행한다. 메타 정보 부호화부(317)는 정점 접속 갱신부(313)로부터 공급된 메타 정보(정점 접속 정보나 정점 접속 재구성용 파라미터를 포함한다)를 취득한다. 메타 정보 부호화부(317)는 취득한 메타 정보를 부호화하고, 메타 정보의 부호화 데이터를 생성한다. 이 부호화에 적용되는 부호화 방식은 임의이다. 메타 정보 부호화부(317)는 생성한 메타 정보의 부호화 데이터를 다중화부(321)에 공급한다.
2D 부호화부(318)는 지오메트리 화상 생성부(314)로부터 공급되는 지오메트리 화상을 취득한다. 2D 부호화부(318)는 취득한 지오메트리 화상을 2D 화상용 부호화 방식으로 부호화하고, 지오메트리 화상의 부호화 데이터를 생성한다. 2D 부호화부(318)는 생성한 지오메트리 화상의 부호화 데이터를 다중화부(321)에 공급한다.
2D 부호화부(319)는 오큐펀시 화상 생성부(315)로부터 공급되는 오큐펀시 화상을 취득한다. 2D 부호화부(319)는 취득한 오큐펀시 화상을 2D 화상용의 부호화 방식으로 부호화하고, 오큐펀시 화상의 부호화 데이터를 생성한다. 2D 부호화부(319)는, 생성한 오큐펀시 화상의 부호화 데이터를 다중화부(321)에 공급한다.
2D 부호화부(320)는 부호화 장치(300)에 공급된 텍스처 화상을 취득한다. 2D 부호화부(320)는 취득한 텍스처 화상을 2D 화상용의 부호화 방식으로 부호화하고, 텍스처 화상의 부호화 데이터를 생성한다. 2D 부호화부(320)는 생성한 텍스처 화상의 부호화 데이터를 다중화부(321)에 공급한다.
다중화부(321)는 메타 정보 부호화부(317)로부터 공급된 메타 정보의 부호화 데이터를 취득한다. 또한, 다중화부(321)는 2D 부호화부(318)로부터 공급된 지오메트리 화상의 부호화 데이터를 취득한다. 또한, 다중화부(321)는 2D 부호화부(319)로부터 공급된 오큐펀시 화상의 부호화 데이터를 취득한다. 또한, 다중화부(321)는 2D 부호화부(320)로부터 공급된 텍스처 화상의 부호화 데이터를 취득한다. 다중화부(321)는 취득한 그들 정보를 다중화해서 1개의 비트 스트림을 생성한다. 다중화부(321)는 생성한 비트 스트림을 부호화 장치(300)의 외부에 출력한다.
정점 접속 재구성부(322)는 정점 접속 갱신부(313)로부터 공급되는 정점 접속 정보를 취득한다. 정점 접속 갱신부(313)로부터 정점 접속 재구성용 파라미터가 공급되는 경우, 정점 접속 재구성부(322)는 그 정점 접속 재구성용 파라미터도 취득한다. 또한, 정점 접속 재구성부(322)는 지오메트리 화상 생성부(314)로부터 공급되는 지오메트리 화상을 취득한다.
정점 접속 재구성부(322)는 지오메트리 화상을 사용하여, 정점 접속 정보에 포함되어 있지 않은 정점이나 접속을 재구성한다. 즉, 정점 접속 재구성부(322)는 지오메트리 화상에 대하여 정점이나 접속을 추가한다. 그 때, 정점 접속 재구성부(322)는 <정점 접속 재구성 방법 1>의 항이나 <정점 접속 재구성 방법 2>의 항에 있어서 상술한 바와 같은 방법을 적용할 수 있다. 즉, 정점 접속 재구성부(322)는 디코더(예를 들어, 후술하는 복호 장치(400)의 정점 접속 재구성부(416))와 마찬가지 방법으로 정점이나 접속을 재구성한다. 또한, 정점 접속 재구성부(322)가 <정점 접속 재구성용 파라미터>에 있어서 설명한 정점 접속 재구성용 파라미터에 따라, 정점이나 접속의 재구성을 행하도록 해도 된다. 정점 접속 재구성부(322)는, 정점 접속 정보나, 재구성한 정점이나 접속에 관한 정보를, 텍스처 화상 생성부(316)에 공급한다.
이와 같은 구성을 가짐으로써, 부호화 장치(300)는, 정점 접속 정보가 나타내는 정점의 수를 저감시킬 수 있고, 정점 접속 정보의 정보량의 증대를 억제할 수 있다. 따라서, 부호화 장치(300)는 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감을 억제할 수 있다.
또한, 이들 처리부(메쉬 복셀화부(311) 내지 정점 접속 재구성부(322))는 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU(Central Processing Unit), ROM(Read Only Memory), RAM(Random Access Memory) 등을 갖고, 그들을 사용해서 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 그 외를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립하고 있어도 되고, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행의 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<부호화 처리의 흐름>
이 부호화 장치(300)에 의해 실행되는 부호화 처리의 흐름의 예를, 도 34의 흐름도를 참조하여 설명한다.
부호화 처리가 개시되면, 메쉬 복셀화부(311)는 스텝 S301에 있어서, 정점 정보(352)에 포함되는 각 정점의 좌표를 복셀 그리드화함으로써, 메쉬를 복셀 그리드화한다.
스텝 S302에 있어서, 패치 생성부(312)는 스텝 S301에 있어서 복셀 그리드화된 정점 정보(352) 등을 사용해서 패치를 생성하고, 생성한 패치를 투영면에 투영하고, 패치 화상을 생성한다.
스텝 S303에 있어서, 정점 접속 갱신부(313)는 <경계 정점 모드 적용 판정>의 항 등에 있어서 설명한 본 기술을 적용하여, 경계 정점 모드 적용 판정 처리를 행한다. 경계 정점 모드를 적용한다고 판정된 경우, 처리는 스텝 S304로 진행한다. 또한, 경계 정점 모드를 적용하지 않는다고 판정된 경우, 스텝 S304 및 스텝 S305의 처리가 생략되고, 처리는 스텝 S306으로 진행한다.
스텝 S304에 있어서, 정점 접속 갱신부(313)는 <2. 정점 접속 정보의 전송>의 항(<정점 접속 정보> 내지 <경계 정점 모드 적용 판정>의 항을 포함한다) 등에 있어서 설명한 본 기술을 적용해서 정점 접속 정보를 생성한다. 즉, 정점 접속 갱신부(313)는 지오메트리 화상에 포함되는 메쉬의 정점 중, 적어도 일부의 내부 정점을 삭제하고, 나머지 정점(적어도 경계 정점을 포함한다)에 관한 정점 접속 정보를 생성한다. 이에 의해, <정점 접속 정보>의 항에 있어서 상술한 바와 같은 정보를 포함하는 정점 접속 정보가 생성된다.
스텝 S305에 있어서, 정점 접속 갱신부(313)는 <정점 접속 재구성용 파라미터>의 항 등에 있어서 설명한 본 기술을 적용하고, 정점 및 그 정점간의 접속을 재구성할 때에 사용되는 정점 접속 재구성용 파라미터를 생성한다.
스텝 S306에 있어서, 지오메트리 화상 생성부(314)는 스텝 S302에 있어서 생성된 패치 화상을 2차원 평면에 배치하고, 지오메트리 화상을 생성한다.
스텝 S307에 있어서, 오큐펀시 화상 생성부(315)는 스텝 S306에 있어서 생성되는 지오메트리 화상에 대응하는 오큐펀시 화상을 생성한다.
스텝 S308에 있어서, 정점 접속 재구성부(322)는 <정점 접속 재구성 방법 1>의 항이나 <정점 접속 재구성 방법 2>의 항 등에 있어서 상술한 본 기술을 적용하고, 스텝 S304에 있어서 생성된 정점 접속 정보에 포함되어 있지 않은 정점이나 접속을 재구성한다. 이 처리는, 디코더에 있어서 행해지는 처리와 마찬가지이므로, 이 처리의 상세에 대해서는 후술한다.
스텝 S309에 있어서, 텍스처 화상 생성부(316)는 패치 화상의 형상, 크기, 배치 등이 지오메트리 화상과 동일해지도록 텍스처 화상을 갱신(보정)한다.
스텝 S310에 있어서, 메타 정보 부호화부(317)는 스텝 S304에 있어서 생성된 정점 접속 정보나 스텝 S305에 있어서 생성된 정점 접속 재구성용 파라미터를 포함하는 메타 정보를 부호화하고, 메타 정보의 부호화 데이터를 생성한다.
스텝 S311에 있어서, 2D 부호화부(318)는 스텝 S306에 있어서 생성된 지오메트리 화상을 부호화하고, 지오메트리 화상의 부호화 데이터를 생성한다.
스텝 S312에 있어서, 2D 부호화부(319)는, 스텝 S307에 있어서 생성된 오큐펀시 화상을 부호화하고, 오큐펀시 화상의 부호화 데이터를 생성한다.
스텝 S313에 있어서, 2D 부호화부(320)는, 스텝 S309에 있어서 보정된 텍스처 화상을 부호화하고, 텍스처 화상의 부호화 데이터를 생성한다.
스텝 S314에 있어서, 다중화부(321)는 스텝 S310에 있어서 생성된 메타 정보의 부호화 데이터, 스텝 S311에 있어서 생성된 지오메트리 화상의 부호화 데이터, 스텝 S312에 있어서 생성된 오큐펀시 화상의 부호화 데이터, 및 스텝 S313에 있어서 생성된 텍스처 화상의 부호화 데이터를 다중화하고, 1개의 비트 스트림을 생성한다. 다중화부(321)는 생성한 비트 스트림을 부호화 장치(300)의 외부에 출력한다.
스텝 S314의 처리가 종료하면 부호화 처리가 종료한다.
이와 같이 부호화 처리를 실행함으로써, 부호화 장치(300)는, 정점 접속 정보가 나타내는 정점의 수를 저감시킬 수 있고, 정점 접속 정보의 정보량의 증대를 억제할 수 있다. 따라서, 부호화 장치(300)는 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감을 억제할 수 있다.
<4. 제2 실시 형태>
<복호 장치>
본 기술은 또한, 예를 들어 도 35에 도시된 바와 같은 복호 장치(400)에 적용할 수 있다. 도 35는 본 기술을 적용한 화상 처리 장치의 일 양태인 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 35에 도시되는 복호 장치(400)는 VPCC를 확장해서 메쉬를 사용한 3D 데이터를 비디오 프레임으로서 2차원 화상용 부호화 방법에 의해 부호화된 부호화 데이터를, 2차원 화상용의 복호 방법에 의해 복호하고, 메쉬를 사용한 3D 데이터를 생성(재구성)하는 장치이다. 그 때, 복호 장치(400)는 상술한 본 기술의 각종 방법의 내, 단수의 방법을 적용하거나, 또는 복수의 방법을 조합해서 적용하고, 부호화 데이터를 복호하고, 3D 데이터를 재구성한다.
또한, 도 35에 있어서는, 처리부나 데이터의 흐름 등의 주요한 것을 나타내고 있고, 도 35에 도시되는 것이 전부라고는 할 수 없다. 즉, 복호 장치(400)에 있어서, 도 35에 있어서 블록으로서 나타나지 않은 처리부가 존재하거나, 도 35에 있어서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름이 존재해도 된다.
도 35에 도시되는 바와 같이 복호 장치(400)는 역다중화부(411), 메타 정보 복호부(412), 2D 복호부(413), 2D 복호부(414), 2D 복호부(415), 정점 접속 재구성부(416), 패치 재구성부(417) 및 정점 정보 재구성부(418)를 갖는다. 메타 정보 복호부(412), 2D 복호부(413), 2D 복호부(414) 및 2D 복호부(415)는, 본 개시에 있어서 복호부(431)라 간주해도 된다.
역다중화부(411)는 복호 장치(400)에 입력되는 비트 스트림을 취득한다. 이 비트 스트림은 제1 실시 형태에 있어서 상술한 바와 같이, 예를 들어 부호화 장치(300)에 의해 생성된 비트 스트림이며, 메쉬를 사용한 3D 데이터가 VPCC를 확장해서 부호화된 것이다.
역다중화부(411)는 이 비트 스트림을 역다중화하고, 그 비트 스트림에 포함되는 각 부호화 데이터를 생성한다. 즉, 역다중화부(411)는 그 역다중화에 의해, 비트 스트림으로부터 각 부호화 데이터를 추출한다. 예를 들어, 역다중화부(411)는 비트 스트림으로부터 메타 정보의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 지오메트리 화상의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 오큐펀시 화상의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 텍스처 화상의 부호화 데이터를 추출한다.
역다중화부(411)는 추출한 부호화 데이터를 복호부(431)에 공급한다. 예를 들어, 역다중화부(411)는 추출한 메타 정보의 부호화 데이터를 메타 정보 복호부(412)에 공급한다. 또한, 역다중화부(411)는 추출한 지오메트리 화상의 부호화 데이터를 2D 복호부(413)에 공급한다. 또한, 역다중화부(411)는 추출한 오큐펀시 화상의 부호화 데이터를 2D 복호부(414)에 공급한다. 또한, 역다중화부(411)는 추출한 텍스처 화상의 부호화 데이터를 2D 복호부(415)에 공급한다.
복호부(431)는 복호에 관한 처리를 실행한다. 메타 정보 복호부(412)는 역다중화부(411)로부터 공급되는 메타 정보의 부호화 데이터를 취득한다. 메타 정보 복호부(412)는 취득한 메타 정보의 부호화 데이터를 복호하고, 메타 정보를 생성한다. 이 메타 정보에는, <2. 정점 접속 정보의 전송>의 항 (<정점 접속 정보>의 항이나 <정점 접속 재구성용 파라미터>의 항을 포함한다)에 있어서 상술한 정점 접속 정보나 정점 접속 재구성용 파라미터가 포함될 수 있다. 또한, 메타 정보 복호부(412)는 부호화 장치(300)의 메타 정보 부호화부(317)(도 33)이 메타 정보를 부호화할 때에 적용한 부호화 방식에 대응하는 복호 방식을 적용해서 이 복호를 행한다. 메타 정보 복호부(412)는 생성한 메타 정보를, 정점 접속 재구성부(416)에 공급한다.
2D 복호부(413)는 역다중화부(411)로부터 공급되는 지오메트리 화상의 부호화 데이터를 취득한다. 2D 복호부(413)는 취득한 지오메트리 화상의 부호화 데이터를 2D 화상용의 복호 방식으로 복호하고, 지오메트리 화상을 생성한다. 이 복호 방식은, 부호화 장치(300)의 2D 부호화부(318)(도 33)가 지오메트리 화상을 부호화할 때에 적용한 부호화 방식에 대응하는 것이다. 2D 복호부(413)는 생성한 지오메트리 화상을 정점 접속 재구성부(416)와 패치 재구성부(417)에 공급한다.
2D 복호부(414)는, 역다중화부(411)로부터 공급되는 오큐펀시 화상의 부호화 데이터를 취득한다. 2D 복호부(414)는 취득한 오큐펀시 화상의 부호화 데이터를 2D 화상용의 복호 방식으로 복호하고, 오큐펀시 화상을 생성한다. 이 복호 방식은, 부호화 장치(300)의 2D 부호화부(319)(도 33)가 오큐펀시 화상을 부호화할 때에 적용한 부호화 방식에 대응하는 것이다. 2D 복호부(414)는 생성한 오큐펀시 화상을 패치 재구성부(417)에 공급한다.
2D 복호부(415)는 역다중화부(411)로부터 공급되는 텍스처 화상의 부호화 데이터를 취득한다. 2D 복호부(415)는 취득한 텍스처 화상의 부호화 데이터를 2D 화상용의 복호 방식으로 복호하고, 텍스처 화상(텍스처(454))을 생성한다. 이 복호 방식은, 부호화 장치(300)의 2D 부호화부(320)(도 33)가 텍스처 화상을 부호화할 때에 적용한 부호화 방식에 대응하는 것이다. 2D 복호부(415)는 생성한 텍스처 화상(텍스처(454))을, 복원한 메쉬를 사용한 3D 데이터(를 구성하는 데이터)로서, 복호 장치(400)의 외부에 출력한다.
정점 접속 재구성부(416)는 메타 정보 복호부(412)로부터 공급되는 메타 정보(정점 접속 정보나 정점 접속 재구성용 파라미터를 포함한다)를 취득한다. 또한, 정점 접속 재구성부(416)는 2D 복호부(413)로부터 공급되는 지오메트리 화상을 취득한다.
정점 접속 재구성부(416)는 <정점 접속 재구성 방법 1>의 항이나 <정점 접속 재구성 방법 2>의 항에 있어서 상술한 본 기술을 적용하고, 지오메트리 화상을 사용하여, 정점 접속 정보에 포함되어 있지 않은 정점이나 접속을 지오메트리 화상에 재구성한다. 즉, 정점 접속 재구성부(416)는 지오메트리 화상에 대하여 정점이나 접속을 추가하고, 각 정점의 UV 좌표를 설정한다. 그 때, 정점 접속 재구성부(416)는 <정점 접속 재구성용 파라미터>에 있어서 설명한 바와 같이, 인코더로부터 전송된 정점 접속 재구성용 파라미터에 따라서 정점이나 접속의 재구성을 행한다.
정점 접속 재구성부(416)는 인코더로부터 공급된 정점 접속 정보나, 재구성한 정점이나 접속에 관한 정보를, 정점 및 접속에 관한 정보로 하여, 패치 재구성부(417)에 공급한다. 또한, 정점 접속 재구성부(416)는 인코더로부터 공급된 정점 접속 정보에 있어서 나타나는 정점이나 접속과, 재구성한 정점이나 접속을 포함하는 커넥티비티(451) 및 UV 맵(452)을 생성하고, 복원한 메쉬를 사용한 3D 데이터 (을 구성하는 데이터)로서, 복호 장치(400)의 외부에 출력한다.
패치 재구성부(417)는 정점 접속 재구성부(416)로부터 공급되는 정점 및 접속에 관한 정보를 취득한다. 이 정보에는, 인코더로부터 공급된 정점 접속 정보뿐만 아니라, 정점 접속 재구성부(416)에 의해 재구성된 정점이나 접속에 관한 정보도 포함된다. 또한, 패치 재구성부(417)는 2D 복호부(413)로부터 공급되는 지오메트리 화상을 취득한다. 또한, 패치 재구성부(417)는 2D 복호부(414)로부터 공급되는 오큐펀시 화상을 취득한다. 패치 재구성부(417)는 오큐펀시 화상이나 정점 접속 재구성부(416)로부터 공급되는 정점이나 접속에 관한 정보를 사용하여, 지오메트리 화상으로부터 패치 화상을 추출하고, 추출한 패치 화상에 대응하는 패치를 재구성한다. 패치 재구성부(417)는 재구성한 패치나, 정점이나 접속에 관한 정보를, 정점 정보 재구성부(418)에 공급한다.
정점 정보 재구성부(418)는 패치 재구성부(417)로부터 공급되는 패치나, 정점이나 접속에 관한 정보를 취득한다. 정점 정보 재구성부(418)는 취득한 패치로부터 그 패치의 영역에 포함되는 정점을 3차원 공간에 재구성하고(각 정점의 3차원 좌표를 구하고), 정점 정보(453)를 생성한다. 정점 정보 재구성부(418)는 생성한 정점 정보(453)를, 복원한 메쉬를 사용한 3D 데이터(를 구성하는 데이터)로서, 복호 장치(400)의 외부로 출력한다.
이와 같은 구성을 가짐으로써, 복호 장치(400)는 복호된 지오메트리 화상에 있어서, 정점이나 접속을 재구성할 수 있다. 즉, 복호 장치(400)는 부호화 및 복호에 의한 메쉬의 정점수의 저감을 억제할 수 있다. 따라서, 복호 장치(400)는 인코더가 정점 접속 정보에 있어서의 정점의 수를 저감시키는 것에 의한 메쉬의 품질 저감을 억제할 수 있다. 따라서, 정점 접속 정보에 있어서의 정점수의 저감이 현실적으로 가능해진다. 환언하면, 복호 장치(400)는 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감의 억제를 실현할 수 있다.
또한, 이들 처리부(역다중화부(411) 내지 정점 정보 재구성부(418))는 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그들을 사용해서 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 그 외를, 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립하고 있어도 되고, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
<복호 처리의 흐름>
이 복호 장치(400)에 의해 실행되는 복호 처리의 흐름의 예를, 도 36의 흐름도를 참조하여 설명한다.
복호 처리가 개시되면, 역다중화부(411)는 스텝 S401에 있어서, 복호 장치(400)에 입력된 비트 스트림을 역다중화한다. 이 역다중화에 의해, 역다중화부(411)는 비트 스트림으로부터 메타 정보의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 지오메트리 화상의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 오큐펀시 화상의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 텍스처 화상의 부호화 데이터를 추출한다.
스텝 S402에 있어서, 메타 정보 복호부(412)는, 스텝 S401에 있어서 비트 스트림으로부터 추출된 메타 정보의 부호화 데이터를 복호하고, 메타 정보를 생성(복원)한다. 이 메타 정보에는, <2. 정점 접속 정보의 전송>의 항 (<정점 접속 정보>의 항이나 <정점 접속 재구성용 파라미터>의 항을 포함한다)에 있어서 상술한 정점 접속 정보나 정점 접속 재구성용 파라미터가 포함될 수 있다.
스텝 S403에 있어서, 2D 복호부(414)는, 스텝 S401에 있어서 비트 스트림으로부터 추출된 오큐펀시 화상의 부호화 데이터를 복호하고, 오큐펀시 화상을 생성(복원)한다.
스텝 S404에 있어서, 2D 복호부(413)는 스텝 S401에 있어서 비트 스트림으로부터 추출된 지오메트리 화상의 부호화 데이터를 복호하고, 지오메트리 화상을 생성(복원)한다.
스텝 S405에 있어서, 2D 복호부(415)는, 스텝 S401에 있어서 비트 스트림으로부터 추출된 텍스처 화상의 부호화 데이터를 복호하고, 텍스처 화상(텍스처(454))을 생성(복원)한다.
스텝 S406에 있어서, 정점 접속 재구성부(416)는 스텝 S404에 있어서 생성(복원)된 지오메트리 화상에 대하여, 스텝 S402에 있어서 생성(복원)된 정점 접속 정보에 포함되지 않는 정점이나 접속을 재구성(추가)하고, 각 정점의 UV 좌표를 설정한다. 그 때, 정점 접속 재구성부(416)는 <정점 접속 재구성용 파라미터>에 있어서 설명한 바와 같이, 정점 접속 재구성용 파라미터에 따라서 정점이나 접속의 재구성을 행한다.
스텝 S407에 있어서, 패치 재구성부(417)는 스텝 S402에 있어서 생성(복원)된 정점 접속 정보, 스텝 S403에 있어서 생성(복원)된 오큐펀시 화상, 그리고 스텝 S406에 있어서 재구성된 정점이나 접속에 관한 정보를 사용하여, 스텝 S404에 있어서 생성(복원)된 지오메트리 화상으로부터 패치 화상을 추출하고, 그 패치 화상에 대응하는 패치를 3차원 공간에 재구성한다.
스텝 S408에 있어서, 정점 정보 재구성부(418)는 스텝 S407에 있어서 재구성된 패치와, 스텝 S402에 있어서 생성(복원)된 정점 접속 정보와, 스텝 S406에 있어서 재구성된 정점이나 접속에 관한 정보를 사용하여, 그 패치에 포함되는 정점을 3차원 공간에 재구성하고, 정점 정보(453)를 생성한다.
스텝 S408의 처리가 종료하면, 복호 처리가 종료한다.
<재구성 처리의 흐름 1>
이어서, 도 36의 스텝 S406에 있어서 실행되는 정점 접속 재구성 처리의 흐름의 예를, 도 37의 흐름도를 참조하여 설명한다. 이 흐름도는 <정점 접속 재구성 방법 1>에 있어서 상술한 방법을 적용하는 경우의 처리의 흐름의 예를 나타낸다.
정점 접속 재구성 처리가 개시되면, 스텝 S421에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 11이나 도 12를 참조하여 설명한 바와 같이, 지오메트리 화상에 있어서, 정점 접속 정보에 있어서 나타나는 정점에 대하여 경계 정점을 선형 보간하고, 패치 내 영역을 판정한다.
스텝 S422에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 13을 참조하여 설명한 바와 같이, 지오메트리 화상에 있어서 폴리곤을 생성한다.
스텝 S423에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 14를 참조하여 설명한 바와 같이, 패치 영역 외의 불필요한 폴리곤을 삭제한다.
스텝 S424에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 15를 참조하여 설명한 바와 같이, 패치 영역 내에 대해서, 메쉬의 리덕션을 행하여, 폴리곤을 머지한다. 그 때, 정점 접속 재구성부(416)는 예를 들어 도 16을 참조하여 설명한 바와 같이, 정점 접속 정보에 있어서 나타나는 내부 정점을 삭제하지 않도록 폴리곤을 머지한다.
이와 같이 해서, 정점(경계 정점이나 내부 정점)과 각 정점간의 접속이 재구성(추가)된다. 스텝 S424가 종료하면 처리는 도 36으로 되돌아간다.
<재구성 처리의 흐름 2>
이어서, 도 36의 스텝 S406에 있어서 실행되는 정점 접속 재구성 처리의 흐름의 다른 예를, 도 38의 흐름도를 참조하여 설명한다. 이 흐름도는 <정점 접속 재구성 방법 2>에 있어서 상술한 방법을 적용하는 경우의 처리의 흐름의 예를 나타낸다.
정점 접속 재구성 처리가 개시되면, 스텝 S441에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 20 내지 도 23을 참조하여 설명한 바와 같이, 지오메트리 화상에 있어서, 패치의 경계를 보정한다.
스텝 S442에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 17 내지 도 19를 참조하여 설명한 바와 같이, 패치 영역을 삼각 영역과 직사각형 영역으로 분할한다.
스텝 S443에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 24 및 도 25를 참조하여 설명한 바와 같이, 직사각형 영역에 내부 정점을 배치한다.
스텝 S444에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 26 및 도 27을 참조하여 설명한 바와 같이, 직사각형 영역의 커넥티비티를 결정한다.
스텝 S445에 있어서, 정점 접속 재구성부(416)는 예를 들어 도 28 내지 도 32를 참조하여 설명한 바와 같이, 삼각 영역의 커넥티비티를 결정한다. 그 때, 정점 접속 재구성부(416)는 필요에 따라 정점을 추가해도 된다.
이와 같이 해서, 정점(경계 정점이나 내부 정점)과 각 정점간의 접속이 재구성(추가)된다. 스텝 S445가 종료하면 처리는 도 36으로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 복호 장치(400)는 복호된 지오메트리 화상에 있어서, 정점이나 접속을 재구성할 수 있다. 즉, 복호 장치(400)는 부호화 및 복호에 의한 메쉬의 정점수의 저감을 억제할 수 있다. 따라서, 복호 장치(400)는 인코더가 정점 접속 정보에 있어서의 정점의 수를 저감시키는 것에 의한 메쉬의 품질 저감을 억제할 수 있다. 따라서, 정점 접속 정보에 있어서의 정점수의 저감이 현실적으로 가능해진다. 환언하면, 복호 장치(400)는 정점 접속 정보를 부호화하는 것에 의한 부호화 효율의 저감의 억제를 실현할 수 있다.
<5. 응용예>
<내부 정점의 추가>
복호 장치에 있어서 정점 접속 정보에 포함되지 않는 정점이나 접속을 추가하는 방법(재구성 처리)은 임의이고, <정점 접속 재구성 방법 1>이나 <정점 접속 재구성 방법 2>에 있어서 설명한 방법 이외여도 된다. 예를 들어, 도 35의 복호 장치(400)에 있어서, 정점 접속 재구성부(416)가 정점 접속 정보에 의해 나타나는 폴리곤(삼각형)을 세분화해도 된다. 예를 들어, 정점 접속 재구성부(416)가 정점 접속 정보에 포함되는 정점이나 접속에 의해 도 39의 좌측에 점선으로 나타나는 것 같은 폴리곤을, 도 39의 우측에 있어서 점선으로 나타나도록 세분화함으로써, 정점이나 접속을 추가해도 된다.
이 세분화의 방법은 임의이다. 예를 들어, Hartmut Prautzsch, Qi Chen, "Analyzing Midpoint Subdivision", arXiv:0911.5157v3[cs.GR] 27 Apr 2011에 기재된 방법 등, 기존의 Mesh 분할 방법을 적용해도 된다. 또한, <정점 접속 재구성용 파라미터>에 있어서 상술한 바와 같이, 지오메트리 화상의 주변 영역에 있어서의 뎁스 값의 극값(극댓값 또는 극솟값)에 정점을 추가하고, 그 정점을 사용해서 세분화를 행하는 방법을 적용해도 된다.
<정점 접속 정보>
또한, 정점 접속 정보가, 패치의 경계 상에 있는 패치의 정점(경계 정점이라고도 칭한다)의 리스트인 경계 정점 리스트를 포함해도 된다. 경계 정점 리스트는 경계 정점의 식별 정보와, 지오메트리 화상에 있어서의 경계 정점의 위치 정보를 포함하고, 그 위치 정보는 인접하는 다른 경계 정점과의 좌표의 차분을 포함한다.
예를 들어, 도 40에 도시되는 바와 같이, 정점 접속 정보에 있어서, 경계 정점(521-1) 내지 경계 정점(521-8)의 위치 정보가 나타나고, 경계 정점(521-1), 경계 정점(521-2), 경계 정점(521-3), 경계 정점(521-4) 및 경계 정점(521-5)이 이 순으로 접속되어 루프를 형성하고, 경계 정점(521-6), 경계 정점(521-5), 경계 정점(521-7) 및 경계 정점(521-8)이 이 순으로 접속되어 루프를 형성하고 있는 것으로 한다. 또한, 경계 정점(521-1) 및 경계 정점(521-6)을 각각의 루프의 개시점으로 한다. 경계 정점(521-1) 내지 경계 정점(521-8)을 서로 구별해서 설명할 필요가 없는 경우, 경계 정점(521)이라고 칭한다. 정점 접속 정보에는, 각 경계 정점(521)의 위치 정보(지오메트리 화상 상의 좌표 (U,V))가 나타난다. 단, 경계 정점(521-1) 및 경계 정점(521-6)에 대해서는, 각각의 좌표 (U,V)이 나타나는 데 반해, 기타 경계 정점(521)에 대해서는, 루프의 1개 전의 경계 정점(521)과의 좌표의 차분(deltaU,deltaV)이 나타난다. 예를 들어, 경계 정점(521-2)의 위치 정보는, 경계 정점(521-2)의 좌표와 경계 정점(521-1)의 좌표와의 차분으로서 나타난다. 또한, 경계 정점(521-3)의 위치 정보는, 경계 정점(521-3)의 좌표와 경계 정점(521-2)의 좌표와의 차분으로서 나타난다. 기타 경계 정점도 마찬가지이다.
또한, 루프의 최초의 정점의 좌표의 비트 길이는 패치의 폭(PatchWidth)과 패치의 높이(PatchHeight)에 따라서 설정된다. 루프의 2번째 이후의 정점의 좌표의 비트 길이는, 차분의 최댓값(maxDeltaU,maxDeltaV)에 따라서 설정된다. 이와 같이 함으로써, 각 경계 정점의 위치 정보를 그 좌표 (U,V)에 의해 나타내는 경우보다, 정점 접속 정보의 데이터양 증대를 억제할 수 있다.
그리고, 도 35의 복호 장치(400)에 있어서, 정점 접속 재구성부(416)가 이 정점 접속 정보의, 인접하는 다른 경계 정점의 좌표와 차분을 가산함으로써, 경계 정점의 좌표를 도출해도 된다. 예를 들어, 정점 접속 재구성부(416)는 경계 정점(521-1)의 위치 정보(U,V)에, 경계 정점(521-2)의 위치 정보(deltaU,deltaV)를 가산함으로써, 경계 정점(521-2)의 좌표 (U,V)을 도출 할 수 있다. 마찬가지로, 정점 접속 재구성부(416)는 경계 정점(521-2)의 위치 정보(U,V)에, 경계 정점(521-3)의 위치 정보(deltaU, deltaV)을 가산함으로써, 경계 정점(521-3)의 좌표 (U,V)를 도출할 수 있다. 기타의 점에 대해서도 마찬가지이다. 이와 같이 함으로써, 정점 접속 재구성부(416)는 상술한 정점 접속 정보에 기초하여, 각 경계 정점의 위치 정보(U,V)를 얻을 수 있다.
<정점 접속 정보에 기초한 오큐펀시 화상의 생성>
오큐펀시 화상을 부호화 장치로부터 복호 장치로 전송하는 대신에, 복호 장치가 정점 접속 정보에 기초하여 오큐펀시 화상을 생성해도 된다. 예를 들어, 정점 접속 정보에 있어서, 경계 정점 및 접속에 의해, 도 41의 실선(531)과 같은 패치 경계가 나타나 있는 것으로 한다. 그 경우, 전 화소값이 「0」의 오큐펀시 화상을 생성하고, 그 오큐펀시 화상에 있어서, 예를 들어 그 실선(531)에 겹치는 화소(532)를 패치 경계에 대응하는 화소로 하고, 그 화소값을 「1」로 해도 된다. 그리고, 이와 같이 설정된 패치 경계에 대응하는 화소에 기초하여, 패치 내부에 대응하는 화소를 구하고, 그 화소값을 「1」로 해도 된다.
또한, 복호 장치가, 정점 접속 정보에 더하여, 그 정점 접속 정보에 도시되는 경계 정점간의 접속의 좌우 어느 쪽이 패치의 내측 영역인지를 나타내는 정보에 기초하여 오큐펀시 화상을 생성해도 된다. 예를 들어, 루프의 진행 방향으로 향했을 때에, 패치 내부가 패치 경계의 우측인지 좌측인지를 나타내는 플래그 정보가 부호화 장치로부터 복호 장치로 전송되고, 복호 장치가 그 플래그 정보에 기초하여 오큐펀시 화상을 생성해도 된다.
예를 들어, 그 플래그 정보에 의해, 도 42에 도시되는 바와 같이, 패치 경계(실선(531))의 도면 중 상측에 폴리곤(533)이 형성되는(즉, 도면 중 상측이 패치 내부인) 것이 나타나 있는 것으로 한다. 이 경우, 복호 장치는, 오큐펀시 화상에 있어서, 도 42의 사선 모양에서 나타나는 화소(532)를, 이 패치 경계(실선(531))에 대응하는 화소로 하고, 그 화소값을 「1」로 해도 된다.
또한, 예를 들어 그 플래그 정보에 의해, 도 43에 도시되는 바와 같이, 패치 경계(실선(531))의 도면 중 하측에 폴리곤(533)이 형성되는(즉, 도면 중 하측이 패치 내부인) 것이 나타나 있는 것으로 한다. 이 경우, 복호 장치는, 오큐펀시 화상에 있어서, 도 43의 사선 모양에서 나타나는 화소(532)를, 이 패치 경계(실선(531))에 대응하는 화소로 하고, 그 화소값을 「1」로 해도 된다.
도 42의 예와 도 43의 예와 같이, 동일한 패치 경계에 대응하는 화소의 위치가, 플래그 정보(정점 접속 정보에 도시되는 경계 정점간의 접속의 좌우 어느 쪽이 패치의 내측 영역인지를 나타내는 정보)에 따라서 다를 수 있도록 해도 된다. 이와 같이 함으로써, 복호 장치는, 패치 경계의 형상에 의해 정확하게 대응하는 오큐펀시 화상을 생성할 수 있다.
또한, 복호 장치가, 정점 접속 정보에 더하여, 그 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 정보에 기초하여 오큐펀시 화상을 생성해도 된다. 경계 정점의 루프 진행 방향(회전 방향)은, 시계 방향과 반시계 방향의 두 가지 있다. 예를 들어, 도 44에 도시되는 바와 같이, 정점 A, 정점 B 및 정점 C를 정점으로 하는 폴리곤에 있어서, 벡터 AB와 벡터 BC의 외적 벡터(변 AB와 변 BC에 직교하는 벡터)는 반시계 방향이면, 도 44의 좌측에 도시되는 바와 같이 벡터(551)가 되고, 시계 방향이면, 도 44의 우측에 도시되는 바와 같이 벡터(552)가 된다. 즉, 회전 방향에 의해 외적 벡터의 방향이 반대가 된다. 즉, 회전 방향이 반대로 되면 폴리곤의 표리가 반대가 된다. 환언하면, 회전 방향은, 폴리곤이 앞인지 뒤인지에 의존한다. 또한, 회전 방향은, 사용하는 그래픽 API(Application Program Interface)에도 의존한다. 예를 들어, 오른손 좌표계의 OPenGL(등록상표)의 경우, 시점으로부터 보아 반시계 방향이 앞이 된다. 또한, 왼손 좌표계의 DirectX(등록상표)의 경우, 시점으로부터 보아 시계 방향이 앞이 된다. 그래서, 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 플래그 정보가 부호화 장치로부터 복호 장치로 전송되도록 하고, 복호 장치가, 오큐펀시 화상을 생성할 때에, 그 플래그 정보에 기초하여 루프의 진행 방향(회전 방향)을 식별하도록 해도 된다.
또한, 정점 접속 정보에 기초하여 생성되는 오큐펀시 화상이, 항상, 지오메트리 화상에 대응하는 오큐펀시 화상과 일치한다고는 할 수 없다. 즉, 정점 접속 정보에 기초하여 추정한 패치 형상이, 지오메트리 화상에 있어서의 패치 형상에 대하여 오차를 갖는 경우가 있을 수 있다. 그래서, 정점 접속 정보에 기초하여 생성되는 오큐펀시 화상을 수정하기 위한 Omap 수정 정보를, 부호화 장치로부터 복호 장치로 전송해도 된다. 그리고, 복호 장치가, 그 Omap 수정 정보를 사용하여, 정점 접속 정보에 기초하여 생성한 오큐펀시 화상을 수정하도록 해도 된다. 이와 같이 함으로써, 지오메트리 화상에 대응하는 오큐펀시 화상과의 오차를 저감시킬 수 있다.
이 Omap 수정 정보의 내용은 임의이다. 예를 들어, Omap 수정 정보가, 정점 접속 정보에 기초하여 생성되는 오큐펀시 화상과, 지오메트리 화상에 대응하는 오큐펀시 화상의 차분을 포함하도록 해도 된다. 예를 들어, Omap 수정 정보가, 그 차분으로서, 화소값이 다른 화소의 리스트를 포함하도록 해도 된다.
예를 들어, 도 45에 도시되는 Omap 수정 정보(561)와 같이, 정점 접속 정보에 기초하여 생성되는 오큐펀시 화상과, 지오메트리 화상에 대응하는 오큐펀시 화상 사이에서 화소값이 다른 화소(수정 화소라고도 칭한다)가, 그 위치 정보(UV 좌표)에서 나타나도 된다. 이 Omap 수정 정보(561)에 있어서, U[K]는 K번째의 수정 화소의 U 좌표를 나타내고, V[K]는 그 수정 화소의 V 좌표를 나타내고 있다.
또한, 도 45에 도시되는 Omap 수정 정보(562)와 같이, 그 수정 화소가, 소정의 인덱스로 나타나도 된다. Omap 수정 정보(562)의 경우, Index[K]는 K번째의 수정 화소의 인덱스값을 나타낸다. 이 Index[K]는 좌표(U[K] 및 V[K])를 사용해서 이하의 식과 같이 산출된다. 물론, 인덱스값은 각 화소를 식별 가능한 값이면 어떤 값이어도 되고, 이 예에 한정되지 않는다.
Index[K]=U[K]+V[K]*width
<부호화 장치>
이와 같이 Omap 수정 정보를 전송하는 경우의 부호화 장치의 주요 구성예를 도 46에 나타낸다. 도 46에 도시되는 부호화 장치(600)는 도 33의 부호화 장치(300)와 마찬가지 장치이다. 단, 부호화 장치(600)는 지오메트리 화상에 대응하는 오큐펀시 화상을 전송하는 대신에, Omap 수정 정보를 전송한다.
도 46에 도시되는 바와 같이, 부호화 장치(600)는 도 33의 부호화 장치(300)의, 오큐펀시 화상 생성부(315) 및 2D 부호화부(319) 이외의 구성을 갖는다. 또한, 부호화 장치(600)는 Omap 수정 정보 생성부(611) 및 Omap 수정 정보 부호화부(612)를 갖는다. 이 부호화 장치(600)의 경우, 화상 생성부(331)는 지오메트리 화상 생성부(314) 및 텍스처 화상 생성부(316)를 포함한다. 또한, 부호화부(332)는 메타 정보 부호화부(317), 2D 부호화부(318), 2D 부호화부(320) 및 Omap 수정 정보 부호화부(612)를 포함한다.
패치 생성부(312)는 생성한 패치 화상을 Omap 수정 정보 생성부(611)에 공급한다. Omap 수정 정보 생성부(611)는, 그 패치 화상을 취득하고, 그 패치 화상을 사용해서 지오메트리 화상에 대응하는 오큐펀시 화상(제2 오큐펀시 화상이라고도 칭한다)을 생성한다. 또한, 정점 접속 갱신부(313)는 생성한 정점 접속 정보를 Omap 수정 정보 생성부(611)에 공급한다. Omap 수정 정보 생성부(611)는, 그 정점 접속 정보를 취득하고, 그 정점 접속 정보에 기초하여 오큐펀시 화상(제1 오큐펀시 화상이라고도 칭한다)을 생성한다.
Omap 수정 정보 생성부(611)는, 생성한 제1 오큐펀시 화상 및 제2 오큐펀시 화상을 사용하여, 제1 오큐펀시 화상을 수정하는 위한 Omap 수정 정보를 생성한다. 예를 들어, Omap 수정 정보 생성부(611)는, 생성한 제1 오큐펀시 화상 및 제2 오큐펀시 화상의 차분을 도출하고, 그 차분을 포함하는 Omap 수정 정보를 생성해도 된다. 예를 들어, Omap 수정 정보 생성부(611)는, 그 차분으로서, 수정 화소의 위치 정보의 리스트를 포함하는 Omap 수정 정보를 생성해도 된다. 위치 정보는, UV 좌표여도 되고, 인덱스값이어도 된다.
Omap 수정 정보 생성부(611)는 생성한 Omap 수정 정보를 Omap 수정 정보 부호화부(612)에 공급한다. Omap 수정 정보 부호화부(612)는 그 Omap 수정 정보를 취득하고, 부호화한다. 이 부호화의 방법은 임의이다. Omap 수정 정보 부호화부(612)는, 생성한 Omap 수정 정보의 부호화 데이터를, 다중화부(321)에 공급한다. 다중화부(321)는 그 Omap 수정 정보의 부호화 데이터를 다른 부호화 데이터와 다중화해서 1개의 비트 스트림을 생성한다. 다중화부(321)는 생성한 비트 스트림을 부호화 장치(600)의 외부에 출력한다. 이 비트 스트림은, 예를 들어 복호 장치로 전송된다. 즉, Omap 수정 정보가 복호 장치로 전송된다. 이 비트 스트림(Omap 수정 정보)의 전송 방법은 임의이다. 예를 들어, 이 비트 스트림이 임의의 전송로를 통해 복호 장치로 전송되어도 된다. 또한, 이 비트 스트림이 임의의 기록 매체에 기록되고, 그 기록 매체를 통해 복호 장치로 전송되어도 된다.
또한, 메타 정보 부호화부(317)가 부호화하는 메타 정보에, 정점 접속 정보에 도시되는 경계 정점간의 접속의 좌우 어느 쪽이 패치의 내측 영역인지를 나타내는 정보나, 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 정보 등이 포함되어 있어도 된다.
<부호화 처리의 흐름>
이 부호화 장치(600)에 의해 실행되는 부호화 처리의 흐름의 예를, 도 47의 흐름도를 참조하여 설명한다. 부호화 처리가 개시되면, 스텝 S601 내지 스텝 S606의 각 처리는, 도 34의 스텝 S301 내지 스텝 S306의 각 처리와 마찬가지로 실행된다.
스텝 S607에 있어서, Omap 수정 정보 생성부(611)는 Omap 수정 정보 생성 처리를 실행하고, Omap 수정 정보를 생성한다. 스텝 S607의 처리가 종료하면, 처리는 스텝 S608로 진행한다. 스텝 S608 내지 스텝 S611의 각 처리는, 도 34의 스텝 S308 내지 스텝 S311의 각 처리와 마찬가지로 실행된다.
스텝 S612에 있어서, Omap 수정 정보 부호화부(612)는, 스텝 S607에 있어서 생성된 Omap 수정 정보를 부호화한다. 스텝 S612의 처리가 종료하면, 처리는 스텝 S613으로 진행한다. 스텝 S613의 처리는, 도 34의 스텝 S313의 처리와 마찬가지로 실행된다.
스텝 S614에 있어서, 다중화부(321)는 스텝 S610에 있어서 생성된 메타 정보의 부호화 데이터, 스텝 S611에 있어서 생성된 지오메트리 화상의 부호화 데이터, 스텝 S612에 있어서 생성된 Omap 수정 정보의 부호화 데이터, 및 스텝 S613에 있어서 생성된 텍스처 화상의 부호화 데이터를 다중화하고, 1개의 비트 스트림을 생성한다. 다중화부(321)는 생성한 비트 스트림을 부호화 장치(600)의 외부에 출력한다. 스텝 S614의 처리가 종료하면 부호화 처리가 종료한다.
<Omap 수정 정보 생성 처리의 흐름>
이 부호화 처리의 스텝 S607에 있어서 실행되는 Omap 수정 정보 생성 처리의 흐름의 예를, 도 48의 흐름도를 참조하여 설명한다. Omap 수정 정보 생성 처리가 개시되면, Omap 수정 정보 생성부(611)는, 스텝 S631에 있어서, 패치 화상에 기초하여 지오메트리 화상에 대응하는 오큐펀시 화상(제2 오큐펀시 화상)을 생성한다.
스텝 S632에 있어서, Omap 수정 정보 생성부(611)는 정점 접속 정보에 기초하여 오큐펀시 화상(제1 오큐펀시 화상)을 생성한다.
스텝 S633에 있어서, Omap 수정 정보 생성부(611)는, 그 제1 오큐펀시 화상과 제2 오큐펀시 화상을 비교하고, Omap 수정 정보를 생성한다. Omap 수정 정보가 생성되면, Omap 수정 정보 생성 처리가 종료하고, 처리는 도 47의 부호화 처리로 복귀한다.
<복호 장치>
또한, 이와 같이 Omap 수정 정보를 전송하는 경우의 복호 장치의 주요 구성예를 도 49에 나타낸다. 도 49에 도시되는 복호 장치(700)는, 도 35의 복호 장치(400)와 마찬가지 장치이다. 단, 복호 장치(700)는 지오메트리 화상에 대응하는 오큐펀시 화상을 취득하는 대신에, 정점 접속 정보에 기초하여 오큐펀시 화상을 생성한다. 또한, 복호 장치(700)는 전송되는 Omap 수정 정보를 취득하고, 그 Omap 수정 정보를 사용하여, 생성한 오큐펀시 화상을 수정한다. 또한, 복호 장치(700)는, 부호화 장치(600)(도 46)에 대응하고, 부호화 장치(600)에 의해 생성된 비트 스트림을 복호하고, 3D 데이터를 재구성할 수 있다.
도 49에 도시되는 바와 같이, 복호 장치(700)는 도 35의 복호 장치(400)의, 2D 복호부(414) 이외의 구성을 갖는다. 또한, 복호 장치(700)는 Omap 수정 정보 복호부(711)를 갖는다. 이 부호화 장치(600)의 경우, 복호부(431)는 메타 정보 복호부(412), 2D 복호부(413), 2D 복호부(415) 및 Omap 수정 정보 복호부(711)를 포함한다.
역다중화부(411)는 비트 스트림으로부터 Omap 수정 정보의 부호화 데이터를 추출하고, 그것을 Omap 수정 정보 복호부(711)에 공급한다. Omap 수정 정보 복호부(711)는, 그 Omap 수정 정보의 부호화 데이터를 취득한다. Omap 수정 정보 복호부(711)는, 그 부호화 데이터를 복호하고, Omap 수정 정보를 생성한다. 이 복호 방식은, 부호화 장치(600)의 Omap 수정 정보 부호화부(612)(도 46)가 Omap 수정 정보를 부호화할 때에 적용한 부호화 방식에 대응하는 것이다. Omap 수정 정보 복호부(711)는 생성한 Omap 수정 정보를 패치 재구성부(417)에 공급한다.
정점 접속 재구성부(416)는 정점 접속 정보를 패치 재구성부(417)에 공급한다. 또한, 메타 정보에, 정점 접속 정보에 도시되는 경계 정점간의 접속의 좌우 어느 쪽이 패치의 내측 영역인지를 나타내는 정보나, 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 정보 등이 포함되어 있어도 된다. 그 경우, 정점 접속 재구성부(416)가 그들 정보를 패치 재구성부(417)에 공급해도 된다.
패치 재구성부(417)는 그 정점 접속 정보를 취득하고, 그 취득한 정점 접속 정보에 기초하여 오큐펀시 화상을 생성한다. 또한, 패치 재구성부(417)가 정점 접속 재구성부(416)로부터 공급되는, 정점 접속 정보에 도시되는 경계 정점간의 접속의 좌우 어느 쪽이 패치의 내측 영역인지를 나타내는 정보를 취득하고, 오큐펀시 화상의 생성 시에 그 정보를 이용해도 된다. 또한, 패치 재구성부(417)가, 정점 접속 재구성부(416)로부터 공급되는, 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 정보를 취득하고, 오큐펀시 화상의 생성 시에 그 정보를 이용해도 된다.
또한, 패치 재구성부(417)는 Omap 수정 정보 복호부(711)로부터 공급되는, 오큐펀시 화상을 수정하기 위한 Omap 수정 정보를 취득하고, 그 Omap 수정 정보에 기초하여, 정점 접속 정보에 기초하여 생성한 오큐펀시 화상을 수정해도 된다. 예를 들어, 패치 재구성부(417)는 정점 접속 정보에 기초하여 생성한 오큐펀시 화상의, Omap 수정 정보에 도시되는 수정 화소의 화소값을 「0」에서 「1」로, 또는 「1」에서 「0」으로 변경해도 된다.
패치 재구성부(417)는 이상과 같이 생성한 오큐펀시 화상을 사용하여, 지오메트리 화상으로부터 패치 화상을 추출하고, 추출한 패치 화상에 대응하는 패치를 재구성한다. 패치 재구성부(417)는 재구성한 패치나, 정점이나 접속에 관한 정보를, 정점 정보 재구성부(418)에 공급한다.
<복호 처리의 흐름>
이 복호 장치(700)에 의해 실행되는 복호 처리의 흐름의 예를, 도 50의 흐름도를 참조하여 설명한다. 복호 처리가 개시되면, 역다중화부(411)는 스텝 S701에 있어서, 복호 장치(700)에 입력된 비트 스트림을 역다중화한다. 이 역다중화에 의해, 역다중화부(411)는 비트 스트림으로부터 메타 정보의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 지오메트리 화상의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 Omap 수정 정보의 부호화 데이터를 추출한다. 또한, 역다중화부(411)는 비트 스트림으로부터 텍스처 화상의 부호화 데이터를 추출한다. 스텝 S702에 있어서, 메타 정보 복호부(412)는, 스텝 S701에 있어서 비트 스트림으로부터 추출된 메타 정보의 부호화 데이터를 복호하고, 메타 정보를 생성(복원)한다.
스텝 S703에 있어서, Omap 수정 정보 복호부(711)는, 스텝 S701에 있어서 비트 스트림으로부터 추출된 Omap 수정 정보의 부호화 데이터를 복호하고, Omap 수정 정보를 생성(복원)한다. 그리고, 스텝 S704 내지 스텝 S706의 각 처리가, 도 36의 스텝 S404 내지 스텝 S406의 각 처리와 마찬가지로 실행된다.
스텝 S707에 있어서, 패치 재구성부(417)는 오큐펀시 화상 생성 처리를 실행하고, 정점 접속 정보에 기초하여 오큐펀시 화상을 생성한다. 그리고, 스텝 S708 및 스텝 S709의 각 처리가, 도 36의 스텝 S407 및 스텝 S408의 각 처리와 마찬가지로 실행된다. 스텝 S709의 처리가 종료하면, 복호 처리가 종료한다.
<오큐펀시 화상 생성 처리의 흐름>
도 50의 스텝 S707에 있어서 실행되는 오큐펀시 화상 생성 처리의 흐름의 예를, 도 51의 흐름도를 참조하여 설명한다. 오큐펀시 화상 생성 처리가 개시되면, 패치 재구성부(417)는 스텝 S731에 있어서, 정점 접속 정보에 기초하여 오큐펀시 화상을 생성한다. 스텝 S732에 있어서, 패치 재구성부(417)는 Omap 수정 정보에 기초하여, 그 생성한 오큐펀시 화상을 수정한다. 스텝 S732의 처리가 종료하면, 오큐펀시 화상 생성 처리가 종료하고, 처리는 도 50의 복호 처리로 복귀한다.
이상과 같이, 복호 장치가, 정점 접속 정보에 기초하여 오큐펀시 화상을 생성함으로써, 오큐펀시 화상의 전송을 생략할 수 있다. 따라서, 3D 데이터의 부호화 효율의 저감을 억제할 수 있다.
<패치의 생성>
이상과 같이 정점 접속 정보에 기초하여 오큐펀시 화상을 생성하는 경우, 오큐펀시 화상에 있어서, 패치(지오메트리 화상의 패치 화상에 대응하는 부분)의 생성 방법은 임의이다. 예를 들어, 패치 재구성부(417)가, 정점 접속 정보의 경계 정점과 접속에 의해 나타나는 패치의 경계 내측에, 그 패치의 내측인 것을 나타내는 내부 영역을 배치하고, 그 내부 영역의 각 정점을 근방의 경계 정점으로 이동함으로써 내부 영역을 변형시키고, 더욱 정점 접속 정보에 기초해서 그 내부 영역을 보정해도 된다.
예를 들어, 도 52에 도시되는 바와 같이, 정점 접속 정보에 의해 나타나는 패치 경계(801)의 내측에, 내부 영역(802)을 배치한다. 이 내부 영역(802)은 직사각형의 영역에 의해 구성된다. 그리고, 점선 화살표(803)로 나타나는 바와 같이, 그 내부 영역(802)의 각 정점을, 근방의 경계 정점으로 이동시킨다. 이에 의해, 내부 영역(802)이 변형된다. 도 52의 예와 같은 경우이면, 내부 영역(802)의 각 정점이 모든 경계 정점으로 이동되므로, 내부 영역(802)의 외형이, 패치 경계(801)에 일치한다. 이 내부 영역의 화소값을 「1」로 함으로써, 오큐펀시 화상에 있어서, 정점 접속 정보에 의해 나타나는 지오메트리의 패치에 대응하는 영역을 형성(즉 패치를 생성)할 수 있다.
단, 이러한 방법에서, 항상, 내부 영역(802)의 외형을 패치 경계(801)에 일치시킬 수 있다고는 할 수 없다. 예를 들어, 도 53의 경우, 경계 정점(813) 및 경계 정점(814)에는, 내부 영역(802)의 정점이 이동되지 않는다. 그 때문에, 내부 영역(802)의 외형이, 점선(811)이나 점선(812)과 같이 되어 버리고, 경계 정점(813) 및 경계 정점(814)이 패치에 포함되지 않는다. 이와 같이 경계 정점이 패치에 포함되지 않는 예로서, 경계 정점의 배열 중, 도 53과 같이 단수의 경계 정점이 패치에 포함되지 않은 경우와, 연속하는 복수의 경계 정점(예를 들어 2점)이 패치에 포함되지 않은 경우가 있을 수 있다.
또한, 도 54의 경우, 내부 영역(802)의 외형이, 점선(821) 및 점선(822)과 같이 되어 버려, 경계의 변(823)이 패치에 포함되지 않는다.
이와 같이, 경계 정점이나 경계의 변이 패치(내부 영역(802))에 포함되지 않은 경우, 패치 재구성부(417)가, 더욱 정점 접속 정보에 기초해서 그 패치(내부 영역)의 형상을 보정해도 된다. 이 보정의 방법은 임의이다. 예를 들어, 경계 정점이 패치에 포함되지 않은 경우, 그 경계 정점을 포함하는 폴리곤을 패치에 추가해도 된다. 예를 들어, 도 55에 도시되는 바와 같이, 경계 정점(831-1) 및 경계 정점(831-2), 그리고 접속(832-1) 내지 접속(832-3)이 경계가 되고, 그 경계의 도면 중 하측의 영역(833)(회색으로 나타나는 영역)이 패치의 내부 영역이며, 경계 정점(831-3)이 그 패치에 포함되어 있지 않은 것으로 한다. 이와 같이 단수의 경계 정점이 패치에 포함되지 않은 경우, 패치 재구성부(417)가, 경계 정점(831-1) 내지 경계 정점(831-3)을 연결하는 접속에 의해 둘러싸인 영역(834)(폴리곤)을 이 패치에 추가해도 된다. 이와 같이 함으로써, 경계 정점(831-3)이 포함되도록 패치의 외형이 보정된다. 따라서, 정점 접속 정보에 의해 대응한 오큐펀시 화상이 얻어진다.
예를 들어, 도 56에 도시되는 바와 같이, 경계 정점(841-1) 및 경계 정점(841-4), 그리고 접속(842-1) 내지 접속(842-3)이 경계로 되고, 그 경계의 도면 중 하측의 영역(843)(회색으로 나타나는 영역)이 패치의 내부 영역이며, 경계 정점(841-2) 및 경계 정점(841-3)이 그 패치에 포함되어 있지 않은 것으로 한다. 이와 같이 연속하는 복수의 경계 정점이 패치에 포함되지 않은 경우, 그들의 경계 정점을 포함하는 폴리곤을 패치에 추가해도 된다.
단, 이 경우, 패치의 추가 방법에 두 가지가 생각된다. 예를 들어, 도 56의 좌측에 도시되는 바와 같이, 경계 정점(841-1) 내지 경계 정점(841-3)을 연결하는 접속에 의해 둘러싸인 영역(844-1)(폴리곤)과, 경계 정점(841-1), 경계 정점(841-3) 및 경계 정점(841-4)을 연결하는 접속에 의해 둘러싸인 영역(844-2)(폴리곤)을 패치에 추가하는 케이스가 생각된다. 또한, 도 56의 우측에 도시되는 바와 같이, 경계 정점(841-2), 경계 정점(841-3) 및 경계 정점(841-4)을 연결하는 접속에 의해 둘러싸인 영역(846-1)(폴리곤)과, 경계 정점(841-1), 경계 정점(841-3) 및 경계 정점(841-4)을 연결하는 접속에 의해 둘러싸인 영역(846-2)(폴리곤)을 패치에 추가하는 케이스가 생각된다. 이러한 경우, 어느 것의 케이스가 선택되어 적용된다.
이 선택의 방법은 임의이다. 예를 들어, 패치에 포함되는 경계 정점(841-1)과, 패치에 포함되지 않는 경계 정점 중, 그 경계 정점(841-1)과 접속되지 않는 경계 정점 사이의 중점이, 보정 후의 패치에 포함되는지 여부에 기초하여, 상술한 선택이 행해지도록 해도 된다. 예를 들어, 도 56의 좌측에 도시되는 케이스의 경우, 경계 정점(841-1) 및 경계 정점(841-3)의 중점(845)은, 보정 후의 패치에 포함된다. 이에 반해, 도 56의 우측에 도시되는 케이스의 경우, 경계 정점(841-1) 및 경계 정점(841-2)의 중점(847)은, 보정 후의 패치에 포함되지 않는다. 정점 접속 정보에 포함되는 경계 정점 및 접속에 의해 나타나는 패치에, 이 중점이 포함되는지 여부에 따라, 어느 것의 케이스가 선택되어도 된다.
예를 들어, 도 57에 있어서 회색으로 나타나는 영역이 패치의 내부 영역이 되고, 경계의 변(접속851)이 그 패치에 포함되어 있지 않은 것으로 한다. 이와 같이 경계의 변이 패치에 포함되지 않은 경우, 그 변을 포함하는 폴리곤을 패치에 추가해도 된다. 먼저, 접속(851)의 양단의 경계 정점(경계 정점(852) 및 경계 정점(853))을 한쪽 정점으로 하는 접속이 구해진다. 경계 정점(852)를 한쪽 정점으로 하는 접속은, 접속(854-1) 내지 접속(854-3)이다. 경계 정점(853)을 한쪽 정점으로 하는 접속은, 접속(855-1) 내지 접속(855-3)이다. 그리고, 이들 접속 중, 다른 쪽 정점이 동일한 접속이 구해진다. 접속(854-3) 및 접속(855-1)이 서로 동일한 정점에 접속된다. 따라서, 접속(851), 접속(854-3) 및 접속(855-1)에 의해 둘러싸인 영역(856)(폴리곤)이 패치에 추가된다.
<6. 부기>
이상에 있어서는, 메쉬를 사용한 3D 데이터를, VPCC라고 하는 규격을 확장해서 부호화하는 경우에 대해서 설명했지만, VPCC 대신에 V3C(Visual Volumetric Video-based Coding)나 MIV(metadata immersive video)를 적용해도 된다. V3C나 MIV는 VPCC와 거의 마찬가지의 부호화 기술을 사용한 규격이며, VPCC의 경우와 마찬가지로 확장하여, 메쉬를 사용한 3D 데이터를 부호화할 수 있다. 따라서, 메쉬를 사용한 3D 데이터의 부호화에 V3C나 MIV를 적용하는 경우도, 상술한 본 기술을 적용할 수 있다.
<3D 데이터>
이상에 있어서는, 메쉬의 부호화·복호에 본 기술을 적용하는 경우에 대해서 설명했지만, 본 기술은 이들 예에 한하지 않고, 임의의 규격의 3D 데이터의 부호화·복호에 대하여 적용할 수 있다. 즉, 상술한 본 기술과 모순되지 않는 한, 부호화·복호 방식 등의 각종 처리, 그리고 3D 데이터나 메타 데이터 등의 각종 데이터의 사양은 임의이다. 또한, 본 기술과 모순되지 않는 한, 상술한 일부의 처리나 사양을 생략해도 된다.
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 58은 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어 구성예를 도시하는 블록도이다.
도 58에 도시되는 컴퓨터(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)에, 미리 인스톨해 둘 수도 있다.
<본 기술의 적용 대상>
본 기술은 임의의 구성에 적용할 수 있다. 예를 들어, 본 기술은 다양한 전자 기기에 적용될 수 있다.
또한, 예를 들어 본 기술은 시스템 LSI(Large Scale Integration) 등으로서의 프로세서(예를 들어 비디오 프로세서), 복수의 프로세서 등을 사용하는 모듈(예를 들어 비디오 모듈), 복수의 모듈 등을 사용하는 유닛(예를 들어 비디오 유닛) 또는 유닛에 추가의 기타 기능을 부가한 세트(예를 들어 비디오 세트) 등, 장치의 일부 구성으로서 실시할 수도 있다.
또한, 예를 들어 본 기술은 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수도 있다. 예를 들어, 본 기술을, 네트워크를 통해서 복수의 장치에서 분담, 공동해서 처리하는 클라우드 컴퓨팅으로서 실시하도록 해도 된다. 예를 들어, 컴퓨터, AV(Audio Visual) 기기, 휴대형 정보 처리 단말기, IoT(Internet of Things) 디바이스 등의 임의의 단말기에 대하여, 화상(동화상)에 관한 서비스를 제공하는 클라우드 서비스에 있어서 본 기술을 실시하도록 해도 된다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 안에 있는지의 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되어, 네트워크를 통해서 접속되어 있는 복수의 장치 및 1개의 하우징 안에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
<본 기술을 적용 가능한 분야·용도>
본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다. 또한, 그 용도도 임의이다.
<기타>
또한, 본 명세서에 있어서 「플래그」란, 복수의 상태를 식별하기 위한 정보이며, 참(1) 또는 거짓(0)의 두 상태를 식별할 때에 사용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「플래그」가 취할 수 있는 값은, 예를 들어 1/0의 2치여도 되고, 3치 이상이어도 된다. 즉, 이 「플래그」를 구성하는 bit수는 임의이고, 1bit나 복수bit여도 된다. 또한, 식별 정보(플래그도 포함한다)는, 그 식별 정보를 비트 스트림에 포함하는 형뿐만 아니라, 어느 기준이 되는 정보에 대한 식별 정보의 차분 정보를 비트 스트림에 포함하는 형태도 상정되기 때문에, 본 명세서에 있어서는, 「플래그」나 「식별 정보」는, 그 정보뿐만 아니라, 기준이 되는 정보에 대한 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타 데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떤 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」라고 하는 용어는, 예를 들어 한쪽 데이터를 처리할 때에 다른 쪽 데이터를 이용할 수 있도록(링크시킬 수 있도록) 하는 것을 의미한다. 즉, 서로 관련지어진 데이터는, 하나의 데이터로서 통합되어도 되고, 각각 개별의 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은, 데이터 전체가 아니고, 데이터의 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1 프레임 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 본 명세서에 있어서, 「합성하다」, 「다중화하다」, 「부가하다」, 「일체화하다」, 「포함하다」, 「저장하다」, 「집어 넣다」, 「끼워 넣다」, 「삽입하다」 등의 용어는, 예를 들어 부호화 데이터와 메타 데이터를 하나의 데이터로 통합한다고 하는, 복수의 물을 하나로 통합하는 것을 의미하고, 상술의 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것이 아니고, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 1개의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합해서 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행되도록 해도 된다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 하나의 흐름도의 각 스텝을, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담해서 실행하도록 해도 된다. 또한, 하나의 스텝에 복수의 처리가 포함되는 경우, 그 복수의 처리를, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담해서 실행하도록 해도 된다. 환언하면, 하나의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로서 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 하나의 스텝으로서 통합해서 실행할 수도 있다.
또한, 예를 들어 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 되고, 병렬로 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별로 실행되도록 해도 된다. 즉, 모순이 발생하지 않는 한, 각 스텝의 처리가 상술한 순서와 상이한 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합해서 실행되도록 해도 된다.
또한, 예를 들어 본 기술에 관한 복수의 기술은, 모순이 발생하지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용해서 실시할 수도 있다. 예를 들어, 어느 것의 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부와 조합해서 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하지 않은 다른 기술과 병용해서 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하는 정점 접속 정보 생성부와,
상기 정점 접속 정보를 부호화하는 부호화부
를 구비하는 정보 처리 장치.
(2) 상기 정점 접속 정보는, 상기 패치의 경계에 위치하는 상기 정점인 경계 정점의 리스트인 경계 정점 리스트를 포함하는
(1)에 기재된 정보 처리 장치.
(3) 상기 경계 정점 리스트는 리스트를 구성하는 상기 경계 정점 및 상기 경계 정점간의 접속에 의해 둘러싸인 영역이 상기 패치에 포함되는 인클루시브 리스트를 포함하는
(2)에 기재된 정보 처리 장치.
(4) 상기 경계 정점 리스트는 리스트를 구성하는 상기 경계 정점 및 상기 경계 정점간의 상기 접속에 의해 둘러싸인 영역이 상기 패치에 포함되지 않는 익스클루시브 리스트를 더 포함하는
(3)에 기재된 정보 처리 장치.
(5) 상기 경계 정점 리스트는 상기 경계 정점의 식별 정보와, 상기 패치가 배치되는 2차원 평면인 지오메트리 화상에 있어서의 상기 경계 정점의 위치 정보를 포함하는
(2) 내지 (4)중 어느 것에 기재된 정보 처리 장치.
(6) 상기 경계 정점 리스트는 상기 경계 정점의 배열순으로 상기 경계 정점간의 접속을 나타내는
(2) 내지 (5)중 어느 것에 기재된 정보 처리 장치.
(7) 상기 정점 접속 정보는, 상기 내부 정점의 리스트인 내부 정점 리스트를 더 포함하는
(2) 내지 (6)중 어느 것에 기재된 정보 처리 장치.
(8) 상기 내부 정점 리스트는 상기 내부 정점의 식별 정보와, 상기 패치가 배치되는 2차원 평면인 지오메트리 화상에 있어서의 상기 내부 정점의 위치 정보를 포함하는
(7)에 기재된 정보 처리 장치.
(9) 상기 정점 접속 정보는, 상기 패치간의 상기 경계 정점의 대응 관계를 나타내는 페어 정보를 더 포함하는
(2) 내지 (8)중 어느 것에 기재된 정보 처리 장치.
(10) 상기 정점 접속 정보 생성부는, 상기 정점 및 상기 접속을 재구성할 때에 사용되는 파라미터를 또한 생성하는
(1) 내지 (9)중 어느 것에 기재된 정보 처리 장치.
(11) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 상기 메쉬의 상기 내부 정점의 적어도 일부가 삭제되었는지를 나타내는 플래그 정보를 생성하는
(10)에 기재된 정보 처리 장치.
(12) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성할 때의 상기 정점의 밀도에 관한 정보를 생성하는
(10) 또는 (11)에 기재된 정보 처리 장치.
(13) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 위치를 보정할지를 나타내는 플래그 정보를 생성하는
(10) 내지 (12)중 어느 것에 기재된 정보 처리 장치.
(14) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 보정 목표로 하는 지오메트리의 특징에 관한 정보를 생성하는
(10) 내지 (13)중 어느 것에 기재된 정보 처리 장치.
(15) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 보정의 목표의 탐색 범위에 관한 정보를 생성하는
(10) 내지 (14)중 어느 것에 기재된 정보 처리 장치.
(16) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 보정 후의 최소 간격에 관한 정보를 생성하는
(10) 내지 (15)중 어느 것에 기재된 정보 처리 장치.
(17) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점간의 접속의 방법에 관한 정보를 생성하는
(10) 내지 (16)중 어느 것에 기재된 정보 처리 장치.
(18) 상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점에 의해 구성되는 폴리곤의 머지의 방법에 관한 정보를 생성하는
(10) 내지 (17)중 어느 것에 기재된 정보 처리 장치.
(19) 상기 정점 접속 정보 생성부는, 상기 메쉬의 상기 내부 정점을 삭제할지를 판정하고, 삭제한다고 판정한 경우, 상기 메쉬의 상기 내부 정점의 적어도 일부를 삭제해서 상기 정점 접속 정보를 생성하는
(1) 내지 (18)중 어느 것에 기재된 정보 처리 장치.
(20) 상기 정점 접속 정보 생성부는, 상기 내부 정점의 수와, 상기 패치의 경계에 위치하는 상기 정점인 경계 정점의 수와의 비교 결과에 기초하여, 상기 메쉬의 상기 내부 정점을 삭제할지를 판정하는
(19)에 기재된 정보 처리 장치.
(21) 상기 정점 접속 정보 생성부는, 상기 메쉬의 상기 내부 정점의 적어도 일부를 삭제해서 상기 내부 정점을 재 구성함으로써 발생하는 변형의 크기에 기초하여, 상기 메쉬의 상기 내부 정점을 삭제할지를 판정하는
(19)에 기재된 정보 처리 장치.
(22) 상기 정점 접속 정보는, 상기 패치의 경계에 위치하는 상기 정점인 경계 정점의 리스트인 경계 정점 리스트를 포함하고,
상기 경계 정점 리스트는 상기 경계 정점의 식별 정보와, 상기 패치가 배치되는 2차원 평면인 지오메트리 화상에 있어서의 상기 경계 정점의 위치 정보를 포함하고,
상기 위치 정보는, 인접하는 다른 상기 경계 정점과의 좌표의 차분을 포함하는
(1) 내지 (21)중 어느 것에 기재된 정보 처리 장치.
(23) 상기 정점 접속 정보에 기초하여 생성되는 오큐펀시 화상을 수정하기 위한 Omap 수정 정보를 생성하는 Omap 수정 정보 생성부를 더 구비하고,
상기 부호화부는, 또한 상기 Omap 수정 정보를 부호화하는
(1) 내지 (22)중 어느 것에 기재된 정보 처리 장치.
(24) 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하고,
상기 정점 접속 정보를 부호화하는
정보 처리 방법.
(31) 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하는 복호부와,
상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는 정점 접속 재구성부
를 구비하는 정보 처리 장치.
(32) 상기 정점 접속 재구성부는, 상기 경계 정점을 선형 보간하고, 상기 패치에 포함되는 영역인 패치 영역을 판정하고, 폴리곤을 생성하고, 상기 패치 영역 외의 불필요한 상기 폴리곤을 머지하고, 상기 지오메트리에 기초하여 상기 패치 영역의 상기 폴리곤을 머지함으로써, 상기 패치에 위치하는 상기 정점 및 상기 접속을 재구성하는
(31)에 기재된 정보 처리 장치.
(33) 상기 정점 접속 재구성부는, 또한 선형 보간한 상기 경계 정점을 삭제하는
(32)에 기재된 정보 처리 장치.
(34) 상기 정점 접속 재구성부는, 상기 패치를 삼각 영역과 직사각형 영역으로 나누고, 상기 직사각형 영역에 상기 정점을 배치하고, 상기 직사각형 영역의 상기 정점간의 접속을 결정하고, 상기 삼각 영역의 상기 정점간의 접속을 결정함으로써, 상기 패치에 위치하는 상기 정점 및 상기 접속을 재구성하는
(31)에 기재된 정보 처리 장치.
(35) 상기 정점 접속 재구성부는, 재구성한 상기 정점 및 상기 접속을 포함하는, 상기 메쉬의 커넥티비티 및 UV 맵을 생성하는
(31) 내지 (34)의 어느 것에 기재된 정보 처리 장치.
(36) 상기 지오메트리 화상으로부터 상기 패치를 재구성하는 패치 재구성부를 더 구비하는
(31)에 기재된 정보 처리 장치.
(37) 상기 패치 재구성부에 의해 재구성된 상기 패치에 기초하여, 상기 메쉬의 정점 정보를 재구성하는 정점 정보 재구성부를 더 구비하는
(36)에 기재된 정보 처리 장치.
(38) 상기 정점 접속 재구성부는, 상기 정점 접속 정보에 의해 나타나는 폴리곤을 세분화하는
(31)에 기재된 정보 처리 장치.
(39) 상기 정점 접속 정보는, 상기 패치의 경계에 위치하는 상기 정점인 경계 정점의 리스트인 경계 정점 리스트를 포함하고,
상기 경계 정점 리스트는 상기 경계 정점의 식별 정보와, 상기 지오메트리 화상에 있어서의 상기 경계 정점의 위치 정보를 포함하고,
상기 위치 정보는, 인접하는 다른 상기 경계 정점과의 좌표의 차분을 포함하고,
상기 정점 접속 재구성부는, 인접하는 다른 상기 경계 정점의 좌표와 상기 차분을 가산함으로써, 상기 경계 정점의 좌표를 도출하는
(31)에 기재된 정보 처리 장치.
(40) 상기 정점 접속 정보에 기초하여 오큐펀시 화상을 생성하고, 상기 오큐펀시 화상을 사용하여, 상기 지오메트리 화상으로부터 상기 패치를 재구성하는 패치 재구성부를 더 구비하는
(31)에 기재된 정보 처리 장치.
(41) 상기 패치 재구성부는, 또한 상기 정점 접속 정보에 도시되는 상기 경계 정점간의 접속의 좌우 어느 쪽이 상기 패치의 내측 영역인지를 나타내는 정보에 기초하여 상기 오큐펀시 화상을 생성하는
(40)에 기재된 정보 처리 장치.
(42) 상기 패치 재구성부는, 또한 상기 정점 접속 정보에 도시되는 폴리곤의 표리를 나타내는 정보에 기초하여 상기 오큐펀시 화상을 생성하는
(40)에 기재된 정보 처리 장치.
(43) 상기 복호부는, 또한 상기 오큐펀시 화상을 수정하기 위한 Omap 수정 정보의 부호화 데이터를 복호하고,
상기 패치 재구성부는, 상기 Omap 수정 정보에 기초하여 상기 오큐펀시 화상을 수정하고,
상기 Omap 수정 정보는, 상기 정점 접속 정보에 기초하여 생성된 제1 오큐펀시 화상과, 상기 지오메트리 화상에 대응하는 제2 오큐펀시 화상의 차분을 나타내는
(40)에 기재된 정보 처리 장치.
(44) 상기 패치 재구성부는, 상기 정점 접속 정보의 상기 경계 정점과 상기 경계 정점간의 접속에 의해 나타나는 상기 패치의 경계 내측에, 상기 패치의 내측인 것을 나타내는 내부 영역을 배치하고, 상기 내부 영역의 각 정점을 근방의 상기 경계 정점으로 이동함으로써 상기 내부 영역을 변형시키고, 상기 정점 접속 정보에 기초하여 상기 내부 영역을 보정하는
(40)에 기재된 정보 처리 장치.
(45) 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하고,
상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는
정보 처리 방법.
300: 부호화 장치, 311: 메쉬 복셀화부, 312: 패치 생성부, 313: 정점 접속 갱신부, 314: 지오메트리 화상 생성부, 315: 오큐펀시 화상 생성부, 316: 텍스처 화상 생성부, 317: 메타 정보 부호화부, 318 내지 320: 2D 부호화부, 321: 다중화부, 322: 정점 접속 재구성부, 331: 화상 생성부, 332: 부호화부, 400: 복호 장치, 411: 역다중화부, 412: 메타 정보 복호부, 413 내지 415: 2D 복호부, 416: 정점 접속 재구성부, 417: 패치 재구성부, 418: 정점 정보 재구성부, 600: 부호화 장치, 611: Omap 수정 정보 생성부, 612: Omap 수정 정보 부호화부, 700: 복호 장치, 711: Omap 수정 정보 복호부, 900: 컴퓨터

Claims (20)

  1. 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하는 정점 접속 정보 생성부와,
    상기 정점 접속 정보를 부호화하는 부호화부
    를 구비하는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 정점 접속 정보는, 상기 패치의 경계에 위치하는 상기 정점인 경계 정점의 리스트인 경계 정점 리스트를 포함하는, 정보 처리 장치.
  3. 제2항에 있어서,
    상기 경계 정점 리스트는 리스트를 구성하는 상기 경계 정점 및 상기 경계 정점간의 접속에 의해 둘러싸인 영역이 상기 패치에 포함되는 인클루시브 리스트를 포함하는, 정보 처리 장치.
  4. 제3항에 있어서,
    상기 경계 정점 리스트는 리스트를 구성하는 상기 경계 정점 및 상기 경계 정점간의 상기 접속에 의해 둘러싸인 영역이 상기 패치에 포함되지 않는 익스클루시브 리스트를 더 포함하는, 정보 처리 장치.
  5. 제2항에 있어서,
    상기 경계 정점 리스트는 상기 경계 정점의 식별 정보와, 상기 패치가 배치되는 2차원 평면인 지오메트리 화상에 있어서의 상기 경계 정점의 위치 정보를 포함하는, 정보 처리 장치.
  6. 제2항에 있어서,
    상기 경계 정점 리스트는 상기 경계 정점의 배열순으로 상기 경계 정점간의 접속을 나타내는, 정보 처리 장치.
  7. 제2항에 있어서,
    상기 정점 접속 정보는, 상기 내부 정점의 리스트인 내부 정점 리스트를 더 포함하는, 정보 처리 장치.
  8. 제2항에 있어서,
    상기 정점 접속 정보는, 상기 패치간의 상기 경계 정점의 대응 관계를 나타내는 페어 정보를 더 포함하는, 정보 처리 장치.
  9. 제1항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 정점 및 상기 접속을 재구성할 때에 사용되는 파라미터를 또한 생성하는, 정보 처리 장치.
  10. 제9항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 파라미터로서, 상기 메쉬의 상기 내부 정점의 적어도 일부가 삭제되었는지를 나타내는 플래그 정보를 생성하는, 정보 처리 장치.
  11. 제9항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성할 때의 상기 정점의 밀도에 관한 정보를 생성하는, 정보 처리 장치.
  12. 제9항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 위치를 보정할지를 나타내는 플래그 정보를 생성하는, 정보 처리 장치.
  13. 제9항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 보정 목표로 하는 지오메트리의 특징에 관한 정보를 생성하는, 정보 처리 장치.
  14. 제9항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 파라미터로서, 재구성하는 상기 정점의 보정의 목표의 탐색 범위에 관한 정보를 생성하는,
    정보 처리 장치.
  15. 제1항에 있어서,
    상기 정점 접속 정보 생성부는, 상기 메쉬의 상기 내부 정점을 삭제할지를 판정하고, 삭제한다고 판정한 경우, 상기 메쉬의 상기 내부 정점의 적어도 일부를 삭제해서 상기 정점 접속 정보를 생성하는,
    정보 처리 장치.
  16. 지오메트리의 패치의 경계 이외에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 내부 정점의 적어도 일부를 삭제하고, 상기 메쉬의 상기 정점 및 상기 정점간의 접속을 나타내는 정점 접속 정보를 생성하고,
    상기 정점 접속 정보를 부호화하는,
    정보 처리 방법.
  17. 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하는 복호부와,
    상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는 정점 접속 재구성부
    를 구비하는, 정보 처리 장치.
  18. 제17항에 있어서,
    상기 정점 접속 재구성부는, 상기 경계 정점을 선형 보간하고, 상기 패치에 포함되는 영역인 패치 영역을 판정하고, 폴리곤을 생성하고, 상기 패치 영역 외의 불필요한 상기 폴리곤을 머지하고, 상기 지오메트리에 기초하여 상기 패치 영역의 상기 폴리곤을 머지함으로써, 상기 패치에 위치하는 상기 정점 및 상기 접속을 재구성하는, 정보 처리 장치.
  19. 제17항에 있어서,
    상기 정점 접속 재구성부는, 상기 패치를 삼각 영역과 직사각형 영역으로 나누고, 상기 직사각형 영역에 상기 정점을 배치하고, 상기 직사각형 영역의 상기 정점간의 접속을 결정하고, 상기 삼각 영역의 상기 정점간의 접속을 결정함으로써, 상기 패치에 위치하는 상기 정점 및 상기 접속을 재구성하는, 정보 처리 장치.
  20. 적어도 지오메트리의 패치의 경계에 위치하는, 3차원 구조의 오브젝트를 표현하는 메쉬의 정점인 경계 정점과 상기 경계 정점간의 접속을 나타내는 정점 접속 정보의 부호화 데이터를 복호하고,
    상기 부호화 데이터가 복호되어 얻어진 상기 정점 접속 정보와, 상기 패치가 2차원 평면에 배치된 지오메트리 화상을 사용하여, 상기 패치에 위치하는 상기 정점과 상기 정점간의 접속을 재구성하는, 정보 처리 방법.
KR1020237043399A 2021-07-08 2022-05-24 정보 처리 장치 및 방법 KR20240032738A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2021-113579 2021-07-08
JP2021113579 2021-07-08
PCT/JP2022/021181 WO2023281929A1 (ja) 2021-07-08 2022-05-24 情報処理装置および方法

Publications (1)

Publication Number Publication Date
KR20240032738A true KR20240032738A (ko) 2024-03-12

Family

ID=84800567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237043399A KR20240032738A (ko) 2021-07-08 2022-05-24 정보 처리 장치 및 방법

Country Status (9)

Country Link
US (1) US20240346701A1 (ko)
EP (1) EP4369714A1 (ko)
JP (1) JPWO2023281929A1 (ko)
KR (1) KR20240032738A (ko)
CN (1) CN117581545A (ko)
AU (1) AU2022309158A1 (ko)
CA (1) CA3220187A1 (ko)
MX (1) MX2024000143A (ko)
WO (1) WO2023281929A1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11348285B2 (en) * 2019-12-10 2022-05-31 Sony Group Corporation Mesh compression via point cloud representation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Danillo Graziosi, Alexandre Zaghetto, Ali Tabatabai, "[VPCC][EE2.6-related] Mesh Patch Data", ISO/IEC JTC 1/SC 29/WG 7 m 55368, October 2020

Also Published As

Publication number Publication date
CA3220187A1 (en) 2023-01-12
MX2024000143A (es) 2024-01-23
JPWO2023281929A1 (ko) 2023-01-12
EP4369714A1 (en) 2024-05-15
US20240346701A1 (en) 2024-10-17
WO2023281929A1 (ja) 2023-01-12
AU2022309158A1 (en) 2023-11-30
CN117581545A (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
JP7384159B2 (ja) 画像処理装置および方法
KR102596507B1 (ko) 화상 처리 장치 및 방법
WO2019198523A1 (ja) 画像処理装置および方法
WO2019142667A1 (ja) 画像処理装置および方法
US20210233278A1 (en) Image processing apparatus and method
US20240265638A1 (en) Information processing apparatus and method thereof
US11399189B2 (en) Image processing apparatus and method
CN112771582A (zh) 图像处理设备和方法
CN112425175A (zh) 图像处理装置和方法
KR20210109538A (ko) 화상 처리 장치 및 방법
KR20230125186A (ko) 정보 처리 장치 및 방법
EP4440114A1 (en) Information processing device and method
KR20240032738A (ko) 정보 처리 장치 및 방법
WO2023127513A1 (ja) 情報処理装置および方法
WO2022201787A1 (ja) 画像処理装置および方法
WO2022230941A1 (ja) 情報処理装置および方法