(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-23
(45)【発行日】2023-10-31
(54)【発明の名称】ホモグラフィ変換を使用した点群符号化
(51)【国際特許分類】
H04N 19/597 20140101AFI20231024BHJP
【FI】
H04N19/597
(21)【出願番号】P 2021541522
(86)(22)【出願日】2020-01-08
(86)【国際出願番号】 IB2020050101
(87)【国際公開番号】W WO2020148603
(87)【国際公開日】2020-07-23
【審査請求日】2021-07-16
(32)【優先日】2019-01-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100151987
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】グラジオッシ ダニーロ
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】特開2006-146760(JP,A)
【文献】特開2005-352657(JP,A)
【文献】特開2018-207356(JP,A)
【文献】欧州特許出願公開第3429210(EP,A1)
【文献】国際公開第2015/098948(WO,A1)
【文献】米国特許出願公開第2018/0205963(US,A1)
【文献】米国特許出願公開第2012/0002014(US,A1)
【文献】米国特許出願公開第2014/0043329(US,A1)
【文献】米国特許出願公開第2019/0122393(US,A1)
【文献】米国特許出願公開第2019/0037244(US,A1)
【文献】FU, Mingliang et al.,A Calibration Method for Structured Light Systems based on a Virtual Camera,Proc. 8th International Congress on Image and Signal Processing 2015,中国,IEEE,2016年02月18日,pp.57-63,[online],[retrieved on 2023-03-30],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/7407850>,https://doi.org/10.1109/CISP.2015.7407850
【文献】SCHWARZ, Sebastian et al.,Emerging MPEG Standards for Point Cloud Compression,IEEE Journal on Emerging and Selected Topics in Circuits and Systems,IEEE,2018年12月09日,Vol.9, No.1,pp.133-148,https://doi.org/10.1109/JETCAS.2018.2885981
【文献】HOPPE, Hugues et al.,Surface Reconstruction from Unorganized Points,Proc. 19th Annual Conference on Computer Graphics and Interactive Techniques,米国,ACM,1992年07月01日,pp.71-78,[online],[retrieved on 2023-09-13],Retrieved from the Internet: <URL: https://dl.acm.org/doi/10.1145/133994.134011>,https://doi.org/10.1145/133994.134011
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
THE ACM DIGITAL LIBRARY
(57)【特許請求の範囲】
【請求項1】
デバイスの非一時メモリにプログラムされた方法であって、
3次元コンテンツを取得することであって、該3次元コンテンツを取得することは、前記3次元コンテンツのパッチをセグメント化することと、バウンディングボックスの生成のためにどの平面が選択されているかを示すインデックスを送信することとを含むものであり、ここで、前記3次元コンテンツの同様の特性を有する点は、同じ平面に投影され、3D位置は、点からサーフェスまでの距離であることと、
ホモグラフィ変換を使用して前記3次元コンテンツを符号化することであって、該ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、法線を推定することを含み、該法線を推定することは、kdツリーを構築することと、ローカル近傍を調べることと、共分散分析を使用して最適な近似接平面を計算することと、法線平滑化を実行することと、法線向きを決定することとを含むものであることと、
を含む方法。
【請求項2】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、前記3次元コンテンツを2次元コンテンツに変換することを含む、請求項1に記載の方法。
【請求項3】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、請求項1に記載の方法。
【請求項4】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、請求項1に記載の方法。
【請求項5】
前記ホモグラフィ行列は、3つの行列から計算される
、請求項4に記載の方法。
【請求項6】
前記3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、請求項5に記載の方法。
【請求項7】
前記ビューイング行列は、カメラを表し、前記投影行列は、前記カメラのセンサ内の画素を表し、前記ビューポート行列は、前記カメラ内の前記画素から画像内の前記画素への変換を表す、請求項6に記載の方法。
【請求項8】
3次元コンテンツを取得することであって、該3次元コンテンツを取得することは、前記3次元コンテンツのパッチをセグメント化することと、バウンディングボックスの生成のためにどの平面が選択されているかを示すインデックスを送信することとを含むものであり、ここで、前記3次元コンテンツの同様の特性を有する点は、同じ平面に投影され、3D位置は、点からサーフェスまでの距離であること、及びホモグラフィ変換を使用して前記3次元コンテンツを符号化することであって、該ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、法線を推定することを含み、該法線を推定することは、kdツリーを構築することと、ローカル近傍を調べることと、共分散分析を使用して最適な近似接平面を計算することと、法線平滑化を実行することと、法線向きを決定することとを含むものであることのためのアプリケーションを格納するための非一時的メモリと、
前記メモリに結合されており、前記アプリケーションを処理するように構成されたプロセッサと、
を備える装置。
【請求項9】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、前記3次元コンテンツを2次元コンテンツに変換することを含む、請求項8に記載の装置。
【請求項10】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、請求項8に記載の装置。
【請求項11】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、請求項8に記載の装置。
【請求項12】
前記ホモグラフィ行列は、3つの行列から計算される
、請求項11に記載の装置。
【請求項13】
前記3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、請求項12に記載の装置。
【請求項14】
前記ビューイング行列は、カメラを表し、前記投影行列は、前記カメラのセンサ内の画素を表し、前記ビューポート行列は、前記カメラ内の前記画素から画像内の前記画素への変換を表す、請求項13に記載の装置。
【請求項15】
3次元コンテンツを取得するための1又は2以上のカメラと、
ホモグラフィ変換を使用して前記3次元コンテンツを符号化するためのエンコーダと、
を備え、
前記3次元コンテンツを取得することは、向きに従って点を分類することを含む、前記3次元コンテンツのパッチをセグメント化することと、バウンディングボックスの生成のためにどの平面が選択されているかを示すインデックスを送信することとを含むものであり、ここで、前記3次元コンテンツの同様の特性を有する点は、同じ平面に投影され、3D位置は、点からサーフェスまでの距離であり、
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、法線を推定することを含み、該法線を推定することは、kdツリーを構築することと、ローカル近傍を調べることと、共分散分析を使用して最適な近似接平面を計算することと、法線平滑化を実行することと、法線向きを決定することとを含むものであるシステム。
【請求項16】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、前記3次元コンテンツを2次元コンテンツに変換することを含む、請求項15に記載のシステム。
【請求項17】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、請求項15に記載のシステム。
【請求項18】
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、請求項15に記載のシステム。
【請求項19】
3次元コンテンツを取得するための1又は2以上のカメラと、
ホモグラフィ変換を使用して前記3次元コンテンツを符号化するためのエンコーダと、
を備え、
前記ホモグラフィ変換を使用して前記3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含み、
前記ホモグラフィ行列は、3つの行列から計算される
、請求項18に記載のシステム。
【請求項20】
前記3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、請求項19に記載のシステム。
【請求項21】
前記ビューイング行列は、カメラを表し、前記投影行列は、前記カメラのセンサ内の画素を表し、前記ビューポート行列は、前記カメラ内の前記画素から画像内の前記画素への変換を表す、請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元グラフィックスに関する。より具体的には、本発明は、3次元グラフィックスの符号化に関する。
【0002】
関連出願の相互参照
本出願は、米国特許法第119条(e)に基づいて、「POINT CLOUD CODING USING HOMOGRAPHY TRANSFORM(ホモグラフィ変換を使用した点群符号化)」と題する2019年1月18日出願の米国仮特許出願第62/794,091号の優先権を主張するものであり、その開示内容全体は、全ての目的で引用により本明細書に組み込まれる。
【背景技術】
【0003】
点群は、3Dスキャナ、LIDARセンサによって取り込まれるか、又は仮想現実/拡張現実(VR/AR)などの一般的なアプリケーションで使用される3Dデータの送信形式の候補とみなされてきた。点群は、3D空間内の点集合である。空間位置(X、Y、Z)に加えて、各点は、通常、色(R、G、B)、又は更に反射率及び時間タイムスタンプ(例えば、LIDAR画像)などの関連属性を有する。ターゲットの3Dオブジェクトの高忠実度表現を得るために、デバイスは、数千又は更に数百万のオーダーの点で点群を取り込む。更に、VR/ARアプリケーションで使用される動的な3Dシーンの場合、あらゆる単一のフレームが、固有の密な点群を有することが多く、その結果、毎秒数百万の点群が送信される。このような大量のデータの実行可能な送信のために、圧縮が適用されることが多い。
【0004】
2017年、MPEGは、点群の圧縮に関する提案募集(CfP)を発表した。幾つかの提案の評価後、MPEGは、点群圧縮のための2つの異なる技術、すなわち、3Dネイティブ符号化技術(八分木(octree)及び同様の符号化方法に基づく)、又は3Dから2Dへの投影、及びその後に続く従来型ビデオ符号化を検討している。動的3Dシーンの場合、MPEGは、パッチサーフェスモデリング、3D画像から2D画像へのパッチ投影、及びHEVCなどのビデオエンコーダを用いた2D画像の符号化に基づくテストモデルソフトウェア(TMC2)を使用している。この方法は、ネイティブ3D符号化よりも効率的であることが証明されており、許容可能な品質で競争力のあるビットレートを達成することができる。
【0005】
点群を符号化する場合、TMC2は、2Dキャンバス画像内のパッチ位置及びバウンディングボックスサイズなどの、パッチ投影に関連する補助情報を符号化する。補助情報の時間的符号化に関して、現在の点群からのパッチと、即座に復号された点群からのパッチとの間のパッチマッチングが予測に使用される。この手順は、直近のものに限定され、シーケンス内の全てのフレームに対してデルタ符号化を実行することを含む。
【発明の概要】
【課題を解決するための手段】
【0006】
ホモグラフィ変換を使用して点群を符号化する方法は、明示的な投影値(バウンディングボックス及びパッチの向き、回転など)の代わりに、3Dパッチのホモグラフィ変換値を送る。本方法は、よりコンパクトな表記法を有しており、送信に関してより効率的であり、特に、3D点が再投影される場合に、より高速な復号を可能にする。
【0007】
1つの態様において、デバイスの非一時メモリにプログラムされた方法は、3次元コンテンツを取得することと、ホモグラフィ変換を使用して該3次元コンテンツを符号化することと、を含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む。ホモグラフィ行列は、3つの行列から計算される。該3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む。ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す。
【0008】
別の態様において、本装置は、3次元コンテンツを取得し、ホモグラフィ変換を使用して該3次元コンテンツを符号化するアプリケーションを格納する非一時的メモリと、該メモリに結合されており、該アプリケーションを処理するように構成されたプロセッサと、を備える。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む。ホモグラフィ行列は、3つの行列から計算される。該3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む。ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す。
【0009】
別の態様において、本システムは、3次元コンテンツを取得するための1又は2以上のカメラと、ホモグラフィ変換を使用してこの3次元コンテンツを符号化するためのエンコーダと、を備える。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む。ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む。ホモグラフィ行列は、3つの行列から計算される。該3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む。ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す。
【図面の簡単な説明】
【0010】
【
図1】幾つかの実施形態による点群マッピングの方法のフローチャートを示す。
【
図2】幾つかの実施形態によるセグメンテーションに関する投影の図を示す。
【
図3】幾つかの実施形態によるデータを符号化するための表現を示す。
【
図4】幾つかの実施形態によるカメラ投影に基づくパッチ生成に関する図を示す。
【
図5】幾つかの実施形態による、ホモグラフィ変換がどのようにして構築されるかについての図を示す。
【
図6】幾つかの実施形態による、ホモグラフィ変換法を使用して点群符号化を実行するグラフィックスパイプラインのフローチャートを示す。
【
図7】幾つかの実施形態による例示的なV-PCCビットストリーム構造を示す。
【
図8】幾つかの実施形態による例示的なパッチフレーム層ユニット構文を示す。
【
図9】幾つかの実施形態による例示的なパッチフレームヘッダ構文を示す。
【
図10】幾つかの実施形態による例示的なパッチフレームデータユニット構文を示す。
【
図11】幾つかの実施形態による例示的なパッチ情報データ構文を示す。
【
図12】幾つかの実施形態による例示的なパッチデータユニット構文を示す。
【
図13】幾つかの実施形態によるデルタパッチデータユニット構文を示す。
【
図14】幾つかの実施形態による例示的なPCMパッチデータユニット構文を示す。
【
図15】幾つかの実施形態による例示的なホモグラフィパッチデータユニット構文を示す。
【
図16】幾つかの実施形態による、ホモグラフィパッチから点群を再構築するための行列を示す。
【
図17】幾つかの実施形態による、ホモグラフィ変換を使用した点群符号化を実装するように構成された例示的なコンピューティングデバイスのブロック図を示す。
【発明を実施するための形態】
【0011】
ビデオエンコーダを使用した最先端の点群圧縮は、点群を3Dパッチとして表し、ジオメトリ及び属性を2Dキャンバスに投影することによって形成された2D画像を符号化する。3D点から2D点へのマッピングは、方向平面及びパッチ向きなどの、幾つかの異なる選択肢を考慮して行われる。現在、点群圧縮標準は、これら全ての選択肢を補助データ構造に符号化してそれをデコーダに送り、デコーダは、3D点を再構築する。点は、レンダリングに使用されるため、別の変換が、点に適用されて、これらの点が再投影される。本明細書で説明する方法は、ホモグラフィ変換値を直接送信し、それによって、点群の高速レンダリングが可能になることができる。更に、本方法は、圧縮効率の観点からよりコンパクトである。
【0012】
以前の点群圧縮機構と比較して、本明細書で説明する方法は、明示的な投影値(バウンディングボックス及びパッチの向き、回転など)の代わりに、3Dパッチのホモグラフィ変換値を送る。本方法は、よりコンパクトな表記法を有しており、送信に関してより効率的であり、特に、3D点が再投影される場合(例えば、携帯電話機でビデオを生成する場合)、より高速な復号を可能にする。
【0013】
本明細書では、3D点群データを2Dサーフェスに符号化するための新規性のある方法について説明する。本方法は、3Dサーフェスパッチを利用して点群を表し、2Dパッチサーフェスへの3D点の一連のホモグラフィ変換値を送信する。
【0014】
ビデオエンコーダを使用した3D点群符号化では、3Dから2Dへの投影が、点群を表すビデオを生成するのに使用される。これらのビデオを生成する最も効率的な方法は、3Dパッチを使用することであり、この方法は、オブジェクトのサーフェスをセグメント化し、正射影を使用して、セグメント化された奥行き画像を生成し、これらの画像は、一緒にバンドルされ、ビデオエンコーダの入力として使用される。しかしながら、投影された点をどのようにして3Dで再構築するかを示す幾つかの補助情報が、ビデオ画像と一緒に送信される。バウンディングボックス及びパッチの向き、ディスプレイスメントなどの値が、現在、ビットストリームで明示的に送られる。
【0015】
本明細書で説明するように、点を2Dから3Dに再投影するための補助データは、ホモグラフィ変換として表される。ホモグラフィ変換は、3D点と2Dサーフェスとの間の投影を規定するために、射影幾何学で広範にわたって使用されている。投影行列を送ることにより、補助データ表現は、より効率的に符号化することができる。更に、ホモグラフィ変換は、他のホモグラフィ変換と組み合わせて使用されて、点を2Dパッチからビューイング投影に直接再投影でき、明示的な値を使用した現在の2Dから3Dへの投影に関連する費用のかかる演算が回避される。
【0016】
図1は、幾つかの実施形態による点群マッピングの方法のフローチャートを示している。3D点群100が取得される(例えば、カメラ/ビデオカメラによって取り込まれ、別のデバイスから受信され、ダウンロードされる)。ステップ110において、3D点群に関する法線が推定される。法線の推定は、kdツリーの構築、ローカル近傍(例えば、k近傍など)の調査、最適な近似接平面の計算(共分散分析を使用)、法線平滑
化の実行、法線向きの決定(最小スパニングツリー伝搬)を含む。ステップ112において、初期セグメンテーションが実行される。初期セグメンテーションは、6つの向き(+X、-X、+Y、-Y、+Z、-Z)に従って点を分類することを含む。初期セグメンテーションは、固定された向きに従って点を分類する。分類後、向きは、平面に投影される。点のクラスタが決定されると、これらの点は、同じ平面に投影される。点の投影は、点のバウンディングボックスを規定すること114において、セグメンテーションが精緻化される。セグメンテーションを精緻化することは、近傍法を使用して画素分類を平滑化することを含む(例えば、指定されたスコアを最大にするため)。ステップ116において、パッチがセグメント化される。パッチをセグメント化することは、隣接情報を計算すること、パッチを抽出すること、奥行きフィルタリングを実行すること、及び欠落点を特定することを含む。3D点群マッピングは、2D画像102をもたらす。幾つかの実施形態では、より少ない又は追加のステップが実行される。幾つかの実施形態では、ステップの順序が変更される。
【0017】
図2は、幾つかの実施形態によるセグメンテーションに関する投影の図を示している。x、y、z軸に平行なサーフェスへの投影のみを許可していた以前の実装と異なり、本明細書で説明する方法は、ホモグラフィ変換を使用して任意の位置で平面に投影することができる。ホモグラフィ変換(又は転換)は、3D点を2Dに(及びその逆に)マッピングする。
【0018】
正投影に関する行列は、クリッピング平面を規定する6つのタプル(left(左)、right(右)、bottom(下)、top(上)、near(近く)、far(遠く))で規定することができる。これらの平面は、最小のコーナーが(left(左)、bottom(下)、-near(近く))にあり、最大のコーナーが(right(右)、top(上)、-far(遠く))にある状態でボックスを形成する。
【0019】
図3は、幾つかの実施形態によるデータを符号化するための表現を示している。表現300は、以前の実装が、各パッチに対してU
0、V
0、サイズU
0及びサイズV
00などの情報を含む固定投影情報をどのように表現したかを示している。表現302は、各パッチに関するホモグラフィ変換情報(例えば、
図2に示されている行列の係数)を含む現在の実装である。ホモグラフィ変換を使用することにより、本システムは、バウンディングボックスがどの平面に投影されているかに関与しない。
【0020】
図4は、幾つかの実施形態によるカメラ投影に基づくパッチ生成に関する図を示している。3Dモデル/ターゲット400の点群は、カメラ402を使用して取り込まれる。幾つかの実施形態では、カメラ402は、x、y、及びz軸に沿って位置決めされる。点群が取得され、パッチがセグメント化される。同様の特性を有する点が配置され(例えば、投影された画像404内のメッシュ406内の点の全て)、同じ平面に投影される。3D位置は、投影された画像404に符号化される、点からサーフェス又はメッシュ406までの距離である。バウンディングボックスの生成に使用される、どの平面が選択されているか(例えば、+X平面)を示すインデックスが、送信される。情報の全ては、ホモグラフィ変換として表すことができる。
【0021】
図5は、幾つかの実施形態による、ホモグラフィ変換がどのようにして構築されるかについての図である。ホモグラフィ変換は、3つの行列(例えば、ViewMat、ProjMat、及びViewportMat)を乗算したものである。個々のカメラ行列に相関する行列が、カメラの回転(例えば、R
0、0)に基づいて生成される。演算(例えば、Proj Matrix)は、U
1、V
1、D
1などの値に従って投影をシフトすることができる。行列のうちの1つ(例えば、Viewport Matrix(ビューポート行列))が、サーフェスを決定し、サーフェスを2Dキャンバスにマッピングする。
【0022】
ビューイング行列(ViewMatrix)は、カメラを表し、投影行列(ProjMat)は、カメラセンサ内の画素を表し、ビューポート行列(ViewportMat)は、カメラ内の画素から画像内の画素への変換を表す。ホモグラフィ変換が3D画素に適用されて、画素を2Dサーフェスにマッピングすることができる。スケーリング、せん断、透視投影などの演算も実行することができる。
【0023】
図6は、幾つかの実施形態による、ホモグラフィ変換法を使用して点群符号化を実行するグラフィックスパイプラインのフローチャートを示している。ステップ600において、モデル(x、y、z)頂点が入力される。ステップ602において、モデルビュー変換が適用される。ステップ604において、投影変換が適用される。ステップ606において、正規化及びクリップ変換が適用される。ステップ608において、ビューポート変換が適用される。ステップ610において、ラスタライジングが実行される。ステップ612において、シェーディングが適用される。ステップ614において、合成が適用されて、2D表現が生成される。幾つかの実施形態では、より少ない又は追加のステップが実行される。幾つかの実施形態では、ステップの順序が変更される。
【0024】
幾つかの実施形態では、ホモグラフィ変換値を符号化することは、算術エンコーダを使用して各係数(浮動小数)を別々に符号化することを含む。
【0025】
図7は、幾つかの実施形態による例示的なV-PCCビットストリーム構造を示している。
図8は、幾つかの実施形態による例示的なパッチフレーム層ユニット構文を示している。
図9は、幾つかの実施形態による例示的なパッチフレームヘッダ構文を示している。
【0026】
図10は、幾つかの実施形態による例示的なパッチフレームデータユニット構文を示している。pfdu_patch_mode[frmIdx][p]は、インデックスfrmIdxを有するパッチフレーム内のインデックスpを有するパッチに関するパッチモードを示す。pfdu_patch_mode[frmIdx][p]の許容値は、pfh_type[frmIdx]=Iを有するパッチフレームの場合、1000に指定され、[frmIdx]=Pを有するパッチフレームの場合、1002に指定される。
【0027】
図11は、幾つかの実施形態による例示的なパッチ情報データ構文を示している。
【0028】
図12は、幾つかの実施形態による例示的なパッチデータユニット構文を示している。pdu_lod[frmIdx][p]は、パッチフレームfrmIdxのインデックスpを有するパッチに適用されるLODスケーリング係数を指定する。フレームfrmIdx内のパッチpに関する再構築された点3D位置は、それらの2Dからの投影後、及び、何らかの更なる変換が適用される前に、2
pdu_lod[frmIdx][p]によってスケーリングされることになる。pdu_lod[frmIdx][p]が存在しない場合には、その値は、0に等しいと推測される必要がある。
【0029】
0に等しいpdu_projection_mode[frmIdx][p]は、パッチフレームfrmIdxのインデックスpを有する持つパッチが近くの投影面に投影されることを指定する。1に等しいpdu_projection_mode[frmIdx][p]は、パッチが遠方の投影面に投影されることを指定する。pdu_projection_mode[frmIdx][p]が存在しない場合に、その値は、0に等しいと推測される必要がある。
【0030】
図13は、幾つかの実施形態によるデルタパッチデータユニット構文を示している。
【0031】
図14は、幾つかの実施形態による例示的なPCMパッチデータユニット構文を示している。ppdu_patch_in_pcm_video_flag[frmIdx][p]は、インデックスfrmIdxを有するパッチフレーム内のPCM符号化パッチpに関連するジオメトリ及び属性データが、イントラ及びインター符号化パッチのものと比較して異なるビデオに符号化されるか否かを指定する。ppdu_patch_in_pcm_video_flag[frmIdx][p]が0に等しい場合には、インデックスfrmIdxを有するパッチフレーム内のPCM符号化パッチpに関連するジオメトリ及び属性データは、イントラ及びインター符号化パッチのビデオと同じビデオに符号化される。ppdu_patch_in_pcm_video_flag[frmIdx][p]が1に等しい場合には、インデックスfrmIdxを有するパッチフレーム内のPCM符号化パッチpに関連するジオメトリ及び属性データは、イントラ及びインター符号化パッチのビデオと異なるビデオに符号化される。ppdu_pcm_points[frmIdx][p]は、インデックスfrmIdxを有するパッチフレーム内のPCM符号化パッチpに存在するpcm点の数を指定する。ppdu_pcm_points[frmIdx][p]の値は、包括的な、0から(Patch2dSizeU[frmIdx][p]*Patch2dSizeU[frmIdx][p]/3)の範囲内にあるべきである。
【0032】
図15は、幾つかの実施形態による例示的なホモグラフィパッチデータユニット構文を示している。hpdu_2d_shift_u[frmIdx][p]は、ops_occupancy_packing_block_sizeの倍数として表される、インデックスfrmIdxを有するパッチフレーム内のパッチpに関するパッチバウンディングボックスサイズの左上コーナーのx座標を指定する。hpdu_2d_shift_u[frmIdx][p]の値は、包括的な、0からMin(2pfh_2d_shift_u_bit_count_minus1[frmIdx]+1-1、sps_frame_width/ops_occupancy_packing_block_size-1)の範囲内にあるべきである。hpdu_2d_shift_v[frmIdx][p]は、ops_occupancy_packing_block_sizeの倍数として表される、インデックスfrmIdxを有するパッチフレーム内のパッチpに関するパッチバウンディングボックスサイズの左コーナーのy座標を指定する。hpdu_2d_shift_v[frmIdx][p]の値は、包括的な、0からMin(2pfh_2d_shift_v_bit_count_minus1[frmIdx]+1-1、sps_frame_height/ops_occupancy_packing_block_size-1)の範囲内にあるべきである。hpdu_2d_delta_size_u[frmIdx][p]は、pが0に等しい場合に、インデックスfrmIdxを有するパッチフレーム内のインデックス0を有するパッチの幅値を指定する。pが0より大きい場合には、hpdu_2d_delta_size_u[frmIdx][p]は、インデックスpを有するパッチの幅値と、インデックス(p-1)を有するパッチの幅値との差分を指定する。hpdu_2d_delta_size_v[frmIdx][p]は、pが0に等しい場合に、インデックスfrmIdxを有するパッチフレーム内のインデックス0を有するパッチの高さ値を指定する。pが0より大きい場合に、hpdu_2d_delta_size_v[frmIdx][p]は、インデックスpを有するパッチの高さ値と、インデックス(p-1)を有するパッチの高さ値との差分を指定する。hpdu_orientation_swap_flag[frmIdx][p]は、パッチフレームfrmIdxのインデックスpを有するに関するパッチ向きがテーブルに従って使用されるか否かを示す。pdu_orientation_swap_flag[frmIdx][p]が存在しない場合に、その値は、0に等しいと推測される必要がある。hpdu_homography_transform[frmIdx][patchIndex][i][j]は、4×4ホモグラフィ行列の係数[i][j]を指定する。ホモグラフィ変換は、例えば、異なるパッチ向き、異なるカメラ方向などのパッチへの変換を可能にする。
【0033】
ホモグラフィモードで符号化されたパッチユニットに対する復号処理が実装される。この処理への入力は、現在のパッチフレームインデックスfrmIdx、及び現在のパッチインデックスpである。以下のパッチ関連変数は、最初に、パッチデータユニット内の構文解析された要素を前提として割り当てられる。
Patch2dShiftU[frmIdx][p]=pdu_2d_shift_u[frmIdx][p]
*ops_occupancy_packing_block_size (8-6)
Patch2dShiftV[ frmIdx][p]=pdu_2d_shift_v[frmIdx][p]
*ops_occupancy_packing_block_size (8-7)
次に、変数Patch2dSizeU[frmIdx][p]及びPatch2dSizeV[frmIdx][p]が、次のように導出される。
If p is equal to 0, then:(pが0に等しい場合、)
Patch2dSizeU[frmIdx][p]=pdu_2d_delta_size_u[frmIdx][p]
*ops_occupancy_packing_block_size (8-8)
Patch2dSizeV[frmIdx][p]=pdu_2d_delta_size_v[frmIdx][p]
*ops_occupancy_packing_block_size (8-9)
Otherwise,if(p>0),then:(それ以外の場合、pが0より大きい場合、)
Patch2dSizeU[frmIdx][p]=Patch2dSizeU[frmIdx][p-1]+
pdu_2d_delta_size_u[frmIdx][p]*ops_occupancy_packing_block_size (8-10)
Patch2dSizeV[frmIdx][p]=Patch2dSizeV[frmIdx][p-1]+
pdu_2d_delta_size_v[frmIdx][p]*ops_occupancy_packing_block_size (8-11)
for(i=0;i<4;i++){
for(j=0;j<4;j++){
Homography[frmIdx][p][i][j]=hpdu_homography_transform[frmIdx][p
][i][j]
}
}
【0034】
図16は、幾つかの実施形態による、ホモグラフィパッチから点群を再構築するための行列を示している。出力点群は、キャンバス内の位置と奥行き値とによって形成される同次座標表記におけるベクトルにホモグラフィ変換値を乗算することによって簡単に生成される。
【0035】
ホモグラフィ変換値を信号で伝える別の方法は、パッチデータユニットにフラグを追加して、より多くの情報、すなわち、ホモグラフィ変換係数が送られることを信号で伝えることである。
【0036】
図17は、幾つかの実施形態による、ホモグラフィ変換を使用した点群符号化を実装するように構成された例示的なコンピューティングデバイスのブロック図を示している。コンピューティングデバイス1700は、3Dコンテンツを含む画像及びビデオなどの情報を取得、格納、計算、処理、伝達、及び/又は表示するのに使用することができる。コンピューティングデバイス700は、点群符号化態様のいずれかを実装することができる。一般に、コンピューティングデバイス700を実装するのに適したハードウェア構造は、ネットワークインタフェース1702、メモリ1704、プロセッサ1706、I/Oデバイス1708、バス1710、及びストレージデバイス1712を含む。プロセッサの選択は、十分な速度を有する好適なプロセッサが選択されている限り、重要でない。メモリ704は、当技術分野で公知の任意の従来型コンピュータメモリとすることができる。ストレージデバイス1712は、ハードドライブ、CDROM、CDRW、DVD、DVDRW、高精細ディスク/ドライブ、ウルトラHDドライブ、フラッシュメモリカード、又は他の任意のストレージデバイスを含むことができる。コンピューティングデバイス1700は、1又は2以上のネットワークインタフェース1702を含むことができる。ネットワークインタフェースの例は、イーサネット(登録商標)又は他のタイプのLANに接続されたネットワークカードを含む。I/Oデバイス708は、以下のもの、すなわち、キーボード、マウス、モニタ、スクリーン、プリンタ、モデム、タッチスクリーン、ボタンインタフェース、及び他のデバイスのうちの1又は2以上を含むことができる。点群符号化を実装するのに使用される点群符号化アプリケーション1730は、ストレージデバイス1712及びメモリ1704に格納され、アプリケーションが通常処理されように処理される可能性が高い。
図17に示されるより多くの又はより少ないコンポーネントが、コンピューティングデバイス1700に含めることができる。幾つかの実施形態では、点群符号化ハードウェア1720が含まれる。
図17におけるコンピューティングデバイス1700は、点群符号化のためのアプリケーション1730及びハードウェア1720を含むが、点群符号化は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせにおけるコンピューティングデバイス上に実装することができる。例えば、幾つかの実施形態では、点群符号化アプリケーション1730は、メモリ内にプログラムされ、プロセッサを使用して実行される。別の例では、幾つかの実施形態では、点群符号化ハードウェア1720は、点群符号化を実装するように特別に設計されたゲートを含むプログラムされたハードウェア論理回路である。
【0037】
幾つかの実施形態では、点群符号化アプリケーション1730は、幾つかのアプリケーション及び/又はモジュールを含む。幾つかの実施形態では、モジュールは、1又は2以上のサブモジュールも含む。幾つかの実施形態では、より少ない又は追加のモジュールを含めることができる。
【0038】
幾つかの実施形態では、点群符号化ハードウェア1720は、レンズ、画像センサ、及び/又は他の任意のカメラコンポーネントなどのカメラコンポーネントを含む。
【0039】
好適なコンピューティングデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、スマートフォン、ポータブル音楽プレーヤ、タブレットコンピュータ、モバイルデバイス、ビデオプレーヤ、ビデオディスクライタ/プレーヤ(例えば、DVDライタ/プレーヤ、高精細ディスクライタ/プレーヤ、超高精細ディスクライタ/プレーヤ)、テレビ、家庭用エンターテイメントシステム、拡張現実デバイス、仮想現実デバイス、スマートジュエリ(例えば、スマートウォッチ)、車両(例えば、自動運転車両)、又は他の任意の好適なコンピューティングデバイスを含む。
【0040】
ホモグラフィ変換法を使用した点群符号化を利用するために、デバイスは、3Dコンテンツを取得又は受信して、最適な方法でこのコンテンツを処理及び/又は送信して、3Dコンテンツの適切で効率的な表示を可能にする。点群符号化は、ユーザの支援を受けて、又はユーザの関与なしに自動的に実行することができる。
【0041】
動作中、ホモグラフィ変換法を使用した点群符号化は、明示的な投影値(バウンディングボックス及びパッチの向き、回転など)の代わりに、3Dパッチのホモグラフィ変換値を送る。本方法は、よりコンパクトな表記法を有しており、送信に関してより効率的であり、特に、3D点が再投影される場合(例えば、携帯電話機でビデオを生成する場合)、より高速な復号を可能にする。試験では、以前の実装と比較して、ホモグラフィ変換法を用いた点群符号化を使用すると性能が高まることが示されている。
【0042】
ホモグラフィ変換(パッチ)を使用する他の利点は、任意の方向(6つの軸に位置合わせされた向き方向だけでなく)を利用する(例えば、10個の投影がホモグラフィ変換を用いてモデル化できる)ことと、異なるタイプのカメラ(奥行き及びテクスチャで使用される正投影x遠近法カメラ)を使用できることと、2Dテクスチャ(復号属性のみ)、2Dプラス奥行きテクスチャ(復号属性及びホモグラフィパッチ)、及び点群(全てを復号)と互換性のある後方互換ビットストリームを生成することと、ホモグラフィパッチが、現在のパッチ定義と互換性がある(例えば、現在の表記法を使用してホモグラフィ変換を得ることができる)ことと、イントラ/インター機能とを含む。
【0043】
ホモグラフィ変換を使用した点群符号化の幾つかの実施形態
1.デバイスの非一時メモリにプログラムされた方法であって、
3次元コンテンツを取得することと、
ホモグラフィ変換を使用してこの3次元コンテンツを符号化することと、
を含む方法。
2.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む、条項1に記載の方法。
3.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、条項1に記載の方法。
4.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、条項1に記載の方法。
5.ホモグラフィ行列は、3つの行列から計算される、条項4に記載の方法。
6.3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、条項5に記載の方法。
7.ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す、条項6に記載の方法。
8.3次元コンテンツを取得すること、及びホモグラフィ変換を使用してこの3次元コンテンツを符号化することのためのアプリケーションを格納するための非一時的メモリと、
このメモリに結合されており、このアプリケーションを処理するように構成されたプロセッサと、
を備える装置。
9.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む、条項8に記載の装置。
10.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、条項8に記載の装置。
11.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、条項8に記載の装置。
12.ホモグラフィ行列は、3つの行列から計算される、条項11に記載の装置。
13.3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、条項12に記載の装置。
14.ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す、条項13に記載の装置。
15.3次元コンテンツを取得するための1又は2以上のカメラと、
ホモグラフィ変換を使用してこの3次元コンテンツを符号化するためのエンコーダと、
を備えるシステム。
16.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元コンテンツを2次元コンテンツに変換することを含む、条項15に記載のシステム。
17.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、3次元から2次元への変換のホモグラフィ変換係数を送信することを含む、条項15に記載のシステム。
18.ホモグラフィ変換を使用して3次元コンテンツを符号化することは、ホモグラフィ行列を計算することを含む、条項15に記載のシステム。
19.ホモグラフィ行列は、3つの行列から計算される、条項18に記載のシステム。
20.3つの行列は、ビューイング行列、投影行列、及びビューポート行列を含む、条項19に記載のシステム。
21.ビューイング行列は、カメラを表し、投影行列は、カメラのセンサ内の画素を表し、ビューポート行列は、カメラ内の画素から画像内の画素への変換を表す、条項20に記載のシステム。
【0044】
本発明は、本発明の構成及び動作の原理の理解を容易にするための詳細が組み込まれた特定の実施形態に関して説明されている。特定の実施形態及びその詳細への本明細書におけるそのような言及は、本明細書に添付されている特許請求の範囲を限定することを意図するものではない。当業者であれば、特許請求の範囲によって規定される本発明の趣旨及び範囲から逸脱することなく、例示のために選択された実施形態において他の様々な修正を行うことができることは容易に明らかであろう。