WO2006015186A2 - System and method for distributed sharing and recording of live-tv - Google Patents

System and method for distributed sharing and recording of live-tv Download PDF

Info

Publication number
WO2006015186A2
WO2006015186A2 PCT/US2005/026919 US2005026919W WO2006015186A2 WO 2006015186 A2 WO2006015186 A2 WO 2006015186A2 US 2005026919 W US2005026919 W US 2005026919W WO 2006015186 A2 WO2006015186 A2 WO 2006015186A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
media
tuner
recorded
user
Prior art date
Application number
PCT/US2005/026919
Other languages
French (fr)
Other versions
WO2006015186B1 (en
WO2006015186A3 (en
Inventor
Rajesh B. Khandelwal
Sathya Narayanan
Dennis Bushmitch
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2007523833A priority Critical patent/JP2008508807A/en
Publication of WO2006015186A2 publication Critical patent/WO2006015186A2/en
Publication of WO2006015186A3 publication Critical patent/WO2006015186A3/en
Publication of WO2006015186B1 publication Critical patent/WO2006015186B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/4263Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific tuning arrangements, e.g. two tuners
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • 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
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital

Definitions

  • the present invention generally relates to a personal video recorder (PVR) that allows users to pause and continue a live TV program, and relates in particular to a multi-room PVR having mechanisms that allow users to watch and switch between multiple "live-TV" programs.
  • PVR personal video recorder
  • Today's Personal Video Records also known as Digital Video Recorders (DVRs) allows a person to record a TV signal, to be watched later. They typically employ digital storage rather than analog tapes for storing media, and one or more tuners and storage can be co-located in a single device.
  • Current DVR's provide "live TV” functionality, including: (1) Pause/Fast forward/Rewind "live” TV; (2) automatic commercial detection and skipping; and (3) recording and playback, but only from the local machine.
  • Today's PVRs are typically stand alone devices or dedicated device combinations, such as a DTV receiver connected to a DVR, or DTV receivers having DVR functionality.
  • a multi-room PVR system is for use with a home network connected to one or more DTV devices having tuner resources for obtaining DTV media and/or memory resources for storing DTV media.
  • a resource manager module is adapted to perceive, access, and control the resources over the home network.
  • a user interface module is adapted to receive user control commands for changing channel of a current program and pausing the current program.
  • a program objects manager module is adapted to allocate tuners for receiving programs and memory for recording programs, and designate a current program among the tuners and memory based on the user control commands.
  • Figures 1-6 are block diagrams illustrating an example of operation of a multi-room PVR in accordance with the present invention
  • Figure 7 is a flow diagram illustrating a method of operation for a virtual PVR in accordance with the present invention.
  • Figures 8A-8C are flow diagrams illustrating a method of operation for a virtual PVR in accordance with the present invention.
  • Figure 9 is a block diagram illustrating a DVR/DTV receiver for use with a virtual PVR system in accordance with the present invention.
  • Figure 10 is a block diagram illustrating a virtual PVR system in accordance with the present invention
  • Figure 11 is a block diagram illustrating a DTV receiver as a
  • Figure 12 is a block diagram illustrating a home networking device in accordance with the present invention.
  • Figure 13 is a network diagram illustrating a DTV receiver integrated with other UPnP devices and control points in accordance with the present invention
  • Figure 14 is a network diagram illustrating a legacy receiver implemented as a UPnP device in accordance with the present invention.
  • Figure 15 is a block diagram illustrating DTV actions and events performed and generated by a DTV device in accordance with the present invention
  • Figure 16 is a network diagram for a method of signaling DTV services stored on removable storage media in accordance with the present invention.
  • Figure 17 is a network diagram illustrating SI data translation in accordance with the present invention.
  • Figure 18 is a block diagram illustrating a DTV-HNF distributed resource manager working in tandem with a local resource manager to keep track of resource allocation status in accordance with the present invention
  • Figure 19 is a block diagram illustrating a local reservation process in accordance with the present invention.
  • Figure 20 is a block diagram illustrating a remote reservation process in accordance with the present invention.
  • Figure 21 is a network diagram illustrating triggers from a broadcast carousel being cached in a datastore for later dispatch by the receiver via broadcast on a home network to appliances in accordance with the present invention
  • Figure 22 is a block diagram illustrating a DTV receiver including a trigger service that operates according to a time service in accordance with the present invention
  • Figure 23 is a block diagram illustrating a content listing service interfacing with an SI manager and a recording manger in accordance with the present invention
  • Figure 24 is a block diagram of the content listing service architecture, including the content listing service employing uniform locators mapped to multiple content sources in accordance with the present invention.
  • a distributed DVR application that: (1) allows multiple simultaneous DVR sessions (multiple "live-tv” sessions); (2) shows current DVR sessions on the screen; (3) allows 1 -click switching between DVR sessions; (4) runs across multiple networked DVRs; (5) manages idle tuners in the network; (6) manages remote recording with local playback of remotely recorded media; and (7) provides visual notification of a state of a paused program affecting whether the paused program is ready to be watched.
  • the visual notification can be an appearance and/or display property of the icon, such as blinking versus steady.
  • the indication of the readiness state of the program can be triggered by various events. For example, it can be triggered by beginning or end of commercial.
  • the trigger can be based on detecting a goal. Additionally, the user can be allowed to instruct the system to persist a previous 15 or 20 seconds worth of data from a time shift buffer as soon as a goal is detected.
  • This functionality can be provided in part by a content analysis engine that feeds into a trigger service. The content analysis engine can detect start of advertisement, end of advertisement, certain text on the screen, certain audio clips, etc.
  • a virtual DVR can use a tuner from one networked device and record media received over it to storage of another device in the network.
  • a 1 -click interface application can keep track of markers for each of the programs being watched and switch between recorded (pseudo-live) channels.
  • the 1 -click interface application can register with a trigger service residing on other devices. As soon as the condition for the trigger is met, the other device can send a notification to this application. The application can then choose to react in any way based on these triggers.
  • Some advantages of the multi-room PVR over previous media recording systems or devices include: (1) allows dynamic use of distributed resourses (e.g., tuner), including dynamic identification of idle tuners in a home network and use of the tuners for recording live TV programs; (2) allows users to watch and switch between multiple, simultaneous live programs without missing any part of them; (3) provides a user interface that facilitates switching between live programs, such as a 1 -click interface that makes operation very fast and easy; and (4) provides visual notification for end of commercial or other triggering events on a recorded program.
  • distributed resourses e.g., tuner
  • the multi-room PVR includes a home network 32 connecting a plurality of DVRs 34A-34C.
  • Each DVR is connected to a media rendering device, such as one or more digital televisions 36A-36C.
  • Each DVR 34A-34C also has a one or more tuners for receiving media, such as DTV services, from one or more broadcast networks.
  • DVR 34A has tuners 38A and 38B, while DVR 34B has tuner 38C, and DVR 34C has tuner 38D.
  • each of the tuners 38A-38D is idle, and each television 36A-36C is turned off. In other words, the television monitors are turned off, while the DVRs are either turned on or on stand-by.
  • a first step of the example commences with the user turning on television 36A.
  • the next idle tuner, tuner 38A is either pre-allocated and already busy, or else allocated at this point and therefore becomes busy.
  • tuner 38A is tuned to a first program, which is designated as a current program and rendered to local television 36A as at 40.
  • the user pauses the current program. This pausing selection causes the current program, the first program received via tuner 38A, to be recorded via a time shift buffer in next available storage, which happens to be local storage 42A of DVR 32A.
  • another local or remote tuner is allocated at this point and dedicated for receiving and recording the paused program, while the local tuner 38A is retained as a primary tuner for channel surfing.
  • the local tuner 38A is dedicated to receiving the paused program at this point, and other local or remote tuners are allocated for channel surfing and further recording of paused programs as those needs arise.
  • Such an embodiment is discussed further below in the present example, and again later with reference to Figures 8A-8C.
  • a second step of the example commences with the user selecting to tune to a second program via tuner 38B.
  • the second program is set as the current program, and is rendered to television 36A at 44.
  • the first program is designated as an Nth paused program, and an icon 46A representing a state of this program is rendered to television 36A in a predetermined size and at a predetermined position.
  • the icon 46A appears as a miniature or thumbnail of the first image in the Nth paused program buffer.
  • a third step of the example commences with the icon 46A changing its appearance once the readiness state of the Nth paused program changes.
  • the initially steady icon 46A can begin blinking once the commercial in the first program ends in order to indicate to the user that the first program is ready to be watched.
  • the user has various options, including: (1) retuning to the first program, thus designating it as the current program; (2) continuing to watch the second program; or (3) tuning to a third program.
  • a fourth step in the example commences with the user pausing the second program and tuning to a third channel.
  • the second program is being recorded via a time shift buffer in next available storage, which still happens to be local storage 42A.
  • the next idle tuner which in this case happens to be tuner 38C, is allocated for viewing a third program arriving over the third channel.
  • the third program is then designated as the current program, while the second program is designated as an (N-1)th paused program.
  • Media content is thus transferred from tuner 38C of DVR 34B over home network 32 to DVR 34A, where it is rendered as primary media content to local television 36A as at 48.
  • icon 46A representing the state of the Nth program, presently the first program, continues to be simultaneously rendered to its first predetermined position. It also continues to blink in order to indicate that the first program is ready to watch.
  • icon 46B representing the state of the (N-1)th paused program, presently the second program, is simultaneously rendered to its second predetermined position. Icon 46B remains steady (i.e., does not blink) in order to indicate that the second program is not yet ready to watch.
  • a fifth step in the example commences with the user pausing the third program and tuning to a fourth channel.
  • the third program is being recorded via a time shift buffer in next available storage, which in this case happens to be storage 42B of DVR 34C.
  • the next idle tuner, tuner 38D of DVR 34C is also allocated at this point for viewing a fourth program arriving over the fourth channel.
  • the third program is then designated as an (N-2)th paused program, the fourth program is designated as the fourth program.
  • the fourth program is transmitted to DVR 34A over home network 32 and rendered to local television 36A as at 50. Icons 46A and 46B continue to be rendered to their first and second predetermined positions.
  • Icon 46B begins to blink in order to indicate that the sate if the second program has changed and is now ready to watch due to the end of commercial. Meanwhile, Icon 46C representing a state of the (N- 2)th paused program is simultaneously rendered to a third predetermined location. Thus concludes the example of operation of the multi-room PVR.
  • a local tuner or a first available tuner can be reserved for channel surfing.
  • the system can allocate an idle tuner and delegate the recording to this secondary tuner as soon as the user pauses the. program. Then, the user continues to use the first or primary tuner for channel surfing.
  • that tuner is committed and starts recording. In this case, in order for the user to be able to channel surf again, another idle tuner has to be allocated. Then, the tuning can be performed remotely and the media streamed over the home network.
  • 1 -click allocation and use of tuner and memory resources can be accomplished in a variety of ways. For example, in the case where a primary tuner is reserved for channel surfing, then pausing the program can result in 1 -click allocation and use of both tuner and memory resources. Also, in the case where a primary tuner is not reserved for channel surfing, then pausing the program results in allocation of memory resources, and use of the allocated memory resources and a previously allocated tuner. Subsequent changing of the channel results in 1 -click allocation of another tuner.
  • a method of operation for a virtual PVR that employs a primary tuner for channel surfing begins at step R1 by designating the primary tuner as the current program.
  • the primary tuner can be a local tuner of the device upon which the virtual PVR is implemented assuming the device has any tuners.
  • the primary tuner can be a tuner that is remote from a device upon which the virtual PVR is implemented. In either case, the primary tuner can be selected based on its proximity to a media rendering device employed by the user.
  • the user starts watching TV on the DTV receiver. If the receiver has a local tuner, then it allocates the local tuner to be the primary tuner. This local tuner is thereafter committed to watching or channel surfing. If the device does not have a local tuner, then an idle tuner is detected and allocated for this purpose. Detection of idle tuners can be accomplished by application querying resource managers on the network for the status of tuners. Resource managers, such as resource manager services, maintain status of tuners as state variables. Resource manager services themselves are discovered by UPnP or other discovery mechanisms.
  • the current program is operated according to user input while the current program is continuously rendered to the user's television. If a remote tuner is being used, then channel changing at step R3 can be accomplished by sending a tuning action to a tuner service of the remote device.
  • the application allocates a next available idle tuner and network storage, begins recording of the program, and designates the time shift buffer as the current program at step R5. Then, the user views and controls the recorded program at step R2.
  • step R3 If the user changes the channel at step R3 while tuned to the recorded program as determined at step R6, then an icon representing the state of the recorded program is rendered to the screen at step R7, the primary tuner is re-designated as the current program at step R1 , and the user resumes viewing and control of a live program from the primary tuner at step R2. Thereafter, if the user changes the channel at step R3 back to a recorded program at step R8, then the buffer for the recorded program is re-designated as the current program at step R9, the icon for the recorded program is no longer displayed to the screen, and the user resumes viewing and control of the recorded program at step R9.
  • Another way that a user can retune to a recorded program is to use a hot button related to the recorded program. Actuation of such a hot button can cause step R9 to occur for its related recorded program.
  • Tuner detection and icon rendering can also occur as continuous, parallel processes. When tuners or memory resources are depleted, the user can be restricted to using the primary tuner to either record or watch live TV. Conflicts for resources in the home network can be resolved by users explicitly releasing resources for one another.
  • the method of operation for the virtual PVR can allocate a current tuner for recording instead of reserving a primary tuner for live TV.
  • the virtual PVR method can start with instantiation of null pointers 52 at system startup, including a current program pointer 54, and N paused program pointers 56A-56C.
  • the number of paused program pointers can be increased as needed.
  • the paused program pointers 56A-56C are hierarchically ordered and assigned screen positions based on icon size in order to ensure their icons do not overlap on the screen of the local television.
  • Screen position and icon size can alternatively or additionally be a function of the number of icons to be displayed on the screen.
  • the icons can be color coded or numbers assigned, so that the user can simply press an appropriate color button or the numeric key in order to accomplish 1 -click operation of returning to view the recorded content as the current program. If the number of icons increase, then numbers can be assigned and displayed at the bottom of the screen. Other techniques can also be deployed
  • a next idle tuner is allocated by removing it from a pool of available tuners and adding it to a pool of allocated tuners.
  • the allocated tuner is tuned to a user selected program at step S4. If the current program pointer is determined to be null at decision step S5, then the current program pointer is set to an object representing the user selected program at step S6.
  • This object can be a collection of data and/or collection of pointers that provides and/or references information and/or components of the program.
  • the program object can have: a field pointing to the tuner receiving the user selected program; a field pointing to a storage location; a field pointing to an icon generated to represent a state of the program; fields specifying user-selected types of triggers, etc..
  • the current program pointer will thereafter be determined at decision step S7 to be not null. Accordingly, the program arriving over the tuner of the object pointee of the current program pointer, the user- selected program, is rendered to the local television as primary media content at step S8. Steps S7 and S8 occur as a parallel process with other steps. Thus, whenever the pointee of the current program pointer changes, the program that is rendered as primary media content will automatically change as well.
  • the user is permitted to operate the tuner designated by the current program pointer at step S9. If it is determined that the user has changed the channel at decision step S10, and if it is determined that the new channel is not the same as one designated by one of the paused program pointers at step S11 , then the channel of the currently designated tuner is simply allowed to change. However, if it is determined at step S11 that the user has selected a channel that is the same as one of the designated paused programs, then the current program pointer is reset at step S12 to designate the paused program in question, and the other, non-null paused program pointers are reset as needed to reorder the designation of the paused programs.
  • the non-null paused program pointer is reset to null.
  • all paused programs lower in the ordered hierarchy than the one that is removed and made current are each moved up in the paused program hierarchy by resetting of the pointers.
  • the lowest hierarchy non-null pointer is reset to null.
  • the user retunes to the paused program by designating it as the current program, and it is played from memory at step S8 (FIG. 8A).
  • the user can also pause the program arriving from the currently designated tuner.
  • next available network storage is allocated and used to record the current program by attaching the time shift buffer at step S14. If it is determined that a channel change is selected by the user while the current program is paused at decision step S15, then it is possible that the user is either returning to a paused program or tuning to a new program. If it is determined that the user is returning to a paused program at step S16, then the current program pointer and paused program pointers are reset as appropriate at step S12. Otherwise, returning now to Figure 8A, processing returns to step S3 with allocation of a next idle tuner and use thereof at step S4.
  • step S5 the current program pointer will be determined at step S5 not to be null, resulting in setting of a next null paused program pointer to the object designated by the current program pointer, followed by setting of the current program pointer to an object representing the new, user selected program arriving over the newly allocated tuner. If at some point there are no idle tuners remaining in step S3 to be allocated, then the user selection to change the channel can be disallowed, and processing can return to step S9 (FIG. 8B).
  • FIG. 8C another parallel process accomplishes co-display with the primary media content of icons indicating statuses of the paused programs.
  • decision step S18 it is first determined at decision step S18, whether the pointer is null. If not, then it is further determined whether an icon for representing the paused program has been generated at decision step S19. If not, then the icon is generated at step S20, for example, by creating a thumbnail of a first image in a memory buffer designated by the paused program pointer for storing the paused program. This icon is stored in a filed of the object representing the paused program.
  • the paused program is ready to be viewed based on detection of end of commercial.
  • the end of commercial can be detected in various ways as readily appreciated by one skilled in the art.
  • the buffer contents can be evaluated to extract and/or evaluate vertical blanking interval contents. If the paused program is not determined to be ready at decision step S21 , then the icon is continuously rendered S22 to the local television screen at a position predefined for the paused program pointer. This process is performed recursively for each paused program pointer in parallel with other processes and with one another. Once the program becomes ready, this readiness is detected at decision step S21 , and then the icon is intermittently rendered at the predetermined position at step S23.
  • the virtual PVR can be implemented as a control point discovering and employing DTV related services implemented on a DVR/DTV receiver 60.
  • the receiver 60 can have a tuner service 62 used for tuning of local tuners 38.
  • the tuning actions can be invoked locally or by remote devices.
  • Resource manager service 64 manages local resources such as tuners 68A, local memory 68B, hard disk 68C, and others 68D such as bandwidth.
  • each device that has resources to be shared runs a resource manager service 64.
  • Content analysis engine 90 matches content against a variety of input conditions that serve as match criteria 92 and sends notifications to trigger service 94 upon a match.
  • Example conditions can be start of advertisement, end of advertisement, George Bush on Screen, goal in soccer game, BMW commercial, etc..
  • Recording service 96 uses time shift buffer 88 and starts recording a program. It also creates bookmarks 98 based on events from content analysis engine 90.
  • a virtual PVR system 58 can be implemented to operate as a control point connected via home network 32 to one or more DTV devices, such as DVR/DVR recorder 60.
  • DVR/DTV receiver 60 (FIG. 10) can be implemented as a UPnP device having various DTV related services, such as a tuner service 62 and a resource manager service 64. These services can expose functionalities of DTV receiver/DVR recorder 60 to other DTV devices on home network 32, such as local tuners 38 and local storage 42. Accordingly, resource manager 66 of virtual PVR can perceive, access, and control resources 68 of DTV receiver/DTV recorder via services 62 and 64.
  • resource manager 66 can perceive, access and control tuners 70 and storage 72 locally on the device hosting the virtual PVR, if any.
  • the virtual PVR can reside on any type of device that can operate as a control point on home network 32, and can be employed to perceive, access, and control resources solely available on other devices.
  • virtual PVR 58 is implemented on another DVR/DTV receiver that also has services that make its resources accessible to other DTV devices on home network 32, which can also act as control points hosting other virtual PVRs. Nevertheless, it is not necessary for resource manager 66 to act as a service in some embodiments of the invention.
  • Tuner manager module 74 of virtual PVR 58 manages all of the available idle tuners on the network 32 for PVR 58. Module 74 can perceive, reserve, and manage tuners on the fly as needs arise. Memory manager module 76 of PVR 58 can similarly manage all of the available storage on the network 32 for PVR 58. Program objects manager module 78 can therefore create program pointers 80 and program objects 82 appropriately. Each program object 82A can record information such as a tuner, media metadata, recorded location, icon, and status.
  • User interface module 84 can interact with program objects manager 78 to operate local and remote tuners, and control in a facilitated manner the recording of paused programs and access of new tuners. Specifically, pausing of a program can result in allocation of memory on the network 32 by memory manager module 76 and attachment of a time shift buffer. Also, changing channel from a currently paused program can result in allocation and use of an idle tuner on the network 32. Returning to a channel of a paused program can result in return to the tuner of the paused program, and re- designation of current and paused programs. Actuation of an interface hot button for a paused program pointer can do the same.
  • Media rendering management module 86 accomplishes co- display of the current program and icons representing states of recorded programs to local television 36.
  • the current program can be received from the tuner or memory designated for the current program, whether locally or over network 32.
  • the icons can be displayed in positions reserved for paused programs so as not to conflict with one another, and have a display property or appearance indicating whether the paused program in question is ready to be viewed.
  • an icon can be a thumbnail image of paused media and can be caused to blink when the program has reached an end of commercial following initial pausing of the program.
  • Media rendering management module can determine whether the recorded program is ready to be viewed based on one or more triggers generated in response to: detection of start of advertisement in the recorded program; detection of end of advertisement in the recorded program; (c) detection of a predefined image in video media of the recorded program; or (d) detection of a predefined sound in audio media of the recorded program.
  • Media rendering management module can permit the user to specify one or more viewing readiness criteria for a recorded program in the form of one or more criteria for generating triggers or one or more triggers.
  • the criteria can be selected for a program based on program type and/or user preferences which can relate to triggers for types of programs.
  • a set of all available trigger types can be presented to a user and the user allowed to select a subset of triggers.
  • the user can define triggers as well, in some embodiments, such as by selecting an image recognition trigger class and uploading an image to be recognized.
  • the icons can additionally have display properties or appearances associating them with hot buttons of a user interface employed by the user.
  • the icon can be displayed to a touch screen of a user's remote control device.
  • a color, number, position, etc. of a button on the user's remote control can be a color, number, position, etc. of the icon.
  • the color, number, position, etc. of the button and icon can be predefined to correspond.
  • the color, number, position, etc. of the button can be discovered from the remote control device and implemented as a part or property of the icon.
  • the DTV receiver 100 can include several services.
  • the receiver 100 can include an EPG content listing service 102, a content display service 104, and a tuner service 106. It can also include a time and stream event service 108, a resource manager service 110, a content recording or duplication service 112, a Diagnostic service 114, and a DRM service 116. Additionally, it can include a playback control service 118 including an AVT service 120, and a content delivery service 122 including a CM service 124.
  • a DTV home networking device 200 such as the DTV receiver, can have a network manager 202 providing registration, discovery, and eventing mechanisms for services described above. These services can include a tuner service 204 as described above, a content delivery service 206, a content display service 208, a playback control service 210, a content rec./dup. service 212, a content management service 214, a DRM service 216, a diagnostic service 218, a resource manager 220, and other services.
  • Technology glue 222 such as UPnP, OSGi, etc.), serves to support the underlying functionality.
  • the DTV receiver 300 can be integrated with other UPnP devices 302A-302C and control points 304 by functioning as both a service and a control point. Services reside on the DTV receiver. The receiver 300 automatically announces its presence, description, allows control, and generates events. It also exports its functionalities by way of various services, such as the tuner service, hard disk service, and EPG service. It further controls other UPnP services, and allows dynamic plug-in and plug-out. [0063] Turning now to Figure 14, a legacy receiver 400 can also be implemented as a UPnP device according to some embodiments of the present invention. The legacy receiver can be operably connected to a PC via an appropriate interface such as Ethernet or USB interface of the legacy DTV receiver.
  • Embodiments of the invention can export services from the legacy system for smooth integration, control other UPnP devices, and allow dynamic plug-in and plug-out.
  • services can have actions, events and state variables. These are generalized and are applicable to all the services mentioned above.
  • Each service mentioned above implements actions and generates events based on its functionality in accordance with UPnP architecture.
  • Each service 502A and 502B on a device 500 also maintains state variables 504A and 504B.
  • An action 506 can be performed on a service, potentially modifying one or more of its state variables. Action examples include: tune an RF receiver; render an MPEG-2 video elementary stream; launch a VOD session, get service information tables, reserve a resource such as a tuner, etc..
  • An event listener 508 is notified of events 510 for which the listener has registered, with events being generated by services, for example, in response to change in their state variables.
  • Event examples include: RF tuning complete; MPEG-2 video elementary stream playout status change; VOD session status change; new DTV service announcement; DTV service status change; new DTV device announcement; DVT device status change; and DTV resources busy or free.
  • the examples of actions, events, and state variables mentioned above are merely exemplary in nature and each service mentioned above can implement more or different actions, events, and state variables based on its functionality.
  • the present invention includes a tuner service that exposes functionalities of a real tuner to other DTV devices [and PCs] on a home network. For example, close captions, vertical blanking interval (VBI) contents, emergency alert messages, channel maps, and/or system information tables can be exposed.
  • VBI vertical blanking interval
  • the virtual tuner thus accomplished can use a real tuner as a source of media, the Internet or similar communications system as a source of media, or storage on the home network as a source of media.
  • the virtual tuner exposes SI (metadata) about broadcast, stored, or other dynamically discovered content.
  • SI metadata
  • the virtual tuner service when a SD card with a DTV service is inserted in an SD interface of the DTV receiver, the virtual tuner service registers that service and makes it available to other devices in the network.
  • content on a DVD disk can be dynamically discovered when the disk is inserted in a DVD drive connected to the home network.
  • the virtual tuner can be logically identical to a real tuner (i.e. supports all the functions supported by a real tuner). It can enable a receiver with both a real tuner and a home networking interface to act as a head-end in the home by exposing tuner functionalities in the home network.
  • the virtual tuner service can accomplish notification of AIT/XAIT, CAS, Emergency Alert, and other bound and unbound applications from storage. Additionally, the service accomplishes SI translation; for example, EPG data can be translated into a known XML format requested by a client.
  • the service discovery protocol to which the tuner service adheres can vary, and can include UPnP, OSGi, and other specified protocols.
  • the device I/F appearance can vary, and can be determined in part by a stylesheet on the DTV device or control point in question. However, some controls that can be provided include controls for switching channels on a real tuner or in recorded content. Thus, the user of the DTV as a control point can interface with the virtual tuner in order to select between real channels, and in order to switch between channels of recorded content.
  • the implementation may also attach a time-shift buffer to enable live-TV transmission to other devices in the home network
  • the virtual tuner service can maintain copy protection for content by observing copy protection data associated with the content and obeying it.
  • content on a disk may be labeled read only, and thus the service can prevent the user from selecting to record the content.
  • the service can observe copy protection data associated with a bound service arriving by broadcast and obey that data.
  • the data can specify that the service can be recorded to one place on the network in an encrypted fashion, with the decryption key being hidden elsewhere on the network by the service. In this case, the user may be allowed to view the content on the home network a given number of times, but not to record or transfer the content.
  • a virtual tuner provided by the tuner service can have various properties. For example, it can record the last time it was tuned. Also, it can attach a time shift buffer. Further, it can store user profiles. Additionally, it can achieve a required metadata format. Still further, it can accomplish encryption and decryption, and engage in or enable encryption/decryption key exchange.
  • the tuner service can employ various actions.
  • the service can have actions for tuning a real tuner. It can also have actions for acquiring and/or assigning a channel number. It can additionally have actions for acquiring or assigning a frequency. It can further have actions for reserving and releasing tuners. It can still further have actions for attaching time shift buffers. Yet further, it can have actions for getting channel maps.
  • the tuner service may also implement and expose functionalities of a point-of-deployment module. Finally, it can have trick-play actions, including play, stop, forward and rewind.
  • the tuner service can have various state variables and events.
  • the service can have the following state variables: current set frequency; current set channel number; and reservation status.
  • the service can have the following events: tuner reserved; tuner released; AIT/XAIT; EAS; MMI/CAS; triggers such as stream events; system time table; start of advertisement; and end of advertisement.
  • the home network can include a cable network 600 connected to a server 602, which is also connected to clients 604A-604D. "Live" services are received from the cable network.
  • An monitor application may bridge or control the sharing between the network with a UPnP AV network.
  • the UPnP AV network can include a UPnP optical drive 606, a UPnP DVD drive 608, and a UPnP CD drive 610, each connected to the server 602 by Ethernet 612. These are UPnP services removable storage devices.
  • Each of the clients 604A-604D can be configured with inexpensive, fixed- frequency RF tuners, as well as other network interfaces, such as 802.11 , 1394, and USB.
  • Server 602 can be configured with multiple RF tuners. SD cards and DVD drives can also be integrated with the server 602 and/or clients 604A-604D.
  • SI data translation can occur according to an XML format requested by a client.
  • DTV terminal 700 connects a home RF network having a DTV terminal 702A and MHP DTV terminal 702B to a home Ethernet network having an MPEG-2 player 704A, laptop computer 704B running a home networking application, and another DTV terminal 704C.
  • the DTV terminal 700 also connects these networks with cable network 706 and XML SI database 708.
  • Broadcast SI data are received from cable network 706, converted to XML, and merged with home network SI data on database 708.
  • XML document type description (DTD) specifies format of merged broadcast/home network SI data.
  • DTV terminal can thus deliver the contents of database 708 to the home RF network and Ethernet network.
  • the home network devices provide home network SI data and, in turn, accept merged XML SI data.
  • XML SI data are converted to an appropriate format before transmission to DTV terminals that cannot ingest XML SI data, such as or DVB- MHP.
  • XML SI data are converted to an appropriate format before transmission to home network devices that cannot ingest XML SI data, such as MPEG-2 tables.
  • Merged SI can include location-resolution information; for example: IP address; TCP/IP or UDP port number; IEEE1394 identifier; and hardware interfaces. Such information is needed when multiple sources provide a common service (e.g., a given media file). This information can be co-located on the DTV terminal or anywhere on the home network
  • Some embodiments of the present include a discoverable soft- tuner/interface service capable of launching remote DTV services. Entries in the SI database marked appropriately to indicate if the application is sharable/stored/local or remote. Applications are selected and launched from the EPG as if the application is local. The service allows launching of live applications from a remote client. In some embodiments, the application is downloaded from the remote client and executed locally. For example, an application can be cached locally and then launched. Alternatively, an application can be launched locally from remote storage. In additional or alternative embodiments, an application is launched on a remote client, with only the screen displayed locally as if the application is running on the local machine.
  • the soft tuner service exposes VOD, I
  • PPV PPV
  • comparable sessions in the same fashion as for standard broadcast and stored DTV services.
  • the service can also allow launching and control of these sessions from EPG (via soft-tuner), potentially spanning multiple DTV terminals.
  • a session can be initiated at a given DTV terminal and then transferred to a second DTV terminal (perhaps in a different room).
  • the soft-tuner service can be implemented as a discoverable UPnP or OSGi service. Alternatively or additionally, it can be implemented as a DTV service with a UPnP or OSGi proxy. Either approach allows clients to select and tune to local or remote services in a seamless fashion. As detailed above, the architecture can bridge a UPnP AV network and a DTV home network. [0079] In some embodiments, the soft tuner service can define new
  • UPnP live, stored
  • OSGi services can be exposed as UPnP or OSGi services.
  • the service can define a new UPnP device template, such as: DTV Services Removable Storage Device; and/or UPnP DTV Tuner Device.
  • the resource manager service of the DTV receiver provides a resource manager that manages local resources such as tuners, bandwidth (in terms of input and output streams per interface and cumulative), graphics device, background device, video device, decoder/JMF, and storage and others. It also allows reservations from a remote device.
  • the service can accomplish priority-based and/or user-profile based allocation. For example, requests originating from the device itself may have the highest priority, while requests originating from a device in a bedroom of a home in which the home network is implemented may have a next-highest priority. Accordingly, requests originating from a device in a basement of the home may have the lowest priority.
  • Such parameters may be set during network administration and may be considered during resource contention resolution.
  • different users registered to the network can have different priorities and can identify themselves by password. The priorities can be stored and accessed on the network in user profiles.
  • the resource manager service Being a discoverable service, the resource manager service provides notifications when resources are idle versus busy by broadcast or based on subscription. In addition to managing local resources, it provides a resource allocation snapshot either distributed and/or available to all interested clients. It further maps DTV resource allocation requests to UPnP/OSGi events and vice-versa. It is envisioned that resources can be allocated for a fixed time, with the resource requestor renewing the resource before the expiration time.
  • DTV-HNF distributed resource manager 1500 works in tandem with local resource manager 1502 to keep track of resource allocation status. Remote allocations allocate resources through distributed RM 1500, which in turn allocates resources with DTV resource manager 1502. Examples of local and remote reservations are detailed with reference to Figure 19 and Figure 20, respectively.
  • a local reservation process begins with DTV application 1600 requesting a resource from resource manager 1502.
  • resource manager 1502 signals the application 1600 that the resource has been successfully reserved.
  • resource manager 1502 notifies distributed resource manager 1500 that the resource is busy.
  • distributed resource manager 1500 notifies devices on the home network 1602 that the resource is busy.
  • a remote reservation process begins with a device on the home network 1602 requesting a resource from distributed resource manager 1500.
  • distributed resource manager 1500 requests the resource from resource manager 1502.
  • resource manager 1600 signals distributed resource manager 1500 that the resource has been successfully reserved.
  • distributed resource manager signals the requesting device on the home network 1602 that the resource has been successfully reserved.
  • DTV application 1600 requests the same resource from resource manager 1502.
  • resource manager 1502 signals DTV application 1600 that the resource is busy. Resource contention is handled by rules (e.g., monitor application).
  • the broadcast time and stream event service of the DTV receiver accomplishes distribution and synchronization of broadcast triggers with devices in the home network.
  • Triggers are mechanisms to synchronize DTV applications with program content. Analog triggers are carried in VBI, while digital triggers can be carried as DSMCC stream event or as a playlist in an alternate channel. Three kinds of triggers are absolute time triggers, relative time triggers, and do it now triggers. Triggers are meant for consumption at the DTV receiver.
  • the invention includes a mechanism to synchronize a real-time clock between the DTV receiver and other home appliances.
  • the invention can include a discoverable, self- describing service, which makes time (time of the day) information available to any requesting entity on the home network.
  • the service description can be provided using XML.
  • the service can be discoverable by using different service discovery protocols (e.g., SSDP).
  • Time information can be extracted from STT and provided as events/actions over a variety of home networking frameworks (e.g., OSGi, UPnP, DENI, and others).
  • Some embodiments can provide a mechanism to extend availability of DSMCC triggers on the home network with time synchronization.
  • the DTV receiver extracts time information from MPEG2 PSI. For example, it converts the time information into XML or other, appropriate formats. It also manages subscription and notification of time of day to network appliances for time synchronization. Home network devices can update themselves with broadcast time extracted from STT by invoking the following actions, wherein GetTime() returns STT time: GetTime(TimeFormatParameter) returns STT converted into other various formats (for instance, GMT).
  • GetTime() returns STT time: GetTime(TimeFormatParameter) returns STT converted into other various formats (for instance, GMT).
  • the service can also pose the "BroadcastTime/SystemTime" evented state variable. Accordingly, all entities that subscribe to this service receive time change events. This can be a moderated state variable in order to decrease the frequency of eventing, for example, if once per second eventing is too frequent.
  • a trigger relay service can be provided.
  • triggers can be extracted as stream events from a broadcast carousel.
  • Triggers can also be converted to XML or other, appropriate formats.
  • Time information can further be synchronized with a broadcast time service.
  • subscription and notification to home appliances can be managed.
  • triggers can be cached for later access, and/or converted to UPnP or OSGi event format.
  • triggers from broadcast carousel 1800 are cached in datastore 1802 for later dispatch by the receiver 1804 via broadcast on the home network 1806 to appliances 1808A-1808C. This procedure enables synchronization of a home appliance with content on DTV, and distributed applications related to the content.
  • DTV receiver 1900 includes a trigger service 1902 that operates according to a time service 1904 and receives events from broadcast carousel 1904.
  • Home appliance 1908 registers for or subscribes to time and trigger information. Thereafter, receiver 1900 sends time information and trigger notifications to home appliance 1908.
  • Trigger notifications can include time information and be in XML format.
  • the content listing service (or EPG service) of the DTV receiver has some similarities to the UPnP CDS, but has extended capabilities. For example, it can import VOD/PPV sessions and exports events. It can also make metadata available from multiple tuners, such as cable and terrestrial tuners. It can further make bandwidth requirements available, along with copy protection rules. Finally, it can provide metadata translations.
  • the content listing service 2000 can interface with an SI manager 2002 and an recording manger 2004, which in turn interface with the application 2006.
  • Content listing service 2000 can exchange subscriptions, notifications, and events with home network 2008.
  • content listing and launching can be a discoverable home network service.
  • it can be a consolidated Java TV service or content listing from sources such as: SI manager for broadcast services; recording manager for stored services via DVR; VOD/PPV sessions; contents stored in removable and/or fixed storage via SD card, hard disk,
  • Metadata can be provided in association with each entry.
  • Metadata information can include various components. For example, it can include metadata in XML format that has been translated form SI data, VOD metadata, TV-AnyTime metadata, and others. Metadata can also contain one or more uniform locators for launching the service in question.
  • Metadata can further specify format, such as SD, HD, audio/video, mp3, and others. Metadata can still further provide an estimate of bandwidth requirements. Metadata can even further specify that a service is XAIT or AIT.
  • Metadata can specify that the service in question is remote launchable.
  • metadata can describe copy protection rules for a content service.
  • the content listing and launching service can monitor removable storage (SD, DVD, CD, etc.) media for content. In this regard, the service can generate notifications.
  • the content listing service architecture can include the content listing service 2100 employing uniform locators 2102 mapped to multiple content sources.
  • Sources can include broadcast content 2104 from SI manager, including tuners 2106, cable, ATSC, etc..
  • Sources can also include stored content 2108, and stored services 2110 from recording manager (DVR), each of which can be stored on hard disk 2112 or on removable storage, such as SD card 2114.
  • DVR recording manager
  • Sources can also include VOD/PPV sessions 2116, the Internet 2118, and multi-player games 2120.
  • a home network is typically envisioned as being deployed in a single family dwelling, it should be readily understood that a home network can be deployed across multiple locations as a virtual private domain, and/or can be deployed in various types of locations, including offices, public places, and vehicles. Further, these virtual domains can be bridged, so that users can share resources across home networks by adding one another to their respective "buddy list” or the like. Such variations are not to be regarded as a departure from the spirit and scope of the invention.

Abstract

A multi-room PVR system is for use with a home network connected to one or more DTV devices having tuner resources for obtaining DTV media and/or memory resources for storing DTV media. A resource manager module is adapted to perceive, access, and control the resources over the home network. A user interface module is adapted to receive user control commands for changing channel of a current program and pausing the current program. A program objects manager module is adapted to allocate tuners for receiving programs and memory for recording programs, and designate a current program among the tuners and memory based on the user control commands.

Description

SYSTEM AND METHOD FOR DISTRIBUTED SHARING AND RECORDING OF LIVE-TV
CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims the benefit of U.S. Provisional
Application No. 60/598,073, filed on July 30, 2004. This application also claims the benefit of U.S. Provisional Application No. 60/607,571 , filed on September 7, 2004. The disclosures of the above applications are incorporated herein by reference in their entirety for any purpose.
FIELD OF THE INVENTION
[0002] The present invention generally relates to a personal video recorder (PVR) that allows users to pause and continue a live TV program, and relates in particular to a multi-room PVR having mechanisms that allow users to watch and switch between multiple "live-TV" programs.
BACKGROUND OF THE INVENTION
[0003] Today's Personal Video Records (PVRs), also known as Digital Video Recorders (DVRs) allows a person to record a TV signal, to be watched later. They typically employ digital storage rather than analog tapes for storing media, and one or more tuners and storage can be co-located in a single device. Current DVR's provide "live TV" functionality, including: (1) Pause/Fast forward/Rewind "live" TV; (2) automatic commercial detection and skipping; and (3) recording and playback, but only from the local machine. [0004] Today's PVRs are typically stand alone devices or dedicated device combinations, such as a DTV receiver connected to a DVR, or DTV receivers having DVR functionality. However, today's DTV receivers are not able to function as UPnP devices that expose their functionalities relating to DTV services. Thus, today's DTV receivers are not designed so that they can be networked with one another to share functionality. SUMMARY OF THE INVENTION
[0005] In accordance with the present invention, a multi-room PVR system is for use with a home network connected to one or more DTV devices having tuner resources for obtaining DTV media and/or memory resources for storing DTV media. A resource manager module is adapted to perceive, access, and control the resources over the home network. A user interface module is adapted to receive user control commands for changing channel of a current program and pausing the current program. A program objects manager module is adapted to allocate tuners for receiving programs and memory for recording programs, and designate a current program among the tuners and memory based on the user control commands.
[0006] Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter.. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: [0008] Figures 1-6 are block diagrams illustrating an example of operation of a multi-room PVR in accordance with the present invention;
[0009] Figure 7 is a flow diagram illustrating a method of operation for a virtual PVR in accordance with the present invention;
[0010] Figures 8A-8C are flow diagrams illustrating a method of operation for a virtual PVR in accordance with the present invention;
[0011] Figure 9 is a block diagram illustrating a DVR/DTV receiver for use with a virtual PVR system in accordance with the present invention;
[0012] Figure 10 is a block diagram illustrating a virtual PVR system in accordance with the present invention; [0013] Figure 11 is a block diagram illustrating a DTV receiver as a
UPnP device in accordance with the present invention; [0014] Figure 12 is a block diagram illustrating a home networking device in accordance with the present invention;
[0015] Figure 13 is a network diagram illustrating a DTV receiver integrated with other UPnP devices and control points in accordance with the present invention;
[0016] Figure 14 is a network diagram illustrating a legacy receiver implemented as a UPnP device in accordance with the present invention;
[0017] Figure 15 is a block diagram illustrating DTV actions and events performed and generated by a DTV device in accordance with the present invention;
[0018] Figure 16 is a network diagram for a method of signaling DTV services stored on removable storage media in accordance with the present invention;
[0019] Figure 17 is a network diagram illustrating SI data translation in accordance with the present invention;
[0020] Figure 18 is a block diagram illustrating a DTV-HNF distributed resource manager working in tandem with a local resource manager to keep track of resource allocation status in accordance with the present invention;
[0021] Figure 19 is a block diagram illustrating a local reservation process in accordance with the present invention;
[0022] Figure 20 is a block diagram illustrating a remote reservation process in accordance with the present invention;
[0023] Figure 21 is a network diagram illustrating triggers from a broadcast carousel being cached in a datastore for later dispatch by the receiver via broadcast on a home network to appliances in accordance with the present invention;
[0024] Figure 22 is a block diagram illustrating a DTV receiver including a trigger service that operates according to a time service in accordance with the present invention; [0025] Figure 23 is a block diagram illustrating a content listing service interfacing with an SI manager and a recording manger in accordance with the present invention; and [0026] Figure 24 is a block diagram of the content listing service architecture, including the content listing service employing uniform locators mapped to multiple content sources in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0027] The following description of the preferred embodiments is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
[0028] What is proposed is a distributed DVR application that: (1) allows multiple simultaneous DVR sessions (multiple "live-tv" sessions); (2) shows current DVR sessions on the screen; (3) allows 1 -click switching between DVR sessions; (4) runs across multiple networked DVRs; (5) manages idle tuners in the network; (6) manages remote recording with local playback of remotely recorded media; and (7) provides visual notification of a state of a paused program affecting whether the paused program is ready to be watched. The visual notification can be an appearance and/or display property of the icon, such as blinking versus steady. The indication of the readiness state of the program can be triggered by various events. For example, it can be triggered by beginning or end of commercial. Also, in a soccer game, the trigger can be based on detecting a goal. Additionally, the user can be allowed to instruct the system to persist a previous 15 or 20 seconds worth of data from a time shift buffer as soon as a goal is detected. This functionality can be provided in part by a content analysis engine that feeds into a trigger service. The content analysis engine can detect start of advertisement, end of advertisement, certain text on the screen, certain audio clips, etc.
[0029] A virtual DVR can use a tuner from one networked device and record media received over it to storage of another device in the network. In some embodiments, a 1 -click interface application can keep track of markers for each of the programs being watched and switch between recorded (pseudo-live) channels. In additional or alternative embodiments, the 1 -click interface application can register with a trigger service residing on other devices. As soon as the condition for the trigger is met, the other device can send a notification to this application. The application can then choose to react in any way based on these triggers.
[0030] Some advantages of the multi-room PVR over previous media recording systems or devices include: (1) allows dynamic use of distributed resourses (e.g., tuner), including dynamic identification of idle tuners in a home network and use of the tuners for recording live TV programs; (2) allows users to watch and switch between multiple, simultaneous live programs without missing any part of them; (3) provides a user interface that facilitates switching between live programs, such as a 1 -click interface that makes operation very fast and easy; and (4) provides visual notification for end of commercial or other triggering events on a recorded program.
[0031] Turning now to Figures 1-6, an example of operation of a multi- room PVR is provided. Referring to Figure 1 , the multi-room PVR includes a home network 32 connecting a plurality of DVRs 34A-34C. Each DVR is connected to a media rendering device, such as one or more digital televisions 36A-36C. Each DVR 34A-34C also has a one or more tuners for receiving media, such as DTV services, from one or more broadcast networks. For example, DVR 34A has tuners 38A and 38B, while DVR 34B has tuner 38C, and DVR 34C has tuner 38D. At the beginning of the illustrated example of operation, each of the tuners 38A-38D is idle, and each television 36A-36C is turned off. In other words, the television monitors are turned off, while the DVRs are either turned on or on stand-by.
[0032] Turning now to Figure 2, a first step of the example commences with the user turning on television 36A. The next idle tuner, tuner 38A, is either pre-allocated and already busy, or else allocated at this point and therefore becomes busy. In ether case, tuner 38A is tuned to a first program, which is designated as a current program and rendered to local television 36A as at 40. Then, at the start of a commercial, the user pauses the current program. This pausing selection causes the current program, the first program received via tuner 38A, to be recorded via a time shift buffer in next available storage, which happens to be local storage 42A of DVR 32A. In some embodiments, another local or remote tuner is allocated at this point and dedicated for receiving and recording the paused program, while the local tuner 38A is retained as a primary tuner for channel surfing. Such an embodiment is discussed below with respect to Figure 7. In other embodiments, the local tuner 38A is dedicated to receiving the paused program at this point, and other local or remote tuners are allocated for channel surfing and further recording of paused programs as those needs arise. Such an embodiment is discussed further below in the present example, and again later with reference to Figures 8A-8C.
[0033] Turning now to Figure 3, a second step of the example commences with the user selecting to tune to a second program via tuner 38B. Accordingly, the second program is set as the current program, and is rendered to television 36A at 44. Also, the first program is designated as an Nth paused program, and an icon 46A representing a state of this program is rendered to television 36A in a predetermined size and at a predetermined position. Preferably, the icon 46A appears as a miniature or thumbnail of the first image in the Nth paused program buffer.
[0034] Turning now to Figure 4, a third step of the example commences with the icon 46A changing its appearance once the readiness state of the Nth paused program changes. For example, the initially steady icon 46A can begin blinking once the commercial in the first program ends in order to indicate to the user that the first program is ready to be watched. At this point in the example, the user has various options, including: (1) retuning to the first program, thus designating it as the current program; (2) continuing to watch the second program; or (3) tuning to a third program.
[0035] Turning now to Figure 5, a fourth step in the example commences with the user pausing the second program and tuning to a third channel. At this point, the second program is being recorded via a time shift buffer in next available storage, which still happens to be local storage 42A. The next idle tuner, which in this case happens to be tuner 38C, is allocated for viewing a third program arriving over the third channel. The third program is then designated as the current program, while the second program is designated as an (N-1)th paused program. Media content is thus transferred from tuner 38C of DVR 34B over home network 32 to DVR 34A, where it is rendered as primary media content to local television 36A as at 48. Also, icon 46A, representing the state of the Nth program, presently the first program, continues to be simultaneously rendered to its first predetermined position. It also continues to blink in order to indicate that the first program is ready to watch. Meanwhile, icon 46B representing the state of the (N-1)th paused program, presently the second program, is simultaneously rendered to its second predetermined position. Icon 46B remains steady (i.e., does not blink) in order to indicate that the second program is not yet ready to watch.
[0036] Turning now to Figure 6, a fifth step in the example commences with the user pausing the third program and tuning to a fourth channel. At this point in the example, the third program is being recorded via a time shift buffer in next available storage, which in this case happens to be storage 42B of DVR 34C. The next idle tuner, tuner 38D of DVR 34C, is also allocated at this point for viewing a fourth program arriving over the fourth channel. The third program is then designated as an (N-2)th paused program, the fourth program is designated as the fourth program. Thus, the fourth program is transmitted to DVR 34A over home network 32 and rendered to local television 36A as at 50. Icons 46A and 46B continue to be rendered to their first and second predetermined positions. Icon 46B, however, begins to blink in order to indicate that the sate if the second program has changed and is now ready to watch due to the end of commercial. Meanwhile, Icon 46C representing a state of the (N- 2)th paused program is simultaneously rendered to a third predetermined location. Thus concludes the example of operation of the multi-room PVR.
[0037] As mentioned above, there are various ways in which user operation of the multi-room PVR can affect allocation and use of memory and tuner resources on the network according to various embodiments of the invention. For example, a local tuner or a first available tuner can be reserved for channel surfing. In this case, the system can allocate an idle tuner and delegate the recording to this secondary tuner as soon as the user pauses the. program. Then, the user continues to use the first or primary tuner for channel surfing. In an additional or alternative embodiment, as soon as the user pauses the program, that tuner is committed and starts recording. In this case, in order for the user to be able to channel surf again, another idle tuner has to be allocated. Then, the tuning can be performed remotely and the media streamed over the home network.
[0038] In either case, it is preferable that channel surfing does not necessarily commit the resources. Accordingly, 1 -click allocation and use of tuner and memory resources can be accomplished in a variety of ways. For example, in the case where a primary tuner is reserved for channel surfing, then pausing the program can result in 1 -click allocation and use of both tuner and memory resources. Also, in the case where a primary tuner is not reserved for channel surfing, then pausing the program results in allocation of memory resources, and use of the allocated memory resources and a previously allocated tuner. Subsequent changing of the channel results in 1 -click allocation of another tuner.
[0039] Turning now to Figure 7, a method of operation for a virtual PVR that employs a primary tuner for channel surfing begins at step R1 by designating the primary tuner as the current program. The primary tuner can be a local tuner of the device upon which the virtual PVR is implemented assuming the device has any tuners. Alternatively or additionally, the primary tuner can be a tuner that is remote from a device upon which the virtual PVR is implemented. In either case, the primary tuner can be selected based on its proximity to a media rendering device employed by the user. Alternatively or additionally, it can be selected based on statistics indicating that it is more likely than other tuners in the network to be idle in the immediate future based upon previous usage history per time of day, day of week, week of year, etc.. Preferably, the user starts watching TV on the DTV receiver. If the receiver has a local tuner, then it allocates the local tuner to be the primary tuner. This local tuner is thereafter committed to watching or channel surfing. If the device does not have a local tuner, then an idle tuner is detected and allocated for this purpose. Detection of idle tuners can be accomplished by application querying resource managers on the network for the status of tuners. Resource managers, such as resource manager services, maintain status of tuners as state variables. Resource manager services themselves are discovered by UPnP or other discovery mechanisms.
[0040] At step R2, the current program is operated according to user input while the current program is continuously rendered to the user's television. If a remote tuner is being used, then channel changing at step R3 can be accomplished by sending a tuning action to a tuner service of the remote device. When the user pauses a live program at steps R4 and R10, then the application allocates a next available idle tuner and network storage, begins recording of the program, and designates the time shift buffer as the current program at step R5. Then, the user views and controls the recorded program at step R2.
[0041] If the user changes the channel at step R3 while tuned to the recorded program as determined at step R6, then an icon representing the state of the recorded program is rendered to the screen at step R7, the primary tuner is re-designated as the current program at step R1 , and the user resumes viewing and control of a live program from the primary tuner at step R2. Thereafter, if the user changes the channel at step R3 back to a recorded program at step R8, then the buffer for the recorded program is re-designated as the current program at step R9, the icon for the recorded program is no longer displayed to the screen, and the user resumes viewing and control of the recorded program at step R9. Another way that a user can retune to a recorded program is to use a hot button related to the recorded program. Actuation of such a hot button can cause step R9 to occur for its related recorded program.
[0042] If the user pauses a live program at step R4 while the primary tuner is designated as the current program as determined at step R10, then another idle tuner and memory are allocated to record that program at step R5, the buffer is designated as the current program, and the user begins viewing and controlling that recorded program at step R2. Henceforth, the user could tune back to live TV, resulting in two icons representing states of the recorded programs being rendered to the screen. [0043] Tuner detection and icon rendering can also occur as continuous, parallel processes. When tuners or memory resources are depleted, the user can be restricted to using the primary tuner to either record or watch live TV. Conflicts for resources in the home network can be resolved by users explicitly releasing resources for one another. Alternatively or additionally, devices and/or users can be assigned different priorities, and the conflicts can be resolved automatically. [0044] According to additional or alternative embodiments, the method of operation for the virtual PVR can allocate a current tuner for recording instead of reserving a primary tuner for live TV. Turning now to Figure 8A, the virtual PVR method according to some embodiments of the present invention can start with instantiation of null pointers 52 at system startup, including a current program pointer 54, and N paused program pointers 56A-56C. The number of paused program pointers can be increased as needed. The paused program pointers 56A-56C are hierarchically ordered and assigned screen positions based on icon size in order to ensure their icons do not overlap on the screen of the local television. [0045] Screen position and icon size can alternatively or additionally be a function of the number of icons to be displayed on the screen. The icons can be color coded or numbers assigned, so that the user can simply press an appropriate color button or the numeric key in order to accomplish 1 -click operation of returning to view the recorded content as the current program. If the number of icons increase, then numbers can be assigned and displayed at the bottom of the screen. Other techniques can also be deployed
[0046] At step S3, a next idle tuner is allocated by removing it from a pool of available tuners and adding it to a pool of allocated tuners. The allocated tuner is tuned to a user selected program at step S4. If the current program pointer is determined to be null at decision step S5, then the current program pointer is set to an object representing the user selected program at step S6. This object can be a collection of data and/or collection of pointers that provides and/or references information and/or components of the program. For example, the program object can have: a field pointing to the tuner receiving the user selected program; a field pointing to a storage location; a field pointing to an icon generated to represent a state of the program; fields specifying user-selected types of triggers, etc.. At this point, the current program pointer will thereafter be determined at decision step S7 to be not null. Accordingly, the program arriving over the tuner of the object pointee of the current program pointer, the user- selected program, is rendered to the local television as primary media content at step S8. Steps S7 and S8 occur as a parallel process with other steps. Thus, whenever the pointee of the current program pointer changes, the program that is rendered as primary media content will automatically change as well.
[0047] Turning now to Figure 8B, the user is permitted to operate the tuner designated by the current program pointer at step S9. If it is determined that the user has changed the channel at decision step S10, and if it is determined that the new channel is not the same as one designated by one of the paused program pointers at step S11 , then the channel of the currently designated tuner is simply allowed to change. However, if it is determined at step S11 that the user has selected a channel that is the same as one of the designated paused programs, then the current program pointer is reset at step S12 to designate the paused program in question, and the other, non-null paused program pointers are reset as needed to reorder the designation of the paused programs. For example, if there is only one paused program, then the non-null paused program pointer is reset to null. However, if there is more than one paused program, then all paused programs lower in the ordered hierarchy than the one that is removed and made current are each moved up in the paused program hierarchy by resetting of the pointers. The lowest hierarchy non-null pointer is reset to null. Thus, the user retunes to the paused program by designating it as the current program, and it is played from memory at step S8 (FIG. 8A). [0048] Returning to Figure 8B, the user can also pause the program arriving from the currently designated tuner. If it is determined at decision step S13 that the user has paused the current program, then next available network storage is allocated and used to record the current program by attaching the time shift buffer at step S14. If it is determined that a channel change is selected by the user while the current program is paused at decision step S15, then it is possible that the user is either returning to a paused program or tuning to a new program. If it is determined that the user is returning to a paused program at step S16, then the current program pointer and paused program pointers are reset as appropriate at step S12. Otherwise, returning now to Figure 8A, processing returns to step S3 with allocation of a next idle tuner and use thereof at step S4. Thereafter, the current program pointer will be determined at step S5 not to be null, resulting in setting of a next null paused program pointer to the object designated by the current program pointer, followed by setting of the current program pointer to an object representing the new, user selected program arriving over the newly allocated tuner. If at some point there are no idle tuners remaining in step S3 to be allocated, then the user selection to change the channel can be disallowed, and processing can return to step S9 (FIG. 8B).
[0049] Turning now to Figure 8C, another parallel process accomplishes co-display with the primary media content of icons indicating statuses of the paused programs. For each paused program pointer, it is first determined at decision step S18, whether the pointer is null. If not, then it is further determined whether an icon for representing the paused program has been generated at decision step S19. If not, then the icon is generated at step S20, for example, by creating a thumbnail of a first image in a memory buffer designated by the paused program pointer for storing the paused program. This icon is stored in a filed of the object representing the paused program. Next, it is determined at decision step S21 whether the paused program is ready to be viewed based on detection of end of commercial. The end of commercial can be detected in various ways as readily appreciated by one skilled in the art. For example, the buffer contents can be evaluated to extract and/or evaluate vertical blanking interval contents. If the paused program is not determined to be ready at decision step S21 , then the icon is continuously rendered S22 to the local television screen at a position predefined for the paused program pointer. This process is performed recursively for each paused program pointer in parallel with other processes and with one another. Once the program becomes ready, this readiness is detected at decision step S21 , and then the icon is intermittently rendered at the predetermined position at step S23. [0050] It should be readily understood that aspects of the methods of operation described above can be combined in various ways. For example, the methods can be altered. Alternatively or additionally, the methods can be implemented as different modes of operation that a user can employ. [0051] Turning now to Figure 9, according to some embodiments of the present invention, the virtual PVR can be implemented as a control point discovering and employing DTV related services implemented on a DVR/DTV receiver 60. The receiver 60 can have a tuner service 62 used for tuning of local tuners 38. The tuning actions can be invoked locally or by remote devices. Resource manager service 64 manages local resources such as tuners 68A, local memory 68B, hard disk 68C, and others 68D such as bandwidth. In some embodiments, each device that has resources to be shared runs a resource manager service 64.
[0052] Content analysis engine 90 matches content against a variety of input conditions that serve as match criteria 92 and sends notifications to trigger service 94 upon a match. Example conditions can be start of advertisement, end of advertisement, George Bush on Screen, goal in soccer game, BMW commercial, etc.. Recording service 96 uses time shift buffer 88 and starts recording a program. It also creates bookmarks 98 based on events from content analysis engine 90.
[0053] Turning now to Figure 10, a virtual PVR system 58 can be implemented to operate as a control point connected via home network 32 to one or more DTV devices, such as DVR/DVR recorder 60. As further explained below with reference to Figures 10-24, DVR/DTV receiver 60 (FIG. 10) can be implemented as a UPnP device having various DTV related services, such as a tuner service 62 and a resource manager service 64. These services can expose functionalities of DTV receiver/DVR recorder 60 to other DTV devices on home network 32, such as local tuners 38 and local storage 42. Accordingly, resource manager 66 of virtual PVR can perceive, access, and control resources 68 of DTV receiver/DTV recorder via services 62 and 64. Additionally, resource manager 66 can perceive, access and control tuners 70 and storage 72 locally on the device hosting the virtual PVR, if any. [0054] It should be readily understood that the virtual PVR can reside on any type of device that can operate as a control point on home network 32, and can be employed to perceive, access, and control resources solely available on other devices. Preferably, virtual PVR 58 is implemented on another DVR/DTV receiver that also has services that make its resources accessible to other DTV devices on home network 32, which can also act as control points hosting other virtual PVRs. Nevertheless, it is not necessary for resource manager 66 to act as a service in some embodiments of the invention.
[0055] Tuner manager module 74 of virtual PVR 58 manages all of the available idle tuners on the network 32 for PVR 58. Module 74 can perceive, reserve, and manage tuners on the fly as needs arise. Memory manager module 76 of PVR 58 can similarly manage all of the available storage on the network 32 for PVR 58. Program objects manager module 78 can therefore create program pointers 80 and program objects 82 appropriately. Each program object 82A can record information such as a tuner, media metadata, recorded location, icon, and status.
[0056] User interface module 84 can interact with program objects manager 78 to operate local and remote tuners, and control in a facilitated manner the recording of paused programs and access of new tuners. Specifically, pausing of a program can result in allocation of memory on the network 32 by memory manager module 76 and attachment of a time shift buffer. Also, changing channel from a currently paused program can result in allocation and use of an idle tuner on the network 32. Returning to a channel of a paused program can result in return to the tuner of the paused program, and re- designation of current and paused programs. Actuation of an interface hot button for a paused program pointer can do the same.
[0057] Media rendering management module 86 accomplishes co- display of the current program and icons representing states of recorded programs to local television 36. The current program can be received from the tuner or memory designated for the current program, whether locally or over network 32. The icons can be displayed in positions reserved for paused programs so as not to conflict with one another, and have a display property or appearance indicating whether the paused program in question is ready to be viewed. For example, an icon can be a thumbnail image of paused media and can be caused to blink when the program has reached an end of commercial following initial pausing of the program. [0058] Media rendering management module can determine whether the recorded program is ready to be viewed based on one or more triggers generated in response to: detection of start of advertisement in the recorded program; detection of end of advertisement in the recorded program; (c) detection of a predefined image in video media of the recorded program; or (d) detection of a predefined sound in audio media of the recorded program. Media rendering management module can permit the user to specify one or more viewing readiness criteria for a recorded program in the form of one or more criteria for generating triggers or one or more triggers. In some embodiments, the criteria can be selected for a program based on program type and/or user preferences which can relate to triggers for types of programs. A set of all available trigger types can be presented to a user and the user allowed to select a subset of triggers. The user can define triggers as well, in some embodiments, such as by selecting an image recognition trigger class and uploading an image to be recognized. [0059] The icons can additionally have display properties or appearances associating them with hot buttons of a user interface employed by the user. For example, the icon can be displayed to a touch screen of a user's remote control device. Alternatively, a color, number, position, etc. of a button on the user's remote control can be a color, number, position, etc. of the icon. The color, number, position, etc. of the button and icon can be predefined to correspond. Alternatively or additionally, the color, number, position, etc. of the button can be discovered from the remote control device and implemented as a part or property of the icon.
[0060] As mentioned above, some embodiments of the present invention include or operate with one or more DTV receivers that can be implemented as a UPnP device to allow organized selection and delivery of available media content streams to devices connected to the network on which the DTV receiver resides. Turning now to Figure 11 , the DTV receiver 100 as a UPnP device can include several services. For example, the receiver 100 can include an EPG content listing service 102, a content display service 104, and a tuner service 106. It can also include a time and stream event service 108, a resource manager service 110, a content recording or duplication service 112, a Diagnostic service 114, and a DRM service 116. Additionally, it can include a playback control service 118 including an AVT service 120, and a content delivery service 122 including a CM service 124.
[0061] Turning now to Figure 12, a DTV home networking device 200, such as the DTV receiver, can have a network manager 202 providing registration, discovery, and eventing mechanisms for services described above. These services can include a tuner service 204 as described above, a content delivery service 206, a content display service 208, a playback control service 210, a content rec./dup. service 212, a content management service 214, a DRM service 216, a diagnostic service 218, a resource manager 220, and other services. Technology glue 222, such as UPnP, OSGi, etc.), serves to support the underlying functionality.
[0062] Turning now to Figure 13, the DTV receiver 300 can be integrated with other UPnP devices 302A-302C and control points 304 by functioning as both a service and a control point. Services reside on the DTV receiver. The receiver 300 automatically announces its presence, description, allows control, and generates events. It also exports its functionalities by way of various services, such as the tuner service, hard disk service, and EPG service. It further controls other UPnP services, and allows dynamic plug-in and plug-out. [0063] Turning now to Figure 14, a legacy receiver 400 can also be implemented as a UPnP device according to some embodiments of the present invention. The legacy receiver can be operably connected to a PC via an appropriate interface such as Ethernet or USB interface of the legacy DTV receiver. Service can be deployed and therefore reside on the PC as proxy services. Again, the legacy receiver is adapted by configuration with the proxy services to automatically announce its presence, description, allow control, and generate events. Embodiments of the invention can export services from the legacy system for smooth integration, control other UPnP devices, and allow dynamic plug-in and plug-out.
[0064] Turning now to Figure 15, services can have actions, events and state variables. These are generalized and are applicable to all the services mentioned above. Each service mentioned above implements actions and generates events based on its functionality in accordance with UPnP architecture. Each service 502A and 502B on a device 500 also maintains state variables 504A and 504B. An action 506 can be performed on a service, potentially modifying one or more of its state variables. Action examples include: tune an RF receiver; render an MPEG-2 video elementary stream; launch a VOD session, get service information tables, reserve a resource such as a tuner, etc.. An event listener 508 is notified of events 510 for which the listener has registered, with events being generated by services, for example, in response to change in their state variables. Event examples include: RF tuning complete; MPEG-2 video elementary stream playout status change; VOD session status change; new DTV service announcement; DTV service status change; new DTV device announcement; DVT device status change; and DTV resources busy or free. The examples of actions, events, and state variables mentioned above are merely exemplary in nature and each service mentioned above can implement more or different actions, events, and state variables based on its functionality.
[0065] According to some embodiments, the present invention includes a tuner service that exposes functionalities of a real tuner to other DTV devices [and PCs] on a home network. For example, close captions, vertical blanking interval (VBI) contents, emergency alert messages, channel maps, and/or system information tables can be exposed. The virtual tuner thus accomplished can use a real tuner as a source of media, the Internet or similar communications system as a source of media, or storage on the home network as a source of media. Thus, the virtual tuner exposes SI (metadata) about broadcast, stored, or other dynamically discovered content. [0066] Dynamically discovered content is dynamically discovered when a datastore containing media is operably connected to the home network. For example, when a SD card with a DTV service is inserted in an SD interface of the DTV receiver, the virtual tuner service registers that service and makes it available to other devices in the network. As another example, content on a DVD disk can be dynamically discovered when the disk is inserted in a DVD drive connected to the home network. [0067] In some embodiments, the virtual tuner can be logically identical to a real tuner (i.e. supports all the functions supported by a real tuner). It can enable a receiver with both a real tuner and a home networking interface to act as a head-end in the home by exposing tuner functionalities in the home network. Accordingly the virtual tuner service can accomplish notification of AIT/XAIT, CAS, Emergency Alert, and other bound and unbound applications from storage. Additionally, the service accomplishes SI translation; for example, EPG data can be translated into a known XML format requested by a client. Further, the service discovery protocol to which the tuner service adheres can vary, and can include UPnP, OSGi, and other specified protocols. [0068] The device I/F appearance can vary, and can be determined in part by a stylesheet on the DTV device or control point in question. However, some controls that can be provided include controls for switching channels on a real tuner or in recorded content. Thus, the user of the DTV as a control point can interface with the virtual tuner in order to select between real channels, and in order to switch between channels of recorded content. The implementation may also attach a time-shift buffer to enable live-TV transmission to other devices in the home network
[0069] In some embodiments, the virtual tuner service can maintain copy protection for content by observing copy protection data associated with the content and obeying it. For example, content on a disk may be labeled read only, and thus the service can prevent the user from selecting to record the content. Similarly, the service can observe copy protection data associated with a bound service arriving by broadcast and obey that data. As an example, the data can specify that the service can be recorded to one place on the network in an encrypted fashion, with the decryption key being hidden elsewhere on the network by the service. In this case, the user may be allowed to view the content on the home network a given number of times, but not to record or transfer the content.
[0070] A virtual tuner provided by the tuner service can have various properties. For example, it can record the last time it was tuned. Also, it can attach a time shift buffer. Further, it can store user profiles. Additionally, it can achieve a required metadata format. Still further, it can accomplish encryption and decryption, and engage in or enable encryption/decryption key exchange.
Finally, it can accomplish tuner reservation and notification of tuner availability.
[0071] The tuner service can employ various actions. For example, the service can have actions for tuning a real tuner. It can also have actions for acquiring and/or assigning a channel number. It can additionally have actions for acquiring or assigning a frequency. It can further have actions for reserving and releasing tuners. It can still further have actions for attaching time shift buffers. Yet further, it can have actions for getting channel maps. The tuner service may also implement and expose functionalities of a point-of-deployment module. Finally, it can have trick-play actions, including play, stop, forward and rewind.
[0072] The tuner service can have various state variables and events. For example, the service can have the following state variables: current set frequency; current set channel number; and reservation status. Additionally, the service can have the following events: tuner reserved; tuner released; AIT/XAIT; EAS; MMI/CAS; triggers such as stream events; system time table; start of advertisement; and end of advertisement.
[0073] Turning now to Figure 16, a network diagram for a method of signaling DTV services stored on removable storage media is shown. It should be noted that the ideas presented in this invention can be implemented with or without DTV middleware running on these devices. The home network can include a cable network 600 connected to a server 602, which is also connected to clients 604A-604D. "Live" services are received from the cable network. An monitor application may bridge or control the sharing between the network with a UPnP AV network. The UPnP AV network can include a UPnP optical drive 606, a UPnP DVD drive 608, and a UPnP CD drive 610, each connected to the server 602 by Ethernet 612. These are UPnP services removable storage devices. Each of the clients 604A-604D can be configured with inexpensive, fixed- frequency RF tuners, as well as other network interfaces, such as 802.11 , 1394, and USB. Server 602 can be configured with multiple RF tuners. SD cards and DVD drives can also be integrated with the server 602 and/or clients 604A-604D. [0074] Turning now to Figure 17, SI data translation can occur according to an XML format requested by a client. DTV terminal 700 connects a home RF network having a DTV terminal 702A and MHP DTV terminal 702B to a home Ethernet network having an MPEG-2 player 704A, laptop computer 704B running a home networking application, and another DTV terminal 704C. The DTV terminal 700 also connects these networks with cable network 706 and XML SI database 708. Broadcast SI data are received from cable network 706, converted to XML, and merged with home network SI data on database 708. XML document type description (DTD) specifies format of merged broadcast/home network SI data. DTV terminal can thus deliver the contents of database 708 to the home RF network and Ethernet network. The home network devices provide home network SI data and, in turn, accept merged XML SI data. XML SI data are converted to an appropriate format before transmission to DTV terminals that cannot ingest XML SI data, such as or DVB- MHP. Similarly, XML SI data are converted to an appropriate format before transmission to home network devices that cannot ingest XML SI data, such as MPEG-2 tables.
[0075] Merged SI can include location-resolution information; for example: IP address; TCP/IP or UDP port number; IEEE1394 identifier; and hardware interfaces. Such information is needed when multiple sources provide a common service (e.g., a given media file). This information can be co-located on the DTV terminal or anywhere on the home network
[0076] Some embodiments of the present include a discoverable soft- tuner/interface service capable of launching remote DTV services. Entries in the SI database marked appropriately to indicate if the application is sharable/stored/local or remote. Applications are selected and launched from the EPG as if the application is local. The service allows launching of live applications from a remote client. In some embodiments, the application is downloaded from the remote client and executed locally. For example, an application can be cached locally and then launched. Alternatively, an application can be launched locally from remote storage. In additional or alternative embodiments, an application is launched on a remote client, with only the screen displayed locally as if the application is running on the local machine.
[0077] In some embodiments, the soft tuner service exposes VOD, I
PPV, and comparable sessions in the same fashion as for standard broadcast and stored DTV services. The service can also allow launching and control of these sessions from EPG (via soft-tuner), potentially spanning multiple DTV terminals. In some embodiments, a session can be initiated at a given DTV terminal and then transferred to a second DTV terminal (perhaps in a different room).
[0078] The soft-tuner service can be implemented as a discoverable UPnP or OSGi service. Alternatively or additionally, it can be implemented as a DTV service with a UPnP or OSGi proxy. Either approach allows clients to select and tune to local or remote services in a seamless fashion. As detailed above, the architecture can bridge a UPnP AV network and a DTV home network. [0079] In some embodiments, the soft tuner service can define new
DTV URL forms, with a superset that includes JavaTV, DVB MHP, and/or OCAP locators. It can introduce the notion of session to DTV locators (VOD, IPPV, etc.). Possible forms include: dtv://stored[.st g_id] [.source_id]; dtv://live[.source_id] == dtv://source_id; dtv://session[.sessoin_id] [.source_id]. [0080] In some embodiments of the soft-tuner interface, DTV services
(live, stored) can be exposed as UPnP or OSGi services. Alternatively or additionally, the service can define a new UPnP device template, such as: DTV Services Removable Storage Device; and/or UPnP DTV Tuner Device.
[0081] The resource manager service of the DTV receiver provides a resource manager that manages local resources such as tuners, bandwidth (in terms of input and output streams per interface and cumulative), graphics device, background device, video device, decoder/JMF, and storage and others. It also allows reservations from a remote device. In some embodiments, the service can accomplish priority-based and/or user-profile based allocation. For example, requests originating from the device itself may have the highest priority, while requests originating from a device in a bedroom of a home in which the home network is implemented may have a next-highest priority. Accordingly, requests originating from a device in a basement of the home may have the lowest priority. Such parameters may be set during network administration and may be considered during resource contention resolution. In another example, different users registered to the network can have different priorities and can identify themselves by password. The priorities can be stored and accessed on the network in user profiles.
[0082] Being a discoverable service, the resource manager service provides notifications when resources are idle versus busy by broadcast or based on subscription. In addition to managing local resources, it provides a resource allocation snapshot either distributed and/or available to all interested clients. It further maps DTV resource allocation requests to UPnP/OSGi events and vice-versa. It is envisioned that resources can be allocated for a fixed time, with the resource requestor renewing the resource before the expiration time.
[0083] Turning now to Figure 18, DTV-HNF distributed resource manager 1500 works in tandem with local resource manager 1502 to keep track of resource allocation status. Remote allocations allocate resources through distributed RM 1500, which in turn allocates resources with DTV resource manager 1502. Examples of local and remote reservations are detailed with reference to Figure 19 and Figure 20, respectively. [0084] Turning now to Figure 19, a local reservation process begins with DTV application 1600 requesting a resource from resource manager 1502. Next, resource manager 1502 signals the application 1600 that the resource has been successfully reserved. Then, resource manager 1502 notifies distributed resource manager 1500 that the resource is busy. Finally, distributed resource manager 1500 notifies devices on the home network 1602 that the resource is busy. [0085] Turning now to Figure 20, a remote reservation process begins with a device on the home network 1602 requesting a resource from distributed resource manager 1500. Next, distributed resource manager 1500 requests the resource from resource manager 1502. Then, resource manager 1600 signals distributed resource manager 1500 that the resource has been successfully reserved. Then, distributed resource manager signals the requesting device on the home network 1602 that the resource has been successfully reserved. Thereafter, DTV application 1600 requests the same resource from resource manager 1502. In response, resource manager 1502 signals DTV application 1600 that the resource is busy. Resource contention is handled by rules (e.g., monitor application).
[0086] The broadcast time and stream event service of the DTV receiver accomplishes distribution and synchronization of broadcast triggers with devices in the home network. Triggers are mechanisms to synchronize DTV applications with program content. Analog triggers are carried in VBI, while digital triggers can be carried as DSMCC stream event or as a playlist in an alternate channel. Three kinds of triggers are absolute time triggers, relative time triggers, and do it now triggers. Triggers are meant for consumption at the DTV receiver. [0087] In some embodiments, the invention includes a mechanism to synchronize a real-time clock between the DTV receiver and other home appliances. For example, the invention can include a discoverable, self- describing service, which makes time (time of the day) information available to any requesting entity on the home network. The service description can be provided using XML. The service can be discoverable by using different service discovery protocols (e.g., SSDP). Time information can be extracted from STT and provided as events/actions over a variety of home networking frameworks (e.g., OSGi, UPnP, DENI, and others). Some embodiments can provide a mechanism to extend availability of DSMCC triggers on the home network with time synchronization.
[0088] According to the broadcast time service, the DTV receiver extracts time information from MPEG2 PSI. For example, it converts the time information into XML or other, appropriate formats. It also manages subscription and notification of time of day to network appliances for time synchronization. Home network devices can update themselves with broadcast time extracted from STT by invoking the following actions, wherein GetTime() returns STT time: GetTime(TimeFormatParameter) returns STT converted into other various formats (for instance, GMT). The service can also pose the "BroadcastTime/SystemTime" evented state variable. Accordingly, all entities that subscribe to this service receive time change events. This can be a moderated state variable in order to decrease the frequency of eventing, for example, if once per second eventing is too frequent.
[0089] In some embodiments, a trigger relay service can be provided. For example, triggers can be extracted as stream events from a broadcast carousel. Triggers can also be converted to XML or other, appropriate formats. Time information can further be synchronized with a broadcast time service. Still further, subscription and notification to home appliances can be managed. Finally, triggers can be cached for later access, and/or converted to UPnP or OSGi event format.
[0090] Turning now to Figure 21 , triggers from broadcast carousel 1800 are cached in datastore 1802 for later dispatch by the receiver 1804 via broadcast on the home network 1806 to appliances 1808A-1808C. This procedure enables synchronization of a home appliance with content on DTV, and distributed applications related to the content.
[0091] Turning now to Figure 22, in an operation example, DTV receiver 1900 includes a trigger service 1902 that operates according to a time service 1904 and receives events from broadcast carousel 1904. Home appliance 1908 registers for or subscribes to time and trigger information. Thereafter, receiver 1900 sends time information and trigger notifications to home appliance 1908. Trigger notifications can include time information and be in XML format. [0092] The content listing service (or EPG service) of the DTV receiver has some similarities to the UPnP CDS, but has extended capabilities. For example, it can import VOD/PPV sessions and exports events. It can also make metadata available from multiple tuners, such as cable and terrestrial tuners. It can further make bandwidth requirements available, along with copy protection rules. Finally, it can provide metadata translations.
[0093] Turning now to Figure 23, the content listing service 2000 can interface with an SI manager 2002 and an recording manger 2004, which in turn interface with the application 2006. Content listing service 2000 can exchange subscriptions, notifications, and events with home network 2008.
[0094] In some embodiments, content listing and launching can be a discoverable home network service. For example, it can be a consolidated Java TV service or content listing from sources such as: SI manager for broadcast services; recording manager for stored services via DVR; VOD/PPV sessions; contents stored in removable and/or fixed storage via SD card, hard disk,
DVD/CD, and others; and Internet content. Metadata can be provided in association with each entry. [0095] Metadata information can include various components. For example, it can include metadata in XML format that has been translated form SI data, VOD metadata, TV-AnyTime metadata, and others. Metadata can also contain one or more uniform locators for launching the service in question.
Metadata can further specify format, such as SD, HD, audio/video, mp3, and others. Metadata can still further provide an estimate of bandwidth requirements. Metadata can even further specify that a service is XAIT or AIT.
Yet still further, metadata can specify that the service in question is remote launchable. Finally, metadata can describe copy protection rules for a content service. [0096] The content listing and launching service can monitor removable storage (SD, DVD, CD, etc.) media for content. In this regard, the service can generate notifications.
[0097] Turning now to Figure 24, the content listing service architecture can include the content listing service 2100 employing uniform locators 2102 mapped to multiple content sources. Sources can include broadcast content 2104 from SI manager, including tuners 2106, cable, ATSC, etc.. Sources can also include stored content 2108, and stored services 2110 from recording manager (DVR), each of which can be stored on hard disk 2112 or on removable storage, such as SD card 2114. Sources can also include VOD/PPV sessions 2116, the Internet 2118, and multi-player games 2120.
[0098] The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. For example, while a home network is typically envisioned as being deployed in a single family dwelling, it should be readily understood that a home network can be deployed across multiple locations as a virtual private domain, and/or can be deployed in various types of locations, including offices, public places, and vehicles. Further, these virtual domains can be bridged, so that users can share resources across home networks by adding one another to their respective "buddy list" or the like. Such variations are not to be regarded as a departure from the spirit and scope of the invention.

Claims

CLAIMS What is claimed is:
1. A multi-room PVR system for use with a home network connected to one or more DTV devices having at least one of tuner resources for obtaining DTV media or memory resources for storing DTV media, the system comprising: a resource manager module adapted to perceive, access, and control said resources over said home network; a user interface module adapted to receive user control commands for changing channel of a current program and pausing the current program; and a program objects manager module adapted to allocate tuners for receiving programs and memory for recording programs, and designate a current program among the tuners and memory based on the user control commands.
2. The system of claim 1 , further comprising a media rendering manager module accomplishing co-display on a media rendering device of a current program as primary media content and one or more icons representing statuses of recorded programs.
3. The system of claim 2, wherein said media rendering management module is adapted to render an icon according to at least one of a display property or appearance to indicate whether a recorded program is ready to be viewed.
4. The system of claim 3, wherein said media rendering management module is adapted to determine whether the recorded program is ready to be viewed based on one or more triggers generated in response to at least one of:
(a) detection of start of advertisement in the recorded program;
(b) detection of end of advertisement in the recorded program;
(c) detection of a predefined image in video media of the recorded program; or
(d) detection of a predefined sound in audio media of the recorded program.
5. The system of claim 4, wherein said media rendering management module is adapted to permit the user to specify one or more viewing readiness criteria for a recorded program.
6. The system of claim 5, wherein said media rendering management module is adapted to allow the user to specify the viewing readiness criteria in the form of at least one of: one or more criteria for generating triggers; or one or more triggers.
7. The system of claim 2, wherein said media rendering management module is adapted to receive the current program from a tuner over said home network.
8. The system of claim 2, wherein said media rendering management module is adapted to receive the current program from memory over said home network.
9. The system of claim 2, wherein said media rendering management module is adapted to display the icons in positions reserved for recorded programs so as not to conflict with one another.
The system of claim 2, wherein said media rendering management module is adapted to render an icon according to at least one of a display property or appearance to indicate whether a recorded program is ready to be viewed.
10. The system of claim 2, wherein said media rendering management module is adapted to render an icon according to at least one of a display property or appearance to indicate a hot button of a user interface device employed by the user, said hot button operable to select a recorded program related to that icon.
11. The system of claim 1 , wherein said user interface module, said program objects manager module, and said resource allocation module are adapted to interact so that pausing of a program directly causes allocation of memory on the network by memory manager module and attachment of a time shift buffer.
12. The system of claim 1 , wherein said user interface module, said program objects manager module, and said resource allocation module are adapted to interact so that changing channel from a recorded program directly causes allocation and use of an idle tuner on the network.
13. The system of claim 1 , wherein said user interface module, said program objects manager module, and said resource allocation module are adapted to interact so that returning to a channel of a recorded program directly causes designation of memory storing the recorded program as the current program, thereby causing access of the program thus designated from memory and display thereof as primary media content on a media rendering device.
14. The system of claim 1 , wherein said user interface module, said program objects manager module, and said resource allocation module are adapted to interact so that user selection of a hot button associated with a recorded program directly causes designation of memory storing the recorded program as the current program, thereby causing access of the program thus designated from memory and display thereof as primary media content on a media rendering device.
15. The system of claim 1 , wherein said program objects manager module is adapted to create program objects recording information including at least one of: a tuner; media metadata; recorded location; icon; or program status.
16. A method of operation for a multi-room PVR for use with a home network connected to one or more DTV devices having at least one of tuner resources for obtaining DTV media or memory resources for storing DTV media, the method comprising: perceiving, accessing, and controlling said resources over said home network; receiving user control commands for changing channels of a current program and pausing the current program; and allocating tuners for receiving programs and memory for recording programs; and designating a current program among the tuners and memory based on the user control commands.
17. The method of claim 16, further comprising accomplishing co- display on a media rendering device of a current program as primary media content and one or more icons representing statuses of recorded programs.
18. The method of claim 17, further comprising rendering an icon according to at least one of a display property or appearance to indicate whether a recorded program is ready to be viewed.
19. The method of claim 18, further determining whether the recorded program is ready to be viewed based on one or more triggers generated in response to at least one of: (a) detection of start of advertisement in the recorded program;
(b) detection of end of advertisement in the recorded program;
(c) detection of a predefined image in video media of the recorded program; or
(d) detection of a predefined sound in audio media of the recorded program.
20. The method of claim 19, further comprising permitting the user to specify one or more viewing readiness criteria for a recorded program.
21. The method of claim 20, further comprising allowing the user to specify the viewing readiness criteria in the form of at least one of: one or more criteria for generating triggers; or one or more triggers.
22. The method of claim 17, further comprising receiving the current program from a tuner over said home network.
23. The method of claim 17, further comprising receiving the current program from memory over said home network.
24. The method of claim 17, further comprising displaying the icons in positions reserved for recorded programs so as not to conflict with one another.
25. The method of claim 17, further comprising rendering an icon according to at least one of a display property or appearance to indicate a hot button of a user interface device employed by the user, said hot button operable to select a recorded program related to that icon.
26. The method of claim 16, further comprising responding to a user command to pause a live program by allocating memory on the network and attaching a time shift buffer.
27. The method of claim 16, further comprising responding to a user command to change channel from a recorded program by allocating and using an idle tuner on the network.
28. The method of claim 16, further comprising responding to return by the user to a channel of a recorded program by designating the recorded program as current, thereby causing access of the program thus designated from memory and display thereof as primary media content on a media rendering device.
29. The method of claim 16, further comprising responding to user selection of a hot button associated with a recorded program by designating the recorded program as current, thereby causing access of the program thus designated from memory and display thereof as primary media content on a media rendering device.
30. The method of claim 16, further comprising creating program objects recording information including at least one of: a tuner; media metadata; recorded location; icon; or program status.
PCT/US2005/026919 2004-07-30 2005-07-29 System and method for distributed sharing and recording of live-tv WO2006015186A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007523833A JP2008508807A (en) 2004-07-30 2005-07-29 System and method for distributed sharing and live TV recording

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US59807304P 2004-07-30 2004-07-30
US60/598,073 2004-07-30
US60757104P 2004-09-07 2004-09-07
US60/607,571 2004-09-07

