EP1955539A2 - Optimally selecting tv programs with time margins - Google Patents

Optimally selecting tv programs with time margins

Info

Publication number
EP1955539A2
EP1955539A2 EP06821467A EP06821467A EP1955539A2 EP 1955539 A2 EP1955539 A2 EP 1955539A2 EP 06821467 A EP06821467 A EP 06821467A EP 06821467 A EP06821467 A EP 06821467A EP 1955539 A2 EP1955539 A2 EP 1955539A2
Authority
EP
European Patent Office
Prior art keywords
time
programs
partial
program
viewer
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.)
Withdrawn
Application number
EP06821467A
Other languages
German (de)
French (fr)
Inventor
Wim Verhaegh
Gerrit Hollemans
Johannes Henricus Maria Korst
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Global Ltd
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of EP1955539A2 publication Critical patent/EP1955539A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre

Definitions

  • the present invention relates to a system, apparatus and method that uses time margins to make (near) optimal selections of partial TV programs to be recorded using a limited number of tuners during a given time interval and distinguishes between switching to another TV channel after recording a first program and staying tuned to the same channel by enforcing a time margin in the former situation.
  • a part is defined as some or all of a TV program.
  • PVRS Personal video recorders
  • EPG electronic program guide
  • a recommender may be available that can predict, for an upcoming TV program, how much a viewer will like it.
  • EPGs electronic program guides
  • EPGs offer an option of searching (filtering) by keyword(s) but do not allow time between selections to complete receipt thereof. In this way EPGs can reduce the number of TV programs to be screened and selected by the viewer to a manageable number but cannot handle a lack of completion of a partial TV program caused by switching channels.
  • Another way for the viewer to cull a plurality of uninteresting-to-the-viewer TV programs is through the use of recommender systems based on artificial intelligence (AI) technology but the same lack of completion problem is present.
  • AI artificial intelligence
  • a solution is needed for efficient selection of partial TV programs for a given time interval that allows time for completion when channels must be switched and that maximizes predetermined viewer preferences when the viewer has only a finite number M > 1 of tuners available with which to receive/record selected partial TV programs.
  • the system, apparatus, and method of the present invention provide an efficient algorithm that is guaranteed to make (near) optimal selections of partial TV programs including time margins when channels are switched between successive partial TV programs and with a limited number of tuners, i.e., a selection that nearly maximizes a sum of the viewer preference values associated with the selected partial TV programs while guaranteeing complete reception. It is assumed that these preferences are known to, e.g., a recommender that provides a first filtering of available partial TV programs before an (near) optimal selection is made using the present invention.
  • each partial TV program Given a time interval in which a viewer wants to select partial TV programs, all partial TV programs that fall in this interval are first collected and a value function for each collected partial TV program is obtained. Second, the begin and end time points of each partial TV program are determined as nodes of a directed graph G and a set S is determined of partial TV programs having at least one of a begin and end time point within the given time interval.
  • a time 0 source and a time ⁇ sink node are created and a graph of G is drawn from the source through the successive time-ordered nodes of G to the sink, i.e., a central timeline or chain of edges is created from the source node through each successive time-ordered node of G, wherein, each edge has a cost of '0' and a capacity of M, where M > 1 is the number of tuners available to receive a TV program.
  • each TV program in S that is broadcast on TV channel c is further divided into zero or more partial TV programs represented by begin and end node pairs on the central timeline and having edges therebetween not on the central timeline but on a timeline for the channel c such that it is possible for every TV program only to start being received at its begin time or at the end time of another TV program, and such that every TV program stops being received at its end time or at the begin time of another TV program.
  • Every such resulting partial TV program is added to S and has an associated viewer preference value determined by a viewer-specific value function. As shown below in the detailed description, no loss of optimality results from this restriction (see Theorem 1 below).
  • the graph G comprising the central timeline, from and to which run the whole and partial TV program edges included, for each TV channel c, in a timeline for channel c, which edges represent the negative preference value of these whole and partial parts of the TV programs and which whole and partial parts are contained in the set S.
  • a time margin is included in the model, i.e., the graph G, as a time difference on edges running from the central timeline to a timeline for a channel, and this time margin eliminates parallel edges within a timeline for a channel and is needed for properly representing viewer preference values in the timeline for the channel.
  • a minimum-cost network algorithm is applied thereto that determines the subset of partial TV programs S', for the given time interval, that provides near maximum viewer satisfaction, i.e., nearly maximizes the total of viewer preference values for the set S' of partial TV programs.
  • the selected subset is guaranteed to be nearly optimal and the algorithm selecting the subset is guaranteed to run in polynomial time.
  • FIG. 1 illustrates a number of TV programs offered over time t
  • FIG. 2 illustrates a directed graph for the TV programs of FIG. 1 ;
  • FIG. 3 illustrates an extended graph for the example of FIG. 1 that includes partial TV programs
  • FIG. 4 illustrates an extended graph for the example of FIG. 1 that includes partial TV programs having value functions that are linear with penalties and costs of related edges for TV program A;
  • FIG. 5 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls of five minutes only showing the shows of the first channel and the central timeline;
  • FIG. 6 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls, when only complete TV programs are to be received;
  • FIG. 7 illustrates an apparatus for performing the method of optimal selection of partial TV programs according to the present invention.
  • FIG. 8 illustrates a system for receiving, recording and displaying a set of partial TV programs selected in accordance with the present invention.
  • the system, apparatus, and method of the present invention provide a way of determining an optimal TV experience for a viewer for a given time interval, the experience comprising watching as well as recording partial preferred TV programs using at least one tuner.
  • the system, apparatus, and method of the present invention provide a mathematical formulation and solution strategy for obtaining an optimal solution to a viewer's TV program scheduling problem.
  • the scope of the system, apparatus, and method of the present invention includes the problem of what TV programs to select for watching or recording with a given number of available tuners based on a pre-determined viewer preference for all available TV programs being broadcast in given time period.
  • a simplified problem setting is described first followed by an extension of the simplified problem setting to include more factors and to elaborate the algorithms developed for the simplified problem, in order to solve more complex problem settings.
  • a preference value or score is provided for each of a plurality of candidate TV programs, indicating how much a viewer prefers the candidate TV program
  • each preference score is given explicitly by the viewer or by a recommender tool
  • the total preference score for a number of TV programs being selected is given by a linear sum of the provided preference scores of the individual TV programs.
  • TV programs that are selected for watching are assumed to be watched at the very moment they are broadcast; if a TV program is watched later, it is simply assumed to be recorded during its broadcast.
  • Each of the simplified and extension thereof are modeled as a directed graph to transform the problem into a minimum-cost network flow problem. Since minimum-cost network flow problems can be solved in polynomial time, the corresponding TV program selection problem can be solved efficiently.
  • the first model selects complete TV programs using one tuner.
  • the problem of selecting complete TV programs is defined as follows.
  • Definition 1 Program selection problem (PSP)).
  • PSP Program selection problem
  • a set S of TV programs s is given and for each TV program s a begin time b s and end time e s is also specified. Furthermore, for each TV program a value v s > 0 is given, which reflects the total value if this TV program is watched (completely).
  • the question is to determine a subset S c S such that the TV programs in S do not conflict in time, i.e.,
  • the TV program selection problem can be formulated as a minimum-cost flow problem as follows.
  • the set V of nodes of a network G is given by a source node and a sink node, and a node for each begin or end time of a TV program. So,
  • V ⁇ 0, ⁇ u U ⁇ b s ,e s ⁇ ,
  • node 0 represents the source and ⁇ represents the sink.
  • the nodes i.e., times
  • the n distinct times can then be arranged in increasing order.
  • determining a non-overlapping subset S with maximal value corresponds to finding a flow of one in G from the source to the sink with minimum cost. If in this minimum-cost flow an edge corresponding to a TV program carries a flow of one, then this TV program can be included in S ; otherwise not. Hence, the problem can be solved by means of a minimum-cost flow algorithm. In other words, PSP can be solved efficiently.
  • the minimum-cost flow problem reduces to a shortest-path problem (from source to sink), where the (negative) costs are used as edge lengths.
  • the cost of the flow is defined as
  • Multiple TV programs can be received in parallel whenever more than one tuner is available, and the additionally selected TV programs are recorded.
  • the problem is also relevant in a two-stage TV programming approach, where one first determines what TV programs to receive, which are then stored in a persistent memory, and then determines a TV schedule from all content that has been recorded in the persistent memory.
  • Definition 2 Multi-tuner program selection problem (MPSP)). Given is a set S of TV programs and for each TV program s a begin time b s , an end time e s , and a value v s are given. Furthermore, a pre-determined number M of tuners is also given. The question is to determine a subset S c S such that at all times at most M TV programs have been selected, i.e., for all times x
  • MPSP is solved in a similar way as PSP, using an equivalent network flow transformation as presented above. The only difference is that for MPSP the capacities of the edges (t u tn-i) are changed into M to reflect the availability of M tuners; the capacity of the TV program edges remains one, as it is not desirable for a program to be received multiple times.
  • value function can be of almost any form, in the following discussion it is restricted to convex value functions, which are discussed in the next section.
  • Convex value functions are value functions v that satisfy the condition that for all ⁇ e [0,1] the following holds
  • Example convex value functions are linear functions such as
  • One of the properties of a convex value function is that it allows reduction of the number of possible points at which to switch from one TV program to another, as the next theorem states.
  • a TV program only starts being received at its begin time or at the end time of another TV program, and it only stops being received at its end time or at the begin time of another TV program.
  • ⁇ 1 v J (/ - ⁇ , r) -v J (/, r) + v,(/',r' - ⁇ ) -v,(/',r')
  • ⁇ 2 v J (/ + ⁇ , r) - v J (/, r) + v,(/',r' + ⁇ ) -v,(/',r') .
  • At least one of the differences A 1 and A 2 is non-negative, i.e., at least one of the two alternative solutions is at least as good as the original one. So, without loss of optimality, one can either increase 1 and r' until they become e t or r (in the latter case the interval [1, r] can be removed from I s ), or one can decrease 1 and r' until they become b s or 1' (in the latter case [1', r') can be removed from I t ).
  • the minimum-cost network of FIG. 2 can be extended as shown in FIG. 3.
  • the costs for the TV program edges are determined by the value for the corresponding part of the TV program.
  • An optimal flow in the extended graph now corresponds to an optimal solution of PPSP.
  • multiple edges per program may be used, which corresponds to receiving the TV program during multiple intervals. For instance, an optimal flow might run through edges Ii and I 7 in the extended graph, meaning that TV program I is selected from 19:00-19:30 and from 20:00-21 :00.
  • the number of edges in the extended graph is much larger than in the original graph, it is still polynomially bounded. More precisely, the number of edges per TV program is quadratic in the number of different time points. Furthermore, since there is only one tuner, the number of edges can be limited between each pair of time points to only the best one, thereby limiting the total number of edges to O(n ).
  • the set V of nodes first of all contains a node for each time point ti,...,t n .
  • the node labeled "19:00A" is an example of such a node for an intermediate time point.
  • the number of nodes and edges in the extended graph is still polynomially bounded in the size of the instance, as the total number of nodes is O(
  • a next extension of PSP is to allow multiple tuners as well as partial TV programs, as given by the next definition.
  • an apparatus (700) for selecting a set S (701.1) from a memory module (701) storing a given set of N > 1 TV programs s, each having a begin time b s , an end time e s , and a viewer-preference function v s , the latter being provided by the viewer or a recommender.
  • the value function is selected from the group consisting of convex function and linear with penalties.
  • the value function is linear with penalties.
  • the apparatus further comprises a processor module (702) that executes or itself further comprises a minimum cost network algorithm module for selecting an optimal set S' c S including partial TV programs to be received and possibly recorded by M > 1 tuners (703).
  • a preferred embodiment includes pre-roll and post-roll: There may be some inaccuracies in the begin times and end times of programs. So, if a program s is selected for reception, then in order to receive the program completely, a tuner has to tune into the corresponding channel c from time ⁇ c (b s ) ⁇ b s until time ⁇ c (e s ) > e s .
  • ⁇ c (t) is a function that indicates from how early one should tune into channel c in order to receive the content scheduled from time t onwards, and ⁇ c (t) indicates until how late one should tune into channel c in order to receive the content scheduled up to time t. Both ⁇ c and ⁇ c are assumed to be strictly increasing.
  • the main effect of the pre-roll and post-roll of programs on the program selection problem is that if two successive programs are to be received with the same tuner, and these programs are on different channels, then there should be some time between the scheduled end time e s of the first program and the scheduled begin time b s of the second one if the programs have to be received completely. For two successive programs on the same channel, there is no such issue.
  • the penalty functions can be redefined as if r ⁇ e r ; if ⁇ c ⁇ b s ) ⁇ l ⁇ b s
  • Definition 5 Program selection problem with pre -rolls and post-rolls (PSPR)). Given is a set C of channels, with for each channel c an earliness function ⁇ c and lateness function ⁇ c . Furthermore, a set S of TV programs is given, with for each program s a begin time b s , an end time e s , and a (redefined) value function v s as given by (4). Finally, a number M > 1 of tuners is given.
  • Ci (b s ) ⁇ l 1 ⁇ r 1 ⁇ l 2 ⁇ r 2 ⁇ ... ⁇ l k ⁇ r k ⁇ ⁇ Ci (e s )
  • FIG. 5 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls of five minutes, only showing the shows of the first channel and the central timeline.
  • the labels 'b' and 'e' indicate whether a time point represents the begin time or the end time of a TV program, respectively, where an additional subscript indicates the respective TV program.
  • T- b ⁇ c (& s )
  • T- e ⁇ c (e s )
  • ti ⁇ o,co ⁇ u r b uf .
  • the capacity of these edges is set to m, and their costs are zero.
  • nodes and edges are defined that are associated with each TV channel c e C.
  • tuning into channel c should be started at a time point at which either a program on TV channel c starts or at which a program on another TV channel ends.
  • the former set of time points is given by T ⁇
  • T ⁇ the latter is given by T ⁇ .
  • tuning into channel c should be stopped at a time point at which either a program on channel c ends or at which a program on another channel starts.
  • the former set is given by T c e
  • the latter one by T c h .
  • T c T c h U T; ⁇ U ⁇ te T c e u T, h ⁇ ,
  • edges between the central timeline and the timeline of channel c all having capacity 1.
  • an edge is drawn from each time point t e T c u T? on the central timeline to time point ⁇ ⁇ (t) on the timeline of channel c.
  • an edge is drawn from time point ⁇ "1 (t) on the timeline of channel c to to time point t on the central timeline.
  • any edge (ti, t ck ) with i ⁇ k ⁇ j is given a cost - v s h cf , and
  • the approach to solve PSPR is to find a minimum-cost flow of m from source to sink in the above-constructed graph.
  • the edges on the timeline of TV channel c with a flow of 1 indicate the parts of the programs that are received. Solving the above minimum-cost flow problem gives a solution to PSPR, but there is one catch: not all solutions to PSPR can be achieved.
  • any interval selected for tuning into the corresponding TV channel is at least eight minutes long.
  • very small tuning intervals cannot be achieved, as one always gets a pre-roll and post-roll. In practice, this will not be a severe restriction. Therefore, the algorithm will be optimal in practical cases.
  • the presented graph can be refined a bit, thereby relaxing this restriction.
  • the constructed graph can be reduced significantly.
  • FIG. 6 illustrates the resulting graph for this problem instance, where any edge with a program label s has cost -v s .
  • an apparatus (700) for selecting a set S (701.1) from a memory module (701) storing a given set of n > 1 TV programs s, each having a begin time b s , an end time e s , and a value function v s that has been redefined such that a longer interval is needed to obtain the entire TV program (part), the latter being provided by the viewer or a recommender.
  • the value function is selected from the group consisting of convex functions and linear functions with penalties.
  • the value function is linear with penalties.
  • the apparatus further comprises a processor module (702) that executes or itself further comprises a minimum cost network algorithm module for selecting an optimal set S' c S including partial TV programs with time margins to be received and possibly recorded by M > 1 tuners (703).
  • a system (800) comprising the apparatus of FIG. 7 to select an optimal set of TV programs that includes partial TV programs for a given time interval and given viewer preferences, and a TV set wherein an incoming broadcast signal (704) is scanned for TV programs selected by the apparatus of FIG. 7 (700) and selected partial TV programs are recorded by the tuners (703) and displayed on the TV (801) all being controlled/executed by processor (702).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

