(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、引用文献1に開示されたシステムでは、ゴルフコースの運営者がゴルフコースに専用のICカップや無線ピンを設置する必要がある。そのため、ゴルフコースを運営するためのコストが増大する。
【0007】
引用文献2に開示されたシステムでは、カップインごとに逐一プレーヤーが端末装置を操作する必要があるので、手間を要する。
【0008】
引用文献3に開示されたカウンターは単純に打数をインクリメントするものであり、ホールごとの打数を計算するための工夫が存在しない。
【0009】
本発明は、以上の点に鑑みてなされたものであり、簡易な構成で、 ホールごとの打数を自動的に計算することが可能な情報処理システム及び情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、請求項1に記載の発明は、音入力手段を介して入力された打撃音であって、ゴルフのクラブでボールが打撃される際に生じる打撃音を取得する取得手段と、前記入力された打撃音と、複数種類のクラブのそれぞれについて、クラブでボールが打撃される際に生じる打撃音を、前記クラブの種類に対応付けて予め記憶する記憶手段に記憶された打撃音との比較に基づいて、前記複数種類のクラブのうち使用されたクラブの種類を識別する識別手段と、ボールが打撃された回数である打数を自動的に1打ずつ増加させるカウント手段と、前記識別手段により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、前記増加された打数とに基づいて、1つのホールにおける打数を確定する確定手段と、を備える情報処理システムであることを特徴とする。
【0011】
この発明によれば、情報処理システムは、打撃音に基づいて、使用されたクラブの種類を識別する。また、情報処理システムは、使用されたクラブの種類の時系列から特定されるクラブの種類の変化を用いて、ホールの打数を確定する。従って、簡易な構成で、 ホールごとの打数を自動的に計算することができる。
【0012】
請求項2に記載の発明は、請求項1に記載の情報処理システムにおいて、プレーヤーの所有物及び前記プレーヤーの身体の少なくとも何れか一方に装着可能であることを特徴とする。
【0013】
この発明によれば、プレーヤーの所有物又は身体に情報処理システムが装着される。従って、プレーヤーは情報処理システムを持って行くことができるので、特定のゴルフコースに限定されずに、ホールごとの打数を自動的に計算することができる。
【0014】
請求項3に記載の発明は、請求項1又は2に記載の情報処理システムにおいて、前記記憶手段は、パターでボールが打撃される際に生じる打撃音と、パターと異なる種類のクラブでボールが打撃される際に生じる打撃音とを少なくとも記憶し、前記確定手段は、前記パターの次に、前記パターと異なる種類のクラブが使用されたと前記識別手段により識別された場合、前記パターが使用されたときまでの打数で、前記1つのホールにおける打数を確定することを特徴とする。
【0015】
この発明によれば、情報処理システムが、パターの次に、パターと異なる種類のクラブが使用された場合に、パターが使用されたときまでの打数で、1つのホールの打数を確定する。そのため、ホールごとの打数を適切に確定することができる。その理由は、パターの次に、パターと異なる種類のクラブが使用された場合、プレーヤーはパターを使用してボールをカップインさせた後、次のホールでティーショットを行った蓋然性が高いからである。
【0016】
請求項4に記載の発明は、請求項1又は2に記載の情報処理システムにおいて、前記記憶手段は、パターでボールが打撃される際に生じる打撃音と、ウッドでボールが打撃される際に生じる打撃音とを少なくとも記憶し、前記識別手段により前記ウッドが使用されたと識別されたときから前記パターが使用されたと識別されたときまでの打数で、前記1つのホールにおける打数を確定することを特徴とする。
【0017】
この発明によれば、情報処理システムは、ウッドが使用されたときからパターが使用されたときまでの打数で、1つのホールの打数を確定する。従って、ホールごとの打数を適切に確定することができる。その理由は、プレーヤーは、ウッドを使用してティーショットを行い、パターを使用してボールをカップインさせる蓋然性が高いからである。
【0018】
請求項5に記載の発明は、請求項4に記載の情報処理システムにおいて、前記確定手段は、前記識別手段により前記ウッドが使用されたことが連続して識別された場合、前記ウッドを使用した打撃のうち最初の打撃を、前記1つのホールにおける最初の打撃と推定し、前記識別手段により前記パターが使用されたことが連続して識別された場合、前記パターを使用した打撃のうち最後の打撃を、前記1つのホールにおける最後の打撃と推定することを特徴とする。
【0019】
1つのホールにおける最初の打撃から最後の打撃までの打数が、そのホールの打数である。この発明によれば、情報処理システムは、連続してウッドを使用した打撃のうち最初の打撃を、そのホールにおける最初の打撃と推定する。また、情報処理システムは、連続してパターを使用した打撃のうち最後の打撃を、そのホールにおける最後の打撃と推定する。従って、各ホールの打数の確定精度を高めることができる。その理由の1つとして、プレーヤーがウッドを使用してボールをカップインさせる蓋然性が低く、連続してウッドを使用している途中でプレーヤーがホールアウトする蓋然性が低いということが挙げられる。別の理由として、プレーヤーがパターを使用してティーショットを行う蓋然性が低く、連続してパットを使用している途中でプレーヤーが次のホールのプレーを開始する蓋然性が低いことが挙げられる。
【0020】
請求項6に記載の発明は、請求項1乃至5の何れか1項に記載の情報処理システムにおいて、前記カウント手段は、前記音入力手段、加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも1つを用いた打撃の検出に基づいて、前記打数を増加させることを検出すること特徴とする。
【0021】
請求項7に記載の発明は、請求項1乃至6の何れか1項に記載の情報処理システムにおいて、前記記憶手段は、前記複数種類のクラブのそれぞれについて、前記打撃音の周波数特性を記憶し、前記識別手段は、前記入力された打撃音の周波数特性と、前記記憶手段に記憶された周波数特性との比較に基づいて、前記使用されたクラブの種類を識別することを特徴とする。
【0022】
この発明によれば、情報処理システムが打撃音の周波数特性同士を比較することで、使用されたクラブの識別精度を高めることができる。
【0023】
請求項8に記載の発明は、請求項1乃至7の何れか1項に記載の情報処理システムにおいて、プレーヤーの位置を示す位置情報を取得する位置情報取得手段を更に備え、前記確定手段は、前記取得された位置情報に基づいて、前記プレーヤーが前記1つのホールから別のホールへ移動したと判定された場合にのみ、前記使用されるクラブの種類の変化と前記増加された打数とに基づいて、前記1つのホールにおける打数を確定することを特徴とする。
【0024】
この発明によれば、情報処理システムは、プレーヤーがホール間を移動していない場合、1つのホールにおける打数を確定しない。これにより、各ホールの打数の確定精度を高めることができる。その理由は、プレーヤーがホール間を移動していない場合、プレーヤーがホールアウトした蓋然性が低いからである。
【0025】
請求項9に記載の発明は、請求項1乃至8の何れか1項に記載の情報処理システムにおいて、プレーヤーが移動した程度を示す移動情報を取得する移動情報取得手段を更に備え、前記確定手段は、前記取得された移動情報に基づいて、或る打撃から次の打撃までの間にプレーヤーが移動した程度が所定程度以上である場合にのみ、前記使用されるクラブの種類の変化と前記増加された打数とに基づいて、前記或る打撃までの打数で、前記1つのホールにおける打数を確定することを特徴とする。
【0026】
この発明によれば、情報処理システムは、2つの打撃の間にプレーヤーが移動した程度が所定程度未満である場合、1つのホールにおける打数を確定しない。これにより、各ホールの打数の確定精度を高めることができる。その理由は、プレーヤーがホールアウトして、別のホールに移動する場合、相当程度移動する蓋然性が高いからである。
【0027】
請求項10に記載の発明は、請求項1乃至9の何れか1項に記載の情報処理システムにおいて、前記識別手段によりクラブが使用されたことが識別されてから所定時間以内に更にクラブが使用されたことが識別されなかった場合、前記増加された打数で、前記1つのホールにおける打数を確定することを特徴とする。
【0028】
この発明によれば、プレーヤーが何らかの操作を行はなくても、プレーヤーがプレーした最後のホールの打数を確定することができる。その理由は、ゴルフのプレーを終えた後、プレーヤーは、クラブでボールを打撃する蓋然性が低いからである。
【0029】
請求項11に記載の発明は、請求項1乃至10の何れか1項に記載の情報処理システムにおいて、前記カウント手段は、所定の第1検出手段により、前記音入力手段を介して入力された音から前記打撃音が検出された第1タイミングを取得する第1タイミング取得手段と、所定の第2検出手段によりクラブのスイングが検出された第2タイミングを取得する第2タイミング取得手段と、を更に備え、前記カウント手段は、前記第1タイミングと前記第2タイミングとの差が所定値未満である場合にのみ、前記打数を増加させることを特徴とする。
【0030】
この発明によれば、情報処理システムが、打撃音が検出されたタイミングと、クラブのスイングが検出されたタイミングとを用いることにより、プレーヤー自身がクラブでボールを打撃したか否かの判定精度を高めることができる。具体的に、他人がボールを打撃することにより打撃音のみが検出された場合に、打数が増加することを防止することができる。また、プレーヤーがクラブの素振りを行うことによりスイングのみが検出された場合に、打数が増加することを防止することができる。
【0031】
請求項12に記載の発明は、コンピュータにより実行される情報処理方法において、音入力手段を介して入力された打撃音であって、ゴルフのクラブでボールが打撃される際に生じる打撃音を取得する取得ステップと、前記入力された打撃音と、複数種類のクラブのそれぞれについて、クラブでボールが打撃される際に生じる打撃音を、前記クラブの種類に対応付けて予め記憶する記憶手段に記憶された打撃音との比較に基づいて、前記複数種類のクラブのうち使用されたクラブの種類を識別する識別ステップと、ボールが打撃された回数である打数を自動的に1打ずつ増加させるカウントステップと、前記識別ステップにより識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、前記増加された打数とに基づいて、1つのホールにおける打数を確定する確定ステップと、を含むことを特徴とする。
【0032】
請求項13に記載の発明は、コンピュータを、音入力手段を介して入力された打撃音であって、ゴルフのクラブでボールが打撃される際に生じる打撃音を取得する取得手段と、前記入力された打撃音と、複数種類のクラブのそれぞれについて、クラブでボールが打撃される際に生じる打撃音を、前記クラブの種類に対応付けて予め記憶する記憶手段に記憶された打撃音との比較に基づいて、前記複数種類のクラブのうち使用されたクラブの種類を識別する識別手段と、ボールが打撃された回数である打数を自動的に1打ずつ増加させるカウント手段と、前記識別手段により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、前記増加された打数とに基づいて、1つのホールにおける打数を確定する確定手段と、として機能させることを特徴とする。
【発明の効果】
【0033】
本発明によれば、情報処理システムは、打撃音に基づいて、使用されたクラブの種類を識別する。また、情報処理システムは、使用されたクラブの種類の時系列から特定されるクラブの種類の変化を用いて、ホールの打数を確定する。従って、簡易な構成で、 ホールごとの打数を自動的に計算することができる。
【発明を実施するための形態】
【0035】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、情報処理システムに対して本発明を適用した場合の実施形態である。
【0036】
[1.情報処理システムの構成及び機能概要]
先ず、本実施形態に係るゴルフスコア管理システムSの構成及び機能概要について、
図1を用いて説明する。
図1は、本実施形態に係るゴルフスコア管理システムSの概要構成の一例を示す図である。
【0037】
図1に示すように、ゴルフスコア管理システムSは、サーバ1と、複数のユーザ端末2とを含んで構成されている。サーバ1と、各ユーザ端末2とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0038】
サーバ1は、ゴルフに関する情報を管理するサーバ装置である。例えば、サーバ1は、ユーザ端末2を利用するユーザがゴルフをプレーしたときの打数を記憶してもよい。
【0039】
ユーザ端末2は、ゴルフをプレーするユーザが利用する端末装置である。すなわち、ユーザ端末2のユーザはゴルフのプレーヤーである。ユーザ端末2は、ユーザがゴルフをプレーすることによる各ホールの打数を自動的に計算する。ユーザ端末2をユーザの身体に装着することができるように、ユーザ端末2が構成されてもよい。ユーザ端末2が装着されるユーザの身体部位は、例えば手首、指、腕、腹、胸、首、耳、頭、太股、足首、足等であってもよい。ユーザの身体に装着することができるユーザ端末2の例として、ウェアラブルコンピュータが挙げられる。ウェアラブルコンピュータの例として、腕時計型情報端末、眼鏡型情報端末、指輪型情報端末等が挙げられる。或いは、ユーザ端末2をユーザの所有物に装着することができるように、ユーザ端末2が構成されてもよい。ユーザ端末2が装着されるユーザの所有物は、例えばクラブ、ゴルフバッグ、衣服等であってもよい。ユーザ端末2が装着されるユーザの所有物は、ゴルフ用品であってもよい。ユーザ端末2は、ユーザ端末2をユーザの身体又は所要物に装着するための部材を備える。この部材は、例えばベルト、バンド等であってもよい。或いは、ユーザ端末2は、ユーザの身体及び所要物の何れにも装着することができなくてもよい。この場合、ユーザ端末2は、例えばユーザにより持ち運ぶことが可能な端末装置である。このような端末装置の例として、スマートフォン、PDA(Personal Digital Assistant)、携帯電話機等が挙げられる。ユーザ端末2は、ユーザの身体又は所有物に装着され、或いはユーザにより携帯可能であるので、プレーヤーはユーザ端末2を持って行くことができる。従って、特定のゴルフコースに限定されずに、ホールごとの打数を自動的に計算することができる。
【0040】
本実施形態において、ユーザ端末2は、本発明の情報処理システムの一例である。従って、上述したように、ユーザ端末2が各ホールの打数を自動的に計算する。この場合、サーバ1は、ゴルフスコア管理システムSの構成要素としては必須ではない。しかしながら、サーバ1が、本発明の情報処理システムの一例であってもよい。この場合、サーバ1が、各ユーザ端末2を利用するユーザの各ホールの打数を計算する。或いは、サーバ1とユーザ端末2とが協働して、各ホールの打数を計算してもよい。
【0041】
[2.サーバの構成]
次に、サーバ1の構成について、
図2を用いて説明する。
【0042】
図2は、本実施形態に係るサーバ1の概要構成の一例を示すブロック図である。
図2に示すように、サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
【0043】
通信部11は、ネットワークNWに接続してユーザ端末2等との通信状態を制御するようになっている。
【0044】
記憶部12は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、打数データベースが記憶されてもよい。打数データベースには、ゴルフの打数が記憶される。例えば、打数データベースには、ユーザID、ゴルフコースID、プレー日、合計打数及び各ホールの打数が記憶される。ユーザIDは、ゴルフをプレーしたユーザを示す。ゴルフコースIDは、プレーが行われたゴルフコースを示す。プレー日は、ゴルフのプレーが行われた日を示す。合計打数は、1ラウンドの打数である。
【0045】
入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0046】
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。システム制御部14は、記憶部12に記憶された各種プログラムを実行する。
【0047】
[3.ユーザ端末の構成]
次に、ユーザ端末2の構成について、
図3を用いて説明する。
【0048】
図3は、本実施形態に係るユーザ端末2の概要構成の一例を示すブロック図である。
【0049】
図3に示すように、ユーザ端末2は、通信部21と、記憶部22と、操作入力部23と、表示部24と、音入力部25と、センサー部26と、入出力インターフェース27と、システム制御部28と、を備えている。そして、システム制御部28と入出力インターフェース27とは、システムバス28を介して接続されている。
【0050】
通信部21は、ネットワークNWに接続して、サーバ1等との通信状態を制御するようになっている。
【0051】
記憶部22は、例えば、フラッシュメモリ等により構成されている。記憶部22は、本発明の記憶手段又は記憶デバイスの一例である。記憶部22には、複数の打撃音データが記憶される。記憶部22に記憶される打撃音データは、ユーザがクラブでボールを打撃する際に生じる打撃音を示すデータである。例えば、打撃音データは、所定のオーディオファイルフォーマットのデータであってもよい。或いは、打撃音データは、打撃音の周波数特性を示すデータであってもよい。例えば、打撃音データは、周波数ごとの音圧レベルを含むデータであってもよい。各打撃音データは、クラブ種別と対応付けて記憶部22に記憶される。クラブ種別として、1番〜11番ウッド、1番〜9番アイアン、ピッチングウェッジ、サンドウェッジ、パター等がある。1番〜11番ウッドは、ウッドのカテゴリーに属する。1番〜9番アイアン、ピッチングウェッジ及びサンドウェッジは、アイアンのカテゴリーに属する。記憶部22には、少なくともパターの打撃音データが記憶される。記憶部22に打撃音データを記憶させる方法の一例として、録音が挙げられる。例えば、打撃音を録音させるクラブの種別を、ユーザ端末2に入力し、録音を開始する操作を行う。そして、ユーザは、クラブでボールを打撃する。システム制御部28は、音入力部25から入力された音信号に基づいて、打撃音データを生成する。そして、システム制御部28は、打撃音データを、入力されたクラブ種別に対応付けて記憶部22に記憶させる。このような録音が、ユーザがゴルフコースで使用する予定の各クラブについて行われる。記憶部22に打撃音データを記憶させる別の例として、サーバ1からのダウンロードが挙げられる。例えば、サーバ1の記憶部12には、打撃音データベースが記憶されてもよい。打撃音データベースには、様々な製品のクラブについて、打撃音データが記憶される。例えば、打撃音データベースには、クラブの製品名、クラブ種別及び打撃音データが記憶される。ユーザがクラブ種別をユーザ端末2に入力すると、ユーザ端末2は、クラブ種別をサーバ1へ送信する。サーバ1は、受信したクラブ種別に対応するクラブの製品名の一覧をユーザ端末2へ送信する。ユーザ端末2は、製品名の一覧を表示部24に表示する。ユーザは、一覧の中から、ユーザが使用するクラブを選択する。ユーザ端末2は、選択されたクラブの製品名をサーバ1へ送信する。サーバ1は、受信した製品名に対応する打撃音データをユーザ端末2へ送信する。ユーザ端末2は、受信した打撃音データを、入力されたクラブ種別に対応付けて記憶部22に記憶させる。このようなダウンロードが、ユーザがゴルフコースで使用する予定の各クラブについて行われる。
【0052】
また、記憶部22には、オペレーティングシステム、ゴルフアプリケーションプログラムが記憶されている。ゴルフアプリケーションプログラムは、本発明における情報処理プログラムの一例である。ゴルフアプリケーションプログラムは、各ホールの打数を自動的に計算するためのプログラムである。またゴルフアプリケーションプログラムにより、ユーザは、各ホールの打数を確認したり、打数を修正したりすることが可能であってもよい。ゴルフアプリケーションプログラムは、例えば、サーバ1からネットワークNWを介してダウンロードされてもよい。或いは、ゴルフアプリケーションプログラムは、光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、ゴルフアプリケーションプログラムは、プログラム製品であってもよい。
【0053】
操作入力部23は、ユーザによる操作を受け付け、操作内容に対応する信号をシステム制御部28に出力する。操作入力部23の例として、キー、ボタン、スイッチ、タッチパネル等が挙げられる。
【0054】
表示部24は、システム制御部28の制御により、画像、文字等の情報を表示する。表示部24の例として、液晶ディスプレイ、LED(Light Emitting Diode)等が挙げられる。
【0055】
音入力部25は、音を音信号に変換して、音信号をシステム制御部28へ出力するデバイスである。音入力部25を介して、打撃音が入力される。音入力部25は、例えばマイクロフォンであってもよい。
【0056】
センサー部26は、所定の物理量を検出する。特にセンサー部26は、ユーザの身体又はユーザが使用するクラブの動きに関する物理量、身体又はクラブに加わる衝撃に関する物理量、或いはユーザの生命活動に関する物理量を検出する。センサー部26は、検出した物理量を示す検出信号をシステム制御部28へ出力する。例えば、センサー部26は、加速度センサー、速度センサー、衝撃センサー、重力センサー、生体センサー等の少なくとも1つを含んでもよい。生体センサーは、例えばユーザの脈拍数、呼吸の状態、血圧、筋肉の収縮状態等の少なくとも1つを検出してもよい。
図3は、ユーザ端末2がセンサー部26を備えている場合のブロック図である。しかしながら、センサー部26は、ユーザ端末2から独立した装置であってもよい。この場合、センサー部26が、ユーザの身体及びクラブの何れかに装着可能であってもよい。また、センサー部26は、例えば無線通信により検知信号をユーザ端末2へ送信してもよい。
【0057】
入出力インターフェース27は、通信部21〜センサー部26とシステム制御部28との間のインターフェース処理を行うようになっている。
【0058】
システム制御部28は、CPU28a、ROM28b、RAM28c等により構成されている。システム制御部28は、計時機能等を有する。
【0059】
[4.ユーザ端末のシステム制御部の機能概要]
次に、
図4乃至
図6Bを用いて、システム制御部28の機能概要について説明する。
図4は、本実施形態に係るユーザ端末2のシステム制御部28の機能ブロックの一例を示す図である。システム制御部28は、CPU28aが、ゴルフアプリケーションプログラムに含まれる各種コードを読み出し実行することにより、
図5に示すように、打撃音取得部281、種別識別部282、カウンター部283、打数確定部284として機能する。打撃音取得部281は、本発明の取得手段、第1検出手段及び第1タイミング取得手段のそれぞれの一例である。種別識別部282は、本発明の識別手段の一例である。カウンター部283は、本発明のカウント手段、第2タイミング取得手段及び第2検出手段のそれぞれの一例である。打数確定部284は、本発明の確定手段の一例である。
【0060】
[4−1.打撃音の取得]
打撃音取得部281は、音入力部25を介して入力された打撃音を取得する。この打撃音は、クラブでボールが打撃される際に生じる。打撃音取得部281は、音入力部25から出力される音信号に基づいて、音入力部25から入力された音から打撃音を検出してもよい。例えば、打撃音取得部281は、音圧レベルが所定値以上である音が入力された場合、その音が打撃音であると判定してもよい。或いは、打撃音取得部281は、バンドパスフィルタを用いて打撃音を抽出してもよい。クラブがボールに衝突した際に生じる音には、所定の周波数で音圧レベルのピークが存在する。例えば、1番ウッドの場合、4KHz付近でピークがあるという報告がある。また、パターの場合、3.5KHz付近でピークがあるという報告がある。一方、クラブが芝生に擦れる際に生じる音には、3KHz付近でピークがあるという報告がある。そこで、あらゆる種類のクラブでボールが打撃した際に生じる打撃音の音圧レベルがピークになる周波数を含むように、バンドパスフィルタの通過帯域が設定されてもよい。そして、打撃音以外の音が極力遮断されるように通過帯域が設定されてもよい。音入力部25から出力された音信号はバンドパスフィルタを通過する。打撃音取得部281は、バンドパスフィルタを通過した音信号の音圧レベルが所定値以上である場合、打撃音が入力されたと判定してもよい。これにより、打撃音の検出精度を向上させることができる。バンドパスフィルタは、ハードウェアデバイスであってもよいし、ソフトウェアで実現されてもよい。打撃音を検出すると、打撃音取得部281は、打撃音の音声信号に基づいて入力打撃音データを生成する。入力打撃音データのフォーマットは、打撃音データのフォーマットと同一であってもよい。また、打撃音取得部281は、打撃音が検出されたタイミングを取得してもよい。
【0061】
[4−2.使用されたクラブの種類の識別]
種別識別部282は、打撃音取得部281により取得された打撃音と、記憶部22に記憶された打撃音との比較に基づいて、複数種類のクラブのうち使用されたクラブの種類を識別する。すなわち、種別識別部282は、打撃音を生じさせたクラブの種類を識別する。種別識別部282は、打撃音取得部281により生成された入力打撃音データと、それぞれクラブ種別に対応付けて記憶部22に記憶されている複数の打撃音データの少なくとも1つを比較する。種別識別部282は、入力された打撃音と、ユーザが使用するクラブによる打撃音との類似度を計算してもよい。入力打撃音データ及び打撃音データが周波数特性を示すデータである場合、種別識別部282は、打撃音の周波数特性同士を比較する。そして、種別識別部282は、周波数特性の類似度を計算してもよい。例えば、種別識別部282は、入力打撃音データ及び打撃音データのそれぞれに含まれる複数の周波数の音圧レベルをベクトルの成分として用いて、コサイン類似度、相関関数又は偏差パターン類似度等を、周波数特性の類似度として計算してもよい。周波数特性同士を比較することで、使用されたクラブの識別精度を高めることができる。記憶部22に記憶された打撃音データの中に、類似度が所定の閾値よりも高い打撃音データが存在する場合、種別識別部282は、その打撃音データに対応付けられたクラブ種別のクラブが使用されたと判定してもよい。すなわち、種別識別部282は、ユーザが用意した複数のクラブの打撃音の中から、入力された打撃音に類似する打撃音を探し出す。類似度が所定の閾値よりも高い打撃音データが2以上存在する場合、種別識別部282は、これらの打撃音データの中から類似度が最も高い打撃音データを特定してもよい。そして、種別識別部282は、類似度が最も高い打撃音データに対応付けられたクラブ種別のクラブが使用されたと判定してもよい。
【0062】
図5は、使用されたクラブの種類の識別例を示す図である。例えば、記憶部22には、1番、3番及び5番ウッド、1番〜7番アイアン、ピッチングウェッジ、サンドウェッジ、及びパターの打撃音データがそれぞれ記憶されているとする。例えば、種別識別部282は、入力打撃音データと1番ウッドの打撃音データを比較する。その結果、類似度が閾値以下であったとする。次いで、種別識別部282は、入力打撃音データと3番ウッドの打撃音データを比較する。その結果、類似度が閾値以下であったとする。次いで、種別識別部282は、入力打撃音データと5番ウッドの打撃音データを比較する。その結果、類似度が閾値よりも高かったとする。そこで、種別識別部282は、使用されたクラブの種類は5番ウッドであると識別してもよい。種別識別部282は、更に1番〜7番アイアン、ピッチングウェッジ、サンドウェッジ、及びパターの打撃音データについて、入力音データとの比較を行ってもよい。このときに5番ウッドよりも類似度が高いクラブの種類が存在する場合、種別識別部282は、その種類のクラブが使用されたと判定してもよい。
【0063】
種別識別部282は、使用されたクラブの種類を、クラブのカテゴリーで識別してもよい。すなわち、種別識別部282は、使用されたクラブの種類が、ウッド、アイアン及びパターの何れであるかを識別してもよい。
【0064】
記憶部22に記憶された打撃音データの中には、入力打撃音データとの類似度が閾値よりも高い打撃音データが存在しない場合がある。この状態は、ユーザが用意したクラブではボールが打撃されていないことを示す。例えば、ユーザ以外のプレーヤーがボールを打撃した際の打撃音が音入力部25を介して入力された蓋然性がある。
【0065】
[4−3.打数のカウント]
カウンター部283は、ボールが打撃された回数である打数を自動的に1打ずつ増加させる。増加させる打数は、ユーザがこれまでにプレーした全ホール及び現在プレーしているホールの合計打数であってもよいし、現在プレーしているホールの打数であってもよい。カウンター部283は、音入力部25、加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも1つを用いた打撃の検出に基づいて、打数を増加させる。センサー部26が、加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも1つを備える。カウンター部283は、クラブでボールの打撃が行われたか否かを判定すする。そして、カウンター部283は、打撃が行われたと判定した場合に、打数を1増加させる。
【0066】
例えば、カウンター部283は、音入力部25から入力された音から打撃音取得部281により打撃音が検出され、且つ種別識別部282により使用されたクラブが識別された場合に、打撃が行われたと判定してもよい。この場合、センサー部26は不要である。
【0067】
また例えば、カウンター部283は、センサー部26による物理量の検出に基づいて、ユーザによるクラブのスイングを検出してもよい。カウンター部283は、クラブのスイングを検出した場合に、打撃が行われたと判定してもよい。
【0068】
加速度センサーが用いられる場合、クラブをスイングする方向の加速度を検出可能なように、ユーザ端末2又はセンサー部26が、ユーザの手首などの身体、又はクラブ等に装着されてもよい。クラブのスイングは、アドレス、テイクバック、ダウンスイング、フォロースイングの4段階に分かれる。アドレスにおいてはクラブはほぼ動かないため、加速度はほぼ0である。テイクバックにおいて、クラブが後ろに振り上げられる。このときに負の加速度が生じる。次いで、ダウンスイングにて比較的大きな正の加速度が生じる。ダウンスイング中に手首の返しが行われるため、加速度が正の値から負に値に急激に変化する。クラブがボールに衝突した時点からフォロースイングとなる。このとき、クラブが振動することにより加速度が変化する。その後、加速度が緩やかになってスイングが終了する。ダウンスイング時には比較的大きな正の加速度が生じるので、ダウンスイングを検出するための加速度の閾値が予め設定されてもよい。この閾値は、例えばパターをスイングしたときの加速度に基づいて決定されてもよい。その理由は、複数種類のクラブのうち、パターをスイングしたときの加速度が最も小さいからである。加速度センサーにより閾値を超える正の加速度が検出されたとき、カウンター部283は、クラブがスイングされたと判定してもよい。
【0069】
速度センサーが用いられる場合、クラブをスイングする方向の速度を検出可能なように、ユーザ端末2又はセンサー部26が、ユーザの手首などの身体、又はクラブ等に装着されてもよい。ダウンスイング時には比較的大きな正の速度が生じるので、ダウンスイングを検出するための速度の閾値が予め設定されてもよい。この閾値は、例えばパターをスイングしたときの速度に基づいて決定されてもよい。速度センサーにより閾値を超える速度が検出されたとき、カウンター部283は、クラブがスイングされたと判定してもよい。
【0070】
衝撃センサーが用いられる場合、クラブとボールとの衝撃の強さを検出可能なように、ユーザ端末2又はセンサー部26がクラブ等に装着されてもよい。予め定められた閾値を超える強さの衝撃が衝撃センサーにより検出されたとき、カウンター部283は、クラブがスイングされたと判定してもよい。
【0071】
重力センサーが用いられる場合、例えば重力の方向を検出可能なように、ユーザ端末2又はセンサー部26が、ユーザの身体又はクラブ等に装着されてもよい。重力センサーにより検出された重力の方向が、クラブのスイング時の重力の方向と一致又は類似する場合、カウンター部283は、クラブがスイングされたと判定してもよい。或いは、重力センサーにより検出された重力の方向の変化が、クラブのスイング時の重力の方向の変化と一致又は類似する場合、カウンター部283は、クラブがスイングされたと判定してもよい。
【0072】
生体センサーが用いられる場合、ユーザの生命活動に関する物理量が検出可能なように、ユーザ端末2又はセンサー部26が、ユーザの身体に装着される。上述したように、生命活動に関する物理量の例として脈拍数、呼吸の状態、血圧及び筋肉の収縮状態が挙げられる。生体センサーにより検出された生命活動に関する物理量又はその物理量の変化が、クラブのスイング時の物理量又はその物理量の変化と一致又は類似する場合、カウンター部283は、クラブがスイングされたと判定してもよい。
【0073】
センサー部26に複数のセンサーが含まれる場合、カウンター部283は、複数のセンサーを用いて、クラブのスイングを検出してもよい。
【0074】
カウンター部283は、音入力部25から入力された音から打撃音取得部281により打撃音が検出されたタイミングと、センサー部26を用いてスイングが検出されたタイミングとに基づいて、打撃が行われたか否かを判定してもよい。具体的に、カウンター部283は、打撃音が検出されたタイミングとスイングが検出されたタイミングとの差が、予め設定された閾値未満である場合にのみ、打撃が行われたと判定してもよい。打撃音のみが検出されたとしても、その打撃音は、ユーザ端末2のユーザ以外のプレーヤーによる打撃により生じた音である可能性がある。このときに使用されたクラブは、そのプレーヤーが所有するクラブであるかもしれないし、ユーザが所有するクラブであるかもしれない。一方、スイングのみが検出されたとしても、ユーザは、素振りをしているかもしれない。打撃音とクラブのスイングとの両方が略同一タイミングで検出されたことを判定することで、カウンター部283は、ユーザ自身がクラブでボールを打撃したか否かの判定精度を高めることができる。
【0075】
[4−4.各ホールの打数の確定]
打数確定部284は、種別識別部282により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、カウンター部283により増加された打数とに基づいて、1つのホールにおける打数を確定する。クラブの種類の時系列とは、クラブが使用された時刻が早い順に、使用されたクラブの種類を並べた一連のクラブの種類である。打数確定部284は、使用されるクラブの種類の変化と、カウンター部283により増加された打数とに基づいて、何打目でホールアウトしたかを判定する。こうして、打数確定部284がホールごとの打数を自動的に確定するので、ゴルフコースの運営者は、ゴルフコースに、ホールごとの打数を計算するための専用の設備を設置する必要がない。従って、簡易な構成でホールごとの打数を自動的に計算することができる。また、打数を確定するためにユーザが何らかの操作をする必要がない。
【0076】
打数を確定する第1の方法として、打数確定部284は、パターの次に、パターと異なる種類のクラブが使用されたと種別識別部282により識別されたと、クラブの種類の変化に基づいて判定した場合、1つのホールにおける打数を確定してもよい。その理由は、パターの次に、パターと異なる種類のクラブが使用された場合、ユーザはパターを使用してボールをカップインさせた後、次のホールでティーショットを行った蓋然性が高いからである。打数確定部284は、パターの次に、ウッド及びアイアンの何れかに属するクラブが使用された場合、打数を確定してもよい。或いは、打数確定部284は、パターの次に、ウッドに属するクラブが使用された場合に限り、打数を確定してもよい。或いは、打数確定部284は、パターの次に、ウッドに属するクラブが使用された場合と、アイアンに属するクラブのうち所定の1又は複数種類のクラブの何れかが使用された場合とに限り、打数を確定してもよい。或いは、打数確定部284は、パターの次に、ウッドに属するクラブのうち所定種類の1又は複数のクラブの何れかが使用された場合に限り、打数を確定してもよい。
【0077】
パターの次に、パターと異なる種類のクラブが使用されたホールの番号をHN+1とする。第HNホールの打数の確定に合計打数が用いられる場合、打数確定部284は、パターと異なる種類のクラブが使用されたときまでの合計打数から、第1ホールから第HN−2ホールまでの確定した打数と、第HN+1ホールの現在の打数1を減算して、第HNホールの確定した打数を計算してもよい。或いは、パターの次に、パターと異なる種類のクラブの打撃が検出されたとき、打数確定部284は、カウンター部283により増加される前の合計打数から、第1ホールから第HN−2ホールまでの確定した打数を減算して、第HNホールの確定した打数を計算してもよい。その後、打数確定部284は、カウンター部283により合計打数を1増加させてもよい。第HNホールの打数の確定にそのホールの現在の打数が用いられる場合、打数確定部284は、現在の打数から1を減算して、第HNホールの確定した打数を計算してもよい。そして、打数確定部284は、第HN+1ホールの現在の打数を1に設定してもよい。或いは、パターの次に、パターと異なる種類のクラブの打撃が検出されたとき、打数確定部284は、カウンター部283により増加される前の打数で、第HNホールの打数を確定してもよい。そして、打数確定部284は、第HN+1ホールの現在の打数を0にリセットして、その後カウンター部283により第HN+1ホールの打数を1増加させてもよい。
【0078】
図6Aは、各ホールの打数が確定される様子の一例を示す図である。例えば、パターの次に、ウッドに属するクラブが使用された場合に限り、打数が確定されるとする。
図6Aに示すように、第1ホールにおいて、第1打目で1番ウッドが使用され、第2打目で3番ウッドが使用され、第3打目でピッチングウェッジが使用された。第4打目でパターが使用され、第5打目でもパターが使用された、パターの次にパターが使用されたため、第1ホールの打数は未だ確定しない。第6打目で3番ウッドが使用された。パターの次にウッドが使用されたため、ウッドが使用される前にパターが使用されたときの5打で、第1ホールの打数が確定する。3番ウッドは、第2ホールの第1打目で使用されたことになる。その後、第2打目から第6打目の間に、4番アイアン、ピッチングウェッジ、パター、パター、パターが順に使用された。第7打目で1番ウッドが使用された。パターの次にウッドが使用されたため、ウッドが使用される前にパターが使用されたときの6打で、第2ホールの打数が確定する。なお、
図6Aに示す、1番ウッド、3番ウッド、ピッチングウェッジ、パター、パター、3番ウッド、4番アイアン、ピッチングウェッジ、パター、パター、パター、1番ウッドの一連のクラブの種類は、使用されたクラブの種類の時系列である。
【0079】
打数を確定する第2の方法として、打数確定部284は、クラブの種類の変化に基づいて、ウッドに属するクラブが使用されたと種別識別部282により識別されたときから、パターが使用されたと種別識別部282により識別されたときまでの打数で、1つのホールにおける打数を確定してもよい。その理由は、ユーザは、ウッドを使用してティーショットを行い、パターを使用してボールをカップインさせる蓋然性が高いからである。すなわち、打数確定部284は、1つのホールの最初の打撃と最後の打撃とを特定し、最初の打撃から最後の打撃までの打数で、そのホールの打数を確定する。使用されたクラブの時系列の中において、ウッドが単発で使用され、又はパターが単発で使用される場合がある。ウッドの直前にウッド以外のクラブが使用され、且つウッドの次にウッド以外のクラブが使用された場合、ウッドが単発で使用されている。パットの直前にパット以外のクラブが使用され、且つパットの次にパット以外のクラブが使用された場合、パットが単発で使用されている。ウッドが単発で使用された場合、打数確定部284は、そのウッドが使用されたときの打撃を、ホールの最初の打撃と判定してもよい。パットが単発で使用された場合、打数確定部284は、そのパットが使用されたときの打撃を、ホールの最終の打撃と判定してもよい。ウッドが連続で使用される場合がある。この場合、打数確定部284は、ウッドを使用しての連続した打撃のうち最初の打撃を、1つのホールの最初の打撃と推定してもよい。その理由は、ユーザがウッドを使用してボールをカップインさせる蓋然性が低く、連続してウッドを使用している途中でユーザがホールアウトする蓋然性が低いからである。ウッド以外の種類のクラブの使用の後、ウッドが連続して使用された場合、ウッド以外のクラブの次にウッドを使用した打撃が、1つのホールの最初の打撃である。パターが連続で使用される場合がある。この場合、打数確定部284は、パターを使用しての連続した打撃のうち最後の打撃を、1つのホールの最後の打撃と推定してもよい。その理由は、ユーザがパターを使用してティーショットを行う蓋然性が低く、連続してパットを使用している途中でユーザが次のホールのプレーを開始する蓋然性が低いからである。パターが連続して使用された後に、パター以外のクラブが使用された場合、パター以外のクラブの直前にパターを使用した打撃が、1つのホールの最後の打撃である。
【0080】
図6Bは、各ホールの打数が確定される様子の一例を示す図である。
図6Bに示す使用されたクラブの時系列は、
図6Aに示す時系列と同一である。
図6Bに示すように、最初にウッドが2回連続して使用された。従って、打数確定部284は、2連続でのウッドの使用のうち最初のウッドの使用による打撃を、第1ホールの最初の打撃と推定する。次にアイアンが使用され、パターが2回連続して使用された。次に、ウッドが単発で使用された。従って、打数確定部284は、2連続でのパターの使用のうち最後のパターの使用による打撃を、第1ホールの最後の打撃と推定する。従って、打数確定部284は、第1打目の打撃からから第5打目までの打撃までの5打で、第1ホールの打数を確定する。第2ホールの1打目でウッドが使用され、次いで2回連続してアイアンが使用された。従って、打数確定部284は、ウッドの使用による打撃を、第2ホールの最初の打撃と推定する。アイアンが連続して使用された後、パターが3回連続で使用された。次いで、ウッドが使用された。従って、打数確定部284は、3連続でのパターの使用のうち最後のパターの使用による打撃を、第2ホールの最後の打撃と推定する。従って、打数確定部284は、第2ホールの第1打目の打撃からから第6打目までの打撃までの6打で、第2ホールの打数を確定する。
【0081】
各ホールの打数の確定の精度を高めるため、打数確定部284は、使用されたクラブの時系列に加えて、別の情報も用いてもよい。例えば、打数確定部284は、ユーザの位置を示す位置情報を用いてもよい。例えば、打数確定部284は、GPSを利用して、ユーザ端末2の位置をユーザの位置として特定してもよい。例えば、センサー部26は、GPS衛星からの信号を受信するGPS用のアンテナを備えてもよい。打数確定部284は、アンテナにより受信された信号に基づいて、ユーザ端末2の位置を計算する。打数確定部284は、位置情報に基づいて、ユーザが1つのホールから別のホールへ移動したと判定された場合にのみ、1つのホールにおける打数の確定を許容してもよい。すなわち、上述した方法により、クラブの時系列から特定される使用されるクラブの種類の変化が、1つのホールにおける打数を確定する条件を満たす場合であっても、ユーザが別のホールへ移動したと判定されない場合には、打数確定部284は、打数を確定しない。その理由は、ユーザがホール間を移動していない場合、ユーザがホールアウトした蓋然性が低いからである。例えば、記憶部22には、ユーザがゴルフをプレーするゴルフコースの地図を示す地図デーが記憶されてもよい。この地図データは、ゴルフコース内の各ホールの位置及び範囲を示す。カウンター部283は、打撃を検出するごとに、現在のユーザの位置を計算する。打数確定部284は、打撃時のユーザの位置と地図データとに基づいて、ユーザが位置するホールを特定する。例えば、打数確定部284は、今回の打撃時にユーザが位置するホールと、直前の打撃時にユーザが位置するホールとが異なる場合、ユーザが1つのホールから別のホールへ移動したと判定する。
【0082】
或いは、打数確定部284は、ユーザが移動した程度を示す移動情報を用いてもよい。打数確定部284は、2つの打撃の間にユーザが所定程度以上移動したと判定された場合にのみ、1つのホールにおける打数の確定を許容してもよい。すなわち、上述した方法により、クラブの時系列から特定される使用されるクラブの種類の変化が、1つのホールにおける打数を確定する条件を満たす場合であっても、ユーザが所定程度以上移動していない場合には、打数確定部284は、打数を確定しない。その理由は、ユーザが1つのホールでホールアウトして、次のホールでプレーするために次のホールに移動するとき、ユーザは相当程度移動する蓋然性が高いからである。ユーザが移動した程度は、例えばユーザが移動した距離又はユーザの歩数であってもよい。例えば、種別識別部282は、GPS用のアンテナにより受信された信号に基づいて、所定時間間隔ごとにユーザの位置を計算してもよい。打数確定部284は、直前の打撃時から今回の打撃時までのユーザの位置に基づいて、直前の打撃時から今回の打撃時までにユーザが移動した距離を計算する。打数確定部284は、移動した距離が所定距離未満である場合、打数を確定しなくてもよい。或いは、センサー部26が、歩数計を備えてもよい。歩数計はユーザの歩数をカウントする。打数確定部284は、今回の打撃時の歩数と直前の打撃時の歩数との差が所定歩数未満である場合、打数を確定しなくてもよい。
【0083】
或るホールでユーザがゴルフのプレーを終えた場合に、そのホールの打数を確定する方法が必要となる。ユーザは9番ホール又は18番ホールでゴルフのプレーを終えてもよいし、それらのホール以外のホールでゴルフのプレーを終えてもよい。例えば、ユーザがユーザ端末2に対して所定の操作を行ったとき、打数確定部284は、ユーザがゴルフのプレーを終えたと判定してもよい。或いは、種別識別部282によりクラブが使用されたことが識別されてから所定時間以内に更にクラブが使用されたことが識別されなかった場合、打数確定部284は、ユーザがゴルフのプレーを終えたと判定してもよい。ユーザがゴルフのプレーを終えたと判定した場合、打数確定部284は、カウンター部283による現在の打数で、ユーザがプレーした最終のホールの打数を確定してもよい。その理由は、ゴルフのプレーを終えた後、ユーザがクラブでボールを打撃する蓋然性は低いからである。これにより、ゴルフのプレーを終えたことを確認するための操作をユーザが行わなくても、最終のホールの打数を確定することができる。
【0084】
打数確定部284は、カウンター部283により打撃が検出されるごとに、1つのホールにおける打数を確定するか否かの判定、及び打数の確定を実行してもよい。この場合、1打遅れて1つのホールの打数が確定する。或いは、打数確定部284は、ユーザがゴルフのプレーを終えたと判定された後、所定のタイミングで、使用されたクラブの時系列に基づいて各ホールの打数を確定してもよい。
【0085】
[5.情報処理システムの動作]
次に、ゴルフスコア管理システムSの動作について、
図7乃至
図10を用いて説明する。システム制御部28は、ゴルフアプリケーションプログラムに含まれる各種コードに従って、
図7乃至
図10に示す処理を実行する。以下に説明する処理は、打撃音が検出されたタイミングと、クラブのスイングが検出されたタイミングとに基づいて、ユーザがクラブでボールを打撃したか否かを判定する場合の処理の例である。また、以下に説明する処理は、パターの次に、パターと異なる種類のクラブが使用された場合、1つのホールにおける打数を確定する場合の処理の例である。
【0086】
図7及び
図8は、本実施形態に係るユーザ端末2のシステム制御部28による打数計算処理の一例を示すフローチャートである。例えば、ユーザが操作入力部23を操作することにより、システム制御部28が、ゴルフアプリケーションプログラムを起動する。その後、ユーザは、操作入力部23を操作して、打数の計算の開始を指示する。すると、システム制御部28は、打数計算処理を実行する。
図7に示すように、打数確定部284は、ホール番号HNを1に設定する。また、打数確定部284は、合計打数TNSを0に設定する(ステップS11)。次いで、カウンター部283は、打撃音検出フラグをFALSEに設定する。また、カウンター部283は、スイング検出フラグをFALSEに設定する(ステップS12)。
【0087】
次いで、打撃音取得部281は、音入力部25からバンドパスフィルタを介して出力された音信号に基づいて、打撃音が入力されたか否かを判定する(ステップS13)。このとき、打撃音取得部281は、打撃音が入力されたと判定した場合には(ステップS13:YES)、処理をステップS14に進める。一方、打撃音取得部281は、打撃音が入力されていないと判定した場合には(ステップS13:NO)、処理をステップS21に進める。
【0088】
ステップS14において、打撃音取得部281は、打撃音検出時刻T1を現在時刻に設定する。また、打撃音取得部281は、入力された音信号に基づいて、入力打撃音データを生成する。次いで、種別識別部282は、クラブ種別識別処理を実行する(ステップS15)。
図9は、本実施形態に係るユーザ端末2のシステム制御部28によるクラブ種別識別処理の一例を示すフローチャートである。
図9に示すように、種別識別部282は、類似度最大値を0に設定する(ステップS41)。次いで、種別識別部282は、番号iを1に設定する(ステップS42)。
【0089】
次いで、種別識別部282は、記憶部22から、打撃音データ[i]を取得する。打撃音データ[i]は、記憶部22に記憶された打撃音のうちi番目の打撃音データである。種別識別部282は、入力打撃音データと打撃音データ[i]とに基づいて、入力された打撃音の周波数特性と、打撃音[i]の周波数特性とを比較する。そして、種別識別部282は、類似度を計算する(ステップS43)。入力打撃音データをベクトルxとし、打撃音データ[i]をベクトルyとする。例えばコサイン類似度を用いる場合、種別識別部282は、ベクトルxとyの内積を、ベクトルxの大きさとベクトルyの大きさとで除算する。
【0090】
次いで、種別識別部282は、計算された類似度が、予め設定された類似度閾値よりも高いか否かを判定する(ステップS44)。このとき、種別識別部282は、類似度が類似度閾値よりも高いと判定した場合には(ステップS44:YES)、処理をステップS45に進める。一方、種別識別部282は、類似度が類似度閾値よりも高くはないと判定した場合には(ステップS45:NO)、処理をステップS48に進める。
【0091】
ステップS45において、種別識別部282は、計算された類似度が類似度最大値よりも大きいか否かを判定する。このとき、種別識別部282は、類似度が類似度最大値よりも大きいと判定した場合には(ステップS45:YES)、処理をステップS46に進める。一方、種別識別部282は、類似度が類似度最大値よりも大きくはないと判定した場合には(ステップS45:NO)、処理をステップS48に進める。
【0092】
ステップS46において、種別識別部282は、識別クラブ種別を、打撃音データ[i]に対応付けられたクラブ種別に設定する。次いで、種別識別部282は、類似度最大値を、計算された類似度に設定する(ステップS47)。
【0093】
次いで、種別識別部282は、番号iが、記憶部22に記憶されている打撃音データの数未満であるか否かを判定する(ステップS48)。このとき、種別識別部282は、番号iが打撃音データの数未満であると判定した場合には(ステップS48:YES)、処理をステップS49に進める。ステップS49において、種別識別部282は、番号iを1増加させて、処理をステップS43に進める。一方、種別識別部282は、打撃音データの数未満ではないと判定した場合には(ステップS48:NO)、処理をステップS50に進める。
【0094】
ステップS50において、種別識別部282は、類似度最大値が0よりも大きいか否かを判定する。このとき、種別識別部282は、類似度最大値が0よりも大きいと判定した場合には(ステップS50:YES)、処理をステップS51に進める。ステップS51において、種別識別部282は、打撃音検出フラグF1をTRUEに設定して、クラブ種別識別処理を終了させる。一方、種別識別部282は、類似度最大値が0よりも大きくはないと判定した場合には(ステップS50:NO)、打撃音検出フラグF1をFALSEに設定して、クラブ種別識別処理を終了させる。
【0095】
クラブ種別識別処理を終えると、
図7に示すように、カウンター部283は、打撃音検出フラグF1がTRUEであるか否かを判定する(ステップS16)。このとき、カウンター部283は、打撃音検出フラグF1がTRUEであると判定した場合には(ステップS16:YES)、処理をステップS17に進める。一方、カウンター部283は、打撃音検出フラグF1がTRUEではないと判定した場合には(ステップS16:NO)、処理をステップS21に進める。
【0096】
ステップS17において、カウンター部283は、スイング検出フラグF2がTRUEであるか否かを判定する(ステップS17)。このとき、カウンター部283は、スイング検出フラグF2がTRUEであると判定した場合には(ステップS17:YES)、処理をステップS18に進める。
図8に示すステップS21でクラブがスイングされたと判定された場合に、ステップS22でスイング検出フラグF2がTRUEに設定される。現時点でスイング検出フラグF2が既にTRUEであるということは、ステップS13で今回打撃音が入力されたと判定されたことよりも前に、ステップS21でクラブがスイングされたと判定されている状態であることを示している。一方、カウンター部283は、スイング検出フラグF2がTRUEではないと判定した場合には(ステップS17:NO)、処理をステップS21に進める。
【0097】
ステップS18において、カウンター部283は、直近の打撃音検出時刻T1から直近のスイング検出時刻T2を減算して得られる時間差の絶対値を計算する。この場合の打撃音検出時刻T1は、スイング検出時刻T2よりも後の時刻である。カウンター部283は、計算された時間差の絶対値が、予め設定された時間閾値1未満であるか否かを判定する。このとき、カウンター部283は、時間差の絶対値が時間閾値1未満であると判定した場合には(ステップS18:YES)、処理をステップS26に進める。一方、カウンター部283は、時間差の絶対値が時間閾値1未満ではないと判定した場合には(ステップS18:NO)、処理をステップS19に進める。ステップS19において、カウンター部283は、スイング検出フラグF2をFALSEに設定して、処理をステップS21に進める。
【0098】
図8に示すように、ステップS21において、カウンター部283は、センサー部26から出力される検出信号に基づいて、クラブがスイングされたか否かを判定する。このとき、カウンター部283は、クラブがスイングされたと判定した場合には(ステップS21:YES)、処理をステップS22に進める。一方、カウンター部283は、クラブがスイングされていないと判定した場合には(ステップS21:NO)、処理をステップS28に進める。
【0099】
ステップS22において、カウンター部283は、スイング検出フラグF2をTRUEに設定する。また、カウンター部283は、スイング検出時刻T2を現在時刻に設定する。次いで、カウンター部283は、打撃音検出フラグF1がTRUEであるか否かを判定する(ステップS23)。このとき、カウンター部283は、打撃音検出フラグF1がTRUEであると判定した場合には(ステップS23:YES)、処理をステップS24に進める。現時点で打撃音検出フラグF1が既にTRUEであるということは、ステップS21で今回クラブがスイングされたと判定されたことよりも前に、ステップS13で打撃音が入力されたと判定されている状態であることを示している。一方、カウンター部283は、打撃音検出フラグF1がTRUEではないと判定した場合には(ステップS23:NO)、処理をステップS28に進める。
【0100】
ステップS24において、カウンター部283は、直近のスイング検出時刻T2から直近の打撃音検出時刻T1を減算して得られる時間差の絶対値を計算する。この場合の打撃音検出時刻T1は、スイング検出時刻T2よりも前の時刻である。カウンター部283は、計算された時間差の絶対値が時間閾値1未満であるか否かを判定する。このとき、カウンター部283は、時間差の絶対値が時間閾値1未満であると判定した場合には(ステップS24:YES)、処理をステップS26に進める。一方、カウンター部283は、時間差の絶対値が時間閾値1未満ではないと判定した場合には(ステップS24:NO)、処理をステップS25に進める。ステップS25において、カウンター部283は、打撃音検出フラグF1をFALSEに設定して、処理をステップS28に進める。
【0101】
ステップS26において、カウンター部283は、合計打数TNSを1増加させる。次いで、打数確定部284は、打数確定制御処理を実行する(ステップS27)。
図10は、本実施形態に係るユーザ端末2のシステム制御部28による打数確定制御処理の一例を示すフローチャートである。
図10に示すように、打数確定部284は、最終識別時刻T3をT1に設定する(ステップS51)。次いで、打数確定部284は、使用クラブ種別[TNS]を識別クラブ種別に設定する(ステップS52)。使用クラブ種別[TNS]は、使用されたクラブの種類の系列の中で、TNS番目のクラブの種類である。
【0102】
次いで、打数確定部284は、使用クラブ種別[TNS−1]はパターであるか否かを判定する(ステップS53)。このとき、打数確定部284は、使用クラブ種別[TNS−1]はパターであると判定した場合には(ステップS53:YES)、処理をステップS54に進める。一方、打数確定部284は、使用クラブ種別[TNS−1]はパターではないと判定した場合には(ステップS53:NO)、打数確定制御処理を終了させる。
【0103】
ステップS54において、打数確定部284は、使用クラブ種別[TNS]はウッド及びアイアンの何れかに属するクラブであるか否かを判定する。このとき、打数確定部284は、使用クラブ種別[TNS]はウッド及びアイアンの何れかに属するクラブであると判定した場合には(ステップS54:YES)、処理をステップS55に進める。一方、打数確定部284は、使用クラブ種別[TNS]はウッド及びアイアンの何れにも属さないクラブであると判定した場合には(ステップS54:NO)、打数確定制御処理を終了させる。
【0104】
ステップS55において、打数確定部284は、打数FNS[HN]を、合計打数TNSから1減算して得られる値に設定する。次いで、打数確定部284は、番号jを、ホール番号HNから1減算して得られる値に設定する(ステップS56)。次いで、打数確定部284は、番号jが0であるか否かを判定する(ステップS57)。このとき、打数確定部284は、番号jが0であると判定した場合には(ステップS57:YES)、処理をステップS60に進める。一方、打数確定部284は、番号jが0ではないと判定した場合には(ステップS57:NO)、処理をステップS58に進める。ステップS58において、打数確定部284は、打数FNS[HN]から打数FNS[j]を減算して、打数FNS[HN]を更新する。次いで、打数確定部284は、番号jを1増加させて(ステップS59)、処理をステップS57に進める。ステップS60において、打数確定部284は、ホール番号HNを1増加させて、打数確定制御処理を終了させる。最終的な打数FNS[HN]は、第HNホールの確定した打数である。
【0105】
各ホールの打数の確定に、ユーザの位置情報を用いる場合の打数確定制御処理の一例について説明する。ステップS51及び52の後、打数確定部284は、ユーザの現在位置の座標を計算する。打数確定部284は、計算された座標とゴルフコースの地図データと基づいて、ユーザが位置するホールの番号を特定する。打数確定部284は、ホール番号[TNS]を、特定したホールの番号に設定する。次いで、打数確定部284は、ホール番号[TNS]とホール番号[TNS−1]とが一致するか否かを判定する。一致する場合、打数確定部284は打数確定制御処理を終了させる。一致しない場合、打数確定部284はステップS53以降を実行する。
【0106】
ユーザの移動情報を用いる場合の打数確定制御処理の一例について説明する。ステップS51及び52の後、打数確定部284は、現在のユーザの歩数を取得する。打数確定部284は、歩数[TNS]を、取得した歩数に設定する。次いで、打数確定部284は、歩数[TNS]と歩数[TNS−1]との差が所定値以上である場合、ステップS53以降を実行する。この差が所定値未満である場合、打数確定部284は、打数確定制御処理を終了させる。或いは、ステップS51及び52の後、打数確定部284は、第TNS−1打目の打撃時から第TNS打目の打撃時までにユーザが移動した距離を計算する。移動した距離が所定値以上である場合、打数確定部284はステップS53以降を実行する。移動した距離が所定値未満である場合、打数確定部284は打数確定制御処理を終了させる。次いで、処理がステップS12に進む。
【0107】
ステップS28において、打数確定部284は、ユーザが打数の計算を終了させる操作を行ったか否かを判定する。このとき、打数確定部284は、ユーザが打数の計算を終了させる操作を行ったと判定した場合には(ステップS28:YES)、処理をステップS30へ進める。一方、打数確定部284は、ユーザが打数の計算を終了させる操作を行っていないと判定した場合には(ステップS28:NO)、処理をステップS29へ進める。
【0108】
ステップS29において、打数確定部284は、現在時刻から最終識別時刻T3を減算して、時間差を計算する。そして、打数確定部284は、計算された時間差が、予め設定された時間閾値2未満であるか否かを判定する。このとき、打数確定部284は、時間差が時間閾値2未満であると判定した場合には(ステップS29:YES)、処理をステップS13に進める。一方、打数確定部284は、時間差が時間閾値2未満ではないと判定した場合には(ステップS29:NO)、処理をステップS30に進める。ステップS30において、打数確定部284は、打数FNS[HN]をNSに設定して、打数計算処理を終了させる。
【0109】
打数計算処理を終えると、ユーザ端末2は、ユーザを識別するユーザID、ユーザがゴルフをプレーしたゴルフコースのコースID、合計打数TNS、及び打数FNS[1]〜打数FNS[HN]をサーバ1へ送信してもよい。サーバ1は、ユーザ端末2から受信したデータを打数データベースに記憶させる。
【0110】
以上説明したように、本実施形態によれば、システム制御部28が、音入力部25を介して入力された打撃音を取得する。また、システム制御部28が、入力された打撃音と、複数種類のクラブのそれぞれについて、クラブでボールが打撃される際に生じる打撃音を、クラブの種類に対応付けて予め記憶する記憶手段に記憶部22に記憶された打撃音との比較に基づいて、複数種類のクラブのうち使用されたクラブの種類を識別する。また、システム制御部28が、打数を自動的に1打ずつ増加させる。また、システム制御部28が、識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、増加された打数とに基づいて、1つのホールにおける打数を確定する。従って、簡易な構成で、ホールごとの打数を自動的に計算することができる。
【0111】
また、ユーザ端末2が、ユーザの所有物及びユーザの身体の少なくとも何れか一方に装着可能であってもよい。この場合、ユーザはユーザ端末2を持って行くことができるので、特定のゴルフコースに限定されずに、ホールごとの打数を自動的に計算することができる。
【0112】
また、システム制御部28が、パターの次に、パターと異なる種類のクラブが使用されたと識別された場合、パターが使用されたときまでの打数で、1つのホールにおける打数を確定してもよい。この場合、ホールごとの打数を適切に確定することができる。
【0113】
また、システム制御部28が、ウッドが使用されたと識別されたときからパターが使用されたと識別されたときまでの打数で、1つのホールにおける打数を確定してもよい。この場合、ホールごとの打数を適切に確定することができる。
【0114】
また、システム制御部28が、ウッドが使用されたことが連続して識別された場合、ウッドを使用した打撃のうち最初の打撃を、1つのホールにおける最初の打撃と推定してもよい。また、システム制御部28が、パターが使用されたことが連続して識別された場合、パターを使用した打撃のうち最後の打撃を、1つのホールにおける最後の打撃と推定してもよい。この場合、各ホールの打数の確定精度を高めることができる。
【0115】
また、システム制御部28が、音入力部25、加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも1つを用いた打撃の検出に基づいて、打数を増加させてもよい。
【0116】
また、システム制御部28が、入力された打撃音の周波数特性と、記憶部22に記憶された打撃音の周波数特性との比較に基づいて、使用されたクラブの種類を識別してもよい。この場合、使用されたクラブの識別精度を高めることができる。
【0117】
また、システム制御部28が、ユーザの位置を示す位置情報に基づいて、ユーザが1つのホールから別のホールへ移動したと判定された場合にのみ、使用されるクラブの種類の変化と増加された打数とに基づいて、1つのホールにおける打数を確定してもよい。この場合、各ホールの打数の確定精度を高めることができる。
【0118】
また、システム制御部28が、ユーザの移動情報に基づいて、或る打撃から次の打撃までの間にユーザが移動した程度が所定程度以上である場合にのみ、使用されるクラブの種類の変化と増加された打数とに基づいて、或る打撃までの打数で、1つのホールにおける打数を確定してもよい。この場合、各ホールの打数の確定精度を高めることができる。
【0119】
また、システム制御部28が、クラブが使用されたことが識別されてから所定時間以内に更にクラブが使用されたことが識別されなかった場合、増加された打数で、1つのホールにおける打数を確定してもよい。この場合、ユーザが何らかの操作を行はなくても、ユーザがプレーした最後のホールの打数を確定することができる。
【0120】
また、システム制御部28が、音入力部25を介して入力された音から打撃音が検出されたタイミングと、クラブのスイングが検出されたタイミングとを取得してもよい。また、システム制御部28が、これらのタイミングに基づいて、打数を増加させるか否かを判定してもよい。この場合、ユーザ自身がクラブでボールを打撃したか否かの判定精度を高めることができる。
【0121】
[6.サーバが各ホールの打数を確定する場合]
次に、サーバ1が各ホールの打数を自動的に確定する場合の処理の一例について説明する。この場合、ユーザ端末2により録音された打撃音データがクラブ種別とともにユーザ端末2からサーバ1へ送信されてもよい。サーバ1は、ユーザ端末2を利用するユーザのユーザIDに対応付けて打撃音データ及びクラブ種別を記憶部12に記憶させてもよい。或いは、サーバ1の記憶部12に上述したような打撃音データベースが記憶されてもよい。ユーザは、ユーザ端末2を操作して、使用する予定の製品のクラブを選択する。サーバ1は、そのユーザのユーザIDに対応付けて、選択されたクラブの製品名及びそのクラブのクラブ種別を対応付けて記憶部12に記憶させてもよい。この場合、サーバ1は、打撃音データベースから、製品名に対応する打撃音データを取得する。
【0122】
ユーザ端末2は、音入力部25を介して入力された打撃音を検出し、検出した打撃音を示す入力打撃音データをサーバ1へ送信する。こうして、サーバ1は、音入力部25を介して入力された打撃音を入力打撃音データとして取得する。サーバ1は、入力打撃音データと、ユーザIDに対応付けて記憶された打撃音データとの比較に基づいて、使用されたクラブを識別する。
【0123】
サーバ1は、ユーザ端末2から入力打撃音データを受信したときに、打数を1増加させてもよい。或いは、ユーザ端末2が、センサー部26を用いてクラブのスイングを検出してもよい。クラブのスイングを検出したとき、ユーザ端末2は、サーバ1へ通知を送信してもよい。サーバ1は、ユーザ端末2から通知を受信したとき、打数を1増加させてもよい。或いは、ユーザ端末2は、打撃音を検出したタイミングと、クラブのスイングを検出したタイミングとをそれぞれサーバ1へ送信してもよい。これにより、サーバ1は、それぞれのタイミングを取得する。サーバ1は、これらのタイミングに基づいて、打数を増加させるか否かを判定してもよい。
【0124】
サーバ1は、識別されたクラブの種類の時系列から特定されるクラブの種類の変化と、打数とに基づいて、1つのホールにおける打数を確定する。
簡易な構成で、 ホールごとの打数を自動的に計算することを目的とする。情報処理システムは、音入力部を介して入力された打撃音を取得する。情報処理システムは、入力された打撃音と記憶手段に記憶された打撃音との比較に基づいて、使用されたクラブの種類を識別する。情報処理システムは、打数を自動的に1打ずつ増加させる。情報処理システムは、識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、打数とに基づいて、1つのホールにおける打数を確定する。