Publications (3)

Publication Number Publication Date
WO2006015186A2 true WO2006015186A2 (en) 2006-02-09
WO2006015186A3 WO2006015186A3 (en) 2006-03-09
WO2006015186B1 WO2006015186B1 (en) 2006-05-11

Family

ID=35787853

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/026919 WO2006015186A2 (en) 2004-07-30 2005-07-29 System and method for distributed sharing and recording of live-tv

Country Status (2)

Country Link
JP (1) JP2008508807A (en)
WO (1) WO2006015186A2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007143218A2 (en) * 2006-06-09 2007-12-13 The Directv Group, Inc. Presentation modes for various format bit streams
WO2007149403A2 (en) 2006-06-16 2007-12-27 The Directv Group, Inc. Digital storage media command and control data indexing
WO2008002782A1 (en) 2006-06-29 2008-01-03 Scientific-Atlanta, Inc. Residual time-shift buffering in a digital media device
WO2008005134A1 (en) 2006-06-30 2008-01-10 Microsoft Corporation Multi-dvr node communication
JP2008172689A (en) * 2007-01-15 2008-07-24 Mitsubishi Electric Corp Video display apparatus and control program for video display apparatus
EP1985111A1 (en) * 2006-02-15 2008-10-29 Samsung Electronics Co., Ltd. Method and apparatus for controlling scheduled recording service using external tuner
JP2009010611A (en) * 2007-06-27 2009-01-15 Victor Co Of Japan Ltd Home network agent
US7937732B2 (en) 2005-09-02 2011-05-03 The Directv Group, Inc. Network fraud prevention via registration and verification
EP2611145A1 (en) * 2011-12-26 2013-07-03 Kabushiki Kaisha Toshiba Recording system and recording method
EP2757778A1 (en) * 2013-01-16 2014-07-23 Pradeep Ramdeo Digital video audio player recorder device
US9015781B2 (en) 2008-02-29 2015-04-21 Thomson Licensing Methods and apparatuses for providing load balanced signal distribution
US9319455B2 (en) 2013-03-06 2016-04-19 Sony Corporation Method and system for seamless navigation of content across different devices
CN110430439A (en) * 2019-07-30 2019-11-08 北京达佳互联信息技术有限公司 Manage method and device, server and the storage medium in Media Stream room
US10687123B2 (en) 2010-08-30 2020-06-16 Saturn Licensing Llc Transmission apapratus, transmission method, reception apparatus, reception method, program, and broadcasting system

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954127B2 (en) 2002-09-25 2011-05-31 The Directv Group, Inc. Direct broadcast signal distribution methods
US7945932B2 (en) 2005-04-01 2011-05-17 The Directv Group, Inc. Narrow bandwidth signal delivery system
US7950038B2 (en) 2005-04-01 2011-05-24 The Directv Group, Inc. Transponder tuning and mapping
US8024759B2 (en) 2005-04-01 2011-09-20 The Directv Group, Inc. Backwards-compatible frequency translation module for satellite video delivery
US7987486B2 (en) 2005-04-01 2011-07-26 The Directv Group, Inc. System architecture for control and signal distribution on coaxial cable
US7958531B2 (en) 2005-04-01 2011-06-07 The Directv Group, Inc. Automatic level control for incoming signals of different signal strengths
US7900230B2 (en) 2005-04-01 2011-03-01 The Directv Group, Inc. Intelligent two-way switching network
US8789115B2 (en) 2005-09-02 2014-07-22 The Directv Group, Inc. Frequency translation module discovery and configuration
US7991348B2 (en) 2005-10-12 2011-08-02 The Directv Group, Inc. Triple band combining approach to satellite signal distribution
JP2012164208A (en) * 2011-02-08 2012-08-30 Nec Access Technica Ltd Network system, home gateway, content reproduction method and program for network management
JP5162711B1 (en) * 2012-02-14 2013-03-13 シャープ株式会社 Broadcast receiving apparatus system, frequency table creation method, and broadcast receiving apparatus
CN102930705B (en) * 2012-09-26 2014-09-03 腾讯科技(深圳)有限公司 Device control method and device
JP5291828B2 (en) * 2012-12-17 2013-09-18 シャープ株式会社 Broadcast receiving apparatus system, frequency determination method, and broadcast receiving apparatus
JP5291844B2 (en) * 2013-03-26 2013-09-18 シャープ株式会社 Broadcast receiver

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020009285A1 (en) * 2000-03-08 2002-01-24 General Instrument Corporation Personal versatile recorder: enhanced features, and methods for its use
US20030086023A1 (en) * 2001-11-06 2003-05-08 Lg Electronics Inc. Personal video recorder including a network interface
US20040060063A1 (en) * 2002-09-24 2004-03-25 Russ Samuel H. PVR channel and PVR IPG information
US20040071442A1 (en) * 2002-10-09 2004-04-15 Aaron Wells Intelligent recording control system
US20040091249A1 (en) * 2002-11-12 2004-05-13 Koninklijke Philips Electronics N.V. Continue recording channel feature for personal video recorder
US6756997B1 (en) * 1996-12-19 2004-06-29 Gemstar Development Corporation Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6756997B1 (en) * 1996-12-19 2004-06-29 Gemstar Development Corporation Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US20020009285A1 (en) * 2000-03-08 2002-01-24 General Instrument Corporation Personal versatile recorder: enhanced features, and methods for its use
US20030086023A1 (en) * 2001-11-06 2003-05-08 Lg Electronics Inc. Personal video recorder including a network interface
US20040060063A1 (en) * 2002-09-24 2004-03-25 Russ Samuel H. PVR channel and PVR IPG information
US20040071442A1 (en) * 2002-10-09 2004-04-15 Aaron Wells Intelligent recording control system
US20040091249A1 (en) * 2002-11-12 2004-05-13 Koninklijke Philips Electronics N.V. Continue recording channel feature for personal video recorder

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937732B2 (en) 2005-09-02 2011-05-03 The Directv Group, Inc. Network fraud prevention via registration and verification
EP1985111A4 (en) * 2006-02-15 2010-03-17 Samsung Electronics Co Ltd Method and apparatus for controlling scheduled recording service using external tuner
EP1985111A1 (en) * 2006-02-15 2008-10-29 Samsung Electronics Co., Ltd. Method and apparatus for controlling scheduled recording service using external tuner
WO2007143218A2 (en) * 2006-06-09 2007-12-13 The Directv Group, Inc. Presentation modes for various format bit streams
WO2007143218A3 (en) * 2006-06-09 2009-02-19 Directv Group Inc Presentation modes for various format bit streams
WO2007149403A2 (en) 2006-06-16 2007-12-27 The Directv Group, Inc. Digital storage media command and control data indexing
WO2007149403A3 (en) * 2006-06-16 2008-02-28 Directv Group Inc Digital storage media command and control data indexing
WO2008002782A1 (en) 2006-06-29 2008-01-03 Scientific-Atlanta, Inc. Residual time-shift buffering in a digital media device
US7848613B2 (en) 2006-06-29 2010-12-07 Jason Osborne Residual time-shift buffering in a digital media device
WO2008005134A1 (en) 2006-06-30 2008-01-10 Microsoft Corporation Multi-dvr node communication
JP2009543449A (en) * 2006-06-30 2009-12-03 マイクロソフト コーポレーション Multi DVR node communication
EP2039058A1 (en) * 2006-06-30 2009-03-25 Microsoft Corporation Multi-dvr node communication
EP2797315A1 (en) * 2006-06-30 2014-10-29 Microsoft Corporation Multi-DVR node communication
EP2039058A4 (en) * 2006-06-30 2012-08-01 Microsoft Corp Multi-dvr node communication
JP2008172689A (en) * 2007-01-15 2008-07-24 Mitsubishi Electric Corp Video display apparatus and control program for video display apparatus
JP2009010611A (en) * 2007-06-27 2009-01-15 Victor Co Of Japan Ltd Home network agent
US9015781B2 (en) 2008-02-29 2015-04-21 Thomson Licensing Methods and apparatuses for providing load balanced signal distribution
US10687123B2 (en) 2010-08-30 2020-06-16 Saturn Licensing Llc Transmission apapratus, transmission method, reception apparatus, reception method, program, and broadcasting system
EP2611145A1 (en) * 2011-12-26 2013-07-03 Kabushiki Kaisha Toshiba Recording system and recording method
EP2757778A1 (en) * 2013-01-16 2014-07-23 Pradeep Ramdeo Digital video audio player recorder device
US9319455B2 (en) 2013-03-06 2016-04-19 Sony Corporation Method and system for seamless navigation of content across different devices
CN110430439A (en) * 2019-07-30 2019-11-08 北京达佳互联信息技术有限公司 Manage method and device, server and the storage medium in Media Stream room

