以下、本発明の実施の形態について図面を参照しつつ説明する。図中同一又は相当する構成については同一の符号を付し、同じ説明を繰り返さない。
<字幕配信システムの構成>
図1に示すように、本実施形態に係る字幕配信システム10は、字幕抽出装置1と、字幕送出装置2と、サーバ3とを備える。
字幕抽出装置1及び字幕送出装置2は、例えば放送局によって管理される。字幕抽出装置1及び字幕送出装置2は、LAN等の通信回線で接続され、通信可能となっている。字幕送出装置2は、インターネット等の通信ネットワークを介し、語句抽出装置5と通信可能に構成される。サーバ3は、インターネット等の通信ネットワークを介し、複数の端末装置4と通信可能に構成されている。
[字幕抽出装置]
字幕抽出装置1には、放送局内で生成された放送情報が入力される。放送情報は、現在テレビ放送されているコンテンツの情報である。具体的には、放送情報は、テレビ放送中番組やコマーシャルメッセージ(CM)等の映像情報に字幕情報を重畳した情報である。放送情報は、映像伝送規格に準拠した信号とすることができる。放送情報は、例えば、デジタルテレビ放送用の映像信号として通常用いられるHD−SDI(High Definition−Serial Digital Interface)信号であってもよい。
放送情報は、中継局等に送信され、中継局等から各家庭等に設置されているテレビ放送受信機に送信される。放送情報は、字幕抽出装置1に連続的に入力され、且つ中継局等に連続的に送信される。例えば、放送情報の監視を行う装置を字幕抽出装置1として使用することができる。
字幕抽出装置1は、入力された放送情報から字幕情報を抽出する。字幕抽出装置1は、入力された放送情報毎に字幕情報の抽出を行う。字幕抽出装置1として、公知又は市販の製品を使用することができる。字幕抽出装置1は、抽出した字幕情報を字幕送出装置2に送信する。
放送情報は、通常、放送時刻の早いものから順に字幕抽出装置1に入力されている。字幕抽出装置1は、各放送情報に対し、例えば、FIFO(First−In First−Out)方式で字幕情報の抽出及び送信処理を行う。つまり、字幕抽出装置1は、連続的に入力される複数の放送情報各々について、放送時刻が早いものから字幕情報を抽出して字幕送出装置2に送信する。
[字幕送出装置]
字幕送出装置2は、通信ネットワークに接続されている。図2に示すように、字幕送出装置2は、字幕情報取得部21と、字幕情報送出部22と、関連情報生成部23と、関連情報送出部24と、記憶部25とを備えている。字幕送出装置2は、さらに、コンテンツ情報取得部26と、コンテンツ情報送出部27とを備えていてもよい。
特に図示しないが、字幕送出装置2は、CPU(Central Processing Unit)と、HDD(Hard Disk Drive)と、メモリとを含むコンピュータである。
CPUは、字幕情報取得部21、字幕情報送出部22、関連情報生成部23、関連情報送出部24、コンテンツ情報取得部26、及びコンテンツ情報送出部27による各処理を実現するための制御プログラムを実行する。HDDは、CPUによって実行される制御プログラム、後述する語句情報及びアクセス情報、その他制御プログラムの実行に必要な情報を格納する。メモリは、字幕送出装置2のメインメモリであり、CPUが制御プログラムを実行する際の一時的な作業領域となる。
なお、字幕情報取得部21、字幕情報送出部22、関連情報生成部23、関連情報送出部24、コンテンツ情報取得部26、及びコンテンツ情報送出部27の各機能は、上記のように制御プログラム等のソフトウェアによって実現してもよいが、ハードウェアによって実現することもできる。
字幕情報取得部21は、字幕抽出装置1から送信された字幕情報を受信する。字幕情報取得部21は、受信した字幕情報に所定の語句情報(第1語句情報)が含まれていない場合、当該字幕情報を加工することなく字幕情報送出部22に引き渡す。
本実施形態における情報の加工とは、実データ部に実質的な変更を加えることをいう。例えば、字幕情報の実データ部に新たな情報を結合したり、字幕情報の実データ部の一部を抽出したり、字幕情報の実データ部の少なくとも一部を削除したりすることは字幕情報の加工に該当する。
字幕情報取得部21は、受信した字幕情報に所定の語句情報(第1語句情報)が含まれていた場合、当該語句情報に対応するアクセス情報を後述の記憶部25から取得する。字幕情報取得部21は、受信した字幕情報にアクセス情報を埋め込んでアクセス情報埋込済字幕情報を生成し、字幕情報送出部22に引き渡す。
字幕情報送出部22は、字幕情報取得部21から受け取った字幕情報又はアクセス情報埋込済字幕情報を加工せず、字幕送出装置2の外部にそのまま送出する。すなわち、字幕情報送出部22は、字幕情報又はアクセス情報埋込済字幕情報の実データ部を変更することなくサーバ3に送信する。
字幕情報取得部21及び字幕情報送出部22は、FIFO方式で処理を実行する。上述した通り、字幕送出装置2には放送時刻の早い順で字幕情報が入力されるため、字幕情報取得部21及び字幕情報送出部22がFIFO方式で処理を行うことにより、放送時刻が早い字幕情報から送出することができる。
関連情報生成部23は、字幕情報取得部21から字幕情報を受け取り、当該字幕情報に関連する字幕関連情報を生成する。字幕関連情報は、字幕情報取得部21から受け取った字幕情報に基づいて生成される。
また、関連情報生成部23は、通信ネットワークに接続された語句抽出装置5に字幕情報を送信し、語句抽出装置5によって字幕情報から抽出された語句情報(第2語句情報)を取得する。詳しくは後述するが、関連情報生成部23は、取得した語句情報を字幕関連情報の生成に使用する。
関連情報生成部23は、生成した字幕関連情報を関連情報送出部24に引き渡す。
関連情報送出部24は、関連情報生成部23から受け取った字幕関連情報を字幕送出装置2の外部に送出する。字幕関連情報は、通信ネットワークに接続されたサーバ3に送信される。関連情報送出部24は、字幕情報送出部22によって字幕情報又はアクセス情報埋込済字幕情報が送出された後に、これらの字幕情報に対応する字幕関連情報を送出する。
関連情報生成部23及び関連情報送出部24による処理は、FIFO方式で実行されることが好ましい。これにより、放送時刻が早い字幕情報に対応する字幕関連情報から先に、字幕送出装置2から送出することができる。ただし、複数の字幕情報について字幕関連情報を並行して生成し、生成された字幕関連情報から順に送出することもできる。
記憶部25は、語句情報と、語句情報に関連するウェブページにアクセスするためのアクセス情報を記憶する。
記憶部25に記憶されている語句情報は、単語、2以上の単語を含む句、又は文章を示す文字列情報とすることができる。語句情報としては、例えば、商品名、企業名、飲食店や小売店、映画館等の商業施設名、商品や作品、場所等の宣伝に使用されるキャッチフレーズ等を示す文字列情報を挙げることができる。
記憶部25に記憶されているアクセス情報は、ウェブページの場所を直接又は間接的に示す情報とすることができる。例えば、アクセス情報は、ウェブページのURLを示す文字列情報とすることができる。また、例えば、アクセス情報は、ウェブページのURLを特定することが可能なよう、ウェブページのURLを示す文字列情報と対応付けられた任意の情報であってもよい。
語句情報に関連するウェブページは、適宜決定することができる。例えば、語句情報が商品名を示す文字列情報である場合、語句情報に関連するウェブページは、当該商品の生産元又は販売元のウェブサイトにおける商品紹介ページや、ショッピングサイトにおける当該商品の購入ページ等であってもよい。語句情報が企業名又は商業施設名を示す文字列情報である場合、語句情報に関連するウェブページは、当該企業又は商業施設のウェブサイトのトップページ等であってもよい。語句情報がキャッチフレーズを示す文字列情報である場合、語句情報に関連するウェブページは、当該キャッチフレーズに対応する商品、作品、場所等の紹介ページとすることもできる。
記憶部25は、例えば図2に示すように、複数の語句情報251aと、複数の語句情報251a各々に対応付けられたアクセス情報251bとを含む語句情報ファイル251を記憶してもよい。図2の例では、アクセス情報251bは、ウェブページのURLを示す文字列情報である。語句情報ファイル251は、cvs形式のテキストファイル等とすることができる。
記憶部25による語句情報及びアクセス情報の記憶形式は、特に限定されるものではない。記憶部25は、例えば、テーブル形式で語句情報及びアクセス情報を記憶することもできる。
コンテンツ情報取得部26は、テレビ放送中のコンテンツ情報を有するサーバ6からコンテンツ情報を定期的に取得する。サーバ6は、例えば、放送局のウェブサイトを公開している。コンテンツ情報は、例えば、テレビ放送中の番組名の情報や、当該番組に対応するウェブページへのアクセス情報等を含む。図1の例では、サーバ6はサーバ3と別の装置として記載されているが、サーバ3がサーバ6を兼ねていてもよい。
コンテンツ情報取得部26は、取得したコンテンツ情報をコンテンツ情報送出部27に引き渡す。コンテンツ情報送出部27は、受け取ったコンテンツ情報を外部に送出する。送出されたコンテンツ情報はサーバ3に送信される。
[サーバ]
サーバ3は、WebSocketを利用して各端末装置4と通信を行う。WebSocketは、クライアントからの要求によりHTTPを用いてサーバクライアント間の接続を確立し、その後は独自のプロトコルでサーバクライアント間の通信を行う通信規格である。
WebSocketでは、サーバクライアント間の接続が確立した後は、原則として、クライアントから明示的に接続が切断されない限り接続が維持される。サーバ及びクライアントは、両者の間に維持されている接続を利用して双方向通信を行うことができる。つまり、サーバは、クライアントからの送信要求がなくても、任意のタイミングでクライアントに情報を送信することができる。
WebSocketは、HTTPと比較してヘッダが小さい。このため、WebSocketを利用すれば、サーバクライアント間の通信負荷の軽減を図ることができる。
サーバ3は、字幕送出装置2の字幕情報送出部22から字幕情報を受信する。サーバ3は、受信した字幕情報をWebSocketによる接続が確立している各端末装置4に配信する。サーバ3は、端末装置4に対し、受信した順、つまり放送時刻の早い順に字幕情報を送信する。
サーバ3は、字幕情報を受信するとすぐに端末装置4に送信する。よって、端末装置4には、現在テレビ放送されている内容に対応する字幕情報がほぼリアルタイムで提供される。
サーバ3は、字幕送出装置2の関連情報送出部24から字幕関連情報を受信する。サーバ3は、受信した字幕関連情報をWebSocketによる接続が確立している各端末装置4に配信する。サーバ3は、端末装置4に対し、字幕関連情報を受信した順に送信する。サーバ3は、字幕関連情報を受信するとすぐに端末装置4に送信する。
サーバ3は、字幕送出装置2のコンテンツ情報送出部27からコンテンツ情報を受信する。サーバ3は、WebSocketによる接続が確立している各端末装置4に対し、受信したコンテンツ情報を配信する。
サーバ3は、WebSocketによる接続が確立されている端末装置4に対し、字幕情報及び字幕関連情報を送信する。サーバ3は、字幕送出装置2から字幕情報を受信するとすぐに端末装置4に送信する。よって、端末装置4には、現在テレビ放送されている内容に対応する字幕情報がほぼリアルタイムで提供される。字幕関連情報についても、サーバ3は字幕送出装置2から受信するとすぐに端末装置4に送信する。
サーバ3は、WebSocketによる接続が確立されている端末装置4に対し、コンテンツ情報を送信する。サーバ3は、字幕送出装置2からコンテンツ情報を受信するとすぐに端末装置4に送信する。よって、端末装置4には、現在テレビ放送中のコンテンツ情報が提供される。
[端末装置]
端末装置4は、例えば、スマートフォンやタブレット、パーソナルコンピュータ等、インターネット等のネットワークを介してサーバ3と通信可能な機器である。端末装置4は、サーバ3から配信される字幕情報、字幕関連情報、及びコンテンツ情報を必要に応じて加工し、ディスプレイに表示する。
[語句抽出装置]
語句抽出装置5は、通信ネットワークを介して、字幕送出装置2から字幕情報を受信する。語句抽出装置5は、受信した字幕情報から語句情報を抽出する。語句抽出装置5は、字幕情報から抽出する語句情報を所定の規則にしたがって又はランダムに決定する。語句抽出装置5は、例えば、受信した字幕情報に対して構文解析処理を実行し、語句情報を抽出する。
語句抽出装置5は、字幕情報から1又は2以上の語句情報を抽出する場合もあるし、字幕情報から語句情報を全く抽出しない場合もある。字幕情報から語句情報が抽出された場合、語句抽出装置5は、抽出した語句情報を字幕送出装置2に返送する。字幕情報から語句情報が抽出されなかった場合、語句抽出装置5は、語句情報が抽出されなかったことを示す情報(例えば、実データ部が空の情報)を字幕送出装置2に返送すればよい。
<字幕配信システムの動作>
次に、上述のように構成された字幕配信システム10の動作について説明する。
[字幕送出装置の処理]
まず、字幕送出装置2が実行する処理について説明する。以下で説明する字幕送出装置2の各処理は、字幕送出装置2のCPUが制御プログラムを実行することによって実現される。
図3は、字幕送出装置2が実行する処理全体を示すフローチャートである。図3に示すように、字幕配信を開始するに当たり、字幕送出装置2は、字幕抽出装置1に対するクライアント登録を行う(ステップS1)。字幕送出装置2は、クライアント登録によって字幕抽出装置1にクライアントとして認識され、字幕抽出装置1から字幕情報を取得することができるようになる。
具体的には、字幕送出装置2は、字幕抽出装置1に対して、クライアント登録を要求するリクエスト情報を送信する。正常にクライアント登録されたことを示すレスポンス情報が字幕抽出装置1から返送された場合、字幕送出装置2はステップS2以降の処理を開始する。字幕抽出装置1からレスポンスがないか、クライアント登録を正常に行えなかったことを示すレスポンス情報が返送された場合、字幕送出装置2はステップS2以降の処理を行わない。
クライアント登録は、例えば、字幕送出装置2の電源がONになった場合や制御プログラムの起動時等、所定のタイミングで行うことができる。クライアント登録は、字幕送出装置2によって自動的に行われてもよいし、字幕送出装置2の管理者の操作に応じて行われてもよい。
クライアント登録が正常に行われた場合、字幕送出装置2は、コンテンツ情報取得及び送出処理(ステップS2)、字幕情報取得及び送出処理(ステップS3)、並びに語句情報抽出及び送出処理(ステップS5)を実行する。以下、各処理について説明する。
(コンテンツ情報取得及び送出処理)
図4は、コンテンツ情報取得及び送出処理のフローチャートである。コンテンツ情報取得及び送出処理は、字幕送出装置2がクライアント登録された後、繰り返し実行される。字幕送出装置2は、コンテンツ情報取得及び送出処理を定期的に行ってもよいし、コンテンツ情報の取得先であるサーバ6を監視し、サーバ6においてコンテンツ情報が更新されたタイミングでコンテンツ情報取得及び送出処理を行ってもよい。
図4に示すように、字幕送出装置2のコンテンツ情報取得部26は、サーバ6にアクセスし、サーバ6からコンテンツ情報を取得する(ステップS21)。例えば、コンテンツ情報取得部26は、テレビ放送中のコンテンツ情報を有するウェブページを参照し、当該ウェブページからテレビ放送中のコンテンツ情報を抽出する。コンテンツ情報は、現在テレビ放送中の番組名情報を含む。コンテンツ情報は、番組名情報に関連するウェブページへのアクセス情報を含む場合がある。番組名情報に関連するウェブページへのアクセス情報は、例えば、番組の紹介ページのURLを示す文字列情報である。
コンテンツ情報取得部26は、取得したコンテンツ情報にアクセス情報が含まれているか否かを判断する(ステップS22)。
コンテンツ情報にアクセス情報が含まれている場合(ステップS22でYESの場合)、コンテンツ情報取得部26は、番組名情報及びアクセス情報を使用して送出用コンテンツ情報を生成する(ステップS23)。具体的には、番組名情報とアクセス情報とを連結して送出用コンテンツ情報とする。番組名情報とアクセス情報との間には、セパレータとしての文字情報が挿入される。
コンテンツ情報にアクセス情報が含まれていない場合(ステップS22でNOの場合)、コンテンツ情報取得部26は、番組名情報を送出用コンテンツ情報として取り扱う。
その後、コンテンツ情報取得部26は、送出用コンテンツ情報にヘッダ情報を付与する(ステップS24)。ヘッダ情報は、字幕送出装置2から送出される情報の種別を表す情報である。本実施形態では、コンテンツ情報のヘッダ情報として「1000」が付与される。実データ部であるコンテンツ情報とヘッダ情報との間には、セパレータとしての文字情報が挿入される。
図5は、ステップS1で取得したコンテンツ情報にアクセス情報が含まれていた場合(ステップS22でYESの場合)に、ステップS24で生成されるコンテンツ情報62Aの例である。コンテンツ情報62Aは、ヘッダ情報620と、セパレータ621と、ステップS23で生成された送出用コンテンツ情報622Aとを含む。コンテンツ情報622Aは、番組名情報623と、セパレータ624と、アクセス情報625とを含む。
図5の例におけるコンテンツ情報62Aは、ヘッダ情報620である「1000」と、セパレータ621である「::」と、送出用コンテンツ情報622Aとが連結された文字列情報である。送出用コンテンツ情報622Aは、番組名情報623である「XXXニュース」と、セパレータ624である「::」と、アクセス情報625である「XXXニュース」の関連ウェブページのURLとを連結した文字列情報である。
図6は、ステップS21で取得したコンテンツ情報にアクセス情報が含まれていなかった場合(ステップS22でNOの場合)に、ステップS24で生成されるコンテンツ情報62Bの例である。コンテンツ情報62Bは、コンテンツ情報62Aと同様のヘッダ情報620及びセパレータ621を含む。また、コンテンツ情報62Bは、送出用コンテンツ情報622Bとして、ステップS21で取得したコンテンツ情報中の番組名情報623のみを含む。
図6の例におけるコンテンツ情報62Bは、ヘッダ情報620である「1000」と、セパレータ621である「::」と、番組名情報623である「XXXニュース」とが連結された文字列情報である。コンテンツ情報62Bには、番組名情報623である「XXXニュース」の関連ウェブページを示すアクセス情報は含まれない。
コンテンツ情報取得部26は、コンテンツ情報62A又は62Bをコンテンツ情報送出部27に引き渡す。コンテンツ情報送出部27は、コンテンツ情報62A又は62Bを字幕送出装置2の外部に送出する(ステップS25)。送出されたコンテンツ情報62A又は62Bは、通信ネットワークを介してサーバ3に送信される。
(字幕情報取得及び送出処理)
図7は、字幕情報取得及び送出処理のフローチャートである。字幕情報取得及び送出処理は、字幕送出装置2がクライアント登録された後、繰り返し実行される。字幕送出装置2は、字幕情報取得及び送出処理を定期的に実行する。
図7に示すように、字幕送出装置2の字幕情報取得部21は、字幕抽出装置1に対し、字幕情報を要求するリクエスト情報を送信する(ステップS31)。字幕送出装置2から字幕抽出装置1へのリクエスト送信処理(ステップS31)は、例えば0.5〜1秒間隔等で実行される。
字幕抽出装置1は、字幕情報取得部21から送信されたリクエスト情報に応じ、レスポンス情報を返送する。字幕情報取得部21は、字幕抽出装置1から返送されたレスポンス情報を受信する(ステップS32)。
次に、字幕情報取得部21は、受信したレスポンス情報が字幕情報であるか否かを判断する(ステップS33)。
字幕抽出装置1から受信したレスポンス情報が字幕情報ではない場合(ステップS33でNOの場合)、ステップS34〜S40の処理は行われない。すなわち、字幕送出装置2が受信したレスポンス情報がそのまま又は加工されてサーバ3に送信されることはない。字幕情報取得部21は、例えばレスポンス情報が空(Empty)である場合、レスポンス情報が字幕情報ではないと判断する。
レスポンス情報が字幕情報である場合(ステップS33でYESの場合)、字幕情報取得部21は、レスポンス情報をそのまま字幕情報として取得する(ステップS34)。すなわち、字幕情報取得部21は、レスポンス情報の実データ部を実質的に加工することなく、字幕情報として取得する。
字幕情報取得部21は、例えばレスポンス情報が文字列情報であった場合、レスポンス情報が字幕情報であると判断する。また、例えばレスポンス情報が字幕情報の削除を指示するクリアパケットである場合等も、字幕情報取得部21は、レスポンス情報が字幕情報であると判断する。レスポンス情報がクリアパケットである場合、字幕情報取得部21は、所定の文字を示す情報、例えば全角スペースを示す情報を字幕情報として設定することができる。
続いて、字幕情報取得部21は、ステップS34で取得した字幕情報を蓄積する(ステップS35)。字幕情報は、例えば字幕送出装置2のメモリに記憶される。蓄積された字幕情報は、後述する語句情報抽出及び送出処理(ステップS5)で利用される。
次に、字幕情報取得部21は、記憶部25からアクセス情報を取得する(ステップS36)。より詳細には、字幕情報取得部21は、語句情報ファイル251内を検索する。語句情報ファイル251において、ステップS34で取得した字幕情報に含まれる語句情報251aが1以上見つかった場合、字幕情報取得部21は、当該語句情報251aに対応付けられた各アクセス情報251bを語句情報ファイル251から取得する。
1以上のアクセス情報251bを取得することができた場合(ステップS37でYESの場合)、字幕情報取得部21は、取得した各アクセス情報251bをステップS34で取得した字幕情報内に埋め込んで、アクセス情報埋込済字幕情報を生成する(ステップS38)。
字幕情報取得部21は、各アクセス情報251bが指し示すウェブページの記述形式にしたがって、字幕情報内にアクセス情報251bを埋め込む。例えば、アクセス情報251bは、HTMLのリンクタグを使用して字幕情報に埋め込まれる。すなわち、字幕情報のうち、アクセス情報251b対応する語句情報251aに一致する部分をHTMLのリンクタグに挿入し、アクセス情報251bが示すウェブページをリンク先として指定することにより、アクセス情報埋込済字幕情報が生成される。
その後、字幕情報取得部21は、ステップS34で取得した字幕情報、又はステップS38で生成したアクセス情報埋込済字幕情報にヘッダ情報を付与する(ステップS39)。例えば、ステップS37においてアクセス情報251bが取得されず、ステップS38のアクセス情報埋込済字幕情報の生成処理が行われなかった場合、ヘッダ情報として「2000」が字幕情報に付与される。ステップS37においてアクセス情報251bが取得され、ステップS38のアクセス情報埋込済字幕情報の生成処理が行われた場合、ヘッダ情報として「2100」がアクセス情報埋込済字幕情報に付与される。実データ部である字幕情報又はアクセス情報埋込済字幕情報とヘッダ情報との間には、セパレータとしての文字情報が挿入される。ステップS39では、ステップS34で取得した字幕情報及びステップS38で生成したアクセス情報埋込済字幕情報の実質的な加工は行われない。
図8は、ステップS39で生成されるヘッダ情報付きの字幕情報63の例である。字幕情報63は、ヘッダ情報630と、セパレータ631と、ステップS34で取得した字幕情報632とを含む。図8の例における字幕情報63は、ヘッダ情報630である「2000」と、セパレータ631である「::」と、字幕情報632である「私は、今、大阪に来ています。」とを連結した文字列情報である。
図9は、ステップS39で生成されるヘッダ情報付きのアクセス情報埋込済字幕情報64の例である。アクセス情報埋込済字幕情報64は、ヘッダ情報640と、セパレータ641と、ステップS38で生成したアクセス情報埋込済字幕情報642とを含む。
図9の例におけるアクセス情報埋込済字幕情報64は、ヘッダ情報640である「2100」と、セパレータ641である「::」と、アクセス情報埋込済字幕情報642とを連結した文字列情報である。アクセス情報埋込済字幕情報642は、「私は、今、大阪に来ています。」という字幕情報のうち「大阪」という語句部分に、アクセス情報251bが示すウェブページへのリンクが貼られるよう記載されたHTML文の情報である。なお、HTMLのクラス属性等を使用して、「大阪」という語句部分の表示態様(文字色等)を設定してもよい。
字幕情報取得部21は、ステップS39で生成されたヘッダ情報付きの字幕情報63、又はヘッダ情報付きのアクセス情報埋込済字幕情報64を字幕情報送出部22に引き渡す。字幕情報送出部22は、受け取った字幕情報63又はアクセス情報埋込済字幕情報64を送出する(ステップS40)。字幕情報送出部22から送出された字幕情報63又はアクセス情報埋込済字幕情報64はサーバ3に送信される。
(語句情報抽出及び送出処理)
図10は、語句情報抽出及び送出処理のフローチャートである。語句情報抽出及び送出処理は、字幕送出装置2がクライアント登録された後、繰り返し実行される。字幕送出装置2は、語句情報抽出及び送出処理を定期的に実行する。
図10に示すように、字幕送出装置2の関連情報生成部23は、字幕情報から語句情報を抽出する(ステップS51)。本実施形態において、関連情報生成部23は、語句抽出装置5を用いて字幕情報から語句情報を抽出する。よって、関連情報生成部23は、ステップS35で蓄積された字幕情報を取り出して語句抽出装置5に送信する。
ここで、関連情報生成部23による語句抽出処理(ステップS51)の実行間隔は、字幕情報取得部21によるリクエスト送信処理(ステップS31)の実行間隔よりも大きいことが好ましい。例えば、字幕情報取得部21によるリクエスト送信処理(ステップS31)を0.5〜1秒間隔で実行し、関連情報生成部23による語句抽出処理(ステップS51)を3〜6秒間隔で実行することができる。これにより、ある語句抽出処理から次の語句抽出処理までの間に複数の字幕情報を受信して蓄積し得るため(ステップS31及びステップS35)、複数の字幕情報をまとめて語句抽出装置5に送信することができる。
語句抽出装置5は、所定の規則にしたがって又はランダムに、字幕送出装置2から受信した1又は2以上の字幕情報から語句情報を抽出する。語句抽出装置5は、字幕送出装置2から受信した全ての字幕情報について受信単位で語句情報の抽出処理を行い、抽出した全ての語句情報を字幕送出装置2に返送する。
関連情報生成部23は、語句抽出装置5から返送された語句情報を取得する。本実施形態では、語句抽出装置5から複数の語句情報が返送されたものとして説明するが、関連情報生成部23は、語句情報抽出装置5から1の語句情報が返送された場合も同様の処理を行う。
関連情報生成部23は、まず、取得した語句情報群を所定の形式に変換する(ステップS52)。語句情報群は、端末装置4上で取り扱いやすい形式に変換することが好ましい。語句情報群は、例えばcsv形式のテキストデータに変換することができる。変換後の語句情報群は、字幕情報送出部22によって既に送出された字幕情報に関連する字幕関連情報の1つである。
関連情報生成部23は、形式変換後の語句情報群にヘッダ情報を付与する(ステップS53)。本実施形態では、語句情報群のヘッダ情報として「3000」が付与される。実データ部である語句情報群とヘッダ情報との間には、セパレータとしての文字情報が挿入される。
図11は、ステップS53で生成される語句情報群65の例である。語句情報群65は、ヘッダ情報650と、セパレータ651と、ステップS52で生成した語句情報群652とを含む。
図11の例における語句情報群65は、ヘッダ情報650である「3000」と、セパレータ651である「::」と、語句情報群652である「パーマ,カラー,髪,おしゃれ,」とを連結した文字列情報である。語句情報群652は、ステップS51で語句抽出装置5から返送された複数の語句情報をカンマで区切ったcsv形式の文字列情報である。
関連情報生成部23は、ステップS53で生成した語句情報群65を関連情報送出部24に引き渡す。関連情報送出部24は、語句情報群65を送出する(ステップS54)。関連情報送出部24から送出された語句情報群65は、サーバ3に送信される。
[サーバの処理]
サーバ3は、所定のヘッダ情報を有するコンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、及び語句情報群65の各々を字幕送出装置2から受信する。
サーバ3は、WebSocketによる接続が確立されている端末装置4に対し、字幕送出装置2から受信したコンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、及び語句情報群65をそのまま送信する。つまり、サーバ3は、コンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、及び語句情報群65について、実質的な加工を行うことなく端末装置4に配信する。サーバ3は、字幕送出装置2から各種情報を受信するとすぐに端末装置4に配信する。
[端末装置の処理]
各端末装置4は、字幕配信を受けるに際し、字幕配信用のウェブページの情報をサーバ3にリクエストし、字幕配信用のウェブページの情報をサーバ3から受信する。各端末装置4は、サーバから受信したウェブページの情報を解析し、当該ウェブページを画面に表示する。
ウェブページの情報は、ウェブページの外観と、WebSocketによる接続を確立するためのモジュールと、これらを制御するスクリプト部分とを含む。スクリプト部分は、例えばJavaScript(登録商標)で生成されている。このスクリプト部分は、当該ウェブページの読み込みが完了したときに、WebSocketによる接続を確立するためのモジュールを起動する。これにより、各端末装置4とサーバ3とのWebSocketによる接続が確立する。
なお、ウェブページ用のサーバと、WebSocket用のサーバは、同一のサーバであってもよいし、異なるサーバであってもよい。すなわち、サーバ3がウェブページ用のサーバ且つWebSocket用のサーバであってもよいし、ウェブページ用のサーバ及びWebSocket用のサーバのうち、一方がサーバ3であり、他方がサーバ3以外のサーバであってもよい。
サーバ3との間でWebSocketによる接続を確立している端末装置4は、サーバ3からコンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、及び語句情報群65を受信する。端末装置4は、コンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、又は語句情報群65がサーバ3から配信される都度、ウェブページ内のスクリプト部分を実行し、ウェブページの表示を変更する。
図12〜図17は、字幕配信用のウェブページ7を画面表示した端末装置4の例を示す図である。ウェブページ7は、番組名表示部71と、字幕表示部72とを含む。字幕表示部72は、最新の字幕情報を表示する最新表示部721と、配信された字幕情報を累積表示する累積表示部722とを含む。
以下、端末装置4において、コンテンツ情報62A又は62B、字幕情報63、アクセス情報埋込済字幕情報64、及び語句情報群65の各々が配信された場合のウェブページ7の表示処理について説明する。
端末装置4は、サーバ3から配信された情報のヘッダ情報を参照し、ヘッダ情報に応じた表示処理を行う。
(コンテンツ情報の配信時)
サーバ3から配信された情報がコンテンツ情報62A又は62Bである場合、すなわち、サーバ3から配信された情報のヘッダ情報が「1000」であった場合、端末装置4は、コンテンツ情報62A又は62Bに含まれる番組名情報623を所定のHTMLタグに挿入し、番組名表示部71に表示する。図12の例では、「XXXニュース」という番組名情報623が番組名表示部71に表示されている。コンテンツ情報62A又は62Bにアクセス情報625が含まれている場合、端末装置4は、番組名情報623をHTMLのリンクタグに挿入し、アクセス情報625が示すウェブページをリンク先として指定する。
(字幕情報の配信時)
サーバ3から配信された情報が字幕情報63である場合、すなわち、サーバ3から配信された情報のヘッダ情報が「2000」であった場合、端末装置4は、字幕情報63を所定のHTMLタグに挿入し、最新表示部721に表示する。図12の例では、「私は、今、大阪に来ています。」という字幕情報63が最新表示部721に表示されている。
既に説明した通り、サーバ3は、字幕送出装置2から字幕情報63を受信する都度、端末装置4に配信する。このため、端末装置4には字幕情報63が蓄積されていく。端末装置4は、新たな字幕情報63を受信した場合は当該字幕情報63を最新表示部721に表示し、それよりも前に受信した字幕情報63を累積表示部722に累積表示する。
端末装置4は、累積表示部722において、字幕情報63を配信された順に並べて表示する。例えば、累積表示部722において、新しく配信されたものほど上に位置するように字幕情報63を並べて表示してもよいし、新しく配信されたものほど下に位置するように字幕情報63を並べて表示しもよい。累積表示部722における字幕情報63の表示順は、予め定められていてもよいし、ウェブページ7上でのユーザの操作に応じて選択されるものであってもよい。
図13は、最新の字幕情報63を最新表示部721に表示し、過去の字幕情報63を累積表示部722に表示した例を示す図である。図13の例では、最新表示部721には、最新の字幕情報63である「大阪は、今日も快晴です。」が表示されている。累積表示部722には、過去の字幕情報63である「私は、今、大阪に来ています。」が表示されている。
累積表示部722に表示される字幕情報63の数は、予め設定されていてもよいし、ウェブページ7上のユーザの操作に応じて設定されてもよい。端末装置4は、累積表示部722に表示されている字幕情報63が所定の数に達している場合、新たな字幕情報63を受信した際に、累積表示部722の字幕情報63のうち最も古いものを非表示にする。
(アクセス情報埋込済字幕情報の配信時)
サーバ3から配信された情報がアクセス情報埋込済字幕情報64である場合、すなわち、サーバ3から配信された情報のヘッダ情報が「2100」であった場合、端末装置4は、アクセス情報埋込済字幕情報64をそのまま所定のHTMLタグに挿入し、ウェブページ7に表示する。以下、具体的に説明する。
図14は、アクセス情報埋込済字幕情報64が配信された後のウェブページ7を画面表示した端末装置4の例を示す図である。配信された最新のアクセス情報埋込済字幕情報64は、最新表示部721に表示される。図14の例では、最新表示部721において、「大阪」の部分にリンクが設定されたアクセス情報埋込済字幕情報64が表示されている。なお、アクセス情報埋込済字幕情報64も、字幕情報63と同様、サーバ3が字幕送出装置2から受信する都度、端末装置4に配信される。特に図示しないが、字幕情報63及び/又はアクセス情報埋込済字幕情報64が既に配信されている場合、過去の字幕情報63及び/又はアクセス情報埋込済字幕情報64は累積表示部722に表示される。
端末装置4は、アクセス情報埋込済字幕情報64のうちリンクが設定されている文字部分をユーザが容易に認識することができるよう、リンクが設定された文字部分の表示態様(文字色や網掛け等)をその他の文字部分の表示態様と異なるようにしてもよい。
(語句情報群の配信時)
サーバ3から配信された情報が語句情報群65である場合、すなわち、サーバ3から配信された情報のヘッダ情報が「3000」であった場合、端末装置4は、既に配信されている字幕情報63のうち、直近のものから所定数(例えば新しい方から4つ)を抽出する。端末装置4は、抽出された字幕情報63に対し、語句情報群65を使用して一括変換を行う。端末装置4は、アクセス情報埋込済字幕情報64については、語句情報群65を使用した一括変換を行わない。
具体的には、字幕情報63のうち、語句情報群65に含まれる各語句情報と一致する部分について、検索エンジンへのリンクを設定する変換が行われる。例えば、端末装置4は、字幕情報63のうち、語句情報群65に含まれる各語句情報と一致する部分をHTMLのリンクタグに埋め込み、当該一致部分を検索キーワードとする検索エンジンのURLをリンク先に設定する。リンク先の検索エンジンは、予め定められていてもよいし、ウェブページ7上におけるユーザの操作に応じて設定及び変更してもよい。
端末装置4は、ウェブページ7に表示されていた字幕情報63を、語句情報群65を使用して一括変換した後の字幕情報66に置き換えて表示する。図15は、語句情報群65が配信される前、図16は、語句情報群65が配信された後のウェブページ7を画面表示した端末装置4の例を示す図である。図15及び図16に例示するように、語句情報群65の配信前に最新表示部721及び累積表示部722に表示されていた「カラーやパーマ くり返すと・・・」、「パーマとか カラーとか・・・」、「髪のおしゃれ・・・」という字幕情報63は、語句情報群65の配信後、所定の語句部分に検索エンジンへのリンクが設定された字幕情報66に置換されている。なお、「XXX<サンプルはWebで>」アクセス情報埋込済字幕情報64の表示は、語句情報群65の配信前後において変更されていない。
端末装置4は、字幕情報66のうちリンクが設定されている文字部分をユーザが容易に認識することができるよう、リンクが設定された文字部分の色をその他の文字部分と異なる色に変更してもよい。また、ウェブページ7において、字幕情報66のうちリンクが設定されている文字部分は、アクセス情報埋込済字幕情報64のうちリンクが設定されている文字部分と異なる態様で表示されることが好ましい。表示態様は、例えば、文字色の相違や網掛けの有無等で異ならせることができる。
(その他)
ウェブページ7は、ユーザが各種表示設定を行えるように構成されていてもよい。例えば図17に示すように、ウェブページ7は、JavaScript(登録商標)等のスクリプトで生成される表示設定部73を含むことができる。端末装置4は、ユーザがアイコン74をタッチ又はクリックすることにより、表示設定部73の表示と非表示とを切り替えることができる。
図17の例では、表示設定部73は、フォントサイズ選択部731と、表示順切替部732と、背景色選択部733と、キーフレーズON/OFF切替部734とを含む。
端末装置4は、フォントサイズ選択部731におけるユーザの操作に応じて、ウェブページ7で表示する各種情報のフォントサイズを変更する。つまり、ユーザは、フォントサイズ選択部731での操作により、例えば「小」、「中」、「大」、「特大」からフォントサイズを選択することができる。
端末装置4は、表示順切替部732におけるユーザの操作に応じて、累積表示部722における字幕情報の表示順を切り替える。つまり、ユーザは、表示順切替部732での操作により、新しく配信された字幕情報ほど上に表示する降順、及び新しく配信された字幕情報ほど下に表示する昇順から、累積表示部722における字幕情報の表示順を選択することができる。
端末装置4は、累積表示部722における字幕情報の表示順の変更に応じ、最新表示部721の位置を変更してもよい。例えば、累積表示部722における字幕情報の表示順として降順が選択された場合、端末装置4は、累積表示部722の上方に最新表示部721を配置する。累積表示部722における字幕情報の表示順として昇順が選択された場合、端末装置4は、累積表示部722の下方に最新表示部721を配置する。
端末装置4は、背景色選択部733におけるユーザの操作に応じて、ウェブページ7の背景色を変更する。ユーザは、背景色選択部733での操作により、例えば「白」、「グレー」、「黒」からウェブページ7の背景色を選択することができる。
端末装置4は、キーフレーズON/OFF切替部734におけるユーザの操作に応じ、字幕情報63に対して検索エンジンへのリンクを設定するか否かを切り替える。つまり、ユーザがキーフレーズON/OFF切替部734で「OFF」を選択した場合、端末装置4は、サーバ3から語句情報群56を受信しても、字幕情報63に対して検索エンジンへのリンクの設定を行わない。つまり、キーフレーズON/OFF切替部734で「OFF」が設定された場合、字幕表示部72において、字幕情報63の表示を字幕情報66の表示に置き換える処理は行われない。ユーザがキーフレーズON/OFF切替部734で「ON」を選択した場合、端末装置4は、上述した通り、字幕情報63に対して検索エンジンへのリンクを設定する。
<実施形態の効果>
以上のように、本実施形態に係る字幕配信システム10において、字幕送出装置2は、字幕情報自体を受信するため、放送情報から字幕情報を抽出する処理等を行う必要がない。このため、字幕情報の送出にかかる時間を短縮することができる。
また、字幕送出装置2は、字幕抽出装置1より受信した字幕情報を加工することなくサーバ3に送出する。あるいは、字幕送出装置2は、記憶部25に記憶されているアクセス情報251b等、字幕送出装置2自身が保有する情報を用いた加工のみを字幕情報に施し、当該字幕情報をサーバ3に送出する。このため、字幕送出装置2では、字幕情報を受信してからサーバ3に送出するまでの間に遅延が発生する可能性が小さい。すなわち、字幕送出装置2では、字幕情報の取得から送出までにかかる時間を短縮することができる。
また、字幕送出装置2は、字幕情報を送出した後で、当該字幕情報に関連する字幕関連情報をサーバ3に送出する。すなわち、字幕送出装置2は、取得する字幕情報をリアルタイムにサーバ3に提供することができるだけでなく、字幕情報の付加情報としての字幕関連情報をサーバ3に提供することができる。
上記字幕配信システム10では、字幕送出装置2が送出した字幕情報やその他の情報は、サーバ3を介して各端末装置4に配信される。サーバ3は、字幕送出装置2から受信した各情報を実質的に加工することなく、各端末装置4に送信する。このため、サーバ3にかかる負荷が小さく、字幕送出装置2から送出された各情報が端末装置4に提供されるまでのタイムラグを非常に小さくすることができる。
字幕送出装置2は、字幕抽出装置1より受信した字幕情報に語句情報251aが含まれている場合、語句情報251aに対応するアクセス情報251bを含むアクセス情報埋込済字幕情報64を生成する。アクセス情報埋込済字幕情報64は、サーバ3を介して端末装置4に提供される。このため、端末装置4において、アクセス情報251bが示すウェブページにユーザを誘導し、ユーザの興味を引く有益な情報を提供することが可能となる。
字幕送出装置2は、ウェブページに適した記述形式で字幕情報にアクセス情報251bを埋め込むことによって、アクセス情報埋込済字幕情報64を生成する。すなわち、字幕送出装置2は、例えばHTML等、アクセス情報251bが指し示すウェブページを構成する言語の記述形式に則ってアクセス情報埋込済字幕情報64を生成する。このため、端末装置4では、アクセス情報埋込済字幕情報64をほぼそのまま表示することができる。
字幕送出装置2は、字幕抽出装置1より取得した字幕情報から語句情報を抽出し、抽出した語句情報を含む語句情報群65を生成する。語句情報群65は、サーバ3を介して端末装置4に提供される。このため、端末装置4は、既に配信されている字幕情報63に含まれるキーフレーズとなり得る部分を認識することができる。
本実施形態では、端末装置4において、字幕送出装置2から提供された字幕情報63のうち、語句情報群65に含まれる語句情報と一致する部分がHTMLのリンクタグに埋め込まれ、検索エンジンのURLがリンク先に設定される。つまり、字幕送出装置2では、字幕情報から抽出した語句情報を用いてリンクを設定する処理等が行われない。よって、字幕送出装置2の負荷を低減することができる。
字幕送出装置2は、字幕抽出装置1より取得した字幕情報を語句抽出装置5に送信し、この語句抽出装置5によって字幕情報から語句情報が抽出される。このため、字幕送出装置2が字幕情報から語句情報を抽出する処理を行う必要がなく、字幕送出装置2の負荷を低減することができる。
また、字幕送出装置2は、字幕抽出装置1より取得した字幕情報を蓄積し、複数の字幕情報を同時に語句抽出装置5に送信する。このため、字幕送出装置2と語句抽出装置5との通信回数を少なくし、通信負荷を低減することができる。
<変形例>
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能である。
上記実施形態では、字幕送出装置2の字幕情報取得部21は、字幕情報に所定の語句情報が含まれる場合、アクセス情報251bを含むアクセス情報埋込済字幕情報64を生成していたが、アクセス情報埋込済字幕情報64の生成処理を行わなくてもよい。つまり、字幕送出装置2は、常に字幕情報63をサーバ3に送信することとし、アクセス情報埋込済字幕情報64の生成・送信を行わないように構成されていてもよい。
上記実施形態では、字幕送出装置2の関連情報生成部23は、字幕情報から抽出された語句情報を含む語句情報群65を生成していたが、語句情報群65以外の字幕関連情報を生成して送出することもできる。
上記実施形態では、字幕送出装置2がウェブページの記述形式で字幕情報にアクセス情報251bに埋め込み、アクセス情報埋込済字幕情報64を生成していたが、ウェブページの記述形式に則した整形は端末装置4が行ってもよい。この場合、例えば、字幕送出装置2は、字幕抽出装置1より取得した字幕情報と、当該字幕情報に含まれる語句情報251aと、当該語句情報251aに対応するアクセス情報251bとをそのままサーバ3に送信すればよい。
上記実施形態では、語句情報251a及びアクセス情報251bは、字幕送出装置2の記憶部25に記憶されていたが、字幕送出装置2とは別の装置等に記憶することもできる。
上記実施形態では、字幕送出装置2は、複数の字幕情報をまとめて語句抽出装置5に送信していたが、字幕情報を1つずつ語句抽出装置5に送信してもよい。
上記実施形態では、字幕情報からの語句情報の抽出は、語句抽出装置5によって行われていたが、字幕送出装置2によって行われてもよい。
上記実施形態では、字幕送出装置2は、コンテンツ情報取得部26及びコンテンツ情報送出部27を備えていたが、コンテンツ情報取得部26及びコンテンツ情報送出部27は字幕送出装置2において必須の構成ではない。つまり、字幕送出装置2は、コンテンツ情報の取得及び送出を行わないように構成されていてもよい。