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

정보 처리 장치 및 정보 처리 방법 Download PDF

Info

Publication number
KR20210108951A
KR20210108951A KR1020217016854A KR20217016854A KR20210108951A KR 20210108951 A KR20210108951 A KR 20210108951A KR 1020217016854 A KR1020217016854 A KR 1020217016854A KR 20217016854 A KR20217016854 A KR 20217016854A KR 20210108951 A KR20210108951 A KR 20210108951A
Authority
KR
South Korea
Prior art keywords
point cloud
information
partial
cloud data
file
Prior art date
Application number
KR1020217016854A
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 KR20210108951A publication Critical patent/KR20210108951A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • H03M7/3075Space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3064Segmenting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Generation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시는, 보다 고품위의 G-PCC 스트림 배신을 행할 수 있도록 하는 정보 처리 장치 및 정보 처리 방법에 관한 것이다. Point Cloud 데이터를 G-PCC로 부호화하여 얻어지는 G-PCC 스트림을 생성할 때에, Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 생성한다. 본 기술은, 예를 들어 G-PCC 스트림을 생성하는 생성 장치에 적용할 수 있다.

Description

정보 처리 장치 및 정보 처리 방법
본 개시는, 정보 처리 장치 및 정보 처리 방법에 관한 것으로, 특히 보다 고품위의 G-PCC 스트림 배신을 행할 수 있도록 한 정보 처리 장치 및 정보 처리 방법에 관한 것이다.
종래, MPEG-I Part 9 Geometry-based Point Cloud Compression(ISO/IEC 23090-9)에서는, 3차원 공간 상에 위치 정보와 속성 정보(예를 들어, 색 정보나 반사 정보 등)를 동시에 가진 점의 집합인 Point Cloud의 압축 방법이 규정된다.
예를 들어, 비특허문헌 1에 개시되어 있는 바와 같이, Geometry-based Point Cloud Compression(G-PCC)에서는, Point Cloud를, 3차원 구조를 나타내는 geometry와, 색이나 반사 정보 등을 나타내는 attribute로 분리하여, 부호화한다.
또한, geometry의 압축에는, 도 1에 도시한 바와 같은 octree 부호화가 사용된다. 예를 들어, octree 부호화는, Voxel 표현된 데이터에 있어서, 각 블록 내의 포인트 유무를, 팔진트리에 의해 표현하는 방법이다. 이 방법에서는, 도 1에 도시한 바와 같이, 포인트가 존재하는 블록은 1, 존재하지 않는 블록은 0으로 표현된다.
또한, attribute의 압축에는, Predicting Weight Lifting, Region Adaptive Hierarchical Transform(RAHT) 또는 Fix Weight Lifting이 사용된다.
w17770, Third Working Draft for G-PCC(Geometry-based PCC), July 2018, Ljubljana, Slovenia w18001, Description of Core Experiment 13.2 for G-PCC: Tile and Slice based Coding of Point Cloud, October 2018, Macau, China
그런데, 종래의 배신 기술에서는, Point Cloud 오브젝트의 3차원 구조 정보를, 도 1에 도시한 바와 같은 octree 부호화로 균일하게 압축한 G-PCC 스트림을 배신한다. 이와 같이, octree 부호화로 균일하게 압축하는 경우, 배신되는 G-PCC 스트림은, 주위 360°로부터 시청할 수 있는 3차원 정보를 갖고, 또한 전체 주위의 정세함이 동일해진다. 이때, 배신 시의 네트워크 대역폭의 제한으로부터, 하기의 2개의 점이 염려된다.
첫번째, Point Cloud를 구성하는 포인트가 조밀하게 되는 고정세한 G-PCC 스트림을 배신하고자 하면, 어느 특정 시간에 있어서 유저를 시청할 수 있는 Point Cloud의 일부분인지 여부에 관계없이, Point Cloud 오브젝트 전체의 압축률을 일률적으로 낮추게(즉, 고정세화함) 된다. 이 때문에, 불필요하게 비트 레이트가 증가하여 재생이 중단되는 것이 염려된다.
두번째, 재생 중단을 억제하기 위해 비트 레이트를 삭감하는 경우, G-PCC 스트림 전체의 압축률을 일률적으로 높이게(즉, 저정세화함) 된다. 이 때문에, 어느 특정 시간에 있어서 유저가 시청하고 있는 Point Cloud 오브젝트의 일부분까지, Point Cloud를 구성하는 포인트가 성기게 되어 저정세로 되는 것이 염려된다.
이와 같이, 종래, 네트워크 대역폭이 효율적으로 되도록 활용되어 있지 않고, 고정세하게 시청되고, 또한 중단되지 않고 재생되는 고품위의 G-PCC 스트림 배신이 실현되어 있지 않았다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것이며, 보다 고품위의 G-PCC 스트림 배신을 행할 수 있도록 하는 것이다.
본 개시의 제1 측면의 정보 처리 장치는, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 파일 생성부를 구비한다.
본 개시의 제1 측면의 정보 처리 방법은, 정보 처리 장치가, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 것을 포함한다.
본 개시의 제1 측면에 있어서는, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일이 생성된다.
본 개시의 제2 측면의 정보 처리 장치는, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보를 생성하는 부호화부를 구비하고, 상기 부호화부는, 상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보를 생성한다.
본 개시의 제2 측면의 정보 처리 방법은, 정보 처리 장치가, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보를 생성하는 것을 포함하고, 상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보가 생성된다.
본 개시의 제2 측면에 있어서는, Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보가 생성된다. 또한, 그 부분 정세도 정보에 기초하여, Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보가 생성된다.
도 1은 octree 부호화에 대해서 설명하는 도면이다.
도 2는 Point Cloud 오브젝트의 부분마다 정세도를 바꿔서 부호화하는 일례를 나타내는 도면이다.
도 3은 방향 정보에 의해 도시되는 방향의 일례를 나타내는 도면이다.
도 4는 방향 정보의 시그널링의 일례를 나타내는 도면이다.
도 5는 정세도 정보의 시그널링의 일례를 나타내는 도면이다.
도 6은 DirectionInformationBox의 시그널 장소의 일례를 나타내는 도면이다.
도 7은 DirectionInformationBox의 신택스의 일례를 나타내는 도면이다.
도 8은 4개로 분할된 Point Cloud 오브젝트의 일례를 나타내는 도면이다.
도 9는 X축 방향에서 절반으로 분할된 object box의 일례를 나타내는 도면이다.
도 10은 gpcc:blockInfo의 속성의 정의를 도시하는 도면이다.
도 11은 부분 G-PCC 스트림의 공간 위치 정보 및 그루핑 정보의 시그널링의 일례를 나타내는 도면이다.
도 12는 공간 위치 정보의 이미지도이다.
도 13은 부분 G-PCC 스트림의 정세도 정보의 시그널링의 일례를 나타내는 도면이다.
도 14는 데이터 생성 장치의 구성예를 나타내는 블록도이다.
도 15는 데이터 재생 장치의 구성예를 나타내는 블록도이다.
도 16은 부분 G-PCC 스트림이 저장된 파일을 생성하는 생성 처리를 설명하는 흐름도이다.
도 17은 부분 G-PCC 스트림이 저장된 파일을 재생하는 재생 처리를 설명하는 흐름도이다.
도 18은 부분 G-PCC 스트림의 방향 대응 정보의 필요성에 대해서 설명하는 도면이다.
도 19는 부분 G-PCC 스트림의 방향 대응 정보의 시그널링의 일례를 나타내는 도면이다.
도 20은 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보의 필요성에 대해서 설명하는 도면이다.
도 21은 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보의 시그널링의 일례를 나타내는 도면이다.
도 22는 timed metadata의 sample entry의 신택스의 일례를 나타내는 도면이다.
도 23은 timed metadata의 sample의 신택스의 일례를 나타내는 도면이다.
도 24는 각 시간에 있어서의 공간 위치 정보의 시그널링의 일례를 나타내는 도면이다.
도 25는 BlockGroupBox의 시그널예를 나타내는 도면이다.
도 26은 BlockGroupBox에 부분 G-PCC 스트림의 공간 위치 정보를 시그널하는 신택스의 일례를 나타내는 도면이다.
도 27은 계층화에 의한 부분 G-PCC 스트림의 생성에 대해서 설명하는 도면이다.
도 28은 조합할 수 있는 각 G-PCC 스트림의 공간 위치 정보의 시그널링의 일례를 나타내는 도면이다.
도 29는 공간 위치 정보의 이미지도이다.
도 30은 track reference의 운용예를 나타내는 도면이다.
도 31은 CombinedAreaLodInfoBox('cloi')의 신택스의 일례를 나타내는 도면이다.
도 32는 BrickGroupEntry의 신택스의 일례를 나타내는 도면이다.
도 33은 UnitMapEntry의 신택스의 일례를 나타내는 도면이다.
도 34는 BrickGroupEntry 및 UnitMapEntry의 운용예를 나타내는 도면이다.
도 35는 동적인 brick 구성의 변경에 대해서 설명하는 도면이다.
도 36은 brick base track 및 brick track의 구성에 대해서 설명하는 도면이다.
도 37은 brick의 공간 위치 정보의 시그널링의 일례를 나타내는 도면이다.
도 38은 렌더링 처리 방법의 시그널링의 일례를 나타내는 도면이다.
도 39는 RenderingInformationBox의 시그널예를 나타내는 도면이다.
도 40은 RenderingInformationBox의 신택스의 일례를 나타내는 도면이다.
도 41은 고정세화되는 부분의 처리 타입의 신택스 일례를 나타내는 도면이다.
도 42는 combined_track_exists 필드, comnbined_track_id 필드 및 combined_area_type 필드를 추가한 신택스의 일례를 나타내는 도면이다.
도 43은 priority_flag 필드를 추가한 신택스의 일례를 나타내는 도면이다.
도 44는 Sample Group 개요를 도시하는 도면이다.
도 45는 본 기술을 적용한 컴퓨터의 일 실시 형태의 구성예를 나타내는 블록도이다.
이하, 본 기술을 적용한 구체적인 실시 형태에 대해서, 도면을 참조하면서 상세하게 설명한다.
<본 개시에 있어서의 3개의 포인트>
먼저, 본 실시 형태에 있어서 개시되는 기술에 있어서 특징이 되는 제1 내지 제3 포인트의 개요에 대해서 설명한다. 예를 들어, Point Cloud 오브젝트를 HMD(Head Mounted Display)나 Flat Panel Display로 시청하는 경우, 시청 방향에 대하여 반대측의 표면 형상 및 색은 보이지 않는다는 점을 이용한 시청 방향 적응 배신 기술이 사용된다.
제1 포인트에서는, 1개의 Point Cloud 오브젝트의 부분마다 정세도를 바꿔서 부호화한 G-PCC 스트림을 배신하는 점이 특징이 된다. 예를 들어, G-PCC 스트림에 있어서, 고정세로 되어 있는 방향을 나타내는 방향 정보와, 그 방향에 있어서의 정세도를 나타내는 정세도 정보를 부가한다. 이에 의해, 클라이언트는 시청 부분에 대해서는 고정세가 되고, 또한 시청 부분 이외에 대해서는 저정세가 되도록 G-PCC 스트림을 취득할 수 있다. 따라서, 제1 포인트에 의해, 네트워크 대역폭을 유효 활용한 시청 부분의 고정세화를 실현하는 것이 가능해진다.
제2 포인트에서는, 1개의 Point Cloud 오브젝트를 복수의 부분 오브젝트로 분할하고, 개개의 부분 오브젝트마다 정세도를 바꿔서 부호화한 부분 G-PCC 스트림을 배신하는 점이 특징이 된다. 또한, 제2 포인트에서는, 공간 분할에 의해 생성한 부분 G-PCC 스트림을 배신하는 제1 방법과, 계층화에 의해 생성한 부분 G-PCC 스트림을 배신하는 제2 방법이 제안된다.
예를 들어, 제2 포인트의 제1 방법에 있어서는, 각 부분 G-PCC 스트림에 공간 위치 정보 및 정세도 정보를 부가한다. 이에 의해, 클라이언트는 시청 부분에 대해서는 고정세한 부분 G-PCC 스트림을 취득하고, 또한 시청 부분 이외에 대해서는 저정세한 부분 G-PCC 스트림을 취득할 수 있다. 따라서, 제2 포인트의 제1 방법에 의해, 네트워크 대역폭을 유효 활용한 시청 부분의 고정세화를 실현하는 것이 가능해진다.
또한, 제2 포인트의 제2 방법에 있어서는, 각 부분 G-PCC 스트림에 대하여 제2 포인트의 제1 방법에서 부가한 정보에, 고정세화하기 위해 조합해야 할 부분 G-PCC 스트림을 식별하기 위한 정보를 부가한다. 이에 의해, 클라이언트는 시청 부분을 고정세화하기 위해 필요한 조합으로 부분 G-PCC 스트림을 취득할 수 있다. 따라서, 제2 포인트의 제2 방법에 의해서도, 네트워크 대역폭을 유효 활용한 시청 부분의 고정세화를 실현하는 것이 가능해진다.
제3 포인트에서는, Point Cloud 오브젝트의 저정세한 부분의 렌더링 처리를 지정한다. 예를 들어, G-PCC 스트림에 대해, 저정세한 부분의 주관 품질 향상을 위해 필요한 렌더링 처리의 정보를 부가한다. 이에 의해, 클라이언트는 지정된 렌더링 처리를 식별하고, 그 처리를 실행 가능한 경우, 그 G-PCC 스트림을 취득할 수 있다. 따라서, 제3 포인트에 의해, 주관 품질을 유지하면서, 또한 G-PCC 스트림 배신에 필요한 네트워크 대역폭을 삭감하는 것이 가능해진다.
또한, 상술한 제1 내지 제3 포인트에 있어서 부가되는 정보는, DASH MPD(Dynamic Adaptive Streaming over HTTP Media Presentation Description) 또는 ISOBMFF(ISO Base Media File Format)를 확장함으로써 시그널된다.
<제1 포인트>
도 2 내지 도 7을 참조하여, 부분마다 정세도를 바꿔서 부호화한 G-PCC 스트림을 배신하는 제1 포인트에 대해서 설명한다.
도 2에 도시한 바와 같이, G-PCC 스트림을 생성할 때, Point Cloud 오브젝트의 부분마다 Voxel을 구획하는 미세함(octree depth)을 변경함으로써, 부분마다 정세도를 바꿔서 부호화하는 것이 가능해진다.
도 2에 도시한 예에서는, Point Cloud 오브젝트가 8개의 부분으로 나뉘어져 있다. 그리고, 그레이의 해칭이 실시되어 있는 2개의 부분이 고정세(depth=10)하게 부호화되고, 나머지 6개의 부분이 저정세(depth=5)하게 부호화되어 있다.
이에 의해, 클라이언트는 시청 부분에 대해서는 고정세가 되도록 부호화된 G-PCC 스트림을 취득하고, 또한 그 이외에 대해서는 저정세가 되는 부호화된 G-PCC 스트림을 취득할 수 있다. 이에 의해, 네트워크 대역폭을 유효 활용한 시청 부분의 고정세화가 가능해진다. 이때, 부분마다 정세도는 G-PCC 스트림을 디코드하지 않으면 식별할 수 없으므로, 클라이언트가 서버 상의 G-PCC 스트림을 선택 및 취득할 때, 시청 부분이 고정세로 되어 있는 G-PCC 스트림을 식별할 수 있도록 할 필요가 있다.
예를 들어, 이와 같은 식별은 360° 전천구 영상의 영역마다의 고화질화 스트림을 시청 방향에 따라서 선택할 때에도 필요해진다. 즉, 360° 전천구 영상의 영역마다의 고화질화 스트림의 경우는, 시점 위치가 고정이므로, 유저의 시청 부분은 시청 방향으로 의존할 뿐이었다. 그 때문에, 360° 전천구 영상의 영역마다의 고화질화 스트림에 대해, 고화질화 영역의 시청 방향 대응 정보를 부가하는 것이 일반적으로 행해지고 있다.
이에 반해, 본 기술에 있어서의 G-PCC 스트림의 경우, 다양한 시점 위치에서 다른 시청 방향으로 Point Cloud 오브젝트의 동일 부분을 시청할 수 있다. 이 때문에, 360° 전천구 영상으로 사용되는 시청 방향 대응 정보를 참조해도, 클라이언트는 시청 부분이 고정세화되어 있는 G-PCC 스트림을 적절하게 취득할 수 없다.
그래서, 제1 포인트에서는, G-PCC 스트림에 있어서, 고정세로 되어 있는 방향을 시그널하는 것을 제안한다. 이에 의해, 클라이언트는 시청 방향 및 시점 위치에 따라서, 시청 부분이 고정세화되어 있는 G-PCC 스트림을 선택해서 취득하는 것이 가능해진다.
또한, 제1 포인트에서는, G-PCC 스트림의 고정세로 되어 있는 방향에 대해서, 그 방향의 정세도 정보를 시그널하는 것을 제안한다. 이에 의해, G-PCC 스트림의 시청 부분이 변화된 경우, 새로운 시청 부분의 정세도가, 그 변화되기 전의 시청 부분의 정세도와 동등하게 되는 G-PCC 스트림으로 전환하는 것이 가능해진다. 예를 들어, 시청 부분의 변화에 수반하여 정세도가 크게 변화되는 경우에는, 유저의 시청 체험이 악화되어 버리는 것이 상정되지만, 시청 부분의 변화에 의해서도 정세도의 변화를 억제함으로써, 이와 같은 시청 체험의 악화를 회피할 수 있다.
도 3 내지 도 5를 참조하여, DASH MPD의 확장에 대해서 설명한다.
예를 들어, G-PCC 스트림에 있어서 고정세로 되어 있는 방향의 정보로서, high lod direction descriptor (schemeIdUri="urn:mpeg:mepgI:gpcc:high_lod_direction:2018"의 SupplementalProperty)를 신규 정의하여 Adaptation Set로 시그널한다. 즉, gpcc:directionInfo 요소의 direction 속성에, 고정세로 되어 있는 방향을 나타내는 방향 정보를 시그널한다.
또한, 도 3에 도시한 바와 같이, direction 속성이 취할 수 있는 값은, Point Cloud의 로컬 좌표계를 기준으로 하여, 0: X+, 1: Y+, 2: X-, 3: Y-, 4: Z+, 5: Z-의 6 방향으로 시그널할 수 있다. 그 밖의, 45° 간격 등, 보다 미세한 입도로 방향을 시그널해도 된다.
또한, 1개의 G-PCC 스트림 내에서 복수 방향이 고정세화되어 있어도 된다. 이 경우, 복수의 gpcc:directionInfo 요소를 사용해서 시그널된다. 또한, "gpcc:"는 name space prefix이며, 예를 들어 "urn:mpeg:mpegI:gpcc:2018"의 name space를 이용하는 것으로 한다.
도 4에는, 방향 정보의 시그널링의 일례가 나타내어져 있고, 도 4에 있어서 굵은 글씨로 기재되어 있는 개소에 방향 정보가 시그널되어 있다.
예를 들어, 유저가 Point Cloud의 로컬 좌표계의 X+방향의 부분을 시청하고 있는 경우, 클라이언트는 high lod direction descriptor를 참조하여 AdaptationSet@id=1을 선택하여, 고정세화되어 있는 부분을 취득할 수 있다. 이에 의해, 유저의 시청 부분을 고정세화하는 Point Cloud의 표시가 가능해진다.
또한, high lod direction descriptor에 대해, 고정세화되어 있는 방향의 정세도를 나타내는 정세도 정보를 추가하고, Representation으로 시그널한다. 예를 들어, gpcc:directionInfo 요소의 lod_ranking 속성에, 정세도 랭킹 정보를 시그널한다. 정세도 랭킹은 값이 작을수록 정세도가 높은 것을 나타낸다.
도 5에는, 정세도 정보를 시그널하는 일례가 나타내어져 있고, 도 5에 있어서 굵은 글씨로 기재되어 있는 개소에 정세도 정보가 시그널되어 있다.
예를 들어, 유저가 Point Cloud의 로컬 좌표계의 X+방향의 부분을 시청하고 있어서, 클라이언트가, Representation@id="1-1"을 재생 중인 경우에 있어서, 유저가 Y+방향의 부분을 시청하도록 시점 위치 및 시청 방향이 변화되었다고 한다. 이때, 클라이언트는 AdaptationSet@id="2"의 Representation@id="2-1"을 선택하여, 시점 위치 및 시청 방향이 변화되기 전과 동일한 정세도의 부분을 취득할 수 있다. 이에 의해, 시청 부분의 변화에 수반하여 정세도가 크게 변화되어 버리는 것을 억제하고, 유저의 시청 체험이 악화되어 버리는 것을 회피할 수 있다.
또한, 고정세화되어 있는 방향의 정세도 정보로서, 정세도 랭킹 정보가 아니라, 고정세가 되어 있는 방향의 octree depth의 값을 시그널해도 된다.
도 6 및 도 7을 참조하여, ISOBMFF의 확장에 대해서 설명한다.
예를 들어, 고정세가 되어 있는 방향을 나타내는 방향 정보 및 고정세화되어 있는 방향에 있어서의 정세도를 나타내는 정세도 정보는, DirectionInformationBox('diri')를 신규 정의하여 시그널한다.
그리고, 도 6에 도시한 바와 같이, ISOBMFF track의 sample entry에, 그 track에 저장되는 G-PCC 스트림의 방향 정보 및 정세도 정보('diri')를 시그널한다. 따라서, 클라이언트는 방향 정보 및 정세도 정보에 기초하여, ISOBMFF에 포함되는 복수의 track 중, 시청 부분을 고정세화하는 track을 선택하고, 시청 부분을 고정세로 재생할 수 있다.
도 7에는, directionInformationBox의 신택스의 일례가 나타내어져 있다.
도 7의 신택스에 있어서, high_lod_direction 필드와, lod_ranking 필드의 시맨틱스는, high lod direction descriptor의 gpcc:directionInfo 요소의 동명 속성과 마찬가지이다.
또한, 고정세화되어 있는 방향의 정세도 정보로서, 정세도 랭킹 정보가 아니라, 고정세가 되어 있는 방향의 octree depth의 값을 시그널해도 된다. 또한, 정세도 정보('diri')는 ISOBMFF track의 sample entry 이외에 시그널되어도 된다.
<제2 포인트>
도 8 내지 도 37을 참조하여, 부분 오브젝트 각각의 정세도를 바꿔서 부호화한 부분 G-PCC 스트림을 배신하는 제2 포인트에 대해서 설명한다.
예를 들어, 1개의 Point Cloud 오브젝트를 복수의 부분 Point Cloud 오브젝트로 나누고, 각각을 부호화하여 부분 G-PCC 스트림을 생성한다. 그리고, 부호화 시, octree depth를 변경하고, 부분 G-PCC 스트림마다 정세도의 베리에이션을 갖도록 한다. 이에 의해, 클라이언트는 시청 부분이 고정세, 그 이외는 저정세가 되도록 부분 G-PCC 스트림을 취득함으로써, 대역폭을 유효 활용한 시청 부분의 고정세화를 할 수 있다.
이때, 부분 G-PCC 스트림이 Point Cloud 오브젝트 전체의 어느 부분에 상당하는 것인지를 식별하고, 또한 부분 G-PCC 스트림의 정세도 정보는 디코드하지 않아도 식별할 수 있도록 할 필요가 있다. 즉, 클라이언트가 서버 상의 G-PCC 스트림을 선택 및 취득할 때, 시청 부분을 고정세화하기 위한 부분 G-PCC 스트림을 적절하게 선택할 수 있도록 할 필요가 있다.
도 8 내지 도 26을 참조하여, 공간 분할에 의해 생성한 부분 G-PCC 스트림을 배신하는 제2 포인트의 제1 방법에 대해서 설명한다.
도 8에 도시한 바와 같이, 1개의 Point Cloud 오브젝트를 공간 분할함으로써, 부분 Point Cloud를 생성하고, 각각을 부호화하여 부분 G-PCC 스트림을 생성ㆍ배신할 수 있다. 도 8에는 Point Cloud 오브젝트를 4개로 공간 분할하는 경우의 예가 나타내어져 있다.
이때, 부분 G-PCC 스트림의 공간 위치 정보, 1개의 전체 Point Cloud 오브젝트를 구성하는 부분 G-PCC 스트림의 그루핑 정보를 시그널한다. 또한, 부분 G-PCC 스트림의 정세도 정보를 시그널한다.
이에 의해, 클라이언트는 그루핑 정보 및 부분 G-PCC 스트림의 정세도 정보를 참조함으로써, 시청 부분을 고정세로 하기 위한 부분 G-PCC 스트림을 취득할 수 있다.
여기서, 공간 분할의 방법 및 공간 위치 정보에 대해서 설명한다.
예를 들어, Point Cloud 오브젝트의 형상은, 최대 frame by frame으로 바뀐다. 그래서, Point Cloud 오브젝트의 형상 변화에 의존하지 않는, 일정한 분할 룰을 적용함으로써 공간 분할을 행한다. 구체적으로는, Point Cloud 오브젝트 전체를 포함하는 box(이하 적절히, object box라고 칭함)에 대하여, 상대적으로 동일한 공간 위치를 차지하는 직육면체 블록(이하 적절히, block이라고 칭함)에 포함되는 부분 Point Cloud 오브젝트를, 1개의 부분 G-PCC 스트림으로서 부호화한다.
도 9에는, object box를 X축 방향에서 절반으로 분할하는 예가 나타내어져 있다.
도 9에 도시한 바와 같이, 시각 t0의 Point Cloud 오브젝트 전체를 포함하는 object box가, 부분 Point Cloud 오브젝트 t0-a 및 t0-b로 X축 방향에서 절반으로 분할된다. 마찬가지로, 시각 t1에서는, 부분 Point Cloud 오브젝트 t1-a 및 t1-b로 분할되고, 시각 t2에서는, 부분 Point Cloud 오브젝트 t2-a 및 t2-b로 분할된다. 그리고, a의 G-PCC 스트림은, 부분 Point Cloud 오브젝트 t0-a, 부분 Point Cloud 오브젝트 t1-a 및 부분 Point Cloud 오브젝트 t2-a에 의해 구성된다. 한편, b의 G-PCC 스트림은, 부분 Point Cloud 오브젝트 t0-b, 부분 Point Cloud 오브젝트 t1-b 및 부분 Point Cloud 오브젝트 t2-b에 의해 구성된다.
또한, 이 방법에 의하면, 부분 G-PCC 스트림에 포함되는 부분 Point Cloud 오브젝트의 전체 Point Cloud 오브젝트에 대한 상대적 공간 위치가 동적으로 불변이 된다. 상대적 공간 위치가 동적으로 바뀌는 경우, 시청 부분과 그것을 포함하는 부분 G-PCC 스트림의 관계성이 동적으로 변화된다. 그 때문에, 클라이언트가 시청 부분을 고정세화하는 G-PCC 스트림을 취득하는 경우, 시청 부분이 불변이었다고 해도, 취득하는 고정세한 G-PCC 스트림을 전환할 필요가 생겨 버린다. 그래서, 이 공간 분할의 방법에 의해, 시청 부분이 불변일 때에는, 취득하는 고정세한 G-PCC 스트림을 전환할 필요를 없앨 수 있다.
도 10 내지 도 13을 참조하여, DASH MPD의 확장에 대해서 설명한다.
예를 들어, 부분 G-PCC 스트림의 공간 위치 정보 및 그루핑 정보를, block information descriptor(schemeIdUri="urn:mpeg:mepgI:gpcc: block_information:2018"의 SupplementalProperty)를 신규 정의하여, Adaptation Set로 시그널한다.
도 10에 도시한 바와 같이, 공간 위치 정보는 gpcc:blockInfo 요소의 block_offset_x, block_offset_y, block_offset_z, block_size_x, block_size_y, block_size_z의 각 속성으로 나타낸다. 이들의 각 속성은, 모두 object box의 x, y, z축의 각 변을 1로 했을 때의 상대값으로 시그널한다. 또한, block의 위치 및 형상과, 부분 Point Cloud 오브젝트를 G-PCC 부호화할 때의 bounding box의 위치 및 형상은 동일한 것으로 한다. 또한, block의 위치 및 형상의 어느 것과, 부분 Point Cloud 오브젝트를 G-PCC 부호화할 때의 bounding box의 위치 및 형상의 어느 것이 다른 경우에는, bounding box 내에 있어서의 block의 위치 및 형상을 나타내는 정보를 별도 시그널하면 된다.
또한, 그루핑 정보는, gpcc:blockInfo 요소의 object_id 속성으로 나타낸다. 동일한 Point Cloud 오브젝트를 구성하는 부분 G-PCC 스트림에 대하여, 동일값의 object_id 속성을 시그널한다.
도 11에는, 부분 G-PCC 스트림의 공간 위치 정보 및 그루핑 정보의 시그널링의 일례가 나타내어져 있고, 도 11에 있어서 굵은 글씨로 기재되어 있는 개소에 부분 G-PCC 스트림의 공간 위치 정보 및 그루핑 정보가 시그널되어 있다.
도 12는, 각 Adaptation Set의 block information descriptor로 시그널링되는 공간 위치 정보의 이미지도이다.
또한, gpcc:blockInfo 요소에 정세도 정보를 시그널하는 속성을 추가한 후에, block information descriptor로 복수의 gpcc:blockInfo 요소를 시그널하면, 1 G-PCC 스트림의 공간 위치마다의 정세도 정보 시그널링이 가능해진다. 예를 들어, 상술한 제1 포인트에 있어서, 이 확장한 block information descriptor를 참조하여, 시청 부분이 고정세화되어 있는 G-PCC 스트림의 선택 처리를 행해도 된다.
또한, 공간 위치 정보 시그널링의 변형예로서, object box의 x, y, z축의 각 변의 사이즈를 시그널하고, block_offset_x, block_offset_y, block_offset_z, block_size_x, block_size_y, block_size_를, 그 사이즈에 대한 상대값으로 시그널해도 된다.
또한, 부분 G-PCC 스트림의 정세도 정보를, lod information descriptor (schemeIdUri="urn:mpeg:mepgI:gpcc:lod_information:2018"의 SupplementalProperty)를 신규 정의하여, Representation로 시그널한다. 예를 들어, gpcc:lodInfo 요소의 lod_ranking 속성에, 정세도 랭킹 정보를 시그널한다. 정세도 랭킹은, 값이 작을수록 정세도가 높은 것을 나타낸다.
도 13에는, 부분 G-PCC 스트림의 정세도 정보의 시그널링의 일례가 나타내어져 있고, 도 13에 있어서 굵은 글씨로 기재되어 있는 개소에 부분 G-PCC 스트림의 정세도 정보가 시그널되어 있다.
여기서, 각 Adaptation Set의 block information descriptor의 시그널링은, 상술한 도 11에서 도시한 것과 마찬가지이다.
또한, 정세도 정보로서, 정세도 랭킹 정보가 아니라, octree depth의 값을 시그널해도 된다.
또한, 도 13에 도시한 예에 있어서, 클라이언트가 X+방향으로부터 시청하고 있는 경우, 도 12에 있어서의 block b의 부분 G-PCC 스트림을 참조하는 Adaptation Set@id="2"는 고정세(lod_ranking의 값이 작은 것)의 Representation을 선택한다. 또한, 이 경우, block a의 부분 G-PCC 스트림을 참조하는 AdaptationSet@id="1"은 저정세(lod_ranking의 값이 큰 것)의 Representation을 선택한다. 그리고, 그들의 선택에 따라서, 부분 G-PCC 스트림을 취득함으로써, 네트워크 대역폭을 유효 활용한 시청 부분의 고정세화를 할 수 있다. 예를 들어, Representation@id="1-2"와 Representation@id="2-1"의 2개의 Representation이 참조하는 부분 G-PCC 스트림을 취득한다.
<시스템 구성>
도 14 및 도 15를 참조하여, 본 기술을 적용한 데이터 생성 장치 및 데이터 재생 장치의 시스템 구성에 대해서 설명한다.
도 14에는, 데이터 생성 장치의 구성예를 나타내는 블록도가 도시되어 있다.
도 14에 도시한 바와 같이, 데이터 생성 장치(11)는 제어부(21), 메모리(22), 파일 생성부(23)를 구비하여 구성된다. 예를 들어, 메모리(22)에는 제어부(21)가 파일 생성부(23)를 제어하는 데 필요한 각종의 데이터가 기억되어 있고, 제어부(21)는 그 데이터를 참조하여, 파일 생성부(23)에 있어서의 파일의 생성을 제어한다.
파일 생성부(23)는 데이터 입력부(31), 데이터 부호화ㆍ생성부(32), MPD(Media Presentation Description) 파일 생성부(33), 기록부(34) 및 출력부(35)를 구비하여 구성된다. 예를 들어, 데이터 입력부(31)에 입력된 데이터는 데이터 부호화ㆍ생성부(32) 및 MPD 파일 생성부(33)에 공급된다. 그리고, 데이터 부호화ㆍ생성부(32)에서 생성된 파일 및 MPD 파일 생성부(33)에서 생성된 MPD가, 기록부(34)를 개재하여 출력부(35)로부터 출력되고, 예를 들어 기록 미디어 등에 기록된다.
데이터 부호화ㆍ생성부(32)는 전처리부(36), 부호화부(37) 및 파일 생성부(38)를 갖고 있다.
전처리부(36)는 데이터 입력부(31)로부터 입력되는 Point Cloud 오브젝트를 분할하고, 각 부분 Point Cloud 오브젝트를 생성하는 것과 동시에, 공간 위치 정보 및 그루핑 정보를 생성하는 처리를 실행한다.
부호화부(37)는 각 부분 Point Cloud 오브젝트를 G-PCC 부호화하고, 부분 G-PCC 스트림을 생성하는 것과 동시에, 정세도 정보를 생성한다.
파일 생성부(38)는 각 부분 G-PCC 스트림을 개별의 파일에 저장하여, 기록부(34)에 공급한다.
도 15에는 데이터 재생 장치의 구성예를 나타내는 블록도가 도시되어 있다.
도 15에 도시한 바와 같이, 데이터 재생 장치(12)는 제어부(41), 메모리(42) 및 재생 처리부(43)를 구비하여 구성된다. 예를 들어, 메모리(42)에는 제어부(41)가 재생 처리부(43)를 제어하는 데 필요한 각종 데이터가 기억되어 있고, 제어부(41)는 그 데이터를 참조하여, 재생 처리부(43)에 있어서의 Point Cloud의 재생을 제어한다.
재생 처리부(43)는 취득부(51), 표시 제어부(52), 데이터 해석ㆍ복호부(53) 및 표시부(54)를 구비하여 구성된다. 예를 들어, 취득부(51)에 의해 취득된, 즉, 기록 미디어 등으로부터 판독된 파일 및 MPD는, 데이터 해석ㆍ복호부(53)에 공급된다. 그리고, 표시 제어부(52)에 의한 표시 제어에 따라서 데이터 해석ㆍ복호부(53)에 있어서 생성된 표시 화면이, 표시부(54)에 있어서 표시된다.
데이터 해석ㆍ복호부(53)는 파일 해석부(55), 복호부(56) 및 표시 정보 생성부(57)를 갖고 있다.
파일 해석부(55)는 상술한 바와 같은 각종의 정보가 시그널링된 메타데이터를 해석한다.
또한, 복호부(56)는 부분 G-PCC 스트림을 복호하는 처리를 실행한다.
또한, 표시 정보 생성부(57)는 공간 위치 정보에 기초하여 Point Cloud 오브젝트를 재구성하고, Point Cloud를 렌더링하여 표시 화면을 생성하여, 표시부(54)에 표시시킨다.
<생성 처리 및 재생 처리>
도 16은, 데이터 생성 장치(11)의 데이터 부호화ㆍ생성부(32)가 부분 G-PCC 스트림이 저장된 파일을 생성하는 생성 처리를 설명하는 흐름도이다.
스텝 S11에 있어서, 전처리부(36)는 Point Cloud 오브젝트를 분할하고, 각 부분 Point Cloud 오브젝트를 생성하는 것과 동시에, 공간 위치 정보 및 그루핑 정보를 생성한다.
스텝 S12에 있어서, 부호화부(37)는 각 부분 Point Cloud 오브젝트를 G-PCC 부호화하고, 부분 G-PCC 스트림을 생성하는 것과 동시에, 정세도 정보를 생성한다.
스텝 S13에 있어서, 파일 생성부(38)는 각 부분 G-PCC 스트림을 개별의 파일에 저장하여, 기록부(34)에 공급한다.
스텝 S14에 있어서, MPD 파일 생성부(33)는 각 부분 G-PCC 스트림의 공간 위치 정보, 그루핑 정보 및 정세도 정보를 포함하는 MPD를 생성하여, 기록부(34)에 공급한다. 그리고, 기록부(34)에 의해, 부분 G-PCC 스트림이 저장된 파일과 함께 MPD가 출력부(35)로부터 출력된 후, 처리는 종료된다.
도 17은, 데이터 재생 장치(12)가 부분 G-PCC 스트림이 저장된 파일을 재생하는 재생 처리를 설명하는 흐름도이다.
스텝 S21에 있어서, 취득부(51)는 MPD를 취득한다.
스텝 S22에 있어서, 표시 제어부(52)는 스텝 S21에서 취득부(51)가 취득한 MPD의 공간 위치 정보에 기초하여, 현재의 시야로부터 보이는 부분 G-PCC 스트림의 Adaptation Set와, 보이지 않는 부분 G-PCC 스트림의 Adaptation Set를 식별한다.
스텝 S23에 있어서, 표시 제어부(52)는 MPD의 정세도 정보에 기초하여, 현재의 시점 위치 및 시야 방향으로부터 보이는 부분 G-PCC 스트림에 대해서, 고정세한 Representation을 선택한다.
스텝 S24에 있어서, 표시 제어부(52)는 MPD의 정세도 정보에 기초하여, 현재의 시점 위치 및 시야 방향으로부터 보이지 않는 부분 G-PCC 스트림에 대해서, 저정세한 Representation을 선택한다.
스텝 S25에 있어서, 취득부(51)는 스텝 S23 및 S24에서 표시 제어부(52)가 선택한 Representation으로부터 참조되는 부분 G-PCC 스트림을 모두 취득하여, 데이터 해석ㆍ복호부(53)에 공급한다.
스텝 S26에 있어서, 데이터 해석ㆍ복호부(53)에서는, 복호부(56)가 취득한 부분 G-PCC 스트림을 디코드하고, 표시 정보 생성부(57)가 공간 위치 정보에 기초하여 Point Cloud 오브젝트를 재구성하여 표시 화면을 렌더링한다. 그리고, 표시 정보 생성부(57)에 의해 렌더링된 표시 화면이, 표시부(54)에 표시된다.
스텝 S27에 있어서, 표시 제어부(52)는 스트림의 종단부인지 여부를 판정한다. 스텝 S27에 있어서, 표시 제어부(52)가 스트림의 종단부가 아니라고 판정한 경우, 처리는 스텝 S28로 진행한다.
스텝 S28에 있어서, 표시 제어부(52)는 시야 방향이 변경된 것인지 여부를 판정하고, 시야 방향이 변경되어 있지 않다고 판정한 경우에는 처리는 스텝 S26으로 되돌아가고, 시야 방향이 변경되었다고 판정한 경우에는 처리는 스텝 S22로 되돌아가고, 이하, 마찬가지의 처리가 반복해서 행해진다.
한편, 스텝 S27에 있어서, 표시 제어부(52)는 스트림의 종단부라고 판정한 경우, 처리는 종료된다.
그런데, 전술한 공간 위치 정보의 시그널링만으로는, 특정한 시청 방향으로부터 시청할 수 있는 부분 G-PCC 스트림을 모두 식별할 수 없는 것이 발생한다고 상정된다.
예를 들어, 도 18에 있어서 해칭이 실시되어 있는 영역은, 부분 G-PCC 스트림 a 내에 존재하지만, 도 18에 있어서 화살표로 나타내는 시청 방향으로부터 시청 가능하다. 이때, 시청 가능 부분을 고정세화하기 위해서는, 공간 위치 정보를 기초로 시청 부분으로서 식별되는 부분 G-PCC 스트림 b에 추가하고, 부분 G-PCC 스트림 a도 고정세로 취득할 필요가 있다. 그러나, 전술한 공간 위치 정보의 시그널링만으로는, 부분 G-PCC 스트림 a는 저정세로 취득해 버리므로, 고품위의 G-PCC 스트림 배신이 되지 않는다.
그래서, Point Cloud 오브젝트의 로컬 좌표계를 기준으로 한 방향마다, 표시에 필요한 부분 G-PCC 스트림 모두를 식별하기 위한 정보를 부가한다.
예를 들어, 이 부분 G-PCC 스트림의 방향 대응 정보를, block information descriptor를 확장해서 시그널한다. 구체적으로는, gpcc:directionInfo 요소의 direction 속성을 추가한다.
도 19에는, 부분 G-PCC 스트림의 방향 대응 정보를 시그널링하는 일례가 나타내어져 있고, 도 19에 있어서 굵은 글씨로 기재되어 있는 개소에 부분 G-PCC 스트림의 방향 대응 정보가 시그널되어 있다.
예를 들어, Adaptation Set@id="1"은, 도 18에 있어서의 부분 G-PCC 스트림 a에 해당하고, X+, Y+, X-, Y-, Z+, Z-의 전체 방향을 시청하는 경우에 있어서 필요한 부분 G-PCC 스트림인 것을 나타내고 있다. 또한, Adaptation Set@id="2"는, 부분 G-PCC 스트림 b에 해당하고, X+, Y+, Y-, Z+, Z-의 방향을 시청하는 경우에 있어서 필요한 부분 G-PCC 스트림인 것을 나타내고, X-의 방향을 시청하는 경우에는 불필요하다.
이와 같이, 방향 대응 정보를 시그널함으로써, 클라이언트의 시청 방향으로 필요한 부분 G-PCC 스트림을 정확하게 식별하고, 모두 고정세로 취득할 수 있다.
또한, 1개의 부분 G-PCC 스트림이 복수의 방향에 대응하는 경우에 있어서, direction 속성에 공백 단락으로 방향 정보를 시그널하지 않고, 복수의 gpcc:directionInfo 요소를 시그널해도 된다. 또한, 부분 G-PCC 스트림의 방향 대응 정보만, 개별의 descriptor로 시그널해도 된다.
또한, gpcc:directionInfo 요소가 시그널되어 있는 경우, gpcc:blockInfo 요소를 시그널하지 않아도 되고, 함께 이용해도 된다. 함께 이용하는 경우, gpcc:directionInfo 요소를 참조하여 시청 부분의 표시에 필요한 부분 G-PCC 스트림을 모두 식별한 후에, gpcc:blockInfo 요소를 참조하여 block마다 세밀한 정세도 변경을 행할 수 있다.
그런데, 시간 경과와 함께 Point Cloud 오브젝트의 외형이 크게 변하고, 포인트가 없는, 빈 부분 G-PCC 스트림이 생기는 경우에 있어서, 시청 부분에 따른 취득 처리를 적절하게 행할 수 없는 경우가 있다는 것이 염려된다.
도 20을 참조하여, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보의 필요성에 대해서 설명한다.
도 20의 상측에 도시한 바와 같이, 클라이언트는 시청 부분을 고정세화하는 경우, 시청 부분에 상당하는 block b 및 block d를 각각 포함하는 2개의 부분 G-PCC 스트림을, 고정세(depth=10)로 취득하게 된다. 그 후, 도 20의 하측에 도시한 바와 같이, 시각 tN에 있어서 Point Cloud 오브젝트의 외형이 변화된 경우, block b는 비어 있음에도 불구하고, block b를 포함하는 부분 G-PCC 스트림을 고정세로 취득하게 된다.
이 때문에, 시각 tN에 있어서의 시청 부분을 고정세화하기 위해서는, block a 및 block d를 각각 포함하는 부분 G-PCC 스트림을 취득할 필요가 있다.
그래서, 동적으로 변화되는 방향 대응 정보 및 공간 위치 정보를 부가한다. 구체적으로는, dynamic block information descriptor(schemeIdUri="urn:mpeg: mepgI:gpcc:dynamic_block_information:2018"의 SupplementalProperty)를 신규 정의하여, AdaptationSet로 시그널한다.
예를 들어, gpcc:dynamicBlockInfo 요소의 block_info_id 속성에는, 이 Adaptation Set 내의 Representation이 참조하는 부분 G-PCC 스트림에 연결되는, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보를 시그널하는 timed metadata를 참조하는 Representation의 id가 시그널된다. 또한, object_id 속성은, 전술한 바와 같다.
또한, timed metatadata를 참조하는 Representation에는, 이 Representation을 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보가 적용되는 부분 G-PCC 스트림의 Representation에 연결되므로, Representation@associationId 및 Representation@associationType을 이용한다. 또한, associationType에는, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보인 것을 나타내는, "dbif"를 시그널한다.
도 21에는, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보의 시그널링의 일례가 나타내어져 있고, 도 21에 있어서 굵은 글씨로 기재되어 있는 개소에, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보가 시그널되어 있다.
즉, 상기 timed metadata의 sample에는, 각 시각에 있어서의 방향 대응 정보를 시그널한다. 이에 의해, 시각마다 각 block이 어느 방향으로 대응하는 것인지 정보를 시그널할 수 있다.
도 22에는, timed metadata의 sample entry의 신택스의 일례가 나타내어져 있고, 도 23에는, timed metadata의 sample의 신택스의 일례가 나타내어져 있다.
또한, direction 필드의 시맨틱스는, block information descriptor의 gpcc:directionInfo 요소의 direction 속성과 마찬가지이다.
또한, 도 24에 도시한 바와 같이, 각 시간에 있어서의 공간 위치 정보를 시그널해도 된다. 이에 의해, 동적으로 공간 분할 방법을 변경할 수 있으므로, 빈 block이 발생하지 않는 공간 분할을 행할 수 있다.
또한, 각 필드의 시맨틱스는, block information descriptor의 gpcc:blockInfo 요소의 동명 속성과 마찬가지이다.
이와 같은 시그널링에 의해, 클라이언트는 동적으로 변하는 공간 위치 정보 및 방향 대응 정보를 참조하고, Point Cloud 오브젝트의 외형이 동적으로 크게 바뀌는 경우에 있어서도, 시청 부분을 고정세화하기 위한 부분 G-PCC 스트림을 적절하게 취득 가능해진다.
도 25 및 도 26을 참조하여, ISOBMFF의 확장에 대해서 설명한다.
예를 들어, ISOBMFF 파일의 각 track에 부분 G-PCC 스트림을 저장한다. 이때, 1개의 Point Cloud 오브젝트를 구성하는 track군을 명시하기 위해, ISOBMFF로 정의되어 있는 track group 기능을 이용해서 그루핑한다.
구체적으로는, 도 25에 도시한 바와 같이, TrackGroupTypeBox를 확장하고, BlockGroupBox('blgp')를 신규로 정의한다. 즉, 동일한 track_group_id의 BlockGroupBox가 시그널되는 track은, 동일한 Point Cloud 오브젝트를 구성하는 부분 G-PCC 스트림을 저장하고 있는 것을 나타낸다.
예를 들어, BlockGroupBox에는, DASH MPD 확장과 마찬가지로, 부분 G-PCC 스트림의 공간 위치 정보, 정세도 정보, 방향 대응 정보, 그리고, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보를 갖는 timed metadata에 대한 참조 정보가 시그널된다. 또한, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보를 갖는 timed metadata를 저장하는 track은, refrence_type="dbif"의 track reference에 의해서, 그 timed metadata가 적용되는 부분 G-PCC 스트림을 저장하는 track에 연결된다.
이에 의해, 클라이언트는, 이 blgp의 정보를 참조하여 track 선택을 행하고, 시청 부분에 상당하는 부분 G-PCC 스트림의 우선 디코드가 가능해진다.
도 26에는, BlockGroupBox에 부분 G-PCC 스트림의 공간 위치 정보를 시그널 하는 경우의 신택스가 도시되어 있다. 여기서, 각 필드의 시맨틱스는, block information descriptor의 gpcc:blockInfo 요소의 동명 속성과 마찬가지이다.
또한, track group 기능이 아니라, EntityToGroupBox를 사용해서 그루핑을 시그널해도 된다. 또한, 정세도 정보는, 개별의 Box로서 track의 sample entry에 시그널해도 된다. 또한, 동적으로 변화되는 공간 위치 정보 및 방향 대응 정보는 sample group으로 시그널해도 된다.
또한, 공간 위치 정보와 그 공간 위치마다의 정세도 정보를 갖는 신규 Box를 정의하면, 1 G-PCC 스트림의 공간 위치마다의 정세도 정보 시그널링이 가능해진다. 예를 들어, 상술한 제1 포인트에 있어서, 이 Box를 참조하여, 시청 부분이 고정세화되어 있는 G-PCC 스트림을 저장하고 있는 track의 선택 처리를 행해도 된다.
도 27 내지 도 29를 참조하여, 공간 분할에 의해 생성한 부분 G-PCC 스트림을 배신하는 제2 포인트의 제2 방법에 대해서 설명한다.
도 27에 도시한 바와 같이, 1개의 Point Cloud 오브젝트를, 저정세한 전체 Point Cloud 오브젝트와, 그 일부분을 고정세로 하기 위한 부분 Point Cloud 오브젝트로 계층화하고, 각각을 부호화하여 부분 G-PCC 스트림을 생성ㆍ배신하는 방법이다. 도 27에는 Point Cloud 오브젝트를, 저정세한 전체 Point Cloud 오브젝트와, 2개의 부분 Point Cloud 오브젝트로 계층화하는 예가 나타내어져 있다.
예를 들어, 일부분을 고정세화하는 부분 G-PCC 스트림에는, 이하의 베리에이션이 있다.
ㆍ부분 G-PCC 스트림 단체로 고정세가 되는 것(베리에이션 1)
ㆍ부분 G-PCC 스트림 단체에서는 저정세이고, 저정세한 전체 G-PCC 스트림과 조합함으로써 고정세한 부분을 구성하는 것(베리에이션 2)
또한, 베리에이션 2의 일부분을 고정세화하는 부분 G-PCC 스트림은, 저정세한 전체 G-PCC 스트림과는 중복되지 않는 포인트를 갖는다.
베리에이션 1에 대해서는, 제2 포인트의 제1 방법과 마찬가지의 시그널링을 이용함으로써, 클라이언트는 전체 G-PCC 스트림, 부분 G-PCC 스트림의 공간 위치 정보, 그루핑 정보 및 정세도 정보를 식별할 수 있어, 시청 부분을 고정세로 하기 위한 전체ㆍ부분 G-PCC 스트림을 취득할 수 있다.
베리에이션 2에 대해서도 마찬가지의 시그널링을 이용할 수는 있지만, 클라이언트는 시청 부분을 고정세화하기 위해, 조합해야 할 부분 G-PCC 스트림과 전체 G-PCC 스트림을 식별할 수 없다. 그로 인해, 클라이언트는 시청 부분을 고정세화하기 위한 적절한 G-PCC 스트림을 취득할 수 없다.
그래서, 조합하여 고정세화할 수 있는 부분 G-PCC 스트림과 전체 G-PCC 스트림을 연결하는 정보를 시그널한다. 이에 의해, 클라이언트는, 이 정보를 참조함으로써, 베리에이션 2에 있어서도 시청 부분을 고정세로 하기 위한 부분 G-PCC 스트림을 취득할 수 있다.
다음에, 도 28 및 도 29를 참조하여, DASH MPD의 확장에 대해서 설명한다.
예를 들어, MPEG-DASH로 규정되는 associationId 및 associationType를 이용하여, 조합함으로써 고정세한 부분을 구성하는 부분 G-PCC 스트림과 전체 G-PCC 스트림을 연결한다.
그리고, 부분 G-PCC 스트림의 Representation에 있어서, associationId에는, 조합하는 전체 G-PCC 스트림의 Representation@id를 시그널한다. 또한, associationType에는, 연결하는 Representation이 부분 G-PCC 스트림과 조합함으로써 고정세화가 가능한 전체 G-PCC 스트림인 것을 나타내는 "pbas"를 시그널한다.
또한, 양자를 조합한 결과로서의 정세도 정보를, 상술한 제2 포인트의 제1 방법으로 정의한 lod information descriptor를 확장하고, gpcc:combinedAreaLodInfo로 시그널한다. 또한, combined_rep_id 속성에는, 조합하는 전체 G-PCC 스트림의 Representation@id를 시그널하고, lod_ranking 속성에서는, 양자를 조합한 결과로서의 정세도 정보를 시그널한다.
도 28에는, 조합할 수 있는 각 G-PCC 스트림의 공간 위치 정보의 시그널링의 일례가 나타내어져 있고, 도 28에 있어서, 굵은 글씨로 기재되어 있는 개소에, 조합할 수 있는 각 G-PCC 스트림의 공간 위치 정보가 시그널되어 있다.
도 29에는, 도 28에 도시한 바와 같이 시그널링되는 공간 위치 정보의 이미지도가 나타내어져 있다.
또한, associationId, associationType에 의한 연결이 이루어져 있지 않은 경우, 부분 G-PCC 스트림 단체로 고정세가 되는 것을 나타낸다.
또한, 부분 G-PCC 스트림이 저정세이며, 단독으로의 재생을 금지하고 싶은 경우, associationId 대신에 dependencyId로 연결된다. 또는, SupplementalProperty 또는 EssentialProperty를 사용하고, 단독 재생을 금지하는 descriptor를 정의해도 된다.
또한, associationId, associationType를 사용해서, 전체 G-PCC 스트림으로부터 부분 G-PCC 스트림을 참조해도 된다.
이 시그널링에 의해, 클라이언트는 조합하여 시청 부분을 고정세화하기 위한 적절한 G-PCC 스트림 취득할 수 있다.
또한, 이 시그널링은 저정세한 부분 G-PCC 스트림끼리를 조합함으로써 고정세한 부분을 구성하는 경우에도, 이용 가능하다.
다음에, 도 30 및 도 31을 참조하여, ISOBMFF의 확장에 대해서 설명한다.
도 30에 도시한 바와 같이, ISOBMFF 파일의 각 track에 계층화에서 생성한 부분 G-PCC 스트림을 저장한다. 이때, ISOBMFF로 정의되어 있는 track reference의 구조를 이용함으로써, 조합함으로써 고정세한 부분을 구성하는 부분 G-PCC 스트림과 전체 G-PCC 스트림을 연결한다. 또한, reference_type은 "pbas"로 한다.
예를 들어, track#3은, 저정세한 전체 G-PCC 스트림, track#1 및 track#2는, 각각 전체 Point Cloud 오브젝트의 상이한 부분에 상당하는 부분 G-PCC 스트림을 저장하고 있다. 그리고, reference_type="pbas"의 tref에 의해, track#3의 전체 G-PCC 스트림과 조합하여 고정세한 부분을 구성하는 것이 도시되어 있다.
이에 의해, 클라이언트는, 이 track reference의 시그널링에 의해, 조합하여 시청 부분을 고정세화하기 위한 적절한 G-PCC 스트림을 저장하는 track을 선택, 재생할 수 있다.
또한, 복수의 G-PCC 스트림을 조합한 결과로서의 정세도 정보를 시그널하는 CombinedAreaLodInfoBox('cloi')를 신규 정의하여, 상술한 제2 포인트의 제1 방법에서 정의한 BlockGroupBox로 시그널한다.
도 31에는, CombinedAreaLodInfoBox('cloi')의 신택스가 도시되어 있다.
도 31에 도시한 바와 같이, combined_track_id 필드에 도시되는 track과 조합했을 때의 정세도 정보를, lod_ranking 필드로 시그널한다. lod_ranking 필드의 시맨틱스는, 상술한 제1 포인트의 DirectionInformationBox의 동명 필드와 마찬가지이다.
또한, 상술한 제2 포인트는, G-PCC 뿐만 아니라, Video based PCC(V-PCC) 부호화된 스트림이나, mesh 스트림 및 texture 스트림으로 구성되는 것 등 3D 오브젝트 전반에 적용 가능하다.
<제1 및 제2 포인트의 변형예>
여기서, 제1 및 제2 포인트의 변형예에 대해서 설명한다.
예를 들어, 제1 포인트에 있어서, Voxel을 구획하는 미세함을 변경하고, 정세도를 바꾸는 단위가, Point Cloud 오브젝트 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합이어도 된다. 이 포인트의 집합을 brick이라고 칭한다. 또한, brick은, 현재 MPEG에서 논의 중의 부호화 툴인 tile로 해도 된다. tile은 slice의 집합이며, slice는 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합이다(상술한 비특허문헌 2 참조).
또한, 제2 포인트에 있어서, 부분 G-PCC 스트림이 1개, 또는 복수의 brick으로 구성되도록 부호화되어 있어도 된다.
어떤 경우도, 제1 및 제2 포인트에서 상술한 바와 같은 시그널링이 적용 가능하다.
또한, 1 G-PCC 스트림을 복수의 brick으로 구성되도록 부호화함으로써, 시청 부분에 상당하는 brick으로부터 우선적으로 디코드, 렌더링하는 것이 가능해진다. 이것은, 디코드 및 렌더링의 퍼포먼스가 낮은 클라이언트에 있어서 가치가 있는 유스케이스이다.
또한, 종래와 같이 MPEG에 있어서의 tile을 사용하는 기술에서는, G-PCC 스트림 내의 brick 데이터의 공간 위치 정보는 G-PCC 스트림에 시그널하는 것이 상정되어 있다. 이 경우, 시청 부분에 상당하는 brick 데이터에 액세스하기 위해서는, 한번 G-PCC 스트림을 디코드할 필요가 있어, 처리의 오버헤드가 크다. 또한, 시청 부분에 상당하는 brick을 선택·디코드하는 경우에 있어서, 상술한 제2 포인트의 제1 방법과 마찬가지로, brick의 공간 위치 정보를, G-PCC 스트림 내의 brick을 구성하는 데이터 단위로 연결할 필요가 있다.
그래서, 도 32 내지 도 37을 참조하여, brick의 공간 위치 정보를, G-PCC 스트림 내의 brick을 구성하는 데이터 단위로 연결하기 위한 ISOBMFF의 확장에 대해서 설명한다.
예를 들어, ISOBMFF로 정의되어 있는 sample group의 기능을 이용하고, brick의 공간 위치 정보를, G-PCC 스트림 내의 brick을 구성하는 데이터 단위로 연결할 수 있다. 구체적으로는, brick마다의 공간 위치 정보를 시그널하는 BrickGroupEntry와, 그 brick마다의 공간 위치 정보를 G-PCC 스트림 내의 brick을 구성하는 데이터 단위로 연결하기 위한 UnitMapEntry를 새롭게 정의한다.
도 32에는 BrickGroupEntry의 신택스가 도시되어 있고, 도 33에는 UnitMapEntry의 신택스가 도시되어 있다.
도 32 및 도 33에 도시하는 신택스에 있어서, BrickGroupEntry의 brick_offset_x, brick_offset_y, brick_offset_z, brick_size_x, brick_size_y, brick_size_z의 시맨틱스는, 상술한 제2 포인트의 제1 방법에 있어서의 BlockGroupBox의 block_offset_x, block_offset_y, block_offset_z, block_size_x, block_size_y, block_size_z와 각각 동일하다.
또한, UnitMapEntry의 unit_index는, groupID로 연결하는 BrickGroupEntry가 적용되는 G-PCC 스트림 내의 brick을 구성하는 데이터 단위의 인덱스 정보를 나타낸다.
이 unit_index는, groupID로 연결하는 BrickGroupEntry가 적용되는 G-PCC 스트림 내의 brick을 구성하는 Geometry bitstream 및 Attribute bitstream에 대해서, 각각을 구성하는 데이터 단위마다 할당되어도 된다.
또한, MPEG에서 논의 중의 부호화 툴인 tile을 적용하는 경우, BrickGroupEntry의 brick_offset_x, brick_offset_y, brick_offset_z, brick_size_x, brick_size_y, brick_size_z로 시그널되는 영역은, tile의 bounding box의 영역 또는, 복수 tile의 bounding box의 합계 영역과 일치한다.
도 34에는, BrickGroupEntry 및 UnitMapEntry의 운용예가 나타내어져 있다.
도 34에 도시한 바와 같이, G-PCC 스트림의 1 Point Cloud 프레임을 1 ISOBMFF sample로 하고, brick을 구성하는 데이터 단위는 Geometry bitstream(Geom)과 연결되는, 1개 또는 복수의 Attribute bitstream(Attr)이다.
예를 들어, 클라이언트가 시청 부분에 상당하는 brick만 디코드 하고자 하는 경우, 먼저, grouping_type='blif'의 SampleGroupDescriptionBox의 각 BrickGroupEntry를 참조하고, 원하는 brick의 groupID를 식별한다. 다음에, grouping_type='unim'의 SampleToGroupBox 및 SampleGroupDescriptionBox를 참조하고, 각 sample이 연결하는 UnitMapEntry에 원하는 brick의 groupID의 unit_index가 포함되어 있으면, sample 내의 그 unit만 디코드한다.
이 시그널링에 의해, 도 35에 도시한 바와 같이, 오브젝트의 움직임에 맞춰서 동적으로 brick 구성을 변경하고, 빈 brick을 없앨 수 있다.
그리고, 이들의 시그널링을 참조함으로써, 시청 부분에 상당하는 brick 데이터에 직접 액세스하고, 우선적으로 디코드, 렌더링하는 것이 가능해진다.
또한, 변형예로서, brick마다 분할해서 개별로 ISOBMFF track에 저장해도 된다. 예를 들어, brick base track 및 brick track의 2종류를 정의한다.
brick base track은 G-PCC 스트림은 저장하지 않고, 그 sample entry에 전체 G-PCC 스트림의 proile, level 및 brick track에 저장되는 G-PCC 스트림을 디코드하기 위해 필요한 공통의 파라미터 세트를 저장한다. 또한, sample entry의 타입은, 'gpbb'로 한다.
brick track은, 1개 또는 복수의 brick으로 이루어지는 G-PCC 스트림을 저장하고, 그 sample entry에, track에 저장하는 G-PCC 스트림의 profile, level 및 저장하는 G-PCC 스트림만의 디코드에 필요한 파라미터 세트를 저장한다. 또한, sample entry의 타입은, 'gpcb'로 한다.
또한, brick base track으로부터 brick track으로 reference_type='gpbt'의 track reference를 시그널하고, brick track으로부터 brick base track으로 reference_type='gpbb'의 track reference를 시그널한다.
도 36에는 brick base track 및 brick track의 구성도가 도시되어 있다.
도 36에 도시하는 시그널링에 의해, brick track에 저장되는 파라미터 세트 및 연결하는 brick base track에 저장되는 파라미터 세트를 참조함으로써, brick track을 단독 디코드할 수 있다. 즉, 시청 부분에 상당하는 brick 데이터를 포함하는 brick track을 선택하고, 우선적으로 디코드, 렌더링하는 것이 가능해진다.
또한, brick base track으로부터 참조되는 brick track에 저장되는 G-PCC 스트림의 sample을 기초로 전체 G-PCC 스트림을 재구성하고, single decoder로 디코드할 수 있다.
또한, 각 brick track을 track group 또는 EntityToGroupBox로 그루핑하고, brick base track으로부터의 track reference로, track group의 경우에는 track_group_id를 참조하고, EntityToGroup의 경우에는 gorup_id를 참조해도 된다.
이와 같은 ISOBMFF 확장에 의한 시그널링은, brick으로 구성되는 스트림 뿐만 아니라, 상술한 제2 포인트에서 언급한 부분 G-PCC 스트림에 대해서도 마찬가지로 적용 가능하다. 이때, brick을 block으로 간주하면 된다.
또한, 도 37에 도시한 바와 같이, brick의 공간 위치 정보(brick_offset_x, brick_offset_y, brick_offset_z, brick_ size_x, brick_size_y, brick_size_z)를 elementary stream의 high level syntax를 확장해서 시그널해도 된다.
예를 들어, G-PCC 스트림 중의 brick을 구성하는 데이터 유닛은, brick_id를 통해서 공간 위치 정보와 연결된다.
이에 의해, 클라이언트는 G-PCC 스트림을 디코드할 때, 이 brick_inventory를 참조함으로써 전체의 brick 구성을 용이하게 식별할 수 있고, brick_id를 통해서 시청 부분에 상당하는 brick의 데이터 유닛을 식별하여, 디코드할 수 있다.
<제3 포인트>
도 38 내지 도 43을 참조하여, Point Cloud 오브젝트의 저정세한 부분의 렌더링 처리를 지정하는 제3 포인트에 대해서 설명한다.
예를 들어, Point Cloud 오브젝트에 대해서, 저정세한 부분을 그대로 렌더링하면, 예를 들어 Point Cloud 오브젝트의 반대측이 들여다 보이는 등, 주관 품질이 저하된다. 이때, 저정세한 부분의 포인트 사이즈를 크게 하거나 하여 렌더링함으로써, 주관 품질을 향상시킬 수 있다.
따라서, 콘텐츠 생성측이, 저정세한 부분의 주관 품질 향상을 위해 필요한 렌더링 처리를 지정하고, 클라이언트측에서 그 렌더링 처리를 실행함으로써, 콘텐츠 생성측의 의도를 따른 형태로, Point Cloud 오브젝트의 저정세한 부분의 주관 품질을 향상시킬 수 있다.
그러나, 주관 품질 향상을 위한 렌더링에 필요한 파라미터는 G-PCC 스트림 내에 시그널하는 것이 상정되어 있고, 클라이언트는 G-PCC 스트림 선택 시에 있어서, 주관 품질 향상 렌더링 처리가 필요한지 여부를 식별할 수 없다.
그 때문에, 렌더링 처리의 실행이 필요한지 여부를 식별할 수 있는 것은 스트림 취득 후로 되어 버리고, 클라이언트가 주관 품질 향상을 위한 렌더링 처리에 비대응이었던 경우에는, 적절한 렌더링을 실행할 수 없다. 또는, 주관 품질 향상을 위한 렌더링 처리 불필요한 다른 스트림을 다시 취득하게 되어, 처리 효율이 저하되게 된다.
따라서, 저정세한 G-PCC 스트림의 주관 품질 향상을 위한 렌더링 처리가 필요한지 여부를 식별하기 위한 정보를 시그널함으로써, 적절한 렌더링을 실행 가능하지 않은 것이나, 처리 효율이 저하되는 것 등을 회피할 수 있다.
이에 의해, 클라이언트는 자신의 주관 품질 향상 렌더링 처리 능력을 고려하고, 처리할 수 있으면 저정세한 G-PCC 스트림을 취득하고, 주관 품질 향상 렌더링 처리를 행함으로써, 주관 품질은 유지하면서, G-PCC 스트림 배신에 필요한 네트워크 대역폭을 삭감할 수 있다.
여기서, DASH MPD의 확장에 대해서 설명한다.
예를 들어, G-PCC 스트림의 렌더링 처리 방법을, rendering information descriptor(schemeIdUri="urn:mpeg:mepgI:gpcc:rendering_information:2018"의 EssentialProperty)를 신규 정의하여, Representation으로 시그널한다.
그리고, gpcc:renderingInfo 요소의 type 속성으로, 렌더링 처리 방법을 시그널한다. type=0일 때는, 일반적인 처리 방법인, Voxel 형상으로 렌더링하는 것을 나타내고, type=1일 때는, G-PCC 스트림 내에서 시그널된 파라미터에 따라 렌더링 처리를 실행하는 것을 나타낸다. G-PCC 스트림 내의 파라미터는, 예를 들어 Voxel에 내접하는 구형으로서 렌더링하는 등이다.
도 38에는 렌더링 처리 방법의 시그널링하는 일례가 나타내어져 있고, 도 38에 있어서, 굵은 글씨로 기재되어 있는 개소에 렌더링 처리 방법이 시그널되어 있다.
예를 들어, 주관 품질 향상 렌더링 처리에 대응하고 있는 클라이언트이면, 대역이 좁은 경우에 있어서, id=1-3의 Representation, 즉, 보다 저정세한 스트림을 취득할 수 있어, G-PCC 스트림 배신에 필요한 네트워크 대역폭을 삭감할 수 있다.
또한, gpcc:renderingInfo 요소의 type으로 시그널된 처리를 강제하는 것이 아니라, 콘텐츠 생성측의 추천 처리로 해도 된다.
다음에, ISOBMFF의 확장에 대해서 설명한다.
예를 들어, ISOBMFF track에 있어서, 주관 품질 향상 렌더링 처리의 정보를 포스트 디코딩 처리 정보로 하여 시그널한다.
구체적으로는, sample entry 하의, ISOBMFF로 정의된 RestrictedSchemeInformationBox('rinf')를 사용한다. rinf는, 디코드 후의 포스트 프로세스 정보를 저장하는 Box이다. rinf 하의 SchemeTypeBox('schm')의 scheme_type은, 주관 품질 향상 렌더링 정보가 저장되어 있는 것을 나타내기 위해, 'rndi'로 한다.
도 39에는, RenderingInformationBox의 시그널예가 나타내어져 있다.
도 39에 도시한 바와 같이, SchemeInformationBox('schi')는 schm의 scheme_type으로 지정된 정보가 저장되는 Box이며, scheme_type='rndi'에 대응하는 RenderingInformationBox('rndi')가 시그널된다.
도 40에는 RenderingInformationBox의 신택스의 일례가 나타내어져 있다.
또한, type 필드의 시맨틱스는, rendering information descriptor의 gpcc:renderingInfo 요소의 동명 속성과 마찬가지이다.
도 40에 도시한 바와 같은 시그널링에 의해, 클라이언트는 rndi의 type을 식별할 수 있어, 적절한 렌더링 처리를 실행할 수 있다. 또한, rndi의 type으로 시그널되는 렌더링 처리를 실행할 수 없는 경우에는, 그 track을 선택하지 않고, 동일 ISOBMFF 파일 내의 다른 track을 선택한다는 처리가 가능해진다.
여기서, 제3 포인트의 변형예에 대해서 설명한다.
예를 들어, 상술한 제2 포인트의 제2 방법과 같이 계층화에 의해 생성한 부분 G-PCC 스트림 배신에 대하여 적용하는 경우, 다른 G-PCC 스트림과 조합하여 고정세화되는 부분은, 주관 품질 향상을 위한 렌더링 처리가 불필요하다. 이때, 클라이언트는 Point Cloud 오브젝트의 부분마다 주관 품질 향상을 위한 렌더링 처리를 변경할 필요가 있다. 따라서, 적절한 렌더링 처리를 실행할 수 있는 클라이언트만이 전술한 G-PCC 스트림을 취득할 수 있도록 하기 위한 정보를 부가한다.
예를 들어, 다른 G-PCC 스트림과 조합함으로써 고정세화되는 부분의 처리 타입을 시그널할 수 있다.
여기서, DASH MPD의 확장에 대해서 설명한다.
예를 들어, rendering information descriptor를 확장하고, 다른 G-PCC 스트림과 조합함으로써 고정세화되는 부분의 처리 타입을 시그널한다.
구체적으로는, gpcc:combinedAreaRenderingInfo 요소를 추가하고, 그 combined_rep_id 속성으로 조합하는 G-PCC 스트림의 Representation@id를 시그널한다. 또한, gpcc:combinedAreaRenderingInfo 요소의 type 속성으로 조합함으로써 고정세화되는 부분의 처리 타입을 시그널한다. 또한, 시맨틱스는 gpcc:renderingInfo 요소의 type 속성과 동일하다.
도 41에는 고정세화되는 부분의 처리 타입의 신택스가 도시되어 있다. 도 41에 있어서 굵은 글씨로 기재되어 있는 개소에, 고정세화되는 부분의 처리 타입이 시그널되어 있다.
도 41에 도시하는 시그널링에 의해, gpcc:renderingInfo 요소와 gpcc:combinedAreaRenderingInfo 요소의 type을 근거로 하고, 클라이언트 처리 능력, 예를 들어 Point Cloud 오브젝트의 부분마다 주관 품질 향상을 위한 렌더링 처리를 변경해서 적용할 수 있는 클라이언트이면, 보다 저정세한 스트림을 취득할 수 있다.
다음에, ISOBMFF의 확장에 대해서 설명한다.
예를 들어, 전술한 RenderingInformationBox('rndi')를 확장하고, combined_track_exists 필드, comnbined_track_id 필드 및 combined_area_type 필드를 시그널한다.
또한, combined_track_exists 필드는 조합함으로써 고정세한 부분을 구성하는 G-PCC 스트림에 reference_type='pbas'의 track reference로 연결되어 있는지 여부를 나타낸다. 또한, combined_trak_id 필드는, 조합하는 G-PCC 스트림의 track_id를 시그널한다. combined_area_type 필드로 조합함으로써 고정세화되는 부분의 처리 타입을 시그널한다.
이에 의해, 클라이언트는 이들 정보를 식별하고, 적절한 렌더링 처리를 실행 할 수 있다.
도 42에는, combined_track_exists 필드, comnbined_track_id 필드 및 combined_area_type 필드를 추가한 신택스가 도시되어 있다. 도 42에 있어서 굵은 글씨로 기재되어 있는 개소에, combined_track_exists 필드, comnbined_track_id 필드 및 combined_area_type 필드가 시그널되어 있다.
또한, 조합함으로써 고정세화되는 부분에 대해서, 위치가 일치하고, 겹치는 포인트가 있는 경우에 있어서, 조합하는 G-PCC 스트림의 어느 쪽의 포인트를 렌더링하는지 정보를 시그널해도 된다. 이 정보에 의해, 클라이언트는 콘텐츠 생성측의 의도를 따른 렌더링을 실행하는 것이 가능해진다.
구체적으로는, RenderingInformationBox를 더욱 확장하고, priority_flag 필드를 추가한다. 그리고, priority_flag=1의 경우에는, 그 RenderingInformationBox를 갖는 track의 G-PCC 스트림이 combined_track_id의 track의 G-PCC 스트림보다도 렌더링의 우선도가 높은 것을 나타내고, 겹치는 포인트에 대해서는, priority_flag=1의 track의 G-PCC 스트림의 포인트만 렌더링된다. 한편, priority_flag=0의 경우에는 반대로, 겹치는 포인트에 대해서는 combined_track_id의 track의 G-PCC 스트림의 포인트만 렌더링된다.
도 43에는, priority_flag 필드를 추가한 신택스가 도시되어 있고, 도 43에 있어서 굵은 글씨로 기재되어 있는 개소에, priority_flag 필드가 시그널되어 있다.
여기서, 도 44에는, 상술한 Sample Group 개요가 도시되어 있다.
도 44에 도시하는 SampleToGroupBox의 grouping_type은, 연결되는 SampleGroupDescriptionBox의 grouping_type을 나타낸다. 또한, 1 entry에 대해, sample_count와 group_description_index가 시그널된다. 그리고, group_description_index는 연결하는 GroupEntry의 index를 나타내고, sample_count는, 그 GroupEntry에 속하는 sample수를 나타낸다.
이상과 같이, 본 기술은 Point Cloud 오브젝트를 Geometry 베이스로 부호화한 Point Cloud 스트림인 G-PCC 스트림을, 유저의 시청 부분에 따라서 배신할 때, 제1 포인트로서, 1개의 Point Cloud 오브젝트의 부분마다 정세도를 바꿔서 부호화한 G-PCC 스트림을 배신할 수 있다. 또는, 제2 포인트로서, 1개의 Point Cloud 오브젝트를 복수의 부분 오브젝트로 분할하고, 그들의 부분 오브젝트 각각의 정세도를 바꿔서 부호화한 부분 G-PCC 스트림을 배신할 수 있다.
그리고, 제1 포인트에서 G-PCC 스트림을 배신할 때에, G-PCC 스트림에 대하여 고정세가 되어 있는 방향 정보 및 정세도 정보를 부가함으로써, 클라이언트는 그들의 정보를 참조하고, 시청 부분이 고정세가 되는 G-PCC 스트림을 취득할 수 있다.
또는, 제2 포인트에서 부분 G-PCC 스트림을 배신할 때에, 각 부분 G-PCC 스트림에 대하여 공간 위치 정보 및 정세도 정보를 부가함으로써, 클라이언트는 그들 정보를 참조하고, 시청 부분이 고정세가 되도록 부분 G-PCC 스트림을 취득할 수 있다.
또한, 제3 포인트로서, 저정세한 부분, 즉, 포인트가 성기게 되어 있는 부분의 주관적 품질을 향상시키기 위해 유효한 렌더링 처리가 필요한지 여부의 정보를 부가할 수 있다. 이에 의해, 클라이언트는 그 렌더링 처리의 실행이 가능하면, 보다 저정세한 부분을 포함하는 G-PCC 스트림을 취득함으로써, G-PCC 스트림 배신에 필요한 네트워크 대역폭을 삭감할 수 있다.
또한, 이들의 부가되는 정보는, DASH MPD 또는 ISOBMFF를 확장함으로써 시그널된다.
그리고, 이상과 같은 포인트에 의해서, 유저의 시청 부분이 고정세가 되고, 유저의 시청 부분 이외는 저정세가 되도록 G-PCC 스트림을 배신함으로써, 네트워크 대역폭을 유효 활용하고, 고품위, 즉 중단되지 않고 고정세한 G-PCC 스트림 배신을 실현할 수 있다.
<컴퓨터의 구성예>
다음에, 상술한 일련의 처리(정보 처리 방법)는 하드웨어에 의해 행할 수도 있고, 소프트웨어에 의해 행할 수도 있다. 일련의 처리를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 범용의 컴퓨터 등에 인스톨된다.
도 45는 상술한 일련의 처리를 실행하는 프로그램이 인스톨되는 컴퓨터의 일 실시 형태의 구성예를 나타내는 블록도이다.
프로그램은, 컴퓨터에 내장되어 있는 기록 매체로서의 하드 디스크(105)나 ROM(103)에 미리 기록해 둘 수 있다.
혹은 또한, 프로그램은 드라이브(109)에 의해 구동되는 리무버블 기록 매체(111)에 저장(기록)해 둘 수 있다. 이와 같은 리무버블 기록 매체(111)는, 소위 패키지 소프트웨어로서 제공할 수 있다. 여기서, 리무버블 기록 매체(111)로서는, 예를 들어 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등이 있다.
또한, 프로그램은, 상술한 바와 같은 리무버블 기록 매체(111)로부터 컴퓨터에 인스톨하는 것 외, 통신망이나 방송망을 통하여, 컴퓨터에 다운로드하고, 내장한 하드 디스크(105)에 인스톨할 수 있다. 즉, 프로그램은, 예를 들어, 다운로드 사이트로부터, 디지털 위성 방송용의 인공위성을 개재하여, 컴퓨터에 무선으로 전송하거나, LAN(Local Area Network), 인터넷 등의 네트워크를 개재하여, 컴퓨터에 유선으로 전송할 수 있다.
컴퓨터는, CPU(Central Processing Unit)(102)를 내장하고 있고, CPU(102)에는 버스(101)를 개재하여, 입출력 인터페이스(110)가 접속되어 있다.
CPU(102)는 입출력 인터페이스(110)를 개재하여, 유저에 의해서, 입력부(107)가 조작되거나 함으로써 지령이 입력되면, 그에 따라서, ROM(Read Only Memory)(103)에 저장되어 있는 프로그램을 실행한다. 또는, CPU(102)는 하드 디스크(105)에 저장된 프로그램을, RAM(Random Access Memory)(104)에 로드하여 실행한다.
이에 의해, CPU(102)는, 상술한 흐름도에 따른 처리, 또는 상술한 블록도의 구성에 의해 행해지는 처리를 행한다. 그리고, CPU(102)는, 그 처리 결과를, 필요에 따라서, 예를 들어, 입출력 인터페이스(110)를 개재하여, 출력부(106)로부터 출력, 또는, 통신부(108)로부터 송신, 나아가서는 하드 디스크(105)에 기록시키거나 한다.
또한, 입력부(107)는 키보드나, 마우스, 마이크 등으로 구성된다. 또한, 출력부(106)는 LCD(Liquid Crystal Display)나 스피커 등으로 구성된다.
여기서, 본 명세서에 있어서, 컴퓨터가 프로그램에 따라서 행하는 처리는, 반드시 흐름도로서 기재된 순서를 따라서 시계열에 행해질 필요는 없다. 즉, 컴퓨터가 프로그램에 따라서 행하는 처리는, 병렬적 또는 개별로 실행되는 처리(예를 들어, 병렬 처리 또는 오브젝트에 의한 처리)도 포함한다.
또한, 프로그램은, 하나의 컴퓨터(프로세서)에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은, 먼 곳의 컴퓨터에 전송되어 실행되는 것이어도 된다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되고, 네트워크를 개재하여 접속되어 있는 복수의 장치 및 하나의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두, 시스템이다.
또한, 예를 들어 1개의 장치(또는 처리부)로서 설명한 구성을 분할하고, 복수의 장치(또는 처리부)로 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 1개의 장치(또는 처리부)로 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어느 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
또한, 예를 들어, 본 기술은, 1개의 기능을, 네트워크를 개재하여 복수의 장치로 분담, 공동으로 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행할 수 있다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어, 상술한 흐름도에서 설명한 각 스텝은, 1개의 장치로 실행하는 것 외에, 복수의 장치로 분담해서 실행할 수 있다. 또한, 1개의 스텝에 복수의 처리가 포함되는 경우에는, 그 1개의 스텝에 포함되는 복수의 처리는, 1개의 장치로 실행하는 것 외에, 복수의 장치로 분담해서 실행할 수 있다. 환언하면, 1개의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로 하여 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 1개의 스텝으로서 통합해서 실행할 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라서 시계열로 실행되도록 해도 되고, 병렬로, 또는 호출이 행해졌을 때 등의 필요한 타이밍에서 개별로 실행되도록 해도 된다. 즉, 모순이 발생하지 않는 한, 각 스텝의 처리가 상술한 순서와 상이한 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합하여 실행되도록 해도 된다.
또한, 본 명세서에 있어서 복수 설명한 본 기술은, 모순이 발생하지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용해서 실시할 수도 있다. 예를 들어, 어느 하나의 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부와 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하고 있지 않은 다른 기술과 병용해서 실시할 수도 있다.
<구성의 조합예>
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1)
Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 파일 생성부
를 구비하는 정보 처리 장치.
(2)
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로 상기 부분 Point Cloud를 표시하는데 필용이 되는 방향을 나타내는 방향 대응 정보를 더 포함하는
상기 (1)에 기재된 정보 처리 장치.
(3)
상기 파일 생성부에 의해 생성된 상기 파일은, 동적으로 변화되는 상기 공간 위치 정보를 더 포함하는
상기 (2)에 기재된 정보 처리 장치.
(4)
상기 파일 생성부에 의해 생성된 상기 파일은, 동적으로 변화되는 상기 방향 대응 정보를 더 포함하는
상기 (2)에 기재된 정보 처리 장치.
(5)
상기 파일 생성부에 의해 생성된 상기 파일은, DASH MPD(Dynamic Adaptive Streaming over HTTP Media Presentation Description), 또는, ISOBMFF(ISO Base Media File Format) 구조를 갖는 파일인
상기 (3) 또는 (4)에 기재된 정보 처리 장치.
(6)
상기 부분은, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는
상기 (1) 내지 (5) 중 어느 하나에 기재된 정보 처리 장치.
(7)
상기 부분 Point Cloud 데이터는, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 부분 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는
상기 (1) 내지 (6) 중 어느 하나에 기재된 정보 처리 장치.
(8)
상기 부분 Point Cloud 데이터는, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 부분 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는
상기 (1) 내지 (7) 중 어느 하나에 기재된 정보 처리 장치.
(9)
정보 처리 장치가,
Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 것
을 포함하는 정보 처리 방법.
(10)
Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보를 생성하는 부호화부를 구비하고,
상기 부호화부는, 상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보를 생성하는
정보 처리 장치.
(11)
상기 부호화부에 의해 생성된 상기 부분 정세도 정보 및 상기 방향 정보를 포함하는 파일을 생성하는 파일 생성부
를 더 구비하는 상기 (10)에 기재된 정보 처리 장치.
(12)
상기 파일 생성부에 의해 생성된 상기 파일은, DASH MPD 또는 ISOBMFF 구조를 갖는 파일인
상기 (11)에 기재된 정보 처리 장치.
(13)
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터에 대해서, 조합함으로써 고정세화할 수 있는 상기 부분 Point Cloud 데이터의 연결 정보를 더 포함하는
상기 (12)에 기재된 정보 처리 장치.
(14)
상기 파일 생성부에 의해 생성된 상기 파일은, 조합된 상기 부분 Point Cloud 데이터의 정세도를 나타내는 정세도 정보를 더 포함하는
상기 (13)에 기재된 정보 처리 장치.
(15)
상기 파일 생성부에 의해 생성된 상기 파일은, 저정세한 상기 부분을 렌더링하기 위한 렌더링 처리 정보를 더 포함하는
상기 (11) 내지 (14) 중 어느 하나에 기재된 정보 처리 장치.
(16)
상기 파일 생성부에 의해 생성된 상기 파일은, 상기 부분마다 다른 주관 품질 향상을 위해 필요한 렌더링 처리를 나타내는 주관 품질 향상 렌더링 처리 정보를 더 포함하는
상기 (15)에 기재된 정보 처리 장치.
(17)
정보 처리 장치가,
Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보를 생성하는 것
을 포함하고,
상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보가 생성되는
정보 처리 방법.
또한, 본 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 개시의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다. 또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것은 아니며, 다른 효과가 있어도 된다.
11 데이터 생성 장치
12 데이터 재생 장치
21 제어부
22 메모리
23 파일 생성부
31 데이터 입력부
32 데이터 부호화ㆍ생성부
33 MPD 파일 생성부
34 기록부
35 출력부
36 전처리부
37 부호화부
38 파일 생성부
41 제어부
42 메모리
43 재생 처리부
51 취득부
52 표시 제어부
53 데이터 해석ㆍ복호부
54 표시부
55 파일 해석부
56 복호부
57 표시 정보 생성부

Claims (17)

  1. Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 파일 생성부를 구비하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로 상기 부분 Point Cloud를 표시하는데 필용(required)이 되는 방향을 나타내는 방향 대응 정보를 더 포함하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 동적으로 변화되는 상기 공간 위치 정보를 더 포함하는 정보 처리 장치.
  4. 제2항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 동적으로 변화되는 상기 방향 대응 정보를 더 포함하는 정보 처리 장치.
  5. 제3항 또는 제4항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, DASH MPD(Dynamic Adaptive Streaming over HTTP Media Presentation Description) 또는, ISOBMFF(ISO Base Media File Format) 구조를 갖는 파일인 정보 처리 장치.
  6. 제1항에 있어서,
    상기 부분은, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는 정보 처리 장치.
  7. 제1항에 있어서,
    상기 부분 Point Cloud 데이터는, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 부분 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는 정보 처리 장치.
  8. 제1항에 있어서,
    상기 부분 Point Cloud 데이터는, 상기 Point Cloud 데이터 중에서 독립적으로 인코드 및 디코드할 수 있는 포인트의 집합인 brick으로 구성되어 있고,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 brick의 공간 위치 정보를, 상기 부분 Point Cloud 데이터의 스트림 내의 상기 brick을 구성하는 데이터 단위로 연결하는 정보를 더 포함하는 정보 처리 장치.
  9. 정보 처리 장치가,
    Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터 각각의 공간 상의 위치를 나타내는 공간 위치 정보와, 그들의 부분 Point Cloud 데이터를 그루핑하는 그루핑 정보를 포함하는 파일을 생성하는 것을 포함하는 정보 처리 방법.
  10. Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 Point Cloud 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도(definition)를 나타내는 부분 정세도 정보를 생성하는 부호화부를 구비하고,
    상기 부호화부는, 상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보를 생성하는 정보 처리 장치.
  11. 제10항에 있어서,
    상기 부호화부에 의해 생성된 상기 부분 정세도 정보 및 상기 방향 정보를 포함하는 파일을 생성하는 파일 생성부를 더 구비하는 정보 처리 장치.
  12. 제11항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, DASH MPD 또는 ISOBMFF 구조를 갖는 파일인 정보 처리 장치.
  13. 제12항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 Point Cloud 데이터가 복수의 부분으로 분할된 개개의 부분이 되는 부분 Point Cloud 데이터에 대해서, 조합함으로써 고정세화할 수 있는 상기 부분 Point Cloud 데이터의 연결 정보를 더 포함하는 정보 처리 장치.
  14. 제13항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 조합된 상기 부분 Point Cloud 데이터의 정세도를 나타내는 정세도 정보를 더 포함하는 정보 처리 장치.
  15. 제11항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 저정세한 상기 부분을 렌더링하기 위한 렌더링 처리 정보를 더 포함하는 정보 처리 장치.
  16. 제15항에 있어서,
    상기 파일 생성부에 의해 생성된 상기 파일은, 상기 부분마다 다른 주관 품질 향상을 위해 필요한 렌더링 처리를 나타내는 주관 품질 향상 렌더링 처리 정보를 더 포함하는 정보 처리 장치.
  17. 정보 처리 장치가,
    Point Cloud 데이터를 3차원 구조 베이스로 부호화하여 데이터 부호화 스트림을 생성할 때에, 부호화된 부분의 정세도를 나타내는 부분 정세도 정보를 생성하는 것을 포함하고,
    상기 부분 정세도 정보에 기초하여, 상기 Point Cloud 데이터의 로컬 좌표계를 기준으로, 상대적으로 고화질인 영역에 대한 방향을 나타내는 방향 정보가 생성되는 정보 처리 방법.
