CN106027925B - display control method and device of OSD menu - Google Patents
display control method and device of OSD menu Download PDFInfo
- Publication number
- CN106027925B CN106027925B CN201610369533.6A CN201610369533A CN106027925B CN 106027925 B CN106027925 B CN 106027925B CN 201610369533 A CN201610369533 A CN 201610369533A CN 106027925 B CN106027925 B CN 106027925B
- Authority
- CN
- China
- Prior art keywords
- flag bit
- identifier
- data
- dma unit
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 claims description 15
- 239000000872 buffer Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- -1 i.e. Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
the embodiment of the invention discloses a display control method and a display control device for an OSD menu, relates to the technical field of display, and aims to solve the problem that a DMA unit always refreshes at a configured refresh frequency and always occupies system bandwidth. The method comprises the following steps: detecting an event for determining whether an OSD menu needs to be displayed; if a menu display event is detected, writing data to be displayed of the OSD menu into a storage unit, and opening an enabling switch of a DMA unit so that the DMA unit can read data from the storage unit; and if the menu blanking event is detected, writing non-displayable data into the storage unit, and closing an enable switch of the DMA unit after the DMA unit reads the non-displayable data from the storage unit at least once so that the DMA unit stops reading the data.
Description
Technical Field
the present invention relates to the field of display technologies, and in particular, to a method and an apparatus for controlling display of an OSD (on-screen display).
Background
An OSD menu (also referred to as an on-screen display menu) is a menu containing information about one or more adjustment items of a display (e.g., a television). For example, the user can pop up the display screen by pressing a main Menu key (Menu key), and then the user can adjust various working indexes of the display, including color, mode, geometric shape and the like, through the Menu, so as to achieve a better display state.
Referring to fig. 1, the display process of the OSD menu in the prior art includes: a CPU (Central Processing Unit) parses a picture resource of an OSD menu to obtain a frame of OSD data (e.g., including RGB components), and stores the frame of OSD data in a storage Unit (e.g., a screen buffer) through a system Bus (Bus), and then reads data from the storage Unit by a DMA (Direct Memory Access) Unit, so that the display screen can display the OSD menu.
However, the OSD menu does not always exist the image content played by the display, but only needs to be displayed at the moment when the user operates the remote controller or the like. However, the refresh frequency of the current display is generally configured when the system of the display is started, and the DMA unit always reads OSD data from the storage unit at the configured refresh frequency for displaying whether the OSD menu needs to be displayed or not. This will always occupy the system bandwidth, resulting in a larger power consumption of the display.
Disclosure of Invention
The embodiment of the invention provides a display control method and a display control device for an OSD menu, which are used for solving the problem that a DMA unit always reads OSD data from a storage unit at a configured refresh frequency and always occupies system bandwidth in the prior art.
In order to achieve the above purpose, the embodiment of the invention adopts the following technical scheme:
In a first aspect, an embodiment of the present invention provides a method for controlling display of an OSD menu, including:
Detecting an event for determining whether an OSD menu needs to be displayed;
If a menu display event is detected, writing data to be displayed of the OSD menu into a storage unit, and opening an enabling switch of a DMA unit so that the DMA unit can read data from the storage unit;
And if the menu blanking event is detected, writing non-displayable data into the storage unit, and closing an enable switch of the DMA unit after the DMA unit reads the non-displayable data from the storage unit at least once so that the DMA unit stops reading the data.
In a second aspect, an embodiment of the present invention provides an apparatus for controlling display of an OSD menu, including:
the detection module is used for detecting an event for determining whether the OSD menu needs to be displayed or not;
the data writing module is used for writing data to be displayed of the OSD menu into the storage unit if the detection module detects a menu display event, and writing non-displayable data into the storage unit if the detection module detects a menu blanking event;
The first switch control module is used for opening an enabling switch of the DMA unit if the detection module detects the menu display event, so that the DMA unit can read data from the storage unit; if the detection module detects a menu blanking event, after the DMA unit reads the non-displayable data from the storage unit at least once, the enabling switch of the DMA unit is closed, so that the DMA unit stops reading the data.
According to the display control method and device for the OSD menu, provided by the embodiment of the invention, when the OSD menu needs to be displayed, the DMA unit enables the switch to be in the on state all the time, and at the moment, the DMA unit is refreshed at the set frequency so as to ensure that the OSD menu is normally displayed on the screen. When the OSD menu needs to be blanked, the non-displayable data is stored in the storage unit, and the DMA unit is closed after the DMA unit is refreshed and the OSD menu is not displayed on a screen. Therefore, the display and blanking of the OSD menu can be controlled, and meanwhile, as the DMA unit does not need to be continuously refreshed after being started, the system bandwidth does not need to be continuously occupied, and the power consumption of the display device can be further reduced.
In a third aspect, an embodiment of the present invention provides a method for controlling display of an OSD menu, including:
Circularly reading the identifications in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; when the first flag bit is a second identifier, an enabling switch of the DMA unit is in a closed state;
if the first flag bit is a first identifier and the second flag bit is a fourth identifier, turning on an enable switch of the DMA unit to enable the enable switch to be in a continuously-on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off.
in a fourth aspect, an embodiment of the present invention provides an apparatus for controlling display of an OSD menu, including:
The reading module is used for circularly reading the marks in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; when the first flag bit is a second identifier, an enabling switch of the DMA unit is in a closed state;
the switch control module is used for turning on the enable switch of the DMA unit if the first flag bit read by the reading module is a first identifier and the second flag bit is a fourth identifier, so that the enable switch is in a continuously-on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off.
according to the method and the device for controlling the display of the OSD menu, provided by the embodiment of the invention, when the first flag bit is the second identifier, the fact that no data to be refreshed on a screen exists in the storage unit means that the enabling switch of the DMA unit is in a closed state; the DMA unit does not need to be refreshed at the moment, and the DMA unit does not need to be refreshed continuously after being started, so that the system bandwidth does not need to be occupied continuously, and the power consumption of the display device can be reduced.
in a fifth aspect, an embodiment of the present invention provides a method for controlling display of an OSD menu, including:
Circularly reading the identifications in the first flag bit and the second flag bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
If the first flag bit is a first identifier and the second flag bit is a third identifier, turning on an enable switch of the DMA unit;
and if the first flag bit is the second identifier, closing an enabling switch of the DMA unit.
Optionally, the method further includes: and if the first flag bit is the first identifier and the second flag bit is the fourth identifier, closing an enabling switch of the DMA unit.
In a sixth aspect, an embodiment of the present invention provides an apparatus for controlling display of an OSD menu, including:
the reading module is used for circularly reading the identifications in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
the switch control module is used for turning on an enabling switch of the DMA unit if the first flag bit read by the reading module is a first identifier and the second flag bit is a third identifier; and if the first flag bit read by the reading module is the second identifier, closing an enabling switch of the DMA unit.
According to the method and the device for controlling the display of the OSD menu, the opening and the closing of the DMA enabling switch can be controlled by reading the first zone bit and the second zone bit, so that a DMA unit does not need to be continuously refreshed after being started, the system bandwidth does not need to be continuously occupied, and the power consumption of the display device can be further reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a diagram of a prior art system architecture for controlling OSD menu display;
FIG. 2 is a diagram of a system architecture for controlling OSD menu display according to an embodiment of the present invention;
Fig. 3 is a flowchart illustrating a method for controlling display of an OSD menu according to an embodiment of the present invention;
Fig. 4 is one of element relationship diagrams in a display control method of an OSD menu according to an embodiment of the present invention;
FIG. 5 is a second flowchart illustrating a method for controlling OSD menu display according to an embodiment of the present invention;
Fig. 6 is a third flowchart of a display control method for an OSD menu according to an embodiment of the present invention;
FIG. 7 is a fourth flowchart illustrating a method for controlling OSD menu display according to an embodiment of the present invention;
Fig. 8 is a second element relationship diagram in the method for controlling display of an OSD menu according to the embodiment of the present invention;
FIG. 9 is a fifth flowchart illustrating a method for controlling OSD menu display according to an embodiment of the present invention;
FIG. 10 is a sixth flowchart illustrating a method for controlling OSD menu display according to an embodiment of the present invention;
fig. 11 is a seventh flowchart of a method for controlling display of an OSD menu according to an embodiment of the present invention;
Fig. 12 is a block diagram of an OSD menu display control apparatus according to an embodiment of the present invention;
fig. 13 is a second block diagram of a display control apparatus for an OSD menu according to an embodiment of the present invention;
Fig. 14 is a third block diagram of a display control apparatus for an OSD menu according to an embodiment of the present invention.
Detailed Description
the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
the term "and/or" in the embodiment of the present invention is only one kind of association relationship describing an associated object, and indicates that three relationships may exist, for example, a and/or B may indicate: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in the embodiment of the present invention generally indicates that the preceding and following related objects are in an "or" relationship.
For the convenience of clearly describing the technical solutions of the embodiments of the present invention, in the embodiments of the present invention, the words "first", "second", and the like are used to distinguish the same items or similar items with basically the same functions and actions, and those skilled in the art can understand that the words "first", "second", and the like do not limit the quantity and execution order. In the description of the present invention, "a plurality" means two or more unless otherwise specified.
The operation principle of the embodiment of the present invention is to refer to the system architecture for displaying the OSD menu shown in fig. 2, wherein solid arrows indicate transmission of relevant data of the OSD menu, and dashed arrows indicate transmission of instructions and the like. Compared with the prior art, the embodiment of the present invention adds the enable switch for controlling the DMA unit, and the enable switch may be disposed in the DMA unit with reference to fig. 2, or may be disposed outside the DMA unit and connected to the DMA unit, which is not limited herein.
Specifically, when an OSD menu needs to be displayed on the display screen, the CPU may write data to be displayed in the OSD menu into the storage unit, and at this time, the CPU turns on the enable switch, so that the DMA unit is in the operating state and starts to refresh at a certain frequency, that is, the DMA unit may read the data to be displayed from the storage unit at a certain frequency. However, when the OSD menu does not need to be displayed on the display screen, the CPU may turn off the DMA unit, i.e., stop the refresh. Therefore, the DMA unit in the embodiment of the invention does not need to be refreshed all the time, and does not need to occupy the system bandwidth when the DMA unit is not refreshed, thereby saving the system bandwidth.
The scheme provided by the embodiment of the invention is described in detail below.
The first embodiment,
the embodiment of the invention provides a display control method of an OSD menu, wherein an execution main body can be a display device, such as a display, a television, a computer and the like; the display device may also be a hardware and/or software module in the display device, an exemplary Processing module of the display device may be, for example, a CPU, a GPU (Graphics Processing Unit), and the like, where the CPU is taken as an example in this embodiment. As shown in fig. 3, the method may include the steps of:
S101, detecting an event for determining whether an OSD menu needs to be displayed.
The events for determining whether the OSD menu needs to be displayed can be divided into two types: the occurrence of an event means that an OSD menu needs to be displayed on a display screen, and such an event is called a menu display event; another event occurs when it means that there is no need to display the OSD menu on the display screen, and the OSD menu originally displayed on the display screen needs to be blanked from the screen, and this type of event is called a menu blanking event.
Optionally, a User Interface (UI) program run by the CPU may perform this step, for example, there are program code lines in the UI program for performing this step.
For example, the CPU executes the UI program to detect whether a home Menu key (Menu key) on the remote controller or the display is pressed, and if it is detected, it means that a Menu display event is detected. For another example: the CPU runs the UI program to detect whether a volume adjusting key on a remote controller or a display is pressed, and if the volume adjusting key is pressed, the menu display event is detected.
For example, the CPU runs the UI program, and in the case where it is determined that the remote control is timed out (i.e., the distance key is pressed for more than a preset time period), it means that a menu blanking event is detected.
if a menu display event is detected in this step, execute step S102; if a menu blanking event is detected, step S103 is executed.
S102, writing data to be displayed of an OSD menu into the storage unit, and opening an enabling switch of the DMA unit so that the DMA unit can read the data from the storage unit.
Specifically, the CPU may first read the picture resources (which may be in a picture format such as jpg) of the OSD menu from an OSD picture memory (e.g., Nand Flash in the display device shown in fig. 2), and parse the picture resources of the OSD menu to obtain the data to be displayed, where the data to be displayed may be referred to as OSD data. The data to be displayed can be in an RGB (red component, green component and blue component) format; the data to be displayed may also be data after the alpha component is configured, and in this case, the data to be displayed may be in an ARGB (including an alpha component, a red component, a green component, and a blue component) format, or may be in an RGBA format.
For example, when a main menu key is pressed, the CPU may first read a picture resource corresponding to a main menu, obtain data to be displayed after parsing, and then, the CPU may write the data to be displayed into the storage unit through the system bus. An example of the memory unit may be a memory space in DDR (Double Data Rate), and the memory space may be referred to as a buffer. For example, the CPU may run the UI program to cache data to be displayed in the storage unit.
For another example, when the volume + key is pressed, the CPU may read a picture resource corresponding to the volume adjustment, and obtain OSD data through parsing; and the CPU also reads the current volume from a register configured for volume adjustment, adds 1 to the current volume to obtain the updated volume, and rewrites the updated volume into the register. And then, the CPU can write the analyzed OSD data and the updated volume into the storage unit as data to be displayed through a system bus.
Since it needs to be displayed on the display screen at this time, the DMA unit should start to refresh. Specifically, the DMA unit is added with a refresh controllable function, i.e. a function of controlling whether the DMA unit is refreshed or not by the enable switch, compared to the prior art.
Preferably, compared with the prior art, the DMA unit in this embodiment is additionally provided with an enable switch for controlling the on and off of the above functions. If the enable switch is turned on, the function of refreshing the DMA unit is turned on, otherwise, the function of refreshing the DMA unit is turned off.
Illustratively, the enable switch may be a register provided in the DMA unit. For example, when the CPU pulls the corresponding bit in the register high (set to 1), it indicates that the enable switch is turned on, thereby triggering the DMA unit to begin to transfer data from the memory unit. When the CPU pulls the corresponding bit of the register low (set to 0), the CPU indicates that the enabling switch is closed, and the DMA unit stops data transportation. Conversely, the switch may be turned on when set to 0 and turned off when set to 1, as long as two different identifiers respectively indicate on and off. More specifically, the UI program that the CPU can run has a function of controlling an enable switch, and for example, there is a program code line in the UI program that can turn on the enable switch of the DMA unit.
It should be noted that, optionally, in this embodiment, after the enable switch is turned on, the DMA unit starts to refresh, and the enable switch is not turned off until the menu needs to be blanked. In this case, the corresponding bit in the register is always 1, and at this time, the refresh rate (refresh frequency) of the DMA unit may be fixed, and the size of the DMA unit may be consistent with the refresh rate (refresh frequency) configured by the system, that is, the refresh frequency of the DMA unit may be refreshed according to the frequency required by the screen; for example: if the refresh rate of the lcd tv is 60Hz (fps may be a unit), the refresh frequency of the DMA unit is also 60Hz when the lcd tv adopts the embodiment of the present invention. As another example, the refresh rate of the DMA unit may also be 24fps, 25fps, or 30fps, etc.
In this step, the order of writing the data to be displayed of the OSD menu into the storage unit and turning on the enable switch of the DMA unit is not limited; the former and the latter may be performed first, or vice versa, or simultaneously. Preferably, in this step, the CPU writes the data to be displayed of the OSD menu into the storage unit first, and turns on the enable switch of the DMA unit after the writing is completed. Therefore, the occupation of the storage space can be saved, and the problem of screen display jitter caused by read-write conflict can be solved.
Generally, the size of the upper screen Buffer is related to the screen resolution of the display device, and the data format. Assuming that the screen resolution is 1920 × 1080, if the data to be displayed is in the ARGB format, the required memory size is 1920 × 1080 × 4 ═ 0x7E9000bytes, that is, less than 8 mbytes. If only one upper screen Buffer is adopted, according to the scheme in the prior art, the CPU writes data into the upper screen Buffer and the DMA unit reads data from the upper screen Buffer, which always aim at the same address space, and the screen display is jittered due to such read-write conflict.
To solve this problem, two upper screen buffers, i.e., Buffer 1 and Buffer 2, each having a size of about 8M and a total of 16M, may be provided in the display device in the manner shown in fig. 1. When the CPU writes data to the Buffer 1, the DMA unit reads data from the Buffer 2; when the CPU stops operating Buffer 1, the DMA unit is switched to Buffer 1 again, and data reading from Buffer 1 is started. Therefore, the data in the upper screen Buffer can not be rewritten in the reading process, and the problem of jitter is solved. However, this will make the memory space occupied by the upper screen Buffer correspondingly larger, which is approximately 16 mbytes.
With reference to fig. 2, the memory unit in this embodiment may be an approximately 8M on-screen Buffer, and since the enable switch is added, the DMA unit may perform refreshing again after data writing is completed, so as to solve the problem of picture jitter caused by read-write collision.
S103, writing the non-displayable data into the storage unit, and closing an enabling switch of the DMA unit after the DMA unit reads the non-displayable data from the storage unit at least once so that the DMA unit stops reading the data.
When a menu blanking event is detected, the OSD menu should not be displayed on the screen, and at the moment, the CPU can write non-displayable data into the storage unit; for example, the CPU may clear the data to be displayed in the storage unit, i.e. fill the storage unit with 0, or the CPU may write data containing a transparency component (e.g. data in ARGB format) to the storage unit, where the transparency component is 0 to indicate full transparency.
at this time, because the enable switch of the DMA unit is still in an on state, the DMA unit can still refresh the preset duration according to the refresh frequency configured by the system, that is, the DMA unit can read one or more times of non-displayable data to blank the OSD menu from the screen, and then the enable switch of the DMA unit can be turned off (the refresh is stopped). Preferably, since the DMA unit can blank the OSD menu by reading the non-displayable data once, the DMA unit is preferably turned off after the CPU writes the non-displayable data into the memory unit once; for example, after writing the non-displayable data into the memory cell, the CPU waits for a certain period of time (33 ms if the refresh frequency of the DMA cell is 30 HZ), and then turns off the enable switch.
the manner in which the enable switch is turned off may refer to step S102, so that the DMA unit is not refreshed.
According to the scheme provided by the embodiment of the invention, when the OSD menu needs to be displayed, the DMA unit enables the switch to be in an open state all the time, and at the moment, the DMA unit is refreshed at a set frequency so as to ensure that the OSD menu is normally displayed on a screen. When the OSD menu needs to be blanked, the non-displayable data is stored in the storage unit, and the DMA unit is closed after the DMA unit is refreshed and the OSD menu is not displayed on a screen. Therefore, the display and blanking of the OSD menu can be controlled, and meanwhile, as the DMA unit does not need to be continuously refreshed after being started, the system bandwidth does not need to be continuously occupied, and the power consumption of the display device can be further reduced.
example II,
The embodiment of the invention provides a display control method of an OSD menu, and an execution main body of the method can be the same as that of the first embodiment. In this embodiment, the CPU runs the UI program and the refresh thread to realize display control of the OSD menu is taken as an example.
specifically, the embodiment of the invention is additionally provided with two flag bits: a first Flag (denoted as Flag0) and a second Flag (denoted as Flag 1). The two flag bits are used to synchronously indicate the state of the data in the memory cell. Specifically, Flag0 is used to indicate whether there is data to be refreshed on the screen (which may be data to be displayed or data that is not to be displayed) in the memory cell, and if Flag0 is a first identifier (e.g., 1), it indicates that data to be refreshed on the screen has been stored in the memory cell or is about to be stored in the memory cell; if Flag0 is the second Flag (e.g., 0), it indicates that there is no data in the memory cell to refresh onto the screen. Flag1 is used to indicate whether the data in the storage unit changes, specifically, whether the data in the storage unit (which may be the data to be displayed or the data that cannot be displayed) changes after or simultaneously with the value of configuration Flag1 or before the value of configuration Flag 1; if Flag1 indicates that the data in the memory cell has changed, the Flag1 indicates that the data in the memory cell has changed, and if Flag1 indicates that the data in the memory cell has not changed, the Flag1 indicates that the data in the memory cell has changed.
In the present embodiment, referring to fig. 4, the UI program run by the CPU can set the flags of Flag0 and/or Flag1 when the setting conditions of the Flag bit (these setting conditions correspond to the data state in the storage unit) are satisfied. The refresh thread run by the CPU may be an independent thread in the system of the display device, and the independent thread may be started up, and is mainly responsible for refreshing the DMA when the OSD menu needs to be displayed on the screen and the picture is not changed (i.e., Flag0 is 1 and Flag1 is 0), and specifically, the DMA unit is controlled to be started up according to the flags of Flag0 and Flag 1. In other cases, the state of whether the DMA unit is on is controlled by the UI program.
Refresh thread
The refresh thread in the present embodiment is described in detail below. The CPU can implement the display control method of the OSD menu by using the refresh thread. The method comprises the following steps:
First, the identities in the first Flag (Flag0) and the second Flag (Flag1) are read cyclically. When the first flag bit is the second identifier, the enabling switch of the DMA unit can be in a closed state under the control of the UI program.
Secondly, if Flag0 is the first Flag (e.g. 1) and Flag1 is the fourth Flag (e.g. 0), the enable switch of the DMA unit will be turned on, so that the enable switch is in a continuously on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enable switch is not controlled to be turned on or off.
In conjunction with fig. 4 and 5, the method may cycle through the following steps:
S201, delaying preset time. The preset duration determines the cycle of the refresh thread. Illustratively, the preset duration is 33ms, indicating that the cycle is performed 30 times within 1 s.
S202 (optional), judging whether Flag0 is 1 or not and whether Flag1 is 0 or not.
If Flag0 is equal to 1 and Flag1 is equal to 0, the refresh thread controls the DMA unit to perform refresh, that is, step S203 is performed; otherwise, the refresh thread does not control the refresh of the DMA unit, that is, does not control the enabling switch to be turned on or off, and then the refresh thread at this time should have no control operation and directly return to the program initiation.
And S203, controlling the DMA unit to refresh.
optionally, during each cycle, the enable switch of the DMA unit is turned on, and for example, the register as the enable switch may be set to 1. For example: if the Flag0 and Flag1 satisfy the conditions that Flag0 is 1 and Flag1 is 0 at all times in N consecutive cycles, the refresh thread sets the register to 1 during each of the N cycles. At this time, the DMA unit refreshes according to the refresh frequency preset for the DMA unit or the screen refresh frequency preset by the system.
Optionally, the refresh thread turns on the enable switch of the DMA unit at a certain frequency. For example: if the conditions of Flag0 and Flag1 are satisfied at all times in N consecutive cycles, that is, Flag0 is 1 and Flag1 is 0, the registers can be configured to alternate between 0 and 1 during the N cycles. Specifically, in the i-th (e.g., 1-th) cycle of the N cycles, the register is configured to be 1; in the (i + 1) th cycle, the register is configured to be 0; in the (i + 2) th loop, the register is configured to be 1, and so on until Flag0 and Flag1 do not satisfy the above condition. At this time, the time interval between two 0 s or two 1s can be regarded as the refresh frequency of the DMA unit, and if the preset time length is 33ms, the refresh frequency of the DMA unit is 15 fps. In this way, the refresh process can control the refresh frequency of the DMA unit according to actual needs, and besides the above-mentioned implementation of alternating 0 and 1, for example, 1, 0 and 0 can be circulated into the register, so that the refresh frequency of the DMA unit is 10 fps.
It should be noted that, referring to fig. 6, step S201 may be performed after step S202 and step S203, and a detailed description of each step is not repeated herein.
UI program
referring to fig. 4 and 7, the method for controlling the display of the OSD menu according to the embodiment of the present invention may include the following steps:
S301, detecting an event for determining whether the OSD menu needs to be displayed.
For example, the CPU executes the UI program to complete this step, and reference may be specifically made to S101 in the first embodiment.
S302, if the menu display event is detected, setting the first zone bit as a first identifier and setting the second zone bit as a third identifier.
Specifically, if the CPU executes the UI program to detect a menu display event, it means that the storage unit is about to write data to be displayed corresponding to the event, that is, the data state in the storage unit is changed, and at this time, the setting condition of the Flag bit is satisfied, Flag0 is configured as 1, and Flag1 is configured as 1.
For example, when the volume + key is pressed, Flag0 indicating whether there is OSD menu content to be displayed on the corresponding screen is first set to 1, indicating that the OSD menu is to be displayed on the current screen, and then Flag1 indicating whether the picture corresponding to the OSD menu on the screen is active is set to 1, indicating that there is new OSD menu content to be displayed currently.
And S303, writing the data to be displayed of the OSD menu into the storage unit.
for example, the CPU executes the UI program to complete this step, and reference may be specifically made to S102 in the first embodiment.
In this embodiment, the execution sequence of S302 and S303 is not limited.
S304, an enabling switch of the DMA unit is opened so that the DMA unit starts to refresh.
illustratively, the UI program sets a register used as an enable switch to 1, at which time the DMA unit may be refreshed at a preset refresh frequency. Here, unlike the first embodiment, it is preferable to refresh only once so that the data to be displayed is refreshed on the screen. Generally, after data to be displayed is written once, refreshing is generally performed for many times; then, since the data to be displayed of the OSD menu in the memory cell is not changed normally after the refresh once, the UI program can reconfigure the flags of Flag0 and Flag1 through S305.
In order to ensure that a DMA unit can be refreshed once, it is generally necessary to allow some time for the DMA unit. For example, if the refresh thread is as shown in fig. 5 and the preset refresh frequency is 30fps, the UI program immediately executes S305 after setting the register to 1. If the refresh thread is as shown in fig. 6 and the preset refresh frequency is 30fps, the UI program may wait 33ms after setting the register to 1, and then execute S305. Thus, the DMA unit can be enabled to have approximately 33ms to carry data.
Meanwhile, since the current Flag0 and Flag1 do not satisfy the conditions of Flag0 being 1 and Flag1 being 0, the refresh thread does not control the enable switch.
S305, before the data to be displayed in the storage unit is changed, Flag1 is set as a fourth Flag (e.g., 0).
Before writing new data to be displayed into the storage unit, the UI program generally considers that the data to be displayed in the storage unit is not changed, and at this time, the UI program may set Flag1 to 0 and set Flag0 to be unchanged.
At this time, the independent refresh thread reads Flag0 being 1 and Flag1 being 0, indicating that the memory unit has the contents of the OSD menu to be displayed and is not updated, and thus controls the enable switch of the DMA unit and further controls the DMA unit to refresh.
It should be noted that if some special applications are involved, such as picture playing in multimedia playing, browser, etc., the UI programs of these scenes generally do not need to be blanked by themselves until we next remote control. Therefore, there is no event that the memory cell is cleared by a timeout, i.e., FLAG0 is kept at 1 and FLAG1 is kept at 0. The UI program is not required to refresh at this point, but is instead done through the refresh thread.
thereafter, if the UI program detects a menu display event before the menu blanking event, for example: the volume + key is pressed again, and the above-described S302 to S305 can be referred to.
Thereafter, if the UI program detects a menu blanking event, for example, when the screen content times out, such as the volume bar needs to be blanked, step S306 is executed.
s306, setting Flag1 as the third identifier (e.g. 1), after the DMA unit reads the non-displayable data from the storage unit at least once, setting Flag0 as the second identifier (e.g. 0), setting Flag1 as the fourth identifier (e.g. 0), and turning off the enable switch.
when the UI program detects a menu blanking event, meaning that there is soon non-displayable data in the memory location to be refreshed on the screen, Flag0 remains 1 and does not need to be reset. The UI program first sets Flag1 to 1 indicating that the screen display needs to be updated. The UI program may then fill all the contents of the memory location to 0 and open the switch of the DMA unit so that the DMA unit preferably validates the filled 0 after one refresh. Then Flag1 is set to 0, and Flag0, which corresponds to whether there is content to be displayed on the screen, is set to 0, indicating that no data needs to be refreshed on the screen, and no OSD menu is displayed on the screen. Finally, the enable switch may be turned off so that the DMA unit stops refreshing.
At the same time, the refresh thread reads Flag0 to be 0 and Flag1 to be 0, so that the enable switch is not controlled to be turned on or off.
the scheme provided by the embodiment of the invention can also achieve the effect of the embodiment, particularly can control the display and blanking of the OSD menu, and simultaneously does not need to continuously occupy the system bandwidth because the DMA unit does not need to be continuously refreshed after starting up, thereby further reducing the power consumption of the display device. Further, in the embodiment, when the data to be displayed needs to be refreshed on the screen and the data to be displayed does not change, the DMA unit can be controlled to be turned on or turned off through the read flags in Flag0 and Flag1, so that the refresh frequency of the DMA unit can be adjusted conveniently under the condition.
example III,
the embodiment of the invention provides a display control method of an OSD menu, and an execution main body of the method can be the same as that of the first embodiment. In this embodiment, the CPU runs the UI program and the refresh thread to realize display control of the OSD menu is taken as an example.
specifically, the embodiment of the invention is additionally provided with two flag bits: a first Flag (denoted as Flag0) and a second Flag (denoted as Flag 1). The two flag bits are used to synchronously indicate the state of the data in the memory cell. Specifically, Flag0 is used to indicate whether there is data to be refreshed on the screen (which may be data to be displayed or data that is not to be displayed) in the memory cell, and if Flag0 is a first identifier (e.g., 1), it indicates that data to be refreshed on the screen has been stored in the memory cell or is about to be stored in the memory cell; if Flag0 is the second Flag (e.g., 0), it indicates that there is no data in the memory cell to refresh onto the screen. Flag1 is used to indicate whether the data in the storage unit changes, specifically, whether the data in the storage unit (which may be the data to be displayed or the data that cannot be displayed) changes after or simultaneously with the value of configuration Flag1 or before the value of configuration Flag 1; if Flag1 indicates that the data in the memory cell has changed, the Flag1 indicates that the data in the memory cell has changed, and if Flag1 indicates that the data in the memory cell has not changed, the Flag1 indicates that the data in the memory cell has changed.
In the present embodiment, referring to fig. 8, the UI program run by the CPU can set the flags of Flag0 and/or Flag1 when the setting conditions of the Flag bit (these setting conditions correspond to the data state in the storage unit) are satisfied. The refresh thread run by the CPU may be an independent thread in the system of the display device, and the independent thread may be powered on and started to read the flags of Flag0 and Flag1, and further control the DMA unit to be turned on or off according to the read flags. Unlike the second embodiment, in this embodiment, the UI program does not control whether the DMA unit is turned on, but is controlled by the refresh thread.
Refresh thread
the refresh thread in the present embodiment is described in detail below. The CPU can implement the display control method of the OSD menu by using the refresh thread. The method comprises the following steps:
First, the identities in the first Flag (Flag0) and the second Flag (Flag1) are read cyclically.
Secondly, if Flag0 is the first Flag (e.g. 1) and Flag1 is the third Flag (e.g. 1), the enable switch of the DMA unit is turned on, so that the enable switch is in a continuously on state; if Flag0 is the second Flag (e.g., 0), the enable switch of the DMA unit is turned off.
Further, if Flag0 is the first Flag (e.g., 1) and Flag1 is the fourth Flag (e.g., 0), the enable switch of the DMA unit may be continuously turned on, or the enable switch of the DMA unit may be turned on at a preset frequency. However, in order to further reduce the number of times of refreshing the DMA unit, it is preferable that the DMA unit can accommodate at least one frame of data of the OSD menu, and at this time, if Flag0 is the first Flag (e.g. 1) and Flag1 is the fourth Flag (e.g. 0), the enable switch of the DMA unit can be turned off. Although the DMA unit does not carry data any more at this time, since a frame of data to be displayed that needs to be displayed can be cached in the DMA unit, the data in the DMA unit only needs to be displayed subsequently, and the DMA unit does not need to be refreshed.
In conjunction with fig. 9 and 10, the method may cycle through the following steps:
S401, delaying for a preset time. The preset duration determines the cycle of the refresh thread. Illustratively, the preset duration is 33ms, indicating that the cycle is performed 30 times within 1 s.
S402 (optional), determine whether Flag0 is 1.
If Flag0 is 1, go to step S403; if Flag0 is 0, step S405 is performed.
And S403 (optional), judging whether Flag1 is 1.
If Flag1 is 1, go to step S404; if Flag1 is 0, step S405 is performed.
S404, an enabling switch of the DMA unit is opened, and a register serving as the enabling switch can be set to be 1 as an example, so that the DMA unit starts to refresh. At this time, the DMA unit refreshes according to the refresh frequency preset for the DMA unit or the screen refresh frequency preset by the system.
s405, an enable switch of the DMA unit is closed, and an example register serving as the enable switch can be set to be 0, so that the DMA unit stops refreshing.
It should be noted that, referring to fig. 10, the step S401 may be after the step S404 and the step S405, and a detailed description of each step is not repeated herein.
UI
Referring to fig. 8 and 11, the method for controlling the display of the OSD menu according to the embodiment of the present invention may include the following steps:
S501, detecting an event for determining whether the OSD menu needs to be displayed.
For example, the CPU executes the UI program to complete this step, and reference may be specifically made to S101 in the first embodiment.
S502, if the menu display event is detected, the first Flag (Flag0) is set to the first Flag (e.g., 1), and the second Flag (Flag1) is set to the third Flag (e.g., 1).
Specifically, reference may be made to S302 in embodiment two, which is not described herein again.
And S503, writing the data to be displayed of the OSD menu into the storage unit.
For example, the CPU executes the UI program to complete this step, and reference may be specifically made to S102 in the first embodiment.
in this embodiment, the execution sequence of S502 and S503 is not limited. After S502 and S503, since the refresh program reads that Flag0 and Flag1 are both 1, the enable switch of the DMA unit is turned on, and the DMA unit can refresh according to the preset refresh frequency.
S504, before the data to be displayed in the storage unit is changed, Flag1 is set as a fourth Flag (e.g., 0).
before writing new data to be displayed into the storage unit, the UI program generally considers that the data to be displayed in the storage unit is not changed, and at this time, the UI program may set Flag1 to 0 and set Flag0 to be unchanged. Preferably, Flag1 is set to 0 after the UI program has refreshed a DMA unit once, in order to stop the refresh of the DMA unit as early as possible.
At this time, the independent refresh thread reads Flag0 being 1 and Flag1 being 0, indicating that the memory unit has the contents of the OSD menu to be displayed and is not updated, thus turning off the enable switch of the DMA unit.
Thereafter, if the UI program detects a menu display event before the menu blanking event, for example: the volume + key is pressed again, and the above-described S501 to S504 can be referred to.
thereafter, if the UI program detects a menu blanking event, for example, when the screen content times out, such as the volume bar needs to be blanked, step S505 is executed.
s505, if the UI program detects a menu blanking event, setting Flag1 as a third identifier (for example, 1), after the DMA unit reads the non-displayable data from the storage unit at least once, setting Flag0 as a second identifier (for example, 0), and setting Flag1 as a fourth identifier (for example, 0).
when the UI program detects a menu blanking event, meaning that there is soon non-displayable data in the memory location to be refreshed on the screen, Flag0 remains 1 and does not need to be reset. The UI program first sets Flag1 to 1 indicating that the screen display needs to be updated. Then, the UI program may fill all the contents in the storage unit to 0. At this time, the refresh program can read Flag0 as 1 and Flag0 as 1, so the refresh program can open the switch of the DMA unit; after a preferred refresh of the DMA unit, the UI validates the padded 0.
Then, Flag1 is set to 0, and Flag0, which corresponds to whether the screen has content to be displayed, is set to 0, indicating that no data needs to be refreshed on the screen, and no OSD menu is displayed on the screen. At the same time, the refresh thread reads Flag0 as 0 and Flag1 as 0, turning off the enable switch.
the scheme provided by the embodiment of the invention can also achieve the effect of the embodiment, particularly can control the display and blanking of the OSD menu, and simultaneously does not need to continuously occupy the system bandwidth because the DMA unit does not need to be continuously refreshed after starting up, thereby further reducing the power consumption of the display device. Furthermore, in the embodiment, when the data to be displayed needs to be refreshed on the screen and the data to be displayed does not change, the enabling switch of the DMA unit is turned off, so that the occupation of the system bandwidth can be further reduced.
example four,
In this embodiment, several kinds of display control devices for OSD menus are provided, and the implementation of each module in the device may refer to the above method embodiments, which are not described herein again.
In a first aspect, embodiments of the present invention provide an apparatus for controlling display of an OSD menu, where the apparatus may be a display apparatus, such as a display, a television, a computer, or the like; but also hardware and/or software modules in the display device, for example processing modules such as CPU, GPU of the display device.
referring to fig. 12, the display control apparatus includes:
A detecting module 61, configured to detect an event for determining whether an OSD menu needs to be displayed;
A data writing module 62, configured to write data to be displayed in the OSD menu into a storage unit if the detection module detects a menu display event, and write non-displayable data into the storage unit if the detection module detects a menu blanking event;
a first switch control module 63, configured to turn on an enable switch of the DMA unit if the detection module detects the menu display event, so that the DMA unit can read data from the storage unit; if the detection module detects a menu blanking event, after the DMA unit reads the non-displayable data from the storage unit at least once, the enabling switch of the DMA unit is closed, so that the DMA unit stops reading the data.
An optional scheme is that the device further comprises:
a flag bit configuration module 64, configured to set the first flag bit as the first identifier and the second flag bit as the third identifier if the detection module detects the menu display event; after the enabling switch of the DMA unit is turned on and before the data to be displayed in the storage unit is changed, setting the second flag bit as a fourth identifier; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no.
optionally, the flag configuring module 64 is further configured to set the second flag to be a third flag if the detecting module detects a menu blanking event, set the first flag to be the second flag and set the second flag to be a fourth flag after the DMA unit reads the non-displayable data from the storage unit at least once.
one optional solution is that the first switch control module 63 is specifically configured to: after the data writing module 62 writes the data to be displayed of the OSD menu into the storage unit, the enable switch of the DMA unit is turned on.
an optional scheme is that the device further comprises:
A first reading module 65, configured to read the identifiers in the first flag bit and the second flag bit in a cycle.
The second switch control module 66 is configured to turn on the enable switch of the DMA unit if the reading module reads that the first flag bit is the first identifier and the second flag bit is the fourth identifier, so that the enable switch is in a continuously-on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off.
alternatively, the apparatus further comprises:
A second reading module 67, configured to read the identifiers in the first flag bit and the second flag bit in a cycle; the first switch control module 63 is specifically configured to, if the first flag bit read by the second reading module is the first identifier, and the second flag bit is the third identifier, turn on an enable switch of the DMA unit; and if the second reading module reads that the first flag bit is the second identifier, closing an enabling switch of the DMA unit.
Preferably, the DMA unit may accommodate at least one frame of data of the OSD menu, and the first switch control module 63 is further configured to close the enable switch of the DMA unit if the first flag bit read by the second reading module is the first identifier and the second flag bit is the fourth identifier.
In a second aspect, an embodiment of the present invention further provides a display control apparatus for an OSD menu, where the apparatus may be a display apparatus, such as a display, a television, a computer, or the like; but also hardware and/or software modules in the display device, for example processing modules such as CPU, GPU of the display device.
Referring to fig. 13, the display control apparatus includes:
A reading module 71, configured to cyclically read the identifiers in the first flag bit and the second flag bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; when the first flag bit is a second identifier, an enabling switch of the DMA unit is in a closed state;
The switch control module 72 is configured to turn on the enable switch of the DMA unit if the first flag bit read by the reading module is the first identifier and the second flag bit is the fourth identifier, so that the enable switch is in a continuously-turned-on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off.
In a third aspect, an embodiment of the present invention further provides a display control apparatus for an OSD menu, where the apparatus may be a display apparatus, such as a display, a television, a computer, or the like; but also hardware and/or software modules in the display device, for example processing modules such as CPU, GPU of the display device.
Referring to fig. 14, the display control apparatus includes:
A reading module 81, configured to cyclically read the identifiers in the first flag bit and the second flag bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
The switch control module 82 is configured to turn on an enable switch of the DMA unit if the first flag bit read by the reading module is the first identifier and the second flag bit is the third identifier; and if the first flag bit read by the reading module is the second identifier, closing an enabling switch of the DMA unit.
Preferably, the switch control module 82 is further configured to close the enable switch of the DMA unit if the first flag bit read by the reading module is the first identifier and the second flag bit is the fourth identifier.
the device provided by the embodiment of the invention can also achieve the effect of the embodiment, can specifically control the display and blanking of the OSD menu, and simultaneously does not need to continuously occupy the system bandwidth because the DMA unit does not need to be continuously refreshed after being started, thereby reducing the power consumption of the display device.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be physically included alone, or two or more units may be integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
the integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (9)
1. A display control method of an OSD menu is characterized by comprising the following steps:
Detecting an event for determining whether an OSD menu needs to be displayed;
If a menu display event is detected, setting a first flag bit as a first identifier, setting a second flag bit as a third identifier, writing data to be displayed of the OSD menu into a storage unit, and turning on an enable switch of a DMA unit so that the DMA unit can read the data from the storage unit;
After the enabling switch of the DMA unit is turned on and before the data to be displayed in the storage unit is changed, setting the second flag bit as a fourth identifier;
The first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
and if the menu blanking event is detected, setting the second flag bit as a third identifier, writing non-displayable data into the storage unit, setting the first flag bit as the second identifier, setting the second flag bit as a fourth identifier and closing an enable switch of the DMA unit after the DMA unit reads the non-displayable data from the storage unit at least once, so that the DMA unit stops reading the data.
2. The method of claim 1, wherein writing data to be displayed of the OSD menu to a memory location and turning on an enable switch of a DMA unit comprises:
and writing the data to be displayed of the OSD menu into a storage unit, and opening an enabling switch of the DMA unit after the writing is finished.
3. The method of claim 1, further comprising:
Circularly reading the identifications in the first flag bit and the second flag bit; if the first flag bit is a first identifier and the second flag bit is a fourth identifier, turning on an enable switch of the DMA unit to enable the enable switch to be in a continuous on state, or turning on the enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off;
or,
Circularly reading the identifications in the first flag bit and the second flag bit; the enable switch for turning on the DMA unit comprises: if the first flag bit is a first identifier and the second flag bit is a third identifier, turning on an enable switch of the DMA unit; the enabling switch for closing the DMA unit comprises: and if the first flag bit is the second identifier, closing an enabling switch of the DMA unit.
4. The method of claim 3, wherein the DMA unit is capable of accommodating at least one frame of data of an OSD menu, the method further comprising:
And if the first flag bit is the first identifier and the second flag bit is the fourth identifier, closing an enabling switch of the DMA unit.
5. the method of claim 1, further comprising:
Circularly reading the identifications in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; when the first flag bit is a second identifier, an enabling switch of the DMA unit is in a closed state;
If the first flag bit is a first identifier and the second flag bit is a fourth identifier, turning on an enable switch of the DMA unit to enable the enable switch to be in a continuously-on state; or, turning on an enable switch of the DMA unit at a preset frequency;
Otherwise, the enabling switch is not controlled to be turned on or off.
6. the method of claim 1, further comprising:
circularly reading the identifications in the first flag bit and the second flag bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
if the first flag bit is a first identifier and the second flag bit is a third identifier, turning on an enable switch of the DMA unit;
and if the first flag bit is the second identifier, closing an enabling switch of the DMA unit.
7. An apparatus for controlling display of an OSD menu, comprising:
The detection module is used for detecting an event for determining whether the OSD menu needs to be displayed or not;
The data writing module is used for setting the first flag bit as a first identifier and the second flag bit as a third identifier if the detection module detects a menu display event, and writing data to be displayed of the OSD menu into the storage unit, and writing non-displayable data into the storage unit if the detection module detects a menu blanking event;
The first switch control module is used for opening an enabling switch of the DMA unit if the detection module detects the menu display event, so that the DMA unit can read data from the storage unit; after the enabling switch of the DMA unit is turned on and before the data to be displayed in the storage unit is changed, setting the second flag bit as a fourth identifier; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; if the detection module detects a menu blanking event, setting the second flag bit as a third identifier, setting the first flag bit as the second identifier and the second flag bit as a fourth identifier after the DMA unit reads the non-displayable data from the storage unit at least once, and closing an enable switch of the DMA unit so that the DMA unit stops reading the data.
8. The apparatus of claim 7, comprising:
The reading module is used for circularly reading the marks in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no; when the first flag bit is a second identifier, an enabling switch of the DMA unit is in a closed state;
The switch control module is used for turning on the enable switch of the DMA unit if the first flag bit read by the reading module is a first identifier and the second flag bit is a fourth identifier, so that the enable switch is in a continuously-on state; or, turning on an enable switch of the DMA unit at a preset frequency; otherwise, the enabling switch is not controlled to be turned on or off.
9. The apparatus of claim 7, comprising:
The reading module is used for circularly reading the identifications in the first zone bit and the second zone bit; the first flag bit is used for indicating whether data to be refreshed on a screen exist in a storage unit, if the first flag bit is the first identifier, the first flag bit indicates yes, and if the first flag bit is the second identifier, the first flag bit indicates no; the second flag bit is used for indicating whether data in the storage unit are changed, if the second flag bit is the third identifier, the second flag bit indicates yes, and if the second flag bit is the fourth identifier, the second flag bit indicates no;
The switch control module is used for turning on an enabling switch of the DMA unit if the first flag bit read by the reading module is a first identifier and the second flag bit is a third identifier; and if the first flag bit read by the reading module is the second identifier, closing an enabling switch of the DMA unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369533.6A CN106027925B (en) | 2016-05-27 | 2016-05-27 | display control method and device of OSD menu |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369533.6A CN106027925B (en) | 2016-05-27 | 2016-05-27 | display control method and device of OSD menu |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106027925A CN106027925A (en) | 2016-10-12 |
CN106027925B true CN106027925B (en) | 2019-12-10 |
Family
ID=57092478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610369533.6A Active CN106027925B (en) | 2016-05-27 | 2016-05-27 | display control method and device of OSD menu |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106027925B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197182B (en) * | 2017-06-06 | 2020-05-05 | 青岛海信电器股份有限公司 | Method and device for displaying screen menu on television and television |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050003063A (en) * | 2003-06-30 | 2005-01-10 | 주식회사 대우일렉트로닉스 | Update apparatus for skin of on screen display user interface skin |
KR100630557B1 (en) * | 2004-12-28 | 2006-09-29 | 주식회사 팬택 | Method for providing osd in mobile communication terminal using qcamera |
CN101990073A (en) * | 2009-08-03 | 2011-03-23 | 康佳集团股份有限公司 | Display device, and method and system for realizing multi-layer on screen display (OSD) refreshing management |
CN102244754A (en) * | 2011-07-05 | 2011-11-16 | 青岛海信信芯科技有限公司 | Focus moving method and device for OSD (On Screen Display) menu and television |
CN103399720B (en) * | 2013-07-16 | 2016-03-23 | 青岛海信信芯科技有限公司 | A kind of data processing method and a kind of electronic equipment |
CN104267801A (en) * | 2014-10-20 | 2015-01-07 | 福州瑞芯微电子有限公司 | Power consumption and bandwidth reducing method and system |
-
2016
- 2016-05-27 CN CN201610369533.6A patent/CN106027925B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN106027925A (en) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101672611B1 (en) | Cable with fade and hot plug features | |
CN103390397B (en) | Double screen display device and method based on Android system | |
US10798334B2 (en) | Image processing system, image display method, display device and storage medium | |
US9030481B2 (en) | Method and apparatus for reducing power usage during video presentation on a display | |
EP2857930B1 (en) | Techniques to transmit commands to a target device | |
CN1981519B (en) | Method and system for displaying a sequence of image frames | |
KR20130138143A (en) | System and method for display mirroring | |
KR20130040251A (en) | Techniques to control display activity | |
JPWO2008105092A1 (en) | Graphics drawing apparatus and graphics drawing method | |
CN112804410A (en) | Multi-display-screen synchronous display method and device, video processing equipment and storage medium | |
US20230053263A1 (en) | Reduced vertical blanking regions for display systems that support variable refresh rates | |
CN114189732B (en) | Method and related device for controlling reading and writing of image data | |
US20170287384A1 (en) | Device and method of using slice update map | |
CN106027925B (en) | display control method and device of OSD menu | |
CN107197182A (en) | A kind of method, device and the TV of display screen menu on TV | |
CN115151886A (en) | Delaying DSI clock changes based on frame updates to provide a smoother user interface experience | |
US20220108646A1 (en) | Adaptive display data transfer rate to reduce power consumption during partial frame composition | |
US20170329574A1 (en) | Display controller | |
US6774918B1 (en) | Video overlay processor with reduced memory and bus performance requirements | |
US10796670B1 (en) | Method and device for reducing bandwidth consumption, display controller, and storage medium | |
CN116095261A (en) | Display method and display device | |
JP2000029452A (en) | Image processor | |
CN113421321A (en) | Rendering method and device for animation, electronic equipment and medium | |
JP2000032334A (en) | Picture processor and information recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee after: Hisense Visual Technology Co., Ltd. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |