WO2006022772A2 - Systems for unifying heterogeneous multimedia tuners - Google Patents

Systems for unifying heterogeneous multimedia tuners Download PDF

Info

Publication number
WO2006022772A2
WO2006022772A2 PCT/US2004/034806 US2004034806W WO2006022772A2 WO 2006022772 A2 WO2006022772 A2 WO 2006022772A2 US 2004034806 W US2004034806 W US 2004034806W WO 2006022772 A2 WO2006022772 A2 WO 2006022772A2
Authority
WO
WIPO (PCT)
Prior art keywords
tuners
tuner
channels
recited
recording
Prior art date
Application number
PCT/US2004/034806
Other languages
French (fr)
Other versions
WO2006022772A3 (en
Inventor
Peter J. Potrebic
Original Assignee
Microsoft Corporation
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 Microsoft Corporation filed Critical Microsoft Corporation
Priority to MXPA05007153A priority Critical patent/MXPA05007153A/en
Priority to JP2007525592A priority patent/JP2008510367A/en
Priority to BRPI0406593-0A priority patent/BRPI0406593A/en
Priority to CA002509659A priority patent/CA2509659A1/en
Priority to EP04795906A priority patent/EP1792486A4/en
Publication of WO2006022772A2 publication Critical patent/WO2006022772A2/en
Publication of WO2006022772A3 publication Critical patent/WO2006022772A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/50Tuning indicators; Automatic tuning control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/52Automatic gain control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Definitions

  • the present invention generally relates to TV recording systems, and more particularly, to systems for unifying heterogeneous multimedia tuners.
  • multimedia enthusiasts typically connect a collection of different electronic devices in different boxes together to make a modular entertainment center.
  • the video aspect of the entertainment center may have a television set (TV) 100 that displays multimedia content drawn in from various sources.
  • TV television set
  • OTA over-the-air
  • Additional channels are available by procuring one or more extra set-top boxes to tune different channel lineups, such as a first set-top box 106 to tune a digital channel lineup received via satellite 108, a second set-top box to tune another digital channel lineup received via cable 112, and perhaps a personal video recorder (PVR) 114 to manipulate digital recordings of the received channels.
  • a PVR 114 may exert local influence over one of the set-top boxes 106.
  • some PVRs 1 14 may include dual identical tuners (“homogenous tuners”) so that a user can view and record at the same time. A user, then, may have a number of different tuners (“heterogeneous tuners”) in the home, distributed in TVs, VCRs, and other set-top boxes.
  • Access quality refers to the fidelity (faithfulness to original color, sound, or data); precision; resolution; reliability; speed; capability, etc., with which a tuner can access video, audio, and/or a stream of data distributed with the video and/or audio. Access quality does not include "access quantity,” that is, the number of channels that a tuner can access, i.e., the tuner's bandwidth. In other words, in some circumstances the tuner with the highest access quality may only be capable of accessing the least number of channels of any tuner in a group of multiple tuners.
  • tuner allocation policy may try to assign a tuner with high access quality first, and another policy may try to assign a tuner that accesses the least number of channels first, if that tuner can get the job done. The latter policy conserves system resources for potential future demands.
  • "Homogeneous" as used above means that the tuners are identical in supporting the same channel lineup and accessing the identical lineup with the same access quality. For example, a cable system might use a splitter to form two identical signal sources that can be input into two identical tuners to impart the same capabilities to both tuners.
  • Heterogeneous as used above means that multiple tuners support different channel lineups, or the same channel lineup with different levels of access quality. For example, a household might have both cable 112 and OTA antenna 104 channel sources. The channel lineups available through these two sources are likely very different, thus the tuners are considered heterogeneous.
  • a "tuner” is a conceptual entity that allows a user to access a channel.
  • TVs usually have one, or sometime two tuners.
  • VCRs usually have one tuner.
  • Some set-top boxes and/or PVRs 114 may have two tuners, as mentioned above.
  • Various removable cards may have one or two tuners.
  • a dual tuner card may have a National Television Standards Committee (NTSC) tuner and an Advanced Television Standards Committee (ATSC) tuner that work dependently or independently of each other.
  • NTSC National Television Standards Committee
  • ATSC Advanced Television Standards Committee
  • a "head-end” is the provider of a channel lineup, for example, San Francisco DirecTV; Seattle Comcast Digital Cable; FM Radio, etc.
  • Transport is the delivery method for a multimedia signal, e.g., cable, satellite, Internet, OTA, etc.
  • Format describes characteristics of the signal, e.g., analog, digital standard definition, digital high- definition, etc.
  • EPGs electronic program guides
  • an "interlaced” or “interleaved” guide view has multiple guide lineups that are interwoven and sorted in some manner (e.g., by channel number), while a "merged” guide view has multiple lineups that are merged but the same channels are collapsed where they overlap.
  • a given PVR 114 may enlist a computing device for digital management or the PVR 114 may comprise a computing device.
  • the computing device usually provides the operating system for one or more hard drives and therefore aids primarily in the storage and retrieval of multimedia content that is in the form of stored digital files.
  • For users with computerized or non-computerized entertainment center platforms, a framework or architecture is needed to support and unify an arbitrary number of homogeneous and heterogeneous tuners. In other words, a framework is needed to seamlessly receive and distribute multiple TV signals in order to unify a user's "multiple- TV/multiple-VCR" experience.
  • a system for unifying heterogeneous multimedia tuners is described.
  • the system is capable of producing a unified channel lineup and coordinating multiple diverse tuners to perform multimedia tasks associated with the unified lineup.
  • tuner allocation policy allows behind-the-scenes tuner assignment and on-the-fly tuner swapping so that the user experience is seamless, access quality (such as, video quality) is continuously optimized, and tuners with the most bandwidth are kept available.
  • Fig. 1 is a graphical representation of a conventional array of uncoordinated components of a multimedia system.
  • Fig. 2 is a graphical representation of an exemplary personal video recorder
  • FIG. 3 is a graphical representation of an exemplary home multimedia network that includes an exemplary user experience engine (UXE) to unify multiple heterogeneous tuners.
  • FIG. 4 is a block diagram of the exemplary UXE of Figs. 2 and 3 in greater detail.
  • FIG. 5 is a block diagram of an exemplary tuner integration engine of an exemplary UXE.
  • Fig. 6 is a flow diagram of an exemplary method of unifying multiple heterogeneous multimedia tuners.
  • Fig. 7 is a flow diagram of an exemplary method of allocating tuners to empower a user experience.
  • FIG. 8 is a block diagram of an exemplary computing device environment for practicing the subject matter.
  • a conventional single tuner automatically provides a somewhat consistent user experience (UX), although viewing and recording tasks are limited because one tuner must be shared. With conventional dual homogeneous tuners some extra control logic is required, but existing PVR products have shown that a seamless user experience is possible for a dual homogenous tuner system.
  • the subject matter described herein integrates an arbitrary number of homogeneous and/or heterogeneous multimedia tuners to provide a user experience that is unified, consistent, and seamless.
  • the seamless user experience described herein is powerful, in that the subject matter allows more possibilities than conventional systems, such as recording multiple programs at the same time or watching live TV in standard definition while recording a high definition program in the background. Channel surfing, scheduling, conflict management, etc, can take advantage of the multiple heterogeneous tuners unified as described herein.
  • FIG. 2 shows an exemplary PVR system 200 in which an exemplary user experience engine (UXE) 202 integrates several aspects of multiple tuners 204.
  • the exemplary PVR system 200 physically contains the multiple tuners 204, although this is not required.
  • the exemplary UXE 202 is capable of integrating the diverse channel lineups of the multiple tuners 204 into a unified channel lineup, whether the multiple tuners 204 are onboard or offboard.
  • the exemplary UXE 202 is also capable of integrating the diverse electronic program guide (EPG) metadata that usually accompany and describe each diverse channel lineup.
  • EPG electronic program guide
  • the exemplary UXE 202 is also capable of managing, the various tuners. For example management can include assigning the tuners to multimedia tasks, according to policy. For example, the UXE 202 responds to user requests for viewing and recording various channels in the unified channel lineup by assigning an appropriate tuner.
  • the management of tuners provided by the exemplary UXE 202 is dynamic. Thus, depending on policy, management by an exemplary UXE 202 may include swapping tuners in or out of an assignment "on-the-fly" to provide real time enforcement of policy, furthering the seamless user experience.
  • an exemplary UXE 202 can integrate very diverse combinations of multimedia tuners.
  • many tuner assignment policies within an overall body of policy for an exemplary UXE 202 can be user-selectable.
  • an exemplary UXE 202 detects and classifies the configuration of tuners that are present and assigns and/or tweaks policy depending on the classification.
  • an exemplary UXE 202 provides a single framework within which many various configurations of tuners can be organized to provide a unified and more powerful user experience.
  • FIG. 3 shows an exemplary home entertainment network 300 in which an exemplary UXE 202 resides in a multimedia server 302 that may function as a hub for the entertainment network 300.
  • An exemplary computing device environment suitable for practicing the illustrated implementation of an exemplary UXE 202 is described more fully with respect to Fig. 8.
  • the multimedia server 302 is capable of storing and sending multimedia content to remote displays 304, 306 and remote personal computers 308 located in different rooms of a home.
  • Multiple heterogeneous tuners 204 physically reside in the illustrated multimedia server 302, although this is not required.
  • the exemplary UXE 202 produces a unified channel lineup from diverse channel lineups of the heterogeneous tuners 204 as well as a unified EPG.
  • the UXE assigns a tuner to each multimedia task, according to policy.
  • the UXE 202 may dynamically reassign or swap tuners depending on an updated state of the network 300, i.e., in response to incoming requests for multimedia content that may require services of a tuner that has already been assigned.
  • a policy may include assigning a tuner that is capable of a lesser access quantity, if it can get the job done, to a task prior to assigning a tuner capable of a higher access quantity, i.e., the tuner capable of the least access quantity that can do the job properly may be assigned first.
  • policies that embody one or both of these exemplary principles can have the effect of streamlining a whole body of policies for unifying multiple tuners. That is, if a single tuner with better than average access quality is designated as the primary viewing tuner and primary recording tuner, then this primary tuner is assigned first, if it is available.
  • policies are then built around how to assign lesser tuners to subsequent tasks in order to most efficiently allocate resources or, how to swap a lesser tuner for the primary tuner when the primary tuner would be put to better use elsewhere.
  • these same policies apply to audio tuners, audio-video tuners, data receivers — that is, to all multimedia tuners. More example policies are presented later in this detailed description.
  • Whether any individual policy or rule can be fulfilled depends on the number and types of requests that are active at any moment.
  • UXE User Experience Engine
  • a tuner integration engine (TunerlE) 400 is communicatively coupled with an EPG data integrator 402, user interfaces 404, and control logic 406, as illustrated.
  • the TunerlE 400 may include a lineup integrator 408 and a tuner assignment engine 410 and will be discussed in greater detail below, with respect to Figure 5.
  • the user interfaces 404 may include interactive displays of a unified channel lineup 412, a unified EPG 414, a viewing channel(s) selector 416, and a recording channel(s) selector 418.
  • EPG data integrator 402 may rely on a unified channel lineup produced by the lineup integrator 408 as a starting point for creating the unified EPG 414.
  • EPG data can be simply merged. That is, for multiple duplicated channels, any unique EPG data is accumulated under the common channel number to which the duplicated channels are mapped. Alternatively, the EPG data may be integrated in another manner.
  • a unified channel lineup 412 can be displayed on a remote controller 116 if the exemplary UXE 202 is implemented in a PVR system 200, or alternatively the unified channel lineup 412 can be displayed on the monitor of a computing device, if the exemplary UXE 202 is implemented in an entertainment multimedia network 300.
  • FIG. 5 shows an exemplary TunerIE 400 in greater detail.
  • An exemplary TunerIE 400 includes a lineup integrator 408 and a tuner assignment engine 410, mentioned above and discussed in greater detail below.
  • the lineup integrator 408 and tuner assignment engine 410 may be communicatively coupled with a configuration classifier 500, a tuner detector 502, tuner interfaces 504, and a tuner prioritizer 506 as illustrated.
  • the configuration classifier 500 identifies a configuration of multiple tuners 204 that are connected via the tuner interfaces 504 and detected by the tuner detector 502. That is, the configuration classifier 500 determines or assigns relationship(s) between the tuners in the connected and detected set of tuners. The relationships need not be pre-existing or hardware related.
  • tuners can be assigned to the tuners, and accordingly, configurations can be assigned in whole or in part, not just determined from physical and functional characteristics of tuners in a given connected and detected set. It is worth noting that in some implementations, a driver must be installed for the tuner detector 502 to detect a new tuner (one that has never been configured).
  • the channel lineup that each tuner is capable of accessing can be determined automatically.
  • the access quality can be determined either automatically, manually (by asking a user which displayed quality is higher), or by a combination of both. After classification, a given set of tuners will fall into one of several possible configurations.
  • the configuration is "homogeneous,” if the channel lineups are different, then the configuration is "heterogeneous.” If the channel lineups have no channels in common then the configuration can be termed “heterogeneous disjointed,” whereas if the channels of one lineup are a subset of the other lineup, then the configuration can be termed “heterogeneous subseted.” If a first lineup has some common channels with a second lineup but also some unique channels over the second lineup, and vice versa, the two tuners may be classified as “heterogeneous non-subseted.”
  • An individual tuner in one of the combinations may be a tuner for digital cable or satellite, a tuner for over-the-air National Television Standards Committee channels (OTA NTSC), or a tuner for over-the-air
  • OTA NTSC National Television Standards Committee channels
  • Rows "A-C” and row “I” in Table (1) have analog tuner combinations that are homogeneous configurations. For homogeneous tuners, the system silently combines line ⁇ ups into one resource. There are no changes in the EPG. The appropriate components in the TunerIE 400 are informed that any given channel is available on multiple homogeneous tuners.
  • Rows "D-G" of Table (1) are heterogeneous tuner combinations that have completely disjointed channel lineups.
  • Row “H” is a heterogeneous subseted combination in which the channel lineup of one tuner is a subset of the channel lineup of the other tuner.
  • Rows "J-N" are heterogeneous non-subseted tuner combinations in which only a segment of the channel lineup of one tuner is a subset of the channel lineup of the other tuner — each tuner also has unique channels over the other tuner.
  • Table (2) The example configuration classes of Table (1), as refined further according to the above-described characteristic of access quality, are shown in Table (2):
  • a particular configuration that fits into one of the classes shown in Tables (1) and/or (2) can be further articulated by selecting a primary viewing tuner 510 and a primary recording tuner 512 for the configuration.
  • a viewing tuner list 514 can be implemented instead of a primary viewing tuner 510.
  • the viewing tuner list 514 can be prioritized to first allocate tuners with the strongest manifestation of the prioritization characteristic.
  • a recording tuner list 516 can be implemented instead of a primary recording tuner 512, and the recording tuner list 516 can be prioritized to allocate preferred tuners first.
  • the configuration classifier 500 can often determine which configuration to adopt based on: 1) which tuner is selected as the primary viewing tuner 510; 2) which tuner is selected as the primary recording tuner 512 (often the same tuner is selected as the primary viewing tuner 510 and the primary recording tuner 512); and 3) whether a recording can be automatically shifted between duplicated channels across tuners. These three parameters can be determined automatically by the configuration classifier 500 or by asking the user via a user interface 404, e.g., during a setup operation. The three parameters often place a particular set of tuners into one of the above configurations of Table (1) and/or Table (2).
  • the exemplary TunerIE 400 is capable of modeling the entire user experience, including the unified EPG, tuner allocation policies 518, methods of channel changing, etc.
  • a primary viewing tuner 510 can be used to resolve conflicts and ambiguities when fulfilling requests for tasks related to viewing (e.g., live TV), especially over channels that are duplicated on multiple tuners.
  • the exemplary TunerIE 400 prefers to use the primary viewing tuner 510.
  • the primary recording tuner 512 performs according to the same concepts, except with respect to recording tasks. Recording requests prefer to use the primary recording tuner 512 for channels that are duplicated across tuners.
  • Designating a primary viewing tuner 510 and a primary recording tuner 512 provides the benefit that viewing and recording tasks tend to stay out of each other's way, i.e., a given task resolves more neatly into either a viewing task or a recording task without entanglement.
  • a primary viewing tuner 510 and a primary recording tuner 512 are only default preferences that aim to streamline policy and optimize performance. It is possible and likely that in certain circumstances an exemplary TunerIE 400 will end up using a primary viewing tuner 510 to perform recording and not viewing, and will end up using a primary recording tuner 512 for viewing and not recording.
  • the lineup integrator 408 unifies channel lineups associated with the multiple tuners 204 into a unified channel lineup.
  • the process of unifying depends on the diverse channel lineups to be unified. If the channel lineups are disjointed, that is, they have no channels in common, then unification is relatively simple as there are no conflicts in channel numbering and all channels are distinct with unique channel numbers.
  • the lineup integrator 408 may thus include a duplicated channel resolver 520 and a conflicting channel number resolver 522.
  • the duplicated channel resolver 520 is capable of determining what to do with channels duplicated across multiple tuners that can access the channel at the same level of quality. One possibility is to discard the "duplication" for purposes of the unified lineup. But, in most cases, the duplicated channel resolver 520 records the fact that there are two tuners available to tune a channel so that this can be taken advantage of later.
  • a user may have analog cable and analog antenna, for instance, with the cable headend preferred and represented by the primary viewing tuner 510.
  • the service "NBC" may be on channel 3 in the analog cable lineup but "NBC" is on channel 11 on analog antenna. The user will only see one NBC in the EPG on channel 3, but either may be used to match an available tuner to a requested task.
  • channel number 101 is the service "ESPN” while on a second tuner, channel 101 is the service "HSN.”
  • the conflicting channel number resolver 522 may assign one of the services to a unique channel number, wherein the channel interleaver 524 may assist in selecting a channel number that places the service among similar programs.
  • two matching services have different channel numbers on different tuners.
  • the service “CNN” is on channel 12 on a first tuner but “CNN” is on channel 204 on a second tuner.
  • the duplicated channel resolver 520 may map the service on both tuners to one channel number in the unified lineup, but assign one of the tuners to a task based on whether the other tuner is already busy.
  • the tuner prioritizer 506 may also include a lineup comparator 526 and a channel-to-tuner correlator 528 in addition to the aforementioned signal quality detector 508.
  • the tuner prioritizer 506 selects a primary viewing tuner 510 and a primary recording tuner 512 in the case where there are only two tuners to be integrated, or the tuner prioritizer 506 creates prioritized lists, that is, the viewing tuner list 514 and the recording tuner list 516 (viewing tuner list and recording tuner lists, as discussed above) when there are many tuners to be integrated.
  • the lineup comparator 526 prioritizes a list of tuners by the number of channels (lineup) that each tuner on the list can access. This type of prioritization is important for optimizing performance and conserving system resources. An exemplary policy tries to keep tuners that can access the most channels free for use.
  • the channel-to-tuner correlator 528 may receive input from the lineup integrator 408, namely the unified channel lineup and duplicated channels, and/or may use a prioritized tuner list created by the tuner prioritizer 506 itself as a starting point. The channel-to-tuner correlator 528 associates each tuner on a prioritized list with the channels that it can access.
  • a tuner may have highest priority on a viewing tuner list 514, and therefore be "on deck" to be called up first to fulfill a user request, but that does not mean that the tuner actually has the capability to tune the requested channel.
  • the channel-to-tuner correlator 528 may create a database of prioritized tuners and associate channels with each tuner.
  • the audio-video access quality may be similar or different between tuners on a prioritized list.
  • the access quality may be similar (or the same) if, for example, a digital cable / analog cable configuration is such that duplicated channels are identical copies, e.g., when a splitter divides the same cable source into a digital branch and an analog branch.
  • analog and digital channels are the same the duplicated channels can merely be treated as homogeneous. This allows an exemplary TunerIE 400 more flexibility in providing a seamless user experience when dealing with these duplicated channels.
  • the access quality may often be different between tuners tuning the same channel. Not all digital cable, for example, has the same characteristics. Further, a signal's course through a set-top box may slightly alter quality. Digital channels are also subject to IR (infra-red) "blasting" and user interface overlays, imposed by a set-top box whereas a corresponding analog channel is not subject to these. Finally when comparing OTA NTSC channels with corresponding satellite or cable channels, the level of quality is often different.
  • a prioritized list of tuners such as a viewing tuner list 514 or a recording tuner list 516, may be further prioritized by separate or additional characteristics besides the number of channels that each tuner can access.
  • the signal quality detector 508, for example, may measure or accept user input indicating the access quality of tuners to be prioritized.
  • a viewing tuner list 514 and a recording tuner list 516 may also be prioritized by signal quality (the access quality) of the tuners, where the signal quality is used as a primary or secondary prioritizing criterion.
  • a prioritization formula may be used that incorporates multiple weighted sorting characteristics.
  • the primary prioritization sort is based on the quality of the video signal, with highest quality first
  • the secondary sort is based on the size of the channel lineup, with the largest first.
  • the primary sort is based on the quality of the video signal, with highest quality first
  • the secondary sort is based on the size of the channel lineup, with the smallest first.
  • the tuner assignor 530 can remove from the recording tuner list 516 any tuner that does not access the requested channel/service, and then assign the first available tuner left on the list.
  • the tuner assignment engine 410 may include a tuner assignor 530 and an assigned tuner swapper 532 that utilize the aforementioned primary viewing tuner 510, primary recording tuner 512, viewing tuner list 514, recording tuner list 516, and the tuner allocation policies 518.
  • the tuner assignor 530 dynamically assigns the tuners to user requests to view and/or record channels of the unified channel lineup 412 (referred to as "multimedia tasks" or just "tasks") according to the tuner allocation policies 518.
  • the assigned tuner swapper 532 swaps a dynamically assigned tuner as desired to uphold one of the policies 518, usually in response to a request for performance of a new task, i.e., a new task for a tuner that is already in use.
  • the tuner assignment engine 410 comprises a dynamic resource allocator that functions in the background assigning tuners and swapping them according to policies 518 in order to maintain a seamless user experience.
  • Exemplary tuner allocation policies 518 can enrich the seamlessness and power of a user experience presented herein for digital media enthusiasts. Policies can be adopted for each of the many aspects of tuner allocation.
  • the tuner prioritizer 506 simplifies tuner allocation policies 518. There is little need to address special cases in tuner configurations when all the tuners are equal and there is no preferred tuner. But by selecting a primary viewing tuner 510 and a primary recording tuner 512, the policies may run more efficiently and neatly because it simplifies decisions to have background recordings preprogrammed to use one tuner while live TV is preprogrammed to use another tuner.
  • Heterogeneous disjointed tuners configuration [0065]
  • selecting a primary viewing tuner 510 and a primary recording tuner 512 may be irrelevant if the number of tuners to be integrated is small. This is because each channel may only appear on one tuner / headend. Thus, the policies may "filter out" other tuners that do not access a requested channel.
  • the guide is merged either by interleaving channels and their associated EPG data or by some other union of collective EPG data.
  • Unique channels and their associated EPG data appear on their own, in order of channel number. Channel numbering conflicts are ideally resolved from the outset.
  • Heterogeneous disjointed configurations the guide is effectively interleaved. In these configurations the secondary tuner is sometimes ATSC with a limited number of channels. Accordingly, the interleaved channels can be, for example, 7, 7.1, 7.2, 8, 9, etc.
  • Heterogeneous non-subseted configurations the guide shows the union of all channels. Duplicate channels are merged. Unique channels appear in their natural order of channel number.
  • Heterogeneous subseted configurations most live TV viewing uses the primary viewing tuner primary viewing tuner 510. The user cannot discern which tuner is being utilized. Typically the user just surfs over the lineup of the primary viewing tuner 510.
  • Heterogeneous non-subseted configurations the primary viewing tuner 510 is used when tuning to a channel that is duplicated. Otherwise a tuner that has access to the requested channel is used, following the channel order shown in the guide.
  • policies for recording tasks may be employed to allocate tuners when a recording starts or to reserve tuners when a recording is scheduled.
  • the tuner assignor 530 uses that tuner. • If more than one tuner has access to the requested channel then the primary recording tuner 512 is used, if available.
  • tuners do not have equivalent access quality
  • user confirmation may be solicited to swap tuners.
  • confirmation is only solicited if the correct user is available for asking.
  • the correct user is the one that initiated the recording on the higher quality tuner. A usual case occurs when the user first requests to record some program. If the higher quality tuner is not available to do the recording (for whatever reason) and a lesser quality tuner is available, then in this case the system may ask the user for approval. • If all tuners that have access to the requested channel are busy, then the user experience shifts to accommodate the condition, for example by displaying a "tuners unavailable" message, offering the user options for freeing up a tuner (including stopping the activity that the tuner to be recruited is busy with), etc.
  • the tuner assignor 530 tries to use the primary recording tuner 512 first for duplicated channels. This keeps the primary viewing tuner 510 available more often for viewing requests. Of course a second overlapping recording might use the primary viewing tuner 510 for recording if there is a limited set of tuners.
  • the tuner assignor 530 defaults to viewing live TV on a primary viewing tuner 510. However, since the tuners do not provide equivalent access quality, user confirmation may be solicited in order to use a different tuner, if the correct user is available, as described above.
  • Tuner allocation policies 518 are substantially the same as just described above for the recording policies.
  • the primary recording tuner 512 is used if possible and swapped with the primary viewing tuner 510 if the primary viewing tuner 510 is currently viewing the same channel, in order to free the primary viewing tuner 510.
  • the user who initiates the recording is already watching the program that is about to start recording and the tuner being used for this is the primary viewing tuner 510, then the user's viewing experience can be swapped to the primary recording tuner 512 and the recording started with the primary recording tuner 512.
  • the tuner assignor 530 cannot automatically swap between two tuners if the access quality is different between the tuners (unless the user has okayed this though some sort of UI, either at startup or through a configurations / settings UI).
  • the user interface 404 may display a message, such as the example message, "Requested channel cannot be recorded on channel 383 using your Satellite tuner, but the requested channel can be recorded using NBC received over your antenna.”
  • An overlay model can be used to present scenarios where a requested tuner is busy.
  • the UI 404 can indicate that the tuner is busy recording and can present appropriate options. Since an overlay can be part of the TV experience its display does not prevent further channel changing / surfing. Alternatively, a "no tuners available" circumstance can block further channel surfing, e.g., in a modal dialogue approach.
  • tuner assignor 530 uses that tuner.
  • tuner If there is a tuner currently recording on the destination channel, then use that tuner (i.e., using swapping, if necessary).
  • tuners busy If all tuners that can access the channel are busy, then display a "tuners busy" overlay. • Heterogeneous subseted configurations: there are not any duplicated channels. When the user tunes to a channel on a busy tuner the "tuners busy" overlay is displayed.
  • the tuner assignor 530 uses the primary viewing tuner 510 if possible. If the primary viewing tuner 510 is busy, then the tuner assignor 530 uses another tuner when possible (i.e., for duplicated channels).
  • the tuner assignor 530 cannot automatically swap between tuners since the access quality is different.
  • a "tuner busy" overlay can include information and options to quickly move to a duplicated channel. This is equivalent to the user having to affirmatively confirm shifting a recording from one tuner to another.
  • policies are substantially the same as the policies for channel surfing — to default to the last viewed taking into account:
  • tuner assignor 530 uses that tuner.
  • the tuner assignor 530 uses that tuner. • If more than one tuner has the channel then the tuner assignor 530 uses the primary viewing tuner 510 if available.
  • tuners have equivalent access quality then they can be automatically swapped.
  • tuners busy • If all tuners that have access to the channel are busy, then display a "tuners busy" overlay.
  • Exemplary policies for swapping tuners 100721 These policies cover a circumstance in which a user attempts to tune to a channel that is already being recorded or when a user tunes away from a channel that is recording. • Heterogeneous disjointed configurations: no swapping occurs because the channel lineups are disjointed, i.e., mutually exclusive.
  • the tuner assignor 530 swaps to the tuner that is doing the recording. When tuning away while recording, if tuning to a channel available on a free tuner than switch to that free tuner.
  • the tuner assignor 530 swaps to the tuner that is doing the recording. When tuning away while recording, if tuning to a channel available on a free tuner than switch to that free tuner.
  • a "tuner busy" overlay can include options for swapping to another tuner.
  • FIG. 6 shows an exemplary method 600 of unifying multiple heterogeneous multimedia tuners.
  • the operations are summarized in individual blocks.
  • the operations may be performed in hardware and/or as machine-readable instructions (software or firmware) that can be executed by a processor or engine, such as an exemplary TunerIE 400 of an exemplary UXE 202.
  • a configuration of tuners is identified, e.g., by a tuner detector 502 of an exemplary TunerIE 400.
  • the identification of individual tuners can be performed automatically, for example, if tuner drivers are installed. In one implementation, a user is polled during system setup for the number and/or types of multimedia tuners installed.
  • the set of tuners can be associated with a configuration, such as those shown above in Tables (1) and (2).
  • the configurations describe how tuners in the set relate to one another, usually with respect to some selected characteristics, such as the access quality they can provide or the number of channels they can access.
  • tuner allocation policies are assigned to the identified configuration.
  • the assigned tuner allocation policies govern assignment and swapping of identified tuners in response to multimedia tasks, i.e., requests to view and/or record channels in a unified lineup, channel surf, etc.
  • the policies generally aim to produce a user experience that is seamless and powerful as compared with conventional multimedia user experiences. This can be achieved, for example, by policies that flexibly allocate tuners so that those tuners that deliver the highest access quality are used first, and/or tuners with the least bandwidth are used first, if these tuners can handle the task at hand. These types of policies enhance the user experience by aiming to always provide the highest access quality while efficiently saving the more powerful resources for potential future tasks.
  • An exemplary UXE 202 can harness the power of multiple heterogeneous tuners, which can be efficiently assigned to tasks and swapped on-the-fly and in the background to provide an unparalleled user experience for digital media enthusiasts.
  • 0076] Fig. 7 shows an exemplary method 700 of allocating tuners to empower a user experience.
  • the operations are summarized in individual blocks. The operations may be performed in hardware and/or as machine-readable instructions (software or firmware) that can be executed by a processor or engine, such as an exemplary TunerIE 400 of an exemplary UXE 202.
  • a processor or engine such as an exemplary TunerIE 400 of an exemplary UXE 202.
  • diverse channel lineups associated with multimedia tuners are integrated into a unified channel lineup.
  • a lineup integrator 408 of an exemplary TunerIE 400 may perform this lineup unification by interleaving channels, by resolving channels that are duplicated across multiple tuners, and by resolving conflicting channel numbers across the diverse lineups.
  • the unified channel lineup thus achieved provides a powerful platform for fulfilling a user's viewing and recording requests. Without the user being able to perceive irregularities, the multiple heterogeneous tuners are seamlessly engaged and disengaged in the background to surf channels of the unified lineup, perform multiple recording tasks simultaneously, perform viewing concurrently with the multiple recording tasks, etc., all made possible by organizing and harnessing the multiple heterogeneous tuners according to allocation policies.
  • a tuner assignment engine 410 may streamline tuner assignment and swapping by keeping a primary viewing tuner 510 and a primary recording tuner 512 as free and as available as possible. The primary viewing tuner 510 and the primary recording tuner 512 can be used first when a task is requested, thus short-circuiting voluminous policy and decision- making calculations.
  • a tuner assignment engine 410 may keep a prioritized viewing tuner list 514 and a prioritized recording tuner list 516 to streamline policy and operation.
  • one or more assigned tuners are swapped as needed with other tuners in response to incoming requests.
  • the swapping may be performed on-the-fly, that is, during the middle of an assigned task for one of the tuners, in order to fulfill policy and equilibrate the requested tasks.
  • the power of coordinated heterogeneous tuners provides a UX in which the user can perform more multimedia tasks simultaneously, with seamless automatic assignment and switching of the tuners.
  • Fig. 8 shows an exemplary computing device 800 suitable as an environment for practicing aspects of the subject matter, for example the exemplary computing device 800 can underlie or perform aspects of a hub or server for a home multimedia network, as described above with respect to Fig. 3.
  • the components of exemplary computing device 800 may include, but are not limited to, a processing unit 822, a system memory 830, and a system bus 821 that couples various system components including the system memory 830 to the processing unit 822.
  • the system bus 821 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISAA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as the Mezzanine bus.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISAA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PCI Peripheral Component Interconnect
  • Exemplary computing device 800 may include a variety of computer-readable media.
  • Computer-readable media can be any available media that can be accessed by exemplary computing device 800 and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer- readable media may comprise computer storage media and communication media.
  • Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by exemplary computing device 800.
  • Communication media may embody computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct- wired connection and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • the system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832.
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system 833
  • RAM 832 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 822.
  • FIG. 8 illustrates in RAM 832 an operating system 834, application programs 835, other program modules 836, and program data 837, Although some components of an exemplary media network are depicted as software in random access memory 832, such as components of an exemplary user experience engine (UXE) 202, other implementations of an exemplary media network can be hardware or combinations of software and hardware.
  • UXE user experience engine
  • the exemplary computing device 800 may also include other removable/non ⁇ removable, volatile/nonvolatile computer storage media.
  • Fig. 8 illustrates a hard disk drive 841 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 851 that reads from or writes to a removable, nonvolatile magnetic disk 852, and an optical disk drive 855 that reads from or writes to a removable, nonvolatile optical disk 856 such as a CD ROM or other optical media.
  • FIG. 8 Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 841 can be connected to the system bus 821 through a non-removable memory interface such as interface 840, and magnetic disk drive 851 and optical disk drive 855 can be connected to the system bus 821 by a removable memory interface such as interface 850.
  • the drives and their associated computer storage media discussed above and illustrated in Fig. 8 provide storage of computer-readable instructions, data structures, program modules, and other data for exemplary computing device 800.
  • Fig. 8 provide storage of computer-readable instructions, data structures, program modules, and other data for exemplary computing device 800.
  • hard disk drive 841 is illustrated as storing operating system 844, application programs 845, other program modules 846, and program data 847. Note that these components can either be the same as or different from operating system 834, application programs 835, other program modules 836, and program data 837. Operating system 844, application programs 845, other program modules 846, and program data 847 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the exemplary computing device 800 through input devices such as a keyboard 862 and pointing device 861, commonly referred to as a mouse, trackball, or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB).
  • a monitor 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890.
  • computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
  • the exemplary computing device 800 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 880.
  • the remote computer 880 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and often includes many or all of the elements described above relative to exemplary computing device 800, although only a memory storage device 881 has been illustrated in Fig. 8.
  • the logical connections depicted in Fig. 8 include a local area network (LAN) 871 and a wide area network (WAN) 873, but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
  • the exemplary computing device 800 When used in a LAN networking environment, the exemplary computing device 800 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the exemplary computing device 800 often includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet.
  • the modem 872 which may be internal or external, may be connected to the system bus 821 via the user input interface 860, or other appropriate mechanism.
  • program modules depicted relative to the exemplary computing device 800, or portions thereof may be stored in the remote memory storage device.
  • Fig. 8 illustrates remote application programs 885 as residing on memory device 881. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

