Extensible framework for tuning to programming sources
First Claim
Patent Images
1. A system comprising:
- a tuning space container that includes a plurality of tuning space objects identifying programming sources and to which additional tuning space objects can be added, wherein each of the plurality of tuning space objects includes an interface method accessible to an application in the system;
a tune request container that includes a plurality of tune request objects and to which additional tune request objects can be added, wherein each of the plurality of tune request objects identifies tuning parameters for a particular program and corresponds to one of the tuning space objects; and
a tuning control having a plurality of filters that are configured based on the contents of selected ones of the plurality of tuning space objects and the plurality of tune request objects, wherein the selected ones of the plurality of tuning space objects and the plurality of tune request objects are passed to the tuning control, and wherein the plurality of tuning space objects and the plurality of tune request objects are objects other than filters.
2 Assignments
0 Petitions
Accused Products
Abstract
An extensible framework for tuning to programming sources includes tune request objects and tuning space objects that are used to maintain and pass information regarding how to tune to a particular program. The extensible framework can be easily modified by creating, deleting, or modifying tune request objects and tuning space objects without requiring changes on the part of applications interacting with the framework.
-
Citations
40 Claims
-
1. A system comprising:
-
a tuning space container that includes a plurality of tuning space objects identifying programming sources and to which additional tuning space objects can be added, wherein each of the plurality of tuning space objects includes an interface method accessible to an application in the system;
a tune request container that includes a plurality of tune request objects and to which additional tune request objects can be added, wherein each of the plurality of tune request objects identifies tuning parameters for a particular program and corresponds to one of the tuning space objects; and
a tuning control having a plurality of filters that are configured based on the contents of selected ones of the plurality of tuning space objects and the plurality of tune request objects, wherein the selected ones of the plurality of tuning space objects and the plurality of tune request objects are passed to the tuning control, and wherein the plurality of tuning space objects and the plurality of tune request objects are objects other than filters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
a plurality of tuners; and
a tuning control to identify, based on a particular tuning space object, which of the plurality of tuners is to handle a particular tune request.
-
-
3. A system as recited in claim 1, further comprising an application to present to a user programming from the programming sources, wherein the application requests data for a particular program one of the plurality of tune request objects.
-
4. A system as recited in claim 1, wherein each of the plurality of tuning space objects includes a unique identifier, a user-friendly identifier, a network type identifier, a method to enumerate portions of a tuning control that support the tuning space described by the tuning space object, a method to enumerate device monikers representing tuner inputs that support the tuning space described by the tuning space object, and a method to create a tune request object.
-
5. A system as recited in claim 1, wherein at least one of the plurality of tuning space objects includes an identifier of the lowest channel number for the tuning space described by the tuning space object and an identifier of the highest channel number for the tuning space described by the tuning space object.
-
6. A system as recited in claim 5, wherein the at least one tuning space object further includes an identifier of a step size between valid channels.
-
7. A system as recited in claim 1, wherein at least one of the plurality of tuning space objects is for an analog television tuning space and includes an identifier of a signal input type for the tuning space described by the tuning space object, and a country code of the tuning space.
-
8. A system as recited in claim 7, wherein the identifier of the signal input type identifies either an antenna input type or a cable input type.
-
9. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes one of the plurality of tuning space objects and a collection of component objects.
-
10. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes a channel to be tuned to.
-
11. A system as recited in claim 1, wherein at least one of the plurality of tune request objects is for a digital video broadcasting tune request and includes a locator object, an original network identifier, a transport stream identifier, and a service identifier.
-
12. A system as recited in claim 11, wherein the locator object is a terrestrial digital video broadcasting object including a center frequency identifier, a bandwidth identifier, a constellation identifier, a hierarchy scheme identifier, a Binary Convolutional Coding error correction code rate identifier, a guard interval identifier, a transmission mode identifier, and an additional frequency identifier.
-
13. A system as recited in claim 11, wherein the locator object is a cable digital video broadcasting object, including a frequency identifier, a Forward Error Correction (FEC) scheme identifier, a modulation identifier, a symbol rate identifier, and a Binary Convolutional Coding error correction code rate identifier.
-
14. A system as recited in claim 11, wherein the locator object is a satellite digital video broadcasting object, including a frequency identifier, an orbital position identifier, a satellite west-east position identifier, an antenna polarization identifier, a modulation scheme identifier, a symbol rate identifier, and a Binary Convolutional Coding error correction code rate identifier.
-
15. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes a component type object corresponding to a component of a program and having an identifier of a category of the component.
-
16. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes an object corresponding to a component of a program and having an operating system-specific identifier of a language of the component.
-
17. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes a collection of component objects of different types and a component types object having an identifier of the number of component types in the collection, an identifier of all component types in the collection, an item method to allow access to a component type via an index value, an append method to add a component type to the collection, and a clear method to remove all component types from the collection.
-
18. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes an object corresponding to a component of a program and having a status indicator identifying whether the component is active, a language identifier indicating the language the component uses, and a description of the component.
-
19. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes an object corresponding to a component of a program and having an audio channel identifier.
-
20. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes an object corresponding to a component of a program and having a system identifier and a content identifier.
-
21. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes a digital video broadcasting object corresponding to a component of a program and having a packet identifier for the component, a component tag identifier for the component, and an identifier of whether the packet identifier and the component tag identifier are valid.
-
22. A system as recited in claim 1, wherein at least one of the plurality of tune request objects includes a collection of component objects and a component object having an identifier of the number of component objects in the collection, an identifier of all components in the collection, an item method to allow access to a component via an index value, an append method to add a component to the collection, and a clear method to remove all components from the collection.
-
23. A method comprising:
-
receiving, from an application program, a request to be provided with data for a particular program;
identifying a tune request descriptor corresponding to the particular program, the tune request descriptor identifying a programming source for the particular program and tuning parameters for the particular program, the tune request descriptor including an interface method accessible to the application program;
passing the identified tune request descriptor to a tuning control, wherein the tuning control includes a plurality of filters, and wherein the tune request descriptor is not a filter; and
passing, by way of the tuning control, the tune request descriptor to a tuner. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-readable medium having stored thereon a data structure that is to be used by filters of a filter graph but that is not a filter, comprising:
-
a first data field containing an identifier of a tuning space;
a second data field containing an identifier of a network type of the tuning space;
a creation method to create a tune request descriptor for a particular program based on the tuning space and the network type;
and wherein the data structure is a tuning space descriptor that includes an interface method accessible to an application, and wherein both the tuning space descriptor and a tune request descriptor are not filters but are passed to a tuner by way of the filters in a tuning control. - View Dependent Claims (32, 33, 34)
a method to enumerate portions of a tuning control that support the tuning space described by the tuning space object; and
a method to enumerate device monikers representing tuner inputs that support the tuning space described by the tuning space object.
-
-
35. A system comprising:
-
an application to present programming including at least one of an audio component, a video component, and a data component; and
a tuning space descriptor and a tune request descriptor, independent of the application, that together indicate to a tuner how to tune to a selected program, wherein the tuning space descriptor includes an interface method accessible to the application, and wherein both the tuning space descriptor and the tune request descriptor are not filters but are passed to the tuner by way of a plurality of filters in a tuning control. - View Dependent Claims (36, 37, 38, 39, 40)
-
Specification