WO1998026594A1 - Television system with scrambling detection capability - Google Patents

Television system with scrambling detection capability Download PDF

Info

Publication number
WO1998026594A1
WO1998026594A1 PCT/US1997/022829 US9722829W WO9826594A1 WO 1998026594 A1 WO1998026594 A1 WO 1998026594A1 US 9722829 W US9722829 W US 9722829W WO 9826594 A1 WO9826594 A1 WO 9826594A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
guide
show
unscrambled
television schedule
Prior art date
Application number
PCT/US1997/022829
Other languages
French (fr)
Inventor
Jonathan B. Orlick
Original Assignee
Starsight Telecast, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Starsight Telecast, Inc. filed Critical Starsight Telecast, Inc.
Priority to AU53809/98A priority Critical patent/AU5380998A/en
Publication of WO1998026594A1 publication Critical patent/WO1998026594A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing

Definitions

  • the present invention relates to a system for providing television schedule information, and more particularly to a television schedule information guide with capability for detecting whether a program signal is scrambled or unscrambled.
  • the viewer may, however, only select broadcast television programs if the viewer does not subscribe to cable or direct satellite services. This is because cable and direct satellite services scramble their signals thereby allowing only a selected group of people who have pre-arranged de-scrambling capability to receive their signals. Occasionally, the cable or direct satellite service provider may unscramble their signals for a particular time period to allow all viewers in a given area to have access to the signals. For example, HBO may have a free movie night for subscribers and non-subscribers of HBO in Fremont, California. In this manner, HBO could show potential subscribers in Fremont, California, a flavor of the programming it has available, and may attract some of the non-subscribers in Fremont to sign up with its service.
  • a viewer will also benefit from such promotions, as the viewer is given a free trial of the subscription.
  • a television schedule system that has the capability to detect that a program is unscrambled, and in turn notify the user that such program is available for selection would be desirable.
  • the present invention is directed to a television schedule information system, and more particularly to a system with the capability for detecting whether a program signal is scrambled or unscrambled.
  • the schedule system monitors program signals from cable or direct satellite providers to determine whether these program signals are scrambled or unscrambled. If the system detects that a program signal is unscrambled, the system will display the program title on the schedule guide. A viewer may then select the program title to tune to the program, schedule an autotune to the program when the program comes on, record the program, or schedule a recording of the program when the program comes on.
  • the cable and direct satellite service providers supply the television schedule system operator with information regarding when program signals will be unscrambled. Based on the information provided by the service providers, the system will display the program title on the schedule guide at the designated times. During such times, the viewer may also tune to or record the program from the guide. In addition, the user may also schedule an autotune to the program, or schedule a recording of the program when the program comes on.
  • Fig. 1A illustrates a preferred embodiment of a system on which a program schedule guide according to the present invention may be displayed
  • Fig. IB illustrates another representation of the TV system
  • Fig. 1C is a block diagram of an embodiment of the electronic hardware unit utilized to perform the electronic on-screen schedule display and other functions;
  • Fig. ID is a chart that illustrates the hierarchical structure of an embodiment of a database built by the database engine
  • Fig. IE illustrates an exemplary channel data table
  • Fig. IF illustrates an exemplary show list table
  • Fig. 1G illustrates exemplary show title entries
  • Fig. 1H illustrates exemplary show description entries
  • Fig. II illustrates an exemplary theme category table
  • Fig. 1J illustrates an exemplary theme sub category table
  • Fig. IK illustrates a transmission scheme of a satellite that has several transponders simultaneously transmitting on different bands
  • Figure 2 illustrates how an unscrambled program may be displayed on the guide in a distinguished manner so as to better catch the viewer's attention.
  • Fig. 1A illustrates a preferred embodiment of television/computer system 100 that displays a program schedule guide according to the present invention.
  • system 100 includes a distribution center 110 and multiple receiving locations.
  • Distribution center 110 compiles data for a data-stream. In a preferred embodiment, this data-stream is broadcast to receiving locations 116, 118, 120, and 122.
  • satellite 115 may broadcast this data-stream within the vertical blanking interval (VBI) of a television channel (e.g. , PBS) or a dedicated channel to receiving locations 116, 118, 120, and 122.
  • VBI vertical blanking interval
  • the data may also be broadcast out of band, i.e.
  • the data- stream is provided to receiving locations 116, 118, 120, and 122 via transmission system 113.
  • Transmission system 113 may be, for example, optical fiber, coax cable, telephone line, over the air television broadcast, or the like.
  • peripheral devices which are located within the receiving locations, receive the data-stream from, for example, a local service provider 140.
  • Service provider 140 receives the data-stream from distribution center 110 via line 117, and broadcasts the data-stream to the receiving peripheral devices via satellite 115 (or another satellite), or via lines 119 and 113.
  • the receiving peripheral devices may be televisions 130, televisions 134, VCRs 132, VCRs 136, and/or cable, satellite IRD, web-browser or set-top boxes 138.
  • Information in the data-stream may include television schedule information.
  • Software applications located within the peripheral devices utilize the schedule information provided in the data-stream to generate a schedule guide.
  • the software applications also determine whether a program signal is scrambled. If the program signal is scrambled, the system may advise the user of such status. Preferably, the system will only advise the user if a previously scrambled program signal is unscrambled by featuring the program prominently on the guide.
  • the electronic program guide of the present invention may be implemented either on a personal computer, a PCTV, a television connected to a set-top box, or a television including a custom board.
  • the invention is not limited to any particular hardware configuration and will have increased utility as new combinations of computers and television systems are developed. In the following, any of the above will be referred to as a "TV system".
  • a block diagram of a representative TV system is depicted in Fig. IB. Details of implementation are not depicted because the invention is not limited to any particular TV system.
  • the picture to be displayed on a TV may be transmitted as an analog signal, for example according to the NTSC standard utilized in the United States, or as a digital signal modulated onto an analog carrier.
  • the signals may be received over a cable 30, or via an antenna 32 or satellite dish 34.
  • television sets are designed to receive analog signals and computer display devices are designed to display pictures encoded in a digital format.
  • decoder system 36A can convert the digital data to an analog signal for display on a television set
  • TV modem 36B can format analog TV signals for display on a PC monitor.
  • analog or digital TV signals received via cable, antenna, or satellite dish, are provided to either a television 38 or to a PC (not shown).
  • a decoder converts the signal to baseband video and audio or channel 3/4 RF. If the signal is an analog signal, it is passed through as a live video output. The television, depending on its configuration, receives selected ones of the outputs and displays the received program.
  • the TV is a PCTV 40, it typically includes a TV card 42, connected to either live video, baseband video, or channel 3/4 output.
  • TV card 42 digitizes the video image and displays the video image in a resizeable window on the computer monitor.
  • PCTV 40 may also be coupled to land telephone lines by a modem 44.
  • the received signal is an analog TV signal
  • the TV card of the PCTV digitizes the analog signal and extracts included information from the vertical blanking intervals.
  • the signal is a digital signal, separate audio, video, VBI (information such as closed caption, teletext, and program related information), program guide, and conditional access information are provided as separate bit-streams.
  • the video and audio bit-streams for programs are converted to a format for display and the program guide information is processed to form the program guide database.
  • the processor executing software stored in memory, generates interactive electronic program guide images, as well as images of received programs.
  • the guide can be used to interact with and control programs displayed in the window.
  • a television system configured to display an electronic program guide such as a guide provided by StarSight telecast includes an on-screen display controller and other hardware described below. If a standard analog broadcast signal is received, program guide data is extracted from the VBI by a VBI data slicer and processed to form a program database. If a DBS digital signal is received, either from a satellite or cable, VBI and program data are provided in separate bit streams.
  • the program guide images are either generated locally or remotely and provided to an on screen display controller. Interactivity is provided via a remote control unit.
  • the program guide can be displayed on a computer monitor that interactively controls the television set through, for example, an IR interface including an IR blaster to generate IR codes to control the television and/or a VCR.
  • the system for creating the electronic programming guide must receive television schedule information and process the received information to create a database.
  • the system requires, a data reception unit, a processor, memory to store program code and a database, an on-screen display generator (OSD), and a control interface for tuning to selected channels.
  • the schedule information is transmitted as a set of short commands of specified formats. Different commands communicate information such as a show schedule for a given channel, the title of each show in the schedule, descriptions and information attributes about each show in the channel.
  • ID numbers in the commands facilitate organizing the information into a relational database utilizing database engine (DBE) software stored in memory and executed by the processor.
  • DBE database engine
  • a board is included at a viewer's television set and the database is stored locally and commands are transmitted in the VBIs of programming on a designated channel, for example PBS.
  • a board for receiving program guide information, generating a program guide database, displaying the program guide, and interactively controlling the program guide is depicted in Fig. lC.
  • the commands are transmitted to the board in the vertical blanking intervals of programming broadcast on a designated channel. Alternatively, the commands could be transmitted to the local unit over land telephone lines.
  • the database is built remotely and the guide itself is transmitted to the local unit.
  • the DBE builds a hierarchical database in the RAM.
  • the hierarchical structure of the database is depicted in Fig. ID.
  • the database is structured internally as schedule data structures and theme data structures linked by handles and handle tables.
  • Each handle is an index to a handle table which contains pointers to blocks of memory where items of the database are stored.
  • program guide data is transmitted as a bit stream that is processed by the database engine.
  • a N.E.W.S. (new, entertainment, weather, and sports) database has been developed. Commands including story text and story IDs are transmitted. Links from the program guide to stories related to a program can be created and the related stories can be accessed from the guide.
  • An advertisement (ad) database is also created from commands including advertising text and logos including IDs for linking the ads to shows displayed in the EPG. The user may therefore access the advertising information directly from the guide.
  • An internet database is also created from commands including URLs to internet sites related to programs displayed on the EPG. If the viewer is viewing the EPG on a platform that is Web enabled, e.g. , WebTV, a PC, or PCTV, then a linked site can be accessed directly from the EPG. Additionally, a graphics program module builds various displays utilizing schedule, show title, and other information from the database. If the OSD controller operates in the character mode, the display is a grid of character codes that are transferred to the OSD controller, which generates the on-screen display.
  • An input-response user interface program module responds to user input to generate new displays responsive to the particular input.
  • the user utilizes an input device, e.g., a remote control unit, mouse, or keyboard, to place a pointer over a part of the current display and "clicks".
  • the input-response module responds to the position of the pointer and the particular display currently displayed to generate a responsive display or take a particular action.
  • the user interface responds to function buttons on a remote control unit. Specific examples will be described below.
  • Fig. 1C is a block diagram of an embodiment of the electronic hardware unit utilized to perform the electronic on-screen schedule display and other functions.
  • the particular circuit disclosed is for TVRO (TV Receive Only) customers having home satellite dishes for television viewing.
  • This unit is coupled in series with existing customer TVRO equipment.
  • the unit receives Baseband Video in 123 from the customer TVRO system.
  • the unit optionally outputs Baseband Video out 128 or channel 3/4 RF out 130.
  • the unit includes an 8-bit microprocessor 100, 64 bytes of code ROM 101 , 512 K of RAM 102 for program data storage, a custom gate array 103, segmented base registers 104 for fast memory data manipulation, security logic 106 for decoding incoming encrypted data, a serial bus 108 for display controller interface, serial bus 110 for inter-processor communication, watchdog timer 112 for error recovery, IR input 113, IR transmitter circuits 116 for TV, VCR control, IR output 117, CRC-32 encoding and decoding logic 118, on-board power supply 120, video input 123, On-Screen Display Controller and Formatter 124, custom color converter 126, RF modulator 127, Baseband Video output 128 and RF output 130.
  • 8-bit microprocessor 100 64 bytes of code ROM 101 , 512 K of RAM 102 for program data storage, a custom gate array 103, segmented base registers 104 for fast memory data manipulation, security logic 106 for decoding incoming encrypted data,
  • the on-screen display controller and formatter (OSDCF) 124 functions as an I/O controller, an on-screen display controller (OSD), and also as a closed- caption data (CCD) VBI data slicer.
  • the VBI is a dead space in a TV signal that allows a television signal to reposition the scanning electron beam from the bottom to the top of the screen.
  • Digital data for example close-captioned data, is modulated onto the carrier signal during the VBI.
  • the OSDCF 124 includes an analog to digital convenor (ADC) which digitizes the incoming baseband video and extracts digital information transmitted in the VBIs. As explained more fully below, messages for transmission to the database are transmitted in the VBIs. These messages are transferred to processor 100, which executes a database engine process to build or update the database.
  • the OSD part of the OSDCF 124 includes cache memory, character memory, timing functions, and an external RAM.
  • the OSD reads high level graphic commands sent from the processor 100 and stores graphic information in the RAM.
  • the OSD outputs red (R), green (G), blue (B), graphic data which is used to generate a local video signal.
  • the OSD local video output or the incoming live video will be displayed. Accordingly, screen display graphic data generated by the database engine is transferred to the RAM of the OSD, which generates a local video that causes the display screen to be displayed on the television screen.
  • ADC analog to digital convenor
  • the DBE builds a hierarchical database in the RAM.
  • the hierarchical structure of the database is as depicted in Fig. ID.
  • the database is structured internally as schedule data structures and theme data structures linked by handles and handle tables.
  • Each handle is an index to a handle table which contains pointers to blocks ⁇ of memory where structures of the database are stored.
  • Channel Data Table contains subscriber unit's list of channels
  • Show List contains time slots for each show scheduled to be broadcast for a channel
  • Show Title contains the title text and show title attributes
  • Show Description contains show's ratings, attributes, and description text.
  • a channel data table depicted in Fig. IE, is the highest data structure in the hierarchy. This table includes an entry for each channel received by the subscriber unit. The entries in the channel data table are changed infrequently and are determined by the location of the subscriber unit and type of services received. Each channel data table entry includes information concerning the channel and a handle to a show list handle table for the channel.
  • the next data structure in the hierarchy is the show list depicted in Fig. IF.
  • the show list includes a start time typically being midnight GMT and 24 hours of scheduling.
  • the channel's schedule is given by an ordered sequence of show slots, with a show slot for each show to be broadcast by a particular channel for a particular day.
  • Each slot includes a duration, show title handle, and show description handle. Finding an entry corresponding to a given start time requires scanning the entries, in order, from the beginning of the show list and adding duration values.
  • the database when fully constructed, holds a week's worth of show lists for each channel.
  • the days of the week are accessed by incrementing the show list handle by two bytes.
  • the show lists are updated each day at midnight GMT with the show list for the day just completed being deleted and the show list for the same day next week being added to the database.
  • the next data structures in the schedule hierarchy are the show title entries, depicted in Fig. 1G, and the show description entries, depicted in Fig. 1H.
  • the show title entry and show description entry are accessed utilizing the handles included in the slot.
  • the show title and show description entries are stored in a memory pool divided into blocks.
  • Each show title is identified by a unique 20-bit show identification number (SID), and each show description is identified by a unique 20-bit number assigned at the head end.
  • the show title handles are based on the SID and the show title handles are offsets into a show title handle table.
  • the entry in the show title table accessed by a particular show title handle includes the address of the first block in the memory pool where the show title entry is stored.
  • the show description handle table entry accessed by a show description handle stores the address of the first block in the memory pool where the show description entry is stored.
  • Each show title entry includes theme index ID and the text of the show title.
  • a single show title entry will be referenced by many show lists for different channels, days, and times.
  • all show lists reference a single show title entry in memory so that memory is efficiently used.
  • Many show title entries have a long life because the show titles may be for series that are broadcast over long periods of time and may be referenced by many showlists since many shows are broadcast by multiple channels.
  • Each show description entry incudes a theme index ID, critics rating, MPAA rating for the show, traits mask bits, year produced, and show description text. Show description entries tend to have a shorter life than show title entries because a description is only valid for a particular episode of a series.
  • To obtain schedule information for a particular time and to display the schedule information in the programming grid requires the following steps. For each channel in the channel list, the show list for the day is accessed and scanned. Horizontal blocks for the channel are sized according to the duration of the show slots including and following the selected time. The show title entry referenced by each show slot is accessed and the show title is displayed in the horizontal block corresponding to the show slot.
  • the theme IDs stored in the show title and show description entries are utilized to match particular shows to particular themes. For example, a viewer may want to see a listing of all comedy movies.
  • Each primary category movies in the example above, has a theme category entry included in a theme category table, depicted in Fig. II.
  • a theme category entry includes a theme category ID, a handle for the subcategory handle table, and the theme category name.
  • the theme category ID is used to identify theme sub-categories, comedy in the example above, for this primary category.
  • a theme sub-category table depicted in Fig. 1J, for each primary category.
  • the table contains entries for each theme sub-category contained in a primary theme category.
  • Each table entry includes the theme IDs corresponding to the sub-category entry and the name of the sub-category.
  • the theme search function requires two calls to the database. The first of these calls initializes the theme search data structure to the first show that matches the theme category for a specific channel entry, including the show's time offset from the search time. The second call will then find the next matching show after a particular offset time, updating the theme search data structure and retaining the offset to the next show. The second call will find the next matching show after a particular offset time, updating the search data structure and returning the starting offset of this next matching show.
  • the basic algorithm for the theme user interface access is as follows:
  • the shows for the selected category are then displayed in time order.
  • An ad list data structure is similar to the show list. It includes a start time and 24 hours of ad scheduling.
  • the ad list is regionalized and includes an ad slot for each ad to be broadcast for a given day.
  • the ad slot includes a duration and an Ad ID utilized to access an ad entry.
  • Each ad entry includes an ad banner text field, an ad text field, and a pointer to an ad logo, if appropriate.
  • the ad logo includes a graphics file to be displayed with the ad.
  • the ad entries include the ad banner text, and the ad text.
  • the database is built by a database engine software module operating on the processor. Messages comprising discrete commands are received by the database engine. Examples of commands include a Region Command which specifies channels available for a particular subscriber unit to be included in the Channel Data Table; a Channel Data command including information utilized to form the entries in the Channel Data Table; and Showlist, Show Title, and Show
  • Description commands including SIDs and DIDs referencing areas in memory The database engine selects only Showlist Commands relevant to channels included in the Channel Table for further processing.
  • the database engine creates storage locations in memory for all SIDs and DIDs included in any Showlist. Information included in commands having matching SIDs or DIDs is written to the referenced memory area.
  • the messages may be transmitted to a subscriber unit in various ways. A system for receiving messages in the VBIs of broadcast programming has been described above. In a DBS system the messages may be transmitted in a dedicated bit stream. In a DBS system video baseband signals are digitized, compressed, and modulated onto analog carrier signals.
  • bitstreams encoding information such as audio, VBI (vertical blanking information data such as closed caption and teletext), program guide information, and conditional access information, are provided as separate bitstreams, multiplexed into a composite bit stream, and modulated onto a carrier signal.
  • VBI vertical blanking information data such as closed caption and teletext
  • the database itself may be transmitted in a digital data stream.
  • a digital data stream includes headers for classifying different portions of the data in the stream.
  • the data stream transmitted from a satellite includes video data in the format specified by the Motion Pictures Expert Group (MPEG) standard, MPEG audio data, and EPG data.
  • MPEG Motion Pictures Expert Group
  • the MPEG video and audio data is decoded and transformed into signals which may be utilized by a television, monitor, or other display devices.
  • the EPG data is stored in a buffer and utilized by a controller to generated an EPG display and to tune to correct programs specified by user input data.
  • the program guide information is transmitted in blocks of 3 hours of programming for 36 channels. Programming is digitally modulated onto different bands. As depicted in Fig.
  • a satellite has several transponders 500 simultaneously transmitting on different bands.
  • Several channels can be modulated onto a single band utilizing digital compression techniques.
  • a bit stream including the current programming is carried by all bands.
  • future programming for different blocks of channels is transmitted on different bands.
  • the blocks are transmitted in a carousel or endless loop so that there may be a delay before a particular time band is received.
  • a decoder at the viewer's location receives 16 carriers and controls a tuner/demodulator to select one carrier.
  • the carrier is sampled, decoded, error- corrected, and demultiplexed to separate the various bit streams.
  • the decoder includes one or more video decoder chips which decompress compressed video to reconstruct pictures of virtually any size.
  • the block for that time period is loaded into memory so that the user can interact with the guide.
  • a future time and different channel there may be a time delay.
  • the current programming block were Bl and the block currently received is B4 the user must wait for blocks B5, B6, and B7 to be transmitted before the current programming can be received and displayed. The viewer would wait for a time delay equal to the sum of time durations for transmitting each block, i.e., d5+d6+d7.
  • the program guide block is modulated onto a different band, the cable box must tune to the band and wait until the desired block is transmitted on the carousel.
  • the guide is accessed for future programming, there could be a delay.
  • the database is built at the SST head end and sent over land- lines to the cable head end.
  • Cable company can send data anyway they want, for example, via VBIs, satellite, digital data bit stream, and the like.
  • the guide user interface takes remote control commands as its primary input.
  • a user requests various functions by pressing function buttons on a remote control.
  • the GUI is utilized with different interactive regions on a display screen corresponding to different functions. The user moves the cursor over the interactive region corresponding to a desired function and selects the function to generate a command.
  • the particular form of entering a command is not critical and technology for utilizing voice commands may soon be available.
  • the user interface receives commands and responds with a requested display screen and by performing the function requested by the command.
  • the function performed may be an action such as recording a program, tuning to a channel, accessing a related internet site, purchasing a pay-per-view program, or purchasing merchandise.
  • the data and format of each screen is dependent on the 98/26594
  • a state table is used to define the screen flow.
  • the entrance function is called when a state is first entered to collect all necessary data and format the screen.
  • the exit function is called to release memory and data for the screen.
  • the update function is called once per minute to update the screen time and to re-draw the screen if any information displayed on the screen needs to be updated.
  • the table contains a reference to another software function corresponding to each key on the remote control or to each interactive region on the screen. These referenced functions will be executed whenever an associated remote control button is pressed or interactive region is selected.
  • the viewer may move the cursor over to the record interactive region, which is then selected to request that the recording function be performed.
  • a confirmation screen will then be generated.
  • An entry is made in a recording queue.
  • a record daemon is then called from the real-time executive to examine the queue and manage recording functions.
  • the screens are displayed by an on-screen display (OSD) controller based on graphic display commands issued by the database engine. Among the commands needed to draw system display screens are the Erase Screen Command, Draw Rectangle Command, Save Rectangle Command, Restore Rectangle Command, Move Rectangle Commands, Write ASCII String Command, and Draw Channel Icon Command.
  • Each screen includes areas that are constant (which are based on code and data stored in non- volatile memory), and variable areas such as show titles and descriptions which utilize data stored in the database.
  • the database is structured to facilitate efficient searching for information, generally in the form of ASCII text strings, stored in the database.
  • graphics files are also being stored in the database to be displayed in windows of the display screen.
  • the system determines whether an incoming signal is scrambled either by using a detector of its own, or from information sent to the system operator by the service provider.
  • the system detector is able to determine if the signal is scrambled or unscrambled. If the signal is unscrambled, the system updates the database, and the processor regenerates the guide to include a display of the unscrambled program in the guide.
  • the processor since the information is sent from the service provider to the system operator, this information is received at the head end and may be included with data in the data stream. Hence, the processor need not regenerate the guide as the information is predetermined, and has already been included in the guide.
  • the unscrambled program is featured prominently in the guide. As shown in Fig. 2, this is done by placing the unscrambled program 202 apart from the regular programs, at the top of the program guide.
  • program 202 may be distinguished by changing the color of the cell 204 surrounding the program name. Other methods such as displaying the program name in a different font may also be used as long as the user's attention is called to the program.
  • the unscrambled program falls under a theme group pre-selected by the user, the system will also indicate which theme group the program falls under, in addition to featuring the program prominently in the guide.
  • a scrambled channel has a favorite channel link (as shown in Fig. IE)
  • the system will update the favorite list to include the channel in the favorite list.
  • the system will also distinguish the channel apart from the other channels when displaying the channel on the program guide, and indicate the channel as a favorite channel.
  • the viewer tunes to unscrambled program 202 from the guide by pointing to program 202 and selecting the program.
  • the system user interface may be a remote control with function keys. The viewer selects the program by pressing a function key on the remote control. If the program is not currently on, the viewer schedules an autotune to the program. In this case, when the viewer points to the program and selects the program, the system will pop-up a screen asking the viewer whether the viewer wishes to schedule an autotune to the program when the program comes on. If the viewer indicates in the affirmative, the system will tune to the program when the program comes on. Preferably, the system will ask for viewer confirmation before tuning the viewer to the program.
  • the user may also record the program by pointing to the program, and pressing a record function key.
  • the system will record the program if it is currently on. If the system is not currently on, the system will ask the viewer whether the viewer wishes to schedule a recording of the program when the program comes on. If the user indicates in the affirmative, the system will activate a recorder to record the program when the program comes on.

