(57)【要約】【課題】  映像データのストリーミング時に求められるリアルタイム性と安定性を両立することを目的とする。【解決手段】  情報送信装置において、受信装置に送信する映像データの再生に関する再生情報を受信し、受信された前記再生情報に基づいて前記映像データのフラグメントサイズを決定し、前記映像データのパケットを決定されたフラグメントサイズで生成し、生成されたパケットを前記受信装置に送信する。【選択図】  図１
2010093346.tif 000002
【特許請求の範囲】
【請求項１】
受信装置に送信する映像データの再生に関する再生情報を受信する再生情報受信手段と、
前記再生情報受信手段によって受信された前記再生情報に基づいて前記映像データのフラグメントサイズを決定する決定手段と、
前記映像データのパケットを、前記決定手段によって決定されたフラグメントサイズで生成する生成手段と、
前記生成手段によって生成されたパケットを前記受信装置に送信する送信手段を備えることを特徴とする情報送信装置。
【請求項２】
前記再生情報受信手段は、前記受信装置に送信する映像データが該映像データの受信と並行して再生されるのか否かを示す情報を受信することを特徴とする請求項１に記載の情報送信装置。
【請求項３】
前記決定手段は、前記受信装置に送信する映像データが該映像データの受信と並行して再生される場合のフラグメントサイズを、該映像データが該映像データの受信と並行して再生されない場合よりも小さくすることを特徴とする請求項２に記載の情報送信装置。
【請求項４】
前記再生情報受信手段は、前記受信装置に送信する映像データが該映像データの受信と並行して再生されるのか否かを示す情報と、該映像データが受信と並行して再生される場合のユーザ設定情報とを受信することを特徴とする請求項１に記載の情報送信装置。
【請求項５】
前記決定手段は、前記受信手段によって受信された再生情報とフラグメントサイズとの関係が示されたテーブルを参照することで、該映像データのフラグメントサイズを決定することを特徴とする請求項１に記載の情報送信装置。
【請求項６】
前記情報送信装置はさらに、
前記受信装置の処理能力を示す処理能力情報を受信する処理能力受信手段を備え、
前記決定手段は、前記再生情報受信手段によって受信された前記再生情報と前記処理能力受信手段によって受信された前記処理能力情報とに基づいて該映像データのフラグメントサイズを決定することを特徴とする請求項１に記載の情報送信装置。
【請求項７】
前記決定手段は、前記再生情報受信手段によって受信された前記再生情報に基づいて決定されたフラグメントサイズを、前記処理能力情報の変化に基づいて変更することを特徴とする請求項６に記載の情報送信装置。
【請求項８】
映像データを受信装置に送信する情報送信装置の制御方法であって、
前記受信装置に送信する映像データの再生に関する再生情報を受信する再生情報受信工程と、
前記再生情報受信工程によって受信された前記再生情報に基づいて前記映像データのフラグメントサイズを決定する決定工程と、
前記映像データのパケットを、前記決定工程によって決定されたフラグメントサイズで生成する生成工程と、
前記生成工程によって生成されたパケットを前記受信装置に送信する送信工程を備えることを特徴とする情報送信装置の制御方法。
【請求項９】
映像データを受信装置に送信する情報送信装置の制御方法をコンピュータに実行させるコンピュータプログラムであって、
前記受信装置に送信する映像データの再生に関する再生情報を受信する再生情報受信工程と、
前記再生情報受信工程によって受信された前記再生情報に基づいて前記映像データのフラグメントサイズを決定する決定工程と、
前記映像データのパケットを、前記決定工程によって決定されたフラグメントサイズで生成する生成工程と、
前記生成工程によって生成されたパケットを前記受信装置に送信する送信工程を備えることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報送信装置、情報送信装置の制御方法及びコンピュータプログラムに関し、データパケットのフラグメントサイズ決定時に用いて好適な技術に関する。
【背景技術】
【０００２】
通常、情報送信装置においてパケット化された映像データは、送信元から受信先まで送られる際にさまざまな通信回線（リンク）を経由する。この通信回線ごとに転送可能な最大データ長（ＭＴＵ：Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ、最大転送単位）が決められており、場合によってはパケットを細かく分割しなければならない。
【０００３】
こういった状況に対応するため、情報送信装置においてパケットの分割化処理（フラグメンテーション）が行われている。フラグメンテーションとはパケットを複数のパケットに分割することにより１つのパケットサイズを小さくする機能のことである。この分割後のパケットサイズは通常フラグメントサイズと呼ばれる。
【０００４】
従来、このようなフラグメントに関する技術では、フラグメントサイズは送信元から受信先までに経由する通信回線の種類によって決定され、そのサイズは固定であることが一般的である。
【０００５】
一方、フラグメントサイズをある条件に応じて設定する技術がある。例えば、音声パケットの待ち時間を測定し、待ち時間の偏差値に基づいてフラグメントサイズの調整を行うものがある。（特許文献１）
また、周期的に音声フレームの遅延時間を測定し、その遅延時間が許容範囲を超えると、その遅延時間からデータフレームの最適なフラグメント処理サイズを決定するというものがある。（特許文献２）
【特許文献１】特開２００１−５３８０５
【特許文献２】特開２０００−２２７４９
【発明の開示】
【発明が解決しようとする課題】
【０００６】
映像データのストリーミング時において、受信装置側で再生する映像に遅延を発生させないためには、送信するパケットのフラグメントサイズは小さい方が好ましい。フラグメントサイズが大きいと、パケットを送出するのに要する時間が長くなり、加えてデコード時間も長くなるため、遅延時間が増加するからである。
【０００７】
一方で、送信するパケットのフラグメントサイズが小さいほど、パケットロス率が高くなる可能性があり、これにより、受信装置側で再生する映像の完全性を損ねることになる。
【０００８】
また、送信される映像データの種類、送信方法、映像データを視聴するユーザの嗜好等の再生状況によって、映像データに求められる品質は異なる。つまり、受信装置で映像データが再生される際に再生される映像データが遅延しないこと（リアルタイム性）が優先されるか、映像データの完全性が優先されるのかが再生状況によって異なることになる。
【０００９】
上記課題を鑑み、本発明は、映像データの再生状況に適したフラグメントサイズを決定することで、映像データのリアルタイム性と完全性を両立することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報送信装置は、受信装置に送信する映像データの再生に関する再生情報を受信する再生情報受信手段と、前記再生情報受信手段によって受信された前記再生情報に基づいて前記映像データのフラグメントサイズを決定する決定手段と、前記映像データのパケットを、前記決定手段によって決定されたフラグメントサイズで生成する生成手段と、前記生成手段によって生成されたパケットを前記受信装置に送信する送信手段を備える。
【発明の効果】
【００１１】
本発明によれば、受信装置に送信する映像データの再生に関する再生情報に基づいてフラグメントサイズを決定することにより、映像データのリアルタイム性と完全性を確保することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
＜第１の実施形態＞
以下、本発明の実施形態について、図面を参照しながら説明する。
【００１４】
なお、送信装置や受信装置はそれぞれ単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などで接続されている。
【００１５】
図１は、本実施形態の情報送信装置の機能構成例を示すブロック図である。
【００１６】
本実施形態においては、映像データの再生に関する再生情報に基づいてフラグメントサイズを決定する。
【００１７】
本実施形態における送信装置１０１は以下の構成を含む。情報受信部１０２は、再生情報受信部として機能し、送信する映像データの再生に関する再生情報を、受信装置１０７より通信部１０６を介して取得する。フラグメントサイズ決定部１０３は、決定部として機能し、情報受信部１０２において受信した再生情報に基づきフラグメントサイズを決定する。パケット生成部１０４は、生成部として機能し、フラグメントサイズ決定部１０３によって決定されたフラグメントサイズに基づき、送信する映像データのパケットを生成する。蓄積部１０５は、受信装置１０７に送信する映像データを保持する。通信部１０６は、送信部として機能し、パケット生成部１０４によって生成されたパケットを受信装置１０７へ送信する。
【００１８】
次に、映像送信装置１０１において、送信する映像データのフラグメントサイズを決定し、該フラグメントサイズを用いて映像データを受信装置に送信する処理フローを図２を用いて説明する。
【００１９】
ステップＳ２０１において、情報受信部１０２は、受信装置１０７から、映像データの再生に関する再生情報を受信する。本実施形態の再生情報は、送信する映像データをリアルタイムに視聴するのか否かを示す情報である。具体的には、受信装置を利用するユーザが、送信される映像データを、データ受信と並行して視聴するのか（リアルタイムストリーミング）、データ受信が完了した後に視聴するのか（ダウンローディング）を示す情報である。
【００２０】
また、送信される映像データをデータ受信と並行して視聴する場合には、情報受信部１０２は、その映像データの遅延許容度を示す情報をユーザ設定情報として受信する。つまり、送信する映像データをリアルタイムに視聴するのか否かを示す情報と、上記ユーザ設定情報を再生情報として受信する。
【００２１】
上記再生情報は、受信装置を利用するユーザがグラフィックユーザインタフェース（ＧＵＩ）を通じて指定する。図３に、受信装置において表示される再生情報の指定例を示す。ウィンドウ３０１は、データの再生方法と、遅延許容度をユーザが設定可能なウィンドウである。
【００２２】
なお、遅延許容度の他にも、リアルタイム性を示す情報をユーザに設定させてもよい。また、画質設定項目などの映像データの完全性を示す情報をユーザに設定させてもよい。その場合、これらの情報が再生情報として送信装置１０１に送信される。
【００２３】
ステップＳ２０２において、フラグメントサイズ決定部１０３は、上記再生情報を元に、フラグメントサイズテーブル４０１を参照する。図４にフラグメントサイズテーブル４０１を示す。フラグメントサイズテーブル４０１は、再生情報に含まれる遅延許容度とフラグメントサイズとの関係が示されたテーブルである。図３において、ユーザが「ストリーミング」を指定した場合、フラグメントサイズ決定部１０３は、送信する映像データのフラグメントサイズを通常のデータ送信におけるフラグメントサイズよりも小さいサイズに決定する。例えば、通常のデータ送信におけるフラグメントサイズが１０ｍｓｅｃに設定されている場合、送信する映像データは５ｍｓｅｃに決定する。
【００２４】
また、図３において、ユーザが、「許容度小」を指定した場合、フラグメントサイズ決定部１０３は、フラグメントサイズテーブル４０１より、フラグメントサイズを０．５ｍｓｅｃに決定する。
【００２５】
なお、図３において、ユーザが「ダウンローディング」を指定した場合、送信する映像データにリアルタイム性は求められていない。よって、通常のデータ送信におけるフラグメントサイズ（送信元から受信先までに経由する通信回線の種類によって決定される固定の値）で構わない。
【００２６】
ステップＳ２０３において、フラグメントサイズ決定部１０３は、決定したフラグメントサイズをパケット生成部１０４に通知する。
【００２７】
ステップＳ２０４において、パケット生成部１０４は、フラグメントサイズ決定部１０３によって決定されたフラグメントサイズに基づき、蓄積部１０５に保持されている映像データをパケット化する。
【００２８】
ステップＳ２０５において、通信部１０６は、パケット生成部１０４によって生成されたパケットを受信装置１０７に送信する。
【００２９】
以上のように、本実施形態においては、ストリーミング再生時のフラグメントサイズを、ダウンローディングの際のフラグメントサイズよりも小さくすることで、リアルタイム性を確保する。また、ストリーミング再生時において、ユーザが遅延を許容する範囲でフラグメントサイズを決定することでリアルタイム性と完全性を両立する。
【００３０】
＜第２の実施形態＞
本実施形態においては、受信装置から受信される再生情報に基づいてフラグメントサイズを決定するだけでなく、受信装置側のパケット受信バッファの空き容量の情報に基づいてフラグメントサイズを決定する。
【００３１】
図５は、本実施形態における情報送信装置５０１の機能構成例を示すブロック図である。第１の実施形態における情報送信装置１０１と同様の機能を実行するブロックは説明を省略する。
【００３２】
バッファ容量受信部５０２は、処理能力受信部として機能し、受信装置１０７のパケット受信バッファの空き容量に関する情報を通信部１０６を介して受信する。フラグメントサイズ決定部５０３は、情報受信装置１０２によって受信された再生情報と、バッファ容量受信部５０２によって受信されたパケット受信バッファの空き容量に関する情報に基づきフラグメントサイズを決定する。
【００３３】
なお、バッファ容量受信部５０２と情報受信部１０２は同一の受信部として機能してもよい。
【００３４】
次に、送信装置５０１において、送信する映像データのフラグメントサイズを決定し、該フラグメントサイズを用いて映像データを受信装置に送信する処理フローを図６を用いて説明する。
【００３５】
ステップＳ６０１において、情報受信部１０２は、受信装置１０７から、映像データの再生に関する再生情報を受信する。
【００３６】
ステップＳ６０２において、フラグメントサイズ決定部５０３は、上記再生情報を元に、フラグメントサイズテーブル４０１を参照する。
【００３７】
ステップＳ６０３において、バッファ容量受信部５０２は、受信装置１０７から、バッファの空き容量を示す情報を受信する。ここでバッファの空き容量とは、受信装置１０７において、受信したパケットを一時的に保持するバッファの空き容量を示す。また、バッファの空き容量を示す情報は、具体的なメモリサイズでも良いし、バッファ全体の容量と空き容量との割合を示す値でも良い。
【００３８】
ステップＳ６０４において、フラグメントサイズ決定部５０３は、ステップＳ６０２で決定したフラグメントサイズに基づいて生成されたパケットを送信した場合に、遅延やバッファアンダーランといった再生時の不具合が生じないかどうかを判定する。例えば、Ｓ６０２で決定したフラグメントサイズに基づき生成されたパケットが受信装置１０７へ送信されたにも関わらず、フラグメントサイズで示されるデータ量が受信装置のバッファ空き容量を超えていたとする。このような場合、受信装置１０７ではバッファアンダーフローが発生し、正常に映像データを再生できないという問題点が発生する。そこで、フラグメントサイズ決定部５０３は、現状のフラグメントサイズでは受信装置側で不具合が生じると判定した場合、バッファ容量受信部５０２から取得したバッファの空き容量を示す情報に基づいてフラグメントサイズを再度決定する。
【００３９】
フラグメントサイズ決定部５０３において、フラグメントサイズを再決定する方法としては、図４に示したフラグメントテーブルを利用する方法がある。例えば、Ｓ６０２で決定したフラグメントサイズに基づき生成されたパケットが受信装置１０７へ送信されたにも関わらず、フラグメントサイズで示されるデータ量が受信装置のバッファ空き容量を超えている場合がある。この場合、フラグメントサイズ決定部５０３は、ステップＳ６０２で決定したフラグメントサイズの遅延許容度を一段階下げたフラグメントサイズに再度決定する。
【００４０】
なお、フラグメントサイズ決定方法は、上記方法に限定されず、例えば、Ｓ６０２で決定したフラグメントサイズに対して加算や減算、もしくは変倍等をしてもよい。また、その他の方法として、再生情報と受信装置のバッファ空き容量を示す情報からフラグメントサイズを定めたフラグメントサイズテーブルを用いてもよい。また、バッファ空き容量を定常監視して、バッファ空き容量の変化に基づいてフラグメントサイズを変更してもよい。
【００４１】
ステップＳ６０５において、フラグメントサイズ決定部５０３は、決定したフラグメントサイズをパケット生成部１０４に通知する。
【００４２】
ステップＳ６０６において、パケット生成部１０４は、フラグメントサイズ決定部５０３によって決定されたフラグメントサイズに基づき、蓄積部１０５に保持されている映像データをパケット化する。
【００４３】
ステップＳ６０７において、通信部１０６は、パケット生成部１０４によって生成されたパケットを受信装置１０７に送信する。
【００４４】
なお、本実施形態においては、受信装置の処理能力としてバッファの空き容量に関する情報を用いたが、受信装置の処理能力を示す情報（処理能力情報）はこれに限らない。たとえば、受信装置のデコーダの処理速度や、ＣＰＵの性能を示す情報でも同様の効果が得られる。
【００４５】
以上のように、本実施形態においては、再生情報に基づいてフラグメントサイズを決定するだけでなく、受信装置側のパケット受信バッファの空き容量の情報に基づいてフラグメントサイズを決定することで、リアルタイム性と完全性を両立する。
【００４６】
＜その他の実施形態＞
フラグメントサイズ決定部は、上記実施形態で述べたフラグメントサイズの決定要因（再生情報、バッファ空き容量）以外にも、通信回線の状況に基づいて、フラグメントサイズを決定してもよい。
【００４７】
例えば、通信回線の状況は、ラウンドトリップタイム（ＲＴＴ：Ｒｏｕｎｄ  ｔｒｉｐ  ｔｉｍｅｓ）を計測することにより知ることができる。ラウンドトリップタイムとは、送信装置から受信装置までパケットが往復する時間のことであり、これを用いて、通信回線の状況を推測することができる。
【００４８】
具体的には、フラグメントサイズ決定部が、パケットの送信と並行してラウンドトリップタイムを測定し、ラウンドトリップタイムの値に基づいてフラグメントサイズを決定する。また、ラウンドトリップタイムの変動に同期してフラグメントサイズを変更する。例えば、パケット送信中のある時点において、ラウンドトリップタイムが大きくなった場合、パケットをロスする可能性が高くなるので、フラグメントサイズ決定部はフラグメントサイズを大きくする。一方、ラウンドトリップタイムが小さくなった場合、フラグメントサイズ決定部はフラグメントサイズを小さくする。具体的な数値は実際の通信環境に応じて設定すればよい。
【００４９】
上記ラウンドトリップタイムを用いたフラグメントサイズ決定方法は、上述した実施形態と組み合わせてもよいし、単独でも用いてもよい。
【００５０】
以上のように、通信回線の状況に基づいてフラグメントサイズを決定することで、リアルタイム性と安定性を両立することが可能となるばかりでなく、通信回線の状況、特に変動する回線状況に対応することができる。
【００５１】
また、フラグメントサイズ決定部は、送信装置と受信装置の物理的距離に基づいてフラグメントサイズを決定してもよい。送信装置と受信装置の物理的距離は例えばＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等により受信可能である。距離が長くなればなるほどパケットをロスする可能性が高くなるので、受信装置と送信装置の物理的距離が長い場合、フラグメントサイズ決定部は、フラグメントサイズを大きくする。
【００５２】
なお、上記物理的距離を用いたフラグメントサイズ決定方法は、上述した実施形態と組み合せてもよいし、単独で用いてもよい。特に、物理的距離はデータ送信中において変動しない固定値であるから、このフラグメントサイズ決定方法は、フラグメントサイズの初期値を設定する際に有効である。
【００５３】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形の各部（１０２〜１０６、５０２、５０３）態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００５４】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態における情報送信装置の機能構成例を示すブロック図。
【図２】本発明の第１の実施形態におけるフラグメントサイズ決定の処理手順の一例を示すフローチャート
【図３】本発明の第１の実施形態において、受信装置側で再生情報を入力するためのＧＵＩ
【図４】本発明の第１の実施形態におけるフラグメントサイズテーブルの一例
【図５】本発明の第２の実施形態における情報送信装置の機能構成例を示すブロック図
【図６】本発明の第２の実施形態におけるフラグメントサイズ決定の処理手順の一例を示すフローチャート
【図１】
2010093346.tif 000003
【図２】
2010093346.tif 000004
【図３】
2010093346.tif 000005
【図４】
2010093346.tif 000006
【図５】
2010093346.tif 000007
【図６】
2010093346.tif 000008