(57)【特許請求の範囲】
【請求項１】
符号化済みのデータに基づくパケットを生成する生成手段と、
前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定手段と、
前記指定手段により指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信手段とを有し、
前記送信手段は、前記指定手段により指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とする通信制御装置。
【請求項２】
前記指定手段は、イントラフレームの符号量と、１フレーム時間当たりのシステム・クロックの回数とを用いて、前記連続して送信するパケット数を指定することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記符号化済みの動画データからイントラフレームを検出する検出手段を有し、
前記指定手段は、前記イントラフレームの検出に応じて、前記連続して送信するパケット数を指定することを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報を取得する取得手段を有し、
前記指定手段は、前記取得された受信状態情報を用いて、前記連続して送信するパケット数を指定することを特徴とする請求項１乃至３のいずれか１項に記載の通信制御装置。
【請求項５】
前記受信状態情報はパケットロス数に関する情報を含み、
前記指定手段により過去に指定された第１のパケット数と、当該第１のパケット数で連続して送信したときの第１のパケットロス数に関する情報とを相互に対応付けて記憶すると共に、前記指定手段により過去に指定された第２のパケット数と、当該第２のパケット数で連続して送信したときの第２のパケットロス数に関する情報とを相互に対応付けて記憶する記憶手段を有し、
前記指定手段は、前記第２のパケットロス数よりも少ない前記第１のパケットロス数に対応付けられた前記第１のパケット数で未送信のイントラフレームのパケットを送信した場合にかかる送信時間が、フレームレートに応じたフレーム時間よりも短い場合、前記第１のパケット数を指定することを特徴とする請求項４に記載の通信制御装置。
【請求項６】
前記受信状態情報は前記受信装置の受信バッファの占有率に関する情報を含み、
前記指定手段により過去に指定された第１のパケット数と、当該第１のパケット数で連続して送信したときの第１のバッファ占有率に関する情報とを相互に対応付けて記憶すると共に、前記指定手段により過去に指定された第２のパケット数と、当該第２のパケット数で連続して送信したときの第２のバッファ占有率に関する情報とを相互に対応付けて記憶する記憶手段を有し、
前記指定手段は、前記第２のバッファ占有率よりもバッファオーバーフロー及びバッファアンダーフローの発生率が低い前記第１のバッファ占有率に対応付けられた前記第１のパケット数で未送信のイントラフレームのパケットを送信した場合にかかる時間が、フレームレートに応じたフレーム時間よりも短い場合、前記第１のパケット数を指定することを特徴とする請求項４に記載の通信制御装置。
【請求項７】
前記指定手段は、前記取得手段により取得された受信状態情報の全部又は一部を、統計的解析手法を用いて処理することにより算出されたパケット数を、前記連続して送信するパケットの数として指定することを特徴とする請求項４乃至６のいずれか１項に記載の通信制御装置。
【請求項８】
音声標本化周波数、動画像信号の水平同期周波数、90［KHz］、及びそれらをＮ（Ｎは正の整数）倍又はＮ（Ｎは正の整数）分周した周波数の何れかをシステム・クロックとして使用することを特徴とする請求項１乃至７の何れか１項に記載の通信制御装置。
【請求項９】
通信制御装置が行う通信制御方法であって、
符号化済みのデータに基づくパケットを生成する生成ステップと、
前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定ステップと、
前記指定ステップにより指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信ステップとを有し、
前記送信ステップは、前記指定ステップにより指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とする通信制御方法。
【請求項１０】
前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報を取得する取得ステップを有し、
前記指定ステップは、前記取得された受信状態情報を用いて、前記連続して送信するパケット数を指定することを特徴とする請求項９に記載の通信制御方法。
【請求項１１】
符号化済みのデータに基づくパケットを生成する生成ステップと、
前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定ステップと、
前記指定ステップにより指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信ステップとをコンピュータに実行させ、
前記送信ステップは、前記指定ステップにより指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置、通信制御方法、及びコンピュータプログラムに関し、特に、パケットを送信する際の送信レートを制御するために用いて好適なものである。
に関する。
【背景技術】
【０００２】
従来から、全体的又は局所的に送信レートを制御する方法として、高精度クロックにより、１パケット毎の送信間隔を制御する方法が提唱されていた（特許文献１を参照）。
また、局所的に変動するトラフィックが、回線容量を超過しないように、単位時間あたりの送信データ量を調整する方法が提唱されている。この方法では、送信休止開始時刻と送信再開時刻とを指定することにより、任意の単位でまとまって送信されるデータ単位の間に送信休止期間を設け、前記送信休止期間を制御することにより、前記送信レートを制御する（特許文献２を参照）。
【０００３】
【特許文献１】特開２００３−１６９０９０号公報
【特許文献２】特開２００６−８７０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した従来の方法では、送信レートを無段階に制御する必要があった。その為に、前記送信休止期間又はパケット送信間隔を、非常に高周波数且つ高精度のクロックで制御することが必要であった。
また、１パケット毎の送信間隔を制御する場合、１パケット毎に送信開始時刻を指定する必要がある。その為に、送信開始時刻を指定するための演算負荷が大きいという問題点があった。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、高周波数且つ高精度のクロックを用いずに、従来よりも小さな演算負荷で送信レートを制御できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の通信制御装置は、符号化済みのデータに基づくパケットを生成する生成手段と、前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定手段と、前記指定手段により指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信手段とを有し、前記送信手段は、前記指定手段により指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とする。
【０００７】
本発明の通信制御方法は、通信制御装置が行う通信制御方法であって、符号化済みのデータに基づくパケットを生成する生成ステップと、前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定ステップと、前記指定ステップにより指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信ステップとを有し、前記送信ステップは、前記指定ステップにより指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とする。
【０００８】
本発明のコンピュータプログラムは、符号化済みのデータに基づくパケットを生成する生成ステップと、前記符号化済みのデータの符号量、前記パケットの送信先である受信装置におけるパケットの受信状態に関する受信状態情報、前記パケットの送信に用いられる通信経路の速度に関する情報、及び前記パケットの通信のために確保可能な通信路の容量に関する情報のうち、少なくとも何れか１つを用いて、システム・クロックに応じて連続して送信するパケット数を指定する指定ステップと、前記指定ステップにより指定されたパケット数のパケットを、前記システム・クロックに応じたタイミングで連続して送信する送信ステップとをコンピュータに実行させ、前記送信ステップは、前記指定ステップにより指定されたパケット数のパケットの連続した送信を、１フレーム時間内に、システム・クロックに応じたタイミングで複数回行うことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、高周波数且つ高精度のクロックを用いずに、従来よりも小さな演算負荷で送信レートを制御できる。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照しながら、本発明の一実施形態について説明する。
図１は、通信制御装置の構成の一例を示した図である。
図１において、通信制御装置２００は、符号化装置２０１と、パケット化装置２０２と、パケットスケジューラ２０３と、ＮＩＣ（Network Interface Card）２０４と、制御装置２０５と、入力端子２０６とを備えて構成されている。
入力端子２０６から入力されたディジタル動画像信号は、符号化装置２０１にて所定の符号化フォーマットで符号化処理され、符号化ディジタル動画像信号として、パケット化装置２０２に出力される。尚、ディジタル動画像信号と共にディジタル音声信号が、入力端子２０６から入力されるようにしてもよい。
【００１１】
図２は、符号化ディジタル動画像信号がパケット化装置２０２でパケット化される様子の一例を概念的に示す図である。
図２に示すように、パケット化装置２０２に入力された符号化ディジタル動画像信号３０１ａ、３０１ｂは、フレーム番号（Frame Number）の小さいものから順に、任意の一定バイト数（Ｎ［Bytes］）毎に分割される。そして、夫々の先頭に所定のパケットヘッダ３０２ａ〜３０２ｄが付与されたパケット３０３ａ〜３０３ｄとして出力される。パケット３０３（パケット化された符号化ディジタル動画像信号）は、パケットスケジューラ２０３へ入力される。
【００１２】
パケットスケジューラ２０３は、図１に示すような内部構造を持っており、バッファ・メモリ２０３ａとコントローラ２０３ｂとを有している。パケットスケジューラ２０３へ入力された各パケット３０３ａ〜３０３ｄは、バッファ・メモリ２０３ａに一時的に記憶（保持）される。コントローラ２０３ｂは、後述するようにして制御装置２０５から指定されたバースト数（Ｌ（Ｌは自然数））に従って、バッファ・メモリ２０３ａに一時的に記憶されているパケット３０３を、入力順でＬ個ずつ読み出して、ＮＩＣ２０４へ出力する。ここで、前記バースト数とは、まとまったパケットを一度に集中して送信するバースト送信における、１送信単位のパケット数のことである。
【００１３】
ここで、図２に示した、フレーム番号が０（Frame Number = 0）のフレームに対応する発生符号量（符号化ディジタル動画像信号３０１ａの符号量）が、２０パケット相当量であると仮定する。更に、制御装置２０５からコントローラ２０３ｂに指定されるバースト数が５（Ｌ＝５）であると仮定する。
【００１４】
そうすると、コントローラ２０３ｂは、制御装置２０５から指定されたバースト数（Ｌ＝５）に従って、コントローラ２０３ｂに入力された順に、５つのパケット３０３をバッファ・メモリ２０３ａから読み出す。
図３は、通信制御装置から送信されるパケットの送信パターンの一例を示す図である。具体的に図３（ａ）は、本実施形態の通信制御装置２００から送信されるパケット３０３の送信パターンの一例を示し、システム・クロック１０１と、送信レートを制御してパケット３０３を送信する場合の送信パターン１０２ａ、１０２ｂとを示している。尚、送信パターン１０２ａは、符号化ディジタル動画像信号３０１の符号量が相対的に小さい場合の送信パターンであり、送信パターン１０２ｂは、符号化ディジタル動画像信号３０１の符号量が相対的に大きい場合の送信パターンである。一方、図３（ｂ）は、従来のパケットの送信パターンを示し、送信レートを制御せずにパケットを送信する場合の通常の送信パターン１０３と、システム・クロック１０４と、送信レートを制御してパケットを送信する場合の従来の送信パターン１０５を示している。
【００１５】
図３（ｂ）に示すように、従来は、高精度なシステム・クロック１０４が必要であった。これに対し、図３（ａ）に示すように、本実施形態の通信制御装置２００では、通信制御装置２００に常設される通常のシステム・クロック１０１に同期して、パケット３０３がバッファ・メモリ２０３ａから読み出されるように構成されている。このように本実施形態では、従来よりも低周波数且つ低精度のシステム・クロック１０１で、通信レート（送信レート）を制御することができる。
【００１６】
本実施形態の通信制御装置２００に常設されているシステム・クロック１０１の周波数としては、例えば、次の（１）〜（４）のような周波数等が考えられる。
（１）  90×Ｎ［KHz］又は90×１／Ｎ［KHz］（Ｎ：正の整数）
（２）  44.1×Ｎ［KHz］又は44.1×１／Ｎ［KHz］（Ｎ：正の整数）
（３）  48×Ｎ［KHz］又は48×１／Ｎ［KHz］（Ｎ：正の整数）
（４）  動画像信号の水平同期周波数（NTSCの場合は、15.736［KHz］）×Ｎ［kHz］又は動画像信号の水平同期周波数×１／Ｎ［kHz］（Ｎ：正の整数）
ただし、システム・クロック１０１の周波数はこのようなものに限定されない。パケット３０３の送信レートを制御するために使用することが可能であるならば、どのような周波数をシステム・クロック１０１として採用してもよい。ビデオの標本化周波数（例えば27［MHz］、13.5［MHz］）を任意の分周比で分周した周波数をシステム・クロック１０１として採用してもよい。更に、44.1［KHz］、48［KHz］以外の音声標本化周波数を任意の倍率又は分周比で逓倍又は分周した周波数をシステム・クロック１０１として採用してもよい。
【００１７】
また、複数の周波数の中から、システム・クロック１０１を選択するようにしてもよい。例えば、48［KHz］と、そのＮ逓倍又は１／Ｎ分周した周波数とを選択することが可能となるようにしたり、48［KHz］と44.1［KHz］とを選択したりすることが可能となるようにしてもよい。このようにする場合、システム・クロック１０１をダイナミックに切り換え可能な構成としてもよい。
【００１８】
図４は、バッファ・メモリ２０３ａから読み出されるパケットと、ＮＩＣ２０４から連続して送信（バースト送信）されるパケットとの関係の一例を示す図である。
図４に示すように、時刻ｔ0において、コントローラ２０３ｂは、バッファ・メモリ２０３ａから、制御装置２０５から指定されたバースト数に相当する５個のパケットＰ１〜Ｐ５を、バッファ・メモリ２０３ａに入力された順に読み出す。そして、コントローラ２０３ｂは、読み出したパケットＰ１〜Ｐ５を、ＮＩＣ２０４へ出力する。
【００１９】
ＮＩＣ２０４に入力された５個のパケットＰ１〜Ｐ５は、ＮＩＣ２０４の内部に設けられているバッファに書き込まれる。そのバッファに書き込まれたパケットＰ１〜Ｐ５は、次にシステム・クロック１０１が立ち上がるタイミングになる（次にシステム・クロック１０１の立ち上がりエッジが現れる）まで一時的に記憶される。尚、以下の説明では、システム・クロック１０１が立ち上がるタイミング（システム・クロック１０１立ち上がりエッジが現れるタイミング）を、必要に応じて、クロックタイミングと称する。
【００２０】
図４に示す例では、次のクロックタイミングである時刻ｔ1で、５個のパケットＰ１〜Ｐ５は、ＮＩＣ２０４の内部に設けられたバッファから読み出される。読み出された５個のパケットＰ１〜Ｐ５は、ＮＩＣ２０４のハードウェアロジック又はドライバソフトの制御により、通信回線２０７（ネットワーク）へ送出される。このようにしてネットワークへパケットを送出する際のパケット間隔は、ＮＩＣ２０４に固有のクロックと、ハードウェアロジック又はドライバソフトのプログラミングの内容とにより決定される。
【００２１】
図３（ａ）（又は図４）に示すように、時刻ｔ1において、パケットスケジューラ２０３内部のバッファ・メモリ２０３ａから、バッファ・メモリ２０３ａに入力された順に、次の５個のパケットＰ６〜Ｐ１０が読み出され、ＮＩＣ２０４に入力される。そして、ＮＩＣ２０４に入力されたパケットＰ６〜Ｐ１０は、次のクロックタイミング（バースト送信タイミング）である時刻ｔ2になるまでの間、ＮＩＣ２０４の内部に設けられたバッファに一時的に記憶される。
【００２２】
時刻ｔ2になると、ＮＩＣ２０４の内部に設けられたバッファから、バーストフレーム数に相当する５個のパケットＰ６〜Ｐ１０が読み出され、読み出された５個のパケットＰ６〜Ｐ１０が通信回線２０７（ネットワーク）へ送出（バースト送信）される。以上の動作が繰り返し行われる。
尚、図３（ａ）及び図４に示すシステム・クロック１０１は同一のものである。また、図４に示したパケットＰ１〜Ｐ１５は、図２に示した１つのパケット３０３ａ〜３０３ｄに対応する。
【００２３】
図１の説明に戻り、制御装置２０５は、パケットの送信先である受信端末装置（受信装置）から送られてくる受信状態情報の全部又は一部を、任意の統計的解析手法を用いて処理する。受信状態情報は、任意の通信手段又はＲＴＣＰ（RTP Control Protocol）の付加情報を用いることにより、前記受信端末装置から制御装置２０５に送られる。制御装置２０５は、この処理を行うことより、例えば、システム・クロック１０１の周期Ｔでバースト送信を実施した際にパケットロスの発生確率が最小となるバースト数Ｌｉを算出することができる。そして、制御装置２０５は、算出したバースト数Ｌｉで１フレーム期間内に送信可能な最大符号量Ｒｘを算出する。
ここで、受信状態情報は、例えば、パケットロス率（又はパケットロス数）、エラー率、欠落パケット数、受信バッファの占有率、受信ビットレートの最大値、最小値、平均値の少なくとも何れか１つを含む情報である。
【００２４】
次に、制御装置２０５は、送信対象である任意のフレームの符号量Ｒｒと、前記１フレーム期間内に送信可能な最大符号量Ｒｘとを比較する。制御装置２０５は、比較の結果、前記１フレーム期間内に送信可能な最大符号量Ｒｘが、前記送信対象である任意のフレームの符号量Ｒｒ以上である（Ｒｘ≧Ｒｒ）と判定した場合、バースト数Ｌを、前述したようにして算出したバースト数Ｌｉとする（Ｌ＝Ｌｉ）。一方、前記１フレーム期間内に送信可能な最大符号量Ｒｘが、前記送信対象である任意のフレームの符号量Ｒｒより小さい（Ｒｘ＜Ｒｒ）と判定した場合、制御装置２０５は、Ｒｘ≧Ｒｒを満たすバースト数Ｌｘを算出する。そして、バースト数Ｌを算出したバースト数Ｌｘとする（Ｌ＝Ｌｘ）。
制御装置２０５は、以上のようにして得られたバースト数Ｌをパケットスケジューラ２０３へ指示する。
【００２５】
バースト数Ｌｉの算出処理及びバースト数Ｌｘの算出処理は、基本的にフレーム毎に実施可能である。ただし、制御装置２０５の処理負荷を軽減することと、画質的な安定を図ることとを実現するために、バースト数Ｌｉ、Ｌｘの算出処理を次のようにして行ってもよい。すなわち、任意に設定されたフレーム数を周期としてバースト数Ｌｉ、Ｌｘの算出処理を行ってもよい。また、符号化モードがイントラ（Intra）であるフレーム毎、又は符号量の変化が任意に設定された閾値を超過したフレーム毎にバースト数Ｌｉ、Ｌｘの算出処理を行ってもよい。
【００２６】
以上説明したように本実施形態では、システム・クロック１０１が立ち上がるタイミングでバースト送信を開始する。そして、制御装置２０５から指定されたバースト数Ｌに等しい数のパケットを連続して送信した後、システム・クロック１０１が次に立ち上がるまでは、自動的に送信休止期間となるようにしている。
【００２７】
次に、バースト数Ｌを算出してバースト送信する際の通信制御装置２００の動作の一例を図５のフローチャートを参照して説明する。
前述したように、バースト数Ｌの変更は、任意の単位でダイナミックに行うことが可能であるが、発生符号量が増大するイントラ符号化フレームの単位で変更するのが実用上合理的であり、好ましい。
【００２８】
まず、制御装置２０５は、処理対象のフレームにおける、フレーム単位の符号化モード（Ｍｏｄｅ）を判定する（ステップＳ６０１）。この判定の結果、符号化モードが、イントラ（Intra）と判定された場合、制御装置２０５は、イントラ符号化フレームの符号量を符号化装置２０１から取得する（ステップＳ６０２）。
次に、制御装置２０５は、前記受信端末装置からＮＩＣ２０４が受信した前記受信状態情報を参照し、以下の第１〜第３の処理（ステップＳ６０３〜６０８）を並列的に又は時系列的に実行し、バースト数Ｌ１〜Ｌ３を算出する。
【００２９】
第１の処理として、制御装置２０５は、パケットロス率と受信レートの時系列的な変動とを比較する（ステップＳ６０３）。そして、制御装置２０５は、比較した結果に基づいて、パケットロス率が最小となるバースト数Ｌ１を求める（ステップＳ６０６）。
尚、この第１の処理を行うに際し、受信レートと、パケットロス率と、それに対応するバースト数とから定まる点を３次元座標上にプロットし、プロットしたデータをデータベースとして任意の保存期間保存しておくようにする。制御装置２０５は、例えば、ステップＳ６０２でイントラ符号化フレームの全符号量を取得した後、前記データベースからパケットロス率が最小となる受信レートＲとバースト数Ｌ１を読み出すことで、ステップＳ６０３、Ｓ６０６を実現できる。
【００３０】
第２の処理として、制御装置２０５は、受信バッファ占有率とパケットロス率の時系列的な変動とを比較する（ステップＳ６０４）。そして、制御装置２０５は、比較した結果に基づいて、パケットロス率が最小となるバースト数Ｌ２を求める（ステップＳ６０７）。
尚、この第２の処理を行うに際し、受信バッファ占有率と、パケットロス率と、それに対応するバースト数とから定まる点を３次元座標上にプロットし、プロットしたデータをデータベースとして任意の保存期間保存しておくようにする。制御装置２０５は、例えば、ステップＳ６０２でイントラ符号化フレームの全符号量を取得した後、前記データベースからパケットロス率が最小となる受信バッファ占有率Ｑとバースト数Ｌ２を読み出すことで、ステップ６０４、Ｓ６０７を実現できる。
【００３１】
第３の処理として、制御装置２０５は、受信バッファの占有率と受信レートの時系列的な変動とを比較する（ステップＳ６０５）。そして、制御装置２０５は、比較した結果に基づいて、前記受信バッファのオーバーフロー（ＯＦ）及びアンダーフロー（ＵＦ）の発生確率が最小となるバースト数Ｌ３を求める（ステップＳ６０８）。
尚、この第３の処理を行うに際し、受信レートと、バッファ占有率と、それに対応するバースト数とから定まる点を３次元座標上にプロットし、プロットしたデータをデータベースとして任意の保存期間保存しておくようにする。制御装置２０５は、例えば、ステップＳ６０２でイントラ符号化フレームの全符号量を取得した後、前記データベースから、オーバーフローやアンダーフローの発生しない範囲で最大のバースト数Ｌ３を読み出すことで、ステップＳ６０５、Ｓ６０８を実現できる。
以上のように本実施形態では、第１〜第３の処理を行うことにより、受信状態情報の全部又は一部を、統計的解析手法を用いて処理するようにしている。
【００３２】
バースト数Ｌ１〜Ｌ３を求めると、制御装置２０５は、それら３つのバースト数Ｌ１〜Ｌ３の夫々を用いて、前記イントラ符号化フレームの符号量をバースト送信した場合の所要時間ＴＬ（Ｌ１）、ＴＬ（Ｌ２）、ＴＬ（Ｌ３）を算出する（ステップＳ６０９）。
次に、制御装置２０５は、ステップＳ６０９で算出した所要時間ＴＬ（Ｌ１）、ＴＬ（Ｌ２）、ＴＬ（Ｌ３）と１フレーム時間（1FrameTime；フレームレートの逆数［sec］）とを比較する。そして、制御装置２０５は、所要時間ＴＬ（Ｌ１）、ＴＬ（Ｌ２）、ＴＬ（Ｌ３）が、１フレーム時間以内であるバースト数ＬＸ（Ｘ：１，２，３）を選択する（ステップＳ６１０）。
そして、選択したバースト数ＬＸが１つである場合、制御装置２０５は、バースト数Ｌに選択したバースト数ＬＸを代入し、そのバースト数をパケットスケジューラ２０３に対して指定する。また、選択したバースト数ＬＸが２つ以上ある場合、制御装置２０５は、選択したバースト数ＬＸの最小値をバースト数Ｌに代入し、そのバースト数をパケットスケジューラ２０３に対して指定する（ステップＳ６１１）。
そして、パケットスケジューラ２０３は、指定されたバースト数Ｌに基づいて、パケットをＮＩＣ２０４に出力し、パケットのバースト送信を指示する。そして、ＮＩＣ２０４は、そのパケットのバースト送信を実施する（ステップＳ６１２）。これにより、通信制御装置２００から通信回線２０７を経由して前記受信端末装置にパケットがバースト送信される。
【００３３】
一方、ステップＳ６１０の比較の結果、所要時間ＴＬ（Ｌ１）、〜ＴＬ（Ｌ３）が１フレーム時間以内のバースト数ＬＸがない場合、制御装置２０５は、次の処理を行う。すなわち、制御装置２０５は、所要時間ＴＬ（Ｌｔ）が１フレーム時間以下になる（ＴＬ（Ｌｔ）≦（１フレーム時間））バースト数Ｌｔを別途算出する。そして、制御装置２０５は、算出したバースト数Ｌｔをバースト数Ｌに代入し、そのバースト数をパケットスケジューラ２０３に対して指定する（ステップＳ６１３）。
【００３４】
ここで、バースト数Ｌｔは、例えば次のようにして求めることができる。
１フレーム相当時間をＴｆ、図１（ａ）に示したシステム・クロック１０１の周期をＴ、任意のイントラ符号化フレームの発生符号量をＲｉ、１パケットあたりに伝送可能な符号量をＲｐとする。そうすると、１フレーム時間内でバースト送信を実施可能な回数Ｎｂは、以下の（１）式、（２）式で表される。
Ｎｂ＝（Ｔｆ／Ｔ）  ・・・（１）
Ｎｂ＝（Ｔｆ／Ｔ）＋１  ・・・（２）
ここで、（１）式は、１フレーム相当時間Ｔｆをシステム・クロック１０１の周期Ｔで割ったときの余りが０である場合の値である。一方、（２）式は、１フレーム相当時間Ｔｆをシステム・クロック１０１の周期Ｔで割ったときの余りが０より大きい場合の値である。
【００３５】
また、任意のイントラ符号化フレームの全符号量を伝送するために必要なパケット数Ｎｐは、以下の（３）式、（４）式で表される。
Ｎｐ＝（Ｒｉ／Ｒｐ）  ・・・（３）
Ｎｐ＝（Ｒｉ／Ｒｐ）＋１  ・・・（４）
ここで、（３）式は、任意のイントラ符号化フレームの発生符号量Ｒｉを、１パケットあたりに伝送可能な符号量Ｒｐで割ったときの余りが０である場合の値である。一方、（４）式は、任意のイントラ符号化フレームの発生符号量Ｒｉを、１パケットあたりに伝送可能な符号量Ｒｐで割ったときの余りが０より大きい場合の値である。
【００３６】
１フレーム時間内でバースト送信を実施可能な回数Ｎｂと、任意のイントラ符号化フレームの全符号量を伝送するために必要なパケット数Ｎｐとを用いると、バースト数Ｌｔは、以下の（５）式、（６）式で表される。
Ｌｔ＝（Ｎｐ／Ｎｂ）  ・・・（５）
Ｌｔ＝（Ｎｐ／Ｎｂ）＋１  ・・・（６）
ここで、（５）式は、任意のイントラ符号化フレームの全符号量を伝送するために必要なパケット数Ｎｐを、１フレーム時間内でバースト送信を実施可能な回数Ｎｂで割ったときの余りが０である場合の値である。一方、（６）式は、任意のイントラ符号化フレームの全符号量を伝送するために必要なパケット数Ｎｐを、１フレーム時間内でバースト送信を実施可能な回数Ｎｂで割ったときの余りが０より大きい場合の値である。
制御装置２０５は、以上の（１）式〜（６）式の計算を行うことにより、バースト数Ｌｔを算出する。
【００３７】
本実施形態では、ステップＳ６１１、Ｓ６１３で決定（算出）されたバースト数Ｌは、基本的に次のイントラ符号化フレームが出現するまで更新されない構成になっている。したがって、ステップＳ６１３で算出されたバースト数Ｌｔは、前記イントラ符号化フレームに限定して使用する。そして、次のイントラ符号化フレームまでの非イントラ符号化フレームのバースト送信に対しては、バースト数Ｌｔでバースト送信される１つ前に算出（更新）されたバースト数Ｌ（バースト数Ｌｔが適用されるまで適用されていたバースト数Ｌ）を使用する。
【００３８】
ただし、イントラ符号化フレームの送信にバースト数Ｌｔが用いられた場合は、アプリケーションに応じて、次のようにしてもよい。すなわち、バースト数Ｌに、ステップＳ６１３で算出されたバースト数Ｌｔを代入（Ｌ＝Ｌｔ）して、次のイントラ符号化フレームでバースト数Ｌが更新されるまでは、バースト数Ｌｔを採用するように、制御装置２０５を構成又はプログラムミングしてもよい。
【００３９】
制御装置２０５は、ＮＩＣ２０４からの信号に基づいて、前記イントラ符号化フレームの符号量に対する送信完了を検出すると、送信完了を検出したフレームが、最終フレームであるか否かを、ＮＩＣ２０４からの信号に基づいて判定する（ステップＳ６１４）。この判定の結果、最終フレームであった場合には処理を終了する。一方、最終フレームでなかった場合には、制御装置２０５は、次のフレームに処理を移行し（ステップＳ６１５）、前記次のフレームに対する符号化モードの判定を実施する（ステップＳ６０１）。
【００４０】
ここで、送信完了を検出したフレームが、最終フレームであるか否かの判定は、例えば、次のようにして行うことができる。符号化装置２０１は、自身の入力バッファが空であるか否かを判定し、入力バッファが空である場合に、送信完了を検出したフレームが、最終フレームであることを示すフラグ又はコードを制御装置２０５に示す。制御装置２０５は、このフラグ又はコードに基づいて、送信完了を検出したフレームが、最終フレームであると判定することができる。
また、符号化装置２０１は、次の符号化対象フレームのデータがある一定時間入力されなかった場合、直前のフレームを、最終フレームと判断し、直前のフレームが、最終フレームであることを示すフラグ又はコードを制御装置２０５に示す。制御装置２０５は、このフラグ又はコードに基づいて、直前のフレームが、最終フレームであると判定することができる。
この他、符号化装置２０１の入力バッファの状態（占有率）を示すバッファ状態情報を、符号化装置２０１から制御装置２０５へ任意の時間間隔で出力し、そのバッファ状態情報に基づいて、制御装置２０５が最終フレームであるか否かを判定することもできる。
【００４１】
以上のように本実施形態では、１回のバースト送信で連続して送信するバースト数（パケットの数）を、例えばイントラ符号化フレームを処理するたびに、前記受信端末装置の受信状態情報に基づいて算出する。そして、算出したバースト数のパケットを、システム・クロック１０１が立ち上がるタイミングに同期させてバースト送信するようにした。そして、次にシステム・クロック１０１が立ち上がるタイミングまでは、バースト送信せずに、自動的に送信休止期間となるようにした。したがって、送信休止及び送信再開のタイミングを算出することによって送信レートを制御しなくても、全体的又は局所的な送信レートの制御を適切に実現することができる。よって、演算負荷を低減すると共に、高周波数且つ高精度のクロックを不要にすることができる。
【００４２】
前述したように、本実施形態では、前記受信端末装置から受信した前記受信状態情報に基づいて、１回のバースト送信で送信するバースト数を算出するようにした。しかしながら、必ずしも前記受信状態情報に基づいてバースト数を算出しなくてもよい。前記受信状態情報に代えて、又は前記受信状態情報に加えて、パケットの通信に利用する通信回線２０７の実効速度、及び確保可能な通信路容量の少なくとも何れか一方に基づいてバースト数を算出してもよい。
【００４３】
例えば、制御装置２０５は、ＮＩＣ２０４から以下の（１）、（２）の情報を取得して、通信回線２０７の現在の実効速度を予測することができる。
（１）単位時間あたりの発生符号量又は単位時間あたりバッファに書き込まれるデータ量の推移情報
（２）送信ビットレート情報又は送信ビットレートの推移情報
【００４４】
図６は、制御装置２０５がＮＩＣ２０４から取得する「単位時間あたりの発生符号量（発生符号レート）の推移情報」の一例を示す図である。この図６に示す情報が、前記（１）に対応する情報である。また、図７は、制御装置２０５がＮＩＣ２０４から取得する「単位時間あたりの送信データ量（送信データレート）の推移情報」の一例を示す図である。この図７に示す情報が、前記（２）に対応する情報である。
そして、制御装置２０５は、取得した前記（１）の情報と前記（２）の情報との組み合わせにより、現在時刻ｔ1における通信回線２０７の実効速度を予測する。
【００４５】
図８は、制御装置２０５が通信回線２０７の実効速度を予測する際に使用するテーブルの一例を示す図である。
例えば、図６（ａ）、図７（ａ）に示す情報を取得した場合、制御装置２０５は、発生符号レート及び送信データレートは一定であると判断することができる。この場合、制御装置２０５は、テーブル８００の"ａ"の欄と"ｄ"の欄とを参照し、通信回線２０７の現在時刻ｔ1における実効速度（回線速度）が、α［bps］以上であると予測する。
また、図６（ａ）、図７（ｂ）に示す情報を取得した場合、制御装置２０５は、発生符号レートは一定であるのに対し、送信データレートは低下していると判断することができる。この場合、制御装置２０５は、テーブル８００の"ａ"の欄と"ｅ"の欄とを参照し、通信回線２０７の現在時刻ｔ1における実効速度（回線速度）が、β［bps］以下であると予測する。
【００４６】
また、図６（ａ）、図７（ｃ）に示す情報を取得した場合、制御装置２０５は、発生符号レートは一定であるのに対し、送信データレートは増大していると判断することができる。この場合、制御装置２０５は、テーブル８００の"ａ"の欄と"ｆ"の欄とを参照し、通信回線２０７の現在時刻ｔ1における実効速度（回線速度）が、α［bps］以上であると予測する。
そして、その他の組合せにおいても同様にして通信回線２０７の現在時刻ｔ1における実効速度（回線速度）を予測することができる。
【００４７】
また、確保可能な通信路容量については、次のようにして取得することができる。例えば、通信制御装置２００と前記受信端末装置と無線アクセスポイントとが"IEEE 802.11e"規格に準拠しているとする。そして、通信制御装置２００と前記受信端末装置との間で動画像コンテンツをストリーミング配信する場合を考える。この場合、通信制御装置２００は、前記無線アクセスポイントに対して必要な回線容量を要求する。この要求を受けた前記無線アクセスポイントは、通信制御装置２００のプライオリティを加味して、現状確保可能な回線容量と前記要求を吟味した上で、確保した回線容量を通信制御装置２００に通知する。この場合、通信制御装置２００のプライオリティが低い場合は、ベストエフォートとなる。以上のようにして、通信制御装置２００は、確保可能な通信路容量を取得することができる。
【００４８】
尚、フレーム単位の発生符号量が、予測可能又は既知である場合、バースト数Ｌの更新（算出）は、次のようにして行うようにしてもよい。まず、前記フレーム単位の発生符号量、又は前記フレーム単位の発生符号量に関する変化の割合（傾き）に対して、任意の閾値を設ける。そして、現在のフレームの発生符号量が、前記任意の閾値を越えるか、又は前のフレームの符号量に対する現在のフレームの符号量の変化の割合が、前記任意の閾値を越えると判定された場合に、バースト数Ｌを更新（算出）する。
【００４９】
また、本実施形態では、図３及び図４に示したように、システム・クロック１０１の立ち上がりエッジが出現するのに同期して動作する系を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、システム・クロック１０１の立ち下がりエッジの出現に同期して動作する系、又は立ち上がりと立ち下がり両エッジの出現に同期して動作する系として構成することも可能である。また、システム・クロック１０１から、バースト送信するタイミングを算出するようにすることも可能である。すなわち、システム・クロック１０１に基づいてバースト送信するようにしていれば、バースト送信するタイミングは、どのようにして決定してもよい。
【００５０】
（本発明の他の実施形態）
前述した本発明の実施形態における通信制御装置を構成する各手段、並びに通信制御方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５１】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図５に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５３】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００５６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００６１】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態を示し、通信制御装置の構成の一例を示した図である。
【図２】本発明の実施形態を示し、符号化ディジタル動画像信号がパケット化装置でパケット化される様子の一例を概念的に示す図である。
【図３】本発明の実施形態を示し、通信制御装置から送信されるパケットの送信パターンの一例を示す図である。
【図４】本発明の実施形態を示し、バッファ・メモリから読み出されるパケットと、ＮＩＣから送信（バースト送信）されるパケットとの関係の一例を示す図である。
【図５】本発明の実施形態を示し、バースト数を算出してバースト送信する際の通信制御装置の動作の一例を図５のフローチャートである。
【図６】本発明の実施形態を示し、単位時間あたりの発生符号量（発生符号レート）の推移情報の一例を示す図である。
【図７】本発明の実施形態を示し、単位時間あたりの送信データ量（送信データレート）の推移情報の一例を示す図である。
【図８】本発明の実施形態を示し、制御装置が通信回線の実効速度を予測する際に使用するテーブルの一例を示す図である。
【符号の説明】
【００６３】
１０１  システム・クロック
１０２  パケットの送信パターン
２００  通信制御装置
２０１  符号化装置
２０２  パケット化装置
２０３  パケットスケジューラ
２０４  ＮＩＣ
２０５  制御装置
３０１  符号化ディジタル動画像信号
３０３  パケット
【図１】
0004883801.tif 000002
【図２】
0004883801.tif 000003
【図３】
0004883801.tif 000004
【図４】
0004883801.tif 000005
【図５】
0004883801.tif 000006
【図６】
0004883801.tif 000007
【図７】
0004883801.tif 000008
【図８】
0004883801.tif 000009