US20020059575A1 - Method and apparatus for providing subsidiary data synchronous to primary content data - Google Patents

Method and apparatus for providing subsidiary data synchronous to primary content data Download PDF

Info

Publication number
US20020059575A1
US20020059575A1 US09/910,656 US91065601A US2002059575A1 US 20020059575 A1 US20020059575 A1 US 20020059575A1 US 91065601 A US91065601 A US 91065601A US 2002059575 A1 US2002059575 A1 US 2002059575A1
Authority
US
United States
Prior art keywords
data
subsidiary
primary content
content data
subsidiary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/910,656
Inventor
E. Watts
Christopher Williams
Jean Goldschmidt Iki
Anthony Shah-Nazaroff
David Hackson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heathway Holdings LLC
Hanger Solutions LLC
Original Assignee
Watts E. Michael
Williams Christopher D.
Goldschmidt Iki Jean M.
Shah-Nazaroff Anthony A.
Hackson David N.
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 Watts E. Michael, Williams Christopher D., Goldschmidt Iki Jean M., Shah-Nazaroff Anthony A., Hackson David N. filed Critical Watts E. Michael
Priority to US09/910,656 priority Critical patent/US20020059575A1/en
Publication of US20020059575A1 publication Critical patent/US20020059575A1/en
Assigned to WOLFORD ASSOCIATES, LIMITED LIABILITY COMPANY reassignment WOLFORD ASSOCIATES, LIMITED LIABILITY COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTEL CORPORATION
Assigned to HEATHWAY HOLDINGS, LLC reassignment HEATHWAY HOLDINGS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WOLFORD ASSOCIATES, LIMITED LIABILITY COMPANY
Priority to US13/014,189 priority patent/US20110182563A1/en
Assigned to HANGER SOLUTIONS, LLC reassignment HANGER SOLUTIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTELLECTUAL VENTURES ASSETS 161 LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • 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
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Definitions

  • the present invention pertains to the display and playback of video and/or audio data. More particularly, this invention relates to providing subsidiary data synchronous to primary content data.
  • VBI vertical blanking interval
  • primary content data is received from an external source and subsidiary data is obtained which corresponds to the primary data, wherein the subsidiary data is independent of the primary content data.
  • the subsidiary data is provided synchronous to the primary data.
  • FIG. 1 is a block diagram illustrating a system architecture for providing subsidiary data complementary to primary content data according to one embodiment of the present invention
  • FIG. 2 is a diagram illustrating a data structure storing multiple portions of subsidiary data according to one embodiment of the present invention
  • FIG. 3 is a flowchart illustrating the steps followed in providing subsidiary data to supplement primary content data according to one embodiment of the present invention
  • FIG. 4 is a flowchart illustrating the steps followed in synchronizing subsidiary data to primary content data according to one embodiment of the present invention
  • FIG. 5 is a block diagram illustrating the system components of one embodiment of an entertainment system in which the present invention may be practiced.
  • FIG. 6 illustrates another embodiment of a hardware system suitable for use with the present invention.
  • FIG. 1 is a block diagram illustrating a system architecture for providing subsidiary data complementary to primary content data according to one embodiment of the present invention.
  • the system architecture includes primary data receiver 105 , video/audio control 115 , programming database control 125 , and subsidiary data control 135 coupled together as illustrated.
  • Data receiver 105 receives primary content data 107 from an external source (not shown), while subsidiary data control 135 receives subsidiary data 117 from another external source (not shown).
  • Data receiver 105 is communicatively coupled to subsidiary data control 135 and to video/audio control 115 .
  • data receiver 105 can receive primary content data 107 from any of a wide range of external sources, including cable television providers, digital satellite system providers, traditional analog television providers, digital cable providers, digital broadcast providers, video cassettes, digital video disks, etc.
  • Another possible source is a programming provider which provides Internet broadcasts of video and/or audio data via the Internet.
  • primary content data 107 can be provided to data receiver 105 using any of a wide range of conventional mediums, including both wireless (e.g., radio frequency) and wired (e.g., cable), and can be received directly (e.g., using a satellite dish), or indirectly (e.g., via a network such as the Internet or a local area network).
  • Data receiver 105 identifies to subsidiary data control 135 from which one of multiple external sources data receiver 105 is receiving data. This identification includes both the source as well as the channel of the source (if appropriate) to which data receiver 105 is currently “tuned”.
  • primary content data 107 is television programming content data. In alternate embodiments, primary content data 107 is another non-television programming type of video and/or audio data.
  • data receiver 105 receives primary content data 107 via a television tuner board or card, such as either the VIDEO RAGE or VIDEO RAGE II graphics cards available from STB Systems, Inc. of Richardson, Texas.
  • data receiver 105 receives primary content data 107 via a digital video broadcast (DVB) receiver card.
  • DVD digital video broadcast
  • other conventional television tuner boards or devices can be used. The operation of such tuner boards and devices is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • primary content data 107 includes video and/or audio data which data receiver 105 provides to video/audio control 115 .
  • data receiver 105 digitizes primary content data 107 and provides the digital representation of the primary content data 107 to video/audio control 115 .
  • video/audio control 115 forwards the video portion of the data to a display device for display to a user and the audio portion of the data to a playback device for playing to the user.
  • Video/audio control 115 can also receive subsidiary data from subsidiary data control 135 .
  • This subsidiary data is intended to supplement the primary content data 107 and provide additional information to the user, typically information which is complementary to primary content data 107 .
  • This subsidiary data is received by subsidiary data control 135 as subsidiary data 117 , and, as discussed in more detail below, is either stored for later use or passed through to video/audio control 115 .
  • Video/audio control 115 combines the primary content data with the subsidiary data and forwards the combined data to the display and audio devices. It is to be appreciated that additional components (not shown in FIG. 1) may be situated between video/audio control 115 and the display and playback devices, such as a display adapter having video memory which stores the data prior to providing the data to the display device. Video/audio control 115 separates the display into multiple sections, at least one of which is used to display the video of the primary content data and at least one other of which is used to display the video of the subsidiary data The combining of two different video sources for concurrent display is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • video/audio control 115 can separate the display into multiple sections in any of a wide variety of formats. Examples of such separation formats include, but are not limited to, the following: top and bottom of either equal or unequal sizes, left and right of either equal or unequal sizes, border and center, and one window within another (e.g., using a picture-in-picture type format).
  • subsidiary data 117 indicates how video/audio control 115 is to separate the display. Alternatively, how the display is to be separated can be pre-programmed into video/audio control 115 or subsidiary data control 135 .
  • Video/audio control 115 also combines the audio data from the primary content data with the audio data from the subsidiary data and forwards the combined audio data to the playback device.
  • the combining of two different audio sources for concurrent playback is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • subsidiary data 117 also referred to as “extracast” information or data, comprises additional multimedia data which is designed to supplement one or more programs from primary content data 107 .
  • additional multimedia data include reference information regarding the programs, additional biographical information regarding the actors, guests, or participants of a program, advertisements, etc.
  • subsidiary data 117 includes multiple HyperText Markup Language (HTML) documents.
  • HTML HyperText Markup Language
  • the source of subsidiary data 117 can be any of a wide range of data sources. Examples of such sources include, but are not limited to, the sources of primary content data 107 . Additional examples of such sources include file servers accessed via a dial-up connection or network (such as a local area network or the Internet) and volatile or nonvolatile storage devices such as magnetic diskettes or CD-ROMs.
  • subsidiary data 117 is independent of primary content data 107 .
  • the receipt of primary content data 107 and subsidiary data 117 are independent of each other.
  • subsidiary data 117 corresponding to a particular program can be received in advance of that particular program.
  • subsidiary data 117 corresponding to a particular program is received during the vertical blanking intervals (VBIs) of one or more predecessor programs.
  • VBIs vertical blanking intervals
  • Subsidiary data control 135 includes reception logic 137 , storage/retrieval logic 139 , synchronization logic 141 , and user interface logic 143 .
  • Reception logic 137 controls reception of subsidiary data 117 from an external source and provides subsidiary data 117 to either storage/retrieval logic 139 or synchronization logic 141 .
  • Subsidiary data 117 includes one or more portions each of which corresponds to one or more programs which can be received as primary content data 107 by data receiver 105 .
  • each portion of subsidiary data 117 includes an identifier indicating to which program(s) of primary content data 107 the particular portion corresponds.
  • reception logic 137 provides received subsidiary data 117 to storage/retrieval logic 139 , which in turn stores the received subsidiary data to a local long-term storage device for subsequent retrieval.
  • storage/retrieval logic 139 also maintains a storage database which identifies each portion of subsidiary data available to subsidiary data control 135 as well as an identifier indicating to which program each portion corresponds.
  • subsidiary data control 135 can readily determine which portion of subsidiary data, if any, corresponds to any given program.
  • the storage database could identify subsidiary data for all of primary content data 107 , or alternatively only that subsidiary data which is stored in the local long-term storage device.
  • an identifier of the portion of subsidiary data to be provided is stored in a programming guide.
  • the portion is immediately identified by storage/retrieval logic 139 using this identifier rather than requiring an additional lookup in the storage database.
  • This mode of operation may be used for example in situations where the portion of subsidiary data 117 which corresponds to a program of primary content data 107 is received prior to reception of the program, or situations where the user desires long-term storage of the portion of subsidiary data 117 , such as for future use.
  • subsidiary data control 135 forwards the subsidiary data directly to the display device upon receipt.
  • reception logic 137 provides received subsidiary data 117 to synchronization logic 141 , which in turn synchronizes subsidiary data 117 to primary content data 107 .
  • subsidiary data 117 may be stored temporarily in system memory during this reception and synchronization process. This mode of operation may be used for example in situations where the portion of subsidiary data 117 corresponding to a currently received program of primary content data 107 is being received approximately concurrently with reception of the program.
  • reception logic 137 accesses a remote location, such as a remote server, to obtain the desired subsidiary data.
  • a remote location such as a remote server
  • the identity of the remote location for such subsidiary data is preprogrammed into reception logic 137 .
  • the identity of the remote location is stored in the programming guide, discussed below, or alternatively received as part of primary content data 107 .
  • accesses to a remote server, or other remote location, to obtain the subsidiary data are monitored by the remote server.
  • the remote server can then charge users a fee for accessing the subsidiary data on the remote server.
  • the amount of such charges could be based on an access time basis, subject matter basis, amount of data retrieved basis, etc.
  • Such fees could be collected in any of a wide range of manners, including bills, charges to a credit card, applying to a credit account maintained at the remote server, etc.
  • synchronization logic 141 controls synchronization of subsidiary data 117 to primary content data 107 .
  • data receiver 105 notifies subsidiary data control 135 of any changes in the channel and/or source of primary content data to which the television tuner board coupled to data receiver 105 is currently “tuned”.
  • subsidiary data control 135 repeatedly inquiries data receiver 105 as to which channel the television tuner board is currently “tuned”, thereby alleviating receiver 105 and/or the television tuner board of the burden of detecting and notifying a channel and/or source change to control 135 .
  • an additional agent controls the television tuner board to “tune” to a particular channel and/or source, and this additional agent also notifies subsidiary data control 135 of the current channel and/or source to which the television tuner board is currently “tuned”.
  • synchronization logic 141 inquiries programming database control 125 as to the identity of the program being received from the identified channel/source combination.
  • Programming database control 125 is coupled to a programming guide corresponding to primary content data 107 .
  • the programming guide provides programming information corresponding to various media (cable, RF broadcast, satellite, audio programming, Internet programming, etc.), channels available in each medium, and program time slots. This information is available for each day of the week (Sunday-Saturday), and for each day of the month (1-31), as appropriate.
  • the programming guide includes a listing for each channel of each source of primary content data 107 .
  • Additional information can also be stored for the various programs in the programming guide. Examples of such additional information include: an identifier of a portion of subsidiary data, a location of the portion of subsidiary data, the length of the program, a program description/synopsis, actors/actresses, director, date of first airing or release, program genre, channel call-sign, rating, critique, etc.
  • the programming guide is updated periodically by accessing a remote server (not shown) via a telephone or network connection or via other mediums such as distributed diskettes or CD-ROMs, a VBI of a television signal, or an additional data stream corresponding to a digital video signal (e.g., from a satellite system).
  • the identity of the program being received as primary content data 107 at any given moment can be ascertained without the use of the programming guide.
  • additional embodiments include, but are not limited to, additional databases or libraries of local sources such as video cassettes or digital video disks, and receiving an identifier from the program source itself (e.g., an identifier at the beginning of and perhaps periodically throughout the program).
  • programming database control 125 makes the programming guide available for user access.
  • programming database control 125 or alternatively another component (not shown), provides an interface, such as a graphical user interface, which allows a user to interact with programming database control 125 and thereby access the contents of the programming guide.
  • Synchronization logic 141 accesses the current system time, such as from an internal clock (not shown), and forwards the channel, source, and current system time information to programming database control 125 .
  • Programming database control 125 uses this information to access the programming guide and obtain an identifier of the program corresponding to the channel, source, and current system time. The identifier of the program is then returned to synchronization logic 141 .
  • Synchronization logic 141 forwards the identifier of the program to storage/retrieval logic 139 , which accesses the storage database to determine whether any subsidiary data corresponds to the program.
  • Storage/retrieval logic 139 indicates to synchronization logic 141 whether such corresponding information exists. If no such corresponding information exists, then synchronization logic 141 does not provide any subsidiary data to accompany the primary content data. However, if such corresponding information exists, then synchronization logic 141 obtains and provides the appropriate pieces of the corresponding portion for concurrent display with the primary content data, as discussed in more detail below.
  • Each portion of subsidiary data stored in the storage device includes one or more corresponding time periods. Each of these time periods identifies a piece of the portion of subsidiary data which corresponds to a particular time in the program of the primary content data. These time periods are included as part of subsidiary data 117 received by subsidiary data control 135 and are used by synchronization logic 141 in obtaining the subsidiary data.
  • Synchronization logic 141 accesses the programming guide via programming database control 125 to identify the current temporal position in the program.
  • the programming guide identifies the time at which the current program started and, based on the current system time, synchronization logic 141 calculates the elapsed time of the program.
  • synchronization logic 141 uses the elapsed time of the program and the time period of the portion of subsidiary data 117 , synchronization logic 141 identifies which piece of the corresponding subsidiary data 117 portion is to be provided via the display device.
  • the display of the subsidiary data is synchronized to the display of the primary content data.
  • each piece of a portion of subsidiary data includes a particular “tag value” or identifier.
  • primary content data 107 includes a tag value or identifier identifying which piece of subsidiary data is currently to be provided with the program of primary content data 107 .
  • this tag value or identifier is transmitted during the vertical blanking interval for primary content data 107 .
  • data receiver 105 transmits the tag value or identifier to synchronization logic 141 of subsidiary data control 135 for synchronizing the identified piece of subsidiary data to the program.
  • the tag values received as part of primary content data 107 indicate the elapsed time of the program.
  • FIG. 2 is a diagram illustrating a data structure storing multiple portions of subsidiary data according to one embodiment of the present invention.
  • FIG. 2 illustrates multiple (X) portions 202 and 204 , each including a portion identifier, multiple time periods and corresponding data pieces.
  • portion 202 includes a portion identifier 211 , multiple (N) time period identifiers 212 , 213 , and 214 , and multiple (N) corresponding data pieces 217 , 218 , and 219 , respectively.
  • portion 204 includes portion identifier 221 , multiple (M) time period identifiers 222 and 223 , and multiple (M) corresponding data pieces 227 and 228 , respectively.
  • data structure 200 includes a portion for only one program rather than multiple programs. In other alternate embodiments, certain portions include only a single time period and corresponding data piece.
  • subsidiary data control 135 also includes user interface logic 143 .
  • User interface logic 143 provides an interface, such as a graphical user interface (GUI), to users of the system which allows the users to interact with storage/retrieval logic 139 .
  • GUI graphical user interface
  • User interface logic 143 provides a user with prompts which allow the user to enter search terms to search the storage database.
  • user interface logic 143 also provides a user with prompts which allow the user to identify a particular portion of subsidiary data and view the data independent of the receipt of the corresponding program via primary content data 107 .
  • GUI graphical user interface
  • user interface logic 143 is an interface which provides other applications with access to storage/retrieval logic 139 and thus the stored subsidiary data.
  • user interface logic 143 is an Application Programming Interface (API) which can be accessed by other applications.
  • API Application Programming Interface
  • user interface logic 143 instructs another interface unit (not shown) to display the subsidiary data.
  • synchronization logic 141 can be enabled and disabled by a user.
  • this enablement option is made available to the user via an on-screen programming guide.
  • a user is able to access the programming guide via programming database control 125 for information on the programs available in primary content data 107 .
  • an additional user-selectable icon is provided to the user which allows the user to toggle enablement of subsidiary data.
  • programming database control 125 notifies synchronization logic 141 of whether subsidiary data provision has been enabled or disabled.
  • synchronization logic 141 is coupled to a database which cross-references channel, source, and time combinations to subsidiary data.
  • each portion of subsidiary data is identified according to a channel and source combination rather than a program name.
  • data receiver 105 and video/audio control 115 are both implemented on the television tuner board.
  • subsidiary data control 135 receives an indication of the current source and channel, as appropriate, of primary content data 107 and in response forwards the corresponding subsidiary data to the tuner board.
  • multiple tuner boards, or multiple sets of “tuning” logic on a single board, of the same or different types can be used concurrently with the present invention.
  • multiple programs of primary content data 107 can be “tuned” simultaneously and either selectively or concurrently provided to video/audio control 115 .
  • FIG. 3 is a flowchart illustrating the steps followed in providing subsidiary data to supplement primary content data according to one embodiment of the present invention.
  • Synchronization logic 141 first checks whether provision of subsidiary data for the currently “tuned” channel is enabled, step 305 . If provision of subsidiary data is not enabled, then synchronization logic 141 repeats step 305 until provision of subsidiary data is enabled. However, if display of subsidiary data is enabled, then synchronization logic 141 checks whether a new channel or source has been “tuned”, step 310 . If a new channel or source has been “tuned”, then synchronization logic 141 returns to step 305 to check whether provision of subsidiary data for the newly “tuned” channel is enabled.
  • synchronization logic 141 checks whether subsidiary data is available for the currently “tuned” channel and source, step 315 . As discussed above, the subsidiary data could be available either locally or remotely. If subsidiary data is not available, then synchronization logic 141 returns to step 305 .
  • synchronization logic 141 obtains the subsidiary data and synchronizes the subsidiary data to the currently “tuned” channel and source, step 320 .
  • Synchronization logic 141 displays and plays back a piece of the synchronized subsidiary data via the display and playback devices concurrently with the currently “tuned” channel and source, step 325 .
  • Synchronization logic 141 then checks whether additional pieces of subsidiary data for the currently “tuned” channel and source are available, step 330 . If so, then these additional pieces are also displayed and played back. However, if there is no additional subsidiary data for the currently “tuned” channel, then synchronization logic 141 returns to step 305 to await enablement for a newly “tuned” channel or source.
  • synchronization logic 141 can interrupt the checking, synchronization, and display and playback steps 315 , 320 , 325 , and 330 at any time. Such interrupting is done, for example, in response to a change in the currently “tuned” channel or source, after which synchronization logic 141 returns to step 305 .
  • step 315 is optional.
  • display and playback of subsidiary data can be enabled only for those programs which have corresponding subsidiary data Thus, there is no need to perform the dual check of steps 305 and 315 .
  • step 305 is optional.
  • subsidiary data control 135 only activates synchronization logic 141 when display of subsidiary data is enabled. Furthermore, once display of subsidiary data is disabled, subsidiary data control 135 deactivates synchronization logic 141 . Thus, no repeated checking of whether subsidiary data display is enabled is necessary.
  • FIG. 4 is a flowchart illustrating the steps followed in synchronizing subsidiary data to primary content data according to one embodiment of the present invention.
  • synchronization logic 141 identifies the elapsed time of the program, step 405 .
  • synchronization logic 141 determines a piece of the subsidiary data portion corresponding to the program with a time period corresponding to the elapsed time of the program, step 410 .
  • Synchronization logic 141 then obtains that piece of the subsidiary data for provision to the user, step 415 .
  • FIG. 5 is a block diagram illustrating the system components of one embodiment of an entertainment system in which the present invention may be practiced.
  • system 500 includes system controller or machine 504 which, in one embodiment, is configured to store a programming guide and subsidiary data.
  • System 500 may also be referred to as a “convergence system” designed to integrate the world of entertainment systems and computing platforms.
  • system controller 504 is a computer system incorporated with the teachings of the present invention, as will be discussed in further detail below.
  • system controller 504 is a “set-top” box endowed with the necessary processing power and incorporated with the teachings of the present invention.
  • FIG. 5 illustrates but one example of an entertainment system incorporated with the teachings of the present invention.
  • system 500 includes television/monitor 502 , video recorder/playback device 506 , digital video disk (referred to as “DVD”, which is currently used as an acronym for digital video disk, although it appears that the usage is being changed to digital versatile disk to reflect the use of DVD technology for data other than video) recorder/playback device 514 , audio/video tuner and amplifier 510 , audio playback/recorder device 522 and compact disc player 512 , all coupled to a common input/output (I/O) bus 508 .
  • I/O input/output
  • common I/O bus 508 is for ease of explanation in the diagram only, and that a number of alternative means of routing input and output signals may be beneficially employed.
  • audio input and output could be routed with an appropriate number of independent audio “patch” cables
  • video signals may be routed with independent coaxial cable
  • control signals may be routed along a two-wire serial line, or through infrared (IR) communication signals or radio frequency (RF) communication signals.
  • IR infrared
  • RF radio frequency
  • video recorder/playback device 506 , DVD 514 , audio playback/recorder device 522 , and compact disc player 512 can be single-disk or single-cassette device, or alternatively can be multiple-disk or multiple-cassette devices.
  • system 500 includes speaker system 516 , microphone 518 , video camera 520 and a wireless input/output (I/O) control device 532 .
  • wireless I/O control device 532 is an entertainment system remote control unit which communicates with the components of system 500 through IR signals.
  • wireless I/O control device 532 may be a wireless keyboard and cursor positioning device that communicates with the components of system 500 through IR signals or RF signals.
  • wireless I/O control device 532 may be an I/R remote control device similar in appearance to a typical entertainment system remote control with the added feature of a track-ball, which allows a user to position a cursor on a display of system 500 .
  • system controller 504 incorporated with the features of the present invention, configured to control a wide variety of features associated with each of the system components.
  • system controller 504 is coupled, either directly or indirectly, to each of the system components, as necessary, through I/O bus 508 .
  • system controller 504 is configured with a wireless communications transmitter (or transceiver), which is capable of communicating with the system components via IR signals or RF signals 508 ′.
  • system controller 504 is configured to control one or more of the entertainment system components of system 500 , although it is understood that each of the components may be individually controlled with wireless I/O device 532 .
  • system 500 can be configured to receive primary content data and subsidiary data from a wide variety of sources.
  • system 500 receives primary content data and subsidiary data from any or all of the following sources: cable broadcast 524 , satellite broadcast 526 (e.g., via a satellite dish), very high frequency (VHF) or ultra high frequency (UHF) radio frequency communication of the broadcast networks 534 (e.g., via an aerial antenna), telephone/computer network interface 528 , video recorder/playback device 506 , DVD 514 , and/or information stored locally at system controller 504 or another component of system 500 .
  • cable broadcast input 524 , satellite broadcast input 526 and VHF/UHF input 534 may beneficially receive input from digital broadcast programming and digital cable programming.
  • system controller 504 is intended to represent a broad category of “computing” devices known in the art.
  • Examples of such “computing” devices include conventional desktop computers as well as Internet “appliance” devices, such as a WebTVTM Internet Terminal available from Sony Electronics Inc. of Park Ridge, N.J., or Philips Consumer Electronics Company of Knoxville, Tenn.
  • WebTVTM Internet Terminal available from Sony Electronics Inc. of Park Ridge, N.J., or Philips Consumer Electronics Company of Knoxville, Tenn.
  • a number of audio and video input and output peripherals/interfaces for receiving, digitizing and compressing audio and video signals are also known in the art. It is to be appreciated that the housing size and design for system controller 504 may be altered, allowing it to better visually fit into system 500 .
  • system controller 504 could be integrated into television/monitor 502 , DVD 514 , or audio/video tuner and amplifier 510 .
  • FIG. 6 illustrates another embodiment of a hardware system suitable for use with the present invention.
  • hardware system 600 includes processor 602 and cache memory 604 coupled to each other as shown. Additionally, hardware system 600 includes high performance input/output (I/O) bus 606 and standard I/O bus 608 .
  • Host bridge 610 couples processor 602 to high performance I/O bus 606
  • I/O bus bridge 612 couples the two buses 606 and 608 to each other. Coupled to bus 606 are network/communication interface 624 , system memory 614 , and video memory 616 .
  • display device 618 is coupled to video memory 616 .
  • mass storage 620 Coupled to bus 608 is mass storage 620 , keyboard and pointing device 622 , and I/O ports 626 .
  • mass storage 620 couples to bus 608 to mass storage 620 , keyboard and pointing device 622 , and I/O ports 626 .
  • these elements are intended to represent a broad category of hardware systems, including but not limited to general purpose computer systems based on the Pentium® processor, Pentium® Pro processor, or Pentium® II processor, manufactured by Intel Corporation of Santa Clara, Calif.
  • various electronic devices are also coupled to high performance I/O bus 606 .
  • analog tuner/digital satellite/cable devices 628 are also coupled to high performance I/O bus 606 .
  • additional video sources 630 are also coupled to high performance I/O bus 606 .
  • audio outputs 632 are also coupled to high performance I/O bus 606 .
  • network/communication interface 624 is used to provide communication between system 600 and any of a wide range of conventional networks, such as an Ethernet, token ring, the Internet, etc. It is to be appreciated that the circuitry of interface 624 is dependent on the type of network the system 600 is being coupled to.
  • Mass storage 620 is used to provide permanent storage for the data and programming instructions to implement the above described functions, whereas system memory 614 is used to provide temporary storage for the data and programming instructions when executed by processor 602 .
  • I/O ports 626 are one or more serial and/or parallel communication ports used to provide communication between additional peripheral devices which may be coupled to hardware system 600 .
  • cache 604 may be on-chip with processor 602 .
  • cache 604 and processor 602 may be packed together as a “processor module”, with processor 602 being referred to as the “processor core”.
  • certain implementations of the present invention may not require nor include all of the above components.
  • mass storage 620 , keyboard and pointing device 622 , and/or display device 618 and video memory 616 may not be included in system 600 .
  • the peripheral devices shown coupled to standard I/O bus 608 may be coupled to high performance I/O bus 606 ; in addition, in some implementations only a single bus may exist with the components of hardware system 600 being coupled to the single bus.
  • additional components may be included in system 600 , such as additional processors, storage devices, or memories.
  • the method and apparatus for providing subsidiary data synchronous to primary content data is implemented as a series of software routines run by hardware system 600 of FIG. 6.
  • data receiver 105 , video/audio control 115 , programming database control 125 , and subsidiary data control 135 of FIG. 1 are each implemented as a series of software routines.
  • These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 602 of FIG. 6. Initially, the series of instructions are stored on a storage device, such as mass storage 620 .
  • the series of instructions can be stored using any conventional storage medium, such as a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM, Flash memory, etc. It is also to be appreciated that the series of instructions need not be stored locally, and could be received from a remote storage device, such as a server on a network, via network/communication interface 624 .
  • the instructions are copied from the storage device, such as mass storage 620 , into memory 614 and then accessed and executed by processor 602 .
  • these software routines are written in the C++ programming language. It is to be appreciated, however, that these routines may be implemented in any of a wide variety of programming languages.
  • the present invention is implemented in discrete hardware or firmware.
  • one or more application specific integrated circuits could be programmed with the above described functions of the present invention.
  • data receiver 105 , video/audio control 115 , programming database control 125 , and subsidiary data control 135 of FIG. 1 could be implemented in one or more ASICs of an additional circuit board for insertion into hardware system 600 of FIG. 6.

Abstract

Primary content data is received from an external source and subsidiary data is obtained which corresponds to the primary content data, wherein the subsidiary data is independent of the primary content data. The subsidiary data is provided synchronous to the primary content data.

Description

    RELATED APPLICATIONS
  • This application is a continuation of prior application Ser. No. 08/924,538, filed on Sep. 5, 1997, which claims priority to Provisional Application No. 60/024,704 to Goldschmidt et al., for “System for Presenting ‘Extracast’ Information for 1996, which is assigned to the assignee of the present application.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The present invention pertains to the display and playback of video and/or audio data. More particularly, this invention relates to providing subsidiary data synchronous to primary content data. [0003]
  • 2. Background [0004]
  • A recent trend in the electronics and computer industry is the convergence of computer systems and more traditional entertainment system components. Such convergence allows an increasingly broad range of information to be made available for system users over and above the broadcast television programming which has long been provided via conventional televisions. [0005]
  • One method of providing additional information to users to supplement the viewing of a television program is to provide additional information during the vertical blanking interval (VBI) of the program. However, this method limits the user to receiving information only during the program and only while tuned to the appropriate channel. Changing the channel during the program or temporarily turning off the television during part of the program can result in the loss of part of the additional information. Furthermore, the amount of data which can be transferred during the VBI of a program is limited due to the relatively small bandwidth of the VBI. Thus, it would be beneficial to provide a more robust way to provide additional information to supplement the viewing of television programming. [0006]
  • Therefore, a need exists for a method and apparatus for more effective provision of subsidiary data to supplement primary content data. [0007]
  • SUMMARY OF THE INVENTION
  • According to one embodiment of the present invention, primary content data is received from an external source and subsidiary data is obtained which corresponds to the primary data, wherein the subsidiary data is independent of the primary content data. The subsidiary data is provided synchronous to the primary data. [0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which: [0009]
  • FIG. 1 is a block diagram illustrating a system architecture for providing subsidiary data complementary to primary content data according to one embodiment of the present invention; [0010]
  • FIG. 2 is a diagram illustrating a data structure storing multiple portions of subsidiary data according to one embodiment of the present invention; [0011]
  • FIG. 3 is a flowchart illustrating the steps followed in providing subsidiary data to supplement primary content data according to one embodiment of the present invention; [0012]
  • FIG. 4 is a flowchart illustrating the steps followed in synchronizing subsidiary data to primary content data according to one embodiment of the present invention; [0013]
  • FIG. 5 is a block diagram illustrating the system components of one embodiment of an entertainment system in which the present invention may be practiced; and [0014]
  • FIG. 6 illustrates another embodiment of a hardware system suitable for use with the present invention. [0015]
  • DETAILED DESCRIPTION
  • In the following detailed description numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances well known methods, procedures, components, and circuits have not been described in detail. [0016]
  • Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic 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. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices. [0017]
  • FIG. 1 is a block diagram illustrating a system architecture for providing subsidiary data complementary to primary content data according to one embodiment of the present invention. The system architecture includes [0018] primary data receiver 105, video/audio control 115, programming database control 125, and subsidiary data control 135 coupled together as illustrated. Data receiver 105 receives primary content data 107 from an external source (not shown), while subsidiary data control 135 receives subsidiary data 117 from another external source (not shown).
  • [0019] Data receiver 105 is communicatively coupled to subsidiary data control 135 and to video/audio control 115. In the illustrated embodiment, data receiver 105 can receive primary content data 107 from any of a wide range of external sources, including cable television providers, digital satellite system providers, traditional analog television providers, digital cable providers, digital broadcast providers, video cassettes, digital video disks, etc. Another possible source is a programming provider which provides Internet broadcasts of video and/or audio data via the Internet. It is also to be appreciated that primary content data 107 can be provided to data receiver 105 using any of a wide range of conventional mediums, including both wireless (e.g., radio frequency) and wired (e.g., cable), and can be received directly (e.g., using a satellite dish), or indirectly (e.g., via a network such as the Internet or a local area network). Data receiver 105 identifies to subsidiary data control 135 from which one of multiple external sources data receiver 105 is receiving data. This identification includes both the source as well as the channel of the source (if appropriate) to which data receiver 105 is currently “tuned”.
  • In one embodiment of the present invention, [0020] primary content data 107 is television programming content data. In alternate embodiments, primary content data 107 is another non-television programming type of video and/or audio data.
  • In one embodiment, [0021] data receiver 105 receives primary content data 107 via a television tuner board or card, such as either the VIDEO RAGE or VIDEO RAGE II graphics cards available from STB Systems, Inc. of Richardson, Texas. In another embodiment, data receiver 105 receives primary content data 107 via a digital video broadcast (DVB) receiver card. However, in alternate embodiments other conventional television tuner boards or devices can be used. The operation of such tuner boards and devices is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • Whatever the source, [0022] primary content data 107 includes video and/or audio data which data receiver 105 provides to video/audio control 115. In one embodiment of the present invention, data receiver 105 digitizes primary content data 107 and provides the digital representation of the primary content data 107 to video/audio control 115. In alternate embodiments where primary content data 107 is already in digital form, or where video/audio control 115 expects data in analog form, such digitization is not necessary. Video/audio control 115 forwards the video portion of the data to a display device for display to a user and the audio portion of the data to a playback device for playing to the user.
  • Video/[0023] audio control 115 can also receive subsidiary data from subsidiary data control 135. This subsidiary data is intended to supplement the primary content data 107 and provide additional information to the user, typically information which is complementary to primary content data 107. This subsidiary data is received by subsidiary data control 135 as subsidiary data 117, and, as discussed in more detail below, is either stored for later use or passed through to video/audio control 115.
  • Video/[0024] audio control 115 combines the primary content data with the subsidiary data and forwards the combined data to the display and audio devices. It is to be appreciated that additional components (not shown in FIG. 1) may be situated between video/audio control 115 and the display and playback devices, such as a display adapter having video memory which stores the data prior to providing the data to the display device. Video/audio control 115 separates the display into multiple sections, at least one of which is used to display the video of the primary content data and at least one other of which is used to display the video of the subsidiary data The combining of two different video sources for concurrent display is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • It is to be appreciated that video/[0025] audio control 115 can separate the display into multiple sections in any of a wide variety of formats. Examples of such separation formats include, but are not limited to, the following: top and bottom of either equal or unequal sizes, left and right of either equal or unequal sizes, border and center, and one window within another (e.g., using a picture-in-picture type format). In the illustrated embodiment, subsidiary data 117 indicates how video/audio control 115 is to separate the display. Alternatively, how the display is to be separated can be pre-programmed into video/audio control 115 or subsidiary data control 135.
  • Video/[0026] audio control 115 also combines the audio data from the primary content data with the audio data from the subsidiary data and forwards the combined audio data to the playback device. The combining of two different audio sources for concurrent playback is well-known to those skilled in the art and thus will not be discussed further except as it pertains to the present invention.
  • In the illustrated embodiment, [0027] subsidiary data 117, also referred to as “extracast” information or data, comprises additional multimedia data which is designed to supplement one or more programs from primary content data 107. Examples of such additional multimedia data include reference information regarding the programs, additional biographical information regarding the actors, guests, or participants of a program, advertisements, etc. In one implementation, subsidiary data 117 includes multiple HyperText Markup Language (HTML) documents.
  • The source of [0028] subsidiary data 117 can be any of a wide range of data sources. Examples of such sources include, but are not limited to, the sources of primary content data 107. Additional examples of such sources include file servers accessed via a dial-up connection or network (such as a local area network or the Internet) and volatile or nonvolatile storage devices such as magnetic diskettes or CD-ROMs. In the illustrated embodiment subsidiary data 117 is independent of primary content data 107. The receipt of primary content data 107 and subsidiary data 117 are independent of each other. Thus, a portion of subsidiary data 117 corresponding to a particular program can be received in advance of that particular program. In one implementation, subsidiary data 117 corresponding to a particular program is received during the vertical blanking intervals (VBIs) of one or more predecessor programs.
  • [0029] Subsidiary data control 135 includes reception logic 137, storage/retrieval logic 139, synchronization logic 141, and user interface logic 143. Reception logic 137 controls reception of subsidiary data 117 from an external source and provides subsidiary data 117 to either storage/retrieval logic 139 or synchronization logic 141. Subsidiary data 117 includes one or more portions each of which corresponds to one or more programs which can be received as primary content data 107 by data receiver 105. In one embodiment, each portion of subsidiary data 117 includes an identifier indicating to which program(s) of primary content data 107 the particular portion corresponds.
  • According to one mode of operation, [0030] reception logic 137 provides received subsidiary data 117 to storage/retrieval logic 139, which in turn stores the received subsidiary data to a local long-term storage device for subsequent retrieval. In the illustrated embodiment, storage/retrieval logic 139 also maintains a storage database which identifies each portion of subsidiary data available to subsidiary data control 135 as well as an identifier indicating to which program each portion corresponds. Thus, by accessing the storage database, subsidiary data control 135 can readily determine which portion of subsidiary data, if any, corresponds to any given program. The storage database could identify subsidiary data for all of primary content data 107, or alternatively only that subsidiary data which is stored in the local long-term storage device. In another alternate embodiment, rather than maintaining a separate storage database, an identifier of the portion of subsidiary data to be provided is stored in a programming guide. Thus, the portion is immediately identified by storage/retrieval logic 139 using this identifier rather than requiring an additional lookup in the storage database. This mode of operation may be used for example in situations where the portion of subsidiary data 117 which corresponds to a program of primary content data 107 is received prior to reception of the program, or situations where the user desires long-term storage of the portion of subsidiary data 117, such as for future use.
  • In another mode of operation, subsidiary data control [0031] 135 forwards the subsidiary data directly to the display device upon receipt. In this mode of operation, reception logic 137 provides received subsidiary data 117 to synchronization logic 141, which in turn synchronizes subsidiary data 117 to primary content data 107. It is to be appreciated that subsidiary data 117 may be stored temporarily in system memory during this reception and synchronization process. This mode of operation may be used for example in situations where the portion of subsidiary data 117 corresponding to a currently received program of primary content data 107 is being received approximately concurrently with reception of the program.
  • In the illustrated embodiment of the present invention, if the desired subsidiary data is not available in the local storage device, then storage/[0032] retrieval logic 139 forwards the request to reception logic 137. In this situation, reception logic 137 accesses a remote location, such as a remote server, to obtain the desired subsidiary data. In one implementation, the identity of the remote location for such subsidiary data is preprogrammed into reception logic 137. In other implementations, the identity of the remote location is stored in the programming guide, discussed below, or alternatively received as part of primary content data 107.
  • According to one embodiment of the present invention, accesses to a remote server, or other remote location, to obtain the subsidiary data are monitored by the remote server. In this embodiment, the remote server can then charge users a fee for accessing the subsidiary data on the remote server. The amount of such charges could be based on an access time basis, subject matter basis, amount of data retrieved basis, etc. Such fees could be collected in any of a wide range of manners, including bills, charges to a credit card, applying to a credit account maintained at the remote server, etc. [0033]
  • When enabled, [0034] synchronization logic 141 controls synchronization of subsidiary data 117 to primary content data 107. In the illustrated embodiment, data receiver 105 notifies subsidiary data control 135 of any changes in the channel and/or source of primary content data to which the television tuner board coupled to data receiver 105 is currently “tuned”. In an alternate embodiment, subsidiary data control 135 repeatedly inquiries data receiver 105 as to which channel the television tuner board is currently “tuned”, thereby alleviating receiver 105 and/or the television tuner board of the burden of detecting and notifying a channel and/or source change to control 135. In another alternate embodiment, an additional agent (not shown) controls the television tuner board to “tune” to a particular channel and/or source, and this additional agent also notifies subsidiary data control 135 of the current channel and/or source to which the television tuner board is currently “tuned”.
  • Based on the channel and source to which the television tuner board, and thus [0035] data receiver 105, is “tuned”, synchronization logic 141 inquiries programming database control 125 as to the identity of the program being received from the identified channel/source combination. Programming database control 125 is coupled to a programming guide corresponding to primary content data 107. The programming guide provides programming information corresponding to various media (cable, RF broadcast, satellite, audio programming, Internet programming, etc.), channels available in each medium, and program time slots. This information is available for each day of the week (Sunday-Saturday), and for each day of the month (1-31), as appropriate. In one implementation, the programming guide includes a listing for each channel of each source of primary content data 107. Additional information can also be stored for the various programs in the programming guide. Examples of such additional information include: an identifier of a portion of subsidiary data, a location of the portion of subsidiary data, the length of the program, a program description/synopsis, actors/actresses, director, date of first airing or release, program genre, channel call-sign, rating, critique, etc. In one implementation, the programming guide is updated periodically by accessing a remote server (not shown) via a telephone or network connection or via other mediums such as distributed diskettes or CD-ROMs, a VBI of a television signal, or an additional data stream corresponding to a digital video signal (e.g., from a satellite system).
  • In alternate embodiments of the present invention, the identity of the program being received as [0036] primary content data 107 at any given moment can be ascertained without the use of the programming guide. Such additional embodiments include, but are not limited to, additional databases or libraries of local sources such as video cassettes or digital video disks, and receiving an identifier from the program source itself (e.g., an identifier at the beginning of and perhaps periodically throughout the program).
  • According to one embodiment of the present invention, [0037] programming database control 125 makes the programming guide available for user access. In this embodiment, programming database control 125, or alternatively another component (not shown), provides an interface, such as a graphical user interface, which allows a user to interact with programming database control 125 and thereby access the contents of the programming guide.
  • [0038] Synchronization logic 141 accesses the current system time, such as from an internal clock (not shown), and forwards the channel, source, and current system time information to programming database control 125. Programming database control 125 uses this information to access the programming guide and obtain an identifier of the program corresponding to the channel, source, and current system time. The identifier of the program is then returned to synchronization logic 141.
  • [0039] Synchronization logic 141 forwards the identifier of the program to storage/retrieval logic 139, which accesses the storage database to determine whether any subsidiary data corresponds to the program. Storage/retrieval logic 139 indicates to synchronization logic 141 whether such corresponding information exists. If no such corresponding information exists, then synchronization logic 141 does not provide any subsidiary data to accompany the primary content data. However, if such corresponding information exists, then synchronization logic 141 obtains and provides the appropriate pieces of the corresponding portion for concurrent display with the primary content data, as discussed in more detail below.
  • Each portion of subsidiary data stored in the storage device includes one or more corresponding time periods. Each of these time periods identifies a piece of the portion of subsidiary data which corresponds to a particular time in the program of the primary content data. These time periods are included as part of [0040] subsidiary data 117 received by subsidiary data control 135 and are used by synchronization logic 141 in obtaining the subsidiary data.
  • [0041] Synchronization logic 141 accesses the programming guide via programming database control 125 to identify the current temporal position in the program. In other words, the programming guide identifies the time at which the current program started and, based on the current system time, synchronization logic 141 calculates the elapsed time of the program. Using the elapsed time of the program and the time period of the portion of subsidiary data 117, synchronization logic 141 identifies which piece of the corresponding subsidiary data 117 portion is to be provided via the display device. Thus, it can be said that the display of the subsidiary data is synchronized to the display of the primary content data.
  • According to another embodiment of the present invention, rather than including multiple time periods, each piece of a portion of subsidiary data includes a particular “tag value” or identifier. In this embodiment, [0042] primary content data 107 includes a tag value or identifier identifying which piece of subsidiary data is currently to be provided with the program of primary content data 107. In one implementation, this tag value or identifier is transmitted during the vertical blanking interval for primary content data 107. In response to the received tag value, data receiver 105 transmits the tag value or identifier to synchronization logic 141 of subsidiary data control 135 for synchronizing the identified piece of subsidiary data to the program. Thus, in this embodiment, the tag values received as part of primary content data 107 indicate the elapsed time of the program.
  • FIG. 2 is a diagram illustrating a data structure storing multiple portions of subsidiary data according to one embodiment of the present invention. FIG. 2 illustrates multiple (X) [0043] portions 202 and 204, each including a portion identifier, multiple time periods and corresponding data pieces. As illustrated, portion 202 includes a portion identifier 211, multiple (N) time period identifiers 212, 213, and 214, and multiple (N) corresponding data pieces 217, 218, and 219, respectively. Similarly, portion 204 includes portion identifier 221, multiple (M) time period identifiers 222 and 223, and multiple (M) corresponding data pieces 227 and 228, respectively.
  • In alternate embodiments, data structure [0044] 200 includes a portion for only one program rather than multiple programs. In other alternate embodiments, certain portions include only a single time period and corresponding data piece.
  • Returning to FIG. 1, [0045] subsidiary data control 135 also includes user interface logic 143. User interface logic 143 provides an interface, such as a graphical user interface (GUI), to users of the system which allows the users to interact with storage/retrieval logic 139. User interface logic 143 provides a user with prompts which allow the user to enter search terms to search the storage database. According to one embodiment, user interface logic 143 also provides a user with prompts which allow the user to identify a particular portion of subsidiary data and view the data independent of the receipt of the corresponding program via primary content data 107. By way of example, using interface logic 143, a user is able to view the subsidiary data prior to or subsequent to the receipt of the corresponding program.
  • In an alternate embodiment of the present invention, [0046] user interface logic 143 is an interface which provides other applications with access to storage/retrieval logic 139 and thus the stored subsidiary data. In one such alternate embodiment, user interface logic 143 is an Application Programming Interface (API) which can be accessed by other applications. In another such alternate embodiment, user interface logic 143 instructs another interface unit (not shown) to display the subsidiary data.
  • In one embodiment of the present invention, [0047] synchronization logic 141 can be enabled and disabled by a user. In one implementation, this enablement option is made available to the user via an on-screen programming guide. As discussed above, a user is able to access the programming guide via programming database control 125 for information on the programs available in primary content data 107. In this implementation, an additional user-selectable icon is provided to the user which allows the user to toggle enablement of subsidiary data. When selected by a user, programming database control 125 notifies synchronization logic 141 of whether subsidiary data provision has been enabled or disabled.
  • In an alternate embodiment of the present invention, [0048] synchronization logic 141 is coupled to a database which cross-references channel, source, and time combinations to subsidiary data. Thus, in this alternate embodiment, each portion of subsidiary data is identified according to a channel and source combination rather than a program name.
  • In an alternate embodiment of the present invention, [0049] data receiver 105 and video/audio control 115 are both implemented on the television tuner board. Thus, in this embodiment, subsidiary data control 135 receives an indication of the current source and channel, as appropriate, of primary content data 107 and in response forwards the corresponding subsidiary data to the tuner board.
  • In the discussions above, reference is made to the use of a single tuner board. However, in alternate embodiments multiple tuner boards, or multiple sets of “tuning” logic on a single board, of the same or different types can be used concurrently with the present invention. Thus, in these alternate embodiments, multiple programs of [0050] primary content data 107 can be “tuned” simultaneously and either selectively or concurrently provided to video/audio control 115.
  • FIG. 3 is a flowchart illustrating the steps followed in providing subsidiary data to supplement primary content data according to one embodiment of the present invention. [0051] Synchronization logic 141 first checks whether provision of subsidiary data for the currently “tuned” channel is enabled, step 305. If provision of subsidiary data is not enabled, then synchronization logic 141 repeats step 305 until provision of subsidiary data is enabled. However, if display of subsidiary data is enabled, then synchronization logic 141 checks whether a new channel or source has been “tuned”, step 310. If a new channel or source has been “tuned”, then synchronization logic 141 returns to step 305 to check whether provision of subsidiary data for the newly “tuned” channel is enabled. However, if a new channel or source has not been “tuned”, then synchronization logic 141 checks whether subsidiary data is available for the currently “tuned” channel and source, step 315. As discussed above, the subsidiary data could be available either locally or remotely. If subsidiary data is not available, then synchronization logic 141 returns to step 305.
  • However, if subsidiary data is available, [0052] synchronization logic 141 obtains the subsidiary data and synchronizes the subsidiary data to the currently “tuned” channel and source, step 320. Synchronization logic 141 then displays and plays back a piece of the synchronized subsidiary data via the display and playback devices concurrently with the currently “tuned” channel and source, step 325. Synchronization logic 141 then checks whether additional pieces of subsidiary data for the currently “tuned” channel and source are available, step 330. If so, then these additional pieces are also displayed and played back. However, if there is no additional subsidiary data for the currently “tuned” channel, then synchronization logic 141 returns to step 305 to await enablement for a newly “tuned” channel or source.
  • It should be noted that [0053] synchronization logic 141 can interrupt the checking, synchronization, and display and playback steps 315, 320, 325, and 330 at any time. Such interrupting is done, for example, in response to a change in the currently “tuned” channel or source, after which synchronization logic 141 returns to step 305.
  • In one embodiment of the present invention, [0054] step 315 is optional. In this embodiment, display and playback of subsidiary data can be enabled only for those programs which have corresponding subsidiary data Thus, there is no need to perform the dual check of steps 305 and 315.
  • In another embodiment of the present invention, [0055] step 305 is optional. In this embodiment, subsidiary data control 135 only activates synchronization logic 141 when display of subsidiary data is enabled. Furthermore, once display of subsidiary data is disabled, subsidiary data control 135 deactivates synchronization logic 141. Thus, no repeated checking of whether subsidiary data display is enabled is necessary.
  • FIG. 4 is a flowchart illustrating the steps followed in synchronizing subsidiary data to primary content data according to one embodiment of the present invention. Initially, [0056] synchronization logic 141 identifies the elapsed time of the program, step 405. Then, synchronization logic 141 determines a piece of the subsidiary data portion corresponding to the program with a time period corresponding to the elapsed time of the program, step 410. Synchronization logic 141 then obtains that piece of the subsidiary data for provision to the user, step 415.
  • FIG. 5 is a block diagram illustrating the system components of one embodiment of an entertainment system in which the present invention may be practiced. As will be discussed in greater detail below, [0057] system 500 includes system controller or machine 504 which, in one embodiment, is configured to store a programming guide and subsidiary data. System 500 may also be referred to as a “convergence system” designed to integrate the world of entertainment systems and computing platforms. in one embodiment, system controller 504 is a computer system incorporated with the teachings of the present invention, as will be discussed in further detail below. In another embodiment, system controller 504 is a “set-top” box endowed with the necessary processing power and incorporated with the teachings of the present invention.
  • As shown, FIG. 5 illustrates but one example of an entertainment system incorporated with the teachings of the present invention. In the illustrated embodiment, [0058] system 500 includes television/monitor 502, video recorder/playback device 506, digital video disk (referred to as “DVD”, which is currently used as an acronym for digital video disk, although it appears that the usage is being changed to digital versatile disk to reflect the use of DVD technology for data other than video) recorder/playback device 514, audio/video tuner and amplifier 510, audio playback/recorder device 522 and compact disc player 512, all coupled to a common input/output (I/O) bus 508. It is to be appreciated that the use of the common I/O bus 508 is for ease of explanation in the diagram only, and that a number of alternative means of routing input and output signals may be beneficially employed. For example, audio input and output could be routed with an appropriate number of independent audio “patch” cables, video signals may be routed with independent coaxial cable, and control signals may be routed along a two-wire serial line, or through infrared (IR) communication signals or radio frequency (RF) communication signals. It is also to be appreciated that video recorder/playback device 506, DVD 514, audio playback/recorder device 522, and compact disc player 512 can be single-disk or single-cassette device, or alternatively can be multiple-disk or multiple-cassette devices.
  • In addition, [0059] system 500 includes speaker system 516, microphone 518, video camera 520 and a wireless input/output (I/O) control device 532. In one embodiment, wireless I/O control device 532 is an entertainment system remote control unit which communicates with the components of system 500 through IR signals. In another embodiment, wireless I/O control device 532 may be a wireless keyboard and cursor positioning device that communicates with the components of system 500 through IR signals or RF signals. In yet another embodiment, wireless I/O control device 532 may be an I/R remote control device similar in appearance to a typical entertainment system remote control with the added feature of a track-ball, which allows a user to position a cursor on a display of system 500.
  • At the core of the system is [0060] system controller 504 incorporated with the features of the present invention, configured to control a wide variety of features associated with each of the system components. As depicted, system controller 504 is coupled, either directly or indirectly, to each of the system components, as necessary, through I/O bus 508. In one embodiment, in addition to or in place of I/O bus 508, system controller 504 is configured with a wireless communications transmitter (or transceiver), which is capable of communicating with the system components via IR signals or RF signals 508′. Regardless of the control medium, system controller 504 is configured to control one or more of the entertainment system components of system 500, although it is understood that each of the components may be individually controlled with wireless I/O device 532.
  • As illustrated in FIG. 5, [0061] system 500 can be configured to receive primary content data and subsidiary data from a wide variety of sources. In one embodiment, for example, system 500 receives primary content data and subsidiary data from any or all of the following sources: cable broadcast 524, satellite broadcast 526 (e.g., via a satellite dish), very high frequency (VHF) or ultra high frequency (UHF) radio frequency communication of the broadcast networks 534 (e.g., via an aerial antenna), telephone/computer network interface 528, video recorder/playback device 506, DVD 514, and/or information stored locally at system controller 504 or another component of system 500. Further, it will be appreciated by one skilled in the art, that cable broadcast input 524, satellite broadcast input 526 and VHF/UHF input 534 may beneficially receive input from digital broadcast programming and digital cable programming.
  • Except for the incorporated teachings of the present invention (described above), [0062] system controller 504 is intended to represent a broad category of “computing” devices known in the art. Examples of such “computing” devices include conventional desktop computers as well as Internet “appliance” devices, such as a WebTV™ Internet Terminal available from Sony Electronics Inc. of Park Ridge, N.J., or Philips Consumer Electronics Company of Knoxville, Tenn. A number of audio and video input and output peripherals/interfaces for receiving, digitizing and compressing audio and video signals are also known in the art. It is to be appreciated that the housing size and design for system controller 504 may be altered, allowing it to better visually fit into system 500.
  • It is also to be appreciated that the several entertainment system components depicted in FIG. 5 can be beneficially combined. By way of example, [0063] system controller 504 could be integrated into television/monitor 502, DVD 514, or audio/video tuner and amplifier 510.
  • FIG. 6 illustrates another embodiment of a hardware system suitable for use with the present invention. In the illustrated embodiment, [0064] hardware system 600 includes processor 602 and cache memory 604 coupled to each other as shown. Additionally, hardware system 600 includes high performance input/output (I/O) bus 606 and standard I/O bus 608. Host bridge 610 couples processor 602 to high performance I/O bus 606, whereas I/O bus bridge 612 couples the two buses 606 and 608 to each other. Coupled to bus 606 are network/communication interface 624, system memory 614, and video memory 616. In turn, display device 618 is coupled to video memory 616. Coupled to bus 608 is mass storage 620, keyboard and pointing device 622, and I/O ports 626. Collectively, these elements are intended to represent a broad category of hardware systems, including but not limited to general purpose computer systems based on the Pentium® processor, Pentium® Pro processor, or Pentium® II processor, manufactured by Intel Corporation of Santa Clara, Calif.
  • In one embodiment, various electronic devices are also coupled to high performance I/[0065] O bus 606. As illustrated, analog tuner/digital satellite/cable devices 628, additional video sources 630, and audio outputs 632 are also coupled to high performance I/O bus 606.
  • These elements [0066] 602-632 perform their conventional functions known in the art. In particular, network/communication interface 624 is used to provide communication between system 600 and any of a wide range of conventional networks, such as an Ethernet, token ring, the Internet, etc. It is to be appreciated that the circuitry of interface 624 is dependent on the type of network the system 600 is being coupled to.
  • [0067] Mass storage 620 is used to provide permanent storage for the data and programming instructions to implement the above described functions, whereas system memory 614 is used to provide temporary storage for the data and programming instructions when executed by processor 602. I/O ports 626 are one or more serial and/or parallel communication ports used to provide communication between additional peripheral devices which may be coupled to hardware system 600.
  • It is to be appreciated that various components of [0068] hardware system 600 may be rearranged. For example, cache 604 may be on-chip with processor 602. Alternatively, cache 604 and processor 602 may be packed together as a “processor module”, with processor 602 being referred to as the “processor core”. Furthermore, certain implementations of the present invention may not require nor include all of the above components. For example, mass storage 620, keyboard and pointing device 622, and/or display device 618 and video memory 616 may not be included in system 600. Additionally, the peripheral devices shown coupled to standard I/O bus 608 may be coupled to high performance I/O bus 606; in addition, in some implementations only a single bus may exist with the components of hardware system 600 being coupled to the single bus. Furthermore, additional components may be included in system 600, such as additional processors, storage devices, or memories.
  • In one embodiment, the method and apparatus for providing subsidiary data synchronous to primary content data according to the present invention as discussed above is implemented as a series of software routines run by [0069] hardware system 600 of FIG. 6. In this embodiment, data receiver 105, video/audio control 115, programming database control 125, and subsidiary data control 135 of FIG. 1 are each implemented as a series of software routines. These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 602 of FIG. 6. Initially, the series of instructions are stored on a storage device, such as mass storage 620. It is to be appreciated that the series of instructions can be stored using any conventional storage medium, such as a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM, Flash memory, etc. It is also to be appreciated that the series of instructions need not be stored locally, and could be received from a remote storage device, such as a server on a network, via network/communication interface 624. The instructions are copied from the storage device, such as mass storage 620, into memory 614 and then accessed and executed by processor 602. In one implementation, these software routines are written in the C++ programming language. It is to be appreciated, however, that these routines may be implemented in any of a wide variety of programming languages.
  • In alternate embodiments, the present invention is implemented in discrete hardware or firmware. For example, one or more application specific integrated circuits (ASICs) could be programmed with the above described functions of the present invention. By way of another example, [0070] data receiver 105, video/audio control 115, programming database control 125, and subsidiary data control 135 of FIG. 1 could be implemented in one or more ASICs of an additional circuit board for insertion into hardware system 600 of FIG. 6.
  • Thus, a method and apparatus for providing subsidiary data synchronous to primary content data has been described. Whereas many alterations and modifications of the present invention will be comprehended by a person skilled in the art after having read the foregoing description, it is to be understood that the particular embodiments shown and described by way of illustration are in no way intended to be considered limiting. References to details of particular embodiments are not intended to limit the scope of the claims. [0071]

Claims (37)

1. A method comprising:
receiving primary content data at an entertainment system from a primary external source;
receiving subsidiary data at the entertainment system from a subsidiary external source, the subsidiary data being independent of and supplementing the primary content data;
displaying the primary content data;
determining the identity of the primary content data currently displayed;
determining whether subsidiary data supplementing the primary content data exists by accessing a storage database using the primary content data identity;
obtaining the subsidiary data identified in the storage database for display; and
displaying the subsidiary data.
2. The method of claim 1, further comprising:
receiving the subsidiary data corresponding to a program of the primary content data prior to beginning receipt of the program; and
storing the subsidiary data corresponding to the program locally.
3. The method of claim 2, wherein obtaining subsidiary data comprises obtaining the subsidiary data from a local nonvolatile storage medium.
4. The method of claim 1, wherein the step of providing the subsidiary data comprises:
determining an elapsed time of a program of the primary content data;
identifying a portion of the subsidiary data which corresponds to the program;
identifying a piece of the portion of the subsidiary data which corresponds to the elapsed time of the program; and
providing the piece concurrently with the primary content data.
5. The method of claim 4, wherein identifying a portion of the subsidiary data comprises accessing a database which stores a plurality of portions of the subsidiary data.
6. The method of claim 1, wherein the primary content data comprises data of at least one of a television broadcast, a digital satellite broadcast, an Internet broadcast, and an audio-only broadcast.
7. The method of claim 1, wherein determining the identity of the primary content data currently displayed comprises reading an identifier included with the primary content data.
8. The method of claim 1, wherein obtaining the subsidiary data comprises retrieving the subsidiary data from a memory of the entertainment system.
9. The method of claim 1, wherein obtaining the subsidiary data comprises retrieving the subsidiary data from a remote server.
10. The method of claim 1, wherein the subsidiary data comprises at least one of reference information regarding a program of the primary content data, biographical information regarding actors, guests and participants of a program of the primary content data and advertisements.
11. The method of claim 1, wherein determining the identity of the primary content data is performed in response to a change in the primary content data currently displayed.
12. The method of claim 1 wherein displaying the subsidiary data comprises displaying the subsidiary data synchronous to the primary content data.
13. A machine-readable medium having stored thereon data representing sequences of instructions which, when executed by a machine, cause the machine to perform operations comprising:
receiving primary content data at an entertainment system from a primary external source;
receiving subsidiary data at the entertainment system from a subsidiary external source, the subsidiary data being independent of and supplementing the primary content data;
displaying the primary content data;
determining the identity of the primary content data currently displayed;
determining whether subsidiary data supplementing the primary content data exists by accessing a storage database using the primary content data identity;
obtaining the subsidiary data identified in the storage database for display; and
displaying the subsidiary data on the display device of the entertainment system.
14. The machine-readable medium of claim 13, wherein the instructions further comprise instructions causing the machine to perform operations comprising:
receiving all of the subsidiary data corresponding to a program of the primary content data prior to beginning receipt of the program; and
storing the subsidiary data corresponding to the program locally.
15. The machine-readable medium of claim 14, wherein the instructions for obtaining subsidiary data comprises instructions causing the machine to perform operations comprising obtaining the subsidiary data from a local nonvolatile storage medium.
16. The machine-readable medium of claim 13, wherein the instructions for providing the subsidiary data further comprise instructions causing the machine to perform operations comprising:
determining an elapsed time of a program of the primary content data;
identifying a portion of the subsidiary data which corresponds to the program;
identifying a piece of the portion of the subsidiary data which corresponds to the elapsed time of a program; and
providing the piece concurrently with the primary content data.
17. The machine-readable medium of claim 16, wherein the instructions for identifying a portion of the subsidiary data comprise instructions causing the machine to perform operations comprising accessing a database which stores a plurality of portions of the subsidiary data.
18. The machine-readable medium of claim 13, wherein the instructions for determining the identity of the primary content data currently displayed further comprise instructions causing the machine to perform operations comprising reading an identifier included with the primary content data.
19. The machine-readable medium of claim 13, wherein the instructions for obtaining the subsidiary data further comprise instructions causing the machine to perform operations comprising retrieving the subsidiary data from a memory of the entertainment system.
20. The machine-readable medium of claim 13, wherein the instructions for obtaining the subsidiary data further comprise instructions causing the machine to perform operations comprising retrieving the subsidiary data from a remote server.
21. The machine-readable medium of claim 13, wherein the subsidiary data comprises at least one of reference information regarding a program of the primary content data, biographical information regarding the actors, guests and participants of a program of the primary content data and advertisements.
22. The machine-readable medium of claim 13, wherein the instructions for determining the identity of the primary content data are performed in response to a change in the primary content data currently displayed.
23. The method of claim 13 wherein the instructions for displaying the subsidiary data comprise instructions causing the machine to perform operations comprising displaying the subsidiary data synchronous to the primary content data.
24. An entertainment system comprising:
a first data receiver to receive primary content data from a primary external source;
subsidiary data control logic to receive subsidiary data from a subsidiary external source, wherein the subsidiary data is independent of and supplementary to the primary content data;
a storage device to store the received subsidiary data;
a display device to display the primary content data;
synchronization logic operative to determine the identity of the primary content data currently displayed; and
storage/retrieval logic to determine whether subsidiary data supplementing the primary content data exists by accessing a storage database using the primary content data identity;
wherein the synchronization logic is operative to obtain the subsidiary data identified in the storage database for display and to provide the subsidiary data from the storage device to the display device synchronous to the primary content data.
25. The entertainment system of claim 24, further comprising:
reception logic to receive all of the subsidiary data corresponding to a program of the primary content data prior to beginning receipt of the program; and
storage logic to control local storing of the subsidiary data corresponding to the program.
26. The entertainment system of claim 24, wherein the storage device comprises a local nonvolatile storage medium.
27. The entertainment system of claim 24, wherein the synchronization logic is further operative to:
determine an elapsed time of a program of the primary content data;
identify a portion of the subsidiary data in the storage device which corresponds to the program;
retrieve a piece of the portion of the subsidiary data which corresponds to the elapsed time of the program from the storage device; and
provide the retrieved piece to the display device synchronous to the elapsed time of the program.
28. The entertainment system of claim 24, wherein the synchronization logic is operative to determine the identity of the primary content data currently displayed by reading an identifier included with the primary content data.
29. The entertainment system of claim 24, further comprising reception logic coupled to a remote server, wherein the storage database includes an identification of a remote server from which subsidiary data may be retrieved and wherein the synchronization logic is operative to request that the reception logic retrieve the subsidiary data from the identified remote server.
30. The entertainment system of claim 24, wherein the subsidiary data comprises at least one of reference information regarding a program of the primary content data, biographical information regarding the actors, guests and participants of a program of the primary content data and advertisements.
31. The entertainment system of claim 24, wherein the synchronization logic is operative to determine the identity of the primary content data in response to a change in the primary content data currently displayed.
32. An apparatus comprising:
a data receiver to receive primary content data from a primary external source;
subsidiary data control logic, communicatively coupled to the data receiver, to receive subsidiary data from a subsidiary external source, wherein the subsidiary data is independent of and supplementary to the primary content data;
synchronization logic operative to determine the identity of the primary content data currently displayed; and
storage/retrieval logic to determine whether subsidiary data supplementing the currently displayed primary content data exists by accessing a storage database using the determined primary content data identity;
wherein the synchronization logic is operative to obtain the subsidiary data for display synchronous to the primary content data.
33. The apparatus of claim 32 further comprising video/audio control logic to combine the primary content data with the subsidiary data and forward the combined data to a display or audio device.
34. The apparatus of claim 32 further comprising reception logic to provide received subsidiary data to the storage/retrieval logic.
35. The apparatus of claim 32 further comprising user interface logic to allow a user to interact with the storage/retrieval logic.
36. The apparatus of claim 32 further comprising programming database control logic to allow a user to access a programming guide.
37. The apparatus of claim 32 wherein the programming database control logic allows a user to toggle enablement of subsidiary data.
US09/910,656 1996-09-06 2001-07-20 Method and apparatus for providing subsidiary data synchronous to primary content data Abandoned US20020059575A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/910,656 US20020059575A1 (en) 1996-09-06 2001-07-20 Method and apparatus for providing subsidiary data synchronous to primary content data
US13/014,189 US20110182563A1 (en) 1996-09-06 2011-01-26 Method and apparatus for providing subsidiary data synchronous to primary content data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2470496P 1996-09-06 1996-09-06
US08/924,538 US6324694B1 (en) 1996-09-06 1997-09-05 Method and apparatus for providing subsidiary data synchronous to primary content data
US09/910,656 US20020059575A1 (en) 1996-09-06 2001-07-20 Method and apparatus for providing subsidiary data synchronous to primary content data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/924,538 Continuation US6324694B1 (en) 1996-09-06 1997-09-05 Method and apparatus for providing subsidiary data synchronous to primary content data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/014,189 Continuation US20110182563A1 (en) 1996-09-06 2011-01-26 Method and apparatus for providing subsidiary data synchronous to primary content data

Publications (1)

Publication Number Publication Date
US20020059575A1 true US20020059575A1 (en) 2002-05-16

Family

ID=26698779

Family Applications (3)

Application Number Title Priority Date Filing Date
US08/924,538 Expired - Lifetime US6324694B1 (en) 1996-09-06 1997-09-05 Method and apparatus for providing subsidiary data synchronous to primary content data
US09/910,656 Abandoned US20020059575A1 (en) 1996-09-06 2001-07-20 Method and apparatus for providing subsidiary data synchronous to primary content data
US13/014,189 Abandoned US20110182563A1 (en) 1996-09-06 2011-01-26 Method and apparatus for providing subsidiary data synchronous to primary content data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/924,538 Expired - Lifetime US6324694B1 (en) 1996-09-06 1997-09-05 Method and apparatus for providing subsidiary data synchronous to primary content data

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/014,189 Abandoned US20110182563A1 (en) 1996-09-06 2011-01-26 Method and apparatus for providing subsidiary data synchronous to primary content data

Country Status (1)

Country Link
US (3) US6324694B1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020100063A1 (en) * 2000-09-08 2002-07-25 Dale Herigstad Video interaction
WO2003101112A1 (en) * 2002-05-27 2003-12-04 Koninklijke Philips Electronics N.V. Web-based television
US20040003253A1 (en) * 2002-04-11 2004-01-01 Sony Corporation. Additional-information detection processing apparatus and method, content playback processing apparatus and method, and computer program
EP1367818A3 (en) * 2002-05-27 2004-10-13 Matsushita Electric Industrial Co., Ltd. Stream distribution system, stream server device, cache server device, stream record/playback device, computer programs and related methods
US20050050557A1 (en) * 2003-08-28 2005-03-03 Gabryjelski Henry P. Adaptive multiple concurrent CD/DVD streaming algorithms
US20070022449A1 (en) * 2003-08-29 2007-01-25 Boyden David C Apparatus and system for delivering audio/video content to a remote receiver
US20070294741A1 (en) * 1998-06-17 2007-12-20 Yoshito Nejime Broadcasting method and broadcast signal receiving apparatus
US20080005350A1 (en) * 2006-06-05 2008-01-03 Oleg Logvinov System and method for synchronized content rendering in a multi-node network
US20080072270A1 (en) * 2006-09-15 2008-03-20 Alcatel Lucent System and method for transmitting interactive services associated with broadcast contents, in real time or off line
US20080134255A1 (en) * 1997-07-18 2008-06-05 Gavin Robert Ferris Communication system and method
US20110128444A1 (en) * 2003-07-25 2011-06-02 Gracenote, Inc. Method and device for generating and detecting fingerprints for synchronizing audio and video
US20120038826A1 (en) * 2006-06-05 2012-02-16 Arkados, Inc. System and method for synchronized content rendering in a multi-node network
US20120311631A1 (en) * 2002-12-06 2012-12-06 General Instrument Corporation Method and apparatus for predictive tuning in digital content receivers

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818438A (en) 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
US6601103B1 (en) * 1996-08-22 2003-07-29 Intel Corporation Method and apparatus for providing personalized supplemental programming
CN100525443C (en) * 1997-03-17 2009-08-05 松下电器产业株式会社 Method and apparatus for processing, transmitting and receiving dynamic image data
US6209028B1 (en) 1997-03-21 2001-03-27 Walker Digital, Llc System and method for supplying supplemental audio information for broadcast television programs
US7308485B2 (en) 1997-04-15 2007-12-11 Gracenote, Inc. Method and system for accessing web pages based on playback of recordings
JPH11261978A (en) * 1998-03-11 1999-09-24 Sony Corp Device and method for processing information and providing medium
US6005603A (en) * 1998-05-15 1999-12-21 International Business Machines Corporation Control of a system for processing a stream of information based on information content
US8286207B1 (en) * 1998-07-13 2012-10-09 Thomson Licensing System for processing programs and system timing information derived from multiple broadcast sources
US7536706B1 (en) * 1998-08-24 2009-05-19 Sharp Laboratories Of America, Inc. Information enhanced audio video encoding system
US7694319B1 (en) * 1998-11-02 2010-04-06 United Video Properties, Inc. Interactive program guide with continuous data stream and client-server data supplementation
AU2170800A (en) * 1998-12-21 2000-07-12 Sony Electronics Inc. A method and apparatus for providing electronic coupons
EP1331830A1 (en) * 1998-12-24 2003-07-30 Matsushita Electric Industrial Co., Ltd. Recording/reproduction device and method for digital broadcasting
US7051357B2 (en) * 1999-05-28 2006-05-23 Intel Corporation Communicating ancillary information associated with a plurality of audio/video programs
US20020073421A1 (en) * 1999-12-10 2002-06-13 Gutman Levitan System for targeted advertisement, personal editing and parental control in a television network
JP2001168818A (en) * 1999-12-10 2001-06-22 Sony Corp Data transmission method and system, information processing method and system, data transmitter, signal processor, contents data processing method and data providing method
US20020010927A1 (en) * 2000-01-14 2002-01-24 Samsung Electronics Company, Ltd. Methods and apparatus for banner information digital TV service and receivers therefore
US20010037499A1 (en) * 2000-03-23 2001-11-01 Turock David L. Method and system for recording auxiliary audio or video signals, synchronizing the auxiliary signal with a television singnal, and transmitting the auxiliary signal over a telecommunications network
US7200857B1 (en) * 2000-06-09 2007-04-03 Scientific-Atlanta, Inc. Synchronized video-on-demand supplemental commentary
US7280982B1 (en) * 2000-04-04 2007-10-09 International Business Machines Corporation System and method for a fee address system
KR100367675B1 (en) * 2000-04-27 2003-01-15 엘지전자 주식회사 Tv text information translation system and control method the same
US7934232B1 (en) 2000-05-04 2011-04-26 Jerding Dean F Navigation paradigm for access to television services
US20020004839A1 (en) * 2000-05-09 2002-01-10 William Wine Method of controlling the display of a browser during a transmission of a multimedia stream over an internet connection so as to create a synchronized convergence platform
CN1193599C (en) * 2000-06-19 2005-03-16 皇家菲利浦电子有限公司 Method of automatic execution, receiving station
US8091106B1 (en) * 2000-06-26 2012-01-03 Thomson Licensing Method and apparatus for using DVD subpicture information in a television receiver
GB0015661D0 (en) * 2000-06-28 2000-08-16 Pace Micro Tech Plc Broadcast data receiver with dual tuning capability
US7647340B2 (en) 2000-06-28 2010-01-12 Sharp Laboratories Of America, Inc. Metadata in JPEG 2000 file format
US8949374B2 (en) * 2000-08-08 2015-02-03 The Directv Group, Inc. Method and system for remote television replay control
EP1314110B1 (en) 2000-08-23 2009-10-07 Gracenote, Inc. Method of enhancing rendering of a content item, client system and server system
US20020129364A1 (en) * 2000-11-27 2002-09-12 O2 Holdings, Llc On-screen display area enabling media convergence useful for viewers and audio/visual programmers
US7237250B2 (en) * 2000-11-28 2007-06-26 Navic Systems, Inc. Promotion server using video on demand channel
US20020157101A1 (en) * 2001-03-02 2002-10-24 Schrader Joseph A. System for creating and delivering enhanced television services
US7093275B2 (en) * 2001-04-30 2006-08-15 Cable Television Laboratories, Inc. Synchronizing services across open cable and packet cable
JP2003032623A (en) * 2001-07-19 2003-01-31 Nec Commun Syst Ltd Synchronous process system when transforming moving image standard
US20030084455A1 (en) * 2001-10-29 2003-05-01 Greg Gudorf System and method for alternate content delivery
KR20030054110A (en) * 2001-12-24 2003-07-02 한국전자통신연구원 Method and apparatus of caching multiple Java-database connectivity
US7305357B2 (en) * 2002-01-24 2007-12-04 Shaw Cablesystems, G.P. Method and system for providing and controlling delivery of content on-demand over a cable television network and a data network
US20050246758A1 (en) * 2002-04-05 2005-11-03 Matsushita Electric Industrial Co., Ltd. Authoring system and method for supplying tagged media content to portable devices receiving from plural disparate sources
WO2003088544A1 (en) * 2002-04-05 2003-10-23 Matsushita Electric Industrial Co., Ltd. Internet portal system and method employing handheld device that connects to broadcast source
AU2003220618A1 (en) * 2002-04-05 2003-10-27 Matsushita Electric Industrial Co., Ltd. Asynchronous integration of portable handheld device
WO2003088655A1 (en) * 2002-04-05 2003-10-23 Matsushita Electric Industrial Co., Ltd. Handheld device that integrates personal information management with audio/video control
AU2003220619A1 (en) * 2002-04-05 2003-10-27 Matsushita Electric Industrial Co., Ltd. User configurable electronic program guide drawing upon disparate content sources
US20040137416A1 (en) * 2002-04-05 2004-07-15 Yue Ma System and method using adaptive learning components to enhance target advertising and customize system behavior
JP4076067B2 (en) * 2002-07-02 2008-04-16 株式会社日立製作所 Recording / playback system
US7620699B1 (en) * 2002-07-26 2009-11-17 Paltalk Holdings, Inc. Method and system for managing high-bandwidth data sharing
US7921443B2 (en) 2003-01-31 2011-04-05 Qwest Communications International, Inc. Systems and methods for providing video and data services to a customer premises
US10142023B2 (en) 2003-01-31 2018-11-27 Centurylink Intellectual Property Llc Antenna system and methods for wireless optical network termination
US8490129B2 (en) 2003-01-31 2013-07-16 Qwest Communications International Inc. Methods, systems and apparatus for selectively distributing urgent public information
US20040150751A1 (en) * 2003-01-31 2004-08-05 Qwest Communications International Inc. Systems and methods for forming picture-in-picture signals
US20040150749A1 (en) * 2003-01-31 2004-08-05 Qwest Communications International Inc. Systems and methods for displaying data over video
US20040186767A1 (en) * 2003-03-20 2004-09-23 Yue Ma System and method employing portable device for capturing and using broadcast source content to operate other digital devices
US20050246747A1 (en) * 2003-03-31 2005-11-03 Matsushita Electric Industrial Co., Ltd. Utilization of data broadcasting technology with handheld control apparatus
US20040268385A1 (en) * 2003-06-30 2004-12-30 Gray James Harold User originated content notification
US8635643B2 (en) * 2003-06-30 2014-01-21 At&T Intellectual Property I, L.P. System and method for providing interactive media content over a network
US8112449B2 (en) 2003-08-01 2012-02-07 Qwest Communications International Inc. Systems and methods for implementing a content object access point
FR2859859A1 (en) * 2003-09-16 2005-03-18 France Telecom Television signals receiving method for multimedia receiver, involves restoring components on reception terminal while respecting chronology of secondary time stamps to restore coherent AV content formed by components to user
US8286203B2 (en) 2003-12-19 2012-10-09 At&T Intellectual Property I, L.P. System and method for enhanced hot key delivery
US8161388B2 (en) 2004-01-21 2012-04-17 Rodriguez Arturo A Interactive discovery of display device characteristics
US8087057B2 (en) 2004-04-28 2011-12-27 Echostar Technologies L.L.C. Television converter device including an internet protocol interface
US8112784B1 (en) 2004-04-28 2012-02-07 Echostar Corporation Device comprising multiple channel selectors
US8346157B1 (en) 2004-06-16 2013-01-01 Colby Steven M Content customization in asymmertic communication systems
DE102004045481A1 (en) * 2004-09-20 2006-03-30 Siemens Ag Interactive television with additional information and return channel via a mobile communication system
US20130125165A1 (en) * 2011-11-14 2013-05-16 Robert A. Oklejas System and Method for a Customized Media Platform
US9131079B2 (en) 2005-02-07 2015-09-08 Robert A. Oklejas System and method for providing a television network customized for an end user
US10219035B2 (en) 2005-02-07 2019-02-26 Robert A. Oklejas System and method for providing a television network customized for an end user
KR20080003881A (en) * 2005-04-15 2008-01-08 코닌클리케 필립스 일렉트로닉스 엔.브이. Method, end user system, signal and transmission system for combining broadcasted audio-video content with locally available information
KR100725397B1 (en) * 2005-07-22 2007-06-07 삼성전자주식회사 Broadcasting receiving device and method for performing data broadcasting application using the broadcasting receiving device
KR20080063395A (en) * 2005-10-13 2008-07-03 코닌클리케 필립스 일렉트로닉스 엔.브이. Method for storing information on a storage medium
US20080288600A1 (en) * 2005-10-18 2008-11-20 Clark Christopher M Apparatus and method for providing access to associated data related to primary media data via email
US20070089137A1 (en) * 2005-10-18 2007-04-19 Clark Christopher M Television interface system
US20070089157A1 (en) * 2005-10-18 2007-04-19 Clark Christopher M Television advertising number system
US8317618B2 (en) 2005-12-15 2012-11-27 At&T Intellectual Property I, Lp System, method and computer program for enabling an interactive game
CA2570741C (en) * 2005-12-20 2014-05-06 Bce Inc. Method, system and apparatus for conveying personalized content to a viewer
US8161412B2 (en) * 2006-01-13 2012-04-17 At&T Intellectual Property I, L.P. Systems, methods, and computer program products for providing interactive content
US20070180488A1 (en) * 2006-02-01 2007-08-02 Sbc Knowledge Ventures L.P. System and method for processing video content
US8402503B2 (en) 2006-02-08 2013-03-19 At& T Intellectual Property I, L.P. Interactive program manager and methods for presenting program content
US8713615B2 (en) 2006-02-17 2014-04-29 Verizon Laboratories Inc. Systems and methods for providing a shared folder via television
US9143735B2 (en) * 2006-02-17 2015-09-22 Verizon Patent And Licensing Inc. Systems and methods for providing a personal channel via television
US8522276B2 (en) * 2006-02-17 2013-08-27 Verizon Services Organization Inc. System and methods for voicing text in an interactive programming guide
US7917583B2 (en) * 2006-02-17 2011-03-29 Verizon Patent And Licensing Inc. Television integrated chat and presence systems and methods
US8584174B1 (en) 2006-02-17 2013-11-12 Verizon Services Corp. Systems and methods for fantasy league service via television
US8065710B2 (en) 2006-03-02 2011-11-22 At& T Intellectual Property I, L.P. Apparatuses and methods for interactive communication concerning multimedia content
JP4503624B2 (en) * 2006-03-30 2010-07-14 住友電工デバイス・イノベーション株式会社 Electronic circuit
WO2007118299A1 (en) * 2006-04-19 2007-10-25 Bce Inc. Method, system and apparatus for delivering enhanced programming information
US20080040768A1 (en) * 2006-08-14 2008-02-14 Alcatel Approach for associating advertising supplemental information with video programming
US11277586B2 (en) * 2006-09-01 2022-03-15 Bce Inc. Method, system and apparatus for conveying personalized content to a viewer
US20080159715A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Contextual linking and out-of-band delivery of related online content
US7849481B2 (en) * 2007-03-29 2010-12-07 Verizon Patent And Licensing Inc. Notification for interactive content
US9847845B2 (en) * 2007-10-09 2017-12-19 Disney Enterprises, Inc. System and method for providing additional content to a program stream
US8276182B2 (en) * 2008-03-13 2012-09-25 Microsoft Corporation Television content from multiple sources
JP2009239825A (en) * 2008-03-28 2009-10-15 Sony Corp Information processor, method, program and recording medium
US8327402B1 (en) 2008-07-15 2012-12-04 United Video Properties, Inc. Methods and devices for presenting an interactive media guidance application
US9094477B2 (en) 2008-10-27 2015-07-28 At&T Intellectual Property I, Lp System and method for providing interactive on-demand content
US8255940B2 (en) * 2010-01-14 2012-08-28 Syncbak, Inc. Broadcast area authentication
SG177783A1 (en) * 2010-07-09 2012-02-28 Smart Communications Inc Content provision system and method
US9037634B2 (en) 2010-09-09 2015-05-19 Syncbak, Inc. Broadcast tuning concepts
US8910196B2 (en) 2012-01-30 2014-12-09 Syncbak, Inc. Broadcast area identification and content distribution
US8966549B2 (en) 2012-10-03 2015-02-24 Syncbak, Inc. Providing and receiving wireless broadcasts

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694490A (en) * 1981-11-03 1987-09-15 Harvey John C Signal processing apparatus and methods
US4706121A (en) * 1985-07-12 1987-11-10 Patrick Young TV schedule system and process
US5010499A (en) * 1988-02-22 1991-04-23 Yee Keen Y Digital data capture for use with TV set or monitor
US5220420A (en) * 1990-09-28 1993-06-15 Inteletext Systems, Inc. Interactive home information system for distributing compressed television programming
US5481294A (en) * 1993-10-27 1996-01-02 A. C. Nielsen Company Audience measurement system utilizing ancillary codes and passive signatures
US5523794A (en) * 1993-04-16 1996-06-04 Mankovitz; Roy J. Method and apparatus for portable storage and use of data transmitted by television signal
US5534911A (en) * 1994-11-02 1996-07-09 Levitan; Gutman Virtual personal channel in a television system
US5541662A (en) * 1994-09-30 1996-07-30 Intel Corporation Content programmer control of video and data display using associated data
US5550576A (en) * 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources
US5564088A (en) * 1992-02-07 1996-10-08 Sony Corporation Broadcast signal receiver with means for prioritizing broadcast signals based on previous selections thereof
US5583560A (en) * 1993-06-22 1996-12-10 Apple Computer, Inc. Method and apparatus for audio-visual interface for the selective display of listing information on a display
US5585865A (en) * 1994-03-01 1996-12-17 Sony Corporation Television broadcast receiver which selects programs by genre and past viewing habits
US5585858A (en) * 1994-04-15 1996-12-17 Actv, Inc. Simulcast of interactive signals with a conventional video signal
US5694163A (en) * 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5715515A (en) * 1992-12-02 1998-02-03 Scientific-Atlanta, Inc. Method and apparatus for downloading on-screen graphics and captions to a television terminal
US5726702A (en) * 1994-02-23 1998-03-10 Hitachi, Ltd. Television signal receiving apparatus incorporating an information retrieving and reproducing apparatus
US5774664A (en) * 1996-03-08 1998-06-30 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5818441A (en) * 1995-06-15 1998-10-06 Intel Corporation System and method for simulating two-way connectivity for one way data streams
US5897623A (en) * 1996-08-30 1999-04-27 U S West, Inc. Interface method for providing information about items on a list for interactive television
US6002393A (en) * 1995-08-22 1999-12-14 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers using direct commands
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US6631523B1 (en) * 1996-03-29 2003-10-07 Microsoft Corporation Electronic program guide with hyperlinks to target resources

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751578A (en) 1985-05-28 1988-06-14 David P. Gordon System for electronically controllably viewing on a television updateable television programming information

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694490A (en) * 1981-11-03 1987-09-15 Harvey John C Signal processing apparatus and methods
US4706121A (en) * 1985-07-12 1987-11-10 Patrick Young TV schedule system and process
US4706121B1 (en) * 1985-07-12 1993-12-14 Insight Telecast, Inc. Tv schedule system and process
US5010499A (en) * 1988-02-22 1991-04-23 Yee Keen Y Digital data capture for use with TV set or monitor
US5220420A (en) * 1990-09-28 1993-06-15 Inteletext Systems, Inc. Interactive home information system for distributing compressed television programming
US5564088A (en) * 1992-02-07 1996-10-08 Sony Corporation Broadcast signal receiver with means for prioritizing broadcast signals based on previous selections thereof
US5715515A (en) * 1992-12-02 1998-02-03 Scientific-Atlanta, Inc. Method and apparatus for downloading on-screen graphics and captions to a television terminal
US5523794A (en) * 1993-04-16 1996-06-04 Mankovitz; Roy J. Method and apparatus for portable storage and use of data transmitted by television signal
US5583560A (en) * 1993-06-22 1996-12-10 Apple Computer, Inc. Method and apparatus for audio-visual interface for the selective display of listing information on a display
US5481294A (en) * 1993-10-27 1996-01-02 A. C. Nielsen Company Audience measurement system utilizing ancillary codes and passive signatures
US5726702A (en) * 1994-02-23 1998-03-10 Hitachi, Ltd. Television signal receiving apparatus incorporating an information retrieving and reproducing apparatus
US5585865A (en) * 1994-03-01 1996-12-17 Sony Corporation Television broadcast receiver which selects programs by genre and past viewing habits
US5585858A (en) * 1994-04-15 1996-12-17 Actv, Inc. Simulcast of interactive signals with a conventional video signal
US5541662A (en) * 1994-09-30 1996-07-30 Intel Corporation Content programmer control of video and data display using associated data
US5534911A (en) * 1994-11-02 1996-07-09 Levitan; Gutman Virtual personal channel in a television system
US5550576A (en) * 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources
US5818441A (en) * 1995-06-15 1998-10-06 Intel Corporation System and method for simulating two-way connectivity for one way data streams
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US6002393A (en) * 1995-08-22 1999-12-14 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers using direct commands
US5694163A (en) * 1995-09-28 1997-12-02 Intel Corporation Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program
US5774664A (en) * 1996-03-08 1998-06-30 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US6631523B1 (en) * 1996-03-29 2003-10-07 Microsoft Corporation Electronic program guide with hyperlinks to target resources
US5897623A (en) * 1996-08-30 1999-04-27 U S West, Inc. Interface method for providing information about items on a list for interactive television

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645995B2 (en) * 1997-07-18 2014-02-04 Logitech Europe S.A. Communication system and method
US20080134255A1 (en) * 1997-07-18 2008-06-05 Gavin Robert Ferris Communication system and method
US20070294741A1 (en) * 1998-06-17 2007-12-20 Yoshito Nejime Broadcasting method and broadcast signal receiving apparatus
US9313541B2 (en) 1998-06-17 2016-04-12 Hitachi Maxell, Ltd. Broadcasting method and broadcast signal receiving apparatus
US8826360B2 (en) * 1998-06-17 2014-09-02 Hitachi Consumer Electronics, Co., Ltd. Broadcasting method and broadcast signal receiving apparatus
US20100218211A1 (en) * 2000-09-08 2010-08-26 ACK Ventures Holdings, LLC, a Delaware corporation Video interaction with a mobile device and a video device
US8549578B2 (en) 2000-09-08 2013-10-01 Ack Ventures Holdings, Llc Video interaction with a mobile device and a video device
US7712125B2 (en) * 2000-09-08 2010-05-04 Ack Ventures Holdings, Llc Video interaction with a mobile device and a video device
US20020100063A1 (en) * 2000-09-08 2002-07-25 Dale Herigstad Video interaction
US8171294B2 (en) * 2002-04-11 2012-05-01 Sony Corporation Additional-information detection processing apparatus and method, content playback processing apparatus and method, and computer program
US20040003253A1 (en) * 2002-04-11 2004-01-01 Sony Corporation. Additional-information detection processing apparatus and method, content playback processing apparatus and method, and computer program
US20050183133A1 (en) * 2002-05-27 2005-08-18 Kelly Declan P. Web-based television
WO2003101112A1 (en) * 2002-05-27 2003-12-04 Koninklijke Philips Electronics N.V. Web-based television
US7548984B2 (en) 2002-05-27 2009-06-16 Panasonic Corporation Stream distribution system, stream server device, cache server device, stream record/playback device, related methods and computer programs
EP1367818A3 (en) * 2002-05-27 2004-10-13 Matsushita Electric Industrial Co., Ltd. Stream distribution system, stream server device, cache server device, stream record/playback device, computer programs and related methods
US20120311631A1 (en) * 2002-12-06 2012-12-06 General Instrument Corporation Method and apparatus for predictive tuning in digital content receivers
US8769568B2 (en) * 2002-12-06 2014-07-01 General Instrument Corporation Method and apparatus for predictive tuning in digital content receivers
US20110128444A1 (en) * 2003-07-25 2011-06-02 Gracenote, Inc. Method and device for generating and detecting fingerprints for synchronizing audio and video
US8358376B2 (en) * 2003-07-25 2013-01-22 Gracenote, Inc. Method and device for generating and detecting fingerprints for synchronizing audio and video
US8817183B2 (en) 2003-07-25 2014-08-26 Gracenote, Inc. Method and device for generating and detecting fingerprints for synchronizing audio and video
US20050050557A1 (en) * 2003-08-28 2005-03-03 Gabryjelski Henry P. Adaptive multiple concurrent CD/DVD streaming algorithms
US20070022449A1 (en) * 2003-08-29 2007-01-25 Boyden David C Apparatus and system for delivering audio/video content to a remote receiver
US7739712B2 (en) * 2003-08-29 2010-06-15 Sony Corporation Apparatus and system for delivering audio/video content to a remote receiver
US20120038826A1 (en) * 2006-06-05 2012-02-16 Arkados, Inc. System and method for synchronized content rendering in a multi-node network
US8539105B2 (en) * 2006-06-05 2013-09-17 Stmicroelectronics, Inc. System and method for synchronized content rendering in a multi-node network
US20080005350A1 (en) * 2006-06-05 2008-01-03 Oleg Logvinov System and method for synchronized content rendering in a multi-node network
US8429705B2 (en) * 2006-09-15 2013-04-23 Alcatel Lucent System and method for transmitting interactive services associated with broadcast contents, in real time or off line
US20080072270A1 (en) * 2006-09-15 2008-03-20 Alcatel Lucent System and method for transmitting interactive services associated with broadcast contents, in real time or off line

Also Published As

Publication number Publication date
US6324694B1 (en) 2001-11-27
US20110182563A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
US6324694B1 (en) Method and apparatus for providing subsidiary data synchronous to primary content data
EP2112827B1 (en) Method and apparatus for selecting from multiple versions of a television program
US6601074B1 (en) Episode identification
US6157411A (en) Method and apparatus for compiling a repository of entertainment system data from multiple sources
US6008802A (en) Method and apparatus for automatically performing a function based on the reception of information corresponding to broadcast data
US8966534B2 (en) Method and apparatus for channel surfing through multiple sources based on user-definable preferences
KR100646014B1 (en) Method for customizing a program guide and electronically generated interface for displaying and customizing a program guide
US5977964A (en) Method and apparatus for automatically configuring a system based on a user's monitored system interaction and preferred system access times
US7331017B2 (en) Verified scheduling of recurrent program recording operations
US20020007493A1 (en) Providing enhanced content with broadcast video
US20050193415A1 (en) Digital broadcast receiver apparatus capable of automatic acquisition of electronic program guides for specific stations
CA2348914A1 (en) Managing entertainment system data
JP2002529973A (en) Method and apparatus for purchasing upgraded media features for transmission
GB2327837A (en) Transmission, reception and display of combined video data in a set area of a hyperlink data file.
US6697099B2 (en) Method and apparatus for displaying a colored audio/visual program
US20110158611A1 (en) Systems and methods for content storage
JP2004524765A (en) Seamless control of input TV signals
EP1513340A1 (en) Digital broadcast receiver capable of automatically acquiring electronic program guides of broadcasting stations
JP2002538686A (en) Blocking system
JP2001197382A (en) Broadcast program reception device
KR100304884B1 (en) Apparatus for screen expressing of program guide information and method for the same
MXPA01006585A (en) System and method for customizing program guide information to include reminder item or local identifier

Legal Events

Date Code Title Description
AS Assignment

Owner name: WOLFORD ASSOCIATES, LIMITED LIABILITY COMPANY, DEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:020299/0448

Effective date: 20060828

AS Assignment

Owner name: HEATHWAY HOLDINGS, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WOLFORD ASSOCIATES, LIMITED LIABILITY COMPANY;REEL/FRAME:020325/0101

Effective date: 20060829

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: HANGER SOLUTIONS, LLC, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 161 LLC;REEL/FRAME:052159/0509

Effective date: 20191206