CN116364023B - Method, device, medium and equipment for driving electronic ink screen based on GPU - Google Patents

Method, device, medium and equipment for driving electronic ink screen based on GPU Download PDF

Info

Publication number
CN116364023B
CN116364023B CN202310393326.4A CN202310393326A CN116364023B CN 116364023 B CN116364023 B CN 116364023B CN 202310393326 A CN202310393326 A CN 202310393326A CN 116364023 B CN116364023 B CN 116364023B
Authority
CN
China
Prior art keywords
data
screen
gray
current
electronic ink
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
Application number
CN202310393326.4A
Other languages
Chinese (zh)
Other versions
CN116364023A (en
Inventor
许俊文
朱增
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ONYX INTERNATIONAL Inc
Original Assignee
ONYX INTERNATIONAL Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ONYX INTERNATIONAL Inc filed Critical ONYX INTERNATIONAL Inc
Priority to CN202310393326.4A priority Critical patent/CN116364023B/en
Publication of CN116364023A publication Critical patent/CN116364023A/en
Application granted granted Critical
Publication of CN116364023B publication Critical patent/CN116364023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/3433Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using light modulating elements actuated by an electric field and being other than liquid crystal devices and electrochromic devices
    • G09G3/344Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using light modulating elements actuated by an electric field and being other than liquid crystal devices and electrochromic devices based on particles moving in a fluid or in a gas, e.g. electrophoretic devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

According to the driving method, the driving device, the driving medium and the driving equipment for the electronic ink screen based on the GPU, when the electronic ink screen is driven and updated, the picture to be displayed corresponding to the current picture in the electronic ink screen can be obtained through the GPU, and as the picture to be displayed is the original color data, each pixel in the original color data can be converted into the gray-scale data to be displayed corresponding to the current screen refreshing mode through the GPU after being processed in parallel, so that the gray-scale data to be displayed can be obtained quickly, the gray-scale data to be displayed contains a plurality of target pixels of waveform data to be calculated, and after the screen driving waveform data of each target pixel are calculated in parallel through the calculating unit and the processing unit, the current picture in the electronic ink screen is updated through the screen driving waveform data of each target pixel, and the screen picture updating efficiency of the electronic ink screen is further improved.

Description

Method, device, medium and equipment for driving electronic ink screen based on GPU
Technical Field
The application relates to the technical field of electronic ink screens, in particular to a method, a device, a medium and equipment for driving an electronic ink screen based on a Graphic Processing Unit (GPU).
Background
The electronic ink screen device achieves a display effect close to that of conventional paper by using an electrophoresis technology, and is therefore also called "electronic paper". The electronic ink screen device generally displays images through an electronic ink screen, the electronic ink screen is usually manufactured into an electronic ink film, the electronic ink film is composed of a large number of microcapsules, and pigment particles with different charges are arranged in the microcapsules. In the initial state, pigment particles are suspended in the microcapsules, and when an electric field in a certain direction is applied, the corresponding pigment particles are pushed to the top, the microcapsules can display different colors, and the microcapsules in different colors form various characters and patterns. In order to control the change of the ink capsule corresponding to each pixel to obtain the expected pixel gray scale value, the prior art sends screen driving waveform data to the display controller of the electronic ink screen, wherein the screen driving waveform data comprises a change signal of the voltage difference (driving voltage) between the two electrodes of the ink bag and the duration time (represented by a frame form) of the change signal, and the display controller controls the ink capsule according to the screen driving waveform data to change the pixel gray scale value. Therefore, when the screen driving waveform data is applied to the corresponding each screen pixel, the electronic ink screen can display the expected picture to be displayed.
In the existing electronic ink screen driving technology, a CPU or an EPDC is required to drive an electronic ink screen to refresh, and the electronic ink screen is required to be driven to refresh, driving waveform data of each pixel is required to be calculated, the efficiency of the CPU in the process of processing the high throughput computing process cannot meet the requirements of developers in the field, and if the electronic ink screen is driven to refresh, too much CPU resources are occupied, other normal functions of a system cannot acquire more CPU resources; in addition, EPDCs are generally mounted on dedicated chips, and have problems of fixed functions and slow updating, so that a new electronic ink screen driving method with higher efficiency and easy iteration needs to be studied.
Disclosure of Invention
The application aims to at least solve one of the technical defects, in particular to the technical defects that the refreshing efficiency is low and the updating is slow caused by driving the electronic ink screen to refresh through a CPU or an EPDC in the prior art.
The application provides a driving method of an electronic ink screen based on a GPU, which comprises the following steps:
acquiring a picture to be displayed corresponding to a current picture in an electronic ink screen, wherein the picture to be displayed is original color data;
After parallel processing, each pixel in the original color data is converted into gray-scale data to be displayed corresponding to a current screen refreshing mode, wherein the gray-scale data to be displayed comprises a plurality of target pixels of waveform data to be calculated;
and calculating the screen driving waveform data of each target pixel in parallel through a calculating unit and a processing unit, and updating the current picture in the electronic ink screen by utilizing the screen driving waveform data of each target pixel.
Optionally, after parallel processing, each pixel in the original color data is converted into gray-scale data to be displayed corresponding to a current screen refreshing mode, including:
each pixel in the original color data is converted into initial gray-scale data after parallel processing;
judging whether the gray level number of the initial gray level data is the same as the gray level number of the current screen refreshing mode;
if the gray scale data are different, performing reduced-order processing on the initial gray scale data by using a dithering algorithm to obtain gray scale data to be displayed corresponding to the current screen refreshing mode;
and if the display mode is the same, taking the initial gray-scale data as the gray-scale data to be displayed corresponding to the current screen refreshing mode.
Optionally, each pixel in the original color data is converted into initial gray-scale data after parallel processing, including:
and performing parallel calculation on initial gray scale values corresponding to the color values of all pixels in the original color data, and converting the original color data into initial gray scale data according to a parallel calculation result.
Optionally, the performing the reduced-order processing on the initial gray-scale data by using a dithering algorithm further includes:
determining a parallel processing strategy when the dithering algorithm is used for carrying out the reduced-order processing on the initial gray scale data;
and dithering each pixel in the initial gray scale data according to the parallel processing strategy.
Optionally, the calculating, by the calculating unit and the processing unit, the screen driving waveform data of each target pixel in parallel includes:
for each target pixel:
determining a current gray-scale value of the target pixel in the current picture and a gray-scale value to be displayed in the gray-scale data to be displayed through a computing unit and a processing unit;
and sequentially acquiring waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the pre-stored waveform file data according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode, and forming screen driving waveform data of the target pixel.
Optionally, the sequentially obtaining waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the pre-stored waveform file data according to the current gray-scale value, the gray-scale value to be displayed and the current screen refresh mode, and forming screen driving waveform data of the target pixel includes:
determining the recorded data of the current waveform sequence frame to be acquired and the total sequence frame number of the target pixel;
taking the current gray scale value, the gray scale value to be displayed, the current screen refreshing mode and the recorded data as waveform searching indexes of the target pixel;
searching and acquiring waveform data corresponding to the current waveform sequence frame of the target pixel from waveform file data stored in a memory in advance according to the waveform searching index;
judging whether all waveform sequence frames of the target pixel are acquired according to the recorded data and the total sequence frame number;
if yes, taking the waveform data corresponding to all the obtained waveform sequence frames as the screen driving waveform data of the target pixel;
otherwise, after updating the recorded data, returning to the step of using the current gray-scale value, the gray-scale value to be displayed, the current screen refreshing mode and the recorded data as the waveform searching index of the target pixel until the waveform sequence frame of the target pixel is completely acquired.
Optionally, the sequentially obtaining, from pre-stored waveform file data, a plurality of waveform sequence frames corresponding to the target pixel according to the current gray-scale value, the gray-scale value to be displayed and the current screen refresh mode, and forming screen driving waveform data of the target pixel includes:
according to the current gray level value, the gray level value to be displayed and the current screen refreshing mode, matching the position information corresponding to the initial sequence frame or the end sequence frame of the target pixel from waveform file data stored in a memory in advance;
and according to the position information, waveform data corresponding to all waveform sequence frames of the target pixel are automatically acquired from the waveform file data, and screen driving waveform data of the target pixel are formed.
Optionally, the updating the current picture in the electronic ink screen with the screen driving waveform data of each target pixel includes:
and transmitting the screen driving waveform data of each target pixel to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display through the display data transmitting module so as to update the current picture.
Optionally, the updating the current picture in the electronic ink screen with the screen driving waveform data of each target pixel includes:
and transmitting the screen driving waveform data of each target pixel and the corresponding time sequence signals to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display according to the corresponding time sequence signals through the display data transmitting module so as to update the current picture.
Optionally, after each pixel in the original color data is processed in parallel, before the pixel is converted into the gray-scale data to be displayed corresponding to the current screen refreshing mode, the method further includes:
receiving a rendering instruction, rendering the picture to be displayed according to the rendering instruction to obtain original color data, and storing the original color data into a first buffer area;
the first buffer area is used for storing original color data corresponding to the screen picture after the electronic ink screen is refreshed each time.
Optionally, before the calculating unit and the processing unit calculate the screen driving waveform data of each target pixel in parallel, the method further includes:
Storing the gray-scale data to be displayed into a second buffer area; the second buffer area is used for storing gray-scale data corresponding to the screen picture after the electronic ink screen is refreshed each time.
Optionally, the GPU includes a first buffer area and a second buffer area, the first buffer area is used for storing original color data corresponding to the screen picture after each refresh of the electronic ink screen, and the second buffer area is used for storing gray-scale data corresponding to the screen picture after each refresh of the electronic ink screen;
the method further comprises the steps of:
if the current screen refreshing mode is detected to be changed, judging whether the changed screen refreshing mode is the same as the target gray level corresponding to the screen refreshing mode before the change;
if the gray-scale data is the same, the gray-scale data corresponding to the current picture stored in the second buffer area does not need to be updated;
if the screen refreshing modes are different, the original color data corresponding to the current picture are obtained from the first buffer zone, all pixels in the original color data are converted into gray-scale data corresponding to the changed screen refreshing modes after being processed in parallel, and the gray-scale data are utilized to update the gray-scale data corresponding to the current picture stored in the second buffer zone and the screen picture of the electronic ink screen.
Optionally, before the obtaining the picture to be displayed corresponding to the current picture in the electronic ink screen, the method further includes:
receiving an initialization command and a waveform file sent by a CPU (Central processing Unit);
and according to the initialization command, pre-distributing a storage space for calculation parameters and calculation results generated when the waveform file is accessed later.
Optionally, the receiving the initialization command sent by the CPU includes:
and when the current load of the CPU exceeds a preset load threshold, receiving an initialization command sent by the CPU.
Optionally, the method further comprises:
if all data used in parallel computing are texture format data which can be processed by the GPU after being converted by the CPU, after parallel computing is performed based on the texture format data and a computing result is obtained, the computing result is sent to the CPU, so that the CPU converts the computing result into a data format which can be processed by screen driving and sends the data format to the electronic ink screen.
The application also provides a driving device of the electronic ink screen based on the GPU, which comprises the following components:
the data acquisition module is used for acquiring a picture to be displayed corresponding to a current picture in the electronic ink screen, wherein the picture to be displayed is original color data;
The data conversion module is used for converting each pixel in the original color data into gray-scale data to be displayed corresponding to the current screen refreshing mode after parallel processing, wherein the gray-scale data to be displayed comprises a plurality of target pixels of waveform data to be calculated;
and the screen updating module is used for parallelly calculating the screen driving waveform data of each target pixel through the calculating unit and the processing unit, and updating the current picture in the electronic ink screen by utilizing the screen driving waveform data of each target pixel.
The present application also provides a storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the GPU-based electronic ink screen driving method as in any of the above embodiments.
The application also provides electronic ink screen equipment, which comprises: one or more processors, and memory;
the memory has stored therein computer readable instructions that, when executed by the one or more processors, perform the steps of the GPU-based electronic ink screen driving method as in any of the above embodiments.
From the above technical solutions, the embodiment of the present application has the following advantages:
according to the driving method, the driving device, the medium and the driving equipment for the electronic ink screen based on the GPU, when the electronic ink screen is driven and updated, the picture to be displayed corresponding to the current picture in the electronic ink screen can be obtained through the GPU, and as the picture to be displayed is the original color data, each pixel in the original color data can be converted into the gray-scale data to be displayed corresponding to the current screen refreshing mode through the GPU after being processed in parallel, so that the gray-scale data to be displayed can be obtained quickly, the target pixels of a plurality of waveform data to be calculated are contained in the gray-scale data to be displayed, after the screen driving waveform data of each target pixel are calculated in parallel through the calculating unit and the processing unit, the current picture in the electronic ink screen is updated through the screen driving waveform data of each target pixel, so that the screen picture updating efficiency of the electronic ink screen is further improved, the calculating process can be operated on the GPU through a software program mode, developers can optimize the calculating process through an updating program, convenience and rapidness, occupation of resources of a CPU can be reduced, and other normal functions of the system can obtain more CPU resources.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions of the prior art, the drawings which are used in the description of the embodiments or the prior art will be briefly described, it being obvious that the drawings in the description below are only some embodiments of the application, and that other drawings can be obtained from these drawings without inventive faculty for a person skilled in the art.
FIG. 1 is a schematic flow chart of a driving method of an electronic ink screen based on a GPU according to an embodiment of the present application;
fig. 2 is a schematic flow chart of sequentially acquiring waveform data corresponding to a plurality of waveform sequence frames of the target pixel from waveform file data according to an embodiment of the present application;
FIG. 3 is a flowchart of updating gray-scale data corresponding to a current frame stored in a second buffer according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a driving device of an electronic ink screen based on a GPU according to an embodiment of the present application;
fig. 5 is a schematic diagram of an internal structure of a computer device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
In the existing electronic ink screen driving technology, a CPU or an EPDC is required to drive an electronic ink screen to refresh, and the electronic ink screen is required to be driven to refresh, driving waveform data of each pixel is required to be calculated, and the efficiency of the CPU in processing the calculation process with high throughput cannot meet the requirements of developers in the field; in addition, EPDCs are generally mounted on dedicated chips, and have problems of fixed functions and slow updating, so a new electronic ink screen driving method with higher efficiency and easy iteration needs to be studied, see in detail below:
in one embodiment, as shown in fig. 1, fig. 1 is a schematic flow chart of a driving method of an electronic ink screen based on a GPU according to an embodiment of the present application; the application provides a driving method of an electronic ink screen based on a GPU, which can comprise the following steps:
s110: and acquiring a picture to be displayed corresponding to the current picture in the electronic ink screen.
In this step, when updating a current picture in the electronic ink screen, a picture to be displayed corresponding to the current picture needs to be acquired, so that screen driving waveform data corresponding to each pixel in the picture to be displayed can be determined, and the screen driving waveform data is driven to update the current picture.
The current picture refers to a picture currently displayed in the electronic ink screen, and the picture can be an application page, a webpage and the like which are browsed by a user, and can also be a starting picture, a desktop and the like of the ink screen device; the picture to be displayed in the application refers to a display picture after switching the content in the current picture according to the operation instruction of a user; for example, the picture to be displayed in the present application may be a picture that is ready to be opened after the user clicks a certain application identifier in the desktop, or a picture that is ready to be displayed after the user clicks a certain message in the message column, or a picture that is turned or slid when the user browses the current page in a certain application, such as a picture that reads the previous page or the next page of the text, or a picture that is skipped after the user clicks a related link in the web page, etc., which is not limited herein.
It should be noted that, in the present application, the image to be displayed is original color data, that is, the color value of each pixel in the image to be displayed is composed of three channels of red, green and blue, so that in order to adapt to the display mode of the electronic ink screen device, after the original color data of the image to be displayed is obtained, the present application needs to perform color conversion on the original color data, so as to display in the electronic ink screen subsequently.
In addition, the original color data of the picture to be displayed and the original color data of the current picture obtained by the method can be stored by a storage space which is allocated on the GPU in advance, so that the original color data can be used when the original color data is required to be converted again after the conversion fails or the current screen refreshing mode is changed.
S120: and after parallel processing, each pixel in the original color data is converted into gray-scale data to be displayed, which corresponds to the current screen refreshing mode.
In this step, after the to-be-displayed picture corresponding to the current picture in the electronic ink screen is obtained through S110, since the to-be-displayed picture is the original color data, and the electronic ink screen device generally performs picture display through the electronic ink screen, the main current electronic ink screen uses small black-white spherical micro-capsules, so that only multi-level gray colors composed of two colors of black and white can be displayed. Therefore, if the electronic ink screen is required to be used as a computer display and a good display effect is maintained, the continuous frame pictures with colors are required to be processed into multi-level gray scale pictures for display.
Based on the method, after the picture to be displayed corresponding to the current picture in the electronic ink screen is obtained, each pixel in the original color data can be converted into the gray-scale data to be displayed corresponding to the current screen refreshing mode through the multithreading processing mode, and accordingly corresponding screen driving waveform data can be determined through the gray-scale data to be displayed.
It can be understood that the gray-scale data to be displayed in the application is obtained by converting the gray-scale of the original color data, so that each pixel in the gray-scale data to be displayed has only one sampling color, and the sampling color can represent different shades of any color or different colors on different brightness, thereby the gray-scale data to be displayed comprises gray-scale images corresponding to different levels of color depth between black and white without being limited to black-and-white images.
Further, in the present application, when converting the original color data into the gray-scale data to be displayed, various conversion forms may be adopted, such as floating point algorithm, integer method, shift method, average method, and method of taking only the green channel, etc., which are not limited herein. According to the method and the device, according to the characteristics of GPU multithread parallel computing, after original color data of the picture to be displayed are converted into gray-scale data to be displayed in parallel in any conversion mode, the gray-scale data to be displayed can be obtained rapidly, and therefore screen refreshing efficiency is improved effectively.
In addition, when the original color data of the picture to be displayed are converted into the gray-scale data to be displayed in parallel, the converted gray-scale data to be displayed needs to be ensured to be the gray-scale data corresponding to the current screen refreshing mode. It will be appreciated that the screen refresh mode of the electronic ink screen is associated with a screen pixel gray level (specifically, a gray level number corresponding to a pixel value of a screen pixel), for example, the A2/DU mode corresponds to a second order gray level, and the GC16 mode corresponds to a 16 order gray level. Therefore, in order to better adapt to the current screen refresh mode, when the original color data is subjected to gray-scale conversion, the original color data can be converted into gray-scale data to be displayed corresponding to the current screen refresh mode.
Of course, the gray-scale data to be displayed of the picture to be displayed and the gray-scale data to be displayed of the current picture obtained by the method can be stored through the storage space which is allocated on the GPU in advance so as to update the data subsequently.
It should be noted that, in the present application, the gray-scale data to be displayed includes a plurality of target pixels of the waveform data to be calculated, where the target pixels refer to pixels of the screen driving waveform data to be processed by the GPU, and therefore, the plurality of target pixels may be part of pixels in the gray-scale data to be displayed, or may be all pixels in the gray-scale data to be displayed, and when the pixels are part of pixels, it indicates that another part of pixels are processed by the CPU to process the screen driving waveform data.
S130: and calculating the screen driving waveform data of each target pixel in parallel through a calculating unit and a processing unit, and updating the current picture in the electronic ink screen by utilizing the screen driving waveform data of each target pixel.
In this step, the GPU converts each pixel in the original color data into the gray-scale data to be displayed corresponding to the current screen refresh mode after parallel processing in S120, so that the screen driving waveform data of each target pixel can be calculated in parallel through the calculating Unit (calculation Unit) and the processing Unit (Processing Element), and the current screen in the electronic ink screen is updated by using the screen driving waveform data of each target pixel.
It will be appreciated that the screen driving waveform data of the present application is a waveform sequence composed of waveform data corresponding to a series of waveform sequence frames. Since the driving waveform is not necessarily completed by only one waveform frame (giving a frame of driving voltage), the gray-scale value of the pixel is driven step by step to meet the expected gray-scale value, so that each time the pixel in the electronic ink screen is updated (refreshed), the pixel updating is realized by a plurality of waveform frames, that is, the pixel updating is realized by the screen driving waveform data of the application.
Furthermore, the application benefits from the characteristic of parallel computing of the GPU, and can simultaneously compute the screen driving waveform data of at least two target pixels, so that after the screen driving waveform data of each target pixel is obtained, the current picture in the electronic ink screen can be updated by utilizing each screen driving waveform data, thereby achieving the aim of quick refreshing.
In addition, the calculated screen driving waveform data is transmitted to the electronic ink screen and is applied to the corresponding screen pixels, so that the screen pixels display the expected display state, and finally, after the corresponding screen driving waveform data is applied to each pixel, the electronic ink screen displays the picture to be displayed. In the present application, the specific manner in which the screen driving waveform data is sent to the electronic ink screen is various, and those skilled in the art can design the electronic ink screen according to actual development requirements, and the present application is not limited herein.
In the above embodiment, when the electronic ink screen is driven and updated, the to-be-displayed picture corresponding to the current picture in the electronic ink screen can be obtained through the GPU, and because the to-be-displayed picture is the original color data, each pixel in the original color data can be converted into the to-be-displayed gray-scale data corresponding to the current screen refreshing mode through the GPU after parallel processing, so that the to-be-displayed gray-scale data can be quickly obtained, the to-be-displayed gray-scale data contains a plurality of target pixels of to-be-calculated waveform data, after the screen driving waveform data of each target pixel are calculated through the calculating unit and the processing unit in parallel, the current picture in the electronic ink screen is updated by utilizing the screen driving waveform data of each target pixel, so that the screen picture updating efficiency of the electronic ink screen is further improved, in addition, the above calculating process can be operated on the GPU through a software program mode, the developer can optimize the calculating process through the updating program, the CPU resource occupation can be reduced, and more CPU resources can be conveniently obtained by other normal functions of the system.
In one embodiment, in S120, after each pixel in the original color data is processed in parallel, the conversion to the gray-scale data to be displayed corresponding to the current screen refresh mode may include:
S121: and converting each pixel in the original color data into initial gray-scale data after parallel processing.
S122: judging whether the gray level number of the initial gray level data is the same as the gray level number of the current screen refreshing mode; if not, executing S123; if so, S124 is performed.
S123: and performing reduced-order processing on the initial gray-scale data by using a dithering algorithm to obtain the gray-scale data to be displayed corresponding to the current screen refreshing mode.
S124: and taking the initial gray-scale data as the gray-scale data to be displayed corresponding to the current screen refreshing mode.
In this embodiment, when converting the original color data into the gray-scale data to be displayed, it is necessary to ensure that the converted gray-scale data to be displayed is the gray-scale data corresponding to the current screen refresh mode. Therefore, each pixel in the original color data can be converted into the initial gray-scale data after parallel processing, and the gray-scale of the initial gray-scale data is the same as the gray-scale of the original color data, but not necessarily the same as the gray-scale associated with the current screen refreshing mode. Therefore, after the initial gray level data is obtained, the gray level number of the initial gray level data can be compared with the gray level number of the current screen refreshing mode, whether the gray level number of the initial gray level data is the same as the gray level number of the current screen refreshing mode is judged, if so, the initial gray level data can be used as the gray level data to be displayed corresponding to the current screen refreshing mode without processing the initial gray level data, if not, the initial gray level data can be subjected to the gray level reduction processing through a dithering algorithm, and the initial gray level data subjected to the gray level reduction processing is used as the gray level data to be displayed corresponding to the current screen refreshing mode.
It can be understood that the gray level number of the initial gray level data is less than the gray level number of the current screen refreshing mode in the application, and the different situations are generally caused by that the gray level number of the initial gray level data is higher than the gray level number of the current screen refreshing mode, so that when the gray level numbers of the initial gray level data and the gray level number are judged to be different, the initial gray level data can be subjected to the reduced level processing through a dithering algorithm. The principle of changing the number of gray levels of an image is to reduce the gray level of 256 levels by a power of 2, that is, to reduce the gray level of the image from every 1 (256 gray levels) to every 2 (128 gray levels), every 4 (64 gray levels), and so on, until every 128 (2 gray levels). According to the principle and the gray scale associated with the current screen refreshing mode, the initial gray scale data of the application can be subjected to the reduced-order processing, and the specific reduced-order processing process can be realized through a dithering algorithm or other prior technologies, and details are not repeated here.
In one embodiment, the converting each pixel in the original color data into the initial gray-scale data after parallel processing in S121 may include:
and performing parallel calculation on initial gray scale values corresponding to the color values of all pixels in the original color data, and converting the original color data into initial gray scale data according to a parallel calculation result.
In this embodiment, when each pixel in the original color data is converted into the initial gray-scale data in parallel, the present application can convert the color value corresponding to each pixel in the original color data into the corresponding initial gray-scale value in parallel, and form the initial gray-scale data according to the initial gray-scale value of each pixel.
It will be appreciated that for a gray image itself (8-bit gray image) the pixel value of the gray image is its gray value, i.e. the initial gray value in the present application, if it is a color image, its gray value needs to be functionally mapped. For example, the gray image is obtained by transition of pure black and pure white, the gray is obtained by adding white to black, the different gray values are obtained by mixing pure black and pure white according to different ratios, for example, r=g=b=255 is white, r=g=b=0 is black, and r=g=b=some integer less than 255 is a certain gray value.
According to the application, the GPU can convert the color values of all pixels in the original color data into the corresponding initial gray-scale values in parallel according to the conversion mode between the pixel values and the gray-scale values in the prior art, so that the gray-scale data to be displayed can be obtained rapidly, and the screen refreshing efficiency is improved effectively.
In one embodiment, the step of performing the reduced-order processing on the initial gray-scale data using the dithering algorithm in S123 may include:
s1231: and determining a parallel processing strategy when the dithering algorithm is used for carrying out the reduced-order processing on the initial gray scale data.
S1232: and dithering each pixel in the initial gray scale data according to the parallel processing strategy.
In this embodiment, when the first gray level data is subjected to the reduced-order processing, a dithering algorithm may be introduced according to actual needs to perform the reduced-order processing, so that the high-order picture is reduced to the low-order picture in a dithering manner. Corresponding to the gray level conversion process of each pixel, when the dithering algorithm is introduced to carry out the reduced level processing, the application can also adopt parallel processing strategies with different degrees according to different selected dithering algorithms.
For example, when the dithering algorithm selected by the application needs to use the parallel calculation results of a plurality of pixels in gray level conversion, the parallel number in dithering process needs to be specified, and when other dithering algorithms need to use fewer pixel parallel calculation results, the parallel number can be unconstrained in dithering process. Of course, the dithering algorithm may be selected according to the actual situation, and is not limited herein.
In one embodiment, the screen driving waveform data of each target pixel is calculated in S130 through multithreading in parallel, which may include:
s131: for each target pixel: and determining the current gray-scale value of the target pixel in the current picture and the gray-scale value to be displayed in the gray-scale data to be displayed.
S132: and sequentially acquiring waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the pre-stored waveform file data according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode, and forming screen driving waveform data of the target pixel.
In this embodiment, after the GPU converts each pixel in the original color data into the gray-scale data to be displayed corresponding to the current screen refresh mode, the screen driving waveform data of each target pixel can be calculated through multithreading in parallel, and the current picture in the electronic ink screen is updated by using each screen driving waveform data.
When the application calculates the screen driving waveform data of each target pixel through multithreading and parallel computing, the application can firstly determine the current gray-scale value of the target pixel in the current picture and the gray-scale value to be displayed in the gray-scale data to be displayed for each target pixel, and then sequentially acquire the waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the waveform file data stored in the GPU memory by utilizing the current gray-scale value, the gray-scale value to be displayed and the current screen refreshing mode so as to form the screen driving waveform data of the target pixel.
It can be understood that the screen driving waveform data of the present application is composed of waveform data corresponding to a series of waveform sequence frames, so that when the GPU calculates the screen driving waveform data, it is necessary to sequentially calculate the waveform data corresponding to each waveform sequence frame, and compose the screen driving waveform data by using the waveform data.
Further, when the application processes the screen driving waveform data through the GPU, the CPU generally sends the waveform file to the GPU in advance, so that the GPU stores the waveform file in the memory in the form of waveform file data and reads the waveform file when in use. The waveform file data pre-stored in the GPU memory is pre-configured by an ink screen equipment manufacturer for each batch of ink screen equipment, and the waveform file data is provided with waveform tables corresponding to a plurality of screen refreshing modes. The waveform table with 16 gray scale modes and the waveform table with 2 gray scale modes are commonly used, and the waveform table structures of the two modes are the same, and are three-dimensional arrays, such as LUT [ C ] [ A ] [ B ], wherein C represents the length of the three-dimensional array, the number of times the waveform table needs to be inquired from the A gray scale value to the B gray scale value, A represents the initial gray scale value, the numerical range is 0-15, B represents the target gray scale value, and the numerical range is 0-15. The values in the three-dimensional array table represent three values, namely, 0, -1, and 1, respectively, wherein 1 represents that a positive voltage is applied to the ink screen, -1 represents that a negative voltage is applied to the ink screen, and 0 represents that no voltage is applied. After the present application provides the current gray-scale value, the gray-scale value to be displayed and the current screen refreshing mode of each target pixel, the waveform data corresponding to a plurality of waveform sequence frames of the target pixel can be determined according to the current gray-scale value, the gray-scale value to be displayed and the current screen refreshing mode, so as to form the screen driving waveform data.
In one embodiment, as shown in fig. 2, fig. 2 is a schematic flow chart of sequentially obtaining waveform data corresponding to a plurality of waveform sequence frames of the target pixel from waveform file data according to an embodiment of the present application; in S132, according to the current gray-scale value, the gray-scale value to be displayed, and the current screen refresh mode, sequentially obtaining waveform data corresponding to a plurality of waveform sequence frames of the target pixel from pre-stored waveform file data, and forming screen driving waveform data of the target pixel, may include:
s321: recording data of a current waveform sequence frame to be acquired is determined, and the total sequence frame number of the target pixel is determined.
S322: and taking the current gray scale value, the gray scale value to be displayed, the current screen refreshing mode and the recorded data as the waveform searching index of the target pixel.
S323: and searching and acquiring waveform data corresponding to the current waveform sequence frame of the target pixel from waveform file data stored in a memory in advance according to the waveform searching index.
S324: judging whether all waveform sequence frames of the target pixel are acquired according to the recorded data and the total sequence frame number; if yes, then execute S325; otherwise, S326 is performed.
S325: and taking the waveform data corresponding to all the acquired waveform sequence frames as the screen driving waveform data of the target pixel.
S326: after updating the record data, the process returns to S322 to S326 until the waveform sequence frame of the target pixel is completely acquired.
In this embodiment, when waveform data corresponding to a plurality of waveform sequence frames of the target pixel are sequentially acquired from waveform file data stored in a memory in advance, since the screen driving waveform data is composed of a series of waveform data corresponding to waveform sequence frames, as shown in fig. 2, the present application can determine the recorded data of the current waveform sequence frame to be acquired and the total sequence frame number of the target pixel first, then the present gray-scale value, the to-be-displayed gray-scale value, the present screen refreshing mode and the recorded data of the present waveform sequence frame are used as waveform searching indexes of the target pixel, and the waveform data corresponding to the present waveform sequence frame of the target pixel is searched and acquired from the waveform file data stored in advance in the GPU memory through the waveform searching indexes.
It will be appreciated that, since the waveform table in the waveform file data is a three-dimensional array structure, such as LUT [ C ] [ A ] [ B ], where C represents the length of the three-dimensional array, and represents the number of times the waveform table needs to be queried from displaying the A gray value to displaying the B gray value, A represents the initial gray value, the range of values is 0-15, B represents the target gray value, and the range of values is 0-15. Therefore, the application can determine the number of times that the waveform table needs to be queried when the target pixel is converted from the current gray level value to the gray level value to be displayed through the waveform file data, namely the total sequence frame number in the application, then record the frame number of the current waveform sequence frame through the record data, and stop acquiring the waveform data when the total sequence frame number is reached, thereby obtaining the corresponding screen driving waveform data.
In addition, in the above embodiment, the present application uses the current gray-scale value, the gray-scale value to be displayed, the current screen refresh mode, and the recording data of the current waveform sequence frame together as the waveform search index of the current target pixel. In some embodiments, the current gray-scale value and the gray-scale value to be displayed may be spliced and combined into a gray-scale index value, which is used as one of the waveform search indexes.
In one embodiment, in S132, according to the current gray-scale value, the gray-scale value to be displayed, and the current screen refresh mode, sequentially obtaining a plurality of waveform sequence frames corresponding to the target pixel from pre-stored waveform file data, and forming screen driving waveform data of the target pixel may include:
S331: and matching the position information corresponding to the initial sequence frame or the end sequence frame of the target pixel from a pre-stored waveform file according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode.
S332: and according to the position information, waveform data corresponding to all waveform sequence frames of the target pixel are automatically acquired from the waveform file data, and screen driving waveform data of the target pixel are formed.
In this embodiment, when waveform data corresponding to a plurality of waveform sequence frames of the target pixel are sequentially acquired from waveform file data stored in a memory in advance, since the screen driving waveform data is composed of a series of waveform data corresponding to waveform sequence frames, the method and the device can first match position information corresponding to a start sequence frame or an end sequence frame of the target pixel from the waveform file data stored in the memory in advance according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode, then automatically acquire waveform data corresponding to all waveform sequence frames of the target pixel from the waveform file data according to the position information, and form screen driving waveform data of the target pixel, so that more data is carried when the waveform file data is accessed each time after recording data of the current waveform sequence frame is used as a waveform searching index, the effect on parallel computing efficiency can be avoided, and the waveform data corresponding to the waveform sequence frame can be directly sent to an electronic ink screen frame by frame according to the position information corresponding to the start sequence frame or the end sequence frame of the target pixel, thereby further improving the screen refreshing efficiency.
In one embodiment, updating the current picture in the electronic ink screen with the screen driving waveform data of each target pixel in S130 may include:
and transmitting the screen driving waveform data of each target pixel to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display through the display data transmitting module so as to update the current picture.
In this embodiment, when the screen driving waveform data is sent to the electronic ink screen so that the screen driving waveform data is applied to the corresponding screen pixels, and the screen pixels display the expected display state, the screen driving waveform data of each target pixel may be sent to the display data sending module of the electronic ink screen device, and the screen driving waveform data of each target pixel is applied to the corresponding screen pixels in the electronic ink screen through the module, so that the electronic ink screen displays the image to be displayed.
In one embodiment, updating the current picture in the electronic ink screen with the screen driving waveform data of each target pixel in S130 may include:
And transmitting the screen driving waveform data of each target pixel and the corresponding time sequence signals to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display according to the corresponding time sequence signals through the display data transmitting module so as to update the current picture.
In this embodiment, when the screen driving waveform data is sent to the electronic ink screen so that the screen driving waveform data is applied to the corresponding screen pixels, and the screen pixels display the expected display state, the screen driving waveform data of each target pixel and the corresponding timing signal may be sent to the display data sending module of the electronic ink screen device, and the screen driving waveform data of each target pixel may be sent to the electronic ink screen by the module according to the corresponding timing signal to display the current picture, so as to update the current picture.
It can be understood that, because the screen driving waveform data of the present application is composed of a series of waveform data corresponding to waveform sequence frames, and a certain time sequence is also provided between a series of waveform sequence frames, so that a corresponding driving voltage can be formed.
In one embodiment, before each pixel in the original color data is converted into the gray-scale data to be displayed corresponding to the current screen refresh mode after parallel processing in S120, the method may further include:
receiving a rendering instruction, rendering the picture to be displayed according to the rendering instruction to obtain original color data, and storing the original color data into a first buffer area; the first buffer area is used for storing original color data corresponding to the screen picture after the electronic ink screen is refreshed each time.
In this embodiment, after the to-be-displayed picture corresponding to the current picture of the electronic ink screen is obtained, the to-be-displayed picture can be stored through the storage space allocated on the GPU in advance, so that the to-be-displayed picture can be used when the original color data is required to be converted again after the conversion fails or the current screen refreshing mode is changed.
Specifically, after the picture to be displayed is obtained, the picture to be displayed can be rendered according to the received rendering instruction, then the original color data obtained after rendering is stored in the first buffer zone, wherein the first buffer zone is the storage space which is allocated on the GPU in advance, and the first buffer zone stores the original color data corresponding to the screen picture after the electronic ink screen is refreshed each time, so that the original color data can be used when the subsequent conversion of the original color data into the gray-scale data to be displayed fails or when the current screen refreshing mode changes, and the original color data of the picture to be displayed is prevented from being obtained again.
It should be noted that, in the present application, the rendering instruction received by the GPU may be sent by the CPU, or may be initiated by the GPU or another module, which is not limited herein. When the GPU receives the rendering instruction, the image to be displayed is rendered, so that the rendered original color data are stored in the first buffer zone, and the subsequent use is convenient.
In one embodiment, before the screen driving waveform data of each target pixel is calculated in parallel by the calculating unit and the processing unit in S130, the method may further include:
storing the gray-scale data to be displayed into a second buffer area; the second buffer area is used for storing gray-scale data corresponding to the screen picture after the electronic ink screen is refreshed each time.
In this embodiment, when the gray-scale data to be displayed corresponding to the frame to be displayed is obtained, the gray-scale data to be displayed may also be stored through a storage space allocated in advance on the GPU, that is, the second buffer, so that the gray-scale data corresponding to the screen frame after each refreshing of the electronic ink screen is stored in the second buffer, and when the gray-scale data corresponding to the screen frame is updated, the screen frame of the electronic ink screen and the gray-scale data stored in the second buffer may also be updated synchronously for subsequent use.
In one embodiment, as shown in fig. 3, fig. 3 is a schematic flow chart of updating gray-scale data corresponding to a current frame stored in a second buffer according to an embodiment of the present application; the GPU may include a first buffer area and a second buffer area, the first buffer area is used for storing original color data corresponding to the screen picture after the electronic ink screen is refreshed each time, and the second buffer area is used for storing gray-scale data corresponding to the screen picture after the electronic ink screen is refreshed each time.
The method further comprises the steps of:
s140: if the current screen refreshing mode is detected to change, judging whether the changed screen refreshing mode is the same as the target gray level corresponding to the screen refreshing mode before the change; if the same, executing S141; if not, S142 is performed.
S141: the gray-scale data corresponding to the current picture stored in the second buffer area is not required to be updated.
S142: and acquiring original color data corresponding to the current picture from the first buffer zone, converting each pixel in the original color data into gray-scale data corresponding to a changed screen refreshing mode after parallel processing, and updating the gray-scale data corresponding to the current picture stored in the second buffer zone and the screen picture of the electronic ink screen by utilizing the gray-scale data.
In this embodiment, since the current screen refreshing mode may be adjusted manually or according to the usage status of the current electronic ink screen device, as shown in fig. 3, if the GPU detects that the current screen refreshing mode changes, it may first determine whether the changed screen refreshing mode is the same as the target gray level corresponding to the screen refreshing mode before the change, if so, it is not necessary to update the gray level data corresponding to the current picture stored in the second buffer, and if not, it is necessary to update the screen picture of the electronic ink screen and the gray level data corresponding to the current picture stored in the second buffer, so as to use the latest gray level data for calculation subsequently.
Specifically, when the gray-scale data corresponding to the current picture stored in the second buffer area is updated, because the original color data corresponding to the screen picture after the electronic ink screen is refreshed each time is stored in the first buffer area, the application can acquire the original color data corresponding to the current picture from the first buffer area, convert the original color data into the gray-scale data corresponding to the changed screen refresh mode after the parallel conversion operation, and then update the screen picture of the electronic ink screen and the gray-scale data corresponding to the current picture stored in the second buffer area by utilizing the gray-scale data, thereby achieving the purpose of synchronous update.
It can be understood that the same or different target gray levels are associated with different screen refreshing modes, so that when the current screen refreshing mode of the application changes, whether the gray level data corresponding to the screen picture of the electronic ink screen and the current picture stored in the second buffer area need to be updated is judged according to the target gray level corresponding to the screen refreshing mode after the change and the target gray level corresponding to the screen refreshing mode before the change.
In one embodiment, before the obtaining the frame to be displayed corresponding to the current frame in the electronic ink screen in S110, the method may further include:
s101: and receiving an initialization command and a waveform file sent by the CPU.
S102: and according to the initialization command, pre-distributing a storage space for calculation parameters and calculation results generated when the waveform file is accessed later.
In this embodiment, before obtaining a frame to be displayed corresponding to a current frame of the electronic ink screen, the GPU may receive an initialization command and a waveform file sent by the CPU, and allocate a certain storage space according to the initialization command, so as to store calculation parameters and calculation results generated when the waveform file is accessed to perform parallel calculation of screen driving waveform data.
The Waveform file of the present application refers to a Waveform file, and the Waveform file is sent to the GPU as important data in the computing process. The wave form file contains screen driving Waveform data corresponding to a plurality of screen refreshing modes, and the screen driving Waveform data can be accessed for a plurality of times in the subsequent step of matching the screen driving Waveform data, so that the screen driving Waveform data needs to be uploaded to the GPU video memory when the GPU is initialized.
In addition, the CPU in the application can send an initialization command to the GPU according to the processing instruction issued by the user or according to the processing capacity of the CPU, so that after the GPU is initialized, the processes of gray level conversion, gray level dithering, waveform data matching and the like are all handed to the GPU, and the screen driving waveform data of each pixel can be rapidly calculated by a multithread parallel computing method of the GPU, thereby realizing rapid screen refreshing.
In one embodiment, receiving the initialization command sent by the CPU in S101 may include:
and when the current load of the CPU exceeds a preset load threshold, receiving an initialization command sent by the CPU.
In this embodiment, before sending an initialization command to the GPU, the CPU may determine whether the current load exceeds a preset load threshold, if not, it is not necessary to process the processes of gray-scale conversion, gray-scale dithering, matching waveform data, and the like through the GPU, and if exceeding, it indicates that the CPU cannot quickly respond to the screen update request at this time, and at this time, the processes of gray-scale conversion, gray-scale dithering, matching waveform data, and the like may be processed through the GPU, so as to achieve the purpose of quick refresh.
In one embodiment, the method may further comprise:
if all data used in parallel computing are texture format data which can be processed by the GPU after being converted by the CPU, after parallel computing is performed based on the texture format data and a computing result is obtained, the computing result is sent to the CPU, so that the CPU converts the computing result into a data format which can be processed by screen driving and sends the data format to the electronic ink screen.
In this embodiment, considering that the GPU generally uses data in texture format when processing data, when driving the electronic ink screen through the GPU, the CPU may first convert all data used by the GPU in parallel computing into data in texture format that can be processed by the GPU and upload the data to the GPU, and after the GPU performs parallel computing based on the data in texture format and obtains a computing result, obtain the computing result, and convert the computing result into a data format that can be processed by the screen driving and send the data format to the electronic ink screen for display.
Specifically, in the present application, the data uploaded to the GPU by the CPU may be texture format or other suitable format that has been converted into the GPU for convenient processing, for example, the data of the Waveform file, the original color data of the picture to be displayed, the gray-scale data of the current picture, the current screen refresh mode, etc. may all be converted into data of texture format, and of course, after the GPU performs parallel computation on these texture format data, the CPU may also send the screen driving Waveform data (and timing signals) of texture format to the CPU, where the CPU converts these screen driving Waveform data (and timing signals) of texture format into the data format that can be processed by the screen driving and sends them to the electronic ink screen, so that the electronic ink screen drives the screen driving Waveform data and then displays the corresponding picture.
The description of the GPU-based electronic ink screen driving device provided by the embodiments of the present application is provided below, and the GPU-based electronic ink screen driving device described below and the GPU-based electronic ink screen driving method described above may be referred to correspondingly.
In one embodiment, as shown in fig. 4, fig. 4 is a schematic structural diagram of a driving device of an electronic ink screen based on a GPU according to an embodiment of the present application; the application also provides a driving device of the electronic ink screen based on the GPU, which can comprise a data acquisition module 210, a data conversion module 220 and a screen updating module 230, and specifically comprises the following steps:
the data obtaining module 210 is configured to obtain a picture to be displayed corresponding to a current picture in the electronic ink screen, where the picture to be displayed is original color data.
The data conversion module 220 is configured to convert each pixel in the original color data into to-be-displayed gray-scale data corresponding to the current screen refresh mode after parallel processing, where the to-be-displayed gray-scale data includes a plurality of target pixels of to-be-calculated waveform data.
The screen updating module 230 is configured to calculate, in parallel, screen driving waveform data of each target pixel through the calculating unit and the processing unit, and update a current picture in the electronic ink screen by using the screen driving waveform data of each target pixel.
In the above embodiment, when the electronic ink screen is driven and updated, the to-be-displayed picture corresponding to the current picture in the electronic ink screen can be obtained through the GPU, and because the to-be-displayed picture is the original color data, each pixel in the original color data can be converted into the to-be-displayed gray-scale data corresponding to the current screen refreshing mode through the GPU after parallel processing, so that the to-be-displayed gray-scale data can be quickly obtained, the to-be-displayed gray-scale data contains a plurality of target pixels of to-be-calculated waveform data, after the screen driving waveform data of each target pixel are calculated through the calculating unit and the processing unit in parallel, the current picture in the electronic ink screen is updated by utilizing the screen driving waveform data of each target pixel, so that the screen picture updating efficiency of the electronic ink screen is further improved, in addition, the above calculating process can be operated on the GPU through a software program mode, the developer can optimize the calculating process through the updating program, the CPU resource occupation can be reduced, and more CPU resources can be conveniently obtained by other normal functions of the system.
In one embodiment, the present application also provides a storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the GPU-based electronic ink screen driving method as in any of the above embodiments.
In one embodiment, the present application further provides an electronic ink screen device, including: one or more processors, and memory.
The memory has stored therein computer readable instructions that, when executed by the one or more processors, perform the steps of the GPU-based electronic ink screen driving method as in any of the above embodiments.
Schematically, as shown in fig. 5, fig. 5 is a schematic internal structure of a computer device according to an embodiment of the present application, and the computer device 300 may be provided as a server. Referring to FIG. 5, computer device 300 includes a processing component 302 that further includes one or more processors, and memory resources represented by memory 301, for storing instructions, such as applications, executable by processing component 302. The application program stored in the memory 301 may include one or more modules each corresponding to a set of instructions. Further, the processing component 302 is configured to execute instructions to perform the GPU-based electronic ink screen driving method of any of the embodiments described above.
The computer device 300 may also include a power supply component 303 configured to perform power management of the computer device 300, a wired or wireless network interface 304 configured to connect the computer device 300 to a network, and an input output (I/O) interface 305. The computer device 300 may operate based on an operating system stored in memory 301, such as Windows Server TM, mac OS XTM, unix TM, linux TM, free BSDTM, or the like.
It will be appreciated by those skilled in the art that the structure shown in FIG. 5 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the present specification, each embodiment is described in a progressive manner, and each embodiment focuses on the difference from other embodiments, and may be combined according to needs, and the same similar parts may be referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (17)

1. A method for driving an electronic ink screen based on a GPU, the method comprising:
acquiring a picture to be displayed corresponding to a current picture in an electronic ink screen, wherein the picture to be displayed is original color data;
after parallel processing, each pixel in the original color data is converted into gray-scale data to be displayed corresponding to a current screen refreshing mode, wherein the gray-scale data to be displayed comprises a plurality of target pixels of waveform data to be calculated;
The method comprises the steps that screen driving waveform data of each target pixel are calculated in parallel through a calculating unit and a processing unit, and the current picture in the electronic ink screen is updated by utilizing the screen driving waveform data of each target pixel;
the screen driving waveform data of each target pixel is calculated in parallel by a calculating unit and a processing unit, and the method comprises the following steps:
for each target pixel:
determining a current gray-scale value of the target pixel in the current picture and a gray-scale value to be displayed in the gray-scale data to be displayed through a computing unit and a processing unit;
and sequentially acquiring waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the pre-stored waveform file data according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode, and forming screen driving waveform data of the target pixel.
2. The method according to claim 1, wherein converting each pixel in the original color data into gray-scale data to be displayed corresponding to a current screen refresh mode after parallel processing, comprises:
each pixel in the original color data is converted into initial gray-scale data after parallel processing;
Judging whether the gray level number of the initial gray level data is the same as the gray level number of the current screen refreshing mode;
if the gray scale data are different, performing reduced-order processing on the initial gray scale data by using a dithering algorithm to obtain gray scale data to be displayed corresponding to the current screen refreshing mode;
and if the display mode is the same, taking the initial gray-scale data as the gray-scale data to be displayed corresponding to the current screen refreshing mode.
3. The method for driving the GPU-based electronic ink screen according to claim 2, wherein converting each pixel in the original color data into initial gray-scale data after parallel processing, comprises:
and performing parallel calculation on initial gray scale values corresponding to the color values of all pixels in the original color data, and converting the original color data into initial gray scale data according to a parallel calculation result.
4. The method for driving a GPU-based electronic ink screen according to claim 2, wherein said performing a reduced-order process on the initial gray-scale data using a dithering algorithm further comprises:
determining a parallel processing strategy when the dithering algorithm is used for carrying out the reduced-order processing on the initial gray scale data;
and dithering each pixel in the initial gray scale data according to the parallel processing strategy.
5. The method according to claim 1, wherein sequentially obtaining waveform data corresponding to a plurality of waveform sequence frames of the target pixel from pre-stored waveform file data according to the current gray-scale value, the gray-scale value to be displayed, and the current screen refresh mode, and forming screen driving waveform data of the target pixel, comprises:
determining the recorded data of the current waveform sequence frame to be acquired and the total sequence frame number of the target pixel;
taking the current gray scale value, the gray scale value to be displayed, the current screen refreshing mode and the recorded data as waveform searching indexes of the target pixel;
searching and acquiring waveform data corresponding to the current waveform sequence frame of the target pixel from waveform file data stored in a memory in advance according to the waveform searching index;
judging whether all waveform sequence frames of the target pixel are acquired according to the recorded data and the total sequence frame number;
if yes, taking the waveform data corresponding to all the obtained waveform sequence frames as the screen driving waveform data of the target pixel;
otherwise, after updating the recorded data, returning to the step of using the current gray-scale value, the gray-scale value to be displayed, the current screen refreshing mode and the recorded data as the waveform searching index of the target pixel until the waveform sequence frame of the target pixel is completely acquired.
6. The method according to claim 1, wherein sequentially obtaining a plurality of waveform sequence frames corresponding to the target pixel from pre-stored waveform file data according to the current gray-scale value, the gray-scale value to be displayed, and the current screen refresh mode, and forming screen driving waveform data of the target pixel, comprises:
according to the current gray level value, the gray level value to be displayed and the current screen refreshing mode, matching the position information corresponding to the initial sequence frame or the end sequence frame of the target pixel from waveform file data stored in a memory in advance;
and according to the position information, waveform data corresponding to all waveform sequence frames of the target pixel are automatically acquired from the waveform file data, and screen driving waveform data of the target pixel are formed.
7. The method for driving the GPU-based electronic ink screen according to claim 1, wherein updating the current frame in the electronic ink screen with the screen driving waveform data of each target pixel comprises:
and transmitting the screen driving waveform data of each target pixel to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display through the display data transmitting module so as to update the current picture.
8. The method for driving the GPU-based electronic ink screen according to claim 1, wherein updating the current frame in the electronic ink screen with the screen driving waveform data of each target pixel comprises:
and transmitting the screen driving waveform data of each target pixel and the corresponding time sequence signals to a display data transmitting module of the electronic ink screen device, and transmitting the screen driving waveform data of each target pixel to the electronic ink screen for display according to the corresponding time sequence signals through the display data transmitting module so as to update the current picture.
9. The method according to any one of claims 1-8, wherein before converting each pixel in the original color data into gray-scale data to be displayed corresponding to a current screen refresh mode after parallel processing, the method further comprises:
receiving a rendering instruction, rendering the picture to be displayed according to the rendering instruction to obtain original color data, and storing the original color data into a first buffer area;
the first buffer area is used for storing original color data corresponding to the screen picture after the electronic ink screen is refreshed each time.
10. The GPU-based electronic ink screen driving method according to any one of claims 1-8, wherein before the screen driving waveform data of each target pixel is calculated in parallel by a calculation unit and a processing unit, the method further comprises:
storing the gray-scale data to be displayed into a second buffer area; the second buffer area is used for storing gray-scale data corresponding to the screen picture after the electronic ink screen is refreshed each time.
11. The method for driving an electronic ink screen according to any one of claims 1 to 8, wherein the GPU includes a first buffer and a second buffer, the first buffer is used for storing original color data corresponding to a screen picture after each refresh of the electronic ink screen, and the second buffer is used for storing gray-scale data corresponding to a screen picture after each refresh of the electronic ink screen;
the method further comprises the steps of:
if the current screen refreshing mode is detected to be changed, judging whether the changed screen refreshing mode is the same as the target gray level corresponding to the screen refreshing mode before the change;
if the gray-scale data is the same, the gray-scale data corresponding to the current picture stored in the second buffer area does not need to be updated;
If the screen refreshing modes are different, the original color data corresponding to the current picture are obtained from the first buffer zone, all pixels in the original color data are converted into gray-scale data corresponding to the changed screen refreshing modes after being processed in parallel, and the gray-scale data are utilized to update the gray-scale data corresponding to the current picture stored in the second buffer zone and the screen picture of the electronic ink screen.
12. The method for driving a GPU-based electronic ink screen according to any one of claims 1-8, wherein before obtaining a frame to be displayed corresponding to a current frame in the electronic ink screen, the method further comprises:
receiving an initialization command and a waveform file sent by a CPU (Central processing Unit);
and according to the initialization command, pre-distributing a storage space for calculation parameters and calculation results generated when the waveform file is accessed later.
13. The method for driving the GPU-based electronic ink screen according to claim 12, wherein said receiving an initialization command sent by the CPU comprises:
and when the current load of the CPU exceeds a preset load threshold, receiving an initialization command sent by the CPU.
14. The GPU-based electronic ink screen driving method of any of claims 1-8, further comprising:
If all data used in parallel computing are texture format data which can be processed by the GPU after being converted by the CPU, after parallel computing is performed based on the texture format data and a computing result is obtained, the computing result is sent to the CPU, so that the CPU converts the computing result into a data format which can be processed by screen driving and sends the data format to the electronic ink screen.
15. A GPU-based electronic ink screen driving apparatus, comprising:
the data acquisition module is used for acquiring a picture to be displayed corresponding to a current picture in the electronic ink screen, wherein the picture to be displayed is original color data;
the data conversion module is used for converting each pixel in the original color data into gray-scale data to be displayed corresponding to the current screen refreshing mode after parallel processing, wherein the gray-scale data to be displayed comprises a plurality of target pixels of waveform data to be calculated;
the screen updating module is used for parallelly calculating the screen driving waveform data of each target pixel through the calculating unit and the processing unit, and updating the current picture in the electronic ink screen by utilizing the screen driving waveform data of each target pixel;
The screen updating module comprises:
for each target pixel:
determining a current gray-scale value of the target pixel in the current picture and a gray-scale value to be displayed in the gray-scale data to be displayed through a computing unit and a processing unit;
and sequentially acquiring waveform data corresponding to a plurality of waveform sequence frames of the target pixel from the pre-stored waveform file data according to the current gray scale value, the gray scale value to be displayed and the current screen refreshing mode, and forming screen driving waveform data of the target pixel.
16. A storage medium, characterized by: the storage medium having stored therein computer readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the GPU-based electronic ink screen driving method of any of claims 1 to 14.
17. An electronic ink screen device, comprising: one or more processors, and memory;
stored in the memory are computer readable instructions which, when executed by the one or more processors, perform the steps of the GPU-based electronic ink screen driving method of any of claims 1 to 14.
CN202310393326.4A 2023-04-12 2023-04-12 Method, device, medium and equipment for driving electronic ink screen based on GPU Active CN116364023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310393326.4A CN116364023B (en) 2023-04-12 2023-04-12 Method, device, medium and equipment for driving electronic ink screen based on GPU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310393326.4A CN116364023B (en) 2023-04-12 2023-04-12 Method, device, medium and equipment for driving electronic ink screen based on GPU

Publications (2)

Publication Number Publication Date
CN116364023A CN116364023A (en) 2023-06-30
CN116364023B true CN116364023B (en) 2023-11-28

Family

ID=86938658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310393326.4A Active CN116364023B (en) 2023-04-12 2023-04-12 Method, device, medium and equipment for driving electronic ink screen based on GPU

Country Status (1)

Country Link
CN (1) CN116364023B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117437891B (en) * 2023-11-20 2024-04-26 广州文石信息科技有限公司 Clear display method and device of ink screen, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965678A (en) * 2021-03-16 2021-06-15 广州文石信息科技有限公司 Display, device, storage medium and method based on electronic ink screen
CN113515246A (en) * 2021-05-17 2021-10-19 广州文石信息科技有限公司 Electronic ink screen display control method, device, equipment and storage medium
CN114201627A (en) * 2021-11-30 2022-03-18 深圳市大我云读写科技有限公司 Display method, device and equipment for electronic ink screen and storage medium
CN114863882A (en) * 2021-01-20 2022-08-05 广州视源电子科技股份有限公司 Refreshing method and device of electronic ink screen
WO2022166624A1 (en) * 2021-02-02 2022-08-11 华为技术有限公司 Screen display method and related apparatus
CN115187515A (en) * 2022-06-16 2022-10-14 沈阳先进医疗设备技术孵化中心有限公司 Image processing apparatus, method, device, and readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8373649B2 (en) * 2008-04-11 2013-02-12 Seiko Epson Corporation Time-overlapping partial-panel updating of a bistable electro-optic display

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114863882A (en) * 2021-01-20 2022-08-05 广州视源电子科技股份有限公司 Refreshing method and device of electronic ink screen
WO2022166624A1 (en) * 2021-02-02 2022-08-11 华为技术有限公司 Screen display method and related apparatus
CN112965678A (en) * 2021-03-16 2021-06-15 广州文石信息科技有限公司 Display, device, storage medium and method based on electronic ink screen
CN113515246A (en) * 2021-05-17 2021-10-19 广州文石信息科技有限公司 Electronic ink screen display control method, device, equipment and storage medium
CN114201627A (en) * 2021-11-30 2022-03-18 深圳市大我云读写科技有限公司 Display method, device and equipment for electronic ink screen and storage medium
CN115187515A (en) * 2022-06-16 2022-10-14 沈阳先进医疗设备技术孵化中心有限公司 Image processing apparatus, method, device, and readable storage medium

Also Published As

Publication number Publication date
CN116364023A (en) 2023-06-30

Similar Documents

Publication Publication Date Title
CN116364023B (en) Method, device, medium and equipment for driving electronic ink screen based on GPU
CN113299245B (en) Method and device for adjusting local backlight of display equipment, display equipment and storage medium
WO2019127718A1 (en) Method and apparatus for displaying image
US8706911B2 (en) Power saving display information converting system and method
CN108228056B (en) Image display method and device for mobile terminal and storage medium
KR20040062564A (en) Systems and methods for generating visual representations of graphical data and digital document processing
CN111752517B (en) Method, terminal and computer readable storage medium capable of projecting screen to far-end display screen
CN112965678A (en) Display, device, storage medium and method based on electronic ink screen
CN111741246B (en) Video storage method, device, SOC system and medium
JPH05127608A (en) Liquid crystal display device
CN114023272B (en) Method and terminal equipment for eliminating residual shadow of ink screen
CN102783131B (en) Data-generating device and data-generating method
US5838291A (en) Display control method and apparatus
JP2022002376A5 (en)
JP2002258791A (en) Display device
JP2010191026A (en) Terminal outputting image data in accordance with external display device, program, and method
CN114089936A (en) Display drive control method, device, equipment and storage medium
CN109151538B (en) Image display method and device, smart television and readable storage medium
JP2003208606A (en) Color transformation in three dimensional color space
KR102423052B1 (en) Display apparatus for dog and method of driving the same
CN117116219A (en) System-on-chip, display terminal, and readable storage medium
KR102593595B1 (en) Display device and driving method thereof
WO2015151175A1 (en) Information processing device
JPH113057A (en) Device and method for display control
CN115713920A (en) Method and system for establishing overdrive lookup table and display

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant