以下、本発明に係るチャット端末装置、チャットシステム、チャット表示方法、及びチャット表示プログラムの実施形態を図面に基づいて説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
[第1実施形態]
図1は、第1実施形態に係るチャットシステム100の一例を示すブロック図である。図1に示すチャットシステム100は、例えば野球等のスポーツ競技において、試合内容に関するチャットを行う場合に用いられる。このチャットシステム100を用いることにより、例えば試合に参加又は直接観戦できない者であっても試合状況を把握することができるように、チャットを用いて試合状況等を知らせることが可能である。以下、スポーツ競技として野球を例に挙げて説明するが、これに限定されるものではなく、サッカー、バレーボール、テニス、バドミントン等、他のスポーツ競技においても同様の説明が可能である。また、チャットシステム100は、例えばダンス大会(舞踊競技)、ピアノコンクール(演奏競技)、かるた大会(カード競技又はテーブルゲーム競技)、カラオケ大会(歌唱競技)等のスポーツ以外の競技にも適応可能である。
図1に示すように、チャットシステム100は、カメラ10と、スコア入力部20と、サーバ30と、チャット端末装置40、40Aとを備える。カメラ10は、例えば試合場において試合内容を撮影する。カメラ10で撮影した映像データは、例えばサーバ30に送信され、サーバ30において管理される。カメラ10は、1台であっても複数台であってもよい。また、カメラ10は、映像データを撮影可能であればよく、例えば携帯電話やスマートフォン等に付属のカメラ等であってもよい。カメラ10は、映像データを撮影した場合、撮影時刻を示すデータを映像データに含ませる。
スコア入力部20は、試合の状況を示す試合状況データをサーバ30に入力する。本実施形態では、野球の試合の状況を示す試合状況データとして、例えばスコアデータが挙げられる。スコアデータは、野球のスコアブックに記載されるスコアを構成するデータであり、投手の投球を起点とした一連のイベントを構成する個々のイベントである。スコアは、スコアデータの集合である。したがって、投手が1球投げるごとに複数のスコアデータが作成され、これにより1つのスコアが作成される。例えば、1塁に出塁している状態での打撃結果がライトフライアウトになって1塁走者もタッチアウトになった場合、打者がアウトというスコアデータと、ライトフライというスコアデータと、1塁走者がアウトというスコアデータが作成され、これらのスコアデータから1つのスコアが構成されることになる。
スコアには、上記に例示したスコアデータの他にも、打者のアクション、野手のアクション、カウントの確定、既に出塁している走者がいる場合はその走者の進塁状況、その他、打者や野手のその他の行動などのスコアデータが含まれ得る。具体的には、スコアには、ストライク、ボール、ファウル、打撃結果、打球の種類、捕球野手、進塁結果などのスコアデータが含まれ得る。打撃結果は、アウト、1塁打、2塁打、3塁打、本塁打などの情報である。打球の種類は、ゴロ、ライナー、フライ、バントなどの情報であり、さらに細かく分類してもよい。捕球野手は、実際に打球を捕球した野手または野手の守備位置を特定するための情報である。進塁結果は、たとえば「1塁から2塁」など、出塁していた走者の進塁に関する情報であり、その他に打者や野手のその他の行動などを含めることができる。
スコア入力部20としては、例えば上記のスコアデータを電子データとしてサーバ30に入力するアプリケーション等が挙げられる。この場合、スコア入力部20は、サーバ30の外部に設置されるパーソナルコンピュータ等の処理装置に設けられてもよい。また、スコア入力部20は、サーバ30に設けられてもよい。なお、本実施形態において、スコア入力部20は、設けられなくてもよい。
サーバ30は、チャットシステム100を統括的に管理する。サーバ30は、チャットシステム100の管理を行うための各種アプリケーション、データ、プログラム等を有する。サーバ30としては、例えばパーソナルコンピュータ、ワークステーション等が用いられるが、これに限定されない。
サーバ30においては、複数のチャットグループが設定されている。チャットグループは、例えば競技ごと、試合ごと、又はチームごとに個別に設定されている。サーバ30は、チャットグループ毎に、以下説明する各種処理を行う。
サーバ30には、カメラ10により撮影された映像データと、試合に対応したチャットの内容を示すチャットデータとが入力される。サーバ30は、入力された映像データ及びチャットデータを保存する。サーバ30が映像データ及びチャットデータを保存することにより、当該映像データ及びチャットデータがサーバ30にアップロードされる。サーバ30は、チャットデータを保存した場合、当該チャットデータを保存した時刻(以下、アップロード時刻と表記する)のデータをチャットデータにそれぞれ含ませる。つまり、サーバ30にアップロードされたチャットデータは、アップロード時刻のデータを含んでいる。サーバ30は、映像データ及びチャットデータを管理する管理アプリケーションを有する。
また、サーバ30には、スコア入力部20からスコアデータが入力されてもよい。この場合、サーバ30は、入力されたスコアデータに基づいてチャットデータを生成し、当該チャットデータを保存してもよい。例えば、サーバ30は、新たなスコアデータが入力される度に、当該スコアデータの内容を文字等で表したチャットデータを生成可能である。これにより、スコアデータが更新される場合に、更新されたスコアデータをチャットの情報として確認することが可能となる。
チャット端末装置40、40Aは、入力部41と、表示部42と、通信部43と、記憶部44と、制御部45とを有している。入力部41、表示部42、通信部43、記憶部44及び制御部45は、例えばバスライン等を介して接続されている。チャット端末装置40としては、例えば携帯電話、スマートフォン、タブレット、ノート型パーソナルコンピュータ等の携帯型情報端末が挙げられる。
入力部41は、チャットデータ等の情報を入力するための所定の入力操作が可能である。入力部41は、入力操作に応じて、制御部45に対する指示信号を出力する。入力部41としては、例えばタッチパネル等の入力装置が用いられる。なお、入力部41として、タッチパネルに加えて又はタッチパネルに代えて、ボタン、レバー、ダイヤル、スイッチ又は他の入力装置が用いられてもよい。入力部41は、所定の入力操作に応じた指示信号を出力する。表示部42は、文字及び画像を含む各種情報を表示する。表示部42は、液晶パネル等の表示パネルを有する。表示部42は、映像を含む情報を表示可能である。
図2は、本実施形態に係るチャット端末装置40の入力部41及び表示部42の一例を示す図である。図2に示すように、チャット端末装置40は、例えばタッチパネル型の入力部41及び表示部42を有している。つまり、表示部42である表示パネルに入力部41であるタッチパネルが重ねて配置されている。
表示部42には、例えば映像表示領域42aと、チャット表示領域42bと、グループ表示領域42gとが表示されている。映像表示領域42aには、映像データが表示される。なお、映像表示領域42aには、映像データの再生時刻を指定するためのスクロールバー等が表示されてもよい。
チャット表示領域42bには、チャットデータが表示される。例えば、チャット表示領域42bには、サーバ30で生成されたチャットデータであるサーバメッセージ88や、チャット端末装置40とは異なる他のチャット端末装置40Aで入力されたチャットデータである他者メッセージ89、チャット端末装置40で入力されたチャットデータである自己メッセージ90等が表示される。サーバメッセージ88は、例えばサーバ30に入力されたスコアデータの内容を文字により示したものである。図2の上側のサーバメッセージ88aは、例えば8回裏に打者007がセンター前ヒットを打った、という内容である。また、図2の下側のサーバメッセージ88bは、8回裏に打者008が三振した、という内容である。
なお、サーバメッセージ88及び他者メッセージ89は、例えばチャット表示領域42bの左側の領域に表示される。また、自己メッセージ90は、例えばチャット表示領域42bの右側の領域に表示される。また、サーバメッセージ88と他者メッセージ89とは、例えばメッセージが表示される枠の種類が異なるなど、区別して表示してもよい。これにより、サーバメッセージ88と他者メッセージ89とを識別可能となる。グループ表示領域42gには、チャット端末装置40の操作者の属するグループの情報が表示される。また、サーバメッセージ88、他者メッセージ89及び自己メッセージ90は、吹き出し等の枠内に表示される。この吹き出しは、例えば文字数が多いほどチャット表示領域42b内の左右及び上下に大きく表示される。
入力部41は、タッチパネルの表面のうち所定の領域に対してタッチ操作、スクロール操作等の操作が行われた場合、操作が行われた領域の位置情報及び操作内容を含む所定の指示信号を出力する。当該位置情報は、例えば表示部42の位置に対応して設定されている。なお、入力部41及び表示部42の構成は、上記構成に限定するものではない。
通信部43は、有線又は無線によって外部機器との間で情報の通信を行う。通信部43は、例えば外部のサーバ30との間で映像データ、チャットデータ、スコアデータ等の送受信を行う。
記憶部44は、例えばハードディスクドライブ、ソリッドステートドライブ等のストレージを有している。なお、記憶部44として、リムーバブルディスク等の外部記憶媒体が用いられてもよい。記憶部44は、チャット端末装置40のオペレーティングシステムや、入力部41、表示部42及び通信部43の動作を制御するための各種プログラム、チャットを行うためのチャットアプリケーション、各種プログラム、及びデータ等を記憶する。例えば、記憶部44は、表示部42に表示させる映像表示領域42a、チャット表示領域42b、グループ表示領域42g等のフレームデータ等が記憶されてもよい。
また、記憶部44は、スポーツ競技の試合を撮影した映像データと、試合に対応したチャットの内容を示すチャットデータとがアップロードされるサーバから映像データ及びチャットデータを取得する処理と、取得された映像データ及びチャットデータを、映像データが撮影された撮影時刻とチャットデータに対して所定の処理が行われた処理時刻とで対応付けて記憶部44に記憶させる処理と、記憶部44に記憶された映像データ及びチャットデータを表示部42の異なる領域に表示させ、表示部42に表示されたチャットデータの1つが入力部41によって指定された場合に、指定されたチャットデータの処理時刻に基づく表示開始時刻からの映像データを表示部42に表示させる処理とをコンピュータに実行させるチャット表示プログラムを記憶する。
また、記憶部44は、スポーツ競技の試合を撮影した映像データと、試合に対応したチャットの内容を示すチャットデータとがアップロードされるサーバから映像データ及びチャットデータを取得する処理と、取得された映像データ及びチャットデータを、映像データが撮影された撮影時刻とチャットデータに対して所定の処理が行われた処理時刻とで対応付けて記憶部44に記憶させる処理と、記憶部44に記憶された映像データ及びチャットデータを表示部42の異なる領域に表示させると共に、記憶部44に記憶されたチャットデータの処理時刻の範囲を示すスクロールバーのバー本体とバー本体に沿って移動可能であり表示部42に表示されているチャットデータの処理時刻を示すスライダとを表示部42に表示させ、入力部によりスライダの位置が変更された場合に、変更後のスライダの位置に対応する処理時刻のチャットデータを表示部42に表示させる処理とをコンピュータに実行させるチャット表示プログラムを記憶する。
記憶部44は、映像データ記憶部51と、チャットデータ記憶部52と、同期データ記憶部53とを有する。
映像データ記憶部51は、通信部43で受信した映像データを記憶する。映像データは、野球の試合について撮影された試合の映像を示すデータを含む。映像データは、試合の映像を撮影した撮影時刻に対応付けられている。映像データ記憶部51は、複数の映像データを記憶することができる。
チャットデータ記憶部52は、通信部43で受信したチャットデータを記憶する。図3は、チャットデータ記憶部52に記憶されるチャットデータの一例を示す図である。図3に示すように、チャットデータは、入力ID75と、入力者ID76と、入力内容77と、タグ情報78とを含む。
入力ID75は、チャットデータがサーバ30に入力又は生成される毎に1つ作成される。入力者ID76は、1つのチャットデータにおける入力者を識別する情報である。例えば、サーバ30によって生成されたチャットデータの場合、入力者ID76は所定の値(例えば「999」等)としてもよい。入力内容77は、チャット表示領域42bに表示されるメッセージの内容を示す情報である。入力内容77は、例えば文字データ又は所定のイラストデータを含む。タグ情報78は、入力ID75毎に作成されるチャットデータを識別する情報である。タグ情報78は、入力ID75が作成される毎に1つ作成される。タグ情報78は、インデックスとしてタグ番号(TC0054、TC0055、…)が昇順で付与される。なお、入力ID75のID番号をタグ情報として用いてもよい。
同期データ記憶部53は、スコアデータとチャットデータとを対応付ける同期データを記憶する。図4は、同期データ記憶部53に記憶される同期データの一例を示す図である。図4に示すように、同期データは、タグ情報79及び処理時刻情報80を有している。タグ情報79は、上記のチャットデータのタグ情報78に対応する情報である。タグ情報79は、処理時刻情報80に沿った順序で配置される。タグ情報79は、例えば対応するタグ情報78と同一のタグ番号(TC0054、TC0055、…TC0061)が付与されているが、これに限定されるものではない。処理時刻情報80は、タグ情報79に対応付けられる情報であり、チャットデータの処理時刻を示す情報である。チャットデータの処理時刻は、例えばチャットデータがサーバ30にアップロードされたアップロード時刻とすることができる。また、チャットデータの処理時刻は、チャットデータの入力が開始された入力開始時刻とすることができる。タグ情報79及び処理時刻情報80により、映像データとチャットデータとが、撮影時刻と処理時刻とに基づいて、対応付けられて記憶されることになる。
制御部45は、入力部41、表示部42及び通信部43の各部の制御を行う。また、制御部45は、入力部41による指示信号に応じた演算、処理等を行う。制御部45は、CPU(Central Processing Unit)等の処理装置や、RAM(Random Access Memory)、ROM(Read Only Memory)等の記憶装置を有している。制御部45は、データ取得制御部54と、記憶制御部55と、表示制御部56とを有する。
データ取得制御部54は、通信部43を介してサーバ30にアクセスし、サーバ30にアップロードされている映像データ及びチャットデータを取得する。
記憶制御部55は、取得した映像データ及びチャットデータを、撮影時刻と処理時刻とに基づいて、対応付けて記憶部44に記憶させる。例えば、記憶制御部55は、取得したチャットデータのタグ情報78を処理時刻の時系列順に配置してタグ情報79とする。記憶制御部55は、タグ情報79に対応する処理時刻情報80を、取得した映像データの撮影時刻と対応付けて記憶する。
表示制御部56は、表示部42に表示される表示内容を制御する。表示制御部56は、記憶部44に記憶される映像データに基づいて、映像表示領域42aの表示内容を制御する。例えば記憶部44に複数の映像データが記憶されている場合、入力部等で選択された映像データを映像表示領域42aに表示させる。また、表示制御部56は、映像表示領域42aに再生時刻を指定するためのスクロールバーが表示される場合、スクロールバーで指定された再生時刻からの映像データを映像表示領域42aに表示させる。
また、表示制御部56は、記憶部44に記憶されるチャットデータに基づいて、チャット表示領域42bの表示内容を制御する。表示制御部56は、チャットデータをチャット表示領域42bに表示する際、当該チャット表示領域42bに表示可能な数のチャットデータをアップロード時刻に基づいて時系列で一方向に並べて表示する。本実施形態では、例えば図2に示すように、チャットデータが時系列でチャット表示領域42bの図中の上方から下方に並んで表示される。
また、表示制御部56は、サーバ30から新たなチャットデータが取得されて記憶部44に記憶された場合、記憶部44に記憶された最新のチャットデータに基づいてチャット表示領域42bの表示内容を更新する。この場合、表示制御部56は、チャット表示領域42bにおいて時系列的に直近に表示されたチャットデータの下方に新たなチャットデータを表示させるスペースがあるか否かを判断する。新たなチャットデータを表示させるスペースがある場合、表示制御部56は、当該スペースに新たなチャットデータを表示させる。また、新たなチャットデータを表示させるスペースが無い場合、表示制御部56は、チャット表示領域42bに表示されている中で時系列的に最も古いチャットデータ、つまり、チャット表示領域42bに表示される最も上側のチャットデータを、チャット表示領域42bの上方に押し出す方向にチャット表示領域42b全体をスクロールさせる。そして、表示制御部56は、スクロールによって空いた下部のスペースに新たなチャットデータを表示させる。これにより、表示制御部56は、サーバ30に新たなチャットデータがアップロードされ、記憶部44に記憶される毎に、チャット表示領域42bに表示されるチャットデータをリアルタイムで更新することが可能である。
また、表示制御部56は、記憶部44に記憶される過去のチャットデータに基づいて、チャット表示領域42bの表示内容を制御可能である。例えば、操作者が入力部(タッチパネル)41のチャット表示領域42b内をタッチした状態でタッチ位置を上方又は下方にスライドさせる場合、つまり、チャット表示領域42bを手動でスクロールさせる操作を行う場合、表示制御部56は、スクロール方向及びスクロール量に応じて、チャット表示領域42bに表示させるチャットデータを変更する。例えば、操作者が当該タッチ位置を上方にスライドさせた場合には、それまで表示されていたチャットデータよりも時間的に後にアップロードされたチャットデータがチャット表示領域42bに表示される。また、操作者が当該タッチ位置を下方にスライドさせた場合には、それまで表示されていたチャットデータよりも時間的に前にアップロードされたチャットデータがチャット表示領域42bに表示される。なお、チャット表示領域42bに表示されるチャットデータを変更する手法は上記に限定されず、例えばボタンやキーボード、マウス等、他の手法により行ってもよい。
また、本実施形態において、表示制御部56は、チャット表示領域42bに表示されたチャットデータのうち、入力部41により1つのチャットデータが指定された場合に、指定されたチャットデータの処理時刻に対応する撮影時刻に基づく時刻(表示開始時刻)からの映像データを映像表示領域42aに表示させることができる。
この場合、表示制御部56は、指定されたチャットデータの処理時刻を同期データ記憶部53から検出し、検出した処理時刻から第1時間を遡った時刻を表示開始時刻として設定する。
図5は、試合における時間の流れを模式的に示す図である。試合中に1塁打、2塁打等の打撃結果があった場合には、図5に示すように、投手が投球し(時刻t0)、打者が打撃及び走塁を行い、例えば1塁、2塁等に進塁することにより打撃結果が確定する(時刻t1)。したがって、リアルタイムで試合を観戦する観戦者が「ヒットを打った」「2塁打を打った」等の打撃結果をチャットデータとして入力する場合、チャットデータの処理時刻は打撃結果が確定した後の時刻(時刻tc)となる。
そこで、本実施形態において、表示制御部56は、処理時刻tcから第1時間P1を遡った表示開始時刻(時刻tp)を設定することにより、打撃結果に関する一連の場面が始まる時刻又はその時刻に近い時刻から表示データを表示させることができる。第1時間P1は、予め設定しておいてもよいし、表示制御部56が第1時間P1を設定してもよい。
例えば、表示制御部56は、例えばチャットデータの容量が大きいほど第1時間P1を長く設定してもよい。チャットデータの容量が大きい場合、つまり、チャットに含まれる文字数等が多い場合には、チャットデータの入力時間が長くなり、打撃結果が確定してからチャットがアップロードされるまでの時間が長くなると考えられる。そこで、表示制御部56は、チャットデータの容量が大きいほど、打撃結果が確定してからチャットがアップロードされるまでの時間が長いと判断し、第1時間P1を長く設定する。なお、この場合に設定する第1時間の長さについては、スポーツ競技の種類等に応じて適宜変更することができる。
また、操作者が第1時間P1を任意に設定可能としてもよい。例えば、表示制御部56は、チャットデータが指定される場合、タッチされた吹き出しの位置に応じて第1時間をP1設定してもよい。図6は、チャットデータの吹き出しの一例を示す図である。図6に示す例では、吹き出し87が3分割され、図中の左側の第1領域87a、図中の中央の第2領域87b、及び図中の右側の第3領域87cが設定されている。表示制御部56は、操作者が第1領域87aをタッチした場合、第2領域87bをタッチした場合、第3領域87cをタッチした場合について、それぞれ異なる第1時間P1が設定されるようにすることができる。例えば、表示制御部56は、第3領域87c、第2領域87b、第1領域87aの順に第1時間P1が大きくなるように設定してもよいし、逆にこの順で第1時間P1が小さくなるように設定してもよい。
また、例えばサーバ30が、入力されたスコアデータに基づいてチャットデータを生成し、当該チャットデータを保存する構成の場合、スコアデータが生成又は保存される時刻は、上記同様に打撃結果が確定した後の時刻となる。そこで、表示制御部56は、表示開始時刻を設定する場合、指定されたチャットデータの処理時刻を検出し、当該処理時刻から遡って直近の処理時刻となるサーバメッセージ(サーバ30で生成されたチャットデータ)を検出し、当該サーバメッセージの処理時刻を表示開始時刻として設定してもよい。
また、表示制御部56は、表示開始時刻を設定した後、表示開始時刻から第2時間P2が経過するまで映像データを映像表示領域42aに表示させることができる。表示制御部56は、例えば打撃結果についての一連の場面を表示するために十分な時間を第2時間P2として設定してもよい。また、表示制御部56は、例えば数秒程度の、いわゆる頭出しの時間を第2時間P2として設定してもよい。なお、表示制御部56は、例えばスポーツ競技の種類等に応じて、それぞれ第2時間P2を一定の時間として予め設定しておいてもよい。また、表示制御部56は、表示開始時刻から第2時間P2が経過した後も映像データを映像表示領域42aに表示させてもよい。
図7は、表示部42の表示が変更された場合の一例を示す図である。図7では、チャット表示領域42bの表示を図2に示す状態(8回裏)から図中の上側にスクロールさせて、試合終了時(9回裏)の状態とした場合を示している。この場合、図7に示すように、チャット表示領域42bには、サーバメッセージ88c〜88eが表示されている。サーバメッセージ88cは、例えば9回裏に打者004がレフトフライでアウトになった、という内容のチャットデータである。また、サーバメッセージ88dは、9回裏に打者005がセカンドゴロでアウトになった、という内容のチャットデータである。また、サーバメッセージ88eは、試合終了になったことを示すチャットデータである。
この状態で、例えばサーバメッセージ88cや他者メッセージ89、自己メッセージ90等のチャットデータを指定した場合、映像表示領域42aには、指定されたチャットデータの処理時刻に基づく表示開始時刻からの映像データが表示される。例えば、図7に示す例では、走者がいない状態で右打者がバッターボックスに立っている場面が表示される。
なお、図7に示す状態から、チャット表示領域42bの表示を図中の下側にスクロールさせて、図2に示す状態を表示させ、更に図2に示すチャットデータを再度指定することにより、映像表示領域42aを図2に示す状態に戻すことも可能である。このように、映像データとチャットデータとを時刻で対応付けて表示することにより、例えば試合終了後、試合内容を振り返る場合等に、映像データとチャットデータの表示とを対応させて確認することが可能となる。
同様に、表示制御部56は、例えば操作者の操作によって映像表示領域42aの表示内容が変更される場合、映像表示領域42aの表示の変更に応じて、チャット表示領域42bの表示を変更してもよい。この場合、変更後に映像表示領域42aに表示される場面の撮影時刻に対応するチャットデータを、チャット表示領域42bに表示させることができる。
この場合、表示制御部56は、変更後に映像表示領域42aに表示される映像データの撮影時刻を同期データ記憶部53から検出する。次に、表示制御部56は、検出した撮影時刻から過去に遡って直近の処理時刻となるチャットデータのタグ情報79を検出する。次に、表示制御部56は、検出したタグ情報79に対応するチャットデータをチャットデータ記憶部52から抽出する。そして、表示制御部56は、抽出したチャットデータを含む複数のチャットデータをチャット表示領域42bに表示させる。このとき、例えば抽出したチャットデータがチャット表示領域42bの中で最新のチャットデータとなるように、最も下方に表示させる。また、当該チャットデータの上方には、チャット表示領域42bに表示可能な範囲で時系列的に1つずつ前のチャットデータを表示させる。なお、チャットデータの表示の方法についてはこれに限定されず、他の方法で表示させてもよい。
次に、上記のように構成されたチャットシステム100の動作を説明する。図8は、本実施形態に係るチャットシステム100の動作の一例を示すフローチャートである。図8は、本実施形態に係るチャット表示方法の一例を示している。図8に示すように、サーバ30においては、カメラ10から映像データが入力され、チャット端末装置40、40A等によりチャットデータが入力される。また、サーバ30は、映像データに基づいて、チャットデータを生成する。サーバ30は、これらの映像データ及びチャットデータを保存し、チャット端末装置40、40A等により受信可能な状態とする(ステップST10)。
サーバ30に映像データ及びチャットデータがアップロードされた場合、チャット端末装置40において、データ取得制御部54は、サーバ30から映像データ及びチャットデータを取得させる(ステップST20)。ステップST20において、データ取得制御部54は、例えば通信部43を介してサーバ30に映像データ及びチャットデータをダウンロードする許可を得るための信号を送信する。サーバ30では、当該信号を受信した場合、所定の認証等を行った後、映像データ及びチャットデータをチャット端末装置40に送信する。
サーバ30から映像データ及びチャットデータを取得した場合、記憶制御部55は、取得した映像データ及びチャットデータを撮影時刻及び処理時刻で対応付けて記憶部44に記憶させる(ステップST30)。ステップST30により、同期データ記憶部53にタグ情報79及び処理時刻情報80が記憶される。
その後、表示制御部56は、記憶部44に記憶された映像データ及びチャットデータに基づいて、表示部42に表示される表示内容を制御する。このとき、表示制御部56は、時刻が対応した映像データとチャットデータとを、表示部42の映像表示領域42a及びチャット表示領域42bに同期して表示させることができる(ステップST40)。
その後、表示制御部56は、チャット表示領域42bに表示されるチャットデータが指定されたか否かを検出する(ステップST50)。チャットデータが指定されない場合には(ステップST50のNo)、ステップST50の動作を繰り返し行わせる。また、チャットデータが指定された場合(ステップST50のYes)、表示制御部56は、指定されたチャットデータの処理時刻に基づく表示開始時刻を設定し、当該表示開始時刻からの表示データを映像表示領域42aに表示させる(ステップST60)。同様に、表示制御部56は、映像表示領域42aの表示が変更されたか否かを検出し、映像表示領域42aの表示が変更される場合、当該映像表示領域42aに表示される映像データの撮影時刻に対応するチャットデータをチャット表示領域42bに表示させる。
以上のように、本実施形態に係るチャット端末装置40は、スポーツ競技の試合を撮影した映像データと、試合に対応したチャットの内容を示すチャットデータとがアップロードされるサーバ30から映像データ及びチャットデータを取得する通信部43と、通信部43により取得された映像データ及びチャットデータを、映像データが撮影された撮影時刻とチャットデータに対して所定の処理が行われた処理時刻とで対応付けて記憶する記憶部44と、記憶部44に記憶された映像データ及びチャットデータを表示部42の異なる領域に表示させ、表示部42に表示されたチャットデータの1つが入力部41によって指定された場合に、指定されたチャットデータの処理時刻に基づく表示開始時刻からの映像データを表示部42に表示させる制御部45とを備える。
これにより、映像データとチャットデータとを撮影時刻及び処理時刻で対応させて取り扱うことができる。このため、例えば、表示部42の映像表示領域42a及びチャット表示領域42bに、撮影時刻及び処理時刻が対応する映像データとチャットデータとを表示することが可能となる。したがって、例えば試合中又は試合終了後において、過去の試合内容を振り返る場合等に、映像データとチャットデータの表示とを対応させて確認することが可能となる。このように、スポーツ競技の試合の映像とチャットとの時間的な対応付けを活かした操作を行うことが可能となる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、入力部41によって指定されたチャットデータの処理時刻から第1時間P1を遡った時刻を表示開始時刻とする。これにより、指定されたチャットデータが打撃結果に関する内容である場合、当該打撃結果に関する一連の場面が始まる時刻を推定して設定することができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、チャットデータの容量が大きいほど第1時間P1を長く設定する。これにより、打撃結果が確定してからチャットデータがアップロードされるまでの時間が長くなる場合においても、表示開始時刻を精度よく設定することができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、表示開始時刻から第2時間P2が経過するまで映像データを映像表示領域42aに表示させる。これにより、操作者がチャットデータを指定するだけの操作で、映像データを自動的に表示させることができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、チャットデータがアップロードされたアップロード時刻又はチャットデータの入力が開始された入力開始時刻を処理時刻とする。これにより、表示開始時刻を精度良く設定することができる。
[第2実施形態]
図9は、第2実施形態に係るチャット端末装置40の入力部41及び表示部42の一例を示す図である。本実施形態において、チャット端末装置40を含むチャットシステム100の構成は、第1実施形態と同様である。本実施形態では、チャット表示領域42bの表示態様が第1実施形態と一部異なるため、当該相違点を中心に説明する。
図9に示すように、表示制御部56は、チャット表示領域42bにスクロールバー42cを表示させてもよい。表示制御部56は、スクロールバー42cを常に表示させておいてもよいし、例えばチャット表示領域42bが長押しされる等、所定の操作が行われることで表示及び非表示を切り替えるようにしてもよい。スクロールバー42cは、時刻を基準として、チャット表示領域42bにおけるチャットデータの表示をスクロールさせる。スクロールバー42cは、バー本体61と、スライダ62と、時刻目盛63とを有する。
図10は、スクロールバー42cの一例を示す図である。図10に示すように、バー本体61は、スポーツ競技の試合について記憶部44に記憶されたチャットデータの処理時刻の範囲を示す。バー本体61は、記憶部44に記憶されたチャットデータのうち最も古い処理時刻(時刻ts)から最も新しい処理時刻(tn)までの範囲の処理時刻を示している。バー本体61は、例えば帯状であり、チャット表示領域42bのスクロール方向(縦方向)に平行に延びた状態で表示される(縦表示)。表示制御部56は、記憶部44に新たなチャットデータが記憶される度に、バー本体61の最も新しい処理時刻tnを更新する。この場合、表示制御部56は、バー本体61の長さ(長手方向の寸法)を変更させてもよいし、バー本体61の長さを変更させることなく単位長さあたりの目盛を小さくしてもよい。
スライダ62は、チャット表示領域42bに表示されているチャットデータの処理時刻を示している。スライダ62は、操作者のスクロール操作等により、バー本体61に沿って移動可能である。本実施形態では、バー本体61が縦表示であるため、スライダ62は、チャット表示領域42bのスクロール方向(縦方向)に移動可能となる。このため、操作者は、スライダ62に対して直感的にスクロール操作を行うことが可能となっている。本実施形態において、スライダ62は、例えば矩形状であるが、これに限定されない。スライダ62は、例えば矢印等であってもよい。
なお、バー本体61がチャット表示領域42bのスクロール方向に垂直な方向(横方向)に延びた状態で表示され(横表示)、スライダ62が横方向に移動可能な構成であってもよい。また、バー本体61が延びる方向を縦方向と横方向とで切り替え可能であってもよい。
表示制御部56は、例えばスライダ62に対してスクロール操作が行われる場合、スクロール方向及びスクロール量に応じて、スライダ62の表示位置をバー本体61の範囲内で移動させる。また、表示制御部56は、スライダ62に対してスクロール操作が行われる場合、操作後のバー本体61内における位置に応じて、チャット表示領域42bに表示させるチャットデータを変更する。
例えば、スライダ62が上方にスクロール操作された場合、表示制御部56は、それまで表示されていたチャットデータよりも時間的に後にアップロード又は入力開始されたチャットデータを、チャット表示領域42bに表示させる。また、スライダ62が下方にスクロール操作された場合、表示制御部56は、それまで表示されていたチャットデータよりも時間的に前にアップロード又は入力開始されたチャットデータを、チャット表示領域42bに表示させる。
チャット表示領域42bに対して直接スクロール操作が行われる場合、チャット表示領域42bの表示が、チャットデータの数に基づいてスクロールされる。一方、スライダ62に対してスクロール操作が行われる場合、チャット表示領域42bの表示が、時刻を基準としてスクロールされる。このため、例えばスライダ62を一定の速度で移動させる場合、所定時間あたりにアップロード又は入力開始が行われたチャットデータが多い時間帯では、所定時間あたりにアップロード又は入力開始が行われたチャットデータが少ない時間帯に比べて、チャット表示領域42bのスクロール速度が速くなる。
また、表示制御部56は、スクロールバー42cにおいて、スライダ62の移動距離に対する処理時刻の変化量の割合が異なる複数の区間をバー本体61に設定してもよい。図11は、スクロールバー42cの他の例を示す図である。図11に示すように、表示制御部56は、スライダ62が位置する時刻(現在時刻)に対して5分前の時刻64から、現在時刻に対して5分後の時刻65までを第1区間とする。また、表示制御部56は、現在時刻に対して60分前の時刻66から、上記の時刻64までを第2区間とする。また、表示制御部56は、上記の時刻65から、現在時刻に対して60分後の時刻67までを第3区間とする。この構成では、バー本体61において、第1区間の縦方向の長さが、第2区間及び第3区間の縦方向の長さよりも長い。一方、第1区間の時間の範囲が10分であり、第2区間及び第3区間の時間の範囲がそれぞれ55分である。したがって、スライダ62が第1区間を移動する場合には、第2区間及び第3区間を移動する場合に比べて、スライダ62の移動量に対する処理時刻の変化量が少なくなる。
また、表示制御部56は、スクロールバー42cにおいて、所定時間当たりのチャットデータの数(チャット密度)を示すチャット密度データをバー本体61に表示させてもよい。図12は、スクロールバー42cの他の例を示す図である。表示制御部56は、例えばチャット密度が所定の値よりも大きい場合に、チャット密度データをバー本体61に表示する。図12に示すように、表示制御部56は、バー本体61にチャット密度データ68、69を表示している。チャット密度データ68、69は、例えばチャット密度の大きさに応じて濃度が高くなるように表示することができる。したがって、バー本体61には、チャット密度に応じて、チャット密度データ68、69の表示にコントラストが形成されてもよい。
また、表示制御部56は、チャット表示領域42bに表示されるチャットデータのアップロード時刻及び入力開始時刻の少なくとも一方をバー本体61に表示させてもよい。図13は、スクロールバー42cの他の例を示す図である。表示制御部56は、例えばチャット表示領域42bに表示されるチャットデータのうち最も処理時刻が新しいチャットデータについて、アップロード時刻及び入力開始時刻の少なくとも一方の時刻処理データをバー本体61に表示させてもよい。図13に示すように、表示制御部56は、バー本体61に入力開始時刻ta及びアップロード時刻tbを表示させている。これにより、操作者が処理時刻を容易に把握することが可能となる。
次に、本実施形態に係るチャットシステム100の動作を説明する。図14は、本実施形態に係るチャットシステム100の動作の一例を示すフローチャートである。図14は、本実施形態に係るチャット表示方法の一例を示している。本実施形態において、チャットシステム100は、まず、第1実施形態に記載のステップST10からステップST40までの動作と同様の動作を行う。
その後、表示制御部56は、スクロールバー42cを表示させる指示が入力部41により入力されたか否かを検出する(ステップST150)。当該指示が検出されない場合(ステップST150のNo)、表示制御部56は、ステップST150の動作を繰り返し行わせる。また、当該指示が検出された場合(ステップST150のYes)、表示制御部56は、スクロールバー42cを表示させる(ステップST160)。
その後、表示制御部56は、スクロールバー42cにより処理時刻が指定されたか否かを検出する(ステップST170)。つまり、表示制御部56は、ステップST170において、スライダ62に対してスクロール操作が行われたか否かを検出する。スライダ62に対するスクロール操作が検出されない場合(ステップST170のNo)、表示制御部56は、ステップST170の動作を繰り返し行わせる。また、スライダ62に対するスクロール操作が検出された場合(ステップST170のYes)、表示制御部56は、指定された処理時刻のチャットデータをチャット表示領域42bに表示させる。このとき、表示制御部56は、当該指定された処理時刻に対応する映像データを映像表示領域42aに表示させてもよい(ステップST180)。
以上のように、本実施形態に係るチャット端末装置40は、試合を撮影した映像データと、試合に対応したチャットの内容を示すチャットデータとがアップロードされるサーバ30から映像データ及びチャットデータを取得する通信部43と、通信部43により取得された映像データ及びチャットデータを、映像データが撮影された撮影時刻とチャットデータに関する所定の処理が行われた処理時刻とで対応付けて記憶する記憶部44と、記憶部44に記憶された映像データ及びチャットデータを表示部42の異なる領域に表示させると共に、記憶部44に記憶されたチャットデータの処理時刻の範囲を示すスクロールバー42cのバー本体61とバー本体61に沿って移動可能であり表示部42に表示されているチャットデータの処理時刻を示すスライダ62とを表示部42に表示させ、入力部41によりスライダ62の位置が変更された場合に、変更後のスライダ62の位置に対応する処理時刻のチャットデータを表示部42に表示させる制御部45とを備える。
これにより、スライダ62の位置が変更される場合、チャット表示領域42bの表示が、時刻を基準として変更される。このため、所定時間あたりにアップロード又は入力開始が行われたチャットデータが多い時間帯では、所定時間あたりにアップロード又は入力開始が行われたチャットデータが少ない時間帯に比べて、チャット表示領域42bのスクロール速度を速くすることができる。このため、このように、スポーツ競技の試合の映像とチャットとの時間的な対応付けを活かした操作を行うことが可能となる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、入力部41によりスライダ62の位置が変更された場合に、バー本体61における変更後のスライダ62の位置に対応する処理時刻の映像データを表示部42に表示させる。これにより、映像データとチャットデータとを撮影時刻及び処理時刻で対応させて取り扱うことができ、表示部42の映像表示領域42a及びチャット表示領域42bに、撮影時刻及び処理時刻が対応する映像データとチャットデータとを表示することが可能となる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、チャットデータがアップロードされたアップロード時刻又はチャットデータの入力が開始された入力開始時刻を処理時刻とする。これにより、チャットデータの表示の変更を効率的に行うことができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、アップロード時刻及び入力開始時刻の少なくとも一方をバー本体に表示させる。これにより、操作者がアップロード時刻及び入力開始時刻を容易に把握することができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、スライダ62の位置が変更された場合に、スライダ62の移動距離に対する処理時刻の変化量の割合が異なる複数の領域をバー本体61に設定する。これにより、特定の時刻範囲においてチャットデータのスクロール速度を低下させることができる。このため、当該時刻範囲においてチャットデータを検索しやすくすることができる。
また、本実施形態に係るチャット端末装置40において、表示制御部56は、所定時間当たりのチャットデータの数を示すチャット密度データをバー本体61に表示させる。これにより、操作者がチャット密度の高い時刻範囲を容易に把握することができる。
本発明の技術範囲は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更を加えることができる。例えば、第2実施形態のスクロールバー42cにおいて、バー本体61の上下にスクロールアローを配置し、当該スクロールアローをタッチすることにより、スライダ62をスクロールアローの矢印の方向に所定距離ずつステップ移動させてもよい。