(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-30
(45)【発行日】2025-07-08
(54)【発明の名称】端末装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20250701BHJP
G06T 7/60 20170101ALI20250701BHJP
【FI】
G06T7/00 C
G06T7/60 180B
(21)【出願番号】P 2022212649
(22)【出願日】2022-12-28
【審査請求日】2024-03-12
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100139491
【氏名又は名称】河合 隆慶
(74)【代理人】
【識別番号】100203264
【氏名又は名称】塩川 未久
(72)【発明者】
【氏名】ペラエズ ホルヘ
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2005-327125(JP,A)
【文献】特開2022-159417(JP,A)
【文献】米国特許出願公開第2021/0383594(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06V 10/00-20/90
(57)【特許請求の範囲】
【請求項1】
通信部及び制御部を備える端末装置であって、
前記制御部は、
他の端末装置から第1デプスマップを前記通信部によって受信し、前記第1デプスマップは、複数の第1画素を含
み、前記第1画素は、3次元空間上の被写体までの距離に応じた画素値を有
し、前記被写体は、前記他の端末装置のユーザであり、
前記端末装置のユーザの視線に基づいて所定の直線を設定し、
前記所定の直線に基づいて第2デプスマップを生成し、前記第2デプスマップは、複数の第2画素を含
み、前記第2画素は、前記3次元空間において設定される所定の直線までの距離に応じた画素値を有
し、
同じ座標の前記第1画素の画素値と前記第2画素の画素値との差分が閾値以内である場合、前記座標を前記被写体と前記所定の直線との衝突点として検出する
、端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、端末装置に関する。
【背景技術】
【0002】
従来、3次元仮想空間上の2つの物体が衝突するか否かを判定する衝突判定(Collision Detection)が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の衝突判定は、2つの物体のうちの一方の物体のポリゴンモデルと他方の物体から延ばした直線との交点すなわち衝突点を検出することにより行われる。他方の物体は、例えば、壁又は他の物体のポリゴンモデル等である。ポリゴンモデルを構成する多角形の面の数は、膨大である。そのため、従来の衝突判定では、計算コストが高くなるという問題があった。
【0005】
かかる点に鑑みてなされた本開示の目的は、衝突判定において計算コストを削減することにある。
【課題を解決するための手段】
【0006】
本開示の一実施形態に係る端末装置は、制御部を備える。第1デプスマップは、複数の第1画素を含む。前記第1画素は、3次元空間上の被写体までの距離に応じた画素値を有する。第2デプスマップは、複数の第2画素を含む。前記第2画素は、前記3次元空間において設定される所定の直線までの距離に応じた画素値を有する。前記制御部は、同じ座標の前記第1画素の画素値と前記第2画素の画素値との差分が閾値以内である場合、前記座標を前記被写体と前記所定の直線との衝突点として検出する。
【発明の効果】
【0007】
本開示の一実施形態によれば、衝突判定において計算コストを削減することができる。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施形態に係るシステムの概略構成を示すブロック図である。
【
図2】
図1に示す端末装置の動作例を示すフローチャートである。
【
図3】第1デプスマップ及び第2デプスマップを説明するための図である。
【発明を実施するための形態】
【0009】
以下、本開示に係る実施形態について、図面を参照して説明する。
【0010】
図1に示すようなシステム1は、仮想空間を利用して仮想イベントを提供する。システム1は、端末装置10Aと、端末装置10Bとを含む。端末装置10Aと、端末装置10Bとは、ネットワーク2を介して通信可能である。ネットワーク2は、移動体通信網及びインターネット等を含む任意のネットワークであってよい。以下、端末装置10A,10Bを特に区別しない場合、これらは、単に「端末装置10」とも記載される。
【0011】
端末装置10Aは、ユーザ3Aによって使用される。ユーザ3Aは、端末装置10Aを用いて仮想イベントに参加者として参加する。端末装置10Bは、ユーザ3Bによって使用される。ユーザ3Bは、端末装置10Bを用いて仮想イベントに参加者として参加する。端末装置10は、例えば、デスクトップPC(Personal Computer)、タブレットPC、ノートPC又はスマートフォン等の端末装置である。
【0012】
端末装置10は、通信部11と、入力部12と、出力部13と、カメラ14と、測距センサ15と、記憶部16と、制御部17とを備える。
【0013】
通信部11は、ネットワーク2に接続可能な少なくとも1つの通信モジュールを含んで構成される。通信モジュールは、例えば、有線LAN若しくは無線LAN等の規格に対応した通信モジュールであるか、又は、LTE(Long Term Evolution)、4G(4th Generation)若しくは5G(5th Generation)等の移動体通信規格に対応した通信モジュールである。
【0014】
入力部12は、ユーザからの入力を受け付け可能である。入力部12は、ユーザからの入力を受け付け可能な少なくとも1つの入力用インタフェースを含んで構成される。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン又はマイク等である。
【0015】
出力部13は、データを出力可能である。出力部13は、データを出力可能な少なくとも1つの出力用インタフェースを含んで構成される。出力用インタフェースは、例えば、ディスプレイ又はスピーカ等である。ディスプレイは、例えば、LCD(Liquid Crystal Display)又は有機EL(Electro Luminescence)ディスプレイ等である。
【0016】
カメラ14は、被写体を撮像して撮像画像を生成可能である。カメラ14は、例えば、可視光カメラである。カメラ14は、例えば15~30[fps]のフレームレートで被写体を連続的に撮像する。カメラ14は、出力部13のディスプレイに対向するユーザを被写体として撮像可能な位置に配置される。
【0017】
測距センサ15は、被写体までの距離を測定可能である。測距センサ15は、被写体としてのユーザまでの距離を測定可能な位置に配置される。例えば、測距センサ15は、出力部13のディスプレイの枠に配置される。測距センサ15は、デプスマップを生成する。デプスマップは、複数の画素を含む。デプスマップの各画素は、測距センサ15からユーザまでの距離に応じた画素値を有する。測距センサ15は、例えば、ToF(Time Of Flight)カメラ、LiDAR(Light Detection And Ranging)又はステレオカメラを含んで構成される。測距センサは、「デプスカメラ」とも称される。
【0018】
記憶部16は、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ又はこれらのうちの少なくとも2種類の組み合わせを含んで構成される。記憶部16は、主記憶装置、補助記憶装置又はキャッシュメモリとして機能してよい。記憶部16には、端末装置10の動作に用いられるデータと、端末装置10の動作によって得られたデータとが記憶される。端末装置10Aの記憶部16には、端末装置10Bの測距センサ15の後述のカメラパラメータが記憶される。
【0019】
制御部17は、少なくとも1つのプロセッサ、少なくとも1つの専用回路又はこれらの組み合わせを含んで構成される。プロセッサは、例えば、CPU(Central Processing Unit)若しくはGPU(Graphics Processing Unit)等の汎用プロセッサ又は特定の処理に特化した専用プロセッサである。制御部17は、端末装置10Aの各部を制御しながら、端末装置10Aの動作に関わる処理を実行する。
【0020】
図2は、
図1に示す端末装置10Aの動作例を示すフローチャートである。仮想イベントが開始すると、制御部17は、ステップS1の処理を開始する。
【0021】
ステップS1の処理において、制御部17は、ネットワーク2を介して端末装置10Bから、ユーザ3Bの撮像画像及び第1デプスマップ20のデータを受信する。制御部17は、ユーザ3Bの撮像画像及び第1デプスマップ20のデータを受信することにより取得する。ユーザ3Bの撮像画像は、端末装置10Bのカメラ14によって生成されたものである。第1デプスマップ20は、端末装置10Bの測距センサ15によって生成されたものである。第1デプスマップ20は、複数の第1画素を含む。第1画素は、3次元空間上の所定点から被写体までの距離に応じた画素値を有する。本実施形態では、3次元空間上は、ユーザ3Bがいる空間である。本実施形態では、所定点は、端末装置10Bの測距センサ15の位置である。つまり、本実施形態では、第1画素は、所定点としての端末装置10Bの測距センサ15から被写体としてのユーザ3Bまでの距離に応じた画素値を有する。
図3には、第1デプスマップ20を示す。
図3では、画素値の違いを網掛けで示す。
【0022】
ステップS2の処理において、制御部17は、3次元空間において
図3に示すような所定の直線21を設定する。本実施形態では、上述したように、3次元空間は、ユーザ3Bがいる空間である。制御部17は、ユーザ3Aの視線に基づいて所定の直線21を設定してよい。制御部17は、端末装置10Aのカメラ14が生成した撮像画像を解析することにより、ユーザ3Aの視線を検出してよい。制御部17は、ステップS1からステップS7の処理を繰り返し実行する場合、後述のステップS7の処理で出力部13のディスプレイに表示される2次元モデルに対するユーザ3Aの視線を検出してよい。この場合、制御部17は、ユーザ3Bがいる3次元空間におけるユーザ3Aの視線を特定し、特定したユーザ3Aの視線を所定の直線21に設定してよい。このような構成により、後述のステップS7の処理において出力部13のディスプレイに表示されたユーザ3Bの2次元モデルのうち、ユーザ3Aが見ている部分を後述のステップS5の処理において衝突点として検出することができる。
【0023】
ステップS3の処理において、制御部17は、3次元空間において設定した所定の直線21に基づいて
図3に示すような第2デプスマップ22を生成する。第2デプスマップ22は、複数の第2画素を含む。第2画素は、3次元空間上の所定点から所定の直線21までの距離に応じた画素値を有する。本実施形態では、上述したように、3次元空間は、ユーザ3Bがいる空間である。所定点は、端末装置10Bの測距センサ15の位置である。つまり、第2画像は、所定点としての端末装置10Bの測距センサ15から所定の直線21までの距離に応じた画素値を有する。制御部17は、記憶部16から端末装置10Bの測距センサ15のカメラデータを取得し、端末装置10Bの測距センサ15のカメラパラメータに基づいて、第2デプスマップ22を生成してよい。端末装置10Bの測距センサ15のカメラパラメータは、端末装置10Bの測距センサ15の内部パラメータ及び外部パラメータの少なくとも何れかを含んでよい。
図3では、画素値の違いを網掛けで示す。ここで、第1デプスマップ20と第2デプスマップ22とでは、同じ座標系が用いられる。また、第1デプスマップ20と第2デプスマップ22とが同じ3次元空間に対応することにより、第1デプスマップ20と第2デプスマップ22とにおいて、同じ座標は、3次元空間の同じ位置に対応する。
【0024】
ステップS4の処理において、制御部17は、同じ座標の第1画素の画素値と第2画素の画素値とを比較する。制御部17は、同じ座標の第1画素の画素値と第2画素の画素値との差分が閾値以内であるか否かを判定する。閾値は、同じ物体についての3次元空間上の所定点からの距離に応じた画素値のバラツキに基づいて設定されてよい。つまり、第1画素の画素値と第2画素の画素値との差分が閾値以内である場合、第1画素に対応する物体の3次元空間上の所定点からの距離と、第2画素に対応する物体の3次元空間上の所定点からの距離とは、同じ距離とみなされてよい。
【0025】
制御部17は、同じ座標の第1画素の画素値と第2画像の画素値との差分が閾値を超えると判定した場合(ステップS4:NO)、座標をシフトさせてステップS4の処理を再度実行する。再度実行するステップS4の処理において、制御部17は、シフト後の座標について、同じ座標の第1画素の画素値と第2画像の画素値との差分が閾値以内であるか否かを判定する。ステップS4の処理を繰り返す場合、制御部17は、第1デプスマップ20及び第2デプスマップ22の全ての座標について、同じ座標の第1画素の画素値と第2画像の画素値との差分が閾値以内であると判定しない場合、ステップS6の処理に進んでもよい。
【0026】
制御部17は、同じ座標の第1画素の画素値と第2画像の画素値との差分が閾値以内であると判定した場合(ステップS4:YES)、その座標を被写体と所定の直線21との衝突点として検出する(ステップS5)。例えば、
図3には、説明の便宜上、第1デプスマップ20と第2デプスマップとを重ねたデプスマップ23を示す。座標24の第1画素の画素値と第2画素の画素値とは、閾値以内である。制御部17は、座標24を、被写体としてのユーザ3Bと所定の直線21との衝突点として検出する。
【0027】
ステップS6の処理において、制御部17は、ユーザ3Bの3次元モデルを生成する。一例として、制御部17は、第1デプスマップ20を用いてポリゴンモデルを生成する。さらに、制御部17は、ユーザ3Bの撮像画像のデータを用いたテクスチャマッピングをポリゴンモデルに施すことにより、ユーザ3Bの3次元モデルを生成する。
【0028】
ステップS7の処理において、制御部17は、ステップS6の処理で生成した3次元モデルを2次元化することにより、2次元モデルを生成する。制御部17は、生成した2次元モデルを出力部13のディスプレイに表示させる。制御部17は、出力部13に表示させる2次元モデルにおいて、ステップS5の処理で検出した衝突点に対応する部分以外の部分の解像度を設定値よりも下げてもよい。このような構成により、ステップS5の処理において出力部13のディスプレイに表示されたユーザ3Bの2次元モデルのうち、ユーザ3Aが見ている部分を衝突点として検出した場合、ユーザが見ている部分以外の部分の解像度を下げることができる。制御部17は、出力部13に表示させる2次元モデルにおいて、ステップS5の処理で検出した衝突点に対応する部分の解像度を設定値よりも上げてもよい。このような構成により、ステップS5の処理において出力部13のディスプレイに表示されたユーザ3Bの2次元モデルのうち、ユーザ3Aが見ている部分を衝突点として検出した場合、ユーザが見ている部分の解像度を上げることができる。設定値は、デフォルト値であってよい。
【0029】
制御部17は、ステップS7の処理後、ステップS1の処理に戻る。制御部17は、仮想イベントが終了するまで、ステップS1からステップS7までの処理を繰り返し実行してよい。
【0030】
このように本実施形態に係る端末装置10Aでは、制御部17は、同じ座標の第1デプスマップ20の第1画素の画素値と第2デプスマップ22の第2画素の画素値との差分が閾値以内である場合、その座標を被写体と所定の直線21との衝突点として検出する。このようにポリゴンモデルを生成する前の第1デプスマップ20を利用して衝突点を検出することにより、ポリゴンモデルを構成する多角形の面と直線との交点を検出する場合よりも、計算コストを削減することができる。
【0031】
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形及び改変を行ってもよいことに注意されたい。したがって、これらの変形及び改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部又は各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部又はステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
【符号の説明】
【0032】
1:システム、2:ネットワーク、3A,3B:ユーザ、10A,10B:端末装置、11:通信部、12:入力部、13:出力部、14:カメラ、15:測距センサ、16:記憶部、17:制御部、20:第1デプスマップ、21:所定の直線、22:第2デプスマップ、23:デプスマップ、24:座標