(57)【特許請求の範囲】
【請求項１】
コネクションが確立すると表示情報の配信の制御の開始を指示する開始メッセージを第１のプロトコルに従って送信するサーバからの前記開始メッセージを前記第１のプロトコルに従って処理するメッセージ処理部と、
前記サーバとの間で前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、
前記コネクションが確立されてから一定時間内に前記開始メッセージが前記メッセージ処理部により処理されない場合または前記コネクションが確立していないと前記接続確認部により判断された場合には前記サーバに対して前記第２のプロトコルに従って前記コネクションの確立を要求する接続要求部と
を具備する通信装置。
【請求項２】
前記接続確認部は、前記コネクションが確立しているか否かを一定間隔で前記第２のプロトコルに従って確認する
請求項１記載の通信装置。
【請求項３】
ファイルの保存場所の設定を要求するメッセージである保存場所設定要求メッセージに従って設定した前記保存場所から前記表示情報を含むファイルを取得するファイル取得部と、
前記取得されたファイルを前記コンテンツに対応付けて保持するファイルバッファと、
前記保持されたファイル内の表示情報のうち再生対象のコンテンツを指定するメッセージであるコンテンツ指定メッセージにより指定された前記コンテンツに対応する前記表示情報を送信する送信部と
をさらに備える請求項１または２に記載の通信装置。
【請求項４】
前記ファイル取得部は、前記表示情報に含まれる文字列を使用する言語を識別して前記ファイルを前記コンテンツおよび前記言語の組合せごとに前記ファイルバッファに保持させ
前記送信部は、前記ファイル内の表示情報のうち前記指定されたコンテンツに対応する前記表示情報を前記言語に基づいて送信する
請求項３記載の通信装置。
【請求項５】
前記表示装置は、頭部装着ディスプレイである
請求項１から４のいずれかに記載の通信装置。
【請求項６】
前記第１のプロトコルは、ＳＭＰＴＥ（Society of Motion Picture and Television Engineers）プロトコルである
請求項１から５のいずれかに記載の通信装置。
【請求項７】
コネクションが確立すると表示情報の配信の制御の開始を指示する開始メッセージを第１のプロトコルに従って送信するサーバと、
前記サーバからの前記開始メッセージを前記第１のプロトコルに従って処理するメッセージ処理部と、前記サーバとの間で前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、前記コネクションが確立されてから一定時間内に前記開始メッセージが前記メッセージ処理部により処理されない場合または前記コネクションが確立していないと前記接続確認部により判断された場合には前記サーバに対して前記第２のプロトコルに従って前記コネクションの確立を要求する接続要求部とを備える通信装置と
を具備する通信システム。
【請求項８】
コネクションが確立すると表示情報の配信の制御の開始を指示する開始メッセージを第１のプロトコルに従って送信するサーバからの前記開始メッセージを前記第１のプロトコルに従って処理するメッセージ処理手順と、
前記サーバとの間で前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認手順と、
前記コネクションが確立されてから一定時間内に前記開始メッセージが前記メッセージ処理部により処理されない場合または前記コネクションが確立していないと前記接続確認部により判断された場合には前記サーバに対して前記第２のプロトコルに従って前記コネクションの確立を要求する接続要求手順と
を具備する通信装置の制御方法。
【請求項９】
コネクションが確立すると表示情報の配信の制御の開始を指示する開始メッセージを第１のプロトコルに従って送信するサーバからの前記開始メッセージを前記第１のプロトコルに従って処理するメッセージ処理手順と、
前記サーバとの間で前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認手順と、
前記コネクションが確立されてから一定時間内に前記開始メッセージが前記メッセージ処理部により処理されない場合または前記コネクションが確立していないと前記接続確認部により判断された場合には前記サーバに対して前記第２のプロトコルに従って前記コネクションの確立を要求する接続要求手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、通信装置、通信システム、および、これらの制御方法ならびに当該方法をコンピュータに実行させるためのプログラムに関する。詳しくは、表示情報を表示装置に送信する通信装置、通信システム、および、これらの制御方法ならびに当該方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来、動画などのコンテンツの再生に同期して文字列や画像などの表示情報を表示装置に表示させる技術が知られている。表示される文字列は、映画の字幕などである。例えば、視聴者が読解可能な言語が複数である場合や、視聴者の一部にのみ字幕が必要である場合に、視聴者の各々が装着した表示装置へ表示情報をサーバが個別に配信するシステムが提案されている（例えば、特許文献１参照。）。このシステムにおいて、サーバからの表示情報は、例えば、サーバとＬＡＮ（Local Area Network）ケーブルなどで接続された送信装置に送信され、その送信装置から、表示装置の各々へ無線で表示情報が送信される。また、表示情報の配信を制御する通信プロトコルとして、ＳＭＰＴＥ（Society of Motion Picture and Television Engineers）などが用いられる。このＳＭＰＴＥは、ＴＣＰ（Transmission Control Protocol）をベースにしたプロトコルであり、サーバと送信装置との間にＴＣＰに従ってコネクションが確立されてから、ＳＭＰＴＥに基づいて表示情報の配信が開始される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２１２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のシステムにおいてＳＭＰＴＥなど、配信制御のためのプロトコルを使用した場合、表示情報の配信が中断されてしまうことがあった。上述のシステムでは、サーバと送信装置との間において、通信に障害が生じた場合に、サーバは通信障害を検知することができるが、送信装置は通信障害を検知できなかった。これは、ＳＭＰＴＥにおいて、送信装置がサーバに対して、応答を要求するメッセージを送信することができず、送信装置が通信状態を確認できないためである。この結果、障害発生時に、サーバが通信障害の検知に失敗した場合や、通信障害の検知が遅れた場合に、表示情報の配信が長時間、途切れてしまうことがあった。
【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、表示情報の配信の中断を防止するシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバとの間においてコネクションが確立している場合には上記配信を制御するための上記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理部と、上記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、上記コネクションが確立していない場合には上記第２のプロトコルに従って上記サーバに対して上記コネクションの確立を要求する接続要求部とを具備する通信装置、および、その制御方法ならびに当該方法をコンピュータに実行させるためのプログラムである。これにより、サーバとの間のコネクションが確立しているか否かが第２のプロトコルに従って確認され、コネクションが確立していない場合にサーバに対してコネクションの確立が要求されるという作用をもたらす。
【０００７】
また、この第１の側面において、上記接続要求部は、上記制御の開始を指示する上記メッセージである開始メッセージにより上記コネクションが確立してから一定期間内に上記制御が開始されない場合または上記コネクションが確立していない場合には上記サーバに対して上記第２のプロトコルに従って上記コネクションの確立を要求してもよい。これにより、コネクションが確立してから一定期間内にメッセージにより制御の開始が通知されない場合またはコネクションが確立していない場合に、サーバに対してコネクションの確立が要求されるという作用をもたらす。
【０００８】
また、この第１の側面において、上記接続確認部は、上記コネクションが確立しているか否かを一定間隔で確認してもよい。これにより、コネクションが確立しているか否かが一定間隔で確認されるという作用をもたらす。
【０００９】
また、この第１の側面において、上記ファイルの保存場所の設定を要求する上記メッセージである保存場所設定要求メッセージに従って設定した上記保存場所から上記表示情報を含むファイルを取得するファイル取得部と、上記取得されたファイルを上記コンテンツに対応付けて保持するファイルバッファと、上記保持されたファイル内の表示情報のうち再生対象のコンテンツを指定する上記メッセージであるコンテンツ指定メッセージにより指定された上記コンテンツに対応する上記表示情報を送信する送信部とをさらに具備してもよい。これにより、保存場所から取得されたファイル内の表示情報がコンテンツに対応付けて保持され、メッセージにより指定されたコンテンツに対応する表示情報が読み出されて表示装置に送信されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記ファイル取得部は、上記表示情報に含まれる文字列を使用する言語を識別して上記ファイルを上記コンテンツおよび上記言語の組合せごとに上記ファイルバッファに保持させ、上記送信部は、上記ファイル内の表示情報のうち上記指定されたコンテンツに対応する上記表示情報を上記言語に基づいて送信してもよい。これにより、言語に基づいて表示情報が送信されるという作用をもたらす。
【００１１】
また、この第１の側面において、上記表示装置は、頭部装着ディスプレイであってもよい。これにより、頭部装着ディスプレイに表示情報が送信されるという作用をもたらす。
【００１２】
また、本技術の第２の側面は、コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバと、上記サーバとの間においてコネクションが確立している場合には上記配信を制御するための上記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理部と、上記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、上記コネクションが確立していない場合には上記第２のプロトコルに従って上記サーバに対して上記コネクションの確立を要求する接続要求部とを備える通信装置とを具備する通信システムである。これにより、サーバとの間のコネクションが確立しているか否かが第２のプロトコルに従って確認され、コネクションが確立していない場合にサーバに対してコネクションの確立が要求されるという作用をもたらす。
【発明の効果】
【００１３】
本技術によれば、表示情報の配信の中断を防止することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１４】
【図１】実施の形態における字幕配信システムの一構成例を示す図である。
【図２】実施の形態における字幕配信サーバの一構成例を示すブロック図である。
【図３】実施の形態における字幕データ送信装置の一構成例を示すブロック図である。
【図４】実施の形態における字幕送信スケジュール管理部の一構成例を示すブロック図である。
【図５】実施の形態における字幕データ表示装置の一構成例を示すブロック図である。
【図６】実施の形態における字幕データの流れを説明するための図である。
【図７】実施の形態における保存場所提示ファイルの記載例を示す図である。
【図８】実施の形態における字幕データの一構成例を示す図である。
【図９】実施の形態における字幕データの記載例を示す図である。
【図１０】実施の形態におけるＳＭＰＴＥプロトコルに定義されたメッセージの一例を示す図である。
【図１１】実施の形態における字幕データの配信制御の一例を示すシーケンス図である。
【図１２】実施の形態における配信制御処理の一例を示すフローチャートである。
【図１３】実施の形態における応答処理の一例を示すフローチャートである。
【図１４】実施の形態におけるＴＣＰ接続管理部の状態の遷移を説明するための状態遷移図である。
【図１５】実施の形態におけるＴＣＰ接続処理の一例を示すフローチャートである。
【図１６】実施の形態におけるＳＭＰＴＥメッセージ処理の一例を示すフローチャートである。
【図１７】実施の形態における接続確認処理の一例を示すフローチャートである。
【図１８】実施の形態における保存場所提示ファイル取得処理の一例を示すフローチャートである。
【図１９】実施の形態における字幕ファイル保存場所読出処理の一例を示すフローチャートである。
【図２０】実施の形態における字幕ファイル取得処理の一例を示すフローチャートである。
【図２１】実施の形態における字幕データ読出処理の一例を示すフローチャートである。
【図２２】変形例における字幕データの記載例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（ＴＣＰ／ＩＰプロトコルに従って接続確認を行う例）
２．変形例
【００１６】
＜１．実施の形態＞
［通信システムの構成例］
図１は、実施の形態における通信システムの一構成例を示す図である。この通信システムは、コンテンツの再生に同期して表示装置に表示される表示情報を、表示装置の各々に配信するためのシステムである。表示情報は、例えば、映画の字幕を含む字幕データである。通信システムは、字幕配信サーバ１００と、ルータ１５０と、１つ以上の字幕データ送信装置２００と、１つ以上の字幕データ表示装置４００とを備える。なお、表示情報は、表示装置に表示される情報であれば、字幕データに限定されない。例えば、表示情報は、字幕以外の文字列や画像を含むものであってもよい。
【００１７】
字幕配信サーバ１００は、字幕データを表示装置に配信するものである。この字幕配信サーバ１００は、ルータ１５０などを介して字幕データ送信装置２００に字幕データを送信する。字幕配信サーバ１００と字幕データ送信装置２００との間の通信において、例えば、ＴＣＰ／ＩＰおよびＳＭＰＴＥプロトコルが使用される。ＳＭＰＴＥプロトコルにおいて、字幕配信サーバ１００は、ＤＣＳ（Digital Cinema Server）として扱われる。なお、字幕配信サーバ１００は、特許請求の範囲に記載のサーバの一例である。また、ＳＭＰＴＥプロトコルは、特許請求の範囲に記載の第１のプロトコルの一例であり、ＴＣＰ／ＩＰは、特許請求の範囲に記載の第２のプロトコルの一例である。
【００１８】
ルータ１５０は、字幕配信サーバ１００が属するネットワークと、字幕データ送信装置２００が属するネットワークとを相互に接続するものである。
【００１９】
字幕データ送信装置２００は、字幕配信サーバ１００により配信された字幕データを受信して、字幕データ表示装置４００の各々に無線送信するものである。例えば、字幕データ送信装置２００の各々は、一定以上の間隔で（部屋毎などに）設置され、字幕データ送信装置２００から、その通信範囲内にある字幕データ表示装置４００の各々に字幕データが送信される。ＳＭＰＴＥプロトコルにおいて、字幕データ送信装置２００は、ＡＣＳ（Auxiliary Content Server）として扱われる。なお、字幕データ送信装置２００は、特許請求の範囲に記載の通信装置の一例である。
【００２０】
字幕データ表示装置４００は、字幕データ送信装置２００から送信された字幕データを表示するものである。この字幕データ表示装置４００として、例えば、シースルー型の頭部装着ディスプレイ（ＨＭＤ：Head Mounted Display）が用いられる。
【００２１】
［字幕配信サーバの構成例］
図２は、実施の形態における字幕配信サーバ１００の一構成例を示すブロック図である。保存場所提示ファイル記憶部１１０、字幕ファイル記憶部１２０、ＴＣＰ／ＩＰ通信部１３０、ＳＭＰＴＥ通信部１４０を備える。
【００２２】
保存場所提示ファイル記憶部１１０は、保存場所提示ファイルを記憶するものである。ここで、保存場所提示ファイルは、コンテンツを識別するためのコンテンツ識別情報と、そのコンテンツに関連する１つ以上の字幕ファイルの各々の保存場所とを保持するものである。字幕ファイルの保存場所は、例えば、ＵＲＬ(Uniform Resource Locator)で指定される。保存場所提示ファイルは、例えば、ＳＭＰＴＥにおけるＲＰＬ（Resource Presentation List）ファイルである。また、字幕ファイルは、コンテンツ識別情報と、言語を識別するための言語識別情報と、その言語およびコンテンツにかかる１つ以上の字幕データとを保持するものである。字幕ファイルは、例えば、ＳＭＰＴＥにおけるSubtitle fileである。コンテンツ識別情報は、例えば、ＳＭＰＴＥにおけるPlayoutIDである。字幕ファイル記憶部１２０は、字幕ファイルを記憶するものである。
【００２３】
ＴＣＰ／ＩＰ通信部１３０は、ＴＣＰ／ＩＰに従って字幕データ送信装置２００との間で通信するものである。具体的には、ＴＣＰ／ＩＰ通信部１３０は、通信チャネル１０９−１を介してＴＣＰに従ってメッセージを送受信することにより、字幕データ送信装置２００との間においてコネクションを確立する。また、通信状態を確認するために応答を要求するメッセージ（例えば、ｐｉｎｇ）を受信した場合に、ＴＣＰ／ＩＰ通信部１３０は、ＩＰに従って応答メッセージを送信する。さらに、ＴＣＰ／ＩＰ通信部１３０は、通信チャネル１０９−３および１０９−４を介してＩＰに従ってメッセージを送受信することにより、字幕データ送信装置２００へ保存場所提示ファイルおよび字幕ファイルを配信する。
【００２４】
ＳＭＰＴＥ通信部１４０は、ＴＣＰによりコネクションが確立している場合に、ＳＭＰＴＥプロトコルに従って、字幕データ送信装置２００との間で通信チャネル１０９−２を介して通信するものである。ＳＭＰＴＥプロトコルによる通信手順の詳細については後述する。
【００２５】
なお、保存場所提示ファイル記憶部１１０および字幕ファイル記憶部１２０を字幕配信サーバ１００内に設ける構成としているが、字幕配信サーバ１００が管理する保存場所であれば、これらを字幕配信サーバ１００外に設ける構成であってもよい。
【００２６】
［字幕データ送信装置の構成例］
図３は、実施の形態における字幕データ送信装置２００の一構成例を示すブロック図である。字幕データ送信装置２００は、ＴＣＰ接続管理部２１０、接続確認部２２０、ＳＭＰＴＥメッセージ処理部２３０、および、ＲＰＬファイル保存場所バッファ２４０を備える。また、字幕データ送信装置２００は、保存場所提示ファイル取得部２５０、保存場所提示ファイルバッファ２６０、字幕ファイル保存場所読出部２７０、字幕送信制御部２８０、字幕ファイル保存場所バッファ２９０を備える。さらに、字幕データ送信装置２００は、字幕ファイル取得部３００、字幕ファイルバッファ３１０および字幕データ読出部３２０を言語ごとに備え、字幕送信スケジュール管理部３３０および字幕データ送信部３４０を備える。字幕データ送信装置２００が、例えば、６言語の字幕データを送信する場合、字幕ファイル取得部３００、字幕ファイルバッファ３１０および字幕データ読出部３２０の組は、６組設けられる。
【００２７】
ＴＣＰ接続管理部２１０は、通信チャネル１５９−１を介してＴＣＰに従ってメッセージを送受信することにより字幕配信サーバ１００との間においてコネクションの確立および切断を行うものである。このＴＣＰ接続管理部２１０は、コネクションを確立した場合、接続完了を接続確認部２２０に通知する。ここで、通信チャネル１５９−１は、図２における通信チャネル１０９−１に対応するものである。コネクションの確立においては、例えば、ソケットコマンドの実行によりＳＹＮ、ＳＹＮ／ＡＣＫ、および、ＡＣＫメッセージを送受信する３ウェイハンドシェークが用いられる。コネクションの切断においては、例えば、ＦＩＮおよびＡＣＫメッセージが送受信される。
【００２８】
また、ＴＣＰ接続管理部２１０は、コネクションが確立している場合に、通信チャネル１５９−２を介してＳＭＰＴＥメッセージを受信した場合は、ＳＭＰＴＥメッセージ処理部２３０に、そのメッセージを処理させる。ここで、通信チャネル１５９−２は、図２における通信チャネル１０９−２に対応するものである。
【００２９】
さらに、コネクションが確立してから一定時間内に、配信制御を開始するためのメッセージを受信しなかった場合、または、接続確認部２２０がコネクションの切断を検知した場合には、ＴＣＰ接続管理部２１０は、コネクションの再接続を実行する。配信制御を開始するためのメッセージは、例えば、ＳＭＰＴＥにおけるアナウンスメッセージである。
【００３０】
なお、ＴＣＰ接続管理部２１０は、特許請求の範囲における接続要求部の一例である。
【００３１】
接続確認部２２０は、通信チャネル１５９−１を介してＩＰに従ってメッセージを送受信することにより字幕配信サーバ１００との間においてコネクションが確立しているか否かを判断するものである。具体的には、接続確認部２２０は、ＴＣＰ接続管理部２１０がコネクションを確立した後、字幕配信サーバ１００にｐｉｎｇメッセージなどを送信する。そして、接続確認部２２０は、ｐｉｎｇメッセージを送信してから一定時間内に応答メッセージを受信しなかった場合にコネクションが確立していないと判断（言い換えれば、コネクションの切断を検知）する。コネクションの切断を検知した場合、接続確認部２２０は、コネクションの再接続を要求する再接続要求をＴＣＰ接続管理部２１０に出力する。なお、接続確認部２２０は、字幕配信サーバ１００に対して応答を要求するメッセージであれば、ＴＣＰ／ＩＰに従ってｐｉｎｇメッセージ以外のメッセージを送信することにより接続を確認してもよい。
【００３２】
ＳＭＰＴＥメッセージ処理部２３０は、ＳＭＰＴＥプロトコルに従って、字幕配信サーバ１００からのメッセージを処理するものである。具体的には、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージに対する応答メッセージを字幕配信サーバ１００に通信チャネル１５９−２を介して送信する。また、ＳＭＰＴＥメッセージ処理部２３０は、保存場所提示ファイルの保存場所および再生対象のコンテンツ識別情報を含むＲＰＬ保存場所設定要求メッセージを受信した場合には、その保存場所をＲＰＬファイル保存場所バッファ２４０に保持させる。保存場所提示ファイルの保存場所は、例えば、ＵＲＬで指定される。
【００３３】
また、ＳＭＰＴＥメッセージ処理部２３０は、タイムライン更新要求メッセージと、出力モード設定要求メッセージとから、タイムラインの現在位置と再生の開始または終了の指示とを取り出す。ここで、タイムライン更新要求メッセージは、サーバが管理するタイムラインにおける現在位置の更新を要求するメッセージである。出力モード設定要求メッセージは、コンテンツ識別情報とともに、そのコンテンツに関連する字幕の再生の開始または終了を出力モードの有効または無効により指示するメッセージである。ＳＭＰＴＥメッセージ処理部２３０は、開始または終了の指示と、コンテンツ識別情報と、現在位置のタイミングとを再生タイミングデータとして字幕送信制御部２８０に供給する。
【００３４】
ＲＰＬファイル保存場所バッファ２４０は、保存場所提示ファイルの保存場所（RPL URL）を保持するものである。ＲＰＬファイル保存場所バッファ２４０は管理方式として、例えば、キュー制御方式を使用する。
【００３５】
保存場所提示ファイル取得部２５０は、保存場所提示ファイルの保存場所（RPL URL）から、保存場所提示ファイルを取得するものである。この保存場所提示ファイル取得部２５０は、例えば、保存場所を指定して、保存場所提示ファイルの送信を要求するメッセージをＩＰに従って字幕配信サーバ１００に送信して、保存場所提示ファイルをダウンロードする。保存場所提示ファイル取得部２５０は、取得した保存場所提示ファイルを保存場所提示ファイルバッファ２６０に保持させる。
【００３６】
保存場所提示ファイルバッファ２６０は、保存場所提示ファイルを保持するものである。この保存場所提示ファイルバッファ２６０は管理方式として、例えば、キュー制御方式を使用する。
【００３７】
字幕送信制御部２８０は、再生タイミングデータに基づいて、字幕ファイル保存場所読出部２７０等を制御するものである。字幕ファイル保存場所読出部２７０のほか、字幕ファイル保存場所バッファ２９０、字幕ファイル取得部３００、字幕ファイルバッファ３１０、字幕データ読出部３２０および字幕送信スケジュール管理部３３０も制御される。具体的には、字幕送信制御部２８０は、再生の開始が指示されたコンテンツ識別情報と、タイムラインにおける現在位置とを、字幕ファイル保存場所読出部２７０等に通知する。また、字幕送信制御部２８０は、再生の終了が指示されたコンテンツに関連する字幕ファイル保存場所、字幕ファイル、および、字幕データをバッファ（２９０、３１０および３３０）から削除する。
【００３８】
字幕ファイル保存場所読出部２７０は、字幕送信制御部２８０の制御に従って、再生対象のコンテンツに関連する保存場所提示ファイルを読み出し、その字幕場所提示ファイルに記載された字幕ファイルの保存場所（Subtitle URL）を読み出すものである。字幕ファイル保存場所読出部２７０は、読み出した保存場所提示ファイルを保存場所提示ファイルバッファ２６０において削除する。そして、字幕ファイル保存場所読出部２７０は、字幕送信制御部２８０から受け取ったタイムラインにおける現在位置と、保存場所提示ファイルに記載の再生期間とから、コンテンツの再生が終了したか否かを判断する。字幕ファイル保存場所読出部２７０は、再生前または再生中のコンテンツの保存場所提示ファイルについては、字幕ファイル保存場所バッファ２９０に保持させる。一方、再生終了したコンテンツの保存場所提示ファイルについては、字幕ファイル保存場所読出部２７０は、字幕ファイル保存場所バッファ２９０に保持させずに削除のみを行う。
【００３９】
字幕ファイル保存場所バッファ２９０は、コンテンツ識別情報（PlayoutID）と対応付けて字幕ファイルの保存場所（Subtitle URL）を保持するものである。この字幕ファイル保存場所バッファ２９０は管理方式として、例えば、キュー制御方式を使用する。
【００４０】
字幕ファイル取得部３００は、字幕送信制御部２８０の制御に従って、再生対象のコンテンツおよび所定の言語に対応する字幕ファイルを取得するものである。例えば、字幕ファイル取得部３００の各々には、異なる言語の言語識別情報が設定される。また、字幕ファイルバッファ３１０の各々と、字幕ファイル取得部３００の各々とは、１対１に対応付けられる。字幕ファイル取得部３００は、コンテンツ識別情報を字幕送信制御部２８０から受け取り、そのコンテンツ識別情報と設定された言語識別情報とが一致する字幕ファイルの保存場所（Subtitle URL）を字幕ファイル保存場所バッファ２９０から読み出す。そして、字幕ファイル取得部３００は、それらの保存場所から字幕ファイルを取得する。字幕ファイル取得部３００は、読み出した字幕ファイルの保存場所を字幕ファイル保存場所バッファ２９０から削除する。
【００４１】
そして、字幕ファイル取得部３００は、字幕送信制御部２８０から受け取ったタイムラインにおける現在位置と、字幕ファイルに記載の字幕の再生期間とから字幕の再生が終了したか否かを判断する。字幕ファイル取得部３００は、再生前または再生中の字幕の字幕ファイルについては、対応する字幕ファイルバッファ３１０に保持させる。一方、再生終了したコンテンツの字幕ファイルについては、字幕ファイル取得部３００は、字幕ファイルバッファ３１０に保持させずに削除のみを行う。なお、字幕ファイル取得部３００は、特許請求の範囲に記載のファイル取得部の一例である。また、字幕ファイル取得部３００は、再生前または再生中の字幕ファイルであっても、現在位置に基づいて送信が間に合わないと判断した場合には削除のみを行ってもよい。
【００４２】
字幕ファイルバッファ３１０は、字幕送信制御部２８０の制御に従って、対応する字幕ファイル取得部３００により取得された字幕ファイル（Subtitle file）を保持するものである。この字幕ファイルバッファ３１０は管理方式として、例えば、キュー制御方式を使用する。なお、字幕ファイルバッファ３１０は、特許請求の範囲に記載のファイルバッファの一例である。
【００４３】
字幕データ読出部３２０は、字幕送信制御部２８０の制御に従って、再生対象のコンテンツに関連する字幕ファイルを字幕ファイルバッファ３１０から読み出し、その字幕ファイルから字幕データを順に読み出すものである。また、字幕データ読出部３２０は、読み出した字幕ファイルを字幕ファイルバッファ３１０から削除する。
【００４４】
そして、字幕データ読出部３２０は、字幕送信制御部２８０から受け取ったタイムラインにおける現在位置と、字幕データに記載の字幕の再生期間とから字幕の再生が終了したか否かを判断する。字幕ファイル取得部３００は、再生前または再生中の字幕データについては、字幕送信スケジュール管理部３３０に供給する。一方、再生終了した字幕データについては、字幕データ読出部３２０は、字幕送信スケジュール管理部３３０に供給せずに削除のみを行う。なお、字幕データ読出部３２０は、再生前または再生中の字幕データであっても、現在位置に基づいて送信が間に合わないと判断した場合には削除のみを行ってもよい。
【００４５】
字幕送信スケジュール管理部３３０は、字幕送信制御部２８０の制御に従って、再生対象のコンテンツに関連する字幕データの各々の送信スケジュールを決定するものである。この字幕送信スケジュール管理部３３０は、各々の字幕データの送信回数と、言語とに基づいて字幕データの送信順序を決定する。例えば、英語の字幕データ＃１と日本語の字幕データ＃２とのそれぞれを２回ずつ送信する場合、字幕データ＃１、字幕データ＃２、字幕データ＃１、字幕データ＃２の順序で送信される。あるいは、字幕データ＃１、字幕データ＃１、字幕データ＃２、字幕データ＃２の順序で送信される。字幕送信スケジュール管理部３３０は、送信順序の順に、字幕データを字幕データ送信部３４０に供給する。
【００４６】
字幕データ送信部３４０は、通信範囲内の字幕データ表示装置４００の各々に字幕データを無線送信するものである。字幕送信スケジュール管理部３３０および字幕データ送信部３４０は、特許請求の範囲に記載の送信部の一例である。
【００４７】
図４は、字幕送信スケジュール管理部３３０の一構成例を示すブロック図である。この字幕送信スケジュール管理部３３０は、字幕データ読出部３２０の各々に対応する字幕データバッファ３３１と、送信字幕データ読出部３３２とを備える。
【００４８】
字幕データバッファ３３１は、対応する字幕データ読出部３２０からの字幕データを保持するものである。この字幕データバッファ３３１は管理方式として、例えば、キュー制御方式を使用する。
【００４９】
送信字幕データ読出部３３２は、字幕送信制御部２８０の制御に従って字幕データの送信スケジュールを決定し、その送信スケジュールに基づいて字幕データを字幕データバッファ３３１から読み出すものである。送信字幕データ読出部３３２は、読み出した字幕データを字幕データバッファ３３１から削除する。また、送信字幕データ読出部３３２は、字幕送信制御部２８０から受け取ったタイムラインにおける現在位置と、字幕データに記載の字幕の再生期間とから字幕の再生が終了したか否かを判断する。送信字幕データ読出部３３２は、再生前または再生中の字幕データについては、字幕データ送信部３４０に供給する。一方、再生終了した字幕データについては、送信字幕データ読出部３３２は、字幕データ送信部３４０に供給せずに削除のみを行う。
【００５０】
［字幕データ表示装置の構成例］
図５は、実施の形態における字幕データ表示装置４００の一構成例を示すブロック図である。字幕データ表示装置４００は、字幕データ受信部４１０、受信字幕データバッファ４２０、言語選択部４３０、表示字幕データ生成部４４０、表示字幕データバッファ４５０、および、表示部４６０を備える。
【００５１】
字幕データ受信部４１０は、字幕データ送信装置２００から無線送信された字幕データを受信するものである。字幕データ受信部４１０は、受信した字幕データを受信字幕データバッファ４２０に保持させる。
【００５２】
受信字幕データバッファ４２０は、受信された字幕データを保持するものである。この受信字幕データバッファ４２０は管理方式として、例えば、キュー制御方式を使用する。
【００５３】
言語選択部４３０は、表示部４６０に表示される言語に対応する字幕データを受信字幕データバッファ４２０内の字幕データの中から選択するものである。表示部４６０に表示される言語は、ユーザのスイッチ操作などにより変更される。言語選択部４３０は、選択した字幕データを表示字幕データ生成部４４０に供給する。
【００５４】
表示字幕データ生成部４４０は、供給された字幕データに基づいて、表示部４６０に表示するためのデータを表示字幕データとして生成するものである。例えば、字幕データに記載されたフォント、文字列、および、表示位置や表示部４６０の仕様などに基づいて表示字幕データが生成される。表示字幕データ生成部４４０は、生成した表示字幕データを表示字幕データバッファ４５０に保持させる。
【００５５】
表示字幕データバッファ４５０は、生成された表示字幕データを保持するものである。この表示字幕データバッファ４５０は管理方式として、例えば、キュー制御方式を使用する。
【００５６】
表示部４６０は、表示字幕データバッファ４５０から表示字幕データを読み出して表示するものである。
【００５７】
図６は、実施の形態における字幕データの流れを説明するための図である。まず、字幕配信サーバ１００からのＲＰＬ保存場所設定要求メッセージにより保存場所提示ファイルの保存場所（RPL URL）が通知されると、その保存場所がＲＰＬファイル保存場所バッファ２４０に保持される。
【００５８】
保持された保存場所提示ファイルの保存場所から取得された保存場所提示ファイル（RPL file）２６１は、保存場所提示ファイルバッファ２６０に保持される。保存場所提示ファイル２６１には、コンテンツ識別情報とともに、そのコンテンツ識別情報に関連する字幕ファイル保存場所（Subtitle URL）２６２、２６３および２６４などが記載される。また、保存場所提示ファイル２６１において、それぞれの字幕ファイル保存場所に対応付けて言語識別情報が記載される。
【００５９】
保持された保存場所提示ファイルから言語ごとに取得された字幕ファイル保存場所２６２等は、字幕ファイル保存場所バッファ２９０に保持される。
【００６０】
保持された字幕ファイル保存場所から取得された字幕ファイル（Subtitle file）３１１は、字幕ファイルバッファ３１０に保持される。この字幕ファイルには、コンテンツおよび言語に対応する字幕データ３１２、３１３および３１４等が、各々の再生期間とともに記載される。
【００６１】
保持された字幕ファイルから読み出された字幕データ(Subtitle)は、字幕データバッファ３３１に保持される。保持された字幕データは、送信スケジュールに従って送信される。
【００６２】
図６に例示したように、保存場所（ＵＲＬ）をバッファ（２４０または２９０）に保持することにより、その保存場所からファイルが確実にダウンロードされる。また、ファイルをバッファ（２６０または３１０）に保持するより、そのファイルに記載されたデータが確実に読み出される。さらに字幕データを字幕データバッファ３３１に保持することにより、送信スケジュールに従って、字幕データが確実に送信される。
【００６３】
図７は、保存場所提示ファイルの記載例を示す図である。図７に示すように、保存場所提示ファイルは、例えば、ＸＭＬ（Extensible Markup Language）により、字幕ファイル保存場所２６２等が言語および再生期間とともに記載される。具体的には、「Resource file」タグの要素として、保存場所２６２等が記載される。
【００６４】
図８は、実施の形態における字幕データの一構成例を示す図である。この字幕データは、コンテンツ識別情報（PlayotID）、言語識別情報（LanguageID）、表示開始時刻（TimeIn）、表示終了時刻（TimeOut）および文字列情報（String）などを含む。
【００６５】
表示開始時刻および表示終了時刻は、字幕データの表示の開始および終了の時刻を示すものである。文字列情報は、字幕として表示される文字列のデータである。
【００６６】
図９は、字幕データの記載例を示す図である。図９に示すように、この字幕データには、例えば、ＸＭＬにより、コンテンツ識別情報３１２−１、言語識別情報３１２−２、表示開始時刻３１２−３、表示終了時刻３１２−４および文字列情報３１２−５が記載される。具体的には、「Id」タグの要素としてコンテンツ識別情報３１２−１が記載され、「Language」タグの要素として言語識別情報３１２−２が記載される。また、「Subtitle」タグにおける「TimeIn」属性として表示開始時刻３１２−３が記載され、「TimeOut」属性として表示終了時刻３１２−４が記載される。そして、「Text」タグの要素として、文字列情報３１２−５が記載される。
【００６７】
図１０は、実施の形態におけるＳＭＰＴＥプロトコルに定義されたメッセージの一例を示す図である。ＳＭＰＴＥプロトコルにおいては、アナウンス、新規リース取得要求、ステータス取得要求、ＲＰＬ保存場所設定要求、出力モード設定要求、タイムライン更新要求、および、リース終了要求などのメッセージが定義されている。
【００６８】
アナウンスメッセージは、受信側のデバイス（字幕データ送信装置２００など）がＳＭＰＴＥプロトコルを解釈することができることをＤＣＳ（字幕配信サーバ１００など）が確認するために送信されるメッセージである。このメッセージの送受信により、配信の制御が開始される。なお、アナウンスメッセージは、特許請求の範囲に記載の開始メッセージの一例である。
【００６９】
新規リース取得要求メッセージは、通信チャネルのリース期間を設定するためにＤＣＳにより送信されるメッセージである。
【００７０】
ステータス取得要求メッセージは、ＡＣＳ（字幕データ送信装置２００など）の現在のステータスをＤＣＳが取得するために送信されるメッセージである。
【００７１】
ＲＰＬ保存場所設定要求メッセージは、保存場所提示ファイルの保存場所をＤＣＳがＡＣＳに提供するメッセージである。なお、ＲＰＬ保存場所設定要求メッセージは、特許請求の範囲に記載の保存場所設定要求メッセージの一例である。
【００７２】
出力モード設定要求メッセージは、リソース（字幕など）の出力を有効にするか否かをＤＣＳがＡＣＳに指示するメッセージである。出力モード設定要求メッセージには、コンテンツ識別情報（Playout ID）と、出力モードの状態とが記載される。この出力モードに有効が設定された場合は、そのコンテンツ識別情報に関連する字幕データの再生が開始される。なお、出力モード設定要求メッセージは、特許請求の範囲に記載のコンテンツ指定メッセージの一例である。
【００７３】
タイムライン更新要求メッセージは、タイムラインにおける現在位置をＤＣＳがＡＣＳに提供するメッセージである。
【００７４】
リース終了メッセージは、通信チャネルのリースの終了と、現在のリースに関する全データの破棄とをＤＣＳが指示するメッセージである。
【００７５】
［通信システムの動作例］
図１１は、実施の形態における字幕データの配信制御の一例を示すシーケンス図である。まず、ＳＭＰＴＥプロトコルにおける通信を確立する通信確立フェーズが開始される。字幕データ送信装置２００がソケットコマンドを実行して字幕配信サーバ１００との間の接続が完了すると、字幕配信サーバ１００は、アナウンスメッセージを字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、通信確立フェーズは終了する。
【００７６】
通信確立フェーズ終了後、通信チャネルのリースを開始する開始フェーズが開始される。字幕配信サーバ１００は、新規リース取得要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、開始フェーズは終了する。
【００７７】
開始フェーズ終了後、字幕配信サーバ１００は、ステータス取得要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、保存場所提示ファイルの保存場所を読み出すための保存場所読出しフェーズが開始される。
【００７８】
保存場所読出しフェーズにおいて、字幕配信サーバ１００は、ＲＰＬファイル保存場所設定要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、保存場所読出しフェーズは終了する。
【００７９】
保存場所読出しフェーズ終了後、字幕配信サーバ１００は、ステータス取得要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、字幕データ表示装置４００に保存を再生させるための字幕再生フェーズが開始される。一方、Processingが記載されたメッセージが返信されると、字幕再生フェーズは開始されない。
【００８０】
字幕再生フェーズにおいて、字幕配信サーバ１００は、タイムライン更新要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、字幕配信サーバ１００は、次に、有効（Enable）を記載した出力モード設定要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、字幕配信サーバ１００は、必要に応じて（例えば、定期的に）タイムライン更新要求やステータス取得要求を字幕データ送信装置２００に送信する。そして、字幕配信サーバ１００は、字幕の再生を終了させる場合に、無効（Disable）を記載した出力モード設定要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、字幕再生フェーズは終了する。
【００８１】
字幕再生フェーズの終了後、通信チャネルのリースを終了する終了フェーズが開始される。終了フェーズにおいて、字幕配信サーバ１００は、リース終了要求を字幕データ送信装置２００に送信する。ＯＫが記載された応答メッセージが返信されると、終了フェーズは終了する。
【００８２】
［字幕配信サーバの動作例］
図１２は、実施の形態における字幕配信サーバ１００が実行する配信制御処理の一例を示すフローチャートである。この配信制御処理は、例えば、字幕配信サーバ１００に電源が投入され、字幕の配信を制御するためのプログラムが実行されたときに開始される。
【００８３】
字幕配信サーバ１００は、字幕データ送信装置２００からのコネクションの確立（すなわち、接続）の要求があるか否かを判断する（ステップＳ９０１）。接続の要求がある場合（ステップＳ９０１：Ｙｅｓ）、字幕配信サーバ１００は、ＴＣＰに従ってソケット接続を行い、コネクションを確立する（ステップＳ９０２）。
【００８４】
字幕配信サーバ１００は、ＳＭＰＴＥプロトコルに従って、アナウンスメッセージを送信する（ステップＳ９０３）。
【００８５】
そして、字幕配信サーバ１００は、アナウンスメッセージを送信してから所定時間（例えば、１０秒）以内に、アナウンスに対する応答メッセージを受信したか否かを判断する（ステップＳ９０４）。所定時間内にアナウンスに対する応答メッセージを受信した場合には（ステップＳ９０４：Ｙｅｓ）、字幕配信サーバ１００は、ＳＭＰＴＥプロトコルに基づいて、字幕データの送信を開始する（ステップＳ９０５）。
【００８６】
接続の要求がない場合（ステップＳ９０１：Ｎｏ）、所定時間内に応答メッセージを受信しなかった場合（ステップＳ９０４：Ｎｏ）、または、ステップＳ９０５の後、字幕配信サーバ１００は、ステップＳ９０１に戻る。
【００８７】
図１３は、実施の形態における字幕配信サーバ１００が実行する応答処理の一例を示すフローチャートである。この応答処理は、例えば、字幕配信サーバ１００に電源が投入され、字幕データ送信装置２００との間の通信を制御するためのプログラムが実行されたときに開始される。字幕配信サーバ１００は、字幕データ送信装置２００からの接続確認の要求（例えば、ｐｉｎｇ）があるか否かを判断する（ステップＳ９０６）。
【００８８】
接続確認の要求がある場合（ステップＳ９０６：Ｙｅｓ）には、字幕配信サーバ１００は、ＩＰに従って、応答メッセージを返信する（ステップＳ９０７）。接続確認の要求がない場合（ステップＳ９０６：Ｎｏ）、または、ステップＳ９０７の後、字幕配信サーバ１００は、ステップＳ９０６に戻る。
【００８９】
［字幕データ送信装置の動作例］
図１４は、実施の形態におけるＴＣＰ接続管理部２１０の状態の遷移を説明するための状態遷移図である。ＴＣＰ接続管理部２１０の状態は、初期状態８１０、アナウンス待ち状態８２０、および、ＳＭＰＴＥ通信状態８３０を含む。ＴＣＰ接続管理部２１０が字幕データの送信処理を開始する場合には、初期状態８１０に遷移する。
【００９０】
初期状態８１０においてＴＣＰ接続管理部２１０は、コネクションの確立（すなわち、ソケット接続）を試みる。ソケット接続に成功した場合には、ＴＣＰ接続管理部２１０は、アナウンス待ち状態８２０に遷移する。一方、ソケット接続に失敗した場合には、ＴＣＰ接続管理部２１０は、初期状態８１０を維持する。
【００９１】
アナウンス待ち状態８２０において、ＴＣＰ接続管理部２１０は、ソケット接続成功から一定時間内にアナウンスメッセージを受信したか否かを判断する。アナウンスメッセージを一定時間内に受信しなかったことを、以下、アナウンスの「タイムアウト」と称する。タイムアウトが発生した場合、または、接続確認部２２０によりソケットの再接続が要求された場合には、ＴＣＰ接続管理部２１０は、初期状態８１０に遷移する。一方、一定時間内にアナウンスメッセージを受信した場合には、ＴＣＰ接続管理部２１０は、ＳＭＰＴＥ通信状態８３０に遷移する。
【００９２】
ＳＭＰＴＥ通信状態８３０において、ＴＣＰ接続管理部２１０は、ＳＭＰＴＥプロトコルにおけるメッセージをＳＭＰＴＥメッセージ処理部２３０に処理させる。また、接続確認部２２０によりソケットの再接続が要求された場合には、ＴＣＰ接続管理部２１０は、初期状態８１０に遷移する。
【００９３】
図１５は、実施の形態におけるＴＣＰ接続処理の一例を示すフローチャートである。このＴＣＰ接続処理は、例えば、字幕データ送信装置２００が字幕データの送信処理を開始する場合にＴＣＰ接続管理部２１０により開始される。
【００９４】
ＴＣＰ接続管理部２１０は初期状態８１０に遷移し、ソケット接続を実行する（ステップＳ９１１）。ソケット接続の完了後、ＴＣＰ接続管理部２１０は、アナウンス待ち状態８２０に遷移する（ステップＳ９１２）。
【００９５】
ＴＣＰ接続管理部２１０は、アナウンス待ち状態８２０に遷移してから、一定時間（例えば、５秒）が経過したか否かを判断する（ステップＳ９１３）。
【００９６】
一定時間が経過していない場合（ステップＳ９１３：Ｎｏ）には、ＴＣＰ接続管理部２１０は、接続確認部２２０から再接続を要求されたか否かを判断する（ステップＳ９１４）。
【００９７】
接続確認部２２０から再接続を要求されていない場合（ステップＳ９１４：Ｎｏ）には、ＴＣＰ接続管理部２１０は、ＳＭＰＴＥプロトコルにおけるメッセージを受信したか否かを判断する（ステップＳ９１５）。
【００９８】
ＳＭＰＴＥプロトコルにおけるメッセージを受信した場合（ステップＳ９１５：Ｙｅｓ）には、ＴＣＰ接続管理部２１０は、そのメッセージがアナウンスメッセージであるか否かを判断する（ステップＳ９１６）。
【００９９】
アナウンスメッセージである場合（ステップＳ９１６：Ｙｅｓ）には、ＴＣＰ接続管理部２１０は、ＳＭＰＴＥ通信状態８３０に遷移する（ステップＳ９１７）。
【０１００】
アナウンスメッセージでない場合（ステップＳ９１６：Ｎｏ）、または、ステップＳ９１７の後、ＴＣＰ接続管理部２１０は、受信したメッセージをＳＭＰＴＥメッセージ処理部２３０に処理させるＳＭＰＴＥメッセージ処理を実行する（ステップＳ９３０）。
【０１０１】
ＳＭＰＴＥプロトコルにおけるメッセージを受信していない場合（ステップＳ９１５：Ｎｏ）、または、ステップＳ９３０の後、ＴＣＰ接続管理部２１０は、ステップＳ９１３に戻る。
【０１０２】
一定時間が経過した場合（ステップＳ９１３：Ｙｅｓ）、または、再接続を要求された場合（ステップＳ９１４：Ｙｅｓ）には、ＴＣＰ接続管理部２１０は、ソケット接続を切断する（ステップＳ９１９）。そして、ＴＣＰ接続管理部２１０は、初期状態８１０に遷移する（ステップＳ９２０）。
【０１０３】
ＴＣＰ接続管理部２１０は、初期状態８１０に遷移してから一定時間（例えば、５秒）が経過したか否かを判断する（ステップＳ９２１）。一定時間が経過していない場合（ステップＳ９２１：Ｎｏ）には、ＴＣＰ接続管理部２１０は、ステップＳ９２１に戻る。
【０１０４】
一定時間が経過した場合（ステップＳ９２１：Ｙｅｓ）には、ＴＣＰ接続管理部２１０は、ステップＳ９１１に戻る。
【０１０５】
図１６は、実施の形態におけるＳＭＰＴＥメッセージ処理の一例である。ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージがアナウンスメッセージであるか否かを判断する（ステップＳ９３１）。
【０１０６】
アナウンスメッセージでなければ（ステップＳ９３１：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージが新規リース取得要求メッセージであるか否かを判断する（ステップＳ９３２）。
【０１０７】
新規リース取得要求メッセージでなければ（ステップＳ９３２：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージがＲＰＬ保存場所設定要求メッセージであるか否かを判断する（ステップＳ９３３）。
【０１０８】
ＲＰＬ保存場所設定要求メッセージであれば（ステップＳ９３３：Ｙｅｓ）、ＳＭＰＴＥメッセージ処理部２３０は、そのメッセージにより指定された保存場所提示ファイルの保存場所をＲＰＬファイル保存場所バッファ２４０に保持させる（ステップＳ９３４）。
【０１０９】
ＲＰＬ保存場所設定要求メッセージでなければ（ステップＳ９３３：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージがステータス取得要求メッセージであるか否かを判断する（ステップＳ９３５）。
【０１１０】
ステータス取得要求メッセージでなければ（ステップＳ９３５：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージがタイムライン更新要求メッセージであるか否かを判断する（ステップＳ９３６）。
【０１１１】
タイムライン更新要求メッセージであれば（ステップＳ９３６：Ｙｅｓ）、ＳＭＰＴＥメッセージ処理部２３０は、そのメッセージからタイムラインにおける現在位置と、コンテンツ識別情報とを取得する。そして、ＳＭＰＴＥメッセージ処理部２３０は、現在位置およびコンテンツ識別情報を含む再生タイミングデータを字幕送信制御部２８０に供給する（ステップＳ９３７）。
【０１１２】
タイムライン更新要求メッセージでなければ（ステップＳ９３６：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージが出力モード設定要求メッセージであるか否かを判断する（ステップＳ９３８）。
【０１１３】
出力モード設定要求メッセージであれば（ステップＳ９３８：Ｙｅｓ）、ＳＭＰＴＥメッセージ処理部２３０は、そのメッセージから再生の開始または終了の指示と、コンテンツ識別情報とを取得する。そして、ＳＭＰＴＥメッセージ処理部２３０は、その指示およびコンテンツ識別情報を含む再生タイミングデータを字幕送信制御部２８０に供給する（ステップＳ９３９）。
【０１１４】
出力モード設定要求メッセージでなければ（ステップＳ９３８：Ｎｏ）、ＳＭＰＴＥメッセージ処理部２３０は、受信したメッセージがリース終了要求メッセージであるか否かを判断する（ステップＳ９４０）。
【０１１５】
アナウンスメッセージである場合（ステップＳ９３１：Ｙｅｓ）、新規リース取得要求メッセージである場合（ステップＳ９３２：Ｙｅｓ）、ＳＭＰＴＥメッセージ処理部２３０は、それらの要求メッセージに対する応答メッセージを返信する（ステップＳ９４１）。
【０１１６】
また、ステップＳ９３４の後、ステータス取得要求メッセージである場合（ステップＳ９３５：Ｙｅｓ）、または、ステップＳ９３７の後、ＳＭＰＴＥメッセージ処理部２３０は、それらの要求メッセージに対する応答メッセージを返信する（ステップＳ９４１）。
【０１１７】
また、ステップＳ９３９の後、リース要求メッセージである場合（ステップＳ９４０：Ｙｅｓ）、ＳＭＰＴＥメッセージ処理部２３０は、それらの要求メッセージに対する応答メッセージを返信する（ステップＳ９４１）。
【０１１８】
リース要求メッセージでない場合（ステップＳ９４０：Ｎｏ）、または、ステップＳ９４１の後、ＳＭＰＴＥメッセージ処理部２３０は、ＳＭＰＴＥメッセージ処理を終了する。
【０１１９】
図１７は、実施の形態における接続確認処理の一例を示すフローチャートである。この接続確認処理は、例えば、字幕データ送信装置２００が字幕データの送信処理を開始する場合に接続確認部２２０により開始される。
【０１２０】
接続確認部２２０は、ＴＣＰ接続管理部２１０がソケット接続を完了済みであるか否かを判断する（ステップＳ９５１）。
【０１２１】
ソケット接続が完了済みであれば（ステップＳ９５１：Ｙｅｓ）、接続確認部２２０は、ＴＣＰによる接続が確立しているか否かを確認するために、ｐｉｎｇコマンドなどを実行する（ステップＳ９５２）。所定時間（例えば、４秒）内に、ｐｉｎｇに対する応答があったか否かを判断する（ステップＳ９５３）。
【０１２２】
所定時間内に応答がなかった場合には（ステップＳ９５３：Ｎｏ）、接続確認部２２０は、ＴＣＰ接続管理部２１０に対して再接続を要求する（ステップＳ９５４）。
【０１２３】
所定時間内に応答がなかった場合には（ステップＳ９５３：Ｙｅｓ）、接続確認部２２０は、応答の待ち時間（４秒）経過後、一定時間（例えば、０．５秒）が経過したか否かを判断する（ステップＳ９５５）。一定時間が経過していなければ（ステップＳ９５５：Ｎｏ）、接続確認部２２０は、ステップＳ９５５に戻る。
【０１２４】
ソケット接続が完了していない場合（ステップＳ９５１：Ｎｏ）、一定時間が経過した場合（ステップＳ９５５：Ｙｅｓ）、または、ステップＳ９５４の後、接続確認部２２０は、
ステップＳ９５１に戻る。
【０１２５】
図１８は、実施の形態における保存場所提示ファイル取得処理の一例を示すフローチャートである。この保存場所提示ファイル取得処理は、例えば、字幕データ送信装置２００が字幕データの送信処理を開始する場合に保存場所提示ファイル取得部２５０により開始される。保存場所提示ファイル取得部２５０は、保存場所提示ファイルバッファ２６０に空きがあるか否かを判断する（ステップＳ９６１）。空きがあれば（ステップＳ９６１：Ｙｅｓ）、保存場所提示ファイルの保存場所がＲＰＬファイル保存場所バッファ２４０に保持されているか否かを判断する（ステップＳ９６２）。
【０１２６】
保存場所提示ファイルの保存場所が保持されていれば（ステップＳ９６２：Ｙｅｓ）、保存場所提示ファイル取得部２５０は、最初に保持された保存場所をＲＰＬファイル保存場所バッファ２４０から読み出す（ステップＳ９６３）。保存場所提示ファイル取得部２５０は、読み出した保存場所から保存場所提示ファイルを取得する（ステップＳ９６４）。保存場所提示ファイル取得部２５０は、取得した保存場所提示ファイルを保存場所提示ファイルバッファ２６０に追加する（ステップＳ９６５）。
【０１２７】
保存場所提示ファイルバッファ２６０に空きがない場合（ステップＳ９６１：Ｎｏ）、保存場所が保持されていない場合（ステップＳ９６２：Ｎｏ）、または、ステップＳ９６５の後、保存場所提示ファイル取得部２５０は、ステップＳ９６１に戻る。
【０１２８】
図１９は、実施の形態における字幕ファイル保存場所読出処理の一例を示すフローチャートである。この字幕ファイル保存場所読出処理は、例えば、字幕データ送信装置２００が字幕データの送信処理を開始する場合に字幕ファイル保存場所読出部２７０により開始される。字幕ファイル保存場所読出部２７０は、字幕ファイル保存場所バッファ２９０に空きがあるか否かを判断する（ステップＳ９７１）。
【０１２９】
空きがあれば（ステップＳ９７１：Ｙｅｓ）、オープン中の保存場所提示ファイルがあるか否かを判断する（ステップＳ９７２）。オープン中の保存場所提示ファイルがなければ（ステップＳ９７２：Ｎｏ）、保存場所提示ファイルバッファ２６０に保持されている保存場所提示ファイルがあるか否かを判断する（ステップＳ９７３）。
【０１３０】
保持されている保存場所提示ファイルがあれば（ステップＳ９７３：Ｙｅｓ）、字幕ファイル保存場所読出部２７０は、通知されたコンテンツ識別情報に対応する保存場所提示ファイルを読み出してファイルオープンを実行する（ステップＳ９７４）。字幕ファイル保存場所読出部２７０は、読み出した保存場所提示ファイル内において、使用すべき字幕ファイルの保存場所を検索する。例えば、字幕ファイル保存場所読出部２７０は、字幕ファイル取得部３００の各々が対応する言語識別情報に関連する字幕ファイルの保存場所を検索する（ステップＳ９７５）。
【０１３１】
字幕ファイル保存場所読出部２７０は、検索した字幕ファイルの保存場所があるか否かを判断する（ステップＳ９７６）。検索した字幕ファイルの保存場所があれば（ステップＳ９７６：Ｙｅｓ）、字幕ファイル保存場所読出部２７０は、保存場所提示ファイルから、その字幕ファイルの保存場所を読み出す（ステップＳ９７７）。字幕ファイル保存場所読出部２７０は、読み出した保存場所を字幕ファイル保存場所バッファ２９０に追加する（ステップＳ９７８）。
【０１３２】
検索した字幕ファイルの保存場所がなければ（ステップＳ９７６：Ｎｏ）、字幕ファイル保存場所読出部２７０は、読み出した字幕場所提示ファイルのファイルクローズを実行する（ステップＳ９７９）。
【０１３３】
字幕ファイル保存場所バッファ２９０に空きがない場合（ステップＳ９７１：Ｎｏ）、または、保持されている保存場所提示ファイルがない場合（ステップＳ９７３：Ｎｏ）、字幕ファイル保存場所読出部２７０は、ステップＳ９７１に戻る。また、ステップＳ９７８またはＳ９７９の後、字幕ファイル保存場所読出部２７０は、ステップＳ９７１に戻る。
【０１３４】
図２０は、実施の形態における字幕ファイル取得処理の一例を示すフローチャートである。この字幕ファイル取得処理は、例えば、字幕送信制御部２８０により再生対象のコンテンツ識別情報が通知されたときに、字幕ファイル取得部３００により開始される。字幕ファイル取得部３００は、字幕ファイルバッファ３１０に空きがあるか否かを判断する（ステップＳ９８１）。空きがあれば（ステップＳ９８１：Ｙｅｓ）、字幕ファイルの保存場所が字幕ファイル保存場所バッファ２９０に保持されているか否かを判断する（ステップＳ９８２）。
【０１３５】
保存場所が保持されていれば（ステップＳ９８２：Ｙｅｓ）、字幕ファイル取得部３００は、通知されたコンテンツ識別情報と、所定の言語とに対応する字幕ファイルの保存場所を字幕ファイル保存場所バッファ２９０から読み出す（ステップＳ９８３）。字幕ファイル取得部３００は、読み出した保存場所から字幕ファイルを取得する（ステップＳ９８４）。そして、字幕ファイル取得部３００は、字幕ファイルを字幕ファイルバッファ３１０に追加する（ステップＳ９８５）。
【０１３６】
字幕ファイルバッファ３１０に空きがない場合（ステップＳ９８１：Ｎｏ）、保存場所が保持されていない場合（ステップＳ９８２：Ｎｏ）、または、ステップＳ９８５の後、字幕ファイル取得部３００は、ステップＳ９８１に戻る。
【０１３７】
図２１は、実施の形態における字幕データ読出処理の一例を示すフローチャートである。この字幕データ読出処理は、例えば、字幕送信制御部２８０により再生対象のコンテンツ識別情報が通知されたときに、字幕データ読出部３２０により開始される。
【０１３８】
字幕データ読出部３２０は、対応する字幕データバッファ３３１に空きがあるか否かを判断する（ステップＳ９９１）。空きがあれば（ステップＳ９９１：Ｙｅｓ）、字幕データ読出部３２０は、オープン中の字幕ファイルがあるか否かを判断する（ステップＳ９９２）。オープン中の字幕ファイルがなければ（ステップＳ９９２：Ｎｏ）、字幕データ読出部３２０は、対応する字幕ファイルバッファ３１０に保持されている字幕ファイルがあるか否かを判断する（ステップＳ９９３）。保持されている字幕ファイルがあれば（ステップＳ９９３：Ｙｅｓ）、字幕データ読出部３２０は、最初に保持された字幕ファイルを読み出して、ファイルオープンを実行する（ステップＳ９９４）。
【０１３９】
オープン中の字幕ファイルがある場合（ステップＳ９９２：Ｙｅｓ）、または、ステップＳ９９４の後、字幕データ読出部３２０は、読み出した字幕ファイルから、必要な字幕データを抽出する。字幕データ読出部３２０は、例えば、タイムラインの現在位置以降の字幕データを必要な字幕データとして抽出する（ステップＳ９９５）。字幕データ読出部３２０は、必要な字幕データを抽出したか否かを判断する（ステップＳ９９６）。抽出した場合には（ステップＳ９９６：Ｙｅｓ）、字幕データ読出部３２０は、抽出した字幕データを字幕送信スケジュール管理部３３０に供給する（ステップＳ９９７）。読み出した字幕ファイルから字幕データを抽出しなかった場合には（ステップＳ９９６：Ｎｏ）、字幕データ読出部３２０は、その字幕ファイルのファイルクローズを実行する（ステップＳ９９８）。
【０１４０】
字幕データバッファ３３１に空きがない場合（ステップＳ９９１：Ｎｏ）、保持されている字幕ファイルがない場合（ステップＳ９９３：Ｎｏ）、あるいは、ステップＳ９９７またはＳ９９８の後、字幕データ読出部３２０は、ステップＳ９９１に戻る。
【０１４１】
このように、本技術の実施の形態によれば、字幕データ送信装置２００は、ＳＭＰＴＥ通信中に、コネクションが確立しているか否かをＴＣＰに従って確認して、コネクションが確立していない場合には、そのコネクションを確立することができる。このため、サーバに対して通信状態を確認するための手順が規定されてないプロトコル（ＳＭＰＴＥなど）を使用するシステムにおいて通信障害によりコネクションが切断されても、字幕データ送信装置２００により再接続される。この結果、字幕データが途切れることが防止される。
【０１４２】
＜２．変形例＞
［字幕データの構成例］
図２２は、変形例における字幕データの記載例を示す図である。この変形例に係る字幕データ送信装置２００は、ＳＭＰＴＥプロトコルの代わりにＩｎｔｅｒｏｐプロトコルを使用する点において、上述の実施の形態と異なる。図２２に示すように、Ｉｎｔｅｒｏｐでは、「Subtitle Id」タグの要素としてコンテンツ識別情報３１２−１が記載される。言語識別情報３１２−２、表示開始時刻３１２−３、および、表示終了時刻３１２−４の記載書式にも微細な差がある。例えば、ＳＭＰＴＥでは英語を示す言語識別情報として「ｅｎ」が記載されるのに対して、Ｉｎｔｅｒｏｐでは、「Ｅｎｇｌｉｓｈ」が記載される。また、ＳＭＰＴＥではフレーム単位で時刻が記載されるのに対し、Ｉｎｔｅｒｏｐでは、秒単位で時刻が記載される。文字列情報３１２−５の記載は、ＳＭＰＴＥと同様である。このように、記載方法などが一部異なるが、変形例の字幕データには、字幕の配信制御に必要な情報（コンテンツ識別情報３１２−１等）が全て含まれている。このため、変形例の字幕データ送信装置２００は、実施の形態と同様の制御を行うことができ、ＳＭＰＴＥの代わりにＩｎｔｅｒｏｐプロトコルを使用する場合においても、表示情報の配信が中断されることを防止することができる。
【０１４３】
なお、字幕データ送信装置２００は、表示情報の配信を制御するためのプロトコルであれば、ＳＭＰＴＥプロトコルやＩｎｔｅｒｏｐプロトコル以外のプロトコルを使用することもできる。
【０１４４】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１４５】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【０１４６】
なお、本技術は以下のような構成もとることができる。
（１）コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバとの間においてコネクションが確立している場合には前記配信を制御するための前記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理部と、
前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、
前記コネクションが確立していない場合には前記第２のプロトコルに従って前記サーバに対して前記コネクションの確立を要求する接続要求部と
を具備する通信装置。
（２）前記接続要求部は、前記制御の開始を指示する前記メッセージである開始メッセージにより前記コネクションが確立してから一定期間内に前記制御が開始されない場合または前記コネクションが確立していない場合には前記サーバに対して前記第２のプロトコルに従って前記コネクションの確立を要求する
前記（１）記載の通信装置。
（３）前記接続確認部は、前記コネクションが確立しているか否かを一定間隔で前記第２のプロトコルに従って確認する
前記（１）または（２）記載の通信装置。
（４）前記ファイルの保存場所の設定を要求する前記メッセージである保存場所設定要求メッセージに従って設定した前記保存場所から前記表示情報を含むファイルを取得するファイル取得部と、
前記取得されたファイルを前記コンテンツに対応付けて保持するファイルバッファと、
前記保持されたファイル内の表示情報のうち再生対象のコンテンツを指定する前記メッセージであるコンテンツ指定メッセージにより指定された前記コンテンツに対応する前記表示情報を送信する送信部と
をさらに具備する前記（１）乃至（３）のいずれかに記載の通信装置。
（５）前記ファイル取得部は、前記表示情報に含まれる文字列を使用する言語を識別して前記ファイルを前記コンテンツおよび前記言語の組合せごとに前記ファイルバッファに保持させ
前記送信部は、前記ファイル内の表示情報のうち前記指定されたコンテンツに対応する前記表示情報を前記言語に基づいて送信する
前記（４）記載の通信装置。
（６）前記表示装置は、頭部装着ディスプレイである
前記（１）乃至（５）のいずれかに記載の通信装置。
（７）コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバと、
前記サーバとの間においてコネクションが確立している場合には前記配信を制御するための前記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理部と、前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認部と、前記コネクションが確立していない場合には前記第２のプロトコルに従って前記サーバに対して前記コネクションの確立を要求する接続要求部とを備える通信装置と
を具備する通信システム。
（８）メッセージ処理部が、コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバとの間においてコネクションが確立している場合には前記配信を制御するための前記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理手順と、
接続確認部が、前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認手順と、
接続要求部が、前記コネクションが確立していない場合には前記第２のプロトコルに従って前記サーバに対して前記コネクションの確立を要求する接続要求手順と
を具備する通信装置の制御方法。
（９）メッセージ処理部が、コンテンツの再生に同期して表示装置に表示される表示情報を配信するサーバとの間においてコネクションが確立している場合には前記配信を制御するための前記サーバからのメッセージを第１のプロトコルに従って処理するメッセージ処理手順と、
接続確認部が、前記コネクションが確立しているか否かを第２のプロトコルに従って確認する接続確認手順と、
接続要求部が、前記コネクションが確立していない場合には前記第２のプロトコルに従って前記サーバに対して前記コネクションの確立を要求する接続要求手順と
をコンピュータに実行させるためのプログラム。
【符号の説明】
【０１４７】
１００  字幕配信サーバ
１１０  保存場所提示ファイル記憶部
１２０  字幕ファイル記憶部
１３０  ＴＣＰ／ＩＰ通信部
１４０  ＳＭＰＴＥ通信部
１５０  ルータ
２００  字幕データ送信装置
２１０  ＴＣＰ接続管理部
２２０  接続確認部
２３０  ＳＭＰＴＥメッセージ処理部
２４０  ＲＰＬファイル保存場所バッファ
２５０  保存場所提示ファイル取得部
２６０  保存場所提示ファイルバッファ
２７０  字幕ファイル保存場所読出部
２８０  字幕送信制御部
２９０  字幕ファイル保存場所バッファ
３００  字幕ファイル取得部
３１０  字幕ファイルバッファ
３２０  字幕データ読出部
３３０  字幕送信スケジュール管理部
３３１  字幕データバッファ
３３２  送信字幕データ読出部
３４０  字幕データ送信部
４００  字幕データ表示装置
４１０  字幕データ受信部
４２０  受信字幕データバッファ
４３０  言語選択部
４４０  表示字幕データ生成部
４５０  表示字幕データバッファ
４６０  表示部
【図１】
0005874443.tif 000002
【図２】
0005874443.tif 000003
【図３】
0005874443.tif 000004
【図４】
0005874443.tif 000005
【図５】
0005874443.tif 000006
【図６】
0005874443.tif 000007
【図７】
0005874443.tif 000008
【図８】
0005874443.tif 000009
【図９】
0005874443.tif 000010
【図１０】
0005874443.tif 000011
【図１１】
0005874443.tif 000012
【図１２】
0005874443.tif 000013
【図１３】
0005874443.tif 000014
【図１４】
0005874443.tif 000015
【図１５】
0005874443.tif 000016
【図１６】
0005874443.tif 000017
【図１７】
0005874443.tif 000018
【図１８】
0005874443.tif 000019
【図１９】
0005874443.tif 000020
【図２０】
0005874443.tif 000021
【図２１】
0005874443.tif 000022
【図２２】
0005874443.tif 000023