Abstract

The present invention is directed to a television schedule guide which includes a detector for determining whether a previously scrambled program (202) is unscrambled. If a previously scrambled program is momentarily unscrambled due to promotional efforts by the program provider,the system will visually distinguish the program on the guide, and the viewer may tune to or record the program from the guide.

Description

TELEVISION SYSTEM WITH SCRAMBLING DETECTION
CAPABILITY
CROSS REFERENCE TO RELATED APPLICATION
This application is a nonprovisional application of U.S. provisional patent application "TELEVISION SYSTEM WITH SCRAMBLING DETECTION
CAPABILITY, " U.S. Serial Number 60/032,651, filed December 12, 1996, having Jonathan Orlick as the inventor and assigned to StarSight Telecast, Inc.
BACKGROUND OF THE INVENTION The present invention relates to a system for providing television schedule information, and more particularly to a television schedule information guide with capability for detecting whether a program signal is scrambled or unscrambled.
The number of television channels available to a user has grown dramatically within the last decade, primarily due to the availability of cable and direct broadcast satellite systems. As the number of programs of potential interest to the viewer has increased, a variety of electronic program guides have been developed to help the viewer select programs of particular interest. For example, commonly assigned U.S. Patent Numbers 4,706,121 and 5,353,121 each describes schedule information processing systems which provide the viewer with a convenient way to select programs based on viewer supplied selection criteria.
The viewer may, however, only select broadcast television programs if the viewer does not subscribe to cable or direct satellite services. This is because cable and direct satellite services scramble their signals thereby allowing only a selected group of people who have pre-arranged de-scrambling capability to receive their signals. Occasionally, the cable or direct satellite service provider may unscramble their signals for a particular time period to allow all viewers in a given area to have access to the signals. For example, HBO may have a free movie night for subscribers and non-subscribers of HBO in Fremont, California. In this manner, HBO could show potential subscribers in Fremont, California, a flavor of the programming it has available, and may attract some of the non-subscribers in Fremont to sign up with its service. A viewer will also benefit from such promotions, as the viewer is given a free trial of the subscription. Hence, a television schedule system that has the capability to detect that a program is unscrambled, and in turn notify the user that such program is available for selection would be desirable.
SUMMARY OF THE INVENTION The present invention is directed to a television schedule information system, and more particularly to a system with the capability for detecting whether a program signal is scrambled or unscrambled.
In one preferred embodiment, the schedule system monitors program signals from cable or direct satellite providers to determine whether these program signals are scrambled or unscrambled. If the system detects that a program signal is unscrambled, the system will display the program title on the schedule guide. A viewer may then select the program title to tune to the program, schedule an autotune to the program when the program comes on, record the program, or schedule a recording of the program when the program comes on.
In an alternative embodiment, the cable and direct satellite service providers supply the television schedule system operator with information regarding when program signals will be unscrambled. Based on the information provided by the service providers, the system will display the program title on the schedule guide at the designated times. During such times, the viewer may also tune to or record the program from the guide. In addition, the user may also schedule an autotune to the program, or schedule a recording of the program when the program comes on.
These and other embodiments of the present invention, along with many of its advantages and features, are described in more detail in the text below and in the attached figures.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1A illustrates a preferred embodiment of a system on which a program schedule guide according to the present invention may be displayed; Fig. IB illustrates another representation of the TV system; Fig. 1C is a block diagram of an embodiment of the electronic hardware unit utilized to perform the electronic on-screen schedule display and other functions;
Fig. ID is a chart that illustrates the hierarchical structure of an embodiment of a database built by the database engine;
Fig. IE illustrates an exemplary channel data table;
Fig. IF illustrates an exemplary show list table;
Fig. 1G illustrates exemplary show title entries;
Fig. 1H illustrates exemplary show description entries; Fig. II illustrates an exemplary theme category table;
Fig. 1J illustrates an exemplary theme sub category table;
Fig. IK illustrates a transmission scheme of a satellite that has several transponders simultaneously transmitting on different bands; and
Figure 2 illustrates how an unscrambled program may be displayed on the guide in a distinguished manner so as to better catch the viewer's attention.
DESCRIPTION OF SPECIFIC EMBODIMENTS
A. OVERVIEW OF THE SYSTEM
Fig. 1A illustrates a preferred embodiment of television/computer system 100 that displays a program schedule guide according to the present invention. As shown, system 100 includes a distribution center 110 and multiple receiving locations. Distribution center 110 compiles data for a data-stream. In a preferred embodiment, this data-stream is broadcast to receiving locations 116, 118, 120, and 122. Several methods are available for broadcasting the data-stream from distribution center 110 to receiving locations 116-122. For example, satellite 115 may broadcast this data-stream within the vertical blanking interval (VBI) of a television channel (e.g. , PBS) or a dedicated channel to receiving locations 116, 118, 120, and 122. Alternatively, the data may also be broadcast out of band, i.e. , using non channel specific mechanisms. In another preferred embodiment, the data- stream is provided to receiving locations 116, 118, 120, and 122 via transmission system 113. Transmission system 113 may be, for example, optical fiber, coax cable, telephone line, over the air television broadcast, or the like. In yet another embodiment, peripheral devices, which are located within the receiving locations, receive the data-stream from, for example, a local service provider 140. Service provider 140 receives the data-stream from distribution center 110 via line 117, and broadcasts the data-stream to the receiving peripheral devices via satellite 115 (or another satellite), or via lines 119 and 113. The receiving peripheral devices may be televisions 130, televisions 134, VCRs 132, VCRs 136, and/or cable, satellite IRD, web-browser or set-top boxes 138.
Information in the data-stream may include television schedule information. Software applications located within the peripheral devices utilize the schedule information provided in the data-stream to generate a schedule guide. In addition, the software applications also determine whether a program signal is scrambled. If the program signal is scrambled, the system may advise the user of such status. Preferably, the system will only advise the user if a previously scrambled program signal is unscrambled by featuring the program prominently on the guide.
In a preferred embodiment, the electronic program guide of the present invention may be implemented either on a personal computer, a PCTV, a television connected to a set-top box, or a television including a custom board. However, the invention is not limited to any particular hardware configuration and will have increased utility as new combinations of computers and television systems are developed. In the following, any of the above will be referred to as a "TV system". A block diagram of a representative TV system is depicted in Fig. IB. Details of implementation are not depicted because the invention is not limited to any particular TV system. As is well known, the picture to be displayed on a TV may be transmitted as an analog signal, for example according to the NTSC standard utilized in the United States, or as a digital signal modulated onto an analog carrier. The signals may be received over a cable 30, or via an antenna 32 or satellite dish 34. Typically, television sets are designed to receive analog signals and computer display devices are designed to display pictures encoded in a digital format.
However, decoder system 36A can convert the digital data to an analog signal for display on a television set, and TV modem 36B can format analog TV signals for display on a PC monitor. In Fig. IB, analog or digital TV signals, received via cable, antenna, or satellite dish, are provided to either a television 38 or to a PC (not shown). If the signal is from a digital broadcast service, then a decoder converts the signal to baseband video and audio or channel 3/4 RF. If the signal is an analog signal, it is passed through as a live video output. The television, depending on its configuration, receives selected ones of the outputs and displays the received program.
If the TV is a PCTV 40, it typically includes a TV card 42, connected to either live video, baseband video, or channel 3/4 output. TV card 42 digitizes the video image and displays the video image in a resizeable window on the computer monitor. PCTV 40 may also be coupled to land telephone lines by a modem 44. If the received signal is an analog TV signal, the TV card of the PCTV digitizes the analog signal and extracts included information from the vertical blanking intervals. On the other hand, if the signal is a digital signal, separate audio, video, VBI (information such as closed caption, teletext, and program related information), program guide, and conditional access information are provided as separate bit-streams.
The video and audio bit-streams for programs are converted to a format for display and the program guide information is processed to form the program guide database. The processor, executing software stored in memory, generates interactive electronic program guide images, as well as images of received programs. The guide can be used to interact with and control programs displayed in the window.
A television system configured to display an electronic program guide such as a guide provided by StarSight telecast includes an on-screen display controller and other hardware described below. If a standard analog broadcast signal is received, program guide data is extracted from the VBI by a VBI data slicer and processed to form a program database. If a DBS digital signal is received, either from a satellite or cable, VBI and program data are provided in separate bit streams.
The program guide images are either generated locally or remotely and provided to an on screen display controller. Interactivity is provided via a remote control unit. Alternatively, the program guide can be displayed on a computer monitor that interactively controls the television set through, for example, an IR interface including an IR blaster to generate IR codes to control the television and/or a VCR.
If the electronic guide database is generated locally, the system for creating the electronic programming guide must receive television schedule information and process the received information to create a database. Thus, the system requires, a data reception unit, a processor, memory to store program code and a database, an on-screen display generator (OSD), and a control interface for tuning to selected channels. In one embodiment, the schedule information is transmitted as a set of short commands of specified formats. Different commands communicate information such as a show schedule for a given channel, the title of each show in the schedule, descriptions and information attributes about each show in the channel. Thus, information for a show to be broadcast at a particular time is transmitted in several commands. ID numbers in the commands facilitate organizing the information into a relational database utilizing database engine (DBE) software stored in memory and executed by the processor.
In another embodiment, a board is included at a viewer's television set and the database is stored locally and commands are transmitted in the VBIs of programming on a designated channel, for example PBS. An example of a board for receiving program guide information, generating a program guide database, displaying the program guide, and interactively controlling the program guide is depicted in Fig. lC. The commands are transmitted to the board in the vertical blanking intervals of programming broadcast on a designated channel. Alternatively, the commands could be transmitted to the local unit over land telephone lines. Additionally, as described below, in some systems the database is built remotely and the guide itself is transmitted to the local unit.
The DBE builds a hierarchical database in the RAM. The hierarchical structure of the database is depicted in Fig. ID. As shown, the database is structured internally as schedule data structures and theme data structures linked by handles and handle tables. Each handle is an index to a handle table which contains pointers to blocks of memory where items of the database are stored. In another embodiment, for example in a DSS system, program guide data is transmitted as a bit stream that is processed by the database engine. Additionally, a N.E.W.S. (new, entertainment, weather, and sports) database has been developed. Commands including story text and story IDs are transmitted. Links from the program guide to stories related to a program can be created and the related stories can be accessed from the guide.
An advertisement (ad) database is also created from commands including advertising text and logos including IDs for linking the ads to shows displayed in the EPG. The user may therefore access the advertising information directly from the guide.
An internet database is also created from commands including URLs to internet sites related to programs displayed on the EPG. If the viewer is viewing the EPG on a platform that is Web enabled, e.g. , WebTV, a PC, or PCTV, then a linked site can be accessed directly from the EPG. Additionally, a graphics program module builds various displays utilizing schedule, show title, and other information from the database. If the OSD controller operates in the character mode, the display is a grid of character codes that are transferred to the OSD controller, which generates the on-screen display.
An input-response user interface program module responds to user input to generate new displays responsive to the particular input. In one preferred embodiment, the user utilizes an input device, e.g., a remote control unit, mouse, or keyboard, to place a pointer over a part of the current display and "clicks". The input-response module responds to the position of the pointer and the particular display currently displayed to generate a responsive display or take a particular action. In another preferred embodiment the user interface responds to function buttons on a remote control unit. Specific examples will be described below.
B. BROAD DESCRIPTION
Fig. 1C is a block diagram of an embodiment of the electronic hardware unit utilized to perform the electronic on-screen schedule display and other functions. The particular circuit disclosed is for TVRO (TV Receive Only) customers having home satellite dishes for television viewing. This unit is coupled in series with existing customer TVRO equipment. In Fig. 1C, the unit receives Baseband Video in 123 from the customer TVRO system. The unit optionally outputs Baseband Video out 128 or channel 3/4 RF out 130. The unit includes an 8-bit microprocessor 100, 64 bytes of code ROM 101 , 512 K of RAM 102 for program data storage, a custom gate array 103, segmented base registers 104 for fast memory data manipulation, security logic 106 for decoding incoming encrypted data, a serial bus 108 for display controller interface, serial bus 110 for inter-processor communication, watchdog timer 112 for error recovery, IR input 113, IR transmitter circuits 116 for TV, VCR control, IR output 117, CRC-32 encoding and decoding logic 118, on-board power supply 120, video input 123, On-Screen Display Controller and Formatter 124, custom color converter 126, RF modulator 127, Baseband Video output 128 and RF output 130. The on-screen display controller and formatter (OSDCF) 124 functions as an I/O controller, an on-screen display controller (OSD), and also as a closed- caption data (CCD) VBI data slicer. The VBI is a dead space in a TV signal that allows a television signal to reposition the scanning electron beam from the bottom to the top of the screen. Digital data, for example close-captioned data, is modulated onto the carrier signal during the VBI.
The OSDCF 124 includes an analog to digital convenor (ADC) which digitizes the incoming baseband video and extracts digital information transmitted in the VBIs. As explained more fully below, messages for transmission to the database are transmitted in the VBIs. These messages are transferred to processor 100, which executes a database engine process to build or update the database. The OSD part of the OSDCF 124 includes cache memory, character memory, timing functions, and an external RAM. The OSD reads high level graphic commands sent from the processor 100 and stores graphic information in the RAM. The OSD outputs red (R), green (G), blue (B), graphic data which is used to generate a local video signal. Depending on the state of the user input interface, described below, the OSD local video output or the incoming live video will be displayed. Accordingly, screen display graphic data generated by the database engine is transferred to the RAM of the OSD, which generates a local video that causes the display screen to be displayed on the television screen. „„„ „_,, 98/26594
9
C. SCHEDULING DATA STRUCTURES
As mentioned, the DBE builds a hierarchical database in the RAM. In one embodiment, the hierarchical structure of the database is as depicted in Fig. ID. As shown, the database is structured internally as schedule data structures and theme data structures linked by handles and handle tables. Each handle is an index to a handle table which contains pointers to blocks^ of memory where structures of the database are stored.
The hierarchy for the schedule data structures, in descending order is as follows: Channel Data Table: contains subscriber unit's list of channels;
Show List: contains time slots for each show scheduled to be broadcast for a channel; Show Title: contains the title text and show title attributes;
Show Description: contains show's ratings, attributes, and description text.
A channel data table, depicted in Fig. IE, is the highest data structure in the hierarchy. This table includes an entry for each channel received by the subscriber unit. The entries in the channel data table are changed infrequently and are determined by the location of the subscriber unit and type of services received. Each channel data table entry includes information concerning the channel and a handle to a show list handle table for the channel.
The next data structure in the hierarchy is the show list depicted in Fig. IF. The show list includes a start time typically being midnight GMT and 24 hours of scheduling. The channel's schedule is given by an ordered sequence of show slots, with a show slot for each show to be broadcast by a particular channel for a particular day. Each slot includes a duration, show title handle, and show description handle. Finding an entry corresponding to a given start time requires scanning the entries, in order, from the beginning of the show list and adding duration values. The database, when fully constructed, holds a week's worth of show lists for each channel. The days of the week are accessed by incrementing the show list handle by two bytes. The show lists are updated each day at midnight GMT with the show list for the day just completed being deleted and the show list for the same day next week being added to the database.
The next data structures in the schedule hierarchy are the show title entries, depicted in Fig. 1G, and the show description entries, depicted in Fig. 1H. For a given show slot, the show title entry and show description entry are accessed utilizing the handles included in the slot. The show title and show description entries are stored in a memory pool divided into blocks. Each show title is identified by a unique 20-bit show identification number (SID), and each show description is identified by a unique 20-bit number assigned at the head end. The show title handles are based on the SID and the show title handles are offsets into a show title handle table. The entry in the show title table accessed by a particular show title handle includes the address of the first block in the memory pool where the show title entry is stored. Similarly, the show description handle table entry accessed by a show description handle stores the address of the first block in the memory pool where the show description entry is stored.
Each show title entry includes theme index ID and the text of the show title. Typically, a single show title entry will be referenced by many show lists for different channels, days, and times. Thus, by utilizing handles in the show lists, all show lists reference a single show title entry in memory so that memory is efficiently used. Many show title entries have a long life because the show titles may be for series that are broadcast over long periods of time and may be referenced by many showlists since many shows are broadcast by multiple channels.
Each show description entry incudes a theme index ID, critics rating, MPAA rating for the show, traits mask bits, year produced, and show description text. Show description entries tend to have a shorter life than show title entries because a description is only valid for a particular episode of a series.
D. SCHEDULE SEARCH
To obtain schedule information for a particular time and to display the schedule information in the programming grid requires the following steps. For each channel in the channel list, the show list for the day is accessed and scanned. Horizontal blocks for the channel are sized according to the duration of the show slots including and following the selected time. The show title entry referenced by each show slot is accessed and the show title is displayed in the horizontal block corresponding to the show slot.
E. THEME DATA STRUCTURES A powerful feature of the database is the ability to group shows by theme.
The theme IDs stored in the show title and show description entries are utilized to match particular shows to particular themes. For example, a viewer may want to see a listing of all comedy movies.
Each primary category, movies in the example above, has a theme category entry included in a theme category table, depicted in Fig. II. A theme category entry includes a theme category ID, a handle for the subcategory handle table, and the theme category name. The theme category ID is used to identify theme sub-categories, comedy in the example above, for this primary category.
There is a theme sub-category table, depicted in Fig. 1J, for each primary category. The table contains entries for each theme sub-category contained in a primary theme category. Each table entry includes the theme IDs corresponding to the sub-category entry and the name of the sub-category.
F. THEME SEARCH When the viewer initiates a search for a particular type of show, for example a comedy movie, each channel is inspected and theme IDs of each show listed are compared to theme IDs stored in the comedy entry of the theme subcategory table corresponding to the movie primary category entry. Information about shows with matching theme IDs is stored in a theme search data structure in a user interface local buffer.
The theme search function requires two calls to the database. The first of these calls initializes the theme search data structure to the first show that matches the theme category for a specific channel entry, including the show's time offset from the search time. The second call will then find the next matching show after a particular offset time, updating the theme search data structure and retaining the offset to the next show. The second call will find the next matching show after a particular offset time, updating the search data structure and returning the starting offset of this next matching show. The basic algorithm for the theme user interface access is as follows:
1. For a given starting time, for each channel entry, find the first show that matches the theme criteria on or during this time and create a list. Keep track of the channels that had matches;
2. Sort the list of shows in time order;
3. Find the channel with the earliest show in the sorted list;
4. Place this earliest show into the user interface search list;
5. For the channel with the earliest show, request the next show that matches the theme criteria and updated offset time; and
6. Repeat steps 2-4 until all shows have been located or other specified limit is reached (i.e. search may be for a limited number of matches).
The shows for the selected category are then displayed in time order.
G. AD DATA STRUCTURES
An ad list data structure is similar to the show list. It includes a start time and 24 hours of ad scheduling. The ad list is regionalized and includes an ad slot for each ad to be broadcast for a given day. The ad slot includes a duration and an Ad ID utilized to access an ad entry. Each ad entry includes an ad banner text field, an ad text field, and a pointer to an ad logo, if appropriate. The ad logo includes a graphics file to be displayed with the ad. The ad entries include the ad banner text, and the ad text.
H. BUILDING THE DATABASE The database is built by a database engine software module operating on the processor. Messages comprising discrete commands are received by the database engine. Examples of commands include a Region Command which specifies channels available for a particular subscriber unit to be included in the Channel Data Table; a Channel Data command including information utilized to form the entries in the Channel Data Table; and Showlist, Show Title, and Show
Description commands including SIDs and DIDs referencing areas in memory. The database engine selects only Showlist Commands relevant to channels included in the Channel Table for further processing. The database engine creates storage locations in memory for all SIDs and DIDs included in any Showlist. Information included in commands having matching SIDs or DIDs is written to the referenced memory area. In practice the SIDs and DIDs are processed by a hashing system for more efficient searching. The messages may be transmitted to a subscriber unit in various ways. A system for receiving messages in the VBIs of broadcast programming has been described above. In a DBS system the messages may be transmitted in a dedicated bit stream. In a DBS system video baseband signals are digitized, compressed, and modulated onto analog carrier signals. Because of advances in the art of compression, a carrier once used to transmit a single program can now transmit four programs. Typically, in addition to video signals, other bitstreams encoding information such as audio, VBI (vertical blanking information data such as closed caption and teletext), program guide information, and conditional access information, are provided as separate bitstreams, multiplexed into a composite bit stream, and modulated onto a carrier signal.
Alternatively, the database itself may be transmitted in a digital data stream. Typically, a digital data stream includes headers for classifying different portions of the data in the stream. The data stream transmitted from a satellite includes video data in the format specified by the Motion Pictures Expert Group (MPEG) standard, MPEG audio data, and EPG data. The MPEG video and audio data is decoded and transformed into signals which may be utilized by a television, monitor, or other display devices. The EPG data is stored in a buffer and utilized by a controller to generated an EPG display and to tune to correct programs specified by user input data. For example, in DSS, the program guide information is transmitted in blocks of 3 hours of programming for 36 channels. Programming is digitally modulated onto different bands. As depicted in Fig. IK, a satellite has several transponders 500 simultaneously transmitting on different bands. Several channels can be modulated onto a single band utilizing digital compression techniques. A bit stream including the current programming is carried by all bands. However, future programming for different blocks of channels is transmitted on different bands. The blocks are transmitted in a carousel or endless loop so that there may be a delay before a particular time band is received. A decoder at the viewer's location receives 16 carriers and controls a tuner/demodulator to select one carrier. The carrier is sampled, decoded, error- corrected, and demultiplexed to separate the various bit streams. The decoder includes one or more video decoder chips which decompress compressed video to reconstruct pictures of virtually any size.
When the viewer accesses the guide, the block for that time period is loaded into memory so that the user can interact with the guide. For a future time and different channel there may be a time delay. For example, if the current programming block were Bl and the block currently received is B4 the user must wait for blocks B5, B6, and B7 to be transmitted before the current programming can be received and displayed. The viewer would wait for a time delay equal to the sum of time durations for transmitting each block, i.e., d5+d6+d7. If the program guide block is modulated onto a different band, the cable box must tune to the band and wait until the desired block is transmitted on the carousel. Hence, if the guide is accessed for future programming, there could be a delay.
For cable, the database is built at the SST head end and sent over land- lines to the cable head end. Cable company can send data anyway they want, for example, via VBIs, satellite, digital data bit stream, and the like.
I. USER INTERFACE
The guide user interface (GUI) takes remote control commands as its primary input. In one embodiment, a user requests various functions by pressing function buttons on a remote control. In another embodiment, the GUI is utilized with different interactive regions on a display screen corresponding to different functions. The user moves the cursor over the interactive region corresponding to a desired function and selects the function to generate a command. The particular form of entering a command is not critical and technology for utilizing voice commands may soon be available.
The user interface receives commands and responds with a requested display screen and by performing the function requested by the command. The function performed may be an action such as recording a program, tuning to a channel, accessing a related internet site, purchasing a pay-per-view program, or purchasing merchandise. The data and format of each screen is dependent on the 98/26594
15 previous screen, time of day, the contents of the database, the command received, and other parameters. A state table is used to define the screen flow.
For every defined screen, there is an entrance function, an exit function, an update function, and an array of request-handling functions. The entrance function is called when a state is first entered to collect all necessary data and format the screen. The exit function is called to release memory and data for the screen. The update function is called once per minute to update the screen time and to re-draw the screen if any information displayed on the screen needs to be updated. Once in a particular state, the table contains a reference to another software function corresponding to each key on the remote control or to each interactive region on the screen. These referenced functions will be executed whenever an associated remote control button is pressed or interactive region is selected. For example, if the user wishes to record a program, in the GUI embodiment, the viewer may move the cursor over to the record interactive region, which is then selected to request that the recording function be performed. A confirmation screen will then be generated. Once the user confirms the recording request, an entry is made in a recording queue. A record daemon is then called from the real-time executive to examine the queue and manage recording functions. The screens are displayed by an on-screen display (OSD) controller based on graphic display commands issued by the database engine. Among the commands needed to draw system display screens are the Erase Screen Command, Draw Rectangle Command, Save Rectangle Command, Restore Rectangle Command, Move Rectangle Commands, Write ASCII String Command, and Draw Channel Icon Command.
Each screen includes areas that are constant (which are based on code and data stored in non- volatile memory), and variable areas such as show titles and descriptions which utilize data stored in the database. As described above in the description of the database engine, the database is structured to facilitate efficient searching for information, generally in the form of ASCII text strings, stored in the database. In addition, graphics files are also being stored in the database to be displayed in windows of the display screen. H. DETECTING SCRAMBLING
As mentioned, the system determines whether an incoming signal is scrambled either by using a detector of its own, or from information sent to the system operator by the service provider. In the first scenario, whether the incoming signal is analog or digital, the system detector is able to determine if the signal is scrambled or unscrambled. If the signal is unscrambled, the system updates the database, and the processor regenerates the guide to include a display of the unscrambled program in the guide. In the second scenario, since the information is sent from the service provider to the system operator, this information is received at the head end and may be included with data in the data stream. Hence, the processor need not regenerate the guide as the information is predetermined, and has already been included in the guide.
To catch the user's attention, the unscrambled program is featured prominently in the guide. As shown in Fig. 2, this is done by placing the unscrambled program 202 apart from the regular programs, at the top of the program guide. Alternatively, program 202 may be distinguished by changing the color of the cell 204 surrounding the program name. Other methods such as displaying the program name in a different font may also be used as long as the user's attention is called to the program. If the unscrambled program falls under a theme group pre-selected by the user, the system will also indicate which theme group the program falls under, in addition to featuring the program prominently in the guide. Similarly, if a scrambled channel has a favorite channel link (as shown in Fig. IE), when it is unscrambled, the system will update the favorite list to include the channel in the favorite list. In addition, the system will also distinguish the channel apart from the other channels when displaying the channel on the program guide, and indicate the channel as a favorite channel.
The viewer tunes to unscrambled program 202 from the guide by pointing to program 202 and selecting the program. As mentioned, the system user interface may be a remote control with function keys. The viewer selects the program by pressing a function key on the remote control. If the program is not currently on, the viewer schedules an autotune to the program. In this case, when the viewer points to the program and selects the program, the system will pop-up a screen asking the viewer whether the viewer wishes to schedule an autotune to the program when the program comes on. If the viewer indicates in the affirmative, the system will tune to the program when the program comes on. Preferably, the system will ask for viewer confirmation before tuning the viewer to the program. In addition, the user may also record the program by pointing to the program, and pressing a record function key. The system will record the program if it is currently on. If the system is not currently on, the system will ask the viewer whether the viewer wishes to schedule a recording of the program when the program comes on. If the user indicates in the affirmative, the system will activate a recorder to record the program when the program comes on.
While a full and complete disclosure of the invention has been provided hereinabove, it will be obvious to those skilled in the art that various modifications and changes may be made. Accordingly, the disclosures and descriptions herein are illustrative, but not limiting, of the scope of the invention which is set forth in the following claims.

