説明

映像配信サーバ、映像配信システム、及び、映像配信方法

【課題】放送局と受信端末それぞれのクロックが同期していない場合であっても、放送局と受信端末間でコンテンツを仲介する映像配信サーバに、バッファのオーバーフローやアンダーフローを発生させない。
【解決手段】映像配信サーバは、受信した放送データを蓄積受信データとして第1の記憶手段に蓄積し、受信データ量を計測する受信データ量計測手段と、順次供給される前記蓄積受信データを蓄積する第2の記憶手段と、を備える。また、前記第2の記憶手段から読み出され出力される送出データ量を計測する送出データ量計測手段を備える。さらに、前記蓄積受信データに、クロックの周期をカウントした結果に基づくタイムスタンプを付加するタイムスタンプ付加手段を備える。またさらに、前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる制御手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルテレビ放送などのコンテンツを受信した映像配信サーバから、通信ネットワークを介して、受信端末に対してコンテンツを配信する、映像配信サーバ、映像配信システム、及び、映像配信方法に関する。
【背景技術】
【0002】
近年、通信ネットワークを介して、MPEG(Moving Picture Experts Group:エムペグ)2−TS(Transport Stream:トランスポートストリーム)形式に従って符号化された映像データなどのコンテンツを、リアルタイムに伝送させる技術が広がりつつある。
【0003】
特に、我が国におけるテレビジョン放送は、地上アナログ波を利用するものに代わって、地上デジタル波を利用するものに移行されつつある。そして、例えば、特定の施設内におけるテレビジョン放送を行うために、地上デジタルテレビジョン放送の放送信号として送信されるTS(トランスポートストリーム)を受信し、受信したTSを受信端末に対して再放送する再配信装置を導入する場合もある(例えば、特許文献1参照。)。
【0004】
上述した特許文献1「送信装置および方法、並びにプログラム」には、以下の記載がなされている。
【0005】
すなわち、この特許文献1に記載されている再配信装置500は、図7に示すように、地上デジタルテレビジョン放送を受信して得られるTS(以下、TS1と記述)と、新たに生成するTS(以下、TS2と記述)を多重化してTS3を生成する。そして、TS3を受信端末に対して配信するシステムである。図7に示す再配信装置500の放送受信部501は、アンテナから入力される地上デジタルテレビジョン放送信号から、ユーザ等の選局に対応するTS1を抽出してTS記憶部502に記憶させる。TS生成部503は、入力される映像データ、音声データ、EPG(Electronic Program Guide:電子番組表)データ、字幕データ等を素材として新たなTS2を生成する。このTS2は、再配信の対象とされるTS1と多重化されて配信される。TMCC(Transmission and Multiplexing Configuration Control:伝送多重制御信号)情報生成部504は、TS合成部505において生成されるTS3の変調方式やダミーパケットの数と位置の情報を含むTMCC情報を生成する。ダミーパケット処理部506は、TMCC情報生成部504によって生成されるTMCC情報に基づき、以下を行う。すなわち、配信されて受信側で正確に受信できないパケットが存在してしまうという事象に対処するため、ダミーパケットを配置する位置を特定し、その位置情報をTS合成部505に出力する。TS合成部505は、生成するTS3に対し、ダミーパケット処理部506からの位置情報に基づいてダミーパケットを配置する。次に、TS記憶部502に記憶されているTS1を構成するパケットを読み出して配置し、最後に、TS生成部503によって生成されたTS2を構成するパケットを配置することによってTS3を完成させる。TS3とTMCC情報は、変調部507によって所定の変調方式に従って変調され、配信部508から図示されていない受信端末に配信される。なお、TS合成部505は、TS記憶部502に記憶されているTS1を読み出す。そして、TS1に含まれる、タイムスタンプを含むPCR(Program Clock Reference:プログラム時刻基準参照値)パケットやデータとして有効なパケットを、それらの並び順を乱すことなく、TS1における位置と同じTS3における位置に配置する。次に、TS合成部505は、TS3の空き位置に対し、TS生成部503によって生成されたTS2を構成するパケットを配置することによってTS3を完成させる。このことにより、当該再配信装置500によれば、以下のことが可能となるとしている。すなわち、配信されるTS3において、TS1を構成するPCRパケットとデータとして有効なパケットの並び順や時間関係は変更されないので、TS1にスクランブルが施されている場合においても適用できる。また、TS1のフォーマットに拘わらず、すなわち、地上デジタルテレビジョン放送だけでなく、BSデジタル放送、CS110°放送、などのTSを再配信する場合にも適用できる、としている。
【0006】
ところで、MPEG2−TSを伝送するシステムにおいては、送信側のエンコーダ(Encoder:符号器)におけるクロックと、受信側のデコーダ(Decoder:復号器)におけるクロックが同期していない場合がある。この場合、送信側から単位時間に伝送されるデータ量と受信側で再生されるデータ量に違いが生じるため、コンテンツとして伝送された映像や音声が乱れる、という問題が生じる。
【0007】
コンテンツとして送られてくるデータ量が、受信側で再生されるデータ量より多い場合は、受信側でのバッファに蓄積されるデータが徐々に増えてくるため、やがてバッファがオーバーフローすることになる。バッファがオーバーフローすると、オーバーフローしたコンテンツのデータフレームが欠落してしまう。逆に、送られてくるデータ量が、再生されるデータ量より少ない場合は、受信側でのバッファに蓄積されるデータが徐々に少なくなるため、やがてバッファがアンダーフローすることになる。バッファがアンダーフローすると、バッファには再生すべきデータフレームが無いため、コンテンツの再生が停止してしまう。バッファにオーバーフローやアンダーフローが発生した場合、上述したように、コンテンツとして伝送された映像や音声が正常に再生されないことになる。
【0008】
このような問題を解消するため、送信側の送信装置のクロックと、受信側の受信装置のクロックを同期させる手法が知られている(例えば、特許文献2参照。)。
【0009】
上述した特許文献2「パケットデータ記録装置」には以下の記載がなされている。
【0010】
すなわち、デジタルテレビ放送信号を受信する受信端末装置(セット・トップ・ボックス(STB))により受信及び復調されて取り出されたパケットデータが、パケットデータ記録装置に入力される。パケットデータは、プログラムの情報のパケットと、PCRを含むパケットとが多重されたデジタル信号である。パケットデータ記録装置のクロック生成回路は、入力PCRに基づいて、送信側のエンコード時のシステムクロックと周波数の一致した時刻基準の同期信号を発生する。システムクロックの周波数は、MPEG2システムの場合、27MHz±810Hzと定められている。
【0011】
図8を参照して詳述すると、上記のクロック生成回路は、27MHzの時刻基準の同期信号を発生するPLL回路(Phase Locked Loop 回路:位相同期ループ回路)600などを含んでいる。図8に示すPLL回路600は、引き算器601、D/A変換器(Digital to analog converter)602、低域フィルタ603、27MHzを発振出力する電圧制御型水晶発振器604及びカウンタ605からなる一巡のフィードバックループ回路である。そして、クロック生成回路では、入力されたPCR値をカウンタ605に初期設定すると共に引き算器601に供給し、ここでカウンタ605の出力値と引き算される。引き算された差分値がD/A変換器602によりアナログ信号に変換された後、低域フィルタ603を通して電圧制御型水晶発振器604に供給され、その出力発振周波数を可変制御する。電圧制御型水晶発振器604から出力された27MHzの発振周波数は時刻基準の同期信号(到着時間管理用クロック)として出力される。このことにより、パケットデータ記録装置のシステムクロックの値が送信側と同期するようになる、としている。
【0012】
なお、上述した特許文献1及び特許文献2に記載されているPCRは、MPEG2−TS形式に従って符号化されたTSパケットに挿入されて送信される。PCRはエンコーダのクロックをカウンタ(計数器)でカウントした値である。PCRは27MHzのタイムスタンプであり、符号化した時の基準時間を、復号器を有する受信側で再現するために参照される値である。例えば、エンコーダを有する送信側のクロックの1波長を1msecとし、送信側が送信する1番目のTSパケットのタイムスタンプを「0」としたものとする。そして、2番目のTSパケットを30msec後に送信するものとすると、2番目のTSパケットのタイムスタンプは「30」となる。以下同様に、3番目、4番目・・・のTSパケットを30msec毎に送信するものとすれば、各々のTSパケットのタイムスタンプは、それぞれ、「60」、「90」・・・というように、「30」ずつ増加していく値となる。
【0013】
また、受信側でのバッファのオーバーフローやアンダーフローを発生させないようにするため、受信側で受信データを一旦バッファリングし、バッファリングした受信データを、受信側のクロックで再生するようにしているものもある(例えば、特許文献3参照。)。
【0014】
上述した特許文献3「データ処理装置および方法、並びに記録媒体」には、以下の記載がなされている。
【0015】
すなわち、図9に示すように、受信側の受信バッファ監視回路703は、受信装置701から送出され、受信バッファ702に蓄積される受信データのデータ量を監視する。そして、受信バッファ702への蓄積データ量が上側の閾値より大きくなったとき、受信クロック発生回路704が発生する受信クロックの周波数を、より高い周波数に設定させる。また、蓄積データ量が下側の基準値より小さくなったとき、受信クロック周波数は、より低い周波数に設定される。AV(Audio Visual:音響・映像)データをデコードするAVデコーダ705は、受信クロック発生回路704より供給される受信クロックに基づいて、受信バッファ702より供給されるAVデータをデコードする。このことにより、簡単な構成で、かつ、低コストなシステムで、オーバーフローやアンダーフローが発生しないようにできる、としている。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2005−123986号公報(第5〜8頁、図1〜5)
【特許文献2】特開平09−204738号公報(第3〜6頁、図1〜4)
【特許文献3】特開2002−165148号公報(第3〜8頁、図1〜12)
【発明の概要】
【発明が解決しようとする課題】
【0017】
上述した特許文献1に記載の再配信装置(以下、映像配信サーバと称す)は、地上デジタルテレビジョン放送を受信して得られるTS1に、新たに生成したTS2を多重化してTS3を生成する。そして、TS3を受信端末に対して配信するようになっている。ここで、タイムスタンプを含むPCRパケットのPCR値には何の変更も行ってはいない。
【0018】
通常、デジタルテレビジョン放送等のコンテンツ(映像や音声)を受信した映像配信サーバから、通信ネットワークを介して受信端末へコンテンツをリアルタイムに再配信しようとする際には、次に記載するようになっている場合が多い。すなわち、放送局からは、放送局でのクロック周波数を基準として生成されたタイムスタンプがTSパケットに付加されて放送される。そして、映像配信サーバを介してこのTSパケットを受信した受信端末においては、受信端末自身のクロック周波数を基準として、このTSパケットに付加されているタイムスタンプを参照しながら当該TSパケットを再生する。この再生により、テレビジョン放送を視聴することが可能となる。しかし、受信端末における再生のためのクロック周波数が、放送局でのクロック周波数と異なっている場合には、受信端末におけるバッファのオーバーフローやアンダーフローが発生して、受信端末での再生を正常に行うことが出来なくなる場合がある。また、受信端末でバッファのオーバーフローが発生した場合には、受信端末は映像配信サーバに対して、TSパケットの配信要求を行わなくなる。このため、映像配信サーバのバッファ内にはTSパケットが溜まりだし、やがて、映像配信サーバのバッファはオーバーフローすることとなる。また、映像配信サーバのバッファにアンダーフローが生じた場合には、受信端末にはTSパケットを配信することが出来ない。このため、受信端末のバッファもアンダーフローすることとなる、という課題を有している。
【0019】
また、上述したように映像配信サーバや受信端末のバッファのオーバーフローやアンダーフローの発生を少なくするためには、映像配信サーバに大容量のバッファを持つ必要がある。しかし、そのバッファへのバッファリングのための時間が必要となるため、受信端末に配信されるコンテンツに、デジタルテレビジョン放送からの遅延が発生する、という課題を有している。
【0020】
上述した特許文献2に記載の手法は、テレビ放送の受信など、伝送遅延がほぼ一定な伝送路では、バッファのオーバーフローやアンダーフローを生じさせない有効な手法である。しかし、PLL回路の動作を安定させるためには、各TSパケットは、伝送揺らぎ(ジッタ)が極力発生しないように、つまり、エンコーダから出力された時間間隔を保ちながらデコーダまで伝送されることが必要である。ジッタが生じる場合としては、例えば、通信ネットワークの負荷が高い状態が一時的に発生してデータ伝送に遅延が生じた場合などがある。また、通信ネットワーク上でTSパケットが欠落してしまい、受信側の装置が送信側の装置に対してTSパケットの再送を要求した場合などもある。従って、特許文献2に記載の手法は、インターネットなどの伝送遅延が変動する通信ネットワークを使用する場合には、有効には機能しない場合がある、という課題を有している。また、PLL回路には、電圧制御型水晶発振器や低域フィルタなどが必要となるため、装置のコストが上昇してしまう、という課題も有している。
【0021】
さらに、特許文献3に記載の手法は、送信側と受信側のAVデータの同期をとるために、受信側で受信バッファに蓄積されるデータ量を監視し、蓄積データ量に応じて、受信クロックの周波数を変更するようにしている。そして、AVデータのパケット内に時間情報が無くとも、送信側と受信側のAVデータの同期をとることが出来るようになっている。すなわち、受信側のバッファのオーバーフローやアンダーフローが発生しないようにできるが、送信側のバッファに関しては何も考慮されていない、という課題を有している。
【0022】
後述するように、本発明の「映像配信サーバ」においては、放送局からのコンテンツを放送電波にて受信すると共に、受信したコンテンツを、さらに通信ネットワークを介して受信端末に配信するものとなっている。つまり、本発明の「映像配信サーバ」は、コンテンツの受信側であると共に、コンテンツの送信側にもなっている。
【0023】
従って、特許文献3に記載の手法は、そのままの形では本発明の「映像配信サーバ」に適用できるようにはなっていない、という課題を有している。
【0024】
本発明は上述した課題を解決するためになされたものである。従って、本発明の目的は、放送局と受信端末それぞれのクロックが同期していない場合であっても、放送局と受信端末間でコンテンツを仲介する映像配信サーバに、バッファのオーバーフローやアンダーフローを発生させない、映像配信サーバ、映像配信システム、及び、映像配信方法を提供することにある。
【課題を解決するための手段】
【0025】
本発明の映像配信サーバは、受信した放送データを蓄積受信データとして蓄積する第1の記憶手段と、前記蓄積受信データのデータ量である受信データ量を計測する受信データ量計測手段と、を備えている。また、順次供給される前記蓄積受信データを蓄積する第2の記憶手段と、前記第2の記憶手段から読み出され出力される送信データのデータ量である送出データ量を計測する送出データ量計測手段と、を備えている。さらに、前記第1の記憶手段から所定のクロックのタイミングで読み出した前記蓄積受信データに、前記クロックの周期をカウントした結果に基づくタイムスタンプを付加して前記第2の記憶手段に書き込むタイムスタンプ付加手段を備えている。またさらに、前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる制御手段と、
を備えている。
【0026】
本発明の映像配信システムは、上記の映像配信サーバと、前記送信データを受信し、自らの動作クロックにより前記タイムスタンプに対応するタイミングで前記送信データを再生する受信端末と、を備えている。
【0027】
本発明の映像配信方法は、受信した放送データを蓄積受信データとして蓄積し、前記蓄積受信データのデータ量である受信データ量を計測する。また、前記蓄積受信データを所定のクロックのタイミングで読み出し、読み出した前記蓄積受信データに、前記クロックの周期をカウントした結果に基づくタイムスタンプを付加して送信データとして蓄積する。さらに、蓄積した前記送信データを読み出して出力する前記送信データのデータ量である送出データ量を計測し、前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる、ようにしている。
【発明の効果】
【0028】
本発明によれば、放送局と受信端末それぞれのクロックが同期していない場合であっても、放送局と受信端末間でコンテンツを仲介する映像配信サーバに、バッファのオーバーフローやアンダーフローを発生させることはない。
【図面の簡単な説明】
【0029】
【図1】本発明の映像配信システムの第1の実施形態を示すブロック図である。
【図2】本実施形態の基本的な動作を説明するフローチャートである。
【図3】本実施形態の詳細な動作を説明するフローチャートである。
【図4】タイムスタンプの変化の様子の一例を示す図である。
【図5】本発明の映像配信システムの第2の実施形態を示すブロック図である。
【図6】本発明の第2の実施形態の動作を説明するフローチャートである。
【図7】再配信装置の一例を示すブロック図である。
【図8】PLL回路の一例を示すブロック図である。
【図9】受信側の装置でのバッファのオーバーフロー/アンダーフローを発生させないシステムの一例を示す図である。
【発明を実施するための形態】
【0030】
次に、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の映像配信システムの第1の実施形態を示すブロック図である。
【0031】
図1に示す映像配信システム100は、放送局10と、映像配信サーバ30と、受信端末50を含んでいる。放送局10は、放送するコンテンツデータを放送用の電波20に載せて、放送を行う。映像配信サーバ30は、電波20を受信してコンテンツデータを蓄積し、蓄積したコンテンツデータを、通信ネットワーク40を介して、受信端末50に配信する。
【0032】
放送局10は、テレビジョン放送などに代表される映像や音声などのコンテンツデータを、MPEG(Moving Picture Experts Group:エムペグ)2−TS(Transport Stream:トランスポートストリーム)形式に従って符号化する。次に、符号化したTSを多重化し、多重化したTSをOFDM(Orthogonal Frequency Division Multiplexing:直交周波数分割多重)変調する。そして、OFDM信号を電波20に載せて、地上デジタルテレビジョン放送として送出する。なお、放送形態は、地上デジタルテレビジョン放送だけでなく、BS(Broadcasting Satellite:放送衛星)デジタル放送やCS(Communications Satellite:通信衛星)デジタル放送などであっても良い。なお、放送局10は、通常、複数局が存在するが、図1においては、説明の容易化のため、1つの放送局10だけを代表として図示している。
【0033】
MPEG2のTSは、TSパケット(トランスポートストリームパケット)が複数個集まって構成されている。そして、TSパケットには、コンテンツデータを符号化したときの時刻基準を示すところの、タイムスタンプとしてのPCR(Program Clock Reference:プログラム時刻基準参照値)、が含まれている。このPCRは、復号器を有する受信端末側で、符号化した時の時刻基準を、復号器のクロックで再現するために参照される値である。なお、放送局10が、コンテンツデータをMPEG2−TS形式に従って符号化する際のクロックは、放送局10自身が有するクロック生成回路にて生成されたクロックを用いる。また、受信端末50がコンテンツデータを復号する際のクロックは、受信端末50自身が有するクロック生成回路にて生成したクロックを用いる。そして、放送局10のクロックと受信端末50のクロックは必ずしも同期しているものではない、という前提のもとで、以下の説明を行うものとする。
【0034】
映像配信サーバ30は、放送局10から送出される電波20から、所望のテレビジョン放送(以下、TV放送と略記する)を選局して受信し、受信したOFDM信号を復調して得られたTSを蓄積する受信バッファ31を含んでいる。また、受信バッファ31に蓄積されたTSの量(以下、受信データ量と称す)を計測する受信データ量計測手段32を含んでいる。
【0035】
さらに、映像配信サーバ30は、受信端末50に配信するTSを蓄積する送信バッファ33を含んでいる。また、送信バッファ33から受信端末50に配信されたTSの量(以下、送出データ量と称す)を計測する送出データ量計測手段34を含んでいる。
【0036】
また、映像配信サーバ30は、制御手段35と、クロック生成手段36と、タイムスタンプ付加手段37を更に含んでいる。
【0037】
制御手段35は、映像配信サーバ30全体の動作制御を行う。特に、制御手段35は、受信データ量計測手段32が計測した受信データ量と、送出データ量計測手段34が計測した送出データ量を比較する。比較の結果、受信データ量の方が送出データ量よりも大きい場合は、クロック生成手段36のクロック周波数を上げるよう制御する。逆に、受信データ量の方が送出データ量よりも少ない場合は、クロック生成手段36のクロック周波数を下げるよう制御する。
【0038】
クロック生成手段36は、映像配信サーバ30の動作クロックを生成する。クロック生成手段36が生成するクロックの通常時のクロック周波数は、MPEG2規格で定められている27MHzである。しかし、制御手段35から、クロック周波数の変更(上げる、又は、下げる)指示が有った場合には、変更指示に従ってクロック周波数を変更する。クロック周波数を変更することにより、クロック生成手段36が生成するクロックが変更(早くなる、又は、遅くなる)される。クロック生成手段36は、自身が生成するクロックを、タイムスタンプ付加手段37に伝達する。
【0039】
タイムスタンプ付加手段37は、クロック生成手段36から伝達されたクロックの数をカウントする、図示しないカウンタを含んでいる。そして、タイムスタンプ付加手段37は、受信バッファ31に蓄積されているTSを受け、TS内に含まれているTSパケットのタイムスタンプを、クロック生成手段36から伝えられたクロックをカウントしたカウント値に基づき、変更する。タイムスタンプが変更されたTSパケットを含むTSは、送信バッファ33に送出される。
【0040】
そして、送信バッファ33に蓄積されたTSは、IP(Internet Protocol:アイピー)パケットとして構成され直し、通信ネットワーク40を介し、受信端末50に配信される。
【0041】
通信ネットワーク40は、構内LAN(Local Area Network:ラン)、移動体通信網、電話交換網、或いは、コンピュータネットワークなどのネットワークである。又は、これらのネットワークを相互に接続するインターネットなどであってもよい。ここで、通信ネットワーク40は、IPパケットをインターネットプロトコル(IP)で通信可能なネットワークである。IPの上位プロトコルとしては、例えば、ICMP(Internet Control Message Protocol:アイシーエムピー)、TCP(Transmission Control Protocol:ティーシーピー)、UDP(User Datagram Protocol:ユーディーピー)などがある。つまり、通信ネットワーク40は、前述したようなプロトコルによって、IPパケットを通信可能なネットワークであるが、伝送揺らぎが発生しうるネットワークである。伝送揺らぎは、通信ネットワーク40の負荷の高い状態が一時的に発生して、データ伝送に遅延が生じた場合などに発生する。また、通信ネットワーク40上でIPパケットが欠落してしまい、受信端末50が映像配信サーバ30に対してIPパケットの再送を要求した場合などにも発生する。
【0042】
受信端末50は、映像配信サーバ30から配信されるIPパケットを受信し、IPパケットからTSパケットを抽出し、さらに、TSパケットからコンテンツデータを抽出して再生し、TV放送を視聴可能とさせる端末装置である。受信端末50の一例としては、STB(Set Top Box:セットトップボックス)、携帯端末、或いは、LANなどに接続可能なパーソナルコンピュータなどを挙げることが出来る。なお、受信端末50は、通常、複数存在するが、図1においては、説明の容易化のため、1つの受信端末50だけを代表として図示している。
【0043】
次に、図2、図3、図4を参照して、本実施形態の動作について説明する。
【0044】
図2は、本実施形態の基本的な動作を説明するフローチャートである。図2においては、図1に示した映像配信サーバ30と受信端末50の動作だけを示し、図1の放送局10の動作は示していない。これは、放送局10は複数局存在し、各放送局10は、前述したように、コンテンツデータをMPEG2−TS形式に従って符号化し、符号化したTSをOFDM変調して、OFDM信号を常に放送している。つまり、放送局10の動作は前述したように決まっており、かつ、常に放送を行っているため、図2においては放送局10の図示を省略するものである。
【0045】
図2において、受信端末50が、放送局10の何れかから送出されるTV放送を視聴したいとした場合、受信端末50において、TV放送のコンテンツの受信を開始する操作が行われる(図2のステップS1)。TV放送のコンテンツの受信を開始する操作が行われると、受信端末50から、映像配信サーバ30に対し、視聴したいTV放送のチャネルを付したコンテンツ受信要求を送出する(ステップS2)。
【0046】
コンテンツ受信要求を受信した映像配信サーバ30の制御手段35は、コンテンツ受信要求に付されているチャネルに応じた放送局10を選局する(ステップS3)。すると、図1には図示されていないTV放送受信手段が、選局された放送局10のTV放送を受信し、受信したTV放送の電波20を復調して、コンテンツデータのTSを受信バッファ31に蓄積する(ステップS4)。そして、受信バッファ31内のTSを、タイムスタンプ付加手段37を介して、送信バッファ33に送出する(ステップS5)。コンテンツデータのTSを受けた送信バッファ33からは、映像配信サーバ30により当該TSをIPパケットに構成し直したIPパケットが、受信端末50に対して配信される(ステップS6)。
【0047】
映像配信サーバ30から配信されたIPパケットを受信した受信端末50は、当該IPパケットを、受信端末50が有するバッファに蓄積する(ステップS7)。そして、受信端末50は、自身が既に映像配信サーバ30から受信したIPパケットの再生を開始しているか否かの判定を行う(ステップS7−1)。再生を開始していない場合(ステップS7−1で「No」)、受信端末50は、映像配信サーバ30に対して次のIPパケットの配信を要求する配信要求メッセージを送出する(ステップS7−2)。すなわち、受信端末50は、自身のバッファに或る程度のIPパケットが蓄積されるまでは、IPパケットを再生する動作を待っている。そして、受信端末50のバッファに或る程度のIPパケットが蓄積された後、受信端末50ではIPパケットを再生し(ステップS7−1で「Yes」の状態)、これを視聴させるよう動作する。
【0048】
映像配信サーバ30の制御手段35は、ステップS3によりステップS4〜S6を行わせた後、受信端末50から何らかの要求メッセージを受信したか否かを判定する(ステップS8)。ここで仮に、受信端末50から何のメッセージも受信していない場合(ステップS8で「無」)、制御手段35は何の制御も行わず、TV放送受信手段によるTV放送を受信させるステップS4〜S6を継続させる。或いは、受信端末50から何らかのメッセージを受信している場合(ステップS8で「有」)、制御手段35は要求メッセージの種別を判定する(ステップS16)。要求メッセージの種別が、配信要求メッセージであった場合(ステップS16で「配信要求」)、制御手段35はTV放送受信手段によるTV放送を受信させるステップS4〜S6を継続させる。ステップS4〜S6を継続させることにより、受信端末50に対し、映像配信サーバ30からIPパケットが配信される。
【0049】
すると、受信端末50は、映像配信サーバ30から配信されるIPパケットを、受信端末50が有するバッファに蓄積するようになる。すなわち、受信端末50は、ステップS7の、バッファにIPパケットを蓄積する動作を継続して行う。つまり、受信端末50においては、自身がIPパケットの再生を開始する前は、IPパケットの蓄積を継続し、IPパケットを再生する動作を待っている。そして、受信端末50で再生開始が行われた後、受信端末50はIPパケットを再生して、TV放送を視聴させるよう動作する(ステップS7−1で「Yes」の状態)。
【0050】
そして、TV放送の視聴を開始させた受信端末50は、自身のバッファに蓄積されている最初のIPパケットから、TSとして受信したコンテンツデータを抽出し、コンテンツデータを再生し、これを視聴させるよう動作する(ステップS10)。再生したIPパケットはバッファから消去する。
【0051】
次に、受信端末50は、ステップS10で再生を行った際、IPパケットを取得した受信端末50のバッファが、満杯状態であったか否かを判定する(ステップS11)。満杯状態であった場合(ステップS11で「Yes」)、再度、ステップS10を行って、バッファ内から次のIPパケットを取得し、これを再生する。これは、受信端末50のバッファがオーバーフローすることを防ぐため、バッファのIPパケットを減らすために行う動作である。
【0052】
受信端末50のバッファが満杯状態ではなかった場合(ステップS11で「No」)、受信端末50は、コンテンツの再生を終了するよう指示されているか否かを判定する(ステップS12)。コンテンツ再生を終了する旨の指示がなされていない場合(ステップS12で「No」)、受信端末50は、次のIPパケットを配信させるための配信要求メッセージを、映像配信サーバ30に送出する(ステップS13)。
【0053】
コンテンツ再生を終了する旨の指示がなされている場合(ステップS12で「Yes」)、受信端末50は、次のIPパケットを配信させないよう、終了要求メッセージを映像配信サーバ30に送出する(ステップS14)。そして、受信端末50は、コンテンツ再生を終了する(ステップS15)。
【0054】
映像配信サーバ30の制御手段35は、前述したように、受信端末50からの要求メッセージを受信したか否かを判定する(ステップS8)。受信端末50からの要求メッセージを受信している場合(ステップS8で「有」)、制御手段35は要求メッセージの種別を判定する(ステップS16)。要求メッセージの種別が、配信要求メッセージであった場合(ステップS16で「配信要求」)、制御手段35はTV放送受信手段によるTV放送を受信させるステップS4〜S6を継続させる。ステップS4〜S6を継続させることにより、受信端末50に対し、映像配信サーバ30からIPパケットが配信される。
【0055】
要求メッセージの種別が、終了要求メッセージであった場合(ステップS16で「終了要求」)、映像配信サーバ30の制御手段35は、受信端末50に対するIPパケットの配信を終了する(ステップS17)
以上、図2を参照して、本実施形態の基本的な動作について説明した。
【0056】
次に、図3を参照して、本実施形態の詳細な動作について説明する。
【0057】
図3は、本実施形態の詳細な動作を説明するフローチャートである。
【0058】
図3においては、主に、映像配信サーバ30におけるTSパケットのタイムスタンプの変更動作について説明する。また、参考として、受信端末50における、変更されたタイムスタンプによるコンテンツ、すなわちTSパケット、の再生タイミングの変化、についても説明する。
【0059】
受信端末50から、コンテンツ受信要求(図2のステップS2)を受信した映像配信サーバ30は、コンテンツ受信要求に付されているチャネルを選局し、選局した放送局10のTV放送の受信を開始する。この時、映像配信サーバ30のクロック生成手段36のクロック周波数は、MPEG2で規格化されている27MHzの一定値である(図3のステップS100)。従って、クロック生成手段36が生成するクロックは一定の値となっている。
【0060】
TV放送の受信を開始した映像配信サーバ30の制御手段35は、送信バッファ33から或る程度の量のIPパケットが配信された後、受信データ量計測手段32が計測した、TV放送受信開始時からの受信データ量(以降、T1と表現する)を受信する(ステップS110)。また、制御手段35は、送出データ量計測手段34が計測した、配信開始時からの送出データ量(以降、T2と表現する)を受信する(ステップS111)。
【0061】
次に、制御手段35は、受信データ量(T1)が送出データ量(T2)より大きいかを判定する(ステップS120)。T1>T2であった場合(ステップS120で「Yes」)、クロック生成手段36に対し、クロック周波数を上げるよう指示する。
【0062】
クロック生成手段36は、自身のクロック周波数を上げることにより、自身が生成するクロックの速度を上げる(ステップS121)。そして、クロック生成手段36は、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。
【0063】
タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが増えるよう変更する(ステップS122)。そして、タイムスタンプを増やしたTSパケットを含むTSを送信バッファ33に送出する。送信バッファ33からは、当該TSをIPパケットに構成し直したIPパケットが、受信端末50に対して配信される(ステップS123)。ステップS123の後、制御手段35の制御は、図3の「*1」(図3のステップS140)に移る。
【0064】
ステップS123により、受信端末50は、タイムスタンプが増えたTSパケットを含むTSを、IPパケットとして受信する。受信端末50で、このタイムスタンプが増えたTSパケットのコンテンツデータを再生する。この時、当該TSパケットのタイムスタンプは増えているため、当該TSパケットの再生タイミングは遅くなる(ステップS124)。
【0065】
図3のステップS120の判定で、制御手段35が、T1>T2でないと判定した場合(ステップS120で「No」)、制御手段35は、受信データ量(T1)が送出データ量(T2)より小さいかを判定する(ステップS130)。T1<T2であった場合(ステップS130で「Yes」)、クロック生成手段36に対し、クロック周波数を下げるよう指示する。
【0066】
クロック生成手段36は、自身のクロック周波数を下げることにより、自身が生成するクロックの速度を下げる(ステップS131)。そして、クロック生成手段36は、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。
【0067】
タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが減るよう変更する(ステップS132)。そして、タイムスタンプを減らしたTSパケットを含むTSを送信バッファ33に送出する。送信バッファ33からは、当該TSをIPパケットに構成し直したIPパケットが、受信端末50に対して配信される(ステップS133)。ステップS133の後、制御手段35の制御は、図3の「*1」(図3のステップS140)に移る。
【0068】
ステップS133により、受信端末50は、タイムスタンプを減らしたTSパケットを含むTSを、IPパケットとして受信する。受信端末50で、このタイムスタンプが減ったTSパケットのコンテンツデータを再生する。この時、当該TSパケットのタイムスタンプは減っているため、当該TSパケットの再生タイミングは早くなる(ステップS134)。
【0069】
図3のステップS130の判定で、制御手段35が、T1<T2でないと判定した場合(ステップS130で「No」)、制御手段35は、受信端末50への配信の終了か否かを判定する(ステップS140)。配信終了でない場合は(ステップS140で「No」)、制御手段35の制御は、ステップS110に戻る。配信終了の場合(ステップS140で「Yes」)、制御手段35は、受信端末50への配信を終了する(ステップS150)。
【0070】
次に、これまで図3で説明した、映像配信サーバ30におけるTV放送受信開始時からの動作について、図4の具体例を参照して説明する。
【0071】
図4は、タイムスタンプの変化の様子の一例を示す図である。
【0072】
図4においては、放送局10、映像配信サーバ30、受信端末50の各々における、TSパケットのタイムスタンプを示している。なお、MPEG2システムにおいては、全てのTSパケットにPCRすなわちタイムスタンプを付す必要は無く、PCRを付したTSパケットの送信間隔を100msec以下にすればよい、と定められている。しかし、図4においては、説明の容易化のため、全てのTSパケットにタイムスタンプが付されており、また、1つのTSには1つのTSパケットが含まれるものとして説明する。さらに、図4においては、放送局10から1つのTS(すなわち、1つのTSパケット)を送出する動作は、放送局10のクロックを「30」カウントする毎に行われるものとする。これは、放送局10のクロックの1波長を1msecとし、1つのTSを30msec毎に送出する場合を、一例として示すものである。
【0073】
図4において、放送局10から送出するTSパケットの番号は、最初のTSパケットの番号を「0」、2番目のTSパケットの番号を「1」、3番目を「2」・・・などとし、以下同様にTSパケットの番号は「1」ずつ増加するものとする(図4の401列)。また、各TSパケットのタイムスタンプは、「0」番のTSパケットは「000」、「1」番のTSパケットは「030」、「2」番は「060」・・・などとし、以下同様にタイムスタンプは「30」ずつ増加して、放送局10から送出されるものとする(402列)。
【0074】
映像配信サーバ30は、放送局10から送出されるTSパケットを受信し、自身の受信バッファ31に蓄積する。受信バッファ31に蓄積されたTSパケットのタイムスタンプは、放送局10が付した値と同じ値である(403列)。映像配信サーバ30の送信バッファ33に蓄積されるTSパケットのタイムスタンプは、クロック生成手段36がクロック速度を上げると、受信バッファ31でのタイムスタンプよりも増えた値となる。すなわち、タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが増えるよう変更する(図3のS122)。そして、タイムスタンプを増やしたTSパケットを含むTSを送信バッファ33に送出する。逆に、クロック生成手段36がクロック速度を下げると、送信バッファ33に蓄積されるTSパケットのタイムスタンプは、受信バッファ31でのタイムスタンプよりも減った値となる。すなわち、タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが減るよう変更する(図3のS132)。そして、タイムスタンプを減らしたTSパケットを含むTSを送信バッファ33に送出する(図4の404列)。
【0075】
受信端末50のバッファに蓄積されるTSパケットのタイムスタンプは、映像配信サーバ30の送信バッファ33におけるタイムスタンプと同じ値である(405列)。
【0076】
図4において、映像配信サーバ30は、TSパケット番号が「0」と「1」のTSパケットが、受信バッファ31から送信バッファ33に送出される際には、クロック生成手段36のクロックを変更していないため、タイムスタンプも変更されていない。なお、ここでは、一例として、TSパケット番号が「0」のTSパケットを送信バッファ33に送出した後、クロックを「30」カウントしてから、TSパケット番号が「1」のTSパケットを送出するものとしている。
【0077】
その後、映像配信サーバ30の制御手段35が、図3のS120で説明したように、受信データ量(T1)>送出データ量(T2)、であると判定した場合、クロック生成手段36は、クロックの速度を上げる。そして、そのクロックを、タイムスタンプ付加手段37に伝達する。この時の状態を、図4では(「注1」)として表示している。なお、ここでは一例として、クロック生成手段36のクロックが、タイムスタンプ付加手段37のカウンタにより、それまでの「30」より「3」だけ増えた「33」カウントされる毎に、次のTSパケットを送信バッファ33に送出するものとする。
【0078】
図4におけるTSパケット番号が「2」のTSパケットについて見てみることにする。当該TSパケットは、映像配信サーバ30の受信バッファ31から送信バッファ33に送出される際、クロック生成手段36のクロック速度が上がっているため、タイムスタンプ付加手段37によって、タイムスタンプが増やされる。増やされるタイムスタンプは上述したように、直前のTSパケットを送出してから、クロックを「33」カウントした後の値である。従って、図4においては、TSパケット番号が「2」のTSパケットは、TSパケット番号が「1」のTSパケットのタイムスタンプ「030」より「33」増えた「063」に増やされている。以下同様に、TSパケット番号が「3」のTSパケットのタイムスタンプは、TSパケット番号が「2」のTSパケットのタイムスタンプより「33」増えた「096」に増やされる。
【0079】
ここで、受信端末50におけるTSパケットの再生タイミングについて説明を行う。
【0080】
受信端末50は、自身が有するクロック生成回路が発生するクロックで動作しており、このクロック生成回路は、基本的には、MPEG2システムで規格化されている27MHzの発振周波数で動作している。しかし、当該クロックは、放送局10のクロックとは必ずしも同期していない場合がある。これは、MPEG2システムで規格化されている発振周波数は、27MHz±810Hzとされており、或る程度の誤差を許容しているためである。また、クロック生成回路を構成する部品の精度や、回路内部の配線長などの製造上の理由により、放送局10や受信端末50のクロック生成回路が全く同一の精度で動作するとは限らない故である。
【0081】
そして、本実施形態における受信端末50のクロック生成回路は、常に一定のクロックを発生しており、このクロックの値を変更させる機能(例えば、PLL回路、など)は有していない、ということを前提としている。
【0082】
図4において、受信端末50が、映像配信サーバ30から受信したTSパケットからコンテンツを再生する際、当該TSパケットのタイムスタンプを参照し、そのタイミングでコンテンツの再生を行う。
【0083】
図4におけるTSパケット番号が「0」のTSパケットを再生した時から、受信端末50は、自身のクロック生成回路のクロックのカウントを開始する。そして、TSパケット番号が「1」のTSパケットを再生するタイミングは、当該TSパケットのタイムスタンプ(すなわち、「030」)を参照して決定する。つまり、自身のクロック生成回路のクロックのカウント値が「030」になった時、TSパケット番号が「1」のTSパケットのコンテンツを再生する。
【0084】
次のTSパケット番号が「2」のTSパケットを再生する場合は、自身のクロック生成回路のクロックのカウント値が「063」になった時、当該TSパケットのコンテンツを再生する。つまり、再生のタイミングが、放送局10が送出したタイムスタンプ「060」に比べて遅くなる。この時の状態は、図4において(「注2」)として表示している。図2のステップS13として説明したように、受信端末50は、TSパケットを1つ再生するたびに、次のTSパケットを配信するよう、映像配信サーバ30に対して配信要求メッセージを送出する。すると、映像配信サーバ30からは、次のTSパケットが1つ配信される。
【0085】
つまり、受信端末50におけるTSパケットの再生タイミングが遅くなることにより、映像配信サーバ30が配信する次のTSパケットの配信タイミングも遅くなる。このことにより、映像配信サーバ30の送信バッファ33内のTSパケットは、徐々に増えていくこととなる。従って、映像配信サーバ30の送信バッファ33におけるデータ(つまり、TSパケット)が無くなる状態、つまり、送信バッファ33のアンダーフローを防ぐことになる。仮に、上記の制御がなされずに、映像配信サーバ30の送信バッファ33がアンダーフローを発生した場合、映像配信サーバ30から受信端末50に対して配信するデータ(TSパケット)が無い状態となる。すると、受信端末50のバッファもアンダーフローしてしまい、受信端末50におけるコンテンツの再生が行われなくなってしまう、という結果を生じてしまう。
【0086】
以上説明したように、映像配信サーバ30のクロック生成手段36のクロック周波数を上げることにより、送信バッファ33のアンダーフローを防ぐことが可能となる。また、映像配信サーバ30の送信バッファ33のアンダーフローを防ぐことにより、受信端末50のバッファのアンダーフローも防ぐことが出来る。
【0087】
次に、映像配信サーバ30の送信バッファ33のオーバーフローを防ぐ際の動作について説明する。この動作は、図4においては、TSパケット番号が「10」以降のタイムスタンプの変化の様子として示されている。
【0088】
図4において、映像配信サーバ30は、TSパケット番号が「10」と「11」のTSパケットが、受信バッファ31から送信バッファ33に送出される際には、クロック生成手段36のクロックを変更していないため、タイムスタンプも変更されていない。なお、ここでは、一例として、TSパケット番号が「10」のTSパケットを送信バッファ33に送出した後、クロックを「30」カウントしてから、TSパケット番号が「11」のTSパケットを送出するものとしている。
【0089】
その後、映像配信サーバ30の制御手段35が、図3のS130で説明したように、受信データ量(T1)<送出データ量(T2)、であると判定した場合、クロック生成手段36は、クロックの速度を下げる。そして、そのクロックを、タイムスタンプ付加手段37に伝達する。この時の状態を、図4では(「注3」)として表示している。なお、ここでは一例として、クロック生成手段36のクロックが、タイムスタンプ付加手段37のカウンタにより、それまでの「30」より「3」だけ減った「27」カウントされる毎に、次のTSパケットを送信バッファ33に送出するものとする。
【0090】
図4におけるTSパケット番号が「12」のTSパケットについて見てみることにする。当該TSパケットは、映像配信サーバ30の受信バッファ31から送信バッファ33に送出される際、クロック生成手段36のクロック速度が下がっているため、タイムスタンプ付加手段37によって、タイムスタンプが減らされる。減らされるタイムスタンプは上述したように、直前のTSパケットを送出してから、クロックを「27」カウントした後の値である。従って、図4においては、TSパケット番号が「12」のTSパケットは、TSパケット番号が「11」のTSパケットのタイムスタンプ「330」より「27」増えた「357」となっている。以下同様に、TSパケット番号が「13」のTSパケットのタイムスタンプは、TSパケット番号が「12」のTSパケットのタイムスタンプより「27」増えた「384」となる。
【0091】
ここで、受信端末50におけるTSパケットの再生タイミングについて説明を行う。
【0092】
図4におけるTSパケット番号が「0」のTSパケットを再生した時から、受信端末50は、自身のクロック生成回路のクロックのカウントを開始している。そして、TSパケット番号が「11」のTSパケットを再生するタイミングは、当該TSパケットのタイムスタンプ(すなわち、「330」)を参照して決定する。つまり、自身のクロック生成回路のクロックのカウント値が「330」になった時、TSパケット番号が「11」のTSパケットのコンテンツを再生する。
【0093】
次のTSパケット番号が「12」のTSパケットを再生する場合は、自身のクロック生成回路のクロックのカウント値が「357」になった時、当該TSパケットのコンテンツを再生する。つまり、再生のタイミングが、放送局10が送出したタイムスタンプ「360」に比べて早くなる。この時の状態は、図4において(「注4」)として表示している。図2のステップS13として説明したように、受信端末50は、TSパケットを1つ再生するたびに、次のTSパケットを配信するよう、映像配信サーバ30に対して配信要求メッセージを送出する。すると、映像配信サーバ30からは、次のTSパケットが1つ配信される。
【0094】
つまり、受信端末50におけるTSパケットの再生タイミングが早くなることにより、映像配信サーバ30が配信する次のTSパケットの配信タイミングも早くなる。このことにより、映像配信サーバ30の送信バッファ33内のTSパケットは、徐々に減っていくこととなる。従って、映像配信サーバ30の送信バッファ33におけるデータ(つまり、TSパケット)が送信バッファ33に入りきれなくなる状態、つまり、送信バッファ33のオーバーフローを防ぐことになる。
【0095】
以上説明したように、映像配信サーバ30のクロック生成手段36のクロック周波数を下げることにより、送信バッファ33のオーバーフローを防ぐことが可能となる。
【0096】
以上、本発明の第1の実施形態の動作について説明した。
【0097】
以上説明したように、本実施形態の映像配信サーバ30は、受信した放送データを蓄積受信データとして蓄積する第1の記憶手段(受信バッファ31)と、前記蓄積受信データのデータ量である受信データ量を計測する受信データ量計測手段32と、を備えている。また、順次供給される前記蓄積受信データを蓄積する第2の記憶手段(送信バッファ33)と、前記第2の記憶手段から読み出され出力される送信データのデータ量である送出データ量を計測する送出データ量計測手段34と、を備えている。さらに、前記第1の記憶手段から所定のクロック(クロック生成手段36)のタイミングで読み出した前記蓄積受信データに、前記クロックの周期をカウントした結果に基づくタイムスタンプを付加して前記第2の記憶手段に書き込むタイムスタンプ付加手段37を備えている。またさらに、前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる制御手段35と、を備えている。
【0098】
そして、本実施形態においては、映像配信サーバ30が受信した受信データ量が、受信端末50に配信した送出データ量より多い場合、すなわち、送信バッファ33が蓄積しているデータ量が減少し始めた場合、次のように動作する。つまり、クロック生成手段36のクロック周波数を上げ、クロック速度を上げる。すると、映像配信サーバ30から受信端末50に配信するコンテンツデータのタイムスタンプが増す。タイムスタンプが増すことにより、受信端末50は一定したクロックで動作しているため、受信端末50での再生のタイミングが遅くなる。このことにより、送信バッファ33から配信されるコンテンツデータの配信タイミングも遅くなり、送信バッファ33内のコンテンツデータは徐々に増えることになる。従って、送信バッファ33におけるアンダーフローを防ぐことが出来る。
【0099】
また、映像配信サーバ30が受信した受信データ量が、受信端末に配信した送出データ量より少ない場合、すなわち、送信バッファ33が蓄積しているデータ量が増え始めた場合、次のように動作する。つまり、クロック生成手段36のクロック周波数を下げ、クロック速度を下げる。すると、映像配信サーバ30から受信端末50に配信するコンテンツデータのタイムスタンプが減る。タイムスタンプが減ることにより、受信端末50は一定したクロックで動作しているため、受信端末50での再生のタイミングが早くなる。このことにより、送信バッファ33から配信されるコンテンツデータの配信タイミングも早くなり、送信バッファ33内のコンテンツデータは徐々に減っていくことになる。従って、送信バッファ33におけるオーバーフローを防ぐことが出来る。
【0100】
従って、本実施形態によれば、放送局と受信端末それぞれのクロックが同期していない場合であっても、放送局と受信端末間でコンテンツを仲介する映像配信サーバに、バッファのオーバーフローやアンダーフローを発生させることがない。
[第2の実施形態]
次に、図1に示した第1の実施形態をさらに詳細化した本発明による第2の実施形態について説明する。
【0101】
図5は、本発明の映像配信システムの第2の実施形態を示すブロック図である。図5においては、図1に示した映像配信サーバ30に機能追加を行って映像配信サーバ30−1とし、映像配信サーバ30−1について更に詳細に説明する。従って、図5において、図1の構成要素に対応するものは同一の参照数字または符号を付し、その説明を極力省略するものとする。
【0102】
図5に示す映像配信システム100−1は、図1と同様に、放送局10と、映像配信サーバ30−1と、受信端末50を含んでいる。放送局10は、放送するコンテンツデータを放送用の電波20に載せて、放送を行う。映像配信サーバ30−1は、電波20を受信してコンテンツデータを蓄積し、蓄積したコンテンツデータを、通信ネットワーク40を介して、受信端末50に配信する。
【0103】
図5における放送局10、通信ネットワーク40及び受信端末50は、第1の実施形態と同一であるため、それぞれの説明は省略するものとする。
【0104】
映像配信サーバ30−1は、放送局10から送出される電波20から、所望のTV放送を選局して受信し、受信したOFDM信号を復調して、MPEG2−TSを抽出するTV(television:テレビジョン)放送受信手段301を含んでいる。また、TV放送受信手段301が抽出したTSを受信して蓄積する受信バッファ31を含んでいる。また、受信バッファ31に蓄積されたTSの量(以下、受信データ量と称す)を計測する受信データ量計測手段32を含んでいる。ここで、受信バッファ31及び受信データ量計測手段32は、第1の実施形態と同一のものである。
【0105】
さらに、映像配信サーバ30−1は、受信端末50に配信するTSを蓄積する送信バッファ33を含んでいる。また、送信バッファ33から受信端末50に配信されたTSの量(以下、送出データ量と称す)を計測する送出データ量計測手段34を含んでいる。ここで、送信バッファ33及び送出データ量計測手段34は、第1の実施形態と同一である。
【0106】
また、映像配信サーバ30−1は、制御手段35−1と、クロック生成手段36と、タイムスタンプ付加手段37を更に含んでいる。
【0107】
制御手段35−1は、映像配信サーバ30全体の動作制御を行う。特に、制御手段35−1は、受信データ量計測手段32が計測した受信データ量と、送出データ量計測手段34が計測した送出データ量を比較する。比較の結果、受信データ量の方が送出データ量よりも大きい場合は、クロック生成手段36のクロック周波数を上げるよう制御する。逆に、受信データ量の方が送出データ量よりも少ない場合は、クロック生成手段36のクロック周波数を下げるよう制御する。また、制御手段35−1は、後述する制御命令受信手段303から、受信端末50が送信したメッセージから得られる制御命令を受信し、当該制御命令に応じた制御を行う。当該制御命令は、第1の実施形態の図2で説明した、コンテンツ受信要求、配信要求メッセージ、終了要求メッセージなどのメッセージから得られる命令である。
【0108】
クロック生成手段36及びタイムスタンプ付加手段37は、第1の実施形態と同一であるため、それぞれの説明は省略するものとする。
【0109】
さらに、映像配信サーバ30−1は、ネットワークI/F(Inter Face:インタフェース)302、制御命令受信手段303及び転送速度計測手段304を含んでいる。
【0110】
ネットワークI/F302は、通信ネットワーク40を介して受信端末50との通信を行う。特に、ネットワークI/F302は、送信バッファ33に蓄積されているTSを受信端末50に対して送出する。また、受信端末50から受信したメッセージ(上述した、コンテンツ受信要求、配信要求メッセージ、終了要求メッセージなど)を、制御命令受信手段303に送出する。
【0111】
制御命令受信手段303は、ネットワークI/F302から、受信端末50が送信したメッセージを受け、当該メッセージに含まれる制御命令を抽出する。そして、当該制御命令を制御手段35−1に送出する。受信端末50が送信したコンテンツ受信要求からは、放送局10を選局する命令と、選局した放送局10から受信したコンテンツデータの配信開始の命令を抽出する。受信端末50が送信した配信要求メッセージからは、送信バッファ33に蓄積されているTSを1つ選び、当該TSを受信端末50に配信する命令を抽出する。受信端末50が送信した終了要求メッセージからは、受信端末50に対するTSの配信を終了する命令を抽出する。
【0112】
転送速度計測手段304は、ネットワークI/F302から受信端末50に対して配信するTSの転送速度を計測し、計測した転送速度を、制御手段35−1に送出する。
【0113】
次に、図6を参照して、本実施形態の動作について説明する。
【0114】
図6は、本発明の第2の実施形態の動作を説明するフローチャートである。なお、図6は、第1の実施形態における図3のフローチャートに僅かな変更が加えられたものである。従って、図6において図3の構成要素に対応するものは同一の参照数字または符号を付し、その説明を極力省略するものとする。
【0115】
受信端末50から、第1の実施形態と同一の、コンテンツ受信要求を受信した映像配信サーバ30−1の制御手段35−1は、ネットワークI/F302及び制御命令受信手段303から、コンテンツ受信要求の制御命令を受信する。そして、コンテンツ受信要求に付されているチャネルをTV放送受信手段301に選局させる。TV放送受信手段301は、選局指示の有った放送局10のTV放送の受信を開始する。この時、映像配信サーバ30−1の制御手段35−1は、クロック速度を固定で動作させる(図6のステップS101)。従って、クロック生成手段36のクロック周波数は、MPEG2で規格化されている27MHzの一定値であり(図6のステップS100)、クロック生成手段36が生成するクロックは一定の値となっている。クロック速度を一定期間の間、固定で動作させるのは、以下の理由によるものである。
【0116】
すなわち、前述したように、受信端末50がコンテンツ受信要求を送信した後、映像配信サーバ30−1からのIPパケットを受信し、自身のバッファに或る程度のIPパケットが蓄積されるまでは、受信端末50はIPパケットの再生を行わない。そして、IPパケットの再生の開始前は、再生の開始後に比べ、受信端末50は高い頻度で配信要求メッセージを送出する。つまり、受信端末50においてIPパケットの再生開始前は、高い頻度で映像配信サーバ30−1からのIPパケットを受信する。その間は、映像配信サーバ30−1のクロック周波数を一定にしておき、クロック速度を固定しておくことにより、IPパケット内のTSのタイムスタンプが変更されないようにするためである。このことは、受信端末50における再生タイミングが変更されることが無いようにするため、と同様の意味を持つものである。
【0117】
TV放送の受信を開始した映像配信サーバ30−1は、送信バッファ33からネットワークI/F302を介して、或る程度の量のIPパケットが配信されるまでは、転送速度計測手段304により、受信端末50へIPパケットを配信する速度を計測している。そして、転送速度計測手段304から転送速度を受信した制御手段35−1は、転送速度が安定しているか否かを判定する(ステップS105)。転送速度が安定していない場合(ステップS105で「No」)、再度、ステップS105に戻り、転送速度が安定しているかの判定を行う。転送速度が安定した場合(ステップS105で「Yes」)、次のステップS110に進む。転送速度が安定したことを判定する条件としては、次のようなものがある。1つは、映像配信サーバ30−1の制御手段35−1は、固定したクロック周波数で転送可能な転送速度に対し、予め設定された範囲の転送速度になった場合、転送速度が安定したと判断する。ここで、固定したクロック周波数で転送可能な転送速度の値は、例えば、地上デジタルテレビジョン放送では、15Mbps〜20Mbps程度の値である。転送速度が安定したことを判定する他の条件としては、予め設定された範囲の転送速度が一定時間継続した場合、などであってもよい。
【0118】
転送速度が安定した場合(ステップS105で「Yes」)、次のステップS110に進むが、ステップS110以降の動作は、第1の実施形態で示した動作と同一である。従って、以降においては、ステップS110以降の動作は略記するにとどめるものとする。なお、転送速度が安定した後に(ステップS105で「Yes」)、次のステップS110に進む理由は以下の通りである。すなわち、後述するように、制御手段35−1は、受信データ量(T1)と送出データ量(T2)の比較を行い、比較結果に応じて、クロック生成手段36のクロック周波数を変更する。転送速度が安定しないうちに(ステップS105で「No」)、T1とT2を計測して比較を行ってしまうと、転送速度と同様に安定していないT1とT2を比較することとなってしまう。すると、本来であれば、安定した状態のT1とT2の比較を行うべき動作において、誤った比較判定を行ってしまうこととなる。このような事態を回避するため、転送速度が安定した後にステップS110以降に進むようにしたものである。
【0119】
TV放送の受信を開始した映像配信サーバ30−1の制御手段35−1は、送信バッファ33から或る程度の量のIPパケットが配信された後、受信データ量計測手段32が計測した、TV放送受信開始時からの受信データ量(以降、T1と表現する)を受信する(ステップS110)。また、制御手段35−1は、送出データ量計測手段34が計測した、配信開始時からの送出データ量(以降、T2と表現する)を受信する(ステップS111)。
【0120】
次に、制御手段35−1は、受信データ量(T1)が送出データ量(T2)より大きいかを判定する(ステップS120)。T1>T2であった場合(ステップS120で「Yes」)、クロック生成手段36に対し、クロック周波数を上げるよう指示する。
【0121】
クロック生成手段36は、自身のクロック周波数を上げることにより、自身が生成するクロックの速度を上げる(ステップS121)。そして、クロック生成手段36は、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。
【0122】
タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが増えるよう変更する(ステップS122)。そして、タイムスタンプを増やしたTSパケットを含むTSをIPパケットに構成し直し、送信バッファ33を介してネットワークI/F302から受信端末50に対して配信する(ステップS126)。ステップS126の後、制御手段35−1の制御は、図6の「*2」(図6のステップS140)に移る。
【0123】
ステップS126により、受信端末50は、IPパケットを受信し、IPパケットからタイムスタンプが増えたTSパケットを抽出してコンテンツデータを再生する。この時、当該TSパケットのタイムスタンプは増えているため、当該TSパケットの再生タイミングは遅くなる(ステップS124)。
【0124】
図6のステップS120の判定で、制御手段35−1が、T1>T2でないと判定した場合(ステップS120で「No」)、制御手段35−1は、受信データ量(T1)が送出データ量(T2)より小さいかを判定する(ステップS130)。T1<T2であった場合(ステップS130で「Yes」)、クロック生成手段36に対し、クロック周波数を下げるよう指示する。
【0125】
クロック生成手段36は、自身のクロック周波数を下げることにより、自身が生成するクロックの速度を下げる(ステップS131)。そして、クロック生成手段36は、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。
【0126】
タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが減るよう変更する(ステップS132)。そして、タイムスタンプを減らしたTSパケットを含むTSをIPパケットに構成し直し、送信バッファ33を介してネットワークI/F302から受信端末50に対して配信する(ステップS136)。ステップS136の後、制御手段35−1の制御は、図6の「*2」(図6のステップS140)に移る。
【0127】
ステップS136により、受信端末50は、IPパケットを受信し、IPパケットからタイムスタンプを減らしたTSパケットを抽出してコンテンツデータを再生する。この時、当該TSパケットのタイムスタンプは減っているため、当該TSパケットの再生タイミングは早くなる(ステップS134)。
【0128】
図6のステップS130の判定で、制御手段35−1が、T1<T2でないと判定した場合(ステップS130で「No」)、制御手段35−1は、受信端末50への配信の終了か否かを判定する(ステップS140)。配信終了でない場合は(ステップS140で「No」)、制御手段35−1の制御は、ステップS110に戻る。配信終了の場合(ステップS140で「Yes」)、制御手段35−1は、受信端末50への配信を終了する(ステップS150)。
【0129】
以上説明したように、本発明の第2の実施形態の動作は、映像配信サーバ30−1において、受信端末50からコンテンツ受信要求を受信して、選局した放送局10からTV放送の受信を開始した後の一定期間の動作が、第1の実施形態の動作と異なっているだけである。
【0130】
すなわち、映像配信サーバ30−1がTV放送の受信を開始し、初めは、クロック速度を固定して、受信端末50に配信するIPパケット内のTSのタイムスタンプが変更されないよう動作する。そして、受信端末50へ配信するIPパケットの転送速度が安定した後、第1の実施形態と同様に、映像配信サーバ30−1の受信データ量(T1)と送出データ量(T2)の計測を開始する。T1とT2の計測を開始した後の動作は、第1の実施形態の動作と同一である。そして、図4を参照して説明した第1の実施形態におけるタイムスタンプの変化の様子も、第2の実施形態において、同一となっている。
【0131】
従って、第2の実施形態の動作についてのこれ以上の説明は省略するものとする。
【0132】
以上、第2の実施形態の動作について説明した。
【0133】
前述したように、本発明の第2の実施形態は、図1に示した第1の実施形態の映像配信サーバ30に、図5に示したTV放送受信手段301、ネットワークI/F302、制御命令受信手段303、転送速度計測手段304を追加したものとなっている。そして、図1に示した制御手段35に機能追加を行って、制御手段35−1としている。
【0134】
制御手段35−1に追加された機能の内の主なものは、TV放送受信開始後に、クロック生成手段36のクロック速度を固定する機能(図6のステップS101)、及び、転送速度が安定したかを判定する機能(図6のステップS105)である。従って、以下において第2の実施形態に特有の箇所に関してのみ説明するものとする。
【0135】
以上説明したように、本実施形態の映像配信システム100−1は、映像配信サーバ30−1を備えている。また、映像配信サーバ30−1からの送信データを受信し、自らの動作クロックにより前記送信データに付されたタイムスタンプに対応するタイミングで前記送信データを再生する受信端末50を備えている。
【0136】
ここで、映像配信サーバ30−1は、制御手段35−1、TV放送受信手段301、ネットワークI/F302、制御命令受信手段303、転送速度計測手段304を含んでいる。
【0137】
制御手段35−1は、受信端末50から、ネットワークI/F302及び制御命令受信手段303を介し、コンテンツ受信要求の制御命令を受信する。そして、コンテンツ受信要求に付されているチャネルをTV放送受信手段301に選局させる。TV放送受信手段301は、選局指示の有った放送局10のTV放送の受信を開始する。この時、制御手段35−1は、クロック速度を固定で動作させる。
【0138】
TV放送の受信を開始した映像配信サーバ30−1は、転送速度計測手段304により、受信端末50へIPパケットを配信する速度を計測している。そして、転送速度計測手段304から転送速度を受信した制御手段35−1は、転送速度が安定しているか否かを判定する。転送速度が安定していない場合は、転送速度が安定するまで、転送速度計測手段304は転送速度の計測を行う。
【0139】
そして、転送速度が安定した場合、制御手段35−1は、TV放送受信開始時からの受信データ量(T1)と、受信端末50への配信開始時からの送出データ量(T2)を受信する。
【0140】
次に、制御手段35−1は、受信データ量(T1)が送出データ量(T2)より大きいかを判定する。T1>T2であった場合、クロック生成手段36に対し、クロック周波数を上げるよう指示する。クロック生成手段36は、自身のクロック周波数を上げることにより、自身が生成するクロックの速度を上げ、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが増えるよう変更する。
【0141】
また、制御手段35−1が、T1>T2でないと判定した場合は、次に、受信データ量(T1)が送出データ量(T2)より小さいかを判定する。T1<T2であった場合、クロック生成手段36に対し、クロック周波数を下げるよう指示する。クロック生成手段36は、自身のクロック周波数を下げることにより、自身が生成するクロックの速度を下げ、自身が生成しているクロックを、タイムスタンプ付加手段37に伝達する。タイムスタンプ付加手段37は、受信バッファ31から受けたTS内のTSパケットのタイムスタンプが減るよう変更する。
【0142】
そして、本実施形態においては、第1の実施形態と同様に、映像配信サーバ30−1が受信した受信データ量が、受信端末50に配信した送出データ量より多い場合、すなわち、送信バッファ33が蓄積しているデータ量が減少し始めた場合、次のように動作する。つまり、クロック生成手段36のクロック周波数を上げ、クロック速度を上げる。すると、映像配信サーバ30−1から受信端末50に配信するコンテンツデータのタイムスタンプが増す。タイムスタンプが増すことにより、受信端末50は一定したクロックで動作しているため、受信端末50での再生のタイミングが遅くなる。このことにより、送信バッファ33から配信されるコンテンツデータの配信タイミングも遅くなり、送信バッファ33内のコンテンツデータは徐々に増えることになる。従って、送信バッファ33におけるアンダーフローを防ぐことが出来る。ここで、仮に、クロック生成手段36のクロック周波数を上げなかったとすると、送信バッファ33が蓄積しているデータ量は更に減少し、ついに、送信バッファ33が空になることも起こりうる。すると、受信端末50への配信も無くなるため、受信端末50のバッファもアンダーフローを起こすこととなる。
【0143】
また、映像配信サーバ30−1が受信した受信データ量が、受信端末に配信した送出データ量より少ない場合、すなわち、送信バッファ33が蓄積しているデータ量が増え始めた場合、次のように動作する。つまり、クロック生成手段36のクロック周波数を下げ、クロック速度を下げる。すると、映像配信サーバ30から受信端末50に配信するコンテンツデータのタイムスタンプが減る。タイムスタンプが減ることにより、受信端末50は一定したクロックで動作しているため、受信端末50での再生のタイミングが早くなる。このことにより、送信バッファ33から配信されるコンテンツデータの配信タイミングも早くなり、送信バッファ33内のコンテンツデータは徐々に減っていくことになる。従って、送信バッファ33におけるオーバーフローを防ぐことが出来る。
【0144】
なお、本実施形態の映像配信サーバ30−1、及び、受信端末50は、放送局10のクロックと映像配信サーバ30−1や受信端末50のクロックを同期させるためのPLL回路などを備える必要がない。
【0145】
従って、本実施形態によれば、放送局と受信端末それぞれのクロックが同期していない場合であっても、放送局と受信端末間でコンテンツを仲介する映像配信サーバに、バッファのオーバーフローやアンダーフローを発生させない映像配信システムを提供することが可能となる。
【0146】
また、受信端末のバッファにアンダーフローを発生させることのない映像配信システムを提供することが可能となる。
【0147】
さらに、低コストで、映像配信サーバや受信端末を提供することが可能となる。
【符号の説明】
【0148】
10 放送局
20 電波
30 映像配信サーバ
30−1 映像配信サーバ
31 受信バッファ
32 受信データ量計測手段
33 送信バッファ
34 送出データ量計測手段
35 制御手段
35−1 制御手段
36 クロック生成手段
37 タイムスタンプ付加手段
301 TV放送受信手段
302 ネットワークI/F
303 制御命令受信手段
304 転送速度計測手段
40 通信ネットワーク
50 受信端末
100 映像配信システム
100−1 映像配信システム
500 再配信装置
501 放送受信部
502 TS記憶部
503 TS生成部
504 TMCC情報生成部
505 TS合成部
506 ダミーパケット処理部
507 変調部
508 配信部
600 PLL回路
601 引き算器
602 D/A変換器
603 低域フィルタ
604 電圧制御型水晶発振器
605 カウンタ
701 受信装置
702 受信バッファ
703 受信バッファ監視回路
704 受信クロック発生回路
705 AVデコーダ

【特許請求の範囲】
【請求項1】
受信した放送データを蓄積受信データとして蓄積する第1の記憶手段と、
前記蓄積受信データのデータ量である受信データ量を計測する受信データ量計測手段と、
順次供給される前記蓄積受信データを蓄積する第2の記憶手段と、
前記第2の記憶手段から読み出され出力される送信データのデータ量である送出データ量を計測する送出データ量計測手段と、
前記第1の記憶手段から所定のクロックのタイミングで読み出した前記蓄積受信データに、前記クロックの周期をカウントした結果に基づくタイムスタンプを付加して前記第2の記憶手段に書き込むタイムスタンプ付加手段と、
前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる制御手段と、
を備えていることを特徴とする映像配信サーバ。
【請求項2】
前記制御手段は、前記受信データ量が前記送出データ量より多い場合は前記クロックの周波数を上げ、
前記受信データ量が前記送出データ量より少ない場合は前記クロックの周波数を下げる、
ことを特徴とする請求項1に記載の映像配信サーバ。
【請求項3】
前記制御手段は、前記送信データの出力開始の後、出力する前記送信データの転送速度が安定するまでは、前記クロックの周波数を固定する、
ことを特徴とする請求項1或いは請求項2の何れかに記載の映像配信サーバ。
【請求項4】
請求項1乃至請求項3の何れかの請求項に記載された映像配信サーバと、
前記送信データを受信し、自らの動作クロックにより前記タイムスタンプに対応するタイミングで前記送信データを再生する受信端末と、
を備えていることを特徴とする映像配信システム。
【請求項5】
前記受信端末は、前記映像配信サーバに対し、前記送信データの送信を開始させるための配信要求を送信する、
ことを特徴とする請求項4に記載の映像配信システム。
【請求項6】
受信した放送データを蓄積受信データとして蓄積し、
前記蓄積受信データのデータ量である受信データ量を計測し、
前記蓄積受信データを所定のクロックのタイミングで読み出し、読み出した前記蓄積受信データに、前記クロックの周期をカウントした結果に基づくタイムスタンプを付加して送信データとして蓄積し、
蓄積した前記送信データを読み出して出力する前記送信データのデータ量である送出データ量を計測し、
前記受信データ量と前記送出データ量を比較した結果に基づき、前記クロックの周波数を変化させる、
ことを特徴とする映像配信方法。
【請求項7】
前記受信データ量と前記送出データ量を比較し、前記受信データ量が前記送出データ量より多い場合は前記クロックの周波数を上げ、
前記受信データ量が前記送出データ量より少ない場合は前記クロックの周波数を下げる、
ことを特徴とする請求項6に記載の映像配信方法。
【請求項8】
前記送信データの出力開始の後、出力する前記送信データの転送速度が安定するまでは、前記クロックの周波数を固定する、
ことを特徴とする請求項6或いは請求項7の何れかに記載の映像配信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−134621(P2012−134621A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−283050(P2010−283050)
【出願日】平成22年12月20日(2010.12.20)
【出願人】(000197366)NECアクセステクニカ株式会社 (1,236)
【Fターム(参考)】