説明

番組配信システムおよび番組配信プログラム

【課題】 シームレスで連続した番組の視聴を確保するとともに番組配信の内容の動的で柔軟な編集・変更を可能とした番組配信システムを提供する。
【解決手段】 システムタイマ10は起動時にゼロクリアされ経過時間をカウントアップする。配信予定リスト31と現在時刻情報から配信開始時刻に達した配信コンテンツをコンテンツ記憶部20から読み込んで動的にデコード部40によりデコード処理し、フレーム番号管理部50はデコード部40が逐次にデコード処理しているフレームデータを逐次に受け取り、各フレームデータに対して通しフレーム番号情報として与える。フレーム番号管理部によりフレーム番号が与えられたフレームデータは逐次再エンコード部60に渡され次々と動的に再びエンコード処理され、ストリーミング配信部から配信される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は番組コンテンツデータをストリーミング配信する番組配信システムおよび番組配信プログラムに関する。
【背景技術】
【0002】
番組コンテンツデータのネットワークを介した配信技術としてコンテンツ転送型とストリーミング配信型が知られている。
従来のコンテンツ転送型の配信技術は、配信する番組コンテンツデータをコンテンツ転送により番組配信システムからクライアントシステムに一括ダウンロードさせる技術であり、クライアントシステムは番組コンテンツデータのダウンロードが完全に終ってから再生を始める必要があった。このコンテンツ転送型の番組配信技術は、転送する番組コンテンツデータが大容量のコンテンツデータである場合にはダウンロードに必要な時間が長くなり実用に耐えない場合もある。
【0003】
そこで、ストリーミング配信型の番組コンテンツデータの配信技術が注目されている。ストリーミング配信型の番組コンテンツデータの配信技術ではストリーミング配信用の通信プロトコルに則った通信環境をストリーミングサーバとクライアントシステムの間のインターネット上に実現する。ストリーミングサーバ側は番組コンテンツデータをストリーミングデータとして逐次継続的に送信し、クライアントシステム側はストリーミングデータを逐次継続的に受信する。クライアントシステムではバッファにおける所定数のフレームデータのバッファリング処理の後、再生ソフトウェアによる番組コンテンツデータの再生が可能となり、以後、ストリーミングサーバからの番組コンテンツデータの受信とその再生が継続される。このように、全体としては長時間大容量の番組コンテンツデータであっても、ストリーミング配信開始時の短いバッファリングの待ち時間のみで再生を即座に開始することができる。
【0004】
図12は従来のストリーミング配信型の番組コンテンツデータの配信の流れを模式的に示した図である。
送信制御部1010は後述する再生リスト1040を参照して現在の時刻に応じた番組コンテンツの該当部分のデータを特定し、ストリーミングサーバ1030に対して配信すべきデータを記憶部1020から取り出して受け渡し、ストリーミング配信を制御する部分である。
記憶部1020に記憶されている番組コンテンツデータはストリーミング配信に適した形式に圧縮されたエンコード済みのコンテンツデータとなっている。番組コンテンツとしては撮影したビデオ映像、編集したビデオ映像、CGアニメーションなど多様のものがある。
ストリーミングサーバ1030は送信制御部1010から配信するデータを受けてストリーミングデータとして配信する。ネットワークとのインターフェイスも備えている。
再生リスト1040は番組コンテンツの再生順序を記述したものであり、再生する時間情報を持つことも可能である。つまり、配信する番組コンテンツとその配信予定時間が記述されており、いわゆるテレビ欄などの番組配信表と位置付けることもできる。
【0005】
番組コンテンツデータの配信の流れは以下のようになる。
送信制御部1010は再生リスト1040を参照しつつ、現在時刻に配信すべきコンテンツの該当部分のデータを特定する。例えば番組コンテンツデータAの終盤部分であったとすると記憶部1020からエンコード済コンテンツA1021Aの該当部分のデータを取得する。送信制御部1010は取得した該当部分のデータをストリーミングサーバ1030に渡し、ストリーミングサーバ1030からクライアントシステムに対してストリーミングデータが配信される。
時刻が進むたび、送信制御部1010は再生リスト1040を参照し、現在時刻に配信されるべき番組コンテンツの該当部分のデータを特定し、記憶部1020から当該データを取得してストリーミングサーバ1030に渡す。
このように、再生リスト1040の記述に従って次々と、エンコード済コンテンツA、エンコード済コンテンツB、エンコード済コンテンツCとストリーミング配信されて行き、クライアントシステムでは再生リスト1040があたかもTV番組の配信予定リストのように位置付けられる。
【0006】
【特許文献1】特開2001−54090号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記従来のストリーミング配信型の番組配信システムによれば、従来のコンテンツ転送型の番組配信システムのような長時間の待ち時間がなく、実用に耐えるシステムとして普及しつつある。代表的なアプリケーションはインターネットテレビジョン放送である。
しかし、従来のストリーミング配信技術では、テレビジョン放送のようにあらかじめ決められた配信予定リストに従って時刻通りに番組コンテンツをストリーミング配信する場合、番組コンテンツ配信の連続性が完全には保てず、クライアントシステムのモニタでの表示において、番組コンテンツの配信開始時のみならず、番組コンテンツと番組コンテンツの谷間においても毎回、「黒み」や「切れ目」のバッファリングが生じてしまう現象が知られている。
まず、ストリーミング配信の開始時にバッファリングが発生する理由について説明し、次に従来のストリーミング配信技術において番組コンテンツと番組コンテンツの谷間において「黒み」や「切れ目」が生じる理由について説明する。
【0008】
図13は従来のストリーミング配信の開始時においてバッファリング発生する理由を模式的に示す図である。
番組配信システム1000は、記憶部1020、番組コンテンツのエンコード済コンテンツ1021、ストリーミングサーバ1030を備えている。クライアントシステム1100は受信部1110およびバッファ1120を備えている。番組配信システム1000とクライアントシステム1100はネットワーク1200を介してつながっている。
【0009】
まず、クライアントシステム1100から番組配信システム1000に番組配信の要求が出され(図13の[1]ストリーミング要求)、番組配信システム1000が要求にかかる番組コンテンツデータ1021を記憶部1020から読み出してストリーミングデータとして送信を開始する(図13の[2]ストリーミング開始)。クライアントシステム1100は要求した番組コンテンツデータ1021を受信し始めた直後にバッファ1120を用いて所定数のフレームデータのバッファリング処理を行なう(図13の[3]バッファリング)。バッファリングを行なう理由は幾つかあるが、ここではバッファリングの理由としてデータ転送状態の変動緩衝と新たなコンテンツ再生に向けた再生ソフトの調整時間確保を挙げておく。
【0010】
まず、データ転送状態は常に均一というわけではなく回線状態によって若干の変動がある。ストリーミングデータは逐次連続的に送られてくるデータを逐次連続的に再生表示するものであり、一瞬、データ転送が遅れたり途切れたりするとクライアント1110のモニタ表示が不安定になるという不具合が発生する。そのため、あらかじめ所定数のフレームデータをバッファに蓄積してから再生表示するという緩衝を持たせる工夫を行なう。このデータ転送状態の変動緩衝のバッファリングを行なうために即座に表示ができず「黒み」や「切れ目」が生じる。
【0011】
次に、再生されるデータ形式は常に一定というわけではなく受信データに合わせて再生ソフトのパラメタなどを調整する必要がある。受信コンテンツのヘッダを読み込めば新たなコンテンツ再生に向けた処理を開始し、ヘッダのコンテンツ情報を利用して再生ソフトのパラメタを調整する。特に、ストリーミングデータの場合、再生ソフトにおける映像レート(映像ビットレート)と音声レート(音声サンプリングレート)のパラメタ調整は重要である。この再生ソフトの調整時間中に受信したデータを一時的にバッファリングするため「黒み」や「切れ目」が生じる。
バッファ1120に所定データ量のバッファリングができれば、所定の再生ソフトウェアにより再生を始める(図13の[4]モニタ表示開始)。
【0012】
ここで、従来のストリーミング配信技術では、番組コンテンツと番組コンテンツの谷間においてもバッファリングに伴う「黒み」や「切れ目」が生じる現象が毎回生じるという問題が知られている。
上記のような番組コンテンツと番組コンテンツの谷間においてバッファリング処理に伴う「黒み」や「切れ目」が発生することは好ましくなく、通常の地上波や衛星波のテレビジョン放送ではこのような「黒み」や「切れ目」が発生しないことからインターネット放送の弱点の一つとされている。また、この番組と番組の谷間は、広告コンテンツを流すいわゆる広告枠であることが通例であり、数秒間の「黒み」や「切れ目」であってもその影響は大きいと言わざるを得ない。
【0013】
なお、上記問題は、近年のネットワーク環境の発達と、情報発信主体の多様化に伴い、番組コンテンツを一箇所で集中的に製作する環境ではなく、ネットワークを介して、ローカルシステムで作成した多様な番組コンテンツデータをセンタシステム側で収集するとともに収集した番組コンテンツデータの配信順序などをセンタシステム側で動的かつ柔軟に編集・変更するという環境では番組コンテンツ間の映像レートや音声レートが異なることが多く、避けがたい問題となる。
【0014】
上記問題点に鑑み、本発明は、配信したストリーミングデータのクライアントシステムでの表示において、シームレスで連続した番組コンテンツの視聴を確保する番組配信システムを提供することを目的とする。
特に、番組コンテンツを一箇所で集中的に製作する環境ではなく、ネットワークを介して、ローカルシステムで作成した多様な番組コンテンツデータを収集するとともに収集した番組コンテンツデータの配信順序などを動的かつ柔軟に編集・変更する環境での適用が可能である番組配信システムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上記目的を達成するため、本発明の番組配信システムは、
起動時にゼロクリアされ経過時間をシステムタイムとしてカウントしてゆくシステムタイマと、
複数個のエンコード済み配信コンテンツを記憶したコンテンツ記憶部と、
前記配信コンテンツの配信予定リストを編集する配信予定リスト編集部と、
前記配信予定リストに従い配信開始時刻に達した前記配信コンテンツを前記コンテンツ記憶部から読み込んで動的にデコード処理するデコード部と、
前記デコード部が逐次にデコード処理しているフレームデータを逐次に受け取り、先頭フレームに対しては前記配信開始時刻における前記システムタイムの値を付与し、各後続フレームに対しては前記先頭フレームに付与された前記システムタイムの値に前記各後続フレームに予め与えられている先頭フレームからの経過時間であるタイムスタンプ時間を合算した値を付与することにより、各フレームデータに対して通しフレーム番号情報を与えるフレーム番号管理部と、
前記フレーム番号管理部により通しフレーム番号が与えられたフレームデータを逐次に受け取り、次々と動的に所定の音声レートと映像レートにて再びエンコード処理する再エンコード部と、
前記再エンコード部から供給されるデータをストリーミング配信するストリーミング配信部とを備えたものである。
【0016】
なお、上記番組配信システムにおいて、前記配信コンテンツが、番組コンテンツのコンテンツである番組コンテンツと、広告コンテンツのコンテンツである広告コンテンツを含み、前記配信予定リスト編集部が、前記番組コンテンツ間に前記広告コンテンツを挟み込む形で配信予定リストを編集することが好ましい。
【0017】
また、上記番組配信システムにおいて、前記配信コンテンツが、番組コンテンツのコンテンツである番組コンテンツと、広告コンテンツのコンテンツである広告コンテンツを含み、前記配信予定リスト編集部が、一つの前記番組コンテンツを複数個に分割し、その間に前記広告コンテンツを挟み込む形で配信予定リストを編集することが好ましい。
【0018】
上記構成により、番組と番組の間においてクライアントシステムの表示において黒みや切れ目などを生じさせることなくシームレスで連続した番組コンテンツの視聴を確保することができ、さらに、番組配信の内容・順序を動的に編集・変更することができ、柔軟な番組配信が可能となる。クライアントシステムにおいて番組コンテンツの谷間において黒味が発生することはない。
【発明の効果】
【0019】
本発明の番組配信システムによれば、シームレスで連続した番組コンテンツの視聴を確保するとともに番組配信の内容・順序の動的で柔軟な編集・変更が可能となる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照しつつ、本発明の番組配信システムの実施形態を説明する。ただし、本発明の技術的範囲は以下の実施形態に示した具体的な用途や形状・寸法などには限定されない。
【実施例1】
【0021】
本発明の番組配信システムは、配信したストリーミングデータのクライアントシステムでの表示において、番組コンテンツと番組コンテンツの谷間において黒みや切れ目が生じることなく、シームレスで連続した番組コンテンツの視聴を確保するとともに番組配信の内容・順序の動的で柔軟な編集・変更を可能としたものである。
【0022】
本発明の番組配信システムの説明にあたり、まず、最初に、[1]一般にストリーミング配信での番組コンテンツの谷間においてクライアントシステムの再生表示に黒みや切れ目が生じる理由を解析しておく。次に[2]本発明の番組配信システムのクライアントシステムの再生表示においてシームレスなストリーミング配信を実現する原理を説明する。次に[3]ローカルシステムとセンタシステムを用いたネットワーク分散環境における本発明の番組配信システムの構成例、次に[4]番組配信の流れについて説明する。
【0023】
[1]番組コンテンツの谷間の再生において黒みや切れ目が生じる理由の解析
以下、一般にストリーミング配信において番組コンテンツと番組コンテンツの谷間においてクライアントシステムでの再生表示に黒みや切れ目が生じる理由を解析する。
【0024】
番組コンテンツと番組コンテンツの谷間において黒みや切れ目を生じさせる原因は、後者の新たなコンテンツ再生に向けた「再生ソフトのパラメタ調整などのためのバッファリング」にあると考えられる。ここで、新たなコンテンツ再生に向けた再生ソフトの調整が必要になる場合としては、(a)新たなヘッダ受信があった場合と、(b)先行する番組コンテンツと後続の番組コンテンツの映像レートと音声レートが異なる場合が考えられる。
【0025】
図1を参照しつつ、一般のストリーミング配信の番組コンテンツの谷間におけるクライアントシステムでの再生に黒みや切れ目が生じる現象を説明する。
【0026】
(a)新たなヘッダ受信に伴うバッファリング処理
例えば、先行の番組コンテンツAが既に再生表示されているとする(図1(a))。ここで、先行の番組コンテンツAの配信が終了し、後続の番組コンテンツBのストリーミングデータが受信されたとする(図1(b))。
後続の番組コンテンツBのストリーミングデータの先頭にはヘッダが付されているので、再生ソフトウェアは当該ヘッダを受信することにより新たな番組コンテンツBのストリーミング再生処理が始まることを認識し、新たなコンテンツ再生に向けて処理を開始する。現在普及している再生ソフトウェアは新たなコンテンツのヘッダを読み込めば、新たなストリーミング再生処理に向けた再生ソフトウェアのパラメタ調整の時間確保のため、現在バッファに存在する先行の番組コンテンツデータを破棄し、新たに後続の番組コンテンツデータのバッファリング処理を開始する仕組みとなっている(図1(b))。このバッファリング処理の間「黒み」や「切れ目」が発生する。
【0027】
(b)番組コンテンツ間で映像レートと音声レートが異なる場合のバッファリング処理
一般的にはストリーミング配信されるデータの映像レートと音声レートは多様である。ニュース取材の過程で製作したビデオ映像、ミュージックビデオクリップ、アニメーション映像、コンピュータグラフィック映像など製作の過程や目的に応じて映像の画質と音声の音質にはバリエーションがある。クライアントシステムの再生ソフトは音声レートおよび映像レートに合わせてデコード・再生処理する必要があり、音声レートおよび映像レートの異なるエンコード済コンテンツが受信されるとクライアントシステムの再生ソフトは新たなレートに対応するためパラメタを調整する必要が生じる。
【0028】
図1において、例えば先行の番組コンテンツAの映像レートと音声レートがR1(例えば、映像レート180bps、音声レート76bps)で既に再生表示されているとする(図1(a))。ここで、先行の番組コンテンツAの配信が終了し、後続の番組コンテンツBのストリーミングデータが受信されたとする(図1(b))。この後続の番組コンテンツBの映像レートと音声レートがR2(例えば、映像レート220bps、音声レート36bps)であるとする。音声レートと映像レートが異なる場合は再生ソフトウェアのパラメタ調整などが必要となるので、再生ソフトウェアは映像レートと音声レートの違いを認識すれば新たな番組コンテンツデータの再生準備のため、現在バッファ中の先行の番組コンテンツデータを破棄し、新たな後続の番組コンテンツデータのバッファリング処理を開始する仕組みとなっている(図1(b))。このバッファリング処理の間「黒み」や「切れ目」が発生する。
【0029】
[2]本発明の番組配信システムのクライアントシステムの再生表示においてシームレスなストリーミング配信を実現する原理
次に、本発明の番組配信システムのクライアントシステムの再生表示においてシームレスなストリーミング配信を実現する原理を説明する。
【0030】
本発明の番組配信システムでは、配信予定リストに従って現在時刻に応じて番組コンテンツコンテンツをデコード処理して一旦フレームデータとし、フレームデータを順々にフレーム番号管理部を通してフレーム通し番号情報を付した後に再エンコード部を通して再エンコードすることにより一定レートで配信することにより、動的にオンタイムでフレームデータを通し番号順に延々とつないで配信するものである。フレーム通し番号はもとの番組コンテンツコンテンツ単位ではなく、例えば一日の配信予定リストの朝の配信開始時刻から深夜の配信終了時刻まで一日単位のフレーム通し番号である。
本発明の番組配信システムでは、配信番組を一日の配信が開始された以後でも動的に変更し得るものであることが前提であるところ、各番組コンテンツには予め通し番号は付さず、配信時刻に達して配信処理を行なう段階で初めて各フレームに通し番号を付しつつ配信処理を行なうという特徴を持つ。
【0031】
図2は、本発明の番組配信システムにおけるストリーミング配信の仕組みを模式的に説明する図である。
【0032】
複数個のエンコード済みコンテンツが番組配信の素材となるデータである。エンコード済みコンテンツのエンコード形式はデコード部が対応可能な限り限定されない。ここではそれぞれのエンコード済みコンテンツA,B,Cが不統一であっても良い。
このエンコード済みコンテンツA,B,Cは、現時点で有効な配信予定リストに従って配信時刻になるとその順にデコード部40に渡される。デコード部40はエンコード済みコンテンツをデコード処理し、フレームデータ単位に分解してゆく。フレームデータ単位に分解されてしまえば各々のフレームデータは一枚の画像データであり、元のエンコード済みコンテンツの違いには依存しない。つまり、元のエンコード済みコンテンツがエンコード済みコンテンツAであってもエンコード済みコンテンツBであってもフレームデータにすると一枚の画像データである。
【0033】
デコード部40よりフレームデータ単位に分解されたフレームデータは次々にフレーム番号管理部50に渡されてゆく。フレーム番号管理部50は渡されたフレームデータに通し番号を付してゆく。ここで、通し番号とは番組配信システム一日の処理を通した通し番号のことを言う。たとえば、番組配信システムによりエンコード済みコンテンツA,B,Cの順に配信予定リストが変更されることなくそのまま配信される場合、エンコード済みコンテンツA,B,Cからデコードされたフレームデータに対して所定のルールにて動的に順々に通し番号が付される。
【0034】
通し番号は以下の手順により付されてゆく。
デコード部40は上記したように、現時点で有効な配信予定リストに従い配信開始時刻に達した配信コンテンツをコンテンツ記憶部から読み込んで動的にデコード処理を開始する。
フレーム番号管理部50はデコード部40からフレームデータを逐次に受け取り通し番号を付与して行くが、ここで、配信コンテンツの先頭フレームに対して通し番号を付与するルールと後続フレームに対して通し番号を付与するルールは異なる。
【0035】
図3は先頭フレームおよび後続フレームに対して通し番号を付与するルールを模式的に説明する図である。
先頭フレームに対しては配信開始時刻においてシステムタイマ10を参照してシステムタイムの値をそのまま通し番号として付与する。ここで、システムタイムとは、番組配信システムが起動された時点をゼロとしたシステム稼動の経過時間を言う。例えば、ミリ秒単位の数値とする。いま、番組配信システムが6:00に起動され番組Aが配信開始された場合は、当該配信開始時刻においてシステムタイムを参照すると“0000000(msec)”であり、番組Aの先頭フレームには通し番号として“0000000”が付与される。番組Bが7:00に配信されるならば当該配信開始時刻においてシステムタイムを参照すると“3600000(msec)”であり番組Bの先頭フレームには通し番号として“3600000”が付与される。同様に、番組Cが8:00に配信されるならば当該配信開始時刻においてシステムタイムを参照すると“7200000(msec)”であり番組Cの先頭フレームには通し番号として“7200000”が付与される。
【0036】
次に、後続フレームに対しては、先頭フレームに通し番号として付与されたシステムタイムの値に、各後続フレームに予め与えられている番組内での再生タイミングであるタイムスタンプ時間を合算した値を付与する。通常、番組の各フレームには番組が再生表示開始されてから当該フレームが再生表示されるべきタイミング情報がタイムスタンプ情報として与えられている。つまり、各フレームにはそれが表示されるべき再生タイミング、例えば、30フレーム/秒の場合、2フレーム目には“0000033(msec)”、3フレーム目には“0000067(msec)”、4フレーム目には“0000100(msec)”というタイムスタンプ情報がもともと付されている。そこで、番組Bについては、先頭フレームには通し番号“3600000”が付与されているので、番組Bの第2フレームには合算値として通し番号“3600033”、番組Bの第3フレームには合算値として通し番号“3600067”、第4フレームには合算値として通し番号“3600100”が付与される。例えば、番組Cについては、先頭フレームには通し番号“7200000”が付与されているので、番組Cの第2フレームには合算値として通し番号“7200033”、番組Cの第3フレームには合算値として通し番号“7200067”、第4フレームには合算値として通し番号“7200100”が与えられるという具合である。
【0037】
このように先頭フレームの通し番号と後続フレームの通し番号を付与する理由を以下に示す。
配信される番組コンテンツの後続フレームには、先頭フレームに与えられたシステムタイム(T)と予め与えられている先頭フレームからの経過時間であるタイムスタンプ時間(S)を合算した値(T+S)を付与する。
【0038】
まず、先頭フレームにはシステムタイム(T)を用いるので、配信番組間の順序制御と配信開始時間が正しく処理される。本発明の番組配信システムでは、配信番組を一日の配信が開始された以後でも動的に変更し得るものであることが前提であるところ、各番組コンテンツには予め通し番号は付さず、配信時刻に達して配信処理を行なう段階で初めて通し番号を付しつつ配信処理を行なう。番組コンテンツは現時点で有効な配信予定リスト上で配信時刻に達して始めてその先頭フレームにシステムタイム(T)を通し番号として付与するので、動的な変更を可能としつつ配信開始時間が正しく処理される。
【0039】
次に、後続フレームに対してはタイムスタンプ時間(S)を用いるので、すべての後続フレームは、後続フレーム間の順序が正しく制御されるとともに配信を受けるローカルシステムにおける表示タイミングも正しく制御される。番組配信システム100のリソース状態によりデコード処理にかかる時間はまちまちで番組配信システム内での処理は長短が生じるが、各フレームにはローカルシステム200上で表示されるべきタイミング情報となるタイムスタンプ情報(S)が与えられているので、番組配信システム100上でのデコード処理のタイミングがバラバラであっても配信を受けるローカルシステム200上での再生表示は当該正しい表示タイミングにて再生できる。
【0040】
もし、各後続フレームに対しても毎回システムタイマ10を参照してシステムタイム(T)を通し番号として与えることを仮定すると、システムタイム(T)は必ず増加して行くので後続フレーム間の順序は正しく制御される。しかし、上記したように、番組配信システム100のリソース状態によりデコード処理にかかる時間はまちまちで番組配信システム内での処理は長短が生じるため、配信処理の過程において毎回システムタイマ10を参照してシステムタイム(T)を通し番号として与えると、後続フレーム間の時間間隔は一定ではなくなってしまう。そのため配信を受けたローカルシステム200において再生表示を行なうと、本来は各フレームが1/30秒のスピードで再生されるものが、あるフレームは1/30秒よりも短く表示され、あるフレームは1/30秒よりも長く表示されるなどの不具合が発生してしまう。
【0041】
一方、タイムスタンプ情報(S)はローカルシステムにおける表示タイミングそのものであるので、通し番号としてタイムスタンプ情報(S)を用いることにより、ローカルシステムにおける表示タイミングは、後続フレーム間の時間間隔は正しい一定間隔で表示される。
【0042】
ここで、タイムスタンプ情報(S)のみを通し番号とすると、番組コンテンツ内での順序制御と表示タイミングの制御は可能となるが、番組コンテンツをまたがる形での順序制御と表示タイミングの制御はできない。つまり、タイムスタンプ情報(S)は番組コンテンツの先頭フレームに対する相対的表示タイミングでしかないため、例えば1時間の番組Aと1時間の番組Bのつなぎ目付近では、番組Aの最後尾付近のフレームデータには3600000(msec)近くの大きな値のタイムスタンプ情報(S)が付されているはずである。一方、番組Bの先頭付近のフレームデータには0000000(msec)近くの小さな値のタイムスタンプ情報(S)が付されているはずである。つまり、後続フレームに対してタイムスタンプ情報(S)のみを通し番号とすると、正しく順序制御ができない恐れがある。
【0043】
そこで、本発明では、後続フレームに対して、先頭フレームに与えられたシステムタイム(T)とタイムスタンプ時間(S)を合算した値(T+S)を付与する。つまり、システムタイム(T)は必ず増加して行くところ、各番組が配信されるときに動的にシステムタイマ10が参照されるので各番組の先頭フレームにはシステムタイム(T)が通し番号として与えられ、後続フレームには(T+S)という形で通し番号が与えられるので後続フレームは番組の配信開始時刻からの表示タイミングとして与えられる。例えば番組Aと番組Bのつなぎ目付近においては、番組Aの最後尾付近のフレームデータには、システム(T)が“0000000”、タイムスタンプ(S)が3600000(msec)より小さな値であり、通し番号は(T+S)は3600000(msec)より小さな値となる。例えば、番組Aの最後のフレームデータには通し番号“3599967”が付与されたとする。一方、番組Bの先頭付近のフレームデータには、システム(T)が“3600000”、タイムスタンプ(S)は0000000(msec)近くの小さな値であり、通し番号は(T+S)は3600000よりも大きな値が付される。例えば、番組Bの先頭のフレームデータの通し番号は“3600000”、その次のフレームデータの通し番号“3600033”として付される。つまり、番組Aと番組Bをまたぐ形で、すべての先頭フレームと後続フレームの順序制御とローカルシステムでの表示タイミング制御が可能となる。
【0044】
なお、もし、番組コンテンツAの最後のフレームの処理が、システムリソースの状態により33msec以上かかってしまった場合でもタイムスタンプ情報は変わらないので“3599967”が付与されることとなる。番組Bの先頭付近のフレームデータは、配信予定リストに従って7時つまり3600000(msec)の時点でシステムタイマを参照するので“3600000”が付与されることとなり、番組Aの最後尾フレームと番組Bの先頭フレームの通し番号の順序が逆になることはない。
【0045】
図2に戻り、再エンコード処理について述べる。配信番組リストに従ってデコードされたフレームデータに対して、各々のフレームデータは再エンコード部60に次々に渡されてエンコードされて行く。ここでは模式的に前後3個のフレームデータがあればエンコードできるものとして図示しているが、採用するエンコード形式に従って必要なフレーム数を取り揃えてエンコードすることとなる。この際に各フレームデータは通し番号を手掛かりに正しく順序制御されてエンコードされる。ここで、エンコード済みコンテンツのつなぎ目においてもシームレスにつながれてエンコードされる。例えば、エンコード済みコンテンツAとエンコード済みコンテンツBのつなぎ目において、番組Aの最後のフレームデータには通し番号“3599967”、番組Bの先頭のフレームデータの通し番号は“3600000”、その次のフレームデータの通し番号“3600033”として付されているので再エンコード部60における再エンコード処理ではエンコード済みコンテンツのつなぎ目がなくなりシームレスに連続するものとして編集される。
再エンコード部60により再エンコードされた再エンコード済みデータは、ストリーミング配信部70により番組コンテンツのつなぎ目が連続したものとしてストリーミング配信される。
【0046】
ローカルシステム200では、ストリーミング配信されたコンテンツデータをデコードしつつ再生表示して行く。各フレームには通し番号という形でタイムスタンプ情報が含まれており、ローカルシステム200上では正しい表示タイミングにて表示される。
以上が本発明の番組配信システムのクライアントシステムの再生表示においてシームレスなストリーミング配信を実現する原理である。
【0047】
[3]ローカルシステムとセンタシステムを用いたネットワーク分散環境における本発明の番組配信システムの構成例
次に、ローカルシステムとセンタシステムを用いたネットワーク分散環境における本発明の番組配信システムの構成例を説明する。
図4は、ローカルシステム200とセンタシステム100を用いたネットワーク分散環境における本発明の番組配信システムの構成例を示す図である。
図4の構成は、システムタイマ10、タイマ11、コンテンツ記憶部20、配信予定リスト編集部30、デコード部40、フレーム番号管理部50、再エンコード部60、ストリーミング配信部70を備えた構成となっている。
【0048】
システムタイマ10は上述したとおりである。
タイマは現在時刻を刻むものであり、デコード部40が参照して現在時刻を把握し、配信予定リストでの各番組コンテンツの配信開始を検知するために用いる。
コンテンツ記憶部20には複数個のエンコード済み配信コンテンツが記憶されている。この例ではエンコード済み配信コンテンツA,B,・・・,Lの12個のコンテンツが記憶されている。なお、ローカルシステム200からエンコード済みコンテンツがアップロードされ、当該アップロードされたエンコード済み配信コンテンツを格納することも好ましい。分散環境においてはローカルシステム200側で配信番組を編集し、アップロードしてセンタシステム側から配信するという利用形態もあり得るからである。
【0049】
配信予定リスト編集部30は、配信コンテンツの配信予定リスト31を編集する機能を備えている。図5は配信予定リスト31を模式的に示したものである。配信予定リスト編集部30は動的に配信コンテンツの配信予定リスト31を編集できる。例えば図5に示すように、10時から配信予定だった番組Eに代えて番組Mを配信したい場合、既に一日の配信が始まっている場合(例えば8時)であっても10時に配信する予定の番組を動的に差し替えることができる。
【0050】
デコード部40が備えるデコード機能はコンテンツ記憶部20内に記憶されているエンコード済みコンテンツのエンコード形式に対応するデコード処理ができるものであれば良い。番組配信システム100全体で取り扱うエンコード形式が1種類に限定されておれば当該エンコード形式に対応するデコード機能を持てば良く、想定されるエンコード形式が3種類であれば3種類のデコード機能を持てば良い。たとえば、番組配信システム100においてWMF、AVI、MPEGの3種類のエンコード形式が想定される場合、デコード部40はそれぞれのデコード機能を備えれば良い。
【0051】
フレーム番号管理部50は上述したとおりである。
再エンコード部60はフレーム番号管理部50によりフレーム番号が与えられたフレームデータを逐次に受け取り、エンコード処理に必要な複数個のフレームデータが集積すると次々と動的に所定の音声レートと映像レートにて再びエンコード処理するものである。例えば、MPEGでは前後複数枚のフレームを集めて非圧縮フレーム(Iフレーム)とイントラ圧縮フレーム(Pフレーム)とインター圧縮フレーム(Bフレーム)を決めて圧縮するので、1枚のフレームデータを入手しただけではエンコードできず、前後の複数枚のフレームを集めて圧縮するが、再エンコード部60は必要な前後複数枚のフレームを受け入れて再エンコードする。
ストリーミング配信部70は、再エンコード部60から供給されるエンコード済みデータをストリーミング配信するものである。
【0052】
[4]番組配信の流れ
実施例1に示した番組配信システムの番組配信の流れを整理しておく。
図6は実施例1にかかる番組配信システムのセンタシステムでの処理を中心とした処理の流れを示すフローチャートである。
前提として、コンテンツ記憶部20には既にエンコード処理番組コンテンツが記憶されており、配信予定リスト31の編集処理は完了しているものとする。
【0053】
まず、配信開始に向けて番組配信システム100を起動する(ステップS1)。例えば、朝6時に番組の配信が開始できるように番組配信システム100を起動する。
この起動と同時にシステムタイマ10の計数値が一旦ゼロクリアされ、経過時間のカウントアップを開始する(ステップS2)。番組配信システム100の起動時から終了時まで途切れずに経過時間をカウントアップする。
【0054】
次に、デコード部40は現在時刻情報を得て、配信予定リスト31にアクセスし、現在時刻に配信が行なわれる番組が何であるかを把握する(ステップS3)。例えばいま8時丁度に至ったとする。
デコード部40は配信予定リスト31から配信すべき番組コンテンツを把握し、コンテンツ記憶部20にアクセスし、当該番組コンテンツのデコードを行なう(ステップS4)。いま、8時になり、新たな番組コンテンツCの配信開始が検知され、デコード部40がコンテンツ記憶部20にアクセスし、番組コンテンツCのコンテンツのデコードを開始したものとする。
【0055】
デコード部40のデコード処理によりフレームデータが次々と逐次に得られてゆくが、デコード部40はそれらを逐次にフレーム番号管理部50に渡して行く(ステップS5)。ここでは、番組コンテンツCの先頭フレームから順に時系列にフレームがフレーム番号管理部50に渡される。
【0056】
次に、フレーム番号管理部50は時系列に逐次にデコード部40から渡されるフレームデータに対して、システムタイマ10を参照してシステムタイムを得てその値を通し番号として与える(ステップS6)。例えば、番組コンテンツCの先頭フレームデータに対して通しフレーム番号情報“7200000”を付与する。次のフレームデータに対してタイムスタンプの値を足し込んだ“7200033”を通しフレーム番号情報として付与し、その後のフレームデータに対してもタイムスタンプが足し込まれた通し番号を順々に付与してゆく。
【0057】
次に、フレーム番号管理部50により通しフレーム番号情報が付されたフレームデータは再エンコード部60に渡され、再エンコード部60は所定の映像レートと音声レートにて再エンコード処理を行なう(ステップS7)。
ストリーミングサーバ70は再エンコード部60から再エンコード処理したデータを受け取り、クライアントシステム200に対して番組コンテンツデータを配信する(ステップS8)。つまり、現在時刻に合わせて配信すべきデータがストリーミングサーバ70からクライアントシステム200に対してシームレスなストリーミングデータとして配信され続ける。
時刻が進むたび上記処理を繰り返す(ステップS3へ戻る)。
以上がストリーミングデータ配信の流れの概要である。
【0058】
なお、クライアントシステム200の再生表示において番組コンテンツ間の谷間で「黒み」、「切れ目」を生じることはない。
図7は本発明の第1の番組配信システム100からストリーミング配信された番組コンテンツのクライアントコンピュータでの再生処理を模式的に示す図である。
【0059】
番組コンテンツAの最終部分のストリーミング配信の処理(図7(a))に引き続き、番組コンテンツBの冒頭部分のストリーミング配信処理が行なわれる(図7(b))。ここで、番組コンテンツCの終端部分と番組コンテンツDの冒頭部分の谷間においてヘッダやフッタは存在せずかつ同じ統一規約のレートR0であるのでストリーミングサーバ70からシームレスに連続するデータとして配信される。クライアントシステム200においては、番組コンテンツCの終端部分と番組コンテンツDの冒頭部分はまったくシームレスで連続したデータとして供給されるので、再生ソフトによる再生処理もシームレスに行なわれ、モニタ上には連続な映像として表示される。つまり、番組コンテンツCと番組コンテンツDの谷間において「黒み」や「切れ目」が生じることはなく、所定の時刻に所定の内容の番組コンテンツが表示され、あたかもTV番組を視聴する如くの表示環境が得られる(図7(b)モニタ表示)。
【0060】
次に、番組配信の動的編集機能について説明する。
まず比較のために配信予定リスト編集部30による変更がない場合の配信を説明する。図8は、10時における配信予定リスト編集部30による変更がなく、当初の配信予定リスト31の通り、番組コンテンツEが配信される場合の流れを模式的に示す図である。
【0061】
デコード部40により10時直前まで番組コンテンツDがデコードされており、10時になるとデコード部40は番組コンテンツEがデコードされる。フレーム番号管理部50が通しフレーム番号を付して行くが、番組コンテンツEの配信が当初の予定どおりで合った場合、番組コンテンツDの最終フレームに付される通しフレーム番号が“14399967”、番組コンテンツEの先頭フレームに付される通しフレーム番号が“14400000”であり、番組コンテンツDと番組コンテンツEのつなぎ目においても通しフレーム番号は連続したものとなっており、番組コンテンツ内のフレームデータ同士のつながりも番組コンテンツ間のフレームデータ同士のつながりも同じものとなっている。このフレームデータを順に再エンコードして行くことにより番組コンテンツDと番組コンテンツEの間がシームレスなストリーミングデータとして配信される。
【0062】
次に、図5に示したように、当初、配信予定リスト31において10時に配信される番組の予定が番組コンテンツEであったものが配信予定リスト編集部30により番組コンテンツMに変更されたものとする。図9は、配信予定リスト編集部30によって10時における配信予定リスト31が編集され、番組コンテンツEに代え、番組コンテンツMが配信される場合の流れを模式的に示す図である。
【0063】
デコード部40により10時直前まで番組コンテンツDがデコードされており、10時になるとデコード部40は番組コンテンツMがデコードされる。フレーム番号管理部50が通しフレーム番号を付して行くが、この例でも、番組コンテンツDの最終フレームに付される通しフレーム番号が“14399967”、番組コンテンツMの先頭フレームに付される通しフレーム番号が“14400000”となり、番組コンテンツDと番組コンテンツMのつなぎ目においても通しフレーム番号は連続したものとなっており、配信される番組コンテンツが番組コンテンツEから番組コンテンツMに変更されたとしても番組コンテンツ間のフレームデータ同士のつながりは同じものとなっている。つまり、この動的編集された場合でもフレームデータを順に再エンコードして行くことにより番組コンテンツDと番組コンテンツMの間がシームレスなストリーミングデータとして配信される。
【0064】
以上、実施例1の番組配信システムによれば、番組と番組の間においてクライアントシステムの表示において黒みや切れ目などを生じさせることなくシームレスで連続した番組コンテンツの視聴を確保することができ、さらに、番組配信の内容・順序を動的に編集・変更することができ、柔軟な番組配信が可能となる。クライアントシステムにおいて番組コンテンツの谷間において黒味が発生することはない。
【実施例2】
【0065】
実施例2では、本発明の番組配信システムにおいて、広告コンテンツを挿入する方法について説明する。
第1の方法は、単純に配信コンテンツの一つとして広告コンテンツを位置づける方法である。本発明の番組配信システムでは、配信コンテンツの内容が、映画などのコンテンツか広告などのコンテンツかの違いには依存しないので、広告コンテンツを挿入することができる。
図10に示すように、例えば、4つの配信コンテンツのうち第1番目の配信コンテンツを番組コンテンツAとし、第2番目の配信コンテンツを広告コンテンツAとし、第3番目の配信コンテンツを広告コンテンツBとし、第4番目の配信コンテンツを番組コンテンツBとした例である。番組コンテンツの配信、広告コンテンツの配信は実施例1に示したように処理され、シームレスなストリーミングとして配信される。
ただし、この方法では、番組コンテンツ自体は、配信が始まるとその配信が終わるまで広告を挿入することはできない。つまり、2時間の映画を配信する場合、2時間は映画を流し続け、その後でないと広告を配信することはできない。
【0066】
次に、第2の方法は、一かたまりの番組コンテンツを前編集により分割し、複数のサブコンテンツに分割しておき、そのサブコンテンツの間に広告コンテンツを挿入する方法である。現在の一般のテレビジョン放送では映画などを放送する場合、15分きざみ程度で分割し、その間に広告を挿入する方式が一般的であるが、この第2の方法は、番組コンテンツを複数のサブコンテンツに分割して広告を挿入するものであり、現在のテレビジョン放送と近い広告の挿入方法と言える。
【0067】
図11に示すように、例えば、前編集により配信コンテンツAを4つに分割し、「番組Aの前半1」、「番組Aの前半2」、「番組Aの後半1」、「番組Aの後半2」の4つのサブコンテンツとしておき、サブコンテンツの間に広告コンテンツA、広告コンテンツを挟む。番組のサブコンテンツの配信、広告コンテンツの配信は実施例1または実施例2に示したように処理され、シームレスなストリーミングとして配信される。
【0068】
以上、実施例2の番組配信システムによれば、広告コンテンツを番組コンテンツの間に挿入することができ、かつ、クライアントシステムの表示において黒みや切れ目などを生じさせることなくシームレスで連続した番組コンテンツおよび広告コンテンツの視聴を確保することができ、柔軟な番組配信が可能となる。クライアントシステムにおいて番組コンテンツと広告コンテンツの谷間において黒味が発生することはない。
【0069】
以上、本発明の番組配信システムにおける好ましい実施形態を図示して説明してきたが、本発明の技術的範囲を逸脱することなく種々の変更が可能であることは理解されるであろう。
【産業上の利用可能性】
【0070】
本発明は番組配信システムに適用することができる。特に、インターネットを利用したインターネット放送などに適用することができる。
【図面の簡単な説明】
【0071】
【図1】ヘッダが存在する場合、レートが異なる場合の番組コンテンツの谷間での黒みの発生の理由を説明する図
【図2】本発明の番組配信システムにおけるストリーミング配信の仕組みを模式的に説明する図
【図3】先頭フレームおよび後続フレームに対して通し番号を付与するルールを模式的に説明する図
【図4】ローカルシステム200とセンタシステム100を用いたネットワーク分散環境における本発明の番組配信システムの構成例を示す図
【図5】配信予定リスト31を模式的に示した図
【図6】実施例1にかかる番組配信システムのセンタシステムでの処理を中心とした処理の流れを示すフローチャート
【図7】本発明の第1の番組配信システム100からストリーミング配信された番組コンテンツのクライアントコンピュータでの再生処理を模式的に示す図
【図8】当初の配信予定リスト31の通り、番組コンテンツEが配信される場合の流れを模式的に示す図
【図9】番組コンテンツEに代え、番組コンテンツMが配信される場合の流れを模式的に示す図
【図10】第1の広告コンテンツの挿入方法の具体例を模式的に示す図
【図11】第2の広告コンテンツの挿入方法の具体例を模式的に示す図
【図12】従来のストリーミング配信型の番組コンテンツデータの配信の流れを模式的に示した図
【図13】従来のストリーミング配信の開始時においてバッファリング発生する理由を模式的に示す図
【符号の説明】
【0072】
10 システムタイマ
20 コンテンツ記憶部
30 配信予定リスト編集部
31 配信予定リスト
40 デコード部
50 フレーム番号管理部
60 再エンコード部
70 ストリーミングサーバ
100 センタシステム
200 ローカルシステム

