JP7438351B2 - ポイントクラウドデータを復号する方法、コンピュータシステム、およびコンピュータプログラム - Google Patents

ポイントクラウドデータを復号する方法、コンピュータシステム、およびコンピュータプログラム Download PDF

Info

Publication number
JP7438351B2
JP7438351B2 JP2022529904A JP2022529904A JP7438351B2 JP 7438351 B2 JP7438351 B2 JP 7438351B2 JP 2022529904 A JP2022529904 A JP 2022529904A JP 2022529904 A JP2022529904 A JP 2022529904A JP 7438351 B2 JP7438351 B2 JP 7438351B2
Authority
JP
Japan
Prior art keywords
computer
point cloud
context
size
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.)
Active
Application number
JP2022529904A
Other languages
English (en)
Other versions
JP2023503593A (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 JP2023503593A publication Critical patent/JP2023503593A/ja
Application granted granted Critical
Publication of JP7438351B2 publication Critical patent/JP7438351B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

関連出願の相互参照
本出願は、2020年8月18日に出願された米国仮特許出願第63/067,286号に基づく優先権を主張している、2021年5月19日に出願された米国特許出願第17/324,627号に対する優先権の利益を主張するものであり、その全体は参照により本明細書に援用される。
本開示は概して、データ処理の分野に関し、より詳細にはポイントクラウドに関する。
ポイントクラウドは、近年広く利用されている。例えば、このポイントクラウドは、オブジェクト検出及び位置特定を行うために自動運転車両で使用されている一方で、このポイントクラウドは、マッピングを行うために地理情報システム(geographic information systems:GIS)でも使用されており、さらには、文化遺産オブジェクト及びコレクションなどを視覚化したり、アーカイブしたりするために、文化遺産においても使用されている。ポイントクラウドは、典型的には三次元(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つの実施形態による、ポイントクラウドデータのオクツリー分割を示す図である。 少なくとも1つの実施形態による、クアッドツリー分割を示す図である。 少なくとも1つの実施形態による、バイナリツリー分割を示す図である。 少なくとも1つの実施形態による、ポイントクラウド符号化のシンタックス要素である。 少なくとも1つの実施形態による、ポイントクラウドデータを復号するプログラムによって実行されるステップを示す動作フローチャートである。 少なくとも1つの実施形態による、図1に示すコンピュータ及びサーバの内部コンポーネント並びに外部コンポーネントを示すブロック図である。 少なくとも1つの実施形態による、図1に示すコンピュータシステムを含む例示的なクラウド・コンピューティング環境を示すブロック図である。 少なくとも1つの実施形態による、図6の例示的なクラウド・コンピューティング環境の機能レイヤを示すブロック図である。
特許請求されている構造及び方法の詳細な実施形態を本明細書に開示しているが、開示しているこれらの実施形態が、様々な形態で具現化することができる、特許請求されている構造及び方法の単なる例示にすぎないことが理解され得る。しかしながら、これらの構造及び方法は、多くの異なる形態で具現化されてもよく、本明細書に記載している例示的な実施形態に限定されると解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が詳細かつ完全なものになるように、また、当業者にその範囲を十分に伝達できるように提供するものである。本明細書では、提示している実施形態を不必要に不明瞭にすることを避けるために、周知の特徴及び技術の詳細については、省略する場合がある。
いくつかの実施形態は、概して、データ処理の分野に関し、より詳細にはポイントクラウドに関する。以下に記載している例示的な実施形態は、とりわけ、ポイントクラウドに対する予測ツリーベースの符号化のシンタックス要素に対応する、配列のサイズを縮小することに基づいて、ポイントクラウド符号化のコンテキストを削減するシステム、方法、及びコンピュータプログラムを提供する。したがって、いくつかの実施形態は、コンテキストが削減された数に基づいて、ポイントクラウドの圧縮及び展開を改良できるようにすることにより、コンピューティングの分野を向上させる力を有する。
前述したように、近年、ポイントクラウド符号化が広く利用されている。例えば、このポイントクラウドは、オブジェクト検出及び位置特定を行うために自動運転車両で使用されている一方で、このポイントクラウドは、マッピングを行うために地理情報システム(geographic information systems:GIS)でも使用されており、さらには、文化遺産オブジェクト及びコレクションなどを視覚化したり、アーカイブしたりするために、文化遺産においても使用されている。ポイントクラウドは、典型的には三次元(3D)からなる高次元ポイントのセットを含み、それぞれが3D位置情報と、色、反射率などの追加属性とを含む。これらのポイントクラウドは、複数のカメラ及び深度センサ、又はLidarを様々な設定で使用して取り込むことができ、また元の情景を、臨場感をもって表すために、数千から最大数十億のポイントで構成されている場合がある。より高速な送信、又はストレージの低減を目的として、ポイントクラウドを表すために要するデータ量を削減するために、圧縮技術が必要とされている。ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、静的ポイントクラウド又は動的ポイントクラウドのための圧縮技術を標準化するためのアドホックグループ(MPEG-PCC)を創設した。
MPEG TMC13モデルでは、ジオメトリ情報と、色又は反射率などの関連属性とが別々に圧縮される。ポイントクラウドの3D座標値であるジオメトリ情報は、オクツリー分割、クアッドツリー分割及びバイナリツリー分割により、その占有率情報を用いて符号化される。ジオメトリ情報が符号化された後、これらの属性は、予測技法、リフティング技法、及び領域適応型階層的変換手法を用いて再構築されたジオメトリに基づいて圧縮される。ジオメトリ符号化には2つの手法があり、そのうちの一方はオクツリーベースの手法であり、もう一方は予測ツリーベースの手法である。しかしながら、MPEG-PCCで定義されている予測ツリー符号化は、ptn_residual_abs_log2[k]、k=0,1,2のシンタックス要素を符号化するために、多くのコンテキストを必要とし、これには極めて費用がかかる。したがって、著しい性能損失を発生させることなく、これらのコンテキストの数を削減することが有利となり得る。さらに、予測ツリーベースの符号化をノードベースの符号化と組み合わせて、さらなる性能向上をもたらすことができる。
様々な実施形態による方法、装置(システム)、並びにコンピュータ可読媒体のフローチャート図及び/又はブロック図を参照しながら、いくつかの態様について本明細書で説明している。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
以下に記載している例示的な実施形態は、コンテキストが削減された数を使用するポイントクラウド符号化のためのシステム、方法、及びコンピュータプログラムを提供する。ここで図1を参照すると、ポイントクラウドデータを圧縮したり、展開したりするためのポイントクラウド符号化システム100(以下、「システム」)を例示する、ネットワーク化されたコンピュータ環境の機能ブロック図が示されている。図1が、一実装形態の例示のみを示しているにすぎず、異なる実施形態が実装され得る環境に関する制限を、何ら示唆していないことを理解されたい。設計要件及び実装要件に基づいて、図示している環境に対する多くの修正がなされてもよい。
システム100は、コンピュータ102と、サーバコンピュータ114と、を含んでいてもよい。コンピュータ102は、通信ネットワーク110(以下、「ネットワーク」)を介してサーバコンピュータ114と通信してもよい。コンピュータ102は、プロセッサ104と、データストレージデバイス106上に記憶され、ユーザとインターフェースし、かつサーバコンピュータ114と通信することが可能なソフトウェアプログラム108と、を含んでいてもよい。図5を参照しながら以下に述べているように、コンピュータ102は、内部コンポーネント800A及び外部コンポーネント900Aをそれぞれ含んでいてもよく、また、サーバコンピュータ114は、内部コンポーネント800B及び外部コンポーネント900Bをそれぞれ含んでいてもよい。コンピュータ102は、例えば、モバイル機器、電話機、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又はプログラムを実行し、ネットワークにアクセスし、かつデータベースにアクセスすることができるあらゆるタイプのコンピューティングデバイスであってもよい。
サーバコンピュータ114はまた、図6及び図7に関連して以下に述べているように、サービスとしてのソフトウェア(Software as a Service:SaaS)、サービスとしてのプラットフォーム(Platform as a Service:PaaS)、又はサービスとしてのインフラストラクチャ(Infrastructure as a Service:laaS)などのクラウド・コンピューティング・サービスモデルにおいて動作してもよい。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウドなどのクラウド・コンピューティング・デプロイモデルに配置されてもよい。
ポイントクラウド符号化に使用され得るサーバコンピュータ114は、データベース112と対話することができるポイントクラウド符号化プログラム116(以下、「プログラム」)を実行することが可能である。このポイントクラウド符号化プログラムの方法については、図4に関連して以下により詳細に説明している。一実施形態では、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作してもよい一方、プログラム116は、主としてサーバコンピュータ114上で実行されてもよい。代替的な一実施形態では、プログラム116は、主として1つ又は複数のコンピュータ102上で実行されてもよく、その一方でサーバコンピュータ114は、プログラム116によって使用されるデータの処理及び記憶に使用されてもよい。なお、プログラム116はスタンドアロン型プログラムであってもよく、又はより大きなポイントクラウド符号化プログラム内に組み込まれていてもよい。
ただし、プログラム116の処理は、場合によっては、コンピュータ102とサーバコンピュータ114との間で任意の比率で共有されてもよいことに留意されたい。別の実施形態では、プログラム116は、複数のコンピュータ、サーバコンピュータ、又はコンピュータとサーバコンピュータとを一部組み合わせたもの、例えば、ネットワーク110を介して単一のサーバコンピュータ114と通信する複数のコンピュータ102上で動作してもよい。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバコンピュータ114上で動作してもよい。あるいは、このプログラムは、ネットワークを介してサーバ及び複数のクライアントコンピュータと通信するネットワークサーバ上で動作してもよい。
ネットワーク110は、有線接続、無線接続、光ファイバ接続、又はそれらを一部組み合わせたものを含んでいてもよい。通常、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続とプロトコルとのあらゆる組み合わせとすることができる。このネットワーク110は、例えば、ローカル・エリア・ネットワーク(local area network:LAN)、インターネットなどのワイド・エリア・ネットワーク(wide area network:WAN)、公衆交換電話網(Public Switched Telephone Network:PSTN)などの電気通信ネットワーク、無線ネットワーク、公衆交換網、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(fifth generation:5G)ネットワーク、ロングタームエボリューション(long-term evolution:LTE)ネットワーク、第3世代(third generation:3G)ネットワーク、符号分割多元接続(code division multiple access:CDMA)ネットワークなど)、公衆陸上移動体通信網(public land mobile network:PLMN)、メトロポリタン・エリア・ネットワーク(MAN)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバベースのネットワークなど、及び/又はこれらの若しくは他のタイプのネットワークの組み合わせなどの様々なタイプのネットワークを含んでいてもよい。
図1に示すデバイス及びネットワークの数並びに配置は、一実施例として示している。実際には、図1に示すものよりも多数のデバイス及び/又はネットワーク、これらよりも少数のデバイス及び/又はネットワーク、これらとは異なるデバイス及び/又はネットワーク、あるいはこれらとは異なる配置のデバイス及び/又はネットワークが設けられていてもよい。さらに、図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、又は図1に示す単一のデバイスは、複数の分散型デバイスとして実装されてもよい。付加的に、又は代替的に、システム100のデバイスのセット(例えば、1つ又は複数のデバイス)は、システム100の別のデバイスのセットによって実行されるものとして記載している、1つ又は複数の機能を実行してもよい。
ここで図2Aを参照すると、オクツリー構造200Aの図が示されている。TMC13では、オクツリーのジオメトリ符復号化が用いられる場合、ジオメトリ符号化は以下のように進められる。まず、立方体軸に整列したバウンディングボックスBは、2つのポイント(0、0、0)及び(2M-1、2M-1、2M-1)によって規定されており、ここで、2M-1はBのサイズを定義し、Mはビットストリームで指定される。次いで、オクツリー構造200Aは、Bを再帰的に分割することによって構築される。各段階において、1つの立方体は8つのサブ立方体へと分割される。次いで、8ビットコード、即ち占有コードが、ポイントを含む(即ち、完全であり、値1を有する)か含まない(即ち、空であり、値0を有する)かを示すために、1ビット値を各サブ立方体に関連付けることによって生成される。1よりも大きいサイズ(即ち、非ボクセル)を有する完全なサブ立方体のみがさらに分割される。
ここで図2Bを参照すると、オクツリー分割200Bの図が示されている。オクツリー分割200Bは、2つの階層からなるオクツリー分割202及び対応する占有コード204を含んでいてもよく、濃い色が付されている立方体及びノードは、それらがポイントによって占有されていることを示す。次いで、各ノードの占有コード204は、算術エンコーダによって圧縮される。占有コード204は、8ビット整数であるSとして表すことができ、S内のビットはそれぞれ、各子ノードの占有状態を示す。占有コード204のための2つの符号化方法、即ち、ビット単位の符号化方式及びバイト単位の符号化方式がTMC13に存在し、ビット単位の符号化はデフォルトでイネーブルされている。いずれの方法も、占有コード204を符号化するためにコンテキストモデリングを用いて算術符号化を実行し、ここで、コンテキスト状態は、符号化処理全体の開始時に初期化され、かつ符号化処理中に更新される。
ビット単位の符号化では、Sの8つのビンが特定の順序で符号化され、各ビンは、隣接ノード及び隣接ノードの子ノードの占有状態を参照することによって符号化され、ここで、隣接ノードは現在のノードと同じ階層にある。バイト単位の符号化の場合、Sは、N個(例えば、32個)の最も使用頻度の高い占有コードを追跡する適応ルックアップテーブル(adaptive look up table:A-LUT)と、最後に観測された異なるM個(例えば、16個)の占有コードを追跡するキャッシュとを参照することによって符号化される。
SがA-LUTであるか否かを示すバイナリフラグが符号化される。SがA-LUT内にある場合、A-LUT内のインデックスは、バイナリ算術エンコーダを使用して符号化される。SがA-LUT内にない場合、Sがキャッシュ内にあるか否かを示すバイナリフラグが符号化される。Sがキャッシュ内にある場合、そのインデックスのバイナリ表現は、バイナリ算術エンコーダを使用して符号化される。そうではなく、Sがキャッシュ内にない場合、Sのバイナリ表現は、バイナリ算術エンコーダを使用して符号化される。復号処理は、ビットストリームからバウンディングボックスBの次元を解析することによって開始される。次いで、復号された占有コードに従ってBを分割することにより、同じオクツリー構造が構築される。
現在のノードの占有コードは通常8ビットを有し、ここで各ビットは、そのi番目の子ノードが占有されているか否かを表す。現在のノードの占有コードを符号化するとき、隣接する符号化ノードからのすべての情報をコンテキストモデリングに使用することができる。このコンテキスト情報は、分割階層及び現在のノードまでの距離に関して、さらに分類され得る。現在のノードにおけるi番目の子ノードのコンテキストインデックスは、一般性を失うことなく、以下のように取得することができ、
idx=LUT[i][ctxIdxParent][ctxIdxChild]、
ここで、LUTは、コンテキストインデックスのルックアップテーブルである。ctxIdxParent及びctxIdxChildは、親ノード階層及び子ノード階層の隣接情報を表すLUTインデックスを示す。
ここで図2Cを参照すると、クアッドツリー分割の図200Cが示されている。ポイントクラウドの場合、そのバウンディングボックスBは、すべての方向で同じサイズになるように制限されることはなく、代わりにこのバウンディングボックスBを、3Dの情景又は3Dオブジェクトの形状により良好に適合する任意サイズの直方体とすることができる。実装において、Bのサイズは通常、2の累乗、即ち
Figure 0007438351000001
として表される。なお、dx、dy、dzは等しくないと仮定される。クアッドツリー分割では、3つの次元(即ち、x次元、y次元、z次元)のうちの2つが半分に分割され、同じサイズの4つのサブボックスが得られる。図200Cは、それぞれx-y軸線、x-z軸線、y-z軸線に沿った3D立方体のクアッドツリー分割を示す。
ここで図2Dを参照すると、バイナリツリー分割の図200Dが示されている。前述したように、そのバウンディングボックスBは、すべての方向で同じサイズになるように制限されることはなく、代わりにこのバウンディングボックスBを、3Dの情景又は3Dオブジェクトの形状により良好に適合する任意サイズの直方体とすることができる。実装において、Bのサイズは通常、2の累乗、即ち
Figure 0007438351000002
として表される。なお、dx、dy、dzは等しくないと仮定される。バイナリツリー分割では、3つの次元(即ち、x次元、y次元、z次元)のうちの1つのみが半分に分割され、同じサイズの2つのサブボックスが得られる。図200Dは、それぞれx軸線、y軸線、及びz軸線に沿った3D立方体のバイナリツリー分割を示す。
ここで図3を参照すると、シンタックス要素300が図示されている。予測ツリーベースのジオメトリ符号化が導入され、ここで、ポイントクラウド内のすべてのポイントにわたる予測ツリー(即ち、スパニングツリー)が構築される。ポイントの予測には、すべての祖先を使用することができる。例えば、ポイントの位置は、その親ポイントの位置から、又はその親及びその親の親ポイントの位置から予測され得る。
1つ又は複数の実施形態によれば、シンタックス要素300は、以下のパラメータを含んでいてもよい。
ptn_child_cnt[nodeIdx]は、ジオメトリ予測ツリーに存在する現在の予測ツリーノード配下の子ノードの数である。
ptn_pred_mode[nodeIdx]は、現在のノードに関連付けられた位置を予測するために使用されるモードである。
ptn_residual_eq0_flag[k]、ptn_residual_sign_flag[k]、ptn_residual_abs_log2[k]、及びptn_residual_abs_remaining[k]は、共にk番目のジオメトリ位置コンポーネントの第1の予測残差を示す。ptn_residual_eq0_flag[k]は、残差コンポーネント0に等しいか否かを示す。1に等しいptn_residual_sign_flag[k]は、残差コンポーネントの符号が正であることを示す。0に等しいptn_residual_sign_flag[k]は、残差コンポーネントの符号が負であることを示す。
残差のビット数を符号化するとき、5ビットのビット数値b4b3b2b1b0で、ctxNumBits[12][3][31]と表されるコンテキスト配列の総数が使用されると仮定する。第1の次元のインデックス(値12)は、ptn_residual_abs_log2[k]の全体値に関連するコンテキストの異なるセットを表すために使用される。中間次元(値3)のインデックスは、ptn_residual_abs_log2[k]、k=0,1,2の3つのコンポーネントを示す。ctxIdxと表される最終次元のインデックス(値31)は、ptn_residual_abs_log2[k]=b4b3b2b1b0の値に基づいて決定される。
1つ又は複数の実施形態によれば、ctxIdxを決定する第1の方法は、以下の式を含んでいてもよい。
b0の場合、ctxIdx=0
b1の場合、ctxIdx=1+b0
b2の場合、ctxIdx=3+b1b0
b3の場合、ctxIdx=7+b2b1b0
b4の場合、ctxIdx=15+b3b2b1b0
ctxIdを決定する第2の方法は、符号化ビットの順序を逆にすることであり、これは以下の式を含んでいてもよい。
b4の場合、ctxIdx=0
b3の場合、ctxIdx=1+b4
b2の場合、ctxIdx=3+b5b4
b1の場合、ctxIdx=7+b4b2b1
b0の場合、ctxIdx=15+b4b3b2b1
1つ又は複数の実施形態によれば、シンタックス要素ptn_residual_abs_log2[k]、k=0,1,2を符号化するのに必要となるコンテキストの総数を削減することができる。一実施形態では、ptn_residual_abs_log2[k]、k=0,1,2の3つのコンポーネントはすべて、同じコンテキストのセット、即ち、ctxNumBits[12][1][31]として簡略化されたコンテキスト配列ctxNumBits[12][3][31]を共有していた。別の実施形態では、ptn_residual_abs_log2[k]、k=0,1,2の3つのコンポーネントは、依然として異なるコンテキストのセットを有する。代わりに、コンテキスト配列ctxNumBits[12][3][31]は、コンテキスト配列ctxNumBits[12][3][8]に縮小されてもよい。
例えば、ctxIdxの導出を、以下のように修正してもよい。
b0の場合、ctxIdx=0
b1の場合、ctxIdx=1+b0
b2の場合、ctxIdx=3+b1b0
b3の場合、ctxIdx=7
b4の場合、ctxIdx=8
さらに、ctxIdxの導出は、以下のように修正することもできる。
b4の場合、ctxIdx=0
b3の場合、ctxIdx=1+b4
b2の場合、ctxIdx=3+b5b4
b1の場合、ctxIdx=7
b0の場合、ctxIdx=8
1つ又は複数の実施形態では、必要とされるコンテキストの総数は、その元のサイズの3分の1未満にまで削減され、これによってエンコーダの複雑性を大幅に軽減している。1つ又は複数の実施形態では、コンテキスト配列ctxNumBits[12][3][31]は、わずかctxNumBits[1][3][31]にまで縮小されてもよい。したがって、コンテキストは、コンポーネント番号k=0,1,2と、ptn_residual_abs_log2[k]=b4b3b2b1b0のビット値とに基づいて決定されてもよい。
ノードベースのジオメトリ符号化では、ポイントクラウドのジオメトリは、深度kに達するまで符号化されてもよく、ここで、kはエンコーダによって特定され、ビットストリームで送信される。深度kの各占有ノードについては、ポイントクラウドのサブボリューム(又はサブツリー)と見なすことができる。簡略化のために、深度kにおけるノードは、最大符号化単位(largest coding unit:LCU)として記載されてもよい。1つのLCUを符号化するために予測ツリーを使用する場合、1つのLCUをポイントクラウド全体として扱いながら、LCU内の複数のポイントが符号化され、これに続いて通常の予測ツリーベースの符号化が実行されてもよい。様々な方法を用いて、LCU内の複数のポイントを符号化することができる。例えば、固定数のビットNを使用してLCU内の複数のポイントが符号化されてもよく、ここでNは、シーケンスパラメータセット、ジオメトリパラメータセット又はスライスヘッダなどのビットストリームの高レベルのシンタックスにおいてシグナリングされ得る。nとして示される、LCU内の複数のポイントを表すために必要となる実際のビット数を特定してもよく、また固定数、即ちsビットを使用してnを表してもよい。このsビットは、バイパス符号化として符号化されてもよいし、エントロピー符号化を用いてsビットのそれぞれに対して1つのコンテキストを使用してもよい。次いで、LCU内の複数のポイントは、バイパス符号化によってnビットを使用して符号化されてもよい。各LCUはオクツリー分割内の中間ノードに対応していてもよく、各ノードはそれ自体の開始位置を有するため、配置開始時は予測ツリーベースの符号化のデフォルト値として使用されてもよい。さらにLCUのバウンディングボックスが決定されてもよく、また、その最小座標値が予測ツリーベースの符号化のデフォルト値として使用されてもよい。
ここで図4を参照すると、ポイントクラウドデータを圧縮かつ展開するプログラムによって実行される、方法400のステップを示す動作フローチャートが図示されている。
方法400は、402で、ポイントクラウドに対応するデータを受信するステップを含んでいてもよい。
方法400は、404で、ポイントクラウドに対する予測ツリーベースの符号化のシンタックス要素に対応する配列のサイズを縮小することに基づいて、受信データに関連付けられたコンテキストの数を削減するステップを含んでいてもよい。
方法400は、406で、削減されたコンテキストの数に基づいて、ポイントクラウドに対応するデータを復号するステップを含んでいてもよい。
図4が、1つの実装形態の例示のみを提供しており、異なる実施形態がどのように実装され得るかに関して、いかなる制限も示唆していないことが理解されよう。設計要件及び実装要件に基づいて、図示している環境に対する多くの修正がなされてもよい。
図5は、例示的な実施形態による、図1に示すコンピュータの内部コンポーネント及び外部コンポーネントを示すブロック図500である。図5が、1つの実装形態の例示のみを提供しており、異なる実施形態が実装され得る環境に関して、いかなる制限も示唆していないことを理解されたい。設計要件及び実装要件に基づいて、図示している環境に対する多くの修正がなされてもよい。
コンピュータ102(図1)とサーバコンピュータ114(図1)とは、図5に示す内部コンポーネント800A、800B及び外部コンポーネント900A、900Bのそれぞれのセットを含んでいてもよい。内部コンポーネント800のセットはそれぞれ、1つ又は複数のプロセッサ820と、1つ若しくは複数のバス826上の1つ又は複数のコンピュータ可読RAM 822及び1つ又は複数のコンピュータ可読ROM 824と、1つ又は複数のオペレーティングシステム828と、1つ又は複数の有形のコンピュータ可読ストレージデバイス830と、を含む。
プロセッサ820は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ820は、中央処理装置(central processing unit:CPU)、グラフィック処理装置(graphics processing unit:GPU)、加速処理装置(accelerated processing unit:APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(digital signal processor:DSP)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array:FPGA)、特定用途向け集積回路(application-specific integrated circuit:ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実装形態では、プロセッサ820は、機能を実行するようにプログラムすることができる、1つ又は複数のプロセッサを含む。バス826は、内部コンポーネント800A、800B間の通信を可能にするコンポーネントを含む。
1つ又は複数のオペレーティングシステム828、ソフトウェアプログラム108(図1)及びサーバコンピュータ114(図1)上のポイントクラウド符号化プログラム116(図1)は、各々のRAM 822(典型的にはキャッシュメモリを含む)のうちの1つ又は複数を介して各々のプロセッサ820のうちの1つ又は複数によって実行させるために、各々の有形のコンピュータ可読ストレージデバイス830のうちの1つ又は複数に記憶される。図5に示す実施形態では、この有形のコンピュータ可読ストレージデバイス830はそれぞれ、内蔵ハードドライブの磁気ディスクストレージデバイスである。あるいは、この有形のコンピュータ可読ストレージデバイス830はそれぞれ、ROM 824、EPROM、フラッシュメモリなどの半導体ストレージデバイス、光ディスク、光磁気ディスク、ソリッド・ステート・ディスク、コンパクトディスク(compact disc:CD)、デジタル多用途ディスク(digital versatile disc:DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又はコンピュータプログラム及びデジタル情報を記憶することができる別のタイプの有形の非一時的なコンピュータ可読ストレージデバイスである。
内部コンポーネント800A、800Bの各セットは、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、若しくは半導体ストレージデバイスなど、1つ又は複数の有形のポータブルコンピュータ可読ストレージデバイス936から読み書きするためのR/Wドライブ又はR/Wインターフェース832をさらに含む。ソフトウェアプログラム108(図1)などのソフトウェアプログラム及びポイントクラウド符号化プログラム116(図1)は、各々の有形のポータブルコンピュータ可読ストレージデバイス936のうちの1つ又は複数に記憶され、各々のR/Wドライブ又はR/Wインターフェース832を介して読み取られ、かつ各々のハードドライブ830へとロードされ得る。
内部コンポーネント800A、800Bの各セットは、TCP/IPアダプタカード、無線Wi-Fiインターフェースカード、あるいは3G、4G、若しくは5G無線インターフェースカード又は他の有線若しくは無線通信リンクなどのネットワークアダプタ又はネットワークインターフェース836をさらに含む。ソフトウェアプログラム108(図1)及びサーバコンピュータ114(図1)上のポイントクラウド符号化プログラム116(図1)は、ネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、又は他のワイド・エリア・ネットワーク)を介して外部コンピュータから、かつ各々のネットワークアダプタ又はネットワークインターフェース836からコンピュータ102(図1)及びサーバコンピュータ114にダウンロードされ得る。ソフトウェアプログラム108及びサーバコンピュータ114上のポイントクラウド符号化プログラム116は、ネットワークアダプタ又はネットワークインターフェース836から各々のハードドライブ830へとロードされる。このネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでいてもよい。
外部コンポーネント900A、900Bのセットはそれぞれ、コンピュータ・ディスプレイ・モニタ920、キーボード930、及びコンピュータマウス934を含み得る。外部コンポーネント900A、900Bは、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、及び他のヒューマン・インターフェース・デバイスをさらに含み得る。内部コンポーネント800A、800Bのセットはそれぞれ、コンピュータ・ディスプレイ・モニタ920、キーボード930、及びコンピュータマウス934に接続するためのデバイスドライバ840をさらに含む。デバイスドライバ840、R/Wドライブ又はR/Wインターフェース832並びにネットワークアダプタ又はネットワークインターフェース836は、ハードウェア及びソフトウェア(ストレージデバイス830及び/又はROM 824に記憶される)を備える。
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載している教示内容の実装が、クラウド・コンピューティング環境に限定されないことを事前に理解されたい。むしろ、いくつかの実施形態は、既知又は今後開発される他のあらゆるタイプのコンピューティング環境と連携して実装することができる。
クラウド・コンピューティングは、最小限の管理労力又は当該サービスのプロバイダとのやり取りで迅速にプロビジョニングし、かつリリースすることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールに簡便に、かつオンデマンドでネットワークアクセスできるようにするための、サービス配信の一モデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つのデプロイモデルを含んでいてもよい。
特性は以下の通りである。
オンデマンド型セルフサービス:クラウドコンシューマは、当該サービスのプロバイダとの人的なやり取りを要することなく、必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング機能を単独でプロビジョニングすることができる。
広範なネットワークアクセス:これらの機能は、ネットワークを介して利用できるとともに、異種のシン・クライアント・プラットフォーム又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準機構を通じてアクセスされる。
リソースプーリング:当該プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供するためにプールされ、ここで異なる物理リソース及び仮想リソースは、要求に応じて動的に割り当てられ、かつ再割り当てされる。コンシューマは通常、提供されるリソースの正確な位置を全く制御しておらず、またその位置を全く把握していないが、より高い抽象化レベル(例えば、国、州、又はデータセンタ)で位置を特定できる場合があるという点で、位置独立性の感覚がある。
迅速な順応性:素早くスケールアウトするように、かつ素早くスケールインすべく迅速にリリースされるように、一部の事例において自動的にこれらの機能は、迅速に、かつ順応性をもってプロビジョニングされ得る。コンシューマにとって、プロビジョニングのために利用可能な機能は多くの場合、無制限であるように思われ、なおかつ任意の時点で任意の数量で購入され得る。
測定サービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブ・ユーザ・アカウント)に適したある抽象化レベルでメータリング機能を活用することによって、リソースの使用を自動的に制御し、かつ最適化する。リソースの使用状況は、利用されるサービスのプロバイダ及びコンシューマの両方に透明性をもたらすように監視され得、制御され得、かつレポートされ得る。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):コンシューマに当該機能が提供される場合、クラウド・インフラストラクチャ上で実行される当該プロバイダのアプリケーションをコンシューマが使用する。これらのアプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを介して、様々なクライアントデバイスからアクセスすることができる。コンシューマは、限られたユーザ固有のアプリケーション構成設定を想定され得る例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション機能さえも含む、基盤となるクラウド・インフラストラクチャを管理することも、制御することもしない。
サービスとしてのプラットフォーム(PaaS):コンシューマに当該機能が提供される場合、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成される、コンシューマが作成するか又は取得したアプリケーションが、クラウド・インフラストラクチャ上にデプロイされる。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む、基盤となるクラウド・インフラストラクチャを管理することも、制御することもしないが、デプロイされるアプリケーション、及び場合によってはアプリケーションをホストする環境構成に対する制御は行う。
サービスとしてのインフラストラクチャ(laaS):コンシューマに当該機能が提供される場合、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースがプロビジョニングされ、コンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアをデプロイし、かつ実行することができる。コンシューマは、基盤となるクラウド・インフラストラクチャを管理することも、制御することもしないが、オペレーティングシステム、ストレージ、デプロイされるアプリケーション、及び場合によっては選択されるネットワーキングコンポーネント(例えば、ホストファイアウォール)に対する限定的な制御は行う。
デプロイモデルは以下の通りである。
プライベートクラウド:クラウド・インフラストラクチャは、専らある組織のために運用される。クラウド・インフラストラクチャは、当該組織又はサードパーティーによって管理されてもよく、また、オンプレミスで存在してもよいし、オフプレミスで存在してもよい。
コミュニティクラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、また、共有される関心事項(例えば、業務、セキュリティ要件、ポリシー、及びコンプライアンスの考慮事項)を有する特定のコミュニティをサポートしている。クラウド・インフラストラクチャは、当該組織又はサードパーティーによって管理されてもよく、また、オンプレミスで存在してもよいし、オフプレミスで存在してもよい。
パブリッククラウド:クラウド・インフラストラクチャは、一般の人々又は大規模な業界グループが利用できるようになっており、また、クラウドサービスを販売する組織によって所有されている。
ハイブリッドクラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ可搬性及びアプリケーション可搬性(例えば、クラウド間の負荷分散を目的としたクラウドバースティング)を実現する、標準化された技術、又は専有の技術によって互いに結び付けられた、2つ以上のクラウド(プライベートクラウド、コミュニティクラウド、又はパブリッククラウド)の混合形態である。
クラウド・コンピューティング環境は、無国籍性、疎結合性、モジュール性、及びセマンティック相互運用性に焦点を合わせたサービス指向である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを備えるインフラストラクチャがある。
図6を参照すると、例示的なクラウド・コンピューティング環境600が図示されている。図示しているように、クラウド・コンピューティング環境600は、例えば、携帯情報端末(personal digital assistant:PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなどの、クラウドコンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を備える。クラウド・コンピューティング・ノード10は、互いと通信し合ってもよい。これらのクラウド・コンピューティング・ノード10は、これまで述べてきたプライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド、又はそれらの組み合わせなど、1つ若しくは複数のネットワークにおいて、物理的又は仮想的にグループ化(図示せず)されてもよい。これにより、クラウド・コンピューティング環境600は、クラウドコンシューマがローカル・コンピューティング・デバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを提供することができる。図6に示すコンピューティングデバイス54A~54Nの分類分けは例示のみを目的としており、クラウド・コンピューティング・ノード10及びクラウド・コンピューティング環境600が、あらゆるタイプのネットワーク及び/又はネットワークアドレス指定可能な接続(例えば、ウェブブラウザを使用した)を介して、あらゆるタイプのコンピュータ化されたデバイスと通信できることが理解される。
図7を参照すると、クラウド・コンピューティング環境600(図6)によって提供される、機能抽象化レイヤのセット700が図示されている。図7に示すコンポーネント、レイヤ、及び機能は例示のみを目的としており、また、いくつかの実施形態はそれに限定されないことを事前に理解されたい。図示しているように、以下のレイヤ及び対応する機能が提供される。
ハードウェアレイヤ及びソフトウェアレイヤ60は、ハードウェアコンポーネントとソフトウェアコンポーネントとを含む。ハードウェアコンポーネントの例には、メインフレーム61、RISC(縮小命令セットコンピュータ(Reduced Instruction Set Computer))アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、ストレージデバイス65、並びにネットワーク及びネットワーキングコンポーネント66が含まれる。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベースソフトウェア68を含む。
仮想化レイヤ70は、仮想エンティティの以下の例がもたらされ得る抽象化レイヤを提供しており、この仮想エンティティの例には、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及び仮想オペレーティングシステム74、並びに仮想クライアント75が含まれる。
一実施例では、管理レイヤ80は、以下に記載している機能を提供してもよい。リソースプロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される、コンピューティングリソース及び他のリソースの動的な調達を行う。メータリング及び価格設定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、及びこれらのリソースの消費に対する課金又は請求を行う。一実施例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでいてもよい。セキュリティは、クラウドコンシューマ及びクラウドタスクの身元確認のみならず、データ及び他のリソースの保護をももたらしている。ユーザポータル83は、コンシューマ及びシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービスレベル合意(Service Level Agreement:SLA)計画及び履行85は、SLAに従って将来の要求が予想されるクラウド・コンピューティング・リソースの事前手配及び調達を行う。
作業負荷レイヤ90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。このレイヤから提供され得る作業負荷及び機能の例には、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及びポイントクラウド符号化96が含まれる。ポイントクラウド符号化96は、ポイントクラウドデータに対する予測ツリーベースの符号化のシンタックス要素に対応する、配列のサイズを縮小してもよい。
いくつかの実施形態は、実行可能なあらゆる技術的に詳細な統合化レベルにおけるシステム、方法、及び/又はコンピュータ可読媒体に関するものであってもよい。このコンピュータ可読媒体は、プロセッサにいくつかの動作を実行させるためのコンピュータ可読プログラム命令を有する、1つ又は複数の非一時的なコンピュータ可読ストレージ媒体を含んでいてもよい。
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し、かつ記憶することができる有形デバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上記の任意の適切な組み合わせであってもよいが、これらに限定されない。このコンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、以下のポータブルコンピュータディスケット、ハードディスク、ランダム・アクセス・メモリ(random access memory:RAM)、読み出し専用メモリ(read-only memory:ROM)、消去可能プログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、静的ランダム・アクセス・メモリ(static random access memory:SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(portable compact disc read-only memory:CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード又は命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、及び上記の任意の適切な組み合わせが含まれる。本明細書で使用しているコンピュータ可読ストレージ媒体は、電波又は他の自由伝搬電磁波、導波路若しくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを介して伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各々のコンピューティング/処理デバイスに、あるいはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び/又は無線ネットワークを介して外部コンピュータ若しくは外部ストレージデバイスにダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでいてもよい。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各々のコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために、このコンピュータ可読プログラム命令を転送する。
いくつかの動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(instruction-set-architecture:ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいはSmalltalk、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語若しくは同様のプログラミング言語などの手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語を任意に組み合わせたもので記述された、ソースコードあるいはオブジェクトコードのいずれかであってもよい。このコンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして完全にユーザのコンピュータ上で、又は部分的にユーザのコンピュータ上で、あるいは部分的にユーザのコンピュータ上かつ部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ上若しくはサーバ上で実行されてもよい。後者のシナリオでは、このリモートコンピュータは、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続されてもよく、あるいは外部コンピュータ(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)に接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラマブル・ロジック・アレイ(programmable logic arrays:PLA)を含む電子回路は、いくつかの態様又は動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行してもよい。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供して、マシンを製造し、その結果、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に記憶させ、その結果、それらの命令を内部に記憶させたコンピュータ可読ストレージ媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を備えるようにすることもできる。
また、これらのコンピュータ可読プログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードして、コンピュータ、他のプログラマブルデータ装置又は他のデバイス上で実行される一連の動作ステップによりコンピュータ実装プロセスを生成し、その結果、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令に、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装させるようにすることもできる。
これらの図のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータ可読媒体の有効な実装形態のアーキテクチャ、機能、及び動作を例示している。この点において、フローチャート又はブロック図の各ブロックは、指定された1つ又は複数の論理機能を実装するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又は命令の一部を表していてもよい。本方法、本コンピュータシステム、及び本コンピュータ可読媒体は、図に示すものよりも多数のブロック、これらよりも少数のブロック、これらとは異なるブロック、又はこれらとは異なる配置のブロックを含んでいてもよい。いくつかの代替的な実装形態では、ブロックに記載している機能は、図に記載している順序とは異なる順序で実行されてもよい。例えば、連続して示されている2つのブロックは、実際には、同時に又は略同時に実行されてもよく、あるいはこれらのブロックは、関連する機能に応じて、場合によっては逆の順序で実行されてもよい。なお、ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図のブロックの組み合わせはまた、指定された機能又は動作を実行するか、あるいは専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによっても実装され得る。
本明細書に記載のシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせといった異なる形態で実装されてもよいことは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、これらの実装形態を限定するものではない。したがって、本システム及び/又は本方法の動作及び挙動は、特定のソフトウェアコードを参照せずに本明細書に記載されており、ソフトウェア及びハードウェアが、本明細書の記載に基づいて本システム及び/又は方法を実装するように設計されてもよいことが理解される。
本明細書で使用されるいかなる要素、動作、又は命令も、そのように明記されていない限り、不可欠又は必須であると解釈されるべきではない。また、本明細書で使用される場合、冠詞「1つの(a)」及び「1つの(an)」は、1つ又は複数の項目を含むことが意図され、「1つ又は複数の(one or more)」とは互換的に使用されてもよい。さらに、本明細書で使用される場合、「セット(set)」という用語は、1つ又は複数の項目(例えば、関連項目、無関係な項目、関連項目と無関係な項目との組み合わせなど)を含むことが意図され、「1つ又は複数の(one or more)」と互換的に使用されてもよい。1つの項目のみが意図される場合、「1つの(one)」という用語又は同様の用語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」又は「有する(having)」などの用語は、オープンエンドの用語であることが意図される。さらに、「~に基づいて(based on)」という語句は、特に明記しない限り、「少なくとも部分的に~に基づいて(based,at least in part,on)」を意味することが意図される。
様々な態様及び実施形態の説明を、例示を目的として提示しているが、網羅的であること、又は開示している実施形態に限定することは意図されていない。いくつかの特徴の組み合わせを特許請求の範囲に記載しており、かつ/又は本明細書に開示しているが、これらの組み合わせにおいては、有効な実装形態の開示を限定することは意図されていない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載していない、かつ/又は本明細書に開示していない方法で組み合わされてもよい。以下に列挙している各従属請求項は1つの請求項のみに直接依存してもよいが、有効な実装形態の開示は、各従属請求項を請求項の組内の他のすべての請求項と組み合わせた状態で含む。記載している実施形態の範囲から逸脱することなく、多くの修正形態及び変形形態が当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の用途又は市場で見出される技術に対する技術的改善を最良に解説するために、又は、当業者が本明細書に開示している実施形態を理解できるようにするために選択された。
10 クラウド・コンピューティング・ノード
54A 携帯電話
54B デスクトップコンピュータ
54C ラップトップコンピュータ
54N 自動車コンピュータシステム
60 ハードウェアレイヤ及びソフトウェアレイヤ
61 メインフレーム
62 RISCアーキテクチャベースのサーバ
63 サーバ
64 ブレードサーバ
65 ストレージデバイス
66 ネットワーク及びネットワーキングコンポーネント
67 ネットワーク・アプリケーション・サーバ・ソフトウェア
68 データベースソフトウェア
70 仮想化レイヤ
71 仮想サーバ
72 仮想ストレージ
73 仮想ネットワーク
74 仮想アプリケーション及び仮想オペレーティングシステム
75 仮想クライアント
80 管理レイヤ
81 リソースプロビジョニング
82 メータリング及び価格設定
83 ユーザポータル
84 サービスレベル管理
85 サービスレベル合意計画及び履行
90 作業負荷レイヤ
91 マッピング及びナビゲーション
92 ソフトウェア開発及びライフサイクル管理
93 仮想教室教育配信
94 データ分析処理
95 トランザクション処理
96 ポイントクラウド符号化
100 ポイントクラウド符号化システム
102 コンピュータ
104 プロセッサ
106 データストレージデバイス
108 ソフトウェアプログラム
110 通信ネットワーク
112 データベース
114 サーバコンピュータ
116 ポイントクラウド符号化プログラム
200A オクツリー構造
200B オクツリー分割
200C クアッドツリー分割の図
200D バイナリツリー分割の図
202 2つの階層からなるオクツリー分割
204 占有コード
300 シンタックス要素
400 方法
500 内部コンポーネント及び外部コンポーネントを示すブロック図
600 クラウド・コンピューティング環境
700 機能抽象化レイヤのセット
800A 内部コンポーネント
800B 内部コンポーネント
820 プロセッサ
822 コンピュータ可読RAM
824 コンピュータ可読ROM
826 バス
828 オペレーティングシステム
830 有形のコンピュータ可読ストレージデバイス
832 R/Wドライブ又はR/Wインターフェース
836 ネットワークアダプタ又はネットワークインターフェース
840 デバイスドライバ
900A 外部コンポーネント
900B 外部コンポーネント
920 コンピュータ・ディスプレイ・モニタ
930 キーボード
934 コンピュータマウス
936 有形のポータブルコンピュータ可読ストレージデバイス

Claims (15)

  1. ポイントクラウドに対応するデータを受信するステップと、
    前記受信されたデータに関連付けられたコンテキストの数を、前記ポイントクラウドに対する予測ツリーベースの符号化のシンタックス要素に対応する、コンテキスト配列のサイズを縮小することに基づいて削減するステップであって、前記コンテキスト配列は前記受信されたデータに関連付けられた前記シンタックス要素を符号化するのに必要なコンテキストの総数を示す3次元配列であり、前記コンテキスト配列の少なくとも1つの次元のサイズを縮小することを含むステップと、
    前記コンテキストが削減された数に基づいて、前記ポイントクラウドに対応する前記データを復号するステップと、を含む、
    プロセッサによって実行可能な、ポイントクラウドデータを復号する方法。
  2. 前記コンテキスト配列の前記サイズが、前記コンテキストの有効ビット値の数を削減することに基づいて、縮小される、請求項1に記載の方法。
  3. 前記ポイントクラウドに関連付けられた現在のノードが、3つのジオメトリ位置残差コンポーネントを含む、請求項1に記載の方法。
  4. 前記コンテキスト配列の前記サイズが、同じコンテキストを共有している前記3つのジオメトリ位置残差コンポーネントに基づいて縮小される、請求項3に記載の方法。
  5. 前記コンテキスト配列の前記サイズが、前記コンテキストの有効インデックスの数を削減することに基づいて、縮小される、請求項1に記載の方法。
  6. 前記データが、前記ポイントクラウドに関連付けられた最大符号化単位を復号するために、予測ツリーを使用することに基づいて復号される、請求項1に記載の方法。
  7. 前記最大符号化単位をより小さなポイントクラウドとして扱うことに基づいて、予測ツリーベースの符号化によって前記最大符号化単位内の複数のポイントを復号するステップをさらに含む、請求項6に記載の方法。
  8. ポイントクラウドデータを復号するコンピュータシステムであって、前記コンピュータシステムが、
    コンピュータプログラムコードを記憶するように構成された1つ又は複数の非一時的なコンピュータ可読ストレージ媒体と、
    前記コンピュータプログラムコードにアクセスし、かつ前記コンピュータプログラムコードによって命令された通りに動作するように構成された、1つ又は複数のコンピュータプロセッサであって、前記コンピュータプログラムコードが、
    前記1つ又は複数のコンピュータプロセッサに、ポイントクラウドに対応するデータを受信させるように構成された受信コード、
    前記1つ又は複数のコンピュータプロセッサに、前記受信されたデータに関連付けられたコンテキストの数を、前記ポイントクラウドに対する予測ツリーベースの符号化のシンタックス要素に対応する、コンテキスト配列のサイズを縮小することに基づいて削減させることであって、前記コンテキスト配列は前記受信されたデータに関連付けられた前記シンタックス要素を符号化するのに必要なコンテキストの総数を示す3次元配列であり、前記コンテキスト配列の少なくとも1つの次元のサイズを縮小することを含むように構成された削減コード、及び
    前記1つ又は複数のコンピュータプロセッサに、前記コンテキストが削減された数に基づいて、前記ポイントクラウドに対応する前記データを復号させるように構成された復号コードを含む、コンピュータプロセッサと、を備える、
    コンピュータシステム。
  9. 前記コンテキスト配列の前記サイズが、前記コンテキストの有効ビット値の数を削減することに基づいて、縮小される、請求項8に記載のコンピュータシステム。
  10. 前記ポイントクラウドに関連付けられた現在のノードが、3つのジオメトリ位置残差コンポーネントを含む、請求項8に記載のコンピュータシステム。
  11. 前記コンテキスト配列の前記サイズが、同じコンテキストを共有している前記3つのジオメトリ位置残差コンポーネントに基づいて縮小される、請求項10に記載のコンピュータシステム。
  12. 前記コンテキスト配列の前記サイズが、前記コンテキストの有効インデックスの数を削減することに基づいて、縮小される、請求項8に記載のコンピュータシステム。
  13. 前記データが、前記ポイントクラウドに関連付けられた最大符号化単位を復号するために、予測ツリーを使用することに基づいて復号される、請求項8に記載のコンピュータシステム。
  14. 前記最大符号化単位をより小さなポイントクラウドとして扱うことに基づいて、前記1つ又は複数のコンピュータプロセッサに、予測ツリーベースの符号化によって前記最大符号化単位内の複数のポイントを復号させるように構成された復号コードをさらに含む、請求項13に記載のコンピュータシステム。
  15. ポイントクラウドデータを復号するコンピュータプログラムであって、前記コンピュータプログラムが、1つ又は複数のコンピュータプロセッサに、
    請求項1から6のいずれか一項に記載の方法を実行させる
    ように構成されている、コンピュータプログラム。
JP2022529904A 2020-08-18 2021-06-07 ポイントクラウドデータを復号する方法、コンピュータシステム、およびコンピュータプログラム Active JP7438351B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063067286P 2020-08-18 2020-08-18
US63/067,286 2020-08-18
US17/324,627 2021-05-19
US17/324,627 US11941856B2 (en) 2020-08-18 2021-05-19 Predictive tree-based geometry coding for a point cloud
PCT/US2021/036144 WO2022039819A1 (en) 2020-08-18 2021-06-07 Predictive tree-based geometry coding for a point cloud

Publications (2)

Publication Number Publication Date
JP2023503593A JP2023503593A (ja) 2023-01-31
JP7438351B2 true JP7438351B2 (ja) 2024-02-26

Family

ID=80269686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022529904A Active JP7438351B2 (ja) 2020-08-18 2021-06-07 ポイントクラウドデータを復号する方法、コンピュータシステム、およびコンピュータプログラム

Country Status (6)

Country Link
US (2) US11941856B2 (ja)
EP (1) EP4032067A4 (ja)
JP (1) JP7438351B2 (ja)
KR (1) KR20220046681A (ja)
CN (1) CN114641804A (ja)
WO (1) WO2022039819A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023244585A1 (en) * 2022-06-13 2023-12-21 Innopeak Technology, Inc. Geometry point cloud coding system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019195922A1 (en) 2018-04-09 2019-10-17 Blackberry Limited Methods and devices for predictive coding of point clouds
WO2019195920A1 (en) 2018-04-09 2019-10-17 Blackberry Limited Methods and devices for binary entropy coding of point clouds
WO2020013249A1 (ja) 2018-07-13 2020-01-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111095929A (zh) 2017-09-14 2020-05-01 苹果公司 点云压缩
US20200153885A1 (en) 2018-10-01 2020-05-14 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and/or a method for receiving point cloud data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG115543A1 (en) 2003-05-17 2005-10-28 St Microelectronics Asia Method and apparatus for compensating for chrominance saturation
US10136143B2 (en) 2012-12-07 2018-11-20 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
WO2016115981A1 (en) 2015-01-22 2016-07-28 Mediatek Singapore Pte. Ltd. Method of video coding for chroma components
EP3410719A1 (en) * 2017-05-30 2018-12-05 Thomson Licensing Method and device for picture encoding and decoding
US10789733B2 (en) 2017-11-22 2020-09-29 Apple Inc. Point cloud compression with multi-layer projection
US10607373B2 (en) * 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
EP3751520A4 (en) * 2018-02-08 2021-03-31 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND TRIDIMENSIONAL DATA DECODING DEVICE
EP3779886A4 (en) * 2018-04-10 2021-06-16 Panasonic Intellectual Property Corporation of America TRIMDIMENSIONAL DATA CODING AND DECODING PROCESS AND TRIDMENSIONAL DATA ENCODING AND DECODING DEVICE
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
AU2019256021B2 (en) * 2018-04-19 2024-05-16 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3816939A4 (en) * 2018-06-15 2021-06-30 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND TRIDIMENSIONAL DATA DECODING DEVICE
US11017566B1 (en) * 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11012713B2 (en) * 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
CN114503164A (zh) * 2019-10-07 2022-05-13 华为技术有限公司 基于视频的点云压缩(v-pcc)分量同步
US20230105931A1 (en) * 2021-10-04 2023-04-06 Qualcomm Incorporated Inter prediction coding with radius interpolation for predictive geometry-based point cloud compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111095929A (zh) 2017-09-14 2020-05-01 苹果公司 点云压缩
WO2019195922A1 (en) 2018-04-09 2019-10-17 Blackberry Limited Methods and devices for predictive coding of point clouds
WO2019195920A1 (en) 2018-04-09 2019-10-17 Blackberry Limited Methods and devices for binary entropy coding of point clouds
WO2020013249A1 (ja) 2018-07-13 2020-01-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20200153885A1 (en) 2018-10-01 2020-05-14 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and/or a method for receiving point cloud data

Also Published As

Publication number Publication date
EP4032067A1 (en) 2022-07-27
US20220058837A1 (en) 2022-02-24
KR20220046681A (ko) 2022-04-14
WO2022039819A1 (en) 2022-02-24
CN114641804A (zh) 2022-06-17
US20240177356A1 (en) 2024-05-30
JP2023503593A (ja) 2023-01-31
US11941856B2 (en) 2024-03-26
EP4032067A4 (en) 2023-01-11

Similar Documents

Publication Publication Date Title
US11615556B2 (en) Context modeling of occupancy coding for point cloud coding
JP7345652B2 (ja) 点群コーディングのための幾何学的占有情報へのハッシュベースのアクセス
JP7395740B2 (ja) ポイントクラウドコーディングのためのハッシュベースの属性予測
US20240177356A1 (en) Improvement on predictive tree-based geometry coding for a point cloud
US20240013445A1 (en) Coding of multiple-component attributes for point cloud coding
CA3136030C (en) Context modeling of occupancy coding for point cloud coding
US11893691B2 (en) Point cloud geometry upsampling
RU2817735C1 (ru) Контекстное моделирование кодирования занятости для кодирования облака точек

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240213

R150 Certificate of patent or registration of utility model

Ref document number: 7438351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150