A system (800), apparatus (700), and method are provided to select a best set of TV programs for reception and recording by at least one tuner, said TV programs being broadcast over a set of channels during a given time period [b, e] having a beginning time b and an ending time e. Partial and entire TV programs are considered and for each partial or entire TV program a user preference value is provided for its reception and recording. Further, pre-rolls and post-rolls are included in order to insure that partial TV programs are entirely received. A minimum-cost network algorithm is used that solves the selection and viewing problem but is not necessarily optimal. Additional time is allowed, before or after reception of a part of a TV program, to ensure that the entire part of the TV program has been received.

Description

OPTIMALLY SELECTING TV PROGRAMS WITH TIME MARGINS
The present invention relates to a system, apparatus and method that uses time margins to make (near) optimal selections of partial TV programs to be recorded using a limited number of tuners during a given time interval and distinguishes between switching to another TV channel after recording a first program and staying tuned to the same channel by enforcing a time margin in the former situation. A part is defined as some or all of a TV program.
Personal video recorders (PVRS) are available to record TV programs, either on hard disk or on DVD. Programming these PVRs is usually accomplished using an electronic program guide (EPG), by simply clicking on the TV programs to be recorded. Additionally, a recommender may be available that can predict, for an upcoming TV program, how much a viewer will like it.
With the increasingly available television channels via terrestrial, satellite, or cable connections, the task for the viewer to select TV programs to view and record is rapidly becoming too large to be handled manually. With the advent of digital television, the number of channels, and hence the number of options, to choose from is becoming even larger. Therefore, the viewer is no longer able to overview all available programming content and it becomes more likely that the viewer will miss TV programs that would be of interest to the viewer.
Because of the large number of TV programs available each week, printed TV program guides are cumbersome and electronic program guides (EPGs) have been developed as a solution to this problem. EPGs present the available TV programs for a number of channels on a TV screen. However, only a limited number of TV programs can be shown at one time on the TV screen, i.e., the number of channels and the length of the time interval of the portion shown on the screen is very limited. This results from the poor resolution of a TV screen for presentation of this kind of textual information. And, even if the resolution were high enough, the task of selecting from the very large amount of available TV content would overwhelm the average viewer. In order ameliorate the viewer's problem of what partial TV programs to select and when and how to arrange viewing time among various TV channels, i.e., the problem of developing a viewer-specific viewing schedule that ensures that a selected partial TV program is completely received, EPGs offer an option of searching (filtering) by keyword(s) but do not allow time between selections to complete receipt thereof. In this way EPGs can reduce the number of TV programs to be screened and selected by the viewer to a manageable number but cannot handle a lack of completion of a partial TV program caused by switching channels. Another way for the viewer to cull a plurality of uninteresting-to-the-viewer TV programs is through the use of recommender systems based on artificial intelligence (AI) technology but the same lack of completion problem is present. These AI recommender systems maintain a preference profile of the viewer, indicating what the viewer likes and dislikes, and employ this profile to score each newly offered TV program as to what extent the viewer will like the newly offered TV program. Then, the TV programs scoring in excess of a pre -determined viewer-specific tolerance are highlighted in an EPG or the viewer is provided a list of these TV programs. A problem with these solutions, however, is that they do not take into account whether or not TV programs overlap in time, so it remains for the viewer to compile a viewer-specific schedule of top-scoring partial TV programs to receive and to allow enough time between them for completion of receipt of a selected part. In other words, whereas filters and recommenders come up with a list of individual TV programs, such a list is an incomplete solution to a viewer's problem of creating a schedule of TV programs to watch, especially there is no way to leave enough time between partial TV programs selected to allow completion when channels are to be switched between receptions thereof.
A similar situation exists for recording TV programs.
A solution is needed for efficient selection of partial TV programs for a given time interval that allows time for completion when channels must be switched and that maximizes predetermined viewer preferences when the viewer has only a finite number M > 1 of tuners available with which to receive/record selected partial TV programs.
The system, apparatus, and method of the present invention provide an efficient algorithm that is guaranteed to make (near) optimal selections of partial TV programs including time margins when channels are switched between successive partial TV programs and with a limited number of tuners, i.e., a selection that nearly maximizes a sum of the viewer preference values associated with the selected partial TV programs while guaranteeing complete reception. It is assumed that these preferences are known to, e.g., a recommender that provides a first filtering of available partial TV programs before an (near) optimal selection is made using the present invention.
Given a time interval in which a viewer wants to select partial TV programs, all partial TV programs that fall in this interval are first collected and a value function for each collected partial TV program is obtained. Second, the begin and end time points of each partial TV program are determined as nodes of a directed graph G and a set S is determined of partial TV programs having at least one of a begin and end time point within the given time interval. Third, a time 0 source and a time ∞ sink node are created and a graph of G is drawn from the source through the successive time-ordered nodes of G to the sink, i.e., a central timeline or chain of edges is created from the source node through each successive time-ordered node of G, wherein, each edge has a cost of '0' and a capacity of M, where M > 1 is the number of tuners available to receive a TV program.
Next, a similar timeline for channel c is constructed for the partial TV programs in S that are broadcast on each channel c, in order to distinguish between a TV channel that is already being received and one that is not being received at a given time. That is, in addition to the nodes already included in the central timeline, each TV program in S that is broadcast on TV channel c is further divided into zero or more partial TV programs represented by begin and end node pairs on the central timeline and having edges therebetween not on the central timeline but on a timeline for the channel c such that it is possible for every TV program only to start being received at its begin time or at the end time of another TV program, and such that every TV program stops being received at its end time or at the begin time of another TV program. Every such resulting partial TV program is added to S and has an associated viewer preference value determined by a viewer-specific value function. As shown below in the detailed description, no loss of optimality results from this restriction (see Theorem 1 below).
Key in the present invention is thus the graph G comprising the central timeline, from and to which run the whole and partial TV program edges included, for each TV channel c, in a timeline for channel c, which edges represent the negative preference value of these whole and partial parts of the TV programs and which whole and partial parts are contained in the set S. Finally, a time margin is included in the model, i.e., the graph G, as a time difference on edges running from the central timeline to a timeline for a channel, and this time margin eliminates parallel edges within a timeline for a channel and is needed for properly representing viewer preference values in the timeline for the channel.
Given this directed graph G, a minimum-cost network algorithm is applied thereto that determines the subset of partial TV programs S', for the given time interval, that provides near maximum viewer satisfaction, i.e., nearly maximizes the total of viewer preference values for the set S' of partial TV programs. The selected subset is guaranteed to be nearly optimal and the algorithm selecting the subset is guaranteed to run in polynomial time.
FIG. 1 illustrates a number of TV programs offered over time t;
FIG. 2 illustrates a directed graph for the TV programs of FIG. 1 ;
FIG. 3 illustrates an extended graph for the example of FIG. 1 that includes partial TV programs;
FIG. 4 illustrates an extended graph for the example of FIG. 1 that includes partial TV programs having value functions that are linear with penalties and costs of related edges for TV program A;
FIG. 5 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls of five minutes only showing the shows of the first channel and the central timeline;
FIG. 6 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls, when only complete TV programs are to be received;
FIG. 7 illustrates an apparatus for performing the method of optimal selection of partial TV programs according to the present invention; and
FIG. 8 illustrates a system for receiving, recording and displaying a set of partial TV programs selected in accordance with the present invention.
The system, apparatus, and method of the present invention provide a way of determining an optimal TV experience for a viewer for a given time interval, the experience comprising watching as well as recording partial preferred TV programs using at least one tuner. The system, apparatus, and method of the present invention provide a mathematical formulation and solution strategy for obtaining an optimal solution to a viewer's TV program scheduling problem. The scope of the system, apparatus, and method of the present invention includes the problem of what TV programs to select for watching or recording with a given number of available tuners based on a pre-determined viewer preference for all available TV programs being broadcast in given time period.
A simplified problem setting is described first followed by an extension of the simplified problem setting to include more factors and to elaborate the algorithms developed for the simplified problem, in order to solve more complex problem settings.
In a preferred embodiment of the system, apparatus, and method of the present invention, several assumptions are first made:
1. a preference value or score is provided for each of a plurality of candidate TV programs, indicating how much a viewer prefers the candidate TV program;
2. each preference score is given explicitly by the viewer or by a recommender tool;
3. the total preference score for a number of TV programs being selected is given by a linear sum of the provided preference scores of the individual TV programs; and
4. TV programs that are selected for watching are assumed to be watched at the very moment they are broadcast; if a TV program is watched later, it is simply assumed to be recorded during its broadcast.
Each of the simplified and extension thereof are modeled as a directed graph to transform the problem into a minimum-cost network flow problem. Since minimum-cost network flow problems can be solved in polynomial time, the corresponding TV program selection problem can be solved efficiently.
The first model selects complete TV programs using one tuner. The problem of selecting complete TV programs is defined as follows.
Definition 1 (Program selection problem (PSP)). A set S of TV programs s is given and for each TV program s a begin time bs and end time es is also specified. Furthermore, for each TV program a value vs > 0 is given, which reflects the total value if this TV program is watched (completely). The question is to determine a subset S c S such that the TV programs in S do not conflict in time, i.e.,
for all s, t e S , s ≠ t, and such that the total value of this subset, given by
SG S' is maximized.
The value vs of a TV program can be given by the viewer explicitly, or it can be estimated using a recommender. Considering the recommender score ps of a TV program s as a preference density, the total value is given by vs = ps(es - bs). Maximizing the total value over a number of TV programs in a certain time interval then corresponds to maximizing the average preference density.
The TV program selection problem can be formulated as a minimum-cost flow problem as follows. The set V of nodes of a network G is given by a source node and a sink node, and a node for each begin or end time of a TV program. So,
V = {0,∞} u U {bs,es},
where the node 0 represents the source and ∞ represents the sink. Denoting the nodes (i.e., times) in V by ti, ... , tn the n distinct times can then be arranged in increasing order. Here, it is assumed that all times are larger than the source time ti = 0, and smaller than the sink time tn = oo.
The set E of edges consists of two parts. First, there is an edge on a timeline from source to sink that includes the node edge (tl5 t1+i) for all i = l,...,n-l, having zero cost, by definition. Secondly, for each TV program s ε S, an edge (bs, es) is added, with cost -vs. All edges are assumed to have capacity one.
For an example of the graph construction, consider the set of TV programs as indicated in FIG. 1, covering TV programs A, B,..., J in a time interval from 18:00h to 22:00h. The corresponding set V of time points is given by
F= {0, 18:00, 19:00, 19:30, 20:00, 20:30, 21 :00, 22:00, ∞}, and the set of edges is as given in FIG. 2.
Now, determining a non-overlapping subset S with maximal value corresponds to finding a flow of one in G from the source to the sink with minimum cost. If in this minimum-cost flow an edge corresponding to a TV program carries a flow of one, then this TV program can be included in S ; otherwise not. Hence, the problem can be solved by means of a minimum-cost flow algorithm. In other words, PSP can be solved efficiently.
As in the above formulation all capacities are one, the minimum-cost flow problem reduces to a shortest-path problem (from source to sink), where the (negative) costs are used as edge lengths.
The min-cost flow problem: Given a directed graph G = (V, E). Let there be a cost C1J and capacity Uy = 1, associated with each edge ij in E, and a demand (supply) by associated with each node v in V. The problem is to find a flow of minimum cost which satisfies the supply/demand constraints for each node,
and the edge constraints,
o ≤ Λ ≤ v
The cost of the flow is defined as
In the present invention, the capacity of each edge is 1, by definition. Furthermore, bi = -1, bn = 1, and bj = 0 for i = 2,...,n-l.
Multiple TV programs can be received in parallel whenever more than one tuner is available, and the additionally selected TV programs are recorded. The problem is also relevant in a two-stage TV programming approach, where one first determines what TV programs to receive, which are then stored in a persistent memory, and then determines a TV schedule from all content that has been recorded in the persistent memory. Definition 2 (Multi-tuner program selection problem (MPSP)). Given is a set S of TV programs and for each TV program s a begin time bs, an end time es, and a value vs are given. Furthermore, a pre-determined number M of tuners is also given. The question is to determine a subset S c S such that at all times at most M TV programs have been selected, i.e., for all times x
{y e S'\ bs ≤ x < es } ≤ M,
and such that the total value of this subset, given by V v5 is maximized.
MPSP is solved in a similar way as PSP, using an equivalent network flow transformation as presented above. The only difference is that for MPSP the capacities of the edges (tutn-i) are changed into M to reflect the availability of M tuners; the capacity of the TV program edges remains one, as it is not desirable for a program to be received multiple times.
Next, a minimum-cost flow of M from source to sink is determined, and again each TV program for which the corresponding edge in the graph carries a flow (of one) in this found minimum-cost flow solution is included in S .
Next, the above-described single tuner solution for complete TV programs is extended to include watching some TV programs only partially. To this end, a value function vs(l, r) is introduced for each TV program s that indicates the value for watching the program during the partially open interval [1, r), with b5 < 1 < r < e5. For this value function, it is assumed that
vs (b5, es) = vs, vs(li, ri) > V5(I2 , r2) if [lh ri) => [I2 ,r2), and vs(x, x)<0.
Definition 3 (Partial program selection problem (PPSP)). Given is a set S of TV programs, and for each TV program s a begin time b5 and end time e5. Furthermore, for each TV program a value function v5 is given. The question is to determine for each TV program s ε S a (possibly empty) set I5 = { [Ii , ri), ... , [lk ,rk )} ) of intervals during which to watch it, with b5 < Ii < ri < I2 < r2 < • • • < lk < rk < e5, such that the selected intervals of the TV programs do not conflict in time. This means that for all s, t e S', s ≠ t, and for all [/, r) e Is , [l', r') e /( we have l ≥ r' v I' ≥ r , i.e., any interval of s is either later than any interval of t, or vice versa. Note that it is allowed that one interval starts exactly at the same moment that another one ends, as we used half-open intervals. The objective is that the total value of the selected intervals, given by
∑ ∑v.Q.r), s≡S [l,r)els
is maximized.
Although the value function can be of almost any form, in the following discussion it is restricted to convex value functions, which are discussed in the next section. An even more restricted form, which can be handled more efficiently, is a linear value function with penalties, also discussed below.
Convex value functions
Convex value functions are value functions v that satisfy the condition that for all α e [0,1] the following holds
V(OcZ1 + (1 - oc )/2 , OCr1 + (l - oc )r2) < αv(Z1,r1 )+ (l -α)v(Z2,r2 ) .
Most practical value functions will satisfy this condition. Example convex value functions are linear functions such as
or quadratic functions such as
One of the properties of a convex value function is that it allows reduction of the number of possible points at which to switch from one TV program to another, as the next theorem states.
Theorem 1. If for all TV programs s e S, vs(l, r) is convex, then, without loss of optimally, PPSP can be restricted to solutions with for all s e S and [1, r) e Is
In other words, a TV program only starts being received at its begin time or at the end time of another TV program, and it only stops being received at its end time or at the begin time of another TV program.
Proof. Consider an interval [1, r) e I s of a TV program s e S that does not satisfy
(1). Just before time 1, the maximum number of tuners must have been used, as otherwise it would be possible to lower 1 and improve the solution. As reception of TV program s occurs from time 1 onwards, there must be a TV program t ε S that stops being received at time 1, i.e., for which It contains an interval [1', r') with r' = 1 . Because 1 does not satisfy (1), r' < et. Now consider two alternative solutions, one with 1 replaced by Ii = 1 - ε and r' replaced byr/ = r' -ε = lλ , and one with 1 replaced by h = 1 + ε and r' replaced by Z1 = r' + ε = I1 . Compared to the original solution, the cost of the first solution differs an amount
Δ1 = vJ(/ -ε, r) -vJ(/, r) + v,(/',r' -ε ) -v,(/',r')
from the value of the original solution, and the cost of the second one differs by an amount
Δ2 = vJ(/ + ε, r) - vJ(/, r) + v,(/',r' + ε) -v,(/',r') .
Therefore, it follows that A1 +A2 _ vs(l -ε,r) + vs(l + ε,r)
-vs (J,r)
+ Vl(i>y-e)+ Vl(i>y+e) _Vt(r^
> 0 + 0 = 0 where the latter inequality is based on the convexity property of vs and vt. Hence, at least one of the differences A1 and A2 is non-negative, i.e., at least one of the two alternative solutions is at least as good as the original one. So, without loss of optimality, one can either increase 1 and r' until they become et or r (in the latter case the interval [1, r] can be removed from Is), or one can decrease 1 and r' until they become bs or 1' (in the latter case [1', r') can be removed from It).
In a similar way one can prove that (2) can be assumed without loss of optimality.
As a result of Theorem 1, it is only necessary to consider a limited number of time points at which to start and stop watching a TV program partially, provided the value functions are convex. Based on this, the minimum-cost network of FIG. 2 can be extended as shown in FIG. 3. The costs for the TV program edges are determined by the value for the corresponding part of the TV program. An optimal flow in the extended graph now corresponds to an optimal solution of PPSP. In such a flow, multiple edges per program may be used, which corresponds to receiving the TV program during multiple intervals. For instance, an optimal flow might run through edges Ii and I7 in the extended graph, meaning that TV program I is selected from 19:00-19:30 and from 20:00-21 :00. As there is only a flow of one, the same time interval is never covered twice. Furthermore, selecting two consecutive parts is at most as good as selecting the combined part (e.g. choosing I5 is at least as good as choosing Ii and 12), hence adjacent intervals can be merged (and are automatically merged if that is strictly better).
Although the number of edges in the extended graph is much larger than in the original graph, it is still polynomially bounded. More precisely, the number of edges per TV program is quadratic in the number of different time points. Furthermore, since there is only one tuner, the number of edges can be limited between each pair of time points to only the best one, thereby limiting the total number of edges to O(n ).
Linear value functions with penalties In this alternative, the form of the value functions is restricted even further, to linear functions with penalties for finishing a TV program early or starting a TV program late. More formally, consider value functions of the form
where
0 if = b
>:' (/) = c? if / > b.
are functions that give a penalty if TV program s is finished early or started late, respectively. Note that this value function obeys the assumptions and that it is convex, as all three terms in the right-hand side of (3) are convex (i.e., the penalty functions are concave). Given a value function as in (3), we can define another extended minimum-cost network, as shown in FIG. 4. More formally, this graph is constructed as follows.
The set V of nodes first of all contains a node for each time point ti,...,tn. Next, for each TV program with time points bs = tl5 and es = t, with j - i > 1, an extra node fk can be constructed for each intermediate time point, i.e., for each k = i+1, ... ,j - 1. In FIG. 4, the node labeled "19:00A" is an example of such a node for an intermediate time point.
The set of edges, all with capacity one, is defined as follows. First, there is an edge (tutn-i) for all i = 1, ... , n-1, as before with cost zero. Secondly, consider each TV program se S, with time points bs = I1 and es = t,, and one again distinguishes two cases, as follows.
• If j - i = 1, then add an edge (bs, es) with cost -vs.
• If j - i > 1, then add a number of edges: t,^ - 1,
(i) an edge (t, , t°+i ) with cost - vs e - b
(ii) an edge (fk , fk+l ) for each k = i+ 1,..., j - 2 with cost - vs k+l k e - b. (iii) an edge (f ,t ) with cost - vs — — — ,
(iv) an edge (fk , tk ) for each k = i + 1 , ... , j - 1 with cost cf , and (v) an edge (tk,fk) for each k = i + l,..., j - 1 with cost cf .
Now PPSP with linear value functions with penalties corresponds to finding a minimum- cost flow of one from source to sink in this graph. Again, multiple parts per TV program may be selected, as with the graph of FIG. 3.
For the correspondence between a flow in the graph and a selection of partial TV programs, consider again the example in FIG. 4. TV program A is completely selected if both edge (18:00,19:00A) and edge (19:00A, 19:30) carry a flow of one. In this situation the edges (19:00,19:00A) and (19:00A,19:00) will not carry a flow. The cost of the flow over these former two edges exactly add up to -VA, corresponding to a value VA for the selection of TV program A. Only selecting the first part of A corresponds to a flow of one through edges (18:00,19:00A) and (19:00A, 19:00), resulting in a cost -2vA/3 + cA° , i.e., a value 2VA/3 for this first part and a penalty c^ for finishing A early. Only selecting the second part of A corresponds to a flow of one through edges (19:00,19:00A) and (19:00A, 19:30), resulting in a cost -VA/3 + cjs , i.e., a value VA/3 for this second part and a penalty c}s for starting A late.
The number of nodes and edges in the extended graph is still polynomially bounded in the size of the instance, as the total number of nodes is O(|S|n), and the number of edges is
O(n + |S| + |S|n) = O(|S|n).
A next extension of PSP is to allow multiple tuners as well as partial TV programs, as given by the next definition.
Definition 4 (Multi-tuner partial program selection problem (MPPSP)). Given is a set S of TV programs, and for each program s a begin time bs and end time es. Furthermore, for each program s a value function vs is given, and a number m of tuners is given. The problem is to determine for each TV program s e S a (possibly empty) set Is = {[li, ri), ... , [lk , rk )} of intervals during which to watch or record it, with bs < li< r i < I2 < r2 < • • • < 4 < rk < es, such that the TV programs can be received in the selected intervals with m tuners, i.e., for all times x we have
and such that the total value of the selected intervals, given by
is maximized.
Unfortunately, a straightforward application of the extended graph for convex value functions with adapted capacities, as discussed above, does not work. The reason for this is that in that extended graph one may select several parts of the same TV program to be received in parallel. For instance, for the example of FIG. 3 with three tuners the resulting solution might be to receive TV program I and partial TV programs Ii and I5, meaning that the part of TV program I from 19:00-19:30 will be received three times.
For linear value functions with penalties, nevertheless, the graph as shown in FIG. 4 applies. The only modification is again that we have to increase the capacities of the edges (t^tn-i) from 1 into m, and a minimum-cost flow of m from source to sink must be found. The reason this graph can be reused is that for each TV program and each time interval there is at most one edge covering it, so no part is received more than once.
Referring now to FIG. 7, an apparatus (700) is shown for selecting a set S (701.1) from a memory module (701) storing a given set of N > 1 TV programs s, each having a begin time bs, an end time es, and a viewer-preference function vs , the latter being provided by the viewer or a recommender. For one tuner the value function is selected from the group consisting of convex function and linear with penalties. For more than one tuner, the value function is linear with penalties. The apparatus further comprises a processor module (702) that executes or itself further comprises a minimum cost network algorithm module for selecting an optimal set S' c S including partial TV programs to be received and possibly recorded by M > 1 tuners (703). A preferred embodiment includes pre-roll and post-roll: There may be some inaccuracies in the begin times and end times of programs. So, if a program s is selected for reception, then in order to receive the program completely, a tuner has to tune into the corresponding channel c from time εc(bs) < bs until time λc(es) > es. Here, εc(t) is a function that indicates from how early one should tune into channel c in order to receive the content scheduled from time t onwards, and λc(t) indicates until how late one should tune into channel c in order to receive the content scheduled up to time t. Both εc and λc are assumed to be strictly increasing.
The amount bs - εc (bs) is called the pre-roll of program s, and the amount λc (es) = es is called the post-roll of program s. The main effect of the pre-roll and post-roll of programs on the program selection problem is that if two successive programs are to be received with the same tuner, and these programs are on different channels, then there should be some time between the scheduled end time es of the first program and the scheduled begin time bs of the second one if the programs have to be received completely. For two successive programs on the same channel, there is no such issue.
To reflect the fact that a longer interval is needed to obtain the full value of a program s on channel c, the value function given in (3) is redefined as
vΛl,r) = vs pf (r) - pf (l), (4)
where the penalty functions are also redefined as
Alternatively, the penalty functions can be redefined as if r<er ; ifεc{bs)≤l≤bs
if />Λ.
These latter penalty functions reflect that the penalty becomes less the more time is included beyond the end points. As these penalty functions are still concave, the redefined value function of (4) is still convex. So, Theorem 1 can be applied, and the only considerations are adapted begin points εc(bs)and end points λc(ejfor starting or stopping reception of a program.
Definition 5 (Program selection problem with pre -rolls and post-rolls (PSPR)). Given is a set C of channels, with for each channel c an earliness function εc and lateness function λc. Furthermore, a set S of TV programs is given, with for each program s a begin time bs, an end time es, and a (redefined) value function vs as given by (4). Finally, a number M > 1 of tuners is given.
The question is to determine for each program se Sa (possibly empty) set
of intervals during which to watch or record it, with
εCi (bs) ≤l1 <r1 <l2 <r2 <...<lk <rk ≤ λCi (es)
such that one never has to tune into more than M channels at the same time, i.e., for all times x
[cs I s e S A [/, r) e Is A 1 ≤ x < r\< M, and such that the total value of the selected intervals, given by
∑∑v,(/,r),
is maximized.
For PSPR it is assumed that the TV programs on a particular channel do not overlap in time, i.e., [bs, es) Pl [bt, et) = 0 for all s, t e S, s ≠ t, with cs = ct. Note that the selected intervals for two such TV programs may overlap, while still being received with the same tuner. For instance, for the example of FIG. 1, assuming a pre-roll and post-roll of five minutes, an interval may be selected [17:55,19:35) for program A and an interval [19:25,20:05) for program B, because they are on the same channel.
Considering this to be a minimum-cost flow problem, due to the pre-rolls and post- rolls, it is not trivial to construct a corresponding graph in which the costs are correctly modeled and in which no programs can be selected multiple times in the same time interval. Therefore, a graph is constructed as shown in FIG. 5, which has the drawback, however, that not all possible solutions to PSPR can be obtained and correspondingly the solutions can only be guaranteed to be near optimal (this is further discussed below). FIG. 5 illustrates a graph for the example of FIG. 1 for the case with pre-rolls and post-rolls of five minutes, only showing the shows of the first channel and the central timeline. In the cemtral timeline, the labels 'b' and 'e' indicate whether a time point represents the begin time or the end time of a TV program, respectively, where an additional subscript indicates the respective TV program. Next, the following are defined:
ε S A CS = c}, all early begin points on channel c;
T° = {λc (es ) ε S Λ cs = c}, all late end points on channel c;
T-b = {εc (&s ) |s ε S A cs ≠ c}, all early begin points not on channel c;
T-e = {λc (es ) |s ε S A cs ≠ c}, all late end points not on channel c;
Th = [J ε 5 }, all early begin points of TV programs in S; and re = [J Tc e = {λc (es ε S }, all late end points of TV programs in S.
The set of all time points is given by r = {o,co} u rb uf . Again, denote the distinct time points in T by ti, ... , tn with ti = 0, tn = ∞, and V^t1+I for all i = 1 ,..., n - 1. The graph again contains a central timeline, consisting of a node for each time point tl5 i = 1, ... , n, and an edge (tl5 t1+i), i = 1 ,..., n - 1, for each pair of successive time points. The capacity of these edges is set to m, and their costs are zero.
Next, nodes and edges are defined that are associated with each TV channel c e C. As Theorem 1 indicates, tuning into channel c should be started at a time point at which either a program on TV channel c starts or at which a program on another TV channel ends. The former set of time points is given by T^ , and the latter is given by T^ . Similarly, tuning into channel c should be stopped at a time point at which either a program on channel c ends or at which a program on another channel starts. The former set is given by Tc e , and the latter one by Tc h .
When tuning- in is started at time te T^ u T-c , reception is certain for the content of TV channel c that is scheduled from time ε "' (t) onwards, and when tuning-in is stopped at time te Tc e u T-b this means that reception is certain for the content of TV channel c that is scheduled up to time λ"1^) . Therefore, a set
Tc = Tc h U T;} U \ te Tc e u T,h},
is introduced indicating the time point in the broadcast schedule from which and until which content is certain to be received. Now, numbering the distinct time points in Tc by tcl,..., tcn in increasing order, a node is introduced in the graph for each time point tcl, i = 1,
... , nc and an edge (tc^+i), i = 1, ... ,nc - 1, of capacity one, for each pair of successive time points in Tc.
Next, we add edges between the central timeline and the timeline of channel c, all having capacity 1. To this end, an edge is drawn from each time point t e Tc u T? on the central timeline to time point ε(t) on the timeline of channel c. Furthermore, for each time point te Tc e u T-b , an edge is drawn from time point λ"1 (t) on the timeline of channel c to to time point t on the central timeline. Finally, costs are defined for the edges in the timeline of channel c, and the edges to and from the central timeline. To this end, consider each TV program s on channel c, i.e., with Cs = c. Let tcl and tCJ be the begin and end time of program s, i.e., t = bs and tCJ = es (note that these time points are indeed in Tc). Two cases can be distinguished, as follows:
• If j - i = 1 , then the edge (tcl, tCJ) is given a cost -vs.
• If j - i > 1 , then
(i) the edge (tcl, tC;1+i) is given a cost - vs
(ii) the edge (tCJ_i, tCJ) is given a cost - vs ' h(es) -εcφsy
(iii) the edges (tck, tC;k+i), k = i + 1 , . . . , j - 2, is given a cost - vs
(iv) any edge (ti, tck) with i< k < j is given a cost - vs h cf , and
(v) any edge (tck, t{) with i< k < j is given a cost - v \- cfe .
Other edges than the ones above get a cost of 0.
For program A on channel c in FIG. 5, where bA = tci and eA = t^, examples of the five types of edges are
(i) the edge (18:00,18:50) on TV channel c,
(ii) the edge (19:10,19:30) on TV channel c,
(iii) the edge (18:50,19: 10) on TV channel c,
(iv) the edge (19:05,19: 10) from the central timeline to the timeline for TV channel c, and
(v) the edge (18:50,18:55) from the timeline for TV channel c to the central timeline, respectively.
Now the approach to solve PSPR is to find a minimum-cost flow of m from source to sink in the above-constructed graph. The time points at which a flow leaves the central timeline tl5 i = 1, ... , n, indicate when tuning into a TV channel starts, and the time points at which the flow returns to the central timeline indicate when tuning into the TV channel stops. Furthermore, the edges on the timeline of TV channel c with a flow of 1 indicate the parts of the programs that are received. Solving the above minimum-cost flow problem gives a solution to PSPR, but there is one catch: not all solutions to PSPR can be achieved. For instance, if there is a pre-roll of three minutes and a post-roll of five minutes, then any interval selected for tuning into the corresponding TV channel is at least eight minutes long. In other words, very small tuning intervals cannot be achieved, as one always gets a pre-roll and post-roll. In practice, this will not be a severe restriction. Therefore, the algorithm will be optimal in practical cases. Furthermore, the presented graph can be refined a bit, thereby relaxing this restriction.
Finally, in case no partial programs are to be received but only complete ones, the constructed graph can be reduced significantly. Then, the set Tc only contains the begin and end time points bs, es of TV programs on that TV channel, and only the case j - i = 1 applies for any TV program. FIG. 6 illustrates the resulting graph for this problem instance, where any edge with a program label s has cost -vs.
Referring now to FIG. 7, an apparatus (700) is shown for selecting a set S (701.1) from a memory module (701) storing a given set of n > 1 TV programs s, each having a begin time bs, an end time es, and a value function vs that has been redefined such that a longer interval is needed to obtain the entire TV program (part), the latter being provided by the viewer or a recommender. For one tuner, the value function is selected from the group consisting of convex functions and linear functions with penalties. For more than one tuner, the value function is linear with penalties. The apparatus further comprises a processor module (702) that executes or itself further comprises a minimum cost network algorithm module for selecting an optimal set S' c S including partial TV programs with time margins to be received and possibly recorded by M > 1 tuners (703).
Referring now to FIG. 8, a system (800) comprising the apparatus of FIG. 7 to select an optimal set of TV programs that includes partial TV programs for a given time interval and given viewer preferences, and a TV set wherein an incoming broadcast signal (704) is scanned for TV programs selected by the apparatus of FIG. 7 (700) and selected partial TV programs are recorded by the tuners (703) and displayed on the TV (801) all being controlled/executed by processor (702).
While the preferred embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art, the system, apparatus and method for selecting a best set of partial TV programs with pre-rolls and post-rolls based on maximizing viewer satisfaction expressed as a value function of viewer preferences, as described herein, are illustrative and various changes and modifications may be made and equivalents may be substituted for elements thereof without departing from the true scope of the present invention. In addition, many modifications may be made to adapt the teachings of the present invention to a particular situation, e.g., various optimization algorithms, without departing from its central scope. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out the present invention, but that the present invention include all embodiments falling within the scope of the appended claims.

Claims

CLAIMS:
1. A method for selecting a set of partial TV programs preferred by a viewer in a given time period [b, e] beginning at time b and ending at time e, comprising the steps of: providing a set C of channels c (701.1) each having an associated earliness function εc and lateness function λc to modify begin and end times of partial TV programs received thereover to include at least one of a pre-roll and post-roll; specifying a set S (701.1) of a number N > 1 partial TV programs s each having a value function vs , begin time bs, end time es, and each being received over a provided channel c; providing M > 1 tuners (703) to receive and record a partial TV program s e S; constructing a directed graph G = (V, E) comprising a set of nodes V corresponding to said begin time and end time for each s to be received over a channel c and a set of edges E having associated costs and capacities connecting a central timeline of the begin and end nodes each respectively modified by the associated earliness and lateness function (501) to include a pre-roll and a post-roll, for each channel c, a timeline for the channel c of the begin and end nodes for each s to be received thereover (502), and each node of the central timeline with a corresponding node of at least one timeline for a channel c (503) in accordance with a predetermined rule; and applying a minimum-cost network flow algorithm (702.1) to the directed graph G to determine a subset S' c S such that the value function vs (1, r) over the subset S' is maximized and the partial TV programs in S' are received by the M > 1 tuners without conflicts during the time period [b, e].
2. The method of claim 1, wherein each of the partial TV programs of the set S that are received on a specific channel c e C does not overlap in time with any other TV program on the same channel c.
3. The method of claim 1, wherein the applying step further comprises the step of the value function computing the linear sum of the value function vs over the subset S' .
4. The method of claim 1, wherein the specifying step further comprises the step of the viewer or a recommender specifying the set S.
5. The method of claim 1, wherein the value function is a linear function having pre-determined penalties for each of finishing a show early and starting a show late.
6. The method of claim 1, wherein the constructing step further comprises the steps of: arranging the nodes and edges of the central timeline (501) in increasing order from a source node at time 0 through the modified begin time bs and end time es of each s e S to a sink at time ∞; and for each channel c, arranging the nodes and edges of the timeline for the channel c (502) in increasing order through the begin time and end time of each s received over the channel c.
7. The method of claim 6, wherein; each edge of the central timeline has a capacity M > 1 and cost 0; each edge of each channel timeline has a capacity 1 and a cost determined according to a first pre-set function, said second node pair of time points being a time from which and a time until which content for a TV program se S is certain to be received over channel c; and each edge that connects the central timeline and at least one channel timeline has a capacity 1 and connects a node bs, and each node es of the central timeline that has been respectively modified by the earliness function and lateness function to the corresponding time point bs and es of the at least one channel timeline, said edge having a cost determined according to a second pre-set function.
8. The method of claim 7, wherein the applying step further comprises the step of the value function computing the linear sum of the vs over the subset S' .
9. The method of claim 8, wherein the specifying step further comprises the step of the viewer or a recommender specifying the set S.
10. The method of claim 9, wherein the value function is a convex function having pre-determined penalties for each of finishing a show early and starting a show late.
11. An apparatus (700) for reception and delivery of viewer-preferred TV programs (704) during a given time period [b, e] beginning at time b and ending at time e, comprising: a memory module (701) containing a set S of a number N>1 of viewer-preferred TV programs numbered s = l,...,n each having a begin time bs, an end time es, and a value function vs ; a number M>1 of tuners (703) to receive (and record) a TV program s of S; and a processor module (702) configured to execute a partial program model formulation module to formulate and store in the memory (701) a partial program model of the set S and generate therefrom a directed graph G of partial TV programs having pre-rolls and post- rolls, and a minimum-cost network algorithm module that accesses the memory to select a subset of the generated graph G of partial TV programs to receive and record, such that the selected subset of partial TV programs can be received by the plurality of tuners without conflicts within the time interval [b, e], and the value function over the subset is maximized.
12. A system (800) for scheduling a TV viewing session of partial TV programs preferred by a viewer, comprising: a TV set (801) for viewing a TV program; and an apparatus (700) according to claim 11 for selecting and receiving a viewer's preferred TV programs and displaying on the TV (801) at least a part of the received TV programs during a predetermined time span [b, e] having a beginning time b and an ending time e.
13. An apparatus (700) for reception and delivery of viewer-preferred TV programs (704) during a given time period [b,e] beginning at time b and ending at time e, comprising: a memory module (701) containing data describing a set S of a number N>1 of viewer-preferred TV programs s each having a begin time bs, an end time es, and a value function vs ; a set of M>1 tuners (703) to receive and record a partial TV program s of S; and a processor module (702) configured to execute the method of claim 1 using the data describing set S contained in the memory module (701) and the set of tuners.
14. An apparatus (700) for reception and delivery of viewer-preferred partial TV programs (704) during a given time period [b, e] beginning at time b and ending at time e, comprising: a memory module (701) containing data describing a set S of a number N > 1 of viewer-preferred TV programs s each having a begin time bs, an end time es, and a value function vs ; a set of M > 1 tuners (703) to receive (and record) a partial TV program s of S; and a processor module (702) configured to execute the method of claim 4 using the data describing set S contained in the memory module (701) and the set of tuners.
15. A system (800) for scheduling a TV viewing session of partial programs preferred by a viewer, comprising: a TV set (801) for viewing a TV program; and an apparatus (700) according to claim 11 for selecting and receiving a viewer's preferred partial TV programs and displaying on the TV (801) at least a part of the received TV programs during a predetermined time span [b, e] having a beginning time b and an ending time e.
16. A system (800) for scheduling a TV viewing session of partial programs preferred by a viewer, comprising: a TV set (801) for viewing a TV program; and an apparatus (700) according to claim 13 for selecting and receiving a viewer's preferred partial TV programs and displaying on the TV (801) at least a part of the received TV programs during a predetermined time span [b, e] having a beginning time b and an ending time e.
17. A computer program stored in a memory (701), comprising an executable module to perform the method of claim 1 (702.1-3) and a data module (701.1) including a set C of channels and a set S of TV programs as input to the method of claim 2, said set S comprising a number n≥l of preferred partial TV programs s each having a begin time bs, an end time es, and a value function vs .
18. A computer program stored in a memory (701), comprising an executable module to perform the method of claim 3 (702.1-3) and a data module (701.1) including a set C of channels and a set S of TV programs as input to the method of claim 3, said set S comprising a number n≥l of preferred partial TV programs s each having a begin time bs, an end time es, and a value function vs .
19. A computer program stored in a memory (701), comprising an executable module to perform the method of claim 9 (702.1-3) and a data module (701.1) including a set C of channels and a set S of TV programs as input to the method of claim 4, said set S comprising a number n≥l of preferred partial TV programs s each having a begin time bs, an end time es, and a value function vs .
20. A computer program stored in a memory (701), comprising an executable module to perform the method of claim 9 (702.1-3) and a data module (701.1) including a set C of channels and a set S of TV programs as input to the method of claim 5, said set S comprising a number n≥l of preferred partial TV programs s each having a begin time bs, an end time es, and a value function v .
EP06821467A 2005-11-21 2006-11-15 Optimally selecting tv programs with time margins Withdrawn EP1955539A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73848505P 2005-11-21 2005-11-21
PCT/IB2006/054285 WO2007057852A2 (en) 2005-11-21 2006-11-15 Optimally selecting tv programs with time margins

Publications (1)

Publication Number Publication Date
EP1955539A2 true EP1955539A2 (en) 2008-08-13

Family

ID=37955532

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06821467A Withdrawn EP1955539A2 (en) 2005-11-21 2006-11-15 Optimally selecting tv programs with time margins

Country Status (5)

Country Link
EP (1) EP1955539A2 (en)
JP (1) JP2009516952A (en)
CN (1) CN101313566A (en)
RU (1) RU2008125166A (en)
WO (1) WO2007057852A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009087496A2 (en) 2008-01-09 2009-07-16 Nds Limited System and method for overtime viewing
US9570112B2 (en) 2013-12-20 2017-02-14 Opentv, Inc. Multiple views recording

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0115132D0 (en) * 2001-06-21 2001-08-15 Pace Micro Tech Plc User specified programme selection
US6760538B1 (en) * 2003-04-21 2004-07-06 Pioneer Digital Technologies, Inc. Video recorder having user extended and automatically extended time slots
US20060104611A1 (en) * 2004-11-15 2006-05-18 Pioneer Research Center Usa, Inc. Flexible conflict resolution in scheduled recording of broadcast content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007057852A3 *

Also Published As

Publication number Publication date
WO2007057852A2 (en) 2007-05-24
WO2007057852A3 (en) 2007-08-16
JP2009516952A (en) 2009-04-23
RU2008125166A (en) 2009-12-27
CN101313566A (en) 2008-11-26

Similar Documents

Publication Publication Date Title
EP1980103A2 (en) Optimally selecting partial tv programs
RU2373662C2 (en) Administration of video signal recording conflicts and user interface
US8209610B2 (en) Information processing apparatus, information processing method, and computer program
EP1900202B1 (en) Media recording and playback
US20140229990A1 (en) Display apparatus, server and control method thereof
US20080115166A1 (en) Digital video recorder processing system
US20120189269A1 (en) Video recorder having user extended and automatically extended time slots
US20080229359A1 (en) Smart interactive program guide
KR20080056270A (en) Recording device, recording device control method, recording device control program, and computer-readable recording medium
US10708665B2 (en) Method and system for recording recommended content within a user device
US20120301117A1 (en) Method for recording broadcast contents and broadcast receiving apparatus thereof
JP2006229707A (en) Device and method for presenting recommended tv program, and device and method for regenerating tv program video recording program and record medium
JP5024616B2 (en) Recording apparatus and method, program, and recording medium
WO2007057852A2 (en) Optimally selecting tv programs with time margins
US20080267583A1 (en) Video-recording programming apparatus and video-recording programming method
US10841554B2 (en) Method and system for recording recommended content within a user device and playback content from an earlier position when live content is selected
JP2001275053A (en) Video display device and video-recording controller
EP3206390B1 (en) Recording device
JP2007129284A (en) View program control method and video-recorder
KR100751404B1 (en) The disply device for having the function of managing the folders with the recorded programs by reservation and method for controlling the same
US20080263598A1 (en) Optimally Selecting Tv Programs
US20080235734A1 (en) Optimally Selecting Tv Programs for Recording and Viewing
WO2006098648A1 (en) Device and method for forming and displaying a personal channel in a multichannel digital tv
US20040187153A1 (en) Reception apparatus and method
JP5806500B2 (en) Recording device, reservation method, television receiver

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080623

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: PACE MICROTECHNOLOGY PLC

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: PACE PLC

D17P Request for examination filed (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: 8566

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080624