(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022082586
(43)【公開日】2022-06-02
(54)【発明の名称】三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置
(51)【国際特許分類】
H04N 19/597 20140101AFI20220526BHJP
【FI】
H04N19/597
【審査請求】有
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022037495
(22)【出願日】2022-03-10
(62)【分割の表示】P 2020093462の分割
【原出願日】2017-05-23
(31)【優先権主張番号】62/349,772
(32)【優先日】2016-06-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】杉尾 敏康
(72)【発明者】
【氏名】西 孝啓
(72)【発明者】
【氏名】遠間 正真
(72)【発明者】
【氏名】松延 徹
(72)【発明者】
【氏名】吉川 哲史
(72)【発明者】
【氏名】小山 達也
(57)【要約】
【課題】伝送するデータ量を削減する。
【解決手段】三次元データ符号化方法は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出ステップ(S403)と、第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化ステップ(S405)とを含み、、抽出ステップ(S403)では、さらに、第1三次元データから予め定められた属性を有する物体に対応するデータを第2三次元データとして抽出する。
【選択図】
図17
【特許請求の範囲】
【請求項1】
第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出ステップと、
前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化ステップとを含み、
前記抽出ステップでは、さらに、前記第1三次元データから予め定められた属性を有する物体に対応するデータを前記第2三次元データとして抽出する
三次元データ符号化方法。
【請求項2】
前記三次元データ符号化方法は、さらに、
前記第1三次元データを符号化することで第2符号化三次元データを生成する第2符号化ステップを含む
請求項1記載の三次元データ符号化方法。
【請求項3】
前記第2三次元データは、第1符号化方法により符号化され、
前記第1三次元データは、前記第1符号化方法とは異なる第2符号化方法により符号化される
請求項2記載の三次元データ符号化方法。
【請求項4】
前記第1符号化方法では、前記第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先される
請求項3記載の三次元データ符号化方法。
【請求項5】
前記第1符号化方法と前記第2符号化方法とでは、三次元位置の表現手法が異なる
請求項3記載の三次元データ符号化方法。
【請求項6】
前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む
請求項2記載の三次元データ符号化方法。
【請求項7】
前記第1符号化ステップでは、前記第1符号化三次元データのデータ量が前記第2符号化三次元データのデータ量より小さくなるように前記第2三次元データを符号化する
請求項2記載の三次元データ符号化方法。
【請求項8】
前記三次元データ符号化方法は、さらに、
クライアントの状態に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含む
請求項2記載の三次元データ符号化方法。
【請求項9】
前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含む
請求項8記載の三次元データ符号化方法。
【請求項10】
前記三次元データ符号化方法は、さらに、
クライアントの要求に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含む
請求項2記載の三次元データ符号化方法。
【請求項11】
第1三次元データから抽出された特徴量が閾値以上であり、かつ予め定められた属性を有する物体に対応するデータである第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号ステップと、
前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号ステップとを含む
三次元データ復号方法。
【請求項12】
前記第1復号方法では、前記第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先される
請求項11記載の三次元データ復号方法。
【請求項13】
前記第1復号方法と前記第2復号方法とでは、三次元位置の表現手法が異なる
請求項11記載の三次元データ復号方法。
【請求項14】
前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含み、
前記識別子を参照して、前記第1符号化三次元データ及び前記第2符号化三次元データを識別する
請求項11記載の三次元データ復号方法。
【請求項15】
前記三次元データ復号方法は、さらに、
クライアントの状態をサーバに通知する通知ステップと、
前記クライアントの状態に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップとを含む
請求項11記載の三次元データ復号方法。
【請求項16】
前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含む
請求項15記載の三次元データ復号方法。
【請求項17】
前記三次元データ復号方法は、さらに、
前記第1符号化三次元データ及び前記第2符号化三次元データの一方をサーバに要求する要求ステップと、
前記要求に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップを含む
請求項11記載の三次元データ復号方法。
【請求項18】
第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出部と、
前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化部とを備え、
前記抽出部は、さらに、前記第1三次元データから予め定められた属性を有する物体に対応するデータを前記第2三次元データとして抽出する
三次元データ符号化装置。
【請求項19】
第1三次元データから抽出された特徴量が閾値以上であり、かつ予め定められた属性を有する物体に対応するデータである第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号部と、
前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号部とを備える
三次元データ復号装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置に関する。
【背景技術】
【0002】
自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
【0003】
三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある(例えば、非特許文献1を参照)。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
【0004】
また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】“Octree-Based Progressive Geometry Coding of Point Clouds”, Eurographics Symposium on Point-Based Graphics (2006)
【発明の概要】
【発明が解決しようとする課題】
【0006】
このような三次元データは、二次元データに比べデータ量が膨大であり、伝送する三次元符号化データのデータ量も膨大となる。
【0007】
本開示では、伝送するデータ量を削減できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様に係る三次元データ符号化方法は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出ステップと、前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化ステップとを含み、前記抽出ステップでは、さらに、前記第1三次元データから予め定められた属性を有する物体に対応するデータを前記第2三次元データとして抽出する。
【0009】
本開示の一態様に係る三次元データ復号方法は、第1三次元データから抽出された特徴量が閾値以上であり、かつ予め定められた属性を有する物体に対応するデータである第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号ステップと、前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号ステップとを含む。
【0010】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
本開示は、伝送するデータ量を削減できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置を提供できる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態1に係る符号化三次元データの構成を示す図である。
【
図2】
図2は、実施の形態1に係るGOSの最下層レイヤに属するSPC間の予測構造の一例を示す図である。
【
図3】
図3は、実施の形態1に係るレイヤ間の予測構造の一例を示す図である。
【
図4】
図4は、実施の形態1に係るGOSの符号化順の一例を示す図である。
【
図5】
図5は、実施の形態1に係るGOSの符号化順の一例を示す図である。
【
図6】
図6は、実施の形態1に係る三次元データ符号化装置のブロック図である。
【
図7】
図7は、実施の形態1に係る符号化処理のフローチャートである。
【
図8】
図8は、実施の形態1に係る三次元データ復号装置のブロック図である。
【
図9】
図9は、実施の形態1に係る復号処理のフローチャートである。
【
図10】
図10は、実施の形態1に係るメタ情報の一例を示す図である。
【
図11】
図11は、実施の形態2に係るSWLDの構成例を示す図である。
【
図12】
図12は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図13】
図13は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図14】
図14は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図15】
図15は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図16】
図16は、実施の形態2に係る三次元データ符号化装置のブロック図である。
【
図17】
図17は、実施の形態2に係る符号化処理のフローチャートである。
【
図18】
図18は、実施の形態2に係る三次元データ復号装置のブロック図である。
【
図19】
図19は、実施の形態2に係る復号処理のフローチャートである。
【
図20】
図20は、実施の形態2に係るWLDの構成例を示す図である。
【
図21】
図21は、実施の形態2に係るWLDの8分木構造の例を示す図である。
【
図22】
図22は、実施の形態2に係るSWLDの構成例を示す図である。
【
図23】
図23は、実施の形態2に係るSWLDの8分木構造の例を示す図である。
【発明を実施するための形態】
【0013】
ポイントクラウド等の符号化データを実際の装置又はサービスにおいて使用する際には、所望の空間位置又はオブジェクトなどに対するランダムアクセスが必須となるが、これまで、三次元の符号化データにおけるランダムアクセスは機能として存在せず、そのための符号化方法も存在しなかった。
【0014】
本開示では、符号化三次元データにおいてランダムアクセス機能を提供できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置又は三次元データ復号装置について説明する。
【0015】
本開示の一態様に係る三次元データ符号化方法は、三次元データを符号化する三次元データ符号化方法であって、前記三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位に分割する分割ステップと、複数の前記第1処理単位の各々を符号化することで符号化データを生成する符号化ステップとを含む。
【0016】
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ符号化方法は、符号化三次元データにおいてランダムアクセス機能を提供できる。
【0017】
例えば、前記三次元データ符号化方法は、前記複数の第1処理単位と、前記複数の第1処理単位の各々に対応付けられている三次元座標とを示す第1情報を生成する生成ステップを含み、前記符号化データは、前記第1情報を含んでもよい。
【0018】
例えば、前記第1情報は、さらに、前記複数の第1処理単位の各々に対応付けられている、オブジェクト、時刻及びデータ格納先のうち少なくとも一つを示してもよい。
【0019】
例えば、前記分割ステップでは、さらに、前記第1処理単位を複数の第2処理単位に分割し、前記符号化ステップでは、前記複数の第2処理単位の各々を符号化してもよい。
【0020】
例えば、前記符号化ステップでは、処理対象の第1処理単位に含まれる処理対象の第2処理単位を、前記処理対象の第1処理単位に含まれる他の第2処理単位を参照して符号化してもよい。
【0021】
これによれば、他の第2処理単位を参照することで符号化効率を向上できる。
【0022】
例えば、前記符号化ステップでは、前記処理対象の第2処理単位のタイプとして、他の第2処理単位を参照しない第1タイプ、他の一つの第2処理単位を参照する第2タイプ、及び他の二つの第2処理単位を参照する第3タイプのうちいずれかを選択し、選択したタイプに従い前記処理対象の第2処理単位を符号化してもよい。
【0023】
例えば、前記符号化ステップでは、前記三次元データに含まれるオブジェクトの数又は粗密さに応じて、前記第1タイプを選択する頻度を変更してもよい。
【0024】
これによれば、トレードオフの関係にあるランダムアクセス性と符号化効率とを適切に設定できる。
【0025】
例えば、前記符号化ステップでは、前記三次元データに含まれるオブジェクト又は動的オブジェクトの数又は粗密さに応じて、前記第1処理単位のサイズを決定してもよい。
【0026】
これによれば、トレードオフの関係にあるランダムアクセス性と符号化効率とを適切に設定できる。
【0027】
例えば、前記第1処理単位は、予め定められた方向に空間分割され、各々が1以上の前記第2処理単位を含む複数のレイヤを含み、前記符号化ステップでは、前記第2処理単位を、当該第2処理単位と同一レイヤ又は当該第2処理単位より下層のレイヤに含まれる前記第2処理単位を参照して符号化してもよい。
【0028】
これによれば、例えば、システムにおいて重要なレイヤのランダムアクセス性を向上できるとともに、符号化効率の低下を抑制できる。
【0029】
例えば、前記分割ステップでは、静的オブジェクトのみを含む第2処理単位と、動的オブジェクトのみを含む第2処理単位とを異なる第1処理単位に割り当ててもよい。
【0030】
これによれば、動的オブジェクトと静的オブジェクトとの制御を容易に行える。
【0031】
例えば、前記符号化ステップでは、複数の動的オブジェクトを個別に符号化し、前記複数の動的オブジェクトの符号化データは、静的オブジェクトのみを含む第2処理単位に対応付けられてもよい。
【0032】
これによれば、動的オブジェクトと静的オブジェクトとの制御を容易に行える。
【0033】
例えば、前記分割ステップでは、さらに、前記第2処理単位を複数の第3処理単位に分割し、前記符号化ステップでは、前記複数の第3処理単位の各々を符号化してもよい。
【0034】
例えば、前記第3処理単位は、位置情報が対応付けられる最小単位である1以上のボクセルを含んでもよい。
【0035】
例えば、前記第2処理単位は、センサで得られた情報から導出された特徴点群を含んでもよい。
【0036】
例えば、前記符号化データは、前記複数の第1処理単位の符号化順を示す情報を含んでもよい。
【0037】
例えば、前記符号化データは、前記複数の第1処理単位のサイズを示す情報を含んでもよい。
【0038】
例えば、前記符号化ステップでは、前記複数の第1処理単位を並列に符号化してもよい。
【0039】
また、本開示の一態様に係る三次元データ復号方法は、三次元データを復号する三次元データ復号方法であって、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位の符号化データの各々を復号することで前記第1処理単位の三次元データを生成する復号ステップを含む。
【0040】
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ復号方法は、符号化三次元データにおいてランダムアクセス機能を提供できる。
【0041】
また、本開示の一態様に係る三次元データ符号化装置は、三次元データを符号化する三次元データ符号化装置であって、前記三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位に分割する分割部と、複数の前記第1処理単位の各々を符号化することで符号化データを生成する符号化部とを含んでもよい。
【0042】
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ符号化装置は、符号化三次元データにおいてランダムアクセス機能を提供できる。
【0043】
また、本開示の一態様に係る三次元データ復号装置は、三次元データを復号する三次元データ復号装置であって、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位の符号化データの各々を復号することで前記第1処理単位の三次元データを生成する復号部を含んでもよい。
【0044】
これによれば、第1処理単位ごとのランダムアクセスが可能となる。このように、当該三次元データ復号装置は、符号化三次元データにおいてランダムアクセス機能を提供できる。
【0045】
なお、本開示は空間を分割して符号化する構成により、空間の量子化、予測等を可能とし、必ずしもランダムアクセスを行わない場合であっても有効である。
【0046】
また、本開示の一態様に係る三次元データ符号化方法は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出ステップと、前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化ステップとを含む。
【0047】
これによれば、当該三次元データ符号化方法は、特徴量が閾値以上のデータを符号化した第1符号化三次元データを生成する。これにより、第1三次元データをそのまま符号化する場合に比べて符号化三次元データのデータ量を削減できる。よって、当該三次元データ符号化方法は、伝送するデータ量を削減できる。
【0048】
例えば、前記三次元データ符号化方法は、さらに、前記第1三次元データを符号化することで第2符号化三次元データを生成する第2符号化ステップを含んでもよい。
【0049】
これによれば、当該三次元データ符号化方法は、例えば、使用用途等に応じて、第1符号化三次元データと第2符号化三次元データとを選択的に伝送できる。
【0050】
例えば、前記第2三次元データは、第1符号化方法により符号化され、前記第1三次元データは、前記第1符号化方法とは異なる第2符号化方法により符号化されてもよい。
【0051】
これによれば、当該三次元データ符号化方法は、第1三次元データと第2三次元データとにそれぞれ適した符号化方法を用いることができる。
【0052】
例えば、前記第1符号化方法では、前記第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0053】
これによれば、当該三次元データ符号化方法は、隣接するデータ間の相関が低くなりやすい第2三次元データに対して、インター予測の優先度を上げることができる。
【0054】
例えば、前記第1符号化方法と前記第2符号化方法とでは、三次元位置の表現手法が異なってもよい。
【0055】
これによれば、当該三次元データ符号化方法は、データ数が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0056】
例えば、前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含んでもよい。
【0057】
これによれば、復号装置は、取得した符号化三次元データが第1符号化三次元データであるか第2符号化三次元データであるかを容易に判定できる。
【0058】
例えば、前記第1符号化ステップでは、前記第1符号化三次元データのデータ量が前記第2符号化三次元データのデータ量より小さくなるように前記第2三次元データを符号化してもよい。
【0059】
これによれば、当該三次元データ符号化方法は、第1符号化三次元データのデータ量を第2符号化三次元データのデータ量より小さくできる。
【0060】
例えば、前記抽出ステップでは、さらに、前記第1三次元データから予め定められた属性を有する物体に対応するデータを前記第2三次元データとして抽出してもよい。
【0061】
これによれば、当該三次元データ符号化方法は、復号装置で必要となるデータを含む第1符号化三次元データを生成できる。
【0062】
例えば、前記三次元データ符号化方法は、さらに、クライアントの状態に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含んでもよい。
【0063】
これによれば、当該三次元データ符号化方法は、クライアントの状態に応じて適切なデータを送信できる。
【0064】
例えば、前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含んでもよい。
【0065】
例えば、前記三次元データ符号化方法は、さらに、クライアントの要求に応じて、前記第1符号化三次元データ及び前記第2符号化三次元データの一方を前記クライアントに送信する送信ステップを含んでもよい。
【0066】
これによれば、当該三次元データ符号化方法は、クライアントの要求に応じて適切なデータを送信できる。
【0067】
また、本開示の一態様に係る三次元データ復号方法は、第1三次元データから抽出された特徴量が閾値以上の第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号ステップと、前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号ステップとを含む。
【0068】
これによれば、当該三次元データ復号方法は、特徴量が閾値以上のデータを符号化した第1符号化三次元データと、第2符号化三次元データとを、例えば、使用用途等に応じて選択的に受信できる。これにより、当該三次元データ復号方法は、伝送するデータ量を削減できる。さらに、当該三次元データ復号方法は、第1三次元データと第2三次元データとにそれぞれ適した復号方法を用いることができる。
【0069】
例えば、前記第1復号方法では、前記第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0070】
これによれば、当該三次元データ復号方法は、隣接するデータ間の相関が低くなりやすい第2三次元データに対して、インター予測の優先度を上げることができる。
【0071】
例えば、前記第1復号方法と前記第2復号方法とでは、三次元位置の表現手法が異なってもよい。
【0072】
これによれば、当該三次元データ復号方法は、データ数が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0073】
例えば、前記第1符号化三次元データ及び前記第2符号化三次元データの少なくとも一方は、当該符号化三次元データが前記第1三次元データを符号化することで得られた符号化三次元データであるか、前記第1三次元データのうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含み、前記識別子を参照して、前記第1符号化三次元データ及び前記第2符号化三次元データを識別してもよい。
【0074】
これによれば、当該三次元データ復号方法は、取得した符号化三次元データが第1符号化三次元データであるか第2符号化三次元データであるかを容易に判定できる。
【0075】
例えば、前記三次元データ復号方法は、さらに、クライアントの状態をサーバに通知する通知ステップと、前記クライアントの状態に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップとを含んでもよい。
【0076】
これによれば、当該三次元データ復号方法は、クライアントの状態に応じて適切なデータを受信できる。
【0077】
例えば、前記クライアントの状態は、前記クライアントの通信状況、又は前記クライアントの移動速度を含んでもよい。
【0078】
例えば、前記三次元データ復号方法は、さらに、前記第1符号化三次元データ及び前記第2符号化三次元データの一方をサーバに要求する要求ステップと、前記要求に応じて、前記サーバから送信された前記第1符号化三次元データ及び前記第2符号化三次元データの一方を受信する受信ステップを含んでもよい。
【0079】
これによれば、当該三次元データ復号方法は、用途に応じた適切なデータを受信できる。
【0080】
また、本開示の一態様に係る三次元データ符号化装置は、第1三次元データから特徴量が閾値以上の第2三次元データを抽出する抽出部と、前記第2三次元データを符号化することで第1符号化三次元データを生成する第1符号化部とを備える。
【0081】
これによれば、当該三次元データ符号化装置は、特徴量が閾値以上のデータを符号化した第1符号化三次元データを生成する。これにより、第1三次元データをそのまま符号化する場合に比べてデータ量を削減できる。よって、当該三次元データ符号化装置は、伝送するデータ量を削減できる。
【0082】
また、本開示の一態様に係る三次元データ復号装置は、第1三次元データから抽出された特徴量が閾値以上の第2三次元データが符号化されることで得られた第1符号化三次元データを第1復号方法により復号する第1復号部と、前記第1三次元データが符号化されることで得られた第2符号化三次元データを、前記第1復号方法とは異なる第2復号方法により復号する第2復号部とを備える。
【0083】
これによれば、当該三次元データ復号装置は、特徴量が閾値以上のデータを符号化した第1符号化三次元データと、第2符号化三次元データとを、例えば、使用用途等に応じて選択的に受信できる。これにより、当該三次元データ復号装置は、伝送するデータ量を削減できる。さらに、当該三次元データ復号装置は、第1三次元データと第2三次元データとにそれぞれ適した復号方法を用いることができる。
【0084】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0085】
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0086】
(実施の形態1)
まず、本実施の形態に係る符号化三次元データ(以下、符号化データとも記す)のデータ構造について説明する。
図1は、本実施の形態に係る符号化三次元データの構成を示す図である。
【0087】
本実施の形態では、三次元空間は、動画像の符号化におけるピクチャに相当するスペース(SPC)に分割され、スペースを単位として三次元データが符号化される。スペースは、さらに、動画像符号化におけるマクロブロックなどに相当するボリューム(VLM)に分割され、VLMを単位として予測及び変換が行われる。ボリュームは、位置座標が対応付けられる最小単位である複数のボクセル(VXL)を含む。なお、予測とは、二次元画像で行われる予測と同様に、他の処理単位を参照し、処理対象の処理単位と類似する予測三次元データを生成し、当該予測三次元データと処理対象の処理単位との差分を符号化することである。また、この予測は、同一時刻の他の予測単位を参照する空間予測のみならず、異なる時刻の予測単位を参照する時間予測を含む。
【0088】
例えば、三次元データ符号化装置(以下、符号化装置とも記す)は、ポイントクラウドなどの点群データにより表現される三次元空間を符号化する際には、ボクセルのサイズに応じて、点群の各点、又は、ボクセル内に含まれる複数点をまとめて符号化する。ボクセルを細分化すれば点群の三次元形状を高精度に表現でき、ボクセルのサイズを大きくすれば点群の三次元形状をおおまかに表現できる。
【0089】
なお、以下では、三次元データがポイントクラウドである場合を例に説明を行うが、三次元データはポイントクラウドに限定されず、任意の形式の三次元データでよい。
【0090】
また、階層構造のボクセルを用いてもよい。この場合、n次の階層では、n-1次以下の階層(n次の階層の下層)にサンプル点が存在するかどうかを順に示してもよい。例えば、n次の階層のみを復号する際において、n-1次以下の階層にサンプル点が存在する場合は、n次階層のボクセルの中心にサンプル点が存在するとみなして復号できる。
【0091】
また、符号化装置は、点群データを、距離センサ、ステレオカメラ、単眼カメラ、ジャイロ、又は慣性センサなどを用いて取得する。
【0092】
スペースは、動画像の符号化と同様に、単独で復号可能なイントラ・スペース(I-SPC)、単方向の参照のみ可能なプレディクティブ・スペース(P-SPC)、及び、双方向の参照が可能なバイディレクショナル・スペース(B-SPC)を含む少なくとも3つの予測構造のいずれかに分類される。また、スペースは復号時刻と表示時刻との2種類の時刻情報を有する。
【0093】
また、
図1に示すように、複数のスペースを含む処理単位として、ランダムアクセス単位であるGOS(Group Of Space)が存在する。さらに、複数のGOSを含む処理単位としてワールド(WLD)が存在する。
【0094】
ワールドが占める空間領域は、GPS又は緯度及び経度情報などにより、地球上の絶対位置と対応付けられる。この位置情報はメタ情報として格納される。なお、メタ情報は、符号化データに含まれてもよいし、符号化データとは別に伝送されてもよい。
【0095】
また、GOS内では、全てのSPCが三次元的に隣接してもよいし、他のSPCと三次元的に隣接しないSPCが存在してもよい。
【0096】
なお、以下では、GOS、SPC又はVLM等の処理単位に含まれる三次元データに対する、符号化、復号又は参照等の処理を、単に、処理単位を符号化、復号又は参照する等とも記す。また、処理単位に含まれる三次元データは、例えば、三次元座標等の空間位置と、色情報等の特性値との少なくとも一つの組を含む。
【0097】
次に、GOSにおけるSPCの予測構造について説明する。同一GOS内の複数のSPC、又は、同一SPC内の複数のVLMは、互いに異なる空間を占めるが、同じ時刻情報(復号時刻及び表示時刻)を持つ。
【0098】
また、GOS内で復号順で先頭となるSPCはI-SPCである。また、GOSにはクローズドGOSとオープンGOSとの2種類が存在する。クローズドGOSは、先頭I-SPCから復号開始する際に、GOS内の全てのSPCを復号できるGOSである。オープンGOSでは、GOS内で先頭I-SPCよりも表示時刻が前となる一部のSPCは異なるGOSを参照しており、当該GOSのみで復号を行うことができない。
【0099】
なお、地図情報などの符号化データでは、WLDを符号化順とは逆方向から復号することがあり、GOS間に依存性があると逆方向再生が困難である。よって、このような場合には、基本的にはクローズドGOSが用いられる。
【0100】
また、GOSは、高さ方向にレイヤ構造を有し、下のレイヤのSPCから順に符号化又は復号が行われる。
【0101】
図2はGOSの最下層レイヤに属するSPC間の予測構造の一例を示す図である。
図3はレイヤ間の予測構造の一例を示す図である。
【0102】
GOS内には1つ以上のI-SPCが存在する。三次元空間内には、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などのオブジェクトが存在するが、特にサイズが小さいオブジェクトはI-SPCとして符号化すると有効である。例えば、三次元データ復号装置(以下、復号装置とも記す)は、GOSを低処理量又は高速に復号する際には、GOS内のI-SPCのみを復号する。
【0103】
また、符号化装置は、WLD内のオブジェクトの粗密さに応じてI-SPCの符号化間隔又は出現頻度を切替えてもよい。
【0104】
また、
図3に示す構成において、符号化装置又は復号装置は、複数のレイヤを下層(レイヤ1)から順に符号化又は復号する。これにより、例えば自動走行車などにとってより情報量の多い地面付近のデータの優先度を上げることができる。
【0105】
なお、ドローンなどで用いられる符号化データでは、GOS内において高さ方向で上のレイヤのSPCから順に符号化又は復号してもよい。
【0106】
また、符号化装置又は復号装置は、復号装置が荒くGOSを把握でき、徐々に解像度を上げるようにできるように、複数のレイヤを符号化又は復号してもよい。例えば、符号化装置又は復号装置は、レイヤ3、8、1、9…の順に符号化又は復号してもよい。
【0107】
次に、静的オブジェクト及び動的オブジェクトの扱い方について説明する。
【0108】
三次元空間には、建物又は道路など静的なオブジェクト又はシーン(以降、まとめて静的オブジェクトと呼ぶ)と、車又はヒトなどの動的なオブジェクト(以降、動的オブジェクトと呼ぶ)とが存在する。オブジェクトの検出は、ポイントクラウドのデータ、又は、ステレオカメラなどのカメラ映像などから特徴点を抽出するなどして、別途行われる。ここでは、動的オブジェクトの符号化方法の例について説明する。
【0109】
第1方法は、静的オブジェクトと動的オブジェクトとを区別せずに符号化する方法である。第2方法は、静的オブジェクトと動的オブジェクトとを識別情報により区別する方法である。
【0110】
例えば、GOSが識別単位として用いられる。この場合、静的オブジェクトを構成するSPCを含むGOSと、動的オブジェクトを構成するSPCを含むGOSとが、符号化データ内、又は符号化データとは別途格納される識別情報により区別される。
【0111】
または、SPCが識別単位として用いられてもよい。この場合、静的オブジェクトを構成するVLMを含むSPCと、動的オブジェクトを構成するVLMを含むSPCとが、上記識別情報により区別される。
【0112】
または、VLM或いはVXLが識別単位として用いられてもよい。この場合、静的オブジェクトを含むVLM又はVXLと、動的オブジェクトを含むVLM又はVXLとが上記識別情報により区別される。
【0113】
また、符号化装置は、動的オブジェクトを1以上のVLM又はSPCとして符号化し、静的オブジェクトを含むVLM又はSPCと、動的オブジェクトを含むSPCとを、互いに異なるGOSとして符号化してもよい。また、符号化装置は、動的オブジェクトのサイズに応じてGOSのサイズが可変となる場合には、GOSのサイズをメタ情報として別途格納する。
【0114】
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに独立に符号化し、静的オブジェクトから構成されるワールドに対して、動的オブジェクトを重畳してもよい。このとき、動的オブジェクトは1以上のSPCから構成され、各SPCは、当該SPCが重畳される静的オブジェクトを構成する1以上のSPCに対応付けられる。なお、動的オブジェクトをSPCではなく、1以上のVLM又はVXLにより表現してもよい。
【0115】
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに異なるストリームとして符号化してもよい。
【0116】
また、符号化装置は、動的オブジェクトを構成する1以上のSPCを含むGOSを生成してもよい。さらに、符号化装置は、動的オブジェクトを含むGOS(GOS_M)と、GOS_Mの空間領域に対応する静的オブジェクトのGOSとを同一サイズ(同一の空間領域を占める)に設定してもよい。これにより、GOS単位で重畳処理を行うことができる。
【0117】
動的オブジェクトを構成するP-SPC又はB-SPCは、符号化済みの異なるGOSに含まれるSPCを参照してもよい。動的オブジェクトの位置が時間的に変化し、同一の動的オブジェクトが異なる時刻のGOSとして符号化されるケースでは、GOSを跨いだ参照が圧縮率の観点から有効となる。
【0118】
また、符号化データの用途に応じて、上記の第1方法と第2方法とを切替えてもよい。例えば、符号化三次元データを地図として用いる場合は、動的オブジェクトを分離できることが望ましいため、符号化装置は、第2方法を用いる。一方、符号化装置は、コンサート又はスポーツなどのイベントの三次元データを符号化する場合に、動的オブジェクトを分離する必要がなければ、第1方法を用いる。
【0119】
また、GOS又はSPCの復号時刻と表示時刻とは符号化データ内、又はメタ情報として格納できる。また、静的オブジェクトの時刻情報は全て同一としてもよい。このとき、実際の復号時刻と表示時刻は、復号装置が決定するものとしてもよい。あるいは、復号時刻として、GOS、あるいは、SPC毎に異なる値が付与され、表示時刻として全て同一の値が付与されてもよい。さらに、HEVCのHRD(Hypothetical Reference Decoder)など動画像符号化におけるデコーダモデルのように、デコーダが所定のサイズのバッファを有し、復号時刻に従って所定のビットレートでビットストリームを読み込めば破綻なく復号できることを保証するモデルを導入してもよい。
【0120】
次に、ワールド内におけるGOSの配置について説明する。ワールドにおける三次元空間の座標は、互いに直交する3本の座標軸(x軸、y軸、z軸)により表現される。GOSの符号化順に所定のルールを設けることで、空間的に隣接するGOSが符号化データ内で連続するように符号化を行える。例えば、
図4に示す例では、xz平面内のGOSを連続的に符号化する。あるxz平面内の全てのGOSの符号化終了後にy軸の値を更新する。すなわち、符号化が進むにつれて、ワールドはy軸方向に伸びていく。また、GOSのインデックス番号は符号化順に設定される。
【0121】
ここで、ワールドの三次元空間は、GPS、或いは緯度及び経度などの地理的な絶対座標と1対1に対応付けておく。或いは、予め設定した基準位置からの相対位置により三次元空間が表現されてもよい。三次元空間のx軸、y軸、z軸の方向は、緯度及び経度などに基づいて決定される方向ベクトルとして表現され、当該方向ベクトルはメタ情報として符号化データと共に格納される。
【0122】
また、GOSのサイズは固定とし、符号化装置は、当該サイズをメタ情報として格納する。また、GOSのサイズは、例えば、都市部か否か、又は、室内か外かなどに応じて切替えられてもよい。つまり、GOSのサイズは、情報としての価値があるオブジェクトの量又は性質に応じて切替えられてもよい。あるいは、符号化装置は、同一ワールド内において、オブジェクトの密度などに応じて、GOSのサイズ、又は、GOS内のI-SPCの間隔を適応的に切替えてもよい。例えば、符号化装置は、オブジェクトの密度が高いほど、GOSのサイズを小さくし、GOS内のI-SPCの間隔を短くする。
【0123】
図5の例では、3番目から10番目のGOSの領域では、オブジェクトの密度が高いため、細かい粒度でのランダムアクセスを実現するために、GOSが細分化されている。なお、7番目から10番目のGOSは、それぞれ、3番目から6番目のGOSの裏側に存在する。
【0124】
次に、本実施の形態に係る三次元データ符号化装置の構成及び動作の流れを説明する。
図6は、本実施の形態に係る三次元データ符号化装置100のブロック図である。
図7は、三次元データ符号化装置100の動作例を示すフローチャートである。
【0125】
図6に示す三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。この三次元データ符号化装置100は、取得部101と、符号化領域決定部102と、分割部103と、符号化部104とを備える。
【0126】
図7に示すように、まず、取得部101は、点群データである三次元データ111を取得する(S101)。
【0127】
次に、符号化領域決定部102は、取得した点群データに対応する空間領域のうち、符号化対象の領域を決定する(S102)。例えば、符号化領域決定部102は、ユーザ又は車両の位置に応じて、当該位置の周辺の空間領域を符号化対象の領域に決定する。
【0128】
次に、分割部103は、符号化対象の領域に含まれる点群データを、各処理単位に分割する。ここで処理単位とは、上述したGOS及びSPC等である。また、この符号化対象の領域は、例えば、上述したワールドに対応する。具体的には、分割部103は、予め設定したGOSのサイズ、又は、動的オブジェクトの有無或いはサイズに基づいて、点群データを処理単位に分割する(S103)。また、分割部103は、各GOSにおいて符号化順で先頭となるSPCの開始位置を決定する。
【0129】
次に、符号化部104は、各GOS内の複数のSPCを順次符号化することで符号化三次元データ112を生成する(S104)。
【0130】
なお、ここでは、符号化対象の領域をGOS及びSPCに分割した後に、各GOSを符号化する例を示したが、処理の手順は上記に限らない。例えば、一つのGOSの構成を決定した後にそのGOSを符号化し、その後、次のGOSの構成を決定する等の手順を用いてもよい。
【0131】
このように、三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)に分割し、第1処理単位(GOS)を複数の第2処理単位(SPC)に分割し、第2処理単位(SPC)を複数の第3処理単位(VLM)に分割する。また、第3処理単位(VLM)は、位置情報が対応付けられる最小単位である1以上のボクセル(VXL)を含む。
【0132】
次に、三次元データ符号化装置100は、複数の第1処理単位(GOS)の各々を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を符号化する。また、三次元データ符号化装置100は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を符号化する。
【0133】
例えば、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)がクローズドGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)を参照して符号化する。つまり、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照しない。
【0134】
一方、処理対象の第1処理単位(GOS)がオープンGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)、又は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照して符号化する。
【0135】
また、三次元データ符号化装置100は、処理対象の第2処理単位(SPC)のタイプとして、他の第2処理単位(SPC)を参照しない第1タイプ(I-SPC)、他の一つの第2処理単位(SPC)を参照する第2タイプ(P-SPC)、及び他の二つの第2処理単位(SPC)を参照する第3タイプのうちいずれかを選択し、選択したタイプに従い処理対象の第2処理単位(SPC)を符号化する。
【0136】
次に、本実施の形態に係る三次元データ復号装置の構成及び動作の流れを説明する。
図8は、本実施の形態に係る三次元データ復号装置200のブロックのブロック図である。
図9は、三次元データ復号装置200の動作例を示すフローチャートである。
【0137】
図8に示す三次元データ復号装置200は、符号化三次元データ211を復号することで復号三次元データ212を生成する。ここで、符号化三次元データ211は、例えば、三次元データ符号化装置100で生成された符号化三次元データ112である。この三次元データ復号装置200は、取得部201と、復号開始GOS決定部202と、復号SPC決定部203と、復号部204とを備える。
【0138】
まず、取得部201は、符号化三次元データ211を取得する(S201)。次に、復号開始GOS決定部202は、復号対象のGOSに決定する(S202)。具体的には、復号開始GOS決定部202は、符号化三次元データ211内、又は符号化三次元データとは別に格納されたメタ情報を参照して、復号を開始する空間位置、オブジェクト、又は、時刻に対応するSPCを含むGOSを復号対象のGOSに決定する。
【0139】
次に、復号SPC決定部203は、GOS内で復号するSPCのタイプ(I、P、B)を決定する(S203)。例えば、復号SPC決定部203は、(1)I-SPCのみを復号するか、(2)I-SPC及びP-SPCを復号するか、(3)全てのタイプを復号するかを決定する。なお、全てのSPCを復号するなど、予め復号するSPCのタイプが決定している場合は、本ステップは行われなくてもよい。
【0140】
次に、復号部204は、GOS内で復号順(符号化順と同一)で先頭となるSPCが符号化三次元データ211内で開始するアドレス位置を取得し、当該アドレス位置から先頭SPCの符号化データを取得し、当該先頭SPCから順に各SPCを順次復号する(S204)。なお、上記アドレス位置は、メタ情報等に格納されている。
【0141】
このように、三次元データ復号装置200は、復号三次元データ212を復号する。具体的には、三次元データ復号装置200は、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)の符号化三次元データ211の各々を復号することで第1処理単位(GOS)の復号三次元データ212を生成する。より具体的には、三次元データ復号装置200は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を復号する。また、三次元データ復号装置200は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を復号する。
【0142】
以下、ランダムアクセス用のメタ情報について説明する。このメタ情報は、三次元データ符号化装置100で生成され、符号化三次元データ112(211)に含まれる。
【0143】
従来の二次元の動画像におけるランダムアクセスでは、指定した時刻の近傍となるランダムアクセス単位の先頭フレームから復号を開始していた。一方、ワールドにおいては、時刻に加えて、空間(座標又はオブジェクトなど)に対するランダムアクセスが想定される。
【0144】
そこで、少なくとも座標、オブジェクト、及び時刻の3つの要素へのランダムアクセスを実現するために、各要素とGOSのインデックス番号とを対応付けるテーブルを用意する。さらに、GOSのインデックス番号とGOSの先頭となるI-SPCのアドレスを対応付ける。
図10は、メタ情報に含まれるテーブルの一例を示す図である。なお、
図10に示す全てのテーブルが用いられる必要はなく、少なくとも一つのテーブルが用いられればよい。
【0145】
以下、一例として、座標を起点とするランダムアクセスについて説明する。座標(x2、y2、z2)にアクセスする際には、まず、座標-GOSテーブルを参照して、座標が(x2、y2、z2)である地点は2番目のGOSに含まれることが分かる。次に、GOSアドレステーブルを参照し、2番目のGOSにおける先頭のI-SPCのアドレスがaddr(2)であることが分かるため、復号部204は、このアドレスからデータを取得して復号を開始する。
【0146】
なお、アドレスは、論理フォーマットにおけるアドレスであっても、HDD又はメモリの物理アドレスであってもよい。また、アドレスの代わりにファイルセグメントを特定する情報が用いられてもよい。例えば、ファイルセグメントは、1つ以上のGOSなどをセグメント化した単位である。
【0147】
また、オブジェクトが複数のGOSに跨る場合には、オブジェクト-GOSテーブルにおいて、オブジェクトが属するGOSを複数示してもよい。当該複数のGOSがクローズドGOSであれば、符号化装置及び復号装置は、並列に符号化又は復号を行うことができる。一方、当該複数のGOSがオープンGOSであれば、複数のGOSが互いに参照しあうことでより圧縮効率を高めることができる。
【0148】
オブジェクトの例としては、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などがある。例えば、三次元データ符号化装置100は、ワールドの符号化時に三次元のポイントクラウドなどからオブジェクトに特有の特徴点を抽出し、当該特徴点に基づきオブジェクトを検出し、検出したオブジェクトをランダムアクセスポイントとして設定できる。
【0149】
このように、三次元データ符号化装置100は、複数の第1処理単位(GOS)と、複数の第1処理単位(GOS)の各々に対応付けられている三次元座標とを示す第1情報を生成する。また、符号化三次元データ112(211)は、この第1情報を含む。また、第1情報は、さらに、複数の第1処理単位(GOS)の各々に対応付けられている、オブジェクト、時刻及びデータ格納先のうち少なくとも一つを示す。
【0150】
三次元データ復号装置200は、符号化三次元データ211から第1情報を取得し、第1情報を用いて、指定された三次元座標、オブジェクト又は時刻に対応する第1処理単位の符号化三次元データ211を特定し、当該符号化三次元データ211を復号する。
【0151】
以下、その他のメタ情報の例について説明する。ランダムアクセス用のメタ情報の他に、三次元データ符号化装置100は、以下のようなメタ情報を生成及び格納してもよい。また、三次元データ復号装置200は、このメタ情報を復号時に利用してもよい。
【0152】
三次元データを地図情報として用いる場合などには、用途に応じてプロファイルが規定され、当該プロファイルを示す情報がメタ情報に含まれてもよい。例えば、市街地或いは郊外向け、又は、飛行物体向けのプロファイルが規定され、それぞれにおいてワールド、SPC又はVLMの最大又は最小サイズなどが定義される。例えば、市街地向けでは、郊外向けよりも詳細な情報が必要なため、VLMの最小サイズが小さく設定される。
【0153】
メタ情報は、オブジェクトの種類を示すタグ値を含んでもよい。このタグ値はオブジェクトを構成するVLM、SPC、又はGOSと対応付けられる。例えば、タグ値「0」は「人」を示し、タグ値「1」は「車」を示し、タグ値「2」は「信号機」を示す、などオブジェクトの種類ごとにタグ値が設定されてもよい。または、オブジェクトの種類が判定しにくい又は判定する必要がない場合はサイズ、又は、動的オブジェクトか静的オブジェクトかなどの性質を示すタグ値が用いられてもよい。
【0154】
また、メタ情報は、ワールドが占める空間領域の範囲を示す情報を含んでもよい。
【0155】
また、メタ情報は、符号化データのストリーム全体、又は、GOS内のSPCなど、複数のSPCに共通のヘッダ情報として、SPC又はVXLのサイズを格納してもよい。
【0156】
また、メタ情報は、ポイントクラウドの生成に用いた距離センサ或いはカメラなどの識別情報、又は、ポイントクラウド内の点群の位置精度を示す情報を含んでもよい。
【0157】
また、メタ情報は、ワールドが静的オブジェクトのみから構成されるか、動的オブジェクトを含むかを示す情報を含んでもよい。
【0158】
以下、本実施の形態の変形例について説明する。
【0159】
符号化装置又は復号装置は、互いに異なる2以上のSPC又はGOSを並列で符号化又は復号してもよい。並列で符号化又は復号するGOSは、GOSの空間位置を示すメタ情報などに基づいて決定できる。
【0160】
三次元データを車又は飛行物体などが移動する際の空間地図として用いる、又はこのような空間地図を生成するケースなどでは、符号化装置又は復号装置は、GPS、経路情報、又はズーム倍率などに基づいて特定される空間に含まれるGOS又はSPCを符号化又は復号してもよい。
【0161】
また、復号装置は、自己位置又は走行経路に近い空間から順に復号を行ってもよい。符号化装置又は復号装置は、自己位置又は走行経路から遠い空間を、近い空間に比べて優先度を落として符号化又は復号してもよい。ここで、優先度を落とすとは、処理順を下げる、解像度を下げる(間引いて処理する)、又は、画質を下げる(符号化効率を上げる。例えば、量子化ステップを大きくする。)等である。
【0162】
また、復号装置は、空間内で階層的に符号化されている符号化データを復号する際は、低階層のみを復号してもよい。
【0163】
また、復号装置は、地図のズーム倍率又は用途に応じて、低階層から優先的に復号してもよい。
【0164】
また、車又はロボットの自律走行時に行う自己位置推定又は物体認識などの用途では、符号化装置又は復号装置は、路面から特定高さ以内の領域(認識を行う領域)以外は解像度を落として符号化又は復号を行ってもよい。
【0165】
また、符号化装置は、室内と室外との空間形状を表現するポイントクラウドをそれぞれ個別に符号化してもよい。例えば、室内を表現するGOS(室内GOS)と室外を表現するGOS(室外GOS)とを分けることで、復号装置は、符号化データを利用する際に、視点位置に応じて復号するGOSを選択できる。
【0166】
また、符号化装置は、座標が近い室内GOSと室外GOSとを、符号化ストリーム内で隣接するように符号化してもよい。例えば、符号化装置は、両者の識別子を対応付け、符号化ストリーム内、又は別途格納されるメタ情報内に対応付けた識別子を示す情報を格納する。これにより、復号装置は、メタ情報内の情報を参照して、座標が近い室内GOSと室外GOSとを識別できる。
【0167】
また、符号化装置は、室内GOSと室外GOSとで、GOS又はSPCのサイズを切替えてもよい。例えば、符号化装置は、室内では室外に比べてGOSのサイズを小さく設定する。また、符号化装置は、室内GOSと室外GOSとで、ポイントクラウドから特徴点を抽出する際の精度、又はオブジェクト検出の精度などを変更してもよい。
【0168】
また、符号化装置は、復号装置が動的オブジェクトを静的オブジェクトと区別して表示するための情報を符号化データに付加してもよい。これにより、復号装置は、動的オブジェクトと赤枠又は説明用の文字などとを合わせて表示できる。なお、復号装置は、動的オブジェクトの代わりに赤枠又は説明用の文字のみを表示してもよい。また、復号装置は、より細かいオブジェクト種別を表示してもよい。例えば、車には赤枠が用いられ、ヒトには黄色枠が用いられてもよい。
【0169】
また、符号化装置又は復号装置は、動的オブジェクトの出現頻度、又は、静的オブジェクトと動的オブジェクトとの割合などに応じて、動的オブジェクトと静的オブジェクトとを異なるSPC又はGOSとして符号化又は復号するかどうかを決定してもよい。例えば、動的オブジェクトの出現頻度又は割合が閾値を超える場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容され、動的オブジェクトの出現頻度又は割合が閾値を超えない場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容されない。
【0170】
動的オブジェクトをポイントクラウドではなく、カメラの二次元画像情報から検出する際には、符号化装置は、検出結果を識別するための情報(枠又は文字など)とオブジェクト位置とを別途取得し、これらの情報を三次元の符号化データの一部として符号化してもよい。この場合、復号装置は、静的オブジェクトの復号結果に対して、動的オブジェクトを示す補助情報(枠又は文字)を重畳して表示する。
【0171】
また、符号化装置は、静的オブジェクトの形状の複雑さなどに応じて、SPCにおけるVXL又はVLMの粗密さを変更してもよい。例えば、符号化装置は、静的オブジェクトの形状が複雑なぼど、VXL又はVLMを密に設定する。さらに、符号化装置は、空間位置又は色情報を量子化する際の量子化ステップなどをVXL又はVLMの粗密さに応じて決定してもよい。例えば、符号化装置は、VXL又はVLMが密なほど量子化ステップを小さく設定する。
【0172】
以上のように、本実施の形態に係る符号化装置又は復号装置は、座標情報を有するスペース単位で空間の符号化又は復号を行う。
【0173】
また、符号化装置及び復号装置は、スペース内において、ボリューム単位で符号化又は復号を行う。ボリュームは、位置情報が対応付けられる最小単位であるボクセルを含む。
【0174】
また、符号化装置及び復号装置は、座標、オブジェクト、及び時間等を含む空間情報の各要素とGOPとを対応付けたテーブル、又は各要素間を対応付けたテーブルにより任意の要素間を対応付けて符号化又は復号を行う。また、復号装置は、選択された要素の値を用いて座標を判定し、座標からボリューム、ボクセル又はスペースを特定し、当該ボリューム又はボクセルを含むスペース、又は特定されたスペースを復号する。
【0175】
また、符号化装置は、特徴点抽出又はオブジェクト認識により、要素により選択可能なボリューム、ボクセル又はスペースを判定し、ランダムアクセス可能なボリューム、ボクセル又はスペースとして符号化する。
【0176】
スペースは、当該スペース単体で符号化又は復号可能なI-SPCと、任意の1つの処理済みスペースを参照して符号化又は復号されるP-SPCと、任意の二つの処理済みスペースを参照して符号化又は復号されるB-SPCとの3種類のタイプに分類される。
【0177】
1以上のボリュームが、静的オブジェクト又は動的なオブジェクトに対応する。静的オブジェクトを含むスペースと動的オブジェクトを含むスペースとは互いに異なるGOSとして符号化又は復号される。つまり、静的オブジェクトを含むSPCと、動的オブジェクトを含むSPCとが異なるGOSに割り当てられる。
【0178】
動的オブジェクトはオブジェクトごとに符号化又は復号され、静的オブジェクトを含む1以上のスペースに対応付けられる。つまり、複数の動的オブジェクトは個別に符号化され、得られた複数の動的オブジェクトの符号化データは、静的オブジェクトを含むSPCに対応付けられる。
【0179】
符号化装置及び復号装置は、GOS内のI-SPCの優先度を上げて、符号化又は復号を行う。例えば、符号化装置は、I-SPCの劣化が少なくなるように(復号後に元の三次元データがより忠実に再現されるように)符号化を行う。また、復号装置は、例えば、I-SPCのみを復号する。
【0180】
符号化装置は、ワールド内のオブジェクトの疎密さ又は数(量)に応じてI-SPCを用いる頻度を変えて符号化を行ってもよい。つまり、符号化装置は、三次元データに含まれるオブジェクトの数又は粗密さに応じて、I-SPCを選択する頻度を変更する。例えば、符号化装置は、ワールド内のオブジェクトが密であるほどIスペースを用いる頻度を上げる。
【0181】
また、符号化装置は、ランダムアクセスポイントをGOS単位で設定し、GOSに対応する空間領域を示す情報をヘッダ情報に格納する。
【0182】
符号化装置は、GOSの空間サイズとして、例えば、デフォルト値を使用する。なお、符号化装置は、オブジェクト又は動的オブジェクトの数(量)又は粗密さに応じてGOSのサイズを変更してもよい。例えば、符号化装置は、オブジェクト或いは動的オブジェクトが密なぼど、又は数が多いほど、GOSの空間サイズを小さくする。
【0183】
また、スペース又はボリュームは、デプスセンサ、ジャイロ、又はカメラ等のセンサで得られた情報を用いて導出された特徴点群を含む。特徴点の座標はボクセルの中心位置に設定される。また、ボクセルの細分化により位置情報の高精度化を実現できる。
【0184】
特徴点群は、複数のピクチャを用いて導出される。複数のピクチャは、実際の時刻情報と、スペースに対応付けられた複数のピクチャで同一の時刻情報(例えば、レート制御等に用いられる符号化時刻)との少なくとも2種類の時刻情報を有する。
【0185】
また、1以上のスペースを含むGOS単位で符号化又は復号が行われる。
【0186】
符号化装置及び復号装置は、処理済みのGOS内のスペースを参照して、処理対象のGOS内のPスペース又はBスペースの予測を行う。
【0187】
または、符号化装置及び復号装置は、異なるGOSを参照せず、処理対象のGOS内の処理済スペースを用いて処理対象のGOS内のPスペース又はBスペースの予測を行う。
【0188】
また、符号化装置及び復号装置は、1以上のGOSを含むワールド単位で符号化ストリームを送信又は受信する。
【0189】
また、GOSは少なくともワールド内で1方向にレイヤ構造を持ち、符号化装置及び復号装置は、下位レイヤから符号化又は復号を行う。例えば、ランダムアクセス可能なGOSは最下位レイヤに属する。上位レイヤに属するGOSは同一レイヤ以下に属するGOSを参照する。つまり、GOSは、予め定められた方向に空間分割され、各々が1以上のSPCを含む複数のレイヤを含む。符号化装置及び復号装置は、各SPCを、当該SPCと同一レイヤ又は当該SPCより下層のレイヤに含まれるSPCを参照して符号化又は復号する。
【0190】
また、符号化装置及び復号装置は、複数のGOSを含むワールド単位内で、連続してGOSを符号化又は復号する。符号化装置及び復号装置は、符号化又は復号の順序(方向)を示す情報をメタデータとして書き込む又は読み出す。つまり、符号化データは、複数のGOSの符号化順を示す情報を含む。
【0191】
また、符号化装置及び復号装置は、互いに異なる2以上のスペース又はGOSを並列で符号化又は復号する。
【0192】
また、符号化装置及び復号装置は、スペース又はGOSの空間情報(座標、サイズ等)を符号化又は復号する。
【0193】
また、符号化装置及び復号装置は、GPS、経路情報、又は倍率など、自己の位置又は/及び領域サイズに関する外部情報に基づいて特定される特定空間に含まれるスペース又はGOSを符号化又は復号する。
【0194】
符号化装置又は復号装置は、自己の位置から遠い空間は、近い空間に比べて優先度を落として符号化又は復号する。
【0195】
符号化装置は、倍率又は用途に応じて、ワールドのある1方向を設定し、当該方向にレイヤ構造を持つGOSを符号化する。また、復号装置は、倍率又は用途に応じて設定されたワールドのある1方向にレイヤ構造を持つGOSを、下位レイヤから優先的に復号する。
【0196】
符号化装置は、室内と室外とでスペースに含まれる特徴点抽出、オブジェクト認識の精度、又は空間領域サイズなどを変化させる。ただし、符号化装置及び復号装置は、座標が近い室内GOSと室外GOSとをワールド内で隣接して符号化又は復号し、これらの識別子も対応付けて符号化又は復号する。
【0197】
(実施の形態2)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
【0198】
本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報のみを送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元復号方法及び三次元データ装置について説明する。
【0199】
特徴量を一定以上持つボクセル(VXL)を特徴ボクセル(FVXL)と定義し、FVXLで構成されるワールド(WLD)をスパースワールド(SWLD)と定義する。
図11は、スパースワールド及びワールドの構成例を示す図である。SWLDには、FVXLで構成されるGOSであるFGOSと、FVXLで構成されるSPCであるFSPCと、FVXLで構成されるVLMであるFVLMと含まれる。FGOS、FSPS及びFVLMのデータ構造及び予測構造はGOS、SPS及びVLMと同様であっても構わない。
【0200】
特徴量とは、VXLの三次元位置情報、又はVXL位置の可視光情報を表現する特徴量であり、特に立体物のコーナー及びエッジ等で多く検出される特徴量である。具体的には、この特徴量は、下記のような三次元特徴量又は可視光の特徴量であるが、その他、VXLの位置、輝度、又は色情報などを表す特徴量であれば、どのようなものでも構わない。
【0201】
三次元特徴量として、SHOT特徴量(Signature of Histograms of OrienTations)、PFH特徴量(Point Feature Histograms)、又はPPF特徴量(Point Pair Feature)が用いられる。
【0202】
SHOT特徴量は、VXL周辺を分割し、基準点と分割された領域の法線ベクトルとの内積を計算してヒストグラム化することで得られる。このSHOT特徴量は、次元数が高く、特徴表現力が高いという特徴を有する。
【0203】
PFH特徴量は、VXL近傍の多数の2点組を選択し、その2点から法線ベクトル等を算出してヒストグラム化することで得られる。このPFH特徴量は、ヒストグラム特徴なので、多少の外乱に対してロバスト性を有し、特徴表現力も高いという特徴を有する。
【0204】
PPF特徴量は、2点のVXL毎に法線ベクトル等を用いて算出される特徴量である。このPPF特徴量には、全VXLが使われるため、オクルージョンに対してロバスト性を有する。
【0205】
また、可視光の特徴量として、画像の輝度勾配情報等の情報を用いたSIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、又はHOG(Histogram of Oriented Gradients)等を用いることができる。
【0206】
SWLDは、WLDの各VXLから上記特徴量を算出し、FVXLを抽出することで生成される。ここで、SWLDはWLDが更新される度に更新しても構わないし、WLDの更新タイミングに関わらず、一定時間経過後に定期的に更新するようにしても構わない。
【0207】
SWLDは特徴量毎に生成しても構わない。例えば、SHOT特徴量に基づくSWLD1とSIFT特徴量に基づくSWLD2とのように、特徴量毎に別々のSWLDが生成され、用途に応じてSWLDを使い分けるようにしても構わない。また、算出した各FVXLの特徴量を特徴量情報として各FVXLに保持するようにしても構わない。
【0208】
次に、スパースワールド(SWLD)の利用方法について説明する。SWLDは特徴ボクセル(FVXL)のみを含むため、全てのVXLを含むWLDと比べて一般的にデータサイズが小さい。
【0209】
特徴量を利用して何らかの目的を果たすアプリケーションにおいては、WLDの代わりにSWLDの情報を利用することで、ハードディスクからの読み出し時間、並びにネットワーク転送時の帯域及び転送時間を抑制することができる。例えば、地図情報として、WDLとSWLDとをサーバに保持しておき、クライアントからの要望に応じて、送信する地図情報をWLD又はSWLDに切り替えることにより、ネットワーク帯域及び転送時間を抑制することができる。以下、具体的な例を示す。
【0210】
図12及び
図13は、SWLD及びWLDの利用例を示す図である。
図12に示すように、車載装置であるクライアント1が自己位置判定用途として地図情報を必要な場合は、クライアント1はサーバに自己位置推定用の地図データの取得要望を送る(S301)。サーバは、当該取得要望に応じてSWLDをクライアント1に送信する(S302)。クライアント1は、受信したSWLDを用いて自己位置判定を行う(S303)。この際、クライアント1はレンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法でクライアント1の周辺のVXL情報を取得し、得られたVXL情報とSWLDとから自己位置情報を推定する。ここで自己位置情報は、クライアント1の三次元位置情報及び向き等を含む。
【0211】
図13に示すように、車載装置であるクライアント2が三次元地図等の地図描画の用途として地図情報が必要な場合は、クライアント2はサーバに地図描画用の地図データの取得要望を送る(S311)。サーバは、当該取得要望に応じてWLDをクライアント2に送信する(S312)。クライアント2は、受信したWLDを用いて地図描画を行う(S313)。この際、クライアント2は、例えば、自己が可視光カメラ等で撮影した画像と、サーバから取得したWLDとを用いてレンダリング画像を作成し、作成した画像をカーナビ等の画面に描画する。
【0212】
上記のように、サーバは、自己位置推定のような各VXLの特徴量を主に必要とする用途ではSWLDをクライアントに送信し、地図描画のように詳細なVXL情報が必要な場合はWLDをクライアントに送信する。これにより、地図データを効率よく送受信することが可能となる。
【0213】
なお、クライアントは、自分でSWLDとWLDのどちらが必要かを判断し、サーバへSWLD又はWLDの送信を要求しても構わない。また、サーバは、クライアント又はネットワークの状況に合わせて、SWLDかWLDのどちらを送信すべきかを判断しても構わない。
【0214】
次に、スパースワールド(SWLD)とワールド(WLD)との送受信を切り替える方法を説明する。
【0215】
ネットワーク帯域に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。
図14は、この場合の動作例を示す図である。例えば、LTE(Long Term Evolution)環境下等の使用できるネットワーク帯域が限られている低速ネットワークが用いられている場合には、クライアントは、低速ネットワーク経由でサーバにアクセスし(S321)、サーバから地図情報としてSWLDを取得する(S322)。一方、WiFi環境下等のネットワーク帯域に余裕がある高速ネットワークが用いられている場合には、クライアントは、高速ネットワーク経由でサーバにアクセスし(S323)、サーバからWLDを取得する(S324)。これにより、クライアントは、当該クライアントのネットワーク帯域に応じて適切な地図情報を取得することができる。
【0216】
具体的には、クライアントは、屋外ではLTE経由でSWLDを受信し、施設等の屋内に入った場合はWiFi経由でWLDを取得する。これにより、クライアントは、屋内のより詳細な地図情報を取得することが可能となる。
【0217】
このように、クライアントは、自身が用いるネットワークの帯域に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身が用いるネットワークの帯域を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントのネットワーク帯域を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
【0218】
また、移動速度に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。
図15は、この場合の動作例を示す図である。例えば、クライアントが高速移動をしている場合は(S331)、クライアントはSWLDをサーバから受信する(S332)。一方、クライアントが低速移動をしている場合は(S333)、クライアントはWLDをサーバから受信する(S334)。これにより、クライアントは、ネットワーク帯域を抑制しながら、速度に合った地図情報を取得することができる。具体的には、クライアントは、高速道路を走行中にはデータ量の少ないSWLDを受信することにより、大まかな地図情報を適切な速度で更新することができる。一方、クライアントは、一般道路を走行中にはWLDを受信することにより、より詳細な地図情報を取得することが可能となる。
【0219】
このように、クライアントは、自身の移動速度に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身の移動速度を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントの移動速度を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
【0220】
また、クライアントは、最初にSWLDをサーバより取得し、その中で重要な領域のWLDを取得しても構わない。例えば、クライアントは、地図データを取得する際に、最初に大まかな地図情報をSWLDで取得し、そこから建物、標識、又は人物等の特徴が多く出現する領域を絞り込み、絞り込んだ領域のWLDを後から取得する。これにより、クライアントは、サーバからの受信データ量を抑制しつつ、必要な領域の詳細な情報を取得することが可能となる。
【0221】
また、サーバは、WLDから物体毎に別々のSWLDを作成し、クライアントは、用途に合わせて、それぞれを受信してもよい。これにより、ネットワーク帯域を抑制できる。例えば、サーバは、WLDから予め人又は車を認識し、人のSWLDと車のSWLDを作成する。クライアントは、周囲の人の情報を取得したい場合には人のSWLDを、車の情報を取得したい場合には車のSWLDを受信する。また、このようなSWLDの種類はヘッダ等に付加された情報(フラグ又はタイプ等)によって区別するようにしても構わない。
【0222】
次に、本実施の形態に係る三次元データ符号化装置(例えばサーバ)の構成及び動作の流れを説明する。
図16は、本実施の形態に係る三次元データ符号化装置400のブロック図である。
図17は、三次元データ符号化装置400による三次元データ符号化処理のフローチャートである。
【0223】
図16に示す三次元データ符号化装置400は、入力三次元データ411を符号化することで符号化ストリームである符号化三次元データ413及び414を生成する。ここで、符号化三次元データ413はWLDに対応する符号化三次元データであり、符号化三次元データ414はSWLDに対応する符号化三次元データである。この三次元データ符号化装置400は、取得部401と、符号化領域決定部402と、SWLD抽出部403と、WLD符号化部404と、SWLD符号化部405とを備える。
【0224】
図17に示すように、まず、取得部401は、三次元空間内の点群データである入力三次元データ411を取得する(S401)。
【0225】
次に、符号化領域決定部402は、点群データが存在する空間領域に基づいて、符号化対象の空間領域を決定する(S402)。
【0226】
次に、SWLD抽出部403は、符号化対象の空間領域をWLDと定義し、WLDに含まれる各VXLから特徴量を算出する。そして、SWLD抽出部403は、特徴量が予め定められた閾値以上のVXLを抽出し、抽出したVXLをFVXLと定義し、当該FVXLをSWLDへ追加することで、抽出三次元データ412を生成する(S403)。つまり、入力三次元データ411から特徴量が閾値以上の抽出三次元データ412が抽出される。
【0227】
次に、WLD符号化部404は、WLDに対応する入力三次元データ411を符号化することでWLDに対応する符号化三次元データ413を生成する(S404)。このとき、WLD符号化部404は、符号化三次元データ413のヘッダに、当該符号化三次元データ413がWLDを含むストリームであることを区別するための情報を付加する。
【0228】
また、SWLD符号化部405は、SWLDに対応する抽出三次元データ412を符号化することでSWLDに対応する符号化三次元データ414を生成する(S405)。このとき、SWLD符号化部405は、符号化三次元データ414のヘッダに、当該符号化三次元データ414がSWLDを含むストリームであることを区別するための情報を付加する。
【0229】
なお、符号化三次元データ413を生成する処理と、符号化三次元データ414を生成する処理との処理順は上記と逆でもよい。また、これらの処理の一部又は全てが並列に行われてもよい。
【0230】
符号化三次元データ413及び414のヘッダに付与される情報として、例えば、「world_type」というパラメータが定義される。world_type=0の場合はストリームがWLDを含むことを表し、world_type=1の場合はストリームがSWLDを含むことを表す。更にその他の多数の種別を定義する場合には、world_type=2のように割り当てる数値を増やすようにしても構わない。また、符号化三次元データ413及び414の一方に特定のフラグが含まれてもよい。例えば、符号化三次元データ414に、当該ストリームがSWLDを含むことを含むフラグが付与されてもよい。この場合、復号装置は、フラグの有無によりWLDを含むストリームか、SWLDを含むストリームかを判別できる。
【0231】
また、WLD符号化部404がWLDを符号化する際に使用する符号化方法と、SWLD符号化部405がSWLDを符号化する際に使用する符号化方法とは異なってもよい。
【0232】
例えば、SWLDではデータが間引かされているため、WLDに比べ、周辺のデータとの相関が低くなる可能性がある。よって、SWLDに用いられる符号化方法では、WLDに用いられる符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0233】
また、SWLDに用いられる符号化方法とWLDに用いられる符号化方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりSVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
【0234】
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより小さくなるように符号化を行う。例えば、上述したようにSWLDは、WLDに比べ、データ間の相関が低くなる可能性がある。これにより、符号化効率が下がり、符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより大きくなる可能性がある。よって、SWLD符号化部405は、得られた符号化三次元データ414のデータサイズが、WLDの符号化三次元データ413のデータサイズより大きい場合には、再符号化を行うことで、データサイズを低減した符号化三次元データ414を再生成する。
【0235】
例えば、SWLD抽出部403は、抽出する特徴点の数を減らした抽出三次元データ412を再生成し、SWLD符号化部405は、当該抽出三次元データ412を符号化する。または、SWLD符号化部405における量子化の程度をより粗くしてもよい。例えば、後述する8分木構造において、最下層のデータを丸め込むことで、量子化の程度を粗くすることができる。
【0236】
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズをWLDの符号化三次元データ413のデータサイズより小さくできない場合は、SWLDの符号化三次元データ414を生成しなくてもよい。または、WLDの符号化三次元データ413がSWLDの符号化三次元データ414にコピーされてもよい。つまり、SWLDの符号化三次元データ414としてWLDの符号化三次元データ413がそのまま用いられてもよい。
【0237】
次に、本実施の形態に係る三次元データ復号装置(例えばクライアント)の構成及び動作の流れを説明する。
図18は、本実施の形態に係る三次元データ復号装置500のブロック図である。
図19は、三次元データ復号装置500による三次元データ復号処理のフローチャートである。
【0238】
図18に示す三次元データ復号装置500は、符号化三次元データ511を復号することで復号三次元データ512又は513を生成する。ここで、符号化三次元データ511は、例えば、三次元データ符号化装置400で生成された符号化三次元データ413又は414である。
【0239】
この三次元データ復号装置500は、取得部501と、ヘッダ解析部502と、WLD復号部503と、SWLD復号部504とを備える。
【0240】
図19に示すように、まず、取得部501は、符号化三次元データ511を取得する(S501)。次に、ヘッダ解析部502は、符号化三次元データ511のヘッダを解析し、符号化三次元データ511がWLDを含むストリームか、SWLDを含むストリームかを判別する(S502)。例えば、上述したworld_typeのパラメータが参照され、判別が行われる。
【0241】
符号化三次元データ511がWLDを含むストリームである場合(S503でYes)、WLD復号部503は、符号化三次元データ511を復号することでWLDの復号三次元データ512を生成する(S504)。一方、符号化三次元データ511がSWLDを含むストリームである場合(S503でNo)、SWLD復号部504は、符号化三次元データ511を復号することでSWLDの復号三次元データ513を生成する(S505)。
【0242】
また、符号化装置と同様に、WLD復号部503がWLDを復号する際に使用する復号方法と、SWLD復号部504がSWLDを復号する際に使用する復号方法とは異なってもよい。例えば、SWLDに用いられる復号方法では、WLDに用いられる復号方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0243】
また、SWLDに用いられる復号方法とWLDに用いられる復号方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりSVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
【0244】
次に、三次元位置の表現手法である8分木表現について説明する。三次元データに含まれるVXLデータは8分木構造に変換された後、符号化される。
図20は、WLDのVXLの一例を示す図である。
図21は、
図20に示すWLDの8分木構造を示す図である。
図20に示す例では、点群を含むVXL(以下、有効VXL)である3つVXL1~3が存在する。
図21に示すように、8分木構造はノードとリーフで構成される。各ノードは最大で8つのノードまたはリーフを持つ。各リーフはVXL情報を持つ。ここで、
図21に示すリーフのうち、リーフ1、2、3はそれぞれ
図20に示すVXL1、VXL2、VXL3を表す。
【0245】
具体的には、各ノード及びリーフは三次元位置に対応する。ノード1は、
図20に示す全体のブロックに対応する。ノード1に対応するブロックは8つのブロックに分割され、8つのブロックのうち、有効VXLを含むブロックがノードに設定され、それ以外のブロックはリーフに設定される。ノードに対応するブロックは、さらに8つのノードまたはリーフに分割され、この処理が木構造の階層分繰り返される。また、最下層のブロックは、全てリーフに設定される。
【0246】
また、
図22は、
図20に示すWLDから生成したSWLDの例を示す図である。
図20に示すVXL1及びVXL2は特徴量抽出の結果、FVXL1及びFVXL2と判定され、SWLDに加えられている。一方で、VXL3はFVXLと判定されず、SWLDに含まれていない。
図23は、
図22に示すSWLDの8分木構造を示す図である。
図23に示す8分木構造では、
図21に示す、VXL3に相当するリーフ3が削除されている。これにより、
図21に示すノード3が有効VXLを持たなくなり、リーフに変更されている。このように一般的にSWLDのリーフ数はWLDのリーフ数より少なくなり、SWLDの符号化三次元データもWLDの符号化三次元データより小さくなる。
【0247】
以下、本実施の形態の変形例について説明する。
【0248】
例えば、車載装置等のクライアントは、自己位置推定を行う場合に、SWLDをサーバから受信し、SWLDを用いて自己位置推定を行い、障害物検知を行う場合は、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法を用いて自分で取得した周辺の三次元情報に基づいて障害物検知を実施してもよい。
【0249】
また、一般的にSWLDには平坦領域のVXLデータが含まれにくい。そのため、サーバは、静的な障害物の検知用に、WLDをサブサンプルしたサブランプルワールド(subWLD)を保持し、SWLDとsubWLDをクライアントに送信してもよい。これにより、ネットワーク帯域を抑制しつつ、クライアント側で自己位置推定及び障害物検知を行うことができる。
【0250】
また、クライアントが三次元地図データを高速に描画する際には、地図情報がメッシュ構造である方が便利な場合がある。そこで、サーバは、WLDからメッシュを生成し、メッシュワールド(MWLD)として予め保持してもよい。例えばクライアントは、粗い三次元描画を必要としている場合にはMWLDを受信し、詳細な三次元描画を必要としている場合にはWLDを受信する。これにより、ネットワーク帯域を抑制することができる。
【0251】
また、サーバは、各VXLのうち、特徴量が閾値以上であるVXLをFVXLに設定したが、異なる方法にてFVXLを算出しても構わない。例えば、サーバは、信号又は交差点などを構成するVXL、VLM、SPS、又はGOSを、自己位置推定、運転アシスト、又は自動運転等に必要と判断し、FVXL、FVLM、FSPS、FGOSとしてSWLDに含めるようにしても構わない。また、上記判断は手動で行われてもよい。なお、特徴量に基づき設定されたFVXL等に、上記方法で得られたFVXL等を加えてもよい。つまり、SWLD抽出部403は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出してもよい。
【0252】
また、それらの用途に必要な旨を特徴量とは別にラベリングするようにしても構わない。また、サーバは、SWLDの上位レイヤ(例えばレーンワールド)として、信号又は交差点などの自己位置推定、運転アシスト、又は自動運転等に必要なFVXLを別途保持してもよい。
【0253】
また、サーバは、WLD内のVXLにもランダムアクセス単位又は所定の単位毎に属性を付加してもよい。属性は、例えば、自己位置推定に必要或いは不要かを示す情報、又は、信号或いは交差点などの交通情報として重要かどうかなどを示す情報を含む。また、属性は、レーン情報(GDF:Geographic Data Filesなど)におけるFeature(交差点又は道路など)との対応関係を含んでもよい。
【0254】
また、WLD又はSWLDの更新方法として下記のような方法を用いても構わない。
【0255】
人、工事、又は並木(トラック向け)の変化などを示す更新情報が点群又はメタデータとしてサーバにアップロードされる。サーバは、当該アップロードに基づき、WLDを更新し、その後、更新したWLDを用いてSWLDを更新する。
【0256】
また、クライアントは、自己位置推定時に自身で生成した三次元情報とサーバから受信した三次元情報との不整合を検知した場合、自身で生成した三次元情報を更新通知とともにサーバに送信してもよい。この場合、サーバは、WLDを用いてSWLDを更新する。SWLDが更新されない場合、サーバは、WLD自体が古いと判断する。
【0257】
また、符号化ストリームのヘッダ情報として、WLDかSWLDかを区別する情報が付加されるとしたが、例えば、メッシュワールド又はレーンワールド等、多種類のワールドが存在する場合には、それらを区別する情報がヘッダ情報に付加されても構わない。また、特徴量が異なるSWLDが多数存在する場合には、それぞれを区別する情報がヘッダ情報に付加されても構わない。
【0258】
また、SWLDは、FVXLで構成されるとしたが、FVXLと判定されなかったVXLを含んでもよい。例えば、SWLDは、FVXLの特徴量を算出する際に使用する隣接VXLを含んでもよい。これにより、SWLDの各FVXLに特徴量情報が付加されない場合でも、クライアントは、SWLDを受信した際にFVXLの特徴量を算出することができる。なお、その際には、SWLDは各VXLがFVXLかVXLかを区別するための情報を含んでもよい。
【0259】
以上のように、三次元データ符号化装置400は、入力三次元データ411(第1三次元データ)から特徴量が閾値以上の抽出三次元データ412(第2三次元データ)を抽出し、抽出三次元データ412を符号化することで符号化三次元データ414(第1符号化三次元データ)を生成する。
【0260】
これによれば、三次元データ符号化装置400は、特徴量が閾値以上のデータを符号化した符号化三次元データ414を生成する。これにより、入力三次元データ411をそのまま符号化する場合に比べてデータ量を削減できる。よって、三次元データ符号化装置400は、伝送するデータ量を削減できる。
【0261】
また、三次元データ符号化装置400は、さらに、入力三次元データ411を符号化することで符号化三次元データ413(第2符号化三次元データ)を生成する。
【0262】
これによれば、三次元データ符号化装置400は、例えば、使用用途等に応じて、符号化三次元データ413と符号化三次元データ414とを選択的に伝送できる。
【0263】
また、抽出三次元データ412は、第1符号化方法により符号化され、入力三次元データ411は、第1符号化方法とは異なる第2符号化方法により符号化される。
【0264】
これによれば、三次元データ符号化装置400は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した符号化方法を用いることができる。
【0265】
また、第1符号化方法では、第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
【0266】
これによれば、三次元データ符号化装置400は、隣接するデータ間の相関が低くなりやすい抽出三次元データ412に対して、インター予測の優先度を上げることができる。
【0267】
また、第1符号化方法と第2符号化方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2符号化方法では、8分木により三次元位置が表現され、第1符号化方法では、三次元座標により三次元位置を表現される。
【0268】
これによれば、三次元データ符号化装置400は、データ数(VXL又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0269】
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。つまり、当該識別子は、符号化三次元データがWLDの符号三次元データ413であるかSWLDの符号化三次元データ414であるかを示す。
【0270】
これによれば、復号装置は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
【0271】
また、三次元データ符号化装置400は、符号化三次元データ414のデータ量が符号化三次元データ413のデータ量より小さくなるように抽出三次元データ412を符号化する。
【0272】
これによれば、三次元データ符号化装置400は、符号化三次元データ414のデータ量を符号化三次元データ413のデータ量より小さくできる。
【0273】
また、三次元データ符号化装置400は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出する。例えば、予め定められた属性を有する物体とは、自己位置推定、運転アシスト、又は自動運転等に必要な物体であり、信号又は交差点などである。
【0274】
これによれば、三次元データ符号化装置400は、復号装置で必要となるデータを含む符号化三次元データ414を生成できる。
【0275】
また、三次元データ符号化装置400(サーバ)は、さらに、クライアントの状態に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
【0276】
これによれば、三次元データ符号化装置400は、クライアントの状態に応じて適切なデータを送信できる。
【0277】
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
【0278】
また、三次元データ符号化装置400は、さらに、クライアントの要求に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
【0279】
これによれば、三次元データ符号化装置400は、クライアントの要求に応じて適切なデータを送信できる。
【0280】
また、本実施の形態に係る三次元データ復号装置500は、上記三次元データ符号化装置400により生成された符号化三次元データ413又は414を復号する。
【0281】
つまり、三次元データ復号装置500は、入力三次元データ411から抽出された特徴量が閾値以上の抽出三次元データ412が符号化されることで得られた符号化三次元データ414を第1復号方法により復号する。また、三次元データ復号装置500は、入力三次元データ411が符号化されることで得られた符号化三次元データ413を、第1復号方法とは異なる第2復号方法により復号する。
【0282】
これによれば、三次元データ復号装置500は、特徴量が閾値以上のデータを符号化した符号化三次元データ414と、符号化三次元データ413とを、例えば、使用用途等に応じて選択的に受信できる。これにより、三次元データ復号装置500は、伝送するデータ量を削減できる。さらに、三次元データ復号装置500は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した復号方法を用いることができる。
【0283】
また、第1復号方法では、第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
【0284】
これによれば、三次元データ復号装置500は、隣接するデータ間の相関が低くなりやすい抽出三次元データに対して、インター予測の優先度を上げることができる。
【0285】
また、第1復号方法と第2復号方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2復号方法では、8分木により三次元位置が表現され、第1復号方法では、三次元座標により三次元位置を表現される。
【0286】
これによれば、三次元データ復号装置500は、データ数(VXL又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0287】
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。三次元データ復号装置500は、当該識別子を参照して、符号化三次元データ413及び414を識別する。
【0288】
これによれば、三次元データ復号装置500は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
【0289】
また、三次元データ復号装置500は、さらに、クライアント(三次元データ復号装置500)の状態をサーバに通知する。三次元データ復号装置500は、クライアントの状態に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
【0290】
これによれば、三次元データ復号装置500は、クライアントの状態に応じて適切なデータを受信できる。
【0291】
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
【0292】
また、三次元データ復号装置500は、さらに、符号化三次元データ413及び414の一方をサーバに要求し、当該要求に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
【0293】
これによれば、三次元データ復号装置500は、用途に応じた適切なデータを受信できる。
【0294】
以上、本開示の実施の形態に係る三次元データ符号化装置及び三次元データ復号装置について説明したが、本開示は、この実施の形態に限定されるものではない。
【0295】
また、上記実施の形態に係る三次元データ符号化装置又は三次元データ復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【0296】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0297】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0298】
また、本開示は、三次元データ符号化装置又は三次元データ復号装置により実行される三次元データ符号化方法又は三次元データ復号方法として実現されてもよい。
【0299】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0300】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【0301】
以上、一つまたは複数の態様に係る三次元データ符号化装置及び三次元データ復号装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0302】
本開示は、三次元データ符号化装置及び三次元データ復号装置に適用できる。
【符号の説明】
【0303】
100、400 三次元データ符号化装置
101、201、401、501 取得部
102、402 符号化領域決定部
103 分割部
104 符号化部
111 三次元データ
112、211、413、414、511 符号化三次元データ
200、500 三次元データ復号装置
202 復号開始GOS決定部
203 復号SPC決定部
204 復号部
212、512、513 復号三次元データ
403 SWLD抽出部
404 WLD符号化部
405 SWLD符号化部
411 入力三次元データ
412 抽出三次元データ
502 ヘッダ解析部
503 WLD復号部
504 SWLD復号部