Also Published As

Publication number Publication date
WO2006015186B1 (en) 2006-05-11
JP2008508807A (en) 2008-03-21
WO2006015186A3 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
WO2006015186A2 (en) System and method for distributed sharing and recording of live-tv
WO2006017218A2 (en) Tuner service and dtv receiver as a upnp device
EP2039058B1 (en) Multi-dvr node communication
US7206853B2 (en) content abstraction layer for use in home network applications
US9930418B2 (en) Technique for delivering network personal video recorder service and broadcast programming service over a communications network
US9124767B2 (en) Multi-DVR media content arbitration
JP3943024B2 (en) Method and related apparatus for managing audiovisual broadcast records
US8122474B2 (en) Multimedia presentation resumption within an environment of multiple presentation systems
JP6072618B2 (en) Multimedia content search and recording reservation system
US6236395B1 (en) Audiovisual information management system
US7669222B2 (en) Virtual tuner management
US20080022331A1 (en) Multi-DVR Media Stream Transition
US8244829B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
US20130054742A1 (en) Content processor
US20070186270A1 (en) Method and apparatus for processing content in home network using TV channels
CA2627665C (en) Multi-room network guide with scheduling device indicators
US20080022330A1 (en) Multi-DVR Content Management
US20070239668A1 (en) Apparatus and method for managing digital contents distributed over network
JP2014143758A (en) Networked personal video recording system
JP5782524B2 (en) Video signal transmission / reception method, display device, and decoding device
KR20020065251A (en) Medium Player for playing moving picture on the background of the screen and The Processing Method for moving picture for using it and A computer-readable Storage Medium for executing the above Medium Player or Method
KR20070055894A (en) Homenetwork/broadcast linkage system and method for using multimedia contents between home network and broadcast
US20070268414A1 (en) Method and system for distributing pvr functionalities

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

B Later publication of amended claims

Effective date: 20060324

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007523833

Country of ref document: JP

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase