(57)【要約】【課題】高精度なパケット送信帯域制御を実現すること。【解決手段】本実施形態に係るコンテンツ配信装置は、内部クロックを計数する内部クロックタイマ２０５と、内部クロックより精度の高い外部クロックを計数する外部クロックカウンタ２０１と、外部クロックカウンタ２０１からカウンタ値を読み出す外部クロックカウンタ読み出し部２０２と、外部クロックカウンタ２０１のカウンタ値を基準に周期を設定し、周期内で内部クロックタイマ２０５により定期的に起動するごとに、外部クロックカウンタ読み出し部２０２により外部クロックカウンタ２０１のカウンタ値を読み出し、周期毎に一定量のパケットが送信されるように、読み出したカウンタ値と周期の開始時刻との差とに基づいて送信パケット数を算出し、算出された送信パケット数のパケットを送信する送信処理プログラム２０３を備える。【選択図】      図２
2014072546.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツをパケット送信するコンテンツ配信装置であって、
内部クロックを計数する内部クロックタイマと、
前記内部クロックより精度の高い外部クロックを計数する外部クロックカウンタと、
前記外部クロックカウンタからカウンタ値を読み出す読出手段と、
前記外部クロックカウンタのカウンタ値を基準に周期を設定し、前記周期内で前記内部クロックタイマにより定期的に起動するごとに、前記読出手段により前記外部クロックカウンタのカウンタ値を読み出し、前記周期毎に一定量のパケットが送信されるように、前記読み出したカウンタ値と前記周期の開始時刻との差とに基づいて送信パケット数を算出する算出手段と、
前記算出された送信パケット数のパケットを送信する送信手段と
を具備することを特徴とするコンテンツ配信装置。
【請求項２】
前記周期毎に送信された累積パケット数の端数を次周期以降に繰り越す手段をさらに具備することを特徴とする請求項１に記載のコンテンツ配信装置。
【請求項３】
前記算出手段は、前記算出された送信パケット数が所定の閾値を超える場合に、前記送信パケット数の頭切り処理を行うことを特徴とする請求項１又は２に記載のコンテンツ配信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＰネットワークを介してコンテンツをパケット配信するコンテンツ配信装置に関する。
【背景技術】
【０００２】
映像等のコンテンツをＩＰネットワークを介して配信する場合、送信側（コンテンツ配信装置）と受信側（送信機）とで送信レートが異なると受信側でバッファオーバフローやバッファアンダーフローが発生する。
【０００３】
これを防止する方法として送信側と受信側でクロックを同期させる方法があるが、ＩＰネットワークを介して送信側クロックに従属する手法（従属同期）では、送信側クロックの変動が問題となる。
【０００４】
送信側と受信側で独立のクロックを用いて送受する方法（独立同期）では、送信側では高精度なクロックに基づいた正確な通信帯域制御を行い、受信側では高精度なクロックで受信処理を行う必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−９６６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、送信処理はサーバやパソコンによるソフト処理で実行されるため、ＯＳ（Operating System）のタイマによるクロックは、クロック精度が十分でない。またソフトウェアの起動時間に揺らぎが発生するため安定した通信帯域制御ができなかった。
【０００７】
本実施形態の目的は、高精度なパケット送信帯域制御を実現できるコンテンツ配信装置を提供することにある。
【課題を解決するための手段】
【０００８】
本実施形態に係るコンテンツ配信装置は、コンテンツをパケット送信するコンテンツ配信装置であって、内部クロックを計数する内部クロックタイマと、前記内部クロックより精度の高い外部クロックを計数する外部クロックカウンタと、前記外部クロックカウンタからカウンタ値を読み出す読出手段と、前記外部クロックカウンタのカウンタ値を基準に周期を設定し、前記周期内で前記内部クロックタイマにより定期的に起動するごとに、前記読出手段により前記外部クロックカウンタのカウンタ値を読み出し、前記周期毎に一定量のパケットが送信されるように、前記読み出したカウンタ値と前記周期の開始時刻との差とに基づいて送信パケット数を算出する算出手段と、前記算出された送信パケット数のパケットを送信する送信手段とを具備するものである。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るコンテンツ配信システムの全体構成図。
【図２】コンテンツ配信装置の構成例を示す機能ブロック図。
【図３】受信装置の構成例を示す機能ブロック図。
【図４】パケット送信処理を示すフローチャート。
【図５】パケット送信イメージを示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本実施形態に係るコンテンツ配信装置を説明する。
【００１１】
図１は、本実施形態に係るコンテンツ配信システムの全体構成図である。コンテンツ配信装置２（送信側）と送信機３（受信側）との間はＩＰネットワーク１を介して接続され、送信機３はカバーエリアに存在する端末４との間で無線通信可能である。例えば、コンテンツ配信装置２から映像等のコンテンツやライブコンテンツがＩＰマルチキャスト通信により複数の送信機３にストリーム配信され、複数の送信機３はＩＰパケットにより受信したコンテンツを無線信号に変調して端末４に送信する。
【００１２】
図２は、コンテンツ配信装置２の構成例を示す機能ブロック図である。コンテンツ配信装置２は、外部クロックカウンタ２０１、外部クロックカウンタ読み出し部２０２、送信処理プログラム２０３、コンテンツメモリ２０４、及びＯＳ（Operating System）タイマ２０５を有する。
【００１３】
外部クロックカウンタ２０１は、内部発振器により高精度クロックを発生させ、そのクロックをカウントする機能を持つカウンタである。
【００１４】
外部クロックカウンタ読み出し部２０２は、外部クロックカウンタ２０１の外部クロックのカウンタ値を読み出す機能を有する。
【００１５】
送信処理プログラム２０３は、コンテンツメモリ２０４からコンテンツを入力しＩＰパケット化して送信する機能を有する。送信処理プログラム２０３は、ＯＳクロックタイマ２０５により定期的に起動されＩＰパケットをＩＰネットワーク１に送信する。外部クロックカウンタ読み出し部２０２を介して外部クロックのカウンタ値を読み出し、後述するパケット送信処理によりＩＰパケットの送信数を演算し高精度な送信帯域制御を実現する。
【００１６】
図３は、送信機３の構成例を示す機能ブロック図である。送信機３は、ＩＰ受信処理プログラム３０１、受信バッファ３０２、受信処理部３０３、及び外部クロック３０４を有する。
【００１７】
ＩＰ受信処理プログラム３０１は、コンテンツ配信装置２からＩＰネットワーク１を介して送られてくるＩＰパケットを受信し、受信したＩＰパケットを受信バッファ３０２に格納する機能を有する。
【００１８】
受信処理部３０３は、外部クロック３０４が発生させる高精度クロックにしたがって、受信バッファ３０２に格納されたＩＰパケットを無線信号に変調して出力する機能を有する。
【００１９】
なお、送信側と受信側で、外部クロックとしてＧＰＳ（Global Positioning System）クロックを用いるようにしてもよい。
【００２０】
次に、図２のように構成されたコンテンツ配信装置２が行う送信帯域制御について説明する。送信帯域は、ある時間ＴｘにＰｘ個のパケットを送信することを保障し、送信のバーストをできるだけ少ない（送信速度の変動が無い）アルゴリズムが要求される。このため、送信処理プログラム２０３は、図４に示すようなパケット送信処理を行う。なお、図４において、Ｆｌａｇは定期送信の開始状態を示すフラグ、Ｔｉは起動された時刻を示す外部カウンタ値、Ｔｓは周期のスタート時刻を示す外部カウンタ値、Ｐｉはその時点までに送信した累積パケット数、Ｐはその起動時点で送信するパケット数、Ｔｘは周期時間、Ｐｘは指定帯域を実現するために周期時間に送信すべきパケット数、ｔａはＯＳクロックタイマで起動される時間間隔である。
【００２１】
送信処理プログラム２０３は、内部クロックを基準とするＯＳクロックタイマ２０５によりｔａ間隔で定期的に起動される。起動された送信処理プログラム２０３は、先ずＦｌａｇをチェックし（ステップＳ１）、ＦｌａｇがＯｆｆの場合（初期起動の場合）はステップＳ２に移行し、起動されたプログラムの状態が安定するまで所定の閾値以上の時間が経過するまで待ち状態となる（ステップＳ２）。閾値以上の時間が経過すると、送信処理プログラム２０３はＦｌａｇをＯｎにし（ステップＳ３）、周期の初期設定処理として外部クロックカウンタ読み出し部２０２により外部カウンタ値Ｔｉを読み込み（ステップＳ４）、その値Ｔｉを周期の開始時刻Ｔｓとして設定すると共に、累積送信パケット数Ｐｉを０に設定する（ステップＳ５）。
【００２２】
一方、ステップＳ１でＦｌａｇがＯｎの場合（初期起動でない場合）、外部クロックカウンタ読み出し部２０２により外部カウンタ値Ｔｉを読み込み（ステップＳ６）、今回送信すべきパケット数Ｐを以下のように計算する（ステップＳ７）。
【００２３】
つまり、周期の最初からの経過時間（Ｔｉ−Ｔｓ）に送るべき累積パケット数は、（Ｔｉ−Ｔｓ）×Ｐｘ／Ｔｘで計算される。また前回までに送った累積パケット数はＰｉであるから、下記の式１のようにその差分が今回送信すべきパケット数Ｐとして求められる。
【００２４】
Ｐ＝（（Ｔｉ−Ｔｓ）×Ｐｘ／Ｔｘ）−Ｐｉ  ・・・（式１）
さらに、送信処理プログラム２０３は、送信パケット数Ｐが既定の値より大きい場合は、頭切り処理を行う（ステップＳ８）。ＯＳの起動時間のバラつきでプログラムの起動が遅れ、前回起動時間との間隔が大きくなる場合がある。送信パケット数Ｐが既定の値より大きい場合は、送信パケット数Ｐの送信数を少なくし（頭切り）トラフィック変動を防止する。
【００２５】
そして、送信処理プログラム２０３は、送信パケット数ＰのＩＰパケットを送信し（ステップＳ９）累積パケット数Ｐｉに実際に送信したパケット数を加算する（ステップＳ１０）。周期の最初からの経過時間（Ｔｉ−Ｔｓ）が周期時間Ｔｘより大きくなった場合に（ステップＳ１１）、下記式２のように次周期の設定を行う（ステップＳ１２）。
【００２６】
Ｔｓ＝Ｔｓ＋Ｔｘ，Ｐｉ＝Ｐｉ−Ｐｘ  ・・・（式２）
この式２により、次周期の開始時間の設定と、周期毎のパケット数の端数を次の周期以降に繰り越す処理を行う。
【００２７】
図５に、この図４の処理によるパケット送信イメージを示す。図５では、縦軸を累積パケット数Ｐｉとし、横軸を経過時間をとし、周期時間Ｔｘを６３×５１秒周期としている。また、。図５には、プログラムが実際に起動されたタイミングとその時に送信するパケット数Ｐを斜線パターンの部分で示し、期待する累積送信パケット数Ｐｘを太線で示す。つまり、１周期毎に図５のＰｉ−Ｐｘで示す端数が次周期に繰り越される。
【００２８】
以上述べたように、本実施形態では、上記式１において高精度の外部カウンタを用いることにより、ＯＳの起動周期ｔａのバラつきに依存せず安定した送信帯域のパケット送信を実現できる。また、バースト性を少なく抑えるためにはｔａの値を小さくする（例えば、通常１０〜１００ｍｓのところ５ｍｓにする）ことにより実現できる。また、送信パケット数Ｐを求める際に生じた丸め誤差は、次の起動周期（５ｍｓ）での計算で誤差分繰り越されるので計算誤差は生じない。さらに、上記式２のように１周期Ｔｘの初期化処理においては実際に送ったパケット数を次周期に繰り越すことで演算誤差を無くすことが出来る。
【００２９】
したがって、本実施形態によれば、送信側と受信側で独立クロックによるコンテンツ配信において、パケット送信帯域を高精度で一定に保ち、送受信でエラーが発生せず、簡単なハードウエアとソフウェア処理で高精度なパケット送信帯域制御を実現できる。また、短い間隔で送信処理を行うため、トラフィックのバーストが少ない帯域制御を実現できる。
【００３０】
なお、いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３１】
１…ＩＰネットワーク、２…コンテンツ配信装置、３…送信機、４…端末、２０１…外部クロックカウンタ、２０２…外部クロックカウンタ読み出し部、２０３…送信処理プログラム、２０４…コンテンツメモリ、２０５…ＯＳクロックタイマ、３０１…ＩＰ受信処理プログラム、３０２…受信バッファ、３０３…受信処理部、３０４…外部クロック。
【図１】
2014072546.tif 000003
【図２】
2014072546.tif 000004
【図３】
2014072546.tif 000005
【図４】
2014072546.tif 000006
【図５】
2014072546.tif 000007