【特許請求の範囲】
【請求項1】
起動時にゼロクリアされ経過時間をシステムタイムとしてカウントしてゆくシステムタイマと、
複数個のエンコード済み配信コンテンツを記憶したコンテンツ記憶部と、
前記配信コンテンツの配信予定リストを編集する配信予定リスト編集部と、
前記配信予定リストに従い配信開始時刻に達した前記配信コンテンツを前記コンテンツ記憶部から読み込んで動的にデコード処理するデコード部と、
前記デコード部が逐次にデコード処理しているフレームデータを逐次に受け取り、先頭フレームに対しては前記配信開始時刻における前記システムタイムの値を付与し、各後続フレームに対しては前記先頭フレームに付与された前記システムタイムの値に前記各後続フレームに予め与えられている先頭フレームからの経過時間であるタイムスタンプ時間を合算した値を付与することにより、各フレームデータに対して通しフレーム番号情報を与えるフレーム番号管理部と、
前記フレーム番号管理部により通しフレーム番号が与えられたフレームデータを逐次に受け取り、次々と動的に所定の音声レートと映像レートにて再びエンコード処理する再エンコード部と、
前記再エンコード部から供給されるデータをストリーミング配信するストリーミング配信部とを備えた番組配信システム。
【請求項2】
前記配信コンテンツが、番組コンテンツのコンテンツである番組コンテンツと、広告コンテンツのコンテンツである広告コンテンツを含み、
前記配信予定リスト編集部が、前記番組コンテンツ間に前記広告コンテンツを挟み込む形で配信予定リストを編集することを特徴とする請求項1に記載の番組配信システム。
【請求項3】
前記配信コンテンツが、番組コンテンツのコンテンツである番組コンテンツと、広告コンテンツのコンテンツである広告コンテンツを含み、
前記配信予定リスト編集部が、一つの前記番組コンテンツを複数個に分割し、その間に前記広告コンテンツを挟み込む形で配信予定リストを編集することを特徴とする請求項1または2に記載の番組配信システム。
【請求項4】
起動時にシステムタイマをゼロクリアし、経過時間をシステムタイムとしてカウントしてゆくシステムタイム処理ステップと、
コンテンツ記憶部に複数個のエンコード済み配信コンテンツを記憶するコンテンツ記憶処理ステップと、
前記配信コンテンツの配信予定リストを編集する配信予定編集処理ステップと、
前記配信予定リストに従い配信開始時刻に達した前記配信コンテンツを前記コンテンツ記憶部から読み込んで動的にデコード処理するデコード処理ステップと、
前記デコード処理ステップにより逐次にデコード処理されたフレームデータを逐次に受け取り、先頭フレームに対しては前記配信開始時刻における前記システムタイムの値を付与し、各後続フレームに対しては前記先頭フレームに付与された前記システムタイムの値に前記各後続フレームに予め与えられている先頭フレームからの経過時間であるタイムスタンプ時間を合算した値を付与することにより、各フレームデータに対して通しフレーム番号情報を与えるフレーム番号管理処理ステップと、
前記フレーム番号管理処理ステップによりフレーム番号が与えられたフレームデータを逐次に受け取り、次々と動的に所定の音声レートと映像レートにて再びエンコード処理する再エンコード処理ステップと、
前記再エンコード処理ステップから供給されるデータをストリーミング配信するストリーミング配信処理ステップとを備えた番組配信プログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−193616(P2008−193616A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2007−28625(P2007−28625)
【出願日】平成19年2月7日(2007.2.7)
【出願人】(301066349)株式会社シービット (2)
【Fターム(参考)】