Display systems present video renderings with rapidly changing content. The rapidly changing content often presents images that may direct the focus of a viewer.
Personal computing gaming provides an immersive interactive experience for a user. During a gaming session, a user may become involved to the point which the user may lose track of time. Additionally, competitive users may participate in competitions to complete a game in a minimum amount of time. These competitions are called “speedruns.” Disclosed herein is a system including a display, a controller, and customizable characteristics for rendering onscreen display timers.
In one implementation, a system including a controller attached to a display may receive a set of customizable display characteristics and a set of customizable non-display characteristics corresponding to an onscreen display timer. The controller may compose the onscreen display timer based on the set of customizable display characteristics and the set of customizable non-display characteristics. The customizable characteristics may include an alpha value, a location, a color value, and a message. The controller may store the onscreen display timer in the non-volatile memory. The controller may then render the onscreen display timer on a display in accordance to the set of customizable non-display characteristics, wherein the rendering is independent of a video stream. The controller may update the onscreen display timer on the display based on the set of customizable non-display characteristics. The onscreen display timer may be supported by a set of hardware internal to the display and independent of a host computer system and the system's operating system.
The display 110 may provide a basis for a video rendering of the onscreen display timer 102. The display 110 may include but is not limited to display panels based on liquid crystal displays (LCDs), organic light emitting diodes (OLEDs), quantum-dot light emitting diode (QLEDs), and cathode ray tubes (CRTs). In one implementation, the display 110 may be a standalone monitor capable of connecting to a computer. The display 110 may be connected to the computer through an industry standard connection interface such as high definition multimedia interface (HDMI) or DisplayPort. In another implementation, the display 110 may be connected to an integrated system, where the display 110 is not a discrete or separate component. For example, a tablet or mobile device may be an integrated system. In another implementation, the display 110 may be included in a head mounted display (HMD). The HMD may be utilized in various virtual reality (VR), mixed reality (MR) or augmented reality (AR) applications. The display 110 may also include a controller 104. In other implementations, the controller 104 may be physically separate from the display 110, yet communicatively coupled to the display 110.
The controller 104 may control various aspects of the display 110 including displaying an onscreen display timer 102 as well as the operation and rendering of an onscreen display 106. The controller 104 may be coupled to the display 110 The controller 104 may include hardware, software, firmware or a combination thereof to render a graphics overlay on the display. The graphics overlay may include individualized or individually controlled graphical components such as the onscreen display timer 102 and the onscreen display 106. The controller 104 may render either the onscreen display timer 102 on the screen, the onscreen display 106, or both simultaneously. The controller 104 may include functionality for controlling display 110 resolution either explicitly through the onscreen display 106 or implicitly as determined from a received video stream 112. In the implicit resolution determination mentioned previously, the controller 104 may detect the resolution of the received video stream 112 and adjust the rendering of onscreen display 106 and the onscreen display timer 102 accordingly. In the event of a lower resolution video stream 112 receipt, the controller 104 may decrease the resolution of the onscreen display 106 and the onscreen display timer 102 such that the onscreen display 106 and the onscreen display timer 102 as suitable for viewing at the received resolution. Additionally, the controller 104 may increase the resolution of both onscreen display elements for suitability. In another implementation, the controller 104 may provide an option within the onscreen display 106 to allow the user to manually set the resolution of the video stream 112, the onscreen display 106, and the onscreen display timer 102. The controller 104 may receive a set of customizable characteristics 108 from the onscreen display 106 as selected by a user. The controller 104 may apply the set of customizable characteristics 108 to an onscreen display timer 102. Additionally, the controller 104 may store the set of customizable characteristics 108 to a nonvolatile memory as described later in this disclosure.
The onscreen display timer 102 may be a graphical object to be rendered on the display 110 at a specific position on the display 110. The onscreen display timer 102 may be affected by a set of customizable characteristics 108 as selected from an onscreen display 108.
The onscreen display 106 may provide the user an interface into the system 100. The onscreen display 106 may present the user with options for configuring the set of customizable display characteristics 108 and the set of customizable non-display characteristics. The onscreen display 106 may provide instructions to the controller 104 to interface the non-volatile memory to either retrieve or store values corresponding to the set of customizable display characteristics 108 and the set of customizable non-display characteristics. The onscreen display 106 may provide instructions to the controller 104 to interface other interfaces to import or export values corresponding to the set of customizable characteristics 108. To support the export, store, as well as navigation commands for the onscreen display 106, an action interface 114 may be integrated into the onscreen display.
The display 110 may present a video stream 112. The video stream 112 may present a background to the onscreen display timer 102 and the onscreen display 106. The video stream 112 may correspond to the real time rendered content of a video game.
Referring to
Referring to
Referring to
Referring to
Additionally, a message or content value included in the set of customizable non-display characteristics 208 may be displayed in the overlay. The content value may be editable to correspond to a message to be presented to the user at the end of a countdown onscreen display timer. The content value may be alphanumeric text or a graphic object intended to convey a message to the user at the end of the countdown timer. The content value may be stored in memory with additional values in the set of customizable non-display characteristics.
At block 302, the controller 104 receives a set of customizable display characteristics corresponding to an onscreen display timer. In one implementation the controller receives the set of customizable display characteristics as a set of user inputs supported through an onscreen display. In another implementation, the set of customizable characteristics may be received as a cryptographically signed binary file transferred over a universal serial bus (USB) connection as a transfer from a stand-alone application. In another implementation, the cryptographically signed binary image file may be transferred directly from a stand-alone application over a transfer link such as but not limited to universal serial bus. The cryptographically signed binary image file may be formatted in a way where the controller 104 may extract the corresponding values for each in the set of customizable display characteristics and store them in a corresponding memory location. The controller 104 may update the onscreen display 106 to reflect the file transfer.
At block 304, the controller 104 receives a set of customizable non-display characteristics corresponding to an onscreen display timer. The set of customizable non-display characteristics may include time-based values. Similar to the set of customizable display characters described in reference to step 302, the set of customizable non-display characteristics may also be received through a USB transfer.
At block 306, the controller 104 composes the onscreen display timer based on the set of customizable display characteristics and the set of customizable non-display characteristics. The controller 104 may utilize all of the set of customizable characteristics and the set of customizable non-display characteristics and apply them to the onscreen display timer. The controller 104 may include a rasterizer and a scaler to appropriately apply the set of customizable characteristics and the set of customizable non-display characteristics for the selected or detected resolution of the video stream. The controller 104 may utilize a scaling factor based on the resolution detections. In another implementation, the controller 104 may store the onscreen display timer in nonvolatile memory. The storing may include writing the set of customizable display characteristics, and the set of customizable non-display characteristics to a storage device internal to the display.
At block 308, the controller 104 starts the onscreen display timer based at least in part on the set of customizable non-display characteristics. The controller 104 starts the onscreen display timer internal to the system. The onscreen display timer may operate as a data structure that the controller 104 updates periodically based on a system clock within the controller 104. The onscreen display timer may be bound to the data structure through event notification.
At block 310, the controller 104 renders the onscreen display timer on a display. The rendering may include updating a visual representation of the onscreen display timer based on the set of customizable display characteristics and a content corresponding to the set of customizable non-display characteristics. The content may correspond to a message ova graphic image to be displayed at the end of the duration of an onscreen display timer. For example, in a countdown timer, a user may be notified that their “time is up.” The content may remain non-rendered until the onscreen display timer stops or expires.
At block 312, the controller 104 updates the onscreen display timer on the display, responsive to an indication corresponding to the set of customizable non-display characteristics. The controller 104 may utilize an event notification as an indication. The event notification may provide the controller 104 an indication that the onscreen display timer may be updated corresponding to a tick on the system clock. The indication may be present during a time value within the set of customizable non-display characteristics.
Memory device 404 represents generally any number of memory components capable of storing instructions that can be executed by controller 104. Memory device 404 is non-transitory in the sense that it does not encompass a transitory signal but instead is made up of at least one memory component configured to store the relevant instructions. As a result, the memory device 404 may be a non-transitory computer-readable storage medium. Memory device 404 may be implemented in a single device or distributed across devices. Likewise, controller 104 represents any number of processors capable of executing instructions stored by memory device 404. Controller 104 may be integrated in a single device or distributed across devices. Further, memory device 404 may be fully or partially integrated in the same device as controller 104, or it may be separate but accessible to that device and controller 104.
In one example, the program instructions 406-414 can be part of an installation package that, when installed, can be executed by controller 104 to implement the components of the computing device 400. In this case, memory device 404 may be a portable medium such as a CD, DVD, or flash drive, or a memory maintained by a server from which the installation package can be downloaded and installed. In another example, the program instructions may be part of an application or applications already installed. Here, memory device 404 can include integrated memory such as a hard drive, solid state drive, or the like.
It is appreciated that examples described may include various components and features. It is also appreciated that numerous specific details are set forth to provide a thorough understanding of the examples. However, it is appreciated that the examples may be practiced without limitations to these specific details. In other instances, well known methods and structures may not be described in detail to avoid unnecessarily obscuring the description of the examples. Also, the examples may be used in combination with each other.
Reference in the specification to “an example” or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example, but not necessarily in other examples. The various instances of the phrase “in one example” or similar phrases in various places in the specification are not necessarily all referring to the same example.
It is appreciated that the previous description of the disclosed examples is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these examples will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other examples without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the examples shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.