Patent Description:
OSD is generally a rectangular menu including information about various adjustment options of the display, which pops up on the screen after the Menu key is pressed. Various operation indexes such as color, mode, and geometry of the display can be adjusted to the best usage state through the menu.

In the related art, the following two OSD implementation methods are mainly used.

<CIT> discloses a method for providing event notification to an application, the method may include sending a message to an operating system driver when a first event occurs.

<CIT> discloses a display device which includes a display for displaying at least one piece of content, a user input interface for receiving a signal from a remote control device, and a controller for controlling operation of the display device.

To overcome the problems in the related art, the present disclosure provides a method and apparatus for implementing OSD.

The technical solutions provided in the embodiment of the present invention can have the following beneficial effects.

In the technical solutions of the present disclosure, attention is paid to WMI events corresponding to OSD shortcut operations and corresponding OSD functions triggered by the WMI events, instead of underlying hardware operations triggered by different OSD shortcut keys. In this way, even if OSD shortcut keys for terminal devices produced by different manufacturers are different and their hardware operations are different, the implementation of OSD functions can still be unified by triggering a same WMI event through the OSD shortcut keys.

It should be understood that the foregoing general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the present disclosure.

The accompanying drawings to be described herein are incorporated into this specification and constitute a part of this specification. These accompanying drawings show the embodiment of the present invention, and are used, together with this specification, to explain the principle of the present invention.

The embodiment will be described in detail herein, and examples are shown in the accompanying drawings. When the accompanying drawings are involved in the following description, unless otherwise indicated, identical reference numerals in different accompanying drawings indicate identical or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present invention. Instead, the implementations are merely examples of apparatuses and methods consistent with some aspects of the present invention as described in the appended claims.

This embodiment, which is not according to the invention and is present for illustration purposes only, discloses a method for implementing OSD. With reference to <FIG> shows a flowchart of a method for implementing OSD according to an exemplary embodiment. The method for implementing OSD is applied in a terminal device. As shown in <FIG>, the method for implementing OSD includes the following steps.

In the step S11, a Windows Management Instrumentation (WMI) event is received, the WMI event being triggered based on an OSD shortcut operation initiated by a user.

The WMI event being triggered based on the OSD shortcut operation initiated by the user means that a corresponding WMI event is triggered when the user initiates an OSD shortcut operation. For example, when the user executes an input operation for the key CapsLock, a WMI event corresponding to this input operation is triggered. For another example, when the user executes an input operation for a combined shortcut key, a WMI event corresponding to this input operation is triggered, wherein the combined shortcut key may be, but not limited to, Fn+F6.

In the step S12, an OSD function corresponding to the WMI event is determined according to a correspondence between WMI events and OSD functions, and popup window information corresponding to the OSD function is acquired.

The involved correspondence between WMI events and OSD functions may be configured by the system or set by the user. The correspondence between WMI events and OSD functions refers that different WMI events correspond to different OSD functions, respectively. That is, different WMI events may call different OSD functions, and function popup windows corresponding to the OSD functions are displayed to facilitate the user to adjust the OSD functions. The OSD functions involved in the present disclosure include various functions related to the On-Screen Display (OSD). For example, the functions include adjustment of color, brightness, mode and geometry of the display, mode switching of the external projector, or the like. The WMI events include various Windows management instrumentation events. For example, the WMI events include Boot/WMI/HID_EVENT1, Boot/WMI/HID_EVENT2 or the like. In practical applications, the correspondence between WMI events and OSD functions is set with reference to the correspondence between the OSD shortcut keys for triggering the WMI events and the OSD functions. For example, The OSD function corresponding to the combined shortcut key Fn+F7 is a mode switching function for the external projector. On this basis, the OSD function corresponding to the WMI event triggered by the combined shortcut key Fn+F7 may be set as the mode switching function for the external projector.

In the step S12, the popup window information corresponding to the OSD function may be acquired in various ways. For example, the popup window information may be acquired from the correspondence between WMI events and OSD functions. That is, in the correspondence between WMI events and OSD functions, different WMI events correspond to different OSD functions, respectively; and, in the correspondence, different OSD functions correspond to popup window information used for generating OSD function popup windows, respectively. For another example, the popup window information corresponding to the OSD function corresponding to the reported WMI event are acquired from the popup window information corresponding to various OSD functions stored locally or in a third party.

In the step S13, an OSD function popup window is generated according to the popup window information.

In the step S14, the OSD function popup window is displayed.

The involved OSD function popup window may provide operation options of one or more OSD functions for the user. The user may correspondingly adjust any one or more OSD functions by clicking or touching the options in the OSD function popup window. For example, the display color function popup window contains a display color value increase option and a display color value decrease option. In this way, the user clicking the display color value increase option is equivalent to the user performing an operation of increasing the current color value of the display. The user clicks the display color value decrease option is equivalent to the user performing an operation of decreasing the current color value of the display.

It can be known from the foregoing description that, in this embodiment, attention is paid to WMI events triggered by OSD shortcut keys and corresponding OSD functions triggered by the WMI events, instead of underlying hardware operations triggered by different OSD shortcut keys. In this way, even if OSD shortcut keys for terminal devices produced by different manufacturers are different and their hardware operations are different, the implementation of OSD functions can still be unified by triggering a same WMI event through the OSD shortcut keys, so that the implementation of OSD functions in the related art is simplified.

This embodiment further discloses a method for implementing OSD. In this method, the popup window information corresponding to the OSD function may include any one or more of the following information:
size information of the popup window, position information of the popup window, information of OSD function options, and transparency information of the popup window.

If the popup window information corresponding to the OSD function includes the size information of the popup window, the size of the OSD function popup window may be set according to the size information of the popup window.

If the popup window information corresponding to the OSD function includes the position information of the popup window, the coordinate position of the top left corner of the OSD function popup window on the display screen may be set according to the position information of the popup window.

If the popup window information corresponding to the OSD function includes the information of OSD function options, various operation options to be displayed in the OSD function popup window may be set according to the information of OSD function options. The operation options may include various options. For example, when the OSD function is the display color setup, the information of OSD function options corresponding to the OSD function may include a display color value increase option, a display color value decrease option or the like. When the OSD function is the display brightness setup, the information of OSD function options corresponding to the OSD function may include a display brightness value increase option, a display brightness value decrease option or the like.

If the OSD function popup window information includes the transparency information of the popup window, the transparency of the OSD function popup window may be set according to the transparency information of the popup window. For example, the OSD function popup window may be semi-transparent, non-transparent or the like.

This embodiment further discloses a method for implementing OSD. With reference to <FIG> shows a flowchart of a method for implementing OSD according to an exemplary embodiment. As shown in <FIG>, the step S13 shown in <FIG> includes the following steps:
Step S21: The OSD function popup window is generated in an animated manner according to popup window information corresponding to the OSD function, the OSD function popup window being a layered window.

The way to generate the OSD function popup window in an animated manner may be as follows: when the user presses down a certain OSD shortcut key, the OSD function popup window corresponding to the OSD shortcut key may be dynamically displayed to the user. For example, the animation way may be fade-in fade-out, so that the OSD function popup window is dynamically displayed.

The layer window used in the OSD function popup window may be automatically combined with an inactive window under the Windows, realizing the mixed effect of different windows. Additionally, the transparency of the OSD function popup window may also be controlled by pasting pictures to the layer window. For example, the window transparency may be dynamically adjusted regularly through a timer, so that the OSD function popup window achieves the fade-out effect, the display effect of the OSD function popup window is optimized, and the user experience is improved.

This embodiment further discloses a method for implementing OSD. With reference to <FIG> shows a flowchart of a method for implementing OSD according to an exemplary embodiment. As shown in <FIG>, the step S11 shown in <FIG> includes the following steps:
Step S31: The WMI event is received through inter-process communication of an operating system.

With reference to <FIG>, as shown in <FIG>, the step S31 shown in <FIG> includes the following steps:
Step S41: The operating system of the terminal device monitors the WMI event through a Windows Service.

Step <NUM>: Upon monitoring the WMI event, the terminal device receives the WMI event through inter-process communication of the operating system.

For example, the process of receiving the WMI event may be realized by calling back the WMI event. That is, the call-back of the WMI event may be registered in advance by using an IWbemServices interface through a Component Object Model (COM) technology. There is a correspondence between WMI events and OSD shortcut operations. In this way, when a certain OSD shortcut operation is detected, the operating system determines a WMI event corresponding to this OSD shortcut operation. Subsequently, the determined WMI event is called back in a manner of receiving event asynchronously, and the WMI event is reported to an OSD application (OSD APP) through inter-process communication for subsequent operations.

The principle of monitoring the WMI event by the operating system is shown in <FIG>. When the user initiates an OSD shortcut operation, in the underlying hardware shown in <FIG>, an Embedded Controller (EC) detect the OSD shortcut operation, and the EC transmits a signal (e.g., a scan code or Q event signal) corresponding to the OSD shortcut operation to a Basic Input Output System (BIOS). The BIOS transmits the OSD shortcut operation detected by the hardware to a Windows Service in a User Level, and the Windows Service determines triggering a corresponding WMI event according to the received OSD shortcut operation and reports the triggered WMI event to an OSD Utility. An OSD Service in the OSD Utility notifies the WMI event to an OSD APP through Inter-Process Communication (IPC) so as to do a corresponding action, so that the separation of the User Interface (UI) from services is realized, and higher flexibility and robustness are realized.

This embodiment further discloses a method for implementing OSD. With reference to <FIG> shows a flowchart of a method for implementing OSD according to an exemplary embodiment. As shown in <FIG>, based on the steps S11 to S14, the method further includes the following operation.

Step S61: The correspondence between WMI events and OSD functions is acquired in advance.

The correspondence between WMI events and OSD functions may be acquired in advance in various ways. For example, the correspondence between WMI events and OSD functions may be locally acquired from the terminal device. For another example, the correspondence between WMI events and OSD functions may be acquired from a third party.

The correspondence between WMI events and OSD functions locally acquired from the terminal device may be initially set by the terminal device, or may be set and stored according to the user's operation. When the correspondence between various WMI events and various OSD functions is stored according to the user's operation, the WMI event triggered by the OSD shortcut operation may be set firstly, and the OSD function called by the OSD shortcut operation is then determined. In this way, the WMI event triggered by the OSD shortcut operation may correspond to the OSD function called by the OSD shortcut operation. For example, the WMI event triggered by the combined OSD shortcut key Fn+F7 is set as Boot/WMI/HID_EVENT2, and the OSD function to be called by the combined OSD shortcut key Fn+F7 is the mode switching function for the external projector. Therefore, in the correspondence between WMI events and OSD functions, the OSD function corresponding to the WMI event Boot/WMI/HID_EVENT2 is stored as the mode switching function for the external projector.

This embodiment further discloses a method for implementing OSD. In this method, the correspondence between WMI events and OSD functions may further include reserved extension bits, the extension bits are used for storing extended WMI events and OSD functions corresponding to the extended WMI events, and the extended WMI events are triggered based on extended OSD shortcut operations.

In this embodiment, considering that the OSD function may be extended, after a new OSD function is developed, the OSD shortcut key of the new OSD function can trigger an extended WMI event, the extended WMI event is stored in the extension bits of the correspondence, and the OSD function corresponding to the extended WMI event is stored in the extension bits.

In this embodiment, the WMI event is triggered by the OSD shortcut operation initiated by the user, that is, there is a correspondence between WMI events and OSD shortcut keys. WMI events correspondingly triggered by different OSD shortcut keys may be configured in advance.

In this embodiment, the correspondence between various OSD shortcut keys and the WMI events triggered by the OSD shortcut keys may be stored in a manner with reference to the following table <NUM>.

The first left column in the table <NUM> shows the Globally Unique Identifier (GUID) of each WMI event. The GUID can be used for indicating the unique identifier corresponding to the WMI event. The second left column in the table <NUM> shows each WMI event. The third left column in the table <NUM> shows the OSD shortcut key corresponding to the WMI event, i.e., the OSD shortcut key that can trigger the WMI event. In the table <NUM>, the blanks in the third column can be used as extension bits, indicating that there is currently no OSD shortcut key corresponding to the WMI event. When the WMI event corresponding to certain extension bits is configured to implement an extended OSD function, the OSD shortcut key corresponding to the extended OSD function is added to the extension bits. Moreover, it can be known from the table <NUM> that the same OSD shortcut key may correspond to different WMI events. Considering the terminal devices produced by different manufacturers, the OSD functions corresponding to the OSD shortcut operation may be different. Therefore, in the table <NUM>, OSD shortcut keys of terminal devices produced by different manufacturers may correspond to different WMI events, and one correspondence will be selected as required. For example, according to the specific function of the OSD shortcut key Fn+Esc of different terminal devices produced by different manufacturers, one WMI event can be selected, from WMI event of Boot/WMI/HID_EVENT8 or WMI event of Boot/WMI/HID_EVENT9, to correspond to Fn+Esc.

<FIG> shows a structural block diagram of an apparatus for implementing On-Screen Display (OSD) according to an exemplary embodiment. With reference to <FIG>, the apparatus includes a receiving module <NUM>, an inquiry module <NUM>, an OSD function processing module <NUM> and a display module <NUM>.

