Facebook Patent | Adaptive Synchronization
Patent: Adaptive Synchronization
Publication Number: 20200394971
Publication Date: 20201217
Applicants: Facebook
Abstract
The disclosed computer-implemented method may include determining a frame rate for a current frame, where the frame rate dictates the amount of time the current frame is to be presented on a display. The display may be a backlight that is powered for a specified amount of time as part of a duty cycle. The method may further include calculating a backlight duty cycle time for the current frame. The backlight duty cycle time may include a minimum amount of powered time plus an additional amount of powered time that is dependent on the frame rate for the current frame. The method may further generate a drive signal for the display using the calculated backlight duty cycle time and driving the display using the generated drive signal. Various other methods, systems, and computer-readable media are also disclosed.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 62/860,444, filed Jun. 12, 2019, the disclosure of which is incorporated, in its entirety, by this reference.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the present disclosure.
[0003] FIG. 1 illustrates a computer architecture in which the embodiments described herein may operate.
[0004] FIG. 2 is a flow diagram of an exemplary method for adaptively synchronizing a backlight duty cycle with a video’s frame rate.
[0005] FIG. 3 illustrates an embodiment in which a backlight duty cycle is synchronized with a videos’ frame rate.
[0006] FIG. 4 illustrates an embodiment in which backlight timing is adjusted based on video frame rate.
[0007] FIG. 5 illustrates an embodiment of a lookup table implemented to identify a backlight duty cycle time.
[0008] FIG. 6 illustrates an embodiment in which a backlight duty cycle is altered based on the backlight persistence mode.
[0009] FIG. 7 is an illustration of an exemplary artificial-reality headband that may be used in connection with embodiments of this disclosure.
[0010] FIG. 8 is an illustration of exemplary augmented-reality glasses that may be used in connection with embodiments of this disclosure.
[0011] FIG. 9 is an illustration of an exemplary virtual-reality headset that may be used in connection with embodiments of this disclosure.
[0012] FIG. 10 is an illustration of exemplary haptic devices that may be used in connection with embodiments of this disclosure.
[0013] FIG. 11 is an illustration of an exemplary virtual-reality environment according to embodiments of this disclosure.
[0014] FIG. 12** is an illustration of an exemplary augmented-reality environment according to embodiments of this disclosure**
[0015] Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0016] The present disclosure is generally directed to methods and systems for adaptively controlling the amount of time a backlight is turned on during the projection of a video frame in an environment where frame rate can vary. Computing system displays, including liquid crystal display (LCD) monitors, light emitting diode (LED) monitors, touchscreens, televisions, virtual or augmented reality displays, or other types of displays typically implement a backlight to provide luminance. In most traditional displays, the backlight is powered on whenever the display is turned on. Each type of display has an associated display refresh rate (e.g., 60 Hz, 90 Hz, 120 Hz, etc.). This display refresh rate indicates the number of times the display device will refresh the screen each second.
[0017] Video or other content presented on the display device has its own rate of creation generally referred to as a “frame rate.” The graphics processing unit (GPU) of the computer, television, or artificial reality device typically generates the video frames. The GPU takes the underlying video content and creates video frames which are sent to the display device. In some cases, these video frames may be generated at a steady rate (e.g., 30 frames per second (fps)). However, in many cases, such as with video games or even in movies, the frame rate may vary wildly over time, rising to 100+fps, and then dropping a few seconds later to 20 fps. In order to ensure that the display refresh rate of the display device and the output frame rate of the video content are in synch, traditional systems attempt to align the frame rate output by the GPU and the display refresh rate on the monitor. Properly aligning the video frame rate and the display refresh rate may avoid issues such as judder, tearing of the frame displayed on the screen, or other similar issues.
[0018] These traditional systems, however, do not attempt to adjust the amount of time the backlight is turned on during the projection of a given frame. In most traditional systems, the backlight is on 100% of the time, providing luminance for the LCD or LED screen. In some embodiments, however, such as with artificial reality systems, it may be desirable to use low-persistence display devices where the backlight is not constantly turned on. In low-persistence displays, the backlight may only be turned on only 10% of the time the video frame is displayed on the screen. If the backlight and the display refresh rate are not in synch, however, the backlight may be powered on too long relative to the refresh rate of the display. In such cases, users may notice changes in brightness as they are viewing the content on the display device. Still further, the amount of time the backlight is powered on (e.g., the “backlight duty cycle”) may be varied based on the frame rate of the frames generated by the GPU.
[0019] Thus, the embodiments described herein may vary the backlight duty cycle based on the currently-used display refresh rate and/or based on the currently-used video frame rate. As such, at least in some embodiments, when video frame rates vary, the backlight duty cycle may also vary. For example, video frames produced at a higher frame rate (e.g., 90 fps) may have a shorter backlight duty cycle, and video frames produced at a lower frame rate (e.g., 60 fps) may have a longer backlight duty cycle. Similarly, video frames produced at a constant rate but displayed on a higher-refresh-rate display (e.g., 90 Hz) may have a shorter backlight duty cycle, and video frames displayed on a lower-refresh-rate display device (e.g., 60 Hz) may have a longer backlight duty cycle. By adapting the duty cycle of the backlight to the refresh rate of the display device and/or to the frame rate of the video frames created by the GPU, the display device may create a more consistent image with fewer changes in brightness as the frame rate varies during use.
[0020] FIG. 1 illustrates a computing environment 100 that includes a computer system 101. The computer system 101 may be substantially any type of computer system including a local computer system or a distributed (e.g., cloud) computer system. The computer system 101 includes at least one processor 102 and at least some system memory 103. The computer system 101 also includes program modules for performing a variety of different functions. The program modules are hardware-based, software-based, or include a combination of hardware and software. Each program module uses computing hardware and/or software to perform specified functions, including those described herein below.
[0021] For example, the communications module 104 communicates with other computer systems. The communications module 104 includes wired or wireless communication means that receive and/or transmit data to or from other computer systems. These communication means may include hardware radios including, for example, a hardware-based receiver 105, a hardware-based transmitter 106, or a combined hardware-based transceiver capable of both receiving and transmitting data. The radios may be WIFI radios, cellular radios, Bluetooth radios, global positioning system (GPS) radios, or other types of radios. The communications module 104 interacts with databases, mobile computing devices (such as mobile phones or tablets), embedded or other types of computing systems.
[0022] The computer system 101 also includes a graphics processing unit (GPU) 107. The GPU 107 may be any type of GPU including a dedicated chipset, a combined CPU/GPU chipset, a discrete hardware unit, or other type of graphics processing unit. The GPU may include multiple processors, multiple cores, dedicated memory, high-capacity bridges, and other associated hardware. In some cases, the GPU 107 may include a plurality of GPUs acting together to generate a video frame 109 or series of frames. The video frames may correspond to video content including movies, television shows, web videos, etc., video game content, streaming content, still images, or any other content presentable on a display (e.g., 115). The GPU thus generates multiple sequential frames for viewing on the display.
[0023] Each frame 109 may be generated at a specific frame rate. The frame rate determining module 108 of computer system 101 may determine the frame rate for each current frame as it is generated by the GPU 107. The determined frame rate 110 may then be passed to the duty cycle calculating module 111 of computer system 101. The duty cycle calculating module 111 may be configured to calculate a backlight duty cycle 112 for the backlight 116 of display 115. As noted above, for low-persistence displays such as those used in conjunction with virtual or augmented reality devices, the display’s backlight 116 is typically only powered for a percentage of the total time the frame is displayed.
[0024] Thus, in the embodiments described herein, if the frame rate for current frame 109 is relatively high (meaning that the frame will be shown for a shorter amount of time on the display 115), then the duty cycle calculating module 111 may calculate a backlight duty cycle that is relatively shorter in length. Conversely, if the frame rate for the current frame 109 is relatively low (meaning that the frame will be shown for a longer amount of time on the display 115), then the duty cycle calculating module 111 may calculate a power duty cycle that is relatively longer in length. As such, the amount of time the backlight 116 is powered on may be dependent on the frame rate 110 which, at least in some cases, may vary a great deal over time. By calculating the backlight duty cycle in conjunction with the frame rate for each frame (or for a subset of the generated frames), the backlight may have a more consistent feel across multiple hundreds, thousands, or millions of frames. The consistent feel may lead to a more immersive artificial reality experience that is more lifelike and is minimally distracting.
[0025] As will be explained in greater detail below, embodiments of the present disclosure may adaptively control the amount of time a backlight is turned on during the projection of a frame in an environment where frame rate can vary. Features from any of the embodiments described herein may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description in conjunction with the accompanying drawings and claims, including method 200 of FIG. 2.
[0026] FIG. 2 is a flow diagram of an exemplary computer-implemented method 200 for adaptively controlling a backlight duty cycle. The steps shown in FIG. 2 may be performed by any suitable computer-executable code and/or computing system, including the system illustrated in FIG. 1. In one example, each of the steps shown in FIG. 2 may represent an algorithm whose structure includes and/or is represented by multiple sub-steps, examples of which will be provided in greater detail below.
[0027] As illustrated in FIG. 2, at step 210 one or more of the systems described herein may determine a frame rate for a current frame. For example, the frame rate determining module 108 of FIG. 1 may determine the frame rate 110 for current frame 109. The frame rate 110 may dictate the amount of time the current frame is to be presented on a display (e.g., display 115). The display may include a backlight 116 that is powered for a specified amount of time as part of a duty cycle. The backlight provides light to an LCD display or to an LED display or other type of display. The backlight may be a cold cathode fluorescent (CCFL) backlight, an LED backlight, or any other type of backlight. In low-persistence displays, the backlight may only be illuminated or powered for a small percentage of the time that the current frame 109 is presented on the display 115. The powering of the display’s backlight 116 may be controlled by a duty cycle 112.
[0028] At step 220 of FIG. 2, the duty cycle calculating module may calculate a backlight duty cycle time for the current frame 109. The backlight duty cycle time 112 may include a specified minimum amount of powered time plus an additional amount of powered time that is dependent on the frame rate for the current frame. In contrast to traditional systems that power the backlight 100% of the time, or that power the backlight at a fixed percentage of the time, the embodiments described herein may vary the amount of time the backlight 116 is powered on according to the frame rate 110 of the current frame 109. Thus, during periods where the GPU 107 is generating video frames at a high rate, the backlight duty cycle 112 may be shorter to more closely align with the shorter display times of the video frames. Conversely, during periods where the GPU 107 is generating video frames at a low rate (e.g., during a highly active part of a video game), the backlight duty cycle 112 may be longer to align with the longer display times of the video frames.
[0029] In at least some embodiments, the refresh rate of the display 115 may be fixed. Thus, for instance, the display refresh rate may be 60 Hz, 120 Hz, 240 Hz, or some other refresh rate. This refresh rate may not change, despite any changes in frame rate 110. Thus, if the backlight duty cycle 112 were calculated simply using the refresh rate of the display, the backlight duty cycle would not vary unless the refresh rate of the display was changed. Of course, the refresh rate of the display device 115 may be changed in some cases, but such changes are typically rare. Changes to the frame rate of the video frames 109 generated by the GPU 107, however, are (at least in some embodiments) substantially constant, changing with each frame. Accordingly, changes to the backlight duty cycle 112 based on video frame rate changes are focused on more heavily in the description herein. Although, it should be noted that the backlight duty cycle 112 may be changed for different display refresh rates in addition to any changes made to the backlight duty cycle in response to changes in video frame rate.
[0030] At step 230 of FIG. 2, the drive signal generating module 113 of FIG. 1 may generate a drive signal 114 for the display 115 using the calculated backlight duty cycle time 112 and, at step 240, may drive the display 115 using the generated drive signal 114. Accordingly, the backlight 116 of the display 115 may be powered for the calculated backlight duty cycle time 112 during presentation of the current frame 109 on the display 115. The generated drive signal 114 may be used to drive a single display (e.g., 115) or may be used to drive a plurality of displays. For instance, if a user is implementing three (or more) monitors to provide a more immersive field of view, the same drive signal 114 may be provided to all three monitors to control each of their backlight duty cycles simultaneously.
[0031] FIG. 3 illustrates an embodiment where a current video frame (e.g., 109 of FIG. 1) may be part of media content that has multiple video frames. For example, video content 301 may include large numbers of video frames 302. In the case of movies or television shows, the video content 301 may include tens or hundreds of thousands of video frames 302. In the case of video games (e.g., virtual reality or augmented reality video games), the video content 301 may be ongoing until the user is finished playing the game and may thus include millions of video frames over time. Regardless of which type of video content 301 is to be displayed on a display (e.g., 310), the video content is provided to a GPU 303 which assembles the video content into frames that are presentable on the display 310. The current frame 304 may be a single frame in a series of frames generated by the GPU. Each frame may be generated at a specific rate and may be displayed on the display 310 at that frame rate 305.
[0032] In some embodiments, as shown in FIG. 3, the duty cycle calculating module 307 and the drive signal generating module 308 may be part of the same chipset 306. The duty cycle calculating module 307 and the drive signal generating module 308 may be encoded in hardware such as an application specific integrated circuit (ASIC) or field-programmable gate array (FPGA). Once the duty cycle calculating module 307 has calculated a backlight duty cycle for the current frame 304 and after the drive signal generating module 308 has generated a drive signal 309, the current frame and drive signal may be sent together to the display 310 so that the current frame 304 is displayed on the display 310 and the backlight is powered according to the calculated backlight duty cycle. In this manner, each frame 304 that is generated by the GPU may have its own backlight duty cycle time. Stated another way, the backlight duty cycle time may be calculated dynamically for, and may be unique to, each frame 304 generated by the GPU 303. Then, even if the frame rate changes during a portion of video content 301, the dynamic calculation may change for the different frame rate and may calculate a backlight duty cycle that corresponds to the frame rate for that frame. This dynamically-calculated backlight duty cycle time may provide a display that is smooth and flicker-free, even with a continually-changing frame rate.
[0033] FIG. 4 illustrates a chart 400 that shows a timeframe between vertical synchs on a display. As noted above, displays are refreshed a certain number of times each second (e.g., 60 Hz, 90 Hz, 120 Hz, etc.). At each refresh of the display, a vertical synch may occur where the previous frame is no longer displayed and the new frame is about to be displayed. The chart indicates that a 60 Hz refresh lasts 16.7 msec and, as a relatively slow refresh rate, extends from Vsynch 401 to Vsynch 405. The 72 Hz refresh lasts 13.9 msec and extends from Vsynch 401 to Vsynch 404, 80 Hz refresh lasts 12.5 msec and extends from Vsynch 401 to Vsynch 403, and 90 Hz refresh lasts 11.1 msec and goes from Vsynch 401 to Vsynch 402.
[0034] The amount of time the backlight is powered may be indicated by the hashed columns t1-t4. At least in some embodiments, the backlight (e.g., 116 of FIG. 3) may be powered during time t1 for 90 Hz refresh-rate displays. This may be a minimum amount of time for the backlight to be powered on. For the 80 Hz refresh-rate display, the backlight may be powered for the time t1 plus an additional amount of time indicated by t2. The backlight may be powered for times t1+t2+t3 for the 72 Hz refresh-rate display, and times t1+t2+t3+t4 for the 60 Hz refresh-rate display. These backlight duty cycle times may be pre-calculated and may be stored in a lookup table (e.g., lookup table 500 of FIG. 5). By pre-calculating the backlight duty cycle times for different display refresh rates, some of the calculations performed by the duty cycle calculating module 111 may be reduced. Indeed, if the backlight duty cycle time is already known and calculated for different display device refresh rates, the calculations for varying the backlight duty cycle time based on generated video frame rates may be simplified.
[0035] FIG. 5 illustrates a lookup table 500 that lists, at least in one embodiment, how pre-calculated backlight duty cycle times are computed. For example, at a display refresh rate (501) of 60 Hz, the amount of time the backlight is powered on may be tmin+t1+t2+t3+t4. Other computations 502 are also shown for other display refresh rates including 72 Hz, 80 Hz, and 90 Hz. In some embodiments, these amounts (shown in results 503) may be added to the calculated backlight duty cycle 112 of FIG. 1. For instance, as noted above, once the display’s refresh rate is set, it is typically not changed. However, the frame rate of the generated video frames may change continually. Thus, in some cases, the backlight duty cycle times 503 may be added to or subtracted from the backlight duty cycle times calculated based on determined frame rate 110.
[0036] Accordingly, if the duty cycle calculating module 111 of computer system 101 calculated a backlight duty cycle time 112 for a specific frame 109 at a specified frame rate 110, that frame-rate specific duty cycle computation may be used in conjunction with the pre-calculated duty cycle times at 503 in the lookup table 500. In this manner, the frame-rate-specific backlight duty cycle time may be combined with the pre-calculated refresh-rate-specific backlight duty cycle to result in a backlight duty cycle time that is specific to that frame 109 and is specific to the refresh rate of the display 115. Because the backlight duty cycle time is calculated with deference to both the display’s refresh rate and the frame rate of the video frame, (i.e., they are each in synch), the backlight will not be powered on in between vertical synchs. If the backlight were powered on between vertical synchs, users may notice and become distracted. Instead, the backlight and the vertical synchs remain in synch and the backlight is powered according to the frame rate and display refresh rate. The amount of time the backlight is powered on may thus be proportionate to the total time the current frame is displayed while still varying with each frame.
[0037] In some embodiments, the duty cycle calculating module 111 of FIG. 1 may consult the lookup table 500 for each current frame (e.g., 109) to determine the appropriate backlight duty cycle time 112 for that frame. By having at least a portion of the backlight duty cycle time 112 pre-calculated, the overall amount of time used to calculate the backlight duty cycle time 112 may be reduced. This reduction in computational time may result in fewer CPU, memory, and other computing resources being used. In cases where the computer system 101 is a mobile device, this reduction in computing resources may result in longer battery life and more resources available for other tasks.
[0038] In some cases, the lookup table may also include pre-calculated backlight duty cycle times based on video frame rate. For instance, a lookup table may show, for a 60 Hz refresh rate display, a calculation of backlight duty cycle times for video frame rates of 1 fps to 100 fps. Another lookup table may include a calculation of backlight duty cycle times for video frame rates of 1 fps to 100 fps for a 72 Hz refresh rate. Another lookup table may include such for 80 Hz refresh rate displays, or 90 Hz refresh rate displays, or 120 Hz refresh rate displays. Thus, in such cases, if a video frame has a frame rate of 71 fps and is to be displayed on a display that refreshes at 120 Hz, the duty cycle calculating module 111 may consult the lookup table for a 120 Hz refresh rate, find the pre-calculated backlight duty cycle time for 71 fps, and use that value to create the drive signal. Once the duty cycle calculating module 111 has calculated the backlight duty cycle time 112 for that frame (e.g., 109), the drive signal generating module 113 may generate the drive signal 114 that drives the display 115 according to the duty cycle time generated based on the pre-calculated values. It will be recognized here that the numbers mentioned in regard to these lookup tables were chosen arbitrarily, and that substantially any number of lookup tables may be used with substantially any number of pre-calculated backlight duty cycle times.
[0039] FIG. 6 illustrates an embodiment in which a backlight persistence mode 601 is used as a factor when calculating a backlight duty cycle time (e.g., 112 of FIG. 1). For instance, the display 608 may be a low-persistence display. The low-persistence display may be part of an artificial reality device such as a virtual reality device or an augmented reality device. The low-persistence display 608 may be operated according to a persistence mode that reduces the amount of time the display’s backlight is powered on. High-persistence modes, on the other hand, may increase the amount of time the display’s backlight is powered. The backlight persistence mode 601 may be provided as an input to a chipset 602 that includes a GPU 603 and/or a drive signal generator 604, along with potentially other components such as a duty cycle calculator. The GPU may generate frames as described in reference to GPU 107 of FIG. 1 and a duty cycle calculating module may calculate a duty cycle that is commensurate with the backlight persistence mode 601. The drive signal generator 604 may then generate a drive signal 607 and send the drive signal, along with the generated frame 605, to the display 608. In such embodiments, the backlight persistence mode 601 may be configurable by a viewer of the display to have more or less persistence.
[0040] In some cases, the refresh rate of the display may be synchronized according to the backlight persistence mode. For instance, in cases where the refresh rate of the display 608 is 90 Hz, the backlight persistence mode 601 may indicate that the backlight is only to be powered on 10% of the time each frame is displayed. In cases where the frame rate for each frame varies, the 10% backlight powered time may be different for each frame as 10% of different values results in different outcomes. Thus, the backlight persistence mode 601 may indicate a certain level of overall persistence that is to be achieved in the display 608, and the drive signal generator 604 that drives the display 608 may generate the drive signal 607 according to the specified backlight persistence mode. In some embodiments, the display refresh rate may be synchronized with the backlight persistence mode as in the example above, and may be further synchronized with a graphics processing unit (GPU) frame rate associated with a GPU that generates the current frame.
[0041] Thus, in cases where the GPU 603 is producing video frames 605 at a very high rate, and in cases where the backlight persistence mode is set to “Low,” the drive signal generator 604 may generate a drive signal 607 that drives the display’s backlight for a shorter amount of time, as each of the frames is shown on the display for a relatively shorter amount of time. Conversely, in cases where the backlight persistence mode is set to “High,” the drive signal generator 604 may generate a drive signal 607 that drives the display’s backlight for a longer amount of time, as each of the frames is shown on the display 608 for a relatively longer amount of time. In some cases, the user may be able to change the backlight persistence mode if the user wants more or less backlight.
[0042] Alternatively, the backlight persistence mode may be set to change automatically. For example, in cases where the display 608 is a virtual reality display (e.g., 902 of FIG. 9 below), the virtual reality display may include one or more internal or external sensors. Those sensors may identify characteristics of the user’s surroundings. Other data, including simultaneous localization and mapping (SLAM) data may also be received by or generated at the virtual reality device. The virtual reality device may use this data to determine when a higher or lower backlight persistence mode is to be used. Upon determining that the user’s environment is dark, for example, the backlight persistence mode 601 may automatically change to a lower persistence mode. Upon determining that the user’s environment is light (e.g., the virtual reality device is being used outdoors in a user’s backyard), on the other hand, the backlight persistence mode 601 may automatically change to a higher persistence mode to better align with the user’s current surroundings. Then, if a user is in an especially dark or light setting, the user’s eyes will not need as long to adjust to the virtual reality display. The backlight persistence mode 601 may thus be selected automatically and may also adjust automatically according to sensor data or according to other factors in the user’s environment.
[0043] A corresponding system may include at least one physical processor, and physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to: determine a frame rate for a current frame, where the frame rate dictates the amount of time the current frame is to be presented on a display, and where the display includes a backlight that is powered for a specified amount of time as part of a duty cycle, calculate a backlight duty cycle time for the current frame, where the backlight duty cycle time includes a specified minimum amount of powered time plus an additional amount of powered time that is dependent on the frame rate for the current frame, generate a drive signal for the display using the calculated backlight duty cycle time, and drive the display using the generated drive signal, such that the backlight of the display is powered for the calculated backlight duty cycle time during the current frame.
[0044] A corresponding non-transitory computer-readable medium may include one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to: determine a frame rate for a current frame, where the frame rate dictates the amount of time the current frame is to be presented on a display, and where the display includes a backlight that is powered for a specified amount of time as part of a duty cycle, calculate a backlight duty cycle time for the current frame, where the backlight duty cycle time includes a specified minimum amount of powered time plus an additional amount of powered time that is dependent on the frame rate for the current frame, generate a drive signal for the display using the calculated backlight duty cycle time, and drive the display using the generated drive signal, such that the backlight of the display is powered for the calculated backlight duty cycle time during the current frame.
[0045] In this manner, methods and systems are provided that adjust a duty cycle of a display’s backlight according to the frame rate of the video frames generated by the graphics processing unit. Adjusting the display’s backlight in this manner may reduce noticeable backlight flickering in cases where the frame rate varies between frames. Moreover, adjusting the backlight to run in a low-persistence mode may reduce fatigue on the user’s eyes and may provide for a more immersive artificial reality experience. Still further, the methods and systems herein may allow a user to change the persistence mode of the display and may also allow the persistence mode to be changed automatically based on various factors in the user’s current environment.
EXAMPLE EMBODIMENTS
Example 1
[0046] A computer-implemented method may include determining a frame rate for a current frame, the frame rate dictating the amount of time the current frame is to be presented on a display, the display including a backlight that is powered for a specified amount of time as part of a duty cycle, calculating a backlight duty cycle time for the current frame, the backlight duty cycle time comprising a specified minimum amount of powered time plus an additional amount of powered time that is dependent on the frame rate for the current frame, generating a drive signal for the display using the calculated backlight duty cycle time, and driving the display using the generated drive signal, such that the backlight of the display is powered for the calculated backlight duty cycle time during the current frame.
Example 2
[0047] The computer-implemented method of Example 1, wherein the current frame is part of a portion of media content having a plurality of video frames.
Example 3
[0048] The computer-implemented method of any of Examples 1 and 2, wherein the backlight duty cycle times are calculated dynamically for each frame.
Example 4
[0049] The computer-implemented method of any of Examples 1-3, wherein the frame rate changes during a portion of media content, and wherein the dynamic calculation changes for the different frame rate.
Example 5
[0050] The computer-implemented method of any of Examples 1-4, wherein the backlight duty cycle times are pre-calculated for a plurality of different frame rates.
Example 6
[0051] The computer-implemented method of any of Examples 1-5, wherein the amount of time the backlight is powered on is proportionate to a total time the current frame is displayed.
Example 7
[0052] The computer-implemented method of any of Examples 1-6, wherein the amount of time the backlight is powered on is longer for lower frame rates and is shorter for higher frame rates.
Example 8
[0053] The computer-implemented method of any of Examples 1-7, wherein the display comprises a liquid crystal display (LCD) and wherein the backlight comprises a cold cathode fluorescent (CCFL) backlight.
Example 9
[0054] The computer-implemented method of any of Examples 1-8, wherein the display comprises an LCD and wherein the backlight comprises a light emitting diode (LED) backlight.
Example 10
[0055] The computer-implemented method of any of Examples 1-9, wherein the display comprises a low-persistence display.
Example 11
[0056] The computer-implemented method of any of Examples 1-10, wherein the low-persistence display is part of an artificial reality device.
Example 12
……
……
……