System and method for storing digital broadcast data

There is disclosed a data storage apparatus for downloading data from datacast streams transmitted by a television broadcast system to a plurality of similar data storage apparatuses. The data storage apparatus comprises: 1) a storage medium for storing selected portions of the transmitted datacast streams; and 2) a content filtering processor for receiving a first datacast stream transmitted by the television broadcast system and detecting therein a plurality of datacast blocks, wherein the content filtering processor compares a first content parameter associated with a first one of the datacast blocks with at least one subscriber-specific parameter associated with the data storage apparatus and wherein the content filtering processor, in response to a determination that the first content parameter matches the at least one subscriber-specific parameter, stores the first datacast block in the storage medium.

DETAILED DESCRIPTION OF THE INVENTION FIGS. 1 through 5 , discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any suitably arranged digital broadcast system and video playback device. FIG. 1 illustrates exemplary television broadcast system 100 according to one embodiment of the present invention. Television broadcast system 100 comprises local broadcast facility 110 , which receives one or more data streams from each of broadcast data sources 121 - 123 . Local broadcast facility 110 may receive these data streams from wireline communication links (including Internet connections) or from wireless communication links. For example, local broadcast facility 110 receives one or more data streams from broadcast data source 121 via wireline communication link 131 and receives one or more data streams from broadcast data source 122 via wireline communication link 132 . Broadcast data sources 121 - 123 may include any type of data that may be viewed by a user on a television or a personal computer. Thus, broadcast data sources 121 - 123 may include websites that provide political news, entertainment news, financial data, stock tickers, sport scores, and the like. Local broadcast facility 110 also comprises base transceiver stations 134 and 135 , which wirelessly transmit one or more data streams from broadcast data source 123 to local broadcast facility 110 . In an exemplary embodiment, broadcast data source 123 may transmit the data streams via communication line 133 to base transceiver station 134 , which is part of a local multipoint distribution system (LMDS) network. In an LMDS network, a microwave link is used to transmit the data stream from base transceiver station 134 to base transceiver station 135 . Local broadcast facility 110 transmits broadcast data, multicast data, and unicast data to subscriber locations 141 - 143 , which may include both private residences and business locations. If local broadcast facility 110 is part of a cable television system, local broadcast facility 110 may transmit broadcast data, multicast data, and unicast data to subscriber locations 141 and 142 via communication wireline 151 . Communication wireline 152 carries one or more outbound broadcast, multicast, and unicast data streams from local broadcast facility 110 to transmitter 153 , which wirelessly transmits the outbound data streams to subscriber location 143 . Each of the broadcast data, multicast data, and unicast data streams transmitted by local broadcast facility may be carried in, for example, a 6 MHz broadcast television channel. Local broadcast facility 110 transmits data of general interest to all subscribers in broadcast data streams that may be received and stored by the video playback devices used by all subscribers that receive wireless broadcasts or cable broadcasts from local broadcast-facility 110 . Local broadcast facility 110 transmits multicast data streams to selected subscribers who form multicast groups. The multicast data streams may be received and stored by the video playback devices of the multicast group subscribers. Special address or other identification data are embedded in each multicast data stream to allow the video playback devices to capture and store the correct multicast data streams. The video playback devices of subscribers who are not part of a particular multicast group ignore the corresponding multicast data stream. Finally, local broadcast facility 110 transmits unicast data streams to individual subscribers. Each subscriber has a unique address or other identification data that allows the subscriber's video playback device to capture and to store the correct unicast data stream. There are a number of ways in which a subscriber may inform local broadcast facility 110 of the particular data content that the subscriber wishes to receive in a unicast data stream. One particularly useful method is for the subscriber to access a website operated by local broadcast facility 110 for the specific purpose of receiving subscriber selection and preference information. The subscriber provides the web site with the subscriber's unique address or other identification data and enters a list of web pages, stock ticker streams, and the like that the subscriber wishes to receive. Local broadcast facility 110 comprises data retrieval controller 160 , memory 170 , transmission controller 175 , video program source 180 , radio frequency (RF) transmitter 185 , and cable television (TV) transmitter 190 . Memory 170 contains broadcast block (BB) queue 172 , multicast block (MB) queue 174 , and unicast block (UB) queue 176 . Broadcast block queue 172 holds a block of assembled web page and other data that is to be broadcast to all subscribers. Multicast block queue 174 holds blocks of assembled web page and other data that are to be multicast to groups of subscribers. Finally, unicast block queue 176 contains blocks of assembled web page and other data that are to be transmitted to individual subscribers. Transmission controller 180 directs the overall operation of local broadcast facility 110 . During ordinary operations, transmission controller 175 retrieves conventional video programs (i.e., newscasts, sportscasts, comedies, dramas) from video programs source 180 and transfers the video programs to RF transmitter 185 and/or cable TV transmitter 190 for subsequent wireless transmission or cable transmission to subscriber locations 141 - 143 . Transmission controller 180 also controls the transmission of datacasts during selected times of day, such as at night between 1:00 AM and 5:00 AM. Transmission controller 180 receives and stores user preference information and determines the sizes and the contents of broadcast block queue 172 , multicast block queue 174 , and unicast block queue 176 . Under the control of transmission controller 175 , data retrieval controller 160 periodically (e.g., hourly, daily, twice per day, and the like) retrieves data from broadcast data sources 121 - 123 and stores the data in appropriate ones of broadcast block queue 172 , multicast block queue 174 , and unicast block queue 176 . At the designated times (e.g., between 1:00 AM and 5:00 AM) transmission controller 175 terminates the transmission of conventional video programs in one or more of the 6 MHz television channels operated by local broadcast facility 110 . Transmission controller 175 then begins retrieving the blocks of data from broadcast block queue 172 , multicast block queue 174 , and unicast block queue 176 and transfers the blocks of data to RF transmitter 185 and/or cable TV transmitter 190 for subsequent wireless transmission or cable transmission to subscriber locations 141 - 143 . FIG. 2 illustrates exemplary video playback device 250 and television set 205 according to one embodiment of the present invention. Video playback device 250 receives incoming television signals from an external source, such as a cable television service provider (Cable Co.), a satellite dish, or a local RF antenna, and transmits a viewer-selected channel to television set 205 . In RECORD mode, video playback device 250 may demodulate an incoming radio frequency (RF) television signal to produce a baseband video signal that is recorded and stored on a storage medium within or connected to video playback device 250 . In PLAY mode, video playback device 250 reads a stored baseband video signal (i.e., program) selected by the user from the storage medium and transmits it to television set 205 . Video playback device 250 is a disk drive-based device, such as a ReplayTV recorder or a TiVO recorder. Video playback device 250 stores and retrieves the incoming television signals to and from a computer magnetic hard disk rather than a magnetic cassette tape. In still other embodiments, video playback device 250 may store and retrieve from a local read/write (R/W) digital versatile disk (DVD) or R/W CD-ROM. Thus, the local storage medium may be fixed (i.e., hard disk drive) or removable (i.e., DVD, CD-ROM). Video playback device 250 comprises infrared (IR) sensor 260 that receives commands (such as Channel Up, Channel Down, Volume Up, Volume Down, Record, Play, Fast Forward (FF), Reverse, and the like) from a remote control device operated by the subscriber. As will be explained in greater detail below, IR sensor 260 may also receive user commands from a keyboard and/or mouse operated by the subscriber that permits the subscriber to view web page data and other types of data that video playback device 250 captures from broadcast, multicast and unicast transmissions. Television set 205 is a conventional television comprising screen 210 , infrared (IR) sensor 215 , and one or more manual controls 220 (indicated by a dotted line). IR sensor 215 also receives commands (such as volume up, volume down, power ON/OFF) from a remote control device operated by the viewer. It should be noted that video playback device 250 is not limited to receiving a particular type of incoming television signal from a particular type of source. As noted above, the external source may be a cable TV connection, a conventional RF broadcast antenna, or a satellite dish. The incoming signal may be a digital signal, an analog signal, or Internet protocol (IP) packets. However, for the purposes of simplicity and clarity in explaining the principles of the present invention, the descriptions that follow shall generally be directed to an embodiment in which video playback device 250 receives incoming television signals (analog and/or digital) from a cable service provider. Nonetheless, those skilled in the art will understand that the principles of the present invention may readily be adapted for use with wireless broadcast television signals, local storage systems, an incoming stream of IP packets containing MPEG data, and the like. FIG. 3 illustrates exemplary datacast stream 300 , which of broadcast data, multicast data, and unicast data, according to one embodiment of the present invention. Local broadcast facility 110 may transmit datacast streams similar to exemplary datacast stream 300 in up to M channels, according to the number of subscribers in the coverage area of local broadcast facility 110 . Datacast stream 300 is transmitted in a single TV channel and may have a duration in the range of seconds to hours. Exemplary datacast stream 300 comprises a broadcast block (BB), three multicast blocks (MB 1 , MB 2 , and MB 3 ), and N unicast blocks (UB 1 , UB 2 , UB 3 , UB 4 , . . . , UBn). Broadcast data of general interest to all subscribers, such as web pages from eBay, Amazon, and Yahoo, are transmitted in the broadcast block. The broadcast block comprises a broadcast block (BB) header that contains a unique address of other identifier that identifies the broadcast block to the video playback devices used by subscribers. Data of interest to smaller numbers of subscribers are transmitted in MB 1 , MB 2 , and MB 3 . Each of MB 1 , MB 2 , and MB 3 comprises a multicast block (MB) header that contains a unique address or other identifier that identifies MB 1 , MB 2 , and MB 3 to the video playback devices used by subscribers. If a multicast block contains an address that matches the selection criteria used by a video playback device, the video playback captures and stores the multicast block. Otherwise, the video playback device ignores the multicast block. Multicast blocks may be tailored to any criteria. For example, MB 1 may comprise web page data associated with the World Series during the week preceding the World Series. MB 2 may comprise web page data associated with a particular ethnic group, such as a Spanish language newspaper articles. Data of interest only to individual subscribers are transmitted in UB 1 through UBn. Each of UB 1 though UBn comprises a unicast block (UB) header that contains a unique address or other identifier that identifies each unicast block to the video playback devices used by subscribers. If a unicast block contains an address that matches the unique address associated with the video playback device of a particular subscriber, the video playback captures and stores the unicast block. Otherwise, the video playback device ignores the unicast block. It is noted that the configuration and manner of transmission of exemplary datacast stream 300 may be modified in a number of ways. For example, there is no requirement that each datacast stream contain each type of data block. In one embodiment of the present invention, local broadcast facility 110 may transmit datacast streams containing only broadcast data blocks in a first set of TV channels, may transmit datacast streams containing only multicast data blocks in a second set of TV channels, and may transmit datacast streams containing only unicast data blocks in a third set of TV channels. Alternatively, spatial diversity may be used to conserve broadcast spectrum. For example, selected multicast blocks may be broadcast in some areas, but not in others. For example, if transmitter 153 broadcasts in a Spanish-speaking area, local broadcast facility may transmit primarily multicast blocks containing Spanish language web data from transmitter 153 . At the same time, different types of multicast blocks may be transmitted via cable system communication wireline 151 to subscriber locations 141 and 142 . FIG. 4 illustrates exemplary video playback device 250 in greater detail according to one embodiment of the present invention. Video playback device 250 comprises IR sensor 260 , video processor 410 , MPEG2 encoder 420 , hard disk drive 430 , MPEG2 decoder/NTSC encoder 440 , and video recorder (VR) controller 450 . Video playback device 250 further comprises video buffer 460 , content filtering processor 470 , and filtering algorithm 480 , which may be embodied as a memory that stores a filtering algorithm as a sequence of program instructions executed by content filtering processor 470 . VR controller 450 directs the overall operation of video playback device 250 , including View mode, Record mode, Play mode, Fast Forward (FF) mode, Reverse mode, among others. In View mode, VR controller 450 causes the incoming television signal from the cable service provider to be demodulated and processed by video processor 410 and transmitted to television set 205 , without storing or retrieving from hard disk drive 430 . Video processor 410 , which may be, for example, a TriMedia (TM) 1100 media processor, contains radio frequency (RF) front-end circuitry for receiving incoming television signals from the cable service provider, tuning to a user-selected channel, and converting the selected RF signal to a baseband television signal (e.g., super video signal) suitable for display on television set 205 . Video processor 410 also is capable of receiving a conventional NTSC signal from MPEG2 decoder/NTSC encoder 440 (after buffering in video buffer 460 ) during Play mode and transmitting a baseband television signal (e.g., super video signal) to television set 205 . In Record mode, VR controller 450 causes the incoming television signal to be stored on hard disk drive 430 . Under the control of VR controller 450 , MPEG2 encoder 420 receives the incoming television signal from the cable service provider and converts the received RF signal to MPEG format for storage on hard disk drive 430 . In Play mode, VR controller 450 directs hard disk drive 430 to stream the stored television signal (i.e., program) to MPEG2 decoder/NTSC encoder 440 , which converts the MPEG2 data from hard disk drive 430 to, for example, a super video (S-Video) signal that is buffered in video buffer 460 before video processor 410 transmits it to television set 405 . It should be noted that the choice of the MPEG2 standard for MPEG2 encoder 420 and MPEG2 decoder/NTSC encoder 440 is by way of illustration only. In alternate embodiments of the present invention, the MPEG encoder and decoder may comply with one or more of the MPEG-1, MPEG-2, MPEG-4, and MPEG-7 standards. For the purposes of this application and the claims that follow, hard disk drive 430 is defined to include any mass storage device that is both readable and writable, including conventional magnetic disk drives and optical disk drives for read/write digital versatile disks (DVD-RW), re-writable CD-ROMs, VCR tapes and the like. In fact, hard disk drive 430 need not be fixed in the conventional sense that is permanently embedded in video playback device 250 . Rather, hard disk drive 430 includes any mass storage device that is dedicated to video playback device 250 for the purpose of storing recorded video programs or downloaded broadcast data, multicast data, or unicast data. Thus, hard disk drive 430 may include an attached peripheral drive or removable disk drives (whether embedded or attached), such as a jukebox device that holds read/write DVDs or re-writable CD-ROMs. Furthermore, in an advantageous embodiment of the present invention, hard disk drive 430 may include external mass storage devices that video playback device 250 may access and control via a network connection (e.g., Internet protocol (IP) connection), including, for example, a disk drive in the subscriber's home personal computer (PC) or a disk drive on a server at the subscriber's Internet service provider (ISP). In accordance with the principles of the present invention, video playback device 250 also supports a Datacast mode in which broadcast data blocks, multicast data blocks, and unicast data blocks are monitored in a data cast stream, such as exemplary datacast stream 300 , and are selectively captured and stored in hard disk drive 430 for later viewing by the subscriber. In Datacast mode, VR controller 450 causes content filtering processor 470 to monitor the incoming television signal and to store selected portions of the broadcast blocks, multicast blocks, and unicast blocks in the incoming television signal on hard disk drive 430 . Under the control of VR controller 450 , content filtering processor 470 receives the incoming television signal on predetermined datacast channels from the cable service provider and identifies the broadcast blocks, multicast blocks, and unicast blocks therein. Content filtering processor 470 uses filtering algorithm 480 to decide what data to store from the broadcast blocks, multicast blocks, and unicast blocks. Filtering algorithm 480 uses a first pass filter to identify and capture the broadcast block, one or more multicast blocks that interest the subscriber, and the unicast blocks associated with the subscriber. Optionally, filtering algorithm 480 may then apply a second pass filter that analyzes the captured data from the broadcast block and identifies therein particular websites and subject matter of interest to the subscriber. Content filtering processor 470 may then store only data that passes the second pass filter in hard disk drive 430 . The rest of the broadcast block data is discarded. Similarly, filtering algorithm 480 may apply a third pass filter that analyzes the captured data from the one or more multicast blocks and identifies therein particular websites and subject matter of interest to the subscriber. Content filtering processor 470 may then store only data that passes the third pass filter in hard disk drive 430 . The rest of the multicast block data is discarded. VR controller 450 and content filtering processor 470 are capable of learning the preferences of the subscriber and deciding what content to retrieve from a datacast stream. Filtering algorithm 480 may be updated by content filtering processor 470 to include selection parameters that describe the types of data that interest the subscriber. The selection parameters can be set by the subscriber based on electronic programming guide (EPG) data that is received in a designated television channel. Alternatively, filtering algorithm may set the selection parameters according to the subscriber's history of data content viewing. Normally, there are EPG data tables inside the data broadcast stream that inform the video playback devices of the types of data included in the stream. When the data broadcast stream is received by video playback device 250 , content filtering processor 470 compares the EPG data to the preferences of the subscriber. If some types of data match the selection criteria of the subscriber, content filtering processor 470 captures the corresponding data and stores the captured data on hard disk drive 430 . According to the principles of the present invention, video playback device 250 also supports a Browse mode in which stored web page data and other data captured from broadcast blocks, multicast blocks, and unicast blocks are retrieved from hard disk drive 430 and displayed on TV 205 . In Browse mode, VR controller 450 may execute an embedded browser application that retrieves stored web page data from hard disk drive 430 and transfers it to video buffer 460 for subsequent transfer to video processor 410 . Video processor 410 then displays the web page data on television 205 . FIG. 5 depicts flow diagram 500 , which illustrate the operation of the exemplary video playback device according to one embodiment of the present invention. During Datacast mode, video playback device 250 monitors selected datacast television channels (process step 505 ). Video playback device 250 identifies broadcast blocks, multicast blocks, and unicast blocks, if any (process step 510 ). Video playback device 250 filters broadcast blocks and multicast blocks according to subscriber specific criteria and stores the filtered data (process step 515 ). Video playback device 250 captures and stores data from the unicast block having an address or other identifier matching the unique identifier for video playback device 250 (process step 520 ). Finally, in Browse mode, video playback device 250 retrieves the stored data in response to user commands and displays selected data on television 205 (process step 525 ). It should be understood that the exemplary video playback device described above is only one possible embodiment of the present invention. More generally, the present invention may be embodied as a stand-alone device that may be coupled to other devices, such as a personal computer. In such an embodiment, the television receiver portion and the MPEG encoding and decoding portions of video playback device 250 may be omitted. Although the present invention has been described in detail, those skilled in the art should understand that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the invention in its broadest form.