Claims

WHAT IS CLAIMED IS:
1. A television schedule system, comprising: a detector for determining whether a program signal is scrambled or unscrambled; and a processor for updating a guide to show a program corresponding to said program signal on said guide if said program signal is unscrambled.
2. The television schedule system of claim 1 wherein a user may tune to said program by selecting said program from said guide if said program is currently on.
3. The television schedule system of claim 1 wherein a user may schedule an autotune to said program if said program is not currently on.
4. The television schedule system of claim 1 wherein a user may record said program from said guide if said program is currently on.
5. The television schedule system of claim 1 wherein a user may schedule a futare recording of said program from said guide if said program is not currently on.
6. The television schedule system of claim 1 wherein said program is visually distinguished.
7. A television schedule system, comprising: means for receiving information from a service provider about the time periods during which a scrambled program will be unscrambled; and a processor for generating a guide to show said unscrambled program on said guide during said time periods.
8. The television schedule system of claim 7 wherein a user may tune to said program by selecting said program from said guide if said program is currently on.
9. The television schedule system of claim 7 wherein a user may schedule an autotune to said program if said program is not currently on.
10. The television schedule system of claim 7 wherein a user may record said program from said guide if said program is currently on.
11. The television schedule system of claim 7 wherein a user may schedule a future recording of said program from said guide if said program is not currently on.
12. The television schedule system of claim 7 wherein said unscrambled program is visually distinguished.
13. The television schedule system of claim 12 wherein said visually distinguished unscrambled program is designated as falling under a user pre-selected theme group.
14. The television schedule system of claim 12 wherein said visually distinguished unscrambled program is designated as being on a favorite channel.
15. The television schedule system of claim 7 wherein said unscrambled program is included on a favorite list.
16. A method for providing television schedule information on a television schedule guide, said method comprising the steps of: detecting whether a program signal is scrambled or unscrambled; and updating said schedule guide to show a program corresponding to said program signal on said guide if said program signal is unscrambled. nMtn^m . 98/26594
20 17. The method of claim 16 further comprising the step of taning to or recording said program if said program is currently on.
18. The method of claim 16 further comprising the step of scheduling an autotune to or a futare recording of said program if said program is not currently on.
19. The method of claim 16 further comprising the step of designating said program under a user pre-selected theme group.
20. The method of claim 16 further comprising the step of including said program on a favorite list.
PCT/US1997/022829 1996-12-12 1997-12-11 Television system with scrambling detection capability WO1998026594A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU53809/98A AU5380998A (en) 1996-12-12 1997-12-11 Television system with scrambling detection capability

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3265196P 1996-12-12 1996-12-12
US60/032,651 1996-12-12
US98779597A 1997-12-10 1997-12-10
US08/987,795 1997-12-10

