以下、図面と共に本発明に係る入力システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る入力システム1を示す。入力システム1は、三次元空間における、ユーザの指等の対象物体の位置に基づいて、二次元の入力領域における指定位置(操作位置)を示す情報を入力するシステムである。即ち、入力システム1は、仮想タッチパネルを実現するシステムである。入力システム1によって入力された指定位置を示す情報は、通常のタッチパネルによって入力される指定位置を示す情報と同様に任意のアプリケーション等で利用される。
図1に示すように入力システム1は、センサ10と、情報機器であるPC(パーソナルコンピュータ)20とを含んで構成される。但し、入力システム1は、PC20のみから構成されていてもよい。なお、情報機器は、PC20である必要はなく、スマートフォン又はタブレット等の情報処理装置であってもよい。また、PC20には、表示装置30が接続されていてもよい。表示装置30も、入力システム1に含まれていてもよい。表示装置30は、PC20から表示対象となる表示情報を入力して表示する。表示情報には、入力領域に相当する情報及び入力された指定位置を示す情報が含まれ得る。表示装置30は、例えば、空間(空中)に画像(映像)を投影して表示を行う装置であってもよいし、ディスプレイに表示を行う装置であってもよい。あるいは、表示装置30は、プロジェクタ等の壁等に画像(映像)を投影して表示を行う装置であってもよい。
表示装置30によって空間に画像が投影される場合には、例えば、図2(a)に示すように、空間の画像(空中像)D1が表示される領域(三次元空間)が、ユーザが操作を行うための操作領域Op1として設定され得る。表示装置30によってディスプレイに表示が行われる場合には、例えば、図2(b)に示すように、ディスプレイの表示画面D2から離れた領域(三次元空間)が操作領域Op2として設定され得る。三次元空間である、それぞれの操作領域Op1,Op2におけるユーザの指Fの位置に基づいて、指定位置を示す情報が入力される。
引き続いて、本実施形態に係る入力システム1に含まれるセンサ10と、PC20との機能を説明する。センサ10は、指定位置を示す情報の入力に用いられる対象物体の三次元空間における位置を検出する装置である。対象物体は、例えば、上述したようにユーザの指である。但し、対象物体は、位置の指定に用いることが可能な物体であればどのような物体としてもよい。本実施形態では、対象物体をユーザの指として説明する。センサ10としては、例えば、従来から位置検出に用いられている任意のセンサが用いられる。具体的には、センサ10としては、Leap Motionで用いられている2基の赤外線カメラによって画像を撮像し、撮像した画像を解析してユーザの手及び指先の位置を割り出すセンサが用いられる。センサ10は、ユーザの指を検出できる位置に配置される。図3に示すように、センサ10は、ユーザの指の位置を、センサ10が配置される位置を原点とした座標軸の三次元座標として検出する。
センサ10とPC20とは、有線又は無線によって情報の送受信が行えるように構成されている。センサ10は、検出したユーザの指の三次元座標を示す情報をPC20に送信する。センサ10によるユーザの指の三次元座標の検出及び三次元座標を示す情報のPC20への送信はリアルタイムに行われる。
PC20は、センサ10からユーザの指の三次元座標を示す情報を受信し、当該情報によって示される三次元座標から指定位置を算出する装置である。PC20は、装置としては従来のPCと同様の装置を用いることができる。
図1に示すように、PC20は、設定用位置入力部21と、操作領域設定部22と、指定位置用位置入力部23と、指定位置算出部24とを備えて構成される。なお、PC20は、これらの機能部21〜24以外にも、従来のPCが通常備えている機能、例えば、算出(入力)した指定位置を示す情報を利用する機能を備えていてもよい。但し、指定位置を示す情報は、必ずしもPC20において利用される必要はなく、PC20から別の装置に出力されて別の装置で利用されてもよい。
設定用位置入力部21は、操作領域の設定に用いる、三次元空間におけるユーザの指の4つの設定用位置を示す情報を入力する機能部である。本実施形態において入力システム1は、三次元空間におけるユーザが指定位置を入力するための領域である操作領域を設定する。本実施形態では、操作領域の設定をキャリブレーションと呼ぶ。
本実施形態では、指定位置が入力される入力領域は、表示装置30によって表示される画面の領域に対応し、長方形等の矩形であるものとする。操作領域は、上述したように三次元空間上に設定される領域である。操作領域は、入力領域に対応する形状であり、例えば、矩形とされる。設定用位置は、当該矩形の操作領域の頂点に対応する(但し、後述するように、通常、設定用位置そのものは操作領域の頂点にはならない)。設定用位置は、ユーザの指の位置によって指定される。即ち、キャリブレーションにおいて、ユーザが、自分で操作領域としたい空間の位置を指で指すことで指定する。図4に示すように、本実施形態では、4つの設定用位置の指定は、左上の位置、右上の位置、左下の位置、右下の位置の順番で行われる(それぞれを設定用位置A,B,C,Dとする)。
キャリブレーションは、例えば、ユーザによるPC20に対するキャリブレーション開始の操作(具体的には、当該操作のコマンドの入力)をトリガとして開始される。なお、ユーザによって当該操作が行われた際に、表示装置30によって表示される画面にキャリブレーションを開始する旨の表示(例えば、キャリブレーションを行うために指差しを行わせる旨の表示)を行うこととしてもよい。
設定用位置入力部21は、当該操作を受け付けて、キャリブレーションを開始する。キャリブレーションを開始すると、設定用位置入力部21は、センサ10から、ユーザの指の三次元座標を示す情報をリアルタイムに受信する。ここで、ユーザは、自身の指を設定用位置に移動させて、PC20に対して設定用位置を指差した旨の操作(具体的には、指差しのコマンドの入力)を行う。設定用位置入力部21は、当該操作を受け付けて、当該操作が行われたタイミングにおけるユーザの指の三次元座標を設定用位置とする。上記の処理を4回繰り返して、4つの設定用位置を示す情報を入力する。設定用位置入力部21は、4つの設定用位置A,B,C,Dを示す情報を入力すると、当該情報を操作領域設定部22に出力する。
なお、設定用位置を示す情報の入力は、上記のように指差しのコマンドの入力をトリガとして行われるのではなく、自動化させることとしてもよい。例えば、設定用位置入力部21は、センサ10からの情報に基づき、指が一定時間静止したことを検出して、一定時間静止した三次元座標を設定用位置としてもよい。なお、機能部としての設定用位置入力部は、センサ10を含んでいてもよい。
操作領域設定部22は、設定用位置入力部21によって入力された情報によって示される設定用位置に基づき、三次元空間における面を算出し、算出した面及び当該設定用位置から、入力領域に対応付けて三次元空間における操作領域を設定する機能部である。
操作領域設定部22は、設定用位置入力部21から4つの設定用位置A、B,C,Dを示す情報を入力する。操作領域設定部22は、当該情報によって示される4つの設定用位置A、B,C,Dの三次元座標から、操作領域の設定に用いられる面である平面を算出する。操作領域設定部22は、算出する平面と設定用位置A、B,C,Dとの距離に基づいて、当該平面を算出する。具体的には、操作領域設定部22は、4つの設定用位置A、B,C,Dの三次元座標から、最小二乗法により、平面を求める。これにより、平面とそれぞれの設定用位置A、B,C,Dとの距離の平方和が最小となる平面が算出される。
続いて、操作領域設定部22は、算出した平面の法線ベクトルNを算出する。操作領域設定部22は、4つの設定用位置A、B,C,Dそれぞれから、平面上に法線ベクトルNを伸ばし、平面と交わった点をそれぞれ位置A´,B´,C´,D´とする。操作領域設定部22は、位置A´,B´,C´,D´の中心点Pを算出する。例えば、中心点Pは、各位置A´,B´,C´,D´の座標の和の平均値とする。
操作領域設定部22は、センサ10を原点とした座標系x−y−zを新たな座標系x´−y´−z´に変換する。操作領域設定部22は、新たな座標系の原点O´を、上記の中心点Pとする。操作領域設定部22は、z´軸を、法線ベクトルNの方向とする。操作領域設定部22は、x´軸及びy´軸については、例えば、以下のように設定する。操作領域設定部22は、位置A´から位置B´へのベクトルと、位置C´から位置D´へのベクトルとの平均のベクトルを算出し、算出した平均のベクトルの方向をx´軸とする。操作領域設定部22は、上記のz´軸及びx´軸と垂直な方向をy´軸とする。このようにして算出した、位置A´,B´,C´,D´及び座標軸は、例えば、図5(a)に示すものとなる。あるいは、位置A´から位置C´へのベクトルと、位置B´から位置D´へのベクトルとの平均のベクトルを算出し、算出した平均のベクトルの方向をy´軸とし、上記のz´軸及びy´軸と垂直な方向をx´軸とすることとしてもよい。
また、ユーザが一定の向きに設定用位置A,B,C,Dを指定すると考えられる場合には、以下のように新たな座標系x´−y´−z´を設定することとしてもよい。操作領域設定部22は、新たな座標系の原点O´を上記の中心点Pとし、仮のx´軸、y´軸及びz´軸をx軸、y軸及びz軸と同じ方向とする。操作領域設定部22は、y´軸を中心として、x´軸及びz´軸をθ°回転させて、x´軸を算出した平面上に乗るようにする。また、操作領域設定部22は、x´軸を中心として、y´軸及びz´軸をφ°回転させて、y´軸を算出した平面上に乗るようにする。上記の軸の回転によって、x´軸及びy´軸は、算出した平面に乗り(平面と平行になり)、z´軸は、法線ベクトルNの方向となる。上記のx´軸及びy´軸が、A´,B´,C´,D´によって構成される四角形の横方向及び縦方向に(概ね)一致するように、ユーザが一定の向きに設定用位置A,B,C,Dを指定する場合には、上記の方法のように新たな座標系x´−y´−z´を設定してもよい。
続いて、操作領域設定部22は、以下のように矩形の操作領域のサイズを決定する。図5(b)に示す位置A´´,B´´,C´´,D´´によって構成される矩形を操作領域(のサイズ)とする。操作領域設定部22は、A´´C´´の長さ(位置A´´と位置C´´との間の長さ、以下同様)及びB´´D´´の長さ、即ち、操作領域の縦方向の長さ(サイズ)を、O´A´、O´B´、O´C´、O´D´のそれぞれのy´軸方向の長さの平均値×2とする。操作領域設定部22は、A´´B´´及びC´´D´´の長さ、即ち、操作領域の横方向の長さ(サイズ)を、O´A´、O´B´、O´C´、O´D´のそれぞれのx´軸方向の長さの平均値×2とする。
操作領域設定部22は、上記のようにサイズを設定した矩形の操作領域を、中心を座標系の原点O´の位置とし、A´´C´´及びB´´D´´の方向(操作領域の縦方向)がy´軸と平行、かつA´´B´´及びC´´D´´の方向(操作領域の横方向)がx´軸と平行にして、算出した平面上に設定する。
また、上記の方法によって設定された位置A´´,B´´,C´´,D´´による領域が、位置A´,B´,C´,D´によって構成される四角形とずれることを考慮して、操作領域設定部22は、更に、位置A´,B´,C´,D´によって構成される四角形と重複する領域が最も大きくなる位置(角度)に点O´を中心に位置A´´,B´´,C´´,D´´による領域を回転させて、操作領域の位置を設定することとしてもよい。
操作領域のサイズは、上下左右のずれを考慮して、上記以外にも、以下のように算出してもよい。操作領域設定部22は、O´A´´及びO´B´´のy´軸方向の長さ(図5(b)の長さs)を、O´A´及びO´B´のそれぞれのy´軸方向の長さの平均値とする。操作領域設定部22は、O´C´´及びO´D´´のy´軸方向の長さ(図5(b)の長さt)を、O´C´及びO´D´のそれぞれのy´軸方向の長さの平均値とする。操作領域設定部22は、O´A´´及びO´C´´のx´軸方向の長さ(図5(b)の長さu)を、O´A´及びO´C´のそれぞれのx´軸方向の長さの平均値とする。操作領域設定部22は、O´B´´及びO´D´´のx´軸方向の長さ(図5(b)の長さv)を、O´B´及びO´D´のそれぞれのx´軸方向の長さの平均値とする。
また、操作領域設定部22は、操作領域と入力領域との対応付けを行う。操作領域設定部22は、予め入力領域の形状及び縦横の長さを記憶しており、記憶した入力領域に係る情報、及び上記のように設定した操作領域に係る情報に基づいて、対応付けを行う。対応付けは、例えば、操作領域における縦横の相対的な位置が、入力領域における縦横の相対的な位置に一致するように行われる。なお、入力領域の左上の点は、操作領域の左上の点(図5(b)の点A´´)に、入力領域の右上の点は、操作領域の右上の点(図5(b)の点B´´)に、入力領域の左下の点は、操作領域の左下の点(図5(b)の点C´´)に、入力領域の右下の点は、操作領域の右下の点(図5(b)の点D´´)にそれぞれ対応させて、上記の対応付けが行われる。対応付けは、具体的には例えば、操作領域における三次元位置から、入力領域における位置を算出する関数(操作領域における三次元位置を、入力領域における位置に変換する関数)を算出することで行われる。
操作領域設定部22は、設定した操作領域に係る情報、例えば、三次元空間における操作領域を示す情報、及び操作領域における三次元位置から、入力領域における位置を算出する関数等を指定位置算出部24に出力する。設定用位置入力部21及び操作領域設定部22によって、操作領域の設定、即ち、キャリブレーションが完了する。
上記のように操作領域の設定を行った場合、それぞれが矩形である操作領域のアスペクト比と入力領域のアスペクト比とが互いに異なり得る。そこで、操作領域のアスペクト比を入力領域のアスペクト比と同じにする目的で、操作領域設定部22は、以下のように操作領域を設定してもよい。
即ち、操作領域設定部22は、操作領域を、入力領域に応じた形状にすると共に設定用位置A、B,C,Dによって形作られる形状の大きさに応じた大きさとする。具体的には、操作領域設定部22は、上記の位置A´´,B´´,C´´,D´´から決定される矩形の縦横の長さから、入力領域のアスペクト比での操作領域の大きさを決定する。この際、位置A´´,B´´,C´´,D´´から決定される矩形の縦の長さをA´´C´´及びB´´D´´の長さとし、当該矩形の横の長さをA´´B´´及びC´´D´´の長さとする。操作領域設定部22は、当該矩形の縦横の長さと縦横の長さが最も近く、かつ入力領域のアスペクト比と同じ矩形を操作領域の形状とする。即ち、図6に示すように、操作領域設定部22は、縦の長さを横軸とし、横の長さを縦軸としたグラフにおいて、入力領域のアスペクト比(画面アスペクト比)を示す直線のうち、位置A´´,B´´,C´´,D´´から決定される矩形の縦横の長さを示す点(取得サイズ)と最短距離の点(切り出しサイズ)によって示される縦横の長さの矩形を操作領域の形状とする。
また、上記の説明では、操作領域は矩形であることとしたが、必ずしも矩形としなくてもよい。例えば、図7(a)に示す、上述した位置A´,B´,C´,D´によって構成される四角形の領域を操作領域としてもよい。その場合、操作領域と入力領域との対応付けは以下のように行われる。図7(a)に示すように、操作領域設定部22は、操作領域を、点O´点A´点B´を結ぶ三角形、点O´点B´点D´を結ぶ三角形、点O´点D´点C´を結ぶ三角形、及び点O´点C´点A´を結ぶ三角形の4つの領域に分割する。また、図7(b)に示すように、操作領域設定部22は、矩形の入力領域についても、入力領域の中心点を点O´とし、操作領域と同様に4つの領域に分割する。操作領域設定部22は、分割した対応する三角形の領域毎に、操作領域と入力領域との対応付けを行う。例えば、点O´点A´点B´を結ぶ三角形上の点(図中の(1)上の点)については、ベクトルO´A´及びベクトルO´B´の重み付けされた和で表すことができる。
PC20の以下の構成は、キャリブレーションの結果を用いて、指定位置を示す情報を入力するための構成である。指定位置用位置入力部23は、指定位置の算出に用いる、三次元空間におけるユーザの指の指定位置用位置を示す情報を入力する機能部である。指定位置用位置を示す情報の入力は、PC20が指定位置の入力が行われる状態である際に行われる。例えば、PC20において、指定位置を用いるアプリケーションがユーザのPC20に対する操作によって起動された場合、PCが当該状態となる。当該状態において、ユーザは、指定位置を示す情報を入力するために、自身の指を当該指定位置に対応する三次元空間における位置に動かす。
当該状態において、指定位置用位置入力部23は、センサ10から、ユーザの指の三次元座標を示す情報を、指定位置用位置を示す情報としてリアルタイムに受信する。指定位置用位置入力部23は、受信した指定位置用位置を示す情報を指定位置算出部24に出力する。
指定位置算出部24は、操作領域設定部22によって設定された操作領域、及び指定位置用位置入力部23によって入力された情報によって示される指定位置用位置に基づき、入力領域における指定位置を算出する機能部である。設定用位置入力部21及び操作領域設定部22によって、操作領域の設定、即ち、キャリブレーションが完了した段階で、指定位置算出部24は、操作領域設定部22から操作領域に係る情報を入力して、記憶しておく。指定位置の算出には、当該情報が用いられる。
指定位置算出部24は、指定位置用位置入力部23から指定位置用位置を示す情報を入力する。当該情報を入力すると、指定位置算出部24は、指定位置用位置から、操作領域の平面の法線ベクトルN(操作領域設定部22によって算出された法線ベクトルN)を伸ばし、操作領域と交わるか否かを判断する。法線ベクトルが操作領域と交わらないと判断した場合、指定位置算出部24は、指定位置用位置に対応する指定位置はないものと判断し、指定位置を算出しない。
法線ベクトルが操作領域と交わると判断した場合、指定位置算出部24は、操作領域における交わった点を算出して、算出した点から指定位置を算出する。この算出は、操作領域設定部22によって行われた操作領域と入力領域との対応付けを示す情報に基づいて行われる。即ち、指定位置算出部24は、操作領域における交わった点、即ち、ユーザの指の三次元空間における位置に対応する操作領域における位置を、上記の対応付けに基づいて指定位置に変換する。
指定位置の算出は、指定位置用位置と操作領域との間の距離が、予め設定された閾値を超える場合には行わず、閾値以下の場合のみに行うこととしてもよい。操作領域とユーザの指とが互いに大きく離れている場合には、指定位置を算出(入力)することが妥当でないとも考えられるためである。
指定位置算出部24は、算出した指定位置を示す情報を出力する。例えば、指定位置算出部24は、当該情報を、指定位置を利用するアプリケーション等に出力する。指定位置は、出力先において適宜利用される。また、指定位置算出部24は、表示装置30に対して算出した指定位置にカーソルを表示させてもよい。以上が、本実施形態に係る入力システム1の機能構成である。
引き続いて、図8及び図9のフローチャートを用いて、本実施形態に係る入力システム1で実行される処理(入力システム1が行う動作方法)を説明する。まず、図8のフローチャートを用いて、キャリブレーションが行われる際の処理を説明する。上述したように、本処理は、例えば、ユーザによるPC20に対するキャリブレーション開始の操作をトリガとして開始される。
本処理では、センサ10及び設定用位置入力部21によって、三次元空間におけるユーザの指の位置である、4つの設定用位置を示す情報が入力される(S01)。続いて、操作領域設定部22によって、4つの設定用位置から平面が算出される(S02)。続いて、操作領域設定部22によって、設定される操作領域のサイズ、即ち、操作領域の縦横の長さが算出される(S03)。続いて、操作領域設定部22によって、平面における操作領域の位置が決定されて、操作領域が設定される(S04)。続いて、操作領域設定部22によって、操作領域と入力領域との対応付けが行われる(S05)。操作領域設定部22によって設定された操作領域に係る情報は、指定位置算出部24に出力されて、指定位置算出部24に記憶される。以上が、キャリブレーションが行われる際の処理である。
続いて、図9のフローチャートを用いて、指定位置の算出(入力)が行われる際の処理を説明する。上述したように、本処理は、PC20が指定位置の入力が行われる状態である際に行われる。
本処理では、センサ10及び指定位置用位置入力部23によって、三次元空間におけるユーザの指の位置である指定位置用位置を示す情報が入力される(S11)。続いて、指定位置算出部24によって、操作領域設定部22によって設定された操作領域、及び指定位置用位置入力部23によって入力された情報によって示される指定位置用位置に基づき、入力領域における指定位置が算出される(S12)。続いて、表示装置30によって、指定位置にカーソルが表示される(S13)。また、算出(入力)された指定位置を示す情報は、PC20内のアプリケーション等で適宜利用される。上記の処理(S11〜S13)は、PC20が指定位置の入力が行われる状態では繰り返し行われる。以上が、指定位置の算出(入力)が行われる際の処理である。
上述したように本実施形態では、4つの設定用位置から、指定位置を入力するための操作領域が設定される。この設定により、ユーザが自由に操作領域を決定することができる。従って、本実施形態によれば、ユーザが入力しようとしている指定位置と実際に入力される指定位置との間に生じるずれを低減させ、ユーザの操作性を向上させることができる。具体的には、ジェスチャによる操作を、ユーザにより適切に行わせることができる。なお、上記のずれは、ユーザ自身の指先位置と視覚での認識位置のずれ、指先のぶれによる認識位置のずれ、及びセンサの認識誤差等に起因して生じ得る。本実施形態では、ユーザが任意の操作領域を決定できることで、上記のずれを低減することができる。
また、本実施形態のように、最小二乗法によって平面を算出して、操作領域を算出することとしてもよい。この構成によれば、ユーザによって多くの点(4点以上の点)が指定されて、操作領域が決定される。従って、ユーザ自身が認識している操作領域と、実際に設定されている操作領域とのずれを低減させることができる。従って、ユーザに更に適切に入力を行わせることができる。
また、本実施形態のように、操作領域のアスペクト比を入力領域のアスペクト比に合わせることとしてもよい。この構成によれば、例えば、図2(a)に示すように、空中像に重ねて操作領域を設定する場合に上記のずれを更に低減することができ、ユーザに更に適切に入力を行わせることができる。
なお、上述した実施形態では、キャリブレーションにおいて、4つの設定用位置を示す情報を入力することとしていた。設定用位置は、必ずしも4つである必要はなく、5つ以上の設定用位置を示す情報を入力することとしてもよい。5つ以上の設定用位置を用いる場合であっても、上述した方法と同様に最小二乗法によって平面を求めて操作領域を設定することができる。この場合、例えば、上述のような矩形の頂点4点を設定用位置として必ず指定させ、精度を上げるため、設定用位置として頂点の指定を繰り返させたり、あるいは、平面上の任意の点を指定させたりすることとしてもよい。
また、操作領域は、平面を求めることができれば、設定することができるため、設定用位置は3つでもよい。この場合、最小二乗法ではなく、3つの設定用位置を通る平面を算出する。上記のように本発明では、3つ以上の設定用位置を示す情報を入力することとすればよい。この場合、例えば、四角形の左上の位置、右上の位置、左下の位置(図10の点A、B,C)の3点を設定用位置とし、そこから操作領域を決定するための4点目(図10の点D)を求める。例えば、図10に示すように、点A、B,Cによって構成される三角形に対して、同じ形状及び大きさの三角形を点B,Cの辺を共通にして繋げ、当該繋げた三角形の点B,C以外の頂点(頂点Aの対頂点)を点Dとする。上記の点A,B,C,Dを、上述した点A´,B´,C´,D´として操作領域を設定する。
また、本実施形態では、操作領域は、平面で矩形の形状の領域としたが、必ずしもそのような領域に限られない。例えば、平面以外の領域であってもよいし、矩形以外の形状の領域であってもよい。
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
図11は、本実施形態に係るPC20のハードウェア構成の一例を示す図である。上述のPC20は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。PC20のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
PC20における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、上述のPC20の各機能部21〜24は、プロセッサ1001を含んで実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、PC20の各機能部21〜24は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述のPC20の各機能部21〜24は、通信装置1004を含んで実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、PC20は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
また、上述したようにセンサ10は、赤外線カメラ等のハードウェアを備えて構成されていてもよく、上記の各ハードウェアが備えられていてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
情報の通知は、本明細書で説明した態様/実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC ConnectionReconfiguration)メッセージなどであってもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び/又はシンボルは信号(シグナル)であってもよい。また、信号はメッセージであってもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「手段」を、「部」、「回路」、「デバイス」等に置き換えてもよい。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。