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

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

Info

Publication number
JP2023509190A
JP2023509190A JP2022541990A JP2022541990A JP2023509190A JP 2023509190 A JP2023509190 A JP 2023509190A JP 2022541990 A JP2022541990 A JP 2022541990A JP 2022541990 A JP2022541990 A JP 2022541990A JP 2023509190 A JP2023509190 A JP 2023509190A
Authority
JP
Japan
Prior art keywords
point cloud
information
cloud data
pcc
data
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.)
Granted
Application number
JP2022541990A
Other languages
English (en)
Other versions
JP7434574B2 (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 JP2023509190A publication Critical patent/JP2023509190A/ja
Application granted granted Critical
Publication of JP7434574B2 publication Critical patent/JP7434574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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
    • 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]
    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/23614Multiplexing of additional data and 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/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
    • 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/4348Demultiplexing of additional data and 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【要約】 実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化するステップ;及びポイントクラウドデータを送信するステップ;を含む。実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを受信するステップ;ポイントクラウドデータを復号するステップ;及びポイントクラウドデータをレンダリングするステップ;を含む。【選択図】図1

Description

実施例はユーザにVR(Virtual Reality、仮想現実)、AR(Augmented Reality、増強現実)、MR(Mixed Reality、複合現実)及び自律走行サービスなどの様々なサービスを提供するために、ポイントクラウド(Point Cloud)コンテンツを提供する方案を提供する。
ポイントクラウドは3D空間上のポイントの集合である。3D空間上のポイントの量が多く、ポイントクラウドデータの生成が困難であるという問題点がある。
ポイントクラウドのデータの送受信のためには、大量の処理量が求められるという問題点がある。
実施例に係る技術的課題は、上記した問題点を解決するために、ポイントクラウドを効率的に送受信するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
実施例に係る技術的課題は、遅延時間(latency)及び符号化/復号の複雑度を解決するためのポイントクラウドデータ送信装置、送信方法、ポイントクラウドデータ受信装置及び受信方法を提供することにある。
但し、上述した技術的課題のみに制限されず、記載された全ての内容に基づいて当業者が導き出される他の技術的課題にも実施例の権利範囲を拡張することができる。
上述した目的及びその他の利点を達成するために、実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化するステップ;ポイントクラウドデータをカプセル化するステップ;及び/又はポイントクラウドデータを送信するステップ;を含む(備える;構成する;構築する;設定する;包接する;包含する;含有する)。
また、実施例による送信するステップは、ポイントクラウドデータに対するメタデータを更に送信する。
また、メタデータは、ポイントクラウドデータに対する容積測定データ(volumetric data)のための情報を含む。更に、容積測定データをレンダリングするための情報は、容積測定データをレンダリングするために使用される位置関連情報及び/又は容積測定データに適用される方向関連情報を含む。
更に、実施例によるメタデータは、ポイントクラウドデータのポイントのスタイル(style)に関する情報を含み、ポイントのスタイルに関する情報は、ポイントの形態を示す情報及び/又はポイントの大きさを示す情報を含む。
更に、実施例によるメタデータは、カメラ情報を含む。カメラ情報は、カメラの位置を示す情報、カメラのオリエンテーション方向、視錘台の水平FOV(horizontal field of view)を示す情報及び/又は視錘台の垂直FOV(vertical field of view)を示す情報を含む。
実施例によるポイントクラウドデータ送信装置は、実施例によるポイントクラウドデータ送信方法を実行する1つ又はそれ以上の構成を含む。
実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを受信するステップ;ポイントクラウドデータをデカプセル化するステップ;及び/又はポイントクラウドデータを復号するステップ;を含む。実施例による受信するステップは、ポイントクラウドデータに対するメタデータを更に受信し、復号するステップは、ポイントクラウドデータを再構成(reconstruct)する。
更に、メタデータは、ポイントクラウドデータ内の容積測定データ(volumetric data)のための情報を含み、再構成するステップは、容積測定データのための情報に基づいて容積測定データを再構成する。
また、容積測定データのための情報は、容積測定データを再構成するために使用される位置関連情報及び/又は容積測定データに適用される方向関連情報を含む。
更に、実施例によるメタデータは、ポイントクラウドデータのポイントのスタイル(style)に関する情報を含み、ポイントのスタイルに関する情報は、ポイントの形態を示す情報及び/又はポイントの大きさを示す情報を含む。
更に、実施例によるメタデータは、カメラ情報を含む。カメラ情報は、カメラの位置を示す情報、カメラのオリエンテーション方向、視錘台の水平FOV(horizontal field of view)を示す情報及び/又は視錘台の垂直FOV(vertical field of view)を示す情報を含む。
実施例によるポイントクラウドデータ受信装置は、実施例によるポイントクラウドデータ受信方法を実行する1つ又はそれ以上の構成を含む。
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、良質のポイントクラウドサービスを提供することができる。
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、様々なビデオコーデック方式を達成することができる。
実施例によるポイントクラウドデータ送信方法、送信装置、ポイントクラウドデータ受信方法、受信装置は、自立走行サービスなどの汎用的なポイントクラウドコンテンツを提供することができる。
受信装置は、ユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、上述したビュー情報(view information)を提供し、受信装置がビュー情報を用いてレンダリングすることで、受信装置はユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図面は実施例を更に理解するために添付され、実施例に関する説明と共に実施例を示す。
実施例によるポイントクラウドコンテンツを提供するための送信/受信システム構造の一例を示す。 実施例によるポイントクラウドデータのキャプチャーの一例を示す。 実施例によるポイントクラウド及びジオメトリ、テクスチャイメージの一例を示す。 実施例による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ベースのポイントクラウドデータの格納及びストリーミングのためのアーキテクチャの一例を示す。 実施例によるポイントクラウドデータの格納及び送信装置の構成の一例を示す。 実施例によるポイントクラウドデータ受信装置の構成の一例を示す。 実施例によるポイントクラウドデータの送受信方法/装置と連動可能な構造の一例を示す。 実施例によるV-PCCビットストリームを示す。 実施例によるV-PCCビットストリームの一例を示す。 実施例によるV-PCCユニットヘッダ(V-PCC Unit Header)及び/又はV-PCCユニットペイロード(V-PCC Unit Payload)の構文の一例を示す。 実施例によるアトラスサブストリーム(atlas substream)の一例を示す。 実施例によるISOBMFFファイルのフォーマット(format)のポイントクラウドデータを示す。 実施例によるV-PCCサンプルエントリー(V-PCC sample entry)を示す。 実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの役割を示す。 実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの構文の一例を示す。 実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの構文の一例を示す。 実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの役割を示す。 実施例によるポイントクラウドデータのオブジェクト(object)を再構成又はレンダリングするためのパラメータの構文の一例を示す。 実施例によるポイントクラウドデータ及びポイントクラウドデータに関するメタデータをカプセル化する動作の一例を示す。 実施例によるポイントクラウドデータ送信方法及び/又はポイントクラウドデータの送信のためのデータの処理方法を示す。 実施例によるポイントクラウドデータ受信方法及び/又はポイントクラウドデータの受信のためのデータの処理方法を示す。
以下、添付図面を参照しながら望ましい実施例について具体的に説明する。添付図面を参照した以下の詳細な説明は、実施例によって具現可能な実施例のみを示すというよりは、望ましい実施例を説明するためのものである。以下の詳細な説明は実施例に対する徹底な理解を提供するために細部事項を含む。しかし、かかる細部事項がなくても実施例を実行できることは当業者にとって明らかである。
実施例で使用するほとんどの用語は該当分野において広く使用される一般的なものであるが、一部は出願人によって任意に選択されたものであり、その意味は必要によって以下に詳しく説明する。よって、実施例は用語の単純な名称や意味ではなく、用語が意図する意味に基づいて理解されるべきである。
図1は実施例によるポイントクラウドコンテンツを提供するための送信/受信システム構造の一例を示す。
本文書では、ユーザに、VR(Virtual Reality、仮想現実)、AR(Augmented Reality、増強現実)、MR(Mixed Reality、混合現実)、及び自立走行サービスなどの様々なサービスを提供するために、ポイントクラウドコンテンツを提供する方案を提供する。実施例によるポイントクラウドコンテンツは、客体をポイントによって表現したデータを示し、ポイントクラウド、ポイントクラウドデータ、ポイントクラウドビデオデータ、ポイントクラウドイメージデータなどと呼ぶことがある。
実施例によるポイントクラウドデータ送信装置(Transmission device)10000は、ポイントクラウドビデオ取得部(Point Cloud Video Acquisition)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)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)コンテンツを提供することができる。
ポイントクラウドコンテンツサービスを提供するために、まず、ポイントクラウドビデオを取得する。取得したポイントクラウドビデオは、一連の過程を経て受信側へ送信され 、受信側で受信したデータを再び元のポイントクラウドビデオに加工てレンダリングする。これによって、ポイントクラウドビデオをユーザに提供することができる。実施例は、これらの一連の過程を効果的に行うために必要な方案を提供する。
ポイントクラウドコンテンツサービスを提供するための全体過程(ポイントクラウドデータ送信方法及び/又はポイントクラウドデータ受信方法)は、取得過程、符号化過程、送信過程、復号過程、レンダリング過程及び/又はフィードバック過程を含む。
実施例によれば、ポイントクラウドコンテンツ(又はポイントクラウドデータ)を提供する過程は、ポイントクラウド圧縮(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つ又はそれ以上のカメラが客体の内側から外側へと撮影する。例えば、実施例によればカメラが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)の手続きを行う。ポイントクラウドビデオエンコーダは、圧縮及びコーティングの効率のために、予測、変換、量子化、エントロピーコーディングなどの一連の手続きを行う。符号化されたデータ(符号化されたビデオ/映像情報)は、ビットストリーム(bitstream)の形態で出力される。V-PCC手続きに基づく場合、ポイントクラウドビデオエンコーダは ポイントクラウドビデオを、後述のように、ジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、また付加情報(auxiliary information)に分けて符号化する。ジオメトリビデオはジオメトリイメージを含み、特質(attribute)ビデオは特質イメージを含み、占有(occupancy)マップビデオは占有マップイメージを含む。付加情報は付加パッチ情報(auxiliary patch information)を含む。特質ビデオ/イメージはテキスチャービデオ/イメージを含む。
カプセル化部(file/segment encapsulation module)10003は、符号化されたポイントクラウドビデオデータ及び/又はポイントクラウドビデオ関連メタデータをファイルなどの形式でカプセル化する。ここで、ポイントクラウドビデオ関連メタデータは、メタデータ処理部などから伝送されてもよい。メタデータ処理部は、ポイントクラウドビデオエンコーダに含まれてもよく、又は別のコンポーネント/モジュールで構成されてもよい。カプセル化部は、該当データをISOBMFFなどのファイルフォーマットでカプセル化してもよく、その他のDASHセグメントなどの形式で処理してもよい。カプセル化部は、実施例によれば、ポイントクラウドビデオ関連メタデータをファイルフォーマット上に含ませてもよい。ポイントクラウドビデオ関連メタデータは、例えば、ISOBMFFファイルフォーマット上の多様なレベルのボックス(box)に含まれるか、又はファイル内で別のトラックに含まれる。実施例によれば、カプセル化部は、ポイントクラウドビデオ関連メタデータそのものをファイルでカプセル化する。送信処理部はファイルフォーマットによってカプセル化されたポイントクラウドビデオデータに送信のための処理を加えてもよい。送信処理部は、送信部に含まれてもよく、または別のコンポーネント/モジュールで構成されてもよい。送信処理部は、任意の送信プロトコルに従ってポイントクラウドビデオデータを処理する。送信のための処理には、放送網を介して伝送するための処理、ブロードバンドを介して伝送するための処理を含む。実施例による送信処理部は、ポイントクラウドビデオデータのみならず、メタデータ処理部からポイントクラウドビデオ関連メタデータが伝送され、これに送信するための処理を加える。
送信部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)標準または次世代ビデオ/イメージコーティング標準に適用される。
本明細書においてピクチャー(picture)/フレーム(frame)は、一般に特定の時間帯の1つの映像を示す単位を意味する。
ピクセル(pixel)又はペル(pel)は、1つのピクチャー(又は映像)を構成する最小の単位を意味する。また、ピクセルに対応する用語として「サンプル(sample)」が用いられる。サンプルは、一般に、ピクセル又はピクセルの値を示し、輝度(luma)成分のピクセル/ピクセル値のみを示してもよく、彩度(chroma)成分のピクセル/ピクセル値のみを示してもよく、又は深さ(depth)成分のピクセル/ピクセル値のみを示してもよい。
ユニット(unit)は、映像処理の基本単位を示す。ユニットはピクチャーの特定の領域及びその領域に関する情報のうちの少なくとも1つを含む。ユニットは、場合によって、ブロック(block)又は領域(area)などの用語と混用する。一般の場合、MxNブロックは、M個の列とN個の行からなるあサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)の集合(又はアレイ)を含む。
図3は実施例によるポイントクラウド及びジオメトリ、テクスチャイメージの一例を示す。
実施例によるポイントクラウドは、後述する図4のV-PCC符号化プロセスに入力され、ジオメトリイメージ、テクスチャイメージが生成される。実施例によれば、ポイントクラウドはポイントクラウドデータと同一の意味で使用される。
図3において、左側の図はポイントクラウドであって、3D空間上にオブジェクトが位置し、これを境界ボックスなどで表現するポイントクラウドを示す。中間の図はジオメトリを示し、右側の図はテキスチャーイメージ(ノン-パッド)を示す。
ビデオベースポイントクラウド圧縮(Video-based Point Cloud Compression、V-PCC)は、HEVC、VVCなどの2Dビデオコーデック(video codec)に基づいて3Dポイントクラウドデータを圧縮する方法を提供する。V-PCC圧縮プロセスにおいて、以下のようなデータ及び情報が生成される。
占有マップ(occupancy map):ポイントクラウドを成す点をパッチ(patch)に分けて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)がプロジェクトされた長方形フレームの位置である。
アトラスフレーム(atlas frame)は、タイル(tile)に分割される。タイルは2Dフレームを分割する単位である。即ち、タイルはアトラスというポイントクラウドデータのシグナル情報を分割する単位である。
パッチ(patch):ポイントクラウドを構成する点の集合であり、同じパッチに属する点は3D空間上で互いに隣接し、2Dイメージへのマッピングプロセスにおいて6面の境界ボックス平面のうち同じ方向にマップされることを示す。
パッチはタイルを分割する単位である。パッチはポイントクラウドデータの構成に関するシグナル情報である。
実施例による受信装置は、アトラス(タイル、パッチ)に基づいて同一のプレゼンテーションタイムを有する実際ビデオデータである特質ビデオデータ、ジオメトリビデオデータ、占有ビデオデータを復元する。
ジオメトリイメージ(geometry image):ポイントクラウドを成す各点の位置情報(geometry)をパッチ単位で表現する深さマップの形式のイメージを示す。ジオメトリイメージは1チャンネルのピクセル値で構成される。ジオメトリ(geometry)はポイントクラウドフレームに連関する座標のセットを示す。
テキスチャーイメージ(texture image):ポイントクラウドを成す各点の色情報をパッチ単位で表現するイメージを示す。テキスチャーイメージは複数のチャンネルのピクセル値(e.g. 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つ又はそれ以上のパッチがパッキングされる。また、パッチパッキングに関する情報を含む占有マップを生成する。
ジオメトリイメージ生成部(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を参照して、正規(normal)の計算プロセスを具体的に説明する。
図5は、実施例によるサーフェス(Surface)の接平面(tangent plane)及び法線ベクトル(normal vector)の一例を示す。
図5のサーフェスは、図4のV-PCC符号化プロセスのパッチ生成のプロセス40000において以下のように用いられる。
パッチ生成に関連して法線(Normal)計算
ポイントクラウドを成す各点(例えば、ポイント)は、固有の方向を有しているが、これは法線という3次元のベクトルで示される。K-D treeなどを用いて求められる各点の隣接点(neighbors)を用いて、図5のようなポイントクラウドのサーフェスを成す各点の接平面(tangent plane)及び法線ベクトル(normal vector)を求める。隣接点を探す過程におけるサーチ範囲(search range)はユーザによって定義される。
接平面(tangent 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つの境界ボックス(bounding box)の面の一面にプロジェクトされるが、初期分割(initial segmentation)は、各点がプロジェクトされる境界ボックスの平面のうちの1つを決定するプロセスである。
Figure 2023509190000002
(1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0),(-1.0,0.0,0.0),(0.0,-1.0,0.0),(0.0,0.0,-1.0).
Figure 2023509190000003
Figure 2023509190000004
決定された平面は、0~5のうちのいずれか1つのインデックス(index)形式の値(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)~(3)のプロセスを繰り返す。
パッチ分割のプロセスを通じて、各パッチのサイズ及び各パッチの占有マップ、ジオメトリイメージ、テクスチャイメージなどが決定される。
図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)~(6)のプロセスの繰り返す。
占有サイズ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つの軸は、図8のように示される。
図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に構成される。
例えば、ポイントクラウドが、図9のように2Dに位置する場合、複数のポイントを含む複数のパッチがあってもよい。図9のように、同じ陰影で示されたポイントが同一のパッチに属することを示す。空欄で示されたポイントのパッチをプロジェクトするプロセスを示す。
空欄で示されたポインを左側/右側にプロジェクトする場合、左側を基準として深さを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つのポイントが損失)。
最大モードである場合、各点のノーマル軸の最大値にパッチのノーマル方向最小値(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は、図10のように、d1を含みサーフェス厚さの範囲内の全ての点の位置を2進で符号化する方法である。一例として、図10の左側から二番目の列に含まれる点の場合、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
テキスチャーイメージ生成のプロセスは、上述したジオメトリイメージ生成のプロセスと同様に、個別パッチのテキスチャーイメージを生成し、これらを決められた位置に配置することで、全体のテキスチャーイメージを生成するプロセスからなる。ただし、個別パッチのテキスチャーイメージを生成するプロセスにおいて、ジオメトリ生成のための深さ値に代わってその位置に対応するポイントクラウドを構成する点の色値(e.g. R、G、B)を有するイメージが生成される。
ポイントクラウドを構成する各点の色値を求めるプロセスにおいて、上述した平滑化のプロセスを経たジオメトリが用いられる。平滑化されたポイントクラウドはオリジナルポイントクラウドにおいて一部点の位置が移動した状態である可能性があるため、変更された位置に適する色を探す復色のプロセスが必要となる。復色は隣接点の色値を用いて行われる。一例として、図11のように、新たな色値は最隣接点の色値と隣接点の色値を考慮して算出できる。
例えば、図11を参照すれば、復色はポイントに対する最も近いオリジナルポイントの特質情報の平均及び/またはポイントに対する最も近いオリジナル位置の特質情報の平均に基づいて変更された位置の適する色値を算出する。
テキスチャーイメージもまた、d0/d1の2つのレイヤで生成されるジオメトリイメージのように、t0/t1の2つのレイヤで生成される。
付加パッチ情報圧縮(Auxiliary patch info compression)40005
実施例によるポイントクラウドビデオエンコーダ10002または付加パッチ情報圧縮部40005は、付加パッチ情報(ポイントクラウドに関する付加的な情報)を圧縮することができる。
付加パッチ情報圧縮部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)である。
候補リストの最大数はユーザによって定義される。
Figure 2023509190000005
図12は実施例によるプッシュ-プルバックグラウンドフィリング(push-pull background filling)の一例を示す。
イメージパディング及びグループ拡張(Image padding and group dilation)40006、40007、40008
実施例によるイメージパッダは、プッシュ-プルバックグラウンドフィリング方式に基づいてパッチ領域以外の空間を意味のない付加的なデータで満たすことができる。
イメージパディングは、圧縮効率の向上を目的として、パッチ領域以外の空間を意味のないデータで満たすプロセスである。イメージパディングのために、パッチ内部の境界面側に該当する列または行のピクセル値がコピーされて空き空間を満たす方法が用いられる。または、図12のように、パッドされないイメージの解像度を段階的に減らし、再び解像度が高めるプロセスにおいて低い解像度のイメージからのピクセル値で空き空間を満たすプッシュプルバックグラウンドフィリング(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を決定する。図13は、4*4サイズのブロックに対して可能な4つのtraversal orderを一例として示す。
図14は実施例によるベストトラバーサルオーダーの一例を示す。
上述のように、実施例によるエントロピー圧縮部40012は、図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)の一例を示す。
図15は、上述したビデオ圧縮(Video compression)40009、40010、40011又はビデオ圧縮部の実施例であって、ビデオ/映像信号の符号化が行われる2Dビデオ/イメージエンコーダ15000の概略的なブロック図である。2Dビデオ/イメージエンコーダ15000は、上述したポイントクラウドビデオエンコーダに含まれてもよく、又は内部/外部のコンポーネントで構成されてもよい。図15の各構成要素は、ソフトウェア、ハードウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
ここで、入力映像は、上述したジオメトリーイメージ、テキスチャーイメージ(特質イメージ)、占有マップイメージなどを含む。ポイントクラウドビデオエンコーダの出力ビットストリーム(即ち、ポイントクラウドビデオ/イメージビットストリーム)は、各々の入力映像(ジオメトリーイメージ、テキスチャーイメージ(特質イメージ)、占有マップイメージなど)に対する出力ビットストリームを含む。
インター予測部15090及びイントラ予測部15100を合わせて予測部と呼ぶ。即ち、予測部は、インター予測部15090及びイントラ予測部15100を含む。変換部15030、量子化部15040、逆量子化部15050、逆変換部15060は残余(residual)処理部に含まれる。残余処理部は、減算部15020を更に含んでもよい。図15の映像分割部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)の値など)を共にまたは別として符号化する。符号化した情報(ex. 符号化したビデオ/映像情報)はビットストリームの形式でNAL(network abstraction layer)ユニットの単位で送信又は格納される。ビットストリームはネットワークを介して送信されてもよく、デジタル記憶媒体に記憶されてもよい。ここで、ネットワークは放送網及び/又は通信網などを含み、デジタル記憶媒体はUSB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの様々な記憶媒体を含む。エントロピー符号化部15110から出力された信号を送信する送信部(未図示)及び/又は記憶する記憶部(未図示)が符号化装置15000の内部/外部要素として構成されてもよく、または送信部はエントロピー符号化部15110に含まれてもよい。
量子化部15040から出力された量子化した変換係数は、予測信号を生成するために用いられる。例えば、量子化した変換係数に逆量子化部15040及び逆変換部15060によって逆量子化及び逆変換を適用することで、残余信号(残余ブロック又は残余サンプル)を復元する。加算部15200は復元された残余信号をインター予測部15090又はイントラ予測部15100から出力された予測信号に加えることで、復元(reconstructed)信号(復元ピクチャー、復元ブロック、復元サンプルアレイ)を生成する。スキップモードが適用された場合のように、処理対象ブロックに対する残余がない場合、予測されたブロックが復元ブロックとして用いられる。加算部15200は復元部又は復元ブロック生成部と呼ばれる。生成された復元信号は現在ピクチャー内の次の処理対象ブロックのイントラ予測のために用いられてもよく、後述のようにフィルタリングを経て次のピクチャーのインター予測のために用いられてもよい。
フィルタリング部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又は色平滑化部は、再構成されたテキスチャーから色値を平滑化する。例えば、平滑化フィルタリングが適用される。
その結果、再構成されたポイントクラウドデータが生成される。
図16は、圧縮された占有マップ、ジオメトリイメージ、テキスチャーイメージ、付加パッチ情報を復号してポイントクラウドを再構成するためのV-PCCの復号プロセスを示す。実施例による各プロセスの動作は以下のようである。
ビデオ復元(Video decompression)16001、16002
上述したビデオ圧縮の逆プロセスであって、HEVC、VVCなどの2Dビデオコーデックを用いて、上記プロセスで生成されたジオメトリイメージ、テキスチャーイメージ、占有マップイメージなどの圧縮されたビットストリームを復号化する過程である。
図17は実施例による2Dビデオ/イメージデコーダ(2D Video/Image Decoder)の一例を示す。
2Dビデオ/イメージデコーダは、図15の2Dビデオ/イメージエンコーダの逆過程となる。
図17の2Dビデオ/イメージデコーダは、図16のビデオ復元部(Video decompression unit)の実施例であって、ビデオ/映像信号の復号が行われる2Dビデオ/イメージデコーダ17000の概略なブロック図を示す。2Dビデオ/イメージデコーダ17000は、図1のポイントクラウドビデオデコーダに含まれてもよく、又は内部/外部コンポーネントで構成されてもよい。図17の各構成要素は、ソフトウェア、ハードウェア、プロセッサ よび/又はそれらの組み合わせに対応する。
ここで、入力したビットストリームは、上述したジオメトリーイメージ、テキスチャーイメージ(特質イメージ)、占有マップイメージなどに対するビットストリームを含む。復元映像(又は出力映像、復号された映像)は、上述したジオメトリーイメージ、テキスチャーイメージ(特質イメージ)、占有マップイメージに対する復元映像を示す。
図17を参照すれば、インター予測部17070及びイントラ予測部17080を合わせて予測部と呼ぶ。即ち、予測部はインター予測部17070及びイントラ予測部17080を含む。逆量子化部17020、逆変換部17030を合わせて残余処理部と呼ぶ。即ち、残余処理部は逆量子化部17020、逆変換部17030を含む。上述したエントロピー復号部17010、逆量子化部17020、逆変換部17030、加算部17040、フィルタリング部17050、インター予測部17070及びイントラ予測部17080は、実施例によれば、1つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)によって構成される。また、メモリ170はDPB(decoded picture buffer)を含んでもよく、デジタル記憶媒体によって構成されてもよい。
ビデオ/映像情報を含むビットストリームが入力されると、復号装置17000は、図15の符号化装置においてビデオ/映像情報が処理されたプロセスに対応して映像を復元する。例えば、復号装置17000は、符号化装置で適用された処理ユニットを用いて復号を行う。よって、復号の処理ユニットは、例えば、コーディングユニットであり、コーディングユニットはコーディングツリーユニット又は最大コーディングユニットからQuad-tree構造及び/又はbinary-tree構造によって分割される。また、復号装置17000によって復号されて出力された復元映像信号は再生装置で再生される。
復号装置17000は、符号化装置から出力された信号をビットストリームの形式で受信し、受信した信号はエントロピー復号部17010で復号される。例えば、エントロピー復号部17010はビットストリームをパーシングして映像復元(又はピクチャー復元)に必要な情報(ex.ビデオ/映像情報)を導出する。例えば、エントロピー復号部17010は指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報を復号し、映像復元に必要な構文要素の値、残余に関する変換係数の量子化された値を出力する。より詳細に、CABACエントロピー復号方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、復号対象構文要素情報と隣接及び復号対象ブロックの復号情報又は前のステップで復号されたシンボル/ビンの情報を用いて文脈(context)モデルを決定して、決定した文脈モデルに応じてビン(bin)の発生確率を予測し、ビンの算術復号(arithmetic decoding)を行って、各構文要素の値に該当するシンボルを生成する。このとき、CABACエントロピー復号方法は、文脈モデルを決定した後、次のシンボル/ビンの文脈モデルのために復号されたシンボル/ビンの情報を用いて文脈モデルをアップデートする。エントロピー復号部17010で復号された情報のうち予測に関する情報は、予測部(インター予測部17070及びイントラ予測部17080)に提供され、エントロピー復号部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へ伝送する。メモリ17060は現在ピクチャー内の復元されたブロックの復元サンプルを格納して、イントラ予測部17080へ伝送する。
本明細書において、図15の符号化装置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軸の座標値を(d0、s0、r0)とするとき、点(u、v)にマップされる3D空間上の位置のnormal軸、tangent軸、bitangent軸の座標値であるd(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は、まず、ポイントクラウドの2Dイメージマッピングのためのパッチ(patch)を生成する。パッチ生成の結果物として付加パッチ情報が生成され、生成された情報は、ジオメトリイメージ(geometry image)生成、テキスチャーイメージ(texture image)生成、平滑化(smoothing)のためのジオメトリの復元過程に用いられる。
パッチパッキング部18001は、生成されたパッチを2Dイメージ内にマップするパッチパッキングの過程を経る。パッチパッキングの結果物として占有マップ(occupancy map)が生成され、占有マップは、ジオメトリイメージ生成、テキスチャーイメージ生成、平滑化のためのジオメトリの復元過程に用いられる。
ジオメトリイメージ生成部18002は、付加パッチ情報と占有マップを用いてジオメトリイメージを生成し、生成されたジオメトリイメージは、ビデオ符号化により1つのビットストリーム(bitstream)に符号化される。
符号化前処理18003は、イメージパーディングを含む。生成されたジオメトリイメージ又は符号化されたジオメトリビットストリームを復号化して再生成されたジオメトリイメージは、3次元ジオメトリの復元に用いられ、その後、平滑化の過程を経る。
テキスチャーイメージ生成部18004は、(平滑化された)3次元ジオメトリとポイントクラウド、付加パッチ情報及び占有マップを用いてテキスチャーイメージを生成する。生成されたテキスチャーイメージは、1つのビデオビットストリームに符号化される。
メタデータ符号化部18005は、付加パッチ情報を1つのメタデータビットストリームに符号化する。
ビデオ符号化部18006は、占有マップを1つのビデオビットストリームに符号化する。
多重化部18007は、生成されたジオメトリ、テキスチャーイメージ、占有マップのビデオビットストリームと付加パッチ情報メタデータビットストリームを1つのビットストリームに多重化する。
送信部18008は、ビットストリームを受信端に送信する。又は、生成されたジオメトリ、テキスチャーイメージ、占有マップのビデオビットストリームと付加パッチ情報メタデータビットストリームを1つ以上のトラックデータとしてファイルで生成されるか、セグメントでカプセル化されて送信部を介して受信端に送信される。
図19は実施例による受信装置の動作の流れの一例を示す。
実施例による受信装置は、図1の受信装置、図16の復号プロセス、図17の2Dビデオ/イメージエンコーダに対応するか、それらの動作の一部/全部を行う。受信装置の各構成要素は、ソフトウェア、ハードウェア、プロセッサ及び/又はそれらの組み合わせに対応する。
図19は、V-PCCを用いたポイントクラウドデータの受信及び復元のための受信端の動作過程を示す。V-PCC受信端の動作は、図18のV-PCC送信端の動作の逆過程に従う。
実施例によるポイントクラウドデータ受信装置は、受信装置などと呼ばれる。
受信されたポイントクラウドのビットストリームは、ファイル/セグメントデカプセル化後に圧縮されたジオメトリイメージ、テキスチャーイメージ、占有マップのビデオビットストリームと付加パッチ情報メタデータビットストリームに逆多重化部19000によって逆多重化される。ビデオ復号化部19001とメタデータ復号化部19002は、逆多重化されたビデオビットストリームとメタデータビットストリームを復号化する。ジオメトリ復元部19003によって復号化されたジオメトリイメージと占有マップ及び付加パッチ情報を用いて3次元ジオメトリが復元され、この後、平滑化部19004によって平滑化の過程を経る。平滑化された3次元ジオメトリにテキスチャーイメージを用いて色値を付与することで、色ポイントクラウド映像/ピクチャーがテキスチャー復元部19005によって復元される。この後、客観的/主観的な視覚品質を向上させるために、色平滑化(color smoothing)の過程を更に行ってもよく、これにより導出された修正された(modified)ポイントクラウド映像/ピクチャーはレンダリングにより(ex. byポイントクラウドレンダー)を介してユーザに見せられる。一方、色平滑化は、場合によっては省略してもよい。
図20は実施例によるV-PCCベースのポイントクラウドデータの格納及びストリーミングのためのアーキテクチャの一例を示す。
図20のシステムの一部/全部は、図1の送受信装置、図4の符号化プロセス、図15の2Dビデオ/イメージエンコーダ、図16の復号プロセス、図18の送信装置、及び/又は図19の受信装置などの一部/全部を含む。図面の各構成要素は、ソフトウェア、ハードウェア、プロセッサ及びそれらの組み合わせに対応する。
図20ないし図22は、実施例による送受信装置にシステムが更に連結された構造を示す。実施例による送受信装置及びシステムを合わせて実施例による送受信装置と呼ぶ。
図20ないし図22に示す実施例による装置は、図18などによる送信装置は符号化されたポイントクラウドデータを含むビットストリームを送信するためのデータフォーマットに適するコンテナを生成する。
実施例によるV-PCCシステムは、ポイントクラウドデータを含むコンテナを生成し、効率的な送受信のために必要な付加のデータをコンテナに追加してもよい。
実施例による受信装置は、図20ないし図22のようなシステムに基づいてコンテナを受信してパーシングする。図19などによる受信装置は、パーシングされたビットストリームからポイントクラウドデータを復号して復元する。
図20ないし図22は、ビデオベースポイントクラウド圧縮(Video-based Point Cloud Compression(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つ以上のピクチャー(picture)/フレーム(frame)で生成することができる。ここで、ピクチャー(picture)/フレーム(frame)は、一般に特定の時間帯の1つの映像を示す単位を意味する。ポイントクラウドビデオを構成する点を1つ以上のパッチ(ポイントビデオを構成する点の集合であって、同一のパッチに属する点は3次元空間上で互いに隣接していて、2Dイメージへのマッピング過程において6面の境界ボックス平面のうち同じ方向にマップされる点の集合)に分けて2D平面にマップする際に、2D平面のその位置にデータが存在するか否かを0または1の値で知らせる2進マップ(binary map)である占有マップピクチャー/フレームを生成することができる。また、ポイントクラウドビデオを成す各点の位置情報(geometry)をパッチ単位で表す深さマップ形式のピクチャー/フレームであるジオメトリピクチャー/フレームを生成することができる。また、ポイントクラウドビデオを成す各点の色情報をパッチ単位で表すピクチャー/フレームであるテクスチャーピクチャー/フレームを生成することができる。このプロセスにおいて、個別パッチからポイントクラウドを再構成するために必要なメタデータを生成することができ、このメタデータは、各パッチの2D/3D空間における位置、サイズなどのパッチに関する情報を含む。このようなピクチャー/フレームが時間順に連続して生成され、ビデオストリーム又はメタデータストリームを構成することができる。
ポイントクラウドビデオエンコーダ20002は、ポイントクラウドビデオに関連する1つ以上のビデオストリームに符号化することができる。1つのビデオは複数のフレームを含み、1つのフレームは停止映像/ピクチャーに対応する。本明細書において、ポイントクラウドビデオとは、ポイントクラウド映像/フレーム/ピクチャーを含み、ポイントクラウドビデオはポイントクラウド映像/フレーム/ピクチャーと混用することがある。ポイントクラウドビデオエンコーダは、ビデオベースポイントクラウド圧縮(V-PCC)の手続きを行う。ポイントクラウドビデオエンコーダは、圧縮及びコーティングの効率のために、予測、変換、量子化、エントロピーコーティングなどの一連の手続きを行うことができる。符号化されたデータ(符号化されたビデオ/映像情報)は、ビットストリーム(bitstream)形式で出力される。V-PCC手続きに基づく場合、ポイントクラウドビデオエンコーダは、後述のように、ジオメトリビデオ、特質(attribute)ビデオ、占有(occupancy)マップビデオ、またメタデータ、例えば、パッチに関する情報に分けて符号化する。ジオメトリビデオはジオメトリイメージを含み、特質(attribute)ビデオは特質イメージを含み、占有(occupancy)マップビデオは占有マップイメージを含む。付加情報であるパッチデータは、パッチに関する情報を含む。特質ビデオ/イメージは、テキスチャービデオ/イメージを含む。
ポイントクラウドイメージエンコーダ20003は、ポイントクラウドビデオに関連する1つ以上のイメージに符号化することができる。ポイントクラウドイメージエンコーは、ビデオベースポイントクラウド圧縮(V-PCC)の手続きを行う。ポイントクラウドイメージエンコーダは、圧縮及びコーティングの効率のために、予測、変換、量子化、エントロピーコーティングなどの一連の手続きを行うことができる。符号化されたイメージは、ビットストリーム(bitstream)形式で出力される。V-PCC手続きに基づく場合、ポイントクラウドイメージエンコーダは、後述のように、ジオメトリイメージ、特質(attribute)イメージ、占有(occupancy)マップイメージ、またメタデータ、例えば、パッチに関する情報に分けて符号化することができる。
実施例によるポイントクラウドビデオエンコーダ及び/又はポイントクラウドイメージエンコーダは、実施例によるPCCビットストリーム(G-PCC及び/又はV-PCCビットストリーム)を生成することができる。
実施例によれば、ビデオエンコーダ2002、イメージエンコーダ20002、ビデオ復号20006、イメージ復号は、上述のように、1つのエンコーダ/デコーダによって行われてもよく、図示のように、別の経路によって行われてもよい。
カプセル化(file/segment encapsulation)20004は、符号化されたポイントクラウドデータ及び/又はポイントクラウドに関連するメタデータをファイルまたはストリーミングのためのセグメントなどの形式でカプセル化することができる。ここで、ポイントクラウドに関連するメタデータは、メタデータ処理部などから伝送されてもよい。メタデータ処理部は、ポイントクラウドビデオ/イメージエンコーダに含まれてもよく、別のコンポーネント/モジュールで構成されてもよい。カプセル化処理部は、そのビデオ/イメージ/メタデータをISOBMFFなどのファイルフォーマットでカプセル化するか、DASHセグメントなどの形式で処理する。カプセル化処理部は、実施例によれば、ポイントクラウドに関連するメタデータをファイルフォーマット上に含ませる。ポイントクラウドメタデータは、例えば、ISOBMFFファイルフォーマット上の様々なレベルのボックス(box)に含まれるか、ファイル内において別のトラック内のデータに含まれる。実施例によれば、カプセル化処理部は、ポイントクラウド関連メタデータそのものをファイルにカプセル化することができる。
実施例によるカプセル化又はカプセル化部は、G-PCC/V-PCCビットストリームをファイル内の1つ又は複数のトラックに分割して格納し、そのためのシグナル情報も共にカプセル化する。また、G-PCC/V-PCCビットストリーム上に含まれているアトラスストリームをファイル内のトラックに格納し、関連するシグナル情報を格納する。更に、G-PCC/V-PCCビットストリーム上に存在するSEIメッセージをファイル内のトラックに格納し、関連するシグナル情報を格納する。
送信処理部は、ファイルフォーマットに応じてカプセル化されたポイントクラウドデータに送信のための処理を施す。送信処理部は、送信部に含まれてもよく、別のコンポーネント/モジュールで構成されてもよい。送信処理部は、任意の送信プロトコルに従ってポイントクラウドデータを処理することができる。送信のための処理には、放送網を介した伝送のための処理、ブロードバンドを介した伝送のための処理を含む。実施例によれば、送信処理部は、ポイントクラウドデータだけではなく、メタデータ処理部からポイントクラウド関連メタデータが伝送され、これに送信のための処理を施してもよい。
送信部は、ポイントクラウドビットストリーム又はそのビットストリームを含むファイル/セグメントをデジタル記憶媒体又はネットワークを介して受信装置の受信部へ伝送することができる。送信のために、任意の送信プロトコルによる処理が行われる。送信のために処理されたデータは、放送網及び/又はブロードバンドを介して伝送される。このデータは、オンデマンド(On Demand)方式で受信側に伝送される。デジタル記憶媒体には、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの様々なものが含まれる。送信部は、所定のファイルフォーマットでメディアファイルを生成するための要素を含み、放送/通信ネットワークを介した送信のための要素を含んでもよい。受信部はビットストリームを抽出して復号装置に送信する。
受信部は、本明細書によるポイントクラウドデータ送信装置が送信したポイントクラウドデータを受信することができる。送信されるチャンネルに応じて、受信部は、放送網を介してポイントクラウドデータを受信してもよく、ブロードバンドを介してポイントクラウドデータを受信してもよい。または、デジタル記憶媒体を介してポイントクラウドビデオデータを受信してもよい。受信部は、受信したデータを復号し、これをユーザのビューポートなどに応じてレンダリングしてもよい。
受信処理部は、受信されたポイントクラウドビデオデータに対して送信プロトコルによる処理を行う。受信処理部は、受信部に含まれてもよく、別のコンポーネント/モジュールで構成されてもよい。送信側で送信のための処理が行われたことに対応して、受信処理部は、上述した送信処理部の逆過程を行う。受信処理部は、取得したポイントクラウドビデオをデカプセル化処理部へ伝送し、取得したポイントクラウドに関連するメタデータはメタデータ分析部へ伝送する。
デカプセル化処理部(file/segment decapsulation)20005は、受信処理部から送信されたファイル形式のポイントクラウドデータをデカプセル化することができる。デカプセル化処理部は、ISOBMFFなどによるファイルをデカプセル化し、ポイントクラウドビットストリーム又はポイントクラウド関連メタデータ(又は、別のメタデータビットストリーム)を取得することができる。取得したポイントクラウドビットストリームは、ポイントクラウドデコーダに、取得したポイントクラウド関連メタデータ(又は、メタデータビットストリーム)はメタデータ処理部に伝送する。ポイントクラウドビットストリームは、メタデータ(メタデータビットストリーム)を含んでもよい。メタデータ処理部は、ポイントクラウドビデオデコーダに含まれてもよく、又は別のコンポーネント/モジュールで構成されてもよい。デカプセル化処理部が取得するポイントクラウド関連メタデータは、ファイルフォーマット内のボックス又はトラックの形式であってもよい。デカプセル化処理部は、必要のある場合、メタデータ処理部からデカプセル化に必要なメタデータが伝送される。ポイントクラウド関連メタデータは、ポイントクラウドデコーダに伝送され、ポイントクラウド復号に用いられるか、又はレンダーに伝送され、ポイントクラウドレンダリングに用いられる。
ポイントクラウドビデオデコーダ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)21002又はパッチ生成部は、ポイントクラウドデータからパッチを生成する。パッチ生成部は、ポイントクラウドデータ又はポイントクラウドビデオを1つ以上のピクチャー(picture)/フレーム(frame)で生成する。一般に、ピクチャー(picture)/フレーム(frame)は、特定の時間帯の1つの映像を示す単位を意味する。ポイントクラウドビデオを構成する点を1つ以上のパッチ(ポイントクラウドを構成する点の集合であり、同じパッチに属する点は3次元空間において互いに隣接しており、2Dイメージへのマッピングプロセスにおいて6面の境界ボックス平面のうち同じ方向にマップされる点の集合)に分けて2D平面にマップする際、2D平面のその位置にデータが存在するか否かを0または1の値で知らせる2進マップ(binary map)である占有(occupancy)マップピクチャー/フレームを生成することができる。また、ポイントクラウドビデオを成す各点の位置情報(geometry)をパッチ単位で表す深さマップ形式のピクチャー/フレームであるジオメトリピクチャー/フレームを生成することができる。ポイントクラウドビデオを成す各点の色情報をパッチ単位で表すピクチャー/フレームであるテクスチャーピクチャー/フレームを生成することができる。このプロセスにおいて、個別パッチからポイントクラウドを再構成するために必要なメタデータを生成することができ、このメタデータは、各パッチの2D/3D空間における位置、サイズなどパッチに関する情報を含んでもよい。このようなピクチャー/フレームが時間順に連続して生成され、ビデオストリームまたはメタデータストリームを構成することができる。
また、パッチは、2Dイメージマッピングのために使用してもよい。例えば、ポイントクラウドデータが立方体の各面にプロジェクトされる。 パッチ生成後、生成されたパッチに基づいて、ジオメトリイメージ、1つ又はそれ以上の特質イメージ、占有マップ、付加データ及び/又はメッシュデータなどを生成することができる。
前処理部又は制御部(controller)によって、ジオメトリイメージ生成部(Geometry Image Generation)、特質イメージ生成部(Attribute Image Generation)、占有マップ生成部(Occupancy Map Generation)、付加データ生成部(Auxiliary Data Generation)及び/又はメッシュデータ生成部(Mesh Data Generation)が行われる。
ジオメトリイメージ生成部(Geometry Image Generation)21002は、パッチ生成の結果物に基づいてジオメトリイメージを生成する。ジオメトリは、3D空間上のポイントを示す。パッチに基づいてパッチの2Dイメージパッキングに関連する情報を含む占有マップ、付加データ(パッチデータ)及び/又はメッシュデータなどを使用して、ジオメトリイメージを生成する。ジオメトリイメージは、パッチ生成後に生成されたパッチの深さ(e.g.、近さ、遠さ)などの情報に関連する。
特質イメージ生成部(Attribute Image Generation)21003は、特質イメージを生成する。例えば、特質はテキスチャー(Texture)を示す。テキスチャーは、各々のポイントに対応する色値である。実施例によれば、テキスチャーを含む複数(N個)の特質(色、反射率などの属性)イメージを生成する。複数の特質は、マテリアル(材質に関する情報)、反射率などを含む。また、実施例によれば、特質は、同じテキスチャーでも視覚、光によって色が変わる情報を更に含む。
占有マップ生成(Occupancy Map Generation)21004は、パッチから占有マップを生成する。占有マップは、そのジオメトリ又は特質イメージなどのピクセルにデータが存在するか否かを示す情報を含む。
付加データ生成(Auxiliary Data Generation)21005は、パッチに関する情報を含む付加データを生成する。即ち、付加データは、ポイントクラウド客体のパッチに関するメタデータを示す。例えば、パッチに対する法線(normal)ベクトルなどの情報を示す。具体的に、実施例によれば、付加データは、パッチからポイントクラウドを再構成するために必要な情報を含む(例えば、パッチの2D/3D空間上の位置、サイズなどに関する情報、プロジェクション平面(normal)識別情報、パッチマッピング情報など)。
メッシュデータ生成(Mesh Data Generation)21006は、パッチからメッシュデータを生成する。メッシュは、隣接したポイント間の連結情報を示す。例えば、三角形のデータを示す。例えば、実施例によるメッシュデータは、各ポイント間の接続(connectivity)情報を意味する。
ポイントクラウド前処理部又は制御部は、パッチ生成、ジオメトリイメージ生成、特質イメージ生成、占有マップ生成、付加データ生成、メッシュデータ生成に関連するメタデータ(Metadata)を生成する。
ポイントクラウド送信装置は、前処理で生成された結果物に対応して、ビデオ符号化及び/又はイメージ符号化を行う。ポイントクラウド送信装置は、ポイントクラウドビデオデータだけではなく、ポイントクラウドイメージデータを生成する。実施例によれば、ポイントクラウドデータは、ビデオデータのみを、イメージデータのみを、及び/又はビデオデータ及びイメージデータの両方を含む。
ビデオ符号化部21007は、ジオメトリビデオ圧縮、特質ビデオ圧縮、占有マップビデオ圧縮、付加データ圧縮及び/又はメッシュデータ圧縮を行う。ビデオ符号化部は、符号化された各々のビデオデータを含むビデオストリーム(ら)を生成する。
具体的に、ジオメトリビデオ圧縮は、ポイントクラウドジオメトリビデオデータを符号化する。特質ビデオ圧縮は、ポイントクラウドの特質ビデオデータを符号化する。付加データ圧縮は、ポイントクラウドビデオデータに関連する付加データを符号化する。メッシュデータ圧縮(Mesh data compression)は、ポイントクラウドビデオデータのメッシュデータを符号化する。ポイントクラウドビデオ符号化部の各動作は、並列に行われる。
イメージ符号化部21008は、ジオメトリイメージ圧縮、特質イメージ圧縮、占有マップイメージ圧縮、付加データ圧縮及び/又はメッシュデータ圧縮を行う。イメージ符号化部は、符号化された各々のイメージデータを含むイメージ(ら:等)を生成する。
具体的に、ジオメトリイメージ圧縮は、ポイントクラウドジオメトリイメージデータを符号化する。特質イメージ圧縮は、ポイントクラウドの特質イメージデータを符号化する。付加データ圧縮は、ポイントクラウドイメージデータに関連する付加データを符号化する。メッシュデータ圧縮(Mesh data compression)は、ポイントクラウドイメージデータに関連するメッシュデータを符号化する。ポイントクラウドイメージ符号化部の各動作は、並列に行われる。
ビデオ符号化部及び/又はイメージ符号化部は、前処理部からメタデータを受信する。ビデオ符号化部及び/又はイメージ符号化部は、メタデータに基づいて各々の符号化プロセスを行う。
ファイル/セグメントカプセル化部(File/Segment Encapsulation)21009は、ビデオストリーム(ら)及び/又はイメージ(ら)をファイル及び/又はセグメントの形式にカプセル化する。ファイル/セグメントカプセル化部は、ビデオトラックカプセル化、メタデータトラックカプセル化及び/又はイメージカプセル化を行う。
ビデオトラックカプセル化は、1つ又はそれ以上のビデオストリームを1つ又はそれ以上のトラックにカプセル化する。
メタデータトラックカプセル化は、ビデオストリーム及び/又はイメージに関連するメタデータを1つ又はそれ以上のトラックにカプセル化する。メタデータは、ポイントクラウドデータのコンテンツに関連するデータを含む。例えば、初期ビューイングオリエンテーションメタデータ(Initial Viewing Orientation Metadata)を含む。実施例によれば、メタデータは、メタデータトラックにカプセル化されてもよく、ビデオトラック又はイメージトラックに共にカプセル化されてもよい。
イメージカプセル化は、1つ又はそれ以上のイメージを1つ又はそれ以上のトラック又はアイテムにカプセル化する。
例えば、実施例によれば、4つのビデオストリーム及び2つのイメージがカプセル化部に入力される場合、4つのビデオストリーム及び2つのイメージを1つのファイル内にカプセル化することができる。
実施例によるポイントクラウドビデオエンコーダ及び/又はポイントクラウドイメージエンコーダは、実施例によるG-PCC/V-PCCビットストリームを生成する。
ファイル/セグメントカプセル化部は、前処理部からメタデータを受信する。ファイル/セグメントカプセル化部は、メタデータに基づいてカプセル化を行う。
ファイル/セグメントカプセル化によって生成されたファイル及び/又はセグメントは、ポイントクラウド送信装置又は送信部によって送信される。例えば、DASHに基づくプロトコルによってセグメント(ら;等)が伝送(Delivery)される。
実施例によるカプセル化又はカプセル化部は、V-PCCビットストリームをファイル内において1つ又は複数のトラックに分割格納し、そのためのシグナル情報も共にカプセル化する。また、V-PCCビットストリーム上に含まれているアトラスストリームをファイル内のトラックに格納し、関連するシグナル情報を格納する。更に、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)を行う。デカプセル化処理部(file/segment decapsulation)は、受信処理部が伝送したファイル形式のポイントクラウドデータをデカプセル化する。デカプセル化処理部は、ISOBMFFなどによるファイル又はセグメントをデカプセル化し、ポイントクラウドビットストリーム及びポイントクラウド関連メタデータ(又は別のメタデータビットストリーム)を取得する。取得したポイントクラウドビットストリームは、ポイントクラウドデコーダに伝送し、取得したポイントクラウド関連メタデータ(又はメタデータビットストリーム)は、メタデータ処理部に伝送する。ポイントクラウドビットストリームは、メタデータ(メタデータビットストリーム)を含んでもよい。メタデータ処理部は、ポイントクラウドビデオデコーダに含まれてもよく、別のコンポーネント/モジュールで構成されてもよい。デカプセル化処理部が取得するポイントクラウド関連メタデータは、ファイルフォーマット内のボックス又はトラックの形式であってもよい。デカプセル化処理部は、必要のある場合、メタデータ処理部からデカプセル化に必要なメタデータが伝送される。ポイントクラウド関連メタデータは、ポイントクラウドデコーダに伝送されてポイントクラウド復号に用いられてもよく、又はレンダラーに伝送されてポイントクラウドレンダリングに用いられてもよい。ファイル/セグメントデカプセル化部は、ポイントクラウドデータに関連するメタデータを生成する。
ビデオトラックデカプセル化(Video Track Decapsulation)は、ファイル及び/又はセグメントに含まれたビデオトラックをデカプセル化する。ジオメトリビデオ、特質ビデオ、占有マップ 、付加データ及び/又はメッシュデータを含むビデオストリーム(ら)をデカプセル化する。
メタデータトラックデカプセル化(Metadata Track Decapsulation)は、ポイントクラウドデータに関連するメタデータ及び/又は付加データなどを含むビットストリームをデカプセル化する。
イメージデカプセル化(Image Decapsulation)は、ジオメトリイメージ、特質イメージ、占有マップ、付加データ及び/又はメッシュデータを含むイメージ(ら)をデカプセル化する。
実施例によるデカプセル化又はデカプセル化部は、G-PCC/V-PCCビットストリームをファイル内の1つ又は複数のトラックに基づいて分割パーシング(デカプセル化)し、そのためのシグナル情報も共にデカプセル化する。また、G-PCC/V-PCCビットストリーム上に含まれているアトラスストリームをファイル内のトラックに基づいてデカプセル化し、関連するシグナル情報をパーシングする。更に、G-PCC/V-PCCビットストリーム上に存在するSEIメッセージをファイル内のトラックに基づいてデカプセル化し、関連するシグナル情報を共に取得する。
ビデオ復号部(Video Decoding)22001は、ジオメトリビデオ復元、特質ビデオ復元、占有マップ復元、付加データ復元及び/又はメッシュデータ復元を行う。ビデオ復号部は、実施例によるポイントクラウド送信装置のビデオ符号化部が行うプロセスに対応して、ジオメトリビデオ、特質ビデオ、付加データ及び/又はメッシュデータを復号する。
イメージ復号部(Image Decoding)22002は、ジオメトリイメージ復元、特質イメージ復元、占有マップ復元、付加データ復元及び/又はメッシュデータ復元を行う。イメージ復号部は、実施例によるポイントクラウド送信装置のイメージ符号化部が行うプロセスに対応して、ジオメトリイメージ、特質イメージ、付加データ及び/又はメッシュデータを復号する。
実施例によるビデオ復号部、イメージ復号部は、上述のように、1つのビデオ/イメージデコーダによって処理されてもよく、図示のように別のパスで行われてもよい。
ビデオ復号部及び/又はイメージ復号部は、ビデオデータ及び/又はイメージデータに関連するメタデータを生成する。
実施例によるポイントクラウドビデオエンコーダ及び/又はポイントクラウドイメージエンコーダは、実施例によるG-PCC/V-PCCビットストリームを復号する。
ポイントクラウドプロセシング部(Point Cloud Processing)22003は、ジオメトリ再構成(Geometry Reconstruction)及び/又は特質再構成(Attribute Reconstruction)を行う。
ジオメトリ再構成は、復号されたビデオデータ及び/又は復号されたイメージデータから占有マップ、付加データ及び/又はメッシュデータに基づいて、ジオメトリビデオ及び/又はジオメトリイメージを復元する。
特質再構成は、復号された特質ビデオ及び/又は復号された特質イメージから、占有マップ、付加データ及び/又はメッシュデータに基づいて、特質ビデオ及び/又は特質イメージを復元する。実施例によれば、例えば、特質はテキスチャーである。実施例によれば、特質は複数の属性情報を意味する。複数の特質がある場合、実施例によるポイントクラウドプロセシング部は、複数の特質再構成を行う。
ポイントクラウドプロセシング部は、ビデオ復号部、イメージ復号部及び/又はファイル/セグメントデカプセル化部からメタデータを受信して、メタデータに基づいてポイントクラウドを処理する。
ポイントクラウドレンダリング部(Point Cloud Rendering)は、再構成されたポイントクラウドをレンダリングする。ポイントクラウドレンダリング部は、ビデオ復号部、イメージ復号部及び/又はファイル/セグメントデカプセル化部からメタデータを受信し、メタデータに基づいてポイントクラウドをレンダリングする。
ディスプレイは、レンダリングされた結果を実際のディスプレイ装置上にディスプレイする。
実施例による方法/装置は、図15ないし図19に示されているように、ポイントクラウドデータを符号化/復号した後、ポイントクラウドデータを含むビットストリームをファイル及び/又はセグメントの形式でカプセル化及び/又はデカプセル化する。
例えば、実施例によるポイントクラウドデータ送信装置は、ポイントクラウドデータをファイルに基づいてカプセル化し、このときファイルは、ポイントクラウドに関するパラメータを含むV-PCCトラック、ジオメトリを含むジオメトリトラック、特質を含む特質トラック及び占有マップを含む占有トラックを含む。
また、実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータをファイルに基づいてデカプセル化し、このとき、ファイルには、ポイントクラウドに関するパラメータを含むV-PCCトラック、ジオメトリを含むジオメトリトラック、特質を含む特質トラック及び占有マップを含む占有トラックが含まれる。
上述した動作は、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009、図22のファイル/セグメントデカプセル化部22000などによって行われる。
図23は実施例によるポイントクラウドデータの送受信方法/装置と連動可能な構造の一例を示す。
実施例による構造では、サーバー2360、ロボット2310、自立走行車両2320、XR装置2330、スマートフォン2340、家電2350及び/又はHMD2370のうちの少なくとも1つ以上がクラウドネットワーク2310と接続する。ここで、ロボット2310、自立走行車両2320、XR装置2330、スマートフォン2340又は家電2350などを装置と呼ぶ。また、XR装置2330は、実施例によるポイントクラウドデータ(PCC)装置に対応するか、PCC装置と連動する。
クラウドネットワーク2300は、クラウドコンピューティングインフラの一部を構成するか、クラウドコンピューティングインフラ内に存在するネットワークを意味する。ここで、クラウドネットワーク2300は、3Gネットワーク、4G又はLTE(Long Term Evolution)ネットワーク又は5Gネットワークなどを用いて構成される。
サーバー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は、様々なセンサにより又は外部装置から取得した3次元ポイントクラウドデータ又はイメージデータを分析して3次元ポイントに対する位置データ及び属性データを生成することにより周辺空間又は現実客体に関する情報を得て、出力する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客体の少なくとも一部が画面内の客体にオーバーラップされるように出力される。例えば、自律走行車両1220は車路、他の車両、信号灯、交通表示板、二輪車、歩行者、建物などのような客体に対応する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サービス関連コンテンツデータを受信/処理してユーザに提供することができる。実施例による車両又はユーザインターフェース装置はユーザ入力信号を受信する。実施例によるユーザ入力信号は自律走行サービスを指示する信号を含む。
実施例によるポイントクラウドデータは、PCCデータ、V-PCCデータ、視覚容積測定データ(Visual Volumetric Video-based data)、V3Cデータなどと様々に呼ばれる。
図24は実施例によるV-PCCビットストリームを示す。
V-PCCビットストリーム24000は、実施例によるポイントクラウドデータが送信される形式(即ち、ビットストリーム形式)を意味する。図24に示されたV-PCCビットストリーム24000は、図4の圧縮されたビットストリーム(compressed bitstream)、図15のットストリーム、図16において受信される圧縮されたビットストリーム(compressed bitstream)、図17のビットストリーム、図18において多重化部18007で生成されたビットストリーム、図19において逆多重化部で生成されたビットストリームを意味する。
図24に示されたV-PCCビットストリームは、図23に示された実施例によるXRデバイス1230、自立走行車両1220、ロボット1210、AIサーバー1260、家電製品1250、スマートフォン1240において生成され、各装置又は各装置間のクラウドネットワーク(5G)1200を介して送受信される。
図24に示されたV-PCCビットストリーム24000は、図20のファイル/セグメントカプセル化部20004に伝送されたビットストリームであってもよい。即ち、V-PCCビットストリームは、実施例によるポイントクラウドデータ送信装置/方法が直接に送信するビットストリームであってもよいが、ISOBMFF方式によってカプセル化される前のビットストリームを意味してもよい。
図24に示されたV-PCCビットストリーム24000は、図21のビデオストリーム(video streams)及び/又はイメージストリーム(image streams)であってもよく、ファイル/セグメントカプセル化部21009で出力されたセグメント(又はファイル)を構成するビットストリームであってもよい。
実施例によるV-PCCビットストリーム24000は、1つ又はそれ以上のサンプルストリームV-PCCユニット(sample stream V-PCC unit)24001を含む。1つ又はそれ以上のサンプルストリームV-PCCユニット(sample stream V-PCC unit)24001は、V-PCCユニット(V-PCC unit)及びV-PCCユニットの大きさを示すV-PCCユニットサイズ(V-PCC unit Size)を含む。
V-PCCビットストリーム24000は、コーティングされたポイントクラウドシーケンス(coded point cloud sequence、CPCS)を含む。
V-PCCユニット(V-PCC Unit)は、V-PCCユニットヘッダ24001b及び/又はV-PCCユニットペイロード(V-PCC Unit payload)24001cを含む。
V-PCCユニットヘッダ24001bは、実施例によるV-PCCユニットペイロードに含まれるデータに関するシグナル情報を含む。実施例によるV-PCCユニットヘッダは、例えば、実施例によるV-PCCユニットがいずれのデータ(例えば、V-PCCパラメータセット(V-PCC Parameter Set)24002a、占有ビデオ データ(Occupancy video data)24002b、ジオメトリビデオデータ24002c、アトラスデータ24002e、及び/又は特質ビデオデータ24002dなど)を含むかを示す。また、実施例によるV-PCCユニットヘッダ24001bは、V-PCCユニットに含まれるデータに必要なシグナル情報を更に含む。
V-PCCユニットペイロード24001cは、実施例によるポイントクラウドデータ又はポイントクラウドデータのレンダリング又は再構成(reconstruct)に必要な情報を含む。
V-PCCユニットペイロード24001cは、例えば、実施例によるV-PCCパラメータセット(V-PCC Parameter Set)24002a、占有ビデオデータ(Occupancy video data)24002b、ジオメトリビデオデータ24002c、アトラスデータ24002e、及び/又は特質ビデオデータ24002dを含む。V-PCCユニットペイロード24001cは、占有ビデオ、特質ビデオ又はジオメトリビデオを伝送し、V-PCCユニットペイロード24001cは、1つ又はそれ以上のNALユニットで構成される(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.)。
実施例によるV-PCCユニットペイロード24002は、実施例によるポイントクラウドデータを含む。ポイントクラウドデータは、ポイントクラウドデータの占有ビデオデータ(occupancy video data)、ジオメトリビデオデータ(geometry video data)及び/又は特質ビデオデータ(attribute video data)のいずれか1つを含む。ポイントクラウドデータは、PCM(Pulse Coding Modulation)方式によって符号化されたジオメトリビデオデータ及び/又はPCM方式で符号化された特質ビデオデータを含む。
実施例によるV-PCCパラメータセット(V-PCC Parameter Set)4002aは、実施例によるポイントクラウドデータに対するパラメータ(parameter)又はシグナル情報(例えば、メタデータ)を含むパラメータセットを意味する。例えば、V-PCCパラメータセットは、ポイントクラウドデータを構成するシーケンス(sequence)に関するシグナル情報を含む。
占有ビデオデータ(Occupancy video data)24002bは、実施例による占有マップデータを含む。ジオメトリビデオデータ24002cは、実施例によるジオメトリビデオデータを含む。特質ビデオデータ24002dは、実施例による特質ビデオデータを含む。
アトラスデータ24002eは、ポイントクラウドデータの特質(例えば、テキスチャー(パッチ))及び/又は深さなどで構成されたデータを意味する。
以下、実施例によるV-PCCユニットの構文(syntax)の一例を示す。
Figure 2023509190000006
図25は実施例によるV-PCCビットストリームの一例を示す。
図25に示された実施例によるV-PCCビットストリームは、図24のV-PCCビットストリーム24000を意味する。
図25に示されたV-PCCビットストリームは、図23に示された実施例によるXRデバイス1230、自立走行車両1220、ロボット1210、AIサーバー1260、家電製品1250、スマートフォン1240において生成され、各装置又は各装置間のクラウドネットワーク(5G)1200を介して送受信される。
実施例によるV-PCCビットストリーム25000は、1つ又はそれ以上のサンプルストリームV-PCCユニット25002を含む。サンプルストリームV-PCCユニットは、図24のサンプルストリームV-PCCユニット24001を意味する。サンプルストリームV-PCCユニットはV-PCCユニットとも呼ばれる。
実施例によるV-PCCビットストリーム25000は、サンプルストリームV-PCCユニットに関する情報を含むサンプルストリームV-PCCヘッダ25001を更に含む。
サンプルストリームV-PCCユニット25002には様々なタイプ(type)がある。例えば、サンプルストリームV-PCCユニット25002は、V-PCCパラメータセット(V-PCC Parameter Set、VPS)を含むV-PCCユニット、特質データ(Attribute data、AD)を含むV-PCCユニット、占有ビデオデータ(Occupancy Video Data、OVD)を含むV-PCCユニット、ジオメトリビデオデータ(Geometry Video Data、GVD)を含むV-PCCユニット、及び/又は特質ビデオデータ(Attribute Video Data、AVD)を含むV-PCCユニットがある。
実施例によるV-PCCビットストリーム25000は、実施例によるV-PCCパラメータセットを含むサンプルストリームV-PCCユニットを含む(25002)。実施例によるV-PCCビットストリーム25000は、特質データ(Attribute data、AD)、占有ビデオデータ(Occupancy Video Data、OVD)、ジオメトリビデオデータ(Geometry Video Data、GVD)、及び/又は特質ビデオデータ(Attribute Video Data、AVD)のいずれか1つを含むサンプルストリームV-PCCユニットの1つ又はそれ以上を含む。
25004は、実施例によるサンプルストリームV-PCCヘッダ(sample stream V-PCC header)25001の構文の一例を示す。サンプルストリームV-PCCヘッダ25004は、ssvh_unit_size_precision_bytes_minus1情報を含む。各々のサンプルストリームV-PCCユニットは、V-PCCユニットの1つのタイプ(VPS、AD、OVD、GVD及び/又はAVD)を有する(Each sample stream V-PCC unit contains one type of V-PCC unit among VPS、AD、OVD、GVD、and AVD.)。
ssvh_unit_size_precision_bytes_minus1に1を足した値は、例えば、サンプルストリームV-PCCユニット内の全てのssvu_vpcc_unit_size要素のサイズ(byte)を示す。ssvh_unit_size_precision_bytes_minus1は0ないし7の範囲の値である(plus 1 specifies the precision、in bytes、of the ssvu_vpcc_unit_size element in all sample stream V-PCC units. ssvh_unit_size_precision_bytes_minus1 is in the range of 0 to 7.)。
25005は、実施例によるサンプルストリームV-PCCユニット25002の構文の一例を示す。各々のサンプルストリームV-PCCユニットの内容は、サンプルストリームV-PCC内に含まれたV-PCCユニットと同一のアクセスユニット(access unit)と関連する(The content of each sample stream V PCC unit is associated with the same access unit as the V PCC unit contained In the sample stream V PCC unit)。V-PCCユニット25002は、例えば、ssvu_vpcc_unit_sizeを含む。
ssvu_vpcc_unit_sizeは、隣接したV-PCCユニットのサイズ(byte)を示す。本パラメータを示すためのビット数は、(ssvh_unit_size_precision_bytes_minus1 + 1)* 8である。(specifies the size、in bytes、of the subsequent vpcc_unit. The number of bits used to represent ssvu_vpcc_unit_size is equal to (ssvh_unit_size_precision_bytes_minus1 + 1) * 8.)
vpcc_unit()、即ち、vpcc_unit(ssvu_vpcc_unit_size)は、実施例によるssvu_vpcc_unit_sizeの大きさを有するV-PCCユニットを示す。実施例によるvpcc_unit(ssvu_vpcc_unit_size)は、V-PCCユニットヘッダ(V-PCC Unit Header、vpcc_unit_header())及び/又はV-PCCユニットペイロード(V-PCC Unit Payload、vpcc_unit_payload())を含む。図25に示されたV-PCCユニットヘッダは、図24に示されたV-PCCユニットヘッダ24001bを意味する。
実施例によるvpcc_unit()は、例えば、以下のような構文を有する。
Figure 2023509190000007
vpcc_unit_header()は、実施例によるV-PCCユニットヘッダ(V-PCC Unit Header)を意味する。(vpcc_unit_payload)は、実施例によるV-PCCユニットペイロード(V-PCC Unit Payload)を意味する。
図26は実施例によるV-PCCユニットヘッダ(V-PCC Unit Header)及び/又はV-PCCユニットペイロード(V-PCC Unit Payload)の構文の一例を示す。
図26に示されたV-PCCユニットヘッダ26000は、図24のV-PCCユニットヘッダ24001bを意味する。図26に示されたV-PCCユニットヘッダ26000は、図25のサンプルストリームV-PCCユニット内のV-PCCユニット(vpcc_unit)内に含まれるV-PCCユニットヘッダを意味する。V-PCCユニットは、サンプルストリームV-PCCユニット(sample stream V-PCC unit)と呼ばれる。
図26に示されたV-PCCビットストリームは、図23に示された実施例によるXRデバイス1230、自立走行車両1220、ロボット1210、AIサーバー1260、家電製品1250、スマートフォン1240において生成され、各装置又は各装置間のクラウドネットワーク(5G)1200を介して送受信される。
vuh_unit_typeは、V-PCCユニットのタイプを示す(indicates the V-PCC unit type)。V-PCCユニットタイプは、例えば、以下の表のようです。
Figure 2023509190000008
実施例によるV-PCCユニットヘッダ内に含まれるシグナル情報は、実施例によるV-PCCユニットタイプ(vuh_unit_type)によって異なる。
例えば、vuh_unit_typeの値が0である場合、実施例によるV-PCCユニットはV-PCCパラメータセット(V-PCC parameter set)を含むタイプのV-PCCユニットであるため、PCCユニットヘッダはV-PCCパラメータセット(VPS)と関連する情報を含む。
例えば、vuh_unit_typeの値が1(即ち、VPCC_AD)である場合、V-PCCユニットはアトラスデータ(Atlas data)を含むタイプのV-PCCユニットであるため、PCCユニットヘッダはアトラスデータと関連する情報(例えば、vuh_vpcc_parameter_set_id及び/又はvuh_atlas_id)を含む。
例えば、vuh_unit_typeの値が2(即ち、VPCC_GVD)である場合、実施例によるV-PCCユニットはジオメトリビデオデータ(Geometry Video data)を含むタイプのV-PCCユニットであるため、V-PCCユニットヘッダはジオメトリビデオデータと関連する情報(例えば、vuh_map_index、vuh_raw_video_flag)を含む。
例えば、vuh_unit_typeの値が3(即ち、VPCC_AVD)である場合、実施例によるV-PCCユニットは特質ビデオデータ(Attribute Video data)を含むタイプのV-PCCユニットであるため、PCCユニットヘッダは特質ビデオデータと関連する情報(例えば、vuh_attribute_index、vuh_attribute_dimension_index、vuh_map_index及び/又はvuh_raw_video_flag)を含む。
例えば、vuh_unit_typeの値が4(即ち、VPCC_OVD)である場合、V-PCCユニットは占有ビデオデータ(Occupancy Video data)を含むタイプのV-PCCユニット、V-PCCユニットヘッダは占有ビデオデータと関連する情報(例えば、vuh_vpcc_parameter_set_id及び/又はvuh_atlas_id)を含む。
vuh_vpcc_parameter_set_idは、動的(active)V-PCC VPSに対するvps_vpcc_parameter_set_idの値を示す(specifies the value of vps_vpcc_parameter_set_id for the active V-PCC VPS.)。
vuh_atlas_idは、現在のV-PCCユニットに対応するアトラスのインデックスを示す(specifies the index of the atlas that corresponds to the current V-PCC unit.)。
vuh_attribute_indexは、特質ビデオデータユニットにおいて送信される特質データのインデックスを示す。(indicates the index of the attribute data carried in the Attribute Video Data unit.)
vuh_attribute_dimension_indexは、特質ビデオデータユニットにおいて伝送される特質ディメンショングループ(attribute dimension group)のインデックスを示す。(indicates the index of the attribute dimension group carried in the Attribute Video Data unit.)
vuh_map_indexは、存在する場合、現在のジオメトリ又は特質ストリーム内のマップインデックス(map index)を示す。(when present、indicates the map index of the current geometry or attribute stream)
vuh_raw_video_flagが1である場合、関連するジオメトリ又は特質ビデオデータがRAW方式で(又はPCM方式で)符号化されたビデオのみを含むことを示す。vuh_raw_video_flagが0である場合、関連するジオメトリ又は特質ビデオデータがRAWコーディング(又はPCMコーディング)されたポイントを有することを示す。vuh_raw_video_flagが存在しない場合、その値は0と推論される。(equal to 1 indicates that the associated geometry or attribute video data unit is a RAW coded points video only.vuh_raw_video_flag equal to 0 indicates that the associated geometry or attribute video data unit may contain RAW coded points. When vuh_raw_video_flag is not present、its value shall be inferred to be equal to 0.)
図26に示されたV-PCCユニットペイロード26001は、図24のV-PCCユニットペイロード24001cを意味する。図26に示されたV-PCCユニットペイロード26001は、図25のサンプルストリームV-PCCユニット内のV-PCCユニット(vpcc_unit)内に含まれるV-PCCユニットペイロード(vpcc_unit_payload)を意味する。
実施例によるV-PCCユニットペイロードは、上述したvuh_unit_typeの値によって互いに異なるデータを含む。
例えば、vuh_unit_typeの値が0である場合、実施例によるV-PCCユニットのタイプはV-PCCパラメータセット(V-PCC parameter set)であるため、V-PCCユニットペイロード26001はV-PCCパラメータセット(vpcc_parameter_set())を含む。
例えば、vuh_unit_typeの値が1(即ち、VPCC_AD)である場合、実施例によるV-PCCユニットのタイプはアトラスデータ(Atlas data)であるため、V-PCCユニットペイロード26001はアトラスデータ(又はアトラスサブビットストリーム、(atlas_sub_bitstream))を含む。
例えば、vuh_unit_typeの値が2(即ち、VPCC_GVD)又は3(即ち、VPCC_AVD)又は4(即ち、VPCC_OVD)である場合、実施例によるV-PCCユニットのタイプはジオメトリビデオデータであるため、特質ビデオデータ、及び/又は占有ビデオデータを含むビデオサブビットストリーム(video sub-bitstream)を含む。
図27は実施例によるアトラスサブストリーム(atlas substream)の一例を示す。
実施例によるV-PCCユニット(V-PCC Unit)のV-PCCユニットペイロード(V-PCC Unit Payload)27000は、図27に示されたアトラスサブビットストリーム(atlas sub bitstream、又はアトラスサブストリーム)を含み、アトラスサブビットストリームは、1つ又はそれ以上のサンプルストリームNALユニットを含む。(A V-PCC unit payload of V-PCC unit carrying atlas substream is composed of one or more sample stream NAL units)
図27に示された実施例によるアトラスサブビットストリーム(atlas sub bitstream)は、実施例によるポイントクラウドデータを1つ又はそれ以上のNAL(Network Abstraction Layer)ユニット又はサンプルストリームNALユニット(sample stream NAL unit)の形式で構成する。
実施例によるアトラスサブビットストリーム(atlas sub bitstream)は、V-PCCサンプルストリームNALヘッダ(sample stream NAL header)27001を含む。実施例によるV-PCCユニット(V-PCC Unit)27000は、1つ又はそれ以上のサンプルストリームNALユニット27002を含む。
実施例によるNALユニット(又は、サンプルストリームNALユニット)27002には様々なタイプがある。例えば、NALユニットは、アトラスシーケンスパラメータセット(Atlas sequence parameter set、ASPS)を含むサンプルストリーム NALユニット、アトラスフレームパラメータセット(Atlas frame parameter set、AFPS)を含むサンプルストリームNALユニット、アトラスタイルグループ(Atlas tile group、ATP)を含むサンプルストリームNALユニット、及び/又はSEI(又はSEIメッセージ)を含むNALユニットがある。
サンプルストリームNALヘッダ(sample stream NAL header)27001は、1つ又はそれ以上のサンプルストリームNALユニット27002に関するシグナル情報を含む。例えば、サンプルストリームNALヘッダ27001は、ssvh_unit_size_precision_bytes_minus1を含む。
27003は、実施例によるサンプルストリームNALヘッダの構文の一例を示す。
ssvh_unit_size_precision_bytes_minus1に1を足した値は、例えば、サンプルストリームNALユニット内の全てのssvu_vpcc_unit_size要素のサイズ(byte)を示す。ssvh_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.)
27004は、実施例によるサンプルストリームNALユニットの構文の一例を示す。
ssvu_nal_unit_sizeは、隣接したNALユニットのサイズ(byte)を示す。本パラメータを示すためのビットの数は、(ssvh_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_unit(ssvu_vpcc_unit_size)は、実施例によるssvu_nal_unit_sizeの大きさを有するNALユニットを示す。
各々のサンプルストリームNALユニットは、アトラスシーケンスパラメータセット(atlas sequence parameter set、ASPS)、アトラスフレームパラメータセット(atlas frame parameter set、AFPS)、アトラスタイルグループ情報(atlas tile group information)及び/又はSEI(Supplemental enhancement information)を含む。(each sample stream NAL unit contains atlas sequence parameter set (ASPS)、atlas frame parameter set (AFPS)、atlas tile group information、SEI(Supplemental enhancement information).)
SEI(Supplemental enhancement information)メッセージは、復号、再構成(reconstruction)、ディスプレイ(display)又はその他の目的に関わる動作において必要な情報を含む。実施例によるSEIメッセージは、SEIペイロード(SEI payload、sei_payload)を含む。
実施例によるSEIペイロードは、以下のような構文を有する。
Figure 2023509190000009
図28は実施例によるISOBMFFファイルフォーマット(format)のポイントクラウドデータを示す。
実施例によるポイントクラウドデータは、ISOBMFFファイルのフォーマット(format)である。ISOBMFFファイルは、ボックス(box)と呼ばれるオブジェクト(object)で構成される。即ち、全てのデータは、1つ又はそれ以上のボックス内に含まれる。
図28のファイルフォーマットは、図20、図21の実施例によるファイル/セグメントカプセル化部(File/Segment Encapsulator)20004、21009などで生成又はカプセル化(encapsulate)され、図22のファイル/セグメントデカプセル化部(File/Segment Decapsulator)20005、22000などで受信されてデカプセル化(decapsulate)される。
ボックス(box)は、該当ボックスのサイズ(size)及びタイプ(type)を含むボックスヘッダ(box header)を含む。実施例によるポイントクラウドデータは、ボックスタイプがftypであるftypボックス28000、ボックスタイプがmetaであるmetaボックス28001、ボックスタイプがmoovであるmoovボックス28002、ボックスタイプがmdatであるmdatボックス28003を含む。
ftypボックス28000は、実施例によるISOBMFFファイルのタイプを示す情報を含む。
metaボックス28001は、実施例によるポイントクラウドデータに関するメタデータ情報を含む。
moovボックス28002は、実施例によるポイントクラウドデータが送信される1つ又はそれ以上のトラック(track)に関する情報を含む。
実施例によるmoovボックス28002は、ポイントクラウドデータの特質(attribute)情報を送信するトラックに関する情報を含むボックス28002a、ポイントクラウドデータの占有(occupancy)情報を送信するトラックに関する情報を含むボックス28002b、ポイントクラウドデータのジオメトリ(geometry)情報を送信するトラックに関する情報を含むボックス28002c及び/又はポイントクラウドデータのV-PCC情報を送信するトラックに関する情報を含むボックス28002dを含む。
mdatボックス28003は、実施例によるポイントクラウドデータを含むポイントクラウドビットストリームを含む。実施例によるポイントクラウドビットストリームは、ビデオコーディングされた特質ビットストリーム(video coded attribute bitstream)28003a、ビデオコーディングされた占有ビットストリーム(video coded occupancy bitstream)28003b、ビデオコーディングされたジオメトリビットストリーム(video coded geometry bitstream)28003c及び/又はパッチシーケンスデータビットストリーム(patch sequence data bitstream)28003dを含む。
パッチシーケンスデータビットストリーム28003dは、アトラスビットストリーム(atlas bitstream)、パッチデータビットストリームなどと呼ばれる。
実施例によるビデオコーディングされた特質ビットストリーム28003a、ビデオコーディングされた占有ビットストリーム28003b、ビデオコーディングされたジオメトリビットストリーム28003c及び/又はパッチシーケンスデータビットストリーム28003dは、1つ又はそれ以上のビデオフレーム(video frame)によって伝送される。
ビデオコーディングされた特質ビットストリーム(video coded attribute bitstream)28003aは、実施例によるV-PCCエンコーダによって符号化された、ポイントクラウドデータの特質(attribute)情報を意味する。
ビデオコーディングされた占有ビットストリーム(video coded occupancy bitstream)28003bは、実施例によるV-PCCエンコーダによって符号化された、ポイントクラウドデータの占有(occupancy)情報を意味する。
ビデオコーディングされたジオメトリビットストリーム(video coded geometry bitstream)28003cは、実施例によるV-PCCエンコーダによって符号化された、ポイントクラウドデータのジオメトリ(geometry)情報を意味する。
パッチシーケンスデータビットストリーム(patch sequence data bitstream)28003dは、実施例によるポイントクラウドデータのパッチシーケンスデータ(patch sequence data)を意味する。
2Dビデオトラックは実施例によるビデオエンコーダによって符号化される。
サンプルエントリー内にエキストラボックスが挿入され、V-PCCシステム内のトラックに含まれたビデオストリームの役割を記述する。
V-PCCパッチデータトラックからパッチトラックに基づいてトラックレファレンスがビデオトラックに挿入されて特定のポイントクラウドのビデオトラックのメンバシップを生成する。
トラックヘッダフラグが0にセットされる場合、トラックがムービーの全般的な保存に直接寄与せず、V-PCCシステムに寄与することを示す。
同一のV-PCCシーケンスに属するトラックは、時間的に整列されている。異なるビデオ符号化されたコンポーネントトラック及びV-PCCトラックを経て同一のポイントクラウドフレームに寄与するサンプルは同一のプレゼンテーションタイムを有する。
V-PCCトラックは、シーケンスパラメータセット及びノン-ビデオコーディングされた情報V-PCCユニット(non-video encoded information V-PCC units)のペイロードを伝送するサンプルを含む。ここで、ノン-ビデオコーディングされた情報V-PCCユニットは、例えば、V-PCCユニットタイプがVPCC_SPS及びVPCC_PDGであるユニットを意味する。
V-PCCトラックは、視覚容積測定トラック(Visual volumetric track)、V3Cトラックなどと呼ばれる。
このトラックはまた、ビデオ圧縮されたV-PCCユニットのペイロードを伝送するサンプルを含む他のトラックに対するトラックレファレンスを提供する。ここで、他のトラックとは、例えば、V-PCCユニットタイプがVPCC_GVD、VPCC_AVD及びVPCC_OVDなどのユニットを意味する。
タイプVPCC_GVDのV-PCCユニットのペイロードであるジオメトリデータに対するビデオコーディングされたエレメンタリーストリームを含むサンプルが1つ又はそれ以上のビデオストリームに含まれる。
タイプVPCC_AVDのV-PCCユニットのペイロードである特質データに対するビデオコーディングされたエレメンタリーストリームを含むサンプルが1つ又はそれ以上のビデオストリームに含まれる。
タイプVPCC_OVDのV-PCCユニットのペイロードである占有マップデータに対するビデオコーディングされたエレメンタリーストリームを含むサンプルが1つ又はそれ以上のビデオストリームに含まれる。
コンポーネントトラック内のエレメンタリーストリーム間の同期化は、ISOBMFFトラックタイミング構造(ムービフラグメント内のctts及びcslg又は同一のメカニズム)によって処理される。
異なるビデオ符号化されたコンポーネントトラック及びV-PCCトラックを経て同一のポイントクラウドフレームに寄与するサンプルは同一のコンポジションタイムを有する。サンプルのために使用されるV-PCCパラメータセットはフレームのコンポジションタイムと同一又は以前の復号時間を有する。
実施例によるポイントクラウドデータ及び/又はポイントクラウドデータを送信するためのビットストリーム、実施例によるV-PCCユニットは、図28に示されたファイルフォーマットに基づいてカプセル化される。例えば、実施例による送信装置のカプセル化部は、図24ないし図27に示した実施例によるV-PCCビットストリーム(又はV-PCCユニット)25000、V-PCCビットストリーム26000ないし26001及び/又はアトラスサブストリーム27000などは図28に示されたファイルのフォーマットでカプセル化する。
図28に示されたファイルフォーマットは、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009によって符号化されたポイントクラウドデータ及びメタデータをカプセル化する。図28に示されたファイルフォーマットは、図20のファイル/セグメントデカプセル化部20005、図22のファイル/セグメントデカプセル化部22000によってカプセル化されたポイントクラウドデータ及びメタデータをデカプセル化して符号化されたポイントクラウドデータ及びメタデータを出力する。
例えば、図28に示されたカプセル化されたファイルの一例は、図20ないし図22の実施例によるファイル/セグメントカプセル化部20004、21009及び/又はファイル/セグメントデカプセル化部22000がビデオデータを伝送(deliver)する場合(例えば、マルチトラック(multi track))、カプセル化されたファイルの構造を示す。
図1の送信装置10000のポイントクラウドビデオエンコーダ10002、図4の構成、図15の符号化装置100、図18のビデオ符号化部18006などによって、図24ないし図27のポイントクラウドデータを含むビットストリームが生成されて符号化される。実施例によるポイントクラウドビットストリームは、図1のファイル/セグメントカプセル化部10003、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化21009などによって、図28のように、ファイル内のシングルトラック及び/又はマルチトラックに基づいてカプセル化される。
図1の受信装置10005のファイル/セグメントデカプセル化部10007、図20、図22のファイル/セグメントデカプセル化部20005によって、ファイル内のシングルトラック及び/又はマルチトラック内のポイントクラウドビットストリームがデカプセル化される。図1の受信装置10005のポイントクラウドビデオデコーダ10008、図16の構成、図17の復号装置200、図19のビデオ復号化部19001などによって、図24ないし図27のポイントクラウドデータを含むビットストリームを受信してこれらを復号する。
実施例によるV-PCCトラック(V-PCC track)28002dは、容積測定視覚トラック(volumetric visual track)、視覚容積測定トラック(Visual Volumetric track)、容積測定視覚トラック(Volumetric visual track)、容積測定データトラック(volumetric data track)、V3Cトラック(V3C track)などと呼ばれる。
各々の容積測定視覚シーン(volumetric visual scene)、即ち、実施例によるポイントクラウドデータは、固有な容積測定視覚トラック(Volumetric visual track)によって表現される。ISOBMFFファイルは、複数のシーン(scene)を含むため、複数の容積測定トラックがISOBMFFファイル内に存在する(マルチ-トラック)。容積測定視覚トラックは、メディアボックス(MediaBox)のハンドラボックス(HandlerBox)の容積測定視覚メディアハンドラタイプ’volv’又は容積測定視覚ヘッダによって識別される。(Each volumetric visual scene is represented by a unique volumetric visual track. An ISOBMFF file may contain multiple scenes and therefore multiple volumetric visual tracks may be present in the file. a volumetric visual track is identified by the volumetric visual media handler type ’volv’ in the HandlerBox of the MediaBox、and a volumetric visual media header as defined below.)
容積測定視覚メディアヘッダ(volumetric visual media header)の実施例を説明する。
ボックスタイプ:’vvhd’
コンテナ:MediaInformationBox
必須か否か:必須
数量:1つのみ
容積測定視覚トラックはMediaInformationBox内のVolumetricVisualMediaHeaderBoxを使用する。VolumetricVisualMediaHeaderBoxの構文は、以下のようである。
aligned(8) class VolumetricVisualMediaHeaderBox
extends FullBox(’vvhd’、version = 0、1) {
容積測定視覚サンプルエントリー(volumetric visual sample entry)の実施例を説明する。
容積測定視覚トラックはVolumetricVisualSampleEntryを使用する。
class VolumetricVisualSampleEntry(codingname)
extends SampleEntry (codingname){
unsigned int(8)「32」 compressor_name;
容積測定視覚サンプル(Volumetric visual samples)の実施例を説明する。
容積測定視覚サンプルのフォーマットはコーティングシステムによって定義される。
V-PCCユニットヘッダボックス(V-PCC unit header box)の実施例を説明する。
このボックスは、V-PCCトラック(サンプルエントリー内)及び全てのビデオ-コーディングされたV-PCCコンポーネントトラック内に存在する。このボックスは、各々のトラックによって送信されるデータに対する実施例によるV-PCCユニットヘッダ(V-PCC Unit Header)を含む。
aligned(8) class VPCCUnitHeaderBox
extends FullBox(’vunt’、version = 0、0) {
vpcc_unit_header() unit_header;
このボックスは、図25ないし図27に示されたV-PCCユニットヘッダを含む。
V-PCCデコーダ構成レコード(V-PCC decoder configuration record)の実施例を説明する。
V-PCCデコーダ構成レコードは、バージョン(version)フィールドを含む。
VPCCParameterSetアレイは、図25ないし図27に示された(vpcc_parameter_set)を含む。
atlas_setupUnitアレイは、デコーダ構成レコードがアトラスストリームSEIメッセージと共に存在するサンプルエントリー(sample entry)によって参照されるストリームに対して一定のアトラスパラメータセットを含む。(arrays shall include atlas parameter sets that are constant for the stream referred to by the sample entry in which the decoder configuration record is present as well as atlas stream SEI messages)
V-PCCデコーダ構成レコードの構文の一例は、以下のようである。
Figure 2023509190000010
構成バージョン(configurationVersion)はバージョンフィールドである。
サンプルストリームサイズマイナス1(sampleStreamSizeMinusOne)に1を足した値は、この構成レコード又はこの構成レコードが適用されるストリーム内のV-PCCサンプル内の実施例によるサンプルストリームV-PCCユニット内のssvu_vpcc_unit_size要素の適合率(precision)(byte)を示す。(plus 1 indicates the precision、in bytes、of the ssvu_vpcc_unit_size element in all sample stream V-PCC units in either this configuration record or a V-PCC sample in the stream to which this configuration record applies.)
VPCCパラメータセットの数(numOfVPCCParameterSets)は、このデコーダ構成レコードにおいてシグナルされるV-PCCパラメータセット(VPS)の数を示す。(specifies the number of V-PCC parameter sets (VPS) signalled in the decoder configuration record.)
VPCCパラメータセット(VPCCParameterSet)は、VPCC_VPSタイプのV-PCCユニットに対するsample_stream_vpcc_unit()インスタンスを示す。このV-PCCユニットは、図25ないし図27に示された(vpcc_parameter_set)を含む。((is a sample_stream_vpcc_unit) instance for a V-PCC unit of type VPCC_VPS.This (V-PCC unit include the above vpcc_parameter_set))
アトラスセットアップユニットの数(numOfAtlasSetupUnits)は、この構成レコードにおいてシグナルされるアトラスストリームに対するセットアップアレイの数を示す。(indicates the number of set up array for atlas stream signalled in this configuration record.)
アトラス_セットアップユニット(Atlas_setupUnit)は、実施例によるアトラスシーケンスパラメータセット(ASPS)、アトラスフレームパラメータセット(AFPS)、SEIアトラスNALユニット(SEI atlas NAL unit)を含む(sample_stream_vpcc_unit)インスタンスを意味する。
実施例によるVPCCDecoderConfigurationRecordは、以下のような構文を有する。
Figure 2023509190000011
構成バージョン(configurationVersion)はバージョンフィールドである。
長さサイズマイナス1(lengthSizeMinusOne)は、この構成レコード又はこの構成レコードが適用されるストリーム内のV-PCCサンプル内の全てのサンプルストリームNALユニットのssnu_nal_unit_size要素の大きさ(byte)を示す。(plus 1 indicates the precision、in bytes、of the ssnu_nal_unit_size element in all sample stream NAL units in either this configuration record or a V-PCC sample in the stream to which this configuration record applies.)
サンプルストリームサイズマイナス1(sampleStreamSizeMinusOne)に1を足した値は、この構成レコードにおいてシグナルされる全てのサンプルストリームV-PCCユニット内のssvu_vpcc_unit_size要素の大きさ(byte)を示す。(plus 1 indicates the precision、in bytes、of the ssvu_vpcc_unit_size element in all sample stream V-PCC units signaled in this configuration record.)
VPCCパラメータセットの数(numOfVPCCParameterSets)は、この構成レコードにおいてシグナルされる実施例によるV-PCCパラメータセット(VPS)の数を示す。(specifies the number of V-PCC parameter sets (VPS) signalled In this configuration record.)
VPCCパラメータセット(VPCCParameterSet)は、VPCC_VPSタイプのV-PCCユニットに対する(sample_stream_vpcc_unit)インスタンスを示す。(is a sample_stream_vpcc_unit() instance for a V-PCC unit of type VPCC_VPS)
セットアップユニットアレイの数(numOfSetupUnitArrays)は、識別されたタイプのアトラスNALユニットアレイの数を示す。(indicates the number of arrays of atlas NAL units of the indicated type(s).)
NALユニットタイプ(NAL_unit_type)情報は、次のアレイ内のアトラスNALユニットのタイプを示す。(indicates the type of the atlas NAL units in the following array (which shall be all of that type);)NALユニットタイプ情報は、例えば、NAL_ASPS、NAL_PREFIX_SEI又はNAL_SUFFIX_SEIアトラスNALユニットのいずれか1つの値である。
NALユニットの数(numNALUnits)は、この構成レコードが適用されるストリームに対する構成レコードに含まれるディスプレイタイプの実施例によるアトラスNALユニットの数を示す。SEIアレイは「宣言的」特性、即ち、全体のストリームに関する情報を提供するSEIメッセージのみを含む。このSEIの一例としては、ユーザデータSEIがある。) (indicates the number of atlas NAL units of the indicated type included in the configuration record for the stream to which this configuration record applies. The SEI array shall only contain SEI messages of a ‘declarative’ nature、that is、those that provide information about the stream as a whole. An example of such an SEI could be a user-data SEI.)
セットアップユニット(setupUnit)は、アトラスシーケンスパラメータセット(ASPS)、アトラスフレームパラメータセット(AFPS)又は宣言的SEIアトラスNALユニットを含むsample_stream_nal_unit() インスタンスである。(is a sample_stream_nal_unit() instance containing atlas sequence parameter set、or atlas frame parameter set、or a declarative SEI atlas NAL unit)
V-PCCビットストリームのマルチトラックコンテナ(Multi track container of V-PCC Bitstream)の実施例を説明する。
マルチ-トラックISOBMFFV-PCCコンテナの基本レイアウト(V-PCCエレメンタリーストリームがそれらのタイプに基づいてコンテナファイル内の各トラックにマップされる)を示す。マルチ-トラックISOBMFF V-PCCコンテナ内のトラックには、2つのタイプが存在する。1つはV-PCCトラック(V-PCC track)、その他はV-PCCコンポーネントトラック(V-PCC component track)である。(The general layout of a multi-track ISOBMFF V-PCC container、where V-PCC units in a V-PCC elementary stream are mapped to individual tracks within the container file based on their types. There are two types of tracks in a multi-track ISOBMFF V-PCC container: V-PCC track and V-PCC component track.)
V-PCCトラックは、V-PCCビットストリームにおいて容積測定視覚情報(volumetric visual information)を送信するトラックである。V-PCCトラックは、実施例によるアトラスサブ-ビットストリーム(atlas sub-bitstream)及びシーケンスパラメータセット(sequence parameter set)を含む。(The V-PCC track is a track carrying the volumetric visual information in the V-PCC bistream、which includes the atlas sub-bitstream and the sequence parameter sets.)
V-PCCコンポーネントトラックは、V-PCCビットストリームの占有マップ、ジオメトリ及び特質サブ-ビットストリームに対する2Dビデオ符号化されたデータを伝送する制限されたビデオスキームトラック(restricted video scheme track)である。更に、V-PCCコンポーネントトラックは、以下の条件を満たす。(V-PCC component tracks are restricted video scheme tracks which carry 2D video encoded data for the occupancy map、geometry、and attribute sub-bitstreams of the V-PCC bitstream. In addition、the following conditions are satisfied for V-PCC component tracks:)
a)サンプルエントリーにおいて、V-PCCシステムでこのトラックに含まれたビデオストリームの役割を文書化する新しいボックスが挿入されること。(In the sample entry、a new box is inserted which documents the role of the video stream contained in this track、in the V-PCC system)
b)V-PCCトラックによって表現される特定のポイントクラウド内のV-PCCコンポーネントトラックのメンバーシップを構成するために、トラックレファレンス(track reference)がV-PCCトラックからV-PCCコンポーネントトラックに導出(紹介)されること。(a track reference is introduced from the V-PCC track、to the V-PCC component track、to establish the membership of the V-PCC component track in the specific point-cloud represented by the V-PCC track)
c)トラックが映像全体のレイアップとV-PCCシステムに直接寄与しないために、トラック-ヘッダフラグが0にセットされること。(the track-header flags are set to 0、to indicate that this track does not contribute directly to the overall layup of the movie but contributes to the V-PCC system.)
同一のV-PCCシーケンスに属するトラックは全て時間-整列(time-aligned)される。互いに異なるビデオ符号化V-PCCコンポーネントトラックとV-PCCトラックにおいて同一のポイントクラウドフレームに寄与するサンプルはプレゼンテーションタイムが同一である。このようなサンプルに使用されるV-PCCアトラスシーケンスパラメータセット及び/又はアトラスフレームパラメータセットは、ポイントクラウドフレームの合成時間と同一又は以前の復号時間を有する。更に、同一のV-PCCシーケンスに属する全てのトラックには同一の暗示的又は明示的な編集リストがあってもよい。(Tracks belonging to the same V-PCC sequence are time-aligned. Samples that contribute to the same point cloud frame across the different video-encoded V-PCC component tracks and the V-PCC track has the same presentation time. The V-PCC atlas sequence parameter sets and atlas frame parameter sets used for such samples have a decoding time equal or prior to the composition time of the point cloud frame. In addition,all tracks belonging to the same V-PCC sequence have the same implied or explicit edit lists.)
このレイアウトに基づいて、V-PCC ISOBMFFコンテナは、以下を含む。(Based on this layout、a V-PCC ISOBMFF container shall include the following:)
1)V-PCCパラメータセット(サンプルエントリー内の)を含むV-PCCトラック及びV-PCCパラメータセットV-PCCユニット(VPCC_VPS)及びアトラスV-PCCユニット(VPCC_AD)のペイロードを伝送するサンプル。このトラックは、ビデオ圧縮されたV-PCCユニット(VPCC_OVD、VPCC_GVD、VPCC_AVD)のペイロードを含む他のトラックを参照するためのトラックレファレンス(track reference)も含む。(A V-PCC track which contains V-PCC parameter sets (in the sample entry) and samples carrying the payloads of the V-PCC parameter set V-PCC unit (unit type VPCC_VPS) and atlas V-PCC units (unit type VPCC_AD). This track also includes track references to other tracks carrying the payloads of video compressed V-PCC units (i.e.,unit types VPCC_OVD、VPCC_GVD、and VPCC_AVD). )
2)占有マップ(Occupancy map)データ(例えば、VPCC_OVDのペイロード)に対するサンプルがビデオ-コーディングされたエレメンタリーストリーム(elementary stream)のアクセスユニット(access unit)を含む制限されたビデオスキームトラック(a restricted video scheme track)。(A restricted video scheme track where the samples contain access units of a video-coded elementary stream for occupancy map data (i.e.,payloads of V-PCC units of type VPCC_OVD).)
3)サンプルがジオメトリデータに対するビデオ-コーディングされたエレメンタリーストリーム(video-coded elementary stream)(i.e.,payloads of V-PCC units of type VPCC_GVD)のアクセスユニット(access unit)を含む1つ又はそれ以上の制限されたビデオスキームトラック(restricted video scheme track)。(One or more restricted video scheme tracks where the samples contain access units of video-coded elementary streams for geometry data.)
4)サンプルが特質データに対するビデオ-コーディングされたエレメンタリーストリーム(video-coded elementary streams)(i.e.,payloads of V-PCC units of type VPCC_AVD)のアクセスユニット(access unit)を含む0又はそれ以上の制限されたビデオスキームトラック(restricted video scheme track)。(Zero or more restricted video scheme tracks where the samples contain access units of video-coded elementary streams for attribute data.)
V-PCCトラックサンプルエントリー(V-PCC Track Sample Entry)を説明する。
サンプルエントリータイプ: ‘vpc1’、’vpcg’
コンテナ:SampleDescriptionBox
必須か否か:1つの’vpc1’又は’vpcg’サンプルエントリーは必須である。
数量:1つ又はそれ以上のサンプルエントリーが存在する。
V-PCCトラックは、容積測定視覚サンプルエントリー(VolumetricVisualSampleEntry)を’vpc1’又は’vpcg’タイプのサンプルエントリーに拡張するVPCCサンプルエントリーを使用する。(V-PCC tracks use VPCCSampleEntry which extends VolumetricVisualSampleEntry with a sample entry type of ’vpc1’ or ’vpcg’.)
V-PCCサンプルエントリーは、以下に説明するVPCC構成ボックスを含む。これはVPCCデコーダ構成レコードを含む。(A VPCC sample entry contains a VPCCConfigurationBox、as defined below. This includes a VPCCDecoderConfigurationRecord)
’vpc1’サンプルエントリーには、全てのアトラスシーケンスパラメータセット(atlas sequence parameter set、ASPS)、アトラスフレームパラメータセット(atlas frame parameter set、AFPS)及び/又はV-PCC SEIがセットアップユニット(setupUnit)アレイ内に存在する。’vpcg’サンプルエントリーには、全てのアトラスシーケンスパラメータセット(ASPS)、アトラスフレームパラメータセット(AFPS)及び/又はV-PCC SEIがこのアレイに又はこのストリームに含まれる。(Under the ’vpc1’ sample entry、all atlas sequence Parameter sets、atlas frame parameter sets、or V-PCC SEIs are in the setupUnit array. Under the ’vpcg’ sample entry、the atlas sequence parameter sets、atlas frame parameter sets、V-PCC SEIs may be present in this array、or in the stream.)
任意のビットレートボックス(BitRateBox)は、V-PCCトラックのビットレート情報をシグナルするためにV-PCC容積測定サンプルエントリー内に存在する。(An optional BitRateBox may be present in the VPCC volumetric sample entry to signal the bit rate information of the V-PCC track.)
Figure 2023509190000012
V-PCCトラックサンプルフォーマット(V-PCC track sample format)を説明する。
V-PCCトラック内の各々のサンプルはシングルポイントクラウドフレーム(single point cloud frame)に該当する。様々なコンポーネントトラック内のこのフレームに対応するサンプルは、V-PCCトラックサンプルと同一のコンポジションタイム(composition time)を有する。各々のV-PCCサンプルは、1つ又はそれ以上のアトラスNALユニットを有する。(Each sample in the V-PCC track corresponds to a single point cloud frame. Samples corresponding to this frame in the various component tracks shall have the same composition time as the V-PCC track sample. Each V-PCC sample which may include one or more atlas NAL units.)
実施例によるV-PCCサンプルは、以下のような構文を有する。
Figure 2023509190000013
VPCCデコーダ構成レコード(VPCCDecoderConfigurationRecord)は、マッチングするV-PCCサンプルエントリー内の実施例によるデコーダ構成レコードを示す。(indicates the decoder configuration record in the matching V-PCC sample entry.)
nalユニット(nalUnit)は、実施例によるサンプルストリームNALユニットフォーマット内の1つのアトラスNALユニットを含む。(contains a single atlas NAL unit in sample stream NAL unit format)
NALユニット長さ(NALUnitLength)は、隣接するNALユニットのサイズ(byte単位)を示す。(indicates the size of a subsequent NAL unit in bytes.)
NALユニット(NALunit)は、1つのアトラスNALユニットを含む。(contains a single atlas NAL unit)
V-PCCトラックシンクサンプル(V-PCC track sync sample)を説明する。
V-PCCトラック内のシンクサンプル(sync sample)(ランダムアクセスポイント、random access point)は、V-PCC IRAPコーディングされたパッチデータアクセスユニット(PCC IRAP coded patch data access unit)である。ランダムアクセスを許容するために、アトラスパラメータセットはシンクサンプルにおいて繰り返される。(A sync sample (random access point) in a V-PCC track is a V-PCC IRAP coded patch data access unit . Atlas parameter sets may be repeated、if needed、at a sync sample to allow for random access.)
実施例によるビデオ符号化されたV-PCCコンポーネントトラック(Video-encoded V-PCC component track)を説明する。
MPEGに特化したコーディングビデオトラックの伝送(carriage)は、ISOBMFF標準文書に記載される。例えば、AVC及びHEVCコーディングされたビデオの伝送は、ISO/IEC 14496-15標準文書に従う。
受信機側(player side)においてポイントクラウドデータを再構成せずに、特質、ジオメトリ又は占有マップトラックから復号されたフレームをディスプレイすることに意味がないため、制限されたビデオスキームタイプ(restricted video scheme type)がこのビデオコーディングされたトラックのために定義される。(Since it is not meaningful to display the decoded frames from attribute、geometry、or occupancy map tracks without reconstructing the point cloud at the player side、a restricted video scheme type is defined for these video-coded tracks.)
制限されたビデオスキーム(Restricted video scheme)
V-PCCコンポーネントビデオトラックは、制限されたビデオ(restricted video)のようにファイル内で表現され、それらの制限されたビデオサンプルエントリーの制限されたスキーム情報ボックス(RestrictedSchemeInfoBox)のスキームライプボックス(SchemeTypeBox)のscheme_typeフィールド内の’pccv’によって識別される。(V-PCC component video tracks shall be represented in the file as restricted video,and identified by ’pccv’ In the scheme_type field of the SchemeTypeBox of the RestrictedSchemeInfoBox of their restricted video sample entries.)
特質、ジオメトリ及び/又は占有マップV-PCCコンポーネントの符号化において使用されるビデオコーデックに制限はない。更に、これらのコンポーネントは、他のビデオコーデックを用いて符号化される。(It should be noted that there is no restriction on the video codec used for encoding the attribute,geometry,and occupancy map V-PCC components. Moreover,these components may be encoded using different video codecs.)
スキーム情報(Scheme information)
スキーム情報ボックス(SchemeInformationBox)は存在し、VPCCユニットヘッドボックス(UnitHeaderBox)を含む。(The SchemeInformationBox shall be present and contain a VPCCUnitHeaderBox.)
V-PCCコンポーネントトラックレファレンシング(Referencing)、Referencing V-PCC component tracks
V-PCCトラックをコンポーネントビデオトラックとリンク(link)するためには、各々のコンポーネントに対して3つのトラックレファレンスタイプボックスがV-PCCトラックのトラックボックス内のトラックレファレンスボックスに追加される。トラックレファレンスタイプボックスは、V-PCCトラックが参照する該当ビデオトラックを称するtrack_IDsのアレイを含む。トラックレファレンスタイプボックスのreference_typeは、該当コンポーネント(例えば、占有マップ、ジオメトリ、又は特質)のタイプを示す。これらのトラックレファレンスタイプの4CCsは以下のようである。(To link a V-PCC track to component video tracks,three TrackReferenceTypeBoxes are added to a TrackReferenceBox within the TrackBox of the V-PCC track、one for each component. The TrackReferenceTypeBox contains an array of track_IDs designating the video tracks which the V-PCC track references. The reference_type of a TrackReferenceTypeBox identifies the type of the component (i.e.,occupancy map,geometry,or attribute,or occupancy map). The 4CCs of these track reference types is:)
1)’pcco’:ビデオコーディングされた占有マップV-PCCコンポーネントを含む参照されたトラック(ら)(the referenced track(s) contain the video-coded occupancy map V-PCC component)
2)’pccg’:ビデオコーディングされたジオメトリV-PCCコンポーネントを含む参照されたトラック(ら)(the referenced track(s) contain the video-coded geometry V-PCC component)
3)’pcca’:ビデオコーディングされた特質V-PCCコンポーネントを含む参照されたトラック(ら)(the referenced track(s) contain the video-coded attribute V-PCC component)
参照される制限されたビデオトラック(restricted video track)によって伝送され、該当トラックの制限されたスキーム情報ボックスにおいてシグナルされるV-PCCコンポーネントのタイプは、V-PCCトラックのトラックレファレンスのレファレンスタイプとマッチングする。(The type of the V-PCC component carried by the referenced restricted video track,and signalled in the RestrictedSchemeInfoBox of the track,shall match the reference type of the track reference from the V-PCC track.)
V-PCCビットストリームのシングルトラックコンテナ(Single track container of V-PCC Bitstream)
V-PCCデータのシングル-トラックカプセル化(即ち、実施例によるポイントクラウドデータを1つのトラックにカプセル化する場合)は、V-PCC符号化されたエレメンタリービットストリームが1つのトラック宣言によって表現されることを求める。(A single-track encapsulation of V-PCC data requires the V-PCC encoded elementary bitstream to be represented by a single-track declaration. )
ポイントクラウドデータのシングル-トラックカプセル化は、V-PCC符号化されたビットストリームのISOBMFFカプセル化において活用する。このビットストリームは、追加の動作なく、1つのトラックに直接格納される。実施例によるV-PCCユニットヘッダデータ構造は、該当ビットストリーム内に保有される。V-PCCデータに対する1つのトラックコンテナは、追加の動作のためのメディアワークフローによって提供される(例えば、マルチ-トラックファイル生成、トランスコーディング、DASHセグメンテーションなど)(Single-track encapsulation of PCC data could be utilized in the case of simple ISOBMFF encapsulation of a V-PCC encoded bitstream. Such a bitstream could be directly stored as a single track without further processing. V-PCC unit header data structures can be kept in the bitstream as-is. A single track container for V-PCC data could be provided to media workflows for further processing (e.g.,multi-track file generation,transcoding,DASH segmentation、etc.)。
1つのトラックにカプセル化された実施例によるV-PCCデータを含むISOBMFFファイルは、FileTypeBoxのcompatible_brands[]リスト内の’pcst’を含む。(An ISOBMFF file which contains single-track encapsulated V-PCC data contains ’pcst’ in the compatible_brands「」 list of its FileTypeBox.)
V-PCCエレメンタリートラック(V-PCC elementary stream track)
サンプルエントリー タイプ: ‘vpe1’、’vpeg’
コンテナ:SampleDescriptionBox
必須であるか否か:’vpe1’又は’vpeg’サンプルエントリーは必須
数量:1つ又はそれ以上のサンプルエントリーが存在する。
V-PCCエレメンタリーストリームトラックは’vpe1’又は’vpeg’のサンプルエントリータイプを有する容積測定視覚サンプルエントリー(VolumetricVisualSampleEntry)を使用する。(V-PCC elementary stream tracks use VolumetricVisualSampleEntry with a sample entry type of ’vpe1’ or ’vpeg’.)
V-PCCエレメンタリーストリームのサンプルエントリーは、以下のようなVPCC構成ボックスを含む。(A VPCC elementary stream sample entry contains a VPCCConfigurationBox、as defined below.)
’vpe1’ サンプルエントリーにおいて、全てのアトラスシーケンスパラメータセット(ASPS)、アトラスフレームパラメータセット(AFPS)、SEIは、setupUnitアレイ内に存在する。’vpeg’サンプルエントリーにおいて、アトラスシーケンスパラメータセット(ASPS)、アトラスフレームパラメータセット(AFPS)、SEIはこのストリーム又はこのアレイ内に存在する。(Under the ’vpe1’ sample entry,all atlas sequence Parameter sets、atlas frame parameter sets,SEIs are in the setupUnit array. Under the ’vpeg’ sample entry,atlas sequence parameter sets,atlas frame parameter sets,SEIs may be present in this array、or in the stream.) 実施例によるVPCC構成ボックスは、以下のような構文を有する。
Figure 2023509190000014
V-PCCエレメンタリーストリームサンプルフォーマット(V-PCC elementary stream sample format)
実施例によるV-PCCエレメンタリーストリームサンプルは、同一のプレゼンテーションタイム(presentation time)を有する1つ又はそれ以上の実施例によるV-PCCユニットを含む。各々のサンプルは、固有なプレゼンテーションタイム、大きさ及び期間(duration)を有する。サンプルは、自己-完結(self-contained、例えば、シンクサンプル)されるか、又はV-PCCエレメンタリーストリームサンプルに復号-ワイズ(decoding-wise)依存関係である。(A V-PCC elementary stream sample includes one or more V-PCC units which belong to the same presentation time. Each such sample has a unique presentation time,a size,and a duration. a sample may be self-contained (e.g.,a sync sample) or decoding-wise dependent on other V-PCC elementary stream samples.)
V-PCCエレメンタリーストリームシンクサンプル(V-PCC elementary stream sync sample)を説明する。
実施例によるV-PCCエレメンタリーストリームシンクサンプルは、以下の条件を満たす。(A V-PCC elementary stream sync sample shall satisfy all thE following conditions:)
1)独立して復号される。(It is independently decodable.)
2)このシンクサンプル以後に存在するサンプル(復号順序)は、いずれもこのサンプルの以前に存在するサンプルと復号するときに依存性がない。(None of the samples that come after the sync sample (in decoding order) have any decoding dependency on any sample prior to the sync sample.)
3)このシンクサンプル以後に存在する全てのサンプル(復号順序)は、いずれも成功的に復号できること。(All samples that come after the sync sample (in decoding order) are successfully decodable.)
実施例によるV-PCCエレメンタリーストリームサブ-サンプル(V-PCC elementary stream sub-sample)を説明する。
実施例によるV-PCCエレメンタリーサブ-サンプルは、V-PCCエレメンタリーストリームサンプルに含まれたV-PCCユニットである。(A V-PCC elementary stream sub-sample is a V-PCC unit which is contained in a V-PCC elementary stream sample. )
V-PCCエレメンタリーストリームトラックは、サンプルテーブルボックス(SampleTableBox)内又はムービフラグメントボックス(MovieFragmentBoxes)の各々のトラックフラグメントボックス(TrackFragmentBox)内に1つのサブサンプル情報ボックス(SubSampleInformationBox)を有する。(これらはV-PCCエレメンタリーストリームサブ-サンプルを並べる)(A V-PCC elementary stream track contains one SubSampleInformationBox in its SampleTableBox,or in the TrackFragmentBox of each of its MovieFragmentBoxes,which lists the V-PCC elementary stream sub-samples. )
サブサンプルを示すV-PCCユニットの32ビットのユニットヘッダは、サブサンプル情報ボックス(SubSampleInformationBox)内のサブ-サンプルエントリーの32ビットcodec_specific_parametersフィールドにコピーされる。各々のサブサンプルのV-PCCユニットタイプは、サブサンプル情報ボックス内のサブ-サンプルエントリーのcodec_specific_parametersをパーシングすることで識別される。(The 32-bit unit header of the V-PCC unit which represents the sub-sample shall be copied to the 32-bit codec_specific_parameters field of the sub-sample entry in the SubSampleInformationBox. The V-PCC unit type of each sub-sample is identified by parsing the codec_specific_parameters field of the sub-sample entry in the SubSampleInformationBox.)
図29は実施例によるV-PCCサンプルエントリー(V-PCC sample entry)を示す。
図29に示された実施例によるサンプルエントリーは、図28に示されたISOBMFFファイルに含まれる。実施例によるV-PCCサンプルエントリー(V-PCC sample entry)は、実施例によるV-PCCパラメータセット(V-PCC parameter set)29004を含むV-PCCユニット(又はNALユニット)、アトラスシーケンスパラメータセット(Atlas sequence parameter set、ASPS)を含むNALユニット、アトラスフレームパラメータセット(Atlas frame parameter set、AFPS)を含むNALユニット及び/又はSEI(SEIメッセージ)を含む。
実施例によるサンプルエントリーは、図29に示されたように、図24ないし図26に示されたサンプルストリームV-PCCユニット及び/又は図27に示されたサンプルストリームNALユニットを単独又は共存するように含む。
サンプルストリームVPCCヘッダ(Sample Stream VPCC Header)29001は、図24の実施例によるサンプルストリームVPCCヘッダ、図25のサンプルストリームVPCCヘッダ25001、25004を意味する。
サンプルストリームNALヘッダ(Sample Stream NAL Header)29002は、図27の実施例によるサンプルストリームNALヘッダ27001を意味する。
VPCCユニットヘッダボックス(VPCCUnitHeaderBox)は、例えば、図24に示されたV-PCCユニットヘッダ24001b及び/又はV-PCCユニットサイズ24001a、図26のV-PCCユニットヘッダ26000、又は図27のサンプルストリームNALユニット27002、27004に含まれたNALユニットのヘッダを意味する。
サンプルストリームV-PCCユニット29004は、例えば、図24に示されたV-PCCユニット24001b、24001c、又はV-PCCユニットペイロード24001cを意味する。
サンプルストリームNALユニット29005は、例えば、図27に示されたサンプルストリームNALユニット27002を意味する。
図30は実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの役割を示す。
図30は、実施例によるポイントクラウドデータ30000、ポイントクラウドデータを見る実際カメラ又は仮想カメラ30001、実施例による実際カメラ及び/又は仮想カメラ30001が見る3次元空間上の領域30002(視錘台、view frustum)、実際カメラ及び/又は仮想カメラ30001が見る3次元空間上の領域を2次元平面にプロジェクトした領域30003(ビュー、view)を示す。
実施例によるポイントクラウドデータ送信装置は、ユーザのビューポートによってV-PCCコンテンツの空間部分アクセス(spatial access)を支援するためのV-PCCコンテンツの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域に関連するメタデータを提供する。
仮想カメラ30001とは、ユーザの視線(又は目(eye))、即ち、3次元上の一部の領域を見るユーザの視覚を示す概念である。
視錘台(view frustum)30002とは、実施例によるポイントクラウドデータ受信装置によって実際にレンダリングされてユーザにディスプレイされるポイントクラウドデータの全部又は一部を含む3次元空間上の領域を意味する。
視錘台(view frustum)は、必ずしも、図30に示すような立体的な形状で構成する必要はない。視錘台(view frustum)は、例えば、可視性円錐(visibility cone)のような円錐状(又は円錐台状)で構成される。
ビュー(view)30003とは、実際にディスプレイされる2Dイメージ/ビデオフレームを意味する。
実施例によるV-PCCビットストリームは、実施例によるポイントクラウドデータがレンダリングされてユーザに提供されるビュー(view)を生成するための情報(例えば、ViewInfoStructなど)を含む。
例えば、実施例によるV-PCCビットストリームは、実施例によるビュー(view)を生成するための実際カメラ又は仮想カメラの3次元空間上における位置(position)情報を示す位置情報、実際カメラ又は仮想カメラの3次元空間上における垂直FOV(horizontal field of view)、水平FOV(vertical field of view)、実際カメラ又は仮想カメラが見る方向を示す情報(direction vector)、実際カメラ又は仮想カメラの上方を示す上ベクトル(up vector)情報などを含む。
実施例によるポイントクラウドデータ受信装置は、位置情報に基づいてユーザが見る視線の位置を把握し、これに基づいてユーザが見るビュー(view)30003又は視錘台(view frustum)30002を再構成(reconstruct)又は生成する。
実施例によるポイントクラウドデータ受信装置は、方向ベクトルに基づいてユーザが見る視線の方向を把握し、これに基づいてユーザが見る(view)30003又は視錘台(view frustum)30002を再構成(reconstruct)又は生成する。
実施例によるポイントクラウドデータ受信装置は、上ベクトルに基づいてユーザが見る視線の回転度(例えば、実施例による方向ベクトルを基準としてどのくらい回転したかを示す)を把握し、これに基づいてユーザが見るビュー(view)30003又は視錘台(view frustum)30002を再構成(reconstruct)又は生成する。
実施例によるポイントクラウドデータ受信装置は、V-PCCビットストリームにおいて上述した情報に基づいて、ユーザのための視錘台(view frustum)を類推及び生成する。
実施例によるポイントクラウドデータ受信装置は、視錘台に基づいて実際にユーザにディスプレイされるビュー(view)を生成する。例えば、受信装置は、視錘台を2Dフレームでプロジェクション(projection)することで、ビューを生成する。
図30に示された実施例による送信装置の動作を行うために、実施例による送信装置のエンコーダは、上述した位置(position)情報を示す位置情報、上述した垂直FOV(horizontal field of view)、水平FOV(vertical field of view)、上述した方向情報(direction vector)及び/又は上述した上ベクトル(up vector)情報を生成し、実施例による送信装置のカプセル化部は、生成された情報をカプセル化する。
図30に示された実施例による送信装置の動作を行うために、実施例による送信装置のカプセル化部は、上述した位置(position)情報を示す位置情報、上述した垂直FOV(horizontal field of view)、水平FOV(vertical field of view)、上述した方向情報(direction vector)及び/又は上述した上ベクトル(up vector)情報を生成及びカプセル化する。
実施例によるビュー情報(例えば、ViewInfoStruct)を実施例による送信装置がカプセル化されたファイル(例えば、ISOBMFFファイル)の形式で送信する方法は、図31において詳述する。
図30に示された実施例による受信装置の動作を行うために、実施例による送信装置10000のエンコーダ10002、図4及び図15の符号化装置100、図18のビデオ符号化部18006、図20のビデオ符号化部20002、イメージ符号化部20003、図21のビデオ/イメージ符号化部21007、21008は、図30で説明した情報を生成し、ポイントクラウドデータを符号化する。符号化されたデータは、図24のように、ビットストリーム24000で構成される。
具体的に、図30で説明した情報は、実施例によるポイントクラウドビットストリーム24000のアトラスデータ24002eなどに含まれる。アトラスデータ24002eは、アトラスシーケンスパラメータセット(atlas sequence parameter set)とも呼ばれる。
ポイントクラウドデータ(又はアトラスデータ24002e)が実施例によるカプセル化部(例えば、図1、図20ないし図21のカプセル化部10003、20004、21009など)によってシングルトラック(single track)にカプセル化される場合、図30で説明した情報を含むポイントクラウドビットストリーム24000は、該当トラック(V3Cビットストリームトラック、V3C bitstream track)のサンプルエントリー又はサンプル(ら;等)又はサブ-サンプル(ら;等)内に含まれる。マルチトラック(multi-track)にカプセル化される場合、複数のトラックのうちV3Cトラック(例えば、図28のV-PCCトラック28002d)によって送信され、図30で説明した情報を含むポイントクラウドビットストリーム24000は、パッチシーケンスデータビットストリーム28003dに含まれる。
また、符号化されたデータ(例えば、図24に示されたV-PCCビットストリームに送信されるデータ)は、図1のファイル/セグメントカプセル化部10003、図20、図21のファイルセグメントカプセル化部20004、21009などによってカプセル化されて1つのファイル(例えば、ISOBMFFファイル)の形式で送信される。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、上述したビュー情報(view information)を提供し、受信装置がビュー情報を用いてレンダリングすることで、受信装置はユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図31は実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの構文の一例を示す。
図31に示された実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータは、実施例によるV-PCCビットストリーム(又はビットストリームがカプセル化されて生成されたファイルなど)に含まれる。
ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、view_pos_x、view_pos_y、view_pos_z、view_vfov、view_hfov、view_dir_x、view_dir_y、view_dir_z、view_up_x、view_up_y及び/又はview_up_zを含む。
具体的に、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、実施例によるエンコーダ(例えば、図1のエンコーダ10002、図4、図15の符号化装置100、図18のビデオ符号化部18006、図20のビデオ符号化部20002、イメージ符号化部20003、図21のビデオ/イメージ符号化部21007、21008など)によって生成及び符号化され、図24のアトラスデータ24002e又はV-PCCパラメータセット24002a、図27のサンプルストリームNALユニット内のアトラスタイルグループ(atlas tile group)に含まれ、これらがカプセル化部(例えば、図1のファイル/セグメントカプセル化部10003、図20、図21のファイルセグメントカプセル化部20004、21009など)によってカプセル化され、ファイル内の1つ又はそれ以上のトラックに含まれる。
例えば、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、図28のV-PCCトラック28002dによって送信され、パッチシーケンスデータビットストリーム28003dに含まれるようにカプセル化される。例えば、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、図28のパッチシーケンスデータビットストリーム28003dにおいて、図24に示されたアトラ データ24002e又は図27に示されたサンプルストリームNALユニット内のアトラスタイルグループに含まれるようにカプセル化される。
ポイントクラウドデータ(又はアトラスデータ24002e)が実施例によるカプセル化部(例えば、図1、図20、図21のカプセル化部10003、20004、21009など)によってシングルトラック(single track)にカプセル化される場合、図31で説明した情報を含むポイントクラウドビットストリーム24000は、そのトラック(V3Cビットストリームトラック、V3C bitstream track)のサンプルエントリー又はサンプル(ら)又はサブ-サンプル(ら)に含まれる。マルチトラック(multi-track)にカプセル化される場合、複数のトラックのうちのV3Cトラック(例えば、図28のV-PCCトラック28002d)によって送信され、図31で説明した情報を含むポイントクラウドビットストリーム24000は、パッチシーケンスデータビットストリーム28003dに含まれる。
実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータは、例えば、ViewInfoStruct、View information(ビュー情報)と呼ばれる。実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータは、図31で説明した動作を行うために必要なパラメータである。
ビュー_ポジション_x(view_pos_x)、ビュー_ポジション_y(view_pos_y)、ビュー_ポジション_z(view_pos_z)は、カメラの位置を示す情報を意味する。例えば、ビュー_ポジション_x(view_pos_x)、ビュー_ポジション_y(view_pos_y)、ビュー_ポジション_z(view_pos_z)の各々は、実施例によるユーザのビュー(View)を生成するための実際カメラ又は仮想カメラの3次元空間上のx座標、y座標、z座標の値を示す。
ビュー_垂直FOV(view_vfov)、ビュー_水平FOV(view_hfov)の各々は、視錘台の水平FOV(horizontal field of view)及び視錘台の垂直FOV(vertical field of view)を示す情報を意味する。ビュー_垂直FOV(view_vfov)、ビュー_水平FOV(view_hfov)は、例えば、ユーザのビュー(View)を生成するための実際カメラ又は仮想カメラの垂直FOV(vertical field of view)、水平FOV(horizontal field of view)情報を示す。
ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、カメラのオリエンテーション方向を示す情報を含む。カメラのオリエンテーション方向を示す情報は、例えば、ビュー_方向_x(view_dir_x)、ビュー_方向_y(view_dir_y)、ビュー_方向_z(view_dir_z)、ビュー_アップ_x(view_up_x)、ビュー_アップ_y(view_up_y)、ビュー_アップ_z(view_up_z)などを含む。
ビュー_方向_x(view_dir_x)、ビュー_方向_y(view_dir_y)、ビュー_方向_z(view_dir_z)は、カメラのオリエンテーション方向を示す情報を意味する。例えば、ビュー_方向_x(view_dir_x)、ビュー_方向_y(view_dir_y)、ビュー_方向_z(view_dir_z)の各々は、実際カメラ又は仮想カメラが見る方向(orientation)を示す方向ベクトルを示すための3次元空間上のx座標、y座標、z座標の値を示す。ビュー_方向_x(view_dir_x)、ビュー_方向_y(view_dir_y)、ビュー_方向_z(view_dir_z)は、例えば、実際カメラ又は仮想カメラが見る可視性円錐(visibility cone)に対する方向ベクトルを意味する。
ビュー_アップ_x(view_up_x)、ビュー_アップ_y(view_up_y)、ビュー_アップ_z(view_up_z)は、カメラのオリエンテーション方向を示す情報を意味する。例えば、ビュー_アップ_x(view_up_x)、ビュー_アップ_y(view_up_y)、ビュー_アップ_z(view_up_z)の各々は、実際カメラ又は仮想カメラの上方を示す上ベクトル(up vector)を示すための3次元空間上のx座標、y座標、z座標の値を示す。ビュー_方向_x(view_dir_x)、ビュー_方向_y(view_dir_y)、ビュー_方向_z(view_dir_z)は、例えば、実際カメラ又は仮想カメラが見る可視性円錐(visibility cone)に対する上ベクトルを意味する。
実施例による実際カメラ又は仮想カメラの上方は、実施例による実際カメラ又は仮想カメラの前方(front direction)又は見る方向(例えば、ビュー方向)と垂直(orthogonal)であってもよい。
実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータ(例えば、ViewInfoStruct)は、実施例によるビットストリーム内のSEIメッセージ(又はSEI)に含まれて受信機へ伝送される。例えば、ポイントクラウドデータを再構成又はレンダリングするためのパラメータの一部又は全部は、シーンオブジェクト情報SEIメッセージ(Scene Object information SEI message)に含まれてもよく、これらが実施例によるカプセル化部によってファイルに格納されて伝送されてもよい。
実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータは、例えば、V-PCCビュー情報ボックス(V-PCC view information box)に含まれるように送信装置によってカプセル化される。
例えば、実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータは、V-PCCビュー情報ボックス(V-PCC view information box)に含まれるように以下の構文でカプセル化されて送信される。
aligned(8) class VPCCViewInfoBox extends FullBox(’vpvi’,0,0) {
ViewInfoStruct();
実施例によるV-PCCビュー情報ボックスは、ポイントクラウドデータを再構成又はレンダリングするためのパラメータ(例えば、ViewInfoStruct、ビュー情報)を含む。
実施例によるビュー情報がポイントクラウドデータのシーケンス(sequence)において変化しなくてもよい。例えば、実施例によるビュー情報は、時間経過とともに変化しない静的(static)情報である。
V-PCCトラック(V-PCC track)のサンプルエントリー(sample entry)は、VPCCビュー情報ボックス(ViewInfoBox)を含む(即ち、実施例によるビュー情報を含む)。例えば、V-PCCトラック(V-PCC track)のサンプルエントリーは、以下のような構文を有する。
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry (’vpc1’) {
VPCCConfigurationBox config;
VPCCUnitHeaderBox unit_header;
VPCCViewInfoBox view_info;
VPCCビュー情報ボックス(VPCCViewInfoBox)は、V-PCCトラック内のサンプルに含まれたアトラスフレーム(Atlas frame)と関連するポイントクラウドデータがレンダリングされて提供される実施例によるビュー(view)を生成するための詳細情報を含む。VPCCビュー情報ボックス(VPCCViewInfoBox)は、実施例によるV-PCCビュー情報ボックスを意味してもよい。VPCCビュー情報ボックス(VPCCViewInfoBox)は、実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータを含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、VPCCViewInfoBoxを含む(即ち、実施例によるビュー情報を含む)。例えば、V-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class VPCCElementaryStreamSampleEntry() extends VolumetricVisualSampleEntry (’vpe1’) {
VPCCConfigurationBox config;
VPCCViewInfoBox view_info;
VPCCビュー情報ボックス(VPCCViewInfoBox)は、トラック内のサブサンプル(sub-sample)に格納されたアトラスフレーム、ビデオフレームと関連するポイントクラウドデータがレンダリングされて提供されるビュー(view)を生成するための情報を示す。VPCCビュー情報ボックス(VPCCViewInfoBox)は、実施例によるV-PCCビュー情報ボックスを意味する。VPCCビュー情報ボックス(VPCCViewInfoBox)は、実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータを含む。
実施例によるビュー情報(view information)は、V-PCCビュー情報サンプリンググループ(V-PCC View information sampling group)にカプセル化又は伝送される。以下、その実施例について説明する。
サンプルグループ化のための‘vpvs’grouping_typeは、実施例によるV-PCCトラック内のサンプルをこのサンプルグループ内で伝送されるビュー情報(view information)に指定することを示す。grouping_typeが‘vpvs’であるSampleToGroupBoxが存在する場合、同行する同一のグループ化タイプを有するSampleGroupDescriptionBoxが存在し、これはサンプルが保有するこのグループのIDを保有する。(The ’vpvs’ grouping_type for sample grouping represents the assignment of samples in V-PCC track to the view information carried in this sample group. When a SampleToGroupBox with grouping_type equal to ’vpvs’ is present,an accompanying SampleGroupDescriptionBox with the same grouping type is present、and contains the ID of this group of samples belong to.)
実施例によるV-PCCビュー情報サンプルグループ化情報(VPCCViewInfoSampleGroupDescriptionEntry)は、以下の構文を有する。
aligned(8) class VPCCViewInfoSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vpvs’) {
ViewInfoStruct();
実施例によるビュー情報(view information)は、時間経過とともに変化してもよい。この場合、実施例によるビュー情報は、サンプルエントリーのタイプが‘dyvi’である関連したタイム-メタデータトラック(associated timed-metadata track)から伝送される。
仮に、V-PCCトラックが、サンプルエントリーのタイプが‘dyvi’である関連したタイム-メタデータトラック(associated timed-metadata track)を含む場合、実施例によるビュー情報は、動的(dynamic、即ちビュー情報が動的に時間経過とともに変化する場合)に考慮されるV-PCCトラックによって伝送されるポイントクラウドデータ(ポイントクラウドストリーム)、即ち、例えばDynamicViewInfoSampleEntryと定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、アトラスストリームを伝送するV-PCCトラックを参照するための‘cdsc’トラックレファレンスを含む。
仮に、実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyvi’のサンプルエントリータイプを有する関連したタイム-メタデータトラックの場合、実施例によるビュー情報は、動的(即ち、ビュー情報が動的に時間経過とともに変化する)に考慮されるV-PCCエレメンタリートラックによって伝送されるポイントクラウドデータ(ストリーム)によって定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、V-PCCエレメンタリーストリームトラックを参照するための‘cdsc’トラックレファレンスを含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyvi’のサンプルエントリータイプを有する関連したタイム-メタデータトラックのサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class DynamicViewInfoSampleEntry extends MetaDataSampleEntry(’dyvi’){
VPCCViewInfoBox init_view_info;
初期_ビュー_情報(init_view_info)は、実施例によるポイントクラウドデータの初期(initial)のビュー(view)を含む実施例によるビュー情報(view information)を含む。
実施例による‘dyvi’のサンプルエントリータイプのサンプル(sample)の構文は、以下のようである。
aligned(8) DynamicViewInfoSample() {
VPCCViewInfoBox view_info;
実施例による‘dyvi’のサンプルエントリータイプのサンプル(sample)は、実施例による時間経過とともに変化する、即ち、動的ビュー情報(view information、VPCCViewInfoBox view_info)を含む。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、上述したビュー情報(view information)を提供し、受信装置がビュー情報を用いてレンダリングすることで、受信装置はユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図32は実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの構文の一例を示す。
図32は、実施例によるポイントクラウドデータのレンダリング(rendering)又は再構成(reconstruct)のために使用されるレンダリングパラメータ(rendering parameter)を示す。実施例によるレンダリングパラメータは、実施例によるポイントクラウドデータのポイントをレンダリングするために使用される情報である。例えば、レンダリングパラメータは、ポイントクラウドデータがレンダリングされる場合、ポイント(point)の大きさ、ポイントのレンダリングタイプ(type)、重畳ポイント(duplicated point)の処理方法に関する情報(例えば、ディスプレイするか否か)などを含む。
具体的に、レンダリングパラメータ(rendering parameter)は、実施例によるエンコーダ(例えば、図1のエンコーダ10002、図4、図15の符号化装置100、図18のビデオ符号化部18006、図20のビデオ符号化部20002、イメージ符号化部20003、図21のビデオ/イメージ符号化部21007、21008など)によって生成及び符号化され、図24のアトラスデータ24002e又は図27のサンプルストリームNALユニット内のアトラスタイルグループ(atlas tile group)に含まれてもよく、これらがカプセル化部(例えば、図1のファイル/セグメントカプセル化部10003、図20、図21のファイルセグメントカプセル化部20004、21009など)によってカプセル化されてファイル内の1つ又はそれ以上のトラックに含まれてもよい。
ポイントクラウドデータ(又はアトラスデータ24002e)が実施例によるカプセル化部(例えば、図1、図20、図21のカプセル化部10003、20004、21009など)によってシングルトラック(single track)にカプセル化される場合、図32で説明した情報を含むポイントクラウドビットストリーム24000は、そのトラック(V3Cビットストリームトラック、V3C bitstream track)のサンプルエントリー又はサンプル(ら)又はサブ-サンプル(ら)に含まれる。図30で説明した情報は、サンプル又はサブ-サンプル内のSEIメッセージに含まれる。マルチトラック(multi-track)にカプセル化される場合、複数のトラックのうちのV3Cトラック(例えば、図28のV-PCCトラック28002d)によって伝送され、図32で説明した情報を含むポイントクラウドビットストリーム24000は、パッチシーケンスデータビットストリーム28003dに含まれる。パッチシーケンスデータビットストリーム28003dは、アトラスビットストリーム(atlas bitstream)と呼ばれる。
図32は実施例によるレンダリングパラメータ(rendering parameter)の構文の一例を示す。レンダリングパラメータは、例えば、RenderingParamStructと呼ばれる。
ポイント_サイズ(point_size)は、ポイントクラウドデータの形態を示す情報を意味する。例えば、ポイント_サイズ(pointo_size)は、実施例によるポイントクラウドデータのポイントがレンダリング(再構成)又はディスプレイされるポイントのサイズを示す。
ポイント_タイプ(point_type)は、ポイントの大きさを示す情報を意味してもよい。例えば、ポイント_タイプ(point_type)は、実施例によるポイントクラウドデータのポイントがレンダリング(再構成)又はディスプレイされるポイントのタイプ(type)を示す。例えば、ポイント_タイプの値が0である場合、実施例によるポイントは直方形(cuboid)又は立方体、1である場合は円形(circle)又は球形、2である場合は1つの点(ポイント)によって示す。ポイントのタイプは、別の例として正四面体などと様々である。
重畳_ポイント(duplicated_point)は、同一の3次元上のx座標、y座標、z座標の値を有するポイントが複数存在する場合、実施例による受信装置が複数のポイントをレンダリング(再構成)又はディスプレイする処理方法を示す。例えば、その値が0である場合は重畳ポイントを無視することができ、1である場合はポイントを1つだけランダムに選択してレンダリング(再構成)/ディスプレイする。また、その値が2である場合は重畳ポイントの特質データの平均値に基づいてレンダリング(再構成)/ディスプレイする。
実施例によるポイント_サイズ(point_size)、ポイント_タイプ(point_type)情報は、製作者が実施例によるポイントクラウドコンテンツをランダムに特定のポイントに対して設定してもよい。よって、実施例によるポイントクラウドデータ送信装置は、ポイントのタイプとサイズをシグナルすることで、受信装置がそのコンテンツと似合うタイプ/サイズのポイントをレンダリングする。
実施例によるV-PCCビットストリームは、実施例によるレンダリングパラメータを含む。
実施例によるポイントクラウドデータ受信装置は、ポイント_サイズ情報に基づいてポイントクラウドデータをレンダリングする場合(又は再構成する場合)、ポイントクラウドデータのポイントのサイズを決定する。
実施例によるポイントクラウドデータ受信装置は、ポイント_タイプ情報に基づいてポイントクラウドデータをレンダリングする場合(又は再構成する場合)、ポイントクラウドデータのポイントの形態を決定する。
上述した受信装置の動作を行うために、実施例による送信装置のエンコーダは、ポイント(point)のサイズ、ポイントのレンダリングタイプ(type)、重畳ポイント(duplicated point)の処理方法に関する情報(例えば、ディスプレイするか否か)を生成し、実施例による送信装置のカプセル化部は生成された情報をカプセル化する。
上述した受信装置の動作を行うために、実施例による送信装置のカプセル化部は、ポイント(point)のサイズ、ポイントのレンダリングタイプ(type)、重畳ポイント(duplicated point)の処理方法に関する情報(例えば、ディスプレイするか否か)を生成及びカプセル化する。
実施例によるレンダリングパラメータ情報(例えば、RenderingParameterStruct)を実施例による送信装置がカプセル化されたファイル(例えば、ISOBMFFファイル)の形式で伝送する方法を以下に詳述する。
実施例によるレンダリングパラメータ情報は、ポイントクラウドデータを含むV-PCCビットストリーム内のSEIなどの形式で送信される。例えば、レンダリングパラメータ情報又はレンダリングパラメータ情報に含まれたパラメータの一部又は全部は、シーンオブジェクト情報SEIメッセージ(Scene Object information SEI message)に含まれる。
例えば、レンダリングパラメータ情報は、以下のような構文を有するVPCCレンダリングパラメータボックス(VPCCRenderingParamBox)に含まれる。
aligned(8)class VPCCRenderingParamBox extends FullBox(’vprp’,0,0) {
RenderingParamStruct();
実施例によるレンダリングパラメータ情報は、ポイントクラウドデータのシーケンス(sequence)において変化しなくてもよい。。例えば、実施例によるレンダリングパラメータ情報は、時間経過とともに変化しない静的(static)情報である。
V-PCCトラック(V-PCC track)のサンプルエントリー(sample entry)は、実施例によるVPCCRenderingParamBoxを含む(即ち、実施例によるレンダリングパラメータ情報を含む)。例えば、V-PCCトラック(V-PCC track)のサンプルエントリーは、以下のような構文を有する。
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry (’vpc1’) {
VPCCConfigurationBox config;
VPCCUnitHeaderBox Unit_Header;
VPCCRenderingParamBox rendering_para;
VPCCレンダリングパラメータボックス(VPCCRenderingParamBox)は、トラック内のサンプルに含まれたアトラスフレームと関連するポイントクラウドデータがレンダリングされる際に適用可能なレンダリングパラメータの詳細情報を含む。VPCCレンダリングパラメータボックス(VPCCRenderingParamBox)は、実施例によるレンダリングパラメータ情報を含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、実施例によるVPCCRenderingParamBoxを含む(即ち、実施例によるレンダリングパラメータ情報を含む)。例えば、V-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class VPCCElementaryStreamSampleEntry() extends VolumetricVisualSampleEntry (’vpe1’) {
VPCCConfigurationBox config;
VPCCRenderingParamBox rendering_param;
VPCCレンダリングパラメータボックス(VPCCRenderingParamBox)は、トラック内のサブサンプルに格納されたアトラスフレーム、ビデオフレーム及び/又はポイントクラウドデータがレンダリングされる際に適用可能なレンダリングパラメータ情報を含む。VPCCレンダリングパラメータボックス(VPCCRenderingParamBox)は、実施例によるレンダリングパラメータ情報を含む。
実施例によるレンダリングパラメータ情報は、V-PCCレンダリングパラメータサンプリンググループ(V-PCC rendering parameter sampling group)にカプセル化又は伝送される。以下、その実施例について説明する。
サンプルグループ化のための‘vprp’grouping_typeは、実施例によるV-PCCトラック内のサンプルをこのサンプルグループから伝送する実施例によるレンダリングパラメータ(rendering parameter)に指定することを示す。grouping_typeが‘vprp’であるSampleToGroupBoxが存在する場合、同行する同一のgrouping typeを有するSampleGroupDescriptionBoxが存在し、これはサンプルが保有するこのグループのIDを保有する。(The ’vprp’ grouping_type for sample grouping represents the assignment of samples in V-PCC track to the rendering parameters carried in this sample group. When a SampleToGroupBox with grouping_type equal to ’vpvs’ is present、an accompanying SampleGroupDescriptionBox with the same grouping type is present,and contains the ID of this group of samples belong to.)
実施例によるV-PCCレンダリングパラメータサンプリンググループ(V-PCC rendering parameter sampling group)は、以下の構文を有する。
aligned(8) class VPCCRenderingParamSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vprp’) {
RenderingParamStruct();
実施例によるレンダリングパラメータ情報は、時間経過とともに変化する。この場合、実施例によるレンダリングパラメータ情報は、サンプルエントリーのタイプが‘dyrp’である関連したタイム-メタデータトラック(associated timed-metadata track)から伝送される。
仮に、V-PCCトラックが、サンプルエントリーのタイプが‘dyrp’である関連したタイム-メタデータトラック(associated timed-metadata track)を含む場合、実施例によるレンダリングパラメータ情報は、動的(dynamic、即ちレンダリングパラメータ情報が動的に時間経過に従って変化する場合)に考慮されるV-PCCトラックによって送信されるポイントクラウドデータ(ポイントクラウドストリーム)、即ち、例えば、DynamicRenderingParamSampleEntryと定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、アトラスストリームを伝送するV-PCCトラックを参照するための‘cdsc’トラックレファレンスを含む。
仮に、実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyrp’のサンプルエントリータイプを有する関連したタイム-メタデータトラックを有する場合、実施例によるレンダリングパラメータ情報は、動的(即ち、レンダリングパラメータ情報が動的に時間経過とともに変化する)に考慮されるV-PCCエレメンタリートラックによって送信されるポイントクラウドデータ(ストリーム)によって定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、V-PCCエレメンタリーストリームトラックを参照するための‘cdsc’トラックレファレンスを含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyrp’のサンプルエントリータイプを有する関連したタイム-メタデータトラックのサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class DynamicRenderingParamSampleEntry extends MetaDataSampleEntry(’dyrp’) {
VPCCRenderingParamBox init_rendering_param;
初期_レンダリング_パラメータ(init_rendering_param)は、実施例によるポイントクラウドデータの初期(initial)のレンダリングパラメータを含む。
実施例による‘dyrp’のサンプルエントリータイプのサンプル(sample)の構文は、以下のようである。
aligned(8) DynamicRenderingParamSample(){
VPCCRenderingParamBox rendering_param;
実施例による‘dyrp’のサンプルエントリータイプのサンプル(sample)は、実施例による時間経過とともに変化する、即ち、動的レンダリングパラメータ情報(rendering parameter information、VPCCRenderingParamBox rendering_param)を含む。各々のサンプルには、時間経過とともに変化するレンダリングパラメータが含まれる。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、レンダリングパラメータ(rendering parameter)を提供し、受信装置がレンダリングパラメータを用いて実施例によるポイントをレンダリングすることで、受信装置はユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図33は実施例によるポイントクラウドデータを再構成又はレンダリングするためのパラメータの役割を示す。
図33は、実施例によるポイントクラウドデータのオブジェクト33000、ポイントクラウドデータのオブジェクトの位置33001、ポイントクラウドデータのオブジェクトの方向ベクトル33002及びポイントクラウドデータのオブジェクトの上ベクトル33003を示す。
ポイントクラウドデータのオブジェクト(obejct)33000は、実施例によるポイントクラウドデータの全体又はポイントクラウドデータに含まれた1つの物体(又は人など)を意味する。即ち、ポイントクラウドデータは、1つ又はそれ以上のオブジェクトで構成される。
オブジェクト33000は、例えば、実際(real、例えば、1つのシーン(scene)内の物体)又は物理的又はその他の特性と関連した概念的な物体に対応する。オブジェクト(object)は、物体、容積測定データ(volumetric data)、容積測定シーンデータ(volumetric scene data)などと呼ばれる。
ポイントクラウドデータのオブジェクトの位置33001は、実施例によるポイントクラウドデータのオブジェクトが位置する場所を意味する。ポイントクラウドデータのオブジェクトの位置33001は、実施例による受信装置が該当オブジェクトをレンダリング又は再構成するための基準点である。実施例によるポイントクラウドデータのオブジェクトの位置33001は、オブジェクト(容積測定データ)を含むポイントクラウドデータの3次元空間上の境界ボックス(bouding box)の基準点を示す。この基準点は、アンカーポイント(anchor point)とも呼ばれる。ポイントクラウドデータのオブジェクトの位置33001、即ち、アンカーポイントの位置は、3次元空間上の境界ボックスの原点のx軸、y軸、z軸の座標で表現することができる。
ポイントクラウドデータのオブジェクトの方向ベクトル33002は、実施例によるポイントクラウドデータのオブジェクトが見る方向を示す。ポイントクラウドデータのオブジェクトの方向ベクトル33002は、実施例による受信装置が該当オブジェクトをレンダリング又は再構成するための基準となる方向ベクトルである。実施例によるオブジェクトの方向ベクトル33002は、前方ベクトル(又は前方、forward direction vector)、法線ベクトル(normal vector)又はフォワードベクトル(forward vector)とも呼ばれる。
ポイントクラウドデータのオブジェクトの上ベクトル33003は、実施例によるポイントクラウドデータのオブジェクトの上方を示す。ポイントクラウドデータのオブジェクトの上ベクトル33003は、実施例による受信装置が該当オブジェクトをレンダリング又は再構成するときにオブジェクトの回転度を判断する基準となるベクトルである。実施例によるポイントクラウドデータのオブジェクトの上ベクトル33003は、実施例によるポイントクラウドデータのオブジェクトの方向ベクトル33002と直交(orthogonal)することができる。実施例によるオブジェクトの上ベクトル33003は、直交ベクトル(orthogonal vector)とも呼ばれる。
実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータのオブジェクト(obejcti)33000を構成するデータ及び/又はポイントクラウドデータのオブジェクトの位置33001に基づいてポイントクラウドデータのオブジェクト33000を正しい位置にレンダリング又は再構成する。
実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータのオブジェクト(obejcti)33000を構成するデータ及び/又はポイントクラウドデータのオブジェクトの方向ベクトル33002に基づいてポイントクラウドデータのオブジェクト33000を正しい方向にレンダリング又は再構成する。
実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータのオブジェクト(obejcti)33000を構成するデータ及び/又はポイントクラウドデータのオブジェクトの上ベクトル33003に基づいてポイントクラウドデータのオブジェクト33000を正しい回転方向にレンダリング又は再構成する。
実施例によるポイントクラウドデータ送信装置は、実施例によるポイントクラウドデータのオブジェクトの位置33001を示す情報、ポイントクラウドデータのオブジェクトの方向ベクトル33002を示す情報、ポイントクラウドデータのオブジェクトの上ベクトル33003を示す情報をメタデータ内に送信する。このようなオブジェクトと関連した情報は、例えば、オブジェクトレンダリング情報(object rendering information)と呼ばれる。
具体的に、オブジェクトレンダリング情報(object rendering information)は、実施例によるエンコーダ(例えば、図1のエンコーダ10002、図4、図15の符号化装置100、図18のビデオ符号化部18006、図20のビデオ符号化部20002、イメージ符号化部20003、図21のビデオ/イメージ符号化部21007、21008など)によって生成及び符号化され、図24のアトラスデータ24002e又はV-PCCパラメータセット24002a、図27のサンプルストリームNALユニット内のアトラスタイルグループ(atlas tile group)に含まれ、これらがカプセル化部(例えば、図1のファイル/セグメントカプセル化部10003、図20、図21のファイルセグメントカプセル化部20004、21009など)によってカプセル化され、ファイル内の1つ又はそれ以上のトラックに含まれる。
例えば、実施例によるファイルがシングルトラックである場合、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、そのトラックによって伝送される。そのトラックで伝送されるサンプル又はサンプルエントリー(例えば、図28のパッチシーケンスデータビットストリーム28003dにおいて、図24に示されたアトラスデータ24002e又は図27に示されたサンプルストリームNALユニット内のアトラスタイルグループ内)に含まれる。
例えば、実施例によれば、ファイルがマルチトラックである場合、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、図28のV-PCCトラック28002dによって伝送され、パッチシーケンスデータビットストリーム28003dに含まれるようにカプセル化される。例えば、ポイントクラウドデータを再構成又はレンダリングするためのパラメータは、図28のパッチシーケンスデータビットストリーム28003dにおいて、図24に示されたアトラスデータ24002e又は図27に示されたサンプルストリームNALユニット内のアトラスタイルグループに含まれるようにカプセル化される。
ポイントクラウドデータ(又はアトラスデータ24002e)が実施例によるカプセル化部(例えば、図1、図20、図21のカプセル化部10003、20004、21009など)によってシングルトラック(single track)にカプセル化される場合、図33で説明した情報を含むポイントクラウドビットストリーム24000は、そのトラック(V3Cビットストリームトラック、V3C bitstream track)のサンプルエントリー又はサンプル(ら)又はサブ-サンプル(ら)に含まれる。図33で説明した情報は、サンプル又はサブ-サンプル内のSEIメッセージに含まれる。マルチトラック(multi-track)にカプセル化される場合、複数のトラックのうちのV3Cトラック(例えば、図28のV-PCCトラック28002d)によって伝送され、図33で説明した情報を含むポイントクラウドビットストリーム24000は、パッチシーケンスデータビットストリーム28003dに含まれる。
上述した受信装置の動作を行うために、実施例による送信装置のカプセル化部(例えば、図1の10003、図20の20004、図21の21009)又はエンコーダ(図1の10002、図4、図15の100、図18の18006、図20の20002、20003、図21の21007、21008)は、実施例によるポイントクラウドデータのオブジェクトの位置33001を示す情報(例えば、図34のobj_pos_x、obj_pos_y、obj_pos_z)、ポイントクラウドデータのオブジェクトの方向ベクトル33002を示す情報、ポイントクラウドデータのオブジェクトの上ベクトル33003を示す情報を生成し、実施例による送信装置のカプセル化部は生成された情報をカプセル化する。
上述した受信装置の動作を行うために、実施例による送信装置のカプセル化部(例えば、図1の10003、図20の20004、図21の21009)又はエンコーダ(図1の10002、図4、図15の100、図18の18006、図20の20002、20003、図21の21007、21008)は、実施例によるポイントクラウドデータのオブジェクトの位置33001を示す情報、ポイントクラウドデータのオブジェクトの方向ベクトル33002を示す情報、ポイントクラウドデータのオブジェクトの上ベクトル33003を示す情報を生成及びカプセル化する。
オブジェクトレンダリング情報は、例えば、1つ又はそれ以上のオブジェクトの抽出(extraction)及びレンダリングに有用な属性(properties)を含む。例えば、オブジェクトレンダリング情報は、オブジェクトを識別するためのオブジェクトの識別子(又はオブジェクトのラベリング情報など)、オブジェクトが可視的であるか否か(visible or not)を示す情報、可視性円錐情報(visibility cone information)、マテリアルID(material ids)、他のオブジェクトとの衝突に関する情報(collision information)などを含む。
実施例によるオブジェクトレンダリング情報(object rendering information)を実施例による送信装置がカプセル化されたファイル(例えば、ISOBMFFファイル)の形式で伝送する方法は、図34で詳述する。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、オブジェクトレンダリング情報(object rendering information)を提供し、受信装置がオブジェクトレンダリング情報を用いて実施例によるオブジェクトをレンダリングすることで、受信装置はユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図34は実施例によるポイントクラウドデータのオブジェクト(object)を再構成又はレンダリングするためのパラメータの構文の一例を示す。
図34は、オブジェクトレンダリング情報(object rendering information)の構文の一例を示す。実施例によるオブジェクトレンダリング情報は、図33で説明したオブジェクトレンダリング情報である。実施例によれば、オブジェクト(object)は、物体、容積測定データ(volumetric data)、容積測定シーンデータ(volumetric scene data)などと呼ばれる。
即ち、オブジェクトレンダリング情報は、ポイントクラウドデータに対する容積測定データ(volumetric data)のための情報を意味する。
図34に示されたオブジェクトレンダリング情報(object rendering information)に含まれたパラメータは、実施例によるV-PCCビットストリーム(又はビットストリームに含まれたメタデータ)に含まれる。オブジェクトレンダリング情報(object rendering information)に含まれたパラメータは、obj_id、obj_coord_type、obj_pos_x、obj_pos_y、obj_pos_z、obj_dir_x、obj_dir_y、obj_dir_z、obj_up_x、obj_up_y、obj_up_z、obj_scale_x、obj_scale_y及び/又はobj_scale_zを含む。
オブジェクト_ID(obj_id)は、実施例によるポイントクラウドデータのオブジェクト(又は容積測定データ)を識別する識別子である。
オブジェクト_座標_タイプ(obj_coord_type)は、実施例による受信装置がポイントクラウドデータのオブジェクト(又は容積測定データ)をレンダリングするときに使用する座標系(coordinate system)を示す。このパラメータの値が0である場合、グローバル座標(global coordinate)、値が1である場合はビュー座標(view coordinate)を使用することを示す。ビュー座標(view coordinate)とは、ビューポート(viewport)データの生成に使用可能な仮想カメラの座標系を意味する。
オブジェクト_位置_x(obj_pos_x)、オブジェクト_位置_y(obj_pos_y)、オブジェクト_位置_z(obj_pos_z)は、容積測定データを再構成するために使用される位置に関する情報を意味する。例えば、オブジェクト_位置_x(obj_pos_x)、オブジェクト_位置_y(obj_pos_y)、オブジェクト_位置_z(obj_pos_z)は、オブジェクト座標タイプ(obj_coord_type)が称する座標系内のポイントクラウドデータの境界ボックス(bounding box)の位置(例えば、原点、中点、基準点、アンカーポイントなど)のx座標、y座標、z座標の値を示す。実施例によるオブジェクト_位置_x(obj_pos_x)、オブジェクト_位置_y(obj_pos_y)、オブジェクト_位置_z(obj_pos_z)情報は、図33で説明したオブジェクトの位置を意味する。
オブジェクト_方向_x(obj_dir_x)、オブジェクト_方向_y(obj_dir_y)、オブジェクト_方向_z(obj_dir_z)は、容積測定データに適用される方向に関する情報を意味する。例えば、オブジェクト_方向_x(obj_dir_x)、オブジェクト_方向_y(obj_dir_y)、オブジェクト_方向_z(obj_dir_z)は、ポイントクラウドデータの正面(forward)を見る方向を示す実施例による方向ベクトル(direction vector、又はnormal vector)を示すための3次元空間上のx座標、y座標、z座標の値を示す。実施例によるオブジェクト_方向_x(obj_dir_x)、オブジェクト_方向_y(obj_dir_y)、オブジェクト_方向_z(obj_dir_z)情報は、図33で説明したオブジェクトの方向ベクトルを意味する。
オブジェクト_アップ_x(obj_up_x)、オブジェクト_アップ_y(obj_up_y)、オブジェクト_アップ_z(obj_up_z)は、容積測定データに適用される方向に関する情報を意味する。例えば、オブジェクト_アップ_x(obj_up_x)、オブジェクト_アップ_y(obj_up_y)、オブジェクト_アップ_z(obj_up_z)は、ポイントクラウドデータのオブジェクト(又はポイントクラウドデータ)の上方を示す上ベクトル(up vector)を示すための3次元空間上のx座標、y座標、z座標を示す。実施例によるオブジェクト_アップ_x(obj_up_x)、オブジェクト_アップ_y(obj_up_y)、オブジェクト_アップ_z(obj_up_z)情報は、図33で説明したオブジェクトの上ベクトルを意味する。
オブジェクト_スケール_x(obj_scale_x)、オブジェクト_スケール_y(obj_scale_y)、オブジェクト_スケール_z(obj_scale_z)は、実施例によるポイントクラウドデータのオブジェクトがレンダリング又はディスプレイされる場合、オリジナルのポイントクラウドデータに対して拡大又は縮小される程度を示す情報であって、x、y、z軸に適用する倍率(scaling factor)を意味する。
実施例による実際カメラ又は仮想カメラの上方は、実施例による実際カメラ又は仮想カメラの前方(front direction)又は見る方向(例えば、ビュー方向)と垂直(orthogonal)である。
実施例によるオブジェクトレンダリング情報(例えば、ObjectRenderingInfoStruct)は、実施例によるビットストリーム内のSEIメッセージに含まれて受信装置へ伝送される。例えば、オブジェクトレンダリング情報又はオブジェクトレンダリング情報に含まれたパラメータの一部又は全部は、シーンオブジェクト情報SEIメッセージ(Scene Object information SEI message)に含まれる。
実施例によるオブジェクトレンダリング情報は、例えば、V-PCCオブジェクトレンダリング情報ボックス(V-PCC object rendering information box)に含まれるように送信装置によってカプセル化される。
例えば、実施例によるオブジェクトレンダリング情報は、以下のようにV-PCCオブジェクトレンダリング情報ボックス(V-PCC object rendering information box)に含まれるように、以下のような構文によってカプセル化されて送信される。
aligned(8) class VPCCObjectRenderingInfoBox extends FullBox(’vpoi’,0,0) {
ObjectRenderingInfoStruct();
実施例によるV-PCCオブジェクトレンダリング情報ボックスは、ポイントクラウドデータのオブジェクトを再構成又はレンダリングするためのパラメータ(例えば、ObjectRenderingInfoStruct)を含む。
実施例によるオブジェクトレンダリング情報は、ポイントクラウドデータのシーケンス(sequence)において変化しなくてもよい。例えば、実施例によるオブジェクトレンダリング情報は、時間経過とともに変化しない静的(static)情報である。
V-PCCトラック(V-PCC track)のサンプルエントリー(sample entry)は、実施例によるVPCCObjectRenderingInfoBoxを含む(即ち、実施例によるオブジェクトレンダリング情報を含む)。例えば、V-PCCトラック(V-PCC track)のサンプルエントリーは、以下のような構文を有する。
aligned(8) class VPCCSampleEntry() extends VolumetricVisualSampleEntry (’vpc1’) {
VPCCConfigurationBox config;
VPCCUnitHeaderBox unit_header;
VPCCObjectRenderingInfoBox obj_rendering_info;
VPCCオブジェクトレンダリング情報ボックス(VPCCObjectRenderingInfoBox)は、該当トラック内のサンプルに含まれたアトラスフレームと関連するポイントクラウドデータと関連するオブジェクトをレンダリングするためのオブジェクトレンダリング情報(object rendering information)を含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、実施例によるVPCCObjectRenderingInfoBoxを含む(即ち、実施例によるオブジェクトレンダリング情報を含む)。例えば、V-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)のサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class VPCCElementaryStreamSampleEntry() extends VolumetricVisualSampleEntry (’vpe1’) {
VPCCConfigurationBox config;
VPCCObjectRenderingInfoBox obj_rendering_info;
VPCCオブジェクトレンダリング情報ボックス(VPCCObjectRenderingInfoBox)は、トラック内のサブサンプル(sub-sample)に格納されたアトラスフレーム、ビデオフレーム及び/又はポイントクラウドデータと関連するオブジェクトをレンダリングするためのオブジェクトレンダリング情報(object rendering information)を含む。
実施例によるオブジェクトレンダリング情報(object rendering information)は、V-PCCオブジェクトレンダリング情報サンプリンググループ(V-PCC object rendering information sampling group)にカプセル化又は送信される。以下、その実施例について説明する。
サンプルグループ化のための‘vpoi’grouping_typeは、実施例によるV-PCCトラック内のサンプルをこのサンプルグループから伝送されるオブジェクトレンダリング情報(object rendering information)に指定することを示す。grouping_typeが‘vpoi’であるSampleToGroupBoxが存在する場合、同行する同一のgrouping typeを有するSampleGroupDescriptionBoxが存在し、これはサンプルが保有するこのグループのIDを保有する。(The ’vpoi’ grouping_type for sample grouping represents the assignment of samples in V-PCC track to the object rendering information carried in this sample group. When a SampleToGroupBox with grouping_type equal to ’vpoi’ is present、an accompanying SampleGroupDescriptionBox with the same grouping type is present,and contains the ID of this group of samples belong to.)
実施例によるV-PCCオブジェクトレンダリング情報サンプルグループ化情報(VPCCObjRenderingInfoSampleGroupDescriptionEntry)は、以下の構文を有する。
aligned(8) class VPCCObjRenderingInfoSampleGroupDescriptionEntry() extends SampleGroupDescriptionEntry(’vpoi’) {
VPCCObjectRenderingInfoStruct();
実施例によるオブジェクトレンダリング情報(object rendering information)は、時間経過とともに変化する。この場合、実施例によるオブジェクトレンダリング情報は、サンプルエントリーのタイプが‘dyoi’である関連したタイム-メタデータトラック(associated timed-metadata track)から伝送される。
仮に、V-PCCトラックが、サンプルエントリーのタイプが‘dyoi’である関連したタイム-メタデータトラック(associated timed-metadata track)を含む場合は、実施例によるオブジェクトレンダリング情報は、動的(dynamic、即ちオブジェクトレンダリング情報が動的に時間経過とともに変化する場合)に考慮されるV-PCCトラックによって伝送されるポイントクラウドデータ(ポイントクラウドストリーム)、即ち、例えば、DynamicViewInfoSampleEntryと定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、アトラスストリームを伝送するV-PCCトラックを参照するための‘cdsc’トラックレファレンスを含む。
仮に、実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyoi’のサンプルエントリータイプを有する関連したタイム-メタデータトラックを有する場合、実施例によるオブジェクトレンダリング情報は、動的(即ち、オブジェクトレンダリング情報が動的に時間経過とともに変化する)に考慮されるV-PCCエレメンタリートラックによって伝送されるポイントクラウドデータ(ストリーム)によって定義される。
実施例による関連したタイム-メタデータトラック(associated timed-metadata track)は、V-PCCエレメンタリーストリームトラックを参照するための‘cdsc’トラックレファレンスを含む。
実施例によるV-PCCエレメンタリーストリームトラック(V-PCC elementary stream track)が‘dyvi’のサンプルエントリータイプを有する関連したタイム-メタデータトラックのサンプルエントリー(sample entry)は、以下のような構文を有する。
aligned(8) class DynamicObjRenderingInfoSampleEntry extends MetaDataSampleEntry(’dyoi’) {
VPCCObjectRenderingInfoBox init_obj_rendering;
初期_オブジェクト_レンダリング(init_obj_rendering)は、ポイントクラウドデータと関連する初期オブジェクトのレンダリングのためのオブジェクトレンダリング情報(object rendering information)を含む。
実施例による‘dyoi’のサンプルエントリータイプのサンプル(sample)の構文は、以下のようである。
aligned(8) DynamicObjRenderingInfoSample() {
VPCCObjectRenderingInfoBox obj_rendering_info;
実施例による‘dyoi’のサンプルエントリータイプのサンプル(sample)は、実施例による時間経過とともに変化する、即ち、動的レンダリングパラメータ情報を含む。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、オブジェクトレンダリング情報(object rendering information)を提供し、受信装置がオブジェクトレンダリング情報を用いて実施例によるオブジェクトをレンダリングすることで、受信装置は、ユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
図35は実施例によるポイントクラウドデータ及びポイントクラウドデータに関するメタデータをカプセル化する動作の一例を示す。
図35は、実施例によるノン-タイムV-PCCデータ(例えば、イメージデータ)に対するカプセル化されたファイルの一例を意味する。
図35は、図20ないし図22の実施例によるファイル/セグメントカプセル化部20004、21009及び/又はファイル/セグメントデカプセル化部22000がイメージ(image)データを伝送(deliver)する場合、カプセル化されたファイルの構造を示す。イメージ(image)データを伝送(deliver)する場合にも、実施例によるポイントクラウドデータは、シングル-アイテム(single item)又はマルチ-アイテム(multi-item)にカプセル化される。
一方、図28に示されたカプセル化されたファイルの一例は、図20ないし図22の実施例によるファイル/セグメントカプセル化部20004、21009及び/又はファイル/セグメントデカプセル化部22000がビデオ(video)データを伝送(deliver)する場合(例えば、シングルトラック(single track)又はマルチトラック(multi track))にカプセル化されたファイルの構造を示す。
図35はノン-タイムV-PCCデータ(non-timed V-PCC data)のカプセル化の構造を示す。ノン-タイムV-PCCデータは、時間経過とともに変化しないポイントクラウドデータを意味する。
ノン-タイムV-PCCデータは、イメージアイテムと同じファイルに格納される。V-PCCアイテム、V-PCCユニットアイテム及びその他のV-PCC符号化されたコンテンツ表示の存在を示すために、新しいハンドラタイプ4CCコード‘vpcc’は、メタボックスのハンドラボックスに格納され定義される。(The non-timed V-PCC data is stored in a file as image items. a new handler type 4CC code ’vpcc’ is defined and stored in the HandlerBox of the MetaBox in order to indicate the presence of V-PCC items,V-PCC unit items and other V-PCC encoded content representation information.)
ノン-タイムV-PCCデータが含まれた実施例によるV-PCCアイテム(V-PCC Item)を説明する。
V-PCCアイテム(V-PCC item)は、独立して復号されるV-PCCアクセスユニットであるアイテムである。新しいアイテムタイプ4CCコード‘vpci’がV-PCCアイテムを示すために定義される。V-PCCアイテムは、実施例によるアトラスサブ-ビットストリーム内のV-PCCユニットペイロードに格納される。(an item which represents an independently decodablE V-PCC access unit. a new item type 4CC code ’vpci’ is defined to identify V-PCC items. V-PCC items store V-PCC unit payload(s) of atlas sub-bitstream.) 仮に、初期アイテムボックスが存在する場合、そのボックス内のitem_idは、V-PCCアイテムを示すように設定される。(If PrimaryItemBox exists、item_id in this box shall be set to indicate a V-PCC item)V-PCCアイテムは、V3Cアイテム(V3C item)、視覚容積測定ビデオ-ベースのコードされたアイテム(visual volumetric video-based coded item)と呼ばれる。
V3Cユニットアイテム(V-PCC Unit Item)は、 V-PCCユニットデータ(V-PCC Unit data)を示すアイテムである。V-PCCユニットアイテムは、実施例による占有、ジオメトリ及び特質ビデオデータユニットのV-PCCユニットペイロードを格納する。V-PCCユニットアイテムは、V-PCCアクセスユニットと関連するデータを1つだけ含む。(A V-PCC unit item is an item which represents a V-PCC unit data. V-PCC unit items store V-PCC unit payload(s) of occupancy,geometry,and attribute video data units. A V-PCC unit item shall store only one V-PCC access unit related data.)V-PCCユニットアイテムは、V3Cユニットアイテム(V3C unit item)、視覚容積測定ビデオ-ベースのコードされたユニットアイテム(visual volumetric video-based coded unit item)と呼ばれる。
V-PCCユニットアイテムに対するアイテムタイプ4CCコードは、対応するビデオデータユニットの符号化に用いられるコーデックによって設定される。V-PCCユニットアイテムは、対応するV-PCCユニットヘッダアイテム属性(V-PCC unit header item property)及びコーデック特定構成アイテム属性(codec specific configuration item property)と連関される。(An item type 4CC code for a V-PCC unit item is set depending on the codec used to encode corresponding video data units. A V-PCC unit item shall be associated with corresponding V-PCC unit header item property and codec specific configuration item property.)
V-PCCユニットアイテムは、独立してディスプレイする意味のない限り、非表示アイテム(hidden items)として表示される。(V-PCC unit items are marked as hidden items、since it is not meaningful to display independently.)
V-PCCアイテム及びV-PCCユニット間の関係を示すために、‘pcco’、‘pccg’、及び‘pcca’の4CCコードのように3つの新しいアイテムレファレンスタイプ(item reference type)が定義される。アイテムレファレンス(item reference)は、V-PCCアイテムにおいてV-PCCユニットアイテムとして定義される。アイテムレファレンスタイプの4CCコードは、以下のようである。(In order to indicate the relationship between a V-PCC item and V-PCC units、three new item reference types with 4CC codes ’pcco’、’pccg’ and ’pcca’ are defined. Item reference is defined “from” a V-PCC item “to” the related V-PCC unit items. The 4CC codes of item reference types are:)
1) ’pcco’(又はv3vo):参照されたV-PCCユニットアイテム(ら)が占有ビデオデータユニットを含む。(the referenced V-PCC unit item(s) contain the occupancy video data units.)
2) ’pccg’(又はv3vg):参照されたV-PCCユニットアイテム(ら)がジオメトリビデオデータユニットを含む。(the referenced V-PCC unit item(s) contain the geometry video data units.)
3) ’pcca’(又はv3va):参照されたV-PCCユニットアイテム(ら)が特質ビデオデータユニットを含む。(the referenced V-PCC unit item(s) contain the attribute video data units.)
V-PCC関連アイテム属性(V-PCC related item properties)を説明する。記述アイテム属性(descriptive item properties)は、V-PCCパラメータセット情報及びV-PCCユニットヘッダ情報のそれぞれを伝送するように定義される。(descriptive item properties are defined to carry the V-PCC parameter set information and V-PCC unit header information,respectively)V-PCC関連アイテム属性は、例えば、V-PCC構成アイテム属性(V-PCC configuration item property)、V-PCCユニットヘッダアイテム属性(V-PCC unit header item property)、実施例によるV-PCCビュー情報アイテム属性(V-PCC view formation item property)、実施例によるV-PCCレンダリングパラメータアイテム属性(V-PCC rendering parameter item property)、V-PCCオブジェクトレンダリング情報アイテム属性(V-PCC object rendering information item property)を含む。
V-PCC関連アイテム属性はV3C関連アイテム属性と呼ばれ、V-PCCユニットヘッダ情報はV3Cユニットヘッダ情報と呼ばれる。
V-PCC構成アイテム属性(V-PCC configuration item property)を説明する。
ボックスタイプ:’vpcp’
属性タイプ:記述アイテム属性(descriptive item property)
コンテナ:ItemPropertyContainerBox
必須か否か(per item):必須である(for a V-PCC item of type ’vpci’)
数量(per item):1つ又はそれ以上(for a V-PCC item of type ’vpci’)
V-PCCパラメータセットは、記述アイテム属性に格納され、V-PCCアイテムと連関される。(V-PCC parameter sets are stored as descriptive item properties and are associated with the V-PCC items)
V-PCC構成アイテム属性は、V3C構成アイテム属性と呼ばれる。
実施例によるVPCC構成属性(VPCCConfigurationProperty)は、以下のような構文を有する。
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()「」;
Vpcc_ユニット_ペイロード_サイズ(vpcc_unit_payload_size)は、vpcc_unit_payload()のサイズを示す。
V-PCCユニットヘッダアイテム属性(V-PCC unit header item property)を説明する。
ボックスタイプ:’vunt’
属性タイプ:記述アイテム属性
コンテナ:ItemPropertyContainerBox
必須か否か(per item):Yes、for a V-PCC item of type ’vpci’ and for a V-PCC unit item
数量(per item):One
V-PCCユニットヘッダ(V-PCC unit header)は、記述アイテム属性に格納され、V-PCCアイテム及びV-PCCユニットアイテムと連関される。(is stored as descriptive item properties and is associated with the V-PCC items and the V-PCC unit items.)
V-PCCユニットヘッダアイテム属性は、V3Cユニットヘッダアイテム属性と呼ばれる。
aligned(八) class VPCCUnitHeaderProperty () extends ItemFullProperty(’vunt’, version=0, 0) {
Vpcc_unit_header();
ノン-タイムV-PCCデータ(non-timed V-PCC data)のための実施例によるビュー情報(view information)は、V-PCCビュー情報アイテム属性(V-PCC view information item property)にカプセル化されて送信される。
実施例によるV-PCCビュー情報アイテム属性(V-PCC view information item property)について説明する。
ボックスタイプ:’vpvi’
属性タイプ:記述アイテム属性(descriptive item property)
コンテナ:ItemPropertyContainerBox
必須か否か(per item):Yes、for a V-PCC item of type ’vpci’ and for a V-PCC unit item
数量(per item):One
実施例によるビュー情報は、記述アイテム属性(descriptive item property)に格納され、V-PCCアイテム及びV-PCCユニットアイテムと連関される。(view information is stored as descriptive item properties and is associated with the V-PCC items and the V-PCC unit items.)
実施例によるV-PCCビュー情報アイテム属性(VPCCViewInfoproperty)の構文は、以下のようである。ViewInfoStructは、実施例によるビュー情報(view information)を含む。
V-PCCビュー情報アイテム属性は、V3Cビュー情報アイテム属性と呼ばれる。
aligned(8) class VPCCViewInfoproperty () extends ItemFullProperty(’vpvi’, version=0, 0) {
ViewInfoStruct();
ノン-タイムV-PCCデータ(non-timed V-PCC data)のための実施例によるレンダリングパラメータ(rendering parameter)は、V-PCCレンダリングパラメータアイテム属性(V-PCC rendering parameter item property)にカプセル化されて送信される。
実施例によるV-PCCレンダリングパラメータアイテム属性(V-PCC rendering parameter item property)について説明する。
ボックスタイプ:’vprp’
属性タイプ:記述アイテム属性(descriptive item property)
コンテナ:ItemPropertyContainerBox
必須か否か(per item):Yes、for a V-PCC item of type ’vpci’ and for a V-PCC unit item
数量(per item):One
実施例によるレンダリングパラメータは、記述アイテム属性(descriptive item property)に格納され、V-PCCアイテム及びV-PCCユニットアイテムと連関される。(Rendering parameter is stored as descriptive item properties and is associated with the V-PCC items and the V-PCC unit items.)
実施例によるV-PCCレンダリングパラメータアイテム属性(VPCCRenderingParamsproperty)の構文は、以下のようである。RenderingParamStructは、実施例によるレンダリングパラメータ(rendering parameter)を含む。
V-PCCレンダリングパラメータアイテム属性は、V3Cレンダリングパラメータアイテム属性と呼ばれる。
aligned(8) class VPCCRenderingParamsproperty () extends ItemFullProperty(’vprp’, version=0, 0) {
RenderingParamStruct();
ノン-タイムV-PCCデータ(non-timed V-PCC data)のための実施例によるオブジェクトレンダリング情報(object rendering information)は、V-PCCオブジェクトレンダリング情報アイテム属性(V-PCC object rendering information item property)にカプセル化されて送信される。
実施例によるV-PCCオブジェクトレンダリング情報アイテム属性(V-PCC object rendering information item property)について説明する。
ボックスタイプ:’vpri’
属性タイプ:記述アイテム属性(Descriptive item property)
コンテナ:ItemPropertyContainerBox
必須か否か(per item):Yes、for a V-PCC item of type ’vpci’ and for a V-PCC unit item
数量(per item):One
実施例によるオブジェクトレンダリング情報は、記述アイテム属性(descriptive item property)に格納され、V-PCCアイテム及びV-PCCユニットアイテムと連関される。(Object rendering information is stored as descriptive item properties and is associated with the V-PCC items and the V-PCC unit items.)
実施例によるV-PCCオブジェクトレンダリング情報アイテム属性(VPCCObjRenderingInfoproperty)の構文は、以下のようです。VPCCObjRenderingInfopropertyは、実施例によるオブジェクトレンダリング情報(object rendering information)を含む。
V-PCCオブジェクトレンダリング情報アイテム属性は、V3Cオブジェクトレンダリング情報アイテム属性と呼ばれる。
aligned(8) class VPCCObjRenderingInfoproperty () Extends ItemFullProperty(’vpri’, version=0, 0) {
ObjectRenderingInfoStruct();
実施例によるポイントクラウドデータ及びポイントクラウドデータのためのメタデータは、図30ないし図35で説明した方法に基づいてポイントクラウドデータのサービスをカプセル化することで、V-PCCビットストリームを構成し、ファイルを格納する。
実施例によれば、図25ないし図35に示されたように、カプセル化を行うことで、実施例による送信装置は、V-PCCビットストリームにおいてデータを処理してレンダリングを行うためのメタデータをビットストリームに送信する。
実施例による送信装置は、プレーヤーなどにおいてユーザビューポートなどによってポイントクラウドオブジェクト及び/又はコンテンツの空間又は部分アクセスを可能にする。実施例による送信装置は、上述したビュー情報(view information)を提供し、受信装置がビュー情報を用いてレンダリングすることで、受信装置は、ユーザのビューポートに適応してポイントクラウドビットストリームに効率的にアクセスし処理できるという効果を提供する。
実施例によるポイントクラウドデータ送信装置は、ポイントクラウドコンテンツ(e.g.V-PCCコンテンツ)に対する部分アクセス及び/又は空間(spatial)アクセスのための境界ボックス及びそのためのシグナル情報を提供することで、実施例によるポイントクラウドデータ受信装置がプレーヤー又はユーザインタフェースを考慮し、ポイントクラウドコンテンツを様々とアクセスできるという効果を提供する。
実施例によるポイントクラウドデータ送信装置は、ユーザのビューポートによってV-PCCコンテンツの空間、部分アクセス(spatial access)を支援するためのV-PCCコンテンツの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域関連メタデータを提供する。
実施例によるポイントクラウドデータ送信装置(例えば、図20のポイントクラウド前処理部20001、図21のポイントクラウド前処理部など)は、ポイントクラウドビットストリーム内のポイントクラウドの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域関連情報シグナルなどを生成する。
ポイントクラウドの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域関連情報は、例えば、図30、図31に示された実施例によるビュー情報(view information)、図32に示された実施例によるレンダリングパラメータ(rendering parameter)及び/又は図33ないし図34に示された実施例によるオブジェクトレンダリング情報(object rendering information)など)を含む。
実施例によるポイントクラウドデータ受信装置は、ファイル(例えば、ISOBMFF)内にポイントクラウドの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域関連情報を受信及び/又はパーシングする。
実施例によるポイントクラウドデータ受信装置は、このファイル内の情報に基づいて、実施例によるポイントクラウドデータコンテンツ(例えば、ポイントクラウドデータのポイント、オブジェクトなど)に効率的にアクセス(access)する。また、実施例によるポイントクラウドデータ受信装置は、ファイル内のイメージアイテム(image item)及びイメージアイテムと関連するポイントクラウドの3D領域情報とこれに関連するビデオ又はアトラスフレーム上の2D領域関連情報(例えば、実施例によるビュー情報(view information)、図32に示された実施例によるレンダリングパラメータ(rendering parameter)及び/又は図33、図34に示された実施例によるオブジェクトレンダリング情報(object rendering information)などを含むファイル)に基づいて、ユーザインタフェースを考慮したポイントクラウドコンテンツを提供する。
図36は実施例によるポイントクラウドデータ送信方法及び/又はポイントクラウドデータの送信のためのデータ処理方法を示す。
実施例によるポイントクラウドデータ送信方法は、ポイントクラウドデータを符号化するステップS0001、ポイントクラウドデータをカプセル化するステップS0002及び/又はポイントクラウドデータ及び/又はポイントクラウドデータに対するメタデータを含むビットストリームを送信するステップS0003を含む。
ポイントクラウドデータを符号化するステップ001は、実施例によるポイントクラウドデータを符号化する。例えば、符号化するステップ001は、図1のポイントクラウドビデオエンコーダ10002の動作、図3及び/又は図4に示された符号化の動作、図15の実施例による符号化装置100の動作の一部又は全部、図18の実施例によるビデオ符号化部18006の動作、図20のビデオ符号化20002及び/又はイメージ符号化20003の動作、図21のビデオ符号化21007及び/又はイメージ符号化21008の動作を行う。
ポイントクラウドデータをカプセル化するステップ002は、実施例による符号化されたポイントクラウドデータをカプセル化する。例えば、カプセル化するステップ002は、実施例によるポイントクラウドデータを所定のフォーマット(例えば、ISOBMFFフォーマット)のファイルにカプセル化する。カプセル化するステップ002の動作は、図1のファイル/セグメントカプセル化モジュール10003の動作、図20のファイル/セグメントカプセル化部20004、図21のファイル/セグメントカプセル化部21009の動作を意味する。カプセル化するステップ002は、例えば、実施例によるポイントクラウドデータを図28に示されたファイルのフォーマットでカプセル化する動作を意味する。
実施例によるカプセル化するステップ002は、ポイントクラウドデータのレンダリング及び/又は再構成のためのメタデータも共に1つのファイルにカプセル化する。カプセル化するステップ002は、例えば、図30ないし図35で説明した方法に基づいて、実施例によるビュー情報(view information)、レンダリングパラメータ(rendering parameter)、及び/又はオブジェクトレンダリング情報(object rendering information)を所定のファイルフォーマット(例えば、ISOBMFFファイルフォーマット)に合わせてカプセル化する。
ポイントクラウドデータを送信するステップ003は、実施例によるカプセル化されたポイントクラウドデータ(又は、カプセル化されていないポイントクラウドデータなど)を送信する。ポイントクラウドデータを送信するステップ003は、実施例によるカプセル化されたポイントクラウドデータ及び/又はポイントクラウドデータに対するメタデータを含むビットストリームをファイル(又はビットストリーム)の形式で実施例による受信装置に送信する。
図37は実施例によるポイントクラウドデータ受信方法及び/又はポイントクラウドデータの受信のためのデータの処理方法を示す。
実施例によるポイントクラウドデータ受信方法は、ポイントクラウドデータを受信するステップS1001、ポイントクラウドデータをデカプセル化するステップS1002及び/又はポイントクラウドデータを復号するステップS1003を含む。
ポイントクラウドデータを受信するステップS1001は、実施例によるポイントクラウドデータ受信装置がポイントクラウドデータを受信する。実施例によるポイントクラウドデータ受信装置は、ポイントクラウドデータ及び/又はポイントクラウドデータに対するメタデータを含むビットストリーム(bitstream)又はファイル(file、例えば、ISOBMFF基盤のファイルなど)を受信する。
ポイントクラウドデータを受信するステップS1001は、例えば、図1の受信機(Receiver)10006の動作、図19の受信部、図20のビデオベースのポイントクラウドプレーヤーがファイルを受信する動作、図22の伝送(delivery)の動作を行う。
ポイントクラウドデータは、ビットストリームフォーマット(形式)で受信される。ビットストリームは、例えば、1つ又はそれ以上のファイル(file)を含む。ファイル(file)は、例えば、ISOBMFFに基づいてカプセル化されたファイルである。例えば、受信装置が受信するビットストリーム(又はファイル)は、図24ないし図27に示されたV-PCCビットストリームであってもよく、図28ないし図29に示されたように、1つ又はそれ以上のトラック(track)及び各々のトラックに対応する1つ又はそれ以上のサンプル(sample)で構成されたISOBMFFに基づいてカプセル化されたファイルであってもよい。
メタデータは、実施例によるポイントクラウドデータに関するシグナル情報である。メタデータは、実施例によるポイントクラウドデータをレンダリング(rendering)及び/又は再構成(reconstruction)するために必要な情報を含む。例えば、メタデータは、図30ないし図35で説明した情報及び/又はパラメータを含む。
ポイントクラウドデータをデカプセル化するステップS1002は、実施例による受信したポイントクラウドデータ(例えば、ビットストリーム、ISOBMFFファイルなど)をデカプセル化する。例えば、デカプセル化するステップS1002は、受信したISOBMFF基盤のファイルを図24ないし図27に示されたようなビットストリームに変換又は圧縮解除する。デカプセル化するステップS1002は、図1のファイル/セグメントデカプセル化モジュール10007の動作、図20のファイル/セグメントデカプセル化部20005の動作、図22のファイル/セグメントデカプセル化部22000の動作などを行う。
ポイントクラウドデータを復号するステップS1002は、デカプセル化されたポイントクラウドデータを復号する。ポイントクラウドデータを復号するステップS1002は、ポイントクラウドデータを再構成(reconstruct)することで、ポイントクラウドデータを復号する。ポイントクラウドデータを復号するステップS1002は、実施例によってデカプセル化されたポイントクラウドデータをレンダリング、復号及び/又は再構成する。復号するステップS1003は、例えば、図1の実施例によるポイントクラウドビデオデコーダ10008及び/又はレンダラー10009の動作、図16の実施例によるV-PCC復号プロセス16000なしい16008の動作の一部又は全部、図17の復号装置200の動作の一部又は全部、図19のビデオ復号化部19001、メタデータ復号化部19002、ジオメトリ復元部19003、平滑化部19004、テキスチャー復元部19005、色平滑化部及び/又はポイントクラウドレンダラーの動作の一部又は全部、図20のビデオ復号部20006、図21のビデオ復号部22001、イメージ復号部22002の動作の一部又は全部を行う。
実施例は方法及び/又は装置の観点で説明しており、方法の説明及び装置の説明は互いに補完して適用できる。
説明の便宜のために、各図を区分して説明したが、各図に述べられている実施例を併合して新しい実施例を具現するように設計することも可能である。また通常の技術者の必要によって、以前に説明した実施例を実行するためのプログラムが記録されているコンピューターで読み取り可能な記録媒体を設計することも実施例の権利範囲に属する。実施例による装置及び方法は、上述したように、説明された実施例の構成と方法が限定して適用されることではなく、実施例は様々に変形可能に各実施例の全部又は一部が選択的に組み合わせられて構成されることもできる。実施例の好ましい実施例について示して説明したが、実施例は上述した特定の実施例に限定されず、請求の範囲で請求する実施例の要旨から離脱せず、当該発明が属する技術分野において通常の知識を有する者により様々な変形実施が可能であり、かかる変形実施は実施例の技術的思想や見込みから個々に理解されてはいけない。
実施例による装置の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにより構成される。実施例の様々な構成要素は一つのチップ、例えば、一つのハードウェア回路で具現される。実施例において、実施例による構成要素はそれぞれ個々のチップで具現される。実施例において、実施例による装置の構成要素のいずれかは一つ又はそれ以上のプログラムを実行できる一つ又はそれ以上のプロセッサで構成され、一つ又はそれ以上のプログラムは実施例による動作/方法のうちのいずれか一つ又はそれ以上の動作/方法を行わせるか、実行させるための指示を含む。実施例による装置の方法/動作を行うための実行可能な指示は、一つ又はそれ以上のプロセッサにより実行されるために構成された一時的ではない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 (20)

  1. ポイントクラウドデータ送信方法であって、
    ポイントクラウドデータを符号化するステップ;
    前記ポイントクラウドデータをカプセル化するステップ;及び
    前記ポイントクラウドデータを送信するステップ;を含んでなる、ポイントクラウドデータ送信方法。
  2. 前記送信するステップは、前記ポイントクラウドデータに対するメタデータを更に含んで送信し、
    前記メタデータは、前記ポイントクラウドデータに対する容積測定データ(volumetric data)のための情報を含む、請求項1に記載のポイントクラウドデータ送信方法。
  3. 前記容積測定データのための情報は、前記容積測定データを再構成するために使用される位置関連情報及び前記容積測定データに適用される方向関連情報を含む、請求項2に記載のポイントクラウドデータ送信方法。
  4. 前記メタデータは、前記ポイントクラウドデータのポイントの形態を示す情報及び前記ポイントのサイズを示す情報を含む、請求項1に記載のポイントクラウドデータ送信方法。
  5. 前記メタデータは、カメラ情報を更に含み、
    前記カメラ情報は、カメラの位置を示す情報、前記カメラのオリエンテーション方向を示す情報、視錘台の水平FOV(horizontal field of view)を示す情報、及び前記視錘台の垂直FOV(vertical field of view)を示す情報、を含む、請求項1に記載のポイントクラウドデータ送信方法。
  6. ポイントクラウドデータ送信装置であって、
    ポイントクラウドデータを符号化するエンコーダ;
    前記ポイントクラウドデータをカプセル化するカプセル化部;及び
    前記ポイントクラウドデータを送信する送信機;を備えてなる、ポイントクラウドデータ送信装置。
  7. 前記送信部は、前記ポイントクラウドデータに対するメタデータを更に含んで送信し、
    前記メタデータは、前記ポイントクラウドデータ内の容積測定データ(volumetric data)のための情報を含む、請求項6に記載のポイントクラウドデータ送信装置。
  8. 前記容積測定データのための情報は、前記容積測定データを再構成するために使用される位置関連情報及び前記容積測定データに適用される方向関連情報を含む、請求項7に記載のポイントクラウドデータ送信装置。
  9. 前記メタデータは、前記ポイントクラウドデータのポイントの形態を示す情報及び前記ポイントのサイズを示す情報を含む、請求項6に記載のポイントクラウドデータ送信装置。
  10. 前記メタデータは、カメラ情報を含み、
    前記カメラ情報は、カメラの位置を示す情報、前記カメラのオリエンテーション方向、視錘台の水平FOV(horizontal field of view)を示す情報及び前記視錘台の垂直FOV(vertical field of view)を示す情報を含む、請求項6に記載のポイントクラウドデータ送信装置。
  11. ポイントクラウドデータ受信方法であって、
    ポイントクラウドデータを受信するステップ;
    前記ポイントクラウドデータをデカプセル化するステップ;及び
    前記ポイントクラウドデータを復号するステップ;を含む、ポイントクラウドデータ受信方法。
  12. 前記受信するステップは、前記ポイントクラウドデータに対するメタデータを更に受信し、前記復号するステップは、前記ポイントクラウドデータを再構成(reconstruct)し、
    前記メタデータは、前記ポイントクラウドデータ内の容積測定データ(volumetric data)のための情報を含み、
    前記再構成するステップは、前記容積測定データのための情報に基づいて前記容積測定データを再構成する、請求項11に記載のポイントクラウドデータ受信方法。
  13. 前記容積測定データのための情報は、前記容積測定データを再構成するために使用される位置関連情報及び前記容積測定データに適用される方向関連情報を含む、請求項12に記載のポイントクラウドデータ受信方法。
  14. 前記メタデータは、前記ポイントクラウドデータのポイントの形態を示す情報及び前記ポイントのサイズを示す情報を含む、請求項11に記載のポイントクラウドデータ受信方法。
  15. 前記メタデータは、カメラ情報を含み、
    前記カメラ情報は、カメラの位置を示す情報、前記カメラのオリエンテーション方向、視錘台の水平FOV(horizontal field of view)を示す情報及び前記視錘台の垂直FOV(vertical field of view)を示す情報を含む、請求項11に記載のポイントクラウドデータ受信方法。
  16. ポイントクラウドデータ受信装置であって、
    ポイントクラウドデータを受信する受信部;
    前記ポイントクラウドデータをデカプセル化するデカプセル化部;及び
    前記ポイントクラウドデータを復号するデコーダ;を含んでなる、ポイントクラウドデータ受信装置。
  17. 前記受信部は、前記ポイントクラウドデータに対するメタデータを更に受信し、
    前記デコーダは、前記ポイントクラウドデータを再構成(reconstruct)し、
    前記メタデータは、前記ポイントクラウドデータ内の容積測定データ(volumetric data)のための情報を含み、
    前記レンダラーは、前記容積測定データのための情報に基づいて前記容積測定データを再構成する、請求項16に記載のポイントクラウドデータ受信装置。
  18. 前記容積測定データのための情報は、前記容積測定データを再構成するために使用される位置関連情報及び前記容積測定データに適用される方向関連情報を含む、請求項17に記載のポイントクラウドデータ受信装置。
  19. 前記メタデータは、前記ポイントクラウドデータのポイントの形態を示す情報及び前記ポイントのサイズを示す情報を含む、請求項16に記載のポイントクラウドデータ受信装置。
  20. 前記メタデータは、カメラ情報を含み、
    前記カメラ情報は、前記カメラの位置を示す情報、前記カメラのオリエンテーション方向、視錘台の水平FOV(horizontal field of view)を示す情報及び前記視錘台の垂直FOV(vertical field of view)を示す情報を含む、請求項16に記載のポイントクラウドデータ受信装置。



JP2022541990A 2020-01-09 2020-12-11 ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 Active JP7434574B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062959130P 2020-01-09 2020-01-09
US62/959,130 2020-01-09
PCT/KR2020/018156 WO2021141258A1 (ko) 2020-01-09 2020-12-11 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (2)

Publication Number Publication Date
JP2023509190A true JP2023509190A (ja) 2023-03-07
JP7434574B2 JP7434574B2 (ja) 2024-02-20

Family

ID=76763748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022541990A Active JP7434574B2 (ja) 2020-01-09 2020-12-11 ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Country Status (7)

Country Link
US (1) US11606547B2 (ja)
EP (1) EP4072132B1 (ja)
JP (1) JP7434574B2 (ja)
KR (1) KR102373833B1 (ja)
CN (1) CN114946179B (ja)
BR (1) BR112022013595A2 (ja)
WO (1) WO2021141258A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978996A (zh) * 2020-04-11 2024-05-03 Lg电子株式会社 点云数据发送设备和方法、点云数据接收设备和方法
EP4124032A4 (en) * 2020-04-12 2023-05-31 LG Electronics, Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE, AND POINT CLOUD DATA RECEIVING METHOD
EP4131961A4 (en) * 2020-04-13 2023-09-13 LG Electronics, Inc. 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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084878A (ja) * 2016-11-21 2018-05-31 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US20180276841A1 (en) * 2017-03-23 2018-09-27 Intel Corporation Method and system of determining object positions for image processing using wireless network angle of transmission
KR20190043059A (ko) * 2017-10-17 2019-04-25 삼성전자주식회사 멀티미디어 데이터를 전송하는 방법 및 장치
US20190392647A1 (en) * 2019-08-16 2019-12-26 Lg Electronics Inc. Xr device and method for controlling the same

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731313B2 (en) * 2009-03-23 2014-05-20 Level Set Systems, Inc. Method and apparatus for accurate compression and decompression of three-dimensional point cloud data
EP2819414A3 (en) * 2013-06-28 2015-02-25 Samsung Electronics Co., Ltd Image processing device and image processing method
HUE053609T2 (hu) * 2014-11-07 2021-07-28 Sony Corp Átviteli készülék, átviteli eljárás, vételi készülék és vételi eljárás
CN109644262A (zh) * 2016-08-25 2019-04-16 Lg电子株式会社 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
US10979729B2 (en) * 2016-11-30 2021-04-13 Qualcomm Incorporated Systems and methods for signaling and constraining a high dynamic range (HDR) video system with dynamic metadata
EP3349182A1 (en) * 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
CN111201549B (zh) * 2017-10-16 2024-04-09 索尼公司 信息处理装置和信息处理方法
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
US10535161B2 (en) * 2017-11-09 2020-01-14 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
US10607373B2 (en) * 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
CN110012279B (zh) * 2018-01-05 2020-11-17 上海交通大学 基于3d点云数据的分视角压缩和传输方法及系统
WO2019183087A1 (en) * 2018-03-20 2019-09-26 Phantom AI, Inc. Data augmentation using computer simulated objects for autonomous control systems
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10984541B2 (en) * 2018-04-12 2021-04-20 Samsung Electronics Co., Ltd. 3D point cloud compression systems for delivery and access of a subset of a compressed 3D point cloud
EP3562159A1 (en) * 2018-04-24 2019-10-30 InterDigital VC Holdings, Inc. Method, apparatus and stream for volumetric video format
US11012657B2 (en) * 2018-06-08 2021-05-18 Lg Electronics Inc. Method for processing overlay in 360-degree video system and apparatus for the same
EP3804320A4 (en) * 2018-06-26 2021-06-30 Huawei Technologies Co., Ltd. HIGH LEVEL SYNTAX VERSIONS FOR POINT CLOUD CODING
US20200202608A1 (en) * 2018-12-21 2020-06-25 Point Cloud Compression, B.V. Method and apparatus for receiving a volumetric video stream
US11200701B2 (en) * 2019-03-19 2021-12-14 Nokia Technologies Oy Method and apparatus for storage and signaling of static point cloud data
US11243305B2 (en) * 2019-12-20 2022-02-08 Motorola Solutions, Inc. Method, system and computer program product for intelligent tracking and data transformation between interconnected sensor devices of mixed type
US11477483B2 (en) * 2020-01-08 2022-10-18 Apple Inc. Video-based point cloud compression with variable patch scaling
WO2021210513A1 (ja) * 2020-04-13 2021-10-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084878A (ja) * 2016-11-21 2018-05-31 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US20180276841A1 (en) * 2017-03-23 2018-09-27 Intel Corporation Method and system of determining object positions for image processing using wireless network angle of transmission
KR20190043059A (ko) * 2017-10-17 2019-04-25 삼성전자주식회사 멀티미디어 데이터를 전송하는 방법 및 장치
US20190392647A1 (en) * 2019-08-16 2019-12-26 Lg Electronics Inc. Xr device and method for controlling the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SEBASTIAN SCHWARZ, ET AL.: ""Emerging MPEG Standards for Point Cloud Compression"", IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS, vol. 9, no. 1, JPN6023026842, 9 December 2018 (2018-12-09), pages 133 - 148, XP011714044, ISSN: 0005100999, DOI: 10.1109/JETCAS.2018.2885981 *

Also Published As

Publication number Publication date
BR112022013595A2 (pt) 2022-09-13
KR102373833B1 (ko) 2022-03-14
KR20210090089A (ko) 2021-07-19
EP4072132A4 (en) 2023-01-18
US20210218947A1 (en) 2021-07-15
WO2021141258A1 (ko) 2021-07-15
US11606547B2 (en) 2023-03-14
EP4072132B1 (en) 2024-03-06
CN114946179B (zh) 2024-03-08
JP7434574B2 (ja) 2024-02-20
EP4072132A1 (en) 2022-10-12
CN114946179A (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
US11170556B2 (en) Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data
KR102292195B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102406846B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JP7434577B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
EP3926960A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP7477617B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
JP7434578B2 (ja) ポイントクラウドデ-タ送信装置、ポイントクラウドデ-タ送信方法、ポイントクラウドデ-タ受信装置及びポイントクラウドデ-タ受信方法
US11818190B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP7376705B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置およびポイントクラウドデータ受信方法
JP7434574B2 (ja) ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR20210132200A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신장치 및 포인트 클라우드 데이터 수신 방법
CN115398890A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20210320961A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11908168B2 (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
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220810

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: 20230927

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: 7434574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150