Landscapes

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

Abstract

A system for unifying heterogeneous multimedia tuners is described. The system is capable of producing a unified channel lineup and coordinating multiple diverse tuners to perform multimedia tasks associated with the unified lineup. In one implementation, tuner allocation policy allows behind-the-scenes tuner assignment and on-the-fly tuner swapping so that the user experience is seamless, access quality is continuously optimized, and tuners with the most bandwidth are kept available.

Description

SYSTEMS FOR UNIFYING HETEROGENEOUS MULTIMEDIA TUNERS
TECHNICAL FIELD |000l] The present invention generally relates to TV recording systems, and more particularly, to systems for unifying heterogeneous multimedia tuners.
BACKGROUND OF THE INVENTION
|0002] As shown in Fig. 1, multimedia enthusiasts typically connect a collection of different electronic devices in different boxes together to make a modular entertainment center. Ignoring purely audio equipment, the video aspect of the entertainment center may have a television set (TV) 100 that displays multimedia content drawn in from various sources. Channels available via an "over-the-air" (OTA) transmission source 102 and antenna 104 on the receiving side are usually accessed by a tuner inside the TV 100 itself. Additional channels are available by procuring one or more extra set-top boxes to tune different channel lineups, such as a first set-top box 106 to tune a digital channel lineup received via satellite 108, a second set-top box to tune another digital channel lineup received via cable 112, and perhaps a personal video recorder (PVR) 114 to manipulate digital recordings of the received channels. A PVR 114 may exert local influence over one of the set-top boxes 106. Also, some PVRs 1 14 may include dual identical tuners ("homogenous tuners") so that a user can view and record at the same time. A user, then, may have a number of different tuners ("heterogeneous tuners") in the home, distributed in TVs, VCRs, and other set-top boxes. The various tuners are typically uncoordinated, or coordinated manually by the user through a host of remote controllers 116. |0003] "Access quality" refers to the fidelity (faithfulness to original color, sound, or data); precision; resolution; reliability; speed; capability, etc., with which a tuner can access video, audio, and/or a stream of data distributed with the video and/or audio. Access quality does not include "access quantity," that is, the number of channels that a tuner can access, i.e., the tuner's bandwidth. In other words, in some circumstances the tuner with the highest access quality may only be capable of accessing the least number of channels of any tuner in a group of multiple tuners. This distinction is described more fully below with respect to some implementations of tuner allocation policy. One policy may try to assign a tuner with high access quality first, and another policy may try to assign a tuner that accesses the least number of channels first, if that tuner can get the job done. The latter policy conserves system resources for potential future demands. |0004] "Homogeneous" as used above means that the tuners are identical in supporting the same channel lineup and accessing the identical lineup with the same access quality. For example, a cable system might use a splitter to form two identical signal sources that can be input into two identical tuners to impart the same capabilities to both tuners. |0005] "Heterogeneous" as used above means that multiple tuners support different channel lineups, or the same channel lineup with different levels of access quality. For example, a household might have both cable 112 and OTA antenna 104 channel sources. The channel lineups available through these two sources are likely very different, thus the tuners are considered heterogeneous.
|0006] A "tuner" is a conceptual entity that allows a user to access a channel. TVs usually have one, or sometime two tuners. VCRs usually have one tuner. Some set-top boxes and/or PVRs 114 may have two tuners, as mentioned above. Various removable cards may have one or two tuners. For example, a dual tuner card may have a National Television Standards Committee (NTSC) tuner and an Advanced Television Standards Committee (ATSC) tuner that work dependently or independently of each other. |0007] A "head-end" is the provider of a channel lineup, for example, San Francisco DirecTV; Seattle Comcast Digital Cable; FM Radio, etc. "Transport" is the delivery method for a multimedia signal, e.g., cable, satellite, Internet, OTA, etc. "Format" describes characteristics of the signal, e.g., analog, digital standard definition, digital high- definition, etc. |0008] For electronic program guides (EPGs), an "interlaced" or "interleaved" guide view has multiple guide lineups that are interwoven and sorted in some manner (e.g., by channel number), while a "merged" guide view has multiple lineups that are merged but the same channels are collapsed where they overlap.
|0009] A given PVR 114 may enlist a computing device for digital management or the PVR 114 may comprise a computing device. The computing device usually provides the operating system for one or more hard drives and therefore aids primarily in the storage and retrieval of multimedia content that is in the form of stored digital files. |0010| For users with computerized or non-computerized entertainment center platforms, a framework or architecture is needed to support and unify an arbitrary number of homogeneous and heterogeneous tuners. In other words, a framework is needed to seamlessly receive and distribute multiple TV signals in order to unify a user's "multiple- TV/multiple-VCR" experience.
SUMMARY OF THE INVENTION
[0011] A system for unifying heterogeneous multimedia tuners is described. The system is capable of producing a unified channel lineup and coordinating multiple diverse tuners to perform multimedia tasks associated with the unified lineup. In one implementation, tuner allocation policy allows behind-the-scenes tuner assignment and on-the-fly tuner swapping so that the user experience is seamless, access quality (such as, video quality) is continuously optimized, and tuners with the most bandwidth are kept available.
BRIEF DESCRIPTION OF THE DRAWINGS
|0012) The detailed description is provided with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. |OO13] Fig. 1 is a graphical representation of a conventional array of uncoordinated components of a multimedia system.
[0014] Fig. 2 is a graphical representation of an exemplary personal video recorder
(PVR) that includes an exemplary user experience engine (UXE) to unify multiple heterogeneous tuners. [0015| Fig. 3 is a graphical representation of an exemplary home multimedia network that includes an exemplary user experience engine (UXE) to unify multiple heterogeneous tuners.
|OO16| Fig. 4 is a block diagram of the exemplary UXE of Figs. 2 and 3 in greater detail.
[0017| Fig. 5 is a block diagram of an exemplary tuner integration engine of an exemplary UXE.
[0018] Fig. 6 is a flow diagram of an exemplary method of unifying multiple heterogeneous multimedia tuners. |OO19] Fig. 7 is a flow diagram of an exemplary method of allocating tuners to empower a user experience.
|0020] Fig. 8 is a block diagram of an exemplary computing device environment for practicing the subject matter.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Overview
|002l] A conventional single tuner automatically provides a somewhat consistent user experience (UX), although viewing and recording tasks are limited because one tuner must be shared. With conventional dual homogeneous tuners some extra control logic is required, but existing PVR products have shown that a seamless user experience is possible for a dual homogenous tuner system. The subject matter described herein integrates an arbitrary number of homogeneous and/or heterogeneous multimedia tuners to provide a user experience that is unified, consistent, and seamless. The seamless user experience described herein is powerful, in that the subject matter allows more possibilities than conventional systems, such as recording multiple programs at the same time or watching live TV in standard definition while recording a high definition program in the background. Channel surfing, scheduling, conflict management, etc, can take advantage of the multiple heterogeneous tuners unified as described herein.
Exemplary Systems 200. 300
|0022] Fig. 2 shows an exemplary PVR system 200 in which an exemplary user experience engine (UXE) 202 integrates several aspects of multiple tuners 204. In one implementation, the exemplary PVR system 200 physically contains the multiple tuners 204, although this is not required.
|0023| The exemplary UXE 202 is capable of integrating the diverse channel lineups of the multiple tuners 204 into a unified channel lineup, whether the multiple tuners 204 are onboard or offboard. Correspondingly, the exemplary UXE 202 is also capable of integrating the diverse electronic program guide (EPG) metadata that usually accompany and describe each diverse channel lineup.
|0024] Besides providing the user with an integrated and seamless channel lineup and an integrated and seamless EPG, the exemplary UXE 202 is also capable of managing, the various tuners. For example management can include assigning the tuners to multimedia tasks, according to policy. For example, the UXE 202 responds to user requests for viewing and recording various channels in the unified channel lineup by assigning an appropriate tuner. The management of tuners provided by the exemplary UXE 202 is dynamic. Thus, depending on policy, management by an exemplary UXE 202 may include swapping tuners in or out of an assignment "on-the-fly" to provide real time enforcement of policy, furthering the seamless user experience.
|00251 Policy may be comprehensive, so that an exemplary UXE 202 can integrate very diverse combinations of multimedia tuners. Of course, many tuner assignment policies within an overall body of policy for an exemplary UXE 202 can be user-selectable. In one implementation, an exemplary UXE 202 detects and classifies the configuration of tuners that are present and assigns and/or tweaks policy depending on the classification. In short, an exemplary UXE 202 provides a single framework within which many various configurations of tuners can be organized to provide a unified and more powerful user experience.
|0026] Fig. 3 shows an exemplary home entertainment network 300 in which an exemplary UXE 202 resides in a multimedia server 302 that may function as a hub for the entertainment network 300. An exemplary computing device environment suitable for practicing the illustrated implementation of an exemplary UXE 202 is described more fully with respect to Fig. 8.
[0027] The multimedia server 302 is capable of storing and sending multimedia content to remote displays 304, 306 and remote personal computers 308 located in different rooms of a home. Multiple heterogeneous tuners 204 physically reside in the illustrated multimedia server 302, although this is not required. The exemplary UXE 202 produces a unified channel lineup from diverse channel lineups of the heterogeneous tuners 204 as well as a unified EPG. In response to requests for multimedia content from the remote displays 304, 306 and remote personal computer 308, the UXE assigns a tuner to each multimedia task, according to policy. In order to maintain policy, the UXE 202 may dynamically reassign or swap tuners depending on an updated state of the network 300, i.e., in response to incoming requests for multimedia content that may require services of a tuner that has already been assigned. |00281 In one implementation, policy includes the principle of assigning a tuner with a better access quality to a task (e.g., viewing or recording) prior to assigning a lesser quality tuner to that same task. Policy may also include the further principle of assigning and swapping tuners in such a manner that resources are used most efficiently. For example, a policy may include assigning a tuner that is capable of a lesser access quantity, if it can get the job done, to a task prior to assigning a tuner capable of a higher access quantity, i.e., the tuner capable of the least access quantity that can do the job properly may be assigned first. This leaves the more powerful resources free and uncommitted for as long as possible for future demands. Using policies that embody one or both of these exemplary principles can have the effect of streamlining a whole body of policies for unifying multiple tuners. That is, if a single tuner with better than average access quality is designated as the primary viewing tuner and primary recording tuner, then this primary tuner is assigned first, if it is available. Other policies are then built around how to assign lesser tuners to subsequent tasks in order to most efficiently allocate resources or, how to swap a lesser tuner for the primary tuner when the primary tuner would be put to better use elsewhere. Of course, these same policies apply to audio tuners, audio-video tuners, data receivers — that is, to all multimedia tuners. More example policies are presented later in this detailed description. |0029| Whether any individual policy or rule can be fulfilled depends on the number and types of requests that are active at any moment. An exemplary UXE 202 that is inundated with viewing requests, for example, may allocate a limited number of high video quality tuners to the viewing tasks as best it can, but may still have to rely on lower video quality tuners to meet all the requests.
Exemplary User Experience Engine (UXE) 202
|0030| Fig. 4 shows an exemplary UXE 202 in greater detail. In one implementation, a tuner integration engine (TunerlE) 400 is communicatively coupled with an EPG data integrator 402, user interfaces 404, and control logic 406, as illustrated. The TunerlE 400 may include a lineup integrator 408 and a tuner assignment engine 410 and will be discussed in greater detail below, with respect to Figure 5. In one implementation, the user interfaces 404 may include interactive displays of a unified channel lineup 412, a unified EPG 414, a viewing channel(s) selector 416, and a recording channel(s) selector 418. Other conventional user interface components that can be adopted or adapted for providing a unified user experience can also be included in the user interfaces 404. |00311 The EPG data integrator 402 may rely on a unified channel lineup produced by the lineup integrator 408 as a starting point for creating the unified EPG 414. For example, EPG data can be simply merged. That is, for multiple duplicated channels, any unique EPG data is accumulated under the common channel number to which the duplicated channels are mapped. Alternatively, the EPG data may be integrated in another manner. |0032] It should be noted that an exemplary UXE 202 can be implemented in software, hardware, or combinations of both hardware and software. Certain of the user interfaces 404 may be implemented on various display devices. For example, a unified channel lineup 412 can be displayed on a remote controller 116 if the exemplary UXE 202 is implemented in a PVR system 200, or alternatively the unified channel lineup 412 can be displayed on the monitor of a computing device, if the exemplary UXE 202 is implemented in an entertainment multimedia network 300.
Exemplary Tuner Integration Engine 400
|0033] Fig. 5 shows an exemplary TunerIE 400 in greater detail. An exemplary TunerIE 400 includes a lineup integrator 408 and a tuner assignment engine 410, mentioned above and discussed in greater detail below. The lineup integrator 408 and tuner assignment engine 410 may be communicatively coupled with a configuration classifier 500, a tuner detector 502, tuner interfaces 504, and a tuner prioritizer 506 as illustrated. [0034| The configuration classifier 500 identifies a configuration of multiple tuners 204 that are connected via the tuner interfaces 504 and detected by the tuner detector 502. That is, the configuration classifier 500 determines or assigns relationship(s) between the tuners in the connected and detected set of tuners. The relationships need not be pre-existing or hardware related. Relationships between tuners can be assigned to the tuners, and accordingly, configurations can be assigned in whole or in part, not just determined from physical and functional characteristics of tuners in a given connected and detected set. It is worth noting that in some implementations, a driver must be installed for the tuner detector 502 to detect a new tuner (one that has never been configured). |0035| A configuration determined or created by the configuration classifier 500 can provide a starting point or frame of reference for determining tuner assignment policies and for operating the lineup integrator 408, the tuner prioritizer 506, and the tuner assignment engine 410. |0036] In one implementation, the configuration classifier 500 classifies a given set of tuners according to the channel lineups they access and according to the access quality that they are capable of achieving. The channel lineup that each tuner is capable of accessing can be determined automatically. The access quality can be determined either automatically, manually (by asking a user which displayed quality is higher), or by a combination of both. After classification, a given set of tuners will fall into one of several possible configurations. For example, if the channel lineups produced by multiple tuners are identical and the access quality is the same then the configuration is "homogeneous," if the channel lineups are different, then the configuration is "heterogeneous." If the channel lineups have no channels in common then the configuration can be termed "heterogeneous disjointed," whereas if the channels of one lineup are a subset of the other lineup, then the configuration can be termed "heterogeneous subseted." If a first lineup has some common channels with a second lineup but also some unique channels over the second lineup, and vice versa, the two tuners may be classified as "heterogeneous non-subseted." |0037] Various combinations of two tuners and their likely configurations as determined by a configuration classifier 500 are shown below in Table (1) as examples. An individual tuner in one of the combinations may be a tuner for digital cable or satellite, a tuner for over-the-air National Television Standards Committee channels (OTA NTSC), or a tuner for over-the-air Advanced Television Standards Committee channels (OTA ATSC).
Figure imgf000011_0001
|0038] Rows "A-C" and row "I" in Table (1) have analog tuner combinations that are homogeneous configurations. For homogeneous tuners, the system silently combines line¬ ups into one resource. There are no changes in the EPG. The appropriate components in the TunerIE 400 are informed that any given channel is available on multiple homogeneous tuners. |0039| Rows "D-G" of Table (1) are heterogeneous tuner combinations that have completely disjointed channel lineups.
|0040] Row "H" is a heterogeneous subseted combination in which the channel lineup of one tuner is a subset of the channel lineup of the other tuner.
|004l| Rows "J-N" are heterogeneous non-subseted tuner combinations in which only a segment of the channel lineup of one tuner is a subset of the channel lineup of the other tuner — each tuner also has unique channels over the other tuner.
|0042| These configuration classes can be further refined according to other characteristics, for example, according to a tuner's level of access quality — i.e., the resolution, definition, and image quality, etc., that a tuner is capable of achieving. The issue of access quality will be discussed again below with respect to the lineup integrator
408 and with respect to a signal quality detector 508 that may reside in the tuner prioritizer
506.
10043| The example configuration classes of Table (1), as refined further according to the above-described characteristic of access quality, are shown in Table (2):
TABLE (2) Tuner Set Configurations
Figure imgf000012_0001
[0044| A particular configuration that fits into one of the classes shown in Tables (1) and/or (2) can be further articulated by selecting a primary viewing tuner 510 and a primary recording tuner 512 for the configuration. In some implementations, a viewing tuner list 514 can be implemented instead of a primary viewing tuner 510. The viewing tuner list 514 can be prioritized to first allocate tuners with the strongest manifestation of the prioritization characteristic. Likewise, a recording tuner list 516 can be implemented instead of a primary recording tuner 512, and the recording tuner list 516 can be prioritized to allocate preferred tuners first. [0045] The configuration classifier 500 can often determine which configuration to adopt based on: 1) which tuner is selected as the primary viewing tuner 510; 2) which tuner is selected as the primary recording tuner 512 (often the same tuner is selected as the primary viewing tuner 510 and the primary recording tuner 512); and 3) whether a recording can be automatically shifted between duplicated channels across tuners. These three parameters can be determined automatically by the configuration classifier 500 or by asking the user via a user interface 404, e.g., during a setup operation. The three parameters often place a particular set of tuners into one of the above configurations of Table (1) and/or Table (2). Once the configuration is determined, the exemplary TunerIE 400 is capable of modeling the entire user experience, including the unified EPG, tuner allocation policies 518, methods of channel changing, etc. |0046] A primary viewing tuner 510 can be used to resolve conflicts and ambiguities when fulfilling requests for tasks related to viewing (e.g., live TV), especially over channels that are duplicated on multiple tuners. When a user requests access to a channel, and that channel is available on multiple tuners, the exemplary TunerIE 400 prefers to use the primary viewing tuner 510. The primary recording tuner 512 performs according to the same concepts, except with respect to recording tasks. Recording requests prefer to use the primary recording tuner 512 for channels that are duplicated across tuners. Designating a primary viewing tuner 510 and a primary recording tuner 512 provides the benefit that viewing and recording tasks tend to stay out of each other's way, i.e., a given task resolves more neatly into either a viewing task or a recording task without entanglement.
[0047] A primary viewing tuner 510 and a primary recording tuner 512 are only default preferences that aim to streamline policy and optimize performance. It is possible and likely that in certain circumstances an exemplary TunerIE 400 will end up using a primary viewing tuner 510 to perform recording and not viewing, and will end up using a primary recording tuner 512 for viewing and not recording.
Exemplary Unified Lineup
|0048] The lineup integrator 408 unifies channel lineups associated with the multiple tuners 204 into a unified channel lineup. The process of unifying depends on the diverse channel lineups to be unified. If the channel lineups are disjointed, that is, they have no channels in common, then unification is relatively simple as there are no conflicts in channel numbering and all channels are distinct with unique channel numbers. |0049] In creating the unified channel lineup, if one constituent channel lineup is a subset of another constituent channel lineup, then there are usually no conflicts in channel numbering. However, the subseted channels are duplicates, i.e., the duplicated channels each claim the same channel number. The lineup integrator 408 may thus include a duplicated channel resolver 520 and a conflicting channel number resolver 522. |0050] The duplicated channel resolver 520 is capable of determining what to do with channels duplicated across multiple tuners that can access the channel at the same level of quality. One possibility is to discard the "duplication" for purposes of the unified lineup. But, in most cases, the duplicated channel resolver 520 records the fact that there are two tuners available to tune a channel so that this can be taken advantage of later. A user may have analog cable and analog antenna, for instance, with the cable headend preferred and represented by the primary viewing tuner 510. The service "NBC" may be on channel 3 in the analog cable lineup but "NBC" is on channel 11 on analog antenna. The user will only see one NBC in the EPG on channel 3, but either may be used to match an available tuner to a requested task.
[0051] In a heterogeneous non-subseted configuration, there are two sorts of problems to be resolved. These resolutions can occur during a setup or "first run" system registration. In one case, two different services (channels) use the same channel number. For example, on a first tuner, channel number 101 is the service "ESPN" while on a second tuner, channel 101 is the service "HSN." The conflicting channel number resolver 522 may assign one of the services to a unique channel number, wherein the channel interleaver 524 may assist in selecting a channel number that places the service among similar programs. |0052] In another case, two matching services have different channel numbers on different tuners. For example, the service "CNN" is on channel 12 on a first tuner but "CNN" is on channel 204 on a second tuner. The duplicated channel resolver 520 may map the service on both tuners to one channel number in the unified lineup, but assign one of the tuners to a task based on whether the other tuner is already busy. |0053] The tuner prioritizer 506 may also include a lineup comparator 526 and a channel-to-tuner correlator 528 in addition to the aforementioned signal quality detector 508. The tuner prioritizer 506 selects a primary viewing tuner 510 and a primary recording tuner 512 in the case where there are only two tuners to be integrated, or the tuner prioritizer 506 creates prioritized lists, that is, the viewing tuner list 514 and the recording tuner list 516 (viewing tuner list and recording tuner lists, as discussed above) when there are many tuners to be integrated. |0054] The lineup comparator 526 prioritizes a list of tuners by the number of channels (lineup) that each tuner on the list can access. This type of prioritization is important for optimizing performance and conserving system resources. An exemplary policy tries to keep tuners that can access the most channels free for use. In other words, policy may dictate that a tuner that can access more channels than other tuners is not used as a first choice to perform a task if another tuner can do the job just as well. [0055] The channel-to-tuner correlator 528 may receive input from the lineup integrator 408, namely the unified channel lineup and duplicated channels, and/or may use a prioritized tuner list created by the tuner prioritizer 506 itself as a starting point. The channel-to-tuner correlator 528 associates each tuner on a prioritized list with the channels that it can access. In other words, for example, a tuner may have highest priority on a viewing tuner list 514, and therefore be "on deck" to be called up first to fulfill a user request, but that does not mean that the tuner actually has the capability to tune the requested channel. So, the channel-to-tuner correlator 528 may create a database of prioritized tuners and associate channels with each tuner.
[00561 Because signal sources are different, the audio-video access quality may be similar or different between tuners on a prioritized list. The access quality may be similar (or the same) if, for example, a digital cable / analog cable configuration is such that duplicated channels are identical copies, e.g., when a splitter divides the same cable source into a digital branch and an analog branch. In this case, since analog and digital channels are the same the duplicated channels can merely be treated as homogeneous. This allows an exemplary TunerIE 400 more flexibility in providing a seamless user experience when dealing with these duplicated channels.
[00571 The access quality, however, may often be different between tuners tuning the same channel. Not all digital cable, for example, has the same characteristics. Further, a signal's course through a set-top box may slightly alter quality. Digital channels are also subject to IR (infra-red) "blasting" and user interface overlays, imposed by a set-top box whereas a corresponding analog channel is not subject to these. Finally when comparing OTA NTSC channels with corresponding satellite or cable channels, the level of quality is often different.
[0058| If the level of quality is different when two different tuners have access to the same channel, then it is preferable to represent the channel only once in the unified channel lineup 412 and the unified EPG 414, but keep the underlying channels distinct to take advantage of both tuners, as mentioned above. |0059] A prioritized list of tuners, such as a viewing tuner list 514 or a recording tuner list 516, may be further prioritized by separate or additional characteristics besides the number of channels that each tuner can access. The signal quality detector 508, for example, may measure or accept user input indicating the access quality of tuners to be prioritized. Thus, a viewing tuner list 514 and a recording tuner list 516 may also be prioritized by signal quality (the access quality) of the tuners, where the signal quality is used as a primary or secondary prioritizing criterion. In other words, a prioritization formula may be used that incorporates multiple weighted sorting characteristics. |0060] In one implementation of an exemplary viewing tuner list 514, the primary prioritization sort is based on the quality of the video signal, with highest quality first, and the secondary sort is based on the size of the channel lineup, with the largest first. Likewise, in one implementation of an exemplary recording tuner list 516, the primary sort is based on the quality of the video signal, with highest quality first, and the secondary sort is based on the size of the channel lineup, with the smallest first. When starting a recording, for example, the tuner assignor 530 can remove from the recording tuner list 516 any tuner that does not access the requested channel/service, and then assign the first available tuner left on the list.
[00611 The tuner assignment engine 410 may include a tuner assignor 530 and an assigned tuner swapper 532 that utilize the aforementioned primary viewing tuner 510, primary recording tuner 512, viewing tuner list 514, recording tuner list 516, and the tuner allocation policies 518. The tuner assignor 530 dynamically assigns the tuners to user requests to view and/or record channels of the unified channel lineup 412 (referred to as "multimedia tasks" or just "tasks") according to the tuner allocation policies 518. The assigned tuner swapper 532 swaps a dynamically assigned tuner as desired to uphold one of the policies 518, usually in response to a request for performance of a new task, i.e., a new task for a tuner that is already in use. Thus, the tuner assignment engine 410 comprises a dynamic resource allocator that functions in the background assigning tuners and swapping them according to policies 518 in order to maintain a seamless user experience. Exemplary Tuner Allocation Policies 518
[0062] Exemplary tuner allocation policies 518 can enrich the seamlessness and power of a user experience presented herein for digital media enthusiasts. Policies can be adopted for each of the many aspects of tuner allocation. |0063] Only simple policies are needed for some configurations of multiple tuners, and are described immediately below, followed by more detailed exemplary policies applicable to particular multimedia tasks, such as viewing, recording, channel surfing, etc.
Homogeneous tuners configuration |0064] In this configuration, by selecting an arbitrary homogenous primary viewing tuner 510 and then selecting another homogeneous tuner for a primary recording tuner 512 the tuner prioritizer 506 simplifies tuner allocation policies 518. There is little need to address special cases in tuner configurations when all the tuners are equal and there is no preferred tuner. But by selecting a primary viewing tuner 510 and a primary recording tuner 512, the policies may run more efficiently and neatly because it simplifies decisions to have background recordings preprogrammed to use one tuner while live TV is preprogrammed to use another tuner.
Heterogeneous disjointed tuners configuration |0065] In this configuration, selecting a primary viewing tuner 510 and a primary recording tuner 512 may be irrelevant if the number of tuners to be integrated is small. This is because each channel may only appear on one tuner / headend. Thus, the policies may "filter out" other tuners that do not access a requested channel.
Exemplary policies for a unified EPG ("unified guide"")
|0066] In the exemplary configurations described herein, the guide is merged either by interleaving channels and their associated EPG data or by some other union of collective EPG data. Unique channels and their associated EPG data, of course, appear on their own, in order of channel number. Channel numbering conflicts are ideally resolved from the outset. • Heterogeneous disjointed configurations: the guide is effectively interleaved. In these configurations the secondary tuner is sometimes ATSC with a limited number of channels. Accordingly, the interleaved channels can be, for example, 7, 7.1, 7.2, 8, 9, etc. • Heterogeneous subseted configurations: the guide effectively shows only the lineup for the primary viewing tuner 510. Internally the lineups might be merged, but there is nothing noticeable to the user in the unified EPG 414.
• Heterogeneous non-subseted configurations: the guide shows the union of all channels. Duplicate channels are merged. Unique channels appear in their natural order of channel number.
Exemplary policies for channel surfing |0067] Channel surfing most often follows the guide.
• Heterogeneous disjointed configurations: surfing silently hops from tuner to tuner, following the order of channels in the guide.
• Heterogeneous subseted configurations: most live TV viewing uses the primary viewing tuner primary viewing tuner 510. The user cannot discern which tuner is being utilized. Typically the user just surfs over the lineup of the primary viewing tuner 510. • Heterogeneous non-subseted configurations: the primary viewing tuner 510 is used when tuning to a channel that is duplicated. Otherwise a tuner that has access to the requested channel is used, following the channel order shown in the guide.
Exemplary policies for recording tasks [0068] These policies may be employed to allocate tuners when a recording starts or to reserve tuners when a recording is scheduled.
• If only one tuner has access to the requested channel then the tuner assignor 530 uses that tuner. • If more than one tuner has access to the requested channel then the primary recording tuner 512 is used, if available.
• If a primary recording tuner 512 is busy then • If another tuner has equivalent access quality, then the other tuner can be used if it is available.
• If other tuners do not have equivalent access quality, then user confirmation may be solicited to swap tuners. In one implementation, confirmation is only solicited if the correct user is available for asking. The correct user is the one that initiated the recording on the higher quality tuner. A usual case occurs when the user first requests to record some program. If the higher quality tuner is not available to do the recording (for whatever reason) and a lesser quality tuner is available, then in this case the system may ask the user for approval. • If all tuners that have access to the requested channel are busy, then the user experience shifts to accommodate the condition, for example by displaying a "tuners unavailable" message, offering the user options for freeing up a tuner (including stopping the activity that the tuner to be recruited is busy with), etc.
• Heterogeneous subseted configurations: the tuner assignor 530 tries to use the primary recording tuner 512 first for duplicated channels. This keeps the primary viewing tuner 510 available more often for viewing requests. Of course a second overlapping recording might use the primary viewing tuner 510 for recording if there is a limited set of tuners.
• Heterogeneous non-subseted configurations with equivalent access quality between tuners: the same policy as immediately above may be used.
• Heterogeneous non-subseted configurations with non-equivalent access quality between tuners: the tuner assignor 530 defaults to viewing live TV on a primary viewing tuner 510. However, since the tuners do not provide equivalent access quality, user confirmation may be solicited in order to use a different tuner, if the correct user is available, as described above.
Exemplary policies for recording a program that is already airing
|0069] Tuner allocation policies 518 are substantially the same as just described above for the recording policies.
• Heterogeneous subseted configurations: the primary recording tuner 512 is used if possible and swapped with the primary viewing tuner 510 if the primary viewing tuner 510 is currently viewing the same channel, in order to free the primary viewing tuner 510. In other words, if the user who initiates the recording is already watching the program that is about to start recording and the tuner being used for this is the primary viewing tuner 510, then the user's viewing experience can be swapped to the primary recording tuner 512 and the recording started with the primary recording tuner 512.
This frees up the primary viewing tuner 510 for other uses.
• Heterogeneous non-subseted configurations: the tuner assignor 530 cannot automatically swap between two tuners if the access quality is different between the tuners (unless the user has okayed this though some sort of UI, either at startup or through a configurations / settings UI). The user interface 404 may display a message, such as the example message, "Requested channel cannot be recorded on channel 383 using your Satellite tuner, but the requested channel can be recorded using NBC received over your antenna."
Exemplary policies for channel surfing while recording
|0070] An overlay model can be used to present scenarios where a requested tuner is busy. The UI 404 can indicate that the tuner is busy recording and can present appropriate options. Since an overlay can be part of the TV experience its display does not prevent further channel changing / surfing. Alternatively, a "no tuners available" circumstance can block further channel surfing, e.g., in a modal dialogue approach.
• If only one tuner has the requested channel then the tuner assignor 530 uses that tuner.
• If there is a tuner currently recording on the destination channel, then use that tuner (i.e., using swapping, if necessary).
• If more than one tuner has the requested channel then use the primary viewing tuner 510 if available.
• If the primary viewing tuner 510 is busy then
• If another tuner has equivalent access quality then use the other tuner if it is available. • If another tuner does not have equivalent access quality then get user confirmation to swap tuners.
• If all tuners that can access the channel are busy, then display a "tuners busy" overlay. • Heterogeneous subseted configurations: there are not any duplicated channels. When the user tunes to a channel on a busy tuner the "tuners busy" overlay is displayed.
• Heterogeneous subseted configurations: the tuner assignor 530 uses the primary viewing tuner 510 if possible. If the primary viewing tuner 510 is busy, then the tuner assignor 530 uses another tuner when possible (i.e., for duplicated channels).
• Heterogeneous non-subseted configurations with non-equivalent access quality between tuners: the tuner assignor 530 cannot automatically swap between tuners since the access quality is different. However a "tuner busy" overlay can include information and options to quickly move to a duplicated channel. This is equivalent to the user having to affirmatively confirm shifting a recording from one tuner to another.
Since quality is different user confirmation is solicited.
Exemplary policies for starting live TV
|007l] The policies are substantially the same as the policies for channel surfing — to default to the last viewed taking into account:
• If only one tuner has the requested channel then the tuner assignor 530 uses that tuner.
• If there is a tuner that currently recording on the destination channel, then the tuner assignor 530 uses that tuner. • If more than one tuner has the channel then the tuner assignor 530 uses the primary viewing tuner 510 if available.
• If the primary viewing tuner 510 is busy then
• If tuners have equivalent access quality then they can be automatically swapped.
• If tuners do not have equivalent access quality the user confirmation is solicited to swap tuners.
• If all tuners that have access to the channel are busy, then display a "tuners busy" overlay.
Exemplary policies for swapping tuners 100721 These policies cover a circumstance in which a user attempts to tune to a channel that is already being recorded or when a user tunes away from a channel that is recording. • Heterogeneous disjointed configurations: no swapping occurs because the channel lineups are disjointed, i.e., mutually exclusive.
• Heterogeneous subseted configurations with equivalent access quality between tuners: the tuner assignor 530 swaps to the tuner that is doing the recording. When tuning away while recording, if tuning to a channel available on a free tuner than switch to that free tuner.
• Heterogeneous non-subseted configurations with equivalent access quality between tuners: the tuner assignor 530 swaps to the tuner that is doing the recording. When tuning away while recording, if tuning to a channel available on a free tuner than switch to that free tuner.
• Heterogeneous non-subseted configurations with non-equivalent access quality between tuners: because the access quality differs the tuner assignor 530 cannot automatically swap tuners unless the user has okayed this though a setup or configurations / settings UI. A "tuner busy" overlay can include options for swapping to another tuner.
Exemplary Methods
|00731 Fig. 6 shows an exemplary method 600 of unifying multiple heterogeneous multimedia tuners. In the flow diagram, the operations are summarized in individual blocks. The operations may be performed in hardware and/or as machine-readable instructions (software or firmware) that can be executed by a processor or engine, such as an exemplary TunerIE 400 of an exemplary UXE 202.
[0074] At block 602, a configuration of tuners is identified, e.g., by a tuner detector 502 of an exemplary TunerIE 400. The identification of individual tuners can be performed automatically, for example, if tuner drivers are installed. In one implementation, a user is polled during system setup for the number and/or types of multimedia tuners installed. Once an exemplary TunerIE 400 has inventoried the connected tuners, the set of tuners can be associated with a configuration, such as those shown above in Tables (1) and (2). The configurations describe how tuners in the set relate to one another, usually with respect to some selected characteristics, such as the access quality they can provide or the number of channels they can access. [00751 At block 604, tuner allocation policies are assigned to the identified configuration. The assigned tuner allocation policies govern assignment and swapping of identified tuners in response to multimedia tasks, i.e., requests to view and/or record channels in a unified lineup, channel surf, etc. The policies generally aim to produce a user experience that is seamless and powerful as compared with conventional multimedia user experiences. This can be achieved, for example, by policies that flexibly allocate tuners so that those tuners that deliver the highest access quality are used first, and/or tuners with the least bandwidth are used first, if these tuners can handle the task at hand. These types of policies enhance the user experience by aiming to always provide the highest access quality while efficiently saving the more powerful resources for potential future tasks. An exemplary UXE 202 can harness the power of multiple heterogeneous tuners, which can be efficiently assigned to tasks and swapped on-the-fly and in the background to provide an unparalleled user experience for digital media enthusiasts. |0076] Fig. 7 shows an exemplary method 700 of allocating tuners to empower a user experience. In the flow diagram, the operations are summarized in individual blocks. The operations may be performed in hardware and/or as machine-readable instructions (software or firmware) that can be executed by a processor or engine, such as an exemplary TunerIE 400 of an exemplary UXE 202. [0077] At block 702, diverse channel lineups associated with multimedia tuners are integrated into a unified channel lineup. A lineup integrator 408 of an exemplary TunerIE 400 may perform this lineup unification by interleaving channels, by resolving channels that are duplicated across multiple tuners, and by resolving conflicting channel numbers across the diverse lineups. The unified channel lineup thus achieved provides a powerful platform for fulfilling a user's viewing and recording requests. Without the user being able to perceive irregularities, the multiple heterogeneous tuners are seamlessly engaged and disengaged in the background to surf channels of the unified lineup, perform multiple recording tasks simultaneously, perform viewing concurrently with the multiple recording tasks, etc., all made possible by organizing and harnessing the multiple heterogeneous tuners according to allocation policies. |0078| Thus, at block 704, at least some of the multiple tuners are dynamically assigned to viewing and recording tasks of the unified lineup, according to the policies. A tuner assignment engine 410 may streamline tuner assignment and swapping by keeping a primary viewing tuner 510 and a primary recording tuner 512 as free and as available as possible. The primary viewing tuner 510 and the primary recording tuner 512 can be used first when a task is requested, thus short-circuiting voluminous policy and decision- making calculations. |0079] Alternatively, a tuner assignment engine 410 may keep a prioritized viewing tuner list 514 and a prioritized recording tuner list 516 to streamline policy and operation. When a tuner is needed for a given task, the tuner highest on the appropriate list that is able to tune the requested channel is engaged without further ado. This results in quick operation and elegant tuner allocation policy 518. |0080] At block 706, one or more assigned tuners are swapped as needed with other tuners in response to incoming requests. The swapping may be performed on-the-fly, that is, during the middle of an assigned task for one of the tuners, in order to fulfill policy and equilibrate the requested tasks. Thus, a heavy load of recording requests might result in several of the best viewing tuners being recruited — swapped into — the recording tasks, despite a policy of keeping the tuners with the most bandwidth free if a tuner with less bandwidth can do the same task just as well.
|008i] When the exemplary method 700 is implemented by an exemplary UXE 202, the power of coordinated heterogeneous tuners provides a UX in which the user can perform more multimedia tasks simultaneously, with seamless automatic assignment and switching of the tuners.
Exemplary Computing Device Environment
|0082] Fig. 8 shows an exemplary computing device 800 suitable as an environment for practicing aspects of the subject matter, for example the exemplary computing device 800 can underlie or perform aspects of a hub or server for a home multimedia network, as described above with respect to Fig. 3. The components of exemplary computing device 800 may include, but are not limited to, a processing unit 822, a system memory 830, and a system bus 821 that couples various system components including the system memory 830 to the processing unit 822. The system bus 821 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISAA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as the Mezzanine bus.
|0083] Exemplary computing device 800 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by exemplary computing device 800 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer- readable media may comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by exemplary computing device 800. Communication media may embody computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct- wired connection and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
|0084| The system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832. A basic input/output system 833 (BIOS), containing the basic routines that help to transfer information between elements within exemplary computing device 800, such as during start-up, may be stored in ROM 831. RAM 832 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 822. By way of example, and not limitation, Fig. 8 illustrates in RAM 832 an operating system 834, application programs 835, other program modules 836, and program data 837, Although some components of an exemplary media network are depicted as software in random access memory 832, such as components of an exemplary user experience engine (UXE) 202, other implementations of an exemplary media network can be hardware or combinations of software and hardware.
100851 The exemplary computing device 800 may also include other removable/non¬ removable, volatile/nonvolatile computer storage media. By way of example only, Fig. 8 illustrates a hard disk drive 841 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 851 that reads from or writes to a removable, nonvolatile magnetic disk 852, and an optical disk drive 855 that reads from or writes to a removable, nonvolatile optical disk 856 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 841 can be connected to the system bus 821 through a non-removable memory interface such as interface 840, and magnetic disk drive 851 and optical disk drive 855 can be connected to the system bus 821 by a removable memory interface such as interface 850. |0086] The drives and their associated computer storage media discussed above and illustrated in Fig. 8 provide storage of computer-readable instructions, data structures, program modules, and other data for exemplary computing device 800. In Fig. 8, for example, hard disk drive 841 is illustrated as storing operating system 844, application programs 845, other program modules 846, and program data 847. Note that these components can either be the same as or different from operating system 834, application programs 835, other program modules 836, and program data 837. Operating system 844, application programs 845, other program modules 846, and program data 847 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the exemplary computing device 800 through input devices such as a keyboard 862 and pointing device 861, commonly referred to as a mouse, trackball, or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 822 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port, or a universal serial bus (USB). A monitor 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890. In addition to the monitor 891, computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
|0087l The exemplary computing device 800 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 880. The remote computer 880 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and often includes many or all of the elements described above relative to exemplary computing device 800, although only a memory storage device 881 has been illustrated in Fig. 8. The logical connections depicted in Fig. 8 include a local area network (LAN) 871 and a wide area network (WAN) 873, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. [0088] When used in a LAN networking environment, the exemplary computing device 800 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the exemplary computing device 800 often includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet. The modem 872, which may be internal or external, may be connected to the system bus 821 via the user input interface 860, or other appropriate mechanism. In a networked environment, program modules depicted relative to the exemplary computing device 800, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, Fig. 8 illustrates remote application programs 885 as residing on memory device 881. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
CONCLUSION |0089| The foregoing describes exemplary systems for unifying heterogeneous multimedia tuners. Some of the subject matter described above can be implemented in hardware, in software, or in both hardware and software. In certain implementations, the exemplary system and related methods may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The subject matter can also be practiced in distributed communications environments where tasks are performed over wireless communication by remote processing devices that are linked through a communications network. In a wireless network, program modules may be located in both local and remote communications device storage media including memory storage devices.
[0090| Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

CLAIMSWhat is claimed is:
1. A method, comprising: identifying multiple tuners for accessing multimedia channels, wherein at least one of the tuners is capable of uniquely accessing one or more of the multimedia channels; creating a unified lineup of the multimedia channels; and dynamically assigning the tuners to fulfill access requests for viewing and/or recording multimedia content of the multimedia channels in the unified lineup according to one or more policies.
2. The method as recited in claim 1, wherein the dynamically assigning includes swapping tuners during an access of the multimedia content to uphold the one or more policies.
3. The method as recited in claim 1, wherein said at least one of the tuners has unique access to a multimedia content.
4. The method as recited in claim 1, wherein said at least one of the tuners has a capability of providing a unique access quality.
5. The method as recited in claim 1, wherein the one or more policies include, in response to one of the access requests, assigning a tuner to the access request that delivers higher quality over assigning a tuner that delivers lower quality.
6. The method as recited in claim 1, wherein the multimedia channels deliver one of audio content, video content, or data content.
7. The method as recited in claim 1 , wherein the one or more policies include, in response to one of the access requests, assigning a tuner that is capable of accessing a lesser number of channels prior to assigning a tuner that is capable of accessing a greater number of channels, if the tuner that is capable of accessing a lesser number of channels is capable of fulfilling the access request.
8. The method as recited in claim 1, wherein the one or more policies include designating a primary viewing tuner and a primary recording tuner to be assigned first, if available, to respective viewing and recording tasks.
9. The method as recited in claim 1, further comprising dynamically swapping an assigned tuner to fulfill the one or more policies.
10. The method as recited in claim 1, further comprising: creating a list of viewing tuners selected from the multiple tuners, wherein the listed viewing tuners are prioritized according to the one or more policies; creating a list of recording tuners selected from the multiple tuners, wherein the listed recording tuners are prioritized according to the one or more policies; and in response to access requests for viewing and/or recording the multimedia content, dynamically assigning tuners from the list of viewing tuners and from the list of recording tuners according to the one or more policies and swapping an assigned tuner as needed to fulfill the one or more policies.
11. The method as recited in claim 10, wherein the list of viewing tuners: relates each channel in the unified lineup to the viewing tuners that are capable of accessing the channel, prioritizes the viewing tuners according to the access quality that each viewing tuner is capable of providing, and prioritizes the viewing tuners according to the number of multimedia channels in the unified lineup that each viewing tuner is capable of accessing.
12. The method as recited in claim 10, wherein the list of recording tuners: relates each channel in the unified lineup to the recording tuners that are capable of accessing the channel, prioritizes the recording tuners according to the access quality that each recording tuner is capable of providing, and prioritizes the recording tuners according to the number of multimedia channels in the unified lineup that each recording tuner is capable of accessing.
13. The method as recited in claim 1, further comprising classifying a relationship between a first tuner and a second tuner of the identified tuners and determining the one or more policies based on the classifying.
14. The method as recited in claim 13, wherein the relationship comprises mutual exclusivity between a first set of channels tuned by the first tuner and a second set of channels tuned by the second tuner.
15. The method as recited in claim 13, wherein the relationship includes an identity of channels tunable by the first and second tuners, wherein the first and second tuners access the identical channels at different levels of access quality.
16. The method as recited in claim 13, wherein the classifying comprises determining a relationship between a first tuner that accesses a set of channels and a second tuner that accesses a subset of the set of channels.
17. The method as recited in claim 13, further comprising determining a relationship between the first and second tuners based on both a difference in channels accessed by the first and second tuners and a difference in access quality provided by the first and second tuners.
18. A system, compri sing : multiple tuners for accessing multimedia channels, wherein at least one of the tuners is capable of uniquely accessing one or more of the multimedia channels; a user experience engine to create a unified lineup of the multimedia channels and a unified electronic program guide corresponding to the unified lineup; and a tuner integration engine coupled with the user experience engine to dynamically assign at least some of the tuners to fulfill access requests for viewing and/or recording multimedia content of the multimedia channels in the unified lineup according to one or more policies.
19. The system as recited in claim 18, further comprising a tuner prioritizer to sort the tuners into an order, wherein a highest tuner in the order is first to be assigned.
20. A unified experience engine for integrating multimedia content from heterogeneous tuners into a unified user experience, comprising: a tuner integration engine to unify heterogeneous channel lineups associated with the heterogeneous tuners into a unified channel lineup and to dynamically assign one of the heterogeneous tuners to one of a viewing task or a recording task associated with the unified lineup; an electronic program guide data integrator to provide unified program guide metadata corresponding to the unified channel lineup; and a user interface for interactively presenting the unified channel lineup and the unified program guide metadata to a user.
21. The unified experience engine as recited in claim 20, wherein the tuner integration engine, during the viewing or recording task, swaps the assigned tuner for a different tuner.
22. The unified experience engine as recited in claim 21, wherein the policy includes one of: presenting the user with an increased access quality, allocating higher access quality tuners in preference to allocating lower access quality tuners, and freeing for a potential future task the tuners that are more capable of accessing channels.
23. The unified experience engine as recited in claim 20, wherein a personal video recorder comprises the unified experience engine.
24. The unified experience engine as recited in claim 20, wherein a digital video recorder comprises the unified experience engine.
25. The unified experience engine as recited in claim 20, wherein a computing device comprises the unified experience engine.
26. A tuner integration engine, comprising: a lineup integrator to unify heterogeneous channel lineups associated with multiple tuners into a unified channel lineup; a tuner prioritizer to sort the multiple tuners according to one or more abilities; and a tuner assignment engine to assign one of the tuners to a multimedia task according to a policy.
27. The tuner integration engine as recited in claim 26, wherein the lineup integrator further includes: a duplicated channel resolver to map channels duplicated across multiple tuners to a single channel number in the unified channel lineup; a conflicting channel number resolver to assign channels competing for the same channel number to different channel numbers; and a channel interleaver to order the channels into the unified channel lineup.
28. The tuner integration engine as recited in claim 26, wherein the tuner prioritizer further includes: a lineup comparator to prioritize tuners according to the number of channels that each tuner can access; a channel-to-tuner correlator to associated each prioritized tuner with the channels the tuner is capable of accessing; and a signal quality detector to prioritize tuners according to an access quality provided by each tuner.
29. The tuner integration engine as recited in claim 26, wherein the tuner assignment engine further includes: tuner allocation policies to govern assignment tuners to tasks; a tuner assignor to match one of the tuners to a multimedia task according to one of the policies; and a tuner swapper to swap tuners according to one of the policies in response to a request to assign a tuner to a new multimedia task.
30. The tuner integration engine as recited in claim 29, wherein the tuner allocation policies include one of: presenting a user with a highest available access quality, favoring higher access quality tuners for assignment to a task over lower access quality tuners, freeing for a future task the tuners that are capable of accessing a greater number of channels, and allocating to tasks the tuners that are capable of accessing the least number of channels, if the tuners that access the least number of channels are capable of performing the tasks.
31. The tuner integration engine as recited in claim 26, wherein the tuner assignment engine further has access to a viewing tuner list of prioritized viewing tuners and a recording tuner list of prioritized recording tuners.
32. The tuner integration engine as recited in claim 26, further comprising a configuration classifier to determine a relationship between two or more or the heterogeneous tuners and determine the tuner allocation policies based on the relationship.
33. A system, comprising: means for identifying heterogeneous tuners for accessing multimedia channels, wherein at least one of the tuners is capable of uniquely accessing one or more of the multimedia channels; means for creating a unified lineup of channels accessed by the heterogeneous tuners; and means for dynamically assigning the tuners for viewing and/or recording the multimedia channels, according to the one or more policies.
34. The system as recited in claim 33, wherein the one or more policies optimize access quality for a user experience and conserve bandwidth of the heterogeneous tuners during use of one or more of the tuners.
35. The system as recited in claim 33, further including means for swapping tuners during an access of the multimedia content to uphold the one or more policies.
36. The system as recited in claim 33, further comprising: means for creating a list of viewing tuners selected from the multiple tuners, wherein the listed viewing tuners are prioritized according to the one or more policies; means for creating a list of recording tuners selected from the multiple tuners, wherein the listed recording tuners are prioritized according to the one or more policies; and means for dynamically assigning tuners from the list of viewing tuners and from the list of recording tuners according to the one or more policies and swapping an assigned tuner as needed to fulfill the one or more policies, in response to access requests for viewing and/or recording the multimedia content.
37. The system as recited in claim 36, further comprising: means for relating each channel in the unified lineup to the viewing tuners that are capable of accessing the channel, means for prioritizing the viewing tuners according to the broadcast quality that each viewing tuner is capable of delivering, and means for prioritizing the viewing tuners according to the number of multimedia channels in the unified lineup that each viewing tuner is capable of accessing.
38. The system as recited in claim 36, further comprising: means for relating each channel in the unified lineup to the recording tuners that are capable of accessing the channel, means for prioritizing the recording tuners according to the broadcast quality that each recording tuner is capable of delivering, and means for prioritizing the recording tuners according to the number of multimedia channels in the unified lineup that each recording tuner is capable of accessing.
39. A computer readable medium containing instructions that are executable by a computing device to perform actions, comprising: integrating diverse channel lineups associated with multimedia tuners into a unified lineup; and dynamically assigning some of the multimedia tuners to viewing and recording tasks of the unified lineup according to a policy.
40. The computer readable medium as recited in claim 39, further comprising instructions to swap the dynamically assigned tuners according to the policy in response to a new task.
41. The computer readable medium as recited in claim 39, wherein the policy includes one of: selecting a preferred tuner for tasks, wherein the preferred tuner is committed to a first task first before other tuners; and if the first task is a recording task, then in response a subsequent request for a viewing task, swapping the preferred tuner from the recording task to the subsequent viewing task.
42. The computer readable medium as recited in claim 39, wherein the policy includes freeing for a subsequent request the tuners that are most capable of accessing channels.
43. A method, comprising: in a multimedia system that includes multiple tuners, wherein at least some of the tuners possess differing capabilities for providing access quality and at least some of the tuners possess differing capabilities for providing access quantity, assigning a tuner that provides a higher access quality to a task prior to assigning a tuner that provides a lower access quality; and assigning a tuner that provides a lower access quantity to a task prior to assigning a tuner that provides a higher access quantity, if the tuner that provides the lower access quantity can perform the task.
44. The method as recited in claim 43, wherein the access quality comprises one of a viewing quality, an audio quality, or a data integrity quality.
45. The method as recited in claim 43, wherein the access quantity comprises a quantity of multimedia channels that a tuner is capable of accessing.
46. The method as recited in claim 43, wherein the task comprises one of viewing a multimedia channel or recording a multimedia channel.
47. The method as recited in claim 43, further comprising: assigning multiple tuners to multiple tasks; and swapping at least some of the tuners in response to receiving a request to perform a new task, wherein the swapping allows assigning a tuner that provides a higher access quality to the new task instead of assigning a tuner that provides a lower access quality.
48. The method as recited in claim 43, further comprising: assigning multiple tuners to multiple tasks; and swapping at least some of the tuners in response to receiving a request to perform a new task, wherein the swapping allows assigning a tuner that provides a lower access quantity to the new task instead of assigning a tuner that provides a higher access quantity.
PCT/US2004/034806 2004-08-13 2004-10-19 Systems for unifying heterogeneous multimedia tuners WO2006022772A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
MXPA05007153A MXPA05007153A (en) 2004-08-13 2004-10-19 Systems for unifying heterogeneous multimedia tuners.
JP2007525592A JP2008510367A (en) 2004-08-13 2004-10-19 System for unifying different types of multimedia tuners
BRPI0406593-0A BRPI0406593A (en) 2004-08-13 2004-10-19 systems to unify heterogeneous multimedia tuners
CA002509659A CA2509659A1 (en) 2004-08-13 2004-10-19 Systems for unifying heterogeneous multimedia tuners
EP04795906A EP1792486A4 (en) 2004-08-13 2004-10-19 Systems for unifying heterogeneous multimedia tuners

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/918,010 2004-08-13
US10/918,010 US7380264B2 (en) 2004-08-13 2004-08-13 Systems for unifying heterogeneous multimedia tuners

Publications (2)

Publication Number Publication Date
WO2006022772A2 true WO2006022772A2 (en) 2006-03-02
WO2006022772A3 WO2006022772A3 (en) 2007-02-08

Family

ID=35800591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/034806 WO2006022772A2 (en) 2004-08-13 2004-10-19 Systems for unifying heterogeneous multimedia tuners

Country Status (11)

Country Link
US (1) US7380264B2 (en)
EP (1) EP1792486A4 (en)
JP (1) JP2008510367A (en)
KR (1) KR20070051251A (en)
CN (1) CN1969553A (en)
AU (1) AU2004288604A1 (en)
BR (1) BRPI0406593A (en)
CA (1) CA2509659A1 (en)
MX (1) MXPA05007153A (en)
RU (1) RU2005120673A (en)
WO (1) WO2006022772A2 (en)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773859B1 (en) * 2000-08-30 2010-08-10 Microsoft Corporation Resolving recording conflicts between coinciding programming
US7873977B2 (en) * 2004-05-07 2011-01-18 Thomson Licensing Method for controlling a multi-tuner signal receiving apparatus
JP2006060474A (en) * 2004-08-19 2006-03-02 Toshiba Corp Cable modem module device, cable modem device and broadcasting receiver
KR100643279B1 (en) * 2004-09-23 2006-11-10 삼성전자주식회사 Method for channel scanning of digital broadcast receiver including plurality of tuners
US20150304229A9 (en) * 2005-01-05 2015-10-22 Gary Robert Gutknecht Method and system for allocating receiving resources in a gateway server
KR100677609B1 (en) * 2005-08-25 2007-02-02 삼성전자주식회사 Method for managing tuners for broadcast services in a home network and apparatus therefor
JP4618503B2 (en) * 2005-09-09 2011-01-26 ソニー株式会社 Information processing apparatus and method, and program
US20070101380A1 (en) * 2005-10-28 2007-05-03 Szolyga Thomas H Consolidated content apparatus
US7634652B2 (en) 2006-01-12 2009-12-15 Microsoft Corporation Management of streaming content
US7669222B2 (en) * 2006-01-17 2010-02-23 Microsoft Corporation Virtual tuner management
US7685306B2 (en) * 2006-01-20 2010-03-23 Microsoft Corporation Streaming content navigation
US8739230B2 (en) 2006-01-20 2014-05-27 Microsoft Corporation Manager/remote content architecture
US20070204313A1 (en) * 2006-02-27 2007-08-30 Microsoft Corporation Token Locking to Schedule Content Consumption
US20070203714A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Purchasable Token Bandwidth Portioning
JP2007258875A (en) * 2006-03-22 2007-10-04 Toshiba Corp Television signal receiving system and channel scan method of television signal receiving system
DE102006028505A1 (en) * 2006-06-21 2007-12-27 Nokia Siemens Networks Gmbh & Co.Kg Apparatus and method for unifying operation of a plurality of useful signal sources
US8072874B2 (en) * 2007-09-11 2011-12-06 The Directv Group, Inc. Method and system for switching to an engineering signal processing system from a production signal processing system
JP4187029B2 (en) * 2006-09-28 2008-11-26 船井電機株式会社 Digital broadcast receiver, digital broadcast recorder
KR100841560B1 (en) * 2006-11-16 2008-06-26 주식회사 휴맥스 Method for tuner selection in digital broadcasting receiver having multiple tuner and the digital broadcasting receiver thereof
WO2008069782A1 (en) * 2006-12-04 2008-06-12 Thomson Licensing Adaptive tuner assignment
FR2913295B1 (en) * 2007-03-02 2010-09-10 Sagem Comm METHOD FOR DOWNLOADING IN A RECEIVER / TELEVISION DECODER UNIT.
US8522281B1 (en) 2007-04-30 2013-08-27 Google Inc. Head end generalization
US7954131B2 (en) 2007-06-13 2011-05-31 Time Warner Cable Inc. Premises gateway apparatus and methods for use in a content-based network
US20090028230A1 (en) * 2007-07-27 2009-01-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for improving quality of service for reception in digital television broadcast systems
US9313457B2 (en) * 2007-09-11 2016-04-12 The Directv Group, Inc. Method and system for monitoring a receiving circuit module and controlling switching to a back-up receiving circuit module at a local collection facility from a remote facility
US9756290B2 (en) 2007-09-11 2017-09-05 The Directv Group, Inc. Method and system for communicating between a local collection facility and a remote facility
US8356321B2 (en) 2007-09-11 2013-01-15 The Directv Group, Inc. Method and system for monitoring and controlling receiving circuit modules at a local collection facility from a remote facility
US8170069B2 (en) 2007-09-11 2012-05-01 The Directv Group, Inc. Method and system for processing signals from a local collection facility at a signal processing facility
US8424044B2 (en) * 2007-09-11 2013-04-16 The Directv Group, Inc. Method and system for monitoring and switching between a primary encoder and a back-up encoder in a communication system
US9300412B2 (en) * 2007-09-11 2016-03-29 The Directv Group, Inc. Method and system for operating a receiving circuit for multiple types of input channel signals
US20090070829A1 (en) * 2007-09-11 2009-03-12 The Directv Group, Inc. Receiving circuit module for receiving and encoding channel signals and method for operating the same
US8973058B2 (en) * 2007-09-11 2015-03-03 The Directv Group, Inc. Method and system for monitoring and simultaneously displaying a plurality of signal channels in a communication system
US8479234B2 (en) * 2007-09-12 2013-07-02 The Directv Group, Inc. Method and system for monitoring and controlling a local collection facility from a remote facility using an asynchronous transfer mode (ATM) network
US8724635B2 (en) * 2007-09-12 2014-05-13 The Directv Group, Inc. Method and system for controlling a back-up network adapter in a local collection facility from a remote facility
US8988986B2 (en) * 2007-09-12 2015-03-24 The Directv Group, Inc. Method and system for controlling a back-up multiplexer in a local collection facility from a remote facility
FR2923111A1 (en) * 2007-10-25 2009-05-01 Thomson Licensing Sas RECEIVE AUDIO AND / OR VIDEO SERVICE SELECTION METHOD
US9049354B2 (en) * 2007-10-30 2015-06-02 The Directv Group, Inc. Method and system for monitoring and controlling a back-up receiver in local collection facility from a remote facility using an IP network
US9037074B2 (en) * 2007-10-30 2015-05-19 The Directv Group, Inc. Method and system for monitoring and controlling a local collection facility from a remote facility through an IP network
US8077706B2 (en) * 2007-10-31 2011-12-13 The Directv Group, Inc. Method and system for controlling redundancy of individual components of a remote facility system
US9049037B2 (en) * 2007-10-31 2015-06-02 The Directv Group, Inc. Method and system for monitoring and encoding signals in a local facility and communicating the signals between a local collection facility and a remote facility using an IP network
US9743142B2 (en) * 2008-02-19 2017-08-22 Time Warner Cable Enterprises Llc Multi-stream premises apparatus and methods for use in a content delivery network
CN101946491A (en) * 2008-02-29 2011-01-12 汤姆逊许可公司 Methods and apparatuses for providing load balanced signal distribution
US8358913B2 (en) * 2008-02-29 2013-01-22 Microsoft Corporation Resolving recording conflicts
CN101616111B (en) * 2008-06-26 2011-09-21 台湾松下电器股份有限公司 Demodulation parameter searching method and electronic device applying same
US9426497B1 (en) 2008-09-30 2016-08-23 The Directv Group, Inc. Method and system for bandwidth shaping to optimize utilization of bandwidth
US9494986B1 (en) 2008-09-30 2016-11-15 The Directv Group, Inc. Method and system for controlling a low power mode for external devices
US9148693B1 (en) 2008-09-30 2015-09-29 The Directv Group, Inc. Method and system of scaling external resources for a receiving device
US8671429B1 (en) 2008-09-30 2014-03-11 The Directv Group, Inc. Method and system for dynamically changing a user interface for added or removed resources
US8291247B1 (en) * 2008-09-30 2012-10-16 The Directv Group, Inc. Method and system for predicting use of an external device and removing the external device from a low power mode
US9049473B1 (en) 2008-09-30 2015-06-02 The Directv Group, Inc. Method and system of processing multiple playback streams via a single playback channel
US9710055B1 (en) 2008-09-30 2017-07-18 The Directv Group, Inc. Method and system for abstracting external devices via a high level communications protocol
US9762973B2 (en) * 2008-11-04 2017-09-12 The Directv Group, Inc. Method and system for operating a receiving circuit module to encode a channel signal into multiple encoding formats
US9245583B2 (en) * 2009-02-06 2016-01-26 International Business Machines Corporation Group control and messaging for digital video playback sessions
US9288540B2 (en) 2009-03-25 2016-03-15 Eloy Technology, Llc System and method for aggregating devices for intuitive browsing
US8843977B2 (en) * 2009-06-04 2014-09-23 Verizon Patent And Licensing Inc. Media content delivery systems and methods
FR2947133B1 (en) * 2009-06-18 2017-09-15 Sagem Comm METHOD FOR CONTROLLING A DECODER AND DECODER IMPLEMENTING SAID METHOD
KR101598001B1 (en) * 2009-07-20 2016-02-26 삼성전자주식회사 Method and apparatus for controlling tuner in broadcasting receiving system
KR20110009569A (en) * 2009-07-22 2011-01-28 엘지전자 주식회사 Method and apparatus for receiving a broadcast signal
US9445158B2 (en) 2009-11-06 2016-09-13 Eloy Technology, Llc Distributed aggregated content guide for collaborative playback session
US20110162020A1 (en) * 2009-12-29 2011-06-30 Kahn Raynold M Method and system for operating a multi-room digital video recording system
US8990867B2 (en) 2010-05-28 2015-03-24 Comcast Cable Communications, Llc Network management
US9191692B2 (en) * 2010-06-02 2015-11-17 Microsoft Technology Licensing, Llc Aggregated tuner scheduling
US9363464B2 (en) * 2010-06-21 2016-06-07 Echostar Technologies L.L.C. Systems and methods for history-based decision making in a television receiver
US8984554B2 (en) * 2010-11-19 2015-03-17 Microsoft Technology Licensing, Llc Hybrid tuner control
JP2012138749A (en) * 2010-12-27 2012-07-19 Sony Corp Information processor and display switching method
US9831971B1 (en) 2011-04-05 2017-11-28 The Directv Group, Inc. Method and system for operating a communication system encoded into multiple independently communicated encoding formats
WO2012173656A1 (en) * 2011-06-13 2012-12-20 General Instrument Corporation A method to query the status of a live tv streaming device
US8873938B2 (en) * 2011-09-14 2014-10-28 Eldon Technology Limited Handling requests when available channel selectors are in use
JP2013219629A (en) * 2012-04-10 2013-10-24 Sony Computer Entertainment Inc Information processing unit and video recorder selection method
US10368126B2 (en) 2012-06-08 2019-07-30 The Directv Group, Inc. Method and system for displaying content or conflicts from multiple receiving devices on a second screen device
US9106939B2 (en) 2012-08-07 2015-08-11 Google Technology Holdings LLC Location-based program listing
US10237144B2 (en) 2012-10-29 2019-03-19 T-Mobile Usa, Inc. Quality of user experience analysis
US10412550B2 (en) 2012-10-29 2019-09-10 T-Mobile Usa, Inc. Remote driving of mobile device diagnostic applications
US10313905B2 (en) 2012-10-29 2019-06-04 T-Mobile Usa, Inc. Contextual quality of user experience analysis using equipment dynamics
US9538409B2 (en) 2012-10-29 2017-01-03 T-Mobile Usa, Inc. Quality of user experience analysis
US10952091B2 (en) 2012-10-29 2021-03-16 T-Mobile Usa, Inc. Quality of user experience analysis
US9237474B2 (en) * 2012-10-29 2016-01-12 T-Mobile Usa, Inc. Network device trace correlation
US9301017B2 (en) * 2012-12-21 2016-03-29 Thomson Licensing Apparatus and method for managing signals provided to multiple display devices
US9747325B2 (en) * 2013-07-30 2017-08-29 Harman International Industries, Incorporated Duplicate station detection system
US10362351B2 (en) * 2013-08-19 2019-07-23 Tivo Solutions, Inc. Dynamic tuner allocation
US9396650B2 (en) * 2014-05-30 2016-07-19 Bomeans Industrial Inc. Methods of describing consumer infrared signal
US9298741B1 (en) * 2014-06-26 2016-03-29 Amazon Technologies, Inc. Context-specific electronic media processing
US20160205433A1 (en) * 2015-01-08 2016-07-14 Wipro Limited Method and system for managing tuners of client devices
US12081453B2 (en) 2015-01-30 2024-09-03 Comcast Cable Communications, Llc Provisioning and managing resources
US9716763B2 (en) * 2015-05-13 2017-07-25 Arris Enterprises Llc Content streaming apparatus for transferring a streaming session to another apparatus
US11012756B2 (en) * 2015-07-30 2021-05-18 Roku, Inc. Capture and sharing of broadcast media
US10178421B2 (en) * 2015-10-30 2019-01-08 Rovi Guides, Inc. Methods and systems for monitoring content subscription usage
US9813396B2 (en) 2015-10-30 2017-11-07 Rovi Guides, Inc. Methods and systems for managing content subscription data
FR3051087A1 (en) * 2016-09-23 2017-11-10 Continental Automotive France AUTORADIO SYSTEM WITH MULTIPLE TUNERS AND DYNAMIC CONFIGURATION AND ASSOCIATED METHOD
US11109115B2 (en) 2018-11-06 2021-08-31 At&T Intellectual Property I, L.P. Inserting advertisements in ATSC content
EP3654659A1 (en) * 2018-11-14 2020-05-20 Advanced Digital Broadcast S.A. System and method for a memory-efficient electronic program guide

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802502A (en) 1993-05-24 1998-09-01 British Telecommunications Public Limited Company System for selective communication connection based on transaction pricing signals
DE69424611T2 (en) * 1993-09-22 2001-01-25 Sony Corp., Tokio/Tokyo TV
US5550576A (en) * 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources
US5630119A (en) 1995-05-05 1997-05-13 Microsoft Corporation System and method for displaying program listings in an interactive electronic program guide
US5805763A (en) 1995-05-05 1998-09-08 Microsoft Corporation System and method for automatically recording programs in an interactive viewing system
US5914746A (en) 1995-05-05 1999-06-22 Microsoft Corporation Virtual channels in subscriber interface units
US5751282A (en) 1995-06-13 1998-05-12 Microsoft Corporation System and method for calling video on demand using an electronic programming guide
US6049823A (en) 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US6025837A (en) 1996-03-29 2000-02-15 Micrsoft Corporation Electronic program guide with hyperlinks to target resources
US5657072A (en) 1996-04-10 1997-08-12 Microsoft Corporation Interactive entertainment network system and method for providing program listings during non-peak times
US6133910A (en) * 1996-09-20 2000-10-17 Echostar Engineering Corp. Apparatus and method for integrating a plurality of video sources
US6301616B1 (en) 1997-04-11 2001-10-09 Microsoft Corporation Pledge-based resource allocation system
US6698020B1 (en) 1998-06-15 2004-02-24 Webtv Networks, Inc. Techniques for intelligent video ad insertion
JP2000354207A (en) * 1999-06-10 2000-12-19 Nec Corp Digital broadcast receiver
US6704929B1 (en) 1999-08-18 2004-03-09 Webtv Networks, Inc. Tracking viewing behavior of a home entertainment system
JP4375910B2 (en) * 2000-02-15 2009-12-02 富士通株式会社 Tuner reception system, control unit for tuner reception, computer-readable storage medium, tuner reception method, and tuner reception program
US7028329B1 (en) * 2000-10-13 2006-04-11 Seiko Epson Corporation Remote accessible programming
US20090222875A1 (en) * 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US7369750B2 (en) * 2002-04-24 2008-05-06 Microsoft Corporation Managing record events
JP3922976B2 (en) * 2002-06-17 2007-05-30 シャープ株式会社 Digital receiver
JP2004179718A (en) * 2002-11-25 2004-06-24 Sanyo Electric Co Ltd Broadcast receiver
US20040123326A1 (en) * 2002-12-18 2004-06-24 General Instrument Corporation Method and apparatus for allocating tuning devices to broadband head-end services

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
KR20070051251A (en) 2007-05-17
MXPA05007153A (en) 2006-04-05
WO2006022772A3 (en) 2007-02-08
RU2005120673A (en) 2006-07-27
EP1792486A4 (en) 2009-08-19
US20060035610A1 (en) 2006-02-16
AU2004288604A1 (en) 2006-03-02
CA2509659A1 (en) 2006-02-13
CN1969553A (en) 2007-05-23
JP2008510367A (en) 2008-04-03
US7380264B2 (en) 2008-05-27
BRPI0406593A (en) 2006-05-09
EP1792486A2 (en) 2007-06-06

Similar Documents

Publication Publication Date Title
US7380264B2 (en) Systems for unifying heterogeneous multimedia tuners
US11749313B2 (en) Application tune manifests and tune state recovery
US7546623B2 (en) Methods and systems for providing multi-source content in electronic program guides
US10362351B2 (en) Dynamic tuner allocation
JP4430885B2 (en) Distributed tuner allocation and conflict resolution
US9979996B2 (en) Method and system for operating a multi-room digital video recording system
US9124767B2 (en) Multi-DVR media content arbitration
EP2039058B1 (en) Multi-dvr node communication
US7809242B2 (en) Recording resource limitation resolution
US7546283B2 (en) Networked personal video recorder with shared resource and distributed content
US7669222B2 (en) Virtual tuner management
JP4907918B2 (en) Method and system for configuring and editing electronic program guideline upgrades
US20120114311A1 (en) Method and system for distributing the recording of a media item
US20050102698A1 (en) Resource sharing system of set-top boxes
KR20030062446A (en) Method for managing audiovisual broadcast recordings and associated devices
US7685306B2 (en) Streaming content navigation
KR20120101510A (en) Systems and method for selective archival of media content
KR20090090600A (en) Fast adaptive channel converting method and apparatus thereof, and computer readable stroing medium to perform the method
KR20110116031A (en) Managing resources to display media content
US20070180112A1 (en) Changeable Token Bandwidth Portioning
US9301017B2 (en) Apparatus and method for managing signals provided to multiple display devices
KR101719563B1 (en) Broadcast reciver and method for managementing memory

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2626/DELNP/2005

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2004795906

Country of ref document: EP

Ref document number: 2509659

Country of ref document: CA

Ref document number: 2004288604

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: PA/a/2005/007153

Country of ref document: MX

Ref document number: 2007525592

Country of ref document: JP

Ref document number: 2005120673

Country of ref document: RU

WWE Wipo information: entry into national phase

Ref document number: 1020057012454

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20048032577

Country of ref document: CN

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 KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL 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): BW GH 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 IT LU 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

ENP Entry into the national phase

Ref document number: 2004288604

Country of ref document: AU

Date of ref document: 20041019

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004288604

Country of ref document: AU

ENP Entry into the national phase

Ref document number: PI0406593

Country of ref document: BR

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2004795906

Country of ref document: EP