JP7438612B2 - ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成 - Google Patents

ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成 Download PDF

Info

Publication number
JP7438612B2
JP7438612B2 JP2023525097A JP2023525097A JP7438612B2 JP 7438612 B2 JP7438612 B2 JP 7438612B2 JP 2023525097 A JP2023525097 A JP 2023525097A JP 2023525097 A JP2023525097 A JP 2023525097A JP 7438612 B2 JP7438612 B2 JP 7438612B2
Authority
JP
Japan
Prior art keywords
point
points
list
connected components
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023525097A
Other languages
English (en)
Other versions
JP2023547174A (ja
Inventor
ウェン・ガオ
シャン・ジャン
シャン・リュウ
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023547174A publication Critical patent/JP2023547174A/ja
Application granted granted Critical
Publication of JP7438612B2 publication Critical patent/JP7438612B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本開示は、一連の高度なビデオコーディング技術、より具体的には、高速パッチ生成を含むビデオベースのポイントクラウド圧縮に関する。
先進的な3次元(3D)の世界表現によって、より没入的な形式の相互作用および通信が可能になっている。これにより、機械がわれわれの住む世界を理解し、解釈し、ナビゲートすることも可能になっている。ポイントクラウドは、世界の3D表現として広く使用されている。例えば、それらは、オブジェクトの検出および位置特定のための自動運転車両において、地図作成のための地理情報システム(GIS)において、ならびに文化的伝統のオブジェクトおよびコレクションなどを視覚化およびアーカイブするための文化的伝統において、使用されることがある。ポイント・クラウド・データに関連するいくつかのユースケースが識別されており、ポイントクラウドの表現および圧縮のためのいくつかの対応する要件が開発されている。
ポイントクラウドは、例えば3次元(3D)などの高次元ポイントの集合を含み、それぞれが、3D位置情報、および色、反射率などの追加の属性を含む。それらは、複数のカメラおよび深度センサ、または様々な設定のLidarを使用してキャプチャされ、元のシーンを現実的に表現するために数千から数十億のポイントで構成され得る。
高速なデータ伝送、または記憶装置の削減を目的として、ポイントクラウドを表すために必要なデータ量を削減するために、圧縮技術が必要とされる。ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、静的または動的なクラウドのための圧縮技術を標準化するためのアドホックグループ(MPEG-PCC)を作成した。
実施形態によれば、ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングする方法は、少なくとも1つのプロセッサによって実施され、ポイントクラウドを取得するステップと、ポイントクラウド内のポイントごとに投影面を決定するステップと、ポイントクラウド内に含まれる未処理のポイントのリストを作成するステップと、未処理のポイントのリストのための接続構成要素のリストを生成するステップと、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいか否か、を決定するステップと、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいとの決定に基づいて、接続構成要素のリスト内の接続構成要素を処理し、処理した接続構成要素に基づいて1つまたは複数のパッチを生成するステップと、生成した1つまたは複数のパッチに基づいてエンコーディング済ビデオストリームを生成するステップとを含み、未処理のポイントのリストが、接続構成要素のリストを生成することの結果、および接続構成要素を処理することの結果のうちの少なくとも1つに基づいて、更新される。
実施形態によれば、ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングする装置は、プログラムコードを記憶するように構成される少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって命令されるように動作するように構成される少なくとも1つのプロセッサとを備え、プログラムコードは、少なくとも1つのプロセッサに、ポイントクラウドを取得させるように構成される第1の取得コードと、少なくとも1つのプロセッサに、ポイントクラウド内のポイントごとに投影面を決定させるように構成される第1の決定コードと、少なくとも1つのプロセッサに、ポイントクラウド内に含まれる未処理のポイントのリストを作成させるように構成される作成コードと、少なくとも1つのプロセッサに、未処理のポイントのリストのための接続構成要素のリストを生成させるように構成される第1の生成コードと、少なくとも1つのプロセッサに、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいか否かを決定させるように構成される第2の決定コードと、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいとの決定に基づいて、少なくとも1つのプロセッサに、接続構成要素のリスト内の接続構成要素を処理させ、処理した接続構成要素に基づいて1つまたは複数のパッチを生成させるように構成される処理コードと、少なくとも1つのプロセッサに、生成させた1つまたは複数のパッチに基づいてエンコーディング済ビデオストリームを生成させるように構成される第2の生成コードとを含み、未処理のポイントのリストが、接続構成要素のリストを生成させることの結果、および接続構成要素を処理させることの結果のうちの少なくとも1つに基づいて、更新される。
実施形態によれば、非一時的コンピュータ可読媒体は、ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングするコンピュータ命令を記憶し、コンピュータ命令が、少なくとも1つのプロセッサによって実行されたとき、少なくとも1つのプロセッサに、ポイントクラウドを取得させ、ポイントクラウド内のポイントごとに投影面を決定させ、ポイントクラウド内に含まれる未処理のポイントのリストを作成させ、未処理のポイントのリストための接続構成要素のリストを生成させ、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいか否か、を決定させ、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいとの決定に基づいて、接続構成要素のリスト内の接続構成要素を処理させ、処理した接続構成要素に基づいて1つまたは複数のパッチを生成させ、生成した1つまたは複数のパッチに基づいてエンコーディング済ビデオストリームを生成させ、未処理のポイントのリストが、接続構成要素のリストを生成することの結果、および接続構成要素を処理することの結果のうちの少なくとも1つに基づいて、更新される。
開示の主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
一実施形態による通信システムの簡略化されたブロック図の概略図である。 一実施形態によるストリーミングシステムの簡略化されたブロック図の概略図である。 一実施形態によるビデオエンコーダの簡略化されたブロック図の概略図である。 一実施形態によるビデオデコーダの簡略化されたブロック図の概略図である。 一実施形態によるパッチ生成処理の一例を示す図である。 一実施形態による接続構成要素処理の一例を示す図である。 一実施形態による接続構成要素処理の一例を示す図である。 一実施形態によって実施される処理を示すフロー図である。 一実施形態によるデバイスを示す図である。 実施形態を実装するために適したコンピュータシステムの図である。
ビデオベースのポイントクラウド圧縮(V-PCC)の背後にある考慮事項は、既存のビデオコーデックを活用して、動的ポイントクラウドの形状、占有率、およびテクスチャを3つの別々のビデオシーケンスとして圧縮することである。3つのビデオシーケンスの解釈に必要な余分なメタデータは、個別に圧縮されてもよい。ビットストリーム全体の小部分がメタデータであり、ソフトウェア実装を使用して効率的にエンコード/デコードすることができる。ビデオコーデックによって、大量の情報が処理され得る。
図1~図4を参照すると、本開示のエンコーディングおよびデコーディングの構造を実施する本開示の実施形態が説明されている。本開示のエンコーディングおよびデコーディングの構造は、上述したV-PCCの態様を実施してもよい。
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示している。システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末110、120を含み得る。データの単方向伝送の場合、第1の端末110は、ネットワーク150を介して他の端末120に伝送するために、ローカルロケーションで、3Dポイントクラウドを含み得るビデオデータをコーディングし得る。第2の端末120は、ネットワーク150から他の端末のコーディング済ビデオデータを受信し、コーディング済データをデコードし、復元されたビデオデータを表示し得る。単方向データ伝送は、メディア提供用途などにおいて一般的であり得る。
図1は、例えばビデオ会議中に発生し得るコーディング済ビデオの双方向伝送をサポートするために設けられた端末130、140の第2のペアを示している。データの双方向伝送の場合、各端末130、140は、ネットワーク150を介して他の端末に伝送するために、ローカルロケーションでキャプチャされたビデオデータをコーディングし得る。各端末130、140はまた、他の端末によって伝送されたコーディング済ビデオデータを受信し、コーディング済データをデコードし、復元されたビデオデータをローカル・ディスプレイ・デバイスに表示し得る。
図1では、端末110~140は、例えば、サーバ、パーソナルコンピュータ、およびスマートフォン、ならびに/または任意の他のタイプの端末であってもよい。例えば、端末(110~140)は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器であってもよい。ネットワーク150は、例えば、有線および/または無線通信ネットワークを含む、端末110~140間でコーディング済ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク150は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、および/またはインターネットを含む。本解説の目的のために、ネットワーク150のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
図2は、開示の主題の用途の一例として、ストリーミング環境でのビデオエンコーダおよびデコーダの配置を示している。開示の主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶を含む、他のビデオ対応アプリケーションでなど使用され得る。
図2に示すように、ストリーミングシステム200は、ビデオソース201およびエンコーダ203を含むキャプチャサブシステム213を含み得る。ストリーミングシステム200は、少なくとも1つのストリーミングサーバ205および/または少なくとも1つのストリーミングクライアント206をさらに含み得る。
ビデオソース201は、例えば、3Dビデオに対応する3Dポイントクラウドを含むストリーム202を作成し得る。ビデオソース201は、例えば、3Dセンサ(例えば、深度センサ)、または3D撮像技術(例えば、(1つまたは複数の)デジタルカメラ)、および3Dセンサまたは3D撮像技術から受信したデータを使用して3Dポイントクラウドを生成するように構成されたコンピュータデバイスを含んでもよい。エンコーディング済ビデオビットストリームと比較してデータ量が大きくてもよいサンプルストリーム202は、ビデオソース201に接続されたエンコーダ203によって処理され得る。以下で詳細に説明するように、エンコーダ203は、開示の主題の態様を可能にする、または実施するために、ハードウェア、ソフトウェア、またはこれらの組合せを含み得る。エンコーダ203は、エンコーディング済ビデオビットストリーム204をさらに生成し得る。圧縮されていないストリーム202と比較して、データ量が小さくてもよいエンコーディング済ビデオビットストリーム204は、後で使用するためにストリーミングサーバ205に記憶され得る。1つまたは複数のストリーミングクライアント206は、ストリーミングサーバ205にアクセスして、エンコーディング済ビデオビットストリーム204のコピーであり得るビデオビットストリーム209を取得し得る。
ストリーミングクライアント206は、ビデオデコーダ210およびディスプレイ212を含み得る。ビデオデコーダ210は、例えば、エンコーディング済ビデオビットストリーム204の着信コピーである、ビデオビットストリーム209をデコードし、ディスプレイ212または別のレンダリングデバイス(図示せず)上にレンダリングされ得る発信ビデオ・サンプル・ストリーム211を作成してもよい。一部のストリーミングシステムでは、ビデオビットストリーム204、209を、いくつかのビデオコーディング/圧縮標準規格に従ってエンコードし得る。そのような標準規格の例には、ITU-T勧告H.265、多用途ビデオコーディング(VVC)、およびMPEG/V-PCCが含まれるが、これらに限定されない。
図3および図4を参照しながら、本開示の実施形態によって実施され得るV-PCCのいくつかの態様について、以下で説明する。
図3は、本開示の実施形態によるビデオエンコーダ203の例示的な機能ブロック図を示している。実施形態では、ビデオエンコーダ203は、ビデオベースのポイント・クラウド・エンコーダであってもよい。
図3に示すように、ビデオエンコーダ203は、ポイント・クラウド・フレーム350を受信し、ポイント・クラウド・フレーム350に基づいて、形状画像352、テクスチャ画像356、および占有マップ334を生成し得る。ビデオエンコーダ203は、形状画像352を圧縮し、圧縮された形状画像362にし、テクスチャ画像356を圧縮し、圧縮されたテクスチャ画像364にし、さらに占有マップ334を圧縮し、圧縮された占有マップ372にし得る。ビデオエンコーダ203のマルチプレクサ328は、圧縮された形状画像362、圧縮されたテクスチャ画像364、および圧縮された占有マップ372を含む、圧縮されたビットストリーム374を形成し得る。
具体的には、実施形態では、ビデオエンコーダ203は、ポイント・クラウド・フレーム350をパッチに分割するパッチ生成モジュール302を含んでもよい。パッチは、V-PCCの有用なエンティティである。パッチ生成処理は、ポイント・クラウド・フレーム350を分解して、平滑な境界を有する最小の数のパッチにすることを含み、その一方で、再構築誤差を最小にすることをさらに含む。本開示のエンコーダは、このような分解を生成するために、様々な方法を実施し得る。
ビデオエンコーダ203は、パッキング処理を実施するパッチ・パッキング・モジュール304を含み得る。パッキング処理は、未使用の空間を最小にしつつ、抽出したパッチを2Dグリッドにマッピングすることと、グリッドのM×M(例えば、16x16)のブロックがいずれも、一意のパッチに関連付けられるように保証することと、を含む。効率的なパッチパッキングは、未使用空間を最小化することによって、または時間的整合性を確保することによって、圧縮効率に直接的な影響を及ぼす。パッチ・パッキング・モジュール304は、占有マップ334を生成し得る。
ビデオエンコーダ203は、形状画像生成モジュール306と、テクスチャ画像生成モジュール308と、を含み得る。同一サンプルに複数のポイントが投影される事例に好適に対処するために、各パッチをレイヤと呼ばれる2つの画像に投影し得る。例えば、形状画像生成モジュール306およびテクスチャ画像生成モジュール308は、ポイントクラウドの形状およびテクスチャを画像(レイヤとも呼ばれる)として記憶するために、パッチ・パッキング・モジュール304のパッキング処理に計算された、3Dから2Dへのマッピングを利用してもよい。生成された画像/レイヤは、(1つまたは複数の)ビデオフレームとして記憶され、パラメータとして提供される構成に従って、ビデオコーデック(例えば、HMビデオコーデック)を使用して圧縮されてもよい。
実施形態では、入力ポイント・クラウド・フレーム350および占有マップ334に基づいて、形状画像生成モジュール306は、形状画像352を形成し、テクスチャ画像生成モジュール308は、テクスチャ画像356を生成する。一実施形態では、形状画像352は、YUV420-8ビット形式で、WxHの単色フレームで表されてもよい。一実施形態では、占有マップ334画像は、グリッドのセルごとに、空間に属するか、それともポイントクラウドに属するかを示すバイナリマップからなるテクスチャ画像356を生成するために、テクスチャ画像生成モジュール308は、リサンプルされたポイントに関連する色を計算するために、再構築された/平滑化された形状358を利用し得る。
ビデオエンコーダ203はさらに、形状画像352と、テクスチャ画像356とをそれぞれパディングする、画像パディングモジュール314と、画像パディングモジュール316と、を含み、パディングされた形状画像354と、パディングされたテクスチャ画像360と、を形成し得る。画像パディング(背景の充填とも呼ばれる)は、画像の使用されていない空間を冗長情報で、単に充填する。良好な背景の充填とは、パッチ境界の周囲に著しいコーディング歪みを導入しないようにしつつ、ビットレートの増加を最小化するものである。画像パディングモジュール314および画像パディングモジュール316は、パディングされた形状画像354、およびパディングされたテクスチャ画像360をそれぞれ形成するために、占有マップ334を使用し得る。一実施形態では、ビデオエンコーダ203は、パディングされたテクスチャ画像360を形成するために、グループ拡大モジュール320を含んでもよい。
ビデオエンコーダ203は、パディングされた形状画像354と、パディングされたテクスチャ画像360と、をそれぞれ圧縮して圧縮された形状画像362と、圧縮されたテクスチャ画像364と、にする、ビデオ圧縮モジュール322と、ビデオ圧縮モジュール324と、を含み得る。
ビデオエンコーダ203は、占有マップ334の可逆エンコーディング366のためのエントロピー圧縮モジュール318と、占有マップ334の非可逆エンコーディング368のためのビデオ圧縮モジュール326と、を含み得る。
実施形態では、ビデオエンコーダ203は、ビデオ圧縮モジュール322によって提供される再構築された形状画像365と、パッチ情報332とを使用することによって、平滑化された形状358を生成する、平滑化モジュール310を含んでもよい。平滑化モジュール310の平滑化手順は、圧縮アーティファクトによってパッチ境界に生じ得る、潜在的な不連続性を緩和することを目的とし得る。平滑化された形状358は、テクスチャ画像356を生成するために、テクスチャ画像生成モジュール308によって使用されてもよい。
ビデオエンコーダ203は、圧縮された補助パッチ情報370を形成する、補助パッチ情報圧縮モジュール312をさらに含んでもよく、圧縮された補助パッチ情報370は、マルチプレクサ328によって、圧縮されたビットストリーム374として提供される。
図4は、本開示の実施形態による、ビデオデコーダ210の例示的な機能ブロック図を示している。実施形態では、ビデオデコーダ210は、ビデオベースのポイント・クラウド・デコーダであってもよい。
図4に示すように、ビデオデコーダ210は、ビデオエンコーダ203から圧縮されたビットストリーム374を受信して、圧縮された形状画像362、圧縮されたテクスチャ画像364、圧縮された占有マップ372、および圧縮された補助パッチ情報370を取得し得る。ビデオデコーダ210は、圧縮された形状画像362、圧縮されたテクスチャ画像364、圧縮された占有マップ372、および圧縮された補助パッチ情報370をデコードして、展開された形状画像460、展開されたテクスチャ画像462、展開された占有マップ464、および展開された補助パッチ情報466をそれぞれ取得し得る。続いて、ビデオデコーダ210は、展開された形状画像460、展開されたテクスチャ画像462、展開された占有マップ464、および展開された補助パッチ情報466に基づいて、再構築されたポイントクラウド474を生成し得る。
実施形態では、ビデオデコーダ210は、受信した圧縮されたビットストリーム374の、圧縮された形状画像362、圧縮されたテクスチャ画像364、圧縮された占有マップ372、および圧縮された補助パッチ情報370を分ける、デマルチプレクサ402を含んでもよい。
ビデオデコーダ210は、圧縮された形状画像362をデコードするビデオ展開モジュール404と、圧縮されたテクスチャ画像364をデコードするビデオ展開モジュール406と、圧縮された占有マップ372をデコードする占有マップ展開モジュール408と、圧縮された補助パッチ情報370をデコードする補助パッチ情報展開モジュール410と、を含み得る。
ビデオデコーダ210は、展開されたテクスチャ画像462、展開された占有マップ464、および展開された補助パッチ情報466に基づいて、再構築された(3次元の)形状468を取得する、形状再構築モジュール412を含み得る。
ビデオデコーダ210は、再構築された形状468を平滑化して、平滑化された形状470を取得する、平滑化モジュール414を含み得る。平滑化手順は、圧縮アーティファクトによってパッチ境界に生じ得る、潜在的な不連続性を緩和することを目的とし得る。
ビデオデコーダ210は、展開された形状画像460および平滑化された形状470に基づいて、再構築されたテクスチャ472を取得する、テクスチャ再構築モジュール416を含み得る。
ビデオデコーダ210は、再構築されたテクスチャ472の色を平滑化して、再構築されたポイントクラウド474を取得する、色平滑化モジュール418を含み得る。3D空間内で隣接していないパッチが、2Dビデオ内で互いに隣接してパッキングされることがしばしばある。これは、隣接していないパッチの画素値が、ブロックベースのビデオコーデックによって混合される場合があることを意味する。色平滑化モジュール418の色平滑化は、パッチ境界に現れる、目に見えるアーティファクトを削減することを目的とし得る。
ビデオベースのポイントクラウド圧縮(V-PCC)におけるパッチ生成
V-PCCに対応し得るMPEG PCCテスト・モデル・カテゴリ2(TMC2)・モデルでは、パッチ生成は複数のステップを含み得る。例示的なパッチ生成処理500を、図5および図6A~図6Bに示している。
図5に示すように、動作510は、例えば関連する法線ベクトルおよび隣接ポイントに基づいて、定義されたクラスタリング基準に基づいて、動作510において、ポイントクラウド内のポイントごとに投影面を決定することを含み得る。
動作520は、いずれのパッチにも属さない未処理のポイントのリストを作成することを含み得る。最初はパッチは生成されず、ポイントはいずれのパッチにも属さない。
動作530は、未処理のポイントのリストについて、同じ投影面を有し、互いに隣接するポイントをグループ化することによって接続構成要素のリストを生成することを含み得る。接続構成要素内のポイントの数が所与の閾値未満である場合、接続構成要素はリストから削除され得る。例えば、実施形態では、各接続構成要素は、同じ投影面を有し、互いに隣接するポイントのグループを含んでもよい。例えば、ポイントは、それらが特定の閾値距離内にある場合、またはポイント間に他のポイントがない場合、またはそれらが何らかの他の隣接条件を満たす場合、互いに隣接してもよい。
動作540は、リスト内の接続構成要素の数がゼロであるか否か、を決定することを含み得る。リスト内の接続構成要素の数がゼロである場合、パッチ生成処理は、動作550で停止し得る。
動作560は、リスト内の各接続構成要素(CC)を処理することを含み得る。図6Aおよび図6Bは、動作560において実施され得る処理の例を示している。
例えば、図6Aに示すように、動作560の一例であり得る動作560’は、動作611~615を含んでもよい。説明の便宜上、動作560’は、ここで説明され、動作560’’は、以下で別に説明される。
図6Aに示すように、動作611は、異常値を削除することを含み得る。例えば、CC内のポイントは、関連する投影面に投影され得る。2D UV平面内の3Dポイントの投影座標は、
とすることができ、Nは、CC内のポイントの数である。表記:
umin=min(u0、u1、...、uN-1) 式(1)
vmin=min(v0、v1、...、vN-1) 式(2)
ここで、(ui-umin)>Uthresoldまたは(vi-vmin)>Vthresold、であり、UthresoldおよびVthresoldは、ユーザ定義の閾値であり得る。i番目のポイントは、異常値ポイントと呼ばれ、CCから削除され得る。結果として得られた接続構成要素は、CC’として表記される更新された接続構成要素と呼ばれ得る。
動作612は、近表面を生成することを含み得る。動作611後のCC’が空でない場合、2D UV平面内の3Dポイントの投影座標は、
として表記することができ、
は、CC’内のポイントの数である。投影面に近い近表面Snearは、以下の条件を満たすポイントを選択することによって決定することができ、すなわち、1つまたは複数のポイントが同じ投影座標を有する場合、最小の深度値を有するポイントを近表面Snearの一部として選択する。投影されたUV座標を、
と、深度値を、
と、ポイントクラウドにおける3Dポイントのインデックスを、
と、表記し、
は、近表面Snearにおけるポイントの数である。
動作613は、近表面をフィルタリングすることを含み得る。Tがユーザ定義の正の整数であり得る投影面内のTxTグリッドについて、TxTグリッドに投影されたCC’内のすべてのポイントの最小深度値を、
と表記し得る。ユーザ定義の閾値を、dthresholdと表記し、ユーザ定義の表面厚を、dsurfaceと表記し、CC’内のすべてのポイントの最小深度値を、
と表記し、最大許容深度値表現を、Dmaxと表記する。TxTグリッドに投影され、以下の条件を満たす、Snearのポイント
の場合:
ここで、
は、投影座標であり、
は、ポイントの深度値であり、ポイントは、近表面Snearから削除され得る。
動作614は、遠表面を生成することを含み得る。遠表面Sfarは、近表面と同じように初期化され得る。CC’内の複数のポイントが、同じUV座標
に投影される場合、Sfar内のi番目のポイントは、このポイントと、Snear内のポイント
との間の距離がdsurface以下であり、それらの色値が互いに近くなるように、最大深度値を有するポイントで置き換えられ得る。
動作615は、近表面および遠表面を有するパッチをポイントクラウドのパッチのリストに追加することを含み得る。
再び図5に戻ると、動作560が実施された後、動作570は、すべてのパッチについてのSnearおよびSfarにおけるポイントに基づいて、ポイントクラウドを再構築することを含み得る。
動作580は、再構築されたポイントクラウドを使用して、K次元(KD)ツリーを構築することを含み得る。
動作590は、元のポイントクラウド内のポイントごとに、KDツリーを使用して再構築されたポイントの最近傍を探索することを含み得る。再構築されたポイントクラウド内のポイントと、その最近傍との間の距離が、ユーザ定義の閾値より大きい場合、そのポイントは、未処理のポイントとして分類され得る。
動作590が実施された後、処理500は動作530に戻り得る。
実施形態では、処理500は、多くの、または少ない動作を含んでもよく、動作は、任意の順序で組み合わされるか、または並べ替えられてもよい。
別の例示的な動作560を、図6Bに示している。例えば、図6Bに示すように、動作560の一例であり得る動作560’’は、動作621~625を含んでもよい。例えば、動作621は、異常値を削除することを含んでもよく、動作622は、遠表面を生成することを含んでもよく、動作623は、遠表面をフィルタリングすることを含んでもよく、動作624は、近表面を生成することを含んでもよく、動作625は、近表面および遠表面を有するパッチをポイントクラウドのパッチのリストに追加することを含んでもよい。
実施形態では、動作622は、以下の条件を満たすポイントを選択することによって投影面からさらに離れた遠表面Sfarを決定することを含むことができ、すなわち、1つまたは複数のポイントが同じ投影座標を有する場合、最大の深度値を有するポイントを遠表面Sfarの一部として選択する。
実施形態では、動作622は、Tがユーザ定義の正の整数であり得る投影面内のTxTグリッドについて、TxTグリッドに投影されたすべてのポイントの最大深度値を、
と表記し得る、ことを含み得る。ユーザ定義の閾値を、dthresholdと、ユーザ定義の表面厚さを、dsurfaceと、CC’内のすべてのポイントの最大深度値を、
と、最大許容深度値表現を、Dmaxと、表記する。TxTグリッドに投影され、以下の条件を満たすSfar内のポイント
の場合:
ここで、
は、投影座標であり、
は、ポイントの深度値であり、ポイントは、遠表面Sfarから削除される。
実施形態では、動作622は、近表面Snearを遠表面と同じように初期化することを含んでもよい。CC’内の複数のポイントが、同じUV座標
に投影される場合、このポイントとSfar内のポイント
との間の距離が、dsurface以下であり、それらの色値が互いに近くなるように、Snear内のi番目のポイントを、最小深度値を有するポイントに置き換える。
上記で分かるように、処理500などのパッチ生成処理は、高い計算複雑性を有し得る。具体的には、動作580および590は、特に数百万のポイントを有する大きなポイントクラウドについて、KDツリー構築、およびKDツリー内の最近傍探索のために、複雑になる可能性がある。したがって、パッチ生成アルゴリズムにおけるKDツリーの使用をやめることが望ましい場合がある。
提案した方法は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つもしくは複数のプロセッサ、または1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
図5に示すように、KDツリー探索を使用して、生成されたパッチのリストの一部ではない、または生成されたパッチ内のポイントに近くない、未処理のポイントの集合を決定し得る。未処理のポイントの集合は、接続構成要素生成の新規のラウンドのため、および接続構成要素の集合からのパッチの生成のために使用され得る。
以下に説明する実施形態は、KDツリーを使用しないパッチ生成方法に関する。例えば、以下に説明する実施形態は、処理500の修正、または図5および図6A~図6Bに示され、上述されたステップのいずれかに対応してもよい。
例えば、接続構成要素の生成後、すべての未処理のポイントを使用してもよい。したがって、未処理のポイントの集合Θrawは、空であり得る。未処理のポイントの集合は、パッチ生成のステップを追跡することによって、および処理から削除されたポイントを近表面および遠表面の生成に戻すことによって、生成され得る。
実施形態では、動作530における接続構成要素生成の後、接続構成要素内のポイントの数が所与の閾値未満である場合、接続構成要素は、リストから削除されてもよい。削除された接続構成要素内のポイントは、未処理のポイント集合Θrawに戻されてもよい。
実施形態では、動作611において、識別された異常値ポイントは、接続ポイントから削除されてもよく、未処理のポイント集合Θrawに戻されてもよい。
実施形態では、動作613の後、TxTグリッドに投影され、以下の条件を満たすSnear内のポイント
の場合、
ここで、
は、投影座標であり、
は、ポイントの深度値であり、ポイントは、近表面Snearから削除され得る。削除されたポイントは、未処理のポイント集合Θrawに戻され得る。別の実施形態では、プロジェクト座標が
であるすべてのポイントは、未処理のポイント集合Θrawに戻されてもよい。
実施形態では、動作623の後、TxTグリッドに投影され、以下の条件を満たすSfar内のポイント
の場合、
ここで、
は、投影座標であり、
は、ポイントの深度値であり、ポイントは、遠表面Sfarから削除され得る。削除されたポイントは、未処理のポイント集合Θrawに戻され得る。別の実施形態では、プロジェクト座標が
であるすべてのポイントを、未処理のポイント集合Θrawに戻してもよい。
実施形態では、動作615または動作625の後、遠表面内のすべてのポイント
について、
は、投影座標であり、
は、深度値であり、接続構成要素CC’内のポイント
は、条件、すなわち、
および
を満たすと識別することができ、ここで、
は、ユーザ定義の閾値(例えば、
)である。上記の条件を満たすポイントは、未処理のポイント集合Θrawに戻され得る。
実施形態では、動作615または動作625の後、近表面内のすべてのポイント
について、
は、投影座標であり、
は、深度値であり、接続構成要素CC’内のポイント
は、条件、すなわち、
および
を満たすと識別することができ、ここで、
は、ユーザ定義の閾値(例えば、
)である。識別されたポイントは、未処理のポイント集合Θrawに戻され得る。
実施形態では、動作615または動作625の後、近表面内のすべてのポイント
について、
は、投影座標であり、
は、深度値であり、遠表面内のすべてのポイント
について、
は、投影座標であり、
は、深度値であり、接続構成要素CC’内のポイント
は、条件、すなわち、
および
および
を満たすと識別することができ、ここで、
および
は、2つのユーザ定義の閾値(例えば、
)である。上記の条件を満たすポイントは、未処理のポイント集合Θrawに戻され得る。
なお、上記実施形態は、種々の組合せが可能である。動作560の後、未処理のポイント集合Θrawは、既に識別されている可能性がある。したがって、動作570、580および590は、省略されてもよく、処理500は、動作560が完了した後に動作530に戻ってもよい。
上記の高速パッチ生成方法を実施するとき、フラグ配列F={fi、i=0、...、Np-1}使用して、未処理のポイントを識別することができ、ここで、Npは、ポイントクラウド内のポイントの数である。最初に動作520において、フラグ配列Fを1に初期化することができ、すなわち、fi=1、i=0、...、Np-1であり、動作530の前にすべてのポイントが、未処理のポイントであることを示す。ポイントクラウド内のポイントを、そのインデックスpi=i、i=0、...、Np-1を使用して識別し得る。
動作530において、接続構成要素(CC)内のすべてのポイントについて、対応するフラグを0として設定し得る。例えば、インデックスpを有するポイントがCC内にある場合、fp=0である。上記の実施形態では、インデックスpを有するポイントが、未処理のポイント集合Θrawに戻されると、fp=1を設定する。動作560の後、
を有するポイントの集合は、未処理のポイント集合であり、ここで、Nrは、未処理のポイント集合内のポイントの数であり、piは、未処理のポイント集合内のi番目のポイントのインデックスである。なお、フラグ値1は、未処理のポイントとしてポイントを示すために使用されてもよく、そうでなければ0であってもよい。他の値を使用して、フラグ配列F内の未処理のポイント、または非未処理のポイントを示し得る。
動作540において、リスト内の接続構成要素の数がゼロである場合、パッチ生成処理は停止する。実施形態では、動作560後のΘrawのポイントの数が閾値未満、または閾値以下である場合、パッチ生成処理は停止し得る。
図7は、ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングする方法700のフローチャートである。いくつかの実装形態では、図7の1つまたは複数の処理ブロックが、エンコーダ203によって実施されてもよい。いくつかの実装形態では、図7の1つまたは複数の処理ブロックが、エンコーダ203とは別個のデバイスによって、あるいはエンコーダ203とは別、またはそれを含む、デコーダ210などのデバイスのグループによって、実施されてもよい。
図7に示すように、動作710において、方法700は、ポイントクラウドを取得することを含み得る。
動作720において、方法700は、ポイントクラウド内のポイントごとに投影面を決定することを含み得る。
動作730において、方法700は、ポイントクラウド内に含まれる未処理のポイントのリストを作成することを含み得る。
動作740において、方法700は、未処理のポイントのリストのための接続構成要素のリストを生成することを含み得る。
動作750において、方法700は、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいか否か、を決定することを含み得る。実施形態では、第1の閾値は、ゼロであってもよい。
動作760において、方法700は、接続構成要素のリスト内の接続構成要素を処理し、処理した接続構成要素に基づいて1つまたは複数のパッチを生成することを含み得る。
接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいとの決定に基づいて(750において、はい)、方法700は、動作760に進み、これは、接続構成要素のリスト内の接続構成要素を処理し、処理した接続構成要素に基づいて1つまたは複数のパッチを生成することを含み得る。実施形態では、動作760は、上述した動作560、560’、および560’’のいずれかに対応してもよい。例えば、動作760は、必要に応じて、動作611~615および/または動作621~625のいずれかを含んでもよい。
新規の接続構成要素のリスト内の新規の接続構成要素の数が第1の閾値以下であるとの決定に基づいて(750において、いいえ)、方法700は、パッチ生成が停止し得る動作770に進み、次いで、動作780に進み、これは、選択された色値に基づいてエンコーディング済ビデオストリームを生成することを含み得る。
実施形態では、未処理のポイントのリストが、接続構成要素のリストを生成することの結果、および接続構成要素を処理することの結果のうちの少なくとも1つに基づいて、更新されてもよい。
実施形態では、動作760の後、方法700は動作740に戻ってもよい。例えば、動作740において、本方法は、未処理のポイントの更新されたリストに基づいて、新規の接続構成要素のリストを生成することを含んでもよく、動作750において、本方法は、新規の接続構成要素のリスト内の新規の接続構成要素の数が第1の閾値以下であるか否か、を決定することを含んでもよい。新規の接続構成要素のリスト内の新規の接続構成要素の数が第1の閾値より大きいとの決定に基づいて(750において、はい)、方法700は、動作760において、新規の接続構成要素のリスト内の新規の接続構成要素を処理し、処理した新規の接続構成要素に基づいて1つまたは複数のパッチを生成することを含み得る。新規の接続構成要素のリスト内の新規の接続構成要素の数が第1の閾値以下であるとの決定に基づいて(750において、いいえ)、方法700は、パッチ生成を停止し、生成した1つまたは複数のパッチ、および生成した1つまたは複数の新規のパッチに基づいて、エンコーディング済ビデオストリームを生成することを含み得る。実施形態では、未処理のポイントの更新されたリストは、動作740の結果、および動作760の結果のうちの少なくとも1つに基づいて、更新されてもよい。
実施形態では、接続構成要素のリストが生成された後、接続構成要素内のポイントの数が、第2の閾値以下であることに基づいて、接続構成要素は、接続構成要素のリストから削除され、接続構成要素内のポイントが、未処理のポイントの更新されたリストに追加されてもよい。
実施形態では、接続構成要素の処理は、接続構成要素内の異常値ポイントを識別することを含んでもよく、異常値ポイントは、接続構成要素から削除され、未処理のポイントの更新されたリストに追加されてもよい。
実施形態では、接続構成要素の処理は、接続構成要素のリスト内の接続構成要素について、接続構成要素から異常値ポイントを識別し、削除することと、接続構成要素に対応する近表面を生成することと、近表面をフィルタリングすることと、接続構成要素に対応する遠表面を生成することと、近表面および遠表面に基づいてパッチを生成することと、を含んでもよい。
実施形態では、近表面をフィルタリングすることは、ポイントが、
の条件を満たすとの決定に基づいて、ポイントを削除することを含んでもよく、ここで、
は、ポイントの深度値を表し、
は、接続構成要素内のポイントの最小深度値を表し、dthresholdは、第2の閾値を表し、dsurfaceは、表面厚さを表し、Dmaxは、最大許容深度値表現を表す。削除されたポイントは、未処理のポイントの更新されたリストに追加され得る。
実施形態では、パッチを生成することは、ポイントが、
、および
の条件を満たすとの決定に基づいて、パッチからポイントを削除することを含んでもよく、ここで、
は、ポイントの座標を表し、
は、ポイントの深度値を表し、
は、遠表面に対応する投影ポイントの座標を表し、
は、投影ポイントの深度値を表し、dthresholdは、第2の閾値を表す。削除されたポイントは、未処理のポイントの更新されたリストに追加され得る。
実施形態では、パッチを生成することは、ポイントが、
、および
の条件を満たすとの決定に基づいて、パッチからポイントを削除することを含んでもよく、ここで、
は、ポイントの座標を表し、
は、ポイントの深度値を表し、
は、近表面に対応する投影ポイントの座標を表し、
は、投影ポイントの深度値を表し、dthresholdは、第2の閾値を表す。削除されたポイントは、未処理のポイントの更新されたリストに追加され得る。
実施形態では、接続構成要素の処理は、接続構成要素のリスト内の接続構成要素について、接続構成要素から異常値ポイントを識別し、削除することと、接続構成要素に対応する遠表面を生成することと、遠表面をフィルタリングすることと、接続構成要素に対応する近表面を生成することと、近表面および遠表面に基づいてパッチを生成することと、を含んでもよい。
実施形態では、パッチを生成することは、ポイントが、
、および
の条件を満たすとの決定に基づいて、パッチからポイントを削除することを含んでもよく、ここで、
は、ポイントの座標を表し、
は、ポイントの深度値を表し、
は、遠表面に対応する投影ポイントの座標を表し、
は、投影ポイントの深度値を表し、dthresholdは、第2の閾値を表す。削除されたポイントは、未処理のポイントの更新されたリストに追加され得る。
実施形態では、パッチを生成することは、ポイントが、
、および
の条件を満たすとの決定に基づいて、パッチからポイントを削除することを含んでもよく、ここで、
は、ポイントの座標を表し、
は、ポイントの深度値を表し、
は、近表面に対応する投影ポイントの座標を表し、
は、投影ポイントの深度値を表し、dthresholdは、第2の閾値を表す。削除されたポイントは、未処理のポイントの更新されたリストに追加され得る。
実施形態では、未処理のポイントのリストに含まれる未処理のポイントは、フラグ配列を使用して識別されてもよい。
図7は、方法700の例示的なブロックを示しているが、いくつかの実装形態では、方法700は、図7に示されたものに対し、追加のブロック、少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。追加的または代替的に、方法700のブロックのうちの2つ以上が、並行して実施されてもよい。
図8は、実施形態によれば、ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングする装置800の図である。図8に示すように、装置800は、第1の取得コード810と、第1の決定コード820と、作成コード830と、第1の生成コード840と、第2の決定コード850と、処理コード860と、停止コード870と、第2の生成コード880と、を含む。
第1の取得コード810は、少なくとも1つのプロセッサに、ポイントクラウドを取得させるように構成され得る。
第1の決定コード820は、少なくとも1つのプロセッサに、ポイントクラウド内のポイントごとに投影面を決定させるように構成され得る。
作成コード830は、少なくとも1つのプロセッサに、ポイントクラウドに含まれる未処理のポイントのリストを作成させるように構成され得る。
第1の生成コード840は、少なくとも1つのプロセッサに、未処理のポイントのリストのための接続構成要素のリストを生成させるように構成され得る。
第2の決定コード850は、少なくとも1つのプロセッサに、接続構成要素のリスト内の接続構成要素の数が第1の閾値以下であるか否かを決定させるように構成され得る。
処理コード860は、少なくとも1つのプロセッサに、接続構成要素のリスト内の接続構成要素の数が第1の閾値より大きいとの決定に基づいて、接続構成要素のリスト内の接続構成要素を処理させ、処理させた接続構成要素に基づいて1つまたは複数のパッチを生成させるように構成され得る。
停止コード870は、少なくとも1つのプロセッサに、パッチ生成処理を停止させるように構成され得る。
第2の生成コード880は、少なくとも1つのプロセッサに、生成させた1つまたは複数のパッチに基づいてエンコーディング済ビデオストリームを生成させるように構成され得る。
実施形態では、未処理のポイントのリストは、第1の生成コード840の実行の結果、および処理コード860の結果のうちの少なくとも1つに基づいて更新されてもよい。
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装され得る。例えば、図9は、本開示の特定の実施形態を実装するために適したコンピュータシステム900を示している。
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などにより、直接、または解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するために、アセンブル、コンパイル、リンク、または同様のメカニズムを受け得る任意の適切なマシンコードまたはコンピュータ言語を使用してコーディングされ得る。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行され得る。
コンピュータシステム900について図9に示される構成要素は、例であり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。構成要素の構成は、コンピュータシステム900の非限定的な実施形態に示されている構成要素のいずれか1つ、または構成要素の組合せに関して、依存性を有するものとも、要件を有するものとも解釈されてはならない。
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人または複数の人間ユーザによる入力に応答し得る。ヒューマン・インターフェース・デバイスは、オーディオ(音声、音楽、周囲の音など)、画像(スキャン画像、静止画カメラから取得された写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャするためにも使用され得る。
入力ヒューマン・インターフェース・デバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイク906、スキャナ907、カメラ908のうちの1つまたは複数(それぞれの1つのみを図示)を含んでもよい。
コンピュータシステム900は、特定のヒューマンインターフェース出力デバイスも含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)を含み得る。例えば、そのようなデバイスは、音声出力デバイス(スピーカ909、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのいくつかはステレオグラフィック出力などの手段を通して、2次元視覚出力または3次元を超える出力を出力できるものもある、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)であり得る。
コンピュータシステム900は、人間がアクセス可能な記憶デバイス、およびそれらに関連する媒体、例えば、CD/DVDなどの媒体921を伴うCD/DVD ROM/RW920を含む光学媒体、サムドライブ922、リムーバブル・ハード・ドライブまたはソリッド・ステート・ドライブ923、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの特殊なROM/ASIC/PLDベースのデバイスなどを含み得る。
現在の開示の主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことも、当業者は理解されたい。
コンピュータシステム900は、1つまたは複数の通信ネットワークへのインターフェースを含み得る。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネットなどのローカル・エリア・ネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線または無線ワイド・エリア・デジタル・ネットワーク、ならびにCANBusを含む車両および産業用などを含む。特定のネットワークは一般に、特定の汎用データポートまたは周辺バス949に接続された外部ネットワーク・インターフェース・アダプタを必要とする(例えば、コンピュータシステム900のUSBポートなど、他のものは、以下に説明するようにシステムバスへの接続によってコンピュータシステム900のコアに、共通的に統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォン・コンピュータ・システムへのセルラー・ネットワーク・インターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は、他のエンティティと通信し得る。このような通信は、単方向、受信のみ(例えば、TVの放送)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイド・エリア・デジタル・ネットワークを使用する他のコンピュータシステム向けであり得る。そのような通信は、クラウドコンピューティング環境955への通信を含み得る。上述のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用され得る。
前述のヒューマン・インターフェース・デバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェース954は、コンピュータシステム900のコア940に接続され得る。
コア940は、1つまたは複数の中央処理ユニット(CPU)941、グラフィックス処理ユニット(GPU)942、フィールド・プログラマブル・ゲート・エリア(FPGA)943の形式の特殊なプログラム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ944などを含み得る。これらのデバイスは、読み取り専用メモリ(ROM)945、ランダム・アクセス・メモリ946、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量記憶装置947と共に、システムバス948を通して接続され得る。いくつかのコンピュータシステムでは、システムバス948は、1つまたは複数の物理プラグの形式でアクセス可能であり、追加のCPU、GPUなどによる拡張が可能である。周辺デバイスは、コアのシステムバス948に直接接続されても、または周辺バス949を介して接続されてもよい。周辺バスのアーキテクチャは、PCI、USBなどを含む。グラフィックスアダプタ950は、コア940に含まれてもよい。
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わせて、前述のコンピュータコードを構成し得る特定の命令を実行し得る。そのコンピュータコードは、ROM945またはRAM946に記憶され得る。移行データはまた、RAM946に記憶され得るが、永久データは、例えば、内部大容量記憶装置947に記憶され得る。1つまたは複数のCPU941、GPU942、大容量記憶装置947、ROM945、RAM946などと密接に関連付けられ得るキャッシュメモリを使用することにより、任意のメモリデバイスへの高速記憶および読み出しが可能になり得る。
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードをその上に有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術のスキルを有する人々に良く知られ、利用可能な種類のものであり得る。
一例として、限定としてではなく、アーキテクチャ900、具体的にはコア940を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体で具体化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供し得る。そのようなコンピュータ可読媒体は、上記で紹介したようにユーザがアクセス可能な大容量記憶装置のほか、コア内部大容量記憶装置947またはROM945などの非一時的性質のコア940の特定の記憶装置にも関連する媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア940によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含み得る。ソフトウェアにより、コア940、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)は、RAM946に記憶されたデータ構造の定義、およびソフトウェアによって定義された処理による、そのようなデータ構造の変更を含む、本明細書に記載の特定の処理、または特定の処理の特定の部分を実行し得る。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定の処理、または特定の処理の特定の部分を実行するために、ソフトウェアの代わりに、または共に動作し得る回路(例えば、アクセラレータ944)に配線された、またはそうでなければ具体化されたロジックの結果として機能を提供し得る。ソフトウェアへの参照には、ロジックを含めることができ、必要に応じてその逆も可能である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のためのロジックを具体化する回路、またはこれらの両方を包含し得る。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
本開示は、いくつかの非限定的な実施形態を説明しているが、本開示の範囲内にある変更、順列、および様々な代替の同等物が存在する。したがって、当業者は、本明細書に明示的に示されていない、または記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案し得ることが理解されよう。
100 通信システム
110 第1の端末
120 第2の端末
130 端末
140 端末
150 ネットワーク
200 ストリーミングシステム
201 ビデオソース
202 ストリーム
203 ビデオエンコーダ
204 エンコーディング済ビデオビットストリーム
205 ストリーミングサーバ
206 ストリーミングクライアント
209 ビデオビットストリーム
210 ビデオデコーダ
211 発信ビデオ・サンプル・ストリーム
212 ディスプレイ
213 キャプチャサブシステム
302 パッチ生成モジュール
304 パッチ・パッキング・モジュール
306 形状画像生成モジュール
308 テクスチャ画像生成モジュール
310 平滑化モジュール
312 補助パッチ情報圧縮モジュール
314 画像パディングモジュール
316 画像パディングモジュール
318 エントロピー圧縮モジュール
320 グループ拡大モジュール
322 ビデオ圧縮モジュール
324 ビデオ圧縮モジュール
326 ビデオ圧縮モジュール
328 マルチプレクサ
332 パッチ情報
334 占有マップ
350 ポイント・クラウド・フレーム
352 形状画像
354 パディングされた形状画像
356 テクスチャ画像
358 平滑化された形状
360 パディングされたテクスチャ画像
362 圧縮された形状画
364 圧縮されたテクスチャ画
365 再構築された形状画像
366 可逆エンコーディング
368 非可逆エンコーディング
370 圧縮された補助パッチ情報
372 圧縮された占有マップ
374 圧縮されたビットストリーム
402 デマルチプレクサ
404 ビデオ展開モジュール
406 ビデオ展開モジュール
408 占有マップ展開モジュール
410 補助パッチ情報展開モジュール
412 形状再構築モジュール
414 平滑化モジュール
416 テクスチャ再構築モジュール
418 色平滑化モジュール
460 展開された形状画像
462 展開されたテクスチャ画像
464 展開された占有マップ
466 展開された補助パッチ情報
468 再構築された形状
470 平滑化された形状
472 再構築されたテクスチャ
474 再構築されたポイントクラウド
800 装置
810 第1の取得コード
820 第1の決定コード
830 作成コード
840 第1の生成コード
850 第2の決定コード
860 処理コード
870 停止コード
880 第2の生成コード
900 コンピュータシステム
901 キーボード
902 マウス
903 トラックパッド
905 ジョイスティック
906 マイク
907 スキャナ
908 カメラ
909 スピーカ
910 タッチスクリーン
921 媒体
920 CD/DVD ROM/RW
922 サムドライブ
923 リムーバブル・ハード・ドライブまたはソリッド・ステート・ドライブ
940 コア
941 中央処理ユニット(CPU)
942 グラフィックス処理ユニット(GPU)
943 フィールド・プログラマブル・ゲート・エリア(FPGA)
944 ハードウェアアクセラレータ
945 読み取り専用メモリ(ROM)
946 ランダム・アクセス・メモリ(RAM)
947 内部大容量記憶装置
948 システムバス
949 周辺バス
950 グラフィックスアダプタ
954 ネットワークインターフェース
955 クラウドコンピューティング環境

Claims (14)

  1. ビデオ・ポイント・クラウド・コーディングを使用してビデオストリームをエンコーディングする方法であって、前記方法が、少なくとも1つのプロセッサによって実施され、
    ポイントクラウドを取得するステップと、
    前記ポイントクラウドにおけるポイントごとに投影面を決定するステップと、
    前記ポイントクラウド内に含まれる未処理のポイントのリストを作成するステップと、
    前記未処理のポイントのリストのための接続構成要素のリストを生成するステップと、
    前記接続構成要素のリストにおける接続構成要素の数が第1の閾値より大きいか否かを、決定するステップと、
    前記接続構成要素のリストにおける前記接続構成要素の前記数が前記第1の閾値より大きいとの決定に基づいて、前記接続構成要素のリストにおける前記接続構成要素を処理し、前記処理した接続構成要素に基づいて1つまたは複数のパッチを生成するステップと、
    前記生成した1つまたは複数のパッチに基づいてエンコーディング済ビデオストリームを生成するステップとを含み、
    前記未処理のポイントのリストが、前記接続構成要素のリストを生成する前記ステップの結果、および前記接続構成要素を処理する前記ステップの結果のうちの少なくとも1つに基づいて、更新される、方法。
  2. 前記未処理のポイントの更新されたリストに基づいて、新規の接続構成要素のリストを生成するステップと、
    前記新規の接続構成要素のリストにおける新規の接続構成要素の数が前記第1の閾値より大きいか否かを、決定するステップと、
    前記新規の接続構成要素のリストにおける前記新規の接続構成要素の前記数が前記第1の閾値より大きいとの決定に基づいて、前記新規の接続構成要素のリストにおける前記新規の接続構成要素を処理し、前記処理した新規の接続構成要素に基づいて1つまたは複数の新規のパッチを生成するステップと、
    前記生成した1つまたは複数のパッチ、および前記生成した1つまたは複数の新規のパッチに基づいて、前記エンコーディング済ビデオストリームを生成するステップとをさらに含み、
    前記未処理のポイントの更新されたリストが、前記新規の接続構成要素のリストを生成する前記ステップの結果、および前記新規の接続構成要素を処理する前記ステップの結果のうちの少なくとも1つに基づいて、更新される、請求項1に記載の方法。
  3. 前記接続構成要素のリストが生成された後、接続構成要素におけるポイントの数が、第2の閾値未満であることに基づいて、前記接続構成要素が、前記接続構成要素のリストから削除され、前記接続構成要素における前記ポイントが、前記未処理のポイントの更新されたリストに追加される、請求項1に記載の方法。
  4. 前記接続構成要素を処理する前記ステップが、前記接続構成要素における異常値ポイントを識別するステップを含み、
    前記異常値ポイントが、前記接続構成要素から削除され、前記未処理のポイントの更新されたリストに追加される、請求項1に記載の方法。
  5. 前記接続構成要素を処理する前記ステップが、前記接続構成要素のリストにおける接続構成要素について、
    前記接続構成要素から異常値ポイントを識別し、削除するステップと、
    前記接続構成要素に対応する近表面を生成するステップと、
    前記近表面をフィルタリングするステップと、
    前記接続構成要素に対応する遠表面を生成するステップと、
    前記近表面および前記遠表面に基づいてパッチを生成するステップとを含む、請求項1に記載の方法。
  6. 前記近表面をフィルタリングする前記ステップが、ポイントが、
    の条件を満たすとの決定に基づいて、前記ポイントを削除するステップを含み、
    が、前記ポイントの深度値を表し、
    が、前記接続構成要素におけるポイントの最小深度値を表し、dthresholdが、第2の閾値を表し、dsurfaceが、表面厚さを表し、Dmaxが、最大許容深度値表現を表し、
    前記削除されたポイントが、前記未処理のポイントの更新されたリストに追加される、請求項5に記載の方法。
  7. 前記パッチを生成する前記ステップが、ポイントが、
    および
    の条件を満たすとの決定に基づいて、前記パッチから前記ポイントを削除するステップを含み、
    が、前記ポイントの座標を表し、
    が、前記ポイントの深度値を表し、
    が、前記遠表面に対応する投影ポイントの座標を表し、
    が、前記投影ポイントの深度値を表し、dthresholdが、第2の閾値を表し、
    前記削除されたポイントが、前記未処理のポイントの更新されたリストに追加される、請求項5に記載の方法。
  8. 前記パッチを生成する前記ステップが、ポイントが、
    および
    の条件を満たすとの決定に基づいて、前記パッチから前記ポイントを削除するステップを含み、
    が、前記ポイントの座標を表し、
    が、前記ポイントの深度値を表し、
    が、前記近表面に対応する投影ポイントの座標を表し、
    が、前記投影ポイントの深度値を表し、dthresholdが、第2の閾値を表し、
    前記削除されたポイントが、前記未処理のポイントの更新されたリストに追加される、請求項5に記載の方法。
  9. 前記接続構成要素を処理する前記ステップが、前記接続構成要素のリストにおける接続構成要素について、
    前記接続構成要素から異常値ポイントを識別し、削除するステップと、
    前記接続構成要素に対応する遠表面を生成するステップと、
    前記遠表面をフィルタリングするステップと、
    前記接続構成要素に対応する近表面を生成するステップと、
    前記近表面および前記遠表面に基づいてパッチを生成するステップとを含む、請求項1に記載の方法。
  10. 前記パッチを生成する前記ステップが、ポイントが、
    および
    の条件を満たすとの決定に基づいて、前記パッチから前記ポイントを削除するステップを含み、
    が、前記ポイントの座標を表し、
    が、前記ポイントの深度値を表し、
    が、前記遠表面に対応する投影ポイントの座標を表し、
    が、前記投影ポイントの深度値を表し、dthresholdが、第2の閾値を表し、
    前記削除されたポイントが、前記未処理のポイントの更新されたリストに追加される、請求項9に記載の方法。
  11. 前記パッチを生成する前記ステップが、ポイントが、
    および
    の条件を満たすとの決定に基づいて、前記パッチから前記ポイントを削除するステップを含み、
    が、前記ポイントの座標を表し、
    が、前記ポイントの深度値を表し、
    が、前記近表面に対応する投影ポイントの座標を表し、
    が、前記投影ポイントの深度値を表し、dthresholdが、第2の閾値を表し、
    前記削除されたポイントが、前記未処理のポイントの更新されたリストに追加される、請求項9に記載の方法。
  12. 前記未処理のポイントのリストに含まれる未処理のポイントが、フラグ配列を使用して識別される、請求項1に記載の方法。
  13. 請求項1~12のいずれか一項に記載の方法を行うように構成された装置。
  14. なくとも1つのプロセッサによって実行されたとき、前記少なくとも1つのプロセッサに、請求項1~12のいずれか一項に記載の方法を行わせるためのコンピュータプログラム。
JP2023525097A 2021-07-20 2021-10-18 ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成 Active JP7438612B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163223793P 2021-07-20 2021-07-20
US63/223,793 2021-07-20
US17/502,605 2021-10-15
US17/502,605 US11606556B2 (en) 2021-07-20 2021-10-15 Fast patch generation for video based point cloud coding
PCT/US2021/055380 WO2023003580A1 (en) 2021-07-20 2021-10-18 Fast patch generation for video based point cloud coding

Publications (2)

Publication Number Publication Date
JP2023547174A JP2023547174A (ja) 2023-11-09
JP7438612B2 true JP7438612B2 (ja) 2024-02-27

Family

ID=84979461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023525097A Active JP7438612B2 (ja) 2021-07-20 2021-10-18 ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成

Country Status (6)

Country Link
US (1) US11606556B2 (ja)
EP (1) EP4186031A4 (ja)
JP (1) JP7438612B2 (ja)
KR (1) KR20230052923A (ja)
CN (1) CN116250009A (ja)
WO (1) WO2023003580A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190122393A1 (en) 2017-10-21 2019-04-25 Samsung Electronics Co., Ltd Point cloud compression using hybrid transforms
US20190311500A1 (en) 2018-04-10 2019-10-10 Apple Inc. Point cloud compression
WO2019198523A1 (ja) 2018-04-11 2019-10-17 ソニー株式会社 画像処理装置および方法
US20200020132A1 (en) 2018-07-11 2020-01-16 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
WO2020026846A1 (ja) 2018-08-02 2020-02-06 ソニー株式会社 画像処理装置および方法
WO2021116838A1 (en) 2019-12-10 2021-06-17 Sony Group Corporation Mesh compression via point cloud representation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867414B2 (en) * 2018-04-10 2020-12-15 Apple Inc. Point cloud attribute transfer algorithm
CN111971967A (zh) * 2018-04-11 2020-11-20 交互数字Vc控股公司 一种用于编码/解码表示3d对象的点云的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190122393A1 (en) 2017-10-21 2019-04-25 Samsung Electronics Co., Ltd Point cloud compression using hybrid transforms
US20190311500A1 (en) 2018-04-10 2019-10-10 Apple Inc. Point cloud compression
WO2019198523A1 (ja) 2018-04-11 2019-10-17 ソニー株式会社 画像処理装置および方法
US20200020132A1 (en) 2018-07-11 2020-01-16 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
WO2020026846A1 (ja) 2018-08-02 2020-02-06 ソニー株式会社 画像処理装置および方法
WO2021116838A1 (en) 2019-12-10 2021-06-17 Sony Group Corporation Mesh compression via point cloud representation

Also Published As

Publication number Publication date
CN116250009A (zh) 2023-06-09
US20230040484A1 (en) 2023-02-09
US11606556B2 (en) 2023-03-14
EP4186031A4 (en) 2024-01-10
WO2023003580A1 (en) 2023-01-26
EP4186031A1 (en) 2023-05-31
JP2023547174A (ja) 2023-11-09
KR20230052923A (ko) 2023-04-20

Similar Documents

Publication Publication Date Title
CN112188209A (zh) 视频流解码方法、装置、计算机设备和存储介质
JP7383171B2 (ja) 点群コーディングのための方法および装置
JP7118501B2 (ja) 符号化された映像ストリームを映像点群符号化を使用して復号するための方法、装置、媒体、およびプログラム
JP7438612B2 (ja) ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成
JP7434667B2 (ja) ビデオベースの点群コーディングのためのグループオブピクチャベースのパッチパッキング
US20230156222A1 (en) Grid-based patch generation for video-based point cloud coding
US11979606B2 (en) Conditional recolor for video based point cloud coding
US11956478B2 (en) Method and apparatus for point cloud chunking for improved patch packing and coding efficiency
JP2023533419A (ja) ビデオベースの点群コーディングのための高速リカラー
JP2023533423A (ja) ビデオベースの点群コーディングのための非バイナリ占有マップ
KR20230158622A (ko) 메시 압축을 위한 지오메트리 필터링
KR20240067924A (ko) 대칭 메시의 uv 속성 코딩 방법 및 장치
KR20230173700A (ko) 시간적으로 상관된 uv 아틀라스를 사용한 메시 파라미터화
CN112188201A (zh) 对视频流进行编码的方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7438612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150