[実施形態1]
本発明の一実施形態に係る遠隔通信システム(テレコミュニケーションシステム)について、図1から図10を参照しながら説明を行う。
図1は、本実施形態に係る遠隔通信システムAの利用シーンの一例を模式的に示した図である。図1の左側が作業現場100であり、図1の右側が指示室106を示しており、お互いに離れたところに位置している。遠隔通信システムAは、互いに離れて位置している作業者と指示者との間における作業に関する情報伝達を行うことによって作業支援を実現するシステムである。
図1は、作業現場100にいる作業者101が、指示室106にいる指示者107から、作業対象102に関する作業指示を作業端末(第1端末)103によって受けながら、作業を行なっているシーンを示している。より詳細に説明すると、作業対象102の修理を行っている作業者101が、監督する指示者107から修理に関する指示をもらっている例である。
作業端末103は、タブレット状のコンピュータであり、表面側に設けられる表示部103bと、背面側に設けられているカメラ103aとを備えている。作業端末103は、カメラ103aによって作業対象102を撮影でき、撮影にて得られた映像を表示部103bに表示させることができ、且つ、当該映像を遠隔地の指示端末(第2端末)108へ送信できるようになっている。
指示室106に設置されている指示端末108は、情報処理装置(マーク処理装置)108aと、表示装置108bとからなる。情報処理装置108aと表示装置108bとは接続されており、表示装置108bは情報処理装置108aに表示制御される。情報処理装置108aは、図1に示すようにデスクトップ型のパーソナルコンピュータ(Personal Computer)の形態であるが、当該形態に限定されるものではなく、作業者101が用いているようなタブレット状のコンピュータであってもよい。
情報処理装置108aは、遠隔地の作業端末103から送られてきた映像を受信し、その映像を表示装置108bに表示させることができる。指示者は、表示装置108bに表示されている映像110を見ながら、表示装置108bおよび指示端末108を用いて作業者101に対して作業指示を行う。
具体的には、指示者107がタッチパネルやマウスを利用した入力指示を行うと、指示端末108は、当該入力指示に基づいて、指示マークを示すマーク情報を生成する。指示マークとは、表示装置108bおよび表示部103bに表示される映像において、指示者107に指定される指定位置に重畳して表示されるマークであり、指示者107が作業者に指示を行うのに利用される。なお、本実施形態において、指示マークとは、単なるマークの他、ポインタ、マーカー、テキスト、絵柄であってもよいし、これらの2以上の組み合わせからなるものであってもよい。
指示端末108は、マーク情報を生成すると、当該マーク情報に基づいて表示装置108bに指示マークを表示させ、且つ、当該マーク情報を作業端末103へ送信する。作業端末103も、当該マーク情報に基づいて表示部103bに指示マークを表示させる。すなわち、作業端末103と指示端末108とは、マーク情報を共有し、当該マーク情報に基づいて、其々が同じ指示マークを映像に重畳させる。
つまり、指示端末108は、図1の表示装置108bの映像110に示される作業対象映像102a(作業対象102に対応する映像)に対して指示マークを重畳させるための入力操作が指示者によって行われると、作業対象映像102aに対して指示マークを重畳させることを示したマーク情報を生成し、当該マーク情報を作業端末103に送信し、当該マーク情報を作業端末103と共有する。
そして、指示端末108は、当該マーク情報に基づいて、図1の表示装置108bの映像110に示される作業対象映像102aに対して指示マーク111を重畳させ、作業端末103は、当該指示マーク情報に基づいて、図1の表示部103bの映像104に示される作業対象映像102aに対して指示マーク105を重畳させる。
作業者101は、表示部103bによって、指示マーク105と、指示マーク105にて指定される箇所(目標位置)とを把握できる。これにより、作業者101は、遠隔地にある指示室106からの作業指示を視覚的に把握できる。なお、作業端末103は、作業者101の入力指示に基づいてマーク情報を設定して、当該マーク情報に基づき、表示部103bの映像104に指示マークを重畳表示することもできる。この際、勿論であるが、作業端末103が指示端末108へマーク情報を送信し、作業端末103と指示端末108とで当該マーク情報を共有し、指示端末108は、作業端末103から送られてきたマーク情報に基づいて、表示装置108bの映像110に指示マークを重畳させることができる。これにより、指示者107と作業者101とのうちの一方が設定した指示マークを、指示者107および作業者101の両者が認識可能となる。
また、図2に示すように、遠隔通信システムAは、作業端末103と指示端末108と公衆通信網(例えばインターネット)NTとを含んでおり、作業端末103と指示端末108とは、公衆通信網NTを介して、TCP/IPやUDP等のプロトコルに従って通信することができる。
遠隔通信システムAには、図2に示すように、マーク情報を一括して管理するための管理サーバ200が設けられ、管理サーバ200も公衆通信網NTに接続されている。なお、作業端末103と公衆通信網NTとは、無線通信によって接続されてもよい。この場合、無線通信は、例えば、Wi-Fi(登録商標) Alliance(米国業界団体)によって規定された国際標準規格(IEEE 802.11)のワイファイ(Wi-Fi:Wireless Fidelity)接続によって実現することが可能である。また、以上では、通信網に関し、インターネットなどの公衆通信網を例示しているが、例えば、企業などで使用されているLAN(Local Area Network)を用いることも可能であり、それらが混在した構成であっても良い。なお、図2では、管理サーバ200を用いた構成を示しているが、作業端末103と指示端末108とが直接通信を行う形態でも問題はなく、以下の説明では、作業端末103と指示端末108とが直接通信する形態を説明する。また、通常のテレビ会議システムで用いられる一般的な音声通信処理や付加画面情報以外の映像通信処理に関しては、支障のない範囲で説明を省略する。
まず、作業端末103において処理を行う各ブロックについて、図3を用いて説明する。図3に示すように、作業端末103は、制御部308と、通信部301と、表示制御部302と、映像取得部303と、エンコード部304とを有する。
映像取得部303は、作業端末103が備えるカメラ103aに接続されており、カメラ103aから映像を取得して、制御部308の制御に基づいて当該映像をエンコード部304に出力する処理を行う。
制御部308は、作業端末103の処理全体の制御を行い、且つ、各部間の情報のやり取りの制御を行うものである。
エンコード部304は、映像取得部303から入力した映像信号を、元の信号量より小さくなるよう圧縮する符号化処理を行う。符号化処理については、例えば動画像符号化に適したH.264(国際標準動画圧縮規格)を適用できるし、他の手法を用いることもできる。また、エンコード部304は、映像信号を符号化処理して得られる映像符号を通信部301に出力する。
通信部301は、エンコード部304から映像符号を受け取ると、ネットワークを介した通信を行えるようにデータ(映像符号)を整形し、作業端末103の外部(例えば後述する指示端末108)に映像符号を送信する処理を行う。ネットワーク通信を行うためのデータの整形は、例えば、TCP/IPやUDP等のプロトコルに従った、通信のために必要な情報を付加する処理とする。
通信部301は、さらに、作業端末103の外部(例えば指示端末108)からマーク情報を受け取り、その情報を表示制御部302に出力する。
表示制御部302は、通信部301からマーク情報を入力すると、当該マーク情報を参照して、映像取得部303で取得された映像上に指示マークを重畳し、指示マークを重畳した映像を表示部103bに表示させる処理を行う。指示マークの重畳処理は従来技術を用いることができる。
続いて、指示端末108の情報処理装置108aにおいて処理を行う各ブロックについて、図4を用いて説明する。
指示端末108の情報処理装置108aは、制御部408と、通信部401と、表示制御部402と、デコード部405と、映像保持部406と、マーク追跡部407と、入力部409とを有する。
制御部408は、指示端末108の処理全体の制御を行い、且つ、各部間の情報のやり取りの制御を行うものである。
情報処理装置108aが、指示端末108の外部(例えば後述する作業端末103)から映像符号を受信すると、その映像符号は通信部401に入力される。通信部401は、その映像符号をデコード部405に出力する処理を行う。
デコード部405は、通信部401から映像符号を受け取ると、前述したエンコード部304における符号化処理とは逆の処理(復号化処理)を行う。これにより、映像符号は元の映像信号に復号されることになる。デコード部405は、復号した映像信号を、表示制御部402と、映像保持部406と、マーク追跡部407と、に出力する処理を行う。
情報処理装置108aに接続されている表示装置108bはタッチパネルであり、入力部409は、指示者107が表示装置108bの画面をタッチした位置を検出する。
映像保持部406は、デコード部405から受け取った映像信号を保持し、現時点のフレームよりも1フレーム前の映像信号をマーク追跡部407に出力する。
マーク追跡部407は、デコード部405から現時点のフレームの映像信号と、映像保持部406から現時点よりも1フレーム前のフレームの映像信号と、入力部409の検出結果とを受け取り、マーク情報を生成する処理を行う。この処理については後述する。
マーク追跡部407で生成されたマーク情報は、表示制御部402および通信部401に出力される。通信部401は、マーク追跡部407からマーク情報を受け取ると、外部(例えば作業端末103)に送信する処理を行う。
表示制御部402は、デコード部405から映像信号を受け取ると、映像信号に応じた映像を表示装置108bに表示させる。また、表示制御部402は、マーク追跡部407からマーク情報を受け取ると、指示マークを重畳した映像を表示装置108bに表示させる。
以上にて説明したように、図3の構成が作業端末103において処理を行う各ブロックであり、図4の構成が指示端末108の情報処理装置108aにおいて処理を行う各ブロックである。ところで、作業端末103と指示端末108とを共通の構成にすることも可能であり、この構成の端末装置500を図5に示す。つまり、図5の端末装置500は、作業端末103(図3参照)として利用でき、また、指示端末108(図4参照)としても利用可能である。
なお、図5の端末装置500が作業端末103として利用される場合、通信部501は通信部301として機能し、表示制御部502は表示制御部302として機能し、制御部508は制御部308として機能する。また、図5の端末装置500が指示端末108として利用される場合、通信部501は通信部401として機能し、表示制御部502は表示制御部402として機能し、制御部508は制御部408として機能する。また、図5に示す各ブロックのうち、図3または図5のブロックと同じ符号の付されたブロックは、図3または図5の同じ符号のブロックと同じ処理を行う。但し、図5の端末装置500が作業端末103として利用される場合、図5の各ブロックのうちの図3に示すブロックと同じ符号の付されたブロックは休止し、図5の端末装置500が指示端末108として利用される場合、図5の各ブロックのうち図3に示すブロックと同じ符号の付されたブロックは休止する。
続いて、図4または図5のマーク追跡部407の詳細について図6を用いて説明する。図6に示されるように、マーク追跡部407は、映像信号取得部601と、変位ベクトル算出部602と、変位ベクトル加算部(加算処理部)605と、マーク管理部606と、位置算出部(更新処理部)607と、判定部608と、マーク情報生成部(位置情報生成部)610とを含む。また、同図に示すように、変位ベクトル算出部602は、オプティカルフロー算出部603と、平均処理部604とを含む。
映像信号取得部601は、デコード部405から現時点のフレームの映像信号tと、映像保持部406から現時点のフレームの1フレーム前のフレームの映像信号t−1とを取得し、これら映像信号を変位ベクトル算出部602に渡す処理を行う。
映像信号取得部601から変位ベクトル算出部602へ映像信号tおよび映像信号t−1の組み合わせが入力される度に、オプティカルフロー算出部603および平均処理部604は以下にて述べる処理を行う。
オプティカルフロー算出部603は、映像信号tおよび映像信号t−1に基づき、オプティカルフローの算出処理を実行する。オプティカルフローとは、x方向の成分とy方向の成分とからなる2次元ベクトルであり、映像に示されている物体の動きの移動量および方向を示すベクトルである。オプティカルフロー算出部603は、映像信号tおよび映像信号t−1の組み合わせから算出される全てのオプティカルフローを平均処理部604に出力する。
平均処理部604は、オプティカルフロー算出部603から入力する全てのオプティカルフローの平均を変位ベクトルとして算出する。つまり、変位ベクトルとは、映像全体の動きの移動量および方向を示すベクトルである。
平均処理部604にて求められた変位ベクトルは位置算出部607へ送られる。また、入力部409から入力されるコマンド(指示者によるコマンド)に応じて表示装置108bに表示させる映像が一時停止にされている期間中においては、平均処理部604にて求められた変位ベクトルは、位置算出部607のみならず変位ベクトル加算部605へも送られる。
マーク情報生成部610は、指示者が表示装置108bに表示されている映像のうちの指定位置にマークを描画するためのタッチ操作を行うと、このタッチ操作に応じたマーク情報を生成することで、当該マーク情報に応じた指示マークを設定する。マーク情報には、前記の指定位置の位置情報と、前記の指定位置に付される指示マークの画像データとが示されている。
マーク管理部606は、マーク情報生成部610によって指示マークが設定されると、前記指示マークのマーク情報を図示しないメモリに記憶させることで指示マークを登録し、かつ、登録されている指示マークのマーク情報を管理する。
変位ベクトル加算部605は、入力部409から入力されるコマンド(指示者によるコマンド)に応じて表示制御部402が表示装置108bに表示させる映像を一時停止にしている期間中にのみ処理を実行する。なお、一時停止とは、同じフレームが表示され続ける状態を指す。
具体的に説明すると、変位ベクトル加算部605は、表示装置108bに表示されている映像が一時停止されている期間、平均処理部604にて算出される変位ベクトルを加算し続ける(積算し続ける)。この加算にて得られるベクトルを加算変位ベクトルと称す。
また、変位ベクトル加算部605は、表示装置108bに表示されている映像が一時停止されている期間、マーク情報生成部610が新たに指示マークを設定すると、設定時の加算変位ベクトルをマーク情報に示される位置情報に加算することで、当該位置情報を補正するようになっている。
つまり、表示装置108bに表示されている映像の一時停止が解除されている間、マーク情報生成部610が新たに指示マークを設定すると、当該指示マークに対応するマーク情報は、当該マーク情報に含まれる位置情報に加算変位ベクトルが変位ベクトル加算部605によって加算されることなく、マーク管理部606によってメモリに記憶される。これに対し、表示装置108bに表示されている映像が一時停止されている間、マーク情報生成部610が新たに指示マークを設定すると、当該指示マークに対応するマーク情報は、当該マーク情報に含まれる位置情報に加算変位ベクトルが変位ベクトル加算部605によって加算された上で、マーク管理部606によってメモリに記憶される。
なお、変位ベクトル加算部605は、一時停止が解除されると、加算変位ベクトルをゼロにリセットする。
位置算出部607は、現時点のフレームが変化する度に、この変化の度に変位ベクトル算出部602から送られてくる変位ベクトル参照して、マーク管理部606に管理されている指示マークのマーク情報の更新処理を行う。
この更新処理は、変位ベクトル算出部602によって変位ベクトルが算出される度に行われるものであり、登録されている指示マークのマーク情報に示される位置情報を変位ベクトルに応じて更新することにより、指示マークの位置を変位ベクトルに応じて移動させる処理である。
更新処理が行われると、更新処理後のマーク情報が位置算出部607からマーク管理部606に送られ、マーク管理部606は、更新処理後のマーク情報をメモリに上書きする。これにより、マーク管理部606にて管理されている指示マークのマーク情報は常に更新処理後のものとなる。また、位置算出部607は、更新処理後のマーク情報を判定部608に出力する。
判定部608は、登録されている指示マークについて、その存在を作業者に通知する必要性の有無を判定するブロックである。処理の内容については後述する。
続いて、図3に示す作業端末103における処理の流れについて図7を用いて説明する。図7は、作業端末103の処理の流れを示すフローチャートである。
ステップ701(S701):映像取得部303は、カメラ103aから映像を取得し、得られた映像の映像信号をエンコード部304と表示制御部302とに出力する。エンコード部304は、映像取得部303から入力された映像信号に対して符号化処理を実施する。エンコード部304は、符号化処理で生成された映像符号を通信部301に出力する。制御部308は、その後、処理をステップ702に進める。
ステップ702(S702):通信部301は、エンコード部304から映像符号を受け取ると、通信できるようにデータを整形後、作業端末103の外部に出力(送信)する。制御部308は、その後、処理をステップ703に進める。
ステップ703(S703):表示制御部302は、映像取得部303から映像信号を受け取ると、その映像信号に示される映像を表示部103bに表示させる。制御部308は、その後、処理をステップ704に進める。
ステップ704(S704):通信部301は、外部からマーク情報を受信し、そのマーク情報を表示制御部302に出力する。制御部308は、その後、処理をステップ705に進める。
ステップ705(S705):表示制御部302は、通信部301から受け取ったマーク情報に基づき、指示マークを映像に重畳して表示させる。制御部308は、その後、処理をステップ706に進める。
ステップ706(S706):制御部308は、処理を終了させるか否かを判断する。制御部308は、処理を終了させると判断する場合には全ての処理を終了させる。これに対し、制御部308は、処理を終了させないと判断する場合(処理を継続する場合)、ステップ701に戻り、ステップ701以降が繰り返し実行される。例えば、制御部308は、作業者から終了コマンドが入力されている場合は全ての処理を終了し、それ以外の場合はS701に戻る。
続いて、図4に示す指示端末108の情報処理装置108aの処理の流れについて図8を用いて説明する。図8は、指示端末108の処理の流れを示すフローチャートである。
情報処理装置108aに備わる制御部408は、処理が開始されると、ステップ801とステップ808とを同時に起動する。
ステップ801(S801):通信部401は、作業端末103から送られてきた映像符号を受信すると、その映像符号をデコード部405に出力する。制御部408は、その後、処理をステップ802に進める。
ステップ802(S802):デコード部405は、通信部401から映像符号を受け取ると、前述した復号化処理を実施する。デコード部405は、復号化処理にて得られた映像信号を、表示制御部402と、映像保持部406と、マーク追跡部407とに出力する。制御部408は、その後、処理をステップ803に進める。
ステップ803(S803):表示制御部402は、デコード部405から映像信号を受け取ると、当該映像信号の映像を表示装置108bに表示させる。制御部408は、その後、処理をステップ804に進める。
ステップ804(S804):マーク追跡部407が、デコード部405から映像信号tと、映像保持部406から映像信号t−1とを入力すると、オプティカルフロー算出部603が、オプティカルフローを算出し、平均処理部604が、オプティカルフローを用いて変位ベクトルを算出する。同時に、指示者からのコマンドに応じて表示装置108bの映像が一時停止されている間、変位ベクトル加算部605が、変位ベクトルの加算を行って加算変位ベクトルを算出する。続いて、処理はステップ805に移行する。
ステップ805(S805):マーク追跡部407の位置算出部607は、マーク管理部606に登録されている指示マークが存在する場合、登録されている指示マークのマーク情報の位置情報を更新する。具体的には、S804の変位ベクトルに相当する向きおよび方向にて、前記位置情報に示される位置が変位するように、位置情報が更新される。マーク管理部606は、メモリに記憶されるマーク情報を更新後の内容に上書きする。マーク追跡部407は、登録されている指示マークのマーク情報を、表示制御部402と、通信部401とに出力する。制御部408は、その後、処理をステップ806に進める。
ステップ806(S806):表示制御部402は、マーク追跡部407からマーク情報を受け取ると、マーク情報に基づいて指示マークを映像に重畳して表示装置108bに表示させる。制御部408は、その後、処理をステップ807に進める。
ステップ807(S807):通信部401は、マーク追跡部407からマーク情報を受け取ると、指示端末108の外部に出力(送信)する。制御部408は、その後、ステップ810に進める。
ステップ808(S808):マーク情報生成部610は、表示装置108bの表示画面に対する指示者のタッチ操作の位置に応じてマーク情報を生成し、そのマーク情報をマーク追跡部407に出力する。制御部408は、その後、処理をステップ809に進める。
ステップ809(S809):変位ベクトル加算部605は、マーク情報生成部610からマーク情報を受け取ると、ステップ804で算出した加算変位ベクトルを、マーク情報に示される位置情報に加算することで、位置情報の補正を行う。具体的には、S809の加算変位ベクトルに相当する向きおよび方向にて、前記位置情報に示される位置が変位するように、位置情報が補正される。マーク管理部606は、位置情報の補正が行われたマーク情報をメモリに記憶させることで、当該マーク情報の指示マークを登録する。制御部408は、その後、処理をステップ810に進める。
ステップ810(S810):制御部408は、処理を終了させるか否かを判断する。制御部408は、処理を終了させると判断する場合には全ての処理を終了させる。これに対し、制御部408は、処理を終了させないと判断する場合(処理を継続する場合)、ステップ801および808に戻り、図8のフローが繰り返し実行される。例えば、制御部308は、指示者から終了コマンドが入力されている場合は全ての処理を終了し、それ以外の場合は図8のフローを繰り返し実行する。
続いて、マーク追跡部407において実施される工程について詳細に説明する。マーク追跡部407に実行される工程は、指示マークの登録およびマーク情報の更新を行う工程と、指示マークの存在を作業端末103の作業者に通知する必要性の有無を判定する工程とを含んでいる。
まずは、指示マークの登録およびマーク情報の更新について説明する。指示マークは、作業端末103の表示部103bの画面を作業者101がタッチすることで設定されるものと、表示装置108bの画面を指示者107がタッチすることで設定されるものとがある。いずれの指示マークであっても同様に扱うことが可能であり、指示端末108の情報処理装置108aでそれらの管理・更新が行われる。
実際の作業者101の動きに伴う映像の動きに基づいて、マーク情報に示される位置情報を随時更新する必要がある。これは、例えば作業対象映像102a上に設定された指示マークの場合、作業対象映像102aの動きに追随するように指示マークを表示させるためである。更新の方法はさまざまあるが、本実施形態では、映像のオプティカルフローを用いる方法によって実現する。
オプティカルフローとは、映像内の物体の動きをベクトルで表したもので、既存の手法を適用できる。例えば、汎用の画像処理ライブラリ群のひとつであるOpenCVにも、オプティカルフローを算出できる関数(cvCalcOpticalFlowLK)があり、その関数を用いることもできる。映像から、複数のオプティカルフローがベクトルとして抽出されるが、全てのオプティカルフローの平均である平均ベクトルを、映像全体の動きを表す代表ベクトル(変位ベクトル)として用いることとする。登録されている指示マークのマーク情報に示される位置情報をこの変位ベクトルを用いて更新することで、指示マークを、撮影されているシーンの動きに追随する様に表示させることができる。
ここで、本実施形態では、位置算出部607が、登録されている指示マークのマーク情報に示される位置情報を更新するようになっているが、以下の式aによって実現できる。
ところで、本実施形態では、指示者107が指示マークを設定するためのタッチ操作を行う際、映像を一時停止することを想定している。これは、指示マークの設定位置の精度を高めるために有効であり、指示者107による実際の操作において必要性の高い機能である。
但し、指示者107が見ている表示装置108bの映像を一時停止させても、作業端末103の映像は一時停止しない。それゆえ、指示者107が見ている表示装置108bの映像を一時停止させると、指示者用の表示装置108bに表示される映像のシーンと、作業端末103にて表示される映像のシーンとが異なることになり、指示者にて設定される指示マークを映像に適切に反映させることができなくなる。
そこで、本実施形態では、指示者の表示装置108bの映像が一時停止になると、変位ベクトル加算部605が、一時停止時のフレームから現時点のフレームまでに渡り、変位ベクトル算出部602の平均処理部604にて算出される変位ベクトルを常に加算し(積算し)、加算結果である加算変位ベクトルを保持する。
そして、変位ベクトル加算部605は、一時停止中において、マーク情報生成部610にて指示マーク情報が新たに設定されると、当該指示マークのマーク情報に示される位置情報に対して、加算変位ベクトルを加算することで当該位置情報を補正する。
但し、この補正は、一時停止中(同じフレームを表示させ続ける)に新たに設定される指示マークに対してのみ必要な処理であり、一時停止されていない状態にて新たに設定される指示マークについては当該補正を行わない。
また、一時停止中に新たに設定される指示マークの位置情報は、変位ベクトル加算部605による補正が一度行われると、その後は、位置算出部607による更新処理のみで正確に更新されていくことが可能になる。
以下、変位ベクトル加算部605によって実行される補正処理の具体的内容を説明する。指示者107が用いている表示装置108bの映像が指示者107の入力コマンドによって一時停止されると、変位ベクトル加算部605は、以下の式bを用いて、一時停止の期間中において、現時点のフレームが変わる度に平均処理部604から出力される変位ベクトルを加算していく。変位ベクトル加算部605は、前記の加算を一時静止が解除されるまで継続する。
一時停止中に新たに指示マークが設定されると、変位ベクトル加算部605は、以下の式cを用いて、指示マークのマーク情報に示される位置情報を補正する。
式cは、一時停止中に生成される加算変位ベクトルを、一時停止にて表示されているフレームに対応する位置情報に加算することで、現時点のフレームでの位置情報を算出することを意味している。なお、式cにて求められる位置情報(現時点のフレームに対応)を含むマーク情報がマーク管理部606によってメモリに記憶されると、以降は、式aを用いることによって、常時、現時点のフレームに対応するように位置情報を更新することが可能になる。
以上にて述べた点からすれば、新たに指示マークが設定されると、当該指示マークが登録される際の位置情報は〔数4〕に示すようになる。
続いて、図6に示される判定部608の処理について説明する。判定部(未読・既読判定部)608は、登録されている指示マークについて、その存在を作業端末103のユーザ(作業者)に通知する通知処理を行う必要性の有無を判定する。ブロックである。
前述したように、指示者107が指示マークを設定するために表示装置108bの映像を一時停止している場合、作業端末103の映像と表示装置108bの映像とでは互いに異なるシーンを示していることがある。
そのため、指示者107が指示マークを設定した際に指示マークの位置が作業端末103の表示範囲から外れていることもあり、この場合、作業者101は指示マークの存在を認識できないことになる。また、表示装置108bの映像が一時停止されている間、指示者107は、作業者101によって撮影されているリアルタイムの映像を把握できていない。それゆえ、指示者107は、作業者101が指示マークの存在を実際に認識できていなくても、作業者101が指示マークの存在を認識していると思い込んでしまう事があり得る。
そこで、本実施形態では、判定部608は、作業者101が指示マークの存在を認識できていない可能性が高い場合、「通知必要(前記通知処理を行う必要性有)」と判定する。
具体的には、指示マークが一度も表示部103bに表示されたことがない場合、作業者101が指示マークの存在を認識できていないので、「通知必要」と判定する。この判定は、後述するS51〜S53にて実現される。
また、指示マークが表示部103bに表示された場合、連続表示時間が長いほど作業者101が認識している可能性が高いものの、連続表示時間が短いほど作業者101が認識している可能性が低い。そこで、表示部103bに表示されたことのある指示マークのうち、連続表示時間(現フレームを含めた連続表示時間)が閾値以下の指示マークについては、「通知必要」と判定する。この判定は、後述するS54〜S56にて実現される。
つぎに、判定部608の処理の流れを説明する。図9は、ある指示マークが新規で登録された場合の当該指示マークに対する判定部608の処理の流れを示したフローチャートである。
判定部608は、処理対象となる指示マークが登録されると、当該指示マークが表示部103bに一度も表示されていない間については、「通知必要」と判定する(S51〜S53)。この判定処理を以下説明する。
表示部103bの表示画面に対する位置特定のための平面座標における指示マークの座標をQm(x、y)、表示部103bの縦の画素数をh、横の画素数をwとすると、〔数5〕において、trueの場合、指示マークは表示部103bの表示画面内に位置することになり、falseの場合は、指示マークは表示部103bの表示画面から外れていることになる。
そこで、判定部608は、現時点のフレームについて、位置算出部607にて算出される位置情報を参照してQm(x、y)を把握する。そして、判定部608は、数5においてfalseの場合、つまり指示マークが表示部103bの表示画面内に位置していない場合、「通知必要」と判定し(S52)、次のフレームについて再度S51以降を繰り返す(S53にてYES)。
これに対し、数5においてtrueの場合、つまり指示マークが表示部103bの表示画面内に位置している場合、指示マークは表示部103bに表示されたことになる。この場合、判定部608は、処理をS54以降へ移行させる。
S54〜S56では、判定部608は、処理対象の指示マークの連続表示時間が閾値を超えていない場合に「通知必要」と判定するようになっている。この判定処理を以下説明する。
指示マークの連続表示時間(現フレームから遡って連続表示され続けている期間の長さ)をTm、閾値をαtとする(なお、mは指示マークのインデックスとする)。判定部608は、〔数6〕においてfalseの場合、つまり指示マークの連続表示時間が閾値を超えていない場合、「通知必要」と判定し(S55)、次のフレームについて再度S54以降を繰り返す(S56にてYES)。なお、数6において、αtの値は限定されるものではないが、経験的に1秒程度に設定されるものとする。また、判定部608は、例えば、数5を判定し続け、trueと判定され続けられた期間をTmとすることができる。
なお、連続表示時間は、前述のとおり、現フレームから遡って連続表示され続けている期間の長さである。それゆえ、指示マークが一旦表示されてS54に移行した後、連続表示時間が閾値を超える前に再度指示マークが表示画面から外れた場合、再度指示マークが表示画面から外れている期間中は連続表示時間がゼロとしてカウントされ、S54にてNOと判定され続ける。そして、指示マークが再度表示されると、表示された時点を起算点として連続表示時間がカウントされる。
判定部608は、〔数6〕においてtrueの場合、つまり指示マークの連続表示時間が閾値を超えている場合、S57において「通知不要(前記通知処理を行う必要性無)」と判定し、処理を終了する。
以上にて示した図9の処理により、指示マークが一度も表示部103bに表示されたことがない場合、および、表示されたことがあっても表示時間が極めて短い場合、判定部608は、当該指示マークについて「通知必要(前記通知処理を行う必要性有)」と判定できるのである。
なお、表示部103bにおいて指示マークが表示されたとしても、表示部103bに表示されている指示マークの移動速度(通過速度)が速すぎると、作業者101は指示マークを認識することが困難である(読みづらい)。
そこで、S54において、数6を用いた判定(指示マークの連続表示時間が閾値を超えているか否かの判定)が行われるのではなく、以下に示す数7の処理を行うようになっていてもよい。
数7において、Vmは、指示マークの移動速度であり、tm(x、y)は、指示マークが表示部103bにて表示され始めたタイミングにおける指示マークの位置(例えば中心の画素)の座標であり、sm(x、y)は、tmからnフレーム後の現時点のフレームでの座標であり、閾値をαvとする。そして、判定部608は、〔数7〕においてtrueの場合、つまり指示マークの移動速度が閾値を超えている場合、「通知必要」と判定し(S55)、次のフレームについて再度S54以降を繰り返す(S56にてYES)。これに対し、判定部608は、〔数7〕においてfalseの場合、つまり指示マークの移動速度が閾値を超えていない場合、「通知不要」と判定し(S57)、処理を終了する。
あるいは、S54において、〔数6〕の判定と〔数7〕の判定との両方が行われる形態であってもよい。この形態において、判定部608は、数6にてfalseであり且つ数7にてtrueである場合に「通知必要」と判定し、それ以外の場合には「通知不要」と判定するようになっていてもよい。あるいは、前記の形態において、判定部608は、少なくとも数6にてfalseであるか数7にてtrueであれば「通知不要」と判定し、それ以外の場合は「通知必要」と判定するようになっていてもよい。
あるいは、図9において、S54〜S56を削除し、S51にてYESの場合にS57へ移行するようになっていてもよい(すなわち、数6および数7の判定は行わなくてもよい)。
ところで、判定部608は、登録されている各指示マークの各マーク情報を位置算出部607から受け取ると、各マーク情報を、通信部401および表示制御部402へ送信するようになっている。
それとともに、判定部608は、新たに指示マークが登録された場合には、当該指示マーク(処理対象の指示マーク)について、図9の処理を開始し、S57にて「通知不要」と判定されるまで図9の処理を継続する。そして、図9の処理が継続され続けている間に、判定部608は、「通知必要」と判定した場合、「通知必要」を示すフラグを処理対象の指示マークのマーク情報に含めた上で当該マーク情報を通信部401および表示制御部402へ送信するようになっている。
これに対し、判定部608は、S57にて「通知不要」と判定すると、処理対象の指示マークについて図9の処理を終了し、且つ、「通知不要」を示すフラグを処理対象の指示マークのマーク情報に含めた上で当該マーク情報を通信部401および表示制御部402へ送信するようになっている。その後、判定部608は、一度「通知不要」と判定した指示マークについては、図9の処理を行うことなく、位置算出部607からマーク情報を入力しても、当該マーク情報に「通知不要」を示すフラグを含めた上で当該マーク情報を通信部401および表示制御部402に送信するようになっている。
通信部401は、マーク追跡部407の位置算出部607からマーク情報を受け取ると、当該マーク情報を作業端末103へ送信する。作業端末103では、通信部301がマーク情報を受信し、通信部301はマーク情報を表示制御部302へ送信するようになっている。表示制御部302は、マーク情報に基づいて指示マークを表示部103bに表示させる。
表示制御部302は、「通知不要」のフラグを含むマーク情報の指示マークについては、表示部103bの映像上にそのまま重畳表示する。例えば、図1に示すように、表示部103bの映像上に指示マーク105が表示される。
これに対し、表示制御部302は、「通知必要」のフラグを含むマーク情報の指示マークについては以下のように、指示マークの存在を作業者へ通知する通知処理を行う。
まず、指示マークが表示部103bの表示画面から外れている場合を説明する。この場合、表示制御部302は、マーク情報に示される位置情報に基づいて、表示部103bの表示画面に対する相対位置を示す座標値を特定し、指示マークの存在および位置を作業者に知らせるための通知情報を表示部103bに表示させる。
例えば、図10に示すように、指示マークの位置を文章にて示したメッセージ550が表示されるようになっていてもよい。或いは、指示マークの位置を特定できる絵柄や向きを示す情報を表示させるようになっていてもよい。また、特許文献2の図3に示されるように矢印を表示させるようになっていてもよい。
これにより、表示部103bにおける表示画面から外れた位置に新たに指示マークが設定されたとしても、前記の通知情報により、その存在を作業者に認識させることが可能となる。また、指示マークの位置も通知されるため、作業者は、作業端末103の撮影範囲をシフトさせることで指示マークを表示させる事を迅速に行える。例えば、図10に示す状況の場合、撮影範囲を右側へシフトさせることにより、指示マークを表示させることができる。
つぎに、指示マークが表示部103bの表示画面に表示されているが、マーク情報に「通知必要」のフラグが含まれている場合について説明する。この場合、表示制御部302は、マーク情報に示される位置情報に基づいて、表示部103bの表示画面上の位置を示す座標値を特定し、この座標値の位置に指示マークを表示させるとともに、指示マークの存在および位置を作業者に知らせるための通知情報を表示部103bに表示させる。
例えば、図11に示すように、表示部103bにおいて、指示マーク600を表示させると共に、指示マーク600の存在および位置を作業者に通知するメッセージ650を表示させるようになっていてもよい。また、メッセージではなく、指示マークの存在および位置を知らせるための絵柄や向きを示す情報を表示させるようになっていてもよい。これにより、指示マーク600の表示時間が短い等によって作業者にとって指示マーク600を認識しづらい状況だったとしても、指示マーク600の存在をユーザに迅速に知らせることができる。
すなわち、以上にて示した実施形態によれば、判定部608は、指示マークの存在を作業端末103のユーザ(作業者)に通知する必要性の有無を判定し、必要性有と判定した場合、「必要性有」のフラグを含むマーク情報を出力することによって、指示マークの存在を前記ユーザへ通知する通知処理を作業端末103に実行させるようになっている。ここで、通知処理とは、図10や図11に示すようにメッセージ(通知情報)500・650を表示することで、指示マークの存在を作業者へ通知する処理である。
これにより、例えば、指示マークが未だ作業端末103にて未表示であったり、作業端末103での表示時間が短くて作業者がその存在を認識していないため、指示マークの存在を作業者へ通知する必要性が高いと判定される指示マークについては、その存在を作業端末103のユーザに迅速に通知できる。それゆえ、本実施形態によれば、遠隔通信システムにおいて情報伝達の迅速性を確保できるという効果を奏する。
また、以上にて示した実施形態において、指示者107によって設定された直後の指示マークは、作業端末103の表示部103bにおける表示画面から外れた位置にあったとしても、作業者101が実施中の作業に関係していると言える。すなわち、一番新しく設定された指示マークは、重要度が高く、優先的に認識すべきものといえる。また、指示マークは、現時点にて表示画面に表示されていてもいなくても、過去に表示された事によって作業者に既に認識されているものは重要度が低く、作業者に未だに認識されていないものは重要度が高い。
この点、本実施形態では、未だ表示されていない指示マークについては勿論のこと、表示時間が短い等により作業者に認識されていない指示マークについては、指示マークの存在および位置を通知するための通知情報を表示しているため、情報伝達の迅速性を確保できる。
以上より、AR技術を用いた遠隔通信システムAにおいて、作業端末103に表示されている映像のシーンとは異なるシーンに指示マークが付されたとしても、指示マークの存在を作業者101に素早く認知させることが可能になる。また、表示部103bの表示画面から指示マークが外れた位置にある場合、指示マークの位置が表示画面から近くであろうが遠くであろうが、未だ表示画面に表示されていない指示マークは重要度が高く、当該指示マークを作業者101に迅速に気づかせることができる。
また、本実施形態では、判定部608は、指示マークについて「通知必要」か「通知不要」かを判定しているが、「通知必要」の場合とは、作業者にとって指示マークが未読である可能性の高い状態を意味し、「通知不要」の場合とは、作業者にとって指示マークが既読である可能性の高い状態を意味する。それゆえ、判定部608は、「通知必要」と判定する代わりに「未読」と判定し、「通知不要」と判定する代わりに「既読」と判定するようになっていてもよい。
また、本実施形態では、マーク追跡部407は指示端末108に含まれており、指示端末108がマーク処理装置として機能しているが、マーク追跡部407は、図2の管理サーバに含まれていてもよし、作業端末103に含まれていてもよい。マーク追跡部407が管理サーバ200に含まれている場合、管理サーバ200がマーク処理装置として機能し、マーク追跡部407が作業端末103に含まれている場合、作業端末103がマーク処理装置として機能する。
なお、本実施形態では、作業端末103は、指示マークの存在および位置を通知するための通知情報を表示することで作業者に通知を行っているが、表示による通知ではなく、音声による通知であっても勿論よい。
本実施形態の遠隔通信システムAは1台の作業端末103と1台の指示端末108とを含む構成であるが、勿論、作業端末(第1端末)103や指示端末(第2端末)108の台数は限定されるものではない。つまり、遠隔通信システムAには、作業端末(第1端末)103が複数台含まれ、指示端末(第2端末)108から各作業端末(各第1端末)103に指示が送信されるようになっていてもよい。また、遠隔通信システムAには、指示端末(第2端末)108が複数台含まれ、複数の指示端末(第2端末)108から作業端末(第1端末)103に指示が送信されるようになっていてもよい。あるいは、遠隔通信システムAには、複数台の指示端末(第2端末)108と複数台の作業端末(第1端末)103とが含まれる構成でもよい。
[実施形態2]
「通知必要」と判定される指示マークが複数存在する場合、その全てについて、指示マークの存在および位置を作業者に知らせるための通知情報(例えば図10の符号550のメッセージ)を表示させるとなると、作業者に通知する情報が多くなりすぎ、効率的な情報伝達や作業支援を図れないことがある。
これに対し、作業支援では、現時点において指示者107が指示をしている内容が最も重要であり優先されるべきである。すなわち、設定された時が現時点に近い指示マークほど重要であって優先して表示する必要があり、設定された時が現時点から離れている指示マークほど重要度が低くなる。
そこで、本実施形態では、「通知必要」と判定される指示マークが複数存在する場合、設定時点が現時点に近い指示マークほど重要度が高くなるように、「通知必要」と判定される指示マークの夫々に対して重要度を設定する。そして、所定数以上(例えば2以上)の通知情報を表示しないようになっており、重要度の高い指示マークから優先して通知情報を表示するようになっている(つまり、重要度の高い指示マークは通知情報が表示されるものの、重要度の低い指示マークは通知情報が表示されない)。
この場合、マーク管理部606は、指示マークを登録する際、マーク情報に対して登録時刻を追加するようになっている。そして、判定部608は、「通知必要」と判定した指示マークが2以上ある場合、これらの指示マークの登録時刻をマーク管理部606に問い合わせ、登録時刻が現時点に近いほど重要度が高くなるように、各指示マークに対して重要度を設定する。
ある時刻tにおける指示マークの重要度をHtとすると、数8のように重要度の高低関係が設定される。なお、Ht、Ht−1、Ht−2、Ht−3、…、H0の順序
は、登録時刻が現時点から近い順序である。
また、重要度の設定方法については、これ以外の方法を用いることも可能であり、指示内容を解析した結果を用いて決定することもできる。指示マークに文章(指示者に設定され、指示内容を示す文章)が付随する場合、判定部608は、その文章の構文を解析して単語を抽出し、抽出した単語と、作業現場100にて実施されている作業と関係のある単語とのマッチングを行い、一致した数が多いほど重要度が高くなるようにしてもよい。これにより効果的な指示マークの選択が可能になる。また、指示者107が現在の作業のカテゴリーと指示マークのカテゴリーとを予め入力することで、これらカテゴリーを示す情報がメモリに記憶され、判定部608は、カテゴリーが作業のカテゴリーと一致している指示マークの重要度を、カテゴリーが作業のカテゴリーと一致していない指示マークの重要度よりも高く設定するようになっていてもよい。
[実施形態3]
実施形態1において、判定部608による判定の指標として、指示マークの通過速度を用いてもよい点を記載した(数7)。この点、日常生活においては、意味を持つ文字列の向き(方向)に関しては偏りが存在する。具体的には、横書きや縦書きは多く存在するが、斜め書きについてはこれらの方向に比べて圧倒的に少ない。さらに、動きを伴う文字列は、文字列の向き(縦向き、横向き、斜め向き)と、動きの方向(縦方向、横方向、斜め方向)とに応じて、読みやすさに大きな違いがでてくる。文字列の向きと、その動きの方向とが一致する場合、その文字列が読みやすくなることが経験的に分かっている。
そこで、本実施形態では、文字列を伴う指示マークについては、文字列の向きと動きの方向とが一致する場合、それ以外の場合よりも、通過速度と対比する閾値を低く設定することで、より精度良く「識別状態」のフラグが立ちやすくなるように制御する。以下、その方法について記載する。
初めに、文字列の向きと移動の方向との組み合わせと、可読性との関係を表1に示す。なお、表1において、「○」は読みやすい事を示し、「△」は、読みやすさが標準である事を示し、「×」は読みにくい事を示す。表1に従って閾値の制御を行う。
図12は、本実施形態の作業端末103の表示部103bにて表示される映像を模式的に示した図である。図12に示されるように、横書きの文字列903aを伴う指示マーク903と、縦書きの文字列902aを伴う指示マーク902とが示されている場合、指示マーク903と指示マーク902とでは、其々別々の閾値を用いることになる。
表1に示したように、文字列の向きと移動の方向との組み合わせによって可読性の良否が決まるので、文字列の向きおよび移動の方向に応じて閾値が制御されることになる。
文字列の向きについては、指示マークを示すマーク情報が電子情報であるため、判定部608は、マーク情報を参照すればその向きを確定できる。
続いて、指示マークの移動の方向であるが、〔数9〕によって、指示マークの移動方向を示すベクトルを求めることができる。例えば、図12に示すように、現時点のフレームにて表示されている指示マーク903は、Nフレーム前の一時停止中において位置903’にて描画されたものとする。ここで、指示マーク903の現時点での座標をPt(x、y)とし、現時点からNフレーム前の一時停止中において位置903’にて描画された際の指示マーク903の座標をPt−N(x、y)とすると、指示マーク903の移動方向を示すベクトル905は、数9のDtとなる。
続いて、閾値について説明する。本実施形態では、指示マークの移動方向と、指示マークに付随する文字列の方向(縦方向ないし横方向)とが合致する場合に、閾値Thが大きくなるように、閾値Thを調整(制御)する(大きくなれば、「通知不要(既読)」と判定されやすくなる)。具体的には、指示マークの移動方向のベクトルと、文字列の方向に関するベクトルと、の内積を求め、この内積と定数との積を閾値Thとする。具体的には、閾値Thは数10によって算出できる。
数10において、normalized(Dt)は、数9のDtを正規化したベクトルである。つまり、指示マークの移動方向のベクトルであり、且つ、正規化されたベクトルである。
Vnは、文字列の単位ベクトルである(n=0またはn=1)。文字例が縦方向であれば、文字列の単位ベクトルはV0=(0,1)であり、文字例が横方向であれば、文字列の単位ベクトルはV1=(1,0)である。なお、図12において、符号906のベクトルがV0に相当し、符号907のベクトルがV1に相当する(つまり、図12の符号906、907のベクトルは、単位ベクトルの説明のために便宜的に示したものであり、表示部103bにおいて実際に表示されている内容を示すものではない)。
βは任意の定数であり、判定の程度を制御するパラメータである。βは、所定の固定値を設定しても良いし、画像解析により自動で決定してもよい。βが小さければ小さいほど、指示マークが画面上に映った際に「通知不要(既読)」と判定されにくくなり、作業端末103をゆっくり動かさなければ「通知不要(既読)」のフラグが立たなくなる。
つぎに、判定部608の処理の流れを説明する。まず、判定部608は、数9および数10を用いて閾値Thを求める。続いて、判定部608は、数7のαvに閾値Thを代入し、数7の判定を行う。
以上の実施形態によれば、指示マークの移動方向および文字列の向きに応じて閾値Thを調整し、文字列の向きと指示マークの移動方向とが合致する際に、より「通知不要(既読)」と判断されやすくなるように制御することが可能になる。
[実施形態4]
さらに、遠隔通信システムAにおいては、作業者自身の状態に応じて、処理対象の指示マークが「通知必要」か「通知不要」かの判定が行われてもよい。
例えば、本実施形態の遠隔通信システムAは、作業現場にて用いることを前提としたものであり、作業者が実際に対象物に触れながら作業を行うことが想定される。すなわち、作業者が、一方の手で作業端末103を持ちながら、他方の手で対象物を触ることもあり得る。その場合、作業端末103のカメラ103aにて撮影される映像に作業者の手が示されることになる。ここで、当該映像において、作業者の手と指示マークの位置とが重なれば、作業者は指示マークを認識していると考えられる。
そこで、判定部608は、映像信号を入力して肌色部分抽出処理を行って作業者の手の位置を抽出し、作業者の手と指示マークの位置とが一度も一致した事がない間は「通知必要」と判定し、一度作業者の手と指示マークの位置とが一致すれば「通知不要」と判定するようになっていてもよい。肌色部分抽出処理は、汎用画像処理ライブラリであるOpenCV(Computer Vision)を用いて行われてもよい。例えば、判定部608は、作業端末103から送られてきた映像に対してcv::Threshold関数を用いて2値化処理を行い、手の肌色部分の領域の抽出を行う。肌色は、赤味の領域を含むため、HSV色空間におけるHue値が0〜30の範囲に収まる。つまり、判定部608は、映像の色空間をHSV色空間に変換し、前記の2値化処理を用いてHueの数値が前記範囲内にある画素を抽出する。具体的には、Hueの数値が0〜30(肌色の範囲)を白画素として、Hueの数値が31以上の画素を黒画素とする2値化処理を行い、手にあたる画素を白で表現する。さらに、判定部608は、cv::convexHull関数を用いて手領域を円形に近似し、指示マークの位置が近似領域と重なっている場合に「識別状態」のフラグを設定する(なお、以上の処理では、肌色を白画素とし、それ以外を黒画素としているが、肌色を黒画素とし、それ以外を白画素としてもよい)。
また、判定部608によって一旦「通知不要」と判定された指示マークであっても、作業者がその指示マークが示される映像を注視しているか否かを判定し、注視していない場合は「通知不要」を「通知必要」に変更するようになっていてもよい。例えば、作業端末103の表面側(表示部103bの側)にインカメラ(カメラ103aとは別のカメラ)が取り付けられており、表示部103bを覗き込んでいる作業者をカメラが撮影できるようになっている。そして、作業端末103のインカメラの撮影画像を指示端末108へ送信し、判定部608が、撮影画像(作業者の顔画像が示されている画像)に対して画像処理をかけて、作業者がその指示マークが示される映像を注視しているか否かを判定する。
判定は以下のようにして行う。判定部608は、OpenCVのカスケード分類器を用いて視線の推定を行う。OpenCVのカスケード分類器では、目の形状について事前に学習済みのファイルを用いて、作業者の目の位置および目の領域が推定される。そして、判定部608は、目の領域に2値化処理をかけて黒目領域を抽出し、さらにcv::Moments関数を用いて黒目の座標を抽出するが、カスケード分類器に推定された目の領域の左右両端のいずれかと黒目の座標とが重なっている場合、画面を注視していない(画面とはあさっての方向を見ている)と判定し、それ以外の場合、画面を注視していると判定する。なお、目の領域の左右両端のいずれかと黒目の座標とが重なっている場合に「画面を注視していない」と判定する手法に限定されず、例えば、黒目の座標と目の領域の左右両端との距離が閾値以下の場合に「画面を注視していない」と判定し、それ以外の場合に「画面を注視している」と判定する形態であってもよい。
[ソフトウェアでの実現例]
図3〜図5に示される各ブロックは、CPUを用いてソフトウェアにて実現してもよいし、集積回路等に形成された論理回路によって実現してもよい。なお、ソフトウェアによる場合、情報処理装置108aは、前記ソフトウェアであるプログラムがコンピュータ(またはCPU)で読み取り可能に記録されたROMまたは記憶装置等の記録媒体を備えている。上記記録媒体としては、例えば、カード、ディスク、半導体メモリ、プログラマブルな論理回路などの「一時的でない有形の媒体」であってもよい。また、上記プログラムは、任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに伝送されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
[補足事項]
以下、背景技術の問題点を補足する。前述した非特許文献1は、作業者から送信された映像上にオペレータである指示者が丸や矢印等を指示箇所に設置することで、作業者に対しグラフィカルに位置を示すことが可能である。これにより、曖昧な指示語を用いても、位置は目印により明らかになり、齟齬が生じなくなる。また、作業の効率化、スキル習熟度によらない専門性の高い作業の実現、作業期間やコスト削減等のメリットが得られる。
しかし、作業者は画面を通して、重畳された指示内容と作業対象を注視する必要があり、視野が極端に制限される問題がある。その際に画面の外、すなわち視界の外に指示対象があるなどの場合も多く、今見えている目印が画面外に消えてしまった場合、改めて同じ場所の同じ目印を探すのは困難であることが課題となる。
特許文献1は、画面外にある客体の位置を示す案内情報(矢印)を表示することで、画面外であってもわかるようにしている。また、視界外に複数の客体がある場合、最も近くの客体2つに絞って表示する上、距離毎に案内情報の表示の大きさを変化させる工夫を行っている。
上述のような映像を用いた遠隔地間の作業支援では、一般的には作業者が今行っている作業箇所、もしくは、会話や説明している個所に基づいて、指示者が情報を提示する。しかし、作業者は常に動いていることが想定されるため、指示者は自身の意図しない動作をする映像を元に指示箇所を識別、および該箇所に情報を設置するという一連の操作を行わなければならない。その際、意図しない動きをする対象の細部に正確に目印を設定することは非常に困難であり、指示者は映像を一時停止して前記操作を実施する必要がある。その間も作業者は作業を継続し、映像を撮影更新し続けているため、作業者と指示者が見ている映像は時間的に異なるシーンとなる。これは、指示者が情報の設置操作をしている際に作業者が大きく移動させると、新しく設置された情報が画面外に外れてしまうことを意味する。
テレコミュニケーションにおいては即時性が重要で、現在の作業と関連した重要度の高い情報の伝達が求められる。すなわち、指示者が重要と思い情報を設置したとしても、上述したように、作業者が見ている場面の映像と指示者の場面が異なることが起こり得る。その場合、作業者はいつ、どこに、何に関する情報が設置されるか知らない状態になる。
特許文献1は、既に表示されたことがあるかどうか等に関係なく、現時点で表示画面に表示されていない客体を案内する方法に過ぎない。それゆえ、既に見た客体なのか未知の客体なのかを判別するのが困難であることが課題として挙げられる。また、表示画面からの客体の距離とユーザにとっての重要度とが無関係であり、特許文献1の手法では、ユーザにとって重要でない客体の案内情報の方が、重要な客体の案内情報よりも目立って表示されてしまう。
[まとめ]
本発明の態様1は、互いに通信可能な第1端末(作業端末103)と第2端末(指示端末108)とを少なくとも含み、第1端末にて撮影される映像が第1端末および第2端末の両方にて表示され、第2端末において、表示されている映像に示される目標位置にマークを描画するための入力操作が行われると、第1端末および第2端末にて表示される映像にて前記目標位置の動きに追随して動くように前記マークが前記目標位置に重畳表示される遠隔通信システムAに含まれるマーク処理装置(情報処理装置)であって、前記第1端末のユーザへ前記マークの存在を通知する必要性の有無を判定し、通知の必要性有と判定した場合、前記マークの存在を前記ユーザへ通知する通知処理を前記第1端末に実行させる判定部608を備えたことを特徴とする。
本発明の態様1によれば、前記マークの入力操作が行われると、前記第1端末のユーザへ前記マークの存在を通知する必要性が高いと判定されるマークについては、その存在を第1端末のユーザに迅速に通知できる。それゆえ、本発明の態様1によれば、遠隔通信システムにおいて情報伝達の迅速性を確保できるという効果を奏する。
本発明の態様2のマーク処理装置において、前記判定部608は、前記マークが前記第1端末にて表示されたことがない場合、通知の必要性有と判定することを特徴とする。
第1端末では撮影されている映像がリアルタイムで表示されている一方で、第2端末では映像が一時停止されている場合、第1端末と第2端末とで互いに異なるシーンを表示していることがある。それゆえ、第2端末において映像が一時停止されている場合に前記入力操作が行われると、第1端末の表示画面から外れた位置に前記マークが設定されることがあり、この場合は第1端末のユーザは当該マークを視認できていない状況であり、当該マークの存在をユーザに通知する必要性が高い。この点、本発明の態様2によれば、このような状況の場合、当該マークの存在を第1端末のユーザに迅速に通知でき、情報伝達の迅速性を確保できるという効果を奏する。
本発明の態様3のマーク処理装置において、前記判定部608は、前記第1端末において前記マークが連続して表示されている連続表示時間が第1閾値未満である場合、通知の必要性有と判定することを特徴とする。
前記第1端末において前記マークが表示されたとしても、前記連続表示時間が短い場合、第1端末のユーザは当該マークを視認できていない可能性が高く、当該マークの存在をユーザに通知する必要性が高い。この点、本発明の態様3によれば、このような状況の場合、当該マークの存在を第1端末のユーザに迅速に通知でき、情報伝達の迅速性を確保できるという効果を奏する。
本発明の態様4のマーク処理装置において、前記判定部608は、前記マークが前記第1端末に表示され始めてからの前記第1端末の表示部に表示されている前記マークの移動速度が第2閾値を超えている場合、通知の必要性有と判定することを特徴とする。
前記第1端末において前記マークが表示されたとしても、第1端末で表示されている前記マークの移動速度が速すぎると、第1端末のユーザは前記マークを視認できていない可能性が高く、当該マークの存在をユーザに通知する必要性が高い。この点、本発明の態様4によれば、このような状況の場合、当該マークの存在を第1端末のユーザに迅速に通知でき、情報伝達の迅速性を確保できるという効果を奏する。
本発明の態様5のマーク処理装置は、前記第1端末にて撮影されている映像の映像信号を参照して、前記映像の動きの方向および移動量を示した変位ベクトルを算出する変位ベクトル算出部602と、前記変位ベクトル算出部にて算出される変位ベクトルに示される方向および移動量にて前記マークの位置が変位するように、前記マークの位置を示す位置情報を更新する更新処理部(位置算出部607)と、を備えており、前記第1端末および第2端末は、前記更新処理部にて更新される位置情報の位置に前記マークを表示させるようになっていることを特徴とする。
第1端末を保持しているユーザが第1端末を動かしたり、ユーザ自身が移動すると、第1端末の撮影範囲がシフトするため、第1端末および第2端末にて表示されている映像が動くことになる。この点、本発明の態様5によれば、前記映像の動きの方向および移動量を示した変位ベクトルに示される方向および移動量にて前記マークの位置が変位するように、前記マークの位置を示す位置情報を更新するようになっている。それゆえ、映像の動きに追随してマークの位置が変位するため、映像に示される目標位置に付されたマークを目標位置から離さずに重畳表示させることができる。
本発明の態様6のマーク処理装置は、前記入力操作が行われると、前記入力操作に応じて前記マークの位置を示す位置情報を生成する位置情報生成部(マーク情報生成部610)と、一時停止コマンドが前記第2端末に入力されることによって第2端末に同じフレームが表示され続けている一時停止期間において、前記変位ベクトル算出部にて算出される変位ベクトルを加算する加算処理部(変位ベクトル加算部605)と、を備え、前記加算処理部は、前記一時停止期間において前記入力操作が行われると、前記加算処理部による加算結果に相当する方向および移動量にて、前記位置情報生成部にて生成される位置情報の位置が変位するように、当該位置情報を補正することを特徴とする。
第1端末にて撮影されている映像がリアルタイムで表示されている一方で、第2端末にて映像が一時停止されている間、第2端末では現時点のフレームが表示されていない。それゆえ、第2端末にて表示されているフレームに対して前記入力操作が行われた場合、前記入力操作において指定された目標位置(前記マークの位置)を、現時点のフレームに適合するように補正する必要がある。この点、本発明の態様6によれば、一時停止期間中において、前記加算処理部が前記変位ベクトルを加算することにより、現時点のフレームと一時停止されているフレームとの間での映像の動きを数値化している。そして、前記加算処理部による加算結果に相当する方向および移動量にて、前記位置情報生成部にて生成される位置情報の位置が変位するように、当該位置情報を補正している。
これにより、第1端末にて撮影されている映像がリアルタイムで表示されている一方で、第2端末にて映像が一時停止されている間に、第2端末にて表示されているフレームに対して前記入力操作が行われた場合であっても、前記入力操作において指定された目標位置を現時点のフレームに適合するように補正できる。
本発明の態様7のマーク処理装置において、前記判定部608は、前記マークに文字列が含まれている場合、前記マークの移動方向と前記文字列の向きとに応じて第2閾値の大きさを変更することを特徴とする。
前記マークに文字列が含まれている場合、文字列の向きと文字列の移動方向との組み合わせによって、文字の読みやすさに大きな違いがでてくる。この点、本発明の態様7によれば、前記マークの移動方向と前記文字列の向きとに応じて第2閾値の大きさを変更しているため、ユーザの文字列を視認し易さに応じて第2閾値の大きさを変更していることになり、前記判定部による判定をより適したものとすることができる。
また、本発明の態様1〜7のマーク処理装置は、前記第2端末に含まれていてもかまわない。
また、本発明の態様1〜7に係るマーク処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを本発明の態様1〜7のマーク処理装置が備える各部として動作させることにより、前記マーク処理装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。