(57)【要約】【課題】  パケットデータのジッタリング等の事象に対し、リアルタイム性が損なわれることを防止すると同時に品質の良いストリーミングデータを移動機に対して提供する。【解決手段】  ストリーミングサーバ３０からのストリーミングデータに係る複数のパケットデータを受信してジッタバッファ１３に保存するサーバ間通信制御部１２と、パケットデータのシーケンス番号に基づいてパケットデータの連続性を判断する受信データ順序制御部１４と、連続性があると判断された場合、当該判断対象のパケットデータを移動機向けデータ送信用バッファ１５に格納すると共に、連続性がないと判断された場合、移動機向けデータ送信用バッファ１５に残っているデータ量応じて、判断対象のパケットデータを移動機向けデータ送信用バッファ１５に格納するまでの時間を制御する映像データ制御部１６と、を具備する。【選択図】  図１
2008011423.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングサーバから送信される、ストリーミングデータに係る複数のパケットデータを受信する受信手段と、
前記受信手段により受信されたパケットデータを装置内部のメモリに保存する保存手段と、
前記保存手段により保存されたパケットデータに付与されているシーケンス番号を取得するシーケンス番号取得手段と、
前記シーケンス番号取得手段により取得されたシーケンス番号に基づいて前記パケットデータの連続性を判断する連続性判断手段と、
前記連続性判断手段による判断の結果、連続性があると判断された場合、当該判断対象のパケットデータを装置内部の移動機向けデータ送信用バッファに格納する送信用データ格納手段と、
前記連続性判断手段による判断の結果、連続性がないと判断された場合、前記移動機向けデータ送信用バッファに残っている前記パケットデータのデータ量を確認するバッファ内残データ確認手段と、
前記バッファ内残データ確認手段により確認された前記データ量に応じて、前記連続性判断手段による判断対象のパケットデータを前記移動機向けデータ送信用バッファに格納するまでの時間を制御する送信データ制御手段と、
前記移動機向けデータ送信用バッファに格納されたパケットデータを移動機に送信する送信手段と、
を備えるデータ中継装置。
【請求項２】
ストリーミングサーバと移動機との間でデータを中継するデータ中継装置におけるデータ中継方法であって、
ストリーミングサーバから送信される、ストリーミングデータに係る複数のパケットデータを受信する受信ステップと、
前記受信ステップにおいて受信されたパケットデータを装置内部のメモリに保存する保存ステップと、
前記保存ステップにおいて保存されたパケットデータに付与されているシーケンス番号を取得するシーケンス番号取得ステップと、
前記シーケンス番号取得ステップにおいて取得されたシーケンス番号に基づいて前記パケットデータの連続性を判断する連続性判断ステップと、
前記連続性判断ステップにおける判断の結果、連続性があると判断された場合、当該判断対象のパケットデータを装置内部の移動機向けデータ送信用バッファに格納する送信用データ格納ステップと、
前記連続性判断ステップにおける判断の結果、連続性がないと判断された場合、前記移動機向けデータ送信用バッファに残っている前記パケットデータのデータ量を確認するバッファ内残データ確認ステップと、
前記バッファ内残データ確認ステップにおいて確認された前記データ量に応じて、前記連続性判断ステップにおける判断対象のパケットデータを前記移動機向けデータ送信用バッファに格納するまでの時間を制御する送信データ制御ステップと、
前記移動機向けデータ送信用バッファに格納されたパケットデータを移動機に送信する送信ステップと、
を含むデータ中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングサーバから送信されるパケットデータを受信して、当該受信したデータを移動機に配信するデータ中継装置、及び当該データ中継装置におけるデータ中継方法に関する。
【背景技術】
【０００２】
近年、インターネット通信の高速化に伴い映像ストリーミングデータをリアルタイムでパケット配信するサービスが提供されている。このサービスの応用として、インターネット上のストリーミングサーバからのストリーミングデータを、移動体通信網上のデータ中継装置となる映像変換装置においてリアルタイムに回線交換データに変換し、テレビ電話機能を搭載した移動機に対して配信するシステムが提供されている。これにより、インターネット上のストリーミングデータを移動機で視聴可能となる。
【０００３】
上記のようにストリーミングサーバと映像変換装置とは、インターネットにより接続されるが、インターネットのような複数の通信経路を持つ通信環境ではストリーミングサーバと映像変換装置との間のパケットデータの順序入替え（ジッタリング）やパケットデータの破棄等が発生する可能性がある。従って、ストリーミングデータが正しく移動機で再生されるように、映像変換装置では、ジッタリングやパケットデータの破棄といった事象への考慮が必要となる。
【０００４】
既存システムではこのような事象への対策とし、映像変換装置において、ストリーミングサーバからのパケットデータの順序性を監視する機能を備えている。パケットデータの順序性を管理する具体的機能として、専用のバッファ及びタイマを持ち、受信したパケットデータのシーケンス番号に抜けがある場合、タイマで定められた一定の時間、抜けていたパケットデータが到達するまで、移動機に対するそれ以降のパケットデータの送信を待つという機能がある（例えば、下記の非特許文献１参照）。この方式ではストリーミングサーバから受信した一定時間分の映像及び音声に対応するパケットデータを映像変換装置で移動機向け送信データとしてメモリ（送信バッファ）上にバッファリングしている。
【非特許文献１】ＦＯＭＡ  Ｖライブサービス向け映像配信ゲートウェイの開発，「ＮＴＴ  ＤｏＣｏＭｏテクニカル・ジャーナル」Ｖｏｌ．１１  Ｎｏ．３  Ｐ．４２〜４７，２００３年１０月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の方式ではパケットデータの抜けがあった場合、抜けていたパケットデータを必ず一定時間待つ。そのため、移動機向けの送信バッファ上にバッファリングしていたパケットデータが残り少ない場合、移動機に配信するパケットデータが無くなり、移動機での映像や音声が停止するという問題があった。
【０００６】
ここで、移動機向けに送信するタイミングを遅らせ、移動機向けの送信バッファにバッファリングするパケットデータの量を増やせば、パケットデータのジッタリングが発生してそれ以降のパケットデータの送信を一定時間、待ったとしても、移動機向けの送信バッファに残っているパケットデータを送信する事が可能となる。そのため、移動機側の映像や音声への影響は少なくなる。しかし、映像及び音声に対応するパケットデータのバッファリング量を増やすことによりストリーミングサーバからのパケットデータの受信と移動機でのパケットデータの再生との間に大きな遅れが発生するためリアルタイム性が失われることとなる。
【０００７】
本発明は、以上の問題点を解決するためになされたものであり、パケットデータのジッタリングやパケットデータの破棄等の事象に対し、リアルタイム性が損なわれることを防止すると同時に品質の良いストリーミングデータを移動機に対して提供することができるデータ中継装置及びデータ中継方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るデータ中継装置は、ストリーミングサーバから送信される、ストリーミングデータに係る複数のパケットデータを受信する受信手段と、受信手段により受信されたパケットデータを装置内部のメモリに保存する保存手段と、保存手段により保存されたパケットデータに付与されているシーケンス番号を取得するシーケンス番号取得手段と、シーケンス番号取得手段により取得されたシーケンス番号に基づいてパケットデータの連続性を判断する連続性判断手段と、連続性判断手段による判断の結果、連続性があると判断された場合、当該判断対象のパケットデータを装置内部の移動機向けデータ送信用バッファに格納する送信用データ格納手段と、連続性判断手段による判断の結果、連続性がないと判断された場合、移動機向けデータ送信用バッファに残っているパケットデータのデータ量を確認するバッファ内残データ確認手段と、バッファ内残データ確認手段により確認されたデータ量に応じて、連続性判断手段による判断対象のパケットデータを移動機向けデータ送信用バッファに格納するまでの時間を制御する送信データ制御手段と、移動機向けデータ送信用バッファに格納されたパケットデータを移動機に送信する送信手段と、を備えることを特徴とする。
【０００９】
本発明に係るデータ中継装置では、ストリーミングサーバから送信されるパケットデータに連続性がないと判断される場合、パケットデータを移動機向けデータ送信用バッファに格納するまでの時間を移動機向けデータ送信用バッファに残っているパケットデータのデータ量に基づいて制御する。従って、ジッタリングや破棄によるパケットデータの抜けがあった場合に、移動機に送信すべきパケットデータが多く残っていれば抜けていたパケットを待つことができ、移動機に送信すべきパケットデータがあまり残っていなければそれ以降のパケットデータを送信することができる。これにより、大きな遅れを発生することを防止した上で移動機に対してなるべく抜けのないストリーミングデータを提供することができる。
【００１０】
即ち、本発明に係るデータ中継装置によれば、パケットデータのジッタリングやパケットデータの破棄などの事象に対し、リアルタイム性が損なわれることを防止すると同時に品質の良いストリーミングデータを移動機に対して提供することができる。
【００１１】
ところで、本発明は、上記のようにデータ中継装置の発明として記述できる他に、以下のように当該データ中継装置におけるデータ中継方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１２】
即ち、本発明に係るデータ中継方法は、ストリーミングサーバと移動機との間でデータを中継するデータ中継装置におけるデータ中継方法であって、ストリーミングサーバから送信される、ストリーミングデータに係る複数のパケットデータを受信する受信ステップと、受信ステップにおいて受信されたパケットデータを装置内部のメモリに保存する保存ステップと、保存ステップにおいて保存されたパケットデータに付与されているシーケンス番号を取得するシーケンス番号取得ステップと、シーケンス番号取得ステップにおいて取得されたシーケンス番号に基づいてパケットデータの連続性を判断する連続性判断ステップと、連続性判断ステップにおける判断の結果、連続性があると判断された場合、当該判断対象のパケットデータを装置内部の移動機向けデータ送信用バッファに格納する送信用データ格納ステップと、連続性判断ステップにおける判断の結果、連続性がないと判断された場合、移動機向けデータ送信用バッファに残っているパケットデータのデータ量を確認するバッファ内残データ確認ステップと、バッファ内残データ確認ステップにおいて確認されたデータ量に応じて、連続性判断ステップにおける判断対象のパケットデータを移動機向けデータ送信用バッファに格納するまでの時間を制御する送信データ制御ステップと、移動機向けデータ送信用バッファに格納されたパケットデータを移動機に送信する送信ステップと、を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、パケットデータの抜けがあった場合に、大きな遅れを発生することを防止することができるので、パケットデータのジッタリングやパケットデータの破棄などの事象に対し、リアルタイム性が損なわれることを防止すると同時に品質の良いストリーミングデータを移動機に対して提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面とともに本発明に係るデータ中継装置及びデータ中継方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１５】
図１に本実施形態に係るデータ中継装置である映像変換装置１０と、当該映像変換装置１０を含んで構成される映像配信システム１とを示す。図１に示すように、映像配信システム１は、映像変換装置１０に加えて、ストリーミングサーバ３０と、移動機４０とを含んで構成されている。映像配信システム１は、ストリーミングサーバ３０から移動機４０に対して、コンテンツがストリーミングデータとして提供されるシステムである。
【００１６】
映像変換装置１０は、移動体通信網２０に含まれており、ストリーミングサーバ３０から送信されるストリーミングデータに係るパケットデータを受信して、当該受信したデータを移動体通信により移動機４０に配信する装置である。即ち、映像変換装置１０は、ストリーミングサーバ３０と移動機４０との間でデータの中継を行う。映像変換装置１０から移動機４０へのデータの送信は、パケットデータを回線交換データに変換して、映像変換装置１０と移動機４０との間に移動体通信により確立された回線交換呼を介して行なわれる。このように、回線交換データとして、データの送信が行われることによって、移動体通信においてもストリーミングデータのような比較的大きいデータでもより確実に送信することができる。
【００１７】
ストリーミングサーバ３０は、複数のコンテンツファイル３１ａ〜３１ｃを格納しており、当該コンテンツファイル３１ａ〜３１ｃをストリーミングデータとして、映像変換装置１０を介して移動機４０に対して配信する装置である。ストリーミングサーバ３０は、インターネットＮを介して、コンテンツファイル３１ａ〜３１ｃに係るストリーミングデータを分割して細分化したパケットデータとして映像変換装置１０に送信する。このコンテンツファイル３１ａ〜３１ｃは、移動機４０において映像として再生される。また、ストリーミングサーバ３０から配信されるものはコンテンツファイル３１ａ〜３１ｃに限られず、ニュースやコンサート等のカメラ映像等、リアルタイム性が要求されるデータであってもよい。この場合、ストリーミングサーバ３０が、例えばカメラ等の映像撮影機器からのデータの入力を受け付け、ストリーミングデータに係るパケットデータとして送信する。
【００１８】
移動機４０は、ユーザにより用いられる通信機器であり、移動体通信網２０に接続することができる。移動機４０は、映像変換装置１０がストリーミングサーバ３０から受信し変換した回線交換データを受けることができ、配信された回線交換データを映像として再生できように表示装置を備えている。移動機４０は、具体的には例えば、移動機４０は、テレビ電話機能を有する携帯電話機に相当する。
【００１９】
なお、図１においては、ストリーミングサーバ３０及び移動機４０は、それぞれ１つずつしか描かれていないが、映像配信システム１にはそれぞれが通常、複数含まれている。
【００２０】
引き続いて、各装置の構成についてより詳細に説明する。図１に示すように、映像変換装置１０は、端末間通信制御部１１と、サーバ間通信制御部１２と、ジッタバッファ１３と、受信データ順序制御部１４と、移動機向けデータ送信用バッファ１５と、映像データ制御部１６とを備えて構成される。
【００２１】
端末間通信制御部１１は、移動機４０との間で移動体通信を行うための手段である。具体的には、端末間通信制御部１１は、移動機４０からコンテンツの要求を受け付けて、当該要求に応じてストリーミングサーバ３０から取得したコンテンツファイル３１ａ〜３１ｃに係るパケットデータを移動機４０に送信する。即ち、端末間通信制御部１１は、移動機向けデータ送信用バッファ１５に格納されたパケットデータを移動機４０に送信する送信手段である。この送信は、移動機４０との間で回線交換呼を確立して、パケットデータを回線交換データに変換した上で行われる。端末間通信制御部１１は、移動機４０からのコンテンツの要求を受信すると、サーバ間通信制御部１２にその旨を通知する。
【００２２】
サーバ間通信制御部１２は、ストリーミングサーバ３０との間でインターネットＮを介して通信を行うための手段である。具体的には、サーバ間通信制御部１２は、ストリーミングサーバ３０から送信される、ストリーミングデータに係る複数のパケットデータを受信する受信手段である。サーバ間通信制御部１２は、端末間通信制御部１１により通知された移動機４０からのコンテンツの要求に応じて、ストリーミングサーバ３０に対してコンテンツの要求を行う。サーバ間通信制御部１２は、その要求に応じて送信されるストリーミングデータに係る複数のパケットデータを受信する。また、サーバ間通信制御部１２は、受信された複数のパケットデータをジッタバッファ１３に保存する保存手段でもある。
【００２３】
なお、ストリーミングデータに係る複数のパケットデータには順序がある。この順序は、パケットデータが受信されて再生される順序である。この順序は、パケットデータに含まれるシーケンス番号を参照することにより判断することができる。シーケンス番号とは、ストリーミングサーバ３０によりストリーミングデータがパケットデータに分割されて映像変換装置１０に送信される際に、各パケットデータの順序に応じて各パケットデータに付与される連続した番号である。シーケンス番号を参照することによって、パケットデータの順序、即ちパケットデータの連続性を判断することができる。
【００２４】
ストリーミングサーバ３０からのパケットデータは、インターネットＮを介して受信されるが、上述したようにインターネットＮは複数の通信経路を有しているので、受信時にパケットデータのジッタリングや、信頼性の低い経路を通った場合パケットデータの破棄が発生する場合がある。
【００２５】
ジッタバッファ１３は、映像変換装置１０内部のメモリであり、サーバ間通信制御部１２により受信されたパケットデータを保存する。なお、ジッタバッファ１３には、ストリーミングデータに係るパケットデータを受信し始めると、少なくとも必ず１つのパケットデータを保存しておく。これは、後述するように受信データ順序制御部１４によるパケットデータの連続性の判断のためである。
【００２６】
受信データ順序制御部１４は、サーバ間通信制御部１２により受信されてジッタバッファ１３に保存された複数のパケットデータの連続性を判断する連続性判断手段である。パケットデータの連続性とは、上記のように、パケットデータが再生されるべき順序になっていること（再生されるべき順序のパケットが抜け無く存在しているか）を指す。
【００２７】
受信データ順序制御部１４は、以下のように連続性を判断する。受信データ順序制御部１４は、ジッタバッファ１３に保存されたパケットデータを読み出して、当該パケットデータに付与されているシーケンス番号を取得する。即ち、受信データ順序制御部１４は、上記のようにシーケンス番号取得手段でもある。
【００２８】
受信データ順序制御部１４は、取得した各パケットデータのシーケンス番号に基づいて、パケットデータの連続性を判断する。この判断は、新たなパケットデータが受信されてジッタバッファ１３に保存されたときと、パケットデータがジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納されたときとに行われる。また、この判断は、ジッタバッファ１３に格納されたパケットデータのうちシーケンス番号が最も若いものに対して行われる。パケットデータの連続性の判断は、ジッタバッファ１３に保存されているパケットデータのシーケンス番号に基づいておこなわれる。また、この判断の際、それ以前のパケットデータの連続性の判断結果を保持させておき、それを参照することとしてもよい。
【００２９】
パケットデータの連続性の判断は、ジッタバッファ１３に格納されているパケットデータのシーケンス番号のうち、最も若いシーケンス番号に対して連続したシーケンス番号があるかどうかを確認することにより行われる。連続したシーケンス番号がなかった場合、判断対象のパケットデータ（最も若いシーケンス番号を有するパケットデータ）は連続性がないものと判断される。連続したシーケンス番号があった場合、判断対象のパケットデータ（最も若いシーケンス番号を有するパケットデータ）は連続性があるものと判断される。
【００３０】
例えば、ジッタバッファ１３にシーケンス番号が“５”のパケットデータが保存されていて、新たにシーケンス番号が“６”のパケットデータがジッタバッファ１３に保存された場合、最も若いシーケンス番号“５”に連続するシーケンス番号“６”があるので、シーケンス番号“５”のパケットデータは連続性があるものと判断される。
【００３１】
また、ジッタバッファ１３にシーケンス番号が“５”のパケットデータが保存されていて、新たにシーケンス番号が“７”のパケットデータがジッタバッファ１３に保存された場合、最も若いシーケンス番号“５”に連続するシーケンス番号“６”がないので（シーケンス番号“６”のパケットデータが抜けているので）、シーケンス番号“５”のパケットデータは連続性がないものと判断される。ここで、シーケンス番号“５”のパケットデータの連続性があると判断するための、シーケンス番号“６”を受信データ順序制御部１４に記憶させておき、その情報を次の連続性の判断に用いてもよい。例えば、次にジッタバッファ１３に保存されるシーケンス番号が“６”か否かを確認することにより、シーケンス番号が“５”のパケットデータの連続性があると判断することができる。
【００３２】
受信データ順序制御部１４は、判断した連続性を示す情報を映像データ制御部１６に通知する。この通知は、例えば、パケットデータを特定する情報（例えば、シーケンス番号）と、連続性のあるなしを示す情報とを対応させた情報を送信することにより行われる。
【００３３】
移動機向けデータ送信用バッファ１５は、映像変換装置１０内部のメモリであり、移動機４０に対して送信するパケットデータを格納する。移動機向けデータ送信用バッファ１５に格納されたパケットデータは、端末間通信制御部１１により取得され順次、送信される。送信されたパケットデータは、移動機向けデータ送信用バッファ１５から消去される。
【００３４】
映像データ制御部１６は、受信データ順序制御部１４から通知された連続性を示す情報に基づいて、パケットデータの制御を行う手段である。具体的には、映像データ制御部１６は、受信データ順序制御部１４による判断の結果、パケットデータの連続性があると判断された場合、当該判断対象のパケットデータをジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納する送信用データ格納手段である。移動機向けデータ送信用バッファ１５に格納されたパケットデータは、ジッタバッファ１３から消去される。
【００３５】
また、映像データ制御部１６は、受信データ順序制御部１４による判断の結果、パケットデータの連続性がないと判断された場合、移動機向けデータ送信用バッファ１５に残っている、移動機４０に送信されるべきストリーミングデータに係るパケットデータのデータ量を確認するバッファ内残データ確認手段でもある。そして、映像データ制御部１６は、確認されたデータ量に応じて、判断対象のパケットデータを移動機向けデータ送信用バッファ１５に格納するまでの時間を制御する送信データ制御手段でもある。映像データ制御部１６は、上記のデータ量が少ないと判断した場合には、判断対象のパケットデータを移動機向けデータ送信用バッファ１５に格納するまでの時間をゼロに設定する。即ち、判断対象のパケットデータを移動機向けデータ送信用バッファ１５に直ちに格納する。映像データ制御部１６は、上記のデータ量が多いと判断した場合には、判断対象のパケットデータを移動機向けデータ送信用バッファ１５に格納するまでの時間を、所定の時間（ある程度の長さの時間）に設定する。なお、データ量の多い少ないの判断は、映像データ制御部１６が予め記憶しているデータ量の閾値ＴＨ１に基づいて行われる。閾値ＴＨ１よりもデータ量が大きければ、上記のデータ量は多いとされる。閾値ＴＨ１よりもデータ量が小さければ、上記のデータ量は少ないとされる。また、データ量の大小に応じて、設定される各時間（下記のタイマＴ１の満了値）についても、予め映像データ制御部１６が記憶している。
【００３６】
映像データ制御部１６は、上記のパケットデータの連続性がないと判断されたパケットデータ毎にタイマＴ１により、当該判断時からの時間を計測して、上記の設定された時間が満了したら、当該パケットデータをジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納する。なお、このタイマＴ１が満了するまでの間（パケットデータの移動機向けデータ送信用バッファ１５への格納待ちの間）も、サーバ間通信制御部１２は、ストリーミングサーバ３０からのパケットデータを受信して、ジッタバッファ１３に格納する。
【００３７】
なお、連続性がないと判断された場合でも、抜けていたパケットデータがジッタバッファ１３に保存されて、連続性がないと判断されていたパケットデータが連続性を有することになったことが受信データ順序制御部１４から通知された場合、映像データ制御部１６は、当該連続性がないと判断されたパケットデータを、ジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納する。
【００３８】
上記の制御は、移動機４０に対して送信するデータが（多く）ある場合には、不連続なパケットデータを移動機４０に対して送信せずに、抜けていたパケットデータを待つようにしたものである。また、移動機４０に対して送信するデータが（少ししか）ない場合には抜けていたパケットデータを待たずに、不連続なパケットデータを移動機４０に対して送信するようにしたものである。
【００３９】
従って、閾値ＴＨ１やタイマＴ１の各満了値の値は、ストリーミングサーバ３０と映像変換装置１０との間の通信経路の速度や、必要なストリーミングデータのリアルタイム性及び映像品質に応じて、任意に変更可能である。例えば、リアルタイム性を確保するにはタイマＴ１の満了値をなるべく小さくするのがよい。しかし、その場合、映像品質の劣化がおきやすくなる。一方、映像品質を確保するためには閾値ＴＨ１をなるべく大きい値にするのがよい。しかし、その場合、リアルタイム性が損なわれるおそれがある。以上が、映像変換装置１０の機能構成である。
【００４０】
続いて、図２に映像変換装置１０のハードウェア構成を示す。図２に示すように、映像変換装置１０は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（Random Access Memory）１０２及びＲＯＭ(Read Only Memory)１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータとして構成される。これらの構成要素が動作することにより、上述した機能が発揮される。
【００４１】
図１に示すように、ストリーミングサーバ３０は、通信制御部３２と、データ管理部３３とを備えて構成される。
【００４２】
通信制御部３２は、映像変換装置１０との間でインターネットＮを介した通信を行うための手段である。具体的には、通信制御部３２は、映像変換装置１０からコンテンツの要求を受信して、当該要求に応じたコンテンツファイル３１ａ〜３１ｃをデータ管理部３３から取得して、映像変換装置１０に送信する。この送受信は、インターネットＮを介して行われる。また、映像変換装置１０へのコンテンツファイル３１ａ〜３１ｃの送信は、ストリーミングデータとしてパケットデータに分割して行われる。データ管理部３３は、複数のコンテンツファイル３１ａ〜３１ｃを格納する手段である。
【００４３】
ストリーミングサーバ３０は、図２に示したような映像変換装置１０と同様に、ＣＰＵ、メモリ、ハードディスク等を備えるコンピュータとして構成される。これらの構成要素が動作することにより、上述した機能が発揮される。
【００４４】
図１に示すように、移動機４０は、通信制御部４１と、入力制御部４２と、情報処理部４３と、画面制御部４４とを備えて構成される。
【００４５】
通信制御部４１は、映像変換装置１０との間で移動体通信を行うための手段である。具体的には、通信制御部４１は、ユーザからの入力に応じて、映像変換装置１０に対してコンテンツの要求を送信して、当該要求に応じて映像変換装置１０から送信される、コンテンツファイル３１ａ〜３１ｃに係る、回線交換データに変換されたパケットデータを受信する。受信されたパケットデータは、情報処理部４３に出力される。
【００４６】
入力制御部４２は、ユーザからの入力を受け付ける手段である。ユーザからの入力は、移動機４０が備えるボタン等の操作部から行われる。通信制御部４１により送信されるコンテンツの要求は、ユーザによって入力制御部４２から入力される。情報処理部４３は、通信制御部４１により受信されたコンテンツファイル３１ａ〜３１ｃに係るパケットデータの内容確認を行って、画面制御部４４に出力する手段である。画面制御部４４は、情報処理部４３から入力されたパケットデータを移動機４０が備えるディスプレイやスピーカ（図示せず）に出力することにより、ユーザがコンテンツを視聴することができる。
【００４７】
移動機４０は、ＣＰＵ、メモリ、アンテナ等のハードウェアにより構成され、これらの構成要素が動作することにより、上述した機能が発揮される。
【００４８】
引き続いて、本実施形態に係るデータ中継装置である映像変換装置１０で実行される処理（データ中継方法）を説明する。この処理は、移動機４０が映像変換装置１０を経由してストリーミングサーバ３０からストリーミングデータに係るパケットデータを受信する際の処理である。
【００４９】
まず、移動機４０では、ユーザから入力制御部４２に対して、コンテンツの要求及び当該要求に係るコンテンツを特定する番号の入力が行われると共に、映像変換装置１０との回線交換呼を確立するための発呼を行うための入力が行われる。それらの入力により移動機４０の通信制御部４１から、映像変換装置１０に対して発呼（接続要求）が行われ、併せて、コンテンツの要求及び当該要求に係るコンテンツを特定する番号が送信される。なお、映像変換装置１０に送信される情報には、例えば、映像変換装置１０がストリーミングサーバ３０を特定する情報（例えば、ＵＲＬ（Uniform Resource Location）等）が含まれていてもよい。
【００５０】
映像変換装置１０では、端末間通信制御部１１によって当該発呼に係る信号が受信されて、移動機４０の通信制御部４１との間で回線交換呼を確立するための処理が行われる。また、端末間通信制御部１１によって、移動機４０から送信されたコンテンツの要求及び当該要求に係るコンテンツを特定する番号が受信される。コンテンツ要求があった旨及びコンテンツを特定する番号は、端末間通信制御部１１からサーバ間通信制御部１２に通知される。
【００５１】
続いて、サーバ間通信制御部１２によって、ストリーミングサーバ３０（の通信制御部３２）との間にインターネットＮを介した接続が確立される。接続が確立されると、サーバ間通信制御部１２からストリーミングサーバ３０に対して、端末間通信制御部１１から通知されたコンテンツを特定する番号を含めたコンテンツの要求が行われる。当該要求がなされたストリーミングサーバ３０では、通信制御部３２によって、当該コンテンツの要求が受信されて、当該要求に含まれる、コンテンツを特定する番号に対応するコンテンツファイル３１ａ〜３１ｃがデータ管理部３３から取得される。続いて、通信制御部３２によって、コンテンツファイル３１ａ〜３１ｃが、ストリーミングデータとしてパケットに分割されて映像変換装置１０にインターネットＮを介して送信（配信）される。
【００５２】
以降のストリーミングサーバ３０から送信されるパケットデータを受信して移動機４０に送信する映像変換装置１０での処理を、図３のフローチャートを用いて説明する。また、以下の説明では、映像変換装置１０におけるメモリの状態を模式的に示した図４を用いる。図４において、ブロックは各パケットデータを示している。また、ブロックに記載された数字は、パケットデータのシーケンス番号を示している。図４（ａ）に示すように、映像変換装置１０のジッタバッファ１３及び移動機向けデータ送信用バッファ１５には、パケットデータは格納されていない。
【００５３】
映像変換装置１０では、サーバ間通信制御部１２によって、ストリーミングサーバ３０からのパケットデータが受信される（Ｓ０１、受信ステップ）。なお、以下の処理は、複数のパケットデータに対して、映像変換装置１０においてパケットデータが受信される毎に行われる。サーバ間通信制御部１２によって受信されたパケットデータは、ジッタバッファ１３に保存される（Ｓ０２、保存ステップ）。続いて、受信データ順序制御部１４によって、ジッタバッファ１３に保存されたパケットデータからシーケンス番号が取得される（Ｓ０３、シーケンス番号取得ステップ）。続いて、受信データ順序制御部１４によって、取得されたシーケンス番号に基づいて、保存されたパケットデータに関して連続性が判断される（Ｓ０４、連続性判断ステップ）。
【００５４】
例えば、図４（ｂ）に示すように、ジッタバッファ１３にシーケンス番号“１”及び“２”のパケットデータが保存されていた場合、最も若いシーケンス番号“１”に連続するシーケンス番号“２”があるので、パケットデータの連続性があると判断される。続いて、その旨及び判断対象のパケットデータを特定する情報が受信データ順序制御部１４から映像データ制御部１６に通知される。パケットデータの連続性があると判断された場合、図４（ｃ）に示すように、映像データ制御部１６によって、連続性があると判断されたシーケンス番号“１”のパケットデータは、ジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納される（Ｓ０５、送信用データ格納ステップ）。なお、上述したようにジッタバッファ１３は少なくとも１つのパケットデータが保存していなければならない（当該パケットデータがストリーミングデータに係る最後のデータと判断される場合以外）。
【００５５】
続いて、図４（ｄ）に示すシーケンス番号“１”のパケットデータのように、端末間通信制御部１１によって、移動機向けデータ送信用バッファ１５に格納されたパケットデータが、シーケンス番号の順に回線交換データに変換されて、順次移動機４０に送信（配信）される（Ｓ０６、送信ステップ）。移動機４０に送信されたパケットデータは、移動機４０の通信制御部４１により受信されて、情報処理部４３を介して画面制御部４４により出力されて、ユーザに参照される。なお、ジッタバッファ１３に保存されたパケットデータが、ストリーミングデータに係る最後のパケットデータであると判断された場合には、当該パケットデータに対しては連続性の判断は行われず、移動機向けデータ送信用バッファ１５に格納され、移動機４０に送信される。
【００５６】
上記の処理が順次繰返されて、ジッタバッファ１３及び移動機向けデータ送信用バッファ１５が、図４（ｄ）に示す状態になったとする。即ち、ジッタバッファ１３にシーケンス番号が“４”のパケットデータが保存され、移動機向けデータ送信用バッファ１５にシーケンス番号が“３”のパケットデータが格納されている状態である。
【００５７】
ここで、図４（ｅ）に示すように、シーケンス番号が“６”のパケットデータが受信され（Ｓ０１、受信ステップ）、ジッタバッファ１３に保存される（Ｓ０２、保存ステップ）。このように、シーケンス番号“４”に連続するシーケンス番号が“５”のパケットデータでなく、シーケンス番号が“６”のパケットデータが受信されるのは、上述したようにジッタリングやパケットデータの破棄が発生したためである。
【００５８】
続いて、受信データ順序制御部１４によって、ジッタバッファ１３に保存されたパケットデータからシーケンス番号が取得される（Ｓ０３、シーケンス番号取得ステップ）。続いて、受信データ順序制御部１４によって、取得されたシーケンス番号に基づいて、保存されたパケットデータに関して連続性が判断される（Ｓ０４、連続性判断ステップ）。ここでは、図４（ｅ）に示すように、ジッタバッファ１３にシーケンス番号“４”及び“６”のパケットデータが保存されていた場合、最も若いシーケンス番号“４”に連続するシーケンス番号“５”がないので、パケットデータの連続性がないと判断される。続いて、その旨及び判断対象のパケットデータを特定する情報が受信データ順序制御部１４から映像データ制御部１６に通知される。
【００５９】
パケットデータの連続性がないと判断された場合、映像データ制御部１６によって、移動機向けデータ送信用バッファ１５に残っているパケットデータのデータ量が確認される（Ｓ０７、バッファ内残データ確認ステップ）。図４（ｅ）に示す場合では、パケット１つ分のデータ量が確認される。続いて、映像データ制御部１６によって、確認されたデータ量が閾値よりも小さいか否かが判断される（Ｓ０８、送信データ制御ステップ）。閾値がパケット１つ分以上２つ分以下の値であれば、この場合、データ量が閾値よりも小さいと判断される。
【００６０】
そのように判断されると、図４（ｆ）に示すように、映像データ制御部１６によって、連続性がないと判断されたシーケンス番号“４”のパケットデータを直ちに移動機向けデータ送信用バッファ１５に格納する（Ｓ０９、送信データ制御ステップ）。これは、パケットデータの抜けや破棄があった場合でも、移動機４０に対して送信するパケットデータを切らさないようにするためである。移動機向けデータ送信用バッファ１５に格納されたパケットデータは、順次移動機４０に送信（配信）される（Ｓ０６、送信ステップ）。
【００６１】
その一方、ジッタバッファ１３及び移動機向けデータ送信用バッファ１５が、図４（ｄ）に示す状態でなく、図４（ｇ）に示す状態になったとする。即ち、ジッタバッファ１３にシーケンス番号が“４”のパケットデータが保存され、移動機向けデータ送信用バッファ１５にシーケンス番号が“２”“３”のパケットデータが格納されている状態である。ここで、シーケンス番号が“６”のパケットデータが受信され（Ｓ０１、受信ステップ）、ジッタバッファ１３に保存される（Ｓ０２、保存ステップ）。
【００６２】
続いて、受信データ順序制御部１４によって、ジッタバッファ１３に保存されたパケットデータからシーケンス番号が取得される（Ｓ０３、シーケンス番号取得ステップ）。続いて、受信データ順序制御部１４によって、取得されたシーケンス番号に基づいて、保存されたパケットデータに関して連続性が判断される（Ｓ０４、連続性判断ステップ）。ここでは、図４（ｈ）に示すように、ジッタバッファ１３にシーケンス番号“４”及び“６”のパケットデータが保存されていた場合、最も若いシーケンス番号“４”に連続するシーケンス番号“５”がないので、パケットデータの連続性がないと判断される。続いて、その旨及び判断対象のパケットデータを特定する情報が受信データ順序制御部１４から映像データ制御部１６に通知される。
【００６３】
パケットデータの連続性がないと判断された場合、映像データ制御部１６によって、移動機向けデータ送信用バッファ１５に残っているパケットデータのデータ量が確認される（Ｓ０７、バッファ内残データ確認ステップ）。図４（ｈ）に示す場合では、パケット２つ分のデータ量が確認される。続いて、映像データ制御部１６によって、確認されたデータ量が閾値よりも小さいか否かが判断される（Ｓ０８、送信データ制御ステップ）。閾値がパケット１つ分以上２つ分以下の値であれば、この場合、データ量が閾値よりも大きいと判断される。
【００６４】
そのように判断されると、映像データ制御部１６によって、タイマＴ１により当該判断時からの時間が計測されて、上記の設定された時間が満了したら、当該シーケンス番号“４”のパケットデータをジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納する。即ち、タイマＴ１が満了するまでパケットデータの受信待ち状態となる（Ｓ１０、送信データ制御ステップ）。なお、このとき、新たなパケットデータが受信されると（Ｓ０１、受信ステップ）、上記と同様にジッタバッファ１３に保存される（Ｓ０２、保存ステップ）。例えば、シーケンス番号が“７”のパケットデータが受信されると、図４（ｉ）に示すような状態となる。
【００６５】
この際も、シーケンス番号の取得（Ｓ０３、シーケンス番号取得ステップ）及びシーケンス番号の連続性が判断される（Ｓ０４、連続性判断ステップ）。しかし、この場合もパケットデータの連続性はなしと判断される。なお、この場合は、一旦タイマＴ１による計測が行われているので、タイマＴ１のリセットは行われない。
【００６６】
タイマＴ１が満了する（Ｓ１１、送信データ制御ステップ）と、図４（ｊ）に示すように、映像データ制御部１６によって、連続性がないと判断されたシーケンス番号“４”のパケットデータが移動機向けデータ送信用バッファ１５に格納される（Ｓ１２、送信データ制御ステップ）。なお、ジッタバッファ１３に複数のパケットデータが残った場合は、このときに、更にパケットデータの連続性の判断（Ｓ０４、連続性判断ステップ）が行われる。図４（ｊ）に示すように、ジッタバッファ１３にシーケンス番号“６”及び“７”のパケットデータが保存されていた場合、最も若いシーケンス番号“６”に連続するシーケンス番号“７”があるので、パケットデータの連続性があると判断される。この場合、映像データ制御部１６によって、連続性があると判断されたシーケンス番号“６”のパケットデータは、ジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納される（Ｓ０５、送信用データ格納ステップ）。
【００６７】
ところで、上記のようにタイマＴ１による計測が行われている間に受信されたパケットデータのシーケンス番号が“７”でなく、“５”であった場合は、ジッタバッファ１３の状態は、図４（ｋ）に示すようになる。この場合、シーケンス番号の連続性の判断（Ｓ０４、連続性判断ステップ）において、最も若いシーケンス番号“４”に連続するシーケンス番号“５”があるので、パケットデータの連続性があると判断される。この場合、図４（ｌ）に示すように、映像データ制御部１６によって、連続性があると判断されたシーケンス番号“４”のパケットデータは、ジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納される（Ｓ０５、送信用データ格納ステップ）。また、上記と同様に、シーケンス番号が“５”と“６”とのパケットデータに対しても連続性の判断が行われ（Ｓ０４、連続性判断ステップ）、シーケンス番号が“５”のパケットデータが、ジッタバッファ１３から移動機向けデータ送信用バッファ１５に格納される（Ｓ０５、送信用データ格納ステップ）。
【００６８】
上記のようにパケットデータに連続性がないとされた場合に、移動機向けデータ送信用バッファ１５に格納されたパケットデータのデータ量に応じて、移動機向けデータ送信用バッファ１５に格納する時間を変動させているのは、移動機４０に送信するストリーミングデータのリアルタイム性を損なわずに、品質を上げるためである。ここでいう高い品質とは、パケットデータの抜けが少なく、移動機４０においてストリーミングデータが再生されたときに滑らかな映像になることをいう。即ち、移動機向けデータ送信用バッファ１５に多くのデータがある場合（移動機４０に送信するパケットデータが十分にある場合）は、抜けているパケットデータを待って品質を上げることができる。その一方、即ち、移動機向けデータ送信用バッファ１５にあまりデータがない場合（移動機４０に送信するパケットデータが十分にない場合）は、抜けているパケットデータを待たずにリアルタイム性を担保することができる。
【００６９】
従って、本実施形態に係るデータ中継装置である映像変換装置１０では、ジッタリングや破棄によるパケットデータの抜けがあった場合に、移動機４０に送信すべきパケットデータが移動機向けデータ送信用バッファ１５に多く残っていれば抜けていたパケットを待つことができ、移動機４０に送信すべきパケットデータがあまり残っていなければそれ以降のパケットデータを送信することができる。これにより、大きな遅れを発生することを防止した上で移動機４０に対してなるべく抜けのないストリーミングデータを提供することができる。即ち、本実施形態に係るデータ中継装置である映像変換装置１０によれば、パケットデータのジッタリングやパケットデータの破棄などの事象に対し、リアルタイム性が損なわれることを防止すると同時に品質の良いストリーミングデータを移動機に対して提供することができる。
【００７０】
上記の本実施形態では、データ中継装置が中継するデータを、映像に係るコンテンツのストリーミングデータに係るパケットデータとしたが、必ずしも映像に係るものでなくてもよい。当該データは、ストリーミングサーバ３０から送信されるストリーミングデータに係る複数のパケットデータであればよい。例えば、映像でなく音声に係るものでもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態に係るデータ中継装置である映像変換装置の構成を示す図である。
【図２】本発明の実施形態に係るデータ中継装置である映像変換装置のハードウェア構成を示す図である。
【図３】本発明の実施形態に係るデータ中継装置である映像変換装置で実行される処理（データ中継方法）を示すフローチャートである。
【図４】映像変換装置におけるメモリの状態を模式的に示した図である。
【符号の説明】
【００７２】
１…映像配信システム、１０…映像変換装置、１１…端末間通信制御部、１２…サーバ間通信制御部、１３…ジッタバッファ、１４…受信データ順序制御部、１５…移動機向けデータ送信用バッファ、１６…映像データ制御部、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置、２０…移動体通信網、３０…ストリーミングサーバ、３１…コンテンツファイル、３２…通信制御部、３３…データ管理部、４０…移動機、４１…通信制御部、４２…入力制御部、４３…情報処理部、４４…画面制御部、Ｎ…インターネット。
【図１】
2008011423.tif 000003
【図２】
2008011423.tif 000004
【図３】
2008011423.tif 000005
【図４】
2008011423.tif 000006