GB2375674A - Virtual Media Channel - Google Patents

Virtual Media Channel Download PDF

Info

Publication number
GB2375674A
GB2375674A GB0111850A GB0111850A GB2375674A GB 2375674 A GB2375674 A GB 2375674A GB 0111850 A GB0111850 A GB 0111850A GB 0111850 A GB0111850 A GB 0111850A GB 2375674 A GB2375674 A GB 2375674A
Authority
GB
United Kingdom
Prior art keywords
schedule
programmes
user
broadcast
programme
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
GB0111850A
Other versions
GB0111850D0 (en
Inventor
Andrew Kevin Mcparland
Timothy John Sargeant
Guy Quentin Winter
John Christopher Willia Newell
Hywel James Williams
Nigel C Earnshaw
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.)
British Broadcasting Corp
Original Assignee
British Broadcasting Corp
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 British Broadcasting Corp filed Critical British Broadcasting Corp
Priority to GB0111850A priority Critical patent/GB2375674A/en
Publication of GB0111850D0 publication Critical patent/GB0111850D0/en
Priority to GB0211159A priority patent/GB2377578A/en
Publication of GB2375674A publication Critical patent/GB2375674A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method and apparatus for creating a viewing schedule for a user. Broadcast programs from a number of sources, such as terrestrial television, the internet or DVDs can be compiled into a broadcast schedule which is 'tailored' to a user, or a group of users. By allowing programmes to be played live, pre-recorded, or time delayed, a virtual channel can be created based upon user preference information. The schedule may indicate the source, timing and other information such as the cost of a programme, and may allow a user to modify the proposed schedule, and the stored user preference information.

Description

