(57)【要約】【課題】断続的に発生するイベントを適切に提示する。【解決手段】検知部３０２は、イベントの発生を検知する。追加部３０３は、検知部３０２によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を対応付けて記憶部３０１に順に記憶させる。取出部３０４は、記憶部３０１から、先頭に記憶されているイベントの内容と経過時間とを取り出す。計算部３０５は、提示時間の平均値と、経過時間の平均値と、が一致するように、提示時間を計算する。提示部３０６は、計算された提示時間で、取り出されたイベントの内容を提示する。制御部３０７は、イベントの内容の提示が完了すると、取出部３０４が次のイベントの内容と経過時間とを取り出すように制御する。【選択図】図３
2011142536.tif 000002
【特許請求の範囲】
【請求項１】
イベントの内容と経過時間とが対応付けられて記憶される記憶部、
イベントの発生を検知する検知部、
前記検知部によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を対応付けて前記記憶部に順に記憶させる追加部、
前記記憶部から、先頭に記憶されているイベントの内容と経過時間とを取り出す取出部、
前記取り出された経過時間と、前記記憶部に記憶されている経過時間と、に基づいて、提示時間を計算する計算部、
前記計算された提示時間で、前記取り出されたイベントの内容を提示する提示部、
前記イベントの内容の提示が完了すると、前記取出部が次のイベントの内容と経過時間とを取り出すように制御する制御部、を備え、
前記計算部は、前記提示時間の平均値と、前記経過時間の平均値と、が一致するように、前記提示時間を計算する
ことを特徴とするイベント提示装置。
【請求項２】
請求項１に記載のイベント提示装置であって、
前記計算部は、前記取り出された経過時間と、前記記憶部に記憶されている経過時間と、の平均値を、前記提示時間とする
ことを特徴とするイベント提示装置。
【請求項３】
請求項１に記載のイベント提示装置であって、
前記計算部は、前記取り出された経過時間と、前記記憶部に記憶されている経過時間と、の重み付き平均値を、前記提示時間とする
ことを特徴とするイベント提示装置。
【請求項４】
請求項３に記載のイベント提示装置であって、
前記取り出された経過時間に対する重みと、前記記憶部に記憶されている経過時間の重みと、を順に並べた数列は、単調減少する
ことを特徴とするイベント提示装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のイベント提示装置であって、
前記取出部が、初めてイベントの内容と経過時間とを取り出すのは、前記記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達した後である
ことを特徴とするイベント提示装置。
【請求項６】
請求項１乃至４のいずれか１項に記載のイベント提示装置であって、
前記取出部が、初めてイベントの内容と経過時間とを取り出すのは、前記記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達してから、所定の時間経過した後である
ことを特徴とするイベント提示装置。
【請求項７】
イベントの内容と経過時間とが対応付けられて記憶される記憶部、検知部、追加部、取出部、計算部、提示部、制御部を備えるイベント提示装置が実行するイベント提示方法であって、
前記検知部が、イベントの発生を検知する検知工程、
前記追加部が、前記検知部によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を対応付けて前記記憶部に順に記憶させる追加工程、
前記取出部が、前記記憶部から、先頭に記憶されているイベントの内容と経過時間とを取り出す取出工程、
前記計算部が、前記取り出された経過時間と、前記記憶部に記憶されている経過時間と、に基づいて、提示時間を計算する計算工程、
前記提示部が、前記計算された提示時間で、前記取り出されたイベントの内容を提示する提示工程、
前記制御部が、前記イベントの内容の提示が完了すると、前記取出部が次のイベントの内容と経過時間とを取り出すように制御する制御工程、を備え、
前記計算工程では、前記計算部は、前記提示時間の平均値と、前記経過時間の平均値と、が一致するように、前記提示時間を計算する
ことを特徴とするイベント提示方法。
【請求項８】
コンピュータを、
イベントの内容と経過時間とが対応付けられて記憶される記憶部、
イベントの発生を検知する検知部、
前記検知部によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を対応付けて前記記憶部に順に記憶させる追加部、
前記記憶部から、先頭に記憶されているイベントの内容と経過時間とを取り出す取出部、
前記取り出された経過時間と、前記記憶部に記憶されている経過時間と、に基づいて、提示時間を計算する計算部、
前記計算された提示時間で、前記取り出されたイベントの内容を提示する提示部、
前記イベントの内容の提示が完了すると、前記取出部が次のイベントの内容と経過時間とを取り出すように制御する制御部、として機能させるプログラムであって、
前記計算部は、前記提示時間の平均値と、前記経過時間の平均値と、が一致するように、前記提示時間を計算する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、断続的に発生するイベントを適切に提示するのに好適なイベント提示装置、イベント提示方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。
【背景技術】
【０００２】
配信サーバなどから配信されたイベント情報を受信して、ユーザに提示するイベント提示装置が知られている。例えば、特許文献１には、無線送信局から送信されたニュースや天気情報などの各種情報を受信して、表示する情報表示システムが開示されている。このようなイベント提示装置は、携帯通信端末、ビルや電車内に設置される電光掲示板などに幅広く適用可能である。
【０００３】
ここで、配信されるイベント情報は、定期的に配信されるものではなく、ある期間には連続して配信され、また別のある期間には全く配信されないということがある。例えば、配信されるイベント情報が、野球中継中に発生する各種のイベントを表す情報である場合、ボールインプレイの間は、ピッチャーがボールを投げたことを表すイベント情報、バッターがバットを振ったことを表すイベント情報、キャッチャーがボールをとったことを表すイベント情報が連続して配信され、一方、ボールデッドの間は、イベント情報が何も配信されないということがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３１９９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、受信したイベント情報を、直ちにユーザに提示するようにイベント提示装置を構成すると、イベント情報が適切に提示されない場合がある。例えば、野球中継の例では、ボールインプレイの間は、発生したイベント情報が、極めて短時間で提示されたり、省略して提示されたりすることが考えられる。その一方で、ボールデッドの間は、イベント情報が何も提示されず、ユーザが退屈に感じてしまうことが考えられる。従って、このように断続的にイベントが発生する場合に、イベントを提示するタイミングをずらしたり、イベントを提示する時間を調整したりするなどして、イベントを適切に提示することが可能なイベント提示装置が望まれている。
【０００６】
本発明は、上記問題に鑑みてなされたものであり、断続的に発生するイベントを適切に提示するのに好適なイベント提示装置、イベント提示方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の第１の観点に係るイベント提示装置は、記憶部、検知部、追加部、取出部、計算部、提示部、制御部、を備え、以下のように構成する。
【０００８】
まず、記憶部には、イベントの内容と経過時間とが対応付けられて記憶される。ここで、イベントは、例えば、配信サーバなどから配信されるイベント情報により表される事象である。例えば、配信サーバにより、野球中継中に発生する各種のイベントを表すイベント情報が配信される場合、「ピッチャーがボールを投げた」というイベント、「バッターがバットを振った」というイベント、「キャッチャーがボールをとった」というイベントが考えられる。また、イベントの内容は、例えば、文字列、音声データ、動画データにより表される。従って、文字列、音声データ、もしくは、動画データなどが後述する経過時間と対応付けられて記憶部に記憶される。
【０００９】
そして、検知部が、イベントの発生を検知する。検知部は、例えば、配信サーバからイベント情報を受信した際に発生する受信割り込みの発生を検知する。
【００１０】
ここで、追加部は、検知部によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を対応付けて記憶部に順に記憶させる。具体的には、例えば、追加部は、以下の（１）〜（４）のような処理を実行する。（１）まず、追加部は、検知部によりイベントの発生が検知されると、当該イベントの内容と当該イベントが発生した時刻を取得する。（２）そして、追加部は、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間、つまり、当該イベントが発生した時刻と、記憶部などにあらかじめ記憶されている、当該直前のイベントが発生した時刻と、の時刻差を求める。（３）そして、追加部は、当該直前のイベントの内容と当該経過時間とを対応付けて記憶部に記憶させる。（４）ここで、追加部は、当該イベントが発生した時刻を、記憶部などに記憶させる。追加部は、検知部によりイベントの発生が検知される毎に、（１）〜（４）の処理を実行する。
【００１１】
さらに、取出部は、記憶部から、先頭に記憶されているイベントの内容と当該イベントに対応付けられている経過時間とを取り出す。ここで、先頭に記憶されているイベントの内容と経過時間とは、記憶部に記憶されているイベントの内容と経過時間とのうち、最も早い時刻に記憶されたイベントの内容と経過時間とである。つまり、追加部と取出部とは、記憶部をＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，  Ｆｉｒｓｔ  Ｏｕｔ）メモリとして使用する。
【００１２】
ここで、計算部は、取出部により取り出された経過時間と、記憶部に記憶されている経過時間と、に基づいて、提示時間を計算する。つまり、計算部は、過去に発生が検知されたイベントの発生間隔に基づいて、イベントの提示時間を計算する。
【００１３】
そして、提示部は、計算部により計算された提示時間で、取出部により取り出されたイベントの内容を提示する。従って、検知部により検知されたイベントは、過去に発生が検知されたイベントの発生間隔に基づいて適当に調整された提示時間で提示される。なお、イベントは、典型的には、文字列、音声、動画により提示される。
【００１４】
また、制御部は、イベントの内容の提示が完了すると、取出部が次のイベントの内容と、当該イベントに対応付けられた経過時間と、を取り出すように制御する。つまり、イベント提示装置の動作中は、提示部が、取出部により取り出されたイベントの内容を提示する、という動作が繰り返して実行される。その一方で、イベント提示装置の動作中は、追加部が、検知部により発生が検知されたイベントの内容と、当該イベントに対応付ける経過時間と、を記憶部に追加する、という動作も繰り返して実行される。
【００１５】
ここで、計算部は、提示時間の平均値と、経過時間の平均値と、が一致するように、提示時間を計算する。例えば、計算部は、所定の期間において提示される複数のイベントの提示時間の平均値と、当該所定の期間において発生した複数のイベントの発生間隔の平均値と、がほぼ一致するように、当該所定の期間において提示される各イベントの提示時間を計算する。つまり、各イベントの提示時間は、当該所定の期間において記憶部に追加されるイベントの数と、当該所定の期間において記憶部から取り出されるイベントの数と、の差が、大きくならない範囲で、適切な時間に伸長、短縮される。なお、提示時間の平均値と経過時間の平均値とは、完全に一致する必要はなく、ある程度近い値であればよい。また、所定の期間は、イベントの発生間隔に対してある程度長い期間、例えば、イベントが数回〜数十回発生する期間とすることができる。
【００１６】
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００１７】
また、本発明のイベント提示装置において、計算部を以下に示すように構成することができる。
【００１８】
すなわち、計算部は、取り出された経過時間と、記憶部に記憶されている経過時間と、の平均値を、提示時間とする。つまり、記憶部から取り出されたイベントが発生してから、記憶部に最後に記憶されたイベントが発生するまでの間に発生した全てのイベントに対応付けられている経過時間の単純移動平均が、提示時間として求められる。かかる構成によれば、断続的に発生するイベントの適切な提示時間が、簡単な計算により求められる。
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００１９】
また、本発明のイベント提示装置において、計算部を以下に示すように構成することができる。
【００２０】
すなわち、計算部は、取り出された経過時間と、記憶部に記憶されている経過時間と、の重み付き平均値を、提示時間とする。つまり、記憶部から取り出されたイベントが発生してから、記憶部に最後に記憶されたイベントが発生するまでの間に発生した全てのイベントに対応付けられている経過時間の重み付き平均が、提示時間として求められる。経過時間の重み付けは、記憶部に記憶された時刻、つまり、イベントが発生した時刻に基づいて、行われる。例えば、計算部は、早い時刻に発生したイベントに対応付けられている経過時間ほど、つまり、記憶部に記憶された時刻が早い経過時間ほど、重みを付けて提示時間を計算する。このように提示時間が決定されると、発生するイベントが多い時間帯に発生したイベントは短い時間で提示され、発生するイベントが少ない時間帯に発生したイベントは長い時間で提示される。このとき、提示時間は大幅には調整されないため、より自然な提示時間でイベントが提示されることが期待できる。
【００２１】
これとは反対に、計算部は、遅い時刻に発生したイベントに対応付けられている経過時間ほど、つまり、記憶部に記憶された時刻が遅い経過時間ほど、重みを付けて提示時間を計算してもよい。このように提示時間が決定されると、イベントを提示する時刻に近い時間帯に発生したイベントの発生間隔が長い場合に提示時間が長くなり、イベントを提示する時刻に近い時間帯に発生したイベントの発生間隔が短い場合に提示時間が短くなる。このとき、提示時間は、比較的新しい時間帯におけるイベントの発生間隔に近くなるように調整されるため、より自然な提示時間でイベントが提示されることが期待できる。
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００２２】
また、本発明のイベント提示装置において、取り出された経過時間に対する重みと、記憶部に記憶されている経過時間の重みと、を順に並べた数列が、単調減少するようにしてもよい。
【００２３】
つまり、計算部は、早い時刻に発生したイベントに対応付けられている経過時間ほど、つまり、記憶部に記憶された時刻が早い経過時間ほど、大きく重みを付けて提示時間を計算する。これにより、適切な提示時間を、簡単な計算により求めることができる。
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００２４】
また、本発明のイベント提示装置において、取出部を、以下に示すように構成することができる。
【００２５】
つまり、取出部が、初めてイベントの内容と経過時間とを取り出すのは、記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達した後とする。換言すれば、記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達するまでは、イベントの内容と経過時間とを取り出さないように、取出部を構成する。取出部をこのような構成にすると、当該所定の個数を適宜調整することにより、計算部が適切な提示時間を計算することができる。例えば、当該所定の個数を多くすれば、イベントの発生間隔のばらつきが多い場合でも、安定した提示時間でイベントが提示されることが期待できる。一方、当該所定の個数を少なくすれば、イベントが発生してから、当該イベントが提示されるまでの遅延時間を短くすることができる。
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００２６】
また、本発明のイベント提示装置において、取出部を、以下に示すように構成することができる。
【００２７】
つまり、取出部が、初めてイベントの内容と経過時間とを取り出すのは、記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達してから、所定の時間経過した後とする。換言すれば、記憶部に記憶されたイベントの内容の個数が初めて所定の個数に達してから、所定の時間が経過するまでは、イベントの内容と経過時間とを取り出さないように、取出部を構成する。取出部をこのような構成にすると、当該所定の個数ならびに当該所定の時間を適宜調整することにより、計算部が適切な提示時間を計算することができる。例えば、当該所定の個数を多くし、または、当該所定の時間を長くすれば、イベントの発生間隔のばらつきが多い場合でも、安定した提示時間でイベントが提示されることが期待できる。一方、当該所定の個数を少なくし、または、当該所定の時間を短くすれば、イベントが発生してから、当該イベントが提示されるまでの遅延時間を短くすることができる。
本発明のイベント提示装置によれば、断続的に発生するイベントを適切に提示することができる。
【００２８】
上記目的を達成するために、本発明のその他の観点に係るイベント提示方法は、イベントの内容と経過時間とが対応付けられて記憶される記憶部、検知部、追加部、取出部、計算部、提示部、制御部、を備えるイベント提示装置が実行するイベント提示方法であって、検知工程、追加工程、取出工程、計算工程、提示工程、制御工程、を備え、以下のように構成する。
【００２９】
まず、検知工程では、検知部が、イベントの発生を検知する。検知部は、例えば、配信サーバからイベント情報を受信した際に発生する受信割り込みを検知する。この場合、検知部は、受信割り込みが発生した際にセットされる割り込み発生フラグがセットされたか否かを監視する。
【００３０】
ここで、追加工程では、追加部は、検知部によりイベントの発生が検知される毎に、当該発生したイベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間とを対応付けて記憶部に順に記憶させる。
【００３１】
さらに、取出工程では、取出部は、記憶部から、先頭に記憶されているイベントの内容と当該イベントに対応付けられている経過時間とを取り出す。ここで、先頭に記憶されているイベントの内容と経過時間とは、記憶部に記憶されたイベントの内容と経過時間とのうち、最も早い時刻に記憶されたイベントの内容と経過時間とである。つまり、追加部と取出部とは、記憶部をＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，  Ｆｉｒｓｔ  Ｏｕｔ）メモリとして使用する。
【００３２】
ここで、計算工程では、計算部は、取出部により取り出された経過時間と、記憶部に記憶されている経過時間と、に基づいて、提示時間を計算する。つまり、計算部は、過去に発生が検知されたイベントの発生間隔に基づいて、イベントの提示時間を計算する。
【００３３】
そして、提示工程では、提示部は、計算部により計算された提示時間で、取出部により取り出されたイベントの内容を提示する。従って、検知部により発生が検知されたイベントは、過去に発生が検知されたイベントの発生間隔に基づいて適宜調整された提示時間で提示される。なお、イベントは、典型的には、文字列、音声、動画により提示される。
【００３４】
また、制御工程では、制御部は、イベントの内容の提示が完了すると、取出部が次のイベントの内容と経過時間とを取り出すように制御する。つまり、イベント提示装置の動作中は、提示部が、取出部により取り出されたイベントの内容を提示する、という動作が繰り返して実行される。その一方で、イベント提示装置の動作中は、追加部が、検知部により発生が検知されたイベントの内容と経過時間とを記憶部に追加する、という動作も繰り返して実行される。
【００３５】
ここで、計算工程では、計算部は、提示時間の平均値と、経過時間の平均値と、が一致するように、提示時間を計算する。例えば、計算部は、所定の期間において提示される複数のイベントの提示時間の平均値と、当該所定の期間において発生した複数のイベントの発生間隔の平均値と、がほぼ一致するように、当該所定の期間において提示される各イベントの提示時間を計算する。つまり、各イベントの提示時間は、当該所定の期間において記憶部に追加されるイベントの数と、当該所定の期間において記憶部から取り出されるイベントの数と、の差が、大きくならない範囲で、適切な時間に伸長、短縮される。従って、提示時間の平均値と経過時間の平均値とは、完全に一致する必要はなく、ある程度近い値であればよい。なお、所定の期間は、イベントの発生間隔に対してある程度長い期間、例えば、イベントが数回〜数十回発生する期間とすることができる。
【００３６】
本発明のイベント提示方法によれば、断続的に発生するイベントを適切に提示することができる。
【００３７】
本発明の他の観点に係るプログラムは、コンピュータを、上記のイベント提示装置の各部として機能させ、または、コンピュータに、上記の入力受付方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３８】
本発明によれば、断続的に発生するイベントを適切に提示するのに好適なイベント提示装置、イベント提示方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１の実施形態に係るイベント提示装置が実現される情報処理装置の概要構成を示すブロック図である。
【図２】イベント提示装置が配信サーバからイベントの内容を受信する様子を説明するための図である。
【図３】本発明の第１の実施形態に係るイベント提示装置の構成を示すブロック図である。
【図４】イベントの内容と経過時間とを説明するための図である。
【図５】（Ａ）〜（Ｄ）は、イベント情報を記憶部に追加する様子とイベント情報を記憶部から取り出す様子を説明するための図である。
【図６】本発明の第１の実施形態に係るイベント提示装置が実行するイベント提示処理を示すフローチャートである。
【図７】本発明の第１の実施形態に係るイベント提示装置がイベントの内容を提示するタイミングを説明するための図である。
【図８】本発明の第１の実施形態に係るイベント提示装置がイベントの内容を提示する様子を表す図である。
【図９】本発明の第２の実施形態に係るイベント提示装置の構成を示すブロック図である。
【図１０】本発明の第２の実施形態に係るイベント提示装置が実行するイベント提示処理を示すフローチャートである。
【図１１】本発明の第２の実施形態に係るイベント提示装置がイベントの内容を提示するタイミングを説明するための図である。
【図１２】本発明の第２の実施形態に係るイベント提示装置がイベントの内容を提示する様子を表す図である。
【発明を実施するための形態】
【００４０】
以下、図面を参照して、本発明の実施形態に係るイベント提示装置を説明する。以下では、イベント提示装置として、ゲーム装置が採用された実施形態を示す。しかしながら、本発明は、発生したことが検知されたイベントの内容（以下、適宜「イベント内容」という。）を提示することが可能な装置に幅広く適用可能である。つまり、本発明は、電光掲示板、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話、パーソナルコンピュータ、など、あらゆる情報処理装置に適用可能である。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４１】
（第１の実施形態）
図１は、本発明の実施形態に係るイベント提示装置が実現される典型的な情報処理装置の概要構成を示すブロック図である。
【００４２】
情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、インターフェース１０４と、入力部１０５と、メモリカセット１０６と、画像処理部１０７と、タッチスクリーン１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０９と、音声処理部１１０と、マイク１１１と、スピーカ１１２と、ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１１３と、を備える。
【００４３】
ゲーム用のプログラムおよびデータを記憶したメモリカセット１０６（詳細は後述）をインターフェース１０４に接続されたスロット（図示せず）に装着して、情報処理装置１００の電源を投入することにより、当該ゲーム用のプログラムが実行され、本実施形態のイベント提示装置が実現される。なお、後述するイベント提示処理を実行するプログラムは、当該ゲーム用のプログラムに含まれているものとする。
【００４４】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。ＣＰＵ  １０１は、各構成要素から各種のデータを取得し、当該各種のデータを種々の演算により加工して各構成要素にデータや制御信号として与える。ＣＰＵ  １０１では、各種のデータはいったんＣＰＵ  １０１が備えるキャッシュに格納され、さらにＣＰＵ  １０１が備えるレジスタに取得されてから各種の演算が施される。
【００４５】
ＲＯＭ  １０２は、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）を記憶する。このＩＰＬをＣＰＵ  １０１が実行することにより、メモリカセット１０６等に記録されたプログラムがＲＡＭ  １０３に読み出され、ＣＰＵ  １０１による実行が開始される。
また、ＲＯＭ  １０２には情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４６】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、メモリカセット１０６等から読み出したプログラムやデータ等が保持される。
【００４７】
インターフェース１０４を介して着脱自在に接続されたメモリカセット１０６は、ゲーム用のプログラム及び当該プログラムで使用する画像データや音声データなどを記憶する、読出し専用のＲＯＭ領域と、プレイ結果などのデータをセーブするＳＲＡＭ領域とを有する。ＣＰＵ  １０１はメモリカセット１０６に対する読み出し処理を行って、必要なプログラムやデータを読み出し、読み出したデータをＲＡＭ  １０３等に一時的に記憶する。
【００４８】
入力部１０５は、コントロールボタンなどであり、ユーザによる指示入力を受け付ける。入力部１０５は、上、右上、右、右下、下、左下、左、ならびに、左上、のいずれかを指定する方向ボタンや、決定ボタン、取消ボタンなどから構成される。
【００４９】
画像処理部１０７は、メモリカセット１０６から読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換されタッチセンサ式のディスプレイ（タッチスクリーン１０８）へ出力される。これにより、各種の画像表示が可能となる。
【００５０】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、３次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から３次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。特に、点光源や平行光源、円錐光源などの典型的な（正）光源によってポリゴンが照らされる度合を計算する機能が、ライブラリ化もしくはハードウェア化され、高速に計算できるようになっている。
【００５１】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、メモリカセット１０６に記録された専用のフォント情報を利用することも可能である。
【００５２】
なお、上記タッチスクリーン１０８は、タッチセンサを重畳して構成される液晶パネルである。タッチスクリーン１０８はユーザが指もしくはタッチペンなどによって押圧した位置に応じた位置情報を検知し、ＣＰＵ  １０１へ入力する。つまり、タッチスクリーン１０８は、入力部１０５と同様、ユーザからの指示入力を受け付ける。
【００５３】
なお、入力部１０５やタッチスクリーン１０８を介してユーザにより入力された指示に応じて、ＲＡＭ  １０３に一時的に記憶されたデータを適宜メモリカセット１０６に記憶することができる。
【００５４】
ＮＩＣ  １０９は、情報処理装置１００を図２に示すインターネット等のコンピュータ通信網４００に接続するためのものである。ＮＩＣ  １０９は、例えば、情報処理装置１００を無線でＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続する場合、ＩＥＥＥ  ８０２．１１などの規格に準拠するインターフェース（図示せず）により構成される。また、有線でＬＡＮに接続する場合は、１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５５】
ＮＩＣ  １０９を介してインターネット内のＳＮＴＰサーバに接続し、ここから情報を取得することによって現在の日時情報を得ることもできる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００５６】
図２に、イベント提示装置３００がコンピュータ通信網４００を介して配信サーバ２００に接続されている様子を示す。
【００５７】
配信サーバ２００は、コンピュータ通信網４００に接続されており、イベントの内容を配信するサーバである。本実施形態においては、配信サーバ２００は、野球中継中に発生したイベントの内容を表す文字列を配信するものとする。以下、本実施形態において、当該文字列をイベントの内容とする。配信サーバ２００は、イベントが発生するたびに、当該イベントの内容を表す文字列を配信する。
【００５８】
イベント提示装置３００は、情報処理装置１００のインターフェース１０４に、当該情報処理装置１００にイベント提示処理を実行させるためのプログラムが記憶されているメモリカセット１０６が装着されることにより実現される。イベント提示装置３００は、配信サーバ２００から配信されたイベントの内容を、コンピュータ通信網４００を介して受信する。
【００５９】
コンピュータ通信網４００は、インターネットなどの通信網であり、配信サーバ２００とイベント提示装置３００との通信を仲介する。
【００６０】
音声処理部１１０は、メモリカセット１０６から読み出した音声データをアナログ音声信号に変換し、音声処理部１１０に接続されたスピーカ１１２から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの制御中に発生させるべき効果音や音声データを生成し、これに対応した音声をスピーカ１１２から出力させる。
【００６１】
音声処理部１１０は、メモリカセット１０６に記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）変換を行って、スピーカ１１２などに出力することにより、音声出力が可能となる。
【００６２】
また、音声処理部１１０は、マイク１１１から入力されたアナログ信号を適当なサンプリング周波数でＡ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換を行い、ＰＣＭ形式のディジタル信号を生成する。
【００６３】
ＲＴＣ  １１３は、水晶振動子や発振回路などを備える計時用のデバイスである。ＲＴＣ  １１３は、内蔵電池から電源を供給され、情報処理装置１００の電源がオフのときでも動作し続ける。
【００６４】
このほか、情報処理装置１００はメモリカセット１０６に替えて、ＤＶＤ−ＲＯＭからプログラムやデータを読み出す、ＤＶＤ−ＲＯＭドライブを備えるように構成して、ＤＶＤ−ＲＯＭにメモリカセット１０６と同様の機能を持たせるようにしてもよい。また、インターフェース１０４は、メモリカセット１０６以外の外部メモリ媒体からデータを読み出すように構成してもよい。あるいは、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、メモリカセット１０６等と同じ機能を果たすように構成してもよい。
【００６５】
（イベント提示装置の構成）
次に、本実施形態のイベント提示装置３００の各部の構成について、図面を参照して説明する。図３は、本実施形態に係るイベント提示装置３００の構成を示す説明図である。イベント提示装置３００は、ユーザがゲームをプレイしている間、配信サーバ２００から配信されたイベントの内容をユーザに提示する装置である。本実施形態においては、イベント提示装置３００は、イベント内容をユーザに提示するための制御を、ゲーム制御とは独立して実行する。
【００６６】
図３に示すように、イベント提示装置３００は、記憶部３０１と、検知部３０２と、追加部３０３と、取出部３０４と、計算部３０５と、提示部３０６と、制御部３０７と、を備える。
【００６７】
記憶部３０１には、イベントの内容と、当該イベントが発生してから次のイベントが発生するまでの経過時間と、が対応付けられて記憶される。記憶部３０１は、メモリカセット１０６などにより実現される。
【００６８】
検知部３０２は、イベントの発生を検知する。本実施形態においては、検知部３０２が、配信サーバ２００から配信されたイベントの内容を受信したことを検知したことをもって、イベントの発生を検知したこととする。検知部３０２は、例えば、ＮＩＣ  １０９により実現される。
【００６９】
追加部３０３は、検知部３０２によりイベントの発生が検知される毎に、当該イベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を記憶部３０１に記憶させる。追加部３０３は、例えば、ＣＰＵ  １０１とＲＡＭ  １０３とＲＴＣ  １１３とにより実現される。
【００７０】
取出部３０４は、記憶部３０１から、先頭に記憶されている、つまり、最も早い時刻に記憶された、イベントの内容と経過時間とを取り出す。取出部３０４は、例えば、ＣＰＵ  １０１により実現される。
【００７１】
計算部３０５は、取り出された経過時間と、記憶部３０１に記憶されている全ての経過時間と、に基づいて、取出部３０４により取り出されたイベントの内容の提示時間を計算する。ここで、計算部３０５は、提示時間の平均値と、経過時間の平均値と、が一致するように、提示時間を計算する。計算部３０５は、例えば、ＣＰＵ  １０１により実現される。
【００７２】
提示部３０６は、計算部３０５により計算された提示時間で、取出部３０４により取り出されたイベントの内容をユーザに提示する。提示部３０６は、例えば、ＣＰＵ  １０１と画像処理部１０７とにより実現される。
【００７３】
制御部３０７は、提示部３０６によるイベントの内容の提示が完了すると、取出部３０４が次のイベントの内容と経過時間とを取り出すように制御する。制御部３０７は、例えば、ＣＰＵ  １０１により実現される。
【００７４】
（表示画面の説明）
ここで、図４を参照して、記憶部３０１に記憶されるイベント情報について説明する。
【００７５】
本実施形態においては、イベント情報は、イベント内容４０１と、経過時間４０２と、を含む。
【００７６】
イベント内容４０１は、発生したイベントの内容である。本実施形態においては、イベント内容４０１は、イベントの内容を表す文字列である。イベント内容４０１は、例えば、「試合が開始されました。」という文字列である。経過時間４０２は、イベントが発生してから（受信されてから）、次のイベントが発生するまで（受信されるまで）に経過した時間である。経過時間４０２は、例えば、時分秒により表される。イベント内容４０１と経過時間４０２とは、発生時刻が早いイベントから順に記憶部３０１に記憶される。
【００７７】
ここで、図５を参照して、追加部３０３がイベント情報を記憶部３０１に追加するタイミング（記憶部３０１に記憶するタイミング）と、取出部３０４がイベント情報を記憶部３０１から取り出すタイミング（記憶部３０１から削除するタイミング）と、について説明する。なお、本実施形態においては、記憶部３０１から初めてイベント情報が取り出されるのは、記憶部３０１に記憶されているイベント情報の個数が５個に達した後であるものとする。
【００７８】
まず、検知部３０２により１番目に発生したイベント（以下「ｎ番目に発生したイベント」のことを、適宜「イベントｎ」という。）が検知された場合、図５（Ａ）に示すように、イベント情報は、記憶部３０１に追加されない。そして、検知部３０２によりイベント２が検知された場合、図５（Ｂ）に示すように、イベント１のイベント情報（以下「イベントｎのイベント情報」のことを、適宜「イベント情報ｎ」という。）が、記憶部３０１に追加される。なお、イベント情報のうち、経過時間４０２は、次のイベントが検知されたときに確定し、イベント内容４０１は、次のイベントが検知される前に確定する。従って、イベント内容４０１、ならびに、当該イベントの発生時刻は、当該イベントが発生してから次のイベントが発生するまでの間、ＲＡＭ  １０３などの領域に一時的に記憶される。
【００７９】
以下、検知部３０２によりイベントが検知される毎に、検知されたイベントのイベント情報が、記憶部３０１に追加される。ここで、イベント６が検知された場合、図５（Ｃ）に示すように、イベント情報５が、記憶部３０１に追加され、イベント情報１が、記憶部３０１から取り出される。つまり、本実施形態においては、記憶部３０１に記憶されているイベント情報が、初めて５個に達した後、記憶部３０１から初めてイベント情報が取り出される。なお、イベント情報１が、記憶部３０１から取り出されると、イベント１の提示が開始される。
【００８０】
そして、イベント１の提示が終了した時に、イベント情報２が取り出され、イベント２の提示が開始される。その後、イベントの提示が終了する毎に、当該イベントの次に検知されたイベントの提示が開始される。
【００８１】
（イベント提示装置の動作）
次に、本実施形態に係るイベント提示装置３００の動作について、図面を参照して説明する。図６は、本実施形態に係るイベント提示装置３００が実行するイベント提示処理を示すフローチャートである。図６に示すイベント提示処理は、イベント提示装置３００の電源がオンしている間、継続して実行される処理である。
【００８２】
まず、ＣＰＵ  １０１は、イベント内容４０１が受信されたか否かを判別する（ステップＳ１０１）。ＣＰＵ  １０１は、例えば、ＮＩＣ  １０９から受信割り込みが発せられた場合に、イベント内容４０１が受信されたと判別し、当該受信割り込みが発せられなかった場合に、イベント内容４０１が受信されていないと判別する。
【００８３】
ＣＰＵ  １０１は、イベント内容４０１が受信されたと判別すると（ステップＳ１０１：ＹＥＳ）、受信されたイベント内容４０１と受信時刻とをＲＡＭ  １０３に記憶する（ステップＳ１０２）。
【００８４】
ＣＰＵ  １０１は、ステップＳ１０２の処理を終了すると、少なくとも１つのイベント内容４０１（もしくは、経過時間４０２）がメモリカセット１０６に記憶されているか否かを判別する（ステップＳ１０３）。ＣＰＵ  １０１は、少なくとも１つのイベント内容４０１（もしくは、経過時間４０２）がメモリカセット１０６に記憶されていると判別すると（ステップＳ１０３：ＹＥＳ）、直前に受信されたイベント内容４０１が受信されてから、当該イベント内容４０１が受信されるまでの経過時間４０２を算出する（ステップＳ１０４）。当該経過時間４０２は、ＲＡＭ  １０３に記憶されている、当該受信されたイベント内容４０１の受信時刻と、ＲＡＭ  １０３に記憶されている、直前に受信されたイベント内容４０１の受信時刻と、の時刻差である。
【００８５】
ＣＰＵ  １０１は、ステップＳ１０４の処理を終了すると、直前のイベント内容４０１と、ステップＳ１０４において算出された経過時間４０２と、を対応付けてメモリカセット１０６に追加（記憶）する（ステップＳ１０５）。
【００８６】
ＣＰＵ  １０１は、イベント内容４０１を受信していないと判別した場合（ステップＳ１０１：ＮＯ）、１つのイベント内容４０１（もしくは、経過時間４０２）もメモリカセット１０６に記憶されていないと判別した場合（ステップＳ１０３：ＮＯ）、もしくは、直前のイベント内容４０１と算出された経過時間４０２とを追加する処理（ステップＳ１０５）を完了した場合、イベント内容４０１が提示中であるか否かを判別する（ステップＳ１０６）。
【００８７】
ＣＰＵ  １０１は、イベント内容４０１が提示中であると判別すると（ステップＳ１０６：ＹＥＳ）、当該イベント内容４０１の提示が開始されてから、当該イベント内容４０１の提示時間を経過したか否かを判別する（ステップＳ１０７）。ＣＰＵ  １０１は、提示時間を経過していないと判別すると（ステップＳ１０７：ＮＯ）、ステップＳ１０１に処理を戻す。一方、ＣＰＵ  １０１は、提示時間を経過したと判別すると（ステップＳ１０７：ＹＥＳ）、イベント内容４０１の提示を終了する（ステップＳ１０８）。
【００８８】
ＣＰＵ  １０１は、イベント内容４０１を提示中ではないと判別した場合（ステップＳ１０６：ＮＯ）、もしくは、イベント内容４０１の提示（ステップＳ１０８）を終了した場合、イベント内容４０１と経過時間４０２とを取出済であるか否かを判別する（ステップＳ１０９）。
【００８９】
ＣＰＵ  １０１は、イベント内容４０１と経過時間４０２とを取出済ではないと判別すると（ステップＳ１０９：ＮＯ）、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上であるか否かを判別する（ステップＳ１１０）。本実施形態においては、当該所定の個数は、５個とする。ＣＰＵ  １０１は、記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上ではないと判別すると（ステップＳ１１０：ＮＯ）、ステップＳ１０１に処理を戻す。
【００９０】
ＣＰＵ  １０１は、イベント内容４０１と経過時間４０２とを取出済であると判別した場合（ステップＳ１０９：ＹＥＳ）、もしくは、記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上であると判別した場合（ステップＳ１１０：ＹＥＳ）、イベント内容４０１と経過時間４０２とをメモリカセット１０６から取り出す（ステップＳ１１１）。ここで、メモリカセット１０６に記憶された時刻が最も早いイベント内容４０１と経過時間４０２とがメモリカセット１０６から取り出される。
【００９１】
ＣＰＵ  １０１は、ステップＳ１１１の処理を終了すると、取り出されたイベント内容４０１の提示時間を算出する（ステップＳ１１２）。提示時間の算出方法については、後述する。ＣＰＵ  １０１は、ステップＳ１１２の処理を終了すると、ステップＳ１１２において算出された提示時間でステップＳ１１１で取り出されたイベント内容４０１が提示されるように、イベント内容４０１の提示を開始する（ステップＳ１１３）。ＣＰＵ  １０１は、イベント内容４０１の提示を開始する処理（ステップＳ１１３）を終了すると、ステップＳ１０１に処理を戻す。
【００９２】
ここで、図７を参照して、ＣＰＵ  １０１がどのようにして提示時間を算出するかについて説明する。
【００９３】
イベント番号は、イベント内容４０１が受信された順序を表す番号であり、受信された時刻が早いものから、１，２，３，・・・，ｎで表される。受信時刻は、イベント内容４０１が受信された時刻を表し、受信時刻が早いものから、ｔｒ１，ｔｒ２，ｔｒ３，・・・，ｔｒｎで表される。経過時間４０２は、イベント内容４０１が受信されてから、次のイベント内容４０１が受信されるまでに経過した時間であり、早い時刻に受信されたイベント内容４０１に対応するものから、Ｔｐ１，Ｔｐ２，Ｔｐ３，・・・，Ｔｐｎで表される。提示時間は、イベント内容４０１を提示する時間であり、早い時刻に提示されるイベント内容４０１に対応するものから、Ｔｄ１，Ｔｄ２，Ｔｄ３，・・・，Ｔｄｎで表される。提示開始時刻は、イベント内容４０１の提示を開始する時刻であり、提示開始時刻が早いものから、ｔｄ１，ｔｄ２，ｔｄ３，・・・，ｔｄｎで表される。
【００９４】
イベント番号が１のイベント（以下、適宜「イベント番号がｎのイベント」を「イベントｎ」という。）内容４０１（以下、適宜「イベントｎのイベント内容４０１」を「イベント内容ｎ」という。）が受信されると、イベント内容１とイベント内容１の受信時刻であるｔｒ１とがＲＡＭ  １０３に記憶される（ステップＳ１０２）。イベント内容２が受信されると、イベント内容２とイベント内容２の受信時刻であるｔｒ２とがＲＡＭ  １０３に記憶される（ステップＳ１０２）とともに、イベント内容１とイベント内容１の提示時間であるＴｐ１とが対応付けられて、メモリカセット１０６に記憶される（ステップＳ１０５）。以下、同様に、イベント内容（ｎ＋１）が受信されると、イベント内容（ｎ＋１）とイベント内容（ｎ＋１）の受信時刻であるｔｒ（ｎ＋１）とがＲＡＭ  １０３に記憶される（ステップＳ１０２）とともに、イベント内容ｎとイベント内容ｎの提示時間であるＴｐｎとが対応付けられて、メモリカセット１０６に記憶される（ステップＳ１０５）。
【００９５】
ここで、イベント内容６が受信されると、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）の個数が５個に達するため（ステップＳ１１０：ＹＥＳ）、イベント内容１の提示が開始される（ステップＳ１１１〜ステップＳ１１３）。つまり、イベント内容１の提示開始時刻であるｔｄ１は、イベント内容６の受信時刻であるｔｒ６の直後の時刻となる。ここで、イベント内容１の提示時間であるＴｄ１は、メモリカセット１０６から取り出された経過時間４０２であるＴｐ１と、メモリカセット１０６に記憶されている経過時間４０２であるＴｐ２〜Ｔｐ５と、の平均値となる。つまり、イベント内容１の提示時間であるＴｄ１は、Ｔｄ１＝（Ｔｐ１＋Ｔｐ２＋Ｔｐ３＋Ｔｐ４＋Ｔｐ５）／５、の計算式により求められる。
【００９６】
そして、イベント内容１の提示が終了すると、イベント内容２の提示が開始される。つまり、イベント内容２の提示開始時刻であるｔｄ２は、イベント内容１の提示開始時刻であるｔｄ１からイベント内容１の提示時間であるＴｄ１が経過した時刻の直後の時刻となる。ここで、イベント内容２の提示時間であるＴｄ２は、Ｔｄ２＝（Ｔｐ２＋Ｔｐ３＋Ｔｐ４＋Ｔｐ５＋Ｔｐ６）／５、の計算式により求められる。
【００９７】
以下、同様の手順により、あるイベント内容４０１の提示が終了する毎に、当該イベント内容４０１の次に受信されたイベント内容４０１の提示が開始される。この際、イベント内容４０１の提示時間は、メモリカセット１０６から取り出された経過時間４０２と、メモリカセット１０６に記憶されている経過時間４０２と、の平均値となる。このため、提示時間の平均値と、経過時間４０２の平均値と、がほぼ一致することになる。これにより、イベント内容４０１が受信されてから、当該イベント内容４０１が提示されるまでの遅延時間の増大が抑制されながらも、十分な提示時間が確保される。なお、提示時間の平均値と、経過時間４０２の平均値とは、完全に一致する必要はなく、ある程度近い値であればよい。
【００９８】
次に、図８を参照して、イベント提示装置３００によりユーザに提示されるイベント提示画面について説明する。
【００９９】
図８に、発生したイベント内容４０１をユーザに提示する画面であるイベント提示画面８００を示す。ここで、イベント提示画面８００は、文字列表示領域８１０を含む。イベント提示画面８００の、文字列表示領域８１０以外の領域には、ユーザが実行中のゲーム画面が表示される。そして、文字列表示領域８１０は、メモリカセット１０６から取り出されたイベント内容４０１である文字列が表示される。当該文字列は、例えば、提示が開始されてから終了するまでの間、時間経過とともに、文字列表示領域８１０の右側から左側にスクロールするように表示される。文字列表示領域８１０の固定位置に当該文字列が表示されるようにしてもよい。なお、文字列表示領域８１０の当該文字列の背景には、ゲーム画面が表示されてもよい。
【０１００】
本実施形態に係るイベント提示装置３００によれば、提示時間の平均値と、経過時間４０２の平均値と、が一致するように、イベント内容４０１の提示時間が計算される。このため、イベントが発生する時間間隔にばらつきがある場合でも、適切な提示時間でイベント内容４０１が提示される。また、本実施形態に係るイベント提示装置３００によれば、適当な個数のイベント内容４０１が蓄積された後に、イベント内容４０１の提示が開始される。このため、イベント内容４０１が提示されない空き時間の発生が防止され、連続的に効率よくイベント内容４０１が提示される。また、当該個数を調整することにより、イベントが発生してから提示されるまでの遅延時間と、イベント内容４０１の提示時間のばらつきと、のバランスを調整することが可能である。つまり、当該個数を少なくすると、イベントが発生してから提示されるまでの遅延時間を短くすることができ、当該個数を多くすると、イベント内容４０１の提示時間のばらつきを少なくすることができる。
【０１０１】
（第２の実施形態）
第１の実施形態のイベント提示装置３００は、イベント内容４０１が文字列として表示される例を示した。しかし、本発明によれば、配信されたイベント内容４０１に基づいて、ユーザがプレイ中のゲームを制御することにより、イベント内容４０１を提示することも可能である。以下、野球中継中に発生したイベント内容４０１に基づいて、ユーザがプレイ中の野球ゲームを制御する実施形態について説明する。
【０１０２】
（イベント提示装置の構成）
本実施形態のイベント提示装置３１０の各部の構成について、図面を参照して説明する。図９は、本実施形態に係るイベント提示装置３１０の構成を示す説明図である。イベント提示装置３１０は、ユーザが野球ゲームをプレイしている間に、配信サーバ２００から配信されたイベント内容４０１に基づいて、野球ゲームを制御することにより、配信されたイベント内容４０１をユーザに提示する装置である。本実施形態においては、イベント提示装置３１０は、イベント内容４０１をユーザに提示するための制御が、ゲーム制御に組み込まれて実行される。
【０１０３】
図９に示すように、イベント提示装置３１０は、記憶部３０１と、検知部３０２と、追加部３０３と、取出部３０４と、計算部３０５と、提示部３０６と、制御部３０７と、生成部３０８、を備える。
【０１０４】
記憶部３０１には、イベントの内容と、当該イベントが発生してから次のイベントが発生するまでの経過時間と、が対応付けられて記憶される。記憶部３０１は、メモリカセット１０６などにより実現される。
【０１０５】
検知部３０２は、イベントの発生を検知する。本実施形態においては、検知部３０２が、配信サーバ２００から配信されたイベントの内容を受信したことを検知したことをもって、検知部３０２が、イベントの発生を検知したこととする。検知部３０２は、例えば、ＮＩＣ  １０９により実現される。
【０１０６】
追加部３０３は、検知部３０２によりイベントの発生が検知される毎に、当該イベントの直前に発生したイベントの内容と、当該直前のイベントが発生してから当該イベントが発生するまでの経過時間と、を記憶部３０１に記憶させる。追加部３０３は、例えば、ＣＰＵ  １０１とＲＡＭ  １０３とＲＴＣ  １１３とにより実現される。
【０１０７】
取出部３０４は、記憶部３０１から、先頭に記憶されている、つまり、最も早い時刻に記憶された、イベントの内容と経過時間とを取り出す。取出部３０４は、例えば、ＣＰＵ  １０１により実現される。
【０１０８】
計算部３０５は、取り出された経過時間と、記憶部３０１に記憶されている全ての経過時間と、に基づいて、取出部３０４により取り出されたイベントの内容の提示時間を計算する。ここで、計算部３０５は、提示時間の平均値と、経過時間４０２の平均値と、が一致するように、提示時間を計算する。計算部３０５は、例えば、ＣＰＵ  １０１により実現される。
【０１０９】
生成部３０８は、計算部３０５により計算された提示時間で、取出部３０４により取り出されたイベントの内容をユーザに提示する提示画像を生成する。生成部３０８は、例えば、ＣＰＵ  １０１と画像処理部１０７とにより実現される。
【０１１０】
提示部３０６は、生成部３０８により生成された提示画像をユーザに提示する。提示部３０６は、例えば、ＣＰＵ  １０１と画像処理部１０７とにより実現される。
【０１１１】
制御部３０７は、提示部３０６によるイベントの内容の提示が完了すると、取出部３０４が次のイベントの内容と経過時間とを取り出すように制御する。制御部３０７は、例えば、ＣＰＵ  １０１により実現される。
【０１１２】
（イベント提示装置の動作）
次に、本実施形態に係るイベント提示装置３１０の動作について、図面を参照して説明する。図１０は、本実施形態に係るイベント提示装置３１０が実行するイベント提示処理を示すフローチャートである。図１０に示すイベント提示処理は、イベント提示装置３１０の電源がオンしている間、継続して実行される処理である。
【０１１３】
まず、ＣＰＵ  １０１は、イベント内容４０１が受信されたか否かを判別する（ステップＳ２０１）。ＣＰＵ  １０１は、例えば、ＮＩＣ  １０９から受信割り込みが発せられた場合に、イベント内容４０１が受信されたと判別し、当該受信割り込みが発せられなかった場合に、イベント内容４０１が受信されていないと判別する。
【０１１４】
ＣＰＵ  １０１は、イベント内容４０１が受信されたと判別すると（ステップＳ２０１：ＹＥＳ）、受信されたイベント内容４０１と受信時刻とをＲＡＭ  １０３に記憶する（ステップＳ２０２）。
【０１１５】
ＣＰＵ  １０１は、ステップＳ２０２の処理を終了すると、少なくとも１つのイベント内容４０１（もしくは、経過時間４０２）がメモリカセット１０６に記憶されているか否かを判別する（ステップＳ２０３）。ＣＰＵ  １０１は、少なくとも１つのイベント内容４０１（もしくは、経過時間４０２）がメモリカセット１０６に記憶されていると判別すると（ステップＳ２０３：ＹＥＳ）、直前に受信されたイベント内容４０１が受信されてから、当該イベント内容４０１が受信されるまでの経過時間４０２を算出する（ステップＳ２０４）。当該経過時間４０２は、ＲＡＭ  １０３に記憶されている、当該受信されたイベント内容４０１の受信時刻と、ＲＡＭ  １０３に記憶されている、直前に受信されたイベント内容４０１の受信時刻と、の時刻差である。
【０１１６】
ＣＰＵ  １０１は、ステップＳ２０４の処理を終了すると、直前のイベント内容４０１と、ステップＳ２０４において算出された経過時間４０２と、を対応付けてメモリカセット１０６に追加（記憶）する（ステップＳ２０５）。
【０１１７】
ＣＰＵ  １０１は、イベント内容４０１を受信していないと判別した場合（ステップＳ２０１：ＮＯ）、１つのイベント内容４０１（もしくは、経過時間４０２）もメモリカセット１０６に記憶されていないと判別した場合（ステップＳ２０３：ＮＯ）、もしくは、直前のイベント内容４０１と算出された経過時間４０２とを追加する処理（ステップＳ２０５）を完了した場合、イベント内容４０１が提示中であるか否かを判別する（ステップＳ２０６）。
【０１１８】
ＣＰＵ  １０１は、イベント内容４０１が提示中であると判別すると（ステップＳ２０６：ＹＥＳ）、当該イベント内容４０１の提示が開始されてから、当該イベント内容４０１の提示時間を経過したか否かを判別する（ステップＳ２０７）。ＣＰＵ  １０１は、提示時間を経過していないと判別すると（ステップＳ２０７：ＮＯ）、ステップＳ２０１に処理を戻す。一方、ＣＰＵ  １０１は、提示時間を経過したと判別すると（ステップＳ２０７：ＹＥＳ）、イベント内容４０１の提示を終了する（ステップＳ２０８）。
【０１１９】
ＣＰＵ  １０１は、イベント内容４０１を提示中ではないと判別した場合（ステップＳ２０６：ＮＯ）、もしくは、イベント内容４０１の提示（ステップＳ２０８）を終了した場合、イベント内容４０１と経過時間４０２とを取出済であるか否かを判別する（ステップＳ２０９）。
【０１２０】
ＣＰＵ  １０１は、イベント内容４０１と経過時間４０２とを取出済ではないと判別すると（ステップＳ２０９：ＮＯ）、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上であるか否かを判別する（ステップＳ２１０）。本実施形態においては、当該所定の個数は、５個とする。ＣＰＵ  １０１は、記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上ではないと判別すると（ステップＳ２１０：ＮＯ）、ステップＳ２０１に処理を戻す。
【０１２１】
ＣＰＵ  １０１は、記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上であると判別した場合（ステップＳ２１０：ＹＥＳ）、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上に達してから、所定の時間が経過したか否かを判別する（ステップＳ２１１）。本実施形態においては、当該所定の時間は、Ｔｃｏｍとする。ＣＰＵ  １０１は、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上に達してから、所定の時間が経過していないと判別すると（ステップＳ２１１：ＮＯ）、ステップＳ２０１に処理を戻す。
【０１２２】
ＣＰＵ  １０１は、イベント内容４０１と経過時間４０２とを取出済であると判別した場合（ステップＳ２０９：ＹＥＳ）、もしくは、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）が所定の個数以上に達してから、所定の時間が経過したと判別した場合（ステップＳ２１１：ＹＥＳ）、イベント内容４０１と経過時間４０２とをメモリカセット１０６から取り出す（ステップＳ２１２）。ここで、ＲＡＭ  １０３に記憶された時刻が最も早いイベント内容４０１と経過時間４０２とがＲＡＭ  １０３から取り出される。
【０１２３】
ＣＰＵ  １０１は、ステップＳ２１２の処理を終了すると、取り出されたイベント内容４０１の提示時間を算出する（ステップＳ２１３）。提示時間の算出方法については、後述する。ＣＰＵ  １０１は、ステップＳ２１３の処理を終了すると、ステップＳ２１３において算出された提示時間でステップＳ２１２で取り出されたイベント内容４０１を提示する提示画像を生成する（ステップＳ２１４）。ＣＰＵ  １０１は、ステップＳ２１３の処理を終了すると、ステップＳ２１３において生成された提示画像による、イベント内容４０１の提示を開始する（ステップＳ２１５）。ＣＰＵ  １０１は、イベント内容４０１の提示を開始する処理（ステップＳ２１５）を終了すると、ステップＳ２０１に処理を戻す。
【０１２４】
ここで、図１１を参照して、ＣＰＵ  １０１がどのようにして提示時間を算出するかについて説明する。
【０１２５】
イベント番号は、イベント内容４０１が受信された順序を表す番号であり、受信された時刻が早いものから、１，２，３，・・・，ｎで表される。受信時刻は、イベント内容４０１が受信された時刻を表し、受信時刻が早いものから、ｔｒ１，ｔｒ２，ｔｒ３，・・・，ｔｒｎで表される。経過時間４０２は、イベント内容４０１が受信されてから、次のイベント内容４０１が受信されるまでに経過した時間であり、早い時刻に受信されたイベント内容４０１に対応するものから、Ｔｐ１，Ｔｐ２，Ｔｐ３，・・・，Ｔｐｎで表される。提示時間は、イベント内容４０１を提示する時間であり、早い時刻に提示されるイベント内容４０１に対応するものから、Ｔｄ１，Ｔｄ２，Ｔｄ３，・・・，Ｔｄｎで表される。提示開始時刻は、イベント内容４０１の提示を開始する時刻であり、提示開始時刻が早いものから、ｔｄ１，ｔｄ２，ｔｄ３，・・・，ｔｄｎで表される。ここで、Ｔｃｏｎは、メモリカセット１０６に所定の個数（本実施形態においては、５個）のイベント内容４０１（もしくは、経過時間４０２）が初めて記憶されてから、イベント内容４０１の提示が初めて開始されるまでの時間である。
【０１２６】
イベント番号が１のイベント（以下、適宜「イベント番号がｎのイベント」を「イベントｎ」という。）内容４０１（以下、適宜「イベントｎのイベント内容４０１」を「イベント内容ｎ」という。）が受信されると、イベント内容１とイベント内容１の受信時刻であるｔｒ１とがＲＡＭ  １０３に記憶される（ステップＳ２０２）。イベント内容２が受信されると、イベント内容２とイベント内容２の受信時刻であるｔｒ２とがＲＡＭ  １０３に記憶される（ステップＳ２０２）とともに、イベント内容１とイベント内容１の提示時間であるＴｐ１とが対応付けられて、メモリカセット１０６に記憶される（ステップＳ２０５）。以下、同様に、イベント内容（ｎ＋１）が受信されると、イベント内容（ｎ＋１）とイベント内容（ｎ＋１）の受信時刻であるｔｒ（ｎ＋１）とがＲＡＭ  １０３に記憶される（ステップＳ２０２）とともに、イベント内容ｎとイベント内容ｎの提示時間であるＴｐｎとが対応付けられて、メモリカセット１０６に記憶される（ステップＳ２０５）。
【０１２７】
ここで、イベント内容６が受信されると、メモリカセット１０６に記憶されているイベント内容４０１（もしくは、経過時間４０２）の個数が５個に達する（ステップＳ２１０：ＹＥＳ）。そして、メモリカセット１０６に記憶されているイベント内容４０１の個数が５個に達してから、Ｔｃｏｎの時間が経過すると、イベント内容１の提示が開始される（ステップＳ２１２〜ステップＳ２１５）。つまり、イベント内容１の提示開始時刻であるｔｄ１は、イベント内容６の受信時刻であるｔｒ６からＴｃｏｎの時間が経過した時刻となる。ここで、イベント内容１の提示時間であるＴｄ１は、メモリカセット１０６から取り出された経過時間４０２であるＴｐ１と、メモリカセット１０６に記憶されている経過時間４０２であるＴｐ２〜Ｔｐ６と、の重み付き平均値となる。つまり、イベント内容１の提示時間であるＴｄ１は、ｋ１＞ｋ２＞ｋ３＞ｋ４＞ｋ５＞ｋ６として、Ｔｄ１＝（ｋ１×Ｔｐ１＋ｋ２×Ｔｐ２＋ｋ３×Ｔｐ３＋ｋ４×Ｔｐ４＋ｋ５×Ｔｐ５＋ｋ６×Ｔｐ６）／（ｋ１＋ｋ２＋ｋ３＋ｋ４＋ｋ５＋ｋ６）、の計算式により求められる。
【０１２８】
そして、イベント内容１の提示が終了すると、イベント内容２の提示が開始される。つまり、イベント内容２の提示開始時刻であるｔｄ２は、イベント内容１の提示開始時刻であるｔｄ１からイベント内容１の提示時間であるＴｄ１が経過した時刻の直後の時刻となる。ここで、イベント内容２の提示時間であるＴｄ２は、ｋ２＞ｋ３＞ｋ４＞ｋ５＞ｋ６として、Ｔｄ２＝（ｋ２×Ｔｐ２＋ｋ３×Ｔｐ３＋ｋ４×Ｔｐ４＋ｋ５×Ｔｐ５＋ｋ６×Ｔｐ６）／（ｋ２＋ｋ３＋ｋ４＋ｋ５＋ｋ６）、の計算式により求められる。
【０１２９】
以下、同様の手順により、あるイベント内容４０１の提示が終了する毎に、当該イベント内容４０１の次に受信されたイベント内容４０１の提示が開始される。この際、イベント内容４０１の提示時間は、メモリカセット１０６から取り出された経過時間４０２と、メモリカセット１０６に記憶されている経過時間４０２と、の重み付き平均値となる。このため、提示時間の平均値と、経過時間４０２の平均値と、が一致することになる。また、早い時刻に受信されたイベント内容４０１に対応付けられた経過時間４０２が重視されて、提示時間が算出されるため、第１の実施形態と比べると、経過時間４０２と、当該経過時間４０２に対応する提示時間と、の差が小さくなる。このため、イベント内容４０１が配信される間隔が、イベント内容４０１に依存するような場合、過度にイベント内容４０１の提示時間を調整することが防止される。
【０１３０】
例えば、配信サーバ２００が、ある打席に関するイベントを表すイベント内容４０１を配信する場合において、投球の度にイベント内容４０１を配信する場合と、当該打席の最終結果のみを表すイベント内容４０１を配信する場合とが考えられる。例えば、前者では、「投手が第一球を投げた」、「打者が第一球を空振りした」、「投手が第二球を投げた」、「打者が第二球をセンター前に打った」という複数のイベント内容４０１が配信され、後者では、「打者が第二球をセンター前に打った」という１つのイベント内容４０１のみが配信される。このような場合、全てのイベント内容４０１の提示時間を均一にするのではなく、イベント内容４０１の配信間隔に近い提示時間でイベント内容４０１が提示されることが望ましい。
【０１３１】
次に、図１２を参照して、イベント提示装置３１０によりユーザに提示されるイベント提示画面について説明する。
【０１３２】
図１２に、発生したイベント内容４０１をユーザに提示する画面であるイベント提示画面８２０を示す。ここで、イベント提示画面８２０は、ユーザがプレイ中の野球ゲームのゲーム画面であり、文字列表示領域８１０を含まない。イベント提示画面８２０は、ステップＳ２１４により生成された提示画像が表示された画面である。図１２には、イベント提示画面８２０に、投手８２１と打者８２２とが表示されている例を示している。ここで、メモリカセット１０６から取り出されたイベント内容４０１が、「投手が第一球を投げた」ことを表す内容である場合、投手８２１が打者８２２に向かって球を投げる様子を表す画像が、イベント提示画面８２０に提示される。つまり、本実施形態においては、配信されたイベント内容４０１が、ユーザのプレイ中のゲームの制御に組み込まれて、当該イベント内容４０１が提示される。これにより、配信されたイベント内容４０１に従って、中継されている野球の試合の様子の一部、又は、全部が再現される。なお、当該イベント提示装置３１０において、野球選手がとった行動の全てを、ゲーム上のキャラクタに全て実行させるようにゲームを制御することにより、野球の試合の様子を再現することができる。また、当該イベント提示装置３１０において、配信されたイベント内容４０１により表される、投手が実際に投げた球種を、ゲーム上のコンピュータ側の投手が投げる球種となるようにゲームを制御することもできる。
【０１３３】
本実施形態に係るイベント提示装置３１０によれば、提示時間の平均値と、経過時間４０２の平均値と、が一致するように、イベント内容４０１の提示時間が計算される。このため、イベントが発生する時間間隔にばらつきがある場合でも、適切な提示時間でイベント内容４０１が提示される。また、本実施形態に係るイベント提示装置３１０によれば、適当な個数のイベント内容４０１が蓄積されてから、さらに適当な時間が経過した後に、イベント内容４０１の提示が開始される。このため、イベント内容４０１が提示されない空き時間の発生が防止され、連続的に効率よくイベント内容４０１が提示される。また、当該時間を調整することにより、イベントが発生してから提示されるまでの遅延時間と、イベント内容４０１の提示時間のばらつきと、のバランスを調整することが可能である。つまり、当該時間を短くすると、イベントが発生してから提示されるまでの遅延時間を短くすることができ、当該時間を長くすると、イベント内容４０１の提示時間のばらつきを少なくすることができる。
【０１３４】
また、本実施形態においては、配信されたイベント内容４０１が、動画によりユーザに提示される。このため、配信されるイベント内容４０１が、文字列のように情報量が少ない情報であっても、発生したイベントをリアルに再現することができる。また、本実施形態においては、イベント内容４０１の提示時間は、メモリカセット１０６から取り出された経過時間４０２と、メモリカセット１０６に記憶されている経過時間４０２と、の重み付き平均値となる。このため、過度にイベント内容４０１の提示時間を調整されることが防止される。
【０１３５】
（変形例）
第１の実施形態においては、文字列によりイベント内容４０１が提示される例を示し、第２の実施形態においては、動画によりイベント内容４０１が提示される例を示した。しかし、イベント内容４０１は、文字列や動画以外、例えば、音声により、ユーザに提示されてもよい。
【０１３６】
第１、２の実施形態においては、イベント内容４０１を表す文字列が配信される例を示した。しかし、配信されるイベント内容４０１は、文字列でなく、動画、静止画、音声、などであってもよい。なお、配信されるイベント内容４０１が、動画や音声によって表される場合、算出された提示時間に合わせて、配信された動画や音声を伸長もしくは短縮することで提示時間を調整することができる。
【産業上の利用可能性】
【０１３７】
以上説明したように、本発明によれば、断続的に発生するイベントを適切に提示するのに好適なイベント提示装置、イベント提示方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。
【符号の説明】
【０１３８】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  入力部
１０６  メモリカセット
１０７  画像処理部
１０８  タッチスクリーン
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１１２  スピーカ
１１３  ＲＴＣ
２００  配信サーバ
３００、３１０  イベント提示装置
３０１  記憶部
３０２  検知部
３０３  追加部
３０４  取出部
３０５  計算部
３０６  提示部
３０７  制御部
３０８  生成部
４００  コンピュータ通信網
４０１  イベント内容
４０２  経過時間
８００、８２０  イベント内容提示画面
８１０  文字列表示領域
８２１  投手
８２２  打者
【図１】
2011142536.tif 000003
【図２】
2011142536.tif 000004
【図３】
2011142536.tif 000005
【図４】
2011142536.tif 000006
【図５】
2011142536.tif 000007
【図６】
2011142536.tif 000008
【図７】
2011142536.tif 000009
【図８】
2011142536.tif 000010
【図９】
2011142536.tif 000011
【図１０】
2011142536.tif 000012
【図１１】
2011142536.tif 000013
【図１２】
2011142536.tif 000014