(57)【要約】      （修正有）【課題】簡易な構成で、ホールごとの打数を自動的に計算する情報処理システムを提供する。【解決手段】情報処理システムは、打撃音及びスイングが検出されることに基づいて、打撃を検出する（２８１）。情報処理システムは、打撃が検出されることに基づいて打数を増加させる（２８２）。情報処理システムは、検出された打撃の威力を特定可能な該打撃の特性を取得する（２８３）。情報処理システムは、取得された特性の時系列から特定される、打撃の威力の変化に基づいて、プレーヤーがホールアウトしたことを推定する（２８４）。情報処理システムは、増加された打数と、プレーヤーがホールアウトしたことが推定されたこととに基づいて、当該プレーヤーのホールごとの打数を確定する（２８５）。【選択図】図４
2019103611.tif 000002
【特許請求の範囲】
【請求項１】
プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出手段と、
前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウント手段と、
前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得手段と、
前記取得手段により取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定手段と、
前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記推定手段は、或る打撃の威力よりも次の打撃の威力が高い場合、前記或る打撃で前記プレーヤーがホールアウトしたと推定することを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムにおいて、
前記取得手段により取得された特性と、各ホールの打数が確定されたこととに基づいて、打撃の威力の変化を学習する威力学習手段を更に備え、
前記推定手段は、前記威力学習手段による打撃の威力の変化の学習結果と、前記取得手段により取得された特性の時系列から特定される前記打撃の威力の変化とに基づいて、前記プレーヤーがホールアウトしたことを推定することを特徴とする情報処理システム。
【請求項４】
請求項１乃至３の何れか１項に記載の情報処理システムにおいて、
前記検出された打撃に用いられたクラブの種類を識別する識別手段と、
前記識別手段により識別されたクラブの種類と、各ホールの打数が確定されたこととに基づいて、使用されるクラブの種類の変化を学習するクラブ学習手段を更に備え、
前記推定手段は、前記クラブ学習手段によるクラブの種類の変化の学習結果と、前記識別手段により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、前記取得手段により取得された特性の時系列から特定される前記打撃の威力の変化とに基づいて、前記プレーヤーがホールアウトしたことを推定することを特徴とする情報処理システム。
【請求項５】
請求項１乃至４の何れか１項に記載の情報処理システムにおいて、
前記プレーヤーが前記ボールを打撃した位置を示す位置情報及び打撃間において前記プレーヤーが移動した程度を示す移動情報の少なくとも何れか一方を取得する位置情報取得手段と、
前記取得された位置情報及び移動情報の少なくとも何れか一方に基づいて、ペナルティが課されるイベントが発生した可能性を判定する可能性判定手段と、
前記確定手段は、前記可能性判定手段による判定に基づいて、前記打数を調整することを特徴とする情報処理システム。
【請求項６】
請求項５に記載の情報処理システムにおいて、
ホールのレイアウトを示すレイアウト情報を取得するレイアウト情報取得手段を更に備え、
前記可能性判定手段は、前記取得された位置情報及びレイアウト情報に基づいて、前記イベントが発生した可能性を判定することを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムにおいて、
前記取得された特性に基づいて、前記打撃による前記ボールの飛距離を推定する飛距離推定手段を更に備え、
前記可能性判定手段は、前記取得されたレイアウト情報及び位置情報と、前記推定された飛距離とに基づいて、前記ボールが入った場合にペナルティが課されるエリアに前記ボールが入った可能性を判定することを特徴とする情報処理システム。
【請求項８】
請求項７に記載の情報処理システムにおいて、
前記検出された打撃ごとに、前記取得された位置情報に基づいて、該打撃が行われた位置から次の打撃が行われた位置までの距離を前記ボールの飛距離と仮定して計算し、該計算された飛距離に基づいて、前記特性と前記ボールの飛距離との関係を学習する関係学習手段を更に備え、
前記飛距離推定手段は、前記取得された特性、及び前記学習された関係に基づいて、前記飛距離を推定することを特徴する情報処理システム。
【請求項９】
請求項１乃至８の何れか１項に記載の情報処理システムにおいて、
前記ユーザ装置は、前記スイングを検出するための加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも１つを備え、
前記取得手段は、前記特性として、前記加速度センサーにより検出された加速度、前記速度センサーにより検出された速度、前記衝撃センサーにより検出された衝撃力、前記重力センサーにより検出された重力方向の変化速度、前記生体センサーにより検出された、前記プレーヤーの生命活動に関する物理量及び該物理量の変化速度、並びに前記打撃音の音量の少なくとも１つを取得することを特徴とする情報処理システム。
【請求項１０】
請求項１乃至９の何れか１項に記載の情報処理システムにおいて、
前記検出手段は、前記打撃音及び前記スイングの何れか一方が検出されてから所定時間内に他方が検出された場合に、前記プレーヤーにより前記クラブで前記ボールが打撃されたと判定することを特徴とする情報処理システム。
【請求項１１】
コンピュータにより実行される情報処理方法において、
プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出ステップと、
前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウントステップと、
前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得ステップと、
前記取得ステップにより取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定ステップと、
前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定ステップと、
を含むことを特徴とする情報処理方法。
【請求項１２】
コンピュータを、
プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出手段と、
前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウント手段と、
前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得手段と、
前記取得手段により取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定手段と、
前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定手段と、
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゴルフにおいて各ホールの打数を計算するシステムの技術分野に関する。
【背景技術】
【０００２】
従来、プレーヤーがゴルフをプレーしている間にホールごとの打数を計算するためのシステムが知られている。例えば、特許文献１には、ＩＣ（Integrated Circuit）チップを含むＩＣゴルフボールとＧＰＳ（Global Positioning System）を利用したシステムが開示されている。このシステムにおける解析装置は、ＩＣゴルフボールがＧＰＳ衛星から受信した測距データに基づいてＩＣゴルフボールの位置を計算し、ＩＣゴルフボールが停止していると判定したときに打数をインクリメントする。また、解析装置は、ＩＣゴルフボールの位置と、ＩＣチップを含むＩＣティーの位置とが等しければＩＣティーが存在するホールについてのプレイスタートと認識する。更に、ゴルフコースには、カップに落ちたＩＣゴルフボールから測距データを受信するＩＣカップと、この測距データを送信する無線ピンが設置される。解析装置は、無線ピンから測距データを受信した場合には、ＩＣゴルフボールがカップインしたものと認識し、打数を当該ホールのスコアとして書き込む。
【０００３】
また、特許文献２には、端末装置の画面に表示されたカップインボタンが押された場合には、その時点での打数を特定して当該ホールにおける打数を記録するシステムが開示されている。
【０００４】
また、特許文献３には、ラケット等のスポーツ用具にマイクロフォンを付設し、マイクロフォンにより検出されたボール等の打撃音に基づいて打数をカウントするカウンターが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０５８３２５号公報
【特許文献２】特開２０１４−０５７８２９号公報
【特許文献３】特開昭５９−０９０５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されたシステムでは、ゴルフコースの運営者がゴルフコースに専用のＩＣカップや無線ピンを設置する必要がある。そのため、ゴルフコースを運営するためのコストが増大する。
【０００７】
特許文献２に開示されたシステムでは、カップインごとに逐一プレーヤーが端末装置を操作する必要があるので、手間を要する。
【０００８】
特許文献３に開示されたカウンターは単純に打数をインクリメントするものであり、ホールごとの打数を計算するための工夫が存在しない。
【０００９】
本発明は、以上の点に鑑みてなされたものであり、簡易な構成で、当該プレーヤーのホールごとの打数を自動的に計算することが可能な情報処理システム及び情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に記載の発明は、プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出手段と、前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウント手段と、前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得手段と、前記取得手段により取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定手段と、前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定手段と、を備えることを特徴とする。
【００１１】
この発明によれば、情報処理システムは、打撃音及びスイングの検出に基づくことで、打撃が行われたことを適切に検出することができる。また、情報処理システムは、打撃の威力を特定可能な該打撃の特性の時系列から特定される打撃の威力の変化に基づいて、プレーヤーがホールアウトしたことを推定し、打数を確定する。通常、プレーヤーは各ホールで複数回ボールを打撃する。このとき、一般的にプレーヤーは、ティーショットにおいては相対的に高い威力でボールを打撃し、その後徐々に低い威力でボールを打撃する。ホールアウト後、プレーヤーは、次のホールのティーショットでまた高い威力でボールを打撃する。本願発明は、こうしたゴルフにおける打撃の威力の変化に着目してなされたものである。従って、簡易な構成で、当該プレーヤーのホールごとの打数を自動的に計算することができる。
【００１２】
請求項２に記載の発明は、請求項１に記載の情報処理システムにおいて、前記推定手段は、或る打撃の威力よりも次の打撃の威力が高い場合、前記或る打撃で前記プレーヤーがホールアウトしたと推定することを特徴とする。
【００１３】
この発明によれば、プレーヤーがホールアウトしたことを適切に推定することができる。その理由は、或るホールの次のホールでのティーショットの打撃の威力は、その或るホールでユーザがホールアウトしたときの打撃の威力から上昇している蓋然性が高いからである。
【００１４】
請求項３に記載の発明は、請求項１又は２に記載の情報処理システムにおいて、前記取得手段により取得された特性と、各ホールの打数が確定されたこととに基づいて、打撃の威力の変化を学習する威力学習手段を更に備え、前記推定手段は、前記威力学習手段による打撃の威力の変化の学習結果と、前記取得手段により取得された特性の時系列から特定される前記打撃の威力の変化とに基づいて、前記プレーヤーがホールアウトしたことを推定することを特徴とする。
【００１５】
この発明によれば、情報処理システムは、打撃の威力の変化の学習結果を用いて、プレーヤーがホールアウトしたことを推定する。従って、プレーヤーの打撃の威力の変化の傾向に応じて、プレーヤーがホールアウトしたことを適切に推定することができる。
【００１６】
請求項４に記載の発明は、請求項１乃至３の何れか１項に記載の情報処理システムにおいて、請求項１乃至３の何れか１項に記載の情報処理システムにおいて、前記検出された打撃に用いられたクラブの種類を識別する識別手段と、前記識別手段により識別されたクラブの種類と、各ホールの打数が確定されたこととに基づいて、使用されるクラブの種類の変化を学習するクラブ学習手段を更に備え、前記推定手段は、前記クラブ学習手段によるクラブの種類の変化の学習結果と、前記識別手段により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、前記取得手段により取得された特性の時系列から特定される前記打撃の威力の変化とに基づいて、前記プレーヤーがホールアウトしたことを推定することを特徴とする。
【００１７】
この発明によれば、情報処理システムは、使用されるクラブの種類の変化の学習結果を更に用いて、プレーヤーがホールアウトしたことを推定する。従って、プレーヤーが使用するクラブの種類の傾向に応じて、プレーヤーがホールアウトしたことを適切に推定することができる。
【００１８】
請求項５に記載の発明は、請求項１乃至４の何れか１項に記載の情報処理システムにおいて、前記プレーヤーが前記ボールを打撃した位置を示す位置情報及び打撃間において前記プレーヤーが移動した程度を示す移動情報の少なくとも何れか一方を取得する位置情報取得手段と、前記取得された位置情報及び移動情報の少なくとも何れか一方に基づいて、ペナルティが課されるイベントが発生した可能性を判定する可能性判定手段と、前記確定手段は、前記可能性判定手段による判定に基づいて、前記打数を調整することを特徴とする。
【００１９】
この発明によれば、情報処理システムは、打撃が行われた位置又は打撃間でプレーヤーが移動した程度に基づいて、ペナルティが課されるイベントが発生した可能性を判定し、この可能性に基づいて、打数を調整する。従って、ホールごとの打数を、適切な打数に確定することができる。
【００２０】
請求項６に記載の発明は、請求項５に記載の情報処理システムにおいて、ホールのレイアウトを示すレイアウト情報を取得するレイアウト情報取得手段を更に備え、前記可能性判定手段は、前記取得された位置情報及びレイアウト情報に基づいて、前記イベントが発生した可能性があると判定することを特徴とする。
【００２１】
この発明によれば、情報処理システムは、打撃が行われた位置、及びホールのレイアウトに基づいて、ペナルティが課されるイベントが発生した可能性を判定する。従って、ペナルティが課されるイベントが発生した可能性を適切に推定することができる。
【００２２】
請求項７に記載の発明は、請求項６に記載の情報処理システムにおいて、前記取得された特性に基づいて、前記打撃による前記ボールの飛距離を推定する飛距離推定手段を更に備え、前記可能性判定手段は、前記取得されたレイアウト情報及び位置情報と、前記推定された飛距離とに基づいて、前記ボールが入った場合にペナルティが課されるエリアに前記ボールが入った可能性を判定することを特徴とする。
【００２３】
この発明によれば、情報処理システムは、打撃が行われた位置、ホールのレイアウト、及び打撃の威力から推定される飛距離に基づいて、ボールが入った場合にペナルティが課されるエリアにボールが入った可能性を推定する。従って、ペナルティが課されるイベントが発生した可能性をより適切に推定することができる。
【００２４】
請求項８に記載の発明は、請求項７に記載の情報処理システムにおいて、前記検出された打撃ごとに、前記取得された位置情報に基づいて、該打撃が行われた位置から次の打撃が行われた位置までの距離を前記ボールの飛距離と仮定して計算し、該計算された飛距離に基づいて、前記特性と前記ボールの飛距離との関係を学習する関係学習手段を更に備え、前記飛距離推定手段は、前記取得された特性、及び前記学習された関係に基づいて、前記飛距離を推定することを特徴する情報処理システム。
【００２５】
この発明によれば、情報処理システムは、打撃が行われた位置間の距離をボールの飛距離と仮定して、特性と飛距離との関係を学習し、この学習結果に基づいて、ボールの飛距離を推定する。従って、ボールの飛距離を適切に推定することができる。
【００２６】
請求項９に記載の発明は、請求項１乃至８の何れか１項に記載の情報処理システムにおいて、前記ユーザ装置は、前記スイングを検出するための加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも１つを備え、前記取得手段は、前記特性として、前記加速度センサーにより検出された加速度、前記速度センサーにより検出された速度、前記衝撃センサーにより検出された衝撃力、前記重力センサーにより検出された重力方向の変化速度、前記生体センサーにより検出された、前記プレーヤーの生命活動に関する物理量及び該物理量の変化速度、並びに前記打撃音の音量の少なくとも１つを取得することを特徴とする。
【００２７】
請求項１０に記載の発明は、請求項１乃至９の何れか１項に記載の情報処理システムにおいて、前記検出手段は、前記打撃音及び前記スイングの何れか一方が検出されてから所定時間内に他方が検出された場合に、前記プレーヤーにより前記クラブで前記ボールが打撃されたと判定することを特徴とする。
【００２８】
この発明によれば、プレーヤー自身がクラブでボールを打撃したか否かを適切に判定することができる。
【００２９】
請求項１１に記載の発明は、コンピュータにより実行される情報処理方法において、プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出ステップと、前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウントステップと、前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得ステップと、前記取得ステップにより取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定ステップと、前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定ステップと、を含むことを特徴とする。
【００３０】
請求項１２に記載の発明は、コンピュータを、プレーヤーにより用いられるユーザ装置により、クラブでボールが打撃される際に生じる打撃音及び前記クラブのスイングが検出されることに基づいて、前記プレーヤーによる前記クラブを用いた前記ボールの打撃を検出する検出手段と、前記打撃が検出されることに基づいて、前記ボールが打撃された回数を示す打数を増加させるカウント手段と、前記検出された打撃の威力を特定可能な該打撃の特性を取得する取得手段と、前記取得手段により取得された特性の時系列から特定される、打撃の威力の変化に基づいて、前記プレーヤーがホールアウトしたことを推定する推定手段と、前記増加された打数と、前記プレーヤーがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する確定手段と、として機能させることを特徴とする。
【発明の効果】
【００３１】
本発明によれば、打撃音及びスイングの検出に基づくことで、打撃が行われたことを適切に検出することができる。また、情報処理システムは、打撃の威力を特定可能な該打撃の特性の時系列から特定される打撃の威力の変化に基づいて、プレーヤーがホールアウトしたことを推定し、打数を確定する。従って、簡易な構成で、 当該プレーヤーのホールごとの打数を自動的に計算することができる。
【図面の簡単な説明】
【００３２】
【図１】一実施形態に係るゴルフスコア管理システムＳの概要構成の一例を示す図である。
【図２】一実施形態に係るサーバ１の概要構成の一例を示すブロック図である。
【図３】一実施形態に係るユーザ端末２の概要構成の一例を示すブロック図である。
【図４】一実施形態に係るユーザ端末２のシステム制御部２８の機能ブロックの一例を示す図である。
【図５】打撃の威力の変化の一例を示す図である。
【図６】一実施形態に係るユーザ端末２のシステム制御部２８による打数計算処理の一例を示すフローチャートである。
【図７】一実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。
【図８】一実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。
【図９】一実施形態に係るユーザ端末２のシステム制御部２８による打数確定処理の一例を示すフローチャートである。
【図１０】一実施形態に係るユーザ端末２のシステム制御部２８の機能ブロックの一例を示す図である。
【図１１】実際の打撃の威力の変化、及び打撃威力変化モデルが示す打撃の威力の変化の一例を示す図である。
【図１２】一実施形態に係るユーザ端末２のシステム制御部２８による打撃威力変化学習処理の一例を示すフローチャートである。
【図１３】一実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。
【図１４】実際の打撃の威力の変化、使用されたクラブの種類の変化、及びクラブ種別変化モデルが示す打撃のクラブの種類の変化の一例を示す図である。
【図１５】一実施形態に係るユーザ端末２のシステム制御部２８によるクラブ種別変化学習処理の一例を示すフローチャートである。
【図１６】一実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。
【図１７】一実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。
【図１８】一実施形態に係るユーザ端末２のシステム制御部２８によるティーショット打撃番号修正処理の一例を示すフローチャートである。
【図１９】ペナルティが課されるイベント、及びそのイベントが発生した可能性があると判定される条件の例を示す図である。
【図２０】或るホールのレイアウト及び打撃が行われた位置の例を示す図である。
【図２１】一実施形態に係るユーザ端末２のシステム制御部２８による飛距離学習処理の一例を示すフローチャートである。
【図２２】一実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。
【図２３】一実施形態に係るユーザ端末２のシステム制御部２８によるペナルティ判定処理の一例を示すフローチャートである。
【図２４】一実施形態に係るユーザ端末２のシステム制御部２８による打数確定処理の一例を示すフローチャートである。
【図２５】実際の打撃の威力の変化の一例を示す図である。
【図２６】一実施形態に係るユーザ端末２のシステム制御部２８による打撃威力変化学習処理の一例を示すフローチャートである。
【図２７】一実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。
【図２８】実際の打撃の威力の変化、使用されたクラブの種類の変化、及びクラブ種別変化モデルが示す打撃のクラブの種類の変化の一例を示す図である。
【図２９】一実施形態に係るユーザ端末２のシステム制御部２８によるクラブ種別変化学習処理の一例を示すフローチャートである。
【図３０】一実施形態に係るユーザ端末２のシステム制御部２８によるティーショット打撃番号修正処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、情報処理システムに対して本発明を適用した場合の実施形態である。
【００３４】
［１．第１実施形態］
［１−１．情報処理システムの構成及び機能概要］
先ず、本実施形態に係るゴルフスコア管理システムＳの構成及び機能概要について、図１を用いて説明する。図１は、本実施形態に係るゴルフスコア管理システムＳの概要構成の一例を示す図である。
【００３５】
図１に示すように、ゴルフスコア管理システムＳは、サーバ１と、複数のユーザ端末２とを含んで構成されている。サーバ１と、各ユーザ端末２とは、ネットワークＮＷを介して、例えば、通信プロトコルにＴＣＰ／ＩＰ等を用いて相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。
【００３６】
サーバ１は、ゴルフに関する情報を管理するサーバ装置である。例えば、サーバ１は、ユーザ端末２を利用するユーザがゴルフをプレーしたときの打数を記憶してもよい。
【００３７】
ユーザ端末２は、ゴルフをプレーするユーザが利用する端末装置である。すなわち、ユーザ端末２のユーザはゴルフのプレーヤーである。ユーザ端末２は、ユーザがゴルフをプレーすることによる各ホールの打数を自動的に計算する。ユーザ端末２をユーザの身体に装着することができるように、ユーザ端末２が構成されてもよい。ユーザ端末２が装着されるユーザの身体部位は、例えば手首、指、腕、腹、胸、首、耳、頭、太股、足首、足等であってもよい。ユーザの身体に装着することができるユーザ端末２の例として、ウェアラブルコンピュータが挙げられる。ウェアラブルコンピュータの例として、腕時計型情報端末、眼鏡型情報端末、指輪型情報端末等が挙げられる。或いは、ユーザ端末２をユーザの所有物に装着することができるように、ユーザ端末２が構成されてもよい。ユーザ端末２が装着されるユーザの所有物は、例えばクラブ、ゴルフバッグ、衣服等であってもよい。ユーザ端末２が装着されるユーザの所有物は、ゴルフ用品であってもよい。ユーザ端末２は、ユーザ端末２をユーザの身体又は所有物に装着するための部材を備える。この部材は、例えばベルト、バンド等であってもよい。或いは、ユーザ端末２は、ユーザの身体及び所有物の何れにも装着することができなくてもよい。この場合、ユーザ端末２は、例えばユーザにより持ち運ぶことが可能な端末装置である。このような端末装置の例として、スマートフォン、ＰＤＡ（Personal Digital Assistant）、携帯電話機等が挙げられる。ユーザ端末２は、ユーザの身体又は所有物に装着され、或いはユーザにより携帯可能であるので、プレーヤーはユーザ端末２を持って行くことができる。従って、特定のゴルフコースに限定されずに、ホールごとの打数を自動的に計算することができる。
【００３８】
本実施形態において、ユーザ端末２は、本発明の情報処理システムの一例である。従って、上述したように、ユーザ端末２が各ホールの打数を自動的に計算する。この場合、サーバ１は、ゴルフスコア管理システムＳの構成要素としては必須ではない。しかしながら、サーバ１が、本発明の情報処理システムの一例であってもよい。この場合、サーバ１が、各ユーザ端末２を利用するユーザの各ホールの打数を計算する。或いは、サーバ１とユーザ端末２との組み合わせが、情報処理システムの一例であってもよい。この場合、サーバ１とユーザ端末２とが協働して、各ホールの打数を計算してもよい。
【００３９】
［１−２．サーバの構成］
次に、サーバ１の構成について、図２を用いて説明する。
【００４０】
図２は、本実施形態に係るサーバ１の概要構成の一例を示すブロック図である。図２に示すように、サーバ１は、通信部１１と、記憶部１２と、入出力インターフェース１３と、システム制御部１４と、を備えている。そして、システム制御部１４と入出力インターフェース１３とは、システムバス１５を介して接続されている。
【００４１】
通信部１１は、ネットワークＮＷに接続してユーザ端末２等との通信状態を制御するようになっている。
【００４２】
記憶部１２は、例えば、ハードディスクドライブ等により構成されている。この記憶部１２には、打数データベースが記憶されてもよい。打数データベースには、ゴルフの打数が記憶される。例えば、打数データベースには、ユーザＩＤ、ゴルフコースＩＤ、プレー日、合計打数及び各ホールの打数が記憶される。ユーザＩＤは、ゴルフをプレーしたユーザを示す。ゴルフコースＩＤは、プレーが行われたゴルフコースを示す。プレー日は、ゴルフのプレーが行われた日を示す。合計打数は、１ラウンドの打数である。
【００４３】
また、記憶部１２には、オペレーティングシステム、サーバプログラムが記憶されている。サーバプログラムは、例えば、他のサーバ装置等からネットワークＮＷを介してダウンロードされてもよい。或いは、サーバプログラムは、光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、サーバプログラムは、プログラム製品であってもよい。
【００４４】
入出力インターフェース１３は、通信部１１及び記憶部１２とシステム制御部１４との間のインターフェース処理を行うようになっている。
【００４５】
システム制御部１４は、ＣＰＵ（Central Processing Unit）１４ａ、ＲＯＭ（Read Only Memory）１４ｂ、ＲＡＭ（Random Access Memory）１４ｃ等により構成されている。システム制御部１４は、記憶部１２に記憶された各種プログラムを実行する。
【００４６】
［１−３．ユーザ端末の構成］
次に、ユーザ端末２の構成について、図３を用いて説明する。
【００４７】
図３は、本実施形態に係るユーザ端末２の概要構成の一例を示すブロック図である。
【００４８】
図３に示すように、ユーザ端末２は、通信部２１と、記憶部２２と、操作入力部２３と、表示部２４と、音入力部２５と、センサー部２６と、入出力インターフェース２７と、システム制御部２８と、を備えている。そして、システム制御部２８と入出力インターフェース２７とは、システムバス２９を介して接続されている。
【００４９】
通信部２１は、ネットワークＮＷに接続して、サーバ１等との通信状態を制御するようになっている。
【００５０】
記憶部２２は、例えば、フラッシュメモリ等により構成されている。記憶部２２には、オペレーティングシステム、ゴルフアプリケーションプログラムが記憶されている。ゴルフアプリケーションプログラムは、本発明における情報処理プログラムの一例である。ゴルフアプリケーションプログラムは、各ホールの打数を自動的に計算するためのプログラムである。またゴルフアプリケーションプログラムにより、ユーザは、各ホールの打数を確認したり、打数を修正したりすることが可能であってもよい。ゴルフアプリケーションプログラムは、例えば、サーバ１からネットワークＮＷを介してダウンロードされてもよい。或いは、ゴルフアプリケーションプログラムは、光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、ゴルフアプリケーションプログラムは、プログラム製品であってもよい。
【００５１】
操作入力部２３は、ユーザによる操作を受け付け、操作内容に対応する信号をシステム制御部２８に出力する。操作入力部２３の例として、キー、ボタン、スイッチ、タッチパネル等が挙げられる。
【００５２】
表示部２４は、システム制御部２８の制御により、画像、文字等の情報を表示する。表示部２４の例として、液晶ディスプレイ、ＬＥＤ（Light Emitting Diode）等が挙げられる。
【００５３】
音入力部２５は、音を音信号に変換して、音信号をシステム制御部２８へ出力するデバイスである。音入力部２５を介して、打撃音が入力される。音入力部２５は、例えばマイクロフォンであってもよい。
【００５４】
センサー部２６は、所定の物理量を検出する。特にセンサー部２６は、ユーザの身体又はユーザが使用するクラブの動きに関する物理量、身体又はクラブに加わる衝撃に関する物理量、或いはユーザの生命活動に関する物理量を検出する。センサー部２６は、検出した物理量を示す検出信号をシステム制御部２８へ出力する。例えば、センサー部２６は、加速度センサー、速度センサー、衝撃センサー、重力センサー、生体センサー等の少なくとも１つを含んでもよい。生体センサーは、例えばユーザの脈拍数、呼吸の状態、血圧、筋肉の収縮状態等の少なくとも１つを検出してもよい。図３は、ユーザ端末２がセンサー部２６を備えている場合のブロック図である。しかしながら、センサー部２６は、ユーザ端末２から独立した装置であってもよい。この場合、センサー部２６が、ユーザの身体及びクラブの何れかに装着可能であってもよい。また、センサー部２６は、例えば無線通信により検知信号をユーザ端末２へ送信してもよい。
【００５５】
入出力インターフェース２７は、通信部２１〜センサー部２６とシステム制御部２８との間のインターフェース処理を行うようになっている。
【００５６】
システム制御部２８は、ＣＰＵ２８ａ、ＲＯＭ２８ｂ、ＲＡＭ２８ｃ等により構成されている。システム制御部２８は、計時機能等を有する。
【００５７】
［１−４．システム制御部の機能概要］
次に、図４及び図５を用いて、ユーザ端末２のシステム制御部２８の機能概要について説明する。図４は、本実施形態に係るユーザ端末２のシステム制御部２８の機能ブロックの一例を示す図である。システム制御部２８は、ＣＰＵ２８ａが、ゴルフアプリケーションプログラムに含まれる各種プログラムコードを読み出し実行することにより、図４に示すように、打撃検出部２８１、カウンター部２８２、特性取得部２８３、ホールアウト推定部２８４、打数確定部２８５等として機能する。打撃検出部２８１は、本発明の検出手段、識別手段、位置情報取得手段、可能性判定手段、レイアウト情報取得手段の一例である。カウンター部２８２は、本発明のカウント手段の一例である。特性取得部２８３は、本発明の取得手段の一例である。ホールアウト推定部２８４は、本発明の推定手段、関係学習手段の一例である。打数確定部２８５は、本発明の確定手段の一例である。
【００５８】
なお、上述したように、サーバ１が、各ユーザ端末２を利用するユーザの各ホールの打数を計算してもよいし、サーバ１とユーザ端末２とが協働して、各ホールの打数を計算してもよい。従って、サーバ１のＣＰＵ１４ａがサーバプログラムを読み出し実行することにより、サーバ１のシステム制御部１４が、打撃検出部２８１、カウンター部２８２、特性取得部２８３、ホールアウト推定部２８４及び打数確定部２８５の全部又は一部として機能してもよい。
【００５９】
［１−４−１．打撃の検出］
打撃検出部２８１は、ユーザ端末２を使用するユーザによりクラブを用いてボールが打撃されたことを検出する。例えば、この打撃の検出は、クラブでボールが打撃される際に生じる打撃音と、クラブのスイングとが検出されることに基づく。打撃音及びスイングの検出に基づくことで、ユーザ自身がクラブでボールを打撃したことを適切に検出することができる。例えば、他人がボールを打撃することにより打撃音のみが検出された場合に、打数が増加することを防止することができる。また、プレーヤーがクラブの素振りを行うことによりスイングのみが検出された場合に、打数が増加することを防止することができる。
【００６０】
打撃検出部２８１は、音入力部２５を介して入力された打撃音を取得する。打撃検出部２８１は、音入力部２５から出力される音信号に基づいて、音入力部２５から入力された音から打撃音を検出してもよい。例えば、打撃検出部２８１は、音圧レベルが所定値以上である音が入力された場合、その音が打撃音であると判定してもよい。或いは、打撃検出部２８１は、バンドパスフィルタを用いて打撃音を抽出してもよい。クラブがボールに衝突した際に生じる音には、所定の周波数で音圧レベルのピークが存在する。例えば、１番ウッドの場合、４ＫＨｚ付近でピークがあるという報告がある。また、パターの場合、３．５ＫＨｚ付近でピークがあるという報告がある。一方、クラブが芝生に擦れる際に生じる音には、３ＫＨｚ付近でピークがあるという報告がある。そこで、あらゆる種類のクラブでボールが打撃した際に生じる打撃音の音圧レベルがピークになる周波数を含むように、バンドパスフィルタの通過帯域が設定されてもよい。そして、打撃音以外の音が極力遮断されるように通過帯域が設定されてもよい。音入力部２５から出力された音信号はバンドパスフィルタを通過する。打撃検出部２８１は、バンドパスフィルタを通過した音信号の音圧レベルが所定値以上である場合、打撃音が入力されたと判定してもよい。これにより、打撃音の検出精度を向上させることができる。バンドパスフィルタは、ハードウェアデバイスであってもよいし、ソフトウェアで実現されてもよい。
【００６１】
打撃検出部２８１は、センサー部２６を用いてスイングを検出する。上述したように、センサー部２６は、加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも１つを備える。
【００６２】
加速度センサーが用いられる場合、クラブをスイングする方向の加速度を検出可能なように、ユーザ端末２又はセンサー部２６が、ユーザの手首などの身体、又はクラブ等に装着されてもよい。クラブのスイングは、アドレス、テイクバック、ダウンスイング、フォロースイングの４段階に分かれる。アドレスにおいてはクラブはほぼ動かないため、加速度はほぼ０である。テイクバックにおいて、クラブが後ろに振り上げられる。このときに負の加速度が生じる。次いで、ダウンスイングにて比較的大きな正の加速度が生じる。ダウンスイング中に手首の返しが行われるため、加速度が正の値から負に値に急激に変化する。クラブがボールに衝突した時点からフォロースイングとなる。このとき、クラブが振動することにより加速度が変化する。その後、加速度が緩やかになってスイングが終了する。ダウンスイング時には比較的大きな正の加速度が生じるので、ダウンスイングを検出するための加速度の閾値が予め設定されてもよい。この閾値は、例えばパターをスイングしたときの加速度に基づいて決定されてもよい。その理由は、複数種類のクラブのうち、パターをスイングしたときの加速度が最も小さいからである。加速度センサーにより閾値を超える正の加速度が検出されたとき、打撃検出部２８１は、クラブがスイングされたと判定してもよい。
【００６３】
速度センサーが用いられる場合、クラブをスイングする方向の速度を検出可能なように、ユーザ端末２又はセンサー部２６が、ユーザの手首などの身体、又はクラブ等に装着されてもよい。ダウンスイング時には比較的大きな正の速度が生じるので、ダウンスイングを検出するための速度の閾値が予め設定されてもよい。この閾値は、例えばパターをスイングしたときの速度に基づいて決定されてもよい。速度センサーにより閾値を超える速度が検出されたとき、打撃検出部２８１は、クラブがスイングされたと判定してもよい。
【００６４】
衝撃センサーが用いられる場合、クラブとボールとの衝撃の強さを検出可能なように、ユーザ端末２又はセンサー部２６がクラブ等に装着されてもよい。予め定められた閾値を超える強さの衝撃が衝撃センサーにより検出されたとき、打撃検出部２８１は、クラブがスイングされたと判定してもよい。
【００６５】
重力センサーが用いられる場合、例えば重力の方向を検出可能なように、ユーザ端末２又はセンサー部２６が、ユーザの身体又はクラブ等に装着されてもよい。重力センサーにより検出された重力の方向が、クラブのスイング時の重力の方向と一致又は類似する場合、打撃検出部２８１は、クラブがスイングされたと判定してもよい。或いは、重力センサーにより検出された重力の方向の変化が、クラブのスイング時の重力の方向の変化と一致又は類似する場合、打撃検出部２８１は、クラブがスイングされたと判定してもよい。
【００６６】
生体センサーが用いられる場合、ユーザの生命活動に関する物理量が検出可能なように、ユーザ端末２又はセンサー部２６が、ユーザの身体に装着される。上述したように、生命活動に関する物理量の例として脈拍数、呼吸の状態、血圧及び筋肉の収縮状態が挙げられる。生体センサーにより検出された生命活動に関する物理量又はその物理量の変化が、クラブのスイング時の物理量又はその物理量の変化と一致又は類似する場合、打撃検出部２８１は、クラブがスイングされたと判定してもよい。
【００６７】
センサー部２６に複数のセンサーが含まれる場合、打撃検出部２８１は、複数のセンサーを用いて、クラブのスイングを検出してもよい。
【００６８】
打撃検出部２８１は、音入力部２５から入力された音から打撃検出部２８１により打撃音が検出されたタイミングと、センサー部２６を用いてスイングが検出されたタイミングとに基づいて、打撃が行われたか否かを判定してもよい。例えば、打撃検出部２８１は、打撃音及びスイングの何れか一方が検出されてから所定時間内に打撃音及びスイングの他方が検出された場合にのみ、打撃が行われたと判定してもよい。或いは、打撃検出部２８１は、打撃音が検出されたタイミングとスイングが検出されたタイミングとの差が所定時間未満である場合にのみ、打撃が行われたと判定してもよい。打撃音のみが検出されたとしても、その打撃音は、ユーザ端末２のユーザ以外のプレーヤーによる打撃により生じた音である可能性がある。このときに使用されたクラブは、そのプレーヤーが所有するクラブであるかもしれないし、ユーザが所有するクラブであるかもしれない。一方、スイングのみが検出されたとしても、ユーザは、素振りをしているかもしれない。打撃音とクラブのスイングとの両方が略同一タイミングで検出されたことを判定することで、打撃検出部２８１は、ユーザ自身がクラブでボールを打撃したか否かの判定精度を高めることができる。
【００６９】
一例として、通常は音入力部２５の音声入力はオフにされている。打撃検出部２８１は、クラブのスイングを検出すると、所定時間の間のみ音入力部２５の音声入力をオンにする。この間に、音入力部２５に打撃音が入力された場合に、打撃検出部２８１は、打撃が行われたと判定する。これにより、音入力部２５により消費される電力を節約することができる。
【００７０】
［１−４−２．打数のカウント］
カウンター部２８２は、打撃検出部２８１により打撃が検出されることに基づいて、ボールが打撃された回数である打数を増加させる。具体的に、カウンター部２８２は、打撃が検出されるごとに打数を１打増加させる。増加させる打数は、ユーザがこれまでにゴルフをプレーした全ホール及び現在プレーしているホールの合計打数であってもよいし、現在プレーしているホールの打数であってもよい。
【００７１】
［１−４−３．打撃の特性の取得］
特性取得部２８３は、打撃検出部２８１により検出された打撃の威力を特定可能なその打撃の特性を示す特性情報を取得する。特性情報は、音入力部２５に入力された打撃音及びセンサー部２８２を用いて検出されたスイングの少なくとも何れか一方に基づいて取得される。特性取得部２８３は、打撃音及びスイングの両方を用いる場合、特性取得部２８３は、スイングの方を優先して用いてもよい。例えばユーザがミスショットすることによってクラブがボールにまともに当たらなかった場合、打撃音が打撃の威力を正確に表すとは限らないからである。
【００７２】
特性情報は、例えば、打撃音の音圧、加速度センサーにより検出された加速度、速度センサーにより検出された速度、衝撃センサーにより検出された衝撃度、重力センサーにより検出された重力方向の変化速度、生体センサーにより検出された物理量及びその物理量の変化速度の少なくとも何れか１つであってもよい。打撃音の音圧が高いほど威力が高い。スイング時のクラブ又はスイング動作の加速度が高いほど威力が高い。スイング時のクラブ又スイング動作の速度が高いほど威力が高い。クラブがボールに衝突した際の衝撃度が高いほど威力が高い。クラブのスイング又はスイング動作による重力方向の変化速度が速いほど威力が高い。スイング時の生体活動に関わる物理量が大きいほど、又はその物理量の変化速度が高いほど、威力が高い。
【００７３】
［１−４−４．ホールアウトの推定］
ホールアウト推定部２８４は、特性取得部２８３により取得された特性情報の時系列から特定される、打撃の威力の変化に基づいて、ユーザ端末を利用するユーザがホールアウトしたことを推定する。特性情報の時系列とは、打撃が行われた時刻が早い順に、取得された特性情報を並べた一連の特性情報である。
【００７４】
ユーザは通常各ホールで複数回ボールを打撃する。一般的に、ユーザは、１つのホールのティーショットにおいては強く、速くクラブをスイングし、その後次第に弱く、遅くクラブをスイングする。ユーザは、ボールを打撃する位置がカップから遠いほど、強く、速くクラブをスイングする傾向があるからである。従って、打撃の威力は次第に低下する。そして、ホールアウトの後、次のティーショットで打撃の威力は上昇する。図５は、打撃の威力の変化の一例を示す図である。図５においては、全ホールを通した第１打から第５打までの間、打撃の威力は次第に低下している。次いで、第５打から第６打の間で打撃の威力が上昇している（変化１０１）。第６打から第８打までの間、打撃の威力は次第に低下している。次いで、第８打から第９打の間で打撃の威力が上昇している（変化１０２）。第９打から第１５打までの間、打撃の威力は次第に低下している。次いで、第１５打から第１６打の間で打撃の威力が上昇している（変化１０３）。
【００７５】
例えば、ホールアウト推定部２８４は、或る打撃の威力よりも次の打撃の威力が高い場合、その或る打撃でユーザがホールアウトしたと推定してもよい。その理由は、或るホールの次のホールでのティーショットの威力は、その或るホールでユーザがホールアウトしたときの打撃の威力から上昇している蓋然性が高いからである。図５の例では、第５打から第６打、第８打か第９打、及び第１５打から第１６打で打撃の威力が上昇しているので、ホールアウト推定部２８４は、第５打、第８打、及び第１５打でユーザがホールアウトしたと推定する。
【００７６】
推定精度を高めるため、ホールアウト推定部２８４は、ユーザがホールアウトしたと推定するために必要な条件を更に追加してもよい。例えば、この条件は、打撃の威力の上昇程度が所定の閾値以上であること、上昇直前の打撃の威力が所定の閾値未満であること、及び、上昇時の打撃の威力が所定の閾値以上であることの少なくとも何れか１つであってもよい。これらの条件に用いられる閾値は、全ユーザに共通であってもよいし、ユーザごとに設定可能であってもよい。例えば、後述の打数確定部２８５によりホールごとの打数が確定され、確定された打数がユーザにより確認されると、確定された打数に基づき、そのユーザが何打目でホールアウトしたかを特定可能である。そして、そのユーザのホールアウト時の打撃の威力から次のホールのティーショット時の打撃の威力の変化の傾向を学習することができる。ホールアウト推定部２８４は、この傾向に基づいて閾値を設定してもよい。
【００７７】
ホールアウト推定部２８４は、打撃が検出されるごとに、ユーザがホールアウトしたか否かを推定してもよいし、ユーザによるゴルフのプレーが終了したと判定されたとき又はその後で、何打目でユーザがホールアウトしたかを推定してもよい。
【００７８】
また、ホールアウト推定部２８４は、打撃の威力の時系列に加えて、別の情報も用いてもよい。例えば、ホールアウト推定部２８４は、ユーザの位置を示す位置情報を用いてもよい。例えば、ホールアウト推定部２８４は、ＧＰＳを利用して、ユーザ端末２の位置をユーザの位置として特定してもよい。例えば、センサー部２６は、ＧＰＳ衛星からの信号を受信するＧＰＳ用のアンテナを備えてもよい。ホールアウト推定部２８４は、アンテナにより受信された信号に基づいて、ユーザ端末２の位置を計算する。ホールアウト推定部２８４は、打撃の威力が上昇し、且つ位置情報に基づきユーザが１つのホールから別のホールへ移動したと判定された場合にのみ、ユーザがホールアウトしたと推定してもよい。その理由は、ユーザがホール間を移動していない場合、ユーザがホールアウトした蓋然性が低いからである。例えば、記憶部２２には、ユーザがゴルフをプレーするゴルフコースの地図を示す地図デーが記憶されてもよい。この地図データは、ゴルフコース内の各ホールの位置及び範囲を示す。カウンター部２８２は、打撃を検出するごとに、現在のユーザの位置を計算する。ホールアウト推定部２８４は、打撃時のユーザの位置と地図データとに基づいて、ユーザが位置するホールを特定する。例えば、ホールアウト推定部２８４は、今回の打撃時にユーザが位置するホールと、直前の打撃時にユーザが位置するホールとが異なる場合、ユーザが１つのホールから別のホールへ移動したと判定する。
【００７９】
或いは、ホールアウト推定部２８４は、ユーザが移動した程度を示す移動情報を用いてもよい。ホールアウト推定部２８４は、２つの打撃の間で打撃の威力が上昇し、且つその２つの打撃の間にユーザが所定程度以上移動したと判定された場合にのみ、ユーザがホールアウトしたと推定してもよい。その理由は、ユーザが１つのホールでホールアウトして、次のホールでプレーするために次のホールに移動するとき、ユーザは相当程度移動する蓋然性が高いからである。ユーザが移動した程度は、例えばユーザが移動した距離又はユーザの歩数であってもよい。例えば、打撃検出部２８１は、ＧＰＳ用のアンテナにより受信された信号に基づいて、所定時間間隔ごとにユーザの位置を計算してもよい。ホールアウト推定部２８４は、直前の打撃時から今回の打撃時までのユーザの位置に基づいて、直前の打撃時から今回の打撃時までにユーザが移動した距離を計算する。ホールアウト推定部２８４は、移動した距離が所定距離以上である場合にのみ、ユーザがホールアウトしたと推定してもよい。或いは、センサー部２６が、歩数計を備えてもよい。歩数計はユーザの歩数をカウントする。ホールアウト推定部２８４は、今回の打撃時の歩数と直前の打撃時の歩数との差が所定歩数以上である場合にのみ、ユーザがホールアウトしたと推定してもよい。
【００８０】
［１−４−５．各ホールの打数の確定］
打数確定部２８５は、カウンター部２８２により増加された打数と、ホールアウト推定部２８４によりユーザがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する。カウンター部２８２により増加された打数、及びホールアウト推定部２８４による推定から、各ホールにおいて何打目でユーザがホールアウトしたかが特定されるので、ホールごとの打数を確定することができる。
【００８１】
打数確定部２８４がホールごとの打数を自動的に確定するので、ゴルフコースの運営者は、ゴルフコースに、ホールごとの打数を計算するための専用の設備を設置する必要がない。従って、簡易な構成でホールごとの打数を自動的に計算することができる。また、打数を確定するためにユーザが何らかの操作をする必要がない。
【００８２】
或るホールでユーザがゴルフのプレーを終えた場合に、そのホールの打数を確定する方法が必要となる。ユーザは９番ホール又は１８番ホールでゴルフのプレーを終えてもよいし、それらのホール以外のホールでゴルフのプレーを終えてもよい。例えば、ユーザがユーザ端末２に対して所定の操作を行ったとき、打数確定部２８５は、ユーザがゴルフのプレーを終えたと判定してもよい。或いは、打撃検出部２８１により打撃が検出されてから所定時間以内に更なる打撃が検出されなかった場合、打数確定部２８５は、ユーザがゴルフのプレーを終えたと判定してもよい。ユーザがゴルフのプレーを終えたと判定した場合、打数確定部２８５は、カウンター部２８２による現在の打数に基づいて、ユーザがプレーした最終のホールの打数を確定してもよい。その理由は、ゴルフのプレーを終えた後、ユーザがクラブでボールを打撃する蓋然性は低いからである。これにより、ゴルフのプレーを終えたことを確認するための操作をユーザが行わなくても、最終のホールの打数を確定することができる。
【００８３】
ホールアウト推定部２８４及び打数確定部２８５は、打撃検出部２８１により打撃が検出されるごとに、ユーザがホールアウトしたか否かの推定、及びこの推定に基づく１つのホールにおける打数の確定を実行してもよい。この場合、１打遅れて１つのホールの打数が確定する。或いは、ホールアウト推定部２８４及び打数確定部２８５は、ユーザがゴルフのプレーを終えたと判定されたとき、又はその後所定のタイミングで、何打目でユーザがホールアウトしたかの推定、及びこの推定に基づきユーザがゴルフをプレーした全ホールそれぞれの打数の確定を実行してもよい。
【００８４】
打数確定部２８４により一度確定された打数をユーザが修正可能なように、打数確定部２８４が制御してもよい。１つのホールにおける打数が確定するごとに修正が可能であってもよいし、全ホールの打数が確定した後に修正が可能であってもよい。
【００８５】
［１−５．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図６乃至図９を用いて説明する。システム制御部２８は、ゴルフアプリケーションプログラムに含まれる各種コードに従って、図６乃至図９に示す処理を実行する。以下に説明する処理例は、ユーザがゴルフのプレーを終えた後に、何打目でユーザがホールアウトしたかの推定、及びこの推定に基づく全ホールそれぞれの打数の確定が実行される場合の処理例である。
【００８６】
図６は、本実施形態に係るユーザ端末２のシステム制御部２８による打数計算処理の一例を示すフローチャートである。例えば、ユーザが操作入力部２３を操作することにより、システム制御部２８が、ゴルフアプリケーションプログラムを起動する。その後、ユーザは、ゴルフのプレーが開始されることを示す操作を行う。このとき、ユーザがゴルフをプレーするホール数又はユーザが何番目のホールから何番目のホールまでゴルフをプレーするかの入力が可能であってもよい。システム制御部２８は、ユーザの操作に応じて打数計算処理を実行する。
【００８７】
図６に示すように、システム制御部２８は、打数カウント処理を実行する（ステップＳ１）。この処理においては、打撃の検出及び打数のカウントが実行される。次いで、システム制御部２８は、ホールアウト推定処理を実行する（ステップＳ２）。この処理においては、何打目でユーザがホールアウトしたかが推定される。次いで、システム制御部２８は、打数確定処理を実行する（ステップＳ３）。この処理においては、ユーザがゴルフをプレーした全ホールそれぞれの打数が確定される。打数確定処理が終了すると、打数計算処理が終了する。
【００８８】
図７は、本実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。図７に示すように、カウンター部２８２は、総打数ＧＳ（グロススコア）を０に設定する（ステップＳ１０１）。次いで、打撃検出部２８１は、センサー部２６から出力される検出信号に基づいて、クラブのスイングが検出されたか否かを判定する（ステップＳ１０２）。打撃検出部２８１は、クラブのスイングが検出されたと判定した場合には（ステップＳ１０２：ＹＥＳ）、処理をステップＳ１０３に進める。一方、打撃検出部２８１は、クラブのスイングが検出されていないと判定した場合には（ステップＳ１０２：ＮＯ）、処理をステップＳ１０９に進める。
【００８９】
ステップＳ１０３において、打撃検出部２８１は、音入力部２５に対する音声入力をオンに設定する。次いで、打撃検出部２８１は、音入力部２５からバンドパスフィルタを介して出力された音信号に基づいて、打撃音が検出されたか否かを判定する（ステップＳ１０４）。打撃音取得部２８１は、打撃音が検出されたと判定した場合には（ステップＳ１０４：ＹＥＳ）、処理をステップＳ１０７に進める。一方、打撃音取得部２８１は、打撃音が検出されていないと判定した場合には（ステップＳ１０４：ＮＯ）、処理をステップＳ１０５に進める。
【００９０】
ステップＳ１０５において、打撃検出部２８１は、音声入力をオンにしてから所定時間が経過したか否かを判定する。打撃検出部２８１は、所定時間が経過していないと判定した場合には（ステップＳ１０５：ＮＯ）、処理をステップＳ１０４に進める。一方、打撃検出部２８１は、所定時間が経過したと判定した場合には（ステップＳ１０５：ＹＥＳ）、処理をステップＳ１０６に進める。ステップＳ１０６において、打撃検出部２８１は、音声入力をオフに設定して、処理をステップＳ１０２に進める。
【００９１】
ステップＳ１０７において、カウンター部２８２は、総打数ＧＳを１増加させる。次いで、特性取得部２８３、センサー部２６から出力された検出信号又は検出された打撃音から特性情報［ＧＳ］を取得して記憶部２２に記憶させる。（ステップＳ１０８）特性情報［ＧＳ］は、ＧＳ番目の打撃の威力を示す。次いで、処理はステップＳ１０６に進む。
【００９２】
ステップＳ１０９において、カウンター部２８２は、ユーザによりゴルフのプレーを終了させる操作が行われたか否かを判定する。このとき、カウンター部２８２は、プレーを終了させる操作が行われなかったと判定した場合には（ステップＳ１０９：ＮＯ）、処理をステップＳ１０２に進める。一方、カウンター部２８２は、プレーを終了させる操作が行われたと判定した場合には（ステップＳ１０９：ＹＥＳ）、打数計算処理を終了させる。
【００９３】
図８は、本実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。図８に示すように、ホールアウト推定部２８４は、ティーショットの打撃番号のリストに１を追加する（ステップＳ１２１）。ティーショットの打撃番号は、全ホールを通して行われた打撃のうち何番目の打撃がティーショットであるかを示す。次いで、ホールアウト推定部２８４は、打撃番号ｉを２に設定する（ステップＳ１２２）。次いで、ホールアウト推定部２８４は、特性情報［ｉ−１］及び特性情報［ｉ］に基づいて、ｉ−１番目の打撃からｉ番目の打撃への威力の変化を取得する（ステップＳ１２３）。次いで、ホールアウト推定部２８４は、取得した変化に基づいて、打撃の威力が上昇しているか否かを判定する（ステップＳ１２４）。ホールアウト推定部２８４は、打撃の威力が上昇していると判定した場合には（ステップＳ１２４：ＹＥＳ）、ｉ−１番目の打撃でユーザがホールアウトしたと推定して、処理をステップＳ１２５に進める。なお、ホールアウト推定部２８４は、打撃の威力が上昇していることに加えて、打撃の威力の上昇程度が所定値以上であること、ｉ−１番目の打撃の威力が所定値未満であること、ｉ番目の打撃の威力が所定値以上であることの少なくとも何れか１つを条件として、ユーザがホールアウトしたか否かを推定してもよい。ステップＳ１２５において、ホールアウト推定部２８４は、リストに打撃番号ｉを追加して、処理をステップＳ１２６に進める。一方、ホールアウト推定部２８４は、打撃の威力が上昇していないと判定した場合には（ステップＳ１２４：ＮＯ）、処理をステップＳ１２６に進める。
【００９４】
ステップＳ１２６において、ホールアウト推定部２８４は、打撃番号ｉが総打数ＧＳ未満であるか否かを判定する。ホールアウト推定部２８４は、打撃番号ｉが総打数ＧＳ未満であると判定した場合には（ステップＳ１２６：ＹＥＳ）、処理をステップＳ１２７に進める。ステップＳ１２７において、ホールアウト推定部２８４は、打撃番号ｉを１増加させて、処理をステップＳ１２３に進める。一方、ホールアウト推定部２８４は、打撃番号ｉが総打数ＧＳ未満ではないと判定した場合には（ステップＳ１２６：ＮＯ）、処理をステップＳ１２８に進める。
【００９５】
ステップＳ１２８において、ホールアウト推定部２８４は、リストに追加された打撃番号の数が、ユーザがゴルフをプレーしたホール数と一致するか否かを判定する。ホールアウト推定部２８４は、打撃番号の数がホール数と一致すると判定した場合には（ステップＳ１２８：ＹＥＳ）、ホールアウト推定処理を終了させる。一方、ホールアウト推定部２８４は、打撃番号の数がホール数と一致しないと判定した場合には（ステップＳ１２８：ＮＯ）、処理をステップＳ１２９に進める。ステップＳ１２９において、ホールアウト推定部２８４は、打撃番号の数がホール数よりも多いか否かを判定する。ホールアウト推定部２８４は、打撃番号の数がホール数よりも多いと判定した場合には（ステップＳ１２９：ＹＥＳ）、処理をステップＳ１３０に進める。一方、ホールアウト推定部２８４は、打撃番号の数がホール数よりも多くはないと判定した場合には（ステップＳ１２９：ＮＯ）、処理をステップＳ１３１に進める。
【００９６】
ステップＳ１３０において、ホールアウト推定部２８４は、ティーショットの打撃番号である可能性が相対的に低い打撃番号を、リストに含まれる打撃番号の数とホール数との差に相当する数分、リストから削除する。例えば、ホールアウト推定部２８４は、打撃番号に対応する打撃の威力の上昇程度が相対的に低い打撃番号、打撃番号に対応する打撃の直前の打撃の威力が相対的に高い打撃番号、又は打撃番号に対応する打撃の威力が相対的に低い打撃番号を、ティーショットの打撃番号である可能性が相対的に低い打撃番号であると判定してもよい。
【００９７】
ステップＳ１３１において、ホールアウト推定部２８４は、リストに含まれていない打撃番号のうち、ティーショットの打撃番号である可能性が相対的に高い打撃番号を、リストに含まれる打撃番号の数とホール数との差に相当する数分、リストに追加する。例えば、ホールアウト推定部２８４は、直前の打撃から威力が上昇している打撃に対応する打撃番号を特定する。ホールアウト推定部２８４は、特定された打撃番号のうち、打撃番号に対応する打撃の威力の上昇の程度が相対的に高い打撃番号、打撃番号に対応する打撃の直前の打撃の威力が相対的に低い打撃番号、又は打撃番号に対応する打撃の威力が相対的に高い打撃番号を、ティーショットの打撃番号である可能性が相対的に高い打撃番号であると判定してもよい。
【００９８】
なお、ステップＳ１３０及び１３１では、自動的にティーショットの打撃番号の削除及び追加が行われているが、これらの処理に加えて、又はこれらの処理に代えて、ユーザが手作業でティーショットの打撃番号の削除及び追加することが可能なように、ゴルフスコア管理システムＳが機能してもよい。例えば、ホールアウト推定部２８４は、表示部２４にティーショットの打撃番号を表示し、リストから削除する打撃番号をユーザが選択したり、リストに追加する打撃番号をユーザが入力したりする。
【００９９】
ステップＳ１３０又は１３１を終えると、ホールアウト推定部２８４は、ホールアウト推定処理を終了させる。
【０１００】
図９は、本実施形態に係るユーザ端末２のシステム制御部２８による打数確定処理の一例を示すフローチャートである。図９に示すように、打数確定部２８５は、ホール番号ｈを１に設定する（ステップＳ１４１）。次いで、打数確定部２８５は、打撃番号［ｈ＋１］から打撃番号［ｈ］を減算して、打数［ｈ］を計算する（ステップＳ１４２）。打撃番号［ｈ］及び打撃番号［ｈ＋１］は、リストに追加された打撃番号のうち、ｈ番目に小さい打撃番号及びｈ＋１番目に小さい打撃番号である。打数［ｈ］は、第ｈホールにおける打数である。次いで、打数確定部２８５は、ホール番号ｈを１増加させる（ステップＳ１４３）。次いで、打数確定部２８５は、打撃番号ｈが、ユーザがゴルフをプレーしたホール数よりも小さいか否かを判定する（ステップＳ１４４）。打数確定部２８５は、打撃番号ｈがホール数よりも小さいと判定した場合には（ステップＳ１４４：ＹＥＳ）、処理をステップＳ１４２に進める。一方、打数確定部２８５は、打撃番号ｈがホール数よりも小さくはないと判定した場合には（ステップＳ１４４：ＮＯ）、処理をステップＳ１４５に進める。
【０１０１】
ステップＳ１４５において、打数確定部２８５は、総打数ＧＳ＋１から打撃番号［ｈ］を減算して、打数［ｈ］を計算する。次いで、打数確定部２８５は、打数［１］〜打数［ｈ］を、それぞれ対応するホールの番号と関連付けて、表示部２４に表示させる（ステップＳ１４６）。次いで、打数確定部２８５は、表示された各ホールの打数をユーザが確認した上で、ユーザによる打数の修正を受け付ける。例えば、ユーザは、操作入力部２３を操作して、打数を修正すべきホールを選択し、選択したホールについてユーザが正しいと考える打数を入力する。ユーザは、打数を修正し又は修正せずに、全ホールの打数を現在の打数で最終的に確定する操作を行う。次いで、打数確定部２８５は、ユーザによる確認後の打数［１］〜打数［ｈ］を、今日の日付、ユーザがゴルフをプレーしたゴルフコースのゴルフコースＩＤ等に関連付けて記憶部２２に記憶させる（ステップＳ１４８）。或いは、打数確定部２８５は、打数［１］〜打数［ｈ］をサーバ１に送信して、打数データベースにこれらの打数を記憶させてもよい。ステップＳ１４８を終えると、打数確定処理が終了する。
【０１０２】
以上説明したように、本実施形態によれば、システム制御部２８が、ユーザにより用いられるユーザ端末２により、クラブでボールが打撃される際に生じる打撃音及びクラブのスイングが検出されることに基づいて、ユーザによるクラブを用いたボールの打撃を検出する。また、システム制御部２８が、打撃が検出されることに基づいて、ボールが打撃された回数を示す打数を増加させる。また、システム制御部２８が、検出された打撃の威力を特定可能なその打撃の特性を取得する。また、システム制御部２８が、取得された打撃の特性の時系列から特定される、打撃の威力の変化に基づいて、ユーザがホールアウトしたことを推定する。また、システム制御部２８が、増加された打数と、ユーザがホールアウトしたことが推定されたこととに基づいて、ホールごとの打数を確定する。従って、打撃音及びスイングの検出に基づくことで、打撃が行われたことを適切に検出することができる。また、簡易な構成で、当該ユーザのホールごとの打数を自動的に計算することができる。
【０１０３】
また、システム制御部２８が、或る打撃の威力よりも次の打撃の威力が高い場合、その或る打撃でユーザがホールアウトしたと推定してもよい。この場合、ユーザがホールアウトしたことを適切に推定することができる。
【０１０４】
また、ユーザ端末２が、スイングを検出するための加速度センサー、速度センサー、衝撃センサー、重力センサー及び生体センサーの少なくとも１つを備えてもよい。システム制御部２８は、打撃の特性として、加速度センサーにより検出された加速度、速度センサーにより検出された速度、衝撃センサーにより検出された衝撃力、重力センサーにより検出された重力方向の変化速度、生体センサーにより検出された、ユーザの生命活動に関する物理量及びその物理量の変化速度、並びに打撃音の音量の少なくとも１つを取得してもよい。
【０１０５】
また、システム制御部２８が、打撃音及びスイングの何れか一方が検出されてから所定時間内に他方が検出された場合に、ユーザによりクラブでボールが打撃されたと判定してもよい。この場合、ユーザ自身がクラブでボールを打撃したか否かを適切に判定することができる。
【０１０６】
［２．第２実施形態］
［２−１．システム制御部の機能概要］
次に、図１０及び図１１を用いて、第２実施形態におけるユーザ端末２のシステム制御部２８の機能概要について説明する。図１０は、本実施形態に係るユーザ端末２のシステム制御部２８の機能ブロックの一例を示す図である。図１０において、図４と同様の要素については同様の符号が付されている。図１０に示すように、システム制御部２８は、打撃検出部２８１、カウンター部２８２、特性取得部２８３、ホールアウト推定部２８４、及び打数確定部２８５に加えて、学習部２８６として機能する。学習部２８６は、威力学習手段、クラブ学習手段、及び関係学習手段の一例である。ユーザ端末２のシステム制御部２８ではなく、サーバ１のシステム制御部１４が学習部２８６として機能してもよい。
【０１０７】
［２−１−１．打撃の威力の変化の学習］
学習部２８６は、特性取得部２８３により取得された特性情報と、各ホールの打数が確定されたこととに基づいて、ユーザによる打撃の威力の変化を学習する。学習される打撃の威力の変化は、ティーショット及びホールアウト時の打撃を少なくとも含む複数の連続した打撃における威力の変化である。特に本実施形態において、学習部２８６は、特性取得部２８３により取得された特性情報と、各ホールの規定打数と、各ホールの打数が確定されたこととに基づいて、ユーザによる１ホール内での打撃の威力の変化を規定打数ごとに学習する。ユーザによって、１ホール内での打撃の威力の変化に何らかの傾向がある場合がある。また、ユーザがゴルフをプレーするホールが、ショートホール、ミドルホール及びロングホールの何れのホールであるかによって、打撃の威力の変化の傾向が変わる場合がある。学習によって、打撃の威力の変化の傾向が規定打数ごとに特定される。例えば、打撃の威力の変化の傾向から、或るユーザはショートホールが苦手であり、別の或るユーザはロングホールが苦手であるといったことも特定することが可能となる。
【０１０８】
各ホールの打数が確定されることによって、各ホールの打撃の威力の変化が特定される。各ホールの規定打数は、例えばサーバ１の記憶部２２に予め記憶されている。ゴルフアプリケーションプログラムが起動されて、ユーザがゴルフのプレーを開始する際に、ユーザは、ゴルフをプレーするゴルフコースを選択する。打数確定部２８５は、例えば確定した各ホールの打数を、そのホールの各打撃の特性情報と関連付けるとともに、選択されたゴルフコースのゴルフコースＩＤと関連付けて、記憶部２２に記憶させる。学習の実行の際、学習部２８６は、サーバ１から、選択されたゴルフコースの各ホールの規定打数を取得してもよい。学習に用いられる特性情報は、打数確定処理においてユーザによる打数の確認が済んだプレーについて取得された特性情報であることが望ましい。サーバ１のシステム制御部１４が学習部２８６として機能する場合、ユーザ端末２は、例えば確定した各ホールの打数、各打撃の特性情報、ゴルフコースＩＤ、ユーザＩＤ等をサーバ１へ送信し、サーバ１はこれらの情報を記憶部１２に記憶させる。サーバ１は、記憶された情報を用いてユーザごとに学習を実行する。
【０１０９】
学習方法の一例を説明する。学習部２８６は、打撃の威力の変化の出現確率を示す打撃威力変化モデルを学習結果として生成してもよい。打撃威力変化モデルは、例えば木構造の情報であってもよい。打撃威力変化モデルは、木構造における各ノードに相当するノード情報を含む。各ノード情報は、打撃番号、特性情報又は特性情報の範囲、及び出現確率を含む。学習部２８６は、ルートノードに相当するノード情報として、打撃番号「０」、特性情報「なし」、及び出現確率１００％を含むノード情報を生成する。打撃番号は、何打目の打撃であるかを示す。第０打目の打撃は存在しないが、便宜上ルートノードの相当する情報として、第０打目の打撃に関するノード情報が生成される。次いで、学習部２８６は、１打目の打撃（ティーショット）について、各特性情報の出現確率を計算し、第０打目の打撃番号「０」のノード情報の下位に位置するノード情報として、特性情報ごとに、打撃番号「１」、その特性情報、及び計算した出現確率を含むノード情報を生成する。
【０１１０】
例えば、１打目の特性情報として、９５、９５、９５、８０、８０という５ホール分の特性情報が記憶されている場合、１打目について９５を示す特性情報の出現確率は６０％であり、８０を示す特性情報の出現確率は４０％である。学習部２８６は、クラスタリングにより、近い打撃の威力同士をグループ化して、グループごとに、その出現確率を計算することが望ましい。この場合、ノード情報は、グループ内の特性情報の範囲を含む。
【０１１１】
次に、学習部２８６は、１打目の各ノード情報の下位に位置する第２打目のノード情報を生成する。学習部２８６は、上位の１打目のノード情報に含まれる特性情報が１打目の特性情報であるという条件下における第２打目の特性情報の条件付き出現確率を計算する。そして、学習部２８６は、計算した条件付き出現確率を、上位の１打目のノード情報に含まれる出現確率に乗算して、１打目の特性情報及び第２打目の特性情報が示す打撃の威力の変化の出現確率を計算する。そして、学習部２８６は、打撃番号「２」、第２打目の特性情報、及び計算した出現確率を含むノード情報を生成する。
【０１１２】
例えば、１打目の特性情報が９５であった３個のホールについて、第２打目の特性情報として、７０、６０、６０というデータが記憶されているとする。この場合、１打目の特性情報が９５を示すという条件下において７０を示す特性情報の条件付き出現確率は３３．３％であり、６０を示す特性情報の条件付き出現確率は６６．７％である。従って、１打目から第２打目へ特性情報が９５から７０に変化する確率は６０％×３３．３％＝２０％であり、１打目から第２打目へ特性情報が９５から６０に変化する確率は６０％×６６．７％＝４０％である。学習部２８６は、１打目の特性情報が９５を示すノード情報の下位のノード情報として、第２打目の特性情報が７０を示すノード情報及び第２打目の特性情報が６５を示すノード情報を生成する。
【０１１３】
１打目の特性情報が８０であった２個のホールのうち１個のホールのみについて、第２打目の６５を示す特性情報が記憶されているとする。残りの１つのホールについては、１打目でユーザがホールアウトしたため、第２打目の特性情報が記憶されていない。この場合、１打目の特性情報が８０を示すという条件下における６５を示す特性情報の条件付き出現確率は５０％であり、１打目でホールアウトする条件付き出現確率は５０％である。従って、１打目から第２打目へ特性情報が８０から６５に変化する確率は４０％×５０％＝２０％である。また、１打目が特性情報が８０であって且つ１打目でユーザがホールアウトする確率（以下、ホールアウト確率という）は４０％×５０％＝２０％である。学習部２８６は、１打目の特性情報が８０を示すノード情報の下位のノード情報として、第２打目の特性情報が６５を示すノード情報及び第２打目の特性情報が「ホールアウト」を示すノード情報を生成する。直前の打撃でホールアウトした場合、ノード情報に含まれる特性情報は「ホールアウト」を示す。
【０１１４】
学習部２８６は、第３打目についても第２打目の場合と同様にして、１打目から第３打目までの特性情報が示す打撃の威力の変化の出現確率を計算してノード情報を生成する。学習部２８６は、このような処理を第４打目以降の特性情報についても実行する。こうして、打撃威力変化モデルが生成される。
【０１１５】
［２−１−２．ホールアウトの推定］
ホールアウト推定部２８４は、学習部２８６による打撃の威力の変化の学習結果と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とを比較し、この比較に基づいて、ユーザがホールアウトしたことを推定する。特に本実施形態において、ホールアウト推定部２８４は、ユーザによりゴルフがプレーされるホールの順序に従って、これらのホールの規定打数に対応する打撃の威力の変化の学習結果と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とを比較する。例えば、ホールアウト推定部２８４は、学習結果と打撃の威力の変化とを比較する。
【０１１６】
例えば、ホールアウト推定部２８４は、ユーザがゴルフのプレーを開始するホール（例えば第１ホール）の規定打数を取得する。ホールアウト推定部２８４は、取得された規定打数に対応する打撃威力変化モデルを取得する。ホールアウト推定部２８４は、取得された打撃威力変化モデルを用いて、１打目の特性情報から打撃順に、１打目からその打撃までの打撃の威力の変化の出現確率、及びその打撃のホールアウト確率の少なくとも何れか一方を取得する。具体的に、ホールアウト推定部２８４は、打撃威力変化モデルに含まれる１打目のノード情報のうち、特性取得部２８３により取得された１打目の特性情報と合致する特性情報を含むノード情報を特定する。次いで、ホールアウト推定部２８４は、特定したノード情報に含まれる出現確率を、１打目の打撃の威力の出現確率として取得する。或いは、ホールアウト推定部２８４は、特定したノード情報の下位に位置する第２打目のノード情報のうち、特性情報が「ホールアウト」を示すノード情報を特定する。そして、ホールアウト推定部２８４は、特定したノード情報に含まれる出現確率を、１打目のホールアウト確率として取得する。そのようなノードが存在しない場合、１打目のホールアウト確率は０％である。
【０１１７】
更に、ホールアウト推定部２８４は、特定した１打目のノード情報の下位に位置する第２打目のノード情報のうち、特性取得部２８３により取得された第２打目の特性情報と合致する特性情報を含むノード情報を特定する。次いで、ホールアウト推定部２８４は、特定したノード情報に含まれる出現確率を、第１打目から第２打目までの打撃の威力の変化の出現確率として取得する。或いは、ホールアウト推定部２８４は、特定したノード情報の下位に位置する第３打目のノード情報のうち、特性情報が「ホールアウト」を示すノード情報を特定する。そして、ホールアウト推定部２８４は、特定したノード情報に含まれる出現確率を、２打目のホールアウト確率として取得する。
【０１１８】
ホールアウト推定部２８４は、第３打目以降の打撃についても同様に、打撃の威力の変化の出現確率及びホールアウト確率の少なくとも何れか一方を取得する。特性取得部２８３により取得された特性情報と合致する特性情報を含むノード情報が存在しない場合がある。この場合、ホールアウト推定部２８４は、例えば特性取得部２８３により取得された特性情報に最も近い特性情報を含むノード情報を特定してもよい。この場合、ホールアウト推定部２８４は、特性取得部２８３により取得された特性情報と、ノード情報に含まれる特性情報との差に応じて、打撃の威力の変化の出現確率又はホールアウト確率を低下させてもよい。
【０１１９】
ホールアウト推定部２８４は、打撃の威力の変化の出現確率が所定値未満となった打撃の直前の打撃でユーザがホールアウトしたと推定してもよい。或いは、ホールアウト推定部２８４は、ホールアウト確率が最も高い打撃でユーザがホールアウトしたと推定してもよい。或いは、ホールアウト推定部２８４は、ホールアウト確率が所定値以上となった打撃で、ユーザがホールアウトしたと推定してもよい。或いは、ホールアウト推定部２８４は、ホールアウト確率が所定値以上となった打撃であって、且つ次の打撃で打撃の威力が上昇している場合に、ユーザがホールアウトしたと推定してもよい。
【０１２０】
ホールアウト推定部２８４は、例えば第１ホールについてユーザが何打目でホールアウトしたかを推定すると、次に第２ホールの規定打数に対応する打撃威力変化モデルを取得する。ホールアウト推定部２８４は、取得された打撃威力変化モデルを用いて、第１ホールについてユーザがホールアウトしたと推定される打撃の次の打撃の特性情報から打撃順に、打撃の威力の変化及び打撃のホールアウト確率の少なくとも何れか一方を取得する。そして、ホールアウト推定部２８４は、第２ホールについてユーザが何打目でホールアウトしたかを推定する。ホールアウト推定部２８４は、第３ホール以降についても同様にして推定を行う。
【０１２１】
図１１は、実際の打撃の威力の変化、及び打撃威力変化モデルが示す打撃の威力の変化の一例を示す図である。例えば、第１〜第３ホールの規定打数は、それぞれパー４、パー３、及びパー５であるとする。図１１に示すように、パー４に対応する打撃威力変化モデルが示す打撃の威力の変化のうち、打撃の威力の変化２０１の１打目から５打目までの打撃の威力の変化が、実際の１打目から５打目までの打撃の威力の変化に略合致する。実際の１打目から５打目までの打撃の威力の変化がミドルホールで出現する確率は所定値以上である。一方、打撃の威力の変化２０１における６打目の打撃の威力は、実際の６打目の打撃の威力と合致しない。従って、実際の１打目から６打目までの打撃の威力の変化がミドルホールで出現する確率は０％である。従って、ホールアウト推定部２８４は、第１ホールでは５打目の打撃でユーザがホールアウトしたと推定する。パー３に対応する打撃威力変化モデルが示す打撃の威力の変化のうち、打撃の威力の変化２０２の１打目から３打目までの打撃の威力の変化が、実際の６打目から８打目までの打撃の威力の変化に略合致する。パー５に対応する打撃威力変化モデルが示す打撃の威力の変化のうち、打撃の威力の変化２０３の１打目から７打目までの打撃の威力の変化が、実際の９打目から１５打目までの打撃の威力の変化に略合致する。ホールアウト推定部２８４、第１ホールの場合と同様の判定方法により、ユーザは、第２ホールでは８打目の打撃でユーザがホールアウトしたと推定し、第３ホールでは１５打目の打撃でユーザがホールアウトしたと推定する。
【０１２２】
ホールアウト推定部２８４は、打撃が検出されるごとに、ユーザがホールアウトしたか否かを推定してもよいし、ユーザによるゴルフのプレーが終了したと判定されたとき又はその後で、何打目でユーザがホールアウトしたかを推定してもよい。後者の場合、ホールアウト推定部２８４は、全ホール分について取得された打撃の威力の変化の出現確率又はホールアウト確率の合計が最大となるように、各ホールについてユーザが何打目でホールアウトしたかを推定してもよい。また、ホールアウト推定部２８４は、全ホールそれぞれの打数の合計が総打数と一致するように、各ホールについてユーザが何打目でホールアウトしたかを推定してもよい。
【０１２３】
［２−２．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図１２及び図１３を用いて説明する。なお、打数計算処理、打数カウント処理及び打数確定処理は、第１実施形態の場合と同様である。
【０１２４】
図１２は、本実施形態に係るユーザ端末２のシステム制御部２８による打撃威力変化学習処理の一例を示すフローチャートである。例えば、打数確定処理が終了した後、又は定期的に、打撃威力変化学習処理が実行される。
【０１２５】
図１２に示すように、学習部２８６は、規定打数ｐを３に設定する（ステップＳ２０１）。次いで、学習部２８６は、記憶部２２に記憶された、これまでユーザがゴルフをプレーした全コースの全ホールの打数及び特性情報のうち、規定打数がｐであるホールの打数及び特性情報を用いて、規定打数がｐに対応する打撃威力変化モデルを生成して記憶部２２に記憶させる（ステップＳ２０２）。打撃威力変化モデルの生成方法は、２−１−１節にて詳述してある。次いで、学習部２８６は、規定打数ｐが５未満であるか否かを判定する（ステップＳ２０３）。学習部２８６は、規定打数ｐが５未満であると判定した場合には（ステップＳ２０３：ＹＥＳ）、処理をステップＳ２０４に進める。ステップＳ２０４において、学習部２８６は、規定打数ｐを１増加させて、処理をステップＳ２０２に進める。一方、学習部２８６は、規定打数ｐが５未満ではないと判定した場合には（ステップＳ２０３：ＹＥＳ）、打撃威力変化学習処理を終了させる。
【０１２６】
図１３は、本実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。
【０１２７】
図１３に示すように、ホールアウト推定部２８４は、ホール番号ｈを１に設定するとともに（ステップＳ２２１）、第１ホールのティーショットの打撃番号を１に設定する（ステップＳ２２２）。次いで、ホールアウト推定部２８４は、第ｈホールの規定打数を取得する（ステップＳ２２３）。次いで、ホールアウト推定部２８４は、取得された規定打数に対応する打撃威力変化モデルを取得する（ステップＳ２２４）。
【０１２８】
次いで、ホールアウト推定部２８４は、ティーショットの打撃番号が示す打撃以降の特性情報が示す打撃の威力の変化と、取得された打撃威力変化モデルとを比較する。ホールアウト推定部２８４は、特性情報が示す打撃の威力の変化に合致する打撃の威力の変化を、打撃威力変化モデルから特定する。ホールアウト推定部２８４は、特定した打撃の威力の変化に対応して打撃威力変化モデルに記憶されている、ティーショットから各打撃までの打撃の威力の変化の出現確率を取得する。ホールアウト推定部２８４は、ティーショットからの打撃の威力の変化の出現確率が所定値以上である１又は複数の打撃を、第ｈホールについて、ユーザがホールアウトした打撃の候補として特定する（ステップＳ２２５）。
【０１２９】
次いで、ホールアウト推定部２８４は、ホール番号ｈが、ユーザがゴルフをプレーしたホール数よりも小さいか否かを判定する（ステップＳ２２６）。ホールアウト推定部２８４は、ホール番号ｈがホール数よりも小さいと判定した場合には（ステップＳ２２６：ＹＥＳ）、処理をステップＳ２２７に進める。ステップＳ２２７において、ホールアウト推定部２８４は、ステップＳ２２５において候補として特定された打撃の次の打撃の番号を、第ｈ＋１ホールのティーショットの打撃番号の候補に決定する。次いで、ホールアウト推定部２８４は、ホール番号ｈを１増加させて（ステップＳ２２８）、処理をステップＳ２２３に進める。第２ホール以降において、ステップＳ２２５では、ホールアウト推定部２８４は、ティーショットの打撃番号の候補のそれぞれについて、その候補が示す打撃以降の特性情報が示す打撃の威力の変化と、打撃威力変化モデルとを比較して、ティーショットから各打撃までの打撃の威力の変化の出現確率を取得する。一方、ホールアウト推定部２８４は、ホール番号ｈがホール数よりも小さくはないと判定した場合には（ステップＳ２２６：ＮＯ）、処理をステップＳ２２９に進める。ステップＳ２２３〜Ｓ２２７が繰り返されることにより、第１ホールから最終ホールまでのティーショットの打撃番号の候補の時系列及び打撃の威力の変化の出現確率の時系列が複数生成される。
【０１３０】
ステップＳ２２９において、ホールアウト推定部２８４は、生成されたティーショットの打撃番号の候補の時系列から、最終ホールでユーザがホールアウトする打撃番号が、総打数ＧＳに一致する時系列を抽出する。そして、ホールアウト推定部２８４は、抽出した時系列のうち、打撃の威力の変化の出現確率の合計が最大となる時系列を、ユーザがホールアウトしたと推定される打撃番号の時系列に決定する。そして、ホールアウト推定部２８４は、決定された時系列を、ティーショットの打撃番号のリストに追加して、ホールアウト推定処理を終了させる。
【０１３１】
以上説明したように、システム制御部２８が、取得された打撃の特性と、各ホールの打数が確定されたこととに基づいて、打撃の威力の変化を学習する。また、システム制御部２８が、打撃の威力の変化の学習結果と、取得された特性の時系列から特定される打撃の威力の変化とに基づいて、ユーザがホールアウトしたことを推定する。従って、ユーザの打撃の威力の変化の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。
【０１３２】
特に本実施形態によれば、システム制御部２８が、取得された打撃の特性と、各ホールの規定打数と、各ホールの打数が確定されたこととに基づいて、１ホール内での打撃の威力の変化を規定打数ごとに学習する。また、システム制御部２８が、ゴルフがプレーされるホールの順序に従って、そのホールの規定打数に対応する打撃の威力の変化の学習結果と、取得された特性の時系列から特定される打撃の威力の変化とを比較し、この比較に基づいて、ユーザがホールアウトしたことを推定する。従って、規定打数ごとに現れるユーザの打撃の威力の変化の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。
【０１３３】
［３．第３実施形態］
［３−１．システム制御部の機能概要］
次に、図１４を用いて、第３実施形態におけるユーザ端末２のシステム制御部２８の機能概要について説明する。
【０１３４】
［３−１−１．使用されたクラブの種類の識別］
本実施形態において、打撃検出部２８１は、打撃が検出されるごとに、その打撃に用いられたクラブの種類を識別する。例えば、打撃検出部２８１は、音入力部２５から入力された打撃音に基づいてクラブの種類を識別してもよい。
【０１３５】
例えば、記憶部２２には、複数の打撃音データが記憶される。記憶部２２に記憶される打撃音データは、ユーザがクラブでボールを打撃する際に生じる打撃音を示すデータである。例えば、打撃音データは、所定のオーディオファイルフォーマットのデータであってもよい。或いは、打撃音データは、打撃音の周波数特性を示すデータであってもよい。例えば、打撃音データは、周波数ごとの音圧レベルを含むデータであってもよい。各打撃音データは、クラブ種別と対応付けて記憶部２２に記憶される。クラブ種別として、１番〜１１番ウッド、１番〜９番アイアン、ピッチングウェッジ、サンドウェッジ、パター等がある。記憶部２２に打撃音データを記憶させる方法の一例として、録音が挙げられる。例えば、打撃音を録音させるクラブの種別を、ユーザ端末２に入力し、録音を開始する操作を行う。そして、ユーザは、クラブでボールを打撃する。システム制御部２８は、音入力部２５から入力された音信号に基づいて、打撃音データを生成する。そして、システム制御部２８は、打撃音データを、入力されたクラブ種別に対応付けて記憶部２２に記憶させる。このような録音が、ユーザがゴルフコースで使用する予定の各クラブについて行われる。記憶部２２に打撃音データを記憶させる別の例として、サーバ１からのダウンロードが挙げられる。例えば、サーバ１の記憶部１２には、打撃音データベースが記憶されてもよい。打撃音データベースには、様々な製品のクラブについて、打撃音データが記憶される。例えば、打撃音データベースには、クラブＩＤ、クラブ種別、ブランド名（またはメーカー名）、モデル名、型番、製造年及び打撃音データ等が記憶されてもよい。クラブＩＤは、クラブを識別する情報である。打撃音データベースに記憶される打撃音データは、クラブのメーカー、ゴルフスコア管理システムＳの管理者、又はゴルフ関連の団体により録音されたものであってもよい。サーバ１及びユーザ端末２は、ユーザが使用するクラブをユーザが選択可能なように構成される。例えば、ユーザ端末２は、クラブを検索するための検索画面を表示部２４に表示する。検索画面において、ユーザは、クラブ種別、ブランド名、モデル名、型番等の条件を指定する。条件が指定されるごとに、サーバ１は、打撃音データベースから条件に合致するクラブの情報を検索し、ユーザ端末２は、条件に合致するクラブの一覧を表示部２４に表示する。ユーザは、例えばクラブ種別、ブランド名、モデル名及び型番の順に条件を指定することで、一覧に表示させるクラブを絞り込むことができる。ユーザは、一覧の中から、ユーザが用意したクラブを選択する。ユーザ端末２は、選択されたクラブのクラブＩＤをサーバ１へ送信する。サーバ１は、受信したクラブＩＤに対応する打撃音データをユーザ端末２へ送信する。ユーザ端末２は、受信した打撃音データを、選択されたクラブのクラブ種別に対応付けて記憶部２２に記憶させる。このようなダウンロードが、ユーザが用意した各クラブについて行われる。
【０１３６】
打撃検出部２８１は、音入力部２５から入力された打撃音と、記憶部２２に記憶された打撃音との比較に基づいて、複数種類のクラブのうち打撃に使用されたクラブの種類を識別する。すなわち、打撃検出部２８１は、打撃音を生じさせたクラブの種類を識別する。打撃検出部２８１は、音入力部２５から入力された打撃音のデータと、それぞれクラブ種別に対応付けて記憶部２２に記憶されている複数の打撃音データの少なくとも１つを比較する。打撃検出部２８１は、入力された打撃音と、ユーザが用意したクラブによる打撃音との類似度を計算してもよい。入力された打撃音のデータ及び打撃音データが周波数特性を示すデータである場合、打撃検出部２８１は、打撃音の周波数特性同士を比較する。そして、打撃検出部２８１は、周波数特性の類似度を計算してもよい。例えば、打撃検出部２８１は、入力された打撃音のデータ及び記憶部２２に記憶されている打撃音データのそれぞれに含まれる複数の周波数の音圧レベルをベクトルの成分として用いて、コサイン類似度、相関関数又は偏差パターン類似度等を、周波数特性の類似度として計算してもよい。周波数特性同士を比較することで、使用されたクラブの識別精度を高めることができる。記憶部２２に記憶された打撃音データの中に、類似度が所定の閾値よりも高い打撃音データが存在する場合、打撃検出部２８１は、その打撃音データに対応付けられたクラブ種別のクラブが使用されたと判定してもよい。すなわち、打撃検出部２８１は、ユーザが用意した複数のクラブの打撃音の中から、入力された打撃音に類似する打撃音を探し出す。類似度が所定の閾値よりも高い打撃音データが２以上存在する場合、打撃検出部２８１は、これらの打撃音データの中から類似度が最も高い打撃音データを特定してもよい。そして、打撃検出部２８１は、類似度が最も高い打撃音データに対応付けられたクラブ種別のクラブが使用されたと判定してもよい。
【０１３７】
記憶部２２に記憶された打撃音データの中には、入力された打撃音のデータとの類似度が閾値よりも高い打撃音データが存在しない場合がある。この状態は、ユーザが用意したクラブではボールが打撃されていないことを示す。
【０１３８】
打撃検出部２８１は、打撃音が検出されるごとに、使用されたクラブの種類を識別してもよいし、ユーザによるゴルフのプレーが終了したと判定されたとき又はその後で、各打撃で使用されたクラブの種類を識別してもよい。
【０１３９】
サーバ１がクラブの種類を識別する場合、上述したように検索画面を用いて検索された裏部の一覧の中からユーザが用意したクラブをユーザが選択することにより、そのクラブのクラブＩＤをユーザ端末２がサーバ１へ送信すると、サーバ１は、そのユーザのユーザＩＤに関連付けたクラブのリストに、ユーザ端末２から受信したクラブＩＤを追加する。音入力部２５から打撃音が入力されると、ユーザ端末２は、入力された打撃音のデータをサーバ１へ送信する。サーバ１は、そのユーザ端末２を利用するユーザのユーザＩＤに関連付けられたクラブのリストから各種類のクラブのクラブＩＤを取得する。サーバ１は、取得されたクラブＩＤに関連付けて打撃音データベースに記憶されている打撃音データと、ユーザ端末２から受信された打撃音のデータとを比較して、クラブの種類を識別してもよい。比較の結果、打撃音データの類似度が所定の閾値を超えるクラブのクラブＩＤがリストにない場合、サーバ１は、打撃音データベースから、ユーザ端末２から受信された打撃音のデータとの類似度が閾値を超える打撃音データに対応するクラブを、ユーザが実際に使用した可能性があるクラブとして検索してもよい。このようなクラブが見つかった場合、サーバ１は、このクラブに関する情報をユーザ端末２へ送信し、ユーザ端末２はこの情報を表示する。例えば、「今の打撃は、ドライバーのＡＢＣモデルですか？」又は「登録されているクラブ以外に打撃音が近いクラブがあります」等の情報が表示される。この表示に基づいて、ユーザは、クラブを変更するか否かを選択する操作を行う。クラブを変更することが選択された場合、サーバ１は、リストに含まれるクラブＩＤのうち、検索されたクラブとクラブ種別が同一であるクラブのクラブＩＤを、検索されたクラブのクラブＩＤに変更する。
【０１４０】
［３−１−２．使用されたクラブの種類の変化の学習］
学習部２８６は、打撃検出部２８１により識別されたクラブ種別と、各ホールの打数が確定されたこととに基づいて、ユーザに使用されるクラブの種類の変化を学習する。学習されるクラブの種類の変化は、ティーショット及びホールアウト時の打撃を少なくとも含む複数の連続した打撃において使用されたクラブの種類の変化である。特に本実施形態において、学習部２８６は、打撃検出部２８１により識別されたクラブ種別と、各ホールの規定打数と、各ホールの打数が確定されたこととに基づいて、１ホール内でユーザに使用されるクラブの種類の変化を規定打数ごとに学習する。ユーザによって、１ホール内で使用されるクラブの種類の変化に何らかの傾向がある場合がある。また、ユーザがゴルフをプレーするホールが、パー３〜パー５の何れのホールであるかによって、使用されるクラブの種類の変化の態様が変わってくる。学習によって、使用されるクラブの種類の変化が規定打数ごとに特定される。
【０１４１】
各ホールの打数が確定されることによって、各ホールで使用されるクラブの種類の変化が特定される。打数確定部２８５は、例えば確定した各ホールの打数を、そのホールの各打撃について識別されたクラブ種別と関連付けるとともに、選択されたゴルフコースのゴルフコースＩＤと関連付けて、記憶部２２に記憶させる。学習の実行の際、学習部２８６は、サーバ１から、選択されたゴルフコースの各ホールの規定打数を取得してもよい。学習に用いられるクラブ種別は、打数確定処理においてユーザによる打数の確認が済んだプレーで使用されたクラブについて識別されたクラブ種別であることが望ましい。サーバ１のシステム制御部１４が学習部２８６として機能する場合、ユーザ端末２は、例えば確定した各ホールの打数、各打撃のクラブ種別、ゴルフコースＩＤ、ユーザＩＤ等をサーバ１へ送信し、サーバ１はこれらの情報を記憶部１２に記憶させる。サーバ１は、記憶された情報を用いてユーザごとに学習を実行する。
【０１４２】
学習方法の一例を説明する。学習部２８６は、クラブの種類の変化の出現確率を示すクラブ種別変化モデルを学習結果として生成してもよい。格納される情報が特性情報ではなくクラブ種別であることを除いて、クラブ種別変化モデルの構造は、第２実施形態で説明された打撃威力変化モデルの構造と同様であってもよい。従って、特性情報ではなくクラブ種別を用いることを除き、学習部２８６は、打撃威力変化モデルの場合と同様の方法でクラブ種別変化モデルを生成することができる。
【０１４３】
［３−１−３．ホールアウトの推定］
ホールアウト推定部２８４は、学習部２８６によるクラブの種類の変化の学習結果と、打撃検出部２８１により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とに基づいて、プレーヤーがホールアウトしたことを推定する。特に、本実施形態において、ホールアウト推定部２８４は、ゴルフがプレーされるホールの順序に従って、そのホールの規定打数に対応するクラブの種類の変化の学習結果と、打撃検出部２８１により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化とを比較する。そして、ホールアウト推定部２８４は、この比較と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とに基づいて、プレーヤーがホールアウトしたことを推定する。打撃の威力の変化及びクラブの種類の変化の両方を用いることで、推定精度が高められる。
【０１４４】
打撃の威力の変化に基づいて、プレーヤーがホールアウトしたことを推定する方法は、第１実施形態で説明された方法、及び第２実施形態で説明された方法の何れであってもよい。
【０１４５】
例えば、ホールアウト推定部２８４は、最初は打撃の威力の変化に基づき、第１実施形態で説明された方法、又は第２実施形態で説明された方法を用いて、各ホールにおいてユーザが何打目でホールアウトしたかを仮に推定してもよい。ホールアウト推定部２８４は、この推定結果から推定される、ユーザがホールアウトしたと推定される仮のホール数と、実際にユーザがゴルフをプレーしたホール数とが一致しない場合、クラブ種別変化モデルを用いて、一部又は全ホールについてユーザが何打目でホールアウトしたかを修正して推定してもよい。
【０１４６】
ユーザがホールアウトしたと推定された仮のホール数が実際にユーザがゴルフをプレーしたホール数よりも少ない場合、例えば、ホールアウト推定部２８４は、各ホールについて、ユーザがホールアウトしたと仮に推定される打撃が何打目の打撃であるかに基づいて、そのホールにおけるクラブの種類の変化を取得し、そのクラブの種類の変化と合致するクラブの種類の変化を、そのホールの規定打数に対応するクラブ種別変化モデルから特定する。ホールアウト推定部２８４は、特定されたクラブの種類の変化の出現確率をクラブ種別変化モデルから取得する。ホールアウト推定部２８４は、例えば、取得された出現確率が所定値以下であるホールを、対象のホールとして特定する。
【０１４７】
ホールアウト推定部２８４は、特定した対象のホールにおけるティーショットから、打撃の威力の変化に基づいてユーザがホールアウトしたと仮に推定された打撃の直前までの打撃の中から、クラブ種別変化モデルを用いて、ユーザがホールアウトした打撃を推定する。例えば、ホールアウト推定部２８４は、ユーザが何打目の打撃でホールアウトしたかを示す打撃番号ＮＨを、対象のホールのティーショットの打撃番号に設定する。ホールアウト推定部２８４は、対象のホールの規定打数に対応するクラブ種別変化モデルから、対象のホールで使用されたクラブの種類の変化のうち、対象のホールのティーショットからＮＨ番目の打撃までのクラブの種類の変化と合致するクラブの種類の変化を特定する。そして、ホールアウト推定部２８４は、このクラブの種類の変化の出現確率を、対象のホールの規定打数に対応するクラブ種別変化モデルから取得する。また、ホールアウト推定部２８４は、対象のホールの次のホールの規定打数に対応するクラブ種別変化モデルから、対象のホールで使用されたクラブの種類の変化のうち、ＮＨ＋１番目の打撃から最終の打撃までのクラブの種類の変化と合致するクラブの種類の変化を特定する。そして、ホールアウト推定部２８４は、このクラブの種類の変化の出現確率を、次のホールの規定打数に対応するクラブ種別変化モデルから取得する。ホールアウト推定部２８４は、打撃番号ＮＨを、ティーショットの打撃番号から対象のホールの最終の打撃の打撃番号まで１ずつ変更しながら、上述した２つの出現確率を取得する。ホールアウト推定部２８４は、２つの出現確率の合計が極力大きく、且つこれらの出現確率の差が極力小さくなる打撃番号ＮＨを決定する。例えば、ホールアウト推定部２８４は、出現確率の合計を出現確率の差で割ることにより、出現確率の和と差の比率を計算し、この比率が最大化される打撃番号ＮＨを決定してもよい。ホールアウト推定部２８４は、ＮＨ番目の打撃で、ユーザが対象のホールをホールアウトしたと推定してもよい。そして、ホールアウト推定部２８４は、ＮＨ＋１番目の打撃が、次のホールのティーショットであると推定してもよい。こうして、ユーザは、１つのホールでのゴルフのプレーを、２つのホールでのゴルフのプレーに分割する。
【０１４８】
図１４は、実際の打撃の威力の変化、使用されたクラブの種類の変化、及びクラブ種別変化モデルが示す打撃のクラブの種類の変化の一例を示す図である。図１４に示すように、２打目の打撃の威力は１打目の打撃の威力から低下しており、３打目の打撃の威力は２打目の打撃の威力から低下している。４打目の打撃の威力は３打目の打撃の威力から上昇している（打撃の威力の変化３０１）。しかしながら、３打目の打撃の威力が相等程度高かったため、ホールアウト推定部２８４は、３打目でユーザがホールアウトしたとは推定しなかった。５打目の打撃の威力は４打目の打撃の威力から低下しており、６打目の打撃の威力は５打目の打撃の威力から低下している。７打目の打撃の威力は６打目の打撃の威力から上昇している（打撃の威力の変化３０２）。そこで、ホールアウト推定部２８４は、６打目でユーザが第１ホールをホールアウトしたと仮に推定した。１打目から６打目までの打撃に使用されたクラブは、それぞれ１番ウッド、３番アイアン、７番アイアン、１番アイアン、ピッチングウェッジ、パターである。第１ホールの規定打数は４である。パー４に対応するクラブ種別変化モデルにより、１番ウッド、３番アイアン、７番アイアン、パター、パターというクラブの種類の変化が示されている。４打目以降に使用されたクラブの種類が、パー４に対応するクラブ種別変化モデルに合致しない。従って、ミドルホールでティーショットから順に１番ウッド、３番アイアン、７番アイアン、１番アイアン、ピッチングウェッジ、パターが使用される確率は所定値未満となる。第２ホールの規定打数は３である。パー３に対応するクラブ種別変化モデルにより、１番アイアン、ピッチングウェッジ、パター、パターというクラブの種類の変化が示されている。４打目から６打目までに使用されたクラブの種類が、パー３に対応するクラブ種別変化モデルに合致する。打撃番号ＮＨが３である場合に出現確率の和と差の比率が最も高かったとする。この場合、ホールアウト推定部２８４は、第１ホールにおいてユーザは３打目でホールアウトしたと推定し、第２ホールにおいて４打目がティーショットであり、且つユーザは６打目でホールアウトしたと推定する。
【０１４９】
ユーザがホールアウトしたと推定された仮のホール数が実際にユーザがゴルフをプレーしたホール数よりも多い場合、例えば、ホールアウト推定部２８４は、各ホールについて、ユーザがホールアウトしたと仮に推定される打撃が何打目の打撃であるかに基づいて、そのホールにおけるクラブの種類の変化を取得し、そのクラブの種類の変化と合致するクラブの種類の変化を、そのホールの規定打数に対応するクラブ種別変化モデルから特定する。ホールアウト推定部２８４は、特定されたクラブの種類の変化に対応するホールアウト確率を取得する。ホールアウト推定部２８４は、例えば、取得されたホールアウト確率が所定値以下であるホールを、対象のホールとして特定する。
【０１５０】
ホールアウト推定部２８４は、例えば、特定された対象のホールのティーショットから、対象のホールの次のホールについて打撃の威力の変化に基づいてユーザがホールアウトしたと仮に推定された打撃までのクラブの種類の変化と合致するクラブの種類の変化を、対象のホールの規定打数に対応するクラブ種別変化モデルから特定する。ホールアウト推定部２８４は、特定したクラブの種類の変化に対応するホールアウト確率をクラブ種別変化モデルから取得する。ホールアウト推定部２８４は、取得されたホールアウト確率が所定値以上である場合、次のホールについて打撃の威力の変化に基づいてユーザがホールアウトしたと仮に推定された打撃を、対象のホールでユーザがホールアウトしたと推定する。こうして、ユーザは、２つのホールでのゴルフのプレーを、１つのホールでのゴルフのプレーに統合する。
【０１５１】
ホールアウト推定部２８４は、ユーザがホールアウトしたことが推定されたホール数と、実際にユーザがゴルフをプレーしたホール数とが一致するまでプレーの分割又は統合を繰り返す。
【０１５２】
［３−２．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図１５乃至図１８を用いて説明する。なお、打数計算処理及び打数確定処理は、第１実施形態の場合と同様である。
【０１５３】
図１５は、本実施形態に係るユーザ端末２のシステム制御部２８によるクラブ種別変化学習処理の一例を示すフローチャートである。例えば、打数確定処理が終了した後、又は定期的に、クラブ種別変化学習処理が実行される。
【０１５４】
図１５に示すように、学習部２８６は、規定打数ｐを３に設定する（ステップＳ３０１）。次いで、学習部２８６は、記憶部２２に記憶された、これまでユーザがゴルフをプレーした全コースの全ホールの打数及びクラブ種別のうち、規定打数がｐであるホールの打数及びクラブ種別を用いて、規定打数がｐに対応するクラブ種別変化モデルを生成して記憶部２２に記憶させる（ステップＳ３０２）。次いで、学習部２８６は、規定打数ｐが５未満であるか否かを判定する（ステップＳ３０３）。学習部２８６は、規定打数ｐが５未満であると判定した場合には（ステップＳ３０３：ＹＥＳ）、処理をステップＳ３０４に進める。ステップＳ３０４において、学習部２８６は、規定打数ｐを１増加させて、処理をステップＳ３０２に進める。一方、学習部２８６は、規定打数ｐが５未満ではないと判定した場合には（ステップＳ３０３：ＹＥＳ）、クラブ種別変化学習処理を終了させる。
【０１５５】
図１６は、本実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。図１６において、図７と同様の処理については同様の符号が付されている。
【０１５６】
図１６に示すように、第１実施形態の場合と同様に、ステップＳ１０１〜Ｓ１０６が実行される。ステップＳ１０４において、打撃検出部２８１は、打撃音が検出されたと判定した場合には（ステップＳ１０４：ＹＥＳ）、処理をステップＳ３２１に進める。ステップＳ３２１において、打撃検出部２８１は、音入力部２５から入力された打撃音の周波数数特性と、記憶部２２にクラブ種別と関連付けて記憶されている各打撃音データの周波数数特性との類似度を計算する。そして、打撃検出部２８１は、記憶部２２に記憶されている打撃音データのうち、類似度が最も高い打撃音データを特定する（ステップＳ３２１）。次いで、打撃検出部２８１は、最も高い類似度が所定の閾値以上であるか否かを判定する（ステップＳ３２２）。打撃検出部２８１は、類似度が所定の閾値以上ではないと判定した場合には（ステップＳ３２２：ＮＯ）、処理をステップＳ１０５に進める。一方、打撃検出部２８１は、類似度が所定の閾値以上であると判定した場合には（ステップＳ３２２：ＹＥＳ）、ステップＳ１０７及びＳ１０８を実行する。次いで、打撃検出部２８１は、クラブ種別［ＧＳ］を、特定した打撃音データに関連付けられたクラブ種別に設定する（ステップＳ３２３）。クラブ種別［ＧＳ］は、ＧＳ番目の打撃で使用されたクラブの種類を示す。次いで、処理はステップＳ１０６に進む。ステップＳ１０２において、カウンター部２８２は、クラブのスイングが検出されていないと判定した場合には（ステップＳ１０２：ＮＯ）、処理をステップＳ１０９に進める。ステップＳ１０９の判定結果に応じて、処理がステップＳ１０２に進み又は打数カウント処理が終了する。
【０１５７】
図１７は、本実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。図１７において、図８と同様の処理については同様の符号が付されている。
【０１５８】
図１７に示すように、第１実施形態の場合と同様に、ステップＳ１２１〜Ｓ１２８が実行される。ステップＳ１２８において、ホールアウト推定部２８４は、リストに追加された打撃番号の数が、ユーザがゴルフをプレーしたホール数と一致するか否かを判定する。ホールアウト推定部２８４は、リストに追加された打撃番号の数がユーザがゴルフをプレーしたホール数と一致すると判定した場合には（ステップＳ１２８：ＹＥＳ）、ホールアウト推定処理を終了させる。一方、ホールアウト推定部２８４は、打撃番号の数がホール数と一致しないと判定した場合には（ステップＳ１２８：ＮＯ）、処理をステップＳ３４１に進める。ステップＳ３４１において、ホールアウト推定部２８４は、ティーショット打撃番号修正処理を実行して、ホールアウト推定処理を終了させる。
【０１５９】
図１８は、本実施形態に係るユーザ端末２のシステム制御部２８によるティーショット打撃番号修正処理の一例を示すフローチャートである。
【０１６０】
図１８に示すように、ホールアウト推定部２８４は、ホール番号ｈを１に設定する（ステップＳ３６１）。次いで、ホールアウト推定部２８４は、第ｈホールの規定打数を取得する。そして、ホールアウト推定部２８４は、取得した規定打数に対応するクラブ種別変化モデルを記憶部２２から取得する（ステップＳ３６２）。次いで、ホールアウト推定部２８４は、ティーショットの打撃番号のリストに追加された打撃番号の数が、ユーザがゴルフをプレーしたホール数よりも少ないか否かを判定する（ステップＳ３６３）。ホールアウト推定部２８４は、打撃番号の数がホール数よりも少ないと判定した場合には（ステップＳ３６３：ＹＥＳ）、処理をステップＳ３６４に進める。一方、ホールアウト推定部２８４は、打撃番号の数がホール数よりも少なくはないと判定した場合には（ステップＳ３６３：ＮＯ）、処理をステップＳ３７０に進める。
【０１６１】
ステップＳ３６４において、ホールアウト推定部２８４は、打撃番号［ｈ］が示す打撃から打撃番号［ｈ＋１］−１が示す打撃までのクラブ種別の時系列を取得する。打撃番号［ｈ］及び打撃番号［ｈ＋１］は、ティーショットの打撃番号のリストに含まれる番号のうち、ｈ番目に小さい打撃番号及びｈ＋１番目に小さい打撃番号である。ホールアウト推定部２８４は、この時系列が示すクラブの種類の変化と合致するクラブの種類の変化を、取得されたクラブ種別変化モデルから特定する。そして、ホールアウト推定部２８４は、特定されたクラブの種類の変化の出現確率をクラブ種別変化モデルから取得する。次いで、ホールアウト推定部２８４は、取得された出現確率が、所定の出現確率閾値以上であるか否かを判定する（ステップＳ３６５）。ホールアウト推定部２８４は、出現確率が出現確率閾値以上であると判定した場合には（ステップＳ３６５：ＹＥＳ）、処理をステップＳ３７５に進める。一方、ホールアウト推定部２８４は、出現確率が出現確率閾値以上ではないと判定した場合には（ステップＳ３６５：ＮＯ）、処理をステップＳ３６６に進める。
【０１６２】
ステップＳ３６６において、ホールアウト推定部２８４は、第ｈ＋１ホールの規定打数を取得する。そして、ホールアウト推定部２８４は、取得した規定打数に対応するクラブ種別変化モデルを記憶部２２から取得する。次いで、ホールアウト推定部２８４は、第ｈホールでユーザがホールアウトしたと推定される打撃を示す打撃番号ＮＨを決定する（ステップＳ３６７）。具体的に、ホールアウト推定部２８４は、打撃番号ＮＨを変えながら、  打撃番号［ｈ］が示す打撃からＮＨ番目の打撃までのクラブの種類の変化の出現確率を、第ｈホールの規定打数に対応するクラブ種別変化モデルから取得するとともに、ＮＨ＋１番目の打撃から打撃番号［ｈ＋１］−１が示す打撃までのクラブの種類の変化の出現確率を、第ｈ＋１ホールの規定打数に対応するクラブ種別変化モデルから取得する。そして、ホールアウト推定部２８４は、出現確率の和と差の比率を計算する。次いで、ホールアウト推定部２８４は、この比率が最大となる打撃番号ＮＨを決定する。次いで、ホールアウト推定部２８４は、打撃番号ＮＨ＋１を、ティーショットの打撃番号のリストに追加する（ステップＳ３６８）。次いで、ホールアウト推定部２８４は、ホール番号ｈを１増加させて（ステップＳ３６９）、処理をステップＳ３７５に進める。
【０１６３】
ステップＳ３７０において、ホールアウト推定部２８４は、打撃番号［ｈ］が示す打撃から打撃番号［ｈ＋１］−１が示す打撃までのクラブ種別の時系列を取得する。ホールアウト推定部２８４は、この時系列が示すクラブの種類の変化と合致するクラブの種類の変化を、取得されたクラブ種別変化モデルから特定する。そして、ホールアウト推定部２８４は、特定されたクラブの種類の変化に対応するホールアウト確率をクラブ種別変化モデルから取得する。次いで、ホールアウト推定部２８４は、取得されたホールアウト確率が、所定のホールアウト確率閾値以上であるか否かを判定する（ステップＳ３７１）。ホールアウト推定部２８４は、ホールアウト確率がホールアウト確率閾値以上であると判定した場合には（ステップＳ３７１：ＹＥＳ）、処理をステップＳ３７５に進める。一方、ホールアウト推定部２８４は、ホールアウト確率がホールアウト確率閾値以上ではないと判定した場合には（ステップＳ３７１：ＮＯ）、処理をステップＳ３７２に進める。
【０１６４】
ステップＳ３７２において、ホールアウト推定部２８４は、打撃番号［ｈ］が示す打撃から打撃番号［ｈ＋２］−１が示す打撃までのクラブ種別の時系列を取得する。ホールアウト推定部２８４は、この時系列が示すクラブの種類の変化と合致するクラブの種類の変化を、取得されたクラブ種別変化モデルから特定する。そして、ホールアウト推定部２８４は、特定されたクラブの種類の変化に対応するホールアウト確率をクラブ種別変化モデルから取得する。次いで、ホールアウト推定部２８４は、取得されたホールアウト確率がホールアウト確率閾値以上であるか否かを判定する（ステップＳ３７３）。ホールアウト推定部２８４は、ホールアウト確率がホールアウト確率閾値以上ではないと判定した場合には（ステップＳ３７３：ＮＯ）、処理をステップＳ３７５に進める。一方、ホールアウト推定部２８４は、ホールアウト確率がホールアウト確率閾値以上であると判定した場合には（ステップＳ３７３：ＹＥＳ）、処理をステップＳ３７４に進める。ステップＳ３７４において、ホールアウト推定部２８４は、ティーショットの打撃番号のリストから、打撃番号［ｈ＋１］を削除して、処理をステップＳ３７５に進める。
【０１６５】
ステップＳ３７５において、ホールアウト推定部２８４は、ホール番号ｈが、ティーショットの打撃番号のリストに含まれる打撃番号の数未満であるか否かを判定する（ステップＳ３７５）。ホールアウト推定部２８４は、ホール番号ｈが打撃番号の数未満であると判定した場合には（ステップＳ３７５：ＹＥＳ）、処理をステップＳ３７６に進める。ステップＳ３７６において、ホールアウト推定部２８４は、ホール番号ｈを１増加させて、処理をステップＳ３６２に進める。一方、ホールアウト推定部２８４は、ホール番号ｈが打撃番号の数未満ではないと判定した場合には（ステップＳ３７５：ＮＯ）、処理をステップＳ３７７に進める。
【０１６６】
ステップＳ３７７において、ホールアウト推定部２８４は、リストに含まれる打撃番号の数が、ユーザがゴルフをプレーしたホール数と一致するか否かを判定する。ホールアウト推定部２８４は、打撃番号の数がホール数と一致しないと判定した場合には（ステップＳ３７７：ＮＯ）、処理をステップＳ３６１に進める。なお、この判定によりステップＳ３６１〜Ｓ３７６を再実行する場合、ホールアウト推定部２８４は、例えば出現確率閾値及びホールアウト確率閾値を変更してもよい。一方、ホールアウト推定部２８４は、打撃番号の数がホール数と一致すると判定した場合には（ステップＳ３７７：ＹＥＳ）、ティーショット打撃番号修正処理を終了させる。
【０１６７】
以上説明したように、本実施形態によれば、システム制御部２８が、識別されたクラブ種別と、各ホールの打数が確定されたこととに基づいて、ユーザに使用されるクラブの種類の変化を学習する。また、システム制御部２８が、クラブの種類の変化の学習結果と、識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、取得された特性情報の時系列から特定される打撃の威力の変化とに基づいて、プレーヤーがホールアウトしたことを推定する。従って、ユーザが使用するクラブの種類の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。
【０１６８】
特に、システム制御部２８が、検出された打撃に用いられたクラブの種類を識別する。また、システム制御部２８が、識別されたクラブの種類と、各ホールの規定打数と、各ホールの打数が確定されたこととに基づいて、１ホール内で使用されるクラブの種類の変化を規定打数ごとに学習する。また、システム制御部２８が、ゴルフがプレーされるホールの順序に従って、そのホールの規定打数に対応するクラブの種類の変化の学習結果と、識別されたクラブの種類の時系列から特定される使用されるクラブの種類の変化とを比較し、この比較と、取得された打撃の特性の時系列から特定される打撃の威力の変化とに基づいて、ユーザがホールアウトしたことを推定する。従って、規定打数ごとにユーザが使用するクラブの種類の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。
【０１６９】
［４．第４実施形態］
［４−１．システム制御部の機能概要］
次に、図１９及び図２０を用いて、第４実施形態におけるユーザ端末２のシステム制御部２８の機能概要について説明する。
【０１７０】
［４−１−１．位置情報の取得］
本実施形態において、打撃検出部２８１は、ユーザがクラブでボールを打撃したときのユーザの位置を示す位置情報及び打撃間でユーザが移動した程度を示す移動情報の少なくとも何れか一方を取得する。位置情報を取得する場合、例えば、打撃検出部２８１は、ＧＰＳを利用して、ユーザ端末２の位置をユーザの位置として特定してもよい。例えば、センサー部２６は、ＧＰＳ衛星からの信号を受信するＧＰＳ用のアンテナを備えてもよい。打撃検出部２８１は、アンテナにより受信された信号に基づいて、ユーザ端末２の位置を、ユーザの位置として計算する。移動情報を取得する場合、ユーザが移動した程度は、例えばユーザが移動した距離又はユーザの歩数であってもよい。例えば、センサー部２６に備えられる加速度センサー若しくはジャイロセンサー等を用いて距離が計算され、又は、センサー部２６に備えられる歩数計により歩数がカウントされる。
【０１７１】
［４−１−２．ペナルティの発生の可能性の判定］
打撃検出部２８１は、打撃検出部２８１により取得された位置情報及び移動情報の少なくとも何れか一方に基づいて、ペナルティが課されるイベントが発生した可能性を判定する。図１９は、ペナルティが課されるイベント、及びそのイベントが発生した可能性があると判定される条件の例を示す図である。ペナルティが課されるイベントとして、例えば、ＯＢ、ロストボール、空振り、ボールがウォーターハザードに入ったこと、バンカーでボールを打撃する前にバンカーの砂にクラブが触れること等が挙げられる。例えば、打撃検出部２８１は、今回打撃が行われた位置が、前回打撃が行われた位置と略同一である場合、ＯＢ又はロストボールが発生した可能性があると判定してもよい。その理由は、ＯＢ又はロストボールの場合、前回の打撃が行われた位置と略同一の位置でユーザは打撃を行う必要があるからである。位置情報を用いる場合、打撃検出部２８１は、或る打撃が行われた位置と次の打撃が行われた位置との差が所定値未満である場合、ＯＢ又はロストボールが発生した可能性があると判定してもよい。移動情報を用いる場合、打撃検出部２８１は、或る打撃が行われてから次の打撃が行われるまでにユーザが移動した程度が所定値未満である場合、ＯＢ又はロストボールが発生した可能性があると判定してもよい。ユーザが移動した程度が所定値未満である場合とは、ユーザが移動した距離が所定距離未満、又は歩数が所定数未満である場合である。打撃検出部２８１は、位置情報及び移動情報の両方を用いて判定を行ってもよい。ここで、打撃検出部２８１は、今回の打撃の威力が、前回の打撃の威力と略同一である場合にのみ、ＯＢ又はロストボールが発生した可能性があると判定してもよい。
【０１７２】
また例えば、打撃検出部２８１は、クラブのスイングは検出されたが、打撃音が検出されなかった場合、空振りが発生した可能性があると判定してもよい。ユーザが素振りを行った場合に空振りが発生した可能性があると判定されることを抑止するため、ユーザ端末２は、空振りの発生の可能性の判定処理（またはスイング及び打撃の検出）を一時的に中断するための操作が可能なように機能してもよい。例えば、表示部２４に表示される一時中段ボタンをユーザが押すと、打撃検出部２８１は、表示部２４に表示される再開ボタンをユーザが押すまで、空振りの発生の可能性の判定を行わない。
【０１７３】
打撃検出部２８１は、ユーザがゴルフをプレーするホールのレイアウトを示すレイアウト情報を取得してもよい。そして、打撃検出部２８１は、位置情報及びレイアウト情報に基づいて、ペナルティが課されるイベントが発生した可能性を判定してもよい。例えば、打撃検出部２８１は、或るホールの第２打目以降の打撃がティーグラウンドで行われたと判定された場合に、ＯＢ又はロストボールが発生した可能性があると判定してもよい。ここで、打撃検出部２８１は、今回の打撃の威力が、前回の打撃の威力と略同一である場合にのみ、ＯＢ又はロストボールが発生した可能性があると判定してもよい。また例えば、打撃検出部２８１は、バンカー内で打撃が行われた場合に、バンカーでボールを打撃する前にバンカーの砂にクラブが触れた可能性があると判定してもよい。
【０１７４】
また例えば、ボールが入った場合にペナルティが課されるエリア（以下、対象エリアという）から所定距離内の位置でボールが打撃されたと判定される場合に、ペナルティが課されるイベントが発生した可能性があると判定してもよい。対象エリアの例として、ウォーターハザード等が挙げられる。例えば、サーバ１の記憶部１２に、各ゴルフコースの全ホールのレイアウト情報が記憶される。レイアウト情報は、例えば、ホール内のティーグラウンド、フェアウェイ、ラフ、ウォーターハザード、バンカー、グリーン、カップ等の位置及び範囲を示す。打撃検出部２８１は、ユーザがゴルフをプレーするホールのレイアウト情報をサーバ１から取得する。例えば、打撃検出部２８１は、打撃が行われた位置がウォーターハザードから所定距離内である場合に、ボールがウォーターハザードに入った可能性があると判定してもよい。その理由は、ボールがウォーターハザードに入った場合、ウォーターハザードの近くからユーザは打撃を行う必要があるからである。
【０１７５】
打撃検出部２８１は、特性取得部２８３により取得された特性情報に基づいて、打撃によるボールの飛距離を推定してもよい。例えば、特性取得部２８３は、特性情報が示す威力が高いほど飛距離が長くなるように、飛距離を推定する。例えば、記憶部２２に、特性情報の範囲と飛距離との対応関係を示すテーブルが記憶されてもよい。打撃検出部２８１は、このテーブルを参照して飛距離を推定してもよい。或いは、打撃検出部２８１は、特性情報を用いて所定の計算処理を行うことにより、飛距離を計算してもよい。
【０１７６】
学習部２８６は、特性情報とボールの飛距離との関係を学習してもよい。具体的に、学習部２８６は、打撃検出部２８１により検出された打撃ごとに、打撃検出部２８１により取得された位置情報に基づいて、その打撃が行われた位置から次の打撃が行われた位置までの距離をボールの飛距離と仮定して計算する。学習部２８６は、計算された飛距離に基づいて、特性情報とボールの飛距離との関係を学習する。例えば、学習部２８６は、特性情報を独立変数とし且つ飛距離を従属変数として回帰分析を行うことにより、特性情報と飛距離との関係を示す回帰式を決定してもよい。
【０１７７】
打撃検出部２８１は、特性取得部２８３により取得された特性情報、及び学習部２８６により学習された関係に基づいて、ボールの飛距離を推定してもよい。例えば、打撃検出部２８１は、特性情報と回帰式を用いて飛距離を計算してもよい。
【０１７８】
打撃検出部２８１は、位置情報及びレイアウト情報と、推定された飛距離とに基づいて、対象エリアにボールが入った可能性を判定してもよい。具体的に、打撃検出部２８１は、打撃が行われた位置が対象エリアから所定距離内である場合、前回打撃が行われた位置から対象エリアまでの距離を計算する。また、打撃検出部２８１は、前回の打撃の特性情報に基づいて、ボールの飛距離を推定する。打撃検出部２８１は、例えば推定された飛距離が、ボールが対象エリアに到達する距離であると判定した場合、対象エリアにボールが入った可能性があると判定してしてもよい。
【０１７９】
［４−１−２．打数の調整］
打数確定部２８５は、打撃検出部２８１によりペナルティが課されるイベントが発生した可能性があると判定されたホールの打数を調整する。具体的に、打数確定部２８５は、打数を増加させる。例えば、ペナルティが課されるイベントが、ＯＢ、ロストボール又はウォーターハザードである場合、打数確定部２８５は、打数を１増加させる。なお、ペナルティとして増加する打数をユーザがイベントの種類ごとに設定であってもよい。
【０１８０】
打数確定部２８５は、ペナルティが課されるイベントが発生した可能性があると判定された場合、自動的に打数を調整してもよい。或いは、打数確定部２８５は、ペナルティが発生したことをユーザが肯定した場合にのみ、打数を調整してもよい。例えば、打撃検出部２８１は、ペナルティが課されるイベントが発生した可能性があることを示すアラート情報を出力してもよい。例えば、アラート情報が表示部２４に表示され、又はスピーカーから出力される。例えば、「ウォーターハザードにボールが入りましたか？」等のアラート情報が出力される。そして、打撃検出部２８１は、ペナルティが課されるイベントが発生したことを肯定するか否かを選択する操作をユーザから受け付ける。打数確定部２８５は、ペナルティが課されるイベントが発生したとユーザが肯定した場合に限り、打数を調整してもよい。
【０１８１】
ペナルティが課されるイベントが発生した可能性の判定、アラートの出力、及び打数の調整は、打撃が検出されるごとに実行されてもよいし、ユーザによるゴルフのプレーが終了したと判定されたとき又はその後で実行されてもよい。
【０１８２】
図２０は、或るホールのレイアウト及び打撃が行われた位置の例を示す図である。図２０に示すように、ユーザは、位置５０１〜５０５の順で、それぞれの位置で打撃を行った。位置５０１は、ティーグラウンド４０１内にある。位置５０２は、フェアウェイ４０２内にある。位置５０３は、ウォーターハザード４０３から所定距離内にある。位置５０４は、フェアウェイ４０２内にある。位置５０５は、グリーン４０４内にある。打撃検出部２８１は、位置５０２における打撃の特性情報に基づいてボールの飛距離を推定する。打撃検出部２８１は、推定された飛距離が、位置５０２からウォーターハザードにボールが到達する距離であると判定した場合、ボールがウォーターハザードに入った可能性があると判定する。打撃検出部２８１はアラート情報を出力する。打撃検出部２８１は、ユーザが肯定の操作を行った場合、このホールの打数を５から６に変更して確定する。
【０１８３】
本実施形態において、ホールアウト推定部２８４は、ユーザが何打目でホールアウトしたかを推定する方法として、第１〜第３、第５及び第６実施形態の何れの実施形態における方法を用いてもよい。
【０１８４】
第２実施形態で説明されたように打撃の威力の変化を学習する場合においては、学習部２８６は、何打目でペナルティが発生したかを特定することにより、ペナルティを起こした打撃の威力の傾向や、ペナルティ発生後のリカバリーショットの威力の傾向等を学習してもよい。ホールアウト推定部２８４は、ペナルティが発生したホールについて何打目でユーザがユーザホールアウトしたかを推定する場合、ペナルティ発生時の打撃の威力の変化の学習結果を用いて推定を行ってもよい。
【０１８５】
第３実施形態で説明されたようにクラブの種類の変化を学習する場合においては、学習部２８６は、何打目でペナルティが発生したかを特定することにより、ペナルティを起こした打撃で使用されるクラブの種類傾向や、ペナルティ発生後のリカバリーショットで使用されるクラブの種類の傾向等を学習してもよい。ホールアウト推定部２８４は、ペナルティが発生したホールについて何打目でユーザがユーザホールアウトしたかを推定する場合、ペナルティ発生時に使用されるクラブの種類の変化の学習結果を用いて推定を行ってもよい。
【０１８６】
［４−２．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図２１乃至図２４を用いて説明する。なお、打数計算処理及びホールアウト推定処理は、第１実施形態の場合と同様であってもよい。
【０１８７】
図２１は、本実施形態に係るユーザ端末２のシステム制御部２８による飛距離学習処理の一例を示すフローチャートである。例えば、打数確定処理が終了した後、又は定期的に、飛距離学習処理が実行される。
【０１８８】
図２１に示すように、学習部２８６は、ユーザがこれまでにゴルフをプレーした全ゴルフコースについて記憶部２２に記憶されている各打撃の位置情報に基づいて、ボールの飛距離を計算する（ステップＳ４０１）。具体的に、学習部２８６は、打撃ごとに、その打撃が行われた位置と次の打撃が行われた位置との間の距離を計算する。次いで、学習部２８６は、各打撃について計算された飛距離及び特性情報を用いて、回帰分析により、特性情報と飛距離との関係を示す回帰式を計算して（ステップＳ４０２）、飛距離学習処理を終了させる。
【０１８９】
図２２は、本実施形態に係るユーザ端末２のシステム制御部２８による打数カウント処理の一例を示すフローチャートである。図２２において、図７と同様の処理については同様の符号が付されている。
【０１９０】
図２２に示すように、第１実施形態の場合と同様に、ステップＳ１０１〜Ｓ１０８が実行される。ステップＳ１０８の後、打撃検出部２８１は、ペナルティ判定処理を実行して（ステップＳ４２１）、処理をステップＳ１０６に進める。ステップＳ１０２において、カウンター部２８２は、クラブのスイングが検出されていないと判定した場合には（ステップＳ１０２：ＮＯ）、処理をステップＳ１０９に進める。ステップＳ１０９の判定結果に応じて、処理がステップＳ１０２に進み又は打数カウント処理が終了する。
【０１９１】
図２３は、本実施形態に係るユーザ端末２のシステム制御部２８によるペナルティ判定処理の一例を示すフローチャートである。
【０１９２】
図２３に示すように、打撃検出部２８１は、ＧＰＳセンサーを用いて、ユーザ端末２の現在位置を位置［ＧＳ］として取得する（ステップＳ４４１）。位置［ＧＳ］は、ＧＳ番目の打撃が行われた位置を示す。次いで、打撃検出部２８１は、位置［ＧＳ］が位置［ＧＳ−１］と略一致するか否かを判定する（ステップＳ４４２）。打撃検出部２８１は、位置［ＧＳ］が位置［ＧＳ−１］と略一致すると判定した場合には（ステップＳ４４２：ＹＥＳ）、処理をステップＳ４４３に進める。一方、打撃検出部２８１は、位置［ＧＳ］が位置［ＧＳ−１］と略一致しないと判定した場合には（ステップＳ４４２：ＮＯ）、処理をステップＳ４４６に進める。
【０１９３】
ステップＳ４４３において、打撃検出部２８１は、ＯＢ又はロストボールが発生した可能性があることを示すアラート情報を出力して、ＯＢ又はロストボールが発生したことを肯定するか否かの選択をユーザから受け付ける。次いで、打撃検出部２８１は、ユーザにより肯定が選択されたか否かを判定する（ステップＳ４４４）。打撃検出部２８１は、肯定が選択されたと判定した場合には（ステップＳ４４４：ＹＥＳ）、処理をＳ４４５に進める。ステップＳ４４５において、打撃検出部２８１は、ペナルティ打数［ＧＳ−１］を１に設定して、ペナルティ判定処理を終了させる。ペナルティ打数［ＧＳ−１］は、第ＧＳ−１打目の打撃に関してペナルティとして加算される打数を示す。一方、打撃検出部２８１は、肯定が選択されなかったと判定した場合には（ステップＳ４４４：ＮＯ）、処理をＳ４５２に進める。
【０１９４】
Ｓ４４６において、打撃検出部２８１は、位置［ＧＳ］と、ユーザがゴルフをプレーしているゴルフコースの各ホールのレイアウト情報に基づいて、ＧＳ番目の打撃が行われた位置がウォーターハザードから所定距離内であるか否かを判定する。打撃検出部２８１は、打撃が行われた位置がウォーターハザードから所定距離内であると判定した場合には（ステップＳ４４６：ＹＥＳ）、処理をステップＳ４４７に進める。一方、打撃検出部２８１は、打撃が行われた位置がウォーターハザードから所定距離内ではないと判定した場合には（ステップＳ４４６：ＮＯ）、処理をステップＳ４５２に進める。
【０１９５】
ステップＳ４４７において、打撃検出部２８１は、特性情報［ＧＳ−１］と、飛距離学習処理により決定された回帰式に基づいて、ＧＳ−１打目のボールの飛距離を推定する。次いで、打撃検出部２８１は、推定されたボールの飛距離が、位置［ＧＳ−１］からボールがウォーターハザードに入る距離であるか否かを判定する（ステップＳ４４８）。打撃検出部２８１は、推定されたボールの飛距離がウォーターハザードに入る距離であると判定した場合には（ステップＳ４４８：ＹＥＳ）、処理をステップＳ４４９に進める。一方、打撃検出部２８１は、推定されたボールの飛距離がウォーターハザードに入る距離ではないと判定した場合には（ステップＳ４４８：ＮＯ）、処理をステップＳ４５２に進める。
【０１９６】
ステップＳ４４９において、打撃検出部２８１は、ボールがウォーターハザードに入った可能性があることを示すアラート情報を出力して、ボールがウォーターハザードに入ったことを肯定するか否かの選択をユーザから受け付ける。次いで、打撃検出部２８１は、ユーザにより肯定が選択されたか否かを判定する（ステップＳ４５０）。打撃検出部２８１は、肯定が選択されたと判定した場合には（ステップＳ４５０：ＹＥＳ）、処理をＳ４５１に進める。ステップＳ４５１において、打撃検出部２８１は、ペナルティ打数［ＧＳ−１］を１に設定して、ペナルティ判定処理を終了させる。一方、打撃検出部２８１は、肯定が選択されなかったと判定した場合には（ステップＳ４５０：ＮＯ）、処理をＳ４５２に進める。
【０１９７】
ステップＳ４５２において、打撃検出部２８１は、ペナルティ打数［ＧＳ−１］を０に設定して、ペナルティ判定処理を終了させる。
【０１９８】
図２４は、本実施形態に係るユーザ端末２のシステム制御部２８による打数確定処理の一例を示すフローチャートである。図２４において、図９と同様の処理については同様の符号が付されている。
【０１９９】
図２４に示すように、第１実施形態の場合と同様に、ステップＳ１４１及びＳ１４２が実行される。次いで、打数確定部２８５は、ペナルティ打数［打撃番号［ｈ］］〜ペナルティ打数［打撃番号［ｈ＋１］−１］の合計を計算する。そして、計算した合計を打数［ｈ］に加算して、打数［ｈ］を調整する。次いで、第１実施形態の場合と同様に、ステップＳ１４３〜Ｓ１４８が実行される。
【０２００】
以上説明したように、本実施形態によれば、システム制御部２８が、ユーザがボールを打撃した位置を示す位置情報を取得する。また、システム制御部２８が、取得された位置情報に基づいて、ペナルティが課されるイベントが発生した可能性を判定する。また、システム制御部２８が、この判定に基づいて、打数を調整する。従って、ホールごとの打数を、適切な打数に確定することができる。
【０２０１】
また、システム制御部２８が、ホールのレイアウトを示すレイアウト情報を取得してもよい。また、システム制御部２８が、取得された位置情報及びレイアウト情報に基づいて、イベントが発生した可能性を判定してもよい。この場合、ペナルティが課されるイベントが発生した可能性を適切に推定することができる。
【０２０２】
また、システム制御部２８が、取得された打撃の特性に基づいて、打撃によるボールの飛距離を推定してもよい。また、システム制御部２８が、取得されたレイアウト情報及び位置情報と、推定された飛距離とに基づいて、対象エリアにボールが入った可能性を判定してもよい。この場合、このようなエリアにボールが入ることによりペナルティが課されるイベントが発生した可能性をより適切に推定することができる。
【０２０３】
また、システム制御部２８が、検出された打撃ごとに、取得された位置情報に基づいて、その打撃が行われた位置から次の打撃が行われた位置までの距離をボールの飛距離と仮定して計算し、その計算された飛距離に基づいて、特性情報とボールの飛距離との関係を学習してもよい。また、システム制御部２８が、取得された打撃の特性、及び学習された関係に基づいて、飛距離を推定してもよい。この場合、ボールの飛距離を適切に推定することができる。
【０２０４】
［５．第５実施形態］
［５−１．システム制御部の機能概要］
次に、図２５を用いて、第５実施形態におけるユーザ端末２のシステム制御部２８の機能概要について説明する。
【０２０５】
［５−１−１．打撃の威力の変化の学習］
学習部２８６は、特性取得部２８３により取得された特性情報と、各ホールの打数が確定されたこととに基づいて、ユーザによる打撃の威力の変化を学習する。学習される打撃の威力の変化は、ティーショット及びホールアウト時の打撃を少なくとも含む複数の連続した打撃における威力の変化である。本実施形態が第２実施形態と異なる点は、本実施形態の学習部２８６が、ホールアウト時の打撃から次のホールのティーショットへの打撃の威力の変化を学習することである。ユーザによって、ホールアウト時の打撃の威力及びティーショットの打撃の威力の少なくとも何れか一方に何らかの傾向がある場合がある。学習部２８６は、このような傾向を学習する。
【０２０６】
各ホールの打数が確定されることによって、各ホールのティーショット及びホールアウト時の打撃のそれぞれの威力が特定される。学習部２８６は、各ホールについて、ホールアウト時の打撃の威力と次のホールのティーショットの威力とを取得する。
【０２０７】
学習部２８６は、打撃の威力の変化の出現確率を示す打撃威力変化モデルを学習結果として生成してもよい。本実施形態における打撃威力変化モデルは、例えば打撃の威力の変化それぞれの出現確率を示すリスト情報であってもよい。学習部２８６は、ホールアウト時の打撃から次のホールのティーショットで或る威力の変化が現れた回数を、ユーザがホールアウトした後に次のホールでティーショットを行った回数（すなわち、ユーザがゴルフをプレーしたホールのうち、最初にプレーが行われたホールを除くホールの数）で除算することにより、その打撃の変化の出現確率を計算する。学習部２８６は、クラスタリングにより、近い打撃の威力の変化同士をグループ化して、グループごとに、その出現確率を計算することが望ましい。打撃威力変化モデルに記憶される打撃の威力の変化は、ホールアウト時の打撃から次のホールのティーショットへの威力の上昇程度であってもよいし、ホールアウト時の打撃の威力と次のホールのティーショットの威力との組み合わせであってもよいし、その両方であってもよい。
【０２０８】
あるいは、学習部２８６は、分類器を用いて打撃の威力の変化を学習してもよい。分類器の例として、単純ベイズ分類器が挙げられる。例えば、学習部２８６は、ホールアウト時の打撃から次のホールのティーショットへの打撃の威力の変化を、ユーザがホールアウトした場合の打撃の威力の変化として学習してもよい。また、学習部２８６は、他の打撃間における威力の変化を、ユーザがホールアウトしなかった場合の打撃の威力の変化として学習してもよい。この場合、二項分類となる。
【０２０９】
ユーザがゴルフをプレーした各ホールの規定打数を特定可能である場合、学習部２８６は、規定打数に応じて打撃の威力の変化を学習してもよい。その理由は、特にティーショットの打撃の威力は、規定打数に応じて変わる可能性があるからである。例えば、学習部２８６は、ショートホール、ミドルホール及びロングホールのそれぞれについて打撃の威力の変化を学習してもよい。学習部２８６は、ミドルホール及びロングホールについては、まとめて打撃の威力の変化を学習してもよい。その理由は、ミドルホール及びロングホールにおいては、ティーショットの威力に差異がない場合があるからである。学習部２８６は、ホールアウト時の打撃から次のホールのティーショットへの打撃の威力の変化を、次のホールの規定打数に対応した打撃の威力の変化として学習する。
【０２１０】
［５−１−２．ホールアウトの推定］
ホールアウト推定部２８４は、学習部２８６による打撃の威力の変化の学習結果と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とを比較し、この比較に基づいて、ユーザがホールアウトしたことを推定する。本実施形態が第２実施形態と異なる点は、本実施形態のホールアウト推定部２８４は、或る打撃から次の打撃までの打撃の威力の変化の出現確率が所定値以上である場合、その或る打撃でユーザがホールアウトしたと推定することである。これにより、ユーザによっては打数にばらつきがある場合であっても、ユーザがホールアウトしたことを適切に推定することができる。規定打数に応じて打撃威力変化モデルが複数生成されている場合、ホールアウト推定部２８４は、ユーザがゴルフをプレーしたホールの規定打数に対応する打撃威力変化モデルを用いて出現確率を取得する。なお、ホールアウト推定部２８４は、分類器を用いて推定を行ってもよい。具体的に、ホールアウト推定部２８４は、或る打撃から次の打撃までの打撃の威力の変化が、ユーザがホールアウトした場合の打撃の威力の変化であると分類器を用いて判定した場合、その或る打撃でユーザがホールアウトしたと推定する。
【０２１１】
図２５は、実際の打撃の威力の変化の一例を示す図である。図２５に示すように、全ホールを通した第１打から第３打までの間の打撃の威力は低下している。次いで、第３打から第４打の間で打撃の威力が上昇している（変化６０１）。第４打から第７打までの間、打撃の威力は次第に低下している。次いで、第７打から第８打の間で打撃の威力が上昇している（変化６０２）。例えば、第３打目において、樹木等の障害物を避けてボールをフェアウェイに出すため、ユーザは比較的低い威力でボールを打撃した。第４打目において、ユーザは比較的高い威力でボールを打撃した。そのため、変化６０１が示す打撃の威力の上昇の程度が小さい。このような場合、打撃威力変化モデルにおいて、変化６０１の出現確率は所定値よりも低い蓋然性がある。或いは、第２ホールがロングホールであって、ショートホールにおける変化６０１の出現確率は所定値よりも高いが、ロングホールにおける変化６０１の出現確率は所定値よりも低い。一方、変化６０２の出現確率は所定値よりも高い。従って、ホールアウト推定部２８４は、第３打目ではユーザがホールアウトしたとは推定せず、第７打目でユーザがホールアウトしたと推定する。
【０２１２】
［５−２．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図２６及び図２７を用いて説明する。なお、打数計算処理、打数カウント処理及び打数確定処理は、第１実施形態の場合と同様である。
【０２１３】
図２６は、本実施形態に係るユーザ端末２のシステム制御部２８による打撃威力変化学習処理の一例を示すフローチャートである。例えば、打数確定処理が終了した後、又は定期的に、打撃威力変化学習処理が実行される。
【０２１４】
図２６に示すように、学習部２８６は、記憶部２２に記憶された、これまでユーザがゴルフをプレーした全コースの全ホールの特性情報のうち、確定した打数に基づいて、規定打数が３であるホールのティーショットの特性情報と、このホールの直前のホールの最終の打撃の特性情報とを取得する。学習部２８６は、取得された特性情報を用いて、規定打数が３に対応する打撃威力変化モデルを生成して記憶部２２に記憶させる（ステップＳ５０１）。打撃威力変化モデルの生成方法は、５−１−１節にて詳述してある。
【０２１５】
次いで、学習部２８６は、これまでユーザがゴルフをプレーした全コースの全ホールの特性情報のうち、確定した打数に基づいて、規定打数が４及び５の何れかであるホールのティーショットの特性情報と、このホールの直前のホールの最終の打撃の特性情報とを取得する。学習部２８６は、取得された特性情報を用いて、規定打数が４及び５の両方に対応する打撃威力変化モデルを生成して記憶部２２に記憶させて（ステップＳ５０２）、打撃威力変化学習処理を終了させる。
【０２１６】
図２７は、本実施形態に係るユーザ端末２のシステム制御部２８によるホールアウト推定処理の一例を示すフローチャートである。図２７において、図８と同様の処理については同様の符号が付されている。
【０２１７】
図２７に示すように、ホールアウト推定部２８４は、ティーショットの打撃番号のリストに１を追加する（ステップＳ１２１）。次いで、ホールアウト推定部２８４は、ホール番号ｈを１に設定し（ステップＳ５２１）、打撃番号ｉを２に設定する（ステップＳ１２２）。次いで、ホールアウト推定部２８４は、特性情報［ｉ−１］及び特性情報［ｉ］に基づいて、ｉ−１番目の打撃からｉ番目の打撃への威力の変化を取得する（ステップＳ１２３）。
【０２１８】
次いで、ホールアウト推定部２８４は、第ｈホールの規定打数を取得する。そして、ホールアウト推定部２８４は、取得した規定打数に対応する打撃威力変化モデルを記憶部２２から取得する（ステップＳ５２２）。次いで、ホールアウト推定部２８４は、この打撃威力変化モデルから、ステップＳ１２３で取得された打撃の威力の変化の出現確率を取得する。そして、ホールアウト推定部２８４は、取得された出現確率が所定の出現確率閾値以上であるか否かを判定する（ステップＳ５２３）。ホールアウト推定部２８４は、出現確率が出現確率閾値以上であると判定した場合には（ステップＳ５２３：ＹＥＳ）、処理をステップＳ１２５に進める。ステップＳ１２５において、ホールアウト推定部２８４は、リストに打撃番号ｉを追加する。次いで、ホールアウト推定部２８４は、ホール番号ｈを１増加させて（ステップ５２４）、処理をステップＳ１２６に進める。一方、ホールアウト推定部２８４は、出現確率が出現確率閾値以上ではないと判定した場合には（ステップＳ５２３：ＮＯ）、処理をステップＳ１２６に進める。
【０２１９】
ステップＳ１２６において、ホールアウト推定部２８４は、打撃番号ｉが総打数ＧＳ未満であるか否かを判定する。 ホールアウト推定部２８４は、打撃番号ｉが総打数ＧＳ未満であると判定した場合には（ステップＳ１２６：ＹＥＳ）、処理をステップＳ１２７に進める。ステップＳ１２７において、ホールアウト推定部２８４は、打撃番号ｉを１増加させて、処理をステップＳ１２３に進める。一方、ホールアウト推定部２８４は、ホールアウト推定処理を終了させる。この後に、ユーザがリストに対して手作業でティーショットの打撃番号の削除及び追加することが可能なように、ゴルフスコア管理システムＳが機能してもよい。
【０２２０】
以上説明したように、本実施形態によれば、システム制御部２８が、各ホールの最終の打撃から次のホールのティーショットまでの打撃の威力を学習する。また、システム制御部２８が、打撃の威力の変化の学習結果と、取得された特性の時系列から特定される打撃の威力の変化とに基づいて、ユーザがホールアウトしたことを推定する。従って、ユーザの打撃の威力の変化の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。特に、ユーザによっては打数にばらつきがある場合であっても、ユーザがホールアウトしたことを適切に推定することができる。
【０２２１】
［６．第６実施形態］
［６−１．システム制御部の機能概要］
次に、図２８を用いて、第６実施形態におけるユーザ端末２のシステム制御部２８の機能概要について説明する。
【０２２２】
［６−１−１．打撃の威力の変化の学習］
打撃検出部２８１は、第３実施形態の場合と同様に、検出された打撃に用いられたクラブの種類を識別する。
【０２２３】
学習部２８６は、打撃検出部２８１により識別されたクラブ種別と、各ホールの打数が確定されたこととに基づいて、ユーザに使用されるクラブの種類の変化を学習する。学習されるクラブの種類の変化は、ティーショット及びホールアウト時の打撃を少なくとも含む複数の連続した打撃において使用されたクラブの種類の変化である。本実施形態が第３実施形態と異なる点は、本実施形態の学習部２８６が、ホールアウト時の打撃から次のホールのティーショットへの打撃までに使用されたクラブの種類の変化を学習することである。ユーザによって、ホールアウト時に使用されるクラブの種類及びティーショットに使用されるクラブの種類の少なくとも何れか一方に何らかの傾向がある場合がある。学習部２８６は、このような傾向を学習する。
【０２２４】
各ホールの打数が確定されることによって、各ホールのティーショット及びホールアウト時の打撃のそれぞれで使用されたクラブの種類が特定される。学習部２８６は、各ホールについて、最終の打撃及び次のホールのティーショットのそれぞれで使用されたクラブの種類を取得する。
【０２２５】
学習部２８６は、クラブの種類の変化の出現確率を示すクラブ種別変化モデルを学習結果として生成してもよい。本実施形態におけるクラブ種別変化モデルは、例えばクラブの種類の変化それぞれの出現確率を示すリスト情報であってもよい。学習部２８６は、ホールアウト時の打撃から次のホールのティーショットで或るクラブの種類の変化が現れた回数を、ユーザがホールアウトした後に次のホールでティーショットを行った回数で除算することにより、そのクラブの種類の変化の出現確率を計算する。クラブ種別変化モデルに記憶されるクラブの種類の変化は、ホールアウト時の打撃で使用されたクラブの種類と、次のホールのティーショットで使用されたクラブの種類との組み合わせである。
【０２２６】
あるいは、学習部２８６は、分類器を用いて、使用されたクラブの種類の変化を学習してもよい。分類器の例として、単純ベイズ分類器が挙げられる。例えば、学習部２８６は、ホールアウト時の打撃から次のホールのティーショットまでに使用されたクラブの種類の変化を、ユーザがホールアウトした場合に使用された使用されたクラブの種類の変化として学習してもよい。また、学習部２８６は、他の打撃間において使用されたクラブの種類の変化を、ユーザがホールアウトしなかった場合に使用されたクラブの種類の変化として学習してもよい。この場合、二項分類となる。
【０２２７】
ユーザがゴルフをプレーした各ホールの規定打数を特定可能である場合、学習部２８６は、規定打数に応じてクラブの種類の変化を学習してもよい。その理由は、特にティーショットで使用されるクラブの種類は、規定打数に応じて変わる可能性があるからである。例えば、学習部２８６は、ショートホール、ミドルホール及びロングホールのそれぞれについてクラブの種類の変化を学習してもよい。学習部２８６は、ミドルホール及びロングホールについては、まとめてクラブの種類の変化を学習してもよい。その理由は、ミドルホール及びロングホールにおいては、ティーショットで使用されるクラブの種類に差異がない場合があるからである。学習部２８６は、ホールアウト時の打撃から次のホールのティーショットへのクラブの種類の変化を、次のホールの規定打数に対応したクラブの種類の変化として学習する。
【０２２８】
［６−１−２．ホールアウトの推定］
ホールアウト推定部２８４は、学習部２８６によるクラブの種類の変化の学習結果と、打撃検出部２８１により識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、特性取得部２８３により取得された特性情報の時系列から特定される打撃の威力の変化とに基づいて、プレーヤーがホールアウトしたことを推定する。打撃の威力の変化に基づいて、プレーヤーがホールアウトしたことを推定する方法は、第１実施形態で説明された方法、第２実施形態で説明された方法、及び第５実施形態で説明された方法の何れであってもよい。本実施形態が第３実施形態と異なる点は、ホールアウト推定部２８４は、打撃の威力の変化に基づく推定結果を修正するとき、ホールアウト時の打撃から次のホールのティーショットまでに使用されたクラブの種類の出現確率に基づいて、何打目でホールアウトしたかを修正する。これにより、ユーザによっては打数にばらつきがある場合であっても、ユーザがホールアウトしたことを適切に推定することができる。規定打数に応じて打撃威力変化モデルが複数生成されている場合、ホールアウト推定部２８４は、ユーザがゴルフをプレーしたホールの規定打数に対応する打撃威力変化モデルを用いて出現確率を取得する。なお、ホールアウト推定部２８４は、分類器を用いて推定結果を修正してもよい。
【０２２９】
ユーザがホールアウトしたと推定された仮のホール数が実際にユーザがゴルフをプレーしたホール数よりも少ない場合、例えば、ホールアウト推定部２８４は、各ホールについて、ユーザがホールアウトしたと仮に推定される打撃が何打目の打撃であるかに基づいて、そのホールにおけるクラブの種類の変化を取得する。次いで、ホールアウト推定部２８４は、そのホール内の連続する２つの打撃で使用されたクラブの種類の変化が、ホールアウト時の打撃から次のホールのティーショットまでに出現する確率を、クラブ種類変化モデルから取得する。ホールアウト推定部２８４は、出現確率が所定値以上である場合、その連続する２つの打撃のうち前の方の打撃でユーザがホールアウトしたと推定してもよい。そして、ホールアウト推定部２８４は、その連続する２つの打撃のうち後の方の打撃が次のホールのティーショットであると推定してもよい。こうして、ユーザは、１つのホールでのゴルフのプレーを、２つのホールでのゴルフのプレーに分割する。分類器の場合、ホールアウト推定部２８４は、連続する２つの打撃で使用されたクラブの種類の変化が、ユーザがホールアウトした場合に使用されたクラブの種類の変化であると分類器を用いて判定した場合、その連続する２つの打撃のうち前の方の打撃でユーザがホールアウトしたと推定してもよい。
【０２３０】
ユーザがホールアウトしたと推定された仮のホール数が実際にユーザがゴルフをプレーしたホール数よりも多い場合、例えば、ホールアウト推定部２８４は、各ホールについて、ユーザがホールアウトしたと仮に推定される打撃が何打目の打撃であるかに基づいて、ホールアウト時の打撃から次のホールのティーショットまでに使用されたクラブの種類の変化の出現確率を、クラブ種類変化モデルから取得する。ホールアウト推定部２８４は、出現確率が所定値未満であるホールを、対象のホールとして特定する。ホールアウト推定部２８４は、対象のホールの次のホールについて打撃の威力の変化に基づいてユーザがホールアウトしたと仮に推定された打撃を、対象のホールでユーザがホールアウトしたと推定する。こうして、ユーザは、２つのホールでのゴルフのプレーを、１つのホールでのゴルフのプレーに統合する。分類器の場合、ホールアウト推定部２８４は、使用されたクラブの種類の変化が、ユーザがホールアウトした場合に使用されたクラブの種類の変化ではないと分類器を用いて判定したホールを、対象のホールとして特定してもよい。
【０２３１】
図２８は、実際の打撃の威力の変化、使用されたクラブの種類の変化、及びクラブ種別変化モデルが示す打撃のクラブの種類の変化の一例を示す図である。図２８に示すように、全ホールを通した第１打から第３打までの間の打撃の威力は低下している。次いで、第３打から第４打の間で打撃の威力が上昇している（変化７０１）。第４打から第６打までの間、打撃の威力は次第に低下している。次いで、第６打から第７打の間で打撃の威力が上昇している（変化７０２）。変化７０１が示す打撃の威力の上昇の程度が小さかったため、ホールアウト推定部２８４は、変化７０１に基づいては第３打目でユーザがホールアウトしたとは推定しなかった。一方、ホールアウト推定部２８４は、変化７０２に基づいて、第６打目でユーザがホールアウトしたと推定した。また、実際にユーザは９ホールプレーしたが、打撃の威力の変化に基づいてホールアウトが推定されたホールは８ホールであった。１打目から７打目までの打撃に使用されたクラブは、それぞれ１番ウッド、３番アイアン、サウンドウェッジ、５番アイアン、７番アイアン、パター、１番ウッドである。１番ウッドと３番アイアンとの組み合わせ、３番アイアンとサウンドウェッジの組み合わせ、５番アイアンと７番アイアンとの組み合わせ、及び７番アイアンとパターとの組み合わせが、ホールアウト時の打撃から次のホールのティーショットで出現する確率が所定値未満であった。一方、サウンドウェッジと５番アイアンとの組み合わせが出現する確率が所定値以上であった。従って、ホールアウト推定部２８４は、第１ホールについてユーザは第３打でホールアウトしたと推定し、第２ホールについてユーザは第６打でホールアウトしたと推定する。
【０２３２】
［６−２．情報処理システムの動作］
次に、ゴルフスコア管理システムＳの動作について、図２９及び図３０を用いて説明する。なお、打数計算処理及び打数確定処理は、第１実施形態の場合と同様であり、打数カウント処理は及びホールアウト推定処理は、第２実施形態の場合と同様である。
【０２３３】
図２９は、本実施形態に係るユーザ端末２のシステム制御部２８によるクラブ種別変化学習処理の一例を示すフローチャートである。例えば、打数確定処理が終了した後、又は定期的に、クラブ種別変化学習処理が実行される。
【０２３４】
図２９に示すように、学習部２８６は、記憶部２２に記憶された、これまでユーザがゴルフをプレーした全コースの全ホールのクラブ種別のうち、確定した打数に基づいて、規定打数が３であるホールのティーショットのクラブ種別と、このホールの直前のホールの最終の打撃のクラブ種別とを取得する。学習部２８６は、取得されたクラブ種別を用いて、規定打数が３に対応する打撃威力変化モデルを生成して記憶部２２に記憶させる（ステップＳ６０１）。打撃威力変化モデルの生成方法は、６−１−１節にて詳述してある。
【０２３５】
次いで、学習部２８６は、記憶部２２に記憶された、これまでユーザがゴルフをプレーした全コースの全ホールのクラブ種別のうち、確定した打数に基づいて、規定打数が４及び５の何れかであるホールのティーショットのクラブ種別と、このホールの直前のホールの最終の打撃のクラブ種別とを取得する。学習部２８６は、取得されたクラブ種別を用いて、規定打数が４及び５の両方に対応する打撃威力変化モデルを生成して記憶部２２に記憶させて（ステップＳ６０２）、クラブ種別変化学習処理を終了させる。
【０２３６】
図３０は、本実施形態に係るユーザ端末２のシステム制御部２８によるティーショット打撃番号修正処理の一例を示すフローチャートである。図３０に示すように、ホールアウト推定部２８４は、ホール番号を２に設定する（ステップＳ６２１）。次いで、ホールアウト推定部２８４は、第ｈホールの規定打数を取得する。そして、ホールアウト推定部２８４は、取得された規定打数に対応するクラブ種別変化モデルを取得する（ステップＳ６２２）。次いで、ホールアウト推定部２８４は、ティーショットの打撃番号のリストに追加された打撃番号の数が、ユーザがゴルフをプレーしたホール数よりも少ないか否かを判定する（ステップＳ６２３）。ホールアウト推定部２８４は、打撃番号の数がホール数よりも少ないと判定した場合には（ステップＳ６２３：ＹＥＳ）、処理をステップＳ６２４に進める。一方、ホールアウト推定部２８４は、打撃番号の数がホール数よりも少なくはないと判定した場合には（ステップＳ６２３：ＮＯ）、処理をステップＳ６３１に進める。
【０２３７】
ステップＳ６２４において、ホールアウト推定部２８４は、打撃番号ＮＨを、打撃番号［ｈ−１］＋１から打撃番号［ｈ］−１までの範囲で変化させながら、打撃番号ＮＨ−１から打撃番号ＮＨまでの打撃で使用されたクラブの種類の変化の出現確率を、ステップＳ６２２で取得されたクラブ種別変化モデルから取得する。そして、ホールアウト推定部２８４は、取得された出現確率を最大化する打撃番号ＮＨを決定する。次いで、ホールアウト推定部２８４は、最大化された出現確率が、所定の閾値以上であるか否かを判定する（ステップＳ６２５）。ホールアウト推定部２８４は、出現確率が閾値以上ではないと判定した場合には（ステップＳ６２５：ＮＯ）、処理をステップＳ６３６に進める。一方、ホールアウト推定部２８４は、出現確率が閾値以上であると判定した場合には（ステップＳ６２５：ＹＥＳ）、処理をステップＳ６２６に進める。
【０２３８】
ステップＳ６２６において、ホールアウト推定部２８４は、第ｈ＋１ホールの規定打数を取得する。そして、ホールアウト推定部２８４は、取得された規定打数に対応するクラブ種別変化モデルを取得する。次いで、ホールアウト推定部２８４は、打撃番号［ｈ］−１から打撃番号［ｈ］までの打撃で使用されたクラブの種類の変化の出現確率を、ステップＳ６２６で取得されたクラブ種別変化モデルから取得する（ステップＳ６２７）。次いで、ホールアウト推定部２８４は、取得された出現確率が、所定の閾値以上であるか否かを判定する（ステップＳ６２８）。ホールアウト推定部２８４は、出現確率が閾値以上ではないと判定した場合には（ステップＳ６２８：ＮＯ）、処理をステップＳ６３６に進める。一方、ホールアウト推定部２８４は、出現確率が閾値以上であると判定した場合には（ステップＳ６２８：ＹＥＳ）、処理をステップＳ６２９に進める。
【０２３９】
ステップＳ６２９において、ホールアウト推定部２８４は、打撃番号ＮＨを、ティーショットの打撃番号のリストに追加する。次いで、ホールアウト推定部２８４は、ホール番号ｈを１増加させて（ステップＳ６３０）、処理をステップＳ６３６に進める。なお、ユーザがゴルフをプレーした最終のホールが第ｈホールである場合、ホールアウト推定部２８４は、ステップＳ６２５で出現確率が閾値以上であると判定した場合には、ステップＳ６２６〜Ｓ６２８を省略して、ステップＳ６２９及びＳ６３０を実行する。
【０２４０】
ステップＳ６３１において、ホールアウト推定部２８４は、打撃番号［ｈ］−１から打撃番号［ｈ］までの打撃で使用されたクラブの種類の変化の出現確率を、ステップＳ６２２で取得されたクラブ種別変化モデルから取得する。次いで、ホールアウト推定部２８４は、取得された出現確率が、所定の閾値以上であるか否かを判定する（ステップＳ６３２）。ホールアウト推定部２８４は、出現確率が閾値以上であると判定した場合には（ステップＳ６３２：ＹＥＳ）、処理をステップＳ６３６に進める。一方、ホールアウト推定部２８４は、出現確率が閾値以上ではないと判定した場合には（ステップＳ６３２：ＮＯ）、処理をステップＳ６３３に進める。
【０２４１】
ステップＳ６３３において、ホールアウト推定部２８４は、打撃番号［ｈ＋１］−１から打撃番号［ｈ＋１］まで（すなわち、第ｈホールのホールアウト時の打撃と仮定される打撃から、第ｈ＋１ホールのティーショットと仮定される打撃まで）の打撃で使用されたクラブの種類の変化の出現確率を、ステップＳ６２２で取得されたクラブ種別変化モデルから取得する。次いで、ホールアウト推定部２８４は、取得された出現確率が、所定の閾値以上であるか否かを判定する（ステップＳ６３４）。ホールアウト推定部２８４は、出現確率が閾値以上ではないと判定した場合には（ステップＳ６３４：ＮＯ）、処理をステップＳ６３６に進める。一方、ホールアウト推定部２８４は、出現確率が閾値以上であると判定した場合には（ステップＳ６３４：ＹＥＳ）、処理をステップＳ６３５に進める。ステップＳ６３５において、ホールアウト推定部２８４は、打撃番号［ｈ］をティーショットの打撃番号のリストから削除して、処理をステップＳ６３６に進める。なお、ティーショットの打撃番号のリストに打撃番号［ｈ＋１］が存在しない場合、ホールアウト推定部２８４は、ステップＳ６３２において出現確率が閾値以上ではないと判定した場合には、ステップＳ６３３及びＳ６３４を省略して、ステップＳ６３５を実行してもよい。
【０２４２】
ステップＳ６３６において、ホールアウト推定部２８４は、ホール番号ｈが、ティーショットの打撃番号のリストに含まれる打撃番号の数未満であるか否かを判定する。ホールアウト推定部２８４は、ホール番号ｈが打撃番号の数未満であると判定した場合には（ステップＳ６３６：ＹＥＳ）、処理をステップＳ６３７に進める。ステップＳ６３７において、ホールアウト推定部２８４は、ホール番号ｈを１増加させて、処理をステップＳ６２２に進める。一方、ホールアウト推定部２８４は、ホール番号ｈが打撃番号の数未満ではないと判定した場合には（ステップＳ６３６：ＮＯ）、処理をステップＳ６３８に進める。
【０２４３】
ステップＳ６３８において、ホールアウト推定部２８４は、リストに含まれる打撃番号の数が、ユーザがゴルフをプレーしたホール数と一致するか否かを判定する。ホールアウト推定部２８４は、打撃番号の数がホール数と一致しないと判定した場合には（ステップＳ６３８：ＮＯ）、処理をステップＳ６２１に進める。なお、この判定によりステップＳ６２２〜Ｓ６３５を再実行する場合、ホールアウト推定部２８４は、例えば閾値を変更してもよい。一方、ホールアウト推定部２８４は、打撃番号の数がホール数と一致すると判定した場合には（ステップＳ６３８：ＹＥＳ）、ティーショット打撃番号修正処理を終了させる。
【０２４４】
以上説明したように、本実施形態によれば、システム制御部２８が、各ホールの最終の打撃から次のホールのティーショットまでに使用されたクラブの種類の変化を学習する。また、システム制御部２８が、クラブの種類の変化の学習結果と、識別されたクラブの種類の時系列から特定される、使用されるクラブの種類の変化と、取得された特性情報の時系列から特定される打撃の威力の変化とに基づいて、プレーヤーがホールアウトしたことを推定する。従って、ユーザが使用するクラブの種類の傾向に応じて、ユーザがホールアウトしたことを適切に推定することができる。特に、ユーザによっては打数にばらつきがある場合であっても、ユーザがホールアウトしたことを適切に推定することができる。
【符号の説明】
【０２４５】
１  サーバ
１１  通信部
１２  記憶部
１３  入出力インターフェース
１４  システム制御部
１４ａ  ＣＰＵ
１４ｂ  ＲＯＭ
１４ｃ  ＲＡＭ
１５  システムバス
２  ユーザ端末
２１  通信部
２２  記憶部
２３  操作入力部
２４  表示部
２５  音入力部
２６  センサー部
２７  入出力インターフェース
２８  システム制御部
２８ａ  ＣＰＵ
２８ｂ  ＲＯＭ
２８ｃ  ＲＡＭ
２９  システムバス
２８１  打撃検出部
２８２  カウンター部
２８３  特性取得部
２８４  ホールアウト推定部
２８５  打数確定部
２８６  学習部
ＮＷ  ネットワーク
Ｓ  ゴルフスコア管理システム
【図１】
2019103611.tif 000003
【図２】
2019103611.tif 000004
【図３】
2019103611.tif 000005
【図４】
2019103611.tif 000006
【図５】
2019103611.tif 000007
【図６】
2019103611.tif 000008
【図７】
2019103611.tif 000009
【図８】
2019103611.tif 000010
【図９】
2019103611.tif 000011
【図１０】
2019103611.tif 000012
【図１１】
2019103611.tif 000013
【図１２】
2019103611.tif 000014
【図１３】
2019103611.tif 000015
【図１４】
2019103611.tif 000016
【図１５】
2019103611.tif 000017
【図１６】
2019103611.tif 000018
【図１７】
2019103611.tif 000019
【図１８】
2019103611.tif 000020
【図１９】
2019103611.tif 000021
【図２０】
2019103611.tif 000022
【図２１】
2019103611.tif 000023
【図２２】
2019103611.tif 000024
【図２３】
2019103611.tif 000025
【図２４】
2019103611.tif 000026
【図２５】
2019103611.tif 000027
【図２６】
2019103611.tif 000028
【図２７】
2019103611.tif 000029
【図２８】
2019103611.tif 000030
【図２９】
2019103611.tif 000031
【図３０】
2019103611.tif 000032