(58)【調査した分野】(Int.Cl.,DB名)
前記補正部は、前記ユーザが右手でタッチしたと判定した場合、前記判定領域を左方向に回転させて、前記ユーザが左手でタッチしたと判定した場合、前記判定領域を右方向に回転させる
請求項3に記載の情報処理装置。
前記補正部は、前記ユーザが右手でタッチしたと判定した場合、前記複数の入力項目の前記表示を左方向に回転させて、前記ユーザが左手でタッチしたと判定した場合、前記複数の入力項目の前記表示を右方向に回転させる
請求項3から5のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0007】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0008】
図1は、情報処理装置10の全体構成図である。情報処理装置10は、タッチパネル14を用いてユーザの選択を入力させる。情報処理装置10は、ユーザがタッチパネル14をタッチしたことに応じて、表示基準点の周囲に文字等の複数の入力項目を表示して、タッチ点からの移動(例えば、フリック)によって入力可能とする。そして、情報処理装置10は、ユーザがタッチしながらタッチ点を移動したときの移動方向の基準方向からのずれ角に応じて、複数の入力項目の表示の配置を補正することによって、ユーザの誤入力を抑制する。
図1に示すように、情報処理装置10は、制御部12と、タッチパネル14と、表示部16と、記憶部18とを備える。情報処理装置10の一例は、スマートフォン等のコンピュータである。
【0009】
制御部12の一例は、CPU(Central Processing Unit)等の処理装置である。制御部12は、取得部20と、検出部22と、算出部24と、判定部26と、配置部28と、補正部30と、確定部32とを有する。制御部12は、記憶部18に記憶されたプログラムを読み込むことによって、取得部20、検出部22、算出部24、判定部26、配置部28、補正部30、及び、確定部32として機能する。尚、取得部20、検出部22、算出部24、判定部26、配置部28、補正部30、及び、確定部32の一部または全部を回路等のハードウェアによって構成してもよい。
【0010】
取得部20は、タッチパネル14上におけるユーザによりタッチされたタッチ点TPの位置に関する情報である位置情報を取得する。取得部20は、タッチ点の位置情報を検出部22、配置部28及び確定部32へ出力する。
【0011】
検出部22は、ユーザの最初のタッチ点TPからのタッチ点の移動方向を検出する。例えば、検出部22は、取得部20から取得した最初のタッチ点TPの位置情報と、最新のタッチ点TPの位置情報との差分からユーザのタッチ点の移動方向を検出する。検出部22は、検出したタッチ点の移動方向を算出部24へ出力する。
【0012】
算出部24は、ユーザのタッチ点TPの移動方向と予め定められた基準方向とのずれ角を算出する。例えば、算出部24は、検出部22から取得したタッチ点TPの移動方向と、予め定められて記憶部18に記憶された基準方向SDn(n=1、2・・)との間の角度をずれ角として算出する。例えば、基準方向SDは、入力項目を選択するための基準となる方向である。尚、基準方向のいずれかを明細書中で特定する必要がない場合、基準方向の符号をSDとする。算出部24は、算出したずれ角DAを補正部30へ出力する。
【0013】
判定部26は、ユーザが右手または左手のいずれかの手でタッチしたかを判定する。例えば、判定部26は、ユーザが右手または左手のいずれかの手でタッチしているかを既知の方法(例えば、特開2013−122711号公報)によって判定する。具体的には、判定部26は、ユーザの親指及び人差し指の筐体上の位置と、情報処理装置10の回転方向によって判定することができる。また、判定部26は、筐体に接触センサを設け、当該接触センサによってユーザの指が接触している個所からユーザが保持している手が右手か左手かを判定してもよい。判定部26は、ユーザから入力された右手または左手の情報によって、右手か左手かを判定してもよい。判定部26は、タッチパネル14上でタッチしている指の形状、特に、上下方向に対する傾きによって、ユーザが保持している手が右手か左手かを判定してもよい。判定部26は、ユーザが右手または左手のいずれかの手でタッチしたかの結果を示す判定結果を補正部30へ出力する。
【0014】
配置部28は、表示部16の画面上の表示基準点の周囲にユーザがタッチ点TPの移動により入力可能な複数の入力項目の表示を配置する。例えば、配置部28は、取得部20から取得したユーザの最初のタッチ点TPの位置情報に対応付けて表示基準点を設定してもよい。この場合、配置部28は、最初のタッチ点TPから予め定められた距離だけ上方の位置に表示基準点を配置してもよい。配置部28は、表示基準点をタッチ点によらず固定してもよい。配置部28は、配置した複数の入力項目の位置に関する情報を補正部30へ出力するとともに、当該複数の入力項目を表示部16に表示させる。
【0015】
また、配置部28は、複数の入力項目のそれぞれに対し、最初のタッチ点TPを基準として、当該入力項目が選択されたか否かを判定するための判定領域JAn(n=0、1、2・・)を割り当てる。尚、判定領域のいずれかを明細書中で特定する必要がない場合、判定領域の符号をJAとする。例えば、配置部28は、取得部20から取得した最初のタッチ点TPの位置情報を中心とする円である中心円の内側を複数の入力項目のうちの1つの判定領域JA0として割り当てる。尚、当該判定領域JAは、入力項目を入力させるために表示部16に表示されたボタンの形状に合わせて、四角形状であってもよい。更に、配置部28は、複数の入力項目のそれぞれに対し、判定領域JA0の外側であって、タッチ点TPを中心として異なる角度の範囲を判定領域JAとして割り当てる。例えば、配置部28は、次式(1)に基づいて、周囲の判定領域JAの個数に応じて、角度の範囲の大きさを算出する。
角度の範囲の大きさ=360/(周囲の判定領域JAの個数) ・・・(1)
従って、例えば、周囲の判定領域JAの個数が4個の場合、角度の範囲の大きさは、90°となる。配置部28は、中心の判定領域JAに関する情報、及び、割り当てた判定領域JAの角度の範囲に関する情報を補正部30へ出力する。
【0016】
補正部30は、ずれ角DAに応じて複数の入力項目の表示の配置を補正する。例えば、補正部30は、算出部24から取得したずれ角DAに応じて、複数の入力項目の表示を表示基準点の周りで回転させて、表示部16に表示させる。例えば、補正部30は、後述する複数の入力項目の表示の基準位置から、予め定められた角度範囲の間で、予め定められた回転方向へと表示部16を回転させて補正する。予め定められた角度範囲の一例は、(1)式に示す角度の範囲の大きさの1/2である。予め定められた回転方向の一例は、持ち手及びタッチした手が左手の場合は右方向であって、持ち手及びタッチした手が右手の場合は左方向である。
【0017】
また、補正部30は、ユーザが右手または左手のいずれかの手でタッチしたかを判定した判定部26の判定結果に基づいて、判定領域JAの位置を最初のタッチ点TPの周りで回転させて補正する。補正部30は、ユーザが右手でタッチしたと判定した場合、判定領域JAを左方向に回転させて、ユーザが左手でタッチしたと判定した場合、判定領域JAを右方向に回転させる。これは、ユーザが例えば左手のみで情報処理装置10を保持した場合、ユーザが当該左手の親指をタッチパネル14にタッチさせつつ、上方に移動させると右斜め上方に移動することが多いことに対応するためである。補正部30は、判定領域JAの配置を回転させる回転角RAを、周囲の判定領域JAの角度の範囲に応じて決定する。例えば、補正部30は、回転角RAを次式(2)に基づいて算出する。
回転角RA=角度の範囲の大きさ/(周囲の判定領域JAの個数) ・・・(2)
この回転角RAは、ユーザが片手で情報処理装置10を保持する場合において、情報処理装置10の斜め下側を保持した場合、及び、情報処理装置10の側部を保持した場合の両方に対応可能な角度である。補正部30は、補正の有無に関わらず判定領域JAの情報を確定部32へ出力する。
【0018】
確定部32は、ユーザの入力によって入力項目を確定して、表示部16に表示させる。例えば、確定部32は、取得部20から取得したユーザのタッチ点の位置情報及び補正部30から取得した判定領域JAの情報に基づいて、ユーザが入力した入力項目を確定する。
【0019】
タッチパネル14は、表示部16の前面、即ち、ユーザ側の面に設けられている。尚、タッチパネル14は、表示部16と異なる位置に設けてもよい。タッチパネル14は、ユーザのタッチを検出する。タッチパネル14は、検出したユーザのタッチ点の座標を取得部20へ出力する。
【0020】
表示部16は、制御部12から入力される画像を表示する。例えば、表示部16は、配置部28、補正部30及び確定部32から取得した入力項目を入力するための画像を表示する。
【0021】
記憶部18は、制御部12と接続されている。記憶部18は、制御部12から入力された情報を記憶して、記憶した情報を制御部12から要求に応じて出力する。例えば、記憶部18は、制御部12が実行するプログラム及びプログラムの実行に必要なパラメータを記憶する。
【0022】
図2は、入力項目として英語の文字を入力するために表示部16に表示される画面表示の一例である。
図2に示すように、配置部28が、表示部16に表示させる入力項目を入力するための画面は、入力領域40と、候補領域42と、選択領域44とを含む。入力領域40には、ユーザによって選択されて入力済みの文字が表示される。入力領域40に表示される文字は、例えば、メールの文面等である。候補領域42は、入力中の文字から予測した候補を表示する。選択領域44は、入力する入力項目を選択するため複数のボタン形状の領域を含む。例えば、「PQRS 7」が表示されているボタンの領域をタッチすることによって、ユーザは、「PQRS 7」のいずれかの文字を入力項目として選択して入力することができる。
【0023】
図3は、英語の文字入力中における第1の入力項目を選択した状態を説明する図である。
図4は、
図3におけるタッチ点TPと判定領域JAとの関係を説明する図である。第1の入力項目の一例は、複数の文字を束ねた文字群である。
図3に示すように、配置部28は、ユーザの指FGによる最初のタッチ点TPが、表示部16の画面上で「PQRS 7」が表示されている領域と判定すると、入力項目である「P」、「Q」、「R」、「S」、及び「7」の5個の文字を束ねた文字群を入力項目の表示46として表示部16に表示させる。例えば、配置部28は、入力項目の表示46の中心が予め定められた表示基準点と一致するように、入力項目の表示46を配置する。
図3に示す表示基準点は、最初のタッチ点TPから予め定められた距離だけ上方とする。配置部28は、「P」を入力項目の表示46の中心に表示して、「Q」を「P」の左方、「R」を「P」の上方、「S」を「P」の右方、「7」を「P」の下方に表示する。配置部28は、最初に入力項目の表示46を表示する場合に、中心の「P」が現在選択されている入力項目であることを示すように当該「P」を四角で囲む等の方法で強調する。尚、
図3に示す複数の入力項目の表示46が、補正されていない表示46の基準位置とする。
【0024】
また、
図4に示すように、配置部28は、黒丸で示すユーザの最初のタッチ点TPに対応付けて判定領域JAを割り当てる。具体的には、配置部28は、最初のタッチ点TPを中心とする中心円の内側を「P」の判定領域JA0として割り当てる。配置部28は、最初のタッチ点TPを基準にして、残りの入力項目のそれぞれに対して基準方向SDを設定する。例えば、配置部28は、残りの入力項目が「Q」、「R」、「S」、及び「7」の4個の場合、90°(=360/4)ずつ回転させた方向を基準方向SDとして設定する。配置部28は、複数の基準方向SDのいずれか1個を上方に設定する。
図4に示す例では、配置部28は、「R」の基準方向SD2を上方に設定する。従って、配置部28は、「Q」の基準方向SD1を左方向に、「S」の基準方向SD3を右方向に、「7」の基準方向SD4を下方向に設定する。配置部28は、各基準方向SDから45°(=角度の範囲の大きさの1/2)ずつ右方向及び左方向に回転させた範囲を各入力項目の角度の範囲として割り当てる。即ち、配置部28は、中心円よりも外側であって、
図4に示す扇形の境界線によって区切られた範囲である角度の範囲を、入力項目「Q」、「R」、「S」及び「7」の判定領域JAn(n=1、2、3、4)として割り当てる。
【0025】
図5は、英語の文字入力中における第1の入力項目を選択した後、第2の入力項目を選択する状態を説明する図である。
図6は、
図5におけるタッチ点TPの移動と判定領域JAとの関係を説明する図である。第2の入力項目の一例は、第1の入力項目の文字群に含まれる複数の文字から選択された単一の文字である。尚、
図5に示す例は、補正部30が、入力項目の表示46及び判定領域JAを補正していない場合である。ユーザは、指FGでタッチパネル14にタッチしつつ、
図5に点線で示す指FGの位置から太線矢印に沿って実線で示す指FGの位置まで上方に指を移動させたとする。
【0026】
この場合、
図6に示すように、確定部32は、「P」の判定領域JA0の外にタッチ点TPが移動して、「R」の判定領域JA2までタッチ点TPが移動したと判定すると、ユーザが現在選択している入力項目が「R」であると判定する。この状態では、確定部32は、入力項目の表示46において、「R」の周りを四角で囲み、ユーザに現在の選択されている入力項目を知らせる。
【0027】
図7は、制御部12による入力項目の入力処理のフローチャートである。
図8及び
図9は、補正された判定領域JAの図である。
図10は、入力項目の表示46を補正した図である。
図11は、
図10における判定領域JAの図である。
図12は、入力項目の表示46の補正を説明する判定領域JAの図である。
図13は、入力項目の表示46の補正を説明する表示46の図である。
図14は、入力項目の表示46の補正を説明する判定領域JAの図である。
図15は、入力項目の表示46の補正を説明する表示46の図である。入力項目の入力処理が開始すると、
図2に示す画面が表示部16に表示される。
【0028】
図7に示すように、判定部26は、情報処理装置10を持つユーザの持ち手が右手か左手か判定する(S10)。判定部26は、判定した判定結果を補正部30へ出力する。
【0029】
取得部20は、タッチパネル14から取得したユーザのタッチ点TPの位置情報に基づいて、ユーザがタッチパネル14の選択領域44にタッチしたか否かを判定する(S12)。取得部20は、ユーザが選択領域44にタッチしたと判定するまで待機状態となる(S12:No)。例えば、
図3に示すようにユーザが、「PQRS 7」が表示されている領域にタッチすると、取得部20は、ユーザが選択領域44にタッチしたと判定して(S12:Yes)、最初のタッチ点TPの位置情報を検出部22、配置部28、及び、確定部32へ出力する。
【0030】
配置部28は、取得部20から最初のタッチ点TPの位置情報を取得すると、入力可能な入力項目の表示46を決定して、
図3に示すように表示部16に表示させるとともに、
図4に示すように最初のタッチ点TPを中心として中心の判定領域JA0及び周囲の判定領域JA1からJA4を割り当てる(S14)。尚、配置部28は、判定領域JAの割り当てとともに、基準方向SDも設定する。
【0031】
補正部30は、判定部26の判定結果に応じて、判定領域JAを補正する。具体的には、補正部30は、判定部26から持ち手が左手との判定結果を取得している場合(S16:Yes)、
図8に示すように、判定領域JAを右方向に回転角RAだけ回転させる(S18)。
図8に示すように角度の範囲の大きさが90°であって周囲の判定領域JAの個数が4個の場合、式(2)から回転角RAは、22.5°となる。尚、補正部30は、基準方向SDを補正しない。補正部30は、判定領域JAの補正に関する情報を確定部32へ出力する。補正に関する情報は、判定領域JAを回転角RA及び回転させた方向である。
【0032】
一方、補正部30は、判定部26から持ち手が右手との判定結果を取得すると(S20:Yes)、
図9に示すように、判定領域JAを左方向に回転角RAだけ回転させる(S22)。補正部30は、補正に関する情報を確定部32へ出力する。
【0033】
補正部30は、判定部26から持ち手が判定不能との判定結果を取得すると、(S16:No、S20:No)、
図4に示す判定領域JAを補正しない。
【0034】
取得部20は、タッチパネル14から取得したタッチ点TPの位置情報に基づいて、タッチ点TPが移動したか否かを判定する(S24)。取得部20は、
図10に示すように、タッチ点TPが移動したと判定すると(S24:Yes)、現在のタッチ点TPの位置情報を検出部22、配置部28、及び、確定部32へ出力する。
【0035】
検出部22は、取得部20から最初のタッチ点TP及び現在のタッチ点TPの位置情報を取得すると、最初のタッチ点TP及び現在のタッチ点TPの位置情報の差分からタッチ点TPの移動方向を検出する(S26)。検出部22は、検出した移動方向を算出部24へ出力する。
【0036】
算出部24は、基準方向SDに対する、検出部22から取得した移動方向のずれ角DAを算出する(S28)。ここで、
図8に示すように、基準方向SDが4方向存在する場合、算出部24は、移動方向との間の角度が最も小さくなる基準方向SDに対する移動方向のずれ角DAを算出する。
図10及び
図11に示す例では、算出部24は、基準方向SD2に対する移動方向のずれ角DAを算出する。尚、ずれ角DAは、基準方向SDと移動方向との間の角度の大きさであって、正負を有さない。従って、ずれ角DAは、0°から45°の間の値となる。算出部24は、算出したずれ角DAを補正部30へ出力する。
【0037】
補正部30は、判定部26の判定結果に応じて、入力項目の表示46を補正する(S32)。具体的には、補正部30は、持ち手が左手の場合、
図10及び
図11に示すように、入力項目の表示46を表示基準点の周りで右方向にずれ角DAの大きさだけ回転させて補正して、表示部16に表示させる。上述したように、ずれ角DAは0°から45°の間の大きさを有する。従って、補正部30は、持ち手が左手の場合、
図3に示す基準位置の状態から、表示基準点の周りで、右方向に0°から45°の間で入力項目の表示46を回転させる。ここで、
図12に示すように、基準方向SD2と移動方向との間の角度が45°以上となり、算出部24が、基準方向SD3と移動方向との間の角度をずれ角DAとして算出している場合、補正部30は、
図3に示す基準位置の表示46の状態から、右方向にずれ角DAの大きさだけ表示46を回転させた状態に補正する。これにより、
図12及び
図13に示すように、表示基準点と入力項目「R」の中心とを連結した直線と基準方向SD2との間の角度は、基準方向SD3と移動方向との間のずれ角DAとなる。ここで、右方向に移動する移動方向と基準方向SD2との間の角度が0°から90°まで変化した場合を考えると、補正部30は、当該角度が0°から45°まで変化している間は表示46を右方向へと徐々に回転させて、その後、当該角度が45°から90°まで変化している間は表示46を左方向へと徐々に回転させる。補正部30は、持ち手が右手の場合、入力項目の表示46を表示基準点の周りで左方向にずれ角DAの大きさだけ回転させて補正して、表示部16に表示させる。従って、補正部30は、持ち手が右手の場合、
図3に示す状態から、表示基準点の周りで、左方向に0°から45°の間で入力項目の表示46を回転させる。補正部30は、入力項目の表示46の補正に関する情報を確定部32へ出力する。
【0038】
確定部32は、取得部20から取得したタッチ点TPの位置情報、及び、補正部30から取得した補正に関する情報から判断される現在の判定領域JAに基づいて、現在の選択されている入力項目を判定する。具体的には、確定部32は、最初のタッチ点TPからの移動距離が判定領域JA0の半径未満ならば(S42:Yes)、中心の判定領域JA0の入力項目「P」が選択されていると判定する(S44)。一方、確定部32は、最初のタッチ点TPからの移動距離が判定領域JA0の半径以上ならば(S42:No)、移動方向が周囲の判定領域JAのうちいずれの角度の範囲内かを判定して、選択されている入力項目を判定する(S46)。尚、確定部32は、入力項目「P」のボタンと入力項目「P」の判定領域JA0とを同じ領域に設定している場合、選択領域44に表示されている入力項目「P」のボタン内であれば、入力項目「P」が選択されていると判定してもよい。この場合、確定部32は、入力項目「P」のボタン外であれば、周囲の判定領域JAのいずれかが選択されていると判定してもよい。また、確定部32は、現在選択していると判定した入力項目の周りを四角で囲むように表示部16に表示させる。例えば、
図12に示すように、タッチ点TPの移動方向が、入力項目「R」と隣接する入力項目「S」との間の境界の近傍であって、入力項目「R」の判定領域JA2内にあるとする。この場合、確定部32は、
図13に示すように入力項目「R」を四角で囲む。次に、
図12に示す状態から、
図14に示すように、移動方向が隣接する入力項目「S」の判定領域JA3となるまで、ユーザがタッチ点TPを移動させたとする。この場合、確定部32は、移動方向が判定領域JAの境界を越えたと判定して、入力項目「R」を囲っていた四角を解除して、
図15に示すように入力項目「S」を四角で囲む。
【0039】
次に、取得部20は、タッチ点TPが離脱したか否かを判定する(S48)。取得部20は、ユーザがタッチパネル14から指を離して、タッチ点TPが離脱したと判定すると(S48:Yes)、離脱した旨を確定部32へ出力する。
【0040】
確定部32は、取得部20からタッチ点TPが離脱した旨の情報を取得すると、現在選択されている入力項目を確定して、入力領域40に表示させる(S50)。
【0041】
一方、取得部20は、タッチ点TPが離脱していないと判定すると(S48:No)、ステップS24以降を再度実行する。
【0042】
尚、ステップS24において、取得部20は、タッチ点TPが移動していないと判定すると(S24:No)、ステップS48を実行する。
【0043】
上述したように、情報処理装置10では、補正部30が、タッチ点TPの移動方向と基準方向SDとのずれ角DAに応じて、入力項目の表示46を補正する。これにより、情報処理装置10は、ユーザのタッチ点TPの移動方向に対応させて現在選択されている入力項目を表示させることができる。この結果、情報処理装置10は、タッチ点TPの移動方向が基準方向からずれていても、ユーザが選択しようとしている入力項目を容易に認識させることができるので、入力項目の誤入力を低減できる。この結果、情報処理装置10は、ユーザフレンドリーなインターフェイスを提供できる。特に、情報処理装置10が大きく片手で持つことが困難な場合でも、誤入力を低減できる。
【0044】
情報処理装置10では、補正部30が入力項目の表示46を0°から45°の狭い範囲で回転させるので、ユーザは文字を囲む四角の位置を見れば、文字を見なくてもいずれの文字が選択されているかを直感的に認識できる。また、情報処理装置10では、ずれ角DAが45°を跨ぐと、即ち、ずれ角DAを算出するための基準方向が変わると、補正部30が入力項目の表示46の回転方向を逆転させるので、ユーザは45°のずれ角DAの近傍に設定されている判定領域JAの境界を容易に認識することができる。
【0045】
また、情報処理装置10では、補正部30が、ユーザが情報処理装置10を保持している手が左手か右手かで判定領域JAを回転させて補正するので、左手または右手のいずれか一方で保持した場合に生じる、基準方向SDからの移動方向のずれに対応できるので、より誤入力を低減できる。従って、情報処理装置10は、ユーザが片手で保持した場合でも、基準方向SDに沿って指を移動させなければならないというユーザの心理的負担と、これに伴う指の無理な動きを軽減できる。
【0046】
上述した実施形態の一部を変更した形態について説明する。
【0047】
図16は、判定部26の判定結果を示す表示の図である。補正部30は、判定部26の判定結果を示す表示を複数の入力項目の表示46と合わせて配置してもよい。例えば、補正部30は、判定部26の判定結果が左手を示す場合、
図16に示すように、左手の親指の表示48を入力項目の表示46と合わせて配置してもよい。これにより、情報処理装置10は、現在判定している手がいずれかをユーザに認識させることができる。
【0048】
タッチパネル14は、制御信号を受けたことに応じて、制御信号により指定された位置を起伏させてもよい。例えば、タッチパネル14は、前面に多数のミクロサイズの孔が形成されているパネルを有し、当該孔に充填された気体または液体等の流体の圧力を制御することによって、起伏を形成させる。この場合、補正部30は、補正した判定領域JAの配置に応じて、タッチパネル14上に起伏を形成させる。例えば、補正部30は、補正した判定領域JAの境界を凸状にする。
【0049】
上述の実施形態では、判定領域を回転させて補正する形態を示したが、判定領域は補正しなくてもよい。
【0050】
上述の実施形態では、英語の文字入力について説明したが、日本語等の他の言語の文字入力、及び、他の入力項目の入力においても、上述の実施形態を適用してもよい。
【0051】
上述の実施形態では、判定部26が右手及び左手を判定する例を示したが、右手及び左手の判定をすることなく、入力項目の表示46をずれ角に応じて補正、例えば、回転させて補正してもよい。
【0052】
図17は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、情報処理装置10の一例である。コンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示部2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、及び、ハードディスクドライブ2040を有する入出力部と、入出力コントローラ2084に接続されるROM2010、メモリドライブ2050及び入出力チップ2070を有するレガシー入出力部とを備える。
【0053】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示部2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0054】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用する表示プログラム等のプログラム及びデータを格納する。
【0055】
また、入出力コントローラ2084には、ROM2010と、メモリドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。メモリドライブ2050は、メモリカード2090から例えば表示プログラム等のプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、メモリドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0056】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、メモリカード2090、又はICカード等の記録媒体に格納されて利用者によって提供される。表示プログラム等のプログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0057】
コンピュータ1900にインストールされ、コンピュータ1900を情報処理装置10として機能させるプログラムは、取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとしてそれぞれ機能させる。
【0058】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得モジュール、検出モジュール、算出モジュール、判定モジュール、配置モジュール、補正モジュール、及び、確定モジュールとして機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置10が構築される。
【0059】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、又はメモリカード2090等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0060】
また、CPU2000は、ハードディスクドライブ2040、メモリドライブ2050(メモリカード2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0061】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。
【0062】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード2090の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0063】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0064】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。