US20090125943A1 - Program guide optimization system - Google Patents
Program guide optimization system Download PDFInfo
- Publication number
- US20090125943A1 US20090125943A1 US11/921,054 US92105406A US2009125943A1 US 20090125943 A1 US20090125943 A1 US 20090125943A1 US 92105406 A US92105406 A US 92105406A US 2009125943 A1 US2009125943 A1 US 2009125943A1
- Authority
- US
- United States
- Prior art keywords
- event
- data
- broadcast
- program guide
- list
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26283—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/165—Centralised control of user terminal ; Registering at central
Definitions
- the present invention in preferred embodiments thereof, relates to electronic program guides (EPG), and more particularly, systems for optimizing EPG data and the transmission thereof.
- EPG electronic program guides
- PATRICIA is an algorithm which provides a flexible means of storing, indexing, and retrieving information in a large file, which is economical of index space and of reindexing time. It does not require rearrangement of text or index as new material is added. It requires a minimum restriction of format of text and of keys; it is extremely flexible in the variety of keys it will respond to. It retrieves information in response to keys furnished by the user with a quantity of computation which has a bound which depends linearly on the length of keys and the number of their proper occurrences and is otherwise independent of the size of the library. It has been implemented in several variations as FORTRAN programs for the CDC-3600, utilizing disk file storage of text. It has been applied to several large information-retrieval problems and will be applied to others. PATRICIA is described in PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric , Donald R. Morrison, JACM Vol. 15, Issue 4 (October 1968), pages 514-534.
- U.S. Pat. No. 6,763,522 to Kondo et al. describes a system and method for providing an electronic program guide for broadcasted digital television wherein the electronic program guide displays only currently broadcasting minor channels, and timely event and contextual information.
- the system of the present invention includes program code in a memory for causing a tuner/de-multiplexor subsystem to tune to a preselected major channel broadcast frequency and to provide thereby at least one transport stream comprising a plurality of associated digital data elementary streams.
- the elementary streams include minor channel audio and video, as well as program and system information tables (PSIT), all of which are associated by packet identifiers to provide a table hierarchy.
- PSIT program and system information tables
- the system of the present invention compares presently broadcasting minor channel and PSIT information with corresponding information in memory. If the presently broadcasting information is more contemporaneous than the stored information, the stored information is updated, or replaced, with the presently broadcasting information to enable display of only actively broadcasting minor channels and up-to-the-minute
- the television system receives EPG data of television programs broadcast by a plurality of program signal sources. Such signal sources may include OTA broadcast, cable, satellite, and the like. Either the television system or a merging system separate from the television system receives EPG data including program scheduling information of television programs telecast from the various signal sources. The system further receives channel mapping information for each of the signal sources. The channel mapping information relates television channels to television stations carried by the signal sources. The system creates a merged channel map based on the channel mapping information with any duplicate television station listings removed.
- Each television channel is associated with a unique channel identifier.
- Duplicate television station listings are therefore identified by identifying duplicate channel identifiers. Duplicate television station listings may be eliminated based on a priority associated with the various signal sources, or based on the signal quality of the various sources.
- PCT application PCT/IL02/00190 of NDS Ltd. published in the English language as WO 02/075596 on 26 Sep. 2002
- U.S. patent application Ser. No. 10/469,487 of Sterkin et al. published on 29 Jul. 2004 as US 2004/0148637
- WO 02/075596 and corresponding US 2004/0148637 describes a method for accessing at least one literal data item in a hierarchical structure, the method including receiving a request to access at least one literal data item, and accessing the at least one literal data item, at least in part, by choosing and using an access method chosen from the following group: local storage access, back channel access, and data carousel access.
- the disclosure of WO 02/075596 and corresponding US 2004/0148637 are hereby incorporated herein by reference.
- IPG Interactive Program Guide
- IRD integrated receiver-decoders
- the IPG data provides scheduling information for global and local programming services which are carried via the satellite network as well as another network such as a CATV network or a terrestrial broadcast network.
- Each IRD is assigned to an IPG region using unit addressing.
- IPG data is filtered so that only the global data and the region-specific data for the IRD's IPG region is retained and processed by the IRD.
- Channel map data is also delivered to the IRDs so that bundles of IRD data can be filtered out using firmware filtering to discard program sources that are not present in the channel map.
- the IRD data which is retained after filtering is used to provide scheduling information via an on-screen display.
- a preferred source may be designated when there are duplicative channels on the different networks.
- ETS 300 468 Digital Video Broadcasting ( DVB ) Specification for Service Information ( SI ) in DVB Systems;
- ETR 162 Digital Broadcasting Systems for Television, Sound and Data Services; Allocation of Service Information ( SI ) Codes for Digital Video Broadcasting ( DVB ) Systems;
- ETR 211 Digital Video Broadcasting ( DVB ); Guidelines on Implementation and Usage of Service Information ( SI ).
- ISO 639 is an international standard listing short codes for language names.
- ETS 300 468 Digital Video Broadcasting ( DVB ) Specification for Service Information ( SI ) in DVB Systems specifies a way for a broadcast headend to provide data that will appear on a program guide of a personal video recorder (PVR) or set top box (STB).
- PVR personal video recorder
- STB set top box
- the terms PVR and STB are collectively and generically referred to herein as a “receiver” or “receivers”.
- the data provided typically includes data about:
- Extended Service Information was developed.
- XSI was originally developed as a proprietary extension of DVB SI by NDS Limited.
- XSI utilizes DVB SI and MPEG-2 private data descriptors, private data tables, and data carousels as a mechanism to deliver XSI data to STBs.
- the present invention seeks to provide an improved method and system for sorting data strings for more efficient delivery to electronic program guides.
- a method of optimizing strings included in program guide data for transmission including sharing, in the program guide data, a plurality of strings, each string among the plurality of strings including a shared sorting key, implementing an order access of a sorted sharing index, wherein the program guide data and the shared sorting key are included in the same data storage structure.
- the sorted sharing index includes a Patricia tree sort index.
- a method of optimizing program guide data for transmission including providing, at a broadcast headend, a list of services and the program guide data, the program guide data including a list of events to be broadcast on services corresponding to service identifiers included within the list of services, associating the services with channels, further associating the channels into channel groups, selecting a field included in program guide data associated with each event, sorting the list of events to be broadcast on the services according to the selected field, grouping the sorted list of events, such that all identical instances the field are grouped together, collapsing the grouped sorted list of events such that one of the following includes a main event and every other instance, of the event includes a collapsed event one instance of the event next to be broadcast on at least one service associated with the channel group, and one instance of the event presently being broadcast on at least one service associated with the channel group, thereby producing optimized program guide data.
- the transmitting includes broadcasting the optimized program guide data.
- the selected field includes a title string associated with the event.
- the sorting the list of events includes a Patricia tree sort according to the selected field.
- a method of displaying data in a program guide including receiving a list of events to be displayed in the program guide, the list including collapsed, sorted, and grouped event data, selecting, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event, displaying the main event in a sorted list of events, and displaying the collapsed events upon selection of the main event from the sorted list of events.
- the sorted list includes an A-Z sorted list.
- a collapsed event includes all events within the ordered program guide data associated with the broadcast event which includes the channelgroup, and wherein each channelgroup is terminated by the LICF set to 1, until the LICGF is set to 1.
- the Language data field includes an ISO 639 language identifier.
- the Title data field includes a broadcast event title.
- the ChannelGroup data field includes a channel group identifier, the channel group identifier identifying the channelgroup to which a service broadcasting the event is assigned.
- the Time data field includes a broadcast time for the broadcast event, the broadcast time including the time at which the broadcast event is scheduled to be broadcast, on the service broadcasting the broadcast event.
- the Channel data field includes a channel identifier within the channelgroup including the service broadcasting the event.
- the Service data field includes a DVB service identifier.
- the LastInChannelFlag flag is set to 1 if the ChannelGroup data field, Time data field, or Channel data field differs from a corresponding ChannelGroup data field, Time data field, or Channel data field in a preceding event within the ordered program guide data list, thereby denoting an end of a channel selection group, and is set to 0 if one of the ChannelGroup data field, Time data field, and Channel data field do not differ from a corresponding ChannelGroup data field, Time data field, or Channel data field in the next event within the ordered program guide data list.
- the LICGF is set to 1 for any event including a last event for a given Title data field within the channelgroup, and set to 0 for any event not including a last event for a given Title data field within the channelgroup.
- a system of optimizing strings included in program guide data for transmission including a string sharer operative to share, in the program guide data, a plurality of strings, the plurality of strings including a shared sorting key, a sorter operative to implement an order access of a sorted sharing index, wherein the program guide data and the shared sorting key are included in the same data storage structure.
- a system for optimizing program guide data for transmission including at a broadcast headend, a list of services and program guide data, the program guide data including a list of events to be broadcast on the services, a channel association unit which associates services with channels, a channel group association unit which further associates the channels into channel groups, a field selector which selects a field included in data associated with each event, a list sorter which sorts the list of events according to the selected field, a grouping unit which groups the sorted list of events such that all instances of an event which include an identical instance of the field are grouped together, a collapsing unit which collapses the grouped sorted list of events such that one of the following instances of the event includes a main event and every other instance of the event within the list includes a collapsed event one instance of the event next to be broadcast on at least one service associated with the channelgroup, and one instance of the event presently being broadcast on at least one service associated with the channelgroup, thereby
- a system of displaying data in a program guide including an event list receiver which receives a list of events to be displayed in the program guide, the list including collapsed, sorted, and grouped event data, a selector which selects, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event, a displaying unit which displays the main event in a sorted list of events, and displays the at least one collapsed event upon selection of the main event from the sorted list of events.
- a system for optimizing program guide data associated with events for display on an electronic program guide including a data field associator which associates data fields with a broadcast event from among a plurality of broadcast events, the data field including at least t e following fields a language data field, a title data field, a channelgroup data field, a broadcast time data field, a channel data field, and a service data field, a program guide data orderer which orders program guide data associated with the broadcast event according to the data associated with the broadcast event in the following order Language, Title, ChannelGroup, Channel, and Service, thereby producing ordered program guide data associated with the broadcast event, a broadcast event assignor which assigns the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag, and a determiner which determines at least a main event from among the plurality of broadcast events, wherein the main event includes an event within the ordered program guide data
- a data field associator which associates data fields with a broadcast event from among
- FIG. 1 is a simplified pictorial illustration of an Electronic Program Guide (EPG) displaying information about television programs during a period of time, the information optimized according to a preferred method of the present invention, and constructed and operative in accordance with a preferred embodiment of the present invention;
- EPG Electronic Program Guide
- FIG. 2 is a simplified pictorial illustration of a PATRICIA tree sort of selected television programs depicted in the EPG of FIG. 1 , as well as additional television programs;
- FIG. 3 is a bit-wise listing of the title strings of some of the television programs in the PATRICIA tree of FIG. 2 ;
- FIG. 4 is a simplified UML diagram showing the relationship between ChannelGroup, Channel, and Service, as implemented in presenting data in the EPG of FIG. 1 ;
- FIG. 5 is a simplified block diagram showing the relationship between ChannelGroup, Channel, and Service, useful in illustrating the UML diagram of FIG. 4 ;
- FIGS. 6-9 are simplified flowchart illustrations of preferred methods of operation of the system of FIG. 1 , in accordance with preferred embodiments thereof.
- FIG. 1 is a simplified pictorial illustration of an Electronic Program Guide (EPG) displaying information about television programs during a period of time, the information optimized according to a preferred method of the present invention, and constructed and operative in accordance with a preferred embodiment of the present invention.
- the EPG depicted in FIG. 1 comprises a grid with channels arranged descending along the vertical axis, and time progressing along the horizontal axis. Programs to be broadcast at a given time on a given channel are shown at the grid location comprising the intersection of the given time with the given channel.
- the EPG depicted in FIG. 1 comprises program guide information for four channels, Channel 1 , Channel 1 + 1 , Channel 2 West, and Channel 2 South.
- Channel 1 + 1 comprises a so called “time shifted” channel, wherein programming broadcasted on Channel 1 is broadcast with a time-delay on an auxiliary channel.
- Channel 2 West and Channel 2 South comprise “regional channels”.
- Programming on regional channels comprises shared programs and region specific programs. Shared programs are broadcast on both Channel 2 West and Channel 2 South, such as “100 Piece Drill Bit Set” (at 19:30) and “1001 Cultures” (at 20:00).
- Region specific programs are programs broadcast with target audiences of particular regions, such as “West Scene”, broadcast only on Channel 2 West, and “Going South”, broadcast only on Channel 2 South. Both of the region specific programs are scheduled to be broadcast at the same time, 21:30.
- EPGs enable viewing program listings in a number of ways besides the grid depicted in FIG. 1 .
- some EPGs allow sorting program listings by genre (such as Movies, Sports, etc.) and sub-genre (such as Drama, Comedy, etc. for Movies, and Football, Golf, etc. for Sports).
- Some EPGs allow viewing program listings sorted in an A-Z list of program listings, typically for up to the next seven days programming.
- XSI-2 an extended SI system commercially available from NDS Ltd.
- title string sharing is implemented, such that two programs appearing as distinct programs in the EPG preferably “share” their title string, as described below, in data available to the receiver.
- the title string “10 Tasks for Hercules” is a shared title string, shared by the program item appearing on the EPG on Channel 1 at 19:30 and the program item appearing on the EPG on Channel 1 + 1 at 20:30.
- the title string of the program item “100 Piece Drill Bit Set”, appearing on the EPG at 19:30 on both Channel 2 West and Channel 2 South, is a shared title string.
- the title string of the program item “Emergency”, appearing on Channel 1 + 1 at 19:30 and 20:00 is also a shared title string.
- title strings and other strings are separated into separate data repositories.
- the title string sharing key is defined as an uncompressed sort string. For example and without limiting the generality of the foregoing, for the program item “EMERGENCY”, the title string sharing key is “EMERGENCY”. If need be, the entire title is used to distinguish between two title strings, for instance, if the following two title strings exist in EPG data: “Emergency—Episode 8” and “Emergency—Episode 9”, the entire title is needed to distinguish between the two title strings.
- a pointer is provided in the EPG data from a shared title string, the pointer pointing to a list of programs sharing the title string. For example, if the two episodes of Emergency on Channel 1 + 1 at 19:30 and at 20:00 are two different episodes, only one title string, “Emergency” preferably appears in the EPG data.
- the one title string preferably comprises a pointer, such that when a viewer selects one of the two episodes of “Emergency”, the EPG preferably retrieves the list of programs sharing the title string “Emergency”, and, based on the time of the episode selected by the viewer, the EPG is able to select, from the list which is pointed to, information about the episode selected by the viewer.
- FIG. 2 is a simplified pictorial illustration of a PATRICIA tree sort of selected television programs depicted in the EPG of FIG. 1 , as well as additional television programs.
- the PATRICIA tree comprises a binary tree.
- strings in the PATRICIA tree of FIG. 2 are represented in alpha-numeric characters and not in binary.
- the PATRICIA tree also comprises Q nodes.
- the time required for inserting, deleting, and searching the PATRICIA tree requires is proportional to log(Q). (See D. Knuth, The Art of Computer Programming , vol. 3, pp. 490-504, and 681-687.)
- any two children of a given node start with the same sequence of N bits. For instance, in the PATRICIA tree of FIG. 2 , each string begins with the character “1”, thus, each string begins with the bit string “00110001”.
- the actual location of each node in the PATRICIA tree of FIG. 2 depends on the method of insertion of the strings into the PATRICIA tree, as is well known in the art. (See The Art of Computer Programming , vol. 3, pp. 490-504, and 681-687, particularly Exercise 15 (p. 501), and the solution thereto (p. 63).)
- Dotted lines in the PATRICIA tree are terminal pointers which point back to an actual node which can be considered a leaf (terminal node). Pointing to leaves alleviates the need to store a given string twice, once in a node and once in a leaf.
- Pointers both terminal and non-terminal, are depicted in FIG. 2 with a bit-value indicator (either depicted as a ‘0’ or a ‘1’).
- the bit-value indicator is understood as a “navigational” aide in comparing nodes. If a node differs from the next node by a ‘0’, follow the bit-value indicator for ‘0’. Similarly, if the node differs from the next node by a ‘1’, follow the bit-value indicator for ‘1’.
- FIG. 3 is a bit-wise listing of the title strings of some of the television programs in the PATRICIA tree of FIG. 2 .
- the PATRICIA tree comprises a binary tree. Any two children of a given node start with the same sequence of N bits, and thus, the two children of the given node differ at bit N.
- each node of the PATRICIA tree represents a single bit comparison of the string comprised in the node.
- Bit 15 is the first bit to differ between the two strings. Thus, in FIG. 2 , the number 15 appears beside the solid arrow descending from “112's TOP TEN BAD BOY ARTISTS” to “100 DEEDS FOR EDDIE McDOWD”.
- FIG. 3 depicts a comparison between the first three characters of the string “100 DEEDS FOR EDDIE McDOWD” (“100”) expressed in binary the first three characters of the string “10” (“10 ⁇ EOS>”, where ⁇ EOS> indicates “end of string”, and is represented by the binary string 00000000) expressed in binary.
- Bit 18 is the first bit to differ between the two strings.
- the number 18 appears beside the solid arrow descending from “100 DEEDS FOR EDDIE McDOWD” to “10”.
- FIG. 3 depicts a comparison between the first three characters of the string “100 DEEDS FOR EDDIE McDOWD” (“100”) expressed in binary the first three characters of the string “101 DALMATIANS” (“101”) expressed in binary. Since the bit-value indicator for the ‘0’ pointer from “100 DEEDS FOR EDDIE McDOWD” points to “10”, with an indication that bit 18 is the first bit to differ, the bit-value indicator for the ‘0’ pointer from “100 DEEDS FOR EDDIE McDOWD” points to “101 DALMATIANS”. However, as is seen in FIG. 3 , 100 DEEDS FOR EDDIE McDOWD” and “101 DALMATIANS” do not differ at bit 18 , but rather at bit 23 .
- FIG. 4 is a simplified UML diagram showing the relationship between ChannelGroup, Channel, and Service, as implemented in presenting data in the EPG of FIG. 1 .
- EPG data is typically broadcast from a broadcast headend to the receiver.
- the EPG data preferably comprises lists of programs broadcast at a given time, and instructions to the receiver as to which channel (more formally, according to the DVB standard, to which service) to tune to in order to view a given program at a given time.
- the receiver needs to locate the broadcast data corresponding to the selected program (based on Program Specific Information in the broadcast EPG data) at the selected time on the selected channel (based on Service Information (SI) in the broadcast EPG data).
- SI Service Information
- services which, according to the DVB SI standard correspond to conventional television channels
- channels are grouped into groups of channels.
- FIG. 5 is a simplified block diagram showing the relationship between ChannelGroup, Channel, and Service, useful in illustrating the UML diagram of FIG. 4 .
- Services such as “Channel 1 South”, “Channel 1 West”, and “Channel 1 Northeast” are grouped together as channels, “Channel 1 Live”.
- “Channel 1 Live” in turn is a member of a “Channel 1 ” channel group.
- the “Channel 2 ” channel group comprises two channels, “Channel 2 Live” and “Channel 2 + 1 ”.
- Each of “Channel 2 Live” and “Channel 2 + 1 ” comprise a corresponding broadcast service.
- a more complex example comprising both time shifted channels and regional channels is presented for a “Channel 3 ” channel group.
- the “Channel 3 ” channel group comprises a “Channel 3 Live” channel and a “Channel 3 + 1 ” time shifted channel group”.
- Each of the “Channel 3 Live” channel and a “Channel 3 + 1 ” time shifted channel group each comprise three regional services.
- EPG A-Z listing supports are preferable to enable A-Z listing of programs in the EPG, as mentioned above.
- Main events preferably show an event which is the showing of the event which starts next, or is present on the air for a given channel group.
- Services associated with the same Channel preferably share a unique logical channel number (the logical channel number of the Channel) used in a DVB SI bouquet.
- a unique logical channel number is used across multiple bouquets.
- a channel preferably identifies a combination of regional services comprising both live and time-shifted services.
- Services grouped within a channel preferably identify a “collapsing down” of the schedule of the services, such that when a title is shared on multiple services for the same broadcast time (as, for example, “1001 CULTURES” in FIG. 1 ), only one instance of the title will be displayed in the EPG main A-Z sort screen.
- the receiver preferably chooses one of the many instances of the shared title to display in the EPG main A-Z sort screen.
- grouping services into channels enables collapsing the schedule down within a given time period.
- Grouping channels into ChannelGroups enables “collapsing along” a schedule, enabling future broadcasts of the same title to be collapsed, for instance programming on time shifted services.
- a service need not be assigned to a channel or channel group.
- an arbitrary ChannelGroup number may preferably be assigned to the service based on a Service identifier.
- a service may be assigned an arbitrarily high ChannelGroup number.
- main and collapsed events are preferably determined from within the Channel and the ChannelGroup groupings, where the determination is preferably signaled by a LastInChannelFlag (LICF) and LastInChannelGroupFlag (LICGF).
- the signaling preferably comprises the order:
- each event is examined to determine a value of the LastInChannelFlag.
- the LastInChannelFlag is set to 1 if the ChannelGroup, Time, or Channel differs between the event presently being evaluated and the ChannelGroup, Time, or Channel in the next event within the ordered event data list. If the ChannelGroup, Time, or Channel does not differ from the corresponding ChannelGroup, Time, or Channel in the next event within the ordered event data list, LastInChannelFlag is set to 0.
- the LastInChannelFlag When the LastInChannelFlag is set to 1, the LastInChannelFlag signals an end of a “channel selection group”.
- the channel selection group comprises consecutive A-Z ordered entries wherein LastInChannelFlag is set to 0, up to, and including the next entry with LastInChannelFlag set to 1.
- LastInChannelGroupFlag is set to 1 for any event comprising the last event for a given Title string within a ChannelGroup. Otherwise, LastInChannelGroupFlag is set to 0.
- the ordered event list comprises:
- Main events comprise those events comprised within the ordered event list comprising the same Title within a ChannelGroup within a first Channel comprised in the ChannelGroup.
- Collapsed events comprise events within subsequent channel grouping, wherein each channel grouping is terminated by LICF set to 1, until the LICGF is set to 1.
- LICF set to 1
- LICGF set to 1
- the EPG selects the event for display from each channel grouping as being the event comprising the lowest logical channel number used in the DVB SI bouquet.
- FIGS. 6-9 are simplified flowchart illustrations of preferred methods of operation of the system of FIG. 1 , in accordance with preferred embodiments thereof.
- FIGS. 6-9 are believed to be self explanatory with reference to the above discussion.
- software components of the present invention may, if desired, be implemented in ROM (read only memory) form.
- the software components may, generally, be implemented in hardware, if desired, using conventional techniques.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The present application claims the benefit of priority based on UK Patent Application GB 0511774.2 of NDS Limited, filed 9 Jun. 2005, and titled, “EXTENDED SERVICE INFORMATION 2 (XSI-2)”. The disclosure of UK Patent Application GB 0511774.2 is incorporated herein by reference.
- The present invention, in preferred embodiments thereof, relates to electronic program guides (EPG), and more particularly, systems for optimizing EPG data and the transmission thereof.
- PATRICIA is an algorithm which provides a flexible means of storing, indexing, and retrieving information in a large file, which is economical of index space and of reindexing time. It does not require rearrangement of text or index as new material is added. It requires a minimum restriction of format of text and of keys; it is extremely flexible in the variety of keys it will respond to. It retrieves information in response to keys furnished by the user with a quantity of computation which has a bound which depends linearly on the length of keys and the number of their proper occurrences and is otherwise independent of the size of the library. It has been implemented in several variations as FORTRAN programs for the CDC-3600, utilizing disk file storage of text. It has been applied to several large information-retrieval problems and will be applied to others. PATRICIA is described in PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric, Donald R. Morrison, JACM Vol. 15, Issue 4 (October 1968), pages 514-534.
- Patricia Trees are also discussed at length in The Art of Computer Programming, vol. 3, Donald E. Knuth, Addison-Wesley Publishing Company, Inc., 1973, on pages 490-504, and 681-687.
- U.S. Pat. No. 6,763,522 to Kondo et al. describes a system and method for providing an electronic program guide for broadcasted digital television wherein the electronic program guide displays only currently broadcasting minor channels, and timely event and contextual information. The system of the present invention includes program code in a memory for causing a tuner/de-multiplexor subsystem to tune to a preselected major channel broadcast frequency and to provide thereby at least one transport stream comprising a plurality of associated digital data elementary streams. The elementary streams include minor channel audio and video, as well as program and system information tables (PSIT), all of which are associated by packet identifiers to provide a table hierarchy. The system of the present invention compares presently broadcasting minor channel and PSIT information with corresponding information in memory. If the presently broadcasting information is more contemporaneous than the stored information, the stored information is updated, or replaced, with the presently broadcasting information to enable display of only actively broadcasting minor channels and up-to-the-minute event and contextual information.
- U.S. patent application Ser. No. 10/084,106 of Unger, published as US 2002/0194613, describes a method and apparatus for reconstituting packetized data streams representing a television program when the program uses multiple packet identifiers (PID) as in selective encryption schemes. Transmission of multiple sets of system information (SI) is avoided by incorporating a lookup table within a private data packet. A dual buffer arrangement in the set-top box provides ease of reconstitution of a data stream by generation of an interrupt upon receipt of a packet with a shadow PID. The buffers are toggled as a result of the interrupt and a corresponding packet can be found either at the beginning of the newly active buffer or the end of the inactive buffer. The stream of packets representing a program can then be reconstituted by creation of a new packet having the primary PID and shadow packet's payload.
- U.S. patent application Ser. No. 11/196,086 of Domegan et al., published as US 2005/0283799, describes a system for localizing an EPG program schedule, including an EPG service provider station including a database of channels and corresponding EPG program schedule information, a database manager identifying a plurality of channel line-ups potentially receivable at a viewing location, a transmitter, and a receiver, a multimedia viewer situated at the viewing location including an automatic channel line-up identifier identifying a first line-up of television channels receivable at the viewing location, a channel line-up processor at the viewing location calculating a channel line-up from among the plurality of channel line-ups that substantially matches the first line-up, a receiver receiving from the EPG service provider station the plurality of channel line-ups, and a transmitter transmitting to the EPG service provider station the identifier of the channel line-up calculated by the channel line-up processor, and a network connection linking the multimedia viewer to the EPG service provider, wherein the EPG service provider station transmitter transmits to the multimedia viewer the plurality of channel line-ups and also transmits to the multimedia viewer EPG program schedule information localized to the viewing location and based on the identifier of the channel line-up calculated by the channel line-up processor, and wherein the EPG service provider station receiver receives from the multimedia viewer the identifier of the calculated channel line-up, and wherein the multimedia viewer receiver also receives from the EPG service provider station the EPG program schedule information.
- PCT application PCT/US02/24940 of Diego Inc., published in the English language as WO 03/015394, describes a method whereby localized content and corresponding applications can be provided to thin-client interactive television terminals. Localization may be performed on general data feeds by applying, at a portal that receives the data feeds, localization parameters specified in a plurality of channel configuration records. The local content is then provided to their corresponding head-ends. From the head-ends, the local content and its application are carousel broadcasted to thin-client terminals via different data pipes. A viewer can tune to a synthetic channel having the local content and application via familiar television metaphors, such as from a remote control or from an electronic program guide. The viewer's interaction with the local content can be limited to a walled garden.
- PCT application PCT/US00/05188 of Index Systems, Inc., published in the English language as WO 00/52928, describes a system and method for providing merged electronic program guides with redundant listings removed. The television system receives EPG data of television programs broadcast by a plurality of program signal sources. Such signal sources may include OTA broadcast, cable, satellite, and the like. Either the television system or a merging system separate from the television system receives EPG data including program scheduling information of television programs telecast from the various signal sources. The system further receives channel mapping information for each of the signal sources. The channel mapping information relates television channels to television stations carried by the signal sources. The system creates a merged channel map based on the channel mapping information with any duplicate television station listings removed. Each television channel is associated with a unique channel identifier. Duplicate television station listings are therefore identified by identifying duplicate channel identifiers. Duplicate television station listings may be eliminated based on a priority associated with the various signal sources, or based on the signal quality of the various sources.
- PCT application PCT/IL02/00190 of NDS Ltd., published in the English language as WO 02/075596 on 26 Sep. 2002, and corresponding U.S. patent application Ser. No. 10/469,487 of Sterkin et al., published on 29 Jul. 2004 as US 2004/0148637, describes a method for accessing at least one literal data item in a hierarchical structure, the method including receiving a request to access at least one literal data item, and accessing the at least one literal data item, at least in part, by choosing and using an access method chosen from the following group: local storage access, back channel access, and data carousel access. The disclosure of WO 02/075596 and corresponding US 2004/0148637 are hereby incorporated herein by reference.
- Published European patent application EP 0912054 of General Instruments Corp. describes an Interactive Program Guide (IPG) data for television is delivered to integrated receiver-decoders (IRDs) in a decoder population via, for example, a satellite network. The IPG data provides scheduling information for global and local programming services which are carried via the satellite network as well as another network such as a CATV network or a terrestrial broadcast network. Each IRD is assigned to an IPG region using unit addressing. At the IRD, IPG data is filtered so that only the global data and the region-specific data for the IRD's IPG region is retained and processed by the IRD. Channel map data is also delivered to the IRDs so that bundles of IRD data can be filtered out using firmware filtering to discard program sources that are not present in the channel map. The IRD data which is retained after filtering is used to provide scheduling information via an on-screen display. A preferred source may be designated when there are duplicative channels on the different networks.
- Standards that are relevant to understanding the state of the art include the following published standards:
- ETS 300 468, Digital Video Broadcasting (DVB) Specification for Service Information (SI) in DVB Systems;
- ETR 162, Digital Broadcasting Systems for Television, Sound and Data Services; Allocation of Service Information (SI) Codes for Digital Video Broadcasting (DVB) Systems;
- ETR 211, Digital Video Broadcasting (DVB); Guidelines on Implementation and Usage of Service Information (SI).
- ISO 639 is an international standard listing short codes for language names.
- The disclosures of all references mentioned above and throughout the present specification, as well as the disclosures of all references mentioned in those references, are hereby incorporated herein by reference.
- ETS 300 468, Digital Video Broadcasting (DVB) Specification for Service Information(SI) in DVB Systems specifies a way for a broadcast headend to provide data that will appear on a program guide of a personal video recorder (PVR) or set top box (STB). The terms PVR and STB, unless specifically noted, are used herein interchangeably. The terms PVR and STB are collectively and generically referred to herein as a “receiver” or “receivers”.
- The data provided typically includes data about:
-
- events, such as television shows;
- DVB SI services, popularly called TV channels;
- Near video on demand (NVOD) services;
- Bouquets, a set of services presented on the program guide;
and - Mosaics.
- In order to improve efficiency and flexibility offered to a broadcaster in the way each STB builds a list of channels and services in its channel line up (for example, with the definition of new selection criteria attribute associated to each channel), and to support other broadcaster requirements which DVB SI did not support, Extended Service Information (XSI) was developed. XSI was originally developed as a proprietary extension of DVB SI by NDS Limited. XSI utilizes DVB SI and MPEG-2 private data descriptors, private data tables, and data carousels as a mechanism to deliver XSI data to STBs.
- Since XSI was deployed, digital television platforms have grown beyond what XSI was originally designed for, new technology such as PVRs have been introduced, and the cost of program guide data storage in the STB has decreased, resulting in the need for a new service information system.
- The present invention seeks to provide an improved method and system for sorting data strings for more efficient delivery to electronic program guides.
- There is thus provided in accordance with a preferred embodiment of the present invention a method of optimizing strings included in program guide data for transmission, the method including sharing, in the program guide data, a plurality of strings, each string among the plurality of strings including a shared sorting key, implementing an order access of a sorted sharing index, wherein the program guide data and the shared sorting key are included in the same data storage structure.
- Further in accordance with a preferred embodiment of the present invention the sorted sharing index includes a Patricia tree sort index.
- There is also provided in accordance with another preferred embodiment of the present invention a method of optimizing program guide data for transmission, the method including providing, at a broadcast headend, a list of services and the program guide data, the program guide data including a list of events to be broadcast on services corresponding to service identifiers included within the list of services, associating the services with channels, further associating the channels into channel groups, selecting a field included in program guide data associated with each event, sorting the list of events to be broadcast on the services according to the selected field, grouping the sorted list of events, such that all identical instances the field are grouped together, collapsing the grouped sorted list of events such that one of the following includes a main event and every other instance, of the event includes a collapsed event one instance of the event next to be broadcast on at least one service associated with the channel group, and one instance of the event presently being broadcast on at least one service associated with the channel group, thereby producing optimized program guide data.
- Further in accordance with a preferred embodiment of the present invention and also including transmitting the optimized program guide data.
- Still further in accordance with a preferred embodiment of the present invention the transmitting includes broadcasting the optimized program guide data.
- Additionally in accordance with a preferred embodiment of the present invention the selected field includes a title string associated with the event.
- Moreover in accordance with a preferred embodiment of the present invention the sorting the list of events includes a Patricia tree sort according to the selected field.
- There is also provided in accordance with still another preferred embodiment of the present invention a method of displaying data in a program guide, the method including receiving a list of events to be displayed in the program guide, the list including collapsed, sorted, and grouped event data, selecting, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event, displaying the main event in a sorted list of events, and displaying the collapsed events upon selection of the main event from the sorted list of events.
- Further in accordance with a preferred embodiment of the present invention the sorted list includes an A-Z sorted list.
- There is also provided in accordance with still another preferred embodiment of the present invention a method of optimizing program guide data associated with a plurality of broadcast events for display on an electronic program guide (EPG), the method including associating a data field with a broadcast event selected from among the plurality of broadcast events, the data field including at least the following fields a language data field, a title data field, a channelgroup data field, a broadcast time data field, a channel data field, and a service data field, ordering the program guide data associated with the broadcast event according to the data field associated with the broadcast event in the following order Language, Title, ChannelGroup, Channel, and Service, thereby producing ordered program guide data associated with the broadcast event, assigning the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag, and determining at least one main event from among the plurality of broadcast events, wherein the at least one main event includes an event within the ordered list of program guide data associated with the broadcast event including an identical Title field within a ChannelGroup within a first Channel included in the ChannelGroup.
- Further in accordance with a preferred embodiment of the present invention a collapsed event includes all events within the ordered program guide data associated with the broadcast event which includes the channelgroup, and wherein each channelgroup is terminated by the LICF set to 1, until the LICGF is set to 1.
- Still further in accordance with a preferred embodiment of the present invention the Language data field includes an ISO 639 language identifier.
- Additionally in accordance with a preferred embodiment of the present invention the Title data field includes a broadcast event title.
- Moreover in accordance with a preferred embodiment of the present invention the ChannelGroup data field includes a channel group identifier, the channel group identifier identifying the channelgroup to which a service broadcasting the event is assigned.
- Further in accordance with a preferred embodiment of the present invention the Time data field includes a broadcast time for the broadcast event, the broadcast time including the time at which the broadcast event is scheduled to be broadcast, on the service broadcasting the broadcast event.
- Still further in accordance with a preferred embodiment of the present invention the Channel data field includes a channel identifier within the channelgroup including the service broadcasting the event.
- Additionally in accordance with a preferred embodiment of the present invention the Service data field includes a DVB service identifier.
- Moreover in accordance with a preferred embodiment of the present invention the LastInChannelFlag flag is set to 1 if the ChannelGroup data field, Time data field, or Channel data field differs from a corresponding ChannelGroup data field, Time data field, or Channel data field in a preceding event within the ordered program guide data list, thereby denoting an end of a channel selection group, and is set to 0 if one of the ChannelGroup data field, Time data field, and Channel data field do not differ from a corresponding ChannelGroup data field, Time data field, or Channel data field in the next event within the ordered program guide data list.
- Further in accordance with a preferred embodiment of the present invention the LICGF is set to 1 for any event including a last event for a given Title data field within the channelgroup, and set to 0 for any event not including a last event for a given Title data field within the channelgroup.
- There is also provided in accordance with still another preferred embodiment of the present invention a system of optimizing strings included in program guide data for transmission, the system including a string sharer operative to share, in the program guide data, a plurality of strings, the plurality of strings including a shared sorting key, a sorter operative to implement an order access of a sorted sharing index, wherein the program guide data and the shared sorting key are included in the same data storage structure.
- There is also provided in accordance with still another preferred embodiment of the present invention a system for optimizing program guide data for transmission, the system including at a broadcast headend, a list of services and program guide data, the program guide data including a list of events to be broadcast on the services, a channel association unit which associates services with channels, a channel group association unit which further associates the channels into channel groups, a field selector which selects a field included in data associated with each event, a list sorter which sorts the list of events according to the selected field, a grouping unit which groups the sorted list of events such that all instances of an event which include an identical instance of the field are grouped together, a collapsing unit which collapses the grouped sorted list of events such that one of the following instances of the event includes a main event and every other instance of the event within the list includes a collapsed event one instance of the event next to be broadcast on at least one service associated with the channelgroup, and one instance of the event presently being broadcast on at least one service associated with the channelgroup, thereby producing optimized program guide data.
- There is also provided in accordance with still another preferred embodiment of the present invention a system of displaying data in a program guide, the system including an event list receiver which receives a list of events to be displayed in the program guide, the list including collapsed, sorted, and grouped event data, a selector which selects, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event, a displaying unit which displays the main event in a sorted list of events, and displays the at least one collapsed event upon selection of the main event from the sorted list of events.
- There is also provided in accordance with still another preferred embodiment of the present invention a system for optimizing program guide data associated with events for display on an electronic program guide (EPG), the system including a data field associator which associates data fields with a broadcast event from among a plurality of broadcast events, the data field including at least t e following fields a language data field, a title data field, a channelgroup data field, a broadcast time data field, a channel data field, and a service data field, a program guide data orderer which orders program guide data associated with the broadcast event according to the data associated with the broadcast event in the following order Language, Title, ChannelGroup, Channel, and Service, thereby producing ordered program guide data associated with the broadcast event, a broadcast event assignor which assigns the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag, and a determiner which determines at least a main event from among the plurality of broadcast events, wherein the main event includes an event within the ordered program guide data associated with the broadcast event, the program guide data associated with the broadcast event including an identical Title field within a ChannelGroup within a first Channel included in the ChannelGroup.
- The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
-
FIG. 1 is a simplified pictorial illustration of an Electronic Program Guide (EPG) displaying information about television programs during a period of time, the information optimized according to a preferred method of the present invention, and constructed and operative in accordance with a preferred embodiment of the present invention; -
FIG. 2 is a simplified pictorial illustration of a PATRICIA tree sort of selected television programs depicted in the EPG ofFIG. 1 , as well as additional television programs; -
FIG. 3 is a bit-wise listing of the title strings of some of the television programs in the PATRICIA tree ofFIG. 2 ; -
FIG. 4 is a simplified UML diagram showing the relationship between ChannelGroup, Channel, and Service, as implemented in presenting data in the EPG ofFIG. 1 ; -
FIG. 5 is a simplified block diagram showing the relationship between ChannelGroup, Channel, and Service, useful in illustrating the UML diagram ofFIG. 4 ; and -
FIGS. 6-9 are simplified flowchart illustrations of preferred methods of operation of the system ofFIG. 1 , in accordance with preferred embodiments thereof. - Reference is now made to
FIG. 1 , which is a simplified pictorial illustration of an Electronic Program Guide (EPG) displaying information about television programs during a period of time, the information optimized according to a preferred method of the present invention, and constructed and operative in accordance with a preferred embodiment of the present invention. The EPG depicted inFIG. 1 , as is well known in the art, comprises a grid with channels arranged descending along the vertical axis, and time progressing along the horizontal axis. Programs to be broadcast at a given time on a given channel are shown at the grid location comprising the intersection of the given time with the given channel. The EPG depicted inFIG. 1 comprises program guide information for four channels,Channel 1, Channel 1+1,Channel 2 West, andChannel 2 South. - For purposes of the discussion of
FIG. 1 ,Channel 1 +1 comprises a so called “time shifted” channel, wherein programming broadcasted onChannel 1 is broadcast with a time-delay on an auxiliary channel.Channel 2 West andChannel 2 South comprise “regional channels”. Programming on regional channels comprises shared programs and region specific programs. Shared programs are broadcast on bothChannel 2 West andChannel 2 South, such as “100 Piece Drill Bit Set” (at 19:30) and “1001 Cultures” (at 20:00). Region specific programs are programs broadcast with target audiences of particular regions, such as “West Scene”, broadcast only onChannel 2 West, and “Going South”, broadcast only onChannel 2 South. Both of the region specific programs are scheduled to be broadcast at the same time, 21:30. - Typically, EPGs enable viewing program listings in a number of ways besides the grid depicted in
FIG. 1 . For example and without limiting the generality of the foregoing, some EPGs allow sorting program listings by genre (such as Movies, Sports, etc.) and sub-genre (such as Drama, Comedy, etc. for Movies, and Football, Golf, etc. for Sports). Some EPGs allow viewing program listings sorted in an A-Z list of program listings, typically for up to the next seven days programming. - A set top box (STB) or personal video recorder (PVR), hereinafter, referred to as a “receiver”, which preferably receives and caches data for display in the EPG of
FIG. 1 would have to cache the data for “10 Tasks for Hercules” twice; once forChannel 1 at 19:30 and once for Channel 1+1 at 20:30. Likewise, data for “1001 Cultures” would have to be cached twice by the receiver; once forChannel 2 West at 20:00, and once forChannel 2 South at 20:00. Additionally, fast response times by the EPG are desired in order to ensure that a viewer's user experience is enhanced. - In certain broadcast environments, such as, for example, a broadcast environment implementing XSI-2 (an extended SI system commercially available from NDS Ltd.) a full seven days of data is already cached in the receiver. Furthermore, in the XSI-2 broadcast environment, title string sharing is implemented, such that two programs appearing as distinct programs in the EPG preferably “share” their title string, as described below, in data available to the receiver. For example and without limiting the generality of the foregoing, in the EPG depicted in
FIG. 1 , the title string “10 Tasks for Hercules” is a shared title string, shared by the program item appearing on the EPG onChannel 1 at 19:30 and the program item appearing on the EPG on Channel 1+1 at 20:30. Likewise, the title string of the program item, “100 Piece Drill Bit Set”, appearing on the EPG at 19:30 on bothChannel 2 West andChannel 2 South, is a shared title string. Similarly, the title string of the program item “Emergency”, appearing on Channel 1+1 at 19:30 and 20:00 is also a shared title string. - In a preferred embodiment of the present invention, title strings and other strings are separated into separate data repositories. The title string sharing key is defined as an uncompressed sort string. For example and without limiting the generality of the foregoing, for the program item “EMERGENCY”, the title string sharing key is “EMERGENCY”. If need be, the entire title is used to distinguish between two title strings, for instance, if the following two title strings exist in EPG data: “Emergency—
Episode 8” and “Emergency—Episode 9”, the entire title is needed to distinguish between the two title strings. - In a preferred embodiment of the present invention, a pointer is provided in the EPG data from a shared title string, the pointer pointing to a list of programs sharing the title string. For example, if the two episodes of Emergency on Channel 1+1 at 19:30 and at 20:00 are two different episodes, only one title string, “Emergency” preferably appears in the EPG data. The one title string preferably comprises a pointer, such that when a viewer selects one of the two episodes of “Emergency”, the EPG preferably retrieves the list of programs sharing the title string “Emergency”, and, based on the time of the episode selected by the viewer, the EPG is able to select, from the list which is pointed to, information about the episode selected by the viewer.
- Reference is now made to
FIG. 2 , which is a simplified pictorial illustration of a PATRICIA tree sort of selected television programs depicted in the EPG ofFIG. 1 , as well as additional television programs. As is explained below, in detail, with reference toFIG. 3 , the PATRICIA tree comprises a binary tree. For ease of depiction, strings in the PATRICIA tree ofFIG. 2 are represented in alpha-numeric characters and not in binary. For a PATRICIA tree comprising some number Q strings, the PATRICIA tree also comprises Q nodes. As is well known in the art, the time required for inserting, deleting, and searching the PATRICIA tree requires is proportional to log(Q). (See D. Knuth, The Art of Computer Programming, vol. 3, pp. 490-504, and 681-687.) - Any two children of a given node start with the same sequence of N bits. For instance, in the PATRICIA tree of
FIG. 2 , each string begins with the character “1”, thus, each string begins with the bit string “00110001”. The actual location of each node in the PATRICIA tree ofFIG. 2 depends on the method of insertion of the strings into the PATRICIA tree, as is well known in the art. (See The Art of Computer Programming, vol. 3, pp. 490-504, and 681-687, particularly Exercise 15 (p. 501), and the solution thereto (p. 63).) - Dotted lines in the PATRICIA tree are terminal pointers which point back to an actual node which can be considered a leaf (terminal node). Pointing to leaves alleviates the need to store a given string twice, once in a node and once in a leaf.
- Pointers, both terminal and non-terminal, are depicted in
FIG. 2 with a bit-value indicator (either depicted as a ‘0’ or a ‘1’). The bit-value indicator is understood as a “navigational” aide in comparing nodes. If a node differs from the next node by a ‘0’, follow the bit-value indicator for ‘0’. Similarly, if the node differs from the next node by a ‘1’, follow the bit-value indicator for ‘1’. - Reference is now additionally made to
FIG. 3 , which is a bit-wise listing of the title strings of some of the television programs in the PATRICIA tree ofFIG. 2 . As was explained above with reference toFIG. 2 , the PATRICIA tree comprises a binary tree. Any two children of a given node start with the same sequence of N bits, and thus, the two children of the given node differ at bit N. Thus, each node of the PATRICIA tree represents a single bit comparison of the string comprised in the node. By way of example, the top ofFIG. 3 depicts a comparison between the first three characters of the string “112's TOP TEN BAD BOY ARTISTS” (“112”) expressed in binary and the first three characters of the string “100 DEEDS FOR EDDIE McDOWD” (“100”) expressed in binary.Bit 15 is the first bit to differ between the two strings. Thus, inFIG. 2 , thenumber 15 appears beside the solid arrow descending from “112's TOP TEN BAD BOY ARTISTS” to “100 DEEDS FOR EDDIE McDOWD”. - Likewise, the middle portion of
FIG. 3 depicts a comparison between the first three characters of the string “100 DEEDS FOR EDDIE McDOWD” (“100”) expressed in binary the first three characters of the string “10” (“10<EOS>”, where <EOS> indicates “end of string”, and is represented by the binary string 00000000) expressed in binary.Bit 18 is the first bit to differ between the two strings. Thus, inFIG. 2 , thenumber 18 appears beside the solid arrow descending from “100 DEEDS FOR EDDIE McDOWD” to “10”. - Similarly, the bottom of
FIG. 3 depicts a comparison between the first three characters of the string “100 DEEDS FOR EDDIE McDOWD” (“100”) expressed in binary the first three characters of the string “101 DALMATIANS” (“101”) expressed in binary. Since the bit-value indicator for the ‘0’ pointer from “100 DEEDS FOR EDDIE McDOWD” points to “10”, with an indication that bit 18 is the first bit to differ, the bit-value indicator for the ‘0’ pointer from “100 DEEDS FOR EDDIE McDOWD” points to “101 DALMATIANS”. However, as is seen inFIG. 3 , 100 DEEDS FOR EDDIE McDOWD” and “101 DALMATIANS” do not differ atbit 18, but rather atbit 23. - Reference is now made to
FIG. 4 , which is a simplified UML diagram showing the relationship between ChannelGroup, Channel, and Service, as implemented in presenting data in the EPG ofFIG. 1 . EPG data is typically broadcast from a broadcast headend to the receiver. The EPG data preferably comprises lists of programs broadcast at a given time, and instructions to the receiver as to which channel (more formally, according to the DVB standard, to which service) to tune to in order to view a given program at a given time. For instance, if the viewer selects “100 PIECE DRILL BIT SET” at 19:30, broadcast onChannel 2 West, the receiver needs to locate the broadcast data corresponding to the selected program (based on Program Specific Information in the broadcast EPG data) at the selected time on the selected channel (based on Service Information (SI) in the broadcast EPG data). In a preferred embodiment of the present invention, services (which, according to the DVB SI standard correspond to conventional television channels) are grouped into channels, and channels are grouped into groups of channels. - Reference is now additionally made to
FIG. 5 , which is a simplified block diagram showing the relationship between ChannelGroup, Channel, and Service, useful in illustrating the UML diagram ofFIG. 4 . Services, such as “Channel 1 South”, “Channel 1 West”, and “Channel 1 Northeast” are grouped together as channels, “Channel 1 Live”. “Channel 1 Live” in turn is a member of a “Channel 1” channel group. Similarly, for a channel and a time shifted channel, the “Channel 2” channel group comprises two channels, “Channel 2 Live” and “Channel 2+1”. Each of “Channel 2 Live” and “Channel 2+1” comprise a corresponding broadcast service. - A more complex example comprising both time shifted channels and regional channels is presented for a “
Channel 3” channel group. The “Channel 3” channel group comprises a “Channel 3 Live” channel and a “Channel 3+1” time shifted channel group”. Each of the “Channel 3 Live” channel and a “Channel 3+1” time shifted channel group each comprise three regional services. - It is appreciated that the examples given in
FIG. 5 are purely hypothetical channel groups, channels, and services. - As mentioned above, it is preferable to enable A-Z listing of programs in the EPG, as mentioned above. Preferably, EPG A-Z listing supports:
-
- a minimum of 7.5 days of scheduling;
- multi-letter search;
- event collapsing (described below);
- genre and subgenre filtering; and
- fast response times.
- EPGs operative in accordance with preferred embodiments of the present invention preferably display two types of events:
-
- main events, comprising events which appear in main alphabetical listing screens of the EPG; and
- collapsed events, comprising events which share a title (for example, the 20:30 instance of “10 TASKS FOR HERCULES” shown in
FIG. 1 ), which only appear in a “collapsed” EPG screen. The collapsed EPG screen is preferably entered by selecting a main event.
- Main events preferably show an event which is the showing of the event which starts next, or is present on the air for a given channel group.
- Services associated with the same Channel preferably share a unique logical channel number (the logical channel number of the Channel) used in a DVB SI bouquet. Those skilled in the art will appreciate that, preferably, the unique logical channel number is used across multiple bouquets. Thus, as explained above, a channel preferably identifies a combination of regional services comprising both live and time-shifted services.
- Services grouped within a channel preferably identify a “collapsing down” of the schedule of the services, such that when a title is shared on multiple services for the same broadcast time (as, for example, “1001 CULTURES” in
FIG. 1 ), only one instance of the title will be displayed in the EPG main A-Z sort screen. The receiver preferably chooses one of the many instances of the shared title to display in the EPG main A-Z sort screen. - It is appreciated that grouping services into channels enables collapsing the schedule down within a given time period. Grouping channels into ChannelGroups enables “collapsing along” a schedule, enabling future broadcasts of the same title to be collapsed, for instance programming on time shifted services.
- A service need not be assigned to a channel or channel group. In such a case an arbitrary ChannelGroup number may preferably be assigned to the service based on a Service identifier. For example and without limiting the generality of the foregoing, a service may be assigned an arbitrarily high ChannelGroup number.
- One preferred method of ordering an A-Z sort of events within a broadcast stream comprises ordering event data according to the following fields in the following order:
- Language, Title, ChannelGroup, Time, Channel, Service where:
-
- Language is according to the ISO 639 language identifier for a language;
- Title comprises a full event title;
- ChannelGroup comprises the channel group to which a service is assigned (as described above);
- Time comprises a broadcast time for the event on the assigned service;
- Channel comprises the channel within a channel group comprising the assigned service (as described above); and
- Service is a unique identifier for each service to assist with ordering events with the same title and time within a Channel
- Once event data is ordered as described above, main and collapsed events are preferably determined from within the Channel and the ChannelGroup groupings, where the determination is preferably signaled by a LastInChannelFlag (LICF) and LastInChannelGroupFlag (LICGF). The signaling preferably comprises the order:
- Language, Title, ChannelGroup, Time, Channel, Service, LastInChannelFlag, LastInChannelGroupFlag
- After the event data is ordered in an ordered list, each event is examined to determine a value of the LastInChannelFlag.
- The LastInChannelFlag is set to 1 if the ChannelGroup, Time, or Channel differs between the event presently being evaluated and the ChannelGroup, Time, or Channel in the next event within the ordered event data list. If the ChannelGroup, Time, or Channel does not differ from the corresponding ChannelGroup, Time, or Channel in the next event within the ordered event data list, LastInChannelFlag is set to 0.
- When the LastInChannelFlag is set to 1, the LastInChannelFlag signals an end of a “channel selection group”. The channel selection group comprises consecutive A-Z ordered entries wherein LastInChannelFlag is set to 0, up to, and including the next entry with LastInChannelFlag set to 1.
- The LastInChannelGroupFlag is set to 1 for any event comprising the last event for a given Title string within a ChannelGroup. Otherwise, LastInChannelGroupFlag is set to 0.
- For example and without limiting the generality of the foregoing, using the following ChannelGroups, Channels, and Service identifiers (and ignoring the Language field), and the schedule depicted in
FIG. 1 : -
ChannelGroup Name Channel Group Channel 1 1 Channel 22 and, Channel Name Channel Channel 1 Live 1 Channel 1 + 12 Channel 2 Live1 and, Service Name Service Channel 1 1 Channel 1 + 12 Channel 2West 3 Channel 2South 4
and thus, the ordered event list comprises: -
Channel- Title Group Time Channel Service LICF LICGF 10 Tasks for 1 19:30 1 1 1 0 Hercules 20:30 2 2 1 1 100 Deeds 2 20:30 1 3 0 0 20:30 1 4 1 1 100 Piece Drill 2 19:30 1 3 0 0 Bit Set 19:30 1 4 1 1 1001 Cultures 2 20:00 1 3 0 0 20:00 1 4 1 1 101 1 20:30 1 1 1 0 Dalmatians 21:30 2 2 1 1 122's Top 101 20:00 1 1 1 0 Bad Boy Artists 21:00 2 2 1 1 Emergency 1 19:30 2 2 1 0 20:00 2 2 1 1 Going South 2 21:30 1 4 1 1 News at 9:00 2 21:00 1 3 0 0 21:00 1 4 1 1 West Scene 2 21:30 1 3 1 1 - Main events comprise those events comprised within the ordered event list comprising the same Title within a ChannelGroup within a first Channel comprised in the ChannelGroup.
- Collapsed events comprise events within subsequent channel grouping, wherein each channel grouping is terminated by LICF set to 1, until the LICGF is set to 1. For instance, in the table above, “101 Dalmatians” comprises one main event and one collapsed event.
- The EPG selects the event for display from each channel grouping as being the event comprising the lowest logical channel number used in the DVB SI bouquet.
- Reference is now made to
FIGS. 6-9 , which are simplified flowchart illustrations of preferred methods of operation of the system ofFIG. 1 , in accordance with preferred embodiments thereof.FIGS. 6-9 are believed to be self explanatory with reference to the above discussion. - It is appreciated that software components of the present invention may, if desired, be implemented in ROM (read only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques.
- It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
- It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined only by the claims which follow:
Claims (32)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0511774.2A GB0511774D0 (en) | 2005-06-09 | 2005-06-09 | Extended service information 2 (XSI-2) |
GB0511774.2 | 2005-06-09 | ||
PCT/GB2006/002109 WO2006131746A2 (en) | 2005-06-09 | 2006-06-09 | Program guide optimization system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090125943A1 true US20090125943A1 (en) | 2009-05-14 |
Family
ID=34855281
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/920,800 Abandoned US20090133074A1 (en) | 2005-06-09 | 2006-06-09 | Headend Modeling of Data |
US11/921,054 Abandoned US20090125943A1 (en) | 2005-06-09 | 2006-06-09 | Program guide optimization system |
US12/799,997 Abandoned US20100223644A1 (en) | 2005-06-09 | 2010-05-06 | Program guide optimization system |
US12/800,441 Active 2027-08-19 US8607277B2 (en) | 2005-06-09 | 2010-05-14 | Headend modeling of data |
US12/928,844 Abandoned US20110126235A1 (en) | 2005-06-09 | 2010-12-20 | Program guide optimization system |
US13/068,922 Active 2026-06-16 US8578421B2 (en) | 2005-06-09 | 2011-05-24 | Headend modeling of data |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/920,800 Abandoned US20090133074A1 (en) | 2005-06-09 | 2006-06-09 | Headend Modeling of Data |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/799,997 Abandoned US20100223644A1 (en) | 2005-06-09 | 2010-05-06 | Program guide optimization system |
US12/800,441 Active 2027-08-19 US8607277B2 (en) | 2005-06-09 | 2010-05-14 | Headend modeling of data |
US12/928,844 Abandoned US20110126235A1 (en) | 2005-06-09 | 2010-12-20 | Program guide optimization system |
US13/068,922 Active 2026-06-16 US8578421B2 (en) | 2005-06-09 | 2011-05-24 | Headend modeling of data |
Country Status (5)
Country | Link |
---|---|
US (6) | US20090133074A1 (en) |
EP (3) | EP2334076A1 (en) |
GB (1) | GB0511774D0 (en) |
IL (2) | IL187514A0 (en) |
WO (3) | WO2006131748A2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005766A1 (en) * | 2006-06-29 | 2008-01-03 | Scientific-Atlanta, Inc. | Enhanced Program Guide |
US20080065722A1 (en) * | 2006-09-11 | 2008-03-13 | Apple Computer, Inc. | Media device playlists |
US20080270886A1 (en) * | 2007-04-30 | 2008-10-30 | Google Inc. | Hiding Portions of Display Content |
US20110239251A1 (en) * | 2010-03-25 | 2011-09-29 | Cox Communications, Inc. | Electronic Program Guide Generation |
US20140165089A1 (en) * | 2012-12-11 | 2014-06-12 | Kt Corporation | Channel management |
US20140165102A1 (en) * | 2012-12-07 | 2014-06-12 | Funai Electric Co., Ltd. | Electronic program listings displaying device |
US8782710B2 (en) | 2010-08-31 | 2014-07-15 | Shaw Cablesystems G.P. | Method and system for optimizing electronic program guide data |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635641B2 (en) * | 2007-12-05 | 2014-01-21 | Lg Electronics Inc. | Method of performing parental control a channel and an IPTV receiver |
US8869219B2 (en) * | 2007-12-05 | 2014-10-21 | Lg Electronics Inc. | Method for controlling a channel and an IPTV receiver |
US8112775B2 (en) * | 2007-12-05 | 2012-02-07 | Lg Electronics Inc. | IPTV receiver and method of providing channel details information |
US8893200B2 (en) * | 2007-12-05 | 2014-11-18 | Lg Electronics Inc. | IPTV receiver and method of acquiring a resource for an IPTV service |
US8484689B2 (en) * | 2007-12-05 | 2013-07-09 | Lg Electronics Inc. | IPTV receiver and method of discovering an IPTV service |
US8397256B2 (en) * | 2007-12-05 | 2013-03-12 | Lg Electronics Inc. | IPTV receiver and method of providing channel map information |
US8893205B2 (en) * | 2007-12-05 | 2014-11-18 | Lg Electronics Inc. | IPTV receiver and method of providing channel map management information |
US8813155B2 (en) * | 2007-12-05 | 2014-08-19 | Lg Electronics Inc. | Method for receiving service information data and an IPTV receiver |
US8594490B2 (en) | 2008-01-09 | 2013-11-26 | Cisco Technology, Inc. | System and method for overtime viewing |
US8769560B2 (en) | 2009-10-13 | 2014-07-01 | At&T Intellectual Property I, L.P. | System and method to obtain content and generate modified content based on a time limited content consumption state |
EP2378766A1 (en) | 2010-04-16 | 2011-10-19 | Liberty Global Europe Holding B.V. | Electronic Program Guide compression method and system |
US8818963B2 (en) * | 2010-10-29 | 2014-08-26 | Microsoft Corporation | Halloween protection in a multi-version database system |
EP2523465B1 (en) * | 2011-05-09 | 2020-04-08 | LG Electronics Inc. | Service system and method of providing service in digital receiver thereof |
KR20140044883A (en) * | 2011-08-10 | 2014-04-15 | 톰슨 라이센싱 | System and method for caching an electronic program guide |
DE102012104805A1 (en) * | 2012-06-04 | 2013-12-05 | Deutsche Telekom Ag | A method for updating electronic program information data (2) on a user terminal |
US8904444B2 (en) * | 2012-11-15 | 2014-12-02 | Motorola Mobility Llc | Scalable data acquisition and accumulation in a resource constrained environment |
US9195712B2 (en) | 2013-03-12 | 2015-11-24 | Microsoft Technology Licensing, Llc | Method of converting query plans to native code |
EP2979459A1 (en) * | 2013-03-28 | 2016-02-03 | Thomson Licensing | Adaptive guide based on categorization |
US10474645B2 (en) | 2014-02-24 | 2019-11-12 | Microsoft Technology Licensing, Llc | Automatically retrying transactions with split procedure execution |
US9743150B2 (en) * | 2014-07-08 | 2017-08-22 | Verizon Patent And Licensing Inc. | Method, apparatus, and system for providing electronic program guide changes during outages in a media stream |
EP3230762B1 (en) | 2014-12-12 | 2024-06-26 | Services Development Company LLC | Data transmission via a high frequency radio band |
US11868445B2 (en) | 2016-06-24 | 2024-01-09 | Discovery Communications, Llc | Systems and methods for federated searches of assets in disparate dam repositories |
US10372883B2 (en) | 2016-06-24 | 2019-08-06 | Scripps Networks Interactive, Inc. | Satellite and central asset registry systems and methods and rights management systems |
US10452714B2 (en) | 2016-06-24 | 2019-10-22 | Scripps Networks Interactive, Inc. | Central asset registry system and method |
US12010365B2 (en) * | 2022-03-31 | 2024-06-11 | Comcast Cable Communications, Llc | Methods and systems for content management |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790198A (en) * | 1990-09-10 | 1998-08-04 | Starsight Telecast, Inc. | Television schedule information transmission and utilization system and process |
US6160545A (en) * | 1997-10-24 | 2000-12-12 | General Instrument Corporation | Multi-regional interactive program guide for television |
US20020059185A1 (en) * | 2000-10-14 | 2002-05-16 | Lg Electronics Inc. | Method of managing index data in main memory database |
US20020194613A1 (en) * | 2001-06-06 | 2002-12-19 | Unger Robert Allan | Reconstitution of program streams split across multiple program identifiers |
US20030145327A1 (en) * | 2002-01-31 | 2003-07-31 | Baldwin James Armand | Pre-fragmentation of data destined for low resource clients |
US6728966B1 (en) * | 1999-03-29 | 2004-04-27 | Hughes Electronics Corporation | Electronic television program guide data naming system and method |
US6763522B1 (en) * | 1998-06-30 | 2004-07-13 | Sony Corporation | System and method for a digital television electronic program guide |
US20040148637A1 (en) * | 2001-03-16 | 2004-07-29 | Asher Sterkin | Method and system for literal data access |
US20050283799A1 (en) * | 2001-02-21 | 2005-12-22 | Domegan Patrick A | System, method and channel line-up processor for localizing an electronic program guide schedule |
US6993782B1 (en) * | 1999-07-16 | 2006-01-31 | Thomson Licensing | Program guide information and processor for providing program and channel substitution |
US20060156339A1 (en) * | 2005-01-12 | 2006-07-13 | Seiko Epson Corporation | Electric program guide receiving apparatus, digital television system, and electronic apparatus |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644712A (en) * | 1991-06-05 | 1997-07-01 | International Business Machines Corporation | Indirect addressing of channels via logical channel groups |
GB9400101D0 (en) * | 1994-01-05 | 1994-03-02 | Thomson Consumer Electronics | Consumer interface for a satellite television system |
US5841433A (en) * | 1994-12-23 | 1998-11-24 | Thomson Consumer Electronics, Inc. | Digital television system channel guide having a limited lifetime |
JP3698273B2 (en) * | 1995-07-20 | 2005-09-21 | ソニー株式会社 | Electronic program guide transmission apparatus and method, electronic program guide reception apparatus and method, and electronic program guide transmission / reception system and method |
JP3572595B2 (en) * | 1995-07-21 | 2004-10-06 | ソニー株式会社 | Electronic program guide display control apparatus and method |
US5801753A (en) * | 1995-08-11 | 1998-09-01 | General Instrument Corporation Of Delaware | Method and apparatus for providing an interactive guide to events available on an information network |
US5951639A (en) | 1996-02-14 | 1999-09-14 | Powertv, Inc. | Multicast downloading of software and data modules and their compatibility requirements |
CN1093972C (en) | 1997-09-05 | 2002-11-06 | 索尼公司 | Method and appts. for displaying images |
US6675385B1 (en) * | 1998-10-21 | 2004-01-06 | Liberate Technologies | HTML electronic program guide for an MPEG digital TV system |
US6904609B1 (en) * | 1999-03-18 | 2005-06-07 | Microsoft Corporation | Systems and methods for electronic program guide data services |
US6658661B1 (en) * | 1999-03-29 | 2003-12-02 | Hughes Electronics Corporation | Carousel bit mask system and method |
JP2000307968A (en) * | 1999-04-20 | 2000-11-02 | Sony Corp | Method for transmitting and receiving electronic program information, electronic program information reception equipment and electronic program information transmission system |
US6718374B1 (en) | 1999-04-21 | 2004-04-06 | General Instrument Corporation | Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system |
WO2001017250A1 (en) | 1999-08-31 | 2001-03-08 | Ismail Labeeb K | Method and apparatus for delivery of targeted video programming |
JP2001320291A (en) * | 2000-02-29 | 2001-11-16 | Sony Corp | Receiver and method for receiving |
EP1148730A3 (en) * | 2000-03-31 | 2003-10-08 | Matsushita Electric Industrial Co., Ltd. | Data broadcast apparatus for controlling presentation timing of additional data with high precision |
US6772434B1 (en) * | 2000-05-24 | 2004-08-03 | The Directv Group, Inc. | Device and method for the integrated presentation of a secondary service as a part of a primary service |
US6741834B1 (en) * | 2000-06-06 | 2004-05-25 | Hughes Electronics Corporation | Device and method to improve integrated presentation of existing radio services and advanced multimedia services |
CA2349914C (en) * | 2000-06-09 | 2013-07-30 | Invidi Technologies Corp. | Advertising delivery method |
US20050204385A1 (en) * | 2000-07-24 | 2005-09-15 | Vivcom, Inc. | Processing and presentation of infomercials for audio-visual programs |
US7216090B2 (en) * | 2000-11-28 | 2007-05-08 | Navic Systems, Inc. | Promotion packaging for transmission groups |
US6925458B2 (en) * | 2000-12-20 | 2005-08-02 | Michael A. Scaturro | System and method for providing an activity schedule of a public person over a network |
US6804677B2 (en) * | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
WO2003105470A1 (en) * | 2001-08-03 | 2003-12-18 | Hughes Electronics Corporation | Method and apparatus for creating electronic program guide without consolidated program guide information transmission |
AU2002323022A1 (en) | 2001-08-06 | 2003-02-24 | Digeo Inc. | Providing content and applicatons via carousel transmission to thin-client interactive television terminals |
JP2003204482A (en) * | 2001-10-22 | 2003-07-18 | Matsushita Electric Ind Co Ltd | Broadcasting device |
US20030131355A1 (en) * | 2001-11-27 | 2003-07-10 | Berenson Richard W. | Program guide system |
US20030120758A1 (en) * | 2001-12-21 | 2003-06-26 | Koninklijke Philips Electronics N.V. | XML conditioning for new devices attached to the network |
US6909384B2 (en) * | 2002-01-31 | 2005-06-21 | Microsoft Corporation | Generating and searching compressed data |
US7298960B1 (en) * | 2002-05-10 | 2007-11-20 | Microsoft Corporation | Playback diagnostics |
US7299317B1 (en) * | 2002-06-08 | 2007-11-20 | Cisco Technology, Inc. | Assigning prefixes to associative memory classes based on a value of a last bit of each prefix and their use including but not limited to locating a prefix and for maintaining a Patricia tree data structure |
EP1525743B1 (en) * | 2002-07-17 | 2014-07-16 | Pace Plc | Receiver with concurrent multi-user electronic program guide |
US8631451B2 (en) | 2002-12-11 | 2014-01-14 | Broadcom Corporation | Server architecture supporting adaptive delivery to a variety of media players |
CA2510709A1 (en) * | 2002-12-18 | 2004-07-01 | Nokia Corporation | Method of announcing sessions |
US20040123317A1 (en) * | 2002-12-19 | 2004-06-24 | Sony Corporation | System and method for delivering electronic program guide |
US7065355B2 (en) * | 2003-01-21 | 2006-06-20 | The Boeing Company | Method and apparatus for very high data rate satellite transmission |
US7757251B2 (en) * | 2003-03-18 | 2010-07-13 | Time Warner Interactive Video Group Inc. | Technique for providing program guide data through a communications network delivering programming content |
JP2005142753A (en) * | 2003-11-05 | 2005-06-02 | Toshiba Corp | Apparatus and method for broadcast receiving, and apparatus and method for program recording |
US20050097595A1 (en) * | 2003-11-05 | 2005-05-05 | Matti Lipsanen | Method and system for controlling access to content |
WO2005120055A2 (en) * | 2004-05-26 | 2005-12-15 | Skipjam Corp. | Method and system for displaying and selecting content of an electronic program guide |
US8904458B2 (en) | 2004-07-29 | 2014-12-02 | At&T Intellectual Property I, L.P. | System and method for pre-caching a first portion of a video file on a set-top box |
GB0423323D0 (en) * | 2004-10-20 | 2004-11-24 | Nds Ltd | Apparatus and method for grouping program meta-data |
US20060149761A1 (en) * | 2004-12-09 | 2006-07-06 | Lg Electronics Inc. | Structure of objects stored in a media server and improving accessibility to the structure |
-
2005
- 2005-06-09 GB GBGB0511774.2A patent/GB0511774D0/en not_active Ceased
-
2006
- 2006-06-09 WO PCT/GB2006/002113 patent/WO2006131748A2/en active Application Filing
- 2006-06-09 EP EP10014601A patent/EP2334076A1/en not_active Withdrawn
- 2006-06-09 US US11/920,800 patent/US20090133074A1/en not_active Abandoned
- 2006-06-09 EP EP06744164.2A patent/EP1889482B1/en not_active Not-in-force
- 2006-06-09 US US11/921,054 patent/US20090125943A1/en not_active Abandoned
- 2006-06-09 EP EP06744160.0A patent/EP1889477B1/en not_active Not-in-force
- 2006-06-09 WO PCT/GB2006/002127 patent/WO2006131754A2/en active Application Filing
- 2006-06-09 WO PCT/GB2006/002109 patent/WO2006131746A2/en active Application Filing
-
2007
- 2007-11-20 IL IL187514A patent/IL187514A0/en unknown
- 2007-11-22 IL IL187564A patent/IL187564A0/en unknown
-
2010
- 2010-05-06 US US12/799,997 patent/US20100223644A1/en not_active Abandoned
- 2010-05-14 US US12/800,441 patent/US8607277B2/en active Active
- 2010-12-20 US US12/928,844 patent/US20110126235A1/en not_active Abandoned
-
2011
- 2011-05-24 US US13/068,922 patent/US8578421B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790198A (en) * | 1990-09-10 | 1998-08-04 | Starsight Telecast, Inc. | Television schedule information transmission and utilization system and process |
US6160545A (en) * | 1997-10-24 | 2000-12-12 | General Instrument Corporation | Multi-regional interactive program guide for television |
US6401242B1 (en) * | 1997-10-24 | 2002-06-04 | General Instrument Corporation | Method and apparatus for designating a preferred source to avoid duplicative programming services |
US6763522B1 (en) * | 1998-06-30 | 2004-07-13 | Sony Corporation | System and method for a digital television electronic program guide |
US6728966B1 (en) * | 1999-03-29 | 2004-04-27 | Hughes Electronics Corporation | Electronic television program guide data naming system and method |
US6993782B1 (en) * | 1999-07-16 | 2006-01-31 | Thomson Licensing | Program guide information and processor for providing program and channel substitution |
US20020059185A1 (en) * | 2000-10-14 | 2002-05-16 | Lg Electronics Inc. | Method of managing index data in main memory database |
US20050283799A1 (en) * | 2001-02-21 | 2005-12-22 | Domegan Patrick A | System, method and channel line-up processor for localizing an electronic program guide schedule |
US20040148637A1 (en) * | 2001-03-16 | 2004-07-29 | Asher Sterkin | Method and system for literal data access |
US20020194613A1 (en) * | 2001-06-06 | 2002-12-19 | Unger Robert Allan | Reconstitution of program streams split across multiple program identifiers |
US20030145327A1 (en) * | 2002-01-31 | 2003-07-31 | Baldwin James Armand | Pre-fragmentation of data destined for low resource clients |
US20060156339A1 (en) * | 2005-01-12 | 2006-07-13 | Seiko Epson Corporation | Electric program guide receiving apparatus, digital television system, and electronic apparatus |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005766A1 (en) * | 2006-06-29 | 2008-01-03 | Scientific-Atlanta, Inc. | Enhanced Program Guide |
US20080065722A1 (en) * | 2006-09-11 | 2008-03-13 | Apple Computer, Inc. | Media device playlists |
US20080270886A1 (en) * | 2007-04-30 | 2008-10-30 | Google Inc. | Hiding Portions of Display Content |
US8065603B2 (en) * | 2007-04-30 | 2011-11-22 | Google Inc. | Hiding portions of display content |
US10254946B2 (en) | 2007-04-30 | 2019-04-09 | Google Llc | Hiding portions of display content |
US11036385B2 (en) | 2007-04-30 | 2021-06-15 | Google Llc | Hiding portions of display content |
US20110239251A1 (en) * | 2010-03-25 | 2011-09-29 | Cox Communications, Inc. | Electronic Program Guide Generation |
US9313542B2 (en) * | 2010-03-25 | 2016-04-12 | Cox Communications, Inc. | Electronic program guide generation |
US8782710B2 (en) | 2010-08-31 | 2014-07-15 | Shaw Cablesystems G.P. | Method and system for optimizing electronic program guide data |
US20140165102A1 (en) * | 2012-12-07 | 2014-06-12 | Funai Electric Co., Ltd. | Electronic program listings displaying device |
US20140165089A1 (en) * | 2012-12-11 | 2014-06-12 | Kt Corporation | Channel management |
Also Published As
Publication number | Publication date |
---|---|
WO2006131754A2 (en) | 2006-12-14 |
US20100223644A1 (en) | 2010-09-02 |
US20090133074A1 (en) | 2009-05-21 |
IL187514A0 (en) | 2008-03-20 |
US20110231879A1 (en) | 2011-09-22 |
WO2006131748A2 (en) | 2006-12-14 |
US20110126235A1 (en) | 2011-05-26 |
EP2334076A1 (en) | 2011-06-15 |
WO2006131748A3 (en) | 2007-07-12 |
IL187564A0 (en) | 2008-03-20 |
WO2006131746A2 (en) | 2006-12-14 |
WO2006131754A3 (en) | 2007-05-31 |
US8578421B2 (en) | 2013-11-05 |
EP1889482A2 (en) | 2008-02-20 |
EP1889482B1 (en) | 2015-09-02 |
WO2006131746A3 (en) | 2007-03-15 |
GB0511774D0 (en) | 2005-07-20 |
US8607277B2 (en) | 2013-12-10 |
EP1889477A2 (en) | 2008-02-20 |
US20100235860A1 (en) | 2010-09-16 |
EP1889477B1 (en) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1889477B1 (en) | Program guide optimization system | |
KR100583057B1 (en) | Apparatus and method for decoding packetized program data | |
US6763522B1 (en) | System and method for a digital television electronic program guide | |
US6401242B1 (en) | Method and apparatus for designating a preferred source to avoid duplicative programming services | |
US7032236B1 (en) | Multimedia system for processing program guides and associated multimedia objects | |
US5982411A (en) | Navigation among grouped television channels | |
US7620968B2 (en) | Channels and services display | |
US20050289593A1 (en) | Method and system for displaying and selecting content of an electronic program guide | |
KR20100126405A (en) | Method and apparatus for replacement of audio data in a recorded audio/video stream | |
US20050160453A1 (en) | Apparatus to change a channel using a channel map based on program genre and method thereof | |
US7071993B2 (en) | Digital broadcast receiving device and method using the same | |
AU761964B2 (en) | Broadcasting transmitter and receiver | |
US20010016948A1 (en) | Broadcast data system and apparatus | |
KR20090036386A (en) | Broadcasting receiver and method for searching a broadcasting program | |
KR101239099B1 (en) | Multi vod channel providing system in digital cable broadcast and method thereof | |
KR20040058397A (en) | Method for guiding program according to category | |
WO2008050948A1 (en) | Method and apparatus for storing broadcast program | |
KR100586857B1 (en) | Apparatus and method for decoding packetized program information, storage medium containing digital data, and method for forming program guide information | |
KR20080025460A (en) | Method for searching program information and apparatus for receiving a broadcast signal | |
CA2507439A1 (en) | Multi-regional interactive program guide for television |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: J.P. MORGAN EUROPE LIMITED, UNITED KINGDOM Free format text: SECURITY AGREEMENT;ASSIGNORS:NDS LIMITED;NEWS DATACOM LIMITED;REEL/FRAME:022678/0712 Effective date: 20090428 Owner name: J.P. MORGAN EUROPE LIMITED,UNITED KINGDOM Free format text: SECURITY AGREEMENT;ASSIGNORS:NDS LIMITED;NEWS DATACOM LIMITED;REEL/FRAME:022678/0712 Effective date: 20090428 |
|
AS | Assignment |
Owner name: NDS HOLDCO, INC., NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNORS:NDS LIMITED;NEWS DATACOM LIMITED;REEL/FRAME:022703/0071 Effective date: 20090428 Owner name: NDS HOLDCO, INC.,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNORS:NDS LIMITED;NEWS DATACOM LIMITED;REEL/FRAME:022703/0071 Effective date: 20090428 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: NDS LIMITED, UNITED KINGDOM Free format text: RELEASE OF INTELLECTUAL PROPERTY SECURITY INTERESTS;ASSIGNOR:NDS HOLDCO, INC.;REEL/FRAME:025940/0710 Effective date: 20110310 Owner name: NEWS DATACOM LIMITED, UNITED KINGDOM Free format text: RELEASE OF INTELLECTUAL PROPERTY SECURITY INTERESTS;ASSIGNOR:NDS HOLDCO, INC.;REEL/FRAME:025940/0710 Effective date: 20110310 |
|
AS | Assignment |
Owner name: NEWS DATACOM LIMITED, CALIFORNIA Free format text: RELEASE OF PATENT SECURITY INTERESTS;ASSIGNOR:J.P.MORGAN EUROPE LIMITED;REEL/FRAME:026042/0124 Effective date: 20110310 Owner name: NDS LIMITED, CALIFORNIA Free format text: RELEASE OF PATENT SECURITY INTERESTS;ASSIGNOR:J.P.MORGAN EUROPE LIMITED;REEL/FRAME:026042/0124 Effective date: 20110310 |
|
AS | Assignment |
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NDS LIMITED;REEL/FRAME:046447/0387 Effective date: 20180626 |
|
AS | Assignment |
Owner name: NDS LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEAUMARIS NETWORKS LLC;CISCO SYSTEMS INTERNATIONAL S.A.R.L.;CISCO TECHNOLOGY, INC.;AND OTHERS;REEL/FRAME:047420/0600 Effective date: 20181028 |