(57)【要約】本技術は、フラグメント化されたテキスト情報の表示を継続することができるようにする受信装置及びその制御方法、配信装置及び配信方法、プログラム、並びに配信システムに関する。受信部は、IPTVサーバからライブ配信されるコンテンツのストリームを受信し、TTデコーダは、受信したストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析し、表示制御部は、TTデコーダによる解析結果に従って、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、第１のテキスト情報の表示が継続されるように表示を制御する。本技術は、例えば、IPを利用してデジタルテレビ放送を配信するIPTVにおけるIPTVクライアントに適用することができる。
2013088986.tif 000002
【特許請求の範囲】
【請求項１】
ライブ配信されるコンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析する解析部と、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
を備える受信装置。
【請求項２】
前記テキスト情報は、その内容を記述した構造化文書と、前記構造化文書に適用される表示形式を定義した表示定義文書から構成され、
前記第１のテキスト情報の内容を記述した第１の構造化文書には、前記第１のテキスト情報の表示開始を示す時刻が記述され、
前記第２のテキスト情報の内容を記述した第２の構造化文書には、前記第１のテキスト情報の表示終了を示す時刻及び前記第２のテキスト情報の表示開始を示す時刻が記述されており、
前記制御部は、解析結果に従って、前記第１の構造化文書に記述された前記第１のテキスト情報の表示開始を示す時刻に応じて、前記第１のテキスト情報の表示を開始した後、前記第２の構造化文書に記述された前記第１のテキスト情報の表示終了を示す時刻に応じて、表示中の前記第１のテキスト情報の表示を終了する
請求項１に記載の受信装置。
【請求項３】
前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に先となり、
前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻に応じて、前記第２のテキスト情報の表示を開始する
請求項２に記載の受信装置。
【請求項４】
前記第２の構造化文書には、前記第２のテキスト情報の表示終了を示す時刻がさらに記述されており、
前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻に応じて、前記第２のテキスト情報の表示を終了する
請求項３に記載の受信装置。
【請求項５】
前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に後となる
請求項４に記載の受信装置。
【請求項６】
前記表示定義文書は、その表示形式の定義内容が変更されるまで、同一のものが前記構造化文書に適用されるようになされる
請求項２に記載の受信装置。
【請求項７】
前記ストリームは、MP4ファイルフォーマットに準拠したフォーマットのデータであり、
前記字幕データは、TTML（Timed Text Markup Language）の規格に準拠している
請求項１に記載の受信装置。
【請求項８】
受信装置の制御方法において、
前記受信装置が、
ライブ配信されるコンテンツのストリームを受信し、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析し、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する
ステップを含む制御方法。
【請求項９】
コンピュータを、
ライブ配信されるコンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析する解析部と、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
して機能させるためのプログラム。
【請求項１０】
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
を備える配信装置。
【請求項１１】
配信装置の配信方法において、
前記配信装置が、
ライブ配信するためのコンテンツのストリームを生成し、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得し、
前記字幕データを含む前記コンテンツのストリームをライブ配信する
ステップを含む配信方法。
【請求項１２】
コンピュータを、
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
として機能させるためのプログラム。
【請求項１３】
配信装置及び受信装置からなる配信システムにおいて、
前記配信装置は、
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
を備え、
前記受信装置は、
前記コンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる前記字幕データに対応するフラグメント化された前記テキスト情報を解析する解析部と、
解析結果に従って、前記テキスト情報のうち、前記第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
を備える
配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、受信装置及びその制御方法、配信装置及び配信方法、プログラム、並びに配信システムに関し、特に、フラグメント化されたテキスト情報の表示を継続することができるようにした受信装置及びその制御方法、配信装置及び配信方法、プログラム、並びに配信システムに関する。
【背景技術】
【０００２】
近年のインターネットの普及に伴い、例えばIP（Internet Protocol）を用いて動画配信を行うIPTV（Internet Protocol TeleVision）などのインターネットストリーミングに関するサービスが各種提供されている。インターネットストリーミングにおける標準化の流れとして、HTTP（HyperText Transfer Protocol）ストリーミングによるVOD（Video On Demand）ストリーミングや、ライブストリーミングに適用される方式の標準化が行われている。コンテナレイヤのフォーマットとしては、MP4ファイルフォーマットが有力視されている。【０００３】
また、ストリームの構成要素として字幕データが格納されている場合、字幕データを格納したファイルを基に、字幕の表示が行われることになる（例えば、特許文献１参照）。【０００４】
字幕（サブタイトル）の表示には、W3C（World Wide Web Consortium）により標準化されたTTML（Timed Text Markup Language）を利用するのが標準になりつつある。W3CのTTMLは、他の標準化団体でも採用が進んでおり、Timed Text系の有力なフォーマットとして注目されている。【０００５】
TTMLは、XML（Extensible Markup Language）ドキュメントで処理に比較的時間がかかるといわれている。従って、それをライブストリーミングに適用する際には連続して短い時間に細切れに生成されるチャンク化されたTTMLドキュメントインスタンスをリアルタイム処理しなければならず、フォーマットや処理系に工夫が必要となる。そのため、現在、アダプティブストリーミングフォーマットの標準となりそうなDASH（Dynamic Adaptive Streaming over HTTP）や、ストリーミングの主要なファイルフォーマットであるMP4において、リアルタイム処理可能なようにTTMLを格納する方式が必須であると考えられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−３０１６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
TTMLは、その構造上、レイアウトやスタイルの属性を指定するイニシャライズドキュメントインスタンスと、表示される文字列からなるボディドキュメントインスタンスにタイプが分けられる。これは、TTMLの規格で、Informative Annexとして既に規定されている。【０００８】
これら２種類の記述内容のTTMLドキュメントを１つのドキュメントとしてまとめて配信することも可能であるが、受信側でその都度、XMLドキュメント全体をパースしていては処理系のオーバヘッドがかかる可能性がある。TTMLのStyle属性やLayout属性等の表示形式に関する属性は、レンダリングコンテクスト初期化時に一度だけ受信側に通知すればよく、実際のTTMLのテキストチャンク（表示する文字列）は、レンダリングコンテクストの設定に必要な内容とは分離して、続けて通知することができる。【０００９】
しかしながら、このように分離して送られるフラグメント化されたテキスト情報は、当該テキスト情報を表示中に、次のフラグメントが取得されると、表示を継続しておくことができない。特に、ライブ放送などでは、どのタイミングで、どの字幕に対応するテキスト情報が表示されるべきかをあらかじめ知ることができないため、現在表示中のテキスト情報の表示を継続させることができない。【００１０】
そのため、フラグメント化されたテキスト情報の表示を継続するための技術方式の確立が求められている。【００１１】
本技術はこのような状況に鑑みてなされたものであり、フラグメント化されたテキスト情報の表示を継続することができるようにするものである。
【課題を解決するための手段】
【００１２】
本技術の第１の側面の受信方法は、ライブ配信されるコンテンツのストリームを受信する受信部と、受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析する解析部と、解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部とを備える。【００１３】
前記テキスト情報は、その内容を記述した構造化文書と、前記構造化文書に適用される表示形式を定義した表示定義文書から構成され、前記第１のテキスト情報の内容を記述した第１の構造化文書には、前記第１のテキスト情報の表示開始を示す時刻が記述され、前記第２のテキスト情報の内容を記述した第２の構造化文書には、前記第１のテキスト情報の表示終了を示す時刻及び前記第２のテキスト情報の表示開始を示す時刻が記述されており、前記制御部は、解析結果に従って、前記第１の構造化文書に記述された前記第１のテキスト情報の表示開始を示す時刻に応じて、前記第１のテキスト情報の表示を開始した後、前記第２の構造化文書に記述された前記第１のテキスト情報の表示終了を示す時刻に応じて、表示中の前記第１のテキスト情報の表示を終了する。【００１４】
前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に先となり、前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻に応じて、前記第２のテキスト情報の表示を開始する。【００１５】
前記第２の構造化文書には、前記第２のテキスト情報の表示終了を示す時刻がさらに記述されており、前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻に応じて、前記第２のテキスト情報の表示を終了する。【００１６】
前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に後となる。【００１７】
前記表示定義文書は、その表示形式の定義内容が変更されるまで、同一のものが前記構造化文書に適用されるようになされる。【００１８】
前記ストリームは、MP4ファイルフォーマットに準拠したフォーマットのデータであり、前記字幕データは、TTML（Timed Text Markup Language）の規格に準拠している。【００１９】
本技術の第１の側面の制御方法及びプログラムは、前述した本技術の第１の側面の受信装置に対応する、制御方法及びプログラムである。【００２０】
本技術の第１の側面の受信装置、制御方法、及びプログラムにおいては、ライブ配信されるコンテンツのストリームが受信され、受信されたストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報が解析され、その解析結果に従って、テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、第１のテキスト情報の表示が継続されるように表示が制御される。【００２１】
本技術の第２の側面の配信装置は、ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部とを備える。【００２２】
本技術の第２の側面の配信方法及びプログラムは、前述した本技術の第２の側面の配信装置に対応する、配信方法及びプログラムである。【００２３】
本技術の第２の側面の配信装置、配信方法、及びプログラムにおいては、ライブ配信するためのコンテンツのストリームが生成され、コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に第１のテキスト情報の表示が継続されるようにフラグメント化されたテキスト情報が取得され、字幕データを含むコンテンツのストリームがライブ配信される。【００２４】
本技術の第３の側面の配信システムは、配信装置及び受信装置からなる配信システムにおいて、前記配信装置は、ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部とを備え、前記受信装置は、前記コンテンツのストリームを受信する受信部と、受信した前記ストリームに含まれる前記字幕データに対応するフラグメント化された前記テキスト情報を解析する解析部と、解析結果に従って、前記テキスト情報のうち、前記第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部とを備える。【００２５】
配信装置や受信装置は、独立した装置であってもよいし、１つの装置を構成するブロックであってもよい。【００２６】
本技術の第３の側面の配信システムにおいては、配信装置によって、ライブ配信するためのコンテンツのストリームが生成され、コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に第１のテキスト情報の表示が継続されるようにフラグメント化されたテキスト情報が取得され、字幕データを含むコンテンツのストリームがライブ配信され、受信装置によって、コンテンツのストリームが受信され、受信したストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報が解析され、その解析結果に従って、テキスト情報のうち、第２のテキスト情報を表示する場合に、第１のテキスト情報の表示が継続されるように表示が制御される。
【発明の効果】
【００２７】
本技術の第１の側面乃至第３の側面によれば、フラグメント化されたテキスト情報の表示を継続することができる。
【図面の簡単な説明】
【００２８】
【図１】TTMLの構成を示す図である。
【図２】MP4ファイルフォーマットにおけるBOXの構成を示す図である。
【図３】BOXの階層構造を示す図である。
【図４】MP4ファイルフォーマットを用いたストリーミングを示す図である。
【図５】Movieの構成を示す図である。
【図６】MovieにおけるBOX構造を示す図である。
【図７】Non-fragment Movieの構成を示す図である。
【図８】Fragmented Movieの構成を示す図である。
【図９】本技術の一実施の形態に係るストリーミング配信システムの構成例を示す図である。
【図１０】IPTVクライアントにて映像に重畳表示されるサブタイトルを時系列に表した図である。
【図１１】イニシャライズドキュメントインスタンスの記述例を示す図である。
【図１２】ボディドキュメントインスタンスの記述例を示す図である。
【図１３】サブタイトルの表示例を示す図である。
【図１４】ボディドキュメントインスタンスの記述例を示す図である。
【図１５】サブタイトルの表示例を示す図である。
【図１６】サブタイトルの表示例を示す図である。
【図１７】サブタイトルの表示例を示す図である。
【図１８】ストリーミング配信処理を示すフローチャートである。
【図１９】サブタイトルデータ挿入処理を示すフローチャートである。
【図２０】コンテンツ再生処理を示すフローチャートである。
【図２１】TTデコード処理を示すフローチャートである。
【図２２】ボディドキュメントインスタンス処理を示すフローチャートである。
【図２３】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照しながら本技術の実施の形態について説明する。
【００３０】
最初に、TTMLについて説明する。TTMLは、W3Cによって規定されたマークアップ言語であり、テキストの表示位置（レイアウト）、表示のタイミングなどを指定することができる。
【００３１】
例えば、サーバからTTMLで記述された情報を伝送し、クライアントに解析させることにより、クライアントのディスプレイにおいて、指定された時刻に、指定された書体で、指定された領域に、所定の文字列を表示させることができる。このようにTTMLで記述された情報を用いれば、例えば、コンテンツの映像や音声と同期させて字幕（サブタイトル）を表示させることができる。
【００３２】
TTMLは、ドキュメントインスタンスと称されるテキストの集合体によって構成され、ドキュメントインスタンスは、主に２つのタイプに分類される。１つは、イニシャライズドキュメントインスタンス（Initialization Document Instance）と称される、ドキュメントインスタンスであり、例えば、サブタイトルとして表示される文字の色、フォント、表示位置などを指定する記述によって構成されるインスタンスとされる。他の１つは、ボディドキュメントインスタンス（Body Document Instance）と称される、ドキュメントインスタンスであり、サブタイトルとして実際に表示される文字列などの記述によって構成されるインスタンスとされる。
【００３３】
なお、以下の説明では、Initialization Document Instanceを省略して、Init Instanceとも記述する。また、Body Document Instanceを省略して、Body Instanceとも記述する。
【００３４】
［TTMLの構成］
図１は、TTMLの構成を説明する図である。
【００３５】
図１に示すように、イニシャライズドキュメントインスタンスは、styling要素やlayout要素などの要素によって、サブタイトルとして表示される文字の色、フォント、表示位置などのレンダリングコンテクストが指定される。
【００３６】
この例では、layout要素の「<region xml:id="subtitleArea" style="s1" ・・・>」という記述によって、s1というレンダリングコンテクストが定義されている。例えば、１つのイニシャライズドキュメントインスタンスの中で、s1，s2，・・・のように複数の種類のレンダリングコンテクストを定義することも可能である。
【００３７】
また、ボディドキュメントインスタンスには、p要素などの要素が記述される。例えば、p要素の「<p xml:id= ・・・>」という記述によって、サブタイトルの文字列、並びに表示開始時刻及び表示終了時刻等の属性が指定される。
【００３８】
このように、TTMLは、イニシャライズドキュメントインスタンスと、ボディドキュメントインスタンスの組み合わせによってなる階層構造を有する記述とされる。それらのインスタンスの組み合わせによってなる階層構造が、図１の左下の領域に図示されている。
【００３９】
例えば、ストリームを受信して表示する受信機において、図１に示されるTTMLを受信させて解析させることにより、コンテンツの中の所定の時間帯に所定のテキスト情報（文字列）を表示させることが可能となる。すなわち、受信機のディスプレイにおいて、ボディドキュメントインスタンスのp要素によって指定された文字列、並びに表示開始時刻及び表示終了時刻などを示す属性に基づいて、サブタイトルの表示が適宜変更されていく。図１の例では、ボディドキュメントインスタンスのp要素によって指定された文字列F1，文字列F2，・・・が時間の経過に伴って切り替えられて表示される。
【００４０】
なお、TTMLの詳細については、「"Timed Text Markup Language (TTML) 1.0" W3C Recommendation 18 November 2010」などに開示されている。
【００４１】
［MP4ファイルフォーマットの詳細］
次に、MP4ファイルフォーマットについて説明する。MP4ファイルフォーマットは、自由度が高いファイルフォーマットであり、BOXと称されるさまざまなサイズのデータが集まってMP4ファイルを構成するように規定されている。BOXにはいろいろな種類があり、自由に増やすことができる。
【００４２】
MP4ファイルフォーマットにおけるBOXの構成を図２に示す。図２において、Box Size、Box Typeと表示されている領域には、当該BOXのサイズとタイプ（種類）が記述される。また、Box Dataと表示される領域には、例えば、エンコードされたビデオデータ、オーディオデータ、サブタイトルのデータなどが格納される。
【００４３】
また、MP4ファイルフォーマットにおいては、前述したBOXが階層構造を有するように規定されている。すなわち、図３に示されるように、上位の階層のBOXのBox Data領域の中に下位の階層のBOXを格納できるようになされている。
【００４４】
MP4ファイルフォーマットにおいては、例えば、オーディオデータのデコード単位、ビデオデータの１フレームなど、伝送されるコンテンツの単位データがサンプル（Sample）と称される。そして、複数のサンプルによってチャンク（Chunk）が構成される。例えば、図４に示されるように、オーディオ（audio）のチャンクと、ビデオ（Video）のチャンクによってストリーミングが構成される。
【００４５】
MP4ファイルフォーマットにおいては、例えば、一連のビデオのチャンクの集合体、一連のオーディオのチャンクの集合体などをトラック（Track）と称する。そして、複数のトラックを統合したデータが、ムービー（Movie）と称される。
【００４６】
図５は、ムービーの構成を説明する図である。図５の例では、ビデオのトラックと、オーディオのトラックによって１つのムービーが構成されている。ムービーは、前述したように、BOX構造を有する。図６は、ムービーにおけるBOX構造を説明する図である。図６の例では、ムービーのBOXの中に、Movie Metadata boxと、Movie Data boxが格納されている。
【００４７】
Movie Metadata boxは、Movie Data boxの中に格納された各サンプルの格納位置に係る情報と、再生時刻や再生時間に係る情報が記述されたBOXとされる。例えば、各サンプルの格納位置に係る情報としては、adrs = 1000などが記述され、再生時刻や再生時間に係る情報としては、Δt = 10などが記述される。また、必要に応じてコーデックパラメータなども記述される。Movie Data boxは、各サンプルが格納されたBOXとされる。なお、MP4ファイルフォーマットの規格では、Movie Metadata boxは、moovと称され、Movie Data boxは、mdatと称される。
【００４８】
図６に示されるようなムービー（Movie）を受信機で受信して解析することにより、時刻t0，t10，t20，・・・において、それぞれSample1，Sample2，Sample3，・・・が再生されるようにすることができる。
【００４９】
また、ムービーは、大別すると２種類に分類される。１つは、Non-fragment Movieと称され、例えば映画やドラマなどのコンテンツの伝送に適している。他の１つは、Fragmented Movieと称され、例えばニュースやスポーツ中継などのコンテンツの伝送に適している。
【００５０】
図７は、Non-fragment Movieの構成を説明する図である。
【００５１】
図７に示すように、Non-fragment Movieの先頭にはFile Type（ftyp）と称されるBOXが配置される。ftypは、ファイルタイプ、互換性情報などが格納されたBOXとされる。ftypに続いて、前述したmoovと、mdatが配置される。前述したように、moovにはコーデックパラメータ、格納位置情報、再生時間情報などが記述されている。また、前述したように、mdatには、オーディオデータのデコード単位、ビデオデータの１フレームなどからなるサンプルが格納される。
【００５２】
Non-fragment Movieでは、moovによって、ムービー（Movie）全体のレンダリングコンテクストが定義されるようになされている。すなわち、映画やドラマなどのコンテンツの場合、どのタイミングで、どの映像、どの音声、どの字幕が再生されるべきかがあらかじめ分かっているので、各サンプルを受信する前に、ムービー全体のレンダリングコンテクストを定義することができる。
【００５３】
一方、ニュースやスポーツ中継などのライブコンテンツの場合、どのタイミングで、どの映像、どの音声、どの字幕が再生されるべきかをあらかじめ知ることができない。このため、ライブコンテンツの伝送には、Fragmented Movieが採用される。
【００５４】
図８は、Fragmented Movieの構成を説明する図である。
【００５５】
図８に示されるように、Fragmented Movieは、Non-fragment Movieの場合と同様に、ftypとmoovが配置されるが、その後は、Fragmentと称されるBOXが複数配置される。Fragmentは、Movie Fragment（moof）と称されるBOXと、mdatによって構成される。図８の例では、各Fragmentのそれぞれにmoofが設けられており、moofは、いわばFragmentのヘッダ情報とされる。moofには、当該Fragmentに格納されているmdatのサンプルに関しての格納位置情報、再生時間情報などが記述されている。すなわち、Fragmented Movieでは、Non-fragment Movieの場合と異なり、各Fragmentごとに、各Fragmentのレンダリングコンテクストが定義されるようになされている。
【００５６】
なお、図８に示されるMovie Fragment Random Access（mfra）は、Fragmented Movieの最後に挿入されるBOXとされ、ランダムアクセス用情報などが格納される。
【００５７】
また、図７及び図８に示される例は、MP4ファイルフォーマットとしてのムービーの構成を示したものであり、例えば、インターネットストリーミングなどが行われる際には、図７及び図８を参照して前述したデータが所定の伝送フォーマットで配信されることになる。この伝送フォーマットにおいては、例えば、図８に示されるmoovが、Fragment間に挿入されて複数回繰り返して配信されるようになされている。
【００５８】
ところで、前述したように、IPTV等のインターネットストリーミングにおける標準化に際して、コンテナレイヤにおいて採用するフォーマットとして、MP4ファイルフォーマットを用いることが検討されている。また、ストリーミングの構成要素として字幕（サブタイトル）がある場合、TTMLが多く利用されており、ストリーミングの標準化においても注目されている。
【００５９】
例えば、ニュースなどのライブコンテンツの映像にサブタイトルを挿入する場合、あらかじめサブタイトルの文字列（テキスト情報）を確定させておくことができない。このため、放送のストリーミング中に、サブタイトルの文字列をその都度、挿入する処理が必要となる。このような場合、例えば、受信機に、TTMLのイニシャライズドキュメントインスタンスを受信させてレンダリングコンテクストを解析させた後、その都度、ボディドキュメントインスタンスが受信されるようにすることが望ましい。
【００６０】
しかしながら、このようにボディドキュメントインスタンスごとに分離して送られる、フラグメント化されたテキスト情報は、各ボディドキュメントインスタンスごとに独立している。そのため、あるフラグメント化されたテキスト情報を表示中に、次のフラグメント化されたテキスト情報を表示させようとすると、先のテキスト情報の表示を継続させることができない。特に、ニュースなどのライブコンテンツでは、どのタイミングで、どの映像、どの音声、どの字幕が再生されるべきかをあらかじめ知ることができず、現在表示しているテキスト情報の表示を継続させるための技術方式が確立されていなかった。
【００６１】
そこで、本技術では、Fragmented Movieとして伝送されるコンテンツにおいて、サブタイトルのテキスト情報を挿入する場合に、フラグメント化されたテキスト情報の表示を継続させることができるようにする。
【００６２】
［ストリーミング配信システム］
図９は、本技術の一実施の形態に係るストリーミング配信システムの構成例を示す図である。図９に示されるストリーミング配信システム１０は、TTサーバ２０、IPTVサーバ３０、及びIPTVクライアント４０から構成される。
【００６３】
IPTVサーバ３０は、例えば、コンテンツをストリーミング放送する送信機として構成され、IPTVクライアント４０は、例えば、ストリーミング放送を受信する受信機として構成される。そして、TTサーバ２０は、ストリーミング放送されるコンテンツに挿入されるサブタイトルに係るデータを生成する装置とされる。
【００６４】
TTサーバ２０は、TTフラグメント生成部２１及びサンプル挿入部２２から構成される。
【００６５】
TTフラグメント生成部２１は、TTMLのドキュメントインスタンスが格納される、Fragmentのデータを生成し、サンプル挿入部２２に供給する。なお、ここでは、図８を参照して前述したようなTTMLのドキュメントインスタンスが格納されるFragmentのデータが生成される。
【００６６】
サンプル挿入部２２は、TTMLのドキュメントインスタンスを生成する。また、サンプル挿入部２２は、TTフラグメント生成部２１からのFragmentのデータの中のmdatのサンプルとして、生成したTTMLのドキュメントインスタンスを挿入する。サンプル挿入部２２は、TTMLのドキュメントインスタンスが挿入されたFragmentのデータを、IPTVサーバ３０に出力する。
【００６７】
また、NTP同期されたタイムスタンプ生成部２５により生成されたタイムスタンプが、TTフラグメント生成部２１及びサンプル挿入部２２に適宜供給されるようになされている。
【００６８】
IPTVサーバ３０は、コンテンツサンプル生成部３１、フラグメントマルチプレクサ３２、及びフラグメント配信部３３から構成される。
【００６９】
コンテンツサンプル生成部３１は、例えば、コンテンツを構成する音声や映像のデータなどをエンコードして、オーディオデータやビデオデータなどを生成する。コンテンツサンプル生成部３１は、それらのオーディオデータやビデオデータなどに基づいて、サンプルを生成し、フラグメントマルチプレクサ３２に供給する。
【００７０】
フラグメントマルチプレクサ３２には、TTサーバ２０のサンプル挿入部２２からのFragmentのデータと、コンテンツサンプル生成部３１からのサンプルのデータが供給される。フラグメントマルチプレクサ３２は、コンテンツサンプル生成部３１からのサンプルのデータを、mdatの中に格納したFragmentを生成する。
【００７１】
フラグメントマルチプレクサ３２は、生成したFragmentのデータと、サンプル挿入部２２からのFragmentのデータを多重化する。すなわち、オーディオデータ、ビデオデータが格納されたFragmentと、TTMLドキュメントインスタンスが格納されたFragmentが多重化されることになる。フラグメントマルチプレクサ３２は、多重化されたFragmentのデータを、フラグメント配信部３３に供給する。
【００７２】
フラグメント配信部３３は、フラグメントマルチプレクサ３２からの多重化されたFragmentのデータを、ネットワークなどを介して配信する。これにより、コンテンツがストリーミング配信されることになる。
【００７３】
なお、NTP同期されたタイムスタンプ生成部２５により生成されたタイムスタンプが、コンテンツサンプル生成部３１及びフラグメントマルチプレクサ３２に適宜供給されるようになされている。
【００７４】
IPTVクライアント４０は、計時部４１、受信部４２、フラグメントデマルチプレクサ４３、TTデコーダ４４、コンテンツデコーダ４５、及び表示制御部４６から構成される。
【００７５】
計時部４１は、IPTVクライアント４０の各部にNTP同期された時刻情報を供給する。
【００７６】
受信部４２は、IPTVサーバ３０から送信されたFragmented Movieを、ネットワークを介して受信し、フラグメントデマルチプレクサ４３に供給する。
【００７７】
フラグメントデマルチプレクサ４３は、受信部４２からのFragmented Movieを取得し、Fragmented Movieを構成する各Fragmentを抽出する。フラグメントデマルチプレクサ４３は、moovの記述を解析して、Fragmented Movieには、TTMLのドキュメントインスタンスが格納されたFragmentが存在しているか否かを判定する。
【００７８】
フラグメントデマルチプレクサ４３は、TTMLのドキュメントインスタンスが格納されたFragmentが存在していると判定された場合、Fragmentのデータを、TTデコーダ４４に供給する。また、フラグメントデマルチプレクサ４３は、TTMLのドキュメントインスタンスが格納されたFragmentが存在しないと判定された場合、Fragmentのデータを、コンテンツデコーダ４５に供給する。
【００７９】
TTデコーダ４４には、フラグメントデマルチプレクサ４３からのTTMLのドキュメントインスタンスが格納されたFragmentのデータが供給される。TTデコーダ４４は、TTMLのドキュメントインスタンスが格納されたサンプルのデータをデコードする。なお、TTデコーダ４４におけるデコードは、主に、TTMLドキュメントインスタンスの構文解析を意味するものである。
【００８０】
TTデコーダ４４は、Fragmentのmoofの記述を解析して、当該Fragmentに格納されているTTMLドキュメントインスタンスのタイプを判定する。TTデコーダ４４は、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスであると判定された場合、mdatのサンプルの中に格納されたイニシャライズドキュメントインスタンスの記述を解析し、レンダリングコンテクストを設定する。
【００８１】
なお、TTデコーダ４４は、一度レンダリングコンテクストを設定した後は、イニシャライズドキュメントインスタンスに変更があったと判定された場合にのみ、mdatのサンプルの中に格納されたイニシャライズドキュメントインスタンスの記述を解析し、レンダリングコンテクストを再設定する。
【００８２】
また、TTデコーダ４４は、TTMLドキュメントインスタンスのタイプが、ボディドキュメントインスタンスであると判定された場合、mdatのサンプルの中に格納されたボディドキュメントインスタンスを解析し、サブタイトルの表示データを生成する。ここで生成されたサブタイトルの表示データは、表示時刻に係る情報とともに、表示制御部４６に供給される。
【００８３】
コンテンツデコーダ４５には、フラグメントデマルチプレクサ４３からのTTMLのドキュメントインスタンスが格納されていないFragmentのデータが供給される。コンテンツデコーダ４５は、mdatのサンプルの中に格納されたオーディオデータ、ビデオデータなどをデコードし、映像の表示データ、音声の出力データなどを生成する。ここで生成された映像の表示データ、音声の出力データなどは、表示時刻、出力時刻などに係る情報とともに表示制御部４６に供給される。
【００８４】
表示制御部４６には、TTデコーダ４４からのサブタイトルの表示データ及び表示時刻に係る情報、又はコンテンツデコーダ４５からの映像の表示データ及び表示時刻に係る情報、並びに音声の出力データ及び出力時刻に係る情報が供給される。
【００８５】
表示制御部４６は、表示時刻に係る情報に基づいて、コンテンツの映像にサブタイトルを重畳して表示させるための映像信号を生成して、後段のディスプレイ（不図示）などに供給する。また、表示制御部４６は、出力時刻に係る情報に基づいて、コンテンツの音声を出力させるための音声信号を生成して、後段のスピーカ（不図示）などに供給する。
【００８６】
ストリーミング配信システム１０は、以上のように構成される。
【００８７】
［サブタイトルの表示例］
図９のストリーミング配信システム１０によって、例えば、次のようなサブタイトルの表示を制御することができる。図１０は、Fragmented Movieとしてライブ配信されるコンテンツを受信するIPTVクライアント４０にて、コンテンツの映像に重畳表示されるサブタイトルの表示を時系列で表した図である。
【００８８】
例えばTTサーバ２０により、図１１に示されるようなTTMLのドキュメントインスタンス（Init Instance）がFragmentに格納され、IPTVサーバ３０から配信されると、Fragmented Movieとして配信されるFragment0のデータが、IPTVクライアント４０により受信される。
【００８９】
図１１は、イニシャライズドキュメントインスタンスの記述の一例である。図１１の例では、サブタイトルの文字の色、フォントなどを指定する記述がなされ、サブタイトルの表示位置として、"subtitleArea1"と、"subtitleArea2"が記述されている。
【００９０】
図１０に戻り、図１１のイニシャライズドキュメントインスタンスを格納したmdat0のサンプル（Sample0）が格納されたFragment0が、IPTVクライアント４０により取得されると、サブタイトルとして表示されるテキスト情報の文字の色、フォント、表示位置等のレンダリングコンテクストが指定されることになる。
【００９１】
また、TTサーバ２０により、図１２に示されるようなTTMLのドキュメントインスタンス（Body Instance1）がFragmentに格納され、IPTVサーバ３０から配信されると、Fragmented Movieとして配信されるFragment1のデータが、IPTVクライアント４０により受信される。
【００９２】
図１２は、ボディドキュメントインスタンスの記述の一例である。図１２の例では、p要素の開始タグと終了タグにより指定される、"It seems a paradox, does it not,"である文字列が、サブタイトルの文字列とされる。また、p要素の属性として、id属性、begin属性、region属性が指定される。id属性には、サブタイトルを識別するためのIDが指定される。begin属性には、サブタイトルの表示開始時刻が指定される。region属性には、サブタイトルの表示位置を指定するための文字列が指定される。
【００９３】
図１０に戻り、図１２のボディドキュメントインスタンス（Body Instance1）を格納したmdat1のサンプル（Sample1）が格納されたFragment1が、IPTVクライアント４０により取得されると、図１１の記述に従って設定されたレンダリングコンテクストに基づいて、図１２の記述によって指定されたサブタイトルの文字列が表示される。すなわち、図１２のボディドキュメントインスタンスでは、begin属性として"0.1s"が指定されているので、IPTVクライアント４０では、当該ボディドキュメントインスタンスを取得してから0.1秒後に、図１３に示すような、"It seems a paradox, does it not,"である文字列が表示される。
【００９４】
また、図１２の例では、id属性として"subtitle1"が指定されているので、サブタイトルの文字列は、"subtitle1"により特定される。また、region属性として"subtitleArea1"が指定されているので、図１１の"subtitleArea1"により指定される表示位置に、サブタイトルの文字列が表示される。
【００９５】
その後、TTサーバ２０により、図１４に示されるようなTTMLドキュメントインスタンス（Body Instance2）がFragmentに格納され、IPTVサーバ３０から配信されると、Fragmented Movieとして配信されるFragment2のデータが、IPTVクライアント４０により受信される。
【００９６】
図１４は、ボディドキュメントインスタンスの記述の一例である。図１４の例では、上段のp要素のid属性である"subtitle1"により特定される"It seems a paradox, does it not,"である文字列と、下段のp要素のid属性である"subtitle2"により特定される"that the image formed on the Retina should be inverted ?"である文字列が、サブタイトルの文字列とされる。また、上段のp要素には、サブタイトルの表示終了時刻を指定するためのend属性として"3s"が指定され、region属性として"subtitleArea1"が指定される。さらに、下段のp要素には、begin属性、end属性、及びregion属性として、それぞれ、"1s"、"5s"、"subtitleArea2"がそれぞれ指定される。
【００９７】
図１０に戻り、図１４のボディドキュメントインスタンス（Body Instance2）を格納したmdat2のサンプル（Sample2）が格納されたFragment2が、IPTVクライアント４０により取得されると、図１１の記述に従って設定されたレンダリングコンテクストに基づいて、図１４の記述によって指定されたサブタイトルの文字列が表示される。すなわち、図１４のボディドキュメントインスタンスでは、"subtitle2"により特定されるサブタイトルの文字列のbegin属性として"1s"が指定されているので、IPTVクライアント４０では、当該ボディドキュメントインスタンスを取得してから1秒間は、図１５に示すような、subtitle1により特定される"It seems a paradox, does it not,"である文字列のみが表示される。
【００９８】
その後、図１４のボディドキュメントインスタンスを取得してから、"subtitle2"のbegin属性により指定された1秒を経過すると、図１６に示すように、"subtitle1"により特定される"It seems a paradox, does it not,"である文字列の下段に、"subtitle2"の"that the image formed on the Retina should be inverted ?"が表示される。なお、"subtitle2"のサブタイトルの文字列は、region属性として"subtitleArea2"が指定されているので、図１１の"subtitleArea2"により指定される表示位置に表示される。
【００９９】
"subtitle2"により特定されるサブタイトルの文字列のbegin属性により指定される時刻から、"subtitle1"により特定されるサブタイトルの文字列のend属性により指定される時刻までの間は、図１６の"subtitle1"及び"subtitle2"により特定されるサブタイトルの文字列が上下に表示される状態が継続される。そして、図１４のボディドキュメントインスタンス（Body Instance2）の取得後、"subtitle1"のend属性により指定された3秒を経過すると、"subtitle1"のサブタイトルの文字列の表示が消されて、図１７に示すように、"subtitle2"のサブタイトルの文字列のみが表示される。
【０１００】
図１０に戻り、その後、"subtitle1"により特定されるサブタイトルの文字列のend属性により指定される時刻から、"subtitle2"により特定されるサブタイトルの文字列のend属性により指定される時刻までの間は、図１７の"subtitle2"により特定されるサブタイトルの文字列のみが表示される状態が継続される。そして、図１４のボディドキュメントインスタンス（Body Instance2）の取得後、"subtitle2"のend属性により指定された5秒を経過すると、"subtitle2"のサブタイトルの文字列の表示が消されて、サブタイトルの表示が終了される。
【０１０１】
このように、例えば、図１２のボディドキュメントインスタンス（Body Instance1）の次に、図１４のボディドキュメントインスタンス（Body Instance2）が取得されるとき、"subtitle1"のサブタイトルの文字列のbegin属性がBody Instance1により指定され、そのend属性がBody Instance2により指定されるようにする。これにより、Body Instance2が取得された後も、"subtitle1"のサブタイトルの文字列の表示を継続することが可能となる。
【０１０２】
［ストリーミング配信処理］
次に、図９のストリーミング配信システム１０を構成する各装置で行われる処理の詳細について説明する。
【０１０３】
まず、図１８のフローチャートを参照して、IPTVサーバ３０にて行われるストリーミング配信処理を説明する。この処理は、例えば、ライブコンテンツにサブタイトルを挿入して、Fragmented Movieとしてネットワークなどを介して配信する場合に実行される。
【０１０４】
ステップＳ２１において、IPTVサーバ３０は、コンテンツのデータを取得する。このとき、例えば、コンテンツを構成する音声や映像のデータなどが取得される。
【０１０５】
ステップＳ２２において、コンテンツサンプル生成部３１は、例えば、コンテンツを構成する音声や映像のデータなどをエンコードして、オーディオデータや、ビデオデータなどを生成する。そして、コンテンツサンプル生成部３１は、それらのオーディオデータ、ビデオデータに基づいて、サンプル（Sample）のデータを生成する。
【０１０６】
ステップＳ２３において、フラグメントマルチプレクサ３２は、ステップＳ２２にて生成されたサンプルのデータを、mdatの中に格納したFragmentを生成する。
【０１０７】
ステップＳ２４において、TTサーバ２０は、サブタイトルデータ挿入処理を実行する。これにより、ストリーミング配信されるコンテンツのデータに、サブタイトルに関するデータが挿入される。
【０１０８】
ここで、図１９のフローチャートを参照して、図１８のステップＳ２４に対応する、サブタイトルデータ挿入処理の詳細について説明する。
【０１０９】
ステップＳ４１において、TTML文が生成される。  
【０１１０】
ステップＳ４２において、TTフラグメント生成部２１は、TTMLのドキュメントインスタンスが格納される、Fragmentのデータを生成する。
【０１１１】
ステップＳ４３において、サンプル挿入部２２は、ステップＳ４１にて生成されたTTML文に基づいて、TTMLのドキュメントインスタンスを生成するとともに、ステップＳ４２にて生成されたFragmentの中のmdatのサンプルとしてTTMLのドキュメントインスタンスを挿入する。
【０１１２】
ステップＳ４４において、サンプル挿入部２２は、ステップＳ４３の処理によりTTMLドキュメントインスタンスが挿入されたFragmentを出力する。これにより、IPTVサーバ３０のフラグメントマルチプレクサ３２に、当該Fragmentが供給される。
【０１１３】
なお、NTP同期されたタイムスタンプ生成部２５により生成されたタイムスタンプが、TTフラグメント生成部２１及びサンプル挿入部２２に適宜供給されるようになされている。
【０１１４】
図１８のフローチャートに戻り、ステップＳ２４の処理の後、ステップＳ２５において、フラグメントマルチプレクサ３２は、図１９のステップＳ４２にて生成されたFragmentと、ステップＳ２３にて生成されたFragmentを多重化する。すなわち、ここでは、オーディオデータやビデオデータなどが格納されたFragmentと、TTMLのドキュメントインスタンスが格納されたFragmentが多重化される。
【０１１５】
ステップＳ２６において、フラグメントマルチプレクサ３２は、Fragment Movieのデータを生成する。
【０１１６】
ステップＳ２７において、フラグメント配信部３３は、ステップＳ２６にて生成されたFragment Movieを、ネットワークなどを介して配信する。
【０１１７】
以上のようにして、ストリーミング配信処理が実行される。
【０１１８】
次に、図２０のフローチャートを参照して、IPTVクライアント４０にて行われるコンテンツ再生処理について説明する。
【０１１９】
ステップＳ６１において、受信部４２は、図１８のステップＳ２７にて配信されたFragment Movieを受信する。
【０１２０】
ステップＳ６２において、フラグメントデマルチプレクサ４３は、ステップＳ６１にて受信したFragment Movieのmoovの記述を解析する。
【０１２１】
ステップＳ６３において、フラグメントデマルチプレクサ４３は、ステップＳ６１にて受信したFragment Movieを構成するFragmentを抽出する。
【０１２２】
ステップＳ６４において、フラグメントデマルチプレクサ４３は、ステップＳ６２の解析結果に基づいて、当該Fragment Movieには、TTMLドキュメントインスタンスが格納されたFragmentが存在しているか否かを判定する。
【０１２３】
ステップＳ６４において、当該Fragment Movieには、TTMLドキュメントインスタンスが格納されたFragmentが存在すると判定された場合、処理は、ステップＳ６５に進められる。
【０１２４】
ステップＳ６５において、フラグメントデマルチプレクサ４３は、各Fragmentのmoofの記述をチェックする。
【０１２５】
ステップＳ６６において、フラグメントデマルチプレクサ４３は、当該FragmentにTTMLドキュメントインスタンスが格納されているか否かを判定する。
【０１２６】
ステップＳ６６において、当該FragmentにTTMLドキュメントインスタンスが格納されていないと判定された場合、処理は、後述するステップＳ６８に進められる。一方、ステップＳ６６において、フラグメントデマルチプレクサ４３は、当該FragmentにTTMLドキュメントインスタンスが格納されていると判定された場合、処理は、ステップＳ６７に進められる。
【０１２７】
ステップＳ６７において、TTデコーダ４４は、TTデコード処理を実行する。
【０１２８】
TTデコード処理では、Fragmentのmoofの記述の解析結果に従い、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスである場合、mdatのサンプルの中に格納されたイニシャライズドキュメントインスタンスの記述が解析され、レンダリングコンテクストが設定される。また、TTMLドキュメントインスタンスのタイプが、ボディドキュメントインスタンスである場合、mdatのサンプルの中に格納されたボディドキュメントインスタンスが解析され、サブタイトルの表示データが生成される。サブタイトルの表示データは、表示開始又は表示終了を指示する表示時刻に係る情報とともに、表示制御部４６に供給される。
【０１２９】
なお、TTデコード処理の詳細は、図２１及び図２２を参照して後述する。
【０１３０】
一方、ステップＳ６４において、当該Fragment Movieには、TTMLドキュメントインスタンスが格納されたFragmentが存在しないと判定された場合、処理は、ステップＳ６８に進められる。
【０１３１】
ステップＳ６８において、コンテンツデコーダ４５は、mdatのサンプルの中に格納されたオーディオデータ、ビデオデータなどをデコードする。
【０１３２】
ステップＳ６９において、コンテンツデコーダ４５は、ステップＳ６８の処理の結果得られた映像の表示データ、音声の出力データなどを出力する。ここで生成された映像の表示データ、音声の出力データなどは、表示時刻、出力時刻などに係る情報とともに、表示制御部４６に供給される。
【０１３３】
ステップＳ７０において、表示制御部４６は、表示開始又は表示終了を指示する表示時刻に係る情報等に基づいて、コンテンツの映像にサブタイトルを重畳して表示させるための映像信号を生成して、後段のディスプレイ（不図示）などに供給する。また、表示制御部４６は、出力時刻に係る情報などに基づいて、コンテンツの音声を出力させるための音声信号を生成し、後段のスピーカ（不図示）などに供給する。
【０１３４】
すなわち、図２０のステップＳ６９にて生成された映像の表示データ、音声の出力データと、後述する図２２のステップＳ１０５にて生成されたサブタイトルの表示データが同期して表示又は出力される。
【０１３５】
ステップＳ７１において、Fragment Movieが終了したか否かが判定される。例えば、図８に示されるMovie Fragment Random Access（mfra）が受信された場合、Fragment Movieが終了したと判定される。また、ユーザが受信を停止するように指令した場合、Fragment Movieが終了したと判定される。
【０１３６】
ステップＳ７１において、まだ、Fragment Movieが終了していないと判定された場合、処理は、ステップＳ６３に戻り、以降の処理が繰り返される。一方、ステップＳ７１において、Fragment Movieが終了したと判定された場合、図２０のコンテンツ再生処理は、終了する。
【０１３７】
以上のようにして、コンテンツ再生処理が実行される。
【０１３８】
次に、図２１のフローチャートを参照して、図２０のステップＳ６７に対応するTTデコード処理の詳細について説明する。
【０１３９】
ステップＳ８１において、TTデコーダ４４は、フラグメントデマルチプレクサ４３からのFragmentを読み込む。
【０１４０】
ステップＳ８２において、TTデコーダ４４は、Fragmentのmoofの記述を解析して、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスであるか否かを判定する。
【０１４１】
ステップＳ８２において、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスでないと判定された場合、処理は、ステップＳ８３に進められる。ステップＳ８３において、TTデコーダ４４は、現在のFragmentを破棄する。そして、処理は、ステップＳ８１に戻り、以降の処理が繰り返される。
【０１４２】
一方、ステップＳ８２において、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスであると判定された場合、処理は、ステップＳ８４に進められる。ステップＳ８４において、TTデコーダ４４は、イニシャライズドキュメントインスタンス処理を行い、mdatのサンプルの中に格納されたイニシャライズドキュメントインスタンスの記述を解析し、レンダリングコンテクストを設定する。
【０１４３】
ステップＳ８４にてレンダリングコンテクストの設定が終了すると、処理は、ステップＳ８５に進められる。ステップＳ８５において、TTデコーダ４４は、フラグメントデマルチプレクサ４３からのFragmentを読み込む。
【０１４４】
ステップＳ８６において、TTデコーダ４４は、Fragmentのmoofの記述を解析して、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスであるか否かを判定する。
【０１４５】
ステップＳ８６において、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスでないと判定された場合、当該タイプがボディドキュメントインスタンスとなるので、処理は、ステップＳ８７に進められる。ステップＳ８７において、TTデコーダ４４は、ボディドキュメントインスタンス処理を行う。
【０１４６】
ここで、図２２のフローチャートを参照して、図２１のステップＳ８７に対応するボディドキュメントインスタンス処理について説明する。
【０１４７】
ステップＳ１０１において、TTデコーダ４４は、XMLパース処理を行い、ボディドキュメントインスタンスに含まれる要素を抽出する。TTデコーダ４４は、抽出された１又は複数の要素のそれぞれについて順次、ステップＳ１０２以降の処理を実行する。
【０１４８】
ステップＳ１０２において、TTデコーダ４４は、抽出された要素がp要素であるか否かを判定する。ステップＳ１０２において、抽出された要素がp要素でないと判定された場合、処理は、ステップＳ１０３に進められる。ステップＳ１０３において、TTデコーダ４４は、p要素以外の他の要素の処理を行う。
【０１４９】
ステップＳ１０３の処理が終了すると、処理は、ステップＳ１０８に進められる。ステップＳ１０８において、TTデコーダ４４は、全ての要素について処理が終了したか否かを判定する。
【０１５０】
ステップＳ１０８において、全ての要素について処理が終了していないと判定された場合、処理は、ステップＳ１０２に戻り、ステップＳ１０２の判定処理が行われる。そして、ステップＳ１０２において、抽出された要素がp要素であると判定された場合、処理は、ステップＳ１０４に進められる。ステップＳ１０４において、TTデコーダ４４は、当該p要素にbegin属性が含まれるか否かを判定する。
【０１５１】
ステップＳ１０４において、当該p要素にbegin属性が含まれると判定された場合、処理は、ステップＳ１０５に進められる。ステップＳ１０５において、TTデコーダ４４は、通常のp要素の処理を行う。
【０１５２】
例えば、図１２のボディドキュメントインスタンスに対してXMLパースの処理が行われた場合、p要素にbegin属性が含まれているので、通常のp要素の処理が行われ、"It seems a paradox, does it not,"である文字列からなるサブタイトルの表示データが生成される。生成されたサブタイトルの表示データは、0.1秒後の表示開始を指示する表示時刻に係る情報とともに、表示制御部４６に供給される。
【０１５３】
一方、ステップＳ１０４において、当該p要素にbegin属性が含まれていないと判定された場合、処理は、ステップＳ１０６に進められる。ステップＳ１０６において、TTデコーダ４４は、p要素のid属性の解析結果に基づいて、同一のサブタイトルが既に表示されているか否かを判定する。
【０１５４】
ステップＳ１０６において、同一のサブタイトルが既に表示されていると判定された場合、処理は、ステップＳ１０７に進められる。ステップＳ１０７において、TTデコーダ４４は、表示中のサブタイトルが継続して表示されるようにする。
【０１５５】
例えば、図１４のボディドキュメントインスタンスに対してXMLパースの処理が行われた場合、上段のp要素にはbegin属性が含まれておらず、さらに、図１２のボディドキュメントインスタンスによって、id属性が"subtitle1"となるサブタイトルが既に表示されているので、ステップＳ１０７の処理が実行される。すなわち、TTデコーダ４４は、表示中のid属性が"subtitle1"となるサブタイトルが継続して表示されるように、例えば、end属性により指定される、3秒後の表示終了を指示する表示時刻に係る情報を、表示制御部４６に供給する。
【０１５６】
また、例えば、図１４のボディドキュメントインスタンスの下段のp要素には、begin属性が含まれているので、ステップＳ１０５の処理が実行される。すなわち、TTデコーダ４４は、"subtitle2"の"that the image formed on the Retina should be inverted ?"である文字列からなるサブタイトルの表示データを生成する。そして、生成されたサブタイトルのデータは、1秒後の表示開始と5秒後の表示終了を指示する表示時刻に係る情報とともに、表示制御部４６に供給される。
【０１５７】
ステップＳ１０５又はＳ１０７の処理が終了すると、ステップＳ１０８の判定処理が行われる。ステップＳ１０８において、全ての要素について処理が終了したと判定された場合、処理は、図２１のステップＳ８７に戻り、以降の処理が繰り返される。
【０１５８】
すなわち、Fragmentが読み込まれ、TTMLドキュメントインスタンスのタイプが、イニシャライズドキュメントインスタンスであるか否かが判定される（ステップＳ８６）。ステップＳ８６の判定処理で、イニシャライズドキュメントインスタンスでないと判定された場合には、再度、ボディドキュメントインスタンス処理が行われる（ステップＳ８７）。一方、ステップＳ８６の判定処理で、イニシャライズドキュメントインスタンスであると判定された場合には、処理は、ステップＳ８８に進められる。
【０１５９】
ステップＳ８８において、TTデコーダ４４は、読み込まれたFragmentに格納されたイニシャライズドキュメントインスタンスの表示形式の定義内容が、設定されているレンダリングコンテクストの定義内容と異なっているか否かを判定する。
【０１６０】
ステップＳ８８において、レンダリングコンテクストの定義内容と異なっていると判定された場合、処理は、ステップＳ８４に進められ、それ以降の処理が繰り返される。すなわち、この場合、イニシャライズドキュメントインスタンス処理が再度実行され、レンダリングコンテクストの再設定が行われる（ステップＳ８４）。一方、ステップＳ８８において、レンダリングコンテクストの定義内容と同一であると判定された場合、処理は、ステップＳ８５に戻り、それ以降の処理が繰り返される。すなわち、この場合、レンダリングコンテクストの再設定は行われずに、再度、フラグメントデマルチプレクサ４３からのFragmentが読み込まれることになる。
【０１６１】
なお、図２０のステップＳ７１において、Fragment Movieが終了したと判定され、図２０のコンテンツ再生処理が終了するまで、図２１のTTデコード処理は繰り返し実行される。
【０１６２】
以上、図２１及び図２２を参照して、TTデコード処理を説明した。
【０１６３】
以上のように、先に読み込まれるFragmentに格納されたボディドキュメントインスタンスに記述されるサブタイトルに対してはbegin属性を付加し、次に読み込まれるFragmentに格納されたボディドキュメントインスタンスに記述される同一のサブタイトルに対してend属性を付加することで、次のFragmentが読み込まれても、先に読み込まれたFragmentのサブタイトルの表示を継続させることができる。
【０１６４】
［本技術を適用したコンピュータの説明］
前述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１６５】
図２３は、前述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１６６】
コンピュータ１００において、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１６７】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、入力部１０６、出力部１０７、記録部１０８、通信部１０９、及びドライブ１１０が接続されている。
【０１６８】
入力部１０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１０７は、ディスプレイ、スピーカなどよりなる。記録部１０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１０９は、ネットワークインタフェースなどよりなる。ドライブ１１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア１１１を駆動する。
【０１６９】
以上のように構成されるコンピュータ１００では、CPU１０１が、例えば、記録部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、前述した一連の処理が行われる。
【０１７０】
コンピュータ１００（CPU１０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０１７１】
コンピュータ１００では、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記録部１０８にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部１０９で受信し、記録部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記録部１０８に、あらかじめインストールしておくことができる。
【０１７２】
なお、コンピュータ１００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１７３】
ここで、本明細書において、コンピュータ１００に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１７４】
また、プログラムは、１のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１７５】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１７６】
なお、本技術の実施の形態は、前述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１７７】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１７８】
また、前述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１７９】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１８０】
なお、本技術は、以下のような構成をとることができる。
【０１８１】
（１）
ライブ配信されるコンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析する解析部と、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
を備える受信装置。
（２）
前記テキスト情報は、その内容を記述した構造化文書と、前記構造化文書に適用される表示形式を定義した表示定義文書から構成され、
前記第１のテキスト情報の内容を記述した第１の構造化文書には、前記第１のテキスト情報の表示開始を示す時刻が記述され、
前記第２のテキスト情報の内容を記述した第２の構造化文書には、前記第１のテキスト情報の表示終了を示す時刻及び前記第２のテキスト情報の表示開始を示す時刻が記述されており、
前記制御部は、解析結果に従って、前記第１の構造化文書に記述された前記第１のテキスト情報の表示開始を示す時刻に応じて、前記第１のテキスト情報の表示を開始した後、前記第２の構造化文書に記述された前記第１のテキスト情報の表示終了を示す時刻に応じて、表示中の前記第１のテキスト情報の表示を終了する
（１）に記載の受信装置。
（３）
前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に先となり、
前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示開始を示す時刻に応じて、前記第２のテキスト情報の表示を開始する
（２）に記載の受信装置。
（４）
前記第２の構造化文書には、前記第２のテキスト情報の表示終了を示す時刻がさらに記述されており、
前記制御部は、解析結果に従って、前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻に応じて、前記第２のテキスト情報の表示を終了する
（２）又は（３）に記載の受信装置。
（５）
前記第２の構造化文書に記述された前記第２のテキスト情報の表示終了を示す時刻は、前記第１のテキスト情報の表示終了を示す時刻よりも時間的に後となる
（４）に記載の受信装置。
（６）
前記表示定義文書は、その表示形式の定義内容が変更されるまで、同一のものが前記構造化文書に適用されるようになされる
（２）乃至（５）のいずれかに記載の受信装置。
（７）
前記ストリームは、MP4ファイルフォーマットに準拠したフォーマットのデータであり、
前記字幕データは、TTML（Timed Text Markup Language）の規格に準拠している
（１）乃至（６）のいずれかに記載の受信装置。
（８）
受信装置の制御方法において、
前記受信装置が、
ライブ配信されるコンテンツのストリームを受信し、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析し、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する
ステップを含む制御方法。
（９）
コンピュータを、
ライブ配信されるコンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる字幕データに対応するフラグメント化されたテキスト情報を解析し、
解析結果に従って、前記テキスト情報のうち、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
して機能させるためのプログラム。
（１０）
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
を備える配信装置。
（１１）
配信装置の配信方法において、
前記配信装置が、
ライブ配信するためのコンテンツのストリームを生成し、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得し、
前記字幕データを含む前記コンテンツのストリームをライブ配信する
ステップを含む配信方法。
（１２）
コンピュータを、
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
として機能させるためのプログラム。
（１３）
配信装置及び受信装置からなる配信システムにおいて、
前記配信装置は、
ライブ配信するためのコンテンツのストリームを生成するコンテンツ生成部と、
前記コンテンツの字幕データに対応するテキスト情報として、第１のテキスト情報よりも時間的に後に表示が開始される第２のテキスト情報を表示する場合に前記第１のテキスト情報の表示が継続されるようにフラグメント化された前記テキスト情報を取得するテキスト情報取得部と、
前記字幕データを含む前記コンテンツのストリームをライブ配信する配信部と
を備え、
前記受信装置は、
前記コンテンツのストリームを受信する受信部と、
受信した前記ストリームに含まれる前記字幕データに対応するフラグメント化された前記テキスト情報を解析する解析部と、
解析結果に従って、前記テキスト情報のうち、前記第２のテキスト情報を表示する場合に、前記第１のテキスト情報の表示が継続されるように表示を制御する制御部と
を備える
配信システム。
【符号の説明】
【０１８２】
１０  ストリーミング配信システム，  ２０  TTサーバ，  ２１  TTフラグメント生成部，  ２２  サンプル挿入部，  ２５  タイムスタンプ生成部，  ３０  IPTVサーバ，  ３１  コンテンツサンプル生成部，  ３２  フラグメントマルチプレクサ，  ３３  フラグメント配信部，  ４０  IPTVクライアント，  ４１  計時部，  ４２  受信部，  ４３  フラグメントデマルチプレクサ，  ４４  TTデコーダ，  ４５  コンテンツデコーダ，  ４６  表示制御部，  １００  コンピュータ，  １０１  CPU
【図１】
2013088986.tif 000003
【図２】
2013088986.tif 000004
【図３】
2013088986.tif 000005
【図４】
2013088986.tif 000006
【図５】
2013088986.tif 000007
【図６】
2013088986.tif 000008
【図７】
2013088986.tif 000009
【図８】
2013088986.tif 000010
【図９】
2013088986.tif 000011
【図１０】
2013088986.tif 000012
【図１１】
2013088986.tif 000013
【図１２】
2013088986.tif 000014
【図１３】
2013088986.tif 000015
【図１４】
2013088986.tif 000016
【図１５】
2013088986.tif 000017
【図１６】
2013088986.tif 000018
【図１７】
2013088986.tif 000019
【図１８】
2013088986.tif 000020
【図１９】
2013088986.tif 000021
【図２０】
2013088986.tif 000022
【図２１】
2013088986.tif 000023
【図２２】
2013088986.tif 000024
【図２３】
2013088986.tif 000025
【国際調査報告】
2013088986.tif 000026
2013088986.tif 000027