[第1実施形態]
図1は、本発明を適用した第1実施形態に係る表示システム100の構成を示す説明図である。表示システム100は、使用者の頭部に装着された状態で使用者に虚像を視認させるHMD(Head Mounted Display:頭部装着型表示装置)であるHMD20と、HMD20と無線通信により接続される制御装置10(送信装置)とを備える。
制御装置10は、使用者の操作を受け付ける各種のボタン、スイッチ、及び、トラックパッド14を備え、使用者が表示システム100を操作するコントローラーとして機能する。
HMD20は、使用者の頭部に装着される装着体であり、本実施形態では眼鏡形状を有する。HMD20は、右保持部21と、左保持部23と、前部フレーム27とを有する本体に、第1表示装置30及び第2表示装置40が取り付けられる。HMD20は、外観上は眼鏡型の一体の装置に見えるが、異なる装置である第1表示装置30と第2表示装置40とを、眼鏡型のフレームに取り付けたものである。使用者の右眼に画像を視認させる第1表示装置30と、左眼に画像を視認させる第2表示装置40とは、それぞれ独立する装置である。
右保持部21及び左保持部23は、それぞれ、前部フレーム27の両端部から後方に延び、眼鏡のテンプル(つる)のように、使用者の頭部にHMD20を保持する。ここで、前部フレーム27の両端部のうち、HMD20の装着状態において使用者の右側に位置する端部を端部ERとし、使用者の左側に位置する端部を端部ELとする。右保持部21は、前部フレーム27の端部ERから、HMD20装着状態において使用者の右側頭部に対応する位置まで延伸して設けられる。左保持部23は、端部ELから、HMD20の装着状態において使用者の左側頭部に対応する位置まで延伸して設けられる。
第1表示装置30は、使用者がHMD20を装着する装着状態において、使用者からみて右側に位置する。第1表示装置30は、右保持部21及び前部フレーム27に固定されて配置される。第2表示装置40は、HMD20の装着状態において、使用者からみて左側に位置する。第2表示装置40は左保持部23及び前部フレーム27に固定されて配置される。
前部フレーム27には、第1表示装置30が有する光学部材である右導光板26、及び、第2表示装置40が有する光学部材である左導光板28が固定される。右導光板26は、HMD20の装着状態において使用者の右眼の眼前に位置し、右眼に画像を視認させる。左導光板28は、HMD20の装着状態において使用者の左眼の眼前に位置し、左眼に画像を視認させる。
本実施形態の右導光板26及び左導光板28は、光透過性の樹脂等によって形成されるプリズムなどの光学部品であり、後述するように、画像光を使用者の眼に導いて画像を視認させる。また、右導光板26及び左導光板28の表面に、波長フィルターとして機能する調光板(図示略)を設けてもよい。この場合、調光板の光学特性を適宜選択することにより、可視光、赤外光及び紫外光等の任意の波長域の光の透過率を調整することができ、外部から右導光板26及び左導光板28に入射し、右導光板26及び左導光板28を透過する外光の光量を調整できる。
前部フレーム27は、右導光板26の一端と左導光板28の一端とを互いに連結した形状を有し、この連結位置は、使用者がHMD20を装着する装着状態で、使用者の眉間に対応する。前部フレーム27は、右導光板26と左導光板28との連結位置において、HMD20の装着状態で使用者の鼻に当接する鼻当て部を設けてもよい。この場合、鼻当て部と右保持部21及び左保持部23とによりHMD20を使用者の頭部に保持できる。また、右保持部21及び左保持部23に、HMD20の装着状態において使用者の後頭部に接するベルト(図示略)を連結してもよく、この場合、ベルトによってHMD20を使用者の頭部に保持できる。
カメラ61(撮像部)は、HMD20の前部フレーム27に配設される。図1の例で、カメラ61は、前部フレーム27の前面において、右導光板26及び左導光板28を透過する外光を遮らないように、前部フレーム27の端部ER側に配置される。カメラ61は、端部EL側に配置されてもよく、右導光板26と左導光板28との連結部に配置されてもよい。
カメラ61は、CCDやCMOS等の撮像素子及び撮像レンズ等を備えるデジタルカメラである。本実施形態のカメラ61は単眼カメラであるが、ステレオカメラで構成してもよい。カメラ61は、HMD20の表側方向、換言すれば、HMD20を装着した状態における使用者の視界方向の少なくとも一部の外景(実空間)を撮像する。別の表現では、カメラ61は、使用者の視界と重なる範囲または方向を撮像し、使用者が注視する方向を撮像するということもできる。カメラ61の画角の広さは適宜設定可能であるが、本実施形態では、後述するように、使用者が右導光板26及び左導光板28を通して視認する外界を含む。より好ましくは、右導光板26及び左導光板28を透過して視認可能な使用者の視界の全体を撮像できるように、カメラ61の撮像範囲が設定される。
本実施形態で、カメラ61は、第1表示装置30の一部を構成する。カメラ61は、第1表示装置30の制御部310(図7)の制御に従って撮像を実行し、撮像画像データを出力する。
図2は、HMD20が備える光学系の構成を示す要部平面図である。図2には説明のため使用者の左眼LE及び右眼REを図示する。
HMD20は、第1表示装置30と、第2表示装置40とがそれぞれ、使用者の右眼REと左眼LEに画像を視認させる。
第1表示装置30は、画像光を発するOLED(Organic Light Emitting Diode)ユニット221を備える。また、第1表示装置30は、OLEDユニット221が発する画像光Lを導くレンズ群等を備えた右光学系251を備える。画像光Lは、右光学系251により右導光板26に導かれる。
OLEDユニット221は、OLEDパネル223と、OLEDパネル223を駆動するOLED駆動回路225とを有する。OLEDパネル223は、有機エレクトロルミネッセンスにより発光してR(赤)、G(緑)、B(青)の色光をそれぞれ発する発光素子を、マトリクス状に配置して構成される、自発光型の表示パネルである。OLEDパネル223は、R、G、Bの素子を1個ずつ含む単位を1画素として、複数の画素を備え、マトリクス状に配置される画素により画像を形成する。OLED駆動回路225は、制御部150(図6)の制御に従って、OLEDパネル223が備える発光素子の選択及び発光素子への通電を実行して、OLEDパネル223の発光素子を発光させる。OLED駆動回路225は、OLEDパネル223の裏面すなわち発光面の裏側に、ボンディング等により固定される。OLED駆動回路225は、例えばOLEDパネル223を駆動する半導体デバイスで構成され、OLEDパネル223の裏面に固定される基板(図示略)に実装されてもよい。この基板には温度センサー238が実装される。
なお、OLEDパネル223は、白色に発光する発光素子をマトリクス状に配置し、R、G、Bの各色に対応するカラーフィルターを重ねて配置する構成であってもよい。また、R、G、Bの色光をそれぞれ放射する発光素子に加え、W(白)の光を発する発光素子を備えるWRGB構成のOLEDパネル223を用いてもよい。
右光学系251は、OLEDパネル223から射出された画像光Lを並行状態の光束にするコリメートレンズを有する。コリメートレンズにより並行状態の光束にされた画像光Lは、右導光板26に入射する。右導光板26の内部において光を導く光路には、画像光Lを反射する複数の反射面が形成される。画像光Lは、右導光板26の内部で複数回の反射を経て右眼RE側に導かれる。右導光板26には、右眼REの眼前に位置するハーフミラー261(反射面)が形成される。画像光Lは、ハーフミラー261で反射して右眼REに向けて右導光板26から射出され、この画像光Lが右眼REの網膜に像を結び、使用者に画像を視認させる。
また、第2表示装置40は、画像光を発するOLEDユニット241と、OLEDユニット241が発する画像光Lを導くレンズ群等を備えた左光学系252とを備える。画像光Lは、左光学系252により左導光板28に導かれる。
OLEDユニット241は、OLEDパネル243と、OLEDパネル243を駆動するOLED駆動回路245とを有する。OLEDパネル243は、OLEDパネル223と同様に構成される自発光型の表示パネルである。OLED駆動回路245は、制御部150(図6)の制御に従って、OLEDパネル243が備える発光素子の選択及び発光素子への通電を実行して、OLEDパネル243の発光素子を発光させる。OLED駆動回路245は、OLEDパネル243の裏面すなわち発光面の裏側に、ボンディング等により固定される。OLED駆動回路245は、例えばOLEDパネル243を駆動する半導体デバイスで構成され、OLEDパネル243の裏面に固定される基板(図示略)に実装されてもよい。この基板には、温度センサー239が実装される。
左光学系252は、OLEDパネル243から射出された画像光Lを並行状態の光束にするコリメートレンズを有する。コリメートレンズにより並行状態の光束にされた画像光Lは、左導光板28に入射する。左導光板28は、画像光Lを反射する複数の反射面が形成された光学素子であり、例えばプリズムである。画像光Lは、左導光板28の内部で複数回の反射を経て左眼LE側に導かれる。左導光板28には、左眼LEの眼前に位置するハーフミラー281(反射面)が形成される。画像光Lは、ハーフミラー281で反射して左眼LEに向けて左導光板28から射出され、この画像光Lが左眼LEの網膜に像を結び、使用者に画像を視認させる。
HMD20は、シースルー型の表示装置として機能する。すなわち、使用者の右眼REには、ハーフミラー261で反射した画像光Lと、右導光板26を透過した外光OLとが入射する。また、左眼LEには、ハーフミラー281で反射した画像光Lと、ハーフミラー281を透過した外光OLとが入射する。このように、HMD20は、内部で処理した画像の画像光Lと外光OLとを重ねて使用者の眼に入射させ、使用者にとっては、右導光板26及び左導光板28を透かして外景が見え、この外景に重ねて、画像光Lによる画像が視認される。
ハーフミラー261は、第1表示装置30が出力する画像光を反射して画像を取り出す画像取り出し部であり、表示部ということができる。また、ハーフミラー281は、第2表示装置40が出力する画像光を反射して画像を取り出す画像取り出し部であり、表示部ということができる。
なお、右光学系251及び右導光板26をまとめて「右導光部」と呼び、左光学系252及び左導光板28を総称して「左導光部」と呼ぶこともできる。右導光部及び左導光部の構成は上記の例に限定されず、画像光を用いて使用者の眼前に虚像を形成する限りにおいて任意の方式を用いることができ、例えば、回折格子を用いても良いし、半透過反射膜を用いても良い。
図1に戻り、制御装置10とHMD20とは、無線通信回線により接続され、画像データを含む各種のデータを送受信できる。
制御装置10は、使用者により操作される被操作部として、ボタン11、LEDインジケーター12、トラックパッド14、上下キー15、切替スイッチ16、及び電源スイッチ18を備える。
ボタン11は、制御装置10が実行するオペレーティングシステム143(図6)の操作等を行うためのメニューキー、ホームキー、戻るキー等を含み、特に、これらのキーやスイッチのうち押圧操作により変位するものを含む。LEDインジケーター12は、制御装置10の動作状態に対応して点灯し、或いは点滅する。上下キー15は、イヤホン(図示略)から出力する音量の増減の指示入力や、HMD20の表示の明るさの増減の指示入力に利用される。切替スイッチ16は、上下キー15の操作に対応する入力を切り替えるスイッチである。電源スイッチ18は、制御装置10の電源のオン/オフを切り替えるスイッチであり、例えばスライドスイッチで構成される。
トラックパッド14は、接触操作を検出する操作面を有し、操作面に対する操作に応じて操作信号を出力する。操作面における検出方式は限定されず、静電式、圧力検出式、光学式等を採用できる。
また、制御装置10は、図示はしないが、タッチ操作を検出するタッチ操作部を備える。タッチ操作部は操作により変位するスイッチ等を持たず、例えば操作位置と操作内容を示すアイコン等が画面による表示や印刷で配置される。このタッチ操作部への接触(タッチ操作)は、後述するタッチセンサー13(図5)により検出される。
図3及び図4は、HMD20の要部構成を示す図である。図3はHMD20を使用者の頭部側から見た要部斜視図である。また、図4はカメラ61の画角の説明図である。
図3は、HMD20の使用者の頭部に接する側、言い換えれば使用者の右眼RE及び左眼LEに見える側である。別の言い方をすれば、右導光板26及び左導光板28の裏側が見えている。
図3では、使用者の右眼REに画像光を照射するハーフミラー261、及び、左眼LEに画像光を照射するハーフミラー281が、略四角形の領域として見える。また、ハーフミラー261、281を含む右導光板26及び左導光板28の全体が、上述したように外光を透過する。このため、使用者には、右導光板26及び左導光板28の全体を透過して外景が視認され、ハーフミラー261、281の位置に矩形の表示画像が視認される。
このように、第1表示装置30は、ハーフミラー261が構成する矩形の表示領域によって画像を使用者に視認させる。第2表示装置40は、ハーフミラー281が構成する矩形の表示領域により画像を視認させる。ハーフミラー261は第1表示装置30の画像表示領域に相当し、ハーフミラー281は第2表示装置40の画像表示領域に相当する。
図4は、カメラ61の位置を、使用者の右眼RE及び左眼LEとともに平面視で模式的に示す図である。カメラ61の画角(撮像範囲)をCで示す。なお、図4には水平方向の画角Cを示すが、カメラ61の実際の画角は一般的なデジタルカメラと同様に上下方向にも拡がる。
カメラ61の光軸は、右眼RE及び左眼LEの視線方向を含む方向とされる。使用者がHMD20を装着した状態で視認できる外景は、無限遠とは限らない。例えば図4に示すように、使用者が両眼で対象物OBを注視すると、使用者の視線は、図中符号RD、LDに示すように対象物OBに向けられる。この場合、使用者から対象物OBまでの距離は、30cm〜10m程度であることが多く、1m〜4m程度であることが、より多い。そこで、制御装置10について、通常使用時における使用者から対象物OBまでの距離の上限、及び下限の目安を定めてもよい。この目安は調査や実験により求めてもよいし使用者が設定してもよい。カメラ61の光軸、及び画角は、通常使用時における対象物OBまでの距離が、設定された上限の目安に相当する場合、及び、下限の目安に相当する場合に、この対象物OBが画角に含まれるように、設定されることが好ましい。
また、一般に、人間の視野角は水平方向におよそ200度、垂直方向におよそ125度とされ、そのうち情報受容能力に優れる有効視野は水平方向に30度、垂直方向に20度程度である。さらに、人間が注視する注視点が迅速に安定して見える安定注視野は、水平方向に60〜90度、垂直方向に45度〜70度程度とされている。この場合、注視点が、図4の対象物OBであるとき、視線RD、LDを中心として水平方向に30度、垂直方向に20度程度が有効視野である。また、水平方向に60〜90度、垂直方向に45度〜70度程度が安定注視野であり、水平方向に約200度、垂直方向に約125度が視野角となる。さらに、使用者がHMD20を透過して右導光板26及び左導光板28を透過して視認する実際の視野を、実視野(FOV:Field Of View)と呼ぶことができる。図1及び図2に示す本実施形態の構成で、実視野は、右導光板26及び左導光板28を透過して使用者が視認する実際の視野に相当する。実視野は、視野角及び安定注視野より狭いが、有効視野より広い。
カメラ61の画角Cは、使用者の視野よりも広い範囲を撮像可能であることが好ましく、具体的には、画角Cが、少なくとも使用者の有効視野よりも広いことが好ましい。また、画角Cが、使用者の実視野よりも広いことが、より好ましい。さらに好ましくは、画角Cが、使用者の安定注視野よりも広く、最も好ましくは、画角Cが使用者の両眼の視野角よりも広い。
カメラ61が、撮像レンズとして、いわゆる広角レンズを備え、広い画角を撮像できる構成としてもよい。広角レンズには、超広角レンズ、準広角レンズと呼ばれるレンズを含んでもよいし、単焦点レンズであってもズームレンズであってもよく、複数のレンズからなるレンズ群をカメラ61が備える構成であってもよい。
図5は、表示システム100を構成する各部の構成を示すブロック図である。
制御装置10は、プログラムを実行して制御装置10を制御するメインプロセッサー140を備える。メインプロセッサー140には、メモリー118及び不揮発性記憶部121が接続される。また、メインプロセッサー140には、入力装置としてトラックパッド14及び操作部110が接続される。また、メインプロセッサー140には、センサー類として、6軸センサー111、磁気センサー113、及び、GPS115が接続される。また、メインプロセッサー140には、通信部117、音声コーデック180、外部コネクター184、外部メモリーインターフェイス186、USBコネクター188、及び、無線通信部190が接続される。これらは外部とのインターフェイスとして機能する。
メインプロセッサー140は、制御装置10が内蔵するコントローラー基板120に実装される。コントローラー基板120には、メインプロセッサー140に加えて、メモリー118、不揮発性記憶部121等が実装されてもよい。本実施形態では、6軸センサー111、磁気センサー113、GPS115、通信部117、メモリー118、不揮発性記憶部121、音声コーデック180等がコントローラー基板120に実装される。また、外部コネクター184、外部メモリーインターフェイス186、及び、USBコネクター188をコントローラー基板120に実装した構成であってもよい。
メモリー118は、メインプロセッサー140がプログラムを実行する場合に、実行されるプログラム、及び、処理されるデータを一時的に記憶するワークエリアを構成する。不揮発性記憶部121は、フラッシュメモリーやeMMC(Embedded Multi Media Card)で構成される。不揮発性記憶部121は、メインプロセッサー140が実行するプログラムや、メインプロセッサー140がプログラムを実行して処理する各種データを記憶する。
メインプロセッサー140は、トラックパッド14から入力される操作信号に基づいて、トラックパッド14の操作面に対する接触操作を検出し、操作位置を取得する。
操作部110は、ボタン11、タッチセンサー13、およびLED表示部17を含む。タッチセンサー13は、制御装置10が有するタッチ操作部へのタッチ操作を検出する。ボタン11の操作が行われた場合、及び、タッチセンサー13がタッチ操作を検出した場合、操作部110からメインプロセッサー140に対し、操作信号が出力される。
LED表示部17は、LEDインジケーター12(図1)が備えるLED、及び、このLEDを点灯させる駆動回路を含む。LED表示部17は、メインプロセッサー140の制御に従って、LEDを点灯、点滅、消灯させる。また、LED表示部17は、LEDが発光する輝度を制御してもよい。また、LED表示部17は、赤、青、緑の3色のLEDを備える構成であってもよく、この場合、各色のLEDの輝度を調整することによって任意の色でLEDインジケーター12を発光させてもよい。
6軸センサー111は、3軸加速度センサー、及び、3軸ジャイロ(角速度)センサーを備えるモーションセンサー(慣性センサー)である。6軸センサー111は、上記のセンサーがモジュール化されたIMU(Inertial Measurement Unit)を採用してもよい。
磁気センサー113は、例えば、3軸の地磁気センサーである。磁気センサー113の地磁気の検出結果を利用すれば、地面を基準とする制御装置10の3次元的な向きを特定できる。
GPS(Global Positioning System)115は、図示しないGPSアンテナを備え、GPS衛星から送信される無線信号を受信して、制御装置10の現在位置の座標を検出する。
6軸センサー111、磁気センサー113及びGPS115は、検出値を、予め指定されたサンプリング周期に従ってメインプロセッサー140に出力する。或いは、6軸センサー111、磁気センサー113及びGPS115は、メインプロセッサー140の要求に応じて、メインプロセッサー140により指定されたタイミングで、検出値をメインプロセッサー140に出力する。
通信部117は、外部の機器との間で無線通信を実行する。通信部117は、アンテナ、RF回路、ベースバンド回路、通信制御回路等を備えて構成され、或いはこれらが統合されたデバイスで構成される。通信部117は、例えば、Bluetooth(登録商標)、無線LAN(Wi−Fi(登録商標)を含む)等の規格に準拠した無線通信を行う。例えば、制御装置10は、通信部117によってコンテンツサーバー(図示略)と通信を実行し、コンテンツサーバーから、映像や音声を含むコンテンツデータを取得する。また、通信部117は、通信ケーブルに接続され、有線通信回線を介して通信を実行する構成であってもよい。
音声インターフェイス182は、音声信号を入出力するインターフェイスである。表示システム100は、図示はしないが、使用者に対し音声を出力するヘッドホンやスピーカーを備える構成とすることができる。この場合、ヘッドホンやスピーカーが音声インターフェイス182に接続され、音声コーデック180は、音声インターフェイス182を介してヘッドホンやスピーカーに対し音声信号を出力する。また、音声インターフェイス182にマイク(図示略)を接続する構成としてもよい。この場合、音声インターフェイス182にはマイクから音声信号が入力される。音声コーデック180は、音声インターフェイス182を介して入力される音声信号をデジタル音声データに変換してメインプロセッサー140に出力する。
外部コネクター184は、メインプロセッサー140と通信する外部の装置を接続するコネクターである。外部コネクター184は、例えば、外部の装置をメインプロセッサー140に接続するインターフェイスである。外部コネクター184は、例えば、メインプロセッサー140が実行するプログラムのデバッグや、制御装置10、第1表示装置30、第2表示装置40等の動作のログの収集を行う場合に利用される。
外部メモリーインターフェイス186は、可搬型のメモリーデバイスを接続可能なインターフェイスであり、例えば、カード型記録媒体を装着してデータの読取が可能なメモリーカードスロットとインターフェイス回路とを含む。この場合のカード型記録媒体のサイズ、形状、規格は制限されず、適宜に変更可能である。
USB(Universal Serial Bus)コネクター188は、USB規格に準拠したコネクターとインターフェイス回路とを備え、USBメモリーデバイス、スマートフォン、コンピューター等を接続できる。USBコネクター188のサイズや形状、適合するUSB規格のバージョンは適宜に選択、変更可能である。
また、制御装置10は、バイブレーター19を備える。バイブレーター19は、モーター(図示略)、偏心した回転子(図示略)等を備え、メインプロセッサー140の制御に従って振動を発生する。制御装置10は、例えば、操作部110に対する操作を検出した場合、制御装置10の電源がオン/オフされる場合等に、所定の振動パターンでバイブレーター19により振動を発生する。
無線通信部190は、第1表示装置30及び第2表示装置40のそれぞれとの間で無線通信を実行する。無線通信部190は、アンテナ、RF回路、ベースバンド回路、通信制御回路等を備えて構成され、或いはこれらが統合されたデバイスで構成される。無線通信部190が実行する通信方式は、例えば、Bluetooth、無線LAN(Wi−Fiを含む)、或いはその他の近距離無線通信方式とすることができる。無線通信部190は、メインプロセッサー140の制御に従って、コンテンツデータを構成する映像データを、第1表示装置30と第2表示装置40のそれぞれに送信する。
無線通信部190は、第1表示装置30と通信する第1の通信モジュール、及び、第2表示装置40と通信する第2の通信モジュールを備える構成としてもよい。この場合、第1及び第2の通信モジュールのそれぞれが、アンテナ、RF回路、ベースバンド回路、通信制御回路等を備え、或いはこれらが統合されたデバイスを備える。
HMD20は、HMD20の状態を検出するための各種センサー、及び上述したカメラ61を備える。詳細には、カメラ61、照度センサー65、6軸センサー235、磁気センサー237を備える。また、HMD20はHMD20の動作状態を示すLEDインジケーター67を備える。これらの各部はHMD20に設けられていればよいので、第1表示装置30が備える構成としてもよいし、第2表示装置40が備える構成としてもよい。本実施形態では、第1表示装置30がカメラ61、照度センサー65及びLEDインジケーター67を備え、第2表示装置40が6軸センサー235、磁気センサー237及び温度センサー239を備える構成とする。これは一例であり、各センサー及び温度センサー68を第1表示装置30が備えるか第2表示装置40が備えるか、或いは第1表示装置30と第2表示装置40の両方が備えるかを、適宜に変更可能である。
第1表示装置30は、プログラムを実行して第1表示装置30を制御するプロセッサー31を備える。プロセッサー31には、不揮発性記憶部32が接続される。また、プロセッサー31には無線通信部33及び装置間通信部34が接続される。また、プロセッサー31には、OLEDユニット221が接続され、プロセッサー31はOLEDユニット221による画像の表示を制御する。また、プロセッサー31にはカメラ61、照度センサー65、LEDインジケーター67、及び温度センサー238が接続される。
不揮発性記憶部32は、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリー等の半導体記憶素子で構成される。不揮発性記憶部32は、プロセッサー31が実行するプログラムや、これらのプログラムの実行中に参照されるデータ等を不揮発的に記憶する。また、不揮発性記憶部32は、各種のデータをプロセッサー31が読み取り可能に記憶する。不揮発性記憶部32は、例えば、OLEDユニット221の発光特性や表示特性に関するデータ、第1表示装置30が備える各種センサーの特性に関するデータなどを記憶する。
無線通信部33は、制御装置10との間で無線通信を実行する。無線通信部33は、アンテナ、RF回路、ベースバンド回路、通信制御回路等を備えて構成され、或いはこれらが統合されたデバイスで構成される。無線通信部33は、無線通信部190と通信可能に構成される。無線通信部33が実行する通信方式は、無線通信部190が実行する通信方式の少なくとも一部と共通であり、例えば、Bluetooth、無線LAN(Wi−Fiを含む)、或いはその他の近距離無線通信方式とすることができる。無線通信部33は、プロセッサー31の制御に従って、無線通信部190が送信する映像データ、及び/または、制御データを受信する。
装置間通信部34は、第2表示装置40が備える装置間通信部44との間で無線通信を実行し、制御データを含む各種データを送受信する。装置間通信部34が実行する通信方式は、例えば、NFC(Near Field Communication)、Bluetooth、無線LAN(Wi−Fiを含む)、或いはその他の近距離無線通信方式とすることができる。
カメラ61は、プロセッサー31の制御に従って撮像を実行し、撮像画像データ、或いは、撮像結果を示す信号をプロセッサー31に出力する。
照度センサー65は、図1に示すように、前部フレーム27の端部ERに設けられ、HMD20を装着する使用者の前方からの外光を受光するよう配置される。照度センサー65は、受光量(受光強度)に対応する検出値を出力する。プロセッサー31は、照度センサー65の検出値を取得可能である。
LEDインジケーター67は、図1に示すように、前部フレーム27の端部ERにおいてカメラ61の近傍に配置される。LEDインジケーター67は、プロセッサー31の制御に従って点灯し、例えば、カメラ61による撮像を実行中に点灯して、撮像中であることを報知する。
温度センサー238は、温度を検出し、検出温度に対応する電圧値あるいは抵抗値を、検出値として出力する。温度センサー238は、OLEDパネル223(図3)の裏面側に実装される。温度センサー238は、例えばOLED駆動回路225と同一の基板に実装されてもよい。この構成により、温度センサー238は、主としてOLEDパネル223の温度を検出する。プロセッサー31は、温度センサー238の検出値を取得可能である。
プロセッサー31は、カメラ61、照度センサー65、及び温度センサー238の各センサーに対し、各センサーのサンプリング周期の設定及び初期化を行う。プロセッサー31は、カメラ61が生成する撮像画像データ、及び、照度センサー65、温度センサー238の検出値を、各センサーのサンプリング周期に合わせて取得する。また、プロセッサー31は、予め設定されたタイミングで、各センサーの検出値や撮像画像データを制御装置10に送信(出力)する。プロセッサー31が、各センサーの検出値や撮像画像データを、制御装置10に送信するタイミングに合わせて一時的に保持する機能を備えてもよい。これら撮像画像データや検出値は、例えば、プロセッサー31が内蔵するメモリー(図示略)に一時記憶してもよい。また、プロセッサー31は、各センサーの検出値の信号形式、或いはデータ形式の相違に対応し、統一されたデータ形式のデータに変換して、制御装置10に送信する機能を備えてもよい。また、プロセッサー31は、LEDインジケーター67への通電を開始及び停止させる機能を有する。プロセッサー31は、カメラ61が撮像を開始及び終了するタイミングに合わせて、LEDインジケーター67を点灯または点滅させる。
第2表示装置40は、プログラムを実行して第2表示装置40を制御するプロセッサー41を備える。プロセッサー41には、不揮発性記憶部42が接続される。また、プロセッサー41には無線通信部43及び装置間通信部44が接続される。また、プロセッサー41には、OLEDユニット241が接続され、プロセッサー41はOLEDユニット241による画像の表示を制御する。また、プロセッサー41には6軸センサー235、磁気センサー237、及び温度センサー239が接続される。
不揮発性記憶部42は、EEPROMやフラッシュメモリー等の半導体記憶素子で構成される。不揮発性記憶部42は、プロセッサー41が実行するプログラムや、これらのプログラムの実行中に参照されるデータ等を不揮発的に記憶する。また、不揮発性記憶部42は、各種のデータをプロセッサー41が読み取り可能に記憶する。不揮発性記憶部42は、例えば、OLEDユニット241の発光特性や表示特性に関するデータ、第2表示装置40が備える各種センサーの特性に関するデータなどを記憶する。
無線通信部43は、制御装置10との間で無線通信を実行する。無線通信部43は、アンテナ、RF回路、ベースバンド回路、通信制御回路等を備えて構成され、或いはこれらが統合されたデバイスで構成される。無線通信部43は、無線通信部190と通信可能に構成される。無線通信部43が実行する通信方式は、無線通信部190が実行する通信方式の少なくとも一部と共通であり、例えば、Bluetooth、無線LAN(Wi−Fiを含む)、或いはその他の近距離無線通信方式とすることができる。無線通信部43は、プロセッサー41の制御に従って、無線通信部190が送信する映像データ、及び/または、制御データを受信する。
装置間通信部44は、第1表示装置30が備える装置間通信部34との間で無線通信を実行し、制御データを含む各種データを送受信する。装置間通信部44が実行する通信方式は、装置間通信部34が実行する通信方式の少なくとも一部と共通であり、例えば、NFC、Bluetooth、無線LAN(Wi−Fiを含む)、或いはその他の近距離無線通信方式とすることができる。
6軸センサー235は、3軸加速度センサー、及び、3軸ジャイロ(角速度)センサーを備えるモーションセンサー(慣性センサー)である。6軸センサー235は、上記のセンサーがモジュール化されたIMU(Inertial Measurement Unit)を採用してもよい。
磁気センサー237は、例えば、3軸の地磁気センサーである。磁気センサー237の地磁気の検出結果を利用すれば、地面を基準とするHMD20の3次元的な向きを特定できる。
プロセッサー41は、6軸センサー235、及び、磁気センサー237の検出値を取得可能である。
温度センサー239は、温度を検出し、検出温度に対応する電圧値あるいは抵抗値を、検出値として出力する。温度センサー239は、OLEDパネル243(図2)の裏面側に実装される。温度センサー239は、例えばOLED駆動回路245と同一の基板に実装されてもよい。この構成により、温度センサー239は、主としてOLEDパネル243の温度を検出する。プロセッサー41は、温度センサー239の検出値を取得可能である。
また、温度センサー239が、OLEDパネル243或いはOLED駆動回路245に内蔵されてもよい。また、上記基板は半導体基板であってもよい。具体的には、OLEDパネル243が、Si−OLEDとして、OLED駆動回路245等とともに統合半導体チップ上の集積回路として実装される場合、この半導体チップに温度センサー239を実装してもよい。
プロセッサー41は、6軸センサー235、磁気センサー237、及び温度センサー239の各センサーに対し、各センサーのサンプリング周期の設定及び初期化を行う。プロセッサー41は、6軸センサー235、磁気センサー237、及び温度センサー239の検出値を、各センサーのサンプリング周期に合わせて取得する。また、プロセッサー41は、予め設定されたタイミングで、各センサーの検出値や撮像画像データを制御装置10に送信(出力)する。プロセッサー41が、各センサーの検出値や撮像画像データを、制御装置10に送信するタイミングに合わせて一時的に保持する機能を備えてもよい。これら撮像画像データや検出値は、例えば、プロセッサー41が内蔵するメモリー(図示略)に一時記憶してもよい。また、プロセッサー41は、各センサーの検出値の信号形式、或いはデータ形式の相違に対応し、統一されたデータ形式のデータに変換して、制御装置10に送信する機能を備えてもよい。
また、制御装置10は、電源部130を備え、電源部130から供給される電力により動作する。電源部130は充電可能なバッテリー132、及び、バッテリー132の残容量の検出およびバッテリー132への充電の制御を行う電源制御回路134を備える。電源制御回路134はメインプロセッサー140に接続され、バッテリー132の残容量の検出値、或いは電圧の検出値をメインプロセッサー140に出力する。また、電源部130から制御装置10の各部への電力の供給状態を、メインプロセッサー140が制御可能な構成としてもよい。
また、第1表示装置30及び第2表示装置40のそれぞれは、図示しないバッテリーを備える。第1表示装置30及び第2表示装置40は、それぞれ、バッテリーから各部へ電源を供給する。また、HMD20に1つのバッテリーを設け、この1つのバッテリーから第1表示装置30および第2表示装置40に電源を供給してもよい。
図6は、制御装置10の制御系を構成する記憶部122、及び制御部150の機能ブロック図である。図6に示す記憶部122は、不揮発性記憶部121(図5)により構成される論理的な記憶部である。また、制御部150、及び、制御部150が有する各種の機能部は、メインプロセッサー140がプログラムを実行することによって、ソフトウェアとハードウェアとの協働により形成される。制御部150、及び制御部150を構成する各機能部は、例えば、メインプロセッサー140、メモリー118、及び不揮発性記憶部121により構成される。
制御部150は、記憶部122が記憶するデータを利用して各種処理を実行し、制御装置10を制御する。
記憶部122は、制御部150が処理する各種のデータを記憶する。記憶部122は、設定データ123、コンテンツデータ125、検出データ127、及び表示制御データ129を記憶する。設定データ123は、制御装置10の動作に係る各種の設定値を含む。また、制御部150が制御装置10を制御する際にパラメーター、行列式、演算式、LUT(LookUp Table)等を用いる場合、これらを設定データ123に含めてもよい。
また、設定データ123は、制御装置10が第1表示装置30及び第2表示装置40との間で実行する通信に係る各種設定のデータを含む。この種のデータとしては、例えば、通信方式を指定するデータ、制御装置10、第1表示装置30及び第2表示装置40を識別する識別データ、パスワード等の認証データ等が挙げられる。
コンテンツデータ125は、制御部150の制御によって第1表示装置30及び第2表示装置40が表示する画像や映像を含むコンテンツのデータであり、映像データ(動画像であっても静止画像であってもよい)を含む。また、コンテンツデータ125は、音声データを含んでもよい。また、コンテンツデータ125は複数の画像の画像データを含んでもよい。これら複数の画像は、第1表示装置30及び第2表示装置40が同時に複数の画像を表示する態様に限定されず、例えば、第1表示装置30及び第2表示装置40が複数の画像を順に表示する態様であってもよい。
コンテンツデータ125は、コンテンツをHMD20により表示する際に、制御装置10によって使用者の操作を受け付けて、受け付けた操作に応じた処理を制御部150が実行する、双方向型のコンテンツであってもよい。この場合、コンテンツデータ125は、操作を受け付ける場合に表示するメニュー画面の画像データ、メニュー画面に含まれる項目に対応する処理等を定めるデータ等を含んでもよい。
また、制御部150は、記憶部122に記憶されるコンテンツデータ125がAR(Augmented Reality)コンテンツのデータである場合に、このコンテンツデータ125に基づきAR表示を行う構成であってもよい。AR表示では、右導光板26及び左導光板28を透過して使用者が視認する実空間の対象物に合わせて、いわゆるAR効果を奏する画像(以下、AR画像と呼ぶ)を表示する。AR表示を行うと、使用者には、実空間に存在する対象物を見ている状態で、対象物に重なる位置または対象物に対応する位置にAR画像が見える。このため、使用者にとっては、実空間の対象物に、文字や画像を含む仮想的な表示オブジェクトが付加されて視認できるため、あたかも現実を拡張するような効果がある。
検出データ127は、第1表示装置30及び第2表示装置40が備える各センサーの検出値(カメラ61の撮像画像データを含む)である。制御部150は、第1表示装置30または第2表示装置40から、センサーの検出値を含むデータを受信した場合に、センサーの検出値を検出データ127として記憶する。
表示制御データ129は、第1表示装置30及び第2表示装置40に映像データを送信する処理、及び、第1表示装置30及び第2表示装置40の表示を制御する処理に関する各種設定データを含む。例えば、表示制御データ129は、無線通信部190により第1表示装置30及び第2表示装置40に映像データを送信した送信結果のログを含む。また、例えば、表示制御データ129は、第1表示装置30及び第2表示装置40において後述する表示ずれが発生した場合に、制御部150が実行する処理を示すデータ等を含む。
制御部150は、オペレーティングシステム(OS)143、画像処理部145、表示制御部147、撮像制御部149、検出制御部151、及び、通信制御部153の機能を有する。オペレーティングシステム143の機能は、記憶部122が記憶する制御プログラムの機能であり、その他の各部は、オペレーティングシステム143上で実行されるアプリケーションプログラムの機能である。
画像処理部145は、コンテンツデータ125に基づいて、第1表示装置30及び第2表示装置40で処理可能なデータフォーマットを有する映像データを生成する。画像処理部145が生成する映像データは、OLEDユニット221、241の表示解像度や、右導光板26及び左導光板28と使用者の頭部との相対位置等に対応して加工されたデータである。画像処理部145は、必要に応じて、画像データの解像度を第1表示装置30及び第2表示装置40に適した解像度に変換する解像度変換処理を行ってもよい。また、画像処理部145は、画像データの輝度や彩度を調整する画像調整処理、3D画像データから2D画像データを作成し、或いは2D画像データから3D画像データを生成する2D/3D変換処理等を実行してもよい。
画像処理部145は、メインプロセッサー140がプログラムを実行して実現される構成に限らず、例えば、メインプロセッサー140とは別のハードウェア(例えば、DSP(Digital Signal Processor))で構成してもよい。
表示制御部147は、画像処理部145が処理した画像データに基づき第1表示装置30及び第2表示装置40における表示の開始、終了を指示する制御データを生成する。また、表示制御部147は、OLEDユニット221、241の表示輝度を指定する制御データを生成する。表示制御部147が生成する制御データは、通信制御部153の制御によって、無線通信部190から送信される。また、表示制御部147は、第1表示装置30及び第2表示装置40において表示ずれが発生した場合に、表示ずれを解消する動作を制御する。
撮像制御部149は、カメラ61による撮像実行を指示する制御データを生成する。この制御データは、通信制御部153の制御によって、無線通信部190から第1表示装置30に送信される。撮像制御部149は、第1表示装置30が送信するカメラ61の撮像画像データを無線通信部190が受信した場合、受信した撮像画像データを記憶部122に記憶する。
検出制御部151は、第1表示装置30及び第2表示装置40が備える各センサーの検出値の取得を指示する制御データを生成する。検出制御部151は、カメラ61を対象とする制御データを生成してもよいし、カメラ61以外のセンサーを対象とする制御データを生成してもよい。この制御データは、通信制御部153の制御によって、無線通信部190から第1表示装置30、第2表示装置40に送信される。撮像制御部149は、第1表示装置30及び第2表示装置40が送信する検出値を含むデータを無線通信部190が受信した場合、受信したデータを記憶部122に記憶する。
通信制御部153は、無線通信部190を制御して第1表示装置30及び第2表示装置40との間で通信を実行する。通信制御部153は、設定データ123に含まれる通信に関するデータに従って、無線通信部33、43のそれぞれとの間で無線通信回線を確立する。通信制御部153は、制御部150が生成する映像データ、制御データを第1表示装置30と第2表示装置40のいずれかまたは両方に送信する。また、通信制御部153は、第1表示装置30が送信する制御データを受信する処理、及び、第2表示装置40が送信する制御データを受信する処理を実行する。
図7は、第1表示装置30の制御系を構成する制御部310、記憶部330及び受信バッファー340の機能ブロック図である。図7に示す記憶部330は、不揮発性記憶部32(図5)により構成される論理的な記憶部である。受信バッファー340は、不揮発性記憶部32、及び/またはプロセッサー31が内蔵するメモリーで構成される論理的な記憶部である。制御部310、及び、制御部310が有する各種の機能部は、プロセッサー31がプログラムを実行することによって、ソフトウェアとハードウェアとの協働により形成される。
制御部310は、記憶部330が記憶するデータを利用して各種処理を実行し、第1表示装置30を制御する。
記憶部330は、制御部310が処理する各種のデータを記憶する。記憶部330は、設定データ331、検出データ333、表示制御データ335、ずれ補正設定データ337、及び補正指示データ339を記憶する。設定データ331は、第1表示装置30の動作に係る各種の設定値を含む。また、制御部310が第1表示装置30を制御する際にパラメーター、行列式、演算式、LUT等を用いる場合、これらを設定データ331に含めてもよい。
設定データ331は、第1表示装置30が制御装置10との間で実行する通信に係る各種設定のデータを含む。また、設定データ331は、装置間通信部34(図5)により第2表示装置40と通信を実行する場合に使用する各種データを含む。この種のデータとしては、例えば、通信方式を指定するデータ、制御装置10、第1表示装置30及び第2表示装置40を識別する識別データ、パスワード等の認証データ等が挙げられる。
検出データ333は、第1表示装置30が備える各センサーの検出値(カメラ61の撮像画像データを含む)である。制御部310は、カメラ61の撮像画像データ、照度センサー65及び温度センサー238の検出値を取得した場合、記憶部330に検出データ333として記憶する。
表示制御データ335は、制御装置10から受信する映像データを表示する処理に関する各種設定データを含む。例えば、表示制御データ335は、映像データを表示する場合のOLEDユニット221の制御に係るデータを含む。
ずれ補正設定データ337は、第1表示装置30及び第2表示装置40の間において後述する表示ずれが発生した場合に、制御部310が実行する処理を示すデータ等を含む。
補正指示データ339は、第1表示装置30と第2表示装置40との間に表示ずれが発生した場合に、第2表示装置40に対して送信する指示のデータである。
受信バッファー340は、第1表示装置30が制御装置10から受信した映像データ等を記憶する一時記憶領域である。受信バッファー340は、フレームデータ341と、フレーム識別情報343とを記憶する。フレームデータ341は、制御装置10から受信した映像データを構成するフレームのデータである。フレーム識別情報343は、制御装置10から受信した映像データを構成するそれぞれのフレームを識別する情報であり、制御装置10から映像データの各フレームに対応付けて送信される。受信バッファー340は、フレームデータ341と、フレーム識別情報343とを対応付けて格納する。
制御部310は、オペレーティングシステム(OS)311、画像処理部313、表示制御部315、検出制御部317、撮像制御部319、通信制御部321、及び、ずれ判定部323の機能を有する。オペレーティングシステム311の機能は、記憶部330が記憶する制御プログラムの機能であり、その他の各部は、オペレーティングシステム311上で実行されるアプリケーションプログラムの機能である。
画像処理部313は、受信バッファー340が記憶するフレームデータ341をOLEDユニット221により表示するための処理を実行し、OLEDユニット221による表示に適した映像データを生成する。
表示制御部315は、画像処理部313が生成した画像データに基づきOLEDユニット221を制御して、右導光板26に映像を表示させる。また、表示制御部315は、制御装置10から送信される制御データに従って、OLEDユニット221における輝度等を制御する。
また、表示制御部315は、画像処理部313が受信バッファー340から取得したフレームデータ341に対応するフレーム識別情報343を、受信バッファー340から取得する。
検出制御部317は、制御装置10から送信される制御データに従って、照度センサー65、及び温度センサー238の検出値を取得して、検出データ333として記憶する。
撮像制御部319は、制御装置10から送信される制御データに従って、カメラ61に撮像を実行させ、カメラ61が出力する撮像画像データを記憶部330に検出データ333として記憶する。
通信制御部321は、無線通信部33を制御して制御装置10との間で通信を実行する。通信制御部321は、制御装置10の無線通信部190が送信する制御データを受信する。また、通信制御部321は、制御装置10が送信する映像データを受信し、受信バッファー340に記憶する。受信バッファー340が記憶するフレームデータ341は、通信制御部321が受信した映像データを構成するフレームのデータであり、受信バッファー340は1または複数のフレームのデータを格納できる。通信制御部321は、受信した映像データをフレーム単位で受信バッファー340に格納する。
また、通信制御部321は、記憶部330が記憶する検出データ333を、無線通信部33により制御装置10に送信する。これにより、制御装置10は、第1表示装置30が備えるセンサーの検出値を取得できる。通信制御部321が検出データ333を送信するタイミング、送信するセンサーの検出値の種類等は、制御装置10が第1表示装置30に送信する制御データにより指定される。
また、通信制御部321は、装置間通信部34により第2表示装置40との間で、無線通信を実行し、各種制御データを送受信する。
ずれ判定部323は、第2表示装置40から送信される制御データに基づき、第2表示装置40が表示するフレームを特定する。ずれ判定部323は、表示制御部315が表示するフレームを特定し、第2表示装置40が表示するフレームとの間で表示ずれがあるか否かを判定する。ずれ判定部323は、表示ずれが発生したと判定した場合、表示ずれを補正するための処理を実行する。
図8は、第2表示装置40の制御系を構成する制御部410、記憶部430及び受信バッファー440の機能ブロック図である。図8に示す記憶部430は、不揮発性記憶部42(図5)により構成される論理的な記憶部である。受信バッファー440は、不揮発性記憶部42、及び/またはプロセッサー41が内蔵するメモリーで構成される論理的な記憶部である。制御部410、及び、制御部410が有する各種の機能部は、プロセッサー41がプログラムを実行することによって、ソフトウェアとハードウェアとの協働により形成される。制御部410、及び制御部410を構成する各機能部は、例えば、プロセッサー41及び不揮発性記憶部42により構成される。
制御部410は、記憶部430が記憶するデータを利用して各種処理を実行し、第2表示装置40を制御する。
記憶部430は、制御部410が処理する各種のデータを記憶する。記憶部430は、設定データ431、検出データ433、及び、表示制御データ435を記憶する。設定データ431は、第2表示装置40の動作に係る各種の設定値を含む。また、制御部410が第2表示装置40を制御する際にパラメーター、行列式、演算式、LUT等を用いる場合、これらを設定データ431に含めてもよい。
設定データ431は、制御装置10との間で実行する通信に係る各種設定のデータを含む。設定データ431は、装置間通信部44(図5)により第1表示装置30と通信を実行する場合に使用する各種データを含む。この種のデータとしては、例えば、通信方式を指定するデータ、制御装置10、第2表示装置40及び第2表示装置40を識別する識別データ、パスワード等の認証データ等が挙げられる。
検出データ433は、第2表示装置40が備える各センサーの検出値である。制御部410は、6軸センサー235、磁気センサー237、及び温度センサー239の検出値を取得した場合、記憶部430に検出データ433として記憶する。
表示制御データ435は、制御装置10から受信する映像データを表示する処理に関する各種設定データを含む。例えば、表示制御データ435は、映像データを表示する場合のOLEDユニット241の制御に係るデータを含む。また、表示制御データ435は、後述するように表示制御部415により表示されるフレームのフレーム識別情報443を含む。
受信バッファー440は、第2表示装置40が制御装置10から受信した映像データを記憶する一時記憶領域である。受信バッファー440は、フレームデータ441と、フレーム識別情報443とを記憶する。フレームデータ441は、制御装置10から受信した映像データを構成するフレームのデータである。フレーム識別情報443は、制御装置10から受信した映像データを構成するそれぞれのフレームを識別する情報であり、制御装置10から映像データの各フレームに対応付けて送信される。受信バッファー440は、フレームデータ441と、フレーム識別情報443とを対応付けて格納する。
制御部410は、オペレーティングシステム(OS)411、画像処理部413、表示制御部415、検出制御部417、及び、通信制御部421の機能を有する。オペレーティングシステム411の機能は、記憶部430が記憶する制御プログラムの機能であり、その他の各部は、オペレーティングシステム411上で実行されるアプリケーションプログラムの機能である。
画像処理部413は、受信バッファー440が記憶するフレームデータ441をOLEDユニット241により表示するための処理を実行し、OLEDユニット241による表示に適した映像データを生成する。
表示制御部415は、画像処理部413が生成した画像データに基づきOLEDユニット241を制御して、左導光板28に映像を表示させる。また、表示制御部415は、制御装置10から送信される制御データに従って、OLEDユニット241における輝度等を制御する。
また、表示制御部415は、画像処理部413が受信バッファー440から取得したフレームデータ441に対応するフレーム識別情報443を、受信バッファー440から取得する。表示制御部415は、取得したフレーム識別情報443を、表示制御データ435として記憶部430に記憶する。このフレーム識別情報443は、表示制御部415の制御によりOLEDユニット241が表示するフレームに対応する。
検出制御部417は、制御装置10から送信される制御データに従って、照度センサー65、及び温度センサー238の検出値を取得して、検出データ433として記憶する。
通信制御部421は、無線通信部43を制御して制御装置10との間で通信を実行する。通信制御部421は、制御装置10の無線通信部190が送信する制御データを受信する。また、通信制御部421は、制御装置10が送信する映像データを受信し、受信バッファー440に記憶する。また、通信制御部421は、記憶部430が記憶する検出データ433を、無線通信部43により制御装置10に送信する。
また、通信制御部421は、装置間通信部44により装置間通信部34との間で無線通信を実行し、第1表示装置30に対する制御データの送信等を行う。例えば、通信制御部421は、表示制御データ435に含まれるフレーム識別情報443を、第1表示装置30に送信する。
図9は、表示システム100の動作と表示ずれを模式的に示す説明図である。図9において、符号V3は第1表示装置30が画像を表示する表示領域を指し、例えば、ハーフミラー261(図3)により画像が表示される領域に相当する。符号V4は第2表示装置40が画像を表示する表示領域を指し、例えば、ハーフミラー281(図3)により画像が表示される領域に相当する。
図9に示すように,制御装置10は、第1表示装置30と第2表示装置40のそれぞれに対し、映像データを送信する。制御装置10が送信する映像データは、複数のフレームで構成される。例えば、制御装置10が、30FPS(Frames Per Second)の映像データを送信する場合、1秒あたり30フレームの映像データが送信される。制御装置10は、第1表示装置30及び第2表示装置40のそれぞれに対してフレーム単位で映像データを送信する。図9には、制御装置10が1フレームずつ送信を行う例を示すが、複数のフレームをまとめて制御装置10が送信することも勿論可能である。
第1表示装置30及び第2表示装置40のそれぞれは、制御装置10が送信する映像データをフレーム単位で受信する。第1表示装置30は、制御装置10から受信する映像データをフレーム単位で受信バッファー340(図7)にフレームデータ341として記憶する。また、第2表示装置40は、制御装置10から受信する映像データを、受信バッファー440(図8)にフレームデータ441として記憶する。
制御装置10は、第1表示装置30及び第2表示装置40のそれぞれに対し、映像データのフレームと、フレームを識別するフレーム識別情報とを対応付けて送信する。図9の例では、制御装置10は、フレーム1、フレーム2、フレーム3、…を順次送信する。フレーム1のフレーム識別情報は「01」であり、フレーム2のフレーム識別情報は「02」である。フレーム識別情報は、それぞれのフレームを特定可能な情報であり、制御装置10が記憶するコンテンツデータ125に予め付与されていてもよいし、制御装置10が付与してもよい。また、図9のフレーム識別情報は連続する番号であるが、この例に限定されず、それぞれのフレームを識別できる態様のデータであればよい。フレーム識別情報は、それぞれのフレームを、少なくとも前後10フレーム以内の他のフレームと区別できればよい。好ましくは20フレーム、或いは1秒間に表示される複数のフレームの中で、他のフレームと区別できる情報であればよい。従って、フレーム識別情報は、全てのフレームに固有の情報であってもよいが、予め設定された数のフレーム識別情報が、循環して付与されてもよい。例えば、30FPSで制御装置10がフレームを送信する場合、互いに異なる30個のフレーム識別情報を循環して各フレームに付与する構成であってもよい。
制御装置101は、フレーム識別情報を、映像データの各フレームのデータが有する垂直同期信号(Vsync)に付加して送信してもよい。また、垂直同期信号を符号化して、垂直同期信号にフレーム識別情報を含ませてもよい。この場合、垂直同期信号を、フレーム識別情報を伝送する信号と兼ねて利用できる。
第1表示装置30の制御部310は、制御装置10が送信する映像データを受信してフレーム単位でフレームデータ341として受信バッファー340に格納し、受信したフレームのフレーム識別情報をフレーム識別情報343として格納する。受信バッファー340に格納されるフレームデータ341とフレーム識別情報343とは、制御装置10が映像データを送信したときの対応付けを維持して、対応付けられる。
制御部310は、受信バッファー340に格納したフレームデータ341を、受信した順に、フレーム単位で読み出してOLEDユニット221により表示する。この際、制御部310は、OLEDユニット221により表示するフレームのフレーム識別情報343を受信バッファー340から取得する。このため、制御部310は、表示中のフレームのフレーム識別情報を特定できる。
第2表示装置40の制御部410は、制御装置10が送信する映像データを受信してフレーム単位でフレームデータ441として受信バッファー440に格納し、受信したフレームのフレーム識別情報をフレーム識別情報443として格納する。受信バッファー440に格納されるフレームデータ441とフレーム識別情報443とは、制御装置10が映像データを送信したときの対応付けを維持して、対応付けられる。
制御部410は、受信バッファー440に格納したフレームデータ441を、受信した順に、フレーム単位で読み出してOLEDユニット241により表示する。この際、制御部410は、OLEDユニット241により表示するフレームのフレーム識別情報443を受信バッファー440から取得する。このため、制御部410は、表示中のフレームのフレーム識別情報を特定できる。
第1表示装置30及び第2表示装置40に対し、制御装置10は同じ映像データのフレームを送信する。制御装置10が第1表示装置30にフレームを送信するタイミングと、第2表示装置40にフレームを送信するタイミングとは同期が図られる。このため、第1表示装置30及び第2表示装置40は、制御装置10が送信した同じフレームを、同じタイミングで表示する。これにより、使用の右眼RE及び左眼LEに同じフレームが視認される。
第1表示装置30と第2表示装置40との間で、表示ずれが発生することがある。表示ずれは、例えば、図9に示すように、第1表示装置30が表示領域V3に表示するフレームと、第2表示装置40が表示領域V4に表示するフレームとがずれる現象である。図9には、表示領域V3にフレーム3が表示されたタイミングで、表示領域V4に、フレーム3よりも前に制御装置10が送信したフレーム1が表示された例を示す。この場合、使用者の右眼REと左眼LEに異なるフレームが視認されるため、使用者の違和感が喚起される。
表示ずれの要因は、例えば、第1表示装置30及び第2表示装置40のいずれか一方が、制御装置10が送信するフレームの受信に失敗したことが挙げられる。この現象は、制御装置10と第1表示装置30との間の通信状態、及び、制御装置10と第2表示装置40との間の通信状態に著しい差がある場合に、起こり得る。別の要因としては、第1表示装置30及び第2表示装置40のいずれかにおいて、映像データの処理の失敗、或いは処理の遅延により、表示タイミングが遅れることが挙げられる。
表示システム100は、第1表示装置30と第2表示装置40との間で表示ずれが発生した場合に、表示ずれを補正し、第1表示装置30と第2表示装置40とが同じフレームを表示する状態に移行する、ずれ補正処理を行うことができる。
ずれ補正処理では、第1表示装置30が表示するフレームのフレーム識別情報と、第2表示装置40が表示するフレームのフレーム識別情報とを照合することにより、表示ずれを検出する。表示ずれが検出された場合には、表示ずれにより使用者の違和感が喚起されないように、表示ずれに対応する処理が行われる。
本実施形態では、表示ずれを検出する処理を第1表示装置30が実行する例を説明する。また、表示ずれに対応する処理を、第1表示装置30の制御によって第1表示装置30および第2表示装置40が実行する例を説明する。第1表示装置30が表示ずれを検出する処理を実行するため、第2表示装置40は、制御装置10から送信される映像データを受信して表示する場合に、表示するフレームのフレーム識別情報を第1表示装置30に送信する。第1表示装置30は、第2表示装置40から受信するフレーム識別情報を用いて表示ずれを検出する。
以下、表示システム100における表示ずれの検出、および、表示ずれに対応する処理を詳細に説明する。
図10は、第1実施形態における制御装置10の動作を示すフローチャートである。
制御装置10の制御部150は、操作部110によってコンテンツデータ125の送信の指示を受け付けたことを検出すると(ステップS11)、この指示により指定されたコンテンツデータ125を記憶部122から読み出す(ステップS12)。制御部150は、記憶部122から読み出したコンテンツデータ125の映像データに対し、各フレームにフレーム識別情報を付加する処理を行い、フレームのデータとフレーム識別情報とを、送信する(ステップS13)。ステップS13で、制御部150は、第1表示装置30と第2表示装置40のそれぞれにフレームのデータとフレーム識別情報とを送信する。好ましくは、制御部150は、第1表示装置30に対しデータを送信するタイミングと、第2表示装置40に対しデータを送信するタイミングとを同期させる。通信環境が好適な条件では、第1表示装置30および第2表示装置40は、制御装置10から、同じフレーム識別情報が付加されたフレームのデータを、同時、或いはほぼ同時とみなせる程度の時間差で、受信する。
制御部150は、指定されたコンテンツデータ125を構成する全てのフレームの送信が完了したか否かを判定し(ステップS14)、送信が完了しない間は(ステップS14;No)、ステップS13を実行する。送信が完了した場合(ステップS14;Yes)、制御部150は、第1表示装置30および第2表示装置40に対してコンテンツデータ125の送信完了を通知する制御データを送信し(ステップS15)、本処理を終了する。
図11は、第1表示装置30の動作を示すフローチャートである。
第1表示装置30の制御部310は、制御装置10が送信する制御データに従って、制御装置10が送信する映像データの受信を開始する(ステップS21)。制御部310は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、受信バッファー340に格納する処理を開始する(ステップS22)。
制御部310は、受信バッファー340からフレームデータ341、およびフレームデータ341に対応するフレーム識別情報343を読み出し(ステップS23)、読み出したフレームデータに基づき画像を表示する(ステップS24)。ここで、受信バッファー340が複数のフレームのデータを記憶している場合、制御部310は、表示されていないフレームのうち最も古いフレームから順に読み出す。つまり、制御部310は、制御装置10から受信した順にフレームのデータを読み出して表示する。
また、制御部310は、ステップS23で読み出したフレーム識別情報を、記憶部330または図示しないRAMに一時的に記憶する(ステップS25)。
制御部310は、第2表示装置40からフレーム識別情報を受信したか否かを判定する(ステップS26)。
フレーム識別情報を受信した場合(ステップS26;Yes)、制御部310は、受信したフレーム識別情報に基づき、表示ずれを検出する(ステップS27)。具体的には、制御部310は、第2表示装置40から受信したフレーム識別情報と、ステップS25で一時記憶したフレーム識別情報とを比較する。制御部310は、フレーム識別情報が一致するか否かに基づき、第1表示装置30が表示するフレームと第2表示装置40が表示するフレームとがずれているか否かを判定する。また、ステップS27で、制御部310は、フレーム識別情報を比較することにより、ずれているフレーム数を算出する処理を行う。
つまり、本実施形態では、装置間通信部34と、装置間通信部44とが通信を実行することにより、OLEDユニット221、241が表示するフレームのずれを検出する構成の具体例として、制御部310が検出を行う例を示す。この例では、第2表示装置40から第1表示装置30に情報を送信し、第1表示装置30がずれを検出する。具体的には、制御部410が装置間通信部44を制御して、OLEDユニット241が表示するフレームのフレーム識別情報を第1表示装置30に送信する。第1表示装置30は、装置間通信部34により、第2表示装置40が送信するフレーム識別情報を受信して、制御部310が、OLEDユニット221が表示するフレームのフレーム識別情報と比較する。
別の例として、第1表示装置30が第2表示装置40にフレーム識別情報を送信し、制御部410がフレーム識別情報を比較して、表示ずれを検出してもよい。また、フレーム識別情報を比較する処理は、表示ずれを検出する処理の一例であり、例えば、OLEDユニット221がフレームを表示するタイミングとOLEDユニット241がフレームを表示するタイミングとのずれを、装置間通信部34と装置間通信部44とが相互に通信することで検出してもよい。具体的には、予め設定されたフレーム識別情報を有するフレームをOLEDユニット221が表示するタイミングと、OLEDユニット241が表示するタイミングとの差を検出することにより、表示のずれを検出してもよい。
フレーム識別情報が一致し、表示ずれがないと判定した場合(ステップS28;No)、制御部310は後述するステップS33に移行する。また、フレーム識別情報が一致しない場合、制御部310は表示ずれがあると判定し(ステップS28;Yes)、表示ずれ補正処理を実行するよう設定する(ステップS29)。ステップS29で、制御部310は、表示ずれを補正するために実行する処理の内容と、補正するフレーム数とを設定する。
表示システム100で実行される表示ずれ補正処理は、例えば、4通りの方法を用いることができる。これら4通りの表示ずれ補正処理のうちいずれかを実行するよう、制御部310に予め設定されてもよい。また、制御部310の制御により、4通りの表示ずれ補正処理のうち複数の表示ずれ補正処理を実行可能な構成としてもよい。この場合、制御部310が実行する表示ずれ補正処理の種類を設定できるようにしてもよいし、予め選択された種類の表示ずれ補正処理を実行するようにしてもよい。
表示ずれが発生した場合、第1表示装置30及び第2表示装置40のいずれか一方の装置が表示するフレームが、他方の装置が表示するフレームよりも、制御装置10が先に送信したフレーム、すなわち古いフレームである。以下の説明では、第2表示装置40が表示するフレームが、第1表示装置30が表示するフレームよりも古い場合を例にする。つまり、第2表示装置40がフレームを表示する処理が、第1表示装置30よりも遅れている場合を例示する。この例では、第1表示装置30を、表示するフレームが先行する側の装置と呼び、第2表示装置40を、表示するフレームが遅れた装置と呼ぶこともできる。勿論、表示システム100においては逆の表示ずれが発生することもあり得るし、この表示ずれを補正することも可能である。
表示ずれ補正処理の具体的な方法は、例えば次の(1)〜(4)である。
(1)第2表示装置40の表示をリセットして、第2表示装置40を、制御装置10から受信する最新のフレームを表示する状態に移行させる。
(2)第2表示装置40の表示を停止させる。
(3)第2表示装置40が表示するフレームが順に切り替わる間、第1表示装置30が同じフレームを複数回表示する。
(4)第2表示装置40が表示するフレームが順に切り替わる間、第1表示装置30の表示を一時的に停止させる。
上記(1)については図13を参照して後述する。(2)については図14を、(3)については図15を、(4)については図16を参照して後述する。
制御部310は、表示ずれ補正処理について設定を行い(ステップS29)、設定した表示ずれ補正処理において、第2表示装置40に対して指示を送信するか否かを判定する(ステップS30)。例えば、上述した(1)、(2)の方法で表示ずれ補正処理を実行する場合、制御部310は第2表示装置40に対し、指示を送信する。
第2表示装置40に対して指示を送信する場合(ステップS30;Yes)、制御部310は補正に係る指示を示す制御データを第2表示装置40に送信し(ステップS31)、ステップS32に移行する。また、第2表示装置40に対して指示を送信しない場合(ステップS30;No)、制御部310はステップS32に移行する。
ステップS32において、制御部310は、ステップS29で設定した表示ずれ補正処理を実行し(ステップS32)、ステップS33に移行する。
ステップS33において、制御部310は、表示を終了するか否かを判定する(ステップS33)。制御部310は、制御装置10が映像データの送信を終了する、制御装置10からの制御データにより表示停止が指示される等、表示を完了する条件が成立した場合(ステップS33;Yes)、本処理を終了する。
また、表示を完了しない場合(ステップS33;No)、制御部310はステップS23に戻る。
図12は、第2表示装置40の動作を示すフローチャートである。
第2表示装置40の制御部410は、制御装置10が送信する制御データに従って、制御装置10が送信する映像データの受信を開始する(ステップS41)。制御部410は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、受信バッファー440に格納する処理を開始する(ステップS42)。
制御部410は、受信バッファー440からフレームデータ441、およびフレームデータ441に対応するフレーム識別情報443を読み出し(ステップS43)、読み出したフレームデータに基づき画像を表示する(ステップS44)。ここで、受信バッファー440が複数のフレームのデータを記憶している場合、制御部410は、表示されていないフレームのうち最も古いフレームから順に読み出す。つまり、制御部410は、制御装置10から受信した順にフレームのデータを読み出して表示する。
また、制御部410は、ステップS43で読み出したフレーム識別情報を、第1表示装置30に送信する(ステップS45)。
ここで、制御部410は、第1表示装置30から表示ずれ補正処理に関する指示を示す制御データを受信したか否かを判定する(ステップS46)。
指示を受信した場合(ステップS46;Yes)、制御部410は、受信した指示に従って表示ずれ補正処理を実行し(ステップS47)。ステップS48に移行する。ステップS47で実行する表示ずれ補正処理の具体的内容は、図13〜図16を参照して後述する。
第1表示装置30から指示を受信しない場合(ステップS46;No)、制御部410はステップS48に移行する。
ステップS48において、制御部410は、表示を終了するか否かを判定する(ステップS48)。制御部410は、制御装置10が映像データの送信を終了する、制御装置10からの制御データにより表示停止が指示される等、表示を完了する条件が成立した場合(ステップS48;Yes)、本処理を終了する。また、表示を完了しない場合(ステップS48;No)、制御部410はステップS43に戻る。
図13は、表示ずれ補正処理に関する表示システム100の動作を示すシーケンス図である。詳細には、上記(1)の方法により表示ずれ補正処理を実行する例を示す。上述したように、以後の説明では第2表示装置40の表示が遅れる形の表示ずれが発生した場合の動作を例として説明する。
制御装置10は、第1表示装置30に対して映像データを送信する処理(ステップt1)、及び、第2表示装置40に対し映像データを送信する処理(ステップt2)を実行する。この2つの処理は図9に示したように同期して実行され、第1表示装置30及び第2表示装置40には、同じタイミング、或いはほぼ同時と見なすことができるタイミングで映像データのフレームが送信される。
第1表示装置30は、制御装置10から受信した映像データをフレーム単位で表示し(ステップt3)、第2表示装置40は、制御装置10から受信した映像データをフレーム単位で表示する(ステップt4)。また、第2表示装置40は、映像データのフレームを表示する際に、フレーム識別情報を第1表示装置30に送信し(ステップt5)、第1表示装置30は表示ずれを検出する処理を行う(ステップt6)。以上の動作は図10〜図12を参照して説明した通りである。
図13の例では、制御部310が、第2表示装置40に対してリセットを指示する制御データを送信する(ステップt7)。制御部410は、第1表示装置30からリセットを指示する制御データを受信した場合、データリセットを実行し、受信バッファー440に記憶するフレームデータ441を消去する(ステップt8)。データリセットにおいて、制御部410は、受信バッファー440が記憶するフレーム識別情報443を消去してもよい。また、データリセットにおいて、制御部410は、表示中のフレームを消去して表示を一時停止してもよい。
このデータリセットを行うことにより、制御部410は、次に制御装置10から受信するフレームを受信バッファー440に格納し、このフレームのデータを表示する。このため、第2表示装置40が第1表示装置30よりも表示が遅れる状態を解消し、表示ずれを補正できる。
図14は、表示ずれ補正処理に関する表示システム100の動作を示すシーケンス図である。詳細には、上記(2)の方法により表示ずれ補正処理を実行する例を示す。なお、図13に示した動作と同じ処理については、同ステップ番号を付す。
制御装置10は、第1表示装置30に対して映像データを送信する処理(ステップt1)、及び、第2表示装置40に対し映像データを送信する処理(ステップt2)を実行する。第1表示装置30は、制御装置10から受信した映像データをフレーム単位で表示し(ステップt3)、第2表示装置40は、制御装置10から受信した映像データをフレーム単位で表示する(ステップt4)。また、第2表示装置40は、映像データのフレームを表示する際に、フレーム識別情報を第1表示装置30に送信し(ステップt5)、第1表示装置30は表示ずれを検出する処理を行う(ステップt6)。
図14の例では、制御部310が、第2表示装置40に対して表示停止を指示する制御データを送信する(ステップt11)。制御部410は、第1表示装置30から表示停止を指示する制御データを受信した場合、表示中のフレームを消去して表示を停止する(ステップt12)。これにより、OLEDユニット241(図5)は何も表示しない状態となる。HMD20を装着する使用者には、右眼REに対しOLEDユニット221により画像が表示される一方、左眼LEには表示画像が視認されない。
HMD20では右眼REと左眼LEに対し、第1表示装置30及び第2表示装置40のそれぞれが画像を視認させるため、表示ずれが発生すると、使用者が強い違和感を抱く。この場合、OLEDユニット221、241のいずれかの表示を停止させれば、使用者は右眼REか左眼LEの片側で画像を視認するので、左右の表示の不整合により使用者が違和感を抱くことは回避できる。また、HMD20では、OLEDユニット241の表示を停止させた場合、左眼LEには、左導光板28を透過する外光OLにより、外景が視認される。この外景は、当然ではあるが、右眼REが右導光板26を透過する外光OLで視認する外景と整合する。従って、OLEDユニット241が表示を停止することにより使用に違和感を与える可能性は低い。
図15は、表示ずれ補正処理に関する表示システム100の動作を示すシーケンス図である。詳細には、上記(3)の方法により表示ずれ補正処理を実行する例を示す。
ステップt1〜t6の動作は、図13、図14に示した動作と同じ処理であるため説明を省略する。
図15の例では、制御部310の制御により、第1表示装置30が、フレームを繰り返し表示する。例えば、第2表示装置40が、第1表示装置30よりも5フレーム遅れて表示を行う場合(ずれ量が5フレームである場合)、第1表示装置30は、5フレーム分の繰り返し表示を行う。具体的には、1つのフレームを表示した後、このフレームの表示を、5回、繰り返す。この場合、1フレームを6回表示するので、5フレーム分のずれを解消できる。
図15において、制御部310は、ステップt6で検出したずれ量、すなわち表示がずれているフレーム数に対応して、表示の繰り返し回数を算出して設定する(ステップt21)。繰り返し回数を設定する処理で、制御部310は、複数のフレームの繰り返し回数を設定してもよい。例えば、1つのフレームの繰り返し回数を2回とし、次のフレームの繰り返し回数を3回とすれば、合わせて5フレームの表示ずれを補正できる。
制御部310は、ステップt21で設定した回数だけ、フレームの表示を繰り返し実行する(ステップt22)。ステップt22で、制御部310は、例えば、受信バッファー340から1つのフレームデータ341を繰り返して読み出し、表示する処理を実行する。この場合、制御部310は、繰り返しを行わない場合と同じように、受信バッファー440からフレームのデータを読み出す処理を実行すれば良いので、表示ずれ補正処理を簡易化できるという利点がある。
図16は、表示ずれ補正処理に関する表示システム100の動作を示すシーケンス図である。詳細には、上記(4)の方法により表示ずれ補正処理を実行する例を示す。
ステップt1〜t6の動作は、図13〜図15に示した動作と同じ処理であるため説明を省略する。
図16の例では、制御部310の制御により、第1表示装置30が表示を一時的に停止する。停止中、第1表示装置30は、OLEDユニット221による表示を行わないので、OLEDユニット221が表示する画像がない。つまり、使用者の右眼REには画像が視認されない状態となる。表示を一時停止する期間は、表示ずれのずれ量に対応して制御部310が設定する。例えば、第2表示装置40が、第1表示装置30よりも5フレーム遅れて表示を行う場合(ずれ量が5フレームである場合)、第1表示装置30は、5フレームの表示期間に相当する時間、表示を停止する。
図16において、制御部310は、ステップt6で検出したずれ量、すなわち表示がずれているフレーム数に対応して、一時停止する期間を算出する(ステップt31)。制御部310は、ステップt31で算出した期間だけ、OLEDユニット221による表示を停止する(ステップt32)。表示を停止する期間が経過した後、制御部310は、受信バッファー340からフレームデータ341を読み出して表示する処理を再開する。なお、制御部310は、表示を一時停止する間も、制御装置10から受信する映像データのフレーム及びフレーム識別情報を受信バッファー340に格納する。第1表示装置30は、受信バッファー340に、一時停止用の画像データ(例えば、黒一色の画像)を格納し、一時停止中に、制御部310が一時停止用の画像データを受信バッファー340から読み出して表示してもよい。この場合、制御部310は、一時停止中も受信バッファー340からデータを読み出して表示する処理を実行すれば良いので、表示ずれ補正処理を簡易化できるという利点がある。
以上説明したように、本発明を適用した実施形態の表示システム100は、映像データを送信する制御装置10と、制御装置10が送信する映像データに基づき映像を表示する第1表示装置30及び第2表示装置40と、を有する。制御装置10は、連続するフレームで構成される映像データを第1表示装置30および第2表示装置40に無線送信する無線通信部190を備える。第1表示装置30は、制御装置10が送信する映像データを受信する無線通信部33と、無線通信部33で受信する映像データに基づき映像を表示するOLEDユニット221と、第2表示装置40と通信する装置間通信部34と、を備える。第2表示装置40は、制御装置10が送信する映像データを受信する無線通信部43と、無線通信部43で受信する映像データに基づき映像を表示するOLEDユニット241と、第1表示装置30と通信する装置間通信部44と、を備える。第1表示装置30が備える装置間通信部34と第2表示装置40が備える装置間通信部44とが通信を実行することにより、OLEDユニット221が表示する映像とOLEDユニット241が表示する映像とのずれを検出する。
これにより、制御装置10から、HMD20が備える複数の表示装置である第1表示装置30及び第2表示装置40に映像データを送信する場合に、第1表示装置30及び第2表示装置40における映像のずれを検出できる。このため、例えば、映像を表示するタイミングのずれを検出できるので、この種のずれに対する対策を施すことで、複数の表示装置が表示する映像の整合を図ることができる。
表示システム100において、制御装置10は、フレームで構成される映像データを送信する。第1表示装置30は、無線通信部33で受信する映像データに基づき、フレームを単位としてOLEDユニット221により映像を表示する。第2表示装置40は、無線通信部43で受信する映像データに基づき、フレームを単位としてOLEDユニット241により映像を表示する。そして、装置間通信部34と装置間通信部44とが通信を実行することにより、OLEDユニット221が表示するフレームとOLEDユニット241が表示するフレームとのずれを検出する。これにより、HMD20が備える複数の表示装置である第1表示装置30及び第2表示装置40が表示するフレームのずれを検出できる。このため、複数の表示装置が表示する映像の表示タイミングを整合させることができる。
また、制御装置10は、映像データと、映像データの各々のフレームを識別するフレーム識別情報とを送信する。第1表示装置30及び第2表示装置40は、装置間通信部34と装置間通信部44とが通信を実行する。これにより、OLEDユニット221が表示するフレームのフレーム識別情報とOLEDユニット241が表示するフレームのフレーム識別情報とを比較して、ずれを検出する。従って、制御装置10が送信するフレームが識別可能であるため、より正確に、複数の表示装置が表示するフレームのずれを検出できる。
また、第2表示装置40は、装置間通信部44によりOLEDユニット241が表示するフレームのフレーム識別情報を含むデータを第1表示装置30に送信する。第1表示装置30は、第2表示装置40が送信するデータを装置間通信部34により受信し、装置間通信部34で受信したデータに含まれるフレーム識別情報をOLEDユニット221が表示するフレームのフレーム識別情報と比較してずれを検出する。これにより、第1表示装置30において、第1表示装置30が表示するフレームと第2表示装置40が表示するフレームのずれを確実に検出できる。
表示システム100では、OLEDユニット221が表示するフレームが、OLEDユニット241が表示するフレームよりも後に制御装置10が送信したフレームである場合、表示ずれ補正処理を実行する。
表示システム100は、上述した(1)の方法により、第2表示装置40において、無線通信部43で受信したフレームの表示をリセットしてもよい。この場合、第2表示装置40は、次に無線通信部43で受信するフレームをOLEDユニット221で表示する。つまり、第1表示装置30が表示するフレームと第2表示装置40が表示するフレームとのずれがある場合に、古いフレームを表示する側の表示装置、すなわち表示が遅れた側の表示装置である第2表示装置40をリセットする。これにより、第1表示装置30と第2表示装置40との間の表示ずれを解消できる。
また、表示システム100は、上述した(2)の方法により、第2表示装置40において、OLEDユニット241の表示を停止してもよい。この場合、第1表示装置30と第2表示装置40の表示ずれが発生した場合に、古いフレームを表示する側の表示装置、すなわち表示が遅れた側の表示装置の表示を停止する。これにより、第1表示装置30と第2表示装置40が、フレームがずれた状態で表示を継続する状態を回避できる。
また、第1表示装置30は、無線通信部33で受信するフレームを記憶する受信バッファー340を備えてもよい。この場合、表示システム100は、上述した(3)の方法により、第1表示装置30において、受信バッファー340に記憶したフレームをOLEDユニット221によって複数回表示してもよい。この場合、第1表示装置30及び第2表示装置40の表示ずれが発生した場合に、新しいフレームを表示する側の表示装置、すなわち表示が進んだ側の表示装置である第1表示装置30が同じフレームを複数回表示する。これにより、表示するフレームの進みを解消して、第1表示装置30と第2表示装置40との間の表示ずれを解消できる。
また、表示システム100は、上述した(4)の方法により、第1表示装置30において、OLEDユニット221による表示を、所定数のフレームを表示する時間に相当する時間だけ停止してもよい。その後、第1表示装置30は、受信バッファー340に記憶したフレームをOLEDユニット221により表示する。この場合、第1表示装置30及び第2表示装置40の表示ずれが発生した場合に、新しいフレームを表示する側の表示装置、すなわち表示が進んだ側の表示装置である第1表示装置30が表示を停止して、表示するフレームの進みを解消する。これにより、第1表示装置30と第2表示装置40との間の表示ずれを解消できる。
また、第1表示装置30は、無線通信部33と、OLEDユニット221と、装置間通信部34と、制御部310とを備える。第1表示装置30は、無線通信部33により、制御装置10から無線送信される映像データを受信する。第1表示装置30は、OLEDユニット221により、無線通信部33で受信する映像データに基づき映像を表示する。第1表示装置30は、装置間通信部34により、第2表示装置40と通信する。第1表示装置30は、制御部310により、装置間通信部34により第2表示装置40と通信を実行して、OLEDユニット221が表示する映像と第2表示装置40が表示する映像とのずれを検出する。この構成により、第1表示装置30が表示する映像と、第2表示装置40が表示する映像とのずれを第1表示装置30が検出できる。このため、例えば、映像を表示するタイミングのずれを検出できるので、この種のずれに対する対策を施すことで、第1表示装置30及び第2表示装置40が表示する映像の整合を図ることができる。
第1表示装置30は、OLEDユニット221により、無線通信部33で受信する映像データに基づく画像をフレーム単位で表示する。制御部310は、OLEDユニット221が表示するフレームと第2表示装置40が表示するフレームとのずれを検出する。この構成によれば、表示装置が表示するフレームと第2表示装置40が表示するフレームとのずれを検出できる。このため、第1表示装置30及び第2表示装置40が表示する映像の表示タイミングを整合させることができる。
また、第1表示装置30は、無線通信部33により、映像データに含まれる各々のフレームを識別するフレーム識別情報を受信する。これにより、表示装置が受信して表示するフレームが識別可能であるため、より正確に、第1表示装置30及び第2表示装置40が表示するフレームのずれを検出できる。
また、制御部310は、OLEDユニット221により表示するフレームのフレーム識別情報と第2表示装置40が表示するフレームのフレーム識別情報とを比較することにより、ずれを検出する。この構成によれば、制御装置10が送信するフレームが識別可能であるため、より正確に、第1表示装置30及び第2表示装置40が表示するフレームのずれを検出できる。
また、第1表示装置30は、装置間通信部34により、第2表示装置40が表示するフレームのフレーム識別情報を受信する。制御部310は、装置間通信部34により受信した第2表示装置40が表示するフレームのフレーム識別情報を、OLEDユニット221が表示するフレームのフレーム識別情報と比較することにより、ずれを検出する。この構成によれば、第1表示装置30と第2表示装置40とがフレーム識別情報を送受信することにより、第1表示装置30及び第2表示装置40の表示ずれを確実に検出できる。
また、第2表示装置40は、装置間通信部44により、OLEDユニット241が表示するフレームのフレーム識別情報を第1表示装置30に送信する。この構成によれば、第1表示装置30及び第2表示装置40がフレーム識別情報を送受信することにより、第1表示装置30及び第2表示装置40の表示ずれを確実に検出できる。
また、第1表示装置30及び第2表示装置40は、頭部装着型表示装置としてのHMD20を構成する。第1表示装置30は、制御装置10が送信する映像データを受信する無線通信部33と、無線通信部33で受信する映像データに基づき使用者の一方の眼(ここでは右眼)に映像を視認させるOLEDユニット221とを備える。また、第1表示装置30は、第2表示装置40と通信する装置間通信部34を備える。第2表示装置40は、制御装置10が送信する映像データを受信する無線通信部43と、無線通信部43で受信する映像データに基づき使用者の他方の眼(個々では左眼)に映像を視認させるOLEDユニット241とを備える。また。第2表示装置40は、第1表示装置30と通信する装置間通信部44を備える。HMD20は、装置間通信部34と装置間通信部44とが通信を実行することにより、使用者が右眼と左眼とで視認する映像のずれを検出する。これにより、使用者が左右それぞれの眼で視認する映像のずれを検出できる。このため、例えば、映像を表示するタイミングのずれを検出できるので、この種のずれに対する対策を施すことで、使用者が視認する映像の整合を図ることができ、映像のずれに伴う使用者の違和感や、いわゆる映像酔いを防止または軽減できる。
上記実施形態で説明した構成において、制御装置10が3D(立体)映像の映像データを送信し、HMD20が3D映像データに基づき3D映像を表示する構成としてもよい。この場合、制御装置10が第1表示装置30に送信する映像データのフレームと、制御装置10が第2表示装置40に送信する映像データのフレームとは、視差を有する映像データである。この場合、制御部310は、ステップS28(図11)で表示ずれがあると判定した場合に、HMD20が表示する映像を2D(平面)映像に切り換えてもよい。具体的な動作として、次の(A)、(B)が挙げられる。
(A)制御装置10から第1表示装置30に送信された映像データを、装置間通信部34によって第2表示装置40に送信する。第2表示装置40は、装置間通信部44で受信する映像データに基づき映像を表示する。或いは、第2表示装置40が制御装置10から受信する映像データのフレームを、第1表示装置30に送信してもよい。
(B)第1表示装置30から制御装置10に対し、第1表示装置30及び第2表示装置40に、視差を有さない同じ映像データのフレームを送信するよう要求する。制御装置10は要求に応答して第1表示装置30及び第2表示装置40に同じ映像データのフレームを送信する。
なお、(B)の方法の変形例として、制御装置10が、第1表示装置30に送信する映像データのフレームと第2表示装置40に送信する映像データのフレームとにおける視差を縮小する方法も考えられる。
これらの方法を実行することで、制御装置10は、HMD20により3D映像を視聴する場合に、左右の眼が視認するフレームがずれることに起因する使用者の不快感、違和感、或いは、いわゆる映像酔いの発生を抑制または防止できる。
さらに、上記実施形態のステップS28で、制御部310が、表示ずれがあると判定する基準を複数有してもよい。例えば、制御部310は、ずれているフレーム数が第1閾値以上の場合に、表示ずれがあると判定して(ステップS28;Yes)、表示ずれに対応する表示ずれ補正処理を設定する(ステップS29)構成としてもよい。この場合、制御部310は、ずれているフレーム数が第1閾値より少なく、第2閾値以上の場合に、例えば図13〜図16に例示した表示ずれ補正処理とは異なる処理を行ってもよい。具体的には、ずれているフレーム数が第1閾値より少なく、第2閾値以上の場合に、上述した3D映像から2D映像への切り換えを行ってもよい。また、ずれているフレーム数が第1閾値より少なく第2閾値以上の場合に、ずれ補正処理として、図15または図16に示す動作を実行してもよい。この場合、さらに、ずれているフレーム数が第1閾値以上の場合に、ずれ補正処理として図13または図14に示す動作を実行してもよい。
第1の閾値、及び、第2の閾値は、制御装置10が送信する映像データのフレームレートに応じて決定してもよい。例えば、第1の閾値を、100ミリ秒に相当するフレーム数としてもよい。この場合、30fps(フレーム/秒)の映像データにおいて3フレームが第1の閾値に相当する。また、第2の閾値は第1の閾値より小さい数であればよい。
また、表示システム100では、HMD20を装着する使用者が動いている場合に、ずれの発生を検出する処理に係る閾値を、検出が緩くなる方向に変更してもよい。使用者の動きは、例えば、表示システム100が備える各種センサーの検出結果から判定してもよい。具体的には、カメラ61の撮像画像、6軸センサー235、磁気センサー237、6軸センサー111、或いは磁気センサー113の検出値または検出値の変化から、使用者の動きを検出すればよい。この場合、単位時間あたりの動き量あるいは動きの速度または加速度が設定された基準値以上の場合に、第2の閾値を第1の閾値に切り換えたり、第1及び第2の閾値の値を変更したりすればよい。
[第2実施形態]
図17は、第2実施形態に係る表示システム100Aを構成する各装置のブロック図である。図17に示す第2実施形態の表示システム100Aにおいて、第1実施形態で説明した表示システム100と共通する構成部については同符号を付して説明を省略する。
表示システム100Aは、上記実施形態で説明した表示システム100(図5)において、HMD20が備える第1表示装置30、及び第2表示装置40に代えて、第1表示装置30A、及び第2表示装置40Aを備える。第1表示装置30A、及び第2表示装置40AはHMD20Aを構成する。
制御装置10の構成は、第1実施形態で説明したものと同様である。第2実施形態において、制御装置10は、映像データをフレーム単位で第1表示装置30Aに送信するが、第2表示装置40には送信しない。
第1表示装置30Aの構成は、第1表示装置30と共通する。第1表示装置30Aは、制御装置10から映像データのフレーム、及び、フレーム識別情報を受信し、受信バッファー340に格納する。また、第1表示装置30Aは、制御装置10から受信する映像データのフレームとフレーム識別情報とを第2表示装置40Aに送信する。
第2表示装置40Aは、第2表示装置40(図5)において、無線通信部43を排した構成である。第2表示装置40Aは、装置間通信部44により、第1表示装置30から映像データのフレームとフレーム識別情報とを受信し、受信バッファー440に格納する。
図18は、第2実施形態の表示システム100Aの動作と表示ずれを模式的に示す説明図である。
図18に示すように、制御装置10は、第1表示装置30Aに対して映像データをフレーム単位で送信する。図18には、制御装置10が1フレームずつ送信を行う例を示すが、複数のフレームをまとめて制御装置10が送信することも勿論可能である。
第1表示装置30Aは、制御装置10が送信する映像データをフレーム単位で受信する。また、制御装置10は、第1表示装置30A及び第2表示装置40Aのそれぞれに対し、映像データのフレームと、フレームを識別するフレーム識別情報とを対応付けて送信する。フレーム識別情報の具体例等については第1実施形態と同様である。
第1表示装置30Aは、制御装置10から受信する映像データをフレーム単位で受信バッファー340(図7)にフレームデータ341として記憶する。また、制御装置10から受信するフレーム識別情報をフレーム識別情報343として受信バッファー340に記憶する。
第1表示装置30Aは、制御装置10から受信する映像データをフレーム単位で第2表示装置40Aに送信する。また、第1表示装置30Aは、フレーム識別情報を第2表示装置40Aに送信する。ここで、第1表示装置30Aは、制御装置10から受信し受信バッファー340にいったん記憶した映像データのフレーム及びフレーム識別情報を第2表示装置40Aに送信する構成であってもよい。
第2表示装置40Aは、第1表示装置30Aが送信する映像データのフレーム、及び、フレーム識別情報を、受信バッファー440にフレームデータ441及びフレーム識別情報443として記憶する。
第1表示装置30Aは、制御装置10から受信する映像データをフレーム単位で表示し、第2表示装置40Aは、第1表示装置30Aから受信する映像データをフレーム単位で表示する。第1表示装置30Aは、第2表示装置40Aに映像データを送信する送信タイミング、及び、フレームデータ341を読み出してOLEDユニット221で表示するタイミングを同期させる。
これにより、HMD20Aにおいては、第1表示装置30Aと第2表示装置40Aとが同期して同じフレームを表示できる。
表示システム100Aでは、制御装置10が第1表示装置30Aに映像データをフレーム単位で送信する際に、第1表示装置30Aは、受信した映像データのフレームのフレーム識別情報を、制御装置10に送信する。制御装置10は、第1表示装置30Aが送信するフレーム識別情報を受信して、既に送信したフレーム識別情報と比較する。これにより、制御装置10が送信したフレームと、第1表示装置30Aが受信したフレームとのずれを検出できる。また、制御装置10は、第1表示装置30Aにフレーム識別情報を送信したタイミングと、第1表示装置30Aからフレーム識別情報を受信するタイミングとの時間差から、遅延時間を求めることができる。
制御装置10と第1表示装置30Aとの間のずれ、及び、フレーム識別情報の遅延時間が長くなる現象は、例えば、制御装置10と第1表示装置30Aとの間の通信環境の影響により発生する。また、第1表示装置30Aにおける処理が遅延することも原因としてあげられる。この場合、HMD20Aが表示する画像を使用者が視認するタイミングが遅延するので、たとえば、制御装置10が有する操作部110に対する操作に応じて表示を変更する場合に、使用者が表示の遅延を知覚し、違和感を抱く可能性がある。
そこで、第2実施形態では、表示システム100Aが、制御装置10と第1表示装置30Aとの間のフレーム識別情報のずれ、及び、遅延を検出する構成を説明する。
図19は、第2実施形態における制御装置10の動作を示すフローチャートである。
制御装置10の制御部150は、操作部110によってコンテンツデータ125の送信の指示を受け付けたことを検出すると(ステップS101)、この指示により指定されたコンテンツデータ125を記憶部122から読み出す(ステップS102)。制御部150は、記憶部122から読み出したコンテンツデータ125の映像データに対し、各フレームにフレーム識別情報を付加する処理を行い、フレームのデータとフレーム識別情報とを、送信する(ステップS103)。ステップS103で、制御部150は、第1表示装置30Aにフレームのデータとフレーム識別情報とを送信する。
制御部150は、第1表示装置30Aからフレーム識別情報を受信したか否かを判定する(ステップS104)。
フレーム識別情報を受信した場合(ステップS104;Yes)、制御部150は、受信したフレーム識別情報に基づき、表示ずれを検出する(ステップS105)。具体的には、制御部150は、第1表示装置30Aから受信したフレーム識別情報と、ステップS103で送信したフレーム識別情報とを比較し、一致するか否かに基づき、ずれの有無を判定する。また、ステップS105で、制御部150は、フレーム識別情報を比較することにより、ずれているフレーム数を算出する処理を行う。
フレーム識別情報が一致し、表示ずれ或いは遅延がないと判定した場合(ステップS106;No)、制御部150は後述するステップS109に移行する。また、フレーム識別情報が一致しない場合、制御部150は表示ずれがあると判定し(ステップS106;Yes)、表示ずれ補正処理を実行するよう設定する(ステップS107)。ステップS107で、制御部150は、表示ずれ或いは遅延を補正するために実行する処理の内容と、補正するフレーム数とを設定する。
制御部150は、ステップS108で設定する表示ずれ補正処理を実行し(ステップS108)、ステップS109に移行する。
ステップS108で、制御部150は、例えば、第1表示装置30Aに送信するフレーム及びフレーム識別情報を、表示ずれ或いは遅延分に相当する数だけジャンプさせる処理を行う。この場合、制御装置10が第1表示装置30Aに送信する予定のコンテンツデータ125のフレームのうち、一部のフレームが送信されないが、第1表示装置30A、第2表示装置40Aが表示するフレームが早送りされる。このため、表示ずれ、及び遅延が解消される。また、制御装置10は、ステップS108で、第1表示装置30Aに対し、既に送信したフレームを、再度送信する処理を行ってもよい。この場合、第1表示装置30Aが、制御装置10が送信するフレームの一部を受信できず、表示が停止した場合等に、表示を正常に継続できる。また、制御装置10は、ステップS108で、第1表示装置30Aに対して、受信バッファー340に記憶したフレームのクリアを含むリセット処理を指示してもよい。この場合、第1表示装置30Aは、フレームデータ341をクリアするリセット処理を実行する。また、第1表示装置30Aは、制御装置10によって送信されたリセット処理を指示する制御データを、第2表示装置40Aに送信してもよい。この場合、第2表示装置40Aは、フレームデータ441をクリアするリセット処理を実行する。この場合、第1表示装置30A、及び第2表示装置40Aは、制御装置10から次に受信するフレームを表示するので、表示ずれ、及び遅延を解消できる。
制御部150は、ステップS109で、指定されたコンテンツデータ125を構成する全てのフレームの送信が完了したか否かを判定する(ステップS109)。送信が完了しない間は(ステップS109;No)、ステップS103に戻る。送信が完了した場合(ステップS109;Yes)、制御部150は、第1表示装置30Aに対してコンテンツデータ125の送信完了を通知する制御データを送信し(ステップS110)、本処理を終了する。第1表示装置30Aは、コンテンツデータ125の送信完了を通知する制御データを制御装置10から受信した場合、受信した制御データを第2表示装置40Aに送信しても良い。
図20は、第1表示装置30Aの動作を示すフローチャートである。
第1表示装置30Aの制御部310は、制御装置10が送信する制御データに従って、制御装置10が送信する映像データの受信を開始する(ステップS121)。制御部310は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、受信バッファー340に格納する処理を開始する(ステップS122)。
制御部310は、制御装置10から受信したフレーム識別情報を、制御装置10に送信する処理を開始する(ステップS124)。ここで、制御部310は、制御装置10からフレームのデータを受信する毎に、フレーム識別情報を制御装置10に送信してもよい。また、予め設定された数のフレームのデータを受信する毎に、フレーム識別情報を制御装置10に送信してもよい。
制御部310は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、第2表示装置40Aに転送する処理を開始する(ステップS124)。
制御部310は、受信バッファー340からフレームデータ341、およびフレームデータ341に対応するフレーム識別情報343を読み出し(ステップS125)、読み出したフレームデータに基づき画像を表示する(ステップS126)。受信バッファー340が複数のフレームのデータを記憶している場合、制御部310は、表示されていないフレームのうち最も古いフレームから順に読み出す。つまり、制御部310は、制御装置10から受信した順にフレームのデータを読み出して表示する。
制御部310は、表示を終了するか否かを判定する(ステップS127)。制御部310は、制御装置10が映像データの送信を終了する、制御装置10からの制御データにより表示停止が指示される等、表示を完了する条件が成立した場合(ステップS127;Yes)、本処理を終了する。また、表示を完了しない場合(ステップS127;No)、制御部310はステップS125に戻る。
図21は、第2表示装置40Aの動作を示すフローチャートである。
第2表示装置40Aの制御部410は、第1表示装置30Aが送信する映像データの受信を開始する(ステップS131)。制御部410は、第1表示装置30Aから受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、受信バッファー440に格納する処理を開始する(ステップS132)。
制御部410は、受信バッファー440からフレームデータ441、およびフレームデータ441に対応するフレーム識別情報443を読み出し(ステップS133)、読み出したフレームデータに基づき画像を表示する(ステップS134)。ここで、受信バッファー440が複数のフレームのデータを記憶している場合、制御部410は、表示されていないフレームのうち最も古いフレームから順に読み出す。つまり、制御部410は、制御装置10から受信した順にフレームのデータを読み出して表示する。
制御部410は、表示を終了するか否かを判定する(ステップS135)。制御部410は、第1表示装置30Aが映像データの送信を終了する、第1表示装置30Aを介して送信される制御データにより表示停止が指示される等、表示を完了する条件が成立した場合(ステップS135;Yes)、本処理を終了する。また、表示を完了しない場合(ステップS135;No)、制御部410はステップS133に戻る。
図22は、第2実施形態における表示システム100Aの動作例を示すシーケンス図である。
制御装置10は、第1表示装置30Aに対して映像データを送信する(ステップt101)。
第1表示装置30Aは、制御装置10から受信した映像データを第2表示装置40Aに送信する(ステップt102)。また、第1表示装置30Aは、制御装置10から受信した映像データをフレーム単位で表示する(ステップt103)。第2表示装置40Aは、第1表示装置30Aから受信した映像データをフレーム単位で表示する(ステップt104)。
また、第1表示装置30Aは、制御装置10から受信したフレーム識別情報を制御装置10に送信する(ステップt105)。制御装置10は、第1表示装置30Aが送信するフレーム識別情報に基づき、表示ずれ、或いは遅延を検出する(ステップt106)。
表示ずれ、或いは遅延を検出した場合、制御装置10は、第1表示装置30Aに対し、表示ずれを補正する処理を実行する(ステップt107)。ステップt107では、成就したように、送信済みのフレームを再度送信する処理、リセットを指示する制御データを第1表示装置30Aに送信する処理等が挙げられる。
この第2実施形態の表示システム100Aによれば、制御装置10から第1表示装置30Aに対して映像データを送信する処理により、第1表示装置30Aと第2表示装置40Aとによって映像を表示できる。また、制御装置10が送信した映像データのフレームが、遅延して第1表示装置30Aにより受信され、或いは、第1表示装置30Aが受信に失敗したことにより、表示の遅延やずれが発生した場合に、これを制御装置10が検出できる。制御装置10は、表示の遅延やずれを解消する制御を行うことで、例えば、使用者が期待するタイミングよりも表示タイミングが遅延する等の現象を回避し、或いは解消できる。
[第3実施形態]
図23は、第3実施形態に係る表示システム100Bを構成する各装置のブロック図である。図23に示す第3実施形態の表示システム100Bにおいて、第2実施形態で説明した表示システム100Aと共通する構成部については同符号を付して説明を省略する。
表示システム100Bは、第2実施形態で説明した表示システム100A(図19)において、HMD20Aが備える第1表示装置30Aに代えて、第1表示装置30Bを備える。第1表示装置30Bは、第2表示装置40AとともにHMD20Bを構成する。
制御装置10及び第2表示装置40Aの構成及び動作は、第2実施形態と同様である。
第1表示装置30Bの構成は、第1表示装置30A(図19)において、受信装置70を備える。受信装置70は、マイコン71と、無線通信部72とを備える。
マイコン71は、無線通信部72に接続され、無線通信部72を介して制御装置10との間で各種データを無線信号により送受信する。マイコン71は、装置間通信部34に接続される。
また、マイコン71は、制御装置10から受信したデータを、装置間通信部34を介してプロセッサー31に出力する。また、マイコン71は、第2表示装置40Aが備える装置間通信部44に接続される。マイコン71は、制御装置10から受信したデータを、装置間通信部44を介して、第2表示装置40Aのプロセッサー41に出力する。ここで、受信装置70は、プロセッサー31、41のそれぞれと無線通信回線を介して接続されてもよい。
図24は、第3実施形態の表示システム100Bの動作と表示ずれを模式的に示す説明図である。
制御装置10は、映像データをフレーム単位で送信し、この映像データを受信装置70が受信する。図24には、制御装置10が1フレームずつ送信を行う例を示すが、複数のフレームをまとめて制御装置10が送信することも勿論可能である。また、制御装置10は、映像データのフレームと、フレームを識別するフレーム識別情報とを対応付けて受信装置70に送信する。フレーム識別情報の具体例については第1、第2実施形態と同様である。
受信装置70は、制御装置10が送信する映像データをフレーム単位で受信して、第1表示装置30B、及び、第2表示装置40Aに送信する。第1表示装置30Bの制御部310は、受信装置70から受信する映像データをフレーム単位で受信バッファー340にフレームデータ341として記憶する。また、制御装置10から受信するフレーム識別情報をフレーム識別情報343として受信バッファー340に記憶する。
第2表示装置40Aは、受信装置70から映像データのフレーム、及び、フレーム識別情報を受信して、受信バッファー440にフレームデータ441及びフレーム識別情報443として記憶する。
第1表示装置30Bは、制御装置10から受信する映像データをフレーム単位で表示し、第2表示装置40Aは、第1表示装置30Bから受信する映像データをフレーム単位で表示する。受信装置70は、第1表示装置30A、及び、第2表示装置40Aに映像データを送信する送信タイミングを同期させる。これにより、HMD20Bにおいては、第1表示装置30Bと第2表示装置40Aとが同期して同じフレームを表示できる。
表示システム100Bでは、制御装置10が受信装置70に映像データをフレーム単位で送信する際に、受信装置70が、受信した映像データのフレームのフレーム識別情報を、制御装置10に送信する。制御装置10は、受信装置70が送信するフレーム識別情報を受信して、既に送信したフレーム識別情報と比較する。これにより、制御装置10が送信したフレームと、受信装置70が受信したフレームとのずれを検出できる。また、制御装置10は、受信装置70にフレーム識別情報を送信したタイミングと、受信装置70からフレーム識別情報を受信するタイミングとの時間差から、遅延時間を求めることができる。
第3実施形態では、第2実施形態と同様に、制御装置10とHMD20Bとの間のフレームの表示ずれ及び遅延を検出し、回避できる。第3実施形態では、第1表示装置30B、及び第2表示装置40Aは、図21を参照して説明した第2表示装置40Aと同様の動作を実行すれば良い。従って、プロセッサー31及びプロセッサー31が実行する制御部310の負荷を軽減することができ、例えば安定して表示を実行できる。
図25は、受信装置70の動作を示すフローチャートである。
マイコン71は、制御装置10が送信する制御データに従って、制御装置10が送信する映像データの受信を開始する(ステップS151)。マイコン71は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、図示しない受信バッファーに格納する処理を開始する(ステップS152)。
マイコン71は、制御装置10から受信したフレーム識別情報を、制御装置10に送信する処理を開始する(ステップS153)。ここで、マイコン71は、制御装置10からフレームのデータを受信する毎に、フレーム識別情報を制御装置10に送信してもよい。また、予め設定された数のフレームのデータを受信する毎に、フレーム識別情報を制御装置10に送信してもよい。
マイコン71は、制御装置10から受信したフレーム、および、受信したフレームに対応するフレーム識別情報を、第1表示装置30A、及び、第2表示装置40Aに転送する処理を開始する(ステップS154)。
そして、マイコン71は、HMD20Bによる表示を終了するか否かを判定する(ステップS155)。マイコン71は、制御装置10が映像データの送信を終了する、制御装置10からの制御データにより表示停止が指示される等、表示を完了する条件が成立した場合(ステップS155;Yes)、本処理を終了する。また、表示を完了しない場合(ステップS155;No)、マイコン71は表示を完了するまで、ステップS152〜S154で開始した処理を継続する。
この第3実施形態によれば、制御装置10から映像データのフレーム及びフレーム識別情報を受信し、制御装置10にフレーム識別情報を送信する専用の受信装置70を設けることにより、映像を表示するプロセッサー31及び制御部310の負荷を軽減できる。
なお、この発明は上記各実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。例えば、上記実施形態において、使用者が表示部を透過して外景を視認する構成は、右導光板26及び左導光板28が外光を透過する構成に限定されない。例えば外景を視認できない状態で画像を表示する表示装置にも適用可能である。具体的には、カメラ61の撮像画像、この撮像画像に基づき生成される画像やCG、予め記憶された映像データや外部から入力される映像データに基づく映像等を表示する表示装置に、本発明を適用できる。この種の表示装置としては、外景を視認できない、いわゆるクローズ型の表示装置を含むことができる。また、上記実施形態で説明したように実空間に重ねて画像を表示するAR表示や、撮像した実空間の画像と仮想画像とを組み合わせるMR(Mixed Reality)表示、或いは仮想画像を表示するVR(Virtual Reality)表示といった処理を行わない表示装置にも適用できる。例えば、外部から入力される映像データまたはアナログ映像信号を表示する表示装置も、本発明の適用対象として勿論含まれる。
また、上記各実施形態ではHMD20、20A、20Bにより映像を出力する例を説明したが、音声を出力してもよい。例えば、表示システム100は、ヘッドホンやスピーカーなどの音声出力部を、制御装置10の音声インターフェイス182(図5)に有線または無線で接続して、音声を出力する構成としてもよい。この場合、HMD20が使用者に視認させる映像に対応する音声を出力することができる。この構成において、HMD20が出力する映像と、音声とのずれを検出してもよい。例えば、制御装置10が第1表示装置30に対し、制御装置10により送信される映像データのフレームと音声の出力タイミングの対応を示す情報を送信する。この構成で、第1表示装置30の制御部310が、OLEDユニット221、241が表示するフレームと、音声インターフェイス182から出力される音声とのタイミングのずれを検出してもよい。また、制御装置10が、第1表示装置30及び第2表示装置40に送信する映像データのフレームと、音声インターフェイス182が出力する音声の出力タイミングとのずれを検出してもよい。そして、映像データのフレームと音声の出力タイミングのずれを検出した場合、音声を一時停止させる、音声の一部を省略して早送りする等の手法により、ずれを補正してもよい。音声表示システム100A、100Bについても同様である。
また、制御装置10から第1表示装置30及び第2表示装置40のそれぞれに音声データ或いは音声信号を送信し、第1表示装置30及び第2表示装置40のそれぞれが、音声を出力する構成であってもよい。この場合、制御装置10は、音声データ或いは音声信号を符号化し、またはこれらに重畳して、映像データのフレームのフレーム識別情報を送信してもよい。
また、表示システム100は、カメラ61で撮像した撮像画像データに基づく映像データを、制御装置10から第1表示装置30及び第2表示装置40に送信してもよい。この場合、HMD20は、第1表示装置30及び第2表示装置40によって、カメラ61の撮像画像を表示する。この構成において、カメラ61が撮像した撮像画像が第1表示装置30または第2表示装置40により表示されるまでの間の時間を、カメラ61の撮像タイミングと表示タイミングのずれとして検出してもよい。
この場合、制御部150は、カメラ61の撮像画像データから表示用の映像データを生成する処理を行う。制御部150は、ずれを検出した場合、或いは、検出したずれの量が予め設定された閾値以上である場合に、ずれを補正あるいは抑制する処理を行ってもよい。例えば、制御部150は、カメラ61の撮像画像データから生成する表示用の映像データのフレームレートを、デフォルト値として設定された第1フレームレートとする。制御部150は、カメラ61の撮像タイミングと表示タイミングのずれが検出され、或いは、ずれ量が所定時間以上である場合に、フレームレートを、第1フレームレートより低い第2フレームレートに変更してもよい。また、例えば、制御部150は、カメラ61の撮像画像データから生成する表示用の映像データの解像度を、デフォルト値として設定された第1解像度とする。制御部150は、カメラ61の撮像タイミングと表示タイミングのずれが検出され、或いは、ずれ量が所定時間以上である場合に、解像度を、第1解像度より低い第2解像度に変更してもよい。これらの場合、映像データを生成する処理、及び、映像データの表示に要する処理を高速化できるので、ずれの解消或いは抑制が期待できる。また、既に発生したずれを解消するため、映像データを生成する処理でカメラ61の撮像画像データの一部を省略してもよい。また、第1表示装置30及び第2表示装置40で映像データのフレームを一時記憶する受信バッファー340、440をクリアさせてもよい。音声表示システム100A、100Bについても同様である。
また、HMD20を装着する使用者が動いている場合に、フレームレートや解像度を低下させてもよい。この場合、使用者が、フレームレートや解像度の低下を知覚しにくい状況で、表示システム100における処理の負荷を軽減し、ずれを抑制し、或いは解消できる。使用者の動きは、上述したように、例えば、表示システム100が備える各種センサーの検出結果から判定してもよい。具体的には、カメラ61の撮像画像、6軸センサー235、磁気センサー237、6軸センサー111、或いは磁気センサー113の検出値または検出値の変化から、使用者の動きを検出すればよい。この場合、単位時間あたりの動き量あるいは動きの速度または加速度が設定された基準値以上の場合に、フレームレートや解像度を低くするように設定を変更してもよい。
また、表示システム100において、ずれが検出され、或いは、ずれ量が所定時間以上である場合に、制御装置10と第1表示装置30との間、及び/または制御装置10と第2表示装置40との間の通信の帯域を変更してもよい。この場合、通信帯域を拡張して、通信の高速化を図ることで、ずれを抑制する構成であってもよい。また、表示システム100で映像データのフレームのフレームレート及び/又は解像度を変更する場合に、上記の帯域を、フレームレート及び/又は解像度に対応する帯域に変更してもよい。音声表示システム100A、100Bについても同様である。
また、制御装置10と第1表示装置30、及び/又は制御装置10と第2表示装置40との間の無線通信の具体的態様は任意であり、第1表示装置30A、30B、第2表示装置40Aについても同様である。また、第1表示装置30と第2表示装置40との間における無線通信についても同様であり、第1表示装置30A、30B、第2表示装置40Aについても同様である。例えば、パケット通信を利用して映像データのフレーム、或いは、フレーム識別情報を送受信してもよい。この場合、パケットを受信する側の装置がACK(ACKnowledgement/肯定応答/確認応答)パケットを送信し、このACKパケットによりずれを検出する構成としてもよい。
また、HMD20は、使用者の頭部に装着されて画像を表示するものであればよい。例えば、HMD20のフレームに代えて、例えば帽子のように装着するフレームを有する表示部等、他の方式の表示部を採用してもよい。表示システム100は、使用者の左眼に対応して画像を表示する第1表示装置と、使用者の右眼に対応して画像を表示する表示部とを備えていればよい。また、本発明の表示装置は、例えば、自動車や飛行機等の車両に搭載されるヘッドマウントディスプレイとして構成されてもよい。また、例えば、ヘルメット等の身体防護具に内蔵されたヘッドマウントディスプレイとして構成されてもよい。この場合、使用者の身体に対する位置を位置決めする部分、及び、当該部分に対し位置決めされる部分を装着部とすることができる。
さらに、上記実施形態では、HMD20、20A、20Bと制御装置10とが分離され、無線通信回線により接続された構成を例に挙げて説明したが、制御装置10とHMD20、20A、20Bとが有線接続する構成であってもよい。また、制御装置10として、ノート型コンピューター、タブレット型コンピューター又はデスクトップ型コンピューターを用いてもよい。また、制御装置10として、ゲーム機や携帯型電話機やスマートフォンや携帯型メディアプレーヤーを含む携帯型電子機器、その他の専用機器等を用いてもよい。
また、画像光を使用者の眼に導く光学系として、右導光板26及び左導光板28の一部に、ハーフミラー261、281により虚像が形成される構成を例示した。本発明はこれに限定されず、右導光板26及び左導光板28の全面または大部分を占める面積を有する表示領域に、画像を表示する構成としてもよい。この場合、画像の表示位置を変化させる動作において、画像を縮小する処理を含めてもよい。
さらに、本発明の光学素子は、ハーフミラー261、281を有する右導光板26、左導光板28に限定されず、画像光を使用者の眼に入射させる光学部品であればよく、具体的には、回折格子、プリズム、ホログラフィー表示部を用いてもよい。
また、図5等に示した各機能ブロックのうち少なくとも一部は、ハードウェアで実現してもよいし、ハードウェアとソフトウェアの協働により実現される構成としてもよく、図に示した通りに独立したハードウェア資源を配置する構成に限定されない。また、制御部150が実行するプログラムは、不揮発性記憶部121または制御装置10内の他の記憶装置(図示略)に記憶されてもよい。また、外部の装置に記憶されたプログラムを通信部117や外部コネクター184を介して取得して実行する構成としてもよい。また、制御装置10に形成された構成のうち、操作部110が使用者インターフェイス(UI)として形成されてもよい。