IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7330291点群コーディング用の属性をコーディングする方法
<>
  • 特許-点群コーディング用の属性をコーディングする方法 図1
  • 特許-点群コーディング用の属性をコーディングする方法 図2
  • 特許-点群コーディング用の属性をコーディングする方法 図3
  • 特許-点群コーディング用の属性をコーディングする方法 図4
  • 特許-点群コーディング用の属性をコーディングする方法 図5
  • 特許-点群コーディング用の属性をコーディングする方法 図6
  • 特許-点群コーディング用の属性をコーディングする方法 図7
  • 特許-点群コーディング用の属性をコーディングする方法 図8
  • 特許-点群コーディング用の属性をコーディングする方法 図9
  • 特許-点群コーディング用の属性をコーディングする方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-10
(45)【発行日】2023-08-21
(54)【発明の名称】点群コーディング用の属性をコーディングする方法
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230814BHJP
   H04N 19/597 20140101ALI20230814BHJP
   H04N 19/96 20140101ALI20230814BHJP
【FI】
H04N19/70
H04N19/597
H04N19/96
【請求項の数】 16
(21)【出願番号】P 2021563220
(86)(22)【出願日】2021-02-15
(65)【公表番号】
(43)【公表日】2022-07-01
(86)【国際出願番号】 US2021018105
(87)【国際公開番号】W WO2021202003
(87)【国際公開日】2021-10-07
【審査請求日】2021-10-25
(31)【優先権主張番号】63/002,316
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/139,177
(32)【優先日】2020-12-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ガオ,ウエン
(72)【発明者】
【氏名】ジャン,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】富樫 明
(56)【参考文献】
【文献】国際公開第2019/240167(WO,A1)
【文献】米国特許出願公開第2020/0021844(US,A1)
【文献】国際公開第2020/005363(WO,A1)
【文献】米国特許出願公開第2007/0040711(US,A1)
【文献】国際公開第2020/054739(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
復号化方法であって:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;
点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成するステップであって、前記プロセスは、前記ビットストリームからの前記点群の前記バウンダリ・ボックスのディメンジョンを解析し;前記点群の前記バウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;前記点群の前記バウンダリ・ボックスの前記ディメンジョンを逆量子化することを含む、ステップ;
前記圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップであって、前記属性ベースの予測子又は前記幾何学ベースの予測子を使用するかどうかは、前記属性ベースの予測子及び前記幾何学ベースの予測子の各々について決定されたチャンク当たりの残差の平均に基づいて決定される、ステップ
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は前記属性ベースの予測子であると決定するステップ;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、前記復号化のための予測子は前記幾何学ベースの予測子であると決定するステップ;及び
前記決定された予測子を使用して、前記点群の前記占有コードを含む前記バウンダリ・ボックスの前記逆量子化されたディメンジョンに従って前記点群の前記バウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップ;
を含む方法。
【請求項2】
前記属性ベースの予測子又は前記幾何学ベースの予測子を点の幾何学的な位置に基づいて候補リスト内で選択するステップ;
を更に含む請求項1に記載の方法。
【請求項3】
前記圧縮されたビデオ・データは前記属性ベースの予測子又は前記幾何学ベースの予測子を使用することによって予測されたかどうかを、前記ビットストリームのシンタックスにおけるシグナリングに基づいて判定するステップ;
を更に含む請求項1又は2に記載の方法。
【請求項4】
記復号化のための予測子として決定される前記幾何学ベースの予測子は、前記点群中の点の属性値と候補リスト内の点の属性値との間のpノルム演算に基づいて決定される、請求項1-3のうちの何れか1項に記載の方法。
【請求項5】
前記復号化のための予測子は固定長コードに二進化され、個々のビットはコンテキスト・モデリングで符号化された算術コードである、請求項1-4のうちの何れか1項に記載の方法。
【請求項6】
前記復号化のための予測子は、前記復号化のための予測子の最大値として設定される最大値を有するトランケーテッド・ユーナリ(TU)コードに二進化される、請求項1-4のうちの何れか1項に記載の方法。
【請求項7】
前記点群の属性は1つ以上の色又は反射率を含む、請求項1-6のうちの何れか1項に記載の方法。
【請求項8】
前記属性ベースの予測子及び前記幾何学ベースの予測子の各々について、チャンク当たりの残差の平均を決定するステップ;及び
前記属性ベースの予測子又は前記幾何学ベースの予測子を使用するかどうかを、前記残差の決定された平均に基づいて決定するステップ;
を更に含む請求項1-7のうちの何れか1項に記載の方法。
【請求項9】
残差又は変換された残差がトランケーテッド・ユーナリ(TU)コード最大値より小さい場合に、前記符号化のために最大値のTUコードを使用するステップ;及び
前記残差又は前記変換された残差が前記TUコード最大値より小さくない場合に、前記符号化のために指数コードを使用するステップ;
を更に含む請求項1-4のうちの何れか1項に記載の方法。
【請求項10】
前記指数コードは、次数0の指数ゴロム・コードである、請求項9に記載の方法。
【請求項11】
前記TUコードのビットに対して、コンテキスト・ベースの算術コードを使用するステップ;及び
前記指数コードのビットに対して、バイパス・コーディングを使用するステップ;
を更に含む請求項9に記載の方法。
【請求項12】
前記チャンク当たりの残差の平均が閾値より大きい場合に、前記属性ベースの予測子使用される、請求項1-11のうちの何れか1項に記載の方法。
【請求項13】
最良の予測候補がレート&歪関数の最小コストをもたらすレート歪最適化法に基づいて、最良の予測候補を選択するステップ;
を更に含む請求項1-12のうちの何れか1項に記載の方法。
【請求項14】
構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び
前記表示可能な画像がディスプレイによって表示されるように制御を行うステップ;
を更に含む請求項1-13のうちの何れか1項に記載の方法。
【請求項15】
ビデオ・データを復号化するコンピュータ・システムであって、前記コンピュータ・システムは:
コンピュータ・プログラム・コードを記憶するように構成された1つ以上のコンピュータ読み取り可能な非一時的な記憶媒体;及び
前記コンピュータ・プログラム・コードにアクセスし、前記コンピュータ・プログラム・コードによって指示されたように動作するように構成される1つ以上のコンピュータ・プロセッサ;
を含み、前記コンピュータ・プログラム・コードは、請求項1-14のうちの何れか1項に記載の方法を前記1つ以上のコンピュータ・プロセッサに実行させる、コンピュータ・システム。
【請求項16】
請求項1-14のうちの何れか1項に記載の方法をプロセッサに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
優先権情報
本願は、2020年3月30日付で出願された米国仮出願第63/002,316号、及び2020年12月31日付で出願された米国出願第17/139,177号による優先権の利益を主張しており、それらの出願は全体的に参照により本願に援用される。
【0002】
分野
本開示は、一般にデータ処理の分野に関連し、特に、予測子の選択及び残差のエントロピー符号化を含む属性コーディングの方法を含むポイント・クラウド(点群)コーディング(Point Cloud Coding,POC)に関連するものが開示されている。
【背景技術】
【0003】
点群は、三次元(3D)形状を表すことが可能な空間内のデータ点の集合である。近年、点群技術は広く使用されている。例えば、点群技術は、自動運転車両における物体の検出及び位置特定のため、地理情報システム(GIS)におけるマッピングのため、文化遺産の対象及びコレクション等を視覚化及び保管する文化遺産などのために使用される可能性がある。
【0004】
点群は高次元データ点のセットを含み、各々が3D位置情報や、色、反射率などのような追加的な属性を含む。それらは、複数のカメラ及び奥行きセンサー、又はライダー(Light Detection and Ranging,Lidar)を様々なセットアップで使用して捕捉することが可能であり、元のシーンを現実味を帯びて表現するために数千ないし数十億の点で構成される可能性がある。
【0005】
圧縮技術は、より高速な伝送及び/又はストレージの削減のために、点群を表現するのに必要なデータの量を減らすことを必要とする。
【発明の概要】
【0006】
実施形態は、ビデオ・データを符号化及び/又は復号化するための方法、システム、及び非一時的なコンピュータ読み取り可能な媒体に関連する。一形態によれば、ビデオ・データを復号化する方法が提供される。本方法は、点群占有コード(point cloud occupancy codes)を含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョン(dequantized dimensions)を或るプロセスにより生成するステップであって、そのプロセスは、ビットストリームからの点群のバウンダリ・ボックスのディメンジョン又は寸法を解析し;点群のバウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群のバウンダリ・ボックスのディメンジョンを逆量子化することを含む、ステップ;圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は属性ベースの予測子であると決定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は幾何学ベースの予測子であると決定するステップ;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップを含むことが可能である。
【0007】
本方法は、属性ベースの予測子又は幾何学ベースの予測子を点の幾何学的な位置に基づいて候補リスト内で選択するステップを更に含む可能性がある。
【0008】
本方法は、圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを、ビットストリームのシンタックスにおけるシグナリングに基づいて判定するステップを更に含む可能性がある。
【0009】
本方法は、占有コードの属性がスカラー値である場合に、復号化のための予測子は幾何学ベースの予測子であると決定するステップを更に含む可能性がある。
【0010】
復号化のための予測子は固定長コードに二進化される可能性があり、個々のビットはコンテキスト・モデリングで符号化された算術コードである。
【0011】
復号化のための予測子は、復号化のための予測子の最大値として設定される最大値を有するトランケーテッド・ユーナリ(TU)コードに二進化される可能性がある。
【0012】
点群の属性は1つ以上の色又は反射率を含む可能性がある。
【0013】
本方法は、属性ベースの予測子及び幾何学ベースの予測子の各々について、チャンク当たりの残差の平均を決定するステップ;及び属性ベースの予測子又は幾何学ベースの予測子を使用するかどうかを、残差の決定された平均に基づいて決定するステップを更に含む可能性がある。
【0014】
本方法は、残差又は変換された残差がトランケーテッド・ユーナリ(truncated unary,TU)コードの最大値より小さい場合に、符号化のために最大値のTUコードを使用するステップ;及び残差又は変換された残差がTUコード最大値より小さくない場合に、符号化のために指数コードを使用するステップを更に含む可能性がある。
【0015】
指数コードは、次数0の指数ゴロム・コード(Exponential Golomb code)である可能性がある。
【0016】
本方法は、TUコードのビットに対して、コンテキスト・ベースの算術コードを使用するステップ;及び指数コードのビットに対して、バイパス・コーディングを使用するステップを更に含む可能性がある。
【0017】
本方法は、幾何学ベースの予測子とともに始まり;ある期間の後に、点のチャンクを閾値と比較し;点のチャンクが閾値より大きい場合に、属性ベースの予測子を使用するステップを更に含む可能性がある。
【0018】
本方法は、最良の予測候補がレート&歪関数の最小コストをもたらすレート歪最適化法に基づいて、最良の予測候補を選択するステップを更に含む可能性がある。
【0019】
本方法は、構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び表示可能な画像がディスプレイによって表示されるように制御を行うステップを更に含む可能性がある。
【0020】
実施形態によれば、ビデオ・データを復号化するコンピュータ・システムが提供され、コンピュータ・システムは、コンピュータ・プログラム・コードを記憶するように構成された1つ以上のコンピュータ読み取り可能な非一時的な記憶媒体;及びコンピュータ・プログラム・コードにアクセスし、コンピュータ・プログラム・コードによって指示されたように動作するように構成される1つ以上のコンピュータ・プロセッサを含み、コンピュータ・プログラム・コードは:点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信することを1つ以上のコンピュータ・プロセッサに行わせるように構成された受信コード;
点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成することを1つ以上のコンピュータ・プロセッサに行わせるように構成された逆量子化コードであって、プロセスは、ビットストリームからの点群のバウンダリ・ボックスのディメンジョンを解析し;点群のバウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群のバウンダリ・ボックスのディメンジョンを逆量子化することを含む、逆量子化コード;圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定することを1つ以上のコンピュータ・プロセッサに行わせるように構成された判定コード;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は属性ベースの予測子であると決定し;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は幾何学ベースの予測子であると決定することを1つ以上のコンピュータ・プロセッサに行わせるように構成された予測子選択コード;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築することを1つ以上のコンピュータ・プロセッサに行わせるように構成されたオクトツリー構築コードを含む。
【0021】
予測子選択コードは、圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを、ビットストリームのシンタックスにおけるシグナリングに基づいて判定することを1つ以上のコンピュータ・プロセッサに行わせるように更に構成されていてもよい。
【0022】
コンピュータ・システムは、ディスプレイを更に含む可能性があり、コンピュータ・プログラム・コードは、構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成し、表示可能な画像がディスプレイによって表示されるように制御を行うことを1つ以上のコンピュータ・プロセッサに行わせるように構成された表示コードを更に含む。
【0023】
点群の属性は1つ以上の色又は反射率を含む可能性がある。
【0024】
実施形態によれば、ビデオ・データを復号化するコンピュータ・プログラムを記憶した非一時的なコンピュータ読み取り可能な記憶媒体が含まれ、コンピュータ・プログラムは、1つ以上のコンピュータ・プロセッサに:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成するステップであって、プロセスは、ビットストリームからの点群のバウンダリ・ボックスのディメンジョンを解析し;点群のバウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群のバウンダリ・ボックスのディメンジョンを逆量子化することを含む、ステップ;圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は属性ベースの予測子であると決定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は幾何学ベースの予測子であると決定するステップ;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップを行わせる。
【0025】
非一時的なコンピュータ読み取り可能な記憶媒体のコンピュータ・プログラムは、1つ以上のコンピュータ・プロセッサに:構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び表示可能な画像がディスプレイによって表示されるように制御を行うステップを行わせるように構成されてもよい。
【図面の簡単な説明】
【0026】
これら及び他の目的、特徴及び利点は、添付の図面に関連して読み取られる例示的な実施形態の以下の詳細な説明から明らかになるであろう。詳細な説明に関連して当業者の理解を容易にする上で図示が明確であるように、図面の種々の特徴は寸法どおりではない。
【0027】
図1】実施形態によるオクトツリー・パーティションの例を示す。
【0028】
図2】2レベルのオクトツリー・パーティション、ツリー構造、及び対応する占有コードの例を示す。
【0029】
図3】T個の点の第1期間における統計量の収集と適応パラメータの決定を示す。
【0030】
図4】全てのチャンクにおける統計量の収集と適応パラメータの決定、実施形態の概念の例示として示す。
【0031】
図5】ビデオ・データを復号化する方法のステップを示す動作フローチャートを示す図が描かれている。
【0032】
図6】実施形態によるビデオ・データを符号化及び/又は復号化するためのビデオ符号化システムを示すネットワーク化されたコンピュータ環境の機能ブロック図を示す。
【0033】
図7】実施形態によるストリーミング環境/ストリーミング・システムにおけるデコーダの配置を示す。
【0034】
図8】実施形態によるデコーダ(例えば、ビデオ・デコーダ)の機能ブロック図を示す。
【0035】
図9】実施形態によるビデオ・エンコーダであるとすることが可能な、ソース・コーダを含む符号化システムの機能ブロック図を示す。
【0036】
図10】開示される対象事項の特定の実施形態を実施するのに適したコンピュータ・システム700を示す。
【発明を実施するための形態】
【0037】
クレームされる構造及び方法の詳細な実施形態が本願で開示されている:しかしながら、開示された実施形態は、クレームされる構造及び方法のうちの、種々の形態で実施され得る単なる例示に過ぎないことを理解することができる。また、これらの構造及び方法は、多くの異なる形態で具体化することが可能であり、本願で説明される例示的な実施形態に限定されるように解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が十分であり且つ完全であって意図を当業者に完全に伝えるものであるように提供される。本説明では、周知の特徴及び技術の詳細は、提示される実施形態を不必要に曖昧にしてしまうことを避けるために省略されている場合がある。
【0038】
実施形態は、一般に、データ処理の分野、特に、ビデオ符号化及び/又は復号化に関連する。以下に説明される例示的な実施形態は、特に、ビデオ・データを符号化及び/又は復号化するためのシステム、方法及びコンピュータ・プログラムを提供する。
【0039】
種々の実施形態による方法、装置(システム)、及びコンピュータ読み取り可能な媒体のフローチャート図及び/又はブロック図を参照して、複数の側面が本願で説明される。フローチャート図及び/又はブロック図の各ブロック、フローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ読み取り可能なプログラム命令によって実現できることが理解されるであろう。
【0040】
図6をここで参照すると、実施形態に従ってビデオ・データを符号化及び/又は復号化するためのビデオ・コーディング・システム100(以下、「システム」という)を示すネットワーク化されたコンピュータ環境の機能ブロック図が示されている。図6は、1つの実装の例を提供しているに過ぎず、様々な実施形態が実装され得る環境に関する如何なる制限も意味していないことは理解されるべきである。図示された環境に対する多くの修正が、設計及び実装の要件に基づいて行われてもよい。
【0041】
図6に示されるように、本開示の実施形態による通信システム(100)は、ネットワーク(150)を介して互いに接続された少なくとも2つの端末(110,120)を含む可能性がある。データの一方向伝送の場合、第1端末(110)は、ネットワーク(150)を介する他の端末(120)への伝送のために、ローカルな位置でビデオ・データをコーディングすることができる。第2端末(120)は、他の端末のコーディングされたビデオ・データをネットワーク(150)から受信し、コーディングされたデータを復号化して、復元されたビデオ・データを表示することができる。一方向性データ伝送は、媒体サービング・アプリケーション等において一般的なものであってもよい。
【0042】
図6は、例えば、ビデオ・カンファレンス中に発生する可能性があるコーディングされたビデオの双方向伝送をサポートするように提供される第2ペアの端末(130,140)を示す。データの双方向伝送に関し、各端末(130,140)は、ネットワーク(150)を介して他の端末へ伝送するために、ローカルな場所で捕捉されたビデオ・データをコーディングすることができる。各端末(130,140)はまた、他の端末によって送信されたコーディングされたビデオ・データを受信することが可能であり、コーディングされたデータを復号化し、復元されたビデオ・データを、ローカルなディスプレイ・デバイスで表示することが可能である。
【0043】
図1では、端末(110-140)は、ラップトップ110、サーバー120、及びスマートフォン130,140として示されているかもしれないが、本開示の原理はそのようには限定されない。本開示の実施形態は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤ、及び/又は専用のビデオ・カンファレンス装置を含むがこれらに限定されない他の装置とのアプリケーションを見出している。ネットワーク(150)は、例えば有線及び/又は無線通信ネットワークを含む、コーディングされたビデオ・データを端末(110-140)の間で運ぶ任意数のネットワークを表現する。通信ネットワーク(150)は、回線交換及び/又はパケット交換型のチャネルでデータを交換することができる。代表的なネットワークは、テレコミュニケーション・ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、及び/又はインターネットを含む。本開示の目的に関し、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下において説明されない限り、本開示の動作にとって重要ではない可能性がある。
【0044】
図7は、開示される対象事項の適用例として、ストリーミング環境/ストリーミング・システム200におけるデコーダ210の配置を示す。デコーダ210は、図8及び図9のデコーダ433を参照しながら更に説明される。デコーダ210は、図3のデコーダ210又は図9のデコーダ433に対応する可能性がある。
【0045】
開示される対象事項は、例えば、ビデオ・カンファレンス、デジタルTV、圧縮されたビデオのデジタル・メディア(CD、DVD、メモリ・スティック等を含む)への記憶などを含む、ビデオの利用が可能な他のアプリケーションにも等しく適用することが可能である。
【0046】
図7に示されるように、ストリーミング・システム(200)は、ビデオ・ソース(201)、例えばデジタル・カメラを含むことが可能であり、例えば非圧縮のビデオ・サンプル・ストリーム(202)を生成することが可能なキャプチャ・サブシステム(213)を含んでもよい。符号化されたビデオ・ビットストリームと比較した場合に多くのデータ量を強調するために太い線として描かれているサンプル・ストリーム(202)は、カメラ(201)に結合されたソース・エンコーダ(203)によって処理されることが可能である。ソース・エンコーダ(203)は、ハードウェア(例えば、プロセッサ又は回路とメモリ)、ソフトウェア、又はそれらの組み合わせを含み、以下で詳細に説明されるような開示される対象事項の態様を動作可能にする又は実現することが可能である。サンプル・ストリームと比較した場合に少ないデータ量を強調するために細い線として描かれている符号化されたビデオ・ビットストリーム(204)は、将来の使用のためにストリーミング・サーバー(205)に記憶されることが可能である。1つ以上のストリーミング・クライアント(206,208)は、ストリーミング・サーバー(205)にアクセスして、符号化されたビデオ・ビットストリーム(204)のコピー(207,209)を取り出すことができる。クライアント(206)はビデオ・デコーダ(210)を含むことが可能であり、ビデオ・デコーダ(210)は、符号化されたビデオ・ビットストリーム(207)の到来するコピー(207)を復号化することが可能であり、ディスプレイ(212)又は他のレンダリング・デバイスでレンダリングすることが可能な出力ビデオ・サンプル・ストリーム(211)を生成することができる。
【0047】
図8は本開示の実施形態によるデコーダ(210)(例えば、ビデオ・デコーダ)の機能ブロック図を示す。図8に示されるように、受信機(310)は、デコーダ(210)によって復号化されるべき1つ以上のコーディングされたビデオ・シーケンスを受信することができる。同じ又は別の実施形態において、各々のコーディングされたビデオ・シーケンスの復号化が、他のコーディングされたビデオ・シーケンスから独立している場合には、一度に1つのコーディングされたビデオ・シーケンスを受信することが可能である。コーディングされたビデオ・シーケンスは、チャネル(312)から受信することが可能であり、このチャネルは、符号化されたビデオ・データを記憶するストレージ・デバイスへのハードウェア/ソフトウェア・リンクであってもよい。受信機(310)は、符号化されたビデオ・データを、他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリームとともに受信することが可能であり、これらのデータは、それぞれエンティティ(不図示)を使用して個々に転送されることが可能である。受信機(310)は、コーディングされたビデオ・シーケンスを他のデータから分離することができる。ネットワーク・ジッタに対処するために、バッファ・メモリ(315)は、受信機(310)とエントロピー・デコーダ/パーサー(320)(以後「パーサー」と言及する)との間に結合されてもよい。受信機(310)が、十分な帯域幅及び制御可能性を有するストア/フォワード・デバイスから、又は同期ネットワークから、データを受信している場合、バッファ(315)は必要とされないかもしれないし、或いは小さくすることが可能である。インターネットのようなベスト・エフォート・パケット・ネットワークでの使用のために、バッファ(315)が必要とされるかもしれず、それは比較的大きい可能性があり、有利なことに適応的なサイズであるとすることが可能である。
【0048】
ビデオ・デコーダ(210)は、エントロピー・コーディングされたビデオ・シーケンスからシンボル(321)を再構成するためにパーサー(320)を含むことができる。これらのシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報、及び可能性として図7,8に示されるような、デコーダの不可欠な部分ではないがそれに結合されることが可能なディスプレイ(212)のようなレンダリング・デバイスを制御するための情報を含む。レンダリング・デバイスの制御情報は、サプルメンタル・エンハンスメント情報(SEIメッセージ)又はビデオ・ユーザビリティ情報(VUI)パラメータ・セット・フラグメント(不図示)の形態におけるものであってもよい。パーサー(320)は、受信されるコーディングされたビデオ・シーケンスを解析/エントロピー復号化することができる。コーディングされるビデオ・シーケンスのコーディングは、ビデオ・コーディング技術又は規格に従うことが可能であり、可変長コーディング、ハフマン・コーディング、コンテキストの影響を伴う又は伴わない算術コーディング等を含む、当業者に周知の原理に従うことが可能である。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオ・デコーダ内のピクセルのサブグループの少なくとも1つに対するサブグループ・パラメータのセットを、コーディングされたビデオ・シーケンスから抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディング・ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)等を含むことが可能である。エントロピー・デコーダ/パーサー(320)はまた、変換係数、量子化パラメータ値、動きベクトル等のような情報を、コーディングされたビデオ・シーケンス情報から取り出すことも可能である。
【0049】
パーサー(320)は、シンボル(321)を生成するために、バッファ(315)から受信したビデオ・シーケンスに対してエントロピー復号化/解析処理を実行することが可能である。シンボル(321)の再構成は、コーディングされたビデオ・ピクチャ又はその部分のタイプ(例えば、インター及びイントラ・ピクチャ、インター及びイントラ・ブロック)及び他の要因に応じて、複数の異なるユニットを含むことが可能である。どのユニットがどのように包含されるかは、コーディングされたビデオ・シーケンスからパーサー(320)によって解析されたサブグループ制御情報によって制御されることが可能である。パーサー(320)とそれ以降の複数ユニットとの間のこのようなサブグループ制御情報の流れは、明確性のために描かれていない。
【0050】
デコーダ(210)は、既に述べた機能ブロックを超えて、以下に説明するような複数の機能ユニットに概念的に細分化されることが可能である。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることが可能である。しかしながら、開示される対象事項を説明する目的に関し、以下の機能ユニットへの概念的な細分化は適切なことである。
【0051】
第1ユニットは、スケーラ/逆変換ユニット(351)であってもよい。スケーラ/逆変換ユニット(351)は、量子化された変換係数だけでなく制御情報(使用する変換、ブロック・サイズ、量子化因子、量子化スケーリング行列などを含む)も、パーサー(320)からシンボル(321)として受信することができる。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力されることが可能なサンプル値を含むブロックを出力することが可能である。
【0052】
場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ・コーディングされたブロックに関連する可能性があり、そのブロックは、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックである。このような予測情報は、イントラ・ピクチャ予測ユニット(352)によって提供することが可能である。場合によっては、イントラ・ピクチャ予測ユニット(352)は、現在の(部分的に再構成された)ピクチャ(358)から取り出された既に再構成された周囲の情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によっては、サンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供されるような出力サンプル情報に加える。
【0053】
それ以外の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インター・コーディングされたブロック、動き補償される可能性のあるブロックに関連する可能性がある。このような場合において、動き補償予測ユニット(353)は、予測に使用されるサンプルを取り出すために、参照ピクチャ・メモリ(357)にアクセスすることが可能である。ブロックに関連するシンボル(321)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)によって、スケーラ/逆変換ユニットの出力に加えられ(この場合は、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償予測ユニットが予測サンプルをフェッチする元である参照ピクチャ・メモリ内のアドレスは、例えばX、Y、及び参照ピクチャ成分を有することが可能なシンボル(321)の形態で、動き補償ユニットにとって利用可能な動きベクトルによって制御されることが可能である。また、動き補償は、サブ・サンプルの正確な動きベクトルが使用される場合に参照ピクチャ・メモリから取り出されるようなサンプル値の補間、動きベクトル予測メカニズム等を含むことが可能である。
【0054】
アグリゲータ(355)の出力サンプルは、ループ・フィルタ・ユニット(356)内の様々なループ・フィルタリング技術の影響を受けることが可能である。ビデオ圧縮技術はループ内フィルタ技術を含むことが可能であり、その技術は、コーディングされたビデオ・シーケンスに含まれるパラメータであって、パーサー(320)からのシンボル(321)としてループ・フィルタ・ユニット(356)にとって利用可能にされるパラメータによって制御されるが、コーディングされたピクチャ又はコーディングされたビデオ・シーケンスの(復号化の順番で)以前の部分の復号化の間に取得されたメタ情報に応答することが可能であるとともに、以前に再構成されたループ・フィルタリングされたサンプル値にも応じることが可能である。
【0055】
ループ・フィルタ・ユニット(356)の出力は、レンダリング・デバイス(212)に出力できるだけでなく、将来のインター・ピクチャ予測に使用するために参照ピクチャ・メモリ(357)に格納することも可能なサンプル・ストリームであるとすることが可能である。
【0056】
所定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用することが可能である。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサー(320)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(358)は、参照ピクチャ・バッファ(357)の一部となることが可能であり、新しい現在のピクチャ・メモリは、以後のコーディングされたピクチャの再構成を開始する前に、再割り当てされることが可能である。
【0057】
ビデオ・デコーダ(210)は、ITU-T Rec.H.265のような規格で文書化される可能性のある所定のビデオ圧縮技術に従って復号化動作を実行することが可能である。コーディングされたビデオ・シーケンスは、コーディングされたビデオ・シーケンスが、ビデオ圧縮技術又は規格のシンタックスに、ビデオ圧縮技術文書又は規格において及び具体的にはそのプロファイル・ドキュメントで指定されているように従うという意味で、使用されているビデオ圧縮技術又は規格によって指定されたシンタックスに準拠することが可能である。また、コンプライアンスのために必要なことは、コーディングされたビデオ・シーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義される範囲内にあることである。場合によっては、そのレベルは、最大ピクチャ・サイズ、最大フレーム・レート、最大再構成サンプル・レート(例えば、毎秒当たりのメガサンプルで測定される)、及び/又は最大参照ピクチャ・サイズ等を制限する。レベルによって設定される限界は、場合によっては、コーディングされたビデオ・シーケンスでシグナリングされるHRDバッファ管理のための仮想リファレンス・デコーダ(HRD)仕様及びメタデータによって更に制限される可能性がある。
【0058】
実施形態では、受信機(310)は、符号化されたビデオとともに追加的(冗長的)なデータを受信する可能性がある。追加的なデータは、コーディングされたビデオ・シーケンスの一部として含まれる可能性がある。追加的なデータは、データを適切に復号化するため、及び/又は元のビデオ・データをより正確に再構成するために、ビデオ・デコーダ(210)によって使用されてもよい。追加的なデータは、例えば、時間、空間、又はSNRエンハンスメント・レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形態におけるものとすることが可能である。
【0059】
図9は、本開示の実施形態によるビデオ・エンコーダ(203)である可能性のあるソース・コーダー(203)を含む符号化システム(400)の機能ブロック図であり得る。
【0060】
エンコーダ(203)は、エンコーダ(203)によってコーディングされるべきビデオ画像を捕捉することが可能なビデオ・ソース(201)(エンコーダの一部ではない)から、ビデオ・サンプルを受信することが可能である。
【0061】
ビデオ・ソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCB、RGB、...)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であるとすることが可能なデジタル・ビデオ・サンプル・ストリームの形態で、エンコーダ(203)によってコーディングされるソース・ビデオ・シーケンスを提供することが可能である。メディア・サービング・システムにおいて、ビデオ・ソース(201)は、ストレージ・デバイスであってもよく、それはメモリ及びプロセッサを含む可能性があり、ストレージ・デバイスは事前に準備されたビデオを記憶している。ビデオ・カンファレンス・システムでは、ビデオ・ソース(203)は、ローカルな画像情報をビデオ・シーケンスとして捕捉するカメラを含んでもよい。ビデオ・データは、シーケンスで見た場合に動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして組織されることが可能であり、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことが可能である。当業者は、ピクセルとサンプルとの間の関係を容易に理解することが可能である。以下の説明は、サンプルに焦点を当てている。
【0062】
実施形態によれば、エンコーダ(203)は、リアルタイムに、又はアプリケーションによって要求される他の何らかの時間制約の下で、ソース・ビデオ・シーケンスのピクチャを、コーディングされたビデオ・シーケンスにコーディングして圧縮することが可能である。適切なコーディング速度を強制することは、コントローラ(450)の1つの機能である。コントローラ(450)は、以下で説明されるように他の機能ユニットを制御することが可能であり、それらのユニットに機能的に結合される。その結合は明確性のために描かれていない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(例えば、ピクチャ・スキップ、量子化器、レート歪最適化技術のラムダ値)、ピクチャ・サイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことが可能である。当業者は、特定のシステム設計のために最適化されたビデオ・エンコーダ(203)に関連し得るように、コントローラ(450)の他の機能を適切に識別することが可能である。
【0063】
一部のビデオ・エンコーダは、当業者が「コーディング・ループ」として容易に認識するものにおいて動作する。極端に単純化された説明として、コーディング・ループは、ソース・エンコーダ(430)(以下では「ソース・コーダ」又は「ソース・エンコーダ」と言及される)(コーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルを生成する責任がある)と、エンコーダ(203)に組み込まれたローカル・デコーダ(433)とを含むことが可能であり、エンコーダ(203)は、リモート・デコーダ(210)もまた生成することになるサンプル・データを生成するためにシンボルを再構成する(シンボルとコーディングされたビデオ・ビットストリームとの間の任意の圧縮は、開示される対象事項で考慮されるビデオ圧縮技術ではロスレスであるからである)。再構成されたサンプル・ストリームは、参照ピクチャ・メモリ(434)に入力される。
【0064】
シンボル・ストリームの復号化は、デコーダの位置(ローカル又はリモート)に依存しないビット・イグザクト(bit-exact)な結果をもたらすので、参照ピクチャ・バッファの内容もまた、ローカル・エンコーダとリモート・エンコーダとの間でビット・イグザクトである。言い換えると、エンコーダの予測部は、デコーダが復号化中に予測を使用する場合に「見る(see)」ことになるものと厳密に同じサンプル値を、参照ピクチャ・サンプルとして「見る」。参照ピクチャ同期のこの基本原理(なお、例えばチャネル・エラーに起因して同期性が維持できない場合には、結果としてドリフトが生じる)は、当業者によく知られている。
【0065】
「ローカル」デコーダ(433)の動作は、図8に関連して上記で詳細に既に説明されている「リモート」デコーダ(210)のものと同じであるとすることが可能である。しかしながら、図8も簡単に参照すると、シンボルが利用可能であり、且つエントロピー・コーダー(445)及びパーサー(320)によるシンボルのコーディングされたビデオ・シーケンスへの符号化/復号化はロスレスであるとすることが可能であるので、(チャネル(312)、受信機(310)、バッファ(315)、及びパーサー(320)を含む)デコーダ(210)のエントロピー復号化部は、ローカル・デコーダ(433)で完全には実現されない可能性がある。
【0066】
この時点で行うことが可能な洞察は、デコーダに存在する解析/エントロピー復号化以外の如何なるデコーダ技術も、必然的に、実質的に同一の機能形態で、対応するエンコーダにも存在する必要があるということである。エンコーダ技術の説明は、説明されたデコーダ技術の逆である。特定のエリアにおいてのみ、より詳細な説明が必要とされ、以下で与えられる。
【0067】
動作の一部として、ソース・コーダ(430)は、「参照フレーム」として指定されたビデオ・シーケンスからの1つ以上の以前にコーディングされたフレームを参照して、入力フレームを予測的にコーディングする、動き補償された予測コーディングを実行することが可能である。このようにして、コーディング・エンジン(432)は、入力フレームのピクセル・ブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセル・ブロックとの間の差分をコーディングする。
【0068】
ローカル・ビデオ・デコーダ(433)は、ソース・コーダー(430)によって生成されたシンボルに基づいて、参照フレームとして指定されることが可能なフレームのコーディングされたビデオ・データを復号化することが可能である。コーディング・エンジン(432)の動作は、有利なことに、非ロスレス・プロセスであってもよい。コーディングされたビデオ・データがビデオ・デコーダで復号化されることが可能である場合に、再構成されたビデオ・シーケンスは、典型的には、幾らかのエラーを伴うソース・ビデオ・シーケンスのレプリカである可能性がある。ローカル・ビデオ・デコーダ(433)は、リファレンス・フレームにおいてビデオ・デコーダによって実行されることが可能な復号化プロセスを繰り返し、再構成された参照フレームが、参照ピクチャ・キャッシュ(434)に記憶されることを引き起こすことが可能である。このように、ソース・エンコーダ(203)は、遠方端のビデオ・デコーダによって得られることになる再構成された参照フレームとして、共通の内容を有する再構成された参照フレームのコピーを、局所的に記憶することが可能である(伝送エラーはないものとする)。
【0069】
予測器(435)は、コーディング・エンジン(432)のために予測検索を行うことができる。即ち、コーディングされるべき新しいフレームについて、予測器(435)は、サンプル・データ(候補の参照ピクセル・ブロックとして)又は所定のメタデータ(参照ピクチャ動きベクトル、ブロック形状など)について、参照ピクチャ・メモリ(434)を検索することが可能であり、それらは新たなピクチャについての適切な予測参照として役立つ可能性がある。予測器(435)は、適切な予測参照を見出すために、サンプル・ブロック-ピクセル・ブロック・ベースで動作することが可能である。場合によっては、予測器(435)によって得られた探索結果によって決定されるように、入力ピクチャは、参照ピクチャ・メモリ(434)に記憶された複数の参照ピクチャから引き出される予測参照を有する可能性がある。
【0070】
プロセッサを含むことが可能なコントローラ(450)はソース・コーダ(203)のコーディング動作を管理することが可能であり、その管理は、例えばビデオ・データを符号化するために使用されるパラメータ及びサブグループ・パラメータの設定を含む。
【0071】
前述の機能ユニットのすべての出力は、エントロピー・コーダー(445)におけるエントロピー・コーディングを受けることが可能である。エントロピー・コーダーは、ハフマン・コーディング、可変長コーディング、算術コーディング等のような当業者に知られている技術に従って、シンボルをロスレス圧縮することによって、種々の機能ユニットで生成されたシンボルを、コーディングされたビデオ・シーケンスに変換することができる。
【0072】
送信機(440)は、エントロピー・コーダー(445)によって作成されるようなコーディングされたビデオ・シーケンスをバッファリングして、通信チャネル(460)を介する送信の準備を行うことが可能であり、通信チャネルは、符号化されたビデオ・データを記憶するストレージ・デバイスへのハードウェア/ソフトウェア・リンクであってもよい。送信機(440)は、ソース・コーダー(203)からのコーディングされたビデオ・データを、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリームのような送信されるべき他のデータとマージすることが可能である。
【0073】
コントローラ(450)は、エンコーダ(203)の動作を管理することができる。コーディングの間に、コントローラ(450)は、コーディングされたピクチャの各々に、特定のコーディングされたピクチャ・タイプを割り当てることが可能であり、これは、各ピクチャに適用されることが可能なコーディング技術に影響を及ぼす可能性がある。例えば、ピクチャは、しばしば、次のフレーム・タイプ、例えばイントラ・ピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、及び双方向予測ピクチャ(Bピクチャ)のうちの1つとして割り当てられてもよい。
【0074】
イントラ・ピクチャ(Iピクチャ)は、シーケンス内の如何なる他のフレームも予測のソースとして使用せずに、符号化及び復号化されることが可能なものである。幾つかのビデオ・コーデックは、例えば、独立デコーダ・リフレッシュ・ピクチャを含む異なるタイプのイントラ・ピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれら各自の用途及び特徴を認識している。
【0075】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、高々1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものである。
【0076】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、高々2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものである。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することが可能である。
【0077】
ソース・ピクチャは、一般に、複数のサンプル・ブロック(例えばそれぞれ、4×4、8×8、4×8、又は16×16サンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされることが可能である。ブロックは、ブロックそれぞれのピクチャに適用されるコーディング割り当てによって決定されるような他の(既にコーディングされた)ブロックを参照して予測的にコーディングされることが可能である。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、又は、それらは同じピクチャの既にコーディングされたブロックを参照して予測的に符号化されてもよい(空間予測又はイントラ予測)。Pピクチャのピクセル・ブロックは、以前にコーディングされた1つの参照ピクチャを参照して、空間的な予測又は時間的な予測により非予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間的な予測又は時間的な予測により非予測的に符号化されてもよい。
【0078】
ソース・コーダー(203)は、ITU-T Rec.H.265又はVVC(Versatile Video Coding)のような所定のビデオ・コーディング技術又は規格に従ってコーディング動作を行うことが可能である。この動作において、ソース・コーダー(203)は、入力ビデオ・シーケンスにおける時間的及び空間的な冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行することが可能である。コーディングされたビデオ・データは、従って、使用されているビデオ・コーディング技術又は規格によって指定されたシンタックスに準拠することが可能である。
【0079】
実施形態において、送信機(440)は、符号化されたビデオとともに追加データを送信することが可能である。ソース・コーダー(430)は、そのようなデータを、コーディングされたビデオ・シーケンスの一部として含むことが可能である。追加データは、時間的/空間的/SNRエンハンスメント・レイヤ、他の形式の冗長データ(冗長ピクチャ及びスライス、補足エンハンスメント情報(SEI)メッセージ、ビジュアル・ユーザビリティ情報(VUI)パラメータ・セット・フラグメント等)を含む可能性がある。
【0080】
上述したように、コーディングされたビデオ・シーケンスのコーディングは、ビデオ・コーディング技術又は規格に従うことが可能であり、可変長コーディング、ハフマン・コーディング、コンテキストの影響を伴うか又は伴わない算術コーディングなどを含む、当業者に周知の原理に従うことが可能である。幾つかのストリーミング・システムでは、ビデオ・ビットストリーム(204,207,209)は、特定のビデオ・コーディング/圧縮規格に従って符号化することが可能である。これらの規格の例は、H.265のITU-T HEVC勧告を含む。
【0081】
点群圧縮
【0082】
MPEG(Motion Picture Experts Group,MPEG)のテスト・モデル(Test Model 13,TMC13)では、幾何学的情報と、色や反射率のような関連する属性は、別々に圧縮される可能性がある。点群の3D座標である幾何学的情報は、オクトツリー・パーティションの占有情報を用いてオクトツリー・パーティションによってコーディングされることが可能である。そして、属性は、予測、リフティング、及び領域適応階層変換技術を使用して、再構成された幾何学に基づいて圧縮されてもよい。以下、オクトツリー・パーティションと占有率符号化プロセスを更に説明する。
【0083】
オクトツリー・パーティション
【0084】
図1は、実施形態によるオクトツリー・パーティションの例を示す。TMC13では、オクトツリー幾何学符号化-復号化装置(コーデック)が使用される場合に、幾何学符号化は次のように進行する。先ず、立方軸に整列した境界ボックスBが、2点(0,0,0)及び(2M-1,2M-1,2M-1)によって定義され、ここで、2M-1はBのサイズを定め、Mはビットストリームで指定される。
【0085】
次いで、再帰的にBを細分化することによって、オクトツリー構造が構築される。それぞれの段階において、キューブは8つのサブ・キューブに細分化される。次いで、1ビット値を各サブ・キューブに関連付けて、それが点を含むか(即ち、フル(full)であって、値1を有する)、又はそうでないか(即ち、エンプティ(empty)であって、値0を有する)を示すことによって、8ビット・コード、即ち占有コードを生成することが可能である。1より大きなサイズのフル・サブ・キューブ(即ち、非ボクセル)のみが、(例えば、フルであるサブ・キューブの別のオクトツリー・パーティションを実行することによって)更に細分化される。
【0086】
図2は、2レベルのオクトツリー・パーティション、ツリー構造、及び対応する占有コード(例えば、10000001,00011000,10001000)の例を示しており、ここで、暗いキューブ及びノードは、それぞれのキューブ及びノードが点によって占有されている(即ち、フル)であることを示す。
【0087】
占有コードの符号化
【0088】
各ノードの占有コードは、算術エンコーダによって圧縮されてもよい。占有コードは、8ビット整数であるSとして示されることが可能であり、Sの中の各ビットインは、対応する子ノードの占有状態を示してもよい。TMC13では占有コードに関する2つの符号化方法が存在し、ビット単位の符号化方法とバイト単位の符号化方法である。ビット単位の符号化がデフォルトでイネーブルにされていてもよい。ビット単位及びバイト単位の両方のアプローチにおいて、コンテキスト・モデリングによる算術コーディングが、占有コードを符号化するために採用されてもよく、ここで、コンテキスト状態は、全体の符号化プロセスの開始時に初期化され、符号化プロセスの間に更新される。
【0089】
ビット単位の符号化の場合、Sの中の8つの瓶は所定の順序で符号化され、ここで、各ビンは、隣接するノード及び隣接するノードの子ノードの占有状態を参照することによって符号化され、隣接するノードは現在のノードと同じレベルにある。
【0090】
バイト単位の符号化の場合、N個(例えば、32個)の最も頻出する占有コードを追跡する適応ルック・アップ・テーブル(A-LUT)と、観察された最新の異なるM個(例えば、16個)の占有コードを追跡するキャッシュ(例えば、キャッシュの第2テーブルとを参照することによって、Sは符号化される。
【0091】
SがA-LUTにおけるものであるか否かを示すバイナリ・フラグが符号化されてもよい。実施形態によれば、SがA-LUTにおけるものである場合、A-LUTにおけるインデックスは、バイナリ算術エンコーダを使用することによって符号化されてもよい。実施形態によれば、SがA-LUTにおけるものでない場合、Sがキャッシュ内にあるか否かを示すバイナリ・フラグが符号化されてもよい。Sがキャッシュ内にある場合、Sのインデックスのバイナリ表現は、バイナリ算術エンコーダを使用することによって符号化されてもよい。そうでない場合、Sがキャッシュ内にない場合、Sのバイナリ表現は、バイナリ算術エンコーダを使用することによって符号化されてもよい。
【0092】
ある意味では、オクトツリー・パーティションを使用する符号化は、可変長コーディングに類似している。
【0093】
復号化プロセスは、ビットストリームから境界ボックスBのディメンジョンを解析することから始まる。次いで、復号化された占有コードに従ってBを細分化することによって、同じオクトツリー構造が構築される。
【0094】
実施形態によれば、点群の属性は、色、反射率などであるとすることが可能である。
【0095】
実施形態によれば、予測属性コーディングの方法(例えば、残差がどのようにしてコーディングされるか)は、3つのステップを含む可能性がある:
【0096】
ステップ1:予測子を選択する。
【0097】
ステップ2:属性値とその予測子との差分を算出して、予測残差を求める。
【0098】
ステップ3:予測残差のエントロピー符号化。
【0099】
ステップ1とステップ3は属性コーディングの効率を決定する重要なステップである。
【0100】
更に、点群はしばしば異なる特徴を示し:人体や小さな物体からの点群のような一部の点群はかなり密であり、各点は密集して詰め込まれており;Lidarセンサーからサンプリングされる自動運転からの点群のような一部の点群はかなり疎であり、センサーから遠く離れた場所では特にそうである。一部の点群、例えば高精細度マップ用の点群は、中間的な点密度を有する。様々な特性(例えば、様々な点群密度)に適応できることが、ステップ1とステップ3の設計に重要である。
【0101】
実施形態によれば、エンコーダ、デコーダ、又はコーダー・デコーダ(コーデック)は、処理回路(例えば、1つ以上のハードウェア・プロセッサ、又は1つ以上の集積回路)によって実装されてもよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されるプログラムを実行することができる。
【0102】
実施形態によれば、g[i]及びa[i]はそれぞれ、点群中のi番目の点に対する幾何学的位置及び属性値を表現するために使用されてもよい。対応する予測子はp[i]として示されてもよく、予測残差はr[i]=a[i]-p[i]として示されてもよい。実施形態によれば、a[i],p[i]及びr[i]はベクトル又はスカラーであるとすることが可能である。例えば、実施形態によれば、a[i],p[i]及びr[i]は、属性が赤-緑-青(RGB)カラーである場合には3次元ベクトルであり、属性が反射率である場合はスカラーであってもよい。
【0103】
実施形態によれば、予測残差をコーディングする方法が提供される。
【0104】
実施形態によれば、予測子選択の方法は、様々な予測選択方法の中から適応的に選択する方法に従って提供されてもよい。
【0105】
予測残差のコーディング
【0106】
予測残差はしばしばガウス分布又はラプラシアン分布を示し、その場合、ほとんどの値はゼロに近い。実施形態によれば、この「ゼロに近い」特性が、エントロピー符号化のために活用される。
一実施形態において、予測残差r[i]は、先ず、次式のように、非負の数R[i]に変換されてもよい:
【0107】
【数1】
【0108】
便宜上、R[i]は換算予測残差(converted prediction residual)と呼ばれる。R[i]をコーディングするために、実施形態によれば、以下のハイブリッド・アプローチが使用されてもよく:[i]<TUmaxである場合には、最大値を伴うトランケーテッド・ユーナリ(TU)コードTUmaxが使用されてもよい。
【0109】
実施形態によれば、TUコードはシンプル・コード(例えば、110)であってもよい。R[i]が閾値未満である場合には、TUが使用されてもよい。R[i]が閾値未満ではない場合、指数コードが使用されてもよい。
【0110】
例えば、R[i]≧TUmaxである場合、R[i]-TUmaxを符号化するための次数0を有する指数ゴロム・コード(EGK)が続くTUmaxに等しいTUコードが使用される。
【0111】
TUコードのビットについては、コンテキスト・ベースの算術符号が使用される一方、EGKコードのビットについてはバイパス・コーディングが使用される。
【0112】
一例はTUmax=3である。実施形態によれば、ゼロであるか否かの第1検査が実行された後に、1であるか否かの検査、2であるか否かの検査、等々が実行されてもよい。
【0113】
TUmax=3である場合に、換算予測残差R[i]のシンタックス・テーブルは、次のようになる可能性がある:
テーブル1
【0114】
【数2】
【0115】
converted_prediction_residual_is_zeroは、R[i]が0に等しいかどうかを指定し、
converted_prediction_residual_is_oneは、R[i]が1に等しいかどうかを指定し、
converted_prediction_residual_is_twoは、R[i]が2に等しいかどうかを指定し、
converted_prediction_residual_minus_threeは、次のようにしてR[i]を指定する:
R[i]=converted_prediction_residual_minus_three + 3

一実施形態では、Umax=2であり、シンタックス・テーブルは簡潔性のために省略される。
【0116】
別の実施形態では、TUmax=1であり、換算予測残差R[i]のシンタックス・テーブルは次のようであってもよい:
テーブル2
【0117】
【数3】
【0118】
converted_prediction_residual_is_zeroは、R[i]が0に等しいかどうかを指定し、
converted_prediction_residual_minus_oneは、次のようにしてR[i]を指定する:
R[i]=converted_prediction_residual_minus_one + 1

別の実施形態では、TUmax=0である。この場合、1つのEGKコードのみが使用される。換算予測残差R[i]のシンタックス・テーブルは次のように簡略化される:
テーブル3
【0119】
【数4】
【0120】
converted_prediction_residualは、次のようにしてR[i]を指定する:
R[i]=converted_prediction_residual

異なる特性を示す異なる点群、又は異なる属性量子化パラメータを伴う同じ点群の場合、換算予測残差は異なる統計量を有する可能性がある。適応的な方式が望ましい場合がある。
【0121】
一実施形態では、TUmaxは先ず最大値、例えば3として設定される。換算予測残差のコーディングを開始する場合に、換算予測残差の数はiに等しく、ここで、freq(bi)又はfreq(i)(i=0,1,...,TUmax-1)は、Tポイントの期間(例えばT=512)の間に収集される。
【0122】
例えば、概念の例として、図3は、Tポイントの第1期間における統計量の収集と適応パラメータの決定を示す。
実施形態によれば、各ビットの確率が、TUコード、即ちb0b1...bTUmax-1において算出されてもよい。例えば次のとおりである。
【0123】
【数5】
【0124】
一実施形態では、Prob(bm=1)が0.5に近い場合、TUmaxはmとして設定される。
【0125】
別の実施形態では、Prob(bm=1),Prob(bm+1=1),...Prob(bTUmax-1=1)は全て0.5に近く、TUmaxはmに等しくなるように削減される。
【0126】
実施形態によれば、前述したように、R[i]≧TUmaxである場合に、R[i]-TUmaxをコーディングするために、バイパス・コーディングを伴うEGKが使用されてもよい。一実施形態では、R[i]≧TUmaxである場合に、R[i]-TUmaxをコーディングするために、次数k>0の指数ゴロム・コードが使用されてもよい。
【0127】
別の実施形態では、指数ゴロム・コードの次数は、期間Tの間に収集される統計量に基づいて、適応的に選択することが可能である。
【0128】
換算予測残差のコーディングが開始されると、0,1,...,TUmax-1に等しい換算予測残差の頻度が、期間Tポイントの間に収集される。
【0129】
更に、期間Tポイント内のすべての換算予測残差の合計が計算され、それをSTと表記する。
これらの統計量を用いて、TUmax以上である換算予測誤差の平均は、例えば以下の式(3)に基づいて算出されてもよい
【0130】
【数6】
【0131】
符号化の開始時に、EGKが使用される。Tポイントの期間の後、ATが計算される。AT>Th(K)及びAT<Th(K+1)である場合、次数Kは後続の点をコーディングするために選択される。Th(1),Th(2),...,Th(kmax)は増加する値の所定の閾値のセットであり、kmaxは本願では指数ゴロム・コードの最大次数であることに留意を要する。
【0132】
一実施形態では、変換予測残差の加算に加えて、ThRより大きなすべての換算予測残差の数(NThとして示される)とそれらの総和SThが、期間Tの間に収集される。実施形態によれば、ThRより大きな換算予測誤差の平均は、例えば以下の式4(Eq.4)に基づいて計算することが可能である。
【0133】
【数7】

ここで、AThは、指数ゴロム・コードの次数を決定するためにATと置換するために使用される。
一実施形態では、変換された残差統計量及び適応選択の収集TUmax及びkmaxは、ポイントの連続するチャンクすべての開始時に実行されてもよく、各チャンクにおけるポイントの数はCである。

例えば、図4は、実施形態の概念の例示として、各チャネルでの統計量の収集及び適応パラメータの決定を示す。即ち、図3と比較すると、図3は開始時におけるものを示し、図4は周期的におけるもの(例えば、すべてのチャンクにおけるもの)を示す。一実施形態において、予測残差r[i]は、直接的にコーディングされてもよい。実施形態によれば、先ず、
【0134】
【数8】

というr[i]の1ビット符号が、コンテキスト・モデリングによるバイナリ算術コードを使用してコーディングされてもよい。
【0135】
r[i]の絶対値は、符号ビットの追加を除いて、上述したのと同じアプローチを使用してコーディングされ、abs(r[i])として示されてもよい。一実施形態において、TUmax=1である場合、予測残差に関するシンタックス・テーブルは、以下のようなものであってもよい:
テーブル4
【0136】
【数9】
【0137】
ここで、prediction_residual_is_zeroは、テーブル4においてr[i]が0に等しい場合を指定する。
ここで、sign_of_prediction_residualは、以下の式6に基づいてr[i]の符号を指定する:
【0138】
【数10】
【0139】
ここで、absolute_prediction_residual_is_oneは、式6においてabs(r[i])が1に等しい場合を指定する。
【0140】
ここで、absolute_prediction_residual_is_twoは、式6においてabs(r[i])が2に等しい場合を指定する。
【0141】
ここで、absolute_prediction_residual_minus_threeは、次のようにしてr[i]を指定する:
r[i]=sign(r[i])×(absolute_prediction_residual_minus_three + 3)
【0142】
予測子選択
【0143】
属性をコーディングする際に、実施形態によれば、以下の2ステップ:(1)候補リストを構築するステップ、及び(2)所定の基準に基づいて、候補リスト中の最良の候補を予測子として選択するステップが使用されてもよい。以下のセクションでは、候補リストのサイズはNcandとして示され、シーケンス・パラメータ・セット、属性パラメータ・セット、スライス・ヘッダなどのような、ハイ・レベルのシンタックスでシグナリングされること、あるいは事前に定義されることが可能である。
【0144】
候補リストの構築
一実施形態では、属性コーディングは幾何学的コーディング順序に続き、即ち、点の属性は、点の幾何学的な位置がコーディングされた後にコーディングされる。I番目の点の候補リストは、Ncand個の最近のコーディングされた点を含み、即ち以下の式7のように示される:
【0145】
【数11】

ここで、点は式7の幾何学的コーディング順序で並べられる。
【0146】
実施形態によれば、候補リストはスライディング・バッファとして実装されてもよい。新たな点は、リストの先頭に挿入されてもよく、最後の点はリストから押し出されてもよい。一実施形態では、新たな点の挿入前に、新たな点の幾何学的な位置及び属性値が、候補リスト内の候補の幾何学的な位置及び属性値と比較される。候補リスト中に、同じ幾何学的な位置及び属性を有する候補の点が存在する場合、その新たな点は挿入されない。候補リスト中に、同じ幾何学的な位置及び属性を有する候補の点が存在しない場合、その新たな点は通常どおりに挿入されてもよい。
【0147】
一実施形態では、属性のコーディングは、点群又は点群の一部に対して、幾何学的コーディングが実行された後に実行される。全ての幾何学的コーディングされた点は、モートン(Morton)順序又はその他の空間充填順序(モートン順序は例示としてのみ使用されている)を使用して順序付けられてもよい。点が別様に並べられる可能性があることを除いて、候補リストを構築する方法は、上述したものと同じである。
【0148】
言い換えれば、候補を構築するための具体的な複数の方法が存在する。一般的なアプローチは、候補リストが構築され、候補リスト中の候補の1つが予測子として選択されるものである。しかしながら、重複がある場合、挿入は行われない。
【0149】
幾何学ベースの予測子選択
実施形態によれば、予測子は、候補リスト内の点及びi番目の点の幾何学的な位置に基づいて選択されてもよい。一実施形態では、予測子は、次の式8に示されるように、i番目の点に最も近い点として選択されてもよい:
【0150】
【数12】


は、式8における点g=(x,y,z)についてのpノルム演算を表す。
【0151】
一実施形態では、p=1又はp=2である(pは予測子を意味する)。実施形態によれば、ノルム演算における3つの座標(x,y,z)は、同等に扱われてもよい。
一実施形態では、以下の式9のように加重ノルム演算が定義されてもよい:
【0152】
【数13】

予測子は、以下の式9に示すように、i番目の点に最も近い点として選択されてもよい:
【0153】
【数14】

実施形態によれば、ウェイト・パラメータw1,w2,w3は事前に定義されていてもよいし、あるいはハイ・レベル・シンタックスでシグナリングされてもよい。
【0154】
実施形態によれば、デコーダは、シンタックスでシグナリングする必要がないように、予測子インデックスpredindexを決定するために同じ演算を実行してもよい。
【0155】
属性ベースの予測子選択
【0156】
この方法では、候補リスト内の点及びi番目の点の属性値に基づいて、予測子(例えばp)を選択することができる。一実施形態では、i番目の点の属性値に最も近い値を有するものとして選択される予測子は、例えば、以下の式10に基づいていてもよい:
【0157】
【数15】

一実施形態では、p=1又はp=2である。属性がスカラー値である場合、常にp=1である。
【0158】
デコーダは、a[i]の知識を有していない場合があり、従ってpredindexはデコーダで決定することができず、それはシンタックスでシグナリングされることを必要とする。一実施形態では、predindexは固定長コードに二値化され、算術コードが、コンテキスト・モデリングを用いて個々のビットを符号化するために使用される。固定長コードのビット数は、predindexのレンジに依存する可能性がある。
【0159】
一実施形態では、predindexは、predindexの最大値として設定される最大値を有するトランケーテッド・ユーナリ(TU)コードに二値化される。TUコードの最初の数ビットについては、コンテキスト・モデリングによる算術コードが、TUコードの最初の数ビットをコーディングするために使用されてもよく;残りのビットはバイパス・モードでコーディングされる。別の実施形態では、TUコード内のすべてのビットは、コンテキスト・モデリングによる算術コードを使用してコーディングされる。
【0160】
一実施形態では、上述したように、predindexは、EGKコードが続くTUコードを使用してコーディングされてもよく、ここで、TU内のビットはコンテキスト・モデリングによる算術コードを使用してコーディングされる。
【0161】
適応予測子選択
異なる点群は異なる特性を示すので、幾何学ベースの予測選択は、あるタイプの点群に対しては、属性ベース予測子選択法より優れているかもしれないが、別のタイプの点群に対しては劣っているかもしれない。適応的な方式が望ましい。
【0162】
即ち、あるものは属性に基づき、あるものは幾何学に基づく。従って、統計量が累積され、残差の平均が計算される。残差のオーバーヘッドが大きい場合に限り、インデックスをシグナリングすることを正当化できる。実施形態によれば、残差の平均が(例えば、チャック当たりで)判定されてもよく、残差の判定された平均に基づいて、属性ベースの予測子又は幾何学ベースの予測子を使用するかどうかが決定されてもよい。
【0163】
特に、属性ベースの予測子選択法は、より良好な予測をしばしば提供するが、predindexをシグナリングするオーバーヘッドに悩まされる。幾何学ベースの方法からの予測残差が非常に大きい場合、属性ベースの方法は良好なパフォーマンスをしばしば提供する。
【0164】
この洞察に基づいて、実施形態によれば、(上述したように)統計量が収集され、換算予測残差のうち、TUmax以上である(即ち、Tの期間の初めにおけるAT)の平均が計算されてもよい。実施形態によれば、適応方法は、エンコーダが幾何学ベースの予測子方法を用いて始動するステップを含んでもよい。Tの期間の後に、ATが計算され、閾値Thpredと比較される。AT>Thpredである場合、絶対値ベースの予測子選択が使用される。
【0165】
実施形態によれば、Thpredは、ハイ・レベル・シンタックスでシグナリングされてもよいし、或いは予め定義されていてもよい。Thpredはロスレス・コーディング及び非ロスレス・コーディングで異なっていてもよい。
【0166】
他の実施形態では、ThRより大きな換算予測残差の平均を計算することが可能であり、それをATと置換するために使用して判定を行ってもよい。
【0167】
一実施形態では、予測残差統計量の収集は、点の連続するチャンク全ての始めに行うことが可能であり、各チャンクに対するAT(又はATh)を計算し、2つの閾値(Thpred H,Thpred L)と比較することが可能であり、ここで、Thpred L<Thpred Hである。
【0168】
実施形態によれば、各チャンクに対する適応方式は以下の通りである:
【0169】
AT<Thpred Lである場合には、幾何学ベース予測子選択に切り替える。
【0170】
AT>Thpred Hである場合には、属性ベース予測子選択に切り替える。
【0171】
それ以外の場合、予測子選択方法を変更しない。
【0172】
実施形態によれば、ロスレス・コーディング又は非ロスレス・コーディングに対して、そのペア(Thpred H,Thpred L)は異なる可能性がある。
【0173】
別の実施形態では、最良の予測候補が、レート歪最適化方法に基づいて選択され、その方法において、最良の候補はレート&歪関数の最小コストをもたらす。
【0174】
即ち、レート歪は、ミスしたコストを判定するために使用されてもよい。従って、その詳細は、属性がどのようにコーディングされていたか、及びそれがどのように選択されるかを含む。
【0175】
図5をここで参照すると、ビデオ・データを復号化するための方法600のステップを示す動作フローチャートが描かれている。しかしながら、当業者は、図5に基づいて符号化プロセスがどのように動作するかを理解することができる。幾つかの実装では、1つ以上のプロセス・ブロックがコンピュータ102及びサーバーによって実行されてもよい。幾つかの実装では、1つ以上のプロセス・ブロックは、コンピュータ及びサーバーから分離されるか又はそれらを含むデバイスのグループ、又は別のデバイスによって実行されてもよい。
【0176】
実施形態は、ビデオ・データを符号化及び/又は復号化するための方法、システム、及び非一時的なコンピュータ読み取り可能な媒体に関連する。一態様によれば、ビデオ・データを復号化する方法が提供される。
【0177】
図5に示されるように、方法は、点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信することを含む(ステップ601)。
【0178】
ステップ602において、方法は、点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成することを含む可能性がある。量子化されたディメンジョンのためのプロセスは、ビットストリームからの点群のバウンダリ・ボックスのディメンジョンを解析し;点群のバウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群のバウンダリ・ボックスのディメンジョンを逆量子化することを含む可能性がある。
【0179】
ステップ603において、方法は、圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定することを含む可能性がある。
【0180】
ステップ604において、方法は、圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて(即ち、ステップ603:Yes)、復号化のための予測子は属性ベースの予測子であると決定することを含む可能性がある(ステップ604)。
【0181】
方法は、圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて(即ち、ステップ603:No)、復号化のための予測子は幾何学ベースの予測子であると決定すること;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築することを含む可能性がある。
【0182】
方法は、属性ベースの予測子又は幾何学ベースの予測子を点の幾何学的な位置に基づいて候補リスト内で選択することを更に含んでもよい。
【0183】
方法は、圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを、ビットストリームのシンタックスにおけるシグナリングに基づいて判定することを更に含んでもよい。
【0184】
方法は、占有コードの属性がスカラー値である場合に、復号化のための予測子は幾何学ベースの予測子であると決定することを更に含んでもよい。
【0185】
復号化のための予測子は固定長コードに二進化されてもよく、個々のビットはコンテキスト・モデリングで符号化された算術コードである。
【0186】
復号化のための予測子は、復号化のための予測子の最大値として設定される最大値を有するトランケーテッド・ユーナリ(TU)コードに二進化されてもよい。
【0187】
点群の属性は1つ以上の色又は反射率を含んでもよい。
【0188】
方法は、属性ベースの予測子及び幾何学ベースの予測子の各々について、チャンク当たりの残差の平均を決定すること;及び属性ベースの予測子又は幾何学ベースの予測子を使用するかどうかを、残差の決定された平均に基づいて決定することを更に含んでもよい。
【0189】
方法は、残差又は変換された残差がトランケーテッド・ユーナリ(TU)コード最大値より小さい場合に、符号化のために最大値のTUコードを使用すること;及び残差又は変換された残差がTUコード最大値より小さくない場合に、符号化のために指数コードを使用することを更に含んでもよい。
【0190】
指数コードは、次数0の指数ゴロム・コードであってもよい。
【0191】
方法は、TUコードのビットに対して、コンテキスト・ベースの算術コードを使用すること;及び指数コードのビットに対して、バイパス・コーディングを使用することを更に含んでもよい。
【0192】
方法は、幾何学ベースの予測子とともに始まり;ある期間の後に、点のチャンクを閾値と比較し;点のチャンクが前記閾値より大きい場合に、属性ベースの予測子を使用することを更に含んでもよい。
【0193】
方法は、最良の予測候補がレート&歪関数の最小コストをもたらすレート歪最適化法に基づいて、最良の予測候補を選択することを更に含んでもよい。
【0194】
方法は、構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成すること;及び表示可能な画像がディスプレイによって表示されるように制御を行うことを更に含んでもよい。
【0195】
実施形態によれば、ビデオ・データを復号化するコンピュータ・システムが提供され、コンピュータ・システムは、コンピュータ・プログラム・コードを記憶するように構成された1つ以上のコンピュータ読み取り可能な非一時的な記憶媒体;及びコンピュータ・プログラム・コードにアクセスし、コンピュータ・プログラム・コードによって指示されたように動作するように構成される1つ以上のコンピュータ・プロセッサを含むことが可能であり、コンピュータ・プログラム・コードは:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信することを1つ以上のコンピュータ・プロセッサに行わせるように構成された受信コード;点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成することを1つ以上のコンピュータ・プロセッサに行わせるように構成された逆量子化コードであって、プロセスは、ビットストリームからの点群のバウンダリ・ボックスのディメンジョンを解析し;点群のバウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群のバウンダリ・ボックスのディメンジョンを逆量子化することを含む、逆量子化コード;圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定することを1つ以上のコンピュータ・プロセッサに行わせるように構成された判定コード;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は属性ベースの予測子であると決定し;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は幾何学ベースの予測子であると決定することを1つ以上のコンピュータ・プロセッサに行わせるように構成された予測子選択コード;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築することを1つ以上のコンピュータ・プロセッサに行わせるように構成されたオクトツリー構築コードを含む。
【0196】
予測子選択コードは、圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを、ビットストリームのシンタックスにおけるシグナリングに基づいて判定することを、1つ以上のコンピュータ・プロセッサに行わせるように更に構成されていてもよい。
【0197】
コンピュータ・システムは、ディスプレイを更に含んでもよく、コンピュータ・プログラム・コードは、構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成し、表示可能な画像がディスプレイによって表示されるように制御を行うことを、1つ以上のコンピュータ・プロセッサに行わせるように構成された表示コードを更に含んでもよい。
【0198】
点群の属性は1つ以上の色又は反射率を含んでもよい。
【0199】
実施形態によれば、ビデオ・データを復号化するコンピュータ・プログラムを記憶した非一時的なコンピュータ読み取り可能な媒体は以下の特徴を含んでもよく、コンピュータ・プログラムは、1つ以上のコンピュータ・プロセッサに:点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成するステップであって、プロセスは、ビットストリームからの点群の前記バウンダリ・ボックスのディメンジョンを解析し;点群の前記バウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;点群の前記バウンダリ・ボックスのディメンジョンを逆量子化することを含む、ステップ;圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は属性ベースの予測子であると決定するステップ;圧縮されたビデオ・データは属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は幾何学ベースの予測子であると決定するステップ;及び決定された予測子を使用して、点群の占有コードを含むバウンダリ・ボックスの逆量子化されたディメンジョンに従って点群のバウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップを行わせるように構成されている。
【0200】
非一時的なコンピュータ読み取り可能な記憶媒体のコンピュータ・プログラムは、1つ以上のコンピュータ・プロセッサに:構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び表示可能な画像がディスプレイによって表示されるように制御を行うステップを行わせるように構成されていてもよい。
【0201】
フローチャート(例えば、図5)は、1つの実装の例示にすぎず、異なる実施形態がどのように実施され得るかに関する如何なる制限も意味していないことは理解されるであろう。図示される環境に対する多くの修正が、設計及び実施要件に基づいて行われてもよい。
【0202】
符号化/復号化の技術は、コンピュータ読み取り可能な命令を有するコンピュータ・ソフトウェアを実行することが可能な1つ以上のプロセッサによって実現されることが可能であり、命令は1つ以上のコンピュータ読み取り可能な媒体(例えば、ハード・ディスク・ドライブ)に物理的に記憶することが可能である。例えば、図10は、開示される対象事項の特定の実施形態を実現するのに適したコンピュータ・システム700を示す。
【0203】
コンピュータ・ソフトウェアは、アセンブリ、コンパイル、リンク、又は類似のメカニズムの対象となり得る任意の適切なマシン・コード又はコンピュータ言語を使用してコーディングされて、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に又は解釈やマイクロコード実行などを経由して実行することが可能な命令を含むコードを作成することが可能である。
【0204】
命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーム・デバイス、モノのインターネット・デバイス等を含む、種々のタイプのコンピュータ又はそのコンポーネント上で実行されることが可能である。
【0205】
コンピュータ・システム700について図10に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの使用範囲又は機能性に関する如何なる制限も示唆するようには意図されていない。また、コンポーネントの構成は、コンピュータ・システム700の例示的な実施形態に示されるコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性や要件を有するものとして解釈されてはならない。
【0206】
コンピュータ・システム700は、特定のヒューマン・インターフェース入力デバイスを含むことが可能である。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、聴覚的な入力(例えば、声、拍手)、視覚的な入力(例えば、ジェスチャ)、嗅覚的な入力(図示されていない)を介して、1人以上の人間ユーザーによる入力に応答することが可能である。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ピクチャを含む3次元ビデオ)のような、人間による意識的な入力に必ずしも直接的に関係しない特定のメディアを捕捉するために使用することが可能である。
【0207】
入力ヒューマン・インターフェース・デバイスは、キーボード701、マウス702、トラックパッド703、タッチ・スクリーン710、データ・グローブ704、ジョイスティック705、マイクロホン706、スキャナ707、カメラ708のうちの(描かれているものはそれぞれ唯1つであるが)1つ以上を含む可能性がある。
【0208】
コンピュータ・システム700は、特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通じて、1人以上の人間ユーザーの感覚を刺激することが可能である。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ・スクリーン710、データ・グローブ704、又はジョイスティック705による触覚フィードバックであるが、入力デバイスとして役立たない触覚フィードバック・デバイスが存在する可能性もある)、聴覚的な出力デバイス(例えば、スピーカー709、ヘッドフォン(不図示せず))、視覚的な出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン710であり、各々はタッチ・スクリーン入力機能を備えるか又は備えておらず、各々は触覚フィードバック機能を備えるか又は備えておらず、それらのうちの幾つかは、二次元的な視覚的な出力、又は立体出力のような手段による三次元以上の出力を出力することが可能であってもよい;仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク(図示せず))、及びプリンタ(図示せず)を含むことが可能である。
【0209】
コンピュータ・システム700はまた、CD/DVD等の媒体721を使うCD/DVD ROM/RW720を含む光媒体、サム・ドライブ722、リムーバブル・ハード・ドライブ又はソリッド・ステート・ドライブ723、テープ及びフロッピー・ディスク(図示せず)等のレガシー磁気媒体(不図示)、セキュリティ・ドングル(不図示)等の特殊化されたROM/ASIC/PLDベースのデバイスのような、人間がアクセス可能な記憶デバイス及びそれらに関連する媒体を含むことも可能である。
【0210】
当業者は、ここで開示される対象事項に関連して使用される用語「コンピュータ読み取り可能なメディア」又は「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又はその他の過渡的な信号を包含しないことも理解するはずである。
【0211】
コンピュータ・システム700は、1つ以上の通信ネットワークへのインターフェースも含むことが可能である。ネットワークは、例えば、無線、有線、光であるとすることが可能である。ネットワークは、更に、ローカル、ワイド・エリア、メトロポリタン、車両&インダストリアル、リアルタイム、遅延耐性などに関するものであるとすることが可能である。ネットワークの例は、イーサーネットのようなローカル・エリア・ネットワーク、無線LAN、セルラー・ネットワーク(GSM、3G、4G、5G、LTE等を含む)、TVの有線又は無線ワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、CANBusを含む車両&インダストリアルなどを含む。特定のネットワークは、一般に、特定の汎用データ・ポート又は周辺バス(749)に取り付けられる外部ネットワーク・インターフェース・アダプタを必要とする(例えば、コンピュータ・システム1100のUSBポート);その他は、一般に、以下に説明するようなシステム・バスに取り付けることによって、コンピュータ・システム700のコアに統合される(例えば、イーサーネット・インターフェースはPCコンピュータ・システム内に、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システム内に統合される)。これらのうちの任意のネットワークを使用して、コンピュータ・システム700は、他のエンティティと通信することが可能である。このような通信は、片-方向受信専用(例えば、放送テレビ)、片-方向送信専用(例えば、特定のCANbusデバイスに対するCANbus)、又は双-方向の、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用する他のコンピュータ・システムに対するものであるとすることが可能である。特定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々で使用されることが可能である。
【0212】
前述のヒューマン・インターフェース・デバイス、ヒューマン・アクセシブル・ストレージ・デバイス、及びネットワーク・インターフェースは、コンピュータ・システム700のコア740に取り付けられることが可能である。
【0213】
コア740は、1つ以上の中央処理ユニット(CPU)741、グラフィックス処理ユニット(GPU)742、フィールド・プログラマブル・ゲート・エリア(FPGA)743の形式における特殊プログラマブル処理ユニット、特定のタスク用のハードウェア・アクセラレータ744等を含むことが可能である。これらのデバイスは、リード・オンリ・メモリ(ROM)745、ランダム・アクセス・メモリ(RAM)746、内部大容量ストレージ(例えば、内的なユーザー・アクセシブルでないハード・ドライブ、SSD等)747と共に、システム・バス748を介して接続されることが可能である。幾つかのコンピュータ・システムでは、システム・バス748は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能である可能性がある。周辺デバイスは、コアのシステム・バス748に直接取り付けられるか、又は周辺バス749を介して取り付けられることが可能である。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0214】
CPU741、GPU742、FPG743、及びアクセラレータ744は、組み合わされて、前述のコンピュータ・コードを構成することが可能な特定の命令を実行することが可能である。コンピュータ・コードは、ROM745又はRAM746に格納されることが可能である。一時的なデータはRAM746に格納されることが可能である一方、永続的なデータは例えば内的な大容量ストレージ747に格納されることが可能である。任意のメモリ・デバイスに対する高速な記憶及び検索は、キャッシュ・メモリを利用することで可能になる可能性があり、キャッシュ・メモリは、1つ以上のCPU741、GPU742、大容量ストレージ747、ROM745、RAM746等と密接に関連付けることが可能である。
【0215】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装済み動作を実行するためのコンピュータ・コードをそこに有することが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、又はそれらは、コンピュータ・ソフトウェアの分野における当業者にとって周知であり且つ入手可能な種類のものであるとすることが可能である。
【0216】
例示として、限定ではなく、アーキテクチャ700、具体的にはコア740を有するコンピュータ・システムは、1つ以上の有形のコンピュータ読み取り可能な媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として、機能を提供することが可能である。そのようなコンピュータ読み取り可能な媒体は、コア内部の大容量ストレージ747又はROM745のような非一時的な性質のコア740の特定のストレージと同様に、上述したようなユーザー・アクセシブル大容量ストレージに関連する媒体であるとすることが可能である。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア740によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、RAM746に記憶されたデータ構造を定めること、及びソフトウェアによって定められたプロセスに従ってそのようなデータ構造を修正することを含む、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を、コア740及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることが可能である。
【0217】
更に又は代替として、コンピュータ・システム700は、回路(例えば、アクセラレータ744)内に配線された又は他の方法で具現化されたロジックの結果として機能を提供することが可能であり、その回路は、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を実行することを、ソフトウェアの代わりに又はそれと共に実行することが可能である。ソフトウェアに対する言及はロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能な媒体に対する言及は、実行のためのソフトウェアを記憶する(集積回路(IC)のような)回路、実行のためのロジックを具体化する回路、又は適切な場合には両方を包含することが可能である。本開示はハードウェア及びソフトウェアの適切な任意の組み合わせを包含する。
【0218】
本開示は、幾つかの例示的な実施形態を説明してきたが、本開示の範囲内に該当する、変更、置換、及び種々の代替的な均等物が存在する。本願で明示的には図示も説明もされていないが、本開示の原理を具体化し、従ってその精神及び範囲内にある多くのシステム及び方法を当業者は考え出すことが可能であることは理解されるであろう。
【0219】
幾つかの実施形態は、あらゆる可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータ読み取り可能な媒体に関連することができる。コンピュータ読み取り可能な媒体は、プロセッサに動作を実行させるためのコンピュータ読み取り可能なプログラム命令をそこに有するコンピュータ読み取り可能な非一時的な記憶媒体(又はメディア)を含むことが可能である。
【0220】
コンピュータ読み取り可能な記憶媒体は、命令実行デバイスが使用する命令を保持して記憶することが可能な有形のデバイスであるとすることが可能である。コンピュータ読み取り可能な記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、又はこれらの適切な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例の包括的ではないリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、命令を記録した溝内の隆起構造又はパンチ・カードのような機械的に符号化されたデバイス、及びこれらの任意の適切な組み合わせを含む。本願で使用されるようなコンピュータ読み取り可能な記憶媒体は、それ自体、電波又は他の自由に伝搬する電磁波、導波管又は他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って伝送される電気信号のような、一時的な信号自体であると解釈されるべきではない。
【0221】
本願で説明されるコンピュータ読み取り可能なプログラム命令は、個々のコンピューティング/処理デバイスへコンピュータ読み取り可能な記憶媒体から、又は外部コンピュータ又は外部デバイスへネットワークを介して、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び/又はワイヤレス・ネットワークを介して、ダウンロードされることが可能である。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及び/又はエッジ・サーバーを含むことが可能である。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インターフェースは、コンピュータ読み取り可能なプログラム命令をネットワークから受信し、コンピュータ読み取り可能なプログラム命令を、個々のコンピューティング/処理デバイス内のコンピュータ読み取り可能な記憶媒体に記憶するために転送する。
【0222】
演算を実行するためのコンピュータ読み取り可能なプログラム・コード/命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のコンフィギュレーション・データ、又は、1つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コード又はオブジェクト・コードの何れかであってもよく、プログラミング言語は、Smalltalk、C++のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は類似のプログラミング言語のような手続き型プログラミング言語を含む。コンピュータ読み取り可能なプログラム命令は、全体的にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザーのコンピュータ上で及び部分的にリモート・コンピュータ上で、或いは全体的にリモート・コンピュータ又はサーバー上で、実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又はワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザーのコンピュータに接続されてもよく、又は、接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてもよい。幾つかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、実施態様又は動作を実行するために、コンピュータ読み取り可能なプログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ読み取り可能なプログラム命令を実行することができる。
【0223】
これらのコンピュータ読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブル・データ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック群で指定される機能/動作を実行する手段を生じるように、マシンを構築することができる。これらのコンピュータ読み取り可能なプログラム命令はまた、コンピュータ読み取り可能な記憶媒体に記憶され、命令はコンピュータ、プログラマブル・データ処理装置、及び/又は他のデバイスが特定の方法で機能するように指図することが可能であり、その結果、命令を記憶したコンピュータ読み取り可能な記憶媒体は、フローチャート及び/又はブロック図のブロック又はブロック群で指定される機能/動作の態様を実現する命令を含む製造品を含む。
【0224】
コンピュータ読み取り可能なプログラム命令はまた、コンピュータ、他のプログラマブル・データ処理装置、又は他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、又は他のデバイスで一連の動作ステップを実行して、コンピュータに実装されたプロセスを生じさせ、その結果、コンピュータ、他のプログラマブル装置、又は他のデバイスで実行される命令は、フローチャート及び/又はブロック図のブロック又はブロック群で指定された機能/動作を実現する。
【0225】
図中のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータ読み取り可能な媒体の可能な実装のアーキテクチャ、機能、及び動作を示す。この点に関し、フローチャート又はブロック図の各ブロックは、特定の論理機能を実装するための1つ以上の実行可能な命令を含む、モジュール、セグメント、又は部分的な命令を表す可能性がある。方法、コンピュータ・システム、及びコンピュータ読み取り可能な媒体は、図面に示されているものに対して、追加的なブロック、より少ないブロック、異なるブロック、又は別様に並べられたブロックを含んでもよい。幾つかの代替的な実装において、ブロックで説明される機能は、図中に示される順序から外れてもよい。例えば、連続して示される2つのブロックは、実際には、同時又は実質的に同時的に実行されてもよいし、或いは、関連する機能に応じてブロックはしばしば逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック、ブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行するか、又は特定目的のハードウェア及びコンピュータ命令の組み合わせを実行する、特定目的のハードウェア・ベースのシステムによって実現することが可能であることに留意されたい。
【0226】
本願に説明されるシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせの様々な形態で実装されてもよいことは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊化された制御ハードウェア又はソフトウェア・コードは、実装の制限ではない。従って、システム及び/又は方法の動作及び挙動は、特定のソフトウェア・コードを参照することなく本願で説明されており、ソフトウェア及びハードウェアは、本願における説明に基づいてシステム及び/又は方法を実現するように設計されてもよいことが理解される。
【0227】
本願で使用される要素、動作、又は命令は、明示的に記述されていない限り、重大な又は本質的なものとして解釈されるべきではない。また、本願で使用されるように、「ある( “a” and “an”)」という用語は、1つ以上のアイテムを含むように意図されており、「1つ以上」と可換に使用することができる。更に、本願で使用されるように、「セット」という用語は、1つ以上のアイテム(例えば、関連するアイテム、非関連のアイテム、関連するアイテムと非関連のアイテムの組み合わせなど)を含むように意図されており、「1つ以上」と可換に使用することができる。1つのアイテムのみが意図される場合、用語「1つの」又は同様な言葉が使用される。また、本願で使用されるように、用語「有する(has)」、「有する(have)」、「有している(having)」又は類似の用語は、オープン・エンドの用語であるように意図されている。更に、「基づいて(based on)」という語句は、明示的に言及しない限り、「少なくとも部分的に元すいて」を意味するように意図されている。
【0228】
種々の態様及び実施形態の説明は、説明の目的で提示されており、網羅的であるようにも、また開示された実施形態に限定されるようにも意図されていない。特徴の組み合わせがクレームに記載され、及び/又は明細書に開示されていたとしても、これらの組み合わせは、可能な実装の開示を限定するようには意図されていない。実際、これらの特徴の多くは、クレームに具体的には記載されていない、及び/又は明細書に開示されていない仕方で組み合わせられてもよい。以下に列挙される各従属クレームは、1つのクレームのみに直接的に依存してもよいが、可能な実装の開示は、各従属クレームを、クレーム・セット中の他の全てのクレームとの組み合わせにおいて含んでいる。説明された実施形態の範囲から逸脱することなく、多くの修正及び変形が、当業者にとって明らかであろう。本願で使用される用語は、実施形態の原理、市場で見出される技術に対する実際的な応用又は技術的な改良を最良に説明するために、又は本願で開示される実施形態を当業者が理解できるようにするために、選択されている。
【0229】
付記
(付記1)
復号化方法であって:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;
点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成するステップであって、前記プロセスは、前記ビットストリームからの前記点群の前記バウンダリ・ボックスのディメンジョンを解析し;前記点群の前記バウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;前記点群の前記バウンダリ・ボックスの前記ディメンジョンを逆量子化することを含む、ステップ;
前記圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップ;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は前記属性ベースの予測子であると決定するステップ;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、前記復号化のための予測子は前記幾何学ベースの予測子であると決定するステップ;及び
前記決定された予測子を使用して、前記点群の前記占有コードを含む前記バウンダリ・ボックスの前記逆量子化されたディメンジョンに従って前記点群の前記バウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップ;
を含む方法。
(付記2)
前記属性ベースの予測子又は前記幾何学ベースの予測子を点の幾何学的な位置に基づいて候補リスト内で選択するステップ;
を更に含む付記1に記載の方法。
(付記3)
前記圧縮されたビデオ・データは前記属性ベースの予測子又は前記幾何学ベースの予測子を使用することによって予測されたかどうかを、前記ビットストリームのシンタックスにおけるシグナリングに基づいて判定するステップ;
を更に含む付記1に記載の方法。
(付記4)
前記占有コードの属性がスカラー値である場合に、前記復号化のための予測子は前記幾何学ベースの予測子であると決定するステップ;
を更に含む付記1に記載の方法。
(付記5)
前記復号化のための予測子は固定長コードに二進化され、個々のビットはコンテキスト・モデリングで符号化された算術コードである、付記1に記載の方法。
(付記6)
前記復号化のための予測子は、前記復号化のための予測子の最大値として設定される最大値を有するトランケーテッド・ユーナリ(TU)コードに二進化される、付記1に記載の方法。
(付記7)
前記点群の属性は1つ以上の色又は反射率を含む、付記1に記載の方法。
(付記8)
前記属性ベースの予測子及び前記幾何学ベースの予測子の各々について、チャンク当たりの残差の平均を決定するステップ;及び
前記属性ベースの予測子又は前記幾何学ベースの予測子を使用するかどうかを、前記残差の決定された平均に基づいて決定するステップ;
を更に含む付記1に記載の方法。
(付記9)
残差又は変換された残差がトランケーテッド・ユーナリ(TU)コード最大値より小さい場合に、前記符号化のために最大値のTUコードを使用するステップ;及び
前記残差又は前記変換された残差が前記TUコード最大値より小さくない場合に、前記符号化のために指数コードを使用するステップ;
を更に含む付記1に記載の方法。
(付記10)
前記指数コードは、次数0の指数ゴロム・コードである、付記9に記載の方法。
(付記11)
前記TUコードのビットに対して、コンテキスト・ベースの算術コードを使用するステップ;及び
前記指数コードのビットに対して、バイパス・コーディングを使用するステップ;
を更に含む付記9に記載の方法。
(付記12)
前記幾何学ベースの予測子とともに始まり;
ある期間の後に、点のチャンクを閾値と比較し;
前記点のチャンクが前記閾値より大きい場合に、前記属性ベースの予測子を使用するステップ;
を更に含む付記1に記載の方法。
(付記13)
最良の予測候補がレート&歪関数の最小コストをもたらすレート歪最適化法に基づいて、最良の予測候補を選択するステップ;
を更に含む付記1に記載の方法。
(付記14)
構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び
前記表示可能な画像がディスプレイによって表示されるように制御を行うステップ;
を更に含む付記1に記載の方法。
(付記15)
ビデオ・データを復号化するコンピュータ・システムであって、前記コンピュータ・システムは:
コンピュータ・プログラム・コードを記憶するように構成された1つ以上のコンピュータ読み取り可能な非一時的な記憶媒体;及び
前記コンピュータ・プログラム・コードにアクセスし、前記コンピュータ・プログラム・コードによって指示されたように動作するように構成される1つ以上のコンピュータ・プロセッサ;
を含み、前記コンピュータ・プログラム・コードは:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信することを前記1つ以上のコンピュータ・プロセッサに行わせるように構成された受信コード;
点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成することを前記1つ以上のコンピュータ・プロセッサに行わせるように構成された逆量子化コードであって、前記プロセスは、前記ビットストリームからの前記点群の前記バウンダリ・ボックスのディメンジョンを解析し;前記点群の前記バウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;前記点群の前記バウンダリ・ボックスの前記ディメンジョンを逆量子化することを含む、逆量子化コード;
前記圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定することを前記1つ以上のコンピュータ・プロセッサに行わせるように構成された判定コード;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は前記属性ベースの予測子であると決定し;前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、前記復号化のための予測子は前記幾何学ベースの予測子であると決定することを前記1つ以上のコンピュータ・プロセッサに行わせるように構成された予測子選択コード;及び
前記決定された予測子を使用して、前記点群の前記占有コードを含む前記バウンダリ・ボックスの前記逆量子化されたディメンジョンに従って前記点群の前記バウンダリ・ボックスを細分化することによって、オクトツリー構造を構築することを前記1つ以上のコンピュータ・プロセッサに行わせるように構成されたオクトツリー構築コード;
を含む、コンピュータ・システム。
(付記16)
前記予測子選択コードは、
前記圧縮されたビデオ・データは前記属性ベースの予測子又は前記幾何学ベースの予測子を使用することによって予測されたかどうかを、前記ビットストリームのシンタックスにおけるシグナリングに基づいて判定する
ことを前記1つ以上のコンピュータ・プロセッサに行わせるように更に構成されている、付記15に記載のコンピュータ・システム。
(付記17)
ディスプレイを更に含み、前記コンピュータ・プログラム・コードは:
構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成し、前記表示可能な画像が前記ディスプレイによって表示されるように制御を行う
ことを前記1つ以上のコンピュータ・プロセッサに行わせるように構成された表示コード;
を更に含む、付記15に記載のコンピュータ・システム。
(付記18)
前記点群の属性は1つ以上の色又は反射率を含む、付記15に記載のコンピュータ・システム。
(付記19)
ビデオ・データを復号化するコンピュータ・プログラムを記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ・プログラムは、1つ以上のコンピュータ・プロセッサに:
点群占有コードを含む圧縮されたビデオ・データを含むエントロピー符号化されたビットストリームを受信するステップ;
点群のバウンダリ・ボックスの1つ以上の逆量子化されたディメンジョンを或るプロセスにより生成するステップであって、前記プロセスは、前記ビットストリームからの前記点群の前記バウンダリ・ボックスのディメンジョンを解析し;前記点群の前記バウンダリ・ボックスのエントロピー符号化されたディメンジョンをエントロピー復号化し;前記点群の前記バウンダリ・ボックスの前記ディメンジョンを逆量子化することを含む、ステップ;
前記圧縮されたビデオ・データは属性ベースの予測子又は幾何学ベースの予測子を使用することによって予測されたかどうかを判定するステップ;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、復号化のための予測子は前記属性ベースの予測子であると決定するステップ;
前記圧縮されたビデオ・データは前記属性ベースの予測子を使用することによって予測された旨の判定に基づいて、前記復号化のための予測子は前記幾何学ベースの予測子であると決定するステップ;及び
前記決定された予測子を使用して、前記点群の前記占有コードを含む前記バウンダリ・ボックスの前記逆量子化されたディメンジョンに従って前記点群の前記バウンダリ・ボックスを細分化することによって、オクトツリー構造を構築するステップ;
を行わせるように構成されている、非一時的なコンピュータ読み取り可能な記憶媒体。
(付記20)
前記コンピュータ・プログラムは、前記1つ以上のコンピュータ・プロセッサに:
構築されたオクトツリー構造に少なくとも部分的に基づいて、表示可能な画像を生成するステップ;及び
前記表示可能な画像がディスプレイによって表示されるように制御を行うステップ;
を行わせるように構成されている、付記19に記載の非一時的なコンピュータ読み取り可能な記憶媒体。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10