KR1020217016854A 2018-12-28 2019-12-16 정보 처리 장치 및 정보 처리 방법 KR20210108951A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-248322 2018-12-28
JP2018248322 2018-12-28
PCT/JP2019/049089 WO2020137642A1 (ja) 2018-12-28 2019-12-16 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
KR20210108951A true KR20210108951A (ko) 2021-09-03

Family

ID=71126235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217016854A KR20210108951A (ko) 2018-12-28 2019-12-16 정보 처리 장치 및 정보 처리 방법

Country Status (7)

Country Link
US (1) US11532103B2 (ko)
EP (1) EP3905532A4 (ko)
JP (1) JP7567481B2 (ko)
KR (1) KR20210108951A (ko)
CN (1) CN113302844A (ko)
SG (1) SG11202103291YA (ko)
WO (1) WO2020137642A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023204676A1 (ko) * 2022-04-22 2023-10-26 엘지전자 주식회사 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11403784B2 (en) * 2019-03-19 2022-08-02 Tencent America LLC Method and apparatus for tree-based point cloud compression (PCC) media stream using moving picture experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH)
US20230281923A1 (en) * 2020-08-07 2023-09-07 Vid Scale, Inc. Tile tracks for geometry-based point cloud data
CN112492385A (zh) * 2020-09-30 2021-03-12 中兴通讯股份有限公司 点云数据处理方法、装置、存储介质及电子装置
CN114374675B (zh) * 2020-10-14 2023-02-28 腾讯科技(深圳)有限公司 媒体文件的封装方法、媒体文件的解封装方法及相关设备
CN114549778A (zh) * 2020-11-26 2022-05-27 腾讯科技(深圳)有限公司 非时序点云媒体的处理方法、装置、设备及存储介质
USD1013717S1 (en) * 2021-01-08 2024-02-06 Sony Group Corporation Display screen or portion thereof with an animated graphical user interface
CN113709093B (zh) * 2021-03-15 2023-08-04 上海交通大学 一种三维点云的封装方法、装置及介质
CN117176715A (zh) * 2021-03-31 2023-12-05 腾讯科技(深圳)有限公司 点云编解码方法、装置、计算机可读介质及电子设备
CN115243053B (zh) 2021-04-22 2024-04-16 腾讯科技(深圳)有限公司 点云编解码方法及相关设备
WO2023176419A1 (ja) * 2022-03-17 2023-09-21 ソニーグループ株式会社 情報処理装置および方法
WO2024006279A1 (en) * 2022-06-28 2024-01-04 Drnc Holdings, Inc. Signaling parameter sets for geometry-based point cloud streams
CN115348243A (zh) * 2022-08-15 2022-11-15 上海交通大学 三维点云的传输方法、接收方法、传输装置、接收装置及存储介质
GB2623524A (en) * 2022-10-17 2024-04-24 Canon Kk Method, device, and computer program for improving transmission and/or storage of point cloud data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3466076A1 (en) * 2016-05-26 2019-04-10 VID SCALE, Inc. Methods and apparatus of viewport adaptive 360 degree video delivery
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
WO2017217191A1 (ja) * 2016-06-14 2017-12-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
FI20166017A (fi) * 2016-12-22 2018-06-23 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US10553015B2 (en) * 2017-03-31 2020-02-04 Google Llc Implicit view-dependent quantization
CN108052058B (zh) * 2018-01-31 2023-11-24 广州市建筑科学研究院有限公司 一种基于“互联网+”的建设工程现场安全巡管事务流转系统
KR102660514B1 (ko) * 2018-07-13 2024-04-24 한국전자통신연구원 스케일러블 포인트 클라우드 부호화/복호화 방법 및 장치
WO2020071703A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
US10853973B2 (en) * 2018-10-03 2020-12-01 Apple Inc. Point cloud compression using fixed-point numbers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
w17770, Third Working Draft for G-PCC(Geometry-based PCC), July 2018, Ljubljana, Slovenia
w18001, Description of Core Experiment 13.2 for G-PCC: Tile and Slice based Coding of Point Cloud, October 2018, Macau, China

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023204676A1 (ko) * 2022-04-22 2023-10-26 엘지전자 주식회사 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법