The receiving module <NUM> is configured to receive a WMI event, wherein the WMI event may be triggered based on an OSD shortcut operation initiated by a user.

The inquiry module <NUM> is configured to determine, from a correspondence between WMI events and OSD functions, an OSD function corresponding to the WMI event, and acquire popup window information corresponding to the OSD function. For example, it is possible that, upon receiving the WMI event, the receiving module determines, from the correspondence between WMI events and OSD functions, an OSD function corresponding to the received WMI event, and acquires popup window information corresponding to the OSD function.

The OSD function processing module <NUM> is configured to generate an OSD function popup window according to the popup window information.

The display module <NUM> is configured to display the OSD function popup window.

This embodiment further discloses an apparatus for implementing OSD. The popup window information corresponding to the OSD function acquired by the inquiry module <NUM> include one or more of the following information:
size information of a popup window, position information of the popup window, information of OSD function options, and transparency information of the popup window.

For example, if the popup window information corresponding to the OSD function includes the size information of the popup window, the OSD function processing module may set the size of the OSD function popup window according to the size information of the popup window.

If the popup window information corresponding to the OSD function includes the information of OSD function options, various operation options to be displayed in the OSD function popup window may be set according to the information of OSD function options.

If the OSD function popup window information includes the transparency information of the popup window, the transparency of the OSD function popup window may be set according to the transparency information of the popup window.

This embodiment further discloses an apparatus for implementing OSD. The generating an OSD function popup window according to the popup window information includes:
The OSD function processing module <NUM> generates the OSD function popup window in an animated manner according to popup window information corresponding to the OSD function, the OSD function popup window being a layered window.

This embodiment further discloses an apparatus for implementing OSD. In the apparatus, the receiving a WMI event includes:
The receiving module <NUM> receives the WMI event through inter-process communication of an operating system.

This embodiment further discloses an apparatus for implementing OSD. As shown in <FIG>, based on the receiving module <NUM>, the inquiry module <NUM>, the OSD function processing module <NUM> and the display module <NUM>, the apparatus further includes an acquisition module <NUM>.

The acquisition module <NUM> is configured to acquire the correspondence between the WMI events and the OSD functions in advance.

The correspondence between WMI events and OSD functions acquired by the acquisition module <NUM> may further contain the correspondence between various OSD shortcut keys and WMI events.

This embodiment further discloses an apparatus for implementing OSD. The correspondence between WMI events and OSD functions involved in the apparatus further contains reserved extension bits. The extension bits may store extended WMI events and OSD functions corresponding to the extended WMI events. The extended WMI events may be triggered based on the extended OSD shortcut operations. In this way, when an OSD function is extended, the extended OSD function may also be called by triggering the corresponding WMI event through an OSD shortcut operation.

This embodiment further discloses an apparatus for implementing OSD. In this apparatus, the receiving module <NUM> may be provided in an OSD service, and the function of the receiving module <NUM> is implemented by the OSD service. That is, the OSD service can receive the WMI event triggered by the OSD shortcut operation and reported by the Windows service. The inquiry module <NUM>, the OSD function processing module <NUM> and the display module <NUM> may be integrated in an OSD APP, and the functions of the inquiry module <NUM>, the OSD function processing module <NUM> and the display module <NUM> are implemented by the OSD APP.

For the apparatuses in the above embodiments, the specific operations executed by each unit module have been described in detail in the embodiments of the methods, and will not be repeated here.

<FIG> is a block diagram of an apparatus <NUM> for implementing OSD according to an exemplary embodiment. For example, the apparatus <NUM> may be a mobile phone, a computer, a digital broadcasting terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant or the like.

With reference to <FIG>, the apparatus <NUM> may include one or more of the following components: a processing component <NUM>, a memory <NUM>, a power component <NUM>, a multimedia component <NUM>, an audio component <NUM>, an input/output (I/O) interface <NUM>, a sensor component <NUM> and a communication component <NUM>.

The processing component <NUM> generally controls the overall operation of the apparatus <NUM>, such as operations associated with display, telephone call, data communication, camera operations and recording operations. The processing component <NUM> may include one or more processors <NUM> to execute instructions to complete all or some of the steps in the methods described above. Additionally, the processing component <NUM> may include one or more modules to facilitate interaction between the processing component <NUM> and other components. For example, the processing component <NUM> may include a multimedia module to facilitate interaction between the multimedia component <NUM> and the processing component <NUM>.

