HK1050937B - Universal stb architectures and control methods - Google Patents
Universal stb architectures and control methods Download PDFInfo
- Publication number
- HK1050937B HK1050937B HK03102319.7A HK03102319A HK1050937B HK 1050937 B HK1050937 B HK 1050937B HK 03102319 A HK03102319 A HK 03102319A HK 1050937 B HK1050937 B HK 1050937B
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- top box
- channel
- universal
- user
- Prior art date
Links
Description
Technical Field
The present invention relates to Data On Demand (DOD) and data broadcasting techniques. In particular, the present invention relates to a universal set-top box (STB) operable to process non-customer specific digital data including on-demand data and methods for controlling the universal STB.
Background
A variety of mechanisms may be used to encode and transmit digital data. For example, the international standards organization (hereinafter referred to as ISO/IEC) has introduced a standard (MPEG-2) for encoding moving pictures and their associated audio. In view of the generality of this MPEG-2 and its relevance to the present invention, some preliminary explanation thereof is necessary.
The description of the ISO/IEC MPEG-2 standard is found in four documents. The document ISO/IEC13818-1 (system) specifies the system code. Which defines the structure of the multiplex for combining audio and video data and means representing the timing information required for playing back the synchronization sequence in real time. The file ISO/IEC13818-2 (video) specifies the encoded representation of the video data and the decoding process required for reconstructing the image. The file ISO/IEC13818-3 (audio) specifies an encoded representation of audio data and the decoding process required for reconstructing the audio data. Finally, the file ISO/IEC13818-4 (conformance) specifies steps for determining characteristics of the coded bitstream and for conformance of the side view to the requirements set forth by ISO/IEC files 13818-1, 13818-2 and 13818-3. These four documents (together referred to as the "MPEG-2 standard") are incorporated herein by reference.
In the field of digital broadcasting systems, a bit stream "transport stream" multiplexed according to the MPEG-2 standard is composed of Packetized Elementary Stream (PES) packets and packets including other necessary information. The Packetized Elementary Stream (PES) packet is a data structure for carrying elementary stream data. An "elementary stream" is a native term for one of (a) encoded video, (b) encoded audio, or (c) other encoded bitstreams that are carried in the order of PES packets with one stream ID (identification). The transport stream supports multiplexing of video and audio compressed streams from one program using a common time reference.
The prior art of fig. 1 shows compressed video data 106 of a video sequence 102 packed into a data stream of PES packets 108, which is then packed into a data stream of transport stream packets 112. In particular, the video sequence 102 includes various headers 104 and associated compressed video data 106. The video sequence 102 may be divided into segments of different lengths, each having an associated PES packet header 110 to form a PES packet stream 108. The PES packet stream 108 is then divided into segments, each of which provides a traffic header 114 to form a transport stream 112. Each transport stream packet of the transport stream 112 is 188 bytes in length.
One or more programs whose transport stream has one or more independent time references are combined into a single stream. The transport stream is useful in situations where the data storage and/or the transportation device is noisy. The rate of the transport stream, and the resultant Packetized Elementary Stream (PES), may be fixed or variable. The rate is defined by the value and location of the program clock reference area within the transport stream.
The PES packet, as defined in the MPEG-2 standard, includes a PES packet header, an eight-bit stream identification field, a 16-bit PES packet length field, an optional PES header and a payload or data portion 706, the header including a 24-bit start code prefix field. Each of these areas is described in the MPEG-2 standard.
The MPEG-2 standard emphasizes the encoding and transmission of video and audio data. In general, the MPEG-2 standard uses compression algorithms so that video and audio data can be stored and exchanged more efficiently.
Prior art fig. 2 is a block diagram of a digital broadcast system 200 including a digital broadcast server 202 and a set-top box 204 adapted to process digital broadcast data. Fig. 2 illustrates not only the components of the system, but also the process of encoding, transmitting (from digital broadcast server 202 to set-top box 204), and decoding video and audio data according to the MPEG-2 standard. It can be seen that in a typical prior art broadcast method, the MPEG-2 transport stream is used in a streaming manner.
In the digital broadcast server 202, the video data is provided to a video encoder 206 which encodes the video data according to the MPEG-2 standard (specified in the file ISO/IEC 13818-2). The video encoder 206 provides the encoded video 208 to a packetizer 201, and the packetizer 201 packetizes the encoded video 208. The packetized encoded video 212 provided by the packetizer 210 is then provided to a transport stream multiplexer 214.
Similarly, at the digital broadcast server 202, the audio data is provided to an audio encoder 214, which encodes the audio data according to the MPEG-2 standard (specified in the file ISO/IEC 13818-3). The audio encoder 214 provides encoded audio 218 to a packetizer 220, which packetizes the encoded audio 218. The packetized encoded audio 222 provided by the packetizer 220 is then provided to the transport stream multiplexer 214.
The transport stream multiplexer 214 multiplexes the encoded audio and video packets and transmits the resulting multiplexed stream to the set-top box 204 through the distribution infrastructure 224. The distribution infrastructure 224 may be, for example, a telephone network and/or a cable TV (CATV) system, using fiber optics and implementing an Asynchronous Transfer Mode (ATM) transmission protocol. At set top box 204, remote from distribution infrastructure 224, a transport stream demultiplexer 230 receives the multiplexed transport stream. Based on the packet identifier of a particular packet, the transport stream demultiplexer 230 separates the encoded audio and video packets and provides the video packets to a video decoder 232 via link 238 and to an audio decoder 236 via link 240.
The transport stream demultiplexer 230 also provides timing information to a clock control unit 236. A clock control unit 236 provides a timing output to the video decoder 232 and audio decoder 236 based on the timing information provided by the transport stream demultiplexer 230 (e.g., based on the value of the PRC domain). The video decoder 232 provides video data corresponding to the video data originally provided to the video encoder 206 and the audio decoder 236 provides audio data corresponding to the audio data originally provided to the audio encoder 216.
Fig. 3 is a block diagram illustrating simplified functionality of a prior art VOD system 300. At the center of the VOD system 300 is a video server 310 that routes digital movies residing in a movie storage system 312 to a distribution infrastructure 314. The distribution infrastructure 314 may be, for example, a telephone network and/or a cable TV (CATV) system, using fiber optics and implementing Asynchronous Transfer Mode (ATM) transmission protocols. The distribution infrastructure 314 delivers the movies to the various households based on the routing information provided by the video server 310.
VOD system 300 also includes a number of VODSTBs 304 adapted to process VOD from VOD system 300. Each STB304 receives and decodes the digital movie and converts it to a signal for display on a television or monitor. It will be appreciated that the prior art STB304 utilizes a streaming data structure very similar to the STB204 described above with reference to fig. 2. In addition, distribution infrastructure 314 includes a back channel through which viewers request and control the playback of the digital imagery. The back channel is typically a telephone line or the like separate from the main transmission medium or upstream in a bi-directional cable system. The back channel routes commands from the VOD STB304 back to the video server 310 through the distribution network 314. The main function of the video server 310 is to route the compressed digital video stream from its storage location to the on-demand viewer.
As can be seen from the above description, a typical client STB in a digital broadcast DOD system utilizes a hardwired streaming data type structure. This architecture works for prior art applications where the received digital data can be transmitted in a known time slot and sequence, such as digital broadcast, or a client specific VOD format, as the STB can be designed for a specific application. However, the hardwired structure of prior art STBs does not have the flexibility to access received data and perform more complex operations. In addition, the bandwidth used by a given client's VOD type system is proportional to the number of clients.
The typical model of the above digital broadcast and DOD systems is related to a term referred to as the "bidirectional client-server model. To point out the drawbacks inherent in this prior art, a typical hardware structure characteristic of the DOD system will be described below with reference to fig. 4. Also, a method for controlling the prior art DOD server and the prior art ODO client, respectively, will be described with reference to fig. 5.
Fig. 4 shows a general diagram of a DOD system 320 with a bi-directional client-server architecture of the prior art. The DOD system 322 includes a DOD server 322 bi-directionally coupled to a plurality of DOD clients 324 via a communication link 326. It will be appreciated that the VOD system 300 of fig. 3 is a particular embodiment of the DOD system 320.
Broadly, the operation of the DOD system 320 is associated with a client-server model as is well known below. In some manner, the client 324 is informed of the availability of the demand data, typically by transmission of an Electronic Program Guide (EPG) by the DOD server 322. Using the EPG as a reference, a requesting DOD client 324 requests specified data from the DOD server 322 over the communication link 326. The DOD server 322 interprets the customer request and then prepares the specified customer data in a format suitable for use by the customer.
Once the specified client data is prepared, the server 322 transmits the specified data to the requesting client 324. The requesting client 24 receives the request-specific client data in the read-write capable format over a particular allocated portion of the communication link 326. The requested specific data is provided to the end user in a format that is easy to be exposed by the DOD client. The client-server process will be described in detail below with reference to fig. 5-6.
In the client-server mode of fig. 4, the bandwidth available to the communication link 326 must be split into allocated portions 328, each allocated portion being dedicated to a particular user. Thus, the bandwidth required by this prior art DOD system is proportional to the number of clients served.
Although communication link 326 may be a truly bi-directional communication medium, this structure is not common. Typical implementations today instead tie existing infrastructure, such as fiber optic cables and telephone lines, together to achieve the desired two-way communication. For example, a fiber optic cable may be used to transmit specified customer data by the server, while an existing telephone line is used for transmission requested by the customer.
Turning now to prior art fig. 5, a DOD server method 340 according to prior art will be described. In a first step 342, the DOD server allocates available transmission bandwidth to the DOD client. This allocation is required when each DOD client of the prior art DOD system expects to receive data on demand from a given client, who is unable to process more data in a more complex format. Thus, a dedicated portion of bandwidth must be reserved for each active client.
With further reference to fig. 5, in a next step 344, the DOD server prepares and transmits the appropriate EPG to each client. It will be appreciated that different EPGs may be transmitted to different customers depending on the application level, available services, personalization settings, payment history, etc. In any case, at a next step 346, the DOD server receives a request for specified data from a particular client. Next, at step 348. The DOD server prepares the request-specific client data for transmission into a format suitable for the requesting client. This format is typically a streaming data format. Step 348 may include such operations as retrieving the specified client data from a persistent storage medium and preparing the appropriate channel server for data transfer.
Proceeding to step 350, the DOD server transmits the specified client data over the bandwidth allocated to the requesting client. In a loop step 352, the receive command step 346, prepare specified client data step 348 and transmit specified client data step 350 are repeated when a client request for specified data is received.
Turning next to FIG. 6, a client method 360 for retrieving on-demand data is now described. The DOD client will tune to the appropriate channel program at tuning step 362, receives the EPG transmitted by the DOD server at receiving step 364, provides the EPG information to the DOD user by the DOD client, and receives a request for specific data from the DOD user at step 368. Next, at step 370, the DOD client instructs the DOD server to provide the request-specific client data. In step 372, the DOD client tunes to the allocated bandwidth for obtaining the requested specified client data. Next, at step 374, the DOD client receives the client data specified for the request in read usage format over the allocated bandwidth and provides it to the DOD user.
As reflected above, prior art DOD systems are bandwidth and processing intensive, as the required bandwidth and processing power is proportional to the number of clients being served. Furthermore, the required data must be provided in a customer-specific manner, without any flexibility for complex data processing. The flexibility of prior art data processing is also limited by the hardwired client architecture. Furthermore, prior art VOD systems require a bi-directional communication link in order to operate, thus taxing and making existing infrastructure unsightly. None of the prior art digital data methods can provide a paradigm including both VOD and digital broadcasting in a single system.
It is therefore desirable to provide a DOD system operable over existing unidirectional communication links such that bandwidth and processing power are independent of customers. This customer independent system benefit is greater when used with a bi-directional link. It would also be desirable to provide a digital broadcast system that is capable of simultaneously providing digital broadcasts and requesting services to a large number of customers over virtually any transmission medium, without replacing the existing communication infrastructure. It is also desirable to provide the viewer with viewing options such as multiple broadcasts and virtual VCR (virtual communication contact) features such as pausing, recording and freezing the framed broadcast. It is also desirable to provide this functionality over a unidirectional communication link.
Disclosure of Invention
The present invention teaches methods and systems for providing all digital services, such as VOD, digital broadcast, and time shifting, from any broadcast medium. Including a universal digital data system, a universal STB, and various methods for handling these digital services and controlling the universal STB.
A first embodiment of the present invention teaches a universal STB capable of receiving and processing several digital services, such as VOD and digital broadcast. This embodiment teaches a universal STB with a very flexible architecture, capable of complex processing of the received data. The architecture includes a data bus, a first communication device adapted to be coupled to a digital broadcast communication medium, a memory, typically permanent and temporary memory, bidirectionally coupled to the data bus, a digital data decoder bidirectionally coupled to the data bus, and a Central Processing Unit (CPU) bidirectionally coupled to the data bus.
The CPU of the first embodiment of the present invention implements an STB control process for controlling the memory, the digital decoder, and the demodulator. The STB control process is operable to process digital data as received at the first communication device.
The STB control process can determine the characteristics of the data received on several channels, for example by means of information provided in an EPG. Moreover, the STB may also provide EPG data to the user, receive and execute instructions from the user of the universal STB. The STB control process is further operable to tune the STB to a first channel to select user-requested data, determine characteristics of the selected data, decode the selected data, decompress the selected data, reassemble the decoded data, store the selected data in memory, process the selected data in the correct manner and provide the processed data to an output device. In a preferred embodiment, the STB control process is operable to tune to two or more channels simultaneously and process data from two or more of the several channels simultaneously.
The CPU may also implement a user interface driver adapted to translate commands received from a user interface connected to the data bus. The user interface may be any suitable interface, such as a remote control, a keyboard or a separate computer system.
Another embodiment of the present invention teaches a universal digital data system that provides full digital service over several channels through a unidirectional communication link. The universal digital data system includes a broadcast medium, a universal broadcast system bi-directionally or uni-directionally coupled to the broadcast medium, and a universal STB uni-directionally coupled to the broadcast medium. The general broadcast system includes a digital broadcast circuit for a first digital broadcast channel, a data-on-demand circuit for a second channel, and a broadcast circuit operable to transmit EPG and other data over a broadcast medium on the first and second channels.
One aspect of the present invention teaches a computer-implemented method for controlling a universal STB. The method includes receiving digital data within a number of channels and an Electronic Program Guide (EPG) indicative of characteristics of the data transmitted in each of the number of channels, providing the EPG data to a user of the universal STB, receiving data processing instructions from the user of the universal STB, and executing the instructions from the user of the universal STB.
In a preferred embodiment of the present invention, the method is capable of selecting data from a first channel for display and data from a second channel for recording in response to instructions received from a user of the universal STB. To accomplish the above, the method includes tuning to a first channel and performing display processing on data selected from the first channel, and simultaneously tuning to a second channel and performing storage processing on data selected from the second channel.
Drawings
Fig. 1 shows a process of packetizing compressed video data, forming a packet stream, and transmitting the packet stream.
Prior art FIG. 2 is a block diagram of a system according to the MPEG-2 standard.
Prior art FIG. 3 is a block diagram illustrating simplified functionality of a VOD system.
Prior art FIG. 4 illustrates a DOD system attached to a prior art bi-directional client-server architecture.
Prior art FIG. 5 illustrates a DOD server method for providing DOD through a bi-directional client specific data transport mechanism.
Prior art FIG. 6 illustrates a DOD client method for receiving and processing specified client data via a bi-directional transport mechanism.
Fig. 7 is a block diagram illustrating a digital broadcasting server according to an embodiment of the present invention.
Fig. 8 is a block diagram illustrating a VOD server according to another embodiment of the present invention.
Fig. 9 is a block diagram of a universal digital data server according to another embodiment of the present invention.
Fig. 10 is a block diagram illustrating a channel server adapted to transmit VOD data according to an embodiment of the present invention.
Fig. 11 is a block diagram showing a hardware configuration of a universal STB according to another embodiment of the present invention.
Fig. 12 is a flow chart illustrating a computer-implemented method for controlling the universal broadcast system of the present invention.
FIG. 13 is a flow diagram of a computer-implemented method for offline preparing a channel server for transmission of non-customer-specific on-demand data.
Fig. 14 is a flow chart illustrating a computer implemented method for controlling a universal STB of the present invention.
Fig. 15 is a flowchart illustrating a computer-implemented general broadcasting method according to another embodiment of the present invention.
FIG. 16 is a flow diagram illustrating a computer-implemented method for preparing data offline for broadcasting non-specific client data.
Fig. 17 is a flow chart of a computer implemented method of receiving and processing digital data including non-customer specific on-demand data.
FIG. 18 is a flow diagram of a computer implemented method for generating a constant bandwidth scheduling matrix for delivery of non-customer specific on-demand data in accordance with yet another embodiment of the present invention.
Detailed Description
These embodiments are described in detail below with reference to the accompanying drawings, which form a part hereof. Which show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized, and that structural, logical, electrical, and other changes may be made without departing from the spirit and scope of the present invention.
The present invention teaches methods and systems for providing all digital services, such as VOD systems and digital broadcasts, and a universal set-top box (STB) capable of handling these different digital services. The universal set-top box of the present invention is capable of differentiating between different services based on information received in an electronic program guide, which is designed with a unique hardware structure including a large buffer.
In addition, the universal STB of the present invention is capable of processing non-client specific on-demand data and providing selected on-demand data to a user. The STB functionality enables DOD in a unidirectional communication framework without requiring as high bandwidth as DOD systems in the prior art. The present invention also provides viewing options such as multicasting, and virtual VCR time-shifting features including pausing, recording, maintaining fixed frames of the broadcast without being affected by the volatility and inferiority of the internet data stream broadcast. The plurality of digital services are provided over a unidirectional communication link. However, those skilled in the art will appreciate that all aspects of the present invention may be implemented within a two-way communication paradigm, the only difference being that further functionality may also be provided to digital broadcast and DOD users when a two-way communication link is available.
Discussion of a general broadcasting server starts with fig. 7, and fig. 7 illustrates a digital broadcasting server for providing a program suitable for digital broadcasting according to the present invention. Turning next to fig. 8, a VOD server according to another embodiment of the present invention is described. In fig. 9, a general broadcasting server for providing multi-channel digital broadcasting and VOD will be described. Referring next to fig. 10, a channel server suitable for VOD transmission is described.
Referring to fig. 7, a single channel section of a digital broadcasting server 400 includes several video sources 402, several MPEG encoders 404, a data merger 408, a channel server 410, an up-converter 412 and a combining amplifier 414. The video source 402 may provide analog video data (e.g., from a camera, VCR, TV program) or digital video data (e.g., MPEG file, MPEG transport stream). Each of the digital data decoders 404 is typically an MPEG encoder/converter hardware device. Those skilled in the art will appreciate that other coding standards may be used and that the coding can be implemented using software and firmware without using hardware.
The MPEG program stream output of the MPEG encoder 404 is provided to the data synthesizer means 408 for generating a combined data stream 416. The data synthesizer means 408 may take any suitable form. For example, if the output of the MPEG encoder 404 and the input of the channel server 410 are ethernet compatible, the data synthesizer device 408 may be an ethernet switch. Likewise, the data synthesizer apparatus 408 may be implemented in a computer system having a suitable interface.
The channel server 410 operates on the combined data stream 416 to produce an output 418 that includes packets having sub-blocks and blocks. In a preferred embodiment, the block number of the block will increase sequentially, eventually when the block number reaches a maximum value of 32-bit, 64-bit or more binary (i.e., 2)32-1、264-1 or 2n-1), return to zero. Each packet generated by channel server 410 will include a corresponding program ID. This program ID will enable the universal STB to later determine the characteristics of the received data packets, i.e. the digital broadcast data or the on-demand data.
In the preferred embodiment of the present invention, each data synthesizer device 408 and its associated channel server 410 are fabricated within a single device 406. Of course, these devices can also be made as stand-alone devices,
fig. 8 illustrates the structure of a VOD server 450 according to an embodiment of the present invention. The VOD server 450 includes a plurality of channel servers 411, a plurality of up-converters 412, each corresponding to a channel server 411, a combination amplifier 414, a central processing server 502, and a central storage 504, all of which are shown connected together by a data bus 506. As will be discussed shortly and as will be discussed further below with reference to fig. 12-13, the central processing server 502 controls the off-line operation of the channel server 411 and begins real-time transmission once the channel server 411 is ready. The central memory 504 typically stores data files in a digital format. Of course, any suitable mass permanent storage device may be used.
In an exemplary embodiment, any authorized computer connected to a network, such as the central processing server 502, may obtain the data files stored in the central storage 504 through a standard network interface (e.g., an Ethernet connection). The channel server 411 provides data files retrieved from the central storage 504 according to instructions from the central processing server 502. The retrieval of the digital data and the scheduling of the VOD's digital data transmission is done off-line to adequately prepare each channel server 411 for real-time data transmission. When each channel server 411 is ready to provide VOD, the central processing server 502 is notified, and at this time, the central processing server 502 can control the channel server 411 to start VOD transmission.
In a preferred embodiment, the central processing server 502 includes a graphical user interface (not shown) that allows the service provider to schedule data transfers through drag and drop operations. In addition, the central processing server 502 authenticates and controls the channel server to start and stop according to the delivery matrix. A system and method for providing a unidirectional DOD broadcast matrix is taught in the Khoi Hoang patent application entitled "system and method for providing video on demand services for broadcast systems, filed on 5/31/2000 and filed under application number 09/584,832, which is incorporated herein by reference. A further improvement of the 09/584,832 invention is a method for generating a constant bandwidth scheduling matrix, which is described below with reference to fig. 18.
Briefly, the central processing server 502 automatically selects a channel and computes a transfer matrix for transferring data files within the selected channel. The central processing server 502 provides additions, deletions, and updates to data file information (e.g., duration, category, rating, and/or short description) offline. In addition, the central processing server 502 controls the central storage 504 by updating the data files and databases stored therein.
Each channel server 411 is assigned a channel and is connected to an up-converter 412. The output of each channel server 411 is a Quadrature Amplitude Modulation (QAM) modulated Intermediate Frequency (IF) signal, the frequency of which is suitable for a corresponding up-converter 412. The QAM modulated IF signal is dependent on the standard used. The currently used standard in the united states is the Data Over Cable System Interface Specification (DOCSIS) standard, which requires an IF of approximately 43.75 MHz. A preferred channel server 411 is described in more detail below with reference to fig. 10.
The up-converter 412 converts the IF signal received from the channel server 104 into a radio frequency signal (RF signal). The RF signal includes a frequency and bandwidth that is related to the desired channel and the standard being used. For example, under the current standards for cable television channels 80 in the United states, the RF signal has a frequency of about 559.25MHz and a bandwidth of about 6 MHz.
The output of upconverter 412 is applied to combiner/amplifier 414. The combiner/amplifier 414 amplifies, conditions, and combines the received RF signals and outputs the signals to a transmission medium.
Fig. 9 shows a general broadcast server 500 according to a preferred embodiment of the present invention. The general broadcasting server 500 provides both on-demand data and digital data broadcasting in a single broadcasting server system. The universal broadcast server 500 includes a plurality of video sources 02, a plurality of MPEG encoders 404, a plurality of digital broadcasters 406, each of the plurality of digital broadcasters 406 having a data combiner 408 and channel server 410, a plurality of channel servers 411, a plurality of up-converters 412, a combining amplifier 414, a central processing server 502, a central storage 504, all coupled together by a data bus 506.
The central processing server 502 controls the data merger 408, the channel servers 410 and 411. Digital broadcasting is performed in real time by streaming program data, and at the same time, providing a VOD service includes offline preparation of a channel server. Thus, the general broadcasting server 500 provides all-digital services such as VOD and digital broadcasting.
Fig. 10 illustrates an exemplary channel server 411 according to an embodiment of the invention. The channel server 411 includes a CPU550, a QAM modulator 522, a local memory 554, and a network interface 556. The QAM demodulator 602 provides the overall operation of the channel server 411 by instructing the CPU550 to divide a data file into blocks (further into sub-blocks and data packets), select a data block for transmission in accordance with a transfer matrix provided by the central processing server 502 in the case of an on-demand data service, encode the selected data, compress the encoded data, and then transfer the compressed data to the QAM modulator 552.
QAM modulator 552 receives transmitted data via a bus (i.e., PCI (peripheral component interconnect), CPU local bus) or ethernet connection. In an exemplary embodiment, the QAM modulator 552 may comprise a downstream QAM modulator, upstream quadrature amplitude modulation/phase shift keying (QAM/QPSK) with a forward error detection decoder and/or upstream tuner. The output of the QAM modulator 552 is an IF signal that can be applied directly to an up-converter 412.
The network interface 556 couples the channel server 411 to other channel servers 411 and the central processing server 502 to execute timing and control instructions from the central processing server 502, report status back to such control server 502, receive data files from the central storage 504. Any data files retrieved from the central memory 504 may be stored in the local memory 554 of the channel server 411 before processing the data files according to instructions from the server controller 502. The channel server 411 may transmit one or more DOD data streams according to the bandwidth of a wired channel (e.g., 6, 6.5, or 8MHz), QAM modulation (e.g., QAM64 or QAM256), and the compression standard/bit rate of the DOD data stream (e.g., MPEG-1 or MPEG-2).
A plurality of digital programs may be broadcast in an analog channel according to the channel bandwidth, modulation scheme and desired program bit rate (MPEG). For example, in a 6MHz CATV channel to which QAM64 applies, the maximum output of the channel is 27 Mb/s. If the required bit rate is 14Mb/s, theoretically 6 digital programs can be transmitted on one analog channel. The actual number will be smaller because of the overhead of the protocol.
Fig. 11 illustrates a universal STB600 according to one embodiment of the present invention. The STB600 includes a QAM demodulator 602, a CPU604, a memory 608, a buffer memory 610, a decoder 612 with video and audio decoding capabilities, a graphics overlay module 614, a user interface 618, a communications link (ethernet, USB, firewire modem) 620 and a fast data bus 622 connecting these devices. The CPU604 controls the overall operation of the universal STB600 to select data in response to a client's request, decode the selected data, decompress the decoded data, recombine the decoded data, store the decoded data in the memory 608 or the buffer memory 610, and deliver the stored data to the decoder 612. In an exemplary embodiment, the memory 608 includes non-volatile memory, which may be mass storage (e.g., a hard drive), and the buffer memory 610 includes volatile memory, which may be cache memory.
In one embodiment, the QAM demodulator 602 includes transmitter and receiver modules, and one or more of the following: a proprietary encryption/decryption module, a forward error detection decoder/encoder, a modulator control, upstream and downstream processors, a CPU, and memory interface circuitry. The QAM demodulator 602 receives the modulated IF signal, samples and demodulates the signal to recover the data.
In an exemplary embodiment, when access is granted, the decoder 612 decodes at least one data block to convert the data block into an image that can be displayed on an output screen. The decoder 612 supports instructions from the requesting client such as play, stop, pause, step, back, forward, etc. The decoder 612 provides the decoded data to an output device 624 for use by a customer. The output device 624 may be any suitable device such as a television, a computer, any suitable display monitor, a VCR (video cassette recorder), or the like.
The graphics overlay module 614 enhances the quality of the displayed image by, for example, providing alpha compositing or picture-in-picture functionality. In an exemplary embodiment, the graphics overlay module 614 may be used for image acceleration during a game play mode, such as when a service provider provides a service requesting a game using a system according to the present invention.
The user interface 618 enables a user to control the STB600 and may be any suitable device, such as a remote control device, a keyboard, a smart card, a computer system, and so forth. Communication link 620 provides additional communication links. Which may be connected to another computer or may be used to enable two-way communication. The data bus 622 is preferably a commercially available "fast" data bus adapted to perform data communications in a real-time manner as required by the present invention. Examples of suitable applications are USB, firewire, etc.
In an exemplary embodiment, although data files are broadcast to all cable television users, only DOD users with compatible STBs 600 are able to decode and enjoy on-demand data services. In one embodiment, the permission to acquire the on-demand data file may be obtained through a smart card system in user interface 618. The smart card may be recharged in a local store or vending machine set up by the service provider. In another exemplary embodiment, a flat fee system may provide the applicant unlimited access to all available data files.
In a preferred embodiment, the on-demand data interaction feature allows the customer to select available data files at any time. The amount of time between the time the client presses the selection button and the time the selected data file begins to play is referred to as the response time. The response time may be shorter since more resources (e.g., bandwidth, server capacity) may be allocated to provide DOD services. In an exemplary embodiment, the response time may be determined based on an evaluation of the resource allocation and the required quality of service.
Referring to fig. 12, a computer-implemented method 650 for controlling the general broadcast system of fig. 11 is described. In an initial step 652, the method 650 teaches providing a first channel server adapted for transmission of digital broadcast data over a first channel. The first channel server may be connected to the data synthesizer apparatus described above with reference to fig. 7, or may be a separate apparatus.
In a next step 654, the method 650 teaches providing a second channel server adapted for transmitting digital broadcast data over a second channel. The second channel includes sufficient memory and processing power to be prepared offline for subsequent transmission of real-time data. Accordingly, at step 656, the method teaches preparing the second channel server for real-time transmission of on-demand data information prior to data broadcast. The information may be VOD information, video game information, or the like. One method suitable for preparing a channel server for on-demand data broadcasting will be described in detail below with reference to fig. 13.
At a next step 658, method 650 teaches preparing and transmitting an EPG that includes characteristics indicative of data transmitted in the first and second channels. In particular, the EPG will indicate that the first channel includes digital broadcast data and the second channel includes on-demand data. In a first step 660, the method 650 teaches combining and transmitting data from the first channel and the second channel.
It will be appreciated that the method 650 can be readily extended to provide several digital broadcast and data-on-demand channels, as well as other digital information. In addition, the EPG can provide a wide variety of information, such as program information, commercial information, etc., to the customers.
Referring to fig. 13, a computer-implemented method 656 for preparing a channel server for real-time transmission of on-demand data information will now be described. In a first step 670, the channel server receives and stores a delivery matrix that provides an order for delivering one or more data files in real time in a non-client specific manner. In a next step 672, the channel server retrieves the file indicated by the delivery matrix from the persistent storage media. Retrieval of the digital data and scheduling of transmission of the data file is performed off-line to adequately prepare each channel server for real-time data transmission. In a final step 674 the channel server stops such that the control server is ready to start transmission, and when the central control server can control the digital broadcast system to start DOD transmission.
Referring to fig. 14, a computer-implemented method 700 for controlling a universal Set Top Box (STB) in accordance with an embodiment of the present invention is described. In an initial step 700, method 700 teaches waiting for digital data comprising several channels and an Electronic Program Guide (EPG). The digital data may be received via a cable modem or other suitable communication device. The EPG passes information on the characteristics of data transmitted on each channel. The data in these channels may take any suitable form, such as digital broadcast information or on-demand data information.
In a next step 706, the method 700 teaches providing EPG data to a user of the universal STB. This step 706 enables the user to select desired content from several channels through an interface device. In step 708, the method 700 teaches receiving and executing instructions from a user of the universal STB. This may include tuning to data from multiple channels, such as commanding viewing of data from a first channel, recording data from a second channel, and performing data video functions such as fast forward, rewind, pause, etc.
Referring to fig. 15-17, the method of fig. 12-14 will be re-described in a more general manner below.
Referring first to fig. 15, a computer-implemented method universal broadcast method 630 for providing non-specific client data to DOD clients is described. The method 630 may provide a variety of digital broadcast data, on-demand data, such as VOD and games, standard cable television, and the like.
In a first step 632, the broadcast server prepares data for non-specified client DODs, digital data, and other data offline. In the particular case of DOD, this may include generating a broadcast matrix, organizing data files by blocks, etc., and preparing a DOD channel server for real-time broadcast. For a more detailed description, reference is made to the description below with reference to fig. 17-18, and to the two patent applications for flavivities described above with reference to fig. 12.
In step 634, the broadcast server prepares an EPG indicating the characteristics of the content available to the general client. The preferred EPG will include the type of data, e.g., digital broadcast or DOD, and an indication of the content, program time for the non-on-demand data. The broadcasting server broadcasts the prepared EPG to all clients and then broadcasts the non-specific client data to all clients in steps 636 and 638.
Turning to fig. 16, a DOD server method for offline preparation for non-specified provision of DOD, digital broadcast, and other data suitable for completing step 632 of fig. 15 will now be described. In a first step 640, the DOD server generates a delivery matrix for non-client specific DOD broadcasts of a number of data files. In both of the above referenced flaviviruses patent applications referenced in fig. 12, a detailed description of a preferred embodiment for generating a transfer matrix is provided. In a next step 642, the DOD server prepares all DOD servers for non-designated client DOD data broadcast. The above-described process will be described in detail below with reference to fig. 13. Once the channel server is ready, the DOD server is ready to broadcast digital data.
Referring to fig. 17, a computer-implemented method 750 for controlling a universal Set Top Box (STB) in accordance with an embodiment of the present invention is described. In a first step 752, the universal STB receives digital data including an EPG and non-customer specific on-demand data. The EPG indicates characteristics of the received digital data and the non-customer specific on-demand data includes at least one data file, such as a video program. In step 754, the EPG data is provided to the user of the universal STB. At step 756, the STB receives an instruction to perform a specific function using the at least one data file. Next, at step 758, the STB processes the non-client specific on-demand data to implement the requested functionality. In a final step 760, the STB completes the requested function for the user of the universal STB.
Referring to FIG. 18, a computer-implemented method 800 of generating a non-client specific scheduling matrix is described. In the yellows patent application 09/584,832, a method for generating a non-customer-specific scheduling matrix is described. Invention 09/584,832 teaches how to generate a scheduling matrix for transmitting data files arranged as data blocks and a sequential block broadcast that enables any client to access the data files in an on-demand data format at any time. The method 800 of fig. 18 illustrates how a constant bandwidth timing matrix is generated using the timing sequence taught by the invention 09/584,832.
In a first step 802 of method 800, a timing matrix is generated for a data file M represented by a fixed number of data blocks. The timing matrix provides an order in which certain data is transmitted during fixed time slots to provide non-customer specific on-demand data. In a next step 804, the timing matrix is reinterpreted as a timing sequence regardless of the transmission time slot. At step 806, a required constant bw utilization (K) is determined, where K is a constant for the data block to be transmitted in each transmission slot. In step 808, the next K data blocks are selected for transmission. The unhook timing sequence repeats the selection of K data blocks performed in loop step 808 to form a constant bandwidth timing matrix.
The above examples illustrate certain exemplary embodiments of this invention, from which other embodiments, variations and modifications of this invention will become apparent to those skilled in the art. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that it be defined by the claims that follow.
Claims (50)
1. A universal set-top box capable of receiving and processing a plurality of digital services, the universal set-top box comprising:
a data bus;
a first communication device (602) adapted for use with a digital broadcast communication medium, said first communication device operable to receive digital broadcast data;
a central processing unit bidirectionally connected to the data bus;
a memory bi-directionally coupled to the central processing unit;
a digital data decoder bidirectionally coupled to the data bus;
a user interface bidirectionally coupled to the data bus, receiving a user command,
wherein the central processing unit performs a set-top box control process that controls the memory, the digital data decoder, and the first communication device, the general purpose set-top box receives video on demand data from a broadcast data server through unidirectional transmission, and the set-top box control process is for processing digital data received at the first communication device based on the user instruction.
2. The universal set-top box according to claim 1, wherein the data bus is a high-speed data bus adapted to perform data communications in real time on demand for performing real-time processing of the digital data received at the first communication device.
3. The universal set-top box according to claim 1, wherein the data bus is a USB data bus.
4. The universal set-top box according to claim 1, wherein the data bus is a firewire data bus.
5. The universal set-top box as recited in claim 1, wherein the memory comprises a mass storage device.
6. The universal set-top box according to claim 5, wherein the mass storage device is a hard disk.
7. The universal set-top box according to claim 1, wherein the memory comprises a cache memory.
8. The universal set-top box according to claim 7, wherein the cache memory is a random access memory.
9. The universal set-top box according to claim 1, wherein the digital data decoder has video and audio decoding functions.
10. The universal set-top box according to claim 1, wherein the digital data decoder is an MPEG decoder.
11. The universal set-top box of claim 1 wherein the digital data decoder supports a plurality of digital data instructions including play, stop, pause, step, back and forward.
12. The universal set-top box according to claim 1, wherein the first communication device comprises a demodulator.
13. The universal set-top box according to claim 1, wherein the demodulator is a quadrature amplitude modulation demodulator.
14. The universal set-top box according to claim 1, wherein the first communication device is a cable modem.
15. The universal set-top box according to claim 1, wherein the central processing unit implements a user interface driver for interpreting instructions received from a user interface connected to the data bus.
16. The universal set-top box according to claim 15, wherein the user interface comprises a remote control device.
17. The universal set-top box according to claim 15, wherein the user interface comprises a keypad.
18. The universal set-top box according to claim 15, wherein the user interface comprises a computer system.
19. The universal set-top box of claim 1 wherein the set-top box control process is capable of determining characteristics of data received over a plurality of channels by providing information within an electronic program guide.
20. The universal set-top box of claim 19 wherein the set-top box control process is operable to simultaneously align two or more of the number of channels and simultaneously process data from two or more of the number of channels.
21. The universal set-top box of claim 20 wherein the set-top box control process is operable to provide electronic program guide data to a user of the universal set-top box.
22. The universal set-top box of claim 21 wherein the set-top box control process is operable to receive and complete instructions from the user of the universal set-top box.
23. The universal set-top box of claim 22 wherein the set-top box processing is operable to tune the set-top box to a first channel to select the data on demand by the user, determine characteristics of the selected data, decode the selected data, decompress the selected data, reassemble the decoded data, store the selected data to the memory, and provide the correctly processed selected data to an output device.
24. A universal set-top box capable of providing a user with data control for a plurality of digital services, receiving non-customer-specific video-on-demand data from a broadcast data server via unidirectional transmission, said universal set-top box comprising:
a high-speed bidirectional data bus adapted to perform real-time control and data processing;
a central processing unit connected to the high-speed bidirectional data bus, the central processing unit implementing set-top box control processing and a user interface driver;
a first communication device (602) bidirectionally coupled to said high speed bidirectional data bus, said first communication device being intended to receive digital broadcast data over a digital broadcast communication medium, said first communication device including a demodulator;
a permanent mass storage device bi-directionally coupled to said central processing unit;
a transient storage device bi-directionally coupled to the central processing unit;
an MPEG decoder bidirectionally coupled to said high speed bidirectional data bus, said MPEG decoder having video and audio capabilities;
a user interface bidirectionally connected to the high speed data bus for receiving a user request; and is
Wherein the set-top box control process is operable to control the first communication device, the permanent mass storage device, the transient storage device, the MPEG decoder, and the demodulator, the set-top box control process is operable to process digital data received at the first communication device, including determining characteristics of data received over a number of channels by information provided in an electronic program guide, the set-top box control process is further operable to tune the set-top box to a first channel to select data requested by the user, determine characteristics of the selected data, decode the selected data, decompress the selected data, reassemble the decoded data, store the selected data to the memory, and providing the properly processed selected data to an output device, the set-top box control process further operable to provide a variety of digital data instructions to the user.
25. A universal digital data system providing comprehensive digital services over unidirectional communication links over a number of channels, each of said channels providing one of VOD or digital broadcast, said universal digital data system comprising:
a broadcast medium;
a general broadcasting system unidirectionally connected to the broadcasting medium, the general broadcasting system comprising:
digital broadcast circuitry for a first channel of said universal digital data system, said first channel being a digital broadcast channel, said digital broadcast circuitry being operable to generate digital data on said first channel;
data on demand circuitry for a second channel of said universal digital data system, said second channel being a data on demand channel, said on demand data circuitry being operable to generate non-customer specific on demand data on said second channel;
a central processing server operable to control said digital broadcast circuitry and said on-demand data circuitry, said central processing server further operable to generate an electronic program guide including characteristics indicative of data transmitted over said first channel and said second channel; and
operable to transmit said electronic program guide and other data over said broadcast media on said first channel and said second channel; and
a general purpose set top box coupled to the broadcast media, the general purpose set top box operable to process digital data received over the first broadcast media, including determining characteristics of data received over a number of channels by providing information within an electronic program guide, the general purpose set top box further operable to tune the general purpose set top box to a particular channel to select data requested by the user, determine characteristics of the selected data, decode the selected data, decompress the selected data, reassemble the decoded data, store the selected data to the memory, and provide the properly processed selected data to an output device.
26. A universal digital data system as recited in claim 25, wherein said on-demand data circuit includes a corresponding channel server having a channel server central processing unit, local memory, modulator and network interface, wherein said central processing server is operable to select a particular data-on-demand channel and settle a delivery matrix for transmitting data files stored on the central storage device of said data-on-demand channel, providing for offline addition, deletion and updating of data file information on said control server.
27. The universal digital data system as recited in claim 25, wherein said universal set top box is further operable to provide a plurality of digital data instructions to said user.
28. The universal digital data system as recited in claim 25, wherein said set top box comprises:
a high-speed bi-directional data bus adapted to perform real-time control and data processing,
a first communication device (602) bidirectionally coupled to said high speed bidirectional data bus, said first communication device for receiving digital broadcast data over a digital broadcast communication medium, said first communication device comprising a demodulator;
a central processing unit bidirectionally connected to the high-speed bidirectional data bus;
a permanent mass storage device bi-directionally coupled to said central processing unit;
a transient storage device bi-directionally coupled to the central processing unit;
an MPEG decoder bi-directionally coupled to the high speed bi-directional data bus, the MPEG decoder having video and audio functionality.
29. A computer-implemented method for controlling a general purpose set top box, the method comprising the steps of:
receiving digital data comprising data within a number of channels and an electronic program guide indicating characteristics of the data transmitted within each of the number of channels;
providing the electronic program guide data to a user of the universal set-top box;
receiving data processing instructions from the user of the universal set top box; and is
Executing the instructions from the user of the universal set top box.
30. The computer implemented method of claim 29 wherein the step of receiving data processing instructions from the user of the general purpose set top box comprises receiving a request from the user of the general purpose set top box to provide the user of the general purpose set top box with data from a first channel present in the digital data.
31. The computer implemented method of claim 30 wherein the step of executing the instructions from the user of the general purpose set top box comprises the sub-steps of:
tuning said universal set-top box to said first channel to select data requested by said user;
processing the selected data on demand, the processing comprising determining characteristics of the selected data by means of the electronic program guide and at least one of:
decoding the selected data;
decompressing the selected data;
recombining the decoded data as needed; and
storing data from said first channel to a local memory residing within said universal set-top box; and
providing the processed data from the first channel to an output device selected by the user of the universal set top box.
32. The computer-implemented method of claim 31, wherein the output device is a television.
33. The computer-implemented method of claim 31, wherein the output device is a display monitor.
34. The computer-implemented method of claim 31, wherein the output device is a video recorder.
35. The computer-implemented method of claim 31, wherein the output device is a computer system.
36. The computer implemented method of claim 29, wherein said data processing instructions received from said user of said general purpose set top box include selecting data for display from a first channel and selecting data for recording from a second channel, said method further comprising the simultaneous steps of:
tuning to the first channel and processing data selected from the first channel for display; and
tuning to the second channel and processing for storage data selected from the second channel.
37. A computer-implemented general data broadcasting method, comprising the steps of:
in a general data broadcasting system, the following steps are performed:
providing a first channel server adapted to transmit digital broadcast data over a first channel;
providing a second channel server adapted to transmit digital broadcast data over a second channel;
preparing the second channel server for transmitting on-demand data information before data broadcasting;
transmitting an electronic program guide including information indicating that the first channel contains digital broadcast data, the electronic program guide further indicating that the second channel contains on-demand data; and is
Combining and transmitting data from the first and second channels; and is
Executing the following steps in a general set-top box:
receiving digital data comprising data in said first channel and said second channel, and said electronic program guide
Providing the electronic program guide data to a user of the universal set top box;
receiving a data processing instruction of the user from the universal set top box; and are
Executing the instructions from the user of the universal set top box.
38. The universal set-top box of claim 1 wherein the set-top box control process executes the following instructions:
processing an electronic program guide received through the first communication device, the electronic program guide indicating characteristics of a data broadcast through a general digital broadcast connected to the communication device;
providing an indication of the broadcast data to a user of the general purpose set top box;
receiving a request for desired data received by said universal set-top box, wherein said desired data is received in a non-customer specific on-demand data format, said format being specified by said electronic program guide;
processing said desired data received in a non-customer-specific on-demand data format; and
providing the desired data to the user of the universal set-top box.
39. The universal set-top box of claim 38 wherein the set-top box control process is operable by the universal broadcast server to simultaneously align two or more of the plurality of channels and simultaneously process data from two or more of the plurality of channels.
40. The universal set-top box of claim 38 wherein the set-top box control process is operable to tune the universal set-top box to a first channel to select data requested by the user, determine characteristics of the selected data, decode the selected data, decompress the selected data, reassemble the decoded data, store the selected data to the memory, and provide the properly processed selected data to an output device.
41. A computer-implemented method for controlling a general purpose set top box, the method comprising the steps of:
receiving digital data comprising on-demand data for a non-specified customer having at least one data file; and
processing said non-customer specific on-demand data to prepare said at least one data file for a user of said universal set-top box.
42. The computer-implemented method of claim 41, further comprising the steps of:
receiving an electronic program guide indicating characteristics of said digital data including on-demand data for said non-designated customer having at least one data file;
providing the electronic program guide data to the user of the universal set top box; and
receiving a request for the at least one data file by the user of the universal set top box.
43. The computer-implemented method of claim 41, wherein the on-demand data comprises request video data.
44. The computer-implemented method of claim 41, wherein the on-demand data comprises game data.
45. The computer-implemented method of claim 41 wherein the non-customer specific on-demand data comprises a plurality of data files and said processing the non-customer specific on-demand data comprises processing the non-customer specific on-demand data to provide at least two data files to the user.
46. The computer-implemented method of claim 45, wherein a first of the at least two data files is provided to the user in real-time.
47. The computer-implemented method of claim 45, wherein a first of the at least two data files is stored to a persistent storage device.
48. A computer-implemented method for controlling a general purpose set top box, the method comprising the steps of:
receiving an electronic program guide indicating characteristics of said digital data including on-demand data for said non-designated customer having at least one data file;
providing the electronic program guide data to the user of the universal set top box; and
receiving a request for the at least one data file by the user of the universal set top box; and
the non-customer-specific on-demand data is processed to provide at least two data files to the user.
49. A computer general data broadcasting method, comprising the steps of: a delivery matrix is prepared defining a data transfer sequence suitable for transferring on-demand data in a non-customer-specific form to a number of customers, whereby the size of the transmission bandwidth required for transferring said on-demand data file is independent of the number of said number of customers.
50. The computer-implemented universal data broadcasting method as claimed in claim 49, further comprising preparing an electronic program guide adapted to be broadcast to said plurality of clients.
Applications Claiming Priority (9)
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 | ||
US09/841,792 US20020023267A1 (en) | 2000-05-31 | 2001-04-24 | Universal digital broadcast system and methods |
US09/841,792 | 2001-04-24 | ||
US09/870,879 US20020026646A1 (en) | 2001-04-24 | 2001-05-30 | Universal STB architectures and control methods |
US09/870,879 | 2001-05-30 | ||
PCT/US2001/017993 WO2001093063A1 (en) | 2000-05-31 | 2001-05-31 | Universal stb architectures and control methods |
Publications (2)
Publication Number | Publication Date |
---|---|
HK1050937A1 HK1050937A1 (en) | 2003-07-11 |
HK1050937B true HK1050937B (en) | 2009-04-09 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020165943A1 (en) | Universal STB architectures and control methods | |
EP1285533A1 (en) | Universal digital broadcast system and methods | |
US7024678B2 (en) | Method and apparatus for producing demand real-time television | |
US20020026646A1 (en) | Universal STB architectures and control methods | |
US10230970B2 (en) | Decoded picture buffer size management | |
US20030115294A1 (en) | Selective access digital data broadcast system | |
US20040111746A1 (en) | IP to DVB subchannel mapping | |
US20020026501A1 (en) | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices | |
US9584803B2 (en) | Picture output management in video applications with fixed picture rate | |
CA2352143C (en) | Method and apparatus for producing demand real-time television | |
US9602817B2 (en) | Management of decoded picture buffer at picture format transitions | |
CN1322757C (en) | Universal digital broadcast system and methods | |
HK1050937A1 (en) | Universal stb architectures and control methods | |
HK1050937B (en) | Universal stb architectures and control methods | |
CA2428829A1 (en) | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices | |
JP2005506725A (en) | Method and system for transmitting client generic data-on-demand service with delayed access |