In recent years, the number of personal video recorders (PVRs), such as set-top digital video recorders (DVRs) and media center computers, in homes has increased considerably. Generally speaking, a conventional PVR is a device that records video without a videotape to digital storage media. This makes the “timeshifting” feature (more traditionally done by a VCR) much more convenient, and also allows for other features such as pausing live TV, instant replay of interesting scenes, chasing playback where a recording can be viewed before it has been completed, skipping scenes/advertising, and the like.
Conventionally, PVR's have been used to record and timeshift video content received from a single source, such as analog cable, digital cable, a digital terrestrial signal, and the like. However, there is currently a shift in the television space as the technology moves more toward digital programming, high definition, on-demand content, and web downloads. With this transition, there are often multiple versions of the same program provided to the user by the broadcaster or other parties. Each version offered may have benefits and trade-offs. Depending on the programming and the intended use, the user may prefer one version over the other, or the user may be indifferent.
The quality of the video content (e.g., resolution) is one major differentiator between program offerings. Oftentimes there are high definition (HD) and standard definition (SD) broadcasts of the same show on TV. In addition, Web downloads or Web streams may also be available at these or other quality levels (possibly lower than SD due to file size and bandwidth constraints). Quality generally has a direct impact on the size of the file and can also have an impact on what television devices are capable of playing back the file, so it is not obvious that users may always want the highest quality version available.
The source of the video content is another growing differentiator and can carry along with it a number of additional attributes which are important to the user. For example, the user may have a full subscription to one source and another might require payment. Moreover, digital rights between the sources may be different. For example, the user might only be able to use one particular source with certain devices.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Described herein is technology for, among other things, prioritizing video acquisition. The video acquisition may be prioritized implicitly, explicitly or a combination of both. Implicit prioritization involves receiving a request to acquire a video program. An attribute of the program is then analyzed to determine its value. The acquisition prioritization is then set based on this value. With explicit prioritization, the user is allowed to manually set the acquisition prioritization. In either case, future programs are then acquired based on the acquisition prioritization.
Thus, embodiments provide technology for prioritization of video acquisition based on one or more attributes of the content. Embodiments allow for implicit and explicit determinations of priority. Moreover, embodiments also allow the ability to adapt as technology continues to change. For example, if a new resolution standard in the superior to HD is established down the road, a simple rolling update (e.g., via the Internet) can add this new resolution to the list of possible values for the resolution attribute.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of embodiments of the invention:
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the claims. Furthermore, in the detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer or digital system memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is herein, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these physical manipulations take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system or similar electronic computing device. For reasons of convenience, and with reference to common usage, these signals are referred to as bits, values, elements, symbols, characters, terms, numbers, or the like with reference to the present invention.
It should be borne in mind, however, that all of these terms are to be interpreted as referencing physical manipulations and quantities and are merely convenient labels and are to be interpreted further in view of terms commonly used in the art. Unless specifically stated otherwise as apparent from the discussion herein, it is understood that throughout discussions of the present embodiment, discussions utilizing terms such as “determining” or “outputting” or “transmitting” or “recording” or “locating” or “storing” or “displaying” or “receiving” or “recognizing” or “utilizing” or “generating” or “providing” or “accessing” or “checking”or “notifying” or “delivering” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data. The data is represented as physical (electronic) quantities within the computer system's registers and memories and is transformed into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
Described herein is technology for, among other things, prioritizing video acquisition. The video acquisition may be prioritized implicitly, explicitly or a combination of both. Implicit prioritization involves receiving a request to acquire a video program. An attribute of the program is then analyzed to determine its value. The acquisition prioritization is then set based on this value. With explicit prioritization, the user is allowed to manually set the acquisition prioritization. In either case, future programs are then acquired based on the acquisition prioritization.
The following discussion will begin with a description of an example operating environment for various embodiments. Discussion will proceed to a description of the structure of a video acquisition prioritization system 200. Discussion will then proceed to descriptions of implementation of example methods for prioritizing video acquisition.
With reference to
Computing system environment 100 may also contain communications connection(s) 112 that allow it to communicate with other devices. Communications connection(s) 112 is an example of communication media. Communication media typically embodies 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. The term computer readable media as used herein includes both storage media and communication media. Computing system environment 100 may also have input device(s) 114 such as a keyboard, mouse, pen, voice input device, touch input device, remote control input device, etc. Output device(s) 116 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
The computing system environment 100 may also include a number of audio/video inputs and outputs 118 for receiving and transmitting video content. These inputs and outputs may include, but are not limited to, coaxial, composite video, S-video, HDMI, DVI, VGA, component, optical, and the like. It should be appreciated that since video content may be delivered over an Internet connection, a network interface may therefore also be considered an A/V input on which video content is received. In addition, the computing system environment 100 may also include a tuner 120 for selecting specific channels for receiving video content. The tuner 120 may be coupleable with a cable card (not shown) in order to enable the tuning of certain digital channels.
Embodiments are described in terms of these example environments. Description in these terms is provided for convenience only. It is not intended that the embodiments be limited to application in this example environment. In fact, after reading the following description, it will become apparent to a person skilled in the relevant art how to implement alternative embodiments.
System 200 includes one or more inputs 270 for receiving video content from a video content source 280. Since the video content source 280 may be an Internet based content source, it should be appreciated that in addition to conventional audio/video inputs, the inputs 270 may also include a network interface.
In one embodiment, system 200 includes a scheduler 260 that is operable to receive requests for scheduling the acquisition of a video program. These requests may be received, for example, via a user interface 250 or via the Internet. The request may be to schedule the acquisition of a single video program or a series of video programs. System 200 also includes an analyzer 240 that is operable to access an attribute of the requested program and analyze the attribute to determine its value. As described herein, an attribute of a video program may be any kind of variable descriptor that is associated with the form of the program's delivery. This may include, but is not limited to the quality of the video, the source of the video, any additional costs associated with acquiring the video, Digital Rights Management (DRM) rights associated with the program, whether the program is ad-supported, and the like. The quality of the video may include several tiers of resolution, such as standard definition (SD), high-definition (HD), and the like. It is appreciated that HD may further be subdivided into 720i, 720p, 1080i, and 1080p resolutions. The video source may include, but is not limited to, broadcast, analog cable, digital cable, digital satellite, and Internet based content providers. The video source may also include cost-sensitive sources such as subscription programming, on demand programming, pay-per-view programming, premium programming, and the like. Certain DRM rights, such as whether a particular program is allowed to be synchronized to a portable device (e.g., portable media player, portable gaming device, PDA, etc.) or whether the program is allowed to be written to a DVD, may be of interest as well.
The system 200 includes a prioritizer 230 for managing prioritizations with respect to any applicable attributes. In one embodiment, the prioritizer 230 is operable to implicitly determine an acquisition prioritization for future programs with respect to a given attribute by basing the acquisition prioritization of that attribute on the value determined by the analyzer 240. For example, if the scheduler 260 receives a request for a particular program, and the analyzer 240 determines that the resolution of the requested program is HD, then the prioritizer 230 will set the acquisition prioritization for resolution such that HD content is preferred over non-HD content.
In one embodiment, the prioritizer 230 is operable to explicitly determine the acquisition prioritization. This may be achieved by presenting a user a list of possible values of a particular attribute. For example, a user may be presented with the video source choices of broadcast, cable, and an Internet content provider. The list may be presented, for example, on a display device 290 coupled to the system 200 at the output 275. The user may then manually set the acquisition prioritization (e.g., with respect to the video source) via the user interface 250. In one embodiment, the user may set a simple preference (e.g., “broadcast preferred,” “cable only,” “SD preferred,” “HD only,” etc.). In another embodiment, the user may also rank the possible values in order of preference (e.g., “1:cable; 2:broadcast; 3:web,” etc.). The user may also designate one or more values as being absolutely unwanted (e.g., “no broadcast”). In one embodiment, the user is also able to create a prioritization with respect to the attributes themselves. For example, the user may designate the resolution attribute as a higher priority criterion than a DRM attribute. Similarly, the user may prioritize whether the program is ad-supported ahead of whether the program has additional fees associated with its acquisition. For example, a user may prefer to pay an additional fee to acquire an ad-free program rather than acquiring the same program at no additional charge but with commercials. It should be appreciated that system 200 is capable of using both implicit and explicit means together to determine the acquisition prioritization.
Once the acquisition prioritization has been set by the prioritizer 230, a video acquisition module 210 is operable to acquire the requested program and other future programs in accordance with the determined acquisition prioritization. For example, and not by way of limitation, if the acquisition prioritization for resolution has been set to “HD preferred,” the video acquisition module 210 will retrieve HD versions of future programs whenever possible. If an HD version of a particular program is not available, but an SD version is available, then the SD version will be acquired instead. On the other hand, if the acquisition prioritization has been set to “HD only” or SD programming has been designated as absolutely unwanted, then an SD version of the program will not be acquired. By way of another example, a user may prefer HD content (e.g., “HD preferred”) but require that the content have permission to be synchronized to a portable device. In such a case, the video acquisition module 210 will retrieve a lower resolution but synch-able version over an HD version in which synchronization is not allowed. Similarly, if several different possible values of an attribute are prioritized in a ranked list, the video acquisition module 210 will attempt to acquire programming in the order of highest rank value to lowest. Once acquired, programs may be stored, for example on a storage device 220, such as a hard drive, flash memory, and the like.
The following discussion sets forth in detail the operation of present technology for prioritization of video acquisition. With reference to
At block 310, a request is received to schedule the acquisition of a video program. For purposes of example and not of limitation, the request may be received via a user interface 250, such as a remote control or a conventional computer input device. The request may be to schedule a single program, multiple programs, or a series of a particular program.
At block 320 an attribute of the requested video program is accessed. For the purposes of this discussion, an attribute may be one of a number of characteristics related to the delivery of the video program that may take on multiple values, as described with respect to
At block 350, future programs are then acquired based on the acquisition prioritization. This may be achieved in a number of ways. For example,
In one embodiment, flowchart 500 begins by receiving a request to schedule the acquisition of a video program (block 510). In another embodiment, flowchart 500 begins by receiving a request for setting an acquisition prioritization (block 515). Regardless, at block 520, a user is provided with a list of possible values of a video attribute. The list may be provided, for example, via a display device 290. Thereafter, the user is enabled to define an acquisition prioritization with respect to that attribute based on the possible values provided. It should be appreciated this may be done in a number of ways. For example, in one embodiment, this may involve enabling the user to set a simple preference (e.g., “broadcast preferred,” “cable only,” etc.). In another embodiment, this may involve enabling the user to rank the possible values in order of preference (e.g., “1:cable; 2:broadcast; 3:web,” etc.). The user may also designate one or more values as being absolutely unwanted (e.g., “no broadcast”). These prioritizations may be specific to particular programs. The prioritizations may also be defaults to be used on requests in advance of individualized settings for particular programs.
In one embodiment, the user is also able to create an acquisition prioritization with respect to the different attributes themselves. For example, at block 540, the user is provided a list of the attributes considered. At block 550, the user is then enabled to rank the various attributes in order of priority. For example, the acquisition prioritizations for resolution and source may be set to “HD preferred” and “cable preferred” respectively. Additionally, resolution may be set to a higher priority than the source. In such a case, if the only versions of a program available are an HD broadcast version and an SD cable version, the HD broadcast version will be selected over the SD cable version because resolution has been designated as a higher priority criterion than the source.
At block 560, future programs are then acquired based on the acquisition prioritization. This may be achieved a number of ways. For example, in one embodiment, if the acquisition prioritization is set to a simple preference, steps similar to those depicted in flowchart 400 (discussed in detail above) may be performed.
As described above with respect to
Thus, embodiments provide technology for prioritization of video acquisition based on one or more video attributes. Embodiments allow for implicit and explicit determinations of priority. Moreover, embodiments also allow the ability to adapt as technology continues to change. For example, if a new resolution standard superior to HD is established down the road, a simple rolling update (e.g., via the Internet) can add this new resolution to the list of possible values for the resolution attribute.
As television as we know it continues to change, the number of sources and versions of the same content will grow. Therefore, devices utilizing this technology, such as digital video recorders and media center computers, will be able to effectively handle the scenarios surrounding prioritization between different offerings of the same program. This ability will become essential to entertainment video in the years to come.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.