CN1203671C - 为广播***提供视频点播业务的方法 - Google Patents

为广播***提供视频点播业务的方法 Download PDF

Info

Publication number
CN1203671C
CN1203671C CNB018007570A CN01800757A CN1203671C CN 1203671 C CN1203671 C CN 1203671C CN B018007570 A CNB018007570 A CN B018007570A CN 01800757 A CN01800757 A CN 01800757A CN 1203671 C CN1203671 C CN 1203671C
Authority
CN
China
Prior art keywords
data
data file
data block
time
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.)
Expired - Fee Related
Application number
CNB018007570A
Other languages
English (en)
Other versions
CN1366642A (zh
Inventor
黄炎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PrediWave Corp
Original Assignee
PrediWave Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US09/584,832 external-priority patent/US6557030B1/en
Application filed by PrediWave Corp filed Critical PrediWave Corp
Publication of CN1366642A publication Critical patent/CN1366642A/zh
Application granted granted Critical
Publication of CN1203671C publication Critical patent/CN1203671C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing 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/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26208Content 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/26216Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26208Content 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/26233Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26208Content 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/26241Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26275Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47202End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种用于传送数据给客户机以便提供数据点播业务的方法,包括步骤:接收数据文件,规定时间间隔,根据时间间隔将该数据文件解析为多个数据块,使得每个数据块在时间间隔期间是可显示的,确定发送该数据文件所要求的时隙数量,给每个时隙分配至少多个数据块的第一数据块和任选地一个或者多个附加的数据块,使得从任何时隙开始,(i)通过访问多个数据块的第一数据块可以显示该数据文件;(ii)在一个连续的时隙,在前显示的数据块的下一个数据块可用于显示;和(iii)重复步骤(ii),直到数据文件的所有的多个数据块已经显示,并且根据该分配步骤发送该多个数据块。

Description

为广播***提供视频点播业务的方法
                    本发明的简述
本发明一般涉及数据点播***。具体来说,本发明涉及视频点播***。
                  本发明的背景技术
视频点播(VOD)***是数据点播(data-on-demand,DOD)***的一个类型。在VOD***中,由服务器或者服务器的网络基于需求提供视频数据文件给一个或者多个客户机。
在常规的VOD架构中,服务器或者服务器的网络与标准分层客户机-服务器模型中的客户机通信。例如,客户机发送对于数据文件(例如视频数据文件)的请求给一个服务器。根据客户机的请求,该服务器发送所请求的数据文件给该客户机。在标准的客户机-服务器模型中,客户机对于数据文件的请求可以由一个或者多个服务器满足。该客户机可以有能力在非易失性存储器中存储任何在本机接收的数据文件以便以后使用。标准的客户机-服务器模型要求双向通信基础设施。当前,双向通信要求建立新的基础设施,因为现有的电缆只可提供单向的通信。双向通信基础设施的例子是混合光纤光学同轴电缆(HFC)或者所有的光纤基础设施。更换现有的电缆费用很高,而能得到的业务不是大多数用户可支付得起的。
另外,当服务提供者(例如电缆公司)试图提供VOD服务给大量的客户机时,标准的客户机-服务器模型具有许多限制。标准的客户机-服务器模型的一个限制是服务提供者必须实现连续地监听和满足来自该网络内的每个客户机的每个请求的机制;因此,可以接收服务的客户机数量取决于这样一个机制的容量。一个机制使用具有大的和快速盘阵列的大规模并行计算机作为本地服务器。但是,即使最快的现有的本地服务器同时只可传送视频数据流给大约1000至2000个客户机。因此,为了服务更多的客户机,必须增加本地服务器的数量。增加本地服务器要求有更多高级服务器以维持对本地服务器的控制。
标准的客户机-服务器模型的另一个限制是每个客户机要求它自己的带宽。因此,所要求的总带宽直接与预订客户机的数量成正比。在本地服务器内的超高速缓冲存储器已经用于改进带宽限制,但是使用超高速缓冲存储器不解决该问题,因为超高速缓冲存储器也是有限的。
目前,为了使得视频点播对于客户机更能负担得起,现有的服务提供者在本地服务器的能力上面增加每个本地服务器的客户机的比例。通常,一个能够向1000个客户机提供服务的本地服务器,实际上承担对10,000个客户机的服务。如果大多数预订客户机不同时预订视频,这个技术可以运用。但是,这个技术会导致故障,因为大多数客户机可能同时(即晚间和周末)要观看视频,因此,使得本地服务器变得超载。
因此,希望提供一个***,能够实际上在任何传输媒介上提供点播业务给大量的客户机而不必更换现有的基础设施。
                     本发明概述
在一个示例的实施例中,在服务器端,用于传送数据给客户机以便提供数据点播业务的方法包括步骤:接收数据文件,指定时间间隔,根据该时间间隔将该数据文件解析为多个数据块,使得每个数据块在该时间间隔期间是可显示的,确定发送该数据文件要求的时隙数量,给每个时隙分配该多个数据块之至少一个第一块和可选地分配一个或者多个附加数据块,使得该多个数据块对于在任何时隙期间访问该数据文件的客户机按顺序是可用的,和基于该分配步骤发送该多个数据块。在一个实施例中,该解析步骤包括以下步骤:确定估计的数据块长度,确定在频道服务器中的存储器的丛集长度(cluster size),和基于该估计的数据块长度和丛集长度解析该数据文件。在另一个实施例中,该确定步骤包括评价资源分配和带宽可用性的步骤。
在一个实施例中,该方法还包括从该多个数据块中选择一组预取数据块之步骤,和在专用信道中分别发送该组预取数据块之步骤,用于发送预取数据、节目指南、商业广告节目、固件更新等等。在一个示例的实施例中,选择一组预取数据块的步骤包括以下步骤:(1)确定在专用信道中对预取数据的带宽压缩、带宽分配、以及延迟时间;和(2)根据该带宽压缩、带宽分配和延迟时间选择预取数据块。
在另一个实施例中,该方法还包括步骤:接收预览请求,从多个数据块中随机选择一组数据块以便构成预览,和产生预览显示。在另一个实施例中,该方法还包括在该专用信道发送一组广告节目数据块和在预定的时间产生该组广告节目数据块的显示。在一个示例的实施例中,该广告节目数据块在专用信道中被连续地发送。在这个实施例中,显示该组广告节目数据块的步骤包括以下步骤:接收用户根据广告节目显示的出现率的价格选择和根据该用户选择产生该组广告节目数据块的显示。
在另一个实施例中,该方法还包括步骤:检验数据文件的分组标题的应急比特,当检测出应急比特时,调谐到该专用信道以接收应急信息,和产生应急信息的显示。在一个实施例中,这个方法还包括步骤:确定应急信息是否用于相关的区域和如果该应急信息是用于有关的区域,显示该应急信息。
在一个示例的实施例中,在客户机端,用于处理从服务器接收的数据以便提供数据点播业务的方法包括步骤:(a)在第一时隙期间接收一个数据文件之选择;(b)在第二时隙期间接收该数据文件的至少一个数据块;(c)在下一个时隙期间:接收尚未被接收的任何数据块,按顺序显示数据文件的数据块,和重复步骤(c)直到该数据文件的所有数据块都已经被接收和显示。一个实施例中,由在客户机端的机顶盒执行用于处理从服务器接收的数据的方法。
在一个示例的实施例中,数据文件被分成许多数据块和基于数据块的数量产生一个时间表(scheduling)矩阵。在服务器端,时间表矩阵提供用于发送数据块的发送次序,使得客户机可以在随机的时间按顺序访问该数据块。在一个示例的实施例中,用于产生用于数据文件的时间表矩阵的方法包括步骤:(a)接收数据文件的数据块的数量[x];(b)设置第一变量[j]为零;(c)设置第二变量[i]为零;(d)清除在参考阵列中的所有的条目;(e)把存储在一个矩阵中[(i+j)模x]列之矩阵位置中的至少一个数据块写到参考阵列,如果该参考阵列还没有包含该数据块;(f)把一个数据块[i]写到该参考阵列和该矩阵之矩阵位置[(i+j)模x,j],如果该参考阵列没有包含该数据块[i];(g)第二变量[i]递增1并且重复步骤(e)、直到第二变量[i]等于数据块的数量[x];和(h)第一变量[j]递增1并且重复步骤(c)、直到第一变量[j]等于数据块的数量[x]。在一个实施例中,产生用于一组数据文件中的每个数据文件的时间表矩阵,并且根据用于发送该组数据文件的时间表矩阵,应用卷积(convolution)方法产生传送矩阵。
数据点播***包括第一组频道服务器;一个中央控制服务器,用于控制第一组频道服务器;第一组上变频器,连接到第一组频道服务器;连接到第一组上变频器的一个组合器/放大器;和适合于通过传输媒介发送数据的一个组合器/放大器。在一个示例的实施例中,该数据点播***还包括一个频道监视模块,用于监视该***;一个开关矩阵;第二组频道服务器和第二组上变频器。该频道监视模块用于在出现***故障时报告给中央控制服务器。该中央控制服务器根据来自频道监视模块的报告,向该开关矩阵发出指令,以便用第二组频道服务器中的频道服务器代替第一组频道服务器中的故障频道服务器、及用第二组上变频器中的上变频器代替第一组上变频器中的故障上变频器。
用于提供数据点播业务的方法包括步骤:计算数据文件的传送矩阵,根据该传送矩阵发送该数据文件,使得大量的客户机能够根据需要观看该数据文件。在一个实施例中,该数据文件包含一个视频文件。
                      附图简述
图1A说明根据本发明的实施例的一个示例的DOD***;
图1B说明根据本发明的另一个实施例的一个示例的DOD***;
图2说明根据本发明的一个实施例的示例的频道服务器;
图3说明根据本发明的一个实施例的示例的机顶盒;
图4说明根据本发明的一个实施例用于产生一个时间表矩阵的示例的过程。
                  本发明的详细说明
图1A说明根据本发明的实施例的一个示例的DOD***100。在这个实施例中,DOD***100根据需要提供诸如视频文件的数据文件。但是,DOD***100不限于根据需要提供视频文件,也能够根据需要提供其它数据文件,例如游戏文件。DOD***100包含一个中央控制服务器102、一个中央存储器103、多个频道服务器104a-104n、多个上变频器106a-106n和一个组合器/放大器108。中央控制服务器102控制频道服务器104。中央存储器103以数字格式存储数据文件。在示例的实施例中,任何连接在该网络上并被授权的计算机(比如中央控制服务器102)通过标准网络接口(例如以太网连接)可以访问存储在中央存储器103的数据文件。每个频道服务器104被分配一个频道和连接到上变频器106。频道服务器104根据中央控制服务器102的指令提供从中央存储器103检索的数据文件。每个频道服务器104的输出是正交振幅调制(QAM)调制的中频(IF)信号,该信号具有适于相应的上变频器106的频率。QAM调制的中频信号取决于采用的标准。当前在美国采用的标准是有线数据***接口规范(DOCSIS)标准,它要求大约43.75MHz的中频。上变频器106将从频道服务器104接收的中频信号变换为射频信号(RF信号)。RF信号包括频率和带宽都取决于期望的频道和采用的标准。例如,根据美国用于有线电视频道80的当前标准,RF信号具有大约559.25MHz的频率和大约6MHz的带宽。上变频器106的输出施加到组合器/放大器108。组合器/放大器108放大、调节和组合所接收的RF信号,然后输出该信号至传输媒介110。
在一个示例的实施例中,中央控制服务器102包括一个图形用户接口(未示出),使服务提供者能够通过拖放式操作来调度数据传送。另外,中央控制服务器102验证和控制频道服务器104以便根据传送矩阵开始或者停止。在一个示例的实施例中,中央控制服务器102自动地选择一个信道并且计算用于在所选择的信道中发送数据文件的传送矩阵。中央控制服务器102提供对数据文件信息(例如持续时间、类别、等级以及/或者简要叙述)的脱机增加、删除和更新。另外,中央控制服务器102通过更新存储在其中的数据文件和数据库控制该中央存储器103。
在一个示例的实施例中,现有的有线电视***120可以继续馈送信号到组合器/放大器108以便提供非DOD业务给客户机。因此,根据本发明的DOD***100并不影响现在的有线电视业务。
图1B说明根据本发明的DOD***100的另一个示例的实施例。除了表示在图1A中的单元外,该DOD***100包括一个开关矩阵112、一个频道监视模块114、一组后备频道服务器116a-116b和一组后备上变频器118a-118b。在一个实施例中,开关矩阵112实际上位于上变频器106和组合器/放大器108之间。开关矩阵112是由中央控制服务器102控制的。频道监视模块114包括多个配置的机顶盒,它模拟潜在的客户机,用于监视DOD***100的状况。监视的结果由频道监视模块114传送到中央控制服务器102。在出现频道故障(即频道服务器故障,上变频器故障或者通信链路故障)的情况下,中央控制服务器102通过开关矩阵112断开故障部件并且连接完好的后备部件116以及/或者118以便重新开始服务。
在一个示例的实施例中,从DOD***100广播的数据文件包含在运动图像专家组(MPEG)文件中。每个MPEG文件被动态地分成数据块和沿着时间轴映射到数据文件的特定部分的子数据块。根据由中央控制服务器102提供的三维的传送矩阵,这些数据块和子数据块在预先确定的时间期间被发送。对于DOD***100而言,提供DOD业务并不是必须有反馈信道。但是,如果反馈信道是可用的,该反馈信道可用于其他的目的,诸如计费或者提供因特网服务。
图2说明根据本发明的一个实施例的示例的频道服务器104。频道服务器104包括一个服务器控制器202、一个CPU(中央处理单元)204、一个QAM调制器206、一个本机存储器208和一个网络接口210。服务器控制器202通过命令CPU 204划分数据文件为块(进一步划分为子块和数据分组)控制频道服务器104的整个操作,根据由中央控制服务器102提供的传送矩阵选择用于传输的数据块,编码所选择的数据,压缩所编码的数据,然后传送所压缩的数据到QAM调制器206。QAM调制器206接收通过总线(即PCI、CPU本地总线)或者以太网连接发送的数据。在一个示例的实施例中,QAM调制器206可以包括一个下行QAM调制器,具有前向纠错解码器的一个上行正交振幅调制/正交相移键控(QAM/QPSK)脉冲解调器,以及/或者一个上行调谐器。QAM调制器206的输出是一个中频信号,可以直接地应用到上变频器106。
网络接口210连接频道服务器104到其它频道服务器104以及连接到中央控制服务器102,以便执行来自中央控制服务器102的时间表和控制指令,报告状态送回至中央控制服务器102,和从中央存储器103接收数据文件。从中央存储器103检索的任何数据文件可以被存储在频道服务器104的本机存储器208,然后根据来自服务器控制器202的指令处理该数据文件。在一个示例的实施例中,频道服务器104可以根据有线信道的带宽(例如6,6.5或者8MHz)、QAM调制(例如QAM 64或者QAM 256)、和DOD数据流(即MPEG-1或者MPEG-2)的压缩标准/比特率发送一个或者多个DOD数据流。
图3说明根据本发明的一个实施例的示例的机顶盒(STB)300。STB 300包括一个QAM解调器302、一个CPU 304、一个条件访问模块306(例如智能卡***)、一个本机存储器308、一个缓冲存储器309、一个STB控制器310、一个解码器312和一个图形重叠模块(graphics overlaymodule)314。STB控制器310通过控制CPU 304和QAM解调器302控制STB 300的整个操作,以便根据客户机的请求选择数据,解码所选择的数据,解压缩所解码的数据,重新装配所解码的数据,在本机存储器308或者缓冲存储器309中存储所解码的数据,和传送所存储的数据到解码器312。在一个示例的实施例中,STB控制器310根据从传输媒介110中接收的数据分组的标题控制STB 300的整个操作。在一个示例的实施例中,本机存储器308包括非易失性存储器(例如硬盘驱动器),而缓冲存储器309包括易失性存储器。
在一个实施例中,QAM解调器302包括发射器和接收器模块以及下面的一个或者多个:保密加密/解密模块、前向纠错解码器/编码器、调谐器控制器、下行和上行处理器、CPU和存储器接口电路。QAM解调器302接收调制的中频信号,取样和解调该信号以便恢复数据。当在验证之后许可访问时以及/或者当已经收取适当的费用时,条件访问模块306允许解码过程。访问条件是由服务提供者确定的。
在一个示例的实施例中,当访问被许可时,解码器312解码至少一个数据块以便将该数据块转换为可在输出屏幕上显示的图像。解码器312支持来自预订客户机的命令,诸如播放、停止、暂停、步进、回放、前进等等。
图形重叠模块314例如通过提供阿尔法混合或者画中画能力增强显示的图形质量。在一个示例的实施例中,在玩游戏模式期间图形重叠模块314可用于图形加速,例如当服务提供者利用根据本发明的***提供游戏点播服务时。
在一个示例的实施例中,虽然数据文件被广播到所有的有线电视用户,但是只有那些具有兼容STB 300的DOD用户能够解码和享受数据点播业务。在一个示例的实施例中,获得数据点播文件的许可是可以通过条件访问控制模块306中的智能卡(smart card)***获得。智能卡可以是可在本地商店或者由服务提供者设置的自动售货机进行收费。在另一个示例的实施例中,一个统一收费***为用户提供对所有可得到的数据文件的无限制访问。
在一个示例的实施例中,数据点播交互的特征允许客户机任何时候选择可得到的数据文件。当客户机按下选择按键时与所选择的数据文件开始播放之时间之间的时间量称为响应时间。由于分配越多的资源(例如带宽,服务器能力)以提供DOD业务,该响应时间就变得越短。在一个示例的实施例中,响应时间可以根据资源分配的估计和期望的服务质量确定。
在一个示例的实施例,选择的响应时间确定一个时隙的持续时间。时隙(TS)的持续时间是由客户机以正常速度播放一个数据块的时间间隔。在一个示例的实施例中,诸如视频文件的数据文件被分成许多数据块,使得每个数据块可以在一个时隙的持续期间支持数据文件的播放。
在一个实施例中,每个数据文件的数据块的数量(NUM_OF_BLKS)可以计算如下:
Estimated_BLK_Size=(DataFile_Size*TS)/DataFile_Length              (1)
BLK SIZE=(Estimated BLK Size+CLUSTER_SIZE-1Byte)/CLUSTER_SIZE      (2)
BLK_SIZE_BYTES=BLK_SIZE*CLUSTER_SIZE                               (3)
NUM_OF_BLKS=(DataFile_Size+BLK_SIZE_BYTES-1Byte)/BLK_SIZE_BYTES    (4)
在等式(1)至(4)中,Estimated_BLK_Size是估计的块长度(以字节为单位);DataFile_Size是数据文件长度(在字节为单位);TS代表时隙的持续时间(以秒为单位);DataFile_Length是数据文件的持续时间(以秒为单位);BLK SIZE是每个数据块需要的丛集的数量;CLUSTER_SIZE是用于每个频道服务器104的本机存储器208中的丛集的尺寸(例如64K字节);BLK_SIZE_BYTES是以字节为单位的块长度。在这个实施例中,块的数量(NUM_OF_BLKS)等于数据文件长度(以字节为单位)加上以字节为单位的数据块长度减去1字节并且除以以字节为单位的数据块长度。等式(1)至(4)说明一个特定的实施例。本领域的技术人员应该认识到,其它方法是可用于对数据文件计算数据块的数量。例如,划分数据文件为许多数据块主要地是频道服务器104的本机存储器208的估计块长度和丛集长度的功能。因此,本发明不应该限制为上面提出的特定的实施例。
图4说明根据本发明的一个实施例用于产生用于发送数据文件的时间表矩阵的示例的过程。在一个示例的实施例中,这个发明使用时分多路复用(TDM)和频分多路复用(FDM)技术在服务器端压缩和调度数据传送。在一个示例的实施例中,为每个数据文件产生一个时间表矩阵。在一个实施例中,每个数据文件被分成许多数据块和根据数据块的数量产生每个时间表矩阵。典型地,时间表矩阵提供一个发送次序,用于从服务器给客户机传送数据文件的数据块,使得希望访问该数据文件的任何客户机在随机的时间按照顺序可以访问该数据块。
在步骤402,接收一个数据文件的数据块的数量(x)。第一变量j设置为零(步骤404)。清除参考阵列(步骤406)。参考阵列始终监视用于内部管理目的的数据块。然后,j与x比较(步骤408)。如果j小于x,第二变量i设置为零(步骤412)。然后,i与x比较(步骤414)。如果i小于x,存储在时间表矩阵的[(i+j)模(x)]列中的数据块被写入该参考阵列(步骤418)。如果参考阵列已经具有这样的数据块(s),则不写重复的副本。最初,由于时间表矩阵还不具有条目,这个步骤可以跳过。然后,如果参考阵列包含数据块i,检查参考阵列(步骤420)。最初,由于在参考阵列中的所有的条目在步骤406被清除了,在参考阵列什么也没有了。如果参考阵列不包含数据块i,数据块i被加入在矩阵位置[(i+j)模(x),j]的时间表矩阵和参考阵列(步骤422)。在数据块i被加到该时间表矩阵和该参考阵列之后,i递增1,使得i=i+1(步骤424),然后在步骤414重复该过程直到i=x。如果该参考阵列包含数据块i,递增1,使得i=i+1(步骤424),然后在步骤414重复该过程直到i=x。当i=x时,j递增1,使得j=j+1(步骤416)并且在步骤406重复该过程直到j=x。当j=x时结束整个过程(步骤410)。
在一个示例的实施例中,如果数据文件被分成六个数据块(x=6),时间表矩阵和参考阵列如下:
时间表矩阵(SM)
    TS0 TS1 TS2 TS3 TS4 TS5
    [0,0]blk0 [1,0]blk1 [2,0]blk2 [3,0]blk3 [4,0]blk4 [5,0]blk5
    [0,1] [1,1]blk0 [2,1] [3,1] [4,1] [5,0]
    [0,2] [1,2] [2,2]blk0 [3,2]blk1 [4,2] [5,1]
    [0,3] [1,3] [2,3] [3,3]blk0 [4,3] [5,2]blk2
    [0,4] [1,4]blk3 [2,4] [3,4] [4,4]blk0 [5,3]blk1
    [0,5] [1,5] [2,5] [3,5]blk4 [4,5] [5,3]blk0
参考阵列(RA)
 Space0  space1  space2  Space3  Space4  Space5
 TS0  blk0  blk1  blk2  blk3  blk4  blk5
 TS1  blk1  blk0  blk2  blk3  blk4  blk5
 TS2  blk2  blk0  blk3  blk1  blk4  blk5
 TS3  blk3  blk1  blk0  blk4  blk5  blk2
 TS4  blk4  blk0  blk5  blk2  blk1  blk3
 TS5  blk5  blk2  blk1  blk0  blk3  blk4
在这个示例的实施例中,根据上面的时间表矩阵,该数据文件的六个数据块以下面序列发送:
TS0  blk0
TS1  blk0,blk1,blk3
TS2  blk0,blk2
TS3  blk0,blk1,blk3,blk4
TS4  blk0,blk4
TS5  blk0,blk1,blk2,blk5
在另一个示例的实施例中,可利用先行(look-ahead)过程计算先行时间表矩阵以便在预计的访问时间前发送数据文件的预定数量的数据块。例如,如果预定的先行时间是一个时隙的持续时间,对于大于或等于时隙数4的任何时隙,数据文件的数据块4(blk4)应该在预订客户机由STB 300在TS3或者在TS3之前被接收,但是在TS4之前不播放blk4。产生先行时间表矩阵的过程步骤基本上类似于在上面对于图4描述的过程步骤,除了在这个实施例中的先行时间表矩阵根据先行时间调度较早的发送序列之外。假定数据文件被分成六个数据块,根据先行时间表矩阵、具有两个时隙的持续时间的先行时间的一个示例的发送序列可以表示如下:
TS0  blk0
TS1  blk0,blk1,blk3,blk4
TS2  blk0,blk2
TS3  blk0,blk1,blk3,blk4,blk5
TS4  blk0,blk5
TS5  blk0,blk1,blk2
用于发送一组数据文件的三维的传送矩阵是根据对于该组数据文件的每个数据文件的时间表矩阵产生的。在三维的传送矩阵中,产生包含用于该组数据文件的每个数据文件的ID的第三维。计算三维的传送矩阵以便有效地利用每个信道中的可用带宽传送多个数据流。在一个示例的实施例中,本领域熟知的卷积方法用于产生三维的传送矩阵以便调度一组数据文件的有效传送。例如,卷积方法可以包括下面策略:(1)在任何时隙(TS)的持续时间中发送的数据块总数应该保持最小的可能的数量;和(2)如果相对于策略(1)可得到多个部分的解决方案,优选的解决方案是通过相加在任何参考时隙的持续时间期间发送的数据块、在前面的时隙(相对于该参考时隙)的持续时间期间发送的数据块和在下一个时隙(相对于该参考时隙)的持续时间期间发送的数据块,从而具有最小的数据块总数的解决方案。例如,假定一个示例的***发送两个短的数据文件M和N,在这里每个数据文件被分成六个数据块,基于时间表矩阵的发送序列如下:
TS0  blk0
TS1  blk0,blk1,blk3
TS2  blk0,blk2
TS3  blk0,blk1,blk3,blk4
TS4  blk0.blk4
TS5  blk0,blk1,blk2,blk5
应用在上面描述的示例的卷积方法,传送矩阵的可能的组合如下:
任选项1:在偏移0TS发送视频文件N             总的数据块
------------------------------------------------------
TS0M0,N0                                        2
TS1M0,M1,M3,N0,N1,N3                        6
TS2M0,M2,N0,N2                                4
TS3M0,M1,M3,M4,N0,N1,N3,N4                8
TS4M0,M4,N0,N4                                4
TS5M0,M1,M2,M5,N0,N1,N2,N5                8
任选项2:在偏移1TS发送视频文件N                    总的数据块
-------------------------------------------------------------
TS0M0,N0,N1,N3                                4
TS1M0,M1,M3,N0,N2                            5
TS2M0,M2,N0,N1,N3,N4                        6
TS3M0,M1,M3,M4,N0,N4                        6
TS4M0,M4,N0,N1,N2,N5                        6
TS5M0,M1,M2,M5,N0                            5
任选项3:在偏移2TS发送视频文件N                    总的数据块
-------------------------------------------------------------
TS0M0,N0,N2                                    3
TS1M0,M1,M3,N0,N1,N3,N4                    7
TS2M0,M2,N0,N4                                4
TS3M0,M1,M3,M4,N0,N1,N2,N5                8
TS4M0,M4,N0                                    3
TS5M0,M1,M2,M5,N0,N1,N3                    7
任选项4:在偏移3TS发送视频文件N                         总的数据块
------------------------------------------------------------------
TS0M0,N0,N1,N3,N4                                 5
TS1M0,M1,M3,N0,N4                                 5
TS2M0,M2,N0,N1,N2,N5                             6
TS3M0,M1,M3,M4,N0                                 5
TS4M0,M4,N0,N1,N3                                 5
TS5M0,M1,M2,M5,N0,N2                             6
任选项5:在偏移4TS发送视频文件N                         总的数据块
------------------------------------------------------------------
TS0M0,N0,N4                                         3
TS1M0,M1,M3,N0,N1,N2,N5                         7
TS2M0,M2,N0                                         3
TS3M0,M1,M3,M4,N0,N1,N3                         7
TS4M0,M4,N0,N2                                     4
TS5M0,M1,M2,M5,N0,N1,N3,N4                     8
任选项6:在偏移5TS发送视频文件N                         总的数据块
------------------------------------------------------------------
TS0M0,N0,N1,N2,N5                                 5
TS1M0,M1,M3,N0                                     4
TS2M0,M2,N0,N1,N3                                 5
TS3M0,M1,M3,M4,N0,N2                             6
TS4M0,M4,N0,N1,N3,N4                             6
TS5M0,M1,M2,M5,N0,N4                            6
应用策略(1),任选项2,4和6具有在任何时隙期间发送的最小的数据块的最大的数量(即6个数据块)。应用策略(2),在这个示例的实施例中最佳的传送矩阵是任选项4,因为任选项4具有任何参考时隙的数据块加上附近的时隙的数据块的最小的总数(即16个数据块)。因此,对于这个实施例而言,最好是,数据文件N的发送序列应该偏移三个时隙。在一个示例的实施例中,为每个频道服务器104产生一个三维的传送矩阵。
当根据传送矩阵发送每个数据文件的数据块时,大量的预订客户机可以在一个随机的时间访问该数据文件,并且该数据文件的适当的数据块对每个预订客户机是及时地可用的。在上面提供的例子中,假定一个时隙的持续时间等于5秒,DOD***100根据最佳的传送矩阵(即偏移数据文件N的发送序列三个时隙)以下面方式发送数据文件M和N的数据块:
时间00:00:00M0 N0 N1 N3 N4
时间00:00:05M0 M1 M3 N0 N4
时间00:00:10M0 M2 N0 N1 N2 N5
时间00:00:15M0 M1 M3 M4 N0
时间00:00:20M0 M4 N0 N1 N3
时间00:00:25M0 M1 M2 M5 N0 N2
时间00:00:30M0 N0 N1 N3 N4
时间00:00:35M0 M1 M3 N0 N4
时间00:00:40M0 M2 N0 N1 N2 N5
时间00:00:45M0 M1 M3 M4 N0
时间00:00:50M0 M4 N0 N1 N3
时间00:00:55M0 M1 M2 M5 N0 N2
…………………………
如果在时间00:00:00,一个客户机A选择电影M,在客户机A的STB300接收、存储、播放和拒绝数据块如下:
时间00:00:00接收M0      播放M0,存储M0.
时间00:00:05接收M1,M3  播放M1,存储M0,M1,M3.
时间00:00:10接收M2      播放M2,存储M0,M1,M2 M3.
时间00:00:15接收M4      播放M3,存储M0,M1,M2,M3,M4.
时间00:00:20没有接收    播放M4,存储M0,M1,M2,M3,M4.
时间00:00:25接收M5      播放M5,存储M0,M1,M2,M3,M4,M5.
如果在时间00:00:10,客户机B选择电影M,在客户机B的STB 300接收、存储、播放和拒绝数据块如下:
时间00:00:10接收M0,M2      播放M0,存储M0,M2.
时间00:00:15接收M1,M3,M4  播放M1,存储M0,M1,M2,M3,M4.
时间00:00:20没有接收        播放M2,存储M0,M1,M2,M3,M4.
时间00:00:25接收M5          播放M3,存储M0,M1,M2,M3,M4.M5.
时间00:00:30没有接收        播放M4,存储M0,M1,M2,M3,M4,M5.
时间00:00:35没有接收        播放M5,存储M0,M1,M2,M3,M4,M5.
如果在时间00:00:15,客户机C选择电影N,在该客户机C的STB 300接收、存储、播放和拒绝数据块如下:
时间00:00:15接收N0      播放N0,存储N0.
时间00:00:20接收N1,N3  播放N1,存储N0,N1,N3.
时间00:00:25接收N2      播放N2.存储N0,N1,N2,N3.
时间00:00:30接收N4      播放N3,存储N0.N1,N2,N3,N4.
时间00:00:35没有接收      播放N4,存储N0,N1,N2,N3,N4.
时间00:00:40接收N5        播放N5,存储N0,N1,N2,N3,N4,N5.
如果在时间00:00:30,客户机D也选择电影N,在客户机D的STB 300接收、存储、播放和拒绝数据块如下:
时间00:00:30接收N0,N1,N3,N4播放N0,存储N0,N1,N3,N4.
时间00:00:35没有接收          播放N1,存储N0,N1,N3,N4.
时间00:00:40接收N2,N5        播放N2,存储N0,N1,N2,N3,N4,N5.
时间00:00:45没有接收          播放N3,存储N0,N1,N2,N3,N4,N5.
时间00:00:50没有接收          播放N4,存储N0,N1,N2,N3,N4,N5.
时间00:00:55没有接收          播放N5,存储N0,N1,N2,N3,N4,N5.
正如上面的例子中所示,客户机之任何组合可以在随机的时间独立地选择并开始播放由服务提供者提供的任何数据文件。
一般的操作
服务提供者可以预定在广播前发送许多数据文件(例如视频文件)给频道服务器。中央控制服务器102计算并且发送三维传送矩阵(ID、时隙和数据块发送次序)给频道服务器104。在广播期间,频道服务器104参考该三维传送矩阵以适当的次序发送适当的数据块。每个数据文件被分成数据块,以使大量的预订客户机可以独立地开始连续地和按顺序在随机的时间观看数据文件。数据文件的数据块长度取决于所选择的时隙的持续时间和数据文件的数据流的比特率。例如,在恒定的比特率MPEG数据流中,每个数据块具有固定的长度:
块长度(兆字节)=比特率(Mb/s)×TS(秒)/8          (1)
在一个示例的实施例中,调节数据块长度到频道服务器104的本机存储器208的下一个较高倍的存储器丛集长度。例如,如果根据上面的等式(1)计算的数据块长度是720K字节,则如果本机存储器208的丛集长度是64K字节,得到的数据块长度应该是768K字节。在这个实施例中,数据块应该进一步分成多个子块,每个子块具有与丛集长度相同的长度。在这个例子中,该数据块具有十二个64K字节的子块。
子块可以进一步分解为数据分组。每个数据分组包含一个分组标题和分组数据。分组数据长度取决于每个频道服务器的CPU传送数据到的物理层的最大传输单位(MTU)。在优选实施例中,分组标题和分组数据的总的长度应该小于MTU。但是,为了最大的效率,分组数据长度应该尽可能长。
在一个示例的实施例中,分组标题中的数据包含允许用户客户机的STB 300解码任何所接收数据及确定该数据分组是否属于所选择的数据文件的信息(例如协议特征标记,版本,ID或者分组类型信息)。分组标题也可能包含其它信息,诸如块/子块/分组数、分组长度、循环冗余校验(CRC)和子块中的偏移(offset)、以及/或者编码信息。
一旦频道服务器104收到了数据分组,它就被发送给QAM调制器206,在这里另一个标题加到该数据分组以产生QAM调制的中频(IF)输出信号。对于QAM调制器206的最大比特率输出取决于可用带宽。例如,对于具有6MHz带宽的QAM调制器206,最大的比特率是5.05(比特/码元)×6(MHz)=30.3兆位/秒。
QAM调制的中频信号被发送给上变频器106,以便被转换成适合于特定的信道的RF信号(例如用于有线电视频道80,559.250MHz和6MHz带宽)。例如,如果电缆网络具有高的带宽(或者比特率),每个信道可用于提供一个以上数据流,每个数据流占用一个虚拟的子信道。例如,使用QAM调制,三个MPEG1数据流可以适合6MHz频道。上变频器106的输出加到组合器/放大器108,它发送组合的信号给传输媒介110。
在一个示例的实施例中,用于发送“N”数据流的总的***带宽(BW)是BW=N×bw,在这里bw是每个数据流要求的带宽。例如,三个MPEG-1数据流可以同时由具有***带宽为30.3兆位/秒的一个DOCSIS有线信道发送,因为每个MPEG-1数据流占用9兆位/秒的***带宽。
通常,带宽被占用,而不管实际上访问该DOD业务的预订客户机的数量。因此,即使没有预订客户机正在使用DOD业务,带宽仍然被占用以保证该***的点播(on-demand)能力。
在一个示例的实施例中,通过预取每个数据文件的一些数据块,可以压缩总的***带宽(BW)。预取数据块在一个独立的专用信道被连续地发送。在一个实施例中,数据文件的预取数据块按顺序成组发送。通过发送预取数据块,压缩了用于传送剩余数据块所需要的总的***带宽(BW)。在确定了在独立的信道发送的预取数据块的所需数量之后,应该调节用于发送该剩余数据块的时间表,以使预取数据块不再与其它数据块一起发送。
例如,在上面的示例的时间表矩阵中,数据文件被分成六个数据块,如果第一数据块“b0”和第二数据块“b1”二者是预取数据块,则对于该剩余数据块(b2-b5),该时间表矩阵应该修改如下:
TS0[无]
TS1blk3
TS2blk2
TS3blk3,blk4
TS4blk4
TS5blk2,blk5
在上面的例子中,如果b0是唯一的预取数据块,则用于发送数据文件的剩余数据块(b1-b5)的总的带宽被压缩了37.5%[即,从总数为16个数据块减去6个数据块]。其次,如果数据块“b1”也是预取数据块,则用于发送该剩余数据块(b2-b5)的带宽又被压缩了12.5%。因此,用于预取b1的增加的带宽压缩没有预取b0大。因为当更多数据块被预取时,增加的带宽压缩减少,对于每个数据文件的最佳的预取数据块的数量可以根据期望的带宽压缩来确定。在一个示例的实施例中,通过预取数据文件的数据块x至Y所保存的带宽可以通过下面等式估计:n=(x+1)至(y+1)
另外,由于预取数据块的数量增加,预取延迟时间增加了。预取延迟时间的确定是根据每个数据文件的数据块的长度、每个数据文件的预取数据块数量、被发送的数据文件的数量、和在专用信道中所分配的预取带宽。在一个示例的实施例中,按顺序和连续地在专用信道中发送每个数据文件的所有的预取数据块,每个时隙一个数据块。本领域的技术人员可以认识到,随着预取数据块数量的增加,预取延迟时间更长了。因此,当确定每个数据文件的预取数据块的最佳的数量时,应该考虑可接受的预取延迟时间。
例如,如果数据文件M和N的数据块b0和b1是在专用信道中被预取的,这些预取数据块可以按以下方式发送:
M0 M1 N0 N1 M0 M1 N0 N1...
在一个示例的实施例中,假定一个给定的分配预取带宽为PRF_BW(Mb/s),预取延迟时间可以计算如下:预取延迟时间=[数据块长度(兆字节)*预取数据块数量*(要被发送的数据文件数量+1)*8]/PRF_BW(Mb/s)
在一个示例的实施例中,预取循环时间(PRF_TIME)是发送完整的一系列对被发送之所有数据文件的预取数据块所要求的时间,它可以被计算如下:预取循环时间=[数据块长度(兆字节)*预取数据块数量*(要被发送的数据文件数量)*8]/PRF_BW(Mb/s)。
在一个实施例中,为了减少预取延迟时间,新数据文件的预取数据块比老数据文件(例如在预定的时间量已经被连续地发送的数据文件)中的预取数据块被更频繁地发送。例如,如果M是一个老的数据文件而N是一个新的数据文件,按以下方式发送预取数据块:
N0 N1 N0 N1 M0 M1 N0 N1 N0 N1 M0 M1...
STB 300一旦被启动,就连续地接收和更新存储在STB 300的本机存储器308中的节目指南。在一个示例的实施例中,STB 300在电视屏幕上显示包括最新节目指南的数据文件信息。诸如视频文件信息的数据文件信息可以包括电影ID、电影名称、文字说明(以多种语言)、类别(例如动作片,儿童片)、分级(例如R级,PG13级)、电缆公司策略(例如价格、免费的预览的长度)、预订期间、电影海报和电影预览。在一个示例的实施例中,数据文件信息的发送是通过一个专用信道,比如为固件更新、广告节目以及/或者应急信息而保留的信道。在另一个示例的实施例中,在由其它数据流共享的物理信道中发送信息。在一个示例的实施例中,虽然STB 300不播放任何数据文件,STB 300调谐在专用信道并准备接收和更新尚未被接收的预取数据块。
在一个示例的实施例中,预览包括在数据文件的数据流中随机选择的数据块。因此,多次选择一个数据文件之预览的用户不太可能观看相同的预览。随机组成预览的优点在于,DOD***100不需要额外的带宽广播预定的预览节目。相反,在用户请求观看数据文件的预览之后,DOD***100随机选择该数据文件的正常数据流中的数据块。在一个优选实施例中,一些数据块不能变成任何预览的一部分。例如,如果数据文件提供电影,该电影之下半部的数据块不应该变成随机选择的预览的一部分。
预订客户机可以在电视屏幕上观看按类别排列的可用数据文件清单。当该客户机选择一个可用的数据文件时,STB 300控制它的硬件调谐到相应的物理频道以及/或者虚拟的子信道,以开始接收该数据文件的数据分组。STB 300检查每个数据分组标题,解码该数据分组中的数据和确定是否应该保留所接收的数据分组。如果STB 300确定一个数据分组不应该保留,则丢弃该数据分组。否则,该分组数据保存在本机存储器308中用于以后的检索或者暂时存储在缓冲存储器309中直到它被发送给解码器312为止。
为了避免频繁地读/写本机存储器308以改善运行效率,在一个示例的实施例中,只要可能,STB 300就使用“滑动窗口”预期技术锁定预期数据块在存储缓冲器309中。如果在预期窗口中的命中(hit)发生,数据块直接从存储缓冲器309中被传送到解码器312。如果预期没有出现,在该数据块从存储缓冲器309被传送至解码器312之前,从本机存储器308读数据块到存储缓冲器309。
在一个示例的实施例中,STB 300通过红外线(IR)遥控器之按键、红外线(IR)键盘或者包括按键的前面板按钮响应预订客户机的命令,以便暂停、慢动作播放、回放、放大和单步执行。在一个示例的实施例中,如果预订客户机在预定的时间期间不输入任何操作(例如滚动节目菜单或者选择类别或电影),则自动地播放预定的广告节目。当预订客户机提供一个操作(例如按遥控器上的一个按键)时,自动地停止预定的广告节目。在另一个示例的实施例中,STB 300可以在播放视频期间自动地***广告节目。服务提供者(例如电缆公司)可以建立价格策略,规定广告节目应该中断正在播放的视频的频繁程度。
在一个示例的实施例中,使用DOD***100的电缆公司可以根据广告节目中断的数量预置一个价格表。在一个实施例中,用于广告节目的数据块通过一个专用频道被连续地广播,该专用频道也广播节目指南、应急比特和任何固件更新。用户可以从这样的价格表中选择在价格和广告节目之间可接受的平衡。在一个示例的实施例中,DOD***100通过保持内部时钟实现用户的选择,它根据用户选择的价格方案、允许以预定的时间间隔自动***广告节目数据块。
如果在数据分组标题中发现应急信息比特,STB 300暂停任何数据接收操作并且控制它的硬件调谐在为接收数据文件信息而保留的频道,以获得和解码任何应急信息,并在输出屏幕上显示该信息。在一个示例的实施例中,当STB 300是空闲时,它被调谐到为接收数据文件信息而保留的频道并且始终准备立即接收和显示任何应急信息。
在一个实施例中,当STB 300看上去是空闲(例如,当用户不使用该***时)时,告警可能消失以便警告用户接通该输出设备观看应急信息。在另一个实施例中,STB 300能够识别对不同区域的应急信息。例如,对不相关区域的应急信息将不中断正在播放的数据文件或者触发警报。相反,在现有的***中,电缆公司必须人工中断广播以便发送应急信息。
前面的例子说明本发明的一些示例的实施例,本领域的技术人员从这些示例的实施例可以清楚地理解其它实施例、变化和修改。因此本发明并不限于在上面讨论的特定的实施例,而是由权利要求来定义。

Claims (7)

1.一种用于传送数据给客户机以便提供数据点播业务的方法,包括步骤:
(a)接收数据文件;
(b)指定一个时间间隔;
(c)根据所述时间间隔将所述数据文件解析为多个数据块;
(d)从所述多个数据块中选择一组预取数据块;
(e)在专用信道发送所述的一组预取数据块;
(f)在传输信道发送所述多个数据块的剩余数据块。
2.根据权利要求1的方法,其中,选择一组预取数据块的所述步骤包括步骤:
确定带宽压缩和预取延迟时间;和
根据所述带宽压缩和所述预取延迟时间选择所述预取数据块。
3.一种用于传送数据给客户机以便提供数据点播业务的方法,包括步骤:
(a)接收数据文件;
(b)指定一个时间间隔;
(c根据所述时间间隔将所述数据文件解析为多个数据块,使得在所述时间间隔期间每个数据块是可显示的;
(d)在传输信道发送所述多个数据块;
(e)接收预览的请求;
(f)从所述多个数据块中随机选择一组数据块以便组成所述预览;和
(g)产生所述预览的显示。
4、根据权利要求3的方法,还包括步骤:
在专用信道发送一组广告节目数据块;和
在预定的时间产生所述一组广告节目数据块的显示。
5、根据权利要求4的方法,其中,产生显示的所述步骤包括步骤:
接收用户根据广告节目显示的出现率的价格选择,其中所述价格选择与非广告节目显示无关;以及根据所述用户选择产生所述一组广告节目数据块的显示。
6、根据权利要求3的方法,还包括步骤:
检验所述数据文件的分组标题中的应急比特;和
当检验出所述应急比特时,产生应急信息的显示。
7、根据权利要求6的方法,还包括步骤:
确定所述应急信息是否用于一个相关的区域;和
如果所述应急信息是用于所述相关的区域,显示所述应急信息。
CNB018007570A 2000-05-31 2001-05-31 为广播***提供视频点播业务的方法 Expired - Fee Related CN1203671C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/584,832 US6557030B1 (en) 2000-05-31 2000-05-31 Systems and methods for providing video-on-demand services for broadcasting systems
US09/584,832 2000-05-31
US09/709,948 US6725267B1 (en) 2000-05-31 2000-11-10 Prefetched data in a digital broadcast system
US09/709,948 2000-11-10

Publications (2)

Publication Number Publication Date
CN1366642A CN1366642A (zh) 2002-08-28
CN1203671C true CN1203671C (zh) 2005-05-25

Family

ID=27079218

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018007570A Expired - Fee Related CN1203671C (zh) 2000-05-31 2001-05-31 为广播***提供视频点播业务的方法

Country Status (11)

Country Link
EP (1) EP1285348A4 (zh)
JP (1) JP5038574B2 (zh)
CN (1) CN1203671C (zh)
AU (1) AU2001266681A1 (zh)
BR (1) BR0111652A (zh)
CA (1) CA2406715A1 (zh)
HK (1) HK1049389B (zh)
IL (1) IL152761A0 (zh)
MX (1) MXPA02011840A (zh)
TW (1) TW571594B (zh)
WO (1) WO2001093062A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237683B (zh) * 2007-01-31 2011-03-09 展讯通信(上海)有限公司 Td-scdma终端同时接收电视信号与小区广播消息或寻呼指示消息的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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
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 財團法人工業技術研究院 服務管理方法與系統
KR20210041018A (ko) * 2018-07-31 2021-04-14 베스텔 일렉트로닉 사나이 베 티카레트 에이에스 데이터 분배를 위한 방법, 장치, 시스템 및 컴퓨터 프로그램

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
US5751336A (en) * 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
WO1997021308A1 (fr) * 1995-12-01 1997-06-12 Matsushita Electric Industrial Co., Ltd. Procede et appareil de traitement d'informations pour reseau de transfert de donnees
ATE206859T1 (de) * 1995-12-07 2001-10-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur kodierung, übertragung und dekodierung eines nicht-pcm- bitstromes zwischen einer vorrichtung mit digitaler vielseitiger platte und einer mehrkanal-wiedergabevorrichtung
US5831662A (en) * 1996-04-04 1998-11-03 Hughes Electronics Corporation Near on-demand digital information delivery system and method using signal fragmentation and sequencing to reduce average bandwidth and peak bandwidth variability
JP2001513278A (ja) * 1997-02-21 2001-08-28 エス.エム. ヘルツ,フレデリック 非対称アップリンク/ダウンリンク帯域幅を用いた放送データ分配システム
US6169767B1 (en) * 1997-03-10 2001-01-02 Sarnoff Corporation Universal network interface module
TW395142B (en) * 1997-05-15 2000-06-21 Matsushita Electric Ind 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
US6072808A (en) * 1997-12-23 2000-06-06 Intel Corporation Method of providing and retrieving a data segment
US6263019B1 (en) * 1998-10-09 2001-07-17 Matsushita Electric Industrial Co., Ltd. Variable rate MPEG-2 video syntax processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237683B (zh) * 2007-01-31 2011-03-09 展讯通信(上海)有限公司 Td-scdma终端同时接收电视信号与小区广播消息或寻呼指示消息的方法

Also Published As

Publication number Publication date
MXPA02011840A (es) 2003-12-11
HK1049389A1 (en) 2003-05-09
JP2004501558A (ja) 2004-01-15
TW571594B (en) 2004-01-11
EP1285348A4 (en) 2004-06-30
HK1049389B (zh) 2006-01-13
JP5038574B2 (ja) 2012-10-03
BR0111652A (pt) 2003-10-07
CN1366642A (zh) 2002-08-28
IL152761A0 (en) 2003-06-24
EP1285348A1 (en) 2003-02-26
AU2001266681A1 (en) 2001-12-11
CA2406715A1 (en) 2001-12-06
WO2001093062A1 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
CN1254971C (zh) 用以经由网络传送数据的方法
EP1389874B1 (en) Fast digital channel changing
CN1198454C (zh) 信息处理方法及设备、内容分配服务器及其方法
US7523482B2 (en) Seamless digital channel changing
US6463445B1 (en) Multimedia information retrieval system and method including format conversion system and method
CN1372666A (zh) 通用机顶盒结构和控制方法
CN1173570C (zh) 同时发送和再现多个编码视频流的交互式电视***和方法
CN1118767C (zh) 用于在显示屏幕上显示多个图像的方法和***以及使用该方法的服务器和远程监控***
CN1992890A (zh) 提供媒体节目的装置及方法
CN1488195A (zh) 分布式随选媒体代码转换***和方法
CN1386362A (zh) 通过网络传送媒体服务和应用的方法及***
CN101065963A (zh) 提供低延迟类vcr效果和节目改变的视频多路复用器***
CN1439224A (zh) 接收存储装置、发送装置、广播***、接收存储方法、发送方法、广播方法、程序以及媒体
CN1280443A (zh) 数据再生传输设备和数据再生传输方法
CN1203671C (zh) 为广播***提供视频点播业务的方法
CN1845595A (zh) 传输、提取并搜索节目信息的方法及搜索引擎、机顶盒
CN1214640C (zh) 广播设备和广播方法
CN1205783C (zh) 用于在网络中发送音频/视频数据的设备和方法
CN1393108A (zh) 减少空闲时间和恒定带宽的数据点播广播传送矩阵
CN1535536A (zh) 用以网络数据传输的***
CN1411279A (zh) 用于传输延迟访问客户通用数据点播服务的方法和***
CN1254107C (zh) 基于单向数字传输***的卡拉ok点播***及其实现方法
JP2000224255A (ja) データ送信装置およびデータ送信方法
CN1309255C (zh) 控制点播数据客户机访问
CN1339883A (zh) 信息通信***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050525

Termination date: 20120531