以下、添付図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は相当要素には同一の符号を付し、重複する説明を省略する。
(第1実施形態)
図1は、第1実施形態に係る情報再生システムの機能構成を概略的に示す図である。図1に示されるように、情報再生システム10は、第1携帯端末1(携帯端末)と、第2携帯端末2(他の携帯端末)と、ストリーミングサーバ3と、を含んで構成されており、第1携帯端末1と第2携帯端末2とがストリーミングデータなどの情報をマルチデバイス再生するシステムである。なお、マルチデバイス再生とは、1つのストリーミングデータなどのコンテンツを構成する複数のメディア要素を複数の端末に分配して、各端末において分配されたメディア要素を同期再生する再生方法である。
第1携帯端末1は、第2携帯端末2とともにマルチデバイス再生を行う装置であって、マルチデバイス再生処理を主導するメインデバイスである。この第1携帯端末1は、例えば、タブレット端末、PDA(Personal Digital Assistants)、ノートPC、スマートフォンおよび携帯電話などの装置である。また、第1携帯端末1は、ローカルネットワークLNを介して第2携帯端末2と通信可能に構成され、かつ、ネットワークNWに接続されている。第1携帯端末1は、例えば、無線LAN(Local Area Network)、ブルートゥースなどの近距離無線通信または専用のケーブルなどによって第2携帯端末2と通信を行う。また、第1携帯端末1は、3G(3rd Generation)、LTE(Long Term Evolution)などの無線WAN(Wide Area Network)によってネットワークNWと通信を行う。
図2は、第1携帯端末1のハードウェア構成を示す図である。図2に示されるように、第1携帯端末1は、物理的には、CPU(Central Processing Unit)101、主記憶装置であるRAM(Random Access Memory)102、ROM(Read Only Memory)103、ハードディスクなどの補助記憶装置104、ネットワークカードなどのデータ送受信デバイスである通信モジュール105、タッチパネル、マウスおよびキーボードなどの入力デバイスである入力装置106、液晶ディスプレイおよびスピーカなどの出力デバイスである出力装置107、時間を計測するタイマ108などのハードウェアにより構成されている。後述する第1端末装置1の各機能は、CPU101、RAM102などのハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで入力装置106、出力装置107およびタイマ108などを動作させるとともに、RAM102や補助記憶装置104におけるデータの読み出しおよび書き込みを行うことで実現される。
第2携帯端末2は、第1携帯端末1とともにマルチデバイス再生を行う装置であって、第1携帯端末1からの指示に基づいてマルチデバイス再生処理を行うサブデバイスである。この第2携帯端末2は、例えば、スマートフォン、携帯電話、タブレット端末、PDAおよびノートPCなどの装置である。また、第2携帯端末2は、ローカルネットワークLNを介して第1携帯端末1と通信可能に構成され、かつ、ネットワークNWに接続されている。第2携帯端末2は、例えば、無線LAN、ブルートゥースなどの近距離無線通信または専用のケーブルなどによって第1携帯端末1と通信を行う。また、第2携帯端末2は、3G、LTEなどの無線WANによってネットワークNWと通信を行う。
第2携帯端末2は、第1携帯端末1と同様のハードウェア構成を有し、CPU、RAM、ROM、通信モジュール、補助記憶装置、入力装置、出力装置およびタイマなどのハードウェアを備えている。後述する第2携帯端末2の各機能は、CPU、RAMなどのハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPUの制御のもとで入力装置、出力装置およびタイマなどを動作させるとともに、RAMや補助記憶装置におけるデータの読み出しおよび書き込みを行うことで実現される。
ストリーミングサーバ3は、第1携帯端末1または第2携帯端末2にストリーミングデータを配信する装置である。また、ストリーミングサーバ3は、ネットワークNWに接続されている。ストリーミングサーバ3は、例えばサーバ装置などの情報処理装置から構成され、CPU、RAM、ROM、ネットワークNW上の第1携帯端末1および第2携帯端末2との通信を行う通信モジュール、情報を記憶する記憶デバイスなどのハードウェアを備えている。これらの構成要素が動作することにより、後述するストリーミングサーバ3の各機能が発揮される。
ネットワークNWは、有線および無線のいずれで構成されてもよく、例えば、無線WAN、有線WAN、移動体通信網およびインターネットなどのネットワークである。第1携帯端末1と、第2携帯端末2と、ストリーミングサーバ3とは、ネットワークNWを介して相互に通信接続されている。
次に、情報再生システム10の機能構成について説明する。図1に示されるように、ストリーミングサーバ3は、機能的には、通信部31と、ストリーミングデータ記憶部32と、ストリーミングデータ管理部33と、再生管理部34と、を備えている。
通信制御部31は、ネットワークNWとのデータ送受信およびセッション管理を行う通信制御手段として機能する。この通信制御部31は、第1携帯端末1または第2携帯端末2から接続要求を受信すると、接続の可否を示す接続応答を送信して、第1携帯端末1または第2携帯端末2との通信接続を確立する。また、通信制御部31は、データ送信中に通信接続が切断されると、送信データをバッファ内に格納してデータ送信をサスペンド状態にする。
ストリーミングデータ記憶部32は、第1携帯端末1および第2携帯端末2において再生される複数のストリーミングデータを格納しているストリーミングデータ記憶手段として機能する。このストリーミングデータ記憶部32に格納されているストリーミングデータは、ストリーミングデータ管理部33によって管理されている。
ストリーミングデータ管理部33は、ストリーミングデータ記憶部32に格納されているストリーミングデータのメタ情報を管理するストリーミングデータ管理手段として機能する。ストリーミングデータ管理部33は、第1携帯端末1または第2携帯端末2からストリーミングデータ配信要求を受信すると、ストリーミングデータ配信要求を送信した第1携帯端末1または第2携帯端末2に、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を、通信制御部31を介して送信する。
ストリーミングデータ管理部33は、ストリーミングデータ管理テーブルを用いて、ストリーミングデータ記憶部32に格納されているストリーミングデータのメタ情報を管理している。また、ストリーミングデータ管理部33は、第1携帯端末1および第2携帯端末2とのネゴシエーションにおいて、ストリーミングデータ管理テーブルを参照する。
図3は、ストリーミングデータ管理テーブルの一例を示す図である。図3に示されるように、ストリーミングデータ管理テーブルは、ストリーミングデータIDと、ファイル名と、URL(Uniform Resource Locator)情報と、メディア構成情報と、コーデック情報と、データレート情報と、DRM(Digital Rights Management)情報と、を対応付けて記憶している。ストリーミングデータIDは、ストリーミングデータ記憶部32に格納されているストリーミングデータを識別するための識別情報である。ファイル名は、ストリーミングデータIDで示されるストリーミングデータのファイル名を示す情報である。URL情報は、ストリーミングデータIDで示されるストリーミングデータのネットワークNW上の所在地を示すアドレス情報である。
メディア構成情報は、ストリーミングデータIDで示されるストリーミングデータを構成するメディア要素を示す情報である。このメディア要素には、例えば、ビデオデータ(映像)、オーディオデータ(音声)、テキストデータなどが含まれる。この例では、ビデオデータを「v」、オーディオデータを「a」、テキストデータを「t」と表している。コーデック情報は、ストリーミングデータIDで示されるストリーミングデータを構成する各メディア要素のコーデックを示す情報である。このコーデック情報には、ビデオデータのコーデックを示す情報(H.264、WMVなど)、オーディオデータのコーデックを示す情報(AAC、AAC+、AMRなど)などが含まれている。
データレート情報は、ストリーミングデータIDで示されるストリーミングデータを構成する各メディア要素について、ストリーミングサーバ3が提供可能なデータレートを示す情報である。このデータレート情報には、ビデオデータのデータレートを示す情報、オーディオデータのデータレートを示す情報などが含まれている。DRM情報は、ストリーミングデータIDで示されるストリーミングデータの著作権を管理するための情報である。このDRM情報には、例えば、ストリーミングデータの再生期限を示す情報、ストリーミングデータがマルチデバイス再生可能か否かを示すマルチデバイス情報などが含まれている。
このストリーミングデータ管理テーブルでは、例えば、ストリーミングデータIDが「1」のストリーミングデータは、ファイル名が「aaa.flv」で、URLが「aaa/index.html/aaa.flv」で、ビデオデータとオーディオデータとテキストデータとから構成されていることが示されている。そして、このストリーミングデータのビデオデータのコーデックは「H.264」、オーディオデータのコーデックは「AAC+」、テキストデータのコーデックは「text」であることが示されている。また、このビデオデータのデータレートは「756kbps/384kbps」、オーディオデータのデータレートは「128kbps/64kbps」であることが示されている。また、このストリーミングデータの再生期限は、2012年12月31日で、マルチデバイス再生可能であることが示されている。
例えば、ストリーミングデータ管理部33は、第1携帯端末1または第2携帯端末2から再生レートの通知を受けると、ストリーミングデータ管理テーブルからストリーミングサーバ3が提供可能なデータレートを取得する。そして、ストリーミングデータ管理部33は、通知された再生レートに基づいて、ストリーミングサーバ3が提供可能なデータレートの中からデータ送信レートを決定する。そして、ストリーミングデータ管理部33は、データ送信レートおよび送信データサイズを指定したデータ送信レート応答を第1携帯端末1または第2携帯端末2に送信する。
また、ストリーミングデータ管理部33は、第1携帯端末1からストリーミングデータ送信要求を受信すると、ストリーミングデータ送信要求に対応するストリーミングデータをストリーミングデータ記憶部32から取得する。そして、ストリーミングデータ管理部33は、ストリーミングデータを再生順に所定のデータサイズの分割データに分割する。そして、ストリーミングデータ管理部33は、分割データを再生順に第1携帯端末1に通信制御部31を介して送信する。なお、最初の分割データは、ストリーミングデータ配信応答に含められてもよい。
また、ストリーミングデータ管理部33は、サブデバイスである第2携帯端末2から、継続再生開始時間が指定されたストリーミングデータ送信要求を受信すると、その継続再生開始時間以降の分割データを再生順に、第2携帯端末2に通信制御部31を介して送信する。また、ストリーミングデータ管理部33は、継続再生開始時間が指定されていないストリーミングデータ送信要求を第2携帯端末2から受信すると、再生管理部34から受信した送信済みタイムスタンプが示す時間以降の分割データを再生順に、第2携帯端末2に通信制御部31を介して送信する。
再生管理部34は、第1携帯端末1および第2携帯端末2を含む特定のクライアントでの再生状態を動的に管理する再生管理手段として機能する。再生管理部34は、再生管理テーブルを用いて、ストリーミングデータの再生状態を管理している。
図4は、再生管理テーブルの一例を示す図である。図4に示されるように、再生管理テーブルは、ストリーミングデータIDと、ファイル名と、再生デバイスIDと、送信済みデータ量情報と、送信済みタイムスタンプと、データ送信レート情報と、を対応付けて管理している。ストリーミングデータIDは、再生中のストリーミングデータを識別するための識別情報である。ファイル名は、ストリーミングデータIDで示されるストリーミングデータのファイル名を示す情報である。
再生デバイスIDは、ストリーミングデータIDで示されるストリーミングデータの供給先のデバイスを識別するための識別情報である。すなわち、再生デバイスIDは、ストリーミングデータIDで示されるストリーミングデータを再生しているデバイスを識別するための識別情報である。この再生デバイスIDには、メインデバイスIDとサブデバイスIDとが含まれている。メインデバイスIDは、マルチデバイス再生を行っているメインデバイスを識別するための識別情報である。サブデバイスIDは、マルチデバイス再生を行っているサブデバイスを識別するための識別情報である。単一のデバイスで再生を行っている場合には、メインデバイスIDにそのデバイスを識別するための識別情報が登録され、サブデバイスIDには何も登録されない。デバイスを識別するための識別情報としては、例えばUMTS(Universal Mobile Telecommunications System)方式におけるIMSI(International Mobile Subscriber Identity;国際移動体加入者識別番号)などのデバイス契約者の識別情報などが用いられる。
送信済みデータ量情報は、ストリーミングデータIDで示されるストリーミングデータのうち、再生デバイスに送信したデータ量を示す情報である。送信済みタイムスタンプは、送信済みデータ量をストリーミングデータの再生開始時点からの経過時間として表した情報であって、再生開始時点をhh:mm:ss表記で00:00:00とし、経過時間をカウントした情報である。データ送信レート情報は、ストリーミングデータIDで示されるストリーミングデータのストリーミングサーバ3からのデータ送信レートを示す情報である。再生管理部34は、ストリーミングデータの送信状況に応じて、送信済みデータ量情報、送信済みタイムスタンプおよびデータ送信レート情報を動的に管理している。
この再生管理テーブルでは、例えば、ストリーミングデータIDが「1」のストリーミングデータは、ファイル名が「aaa.flv」で、メインデバイスIDが「35************」のデバイスと、サブデバイスIDが「35************」のデバイスとによってマルチデバイス再生されていることが示されている。また、このストリーミングデータの送信済みのデータ量は30000kbyteで、送信済みタイムスタンプは27分25秒、データ送信レートは2048kbpsであることが示されている。
また、再生管理部34は、サブデバイスである第2携帯端末2から、継続再生開始時間が指定されていないストリーミングデータ送信要求を受信すると、そのストリーミングデータ送信要求に対応するストリーミングデータの送信済みタイムスタンプをストリーミングデータ管理部33に送信する。
第1携帯端末1は、機能的には、入力部11と、出力部12と、端末情報管理部13と、通信制御部14と、バッファ制御部15と、測定部16(測定手段)と、再生制御部17と、を備えている。
入力部11は、入力装置106を介してユーザの操作を受け付ける入力手段として機能する。入力部11は、受け付けた操作に関する操作情報を再生制御部17に送信する。出力部12は、再生制御部17によって抽出されたメディア要素を、出力装置107により再生する出力手段として機能する。
端末情報管理部13は、第1携帯端末1の端末能力(静的情報)および処理負荷など(動的情報)を管理する端末情報管理手段として機能する。端末情報管理部13は、例えば、第1携帯端末1がサポートする映像コーデックおよび音声コーデックなどのコーデック情報、映像再生可能レートおよび音声再生可能レートなどの再生可能レート情報、出力装置107の画面の解像度を示す解像度情報、第1携帯端末1がサポートするWANプロトコルなどの通信プロトコル情報を第1能力情報として管理している。また、端末情報管理部13は、例えば、処理負荷を示す負荷情報、メモリの消費量を示すメモリ消費量情報、バッテリーの残量を示すバッテリー残量情報などを第1状態情報として管理している。
通信制御部14は、データ送受信、セッション管理および通信ベアラ制御を行う通信制御手段として機能する。通信制御部14は、外部NW通信部141と、ローカルNW通信部142とを備えている。外部NW通信部141は、ネットワークNWとのデータ送受信およびセッション管理などを行う。外部NW通信部141は、例えば、ネットワークNW上のストリーミングサーバ3に接続要求を送信し、ストリーミングサーバ3から接続応答を受信して、ストリーミングサーバ3との通信接続を確立する。
ローカルNW通信部142は、ローカルネットワークLNとのデータ送受信およびセッション管理などを行う。ローカルNW通信部142は、例えば、ストリーミングデータがマルチデバイス再生可能な場合に、ローカルネットワークLN上の第2携帯端末2に接続要求を送信する。そして、ローカルNW通信部142は、第2携帯端末2から接続応答を受信して、第2携帯端末2との通信接続を確立する。
また、ローカルNW通信部142は、入力部11から第1携帯端末1の電源をオフにする操作を示す操作情報、および、第1携帯端末1とストリーミングサーバ3との通信接続を切断する操作を示す操作情報を受信すると、第2携帯端末2に切断要求を送信する。また、ローカルNW通信部142は、ストリーミングサーバ3との通信接続が切断されたことを検出すると、第2携帯端末2に切断要求を送信する。
バッファ制御部15は、ネットワークNWとのデータの送受信に用いられる送受信バッファのバッファサイズおよびバッファ内のデータ量を制御する。また、バッファ制御部15は、ローカルネットワークLNとのデータの送受信に用いられる送受信バッファのバッファサイズおよびバッファ内のデータ量を制御する。また、バッファ制御部15は、予め定められたバッファリングデータ量に基づいて、メディア要素抽出部173から受信した第1メディア要素および第2メディア要素をバッファに格納する。また、バッファ制御部15は、第2携帯端末2から第1メディア要素転送要求を受信すると、バッファ内に格納している第1メディア要素をローカルNW通信部142を介して第2携帯端末2に送信する。
測定部16は、第1携帯端末1と第2携帯端末2との間のデータ転送時間を測定する測定手段として機能する。測定部16は、例えば、第2携帯端末2にデータを送信してから、第2携帯端末2からその応答を受信するまでの時間であるRTT(round trip time;ラウンドトリップタイム)を測定する。測定部16は、ストリーミングデータの再生時間を所定の時間間隔で区分した再生インターバル(以下、単に「インターバル」という。)ごとにRTTを測定する。そして、測定部16は、測定を行うごとに再生制御部17にRTTを示すRTT情報を送信する。
再生制御部17は、第1携帯端末1におけるストリーミングデータの再生を制御する再生制御手段として機能する。再生制御部17は、データ取得管理部171(第1データ取得手段)と、再生パターン決定部172(再生パターン決定手段)と、メディア要素抽出部173(メディア要素抽出手段)と、同期再生制御部174(第1同期再生制御手段)と、を備えている。
データ取得管理部171は、ストリーミングデータを取得する第1データ取得手段として機能する。データ取得管理部171は、例えば、ストリーミングデータを取得するための操作を示す操作情報を入力部11から受信する。そして、データ取得管理部171は、ストリーミングサーバ3に外部NW通信部141を介してストリーミングデータ配信要求を送信する。そして、データ取得管理部171は、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を、ストリーミングサーバ3から外部NW通信部141を介して受信する。
また、データ取得管理部171は、ストリーミングサーバ3に外部NW通信部141を介してストリーミングデータ送信要求を送信する。そして、データ取得管理部171は、ストリーミングデータ送信要求に対応するストリーミングデータの分割データを、ストリーミングサーバ3から外部NW通信部141を介して受信する。データ取得管理部171は、受信した分割データをバッファ制御部15に送信してバッファに格納させる。
再生パターン決定部172は、第1携帯端末1および第2携帯端末2の処理能力に基づいて、データ取得管理部171によって取得されたストリーミングデータに含まれる複数のメディア要素のうち、第1携帯端末1において再生する第1メディア要素と、第2携帯端末2に再生させる第2メディア要素とを決定する再生パターン決定手段として機能する。具体的に説明すると、再生パターン決定部172は、例えば、第2携帯端末2の処理能力を示す第2能力情報を取得するために、能力通知要求をローカルNW通信部142を介して第2携帯端末2に送信する。そして、再生パターン決定部172は、第2携帯端末2からローカルNW通信部142を介して第2能力情報を受信する。また、再生パターン決定部172は、端末情報管理部13から第1能力情報を取得する。
また、再生パターン決定部172は、ストリーミングデータのメタ情報、第1能力情報および第2能力情報に基づいて、第1メディア要素と第2メディア要素とを決定する。例えば、マルチデバイス情報がマルチデバイス再生できないことを示す場合、再生パターン決定部172は、ストリーミングデータを構成するメディア要素のすべてを第1メディア要素とする。マルチデバイス情報がマルチデバイス再生可能を示す場合、再生パターン決定部172は、ストリーミングデータを構成するメディア要素のコーデックに第1携帯端末1および第2携帯端末2が対応しているか否かを判定する。そして、第2携帯端末2が、そのメディア要素のコーデックに対応している場合、そのメディア要素を第2メディア要素とし、対応していない場合、そのメディア要素を第1メディア要素とする。
また、ストリーミングデータを構成するメディア要素のコーデックに第1携帯端末1および第2携帯端末2が対応している場合、再生パターン決定部172は、メディア要素の数あるいは処理負荷が均等になるように、第1メディア要素および第2メディア要素のいずれかに含めてもよい。また、再生パターン決定部172は、第1メディア要素および第2メディア要素の複数の候補を出力部12によって出力装置107に表示し、ユーザによっていずれかの候補が選択されることによって、第1メディア要素および第2メディア要素を決定してもよい。
メディア要素抽出部173は、再生パターン決定部172によって決定された第1メディア要素と第2メディア要素とを、ストリーミングデータから抽出するメディア要素抽出手段として機能する。メディア要素抽出部173は、バッファ内の分割データから第1メディア要素と第2メディア要素とを抽出する。そして、メディア要素抽出部173は、抽出した第1メディア要素および第2メディア要素をバッファ制御部15に送信し、バッファに格納させる。
同期再生制御部174は、メディア要素抽出部173によって抽出された第2メディア要素を第2携帯端末2に送信するとともに、測定部16によって測定されたデータ転送時間に基づいて決定された再生開始時刻を第2携帯端末2に通知して、再生開始時刻に出力装置107を用いて第1メディア要素を再生する第1同期再生制御手段として機能する。具体的に説明すると、同期再生制御部174は、測定部16によって測定されたRTTに基づいて再生開始時刻を決定する。すなわち、第1携帯端末1が再生開始要求を第2携帯端末2に送信してから、第2携帯端末2からの再生開始応答が第1携帯端末1に到達するまでに、RTTと同等のデータ転送遅延が生じる。このため、同期再生制御部174は、現在の時刻からデータ転送遅延を加えた時刻以降を再生開始時刻として決定する。
また、同期再生制御部174は、第1能力情報および第2能力情報に基づいて、第1携帯端末1の再生レートと第2携帯端末2の再生レートとを算出する。すなわち、同期再生制御部174は、第1携帯端末1と第2携帯端末2とでストリーミングデータを同期して再生できるように、各端末の処理能力に応じた再生レートを算出する。
また、同期再生制御部174は、測定部16によって測定されたRTTに基づいて、第2携帯端末2へのデータ送信レートおよび第2携帯端末2に予め送信しておくバッファリングデータ量を調整する。すなわち、同期再生制御部174は、データ転送遅延によって第2携帯端末2において再生すべきデータが不足しないように、第2携帯端末2へのデータ送信レート、送信データ量およびバッファリングデータ量を決定する。
また、同期再生制御部174は、再生開始時刻、再生レート、データ送信レートおよび送信データ量を指定した再生開始要求をローカルNW通信部142を介して第2携帯端末2に送信する。また、同期再生制御部174は、第2携帯端末2からローカルNW通信部142を介して再生開始応答を受信する。そして、同期再生制御部174は、受信した再生開始応答が再生可能であることを示す場合、バッファに格納されている第1メディア要素をバッファ制御部15によって出力部12に送信させ、再生開始要求において指定した再生開始時刻に出力装置107で再生させる。
また、同期再生制御部174は、受信した再生開始応答が再生可能であることを示す場合、決定したデータ送信レートおよび送信データ量で、バッファに格納されている第2メディア要素を第2携帯端末2に送信する。また、同期再生制御部174は、決定したバッファリングデータ量分の第2メディア要素を、再生開始要求を送信するまでにローカルNW通信部142を介して第2携帯端末2に送信する。このとき、同期再生制御部174は、ストリーミングデータのURL情報を付加して第2メディア要素を第2携帯端末2に送信する。また、同期再生制御部174は、同期再生開始後においては、決定したデータ送信レートおよび送信データ量に基づいて、第2メディア要素を第2携帯端末2に送信する。
なお、上記説明において説明を省略しているが、メディア要素抽出部173によって抽出された第2メディア要素はバッファに格納されているので、同期再生制御部174は、バッファに格納された第2メディア要素をバッファ制御部15によって取得させ、この第2メディア要素をローカルNW通信部142を介して第2携帯端末2に送信している。
また、同期再生制御部174は、第1携帯端末1において、ストリーミングデータの各インターバルの再生が終了するごとに、そのインターバルの再生が終了した時刻であるインターバル再生終了時刻を算出する。また、同期再生制御部174は、第2携帯端末2からローカルNW通信部142を介して、第2携帯端末2において、ストリーミングデータの各インターバルの再生が終了した時刻であるインターバル再生終了時刻を示す情報を受信する。そして、同期再生制御部174は、第1携帯端末1の第n(nは1以上の整数)インターバル再生終了時刻と第2携帯端末2の第nインターバル再生終了時刻とを比較し、その差分を算出する。そして、同期再生制御部174は、同期ずれを解消するために、算出した差分が小さくなるように、第2携帯端末2の第(n+2)インターバルでの再生レートを算出する。
例えば、第1携帯端末1の第nインターバル再生終了時刻が第2携帯端末2の第nインターバル再生終了時刻よりも遅い場合、第1携帯端末1の再生レートを小さくする。また、第1携帯端末1の第nインターバル再生終了時刻が第2携帯端末2の第nインターバル再生終了時刻よりも早い場合、第2携帯端末2の再生レートを小さくする。そして、同期再生制御部174は、第2携帯端末2に第(n+2)インターバルでの再生レートを指示する。
また、同期再生制御部174は、ストリーミングデータの再生中において、測定部16によって測定されたRTTに基づいて、第2携帯端末2へのデータ送信レートおよび送信データ量を調整してもよい。
第2携帯端末2は、機能的には、入力部21と、出力部22と、端末情報管理部23と、通信制御部24と、バッファ制御部25と、再生制御部27と、切断検出部28と、を備えている。
入力部21は、入力装置を介してユーザの操作を受け付ける入力手段として機能する。入力部21は、受け付けた操作に関する操作情報を再生制御部27に送信する。出力部22は、第2メディア要素またはストリーミングデータを、出力装置107により再生する出力手段として機能する。
端末情報管理部23は、第2携帯端末2の端末能力(静的情報)および処理負荷など(動的情報)を管理する端末情報管理手段として機能する。端末情報管理部23は、例えば、第2携帯端末2がサポートする映像コーデックおよび音声コーデックなどのコーデック情報、映像再生可能レートおよび音声再生可能レートなどの再生可能レート情報、出力装置の画面の解像度を示す解像度情報、第2携帯端末2がサポートするWANプロトコルなどの通信プロトコル情報を第2能力情報として管理している。
また、端末情報管理部23は、例えば、処理負荷を示す負荷情報、メモリの消費量を示すメモリ消費量情報、バッテリーの残量を示すバッテリー残量情報などを第2状態情報として管理している。端末情報管理部23は、第1携帯端末1からローカルNW通信部242を介して能力通知要求を受信すると、第2携帯端末2の端末能力を含む能力情報をローカルNW通信部242を介して第1携帯端末1に送信する。
通信制御部24は、データ送受信、セッション管理および通信ベアラ制御を行う通信制御手段として機能する。通信制御部24は、外部NW通信部241と、ローカルNW通信部242と、を備えている。外部NW通信部241は、ネットワークNWとのデータ送受信およびセッション管理などを行う。外部NW通信部241は、例えば、ネットワークNW上のストリーミングサーバ3に接続要求を送信し、ストリーミングサーバ3から接続応答を受信して、ストリーミングサーバ3との通信接続を確立する。ローカルNW通信部242は、ローカルネットワークLNとのデータ送受信およびセッション管理などを行う。ローカルNW通信部242は、第1携帯端末1から接続要求を受信すると、接続の可否を示す接続応答を送信する。
バッファ制御部25は、ネットワークNWとのデータの送受信に用いられる送受信バッファのバッファサイズおよびバッファ内のデータ量を制御する。また、バッファ制御部25は、ローカルネットワークLNを介した第1携帯端末1とのデータの送受信に用いられる送受信バッファのバッファサイズおよびバッファ内のデータ量を制御する。また、バッファ制御部25は、データ取得管理部271によって取得された第2メディア要素およびストリーミングデータをバッファに格納する。また、バッファ制御部25は、継続再生制御部275からバッファ済みデータの破棄の指示を受けて、バッファ内のデータを破棄する。
再生制御部27は、第2携帯端末2におけるストリーミングデータの再生を制御する再生制御手段として機能する。再生制御部27は、データ取得管理部271(第2データ取得手段)と、同期再生制御部274(第2同期再生制御手段)と、継続再生制御部275(継続再生制御手段)と、を備えている。
データ取得管理部271は、第2携帯端末2において再生するストリーミングデータを取得する第2データ取得手段として機能する。このデータ取得管理部271は、第1携帯端末1からローカルNW通信部242を介して第2メディア要素およびストリーミングデータのURL情報を受信する。そして、データ取得管理部271は、受信した第2メディア要素をバッファ制御部25に送信してバッファに格納させる。
また、データ取得管理部271は、後述の切断検出部28によって第1携帯端末1の切断状態が検出された場合に、第1携帯端末1から受信したURL情報に基づいてストリーミングデータの未再生部分を取得する。具体的には、データ取得管理部271は、切断検出部28によって第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定されると、第1携帯端末1から受信したURL情報に基づいて、ストリーミングサーバ3に外部NW通信部241を介してストリーミングデータ配信要求を送信する。そして、データ取得管理部271は、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を、ストリーミングサーバ3から外部NW通信部241を介して受信する。
また、データ取得管理部271は、後述の継続再生制御部275によって決定された再生レートをストリーミングサーバ3に通知する。そして、データ取得管理部271は、データ送信レートおよび送信データサイズが指定されたデータ送信レート応答をストリーミングサーバ3から受信する。そして、データ取得管理部271は、ストリーミングサーバ3に外部NW通信部141を介してストリーミングデータ送信要求を送信する。そして、データ取得管理部271は、ストリーミングデータ送信要求に対応するストリーミングデータの分割データを、ストリーミングサーバ3から外部NW通信部241を介して受信する。そして、データ取得管理部271は、受信した分割データをバッファ制御部25に送信してバッファに格納させる。
なお、データ取得管理部271は、継続再生開始時間を指定してストリーミングデータ送信要求をストリーミングサーバ3に送信してもよい。この場合、データ取得管理部271は、継続再生制御部275から通知されたタイムスタンプが示す時間を継続再生開始時間とし、この継続再生開始時間を指定してストリーミングデータ送信要求を送信する。
また、データ取得管理部271は、切断検出部28によって第1携帯端末1の切断状態が検出された場合に、第1携帯端末1において再生されていない第1メディア要素を第1携帯端末1から取得してもよい。この場合、データ取得管理部271は、切断検出部28によって第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定されると、バッファリング済みの第1メディア要素を取得するために、第1携帯端末1に第1メディア要素転送要求を送信する。そして、データ取得管理部271は、第1携帯端末1からバッファリング済みの第1メディア要素を受信すると、受信した第1メディア要素をバッファ制御部25に送信してバッファに格納させる。
同期再生制御部274は、同期再生制御部174によって通知された再生開始時刻に基づいて、データ取得管理部271によって受信された第2メディア要素を再生する第2同期再生制御手段として機能する。この同期再生制御部274は、再生開始時刻、再生レート、データ送信レートおよび送信データ量が指定された再生開始要求を同期再生制御部174からローカルNW通信部242を介して受信すると、再生開始の可否情報を含む再生開始応答を送信する。
また、同期再生制御部274は、バッファに格納された第2メディア要素を、バッファ制御部25によって出力部22に送信させる。そして、同期再生制御部274は、再生開始要求において指定された再生開始時刻に第2メディア要素を出力装置で再生させる。このとき、同期再生制御部274は、再生開始要求において指定された再生レートで、第2メディア要素を再生させる。
また、同期再生制御部274は、第2携帯端末2において、ストリーミングデータの各インターバルの再生が終了するごとに、そのインターバルの再生が終了した時刻であるインターバル再生終了時刻を算出する。そして、同期再生制御部274は、インターバル再生終了時刻を示す情報を第1携帯端末1に送信する。
継続再生制御部275は、後述の切断検出部28によって第1携帯端末1の切断状態が検出された場合に、第2携帯端末2においてストリーミングデータを継続して再生するように制御する継続再生制御手段として機能する。この継続再生制御部275は、データ取得管理部271によって取得されたストリーミングデータの未再生部分を再生する。具体的には、継続再生制御部275は、データ取得管理部271によって取得されたストリーミングデータの未再生部分をバッファから取得して、出力部22に再生させる。
また、データ取得管理部271が第1携帯端末1において再生されていない第1メディア要素を第1携帯端末1から取得した場合には、継続再生制御部275は、バッファから当該第1メディア要素を取得する。そして、継続再生制御部275は、第1メディア要素と第2携帯端末2において再生されていないバッファリング済みの第2メディア要素とを組み合わせて、ストリーミングデータの分割データを再構成する。
また、継続再生制御部275は、端末情報管理部23から第2能力情報を取得し、第2能力情報に基づいて、継続再生するストリーミングデータの再生レートを決定する。ここで、継続再生するストリーミングデータとは、継続再生制御部275によって再構成された分割データおよびデータ取得管理部271がストリーミングサーバ3から取得したストリーミングデータが含まれる。
また、継続再生制御部275は、第2能力情報に基づいて、継続再生するストリーミングデータに第2携帯端末2の処理能力を超えるメディア要素が含まれているか否かを判定する。そして、継続再生制御部275は、継続再生するストリーミングデータに第2携帯端末2の処理能力を超えるメディア要素が含まれていると判定した場合には、そのメディア要素を破棄する。例えば、第2携帯端末2がサポートしていないコーデックの音声データが継続再生するストリーミングデータに含まれている場合には、継続再生制御部275は、その音声データを破棄する。
また、継続再生制御部275は、再構成された分割データを出力部22に再生させる。このとき、継続再生制御部275は、未取得の分割データのタイムスタンプをデータ取得管理部271に通知する。また、継続再生制御部275は、再構成した分割データの再生後、ストリーミングサーバ3から受信した分割データを出力部22に再生させる。
また、継続再生制御部275は、第1携帯端末1からバッファリング済み第1メディア要素を受信できなかった場合、第1携帯端末1は使用不可状態であると判定し、バッファ制御部25にバッファ済みの(未再生の)第2メディア要素を破棄するように指示する。このとき、継続再生制御部275は、未再生の分割データのタイムスタンプをデータ取得管理部271に通知してもよい。
切断検出部28は、第1携帯端末1がストリーミングデータをストリーミングサーバ3から取得できない切断状態であるか否かを検出する切断検出手段として機能する。例えば、切断検出部28は、第1携帯端末1から切断要求を受信したことにより、第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定する。また、切断検出部28は、第1携帯端末1から受信しているデータのデータ転送レートが低下していることを検出することにより、第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定する。
続いて、上述した構成を有する情報再生システム10におけるストリーミングデータの再生状態を説明する。図5の(a)は第1携帯端末1と第2携帯端末2とが同期再生している再生状態を示す図、(b)は第1携帯端末1が切断され、第2携帯端末2が単独再生している再生状態を示す図である。図5の(a)に示されているように、第1携帯端末1と第2携帯端末2とがストリーミングデータを同期再生している状態(第1状態ST1)では、ストリーミングサーバ3から配信されるストリーミングデータを第1携帯端末1が受信している。
また、第1携帯端末1は、第2携帯端末2との間にローカルネットワークLNの接続を確立する。そして、第1携帯端末1は、受信したストリーミングデータを複数のメディア要素に分離し、第1携帯端末1で再生する第1メディア要素と第2携帯端末2で再生する第2メディア要素とを抽出する。そして、第1携帯端末1は、第1メディア要素をバッファに格納し、第2メディア要素を第2携帯端末2に転送する。一方、第2携帯端末2は、受信した第2メディア要素をバッファに格納する。その後、第1携帯端末1は、第2携帯端末2との同期再生制御および再生レート調整を行って、第2携帯端末2とともに同期再生を行う。
一方、図5の(b)に示されているように、ユーザ選択、無線WANの切断などの事由により第1携帯端末1とストリーミングサーバ3との通信が切断された状態(第2状態ST2)では、まず、第2携帯端末2は、第1携帯端末1から送信されるデータの転送レートが連続的に低下していることを検出するか、あるいは、第1携帯端末1から切断要求を受信すると、第2メディア要素の再生を停止する。そして、第2携帯端末2は、第1携帯端末1に第1メディア要素転送要求を送信する。
その後、第2携帯端末2は、第1携帯端末1から第1メディア要素を受信した場合、第2携帯端末2にバッファリングされている第2メディア要素と結合し、ストリーミングデータの分割データを再構成する。そして、第2携帯端末2は、第2携帯端末2の処理能力に応じて再生レートを調整し、再構成した分割データの再生を開始する。次に、第2携帯端末2は、第1携帯端末1から受信したURL情報に基づいてストリーミングサーバ3にアクセスし、ストリーミングサーバ3に未再生かつ第1携帯端末1から受信していないデータを要求する。また、第2携帯端末2は、第1携帯端末1から第1メディア要素を受信できなかった場合、再生停止時以降のデータをストリーミングサーバ3に要求する。
そして、第2携帯端末2は、ストリーミングサーバ3とネゴシエーションを行う。このとき、第2携帯端末2の処理能力およびバッファリング済みのデータ量を考慮して、データ送信レート、バッファリングするデータサイズおよび再生レートが決定される。そして、第2携帯端末2は、ストリーミングサーバ3との通信が確立されると、再生停止位置から再生を開始する。
続いて、図6〜図9を参照して、情報再生システム10における情報再生方法について説明する。図6は、情報再生システム10の接続確立(ネゴシエーション)プロセスを示すシーケンス図である。このプロセスは、第1携帯端末1が、ストリーミングデータを取得するための操作を示す操作情報を入力部11から受信することにより開始される。
なお、第1携帯端末1と第2携帯端末2との通信は、ローカルNW通信部142およびローカルNW通信部242を介して行われ、第1携帯端末1とストリーミングサーバ3との通信は、外部NW通信部141および通信制御部31を介して行われ、第2携帯端末2とストリーミングサーバ3との通信は、外部NW通信部241および通信制御部31を介して行われるが、図6〜図9の説明においては、これを省略する。
図6に示されるように、まず、第1携帯端末1のデータ取得管理部171は、ストリーミングサーバ3にストリーミングデータ配信要求を送信する(ステップS01)。そして、ストリーミングサーバ3のストリーミングデータ管理部33は、第1携帯端末1からストリーミングデータ配信要求を受信すると、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を第1携帯端末1に送信する(ステップS02)。
次に、データ取得管理部171は、ストリーミングデータ配信応答をストリーミングサーバ3から受信すると、メタ情報を再生パターン決定部172に送信する。そして、再生パターン決定部172は、メタ情報に含まれるマルチデバイス情報がマルチデバイス再生可能を示すか否かを判定する(ステップS03)。
マルチデバイス情報がマルチデバイス再生可能を示す場合、ローカルNW通信部142は、ローカルネットワークLN上の第2携帯端末2に接続要求を送信する(ステップS04)。第2携帯端末2のローカルNW通信部242は、第1携帯端末1から接続要求を受信すると、接続の可否を示す接続応答を送信する。そして、ローカルNW通信部142は、第2携帯端末2から接続可能を示す接続応答を受信して、第2携帯端末2との通信接続を確立する(ステップS05)。
第1携帯端末1と第2携帯端末2との通信接続が確立されると、再生パターン決定部172は、能力通知要求を第2携帯端末2に送信する(ステップS06)。第2携帯端末2の端末情報管理部23は、第1携帯端末1から能力通知要求を受信すると、第2能力情報を第1携帯端末1に送信する(ステップS07)。そして、再生パターン決定部172は、第2携帯端末2から第2能力情報を受信する。また、再生パターン決定部172は、端末情報管理部13から第1能力情報を取得する。
次に、再生パターン決定部172は、ストリーミングデータのメタ情報、第1能力情報および第2能力情報に基づいて、第1メディア要素と第2メディア要素とを決定する(ステップS08,再生パターン決定ステップ)。再生パターン決定部172は、例えば、ストリーミングデータを構成するメディア要素のコーデックに第1携帯端末1および第2携帯端末2が対応しているか否かによって、第1携帯端末1および第2携帯端末2で再生可能なメディア要素を判定する。そして、再生パターン決定部172は、第1携帯端末1で再生可能なメディア要素を第1メディア要素とし、第2携帯端末2で再生可能なメディア要素を第2メディア要素とする。また、第1メディア要素と第2メディア要素との組合せが複数存在する場合、再生パターン決定部172は、第1メディア要素および第2メディア要素の組合せの候補を出力部12によって出力装置107に表示する。そして、再生パターン決定部172は、ユーザによっていずれかの候補が選択されることにより、第1メディア要素および第2メディア要素を決定する。
一方、データ取得管理部171は、ストリーミングサーバ3にストリーミングデータ送信要求を送信する(ステップS09)。ストリーミングデータ管理部33は、第1携帯端末1からストリーミングデータ送信要求を受信すると、ストリーミングデータ送信要求に対応するストリーミングデータをストリーミングデータ記憶部32から取得する。そして、ストリーミングデータ管理部33は、ストリーミングデータを再生順に所定のデータサイズの分割データに分割する。
続いて、ストリーミングデータ管理部33は、分割データを再生順に第1携帯端末1に送信する(ステップS10)。そして、データ取得管理部171は、ストリーミングデータ送信要求に対応するストリーミングデータの分割データを、ストリーミングサーバ3から受信する。データ取得管理部171は、受信した分割データをバッファ制御部15に送信してバッファに格納させる(第1データ取得ステップ)。なお、このステップS09およびステップS10は、ステップS03〜ステップS08と並行して行われてもよい。
次に、メディア要素抽出部173は、再生パターン決定部172によって決定された第1メディア要素と第2メディア要素とをバッファ内の分割データから抽出する(ステップS12,メディア要素抽出ステップ)。そして、メディア要素抽出部173は、抽出した第1メディア要素および第2メディア要素をバッファ制御部15に送信し、バッファに格納させる。
その後、同期再生制御部174は、バッファ内の第2メディア要素を第2携帯端末2に送信する(ステップS13)。また、同期再生制御部174は、このストリーミングデータのURL情報(コンテンツURL)を第2メディア要素とともに送信する(ステップS14)。第2携帯端末2のデータ取得管理部271は、第1携帯端末1から第2メディア要素とURL情報とを受信し、受信した第2メディア要素をバッファ制御部25に送信して、バッファに格納させる(ステップS15)。
図7は、情報再生システム10の第1状態ST1における同期再生制御プロセスを示すシーケンス図である。このプロセスは、図6のプロセスに引き続いて行われる。
図7に示されるように、ストリーミングデータ管理部33は、分割データを再生順に第1携帯端末1に送信し、データ取得管理部171は、分割データをストリーミングサーバ3から受信する(ステップS21,第1データ取得ステップ)。なお、このステップS21は、図6のステップS10と同じ処理であって、ストリーミングデータの送信が完了するまで一定の時間間隔で繰り返し実施される。これ以降の処理は、このステップS21と並行して実施される。
第1携帯端末1の測定部16は、第2携帯端末2に対するRTTを測定する(ステップS22,測定ステップ)。同期再生制御部174は、ステップS22において測定されたRTTに基づいて、第2携帯端末2において再生すべきデータが不足しないように、データ送信レートおよびバッファリングデータ量を決定する(ステップS23)。また、同期再生制御部174は、現在の時刻にRTTを加えた時刻以降を再生開始時刻として決定する。また、同期再生制御部174は、ストリーミングデータを同期して再生できるように、第1能力情報および第2能力情報に基づいて、第1携帯端末1の再生レートと第2携帯端末2の再生レートとを算出する。
そして、同期再生制御部174は、このストリーミングデータのURL情報を第2メディア要素とともに送信し、データ取得管理部271は、第1携帯端末1から受信した第2メディア要素をバッファ制御部25に送信して、バッファに格納させる(ステップS24,第2データ取得ステップ)。このステップS24は、図6のステップS13〜ステップS15と同じ処理である。ステップS24は、ステップS23などにおいて決定されたデータ送信レートに応じて繰り返し実施される。
次に、同期再生制御部174は、再生開始時刻、再生レート、データ送信レートおよび送信データ量を指定した再生開始要求を第2携帯端末2に送信する(ステップS25)。そして、同期再生制御部274は、再生開始要求を同期再生制御部174から受信すると、再生開始の可否情報を含む再生開始応答を送信する(ステップS26)。
同期再生制御部174は、再生開始可能であることを示す再生開始応答を第2携帯端末2から受信すると、バッファに格納されている第1メディア要素をバッファ制御部15によって出力部12に送信させ、再生開始要求において指定した再生開始時刻に出力装置107で再生させる(第1同期再生ステップ)。また、同期再生制御部274は、バッファに格納されている第2メディア要素をバッファ制御部25によって出力部22に送信させ、再生開始要求において指定された再生開始時刻に出力装置で再生させる(ステップS27,第2同期再生ステップ)。
これ以降、同期再生制御部174は、第1携帯端末1の再生レートに応じて、バッファに格納されている第1メディア要素を出力装置107で再生させる。また、同期再生制御部274は、第2携帯端末2の再生レートに応じて、バッファに格納されている第2メディア要素を出力装置で再生させる。以降の処理は、この同期再生中に行われ、インターバルを単位として行われる。
測定部16は、第1インターバルにおいて、RTTを測定する(ステップS28)。その後、同期再生制御部174は、第1携帯端末1において第1インターバルの再生が終了すると、第1インターバルの再生が終了した時刻である第1インターバル再生終了時刻を算出する(ステップS29)。
一方、同期再生制御部274は、第2携帯端末2において第1インターバルの再生が終了すると、第1インターバル再生終了時刻を算出する(ステップS30)。そして、同期再生制御部274は、第1インターバル再生終了時刻を示す情報を第1携帯端末1に送信し、同期再生制御部174は、第1インターバル再生終了時刻を示す情報を第2携帯端末2から受信する(ステップS31)。また、測定部16は、第2インターバルにおいてRTTを測定する(ステップS32)。そして、同期再生制御部174は、ステップS32において測定されたRTTに基づいて、第2携帯端末2において再生すべきデータが不足しないように、データ送信レートおよび送信データサイズを調整する(ステップS33)。
次に、同期再生制御部174は、第1携帯端末1の第1インターバル再生終了時刻と第2携帯端末2の第1インターバル再生終了時刻とを比較し、その差分を算出する。そして、同期再生制御部174は、同期ずれを解消するために、算出した差分が小さくなるように、第2携帯端末2の第3インターバルでの再生レートを算出する(ステップS34)。そして、同期再生制御部174は、第3インターバルでの再生レートを第2携帯端末2に指示する(ステップS35)。
その後、同期再生制御部174は、第1携帯端末1において第2インターバルの再生が終了すると、第2インターバルの再生が終了した時刻である第2インターバル再生終了時刻を算出する(ステップS36)。一方、同期再生制御部274は、第2携帯端末2において第2インターバルの再生が終了すると、第2インターバル再生終了時刻を算出する(ステップS37)。
以降、第2インターバルにおけるステップS31〜ステップS37と同様の処理を、第3インターバルにおいて繰り返す(ステップS38〜ステップS44)。それ以降のインターバルにおいても、ステップS31〜ステップS37と同様の処理を繰り返し、同期再生を継続する。
図8は、情報再生システム10の第2状態ST2における継続再生制御プロセスの一例を示すシーケンス図である。図8に示されるように、このプロセスは、無線の切断などのユーザが意図しない理由により、第1携帯端末1がストリーミングサーバ3との通信接続を切断されたことにより開始される(ステップS51)。ストリーミングサーバ3の通信制御部31は、第1携帯端末1へのデータ送信中に第1携帯端末1との通信接続が切断されると、送信データをバッファ内に格納してデータ送信をサスペンド状態にする(ステップS52)。そして、再生管理部34は、再生管理テーブルに送信済みタイムスタンプを記憶する。
また、第1携帯端末1のローカルNW通信部142は、ストリーミングサーバ3との通信接続が切断されたことを検出すると、第2携帯端末2に切断要求を送信する(ステップS53)。そして、第2携帯端末2の切断検出部28は、第1携帯端末1から切断要求を受信したことにより、第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定する(ステップS54)。このステップS53において、第1携帯端末1は第2携帯端末2に切断要求を送信しないこともある。この場合、切断検出部28は、第1携帯端末1から受信しているデータのデータ転送レートが低下していることを検出することにより、第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定する(ステップS54)。
ステップS54において第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定されると、データ取得管理部271は、第1携帯端末1においてバッファリング済みの第1メディア要素を取得するために、第1携帯端末1に第1メディア要素転送要求を送信する(ステップS55)。バッファ制御部15は、第2携帯端末2から第1メディア要素転送要求を受信すると、バッファ内に格納している第1メディア要素を第2携帯端末2に送信する(ステップS56)。そして、ローカルNW通信部142は、バッファ内に格納している第1メディア要素の転送が完了すると、第2携帯端末2との通信接続(コネクション)を切断する。
そして、データ取得管理部271は、第1携帯端末1からバッファリング済みの第1メディア要素を受信すると、バッファ制御部25に送信してバッファに格納させる。その後、継続再生制御部275は、第2携帯端末2においてバッファリング済みの第2メディア要素と、受信した第1メディア要素とを組み合わせて、ストリーミングデータの分割データを再構成する(ステップS57)。続いて、継続再生制御部275は、端末情報管理部23から第2能力情報を取得し、第2能力情報に基づいて、再構成された分割データの再生レートを決定する。
また、継続再生制御部275は、第2能力情報に基づいて、再構成された分割データに第2携帯端末2の処理能力を超えるメディア要素が含まれているか否かを判定する。そして、継続再生制御部275は、再構成された分割データに第2携帯端末2の処理能力を超えるメディア要素が含まれていると判定した場合には、そのメディア要素を破棄する(ステップS58)。そして、継続再生制御部275は、再構成された分割データを出力部22に再生させる(ステップS59)。このとき、継続再生制御部275は、未取得の分割データのタイムスタンプをデータ取得管理部271に通知してもよい。
次に、データ取得管理部271は、第1携帯端末1から受信したURL情報に基づいて、ストリーミングサーバ3にストリーミングデータ配信要求を送信する(ステップS60)。ストリーミングサーバ3のストリーミングデータ管理部33は、第2携帯端末2からストリーミングデータ配信要求を受信すると、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を、第2携帯端末2に送信する(ステップS61)。
続いて、データ取得管理部271は、ストリーミングデータ配信応答をストリーミングサーバ3から受信すると、継続再生制御部275によって決定された再生レートをストリーミングサーバ3に通知する(ステップS62)。ストリーミングデータ管理部33は、第2携帯端末2から再生レートの通知を受けると、ストリーミングデータ管理テーブルからストリーミングサーバ3が提供可能なデータレートを取得する。そして、ストリーミングデータ管理部33は、ステップS62において通知された再生レートに基づいて、データ送信レートおよび送信データサイズを決定する。その後、ストリーミングデータ管理部33は、データ送信レートおよび送信データサイズを指定したデータ送信レート応答を第2携帯端末2に送信する(ステップS63)。
次に、データ取得管理部271は、データ送信レート応答をストリーミングサーバ3から受信すると、ストリーミングサーバ3にストリーミングデータ送信要求を送信する(ステップS64)。ストリーミングデータ管理部33は、ストリーミングデータ送信要求を第2携帯端末2から受信すると、再生管理部34から送信済みタイムスタンプを取得する。そして、ストリーミングデータ管理部33は、送信済みタイムスタンプが示す時間以降の分割データを再生順に、第2携帯端末2に送信する(ステップS65)。
次に、データ取得管理部271は、ストリーミングデータ送信要求に対応するストリーミングデータの分割データを、ストリーミングサーバ3から受信する。続いて、データ取得管理部271は、受信した分割データをバッファ制御部25に送信してバッファに格納させる。そして、継続再生制御部275は、再構成された分割データの再生が終了した後、ストリーミングサーバ3から受信した分割データを、ステップS62において通知した再生レートに応じて出力部22に再生させる。
なお、ステップS63において、ストリーミングデータ管理部33は、第2携帯端末2に対するRTTを測定し、そのRTTを考慮してデータ送信レートおよび送信データサイズを決定してもよい。また、第2携帯端末2は、RTTを考慮してバッファリングデータサイズを決定してもよい。
図9は、情報再生システム10の第2状態ST2における継続再生制御プロセスの他の例を示すシーケンス図である。図9に示されるように、このプロセスは、ユーザが意図的に第1携帯端末1の電源をオフにする操作を行ったことにより開始される(ステップS71)。ストリーミングサーバ3の通信制御部31は、第1携帯端末1へのデータ送信中に第1携帯端末1との通信接続が切断されると(ステップS72)、送信データをバッファ内に格納してデータ送信をサスペンド状態にする(ステップS73)。そして、再生管理部34は、再生管理テーブルに送信済みタイムスタンプを記憶する。
また、第1携帯端末1のローカルNW通信部142は、第1携帯端末1の電源をオフにする操作を検出すると、第2携帯端末2に切断要求を送信する(ステップS74)。そして、第2携帯端末2の切断検出部28は、第1携帯端末1から切断要求を受信したことにより、第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定する(ステップS75)。ステップS75において第1携帯端末1とストリーミングサーバ3との通信が切断されたと判定されると、データ取得管理部271は、第1携帯端末1においてバッファリング済みの第1メディア要素を取得するために、第1携帯端末1に第1メディア要素転送要求を送信する(ステップS76)。
ユーザが意図的に第1携帯端末1の電源をオフにする操作を行った場合、第1携帯端末1の電源がオフになっているため、第1携帯端末1はバッファリング済みの第1メディア要素を第2携帯端末2に送信することはできない。このため、データ取得管理部271は、第1携帯端末1からバッファリング済みの第1メディア要素を受信できないので、継続再生制御部275は、第1携帯端末1が使用不可状態であると判定する(ステップS77)。
そして、継続再生制御部275は、バッファ済みの(未再生の)第2メディア要素を破棄するようにバッファ制御部25に指示する。バッファ制御部25は、継続再生制御部275からバッファ済みデータの破棄の指示を受けると、バッファ内の第2メディア要素を破棄する(ステップS78)。このとき、継続再生制御部275は、未再生の分割データのタイムスタンプをデータ取得管理部271に通知する。
次に、データ取得管理部271は、第1携帯端末1から受信したURL情報に基づいて、ストリーミングサーバ3にストリーミングデータ配信要求を送信する(ステップS79)。ストリーミングサーバ3のストリーミングデータ管理部33は、第2携帯端末2からストリーミングデータ配信要求を受信すると、ストリーミングデータ配信要求に対応するストリーミングデータのメタ情報を含むストリーミングデータ配信応答を、第2携帯端末2に送信する(ステップS80)。
そして、データ取得管理部271がストリーミングデータ配信応答をストリーミングサーバ3から受信すると、継続再生制御部275は、データレート情報と第2能力情報とを比較し、より低いデータレートを再生レートとして決定する。次に、データ取得管理部271は、継続再生制御部275によって決定された再生レートをストリーミングサーバ3に通知する(ステップS81)。
ストリーミングデータ管理部33は、第2携帯端末2から再生レートの通知を受けると、ストリーミングデータ管理テーブルからストリーミングサーバ3が提供可能なデータレートを取得する。そして、ストリーミングデータ管理部33は、ステップS62において通知された再生レートに基づいて、データ送信レートおよび送信データサイズを決定する。その後、ストリーミングデータ管理部33は、データ送信レートおよび送信データサイズを指定したデータ送信レート応答を第2携帯端末2に送信する(ステップS82)。
そして、データ取得管理部271は、データ送信レート応答をストリーミングサーバ3から受信すると、ストリーミングデータ送信要求をストリーミングサーバ3に送信する(ステップS83)。このとき、データ取得管理部271は、ストリーミングデータ送信要求において、ステップS78において通知されたタイムスタンプが示す時間を継続再生開始時間として指定する。ストリーミングデータ管理部33は、ストリーミングデータ送信要求を第2携帯端末2から受信すると、ストリーミングデータ送信要求において指定された継続再生開始時間を取得する。そして、ストリーミングデータ管理部33は、継続再生開始時間以降の分割データを再生順に、第2携帯端末2に送信する(ステップS84)。
そして、データ取得管理部271は、ストリーミングデータ送信要求に対応するストリーミングデータの分割データを、ストリーミングサーバ3から受信する。続いて、データ取得管理部271は、受信した分割データをバッファ制御部25に送信してバッファに格納させる。そして、継続再生制御部275は、必要なデータ量(バッファリングデータサイズ)をバッファに格納した後、バッファ内に格納されている分割データを、ステップS81において通知した再生レートに応じて出力部22に再生させる。
なお、ステップS82において、ストリーミングデータ管理部33は、第2携帯端末2に対するRTTを測定し、そのRTTを考慮してデータ送信レートおよび送信データサイズを決定してもよい。また、第2携帯端末2は、RTTを考慮してバッファリングデータサイズを決定してもよい。
続いて、図10〜図13を参照して、第1携帯端末1および第2携帯端末2の画面の遷移について説明する。図10および図11は、マルチデバイス再生時の第1携帯端末および第2携帯端末の画面の遷移の一例を示す図である。
図10に示されるように、第1携帯端末1がストリーミングサーバ3とネゴシエーションを行っている間(図6のステップS01〜ステップS02に相当)、第1携帯端末1は、「バッファリング中」といったメッセージが表示された画面A01を出力する。このとき、第2携帯端末2は、何も表示されない画面B01を出力する(ステップS101)。続いて、ストリーミングデータがマルチデバイス再生可能である場合、第1携帯端末1は、「マルチデバイス再生を利用しますか?[Y/N]」といったメッセージが表示された画面A02を出力する。このとき、第2携帯端末2は、何も表示されない画面B02を出力する(ステップS102)。
そして、画面A02においてユーザが「Y」を選択すると(図6のステップS03に相当)、第1携帯端末1は、「デバイスを接続してください。[OK]」といったメッセージが表示された画面A03を出力する。このとき、第2携帯端末2は、何も表示されない画面B03を出力する(ステップS103)。そして、ユーザは、ブルートゥースなどによって第1携帯端末1と第2携帯端末2との接続を確立して、画面A03において「OK」を選択する(図6のステップS04〜ステップS05に相当)。
続いて、第1携帯端末1は、第2能力情報を取得した後(図6のステップS06〜ステップS07に相当)、再生パターンの候補が表示された画面A04を出力する。このとき、第2携帯端末2は、「待機中…(第1携帯端末1で再生パターンを選択してください)」といったメッセージが表示された画面B04を出力する(ステップS104)。
続いて、図11に示されるように、ステップS104において、画面A04から候補1を選択した場合(図6のステップS08に相当)、第1携帯端末1は、「映像を再生します。[OK]」といったメッセージが表示された画面A05を出力する。一方、第2携帯端末2は、「音声とテキストを再生します。[OK]」といったメッセージが表示された画面B05を出力する(ステップS105)。
そして、画面A05および画面B05においてユーザが「OK」を選択すると、ストリーミングデータの分割データから第1メディア要素と第2メディア要素とが抽出されて、第1携帯端末1のバッファに第1メディア要素が格納され、第2携帯端末2のバッファに第2メディア要素が格納される。さらに、データ送信レートなどが決定される(図6のステップS12〜ステップS15,図7のステップS21〜ステップS24に相当)。この間、第1携帯端末1および第2携帯端末2は、「再生準備中」といったメッセージが表示された画面A06,B06を出力する(ステップS106)。
次に、再生の準備が完了すると、第1携帯端末1および第2携帯端末2は、「再生を開始します。[OK]」といったメッセージが表示された画面A07,B07を出力する(ステップS107)。そして、画面A07および画面B07においてユーザが「OK」を選択すると、第1携帯端末1において映像データが再生され、第2携帯端末2において音声データおよびテキストデータが再生される(図7のステップS25〜ステップS27に相当)。このとき、第1携帯端末1は、映像データの再生画面A08を出力し、第2携帯端末2は、音声データおよびテキストデータの再生画面B08を出力する(ステップS108)。
図12は、第1携帯端末1が切断された時の第1携帯端末および第2携帯端末の画面の遷移の一例を示す図である。図12に示されるように、第1携帯端末1とストリーミングサーバ3との通信接続が切断されると(図8のステップS51〜ステップS54に相当)、第1携帯端末1は、「サーバから切断されました。第2携帯端末2で継続再生します。」といったメッセージが表示された画面A11を出力する。一方、第2携帯端末2は、「継続再生準備中です。」といったメッセージが表示された画面B11を出力する(ステップS111)。
このステップS111の間に、第1携帯端末1にバッファリング済みの映像データが第2携帯端末2に送信され、ストリーミングデータの分割データが再構成されて、継続再生の準備が行われる(図8のステップS55〜ステップS58に相当)。そして、継続再生の準備が完了し、再生に必要なデータ量がバッファ内に格納されると、第2携帯端末2においてストリーミングデータが継続再生される(図8のステップS59〜ステップS65に相当)。このとき、第1携帯端末1は、何も表示されない画面A12を出力し、第2携帯端末2は、映像データ、音声データおよびテキストデータの再生画面B12を出力する(ステップS112)。
図13は、第1携帯端末1の電源がオフにされた時の第1携帯端末および第2携帯端末の画面の遷移の一例を示す図である。図13に示されるように、ユーザによって第1携帯端末1の電源がオフにされると(図9のステップS71〜ステップS75に相当)、第1携帯端末1は、電源がオフ状態であることを示す画面A21を出力する。一方、第2携帯端末2は、「継続再生準備中です。」といったメッセージが表示された画面B21を出力する(ステップS121)。
このステップS121の間に、第2携帯端末2はストリーミングサーバ3にアクセスして、未再生のストリーミングデータを取得する(図9のステップS76〜ステップS84に相当)。そして、再生に必要なデータ量がバッファ内に格納されると、第2携帯端末2においてストリーミングデータが継続再生される(図9のステップS84に相当)。このとき、第1携帯端末1は、電源がオフ状態であることを示す画面A22を出力し、第2携帯端末2は、映像データ、音声データおよびテキストデータの再生画面B22を出力する(ステップS122)。
次に、情報再生システム10の作用効果について説明する。情報再生システム10は、第1携帯端末1と第2携帯端末2とが同期してストリーミングデータを再生する情報再生システムである。第1携帯端末1は、ストリーミングデータを取得するデータ取得管理部171と、第1携帯端末1および第2携帯端末2の処理能力に基づいて、データ取得管理部171によって取得されたストリーミングデータに含まれる複数のメディア要素のうち、第1携帯端末1において再生する第1メディア要素と、第2携帯端末2に再生させる第2メディア要素とを決定する再生パターン決定部172と、第1携帯端末1と第2携帯端末2との間のデータ転送時間を測定する測定部16と、再生パターン決定部172によって決定された第1メディア要素および第2メディア要素をストリーミングデータから抽出するメディア要素抽出部173と、メディア要素抽出部173によって抽出された第2メディア要素を第2携帯端末2に送信するとともに、測定部16によって測定されたデータ転送時間に基づいて決定された再生開始時刻を第2携帯端末2に通知して、再生開始時刻に第1メディア要素を再生する同期再生制御部174と、を備える。第2携帯端末2は、同期再生制御部174によって送信された第2メディア要素を取得するデータ取得管理部271と、同期再生制御部174によって通知された再生開始時刻に、データ取得管理部271によって取得された第2メディア要素を再生する同期再生制御部274と、を備える。
これにより、第1携帯端末1および第2携帯端末2の処理能力に応じて、ストリーミングデータに含まれる複数のメディア要素のうち、第1携帯端末1において再生する第1メディア要素と、第2携帯端末2において再生する第2メディア要素とが決定されることにより、1つのストリーミングデータをメディア要素毎に分割して第1携帯端末1と第2携帯端末2とにおいて再生することができる。そして、第1携帯端末1と第2携帯端末2とのデータ転送時間に基づいて決定された再生開始時刻に第1携帯端末1および第2携帯端末2でそれぞれ第1メディア要素および第2メディア要素が再生されることにより、第1携帯端末1から第2携帯端末2へのデータ転送により生じる遅延時間を考慮して、第1携帯端末1と第2携帯端末2とで再生を同時に開始することができる。このため、第1携帯端末1と第2携帯端末2とにメディア要素毎に分割された1つのストリーミングデータを同期して再生することが可能となる。
同期再生制御部274は、ストリーミングデータの再生時間を区分した再生インターバルごとに、第2携帯端末2における再生インターバルの再生終了時刻を第1携帯端末1に通知する。また、同期再生制御部174は、同期再生制御部274によって通知された第2携帯端末2における再生インターバルの再生終了時刻と、第1携帯端末1における再生インターバルの再生終了時刻との差分に基づいて、第2携帯端末2に再生レートを指示する。そして、同期再生制御部274は、同期再生制御部174によって指示された再生レートで、第2メディア要素を再生する。
第1携帯端末1および第2携帯端末2において実行される処理は、時間に応じて変化する。このため、再生インターバルにおける第1メディア要素の再生に第1携帯端末1が実際に要した時間と、再生インターバルにおける第2メディア要素の再生に第2携帯端末2が実際に要した時間との差分に基づいて、第2携帯端末2の再生レートを決定することにより、第1携帯端末1の再生インターバルの再生終了時刻と第2携帯端末2の再生インターバルの再生終了時刻との差を抑えることができる。このため、第1携帯端末1および第2携帯端末2の処理負荷が変化することにより、第1携帯端末1および第2携帯端末2ごとに再生インターバルの再生時間が変化したとしても、再生レートを変更することによって、同期ずれを低減することができる。その結果、第1携帯端末1と第2携帯端末2とが同期してストリーミングデータを再生することが可能となる。
同期再生制御部174は、データ転送時間に基づいて決定された送信レートで、第2メディア要素を第2携帯端末2に送信してもよい。この構成によれば、データ転送時間を考慮して、第2メディア要素を第2携帯端末2に送信する送信レートを決定することにより、第2携帯端末2において再生すべきデータが不足することを抑制できる。このため、第2携帯端末2において、再生の遅延を抑制でき、第1携帯端末1と第2携帯端末2とが同期してストリーミングデータを再生することが可能となる。
測定部16は、ストリーミングデータの再生時間を区分した再生インターバルごとにデータ転送時間を測定し、同期再生制御部174は、測定されたデータ転送時間に基づいて、送信レートを調整してもよい。第1携帯端末1と第2携帯端末2との間のトラフィックなど通信経路の状態によって、第1携帯端末1と第2携帯端末2との間のデータ転送時間は変化することがある。この構成によれば、再生インターバルごとに測定されたデータ転送時間に基づいて送信レートを調整することにより、データ転送時間の変化に応じた送信レートとすることができる。このため、第2携帯端末2において、再生の遅延をさらに抑制できる。
第2携帯端末2は、第1携帯端末1がストリーミングデータを取得できない切断状態であるか否かを検出する切断検出部28と、切断検出部28によって第1携帯端末1の切断状態が検出された場合に、第2携帯端末2においてストリーミングデータを継続して再生するように制御する継続再生制御部275と、をさらに備えてもよい。この場合、同期再生制御部174は、ストリーミングデータのURL情報を第2携帯端末2に送信し、データ取得管理部271は、切断検出部28によって第1携帯端末1の切断状態が検出された場合に、同期再生制御部174によって送信されたURL情報に基づいて、ストリーミングデータの未再生部分を取得し、継続再生制御部275は、データ取得管理部271によって取得されたストリーミングデータの未再生部分を再生してもよい。この構成によれば、第1携帯端末1がストリーミングデータを取得できない状態になったとしても、第2携帯端末2がストリーミングデータの未再生部分を取得できる。このため、第2携帯端末2においてストリーミングデータを継続して再生することが可能となる。すなわち、視聴スタイルなどによる再生デバイスの変更およびネットワーク環境の変更に応じて動的に再生を継続することが可能となる。
データ取得管理部271は、切断検出部28によって第1携帯端末1の切断状態が検出された場合に、第1携帯端末1において再生されていない第1メディア要素を第1携帯端末1から取得し、継続再生制御部275は、データ取得管理部271によって取得された第1メディア要素と第2携帯端末2において再生されていない第2メディア要素とを用いてストリーミングデータを再構成するようにしてもよい。この構成によれば、第1携帯端末1が切断状態になったとしても、ストリーミングサーバ3からストリーミングデータを再取得することなく、送信済みでかつ未再生のストリーミングデータを、第2携帯端末2において再構成することができる。このため、第2携帯端末2において、送信済みのストリーミングデータを継続して再生することが可能となる。すなわち、視聴スタイルなどによる再生デバイスの変更およびネットワーク環境の変更に応じて動的に再生を継続することが可能となる。
このように、情報再生システム10では、スマートフォンおよびタブレット端末といったモバイルデバイスの属性およびユーザの視聴スタイルに応じて、ストリーミングデータを構成するメディア要素単位でデバイス間で分割して、ストリーミングデータを複数のデバイスで同期再生する。このため、コンテンツの魅力を十分に活かすとともに、バッテリー消費およびメモリ消費を抑えることができる。また、ユーザが何らかの事由により一方のデバイスをオフにしたり、意図しない無線通信の切断が生じたとしても、他方のデバイスにおいて継続してストリーミングデータの視聴を行うことができる。
(第2実施形態)
図14は、第2実施形態に係る情報再生システムの機能構成を概略的に示す図である。図14に示されるように、情報再生システム10Aは、機器4(再生装置)をさらに備える点、第1携帯端末1に代えて第1携帯端末1A(携帯端末)を備える点、および、ストリーミングサーバ3を備えていない点で情報再生システム10と相違している。また、情報再生システム10では、第2携帯端末2は絶対時刻を保持している(計時手段を有している)が、情報再生システム10Aでは、機器4は計時手段を有していない点でも相違する。
情報再生システム10Aは、第1携帯端末1Aが記憶しているコンテンツを、第2携帯端末2(他の携帯端末、再生装置)および機器4のうちの複数の再生装置によってマルチデバイス再生するシステムである。機器4は、ローカルネットワークLNに接続されるとともに、いずれかのメディア要素を再生可能な1以上の機器である。この機器4には、例えば、パーソナルコンピュータ5、スピーカ6、テレビ7などが含まれる。機器4は、これらに限られず、ローカルネットワークLNに接続可能であり、かつ、いずれかのメディア要素を再生可能な機器であればよい。
第1携帯端末1Aは、端末情報管理部13、測定部16および再生制御部17に代えて、端末情報管理部13A、測定部16A(測定手段)および再生制御部17Aを備える点、並びに、コンテンツ記憶部32A、コンテンツ管理部33Aおよび再生管理部34Aをさらに備える点で第1携帯端末1と相違している。
コンテンツ記憶部32Aは、第2携帯端末2および機器4において再生される複数のコンテンツを格納しているコンテンツ記憶手段として機能する。第1携帯端末1Aは、外部のコンテンツサーバから取得したコンテンツ、第1携帯端末1Aが録画したコンテンツ、第1携帯端末1Aで作成したスライドショーなどをコンテンツ記憶部32Aに格納する。このコンテンツ記憶部32Aに格納されているコンテンツは、コンテンツ管理部33Aによって管理されている。
コンテンツ管理部33Aは、コンテンツ記憶部32Aに格納されているコンテンツのメタ情報を管理するコンテンツ管理手段として機能する。コンテンツ管理部33Aは、図3のストリーミングデータ管理テーブルと同様のコンテンツ管理テーブルを用いて、コンテンツ記憶部32Aに格納されているコンテンツのメタ情報を管理している。
再生管理部34Aは、第2携帯端末2および機器4を含む再生装置での再生状態を動的に管理する再生管理手段として機能する。再生管理部34Aは、図4の再生管理テーブルと同様の再生管理テーブルを用いて、コンテンツの再生状態を管理している。
端末情報管理部13Aは、第2携帯端末2および機器4の再生装置それぞれの端末能力(静的情報)および処理負荷など(動的情報)を管理する端末情報管理手段として機能する。端末情報管理部13Aは、例えば、再生装置がサポートする映像コーデックおよび音声コーデックなどのコーデック情報、映像再生可能レートおよび音声再生可能レートなどの再生可能レート情報、出力装置107の画面の解像度を示す解像度情報を再生能力情報として管理している。また、端末情報管理部13Aは、例えば、処理負荷を示す負荷情報、メモリの消費量を示すメモリ消費量情報、バッテリーの残量を示すバッテリー残量情報などを再生状態情報として管理している。
測定部16Aは、第1携帯端末1Aと各再生装置との間のデータ転送時間をそれぞれ測定する測定手段として機能する。測定部16Aは、例えば、再生装置にデータを送信してから、再生装置からその応答を受信するまでの時間であるRTTを測定し、その半分をデータ転送時間としてもよい。そして、測定部16Aは、再生制御部17Aにデータ転送時間を示す転送時間情報を送信する。また、測定部16Aは、所定の時間間隔でデータ転送時間を測定してもよい。
測定部16Aは、再生装置が第1携帯端末1Aに受信応答を送信する機能を有しない場合、他の方法でデータ転送時間を測定する。例えば、再生装置がスピーカ6である場合、測定部16Aは、所定の音声パターンのオーディオデータを出力し、出力したオーディオデータの音声パターンがスピーカ6から出力されるまでの時間を測定する。具体的に説明すると、測定部16Aは、スピーカ6にオーディオデータを出力し、マイク(不図示)を用いてスピーカ6から出力される音声を受信する。そして、測定部16Aは、受信した音声のパターンと出力したオーディオデータの音声のパターンとを比較することによって、出力したオーディオデータの音声パターンがスピーカ6から出力されたか否かを判定する。測定部16Aは、音声パターンが一致した場合、オーディオデータを出力してから、その音声パターンを受信するまでの時間を算出し、その時間をデータ転送時間とする。
また、再生装置がパーソナルコンピュータ5またはテレビ7である場合、測定部16Aは、所定の画像のビデオデータを出力し、出力したビデオデータの画像がパーソナルコンピュータ5またはテレビ7に表示されるまでの時間を測定する。具体的に説明すると、測定部16Aは、パーソナルコンピュータ5またはテレビ7にビデオデータを出力し、カメラ(不図示)を用いてパーソナルコンピュータ5またはテレビ7に表示される画像を撮像する。そして、測定部16Aは、撮像した画像を画像処理し、出力したビデオデータと比較することによって、出力したビデオデータの画像がパーソナルコンピュータ5またはテレビ7に表示されたか否かを判定する。測定部16Aは、出力したビデオデータの画像が表示されたと判定された場合、ビデオデータを出力してからその画像が表示されるまでの時間を算出し、その時間をデータ転送時間とする。再生装置がパーソナルコンピュータ5またはテレビ7である場合、スピーカ6と同様に音声パターンによりデータ転送時間を測定してもよい。
再生制御部17Aは、再生装置におけるコンテンツのマルチデバイス再生を制御する再生制御手段として機能する。再生制御部17Aは、データ取得管理部171A(第1データ取得手段)と、再生パターン決定部172A(再生パターン決定手段)と、メディア要素抽出部173A(メディア要素抽出手段)と、同期再生制御部174A(第1同期再生制御手段)と、を備えている。
データ取得管理部171Aは、コンテンツを取得する第1データ取得手段として機能する。データ取得管理部171は、例えば、コンテンツを再生するための操作を示す操作情報を入力部11から受信する。そして、データ取得管理部171は、コンテンツ管理部33Aからコンテンツのメタ情報を取得する。また、データ取得管理部171Aは、コンテンツ記憶部32Aからコンテンツを取得し、バッファ制御部15に送信してバッファに格納させる。
再生パターン決定部172Aは、データ取得管理部171Aによって取得されたコンテンツに含まれる複数のメディア要素のそれぞれについて、いずれの再生装置に再生させるか決定する再生パターン決定手段として機能する。具体的に説明すると、再生パターン決定部172Aは、コンテンツのメタ情報に基づいて、コンテンツに含まれる各メディア要素の再生装置を決定する。
例えば、マルチデバイス情報がマルチデバイス再生可能を示す場合、再生パターン決定部172Aは、ユーザにマルチデバイス再生を行うか否かを選択させるための画面を出力装置107に表示させる。そして、ユーザによってコンテンツのマルチデバイス再生が選択された場合、再生パターン決定部172Aは、端末情報管理部13Aによって管理されている再生能力情報に基づいて、コンテンツを構成するメディア要素ごとに、そのメディア要素のコーデックに対応している再生装置を抽出する。そして、再生パターン決定部172Aは、各メディア要素を再生する再生装置をユーザに選択させるために、抽出した再生装置の一覧を出力装置107に表示させる。
図15は、第1携帯端末1Aの画面の一例を示す図である。図15に示されるように、再生パターン決定部172Aは、例えば、メディア要素の音声を再生する再生装置をユーザに選択させるために、第2携帯端末2、パーソナルコンピュータ5、スピーカ6およびテレビ7の一覧を出力装置107に表示させる。
再生パターン決定部172Aは、コンテンツを構成するメディア要素ごとに、いずれかの再生装置を選択するための操作を示す操作情報を入力部11から受信すると、そのメディア要素を再生する再生装置として決定する。また、再生パターン決定部172Aは、端末情報管理部13Aによって管理されている端末情報に基づいて、メディア要素の数あるいは処理負荷が均等になるように、メディア要素のコーデックに対応している再生装置のうちメディア要素を再生する再生装置を決定してもよい。
一方、マルチデバイス情報がマルチデバイス再生可能を示す場合であって、ユーザによってコンテンツのマルチデバイス再生が選択されなかった場合、および、マルチデバイス情報がマルチデバイス再生できないことを示す場合、再生パターン決定部172Aは、端末情報管理部13Aによって管理されている端末情報に基づいて、コンテンツを構成するすべてのメディア要素を再生可能な再生装置を抽出する。そして、再生パターン決定部172Aは、コンテンツを再生する再生装置をユーザに選択させるために、抽出した再生装置の一覧を出力装置107に表示させる。また、再生パターン決定部172Aは、予め定められた再生装置を選択してもよい。
メディア要素抽出部173Aは、再生パターン決定部172Aによって決定された再生装置ごとにメディア要素をコンテンツから抽出するメディア要素抽出手段として機能する。メディア要素抽出部173Aは、バッファ内のデータから、再生装置ごとにメディア要素を抽出する。そして、メディア要素抽出部173Aは、抽出したメディア要素をバッファ制御部15に送信し、バッファに格納させる。
同期再生制御部174Aは、メディア要素抽出部173Aによって抽出された複数のメディア要素の各々を、再生パターン決定部172Aによって決定された装置に、測定部16Aによって測定されたデータ転送時間に基づいて再生させる第1同期再生制御手段として機能する。同期再生制御部174Aは、例えば、測定部16Aによって測定されたデータ転送時間に基づいて、メディア要素抽出部173Aによって抽出されたメディア要素を再生装置に送信する。具体的に説明すると、同期再生制御部174Aは、測定部16Aによって測定されたデータ転送時間に基づいて再生開始タイミングを決定する。すなわち、第1携帯端末1Aがメディア要素を各再生装置に送信してから、再生装置がメディア要素を受信するまでに、データ転送時間と同等のデータ転送遅延が生じる。このため、同期再生制御部174Aは、各再生装置がメディア要素を受信するタイミングを合わせるように、再生装置のデータ転送時間に応じてメディア要素を送信するタイミングを再生装置ごとに決定する。
また、同期再生制御部174Aは、測定部16Aによって測定されたデータ転送時間に基づいて、各再生装置へのデータ送信レートを調整する。すなわち、同期再生制御部174Aは、データ転送遅延によって各再生装置において再生すべきデータが不足しないように、各再生装置へのデータ送信レートおよび送信データ量を決定し、決定したデータ送信レートおよび送信データ量で、バッファに格納されているメディア要素を各再生装置に送信する。
なお、上記説明において説明を省略しているが、メディア要素抽出部173Aによって抽出されたメディア要素はバッファに格納されているので、同期再生制御部174Aは、バッファに格納されたメディア要素をバッファ制御部15によって取得させ、このメディア要素をローカルNW通信部142を介して第2携帯端末2及び機器4に送信している。
また、同期再生制御部174Aは、コンテンツの再生中において、測定部16Aによって測定されたデータ転送時間に基づいて、第2携帯端末2及び機器4へのデータ送信レートおよび送信データ量を調整してもよい。
図16は、情報再生システム10Aの同期再生制御プロセスの一例を示すシーケンス図である。このプロセスは、第1携帯端末1Aが、コンテンツ再生のための操作を示す操作情報を入力部11から受信することによって開始される。
図16に示されるように、まず、第1携帯端末1Aのデータ取得管理部171Aは、コンテンツ管理部33Aから再生対象のコンテンツのメタ情報を取得して、再生パターン決定部172Aに送信する。また、データ取得管理部171Aは、コンテンツ記憶部32Aからコンテンツを取得し、バッファ制御部15に送信してバッファに格納させる。
次に、再生パターン決定部172Aは、メタ情報に含まれるマルチデバイス情報がマルチデバイス再生可能を示すか否かを判定する。マルチデバイス情報がマルチデバイス再生可能を示す場合、再生パターン決定部172Aは、ユーザにマルチデバイス再生を行うか否かを選択させるための画面を出力装置107に表示させる。
そして、マルチデバイス再生のための操作を示す操作情報を入力部11から受信する(ステップS201)と、再生パターン決定部172Aは、コンテンツのメタ情報に基づいて、コンテンツを構成するメディア要素のコーデックを判別する。そして、再生パターン決定部172Aは、端末情報管理部13Aによって管理されている再生能力情報に基づいて、コンテンツを構成するメディア要素ごとに、そのメディア要素のコーデックに対応している再生装置を抽出する。続いて、再生パターン決定部172Aは、各メディア要素を再生する再生装置をユーザに選択させるために、抽出した再生装置の一覧を出力装置107に表示させる。
再生パターン決定部172Aは、コンテンツを構成するメディア要素ごとに、いずれかの再生装置を選択するための操作を示す操作情報を入力部11から受信すると、そのメディア要素を再生する再生装置として決定する(ステップS202)。ここでは、パーソナルコンピュータ5がビデオデータ及びテキストデータを再生する再生装置として決定され、スピーカ6がオーディオデータを再生する再生装置として決定された場合について説明する。
次に、ローカルNW通信部142は、再生パターン決定部172Aによって決定された各再生装置に対して接続要求を送信する(ステップS203)。各再生装置は、第1携帯端末1Aから接続要求を受信すると、接続の可否を示す接続応答を送信する。そして、ローカルNW通信部142は、再生装置から接続可能を示す接続応答を受信して、再生装置との通信接続を確立する(ステップS204)。
第1携帯端末1Aと各再生装置との通信接続が確立されると、測定部16Aは、各再生装置に対するデータ転送時間を測定する(ステップS205)。また、メディア要素抽出部173Aは、バッファに格納されているコンテンツから各メディア要素を抽出する(ステップS206)。そして、メディア要素抽出部173Aは、抽出したメディア要素をバッファ制御部15に送信し、バッファに格納させる。
また、同期再生制御部174Aは、ステップS205において測定されたデータ転送時間に基づいて、再生装置において再生すべきデータが不足しないように、データ送信レートおよび送信データ量を決定する(ステップS207)。そして、同期再生制御部174Aは、測定部16Aによって測定されたデータ転送時間に基づいて再生開始タイミングを決定する。すなわち、同期再生制御部174Aは、各再生装置がメディア要素を受信するタイミングを合わせるように、再生装置のデータ転送時間に応じてメディア要素を送信するタイミングを再生装置ごとに決定する。
そして、同期再生制御部174Aは、再生装置ごとに決定した送信タイミングにおいて、再生装置ごとに決定したデータ送信レートおよび送信データ量で、バッファに格納されているメディア要素を各再生装置に送信する(ステップS208)。以降、ステップS208は、ステップS207などにおいて決定されたデータ送信レートに応じて繰り返し実施される。再生装置は、メディア要素を受信すると、受信したメディア要素を順次再生する(ステップS209)。このとき、同期再生制御部174Aは、各再生装置がほぼ同時にメディア要素を受信するようにメディア要素を送信しているので、同期再生が実現される。
なお、測定部16Aは、所定の時間間隔でデータ転送時間を測定してもよく、この場合、同期再生制御部174Aは、測定されたデータ転送時間に応じてデータ転送レートおよび送信データ量を調整してもよい。
次に、情報再生システム10Aの作用効果について説明する。情報再生システム10Aは、複数の再生装置が同期してコンテンツを再生する情報再生システムである。第1携帯端末1Aは、コンテンツを取得するデータ取得管理部171Aと、データ取得管理部171Aによって取得されたコンテンツに含まれる複数のメディア要素の各々を、複数の再生装置のいずれの装置で再生するか決定する再生パターン決定部172Aと、第1携帯端末1Aと複数の再生装置との間のデータ転送時間をそれぞれ測定する測定部16Aと、複数のメディア要素をコンテンツから抽出するメディア要素抽出部173Aと、メディア要素抽出部173Aによって抽出された複数のメディア要素の各々を、再生パターン決定手段172Aによって決定された装置に、測定手段16Aによって測定されたデータ転送時間に基づくタイミングで再生させる同期再生制御部174Aと、を備える。再生装置は、同期再生制御部174Aによって送信されたメディア要素を再生する。
これにより、コンテンツに含まれる複数のメディア要素の各々を、複数の再生装置のいずれの装置で再生するかが決定されることにより、1つのコンテンツをメディア要素毎に分割して複数の装置において再生することができる。そして、第1携帯端末1Aと複数の再生装置との間のデータ転送時間に基づいて、決定された装置においてメディア要素の各々を再生させることにより、第1携帯端末1Aから各再生装置へのデータ転送により生じる遅延時間を考慮して、各装置における再生開始タイミングのずれを低減することができる。このため、複数の装置にメディア要素毎に分割された1つのコンテンツを同期して再生することが可能となる。
このように、情報再生システム10Aでは、第1携帯端末1Aがリモコンのように使用され、第1携帯端末1Aで取得または録画等したデータを複数の再生装置で同期再生する。この情報再生システム10Aによれば、複数の再生装置に再生処理の負荷を分散できる。さらに、情報再生システム10Aでは、例えば、ステレオ再生による音質向上などのようにユーザの好みに応じて再生装置を選択できることから、ユーザの満足度を向上することが可能となる。
なお、本発明に係る端末装置、情報表示システムおよび情報表示方法は上記実施形態に記載したものに限定されない。例えば、上記第1実施形態では、第1携帯端末1とストリーミングサーバ3とのネゴシエーションにおいて、第2携帯端末2とストリーミングサーバ3とのネゴシエーションと同様に、第1携帯端末1からストリーミングサーバ3に再生レートを通知し、ストリーミングサーバ3から第1携帯端末1にデータ送信レートの応答を送信する構成としてもよい。
また、上記第1実施形態では、ストリーミングデータの再生インターバルは、サンプリング可能な時間間隔であるが、再生インターバルをより短い時間間隔に設定することにより、同期再生制御の精度の向上が可能となる。
また、上記第1実施形態では、第1携帯端末1および第2携帯端末2が絶対時刻を保持していることを前提としているが、絶対時刻が正確でない場合もある。この場合、相対時刻を用いて同期再生制御を行ってもよい。例えば、第1携帯端末1は、設定時間[msec]後に再生を開始するという情報を含む再生開始要求を第2携帯端末2に送信する。そして、第1携帯端末1は、RTTによって設定時間の補正を行い、再生開始タイミングを調整する。具体的には、第2携帯端末2に再生開始要求を送信した時刻から(設定時間+RTT/2)後に再生を開始する。
また、上記第1実施形態では、再生パターン決定部172は、第1メディア要素および第2メディア要素の組合せの候補が複数存在する場合、第1携帯端末1のメモリ消費量および第2携帯端末2のメモリ消費量に応じて、第1メディア要素および第2メディア要素を決定してもよい。例えば、第1携帯端末1のメモリ消費量よりも第2携帯端末2のメモリ消費量が大きい場合には、処理負荷が小さいメディア要素を第2メディア要素としてもよい。また、第1携帯端末1のメモリ消費量よりも第2携帯端末2のメモリ消費量が小さい場合には、より多くのメディア要素を第2メディア要素としてもよい。
また、上記第1実施形態では、再生パターン決定部172は、第1メディア要素および第2メディア要素の組合せの候補が複数存在する場合、第1携帯端末1のバッテリー残量および第2携帯端末2のバッテリー残量に応じて、第1メディア要素および第2メディア要素を決定してもよい。例えば、第1携帯端末1のバッテリー残量よりも第2携帯端末2のバッテリー残量が多い場合には、処理負荷が大きいメディア要素を第2メディア要素としてもよい。また、第1携帯端末1のバッテリー残量よりも第2携帯端末2のバッテリー残量が少ない場合には、処理負荷が小さいメディア要素を第2メディア要素としてもよい。
さらに、再生パターン決定部172は、能力情報に含まれる1以上の情報を組み合わせて、第1メディア要素および第2メディア要素を決定してもよい。
また、再生パターン決定部172は、ストリーミングデータを構成するすべてのメディア要素を出力部12によって出力装置107に表示し、ユーザによって第1メディア要素および第2メディア要素のいずれかに各メディア要素が設定されることによって、第1メディア要素および第2メディア要素を決定してもよい。
また、上記第1実施形態では、同期再生制御部174は、ストリーミングデータの分割データとともにストリーミングデータのURL情報を送信しているが、これに限られず、分割データとは別にストリーミングデータのURL情報を第2携帯端末2に送信してもよい。また、電源オフの操作がされた場合に、同期再生制御部174は、ストリーミングデータのURL情報を第2携帯端末2に送信してもよい。すなわち、同期再生制御部174は、第1携帯端末1と第2携帯端末2との通信が切断される前に、ストリーミングデータのURL情報を第2携帯端末2に送信すればよい。
また、上記第1実施形態では、ストリーミングデータのマルチデバイス再生について説明したが、マルチデバイス再生の対象となるデータは、ストリーミングデータに限られず、複数のメディア要素を含むデータであればよい。例えば、第1携帯端末1で撮影した動画データ、第1携帯端末1によって予め取得されたコンテンツ、音声及び文字付きのスライドショーなどが、情報再生システム10におけるマルチデバイス再生の対象とされてもよい。
また、上記第1実施形態では、第1携帯端末1が受信したストリーミングデータを構成する複数のメディア要素を、第1携帯端末1と1台の第2携帯端末2とに分配して、各端末において分配されたメディア要素を同期再生する構成を中心に説明を行ったが、これに限定されない。例えば、第1携帯端末1が受信したストリーミングデータなどのコンテンツを構成する複数のメディア要素を、第1携帯端末1と2台以上の再生装置とに分配して、各端末において分配されたメディア要素を同期再生する構成としてもよい。この場合、第1携帯端末1は、メディア要素の再生を行わず、2台以上の再生装置にマルチデバイス再生を行わせてもよい。また、再生装置は、第2携帯端末2に限定されず、いずれかのメディア要素を再生可能な装置であってもよい。再生装置としては、例えば、パーソナルコンピュータ、スピーカおよびテレビなどがある。
また、上記第2実施形態において、情報再生システム10Aは、ストリーミングデータのマルチデバイス再生を行う場合には、ストリーミングサーバ3を備えてもよい。この場合、第1携帯端末1Aは、第1携帯端末1と同様にして、ストリーミングサーバ3との処理を行ってもよい。
また、上記第2実施形態において、再生パターン決定部172Aは、データ取得管理部171Aによって取得されたコンテンツに含まれる複数のメディア要素の各々を、第1携帯端末1A及び1以上の再生装置のいずれの装置で再生するか決定してもよい。すなわち、第1携帯端末1Aは、いずれかのメディア要素を再生してもよく、再生装置は、コンテンツを構成する複数のメディア要素のうち、第1携帯端末1Aによって再生されるメディア要素以外のメディア要素を再生してもよい。