IP Library Granted Patent US 9,858,899
Granted Patent B2
US 9,858,899 · App. 13/916,623 · Granted Jan 2, 2018

Managing transitions of adaptive display rates for different video playback scenarios

Inventors: Daniel Wood (Seattle, WA); Vlad Alexandrov (Kirkland, WA); Zhigang Xu (Bellevue, WA); Max McMullen (Seattle, WA); Marcus Andrews (Bellevue, WA); Bennett Sorbo (Seattle, WA); Andrei Baioura (Redmond, WA); Mikhail Leonov (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G09G5/391G06F3/14G09G5/12G09G2330/021G09G2340/0435G09G2360/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,858,899
App. No.
13/916,623
Granted
Jan 2, 2018
Kind
B2
Abstract

To manage dynamic adjustment of the refresh rate of a computer display, the operating system defines at least two playback modes: one or more custom modes that can be selected by applications, and a standard mode which is a default setting for the system that can be expected by applications. The operating system provides an application programming interface that enables an application to request using a custom mode. If approved to use the custom mode, then the application presents frames for display based on the custom mode. The operating system stores timing data for each buffered frame indicating how to play the frame in both standard mode and the custom mode. If a transition back to the standard mode occurs, the operating system uses the timing data to properly present frames of video until the application stops generating frames of video in the custom mode.

Claims (57)

1. A computer-implemented process performed by a processor in a computer, the computer comprising an operating system executed by the processor configured to manage execution of an application on the computer, comprising:

the operating system receiving a request from the application to present a frame at a custom refresh rate having associated custom timing data indicating a playback duration for the frame at the custom refresh rate;

the operating system buffering the frame;

the operating system storing data indicating the custom timing data for displaying the frame at the custom refresh rate;

the operating system computing, and storing data indicative of, standard timing data for the frame based on at least the custom timing data for the frame, the standard timing data indicating a playback duration for the frame at a standard refresh rate different from the custom refresh rate; and

the operating system displaying the buffered frame on a display at a refresh rate according to a selection between the custom refresh rate and the standard refresh rate, using a selected one of the custom timing data and standard timing data.

2. The computer-implemented process of claim 1 , further comprising:

displaying the buffered frame on the display at the standard refresh rate using the standard timing data.

3. The computer-implemented process of claim 1 , further comprising:

the operating system receiving a request from the application for available refresh rates, wherein the custom refresh rate is one of the available refresh rates; and

providing the available refresh rates to the application in response to the request.

4. The computer-implemented process of claim 1 , further comprising:

the operating system determining whether the application is approved to use the custom refresh rate; and

providing information to the application indicating whether the application is approved to use the custom refresh rate.

5. The computer-implemented process of claim 4 , further comprising:

in response to the application not being approved by the operating system to use the custom refresh rate, displaying frames presented by the application at the standard refresh rate using the standard timing data.

6. The computer-implemented process of claim 1 , wherein the operating system provides information to the application defining available refresh rates in a format that is consistent across display devices.

7. The computer-implemented process of claim 1 , wherein the operating system approves the application to use the custom refresh rate in response to a determination that other applications are not dependent on the standard refresh rate.

8. An article of manufacture comprising:

a computer storage medium comprising at least one of a memory device or storage device;

computer program instructions stored on the computer storage medium which, when processed by a processing device of a computer, instruct the processing device to perform a process performed by an operating system of the computer, comprising:

receiving a request from an application to present a frame at a custom refresh rate having associated custom timing data indicating a playback duration for the frame at the custom refresh rate;

buffering the frame;

storing data indicating the custom timing data for displaying the frame at the custom refresh rate;

computing, and storing data indicative of, standard timing data for the frame based on at least the custom timing data for the frame, the standard timing data indicating a playback duration for the frame at a standard refresh rate different from the custom refresh rate; and

displaying the buffered frame on a display at a refresh rate according to a selection between the custom refresh rate and the standard refresh rate, using a selected one of the custom timing data and standard timing data.

9. The article of manufacture of claim 8 , further comprising:

displaying the buffered frame on the display at the standard refresh rate using the standard timing data.

10. The article of manufacture of claim 8 , further comprising:

the operating system receiving a request from the application for available refresh rates, wherein the custom refresh rate is one of the available refresh rates; and

providing the available refresh rates to the application in response to the request.

11. The article of manufacture of claim 8 , further comprising:

the operating system determining whether the application is approved to use the custom refresh rate; and

providing information to the application indicating whether the application is approved to use the custom refresh rate.

12. The article of manufacture of claim 11 , further comprising:

in response to the application not being approved to use the custom refresh rate, displaying frames presented by the application at the standard refresh rate using the standard timing data.

13. The article of manufacture of claim 8 , wherein the operating system provides information to the application defining available refresh rates in a format that is consistent across display devices.

14. The article of manufacture of claim 8 , wherein the operating system approves the application to use the custom refresh rate in response to a determination that other applications are not dependent on the standard refresh rate.

15. A computer comprising:

a memory,

a processor connected to the memory and programmed to implement an operating system of the computer to:

receive a request from an application to present a frame at a custom refresh rate having associated custom timing data indicating a playback duration for the frame at the custom refresh rate;

buffer the frame;

store data indicating the custom timing data for displaying the frame at the custom refresh rate;

compute, and store data indicative of, standard timing data for the frame based on at least the custom timing data for the frame, the standard timing data indicating a playback duration for the frame at a standard refresh rate different from the custom refresh rate; and

displaying the buffered frame on a display at a refresh rate according to a selection between the custom refresh rate and the standard refresh rate, using a selected one of the custom timing data and standard timing data.

16. The computer of claim 15 , wherein the operating system is further configured to:

display the buffered frame on the display at the standard refresh rate using the standard timing data.

17. The computer of claim 15 , wherein the operating system is further configured to:

receive a request from the application for available refresh rates, wherein the custom refresh rate is one of the available refresh rates; and

provide the available refresh rates to the application in response to the request.

18. The computer of claim 15 , wherein the operating system is further configured to:

determine whether the application is approved to use the custom refresh rate; and

provide information to the application indicating whether the application is approved to use the custom refresh rate.

19. The computer of claim 18 , wherein the operating system is further configured to:

in response to a determination that the application is not approved to use the custom refresh rate, displaying frames presented by the application at the standard refresh rate using the standard timing data.

20. The computer of claim 15 , wherein the operating system provides information to the application defining available refresh rates in a format that is consistent across display devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2013
From: WOOD, DANIEL; ALEXANDROV, VLAD; XU, ZHIGANG; MCMULLEN, MAX; ANDREWS, MARCUS; SORBO, BENNETT; BAIOURA, ANDREI; LEONOV, MIKHAIL
To: MICROSOFT CORPORATION
Reel/Frame 030628/0755 →
Continuity (1)
Related Publication 20140368519A1 · Dec 18, 2014