(57)【要約】【課題】端末間でストリーミングセッションをシームレスに切替える端末装置を提供すること。【解決手段】本技術において、切替先端末２００は、端末切替要求に応じて通信相手との間でストリームセッションを確立する確立手段２１０と、通信相手との間でストリームセッションが確立された後に、通信相手からデータを受信する受信手段２２０と、受信されたデータを蓄積する蓄積手段２５０と、端末切替要求が受信された後、蓄積手段がデータの蓄積を開始して、出力すべき最新データが蓄積手段にない場合、端末切替要求を送信する切替元端末１００から最新データを取得する取得手段２３０とを有する。【選択図】図５
2011234374.tif 000002
【特許請求の範囲】
【請求項１】
切替元端末装置から送信される端末切替要求に応じて通信相手との間でストリームセッションを確立する確立手段と、
前記通信相手との間で前記ストリームセッションが確立された後に、前記通信相手からデータを受信する受信手段と、
前記通信相手から最初に受信したデータのデータ番号以降のデータの破棄を前記切替元端末装置に指示する送信手段と、
を有する端末装置。
【請求項２】
受信された前記データを蓄積する蓄積手段と、
前記通信相手から最初に受信したデータの前記データ番号と、出力すべき最新データのデータ番号とを比較する比較手段とをさらに有し、
前記通信相手から最初に受信したデータの前記データ番号と、出力すべき最新データのデータ番号とが一致する場合、前記送信手段は端末切替完了通知を前記切替元端末装置に送信する請求項１に記載の端末装置。
【請求項３】
前記通信相手から最初に受信したデータの前記データ番号と、出力すべき最新データのデータ番号とが一致しない場合、前記切替元端末装置から前記最新データを取得する請求項２に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（internet protocol）ネットワークにおける通信技術およびメディア伝送・バッファ制御技術に関し、より具体的には、端末間でストリーミングセッションをシームレスに切替える端末装置に関する。
【背景技術】
【０００２】
近年、固定網における光ファイバやＡＤＳＬ（asymmetric digital subscriber line）に加え、モバイル網においても、ＷＬＡＮ（wireless local area network）やアドホックネットワークといったスポット的な無線技術が普及してきており、ありとあらゆる所でネットワークに接続できるユビキタスネットワーク環境が現実のものになろうとしている。また、通信端末の分野においても、ネット家電や公衆構内デュアル端末に代表される多種多様な能力を持つデバイスが開発されている。そこで、ユビキタスネットワーク環境の多様なアクセスネットワークと多種多様な能力を持つデバイスを自由に切替えて、継続的なサービスを行うことができるシームレスサービスの実現が強く求められている。
【０００３】
シームレスサービスを実現するための技術として、３つのシームレス技術が提案されている。
【０００４】
一つ目は、「ネットワークシームレス」と呼ばれ、一つのモバイル端末が移動等に伴い異なるネットワークをシームレスに切替えて通信を継続することを可能とする。モバイル端末は、複数のネットワークインタフェースを有し、移動に応じてアクセス網を自由に切替えることができる。ネットワークシームレスは、「ターミナルモビリティ」と呼ばれることもある。
【０００５】
二つ目は、「デバイスシームレス」と呼ばれ、ユーザが利用中の端末をシームレスに切替えて利用することを可能とする。ある端末で利用中のセッションを、別の端末で引き続き継続することができる。セッションを別の端末に移動することから、「セッションモビリティ」とも呼ばれる。
【０００６】
三つ目は、「コンテンツシームレス」と呼ばれ、メディアのフォーマットやメディアのタイプ等をシームレスに切替えて利用することを可能とする。コンテンツシームレスは、ネットワーク帯域やデバイス能力、周辺環境等に応じて、メディアを切替えて表示・再生することができる。また、コンテンツシームレスは、「メディアアダプティブ（メディア適応）」と呼ばれることもある。
【０００７】
これらの３つの技術は、シームレスサービスを実現する上で、非常に重要なものであるが、それぞれ独立した効果が得られることから、単独でも、複数組み合わせても利用することができる。
【０００８】
デバイスシームレス技術が適用されるシームレスサービス（以下、「端末切替」という）としては、次のような状況が考えられる。携帯電話等のモバイル端末を利用して、ストリーミング映画を視聴しながら帰宅したユーザが、自宅のリビングルームに入るや否や、大型テレビに利用ディスプレイを瞬時に切替えて映画の続きを視聴するというものである。
【０００９】
一般的に、モバイル端末のディスプレイは小さく、映画を視聴する上で好適とはいえない。そこで、移動等に応じて周辺に、継続してサービスを享受することができる最適なデバイスを発見した場合に、端末を切替えることができれば、利用価値はきわめて高い。
【００１０】
さらに、端末切替は、よりシームレスに行われることが望ましい。端末切替に要する時間が長くなると、リアルタイムのサッカーの試合を視聴している場合には、端末切替が原因となり、ゴールシーン等の重要な瞬間を見逃してしまう事態が生じるからである。
【００１１】
そこで、図１を用いてシームレスな端末切替について説明する。図１は、時間軸の方向を下方に取り、切替元端末および切替先端末でそれぞれ出力されたデータの番号と出力された時刻との関係を示している。
【００１２】
図１において、切替元端末は、データ３からデータ７までを順に出力し、切替先端末は、データ９から出力を開始している。ここで、ユーザが切替元端末に切替指示を出した時刻をＴｃ、切替元端末でデータの出力を停止した時刻をＴｓ、切替先端末でデータの出力を開始した時刻をＴｄとする。
【００１３】
切替元端末でデータ出力を停止し、切替先端末でデータ出力を開始するまでの時間であるＴｄ−Ｔｓを「タイムギャップ」と呼ぶ。タイムギャップが生じるとデータの連続的な出力が途切れていることを意味する。
【００１４】
また、時刻Ｔｄに切替先端末で出力されるデータ番号と時刻Ｔｓに切替元端末で出力されるデータ番号との差を「メディアギャップ」と呼ぶ。本例では、９−７−１＝１である。メディアギャップが正の値の場合は出力されるデータに欠落が生じており、負の値の場合は出力されるデータに重複が生じていることをそれぞれ意味する。
【００１５】
切替元端末でユーザから切替指示を受信し、切替先端末でデータ出力を開始するまでの時間であるＴｄ−Ｔｃを「レスポンスディレイ」と呼ぶ。レスポンスディレイは、ユーザが体感する端末切替の待ち時間であり、タイムギャップが０で、メディアギャップが０であったとしても、レスポンスディレイが大きいと、シームレスな端末切替とはいえない。
【００１６】
以上の説明により、シームレスな端末切替とは、タイムギャップ、メディアギャップおよびレスポンスディレイがそれぞれ十分に小さい状態で端末切替が実行されることである。
【００１７】
非特許文献１は、端末切替方法について開示する。
【００１８】
図２は、一般的な端末切替システムのシステム構成図である。図２の端末切替システムは、切替元端末１０と通信相手である相手先ノード（以下、「ＣＮ（Correspondent node）」という）２０と、インターネットなどのネットワーク３０と、端末切替のターゲットとなる切替先端末４０とから構成されている。非特許文献１に開示された端末切替方法は、このようなシステム構成において、切替元端末１０とＣＮ２０との間のセッションを、切替先端末４０とＣＮ２０との間のセッションに切替えるために用いられる。
【００１９】
図３は、切替先端末４０の構成を示す図である。図３の切替先端末４０は、切替元端末１０およびＣＮ２０との間のセッション制御（つまり、セッションの確立、終了等の制御）を行うシグナリング部４２と、ＣＮ２０から送信されたデータを受信するデータ受信部４４と、受信したデータを蓄積するメディアバッファ４６と、受信したデータを復号するデコーダ４８と、デコーダ４８が復号したデータを出力する出力部５０とを具備する。
【００２０】
非特許文献１の端末切替方法では、切替元端末１０がユーザから端末切替要求を受けると、切替先端末４０に端末切替通知を送信する。この通知は、ＳＩＰの「ＲＥＦＥＲ」メッセージによって行われる。ＳＩＰとは、Session Initiation Protocolのことであり、ＩＥＴＦ（Internet Engineering Task Force）で標準化されたセッション制御プロトコルであり、ＲＦＣ３２６１に詳しく記載されている。
【００２１】
「ＲＥＦＥＲ」メッセージを受取った切替先端末４０のシグナリング部４２は、そのメッセージヘッダからＣＮ２０の情報を得て、ＣＮ２０とセッションを確立するためにＳＩＰの「ＩＮＶＩＴＥ」メッセージをＣＮ２０に送信する。そして、切替先端末４０のシグナリング部４２が、「ＩＮＶＩＴＥ」メッセージに対する応答をＣＮ２０から受信することにより、切替先端末４０とＣＮ２０との間のセッション確立手続が完了する。その後、切替先端末４０のシグナリング部４２は、「ＲＥＦＥＲ」メッセージに対する応答を切替元端末１０に送信する。当該セッションの確立により、切替先端末４０とＣＮ２０との間でメディアの送受信が可能になる。
【００２２】
ＣＮ２０から送られたデータは、切替先端末４０のデータ受信部４４によって受信され、メディアバッファ４６に事前蓄積される。「事前蓄積」とは、ネットワークの揺らぎ（ジッタ）が、端末でのデータ再生に与える影響を吸収するために行われるバッファリングのことである。通常、数秒から数十秒間データを事前蓄積した後、データ再生を開始する。切替先端末４０は、事前蓄積が完了した後、デコーダ４８を起動する。デコーダ４８は、メディアバッファ４６に事前蓄積されているデータを順番に取得し復号した後、出力部５０に出力する。
【００２３】
なお、切替元端末１０が「ＲＥＦＥＲ」メッセージの応答を受取ってから一定時間経過した後、または、ＣＮ２０が「ＩＮＶＩＴＥ」メッセージの応答を送信してから一定時間経過した後に、切替元端末１０またはＣＮ２０のいずれか一方が他方に「ＢＹＥ」メッセージを送信することにより、切替元端末１０とＣＮ２０との間のセッションは切断され、セッション切替は終了する。
【００２４】
特許文献１は、移動等に伴いモバイル端末が通信を継続しながら異なるネットワークをシームレスに切替えることを可能とするターミナルモビリティ技術を開示する。より詳細には、モバイル端末がサブネット（アクセスルータ）を移動（Ｌ３ハンドオーバー）するとき、ハンドオーバー中断時間、パケットロス率およびホームエージェントの負荷をそれぞれ減少させるハンドオーバー方法を提供することを目的とする。
【００２５】
本方法によってモバイル端末は、アクセス端でリンク状況を監視し、ハンドオーバーを起動する。その後、モバイル端末は、新しいアクセスルータのリンク情報を現在のアクセスルータに送信する。
【００２６】
そして、現在のアクセスルータの問い合わせに対し、新しいアクセスルータは、当該ルータのネットワーク情報を返信して、リンク層ハンドオーバーの前にネットワーク層ハンドオーバーを開始する。ＣＮから送られるデータは、モバイル端末の新しい気付けアドレスに直接送信される。
【００２７】
なお、リンク層ハンドオーバーの間はモバイル端末のデータの送受信ができないので、パケットロスが生じる。これを減少させるため、このリンク層接続が中断している間のパケットは、現在のアクセスルータから新しいアクセスルータに送られる。新しいアクセスルータは、リンク層接続を確立する前に、データを拡張キャッシュモジュールに保存する。接続後に、新しいアクセスルータは保存されたデータをモバイル端末に転送する。
【先行技術文献】
【特許文献】
【００２８】
【特許文献１】特開２００５−２７３１４号公報
【非特許文献】
【００２９】
【非特許文献１】R. Shacham, et al. "Session Initiation Protocol Session Mobility" IETF Internet-Draft, July 6, 2005
【発明の概要】
【発明が解決しようとする課題】
【００３０】
しかしながら、非特許文献１の方法では、端末切替は実現できるものの、その際タイムギャップやメディアギャップやレスポンスディレイが生じてしまい、シームレスな端末切替を実現することはできない。その理由は、事前蓄積を必要とするストリーミングアプリケーションのセッションモビリティでは、切替先端末４０がデータを出力する前に、切替先端末４０のメディアバッファへの事前蓄積時間を必要とするからである。
【００３１】
また、特許文献１は、モバイル端末の移動に伴い異なるネットワークへ切替える技術を開示しているが、異なる端末へシームレスに切替えるための仕組みを開示しているわけではない。
【００３２】
また、特許文献１は、シームレスな切替を実現するためにデータをキャッシュする方法を開示しており、パケットロスについては一定の効果が見られる。しかし、当該キャッシュは、モバイル端末と新しいアクセスルータとの接続前のデータとの重複や欠落とは無関係に一時的にキャッシュするものであるため、メディアギャップが完全に解決するまでに至らない。また、キャッシュの大きさを十分に大きく設定しない限り、新しいアクセスルータの拡張キャッシュモジュールがオーバーフローする状況に対処することができない。
【００３３】
本発明の目的は、端末間でストリーミングセッションをシームレスに切替えることができる端末間でストリーミングセッションをシームレスに切替える端末装置を提供することである。
【課題を解決するための手段】
【００３４】
本発明の端末装置は、切替元端末装置から送信される端末切替要求に応じて通信相手との間でストリームセッションを確立する確立手段と、前記通信相手との間で前記ストリームセッションが確立された後に、前記通信相手からデータを受信する受信手段と、前記通信相手から最初に受信したデータのデータ番号以降のデータの破棄を前記切替元端末装置に指示する送信手段と、を有する構成を採る。
【発明の効果】
【００３５】
本発明によれば、端末間でストリーミングセッションをシームレスに切替えることができる。
【図面の簡単な説明】
【００３６】
【図１】シームレスな端末切替を説明するための図
【図２】従来の端末切替システムの一例を示す構成図
【図３】図２の端末切替システムにおける切替先端末の構成の一例を示すブロック図
【図４】本発明の実施の形態１に係る端末切替システムのシステム構成図
【図５】図４の端末切替システムにおける切替先端末の構成の一例を示すブロック図
【図６】図５の切替先端末のメディア同期制御部の構成の一例を示すブロック図
【図７】端末切替技術全般に共通する前提を説明するための図
【図８】図５の切替先端末の動作の一例を示すフローチャート
【図９Ａ】図４の端末切替システムの動作におけるある瞬間を説明するための図
【図９Ｂ】図４の端末切替システムの動作における他のある瞬間を説明するための図
【図１０】図２の端末切替システムの切替に係る効果と図４の端末切替システムの切替に係る効果とを比較して示す図
【図１１】図４の端末切替システムにおける切替元端末の構成を示すブロック図
【図１２】図１１の切替元端末の動作の一例を示すフローチャート
【図１３】図４の端末切替システムの切替元端末、切替先端末およびＣＮの三者間でやり取りされるメッセージを示すシーケンス図
【図１４】本発明の実施の形態２に係る端末切替システムにおける切替先端末の動作の一例を示すフローチャート
【図１５】実施の形態２の第１の態様における切替元端末のメディアバッファと切替先端末のメディアバッファにそれぞれ蓄積されているデータの時間変化を示すグラフ
【図１６】実施の形態2の第２の態様における切替元端末のメディアバッファと切替先端末のメディアバッファにそれぞれ蓄積されているデータの時間変化を示すグラフ
【図１７】本発明の実施の形態３に係る端末切替システムのシステム構成図
【図１８】図１７の端末切替システムにおける切替先端末の構成の一例を示すブロック図
【図１９】図１８のメディア同期制御部の構成の一例を示すブロック図
【図２０】図１８の切替先端末の動作の一例を示すフローチャート
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３８】
（実施の形態１）
図４は、本発明の実施の形態１に係る端末切替システムのシステム構成を示す。
【００３９】
図２の従来の端末切替システムと比べて、図４の端末切替システムは、端末間でストリーミングセッションをシームレスに切り替えることができるものであって、本発明の切替元端末１００および切替先端末２００は、切替元端末１００から切替先端末へのシームレスな端末切替を実現するために、内部構成および動作に特徴を有している。すなわち、図４の端末切替システムは、より具体的には、通信相手とセッションを保持している端末を、当該セッションを維持しながら別の端末へ切替える際に、レスポンスディレイを増加させることなく、切替元端末に対して切替先端末で出力されるメディアデータの連続性を確保するための構成および動作を有する。
【００４０】
また、切替元端末１００と切替先端末２００との物理的な位置関係に鑑み、切替元端末１００と切替先端末２００との間は、ＵＷＢ（Ultra Wide Band）やBluetooth（登録商標）等のＰＡＮ（Personal Area Network：近距離無線ネットワーク）３００をネットワークとして利用することもできる。
【００４１】
図５は、本実施の形態の切替先端末２００の内部の構成を示すブロック図である。
【００４２】
切替先端末２００は、切替元端末１００やＣＮ４００とのセッション制御（つまり、セッションの確立や終了等の制御）を行うシグナリング部２１０と、ＣＮ４００から送信されたデータを受信するデータ受信部２２０と、受信したデータのメディアバッファ２５０への蓄積制御を行うメディア同期制御部２３０と、受信したデータを蓄積するメディアバッファ２５０と、受信したデータを復号するデコーダ２６０と、デコーダが復号したデータを出力する出力部２７０とから構成されている。
【００４３】
上記構成において、メディア同期制御部２３０と、シグナリング部２１０とが従来の技術とは異なる構成要素である。
【００４４】
まず、メディア同期制御部２３０の構成と動作は、次のようになっている。
【００４５】
メディア同期制御部２３０は、従来技術に対して新しく追加された構成要素であり、メディアバッファ２５０のデータ蓄積量および蓄積されているデータのデータ番号の管理を行い、ＣＮ４００からデータを受信した際に、メディアバッファ２５０の蓄積量に応じた制御を行い、メディアバッファ２５０に空きが無い場合は、データを切替元端末１００に送信する。また、デコーダ２６０に出力すべき最新データ番号のデータがメディアバッファ２５０に存在しない場合には、切替元端末１００から最新データ番号のデータを取得することにより、データ番号の連続性を維持することができる。
【００４６】
図６は、メディア同期制御部２３０の内部の構成を示すブロック図である。
【００４７】
メディア同期制御部２３０は、最新データ番号管理部２３２、メディアバッファ管理部２３４、スイッチ２３６、データ送信部２３８、および切替元端末蓄積データ取得部２４０から構成されている。
【００４８】
最新データ番号管理部２３２は、シグナリング部２１０から受取った最新データ番号を保持し、デコーダ２６０がメディアバッファ２５０からデータを取得した際に、最新データ番号の更新を行い、メディアバッファ管理部２３４に更新を通知する。
【００４９】
メディアバッファ管理部２３４は、メディアバッファ２５０のデータ蓄積量および蓄積されているデータのデータ番号の管理を行う。そして、データ受信部２２０がＣＮ４００からデータを受信した際に、メディアバッファ２５０に空きが無い場合は、当該受信データをデータ送信部２３８に送り、メディアバッファ２５０に空きがある場合は、当該受信データをメディアバッファ２５０に書込む。また、最新データ番号管理部２３２から最新データの更新が通知された際に、最新データ番号のデータがメディアバッファ２５０に存在しない場合には、切替先端末蓄積データ取得部２４０に、切替元端末１００の後述のメディアバッファ１６０から最新データ番号のデータを取得するように通知する。
【００５０】
スイッチ２３６は、データ受信部２２０がＣＮ４００から受信したデータの出力を、メディアバッファ管理部２３４の判断に応じて、メディアバッファ２５０またはデータ送信部２３８に切替える。
【００５１】
データ送信部２３８は、メディアバッファ２５０に空きが無い場合に、データ受信部２２０がＣＮ４００から受信したデータであってメディアバッファ管理部２３４から送られたデータを切替元端末１００に送信し、仮想的バッファとして利用する。
【００５２】
切替元端末蓄積データ取得部２４０は、メディアバッファ管理部２３４による最新データ番号のデータ取得通知に基づいて、切替元端末１００から最新データ番号のデータを取得し、メディアバッファ２５０に書込む。
【００５３】
ここで、切替先端末２００の動作について詳細に説明する前に、図７を用いて端末切替技術全般に共通する前提について説明する。図７には、切替元端末１００、切替先端末２００、ＣＮ４００、およびネットワーク５００からなる端末切替システムが示される。
【００５４】
図７に示すように、切替元端末１００のメディアバッファ１６０のバッファサイズはＭであり、最大Ｍ個のデータを保持することができる。一方、切替先端末２００のメディアバッファ２５０のバッファサイズはＬである。一般的にＭとＬのサイズは異なる。図７は、端末切替処理中の状態を示している。図７において、切替元端末１００のメディアバッファ１６０には、事前蓄積されて、Ｍ個のデータが保持されている。一方、切替先端末２００のメディアバッファ２５０は、空の状態である。
【００５５】
各端末１００、２００のデコーダ１７０、２６０は、メディアバッファ１６０、２５０のデータを一定間隔で読み出して復号処理を行い、復号処理の結果を出力部１８０、２７０に送信する。データが毎秒３０フレームの画像データであるとすると、デコーダ１７０、２６０は、１／３０秒毎に、メディアバッファ１６０、２５０から１フレーム分の画像データを取得することになる。図７では、切替元端末１００の出力部１８０にはＩ−１番のデータが出力されている。メディアバッファ１６０には、データ４０３が、デコーダ１７０から次に取得されるべきデータとして蓄積されている。当該データを「最新データ」と呼び、最新データのデータ番号を「最新データ番号」と呼ぶ。なお、データ４０３等に記載された記号、例えば、ｆ(Ｉ)は、Ｉ番のデータを示し、Ｉはデータの番号を意味する。
【００５６】
データ４０１およびデータ４０２は、ＣＮ４００から切替元端末１００および切替先端末２００にそれぞれ送信されるデータを示す。ＣＮ４００と切替先端末２００との間のセッションが確立されることにより、ＣＮ４００は、切替先端末２００に向けたデータ送信を開始することができる。データ４０２は、送信される最先のデータであり、Ｎ番のデータｆ(Ｎ)である。一方、このとき切替元端末１００に送信されているデータ４０１は、Ｙ番のデータｆ(Ｙ)である。一般にＮとＹは異なり、データ４０１とデータ４０２は同期が取られていない。
【００５７】
以上のような端末切替技術全般に共通する前提を踏まえ、図８のフローチャートを用いて切替先端末２００の動作を説明する。
【００５８】
このフローチャートでは、ステップＳ１０１３からステップＳ１０１９を繰り返すことにより、デコーダ２６０は、メディアバッファ２５０がオーバーフローする状況を回避し、継続的に連続したデータ番号のデータを取得することができるようになっている。
【００５９】
切替元端末１００は、切替先端末２００の動作が開始される以前に、ユーザから端末切替要求を受け端末切替動作を開始する。具体的には、上述したように切替先端末２００にＳＩＰの「ＲＥＦＥＲ」メッセージを送信することにより、端末切替要求を通知する。なお、切替元端末１００は、当該メッセージの送信に当たり、メッセージのヘッダまたはペイロードに、切替元端末１００のメディアバッファ１６０のバッファサイズＭおよびメディアバッファ１６０に蓄積されている最新データ番号であるＩを記載する。また、切替元端末１００は、同時に、切替先端末２００とデータの送受信を行うためにセッションを確立する。
【００６０】
切替先端末２００は、切替元端末１００からセッション切替要求を受信すると、バッファサイズＭおよび最新データ番号Ｉを取得し、最新データ番号管理部２３２の図示しないレジスタに保持する。また、最新データ番号のインデックスｉおよびＣＮ４００から受信するデータのインデックスｎを０に初期化する。
【００６１】
さらに、シグナリング部２１０は、切替元端末１００からのセッション確立要求に応じて、切替元端末１００とデータを送受信するためにセッションを確立する（Ｓ１００１）。シグナリング部２１０は、ＣＮ４００とセッションを確立すべく、ＳＩＰの「ＩＮＶＩＴＥ」メッセージをＣＮ４００に送信する（Ｓ１００２）。セッションが確立されるまでの間、ＣＮ４００からデータは送られてこない。
【００６２】
メディアバッファ管理部２３４は、メディアバッファ２５０に最新データ番号（Ｉ＋ｉ）のデータｆ(Ｉ＋ｉ)が存在しないので、切替元端末蓄積データ取得部２４０にｆ(Ｉ＋ｉ)を切替元端末１００から取得するように指示する。それを受けて、切替元端末蓄積データ取得部２４０は、切替元端末１００のメディアバッファ１６０からｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込む（Ｓ１００３）。
【００６３】
最新データ番号管理部２３２は、デコーダ２６０がメディアバッファ２５０から最新データを取得するタイミングを監視しており、データ取得した際に、メディアバッファ管理部２３４にその旨通知する。デコーダ２６０が最新データを取得するまでの間に、データ受信部２２０が、ＣＮ４００からデータｆ(Ｎ)を受信しない場合には（Ｓ１００４：ＮＯ）、最新データ番号のインデックスｉを更新（ｉ++）し（Ｓ１００５：（ｉ++）は現在のｉに１を加算した値を以後のｉとする意味である。以下、同様）、ステップＳ１００３に進む。
【００６４】
一方、デコーダ２６０が最新データを取得するまでの間に、データ受信部２２０が、ＣＮ４００からデータｆ(Ｎ)を受信した場合には（Ｓ１００４：ＹＥＳ）、メディアバッファ管理部２３４は、スイッチ２３６の出力をメディアバッファ側に接続し、データｆ(Ｎ)をメディアバッファ２５０に書込む。また、シグナリング部２１０を介して、切替元端末１００に、Ｎ番以降のデータをＣＮ４００から受信しても、メディアバッファ１６０に書込むことなく破棄するように指示する（Ｓ１００６）。
【００６５】
メディアバッファ管理部２３４は、最新データ番号（Ｉ＋ｉ）と、メディアバッファ２５０のバッファサイズＬと、ＣＮ４００から到着した最先のデータ番号Ｎとの関係により、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立たない場合には（Ｓ１００７：ＮＯ）、次のように最新データ番号（Ｉ＋ｉ）とＮとの関係を検証する（Ｓ１００８）。
【００６６】
Ｎ−１＝Ｉ＋ｉが成り立たない場合には（Ｓ１００８：ＮＯ）、メディアバッファ管理部２３４は、デコーダ２６０がメディアバッファ２５０から最新データを取得するタイミングで最新データ番号のインデックスｉを更新（ｉ++）する（Ｓ１００９）。そして、データ受信部２２０がＣＮ４００から次のデータを受信した際、ＣＮ４００から受信するデータのインデックスｎを更新（ｎ++）し、データｆ(Ｎ＋ｎ)をメディアバッファ２５０に書込む（Ｓ１０１０）。メディアバッファ管理部２３４は、メディアバッファ２５０に最新データ番号（Ｉ＋ｉ）のデータｆ(Ｉ＋ｉ)が存在しないので、切替元端末蓄積データ取得部２４０にｆ(Ｉ＋ｉ)を切替元端末１００から取得するように指示する。それを受けて、切替元端末蓄積データ取得部２４０は、切替元端末１００のメディアバッファ１６０からｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込む（Ｓ１０１１）。
【００６７】
以上の動作（Ｓ１００９〜Ｓ１０１１）を繰り返すことにより、Ｎ−１＝Ｉ＋ｉが成り立つ場合には（Ｓ１００８：ＹＥＳ）、切替先端末２００のメディアバッファ２５０の中において事前蓄積状態が完成したので、メディアバッファ管理部２３４は、シグナリング部２１０を介して、切替元端末１００に端末切替完了通知を送信すると同時に、切替元端末１００とのセッションを切断し（Ｓ１０１２）、端末切替に係る処理を完了する。
【００６８】
一方、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ場合には（Ｓ１００７：ＹＥＳ）、メディアバッファ管理部２３４は、デコーダ２６０がメディアバッファ２５０から最新データを取得するタイミングで最新データ番号のインデックスｉを更新（ｉ++）し（Ｓ１０１３）、メディアバッファ２５０に最新データ番号（Ｉ＋ｉ）のデータｆ(Ｉ＋ｉ)が存在するか否かを確認する（Ｓ１０１４）。データｆ(Ｉ＋ｉ)が存在しない場合には（Ｓ１０１４：ＮＯ）、メディアバッファ管理部２３４は、切替元端末蓄積データ取得部２４０にｆ(Ｉ＋ｉ)を切替元端末１００から取得するように指示する。それを受けて、切替元端末蓄積データ取得部２４０は、切替元端末１００のメディアバッファ１６０からｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込み（Ｓ１０１５）、ステップＳ１０１６に進む。
【００６９】
データｆ(Ｉ＋ｉ)が存在する場合には（Ｓ１０１４：ＹＥＳ）、メディアバッファ管理部２３４は、データ受信部２２０が、ＣＮ４００から次のデータを受信した際、ＣＮ４００から受けるデータのインデックスｎを更新（ｎ++）し（Ｓ１０１６）、メディアバッファ２５０の空きの有無を確認する（Ｓ１０１７）。このとき、メディアバッファ２５０にデータを蓄積する空きスペースが存在する場合には（Ｓ１０１７：ＹＥＳ）、データｆ(Ｎ＋ｎ)をメディアバッファ２５０に書込む（Ｓ１０１８）。一方、メディアバッファ２５０にデータを蓄積する空きスペースが存在しない場合には（Ｓ１０１７：ＮＯ）、メディアバッファ管理部２３４は、スイッチ２３６の出力をデータ送信部側に接続し、データｆ(Ｎ＋ｎ)をデータ送信部２３８に送る。データ送信部２３８は、当該データを切替元端末１００に転送する（Ｓ１０１９）。
【００７０】
以降、以上の動作（Ｓ１０１３〜Ｓ１０１９）を繰り返すことにより、デコーダ２６０は、メディアバッファ２５０がオーバーフローする状況を回避し、継続的に連続したデータ番号のデータを取得することができる。
【００７１】
図９Ａおよび図９Ｂは、以上説明した切替先端末２００を含むシームレスな端末切替システムの動作におけるある瞬間を切り出した図である。図の内容としては、図７において使用したものと同じであるが、理解を助けるために以下のような具体的な数値を与えるものとする。メディアバッファ１６０のバッファサイズＭは６、メディアバッファ２５０のバッファサイズＬは４とする。切替時の最新データ番号Ｉは７、ＣＮ４００から到着する最先のデータ番号Ｎは１５とし、ｉが２のタイミングで切替先端末２００に到着する。このような設定では、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ（Ｓ１００７：ＹＥＳ）。
【００７２】
図９Ａは、インデックスｉが４、インデックスｎが１である瞬間の状態を切り出したものである。出力部２７０には既にデータ番号１０のデータが出力されており、最新データ番号は１１である。図９Ａは、メディアバッファ２５０内にｆ(１１)は存在しないので（Ｓ１０１４：ＮＯ）、切替元端末１００のメディアバッファ１６０からｆ(１１)を取得して、メディアバッファ２５０に書込んだ直後の状態である（Ｓ１０１５）。なお、Ｎは１５であるため、データ番号が１５以降のデータは破棄されるので（Ｓ１００６）、切替元端末１００のメディアバッファ１６０にはデータ番号が１５以降のデータは蓄積されていない。また、切替元端末１００は、切替元端末蓄積データ取得部２４０によって取得されたデータをメディアバッファ１６０から削除する。
【００７３】
図９Ｂは、インデックスｉが６、インデックスｎが４である瞬間の状態を切り出したものである。出力部２７０には既にデータ番号１２のデータが出力されており、最新データ番号は１３である。図９Ｂの状態は、データ受信部２２０がｆ(１９)を受信した際に（Ｓ１０１６）、メディアバッファ２５０には空きが無く、メディア送信部２３８によってｆ(１９)が切替元端末１００に転送され（Ｓ１０１９）、メディアバッファ１６０に書込まれた直後の状態である。なお、メディアバッファ１６０に既に蓄積されているｆ(１８)も同様にして、切替先端末２００から転送されたものである。
【００７４】
図１０は、図９Ａおよび図９Ｂに示した例と同様の設定の下で、従来の端末切替装置と本発明の端末切替装置の効果を比較したものである。図１０の左半分は、従来の端末切替システムにおける切替元端末１０の出力（切替元出力）および切替先端末４０の出力（切替先出力）を示し、図１０の右半分は、本発明の端末切替システムにおける切替元端末１００の出力（切替元出力）および切替先端末２００の出力（切替先出力）を示す。
【００７５】
ここでは、図１に示すシームレスな端末切替の説明と同様に、ユーザが切替元端末１０、１００に切替指示を出した時刻をＴｃ、切替元端末１０、１００でデータの出力を停止した時刻をＴｓ、切替先端末４０、２００でデータの出力を開始した時刻をＴｄとする。切替元端末１０、１００におけるデータの出力停止については、意図的に出力停止時刻を遅らせる等の特別な処理は行わないので、時刻Ｔｓについては、従来の端末切替システム、本発明の端末切替システムとも同時刻とする。また、時刻Ｔｓは、切替先端末４０、２００が切替元端末１０、１００からセッション切替要求を受信した時刻でもあり、インデックスｉが０に初期化される。
【００７６】
Ｔｒは、ＣＮ２０、４００から最先のデータｆ(１５)が到着する時刻である。本例の設定ではインデックスｉが２の時刻に、データｆ(１５)は切替先端末４０、２００に到着する。
【００７７】
図１０において、従来の切替先端末４０では、時刻Ｔｒの後、メディアバッファ４６が事前蓄積されるまでデータｆ(１５)を出力することができない。メディアバッファ４６のバッファサイズＬは４であるため、時刻Ｔｄになって初めてｆ(１５)が出力される。この結果、切替元端末１０でデータの出力を停止し、切替先端末４０でデータ出力を開始するまでの時間であるタイムギャップＴｄ−Ｔｓは、６となる。
【００７８】
また、時刻Ｔｄに切替先端末４０で出力されるデータ番号と時刻Ｔｓに切替元端末１０で出力されるデータ番号との差であるメディアギャップは、１５−６−１＝８となる。
【００７９】
一方、図１０において、本発明の切替先端末２００では、時刻Ｔｓにおいて、データｆ(７)を切替元端末１００のメディアバッファ１６０から取得することにより、切替先端末２００は、時刻Ｔｓにｆ(７)を出力することが可能となる。すなわち、ＴｓとＴｄは同時刻となりタイムギャップＴｄ−Ｔｓは０である。また、メディアギャップは、７−６−１＝０である。よって、レスポンスディレイＴｄ−Ｔｃを増加することなく、タイムギャップおよびメディアギャップを０とし、従来の端末切替システムと比較し、シームレスな端末切替を実現可能であることがわかる。
【００８０】
また、時刻Ｔｒ以降にＣＮ４００から受信したデータは、切替先端末２００または切替元端末１００のメディアバッファ２５０、１６０に保持され、切替先端末２００でのデータ出力が連続となるための時刻に出力されるので、切替後にデータ出力が不連続となることはない。
【００８１】
以上の説明から明らかなように、切替元端末１００から切替要求を受信した直後から切替元端末蓄積データ取得部２４０によって、切替元端末１００のメディアバッファ１６０のデータがメディアバッファ２５０に供給されることにより、メディアバッファ１６０を切替先端末２００の論理的なメディアバッファとして利用することが可能になる。
【００８２】
これにより、切替先端末２００の事前蓄積状態が確保され、デコーダ２６０は、メディアバッファ２５０に物理的にデータが事前蓄積されるのを待つことなく、即座に復号処理を開始することができる。結果として、タイムギャップを限りなく０に近づけることができる。また、ＣＮ４００との間のセッションが確立し、ＣＮ４００からデータが到着した後は、メディアバッファ管理部２３４が、メディアバッファ２５０のデータ蓄積状況を確認し、メディアバッファ２５０に空きが無い場合には、切替元端末１００のメディアバッファ１６０に書込むことにより、メディアバッファ２５０のオーバーフローによるデータ損失を防ぐことができる。
【００８３】
一方で、メディアバッファ管理部２３４は、メディアバッファ２５０に最新データ番号のデータが存在しないときには、そのデータを切替元端末１００のメディアバッファ１６０から取得することにより、データ番号の連続性を確保することができる。
【００８４】
以上により、シームレスな端末切替を実現することができる。
【００８５】
次に、切替元端末１００の構成および動作について図１１を用いて説明する。なお、図７に示した構成要素と同じ構成要素については、同一の番号を付している。
【００８６】
切替元端末１００は、切替先端末２００やＣＮ４００とのセッション制御を行うシグナリング部１１０と、ＣＮ４００から送信されたデータを受信するデータ受信部１２０と、切替先端末２００から送信されたデータを受信するデータ受信部１３０と、ＣＮ４００から受信したデータの出力をメディアバッファ１６０または破棄に切換えるスイッチ１４０と、切替先端末２００からデータ取得要求があった際に、メディアバッファ１６０から所望のデータを送信する蓄積データ供給部１５０と、受信したデータを蓄積するメディアバッファ１６０と、受信したデータを復号するデコーダ１７０と、デコーダが復号したデータを出力する出力部１８０とから構成されている。
【００８７】
次に、切替元端末１００の動作について図１２を用いて詳細に説明する。
【００８８】
ユーザから端末切替要求を受ける以前は、切替元端末１００は、ＣＮ４００との間でセッション確立状態にある。このとき、スイッチ１４０はオンであり、データ受信部１２０は、ＣＮ４００からデータを受信し、受信したデータをメディアバッファ１６０に書込む。
【００８９】
切替元端末１００は、ユーザから端末切替要求を受けると、メディアバッファ１６０にアクセスし、最新データ番号Ｉを取得する（Ｓ１２０１）。シグナリング部１１０は、メディアバッファ１６０のバッファサイズＭと最新データ番号Ｉを端末切替要求メッセージのヘッダまたはペイロードに記載して、切替先端末２００に送信する。さらに、切替先端末２００とデータの送受信を行うためにセッションの確立を開始する（Ｓ１２０２）。
【００９０】
データ受信部１２０がＣＮ４００からデータを受信した場合には（Ｓ１２０３：ＹＥＳ）、スイッチ１４０がオンであれば（Ｓ１２０４：オン）、当該受信データをメディアバッファ１６０に蓄積する（Ｓ１２０５）。なお、シグナリング部１１０が、切替先端末２００から、Ｎ番以降のデータをＣＮ４００から受信しても、メディアバッファ１６０に書込むことなく破棄するような指示を受信したときは、データ受信部１２０がｆ(Ｎ)を受信した後に、スイッチ１４０をオフに切替える。これにより、それ以降ＣＮ４００から受信するデータはメディアバッファ１６０に蓄積されることなく破棄される。
【００９１】
データ受信部１３０が切替先端末２００からデータを受信した場合には（Ｓ１２０６：ＹＥＳ）、当該受信データをメディアバッファ１６０に蓄積する（Ｓ１２０７）。
【００９２】
蓄積データ供給部１５０が切替先端末２００からデータ取得要求を受信した場合には（Ｓ１２０８：ＹＥＳ）、該当するデータをメディアバッファ１６０から取得し、切替先端末２００に送信する（Ｓ１２０９）。なお、該当するデータをメディアバッファ１６０から取得した際、当該データをメディアバッファ１６０から消去する。
【００９３】
ＣＮ４００と切替先端末２００との間のセッションが確立すると、セッションモビリティが達成されたことになり、ＣＮ４００と切替元端末１００との間のセッションは必要なくなる。シグナリング部１１０がＣＮ４００からＣＮ４００と切替元端末１００との間のセッション切断要求を受信した場合には（Ｓ１２１０：ＹＥＳ）、ＣＮ４００との間のセッション切断処理を開始する（Ｓ１２１１）。
【００９４】
なお、当該切断処理は、切替先端末２００からＣＮ４００との間のセッション確立完了通知（セッション切替要求応答、例えば、「ＲＥＦＥＲ」メッセージの応答）を受信することによって、切替元端末１００から行うようにしても良い。
【００９５】
切替先端末２００のメディアバッファ２５０の中で事前蓄積状態が完成して、端末切替に係る処理を完了するために送信される切替先端末２００と切替元端末１００との間のセッション切断要求をシグナリング部１１０が受信した場合には（Ｓ１２１２：ＹＥＳ）、切替先端末２００との間のセッション切断処理を開始する（Ｓ１２１３）。
【００９６】
なお、切替先端末２００と切替元端末１００との間のセッション切断要求をシグナリング部１１０が受信しない場合には（Ｓ１２１２：ＮＯ）、切替元端末１００は以上の動作（Ｓ１２０３〜Ｓ１２１２）を繰り返す。
【００９７】
次に、切替元端末１００、切替先端末２００、およびＣＮ４００の三者間でやり取りされるメッセージシーケンスについて、図１３を用いて説明する。
【００９８】
切替元端末１００は、ユーザから端末切替要求を受信して（Ｓ１２０１）、端末切替処理を開始する。切替元端末１００は、切替先端末２００にセッション切替要求Ｍ１を送信する（Ｓ１２０２、Ｓ１００１）。シグナリング部１１０が切替先端末２００に送信する端末切替要求Ｍ１は、ＳＩＰの「ＲＥＦＥＲ」メッセージを使用することができる。
【００９９】
また、これと同時に、切替元端末１００は、切替先端末２００との間のセッションを確立するために切替先端末２００にセッション確立要求Ｍ２を送信する（Ｓ１２０２、Ｓ１００１）。セッション確立要求Ｍ２は、ＳＩＰの「ＩＮＶＩＴＥ」メッセージを使用することができる。
【０１００】
切替先端末２００は、セッション切替要求Ｍ１を受け取り、ＣＮ４００との間でセッションを確立するためにセッション確立要求Ｍ３をＣＮ４００に送信する（Ｓ１００２）。セッション確立要求Ｍ３は、ＳＩＰの「ＩＮＶＩＴＥ」メッセージを使用することができる。
【０１０１】
ＣＮ４００との間でセッションが確立し、切替先端末２００がＣＮ４００からデータを受信し始めた後（Ｓ１００４：ＹＥＳ）、切替先端末２００は、Ｎ番以降のデータをＣＮ４００から受信しても、メディアバッファ１６０に書込むことなく破棄するように指示するデータ破棄要求Ｍ４を切替元端末１００に送信する（Ｓ１００６）。データ破棄要求Ｍ４は、データ番号Ｎが記載されている限り、ＳＩＰ以外のメッセージを利用することも可能である。
【０１０２】
ＣＮ４００と切替先端末２００との間でセッションが確立した後、ＣＮ４００は、切替元端末１００との間のセッションを切断するためにセッション切断要求Ｍ５を切替元端末１００に送信する（Ｓ１２１０：ＹＥＳ）。セッション切断要求Ｍ５は、ＳＩＰの「ＢＹＥ」メッセージを使用することができる。
【０１０３】
切替先端末２００は、端末切替が完了した場合に（Ｓ１００８：ＹＥＳ）、切替元端末１００にセッション切断要求Ｍ６を送信して切替元端末１００との間のセッションを切断する（Ｓ１０１２、ステップＳ１２１３）。切替元端末１００に送信するセッション切断要求Ｍ６は、ＳＩＰの「ＢＹＥ」メッセージを使用することができる。
【０１０４】
切替先端末２００が、メディアバッファ２５０内に存在しないデータを取得するために、切替元端末蓄積データ取得部２４０から切替元端末１００の蓄積データ供給部１５０に送信するデータ取得要求Ｍ７は（Ｓ１００３、ステップＳ１０１１、ステップＳ１０１５、ステップＳ１２０８）、切替先端末２００が取得したいデータのデータ番号が記載されている限り、ＳＩＰ以外のメッセージを利用することも可能である。
【０１０５】
以上のように、本実施の形態によれば、切替元端末１００のメディアバッファ１６０を切替先端末２００の論理的（または仮想的）なメディアバッファとして利用するため、端末切替要求直後から事前蓄積状態を生成することができる。また、切替先端末２００のメディアバッファ２５０のデータ蓄積状況を確認し、メディアバッファ２５０に空きが無い場合には、切替元端末１００のメディアバッファ１６０にデータを書込むため、メディアバッファ２５０のオーバーフローによるデータ損失を防ぐことができる。また、切替先端末２００のメディアバッファ２５０に最新データ番号のデータが存在しないときには、そのデータを切替元端末１００のメディアバッファ１６０から取得するため、データ番号の連続性を確保することができ、シームレスな端末切替を実現することができる。
【０１０６】
なお、本実施の形態で実現される機能および動作はコンピュータのプログラムにより実現するようにしてもよく、その場合は、そのプログラムを格納する図示しないメモリや制御を行うＣＰＵ等を、切替元端末１００や切替先端末２００、ＣＮ４００に備えるものとする。また、プログラムを格納する媒体は外部記憶媒体でもよく、例えば、ＥＰＲＯＭやフラッシュＥＥＰＲＯＭ、ＣＤ−ＲＯＭなどであってもよい。これらの点は、特に断らないが、他の実施の形態においても同様である。
【０１０７】
（実施の形態２）
次いで、本発明の実施の形態２に係る端末切替システムについて説明する。
【０１０８】
本実施の形態の端末切替システムは、シームレスな端末切替性能については、実施の形態１の端末切替システムと同等であるが、端末切替後のユーザの利便性をより一層向上することを目的としている。
【０１０９】
本実施の形態の端末切替システムは、端末装置と通信相手との間でストリーミングセッションが確立し、データ受信手段が通信相手からデータを受信し始めた後に、蓄積手段に通信相手から受信したデータを格納するための空きが無い場合に、通信相手に対して、通信相手からのデータ到着を遅延させる遅延制御手段を備える。
【０１１０】
ここでは、２つの態様について説明する。
【０１１１】
まず、本実施の形態の第１の態様について説明する。
【０１１２】
第１の態様は、通信相手に対して、所定の時間だけデータの送出を停止させることにより、通信相手からのデータ到着を遅延させる場合である。
【０１１３】
実施の形態１では、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ場合には（Ｓ１００７：ＹＥＳ）、メディアバッファ２５０がオーバーフローするのを防止するため、切替先端末２００は、ＣＮ４００から送信されるデータを保持するために、切替元端末１００のメディアバッファ１６０を利用する。
【０１１４】
それにより、切替元端末１００と切替先端末２００との間でデータのやり取りがいつまでも続くことになり（Ｓ１０１３〜Ｓ１０１９）、切替元端末１００と切替先端末２００との間のセッションを切断することができない。
【０１１５】
ユーザにとっては、端末切替終了後は、切替元端末１００と切替先端末２００との間の通信状態を気にせず、切替先端末２００を持ち歩くことができればより好ましい。例えば、切替元端末１００が、据置き型のテレビであり、切替先端末２００が携帯端末である場合に、据置き型で受信していたストリーミングセッションを携帯端末に切替え、当該セッションを継続したまま携帯端末を屋外に持ち出すこと等が可能となるからである。
【０１１６】
本実施の形態のシームレスな端末切替システムは、かかる点を改良したものであり、一定時間が経過した後は、ＣＮ４００から送信されるデータを保持するために切替元端末１００のメディアバッファ１６０を利用しなくて済むようになる。
【０１１７】
本実施の形態の切替先端末の構成は、実施の形態１の切替先端末２００と基本的な構成は全く同じであり、単にメディア同期制御部とシグナリング部の動作が異なるのみである。よって、本実施の形態では、各構成要素に対して実施の形態１と同じ符号を用いることとし、構成についての説明は省略する。ただし、実施の形態１と区別するため、本実施の形態の切替先端末を２００ａで示すことにする（ただし、図示せず）。以下、本実施の形態の切替先端末２００ａの動作について、メディア同期制御部２３０とシグナリング部２１０の動作に着目して説明する。
【０１１８】
図１４は、本発明の実施の形態２に係る端末切替システムにおける切替先端末の動作を説明するフローチャートである。なお、図１４において、多くの処理（Ｓ１４０１〜Ｓ１４１９）は、図８に示す実施の形態１の場合と全く同様であるので、重複する部分については必要な場合を除いて説明を省略する。
【０１１９】
切替先端末２００ａがＣＮ４００からデータｆ(Ｎ)を受取ると、メディアバッファ管理部２３４は、最新データ番号（Ｉ＋ｉ）と、メディアバッファ２５０のバッファサイズＬと、ＣＮ４００から到着した最先のデータ番号Ｎとの関係により、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ場合には（Ｓ１４０７：ＹＥＳ）、メディア送出同期制御のためのインデックスｋをＮ−（Ｉ＋ｉ＋Ｌ−１）に初期化する（Ｓ１４２０）。
【０１２０】
ｋの値は、最新データ番号（Ｉ＋ｉ）と、ＣＮ４００からの最先到着データ番号Ｎと、メディアバッファ２５０のサイズＬとによって定まり、切替先端末２００ａだけでシームレスな端末切替を実現するためには、ｋの値だけ切替先端末２００ａのメディアバッファ２５０のサイズが足りないことを意味している。
【０１２１】
本実施の形態では、メディアバッファ管理部２３４は、ＣＮ４００に対してメディア送出同期制御を行わない場合には（Ｓ１４２１：ＮＯ）、実施の形態１における定常状態（Ｓ１４１３〜Ｓ１４１９）を繰り返す。一方、ＣＮ４００に対してメディア送出同期制御を行う場合には（Ｓ１４２１：ＹＥＳ）、初回に限り（Ｓ１４２２：ＹＥＳ）、シグナリング部２１０を介してＣＮ４００に対して、ｋ回だけ切替先端末２００ａに対してデータを送信するのを休止するように通知する（Ｓ１４２３）。
【０１２２】
ｋが正の値である場合には（Ｓ１４２４：ＹＥＳ）、メディア送出同期制御のためのインデックスｋをデクリメントする（Ｓ１４２５）。一方、ｋが正の値でない場合には（Ｓ１４２４：ＮＯ）、切替先端末２００ａのメディアバッファ２５０の中で事前蓄積状態が完成したので、メディアバッファ管理部２３４は、シグナリング部２１０を介して、切替元端末１００に端末切替完了通知を送信すると同時に、切替元端末１００との間のセッションを切断し（Ｓ１４２６）、端末切替に関する処理を完了する。
【０１２３】
このように、メディアバッファ管理部２３４は、シグナリング部２１０を介してＣＮ４００に対して、切替先端末２００ａに対してデータを送信するのを休止するように通知するので（Ｓ１４２３）、データ受信部２２０は、ｋが正の値である一定の期間だけ、ＣＮ４００からデータを受信しない。一方で、デコーダ２６０は、ＣＮ４００からデータを受信するか否かにかかわらず、一定の間隔でメディアバッファ２５０から最新データを取得するので、メディアバッファ管理部２３４は、デコーダ２６０がメディアバッファ２５０から最新データを取得するタイミングで最新データ番号のインデックスｉを更新（ｉ++）し（Ｓ１４１３）、メディアバッファ２５０に最新データ番号（Ｉ＋ｉ）のデータｆ(Ｉ＋ｉ)が存在するか否かを確認する（Ｓ１４１４）。
【０１２４】
その結果、データｆ(Ｉ＋ｉ)が存在しない場合には（Ｓ１４１４：ＮＯ）、メディアバッファ管理部２３４は、切替元端末蓄積データ取得部２４０にｆ(Ｉ＋ｉ)を切替元端末１００から取得するように指示する。この指示を受けて、切替元端末蓄積データ取得部２４０は、切替元端末１００のメディアバッファ１６０からｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込む（Ｓ１４１５）。
【０１２５】
このように、ＣＮ４００のデータ送信を休止することにより、事前蓄積されているデータ総量を減らすことになり、メディアバッファ２５０のバッファサイズ不足を吸収することができる。
【０１２６】
次いで、図１５のグラフを用いて、本実施の形態の第１の態様における切替元端末１００のメディアバッファ１６０と切替先端末２００ａのメディアバッファ２５０にそれぞれ蓄積されているデータの時間変化を説明する。
【０１２７】
図１５では、グラフの縦軸を蓄積データ数とし、横軸を時間とする。このグラフの説明においても、図７の説明で用いた記号と同様の記号を用いるものとする。すなわち、切替元端末１００のメディアバッファサイズをＭ、切替先端末２００ａのメディアバッファサイズをＬ、最新データ番号を（Ｉ＋ｉ）とする。メディア送出同期制御のためのインデックスｋは、Ｎ−（Ｉ＋ｉ＋Ｌ−１）である。ここで、インデックスｋの初期値をＫ（固定値）とする。デコーダ２６０は、メディアバッファ２５０から一定間隔でデータを読み出し復号処理を行うものとし、その間隔をαとする。また、ＣＮ４００がデータ送信する間隔もαである。
【０１２８】
次に、グラフ中の時刻について説明する。
【０１２９】
Ｔｒは、図７で用いたものと同様であり、切替先端末２００ａがＣＮ４００から送信された最先着のデータを受信する時刻である。また、このときのデータ番号はＮとする。また、Ｔ１は、切替元端末１００がＣＮ４００からデータ番号Ｎのデータを受信した時刻であり、それ以降の受信データは破棄する（Ｓ１４０６）。時刻Ｔｒにおいて、最新データ番号は（Ｉ＋ｉ）であり、切替元端末１００のメディアバッファ１６０は、（（Ｉ＋ｉ）＋（Ｍ−１））番までのデータを蓄積している。
【０１３０】
したがって、切替元端末１００がデータ番号Ｎのデータを受信するまでには、（Ｎ−（（Ｉ＋ｉ）＋（Ｍ−１）））×αだけの時間を要する。ところで、ＫはＮ−（Ｉ＋ｉ＋Ｌ−１）であるので、Ｋを用いると、時刻ＴｒからＴ１までの時間は、（Ｋ−（Ｍ−Ｌ））×αとなる。
【０１３１】
Ｔ２は、切替先端末２００ａのメディアバッファ２５０が一杯の状態、つまり、ＣＮ４００からデータを受信した結果、切替先端末２００ａのメディアバッファ２５０がＬ個のデータを蓄積する状態に達した時刻である。Ｔ２以降、切替先端末２００ａは、受信したデータの切替元端末１００への転送を開始する（Ｓ１４１９）。
【０１３２】
Ｔ３は、メディア送出同期制御を開始する時刻であり、ＣＮ４００は、一定の期間、切替先端末２００ａに対してデータの送出を停止する。Ｔ４は、メディア送出同期制御を終了する時刻であり、Ｔ４以降、ＣＮ４００は、切替先端末２００ａに対してデータの送出を再開する。
【０１３３】
図１５のグラフにおいて、太線の実線は、切替先端末２００ａのメディアバッファ２５０のデータ蓄積量（切替先メディアバッファ蓄積量）を示し、太線の破線は、切替元端末１００のメディアバッファ１６０のデータ蓄積量（切替元メディアバッファ蓄積量）を示している。また、細線の実線は、ＣＮ４００から送出され、単位時間αにおいてメディアバッファに入力されるデータ量を示している。
【０１３４】
次に、グラフの左端から時間軸に沿ってグラフの内容を説明する。
【０１３５】
時刻Ｔｒまでは、切替元端末１００にＣＮ４００からデータが送信される。切替元端末１００のメディアバッファ１６０に入力されるデータ量は、単位時間α当たり１である。切替先端末２００ａは、切替元端末１００のメディアバッファ１６０からデータを取得するので、切替元端末１００のメディアバッファ１６０のデータ蓄積量はＭで一定である。一方で、切替先端末２００ａのメディアバッファ２５０は、切替元端末１００から取得したデータをすぐにデコーダ２６０に出力するため、データが蓄積されることはない。
【０１３６】
時刻Ｔｒになると、切替先端末２００ａは新たにＣＮ４００からデータを受信し始めるので、切替元端末１００および切替先端末２００ａの各メディアバッファ１６０、２５０に入力されるデータ量の和は、単位時間α当たり２となる。このとき、切替先端末２００ａはＣＮ４００から受信したデータを蓄積するので、メディアバッファ２５０の蓄積量は１／αで増加する。一方、切替元端末１００の状況は変わらず、蓄積量はＭで一定である。
【０１３７】
時刻Ｔ１になると、切替元端末１００は、ＣＮ４００から受信したデータを破棄し、メディアバッファ１６０に蓄積しなくなるので、切替元端末１００および切替先端末２００ａの各メディアバッファ１６０、２５０に入力されるデータ量の和は、単位時間α当たり１となる。このとき、切替元端末１００のメディアバッファ１６０へのデータ入力が無くなる一方、切替元端末１００のメディアバッファ１６０から切替先端末２００ａがデータを取得するので、切替元端末１００のメディアバッファ１６０の蓄積量は１／αで減少する。一方で、切替先端末２００ａの状況は変わらず、蓄積量は１／αで増加する。
【０１３８】
時刻Ｔ２になると、切替先端末２００ａのメディアバッファ２５０は一杯になる。依然としてデータは切替先端末２００ａのみに入力され、入力されるデータ量は単位時間α当たり１である。このとき、切替先端末２００ａはＣＮ４００から受信したデータを切替元端末１００に転送するので、メディアバッファ２５０の蓄積量はＬで一定となる。切替元端末１００は、切替先端末２００ａからデータを受信してメディアバッファ１６０に蓄積すると同時に、切替先端末２００ａにデータを送信するので、メディアバッファ１６０の蓄積量はＫで一定となる。ここで、切替先端末２００ａのメディアバッファ２５０は、時刻Ｔｒから１／αの速度で増加し、時刻Ｔ２でＬに達するので、時刻ＴｒからＴ２までの時間は、Ｌ×αとなる。
【０１３９】
時刻Ｔ３になると、ＣＮ４００がメディア送出同期制御を開始し、ＣＮ４００は、Ｋ×αの期間の間、切替先端末２００ａに対してデータの送出を停止する。よって、メディアバッファ２５０に入力されるデータ量は、単位時間α当たり０である。その結果、切替先端末２００ａのメディアバッファ２５０の蓄積量はＬで一定となる。一方で、切替元端末１００は、切替先端末２００ａにデータを送信するので、メディアバッファ１６０の蓄積量は１／αで減少し、時刻Ｔ４で０となる。
【０１４０】
時刻Ｔ４になると、ＣＮ４００はメディア送出同期制御を終了し、切替先端末２００ａに対してデータ間隔αでデータ送信を再開する。よって、切替先端末２００ａのメディアバッファ２５０に入力されるデータ量は、単位時間α当たり１となる。切替先端末２００ａのメディアバッファ２５０では、ＣＮ４００からデータを入力してデコーダ２６０に出力するので、切替元端末１００のメディアバッファ１６０のデータ蓄積量はＬで一定となる。
【０１４１】
以上により、事前蓄積されているデータ総量をＬに減らすことができ、切替元端末１００のメディアバッファ１６０を利用する必要がなくなる。
【０１４２】
次に、切替先端末２００ａおよびＣＮ４００との間でそれぞれやり取りされるメッセージについて説明する。
【０１４３】
切替先端末２００ａがＣＮ４００に対して、データを送信するのをＫ回分だけ休止するように指示するメッセージ（Ｓ１４２３）は、メッセージのヘッダまたはペイロードに少なくともＫの値が記載される限り、ＳＩＰ以外のメッセージを使用することができる。
【０１４４】
なお、当該メッセージを受信したＣＮ４００は、一定間隔αで送信しているデータの送信をＫ×αの期間休止する。ただし、送出するデータの番号はこれによる影響を全く受けず、当初予定された送出時刻がＫ×αの時間先送りになるだけである。
【０１４５】
以上説明したように、本実施の形態の第１の態様によれば、ＣＮ４００による定期的なデータ送出を所定の時間だけ停止し、一方で、当該期間の間デコーダ２６０は切替元端末１００のメディアバッファ１６０からのデータを取得するため、結果として切替先端末２００ａのメディアバッファ２５０のバッファサイズ不足を吸収することができる。その結果、一定時間後に切替先端末２００は切替元端末１００との間のセッションを切断し、もはや切替元端末１００のメディアバッファ１６０を利用することなく、シームレスな端末切替を実現することができる。これにより、端末切替後のユーザの利便性はより一層向上する。
【０１４６】
次に、本実施の形態の第２の態様について説明する。
【０１４７】
第２の態様は、通信相手から自己へのデータ送出間隔を所定の時間だけ大きくすることにより、通信相手からのデータ到着を遅延させる場合である。より具体的には、例えば、通信相手から自己へのデータ送出間隔を、所定の時間だけ、通信相手から切替元端末にデータが送信されていたときの送信間隔（元のセッションの送信間隔）、または、端末切替直後に通信相手から切替先端末にデータが送信されてきたときの送信間隔よりも大きく設定させることにより、通信相手からのデータ到着を遅延させる。
【０１４８】
第１の態様では、時刻Ｔ２以降にメディア送出同期制御を開始することが可能となり（Ｓ１４２１：ＹＥＳ）、時刻Ｔ３から時刻Ｔ４までのＫ×αの期間の間、ＣＮ４００が切替先端末２００ａに送信しているデータの送信を休止することにより、切替先端末２００ａに事前蓄積されているデータ総量をＬに減らしている。
【０１４９】
これに対して、本態様においては、ＣＮ４００からのデータの送信を休止する代わりに、ＣＮ４００のデータ送出間隔をαからβに変更することにより、切替先端末２００ａに事前蓄積されているデータ総量をＬに減らすようにしている。この方法によれば、時刻Ｔ２を待たずして、任意の時刻にメディア送出同期制御を開始することができる（Ｓ１４２１：ＹＥＳ）。
【０１５０】
図１６は、本実施の形態の第２の態様における切替元端末１００のメディアバッファ１６０と切替先端末２００ａのメディアバッファ２５０にそれぞれ蓄積されているデータの時間変化を示すグラフである。図１６で使用される記号は、βを除いて、図１５で用いたものと全く同様である。ここで、βはメディア送出同期制御により変更した後のＣＮ４００のデータ送出間隔であり、αよりも大きい値である（β＞α）。また、図１６においては、メディア送出同期制御を開始する時刻Ｔ３をＴｒと同時刻に行っているため、Ｔ３はＴｒと一致する。
【０１５１】
次に、グラフの左端から時間軸に沿ってグラフの内容を説明する。
【０１５２】
時刻Ｔｒまでは、切替元端末１００にＣＮ４００からデータが送信される。切替元端末１００のメディアバッファ１６０に入力されるデータ量は、単位時間α当たり１である。切替先端末２００ａは、切替元端末１００のメディアバッファ１６０からデータを取得するので、切替元端末１００のメディアバッファ１６０のデータ蓄積量はＭで一定である。一方で、切替先端末２００ａのメディアバッファ２５０は、切替元端末１００から取得したデータをすぐにデコーダ２６０に出力するため、データが蓄積されることはない。
【０１５３】
時刻Ｔｒになると、切替先端末２００ａは新たにＣＮ４００からデータを受信し始めるものの、ＣＮ４００がメディア送出同期制御を開始し、ＣＮ４００からのデータ送出間隔をβとすることにより、切替先端末２００ａのメディアバッファ２５０へ入力されるデータ量は単位時間α当たりα／βである。また、ＣＮ４００から切替元端末１００のメディアバッファ１６０へ入力されるデータ量は変わらず、単位時間α当たり１である。
【０１５４】
したがって、切替元端末１００および切替先端末２００ａの各メディアバッファ１６０、２５０に入力されるデータ量の和は、１＋α／βとなる。このとき、切替先端末２００ａはＣＮ４００から受信したデータを蓄積するので、切替先端末２００ａのメディアバッファ２５０の蓄積量は１／βの速度で増加する。一方、切替元端末１００の状況は変わらず、メディアバッファ１６０の蓄積量はＭで一定である。
【０１５５】
時刻Ｔ１になると、切替元端末１００は、ＣＮ４００から受信したデータを破棄し、メディアバッファ１６０に蓄積しなくなるので、切替元端末１００および切替先端末２００ａの各メディアバッファ１６０、２５０に入力されるデータ量の和は単位時間α当たりα／βとなる。このとき、切替元端末１００のメディアバッファ１６０へのデータ入力がなくなる一方、切替元端末１００のメディアバッファ１６０から切替先端末２００ａがデータを取得するので、切替元端末１００のメディアバッファ１６０の蓄積量は１／αの速度で減少する。一方で、切替先端末２００ａの状況は変わらず、切替先端末２００ａのメディアバッファ２５０の蓄積量は１／βの速度で増加する。
【０１５６】
時刻Ｔ２になると、切替先端末２００ａのメディアバッファ２５０は一杯になる。そして、後述する適切なβを設定することにより、時刻Ｔ２と同時刻であるＴ４に、ＣＮ４００はメディア送出同期制御を終了し、切替先端末２００ａに対してデータ間隔αでデータ送信を再開する。よって、切替先端末２００ａに入力されるデータ量は単位時間α当たり１となる。このとき、切替先端末２００ａのメディアバッファ２５０では、ＣＮ４００からデータを入力してデコーダ２６０に出力するので、切替先端末２００のメディアバッファ２５０のデータ蓄積量はＬで一定となる。
【０１５７】
ここで、切替先端末２００ａのメディアバッファ２５０は、時刻Ｔｒから１／βの速度で増加し、時刻Ｔ２でＬに達している。したがって、時刻ＴｒからＴ２までの時間は、Ｌ×βとなる。一方、切替元端末１００のメディアバッファ１６０は、時刻Ｔ１から１／αの速度で減少し、時刻Ｔ２で０に達している。したがって、時刻Ｔ１からＴ２までの時間は、Ｍ×αとなる。
【０１５８】
さて、時刻Ｔｒで送出間隔βを適切に設定することにより、時刻Ｔ２とＴ４は一致する。上記のように、時刻ＴｒからＴ２まではＬ×βかかり、時刻Ｔ１からＴ４まではＭ×αかかる。時刻ＴｒからＴ１までは（Ｋ−（Ｍ−Ｌ））×αかかるので、これらの関係から、適切なβの値は、（１＋Ｋ／Ｌ）×αとなる。したがって、時刻Ｔｒにおいて、βの値を（１＋Ｋ／Ｌ）×αと計算し、ＣＮ４００にβを用いてメディア送出同期制御を行うように要請することにより、時刻Ｔ２と時刻Ｔ４を一致させ、事前蓄積されているデータ総量をＬに減らすことができる。
【０１５９】
以上説明したように、本実施の形態の第２の態様によれば、ＣＮ４００によるデータ送出間隔を一定の時間だけαからβに拡大するため、切替先端末２００ａのメディアバッファ２５０のバッファサイズ不足を吸収することができる。その結果、一定時間後に切替先端末２００ａは切替元端末１００との間のセッションを切断し、もはや切替元端末１００のメディアバッファ１６０を利用することなく、シームレスな端末切替を実現することができる。これにより、端末切替後のユーザの利便性はより一層向上する。
【０１６０】
（実施の形態３）
次いで、本発明の実施の形態３に係る端末切替システムについて説明する。
【０１６１】
本実施の形態の端末切替システムは、シームレスな端末切替性能については、実施の形態１の端末切替システムと同等であるが、切替元端末のメディアバッファの代わりに、第三者端末のメディアバッファを利用する点が異なる。ここで、「第三者端末」とは、切替元端末とＣＮ以外の端末であって、ネットワーク揺らぎの影響を受けないデータ伝送が可能なネットワークを介して切替先端末と接続可能な端末のことを広く意味する。
【０１６２】
実施の形態１においては、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ場合には（Ｓ１００７：ＹＥＳ）、切替先端末２００のメディアバッファ２５０がオーバーフローするのを防止するため、切替先端末２００は、ＣＮ４００から送信されるデータを保持するために、切替元端末１００のメディアバッファ１６０を利用する。しかしながら、特に、切替元端末１００がバッテリで駆動している場合など、切替元端末１００に処理負担をかけるのは好ましくない。
【０１６３】
そこで、本実施の形態のシームレスな端末切替システムでは、かかるシームレスな端末切替の利便性を向上するために、切替元端末以外の第三者端末のメディアバッファを利用するようにした。
【０１６４】
図１７は、本発明の実施の形態３に係る端末切替システムのシステム構成図である。なお、本実施の形態の端末切替システムは、図４に示す実施の形態１の端末切替システムと同一の基本的構成を有しており、同一の構成要素には同一の符号を付し、その説明を省略する。
【０１６５】
図１７の端末切替システムは、切替元端末１００と、ＣＮ４００と、インターネットなどのネットワーク５００と、端末切替のターゲットとなる切替先端末６００と、第三者端末７００とから構成されている。また、実施の形態１の場合と同様に、切替元端末１００と切替先端末２００との間は、ＰＡＮ（近距離無線ネットワーク）３００をネットワークとして利用することもできるようになっている。
【０１６６】
第三者端末７００は、ネットワーク５００に接続することができ、切替先端末６００との間では、図示しないが、ＵＷＢやBluetooth（登録商標）等のＰＡＮをネットワーク５００として利用することなどにより、ネットワーク揺らぎ（ジッタ）の影響を受けずに通信することが可能である。
【０１６７】
さらに、第三者端末７００は、データを蓄積するための図示しないメディアバッファを具備している。なお、第三者端末７００の構成は、例えば、図１１に示す切替元端末１００と同一であってもよく、同様に理解することができるので、その詳細な説明は省略する。
【０１６８】
図１８は、本実施の形態の切替先端末６００の内部の構成を示すブロック図である。なお、図１８において、実施の形態１の切替先端末２００と動作が同じ構成要素に対しては、同一の符号を付している。
【０１６９】
この切替先端末６００は、切替元端末１００、ＣＮ４００、および第三者端末７００との間のセッション制御を行うシグナリング部２１０ａと、ＣＮ４００から送信されたデータを受信するデータ受信部２２０と、受信したデータのメディアバッファ２５０への蓄積制御を行うメディア同期制御部６１０と、受信したデータを蓄積するメディアバッファ２５０と、受信したデータを復号するデコーダ２６０と、デコーダが復号したデータを出力する出力部２７０とから構成されている。
【０１７０】
上記構成において、メディア同期制御部６１０と、シグナリング部２１０ａとが実施の形態１の切替先端末２００とは異なる構成要素である。
【０１７１】
ここで、メディア同期制御部６１０は、メディアバッファ２５０のデータ蓄積量および蓄積されているデータのデータ番号の管理を行い、ＣＮ４００からデータを受信した際に、メディアバッファ２５０の蓄積量に応じた制御を行い、メディアバッファ２５０に空きが無い場合は、データを第三者端末７００に送信する。また、デコーダ２６０に出力すべき最新データ番号のデータがメディアバッファ２５０に存在しない場合において、最新データ番号が、既に第三者端末７００に送信されたデータ番号でない場合には、切替元端末１００のメディアバッファ１６０から最新データ番号のデータを取得する。一方、最新データ番号が、既に第三者端末７００に送信されたデータ番号である場合には、第三者端末７００のメディアバッファから最新データ番号のデータを取得することにより、データ番号の連続性を維持することができる。シグナリング部２１０ａは、ＣＮ４００や切替元端末１００との間のセッションに加えて、第三者端末７００との間のセッションを確立し、制御することができる。
【０１７２】
図１９は、メディア同期制御部６１０の内部の構成を示すブロック図である。なお、図１９において、実施の形態１のメディア同期制御部２３０と動作が同じ構成要素に対しては、同一の符号を付している。
【０１７３】
メディア同期制御部６１０は、最新データ番号管理部２３２、メディアバッファ管理部６１２、スイッチ２３６、データ送信部６１４、切替元端末蓄積データ取得部２４０、および第三者端末蓄積データ取得部６１６から構成されている。
【０１７４】
最新データ番号管理部２３２は、シグナリング部２１０ａから受取った最新データ番号を保持し、デコーダ２６０がメディアバッファ２５０からデータを取得した際に、最新データ番号の更新を行い、メディアバッファ管理部６１２に更新を通知する。
【０１７５】
メディアバッファ管理部６１２は、メディアバッファ２５０のデータ蓄積量および蓄積されているデータのデータ番号の管理を行う。そして、データ受信部２２０がＣＮ４００からデータを受信した際に、メディアバッファ２５０に空きが無い場合は、当該受信データのデータ番号を記録して当該受信データをデータ送信部６１４に送り、メディアバッファ２５０に空きがある場合は、当該受信データをメディアバッファ２５０に書込む。
【０１７６】
また、メディアバッファ管理部６１２は、最新データ番号管理部２３２から最新データの更新が通知された際に、最新データ番号のデータがメディアバッファ２５０に存在しない場合において、最新データ番号が、既に第三者端末７００に送信されたデータ番号でない場合には、切替元端末蓄積データ取得部２４０に、切替元端末１００のメディアバッファ１６０から最新データ番号のデータを取得するように通知する。また、最新データ番号が、既に第三者端末７００に送信されたデータ番号である場合には、第三者端末蓄積データ取得部６１６に、第三者端末７００のメディアバッファから最新データ番号のデータを取得するように通知する。
【０１７７】
スイッチ２３６は、データ受信部２２０がＣＮ４００から受信したデータの出力を、メディアバッファ管理部６１２の判断に応じて、メディアバッファ２５０またはデータ送信部６１４に切替える。
【０１７８】
データ送信部６１４は、メディアバッファ２５０に空きが無い場合に、データ受信部２２０がＣＮ４００から受信したデータであってメディアバッファ管理部６１２から送られたデータを第三者端末７００に送信する。
【０１７９】
切替元端末蓄積データ取得部２４０は、メディアバッファ管理部６１２による最新データ番号のデータ取得通知に基づいて、切替元端末１００のメディアバッファ１６０から最新データ番号のデータを取得し、メディアバッファ２５０に書込む。
【０１８０】
第三者端末蓄積データ取得部６１６は、メディアバッファ管理部６１２による最新データ番号のデータ取得通知に基づいて、第三者端末７００のメディアバッファから最新データ番号のデータを取得し、メディアバッファ２５０に書込む。
【０１８１】
上記構成において、メディアバッファ管理部６１２、データ送信部６１４、および第三者端末蓄積データ取得部６１６は、実施の形態１のメディア同期制御部２３０の対応する構成要素とはそれぞれ異なる。
【０１８２】
具体的には、メディアバッファ管理部６１２は、第三者端末７００に送信したデータ番号を保持するレジスタ６１２ａを内部に具備し、記録された当該データ番号を参照して、データの取得元を切替元端末１００にするか、または第三者端末７００にするかを判断する点が異なる。また、データ送信部６１４は、データの送信先が、切替元端末１００でなく第三者端末７００である点が異なる。
【０１８３】
また、第三者端末蓄積データ取得部６１６は、新たに加えられた構成要素であり、メディアバッファ管理部６１２による最新データ番号のデータ取得通知に基づいて、第三者端末７００のメディアバッファから最新データ番号のデータを取得し、メディアバッファ２５０に書込む機能を有する。
【０１８４】
次に、切替先端末６００の動作について、図２０を用いて詳細に説明する。図２０は、切替先端末６００の動作を説明するフローチャートである。なお、図２０において、図８に示す実施の形態１の場合と全く同様である動作（Ｓ２００１〜Ｓ２０１２）については、その説明を省略する。
【０１８５】
切替先端末６００が、ＣＮ４００からデータｆ(Ｎ)を受取ると、メディアバッファ管理部６１２は、最新データ番号（Ｉ＋ｉ）と、メディアバッファ２５０のバッファサイズＬと、ＣＮ４００から到着した最先のデータ番号Ｎとの関係により、Ｎ＞（Ｉ＋ｉ）＋Ｌが成り立つ場合には（Ｓ２００７：ＹＥＳ）、シグナリング部２１０ａを介して第三者端末７００との間のセッションを確立し、第三者端末７００に送信済みデータのデータ番号を記録するためのレジスタ６１２ａを初期化する（Ｓ２０２０）。
【０１８６】
なお、第三者端末７００は、セッション確立に先立って、サービス発見プロトコルを用いて特定されている。サービス発見プロトコルは、例えば、ＳＬＰ（Service Location Protocol）やＵＰｎＰ（Universal Plug and Play）のＳＳＤＰ（Simple Service Discovery Protocol）などを用いることができる。
【０１８７】
メディアバッファ管理部６１２は、デコーダ２６０がメディアバッファ２５０から最新データを取得するタイミングで最新データ番号のインデックスｉを更新（ｉ++）し（Ｓ２０１３）、メディアバッファ２５０に最新データ番号（Ｉ＋ｉ）のデータｆ(Ｉ＋ｉ)が存在するか否かを確認する（Ｓ２０１４）。
【０１８８】
そして、データｆ(Ｉ＋ｉ)が存在しない場合には（Ｓ２０１４：ＮＯ）、メディアバッファ管理部６１２は、第三者端末７００に送信済みデータのデータ番号を記録するためのレジスタ６１２ａを確認する（Ｓ２０２１）。
【０１８９】
その結果、当該レジスタ６１２ａに最新データ番号（Ｉ＋ｉ）が存在しない場合には（Ｓ２０２１：ＮＯ）、切替元端末蓄積データ取得部２４０にｆ(Ｉ＋ｉ)を切替元端末１００から取得するように指示する。この指示を受けて、切替元端末蓄積データ取得部２４０は、切替元端末１００のメディアバッファ１６０からｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込む（Ｓ２０１５）。
【０１９０】
一方、当該レジスタ６１２ａに最新データ番号(Ｉ＋ｉ)が存在する場合には（Ｓ２０２１：ＹＥＳ）、第三者端末蓄積データ取得部６１６にｆ(Ｉ＋ｉ)を第三者端末７００から取得するように指示する。この指示を受けて、第三者端末蓄積データ取得部６１６は、第三者端末７００のメディアバッファからｆ(Ｉ＋ｉ)を取得し、メディアバッファ２５０に書込む（Ｓ２０２２）。
【０１９１】
また、データｆ(Ｉ＋ｉ)が存在する場合には（Ｓ２０１４：ＹＥＳ）、メディアバッファ管理部６１２は、データ受信部２２０がＣＮ４００から次のデータを受信した際、ＣＮ４００から受け取るデータのインデックスｎを更新（ｎ++）し（Ｓ２０１６）、メディアバッファ２５０の空きの有無を確認する（Ｓ２０１７）。
【０１９２】
その結果、メディアバッファ２５０にデータを蓄積する空きスペースが存在する場合には（Ｓ２０１７：ＹＥＳ）、データｆ(Ｎ＋ｎ)をメディアバッファ２５０に書込む（Ｓ２０１８）。
【０１９３】
一方、メディアバッファ２５０にデータを蓄積する空きスペースが存在しない場合には（Ｓ２０１７：ＮＯ）、メディアバッファ管理部６１２は、スイッチ２３６の出力をデータ送信部６１４側に接続し、データｆ(Ｎ＋ｎ)をデータ送信部６１４に送る。データ送信部６１４は、当該データを第三者端末７００に転送する（Ｓ２０１９）。メディアバッファ管理部６１２は、当該転送したデータのデータ番号（Ｎ＋ｎ）を、第三者端末７００に送信したデータ番号を保持する内部のレジスタ６１２ａに記録する（Ｓ２０２３）。
【０１９４】
以降、以上の動作（Ｓ２０１３〜Ｓ２０２３）を繰り返すことにより、デコーダ２６０は、メディアバッファ２５０がオーバーフローする状況を回避し、継続的に連続したデータ番号のデータを取得することができる。
【０１９５】
以上のように、ＣＮ４００との間のセッションが確立し、ＣＮ４００からデータが到着した後は、切替先端末６００と第三者端末７００との間でセッションを確立することにより、メディアバッファ管理部６１２は、メディアバッファ２５０のデータ蓄積状況を確認し、メディアバッファ２５０に空きが無い場合には、第三者端末７００のメディアバッファに書込むことにより、切替先端末６００のメディアバッファ２５０のオーバーフローによるデータ損失を防ぐ。
【０１９６】
一方で、メディアバッファ管理部６１２は、メディアバッファ２５０に最新データ番号のデータが存在しないときには、内部のレジスタ６１２ａに記録されている第三者端末７００への送信済みデータ番号を参照し、切替元端末１００のメディアバッファ１６０または第三者端末７００のメディアバッファから最新データ番号のデータを取得することにより、データ番号の連続性を確保する。
【０１９７】
このように、好適な第三者端末７００を利用することにより、切替元端末１００と切替先端末６００との間のセッションを早期に切断することが可能になり、ユーザの利便性をより一層向上したシームレスな端末切替を実現することができる。
【０１９８】
なお、本実施の形態では、実施の形態１のシームレスな端末切替システムにおける切替元端末１００のメディアバッファ１６０の代わりに、第三者端末７００のメディアバッファを利用する態様について説明したが、実施の形態２で説明したシームレスな端末切替システムを、本実施の形態と同様にして、第三者端末を用いて改変することは、当業者であれば容易に想到することができる。
【０１９９】
本発明は、通信相手とセッションを保持している端末を、当該セッションを維持しながら別の端末へ切替えるものであり、その際に、レスポンス遅延を増加させることなく、切替元端末または第三者端末に対して切替先端末で出力されるメディアデータの連続性を確保したシームレスな端末切替を実現することができるという効果を有する。
【０２００】
本発明は、セッションモビリティにおいて、また、特に端末のメディアバッファに事前蓄積を要するストリーミングアプリケーションのセッションモビリティにおいて、シームレスな端末切替を実現するために、（１）切替指示直後に、切替先端末のメディアバッファに、事前蓄積状態を生成し、（２）ＣＮとの間のセッション確立後も、データ番号の連続性を損なうことなくメディアバッファへデータを蓄積し続けることができるシームレスな端末切替技術を提供することを目的とするものである。
【０２０１】
本発明は、上述した実施例に限定されるものではなく、本発明の範囲を超えることなく種々の変形例や修正された例も実施することが可能である。
【産業上の利用可能性】
【０２０２】
本発明の端末装置は、端末間でストリーミングセッションをシームレスに切替えることができるという効果を有し、例えば、携帯電話やネットワーク対応のデジタルスチルカメラ、デジタルビデオムービー等で受信再生している映像をテレビ等の表示デバイスに出力する場合の端末切替装置等に有用である。
【符号の説明】
【０２０３】
１０、１００  切替元端末
２０、４００  ＣＮ
３０、５００  ネットワーク
４０、２００、６００  切替先端末
４２、１１０、２１０、２１０ａ  シグナリング部
４４、１２０、１３０、２２０  データ受信部
４６、１６０、２５０  メディアバッファ
４８、１７０、２６０  デコーダ
５０、１８０、２７０  出力部
３００  ＰＡＮ
２３０，６１０  メディア同期制御部
２３２  最新データ番号管理部
２３４，６１２  メディアバッファ管理部
１４０、２３６  スイッチ
２３８、６１４  データ送信部
２４０  切替元端末蓄積データ取得部
１５０  蓄積データ供給部
７００  第三者端末
６１２ａ  レジスタ
６１６  第三者端末蓄積データ取得部
【図１】
2011234374.tif 000003
【図２】
2011234374.tif 000004
【図３】
2011234374.tif 000005
【図４】
2011234374.tif 000006
【図５】
2011234374.tif 000007
【図６】
2011234374.tif 000008
【図７】
2011234374.tif 000009
【図８】
2011234374.tif 000010
【図９Ａ】
2011234374.tif 000011
【図９Ｂ】
2011234374.tif 000012
【図１０】
2011234374.tif 000013
【図１１】
2011234374.tif 000014
【図１２】
2011234374.tif 000015
【図１３】
2011234374.tif 000016
【図１４】
2011234374.tif 000017
【図１５】
2011234374.tif 000018
【図１６】
2011234374.tif 000019
【図１７】
2011234374.tif 000020
【図１８】
2011234374.tif 000021
【図１９】
2011234374.tif 000022
【図２０】
2011234374.tif 000023