(57)【要約】【課題】  パケットの欠損を防止できる可変長フレームのシェーピング装置を提供する。【解決手段】  シェーピング装置２００は、ビデオサーバにより出力された信号の入力を受けるキューバッファ２１０と、指示されたパケットの読み出しを実行するために、キューバッファ２１０においてパケットを送出するためのバッファを選択する信号（キュー選択信号）を送出するタイミング発生器２２０と、パケットの読み出しを規定するタイミングを規定する信号を出力するカウンタ２３０と、基準のクロック信号の入力を受け、当該信号に基づいてビットレートと同じクロック周波数を生成する分周器２４０と、キューバッファ２１０からの信号を一時的に格納する送信バッファ２６０とを含む。【選択図】        図２
2006303724.tif 000002
【特許請求の範囲】
【請求項１】
複数のストリームの入力を受けるストリーム入力手段を備え、前記複数のストリームの各々は、複数のパケットをそれぞれ含み、
前記複数のパケットをそれぞれ格納する第１の記憶手段と、
前記複数のストリームの各々のビットレートに基づいて、前記複数のパケットの各々を読み出すタイミングを規定するための信号をそれぞれ生成する複数の生成手段と、
前記複数の生成手段の各々により生成された各々の信号に基づいて、前記第１の記憶手段から、前記各々の信号に対応するストリームのパケットを読み出す制御手段と、
前記第１の記憶手段から読み出されたパケットを格納する第２の記憶手段と、
前記第２の記憶手段に格納されているパケットを送信する送信手段とを備える、可変長フレームのシェーピング装置。
【請求項２】
前記複数の生成手段の各々は、
前記複数のストリームの等価ビットレートを生成するビットレート生成手段と、
前記等価ビットレートに基づいて前記信号を生成する信号生成手段とを含む、請求項１に記載の可変長フレームのシェーピング装置。
【請求項３】
前記複数の生成手段の各々は、
前記第１の記憶手段から前記第２の記憶手段へのパケットの送信に基づいて、前記第２の記憶手段に送信されたデータ量を特定するための特定データを取得する取得手段と、
前記ストリームのビットレートと前記特定データとに基づいて、前記信号を生成するタイミング信号生成手段とを含む、請求項１に記載の可変長フレームのシェーピング装置。
【請求項４】
前記取得手段は、前記第１の記憶手段に格納されているパケットの長さを取得し、
前記タイミング信号生成手段は、前記取得手段により取得されたパケットの長さを前記ストリームデータのビットレートに基づいて減算することにより、前記信号を生成する、請求項３に記載の可変長フレームのシェーピング装置。
【請求項５】
前記取得手段は、前記第１の記憶手段から前記第２の記憶手段に送信されたパケットの送信バイトを取得し、
前記タイミング信号生成手段は、前記送信バイトを前記ストリームのビットレートに基づいて減算することにより、前記信号を生成する、請求項３に記載の可変長フレームのシェーピング装置。
【請求項６】
他のパケット送信装置から出力された他のパケットの入力を受ける入力手段と、
前記他のパケットの送信と前記読み出されたパケットの送信とを切り換える切替制御手段とをさらに備える、請求項１に記載の可変長フレームのシェーピング装置。
【請求項７】
前記切替制御手段は、
前記送信手段によるパケットの送信を可能にするための第１のデータと、前記他のパケットの送信を可能にするための第２のデータとを格納する切替データ記憶手段を含み、前記第１のデータと前記第２のデータとは予め定められており、
前記第１のデータおよび前記第２のデータとに基づいて、前記第１の記憶手段から前記パケットを読み出すための第１の制御信号を前記制御手段に対して、そして、前記ストリームデータを送信させるための第２の制御信号を前記パケット送信装置に対して、排他的に出力する指令手段を含む、請求項６に記載の可変長フレームのシェーピング装置。
【請求項８】
前記切替制御手段は、時刻を計測する計時手段をさらに含み、
前記第１のデータと前記第２のデータとは、ストリームデータを送信するための帯域を使用するためにそれぞれ予め定められた割合であり、
前記指令手段は、前記計時手段により計測される時刻と前記それぞれ予め定められた割合とに基づいて、前記制御手段に対する前記第１の制御信号の出力と、前記パケット送信装置に対する前記第２の制御信号の出力とを切り替える、請求項７に記載の可変長フレームのシェーピング装置。
【請求項９】
前記切替制御手段は、
前記入力手段を介して入力される信号に基づいてパケットの有無を検出するパケット検出手段と、
前記他のパケット送信装置からのパケットを一時的に格納する一時格納手段と、
前記一時格納手段からのパケットの出力の有無を検出するアイドル検出手段と、
前記パケットの有無と前記パケットの出力の有無とに基づいて、前記第１の記憶手段に格納されているパケットを出力するか否かを判断する判断手段と、
前記判断手段による判断の結果に基づいて、前記信号を、前記制御手段に送出する指令手段とを含み、
前記制御手段は、前記信号に基づいて、前記第１の記憶手段に格納されているパケットを読み出す、請求項６に記載の可変長フレームのシェーピング装置。
【請求項１０】
前記切替制御手段は、
前記入力手段に対するパケットの入力が行なわれていないアイドル時間を計測するアイドル計測手段と、
前記入力手段からのパケットと前記アイドル時間とを格納するカスケード記憶手段と、
前記アイドル時間の経過を検知する検知手段と、
前記アイドル時間が経過するまで前記パケットを読み出すように、前記制御手段に前記信号を送信する指令手段と、
前記アイドル時間が経過するまでに前記入力手段に対するパケットの入力を検出した場合に、前記入力手段を介して入力されたパケットを、前記カスケード記憶手段に格納する保存制御手段と、
前記アイドル時間の経過後に、前記カスケード記憶手段に格納されているパケットを読み出す読出手段とを含む、請求項６に記載の可変長フレームのシェーピング装置。
【請求項１１】
前記第１の記憶手段は、前記複数のパケットの各々を一時的に格納するキューバッファを含み、
前記複数の生成手段の各々は、
前記複数のストリームの各々のビットレートを生成する分周器と、
前記分周器により生成されたビットレートに基づいてダウンカウントする複数のカウンタとを含み、
前記制御手段は、前記複数のカウンタの各々に応じて出力される信号に基づいて、前記キューバッファに格納されているパケットを読み出すタイミングを制御するコントローラを含む、請求項１に記載の可変長フレームのシェーピング装置。
【請求項１２】
データを電磁気的に格納する記憶手段を備える装置が複数のストリームの入力を受けるステップを備え、前記複数のストリームの各々は、複数のパケットをそれぞれ含み、
前記記憶手段に、前記複数のパケットをそれぞれ格納するステップと、
前記複数のストリームの各々のビットレートに基づいて、前記複数のパケットの各々を読み出すタイミングを規定するための信号をそれぞれ生成するステップと、
前記生成された各々の信号に基づいて、前記記憶手段から、前記各々の信号に対応するストリームのパケットを読み出すステップと、
前記記憶手段から読み出されたパケットを送信するステップとを備える、可変長フレームのシェーピング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケットを送信する技術に関し、より特定的には、可変長フレームの送信を制御するシェーピング装置およびシェーピング方法に関する。
【背景技術】
【０００２】
いわゆるコンテンツの配信に関し、視聴者による配信要求に応答して指定されたコンテンツを送信するサービスがある。当該サービスには、たとえばビデオ・オン・デマンド（ＶＯＤ（Video  On  Demand））も含まれる。ＶＯＤは、複数の視聴者からの各々の要求に応じて、各コンテンツを配信する。この場合、送信効率の観点からは、１つの送信チャンネルに対してコンテンツのデータ、すなわち映像パケットをバースト的に送信することが有利になるため、映像パケットがバースト的に送信される場合もある。
【０００３】
この場合、ネットワークに接続されているルータその他のバッファに対するトラフィックが集中することにより、あるいは視聴者側のデコーダが備えるバッファの受信可能な容量の制約により、パケットが欠損する確率が増加している。
【０００４】
そこで、たとえば、パケットネットワーク上の送信端末から単位時間あたりにネットワークに送出するデータ量を調節できるパケット送信装置が、特開２００１−２１１２０７号公報（特許文献１）に開示されている。
【特許文献１】特開２００１−２１１２０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、バースト性を均一にするために、いわゆるシェーピング処理をソフトウェア的に実行すると、当該ソフトウェアを実行するＣＰＵ（Central  Processing  Unit）その他の演算装置の負荷が大きくなる場合がある。その場合、ＣＰＵの負荷がピークに達している時、内部処理の遅延が発生するため、シェーピング処理の精度が低下する場合がある。一方、ＣＰＵに対する負荷を相対的に低くするためには、ＣＰＵの処理能力を高くする必要がある。この場合、高性能のＣＰＵが使用されることになるため、コストが増加するという問題が生じる。
【０００６】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、シェーピング処理の遅延を防止できるシェーピング装置を提供することである。
【０００７】
本発明の他の目的は、コストの増加を抑制できるシェーピング装置を提供することである。
【０００８】
本発明のさらに他の目的は、シェーピング処理の遅延を防止できるシェーピング方法を提供することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、この発明のある局面に従うと、可変長フレームのシェーピング装置は、複数のストリームの入力を受けるストリーム入力手段を備える。複数のストリームの各々は、複数のパケットをそれぞれ含む。当該シェーピング装置は、複数のパケットをそれぞれ格納する第１の記憶手段と、複数のストリームの各々のビットレートに基づいて、複数のパケットの各々を読み出すタイミングを規定するための信号をそれぞれ生成する複数の生成手段と、複数の生成手段の各々により生成された各々の信号に基づいて、第１の記憶手段から、各々の信号に対応するストリームのパケットを読み出す制御手段と、第１の記憶手段から読み出されたパケットを格納する第２の記憶手段と、第２の記憶手段に格納されているパケットを送信する送信手段とを備える。
【００１０】
好ましくは、複数の生成手段の各々は、複数のストリームの等価ビットレートを生成するビットレート生成手段と、等価ビットレートに基づいて信号を生成する信号生成手段とを含む。
【００１１】
好ましくは、複数の生成手段の各々は、第１の記憶手段から第２の記憶手段へのパケットの送信に基づいて、第２の記憶手段に送信されたデータ量を特定するための特定データを取得する取得手段と、ストリームのビットレートと特定データとに基づいて、信号を生成するタイミング信号生成手段とを含む。
【００１２】
好ましくは、取得手段は、第１の記憶手段に格納されているパケットの長さを取得する。タイミング信号生成手段は、取得手段により取得されたパケットの長さをストリームデータのビットレートに基づいて減算することにより、信号を生成する。
【００１３】
好ましくは、取得手段は、第１の記憶手段から第２の記憶手段に送信されたパケットの送信バイトを取得する。タイミング信号生成手段は、送信バイトをストリームのビットレートに基づいて減算することにより、信号を生成する。
【００１４】
好ましくは、可変長フレームのシェーピング装置は、他のパケット送信装置から出力された他のパケットの入力を受ける入力手段と、他のパケットの送信と読み出されたパケットの送信とを切り換える切替制御手段とをさらに備える。
【００１５】
好ましくは、切替制御手段は、送信手段によるパケットの送信を可能にするための第１のデータと、他のパケットの送信を可能にするための第２のデータとを格納する切替データ記憶手段を含む。第１のデータと第２のデータとは予め定められている。当該切替制御手段は、第１のデータおよび第２のデータとに基づいて、第１の記憶手段からパケットを読み出すための第１の制御信号を制御手段に対して、そして、ストリームデータを送信させるための第２の制御信号をパケット送信装置に対して、排他的に出力する指令手段を含む。
【００１６】
好ましくは、切替制御手段は、時刻を計測する計時手段をさらに含む。第１のデータと第２のデータとは、ストリームデータを送信するための帯域を使用するためにそれぞれ予め定められた割合である。指令手段は、計時手段により計測される時刻とそれぞれ予め定められた割合とに基づいて、制御手段に対する第１の制御信号の出力と、パケット送信装置に対する第２の制御信号の出力とを切り替える。
【００１７】
好ましくは、切替制御手段は、入力手段を介して入力される信号に基づいてパケットの有無を検出するパケット検出手段と、他のパケット送信装置からのパケットを一時的に格納する一時格納手段と、一時格納手段からのパケットの出力の有無を検出するアイドル検出手段と、パケットの有無とパケットの出力の有無とに基づいて、第１の記憶手段に格納されているパケットを出力するか否かを判断する判断手段と、判断手段による判断の結果に基づいて、信号を、制御手段に送出する指令手段とを含む。制御手段は、信号に基づいて、第１の記憶手段に格納されているパケットを読み出す。
【００１８】
好ましくは、切替制御手段は、入力手段に対するパケットの入力が行なわれていないアイドル時間を計測するアイドル計測手段と、入力手段からのパケットとアイドル時間とを格納するカスケード記憶手段と、アイドル時間の経過を検知する検知手段と、アイドル時間が経過するまでパケットを読み出すように、制御手段に信号を送信する指令手段と、アイドル時間が経過するまでに入力手段に対するパケットの入力を検出した場合に、入力手段を介して入力されたパケットを、カスケード記憶手段に格納する保存制御手段と、アイドル時間の経過後に、カスケード記憶手段に格納されているパケットを読み出す読出手段とを含む。
【００１９】
好ましくは、第１の記憶手段は、複数のパケットの各々を一時的に格納するキューバッファを含む。複数の生成手段の各々は、複数のストリームの各々のビットレートを生成する分周器と、分周器により生成されたビットレートに基づいてダウンカウントする複数のカウンタとを含む。制御手段は、複数のカウンタの各々に応じて出力される信号に基づいて、キューバッファに格納されているパケットを読み出すタイミングを制御するコントローラを含む。
【００２０】
この発明の他の局面に従うと、可変長フレームのシェーピング方法は、データを電磁気的に格納する記憶手段を備える装置が複数のストリームの入力を受けるステップを備え。複数のストリームの各々は、複数のパケットをそれぞれ含む。この方法は、記憶手段に、複数のパケットをそれぞれ格納するステップと、複数のストリームの各々のビットレートに基づいて、複数のパケットの各々を読み出すタイミングを規定するための信号をそれぞれ生成するステップと、生成された各々の信号に基づいて、記憶手段から、各々の信号に対応するストリームのパケットを読み出すステップと、記憶手段から読み出されたパケットを送信するステップとを備える。
【発明の効果】
【００２１】
本発明に係るシェーピング装置によると、パケットの送信に関するシェーピング処理の遅延を防止することができる。
【００２２】
本発明に係るシェーピング装置によると、シェーピング処理を実現するために、処理速度の速い演算装置が不要になるため、当該演算装置に要するコストを抑制することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２４】
＜第１の実施の形態＞
図１を参照して、本発明の第１の実施の形態に係るシェーピング装置２００の使用態様について説明する。図１は、シェーピング装置２００を含むコンテンツ配信システム１０を表わす図である。
【００２５】
シェーピング装置２００は、ビデオサーバ１２０に接続されている。シェーピング装置２００は、ビデオサーバ１２０により出力される信号の入力を受ける。ビデオサーバ１２０は、コンテンツＤＢ（Database）１１０に接続されている。コンテンツＤＢ１１０は、ビデオサーバ１２０による読出指令に応答して、予め格納されている映像音声データを読み出し、ビデオサーバ１２０に対して出力する。
【００２６】
シェーピング装置２００は、さらに、ネットワーク１３０に接続されている。ネットワーク１３０は、インターネットその他の通信回線である。ネットワーク１３０は、プライベートネットワークであってもよい。ネットワーク１３０には、セットトップボックス１４０が接続されている。セットトップボックス１４０は、データを一時的に格納するバッファ１４２と、圧縮符号化されているデータを復号するデコーダ１４４とを含む。セットトップボックス１４０は、テレビ１５０に接続されている。
【００２７】
シェーピング装置２００は、セットトップボックス１４０からの送信要求に応答して、その送信要求に含まれる識別データに応じた映像をセットトップボックス１４０に対して送出する。セットトップボックス１４０は、ネットワーク１３０を介してシェーピング装置２００からの映像音声信号を受信し、バッファ１４２に一時的に格納する。デコーダ１４４は、バッファ１４２に格納されている映像音声信号を復号化して、テレビ１５０に対して出力する。
【００２８】
図２を参照して、本実施の形態に係るシェーピング装置２００の構成について説明する。図２は、シェーピング装置２００のハードウェア構成を表わすブロック図である。シェーピング装置２００は、キューバッファ２１０と、タイミング発生器２２０と、カウンタ２３０と、分周器２４０と、送信バッファ２６０とを含む。
【００２９】
キューバッファ２１０は、ビデオサーバ１２０により出力された信号の入力を受ける。キューバッファ２１０は、信号として入力された複数のパケットの各々を格納するために予め区分された複数のバッファを含む。各パケットのそれぞれのバッファへの格納は、予め定められた基準に従って実行される。この基準は、たとえばバッファごとに予め付与された番号順、あるいはパケットの送信元に対して予め割り当てられたバッファの番号等であるが、その他の基準であってもよい。
【００３０】
タイミング発生器２２０は、キューバッファ２１０に電気的に接続されている。タイミング発生器２２０は、キューバッファ２１０においてパケットを送出するためのバッファを選択する信号（キュー選択信号）を送出することにより、指示されたパケットの読み出しを実行する。タイミング発生器２２０は、カウンタ２３０に接続されている。タイミング発生器２２０は、カウンタ２３０からのＣＲ信号に基づいて、キューバッファ２１０におけるキューバッファの選択を実行する。タイミング発生器２２０は、さらに、カウンタ２３０に対して、カウンタ２３０の内部においてダウンカウントされる信号をリセットするためのＰＲ信号を送出する。
【００３１】
カウンタ２３０は、分周器２４０に接続されている。分周器２４０は、基準のクロック信号の入力を受ける。分周器２４０は、その信号に基づいてビットレートと同じクロック周波数を生成する。カウンタ２３０は、分周器２４０からのビットレートに基づいて、キューバッファ２１０から送信バッファ２６０への送信のタイミングを制御する信号を生成する。
【００３２】
送信バッファ２６０は、キューバッファ２１０に電気的に接続されている。キューバッファ２１０に格納されているパケットがタイミング発生器２２０からのキュー選択信号に基づいて読み出されると、その読み出された信号は、送信バッファ２６０に送出される。送信バッファ２６０は、キューバッファ２１０からの信号を一時的に格納する。キューバッファ２１０から送信バッファ２６０に対してパケットが送信されるとき、カウンタ２３０は、送信されたパケットのバイト長を取得する。カウンタ２３０は、そのバイト長を内部メモリ（図示しない）に格納し、分周器２４０からのビットレートに基づいてキューバッファ２１０から送信バッファ２６０への送信量を計測する。
【００３３】
図３を参照して、本実施の形態に係るシェーピング装置２００におけるデータ構造について説明する。図３は、キューバッファ２１０におけるデータの格納の一態様を表わす図である。
【００３４】
キューバッファ２１０は、複数のバッファ領域に予め区分された第１のキューバッファから第ｎのキューバッファを含む。第１のキューバッファは、第１のコンテンツのデータを格納している。第２のキューバッファは、第２のコンテンツのデータを格納している。同様に第ｎ−１のキューバッファは、第ｎ−１のコンテンツのデータを格納している。一方、第ｎのキューバッファには、コンテンツのデータが格納されていない。すなわち、「ＮＵＬＬ」のデータのみ、格納されている。
【００３５】
ここで、各キューバッファは、ビデオサーバ２１０からそれぞれ送信されるパケットの種類に応じて別個に使用される。たとえば第１のコンテンツが複数のパケットデータを含む場合、第１のコンテンツのデータは、ビデオサーバ１２０から出力されるごとに、第１のキューバッファに逐次格納される。また第２のコンテンツが複数のデータを有する場合、ビデオサーバ１２０から出力される各々のデータは、逐次第２のキューバッファに格納される。
【００３６】
各キューバッファに対するコンテンツごとのデータの格納は、たとえば、以下のようにして実現される。まず、ビデオサーバ１２０において、コンテンツごとに送信されるキューバッファを特定するためのデータが、メモリ（図示しない）に格納されている。ビデオサーバ１２０の送信部（図示しない）は、そのデータを参照して送信アドレスを生成し、そのアドレスに基づいてコンテンツのデータをストリーム配信する。その結果、コンテンツのデータは、そのアドレスに基づいて特定されるキューバッファに格納される。
【００３７】
図４を参照して、本実施の形態に係るシェーピング装置２００の制御構造について説明する。図４は、シェーピング装置２００の各ハードウェアが実行する処理の手順を表わすフローチャートである。
【００３８】
ステップＳ４１０にて、カウンタ２３０は、キューバッファ２１０からのコンテンツデータの読み出しを検知する。ステップＳ４２０にて、カウンタ２３０は、読み出されたデータに基づいて送信バッファ２６０に対する送信レングス長を取得する。ステップＳ４３０にて、カウンタ２３０は、内部に保持するカウント値に送信レングス長を設定する。
【００３９】
ステップ４４０にて、カウンタ２３０は、分周器２４０からビットレートと同じバイトクロックの入力を受ける。ステップＳ４５０にて、カウンタ２３０は、送信バイト長をバイトクロックでダウンカウントする。ステップＳ４６０にて、カウンタ２３０は、カウント値が０であるか否かを判断する。カウンタ２３０が、カウント値は０であると判断すると（ステップＳ４６０にてＹＥＳ）、処理はステップＳ４７０に移される。そうでない場合には（ステップＳ４６０にてＮＯ）、処理はステップＳ４８０へ移される。
【００４０】
ステップＳ４７０にて、カウンタ２３０は、ＣＲ信号をイネーブル信号としてタイミング発生器２２０に対して出力する。タイミング発生器２２０は、イネーブル信号の入力に応答してキューバッファ２１０の中から特定のキューバッファを選択する。各カウンタ２３０は、それぞれキューバッファ２１０に対応している。したがって、特定のカウンタ２３０からの信号は、特定のキューバッファ２１０の選択に対応する。複数のキューバッファが存在する場合には、各キューバッファが、各イネーブル信号のプライオリティに基づいて、あるいはラウンドロビン方式あるいはキューバッファを識別する番号の昇順に応じて選択されるように、タイミング発生器２２０は、キューバッファの選択処理またはスケジューリング処理を実行する。なお、ラウンドロビン方式とは、一つの資源を順番に利用する手法をいう。コンピュータにおける処理では、各プロセスが一定時間ずつ順番に実行される。なお、ラウンドロビン方式は公知であるため、詳細な説明は繰り返さない。
【００４１】
ステップＳ４８０にて、カウンタ２３０は、ＣＲ信号をディスイネーブル信号として出力する。タイミング発生器２２０は、ディスイネーブル信号が入力されると、キューバッファ２１０に対するキューバッファの選択を一時的に停止する。
【００４２】
このようにして、タイミング発生器２２０によるキューバッファの選択は、カウンタ２３０からの信号に基づいて制御される。
【００４３】
図５を参照して、本実施の形態に係るシェーピング装置２００の制御構造についてさらに説明する。図５は、タイミング発生器２２０が実行する処理の手順を表わすフローチャートである。これらの処理は、カウンタ２３０からの信号に基づいて実行される。
【００４４】
ステップＳ５１０にて、タイミング発生器２２０は、カウンタ２３０からＣＲ信号が入力されたか否かを判断する。タイミング発生器２２０が、カウンタ２３０からＣＲ信号が入力されたと判断すると（ステップＳ５１０にてＹＥＳ）、処理はステップＳ５２０に移される。そうでない場合には（ステップＳ５１０にてＮＯ）、処理は終了する。
【００４５】
ステップＳ５２０にて、タイミング発生器２２０は、ＣＲ信号がイネーブル信号であるか否かを判断する。タイミング発生器２２０が、ＣＲ信号はイネーブル信号であると判断すると（ステップＳ５２０にてＹＥＳ）、処理はステップＳ５３０に移される。そうでない場合には（ステップＳ５２０にてＮＯ）、処理は終了する。
【００４６】
ステップＳ５３０にて、タイミング発生器２２０は、複数のイネーブル信号が入力されたか否かを判断する。タイミング発生器２２０が、複数のイネーブル信号は入力されていると判断すると（ステップＳ５３０にてＹＥＳ）、処理はステップＳ５４０に移される。そうでない場合には（ステップＳ５３０にてＮＯ）、処理はステップＳ５５０に移される。
【００４７】
ステップＳ５４０にて、タイミング発生器２２０は、キューバッファ２１０の中から、予め定められた順序に基づいてＣＲ信号に対応するキューバッファを順次選択する。
【００４８】
ステップＳ５４２にて、タイミング発生器２２０は、選択されたキューバッファにコンテンツデータが存在するか否かを判断する。タイミング発生器２２０が、コンテンツデータはキューバッファに存在すると判断すると（ステップＳ５４２にてＹＥＳ）、処理はステップＳ５４４に移される。そうでない場合には（ステップＳ５４２にてＮＯ）、処理は終了する。
【００４９】
ステップＳ５４４にて、タイミング発生器２２０は、選択されたキューバッファからコンテンツデータを読み出し、そして、送信バッファ２６０に書き込む。ステップＳ５４６にて、タイミング発生器２２０は、すべてのキューバッファの選択が終了しているか否かを判断する。タイミング発生器２２０が、当該選択は終了していると判断すると（ステップＳ５４６にてＹＥＳ）、処理は終了する。そうでない場合には（ステップＳ５４６にてＮＯ）、処理はステップＳ５４４に戻される。
【００５０】
ステップＳ５５０にて、タイミング発生器２２０は、ＣＲ信号に対応するキューバッファを選択する。ステップＳ５５２にて、タイミング発生器２２０は、選択されたキューバッファにコンテンツデータが存在しているか否かを判断する。タイミング発生器２２０が、コンテンツデータはそのキューバッファに存在していると判断すると（ステップＳ５５２にてＹＥＳ）、処理はステップＳ５５４に移される。そうでない場合には（ステップＳ５５２にてＮＯ）、処理は終了する。ステップＳ５５４にて、タイミング発生器２２０は、キューバッファ２１０からコンテンツデータを読み出し、そして送信バッファ２６０に書き込む。
【００５１】
図６を参照して、本実施の形態に係るシェーピング装置２００によるパケットの送信態様について説明する。図６は、シェーピング装置２００に入力されたパケットの出力態様を表わすシェーピングダイヤグラムである。
【００５２】
ダイヤグラム（Ａ）に示されるように、特定のコンテンツを構成する複数のパケットは、ビデオサーバ１２０から間欠的にシェーピング装置２００に入力される。すなわち時刻ｔ（１０）において、パケット６１０がシェーピング装置２００に入力される。時刻ｔ（２０）において、パケット６２０がシェーピング装置２００に入力される。時刻ｔ（３０）において、パケット６３０が、シェーピング装置２００に入力される。ここでパケット６１０は、パケット長ＬＡを有する。パケット６２０は、パケット長ＬＢを有する。パケット長ＬＢは、パケット長ＬＡの２倍である。パケット６３０は、パケット長ＬＣを有する。パケット長ＬＣは、パケット長ＬＡと同じである。
【００５３】
ダイヤグラム（Ｂ）は、シェーピング装置２００に入力された各パケットを理想的なビットレートで送信した場合の送信態様を表わす図である。ここで理想的なビットレートは、たとえばＴ（Ｍｂｐｓ（Mega  bit  per  second））である。このとき、パケット６１０を送信するための時間ｔＡは、ＬＡ／Ｔにより算出される。パケット６２０を送信するための時間ｔＢは、算式ＬＢ／Ｔにより算出される。パケット６３０を送信するための時間ｔＣは、算式ＬＣ／Ｔにより算出される。このようにして各パケットを送信するための時間が特定されると、先行するパケットの送信時間が経過するまでは、次のパケットの送信は禁止される。
【００５４】
具体的には、ダイヤグラム（Ｃ）に示されるように、パケット６１０の送信が時刻ｔ（１０）から開始されると、パケット６２０の送信は時刻ｔ（２１）まで行なわれない。この場合、時刻ｔ（１０）とｔ（２１）との間の時間は、パケット６１０を送信するために必要な時間ｔＡに相当する。
【００５５】
同様に時刻ｔ（２１）においてパケット６２０の送信が開始されると、パケット６３０の送信は、時刻ｔ（３１）まで行なわれない。この場合、時刻ｔ（２１）とｔ（３１）との間の時間は、パケット６２０を送信するために必要な時間ｔＢに相当する。さらにパケット６３０は、時刻ｔ（３１）からその送信が開始され、時刻ｔ（４１）まで継続される。時刻ｔ（３１）と時刻ｔ（４１）との間の時間は、パケット６３０を送信するために必要な時間ｔＣに相当する。したがって、たとえばパケット６３０の次に送信されるべきパケットが存在する場合には、時刻ｔ（４１）が経過するまで、その送信は行なわれない。
【００５６】
上記の場合、時刻ｔ（１１）から時刻ｔ（２１）までの間は、他のコンテンツを構成する他のパケットの送信のために使用される。
【００５７】
以上のようにして、本実施の形態に係るシェーピング装置２００によると、キューバッファ２１０に一時的に格納されているストリームデータの読み出しおよび送信は、タイミング発生器２２０によって制御される。タイミング発生器２２０は、カウンタ２３０から出力される信号に基づいてキューバッファを選択し、キューバッファに格納されているデータを読み出し、そして、送信バッファ２６０に書き込む。
【００５８】
カウンタ２３０は、分周器２４０から入力されるビットレートに基づいて、キューバッファ２１０から送信バッファ２６０へのデータの送信状態を監視する。たとえば、カウンタ２３０は、キューバッファ２１０から送信バッファ２３０に送信されたデータ量を計測する。カウンタ２３０は、そのデータ量を初期値に設定して、分周器２４０からの信号に基づいてダウンカウントする。カウントされた値が０になるまで、カウンタ２３０は、キューバッファ２１０から送信バッファ２６０への次のパケットの送信を禁止するように、ディスイネーブル信号を、タイミング発生器２２０に出力する。
【００５９】
このようにすると、キューバッファ２１０から送信バッファ２６０への送信が、いわゆるバースト的になることを防止できる。その結果、シェーピング装置２００に接続されているネットワーク１３０の負荷の突発的な増加が防止される。また、シェーピング装置２００によって配信されるパケットの欠損が防止される。このような欠損は、ネットワーク１３０において、あるいはセットトップボックス１４０のデコーダ１４４においても防止され得る。
【００６０】
また、シェーピング装置２００における処理は、ＣＰＵを用いたソフトウェアの処理ではなく、ハードウェアの処理として実現される。したがって、ＣＰＵを用いる場合に生じ得る処理の遅延の発生を防止することができる。また、その遅延を防止するために高性能なＣＰＵ、すなわち処理動作が速いＣＰＵを使用する必要もないため、シェーピング装置２００のコストの増加を抑制することもできる。
【００６１】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態について説明する。本実施の形態に係るシェーピング装置は、カスケード結合することができる点で、前述のシェーピング装置２００と異なる。このカスケード結合により、キューバッファ２１０における領域に制約があっても、それ以上のストリームデータをパケットとして逐次送信することができる。
【００６２】
図７を参照して、本実施の形態に係るシェーピング装置の構成について説明する。図７は、本実施の形態に係るシェーピング装置７００−１のハードウェア構成を表わすブロック図である。シェーピング装置７００−２もシェーピング装置７００−１と同一の構成を有する。なお、適宜、説明の簡易のため、シェーピング装置７００−１，７００−２の総称を、シェーピング装置７００として表わす。
【００６３】
シェーピング装置７００は、シェーピングユニット７５０と、カスケード／自局切換回路８００と、受信部７６０と、カスケードゲート７７０と、ＯＲ回路７８０と、送信バッファ２６０とを含む。なお、シェーピングユニット７５０は、タイミング発生器７２０を除いて、図２に示されるシェーピング装置２００と同一のハードウェア構成を有する。したがって、当該構成の説明は、ここでは繰り返さない。
【００６４】
シェーピング装置７００−１は、信号線を介して他のシェーピング装置７００−２にカスケード接続されている。受信部７６０は、他のシェーピング装置７００−２からのパケットの入力を受ける。受信部７６０は、そのパケットをカスケードゲート７７０に対して送出する。カスケードゲート７７０には、カスケード／自局切換回路８００からのイネーブル信号ＥＮ１が入力される。カスケードゲート７７０は、その信号に応じてゲート部の動作を切り換える。カスケード／自局切換回路８００は、さらにシェーピングユニット７５０に接続されている。カスケード／自局切換回路８００は、シェーピングユニット７５０に対してイネーブル信号ＥＮ２を送信することにより、シェーピングユニット７５０によるパケットの送出を制御する。シェーピングユニット７５０から出力されるパケットは、ＯＲ回路７８０に入力される。ＯＲ回路７８０は、カスケードゲート７７０からのパケットおよびシェーピングユニット７５０からのパケットのいずれかを送信バッファ２６０に対して送出する。
【００６５】
シェーピングユニット７５０は、タイミング発生器７２０と、キューバッファ２１０と、カウンタ２３０と、分周器２４０とを含む。タイミング発生器７７０は、カスケード／自局切換回路８００からのイネーブル信号ＥＮ２の入力を受ける。タイミング発生器７２０は、イネーブル信号ＥＮ２の入力とカウンタ２３０からの信号とに基づいて、キューバッファ２１０におけるバッファの選択およびデータの読み出しを実行する。この処理は、前述の第１の実施の形態における処理と同じであるので、ここではその説明を繰り返さない。
【００６６】
カスケード／自局切換回路８００は、さらに外部から、カスケード用の制御信号の入力を受ける。この信号は、すなわち複数のシェーピング装置が接続されている場合に、いずれのシェーピング装置からのパケットの出力を実行するかを規定するための信号である。たとえば、カスケード／自局切換回路８００は、当該信号をシェーピング装置７００−１に接続されているシェーピング装置７００−２に送信して、シェーピング装置７００−２の動作を制御する。
【００６７】
このようにすると、パケットが格納されるキューバッファの数を物理的に増やすことができるため、１台のシェーピング装置を使用する場合に比べて多くの種類のパケットをパケットの欠損を生じることなく配信することができる。
【００６８】
図８を参照して、本実施の形態に係るシェーピング装置７００の構成についてさらに説明する。図８は、カスケード／自局切換回路８００のハードウェア構成を表わすブロック図である。カスケード／自局切換回路８００は、入力回路８１０と、判断回路８３０と、クロック８２０と、出力回路８４０と、メモリ９００とを含む。
【００６９】
入力回路８１０は、カスケード用の制御信号の入力を受ける。入力回路８１０は、判断回路８３０に電気的に接続されている。入力回路８１０に対して入力された信号は、判断回路８３０に対して送出される。判断回路８３０は、クロック８２０に電気的に接続されている。クロック８２０からの信号は、判断回路８３０に対して入力される。また、判断回路８３０は、メモリ９００に電気的に接続されている。
【００７０】
判断回路８３０は、入力回路８１０からの信号とクロック８２０からの信号とメモリ９００に格納されているデータとに基づいて、カスケード結合されているシェーピング装置７００−２あるいは自局、すなわちシェーピング装置７００−１によるパケットの送信タイミングを制御する。この制御は、たとえば予め設定されている帯域の使用割合に応じて実行される。判断回路８３０は、いずれの装置がパケットを送出するかを表わす信号を、出力回路８４０に対して送出する。
【００７１】
出力回路８４０は、シェーピング装置７００−２およびシェーピング装置７００−１にそれぞれ電気的に接続されている。出力回路８４０はさらに、カスケードゲート７７０に電気的に接続されている。したがって、出力回路８４０が判断回路８３０により生成された信号を出力すると、カスケードゲート７７０は、その信号に応じてゲート部の開閉を切り換える。シェーピング装置７００−２は、出力回路８４０からの信号に応答してパケットの送出を切り換える。また、シェーピング装置７００−１は、出力回路８４０からの信号に応答して、キューバッファの選択およびパケットの送出のための処理を実行する。
【００７２】
図９を参照して、本実施の形態に係るシェーピング装置のデータ構造について説明する。図９は、メモリ９００におけるデータの格納の一態様を概念的に表わす図である。
【００７３】
メモリ９００は、領域９１０と領域９２０とを含む。接続されている装置を表わすデータは、領域９１０に格納されている。帯域の使用割合を表わすデータは、領域９２０に格納されている。たとえば、２つのシェーピング装置がカスケード結合される場合、第１のシェーピング装置および第２シェーピング装置のそれぞれを識別するためのデータが領域９１０に格納される。また各シェーピング装置に対して割り当てられた帯域を使用できる割合は、それぞれ領域９２０に格納されている。
【００７４】
図９に示される例では、第１のシェーピング装置、たとえばシェーピング装置７００−２は、予め設定された単位時間に対して３０％の時間だけ帯域を使用することができる。第２のシェーピング装置、たとえばシェーピング装置７００−２は、同様に７０％の帯域を使用することができる。なお、このような割合は、固定されているものではなく、入力回路８１０を介したデータの入力に応じて変更できるものであってもよい。また、カスケード結合されるシェーピング装置の数は、２台に限られない。それ以上のシェーピング装置が接続されてもよい。さらに、帯域の使用割合は、シェーピング装置によって構成されるシステムにおけるパケットの送信量に応じて変更されるものであってもよい。
【００７５】
ここで、図１０を参照して、本実施の形態に係るシェーピング装置の動作の状態について説明する。図１０は、２台のシェーピング装置７００−１，７００−２が接続されている場合における各装置の動作の状態を表わすタイミングチャートである。
【００７６】
チャート（Ａ）に示されるように、各シェーピング装置は、メモリ９００において指定されている割合に応じて選択される。たとえば時間帯１０１０は、シェーピング装置７００−２におけるキューバッファの選択のために使用される。時間帯１０２０は、シェーピング装置７００−１におけるキューバッファの選択のために使用される。ここで時間帯１０１０および時間帯１０２０により構成される時間が、カスケード結合されているシェーピング装置７００−１，７００−２における動作を規定する単位時間に相当する。
【００７７】
その後、時間帯１０３０において、シェーピング装置７００−２においてキューバッファの選択が再び実行される。さらに時間帯１０４０において、シェーピング装置７００−１におけるキューバッファの選択が実行される。
【００７８】
このような場合、各シェーピング装置に対する制御信号の状態はチャート（Ｂ）および（Ｃ）にそれぞれ示される。チャート（Ｂ）に示されるように、すなわちシェーピング装置７００−２からのパケットの送信を実行する場合、カスケード／自局切換回路８００は、「Ｈｉｇｈ」に設定されたイネーブル信号ＥＮ１を、カスケードゲート７７０に対して送信する（チャート（Ｂ））。また、このとき、カスケード／自局切換回路８００は、「Ｌｏ」に設定されたイネーブル信号ＥＮ２を、シェーピングユニット７５０に対して送出する（チャート（Ｃ））。これらの信号は、時刻ｔ（１）からｔ（２）まで出力される。
【００７９】
その結果、カスケードゲート７７０は、そのゲート部をオープンに切り替える。そのため、シェーピング装置７００−２からのパケットは、カスケードゲート７７０を通り、ＯＲ回路７８０に送出される。一方、シェーピングユニット７５０において、タイミング発生器７２０は、キューバッファ２１０に対するキューバッファの選択、パケットの読み出し、および送出を実行しない。そのため、シェーピングユニット７５０からＯＲ回路７８０に対しては、パケットは送出されない。その結果、ＯＲ回路７８０は、シェーピング装置７００−２からのパケットを送信バッファ２６０に送出する。
【００８０】
その後、時刻ｔ（２）において、カスケード／自局切換回路８００は、シェーピング装置７００−２からのパケットの送信を停止するために、「Ｌｏ」に設定されたイネーブル信号ＥＮ１を、カスケードゲート７７０に対して送出する。カスケードゲート７７０は、そのゲート部を閉じるため、ＯＲ回路へのパケットの送信が停止する。
【００８１】
一方、カスケード／自局切換回路８００は、シェーピングユニット７５０からのパケットの送信を実行するために、「Ｈｉｇｈ」に設定されたイネーブル信号ＥＮ２を、シェーピングユニット７５０に対して送信する。その結果、シェーピングユニット７５０において読み出されたパケットは、ＯＲ回路７８０に送出される。これにより、シェーピングユニット７５０からのパケットは、ＯＲ回路７８０を介して、送信バッファ２６０に入力される。その後、当該パケットは、シェーピング装置７００−１の外部に出力される。
【００８２】
その後、時刻ｔ（３）において、イネーブル信号ＥＮ１，ＥＮ２が再び切り替えられると、時刻ｔ（１）における処理と同様の処理が実行され、シェーピング装置７００−１，７００−２からの送信が切り替えられる。
【００８３】
ここで、図１１を参照して、本実施の形態に係る他の局面について説明する。図１１は、シェーピング装置７００−１，７００−２の各々のシェーピング機能を一時的に停止させるために出力される信号を表わすタイミングチャートである。
【００８４】
チャート（Ａ）に示されるように、イネーブル信号ＥＮ１について、基本的に「Ｈｉｇｈ」の信号が出力されている場合において、断続的に「Ｌｏｗ」のイネーブル信号ＥＮ１が出力されてもよい。この場合、シェーピング装置７００−２からのパケットの送信が一時的に中断されることになる。
【００８５】
同様に、チャート（Ｂ）に示されるように、イネーブル信号ＥＮ２について、基本的に「Ｈｉｇｈ」に設定された信号が出力されている場合、断続的に「Ｌｏ」のイネーブル信号ＥＮ２が出力されてもよい。この場合、シェーピング装置７００−１が備えるシェーピングユニット７５０からのパケットの送信が一時的に中断されることになる。
【００８６】
このようにすると、負荷が一時的に変動した場合であっても、パケットの欠損を防止しつつ、カスケード接合されている各シェーピング装置からのパケットのシェーピング機能を実現することができる。
【００８７】
以上のようにして、本発明の第２の実施の形態に係るシェーピング装置７００によると、カスケード結合されている他のシェーピング装置における動作を規定するための制御信号が、当該他のシェーピング装置に対して送出される。この制御信号に応じて各パケットの送信経路を切り替えることにより、複数のシェーピング装置の各々からのパケット送信を制御することができる。したがって、複数のシェーピング装置を接続しても、通信回線に対する負荷の増加によるパケットの欠損を防止することができる。また、単一のシェーピング装置においてキューバッファの数に制約があっても、それ以上のバッファを確保することが物理的に可能になるため、より多くのストリームを配信することができる。
【００８８】
＜第３の実施の形態＞
以下、本発明の第３の実施の形態について説明する。本実施の形態に係るシェーピング装置は、カスケード結合されている他のシェーピング装置に対してパケットの送信を切り替えるための制御信号のフィードバックを行なう必要がない点で、第２の実施の形態に係るシェーピング装置７００と異なる。
【００８９】
なお、以下の説明において、同一の要素には同一の番号を付してある。それらの機能も同じである。したがって、それらについての説明は、ここでは繰り返さない。
【００９０】
図１２を参照して、本実施の形態に係るシェーピング装置について説明する。図１２は、シェーピング装置１２００のハードウェア構成を表わすブロック図である。シェーピング装置１２００は、受信部１２１０と、パケット検出回路１２２０と、パケット遅延バッファ１２３０と、判断回路１２４０と、ＩＤＬＥ検出回路１２５０と、シェーピングユニット７５０と、ＯＲ回路７８０と、送信バッファ２６０とを含む。シェーピング装置１２００は、信号線１２０２を介してシェーピング装置２００に接続されている。
【００９１】
受信部１２１０は、信号線１２０２に接続されている。受信部１２１０は、さらに、パケット検出回路１２２０とパケット遅延バッファ１２３０とに電気的に接続されている。パケット検出回路１２２０は、判断回路１２４０に電気的に接続されている。判断回路１２４０は、ＩＤＬＥ検出回路１２５０に電気的に接続されている。パケット遅延バッファ１２３０は、ＩＤＬＥ検出回路１２５０とＯＲ回路７８０とにそれぞれ電気的に接続されている。判断回路１２４０は、さらにシェーピングユニット７５０に電気的に接続されている。
【００９２】
シェーピング装置２００から出力されたパケットは、信号線１２０２を介して受信部１２１０に対して入力される。受信部１２１０が、受信したパケットをパケット遅延バッファ１２３０に送出すると、パケット検出回路１２２０は、そのパケットの送信を検知する。パケット遅延バッファ１２３０は、予め設定された１パケット当たりの最大長の領域を有する。受信部１２１０から出力されたパケットは、そのパケット長だけパケット遅延バッファ１２３０に格納される。パケット遅延バッファ１２３０からＯＲ回路７８０に対してパケットが送出されるとき、あるいは送出されないとき、ＩＤＬＥ検出回路１２５０は、そのようなパケットの送出の有無を検出する。
【００９３】
判断回路１２４０は、パケット検出回路１２２０によるパケットの検出結果とＩＤＬＥ検出回路１２５０によるパケットの送出の有無の検出結果とに基づいて、シェーピングユニット７５０によるパケットの出力を実行するか否かを判断する。具体的には、受信部１２１０からパケット遅延バッファ１２３０へのパケットの送信が検出されず、かつＩＤＬＥ検出回路１２５０がパケット遅延バッファ１２３０からＯＲ回路７８０へのパケットの送信を検出しない場合に、判断回路１２４０は、シェーピングユニット７５０からのパケットの送信を実行すると判断する。このような判断がなされると、判断回路１２４０は、シェーピングユニット７５０のタイミング発生器７２０に対してパケットの送信処理を実行するように制御信号（たとえば第２の実施の形態におけるイネーブル信号ＥＮ２）を送信する。
【００９４】
一方、上述の条件が成立しない場合、あるいは当初成立していたときに途中から成立しなくなった場合には、判断回路１２４０は、シェーピング装置２００により送出されたパケットの送信を開始すると判断する。たとえば、パケット遅延バッファ１２３０からＯＲ回路７８０へのパケットの送信が行なわれている場合にパケット検出回路１２２０が受信部１２１０からのパケットの送信を検知したとき、判断回路１２４０は、シェーピングユニット７５０からのパケットの送信が完了するまで、シェーピング装置２００からのパケットの出力を待機させる。
【００９５】
以上のようにして、本発明の第３の実施の形態に係るシェーピング装置１２００によると、パケット遅延バッファ１２３０におけるパケットの有無に基づいて、カスケード接合されているシェーピング装置２００からのパケットの送信と、自局すなわちシェーピングユニット７５０からのパケットの送信とを切り替える。この場合、シェーピング装置１２００は、シェーピング装置２００に対する制御信号を送信するための回路を必要としないため、シェーピング装置１２００の構成が複雑にならない。また、シェーピング装置２００，１２００のカスケード接合を簡易に実現することができる。
【００９６】
＜第４の実施の形態＞
以下、本発明の第４の実施の形態について説明する。本実施の形態に係るシェーピング装置は、パケットの送信が行なわれていない場合に他のシェーピング装置からのパケットの送信を実行する機能を有する点で、前述の各実施の形態と異なる。
【００９７】
図１３を参照して、本実施の形態に係るシェーピング装置１３００の構成について説明する。図１３は、シェーピング装置１３００のハードウェア構成を表わすブロック図である。シェーピング装置１３００は、受信部１２１０と、ＩＤＬＥ時間計測部１３１０と、ＯＲ回路１３２０と、カスケードキューバッファ１３３０と、カスケード／自局切換部１３５０と、ギャップ情報カウンタ１３４０と、シェーピングユニット７５０と、ＯＲ回路７８０と、送信バッファ２６０とを含む。
【００９８】
受信部１２１０は、信号線を介してシェーピング装置２００により送信されたパケットの入力を受ける。受信部１２１０は、そのパケットをＯＲ回路１３２０に対して送出する。ＩＤＬＥ時間計測部１３１０は、受信部１２１０からＯＲ回路１３２０へのパケットの送信の有無に基づいて、パケットが送信されていない時間を計測する。
【００９９】
ＩＤＬＥ時間計測部１３１０には、時刻情報が入力される。カスケードキューバッファ１３３０は、複数のキューバッファを含む。各々のキューバッファは、予め設定された容量を有し、受信部１２１０から出力されるパケットあるいはＩＤＬＥ時間計測部１３１０から出力されるギャップ情報を格納する。この場合、各キューバッファへの格納は、予め設定された順序に応じて実行される。後述するように、送信バッファ２６０に対してデータが読み出された場合には、空いている領域にさらに格納される。ここで、ギャップ情報とは、ＩＤＬＥ時間計測部１３１０による計測結果に基づいて受信部１２１０からパケットが出力されていない時間を表わす情報をいう。このような情報は、カスケード／自局切換部１３５０における判断処理に使用される。
【０１００】
ギャップ情報カウンタ１３４０には、時刻情報が入力される。ギャップ情報カウンタ１３４０は、その情報に基づいてギャップ情報の有無を計測する。ギャップ情報カウンタ１３４０により出力される信号は、カスケード／自局切換部１３５０に入力される。
【０１０１】
カスケード／自局切換部１３５０は、ギャップ情報カウンタ１３４０からの情報に基づいてカスケードキューバッファ１３３０からのパケットの出力あるいはシェーピングユニット７５０からのパケットの出力を切換えるための信号を生成する。たとえばギャップが存在しない情報がギャップ情報カウンタ１３４０からカスケード／自局切換部１３５０に入力されると、カスケード／自局切換部１３５０は、カスケードキューバッファ１３３０からのパケットの出力を可能とするように、イネーブル信号ＥＮ１をカスケードキューバッファ１３３０に対して出力する。
【０１０２】
一方、カスケードキューバッファ１３３０におけるパケットの格納が存在しないことがギャップ情報カウンタ１３４０からの情報により確認されると、カスケード／自局切換部１３５０は、シェーピングユニット７５０からパケットの出力を実行するようにイネーブル信号ＥＮ２を生成し、シェーピングユニット７５０に対してイネーブル信号ＥＮ２を送出する。イネーブル信号ＥＮ２は、タイミング発生器７２０に入力される。これらの動作を規定する制御構造については後述する。
【０１０３】
ここで、図１４を参照して、本実施の形態に係るシェーピング装置１３００の制御構造について説明する。図１４は、シェーピング装置１３００が実行する処理の手順を表わすフローチャートである。
【０１０４】
ステップＳ１４１０にて、ＩＤＬＥ時間計測部１３１０は、カスケード側の装置すなわちシェーピング装置２００からパケットの入力があるか否かを判断する。ＩＤＬＥ時間計測部１３１０が、そのような入力があると判断すると（ステップＳ１４１０にてＹＥＳ）、処理はステップＳ１４２０に移される。そうでない場合には（ステップＳ１４１０にてＮＯ）、処理はステップＳ１４３０に移される。
【０１０５】
ステップＳ１４２０にて、カスケードキューバッファ１３３０は、ＯＲ回路１３２０から出力されるパケットをいずれかのキューバッファに格納する。この格納は、予め設定された順序に従って行なわれる。
【０１０６】
ステップＳ１４３０にて、ＩＤＬＥ時間計測部１３１０は、アイドル時間を計測する。ここでアイドル時間とは、受信部１２１０からパケットが出力されていない時間をいう。
【０１０７】
ステップＳ１４４０にて、ＩＤＬＥ時間計測部１３１０は、予め設定された最大時間が経過したか否かを判断する。この判断は、ＩＤＬＥ時間計測部１３１０により計測されたアイドル時間と、メモリ（図示しない）に格納されている最大時間とを比較することにより行なわれる。ＩＤＬＥ時間計測部１３１０が、最大時間は経過していると判断すると（ステップＳ１４４０にてＹＥＳ）、処理はステップＳ１４５０に移される。そうでない場合には（ステップＳ１４４０にてＮＯ）、処理はステップＳ１４６０に移される。ステップＳ１４５０にて、ＩＤＬＥ時間計測部１３１０は、最大時間をギャップ情報として、カスケードキューバッファ１３３０に格納する。
【０１０８】
ステップＳ１４６０にて、ＩＤＬＥ時間計測部１３１０は、受信部１２１０からＯＲ回路１３２０へのパケットの入力があるか否かを判断する。ＩＤＬＥ時間計測部１３１０が、そのようなパケットの入力があると判断すると（ステップＳ１４６０にてＹＥＳ）、処理はステップＳ１４７０に移される。そうでない場合には（ステップＳ１４６０にてＮＯ）、処理はステップＳ１４８０に移される。ステップＳ１４７０にて、ＩＤＬＥ時間計測部１３１０は、計測されたアイドル時間をギャップ情報としてカスケードキューバッファ１３３０のいずれかのバッファに格納する。
【０１０９】
ステップＳ１４８０にて、ＩＤＬＥ時間計測部１３１０は、予め定められた時間が経過したか否かを判断する。ＩＤＬＥ時間計測部１３１０が、予め定められた時間は経過していると判断すると（ステップＳ１４８０にてＹＥＳ）、処理はステップＳ１４９０に移される。そうでない場合には（ステップＳ１４８０にてＮＯ）、処理はステップＳ１４３０に戻される。ステップＳ１４９０にて、ＩＤＬＥ時間計測部１３１０は、計測されたアイドル時間をギャップ情報として、カスケードキューバッファ１３３０のいずれかの領域に格納する。
【０１１０】
図１５を参照して、本実施の形態に係るシェーピング装置１３００の制御構造についてさらに説明する。図１５は、カスケード／自局切換部１３５０が実行する処理の手順を表わすフローチャートである。
【０１１１】
ステップＳ１５１０にて、カスケード／自局切換部１３５０は、ギャップ情報カウンタ１３４０からギャップ情報の入力を受ける。ステップＳ１５２０にて、カスケード／自局切換部１３５０は、ギャップ情報に対応する時間が経過したか否かを判断する。カスケード／自局切換部１３５０が、そのような時間は経過していると判断すると（ステップＳ１５２０にてＹＥＳ）、処理はステップＳ１５３０に移される。そうでない場合には（ステップＳ１５２０にてＮＯ）、処理はステップＳ１５４０に移される。
【０１１２】
ステップＳ１５３０にて、カスケード／自局切換部１３５０は、シェーピングユニット７５０に対してディスイネーブル信号をＣＲ信号として送出する。その結果、シェーピングユニット７５０がキューバッファ２１０からパケットを出力していた場合には、そのパケットの出力が完了した場合に、それ以降の出力を停止する。
【０１１３】
ステップＳ１５４０にて、カスケード／自局切換部１３５０は、シェーピングユニット７５０に対してイネーブル信号をＣＲ信号として送出する。これにより、キューバッファ２１０にパケットが格納されている場合には、タイミング発生器７２０はキューバッファ２１０からパケットを読み出してＯＲ回路７８０に対して出力する。
【０１１４】
以上のようにして、本実施の形態に係るシェーピング装置１３００は、カスケード結合されたシェーピング装置から送出されたバッファを格納するカスケードキューバッファ１３３０を備える。カスケード／自局切替部１３５０は、カスケードキューバッファ１３３０へのパケットの送信の有無に基づいて、カスケードキューバッファ１３３０に格納されているパケットの送出と、シェーピングユニット７５０に格納されているパケットの送出とを切り替える。
【０１１５】
このようにすると、シェーピング装置１３００に他のシェーピング装置、たとえばシェーピング装置２００を接続することができるため、送信バッファ２６０からネットワーク１３０に配信されるパケットの種類、すなわちコンテンツの種類を増やすことができる。
【０１１６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１の実施の形態に係るシェーピング装置２００を含む情報提供ネットワークを表わす図である。
【図２】シェーピング装置２００のハードウェア構成を表わすブロック図である。
【図３】キューバッファ２１０におけるデータの格納の一態様を表わす図である。
【図４】シェーピング装置２００の各ハードウェアが実行する処理の手順を表わすフローチャートである。
【図５】タイミング発生器２２０が実行する処理の手順を表わすフローチャートである。
【図６】シェーピング装置２００に入力されたパケットの出力態様を表わす図である。
【図７】本発明の第２の実施の形態に係るシェーピング装置７００−１のハードウェア構成を表わすブロック図である。
【図８】カスケード／自局切換回路８００のハードウェア構成を表わすブロック図である。
【図９】メモリ９００におけるデータの格納の一態様を概念的に表わす図である。
【図１０】２台のシェーピング装置７００−１，７００−２が接続されている場合における各装置の動作の状態を表わすタイミングチャートである。
【図１１】シェーピング装置７００−１，７００−２の各々のシェーピング機能を一時的に停止させるために出力される信号を表わすタイミングチャートである。
【図１２】本発明の第３の実施の形態に係るシェーピング装置１２００のハードウェア構成を表わすブロック図である。
【図１３】本発明の第４の実施の形態に係るシェーピング装置１３００のハードウェア構成を表わすブロック図である。
【図１４】シェーピング装置１３００が実行する処理の手順を表わすフローチャートである。
【図１５】カスケード／自局切換部１３５０が実行する処理の手順を表わすフローチャートである。
【符号の説明】
【０１１８】
１０  コンテンツ配信システム、１１０  コンテンツＤＢ、１２０  ビデオサーバ、１３０  ネットワーク、１４０  セットトップボックス、１４２  バッファ、１４４  デコーダ、１５０  テレビ、２００，７００−１，７００−２，１２００，１３００  シェーピング装置、２１０  キューバッファ、２２０，７２０  タイミング発生器、２３０  カウンタ、２４０  分周器、２６０  送信バッファ、７６０，１２１０  受信部、７７０  カスケードゲート、７８０，１３２０  ＯＲ回路、８００，１３５０  カスケード／自局切替回路、８１０  入力回路、８２０  クロック、８３０，１２４０  判断回路、８４０  出力回路、９００  メモリ、１２０２  信号線、１２２０  パケット検出回路、１２３０  パケット遅延バッファ、１２５０  ＩＤＬＥ検出回路、１３１０  ＩＤＬＥ時間計測部、１３３０  カスケードキューバッファ、１３４０  ギャップ情報カウンタ。
【図１】
2006303724.tif 000003
【図２】
2006303724.tif 000004
【図３】
2006303724.tif 000005
【図４】
2006303724.tif 000006
【図５】
2006303724.tif 000007
【図６】
2006303724.tif 000008
【図７】
2006303724.tif 000009
【図８】
2006303724.tif 000010
【図９】
2006303724.tif 000011
【図１０】
2006303724.tif 000012
【図１１】
2006303724.tif 000013
【図１２】
2006303724.tif 000014
【図１３】
2006303724.tif 000015
【図１４】
2006303724.tif 000016
【図１５】
2006303724.tif 000017