Rate change
First Claim
1. A method for determining the capabilities of a media system, the method comprising:
- querying each of one or more functional objects in the media system to determine a functional limit of each of the one or more objects for a predetermined function; and
determining which of the functional limits of the one or more objects maximally limits the capability of the media system for the predetermined function.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and methods provide handling of variable rate playback in a multimedia computer architecture. The systems and methods provide data structures and interfaces that enable a computer architecture and components therein with the ability to playback data at speeds faster and slower than real-time, to playback data in reverse, and to change the rate of playback at any point during playback. One embodiment is a method for providing low-latency, glitch-free changes in a multimedia architecture. Other embodiments are directed to defining multimedia component responsibilities for making rate changes, allowing rate changes to work with standard playback types, coder-decoders, and renderers. The methods include determining a minimum of the maximum reported playback rates and determining minimum and maximum playback rates in a set of modes including: reverse skip mode, reverse key frame mode, reverse full mode, forward full mode, forward key frame mode, and forward skip mode.
84 Citations
65 Claims
-
1. A method for determining the capabilities of a media system, the method comprising:
querying each of one or more functional objects in the media system to determine a functional limit of each of the one or more objects for a predetermined function; and
determining which of the functional limits of the one or more objects maximally limits the capability of the media system for the predetermined function.- View Dependent Claims (2, 3, 4, 5)
-
6. A method for determining whether a playback rate is supported in a multimedia system, the method comprising:
-
receiving a query for rate support;
retrieving one or more media source components and stream sink components required for a rate change to the playback rate;
for each retrieved media source component, determining if rate control services are supported;
returning an indication to a user as the feasibility of supporting the rate change;
retrieving one or more transforms required for the rate change;
for each transform, calling a rate control service;
for any transform that is a decoder, assuming any rate can be supported; and
if rate control is not supported, assuming any positive rate can be supported. - View Dependent Claims (7, 8, 9)
-
-
10. A method for scheduling a rate change in a multimedia system, the method comprising:
-
receiving a query to set a playback rate;
receiving one of an identified time for the playback rate or a request for immediate playback rate change;
calling one or more multimedia components required to perform the playback rate; and
scheduling the playback rate using a presentation clock, the presentation clock determining a time to implement the playback rate according to race conditions among the multimedia components. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A multimedia system comprising:
-
a control layer configured to receive one or more media data streams from an application; and
a core layer coupled to the control layer, the control layer including a media engine component configured to query each of one or more core layer components in the multimedia system to determine a functional rate limit of each core layer component for a predetermined function, the media engine configured to determine which of the functional limits of the core layer components maximally limits the multimedia system. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-readable medium having computer-executable instructions for performing rate mode changes to a media data stream in a multimedia system, the computer-executable instructions performing acts comprising:
-
receiving a rate mode change event indicating that a new rate mode;
dropping all data in the media data stream that is waiting to be decoded in a transform pipeline;
marking a first sample of the media data stream to be in the new rate mode with a sample attribute identifying the new rate mode;
changing the rate on a presentation clock according to the new rate mode attribute;
synchronously notifying one or more multimedia components in the multimedia system that provide a time source to perform the new rate mode; and
asynchronously notifying one or more multimedia components in the multimedia system that do not provide the time source to perform the new rate mode.
-
-
38. A computer-readable medium having computer-executable instructions for determining the capabilities of a multimedia system, the computer-executable instructions performing acts comprising:
-
querying each of one or more functional objects in the media system to determine a functional limit of each of the one or more objects for a predetermined function; and
determining which of the functional limits of the one or more objects maximally limits the capability of the media system for the predetermined function. - View Dependent Claims (39, 40, 41, 42)
-
-
43. A computer-readable medium having computer-executable instructions for determining whether a playback rate is supported in a multimedia system, the computer-executable instructions performing acts comprising:
-
receiving a query for rate support;
retrieving one or more media source components and stream sink components required for a rate change to the playback rate;
for each retrieved media source component, determining if rate control services are supported;
returning an indication to a user as the feasibility of supporting the rate change;
retrieving one or more transforms required for the rate change;
for each transform, calling a rate control service;
for any transform that is a decoder, assuming any rate can be supported; and
if rate control is not supported, assuming any positive rate can be supported. - View Dependent Claims (44, 45, 46)
-
-
47. A computer-readable medium having computer-executable instructions for scheduling a playback rate in a multimedia system, the computer-executable instructions performing acts comprising:
-
receiving a query to set a playback rate;
receiving one of an identified time for the playback rate or a request for immediate playback rate;
calling one or more multimedia components required to perform the playback rate; and
scheduling the playback rate using a presentation clock, the presentation clock determining a time to implement the playback rate according to race conditions among the multimedia components. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
Specification