JP7434578B2 - ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法 - Google Patents

ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法 Download PDF

Info

Publication number
JP7434578B2
JP7434578B2 JP2022542126A JP2022542126A JP7434578B2 JP 7434578 B2 JP7434578 B2 JP 7434578B2 JP 2022542126 A JP2022542126 A JP 2022542126A JP 2022542126 A JP2022542126 A JP 2022542126A JP 7434578 B2 JP7434578 B2 JP 7434578B2
Authority
JP
Japan
Prior art keywords
point cloud
information
video
unit
atlas
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022542126A
Other languages
English (en)
Other versions
JP2023509537A (ja
Inventor
オ,セジン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2023509537A publication Critical patent/JP2023509537A/ja
Application granted granted Critical
Publication of JP7434578B2 publication Critical patent/JP7434578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video 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/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
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Description

実施例はユ-ザにVR(Virtual Reality、仮想現実)、AR(Augmented Reality、増強現実)、MR(Mixed Reality、複合現実)及び自律走行サ-ビスなどの様々なサ-ビスを提供するために、ポイントクラウド(Point Cloud)コンテンツを提供する方案を提供する。
ポイントクラウドは3D空間上のポイントの集合である。3D空間上のポイントの量が多く、ポイントクラウドデ-タの生成が難しいという問題がある。
ポイントクラウドのデ-タの送受信のためには、大量の処理量が求められるという問題がある。
実施例に係る技術的課題は、上記問題点を解決するために、ポイントクラウドを効率的に送受信するためのポイントクラウドデ-タ送信装置、送信方法、ポイントクラウドデ-タ受信装置及び受信方法を提供することにある。
実施例に係る技術的課題は、遅延時間(latency)及び符号化/復号の複雑度を解決するためのポイントクラウドデ-タ送信装置、送信方法、ポイントクラウドデ-タ受信装置及び受信方法を提供することにある。
但し、上記技術的課題のみに制限されず、この明細書の全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
上記目的及び他の利点を達成するために、実施例に係るポイントクラウドデ-タ送信方法は、ポイントクラウドデ-タを符号化する段階;ポイントクラウドデ-タをカプセル化(encapsulating)する段階;及びポイントクラウドデ-タを送信する段階を含む。また実施例によるポイントクラウドデ-タ受信装置は、ポイントクラウドデ-タを受信する受信部;ポイントクラウドデ-タをデカプセル化(decapsulating)するデカプセル化部;及びポイントクラウドデ-タを復号するデコ-ダを含む(備える;構成する;構築する;設定する;包接する;包含する;含有する)。
実施例によるポイントクラウドデ-タ送信方法、送信装置、ポイントクラウドデ-タ受信方法及び受信装置は、良質のポイントクラウドサ-ビスを提供することができる。
実施例によるポイントクラウドデ-タ送信方法、送信装置、ポイントクラウドデ-タ受信方法及び受信装置は、様々なビデオコ-デック方式を達成することができる。
実施例によるポイントクラウドデ-タ送信方法、送信装置、ポイントクラウドデ-タ受信方法及び受信装置は、自立走行サ-ビスなどの汎用のポイントクラウドコンテンツを提供することができる。
図面は実施例をさらに理解するために添付され、実施例に関する説明と共に実施例を示す。
実施例によるポイントクラウドコンテンツを提供するための送信/受信システム構造の一例を示す。 実施例によるポイントクラウドデ-タのキャプチャ-の一例を示す。 実施例によるポイントクラウド及びジオメトリ、テクスチャイメ-ジの一例を示す。 実施例によるV-PCC符号化処理の一例を示す。 実施例による表面(Surface)の接平面(tangent plane)及び法線ベクトル(normal vector)の一例を示す。 実施例によるポイントクラウドのバウンディングボックス(bounding box)の一例を示す。 実施例による占有マップ(occupancy map)の個別パッチ(patch)の位置決めの一例を示す。 実施例によるノ-マル(normal)、タンジェント(tangent)、バイタンジェント(bitangent)軸の関係の一例を示す。 実施例によるプロジェクションモ-ドの最小モ-ド及び最大モ-ドの構成の一例を示す。 実施例によるEDDコ-ドの一例を示す。 実施例による隣接点のカラ-(color)値を用いた復色(recoloring)の一例を示す。 実施例によるプッシュ-プルバックグラウンドフィリング(push-pull background filling)の一例を示す。 実施例による4*4サイズのブロック(block)に対して可能なトラバ-サルオ-ダ-(traversal order)の一例を示す。 実施例によるベストトラバ-サルオ-ダ-の一例を示す。 実施例による2Dビデオ/イメ-ジエンコ-ダ(2D video/image Encoder)の一例を示す。 実施例によるV-PCC復号プロセス(decoding process)の一例を示す。 実施例による2Dビデオ/イメ-ジデコ-ダ(2D Video/Image Decoder)の一例を示す。 実施例による送信装置の動作の流れの一例を示す。 実施例による受信装置の動作の流れの一例を示す。 実施例によるV-PCC基盤のポイントクラウドデ-タの格納及びストリ-ミングのためのア-キテクチャの一例を示す。 実施例によるポイントクラウドデ-タの格納及び送信装置の構成の一例を示す。 実施例によるポイントクラウドデ-タ受信装置の構成の一例を示す。 実施例によるポイントクラウドデ-タの送受信方法/装置と連動可能な構造の一例を示す。 実施例によるポイントクラウドの一部3次元領域とビデオフレ-ム上の領域の間の連関性を示す。 実施例によるポイントクラウドデ-タを含むビットストリ-ムの構造を示す。 実施例によるポイントクラウドデ-タを含むビットストリ-ムの構造を示す。 実施例によるV-PCCユニット及びV-PCCユニットヘッダを示す。 実施例によるV-PCCユニットのペイロ-ドを示す。 実施例によるパラメ-タセット(V-PCC parameter set)を示す。 実施例によるアトラスビットストリ-ムの構造を示す。 実施例によるアトラスシ-ケンスパラメ-タセット(atlas sequence parameter set)を示す。 実施例によるアトラスフレ-ムパラメ-タセット(atlas frame parameter set)を示す。 実施例によるアトラスフレ-ムタイル情報(atlas_frame_tile_information)を示す。 実施例による補足強化情報(Supplemental enhancement information、SEI)を示す。 実施例による3DバウンディングボックスSEIを示す。 実施例による3D領域マッピング情報SEIメッセ-ジを示す。 実施例によるボリュメトリックタイリング情報を示す。 実施例によるボリュメトリックタイリング情報客体を示す。 実施例によるボリュメトリックタイリング情報ラベルを示す。 実施例によるカプセル化されたV-PCCデ-タコンテナの構造を示す。 実施例による絶縁されたV-PCCデ-タコンテナ構造を示す。 実施例によるV-PCCサンプルエントリ-を示す。 実施例によるトラックの代替及びグル-ピングを示す。 実施例による3D領域マッピング情報構造を示す。 実施例による3D領域マッピング情報構造を示す。 実施例によるノンタイム(non-timed)V-PCCデ-タをカプセル化するための構造を示す。 実施例によるポイントクラウドデ-タ送信方法を示す。 実施例によるポイントクラウドデ-タ受信方法を示す。
以下、添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというよりは、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に対する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものであり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。
図1は、実施例によるポイントクラウドコンテンツを提供するための送信/受信システム構造の一例を示す。
本文書では、ユ-ザにVR(Virtual Reality、仮想現実)、AR(Augmented Reality、増強現実)、MR(Mixed Reality、混合現実)及び自立走行サ-ビスなどの様々なサ-ビスを提供するために、ポイントクラウドコンテンツを提供する方案を提供する。実施例によるポイントクラウドコンテンツは、客体をポイントによって表現したデ-タを示し、ポイントクラウド、ポイントクラウドデ-タ、ポイントクラウドビデオデ-タ、ポイントクラウドイメ-ジデ-タなどとも呼ばれる。
実施例によるポイントクラウドデ-タ送信装置(Transmission device)10000は、ポイントクラウドビデオ取得部(Point Cloud Video Acquisition unit)10001、ポイントクラウドビデオエンコ-ダ(Point Cloud Video Encoder)10002、ファイル/セグメントカプセル化部10003及び/又は送信機(Transmitter(or Communication module))10004を含む。実施例による送信装置は、ポイントクラウドビデオ(又はポイントクラウドコンテンツ)を確保して処理し、送信することができる。実施例によって、送信装置は、固定局(fixed station)、BTS(base transceiver system)、ネットワ-ク、AI(Artificial Intelligence)機器及び/又はシステム、ロボット、AR/VR/XR機器及び/又はサ-バ-などを含む。また実施例によって、送信装置10000は、無線接続技術(例えば、5G NR(New RAT)、LTE(Long Term Evolution))を用いて、基地局及び/又は他の無線機器と通信を行う機器、ロボット、車両、AR/VR/XR機器、携帯機器、家電、IoT(Internet of Thing)機器、AI機器/サ-バ-などを含む。
実施例によるポイントクラウドビデオ取得部(Point Cloud Video Acquisition unit)10001は、ポイントクラウドビデオのキャプチャ-、合成又は生成プロセスなどによってポイントクラウドビデオを取得する。
実施例によるポイントクラウドビデオエンコ-ダ(Point Cloud Video Encoder)10002は、ポイントクラウドビデオデ-タを符号化する。実施例によって、ポイントクラウドビデオエンコ-ダ10002は、ポイントクラウドエンコ-ダ、ポイントクラウドデ-タエンコ-ダ、エンコ-ダなどと呼ばれる。また実施例によるポイントクラウド圧縮コ-ティング(符号化)は、上述した実施例に限らない。ポイントクラウドビデオエンコ-ダは、符号化されたポイントクラウドビデオデ-タを含むビットストリ-ムを出力する。ビットストリ-ムは符号化されたポイントクラウドビデオデ-タのみならず、ポイントクラウドビデオデ-タの符号化に関連するシグナリング情報を含む。
実施例によるエンコ-ダはG-PCC(Geometry-based Point Cloud Compression)符号化方式及び/又はV-PCC(Video-based Point Cloud Compression)符号化方式をいずれも支援する。またエンコ-ダはポイントクラウド(ポイントクラウドデ-タ又はポイントの全てを称する)及び/又はポイントクラウドに関するシグナリングデ-タを符号化することができる。実施例による符号化の具体的な動作については後述する。
一方、この明細書で使用するV-PCC用語は、ビデオ基盤のポイントクラウド圧縮(Video-based point Cloud Compression(V-PCC))を意味し、V-PCC用語はビジュアルボリュメトリックビデオ基盤のコ-ディング(Visual Volumetric Video-based Coding(V3C))と同一であり、相互補完して称することができる。
実施例によるファイル/セグメントカプセル化部(File/Segment Encapsulation module)10003は、ポイントクラウドデ-タをファイル及び/又はセグメントの形式でカプセル化する。実施例によるポイントクラウドデ-タ送信方法/装置は、ポイントクラウドデ-タをファイル及び/又はセグメントの形式で送信することができる。
実施例による送信機(Transmitter(or Communication module))10004は、符号化されたポイントクラウドビデオデ-タをビットストリ-ムの形式で送信する。実施例によって、ファイル又はセグメントは、ネットワ-クを介して受信装置へ送信されるか、又はデジタル記憶媒体(例えば、USB、SD、CD、DVD、ブル-レイ、HDD、SSDなど)に格納される。実施例による送信機は受信装置(又は受信機(Receiver))と4G、5G、6Gなどのネットワ-クを介して有/無線通信が可能である。また送信機はネットワ-クシステム(例えば、4G、5G、6Gなどの通信ネットワ-クシステム)に応じて必要なデ-タ処理の動作を行うことができる。また送信装置はオン・デマンド(On Demand)の方式によってカプセル化されたデ-タを送信することもできる。
実施例によるポイントクラウドデ-タ受信装置(Reception device)10005は、受信機(Receiver)10006、ファイル/セグメントデカプセル化部10007、ポイントクラウドビデオデコ-ダ(Point Cloud video Decoder)10008、及び/又はレンダラ-(Renderer)10009を含む。実施例によって受信装置は無線接続技術(例えば、5G NR(New RAT)、LTE(Long Term Evolution))を用いて、基地局及び/又は他の無線機器と通信を行う機器、ロボット、車両、AR/VR/XR機器、携帯機器、家電、IoT(Internet of Thing)機器、AI機器/サ-バ-などを含む。
実施例による受信機(Receiver)10006は、ポイントクラウドビデオデ-タを含むビットストリ-ムを受信する。実施例によって受信機10006は、フィ-ドバック情報(Feedback Information)をポイントクラウドデ-タ送信装置10000に送信する。
ファイル/セグメントデカプセル化部(File/Segment Decapsulation module)10007は、ポイントクラウドデ-タを含むファイル及び/又はセグメントをデカプセル化する。実施例によるデカプセル化部は実施例によるカプセル化過程の逆過程を行う。
ポイントクラウドビデオデコ-ダ(Point Cloud video Decoder)10007は、受信したポイントクラウドビデオデ-タを復号する。実施例によるデコ-ダは実施例による符号化の逆過程を行う。
レンダラ-(Renderer)10007は、復号されたポイントクラウドビデオデ-タをレンダリングする。実施例によってレンダラ-10007は受信端側で取得したフィ-ドバック情報をポイントクラウドビデオデコ-ダ10006に送信する。実施例によるポイントクラウドビデオデ-タはフィ-ドバック情報を受信機に送信する。実施例によれば、ポイントクラウド送信装置が受信したフィ-ドバック情報は、ポイントクラウドビデオエンコ-ダに提供される。
図面において点線で示した矢印は、受信装置10005で取得したフィ-ドバック情報(feedback information)の送信経路を示す。フィ-ドバック情報は、ポイントクラウドコンテンツを消費するユ-ザとの相互作用を反映するための情報であって、ユ-ザの情報(例えば、ヘッドオリエンテ-ション情報、ビュ-ポ-ト情報など)を含む。特にポイントクラウドコンテンツがユ-ザとの相互作用が必要なサ-ビス(例えば、自律走行サ-ビスなど)のためのものである場合、フィ-ドバック情報はコンテンツ送信側(例えば、送信装置10000)及び/又はサ-ビス供給者に伝送される。実施例によっては、フィ-ドバック情報は送信装置10000だけではなく受信装置10005で使用されることもあり、提供されないこともある。
実施例によるヘッドオリエンテ-ション情報は、ユ-ザの頭の位置、方向、角度、動きなどに関する情報である。実施例による受信装置10005は、ヘッドオリエンテ-ション情報に基づいてビュ-ポ-ト情報を算出する。ビュ-ポ-ト情報はユ-ザが見ているポイントクラウドビデオの領域に関する情報である。視点(viewpoint)はユ-ザがポイントクラウドビデオを見ている点であり、ビュ-ポ-ト領域の真ん中を意味する。即ち、ビュ-ポ-トは視点を中心とする領域であり、領域のサイズ、形態などはFOV(Field Of View)により決定される。従って、受信装置10004は、ヘッドオリエンテ-ション情報の他に、装置が支援する垂直(vertical)或いは水平(horizontal)FOVなどに基づいてビュ-ポ-ト情報を抽出することができる。また受信装置10005はゲイズ分析(Gaze Analysis)などを行って、ユ-ザのポイントクラウド消費方式、ユ-ザが凝視するポイントクラウドビデオ領域、凝視時間などを確認する。実施例によれば、受信装置10005はゲイズ分析の結果を含むフィ-ドバック情報を送信装置10000に送信する。実施例によるフィ-ドバック情報はレンダリング及び/又はディスプレイプロセスで得られる。実施例によるフィ-ドバック情報は、受信装置10005に含まれた一つ又はそれ以上のセンサにより確保される。また実施例によれば、フィ-ドバック情報は、レンダラ-10009又は別の外部エレメント(又はデバイス、コンポ-ネントなど)により確保される。図1に示された点線はレンダラ-10009で確保したフィ-ドバック情報の伝送プロセスを示す。ポイントクラウドコンテンツ提供システムはフィ-ドバック情報に基づいてポイントクラウドデ-タを処理(符号化/復号)する。従って、ポイントクラウドビデオデ-タデコ-ダ10008はフィ-ドバック情報に基づいて復号の動作を行うことができる。また受信装置10005はフィ-ドバック情報を送信装置に送信する。送信装置(又はポイントクラウドビデオデ-タエンコ-ダ10002)は、フィ-ドバック情報に基づいて符号化動作を行う。従って、ポイントクラウドコンテンツ提供システムは、全てのポイントクラウドデ-タを処理(符号化/復号)せず、フィ-ドバック情報に基づいて必要なデ-タ(例えば、ユ-ザのヘッド位置に対応するポイントクラウドデ-タ)を効率的に処理して、ユ-ザにポイントクラウドコンテンツを提供することができる。
実施例において、送信装置10000はエンコ-ダ、送信デバイス、送信機などと呼ばれ、受信装置10004はデコ-ダ、受信デバイス、受信機などと呼ばれる。
実施例による図1のポイントクラウドコンテンツ提供システムで処理される(取得/符号化/送信/復号/レンダリングの一連のプロセスで処理される)ポイントクラウドデ-タは、ポイントクラウドコンテンツデ-タ又はポイントクラウドビデオデ-タとも呼ばれる。実施例によれば、ポイントクラウドコンテンツデ-タはポイントクラウドデ-タに関連するメタデ-タ又はシグナリング情報を含む概念として使用することができる。
図1に示したポイントクラウドコンテンツ提供システムの要素は、ハ-ドウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどで具現できる。
実施例はユ-ザにVR(Virtual Reality、仮想現実)、AR(Augmented Reality、増強現実)、MR(Mixed Reality、混合現実)及び自立走行サ-ビスなどの様々なサ-ビスを提供するために、ポイントクラウドコンテンツを提供する。
ポイントクラウドコンテンツサ-ビスを提供するために、まず、ポイントクラウドビデオを得る。得られたポイントクラウドビデオは、一連のプロセスにより送信され、受信側で受信したデ-タを再び元のポイントクラウドビデオに加工してレンダリングする。これにより、ポイントクラウドビデオをユ-ザに提供することができる。実施例はこれらの一連のプロセスを効果的に行うために必要な方案を提供する。
ポイントクラウドコンテンツサ-ビスを提供するための全体のプロセス(ポイントクラウドデ-タ送信方法及び/又はポイントクラウドデ-タ受信方法)は、取得プロセス、符号化プロセス、送信プロセス、復号プロセス、レンダリングプロセス及び/又はフィ-ドバックプロセスを含む。
実施例によれば、ポイントクラウドコンテンツ(又はポイントクラウドデ-タ)を提供するプロセスは、ポイントクラウド圧縮(Point Cloud Compression)プロセスとも呼ぶ。実施例によれば、ポイントクラウド圧縮プロセスは、ジオメトリ基盤のポイントクラウド圧縮(Geometry-based Point Cloud Compression)プロセスを意味する。
実施例によるポイントクラウドデ-タ送信装置及びポイントクラウドデ-タ受信装置の各要素は、ハ-ドウェア、ソフトウェア、プロセッサ及び/又はそれらの組み合わせなどを意味する。
ポイントクラウドコンテンツサ-ビスを提供するために、まず、ポイントクラウドビデオを得る。得られたポイントクラウドビデオは、一連のプロセスにより送信され、受信側で受信したデ-タを再び元のポイントクラウドビデオに加工してレンダリングする。これにより、ポイントクラウドビデオをユ-ザに提供することができる。本発明はこれらの一連のプロセスを効果的に行うために必要な方案を提供する。
ポイントクラウドコンテンツサ-ビスを提供するための全てのプロセスは、取得プロセス、符号化プロセス、送信プロセス、復号プロセス、レンダリングプロセス及び/又はフィ-ドバックプロセスを含む。
ポイントクラウド圧縮システムは、送信デバイス及び受信デバイスを含む。送信デバイスはポイントクラウドビデオを符号化してビットストリ-ムを出力し、それをファイル又はストリ-ミング(ストリ-ミングセグメント)の形式でデジタル記憶媒体又はネットワ-クを介して受信デバイスへ伝送する。デジタル記憶媒体は、USB、SD、CD、DVD、ブル-レイ、HDD、SSDなど様々な記憶媒体を含む。
送信デバイスは概略にポイントクラウドビデオ取得部、ポイントクラウドビデオエンコ-ダ、ファイル/セグメントカプセル化部、送信部を含む。受信デバイスは概略に受信部、ファイル/セグメントデカプセル化部、ポイントクラウドビデオデコ-ダ及びレンダラ-を含む。エンコ-ダはポイントクラウドビデオ/映像/ピクチャ-/フレ-ム符号化装置とも呼ばれ、デコ-ダはポイントクラウドビデオ/映像/ピクチャ-/フレ-ム復号装置とも呼ばれる。送信機はポイントクラウドビデオエンコ-ダに含まれてもよい。受信機はポイントクラウドビデオデコ-ダに含まれてもよい。レンダラ-はディスプレイ部を含んでもよく、レンダラ-及び/又はディスプレイ部は別のデバイス又は外部コンポ-ネントで構成されてもよい。送信デバイス及び受信デバイスはフィ-ドバックプロセスのための別の内部又は外部のモジュ-ル/ユニット/コンポ-ネントをさらに含んでもよい。
実施例による受信デバイスの動作は、送信デバイスの動作の逆プロセスに従う。
ポイントクラウドビデオ取得部は、ポイントクラウドビデオのキャプチャ-、合成又は生成プロセスなどを通じてポイントクラウドビデオを得るプロセスを行う。取得プロセスによって、多数のポイントに対する3D位置(x、y、z)/属性(色、反射率、透明度など)デ-タ、例えば、PLY(Polygon File format or the Stanford Triangle format)ファイルなどが生成される。複数のフレ-ムを有するビデオの場合、1つ以上のファイルを得ることができる。キャプチャ-プロセスにおいてポイントクラウドに関連するメタデ-タ(例えば、キャプチャ-に関するメタデ-タなど)が生成される。
実施例によるポイントクラウドデ-タ送信装置は、ポイントクラウドデ-タを符号化するエンコ-ダ、及びポイントクラウドデ-タを送信する送信機を含んでもよい。またポイントクラウドを含むビットストリ-ムの形式で送信されてもよい。
実施例によるポイントクラウドデ-タ受信装置は、ポイントクラウドデ-タを受信する受信部、ポイントクラウドデ-タを復号するデコ-ダ、及びポイントクラウドデ-タをレンダリングするレンダラ-を含む。
実施例による方法/装置は、ポイントクラウドデ-タ送信装置及び/又はポイントクラウドデ-タ受信装置を示す。
図2は、実施例によるポイントクラウドデ-タのキャプチャ-の一例を示す。
実施例によるポイントクラウドデ-タはカメラなどにより得られる。実施例によるキャプチャ-の方法は、例えば、内向き方式(inward-facing)及び/又は外向き方式(outward-facing)がある。
実施例による内向き方式は、ポイントクラウドデ-タの客体(Object)を1つ又は1つ以上のカメラが客体の外側から内側へ撮影して取得するキャプチャ-方式である。
実施例による外向き方式は、ポイントクラウドデ-タの客体を1つ又は1つ以上のカメラが客体の内側から外側へ撮影して取得する方式である。例えば、実施例によればカメラが4つある。
実施例によるポイントクラウドデ-タ又はポイントクラウドコンテンツは、様々な形式の3D空間上に表現される客体/環境のビデオ又は停止映像である。実施例によれば、ポイントクラウドコンテンツは客体(objectなど)に対するビデオ/オ-ディオ/イメ-ジなどを含む。
ポイントクラウドコンテンツキャプチャ-のために深さ(depth)を得られるカメラ装備(赤外線パタ-ンプロジェクタ-と赤外線カメラとの組み合わせ)と深さ情報に対応する色情報が抽出可能なRGBカメラの組み合わせによって構成される。又はレ-ザパルスを打ち、反射して戻る時間を測定して、反射体の位置座標を測定するレ-ダ-システムを用いるライダ-(LiDAR)によって深さ情報を抽出することができる。深さ情報より3D空間上の点で構成されたジオメトリ(geometry)の形式を抽出し、RGB情報より各点の色/反射を表現する特質(attribute)を抽出することができる。ポイントクラウドコンテンツは点に対する位置(x、y、z)、色(YCbCr又はRGB)又は反射率(r)情報で構成される。ポイントクラウドコンテンツは、外部環境をキャプチャ-する外向き方式(outward-facing)と、中心客体をキャプチャ-する内向き方式(inward-facing)とがある。VR/AR環境において客体(例えば、キャラクタ-、選手、物、俳優などの核心となる客体)を360°にユ-ザが自由に見られるポイントクラウドコンテンツとして構成する場合、キャプチャ-カメラの構成は内向き方式を用いる。また、自立走行のように自動車の現在周辺環境をポイントクラウドコンテンツとして構成する場合は、キャプチャ-カメラの構成は外向き方式を用いる。複数のカメラによってポイントクラウドコンテンツがキャプチャ-されるため、カメラ間のグロ-バル空間座標系(global coordinate system)を設定するためにコンテンツをキャプチャ-する前にカメラの校正プロセスが必要となることもある。
ポイントクラウドコンテンツは、様々な形態の3D空間上に示される客体/環境のビデオ又は停止映像である。
その他に、ポイントクラウドコンテンツの取得方法は、キャプチャ-されたポイントクラウドビデオに基づいて任意のポイントクラウドビデオが合成できる。又はコンピュ-タ-で生成された仮想の空間に対するポイントクラウドビデオを提供しようとする場合、実際にカメラによるキャプチャ-が行われないことがある。この場合、単に、関連デ-タが生成されるプロセスによって該当キャプチャ-プロセスが代替できる。
キャプチャ-されたポイントクラウドビデオは、コンテンツの質を向上させるための後処理が必要である。映像キャプチャ-プロセスにおいてカメラ装備が提供する範囲内で最大/最小の深さ値が調整できるが、その後にも所望しない領域のポイントデ-タが含まれることがあり、所望しない領域(例えば、背景)を除去するか、又は連結された空間を認識して穴(spatial hole)を埋める後処理を行ってもよい。また、空間座標系を共有するカメラから抽出されたポイントクラウドは、校正プロセスによって取得した各カメラの位置座標を基準として、各ポイントに対するグロ-バル座標系への変換プロセスにより、1つのコンテンツに統合できる。これにより、1つの広い範囲のポイントクラウドコンテンツを生成することもでき、又はポイントの密度の高いポイントクラウドコンテンツを取得することもできる。
ポイントクラウドビデオエンコ-ダは、入力されるポイントクラウドビデオを1つ以上のビデオストリ-ムに符号化する。1つのポイントクラウドビデオは、複数のフレ-ムを含んでもよく、1つのフレ-ムは停止映像/ピクチャ-に対応する。本文書において、ポイントクラウドビデオとは、ポイントクラウド映像/フレ-ム/ピクチャ-/ビデオ/オ-ディオ/イメ-ジなどを含み、ポイントクラウドビデオはポイントクラウド映像/フレ-ム/ピクチャ-と混用できる。ポイントクラウドビデオエンコ-ダは、ビデオベ-スポイントクラウド圧縮(V-PCC)の手順を行う。ポイントクラウドビデオエンコ-ダは、圧縮及びコ-ティングの効率のために、予測、変換、量子化、エントロピ-符号化などの一連の手順を行う。符号化されたデ-タ(符号化されたビデオ/映像情報)は、ビットストリ-ムの形態で出力される。V-PCC手順に基づく場合、ポイントクラウドビデオエンコ-ダはポイントクラウドビデオを、後述のように、ジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、また付加情報(auxiliary information)に分けて符号化する。ジオメトリビデオはジオメトリイメ-ジを含み、特質(attribute)ビデオは特質イメ-ジを含み、占有(occupancy)マップビデオは占有マップイメ-ジを含む。付加情報は付加パッチ情報(auxiliary patch information)を含む。特質ビデオ/イメ-ジはテキスチャ-ビデオ/イメ-ジを含む。
カプセル化処理部(file/segment encapsulation module)10003は、符号化されたポイントクラウドビデオデ-タ及び/又はポイントクラウドビデオ関連メタデ-タをファイルなどの形式でカプセル化する。ここで、ポイントクラウドビデオ関連メタデ-タは、メタデ-タ処理部などから伝送される。メタデ-タ処理部は、ポイントクラウドビデオエンコ-ダに含まれてもよく、又は別のコンポ-ネント/モジュ-ルで構成されてもよい。カプセル化部は該当デ-タをISOBMFFなどのファイルフォ-マットでカプセル化してもよく、その他のDASHセグメントなどの形式で処理してもよい。カプセル化処理部は、実施例によれば、ポイントクラウドビデオ関連メタデ-タをファイルフォ-マット上に含ませてもよい。ポイントクラウドビデオ関連メタデ-タは、例えば、ISOBMFFファイルフォ-マット上の多様なレベルのボックスに含まれるか、又はファイル内で別のトラックに含まれる。実施例によれば、カプセル化処理部は、ポイントクラウドビデオ関連メタデ-タそのものをファイルでカプセル化する。送信処理部はファイルフォ-マットによってカプセル化されたポイントクラウドビデオデ-タに送信のための処理を加えてもよい。送信処理部は、送信部に含まれてもよく、又は別のコンポ-ネント/モジュ-ルで構成されてもよい。送信処理部は、任意の送信プロトコルに従ってポイントクラウドビデオデ-タを処理する。送信のための処理には、放送網を介して伝送するための処理、ブロ-ドバンドを介して伝送するための処理を含む。実施例による送信処理部は、ポイントクラウドビデオデ-タのみならず、メタデ-タ処理部からポイントクラウドビデオ関連メタデ-タが伝送され、これに送信するための処理を加える。
送信部10004は、ビットストリ-ムの形式で出力された符号化されたビデオ/映像情報又はデ-タをファイル又はストリ-ミングの形式でデジタル記憶媒体又はネットワ-クを介して受信デバイスの受信機へ伝送する。デジタル記憶媒体にはUSB、SD、CD、DVD、ブル-レイ、HDD、SSDなどが含まれる。送信部は所定のファイルフォ-マットによってメディアファイルを生成するための要素を含み、放送/通信ネットワ-クを介した送信のための要素を含む。受信部はビットストリ-ムを抽出して復号装置に伝送する。
受信機10003は、本発明によるポイントクラウドビデオ送信装置が送信したポイントクラウドビデオデ-タを受信する。送信されるチャネルに応じて、受信部は、放送網を介してポイントクラウドビデオデ-タを受信してもよく、ブロ-ドバンドを介してポイントクラウドビデオデ-タを受信してもよい。又はデジタル記憶媒体を介してポイントクラウドビデオデ-タを受信してもよい。
受信処理部は、受信したポイントクラウドビデオデ-タに対して送信プロトコルに従う処理を行う。受信処理部は受信部に含まれてもよく、又は別のコンポ-ネント/モジュ-ルで構成されてもよい。送信側で送信のための処理が行われることに対応するように、受信処理部は上述した送信処理部の逆プロセスを行う。受信処理部は取得したポイントクラウドビデオデ-タはデカプセル化処理部に伝送し、取得したポイントクラウドビデオ関連メタデ-タはメタデ-タ処理部に伝送する。受信処理部が取得するポイントクラウドビデオ関連メタデ-タはシグナリングテ-ブルの形式であってもよい。
デカプセル化処理部(file/segment decapsulation module)10007は、受信処理部から伝送されたファイル形式のポイントクラウドビデオデ-タをデカプセル化する。デカプセル化処理部はISOBMFFなどによるファイルをデカプセル化し、ポイントクラウドビデオビットストリ-ムないしポイントクラウドビデオ関連メタデ-タ(メタデ-タビットストリ-ム)を取得する。取得したポイントクラウドビデオビットストリ-ムは、ポイントクラウドビデオデコ-ダに伝送し、取得したポイントクラウドビデオ関連メタデ-タ(メタデ-タビットストリ-ム)はメタデ-タ処理部に伝送する。ポイントクラウドビデオビットストリ-ムはメタデ-タ(メタデ-タビットストリ-ム)を含んでもよい。メタデ-タ処理部はポイントクラウドビデオデコ-ダに含まれてもよく、又は別のコンポ-ネント/モジュ-ルで構成されてもよい。デカプセル化処理部が取得するポイントクラウドビデオ関連メタデ-タは、ファイルフォ-マット内のボックス又はトラックの形式であってもよい。デカプセル化処理部は、必要な場合、メタデ-タ処理部からデカプセル化に必要なメタデ-タが伝送される。ポイントクラウドビデオ関連メタデ-タは、ポイントクラウドビデオデコ-ダに伝送されてポイントクラウドビデオ復号の手順に用いられるか、又はレンダラ-に伝送されてポイントクラウドビデオレンダリングの手順に用いられる。
ポイントクラウドビデオデコ-ダは、ビットストリ-ムが入力され、ポイントクラウドビデオエンコ-ダの動作に対応する動作を行い、ビデオ/映像を復号する。この場合、ポイントクラウドビデオデコ-ダは、ポイントクラウドビデオを、後述のように、ジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、また付加情報(auxiliary information)に分けて復号する。ジオメトリビデオはジオメトリイメ-ジを含み、特質(attribute)ビデオは特質イメ-ジを含み、占有(occupancy)マップビデオは占有マップイメ-ジを含む。付加情報は付加パッチ情報(auxiliary patch information)を含む。特質ビデオ/イメ-ジはテキスチャ-ビデオ/イメ-ジを含む。
復号されたジオメトリイメ-ジと占有マップ及び付加パッチ情報を用いて、3Dジオメトリが復元され、その後平滑化プロセスを経てもよい。平滑化された3Dジオメトリにテキスチャ-イメ-ジを用いてカラ-値を与えることで、カラ-ポイントクラウド映像/ピクチャ-が復元される。レンダラ-は、復元されたジオメトリ、カラ-ポイントクラウド映像/ピクチャ-をレンダリングする。レンダリングされたビデオ/映像は、ディスプレイ部によってディスプレイされる。ユ-ザはVR/ARディスプレイ又は一般のディスプレイなどによってレンダリングされた結果の全部又は一部の領域を見る。
フィ-ドバックプロセスは、レンダリング/ディスプレイのプロセスにおいて取得可能な様々なフィ-ドバック情報を送信側に伝送するか、受信側のデコ-ダに伝送するプロセスを含んでもよい。フィ-ドバックプロセスにより、ポイントクラウドビデオの消費において相互作用(interactivity)が提供される。実施例によれば、フィ-ドバックプロセスにおいてヘッドオリエンテ-ション(Head Orientation)情報、ユ-ザが現在見ている領域を示すビュ-ポ-ト(Viewport)情報などが伝送される。実施例によれば、ユ-ザは、VR/AR/MR/自立走行環境上に具現されたものと相互作用できるが、この場合、その相互作用に関連する情報がフィ-ドバックプロセスで送信側ないしサ-ビス供給者側に伝送されることがある。実施例によってフィ-ドバックプロセスは行わなくてもよい。
ヘッドオリエンテ-ション情報は、ユ-ザの頭の位置、角度、動きなどに関する情報である。この情報に基づいて、ユ-ザがポイントクラウドビデオ内で現在見ている領域の情報、即ち、ビュ-ポ-ト情報が算出される。
ビュ-ポ-ト情報は、ユ-ザがポイントクラウドビデオで現在見ている領域の情報である。これにより、ゲイズ分析(Gaze Analysis)が行われ、ユ-ザがどんな方式でポイントクラウドビデオを消費するか、ポイントクラウドビデオのどの領域をどのくらい凝視するかなどを確認できる。ゲイズ分析は、受信側で行われて送信側にフィ-ドバックチャネルを介して伝送される。VR/AR/MRディスプレイなどの装置は、ユ-ザの頭の位置/方向、装置が支援する垂直(vertical)又は水平(horizontal)FOVなどに基づいてビュ-ポ-ト領域を抽出する。
実施例によれば、上述したフィ-ドバック情報は送信側に伝送されるだけではなく、受信側で消費されてもよい。即ち、上述したフィ-ドバック情報を用いて受信側の復号、レンダリングのプロセスなどが行われる。例えば、ヘッドオリエンテ-ション情報及び/又はビュ-ポ-ト情報を用いて、ユ-ザが現在見ている領域に対するポイントクラウドビデオのみを優先して復号及びレンダリングする。
ここで、ビュ-ポ-ト(viewport)ないしビュ-ポ-ト領域とは、ユ-ザがポイントクラウドビデオで見ている領域である。視点(viewpoint)はユ-ザがポイントクラウドビデオで見ている地点であって、ビュ-ポ-ト領域の真ん中を意味する。即ち、ビュ-ポ-トは視点を中心とした領域であり、その領域が占めるサイズ、形態などはFOV(Field Of View)により決定される。
この明細書は、上述のように、ポイントクラウドビデオ圧縮に関する。例えば、この明細書に開示の方法/実施例は、MPEG(Moving Picture Experts Group)のPCC(point Cloud compression or Point Cloud coding)標準又は次世代ビデオ/イメ-ジコ-ティング標準に適用できる。
この明細書においてピクチャ-/フレ-ムは、一般に特定の時間帯の1つの映像を示す単位を意味する。
ピクセル(pixel)又はペル(pel)は1つのピクチャ-(又は映像)を構成する最小の単位を意味する。また、ピクセルに対応する用語として「サンプル(sample)」が用いられる。サンプルは、一般に、ピクセル又はピクセルの値を示し、輝度(luma)成分のピクセル/ピクセル値のみを示してもよく、彩度(chroma)成分のピクセル/ピクセル値のみを示してもよく、又は深さ(depth)成分のピクセル/ピクセル値のみを示してもよい。
ユニット(unit)は映像処理の基本単位を示す。ユニットはピクチャ-の特定の領域及びその領域に関する情報のうちの少なくとも1つを含む。ユニットは、場合によって、ブロック(block)又は領域(area)又はモジュ-ルなどの用語と混用する。一般の場合、MxNブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)の集合(又はアレイ)を含む。
図3は、実施例によるポイントクラウド及びジオメトリ、テクスチャイメ-ジの一例を示す。
実施例によるポイントクラウドは、後述する図4のV-PCC符号化プロセスに入力され、ジオメトリイメ-ジ、テクスチャイメ-ジが生成される。実施例によれば、ポイントクラウドはポイントクラウドデ-タと同一の意味で使用される。
図3において、左側の図はポイントクラウドであって、3D空間上にポイントクラウド客体が位置し、これをバウンディングボックスなどで表現するポイントクラウドを示す。図3の中間の図はジオメトリイメ-ジを示し、右側の図はテキスチャ-イメ-ジ(ノン-パッド)を示す。
ビデオベ-スポイントクラウド圧縮(Video-based Point Cloud Compression、V-PCC)は、HEVC(Efficiency Video Coding)、VVC(Versatile Video Coding)などの2Dビデオコ-デック(video codec)に基づいて3Dポイントクラウドデ-タを圧縮する方法である。V-PCC圧縮プロセスにおいて、以下のようなデ-タ及び情報が生成される。
占有マップ(occupancy map):ポイントクラウドを成す点をパッチに分けて2D平面にマップするとき、2D平面の該当位置にデ-タが存在するか否かを0又は1の値で知らせる2進マップ(binary map)を示す。占有マップ(occupancy map)はアトラスに対応する2Dアレイを示し、占有マップの値はアトラス内の各サンプル位置が3Dポイントに対応するか否かを示す。
アトラス(atlas)は、ボリュメトリックデ-タがレンダリングされる3D空間内の3Dバウンディングボックスに対応する矩形フレ-ムに位置する2Dバウンディングボックス及びそれに関連する情報の集合である。
アトラスビットストリ-ム(atlas bitstream)は、アトラス(atlas)を構成する1つ以上のアトラスフレ-ム(atlas frame)と関連デ-タに対するビットストリ-ムである。
アトラスフレ-ム(atlas frame)は、複数のパッチ(patch)がプロジェクションされたアトラスサンプル(atlas sample)の2D矩形配列である。
アトラスサンプル(atlas sample)は、アトラス(atlas)に連関するパッチ(patch)がプロジェクションされた矩形フレ-ムのポジション(position)である。
アトラスフレ-ム(atlas frame)は、タイル(tile)に分割される。タイルは2Dフレ-ムを分割する単位である。即ち、タイルはアトラスというポイントクラウドデ-タのシグナリング情報を分割する単位である。
パッチ(patch):ポイントクラウドを構成する点の集合であり、同じパッチに属する点は3D空間上で互いに隣接し、2Dイメ-ジへのマッピングプロセスにおいて6面の境界ボックス平面のうち同じ方向にマップされることを示す。
パッチはタイルを分割する単位である。パッチはポイントクラウドデ-タの構成に関するシグナリング情報である。
実施例による受信装置は、アトラス(タイル、パッチ)に基づいて同じプレゼンテ-ションタイムを有する実際ビデオデ-タである特質ビデオデ-タ、ジオメトリビデオデ-タ、占有ビデオデ-タを復元することができる。
ジオメトリイメ-ジ:ポイントクラウドを成す各点の位置情報(geometry)をパッチ単位で表現する深さマップの形式のイメ-ジを示す。ジオメトリイメ-ジは1チャネルのピクセル値で構成される。ジオメトリはポイントクラウドフレ-ムに連関する座標のセットを示す。
テキスチャ-イメ-ジ(texture image):ポイントクラウドを成す各点の色情報をパッチ単位で表現するイメ-ジを示す。テキスチャ-イメ-ジは複数のチャネルのピクセル値(例えば、3チャネルR、G、B)で構成される。テキスチャ-は特質に含まれる。実施例によれば、テキスチャ-及び/又は特質は同一の対象及び/又は包含関係として解釈される。
付加パッチ情報(auxiliary patch info):個別パッチからポイントクラウドを再構成するために必要なメタデ-タを示す。付加パッチ情報は、パッチの2D/3D空間における位置、サイズなどに関する情報を含む。
実施例によるポイントクラウドデ-タ、例えば、V-PCCコンポ-ネントは、アトラス、占有マップ、ジオメトリ、特質などを含む。
アトラス(atlas)は、2Dバウンディングボックスの集合を示す。パッチ、例えば、直方形(rectangular)フレ-ムにプロジェクトされたパッチである。また、3D空間において3Dバウンディングボックスに対応し、ポイントクラウドのサブセットを示す。
特質(attribute)は、ポイントクラウド内の各ポイントに連関するスカラ-(scalar)又はベクトル(vector)を示し、例えば、カラ-(colour)、反射率(reflectance)、面法線(surface normal)、タイムスタンプ(time stamps)、マテリアルID(material ID)などがある。
実施例によるポイントクラウドデ-タは、V-PCC(Video-based Point Cloud Compression)方式によるPCCデ-タを示す。ポイントクラウドデ-タは複数のコンポ-ネントを含む。例えば、占有マップ、パッチ、ジオメトリ及び/又はテキスチャ-などを含む。
図4は、実施例によるV-PCC符号化処理の一例を示す。
図4は、占有マップ(occupancy map)、ジオメトリイメ-ジ(geometry image)、テキスチャ-イメ-ジ(texture image)、付加パッチ情報(auxiliary patch information)を生成して圧縮するためのV-PCC符号化プロセス(encoding process)を示す。図4のV-PCC符号化プロセスは、図1のポイントクラウドビデオエンコ-ダ10002によって処理される。図4の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ及び/又はそれらの組み合わせによって行われる。
パッチ生成部(patch generation)40000は又はパッチ生成器はポイントクラウドフレ-ム(ポイントクラウドデ-タを含むビットストリ-ムの形式であってもよい)を受信する。パッチ生成部40000は、ポイントクラウドデ-タからパッチを生成する。また、パッチの生成に関する情報を含むパッチ情報を生成する。
パッチパッキング(patch packing)40001又はパッチパッカ-はポイントクラウドデ-タに対するパッチをパッグする。例えば、1つ又は1つ以上のパッチをパックする。また、パッチパッキングに関する情報を含む占有マップを生成する。
ジオメトリイメ-ジ生成部(geometry image generation)40002又はジオメトリイメ-ジ生成器は、ポイントクラウドデ-タ、パッチ、及び/又はパックされたパッチに基づいてジオメトリイメ-ジを生成する。ジオメトリイメ-ジは、ポイントクラウドデ-タに関するジオメトリを含むデ-タをいう。
テキスチャ-イメ-ジ生成部(texture image generation)40003又はテキスチャ-イメ-ジ生成器は、ポイントクラウドデ-タ、パッチ、及び/又はパックされたパッチに基づいてテキスチャ-イメ-ジを生成する。また再構成された(reconstructed)ジオメトリイメ-ジをパッチ情報に基づいて平滑化(番号)が平滑化処理をして生成された平滑化ジオメトリにさらに基づいて、テキスチャ-イメ-ジを生成する。
平滑化(smoothing)40004又は平滑化部は、イメ-ジデ-タに含まれたエラ-を緩和又は除去する。例えば、再構成された(reconstructed)ジオメトリイメ-ジをパッチ情報に基づいて、デ-タ間エラ-を誘発するような部分を柔らかにフィ-ルタリングして平滑化したジオメトリを生成する。
付加パッチ情報圧縮(auxiliary patch info compression)40005又は付加パッチ情報圧縮部は、パッチ生成プロセスで生成されたパッチ情報に関する付加(auxiliary)パッチ情報を圧縮する。また、圧縮された付加パッチ情報は多重化装置へ伝送され、ジオメトリイメ-ジ生成部40002も付加パッチ情報を用いる。
イメ-ジパッド(image padding)40006、40007又はイメ-ジパッド部は、ジオメトリイメ-ジ及びテキスチャ-イメ-ジをそれぞれパッドする。即ち、パッドデ-タがジオメトリイメ-ジ及びテキスチャ-イメ-ジにパッドされる。
グル-プ拡張(group dilation)40008又はグル-プ拡張部は、イメ-ジパッドと同様に、テキスチャ-イメ-ジにデ-タを付加する。付加パッチ情報がテキスチャ-イメ-ジに挿入される。
ビデオ圧縮(video compression)40009、40010、40011又はビデオ圧縮部は、パッドされたジオメトリイメ-ジ、パッドされたテキスチャ-イメ-ジ及び/又は占有マップをそれぞれ圧縮する。圧縮はジオメトリ情報、テキスチャ-情報、占有情報などを符号化する。
エントロピ-圧縮(entropy compression)40012又はエントロピ-圧縮部は、占有マップをエントロピ-方式に基づいて圧縮(例えば、符号化)する。
実施例によれば、ポイントクラウドデ-タがロスレス(lossless)した場合及び/又はロッシ-(lossy)した場合、占有マップフレ-ムに対してエントロピ-圧縮及び/又はビデオ圧縮が行われる。
多重化装置(multiplexer)40013は、圧縮されたジオメトリイメ-ジ、圧縮されたテキスチャ-イメ-ジ、圧縮された占有マップをビットストリ-ムに多重化する。
以下、実施例による図4の各々のプロセスの詳細な動作を示す。
パッチ生成(Patch generation)40000
パッチ生成のプロセスは、ポイントクラウドを2Dイメ-ジにマップ(mapping)するために、マッピングを行う単位であるパッチでポイントクラウドを分割するプロセスを意味する。パッチ生成のプロセスは、以下のようにノ-マル(normal)値の計算、セグメント(segmentation)、パッチ(patch)分割の3つのステップに分けられる。
図5を参照して、正規値の計算プロセスを具体的に説明する。
図5は、実施例による表面(Surface)の接平面(tangent plane)及び法線ベクトル(normal vector)の一例を示す。
図5の表面は、図4のV-PCC符号化プロセスのパッチ生成のプロセス40000において以下のように用いられる。
パッチ生成に関連して法線(Normal)計算
ポイントクラウドを成す各点(例えば、ポイント)は、固有の方向を有しているが、これは法線という3Dのベクトルで示される。K-D treeなどを用いて求められる各点の隣接点(neighbors)を用いて、図5のようなポイントクラウドの表面を成す各点の接平面(tangent plane)及び法線ベクトル(normal vector)を求める。隣接点を探すプロセスにおけるサ-チ範囲(search range)はユ-ザによって定義される。
接平面(tangen plane):表面の一点を通り、表面上の曲線に対する接線を完全に含んでいる平面を示す。
図6は、実施例によるポイントクラウドのバウンディングボックス(bounding box)の一例を示す。
実施例による方法/装置、例えば、パッチ生成部がポイントクラウドデ-タからパッチを生成するプロセスにおいてバウンディングボックスを用いる。
実施例によるバウンディングボックスとは、ポイントクラウドデ-タを3D空間上で六面体に基づいて分割する単位のボックスである。
バウンディングボックスは、ポイントクラウドデ-タの対象となるポイントクラウド客体を3D空間上の六面体に基づいて各々の六面体の平面にプロジェクトするプロセスにおいて用いる。バウンディングボックスは、図1のポイントクラウドビデオ取得部10000、ポイントクラウドビデオエンコ-ダ10002によって生成、処理される。また、バウンディングボックスに基づいて、図2のV-PCC符号化プロセスのパッチ生成40000、パッチパッキング40001、ジオメトリイメ-ジ生成40002、テキスチャ-イメ-ジ生成40003が行われる。
パッチ生成に関連して分割(Segmentation)
分割(Segmentation)は、初期分割(initial segmentation)と改善分割(refine segmentation)との2つのプロセスからなる。
実施例によるポイントクラウドビデオエンコ-ダ10002は、ポイントをバウンディングボックスの一面にプロジェクトする。具体的に、ポイントクラウドを成す各点は、図6のように、ポイントクラウドを囲む6つのバウンディングボックスの面の一面にプロジェクトされるが、初期分割(initial segmentation)は、各点がプロジェクトされるバウンディングボックスの平面のうちの1つを決定するプロセスである。
決定された平面は、0~5のうちのいずれか1つのインデックス形式の値(cluster index)として識別される。
改善分割(Refine segmentation)は、上述した初期分割(initial segmentation)のプロセスで決定されたポイントクラウドを成す各点のプロジェクション平面を隣接点のプロジェクション平面を考慮して改善するプロセスである。このプロセスでは、上述した初期分割プロセスにおいてプロジェクション平面を決定するために考慮した各点のノ-マルとバウンディングボックスの各平面のノ-マル値との類似度を成すscore normalと共に、現在点のプロジェクション平面と隣接点のプロジェクション平面との一致度を示すスコア平滑化score smoothとが同時に考慮される。
Score smoothはscore normalに対して加重値を与えることで考慮することができ、このとき、加重値はユ-ザによって定義される。改善分割は繰り返し的に行われ、繰り返し回数もユ-ザに定義される。
パッチ生成に関連してパッチ分割(segment patches)
パッチ分割は、上述した初期/改善分割のプロセスで得たポイントクラウドを成す各点のプロジェクション平面情報に基づいて、全体のポイントクラウドを隣接した点の集合であるパッチに分けるプロセスである。パッチ分割は、以下のようなステップからなる。
1] K-D treeなどを用いてポイントクラウドを成す各点の隣接点を算出する。最大の隣接点の数はユ-ザによって定義される。
2] 隣接点が現在の点と同一平面にプロジェクトされる場合(同一のクラスタ-インデックス(cluster index)値を有する場合)、現在の点とその隣接点を1つのパッチに抽出する。
3] 抽出したパッチのジオメトリ値を算出する。詳しい過程について後述する。
4] 抽出されない点が無くなるまで2]~4]のプロセスを繰り返す。
パッチ分割のプロセスを通じて、各パッチのサイズ及び各パッチの占有マップ、ジオメトリイメ-ジ、テクスチャイメ-ジなどが決定される。
図7は、実施例による占有マップ(occupancy map)の個別パッチ(patch)の位置決めの一例を示す。
実施例によるポイントクラウドエンコ-ダ10002は、パッチパッキング及び占有マップを生成することができる。
パッチパッキング及び占有マップの生成(Patch packing & Occupancy map generation)40001
本プロセスは、以前に分割されたパッチを1つの2Dイメ-ジにマップするために、個別パッチの2Dイメ-ジ内における位置を決定するプロセスである。占有マップ(Occupancy map)は2Dイメ-ジの1つであって、その位置におけるデ-タの存否を0又は1の値で知らせる2進マップ(binary map)である。占有マップは、ブロックからなり、ブロックのサイズに応じて解像度が決定されるが、一例としてブロックのサイズが1*1である場合、ピクセル(pixel)単位の解像度を有する。ブロックのサイズ(occupancy packing block size)はユ-ザによって決定される。
占有マップ内において個別パッチの位置を決定するプロセスは、以下のようである。
1] 全体の占有マップの値をいずれも0に設定する。
2] 占有マップ平面に存在する水平座標が[0、occupancySizeU-patch.sizeU0)、垂直座標が[0、occupancySizeV-patch.sizeV0)の範囲にある点(u、 v)にパッチを位置させる。
3] パッチ平面に存在する水平座標が[0、patch.sizeU0)、垂直座標が[0、patch.sizeV0)の範囲にある点(x、y)を現在点(ポイント)として設定する。
4] 点(x、y)に対して、パッチ占有マップの(x、y)座標値が1であり(パッチ内の該当地点にデ-タが存在し)、全体の占有マップの(u+x、v+y)座標値が1(以前のパッチにより占有マップが満たされた場合)、ラスタ順に(x、y)位置を変更して、3]~4]のプロセスを繰り返す。そうではない場合、6]のプロセスを行う。
5] ラスタ順に(u、v)位置を変更して3]~5]のプロセスを繰り返す。
6] (u、v)を該当パッチの位置に決定し、パッチの占有マップデ-タを全体の占有マップの該当部分に割り当てる(copy)。
7] 次のパッチに対して2]~7]のプロセスを繰り返す。
占有サイズU(occupancySizeU):占有マップの幅(width)を示し、単位は占有パッキングサイズブロック(occupancy packing block size)である。
占有サイズV(occupancySizeV):占有マップの高さ(height)を示し、単位は占有パッキングブロックサイズである。
パッチサイズU0(patch.sizeU0):占有マップの幅を示し、単位は占有パッキングブロックサイズである。
パッチサイズV0(patch.sizeV0):占有マップの高さを示し、単位は占有パッキングブロックサイズである。
例えば、図7のように、占有パッキングサイズブロックに該当するボックス内パッチサイズを有するパッチに対応するボックスが存在し、ボックス内ポイント(x、y)が位置してもよい。
図8は、実施例によるノ-マル(normal)、タンジェント(tangent)、バイタンジェント(bitangent)軸の関係の一例を示す。
実施例によるポイントクラウドビデオエンコ-ダ10002は、 ジオメトリイメ-ジを生成することができる。ジオメトリイメ-ジとは、ポイントクラウドのジオメトリ情報を含むイメ-ジデ-タを意味する。ジオメトリイメ-ジの生成プロセスは、図8のパッチの3つの軸(ノ-マル、タンジェント、バイタンジェント)を用いる。
ジオメトリイメ-ジの生成(Geometry image generation)40002
本プロセスでは、個別パッチのジオメトリイメ-ジを構成する深さ(depth)値を決定し、上述したパッチパッキング(patch packing)のプロセスで決定されたパッチの位置に基づいて全体のジオメトリイメ-ジを生成する。個別パットのジオメトリイメ-ジを構成する深さ値を決定するプロセスは以下のように構成される。
1] 個別パッチの位置、サイズに関するパラメ-タを算出する。パラメ-タは以下のような情報を含む。
ノ-マル(normal)軸を示すインデックス:ノ-マルは上述したパッチ生成のプロセスで求められ、タンジェント軸はノ-マルと直角の軸のうちパッチイメ-ジの水平(u)軸と一致する軸であり、バイタンジェント軸はノ-マルと直角の軸のうちパッチイメ-ジの垂直(v)軸と一致する軸であって、3つの軸は、以下の図のように示される。
図9は、実施例によるプロジェクションモ-ドの最小モ-ド及び最大モ-ド構成の一例を示す。
実施例によるポイントクラウドビデオエンコ-ダ10002は、ジオメトリイメ-ジを生成するために、パッチに基づくプロジェクションを行い、実施例によるプロジェクションのモ-ドは最小モ-ド及び最大モ-ドがある。
パッチの3D空間座標:パッチを囲む最小サイズのバウンディングボックスによって算出される。例えば、パッチの3D空間座標にパッチのタンジェント方向最小値(patch 3D shift tangent axis)、パッチのバイタンジェント方向最小値(patch 3D shift bitangent axis)、パッチのノ-マル方向最小値(patch 3D shift normal axis)などが含まれる。
パッチの2Dサイズ:パッチが2Dイメ-ジでパックされるときの水平、垂直方向サイズを示す。水平方向サイズ(patch 2D size u)はバウンディングボックスのタンジェント方向の最大値と最小値との差であり、垂直方向サイズ(patch 2D size v)はバウンディングボックスのバイタンジェント方向の最大値と最小値との差である。
2] パッチのプロジェクションモ-ド(projection mode)を決定する。プロジェクションモ-ドは、最小モ-ド(min mode)と最大モ-ド(max mode)のいずれか1つである。パッチのジオメトリ情報は、深さ値で示されるが、パッチのノ-マル方向にパッチを成す各点をプロジェクトするとき、深さ値の最大値で構成されるイメ-ジと最小値で構成されるイメ-ジの2つのレイヤ(layer)のイメ-ジが生成される。
2つのレイヤのイメ-ジd0とd1を生成するのに、最小モ-ドである場合、図9のように最小深さがd0に構成され、最小深さから表面厚さ(surface thickness)以内に存在する最大深さがd1に構成される。
例えば、ポイントクラウドが、図のように2Dに位置する場合、複数のポイントを含む複数のパッチがあってもよい。図のように、同じ陰影で示されたポイントが同一のパッチに属することを示す。空欄で示されたポイントのパッチをプロジェクトするプロセスを示す。
空欄で示されたポインを左側/右側にプロジェクトする場合、左側を基準として深さを0、1、2、..6、7、8、9のように1つずつ増加しながら右側にポイントの深さの算出のための数字を表記する。
プロジェクションモ-ド(Projection mode)は、ユ-ザの定義によって、全てのポイントクラウドに同一の方法が適用されてもよく、フレ-ム又はパッチごとに異なる方法が適用されてもよい。フレ-ム又はパッチごとに異なるプロジェクションモ-ドが適用される場合、圧縮効率を高めたり、消失点(missed point)が最小化できるプロジェクションモ-ドが適応的に選ばれる。
3] 個別点の深さ値を算出する。
最小モ-ドである場合、各点のノ-マル軸の最小値にパッチのノ-マル方向最小値(patch 3D shift normal axis)から1]のプロセスで算出されたパッチのノ-マル方向最小値(patch 3D shift normal axis)を引いた値であるdepth0でd0イメ-ジを構成する。同一の位置にdepth0と表面厚さ以内の範囲にその他の深さ値が存在する場合、この値をdepth1に設定する。存在しない場合は、depth0の値をdepth1にも割り当てる。Depth1の値でd1イメ-ジを構成する。
例えば、d0のポイントの深さ決定において最小値が算出される(4 2 4 4 0 6 0 0 9 9 0 8 0)。また、d1のポイントの深さを決定することにおいて2つ以上のポイントのうち大きい値が算出されるか、1つのポイントだけがある場合はその値が算出される(4 4 4 4 6 6 6 8 9 9 8 8 9)。また、パッチのポイントが符号化、再構成(reconstruct)されるプロセスにおいて一部のポイントが損失される(例えば、図では8つのポイントが損失)。
最大モ-ド(Max mode)である場合、各点のノ-マル軸の最大値にパッチのノ-マル方向最小値(patch 3D shift normal axis)から1]のプロセスで算出されたパッチのノ-マル方向最小値(patch 3D shift normal axis)を引いた値であるdepth0でd0イメ-ジを構成する。同一の位置にdepth0と表面厚さ以内の範囲にその他の深さ値が存在する場合、この値をdepth1に設定する。存在しない場合、depth0の値をdepth1にも割り当てる。Depth1の値でd1イメ-ジを構成する。
例えば、d0のポイントの深さ決定において最大値が算出される(4 4 4 4 6 6 6 8 9 9 8 8 9)。また、d1のポイントの深さを決定することにおいて2つ以上のポイントのうち小さい値が算出されるか、1つのポイントだけがある場合はその値が算出される(4 2 4 4 5 6 0 6 9 9 0 8 0)。また、パッチのポイントが符号化、再構成(reconstruct)されるプロセスにおいて一部のポイントが損失される(例えば、図では6つのポイントが損失)。
上述したプロセスから生成された個別パッチのジオメトリイメ-ジを、上述したパッチパッキングプロセスを通じて生成された個別パッチの位置情報を用いて、全体のジオメトリイメ-ジに配置させることで、全体のジオメトリイメ-ジを生成することができる。
生成された全体のジオメトリイメ-ジのd1レイヤは、様々な方法によって符号化される。第一は、以前に生成したd1イメ-ジの深さ値をそのまま符号化する方法(absolute d1 encoding method)である。第二は、以前に生成したd1イメ-ジの深さ値とd0イメ-ジの深さ値との差を符号化する方法(differential encoding method)である。
このようなd0、d1の2つのレイヤの深さ値を用いた符号化の方法は、2つの深さの間にそのその他の点が存在する場合、その点のジオメトリ情報を符号化するプロセスで失うため、無損失圧縮(lossless coding)のために、Enhanced-Delta-Depth(EDD)codeを用してもよい。
図10を参照して、EDD codeを具体的に説明する。
図10は、実施例によるEDDコ-ドの一例を示す。
ポイントクラウドビデオエンコ-ダ10002及び/又はV-PCC符号化の一部/全部のプロセス(例えば、ビデオ圧縮40009)などは、EODコ-ドに基づいてポイントのジオメトリ情報を符号化することができる。
EDD codeは、図のように、d1を含み表面厚さの範囲内の全ての点の位置を2進で符号化する方法である。一例として、図の左側から二番目の列に含まれる点の場合、D0の上方に一番目、四番目の位置に点が存在し、二番目と三番目の位置は空いているため、0b1001(=9)のEDD codeで示される。D0と共にEDD codeを符号化して送信すると、受信端では全ての点のジオメトリ情報を損失なく復元することができる。
例えば、基準点上にポイントが存在すれば1であり、ポイントが存在しなければ0となり、4つのビットに基づいてコ-ドが表現される。
平滑化(Smoothing)40004
平滑化は、圧縮プロセスから生じる画質の劣化によりパット境界面で発生し得る不連続性を除去する作業であり、ポイントクラウドビデオエンコ-ダ又は平滑化部で行われる。
1] ジオメトリイメ-ジよりポイントクラウドを再生成(reconstruction)する。本プロセスは、上述したジオメトリイメ-ジ生成の逆過程といえる。例えば、符号化の逆過程が再生成である。
2] K-D treeなどを用いて再生成されたポイントクラウドを構成する各点の隣接点を算出する。
3] 各点に対して、その点がパッチ境界面に位置するか否かを判断する。一例として、現在点とは異なるプロジェクション平面(cluster index)を有する隣接点が存在する場合、その点はパッチの境界面に位置していると判断できる。
4] パッチ境界面が存在する場合、その点を隣接点の重心(隣接点の平均x、y、z座標に位置)へ移動させる。即ち、ジオメトリ値を変更する。存在しない場合には以前のジオメトリ値を維持する。
図11は、実施例による隣接点のカラ-(color)値を用いた復色(recoloring)の一例を示す。
実施例によるポイントクラウドビデオエンコ-ダ又はテキスチャ-イメ-ジ生成40003は、復色に基づいてテキスチャ-イメ-ジを生成することができる。
テキスチャ-イメ-ジ生成(Texture image generation)40003
テキスチャ-イメ-ジ生成のプロセスは、上述したジオメトリイメ-ジ生成のプロセスと同様に、個別パッチのテキスチャ-イメ-ジを生成し、これらを決められた位置に配置することで、全体のテキスチャ-イメ-ジを生成するプロセスからなる。ただし、個別パッチのテキスチャ-イメ-ジを生成するプロセスにおいて、ジオメトリ生成のための深さ値に代わってその位置に対応するポイントクラウドを構成する点のカラ-値(例えば、R、G、B)を有するイメ-ジが生成される。
ポイントクラウドを構成する各点のカラ-値を求めるプロセスにおいて、上述した平滑化のプロセスを経たジオメトリが用いられる。平滑化されたポイントクラウドはオリジナルポイントクラウドにおいて一部点の位置が移動した状態である可能性があるため、変更された位置に適するカラ-を探す復色のプロセスが必要となる。復色は隣接点のカラ-値を用いて行われる。一例として、図のように、新たなカラ-値は最隣接点のカラ-値と隣接点のカラ-値を考慮して算出できる。
例えば、図を参照すれば、復色はポイントに対する最も近いオリジナルポイントの特質情報の平均及び/又はポイントに対する最も近いオリジナル位置の特質情報の平均に基づいて変更された位置の適するカラ-値を算出する。
テキスチャ-イメ-ジもまた、d0/d1の2つのレイヤで生成されるジオメトリイメ-ジのように、t0/t1の2つのレイヤで生成される。
付加パッチ情報圧縮(Auxiliary patch info compression)40005
実施例によるポイントクラウドビデオエンコ-ダ又は付加パッチ情報圧縮部は、付加パッチ情報(ポイントクラウドに関する付加的な情報)を圧縮することができる。
付加パッチ情報圧縮部は、上述したパッチ生成、パッチパッキング、ジオメトリ生成のプロセスなどで生成した付加パッチ情報を圧縮する。付加パッチ情報には以下のようなパラメ-タが含まれる:
プロジェクション(projection)平面(normal)を識別するインデックス(cluster index)
パッチの3D空間位置:パッチのタンジェント方向最小値(patch 3D shift tangent axis)、パッチのバイタンジェント方向最小値(patch 3D shift bitangent axis)、パッチのノ-マル方向最小値(patch 3D shift normal axis)
パッチの2D空間位置、サイズ:水平方向サイズ(patch 2D size u)、垂直方向サイズ(patch 2D size v)、水平方向最小値(patch 2D shift u)、垂直方向最小値(patch 2D shift u)
各々のブロックとパッチのマッピング情報:候補インデックス(candidate index)(上述したパッチの2D空間位置、サイズ情報に基づいてパッチを順に位置させた場合、1つのブロックに重複して複数のパッチがマップされることがある。このとき、マップされるパッチが候補リストを構成し、このリストの何番目のパッチのデ-タが該当ブロックに存在するかを示すインデックス)、local patch index(フレ-ムに存在する全体のパッチのうちの1つを示すインデックス)。Table 1は、candidate listとlocal patch indexを用いたブロックとパッチのマッチングプロセスを示す疑似コ-ド(pseudo code)である。
候補リストの最大数はユ-ザによって定義される。
table 1-1 blockとパッチマッピングのためのpseudo code
for(i=0;i<BlockCount;i++){
if(candidatePatches[i].size()==1){
blockToPatch[i]=candidatePatches[i][0]
} else {
candidate_index
if(candidate_index==max_candidate_count) {
blockToPatch[i]=local_patch_index
} else {
blockToPatch[i]=candidatePatches[i][candidate_index]
図12は、実施例によるプッシュ-プルバックグラウンドフィリング(push-pull background filling)の一例を示す。
イメ-ジパディング及びグル-プ拡張(Image padding and group dilation)40006、40007、40008
実施例によるイメ-ジパッダは、プッシュ-プルバックグラウンドフィリング方式に基づいてパッチ領域以外の空間を意味のない付加的なデ-タで満たすことができる。
イメ-ジパディングは、圧縮効率の向上を目的として、パッチ領域以外の空間を意味のないデ-タで満たすプロセスである。イメ-ジパディングのために、パッチ内部の境界面側に該当する列又は行のピクセル値がコピ-されて空き空間を満たす方法が用いられる。又は、図のように、パッドされないイメ-ジの解像度を段階的に減らし、再び解像度が高めるプロセスにおいて低い解像度のイメ-ジからのピクセル値で空き空間を満たすプッシュプルバックグラウンドフィリング(push-pull background filling)方法が用いられてもよい。
グル-プ拡張(Group dilation)は、d0/d1、t0/t1の2つのレイヤからなるジオメトリ、テキスチャ-イメ-ジの空き空間を満たす方法であって、上述したイメ-ジパディングによって算出された2つのレイヤの空き空間の値を、2つのレイヤの同一位置に対する値の平均値で満たすプロセスである。
図13は、実施例による4*4サイズのブロック(block)に対して可能なトラバ-サルオ-ダ-(traversal order)の一例を示す。
占有マップ圧縮(Occupancy map compression)40012、40011
実施例による占有マップ圧縮は、上述した占有マップを圧縮する。具体的には、損失(lossy)圧縮のためのビデオ圧縮(video compression)と無損失(lossless)圧縮のためのエントロピ-圧縮(entropy compression)との2つの方法がある。ビデオ圧縮については後述する。
エントロピ-圧縮のプロセスは、以下のように行われる。
1] 占有マップを構成する各々のブロックに対して、全てのブロックが満たされた場合に1を符号化し、次のブロックに同じプロセスを繰り返す。そうではない場合には0を符号化し、2]~5]のプロセスを行う。
2] ブロックの満たされたピクセルに対してランレングス符号化(run-length coding)を行うためのbest traversal orderを決定する。図は4*4サイズのブロックに対して可能な4つのtraversal orderを一例として示す。
図14は、実施例によるベストトラバ-サルオ-ダ-の一例を示す。
上述のように、実施例によるエントロピ-圧縮部は図のように、トラバ-サルオ-ダ-方式に基づいてブロックをコ-ティング(符号化)する。
例えば、可能なトラバ-サルオ-ダ-のうち、最小のラン(run)数を有するbest traversal orderを選択し、そのインデックスを符号化する。一例として、上述した図13の3番目のトラバ-サルオ-ダ-を選択する場合であり、この場合、run数は2と最小化でき、これをベストトラバ-サルオ-ダ-(best traversal order)として選択する。
このとき、run数を符号化する。図14の例では、2つのrunが存在することから、2を符号化する。
4] 1番目のrunの占有(occupancy)を符号化する。図14の例では、1番目のrunが満たされていないピクセルに該当するため、0を符号化する。
5] 個別runに対する(runの数分だけの)長さ(length)を符号化する。図14の例では、1番目のrunと2番目のrunの長さである6と10を順次に符号化する。
ビデオ圧縮(Video compression)40009、40010、40011
実施例によるビデオ圧縮部は、HEVC、VVCなどの2Dビデオコ-デック(video codec)などを用いて、上述したプロセスで生成されたジオメトリイメ-ジ、テキスチャ-イメ-ジ、占有マップイメ-ジなどのシ-ケンスを符号化する。
図15は、実施例による2Dビデオ/イメ-ジエンコ-ダ(2D video/image Encoder)の一例を示す。
図は上述したビデオ圧縮部(Video compression unit)40009、40010、40011が適用される実施例であって、ビデオ/映像信号の符号化が行われる2Dビデオ/イメ-ジエンコ-ダ15000の概略なブロック図を示す。2Dビデオ/イメ-ジエンコ-ダ15000は、上述したポイントクラウドビデオエンコ-ダ10002に含まれるか、又は内部/外部のコンポ-ネントからなる。図15の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
ここで、入力イメ-ジは、上述したジオメトリイメ-ジ、テキスチャ-イメ-ジ(特質イメ-ジ)、占有マップイメ-ジなどを含む。ポイントクラウドビデオエンコ-ダの出力ビットストリ-ム(即ち、ポイントクラウドビデオ/イメ-ジビットストリ-ム)は、各入力映像(ジオメトリイメ-ジ、テキスチャ-イメ-ジ(特質イメ-ジ)、占有マップイメ-ジなど)に対する出力ビットストリ-ムを含む。
インタ-予測部15090及びイントラ予測部15100を合わせて予測部と呼ぶ。即ち、予測部は、インタ-予測部15090及びイントラ予測部15100を含む。変換部15030、量子化部15040、逆量子化部15050、逆変換部15060を合わせて、残余(residual)処理部とも呼ぶ。残余処理部はさらに減算部15020を含む。上述した映像分割部15010、減算部15020、変換部15030、量子化部15040、逆量子化部15050、逆変換部15060、加算部155、フィ-ルタリング部15070、インタ-予測部15090、イントラ予測部15100及びエントロピ-符号化部15110は、実施例によって、1つのハ-ドウェアコンポ-ネント(例えば、エンコ-ダ又はプロセッサ)で構成される。また、メモリ15080は、DPB(decoded picture buffer)を含み、デジタル記憶媒体で構成される。
映像分割部15010は、符号化装置15000に入力された入力映像(又はピクチャ-、フレ-ム)を1つ以上の処理ユニット(processing unit)に分割する。一例として、処理ユニットは、コ-ディングユニット(coding unit、CU)とも呼ぶ。この場合、コ-ディングユニットは、コ-ディングツリ-ユニット(coding tree unit、CTU)又は最大コ-ディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造によって再帰的に(recursively)分割される。例えば、1つのコ-ディングユニット、Quad-tree構造及び/又はbinary-tree構造に基づいて下位(deeper)深さの複数のコ-ディングユニットに分割される。この場合、例えば、先にQuad-treeが適用されて、その後にbinary-treeが適用されてもよい。又はbinary-treeが先に適用されてもよい。これ以上分割されない最終コ-ディングユニットに基づいて、本発明によるコ-ディング手順が行われてもよい。この場合、映像の特性に応じたコ-ディング効率などに基づいて、最大のコ-ディングユニットが最終符号化ユニットとして用いられてもよく、又は必要に応じてコ-ディングユニットは再帰的に(recursively)より下位深さのコ-ディングユニットに分割されて、最適なサイズのコ-ディングユニットが最終コ-ディングユニットとして用いられる。ここで、コ-ディング手順とは、後述する予測、変換、及び復元などの手順を含む。その他の例として、処理ユニットは予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)をさらに含んでもよい。この場合、予測ユニット及び変換ユニットのそれぞれは、上述した最終コ-ディングユニットから分割又はパ-ティショニングされる。予測ユニットはサンプル予測の単位であり、変換ユニットは変換係数を誘導する単位及び/又は変換係数から残余信号(residual signal)を誘導する単位である。
ユニットは、場合によって、ブロック(block)又は領域(area)又はモジュ-ルなどの用語と混用する。一般の場合、MxNブロックは、M個の列とN個の行からなるサンプル又は変換係数(transform coefficient)の集合を示す。サンプルは、一般にピクセル又はピクセルの値を示し、輝度(luma)成分のピクセル/ピクセル値だけを示してもよく、彩度(chroma)成分のピクセル/ピクセル値だけを示してもよい。サンプルは1つのピクチャ-(又は、映像)をピクセル(pixel)又はペル(pel)に対応する用語として使用する。
符号化装置15000は、入力映像信号(オリジナルブロック、オリジナルサンプルアレイ)においてインタ-予測部15090又はイントラ予測部15100から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、残余信号(residual signal、残余ブロック、残余サンプルアレイ)を生成し、生成した残余信号は変換部15030へ送信される。この場合、図示のように、符号化装置15000内で入力映像信号(オリジナルブロック、オリジナルサンプルアレイ)において予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは減算部15020と呼ぶ。予測部は処理対象ブロック(以下、現在ブロックという)に対する予測を行い、現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部は現在ブロック又はCU単位でイントラ予測を適用するか、又はインタ-予測を適用するかを決定する。予測部は、各々の予測モ-ドに関して後述するように、予測モ-ド情報などの予測に関する様々な情報を生成してエントロピ-符号化部15110に伝送する。予測に関する情報はエントロピ-符号化部15110で符号化されてビットストリ-ムの形式で出力される。
イントラ予測部15100は、現在ピクチャ-内のサンプルを参照して現在ブロックを予測する。参照されるサンプルは、予測モ-ドに応じて現在ブロックに隣接(neighbor)して位置するか、又は離れて位置する。イントラ予測において予測モ-ドは複数の非方向性モ-ドと複数の方向性モ-ドを含む。非方向性モ-ドは、例えばDCモ-ド及び平面モ-ド(Planarモ-ド)を含む。方向性モ-ドは、予測方向の精密度に応じて、例えば33つの方向性予測モ-ド又は65つの方向性予測モ-ドを含む。ただし、これは例示であって、設定によってその以上又はその以下の方向性予測モ-ドが用いられる。イントラ予測部15100の隣接ブロックに適用された予測モ-ドを用いて、現在ブロックに適用される予測モ-ドを決定してもよい。
インタ-予測部15090は、参照ピクチャ-上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導く。このとき、インタ-予測モ-ドで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測する。動き情報は、動きベクトル及び参照ピクチャ-インデックスを含む。動き情報はさらにインタ-予測方向(L0予測、L1予測、Bi予測など)情報を含む。インタ-予測の場合、隣接ブロックは現在ピクチャ-内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ-に存在する時間的隣接ブロック(temporal neighboring block)を含む。参照ブロックを含む参照ピクチャ-と時間的隣接ブロックを含む参照ピクチャ-は同一であってもよく、異なってもよい。時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などと呼ばれ、時間的隣接ブロックを含む参照ピクチャ-は、同一位置ピクチャ-(collocated picture、colPic)とも呼ばれる。例えば、インタ-予測部15090は隣接ブロックに基づいて動き情報の候補リストを構成し、現在ブロックの動きベクトル及び/又は参照ピクチャ-インデックスを導出するためにいずれの候補が使用されるかを指示する情報を生成する。様々な予測モ-ドに基づいてインタ-予測が行われ、例えばスキップモ-ドとマ-ジモ-ドの場合、インタ-予測部15090は隣接ブロックの動き情報を現在ブロックの動き情報として用いる。スキップモ-ドの場合、マ-ジモ-ドとは異なり、残余信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モ-ドの場合、隣接ブロックの動きベクトルを動きベクトル予測者(motion vector predictor)として用いて、動きベクトル差分(motion vector difference)をシグナリングすることで現在ブロックの動きベクトルを指示する。
インタ-予測部15090又はイントラ予測部15100によって生成された予測信号は、復元信号の生成のために用いられるか、残余信号の生成のために用いられる。
変換部15030は残余信号に変換方法を適用して変換係数(transform coefficients)を生成する。例えば、変換方法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)のうち少なくとも1つを含む。ここで、GBTはピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。CNTは以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換プロセスは、正方形の同一サイズのピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
量子化部15040は、変換係数を量子化してエントロピ-符号化部15110に送信し、エントロピ-符号化部15110は量子化した信号(量子化した変換係数に関する情報)を符号化してビットストリ-ムに出力する。量子化した変換係数に関する情報は残余情報と呼ぶ。量子化部15040は係数スキャン順(scan order)に基づいてブロック形態の量子化変換係数を1次元ベクトル形に再整列し、1次元ベクトル形の量子化変換係数に基づいて量子化した変換係数に関する情報を生成することもできる。エントロピ-符号化部15110は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々な符号化方法を行う。エントロピ-符号化部15110は、量子化した変換係数の他にビデオ/イメ-ジの復元に必要な情報(例えば、シンタックス要素(syntax elements)の値など)を共に又は別として符号化する。符号化した情報(例えば、符号化したビデオ/映像情報)はビットストリ-ムの形式でNAL(network abstraction layer)ユニットの単位で送信又は格納される。ビットストリ-ムはネットワ-クを介して送信されてもよく、デジタル記憶媒体に記憶されてもよい。ここで、ネットワ-クは放送網及び/又は通信網などを含み、デジタル記憶媒体はUSB、SD、CD、DVD、ブル-レイ、HDD、SSDなどの様々な記憶媒体を含む。エントロピ-符号化部15110から出力された信号を送信する送信部(未図示)及び/又は記憶する記憶部(未図示)が符号化装置15000の内部/外部要素として構成されてもよく、又は送信部はエントロピ-符号化部15110に含まれてもよい。
量子化部15040から出力された量子化した変換係数は、予測信号を生成するために用いられる。例えば、量子化した変換係数に逆量子化部15040及び逆変換部15060によって逆量子化及び逆変換を適用することで、残余信号(残余ブロック又は残余サンプル)を復元する。加算部155は復元された残余信号をインタ-予測部15090又はイントラ予測部15100から出力された予測信号に加えることで、復元(reconstructed)信号(復元ピクチャ-、復元ブロック、復元サンプルアレイ)を生成する。スキップモ-ドが適用された場合のように、処理対象ブロックに対する残余がない場合、予測されたブロックが復元ブロックとして用いられる。加算部155は復元部又は復元ブロック生成部と呼ばれる。生成された復元信号は現在ピクチャ-内の次の処理対象ブロックのイントラ予測のために用いられてもよく、後述のようにフィルタリングを経て次のピクチャ-のインタ-予測のために用いられてもよい。
フィルタリング部15070は、復元信号にフィルタリングを適用して、主観的/客観的な画質を向上させることができる。例えば、フィルタリング部15070は、復元ピクチャ-に様々なフィルタリング方法を適用して修正した(modified)復元ピクチャ-を生成し、修正した復元ピクチャ-をメモリ15080、具体的にメモリ15080のDPBに格納する。様々なフィルタリング方法には、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ル-プフィルタ-(adaptive loop filter)、双方向フィルタ-(bilateral filter)などがある。フィルタリング部15070は、後述する各々のフィルタリング方法のように、フィルタリングに関する様々な情報を生成してエントロピ-符号化部15110へ伝送する。フィルタリングに関する情報はエントロピ-符号化部15110で符号化されてビットストリ-ムの形式で出力される。
メモリ15080に送信された修正した(modified)復元ピクチャ-は、インタ-予測部15090において参照ピクチャ-として用いられる。符号化装置はこれによってインタ-予測が適用される場合、符号化装置15000及び復号装置における予測ミスマッチを避けることができ、符号化の効率を向上させることもできる。
メモリ15080のDPBは、修正した復元ピクチャ-をインタ-予測部15090における参照ピクチャ-として用いるために格納する。メモリ15080は、現在ピクチャ-内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元したピクチャ-内のブロックの動き情報を格納する。格納した動き情報は空間的隣接ブロックの動き情報又は時間的隣接ブロックの動き情報として活用するためにインタ-予測部15090に伝送する。メモリ15080は現在ピクチャ-内において復元したブロックの復元サンプルを格納して、イントラ予測部15100へ伝送する。
なお、上述した予測、変換、量子化の手順のうちの少なくとも1つが省略されてもよい。例えば、PCM(pulse code modulation)が適用されるブロックに対しては、予測、変換、量子化の手順を省略し、オリジナルサンプルの値をそのまま符号化してビットストリ-ムに出力してもよい。
図16は、実施例によるV-PCC復号プロセス(decoding process)の一例を示す。
V-PCC復号プロセス又はV-PCCデコ-ダは、図4のV-PCC符号化プロセス(又はエンコ-ダ)の逆プロセスとなる。図16の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ、及び/又はそれらの組み合わせに対応する。
逆多重化装置(demultiplexer)16000は、圧縮されたビットストリ-ムを逆多重化して圧縮されたテキスチャ-イメ-ジ、圧縮されたジオメトリイメ-ジ、圧縮された占有マップイメ-ジ、圧縮された付加パッチ情報をそれぞれ出力する。
ビデオ復元(video decompression)16001、16002又はビデオ復元部は、圧縮されたテキスチャ-イメ-ジ及び圧縮されたジオメトリイメ-ジのそれぞれを復元する。
占有マップ復元(occupancy map decompression)16003又は占有マップ復元部は、圧縮された占有マップイメ-ジを復元する。
付加パッチ情報復元(auxiliary patch information decompression)16004又は付加パッチ情報復元部は、圧縮された付加パッチ情報を復元する。
ジオメトリ再構成(geometry reconstruction)16005又はジオメトリ再構成部は、復元されたジオメトリイメ-ジ、復元された占有マップ、及び/又は復元された付加パッチ情報に基づいてジオメトリ情報を復元(再構成)する。例えば、符号化プロセスにおいて変更したジオメトリを再構成する。
平滑化(smoothing)16006又は平滑化部は、再構成されたジオメトリに対して平滑化を適用する。例えば、平滑化フィルタリングが適用される。
テキスチャ-再構成(texture reconstruction)16007又はテキスチャ-再構成部は、復元されたテキスチャ-イメ-ジ及び/又は平滑化されたジオメトリからテキスチャ-を再構成する。
カラ-平滑化(color smoothing)16008又はカラ-平滑化部は、再構成されたテキスチャ-からカラ-値を平滑化する。例えば、平滑化フィルタリングが適用される。
その結果、再構成されたポイントクラウドデ-タが生成される。
図は圧縮された占有マップ、ジオメトリイメ-ジ、テキスチャ-イメ-ジ、付加パッチ情報を復号してポイントクラウドを再構成するためのV-PCCの復号プロセスを示す。実施例による各プロセスの動作は以下のようである。
ビデオ復元(Video decompression)16001、16002
上述したビデオ圧縮の逆プロセスであって、HEVC、VVCなどの2Dビデオコ-デックを用いて、上記プロセスで生成されたジオメトリイメ-ジ、テキスチャ-イメ-ジ、占有マップイメ-ジの圧縮されたビットストリ-ムを復号するプロセスである。
図17は、実施例による2Dビデオ/イメ-ジデコ-ダ(2D Video/Image Decoder)の一例を示す。
2Dビデオ/イメ-ジデコ-ダは、図15の2Dビデオ/イメ-ジエンコ-ダの逆過程となる。
図17の2Dビデオ/イメ-ジデコ-ダは、図16のビデオ復元又はビデオ復元部の実施例であって、ビデオ/映像信号の復号が行われる2D video/image decoder17000の概略なブロック図を示す。2Dビデオ/イメ-ジデコ-ダ17000は、図1のポイントクラウドビデオデコ-ダに含まれるか、又は内外部のコンポ-ネントで構成される。図17の各構成要素はソフトウェア、ハ-ドウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
ここで、入力ビットストリ-ムは、上述したジオメトリイメ-ジ、テキスチャ-イメ-ジ(特質イメ-ジ)、占有マップイメ-ジなどに対するビットストリ-ムを含む。復元映像(又は出力映像、復号された映像)は、上述したジオメトリイメ-ジ、テキスチャ-イメ-ジ(特質イメ-ジ)、占有マップイメ-ジに対する復元映像を示す。
図を参照すれば、インタ-予測部17070及びイントラ予測部17080を合わせて予測部と呼ぶ。即ち、予測部はインタ-予測部180及びイントラ予測部185を含む。逆量子化部17020、逆変換部17030を合わせて残余処理部と呼ぶ。即ち、残余処理部は逆量子化部17020、逆変換部17030を含む。上記エントロピ-復号部17010、逆量子化部17020、逆変換部17030、加算部17040、フィルタリング部17050、インタ-予測部17070及びイントラ予測部17080は、実施例によって、1つのハ-ドウェアコンポ-ネント(例えば、デコ-ダ又はプロセッサ)によって構成される。また、メモリ17060はDPB(decoded picture buffer)を含んでもよく、デジタル記憶媒体によって構成されてもよい。
ビデオ/映像情報を含むビットストリ-ムが入力されると、復号装置17000は、図0.2-1の符号化装置においてビデオ/映像情報が処理されたプロセスに対応して映像を復元する。例えば、復号装置17000は、符号化装置で適用された処理ユニットを用いて復号を行う。よって、復号の処理ユニットは、例えば、コ-ディングユニットであり、コ-ディングユニットはコ-ディングツリ-ユニット又は最大コ-ディングユニットからQuad-tree構造及び/又はbinary-tree構造によって分割される。また、復号装置17000によって復号されて出力された復元映像信号は再生装置で再生される。
復号装置17000は、符号化装置から出力された信号をビットストリ-ムの形式で受信し、受信した信号はエントロピ-復号部17010で復号される。例えば、エントロピ-復号部17010はビットストリ-ムをパ-シングして映像復元(又はピクチャ-復元)に必要な情報(例えば、ビデオ/映像情報)を導出する。例えば、エントロピ-復号部17010は指数ゴロム符号化、CAVLC又はCABACなどのコ-ディング方法に基づいてビットストリ-ム内の情報を復号し、映像復元に必要なシンタックス要素の値、残余に関する変換係数の量子化された値を出力する。より詳細に、CABACエントロピ-復号方法は、ビットストリ-ムにおいて各構文要素に該当するビンを受信し、復号対象構文要素情報と隣接及び復号対象ブロックの復号情報又は前のステップで復号されたシンボル/ビンの情報を用いて文脈(context)モデルを決定して、決定した文脈モデルに応じてビン(bin)の発生確率を予測し、ビンの算術復号(arithmetic decoding)を行って、各構文要素の値に該当するシンボルを生成する。このとき、CABACエントロピ-復号方法は、文脈モデルを決定した後、次のシンボル/ビンの文脈モデルのために復号されたシンボル/ビンの情報を用いて文脈モデルをアップデ-トする。エントロピ-復号部17010で復号された情報のうち予測に関する情報は、予測部(インタ-予測部17070及びイントラ予測部265)に提供され、エントロピ-復号部17010でエントロピ-復号が行われた残余値、即ち量子化された変換係数及び関連パラメ-タ情報は、逆量子化部17020へ入力される。また、エントロピ-復号部17010で復号された情報のうちフィルタリングに関する情報は、フィルタリング部17050へ提供される。一方、符号化装置から出力された信号を受信する受信部(未図示)が復号装置17000の内部/外部要素としてさらに構成されてもよく、受信部はエントロピ-復号部17010の構成要素であってもよい。
逆量子化部17020では量子化された変換係数を量子化して変換係数を出力する。逆量子化部17020は量子化された変換係数を2次元のブロック形に再整列する。この場合、符号化装置で行われた係数スキャン順に基づいて再整列を行う。逆量子化部17020は量子化パラメ-タ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得する。
逆変換部17030では変換係数を逆変換して残余信号(残余ブロック、残余サンプルアレイ)を取得する。
予測部は現在ブロックに対する予測を行い、現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成する。予測部はエントロピ-復号部17010から出力された予測に関する情報に基づいて現在ブロックにイントラ予測が適用されるか、又はインタ-予測が適用されるかを決定して、具体的なイントラ/インタ-予測モ-ドを決定する。
イントラ予測部265は、現在ピクチャ-内のサンプルを参照して現在ブロックを予測する。参照されるサンプルは予測モ-ドに応じて、現在のブロックに隣接(neighbor)して位置してもよく、又は離れて位置してもよい。イントラ予測において予測モ-ドは複数の非方向性モ-ドと複数の方向性モ-ドとを含む。イントラ予測部265は隣接ブロックに適用された予測モ-ドを用いて、現在ブロックに適用される予測モ-ドを決定する。
インタ-予測部17070は、参照ピクチャ-上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導く。このとき、インタ-予測モ-ドにおいて送信される動き情報の量を減らすために隣接ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測する。動き情報は動きベクトル及び参照ピクチャ-インデックスを含む。動き情報はさらにインタ-予測方法(L0予測、L1予測、Bi予測など)情報を含む。インタ-予測の場合、隣接ブロックは現在ピクチャ-内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ-に存在する時間的隣接ブロック(temporal neighboring block)を含む。例えば、インタ-予測部17070は隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて現在ブロックの動きベクトル及び/又は参照ピクチャ-インデックスを導出する。様々な予測モ-ドに基づいてインタ-予測が行われ、予測に関する情報は現在ブロックに対するインタ-予測のモ-ドを指示する情報を含む。
加算部17040は取得した残余信号をインタ-予測部17070又はイントラ予測部265から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることで復元信号(復元ピクチャ-、復元ブロック、復元サンプルアレイ)を生成する。スキップモ-ドが適用された場合のように、処理対象ブロックに対する残余がない場合、予測されたブロックが復元ブロックとして用いられる。
加算部17040は復元部又は復元ブロック生成部と呼ぶ。生成された復元信号は現在ピクチャ-内の次の処理対象ブロックのイントラ-予測のために用いられてもよく、後述のように、フィルタリングを経て次のピクチャ-のインタ-予測のためにも用いられてもよい。
フィルタリング部17050は復元信号にフィルタリングを適用して主観的/客観的な画質を向上させる。例えば、フィルタリング部17050は復元ピクチャ-に様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャ-を生成し、修正された復元ピクチャ-をメモリ17060、具体的にメモリ17060のDPBに送信する。様々なフィルタリング方法には、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ル-プフィルタ-(adaptive loop filter)、双方向フィルタ-(bilateral filter)などが含む。
メモリ17060のDPBに格納された(修正された)復元ピクチャ-は、インタ-予測部17070において参照ピクチャ-として使用される。メモリ17060は、現在ピクチャ-内の動き情報が導出された(又は復号された)ブロックの動き情報及び/又は既に復元されたピクチャ-内のブロックの動き情報を格納する。格納された動き情報は空間的隣接ブロックの動き情報又は時間的隣接ブロックの動き情報として活用するために、インタ-予測部17070へ伝送する。メモリ170は現在ピクチャ-内の復元されたブロックの復元サンプルを格納して、イントラ予測部17080へ伝送する。
この明細書において、符号化装置100のフィルタリング部160、インタ-予測部180及びイントラ予測部185で説明した実施例は、復号装置17000のフィルタリング部17050、インタ-予測部17070及びイントラ予測部17080にも同一又は対応する方法が適用できる。
一方、上述した予測、逆変換、逆量子化の手順のうちの少なくとも1つが省略されてもよい。例えば、PCM(pulse code modulation)が適用されるブロックに対しては、予測、逆変換、逆量子化の手順を省略して、復号されたサンプルの値をそのまま復元映像のサンプルとして使用する。
占有マップ復元(Occupancy map decompression)16003
上述した占有マップ圧縮の逆過程であり、圧縮された占有マップビットストリ-ムを復号して占有マップを復元するプロセスである。
付加パッチ情報復元(Auxiliary patch info decompression)16004
上述した付加パッチ情報圧縮の逆過程であり、圧縮された付加パッチ情報ビットストリ-ムを復号して付加パッチ情報を復元するプロセスである。
ジオメトリ再構成(Geometry reconstruction)16005
上述したジオメトリイメ-ジ生成の逆過程である。まず、復元された占有マップと付加パッチ情報に含まれるパッチの2D位置/サイズ情報及びブロックとパッチとのマッピング情報を用いてジオメトリイメ-ジからパッチを抽出する。この後、抽出したパッチのジオメトリイメ-ジと付加パッチ情報に含まれるパッチの3D位置情報を用いて、ポイントクラウドを3D空間上に復元する。1つのパッチ内に存在する任意の点(u、v)に該当するジオメトリ値をg(u、v)といい、パッチの3D空間上の位置のnormal軸、tangent軸、bitangent軸の座標値を(δ0、s0、r0)とするとき、点(u、v)にマップされる3D空間上の位置のnormal軸、tangent軸、bitangent軸の座標値であるδ(u、v)、s(u、v)、r(u、v)は、以下のように示される。
d(u,v)=d0+g(u,v)
s(u,v)=s0+u
r(u,v)=r0+v
平滑化(Smoothing)16006
上述した符号化プロセスにおける平滑化と同様であり、圧縮プロセスで発生する画質の劣化によりパッチ境界面から生じ得る不連続性を除去するためのプロセスである。
テキスチャ-再構成(Texture reconstruction)16007
平滑化されたポイントクラウドを構成する各点にカラ-値を与えてカラ-ポイントクラウドを復元するプロセスである。上述したジオラマ再構成のプロセスで再構成されたジオメトリイメ-ジとポイントクラウドのマッピング情報を用いて、2D空間でジオメトリイメ-ジと同一位置のテキスチャ-イメ-ジピクセルに該当するカラ-値を、3D空間で同一位置に対応するポイントクラウドの点に付与することで行われる。
カラ-平滑化(Color smoothing)16008
上述したジオメトリ平滑化のプロセスと類似し、圧縮プロセスから発生する画質の劣化によってパッチ境界面から生じ得るカラ-値の不連続性を除去するためのプロセスである。カラ-平滑化は、以下のように行われる。
1] K-D treeなどを用いて復元されたカラ-ポイントクラウドを構成する各点の隣接点を算出する。上述したジオメトリ平滑化のプロセスで算出された隣接点情報をそのまま用いてもよい。
2] 各点に対して、その点がパッチ境界面に位置しているか否かを判断する。上述したジオメトリ平滑化のプロセスで算出された境界面情報をそのまま用いてもよい。
3] 境界面に存在する点の隣接点に対して、カラ-値の分布を調べて平滑化を行うかどうかを判断する。一例として、輝度値のエントロピ-が境界値(threshold local entry)以下である場合(類似する輝度値が多い場合)、エッジ部分ではないと判断して平滑化を行う。平滑化の方法としては、隣接点の平均値でその点のカラ-値を置き換える方法がある。
図18は、実施例による送信装置の動作の流れの一例を示す。
実施例による送信装置は、図1の送信装置、図4の符号化プロセス、図15の2Dビデオ/イメ-ジエンコ-ダに対応するか、それらの動作の一部/全部を行ってもよい。送信装置の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
V-PCCを用いたポイントクラウドデ-タの圧縮及び送信のための送信端の動作は図に示めすようである。
実施例によるポイントクラウドデ-タ送信装置は、送信装置とも呼ばれる。
パッチ生成部18000は、まずポイントクラウド(point cloud)の2Dイメ-ジマッピングのためのパッチ(patch)を生成する。パッチ生成の結果物として付加パッチ情報が生成され、該当情報はジオメトリイメ-ジ(geometry image)生成、テクスチャイメ-ジ(texture image)生成、平滑化(smoothing)又は平滑化のためのジオメトリ復元プロセスに用いられる。
パッチパッキング部18001は、生成されたパッチを2Dイメ-ジ内にマップするパッチパッキングのプロセスを行う。パッチパッキングの結果物として占有マップ(occupancy map)が生成され、占有マップはジオメトリイメ-ジ生成、テクスチャイメ-ジ生成、平滑化のためのジオメトリ復元プロセスに用いられる。
ジオメトリイメ-ジ生成部18002は、付加パッチ情報と占有マップを用いてジオメトリイメ-ジを生成し、生成したジオメトリイメ-ジはビデオ符号化により1つのビットストリ-ムに符号化される。
符号化前処理部18003は、イメ-ジパ-ディングを含む。生成されたジオメトリイメ-ジ又は符号化されたジオメトリビットストリ-ムを復号して再生成されたジオメトリイメ-ジは3Dジオメトリ復号に使用され、その後、平滑化過程が行われる。
テクスチャ-イメ-ジ生成部18004は、平滑化された3Dジオメトリ、ポイントクラウドデ-タ、付加パッチ情報及び占有マップを用いてテクスチャ-イメ-ジを生成する。生成されたテクスチャ-イメ-ジは1つのビデオビットストリ-ムに符号化される。
メタデ-タ符号化部18005は、付加パッチ情報を1つのメタデ-タビットストリ-ムに符号化する。
ビデオ符号化部18006は、占有マップを1つのビデオビットストリ-ムに符号化する。
多重化部18007は、生成されたジオメトリ、テクスチャ-イメ-ジ、占有マップのビデオビットストリ-ムと付加パッチ情報メタデ-タビットストリ-ムを1つのビットストリ-ムに多重化する。
送信部18008は、ビットストリ-ムを受信端に送信する。又は生成されたジオメトリ、テクスチャ-イメ-ジ、占有マップのビデオビットストリ-ムと付加パッチ情報メタデ-タビットストリ-ムは1つ以上のトラックデ-タでファイルが生成されるか、セグメントでカプセル化されて送信部から受信端に送信される。
図19は、実施例による受信装置の動作の流れの一例を示す。
実施例による受信装置は、図1の受信装置、図16の復号プロセス、図17の2Dビデオ/イメ-ジエンコ-ダに対応するか、それらの動作の一部/全部を行う。受信装置の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
V-PCCを用いたポイントクラウドデ-タの受信及び復元のための受信端の動作プロセスは図面に従う。V-PCC受信端の動作は、図18のV-PCC送信端の動作の逆過程である。
実施例によるポイントクラウドデ-タ受信装置は、受信装置とも呼ばれる。
受信されたポイントクラウドのビットストリ-ムはファイル/セグメンデカプセル化後に圧縮されたジオメトリイメ-ジ、テキスチャ-イメ-ジ、占有マップのビデオビットストリ-ムと付加パッチ情報メタデ-タビットストリ-ムに逆多重化部19000により逆多重化される。ビデオ復号部19001とメタデ-タ復号化部19002は逆多重化されたビデオビットストリ-ムとメタデ-タビットストリ-ムを復号する。ジオメトリ復元部19003により復号されたジオメトリイメ-ジと占有マップ及び付加パッチ情報を用いて3Dジオメトリが復元され、その後、平滑化部19004による平滑化過程が行われる。平滑化された3Dジオメトリにテキスチャ-イメ-ジを用いてカラ-値を付与することにより、カラ-ポイントクラウド映像/ピクチャ-がテキスチャ-復元部19005により復元される。その後、客観的/主観的な視覚品質を向上させるために、カラ-平滑化過程をさらに行い、これにより導出された修正された(modified)ポイントクラウド映像/ピクチャ-は、レンダリングプロセス後にユ-ザに見せられる。なお、カラ-平滑化プロセスは、場合によっては省略してもよい。
図20は、実施例によるV-PCCベ-スのポイントクラウドデ-タの格納及びストリ-ミングのためのア-キテクチャの一例を示す。
図20のシステムの一部/全部は、図1の送受信装置、図4の符号化プロセス、図15の2Dビデオ/イメ-ジエンコ-ダ、図16の復号プロセス、図18の送信装置、及び/又は図19の受信装置などの一部/全部を含む。図面の各構成要素は、ソフトウェア、ハ-ドウェア、プロセッサ及びそれらの組み合わせに対応する。
図20ないし図22は実施例による送受信装置にさらにシステムが連結された構造を示す。実施例による送受信装置及びシステムを全て含めて、実施例による送受信装置と称する。
図20ないし図22に示す実施例による装置は、図18などに該当する送信装置は符号化されたポイントクラウドデ-タを含むビットストリ-ムを送信するためのデ-タフォ-マットに合うコンテナを生成する。
実施例によるV-PCCシステムは、ポイントクラウドデ-タを含むコンテナを生成し、効率的な送受信のために必要な付加デ-タをコンテナにさらに追加する。
実施例による受信装置は、図20ないし図22のようなシステムに基づいてコンテナを受信して、パ-ス(parse)する。図19などに該当する受信装置はパ-スされたビットストリ-ムからポイントクラウドデ-タを復号して復元する。
図ビデオベ-スポイントクラウド圧縮(V-PCC)に基づいて圧縮されるポイントクラウドデ-タを格納又はストリ-ミングするための全体的なア-キテクチャを示す。ポイントクラウドデ-タの格納及びストリ-ミングのプロセスは、取得プロセス、符号化プロセス、送信プロセス、復号プロセス、レンダリングプロセス及び/又はフィ-ドバックプロセスを含む。
実施例は、ポイントクラウドメディア/コンテンツ/デ-タを効率的に提供する方法を提案する。
ポイントクラウド取得部20000は、ポイントクラウドメディア/コンテンツ/デ-タを効率的に提供するために、まず、ポイントクラウドビデオを取得する。例えば、1つ以上のカメラによって、ポイントクラウドのキャプチャ-、合成又は生成プロセスなどを通じたポイントクラウドデ-タを取得する。この取得プロセスにより、各ポイントの3D位置(x、y、z位置値などで示され、以下、ジオメトリと呼ぶ)、各ポイントの特質(色、反射率、透明度など)を含むポイントクラウドビデオを取得することができる。また取得したポイントクラウドビデオはこれを含む、例えば、PLY(Polygon File format or the Stanford Triangle format)ファイルなどで生成することができる。複数のフレ-ムを有するポイントクラウドデ-タの場合、1つ以上のファイルを取得することができる。このプロセスにおいてポイントクラウド関連メタデ-タ(例えば、キャプチャ-などに関連するメタデ-タなど)を生成することができる。
キャプチャ-したポイントクラウドビデオは、コンテンツの品質を向上させるための後処理が必要となる場合がある。映像キャプチャ-のプロセスにおいて、カメラ装備が提供する範囲内で最大/最小の深さ値を調整してもよいが、調整後にも所望しない領域のポイントデ-タが含まれることがあるため、所望しない領域(例えば、背景)を除去したり、連結された空間を認識して穴(spatial hole)を埋める後処理を行ってもよい。また、空間座標系を共有するカメラから抽出されたポイントクラウドは校正によって取得された各カメラの位置座標を基準として、各ポイントに対するグロ-バル座標系への変換プロセスにより1つのコンテンツに統合してもよい。これにより、ポイントの密度の高いポイントクラウドビデオを取得することができる。
ポイントクラウド前処理部(point cloud pre-processing unit)20001は、ポイントクラウドビデオを1つ以上のピクチャ-/フレ-ムに生成する。ここで、ピクチャ-/フレ-ムは、一般に特定の時間帯の1つの映像を示す単位を意味する。また、ポイントクラウドビデオを構成する点を1つ以上のパッチ(ポイントクラウドを構成する点の集合であって、同じパッチに属する点は3D空間上において互いに隣接し、2Dイメ-ジへのマッピングプロセスにおいて6面のバウンディングボックスの平面のうち同じ方向にマップされる点の集合)に分けて2D平面にマップする際に、2D平面のその位置にデ-タが存在するか否かを0又は1の値で知らせる2進マップ(binary map)である占有マップピクチャ-/フレ-ムを生成することができる。また、ポイントクラウドビデオを成す各点の位置情報(geometry)をパッチ単位で表す深さマップ形式のピクチャ-/フレ-ムであるジオメトリピクチャ-/フレ-ムを生成することができる。ポイントクラウドビデオを成す各点の色情報をパッチ単位で表すピクチャ-/フレ-ムであるテクスチャ-ピクチャ-/フレ-ムを生成することができる。このプロセスにおいて、個別パッチからポイントクラウドを再構成するために必要なメタデ-タを生成することができ、このメタデ-タは、各パッチの2D/3D空間における位置、サイズなどのパッチに関する情報(付加情報又は付加パッチ情報という)を含む。このようなピクチャ-/フレ-ムが時間順に連続して生成され、ビデオストリ-ム又はメタデ-タストリ-ムを構成することができる。
ポイントクラウドビデオエンコ-ダ20002は、ポイントクラウドビデオに関連する1つ以上のビデオストリ-ムに符号化することができる。1つのビデオは複数のフレ-ムを含み、1つのフレ-ムは停止映像/ピクチャ-に対応する。この明細書において、ポイントクラウドビデオとは、ポイントクラウド映像/フレ-ム/ピクチャ-を含み、ポイントクラウドビデオはポイントクラウド映像/フレ-ム/ピクチャ-と混用することがある。ポイントクラウドビデオエンコ-ダは、ビデオベ-スポイントクラウド圧縮(V-PCC)の手順を行う。ポイントクラウドビデオエンコ-ダは、圧縮及びコ-ティングの効率のために、予測、変換、量子化、エントロピ-コ-ティングなどの一連の手順を行うことができる。符号化されたデ-タ(符号化されたビデオ/映像情報)は、ビットストリ-ム形式で出力される。V-PCC手順に基づく場合、ポイントクラウドビデオエンコ-ダは、後述のように、ポイントクラウドビデオをジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、またメタデ-タ、例えば、パッチに関する情報に分けて符号化することができる。ジオメトリビデオはジオメトリイメ-ジを含んでもよく、特質(attribute)ビデオは特質イメ-ジを含んでもよく、占有(occupancy)マップビデオは占有マップイメ-ジを含んでもよい。付加情報であるパッチデ-タは、パッチに関する情報を含んでもよい。特質ビデオ/イメ-ジは、テキスチャ-ビデオ/イメ-ジを含んでもよい。
ポイントクラウドイメ-ジエンコ-ダ20003は、ポイントクラウドビデオに関連する1つ以上のイメ-ジに符号化することができる。ポイントクラウドイメ-ジエンコ-20003は、ビデオベ-スポイントクラウド圧縮(V-PCC)の手順を行う。ポイントクラウドイメ-ジエンコ-ダは、圧縮及びコ-ティングの効率のために、予測、変換、量子化、エントロピ-コ-ティングなどの一連の手順を行うことができる。符号化されたイメ-ジは、ビットストリ-ム形式で出力される。V-PCC手順に基づく場合、ポイントクラウドイメ-ジエンコ-ダ20003は、後述のように、ポイントクラウドイメ-ジをジオメトリイメ-ジ、特質(attribute)イメ-ジ、占有(occupancy)マップイメ-ジ、またメタデ-タ、例えば、パッチに関する情報に分けて符号化することができる。
実施例によるポイントクラウドビデオエンコ-ダ及び/又はポイントクラウドイメ-ジエンコ-ダは、実施例によるPCCビットストリ-ム(G-PCC及び/又はV-PCCビットストリ-ム)を生成する。
実施例によって、ビデオエンコ-ダ20002、イメ-ジエンコ-ダ20003、ビデオデコ-ダ20006、イメ-ジデコ-ダは、上述のように、1つのエンコ-ダ/デコ-ダによって行われてもよく、図面のように、別の経路によって行われてもよい。
カプセル化部(file/segment encapsulation unit)20004は、符号化されたポイントクラウドデ-タ及び/又はポイントクラウドに関連するメタデ-タをファイル又はストリ-ミングのためのセグメントなどの形式でカプセル化する。ここで、ポイントクラウドに関連するメタデ-タは、メタデ-タ処理部などから伝送されてもよい。メタデ-タ処理部は、ポイントクラウドビデオ/イメ-ジエンコ-ダに含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。カプセル化処理部は、そのビデオ/イメ-ジ/メタデ-タをISOBMFFなどのファイルフォ-マットにカプセル化するか、DASHセグメントなどの形態に処理する。カプセル化処理部は、実施例によれば、ポイントクラウドに関連するメタデ-タをファイルフォ-マット上に含ませることができる。ポイントクラウドメタデ-タは、例えば、ISOBMFFファイルフォ-マット上の様々なレベルのボックス(box)に含まれるか、ファイル内において別のトラック内のデ-タに含まれる。実施例によれば、カプセル化処理部は、ポイントクラウド関連メタデ-タそのものをファイルにカプセル化することができる。
実施例によるカプセル化及びカプセル化部は、G-PCC/V-PCCビットストリ-ムをファイル内の1つ或いは複数のトラックに分割格納し、そのためのシグナリング情報も共にカプセル化する。また、G-PCC/V-PCCビットストリ-ム上に含まれているatlasストリ-ムをファイル内のトラックに格納し、関連するシグナリング情報を格納してもよい。さらに、 G-PCC/V-PCCビットストリ-ム上に存在するSEIメッセ-ジをファイル内のトラックに格納し、関連するシグナリング情報を格納してもよい。
送信処理部は、ファイルフォ-マットに応じてカプセル化されたポイントクラウドデ-タに送信のための処理を施してもよい。送信処理部は、送信部に含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。送信処理部は、任意の送信プロトコルに従ってポイントクラウドデ-タを処理することができる。送信のための処理には、放送網を介する伝送のための処理、ブロ-ドバンドを介する伝送のための処理を含んでもよい。実施例によれば、送信処理部は、ポイントクラウドデ-タだけではなく、メタデ-タ処理部からポイントクラウド関連メタデ-タが伝送され、これに送信のための処理を施してもよい。
送信部は、ポイントクラウドビットストリ-ム又はそのビットストリ-ムを含むファイル/セグメントをデジタル記憶媒体又はネットワ-クを介して受信装置の受信部へ伝送する。送信のために、任意の送信プロトコルによる処理を行ってもよい。送信のために処理されたデ-タは、放送網及び/又はブロ-ドバンドを介して伝送される。このデ-タは、オン・デマンド(On Demand)方式で受信側に伝送される。デジタル記憶媒体には、USB、SD、CD、DVD、ブル-レイ、HDD、SSDなどの様々なものが含まれる。送信部は、所定のファイルフォ-マットでメディアファイルを生成するための要素を含み、放送/通信ネットワ-クを介する送信のための要素を含んでもよい。受信部は、ビットストリ-ムを抽出して復号装置に送信する。
受信部は、この明細書によるポイントクラウドデ-タ送信装置が送信したポイントクラウドデ-タを受信する。送信されるチャネルに応じて、受信部は、放送網を介してポイントクラウドデ-タを受信してもよく、ブロ-ドバンドを介してポイントクラウドデ-タを受信してもよい。又は、デジタル記憶媒体によってポイントクラウドビデオデ-タを受信してもよい。受信部は、受信したデ-タを復号し、これをユ-ザのビュ-ポ-トなどに応じてレンダリングしてもよい。
受信処理部は、受信されたポイントクラウドビデオデ-タに対して送信プロトコルによる処理を行う。受信処理部は、受信部に含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。送信側で送信のための処理が行われたことに対応して、受信処理部は、上述した送信処理部の逆過程を行う。受信処理部は、取得したポイントクラウドビデオをデカプセル化部へ伝送し、取得したポイントクラウドに関連するメタデ-タはメタデ-タ処理部へ伝送する。
デカプセル化部(file/segment decapsulation unit)20005は、受信処理部から送信されたファイル形式のポイントクラウドデ-タをデカプセル化する。デカプセル化部は、ISOBMFFなどによるファイルをデカプセル化し、ポイントクラウドビットストリ-ム又はポイントクラウド関連メタデ-タ(又は、別のメタデ-タビットストリ-ム)を取得することができる。取得したポイントクラウドビットストリ-ムは、ポイントクラウドビデオデコ-ダ及びポイントクラウドイメ-ジデコ-ダに伝送され、取得したポイントクラウド関連メタデ-タ(又はメタデ-タビットストリ-ム)は、メタデ-タ処理部に伝送される。ポイントクラウドビットストリ-ムは、メタデ-タ(メタデ-タビットストリ-ム)を含んでもよい。メタデ-タ処理部は、ポイントクラウドビデオデコ-ダに含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。デカプセル化部が取得するポイントクラウド関連メタデ-タは、ファイルフォ-マット内のボックス又はトラック形式であってもよい。デカプセル化処理部は、必要な場合、メタデ-タ処理部からデカプセル化に必要なメタデ-タが伝送されることがある。ポイントクラウド関連メタデ-タは、ポイントクラウドビデオデコ-ダ及び/又はポイントクラウドイメ-ジデコ-ダに伝送されてポイントクラウド復号に用いられてもよく、又はレンダラ-に伝送されてポイントクラウドレンダリングに用いられてもよい。
ポイントクラウドビデオデコ-ダ20006は、ビットストリ-ムを受信してポイントクラウドビデオエンコ-ダの動作に対応する逆過程を行うことでビデオ/映像を復号する。この場合、ポイントクラウドビデオデコ-ダ20006は、後述のように、ポイントクラウドビデオをジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、また付加パッチ情報(auxiliary patch information)に分けて復号することができる。ジオメトリビデオはジオメトリイメ-ジを含んでもよく、特質(attribute)ビデオは特質イメ-ジを含んでもよく、占有(occupancy)マップビデオは占有マップイメ-ジを含んでもよい。付加情報は、付加パッチ情報(auxiliary patch information)を含んでもよい。特質ビデオ/イメ-ジはテキスチャ-ビデオ/イメ-ジを含んでもよい。
復号されたジオメトリビデオ/イメ-ジと占有マップ及び付加パッチ情報を用いて3Dジオメトリが復元され、その後に平滑化処理を行う。平滑化された3Dジオメトリに、テクスチャ-ビデオ/イメ-ジを用いてカラ-値を割り当てることで、カラ-ポイントクラウド映像/ピクチャ-が復元される。レンダラ-は、復元されたジオメトリ、カラ-ポイントクラウド映像/ピクチャ-をレンダリングする。レンダリングされたビデオ/映像は、ディスプレイ部でディスプレイされる。ユ-ザは、VR/ARディスプレイ又は一般のディスプレイなどによってレンダリングされた結果の全部又は一部の領域を見ることができる。
センシング/トラッキング部(Sensing/Tracking)20007は、ユ-ザ又は受信側からオリエンテ-ション情報及び/又はユ-ザビュ-ポ-ト情報を取得して受信部及び/又は送信部に送信する。オリエンテ-ション情報は、ユ-ザの頭の位置、角度、動きなどに関する情報を示したり、ユ-ザが見ている装置の位置、角度、動きなどに関する情報を示す。この情報に基づいて、現在ユ-ザが3D空間で見ている領域に関する情報、即ちビュ-ポ-ト情報を算出する。
ビュ-ポ-ト情報は、現在ユ-ザが3D空間において装置又はHMDなどを介して見ている領域に関する情報であってもよい。ディスプレイなどの装置は、オリエンテ-ション情報、装置が支援する垂直(vertical)又は水平(horizontal)FOVなどに基づいてビュ-ポ-ト領域を抽出することができる。オリエンテ-ション又はビュ-ポ-ト情報は、受信側で抽出又は算出する。受信側で分析したオリエンテ-ション又はビュ-ポ-ト情報は、フィ-ドバックチャネルを介して送信側へ伝送されてもよい。
受信部は、センシング/トラッキング部によって取得されたオリエンテ-ション情報及び/又はユ-ザが現在見ている領域を示すビュ-ポ-ト情報を使用して特定の領域、即ちオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示す領域のメディアデ-タだけを効率的にファイルから抽出又は復号する。また送信部は、センシング/トラッキング部によって取得されたオリエンテ-ション情報及び/又はビュ-ポ-ト情報を使用して特定の領域、即ちオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示す領域のメディアデ-タだけを効率的に符号化したり、ファイルを生成及び送信することができる。
レンダラ-は、3D空間上に復号されたポイントクラウドデ-タをレンダリングする。レンダリングされたビデオ/映像は、ディスプレイ部を介してディスプレイされる。ユ-ザは、VR/ARディスプレイ又は一般のディスプレイなどを介してレンダリングされた結果の全部又は一部の領域を見ることができる。
フィ-ドバックプロセスは、レンダリング/ディスプレイのプロセスから取得し得る様々なフィ-ドバック情報を送信側に送信するか、又は受信側のデコ-ダに送信することを含んでもよい。フィ-ドバックプロセスによって、ポイントクラウドデ-タの消費において相互作用(interactivity)を提供することができる。実施例によれば、フィ-ドバックプロセスにおいて、ヘッドオリエンテ-ション(Head Orientation)情報、ユ-ザが現在見ている領域を示すビュ-ポ-ト(Viewport)情報などを伝送することができる。実施例によれば、ユ-ザは、VR/AR/MR/自立走行環境において具現されたものと相互作用することができるが、この場合、相互作用に関する情報をフィ-ドバックプロセスにおいて送信側及びサ-ビス供給者側に伝送することもできる。実施例によれば、フィ-ドバックプロセスは省略してもよい。
実施例によれば、上述したフィ-ドバック情報は、送信側に伝送されるだけではなく、受信側で消費することもできる。即ち、上述したフィ-ドバック情報を用いて受信側のデカプセル化処理、復号、レンダリングプロセスなどを行ってもよい。例えば、オリエンテ-ション情報及び/又はビュ-ポ-ト情報を用いて、ユ-ザが現在見ている領域に対するポイントクラウドデ-タを優先してデカプセル化、復号及びレンダリングしてもよい。
実施例によるポイントクラウドデ-タ送信方法は、ポイントクラウドデ-タを符号化する段階;ポイントクラウドデ-タをカプセル化する段階;及びポイントクラウドデ-タを送信する段階;を含む。
実施例によるポイントクラウドデ-タ受信方法は、ポイントクラウドデ-タを受信する段階;ポイントクラウドデ-タをデカプセル化する段階;及びポイントクラウドデ-タを復号する段階;を含む。
図21は、実施例によるポイントクラウドデ-タの格納及び送信装置の構成の一例を示す。
図21は、実施例によるポイントクラウドシステムを示し、システムの一部/全部は、図1の送受信装置、図4の符号化プロセス、図15の2Dビデオ/イメ-ジエンコ-ダ、図16の復号プロセス、図18の送信装置及び/又は図19の受信装置などの一部/全部を含むことができる。また、図20のシステムの一部/全部に含まれるか、対応することができる。
実施例によるポイントクラウドデ-タ送信装置は、図面のように構成される。送信装置の各構成要素は、モジュ-ル/ユニット/コンポ-ネント/ハ-ドウェア/ソフトウェア/プロセッサなどであってもよい。
ポイントクラウドのジオメトリ、特質、付加デ-タ(又は付加情報)、メッシュデ-タなどは、それぞれ独立したストリ-ムで構成されるか、又はファイルにおいてそれぞれ異なるトラックに格納されてもよい。さらに、別のセグメントに含まれてもよい。
ポイントクラウド取得部(Point Cloud Acquisition unit)21000は、ポイントクラウドを取得する。例えば、1つ以上のカメラを介してポイントクラウドのキャプチャ-、合成又は生成プロセスなどによりポイントクラウドデ-タを取得する。このような取得プロセスにより、各ポイントの3D位置(x、y、z位置値などで示され、以下、これをジオメトリと呼ぶ)、各ポイントの特質(色、反射率、透明度など)を含むポイントクラウドデ-タが得られ、これを含む、例えば、PLY(Polygon File format or the Stanford Triangle format)ファイルなどで生成することができる。複数のフレ-ムを有するポイントクラウドデ-タの場合、1つ以上のファイルを取得することができる。このプロセスにおいて、ポイントクラウド関連メタデ-タ(例えば、キャプチャ-などに関連するメタデ-タなど)を生成することができる。
パッチ生成部(Patch Generation unit)21001は、ポイントクラウドデ-タからパッチを生成する。パッチ生成部は、ポイントクラウドデ-タ又はポイントクラウドビデオを1つ以上のピクチャ-/フレ-ムで生成する。一般に、ピクチャ-/フレ-ムは、特定の時間帯の1つの映像を示す単位を意味する。ポイントクラウドビデオを構成する点を1つ以上のパッチ(ポイントクラウドを構成する点の集合であり、同じパッチに属する点は3D空間において互いに隣接しており、2Dイメ-ジへのマッピングプロセスにおいて6面のバウンディングボックス平面のうち同じ方向にマップされる点の集合)に分けて2D平面にマップする際、2D平面のその位置にデ-タが存在するか否かを0又は1の値で知らせる2進マップ(binary map)である占有(occupancy)マップピクチャ-/フレ-ムを生成することができる。また、ポイントクラウドビデオを成す各点の位置情報(geometry)をパッチ単位で表す深さマップ形式のピクチャ-/フレ-ムであるジオメトリピクチャ-/フレ-ムを生成する。ポイントクラウドビデオを成す各点の色情報をパッチ単位で表すピクチャ-/フレ-ムであるテクスチャ-ピクチャ-/フレ-ムを生成することができる。このプロセスにおいて、個別パッチからポイントクラウドを再構成するために必要なメタデ-タを生成することができ、このメタデ-タは、各パッチの2D/3D空間における位置、サイズなどパッチに関する情報を含んでもよい。このようなピクチャ-/フレ-ムが時間順に連続して生成され、ビデオストリ-ム又はメタデ-タストリ-ムを構成することができる。
また、パッチは、2Dイメ-ジマッピングのために使用してもよい。例えば、ポイントクラウドデ-タが立方体の各面にプロジェクトされる。パッチ生成後、生成されたパッチに基づいて、ジオメトリイメ-ジ、1つ又は1つ以上の特質イメ-ジ、占有マップ、付加デ-タ及び/又はメッシュデ-タなどを生成することができる。
前処理部又は制御部(controller)によって、ジオメトリイメ-ジ生成(Geometry image Generation)、特質イメ-ジ生成(Attribute image Generation)、占有マップ生成(Occupancy map Generation)、付加デ-タ生成(Auxiliary Data Generation)及び/又はメッシュデ-タ生成(Mesh Data Generation)が行われる。
ジオメトリイメ-ジ生成部(Geometry image Generation unit)21002は、パッチ生成の結果物に基づいてジオメトリイメ-ジを生成する。ジオメトリは、3D空間上のポイントを示す。パッチに基づいてパッチの2Dイメ-ジパッキングに関連する情報を含む占有マップ、付加デ-タ(パッチデ-タ)及び/又はメッシュデ-タなどを使用して、ジオメトリイメ-ジを生成する。ジオメトリイメ-ジは、パッチ生成後に生成されたパッチの深さ(例えば、近さ、遠さ)などの情報に関連する。
特質イメ-ジ生成部(Attribute image Generation unit)21003は、特質イメ-ジを生成する。例えば、特質はテキスチャ-(Texture)を示すことができる。テキスチャ-は、各ポイントに対応するカラ-値であってもよい。実施例によれば、テキスチャ-を含む複数(N個)の特質(色、反射率など)イメ-ジを生成する。複数の特質は、マテリアル(材質に関する情報)、反射率などを含む。また、実施例によれば、特質は、同じテキスチャ-でも視覚、光によってカラ-が変わる情報をさらに含んでもよい。
占有マップ生成部(Occupancy map Generation unit)21004は、パッチから占有マップを生成する。占有マップは、そのジオメトリ又は特質イメ-ジなどのピクセルにデ-タの存否を示す情報を含む。
付加デ-タ生成部(Auxiliary Data Generation unit)21005は、パッチに関する情報を含む付加デ-タを生成する。即ち、付加デ-タは、ポイントクラウド客体のパッチに関するメタデ-タを示す。例えば、パッチに対する法線(normal)ベクトルなどの情報を示すことができる。具体的には、実施例によれば、付加デ-タは、パッチからポイントクラウドを再構成するために必要な情報を含む(例えば、パッチの2D/3D空間上の位置、サイズなどに関する情報、プロジェクション平面(normal)識別情報、パッチマッピング情報など)。
メッシュデ-タ生成部(Mesh Data Generation unit)21006は、パッチからメッシュデ-タを生成する。メッシュは、隣接したポイント間の連結情報を示す。例えば、三角形のデ-タを示してもよい。例えば、実施例によるメッシュデ-タは、各ポイント間の接続(connectivity)情報を意味する。
ポイントクラウド前処理部又は制御部は、パッチ生成、ジオメトリイメ-ジ生成、特質イメ-ジ生成、占有マップ生成、付加デ-タ生成、メッシュデ-タ生成に関連するメタデ-タ(Metadata)を生成する。
ポイントクラウド送信装置は、前処理部で生成された結果物に対応して、ビデオ符号化及び/又はイメ-ジ符号化を行う。ポイントクラウド送信装置は、ポイントクラウドビデオデ-タだけではなく、ポイントクラウドイメ-ジデ-タを生成する。実施例によれば、ポイントクラウドデ-タはビデオデ-タのみを、イメ-ジデ-タのみを、及び/又はビデオデ-タ及びイメ-ジデ-タの両方を含んでもよい。
ビデオ符号化部21007は、ジオメトリビデオ圧縮、特質ビデオ圧縮、占有マップビデオ圧縮、付加デ-タ圧縮及び/又はメッシュデ-タ圧縮を行う。ビデオ符号化部は、符号化された各々のビデオデ-タを含むビデオトリ-ムを生成する。
具体的には、ジオメトリビデオ圧縮はポイントクラウドジオメトリビデオデ-タを符号化する。特質ビデオ圧縮はポイントクラウドの特質ビデオデ-タを符号化する。付加デ-タ圧縮はポイントクラウドビデオデ-タに関連する付加デ-タを符号化する。メッシュデ-タ圧縮(Mesh data compression)はポイントクラウドビデオデ-タのメッシュデ-タを符号化する。ポイントクラウドビデオ符号化部の各動作は、並列に行われる。
イメ-ジ符号化部21008は、ジオメトリイメ-ジ圧縮、特質イメ-ジ圧縮、占有マップイメ-ジ圧縮、付加デ-タ圧縮及び/又はメッシュデ-タ圧縮を行う。イメ-ジ符号化部は、符号化された各々のイメ-ジデ-タを含むイメ-ジを生成する。
具体的には、ジオメトリイメ-ジ圧縮は、ポイントクラウドジオメトリイメ-ジデ-タを符号化する。特質イメ-ジ圧縮はポイントクラウドの特質イメ-ジデ-タを符号化する。付加デ-タ圧縮はポイントクラウドイメ-ジデ-タに関連する付加デ-タを符号化する。メッシュデ-タ圧縮(Mesh data compression)はポイントクラウドイメ-ジデ-タに関連するメッシュデ-タを符号化する。ポイントクラウドイメ-ジ符号化部の各動作は、並列に行われる。
ビデオ符号化部及び/又はイメ-ジ符号化部は前処理部からメタデ-タを受信する。ビデオ符号化部及び/又はイメ-ジ符号化部はメタデ-タに基づいて各々の符号化プロセスを行う。
ファイル/セグメントカプセル化部(File/Segment Encapsulation)21009は、ビデオストリ-ム及び/又はイメ-ジをファイル及び/又はセグメント形式にカプセル化する。ファイル/セグメントカプセル化部はビデオトラックカプセル化、メタデ-タトラックカプセル化及び/又はイメ-ジカプセル化を行う。
ビデオトラックカプセル化は、1つ又は1つ以上のビデオストリ-ムを1つ又は1つ以上のトラックカプセル化することができる。
メタデ-タトラックカプセル化は、ビデオストリ-ム及び/又はイメ-ジに関連するメタデ-タを1つ又は1つ以上のトラックにカプセル化する。メタデ-タは、ポイントクラウドデ-タのコンテンツに関連するデ-タを含む。例えば、初期ビュ-イングオリエンテ-ションメタデ-タ(Initial Viewing Orientation Metadata)を含む。実施例によれば、メタデ-タは、メタデ-タトラックにカプセル化されてもよく、ビデオトラック又はイメ-ジトラックに共にカプセル化されてもよい。
イメ-ジカプセル化は1つ又は1つ以上のイメ-ジを1つ又は1つ以上のトラック又はアイテムにカプセル化する。
例えば、実施例によれば、4つのビデオストリ-ムと2つのイメ-ジがカプセル化部に入力される場合、4つのビデオストリ-ム及び2つのイメ-ジを1つのファイル内にカプセル化する。
実施例によるポイントクラウドビデオエンコ-ダ及び/又はポイントクラウドイメ-ジエンコ-ダは、実施例によるG-PCC/V-PCCビットストリ-ムを生成する。
ファイル/セグメントカプセル化部は、前処理部からメタデ-タを受信する。ファイル/セグメントカプセル化部は、メタデ-タに基づいてカプセル化を行う。
ファイル/セグメントカプセル化によって生成されたファイル及び/又はセグメントは、ポイントクラウド送信装置又は送信部によって送信される。例えば、DASHベ-スのプロトコルに基づいてセグメントが伝達(Delivery)できる。
実施例によるカプセル化及びカプセル化部は、V-PCCビットストリ-ムをファイル内に1つ又は複数のトラックに分割格納し、そのためのシグナリング情報も共にカプセル化することができる。また、V-PCCビットストリ-ム上に含まれているatlasストリ-ムをファイル内のトラックに格納し、関連するシグナリング情報を格納することができる。さらに、V-PCCビットストリ-ム上に存在するSEIメッセ-ジをファイル内のトラックに格納し、関連するシグナリング情報を格納することができる。
伝達部(Delivery)は、ポイントクラウドビットストリ-ム又はそのビットストリ-ムを含むファイル/セグメントをデジタル記憶媒体又はネットワ-クを介して受信装置の受信部に伝達する。送信のために、任意の送信プロトコルによる処理を行う。送信のための処理を終えたデ-タは、放送網及び/又はブロ-ドバンドを介して伝送される。このデ-タは、オン・デマンド(On Demand)方式で受信側へ伝送してもよい。デジタル記憶媒体には、USB、SD、CD、DVD、ブル-レイ、HDD、SSDなどの様々な記憶媒体がある。伝達部は、所定のファイルフォ-マットでメディアファイルを生成するための要素を含み、放送/通信ネットワ-クを介する送信のための要素を含む。伝達部は、受信部からオリエンテ-ション情報及び/又はビュ-ポ-ト情報を受信する。伝達部は、取得したオリエンテ-ション情報及び/又はビュ-ポ-ト情報(又はユ-ザが選択した情報)を前処理部、ビデオ符号化部、イメ-ジ符号化部、ファイル/セグメントカプセル化部及び/又はポイントクラウド符号化部に伝送する。オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、ポイントクラウド符号化部は全てのポイントクラウドデ-タを符号化するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タを符号化する。オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、ファイル/セグメントカプセル化部は全てのポイントクラウドデ-タをカプセル化するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タをカプセル化することができる。オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、伝達部は全てのポイントクラウドデ-タを伝達するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タを伝達する。
例えば、前処理部は、全てのポイントクラウドデ-タに対して上述した動作を行ってもよく、オリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タに対して動作を行ってもよい。ビデオ符号化部及び/又はイメ-ジ符号化部は、全てのポイントクラウドデ-タに対して上述した動作を行ってもよく、オリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タに対して上述した動作を行わってもよい。ファイル/セグメントカプセル化部は、全てのポイントクラウドデ-タに対して上述した動作を行ってもよく、オリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タに対して上述した動作を行ってもよい。送信部は、全てのポイントクラウドデ-タに対して上述した動作を行ってもよく、オリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タに対して上述した動作を行ってもよい。
図22は、実施例によるポイントクラウドデ-タ受信装置の構成の一例を示す。
図22は、実施例によるポイントクラウドシステムを示し、システムの一部/全部は、図1の送受信装置、図4の符号化プロセス、図15の2Dビデオ/イメ-ジエンコ-ダ、図16の復号プロセス、図18の送信装置、及び/又は図19の受信装置などの一部/全部を含むことができる。また、図20及び図21のシステムの一部/全部に含まれるか又は対応する。
受信装置の各構成は、モジュ-ル/ユニット/コンポ-ネント/ハ-ドウェア/ソフトウェア/プロセッサなどであってもよい。伝達クライアント(Delivery Client)は、実施例によるポイントクラウドデ-タ送信装置が送信したポイントクラウドデ-タ、ポイントクラウドビットストリ-ム又はそのビットストリ-ムを含むファイル/セグメントを受信する。送信されるチャネルに応じて、受信装置は、放送網を介してポイントクラウドデ-タを受信するか、又はブロ-ドバンドを介してポイントクラウドデ-タを受信する。又は、デジタル記憶媒体によってポイントクラウドデ-タを受信してもよい。受信装置は、受信したデ-タを復号し、これをユ-ザのビュ-ポ-トなどに従ってレンダリングするプロセスを含んでもよい。受信処理部は、受信されたポイントクラウドデ-タに対して送信プロトコルに従う処理を行う。受信処理部は受信部に含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。送信側で行った送信のための処理に対応して、受信処理部は、上述した送信処理部の逆過程を行う。受信処理部は、取得したポイントクラウドデ-タをファイル/セグメントデカプセル化部に伝送し、取得したポイントクラウド関連メタデ-タはメタデ-タ処理部に伝送することができる。
センシング/トラッキング部(Sensing/Tracking)は、オリエンテ-ション情報及び/又はビュ-ポ-ト情報を取得する。センシング/トラッキング部は、取得したオリエンテ-ション情報及び/又はビュ-ポ-ト情報を伝達クライアント、ファイル/セグメントデカプセル化部、ポイントクラウド復号部に伝送する。
伝達クライアントは、オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、全てのポイントクラウドデ-タを受信するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タを受信する。ファイル/セグメントデカプセル化部は、オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、全てのポイントクラウドデ-タをデカプセル化するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タをデカプセル化する。ポイントクラウド復号部(ビデオ復号部及び/又はイメ-ジ復号部)は、オリエンテ-ション情報及び/又はビュ-ポ-ト情報に基づいて、全てのポイントクラウドデ-タを復号するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タを復号する。ポイントクラウドプロセシング部は、全てのポイントクラウドデ-タを処理するか、又はオリエンテ-ション情報及び/又はビュ-ポ-ト情報が示すポイントクラウドデ-タを処理する。
ファイル/セグメントデカプセル化部(File/Segment decapsulation unit)22000は、ビデオトラックデカプセル化(Video Track Decapsulation)、メタデ-タトラックデカプセル化(Metadata Track Decapsulation)及び/又はイメ-ジデカプセル化(Image Decapsulation)を行う。デカプセル化処理部は、受信処理部から伝達されたファイル形式のポイントクラウドデ-タをデカプセル化する。デカプセル化処理部は、ISOBMFFなどによるファイル又はセグメントをデカプセル化し、ポイントクラウドビットストリ-ム及びポイントクラウド関連メタデ-タ(又は別のメタデ-タビットストリ-ム)を取得する。取得したポイントクラウドビットストリ-ムは、ポイントクラウド復号部に伝送し、取得したポイントクラウド関連メタデ-タ(又はメタデ-タビットストリ-ム)は、メタデ-タ処理部に伝送する。ポイントクラウドビットストリ-ムは、メタデ-タ(メタデ-タビットストリ-ム)を含んでもよい。メタデ-タ処理部は、ポイントクラウドビデオデコ-ダに含まれてもよく、別のコンポ-ネント/モジュ-ルで構成されてもよい。デカプセル化処理部が取得するポイントクラウド関連メタデ-タは、ファイルフォ-マット内のボックス又はトラックの形態であってもよい。ファイル/セグメントデカプセル化部は、必要な場合、メタデ-タ処理部からデカプセル化に必要なメタデ-タが伝送されてもよい。ポイントクラウド関連メタデ-タは、ポイントクラウド復号部に伝送されて、ポイントクラウド復号に用いられてもよく、ポイントクラウドレンダリング部に伝送されて、ポイントクラウドレンダリングに用いられてもよい。ファイル/セグメントデカプセル化部は、ポイントクラウドデ-タに関連するメタデ-タを生成することができる。
ビデオトラックデカプセル化部(Video Track Decapsulation)は、ファイル及び/又はセグメントに含まれたビデオトラックをデカプセル化する。ジオメトリビデオ、特質ビデオ、占有マップ、付加デ-タ及び/又はメッシュデ-タを含むビデオストリ-ムをデカプセル化する。
メタデ-タトラックデカプセル化(Metadata Track Decapsulation)は、ポイントクラウドデ-タに関連するメタデ-タ及び/又は付加デ-タなどを含むビットストリ-ムをデカプセル化する。
イメ-ジデカプセル化(Image Decapsulation)は、ジオメトリイメ-ジ、特質イメ-ジ、占有マップ、付加デ-タ及び/又はメッシュデ-タを含むイメ-ジをデカプセル化する。
実施例によるデカプセル化又はデカプセル化部は、G-PCC/V-PCCビットストリ-ムをファイル内の1つ又は複数のトラックに基づいて分割処理パ-シング(デカプセル化)し、そのためのシグナリング情報も共にデカプセル化する。また、G-PCC/V-PCCビットストリ-ム上に含まれているatlasストリ-ムをファイル内のトラックに基づいてデカプセル化し、関連するシグナリング情報をパ-シングする。さらにG-PCC/V-PCCビットストリ-ム上に存在するSEIメッセ-ジをファイル内のトラックに基づいてデカプセル化し、関連するシグナリング情報を共に取得することができる。
ビデオ復号部(Video Decoding unit)22001は、ジオメトリビデオ復元、特質ビデオ復元、占有マップ復元、付加デ-タ復元及び/又はメッシュデ-タ復元を行う。ビデオ復号部は、実施例によるポイントクラウド送信装置のビデオ符号化付加を行うプロセスに対応して、ジオメトリビデオ、特質ビデオ、付加デ-タ及び/又はメッシュデ-タを復号する。
イメ-ジ復号部(Image Decoding)22002は、ジオメトリイメ-ジ復元、特質イメ-ジ復元、占有マップ復元、付加デ-タ復元及び/又はメッシュデ-タ復元を行う。イメ-ジ復号部は、実施例によるポイントクラウド送信装置のイメ-ジ符号化部が行うプロセスに対応して、ジオメトリイメ-ジ、特質イメ-ジ、付加デ-タ及び/又はメッシュデ-タを復号する。
実施例によるビデオ復号部、イメ-ジ復号部は、上述のように、1つのビデオ/イメ-ジデコ-ダによって処理されてもよく、図のように別のパスで行われてもよい。
ビデオ復号部及び/又はイメ-ジ復号部は、ビデオデ-タ及び/又はイメ-ジデ-タに関連するメタデ-タを生成する。
実施例によるポイントクラウドビデオエンコ-ダ及び/又はポイントクラウドイメ-ジエンコ-ダは、実施例によるG-PCC/V-PCCビットストリ-ムを復号する。
ポイントクラウドプロセシング部(Point Cloud Processing unit)22003は、ジオメトリ再構成(Geometry Reconstruction)及び/又は特質再構成(Attribute Reconstruction)を行う。
ジオメトリ再構成は、復号されたビデオデ-タ及び/又は復号されたイメ-ジデ-タから、占有マップ、付加デ-タ及び/又はメッシュデ-タに基づいて、ジオメトリビデオ及び/又はジオメトリイメ-ジを復元する。
特質再構成は、復号された特質ビデオ及び/又は復号された特質イメ-ジから、占有マップ、付加デ-タ及び/又はメッシュデ-タに基づいて、特質ビデオ及び/又は特質イメ-ジを復元する。実施例によれば、例えば、特質はテキスチャ-である。実施例によれば、特質は複数の特質情報を意味する。複数の特質がある場合、実施例によるポイントクラウドプロセシング部は、複数の特質再構成を行う。
ポイントクラウドプロセシング部は、ビデオ復号部、イメ-ジ復号部及び/又はファイル/セグメントデカプセル化部からメタデ-タを受信し、メタデ-タに基づいてポイントクラウドを処理することができる。
ポイントクラウドレンダリング部(Point Cloud Rendering unit)は、再構成されたポイントクラウドをレンダリングする。ポイントクラウドレンダリング部はビデオ復号部、イメ-ジ復号部及び/又はファイル/セグメントデカプセル化部からメタデ-タを受信し、メタデ-タに基づいてポイントクラウドをレンダリングする。
ディスプレイは、レンダリングされた結果を実際のディスプレイ装置上にディスプレイする。
実施例による方法/装置は図15ないし図19に示したように、ポイントクラウドデ-タを符号化/復号した後、ポイントクラウドデ-タを含むビットストリ-ムをファイル及び/又はセグメント形式にカプセル化及び/又はデカプセル化する。
例えば、実施例によるポイントクラウドデ-タ送信装置は、ポイントクラウドデ-タをファイルに基づいてカプセル化し、このとき、ファイルには、ポイントクラウドに関するパラメ-タを含むV-PCCトラック、ジオメトリを含むジオメトリトラック、特質を含む特質トラック及び占有マップを含む占有トラックを含む。
また、実施例によるポイントクラウドデ-タ受信装置は、ポイントクラウドデ-タファイルに基づいてデカプセル化し、このとき、ファイルにはポイントクラウドに関するパラメ-タを含むV-PCCトラック、ジオメトリを含むジオメトリトラック、特質を含む特質トラック及び占有マップを含む占有トラックを含む。
上述した動作は、図20のファイル/セグメントカプセル化部、図21のファイル/セグメントカプセル化部21009、図22のファイル/セグメントデカプセル化部22000などによって行われる。
図23は、実施例によるポイントクラウドデ-タの送受信方法/装置と連動可能な構造の一例を示す。
実施例による構造では、サ-バ-2360、ロボット2310、自立走行車両2320、XR装置2330、スマ-トフォン2340、家電2350及び/又はHMD2370のうちのいずれかがクラウドネットワ-ク2310と接続する。ここで、ロボット2310、自立走行車両2320、XR装置2330、スマ-トフォン2340又は家電2350などを装置と呼ぶ。また、XR装置1730は、実施例によるポイントクラウド圧縮デ-タ(PCC)装置に対応するか、PCC装置と連動してもよい。
クラウドネットワ-ク2300は、クラウドコンピュ-ティングインフラの一部を構成するか、クラウドコンピュ-ティングインフラ内に存在するネットワ-クを意味してもよい。ここで、クラウドネットワ-ク2300は、3Gネットワ-ク、4G又はLTE(Long Term Evolution)ネットワ-ク又は5Gネットワ-クなどを用いて構成されてもよい。
AIサ-バ-2360は、ロボット2310、自立走行車両2320、XR装置2330、スマ-トフォン2340、家電2350及び/又はHMD2370のうちの少なくとも1つ以上とクラウドネットワ-ク2300を介いて接続され、接続された装置2310~2370のプロセシングの少なくとも一部を補助する。
HMD(Head-Mount Display)2370は、実施例によるXR装置及び/又はPCC装置が具現できるタイプの1つを示す。実施例によるHMDタイプの装置は、コミュニケ-ションユニット、コントロ-ルユニット、メモリユニット、I/Oユニット、センサユニット、またパワ-供給ユニットなどを含む。
以下、上記技術が適用される装置2310~2350の様々な実施例について説明する。ここで、図23に示された装置2310~2350は、上述した実施例によるポイントクラウドデ-タの送受信装置と連動/結合することができる。
<PCC+XR>
XR/PCC装置2330は、PCC及び/又はXR(AR+VR)技術が適用され、HMD(Head-Mount Display)、車両に備えられたHUD(Head-Up Display)、TV、携帯電話、スマ-トフォン、コンピュ-タ-、ウェアラブルデバイス、家電機器、デジタル看板、車両、固定型ロボットや移動型ロボットなどで具現される。
XR/PCC装置2330は、様々なセンサにより又は外部装置から取得した3Dポイントクラウドデ-タ又はイメ-ジデ-タを分析して3Dポイントに対する位置デ-タ及び特質デ-タを生成することで周辺空間又は現実客体に関する情報を得て、出力するXR客体をレンダリングして出力することができる。例えば、XR/PCC装置2330は認識された物体に関する付加情報を含むXR客体を該当認識された物体に対応して出力することができる。
<PCC+XR+モバイルフォン>
XR/PCC装置2330はPCC技術が適用されてモバイルフォン2340などで具現される。
モバイルフォン2340はPCC技術に基づいてポイントクラウドコンテンツを復号し、ディスプレイする。
<PCC+自立走行+XR>
自律走行車両2320はPCC技術及びXR技術が適用されて、移動型ロボット、車両、無人飛行体などで具現される。
XR/PCC技術が適用された自律走行車両2320は、XR映像を提供する手段を備えた自律走行車両やXR映像内での制御/相互作用の対象となる自律走行車両などを意味してもよい。特に、XR映像内での制御/相互作用の対象となる自律走行車両2320はXR装置2330とは区分され、互いに連動できる。
XR/PCC映像を提供する手段を備えた自律走行車両2320は、カメラを含むセンサからセンサ情報を取得し、取得したセンサ情報に基づいて生成されたXR/PCC映像を出力する。例えば、自律走行車両はHUDを備えてXR/PCC映像を出力することで、搭乗者に現実客体又は画面内の客体に対応するXR/PCC客体を提供する。
このとき、XR/PCC客体がHUDに出力される場合には、XR/PCC客体の少なくとも一部が搭乗者の視線が向く実際の客体にオ-バ-ラップされるように出力されることがある。一方、XR/PCC客体が自律走行車両内に備えられるディスプレイに出力される場合には、XR/PCC客体の少なくとも一部が画面内の客体にオ-バ-ラップされるように出力されることがある。例えば、自律走行車両は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応するXR/PCC客体を出力することができる。
実施例によるVR(Virtual Reality)技術、AR(Augmented Reality)技術、MR(Mixed Reality)技術及び/又はPCC(Point Cloud Compression)技術は、様々なデバイスに適用可能である。
即ち、VR技術は現実の客体や背景などをCG映像のみで提供するディスプレイ技術である。一方、AR技術は実際物事の映像上に仮想のCG映像を共に見せる技術である。また、MR技術は、現実世界に仮想客体を混ぜて見せるという点では上述したAR技術と類似する。しかし、AR技術では現実の客体とCG映像からなる仮想の客体との区別が明らかであり、現実客体を補完する形式で仮想の客体を使用する反面、MR技術では仮想の客体と現実の客体とが同等な性格と見なされるという点でAR技術とは区別される。より具体的には、例えば、上記MR技術が適用されたことがホログラムサ-ビスである。
ただし、最近にはVR、AR、MR技術を明確に区別するよりは、XR(extended Reality)技術と呼んでいる。よって、本発明の実施例はVR、AR、MR、XR技術のいずれにも適用可能である。かかる技術はPCC、V-PCC、G-PCC技術ベ-スの符号化/復号が適用される。
実施例によるPCC方法/装置は自律走行サ-ビスを提供する車両に適用できる。
自律走行サ-ビスを提供する自立走行車両はPCC装置と有無線通信可能に接続される。
実施例によるポイントクラウド圧縮デ-タ(PCC)送受信装置は、自立走行車両と有無線通信可能に接続された場合、自律走行サ-ビスと共に提供できるAR/VR/PCCサ-ビス関連コンテンツデ-タを受信/処理して自立走行車両に送信することができる。また、ポイントクラウドデ-タ送受信装置が自立走行車両に搭載された場合は、ポイントクラウド送受信装置は、ユ-ザインタ-フェ-ス装置で入力されたユ-ザ入力信号によってAR/VR/PCCサ-ビス関連コンテンツデ-タを受信/処理してユ-ザに提供することができる。実施例による車両又はユ-ザインタ-フェ-ス装置はユ-ザ入力信号を受信することができる。実施例によるユ-ザ入力信号は自律走行サ-ビスを指示する信号を含んでもよい。
実施例による方法/装置は、実施例によるポイントクラウドデ-タ送信装置(例えば、図1の送信装置10000、図18の送信装置)、送信装置のエンコ-ダ(例えば、図1のポイントクラウドビデオエンコ-ダ10002、図4のエンコ-ダ、図15のエンコ-ダ)、送信装置のファイルカプセル化部(例えば、図20の送信装置が連結されたシステムのファイル/セグメントカプセル化部20004、図21のプリプロセッサ、エンコ-ダが連結されたシステムのファイル/セグメントカプセル化部21009)、実施例によるポイントクラウドデ-タ受信装置(例えば、図1の受信装置10005、図19の受信装置)、受信装置のデコ-ダ(図1のポイントクラウドビデオデコ-ダ10008、図16のデコ-ダ、図17のデコ-ダ)、受信装置のファイルデカプセル化部(例えば、図20の受信装置が連結されたシステムのファイル/セグメントデカプセル化部20005、図22のプロセッサ、デコ-ダが連結されたシステムのファイル/セグメントデカプセル化部22000)などを称する。
この明細書で説明するV-PCC(Video-based point cloud compression)はV3C(Visual Volumetric Video-based Coding)と同一である。実施例による用語V-PCCはV3Cと混用して同じ意味で使用される。
実施例による方法/装置は、ユ-ザのビュ-ポ-トによってV-PCCコンテンツの空間部分接近(spatial access)を支援するためのV-PCCコンテンツの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連メタデ-タ(例えば、図25乃至図45などを参照)を生成して送受信する。
実施例による方法/装置は、ポイントクラウドビットストリ-ム(例えば、図25などを参照)内のポイントクラウドの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報(例えば、図25乃至図45などを参照)を生成して送受信する。
実施例による方法/装置は、ファイル(例えば、図40及び図41などを参照)内のポイントクラウドの3D領域情報とそれに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報(例えば、図25乃至図45などを参照)を格納して送受信する。
実施例による方法/装置は、ファイル(例えば、図46などを参照)内のイメ-ジアイテムに連関するポイントクラウドの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報を格納して送受信する。
実施例による方法/装置は、ポイントクラウドデ-タの3D領域に連関するデ-タを含むトラックをグル-ピングし、それに関連するシグナリング情報を生成して送受信する(図44及び図45などを参照)。
実施例による方法/装置は、2D領域に連関するデ-タを含むトラックをグル-ピングし、それに関連するシグナリング情報(図44及び図45などを参照)を生成して送受信する。
図20のV-PCCシステムのエンコ-ダ(図1のエンコ-ダ10002などに対応)がポイントクラウドデ-タを符号化してV-PCCビットストリ-ム(図26などを参照)を生成する。V-PCCシステムのファイル/セグメントカプセル化部20004がV-PCCビットストリ-ムをファイル(図40、図41などを参照)のトラックに効率的に格納し、それに対するシグナリングを提供するポイントクラウドコンテンツサ-ビスを提供するための送信機又は受信機(図1などを参照)を提案する。
実施例はV-PCCビットストリ-ムをファイルトラック内に効率的に格納し、それに関するシグナリング情報を生成し、格納されたV-PCCビットストリ-ムに対する効率的な接近を支援するためのファイル格納技法に関する。さらに変形/結合して、V-PCCビットストリ-ムをファイル内の1つ又は1つ以上の複数のトラックに分割して格納する技法に関する。
図24は実施例によるポイントクラウドの一部3次元領域とビデオフレ-ム上の領域の間の連関性を示す。
ユ-ザのズ-ムイン(zoom-in)或いはユ-ザのビュ-ポ-ト変更などにより、ユ-ザビュ-ポ-ト上にポイントクラウド客体/デ-タの全体ではない部分がレンダリング又はディスプレイされる。この場合、PCCデコ-ダ/プレ-ヤ-(図1、図20など)がユ-ザのビュ-ポ-ト上にレンダリング或いはディスプレイされるポイントクラウドデ-タの一部に連関するビデオ或いはアトラスデ-タを復号又は処理することが効率的である。即ち、レンダリング或いはディスプレイされない部分/領域のポイントクラウドデ-タに連関するビデオ或いはアトラスデ-タを復号或いは処理しない方か、低遅延の側面ではより効率的である。
実施例による方法/装置は、時間に応じて変わる、即ち、動的なポイントクラウドデ-タを符号化/送信及び復号/受信する。例えば、動的なポイントクラウドデ-タは時間に応じてポイントクラウドのポイント数が変わるか又はポイントクラウドの位置などが変わるデ-タである。この場合、時間に応じて同一の3次元領域にディスプレイされるポイントクラウドが変更する。
よって、実施例による方法/装置に対応するPCCデコ-ダ/プレ-ヤ-は、ユ-ザのビュ-ポ-ト上にレンダリング/ディスプレイされるポイントクラウドデ-タを空間接近又は部分接近する。
従って、実施例による方法/装置は、時間に応じて変化するポイントクラウドの3次元領域に連関するビデオフレ-ム内の2D領域情報をV-PCCビットストリ-ム内に伝達するか又はファイル内にシグナリング或いはメタデ-タ形態で伝達することができる。
実施例による受信装置及びレンダラ-は、ユ-ザのズ-ムイン或いはユ-ザのビュ-ポ-ト変更などによりユ-ザビュ-ポ-ト上にポイントクラウド客体/デ-タの全体ではない部分をレンダリングするか或いはディスプレイする。
実施例によるPCCデコ-ダ/プレ-ヤ-は効率的なプロセスのために、ユ-ザのビュ-ポ-ト上にレンダリング或いはディスプレイされるポイントクラウドデ-タの一部に連関するビデオ或いはアトラスデ-タを復号或いは処理する。
実施例によるPCCデコ-ダ/プレ-ヤ-は効率的なプロセスのために、レンダリング或いはディスプレイされない部分/領域のポイントクラウドデ-タに連関するビデオ或いはアトラスデ-タを復号或いは処理しなくてもよい。
客体24000に対するポイントクラウドの一部3次元領域24010に連関するデ-タ24020がビデオフレ-ム24030内の1つ以上の2D領域24040のビデオデ-タ24050に連関する。
動的なポイントクラウドデ-タ(時間に応じてポイントクラウドのポイント数が変化するか又はポイントクラウドの位置などが変化するデ-タ)の場合、時間に応じて同一の3次元領域にディスプレイされるポイントクラウドが変化する。
従って、実施例によるPCCデコ-ダ/プレ-ヤ-は、ユ-ザビュ-ポ-ト上にレンダリング/ディスプレイされるポイントクラウドデ-タの空間或いは部分に接近するために、時間に応じて変化するポイントクラウドの3次元領域に連関するビデオフレ-ム内の2D領域情をV-PCCビットストリ-ム25000内に含まさせるか又はファイル(例えば、図40)内にシグナリング或いはメタデ-タ形態で含ませる。
図25は実施例によるポイントクラウドデ-タを含むビットストリ-ムの構造を示す。
図25のビットストリ-ム25000は図26のビットストリ-ム26000に対応する。図25及び図26のビットストリ-ムは、図1の送信装置10000、ポイントクラウドビデオエンコ-ダ10002、図4のエンコ-ダ、図15のエンコ-ダ、図18の送信装置、図20のプロセッサ20001、ビデオ/イメ-ジエンコ-ダ20002、図21のプロセッサ21001ないし21006、及びビデオ/イメ-ジエンコ-ダ21007,21008などで生成される。
図25及び図26のビットストリ-ムは、図1のファイル/セグメントカプセル化部、図20のファイル/セグメントカプセル化部20004、及び図21のファイル/セグメントカプセル化部21009などによりコンテナ(図40及び図41などのファイル)に格納される。
図25及び図26のビットストリ-ムは図1の送信機10004などにより送信される。
図25及び図26のビットストリ-ムを含むコンテナ(図40及び図41などのファイル)を図1の受信装置10005、受信機10006などが受信する。
コンテナから図25及び図26のビットストリ-ムが、図1のファイル/セグメントデカプセル化部10007、図20のファイル/セグメントデカプセル化部20005、及び図22のファイル/セグメントデカプセル化部22000などによりパ-スされる。
図25及び図26のビットストリ-ムは、図1のポイントクラウドビデオデコ-ダ10008、図16のデコ-ダ、図17のデコ-ダ、図19の受信装置、図20のビデオ/イメ-ジデコ-ダ20006、図22のビデオ/イメ-ジデコ-ダ22001,22002、及びプロセッサ22003などにより復号され復元されてユ-ザに提供される。
実施例によるポイントクラウドデ-タに関するビットストリ-ム25000に含まれたサンプルストリ-ムV-PCCユニットは、V-PCCユニットサイズ25010及びV-PCCユニット25020を含む。
各略語の定義は以下の通りである:VPS(V-PCC parameter set)、あD(atlas data)、OVD(occupancy video data)、GVD(geometry video data)、AVD(attribute video data)
各々のV-PCCユニット25020は、V-PCCユニットヘッダ25030及びV-PCCユニットペイロ-ド25040を含む。V-PCCユニットヘッダ25030はV-PCCユニットタイプを記述する。特質ビデオデ-タV-PCCユニットヘッダは特質タイプ及びそのインデックス、支援される同一の特質タイプのマルチインスタンスなどを説明する。
占有、ジオメトリ、特質ビデオデ-タユニットペイロ-ド25050,25060,25070は、ビデオデ-タユニットに対応する。例えば、占有ビデオデ-タ、ジオメトリビデオデ-タ、特質ビデオデ-タ25050,25060,25070はHEVC NALユニットである。かかるビデオデ-タは実施例によるビデオデコ-ダにより復号される。
図26は実施例によるポイントクラウドデ-タを含むビットストリ-ムの構造を示す。
図26は図18ないし図25で説明したように、符号化又は復号される実施例によるポイントクラウドデ-タを含むビットストリ-ムの構造である。
実施例による方法/装置は、動的ポイントクラウド客体に対するビットストリ-ムを生成し、ビットストリ-ムに関するファイルフォ-マットを提案し、そのためのシグナリング方案を提供する。
実施例による方法/装置は、V-PCC(=V3C)ビットストリ-ムをファイルのトラックに効率的に格納し、それに対するシグナリングを提供するポイントクラウドコンテンツサ-ビスを提供するための送信機、受信機及び/又はプロセッサである。
実施例による方法/装置は、ポイントクラウドデ-タを含むV-PCCビットストリ-ムを格納するデ-タフォ-マットを提供する。それにより、実施例による受信方法/装置がポイントクラウドデ-タを受信し、ポイントクラウドデ-タに効率的に接近できるデ-タの格納及びシグナリング方案を提供する。従って、効率的な接近のポイントクラウドデ-タを含むファイル格納技法に基づいて、送信機及び/又は受信機はポイントクラウドコンテンツサ-ビスを提供することができる。
実施例による方法/装置は、ポイントクラウドビットストリ-ム(V-PCCビットストリ-ム)をファイルのトラック内に効率的に格納する。効率的な格納技法に関するシグナリング情報を生成してファイル内に格納する。ファイル内に格納されたV-PCCビットストリ-ムに対する効率的な接近を支援できるように、ファイル実施例による格納技法にさらに(又はさらに変形/結合して)V-PCCビットストリ-ムをファイル内1つ以上の複数のトラックに分割格納する技法を提供する。
この明細書で使用する用語の定義は以下の通りである:
VPS:V-PCCパラメ-タセット(V-PCC parameter set)。AD:アトラスデ-タ(atlas data)。OVD:占有ビデオデ-タ(occupancy video data)。GVD:ジオメトリビデオデ-タ(geometry video data)。AVD:特質ビデオデ-タ(attribute video data)。ACL:アトラスコ-ディングレイヤ(Atlas Coding Layer)。AAPS:アトラス適応パラメ-タセット(Atlas Adaptation Parameter Set)。ASPS:アトラスシ-ケンスパラメ-タセット(atlas sequence parameter set)。実施例によるシンタックス要素を含むシンタックス構造は、ゼロ又は1つ以上の全体コ-ディングされたアトラスシ-ケンス(CASs)に適用され、各タイルグル-プヘッダ内のシンタックス要素により参照されるASPSのシンタックス要素のコンテンツにより決定される。
AFPS:アトラスフレ-ムパラメ-タセット(atlas frame parameter set)。シンタックス要素を含むシンタックス構造はゼロ又1つ以上の全体コ-ディングされたアトラスフレ-ムに適用され、タイルグル-プヘッダ内のシンタックス要素のコンテンツにより決定される。
SEI:補足強化情報(Supplemental enhancement information)
アトラス(Atlas):2Dバウンディングボックスの集合である。例えば、矩形フレ-ムにプロジェクションされた、3D空間に3次元バウンディングボックスに対応する矩形フレ-ムにプロジェクションされたパッチである。アトラスはポイントクラウドのサブセットを示す。
アトラスサブビットストリ-ム(Atlas sub-bitstream):アトラスNALビットストリ-ム部分を含むV-PCCビットストリ-ムから抽出されたサブビットストリ-ムである。
V-PCCコンテンツ(V-PCC content):V-PCC(V3C)に基づいて符号化されるポイントクラウドである。
V-PCCトラック(V-PCC track):V-PCCビットストリ-ムのアトラスビットストリ-ムを伝達するボリュメトリックビジュアルトラックである。
V-PCCコンポ-ネントトラック(V-PCC component track):V-PCCビットストリ-ムの占有マップ、ジオメトリ、特質コンポ-ネントビデオビットストリ-ムに対する2Dビデオ符号化されたデ-タを伝達するビデオトラックである。
動的(Dynamic)ポイントクラウド客体の部分接近(partial access)を支援するための実施例を説明する。実施例はファイルシステムレベル(file system level)において、各空間領域(spatial region)に含まれるV-PCC客体の一部デ-タに連関するアトラスタイルグル-プ(atlas tile group)情報を含む。また実施例は各アトラスタイルグル-プ(atlas tile group)が含んでいるラベル(label)及び/又はパッチ(patch)情報に対する拡張したシグナリング方案を含む。
図26を参照すると、実施例による方法/装置が送受信するデ-タに含まれたポイントクラウドビットストリ-ムの構造を示す。
実施例によるポイントクラウドデ-タの圧縮及び復元技法は、ポイントクラウドビジュアル情報のボリュメトリック符号化及び復号を示す。
コ-ディングされたポイントクラウドシ-ケンス(coded point cloud sequence,CPCS)を含むポイントクラウドビットストリ-ム(V-PCCビットストリ-ム又はV3Cビットストリ-ムなどと称される、26000)は、サンプルストリ-ムV-PCCユニット26010で構成される。サンプルストリ-ムV-PCCユニット26010は、V-PCCパラメ-タセット(VPS)デ-タ26020、アトラスビットストリ-ム26030、2Dビデオ符号化占有マップビットストリ-ム26040、2Dビデオ符号化ジオメトリビットストリ-ム26050、及びゼロ及び1つ以上の2Dビデオ符号化特質ビットストリ-ム26060を伝達する。
ポイントクラウドビットストリ-ム24000はサンプルストリ-ムVPCCヘッダ26070を含む。
SSVHユニットサイズ精度(ssvh_unit_size_precision_bytes_minus1):この値に1を加えると、全てのサンプルストリ-ムV-PCCユニット内のSSVU VPCCユニットサイズ(ssvu_vpcc_unit_size)要素のバイト単位の精度を示す。ssvh_unit_size_precision_bytes_minus1は0~7の範囲を有する。
サンプルストリ-ムV-PCCユニット24010のシンタックス24080は以下の通りである。各サンプルストリ-ムV-PCCユニットは、VPS、AD、OVD、GVD及びAVDのV-PCCユニットのいずれかのタイプを含む。各サンプルストリ-ムV-PCCユニットのコンテンツは、サンプルストリ-ムV-PCCユニット内に含まれたV-PCCユニットと同一のアクセスユニットに連関する。
SSVU VPCCユニットサイズ(ssvu_vpcc_unit_size):サブシ-ケンス(subsequent)V-PCCユニットのバイト単位サイズを示す。ssvu_vpcc_unit_sizeを示すときに使用されるビット数は、(ssvh_unit_size_precision_bytes_minus1+1)*8である。
実施例による方法/装置は、符号化されたポイントクラウドデ-タを含む図26のビットストリ-ムを受信して、カプセル化部20004,21009などにより図40及び図41のようなファイルを生成する。
実施例による方法/装置は、図40及び図41のようなファイルを受信して、デカプセル化部22000などによりポイントクラウドデ-タを復号する。
VPS26020及び/又はAD26030は第4トラック(V3Cトラック)40030にカプセル化される。
OVD26040は第2トラック(占有トラック)40010にカプセル化される。
GVD26050は第3トラック(ジオメトリトラック)40020にカプセル化される。
AVD26060は第1トラック(特質トラック)40000にカプセル化される。
図27は実施例によるV-PCCユニット及びV-PCCユニットヘッダを示す。
図27は図25で説明したV-PCCユニット25020及びV-PCCユニットヘッダ25030のシンタックスを示す。
実施例によるV-PCCビットストリ-ムはV-PCCシ-ケンスのシリ-ズを含む。
VPCC_VPSと同一のvuh_unit_typeの値を有するV-PCCユニットタイプがV-PCCシ-ケンス内の1番目のV-PCCユニットタイプであると期待する。全ての他のV-PCCユニットタイプはそれらのコ-ディング順内で追加制限なしにこのユニットタイプに従う。占有ビデオ、特質ビデオ又はジオメトリビデオを伝達するV-PCCユニットのV-PCCユニットペイロ-ドは、1つ又は1つ以上のNALユニットで構成される(A V-PCC bitstream contains a series of V-PCC sequences. A vpcc unit type with a value of vuh_unit_type equal to VPCC_VPS is expected to be the first V-PCC unit type in a V-PCC sequence. All other V-PCC unit types follow this unit type without any additional restrictions in their coding order. A V-PCC unit payload of V-PCC unit carrying Occupancy video, attribute video, or geometry video is composed of one or more NAL units)。
VPCCユニットはヘッダとペイロ-ドを含む。
VPCCユニットヘッダはVUHユニットタイプに基づいて以下の情報を含む。
VUHユニットタイプはV-PCCユニット25020のタイプを以下のように示す。
VUHユニットタイプ(vuh_unit_type)が占有ビデオデ-タ(VPCC_AVD)、ジオメトリビデオデ-タ(VPCC_GVD)、占有ビデオデ-タ(VPCC_OVD)又はアトラスデ-タ(VPCC_AD)を示すと、VUH VPCCパラメ-タセットID(vuh_vpcc_parameter_set_id)及びVUHアトラスID(vuh_atlas_id)がユニットヘッダ内で伝達される。V-PCCユニットに連関するパラメ-タセットID及びアトラスIDを伝達することができる。
ユニットタイプがアトラスビデオデ-タであると、ユニットのヘッダは特質インデックス(vuh_attribute_index)、特質パ-ティションインデックス(vuh_attribute_partition_index)、マップインデックス(vuh_map_index)、付加ビデオフラグ(vuh_auxiliary_video_flag)を伝達する。
ユニットタイプがジオメトリビデオデ-タであると、マップインデックス(vuh_map_index)、付加ビデオフラグ(vuh_auxiliary_video_flag)を伝達する。
ユニットタイプが占有ビデオデ-タ又はアトラスデ-タであると、ユニットのヘッダは追加予約されたビットを含む。
VUH VPCCパラメ-タセットID(vuh_vpcc_parameter_set_id):アクティブV-PCC VPSのためのvps_vpcc_parameter_set_idの値を示す。現在V-PCCユニットのヘッダのVPCCパラメ-タセットIDによりVPSパラメ-タセットのIDを把握でき、V-PCCユニットとV-PCCパラメ-タセットの間の関係を知らせることができる。
VUHアトラスID(vuh_atlas_id):現在V-PCCユニットに対応するアトラスのインデックスを示す。現在V-PCCユニットのヘッダのアトラスIDにより、アトラスのインデックスを把握でき、V-PCCユニットに対応するアトラスを知らせることができる。
VUH特質インデックス(vuh_attribute_index):特質ビデオデ-タユニットから伝達される特質デ-タのインデックスを示す。
VUH特質パ-ティションインデックス(vuh_attribute_partition_index):特質ビデオデ-タユニットから伝達される特質ディメンショングル-プのインデックスを示す。
VUHマップインデックス(vuh_map_index):この値が存在する場合、現在ジオメトリ又は特質ストリ-ムのマップインデックスを示す。
VUH付加ビデオフラグ(vuh_auxiliary_video_flag):この値が1であると、関連ジオメトリ又は特質ビデオデ-タユニットがただRAW及び/又はEOMコ-ディングされたポイントビデオであることを示す。この値が0であると、関連ジオメトリ又は特質ビデオデ-タユニットがRAW及び/又はEOMコ-ディングされたポイントを含むことができることを示す。
VUH行ビデオフラグ(vuh_raw_video_flag):この値が1であると、関連するジオメトリ又は特質ビデオデ-タユニットがただRAWコ-ディングされたポイントビデオであることを示す。この値が0であると、関連するジオメトリ又は特質ビデオデ-タユニットがRAWコ-ディングされたポイントを含むことを示す。このフラグが存在しない場合は、この値は0に推論される。
図28は実施例によるV-PCCユニットのペイロ-ドを示す。
図28はV-PCCユニットのペイロ-ド25040のシンタックスである。
V-PCCユニットタイプ(vuh_unit_type)がV-PCCパラメ-タセット(VPCC_VPS)であると。V-PCCユニットのペイロ-ドはパラメ-タセット(vpcc_parameter_set( ))を含む。
V-PCCユニットタイプ(vuh_unit_type)がV-PCCアトラスデ-タ(VPCC_AD)であると、V-PCCユニットのペイロ-ドはアトラスサブビットストリ-ム(atlas_sub_bitstream( ))を含む。
V-PCCユニットタイプ(vuh_unit_type)がV-PCC占有ビデオデ-タ(VPCC_OVD)、ジオメトリビデオデ-タ(VPCC_GVD)又は特質ビデオデ-タ(VPCC_AVD)であると、V-PCCユニットのペイロ-ドはビデオビットストリ-ム(video_sub_bitstream( ))を含む。
図29は実施例によるパラメ-タセット(V-PCC parameter set)を示す。
図29は図28ないし図28のように、実施例によるビットストリ-ムのユニット25020のペイロ-ド25040がパラメ-タセットを含む場合、パラメ-タセットのシンタックスを示す。
図29のVPSは以下の要素を含む。
プロファイルティアレベル(profile_tier_level()):ビットストリ-ム上の制限を示す。ビットストリ-ムを復号するために必要な能力に対する制限を示す。プロファイル、ティア(tier)及びレベルは個別デコ-ダ実行間の相互適用性ポイントを示すために使用される(specifies restrictions on the bitstreams and hence limits on the capabilities needed to decode the bitstreams. Profiles, tiers, and levels may also be used to indicate interoperability points between individual decoder implementations)。
パラメ-タセットID(vps_vpcc_parameter_set_id):他のシンタックス要素による参照のためのV-PCC VPSのための識別子を提供する(provides an identifier for the V-PCC VPS for reference by other syntax elements)。
バウンディングボックス存在フラグ(sps_bounding_box_present_flag):ビットストリ-ム上のポイントクラウド客体/コンテンツのオ-バ-オ-ル(総合的な)バウンディングボックス(時間によって変更されるバウンディングボックスを全て含むバウンディングボックス)に関する情報の存在有無についてのフラグである(sps_bounding_box_present_flag equal to 1 indicates overall bounding box offset and the size information of point cloud content carried in this bitstream)。
バウンディングボックス存在フラグが特定の値を有すると、以下のバウンディングボックス要素がVPSに含まれる。
バウンディングボックスオフセットX(sps_bounding_box_offset_x):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスオフセットのXオフセットを示す。存在しない場合、この値は0に推論される(indicates the x offset of overall bounding box offset and the size information of point cloud content carried in this bitstream in the cartesian coordinates. When not present、the value of sps_bounding_box_offset_x is inferred to be 0)。
バウンディングボックスオフセットY(sps_bounding_box_offset_y):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスオフセットのYオフセットを示す。存在しない場合、この値は0に推論される(indicates the y offset of overall bounding box offset and the size information of point cloud content carried in this bitstream in the cartesian coordinates. When not present、the value of sps_bounding_box_offset_y is inferred to be 0)。
バウンディングボックスオフセットZ(sps_bounding_box_offset_z):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスオフセットのZオフセットを示す。存在しない場合、この値は0に推論される(indicates the z offset of overall bounding box offset and the size information of point cloud content carried in this bitstream in the Cartesian coordinates. When not present、the value of sps_bounding_box_offset_z is inferred to be 0)。
バウンディングボックスサイズ幅(sps_bounding_box_size_width):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスの幅を示す。存在しない場合、この値は1に推論される(indicates the width of overall bounding box offset and the size information of point cloud content carried in this bitstream in the Cartesian coordinates. When not present、the value of sps_bounding_box_size_width is inferred to be 1)。
バウンディングボックスサイズ高さ(sps_bounding_box_size_height):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスの高さを示す。存在しない場合、この値は1に推論される(indicates the height of overall bounding box offset and the size information of point cloud content carried in this bitstream in the Cartesian coordinates. When not present、the value of sps_bounding_box_size_height is inferred to be 1)。
バウンディングボックスサイズ深さ(sps_bounding_box_size_depth):座標系内のビットストリ-ム内に伝達されるポイントクラウドコンテンツのサイズ情報であって、総合的なバウンディングボックスの深さを示す。存在しない場合、この値は1に推論される(indicates the depth of overall bounding box offset and the size information of point cloud content carried in this bitstream in the Cartesian coordinates. When not present、the value of sps_bounding_box_size_depth is inferred to be 1)。
バウンディングボックス変化フラグ(sps_bounding_box_changed_flag):ビットストリ-ム内に含まれたポイントクラウドデ-タのバウンディングボックスが時間に応じて変化するか否かを示すフラグである。該当フラグ値が1である場合、ポイントクラウドデ-タのバウンディングボックスが時間に応じて変化する。
バウンディングボックス情報フラグ(sps_bounding_box_info_flag):ビットストリ-ム上にポイントクラウドデ-タのバウンディングボックス情報を含むSEIなどが含まれているか否かを示すフラグ。該当フラグ値が1である場合、ポイントクラウドデ-タのバウンディングボックス情報を含むSEI(3D bounding box SEI、図35を参照)などがビットストリ-ム上に含まれていることを示し、この場合、実施例による方法/装置に対応するPCCプレイヤ-が該当SEIなどに含まれた情報を獲得して使用できることを知らせることができる。
アトラスカウント(vps_atlas_count_minus1):この値に1を加えると、現在ビットストリ-ム内に支援されるアトラスの総数を示す(plus 1 indicates the total number of supported atlases in the current bitstream)。
アトラス数によって、以下のパラメ-タがさらにパラメ-タセット含まれる。
フレ-ム幅(vps_frame_width[j]):インデックスJを有するアトラスのための整数ル-マサンプルのV-PCCフレ-ム幅を示す。フレ-ム幅はインデックスJを有するアトラスのための全てのV-PCCコンポ-ネントに関連する公称幅である(indicates the V-PCC frame width in terms of integer luma samples for the atlas with index j. This frame width is the nominal width that is associated with all V-PCC components for the atlas with index j)。
フレ-ム高さ(vps_frame_height[j]):インデックスJを有するアトラスのための整数ル-マサンプルのV-PCCフレ-ム高さを示す。このフレ-ム高さはインデックスJを有するアトラスのための全てのV-PCCコンポ-ネントに関連する公称高さである(indicates the V-PCC frame height in terms of integer luma samples for the atlas with index j. This frame height is the nominal height that is associated with all V-PCC components for the atlas with index j)。
MAPカウント(vps_map_count_minus1[j]):この値に1を加えると、インデックスJを有するジオメトリ及び特質デ-タを符号化するために使用されるマップの数を示す(plus 1 indicates the number of maps used for encoding the geometry and attribute data for the atlas with index j)。
MAPカウント(vps_map_count_minus1[j])が0より大きいと、以下のパラメ-タがパラメ-タセットにさらに含まれる。
MAPカウント(vps_map_count_minus1[j])の値によって、以下のパラメ-タがパラメ-タセットにさらに含まれる。
マルチマップストリ-ム存在フラグ(vps_multiple_map_streams_present_flag[j]):この値が0であると、インデックスJのための全てのジオメトリ又は特質マップがシングルジオメトリ又は特質ビデオストリ-ムのそれぞれに存在することを示す。この値が1であると、インデックスJを有するアトラスのための全てのジオメトリ又は特質マップが個別(separate)ビデオストリ-ムに存在することを示す(equal to 0 indicates that all geometry or attribute maps for the atlas with index j are placed in a single geometry or attribute video stream, respectively. vps_multiple_map_streams_present_flag[j] equal to 1 indicates that all geometry or attribute maps for the atlas with index j are placed in separate video streams)。
マルチマップストリ-ム存在フラグ(vps_multiple_map_streams_present_flag[j])が1を示すと、vps_map_absolute_coding_enabled_flag[j][i]がパラメ-タセットにさらに含まれ、そうではないと、vps_map_absolute_coding_enabled_flag[j][i]は1を有する。
マップ絶対コ-ディング有効フラグ(vps_map_absolute_coding_enabled_flag[j][i]):この値が1であると、インデックスJを有するアトラスのためのインデックスIを有するジオメトリマップがどのようなマップ予測形態なしにコ-ディングされることを示す。この値が1であると、インデックスJを有するアトラスのためのインデックスIを有するジオメトリマップがコ-ディング前にコ-ディングされたマップより早く他のものより1番目に予測されることを示す(equal to 1 indicates that the geometry map with index i for the atlas with index j is coded without any form of map prediction. vps_map_absolute_coding_enabled_flag[j][i]equal to 0 indicates that the geometry map with index i for the atlas with index j is first predicted from another, earlier coded map, prior to coding)。
マップ絶対コ-ディング有効フラグ(vps_map_absolute_coding_enabled_flag[j][0])が1であると、インデックス0を有するジオメトリマップがマップ予測なしにコ-ディングされることを示す。
マップ絶対コ-ディング有効フラグ(vps_map_absolute_coding_enabled_flag[j][i])が0であり、Iが0より大きいと、vps_map_predictor_index_diff[j][i]がパラメ-タセットにさらに含まれる。そうではないと、vps_map_predictor_index_diff[j][i]は0になる。
マップ予測子インデックス差(vps_map_predictor_index_diff[j][i]):この値はマップ絶対コ-ディング有効フラグ(vps_map_absolute_coding_enabled_flag[j][i])が0であると、インデックスJを有するアトラスのためのインデックスIを有するジオメトリマップの予測子を計算するために使用される(is used to compute the predictor of the geometry map with index i for the atlas with index j when vps_map_absolute_coding_enabled_flag[j][i] is equal to 0)。
付加ビデオ存在フラグ(vps_auxiliary_video_present_flag[j]):この値が1であると、RAW又はEOMパッチデ-タのようなインデックスJを有するアトラスのための付加情報が付加ビデオストリ-ムと称される個別ビデオストリ-ムに格納されることを示す。この値が0であると、インデックスJを有するアトラスのための付加情報が個別ビデオストリ-ムに格納されないことを示す(equal to 1 indicates that auxiliary information for the atlas with index j, i.e. RAW or EOM patch data, may be stored in a separate video stream, refered to as the auxiliary video stream. vps_auxiliary_video_present_flag[j] equal to 0 indicates that auxiliary information for the atlas with index j is not be stored in a separate video stream)。
行パッチ有効フラグ(vps_raw_patch_enabled_flag[j]):この値が1であると、インデックスJを有するアトラスに対するRAWコ-ディングされたポイントを有するパッチがビットストリ-ム内に存在することを示す(Equal to 1 indicates that patches with RAW coded points for the atlas with index j may be present in the bitstream)。
行パッチ有効フラグが特定値を有すると、以下の要素がVPSに含まれる。
行個別ビデオ存在フラグ(vps_raw_separate_video_present_flag[j]):この値が1であると、インデックスJを有するアトラスに対するRAWコ-ディングされたジオメトリ及び特質情報が個々のビデオストリ-ムに格納されることを示す(Equal to 1 indicates that RAW coded geometry and attribute information for the atlas with index j may be stored in a separate video stream)。
占有情報(occupancy_information()):占有ビデオに関連する情報を含む(includes occupancy video related information)。
ジオメトリ情報(geometry_information()):ジオメトリビデオに関連する情報を含む(includes geometry video related information)。
特質情報(attribute_information()):特質ビデオに関連する情報を含む(includes attribute video related information)。
拡張存在フラグ(vps_extension_present_flag):シンタックス要素拡張長さ(vps_extension_length)がパラメ-タセット(vpcc_parameter_set)シンタックス構造に存在することを示す。この値が0であると、シンタックス要素拡張長さ(vps_extension_length)が存在しないことを示す(equal to 1 specifies that the syntax element vps_extension_length is present in vpcc_parameter_set syntax structure. vps_extension_present_flag equal to 0 specifies that syntax element vps_extension_length is not present)。
拡張長さ(vps_extension_length_minus1):この値に1を加えると、このシンタックス要素をフォロ-する拡張デ-タ(vps_extension_data_byte)要素の数を示す(plus 1 specifies the number of vps_extension_data_byte elements that follow this syntax element)。
拡張長さ(vps_extension_length_minus1)によって、拡張デ-タがパラメ-タセットにさらに含まれる。
拡張デ-タ(vps_extension_data_byte):拡張により含まれるいかなるデ-タを含むことができる(may have any value)。
図30は実施例によるアトラスサブビットストリ-ムの構造を示す。
図30は図25のビットストリ-ム25000のユニット25020のペイロ-ド25040がアトラスサブ-ビットストリ-ム30000を伝達する例示を示す。
アトラスサブビットストリ-ムを伝達するV-PCCユニットのV-PCCユニットペイロ-ドは、1つ又は1つ以上のサンプルストリ-ムNALユニット30010を含む。
実施例によるアトラスサブビットストリ-ム30000は、サンプルストリ-ムNALヘッダ30020及びサンプルストリ-ムNALユニット30010を含む。
サンプルストリ-ムNALヘッダ30020は、ユニットサイズ精度バイト(ssnh_unit_size_precision_bytes_minus1)を含む。この値に1を加えると、全てのサンプルストリ-ムNALユニット内のNALユニットサイズ(ssnu_nal_unit_size)要素のバイト単位内精度を示す。ssnh_unit_size_precision_bytes_minus1は0~7の範囲を有する(plus 1 specifies the precision, in bytes, of the ssnu_nal_unit_size element in all sample stream NAL units. ssnh_unit_size_precision_bytes_minus1 is in the range of 0 to 7)。
サンプルストリ-ムNALユニット30010は、NALユニットサイズ(ssnu_nal_unit_size)を含む。
NALユニットサイズ(ssnu_nal_unit_size)は、サブシ-ケンスNALユニットのバイト単位内サイズを示す。ssnu_nal_unit_sizeを示すために使用されるビット数は、(ssnh_unit_size_precision_bytes_minus1+1)*8である(specifies the size, in bytes, of the subsequent NAL_unit. The number of bits used to represent ssnu_nal_unit_size is equal to (ssnh_unit_size_precision_bytes_minus1+1)*8)。
各々のサンプルストリ-ムNALユニットは、アトラスシ-ケンスパラメ-タセット(atlas sequence parameter set、ASPS)30030、アトラスフレ-ムパラメ-タセット(atlas frame parameter set、AFPS)30040、1つ又は1つ以上のアトラスタイルグル-プ情報(atlas tile group information)30050、及び1つ又は1つ以上のSEI(Supplemental enhancement information)30060などを含む。それぞれについては以下に説明する。実施例によってアトラスタイルグル-プはアトラスタイルと等しく呼ばれる。
NALユニットはNALユニットヘッダ(nal_unit_header( ))、バイト数(NumBytesInRbsp)などを含む。
バイト数(NumBytesInRbsp):NALユニットのペイロ-ドに該当するバイトであり、初期値は0にセットされる。
NALユニットヘッダは、NALフォ-ビデンゼロビット(nal_forbidden_zero_bit)、NALユニットタイプ(nal_unit_type)、NALレイヤID(nal_layer_id)、NAL臨時ID(nal_temporal_id_plus1)などを含む。
NALフォ-ビデンゼロビット(nal_forbidden_zero_bit):NALユニットのエラ-検出のために使用されるフィ-ルドであり、必ず0である。
NALユニットタイプ(nal_unit_type):図32のように、NALユニット内に含まれたRBSPデ-タ構造のタイプを示す。
NALレイヤID(nal_layer_id):ACL NALユニットが属するレイヤの識別子又はNON-ACL NALユニットが適用されるレイヤの識別子を示す(specifies the identifier of the layer to which an ACL NAL unit belongs or the identifier of a layer to which a non-ACL NAL unit applies)。
NAL臨時ID(nal_temporal_id_plus1):この値から1を引くと、NALユニットの臨時識別子を示す(minus 1 specifies a temporal identifier for the NAL unit)。
NALユニットタイプ(nal_unit_type)は以下のタイプなどを含む。
NALトレイル(NAL_TRAIL):NON-TSA、NON STSAトレイリングアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。実施例によってタイルグル-プはタイルに対応する。
NAL TSA:TSAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_STSA:STSAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_RADL:RADLアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_RASL:RASLアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_SKIP:スキップアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_RSV_ACL_6ないしNAL_RSV_ACL_9:予約されたIRAP ACL NALユニットタイプがNALユニットに含まれる。NALユニットのタイプクラスはACLである。
NAL_BLA_W_LP、NAL_BLA_W_RADL、NAL_BLA_N_LP:BLAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_GBLA_W_LP、NAL_GBLA_W_RADL、NAL_GBLA_N_LP:GBLAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_IDR_W_RADL、NAL_IDR_N_LP:IDRアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_GIDR_W_RADL、NAL_GIDR_N_LP:GIDRアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_CRA:CRAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_GCRA:GCRAアトラスフレ-ムのコ-ディングされたタイルグル-プがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスタイルグル-プレイヤ(atlas_tile_group_layer_rbsp( ))又はアトラスタイルレイヤ(atlas_tile_layer_rbsp( ))である。NALユニットのタイプクラスはACLである。
NAL_IRAP_ACL_22、NAL_IRAP_ACL_23:予約されたIRAP ACL NALユニットタイプがNALユニットに含まれる。NALユニットのタイプクラスはACLである。
NAL_RSV_ACL_24ないしNAL_RSV_ACL_31:予約されたnon-IRAP ACL NALユニットタイプがNALユニットに含まれる。NALユニットのタイプクラスはACLである。
NAL_ASPS:アトラスシ-ケンスパラメ-タセットがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスシ-ケンスパラメ-タセット(atlas_sequence_parameter_set_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_AFPS:アトラスフレ-ムパラメ-タセットがNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアトラスフレ-ムパラメ-タセット(atlas_ frame _parameter_set_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_AUD:アクセスユニットデリミタ-(Access unit delimiter)がNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアクセスユニットデリミタ-(access_unit_delimiter_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_VPCC_AUD:V-PCCアクセスユニットデリミタ-がNALユニットに含まれる。NALユニットのRBSPシンタックス構造はアクセスユニットデリミタ-(access_unit_delimiter_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_EOS:NALユニットタイプがエンド・オブ・シ-ケンスである。NALユニットのRBSPシンタックス構造はエンド・オブ・シ-ケンス(end_of_seq_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_EOB:NALユニットタイプがエンド・オブ・ビットストリ-ムである。NALユニットのRBSPシンタックス構造はエンド・オブ・アトラスサブビットストリ-ム(end_of_atlas_sub_bitstream_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_FD Filler:NALユニットタイプがフィルタ-デ-タ(filler_data_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_PREFIX_NSEI、NAL_SUFFIX_NSEI:NALユニットタイプが非必須補足強化情報(Non-essential supplemental enhancement information)である。NALユニットのRBSPシンタックス構造はSEI(sei_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_PREFIX_ESEI、NAL_SUFFIX_ESEI:NALユニットタイプが必須補足強化情報(Essential supplemental enhancement information)である。NALユニットのRBSPシンタックス構造はSEI(sei_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_AAPS:NALユニットタイプがアトラス適応パラメ-タセット(Atlas adaptation parameter set)である。NALユニットのRBSPシンタックス構造はアトラス適応パラメ-タセット(atlas_adaptation_parameter_set_rbsp( ))である。NALユニットのタイプクラスはnon-ACLである。
NAL_RSV_NACL_44ないしNAL_RSV_NACL_47:NALユニットタイプが予約されたnon-ACL NALユニットタイプである。NALユニットのタイプクラスはnon-ACLである。
NAL_UNSPEC_48ないしNAL_UNSPEC_63:NALユニットタイプが未記述のnon-ACL NALユニットタイプである。NALユニットのタイプクラスはnon-ACLである。
図31は実施例によるアトラスシ-ケンスパラメ-タセット(atlas sequence parameter set)を示す。
図31はNALユニットタイプがアトラスシ-ケンスパラメ-タである場合、NALユニットに含まれるRBSPデ-タ構造のシンタックスを示す。
各々のサンプルストリ-ムNALユニットはアトラスパラメ-タセット、例えば、ASPS、AAPS、AFPS、1つ又は1つ以上のアトラスタイルグル-プ情報及びSEIのいずれかを含む。
ASPSは各々のタイルグル-プ(タイル)ヘッダ内のシンタックス要素として参照されるASPS内のシンタックス要素のコンテンツにより決定されるゼロ又は1つ以上の全体コ-ディングされたアトラスシ-ケンス(CASs)に適用されるシンタックス要素を含む。
ASPSは以下の要素を含む。
ASPSアトラスシ-ケンスパラメ-タセットID(asps_atlas_sequence_parameter_set_id):他のシンタックス要素による参照のためのアトラスシ-ケンスパラメ-タセットのための識別子を提供する。
ASPSフレ-ム幅(asps_frame_width):現在アトラスに対する整数のル-マサンプルの観点でアトラスフレ-ム幅を示す(indicates the atlas frame width in terms of integer luma sample for the current atlas)。
ASPSフレ-ム高さ(asps_frame_height):現在アトラスに対する整数のル-マサンプルの観点でアトラスフレ-ム高さを示す(indicates the atlas frame height in terms of integer luma sample for the current atlas)。
ASPSログパッチパッキングブロックサイズ(asps_log2_patch_packing_block_size):アトラス内パッチの水平及び垂直位置のために使用される変数PatchPackingBlockSizeの値を示す(specifies the value of the variable PatchPackingBlockSize, that is used for the horizontal and vertical placement of the patches within the atlas)。
ASPSログマックスアトラスフレ-ムオ-ダ-カウントlsb(asps_log2_max_atlas_frame_order_cnt_lsb_minus4):アトラスフレ-ムオ-ダ-カウントのための復号プロセス内で使用される変数MaxAtlasFrmOrderCntLsbの変数を示す(specifies the value of the variable MaxAtlasFrmOrderCntLsb that is used in the decoding process for the atlas frame order count)。
ASPSマックス復号アトラスフレ-ムバッファリング(asps_max_dec_atlas_frame_buffering_minus1):この値に1を加えると、アトラスフレ-ムバッファ-記憶装置に対する復号されたアトラスフレ-ムの最大値が要求されるサイズを示す(plus 1 specifies the maximum required size of the decoded atlas frame buffer for the CAS in units of atlas frame storage buffers)。
ASPS長期参照アトラスフレ-ムフラグ(asps_long_term_ref_atlas_frames_flag):この値が0であると、CAS内のコ-ディングされたアトラスフレ-ムのインタ-予測のために使用される長期参照アトラスフレ-ムがないことを示す。この値が1であると、長期参照アトラスフレ-ムがCAS内の1つ又は1つ以上のコ-ディングされたアトラスフレ-ムのインタ-予測を利用できることを示す(equal to 0 specifies that no long term reference atlas frame is used for inter prediction of any coded atlas frame in the CAS. asps_long_term_ref_atlas_frames_flag equal to 1 specifies that long term reference atlas frames may be used for inter prediction of one or more coded atlas frames in the CAS)。
ASPS参照アトラスフレ-ムリスト数(asps_num_ref_atlas_frame_lists_in_asps):アトラスシ-ケンスパラメ-タセットに含まれた参照リスト構造(ref_list_struct(rlsIdx))シンタックス構造の数を示す(specifies the number of the ref_list_struct(rlsIdx) syntax structures included in the atlas sequence parameter set)。
ASPS参照アトラスフレ-ムリスト数(asps_num_ref_atlas_frame_lists_in_asps)だけ参照リスト構造(ref_list_struct(i))がアトラスシ-ケンスパラメ-タセット内に含まれる。
ASPSエイトオリエンテ-ションフラグ(asps_use_eight_orientations_flag):この値が0であると、インデックスIを有するフレ-ム内のインデックスJを有するパッチのパッチオリエンテ-ションインデックス(pdu_orientation_index[i][j])が0~1(含み)の範囲内であることを示す。この値が1であると、インデックスIを有するフレ-ム内のインデックスJを有するパッチのためのパッチオリエンテ-ションインデックス(pdu_orientation_index[i][j])が0~7(含み)の範囲であることを示す(equal to 0 specifies that the patch orientation index for a patch with index j in a frame with index i, pdu_orientation_index[i][j], is in the range of 0 to 1, inclusive. asps_use_eight_orientations_flag equal to 1 specifies that the patch orientation index for a patch with index j in a frame with index i, pdu_orientation_index[i][j], is in the range of 0 to 7, inclusive)。
プロジェクションパッチ存在フラグ(asps_45degree_projection_patch_present_flag):この値が0であると、パッチプロジェクション情報が現在アトラスタイルグル-プに対してシグナリングされないことを示す。この値が1であると、パッチプロジェクション情報が現在アトラスタイルグル-プに対してシグナリングされることを示す(Equal to 0 specifies that the patch projection information is not signalled for the current atlas tile group. asps_45degree_projection_present_flag equal to 1 specifies that the patch projection information is signalled for the current atlas tile group)。
タイプ(atgh_type)がスキップタイル(SKIP_TILE_GRP)ではない場合、以下の要素がアトラスタイルグル-プ(又はタイル)ヘッダに含まれる。
ASPS垂直軸制限量子化有効フラグ(asps_normal_axis_limits_quantization_enabled_flag):この値が1であると、量子化パラメ-タがパッチデ-タユニット、統合パッチデ-タユニット又はインタ-パッチデ-タユニットの垂直軸関連要素を量子化するために使用され、シグナリングされることを示す。この値が0であると、パッチデ-タユニット、統合パッチデ-タユニット又はインタ-パッチデ-タユニットの垂直軸関連要素上に量子化が適用されないことを示す(equal to 1 specifies that quantization parameters shall be signalled and used for quantizing the normal axis related elements of a patch data unit, a merge patch data unit, or an inter patch data unit. If asps_normal_axis_limits_quantization_enabled_flag is equal to 0, then no quantization is applied on any normal axis related elements of a patch data unit, a merge patch data unit, or an inter patch data unit)。
asps_normal_axis_limits_quantization_enabled_flagが1であると、atgh_pos_min_z_quantizerがアトラスタイルグル-プ(又はタイル)ヘッダに含まれる。
ASPS垂直軸マックスデルタ値有効フラグ(asps_normal_axis_max_delta_value_enabled_flag):この値が1であると、インデックスJを有するフレ-ムのインデックスIを有するパッチのジオメトリ情報内に存在し得る垂直軸の最大値公称シフト値が各パッチデ-タユニット、統合パッチデ-タユニット又はインタ-パッチデ-タユニットに対するビットストリ-ム内に指示されることを示す。この値が0であると、インデックスJを有するフレ-ム内のインデックスIを有するパッチのジオメトリ情報内に存在し得る垂直軸の最大値公称シフト値が各パッチデ-タユニット、統合パッチデ-タユニット又はインタ-パッチデ-タユニットに対するビットストリ-ム内に指示されないことを示す(equal to 1 specifies that the maximum nominal shift value of the normal axis that may be present in the geometry information of a patch with index i in a frame with index j will be indicated in the bitstream for each patch data unit, a merge patch data unit, or an inter patch data unit. If asps_normal_axis_max_delta_value_enabled_flag is equal to 0 theN the maximum nominal Shift value of the normal axis that may be present in the geometry information of a patch with index i in a frame with index j shall not be be indicated in the bitstream for each patch data unit, a merge patch data unit, or an inter patch data unit)。
asps_normal_axis_max_delta_value_enabled_flagが1であると、atgh_pos_delta_max_z_quantizerがアトラスタイルグル-プ(又はタイル)ヘッダに含まれる。
ASPS除去重複ポイント有効フラグ(asps_remove_duplicate_point_enabled_flag):この値が1であると、重複ポイントが行インデックスマップから他のポイントと同一の2D及び3Dジオメトリ座標を有するポイントであるところで、重複ポイントが現在アトラスに対して再構成されないことを示す。この値が0であると、全てのポイントが再構成されることを示す(equal to 1 indicates that duplicated points are not econstructed for the current atlas, where a duplicated point is a point with the same 2D and 3D geometry coordinates as another point from a Lower index map. asps_remove_duplicate_point_enabled_flag equal to 0 indicates that all points are reconstructed)。
ASPSマックス復号アトラスフレ-ムバッファリング(asps_max_dec_atlas_frame_buffering_minus1):この値に1を加えると、アトラスフレ-ムバッファ-記憶装置のユニット内のCASのための復号されたアトラスフレ-ムバッファ-の最大値要求サイズを示す(plus 1 specifies the maximum required size of the decoded atlas frame buffer for the CAS in units of atlas frame storage buffers)。
ASPSピクセルデインタ-リ-ビングフラグ(asps_pixel_deinterleaving_flag)この値が1であると、現在アトラスのための復号されたジオメトリ及び特質ビデオが2つのマップから空間的にインタ-リ-ビングされたピクセルを含むことを示す。この値が0であると、現在アトラスに対応する復号されたジオメトリ及び特質ビデオがただシングルマップからピクセルを含むことを示す(equal to 1 indicates that the decoded geometry and attribute videos for the current atlas contain spatially interleaved pixels from two maps. asps_pixel_deinterleaving_flag equal to 0 indicates that the decoded geometry and attribute videos corresponding to the current atlas contain pixelS from only a single map)。
ASPSパッチ優先順位オ-ダ-フラグ(asps_patch_precedence_order_flag):この値が1であると、現在アトラスに対するパッチ優先順位(優先度)が復号順と同一であることを示す。この値が0であると、現在アトラスに対するパッチ優先順位が復号順の逆であることを示す(equal to 1 indicates that patch precedence for the current atlas is the same as the decoding order. asps_patch_precedence_order_flag equal to 0 indicates that patch precedence for the current atlas is the reverse of the decoding order)。
ASPSパッチサイズ量子化器存在フラグ(asps_patch_size_quantizer_present_flag):この値が1であると、パッチサイズ量子化パラメ-タがアトラスタイルグル-プヘッダ又はアトラスタイルヘッダに存在することを示す。この値が0であると、パッチサイズ量子化パラメ-タが存在しないことを示す(equal to 1 indicates that the patch size quantization parameters are present in an atlas tile group header. If asps_patch_size_quantizer_present_flag is equal to 0, then the patch size quantization parameters are not present)。
asps_patch_size_quantizer_present_flagが1であると、atgh_patch_size_x_info_quantizer及びatgh_patch_size_y_info_quantizerがアトラスタイルグル-プ(又はタイル)ヘッダに含まれる。
深さのための強化占有マップフラグ(asps_enhanced_occupancy_map_for_depth_flag):この値が1であると、現在アトラスに対する復号された占有マップビデオが2つの深さマップの間の中間深さの位置が占められているかどうかに関する情報を含むことを示す。この値が0であると、復号された占有マップビデオが2つの深さマップの間の中間深さの位置が占められているかどうかに関する情報を含まないことを示す(Equal to 1 indicates that the decoded occupancy map video for the current atlas containS information related to whether Intermediate depth positions between two depth maps are occupied. asps_eom_patch_enabled_flag equal to 0 indicates that the decoded occupancy map video does not contain information related to whether Intermediate depth positions between two depth maps are occupied)。
asps_enhansed_occupancy_map_for_depth_flag又はasps_point_local_reconstruction_enabled_flagが1であると、asps_map_count_minus1がASPSに含まれる。
ASPSポイントロ-カル復元有効フラグ(asps_point_local_reconstruction_enabled_flag):この値が1であると、ポイントロ-カル再構成モ-ド情報が現在アトラスに対するビットストリ-ム内に存在することを示す。この値が0であると、ポイントロ-カル再構成モ-ドに関連する情報が現在アトラスに対するビットストリ-ム内に存在しないことを示す(equal to 1 indicates that point local reconstruction mode information may be present in the bitstream for the current atlas. asps_point_local_reconstruction_enabled_flag equal to 0 indicates that no information related to the point local reconstruction mode is present in the bitstream for the current atlas)。
ASPSポイントロ-カル復元有効フラグ(asps_point_local_reconstruction_enabled_flag)が1であると、ASPSポイントロ-カル再構成情報(asps_point_local_reconstruction_information)がアトラスシ-ケンスパラメ-タセットに伝達される。
ASPSマップカウント(asps_map_count_minus1):この値に1を加えると、現在アトラスに対するジオメトリ及び特質デ-タを符号化するために使用されるマップ数を示す(plus 1 indicates the number of maps that may be used for encoding the geometry and attribute data for the current atlas)。
ASPS強化占有マップ固定ビットカウント(asps_enhanced_occupancy_map_fix_bit_count_minus1):この値に1を加えると、EOMコ-ドワ-ドのビットサイズを示す(plus 1 indicates the size in bits of the EOM code word)。
asps_enhanced_occupancy_map_for_depth_flag及びasps_map_count_minus1が0を有すると、asps_enhanced_occupancy_map_fix_bit_count_minus1がASPSに含まれる。
ASPS表現厚さ(asps_surface_thickness_minus1):この値に1を加えると、asps_pixel_deinterleaving_flag(又はasps_pixel_interleaving_flag)又はasps_point_local_reconstruction_flagが1である場合、明確にコ-ディングされた深さ値及び挿入された深さ値の間の最大絶対値の差を示す(plus 1 specifies the maximum absolute difference between an explicitly coded depth value and interpolated depth value when asps_pixel_deinterleaving_enabled_flag or asps_point_local_reconstruction_enabled_flag is equal to 1)。
asps_pixel_interleaving_flag又はasps_point_local_reconstruction_enabled_flagが1であると、ASPS表面厚さがASPSに含まれる。
asps_pixel_interleaving_flagはasps_map_pixel_deinterleaving_flagに対応する。
ASPSマップピクセルデインタ-リ-ビングフラグ(asps_map_pixel_deinterleaving_flag[i]):この値が1であると、現在アトラス内のインデックスiを有するマップに対応する復号されたジオメトリ及び特質ビデオが空間的に2つのマップに対応するインタ-リ-ビングされたピクセルを含むことを示す。この値が0であると、現在アトラス内のインデックスiを有するマップに対応する復号されたジオメトリ及び特質ビデオがシングルマップに対応するピクセルを含むことを示す。存在しない場合、この値は0に推論される(Equal to 1 indicates that decoded geometry and attribute videos corresponding to map with index i in the current atlas contain spatially interleaved pixels corresponding to two maps. asps_map_pixel_deinterleaving_flag[i] equal to 0 indicates that decoded geometry and attribute videos corresponding to map index i in the current atlas contain pixels corresponding to a single map. When not present、the value of asps_map_pixel_deinterleaving_flag[i] is inferred to be 0)。
ASPSポイントロ-カル復元有効フラグ(asps_point_local_reconstruction_enabled_flag):この値が1であると、ポイントロ-カル再構成モ-ド情報が現在アトラスに対するビットストリ-ム内に存在することを示す。この値が0であると、ポイントロ-カル再構成モ-ドに関連する情報が現在アトラスに対するビットストリ-ム内に存在しないことを示す(Equal to 1 indicates that point local reconstruction mode information may be present in the bitstream for the current atlas. asps_point_local_reconstruction_enabled_flag equal to 0 indicates that no information related to the point local reconstruction mode is present in the bitstream for the current atlas)。
ASPS vuiパラメ-タ存在フラグ(asps_vui_parameters_present_flag):この値が1であると、vui_parameters( )シンタックス構造が存在することを示す。この値が0であると、vui_parameters( )シンタックス構造が存在しないことを示す(equal to 1 specifies that the vui_parameters( ) syntax structure is present. asps_vui_parameters_present_flag equal to 0 specifies that the vui_parameters( ) syntax structure is not present)。
ASPS拡張フラグ(asps_extension_flag):この値が0であると、asps_extension_data_flagシンタックス要素がASPS RBSPシンタックス構造内に存在しないことを示す(equal to 0 specifies that no asps_extension_data_flag syntax elements are present in the ASPS RBSP syntax structure)。
ASPS拡張デ-タフラグ(asps_extension_data_flag):拡張のためのデ-タがASPS RBSPシンタックス構造内に含まれることを示す。
終了ビット(rbsp_trailing_bits):RBSPデ-タの終わりを指示するためのストップビット(stop bit)である1を追加した後、バイトアライン(byte align)のために0で残りのビットを満たすために使用される。
図32は実施例によるアトラスフレ-ムパラメ-タセット(atlas frame parameter set)を示す。
図32はNALユニットタイプがNAL_AFPSである場合、NALユニットに含まれたアトラスフレ-ムパラメ-タセット(Atlas frame parameter set)のシンタックスである。
アトラスフレ-ムパラメ-タセット(atlas frame parameter set, AFPS)は、ゼロ又は1つ以上の全体コ-ディングされたアトラスフレ-ムに適用されるシンタックス要素を含むシンタックス構造を含む。
AFPSアトラスフレ-ムパラメ-タセットID(afps_atlas_frame_parameter_set_id):他のシンタックス要素による参照のためのアトラスフレ-ムパラメ-タセットを識別する。AFPSのアトラスフレ-ムパラメ-タセットによりシンタックス要素により参照できる識別子を提供する。
AFPSアトラスシ-ケンスパラメ-タセットID(afps_atlas_sequence_parameter_set_id):アクティブアトラスシ-ケンスパラメ-タセットの値を示す(specifies the value of asps_atlas_sequence_parameter_set_id for the active atlas sequence parameter set)。
アトラスフレ-ムタイル情報(atlas_frame_tile_information():図37を参照しながら説明する。
AFPS参照インデックス数(afps_num_ref_idx_default_active_minus1):この値に1を加えると、atgh_num_ref_idx_active_override_flagが0であるタイルグル-プ又はタイルに対する変数NumRefIdxActiveの推論値を示す(plus 1 specifies the inferred value of the variable NumRefIdxActive for the tile group with atgh_num_ref_idx_active_override_flag equal to 0)。
AFPS追加変数(afps_additional_lt_afoc_lsb_len):アトラスフレ-ムリストの参照のための復号プロセス内で使用される変数MaxLtAtlasFrmOrderCntLsbの値を示す(specifies the value of the variable MaxLtAtlasFrmOrderCntLsb that is used in the decoding process for reference atlas frame)。
AFPS 2DポジションXビットカウント(afps_2d_pos_x_bit_count_minus1):この値に1を加えると、afps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プ内のインデックスjを有するパッチのpdu_2d_pos_x[j]の固定ビット表現内のビット数を示す(plus 1 specifies the number of bits in the fixed-length representation of pdu_2d_pos_x[j] of patch with index j in an atlas tile group that refers to afps_atlas_frame_parameter_set_id)。
AFPS 2DポジションYビットカウント(afps_2d_pos_y_bit_count_minus1):この値に1を加えると、afps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プ内のインデックスJを有するパッチのpdu_2d_pos_y[j]の固定長さ表現内のビット数を示す(plus 1 specifies the number of bits in the fixed-length representation of pdu_2d_pos_y[j] of patch with index j in an atlas tile group that refers to afps_atlas_frame_parameter_set_id)。
AFPS 3DポジションXビットカウント(afps_3d_pos_x_bit_count_minus1):この値に1を加えると、afps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プ又はアトラスタイル内のインデックスJを有するパッチのpdu_3d_pos_x[j]の固定長さ表現内のビット数を示す(plus 1 specifies the number of bits in the fixed-length representation of pdu_3d_pos_x[j] of patch with index j in an atlas tile group that refers to afps_atlas_frame_parameter_set_id)。
AFPS 3DポジションYビットカウント(afps_3d_pos_y_bit_count_minus1):この値に1を加えると、afps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プ又はアトラスタイル内のインデックスJを有するパッチのpdu_3d_pos_y[j]の固定長さ表現内のビット数を示す(plus 1 specifies the number of bits in the fixed-length representation of pdu_3d_pos_y[j] of patch with index j in an atlas tile group that refers to afps_atlas_frame_parameter_set_id)。
AFPS LODビットカウント(afps_lod_bit_count):afps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プ内のインデックスjを有するパッチのpdu_lod[j]の固定した長さ表現内のビット数を示す(specifies the number of bits in the Fixed-length representation of pdu_lod[j] of patch with index j in an atlas tile group that refers to afps_atlas_frame_parameter_set_id)。
AFPSオ-バ-ライドEOMフラグ(afps_override_eom_for_depth_flag):この値が1であると、afps_eom_number_of_patch_bit_count_minus1及びafps_eom_max_bit_count_minus1の値が明示的にビットストリ-ム内に存在することを示す。この値が0であると、afps_eom_number_of_patch_bit_count_minus1及びafps_eom_max_bit_count_minus1の値が暗示的に誘導されることを示す(equal to 1 indicates that the values of afps_eom_number_of_patch_bit_count_minus1 and afps_eom_max_bit_count_minus1 is explicitly present in the bitstream. afps_override_eom_for_depth_flag equal to 0 indicates that the values of afps_eom_number_of_patch_bit_count_minus1 and afps_eom_max_bit_count_minus1 are implicitly derived)。
AFPS EOMパッチビットカウント数(afps_eom_number_of_patch_bit_count_minus1):この値に1を加えると、現在EOM特質パッチ内の連関するジオメトリパッチの数を示すために使用されるビットの数を示す(plus 1 specifies the number of bits used to represent the number of geometry patches associated with the current EOM attribute patch)。
AFPS EOMマックスビットカウント(afps_eom_max_bit_count_minus1):現在EOM特質パッチに連関するジオメトリパッチごとのEOMポイントの数を示すために使用されるビットの数を示す(plus 1 specifies the number of bits used to represent the number of EOM points per geometry patch associated with the current EOM attribute patch)。
AFPS RAW 3Dポジションビットカウント明示モ-ドフラグ(afps_raw_3d_pos_bit_count_explicit_mode_flag):この値が1であると、rpdu_3d_pos_x、rpdu_3d_pos_y及びrpdu_3d_pos_zに対するビットカウントがafps_atlas_frame_parameter_set_idを称するアトラスタイルグル-プヘッダ内に明示的にコ-ディングされることを示す(Equal to 1 indicates that the bit count for rpdu_3d_pos_x、rpdu_3d_pos_y、and rpdu_3d_pos_z is explicitely coded in an atlas tile group header that refers to afps_atlas_frame_parameter_set_id)。
AFPS拡張フラグ(afps_extension_flag):この値が0であると、AFPS RBSPシンタックス構造内のafps_extension_data_flagシンタックス要素が存在しないことを示す(equal to 0 specifies that no afps_extension_data_flag syntax elements are present in the AFPS RBSP syntax structure)。
AFPS延長デ-タフラグ(afps_extension_data_flag):拡張関連デ-タを含む。
図33は実施例によるアトラスフレ-ムタイル情報(atlas_frame_tile_information)を示す。
図33は図32に含まれたアトラスフレ-ムタイル情報のシンタックスである。
AFTIアトラスフレ-ム内にシングルタイルフラグ(afti_single_tile_in_atlas_frame_flag):この値が1であると、AFPSを参照する各々のアトラスフレ-ム内にただ1つのタイルが存在することを示す。この値が0であると、AFPSを参照する各々のアトラスフレ-ム内に1つ以上のタイルが存在することを示す(equal to 1 specifies that there is only one tile in each atlas frame referring to the AFPS. afti_single_tile_in_atlas_frame_flag equal to 0 specifies that there is more than one tile in each atlas frame referring tお the AFPS)。
AFTI均一タイル空間フラグ(afti_uniform_tile_spacing_flag):この値が1であると、タイル列及び行の境界がアトラスフレ-ムに対して均一に分配され、afti_tile_cols_width_minus1及びafti_tile_rows_height_minus1、シンタックス要素をそれぞれ使用してシグナリングされることを示す。この値が0であると、タイル列及び行の境界がアトラスフレ-ムに対して均一に分配されるか或いは分配されず、afti_num_tile_columns_minus1、afti_num_tile_rows_minus1、a list of syntax element pairs afti_tile_column_width_minus1[i]、afti_tile_row_height_minus1[i]などのシンタックス要素を使用してシグナリングされることを示す。
AFTIタイル列の幅(afti_tile_cols_width_minus1):この値に1を加えると、afti_uniform_tile_spacing_flagが1である場合、64サンプル単位内のアトラスフレ-ムの最右側タイル列を除いたタイル列の幅を示す(plus 1 specifies the width of the tile columns excluding the right-most tile column of the atlas frame in units of 64 samples when afti_uniform_tile_spacing_flag is equal to 1)。
AFTIタイル行の高さ(afti_tile_rows_height_minus1):この値に1を加えると、afti_uniform_tile_spacing_flagが1である場合、64サンプル単位内のアトラスフレ-ムの底タイル行を除いたタイル行の高さを示す(plus 1 specifies the height of the tile rows excluding the bottom tile row of the atlas frame in units of 64 samples when afti_uniform_tile_spacing_flag is equal to 1)。
afti_uniform_tile_spacing_flagが1ではないと、以下の要素がアトラスフレ-ムタイル情報に含まれる。
AFTIタイル列の数(afti_num_tile_columns_minus1):この値に1を加えると、afti_uniform_tile_spacing_flagが0である場合、アトラスフレ-ムを分割するタイル列の数を示す(plus 1 specifies the number of tile columns partitioning the atlas frame when afti_uniform_tile_spacing_flag is equal to 0)。
AFTIタイル行の数(afti_num_tile_rows_minus1):この値に1を加えると、afti_uniform_tile_spacing_flagが0である場合、アトラスフレ-ムを分割するタイル行の数を示す(Plus 1 specifies the number of tile rows partitioning the atlas frame when pti_uniform_tile_spacing_flag is equal to 0)。
AFTIタイル列の幅(afti_tile_column_width_minus1[i]):この値に1を加えると、64サンプル単位内のI番目のタイル列の幅を示す(plus 1 specifies the width of the i-th tile column in units of 64 samples)。
afti_num_tile_columns_minus1値だけAFTIタイル列の幅がアトラスフレ-ムタイル情報に含まれる。
AFTIタイル行の高さ(afti_tile_row_height_minus1[i]):この値に1を加えると、64サンプル単位内のI番目のタイル行の高さを示す(plus 1 specifies the height of the i-th tile row in units of 64 samples)。
afti_num_tile_rows_minus1値だけAFTIタイル行の高さがアトラスフレ-ムタイル情報に含まれる。
AFTIタイルグル-プごとにシングルタイルフラグ(afti_single_tile_per_tile_group_flag):この値が1であると、AFPSを示す各タイルグル-プ(又はタイル)が一つのタイルを含むことを示す。この値が0であると、このAFPSを示すタイルグル-プ(又はタイル)が一つのタイル以上を含めることを示す。存在しない場合、この値は1に推論される。(equal to 1 specifies that each tile group that refers to this AFPS includes one tile. afti_single_tile_per_tile_group_flag equal to 0 specifies that a tile group that refers to this AFPS may include more than one tile.When not present, the value of afti_single_tile_per_tile_group_flag is inferred to be equal to 1)。
AFTIアトラスフレ-ム内タイス数(afti_num_tiles_in_atlas_frame_minus1):AFPSを称する各アトラスフレ-ム内のタイスの数を示す(specifies the number of tiles in each atlas frame referring to the AFPS)。
AFTIタイルインデックス(afti_tile_idx[i]):AFPSを称する各アトラスフレ-ム内のi番目のタイルのタイルインデックスを示す(specifies the tile index of the i-th tile in each atlas frame referring to the AFPS)。
afti_num_tile_groups_in_atlas_frame_minus1に基づいて、AFTIタイルインデックス(afti_tile_idx[i])がアトラスフレ-ムタイル情報に含まれる。
AFTIタイルグル-プごとにシングルタイルフラグ(afti_single_tile_per_tile_group_flag)が0であると、afti_num_tile_groups_in_atlas_frame_minus1がアトラスフレ-ムタイル情報内に伝達される。
AFTIアトラスフレ-ム内タイルグル-プ(又はタイル)の数(afti_num_tile_groups_in_atlas_frame_minus1):AFPSを示す各々のアトラスフレ-ム内のタイルグル-プ(又はタイル)の数を示す。afti_num_tile_groups_in_atlas_frame_minus1の値は0ないしNumTilesInAtlasFrame-1(含み)の範囲を有する。存在せず、afti_single_tile_per_tile_group_flagが1である場合は、afti_num_tile_groups_in_atlas_frame_minus1の値はNumTilesInAtlasFrame-1に推論される(plus 1 specifies the number of tile groups in each atlas frame referring to the afps、The value of afti_num_tile_groups_in_atlas_frame_minus1 shall be in the range of 0 to NumTilesInAtlasFrame ? 1、inclusive. When not present and afti_single_tile_per_tile_group_flag is equal to 1、the value of afti_num_tile_groups_in_atlas_frame_minus1 is inferred to be equal to NumTilesInAtlasFrame-1)。
afti_num_tile_groups_in_atlas_frame_minus1値だけ以下の要素がアトラスフレ-ムタイル情報に含まれる。
AFTI左上部タイルインデックス(afti_top_left_tile_idx[i]):I番目のタイルグル-プ(又はタイル)の左上部に位置するタイルのタイルインデックスを示す。afti_top_left_tile_idx[i]の値はjに等しくないi値に対してafti_top_left_tile_idx[j]の値に等しくない。存在しない場合、afti_top_left_tile_idx[i]の値はiに等しいと推論される。afti_top_left_tile_idx[i]シンタックス要素の長さは、Ceil(Log2(NumTilesInAtlasFrame)ビットである(specifies the tile index of the tile located at the top-left corner of the i-th tile group. The value of afti_top_left_tile_idx[i] is not be equal to the value of afti_top_left_tile_idx[j] for any i not equal to j. When not present、the value of afti_top_left_tile_idx[i] is inferred to be equal to い. The length of the afti_top_left_tile_idx[i] syntax element is Ceil(Log2(NumTilesInAtlasFrame ) bits)。
AFTI右下部タイルインデックスデルタ(afti_bottom_right_tile_idx_delta[i]):afti_top_left_tile_idx[i]及びI番目のタイルグル-プ(又はタイル)の右下部に位置するタイルのタイルインデックスの間の差を示す。afti_single_tile_per_tile_group_flagが1である場合、afti_bottom_right_tile_idx_delta[i]の値は0に等しいと推論される。afti_bottom_right_tile_idx_delta[i]シンタックス要素の長さはCeil(Log2(NumTilesInAtlasFrame-afti_top_left_tile_idx[i]))ビットである(specifies the difference between the tile index of the tile located at the bottom-right corner of the i-th tile group and afti_top_left_tile_idx[i]. When afti_single_tile_per_tile_group_flag is equal to 1、the value of afti_bottom_right_tile_idx_delta[i] is inferred to be equal to 0. The length of the afti_bottom_right_tile_idx_delta[i] syntax element is Ceil(Log2(NumTilesInAtlasFrame - afti_top_left_tile_idx[i])) bits)。
AFTIシグナリングされるタイルグル-プIDフラグ(afti_signalled_tile_group_id_flag):この値が1であると、各々のタイルグル-プ又は各々のタイルに対するタイルグル-プID又はタイルIDがシグナリングされることを示す(equal to 1 specifies that the tile group ID for each tile group is signalled)。
AFTIシグナリングされるタイルグル-プIDフラグ(afti_signalled_tile_group_id_flag)が1であると、afti_signalled_tile_group_id_length_minus1及びafti_tile_group_id[i]がアトラスフレ-ムタイル情報内に伝達される。この値が0であると、タイルグル-プIDがシグナリングされないこともある。
AFTIシグナリングされるタイルグル-プID長さ(afti_signalled_tile_group_id_length_minus1):この値に1を加えると、シンタックス要素afti_tile_group_id[i]を示すために使用されるビットの数を示す。存在する場合、シンタックス要素タイルグル-プヘッダ又はタイルヘッダ内にatgh_addressがあり得る(plus 1 specifies the number of bits used to represent the syntax element afti_tile_group_id[i] when present, and the syntax element atgh_address in tile group headers)。
AFTIタイルグル-プID(afti_tile_group_id[i]):I番目のタイルグル-プ(又はタイル)のIDを示す。シンタックス要素afti_tile_group_id[i]の長さはafti_signalled_tile_group_id_length_minus1に1を加えたビットである(specifies the tile group ID of the i-th tile group. The length of the afti_tile_group_id[i] syntax element is afti_signalled_tile_group_id_length_minus1 +1 bits)。
afti_num_tile_groupS_in_atlas_frame_minus1値だけAFTIタイルグル-プID(afti_tile_group_id[i])がアトラスフレ-ムタイル情報に含まれる。
図34は実施例による補足強化情報(Supplemental enhancement information, SEI)を示す。
図34は図30のように実施例によるビットストリ-ムに含まれるSEI情報の詳しいシンタックスを示す。
実施例による受信方法/装置、システムなどはSEIメッセ-ジに基づいてポイントクラウドデ-タを復号し、復元し、ディスプレイする。
SEIメッセ-ジは各ペイロ-ドタイプ(payloadType)に基づいて、対応するデ-タをペイロ-ドが含めることを示す。
例えば、ペイロ-ドタイプ(payloadType)が13であると、ペイロ-ドは3D領域マッピング(3d_region_mapping(payloadSize))情報を含む。
ユニットタイプ(psd_unit_type)がプレフィックス(PSD_PREFIX_SEI)であると、実施例によるSEI情報はbuffering_period(payloadSize)、pic_timing(payloadSize)、filler_payload(payloadSize)、user_data_registered_itu_t_t35(payloadSize)、user_data_unregistered(payloadSize)、recovery_point(payloadSize)、no_display(payloadSize)、time_code(payloadSize)、regional_nesting(payloadSize)、sei_manifest(payloadSize)、sei_prefix_indication(payloadSize)、geometry_transformation_params(payloadSize)、3d_bounding_box_info(payloadSize)(図35などを参照)、3d_region_mapping(payloadSize)(図66など)、reserved_sei_message(payloadSize)などを含む。
ユニットタイプ(psd_unit_type)がサフィックス(PSD_SUFFIX_SEI)であると、実施例によるSEI情報はfiller_payload(payloadSize)、user_data_registered_itu_t_t35(payloadSize)、user_data_unregistered(payloadSize)、decoded_PCC_hash(payloadSize)、reserved_sei_message(payloadSize)などを含む。
図35は実施例による3DバウンディングボックスSEIを示す。
図35は図30のように実施例によるビットストリ-ムに含まれるSEI情報の詳しいシンタックスを示す。
取り消しフラグ(3dbi_cancel_flag):この値が1であると、3Dバウンディングボックス情報SEIメッセ-ジがアウトプット順に以前の3Dバウンディングボックス情報SEIメッセ-ジの存在を取り消すことを示す。
客体ID(object_id):ビットストリ-ム内に伝達されるポイントクラウド客体/コンテンツの識別子である。
バウンディングボックスX(3d_bounding_box_x):客体の3Dバウンディングボックスの原点位置のX座標値である。
バウンディングボックスY(3d_bounding_box_y):客体の3Dバウンディングボックスの原点位置のY座標値である。
バウンディングボックスZ(3d_bounding_box_z):客体の3Dバウンディングボックスの原点位置のZ座標値である。
バウンディングボックスデルタX(3d_bounding_box_z):客体のX軸上のバウンディングボックスのサイズを示す。
バウンディングボックスデルタY(3d_bounding_box_delta_y):客体のY軸上のバウンディングボックスのサイズを示す。
バウンディングボックスデルタZ(3d_bounding_box_delta_z):客体のZ軸上のバウンディングボックスのサイズを示す。
図36は実施例による3D領域マッピング情報SEIメッセ-ジを示す。
図36は図30のように実施例によるビットストリ-ムに含まれるSEI情報の詳しいシンタックスを示す。
取り消しフラグ(3dmi_cancel_flag):この値が1であると、3D領域マッピング情報SEIメッセ-ジがアウトプット順に以前の3D領域マッピング情報SEIメッセ-ジの存在を取り消すことを示す。
3D領域数(num_3d_regions):該当SEIにおいてシグナリングする3D領域の数を示す。
num_3d_regions値だけ以下の要素がこのSEIメッセ-ジに含まれる。
3D領域インデックス(3d_region_idx[i]):i番目の3D領域の識別子を示す。
3D領域アンカ-X、Y、Z(3d_region_anchor_x[i]、3d_region_anchor_y[i]、3d_region_anchor_z[i]):i番目の3D領域のアンカ-ポイント(anchor point)のx、y、z座標値をそれぞれ示す。例えば、3D領域が立方体(cuboid)タイプである場合、アンカ-ポイントは立方体の原点(origin)になる。
3d_region_anchor_x[i]、3d_region_anchor_y[i]、3d_region_anchor_z[i]はi番目の3D領域の立方体の原点位置のx、y、z座標値を示す。
3D領域タイプ(3d_region_type[i]):i番目の3D領域のタイプを示し、タイプ値として0x01-立方体などを有する。
3d_region_type[i]が1であると、3D領域のタイプが立方体であることを示す。以下、立方体タイプ関連の要素がこのSEIメッセ-ジに含まれる。
3D領域デルタX、Y、Z(3d_region_delta_x[i]、3d_region_delta_y[i]、3d_region_delta_y[i]):i番目の3D領域のx、y、z軸の差の値を示す。
2D領域数(num_2d_regions[i]):i番目の3D領域に連関するビデオ或いはアトラスデ-タが存在するフレ-ムの2D領域の数を示す。
num_2d_regions[i]値だけ以下の要素のこのSEIメッセ-ジに含まれる。
2D領域インデックス(2d_region_idx[j]):j番目の2D領域の識別子を示す。
2D領域上、2D領域左部(2d_region_top[j], 2d_region_left[j]):j番目の2D領域の左上部位置のフレ-ム内垂直座標(vertical coordinate)、水平座標(horizontal coordinate)の値をそれぞれ含む。
2d_region_width[j]、2d_region_height[j]はj番目の2D領域のフレ-ム内で水平範囲(width)、垂直範囲(height)の値をそれぞれ含む。
図66の3d領域マッピング情報の3d領域関連フィ-ルド及び2d領域関連フィ-ルドはそれぞれ、実施例によるビットストリ-ムに含まれるボリュメトリック矩形情報(volumetric rectangle information)に対応する。具体的には、ボリュメトリック矩形情報のバウンディングボックス関連フィ-ルド(例えば、vri_bounding_box_top、vri_bounding_box_left、vri_bounding_box_width、vri_bounding_box_height)は2d領域を示す。また、ボリュメトリック矩形情報の客体関連フィ-ルド、例えば、vri_rectangle_object_idxは、scene_object_informationに含まれたobject_idxに対応する。即ち、object_idxで3D領域情報を示す。scene_object_informationは3Dバウンディングボックス、即ち、3D領域に関するシグナリング情報を含むためである。
図66の3d領域マッピング情報の3d領域関連のフィ-ルド及び2d領域関連のフィ-ルドはそれぞれ実施例によるビットストリ-ムに含まれるパッチ情報(patch information)のタイル情報(tile id,2D領域)及びパッチ客体インデックス(patch object idx)に対応する。
タイル数(num_tiles[j]):j番目の2D領域に連関するアトラスタイル或いはビデオタイルの数を示す。
num_tiles[j]値だけ以下のタイル関連要素がこのSEIメッセ-ジに含まれる。
タイルインデックス(tile_idx[k]):k番目の2D領域に連関するアトラスタイル或いはビデオタイルの識別子を示す。
タイルグル-プ数(num_tile_groups[j])はj番目の2D領域に連関するアトラスタイルグル-プ或いはビデオタイルグル-プの数を示す。この値はタイルの数に対応する。
num_tile_groups[j]値だけ以下の要素がこのSEIメッセ-ジに含まれる。
タイルグル-プインデックス(tile_group_idx[m]):m番目の2D領域と連関するアトラスタイルグル-プ或いはビデオタイルグル-プの識別子を示す。この値はタイルインデックスに対応する。
実施例によるシグナリング方案により、実施例による受信方法/装置は3D領域及び1つ以上のアトラスタイル(2D領域)の間のマッピング関係を把握して、該当デ-タを得られる。
図37は実施例によるボリュメトリックタイリング情報を示す。
図37は図30のように実施例によるビットストリ-ムに含まれるSEI情報の詳しいシンタックスを示す。
ボリュメトリックタイリング情報SEIメッセ-ジ(Volumetric tiling information SEI message)
このSEIメッセ-ジは実施例によるV-PCCデコ-ダが客体との連関性及び領域の関係及びラベリング、3D空間及び2Dアトラス内領域の関連性を含む復号されたポイントクラウドの異なる特性を避けるために知らせる(This SEI message informs a V-PCC decoder avoid different characteristics of a decoded point cloud, including correspondence of areas within a 2D atlas and the 3D space, relationship and labeling of areaS and association with objects)。
このSEIメッセ-ジの持続範囲は、ビットストリ-ムの残り又は新しいボリュメトリックタイリングSEIメッセ-ジがあるまでである。このSEIメッセ-ジに記述されたただ対応するパラメ-タが更新される。変更されないか、又はvti_cancel_flagの値が1ではない場合、以前SEIメッセ-ジからの以前に定義されたパラメ-タが続いて存在する(The persistence scope for this SEI message is the remainder of the bitstream or until a new volumetric tiling SEI message is encountered. Only the corresponding parameters specified in the SEI message is updated. Previously defined parameters from an earlier SEI message persist if not modified and if thevalue of vti_cancel_flag is not Equal to 1)。
図38は実施例によるボリュメトリックタイリング情報客体を示す。
図38は図37に含まれたボリュメトリックタイリング情報客体(volumetric_tiling_info_objects)の詳しいシンタックスを示す。
vtiObjectLabelPresentFlag、vti3DBoundingBoxPresentFlag、vtiObjectPriorityPresentFlag、tiObjectHiddenPresentFlag、vtiObjectCollisionShapePresentFlag、vtiObjectDependencyPresentFlagなどに基づいて、ボリュメトリックタイリング情報の客体が図38のような要素を含む。
図39は実施例によるボリュメトリックタイリング情報ラベルを示す。
図39は図37に含まれたボリュメトリックタイリング情報ラベル(volumetric_tiling_info_labels)の詳しいシンタックスである。
取り消しフラグ(vti_cancel_flag):この値が1であると、ボリュメトリックタイリング情報SEIメッセ-ジがアウトプット順に以前のボリュメトリックタイリング情報SEIメッセ-ジの存在を取り消すことを示す。vti_cancel_flagが0であると、ボリュメトリックタイリング情報が図37のように伴う。
客体ラベル存在フラグ(vti_object_label_present_flag):この値が1であると、客体ラベル情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、客体ラベル情報が存在しないことを示す。
3Dバウンディングボックス存在フラグ(vti_3d_bounding_box_present_flag):この値が1であると、3Dバウンディングボックス情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、3Dバウンディングボックス情報が存在しないことを示す。
客体優先順位存在フラグ(vti_object_priority_present_flag):この値が1であると、現在ボリュメトリックタイリング情報SEIメッセ-ジ内の客体 優先順位情報が存在することを示す。この値が0であると、客体優先順位情報が存在しないことを示す。
客体隠し存在フラグ(vti_object_hidden_present_flag):この値が1であると、隠し客体情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、隠し客体情報が存在しないことを示す。
客体衝突模様存在フラグ(vti_object_collision_shape_present_flag):この値が1であると、客体衝突情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、客体衝突模様情報が存在しないことを示す。
客体従属存在フラグ(vti_object_dependency_present_flag):この値が1であると、客体従属情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、客体従属情報が存在しないことを示す。
客体ラベル言語存在フラグ(vti_object_label_language_present_flag):この値が1であると、客体ラベル言語情報が現在ボリュメトリックタイリング情報SEIメッセ-ジ内に存在することを示す。この値が0であると、客体ラベル言語情報が存在しないことを示す。
ゼロ相当のビット(vti_bit_equal_to_zero):この値は0に等しい。
客体ラベル言語(vti_object_label_language):0x00と同一のnull終端バイトの後に言語タグを含む。vti_object_label_languageシンタックス要素の長さはnull終端バイトを除いて255バイトに等しいか又は少ない。
客体ラベル数(vti_num_object_label_updates):現在SEIにより更新される客体ラベルの数を示す。
ラベルインデックス(vti_label_idx[i]):更新されるi番目のラベルのラベルインデックスを示す。
ラベル取り消しフラグ(vti_label_cancel_flag):この値が1であると、vti_label_idx[i]と同一のインデックスを有するラベルが取り消され、空いているストリングで同様にセットされることを示す。この値が0であると、vti_label_idx[i]と同一のインデックスを有するラベルがこの要素に従う情報により更新されることを示す。
ゼロ相当のビット(vti_bit_equal_to_zero):この値は0に等しい。
ラベル(vti_label[i]):i番目のラベルのラベルを示す。vti_label[i]シンタックス要素の長さはnull終端バイトを除いた255バイトに等しいか又は少ない。
バウンディングボックススケ-ル(vti_bounding_box_scale_log2):客体に対して記述される2Dバウンディングボックスパラメ-タに適用されるスケ-ルを示す。
3Dバウンディングボックススケ-ル(vti_3d_bounding_box_scale_log2):客体に対して記述される3Dバウンディングボックスパラメ-タに適用されるスケ-ルを示す。
3Dバウンディングボックス精度(vti_3d_bounding_box_precision_minus8):この値に8を加えると、客体に対して記述される3Dバウンディングボックスパラメ-タの精度を示す(plus 8 indicates the precision of the 3D bounding box parameters that may be specified for an object)。
客体数(vti_num_object_updates):現在SEIにより更新される客体の数を示す。
客体数(vti_num_object_updates)だけ客体関連情報がボリュメトリックタイリング情報客体(図38を参照)に含まれる。
客体インデックス(vti_object_idx[i]):更新されるi番目の客体の客体インデックスを示す。
客体取り消しフラグ(vti_object_cancel_flag[i]):この値が1であると、iと同一のインデックスを有する客体が取り消され、変数ObjectTracked[i]が0に設定されることを示す。客体の2D及び3Dバウンディングボックスパラメ-タが0に設定される。この値が0であると、vti_object_idx[i]と同一のインデックスを有する客体がこの要素に従う情報により更新されることを示す。また、変数ObjectTracked[i]は1に設定される。
バウンディングボックス更新フラグ(vti_bounding_box_update_flag[i]):この値が1であると、2Dバウンディングボックス情報がインデックスiを有する客体に対して存在することを示す。この値が0であると、2Dバウンディングボックス情報が存在しないことを示す。
vti_bounding_box_update_flagがvti_object_idx[i]に対して1であると、vti_object_idx[i]に対する以下のようなバウンディングボックス要素がボリュメトリックタイリング情報客体に含まれる。
バウンディングボックス上部(vti_bounding_box_top[i]):現在アトラスフレ-ム内のインデックスiを有する客体のバウンディングボックスの左上部ポジションの垂直座標値を示す。
バウンディングボックス左部(vti_bounding_box_left[i]):現在アトラスフレ-ム内のインデックスiを有する客体のバウンディングボックスの左上部ポジションの水平座標値を示す。
バウンディングボックス幅(vti_bounding_box_width[i]):インデックスiを有する客体のバウンディングボックスの幅を示す。
バウンディングボックス高さ(vti_bounding_box_height[i]):インデックスiを有する客体のバウンディングボックスの高さを示す。
vti3dBoundingBoxPresentFlagが1であると、以下のようなバウンディングボックス要素がボリュメトリックタイリング情報客体に含まれる。
3Dバウンディングボックス更新フラグ(vti_3d_bounding_box_update_flag[i]):この値が1であると、インデックスiを有する客体に対して3Dバウンディングボックス情報が存在することを示す。この値が0であると、3Dバウンディングボックス情報が存在しないことを示す。
vti_3d_bounding_box_update_flagがvti_object_idx[i]に対して1であると、以下のようなバウンディングボックス関連要素がボリュメトリックタイリング情報客体に含まれる。
3DバウンディングボックスX(vti_3d_bounding_box_x[i]):インデックスiを有する客体の3Dバウンディングボックスの原点位置のX座標値を示す。
3DバウンディングボックスY(vti_3d_bounding_box_y[i]):インデックスiを有する客体の3Dバウンディングボックスの原点位置のY座標値を示す。
3DバウンディングボックスZ(vti_3d_bounding_box_z[i]):インデックスiを有する客体の3Dバウンディングボックスの原点位置のZ座標値を示す。
3DバウンディングボックスデルタX(vti_3d_bounding_box_delta_x[i]):インデックスiを有する客体のX軸上のバウンディングボックスのサイズを示す。
3DバウンディングボックスデルタY(vti_3d_bounding_box_delta_y[i]):インデックスiを有する客体のY軸上のバウンディングボックスのサイズを示す。
3DバウンディングボックスデルタZ(vti_3d_bounding_box_delta_z[i]):インデックスiを有する客体のZ軸上のバウンディングボックスのサイズを示す。
vtiObjectPriorityPresentFlagが1であると、以下のような優先順位関連要素がボリュメトリックタイリング情報客体に含まれる。
客体優先順位更新フラグ(vti_object_priority_update_flag[i]):この値が1であると、客体優先順位更新情報がインデックスiを有する客体に対して存在することを示す。この値が0であると、客体優先順位情報が存在しないことを示す。
客体優先順位値(vti_object_priority_value[i]):インデックスiを有する客体の優先順位を示す。優先順位値が低いほど優先順位が高い。
vtiObjectHiddenPresentFlagが1であると、vti_object_idx[i]に対する以下のような隠し情報がボリュメトリックタイリング情報客体に含まれる。
客体隠しフラグ(vti_object_hidden_flag[i]):この値が1であると、インデックスiを有する客体が隠されることを示す。この値が0であると、インデックスiを有する客体が存在することを示す。
vtiObjectLabelPresentFlagが1であると、ラベル関連更新フラグがボリュメトリックタイリング情報客体に含まれる。
客体ラベル更新フラグ(vti_object_label_update_flag):この値が1であると、客体ラベル更新情報がインデックスiを有する客体に対して存在することを示す。この値が0であると、客体ラベル更新情報が存在しないことを示す。
vti_object_label_update_flagがvti_object_idx[i]に対して1であると、vti_object_idx[i]に対する客体ラベルインデックスがボリュメトリックタイリング情報客体に含まれる。
客体ラベルインデックス(vti_object_label_idx[i]):インデックスiを有する客体のラベルインデックスを示す。
vtiObjectCollisionShapePresentFlagが1であると、客体衝突関連要素がボリュメトリックタイリング情報客体に含まれる。
客体衝突模様更新フラグ(vti_object_collision_shape_update_flag[i]):この値が1であると、客体衝突模様更新情報がインデックスiを有する客体に対して存在することを示す。この値が0であると、客体衝突模様更新情報が存在しないことを示す。
vti_object_collision_shape_update_flagがvti_object_idx[i]に対して1であると、vti_object_idx[i]に対する客体衝突模様IDがボリュメトリックタイリング情報客体に含まれる。
客体衝突模様ID(vti_object_collision_shape_id[i]):インデックスiを有する客体の衝突模様IDを示す。
vtiObjectDependencyPresentFlagが1であると、客体従属関連要素がボリュメトリックタイリング情報客体に含まれる。
客体従属更新フラグ(vti_object_dependency_update_flag[i]):この値が1であると、客体従属更新情報が客体インデックスiを有する客体に対して存在することを示す。この値が0であると、客体従属更新情報が存在しないことを示す。
vti_object_dependency_update_flagがvti_object_idx[i]に対して1であると、vti_object_idx[i]に対する客体従属関連要素がボリュメトリックタイリング情報客体に含まれる。
客体従属数(vti_object_num_dependencies[i]):インデックスiを有する客体従属の数を示す。
vti_object_num_dependencies数だけ客体従属インデックスがボリュメトリックタイリング情報客体に含まれる。
客体従属インデックス(vti_object_dependency_idx[i][j]):インデックスiを有する客体に対する従属を有するj番目の客体のインデックスを示す。
図40は実施例によるカプセル化されたV-PCCデ-タコンテナの構造を示す。
図41は実施例による絶縁されたV-PCCデ-タコンテナ構造を示す。
図1の送信装置10000のポイントクラウドビデオエンコ-ダ10002、図4及び図15のエンコ-ダ、図18の送信装置、図29のビデオ/イメ-ジエンコ-ダ20002,20003、図21のプロセッサ、エンコ-ダ21000ないし21008、及び図23のXRデバイス2330などは、実施例によるポイントクラウドデ-タを含むビットストリ-ムを生成する。
図1のファイル/セグメントカプセル化部10003、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009、及び図23のXRデバイスは、図24及び図25のファイル構造にビットストリ-ムを初期化(formatting)する。
同様に、図1の受信装置10005のファイル/セグメントデカプセル化部10007、図20ないし図23のファイル/セグメントデカプセル化部20005,21009,22000、及び図23のXRデバイス2330は、ファイルを受信してデカプセル化してビットストリ-ムをパ-スする。ビットストリ-ムは図1のポイントクラウドビデオデコ-ダ101008、図16及び図17のデコ-ダ、図19の受信装置、図20ないし図23のビデオ/イメ-ジデコ-ダ20006,21007,21008,22001,22002、及び図23のXRデバイス2330により復号され、ポイントクラウドデ-タが復元される。
図40及び図41はISOBMFFファイルフォ-マットによるポイントクラウドデ-タのコンテナの構造を示す。
図40及び図41はマルチトラックに基づいてポイントクラウドを伝達するコンテナの構造である。
実施例による方法/装置は、複数のトラックに基づいてポイントクラウドデ-タ及びポイントクラウドデ-タ関連の追加デ-タをコンテナファイルに含めて送受信する。
第1トラック40000は特質トラックであり、図1、図4、図15、図18などのように符号化された特質デ-タ40040を含む。
第2トラック40010は占有トラックであり、図1、図4、図15、図18などのように符号化されたジオメトリデ-タ40050を含む。
第3トラック40020はジオメトリトラックであり、図1、図4、図15、図18などのように符号化された占有デ-タ40060を含む。
第4トラック40030はv-pcc(v3c)トラックであり、ポイントクラウドデ-タに関するデ-タを含むアトラスビットストリ-ム40070を含む。
各々のトラックはサンプルエントリ-及びサンプルで構成される。サンプルはフレ-ムに対応するユニットである。N番目のフレ-ムを復号するためには、N番目のフレ-ムに対応するサンプル又はサンプルエントリ-が必要である。サンプルエントリ-はサンプルを記述する情報を含む。
図41は図40の詳しい構造図である。
v3cトラック41000は第4トラック40030に対応する。v3cトラック41000に含まれたデ-タはボックスというデ-タコンテナのフォ-マットを有する。v3cトラック41000はV3Cコンポ-ネントトラック41010ないし41030に関する参照情報を含む。
実施例による受信方法/装置は、図41のようなポイントクラウドデ-タを含むコンテナ(ファイルとも称する)を受信して、V3Cトラックをパ-スする。v3cトラックに含まれた参照情報に基づいて占有デ-タ、ジオメトリデ-タ、特質デ-タを復号して復元する。
占有トラック41010は第2トラック40010に対応し、占有デ-タを含む。ジオメトリトラック41020は第3トラック40020に対応し、ジオメトリデ-タを含む。特質トラック41030は第1トラック40000に対応し、特質デ-タを含む。
以下、図40及び図41のファイルに含まれるデ-タ構造のシンタックスについて詳しく説明する。
ボリュメトリックビジュアルトラック(Volumetric visual track)
各々のボリュメトリックビジュアルシ-ンはユニ-クなボリュメトリックビジュアルトラックにより表現される。
ISOBMFFファイルは複数のシ-ンを含み、それにより、マルチボリュメトリックビジュアルトラックがファイル内に存在する。
ボリュメトリックビジュアルトラックはメディアボックスのハンドラ-ボックスのボリュメトリックビジュアルメディアハンドラ-タイプ‘volv’により識別される。ボリュメトリックビジュアルヘッダは以下のように定義される。
ボリュメトリックビジュアルメディアヘッダ(Volumetric visual Media header)
box Type:‘vvhd’
Container:MediaInformationBox
Mandatory:Yes
Quantity:Exactly one
ボリュメトリックビジュアルトラックはメディア情報ボックス(MediaInformationBox)のボリュメトリックビジュアルメディアヘッダボックス(VolumetricVisualMediaHeaderBox)を使用する。
aligned(8) class VolumetricVisualMediaHeaderBox
extends FullBox(‘vvhd’, version=0、1){
バ-ジョン(version)はこのボックスのバ-ジョンを示す整数である。
ボリュメトリックビジュアルサンプルエントリ-(Volumetric visual sample entry)
ボリュメトリックビジュアルトラックはボリュメトリックビジュアルサンプルエントリ-(VolumetricVisualSampleEntry)を使用する。
class VolumetricVisualSampleEntry(codingname)
extends SampleEntry(codingname){
unsigned int(8)[32] compressor_name;
コンプレッサ-ネイム(compressor_name):有益な目的のための名前である。固定32-バイトフィ-ルドで形成される。第1バイトはディスプレイされるバイト数に設定され、UTF-8を使用して符号化されたディスプレイ可能なデ-タのバイト数が伴う。サイズバイトを含む32バイトを完成するためにパッドされる。このフィ-ルドは0に設定されてもよい。
ボリュメトリックビジュアルサンプル(Volumetric visual samples)
ボリュメトリックビジュアルサンプルのフォ-マットは実施例によるコ-ディングシステムにより定義される。
V-PCCユニットヘッダボックス(V-PCC unit header box)
このボックスはV-PCCトラック(サンプルエントリ-内)及び全てのビデオコ-ディングされたV-PCCコンポ-ネントトラック(スキ-ム情報内)の両方に存在する。このボックスは個々のトラックにより伝達されるデ-タのためのV-PCCユニットヘッダを含む。
aligned(8) class VPCCUnitHeaderBox
extends FullBox(’vunt’, version=0、0){
vpcc_unit_header() unit_header;
このボックスは上記のようなV-PCCユニットヘッダ(vpcc_unit_header())を含む。
V-PCCデコ-ダ構成レコ-ド(V-PCC decoder configuration record)
このレコ-ドはバ-ジョンフィ-ルドを含む。このバ-ジョンはバ-ジョン1である。レコ-ドの両立不可な変更はバ-ジョン番号の変化により識別される。実施例によるリ-ダ-/デコ-ダはこのバ-ジョンが認識できないバ-ジョン番号である場合のレコ-ド又はストリ-ムを復号しなくてもよい。
V-PCCパラメ-タセットに対するアレイは上記のようにV-PCCパラメ-タセットを含む。
アトラスセットアップユニット(atlas_setupUnit)アレイはデコ-ダ構成レコ-ドがアトラスストリ-ムSEIメッセ-ジと共に存在するサンプルエントリ-により称されるストリ-ムに対して一定のアトラスパラメ-タセットを含む。
aligned(8) class VPCCDecoderConfigurationRecord{
unsigned int(8) configurationVersion=1;
unsigned int(3) sampleStreamSizeMinusOne;
unsigned int(5) numOfVPCCParameterSets;
for(i=0;i<numOfVPCCParameterSets;i++){
sample_stream_vpcc_unit VPCCParameterSet;
unsigned int(8) numOfAtlasSetupUnits;
for (i=0;i<numOfAtlasSetupUnits;i++){
sample_stream_vpcc_unit atlas_setupUnit;
構成バ-ジョン(configurationVersion)はバ-ジョンフィ-ルドである。このレコ-ドと両立できない変化はバ-ジョン番号の変化により識別される。
サンプルストリ-ムサイズ(sampleStreamSizeMinusOne):この値に1を加えると、この構成レコ-ド又はこの構成レコ-ドが適用されるストリ-ム内のV-PCCサンプル内の全てのサンプルストリ-ムV-PCCユニット内のssvu_vpcc_unit_size要素のバイト内の精度を示す。
V-PCCパラメ-タセット数(numOfVPCCParameterSets):デコ-ダ構成レコ-ド内にシグナリングされるV-PCCパラメ-タセット(VPS)の数を示す。
V-PCCパラメ-タセットはタイプVPCC_VPSのV-PCCユニットのsample_stream_vpcc_unit()インスタンスである。V-PCCユニットはV-PCCパラメ-タセット(vpcc_parameter_set())を含む。
アトラスセットアップユニット数(numOfAtlasSetupUnits):この構成レコ-ド内にシグナリングされるアトラスストリ-ムに対するセットアップアレイの数を示す。
アトラスセットアップユニット(Atlas_setupUnit):アトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセット又はSEIアトラスNALユニットを含むsample_stream_vpcc_unit()インスタンスである。例えば、ISO/IEC 23090-5の説明を参照できる。
また実施例によって、V-PCCデコ-ダ構成レコ-ドは以下のように定義される。
aligned(8) class VPCCDecoderConfigurationRecord{
unsigned int(8) configurationVersion=1;
unsigned int(3) sampleStreamSizeMinusOne;
bit(2) reserved=1;
unsigned int(3) lengthSizeMinusOne;
unsigned int(5) numOVPCCParameterSets;
for(i=0;i<numOVPCCParameterSets;i++){
sample_stream_vpcc_unit VPCCParameterSet;
unsigned int(8) numOfSetupUnitArrays;
for(j=0;j<numOfSetupUnitArrays;j++){
bit(1) array_completeness;
bit(1) reserved=0;
unsigned int(6) NAL_unit_type;
unsigned int(8) numNALUnits;
for(i=0;i<numNALUnits;i++){
sample_stream_nal_unit setupUnit;
構成情報(configurationVersion):バ-ジョンフィ-ルドである。このレコ-ドに対する両立不可な変更事項はバ-ジョン番号の変更により識別される。
長さサイズ(lengthSizeMinusOne):この値に1を加えると、この構成レコ-ド又はこの構成レコ-ドに適用されるストリ-ム内のV-PCCサンプル内の全てのサンプルストリ-ムNALユニット内のssnu_nal_unit_size要素のバイト内の精度(precision)を示す。
サンプルストリ-ムサイズ(sampleStreamSizeMinusOne):この値に1を加えると、この構成レコ-ド内にシグナリングされる全てのサンプルストリ-ムV-PCCユニット内のssvu_vpcc_unit_size要素のバイト内の精度(precision)を示す。
V-PCCパラメ-タセット数(numOfVPCCParameterSets):この構成レコ-ド内にシグナリングされるV-PCCパラメ-タセット(VPS)の数を示す。
V-PCCパラメ-タセットはタイプVPCC_VPSのV-PCCユニットに対するsample_stream_vpcc_unit()インスタンスである。
セットアップユニットアレイ数(numOfSetupUnitArrays):指示されたタイプのアトラスNALユニットのアレイ数である。
アレイ完成度(array_completeness):この値が1であると、所定のタイプの全てのアトラスNALユニットが続くアレイ内にあり、ストリ-ム内にないことを示す。この値が0であると、指示されたタイプの追加アトラスNALユニットがストリ-ム内にあり得ることを示す。デフォルト及び許容された値はサンプルエントリ-ネイムにより影響を受ける。
NALユニットタイプ(NAL_unit_type):続くアレイ内のアトラスNALユニットのタイプを示す。このタイプはISO/IEC 23090-5に定義された値を使用する。この値はNAL_ASPS、NAL_PREFIX_SEI又はNAL_SUFFIX_SEI atlas NAL unitを示す。
NALユニット数(numNALUnits):この構成レコ-ドが適用されるストリ-ムに対する構成レコ-ド内に含まれる指示されたタイプのアトラスNALユニットの数である。SEIアレイはただ記述的性格のSEIメッセ-ジを含む。全体としてストリ-ムに関する情報を提供する。かかるSEIの例示はユ-ザ-デ-タSEIである。
セットアップユニット(setupUnit):アトラスシ-ケンスパラメ-タセット又はアトラスフレ-ムパラメ-タセット又は記述的SEIアトラスNALユニットを含むsample_stream_nal_unit()インスタンスである。
V-PCCアトラスパラメ-タセットサンプルグル-プ(V-PCC atlas parameter set sample group)
サンプルグル-ピングに対するグル-ピングタイプ’vaps’はV-PCCトラック内サンプルのサンプルグル-プ内に伝達されるアトラスパラメ-タセットに配置することを示す。’vaps’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックス(SampleToGroupBox)が存在する場合、同一のグル-ピングタイプを有するサンプルグル-プ記述ボックスが存在し、サンプルが属するこのグル-プのIDを含む。
V-PCCトラックは’vaps’と同一のグル-ピングタイプを有する最大1つのサンプルツ-グル-プボックスを含む。
aligned(8) class VPCCAtlasParamSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vaps’){
unsigned int(8) numOfAtlasParameterSets;
for(i=0;i<numOfAtlasParameterSets;i++){
sample_stream_vpcc_unit atlasParameterSet;
アトラスパラメ-タセット数(numOfAtlasParameterSets):サンプルグル-プ記述内にシグナリングされるアトラスパラメ-タセットの数を示す。
アトラスパラメ-タセットはサンプルのこのグル-プに連関するアトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセットを含むsample_stream_vpcc_unit()インスタンスである。
アトラスパラメ-タサンプルグル-プ記述エントリ-は以下の通りである。
aligned(8) class VPCCAtlasParamSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vaps’){
unsigned int(3) lengthSizeMinusOne;
unsigned int(5) numOfAtlasParameterSets;
for(i=0;i<numOfAtlasParameterSets;i++){
sample_stream_nal_unit atlasParameterSetNALUnit;
長さサイズ(lengthSizeMinusOne):この値に1を加えると、このサンプルグル-プ記述内にシグナリングされる全てのサンプルストリ-ムNALユニット内のssnu_nal_unit_size要素のバイト内の精度を示す。
アトラスパラメ-タセットNALユニット(atlasParameterSetNALUnit):サンプルのこのグル-プに連関するアトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセットを含むsample_stream_nal_unit()インスタンスである。
V-PCC SEIサンプルグル-プ(V-PCC SEI sample group)
サンプルグル-ピングに対する’vsei’グル-ピングタイプはV-PCCトラック内サンプルのこのサンプルグル-プ内に伝達されるSEI情報への配置を示す。’vsei’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックスが存在する場合、同一のグル-ピングタイプを有するサンプルグル-プ記述ボックス(SampleGroupDescriptionBox)が存在し、サンプルが属するグル-プのIDを含む。
V-PCCトラックは’vsei’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックスを最大1つ含む。
aligned(8) class VPCCSEISampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vsei’){
unsigned int(8) numOfSEIs;
for(i=0;i<numOfSEISets;i++){
sample_stream_vpcc_unit sei;
SEIの数(numOfSEIs):サンプルグル-プ記述内にシグナリングされるV-PCC SEIの数を示す。
SEIはサンプルのこのグル-プに連関するSEI情報を含むsample_stream_vpcc_unit()インスタンスである。
V-PCC SEIサンプルグル-プ記述エントリ-は以下の通りである。
aligned(8) class VPCCSEISampleGroupDescriptionEntry () extends SampleGroupDescriptionEntry(’vsei’){
unsigned int(3) lengthSizeMinusOne;
unsigned int(5) numOfSEIs;
for(i=0;i<numOfSEIs;i++){
sample_stream_nal_unit seiNALUnit;
長さサイズ(lengthSizeMinusOne):この値に1を加えると、このサンプルグル-プ記述内にシグナリングされる全てのサンプルストリ-ムNALユニット内のssnu_nal_unit_size要素のバイト内精度を示す。
SEI NALユニット(seiNALUnit):サンプルのこのグル-プに連関するSEI情報を含むsample_stream_nal_unit()インスタンスである。
V-PCCバウンディングボックスサンプルグル-プ(V-PCC Bounding box sample group)
サンプルグル-ピングに対する’vpbb’グル-ピングタイプはV-PCCトラック内サンプルのこのサンプルグル-プ内に伝達される3Dバウンディングボックス情報への配置を示す。’vpbb’と同一のグル-ピングタイプ(grouping_type)を有するサンプルツ-グル-プボックス(SampleToGroupBox)が存在すると、同一のグル-ピングタイプを有するサンプルグル-プ記述ボックスが存在し、サンプルが属するこのグル-プのIDを含む。
V-PCCトラックは’vpbb’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックス(SampleToGroupBox)を最大1つ含む。
aligned(8) class VPCC3DBoundingBoxSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vpbb’){
3DBoundingBoxInfoStruct();
V-PCC 3D領域マッピングサンプルグル-プ(V-PCC 3D region mapping sample group)
サンプルグル-ピングに対するグル-ピングタイプ’vpsr’はV-PCCトラック内サンプルのこのサンプルグル-プ内に伝達される3D領域マッピング情報への配置を示す。’vpsr’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックス(SampleToGroupBox)が存在する場合、同一のグル-ピングタイプを有するサンプルグル-プ記述ボックス(SampleGroupDescriptionBox)が存在し、サンプルが属するこのグル-プのIDを含む。
V-PCCトラックは’vpsr’と同一のグル-ピングタイプを有するサンプルツ-グル-プボックス(SampleToGroupBox)を最大1つ含む。
aligned(8) class VPCC3DRegionMappingSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vpsr’){
V-PCC 3D領域マッピングボックス3D領域マッピング(VPCC3DRegionMappingBox 3D_region_mapping)
3D領域トラックグル-ピング(3D region track grouping)
’3drg’と同一のトラックグル-プタイプ(track_group_type)を有するトラックグル-プタイプボックス(TrackGroupTypeBox)は、このトラックが3D空間領域に対応するV-PCCコンポ-ネントトラック41010~41030のグル-プに属することを示す。
同一の3D空間領域に属するトラックは、トラックグル-プタイプ(track_group_type)’3drg’に対するトラックグル-プID(track_group_id)の同一の値を有する。1つの3D空間領域からのトラックのトラックグル-プID(track_group_id)は、他の3D空間領域からのトラックのトラックグル-プID(track_group_id)とは異なる。
aligned(8) class SpatialRegionGroupBox extends TrackGroupTypeBox(’3drg’) {
’3drg’と同一のトラックグル-プタイプ(track_group_type)を有するトラックグル-プボックス(TrackGroupTypeBox)内のトラックグル-プID(track_group_id)の同一の値を有するトラックは同一の3D空間領域に属する。
’3drg’と同一のトラックグル-プタイプ(track_group_type)内のトラックグル-プタイプボックス(TrackGroupTypeBox)内のトラックグル-プIDは3D空間領域の識別子として使用される。
実施例による3D領域トラックグル-ピング(3D region track grouping)に基づいて、実施例による方法/装置はポイントクラウドデ-タの3D領域に連関するデ-タを含むトラックグル-ピングを提供する。実施例による受信方法/装置は3D領域に連関するポイントクラウドデ-タを効率的に獲得してレンダリングする。
2D領域トラックグル-ピング(2D region track grouping)
’2drg’と同一のトラックグル-プタイプ(track_group_type)を有するトラックグル-プタイプボックス(TrackGroupTypeBox)は、このトラックが2D領域に対応するV-PCCコンポ-ネントトラックのグル-プに属することを示す。
同一の2D領域に属するトラックはトラックグル-プタイプ(track_group_type)’3drg’に対するトラックグル-プID(track_group_id)の同一の値を有する。1つの2D領域からのトラックのトラックグル-プID(track_group_id)は、他の2D領域からのトラックのトラックグル-プID(track_group_id)とは異なる。
aligned(8) class SpatialRegionGroupBox extends TrackGroupTypeBox(’3drg’) {
’2drg’と同一のトラックグル-プタイプを有するトラックグル-プタイプボックス内のトラックグル-プIDの同一の値を有するトラックは同一の2D領域に属する。’2drg’と同一のトラックグル-プタイプを有するトラックグル-プタイプボックス内のトラックグル-プIDは2D領域の識別子として使用される。
実施例による2D領域トラックグル-ピング(2D region track grouping)に基づいて、実施例による方法/装置は2D領域に連関するデ-タを含むトラックグル-ピングを提供する。実施例による受信方法/装置は2D領域に連関するデ-タを効率的に獲得して2D領域に連関するポイントクラウドデ-タをレンダリングする。
実施例によるポイントクラウドデ-タ受信方法/装置は、3D領域トラックグル-ピング(3D region track grouping)及び/又は2D領域トラックグル-ピング(2D region track grouping)に基づいて以下の動作を行う。例えば、実施例による受信方法/装置は、3D region track groupingを用いて3Dバウンディングボックスに接近し、2D region track groupingを用いてアトラスタイルに接近する。また、3Dバウンディングボックスを部分接近(Partial Access)するためには、3Dバウンディングボックスに関連するジオメトリ、特質、占有デ-タを復号する必要があり、かかるV3Cコンポ-ネントを復号するためには、結局、アトラスビットストリ-ムで関連情報を使用する。従って、3D region track grouping及び/又は2D region track groupingがいずれもPCC受信機で一緒に復号される。
V-PCCビットストリ-ムのマルチトラックコンテナ
マルチトラックISOBMFF V-PCCコンテナの一般的なレイアウトである。V-PCC基本ストリ-ム内のV-PCCユニットがそれらのタイプに基づいてコンテナファイル内の個々のトラックにマッピングされる。マルチトラックISOBMFF V-PCCコンテナ内に2つのタイプのトラックがあり得る:V-PCCトラック及びV-PCCコンポ-ネントトラックである。
V-PCCトラック(又はV3Cトラック)40030,41000はアトラスサブビットストリ-ム及びシ-ケンスパラメ-タセットを含むV-PCCビットストリ-ム内のボリュメトリックビジュアル情報を伝達するトラックである。
V-PCCコンポ-ネントトラックはV-PCCビットストリ-ムの占有マップ、ジオメトリ、特質サブ非ストリ-ムに対する2Dビデオ符号化されたデ-タを伝達するビデオスキ-ムトラックである。さらに、以下の条件がV-PCCコンポ-ネントトラックに対して満たされる。
a)サンプルエントリ-内、V-PCCシステム内のこのトラックに含まれたビデオストリ-ムの役割を記述する新しいボックスが挿入される。
b)V-PCCトラックにより表現される特定のポイントクラウド内のV-PCCコンポ-ネントトラックのメンバ-シップを生成するために、V-PCCトラックからV-PCCコンポ-ネントトラックにトラック参照が導入される。
c)このトラックが直接ム-ビ-の全体的なレイアップに寄与せず、V-PCCシステムに寄与することを示すためにトラック-ヘッダフラグが0に設定される。
実施例によるポイントクラウドデ-タを記述するアトラスビットストリ-ム、シグナリング情報(パラメ-タ、メタデ-タなどと称する)はボックスというデ-タ構造に含まれる。実施例による方法/装置はマルチトラックに基づいてアトラスビットストリ-ム、パラメ-タ情報をv-pccトラック(又はv3cトラック)に含ませて送信する。さらに実施例による方法/装置は実施例によるアトラスビットストリ-ム、パラメ-タ情報をv-pccトラック(又はv3cトラック)のサンプルエントリ-に含ませて送信する。
また実施例による方法/装置はシングルトラックに基づいて実施例によるアトラスビットストリ-ム及びパラメ-タ情報をV-PCC基本ストリ-ムトラックに含ませて送信する。さらに実施例による方法/装置はアトラスビットストリ-ム及びパラメ-タ情報をV-PCC基本ストリ-ムトラックのサンプルエントリ-或いはサンプルに含ませて送信する。
同一のV-PCCシ-ケンスが属するトラックは時間によって整列(align)される。異なるビデオ符号化されたV-PCCコンポ-ネントトラック及び間の同一のポイントクラウドフレ-ムに寄与するサンプル及びV-PCCトラックは同一のプレゼンテ-ション時間を有する。サンプルに対して使用されるV-PCCアトラスシ-ケンスパラメ-タセット及びアトラスフレ-ムパラメ-タセットは、ポイントクラウドフレ-ムのコンポジション時間と等しいか又は先立つ復号時間を有する。さらに同一のV-PCCシ-ケンスに属する全てのトラックは同一の含蓄又は明瞭な編集リストを有する。
ノ-ト:コンポ-ネントトラック内の基本ストリ-ム間の同期化はISOBMFFトラックタイミング構造(stts、ctts、cslg)により処理されるか、又はム-ビ-フラグメント内の同等なメカニズムにより処理される。
このようなレイアウトに基づいて、V-PCC ISOBMFFコンテナは以下を含む(図24参照):
-V-PCCパラメ-タセットV-PCCユニット(unit type VPCC_VPS)及びアトラスV-PCCユニット(unit type VPCC_AD)のペイロ-ドを伝達するサンプル及びサンプルエントリ-内のV-PCCパラメ-タセットを含むV-PCCトラック。またこのトラックはunit types VPCC_OVD、VPCC_GVD及びVPCC_AVDのようなビデオ圧縮されたV-PCCユニットのペイロ-ドを伝達する他のトラックに対するトラック参照を含む。
-タイプVPCC_OVDのV-PCCユニットのペイロ-ドである占有マップデ-タのためのビデオコ-ディングされた基本ストリ-ムのアクセスユニットを含むサンプルがあるビデオスキ-ムトラック。
-タイプVPCC_GVDのV-PCCユニットのペイロ-ドであるジオメトリデ-タのビデオコ-ディングされた基本ストリ-ムのアクセスユニットを含むサンプルがある1つ又は1つ以上のビデオスキ-ムトラック。
-タイプVPCC_AVDのV-PCCユニットのペイロ-ドである特質デ-タのビデオコ-ディングされた基本ストリ-ムのアクセスユニットを含むサンプルがあるゼロ又は1つ以上のビデオスキ-ムトラック。
V-PCCトラック(V-PCC tracks):
V-PCCトラックサンプルエントリ-(V-PCC Track Sample Entry):
サンプルエントリ-タイプ(Sample Entry Type):’vpc1’、’vpcg’
コンテナ(Container):サンプル記述ボックス(SampleDescriptionBox)
義務の有無(Mandatory):’vpc1’又は’vpcg’サンプルエントリ-は義務である。
量(Quantity):1つ又はそれ以上のサンプルエントリ-が存在する。
V-PCCトラックはVolumetricVisualSampleEntryを拡張するVPCCSampleEntryを使用する。サンプルエントリ-タイプは’vpc1’又は’vpcg’である。
V-PCCサンプルエントリ-はV-PCC構成ボックス(VPCCConfigurationBox)を含む。このボックスはデコ-ダ構成レコ-ド(VPCCDecoderConfigurationRecord)を含む。
’vpc1’サンプルエントリ-において、全てのアトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセット又はV-PCC SEIはセットアップユニットアレイ(setupUnit array)内にある。
’vpcg’サンプルエントリ-において、アトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセット、V-PCC SEIがこのアレイ内又はストリ-ム内にある。
任意のビットレ-トボックス(BitRateBox)はV-PCCトラックのビットレ-ト情報をシグナリングするために、V-PCCボリュメトリックサンプルエントリ-内に存在する。
ボリュメトリックシ-ケンス(Volumetric Sequences):
class VPCCConfigurationBox extends box(’vpcc’){
VPCCDecoderConfigurationRecord() VPCCConfig;
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry(’vpc1’){
VPCCConfigurationBox config;
VPCCUnitHeaderBox unit_header;
VPCCBoundingInformationBox();
実施例によるポイントクラウドデ-タ送信方法は、ポイントクラウドデ-タを符号化する段階;ポイントクラウドデ-タをカプセル化する段階;及びポイントクラウドデ-タを送信する段階;を含む。
実施例によるポイントクラウドデ-タをカプセル化する段階は、ポイントクラウドデ-タを含む1つ又は1つ以上のトラックを生成する段階を含む。
実施例による1つ又は1つ以上のトラックは、ポイントクラウドデ-タ、例えば、特質デ-タ、占有デ-タ、ジオメトリデ-タ及び/又はそれらに関するパラメ-タ(メタデ-タ又はシグナリング情報)を含む。具体的には、トラックはサンプルを記述するサンプルエントリ-及び/又はサンプルを含む。複数のトラックは第1トラック、第2トラックなどとも称される。
実施例によるポイントクラウドデ-タ送信方法は、1つ又は1つ以上のトラックをグル-ピングする。実施例によるグル-ピングされたトラックはポイントクラウドデ-タを示す2D領域に対応する。実施例による2D領域(2D region)とは、アトラスフレ-ムのアトラスタイルである。
実施例によるポイントクラウドデ-タ受信方法は、グル-ピングされたトラックを受信する。グル-ピングされたトラックをパ-スすると、連関する2D領域に関する情報を得られる。従って、グル-ピングされた2D領域情報に基づいて実施例によるポイントクラウドデ-タ受信方法/装置は、連関するジオメトリ、特質、占有デ-タを空間部分接近によりパ-スしてユ-ザに効率的に提供することができる。
実施例による2D領域トラックグル-ピング(2D region track grouping)に基づいて、実施例による1つ又は1つ以上のトラックはグル-ピングされたトラックを示すトラックグル-プタイプボックスを含む。またグル-ピングされたトラックは同一のトラックグル-プIDを有する。
さらに実施例による2D領域トラックグル-ピング関連して、実施例によるトラックグル-ピング関連情報はアトラスID(atlas_id)、タイル数(num_tiles)、タイル数ごとのタイルID(tile_id)を含む。
アトラスID(atlas_id):トラックグル-プにより表現されるアトラスタイルが属するアトラスに対する識別子である。
タイル数(num_tiles):トラックグル-プに連関するV3Cタイルの数である。
タイルID(tile_id):V3Cタイルに対する識別子である。この値はアトラスタイルグル-プヘッダアドレス(atgh_address)と同一である。
実施例によるポイントクラウドデ-タ受信装置は、ポイントクラウドデ-タを受信する受信機;ポイントクラウドデ-タをデカプセル化するデカプセル化部;及びポイントクラウドデ-タを復号するデコ-ダ;を含む。
実施例によるデカプセル化部はポイントクラウドデ-タを含む1つ又は1つ以上のトラックをパ-スする。
図42は実施例によるV-PCCサンプルエントリ-を示す。
図42は図40のV-PCCトラック(又はV3Cトラック)40030及び図41のV3Cトラック41000に含まれるサンプルエントリ-の構造図である。
図42はこの明細書で説明する実施例によるV-PCCサンプルエントリ-構造の一例を示す。サンプルエントリ-はV-PCCパラメ-タセット(VPS)42000を含み、任意にアトラスシ-ケンスパラメ-タセット(ASPS)42010、アトラスフレ-ムパラメ-タセット(AFPS)42020及び/又はSEI42030を含む。
実施例による方法/装置は、ポイントクラウドデ-タをファイルのトラックに格納する。さらにトラックのサンプル又はサンプルエントリ-にポイントクラウドデ-タに関するパラメ-タ(又はシグナリング情報)などを格納して送受信する。
図42のV-PCCビットストリ-ムは図25のV-PCCビットストリ-ムを生成してパ-ス(parse)する実施例により生成されてパ-スされる。
V-PCCビットストリ-ムはサンプルストリ-ムV-PCCヘッダ、サンプルストリ-ムヘッダ、V-PCCユニットヘッダボックス、サンプルストリ-ムV-PCCユニットを含む。
V-PCCビットストリ-ムは図25及び図26などに説明したV-PCCビットストリ-ムに対応するか又は追加拡張された例示である。
V-PCCトラックサンプルフォ-マット(V-PCC track sample format)
V-PCCトラック内の各サンプルはシングルポイントクラウドフレ-ムに対応する。様々なコンポ-ネントトラック内のこのフレ-ムに対応するサンプルはV-PCCトラックサンプルのように同一のコンポジションタイムを有する。各々のV-PCCサンプル1つ又は1つ以上のアトラスNALユニットを含む。
aligned(8) class VPCCSample{
unsigned int PointCloudPictureLength=sample_size;//SampleSizeBoxからのサンプルサイズを意味する。
for(i=0;i<PointCloudPictureLength;){
sample_stream_nal_unit nalUnit
i+=(VPCCDecoderConfigurationRecord.lengthSizeMinusOne+1)+nalUnit.ssnu_nal_unit_size;
aligned(8) class VPCCSample
unsigned int PictureLength=sample_size;//SampleSizeBoxからのサンプルのサイズを意味する。
for(i=0;i<PictureLength;)//ピクチャ-の終わりまでシグナリングされる。
unsigned int((VPCCDecoderConfigurationRecord.LengthSizeMinusOne+1)*8)
NALUnitLength;
bit(NALUnitLength*8) NALUnit;
i+=(VPCCDecoderConfigurationRecord.LengthSizeMinusOne+1)+NALUnitLength;
V-PCCデコ-ダ構成レコ-ド(VPCCDecoderConfigurationRecord):マッチングされるV-PCCサンプルエントリ-内のデコ-ダ構成レコ-ドを示す。
NALユニット(nalUnit):サンプルストリ-ムNALユニットフォ-マット内のシングルアトラスNALユニットを含む。
NALユニット長さ(NALUnitLength):続くNALユニットのバイト内サイズを示す。
NALユニット(NALUnit):シングルアトラスNALユニットを含む。
V-PCCトラック同期サンプル(V-PCC track sync sample):
V-PCCトラック内の同期サンプル(任意アクセスポイント)はV-PCC IRAPコ-ディングされたパッチデ-タアクセスユニットである。アトラスパラメ-タセットは必要な場合、任意アクセスのための同期サンプルで繰り返される。
ビデオ-符号化されたV-PCCコンポ-ネントトラック(Video-encoded V-PCC component tracks):
MPEG特定のコ-デックを使用してコ-ディングされたビデオトラックの伝達はISO BMFFの規定に従う。例えば、AVC及びHEVCコ-ディングされたビデオの伝達はISO/IEC14496-15を参照できる。ISOBMFFは他のコ-デックタイプが必要な場合、拡張メカニズムをさらに提供することができる。
プレ-ヤ-側においてポイントクラウドを再構成することなく、特質、ジオメトリ又は占有マップトラックから復号されたフレ-ムをディスプレイすることは意味があるとは認められないので、限られたビデオスキ-ムタイプはかかるビデオ-コ-ディングされたトラックに対して定義されることができる。
限られたビデオスキ-ム(Restricted video scheme):
V-PCCコンポ-ネントビデオトラックは限られたビデオとしてファイル内に表現される。また限られたビデオサンプルエントリ-のRestrictedSchemeInfoBoxのSchemeTypeBoxのscheme_typeフィ-ルド内の’pccv’値により識別される。
特質、ジオメトリ及び占有マップV-PCCコンポ-ネントを符号化するために使用されるビデオコ-デック上の制限(restriction)はない。さらに、かかるコンポ-ネントは異なるビデオコ-デックを使用して符号化される。
スキ-ム情報(Scheme information):
SchemeInformationBoxが存在し、VPCCUnitHeaderBoxを含む。
V-PCCコンポ-ネントトラックの参照(Referencing V-PCC component tracks):
V-PCCトラックをコンポ-ネントビデオトラックにリンクするために、3つのTrackReferenceTypeBoxesが各コンポ-ネントのためにV-PCCトラックのTrackBox内TrackReferenceBoxに追加される。TrackReferenceTypeBoxはV-PCCトラック参照に関するビデオトラックを指定するtrack_IDのアレイを含む。TrackReferenceTypeBoxのreference_typeは占有マップ、ジオメトリ、特質又は占有マップなどのコンポ-ネントのタイプを識別する。トラック参照タイプは以下の通りである:
’pcco’:参照されたトラックがビデオ-コ-ディングされた占有マップV-PCCコンポ-ネントを含む
’pccg’:参照されたトラックがビデオ-コ-ディングされたジオメトリV-PCCコンポ-ネントを含む
’pcca’:参照されたトラックがビデオ-コ-ディングされた特質V-PCCコンポ-ネントを含む
参照された限られたビデオトラックにより伝達され、トラックのRestrictedSchemeInfoBox内でシグナリングされるV-PCCコンポ-ネントのタイプはV-PCCトラックからトラック参照の参照タイプにマッチングされる。
図43は実施例によるトラック代替及びグル-ピングを示す。
図43はISOBMFFファイル構造のトラック間代替又はグル-ピングが適用される例示である。
トラック代替及びトラックグル-ピング(Track alternatives and track grouping):
同一のalternate_group値を有するV-PCCコンポ-ネントトラックは同一のV-PCCコンポ-ネントの異なる符号化されたバ-ジョンである。ボリュメトリックビジュアルシ-ンは代替されてコ-ディングされる。この場合、互いに代替可能な全てのV-PCCトラックはTrackHeaderBox内の同一のalternate_group値を有する。
同様にV-PCCコンポ-ネントの1つを示す2Dビデオトラックが代替(alternatives)に符号化される場合、かかる代替及び代替グル-プから代替の1つに対するトラック参照があり得る。
図43にはファイル構造に基づくV-PCCコンテンツを構成するV-PCCコンポ-ネントトラックが示されている。同一のアトラスグル-プIDを有する場合には、IDが10である場合、11である場合、また12である場合がある。特質ビデオである第2トラック及び第5トラックは互いに代替使用でき、第3トラック及び第6トラックは互いにジオメトリビデオとして代替でき、第4トラック及び第7トラックは占有ビデオとして代替できる。
V-PCCビットストリ-ムのシングルトラックコンテナ(Single track container of V-PCC Bitstream):
V-PCCデ-タのシングル-トラックカプセル化は、シングル-トラック宣言により表現されるV-PCC符号化された基本ビットストリ-ムを求める(a single-track encapsulation of V-PCC data requires the V-PCC encoded elementary bitstream to be represented by a single-track declaration)。
PCCデ-タのシングルトラックカプセル化は、V-PCC符号化されたビットストリ-ムのシンプルISOBMFFのカプセル化の場合に利用される。かかるビットストリ-ムは追加処理なしにシングルトラックにすぐ格納される。V-PCCユニットヘッダデ-タ構造はビットストリ-ム内にある。V-PCCデ-タのためのシングルトラックコンテナは追加処理(例えば、multi-track file generation, transcoding, DASH segmentationなど)のためのメディアワ-クフロ-に提供される。
シングル-トラックカプセル化されたV-PCCデ-タを含むISOBMFFファイルは、FileTypeBoxのcompatible_brands[]リスト内の’pcst’を含む。
V-PCC基本ストリ-ムトラック(V-PCC elementary stream track):
Sample Entry Type:’vpe1’、’vpeg’
Container:SampleDescriptionBox
Mandatory:a ’vpe1’ or ’vpeg’ sample entry is mandatory
Quantity:One or more sample entries may be present
V-PCC基本ストリ-ムトラックはサンプルエントリ-タイプ’vpe1’又は’vpeg’を有するVolumetricVisualSampleEntryを使用する。
V-PCC基本ストリ-ムサンプルエントリ-はVPCCConfigurationBoxを含む。
’vpe1’サンプルエントリ-において、全てのアトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセット、SEIがsetupUnitアレイ内にある。’vpeg’サンプルエントリ-において、アトラスシ-ケンスパラメ-タセット、アトラスフレ-ムパラメ-タセット、SEIがこのアレイ又はストリ-ム内に存在する。
ボリュメトリックシ-ケンス(Volumetric Sequences):
class VPCCConfigurationBox extends box(’vpcc’){
VPCCDecoderConfigurationRecord() VPCCConfig;
aligned(8) class VPCCElementaryStreamSampleEntry() extends VolumetricVisualSampleEntry(’vpe1’){
VPCCConfigurationBox config;
VPCCBoundingInformationBox 3D_bb;
V-PCC基本ストリ-ムサンプルフォ-マット(V-PCC elementary stream sample format):
V-PCC基本ストリ-ムサンプルは同一のプレゼンテ-ション時間に属する1つ又は1つ以上のV-PCCユニットで構成される。各々のサンプルはユニ-クなプレゼンテ-ション時間、サイズ、期間を有する。サンプルは例えば、同期サンプルであるか、又は他のV-PCC基本ストリ-ムサンプル上の復号依存的である。
V-PCC基本ストリ-ム同期サンプル(V-PCC elementary stream sync sample):
V-PCC基本ストリ-ム同期サンプルは以下の条件を満たす:
-独立してデコ-ド可能である。
-復号順に同期サンプル後のサンプルは同期サンプルより前のサンプルに対する復号依存を有さない。
-復号順に同期サンプル後の全てのサンプルは成功的にデコ-ド可能である。
V-PCC基本ストリ-ムサブ-サンプル(V-PCC elementary stream sub-sample):
V-PCC基本ストリ-ムサブ-サンプルはV-PCC基本ストリ-ムサンプル内に含まれるV-PCCユニットである。
V-PCC基本ストリ-ムトラックは、V-PCC基本ストリ-ムサブ-サンプルを並べるMovieFragmentBoxesのTrackFragmentBox内又は各SampleTableBox内のSubSampleInformationBoxを含む。
サブ-サンプルを表現するV-PCCユニットの32-ビットユニットヘッダは、SubSampleInformationBox内のサブ-サンプルエントリ-の32-ビットcodec_specific_parametersフィ-ルドにコピ-される。各サブ-サンプルのV-PCCユニットタイプは、SubSampleInformationBox内のサブ-サンプルエントリ-のcodec_specific_parametersフィ-ルドをパ-スすることにより識別される。
以下、説明する情報は以下のように伝達される。例えば、ポイントクラウドデ-タが静的(Static)な場合、マルチトラックのV3Cトラックのサンプルエントリ-又はシングルトラックの基本トラックのサンプルエントリ-に含まれて送信される。またポイントクラウドデ-タが動的な場合は、該当情報が別の時間指定メタデ-タ(timed metadata)トラックに含まれて送信される。
ポイントクラウドデ-タの部分接近(Partial Access of point Cloud Data)
3Dバウンディングボックス情報構造(3D bounding box information structure)
3Dバウンディングボックス構造(3DBoundingBoxStruct)は、3DバウンディングボックスのX、Y、Zオフセット及びポイントクラウドデ-タの3Dバウンディングボックスの幅、高さ、深さを含むポイントクラウドデ-タの3Dバウンディングボックス情報を提供する。
aligned(8) class 3DBoundingBoxInfoStruct(){
unsigned int(16) bb_x;
unsigned int(16) bb_y;
unsigned int(16) bb_z;
unsigned int(16) bb_delta_x;
unsigned int(16) bb_delta_y;
unsigned int(16) bb_delta_z;
バウンディングボックスX、Y、Z(bb_x、bb_y及びbb_z)はそれぞれ座標系内のポイントクラウドデ-タの3Dバウンディングボックスの原点位置のX、Y、Z座標値を示す。
バウンディングボックスデルタX、Y、Z(bb_delta_x、bb_delta_y及びbb_delta_z):原点(origin)に対するX、Y、Z軸に沿って座標系内のポイントクラウドデ-タの3Dバウンディングボックスの拡張を示す。
3D領域情報構造(3D region information structure)
3DRegionInfoStructはポイントクラウドデ-タ一部領域に対する3D領域情報を含む。
aligned(8) class 3DRegionInfoStruct(3D_dimension_included_flag){
unsigned int(16) 3d_region_id;
unsigned int(16) 3d_anchor_x;
unsigned int(16) 3d_anchor_y;
unsigned int(16) 3d_anchor_z;
if(3D_dimension_included_flag){
unsigned int(8)3d_region_type;
if(3D_region_type==’1’){//cuboid
unsigned int(16) 3d_region_delta_x;
unsigned int(16) 3d_region_delta_y;
unsigned int(16) 3d_region_delta_z;
3D領域ID(3d_region_id)は3D領域の識別子を示す。
3D領域アンカ-X、Y、Z(3d_region_anchor_x、3d_region_anchor_y、3d_region_anchor_z)はそれぞれ、3D領域のアンカ-ポイント(anchor point)のx、y、z座標値を示す。例えば、3D領域が立方体タイプである場合、アンカ-ポイントは立方体の原点(origin)になり、3d_region_anchor_x、3d_region_anchor_y、3d_region_anchor_zは3D領域の立方体の原点位置(origin position)のx、y、z座標値を示す。
3D領域タイプ(3d_region_type)は3D領域のタイプを示し、値として0x01-cuboidなどを有する。
3Dディメンション含みフラグ(3d_dimension_included_flag)は3D領域詳細情報、例えば、3d_region_type、3d_region_delta_x、3d_region_delta_y、3d_region_delta_yを含むか否かを示すフラグである。
3D領域デルタX、Y、Z(3d_region_delta_x、3d_region_delta_y、3d_region_delta_z)は3D領域のタイプが立方体である場合、x、y、z軸の差の値を示す。
2D領域情報構造(2D region information structure)
aligned(8) class 2DRegionInfoStruct(2d_dimension_included_flag){
unsigned int(8) 2d_region_type;
unsigned int(16) 2d_region_id;
if(2d_dimension_included_flag){
unsigned int(16) 2d_region_top;
unsigned int(16) 2d_region_left;
unsigned int(16) 2d_region_width;
unsigned int(16) 2d_region_height;
2D領域ID(2d_region_id)は2D領域の識別子を示す。実施例によってビデオタイル(tile)識別子或いはタイルグル-プ(tile group)識別子又はアトラスフレ-ム内のアトラスタイル(tile)識別子或いはタイルグル-プ(tile group)識別子と一致する。
2D領域タイプ(2d_region_type)は2D領域を示すタイプを示す。これは領域の形態、四角形であるかどうかなどを示し、或いは2D領域がビデオタイル或いはタイルグル-プを示すか、又はアトラスフレ-ム内のアトラスタイル或いはタイルグル-プ識別子を示すかなどを表す。
2D領域上部(2d_region_top)、2D領域左部(2d_region_left)は2D領域の左上部(top-left)位置のフレ-ム内の垂直座標(vertical coordinate)、水平座標(horizontal coordinate)値をそれぞれ含む。
2Dディメンション含みフラグ(2d_dimension_included_flag)は2D領域の幅(width)、高さ(height)値を含むか否かを示すフラグである。
2D領域幅(2d_region_width)、2D領域高さ(2d_region_height)は2D領域のフレ-ム内における水平範囲(width)、垂直範囲(height)の値をそれぞれ含む。
図44は実施例による3D領域マッピング情報構造を示す。
図45は実施例による3D領域マッピング情報構造を示す。
図44及び図45の情報は以下のように伝達される。例えば、ポイントクラウドデ-タが静的(Static)な場合、マルチトラックのV3Cトラックのサンプルエントリ-又はシングルトラックの基本トラックのサンプルエントリ-に含まれて送信される。またポイントクラウドデ-タが動的な場合は、該当情報が別の時間指定メタデ-タ(timed metadata)トラックに含まれて送信される。
V-PCC 3D領域マッピング情報構造(V-PCC 3D region mapping information Structure)
V-PCC 3D領域マッピング情報構造(VPCC3DRegionMappingInfoStruct)は、ポイントクラウドデ-タの3D領域とビデオ或いはアトラスフレ-ム内の関連するデ-タが含まれた1つ以上のジオメトリ(geometry)、占有(occupancy)、特質(attribute)ビデオ或いはアトラスフレ-ムの2D領域情報を含む。また3D領域デ-タを含むトラックグル-プ(同一の3D領域のデ-タを含むトラックの集合を称する)の識別子を含む。
aligned(8) class VPCC3DRegionMappingInfoStruct(){
unsigned int16) num_3D_regions;
for (i=0;i<num_3D_regions;i++) {
3DRegionInfoStruct1);
unsigned int(8) num_2d_regions[i];
for (j=0;j<num_2d_regions[i];j++){
2DRegionInfoStruct1);
unsigned int(8) num_track_groups[i];
for (k=0 ;k<num_track_groups[i];k++)
unsigned int(32)track_group_id;
3DRegionInfoStruct()はポイントクラウドデ-タの一部或いは全体の3次元空間において3D領域情報を示す。
2D領域数(num_2d_regions[i])は3D領域内のポイントクラウドデ-タに関連するデ-タが含まれた1つ以上のビデオ或いはアトラスフレ-ムの2D領域の数を示す。
2DRegionInfoStructは3D領域内のポイントクラウドデ-タに関連するデ-タが含まれたジオメトリ(geometry)、占有(occupancy)、特質(attribute)ビデオ或いはアトラスフレ-ムの2D領域情報を示す。
トラックグル-プ数(num_track_groups):3D空間領域に連関するトラックグル-プの数を示す。
トラックグル-プID(track_group_id):関連する3D空間領域に対するV-PCCコンポ-ネントを伝達するトラックに対するトラックグル-プを識別する。
図44の3D領域マッピング情報は図45の3D領域マッピングボックスに含まれる。
V-PCC 3D領域マッピング情報ボックス(V-PCC 3D region mapping information box)
VPCC 3D領域マッピングボックス(VPCC3DRegionMappingBox)は以下の情報を含む:ポイントクラウドデ-タの一部或いは全体の3次元空間において3D領域情報、該当3D領域デ-タを含むトラックグル-プ(同一の3D領域のデ-タを含むトラックの集合を称する)の識別子、該当3d領域内のポイントクラウドデ-タに関連するデ-タが含まれた1つ以上のビデオ或いはアトラスフレ-ムの2D領域情報、各2D領域に連関するビデオ或いはアトラスタイル或いはタイルグル-プに関する情報を含む。2D領域デ-タを含むトラックグル-プ(同一の2D領域のデ-タを含むトラックの集合を称する)の識別子を含む。
aligned(8) class VPCC3DRegionMappingBox extends FullBox(’vpsr’,0,0) {
VPCC3DRegionMappingInfoStruct();
unsigned int(8) num_2d_regions;
for (j=0;j<num_2d_regions;j++) {
unsigned int(8) 2d_region_id;
unsigned int(8) num_tiles[j];
for (k=0 ;k <num_tiles[j];k++)
unsigned int(32)tile_id[k];
unsigned int(8) num_tile_groups[j];
for (k=0 ;k<num_groups[j];k++)
unsigned int(32)tile_group_id[m];
unsigned int(8) num_track_groups[j];
for (k=0 ;k<num_track_groups[j];k++)
unsigned int(32)track_group_id;
2D領域ID(2d_region_id):ジオメトリ、占有、特質ビデオ或いはアトラスフレ-ムの2D領域の識別子である。
タイルの数(num_tile):ジオメトリ、占有、特質ビデオ或いはアトラスフレ-ムの2D領域に連関するビデオフレ-ムのタイル或いはアトラスフレ-ムのタイル数である。
タイルID(tile_id[k]):ジオメトリ、占有、特質ビデオ或いはアトラスフレ-ムの2D領域に連関するビデオフレ-ムのタイル或いはアトラスフレ-ムのタイル識別子である。
タイルグル-プ数(num_tile_groups):ジオメトリ、占有、特質ビデオ或いはアトラスフレ-ムの2D領域に連関するビデオフレ-ムのタイルグル-プ或いはアトラスフレ-ムのタイルグル-プの数である。
タイルグル-プID(tile_group_id):ジオメトリ、占有、特質ビデオ或いはアトラスフレ-ムの2D領域に連関するビデオフレ-ムのタイルグル-プ或いはアトラスフレ-ムのタイルグル-プ識別子である。
トラックグル-プ数(num_track_groups):2D領域に連関するトラックグル-プの数を示す。
トラックグル-プID(track_group_id):関連する2D領域に対するV-PCCコンポ-ネントを伝達するトラックのトラックグル-プを識別する情報である。
静的V-PCC 3D領域マッピング情報(Static V-PCC 3D region mapping information)
ポイントクラウドデ-タの3次元領域とビデオ或いはアトラスフレ-ム内に連関するデ-タが含まれた1つ以上のビデオ或いはアトラスフレ-ムの2D領域情報、各2D領域に連関するビデオ或いはアトラスタイル或いはタイルグル-プに関する情報がポイントクラウドシ-ケンス内に変化しない場合、V-PCCトラック或いはV-PCC基本ストリ-ムトラックのサンプルエントリ-にVPCC3DRegionMappingBoxが含まれる。
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry (’vpc1’){
VPCCConfigurationBox config;
VPCCUnitHeaderBox unit_header;
VPCC3DRegionMappingBox 3D_region_mapping;
VPCC3DRegionMappingBoxにおいてシグナリングされるアトラスフレ-ムの2D領域情報は、V-PCCトラック内のサンプルに含まれているアトラスフレ-ムの2D領域情報である。
VPCC3DRegionMappingBoxにおいてシグナリングされるビデオ(ジオメトリ、占有、特質)フレ-ムの2D領域情報は、V-PCCトラックのトラック参照により参照しているビデオトラック(ジオメトリ、占有、特質)内のサンプルに含まれているビデオフレ-ムの2D領域情報である。
aligned(8) class VPCCElementaryStreamSampleEntry() extends VolumetricVisualSampleEntry(’vpe1’){
VPCCConfigurationBox config;
VPCC3DRegionMappingBox 3D_region_mapping;
VPCC3DRegionMappingBoxにおいてシグナリングされるビデオ(ジオメトリ、占有、特質)フレ-ム或いはアトラスフレ-ムの2D領域情報は、V-PCC基本ストリ-ムトラック内のサブサンプルに含まれているビデオ或いはアトラスフレ-ムの2D領域情報である。
動的V-PCC 3D領域マッピング情報(dynamnic V-PCC 3D region mapping information)
V-PCCトラックはサンプルエントリ-タイプ’dysr’を有する関連するタイルメタデ-タトラックを有する場合、ポイントクラウドストリ-ムに対して定義された3D空間領域がV-PCCトラックにより伝達され、動的領域として考慮される。即ち、空間領域情報は時間に応じて動的に変化する。
関連する時間指定メタデ-タトラックはアトラスストリ-ムを伝達するV-PCCトラックに対して参照する’cdsc’トラックを含む。
VPCC3DRegionMappingBoxにおいてシグナリングされるアトラスフレ-ムの2D領域情報は、V-PCCトラック内のサンプルに含まれているアトラスフレ-ムの2D領域情報であり得る。
VPCC3DRegionMappingBoxにおいてシグナリングされるビデオ(ジオメトリ、占有、特質)フレ-ムの2D領域情報はV-PCCトラックのトラック参照により参照しているビデオトラック(ジオメトリ、占有、特質)内のサンプルに含まれているビデオフレ-ムの2D領域情報である。
V-PCC基本ストリ-ムトラックはサンプルエントリ-タイプ’dysr’を有する連関する時間指定メタデ-タトラックを含むと、ポイントクラウドストリ-ムに対して定義された3D空間領域がV-PCC基本トラックにより伝達され、動的領域として考慮される。即ち、空間領域情報は時間によって動的に変化する。
関連する時間指定メタデ-タトラックはアトラスストリ-ムを伝達するV-PCC基本トラックに対して参照する’cdsc’トラックを含む。
VPCC3DRegionMappingBoxにおいてシグナリングされるビデオ(ジオメトリ、占有、特質)フレ-ム或いはアトラスフレ-ムの2D領域情報はV-PCC基本ストリ-ムトラック内のサブサンプルに含まれているビデオ或いはアトラスフレ-ムの2D領域情報である。
aligned(8) class Dynamic3DSpatialRegionSampleEntry extends MetaDataSampleEntry(’dysr’){
VPCC3DRegionMappingBox init_3d_region_mapping;
初期3D領域マッピング(init_3d_region_mapping)は時間によって3D領域に関するマッチング情報が変化する場合、初期3D領域に関するマッチング情報を含む。
このサンプルエントリ-タイプ’dysr’のサンプルシンタックスは以下のように記載される。
aligned(8) DynamicSpatialRegionSample(){
VPCC3DRegionMappingBox 3D_region_mapping;
ポイントクラウドボックス(point cloud bounding box)
V-PCCバウンディング情報ボックス(VPCCBoundingInformationBox)は、V-PCCトラック又はV-PCC基本ストリ-ムトラックのサンプルエントリ-内に存在する。V-PCCトラック又はV-PCC基本ストリ-ムトラックのサンプルエントリ-内に存在する場合、VPCCBoundingInformationBoxが関連する又は伝達されるポイントクラウドデ-タの全般的なバウンディングボックス情報を提供する。
aligned(8) class VPCCBoundingInformationBox extends FullBox(’vpbb’,0,0){
3DBoundingBoxInfoStruct();
V-PCCトラックが’dybb’サンプルエントリ-タイプを有する関連する時間指定メタデ-タトラックを有すると、時間指定メタデ-タトラックはポイントクラウドデ-タの動的に変化する3Dバウンディングボックス情報を提供する。
関連する時間指定メタデ-タトラックはアトラスストリ-ムを伝達するV-PCCトラックを参照する’cdsc’トラックを含む。
aligned(8) class Dynamic3DBoundingBoxSampleEntry
extends MetaDataSampleEntry(’dybb’){
VPCCBoundingInformationBox all_bb;
全バウンディングボックス(all_bb):全般的な3Dバウンディングボックス情報を提供する。原点位置のX、Y、Z座標を含み、座標系上の原点(origin)に対するX、Y、Z軸に沿ってポイントクラウドデ-タの全般的な3Dバウンディングボックスの拡張を提供する。このトラック内サンプルにより伝達される3Dバウンディングボックスはこの全般的な3Dバウンディングボックスの空間パ-トである。
このサンプルエントリ-タイプ’dybb’のサンプルシンタックスは以下のように記載される。
aligned(8) Dynamic3DBoundingBoxSample(){
VPCCBoundingInformationBox 3DBB;
3Dバウンディングボックス(3Dbb):このサンプル内にシグナリングされる3Dバウンディングボックス情報を提供する。
3DSpatialRegionStructの意味(semantics)に関連して、ディメンション含みフラグ(dimensions_included_flag)が0であると、ディメンションがシグナリングされず、同一の領域に対して以前にシグナリングされることを示す。即ち、同一の3d_region_idを有する3DSpatialRegionStructの以前インスタンスがディメンションをシグナリングする。
実施例によるポイントクラウドデ-タ送信方法は、ポイントクラウドデ-タに関する3D領域情報(PCC3DRegionMappingInfoStruct)を含む1つ又は1つ以上のトラックを生成する。
実施例による3D領域情報は、3D領域に連関するトラックグル-プ数を示す情報(num_track_groups)及び3D領域に連関するポイントクラウドデ-タを伝達するトラックに対するトラックグル-プを識別する情報(track_group_id)を含む。
従って、実施例によるポイントクラウドデ-タ送信方法/装置は、3D領域に連関するデ-タトラックグル-プを生成して送信する。これにより、実施例によるポイントクラウドデ-タ受信方法/装置は、実施例による3D領域に連関するデ-タトラックグル-プに基づいて、3D領域の効率的な空間接近が可能である。
実施例によるポイントクラウドデ-タ送信方法は、3D領域マッピング情報(VPCC3DRegionMappingBox extends FullBox)を含む1つ又は1つ以上のトラックを生成する。
実施例による3D領域マッピング情報は、ポイントクラウドデ-タに対する2D領域に連関するトラックグル-プの数を示す情報(num_track_groups)、及び2D領域に連関するポイントクラウドデ-タを伝達するトラックに対するトラックグル-プを識別する情報(track_group_id)を含む。
図46は実施例によるノンタイムV-PCCデ-タをカプセル化するための構造を示す。
実施例によるポイントクラウドデ-タ送受信方法/装置及び送受信装置に含まれたシステムは、非-時間指定V-PCCデ-タ(Non-timed V-PCC data)を図46のようにカプセル化して送受信する。
実施例によるポイントクラウドデ-タがイメ-ジである場合、図1のポイントクラウドビデオエンコ-ダ10002(又は図4のエンコ-ダ、図15のエンコ-ダ、図18の送信装置、図20のプロセッサ20001、イメ-ジエンコ-ダ20003、図21のプロセッサ、及びイメ-ジエンコ-ダ21008)がイメ-ジを符号化し、ファイル/セグメントカプセル化部10003(又は図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009)が図46のようなコンテナ(アイテム)にイメ-ジ及びイメ-ジ関連情報を格納し、送信機10004がコンテナを送信する。
同様に図1の受信機が図46のコンテナを受信し、ファイル/セグメントデカプセル化部10007(又は図20のファイル/セグメントデカプセル化部20005、ファイル/セグメントデカプセル化部22000)がコンテナをパ-スする。図1のポイントクラウドビデオデコ-ダ10008(又は図16のデコ-ダ、図17のデコ-ダ、図19の受信装置又はイメ-ジデコ-ダ20006、イメ-ジデコ-ダ22002)がアイテムに含まれたイメ-ジを復号してユ-ザに提供する。
実施例によるイメ-ジは停止映像である。実施例による方法/装置はイメ-ジに対するポイントクラウドデ-タを送受信する。実施例による方法/装置は図46のようなデ-タコンテナ構造に基づいてイメ-ジをアイテムに格納して送受信する。またイメ-ジに関する属性情報などはイメ-ジプロパティなどに格納できる。
ノンタイムV-PCCデ-タはイメ-ジアイテムとしてファイル内に格納される。2つの新しいアイテムタイプ(V-PCCアイテム及びV-PCCユニットアイテム)はノンタイムV-PCCデ-タをカプセル化するために定義される。
新しいハンドラ-タイプ4CCコ-ド’vpcc’はV-PCCアイテム、V-PCCユニットアイテム及び他のV-PCC符号化されたコンテンツ表現情報の存在を示すために、メタボックス(MetaBox)のハンドラ-ボックス(HandlerBox)内に定義されて格納される。
V-PCCアイテム(V-PCC Items,46000):V-PCCアイテムは独立して復号可能なV-PCCアクセスユニットを示すアイテムである。アイテムタイプ’vpci’はV-PCCアイテムを識別するために定義される。V-PCCアイテムはアトラスサブビットストリ-ムのV-PCCユニットペイロ-ドを格納する。一次アイテムボックス(PrimaryItemBox)が存在すると、このボックス内のアイテムID(item_id)はV-PCCアイテムを示すためにセットされる。
V-PCCユニットアイテム(V-PCC Unit Item,46010):V-PCCユニットアイテムはV-PCCユニットデ-タを示すアイテムである。占有、ジオメトリ及び特質ビデオデ-タユニットのV-PCCユニットアイテムは、V-PCCユニットペイロ-ドを格納する。V-PCCユニットアイテムはただ1つのV-PCCアクセスユニット関連デ-タだけを格納する。
V-PCCユニットアイテムに対するアイテムタイプは対応するビデオデ-タユニットを符号化するために使用されるコ-デックによりセットされる。V-PCCユニットアイテムは対応するV-PCCユニットヘッダアイテムプロパティ(V-PCC unit header item property)及びコ-デック特定の構成アイテムプロパティ(codec specific configuration item property)に関連がある。独立してディスプレイすることは意味がないので、V-PCCユニットアイテムは隠しアイテムで表示される。
V-PCCアイテム及びV-PCCユニットアイテム間の関係を示すために、以下の3つのアイテム参照タイプが使用される。アイテム参照はV-PCCアイテムから関連するV-PCCユニットアイテムにより定義される。
’pcco’:参照されたV-PCCユニットアイテムは占有ビデオデ-タユニットを含む。
’pccg’:参照されたV-PCCユニットアイテムはジオメトリビデオデ-タユニットを含む。
’pcca’:参照されたV-PCCユニットアイテムは特質ビデオデ-タユニットを含む。
V-PCC構成アイテムプロパティ(V-PCC configuration item property,46020)
box Types:’vpcp’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory(per item):Yes, for a V-PCC item of type ’vpci’
Quantity(per item):One or more for a V-PCC item of type ’vpci’
V-PCC構成アイテムプロパティのボックスタイプは’vpcp’であり、プロパティタイプは記述的アイテムプロパティである。コンテナはアイテムプロパティコンテナボックスである。アイテムごとのタイプ’vpci’のV-PCCタイプについて必須である。アイテムごとのタイプ’vpci’のV-PCCアイテムに対して1つ又はそれ以上が存在する。
V-PCCパラメ-タセットはこの記述的アイテムプロパティとして格納され、V-PCCアイテムに連関がある。
aligned(8) class vpcc_unit_payload_struct(){
unsigned int(16) vpcc_unit_payload_size;
vpcc_unit_payload();
V-PCCユニットペイロ-ドサイズ(vpcc_unit_payload_size):vpcc_unit_paylod()のバイトサイズを示す。
aligned(8) class VPCCConfigurationProperty extends ItemProperty(’vpcc’){
vpcc_unit_payload_struct()[];
V-PCCユニットペイロ-ド(vpcc_unit_paylod())はタイプVPCC_VPSのV-PCCユニットを含む。
V-PCCユニットヘッダアイテムプロパティ(V-PCC unit header item property,46030)
box Types:’vunt’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory (per item):Yes, for a V-PCC item of type ’vpcI’ and for a V-PCC unit item
Quantity(per item):One
V-PCCユニットヘッダアイテムプロパティのボックスタイプは’vunt’であり、プロパティタイプは記述的アイテムプロパティであり、コンテナはアイテムプロパティコンテナボックスである。アイテムごとのV-PCCユニットアイテム及びタイプ’vpci’のV-PCCアイテムについて必須である。アイテムごとに1つ存在する。
V-PCCユニットヘッダは記述的アイテムプロパティとして格納され、V-PCCアイテム及びV-PCCユニットアイテムに関連がある。
aligned(8) class VPCCUnitHeaderProperty() extends ItemFullProperty(’vunt’, version=0, 0){
vpcc_unit_header();
図46の構造に基づいて、実施例による方法/装置/システムはノンタイムポイントクラウドデ-タを伝達する。
ノンタイムビデオ基盤のポイントクラウドデ-タの伝達(Carriage of non-timed Video-based point Cloud Compression Data)
イメ-ジアイテムとしてファイル内のノンタイムV-PCCデ-タが格納される。V-PCCアイテム、V-PCCユニットアイテム及び他のV-PCC符号化されたコンテンツ表現情報の存在を示すために、新しいハンドルでタイプ4CCコ-ド’vpcc’が定義され、メタボックスのハンドラ-ボックス内に格納される。
実施例によるアイテムはイメ-ジを示す。例えば、動かないデ-タであり、1枚のイメ-ジを称する。
実施例による方法/装置は、図52に示すように、ノンタイムV-PCCデ-タをカプセル化するための構造に基づいて実施例によるデ-タを生成して送信する。
V-PCCアイテム(V-PCC Items)
V-PCCアイテムは独立して復号可能なV-PCCアクセスユニットを示すアイテムである。新しいアイテムタイプは4CCコ-ド’vpci’はV-PCCアイテムを識別するために定義される。V-PCCアイテムはアトラスサブビットストリ-ムのV-PCCユニットペイロ-ドを格納する。
一次アイテムボックス(PrimaryItemBox)が存在すると、このボックス内のアイテムID(item_id)がV-PCCアイテムを示すために設定される。
V-PCCユニットアイテム(V-PCC Unit Item)
V-PCCユニットアイテムはV-PCCユニットデ-タを示すアイテムである。
V-PCCユニットアイテムは占有、ジオメトリ、特質ビデオデ-タユニットのV-PCCユニットペイロ-ドを格納する。V-PCCユニットアイテムはただ1つのV-PCCアクセスユニット関連のデ-タを含む。
V-PCCユニットアイテムに対するアイテムタイプ4CCコ-ドは対応するビデオデ-タユニットを符号化するために使用されるコ-デックに基づいて設定される。V-PCCユニットアイテムは対応するV-PCCユニットヘッダアイテムプロパティ及びコ-デック特定の構成アイテムプロパティに連関がある。
V-PCCユニットアイテムは隠しアイテムとしてマ-キングされる。独立してディスプレイすることは意味がないこともあるためである。
V-PCCアイテム及びV-PCCユニットの間の関係を示すために、3つの新しいアイテム参照タイプ、4CCコ-ド’pcco’、’pccg’及び’pcca’が定義される。アイテム参照はV-PCCアイテムから関連するV-PCCユニットアイテムにより定義される。アイテム参照タイムの4CCコ-ドは以下の通りである。
’pcco’:占有ビデオデ-タユニットを含む参照されたV-PCCユニットアイテム
’pccg’:参照されたV-PCCユニットアイテムはジオメトリビデオデ-タユニットを含む。
’pcca’:参照されたV-PCCユニットアイテムは特質ビデオデ-タユニットを含む。
V-PCC関連のアイテム特性(V-PCC-related item properties)
記述的アイテム特性はV-PCCパラメ-タセット情報及びV-PCCユニットヘッダ情報のそれぞれを伝達するために定義される。
V-PCC構成アイテムプロパティ(V-PCC configuration item property)
box Types:’vpcp’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory(per item):Yes, for a V-PCC item of type ’vpcI’
Quantity(per item):One or more for a V-PCC item of type ’vpcI’
V-PCCパラメ-タセットは記述的アイテムプロパティとして格納され、V-PCCアイテムに連関がある。
必須(essential)は’vpcp’アイテムプロパティに対して1に設定される。
aligned(8) class vpcc_unit_payload_struct(){
unsigned int(16) vpcc_unit_payload_size;
vpcc_unit_payload();
aligned(8) class VPCCConfigurationProperty
extends ItemProperty(’vpcc’){
vpcc_unit_payload_struct()[];
V-PCCユニットペイロ-ドサイズ(vpcc_unit_payload_size):vpcc_unit_paylod()のバイト内サイズを示す。
V-PCCユニットヘッダアイテムプロパティ(V-PCC unit header item property)
box Types:’vunt’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory(per item):Yes, for a V-PCC item of type ’vpci’ and for a V-PCC unit item
Quantity(per item):One
V-PCCユニットヘッダは記述的アイテムプロパティとして格納され、V-PCCアイテム及びV-PCCユニットアイテムに連関がある。
必須は’vunt’アイテムプロパティに対して1に設定される。
aligned(8) class VPCCUnitHeaderProperty(){
extends ItemFullProperty(’vunt’, version=0, 0){
vpcc_unit_header();
V-PCC 3Dバウンディングボックスアイテムプロパティ(V-PCC 3D bounding box item property)
box Types:’v3dd’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory(per item):Yes, for a V-PCC item of type ’vpcI’ and for a V-PCC unit item
Quantity(per item):One
3Dバウンディング情報は記述的アイテムプロパティとして格納され、V-PCCアイテム及びV-PCCユニットアイテムに連関がある。
aligned(8) class VPCC3DBoundingBoxInfoProperty(){
extends ItemFullProperty(’V3DD’, version=0, 0){
3DBoundingBoxInfoStruct();
V-PCC 3D領域マッピング情報アイテムプロパティ(V-PCC 3D region mapping information item property)
box Types:’dysr’
Property type:Descriptive item property
Container:ItemPropertyContainerBox
Mandatory(per item):Yes, for a V-PCC item of type ’vpcI’ and for a V-PCC unit item
Quantity(per item):One
3Dバウンディング情報は記述的アイテムプロパティとして格納され、V-PCCアイテム及びV-PCCユニットアイテムに連関がある。
aligned(8) class VPCC3DRegionMappingBoxInforoperty(){
extends ItemFullProperty(’v3dd’, version=0, 0){
VPCC3DRegionMappingInfoStruct();
図47は実施例によるポイントクラウドデ-タ送信方法を示す。
S47000。実施例によるポイントクラウドデ-タ送信方法は、ポイントクラウドデ-タを符号化する段階を含む。実施例による符号化動作は、図1のポイントクラウドビデオエンコ-ダ10002、図4のエンコ-ダ、図15のエンコ-ダ、図18の送信装置のデ-タ入力機或いは多重化器18007、図20のプリプロセッサ20001或いはビデオ/イメ-ジエンコ-ダ20002,20003、図21のプリプロセッサ21001或いは21006、ビデオ/イメ-ジエンコ-ダ21007,21008、図23のXRデバイス2330、そして図25及び図26などのビットストリ-ム生成などの動作を含む。
S47010。実施例によるポイントクラウドデ-タ送信方法は、さらにポイントクラウドデ-タをカプセル化する段階を含む。実施例によるカプセル化動作は、図1のファイル/セグメントカプセル化部10003、図18の送信装置で生成された符号化されたポイントクラウドデ-タビットストリ-ムのカプセル化、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009、図23のXRデバイス2330、図25及び図26などのビットストリ-ムをカプセル化、図40及び図41などのファイルにビットストリ-ムをカプセル化、そして図46のアイテムにビットストリ-ムのカプセル化などの動作を含む。
S47020。実施例によるポイントクラウドデ-タ送信方法は、さらにポイントクラウドデ-タを送信する段階を含む。実施例による送信動作は、図1の送信機10004、図18の送信部18008、図20の伝達、図21の伝達、図23のXRデバイス、そして図25乃至図46などのデ-タ送信などの動作を含む。
図48は実施例によるポイントクラウドデ-タ受信方法を示す。
S48000。実施例によるポイントクラウドデ-タ受信方法は、ポイントクラウドデ-タを受信する段階を含む。実施例による受信動作は、図1の受信機10006、図19の受信部、図20の伝達による受信、図22の伝達による受信、図23のXRデバイス2330の受信、図25及び図26などのビットストリ-ムを受信、図40及び図41などのファイルの受信、そして図46のアイテムの受信などの動作を含む。
S48010。実施例によるポイントクラウドデ-タ受信方法は、さらにポイントクラウドデ-タをデカプセル化する段階を含む。実施例によるデカプセル化動作は、図1のファイル/セグメントデカプセル化部10007、図20のファイル/セグメントデカプセル化部20005、図22のファイル/セグメントデカプセル化部22000、図23のXRデバイス2330、図25及び図26などのデ-タを含むコンテナのデカプセル化、図40及び図41などのファイルのデカプセル化、そして図46のアイテムのデカプセル化などの動作を含む。
S48020。実施例によるポイントクラウドデ-タ受信方法は、さらにポイントクラウドデ-タを復号する段階を含む。実施例による復号動作は、図1のポイントクラウドビデオデコ-ダ10008、図16のデコ-ダ、図17のデコ-ダ、図19のポイントクラウドデ-タの復号、図20のビデオ/イメ-ジデコ-ダ20006、図22のビデオ/イメ-ジデコ-ダ22001,22002、図23のXRデバイス2330、そして図25乃至図43などのデ-タの復号などの動作を含む。
実施例による提案方式において、ポイントクラウドコンテンツサ-ビスを提供するための送信機又は受信機は、上述したように、V-PCCビットストリ-ムを構成して、ファイルを格納する。
V-PCCビットストリ-ム内のデ-タ処理及びレンダリングのためのメタデ-タをビットストリ-ム内に送信する。
プレ-ヤ-などはユ-ザビュ-ポ-トなどによってポイントクラウド客体/コンテンツの空間接近或いは部分接近が可能である。言い換えれば、上述したデ-タ表現方式(図24-図46などを参照)は、ユ-ザのビュ-ポ-トによってポイントクラウドビットストリ-ムに効率的に接近して処理できる効果を提供する。
実施例によるポイントクラウドデ-タ送信装置は、ポイントクラウドコンテンツ(例えば、V-PCCコンテンツ)に対する部分接近及び/又は空間接近のためのバウンディングボックス及びそのためのシグナリング情報を提供し(図24-図46などを参照)、実施例によるポイントクラウドデ-タ受信装置がプレ-ヤ-又はユ-ザ環境を考慮してポイントクラウドコンテンツを様々に接近できる効果を提供する。
実施例によるポイントクラウドデ-タ送信装置は、ユ-ザのビュ-ポ-トによってV-PCCコンテンツの空間接近(spatial access)を支援するためのV-PCCコンテンツの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連メタデ-タを提供する(図24-図46などを参照)。
実施例によるポイントクラウドデ-タ送信装置は、ポイントクラウドビットストリ-ム内のポイントクラウドの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報シグナリングを提供する(図24-図46などを参照)。
また実施例によるポイントクラウドデ-タ受信装置は、ファイル内のポイントクラウドの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報格納及びシグナリングに基づいて、ポイントクラウドコンテンツを、ユ-ザ環境を考慮して効率的に低遅延にユ-ザに提供することができる(図24-図46などを参照)。
また実施例によるポイントクラウドデ-タ受信装置は、ファイル内のイメ-ジアイテムに連関するポイントクラウドの3D領域情報と、それに関連するビデオ或いはアトラスフレ-ム上の2D領域関連情報に基づいて、ポイントクラウドコンテンツの様々な接近を提供することができる(図24-図46などを参照)。
実施例によるポイントクラウドデ-タ送信装置は、ポイントクラウドデ-タの3D領域に連関するデ-タを含むトラックグル-ピング及び関連シグナリング情報を効率的に符号化して提供することができる(図24-図46などを参照)。
また実施例によるポイントクラウドデ-タ受信装置は、2D領域に連関するデ-タを含むトラックグル-ピング及び関連シグナリング情報に基づいて、ポイントクラウドコンテンツの効率的な接近が可能である(図24-図46などを参照)。
実施例は方法及び又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
説明の便宜のために、各図を区分して説明したが、各図に表された実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピュ-タ-で読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
実施例による装置の様々な構成要素は、ハ-ドウェア、ソフトウェア、ファ-ムウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハ-ドウェア回路で具現される。実施例において、実施例による構成要素はそれぞれのチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のいずれか一つ又はそれ以上の動作/方法を行わせるか、又は実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではないCRM又は他のコンピュ-タ-プログラム製品に格納されるか、又は一つ又はそれ以上のプロセッサにより実行されるために構成された一時的なCRM又は他のコンピュ-タ-プログラム製品に格納される。また実施例によるメモリは、揮発性メモリ(例えば、RAMなど)だけではなく、非揮発性メモリ、フラッシュメモリ、PROMなどを全部含む概念として使用される。また、インタ-ネットによる送信などのような伝送波の形式で具現されることも含む。またプロセッサが読み取られる記録媒体は、ネットワ-クで連結されたコンピュ-タ-システムに分散されて、分散方式によりプロセッサが読み取られるコ-ドが格納されて実行される。
この明細書において、“/”と“、”は“及び/又は”に解釈される。例えば、“A/B”は“A及び/又はB”に解釈され、“A、B”は“A及び/又はB”に解釈される。さらに、“A/B/C”は“A、B及び/又はCのいずれか”を意味する。また、“A、B、C”も“A、B及び/又はCのいずれか”を意味する。さらに、この文書において、“又は”は“及び/又は”に解釈される。例えば、“A又はB”は、1)“A”のみを意味するか、2)“B”のみを意味するか、又は3)“A及びB”を意味する。言い換えれば、この明細書において“又は”は“さらに(additionally)又は代わりに(alternatively)”を意味する。
第1、第2などの用語は実施例の様々な構成要素を説明するために使用される。しかし、実施例による様々な構成要素は上記用語により解釈が制限されてはいけない。かかる用語は一つの構成要素を他の構成要素と区別するために使用されることに過ぎない。例えば、第1ユ-ザ入力信号は第2ユ-ザ入力信号と称することができる。同様に、第2ユ-ザ入力信号は第1ユ-ザ入力信号と称することができる。かかる用語の使用は様々な実施例の範囲から離脱していない。第1ユ-ザ入力信号及び第2ユ-ザ入力信号はいずれもユ-ザ入力信号であるが、文脈上、明確に示していない限り、同一のユ-ザ入力信号を意味してはいない。
実施例を説明のために使用された用語は、特定の実施例を説明するために使用されており、実施例を制限するものではない。実施例の説明及び請求範囲で使用したように、文脈上明確に称していない限り、単数は複数を含む。「及び/又は」表現は用語間の全ての可能な結合を含む意味で使用される。「含む」は特徴、数、段階、要素及び/又はコンポ-ネントが存在することを説明し、さらなる特徴、数、段階、要素及び/又はコンポ-ネントを含まないことを意味することではない。実施例を説明するために使用される、「~である場合」、「~の時」などの条件表現は選択的な場合にのみ制限して解釈されない。特定の条件を満たすとき、特定の条件に対応して関連動作を行うか、又は関連定義が解釈されるように意図されている。
また、この明細書で説明する実施例による動作は、実施例によってメモリ及び/又はプロセッサを含む送受信装置により行われる。メモリは実施例による動作を処理/制御するためのプログラムを格納し、プロセッサはこの明細書で説明した様々な動作を制御する。プロセッサはコントロ-ラとも称される。実施例において、動作はファ-ムウェア、ソフトウェア及び/又はそれらの組み合わせにより行われ、ファ-ムウェア、ソフトウェア及び/又はそれらの組み合わせはプロセッサに格納されるか又はメモリに格納される。
一方、上述した実施例による動作は実施例による送信装置及び/又は受信装置により行われる。送受信装置はメディアデ-タを送受信する送受信部、実施例によるおプロセスに対する指示(プログラムコ-ド、アルゴリズム、フロ-チャ-ト及び/又はデ-タ)を格納するメモリ、及び送受信装置の動作を制御するプロセッサを含む。
プロセッサはコントロ-ラなどとも称され、例えば、ハ-ドウェア、ソフトウェア及び/又はそれらの組み合わせに対応する。上記実施例による動作はプロセッサにより行われる。またプロセッサは上記実施例の動作のためのエンコ-ダ/デコ-ダなどで具現される。
[発明を実施するための形態]
上述したように、実施例を実施するための最善の形態について関連内容を説明した。
上述したように、実施例はポイントクラウドデ-タの送受信装置及びシステムに全体的又は部分的に適用することができる。
当業者は実施例の範囲内で実施例を様々に変更又は変形することができる。
実施例は変更/変形を含み、変更/変形は請求の範囲及びそれらの範囲内のものである。

Claims (8)

  1. ポイントクラウドデータ送信方法であって、
    ポイントクラウドデータを符号化する段階;
    ファイルにおいて、前記符号化されたポイントクラウドデータをカプセル化する段階;及び
    前記ファイルを送信する段階;を含んでなり、
    前記ファイルは、前記ポイントクラウドデータのコンポーネットの為のトラックと、前記ポイントクラウドデータに対するパラメータの為のトラックと、を含み、
    前記コンポーネットの為の前記トラックは、グルーピングされ、
    前記ファイルは、トラックグループに関連するアトラスタイルの数と、前記トラックグループに連関するアトラスタイルに対する識別子と、を含み、
    前記パラメータの為の前記トラックのサンプルエントリーは、前記ポイントクラウドデータの空間領域情報を含み、
    前記空間領域情報は空間領域の数を含み、
    前記空間領域情報は時間に応じて動的に変化する、ポイントクラウドデータ送信方法。
  2. 前記空間領域情報は前記空間領域の為に識別する情報を更に含む、請求項に記載のポイントクラウドデータ送信方法。
  3. ポイントクラウドデータ送信装置であって、
    ポイントクラウドデータを符号化するエンコーダ;
    ファイルにおいて、前記符号化されたポイントクラウドデータをカプセル化するカプセル化部;及び
    前記ファイルを送信する送信機;を備えてなり、
    前記ファイルは、前記ポイントクラウドデータのコンポーネットの為のトラックと、前記ポイントクラウドデータに対するパラメータの為のトラックと、を含み、
    前記コンポーネットの為の前記トラックは、グルーピングされ、
    前記ファイルは、トラックグループに関連するアトラスタイルの数と、前記トラックグループに連関するアトラスタイルに対する識別子と、を含み、
    前記パラメータの為の前記トラックのサンプルエントリーは、前記ポイントクラウドデータの空間領域情報を含み、
    前記空間領域情報は空間領域の数を含み、
    前記空間領域情報は時間に応じて動的に変化する、ポイントクラウドデータ送信装置。
  4. 前記空間領域情報は前記空間領域の為に識別する情報を更に含む、請求項に記載のポイントクラウドデータ送信装置。
  5. ポイントクラウドデータ受信装置であって、
    ポイントクラウドデータを含むファイルを受信する受信機;
    前記ファイルをデカプセル化するデカプセル化部;及び
    前記ポイントクラウドデータを復号するデコーダ;を備えてなり、
    前記ファイルは、前記ポイントクラウドデータのコンポーネットの為のトラックと、前記ポイントクラウドデータに対するパラメータの為のトラックと、を含み、
    前記コンポーネットの為の前記トラックは、グルーピングされ、
    前記ファイルは、トラックグループに関連するアトラスタイルの数と、前記トラックグループに連関するアトラスタイルに対する識別子と、を含み、
    前記パラメータの為の前記トラックのサンプルエントリーは、前記ポイントクラウドデータの空間領域情報を含み、
    前記空間領域情報は空間領域の数を含み、
    前記空間領域情報は時間に応じて動的に変化する、ポイントクラウドデータ受信装置。
  6. 前記空間領域情報は前記空間領域の為に識別する情報を更に含む、請求項に記載のポイントクラウドデータ受信装置。
  7. ポイントクラウドデータ受信方法であって、
    ポイントクラウドデータを含むファイルを受信する段階;
    前記ファイルをデカプセル化する段階;及び
    前記ポイントクラウドデータを復号する段階;を含んでなり、
    前記ファイルは、前記ポイントクラウドデータのコンポーネットの為のトラックと、前記ポイントクラウドデータに対するパラメータの為のトラックと、を含み、
    前記コンポーネットの為の前記トラックは、グルーピングされ、
    前記ファイルは、トラックグループに関連するアトラスタイルの数と、前記トラックグループに連関するアトラスタイルに対する識別子と、を含み、
    前記パラメータの為の前記トラックのサンプルエントリーは、前記ポイントクラウドデータの空間領域情報を含み、
    前記空間領域情報は空間領域の数を含み、
    前記空間領域情報は時間に応じて動的に変化する、ポイントクラウドデータ受信方法。
  8. 前記空間領域情報は前記空間領域の為に識別する情報を更に含む、請求項に記載のポイントクラウドデータ受信方法。
JP2022542126A 2020-01-10 2020-11-16 ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法 Active JP7434578B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062959755P 2020-01-10 2020-01-10
US62/959,755 2020-01-10
PCT/KR2020/016057 WO2021141233A1 (ko) 2020-01-10 2020-11-16 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (2)

Publication Number Publication Date
JP2023509537A JP2023509537A (ja) 2023-03-08
JP7434578B2 true JP7434578B2 (ja) 2024-02-20

Family

ID=76763708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022542126A Active JP7434578B2 (ja) 2020-01-10 2020-11-16 ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法

Country Status (7)

Country Link
US (1) US11544877B2 (ja)
EP (1) EP4090013A4 (ja)
JP (1) JP7434578B2 (ja)
KR (1) KR102336990B1 (ja)
CN (1) CN114946178B (ja)
BR (1) BR112022012691A2 (ja)
WO (1) WO2021141233A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483534B2 (en) * 2019-08-29 2022-10-25 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
CN115380528B (zh) * 2020-04-11 2024-03-29 Lg电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11321878B2 (en) * 2020-06-26 2022-05-03 Sony Group Corporation Decoded tile hash SEI message for V3C/V-PCC
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
WO2022069522A1 (en) * 2020-09-30 2022-04-07 Interdigital Ce Patent Holdings, Sas A method and apparatus for signaling depth of multi-plane images-based volumetric video
US20230014820A1 (en) 2021-07-19 2023-01-19 Tencent America LLC Methods and apparatuses for dynamic mesh compression
EP4364095A1 (en) * 2021-07-19 2024-05-08 Innopeak Technology, Inc. Atlas information carriage in coded volumetric content
US20230296758A1 (en) * 2022-03-18 2023-09-21 Nvidia Corporation Sensor data point cloud generation for map creation and localization for autonomous systems and applications
WO2024004449A1 (ja) * 2022-06-29 2024-01-04 キヤノン株式会社 情報処理装置、情報処理方法、コンピュータプログラム
WO2024122273A1 (ja) * 2022-12-05 2024-06-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、符号化装置、復号方法、及び符号化方法
CN117437162B (zh) * 2023-12-22 2024-03-08 吉林大学 一种基于实例级序列混合的动态点云数据增强方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135024A1 (en) 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US20190318488A1 (en) 2018-04-12 2019-10-17 Samsung Electronics Co., Ltd. 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud
US20190392647A1 (en) 2019-08-16 2019-12-26 Lg Electronics Inc. Xr device and method for controlling the same
WO2021117859A1 (ja) 2019-12-13 2021-06-17 ソニーグループ株式会社 画像処理装置および方法
JP2023509092A (ja) 2020-01-09 2023-03-06 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101552694B1 (ko) * 2014-01-27 2015-09-11 한국생산기술연구원 점군데이터를 위한 실시간 송수신 시스템 및 방법, 그리고 이에 적용되는 장치
US10186024B2 (en) * 2015-12-29 2019-01-22 Texas Instruments Incorporated Method and system for real time structure from motion in a computer vision system
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
CN118314303A (zh) * 2017-10-16 2024-07-09 索尼公司 编码装置、编码方法、解码装置及解码方法
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
WO2020009341A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
US20200153885A1 (en) * 2018-10-01 2020-05-14 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and/or a method for receiving point cloud data
US11457231B2 (en) * 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
US11711544B2 (en) * 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
CN115012752B (zh) * 2019-07-23 2023-11-14 青岛海尔电冰箱有限公司 铰链组件及具有其的制冷设备
US20210105313A1 (en) * 2019-10-02 2021-04-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling a region in spatially grouped immersive media data tracks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135024A1 (en) 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US20190318488A1 (en) 2018-04-12 2019-10-17 Samsung Electronics Co., Ltd. 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud
US20190392647A1 (en) 2019-08-16 2019-12-26 Lg Electronics Inc. Xr device and method for controlling the same
WO2021117859A1 (ja) 2019-12-13 2021-06-17 ソニーグループ株式会社 画像処理装置および方法
JP2023509092A (ja) 2020-01-09 2023-03-06 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Information technology - Coded representation of immersive media - Part 5: Video-based Point Cloud Compression",ISO/IEC,2019年12月24日,Pages 1-67,145-150,161-163,Reference number: ISO/IEC DIS 23090-5:2019(E).

Also Published As

Publication number Publication date
CN114946178B (zh) 2023-12-19
WO2021141233A1 (ko) 2021-07-15
KR20210090542A (ko) 2021-07-20
BR112022012691A2 (pt) 2022-09-06
US11544877B2 (en) 2023-01-03
JP2023509537A (ja) 2023-03-08
US20210217200A1 (en) 2021-07-15
KR102336990B1 (ko) 2021-12-08
EP4090013A4 (en) 2024-01-17
EP4090013A1 (en) 2022-11-16
CN114946178A (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
JP7434577B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
KR102406846B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102292195B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JP7434578B2 (ja) ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法
JP7477617B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
EP4124032A1 (en) Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data
JP7434574B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
US12021910B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240207

R150 Certificate of patent or registration of utility model

Ref document number: 7434578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150