IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アオミネクストの特許一覧

特開2025-27693プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法
<>
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図1
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図2
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図3
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図4
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図5
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図6
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図7
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図8
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図9
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図10
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図11
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図12
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図13
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図14
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図15
  • 特開-プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025027693
(43)【公開日】2025-02-28
(54)【発明の名称】プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法
(51)【国際特許分類】
   G06F 3/0487 20130101AFI20250220BHJP
   G06F 3/0338 20130101ALI20250220BHJP
【FI】
G06F3/0487
G06F3/0338 413
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023132736
(22)【出願日】2023-08-16
(71)【出願人】
【識別番号】523312576
【氏名又は名称】株式会社アオミネクスト
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】中村 真護
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA07
5B087AB02
5B087AB09
5B087BC08
5B087DD06
5E555AA16
5E555BA08
5E555BB08
5E555BC19
5E555BE16
5E555BE17
5E555CA19
5E555CA21
5E555CA22
5E555DA08
5E555DA09
5E555DB41
5E555DC09
5E555FA00
(57)【要約】
【課題】ウェアラブルディスプレイ端末に好適な文字入力のためのプログラムを提供する。
【解決手段】プログラム(150)は、コンピュータに、文字の入力操作を受ける少なくとも一つ以上のキーを含む文字入力インタフェース(320)の映像データを生成し、映像データをウェアラブルディスプレイ端末(10)に送信し、文字入力インタフェースに含まれるキーのうち、リモートコントローラ(20)の動きに連動するポインタが重畳したキーを文字選択操作待機モードに遷移させ、文字選択操作待機モード中にリモートコントローラの操作信号を受信すると、当該操作信号に基づいて前記キーに割り当てられた文字を前記ウェアラブルディスプレイ端末に表示させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータに、
文字の入力操作を受ける少なくとも一つ以上のキーを含む文字入力インタフェースの映像データをウェアラブルディスプレイ端末に送信する機能と、
前記文字入力インタフェースに含まれるキーのうち、リモートコントローラの動きに連動するポインタが重畳したキーを文字選択操作待機モードに遷移させる機能と、
前記文字選択操作待機モード中に、前記リモートコントローラの操作信号を受信すると、当該操作信号に基づいて前記キーに割り当てられた文字を前記ウェアラブルディスプレイ端末に表示させる機能と、を実現させるためのプログラム。
【請求項2】
請求項1に記載のプログラムであって、
前記リモートコントローラは、第1操作子及び第2操作子を備え、
前記第1操作子は、オン及びオフの入力操作を受け付ける操作子であり、
前記第2操作子は、4種類の入力操作を受け付ける操作子であり、
前記文字入力インタフェースは、少なくとも10キーを含み、
各キーには、日本語の50音を構成する母音行及び子音行の各先頭の第1音がそれぞれ割り当てられ、
前記第1操作子の入力操作は、各キーに割り当てられた母音行及び子音行の第1音の選択操作であり、前記第2操作子の前記4種類の入力操作のうちの第1操作は、各キーに割り当てられた母音行及び子音行の第2音の選択操作であり、
前記4種類の入力操作のうちの第2操作は、各キーに割り当てられた母音行及び子音行の第3音の選択操作であり、
前記4種類の入力操作のうちの第3操作は、各キーに割り当てられた母音行及び子音行の第4音の選択操作であり、
前記4種類の入力操作のうちの第4操作は、各キーに割り当てられた母音行及び子音行の第5音の選択操作である、プログラム。
【請求項3】
請求項1に記載のプログラムであって、
前記リモートコントローラは、第1操作子及び当該リモートコントローラの運動を検出するモーションセンサを備え、
前記第1操作子は、オン及びオフの入力操作を受け付ける操作子であり、
前記文字入力インタフェースは、少なくとも10キーを含み、
各キーには、日本語の50音を構成する母音行及び子音行の各先頭の第1音がそれぞれ割り当てられ、
前記第1操作子の入力操作は、各キーに割り当てられた母音行及び子音行の第1音の選択操作であり、前記第1操作子の入力操作と共に前記モーションセンサが検出したセンサ情報に基づいて、前記リモートコントローラの運動方向を4方向に分類し、
前記4方向のうちの第1方向への運動操作は、各キーに割り当てられた母音行及び子音行の第2音の選択操作であり、
前記4方向のうちの第2方向への運動操作は、各キーに割り当てられた母音行及び子音行の第3音の選択操作であり、
前記4方向のうちの第3方向への運動操作は、各キーに割り当てられた母音行及び子音行の第4音の選択操作であり、
前記4方向のうちの第4方向への運動操作は、各キーに割り当てられた母音行及び子音行の第5音の選択操作である、プログラム。
【請求項4】
請求項1、2、又は3に記載のプログラムを記憶した記憶媒体。
【請求項5】
文字入力システムであって、
請求項1、2、又は3に記載のプログラムを記憶したコンピュータと、
ウェアラブルディスプレイ端末と、
リモートコントローラと、を含み、
前記コンピュータは、前記リモートコントローラから前記操作信号を受信し、
前記コンピュータから前記ウェアラブルディスプレイ端末に対して前記文字入力インタフェースの映像データ、及び前記リモートコントローラの操作信号に従って選択された前記キーに割り当てられた文字の映像データを送信し、
前記ウェアラブルディスプレイ端末は、前記文字入力インタフェース及び前記リモートコントローラの操作信号に従って選択された前記キーに割り当てられた文字を表示する、文字入力システム。
【請求項6】
コンピュータが、
文字の入力操作を受ける少なくとも一つ以上のキーを含む文字入力インタフェースの映像データを生成してウェアラブルディスプレイ端末に送信するステップと、
前記文字入力インタフェースに含まれるキーのうち、リモートコントローラの動きに連動するポインタが重畳したキーを文字選択操作待機モードに遷移させるステップと、
前記文字選択操作待機モード中に、前記リモートコントローラの操作信号を受信すると、当該操作信号に基づいて前記キーに割り当てられた文字を前記ウェアラブルディスプレイ端末に表示させるステップと、を実行する、文字入力方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法に関する。
【背景技術】
【0002】
ヘッドマウントディスプレイへの入力操作としてジェスチャー操作が知られている。例えば特許文献1の明細書段落0048、0049には、「CPUは、HMDに表示された仮想入力デバイスに対するユーザの入力操作を検出する。このような検出は、例えば、カメラによって撮影されたユーザの手や指の動きを追跡する技術を利用することによってなされ得る。ユーザの手や指の動きを追跡する技術としては、画像処理を応用した様々な技術を適用することが可能である。例えば、下記の文献に記載の技術は、ユーザの手や指の動きを追跡する技術として好適に適用することが可能な技術の一例である。文献:佐々木ほか、”てのひらだいやる:Wearable Computer用入力インタフェース”、信学技報(TECNICAL REPORT OFIEICE) PRMU 2000-157(2001-1)あるいは、ユーザの指先に接触センサを装着し、接触センサからの出力信号に基づいてユーザの指の動きを追跡するよう(特許文献1明細書から一部抜粋)」との記載がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-318652号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンピュータへの入力装置として広くキーボードが知られている。このキーボードをヘッドマウントディスプレイの入力装置として適用し、例えば仮想的なキーボードをヘッドマウントディスプレイに表示して特許文献1のジェスチャー動作を用いて文字入力することも考えられる。
【0005】
しかし、ヘッドマウントディスプレイはユーザの眼前にディスプレイを保持できる大きさのディスプレイを搭載する必要があるため、画面領域の大きさに制約がある。そのため、仮想的なキーボードをヘッドマウントディスプレイに表示すると個々のキーの大きさが必然的に小さくなり両手を使ったジェスチャー動作では正確にキー入力が行えず文字入力操作が円滑に行えないという課題がある。この課題は、ヘッドマウントディスプレイに限らず、スマートグラス、ARグラス(仮想現実表示グラス)などのウェアラブルディスプレイ端末に共通した課題である。
【0006】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、ウェアラブルディスプレイ端末の文字入力に好適なプログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法を提供することにある。
【課題を解決するための手段】
【0007】
前記課題を解決するために、特許請求の範囲に記載の構成を備える。その一例をあげるならば、本発明は、コンピュータに、文字の入力操作を受ける少なくとも一つ以上のキーを含む文字入力インタフェースの映像データを生成し、前記映像データをウェアラブルディスプレイ端末に送信する機能と、前記文字入力インタフェースに含まれるキーのうち、リモートコントローラの動きに連動するポインタが重畳したキーを文字選択操作待機モードに遷移させる機能と、前記文字選択操作待機モード中に、前記リモートコントローラの操作信号を受信すると、当該操作信号に基づいて前記キーに割り当てられた文字を前記ウェアラブルディスプレイ端末に表示させる機能と、を実現させるためのプログラムである。
【0008】
また本発明は、上記プログラムを記憶した記憶媒体である。
【0009】
また本発明は、文字入力システムであって、上記プログラムを記憶したコンピュータと、ウェアラブルディスプレイ端末と、リモートコントローラと、を含み、前記コンピュータは、前記リモートコントローラから前記操作信号を受信し、前記コンピュータから前記ウェアラブルディスプレイ端末に対して前記文字入力インタフェースの映像データ、及び前記リモートコントローラの操作信号に従って選択された前記キーに割り当てられた文字の映像データを送信し、前記ウェアラブルディスプレイ端末は、前記文字入力インタフェース及び前記リモートコントローラの操作信号に従って選択された前記キーに割り当てられた文字を表示する。
【0010】
また本発明は、文字入力方法であって、コンピュータが、文字の入力操作を受ける少なくとも一つ以上のキーを含む文字入力インタフェースの映像データをウェアラブルディスプレイ端末に送信するステップと、前記文字入力インタフェースに含まれるキーのうち、リモートコントローラの動きに連動するポインタが重畳したキーを文字選択操作待機モードに遷移させるステップと、前記文字選択操作待機モード中に、前記リモートコントローラの操作信号を受信すると、当該操作信号に基づいて前記キーに割り当てられた文字を前記ウェアラブルディスプレイ端末に表示させるステップ、を実行する。
【発明の効果】
【0011】
本発明によれば、ウェアラブルディスプレイ端末の文字入力に好適なプログラム、プログラムを記憶した記憶媒体、文字入力システム、及び文字入力方法を提供することができる。上記した以外の目的、構成、効果については以下の実施形態において明らかにされる。
【図面の簡単な説明】
【0012】
図1】本実施形態に係る文字入力システムの概要を示す図である。
図2】HMDのハードウェア構成図である。
図3】リモートコントローラのハードウェア構成図である。
図4】パーソナルコンピュータのハードウェア構成図である。
図5】文字入力システムの機能ブロック図である。
図6】仮想空間の一態様を概念的に表す図である。
図7】本実施形態に係る文字入力システム1における第1入力モードでの処理の流れを示すフローチャートである。
図8】本実施形態に係る文字入力システム1における第1入力モードでの処理の流れを示すフローチャートである。
図9】HMDで表示される画面表示例を示す図である。
図10】HMDで表示される画面表示例を示す図である。
図11】フリック類似操作の方向判定処理についての説明図である。
図12】リモートコントローラの操作子へのボタンの割り付け例を示す図である。
図13】リモートコントローラの操作子へのボタンの割り付け例を示す図である。
図14】リモートコントローラの操作子へのボタンの割り付け例を示す図である。
図15】文字入力システムにおける第2入力モードでの処理の流れを示すフローチャートである。
図16】文字入力システムにおける第2入力モードでの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面に基づいて説明する。なお、以下に記載する本発明の実施形態は、本発明を具体化する際の一例を示すものであって、本発明の範囲を実施形態の記載の範囲に限定するものではない。従って、本発明は、実施形態に種々の変更を加えて実施することができる。
【0014】
本実施形態は、ウェアラブルディスプレイ端末と、別体に構成されたリモートコントローラとを連携した文字入力システムに係る。ウェアラブルディスプレイ端末の種類として、例えば、ヘッドマウントディスプレイ(以下「HMD」記載する。)、スマートグラス、ARグラス(仮想現実表示グラス)等があり、HMDは没入型でもよいし透過型でもよい。以下では没入型HMDを用いた文字入力システムを例示して説明する。
【0015】
[文字入力システム1の概要]
図1は、本実施形態に係る文字入力システム1の概要を示す図である。図1に示すように、文字入力システム1は、HMD10、リモートコントローラ20、及びパーソナルコンピュータ(以下「PC」と略記する)30を含み、これらを通信接続して構成される。
【0016】
HMD10は、ディスプレイ11、制御装置12、HMD側近距離無線通信機13、及びディスプレイ11をユーザの眼前に保持するための保持体19を備える。HMD側近距離無線通信機13は一例としてBluetooh(登録商標、以下「BT」と略記する)通信機を用いてもよい。
【0017】
リモートコントローラ20は、筐体29にリモコン側近距離無線通信機21を備え、筐体29の背面に操作ボタン22を備える。リモコン側近距離無線通信機21は一例としてBT通信機を用い、HMD側近距離無線通信機13又はPC30と通信接続される。HMD10が映像生成処理を行う場合はリモートコントローラ20の操作信号をHMD10が直接受信してHMD10に表示する映像に反映させてもよい。またPC30が映像生成処理を行い、その映像信号をHMD10が受信して表示する態様であれば、リモートコントローラ20の操作信号はPC30が受信するように構成されてもよい。本実施形態では、後者例に挙げて以下の説明を行う。
【0018】
PC30は、例えばデスクトップパソコンを用いて構成される。PC30は、インターネットなどの通信ネットワーク40を介して仮想現実提供サーバ50に通信接続されてもよい。そして仮想現実提供サーバ50から仮想現実の描画データをPC30が受信し、仮想現実映像データを生成してHMD10にPC30から送信する。その際、PC30はリモートコントローラ20から受信した操作信号に従って文字入力を受け付け、入力された文字を仮想現実映像に重複した仮想現実映像を生成する。以下では仮想現実をVR(Virtual Reality)と記載する。
【0019】
[HMD10の構成]
図2は、HMD10のハードウェア構成図である。HMD10は、プロセッサ101、RAM102、ディスプレイ103、ストレージ104、入力インタフェース105、モーションセンサ106、アウトカメラ107、通信インタフェース108、マイク109、及びスピーカ110を備え、これらが通信バス111により互いに接続されている。
【0020】
プロセッサ101は、ストレージ104に格納されている端末プログラム104Pに含まれる一連の命令を実行することによって、後述する処理を実現する。プロセッサ101は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。
【0021】
RAM(Random Access Memory)102は、揮発性メモリである。
【0022】
一例として、ディスプレイ103は、非透過型の表示装置として実現される。ディスプレイ103は、例えば、ユーザの両目の前方に位置するようにHMD10の本体に配置されている。非透過型のディスプレイ103は、例えば、液晶モニタ、有機EL(Electro Luminescence)モニタとして実現される。
【0023】
他の例として、ディスプレイ103は、透過型の表示装置として実現される。この場合のHMD10は、ユーザの目を覆う密閉型ではなく、メガネ型のような開放型となる。ディスプレイ103は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。一例として、透過型のディスプレイ103は、HMD10に搭載されたカメラで撮像した現実空間の画像を表示してもよい。他の例として、透過型のディスプレイ103は、透過率を調整可能に構成されていてもよい。そして、透過型のディスプレイ103は、表示領域の一部の透過率を高く設定して、現実空間を直接視認できるようにしてもよい。
【0024】
また、ディスプレイ103は、ユーザに3次元画像を視認させるために、以下の構成を採用してもよい。一例として、ディスプレイ103は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含んでもよい。他の例として、ディスプレイ103は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合のディスプレイ103は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【0025】
ストレージ104は、データを永続的に保持する記憶媒体であり、例えば、ROM(Read-Only Memory)、フラッシュメモリ、その他の不揮発記憶媒体として実現される。また、ストレージ104は、メモリカードのように着脱可能な記憶媒体として実現されてもよい。ストレージ104には、HMD10の制御に必要な端末プログラム104Pが格納される。
【0026】
入力インタフェース105は、例えば、USB(Universal Serial Bus)端子である。
【0027】
モーションセンサ106は、HMD10の動き、例えばHMD10をユーザの頭部に装着している場合は、HMD10とユーザの頭部とがほぼ一体となって運動するのでユーザの頭部の動きを検出する。モーションセンサ106は、例えば3軸加速度センサを用いて実現される。
【0028】
アウトカメラ107は、外界映像を撮像するカメラである。没入型のHMD10ではアウトカメラ107のスルー画像をディスプレイ103に表示することでユーザがHMD10を装着したまま外界映像を視認して自分の周囲の状況を把握することができる。
【0029】
通信インタフェース108は、HMD10と外部機器とを通信接続するためのインタフェースである。一例として、通信インタフェース108をUSB端子として構成し、BTドングルをHMD側近距離無線通信機13として用い、リモートコントローラ20又はPC30と近距離無線通信が行えるように構成してもよい。マルチペアリング対応のBT通信機を用いて、リモートコントローラ20とPC30との同時接続を実現してもよい。
【0030】
マイク109は、HMD10周辺の集音を行う装置である。ユーザが音声入力をする際はマイク109がユーザの音声を集音してHMD10に入力し、音声認識処理を実行することで音声入力が行える。
【0031】
スピーカ110は、ディスプレイ103に表示中のコンテンツの音声や、その他の音声を出力する音声出力装置である。
【0032】
[リモートコントローラ20の構成]
図3は、リモートコントローラ20のハードウェア構成図である。リモートコントローラ20は、プロセッサ201、RAM202、ROM203、操作スイッチ204、モーションセンサ205、及びBT通信機206を備え、これらが通信バス209により互いに接続されている。
【0033】
RAM202は、揮発性メモリであり、処理プログラムやデータの一時記憶領域として用いられる。
【0034】
ROM203は、リモートコントローラ20の処理プログラムを格納する。
【0035】
操作スイッチ204は、文字種類の選択、確定を行うためのフリック類似操作を行う際にユーザが押し下げるスイッチである。「フリック類似操作」とは、リモートコントローラ20を振った際の加速度により入力指示を行うための操作である。従来のスマートフォンやタブレット端末で行うフリック操作は、スマートフォンやタブレット端末の表面に積層されたタッチパネルを押圧した状態で指を上下左右の何れかの方向に動かす操作であるが、リモートコントローラ20を用いて同様の操作を行おうとしてもタッチパネルがないためフリック操作そのものは行えない。よって、本実施形態に係る文字入力UIプログラム150を搭載したHMD10では、従来のフリック操作とは全く異なる特有の制御処理を実行しているが、ユーザに対しては疑似的なフリック操作を行ったような操作感を演出することが目的の操作であるため、本実施形態では「フリック類似操作」と称する。なおフリック類似操作は文字選択操作を行うためのリモートコントローラの所定の動作に相当する。
【0036】
モーションセンサ205は、リモートコントローラ20の動きを検出するセンサであり、例えば3軸加速度センサを用いて実現される。
【0037】
プロセッサ201は、例えばMPU(Micro Processor Unit)を用いて構成され、ROM203からリモートコントローラ20の制御プログラムを読み出してRAM202にロードして実行する。プロセッサ201は、操作スイッチ204の操作情報、モーションセンサ205が検出したリモートコントローラ20の動き等を、BT通信機206を介してHMD10に送信する。よってBT通信機206はリモコン側近距離無線通信機に相当する。
【0038】
[PC30の構成]
図4は、PC30のハードウェア構成図である。PC30は、プロセッサ301、RAM302、ROM303、ストレージ304、入力インタフェース305、通信インタフェース306を備え、これらが通信バス309により互いに接続されている。各部の詳細は、HMD10、リモートコントローラ20と重複するので省略する。
【0039】
プロセッサ301は、例えばGPU(Graphics Processing Unit)を用いて実現される。
【0040】
RAM302は、揮発性メモリであり、処理プログラムやデータの一時記憶領域として用いられる。
【0041】
ROM303は、PCのオペレーティングシステムプログラムなどを記憶した不揮発性メモリである。
【0042】
ストレージ304は、HDD(Hard Disk Drive)やSSD(Solid State Drive)など不揮発性記憶媒体により実現され、本実施形態に係る文字入力UIプログラム150(図5参照)や仮想現実表示プログラム160(図5参照)を格納する。
【0043】
[文字入力システム1の機能ブロック図]
図5は、文字入力システム1の機能ブロック図である。図5に示すように、PC30は、文字入力UIプログラム150と仮想現実表示プログラム160とを含む。仮想現実表示プログラム160は任意であるが、以下の説明ではアバターを仮想空間に配置した仮想現実映像を表示中に文字入力を行う例を挙げて説明するため、PC30は、仮想現実表示プログラム160を含むと説明している。また、PC30は、HMD10に対してVR映像等の表示データを送信する通信制御部170を含む。
【0044】
文字入力UIプログラム150は、ポインタ制御部151、文字入力UI表示制御部152、及び文字入力制御部153を含む。これらの各部は、プロセッサ301がストレージ304に格納された文字入力UIプログラム150を読み出してRAM302にロードすることで、文字入力UIプログラム150の各部の機能が実現する。各部の機能については、本実施形態に係る文字入力システム1における処理の流れに沿って後述する。
【0045】
[仮想空間90の概要]
図6は、仮想空間90の一態様を概念的に表す図である。図6に示すように、仮想空間90は、中心Cの360度方向の全体を覆う全天球状の構造を有する。図6では説明を複雑にしないために、仮想空間90の上半分の天球が例示されている。仮想空間90では各メッシュが規定される。各メッシュの位置は、仮想空間90に規定されるグローバル座標系であるXYZ座標系における座標値として予め規定されている。仮想空間90に展開可能なパノラマ画像91(静止画、動画等)を構成する各部分画像は、仮想空間90において対応する各メッシュにそれぞれ対応付けられる。
【0046】
例えば、仮想空間90では、中心Cを原点とするXYZ座標系が規定される。XYZ座標系は、例えば、実座標系に平行である。XYZ座標系における水平方向、鉛直方向(上下方向)、及び前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)が実座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)が実座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)が実座標系のz軸と平行である。
【0047】
仮想空間90の中心CにHMD10のユーザの視点を置き、このユーザ視点から仮想空間90におけるユーザの視線(基準視線93)を中心とするに仮想空間90における視界領域94を規定する。
【0048】
プロセッサ301は、仮想空間90に展開されたパノラマ画像91のうち、視界領域94に含まれる部分画像を、仮想現実映像97として生成(抽出)し、HMD10に表示させる。すなわち、視界領域94は、仮想空間90内におけるユーザの視界に相当する。さらに、仮想空間90内で仮想カメラ92の位置及び向きの変化に追従して視界領域94が移動し、HMD10に表示される仮想現実映像97が更新される。すなわち、ユーザの視界が移動する。
【0049】
文字入力UIプログラム150において表示される文字入力UI320(文字入力インタフェース)は、仮想空間90において視界領域94よりも手前に配置される。従って、HMD10のユーザ視点では、文字入力UI320と仮想現実映像97とが重なる場合は、オクルージョン処理を行い文字入力UI320が仮想現実映像97よりも手前に見えるように表示される。オクルージョン処理では、文字入力UI320の透過率を0%にして文字入力UI320と重複する仮想現実映像97が全く見えないようにすることキーの視認性を向上させてもよいし、透過率を例えば50%に設定し文字入力をしながら仮想現実映像97も視認できるように表示制御してもよい。透過率は0~100%で任意に設定できる。なお、オクルージョン処理において、文字入力UI320は基本的には最前面に表示するが、後述するアバター登録画面よりも奥側に表示させるなど、文字入力UI320の表示順位をユーザに適宜設定させるように構成してもよい。
【0050】
さらにプロセッサ301は、リモートコントローラ20で受け付けたユーザの操作に連動して、文字の選択、入力を行う。具体的にはリモートコントローラ20のモーションセンサ205で検知したリモートコントローラ20の動きに応じて仮想空間90内でポインタ330を移動させる。またプロセッサ101は、モーションセンサ205で検知した加速度と、操作ボタン22が押し下げられたことを示す操作信号とに基づいて文字入力UI320でどの文字が選択されたかを決定し、選択された文字を含む仮想現実映像97をHMD10に表示する。
【0051】
本実施形態に係る文字入力システムは日本語50音の文字入力に好適である。以下では、日本語入力を例に挙げて説明する。本実施形態に係る文字入力システム1には、人差し指の動きと手首の動きとを入力操作に併用する第1入力モードと、指の動きだけで入力操作が行える第2入力モードと、がある。第1入力モードと第2入力モードは、HMD10に表示された設定画面(不図示)においてどちらかのモードを選択して設定する。
【0052】
[第1入力モード]
図7図8は、文字入力システム1における第1入力モードでの処理の流れを示すフローチャートである。図9図10は、HMD10で表示される画面表示例を示す図である。
【0053】
本実施形態に係る文字入力システム1による処理の開始に先立ち、PC30とHMD10、リモートコントローラ20とPC30の間で近距離無線通信接続が確立しているものとする。
【0054】
PC30は仮想現実表示プログラム160を実行し、仮想現実映像として、図9に示すアバター300とアバター登録画面310を含む仮想現実映像を生成し、HMD10に送信する。HMD10はディスプレイ103に表示する(S01)。
【0055】
文字入力UI320の表示条件が成立すると(S02:Yes)、文字入力UI表示制御部152は、文字入力UI320を生成し、PC30からHMD10に送信されてディスプレイ103に文字入力UI320を表示する(S03)。
【0056】
文字入力UI320の表示条件の一例として、ユーザがリモートコントローラ20を操作してポインタ330を図9のアバター登録画面310の文字入力欄311にあてると、仮想現実表示プログラム160が文字入力欄311内にカーソル312を表示し入力待ち状態に遷移する。この入力待ち状態への遷移を文字入力UI320の表示条件としてもよい。
【0057】
文字入力UI表示制御部152は、既述の通り仮想現実映像97の手前に文字入力UI320を配置し、オクルージョン処理を実行する(図6参照)。本実施形態では、文字入力UI表示制御部152は、4行×3列のマトリックス状に12個のキーを配列し、そのうちの10個のキーにひらがな又はカタカナの50音を各キーに5文字ずつ割り当て、残り2個のキーには別の機能、例えば入力モードの変更や、句読点、クエスチョンマーク、エクスクラメーションマークなどの特殊記号の入力機能を割り当てた12キーを含む文字入力UI320を表示する。
【0058】
各キーにはあ行、か行、さ行、た行、な行、は行、ま行、や行、わ行の各文字が割り当てられる。図9図10の文字入力UI320に含まれる12キーでは、各行の先頭文字(第1音、例えばあ行の「あ」に相当する)のみが各キーに表示されており、あ行の第2~第5音(例えば、あ行の「い、う、え、お」に相当する)は表示を省略されている。これにより、各キーに割り当てられた行の視認性が向上すると共に、第2~第5音の表示を省略しても日本語を理解できる者であれば、スマートフォンやタブレット端末の12キーで第2~第5音が第1音を中心に左、上、右、下の順に割り当てられていることを容易に推測できるので、操作性を損ねることはない。なお、各キーにおいて第1音中心に表示し、その周囲に第2~第5音を左、上、右、下の順で配置して表示してもよい。
【0059】
更に本実施形態に係る文字入力UI320は、12キーに加え、削除キー、改行キー、スペースキーなどの機能キーを9個含むが、これは任意である。
【0060】
ポインタ制御部151は、リモートコントローラ20によって示されたポインタが、いずれかのキーに当たっているかを判断する(S04)。ポインタ制御部151は、ポインタ330の仮想空間90内における位置(仮想空間内の3次元座標)を演算する。演算手法はいくつかあるが、一例を挙げるならば、リモートコントローラ20がオンとなった時刻にポインタ330の仮想空間90内の基準点(起点)を自動的に定める。例えば、図6の仮想空間90内において基準視線93とパノラマ画像91との交点をポインタ330の基準点とする。こうすれば、ユーザの視点方向に一致する基準視線93上にポインタ330が表示されるので、リモートコントローラ20をオンにしたときからユーザの視界領域94の中心にポインタ330が表示され、ユーザがポインタ330を見失うといった不具合を回避できる。
【0061】
その後、リモートコントローラ20のモーションセンサ205は、リモートコントローラ20のXYZ軸からなる3次元実空間における加速度を検出する。ここでZX平面は水平面内における2軸であり、Y軸はZX平面に直交する鉛直軸である。X軸は、リモートコントローラ20を把持するユーザの左右方向軸であり、Z軸方向はユーザから見て奥行方向軸である。モーションセンサ205は、X軸方向、Y軸方向、及びZ軸方向の時刻tnにおける加速度(axtn,aytn,aztn)をセンサ情報として検出する。そしてリモートコントローラ20からHMD10に加速度(axtn,aytn,aztn)が送信される。
【0062】
ポインタ制御部151は、加速度(axtn,aytn,aztn)を二重積分して基準点(起点)に加算することで、リモートコントローラ20が指し示している仮想空間90内の方向(又は座標)を演算し、ディスプレイ103の仮想現実映像97にポインタ330を重畳する。ポインタ制御部151は、演算したポインタ330が、文字入力UI320のいずれかのキーに当たっていると判断すると(S04:Yes)、文字入力制御部153はポインタが当たっているキーを文字選択操作待機モードに遷移させる(S04)。以下、文字選択操作待機モードにある状態をアクティベート、文字選択操作待機モードにない状態をインアクティベートという。文字選択操作は、アクティベート中のキーの第1音を選択する場合は、リモートコントローラ20をほぼ動かすことなく操作ボタン22の押し下げ操作、アクティベートしたキーの第2~5音を選択する場合は、リモートコントローラ20の操作ボタン22の押し下げた状態でフリック類似操作を行うことにより実行する。
【0063】
図9の例では、ポインタ330が「ま」行の文字が割り当てられてキー321に重畳しているのでキー321がアクティベートしている。アクティベートキーとインアクティベートキーとの区別は、表示態様の差別化により実現してもよい。表示態様の変化は、表示色の変更、点滅表示、またインアクティベートのキーの透過度は高く(又は低く)、アクティベートされたキーは透過度を低く(又は高く)表示してもよい。表示態様の差別化は、文字入力UI表示制御部152が実行する。
【0064】
PC30がリモートコントローラ20からモーションセンサ205のセンサ情報及び操作ボタン22の押下信号の受信を待機する(S06:No)。PC30がリモートコントローラ20から操作ボタン22の押下信号を受信中に、更にモーションセンサ205のセンサ情報を受信すると(S06:Yes)、ポインタ制御部151はセンサ情報に基づいてポインタの動き方向を演算し、ポインタの動き方向をポインタの現時点の位置を起点とし0方向又は上下左右方向のいずれかに分類する(S07)。
【0065】
図11は、フリック類似操作の方向判定処理についての説明図である。ユーザがフリック類似操作を行ったかはXY平面内のリモートコントローラ20の加速度を基にポインタ制御部151が判定する。よって受信したセンサ情報(axtn,aytn,aztn)のうち、aztnはフリック類似操作の方向判定処理では用いない。ポインタ制御部151は、図11に示すように、
・|加速度axtn|≦maかつ|加速度aytn|≦maであれば、0方向(S08:0方向)、
・加速度axtn<-maかつ|加速度aytn|≦|加速度axtn|あれば左方向(S08:左方向)、
・加速度aytn>maかつ|加速度axtn|≦|加速度aytn|であれば上方向(S08:上方向)、
・加速度axtn>maかつ|加速度aytn|≦|加速度axtn|であれば右方向(S08:右方向)、
・加速度aytn<-maかつ|加速度axtn|≦|加速度aytn|であれば下方向(S08:下方向)、
と判定する(S08)。ma、maはフリック類似操作を誤検出しないために設けた左右方向、上下方向の静止マージン加速度である。静止マージン加速度を設けることで、ユーザがフリック類似操作を意図していないにもかかわらず手が動いたために検出された加速度により、フリック類似操作と認識されることを防ぎ操作性を向上させることができる。なお、本実施形態では、加速度を基にフリック類似操作がされたかを判定したが、加速度を時間積分して速度を求めてフリック類似操作がされたかを判定してもよい。
【0066】
文字入力制御部153は、ポインタの動き方向に応じた文字を選択して確定する。より詳細には、文字入力制御部153は動き方向が0方向であれば(S08:0方向)、アクティベートしたキーに割り当てられた第1音の選択を確定させる(S09)。一例として、第1音はキーの中心に記載された中心文字、「あ行」であれば「あ」として定めてもよい。同様に文字入力制御部153は動き方向が左方向であれば(S08:左方向)、アクティベートしたキーに割り当てられた第2音の選択を確定させ(S10)、動き方向が上方向であれば(S08:方向)、アクティベートしたキーに割り当てられた第3音の選択を確定させ(S11)、動き方向が右方向であれば(S08:右方向)、アクティベートしたキーに割り当てられた第4音の選択を確定させ(S12)、動き方向が下方向であれば(S08:下方向)、アクティベートしたキーに割り当てられた第5音の選択を確定させる(S13)。
【0067】
文字入力制御部153は、ステップS09~S12で選択確定された文字を文字入力領域に入力して表示する(S14)。図10の例では、アクティベートした「ま」行のキーにポインタ330がある状態でリモートコントローラ20の操作ボタン22を押し下げ、リモートコントローラ20を加速度axtn<-maかつ|加速度aytn|≦|加速度axtn|を満たすように振ると、ポインタ330が図10の矢印331で示す方向に移動して左方向へのフリック類似操作をポインタ制御部151が検出し、文字入力制御部153が文字入力欄311に「み」を入力して表示する。なお、図10の矢印331は、説明の便宜のため図示したものであり、ディスプレイ103にはポインタ330が動いて表示されるのみで矢印331は表示されない。
【0068】
PC30において文字入力UI320の表示終了条件が成立するまでは(S15:No)、ステップS04に戻り、文字入力UI320を用いた文字入力を継続する。文字入力UI320の表示終了条件が成立すると(S15:Yes)、文字入力UI表示制御部152は、ディスプレイ103に表示されている文字入力UI320の表示を非表示に遷移させて、文字入力処理を終了する。
【0069】
文字入力UI320の表示終了条件として、例えば仮想現実表示プログラム160がアバター登録画面310の表示を停止した場合や、文字入力欄311内でカーソル312が非表示に遷移したことを条件としてもよい。
【0070】
本実施形態によれば、手指のボタン操作と手首のスナップ動作(フリック類似操作)とを併用して文字入力が行える。従って、リモートコントローラ20にボタンと加速度センサとがあるが、第2モードで使用する4種類の入力が行える操作子がない場合でも、文字入力操作が行える。
【0071】
[第2入力モード]
図12図13図14は、リモートコントローラの操作子へのボタンの割り付け例を示す図である。
【0072】
第2入力モードは、リモートコントローラ20の第1操作子と、第2操作子とを用いる。第1操作子は入力オン、オフの切替が可能な操作子、第2操作子は、4種類の入力が可能な操作子を用いる。
【0073】
図12のリモートコントローラ20Aでは、第1操作子として背面ボタン240を、第2操作子としてスティック241を用いる。そして、背面ボタン240に日本語の母音「あ」行、子音「か、さ、た、な、は、ま、や、ら、わ」の各行の第1音、即ち「あ」行における「あ」を割り当てる。また第2操作子であるスティック241の運動方向を4方向に分類し、その4方向のうちの第1方向(例えば左方向)に各行の第2音、即ち「あ」行における「い」、スティック241の4方向のうちの第2方向(例えば上方向)に各行の第3音、即ち「あ」行における「う」、スティック241の4方向のうちの第3方向(例えば右方向)に各行の第4音、即ち「あ」行における「え」、スティック241の4方向のうちの第4方向(例えば下方向)に各行の第5音、即ち「あ」行における「お」を割り当てる。子音の各行についても同様である。
【0074】
図13のリモートコントローラ20Bでは、第1操作子として背面ボタン240を、第2操作子としてトラックパッド242を用いる。そしてトラックパッド242のタッチ面を4領域に分割し、第1分割領域242aに各行の第2音、即ち「あ」行における「い」、第2分割領域242bに各行の第3音、即ち「あ」行における「う」、第3分割領域242cに各行の第4音、即ち「あ」行における「え」、第4分割領域242dに各行の第5音、即ち「あ」行における「お」を割り当てる。子音の各行についても同様である。なお、背面ボタン240に日本語の母音「あ」行、子音「か、さ、た、な、は、ま、や、ら、わ」の各行の第1音、即ち「あ」行における「あ」を割り当てる点は図12の例と同様である。
【0075】
図14のリモートコントローラ20Cでは、5つのボタンを用いて、第1操作子及び第2操作子を実現する。すなわち、第1操作子として右肩ボタン250を、第2操作子として左ボタン251、上ボタン252、右ボタン253、下ボタン254を用いる。そして右肩ボタン250に日本語の母音「あ」行、子音「か、さ、た、な、は、ま、や、ら、わ」の各行の第1音、即ち「あ」行における「あ」、左ボタン251に各行の第2音、即ち「あ」行における「い」、上ボタン252に各行の第3音、即ち「あ」行における「う」、右ボタン253に各行の第4音、即ち「あ」行における「え」、下ボタン254に各行の第5音、即ち「あ」行における「お」を割り当てる。子音の各行についても同様である。左ボタン251、上ボタン252、右ボタン253、下ボタン254の各ボタンの押下操作は、それぞれ第1操作、第2操作、第3操作、第4操作に相当する。
【0076】
図15図16は、文字入力システム1における第2入力モードでの処理の流れを示すフローチャートである。図15図16において、図7図8で示した第1入力モードの処理の流れと共通するステップについては重複説明を省略する。
【0077】
PC30は、アクティベートしたキーがある状態で(S05)、リモートコントローラ20から背面ボタン240又は右肩ボタン250の押下信号を受信すると(S21:Yes)、母音又は子音の第1音の選択を確定し(S22)、ステップS14へ進む。
【0078】
一方、PC30は、アクティベートしたキーがある状態で(S05)、リモートコントローラ20から背面ボタン240が押し下げられておらず(S21:No)、スティック241の方向操作信号、トラックパッド242のタッチ信号、又は上下左右ボタン251~254の押下信号を受信すると(S23:Yes)、方向操作信号、タッチ信号、押下信号に従って、第2音から第5音のいずれかの選択が確定し(S10~S13)、ステップS14へ進む。背面ボタン240の押下信号、及びスティック241の方向操作信号、トラックパッド242のタッチ信号、又は上下左右ボタン251~254の押下信号のいずれも受信しなければ(S23:No)、ステップS15へ進む。
【0079】
第2入力モードによれば、フリック類似操作のように手首のスナップ動作を用いることなく、手指の操作だけで文字入力が行える。
【0080】
第2入力モードの変形例として、ステップS21で背面ボタン249の押下信号を受信している状態のまま、スティック241の方向操作信号、トラックパッド242のタッチ信号、又は上下左右ボタン251~254の押下信号を受信すると(S23:Yes)、方向操作信号、タッチ信号、押下信号に従って、第2音から第5音のいずれかの選択が確定し(S10~S13)、ステップS14へ進むように構成してもよい。この場合は、例えば背面ボタン249の押下信号のみが所定時間、例えば1秒以上継続すると第1音が選択されたと判断するように構成されてもよい。
【0081】
第2入力モードの他の変形例として、背面ボタン240が備えられていないリモートコントローラ、又は背面ボタン240が備えられていてもスティック241のみ、又はトラックパッド242のみで入力できるようにしてもよい。例えば、スティック241を上下左右に倒すことなく押し込む動作をすると(図11と0方向入力に相当する)第1音が選択されるように構成されてもよい。またトラックパッド242のタッチ面を図11で示す5領域に分割して、中央領域(図11の0方向領域)をタッチすると第1音が選択されるように構成されてもよい。この変形例では図15のS21の判定は経由しなくてもよい。
【0082】
[自動切り替えモード]
上記では、第1入力モード又は第2入力モードのどちらか一方のみが有効であるとして説明したが、第1入力モード又は第2入力モードを自動で切り替えして文字入力を受け付けてもよい。自動検出による場合は、スナップ操作(フリック類似操作)を検出すると第1入力モード、スティック操作を検出すると第2入力モードに切り替わる。
【0083】
本実施形態によれば、HMDなどのウェアラブルディスプレイ端末の装着時の文字入力がリモートコントローラを用いることで円滑に行え、操作性が向上する。例えばジェスチャー動作と比較すると、ジェスチャー動作では指をアウトカメラで認識する必要がある。ここで、ポインタよりも太い指でも隣接するキーをおさない大きさでキーを表示する必要があるので、文字入力UIの表示領域がリモートコントローラを用いる場合と比べて大きくなり、限られたディスプレイ103の表示領域に他の仮想現実オブジェクト、例えばアバターや入力欄を表示しにくくなるという制約が生じる。これに対して本実施形態では、リモートコントローラを用いてポインタをキーに合わせてフリック類似操作を行うので、キーはポインタが重なる大きさがあればよく、ディスプレイ103の表示領域の有効活用が行える。
【0084】
また、本実施形態では、ポインタがキーに重畳するようにリモートコントローラの向きを変えてリモートコントローラの操作ボタンを押しながらリモートコントローラを所望する方向に振るフリック類似操作を行うだけで文字の選択操作及び入力表示が行えるので、ジェスチャー動作よりもより文字入力に必要な操作が簡易となりの文字入力の操作性が向上する。
【0085】
上記実施形態は本発明の一実施形態を示すにすぎず、本発明は上記実施形態に限定されない。また本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の装置で分担して実行されてもよい。
【0086】
例えば、リモートコントローラ20に赤外線発光器を搭載し、HMD10とは別体に構成された複数の赤外線受光器を配列したレシーバを設けてもよい。そしてリモートコントローラ20から照射された赤外線をレシーバに搭載したどの赤外線受光器が受信したかにより、レシーバからみたリモートコントローラの20の相対位置(リモコン相対位置という)を検出する。同様にレシーバとHMD10との間で赤外線通信を行い、HMD10がレシーバの相対位置を検出する。HMD10は、レシーバからリモコン相対位置を受信し、HMD10からみたレシーバの位置にさらにリモコン相対位置を加算することで、レシーバを中継してHMD10に対するリモートコントローラ20の相対位置を検出し、その相対位置をポインタ330で表示するように構成してもよい。この場合、リモートコントローラ20のモーションセンサ205のセンサ情報は、フリック類似操作の検出にのみ用いればよい。
【0087】
また、文字入力UIとして12キーを例に挙げたが、101個のキーがある「101キーボード」であっても、ポインタがキーに重畳するようにリモートコントローラ20を動かし、操作ボタン22を押し下げながら所定の加速度以上で動かすフリック類似操作により、文字入力を行ってもよい。101キーボードでキーに対して1文字のアルファベットが割り当てられている場合は、動き方向までは検出しなくてもよくどの方向でもフリック類似操作が検出されると文字選択操作が確定したと判定すればよい。
【0088】
さらに、プログラムによって実現される各手段の一部または全部は、集積回路などのハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。
【符号の説明】
【0089】
1:文字入力システム,10:HMD,11:ディスプレイ,12:制御装置,13:HMD側近距離無線通信機,19:保持体,20:リモートコントローラ,20A:リモートコントローラ,20B:リモートコントローラ,20C:リモートコントローラ,21:リモコン側近距離無線通信機,22:操作ボタン,29:筐体,30:PC,40:通信ネットワーク,50:仮想現実提供サーバ,90:仮想空間,91:パノラマ画像,92:仮想カメラ,93:基準視線,94:視界領域,97:仮想現実映像,101:プロセッサ,102:RAM,103:ディスプレイ,104:ストレージ,104P:端末プログラム,105:入力インタフェース,106:モーションセンサ,107:アウトカメラ,108:通信インタフェース,109:マイク,110:スピーカ,111:通信バス,150:文字入力UIプログラム,151:ポインタ制御部,152:文字入力UI表示制御部,153:文字入力制御部,160:仮想現実表示プログラム,170:通信制御部,201:プロセッサ,202:RAM,203:ROM,204:操作スイッチ,205:モーションセンサ,206:BT通信機,209:通信バス,240:背面ボタン,241:スティック,242:トラックパッド,242a:第1分割領域,242b:第2分割領域,242c:第3分割領域,242d:第4分割領域,249:背面ボタン,250:右肩ボタン,251:左ボタン,252:上ボタン,253:右ボタン,254:下ボタン,300:アバター,301:プロセッサ,302:RAM,303:ROM,304:ストレージ,305:入力インタフェース,306:通信インタフェース,309:通信バス,310:アバター登録画面,311:文字入力欄,312:カーソル,321:キー,330:ポインタ,331:矢印
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16