<Desc/Clms Page number 1>
Virtual Media Channel The present invention relates to delivery of a schedule of media programmes to a user. The invention is particularly, but not exclusively, concerned with delivery of television programmes but may be applied to delivery of audio only (for example radio programmes) or multi-media presentations or other interactive entertainment and the term media programme as used herein is intended to encompass any form of audio and/or visual experience delivered to a user.
With the advent in recent years of cable, satellite and digital television, the number of channels available to a user has greatly increased. Whereas some users may be prepared to watch whatever is available or may be prepared to organise their personal schedules round the timing of television programmes, others may be more selective and/or may wish to view television only at certain limited times and may find that, despite the large number of channels available, there may be nothing of interest to them at the time they wish to view it.
Various methods and device Various methods and devicesjave-been proposed to alleviate this problem.
,, --0 A For many years, video recorders have been used to record programmes for later viewing at a more convenient time. More recently, digital storage devices have been produced which can continuously record many hours of programme transmission and enable time-shifting of programmes without advance programming. Such devices may also contain menus and may store user preferences in order to facilitate navigation through stored programmes or to select what is recorded.
US-A-5534911 discloses a device which evaluates a number of broadcast programmes and selects the"best"programme from the available for viewing and may also record the"best"programme of the day or week.
With tools such as the above and appropriate planning, a user can select from available programmes and decide what to watch.
<Desc/Clms Page number 2>
However, the present invention stems from the realisation that, whilst such tools can be convenient for selecting a particular programme which the user wants to watch, in order to provide viewing for a given time period, a user may have to make numerous decisions and calculations and may end up compiling a sub-optimal collection of programmes to view in that period. Historically, efforts have been put into creating schedules of programmes for general viewing on a particular channel and all the benefits of the efforts of scheduling programmes are lost when tools such as the above are employed to time-shift programmes.
In a first aspect, the invention provides a method for creating a viewing schedule for a user comprising : receiving a schedule of broadcast programmes; receiving a list of stored programmes; storing user preference information; compiling a schedule of programmes for the user selected from the schedule of broadcast programmes and the list of stored programmes, based on the user preferences.
Pursuant to the present invention it has been appreciated that conventional apparatus may assist in providing a greater variety of programmes from which to choose and tools for doing so but cannot effectively provide a coherent schedule of programmes for viewing which can include both"live"and stored programmes.
Furthermore, the invention stems from the realisation that whilst certain programmes may readily be recorded and time-shifted, a user may derive greater benefit from viewing certain other programmes"live"that is at (or close to) the time at which they were intended to be viewed and conventional time-shifting devices, by their very nature which is intended to make, are not suited to this.
In contrast, with the invention, a personalised schedule can be created which integrates both stored programmes and broadcast (which term is intended to encompass any distribution format, including, but not limited to, digital or analogue broadcasting, satellite or cable broadcasting and internet distribution) programmes
<Desc/Clms Page number 3>
and can take into account the time of broadcast of programmes.
The method may further comprise playing out media corresponding to the schedule.
In a closely related method aspect, the invention provides a method of providing a media channel which presents a sequence of programmes, the method comprising: receiving media programmes from a plurality of sources including at least one source of recorded programmes and at least one source of broadcast programmes and presenting a sequence of programmes selected from the received programmes based on user preferences.
Preferably, the method includes selecting at least one programme from the schedule of broadcast programmes to play back at a time other than the time of broadcast of said programme. The method may include controlling a time-shifting recording device to play back the selected programme at the desired time. The time shifting device may be separate or integrated with the schedule generator.
Preferably, the method includes indicating on the schedule programmes which are live. Preferably, the method further includes indicating programmes which are pre-recorded. Preferably, the method further includes indicating programmes which are time-shifted.
Video on demand programmes may be treated as pre-recorded programmes.
References to stored or pre-recorded programmes are intended to connote programmes which can be accessed on demand by a user; these may be locally stored (for example on a hard disk or video recorder) or may be available from a remote video on demand server. The term is intended to distinguish from broadcast programmes (i. e. to exclude programmes whose playback time cannot be selected by the user).
<Desc/Clms Page number 4>
Preferably, the method includes presenting the schedule to the user and modifying the schedule in response to user input. This may allow a personalised schedule to be produced and then tailored to the user's requirements; this may allow the user flexibility but present the user with a reasonable schedule without requiring direct user input for a particular schedule. Modifying may include deleting programmes. This allows programmes to be permanently deleted from the schedule. Modifying may include changing the order of programmes in the schedule. Modifying may include playing an available programme immediately in response to user selection and modifying the time of play of subsequent programmes.
Most preferably, information concerning user preferences is updated in response to user modification of a prepared schedule. In this way, the system can "learn" from the user's reaction to a given schedule.
The schedule may be prepared in advance of the start of the schedule.
Alternatively, the schedule may be prepared starting immediately or imminentlyfrom the current time.
The schedule may be set to run for a predetermined period, for example an evening or a specified user time.
The schedule may include a planned break for the user to undertake other activity.
The schedule may include programmes which are not directly accessible by the scheduling device. For example cable, satellite or radio programmes or an internet live video broadcast may be included in the schedule, even if the user has to operate separate equipment to view the programmes. Thus the scheduler may be separated from the receiving equipment and may only receive a schedule but not the programme itself for certain media or programme sources. Similarly, the scheduler may include details of stored programmes (for example on video tape or
<Desc/Clms Page number 5>
DVD) and may insert these in the schedule, without necessarily being able to play the programmes directly. Preferably, however, the scheduler is integrated with receiving apparatus for receiving at least one broadcast media channel and preferably also has means for time-shifting a received programme.
The method may include storing multiple user preferences and may include providing multiple user schedules. Alternatively the method may include providing a composite schedule in which programmes are selected according to different user preferences at different times. For example, a daytime schedule may be provided based on one user preference and an evening schedule may be provided based on another user preference and a yet further weekend schedule may be provided.
Different user preferences may be merged; for example if two (or more) users who have individual preferences wish to view a schedule, programmes may be selected according to both (or all) users'preference information, in order to provide a selection suitable for both (or all) users.
In a greatly preferred implementation, the method comprises at least a step of ordering programmes according to time of broadcast or availability and a step of ordering the programmes according to closeness of match to user criteria. The ordering according to time is preferably performed as a first step. The ordering step is preferably performed so that pre-recorded programmes can be inserted at any convenient point, after the broadcast programmes have been ordered.
The method may be configured so that one or other source is favoured over another; this may be based on user preferences and/or time of day or week. Preferences may be expressed between broadcast channels and as between broadcast and pre-recorded programmes. For example, a hierarchy of preference may be specified as"BBC1, then other terrestrial then pre-recorded, then satellite then cable"and this may be used to weight other parameters used in ranking programmes.
The invention extends to apparatus for performing any of the above methods.
<Desc/Clms Page number 6>
The invention further extends to a computer program or computer program product arranged to perform any of the above method aspects.
The invention further extends to a schedule or sequence of commands to effect playback of a schedule produced by any of the above methods.
An embodiment of the invention will now be described by way of example, with reference to the accompanying drawings in which :- Fig. 1 shows a screen shot of a schedule produced by the invention; and Fig. 2 is a schematic overview of the apparatus.
Overview of the invention The embodiment provides a user with a personalised schedule of available programmes. This personalised schedule can be presented to the user as a listing of programmes in time order, similar to what would be on offer from a traditional broadcast channel. The schedule is arranged to contain the best content for that user. On initialisation, when no programmes are stored, this would be a choice of the live broadcasts. With the availability of storage (such as a hard disk in a set-top box or a video-on-demand server) the schedule can incorporate both live programmes as they are broadcast, time-shifted programmes to fit or tidy up the schedule, and those available on-demand (e. g. pre-recorded). An important feature is that the schedule can contain both live and recorded content as it is expected the user will still want to watch certain events live or near-live (e. g. a news or current affairs programme, or an episode of a series; such programmes can be identified and flagged as programmes to be included at or as close to the "normal" broadcast time as possible).
Advantageous features of the embodiment include :-
<Desc/Clms Page number 7>
Personalised service An agent or filtering tool chooses the most appropriate content for the selected user.
This preference could be based on a combination of past choices by the user and related to the genre and type of content that the user watches. It may also be based on their preferences for watching particular types of programme at different times of day, e. g. a movie or drama between 8pm and 10pm. The aim of the personalisation is to give the user a choice amongst the best that is on offer.
Virtual channel The schedule would be virtual in the sense that it is not based on an existing broadcast schedule of programmes, but instead contains content from many different sources that was made available earlier. The schedule has been created in the box for the user. This means that it need not be stored or exist elsewhere, reducing distribution and storage resource requirements.
Adaptive The schedule presented to the user can adapt to the time of day, in addition to personalisation to the user's preferences. As time moves on the schedule will change.
Planned There is an element of planning to the virtual schedule. The user can add or delete programmes from the proposed schedule. The user can also look ahead and plan their evening or weekend viewing. In addition, in contrast, the user can watch a schedule without prior planning of what to record or any effort in selecting programmes.
<Desc/Clms Page number 8>
Content agnostic The schedule does not just have to be conventional TV material (i. e. Audio/Video), it may be audio-only material. It may also be pointers to material that the box itself cannot acquire but has information on. For example, the box may have programme information for a radio station that it cannot tune to. The box notices that there is a concert by the user's favourite band and flags the event in the user's schedule.
The delivery mechanism may be via traditional broadcast channels (e. g. via a teletext or Ceefax service) or via a broadband connection or phone-line or other internet connection. The mechanism for "delivering" a list of pre-recorded material may include storing details of what has been recorded under the control of the scheduler and may also include inputting, either from a user or from a separate device, details of pre-recorded material available to view.
Specific Implementation Referring to Fig. 1, a screen shot from an embodiment is shown.
The schedule displayed shows the time of a programme 10, an icon indicating whether the programme is live 12, pre-recorded 14 or (marginally) timeshifted 16 and gives a summary 18 of the highlighted programme. The display also shows the date and time for which the schedule is prepared and has space to display the name of the user for whom it has been prepared. The display further shows the date on which the schedule has been prepared (the current date) 24 and time 26. The schedule includes inputs for rescheduling the currently highlighted event 30, adding an event 32 and deleting an event 34.
To summarise, the key advantages of this arrangement are :- Simple layout-uncluttered and direct.
Informative-the"liveness"of a programme is indicated by icons, including straight from disk, time shifted and live.
Personalised-the person or group that the screen is intended for is indicated directly.
<Desc/Clms Page number 9>
The following sets out preferred criteria and constraints for implementing the scheduler.
Virtual Channel Behaviour The virtual channel schedule is a short, ordered list of programmes that are time/availability ordered, then ordered in terms of a rating that reflects the quality of the match between the programme and the user preference information.
When the virtual channel is selected the programmes are played out sequentially.
The schedule will scroll upwards as each programme is replayed and the order of programmes will not change.
If the virtual channel is not selected then the order of the programmes may be revised as highly rated programmes become more immediately available and displace programmes earlier in the schedule.
The rating of programmes that remain in the schedule for some time but remain unwatched is progressively reduced so that ultimately they will be displaced by more recently broadcast content.
The first programme in the schedule preferably cannot be displaced once replay has been started.
User modifications The user can preferably modify the schedule in one or more of the following ways: programmes may be removed. In this case they will preferably never reappear in the schedule.
<Desc/Clms Page number 10>
programmes may be moved about in the schedule, subject to time/availability constraints. programmes can be added to the schedule, subject to time/availability constraints. the user may choose to replay a programme further down the schedule. In this case it is immediately moved to the top of the schedule.
When a programme is added or removed from the schedule this is taken to indicate a user preference and can be used to refine the user profile information.
If a virtual channel with a modified schedule is continuously selected the order of programmes will not change and the behaviour is identical to the case when the schedule is unmodified.
However, if the schedule is not played out the dynamic behaviour is preferably different to an unmodified schedule in at least the following aspects: added programmes will not be displaced from the schedule until watched or removed by the user. the ordering of added programmes is preserved as they move forward in the schedule. the ordering of moved programmes is preserved but they may be displaced by higher rated programmes as they become available.
Schedule revisions The virtual channel schedule may be revised in the following circumstances: the virtual channel is playing and the current programme finishes.
<Desc/Clms Page number 11>
the user chooses to replay a programme that is later in the schedule. the user removes, adds or moves a programme. a new programme becomes available (a recording starts). the tuner is not available when required so that the capture of a programme fails.
It will be apparent that numerous modifications to the above may be made and the above embodiment is illustrative only. By way of example only, Java code implementing an embodiment of the invention is appended hereto. Other than the right to make facsimile copies of the printed version of this patent application, all copyright in the code is reserved by the applicant.
<Desc/Clms Page number 12>
Appendix - sample Java source code package bbc. rd. navigator ; import java. util. *; import java. io. * ; import mytv. resolution : ;
/&num;&num; t rhis Class represents a sshedule for a Virtual Channel.
&num; * < p > Aii v'irtua ! channei echeduie objects ehoui be obtained uein the following method : . < br > & nbsp ; put7 ! ic static Virtua ! Char) nei5cheduie 6BCNavigatorX ! et. et'/irtuafChar) r) e ! 9chedu ! e () ; . < p > Created : 29/1/01 * < br > Laet edited : 23/2/01 &num; * < p > Outetanding issues : None &num; * Version 1. 0 * author Chris News ! !-5E3C Research & Development * 1 public c ! a55'/irtuatCha) inei5cheute itupiemetits Runnabie { private static final int scheduleLen'th = 5; private VirtualChannelProgram# schedule ; private VirtualChannelProgram [] contentPool ; private UserProfile userProfile ; private Thread builderThread ;
private Pate buiidDate ; private Date .,.., ,,., ,,,..,-..-..-..,..-----------.--- 11-- - - - --- ---- -- - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - --- - - - --- - - -- ------ - - ----- -- -- - - - - - -- - - -- - - -- - - ---- /" * Constructor.
*1
<Desc/Clms Page number 13>
pub ! ic'/ ! rtua ! Channe ! 9cheduie () { userProfile = PPCNaatorX ! et. etUserr'rof ! ! e () ; II Load the last content pool and virtual channel schedule from persistent storage.
! oad5chedu ! e () ; //5tart the content pool revision thread.
builderThread = newThread (this,'yirtua ! Chanr) e ! & ui ! der") ; builderThread. start () ; } //..--.-, ..-,-,-.. -...,.,-,-.-..------.-.......... .... ....-... ..... . ... j** * Create a dummy schedule for test purposes.
*j public synchronized void dumniy5cheduie () { contentfoo ! = ne Virtua ! Chan) ie ! F'roram [ & ] ; Date date; schedule = new VirtualChannelProgram [scheduleLength] ; UserProfile = BBCNavigatorXlet.getUserProfile(); date = new Date (101,1, 21,9, 0) ;
contentPool (O] = new Virtua ! Channe ! r'roram ("ti) roy","Robert Kifroy-5i ! k hosts topica ! debate and discussion with his studio audience.","News and Documentaries : Features", "BBC1", 45, date, 2, 17) ; date = new Date (101, 1, 21, 10, 20) ; contentpool (2] = new'/irtua ! Channe ! Prograf) i ('Wipeout","Bob Monkhouse hosts the general knowledge quiz where just one wrong answer can wipe you out of the game. ", "Entertainment : Game Shows", "BBC2", 20, date, 3,24) ; date = new Date (101,1, 21,11, 30) ; contentPool[3] = new VirtualChannelProgram("Passport to the Sun", "A look at Mallorca during the summer months, presented by Nadia Sawalha. Nadia visits the animal refuge centre and there's a happy event on board the Emerald as one couple have their wedding blessed, ", "Entertainment : T ravel", "BBC1", 45, date, 1,
9) ;
<Desc/Clms Page number 14>
date = new Date (101, 1, 21, 12, 0) ; contentPool[4] = new irtua ! Channe ! r'roram ("SSC News","The ! ateet nations ! and international news from the BBC this ! unchtime. Foi ! owed ! ? y Weather.","News and Documentaries : News", "BBC1", 20, date, 1, 7) ; date = new Date (101,1, 21,12, 0); contentPool[6] = new VirtualChannelProgram ("Get Me the Manager","Transport : Tonight we meet the ladies who have taken on Heathrow Airport. We also go behind the scenes at the Oxford Bus Company, and visit the lsle of Skye's expensive toll birdge.", "Entertainment:Factual", "BBC2", 30, date, 2,17) ; date = new Date (101,1, 21,12, 30) ;
contentpool[5] = new VirtuaIChanneIProgram ("Neighbours", "Flick decides to pursue Joel whether he likes it or not, and Susan questions Darcy about the seriousness of his problem0 with f.. ! ice. Will Lou really evict the boys at Number 307", "Entertainment : 5oaps","BBC1", 30, date, 0, 0) ; date = new Date (101, 1, 21, 15, 15) ; contentPool[1] = new irtua ! Channe ! F'roram ("Crimewatch Pa ! ! y","The ! ive daiy cr ! me prevention ehow presented by Phil Gayle and Jane Moore behind the scenes at New Scotland Yard. ", "News and Documentaries : Features", "BBC1", 30, date, 2,16) ; date = new Date (101,1, 21,17, 10) ;
contentPool[7] = new irtua ! Channe ! r'roram ("Casuatty","Something from the Heart : After a major hotel explosion, Charlie finds himself treating a high profile patient with controversial views on the NH5.", "Entertainment : Drama", "BBC1", 50, date, 2,19) ; // Build a dummy schedule to prevent null pointer exceptions for (int i=O ; i < scheduleLength; i++) {
schedule [i] = contentPool[i] ; } } 11- ----- - ---- - - - - - - - - - - - -- - - - - - - - - - -- - - - - -- - -- - - -- -- -- - -- - - - - - - - - - - --- - - - - - - - - - - - - - - - - - --- - - -- - - -- -- } * Save ths Virtua) Channe ! 9chedute to persistent storage.
, I public synchronized void save5chedu ! e () { String root = System. getProperty ("persistent. root") ;
<Desc/Clms Page number 15>
//Use the user profile name as the first part of file name.
String fileName = userProfile.getUserName() +"~vcs"; try { FileOutputStream out = new FileOutputStream (new File (root, fileName)) ;
Object0utput5tream e = new Ot7JectOutput5tream (out) ; s. writeObject ( (Object) bu ! ! dPate) ; s. writeObject ((Object) schedule) ; s. writeObject ( (Object) contentP 001) ; s. flush() ; out. flush () ; s. close (); out. close () ;
System. out. println ("Content pool and rtua ! chantisi acheduie sasd succseafuyto ! oca ! disk.") ; } catch (Exception e) { e. printStackTrace() ; } for (int i=O ; i < schedule.length;i++) {
System. out. prir) t ! n (i +")"+ schedu ! e [ !]. t ! t ! e +" ! ocked ="+ echedu) e [i] Jocksd) ; } } //-.....,... -.-...-----.----.-....-..-,,--.--..............-....... j** &num;Load the Virtua ! Chatinei 5chedu ! e from pereistetit storage.
*j public synchronized void 10adSchedule () { String root=System.getProperty("persistent. root") ; //Try to load the contenPool and schedule for the current user from a persistent file.
String fileName = userProfile. getUserName () +"~vcs" ; try {
Fi ! e ! r) put5tream in = new Fi ! sinput9tream (netv F ! ! e (root, fiJeName)) ; Object) nput5tream etream = new0t ? jectinput5tream (ir !) ;
<Desc/Clms Page number 16>
buiidPate = (Date) stream. readObject () ; schedule = (VirtualChannelProgram []) stream. readObject () ; contentPool = (Virtua ! Channe ! F'roram []) stream. readObject () ; stream. close () ; in. close () ; 5ystem. out. println ("Content pool and virtual channel schedule read successfully from local disk") ; // If file loads correctly then call revise5chedule. revise5cheduleO ; } catch (Exception e) { e. pr nt5tackT race () ; II If loading fails.
} } /" * Get the number of prorarne ! ti this virtua ! channe ! echedu.
*1 public synchronized int get5cheduleLength () { return schedule. length ; /** //--.. .--,---.......------. ...-..,., .. ...--.,-----. ..
* Get the nth program in this virtual channel schedule.
*1 public synchronized VirtualChannelProgram getProgram (int n) { return schedule [n] ; I 1** //---.. .. . -.. . ... . ... ..... ,, . . ..-... ..., ...
* Add a program at the nth position in this virtual channel schedule.
* < br > The new programme will be "locked" at this position. This means that it will not be removed until it has been viewed or deleted by the user.
* < br > The program currently at this position and those that follow are shifted upwards and may replaced by higher rated programmes if not locked.
*1 public synchronized int add (Cor) tentReference crid, int position) {
<Desc/Clms Page number 17>
II Ignore invalid position numbers. if (position < 011 position > = scheduleLenyth) {return-1 ;} in set new virtual channel programme.. < ... < ). < . < . * < ay need to deal ith failure at this point.
VirtualChannelProgram prog = new VirtualChannelProgram (crid) ; II Check that this programme will be available at this position/time. if (prog. expectedStartTiem. after (new Date(getStartTime(position)))) {return -1;} II Ensure the programme at the top of the schedule is unlocked before it is discarded. scheudle[scheduleLength-1].locked = false ; // Shift back the programmes after the inserted programme. for (int i=scheduleLength-1 ; i > position ; i--) { schedule[i]=schedule[i-1] ; } II Add the new programme and lock its position ; schedule[position] = prog ; schedule[position]. locked = true; II Optimise re-ordering (locked programmes will remain in the schedule, unlocked programmes may be replaced by higher rated programmes). reviseSchedule (); II Assume this user action indicates approval and feed the information back to the user profile builder.
BBCNavigatorXlet.userActioin(schedule[position]. crid, true) ; return 0 ; }
// ///*' //* Replace a program at the nth position in this virtual channel schedule.
//* < br > This overwrites the program currently at this position.
//*/
<Desc/Clms Page number 18>
II public synchronized void replace (ContentReference crid, int n) { I I II} // //. -.. ...,...-..., ...---..-------.-.-. .-.-------Move the program at a specific position in the virtual channel schedule one position earlier.
&num;Note that calling this method will fail (and return-1) if it attempts to make a programme available before transmission starts.
'/ public synchronized int movelJp (int position) { // Ignore request if invalid. if (position == 0 II position > = scheduleLength) {return -1 ;} if (5chedu ! e [position]. expected5tartTinie. after (new Date (get5tartTime (position-1)))) { 5y6tem. out. println ("moveUp failed") ; return-1 ; } II Exchange programs.
VirtualChannelr'rogram prog = schedule[position-1] ; schedule[position-1] = schedule[position] ; schedule [position-1]. tocked = true ; schedule[position] = prog ; return 0 ; } //-..-,.---,-------------..--------------r* * Move the program at a specific position in the virtual channel schedule one position later.
* Note that calling this method will fail (and return-1) if it attempts to make a programme available before transmission starts.
. I public synchronized ! int moeDow) i (int position) { //Ignore request if invalid. if (position < 0 ! ! position > (scheduieLenth-2)) {return-1 ;} if (schedule [position+1]. expected9tartTime. after (new Pate (get5tartTime (position)))) {
<Desc/Clms Page number 19>
System. out. println ("moveDown failed") ; return-1 ; } II Exchange programs.
VirtualChannelr'rogram prog = schedule[positon+1];
schedule[position+ 1J = schedule[position] ; schedule[position+ 1]. locked = true ; schedule[positioin] = prog ; return 0 ;
} //...,............-..,....., ..,...-.., . ..........,.......... . .....,.... .. ........... r' Remove the program at the nth position in this virtual channel schedule.
, I public synchronized void remove (int position) { //To remove a programme permanently form the schedule it is given an arbitrary low absolute rating within the content pool. schedule[position].absoluteRating = -999; schedule [position]. locked = false ;
II Assume this user action indicates disapproval and feed the information back to the user profile builder.
BBCNavigatorXlet. userAction (schedule [positioti]. crid, false) ; revise9chsdu ! e () ; } II -~~~~~~n- - ------ -- ----------- ---- - - - -- ------ -----~~~~~~n~~~~- -- - -------- ---- -------- - - - ------- -- } * Find the highest rated programme available by a specific time.
* < p > Programmes that are already entered in the schedule, or locked, or watched are ignored.
'I private synchronized VirtuaiChatmeir'roram findBestF'rograr) i (long time) { int bestRating =-999 ; int @estProgindex = 0 ; for (int i=O ; i < contentF'oof. length ; i++) {
<Desc/Clms Page number 20>
II Ignore programmes that are currently in the schedule to avoid double entries. if (contentPool[i]. entered) {continue ;} II Ignore locked programmes. if (contentr'oo ! [i]. locked) {continue ;} II Ignore programmes that have already been watched. if (uoerFrofile. hasBeenWatched (contentPool [i]. crid)) {continue ;} //ignore programmes that are not yet available. if (cor) tentF'oo ! [i]. expected5tartTime. after (new Pate (time))) {continue ;} II Compare ratings of programmes. if (contentPool[i]. absoluteRating > bestRating) { bestRating = contentF'ool [i]. absoluteRating ; bestr'roglndex = i ; } } return contentP 001 [bestProg Index] ; } //.....--.. -,,-,,, -----,--.-..-.--.-------------j** * Get the planned start time of programme at a specific position in the virtual channel schedule.
* This assumes that all the programmes in the schedule are viewed in the planned order and takes into account that part of the programmes may have been watched.
*/ public synchronized long get5tartTime (int position) { II Get the current time. long time = 5ystem. currentTimeMit ! is () ; for (int i=O ; i < position ; i++) { time += (long) ( (schedule[i]. expectedDuration - schedule[i]. lastViewingPosition) *60000) ; } return time ; /l
<Desc/Clms Page number 21>
/'* * Revise the virtual channel schedule. * < p > This method is called when a new programme becomes available from the content pool or when first building a schedule.
* < p > Locked programmes in the schedule maintain their positioin relative to each other-but they may move forward as they become available if they exceed the rating of preceding unlocked programmes.
. < br > Unlocked programmes may be replaced by higher rated programmes as they become available-the highest rated programmes are added to the schedule as early as possible.
. < br > Programmes that have been watched are removed and excluded.
. I public synchronized void revise5chedu ! e () { //Create a new schedule array.
VirtuaiChanneiFrogram [] new5chedu ! e = tieM/Virtua ! Chan) ie ! rrogram [5chedu ! eLetigth] ; //Clear the"entered"flag so that it can be re-used during the building of the new schedule. for (int i=O ; kcontentpool. length ; i++) { contentPool [i]. entered = false ; } //progNumber is an index number relating to the position within the new schedule. int progNumber=O ; // Get current time. long time = 5ystem. currentTimeMillis() ;
System. out. printin ("Revise5chedu called at :"+ (new //Prog loop iterates through the schedule selecting the best programme for each position, advancing time by the duration of each consecutive programme. frog Loop : whiie (progNumber < scheduleLength) {
II If there is a programme locked in this slot that has not already been entered elsewhere in the new schedule then keep it there. if (echeduie [progNumber].) ocked & & ! schedule [progNumber]. entered) { new9chedu) e [progNumber] = schedule[progNumber] ;
<Desc/Clms Page number 22>
//Otherwise find the highest rated programme that is available. Exclude locked programmes unless they are the next locked programme in the schedule (to maintain the order of locked programmes).
} erse { //Find the highest rating available programme.
VirtualChannelProgam bestProg = findBestProgram (time); II Find the next locked program in the old schedule that has not already been entered.
VirtualChannelProgram nextLockedProg = null ; for (int i=progNumber+1; i < scheduleLength; i++) {
if (oche6iule [i]. Iockccl if (schedule[i]. locked & & ! schedule[i]. entered) { II Check the programme will be available at this time. if (5chedu ! e [i]. expected9tartTime. after (new Date (time))) { nextLockedr'rog = schedule[i] ; } continue ; } }
//Compare and add the best rated programme to the schedule. if (nextLockedProg 1= null & & nextLockedPro. absoluteRating > = bestProg. absoluteRating) { new9chedu ! e [proNum ! ? er] = nextLockedF'ro ; } else { new9chedu ! e [proNumber] = bestProg ; } } //Set the entered flag on this programme to avoid multiple entries. newSchedule[progNumber].entered = true ; // Shift time ot the end of the programme, taking into account some of it may already have been viewed.
time += ( ! oti) ( (tietv9cheduie [pro < :) Nurnber]. expectedL ? urai. iori newSchedule[progNumber].lastViewingPositioin)*60000); progNumber++; } II Replace the old schedule with the new schedule. schedule = newSchedule;
<Desc/Clms Page number 23>
for (int i=O ; i < schedul.length; i++) { 5ystem. out. print ! n (i + ")" + schedule[i].locked); } }
//.. .,... .... .,,,..--...-..----.. -.--.------,,.. .,---.......
/*' * Runnable interface for the Virtual Channel Builder thread. This runs in the background and updates the content pool when necessary.
* < p > If the content pool could not be loaded from persistent storage or is older than 36 hours it is rebuilt with a high thread priority.
* < p > If the content pool is less than 36 hours old it is rebuilt with a low thread priority.
* < p > Following the rebuild the thread should sleep for a long period before another rebuild. However, for
simplicity it is allowed to terminate.
'/ public void run () { 5ystem. out. println ("VirtualChannelBuilder thread started") ; //Set the thread priority low unless the content pool is out of date. if (contentPool ! = null & & buildDate. after (new Date (5ystem. currentTimeMillis ()- (long) (36*60*1000)))) { builderThread.setPriority(thread. M I NPRIOR ! TY) ; System.out.printin("VirtualChannelBuilder thread has low priority") ; } //Rebuild the content pool // N.B. Any changes to contentPool must be done in a synchronised method which must not block.
//if ioad9chedu ! e has failed then create a dummy content pool & schedule. if (contentPool == null) { dutiimy5chedu) e () ; revise5chedu ! e () ; } // Run reviseShedule when stored programmes have been analysed.
// Run reviseSchedule when programme schedule has been analyzed
<Desc/Clms Page number 24>
//5et the build date. buildDate = new Date (5y5tem. currentTinieMiiiie ()) ; //Save the new ! Chantis ! 5che ; du ! e. save5chedule () ; II This thread should in theory wait until the next update is required. However, for simplicity it is allowed to terminate.
System. out. pri r) t ! ti ('Virtua) Chan) ie ! Buiider thread terminating") ; I // End .......... .. .-. .. ................ .. . . . . .. ..............
- -------------------- }

Claims (27)

  1. Claims 1. A method for creating a viewing schedule for a user comprising: receiving a schedule of broadcast programmes; receiving a list of stored programmes; storing user preference information; compiling a schedule of programmes forthe userselected from the schedule of broadcast programmes and the list of stored programmes, based on the user preferences.
  2. 2. A method according to Claim 1, further comprising playing out media corresponding to the schedule.
  3. 3. A method of providing a media channel which presents a sequence of programmes, the method comprising: receiving media programmes from a plurality of sources including at least one source of stored programmes and at least one source of broadcast programmes and presenting a sequence of programmes selected from the stored programmes and the broadcast programmes based on user preferences.
  4. 4. A method according to any preceding claim including selecting at least one programme from the schedule of broadcast programmes to play back at a time other than the time of broadcast of said programme.
  5. 5. A method according to Claim 4 including controlling a time-shifting recording device to play back the selected programme at a desired time.
  6. 6. A method according to Claim 5 wherein the time shifting device is separate from the schedule compiler
  7. 7. A method according to any preceding claim including indicating on the schedule programmes which are live.
    <Desc/Clms Page number 26>
  8. 8. A method according to any preceding claim including indicating programmes which are pre-recorded.
  9. 9. A method according to any preceding claim including indicating programmes which are time-shifted.
  10. 10. A method according to any preceding claim including presenting the schedule to the user and modifying the schedule in response to user input.
  11. 11. A method according to Claim 10 wherein modifying includes deleting programmes.
  12. 12. A method according to Claim 10 or 11 wherein modifying includes changing the order of programmes in the schedule.
  13. 13. A method according to Claim 10, 11 or 12 wherein modifying includes playing an available programme immediately in response to user selection.
  14. 14. A method according to any preceding claim wherein information concerning user preferences is updated in response to user modification of a prepared schedule.
  15. 15. A method according to any preceding claim wherein the schedule is prepared in advance of the start of the schedule.
  16. 16. A method according to any preceding claim wherein the schedule is set to run for a predetermined period.
  17. 17. A method according to any preceding claim wherein the schedule includes a planned break for the user to undertake other activity.
  18. 18. A method according to any preceding claim wherein the schedule includes
    <Desc/Clms Page number 27>
    programmes which are not directly accessible by the scheduling device.
  19. 19. A method according to any preceding claim wherein multiple user preferences are stored.
  20. 20. A method according to Claim 19 including providing multiple user schedules.
  21. 21. A method according to any preceding claim comprising at least a step of ordering programmes according to time of broadcast or availability and a step of ordering the programmes according to closeness of match to user criteria.
  22. 22. Apparatus configured to perform a method according to any preceding claim.
  23. 23. Apparatus according to Claim 22 comprising: means for receiving a schedule of broadcast programmes; means for storing a list of stored programmes; means for storing user preference information; means for compiling a user schedule based on on the received schedule of broadcast programmes, the stored list of stored programmes and the user preference information; means for outputting the user schedule.
  24. 24. Apparatus according to Claim 23, further comprising means for playing out media corresponding to the user schedule.
  25. 25. Apparatus according to Claim 23 or 24, further comprising means for controlling media storage apparatus.
  26. 26. Apparatus according to Claim 23 or 24, further comprising media storage apparatus.
    <Desc/Clms Page number 28>
  27. 27. A computer program or computer program product comprising instructions for performing a method according to any of Claims 1 to 21.
GB0111850A 2001-05-15 2001-05-15 Virtual Media Channel Withdrawn GB2375674A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0111850A GB2375674A (en) 2001-05-15 2001-05-15 Virtual Media Channel
GB0211159A GB2377578A (en) 2001-05-15 2002-05-15 Creating a viewing schedule using broadcast and stored programmes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0111850A GB2375674A (en) 2001-05-15 2001-05-15 Virtual Media Channel

Publications (2)

Publication Number Publication Date
GB0111850D0 GB0111850D0 (en) 2001-07-04
GB2375674A true GB2375674A (en) 2002-11-20

Family

ID=9914669

Family Applications (2)

Application Number Title Priority Date Filing Date
GB0111850A Withdrawn GB2375674A (en) 2001-05-15 2001-05-15 Virtual Media Channel
GB0211159A Withdrawn GB2377578A (en) 2001-05-15 2002-05-15 Creating a viewing schedule using broadcast and stored programmes

Family Applications After (1)

Application Number Title Priority Date Filing Date
GB0211159A Withdrawn GB2377578A (en) 2001-05-15 2002-05-15 Creating a viewing schedule using broadcast and stored programmes

Country Status (1)

Country Link
GB (2) GB2375674A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2412524A (en) * 2004-03-24 2005-09-28 Hewlett Packard Development Co Audio/Visual Component Networking System
GB2412523A (en) * 2004-03-24 2005-09-28 Hewlett Packard Development Co Audio/Visual Component Networking System
US8799971B2 (en) 2003-01-30 2014-08-05 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US8806562B2 (en) 2006-10-27 2014-08-12 Hewlett-Packard Development Company, L.P. Audio/video component networking system and method
US8875196B2 (en) 2005-08-13 2014-10-28 Webtuner Corp. System for network and local content access
US9021538B2 (en) 1998-07-14 2015-04-28 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9021543B2 (en) 2011-05-26 2015-04-28 Webtuner Corporation Highly scalable audience measurement system with client event pre-processing
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules
US9191722B2 (en) 1997-07-21 2015-11-17 Rovi Guides, Inc. System and method for modifying advertisement responsive to EPG information
US9256884B2 (en) 2011-05-24 2016-02-09 Webtuner Corp System and method to increase efficiency and speed of analytics report generation in audience measurement systems
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US9319735B2 (en) 1995-06-07 2016-04-19 Rovi Guides, Inc. Electronic television program guide schedule system and method with data feed access
US9326025B2 (en) 2007-03-09 2016-04-26 Rovi Technologies Corporation Media content search results ranked by popularity
US9426509B2 (en) 1998-08-21 2016-08-23 Rovi Guides, Inc. Client-server electronic program guide
DE102005008773B4 (en) * 2004-03-24 2016-09-29 Hewlett-Packard Development Co., L.P. Audio / video component networking system and method
US9635405B2 (en) 2011-05-17 2017-04-25 Webtuner Corp. System and method for scalable, high accuracy, sensor and ID based audience measurement system based on distributed computing architecture
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US10904624B2 (en) 2005-01-27 2021-01-26 Webtuner Corporation Method and apparatus for generating multiple dynamic user-interactive displays

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216952A1 (en) * 2004-03-24 2005-09-29 Johnson Dan S Audio/video component networking system and method
US8156527B2 (en) * 2005-09-13 2012-04-10 At&T Intellectual Property I, L.P. System and method for providing a unified programming guide
US8868547B2 (en) * 2006-02-16 2014-10-21 Dell Products L.P. Programming content on a device
US8380726B2 (en) 2006-03-06 2013-02-19 Veveo, Inc. Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
US8850481B2 (en) 2006-09-29 2014-09-30 United Video Properties, Inc. Systems and methods for modifying an interactive media guidance application interface based on time of day
WO2008042281A2 (en) * 2006-09-29 2008-04-10 United Video Properties, Inc. Systems and methods for modifying an interactive media guidance application interface based on time of day
FR2910215A1 (en) * 2006-12-18 2008-06-20 Thomson Licensing Sas METHOD OF REPRODUCING AUDIOVISUAL DOCUMENTS BY AN APPARATUS HAVING A PARTICULAR CHARACTERISTIC, APPARATUS AND SERVER FOR IMPLEMENTING THE METHOD
KR100912823B1 (en) * 2007-12-06 2009-08-18 한국전자통신연구원 The System and Method of IP-based Customized Broadcasting Service of Integrated Type
JP5078710B2 (en) 2008-04-01 2012-11-21 キヤノン株式会社 Receiving apparatus and control method thereof
US20100169918A1 (en) * 2008-12-30 2010-07-01 Biesemeyer Ralph E Community Programmed Television
WO2012094564A1 (en) 2011-01-06 2012-07-12 Veveo, Inc. Methods of and systems for content search based on environment sampling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2325537A (en) * 1997-03-31 1998-11-25 Microsoft Corporation An electronic television programme guide
US6005597A (en) * 1997-10-27 1999-12-21 Disney Enterprises, Inc. Method and apparatus for program selection
WO2000016548A1 (en) * 1998-09-17 2000-03-23 United Video Properties, Inc. Electronic program guide with digital storage
WO2000040021A1 (en) * 1998-12-23 2000-07-06 Koninklijke Philips Electronics N.V. Apparatus for reproducing programs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2325537A (en) * 1997-03-31 1998-11-25 Microsoft Corporation An electronic television programme guide
US6005597A (en) * 1997-10-27 1999-12-21 Disney Enterprises, Inc. Method and apparatus for program selection
WO2000016548A1 (en) * 1998-09-17 2000-03-23 United Video Properties, Inc. Electronic program guide with digital storage
WO2000040021A1 (en) * 1998-12-23 2000-07-06 Koninklijke Philips Electronics N.V. Apparatus for reproducing programs

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9319735B2 (en) 1995-06-07 2016-04-19 Rovi Guides, Inc. Electronic television program guide schedule system and method with data feed access
US9191722B2 (en) 1997-07-21 2015-11-17 Rovi Guides, Inc. System and method for modifying advertisement responsive to EPG information
US9154843B2 (en) 1998-07-14 2015-10-06 Rovi Guides, Inc. Client-server based interactive guide with server recording
US10075746B2 (en) 1998-07-14 2018-09-11 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9226006B2 (en) 1998-07-14 2015-12-29 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9232254B2 (en) 1998-07-14 2016-01-05 Rovi Guides, Inc. Client-server based interactive television guide with server recording
US9118948B2 (en) 1998-07-14 2015-08-25 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9021538B2 (en) 1998-07-14 2015-04-28 Rovi Guides, Inc. Client-server based interactive guide with server recording
US9055318B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Client-server based interactive guide with server storage
US9055319B2 (en) 1998-07-14 2015-06-09 Rovi Guides, Inc. Interactive guide with recording
US9426509B2 (en) 1998-08-21 2016-08-23 Rovi Guides, Inc. Client-server electronic program guide
US9294799B2 (en) 2000-10-11 2016-03-22 Rovi Guides, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US9071872B2 (en) 2003-01-30 2015-06-30 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US8806546B2 (en) 2003-01-30 2014-08-12 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US9369741B2 (en) 2003-01-30 2016-06-14 Rovi Guides, Inc. Interactive television systems with digital video recording and adjustable reminders
US8799971B2 (en) 2003-01-30 2014-08-05 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
GB2412524A (en) * 2004-03-24 2005-09-28 Hewlett Packard Development Co Audio/Visual Component Networking System
GB2412523A (en) * 2004-03-24 2005-09-28 Hewlett Packard Development Co Audio/Visual Component Networking System
DE102005008773B4 (en) * 2004-03-24 2016-09-29 Hewlett-Packard Development Co., L.P. Audio / video component networking system and method
GB2412524B (en) * 2004-03-24 2010-03-31 Hewlett Packard Development Co Audio/video component networking system and method
US10904624B2 (en) 2005-01-27 2021-01-26 Webtuner Corporation Method and apparatus for generating multiple dynamic user-interactive displays
US8875196B2 (en) 2005-08-13 2014-10-28 Webtuner Corp. System for network and local content access
US8806562B2 (en) 2006-10-27 2014-08-12 Hewlett-Packard Development Company, L.P. Audio/video component networking system and method
US10694256B2 (en) 2007-03-09 2020-06-23 Rovi Technologies Corporation Media content search results ranked by popularity
US9326025B2 (en) 2007-03-09 2016-04-26 Rovi Technologies Corporation Media content search results ranked by popularity
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US9635405B2 (en) 2011-05-17 2017-04-25 Webtuner Corp. System and method for scalable, high accuracy, sensor and ID based audience measurement system based on distributed computing architecture
US9256884B2 (en) 2011-05-24 2016-02-09 Webtuner Corp System and method to increase efficiency and speed of analytics report generation in audience measurement systems
US9021543B2 (en) 2011-05-26 2015-04-28 Webtuner Corporation Highly scalable audience measurement system with client event pre-processing
US9125169B2 (en) 2011-12-23 2015-09-01 Rovi Guides, Inc. Methods and systems for performing actions based on location-based rules

Also Published As

Publication number Publication date
GB0211159D0 (en) 2002-06-26
GB0111850D0 (en) 2001-07-04
GB2377578A (en) 2003-01-15

Similar Documents

Publication Publication Date Title
GB2375674A (en) Virtual Media Channel
US7570870B2 (en) Systems and methods for recording programs of lesser interest when convenient
JP5703254B2 (en) System and method for recording and playing programs having desirable recording attributes
KR100996475B1 (en) Systems and methods for interactive program guides with personal video recording features
US7293280B1 (en) Skimming continuous multimedia content
US8156198B2 (en) Live custom media play lists
US11689768B2 (en) Systems and methods for alerting users of the postponed recording of programs
US20100086277A1 (en) Systems and methods for deleting viewed portions of recorded programs
JP2007520956A (en) Interactive television system with automatic switching from broadcast media to streaming media
JP2015070404A (en) Device and program for program table generation
EP1326437A2 (en) System and method for preparing a tv viewing schedule
JP2009044454A (en) Information providing system, video reproducing apparatus, information providing apparatus, information providing method and program
JP2003319271A (en) Method and device for program reception
JP2003189218A (en) Picture recording and reproducing device
JP2006221693A (en) Content reproducing device, and content reproducing system, method and program
JP2009044442A (en) Video recording apparatus, and video recording reserving method

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)