DIGITAL TELEVISION SYSTEM AND METHOD OF OBTAINING DATACAST INFORMATION TRANSMITTED BY A PLURALITY OF DIGITAL BROADCAST SIGNALS
RELATED UNITED STATES PATENT APPLICATION
The present application is a continuation-in-part of patent application Serial Number 09/216,668 filed on December 16, 1998, entitled "Intelligent Device Having Background Caching of Web Pages within a Digital Television System and Method of Same," Attorney Docket Number SONY-50M2577, by Mario Udo Brotz and David S. Wang and assigned to the assignee of the present application, which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
The present invention relates to the field of digital television (DTV) systems and digital broadcasting. More specifically, the present invention relates to the field of electronic program guides to digital television broadcasts. In one embodiment there is disclosed a background/off-line data fetching and processing for digital television.
RELATED ART
Cable television systems usually include a channel dedicated to displaying a listing of the television programs scheduled to be shown on each channel carried by the cable system. The scheduled programs are typically tabulated in a matrix format, with the channels indicated along one of the vertical sides of the matrix, the time slots indicated across the top of the matrix, and the scheduled television programs listed in the intersection of each channel  -2-
television screen so that a viewer will eventually see the entire listing of scheduled programs for all channels and time slots.
This prior art method for presenting program information is typified by GEMSTAR. The various television broadcasters (e.g., network broadcasters such as NBC, cable broadcasters such as ESPN, subscription broadcasters such as HBO, etc.) send their program information to GEMSTAR, which uses this information to build the matrix of scheduled programs. Cable system operators subscribe to GEMSTAR and display it on a dedicated channel. The program information is periodically updated by GEMSTAR so that the viewer will be provided with a current list of programs.
Thus, the prior art provides a method for a viewer to conveniently find in one place the entire listing of scheduled programs. However, the prior art is problematic because the viewer has no control over the order in which the information is presented, and oftentimes must stay tuned to the program channel for a protracted period of time until the desired time slot or channel is scrolled into view.
A more current prior art method addresses these disadvantages by utilizing electronic program guides (EPGs). In an EPG, the information is presented in a matrix format similar to that described above; however, the viewer uses a remote control device to scroll either horizontally or vertically through the EPG. Thus, the viewer is able to more quickly locate the scheduled program for the desired time slot and channel.  The EPG is stored in an intelligent controller device such as a set-top- box, which is connected in the viewer's home to both the television and the cable system. The set-top-box device acts as an intelligent controller for accessing and decoding cable programs from either terrestrial cable or a digital satellite system. In the recently proposed home audio/visual network systems, e.g., the HAVi and AV/C standards, the set-top-box also acts as an intelligent controller to control the activities and communications of other electronic devices that can be coupled to the network, like a digital television, a video cassette recorder (VCR), a compact disk (CD) unit, a tuner, a personal computer system, etc. In addition, the set-top-box introduces an enhanced ability to access and display information in digital form that was not before possible in the realm of the medium of television.
To have an effective program guide, it is necessary to maintain the program information as up-to-date as possible. It is also important for the program information to be readily and quickly accessible by the viewer. Thus, in the prior art, cable system operators utilize various methods to update the information stored in the set-top-box so that it is available to the viewer when needed.
In one prior art implementation, the set-top-box is configured to function interactively with the cable system. When the viewer scrolls to a particular channel or time slot in the program matrix, the set-top-box issues a request for the corresponding program information. The program information is received from the cable system's headend and displayed to the viewer on the television screen. Another prior art implementation uses this method but in addition provides program information to the set-top-box in advance of the viewer request, in order to avoid potential bottlenecks that can occur when a large number of viewers make concurrent requests (see Aristides et al., U.S. Pat. No. 5,657,072). A similar approach, albeit in a different field, is utilized by Stratigos et al., U.S. Pat. No. 5,724,574, to send data files in advance from a central work location to personnel located in remote work locations in order to more efficiently transfer those data files. In essence, these prior art techniques function by accumulating in a central location at least a portion of the information of interest and then forwarding a block of that information to the end user via a single line such as a phone line or a cable.
However, these and other prior art techniques fail to address the problem of providing complete program information to viewers when a plurality of broadcast signals are each independently sent directly to the viewers' homes, such as in digital television (DTV) broadcasting. In the realm of DTV, each broadcaster (e.g., NBC, ABC, Fox, etc.) encodes the program information for their channel in the digital broadcast signal, but each broadcaster only provides the program information corresponding to their channel. Thus, with DTV, the viewer receives a plurality of digital broadcast signals, each providing program information for one channel only. Consequently, the viewer does not have a single source that can be accessed to provide a complete listing for all scheduled programs. Instead, the viewer must manually access each digital broadcast signal individually in order to obtain the program information for the corresponding channel. Therefore, in this regard, DTV introduces a disadvantage by making it inconvenient for the viewer wishing to obtain up-to- date program information for all channels. The prior art is problematic because it does not allow a complete EPG for DTV broadcasts to be available to the viewer.  In Europe, a data transmission format called "Teletext" has been used which enables compatible television sets to receive a special video signal having encoded therein pages of text-based information that can be displayed to a viewer. The viewer can selectively view certain of the text-based pages from a keyboard console or remote device, which can include a cursor directing device (e.g., a mouse). The text-based pages are broadcast from the television broadcaster and, similar to the prior art discussed above, contain program information only for one channel. The Teletext format permits the program information for a single channel to be cached in a memory unit of some high- end television sets. However, this prior art method is problematic because it requires the viewer to be tuned to the channel of interest in order to obtain the program information for that channel. In addition, program information can be cached for only one station (the station being viewed), and this information is replaced by the program information for a new channel when the viewer changes the channel.
SUMMARY OF THE INVENTION
Accordingly, the present invention takes advantage of the enhanced ability of intelligent controller devices (e.g., a set-top-box) to access and display information. The present invention provides a digital system (e.g., a television system) capable of efficiently accessing and displaying to a viewer a complete and up-to-date electronic program guide (EPG) for a plurality of digital broadcast channels. In accordance with the present invention, the program information is readily and quickly accessible by the viewer. The present invention solves the problem associated with digital television (DTV) broadcasts; namely, that each digital broadcast signal only contains program information for a single channel. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein.
The present invention is a client-side intelligent controller device in a digital television system and method of same for obtaining datacast information (such as program information) transmitted by a plurality of digital broadcast signals. The intelligent device, in one embodiment, is a set-top-box, but could be any intelligent device or computer system.
In the present embodiment, a tuner coupled to the intelligent controller device automatically accesses (e.g., scans) a digital broadcast signal when the tuner is off-line (e.g., the tuner is not being used to receive a particular broadcast channel). The tuner receives from the digital broadcast signal datacast information containing the program information for the broadcast channel associated with the digital broadcast signal. These steps are repeated for each of the plurality of digital broadcast signals. The program information  -7-
from the plurality of digital broadcast signals is compiled and stored in a memory unit of the digital television system (e.g., in the intelligent controller device). The program information for a plurality of broadcast channels is thereby available to be displayed to a viewer of the digital television system.
In the present embodiment, the viewer designates a specific time or times when the tuner is expected to be off-line. At the designated time(s), the tuner automatically powers on and scans the digital broadcast signals. Once the datacast information is received from the plurality of broadcast signals, the tuner is automatically powered off. If the tuner is not available to scan the digital _ broadcast signals at the designated time(s) (for example, if the tuner is being used to receive a particular broadcast signal and thus is not free to scan other broadcast signals), the method of above is suspended and subsequently automatically restarted when the tuner is available.
In another embodiment, a second tuner is used to receive a particular digital broadcast signal for display to the viewer on the digital television system while the method of above is performed in the background.
Thus, program information for a plurality of broadcast channels is automatically retrieved, either off-line or in the background, from each of the plurality of digital broadcast signals and made available for display to a viewer. Accordingly, the viewer does not have to manually access each broadcast signal in order to compile program information for the plurality of broadcast channels, and a complete and up-to-date EPG is conveniently available to the viewer.  -8-
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a digital system (e.g., television system) in accordance with one embodiment of the present invention.
Figure 2 is a logical block diagram of an intelligent controller device in accordance with one embodiment of the present invention.
Figure 3 is a hardware and software data flow diagram of the logical components of the intelligent controller device of Figure 2.
Figure 4 is a flow chart of the process used by the intelligent controller device to retrieve program information in accordance with one embodiment of the present invention.
HFTAILED DESCRIPTION OF THE INVENTION
In the following detailed description of the present invention, an intelligent device within a digital television system for performing data fetchin and processing, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practice without these specific details or with equivalents thereof. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
NOTATION AND NOMENCLATURE Some portions of the detailed descriptions which follow are presented i terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within an intelligent electronic medi device. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is herein, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physica manipulations of physical quantities. Usually, though not necessarily, these physical manipulations take the form of electrical or magnetic signals capable being stored, transferred, combined, compared, and otherwise manipulated in consumer electronic media device. For reasons of convenience, and with reference to common usage, these signals are referred to as bits, values,  -10-
elements, symbols, characters, terms, numbers, or the like with reference to the present invention.
It should be borne in mind, however, that all of these terms are to be interpreted as referencing physical manipulations and quantities and are merely convenient labels and are to be interpreted further in view of terms commonly used in the art. Unless specifically stated otherwise as apparent from the following discussions, it is understood that throughout discussions of the present invention, discussions utilizing terms such as "processing" or "computing" or "generating" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a consumer electronic media device, or similar electronic computing device (e.g., dedicated or embedded computer system), that manipulates and transforms data. The data are represented as physical (electronic) quantities within the consumer electronic media device's registers and memories and is transformed into other data similarly represented as physical quantities within the consumer electronic media device memories or registers or other such information storage, transmission, or display screens.
Current and proposed technologies allow transmission of video information and other data over different types of transmission systems including cable and satellite systems, utilizing both analog and digital transmission formats. In addition, current and proposed technologies permit data transmission including video information over data networks such as the Internet and World Wide Web. Therefore, for the discussion herein, terms such as "display device" are not limited to any form or type of receiver nor to any type of distribution network or data format. A display device might include a familiar television receiving broadcast signals and channels via antennae, cable or satellite, as well as a digital television system or a personal computer. For the discussion herein, the display device will be described in the context of a digital television system including an intelligent controller device such as a set-top- box.
DIGITAL TV SYSTEM Figure 1 illustrates digital system 200 in accordance with one embodiment of the present invention. Digital system 200 (e.g., television system) includes digital television (TV) broadcaster 190 and client-side digital television (DTV) system 170. DTV system 170 is coupled to receive digital broadcast signal 150 from digital broadcaster 190. Within digital system 200, digital broadcast signal 150 can be delivered to DTV system 170 using a terrestrial line (e.g., cable TV) or it can be delivered via a wireless transmission mechanism (e.g., digital satellite system and the like). In accordance with the present invention, a number of different and well known digital broadcast signal formats can be used to deliver digital broadcast signal 150 to DTV system 170. In one implementation, each channel of digital broadcast signal 150 has a bandwidth of approximately 19.2 Megabits per second (2.5 Megabytes per second) in which audio/visual -and datacast information can reside. In another implementation, the American Television Standard Committee (ATSC) digital TV format is used. Several well known ATSC signal formats support datacast  -12-
information transmission. In other implementations, the Digital TV Applications Software Environment (DASE) signal format can be used.
In the present embodiment, the client-side DTV system 170 includes an intelligent controller device which is coupled to user input device(s) 106. User input device(s) 106 can be a number of different well known user input mechanisms including, for instance, a remote control, a physical keyboard, a mouse or other cursor directing device, a joystick, etc., and/or any combination of the above. In one implementation, the intelligent controller device is a set- top-box (e.g., DTV set-top-box 112) which is also coupled (via bus 124) to display device 105 (e.g., a television) for generating images and rendering sound. Optionally, separate speakers (not shown) can be used to generate the sound.
Figure 2 illustrates the components of DTV set-top-box 112 in more detail. It is appreciated that any consumer electronic device can be provided with the appropriate computer system hardware to act as the intelligent controller device and thereby provide a platform for the process of the present _ invention (e.g., process 400 of Figure 4). Another example of an intelligent controller device is a digital television or computer system having the required hardware resources as described below. Although a variety of different computer systems can be used as DTV set-top-box 1 12, an exemplary system is shown in Figure 2.  DTV set-top-box 1 12 of Figure 2 includes an internal address/data bus 100 for communicating digital information, one or more microprocessors 101 coupled with bus 100 for processing information and instructions, volatile memory 102 (e.g., random access memory, RAM) coupled with bus 100 for storing information and instructions for microprocessor 101 , and non-volatile memory 103 (e.g., read only memory, ROM) coupled with bus 100 for storing static information and instructions for microprocessor 101. DTV set-top-box 1 12 can also optionally include a data storage device (not shown), such as a magnetic or optical disk, and disk drive coupled with bus 100 for storing information and instructions.
Cache memory 102a resides within volatile memory 102. As discussed more fully below, in accordance with the present invention, program information is received by DTV set-top-box 112 via a plurality of digital broadcast signals 150 and stored in cache memory 102a, from which it is retrieved and compiled as an electronic program guide for the viewer.
DTV set-top-box 112 also includes video decoder 120 coupled to bus 100 and coupled to supply a digital video signal to, for example, digital display device 105 via bus 124. A number of well known video decoders can be used for video decoder 120. DTV set-top-box 112 also includes audio decoder 122 (e.g., a sound card) that is coupled to bus 100 and generates a digital audio signal over bus 126 (which can be coupled to external speakers). Any of a number of well known audio decoders can be used for audio decoder 122 of the present invention. Video decoder 120 processes video information from  -14-
bus 100, and audio decoder 122 processes digital audio information from bus 100.
In one embodiment of the present invention, two-dimensional rendering engine 118 is coupled to bus 100 and also to video decoder 120. Two- dimensional rendering engine 118 processes graphics information and supplies the output as an overlay to video decoder 120. In this way, graphics information can efficiently be overlaid with the other video information (including hypertext documents).
Digital broadcast signal 150 is received and processed by DTV set-top- box 112 via tuner 130. Optionally, a second tuner (not shown) can also be used to receive digital TV broadcast information. Tuner 130 is coupled to modulator 140 via bus 160, and modulator 140 is coupled to bus 100. Modulator 140 performs analog-to-digital conversion of the signals of bus 160 and also acts as a bus interface for bus 100. Modulator 140 and tuner 130 are well known. In an alternative embodiment, the second tuner (not shown) is also coupled to a second modulator (not shown) which in turn is coupled to bus 100. The second modulator also performs analog-to-digital conversion and acts as a bus interface for bus 100.
Under processor control from microprocessor 101 , digital audio/video information received from tuner 130 is directed over bus 100 to video decoder 120 and to audio decoder 122 for rendering on display device 105 via bus 124  -15-
and buses 126. It is appreciated that bus 124 and bus 126 can be merged into one single larger digital bus carrying both video and audio data signals.
RETRIEVAL AND MANAGEMENT OF PROGRAM INFORMATION FROM THE DIGITAL BROADCAST SIGNAL
With reference to Figure 1 , digital TV broadcaster 190 continuously broadcasts datacast information including program information within digital broadcast signal 150. Each digital TV broadcaster 190 broadcasts their own digital broadcast signal 150. Each digital broadcast signal 150 contains program information only for the channel corresponding to that signal.
The datacast information, specifically the program information, is broadcast at a high rate and thus it is completely transmitted in a relatively short period of time. The program information can therefore be frequently repeated in digital broadcast signal 150, typically about every 20 seconds, although it is understood that the present invention may be utilized for intervals of other than 20 seconds. Program information for more immediate programs (e.g., programs scheduled to be shown over the next three-hour period) are typically broadcast more frequently, perhaps every one-half second. Program information for the more distant time periods (e.g., for the days, weeks or even months ahead) are broadcast less frequently but typically still within the 20-second interval.
As such, it is not necessary to wait very long for the next cycle of program information to begin for a particular broadcast channel, nor does it take very long to receive and record the program information for that channel. Hence,  -16-
digital broadcast signal 150 may be accessed at any time during the day to receive the complete program information for a particular channel, and it is possible to receive program information for a plurality of channels in a relatively short total period of time by switching from one channel to the next.
Typically, program information is transmitted and received as packets of data, with a data packet representing a single program, although different data formats may be utilized in accordance with the present invention. Each data packet includes a variety of information about the program, such as the starting and ending times, the title, the names of the actors and actresses, and perhaps a summary of the program. Generally, each data packet is provided with an identifier that indicates the version (e.g., revision number) of the data packet. Thus, it is possible to determine which data packets have changed since the previous broadcast.
Figure 3 is a data flow diagram for DTV set-top-box 112 (e.g., datacast information including program information) including hardware and software components. The steps executed by DTV set-top-box 112 to retrieve program information and create the electronic program guide in accordance with the present invention are described below in conjunction with Figure 4.
With reference to Figure 3, tuner 130 receives datacast information including program information from digital broadcast signal 150. In accordance with the present invention, as will be seen by the discussion below, tuner 130 automatically accesses and receives program information from each digital  -17-
broadcast signal 150 corresponding to each broadcast channel. Tuner 130 first accesses one channel, receives the program information for that channel, then automatically accesses another channel until all channels (or a preferred subset thereof) are accessed. For example, a round-robin channel selection scheme may be used; however, it is appreciated that the channels do not need to be accessed in any particular order.
Modulator 140 receives analog information from tuner 130 and generates a digital signal which is received by demultiplexer 250. Demultiplexer 250 can be hardware or software implemented, and sorts out the audio, video and datacast portions of the digital signals received from modulator 140.
Digital video information is forwarded from demultiplexer 250 over data path 220a to video processor 260. Video processor 260 can be software implemented, or alternatively implemented in hardware, or it can be a combination of both. Video processor 260 includes video decoder 120 (Figure 2) capable of decoding encoded video signals in well known formats such as MPEG (Motion Picture Expert Group) and MPEG II.
As discussed above, video processor 260 interfaces with rendering engine 290 which can be a hardware unit (e.g., two-dimensional rendering engine 118 of Figure 2) or implemented as a software process as shown in Figure 3. Rendering engine 290 interfaces with both video processor 260 and with data processor 270 to overlay graphics information. Rendering engine 290  -18-
also directly interfaces with cache memory 102a. The digital video signals are output over bus 124.
Continuing with reference to Figure 3, demultiplexer 250 forwards digital audio signals over data path 220c to audio processor 280, which generates audio signals over bus 126.
Demultiplexer 250 also forwards digital datacast information over data path 220b to data processor 270. Data processor 270 also directly interfaces with cache memory 102a. Program information for each of the plurality of broadcast channels is stored and compiled in cache memory 102a. Program information is rendered by data processor 270 and shipped to rendering engine 290 for display over bus 124. Additional information regarding the electronic program guide for displaying program information is provided in the patent application entitled "System and Method for a Digital Television Electronic
Program Guide;" by Jesse Ellenbogen et al.; Serial Number 09/107,938; Filing Date of June 30, 1998; assigned to the assignee of the present invention, and hereby incorporated by reference.
Thus, a complete electronic program guide that includes program information for all channels and time slots is conveniently and readily available for display to viewer. In addition to the primary use of the program information as an electronic program guide, the program information provided in accordance with the present invention can be used in different ways. For example, a viewer could use keywords to search the program information for a  -19-
specific movie title or for a list of movies starring a particular actor or actress. In a similar manner, the viewer could bookmark favorite programs. In addition, the intelligent controller device (e.g., DTN set-top-box 112) could be used, for example, to keep track of programs that are frequently watched and preferentially store the associated program information in memory to facilitate access, in much the same way that frequently accessed Web pages are stored in a personal computer.
RETRIEVAL AND CACHING PROCESS FOR PROGRAM INFORMATION
Figure 4 illustrates process 400 for accessing and receiving datacast information, specifically program information, from a plurality of digital broadcast signals in accordance with the present invention. Process 400 can be implemented in one embodiment as software program instructions stored in a computer-readable memory unit and executed by a central processor in an intelligent controller device or computer system (e.g., non-volatile memory 103, microprocessor 101 , and DTV set-top-box 112 of Figure 2, respectively).
In the present embodiment comprising a single tuner (e.g., tuner 130 of Figure 2), prior to the initiation of process 400 the viewer designates a specific time or tι'me(s) when tuner 130 is not expected to be in use and will thus be offline. The method of designating a specific time is well known. If the viewer is watching a particular program on one channel, tuner 130 is dedicated to that channel (and associated digital broadcast signal 150) and hence is not available for executing process 400.  -20-
ln an alternative embodiment, the intelligent controller device is equipped with a second tuner. In the alternative embodiment, one tuner is used to execute process 400 as a background function (that is, invisible to the viewer), and the second tuner is used to receive the particular digital broadcast signal of interest and display the associated program to the viewer. Thus, the present invention may be used in different embodiments to receive program information either when tuner 130 is off-line or as a background function.
In step 405 of Figure 4, process 400 is initiated when the time designated by the viewer occurs.
In step 407, in the present embodiment comprising a single tuner, it is determined whether or not tuner 130 is actually in use at the designated time. If so, process 400 is suspended (step 408) until tuner 130 is no longer in use. In the alternate embodiment employing a second tuner, step 408 is not expected to be needed because one tuner allows the viewer to watch one channel while the second tuner is available to independently execute process 400.
In step 410, when tuner 130 is available, in accordance with the present invention tuner 130 is automatically powered on. Tuner 130 is set to receive digital broadcast signal 150 corresponding to a first broadcast channel. As described previously, included in digital broadcast signal 150 is datacast information including the program information for that channel.  -21 -
In step 415 of Figure 4, tuner 130 automatically receives the datacast information from digital broadcast signal 150, including the program information for that channel. As described above, a number of well known digital broadcast signal formats can be used to deliver the datacast information to tuner 130. In the background, concurrent with subsequent data retrieval for other channels, the datacast information that has been received is processed as described above in conjunction with Figure 3.
In step 420, in the present embodiment, should process 400 be interrupted at some time before it is through executing because, for example, the viewer wishes to use tuner 130 to receive a particular broadcast channel, the process is suspended (step 408) and then restarted when tuner 130 becomes available. In the alternative embodiment that includes a second tuner, step 420 is not expected to occur because one tuner is used by the viewer to watch one channel while the second tuner is being used to independently execute process 400.
In step 425, it is determined whether al! broadcast channels have been accessed. If not, then the channel on tuner 130 is automatically changed to a digital broadcast signal 150 that has not yet been accessed, and steps 410 through 425 are repeated until- all channels have been accessed. Thus, in accordance with the present invention, a plurality of channels are automatically accessed in order to obtain program information for each channel.  -22-
In step 430 of Figure 4, tuner 130 is automatically powered off until the next time designated for retrieving program information is reached. At that time, steps 405 through 430 are repeated. For example, the viewer could designate a single time each day for process 400 to execute. Then, each day at that time, process 400 would automatically execute.
In step 435, program information (as well as any other datacast information of interest) is stored in cache memory 102a (Figure 2). As described above, the program information is compiled and processed for display to the viewer as an electronic program guide. The management of the program information is performed as a background task, and either can be performed while the program information is being received from digital broadcast signal 150 or afterwards. As such, it is not necessary that tuner 130 be available in order to complete step 435.
Thus, the present invention provides an automatic system (e.g., intelligent controller device such as set-top-box 112) and method (e.g., process 400) by which complete and up-to-date program information is automatically obtained for a plurality of digital broadcast channels in the realm of digital TV. The program information obtained in accordance with the present invention is then used to automatically create a complete and convenient electronic program guide for the viewer. The program information is readily and quickly accessible by the viewer using the present invention intelligent controller device (e.g., set-top-box 1 12). In accordance with the present invention, the viewer  -23-
does not have to manually access each broadcast signal in order to compile program information for the plurality of DTV broadcast channels.
The preferred embodiment of the present invention, background/off-line data fetching and processing for digital television, is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.