JP2014197802A - 作業支援システムおよびプログラム - Google Patents
作業支援システムおよびプログラム Download PDFInfo
- Publication number
- JP2014197802A JP2014197802A JP2013073126A JP2013073126A JP2014197802A JP 2014197802 A JP2014197802 A JP 2014197802A JP 2013073126 A JP2013073126 A JP 2013073126A JP 2013073126 A JP2013073126 A JP 2013073126A JP 2014197802 A JP2014197802 A JP 2014197802A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- time
- captured image
- resolution image
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】現在時刻以前に撮影された撮影画像の撮影時刻において生成された高解像画像を得ることができる作業支援システムおよびプログラム提供する。
【解決手段】HMD1は撮影画像データから低解像画像データを生成し、撮影時刻のタイムスタンプXを付加して送信バッファ52Bに保存する(P1)。HMD1は、間引き時間ごとに撮影画像データから高解像画像データを生成し、タイムスタンプXを付加して格納バッファ52Cに保存する(P2)。HMD1は低解像画像データをPC80に順次送信し、PC80は低解像画像を順次表示する(P3)。PC80は指示者がキャプチャ操作を行ったときの低解像画像に付加されたタイムスタンプYをキャプチャ要求信号とともに送信する(P4)。HMD1はタイムスタンプYに近いタイムスタンプXを付加した高解像画像データを取得し(P5)、PC80に送信する(P6)。
【選択図】図6
【解決手段】HMD1は撮影画像データから低解像画像データを生成し、撮影時刻のタイムスタンプXを付加して送信バッファ52Bに保存する(P1)。HMD1は、間引き時間ごとに撮影画像データから高解像画像データを生成し、タイムスタンプXを付加して格納バッファ52Cに保存する(P2)。HMD1は低解像画像データをPC80に順次送信し、PC80は低解像画像を順次表示する(P3)。PC80は指示者がキャプチャ操作を行ったときの低解像画像に付加されたタイムスタンプYをキャプチャ要求信号とともに送信する(P4)。HMD1はタイムスタンプYに近いタイムスタンプXを付加した高解像画像データを取得し(P5)、PC80に送信する(P6)。
【選択図】図6
Description
本発明は、作業端末が撮影した撮影画像をネットワークを介して指示端末に送信することができる作業支援システムおよびプログラムに関する。
カメラで画像を撮影し、撮影画像をネットワークを介して端末装置に送信し、端末装置の表示手段に表示することができるシステムが知られている(例えば特許文献1参照)。ネットワーク上でのデータ転送等には時間が必要なため、特許文献1のカメラは、解像度が比較的低い、所定の解像度で撮影した撮影画像を端末装置に送信する。端末装置のユーザが撮影画像のズーム操作を行った場合、カメラは、撮影画像の解像度よりも高い解像度の高解像画像を撮影し、端末装置に送信する。端末装置は、ズーム操作に応じて撮影画像を拡大表示しながら、高解像画像を受信したら、高解像画像の拡大表示に切り換えることができる。
しかしながら特許文献1では、ユーザが撮影画像の操作を行った場合に、高解像画像の撮影が行われるので、撮影画像と高解像画像の撮影時刻は異なる。また、ネットワーク上でデータ転送等に遅延が生ずるため、カメラが画像を撮影してからユーザが撮影画像を閲覧するまでに、すでに遅延が生じている。さらに、ユーザが撮影画像を操作するのに伴い高解像画像の要求信号がカメラに到達するまでにかかる遅延と、高解像画像がネットワークを介して送られてくるまでにかかる遅延も生ずるため、もとの撮影画像の撮影時刻と高解像画像の撮影時刻に大きなズレを生ずる可能性がある。ユーザが操作を行ったときに表示手段に表示されていた撮影画像とは撮影時刻の異なる高解像画像が表示されるので、ユーザは、画像に対して違和感を覚える場合があった。
本発明は、上記の問題点を解決するためになされたものであり、現在時刻以前に撮影された撮影画像の撮影時刻において生成された高解像画像を得ることができる作業支援システムおよびプログラム提供することを目的とする。
本発明の第1態様によれば、作業者が利用し、作業に対する指示を受信して前記作業者に提示可能な作業端末と、指示者が利用し、前記作業者に対する作業の指示を前記作業端末に送信可能な指示端末とがネットワークを介して接続された作業支援システムであって、前記作業端末は、前記作業者の周囲の景色を撮影可能な撮影装置と、前記撮影装置が撮影した撮影画像のデータである撮影画像データと、前記撮影画像データの解像度を低くした低解像画像データとを少なくとも含む各種データを記憶する記憶装置と、前記記憶装置に、前記撮影画像データを第一所定時間、または所定数記憶する制御を行う記憶制御手段と、前記撮影装置が前記撮影画像を撮影した時刻を示す時刻情報を取得する第一取得手段と、前記第一取得手段が取得した前記時刻情報を前記撮影画像データおよび前記低解像画像データに対応付ける対応付け手段と、前記時刻情報が対応付けられた前記低解像画像データを前記指示端末に送信する第一送信手段と、前記撮影画像データを要求する情報であり前記時刻情報を含む要求情報を前記指示端末から受信した場合に、前記要求情報に含まれる前記時刻情報に基づく時刻である要求時刻と同じ時刻もしくは最も近い時刻を示す前記時刻情報が対応付けられた前記撮影画像データを前記記憶装置から取得する第二取得手段と、前記第二取得手段が取得した前記撮影画像データを前記指示端末に送信する第二送信手段と、を備え、前記指示端末は、複数の前記低解像画像データを前記作業端末から受信する第一受信手段と、前記第一受信手段が受信した前記低解像画像データのうち前記指示者が所望する前記低解像画像データに対応付けられた前記時刻情報を取得する第三取得手段と、前記指示者が所望する前記低解像画像データに対応する前記撮影画像データを要求する情報であり前記第三取得手段が取得した前記時刻情報を含む前記要求情報を、前記作業端末に送信する第三送信手段と、前記要求情報に基づいて前記作業端末が送信する前記撮影画像データを受信する第二受信手段と、を備えた作業支援システムが提供される。
作業端末は、指示端末において指示者が閲覧する低解像画像の時刻情報と同じ、もしくは近い時刻情報が対応付けられた撮影画像データを、キャプチャ画像として取得することができる。ゆえに指示者は所望する撮影画像データを得ることができ、もとの低解像画像とキャプチャした撮影画像との間に違和感を覚えにくい。また、低解像画像データや撮影画像データがネットワーク経由で送受信されることで生じる遅延が、ネットワークの状態によって変化しても、作業端末は、指示者が閲覧中の低解像画像に対応する撮影画像データを時刻情報に基づいて遡って記憶装置から取得して指示端末に送信するため、遅延の影響を受けない。ゆえに指示者は所望するデータ撮影画像を得ることができ、もとの低解像画像とキャプチャした撮影画像との間に違和感を覚えにくい。
以下、本発明を具体化した一実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。図示された装置の構成等は、その形態のみに限定する趣旨ではなく、単なる説明例である。
図1に示すように、本発明に係る画像表示装置(以下、「ヘッドマウントディスプレイ」または「HMD」という。)1は、投影装置(以下、「ヘッドディスプレイ」または「HD」という。)10と制御装置(以下、「コントロールボックス」または「CB」という。)50を備える。作業者は、HD10を頭部に装着し、CB50を腰ベルトや腕等に装着してHMD1を使用する。HMD1は、指示者が利用し、作業者に対する指示の情報をHMD1に送信するパーソナルコンピュータ(以下、「PC」という。図2参照)80と、無線通信または有線通信を介して接続し、指示者が作業者を遠隔支援可能な作業支援システムを構成する。以下の説明において、図1の上方、下方、右斜め下方、左斜め上方、右斜め上方および左斜め下方がそれぞれ、HMD1の上方、下方、前方、後方、右方および左方である。
HD10は専用の装着具である眼鏡5に装着して使用する。HD10は、作業者が日常的に使用する眼鏡、ヘルメット、ヘッドホンなど、他の装着具に取り付けてもよい。HD10は、作業者の眼に画像光を照射する。HD10はハーネス7を介してCB50と着脱可能に接続する。CB50は、HD10を制御する。
HD10の構成について説明する。HD10は筐体2を備える。筐体2は、作業者側から見て右端側(図1における左側)にハーフミラー3を備える。ハーフミラー3は、作業者がHD10を頭部に装着したとき、作業者の眼(例えば左眼)の前方に配置される。HD10は、筐体2の内部に、液晶ディスプレイ(以下、「LCD」という。)11(図2参照)と接眼光学系(図示略)を備える。LCD11は、CB50からハーネス7を介して送信される画像信号に基づいて画像を表示する。LCD11は、画像信号に応じた強度のレーザ光を2次元走査して画像表示を行う網膜走査型表示部や、有機EL(Organic Electro-Luminescence)ディスプレイ等であってもよい。
接眼光学系は、LCD11に表示された画像を示す画像光を、作業者の眼に導くために集光する。接眼光学系から射出された画像光は、筐体2の左側に設けられたハーフミラー3によって少なくとも一部(例えば半分)が反射され、作業者の一方(例えば左)の眼球(図示略)に入射する。ハーフミラー3は外界の実像からの光の少なくとも一部を透過するので、作業者は、自己の視野において実像(外界の風景)に重畳して画像を見ることができる。
眼鏡5は、HD10を作業者の頭部に保持するための構成である。眼鏡5は、フレーム6において、左眼用レンズを支えるリム部の上面右端(作業者から見て上面左端)に、支持部4を備える。支持部4は、HD10の筐体2を保持し、眼鏡5に取り付ける。支持部4は、筐体2の保持位置を上下方向および左右方向に調整することができる。作業者は、眼球の位置に合わせた位置にハーフミラー3を配置することができる。
眼鏡5は、フレーム6において、右耳に掛けるテンプル部に、カメラ15、マイクロフォン(以下、「マイク」という。)16およびイヤホン17を備える。カメラ15は、作業者の視野前方の外界の風景を撮影する。カメラ15の撮影方向および画角は、予め、作業者の視野に合わせて設定されている。より詳細には、カメラ15の撮影方向および画角は、カメラ15による外界の風景の撮影範囲が、ハーフミラー3を透過する実像に重ねることのできるLCD11(図2参照)からの画像光の表示範囲とほぼ一致するように設定されている。カメラ15は、肩や胸に装着したり、取り外して撮影できる構成にしてもよい。マイク16は、作業者が発声する音声を収音する。イヤホン17は、PC80(図2参照)から受信する指示者の音声等を出力する。カメラ15が撮影した撮影画像はPC80に送信され、指示者はマイク16およびイヤホン17を用いて作業者と会話し、撮影画像を参照しながら作業を指示する。なお、眼鏡5自体の形状は通常の眼鏡に類似のため、詳細な説明は省略する。
CB50の構成について説明する。CB50は箱型の筐体を有する。CB50は電源ランプ64を内蔵する電源スイッチ63を含む操作部62を備える。作業者は、電源スイッチ63を操作し、HMD1の電源をオンまたはオフにすることができる。作業者は、HD10における各種設定や、使用時における各種操作等を、操作部62を介して行うことが可能である。
CB50は、公知の無線通信もしくは有線通信を行い、ネットワーク9を介してPC80(図2参照)と接続し、PC80との間で音データや撮影画像データを含む各種データの送受信を行う。CB50は、USBインターフェイスを備え、USBケーブルを用い、PC80に接続してもよい。なお、後述するPC80は、パーソナルコンピュータであるが、スマートフォンやタブレット型携帯端末など、その他の機器であってもよい。
図2を参照し、HMD1の電気的構成について説明する。HD10は、LCD11、LCDドライバ12、画像信号受信部13、接続コントローラ14を備える。接続コントローラ14は、ハーネス7を介してCB50の接続コントローラ55に接続し、HD10とCB50との間での有線通信を行う。画像信号受信部13は接続コントローラ14に接続し、CB50の画像信号送信部60から送信される画像信号を受信する。LCDドライバ12は、画像信号受信部13が受信した画像信号に基づいてLCD11に画像を表示させる。
また、接続コントローラ14は、カメラ15、マイク16およびイヤホン17に接続する。マイク16はA/Dコンバータ(図示略)を内蔵し、入力される音をデジタル変換し、ハーネス7を介してCB50に送信する。イヤホン17はD/Aコンバータ(図示略)を内蔵し、ハーネス7を介してCB50から受信する音データをアナログ変換して出力する。カメラ15はCMOS型の受光セルが出力するYUV信号を符号化するエンコーダ(図示略)を内蔵し、ハーネス7を介してCB50に送信する。本実施形態のカメラ15は、所定のフレームレートC[fps](例えば10fps)で撮影し、撮影画像のデータである撮影画像データを1フレームずつCB50に対して出力する。
CB50の電気的構成について説明する。CB50は、SoC(System on a chip)67、操作部62、無線通信部65および有線通信部66を備える。SoC67は、HMD1の制御に必要な各種機能を集積した集積回路である。SoC67は、CPU51、RAM52、プログラムROM53、フラッシュROM54、接続コントローラ55、解像度処理部56、画像圧縮部57、画像処理部58、ビデオRAM59、画像信号送信部60およびインターフェイス61を備える。CPU51は、HMD1全体の制御を司る。CPU51は、システムバスを介し、RAM52、プログラムROM53、フラッシュROM54、接続コントローラ55、解像度処理部56、画像圧縮部57、画像処理部58、ビデオRAM59、画像信号送信部60、インターフェイス61と接続する。
RAM52は、各種フラグ、各種データ等を一時的に記憶する。後述するHMD用作業支援プログラムの実行において、CPU51は、RAM52に、フレームバッファ52A、送信バッファ52B、格納バッファ52Cの記憶領域を確保する。フレームバッファ52Aは、いわゆるVRAMとして使用される記憶領域であり、カメラ15が撮影した撮影画像データをHD10から受信して、1〜数フレーム分の撮影画像データを保存する。送信バッファ52Bは、PC80に送信する低解像画像データ(後述)を公知のFIFO(First-In-First-Out)処理に基づいて保存する記憶領域である。格納バッファ52Cは、要求に応じてPC80に送信する高解像画像データ(後述)をFIFO処理に基づいて保存する記憶領域である。
プログラムROM53は、後述するHMD用作業支援プログラムを含み、CPU51が実行する各種プログラム、各種プログラムが使用するフラグやデータの初期値等を記憶する。HMD用作業支援プログラムを含む各種プログラムは、HMD1の出荷時にプログラムROM53に記憶される。なおCPU51は、フラッシュROM54に記憶されたプログラムも実行可能である。フラッシュROM54は、CB50の出荷後にインストールされた各種プログラム、各種プログラムが使用するフラグやデータの設定値等を記憶する。HMD用作業支援プログラムを含む各種プログラムは、図示しない記憶媒体に記憶され、図示しない読取装置に読み出されてフラッシュROM54にインストールされてもよいし、あるいはネットワーク9を介して接続可能なサーバ等(図示外)からダウンロードによりフラッシュROM54にインストールされてもよい。接続コントローラ55は、ハーネス7を介してHD10の接続コントローラ14に接続し、有線通信を行う。
解像度処理部56は、フレームバッファ52Aに保存した撮影画像データの解像度を所定の解像度に変更し、高解像度の撮影画像データと低解像度の撮影画像データを生成する処理を行う。高解像度の撮影画像データは、カメラ15から出力される撮影画像データのうち最大の解像度の画像データである。低解像度の撮影画像データは、撮影画像データを、高解像画像データよりも低い解像度に変更した画像データである。一例として、高解像度の撮影画像データの解像度を画素数として表し、例えば300万画素であるとすると、低解像度の撮影画像データの画素数は、ネットワーク9を介したPC80への送信に比較的負荷がかかりにくい解像度(例えば30万画素程度)であることが好ましい。高解像度の撮影画像データおよび低解像度の撮影画像データの解像度は、撮影画像データの解像度にあわせて任意に設定することができる。
画像圧縮部57は、解像度処理部56が生成した高解像度の撮影画像データおよび低解像度の撮影画像データを、例えばJPEG画像に圧縮する処理を行う。CPU51は、画像圧縮部57が高解像の撮影画像データを圧縮して生成した高解像画像データを格納バッファ52Cに保存し、低解像度の撮影画像データを圧縮して生成した低解像画像データを送信バッファ52Bに保存する。
画像処理部58は、HD10のLCD11に表示する画像を形成する処理を行う。ビデオRAM59は、画像処理部58が形成した画像を仮想的に表示した仮想画面を記憶領域内に形成する。画像信号送信部60は、ビデオRAM59が形成した仮想画面に基づき、LCD11に表示するための画像信号を生成し、ハーネス7を介してHD10の画像信号受信部13に送信する。インターフェイス61は電源スイッチ63および電源ランプ64を含む操作部62に接続し、ユーザによる操作の入力信号やランプの点灯信号等の入出力を行う。また、インターフェイス61は、無線通信部65および有線通信部66に接続し、ネットワーク9に接続するPC80との間で送受信される各種データの入出力を行う。無線通信部65および有線通信部66は、ネットワーク9のアクセスポイント(図示略)へ無線または有線で接続し、ネットワーク9に接続するPC80と通信を行う。なお、無線通信部65および有線通信部66はネットワーク9を介さずに、直接、PC80と無線または有線による接続を行って通信してもよい。
PC80は、指示者が使用する公知のパーソナルコンピュータである。PC80は、PC80全体の制御を司るCPU81を備える。CPU81は、データバスを介してROM82、RAM83、および入出力バス(以下、「I/Oバス」という。)85と電気的に接続する。ROM82は、CPU81が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM83は、データを一時的に記憶する読み書き可能な記憶装置である。後述するPC用作業支援プログラムの実行において、CPU81は、RAM83に、受信バッファ(図示略)の記憶領域を確保する。受信バッファは、HMD1から受信する低解像画像データ(後述)を公知のFIFO処理に基づいて保存する記憶領域である。
I/Oバス85には、ハードディスクドライブ(以下、「HDD」という。)84、通信部86、音声制御部87、表示制御部88、およびマウス、キーボード等の入力デバイス93が接続されている。HDD84は、OSやプログラム等がインストールされる記憶装置である。後述するPC用作業支援プログラムは、HDD84にインストールされる。通信部86は、ネットワーク9のアクセスポイント(図示略)へ有線通信または無線通信で接続し、PC80をネットワーク9に接続する。音声制御部87はマイク90およびイヤホン91を内蔵するヘッドセット89に接続し、PC80を利用する指示者の音声の入出力を制御する。表示制御部88は、画像等をディスプレイ92に表示するための描画処理を行う。入力デバイス93は、指示者がPC80の操作の入力に用いる。
図3〜図6を参照し、作業支援プログラムについて説明する。作業支援プログラムは、HMD1にインストールするHMD用作業支援プログラムと、PC80にインストールするPC用作業支援プログラムとを含む。HMD用作業支援プログラムは、上記したように、HMD1のCPU51が実行するプログラムである。詳細については後述するが、HMD用作業支援プログラムを実行するCPU51は、概略、カメラ15が撮影した撮影画像データから低解像画像データを生成し、撮影時刻を示すタイムスタンプと対応付けて、PC80に送信する処理を行う。CPU51は、PC80からキャプチャ要求信号とタイムスタンプを受信した場合に、タイムスタンプが一致する高解像画像データをPC80に送信する処理を行う。
PC用作業支援プログラムは、上記したように、PC80CPU81が実行するプログラムである。詳細については後述するが、PC用作業支援プログラムを実行するCPU81は、概略、HMD1から受信する低解像画像データに基づく低解像画像をディスプレイ92に表示する処理を行う。CPU81は、指示者がキャプチャ操作を行った場合に、表示中の低解像画像に対応付けられたタイムスタンプを取得して、HMD1にキャプチャ要求信号とタイムスタンプを送信する。指示者は、PC80がキャプチャ要求信号に応じてHMD1から受信する高解像画像データに基づく高解像画像に対し、拡大表示して細部のチェックを行ったり、作業者に対する指示を描き込んだりすることができる。
PC用作業支援プログラムの実行において、指示者が操作を行う指示画面100について説明する。図3に示す指示画面100は、PC80のディスプレイ92に表示され、指示者が、作業者の撮影した撮影画像を見ながら作業者への指示を行う画面である。指示画面100の右上角部には、アプリケーション(PC用作業支援プログラム)の実行を終了する終了ボタン101が配置されている。指示画面100の下段左側には、作業者がカメラ15で撮影した撮影画像を表示する表示領域110が配置される。表示領域110は、HMD1のCPU51が表示画像データを低解像度に変換して圧縮し、ネットワーク9を介してPC80に送信した低解像画像データに基づく低解像画像111を表示する。低解像画像データはC[fps](例えば10fps)のフレームレートで送信され、CPU81は表示領域110に低解像画像111を映像として表示する。
指示画面100の上段左側には、HMD1に送信する画像を表示する表示領域120が配置される。表示領域120は、指示者がキャプチャ操作を行った場合に、そのタイミングに表示領域110に表示していた低解像画像111の1フレームに対応する高解像画像121を、キャプチャ画像として表示する。指示画面100の上段右側には、表示領域120に表示する高解像画像121に対して指示者が編集を行う場合に使用するツールボタン130とキャプチャボタン131が配置される。ツールボタン130は、指示者が作業者に対する指示として、高解像画像121に自由線や文字等を描き込んだり、消去したりする場合に操作される。キャプチャボタン131は、指示者が所望する低解像画像111の1フレームの画像をキャプチャするキャプチャ操作を行う場合にクリックするボタンである。キャプチャボタン131は、キャプチャ状態を解除する場合にも操作される。なお、ツールボタン130は、キャプチャボタン131がクリックされキャプチャ状態にある場合に操作可能状態になる。表示領域120は、キャプチャ操作時以外は、指示者側のカメラ映像、指示者が表示したいドキュメント等の資料データ、低解像画像111を拡大した画像等を表示する。
指示者がキャプチャ操作を行った場合、表示領域120には、高解像画像121の左上隅にキャプチャ状態であることを示すキャプチャアイコン122が表示される。キャプチャアイコン122が表示されている間、指示者は、ツールボタン130の操作に応じて使用可能となる各種ツール(例えばエンピツツール123、テキストボックス124等)を用いることができる。指示者は、キャプチャ画像(高解像画像121)に重ねて表示されるレイヤー(図示略)に、各種ツールを用いて文字や線画等を描き込むことができる。表示領域120に表示される画像、すなわちキャプチャ画像と、キャプチャ画像に重ねたレイヤーの画像とを合成した画像の画像データは、HMD1に送信される。HMD1のCPU51は、PC80から受信した画像データに基づき画像信号を生成し、HD10に送信して、表示領域120の画像と同様の画像をLCD11に表示する。
次に、作業支援プログラムの実行に伴い、HMD1のCPU51およびPC80のCPU81がそれぞれ行う処理の詳細について説明する。まず、図4を参照し、HMD1のCPU51がHMD用作業支援プログラムを実行して行う処理について説明する。作業者がHMD1のCB50に設けられた電源スイッチ63を操作すると、CPU51は起動時における所定の動作をメインプログラム(図示略)の実行に従って行う。CPU51は無線通信部65および有線通信部66を稼働し、ネットワーク9に接続可能な通信部を介し、ネットワーク9に接続する。すなわちCPU51は、有線通信部66にネットワーク9に接続するネットワークケーブル(図示略)が接続されていれば、有線通信部66を介してネットワーク9に接続する。CPU51は、無線通信部65が接続可能なアクセスポイント(図示略)が見つかれば、無線通信部65を介してネットワーク9に接続する。
CPU51は、HMD用作業支援プログラムの実行を開始し、起動時に行う初期設定処理(図示略)を行う。CPU51は、RAM52に記憶するフラグやデータを初期化し、プログラムROM53に記憶されているフラグやデータの初期値と、フラッシュROM54に記憶されているフラグやデータの設定値をRAM52に書き込む。CPU51はRAM52に、フレームバッファ52A、送信バッファ52B、格納バッファ52Cの記憶領域をそれぞれ確保する。CPU51は、ネットワーク9を介してPC80と接続する。CPU51は、カメラ15から撮影画像データを1フレームずつ取得し、フレームバッファ52Aに保存する処理を開始する。フレームバッファ52Aには1〜数フレームの撮影画像データが一時的に記憶される。CPU51は、マイク16から音データを取得し、ネットワーク9を介してPC80に送信する処理を開始する。CPU51は、ネットワーク9を介してPC80から音データを受信し、イヤホン17から出力する処理を開始する。また、CPU51は、PC80から受信する画像データに基づき生成した画像信号をHD10に送信し、画像信号に基づく画像をLCD11に表示する処理を開始する。
上記の初期設定処理が終了すると、CPU51は、フレームバッファ52Aに保存する撮影画像データを(S1)、画像処理部58において高解像画像データに変換し、画像圧縮部57においてJPEG圧縮する。CPU51は、PC80に、テスト信号と高解像画像データを送信する(S3)。CPU51は、テスト信号を送信するときに、遅延時間T1[秒]を計時するタイマーをスタートする。遅延時間T1は、HMD1とPC80とがネットワーク9を介して行うデータの送受信にかかる時間である。後述するが、PC80のCPU81は、テスト信号と高解像画像データを受信した場合に、キャプチャ要求信号を送信する。HMD1のCPU51は、キャプチャ要求信号の受信を待機し(S5:NO)、受信すると(S5:YES)、テスト信号を送信してからキャプチャ要求信号を受信するまでにかかった時間を遅延時間T1として求める。
CPU51は、遅延時間T1に基づいて、記憶時間T2[秒]を決定する(S7)。記憶時間T2は、格納バッファ52Cに保存する高解像画像データを保持する時間である。記憶時間T2は、カメラ15が画像を撮影した時刻を基準に、低解像画像を指示者が閲覧するためHMD1からPC80へ低解像画像データを送信するのにかかる時間と、低解像画像データに対応する高解像画像データを要求するキャプチャ要求信号がPC80から届くまでにかかる時間と(すなわち遅延時間T1)を考慮して求められる。具体的に、記憶時間T2は、遅延時間T1にマージンαを積算して求められる。本実施形態において、マージンαは、初期値として例えば「5」が設定されている。すなわち、画像の撮影時刻を基準に、高解像画像データを格納バッファ52Cに保持する記憶時間T2として、遅延時間T1の5倍の時間が設定される。
CPU51は、記憶時間T2に基づいて、間引き時間T3[秒]を決定する(S9)。キャプチャ要求信号を受信したCPU51が、対応する高解像画像データをPC80に送信できるようにするため、格納バッファ52Cは、マージンαを考慮した遅延時間分(すなわちT2時間分)の高解像画像データを保持する。格納バッファ52Cの記憶容量A[bit]は、あらかじめ設定されている。高解像画像データの1フレーム相当のデータ量がB[bit]である場合に、格納バッファ52Cに保持可能な高解像画像のフレーム数は(A/B)[フレーム]で与えられる。カメラ15が撮影画像をフレームレートC[fps]で撮影した場合に、T2時間分の高解像画像のフレーム数は、C×T2[フレーム]となる。しかし、格納バッファ52Cの記憶容量Aが少ない場合、高解像画像データの1フレーム相当のデータ量がBが大きい場合、フレームレートCが大きい場合など、(A/B)<(C×T2)となる場合、格納バッファ52CにT2時間分の高解像画像データを保持することができない。このような場合、CPU51は、間引き時間T3に基づき高解像画像データを間引いて格納バッファ52Cに保存することで、T2時間分の高解像画像データを確保する。間引き時間T3は、マージンαを考慮した遅延時間と、格納バッファ52Cの記憶可能な時間とに基づいて、必要に応じて設定すればよい。
具体的に、間引き時間T3は、T2/(A/B)以上の(1/C)の整数倍値で与えられる。CPU51は、間引き時間T3が経過するごとに、その時点において生成した高解像画像データを格納バッファ52Cに保存する。ただし、T3<(1/C)の場合、T3は1フレームの時間未満なので、特に、間引く必要は無いことを意味する。この場合、CPU51は、フレームレートC通りに生成した高解像画像データを全て格納バッファ52Cに保存する。CPU51は、間引き時間T3を求めたら、間引き時間T3を計時するタイマーをスタートする。なお、初回実行時において、CPU51は、後述するS21の処理で間引き時間T3のタイマーがタイムアウトするように、タイマーの計時をT3秒からスタートする。
CPU51は、カメラ15が新たに撮影した1フレームの撮影画像データをフレームバッファ52Aに保存する(S11)。CPU51は、メインプログラム(図示略)の実行に従って稼働する時刻タイマー(図示略)から、現在時刻をタイムスタンプ(便宜上、「タイムスタンプX」とする。)として取得する(S13)。CPU51は、解像度処理部56において、フレームバッファ52Aに記憶する撮影画像データの解像度を低くし、画像圧縮部57において、JPEG画像に圧縮する処理を行って低解像画像データを生成する(S15)。CPU51は、低解像画像データに、S13の処理で取得したタイムスタンプXを対応付け(S17)、送信バッファ52Bに保存する。例えば、低解像画像データのプロパティを格納する領域に、タイムスタンプXが付加される。CPU51は、送信バッファ52Bに保存された低解像画像データを、ネットワーク9を介し、PC80に送信する(S19)。なお、低解像画像データをフレームレートCに従ってPC80に送信するため、送信バッファ52Bには、複数フレーム分の低解像画像データが保存されている。CPU51は、タイムスタンプXの示す時刻が古い低解像画像データから順に、PC80に送信する。
CPU51は、間引き時間T3を計時するタイマーを参照し、間引き時間T3が経過したら(S21:YES)、間引き時間T3を計時するタイマーをゼロにリセットして新たに計時を開始し、処理をS23に進める。CPU51は、S13で取得した現在時刻を、格納バッファ52Cに記憶する高解像画像データに対応付けられたタイムスタンプXと比較する。CPU51は、格納バッファ52Cに、現在時刻から記憶時間T2[秒]以上前の時刻のタイムスタンプXが対応付けられた高解像画像データが保存されているか否か判断する(S23)。CPU51は、該当する高解像画像データが格納バッファ52Cに保存されていれば(S23:YES)、該当する高解像画像データを削除してから処理をS27に進める(S25)。CPU51は、該当する高解像画像データが格納バッファ52Cに保存されていなければ(S23:NO)、そのまま処理をS27に進める。
CPU51は、解像度処理部56において、フレームバッファ52Aに記憶する撮影画像データの解像度と同じ高解像度の撮影画像データを生成する。CPU51は、画像圧縮部57において、高解像度の撮影画像データに対してJPEG画像に圧縮する処理を行って高解像画像データを生成する。CPU51は、生成した高解像画像データに、S13の処理で取得したタイムスタンプXを対応付けて(S27)、格納バッファ52Cに保存する(S29)。上記同様、タイムスタンプXは、高解像画像データのプロパティを格納する領域に付加される。このように、S23、S25の処理において、記憶時間T2を超える高解像画像データを格納バッファ52Cから削除し、S29の処理で、新たな高解像画像データを保存することで、CPU51は、格納バッファ52Cにおいて、いわゆるFIFO処理に基づき、一定時間(記憶時間T2)分の高解像画像データを保持する記憶処理を行うことができる。
CPU51は、処理をS31に進め、PC80からキャプチャ要求信号を受信していなければ(S31:NO)、処理をS39に進める。CPU51は、作業者が電源スイッチ63を操作していなければ(S39:NO)、処理をS11に戻す。CPU51は、次のフレームの撮影画像データから低解像画像データを生成し、タイムスタンプXを対応付けて、PC80に送信する処理を行う(S11〜S19)。S21において、CPU51は、間引き時間T3が経過していなければ(S21:NO)、処理をS31に進め、高解像画像データを格納バッファ52Cに保存する処理を行わない。なお、T3<1/Cであり、間引き時間T3が1フレームの時間未満の場合、S11の処理でカメラ15が撮影した1フレームの撮影画像データをフレームバッファ52Aに保存する時間間隔よりも先に間引き時間T3が経過するため、CPU51は、S21において常に処理をS23に進める。
CPU51は、上記同様、キャプチャ要求信号の受信がなく(S31:NO)、電源スイッチ63の操作もなければ(S39:NO)、処理をS11に戻し、次のフレームの撮影画像データをフレームバッファ52Aに保存する。以降同様に、CPU51は、撮影画像データから低解像画像データを生成し(S15)、タイムスタンプXを対応付けて(S17)、PC80に送信する(S19)。CPU51は、間引き時間T3が経過したときだけ(S21:YES)、高解像画像データを生成してタイムスタンプXを対応付け(S27)、格納バッファ52Cに保存する(S29)。
S31において、PC80からキャプチャ要求信号を受信した場合(S31:YES)、CPU51は、キャプチャ要求信号とともに受信するタイムスタンプ(便宜上、「タイムスタンプY」とする。)を取得する。タイムスタンプYは、後述するPC用作業支援プログラムの実行において、指示者がキャプチャ操作を行ったタイミングに表示領域110に表示していた低解像画像111のプロパティに格納されたタイムスタンプXである。CPU51は、キャプチャ要求信号とともに取得したタイムスタンプYが示す時刻(以下、「要求時刻」という。)を、格納バッファ52Cに記憶する高解像画像データに対応付けられたタイムスタンプXと比較する。CPU51は、タイムスタンプXの示す時刻がタイムスタンプYの示す要求時刻に最も近い時刻である高解像画像データを取得する(S33)。言い換えると、CPU51は、格納バッファ52Cに記憶する高解像画像データのうち、タイムスタンプXが示す時刻と、タイムスタンプYが示す要求時刻との時間差が、最も小さい高解像画像データを取得する。
CPU51は、取得した高解像画像データを、ネットワーク9を介し、PC80に送信する(S35)。CPU51は、PC80からキャプチャ停止信号の受信を待機する(S37:NO)。CPU51は、キャプチャ停止信号を受信すると(S37:YES)、電源スイッチ63の操作がなければ(S39:NO)、処理をS11に戻す。CPU51は、上記同様、撮影画像データに基づく低解像画像データの送信と高解像画像データの間引き保存を1フレームごとに繰り返して行う処理を再開する。作業者が電源スイッチ63を操作した場合(S39:YES)、CPU51は、HMD用作業支援プログラムの実行を終了する。
次に、図5を参照し、PC80のCPU81がPC用作業支援プログラムを実行して行う処理について説明する。指示者がPC80を操作してPC用作業支援プログラムを起動すると、CPU81は、HDD84にインストールされたPC用作業支援プログラムを実行する。CPU81は、PC用作業支援プログラムの起動時に行う初期設定処理(図示略)において、RAM83に記憶するフラグやデータを初期化し、通信部86を稼働させ、ネットワーク9接続する。CPU81は、ヘッドセット89のマイク90から音データを取得し、ネットワーク9を介してHMD1に送信する処理を開始する。CPU81は、ネットワーク9を介してHMD1から音データを受信し、ヘッドセット89のイヤホン91から出力する処理を開始する。また、CPU81は、指示画面100(図3参照)の表示領域120に表示する画像に基づく画像データを生成してHMD1に送信する処理を開始する。CPU81は、RAM83に、受信バッファ(図示略)の記憶領域を確保する。
CPU81は、上記の初期設定処理が終了すると、HMD1からテスト信号および高解像画像データの受信を待機する(S51:NO)。CPU81は、テスト信号および高解像画像データを受信すると(S51:YES)、HMD1に、キャプチャ要求信号を送信する(S53)。前述したように、HMD1のCPU51は、PC80のCPU81がS53の処理で送信したキャプチャ要求信号に基づき、遅延時間T1を決定する。
CPU81は、HMD1のCPU51がS19の処理において送信する低解像画像データを受信して(S55)、RAM83の受信バッファに保存する。CPU81は、受信バッファが記憶する低解像画像データを読み出し、低解像画像データに基づく低解像画像111を指示画面100の表示領域110(図3参照)に表示する(S57)。前述したように、指示者がキャプチャボタン131をクリックするキャプチャ操作を行った場合に、CPU81は、表示領域120にキャプチャ画像(低解像画像111に対応する高解像画像121)を表示する。キャプチャ操作が行われていなければ(S59:NO)、CPU81は、処理をS73に進め、指示者が終了ボタン101をクリックする操作を行っていなければ(S73:NO)、処理をS55に戻す。
CPU81は、次のフレームの低解像画像データを受信して受信バッファに保存し、表示領域110に表示する処理を行いながら、キャプチャ操作が行われるのを待つ。表示領域110には、低解像画像111がフレームレートCに従って差し替えられる映像として表示される。S59において、指示者によるキャプチャ操作が行われた場合(S59:YES)、CPU81は、そのとき表示領域110に表示していた低解像画像111のプロパティに格納されたタイムスタンプXを、タイムスタンプYとして取得する(S61)。
CPU81は、HMD1に対してキャプチャ要求信号とタイムスタンプYを送信する(S63)。前述したように、HMD1のCPU51は、キャプチャ要求信号を受信すると、タイムスタンプXの示す時刻がタイムスタンプYの示す要求時刻に最も近い時刻である高解像画像データを格納バッファ52Cから取得して、PC80に送信する。PC80のCPU81は、HMD1から高解像画像データを受信し(S65)、受信バッファに保存する。CPU81は、受信バッファに記憶した高解像画像データを読み出し、高解像画像データに基づく高解像画像121を、キャプチャ画像として、指示画面100の表示領域120(図3参照)に表示する(S67)。前述したように、表示領域120に表示される画像の画像データはHMD1に送信され、LCD11に表示される。なお、キャプチャ操作が行われてから高解像度画像を取得し、表示領域120に表示されるまでの間は、高解像度画像取得中のメッセージを表示する。もしくは、低解像度111を表示領域120に表示して編集できるようにしてもよい。
図3に示すように、指示者は、キャプチャ状態において、ツールボタン130を操作してキャプチャ画像に対する編集を行うことができる。例えば、ツールボタン130のエンピツボタン132をクリックすると、カーソルがエンピツツール123に変化し、指示者は、キャプチャ画像に重ねたレイヤーに線画125等を描くことができる。また、ツールボタン130のテキストボタン133をクリックすると、テキストボックス124がレイヤー上に表示され、指示者は、テキストボックス124内に文字等を書き込むことができる。HMD1のLCD11にはキャプチャ画像に重ねて指示者が描き込んだ線画125やテキストボックス124が表示され、作業者に指示者から作業の指示が伝えられる。
図5に示すように、指示者がキャプチャ画像に対する編集を行っている間、CPU81は待機する(S69:NO)。指示者がキャプチャ画像に対する編集を終え、キャプチャボタン131をクリックした場合(S69:YES)、CPU81はキャプチャ状態を解除し、HMD1に、キャプチャ停止信号を送信する(S71)。前述したように、HMD1のCPU51は、キャプチャ停止信号を受信すると、撮影画像データに基づく低解像画像データの送信と高解像画像データの間引き保存を1フレームごとに繰り返して行う処理を再開する。PC80のCPU81は処理をS73に進め、アプリケーションの終了操作が行われていなければ処理をS55に戻し(S73:NO)、表示領域110に低解像画像を映像として表示する処理を再開する。S73において、指示者が終了ボタン101をクリックする操作を行った場合(S73:YES)、CPU81は、PC用作業支援プログラムの実行を終了する。
上記説明した作業支援プログラムの実行において、HMD1とPC80との間で送受信されるデータの流れについて、図6のシーケンス図を参照して説明する。なお、説明の便宜上、シーケンス図において説明する各処理は、作業支援プログラム(図4、図5参照)各処理を抜粋したものである。したがって、電子会議プログラムのフローチャートの各ステップと同一のステップ番号を付して説明を行う。また、図6において、数字を付加した丸囲み文字「P」で、説明のための区切りを表記する。なお、図6で、HMD1およびPC80から図中下方へ向けて延びる矢印は、時間軸を示す。
(P1) HMD1のCPU51は、S17の処理において、タイムスタンプXを付加した低解像画像データを送信バッファ52Bに保存し、S19の処理において、順次、PC80に送信する。例えば、フレームレートが10fpsに設定されている場合、CPU51は、100msごとに新たなタイムスタンプXを付加した低解像画像データを送信する。
(P2) CPU51は、S29の処理において、間引き時間T3(例えば1秒)ごとに、タイムスタンプXを付加した高解像画像データを格納バッファ52Cに保存する。すなわち、100msごとに送信される低解像画像データと同じ撮影時刻を示すタイムスタンプXが付加された高解像画像データが、1秒ごとに、格納バッファ52Cに保存される。
(P3) PC80のCPU81が、S55の処理において受信した低解像画像データを、S57の処理において、順次、指示画面100の表示領域110に映像として表示する。ネットワーク9を介した送信に伴う遅延等によって、低解像画像は、PC80において、タイムスタンプXが示す撮影時刻よりも遅れて表示される。
(P4) 作業者のキャプチャ操作に伴い、S63の処理において、CPU81がキャプチャ要求信号をHMD1に送信する。CPU81は、さらに、キャプチャ操作を行ったときに表示領域110に表示していた低解像画像のタイムスタンプXが示す時刻(ここでは「15:10:15.200」)を、タイムスタンプYとして、キャプチャ要求信号とともに送信する。
(P5) S31の処理において、キャプチャ要求信号を受信したHMD1のCPU51は、S33の処理において、タイムスタンプYを、格納バッファ52Cに記憶する高解像画像データのタイムスタンプXと比較する。格納バッファ52Cには、少なくとも、タイムスタンプXが「15:10:15.000」を示す高解像画像データと、タイムスタンプXが「15:10:16.000」を示す高解像画像データとが保存されているものとする。
(P6) CPU51は、S35の処理において、タイムスタンプYが示す要求時刻(「15:10:15.200」)に最も近い時刻(「15:10:15.000」)を示すタイムスタンプXに対応付けられた高解像画像データを、PC80に送信する。
(P7) PC80のCPU81は、S65の処理において、HMD1から高解像画像データを受信したら、S67の処理において、指示画面100の表示領域120に高解像画像を表示する。
(P8) 指示者が高解像画像に対する編集を終了したら、CPU81は、S71の処理において、HMD1にキャプチャ停止信号を送信する。
(P9) S37の処理において、キャプチャ停止信号を受信したHMD1のCPU51は、(P1)同様に、S17の処理において送信バッファ52Bに低解像画像データを保存し、S29の処理において格納バッファ52Cに高解像画像データを保存する処理を再開する。
なお、本発明は上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々変更を加え得ることが可能である。HMD用作業支援プログラムにおいて、CPU51は、S1〜S9の処理をプログラムの実行開始時に行い、ネットワーク9の通信状態に応じた記憶時間T2および間引き時間T3の決定を行った。これに限らず、例えば、CPU51は、S1〜S9の処理を定期的に行って、時々刻々と変化するネットワーク9の通信状態にあわせて記憶時間T2および間引き時間T3を決定できるようにしてもよい。具体的に、例えば、図4に示すHMD用作業支援プログラムの初期設定処理(図示略)において計時を開始するタイマーを設け、CPU51は、所定時間経過するごとに、S39:NOの後、処理をS11ではなく、S1に戻すようにすればよい。この場合、図5に示すPC用作業支援プログラムも同様に、タイマーを設け、CPU81は、所定時間経過するごとに、S73:NOの後、処理をS55ではなく、S51に戻すようにすればよい。
CPU51は、S17、S19の処理において、すべての低解像画像データにタイムスタンプXを付加してPC80に送信した。これに限らず、CPU51は、例えば、格納バッファ52Cに保存する高解像画像データに対応した低解像画像データにのみ、タイムスタンプXを付加し、PC80に送信してもよい。例えば、S15の処理とS17の処理との間に、T3秒が経過したか否か判断するS21と同様の処理を追加し、経過した場合に、CPU51は処理をS17に進め、経過していない場合には、処理をS19に進めるようにすればよい。この場合、PC80のCPU81は、タイムスタンプXが付加された低解像画像データを受信するたびにタイムスタンプXを取得し、RAM83に、タイムスタンプYとして上書き保存する。この処理は、例えばS55の処理とS57の処理との間に追加すればよい。そして、指示者によるキャプチャ操作があった場合、CPU81は、S61の処理において、RAM83に上書き保存した最新のタイムスタンプYを取得し、S63の処理において、キャプチャ要求信号とともに送信すればよい。HMD1のCPU51は、タイムスタンプYと一致するタイムスタンプXに対応付けられた高解像画像データをPC80に送信すればよい。
CPU51は、間引き時間T3ごとに高解像画像データを生成するが、高解像画像データを生成したタイミングから、T3秒後に新たな高解像画像データを生成するまでの間に生成する低解像画像データには、先の高解像画像データに対応付けたタイムスタンプXを対応付けてもよい。具体的に、CPU51は、例えばS13の処理で取得したタイムスタンプXをRAM52に上書き保持する処理をT3秒経過するたびに行い、T3秒ごとに、タイムスタンプXを更新する。CPU51は、RAM52に上書き保存した最新のタイムスタンプXを、S17の処理で低解像画像データに対応付け、S27の処理で、高解像画像データに対応付ければよい。このようにすれば、すべての低解像画像データは、間引いて生成される高解像画像データのうちのいずれかと同一時刻を示すタイムスタンプXを有することができる。
本実施形態では、撮影画像データと高解像度画像データの解像度を同じとしたが、高解像度画像データの解像度は、解像度処理部56により、撮影画像データの解像度(例えば300万画素)よりも若干低い解像度(例えば200万画素)に変更してもよい。
また、間引き時間T3の決定を、本実施形態ではネットワーク9を介したデータの送受信において生ずる遅延時間T1に基づき決定したが、ネットワーク9への接続形態に応じて設定してもよい。例えば、HMD用作業支援プログラムの実行開始時に、CPU51は、ネットワーク9との接続形態が、無線通信部65を介して行う無線接続であるか、有線通信部66を介して行う有線接続であるか確認する。さらにCPU51は、解像度処理部56が生成する高解像画像データの解像度を示す解像度情報を取得する。CPU51は、図7に示すT3決定テーブル150(HMD用作業支援プログラムとともにプログラムROM53に記憶されているものとする。)を参照し、ネットワーク9との接続形態と解像度情報とに基づいて、間引き時間T3を決定する。T3決定テーブル150は、高解像画像データの解像度が大きいほど、また、有線接続よりも無線接続である場合に、間引き時間T3が、より長く設定されるテーブルである。T3決定テーブル150を参照して間引き時間T3を決定すれば、遅延時間T1の計時にかかる時間を短縮でき、また、記憶時間T2、間引き時間T3の演算においてCPU51にかかる負荷を低減することができる。
また、本実施形態では、格納バッファ52Cに、記憶時間T2の経過を判断条件とするFIFO処理を行って高解像画像データを保持したが、格納バッファ52Cに保持可能な高解像画像のフレーム数(A/B)の超過を判断条件とするFIFO処理を行って、格納バッファ52Cに高解像画像データを保持してもよい。なお、格納バッファ52Cに保持可能な高解像画像のフレーム数(A/B)が、「所定数」に相当する。
なお、上記変形例において、CPUは、S9においてT3決定テーブル150を参照し、ネットワーク9の接続形態と、高解像画像データの解像度情報とに応じて間引き時間T3を決定した。これに限らず、CPU51は、上記の解像度情報と、S15において画像圧縮部57が低解像画像データを生成する際の圧縮率とに応じてT3を決定するテーブルを参照し、間引き時間T3を決定してもよい。圧縮率が大きいほど、CPU51は、画像処理部58における撮影画像データの圧縮処理に、時間がかかってしまう。したがって、撮影画像データの圧縮率が大きいほど、低解像画像データが送信される前の段階において生ずる遅延時間が大きくなる。すなわち、カメラ15が撮影した時刻に対し、低解像画像データがHMD1から送信されてPC80が受信し、指示画面100に表示するまでにかかる時間が大きくなる。ゆえに、低解像画像データの圧縮率の違いに応じて間引き時間T3を設定することは、好ましい。一例として、圧縮率が高圧縮率(例えば80%未満)・低圧縮率(例えば80%以上)の2段階設定である場合、図7のT3決定テーブル150における「無線接続」に高圧縮率を相当させ、「有線接続」に低圧縮率を相当させたテーブルを用いるとよい。なお、圧縮率は、作業者あるいは指示者が任意に設定できるようにしてもよい。
また、図7のT3決定テーブル150において、解像度情報とネットワーク9の接続形態とに基づいて決定する対象を、間引き時間T3だけでなく、記憶時間T2も決定できるようにしてもよい。このテーブルの決定結果に基づき、CPU51は、本実施形態のS23、S25の処理において、記憶時間T2に基づくFIFO処理を行ってもよい。
以上説明したように、本発明に係る作業支援システムにおいて、HMD1は、PC80において指示者が閲覧する低解像画像のタイムスタンプと同じ、もしくは近いタイムスタンプが対応付けられた高解像画像データを、キャプチャ画像として取得することができる。ゆえに指示者は所望する高解像画像データを得ることができ、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えにくい。また、低解像画像データや高解像画像データがネットワーク経由で送受信されることで生じる遅延が、ネットワークの状態によって変化しても、HMD1は、指示者が閲覧中の低解像画像に対応する高解像画像データをタイムスタンプに基づいて遡って取得してPC80に送信するため、遅延の影響を受けない。ゆえに指示者は所望する高解像画像データを得ることができ、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えにくい。
HMD1は、高解像画像データを格納バッファ52Cに間引いて記憶することで、高解像画像データを長時間にわたって格納バッファ52Cに保持することができる。PC80は、指示者が閲覧する低解像画像が撮影された時刻に近い撮影時刻を示すタイムスタンプが対応付けられた高解像画像データを得ることができる。ゆえに指示者は、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えにくい。
HMD1は、格納バッファ52Cに記憶時間T2分、あるいは保持可能なフレーム数(A/B)分の高解像画像データを保持でき、それを超える分は削除できるので、格納バッファ52Cの記憶容量一杯に高解像画像データを保持せずとも済み、システムが確保を要求する記憶容量を無駄に大きくせずとも済む。また、HMD1が、格納バッファ52Cに間引きを行わずに記憶時間T2分、あるいは保持可能なフレーム数(A/B)分の高解像画像データを保持すれば、PC80は、指示者が閲覧する低解像画像が撮影された時刻と同じ時刻を示すタイムスタンプが対応付けられた高解像画像データを得ることができる。ゆえに指示者は、所望する高解像画像データを得ることができ、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えることがない。
ネットワーク9を介した接続形態が無線接続であるか有線接続であるかによって、データの送受信において生ずる遅延の大きさが異なる。また、撮影画像データを低解像画像データに圧縮する圧縮率の大きさの違いによっても、データの送受信において生ずる遅延(この場合は低解像画像データが送信される前の段階において生ずる遅延)の大きさが異なる。ゆえに、ネットワーク9を介した接続形態、および、圧縮率の大きさの少なくとも一方を考慮して、記憶時間T2または保持可能なフレーム数(A/B)を設定し、格納バッファ52Cに記憶時間T2分または保持可能なフレーム数(A/B)分の高解像画像データを保持することで、HMD1は、指示者が所望する高解像画像データを確実に格納バッファ52Cに保持することができる。
HMD1は、格納バッファ52Cの記憶容量に応じて記憶時間T2または保持可能なフレーム数(A/B)を設定し、格納バッファ52Cに記憶時間T2分または保持可能なフレーム数(A/B)分の高解像画像データを保持することで、指示者が所望する高解像画像データを確実に格納バッファ52Cに保持することができる。ゆえに指示者は、所望する高解像画像データを得ることができ、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えることがない。また、格納バッファ52Cの記憶容量が足りず、記憶時間T2分または保持可能なフレーム数(A/B)分の高解像画像データを保持できなくとも、HMD1は、高解像画像データを間引いて保存することによって、指示者が所望する高解像画像データに撮影時刻が近い高解像画像データを格納バッファ52Cに保持することができる。ゆえに指示者は、所望する高解像画像データに撮影時刻が近い高解像画像を得ることができ、もとの低解像画像とキャプチャした高解像画像との間に違和感を覚えにくい。
HMD1は、ネットワークを介したデータの送受信において生ずる遅延時間を検出し、遅延時間T1に応じて記憶時間T2または保持可能なフレーム数(A/B)を設定し、格納バッファ52Cに記憶時間T2分または保持可能なフレーム数(A/B)分の高解像画像データを保持すれば、指示者が所望する高解像画像データを確実に格納バッファ52Cに保持することができる。
本実施形態では、ハーネス7を介したHD10とCB50との通信(LCD11に表示する画像データ転送、カメラ15の撮影画像データ転送、マイク16およびイヤホン17の音声データ転送等)を、デジタルデータ通信によって行ったが、CB50においてデータのA/D・D/A変換し、アナログデータ通信によって行ってもよい。
なお、本発明においては、HMD1が、「作業端末」に相当する。PC80が、「指示端末」に相当する。カメラ15が、「撮影装置」に相当する。RAM52が、「記憶装置」に相当する。記憶時間T2が、「第一所定時間」に相当する。S23、S25、S29で、FIFO処理に基づいて記憶時間T2分の高解像画像データを格納バッファ52Cに記憶するCPU51が、「記憶制御手段」に相当する。タイムスタンプが、「時刻情報」に相当する。S13で、タイムスタンプXを取得するCPU51が、「第一取得手段」に相当する。S17で、低解像画像データにタイムスタンプXを対応付けるCPU51が、「対応付け手段」に相当する。S19で、PC80に低解像画像データを送信するCPU51が、「第一送信手段」に相当する。キャプチャ要求信号が、「要求情報」に相当する。S33で、タイムスタンプYに最も近いタイムスタンプXに対応付けられた高解像画像データを取得するCPU51が、「第二取得手段」に相当する。S35で、PC80に高解像画像データを送信するCPU51が、「第二送信手段」に相当する。
S55で、HMD1から低解像画像データを受信するCPU81が、「第一受信手段」に相当する。S61で、タイムスタンプYとして、低解像画像データからタイムスタンプXを取得するCPU81が、「第三取得手段」に相当する。S63で、HMD1にキャプチャ要求信号とタイムスタンプYを送信するCPU81が、「第三送信手段」に相当する。S65で、HMD1から高解像画像データを受信するCPU81が、「第二受信手段」に相当する。間引き時間T3が、「第二所定時間」に相当する。S9で、間引き時間T3を決定するCPU51が、「第一決定手段」に相当する。S23で、タイムスタンプXの示す時刻が記憶時間T2以上前の時刻を示す高解像画像データがあるか否か判断するCPU51が、「判断手段」に相当する。S25で、記憶時間T2以上前の時刻を示すタイムスタンプXに対応付けられた高解像画像データを削除するCPU51が、「削除手段」に相当する。S3でテスト信号を送信してからS5でキャプチャ要求信号を受信するまでにかかる遅延時間T1を求めるCPU51が、「検出手段」に相当する。
1 ヘッドマウントディスプレイ(HMD)
9 ネットワーク
15 カメラ
51 CPU
52 RAM
52C 格納バッファ
65 無線通信部
66 有線通信部
80 パーソナルコンピュータ(PC)
81 CPU
83 RAM
86 通信部
92 ディスプレイ
A 記憶容量
B 高解像画像データの1フレーム相当のデータ量
C フレームレート
T1 遅延時間
T2 記憶時間
T3 間引き時間
X、Y タイムスタンプ
9 ネットワーク
15 カメラ
51 CPU
52 RAM
52C 格納バッファ
65 無線通信部
66 有線通信部
80 パーソナルコンピュータ(PC)
81 CPU
83 RAM
86 通信部
92 ディスプレイ
A 記憶容量
B 高解像画像データの1フレーム相当のデータ量
C フレームレート
T1 遅延時間
T2 記憶時間
T3 間引き時間
X、Y タイムスタンプ
Claims (8)
- 作業者が利用し、作業に対する指示を受信して前記作業者に提示可能な作業端末と、指示者が利用し、前記作業者に対する作業の指示を前記作業端末に送信可能な指示端末とがネットワークを介して接続された作業支援システムであって、
前記作業端末は、
前記作業者の周囲の景色を撮影可能な撮影装置と、
前記撮影装置が撮影した撮影画像のデータである撮影画像データと、前記撮影画像データの解像度を低くした低解像画像データとを少なくとも含む各種データを記憶する記憶装置と、
前記記憶装置に、前記撮影画像データを第一所定時間、または所定数記憶する制御を行う記憶制御手段と、
前記撮影装置が前記撮影画像を撮影した時刻を示す時刻情報を取得する第一取得手段と、
前記第一取得手段が取得した前記時刻情報を前記撮影画像データおよび前記低解像画像データに対応付ける対応付け手段と、
前記時刻情報が対応付けられた前記低解像画像データを前記指示端末に送信する第一送信手段と、
前記撮影画像データを要求する情報であり前記時刻情報を含む要求情報を前記指示端末から受信した場合に、前記要求情報に含まれる前記時刻情報に基づく時刻である要求時刻と同じ時刻もしくは最も近い時刻を示す前記時刻情報が対応付けられた前記撮影画像データを前記記憶装置から取得する第二取得手段と、
前記第二取得手段が取得した前記撮影画像データを前記指示端末に送信する第二送信手段と、
を備え、
前記指示端末は、
複数の前記低解像画像データを前記作業端末から受信する第一受信手段と、
前記第一受信手段が受信した前記低解像画像データのうち前記指示者が所望する前記低解像画像データに対応付けられた前記時刻情報を取得する第三取得手段と、
前記指示者が所望する前記低解像画像データに対応する前記撮影画像データを要求する情報であり前記第三取得手段が取得した前記時刻情報を含む前記要求情報を、前記作業端末に送信する第三送信手段と、
前記要求情報に基づいて前記作業端末が送信する前記撮影画像データを受信する第二受信手段と、
を備えたことを特徴とする作業支援システム。 - 前記作業端末の前記記憶制御手段は、前記撮影装置が撮影する全ての前記撮影画像の前記撮影画像データのうちの一部を間引いて前記記憶装置に記憶する時間間隔である第二所定時間を決定する第一決定手段を含み、
前記記憶制御手段は、前記第一決定手段が決定した前記第二所定時間ごとに撮影した前記撮影画像データを前記記憶装置に記憶することを特徴とする請求項1に記載の作業支援システム。 - 前記作業端末の前記第二取得手段は、前記指示端末から前記要求情報を受信した場合に、前記時刻情報に基づく時刻と前記要求時刻との時間差が最も小さい時刻を示す前記時刻情報が対応付けられた前記撮影画像データを前記記憶装置から取得することを特徴とする請求項2に記載の作業支援システム。
- 前記作業端末の前記記憶制御手段は、
前記記憶装置が記憶する前記撮影画像データのうち、前記時刻情報に基づく時刻から現在までの経過時間が前記第一所定時間以上経過した前記撮影画像データがあるか否か、または、前記記憶装置に記憶する前記撮影画像データの数が前記所定数以上であるか否かを判断する判断手段と、
前記判断手段が、経過時間が前記第一所定時間以上経過した前記撮影画像データがある、または、前記所定数以上の前記撮影画像データが記憶されていると判断した場合に、前記記憶装置から、前記時刻情報に基づく時刻が最も古い前記撮影画像データから順に削除する削除手段と、
を含むことを特徴とする請求項1から3のいずれかに記載の作業支援システム。 - 前記作業端末の前記記憶制御手段は、ネットワークを介した前記指示端末との接続形態、および、前記撮影画像データを前記低解像画像データに圧縮する圧縮率の大きさの少なくとも一方に基づいて、前記第一所定時間の大きさまたは前記所定数の数を決定し、前記記憶装置に前記撮影画像データを記憶する制御を行うことを特徴とする請求項1から4のいずれかに記載の作業支援システム。
- 前記作業端末の前記記憶制御手段は、ネットワークを介した前記指示端末との接続形態、および、前記撮影画像データを前記低解像画像データに圧縮する圧縮率の大きさの少なくとも一方と、前記記憶装置の記憶容量とに基づいて、
前記第一所定時間分または前記所定数分の前記撮影画像データを前記記憶装置に記憶可能な場合は、前記第一所定時間の長さまたは前記所定数の数を決定して前記記憶装置に前記撮影画像データを記憶する制御を行い、
前記第一所定時間分または前記所定数分の前記撮影画像データを前記記憶装置に記憶不可能な場合は、前記第一決定手段が決定した記第二所定時間ごとに前記第一選択手段が選択した前記撮影画像データを前記記憶装置に記憶する制御を行うこと
を特徴とする請求項2から4のいずれかに記載の作業支援システム。 - 前記作業端末は、前記指示端末との接続開始時または定期的に、前記指示端末との間で行うデータの送受信における遅延時間を検出する検出手段をさらに備え、
前記記憶制御手段は、前記第一所定時間の長さ、または、前記所定数の数を、前記遅延時間に基づいて決定することを特徴とする請求項1から4のいずれかに記載の作業支援システム。 - 作業者が利用し、指示者が利用する指示端末との間でネットワークを介して接続可能に構成された作業補助装置として用いる作業端末であり、前記作業者の周囲の景色を撮影可能な撮影装置と、前記撮影装置が撮影した撮影画像のデータである撮影画像データと、前記撮影画像データの解像度を低くした低解像画像データとを少なくとも含む各種データを記憶する記憶装置とを備え、前記指示端末から前記作業者に対する作業の指示を受信して前記作業者に提示可能な作業端末として機能させるためのプログラムであって、
コンピュータに、
前記記憶装置に、前記撮影画像データを第一所定時間、または所定数記憶する制御を行う記憶制御ステップと、
前記撮影装置が前記撮影画像を撮影した時刻を示す時刻情報を取得する第一取得ステップと、
前記第一取得ステップにおいて取得された前記時刻情報を前記撮影画像データおよび前記低解像画像データに対応付ける対応付けステップと、
前記時刻情報が対応付けられた前記低解像画像データを前記指示端末に送信する第一送信ステップと、
前記撮影画像データを要求する情報であり前記時刻情報を含む要求情報を前記指示端末から受信した場合に、前記要求情報に含まれる前記時刻情報に基づく時刻である要求時刻と同じ時刻もしくは最も近い時刻を示す前記時刻情報が対応付けられた前記撮影画像データを前記記憶装置から取得する第二取得ステップと、
前記第二取得ステップにおいて取得された前記撮影画像データを前記指示端末に送信する第二送信ステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013073126A JP2014197802A (ja) | 2013-03-29 | 2013-03-29 | 作業支援システムおよびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013073126A JP2014197802A (ja) | 2013-03-29 | 2013-03-29 | 作業支援システムおよびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014197802A true JP2014197802A (ja) | 2014-10-16 |
Family
ID=52358321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013073126A Pending JP2014197802A (ja) | 2013-03-29 | 2013-03-29 | 作業支援システムおよびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014197802A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3179369A1 (en) * | 2015-12-07 | 2017-06-14 | Basemark Oy | An application latency determination method and system for wearable display devices |
WO2017210908A1 (zh) * | 2016-06-08 | 2017-12-14 | 华为技术有限公司 | 处理方法与终端 |
WO2019087958A1 (ja) * | 2017-11-01 | 2019-05-09 | キヤノン株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
JP2021048608A (ja) * | 2020-11-25 | 2021-03-25 | ソニー株式会社 | カメラ、カメラの制御方法、制御装置、制御装置の制御方法、システムおよびシステムの制御方法 |
JP2021068346A (ja) * | 2019-10-28 | 2021-04-30 | 株式会社リコー | 通信端末、通信システム、データ共有方法およびプログラム |
-
2013
- 2013-03-29 JP JP2013073126A patent/JP2014197802A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3179369A1 (en) * | 2015-12-07 | 2017-06-14 | Basemark Oy | An application latency determination method and system for wearable display devices |
US9697800B2 (en) | 2015-12-07 | 2017-07-04 | Basemark Oy | Application latency determination method and system for wearable display devices |
WO2017210908A1 (zh) * | 2016-06-08 | 2017-12-14 | 华为技术有限公司 | 处理方法与终端 |
US10838601B2 (en) | 2016-06-08 | 2020-11-17 | Huawei Technologies Co., Ltd. | Processing method and terminal |
WO2019087958A1 (ja) * | 2017-11-01 | 2019-05-09 | キヤノン株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US11514606B2 (en) | 2017-11-01 | 2022-11-29 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium |
JP2021068346A (ja) * | 2019-10-28 | 2021-04-30 | 株式会社リコー | 通信端末、通信システム、データ共有方法およびプログラム |
JP7400345B2 (ja) | 2019-10-28 | 2023-12-19 | 株式会社リコー | 通信端末、通信システム、データ共有方法およびプログラム |
JP2021048608A (ja) * | 2020-11-25 | 2021-03-25 | ソニー株式会社 | カメラ、カメラの制御方法、制御装置、制御装置の制御方法、システムおよびシステムの制御方法 |
JP7140177B2 (ja) | 2020-11-25 | 2022-09-21 | ソニーグループ株式会社 | カメラ、カメラの制御方法、制御装置、制御装置の制御方法、システムおよびシステムの制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437069B2 (en) | Display control device, display control method, and computer program | |
WO2021213120A1 (zh) | 投屏方法、装置和电子设备 | |
WO2020192458A1 (zh) | 一种图像处理的方法及头戴式显示设备 | |
KR102302197B1 (ko) | 촬영 장치, 그 제어 방법 및 컴퓨터로 판독 가능한 기록매체. | |
CN106937039B (zh) | 一种基于双摄像头的成像方法、移动终端及存储介质 | |
US8937667B2 (en) | Image communication apparatus and imaging apparatus | |
CN111065001B (zh) | 视频制作的方法、装置、设备及存储介质 | |
JP2017509259A (ja) | 携帯端末の撮像方法及び携帯端末 | |
CN107483836B (zh) | 一种拍摄方法及移动终端 | |
JP6096654B2 (ja) | 画像の記録方法、電子機器およびコンピュータ・プログラム | |
CN107948505B (zh) | 一种全景拍摄方法及移动终端 | |
WO2015142971A1 (en) | Receiver-controlled panoramic view video share | |
CN108632543B (zh) | 图像显示方法、装置、存储介质及电子设备 | |
JP2014197802A (ja) | 作業支援システムおよびプログラム | |
CN111586431B (zh) | 进行直播处理的方法、装置、设备及存储介质 | |
CN110196673B (zh) | 图片交互方法、装置、终端及存储介质 | |
US20180139367A1 (en) | Multi-camera capture of a high dynamic range image | |
JP5838852B2 (ja) | 撮像システム、撮像装置、撮像方法及びプログラム | |
JP2023512966A (ja) | 画像処理方法、電子機器及びコンピュータ可読記憶媒体 | |
CN116055857B (zh) | 拍照方法及电子设备 | |
JP2015126326A (ja) | 電子機器及び画像処理方法 | |
JP2018152787A (ja) | 撮像装置、外部装置、撮像システム、撮像方法、操作方法およびプログラム | |
CN111954058A (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
US10009545B2 (en) | Image processing apparatus and method of operating the same | |
CN112770177B (zh) | 多媒体文件生成方法、多媒体文件发布方法及装置 |