Publications (1)

Publication Number Publication Date
WO1998026594A1 true WO1998026594A1 (en) 1998-06-18

Family

ID=26708716

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/022829 WO1998026594A1 (en) 1996-12-12 1997-12-11 Television system with scrambling detection capability

Country Status (2)

Country Link
AU (1) AU5380998A (en)
WO (1) WO1998026594A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001047238A3 (en) * 1999-12-21 2002-02-21 Tivo Inc Distributed, interactive television program guide; system and method
EP1093305A3 (en) * 1999-10-13 2002-03-27 Nec Corporation Advertisement data bank system
US6745391B1 (en) * 1997-12-10 2004-06-01 E Guide, Inc. Premium channel promotion system and method
US7228556B2 (en) 1999-12-21 2007-06-05 Tivo Inc. Distributed, interactive television program guide; system and method
US7877768B2 (en) 2002-04-26 2011-01-25 Tivo Inc. Smart broadcast program recording padding and scheduling system
US8843960B2 (en) 1998-09-17 2014-09-23 United Video Properties, Inc. Electronic program guide with digital storage
US8965182B2 (en) 1999-12-21 2015-02-24 Tivo Inc. Broadcast program recording overrun and underrun scheduling system
US9021538B2 (en) 1998-07-14 2015-04-28 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9049073B2 (en) 2011-06-28 2015-06-02 Rovi Guides, Inc. Systems and methods for initializing allocations of transport streams based on historical data
US9055341B2 (en) 1996-03-15 2015-06-09 Henry C. Yuen Combination of recorded program index and EPG
US9071872B2 (en) 2003-01-30 2015-06-30 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules
US9171580B2 (en) 2005-09-30 2015-10-27 Rovi Guides, Inc. Systems and methods for recording and playing back programs having desirable recording attributes
US9191716B2 (en) 2000-04-10 2015-11-17 Rovi Guides, Inc. Interactive media guide with media guidance interface
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519780A (en) * 1993-12-03 1996-05-21 Scientific-Atlanta, Inc. System and method for providing compressed digital teletext services and teletext support services
US5548345A (en) * 1995-01-05 1996-08-20 Protelcon, Inc. Video viewing censoring supervision system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519780A (en) * 1993-12-03 1996-05-21 Scientific-Atlanta, Inc. System and method for providing compressed digital teletext services and teletext support services
US5548345A (en) * 1995-01-05 1996-08-20 Protelcon, Inc. Video viewing censoring supervision system

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055341B2 (en) 1996-03-15 2015-06-09 Henry C. Yuen Combination of recorded program index and EPG
US7921441B2 (en) 1997-12-10 2011-04-05 Gemstar Development Corporation Detection and indication of premium channel availability
US6745391B1 (en) * 1997-12-10 2004-06-01 E Guide, Inc. Premium channel promotion system and method
US8997148B2 (en) 1997-12-10 2015-03-31 Rovi Guides, Inc. Premium channel promotion system and method
US9271049B2 (en) 1997-12-10 2016-02-23 Rovi Guides, Inc. Premium channel promotion system and method
US10027998B2 (en) 1998-07-14 2018-07-17 Rovi Guides, Inc. Systems and methods for multi-tuner recording
US9232254B2 (en) 1998-07-14 2016-01-05 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9226006B2 (en) 1998-07-14 2015-12-29 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9154843B2 (en) 1998-07-14 2015-10-06 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9118948B2 (en) 1998-07-14 2015-08-25 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9055318B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Client-server based interactive guide with server storage
US9021538B2 (en) 1998-07-14 2015-04-28 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9055319B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Interactive guide with recording
US10075746B2 (en) 1998-07-14 2018-09-11 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9100686B2 (en) 1998-09-17 2015-08-04 Rovi Guides, Inc. Electronic program guide with digital storage
US9237371B2 (en) 1998-09-17 2016-01-12 Rovi Guides, Inc. Electronic program guide with digital storage
US9106947B2 (en) 1998-09-17 2015-08-11 Rovi Guides, Inc. Electronic program guide with digital storage
US8898721B2 (en) 1998-09-17 2014-11-25 United Video Properties, Inc. Electronic program guide with digital storage
US9363553B2 (en) 1998-09-17 2016-06-07 Rovi Guides, Inc. Electronic program guide with digital storage
US8843960B2 (en) 1998-09-17 2014-09-23 United Video Properties, Inc. Electronic program guide with digital storage
EP1093305A3 (en) * 1999-10-13 2002-03-27 Nec Corporation Advertisement data bank system
US6826351B1 (en) 1999-10-13 2004-11-30 Nec Corporation Personal commercial bank system
US9060099B2 (en) 1999-12-21 2015-06-16 Tivo Inc. Distributed, interactive television program guide; system and method
WO2001047238A3 (en) * 1999-12-21 2002-02-21 Tivo Inc Distributed, interactive television program guide; system and method
US8965182B2 (en) 1999-12-21 2015-02-24 Tivo Inc. Broadcast program recording overrun and underrun scheduling system
US9794637B2 (en) 1999-12-21 2017-10-17 Tivo Solutions Inc. Distributed interactive television program guide system and method
US7228556B2 (en) 1999-12-21 2007-06-05 Tivo Inc. Distributed, interactive television program guide; system and method
US9191716B2 (en) 2000-04-10 2015-11-17 Rovi Guides, Inc. Interactive media guide with media guidance interface
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
USRE45774E1 (en) 2000-12-20 2015-10-20 Tivo Inc. Smart broadcast program recording padding and scheduling system
US7877768B2 (en) 2002-04-26 2011-01-25 Tivo Inc. Smart broadcast program recording padding and scheduling system
US9369741B2 (en) 2003-01-30 2016-06-14 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US9071872B2 (en) 2003-01-30 2015-06-30 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US9171580B2 (en) 2005-09-30 2015-10-27 Rovi Guides, Inc. Systems and methods for recording and playing back programs having desirable recording attributes
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US9049073B2 (en) 2011-06-28 2015-06-02 Rovi Guides, Inc. Systems and methods for initializing allocations of transport streams based on historical data
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material

Also Published As

Publication number Publication date
AU5380998A (en) 1998-07-03

Similar Documents

Publication Publication Date Title
US9521462B2 (en) Premium channel promotion system and method
US9456168B2 (en) Channels and services display
EP0947100B1 (en) Electronic programming guide with movie preview
CA2228391C (en) Television schedule system with enhanced features
KR100434894B1 (en) Electronic program guide system with advertising messages in pop-ups
US20150156553A1 (en) Schedule system with enhanced recording capability
US20020129366A1 (en) Electronic program guide with interactive areas
WO1998039893A2 (en) Electronic programming guide with movie preview
WO1998026594A1 (en) Television system with scrambling detection capability

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase