(57)【特許請求の範囲】
【請求項１】
ＩＰ(Internet Protocol)ネットワーク上の端末装置からのコンテンツ視聴要求に応じて、要求されたコンテンツをそれぞれＩＰパケットに乗せて、当該ＩＰパケット単位で前記ＩＰネットワークに送出するコンテンツ配信サーバ装置であって、
現在時刻を計時するタイマと、
前記端末装置から前記コンテンツ視聴要求が到来した場合に、セッションごとに前記複数のコンテンツを一時保持するバッファと、
次回送信のＩＰパケットに乗せるコンテンツに付加されるタイムスタンプに基づいて、前記ＩＰパケットの次回送信時刻を生成する演算処理部と、
前記タイマにより計時される現在時刻と前記演算処理部で生成される次回送信時刻との差を求め、この差が正となる第１の閾値を超えるか否か、または負となる第２の閾値未満となるか否かを判定する異常判定部と、
この異常判定部による判定結果に基づいて、前記現在時刻と前記次回送信時刻との差が前記第２の閾値以上で前記第１の閾値以下の場合に、前記ＩＰパケットの送信処理の実行制御を行い、前記現在時刻と前記次回送信時刻との差が前記第１の閾値を超える場合、または前記第２の閾値未満の場合に、次回送信時刻を登録しないことにより停止制御を行う送信制御部とを具備することを特徴とするコンテンツ配信サーバ装置。
【請求項２】
前記バッファは、前記端末装置から前記コンテンツ視聴要求が到来した場合に、前記セッションごとに前記複数のコンテンツそれぞれのＭＰＥＧ(Moving Picture Experts Group)規格のＴＴＳ(Timestamped Transport Stream)パケットを一時保持し、
前記演算処理部は、バッファに一時保持され、次回送信のＩＰパケットに乗せるＴＴＳパケットに付加されるタイムスタンプに基づいて、次回送信時刻を生成することを特徴とする請求項１記載のコンテンツ配信サーバ装置。
【請求項３】
前記第１の閾値または第２の閾値は、システムごとに可変設定されることを特徴とする請求項１記載のコンテンツ配信サーバ装置。
【請求項４】
ＩＰ(Internet Protocol)ネットワーク上の端末装置からのコンテンツ視聴要求に応じて、送出制御部にて要求されたコンテンツをそれぞれＩＰパケットに乗せて、当該ＩＰパケット単位で前記ＩＰネットワークに送出するコンテンツ配信サーバ装置で用いられる制御方法において、
タイマにより現在時刻を計時し、
前記端末装置から前記コンテンツ視聴要求が到来した場合に、セッションごとに前記複数のコンテンツをバッファに一時保持し、
次回送信のＩＰパケットに乗せるコンテンツに付加されるタイムスタンプに基づいて、前記ＩＰパケットの次回送信時刻を生成し、
前記タイマにより計時される現在時刻と前記次回送信時刻との差を求め、この差が正となる第１の閾値を超えるか否か、または負となる第２の閾値未満となるか否かを判定し、
前記現在時刻と前記次回送信時刻との差が前記第２の閾値以上で前記第１の閾値以下の場合に、前記送出制御部に対し処理の実行制御を行い、前記現在時刻と前記次回送信時刻との差が前記第１の閾値を超える場合、または前記第２の閾値未満の場合に、次回送信時刻を登録しないことにより停止制御を行うことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＰ（Internet Protocol）網を利用して受信装置のユーザに対しＶＯＤ（Video On Demand）サービスを提供するコンテンツ配信サーバ装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、通信ネットワークの高速・高性能化に伴い、「放送」と「通信」の融合がますます進み、高精細映像をＩＰ通信により配信するＶＯＤの需要が見込まれている。このＶＯＤは、ＩＰ網を利用して映画や音楽といったコンテンツを配信することで、ユーザが映画館やレンタルビデオ店等に出向くことなく、自宅の映像表示装置だけでなく、スマートフォンやタブレット端末で映画や音楽等の多種多様なコンテンツをいつでもどこでも楽しめるようにするサービスである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−６５２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記ＶＯＤサービスによりコンテンツを視聴している最中に、視聴していたコンテンツが突然見られなくなる場合がある。また、視聴していたコンテンツが突然見られなくなる要因としては、複数のユーザからのコンテンツ視聴要求が同一時間帯に集中する場合も考えられる。
【０００５】
本発明の目的は、何等かの要因によるコンテンツ破綻の異常、コンテンツ視聴要求が同一時間帯に集中する場合に発生する異常に対し効果的に対処し得るコンテンツ配信サーバ装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、コンテンツ配信サーバ装置は、ＩＰ(Internet Protocol)ネットワーク上の端末装置からのコンテンツ視聴要求に応じて、要求されたコンテンツをそれぞれＩＰパケットに乗せて、当該ＩＰパケット単位でＩＰネットワークに送出するコンテンツ配信サーバ装置であって、タイマと、バッファと、演算処理部と、異常判定部と、送信制御部とを備える。タイマは、現在時刻を計時する。バッファは、端末装置からコンテンツ視聴要求が到来した場合に、セッションごとに複数のコンテンツを一時保持する。演算処理部は、次回送信のＩＰパケットに乗せるコンテンツに付加されるタイムスタンプに基づいて、ＩＰパケットの次回送信時刻を生成する。異常判定部は、タイマにより計時される現在時刻と演算処理部で生成される次回送信時刻との差を求め、この差が正となる第１の閾値を超えるか否か、または負となる第２の閾値未満となるか否かを判定する。送信制御部は、異常判定部による判定結果に基づいて、現在時刻と次回送信時刻との差が第２の閾値以上で第１の閾値以下の場合に、ＩＰパケットの送信処理の実行制御を行い、現在時刻と次回送信時刻との差が第１の閾値を超える場合、または第２の閾値未満の場合に、次回送信時刻を登録しないことにより停止制御を行う。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係るコンテンツ配信システムを示すブロック図。
【図２】一実施形態に係る送出制御部の機能ブロック図。
【図３】ＭＰＥＧのＴＴＳとＲＴＰパケットの関係を示す図。
【図４】比較例として、ＲＴＰパケットの送信タイミングを示す図。
【図５】一実施形態に係る送出制御部による異常判定・対応制御の手順及び内容を示すフローチャート。
【図６】一実施形態において、送信時間異常となる例を示す送信タイミング図。
【図７】一実施形態において、次回送信時刻が現在時刻より過去になった場合の様子を示す送信タイミング図。
【発明を実施するための形態】
【０００８】
以下、実施の形態について、図面を参照して説明する。
【０００９】
図１は、一実施形態に係るコンテンツ配信システムを示すブロック図である。図１に示すシステムは、コンテンツ配信サーバ装置としてのビデオ配信サーバ１０と、このビデオ配信サーバ１０とＩＰネットワーク２０を介して接続される端末装置としての受信端末３１〜３ｎ（ｎは整数）とで構成される。
【００１０】
ビデオ配信サーバ１０は、複数のコンテンツデータを蓄積するストレージ部１１１〜１１ｉ（ｉは整数）と、送出制御部１２とを備えている。複数のコンテンツデータを蓄積するストレージ部１１１〜１１ｉには、マスターストレージよりＶＯＤ用コンテンツデータ及び、コンテンツ配信時に必要となるコンテンツ情報、制御情報などがキャッシュされている。ＶＯＤ用コンテンツデータは１８８ＢｙｔｅのＴＳ（Transport Stream）データの先頭４Ｂｙｔｅにタイムスタンプ情報が付加されたＴＴＳ(Timestamped TS)形式で蓄積されている。４Ｂｙｔｅのタイムスタンプは、２７ＭＨｚのクロックにより生成され、送信時刻あるいは先行パケットの送信時刻に対する時間差を表す。
【００１１】
また、ビデオ配信サーバ１０において、送出制御部１２は、ＩＰネットワーク２０を介して受信端末３１〜３ｎからのコンテンツ視聴要求を受け付ける。そして、コンテンツ視聴要求に基づいて、コンテンツデータを蓄積するストレージ部１１１〜１１ｉに蓄積される要求されたコンテンツデータを構成するＴＴＳを読み出し、例えば７個のＴＴＳを１つのＩＰパケットとなるＲＴＰ（Real-time Transport Protocol）パケットに乗せて、要求元の受信端末３１へＩＰネットワーク２０を介して送信する。
【００１２】
一方、受信端末３１は、ＩＰネットワーク２０を介してビデオ配信サーバ１０から送られたＲＴＰパケットを受信し、各種通信プロトコル処理を行いＲＴＰパケットからＴＴＳを再現し、ＴＴＳから映像データを取り出してデコードし、映像・音声の形態で提示する。
【００１３】
図２は、上記送出制御部１２の機能ブロック図である。送出制御部１２において、パケット生成指示部１２９は、受信端末３１からコンテンツ視聴要求を受け付けると、セッション管理部１２１にパケット生成指示を発行し、当該セッションの送出制御情報を読み出し、送出制御情報に基づきコンテンツデータを蓄積するストレージ部１１１から要求されたコンテンツデータを構成するＴＴＳを読み出す。バッファリング部１２２は、ストレージ部１１１からＴＴＳを送信処理に必要な量だけ読み出してバッファリングする。
【００１４】
データ読み出し部１２３は、セッション管理部１２１の送出制御情報に基づいて、バッファリング部１２２からＴＴＳを読み出し、指定されたパケット数のＴＴＳをＲＴＰパケットのＲＴＰペイロードデータとしてパケット出力部１２６に転送する。このとき次回送信するべきＴＴＳのタイムスタンプ部分までも読み出し、次回送信するべきＴＴＳのタイムスタンプ情報を、次回送信時間生成部１２５に通知する。
【００１５】
ヘッダ生成部１２４は、セッション管理部１２１の送出制御情報に基づいて、送出するべきＲＴＰヘッダ、ＵＤＰヘッダ、ＩＰヘッダの内容算出を行って、パケット出力部１２６のメモリ（図示せず）にＲＴＰパケットのヘッダの内容を書き込む。
【００１６】
次回送信時間生成部１２５は、次回送信するべきＴＴＳのタイムスタンプに基づいて、当該セッションのＲＴＰパケットの次回送信時間を生成し、次回送信時間の情報を送信時間異常判定部１２７に出力する。送信時間異常判定部１２７は、ＲＴＰパケットの送信時に、タイマ１２８で計時される現在時刻と次回送信時間との差分を求め、この差分が予め設定された閾値αを超えるか否か、または閾値−α未満であるか否かを判定し、判定結果をパケット生成指示部１２９に出力する。
【００１７】
パケット生成指示部１２９は、判定結果に基づいて、現在時刻と次回送信時間との差分が予め設定された閾値αを超え、または閾値−α未満である場合に、次回送信時間が異常であると判断し、次回送信時刻の登録を行わないことにより次の異常な送信を停止する。閾値−α以上閾値α以下である場合に、有効な次回送信時刻として当該セッションの次回送信時間をパケット生成指示部１２９にある送信時間テーブル（図示せず）に登録する。内部時刻を計時するタイマ１２８が登録した次回送信時刻に到達すると、当該セッションの送信指示を、パケット生成指示部がセッション管理部１２１に当該セッションのパケット生成指示を発行しデータ読み出し部１２３及びヘッダ生成部１２４の処理を実行させる。
【００１８】
パケット出力部１２６は、ヘッダ生成部１２４からのＲＴＰパケットのヘッダとデータ読み出し部１２３から転送される指定パケット数のＲＴＰパケットのペイロードデータを格納することでＲＴＰパケットを生成し、適宜ＩＰネットワーク２０へ送信する。
【００１９】
次に、上記構成における動作について説明する。  
図３は、コンテンツデータを構成するＭＰＥＧ(Moving Picture Experts Group)のＴＴＳとＲＴＰパケットの関係を示すものである。送出制御部１２において、コンテンツデータを蓄積するストレージ部１１１から読み出されたＴＴＳは、バッファリング部１２２に順次蓄積される。ＴＴＳは、４バイトのタイムスタンプと、同期バイト（０ｘ４７）と呼ばれる固定パターンの開始コードから始まる４バイトの固定長であるＴＳヘッダと１８４バイトのペイロードで構成されている。
【００２０】
ＲＴＰパケットのヘッダには、ＩＰヘッダ、ＵＤＰヘッダ及びＲＴＰヘッダが存在する。ＲＴＰペイロードには７個までのＴＴＳを梱包し、順次伝送する。
【００２１】
図４は、ＲＴＰパケットの送信タイミングを示している。  
ビデオ配信サーバ１０では、コンテンツデータの送信をＭＰＥＧのＴＴＳのタイムスタンプに従って、送信間隔を管理して送信している。
【００２２】
ビデオ配信サーバ１０において、パケット生成指示部１２９からの送信指示を受けると、データ読み出し部１２３にて当該セッションのバッファリングされているコンテンツデータを読み出し、パケット出力部１２６にて７ＴＴＳを梱包した１ＲＴＰパケットを生成し出力するが、その際に今回送信する当該セッションのパケットの次回に送信する当該セッションのＭＰＥＧのＴＴＳパケットのタイムスタンプ部分も読み出して、次回送信するＭＰＥＧのＴＴＳのタイムスタンプから次回の送信時間を生成し登録し、内部時刻を計時するタイマ１２８が登録した次回送信時刻に到達すると、当該セッションの送信するべきデータを読み出して、７ＴＴＳを梱包した１ＲＴＰパケットを生成し送信すると共に次回の送信時間を生成し、この処理を繰り返してパケットの送信を続ける。複数セッション送信時は、各セッションの送信するコンテンツ毎の送信間隔に従い、各セッションの送信時間に到達した順にデータを読み出し、送信すると共に次回の送信時間を生成する処理を行う。
【００２３】
ここで、コンテンツデータを蓄積するストレージ部１１１からバッファリングしたデータが何らかの要因で異常な場合に、ＭＰＥＧのＴＴＳのタイムスタンプを元に次回の送信時間を作ることから、誤ったタイムスタンプを元に次回の送信時間を生成するので、送出間隔が正しくない送信時間を生成してしまい、次に送信するパケットが正しい送信時間に対して大きく離れた時間に送信されてしまうことになる。本来の送出間隔から大きく逸脱して送出すると、受信機側では正しく受信できずコンテンツデータの再生に影響が生じる。またコンテンツデータ自体が破綻していればそもそも受信しても再生することができず、送信する意味が無い。
【００２４】
そこで、次回送信時間を生成した際に、内部の現在時刻と生成した次回送信時間との差が通常の１ＲＴＰパケットの送信間隔よりも大きく離れていることを判定すると生成した次回送信時間に問題があるかどうかを検出でき、その結果から送信しても受信機側で再生できないのであれば停止するなどの対応ができる。
【００２５】
通常は現在時刻に対して次回送信時刻は未来の時間になるため現在時刻との差分が通常の１ＲＴＰパケット送信間隔よりもいくらか大きく離れていることを判定すればコンテンツデータ破綻による送信時刻異常を検出することができる。しかし、複数のセッションが多数同時に送出時刻となると順番に送信処理、次回送信時刻の生成を複数セッションで行っているので、次第に本来の送信時刻から乖離して送信処理が開始されることになる。複数セッションの送信時刻の重なりが続くと、送信処理の順番が回ってきた時点で本来の送信時刻は過ぎており、その際にパケットを読み出し、パケット生成し、出力し次回の送信時刻を生成すると、すでに現在時刻に対して過去の時間であることが発生する。現在時刻からの差分で異常判定をしていると、このケースだと異常である判定されてしまう。
【００２６】
しかし、ＭＰＥＧなどの伝送では単位時間当たりのビットレートが粗の時間と密の時間があっても許容できることがあるので、１ＲＴＰ時間間隔が空いたからすぐに受信側で影響があるわけではなく、異常とするべきではない。
【００２７】
そこで、本実施形態では、何らかの要因によるコンテンツ破綻の送信時間異常は検出し、パケット送出間隔の粗密による誤検出しない、送信時間異常検出判定を行う。
【００２８】
図５は、上記送出制御部１２による異常判定・対応制御の手順及び内容を示すフローチャートである。
【００２９】
送出制御部１２は、受信端末３１〜３ｎのユーザからのコンテンツ視聴要求があるか否かを監視しており（ステップＳＴ６ａ）、コンテンツ視聴要求が到来すると（Ｙｅｓ）、コンテンツデータを蓄積するストレージ部１１１から要求されたコンテンツデータを構成するＴＴＳを読み出してバッファリングし（ステップＳＴ６ａ１）、バッファリングしているＴＴＳを読み出し（ステップＳＴ６ｂ）、ヘッダを生成し、パケット化して出力するとともに、次回送信ＴＴＳのタイムスタンプから次回送信時間を生成し（ステップＳＴ６ｃ）、タイマ１２８が計時する現在時間が次回送信時間に到達すると次のパケット生成指示を元に、バッファリングしているデータの読み出し、パケット化出力を行う。
【００３０】
次回送信時間生成後に、送出制御部１２は、送信時間の異常判定を行う。すなわち、送出制御部１２は、タイマ１２８が計時する送信時間と次回送信時間との差分を演算し（ステップＳＴ６ｄ）、式１が成り立つか否かの判定を行う（ステップＳＴ６ｅ）。
【００３１】
式１：次回送信時間−内部現在時間＞α    α：閾値
ここで、図６に送信時間異常となる例を示す。この例では、閾値αには通常起こりえない値として仮に「１００」とすると、ＴＴＳ「ＰＫＴ３」のタイムスタンプが異常であったために次回送信時間が「１０００」と生成された場合に、「１０００−８＝９９２」となるので、閾値αに設定した「１００」を超えることになり（Ｙｅｓ）、送出制御部１２は送信時間異常として検出できる。
【００３２】
送出制御部１２は、ＲＴＰパケットの生成処理を停止させる（ステップＳＴ６ｆ）。
【００３３】
一方、タイマ１２８が計時する送信時間と次回送信時間との差分が閾値α以下である場合（Ｎｏ）、送出制御部１２はタイマ１２８が計時する送信時間と次回送信時間との差分が閾値−α未満であるか否かの判断を行う（ステップＳＴ６ｈ）。
【００３４】
ここで、図７に示すように、多数同時再生時に次回送信時刻が現在時刻に対して過去になった場合に、式１では１２−１４＝−２となり左辺がマイナスの値になる。ＴＴＳに付加されているタイムスタンプは２７ＭＨｚ３２ｂｉｔの順方向にカウントアップする符号無しのカウンタである。次回送信時間、及び内部現在時間についても同じく３２ｂｉｔの符号無しの値であるのでマイナスの値となると、値的には最上位ビットに‘１’が立ち４,２９４,９６７,２９４となり、式１の閾値「１００」よりも大きな値となり送信時間異常として検出されてしまう。
【００３５】
しかし、ＭＰＥＧなどの伝送では単位時間当たりのビットレートでは粗の時間と密の時間があっても許容できることがあるので、図７の場合は異常として検出するべきではない。
【００３６】
そこで、送出制御部１２は、タイマ１２８が計時する送信時間と次回送信時間との差分が式２を満たすか否かの判断を行うようにしている。
【００３７】
式２：−α＜次回送信時間−内部現在時間＜α
このように、ある決めた閾値の±を許容するようにすれば誤検出しなくなる。
【００３８】
ここで、タイマ１２８が計時する送信時間と次回送信時間との差分が式２を満たすならば（Ｎｏ）、送出制御部１２はＲＴＰパケットの生成処理を実行する（ステップＳＴ６ｉ）。
【００３９】
一方、タイマ１２８が計時する送信時間と次回送信時間との差分が−α未満となる場合（Ｙｅｓ）、送出制御部１２はバッファリング部１２２に異常が発生したと判定して上記ステップＳＴ６ｆの処理に移行する。
【００４０】
閾値αは、実際には５００ｍｓや１ｓｅｃなどの値をシステム毎に許容すべき値を設定する。また、閾値αは、使用するシステムごとに異ならせてもよい。このようにすれば、多数のユーザがコンテンツを視聴するシステムについては閾値αを大きな値に設定し、コンテンツを視聴するユーザが少ないシステムについては閾値αを小さな値に設定する等、使用環境等に応じて最適な異常検出を行うことができる。
【００４１】
以上のように上記実施形態では、送出制御部１２において、バッファリング部１２２に一時蓄積されたＴＴＳに付加されるタイムスタンプを利用して、次のＲＴＰパケットをＩＰネットワーク２０へ送信する次回送信時刻を生成しておき、コンテンツ破綻の異常を検出するための閾値αを定めるとともに、コンテンツ視聴要求が同一時間帯に集中する場合に発生する異常を検出するための閾値−αを定め、タイマ１２８で計時される現在時刻と生成した次回送信時刻との差を求めて、差が閾値αを超えた場合に、何等かの要因によるコンテンツ破綻の送信時間異常と判定し、差が閾値−α未満となった場合に、複数のセッションによるコンテンツ視聴要求が同一時間帯に集中した場合に次回送信時刻が現在時刻から過去へ大きく離れた異常と判定するようにしている。
【００４２】
従って、何等かの要因によるコンテンツ破綻の送信時間異常や、複数のセッションによるコンテンツ視聴要求が同一時間帯に集中した場合に送信時刻が現在時刻から過去へ大きく離れた異常といった各受信端末３１〜３ｎでは救済できない異常だけを検出でき、パケット送出間隔の粗密による誤検出を行わないようにすることで、効率よいＲＴＰパケットの送信を実現できる。
【００４３】
なお、上記実施形態では、１ＲＴＰパケットのＴＴＳの梱包を７つとして説明したが、７つ以外であってもよい。また、ＭＰＥＧのＴＴＳ以外のコンテンツデータであってもよい。
【００４４】
その他、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００４５】
１０…ビデオ配信サーバ、２０…ＩＰネットワーク、３１〜３ｎ…受信端末、１１１〜１１ｉ…ストレージ部、１２…送出制御部、１２１…セッション管理部、１２２…バッファリング部、１２３…データ読み出し部、１２４…ヘッダ生成部、１２５…次回送信時間生成部、１２６…パケット出力部、１２７…送信時間異常判定部、１２８…タイマ、１２９…パケット生成指示部。
【図１】
0005591892.tif 000002
【図２】
0005591892.tif 000003
【図３】
0005591892.tif 000004
【図４】
0005591892.tif 000005
【図５】
0005591892.tif 000006
【図６】
0005591892.tif 000007
【図７】
0005591892.tif 000008