The memory <NUM> is configured to store various types of data to support the operation of the apparatus <NUM>. Examples of the data include instructions for any application or method operating on the apparatus <NUM>, contact data, phonebook data, messages, pictures, video or the like. The memory <NUM> may be implemented by any type of volatile or non-volatile storage devices or a combination thereof, for example, a Static Random Access Memory (SRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), an Erasable Programmable Read-Only Memory (EPROM), a Programmable Read-Only Memory (PROM), a Read-Only Memory (ROM), a magnetic memory, a flash memory, a magnetic disk or an optical disk.

The power component <NUM> supplies power to various components of the apparatus <NUM>. The power component <NUM> may include a power management system, one or more power supplies, and other components associated with the generation, management and distribution of power for the apparatus <NUM>.

The multimedia component <NUM> includes a screen to provide an output interface between the apparatus <NUM> and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a TP, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touching, sliding and gestures on the touch panel. The touch sensor may sense the boundary of a touch or slide action, and also detect the duration and pressure related to the touch or slide operation. When the apparatus <NUM> is in an operation mode such as a shooting mode or a video mode, the front camera and/or the rear camera may receive external multimedia data. Each of the front camera and the rear camera may be a fixed optical lens system or have a focal length and an optical zooming capability.

The audio component <NUM> is configured to output and/or input audio signals. For example, the audio component <NUM> includes a microphone (MIC). When the apparatus <NUM> is in an operation mode such as a call mode, a recording mode or a voice recognition mode, the microphone is configured to receive external audio signals. The received audio signals may be further stored in the memory <NUM> or transmitted via the communication component <NUM>. In some embodiments, the audio component <NUM> further includes a loudspeaker configured to output the audio signals.

The I/O interface <NUM> provides an interface between the processing component <NUM> and a peripheral interface module. The peripheral interface module may be a keyboard, a click wheel, buttons or the like. These buttons may include, but not limited to: a Home button, a Volume button, a Start button and a Lock button.

The sensor component <NUM> includes one or more sensors configured to provide state evaluation of various aspects of the apparatus <NUM>. For example, the sensor component <NUM> may detect the on/off state of the apparatus <NUM> and the relative position of a component. For example, if the component is a display and a keypad of the apparatus <NUM>, the sensor component <NUM> may also detect the position change of the apparatus <NUM> or one component of the apparatus <NUM>, the presence or absence of the user's contact with the apparatus <NUM>, the orientation or acceleration/deceleration of the apparatus <NUM> and the temperature change of the apparatus <NUM>. The sensor component <NUM> may further include an optical sensor (e.g., a CMOS or CCD image sensor) for use in imaging applications. In some embodiments, the sensor component <NUM> may further include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor or a temperature sensor.

The communication component <NUM> is configured to facilitate the wired or wireless communication between the apparatus <NUM> and other devices. The apparatus <NUM> may access to a wireless network based on communication standards, for example, WiFi, <NUM>, <NUM>, <NUM>, <NUM> or a combination thereof. In an exemplary embodiment, the communication component <NUM> receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component <NUM> further includes a Near-Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on a Radio Frequency Identification (RFID) technology, an Infrared Data Association (IrDA) technology, an Ultra Wide Band (UWB) technology, a Bluetooth (BT) technology and other technologies.

In an exemplary embodiment, the apparatus <NUM> may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic elements to execute the methods described above.

Other embodiments of the present invention will be readily apparent to those skilled in the art upon considering this specification and the practices of inventions disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present invention, and these variations, uses or adaptations follow the general principle of the present invention and include the common knowledge or conventional technical means in this technical art that are not disclosed herein. This specification and the embodiments are merely exemplary, and the real scope of the present invention is defined by the following claims.

Claim 1:
A method for implementing an On-Screen Display, OSD, which is applied to a terminal device with an operating system installed thereon, characterized in that the method comprises steps of:
the operating system receiving a Windows Management Instrumentation, WMI, event, the WMI event being triggered based on an OSD shortcut operation initiated by a user (S11), and the OSD shortcut operation is initiated by a user means and detected by an embedded controller of the terminal device;
the operating system determining an OSD function corresponding to the WMI event according to a predetermined
correspondence between WMI events and OSD functions, the correspondence between WMI events and OSD functions is set with reference to a correspondence between the OSD shortcut keys for triggering the WMI events and the OSD functions, and acquiring popup window information corresponding to the OSD function from popup window information corresponding to various OSD functions (S12);
the operating system generating an OSD function popup window according to the popup window information (S13); and
the operating system displaying the OSD function popup window (S14).