Also Published As

Publication number Publication date
EP3905532A1 (en) 2021-11-03
JPWO2020137642A1 (ja) 2021-11-11
SG11202103291YA (en) 2021-04-29
CN113302844A (zh) 2021-08-24
EP3905532A4 (en) 2022-11-30
US11532103B2 (en) 2022-12-20
WO2020137642A1 (ja) 2020-07-02
US20220036593A1 (en) 2022-02-03
JP7567481B2 (ja) 2024-10-16

Similar Documents

Publication Publication Date Title
KR20210108951A (ko) 정보 처리 장치 및 정보 처리 방법
JP7563385B2 (ja) 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
JP7415936B2 (ja) 情報処理装置および情報処理方法
JP7439762B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
JP7501372B2 (ja) 情報処理装置および情報処理方法
CN112369016A (zh) 信息处理装置、信息处理方法和程序
JP2022512509A (ja) 符号化された点群データの分割
WO2021251173A1 (ja) 情報処理装置および方法
KR20200051599A (ko) 화상 처리 장치 및 파일 생성 장치
WO2021065277A1 (ja) 情報処理装置、再生処理装置及び情報処理方法
JP2021182650A (ja) 画像処理装置および方法
JP7544048B2 (ja) 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
CN116636225A (zh) 信息处理装置和方法
WO2022220291A1 (ja) 情報処理装置および方法
WO2022054744A1 (ja) 情報処理装置および方法
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
WO2024143466A1 (ja) 情報処理装置および方法
US20220343545A1 (en) Method and apparatus for immersive video encoding and decoding
WO2022075078A1 (ja) 画像処理装置および方法
US20220076485A1 (en) Information processing apparatus and information processing method
KR20240108466A (ko) 동적 메시 압축에서의 모션 필드 코딩
JP2024155948A (ja) 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
JP2024016955A (ja) 符号化装置、ストリーム合成装置、復号装置、およびプログラム
KR20240093534A (ko) 메시 압축을 위한 변위 코딩
KR20240108449A (ko) 디코딩된 이웃에 기반한 정점 예측

Legal Events

Date Code Title Description
E902 Notification of reason for refusal