JP2004501558A - 放送システムのためのビデオ・オン・デマンドサービスを提供する方法 - Google Patents
放送システムのためのビデオ・オン・デマンドサービスを提供する方法 Download PDFInfo
- Publication number
- JP2004501558A JP2004501558A JP2002500209A JP2002500209A JP2004501558A JP 2004501558 A JP2004501558 A JP 2004501558A JP 2002500209 A JP2002500209 A JP 2002500209A JP 2002500209 A JP2002500209 A JP 2002500209A JP 2004501558 A JP2004501558 A JP 2004501558A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data blocks
- data file
- blocks
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26233—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26241—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26275—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Television Signal Processing For Recording (AREA)
- Television Systems (AREA)
Abstract
【選択図】図1A
Description
【発明の簡単な説明】
本発明は、一般に、データ・オン・デマンドシステムに関する。本発明は、特に、ビデオ・オン・デマンドシステムに関する。
【0002】
【発明の背景】
ビデオ・オン・デマンド(VOD)システムは、データ・オン・デマンド(DOD)システムの一種である。VODシステムでは、ビデオデータファイルは、サーバまたはサーバからなるネットワークによって、1つまたはそれ以上のクライアントにオン・デマンドで提供される。
【0003】
従来のVODアーキテクチャでは、サーバまたはサーバからなるネットワークは、標準的な階層クライアント・サーバモデルの方式でクライアントと通信する。例えば、クライアントは、データファイル(例えばビデオデータファイル)要求をサーバに送信する。クライアントからの要求に応じ、サーバは、要求されたデータファイルをクライアントに送信する。標準的なクライアント・サーバモデルでは、クライアントからのデータファイル要求は、1つまたはそれ以上のサーバによって実現することができる。クライアントは、受信された任意のデータファイルを、後の使用のために不揮発性メモリにローカルに格納する能力を有することができる。標準的なクライアント・サーバモデルは、双方向通信インフラストラクチャを必要とする。既存のケーブルが単方向通信しか提供できないことから、現時点での双方向通信は、新しいインフラストラクチャを構築する必要がある。双方向通信インフラストラクチャの例として、光ファイバと同軸ケーブルの組み合わせ(HFC)またはあらゆるファイバインフラストラクチャが挙げられる。既存のケーブルを取り替える作業は、非常に高コストであり、大部分のユーザは、こうして得られるサービスを享受することができない。
【0004】
また、標準的なクライアント・サーバモデルは、サービスプロバイダ(例えばケーブル会社)が多数のクライアントにVODサービスを提供しようと試みる場合に、多くの制約を受ける。標準的なクライアント・サーバモデルが受ける制約の1つは、サービスプロバイダが、ネットワーク内の各クライアントから発せられる全ての要求を連続的に聞き入れて実現するメカニズムを構築する必要があり、したがって、サービスを受容できるクライアントの数が、このようなメカニズムのキャパシティに依存するという点である。あるメカニズムは、ローカルサーバとして、大きく且つ高速なディスクアレイを有した超並列コンピュータを使用する。しかしながら、既存のローカルサーバのうちで最も高速のものですら、一度に約1,000から2,000のクライアントにビデオデータストリームを配信できるに過ぎない。したがって、より多くのクライアントにサービスするためには、ローカルサーバの数を増やさなければならない。ローカルサーバの数が増えると、ローカルサーバの制御を維持するために、より多くの上位サーバが必要になる。
【0005】
標準的なクライアント・サーバモデルが受けるもう1つの制約は、各クライアントがそれぞれ自身の帯域幅を必要とする点である。したがって、必要な総帯域幅は、加入クライアントの数に正比例する。帯域幅の制約を改善するために、これまでローカルサーバ内のキャッシュメモリが使用されてきたが、キャッシュメモリ自体にも限界があるので、キャッシュメモリを使用しても問題の解決にはならない。
【0006】
ビデオ・オン・デマンドがクライアントにより享受されやすくなるように、既存のサービスプロバイダは、ローカルサーバごとのクライアントの割合をローカルサーバの能力を超えて増大させている。一般に、1,000のクライアントにサービスを提供できるローカルサーバは、実際は、10,000のクライアントに対するサービスを請け負っている。この技術は、加入クライアントの大部分が同時にビデオを注文しない場合は機能し得る。しかしながら、この技術は故障を引き起こしやすい。なぜなら、大部分のクライアントは同じ時に(例えば夜間や週末などに)ビデオを見たがるものであり、このことが、ローカルサーバがオーバーロードすることにつながるからである。
【0007】
したがって、既存のインフラストラクチャを取り替えることなく、事実上任意の伝送媒体を通して多数のクライアントにオン・デマンドサービスを提供できるシステムを提供することが、望まれている。
【0008】
【発明の概要】
代表的な一実施形態では、データ・オン・デマンドサービスを提供するために、サーバ側においてクライアントにデータを送信する方法は、データファイルを受け取るステップと、時間間隔を特定するステップと、その時間間隔中に各データブロックを表示できるように、時間間隔に基づいてデータファイルを複数のデータブロックに分解するステップと、データファイルを送信するために必要とされるタイムスロットの数を決定するステップと、どのタイムスロット中にデータファイルにアクセスするクライアントであっても、複数のデータブロックを順番に使用できるように、複数のデータブロックのうち少なくとも第1のデータブロックを、そして必要に応じて追加の1つまたはそれ以上のデータブロックを、各タイムスロットに割り当てるステップと、割り当てのステップに基づいて複数のデータブロックを送信するステップとを備える。一実施形態では、分解のステップは、推定データブロックサイズを決定するステップと、チャネルサーバのなかのメモリのクラスタサイズを決定するステップと、推定データブロックサイズおよびクラスタサイズに基づいてデータファイルを分解するステップとを含む。別の一実施形態では、決定のステップは、リソースの割り当ておよび帯域幅の利用可用性を評価するステップを含む。
【0009】
一実施形態では、この方法は、さらに、複数のデータブロックから1組の先取りデータブロックを選択するステップと、先取りデータ、番組ガイド、コマーシャル、ファームウェアアップデートなどを送信するための専用チャネルによって1組の先取りデータブロックを個々に送信するステップとを備える。代表的な一実施形態では、1組の先取りデータブロックを選択するステップは、(1)帯域幅の減少、専用チャネルでの先取りデータへの帯域幅の割り当て、および遅延時間を決定するステップと、(2)帯域幅の減少、帯域幅の割り当て、および遅延時間に基づいて先取りデータブロックを選択するステップとを含む。
【0010】
別の一実施形態では、この方法は、さらに、プレビュー要求を受け取るステップと、プレビューを構成するために複数のデータブロックから1組のデータブロックをランダムに選択するステップと、プレビューを表示させるステップとを含む。さらに別の一実施形態では、方法は、さらに、専用チャネルで1組のコマーシャルデータブロックを送信するステップと、1組のコマーシャルデータブロックを所定の時間に表示させるステップとを備える。代表的な一実施形態では、コマーシャルデータブロックは、専用チャネルで連続的に送信される。この実施形態では、1組のコマーシャルデータブロックを表示するステップは、コマーシャル表示の頻度に基づいたユーザによる料金選択を受け取るステップと、ユーザによる選択に基づいて1組のコマーシャルデータブロックを表示させるステップとを含む。
【0011】
さらに別の一実施形態では、この方法は、さらに、データファイルのパケットヘッダ内の緊急ビットの有無をチェックするステップと、緊急ビットが検出された場合に、専用チャネルにチューニングを合わせて緊急情報を受け取るステップと、緊急情報を表示させるステップとを備える。一実施形態では、この方法は、さらに、緊急情報が関連する領域に関連したものであるか否かを決定するステップと、緊急情報が関連する領域に関連したものである場合に、緊急情報を表示するステップとを備える。
【0012】
代表的な一実施形態では、データ・オン・デマンドサービスを提供するために、サーバから受信されたデータをクライアント側において処理する方法は、(a)第1のタイムスロット中に、データファイルの選択を受け取るステップと、(b)第2のタイムスロット中に、データファイルのうちの少なくとも1つのデータブロックを受け取るステップと、(c)次のタイムスロット中に、まだ受信されていない任意のデータブロックを受信し、そのデータファイルのデータブロックを順番に表示し、データファイルの全データブロックが受信され表示されるまでステップ(c)を繰り返すステップと、を備える。一実施形態では、サーバから受信されたデータを処理するための方法は、クライアント側においてセット・トップ・ボックスによって実施される。
【0013】
代表的な一実施形態では、データファイルは、一定数のデータブロックに分割され、スケジューリング行列は、そのデータブロックの数に基づいて生成される。スケジューリング行列は、データブロックを送信する送信順序をサーバ側において提供し、クライアントがいつでも順番にデータブロックにアクセスできるようにする。代表的な一実施形態では、データファイルのためのスケジューリング行列を生成する方法は、以下のステップを備える。すなわち、(a)あるデータファイルのためのデータブロックの数[x]を受け取るステップと、(b)第1の変数[j]を0に設定するステップと、(c)第2の変数[i]を0に設定するステップと、(d)参照アレイ内のあらゆる入力を消去するステップと、(e)参照アレイがまだデータブロックを含んでいない場合に、行列のなかの[(i,j)モジュロx]列の行列位置に格納された少なくとも1つのデータブロックを参照アレイに書き込むステップと、(f)参照アレイがデータブロック[i]を含まない場合に、参照アレイおよび行列の行列位置:[(i,j)モジュロx,j]にデータブロック[i]を書き込むステップと、(g)第2の変数[i]を1だけ増分させ、第2の変数[i]がデータブロック[x]の数に等しくなるまでステップ(e)を繰り返すステップと、(h)第1の変数[j]を1だけ増分させ、第1の変数[j]がデータブロック[x]の数に等しくなるまでステップ(c)を繰り返すステップとを備える。一実施形態では、1組のデータファイルのなかのデータファイルごとに、スケジューリング行列が生成され、また、畳み込み方法が適用され、これらのスケジューリング行列に基づいて、この1組のデータファイルを送信するためのデリバリ行列が生成される。
【0014】
データ・オン・デマンドシステムは、第1組のチャネルサーバと、第1組のチャネルサーバを制御するための中央制御サーバと、第1組のチャネルサーバに結合された第1組のアップコンバータと、第1組のアップコンバータに結合されたコンバイナ/アンプと、伝送媒体を介してデータを伝送するように構成されたコンバイナ/アンプとを備える。代表的な一実施形態では、データ・オン・デマンドシステムは、さらに、システムをモニタするためのチャネルモニタモジュールと、スイッチマトリクスと、第2組のチャネルサーバと、第2組のアップコンバータとを備える。チャネルモニタモジュールは、システム障害が生じた場合に中央制御サーバに報告するように構成される。中央制御サーバは、チャネルモニタモジュールからの報告に応じ、第1組のチャネルサーバのなかで障害のあるチャネルサーバを第2組のチャネルサーバのチャネルサーバで置き換え、第1組のアップコンバータのなかで障害のあるアップコンバータを第2組のアップコンバータで置き換えるように、スイッチマトリクスに対して命令する。
【0015】
データ・オン・デマンドサービスを提供するための方法は、データファイルのデリバリ行列を計算するステップと、デリバリ行列にしたがってデータファイルを送信し、多数のクライアントがデータファイルをオン・デマンドで見られるようにするステップとを備える。一実施形態では、データファイルはビデオファイルを含む。
【0016】
【発明の実施形態】
図1Aは、代表的なDODシステム100を、本発明の一実施形態にしたがって示している。この実施形態では、DODシステム100は、ビデオファイルなどのデータファイルをオン・デマンドで提供する。しかしながら、DODシステム100は、ビデオファイルをオン・デマンドで提供することに限定されず、例えばゲームファイルなどの他のデータファイルをオン・デマンドで提供することもできる。DODシステム100は、中央制御サーバ102と、中央ストレージ103と、複数のチャネルサーバ104a〜104nと、複数のアップコンバータ106a〜106nと、コンバイナ/アンプ108とを含む。中央制御サーバ102は、チャネルサーバ104を制御する。中央ストレージ103は、データファイルをデジタルフォーマットで格納する。代表的な一実施形態では、中央ストレージ103に格納されたデータファイルは、ネットワークに接続された例えば中央制御サーバ102などの許可されたコンピュータによって、標準的なネットワークインターフェース(例えばイーサネット(商標)接続)を介してアクセスすることができる。各チャネルサーバ104は、1つのチャネルに割り当てられ、1つのアップコンバータ106に結合される。チャネルサーバ104は、中央ストレージ103から検索されたデータファイルを、中央制御サーバ102からの命令にしたがって提供する。各チャネルサーバ104の出力は、対応するアップコンバータ106に適した周波数を有し且つ直交振幅変調(QAM)によって変調された中間周波数(IF)信号である。QAMによって変調されたIF信号は、採用されている標準に依存する。米国において現在採用されている標準は、DOCSIS(data−over−cable−systems−interface−specification)標準であり、約43.75MHzのIF周波数を必要とする。アップコンバータ106は、チャネルサーバ104から受信されたIF信号を高周波信号(RF信号)に変換する。周波数および帯域幅を含むRF信号は、要求されるチャネルおよび採用されている標準に依存する。例えば、ケーブルテレビチャネル80のための米国における現行の標準のもとでは、RF信号は、約559.25MHzの周波数と約6MHzの帯域幅とを有する。アップコンバータ106の出力は、コンバイナ/アンプ108に供給される。コンバイナ/アンプ108は、受信されたRF信号を増幅し、調節し、統合し、次いで伝送媒体110へと出力する。
【0017】
代表的な一実施形態では、中央制御サーバ102は、サービスプロバイダがドラッグ・アンド・ドロップ動作によってデータデリバリをスケジュールすることを可能にするために、グラフィックユーザインターフェース(図示せず)を含む。さらに、中央制御サーバ102は、チャネルサーバ104を認証および制御し、デリバリ行列にしたがって開始または停止させる。代表的な一実施形態では、中央制御サーバ102は、チャネルを自動的に選択し、選択されたチャネルでデータファイルを伝送するためのデリバリ行列を計算する。中央制御サーバ102は、データファイル情報(例えば、継続時間、カテゴリ、等級、および/または短い解説など)の追加と、削除と、更新とを、オフラインで提供する。さらに、中央制御サーバ102は、格納されているデータファイルおよびデータベースを更新することによって、中央ストレージ103を制御する。
【0018】
代表的な一実施形態では、既存のケーブルテレビシステム120は、クライアントに非DODサービスを提供するために、コンバイナ/アンプ108に信号を供給し続けることができる。したがって、本発明にしたがったDODシステム100は、現行のケーブルテレビサービスに支障を来たさない。
【0019】
図1Bは、DODシステム100の別の代表的な一実施形態を、本発明の一実施形態にしたがって示している。図1Aに示した素子に加えて、DODシステム100は、スイッチマトリクス112と、チャネルモニタモジュール114と、1組のバックアップチャネルサーバ116a〜116bと、1組のバックアップ・アップコンバータ118a〜118bとを含む。一実施形態では、スイッチマトリクス112は、アップコンバータ106とコンバイナ/アンプ108との間に物理的に設けられる。スイッチマトリクス112は、中央制御サーバ102によって制御される。チャネルモニタモジュール114は、DODシステム100の正常性をモニタするための、複数の設定されたセット・トップ・ボックスを備える。それらのセット・トップ・ボックスは、可能性のあるクライアントをシミュレートする。モニタ結果は、チャネルモニタモジュール114によって中央制御サーバ102に通信される。チャネル障害(すなわち、チャネルサーバ障害、アップコンバータ障害、または通信リンク障害)が生じた場合は、中央制御サーバ102は、スイッチマトリクス112を通して誤動作コンポーネントを切り離し、正常なバックアップコンポーネント116および/または118を係合してサービスを再開する。
【0020】
代表的な一実施形態では、DODシステム100から放送されているデータファイルは、MPEG(motion pictures expert group)ファイルのなかに含まれる。各MPEGファイルは、複数のデータブロックと、時間軸に沿ってデータファイルの特定部分に位置する複数のサブブロックとに、動的に分割される。これらのデータブロックおよびサブブロックは、中央制御サーバ102によって提供される三次元のデリバリ行列にしたがって、所定の期間中に送信される。フィードバックチャネルは、DODシステム100がDODサービスを提供するためには必要でない。しかしながら、フィードバックチャネルが使用可能である場合は、フィードバックチャネルは、請求書の作成発行またはインターネットサービスの提供などの他の目的のために使用することができる。
【0021】
図2は、代表的なチャネルサーバ104を、本発明の一実施形態にしたがって示している。チャネルサーバ104は、サーバコントローラ202と、CPU204と、QAMモジュレータ206と、ローカルメモリ208と、ネットワークインターフェース210とを備える。サーバコントローラ202は、データファイルをブロックに(そしてさらにサブブロックおよびデータパケットに)分割し、中央制御サーバ102によって提供されたデリバリ行列にしたがって伝送するためのデータブロックを選択し、選択されたデータをエンコードし、エンコードされたデータを圧縮し、圧縮されたデータを次いでQAMモジュレータ206に送信するように、CPU204に対して命令することによって、チャネルサーバ104の動作全般を制御する。QAMモジュレータ206は、バス(すなわちPCIバスもしくはCPUローカルバス)またはイーサネット(商標)接続を介して伝送されるべきデータを受信する。代表的な一実施形態では、QAMモジュレータ206は、ダウンストリームQAMモジュレータと、前方向誤り訂正デコーダを備えたアップストリーム直交振幅変調/四位相偏移変調(QAM/QPSK)バーストデモジュレータと、および/またはアップストリームチューナとを含むことができる。QAMモジュレータ206の出力は、アップコンバータ106に直接供給できるIF信号である。
【0022】
ネットワークインターフェース210は、中央制御サーバ102からの命令のスケジューリングおよび制御と、中央制御サーバ102に対するステータスの折り返し報告と、中央ストレージ103からのデータファイルの受信とを実行するために、他のチャネルサーバ104および中央制御サーバ102にチャネルサーバ104を接続する。中央ストレージ103から検索されたあらゆるデータファイルは、サーバコントローラ202からの命令にしたがってデータファイルが処理されるに先立って、チャネルサーバ104のローカルメモリ208に格納することができる。代表的な一実施形態では、チャネルサーバ104は、ケーブルチャネルの帯域幅(例えば6MHz、6.5MHz、または8MHz)と、QAM変調(例えばQAM64またはQAM256)と、DODデータストリームの圧縮標準/ビットレート(すなわちMPEG−1またはMPEG−2)とに依存して、1つまたはそれ以上のDODデータストリームを送信することができる。
【0023】
図3は、代表的なセット・トップ・ボックス(STB)300を、本発明の一実施形態にしたがって示している。STB300は、QAMモジュレータ302と、CPU304と、条件付きアクセスモジュール306(例えばスマートカードシステム)と、ローカルメモリ308と、バッファメモリ309と、STBコントローラ310と、デコーダ312と、グラフィックオーバーレイモジュール314とを備える。STBコントローラ310は、クライアントからの要求に応じてデータを選択し、選択されたデータをデコードし、デコードされたデータを解凍し、デコードされたデータを再組み立てし、デコードされたデータをローカルメモリ308またはバッファメモリ309に格納し、格納されたデータをデコーダ312に送信するように、CPU302およびQAMデモジュレータ302を制御することによって、STB300の動作全般を制御する。代表的な一実施形態では、STBコントローラ310は、伝送媒体110から受信されたデータパケットのなかのデータパケットヘッダに基づいて、STB300の動作全般を制御する。代表的な一実施形態では、ローカルメモリ308は不揮発性メモリ(例えばハードドライブ)であり、バッファメモリ309は揮発性メモリである。
【0024】
一実施形態では、QAMデモジュレータ302は、送受信モジュールと、
以下に示すもののうち1以上のものと、を備える。すなわち、プライバシ暗号化/非暗号化モジュール、前方向誤り訂正デコーダ/エンコーダ、チューナ制御、ダウンストリームおよびアップストリームプロセッサ、CPU、ならびにメモリインターフェース回路、のうちの1以上のものを備える。QAMデモジュレータ302は、変調されたIF信号を受信し、信号をサンプリングおよび復調してデータを復元する。条件付きアクセスモジュール306は、認証後にアクセス権が付与されたときおよび/または適切な料金が支払われたときに、非暗号化のプロセスを許可する。アクセス条件は、サービスプロバイダによって決定される。
【0025】
代表的な一実施形態では、アクセス権が付与されたときに、デコーダ312は、データブロックを出力画面上に表示可能な画像に変換するために、少なくとも1つのデータブロックをデコードする。デコーダ312は、再生、停止、一時停止、ステップ、巻き戻し、早送りなどの、加入クライアントからのコマンドをサポートする。
【0026】
グラフィックオーバーレイモジュール314は、表示された画像の質を、例えばアルファ・ブレンディングまたはピクチャ・イン・ピクチャ機能によって向上させる。代表的な一実施形態において、サービスプロバイダが、本発明にしたがったシステムを使用してゲーム・オン・デマンドサービスを提供するときは、グラフィックオーバーレイモジュール314は、ゲームプレイモード時にグラフィックを加速させるために使用することができる。
【0027】
代表的な一実施形態では、データファイルは、全てのケーブルテレビ加入者に対して放送されるが、そのうち適合するSTB300を有するDOD加入者のみが、データ・オン・デマンドサービスをデコードして享受することができる。代表的な一実施形態では、データファイルをオン・デマンドで取得する許可は、条件付きアクセス制御モジュール306のなかのスマートカードシステムを介して取得することができる。スマートカードは、サービスプロバイダによって設置された地元の小売店または自動販売機において再充電可能とすることができる。別の代表的な一実施形態では、あらゆる使用可能データファイルに対する無制限のアクセス権が、均一料金システムによって加入者に提供される。
【0028】
代表的な一実施形態では、データ・オン・デマンドの双方向性は、クライアントがいつでも使用可能データファイルを選択することを可能にする。クライアントが選択ボタンを押したときから選択されたデータファイルが再生を開始されるまでの時間は、応答時間と称される。DODサービスを提供するために割り当てられるリソース(例えば帯域幅やサーバ能力)が増大するにつれ、応答時間は短くなる。代表的な一実施形態では、応答時間は、リソースの割り当ておよび所望サービスの質に対する評価に基づいて決定することができる。
【0029】
代表的な一実施形態では、選択された応答時間は、1タイムスロットの継続時間を決定する。1タイムスロット(TS)の継続時間は、クライアントが常用速度でデータブロックを再生する時間間隔である。代表的な一実施形態では、ビデオファイルなどのデータファイルは、一定数のデータブロックに分割され、各データブロックが、1タイムスロットの継続時間だけデータファイルの再生をサポートできるようにする。
【0030】
一実施形態では、各データファイルのデータブロックの数(NUM_OF_BLKS)は、次のように計算することができる。
【0031】
【式1】
【0032】
【式2】
【0033】
【式3】
【0034】
【式4】
【0035】
式(1)〜(4)では、Estimated_BLK_Sizeは、(バイト数で表される)推定ブロックサイズであり、DataFile_Sizeは、(バイト数で表される)データファイルサイズであり、TSは、(秒数で表される)1タイムスロットの継続時間であり、DataFile_Lengthは、(秒数で表される)データファイルの継続時間であり、BLK SIZEは、データブロックごとに必要とされるクラスタの数であり、CLUSTER_SIZEは、各チャネルサーバ104のローカルメモリ208のなかにあるクラスタのサイズであり(例えば64キロバイトなど)、BLK_SIZE_BYTESは、バイト数で表されるブロックのサイズである。この実施形態では、ブロックの数(NUM_OF_BLKS)は、(バイト数で表される)データファイルのサイズに、バイト数で表されるデータブロックのサイズを加え、そこから1バイトを引き、さらに、バイト数で表されるデータブロックのサイズで割ったものに等しい。式(1)〜(4)は、具体的な一実施形態を示している。当業者ならば認識しているように、1データファイルのデータブロック数を計算するために、他の方法を使用することも可能である。例えば、データファイルを一定数のデータブロックに分割する作業は、主に、チャネルサーバ104のローカルメモリ208の推定ブロックサイズおよびクラスタサイズの関数である。したがって、本発明は、上述した具体的な実施形態に限定されるべきではない。
【0036】
図4は、スケジューリング行列を生成する代表的なプロセスを、本発明の一実施形態にしたがって示している。代表的な一実施形態では、本発明は、サーバ側においてデータデリバリを圧縮およびスケジューリングするために、時分割多重方式(TDM)および周波数分割多重(FDM)を使用する。代表的な一実施形態では、スケジューリング行列は、データファイルごとに生成される。一実施形態では、各データファイルは、一定数のデータブロックに分割され、スケジューリング行列は、そのデータブロックの数に基づいて生成される。一般に、スケジューリング行列は、データファイルのデータブロックをサーバからクライアントへと送信する送信順序を提供する。その結果、任意の時刻にデータファイルにアクセスしようとする任意のクライアントが、順番にデータファイルにアクセスできるようになる。
【0037】
ステップ402では、あるデータファイルのデータブロックの数(x)が受信される。第1の変数jが、0に設定される(ステップ404)。参照アレイが、クリアされる(ステップ406)。参照アレイは、内部管理のためにデータブロックの移動を記録する。次に、jとxが比較される(ステップ408)。jがx未満である場合は、第2の変数iが0に設定される(ステップ412)。次に、iとxが比較される(ステップ414)。iがx未満である場合は、スケジューリング行列の[(i+j)modulo(x)]列に格納されたデータブロックが、参照アレイに書き込まれる(ステップ418)。参照アレイが既にこのようなデータブロックを有している場合は、重複して書き込んではならない。初めは、スケジューリング行列はまだ何の入力も有していないので、このステップは省略することができる。次に、参照アレイは、データブロックiを含むか否かをチェックされる(ステップ420)。初めは、参照アレイのなかの入力は全てステップ406で消去されているので、参照行列のなかには何も存在しない。参照アレイがデータブロックiを含まない場合は、スケジューリング行列の行列位置:[(i+j)モジュロ(x),j]および参照アレイに、データブロックiが追加される(ステップ422)。データブロックiがスケジューリング行列および参照アレイに追加された後は、i=i+1になるようにiが1だけ増分され(ステップ424)、ステップ414でi=xになるまで手順が繰り返される。参照アレイがデータブロックiを含む場合は、i=i+1になるようにiが1だけ増分され(ステップ424)、ステップ414でi=xになるまで手順が繰り返される。i=xである場合は、j=j+1になるようにjが1だけ増分され(ステップ416)、j=xになるまでステップ406が繰り返される。このプロセス全体は、j=xになったときに終了する(ステップ410)。
【0038】
代表的な一実施形態において、データファイルが6つのデータブロックに分割される(x=6)場合は、スケジューリング行列および参照アレイは、次のように表される。
【0039】
【表1】
【0040】
【表2】
【0041】
この代表的な一実施形態では、上述したスケジューリング行列に基づいて、データファイルの6つのデータブロックが、以下の順番で送信される。
【0042】
【表3】
【0043】
別の代表的な一実施形態では、先読みスケジューリング行列を計算し、予測されるアクセス時間に先立って1データファイルに相当する所定数のデータブロックを送信するために、先読みプロセスを使用することができる。例えば、タイムスロットの番号が4またはそれより大きい任意のタイムスロットに関し、所定の先読み時間が1タイムスロット分の継続時間である場合は、データファイルのデータブロック4(blk4)は、加入クライアントのところにあるSTB300によって、TS3またはそれよりも前に受信されることが望ましいが、このblk4は、TS4まで再生されない。先読みスケジューリング行列を生成するプロセスのステップは、本実施形態での先読みスケジューリング行列が、先読み時間に基づいて早期送信シーケンスをスケジュールするという点を除き、図4に沿って上述したプロセスのステップと実質的に同じである。データファイルが6つのデータブロックに分割されたと仮定すると、先読みスケジューリング行列に基づいた代表的な送信シーケンスは、2タイムスロットの継続時間に相当する先読み時間を有し、次のように表すことができる。
【0044】
【表4】
【0045】
1組のデータファイルを送信するための三次元のデリバリ行列は、その1組のデータファイルに含まれる各データファイルのスケジューリング行列に基づいて生成される。三次元のデリバリ行列では、1組のデータファイルのなかの各データファイルのIDを含む第3次元が生成される。三次元のデリバリ行列は、各チャネルの有効帯域幅を効率的に利用し、複数のデータストリームを送信するために計算される。代表的な一実施形態では、三次元のデリバリ行列を生成し、1組のデータファイルの効率的な送信をスケジュールするために、当該分野において周知である畳み込み方法が使用される。例えば、畳み込み方法は、以下の方針を含むことができる。すなわち、(1)任意のタイムスロット(TS)の継続時間中に送信されるデータブロックの総数は、可能な限り少数に抑えられることが望ましい、(2)方針(1)に関して複数の部分解があり得る場合は、任意の参照タイムスロットの継続時間中に送信されるデータブロックと、(参照タイムスロットの)前のタイムスロットの継続時間中に送信されるデータブロックと、(参照タイムスロットの)次のタイムスロットの継続時間中に送信されるデータブロックと、を加算することによって得られるデータブロックの和が最小である解決法が好ましい。例えば、2つの短いデータファイルすなわちMおよびNを送信する代表的なシステムが想定され、各データファイルが6つのデータブロックにそれぞれ分割される場合は、スケジューリング行列に基づいた送信シーケンスは、次のとおりである。
【0046】
【表5】
【0047】
上述したような代表的な畳み込み方法が適用される場合は、デリバリ行列の組み合わせとして以下の6タイプが可能である。
【0048】
【表6】
【0049】
【表7】
【0050】
【表8】
【0051】
【表9】
【0052】
【表10】
【0053】
【表11】
【0054】
方針(1)を適用すると、オプション2,4,6が、任意のタイムスロットの最中に送信されるデータブロックの最大数が最も小さい(すなわち6データブロックである)。方針(2)を適用すると、代表的な本実施形態において最適なデリバリ行列は、オプション4である。なぜなら、オプション4では、任意の参照タイムスロットのデータブロックと、隣接するタイムスロットのデータブロックとの和が最小(すなわち16データブロック)であるからである。したがって、本実施形態にとって最適なものとしては、データファイルNの送信シーケンスは、3タイムスロットによってシフトされることが望ましい。代表的な一実施形態では、三次元のデリバリ行列がチャンネルサーバ104ごとに生成される。
【0055】
各データファイルのデータブロックがデリバリ行列にしたがって送信されるときは、多数の加入クライアントがいつでもデータファイルにアクセスすることができるので、各加入クライアントは、データファイルのなかの適切なデータブロックを適宜に利用することが可能である。上述した実施例において、1タイムスロットの継続時間が5秒間に等しいと仮定すると、DODシステム100は、データファイルM,Nのデータブロックを、最適なデリバリ行列にしたがって以下の方法で送信する(すなわちデータファイルNの配信シーケンスを3タイムスロットによってシフトさせる)。
【0056】
【表12】
【0057】
クライアントAが、時刻00:00:00において映画Mを選択する場合は、クライアントAにおけるSTB300は、データブロックの受信、格納、再生、および拒否を次のように行う。
【0058】
【表13】
【0059】
クライアントBが、時刻00:00:10において映画Mを選択する場合は、クライアントBにおけるSTB300は、データブロックの受信、格納、再生、および拒否を次のように行う。
【0060】
【表14】
【0061】
クライアントCが、時刻00:00:15において映画Mを選択する場合は、クライアントCにおけるSTB300は、データブロックの受信、格納、再生、および拒否を次のように行う。
【0062】
【表15】
【0063】
クライアントDが、時刻00:00:30において映画Mを選択する場合は、クライアントDにおけるSTB300は、データブロックの受信、格納、再生、および拒否を次のように行う。
【0064】
【表16】
【0065】
上述した実施例で示したように、サービスプロバイダによって提供される任意のデータファイルの選択および再生開始は、クライアントの組み合わせがどのようであっても、常に独立して行うことができる。
【0066】
一般動作
サービスプロバイダは、放送に先立って一定数のデータファイル(例えばビデオファイル)をチャネルサーバ104に送信するようにスケジュールすることができる。中央制御サーバ102は、三次元のデリバリ行列(ID、タイムスロット、およびデータブロック送信順序)を計算してチャネルサーバ104に送信する。放送中に、チャネルサーバ104は、適切なデータブロックを適切な順序で送信するように三次元デリバリ行列を指導する。各データファイルは、複数のデータブロックに分割されるので、多数の加入クライアントのそれぞれが、いつでも連続的に且つ順番にデータファイルを見始めることができる。データファイルの1データブロックのサイズは、選択された1タイムスロットの継続時間と、データファイルのデータストリームのビットレートとに依存する。例えば、ビットレートが一定のMPEGデータストリームでは、各データブロックは、ブロックサイズ(メガバイト)=ビットレート(メガバイト毎秒)×TS(秒)/8…式(1)で表される固定サイズを有する。
【0067】
代表的な一実施形態では、データブロックのサイズは、チャネルサーバ104のローカルメモリ208のなかのメモリクラスタサイズの数倍のサイズであって、データブロックのサイズを超える最小のサイズになるように調整される。例えば、上述した式(1)にしたがって計算されたデータブロックの長さが720キロバイトであり、ローカルメモリ208のクラスタサイズが64キロバイトである場合は、得られるデータブロックの長さは768キロバイトであることが望ましい。本実施形態では、データブロックは、クラスタサイズと同じサイズをそれぞれ有した複数のサブブロックにさらに分割されることが望ましい。本実施例では、データブロックは、64キロバイトのサブブロックを12だけ有する。
【0068】
サブブロックは、さらにデータパケットに分割することができる。各データパケットは、パケットヘッダとパケットデータとを含む。パケットデータの長さは、各チャネルサーバのCPUによるデータの送信先である物理的階層の最大伝送単位(MTU)に依存する。好ましい実施形態では、パケットヘッダおよびパケットデータの合計サイズは、MTU未満であることが望ましい。しかしながら、最大限の効率を得るためには、パケットデータの長さはできるだけ長いことが望ましい。
【0069】
代表的な一実施形態では、パケットヘッダのなかのデータは、以下のことを加入クライアントのSTB300に対して許可する情報(例えば、プロトコル署名、ヴァージョン、ID、またはパケットタイプ情報など)を含む。すなわち、STB300に対して、任意の受信データをデコードして、データパケットが選択データファイルに属するか否かを決定することを許可する情報である。パケットヘッダは、また、ブロック/サブブロック/パケット番号、パケット長さ、サブブロックのなかでの巡回冗長検査(CRC)およびオフセット、および/またはエンコード情報などの、他の情報を含むこともできる。
【0070】
チャネルサーバ104によって受信されたデータパケットは、QAMモジュレータ206に送信され、QAM変調されたIF出力信号を生成するために別のヘッダを追加される。QAMモジュレータ206のために出力される最大ビットレートは、使用可能な帯域幅に依存する。例えば、6MHzの帯域幅を有したQAMモジュレータ206の場合は、最大ビットレートは5.05(ビット/シンボル)×6(MHz)=30.3メガビット/秒である。
【0071】
QAM変調されたIF信号は、特定のチャネルに適したRF信号(例えばCATVチャネル80の場合は559.250MHzおよび6MHzの帯域幅)に変換されるために、アップコンバータ106に送信される。例えば、ケーブルネットワークが高い帯域幅(またはビットレート)を有する場合は、各チャネルは、仮想サブチャネルをそれぞれ占有する2つ以上のデータストリームを提供するために使用することができる。例えば、3つのMPEG1データストリームが、QAM変調の使用によって6MHzチャネルに適合される。アップコンバータ106の出力は、統合された信号を伝送媒体110に送信するコンバイナ/アンプ108に供給される。
【0072】
代表的な一実施形態では、「N」個のデータストリームを伝送するためのシステム帯域幅(BW)の合計は、BW=N×bwであり、bwは、データストリームごとに必要とされる帯域幅である。例えば、各MPEG−1データストリームは、9メガビット/秒のシステム帯域幅を占めるので、3つのMPEG−1データストリームは、30.3メガビット/秒のシステム帯域幅を有したDOCSISケーブルチャネルによって、同時に伝送することができる。
【0073】
一般に、帯域幅は、DODサービスに実際にアクセスしている加入クライアントの数に無関係に消費される。したがって、DODサービスを使用している加入クライアントがいない場合でも、システムのオン・デマンド能力を保証するためには、やはり帯域幅が消費される。
【0074】
代表的な一実施形態では、全システム帯域幅(BW)は、各データファイルのうちいくつかのデータブロックを先取りすることによって減少させることができる。先取りデータブロックは、個々の専用チャネルで連続的に送信される。一実施形態では、1データファイルのための先取りデータブロックは、グループで順次に送信される。残りのデータブロックを送るために必要とされる全システム帯域幅(BW)は、先取りデータブロックを送信することによって減少される。個別のチャネルで送信される先取りデータブロックとして望ましい数が決定された後は、これらの先取りデータブロックが他のデータブロックとともに再度送信されることがないように、残りのデータブロックを送信するためのスケジュールが調整されることが望ましい。
【0075】
例えば、データファイルが6つのデータブロックに分割された上述した代表的なスケジューリング行列は、第1のデータブロック「b0」と第2のデータブロック「b1」の両方が先取りデータブロックである場合に、残りのデータブロック(b2〜b5)のために次のように変更されることが望ましい。
【0076】
【表17】
【0077】
上述した実施例において、b0が唯一の先取りデータブロックである場合は、データファイルの残りのデータブロック(b1〜b5)を送信するための全帯域幅は、37.5%だけ減少される(すなわち合計16のデータブロックのうち6つのデータブロックが除去される)。次に、データブロック「b1」もまた先取りデータブロックである場合は、残りのデータブロック(b2〜b5)を送信するための帯域幅は、さらに追加で12.5%だけ減少される。したがって、b1を先取りするために追加で減少される帯域幅は、b0を先取りするためのそれほど大きくない。追加で減少される帯域幅は、先取りされるデータが増えるにつれて減退するので、各データファイルの先取りデータブロックとして最適な数は、所望の帯域幅の減少に基づいて決定することができる。代表的な一実施形態では、1データファイルのうちxからyまでのデータブロックを先取りすることによって節約される帯域幅が、次の式によって見積もられる。
【0078】
【式5】
【0079】
また、先取りされるデータブロックの数が増大するにつれ、先取りの遅延時間も増大する。先取り遅延時間は、各データファイルの1データブロックのサイズと、各データファイルから先取りされるデータブロックの数と、送信されるデータファイルの数と、専用チャネルに割り当てられる先取り帯域幅とに基づいて決定される。代表的な一実施形態では、各データファイルの全ての先取りデータブロックが、順番に且つ連続して1タイムスロットごとに1データブロックずつ専用チャネルで送信される。当業者ならば、先取りデータブロックの数が増大するにつれ、先取りの遅延時間も長くなることがわかる。したがって、各データファイルの先取りデータブロックとして最適な数を決定する際は、許容可能な先取り遅延時間を考慮に入れることが望ましい。
【0080】
例えば、データファイルM,Nのデータブロックb0,b1が専用チャネルで先取りされる場合は、これらの先取りデータブロックは、次の方式で送信することができる。
【0081】
【表18】
【0082】
代表的な一実施形態において、所定の先取り帯域幅:PRF_BW(メガバイト/秒)が割り当てられると仮定すると、先取り遅延時間は、次式:先取り遅延時間=[データブロックのサイズ(メガバイト)×先取りされるデータブロックの数×(送信されるデータファイルの数+1)×8]/PRF_BW(メガバイト/秒)にしたがって計算することができる。
【0083】
代表的な一実施形態では、送信される全データファイルの先取りデータブロックを一通り送信するために必要とされる時間である先取りサイクル時間(PRF_TIME)が、次式:先取りサイクル時間=[データブロックのサイズ(メガバイト)×先取りされるデータブロックの数×(送信されるデータファイルの数+1)×8]/PRF_BW(メガバイト/秒)にしたがって計算することができる。
【0084】
一実施形態では、先取り遅延時間を減少させるために、新しいデータファイルの先取りデータブロックが、古いデータファイル(例えば所定の時間のあいだ連続的に送信されたデータファイル)のなかの先取りデータブロックよりも頻繁に送信される。例えば、Mが古いデータファイルであってNが新しいデータファイルである場合は、先取りデータブロックは、次の方式で送信される。
【0085】
【表19】
【0086】
STB300は、いったんオンに調整されると、STB300のローカルメモリ308に格納された番組ガイドの受信および更新を連続的に行う。代表的な一実施形態では、STB300は、最新の番組ガイドを含むデータファイル情報をTV画面上に表示する。ビデオファイル情報などのデータファイル情報は、映画のID、映画のタイトル、(複数言語での)説明、カテゴリ(例えばアクションやキッズなど)、格付け(例えばR指定やPG13指定など)、ケーブル会社の方針(例えば値段や無料試聴期間など)、申し込み期間、映画のポスタ、および映画の予告などを含むことができる。代表的な一実施形態では、データファイル情報は、ファームウェアアップデート、コマーシャル、および/または緊急情報のために予約されたチャネルなどの専用チャネルを介して送信される。別の代表的な一実施形態では、情報は、他のデータストリームとの共有の物理的チャネルによって送信される。代表的な一実施形態では、STB300は、どのデータファイルも再生していない期間は、専用チャネルに調整され、まだ受信されていない先取りデータブロックを、いつでも受信し更新できる状態にある。
【0087】
代表的な一実施形態では、プレビューは、データファイルのデータストリームのなかでランダムに選択されたデータブロックから構成される。したがって、同じデータファイルのプレビューを複数回選択する場合でも、ユーザが同じプレビューを見る可能性は小さい。ランダムに構成されたプレビューの利点は、DODシステム100が、所定のプレビュー番組を放送するための帯域幅を余分に必要としないという点にある。代わりに、DODシステム100は、あるデータファイルのプレビューを見ることをユーザが要求した後に、そのデータファイルの通常データストリームのなかのデータブロックをランダムに選択する。好ましい一実施形態では、どのプレビューの一部を構成することもできないデータブロックが存在する。例えば、データファイルによって映画が供給される場合は、映画の後半部分は、ランダムに選択されるプレビューの一部を構成しないことが望ましい。
【0088】
加入クライアントは、テレビ画面上に表示されたカテゴリによってアレンジされた、使用可能データファイルのリストを見ることができる。クライアントが使用可能データファイルの1つを選択すると、STB300は、そのデータファイルのデータパケットの受信を開始するために、ハードウェアを制御し、対応する物理的チャネルおよび/または仮想サブチャネルに合わせる。STB300は、あらゆるデータパケットヘッダを検査し、データパケットのなかのデータをデコードし、受信されたデータパケットを保存することが望ましいか否かを決定する。STB300が、データパケットの保存を望ましくないと決定した場合は、そのデータパケットは廃棄される。そうでない場合は、データパケットは、後の検索に備えてローカルメモリ308のなかに保存されるか、あるいは、デコーダ312に送信されるまでのあいだバッファメモリ309のなかに一時的に格納される。
【0089】
ローカルメモリ308に対する頻繁な読み出し/書き込みを回避することによって性能効率を向上させるため、代表的な一実施形態でのSTB300は、メモリバッファ309のなかの予測されるデータブロックをいつでもロックできる「スライディング・ウィンドウ」予測技術を使用する。予測ウィンドウのなかでヒットが生じた場合は、データブロックは、メモリバッファ309から出てそのままデコーダ312へと伝送される。予測ミスが生じた場合は、データブロックは、メモリバッファ309からデコーダ312へと伝送される前に、ローカルメモリ308からメモリバッファ309へと読み込まれる。
【0090】
代表的な一実施形態では、STB300は、一時停止、スローモーション再生、巻き戻し、ズーム、およびシングルステップのためのボタンを含んだ、赤外線(IR)リモコン装置ボタン、IRキーボード、またはプロントパネル押しボタンを介して、加入クライアントのコマンドに応じる。代表的な一実施形態では、加入クライアントが所定期間のあいだ何のアクションも入力しなかった場合は、スケジュールされたコマーシャルが自動的に再生される。スケジュールされたコマーシャルは、加入クライアントがアクションを提供したとき(例えばリモコン装置のボタンを押したとき)に自動的に停止する。別の代表的な一実施形態では、STB300は、ビデオの再生中にコマーシャルを自動的に挿入することができる。サービスプロバイダ(例えばケーブル会社)は、再生中のビデオにどれくらいの頻度でコマーシャルを割り込ませるかを規定する、価格の設定方針を準備することができる。
【0091】
代表的な一実施形態では、DODシステム100を使用しているケーブル会社は、コマーシャルの割り込み回数に基づいて価格表を用意することができる。一実施形態では、コマーシャル用のデータブロックは、番組表、緊急ビット、および任意のファームウェアアップデートをも放送する専用チャネルを介して連続的に放送される。ユーザは、そのような価格表から、価格とコマーシャルとの許容バランスを選ぶことができる。代表的な一実施形態では、DODシステム100は、ユーザが選択した価格計画に基づいて所定の時間間隔による自動的なコマーシャルデータブロックの挿入を許容する内部クロックを維持することによって、そのユーザの選択を実現する。
【0092】
データパケットヘッダのなかに緊急情報ビットが発見された場合は、STB300は、あらゆるデータ受信動作を一時停止し、データファイル情報の受信用に用意されているチャネルに合わせるようにハードウェアを制御することによって、出力画面上に表示すべきあらゆる緊急情報を取得してデコードする。代表的な一実施形態では、STB300がアイドルであるときは、STB300は、データファイル情報の受信用に用意されたチャネルに合わされており、あらゆる緊急情報を遅滞なく受信し表示する用意が常に整っている。
【0093】
一実施形態では、STB300がアイドル状態であるとき(例えばユーザがシステムを使用していないとき)は、アラームが発せられ、出力デバイスをオンにして緊急情報を見るようにユーザに警告する。別の一実施形態では、STB300は、地域ごとに緊急情報を区別することができる。例えば、無関係な地域に関する緊急情報が、再生中のデータファイルに割り込んだり、あるいはアラームをトリガしたりすることはない。反対に、既存のシステムでは、緊急情報を送信するために、ケーブル会社が手動で放送に割り込む必要がある。
【0094】
上述した実施例は、本発明による特定の代表的な実施形態を示したものであり、当業者ならば、これらをもとにして変更形態および代替形態を考え付くことが可能である。したがって、本発明は、上述した特定の実施形態に限定されるのではなく、添付した特許請求の範囲によって規定されることが望ましい。
【図面の簡単な説明】
【図1A】
代表的なDODシステムを、本発明の一実施形態にしたがって示した図である。
【図1B】
代表的なDODシステムを、本発明の別の一実施形態にしたがって示した図である。
【図2】
代表的なチャネルサーバを、本発明の一実施形態にしたがって示した図である。
【図3】
代表的なセット・トップ・ボックスを、本発明の一実施形態にしたがって示した図である。
【図4】
スケジューリング行列を生成する代表的なプロセスを、本発明の一実施形態にしたがって示した図である。
【符号の説明】
100…DODシステム
102…中央制御サーバ
103…中央ストレージ
104a〜104n…チャネルサーバ
106a〜106n…アップコンバータ
108…コンバイナ/アンプ
110…伝送媒体
112…スイッチマトリクス
114…チャネルモニタモジュール
116a〜116b…バックアップチャネルサーバ
118a〜118b…バックアップコンバータ
120…ケーブルテレビシステム
202…サーバコントローラ
204…CPU
206…QAMモジュレータ
208…ローカルメモリ
210…ネットワークインターフェース
300…セット・トップ・ボックス(STB)
302…QAMモジュレータ
304…CPU
306…条件付きアクセスモジュール
308…ローカルメモリ
309…バッファメモリ
310…STBコントローラ
312…デコーダ
314…グラフィックオーバーレイモジュール
Claims (7)
- データ・オン・デマンドサービスを提供するために、クライアントにデータを送信する方法であって、
(a)データファイルを受け取るステップと、
(b)時間間隔を特定するステップと、
(c)前記時間間隔に基づいて、前記データファイルを複数のデータブロックに分解するステップと、
(d)前記複数のデータブロックから1組の先取りデータブロックを選択するステップと、
(e)前記1組の先取りデータブロックを専用チャネルで送信するステップと、
(f)前記複数のデータブロックの残りのデータブロックを伝送チャネルで伝送するステップと
を備える方法。 - 請求項1に記載の方法であって、
前記1組の先取りデータブロックを選択するステップは、
帯域幅の減少および先取りの遅延時間を決定するステップと、
前記帯域幅の減少および前記先取りの遅延時間に基づいて、前記先取りデータブロックを選択するステップと、を含む、方法。 - データ・オン・デマンドサービスを提供するために、クライアントにデータを送信する方法であって、
(a)データファイルを受け取るステップと、
(b)時間間隔を特定するステップと、
(c)各データブロックが前記時間間隔中に表示可能となるように、前記時間間隔に基づいて、前記データファイルを複数のデータブロックに分解するステップと、
(d)前記複数のデータブロックを伝送チャネルで送信するステップと、
(e)プレビュー要求を受け取るステップと、
(f)前記複数のデータブロックから、前記プレビューを構成する1組のデータブロックを、ランダムに選択するステップと、
(g)前記プレビューを表示させるステップと、を備える方法。 - 請求項3に記載の方法であって、さらに、
1組のコマーシャルデータブロックを専用チャネルで送信するステップと、
前記1組のコマーシャルデータブロックを所定時に表示させるステップと、を備える方法。 - 請求項4に記載の方法であって、
前記表示のステップは、
コマーシャル表示の頻度に基づいたユーザによる価格選択を受け取るステップと、
前記ユーザによる選択に基づいて、前記1組のコマーシャルデータブロックを表示させるステップと、を含む、方法。 - 請求項3に記載の方法であって、さらに、
前記データファイルのパケットヘッダが緊急ビットを含むか否かをチェックするステップと、
前記緊急ビットが検知された場合に、緊急情報を表示させるステップと、を備える方法。 - 請求項6に記載の方法であって、さらに、
前記緊急情報が関連地域に関するものであるか否かを決定するステップと、
前記緊急情報が前記関連地域に関するものである場合に、前記緊急情報を表示するステップと、を備える方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/584,832 | 2000-05-31 | ||
US09/584,832 US6557030B1 (en) | 2000-05-31 | 2000-05-31 | Systems and methods for providing video-on-demand services for broadcasting systems |
US09/709,948 US6725267B1 (en) | 2000-05-31 | 2000-11-10 | Prefetched data in a digital broadcast system |
US09/709,948 | 2000-11-10 | ||
PCT/US2001/017986 WO2001093062A1 (en) | 2000-05-31 | 2001-05-31 | Methods for providing video-on-demand services for broadcasting systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004501558A true JP2004501558A (ja) | 2004-01-15 |
JP5038574B2 JP5038574B2 (ja) | 2012-10-03 |
Family
ID=27079218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002500209A Expired - Fee Related JP5038574B2 (ja) | 2000-05-31 | 2001-05-31 | 放送システムのためのビデオ・オン・デマンドサービスを提供する方法 |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1285348A4 (ja) |
JP (1) | JP5038574B2 (ja) |
CN (1) | CN1203671C (ja) |
AU (1) | AU2001266681A1 (ja) |
BR (1) | BR0111652A (ja) |
CA (1) | CA2406715A1 (ja) |
HK (1) | HK1049389B (ja) |
IL (1) | IL152761A0 (ja) |
MX (1) | MXPA02011840A (ja) |
TW (1) | TW571594B (ja) |
WO (1) | WO2001093062A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021534616A (ja) * | 2018-07-31 | 2021-12-09 | ベステル エレクトロニク サナイー ベ ティカレト エー.エス. | データ配信のための方法、装置、システムおよびコンピュータプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979561B2 (en) | 2005-03-10 | 2011-07-12 | Qualcomm Incorporated | Method of multiplexing over an error-prone wireless broadcast channel |
EP1925162A1 (en) | 2005-08-26 | 2008-05-28 | Thomson Licensing | On demand system and method using dynamic broadcast scheduling |
CN101237683B (zh) * | 2007-01-31 | 2011-03-09 | 展讯通信(上海)有限公司 | Td-scdma终端同时接收电视信号与小区广播消息或寻呼指示消息的方法 |
TWI556637B (zh) * | 2012-12-14 | 2016-11-01 | Apacer Technology Inc | Selection method and system for switching information of multiple media sources |
TWI554092B (zh) * | 2012-12-17 | 2016-10-11 | 財團法人工業技術研究院 | 服務管理方法與系統 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09135222A (ja) * | 1995-10-12 | 1997-05-20 | Internatl Business Mach Corp <Ibm> | ビデオ・オン・デマンド放送用のピラミッド形データ・ブロック構成 |
JPH1056633A (ja) * | 1996-04-04 | 1998-02-24 | He Holdings Inc Dba Hughes Electron | 平均帯域幅とピーク帯域幅の変動を減少させるために信号の断片化および順序付けを使用する準オンデマンドデジタル情報配信システムおよび方法 |
WO1999033209A1 (en) * | 1997-12-23 | 1999-07-01 | Intel Corporation | Method of providing and retrieving a data segment |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07250314A (ja) * | 1994-03-10 | 1995-09-26 | Matsushita Electric Ind Co Ltd | Catvシステム及びビデオサーバ装置 |
KR960036641A (ko) * | 1995-03-21 | 1996-10-28 | 김광호 | 저속의 비디오비트열을 복호하는 고속용 복호화장치 |
US5781228A (en) * | 1995-09-07 | 1998-07-14 | Microsoft Corporation | Method and system for displaying an interactive program with intervening informational segments |
DE69631755T2 (de) * | 1995-12-01 | 2004-07-29 | Matsushita Electric Industrial Co., Ltd., Kadoma | Informationsverarbeitungsgerät, -system und verfahren für ein datenübertragungsnetzwerk |
KR100461211B1 (ko) * | 1995-12-07 | 2005-06-13 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 디지털다용도디스크디바이스와다중채널재생장치간의비-pcm비트스트림을엔코딩,전송및디코딩하기위한방법및디바이스 |
AU6175198A (en) * | 1997-02-21 | 1998-09-09 | Frederick S.M. Herz | Broadcast data distribution system with asymmetric uplink/downlink bandwidths |
US6169767B1 (en) * | 1997-03-10 | 2001-01-02 | Sarnoff Corporation | Universal network interface module |
EP0880246A3 (en) * | 1997-05-15 | 1999-12-01 | Matsushita Electric Industrial Co., Ltd. | Compressed code decoding device and audio decoding device |
US6055571A (en) * | 1997-11-20 | 2000-04-25 | Nec Usa, Inc. | Computer network with microeconomic flow control |
US6263019B1 (en) * | 1998-10-09 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Variable rate MPEG-2 video syntax processor |
-
2001
- 2001-05-31 AU AU2001266681A patent/AU2001266681A1/en not_active Abandoned
- 2001-05-31 CA CA002406715A patent/CA2406715A1/en not_active Abandoned
- 2001-05-31 WO PCT/US2001/017986 patent/WO2001093062A1/en not_active Application Discontinuation
- 2001-05-31 CN CNB018007570A patent/CN1203671C/zh not_active Expired - Fee Related
- 2001-05-31 MX MXPA02011840A patent/MXPA02011840A/es unknown
- 2001-05-31 JP JP2002500209A patent/JP5038574B2/ja not_active Expired - Fee Related
- 2001-05-31 BR BR0111652-5A patent/BR0111652A/pt not_active IP Right Cessation
- 2001-05-31 IL IL15276101A patent/IL152761A0/xx unknown
- 2001-05-31 EP EP01944254A patent/EP1285348A4/en not_active Withdrawn
- 2001-07-03 TW TW090113207A patent/TW571594B/zh not_active IP Right Cessation
-
2003
- 2003-02-28 HK HK03101490.0A patent/HK1049389B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09135222A (ja) * | 1995-10-12 | 1997-05-20 | Internatl Business Mach Corp <Ibm> | ビデオ・オン・デマンド放送用のピラミッド形データ・ブロック構成 |
JPH1056633A (ja) * | 1996-04-04 | 1998-02-24 | He Holdings Inc Dba Hughes Electron | 平均帯域幅とピーク帯域幅の変動を減少させるために信号の断片化および順序付けを使用する準オンデマンドデジタル情報配信システムおよび方法 |
WO1999033209A1 (en) * | 1997-12-23 | 1999-07-01 | Intel Corporation | Method of providing and retrieving a data segment |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021534616A (ja) * | 2018-07-31 | 2021-12-09 | ベステル エレクトロニク サナイー ベ ティカレト エー.エス. | データ配信のための方法、装置、システムおよびコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
HK1049389A1 (en) | 2003-05-09 |
IL152761A0 (en) | 2003-06-24 |
HK1049389B (zh) | 2006-01-13 |
TW571594B (en) | 2004-01-11 |
BR0111652A (pt) | 2003-10-07 |
EP1285348A4 (en) | 2004-06-30 |
JP5038574B2 (ja) | 2012-10-03 |
AU2001266681A1 (en) | 2001-12-11 |
EP1285348A1 (en) | 2003-02-26 |
CN1366642A (zh) | 2002-08-28 |
MXPA02011840A (es) | 2003-12-11 |
WO2001093062A1 (en) | 2001-12-06 |
CN1203671C (zh) | 2005-05-25 |
CA2406715A1 (en) | 2001-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6557030B1 (en) | Systems and methods for providing video-on-demand services for broadcasting systems | |
EP1389874B1 (en) | Fast digital channel changing | |
US20030051249A1 (en) | System and method for data insertion (commercials) in client generic data-on-demand broadcast transmissions | |
EP1285347A1 (en) | Universal stb architectures and control methods | |
US20020023267A1 (en) | Universal digital broadcast system and methods | |
US20020026501A1 (en) | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices | |
JP5038574B2 (ja) | 放送システムのためのビデオ・オン・デマンドサービスを提供する方法 | |
US20020138845A1 (en) | Methods and systems for transmitting delayed access client generic data-on demand services | |
JP2005506725A (ja) | 遅延アクセスによるクライアントジェネリックなデータ・オン・デマンドサービスの伝送方法およびシステム | |
JP2004514336A (ja) | アイドルタイム減少および一定帯域幅データ・オン・デマンド放送配信行列 | |
KR20030092105A (ko) | 프리페치 데이터 전송을 사용하는 주문형 데이터 디지털방송 시스템 | |
TWI223563B (en) | Methods and systems for transmitting delayed access client generic data-on-demand services | |
AU2001253797A1 (en) | Universal digital broadcast system and methods | |
WO2003048894A2 (en) | System and methods for data insertion (commercials) in client generic data-on-demand broadcast transmissions | |
KR20030051800A (ko) | 감소된 공전 시간과 감소된 대역폭의 주문형 데이터 방송전달 매트릭스 | |
KR20040063795A (ko) | 지연된 억세스 클라이언트 데이터 및 요청의 전송 | |
EP1402331A2 (en) | Methods and systems for transmitting delayed access client generic data-on demand services | |
KR20030034082A (ko) | 범용 디지털 방송 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100118 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100416 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101102 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |