Information processing system, controller, and control method
By identifying and processing dynamic regions in EPDs to limit quantization error diffusion, the system addresses slow response times and high power consumption, extending the display's lifespan and reducing power usage.
Patent Information
- Application Number
- JP2024066942
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-17
- Publication Date
- 2025-10-29
- Estimated Expiration
- 2044-04-17
AI Technical Summary
Electrophoretic displays (EPDs) have slow response times and high power consumption during gradation changes, leading to increased power consumption and a limited rewrite lifespan, especially when displaying multi-bit gradations, and quantization error diffusion causes permanent afterimages due to unnecessary panel rewriting.
An information processing system that identifies dynamic regions in a display image and quantizes gradation values within these regions using one bit, diffusing quantization errors only within the dynamic area, thereby reducing unnecessary rewriting and power consumption.
Extends the lifespan of the display panel by minimizing unnecessary rewriting and reduces power consumption, while maintaining image quality by confining quantization error diffusion within dynamic regions.
Smart Images

Figure 2025163553000001_ABST
Abstract
Description
[Technical Field]
[0001] The present application relates to information processing systems, controllers, and control methods, for example, for quantization error diffusion. [Background technology]
[0002] Electrophoretic displays (EPDs) consume no power while displaying static content, making it possible to display a variety of information with low power consumption. EPDs are sometimes used to display information primarily consisting of text. For example, Patent Document 1 describes applications of EPDs to e-book readers, electronic medical records, electronic newspapers, and the like. EPDs are also known as electric paper displays, electronic ink displays, and the like.
[0003] However, EPDs have slower response times to display changes than other display devices, such as liquid crystal displays (LCDs) and organic light-emitting diode (OLED) displays. This delay tends to be particularly noticeable when expressing gradations using multiple bits. A typical EPD responds in approximately 100 ms when displaying two levels of gradation using one bit of gradation, but reaches 500 ms when displaying 16 levels of gradation using four bit of gradation. Generally, the greater the gradation bit depth, the smoother the gradation an EPD can display, but the slower its response time.
[0004] In 1-bit images, dithering diffuses the quantization error of each pixel to surrounding pixels, increasing the proportion of bright pixels in areas with higher brightness in the original image. Dithering visually mitigates quantization errors during low-bit conversion and the phenomenon of significant variations in gradation from the original data on a display (tone jumps), enabling macroscopic and pseudo-representation of multi-bit gradations even in 1-bit images. Quantization error diffusion is achieved by performing matrix operations on each pixel. The destination pixels include pixels adjacent to the target pixel in the row and column directions. Furthermore, during quantization error diffusion, the target pixel is sequentially changed to unprocessed neighboring pixels, and the matrix operation is repeated. Therefore, quantization error generated at one target pixel accumulates and propagates toward the destination. Quantization error diffusion requires the display panel to rewrite the screen because it changes the quantized gradation. Due to the nature of this dithering, the range that needs to be rewritten is not limited to the pixels where the gradation change actually occurred, but extends to a wide range of pixels to which the quantization error is propagated. On the other hand, if the quantization error is not propagated after the screen is rewritten, the timing of distributing the quantization error will differ between pixels whose gradation has been rewritten and pixels whose gradation has not been rewritten. As a result, afterimages will permanently remain in the area where the gradation has been rewritten, which may cause discomfort to the user. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-64421 Summary of the Invention [Problem to be solved by the invention]
[0006] On the other hand, EPDs consume power when rewriting. The power consumption during rewriting can even be greater than that of other types of display devices, such as liquid crystal displays (LCDs) and organic light-emitting diode (OLED) displays. Furthermore, EPDs have a rewrite lifespan. This rewrite lifespan is typically around 10 million times. Assuming continuous operation at 10 frames per second (FPS), this lifespan will be reached in approximately 278 hours from the start of use. Therefore, it is desirable to extend the period until the end of lifespan. [Means for solving the problem]
[0007] The present application has been made to solve the above-mentioned problems, and an information processing system according to one aspect of the present application comprises a host system and a display unit, the display unit comprising a controller and an electrophoretic display panel, the controller driving pixels arranged on the electrophoretic display panel based on a quantization value indicating a gradation for each pixel, wherein the host system identifies a dynamic region in which the display content dynamically changes for each element of a display image to be displayed on the display unit, the controller quantizes the gradation value for each pixel included in the dynamic region by one bit to calculate a quantization value, diffuses the quantization error for each pixel within the dynamic region of the element to other pixels arranged within a predetermined range from the pixel in question to update the quantization value of the other pixels, and does not diffuse the quantization error outside the dynamic region.
[0008] In the above information processing system, the host system may define a display area of a moving image included in the display image as the dynamic area.
[0009] In the above information processing system, the host system may define a display area of an image of an application that is included in the display image and that changes as the dynamic area.
[0010] In the information processing system, the host system may detect edges from the display image, and define an area surrounded by the edges, in which the display content changes dynamically, as the dynamic area.
[0011] A controller according to a second aspect of the present application is a controller that drives pixels arranged on an electrophoretic display panel based on a quantization value indicating a gradation for each pixel, and calculates a quantization value by quantizing the gradation value for each pixel included in a dynamic area for each element of a display image notified from a host system at a bit depth lower than that of pixels included in a non-dynamic area, and diffuses the quantization error for each pixel within the dynamic area of the element to other pixels arranged within a predetermined range from the pixel in question to update the quantization value of the other pixels, and does not diffuse the quantization error of the pixel outside the dynamic area.
[0012] A control method according to a third aspect of the present application is a control method for an information processing system including a host system and a display unit, the display unit including a controller and an electrophoretic display panel, and the controller driving pixels arranged on the electrophoretic display panel based on quantization values indicating gradations for each pixel, wherein the host system identifies a dynamic region in which display content dynamically changes for each element of a display image to be displayed on the display unit, the controller quantizes the gradation values for each pixel included in the dynamic region at a bit depth lower than that of pixels included in a non-dynamic region to calculate a quantization value, quantizes the gradation values for each pixel included in the dynamic region at one bit to calculate a quantization value, diffuses quantization error for each pixel within the dynamic region of the element to other pixels arranged within a predetermined range from the pixel in question to update the quantization values of the other pixels, and does not diffuse the quantization error outside the dynamic region. [Effects of the Invention]
[0013] According to the embodiment of the present application, it is possible to extend the lifespan of a display panel by reducing unnecessary rewriting of the display panel due to dithering. Furthermore, by reducing rewriting that consumes power, it is possible to reduce power consumption. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 is a schematic block diagram illustrating an example of a hardware configuration of an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 1 is a schematic block diagram illustrating an example of the functional configuration of an information processing system according to an embodiment of the present invention. [Figure 3] FIG. 2 is a diagram showing a first example of an image displayed on a display unit. [Figure 4] FIG. 10 is a diagram showing a second example of an image displayed on the display unit. [Figure 5] FIG. 10 is a diagram showing a third example of an image displayed on the display unit. [Figure 6] FIG. 10 is a diagram showing a first example of a matrix related to dithering. [Figure 7] FIG. 10 is a diagram illustrating a second example of a matrix related to dithering. [Figure 8] FIG. 10 is a diagram illustrating a third example of a matrix related to dithering. [Figure 9] FIG. 10 is a diagram illustrating a first example of diffusion of quantization error. [Figure 10] FIG. 10 is a diagram illustrating a second example of diffusion of quantization error. [Figure 11] 10 is a flowchart illustrating a driving process of the display unit according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, embodiments of the present application will be described with reference to the drawings. First, an example of the configuration of an information processing system S1 according to an embodiment of the present application will be described. Fig. 1 is a schematic block diagram showing an example of the hardware configuration of the information processing system S1 according to this embodiment.
[0016] The information processing system S1 includes a host system 10, a display unit 30, and an input device 40. The information processing system S1 may be realized as a single electronic device including the host system 10, the display unit 30, and the input device 40. Alternatively, the information processing system S1 may be configured such that the host system 10 is configured separately from one or both of the display unit 30 and the input device 40. The information processing system S1 may be realized as any type of information processing device, such as a personal computer, a tablet terminal, a mobile phone, or an e-book reader. The host system 10 acquires display data representing a display image according to various programs and outputs the acquired display data to the display unit 30. The host system 10 may monitor operation signals input from the input device 40 and operate based on the input operation signals. In this application, operating based on operation signals input from the input device 40 may be referred to as "operating in response to an operation," etc.
[0017] The display unit 30 is an EPD (Electric Paper Display) device that displays a display image based on display data input from the host system 10. An EPD device is an electrophoretic display (EPD) device that has pixels that use an electrophoretic method. A display image, or simply an image, refers to the display content that appears on the screen, i.e., the spatial changes in brightness and color. A display image includes elements such as patterns, figures, symbols, characters, or a combination of some or all of these. The display unit 30 has a screen on which pixels are arranged at regular intervals, and displays a display image based on the display data input from the host system 10 on a display medium. The display unit 30 is capable of displaying a display image according to one of several predetermined drive modes.
[0018] The bit depth of the gradation value representing the gradation of each pixel varies depending on the drive mode. Gradation corresponds to the brightness of that pixel, i.e., density or shade. Gradation values are also called pixel values or signal values. In particular, gradation values related to color display are also called color signal values. Bit depth corresponds to the number of bits used to represent the gradation value. The greater the bit depth, the wider the range of gradation values, but the range of gradations represented remains the same. In other words, the gradations corresponding to the maximum and minimum gradation values are the same regardless of the bit depth. The greater the bit depth, the smaller the difference in gradation between adjacent gradation values (also called the gradation width). With a bit depth of 1 bit, only two gradations can be represented: the first gradation corresponding to the maximum value (e.g., 1) (e.g., black in monochrome) and the first gradation corresponding to the minimum value (e.g., 0) (e.g., white). However, while a higher bit depth allows for the representation of multiple gradations, it also reduces pixel responsiveness. When pixels are driven with a bit depth greater than 2 bits, they require a refresh process every predetermined refresh period.
[0019] The input device 40 is capable of receiving user operations and generates an operation signal in response to the received operation. The input device 40 outputs the generated operation signal to the host system 10. As the input device 40, for example, a general-purpose device such as a touch sensor, a mouse, a keyboard, or a joystick may be used, or a dedicated device such as a button, a knob, or a dial may be used. The touch sensor used as the input device 40 may be integrated with the EPD panel 34 of the display unit 30 to form a touch panel.
[0020] The host system 10 according to the present embodiment identifies, for each element of a display image displayed on the display unit 30, a region in which the image constituting the display content steadily changes over time as a dynamic region. This dynamic region is also referred to as a steady-state dynamic region. Typical elements of a display image include, for example, an image (sometimes referred to herein as an "application image") acquired by executing an application program (sometimes referred to herein as an "application" or "app"), element images constituting the behavior of an OS (Operating System), and various moving images. Element images constituting the behavior of an OS include, for example, screen components such as windows and icons. Screen components are also called UI (User Interface) components. Generally, an image is expressed by a distribution of grayscale values for pixels arranged adjacently at different positions, i.e., a grayscale distribution. Image fluctuations are expressed by changes in the grayscale distribution between frames. The host system 10 notifies the display unit 30 of the display image, its elements, and the dynamic region in which the display content of each element dynamically changes.
[0021] The display unit 30 quantizes the grayscale values in the dynamic region notified by the host system 10 with one bit, and quantizes the grayscale values in the non-dynamic region other than the dynamic region with a bit depth of two bits or more. The display unit 30 displays an image with a grayscale corresponding to the quantized value obtained by quantizing each pixel. However, when quantizing the grayscale values with one bit, the display unit 30 performs a dithering process for each display pixel element. Here, the display unit 30 diffuses the quantization error for each pixel within the dynamic region of that element to other unprocessed pixels located within a predetermined range from that pixel. The display unit 30 updates the quantization values of the other pixels to which the quantization error is diffused. However, the display unit 30 does not diffuse the quantization error to other pixels located outside the dynamic region of that element. Therefore, the quantization error does not propagate outside the dynamic region, and therefore no rewriting occurs due to the update of the quantization value.
[0022] Next, an example of the hardware configuration of the information processing system S1 will be described. The host system 10 includes a processor 12, a main memory 14, a chipset 20, and an auxiliary storage medium 22. The host system 10 controls the overall functions of the information processing system S1.
[0023] The processor 12 controls the overall functions of the device including the host system 10. For example, one or more CPUs (Central Processing Units) are used as the processor 12. The processor 12 executes predetermined programs and cooperates with the main memory 14, the chipset 20, the auxiliary storage medium 22, and some or all of the other hardware to perform the functions of the host system 10. In this application, the processor 12 or other hardware executing the processing instructed by the instructions written in the program may be referred to as "executing the program" or "running the program."
[0024] The main memory 14 is a writable memory used as a working area for the processor 12, i.e., an area for reading programs to be executed and various setting data, and an area for writing processing data acquired by executing the programs. The main memory 14 is configured to include, for example, a plurality of DRAM (Dynamic Random Access Memory) chips. The programs that are executed include an OS (Operating System), various device drivers for controlling peripheral devices, various services / utilities, application programs (sometimes referred to as "apps" in this application), and the like. The processor 12 and main memory 14 function as the minimum system devices that make up the host system 10. The host system 10 is configured to include system devices as hardware, and software such as an OS, schedule tasks, and the like.
[0025] The chipset 20 includes one or more controllers and can be connected to other devices, including the display unit 30, to input and output various types of data. The chipset 20 is also called a PCH (Platform Controller Hub). The chipset 20 includes one or a combination of bus controllers, such as a Universal Serial Bus (USB), an Advanced Technology Attachment (Serial ATA), a Serial Peripheral Interface (SPI) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express bus, and a Low Pin Count (LPC).
[0026] The auxiliary storage medium 22 stores various programs and data. The various programs include, for example, firmware, device drivers, services / utilities, and applications. These programs are executed by the processor 12. The stored data includes data to be processed by the processor 12 and data generated or input by the processing. The auxiliary storage medium 22 includes a nonvolatile memory such as a flash memory. The auxiliary storage medium 22 may be, for example, an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
[0027] The display unit 30 includes a timing controller 32 and an EPD panel 34 . Display data is input from the host system 10 to a timing controller (T-CON) 32 in accordance with an input / output method defined by a predetermined input / output standard. The input / output method may be, for example, a method defined by the DP (Display) standard or the MIPI (Mobile Industry Processor Interface) standard. The timing controller 32 quantizes the grayscale values for each pixel indicated by the input display data at a bit depth corresponding to the drive mode and converts them into quantized values. The timing controller 32 generates drive signals indicating the grayscale for each pixel in accordance with the display timing of the EPD panel 34 to display each pixel at a grayscale corresponding to the converted quantized value. The timing controller 32 outputs the generated drive signals to the EPD panel 34. Depending on the drive mode, the timing controller 32 performs a refresh process at a predetermined refresh rate and sets the grayscale value to a predetermined reference value (e.g., a minimum value). The timing controller 32 may be equipped with an arithmetic circuit, such as an ASIC (Application Specific Integrated Circuit) or an FGPA (Field Programmable Gate Array), and may execute a rewritable program to realize its functions, or may be realized by dedicated hardware.
[0028] The EPD (Electric Phoretic Display) panel 34 has a substrate, a plurality of pixels, and a drive circuit. The drive circuit applies a voltage corresponding to the specified gradation to the pixel corresponding to the timing specified by the drive signal input from the timing controller 32. The drive circuit includes, for example, a TTL (Transistor-Transistor Logic) circuit. A plurality of pixels are periodically arranged two-dimensionally on the surface of the substrate. Each pixel expresses a gradation corresponding to the voltage applied from the drive circuit. Each pixel has a pair of electrodes that hold a solution between them. Charged particles made of pigment float in the solution. The charged particles move toward the electrode of the opposite polarity to themselves in response to the applied voltage. This movement brings about a change in gradation.
[0029] Next, an example of the functional configuration of the information processing system S1 will be described. Fig. 2 is a schematic block diagram showing an example of the functional configuration of the information processing system S1 according to this embodiment. The host system 10 includes an OS processing unit 102, an application execution unit 104, a mode setting unit 106, and a graphics processing unit 108.
[0030] The OS processing unit 102 executes an OS (Operating System) to provide its functions. In this application, execution of an OS or other program means executing processes instructed by various commands written in the program. Functions of the OS include management of resources used for arithmetic processing and data storage, and provision of a standard interface for applications and users. The OS processing unit 102 executes, for example, application startup, monitoring of the execution status of applications after startup, setting a display area for application images, priority control for components of a displayed image, cursor display, etc.
[0031] The OS processing unit 102 starts an application instructed by an operation signal in response to an operation, and starts its execution. The OS processing unit 102 may start the execution of an application whose usage environment satisfies predetermined start conditions. The start conditions may be, for example, that the current time reaches a predetermined start time (start timer). The OS processing unit 102 manages the execution state of the application and executes processing on a window (sometimes referred to as an "application window" in this application) that contains an application image.
[0032] In response to an operation, the OS processing unit 102 performs operations such as specifying an application window to be focused on as a display target, changing the size or position of the application window on the display image, erasing it, or redisplaying it. The OS processing unit 102 prioritizes display of application images that were started to be displayed last or operated on last among multiple application images. When a certain application image is prioritized for display, the OS processing unit 102 displays the contents of the shared area of the certain application image in a shared area shared with other application images, and discards the contents of the shared area of the other application images without displaying them.
[0033] The OS processing unit 102 executes various screen displays as processing instructed by the OS. Various screen components are used in the screen displays. For example, the OS processing unit 102 displays a cursor at a position on a display image instructed in response to an operation. When a position within an application image area is instructed in response to an operation, the OS processing unit 102 executes a function of the application corresponding to that position (e.g., pressing a button to turn on or off a specific function). When a position outside the application image area is instructed in response to an operation, the OS processing unit 102 realizes a function of other OS-specific or OS-related software corresponding to that position (e.g., moving a data file by a drag operation). The OS processing unit 102 creates a display image to be displayed on the display unit 30 by superimposing, at a predetermined priority, element images provided by OS-specific or OS-related functions and the image of the application currently being executed.
[0034] The application execution unit 104 executes an application whose launch is instructed by the OS processing unit 102. When processing an application, the application execution unit 104 constructs a display image to be displayed as a function of the application. For example, in a video playback application, a display image representing the video whose playback is instructed is constructed. The constructed display image is accommodated in an application window assigned to the application.
[0035] The mode setting unit 106 identifies dynamic regions for each element of the display image to be displayed on the display unit 30 and distinguishes them from non-dynamic regions, which are other regions. The mode setting unit 106 monitors the grayscale distribution in the display image for each frame at different times, or the occurrence of information that may be a factor in its fluctuation. The mode setting unit 106 generates a drive command including setting information indicating the portion of the display image occupied by the dynamic region for each element. The mode setting unit 106 outputs the generated drive command to the display unit 30. As a result, the image is displayed for the dynamic regions using a drive mode different from that for the non-dynamic regions. An example of a method for determining dynamic regions will be described later.
[0036] The graphics processing unit 108 recognizes the display unit 30 connected to the host system 10. The graphics processing unit 108 generates display data that indicates a display image configured by the OS processing unit 102 for each frame. One frame of the display image is expressed by a gradation value for each pixel. The gradation value has a bit depth of, for example, 8 to 10 bits. The graphics processing unit 108 outputs the generated display image to the display unit 30, and displays the display image. The functions of the graphics processing unit 108 may be realized by executing a graphics driver included with the OS, or by executing a device driver dedicated to the display unit 30.
[0037] Next, an example of the functional configuration of the timing controller 32 will be described. The timing controller 32 includes a quantization unit 322 , a dithering unit 324 , and a drive signal generation unit 326 .
[0038] The quantization unit 322 has a frame buffer (not shown). The frame buffer temporarily stores display data input from the host system 10, and every time new display data is input, the stored display data is updated with the new display data. The quantization unit 322 extracts setting information from the drive command input from the host system 10, identifies a dynamic region for each element indicated in the extracted setting information, and identifies regions other than the dynamic regions as non-dynamic regions. The quantization unit 322 sets the 1-bit mode as the drive mode for the dynamic regions. The 1-bit mode is a mode in which pixels are driven using quantized values obtained by quantizing gradation values to 1 bit. The quantization unit 322 sets a drive mode with a bit depth of 2 bits or more (for example, 4 bits) for the non-dynamic regions.
[0039] The quantization unit 322 reads out the grayscale values of each pixel located in the dynamic region and the non-dynamic region from the frame buffer at a predetermined read cycle. The read cycle may be set to be shorter as the bit depth becomes smaller. The quantization unit 322 quantizes the gradation value of each pixel using the bit depth set for the region to which the pixel belongs, and converts it into a quantized value. The quantization unit 322 notifies the dithering unit 324 of the quantization value for each pixel belonging to an area with a bit depth of 1 bit (hereinafter referred to as a "1-bit area"), along with the gradation value before conversion and setting information indicating the elements of the display image related to that area.
[0040] For regions with a bit depth of 2 bits or more, the quantizer 322 notifies the drive signal generator 326 of the quantized value for each pixel in that region. This is because dithering is not performed for that region. However, the quantizer 322 performs a refresh process for the pixels in that region at predetermined refresh cycles. The refresh cycle may be set to be longer for drive modes with higher bit depths. In the refresh process, the quantizer 322 sets the quantized value for each pixel to a predetermined reference value (e.g., a quantized value corresponding to the maximum or minimum gradation), and then returns the quantized value to the original value. Each time the quantized value is changed, the quantizer 322 notifies the drive signal generator 326 of the changed quantized value.
[0041] The dithering unit 324 performs dithering in the 1-bit region set by the quantization unit 322, and spatially distributes the quantization error that occurs when the display data is quantized. The dithering unit 324 specifies a 1-bit region for each element of the display image based on the setting information notified by the quantization unit 322. For each pixel in the 1-bit region for each element of the display image, the dithering unit 324 calculates the difference between the pre-quantization grayscale value and the quantized value as the quantization error, and distributes the calculated quantization error to surrounding unprocessed pixels.
[0042] When distributing the quantization error, a matrix operation is repeatedly performed using a dispersion matrix, in which each row and column has a coefficient corresponding to each pixel as a matrix element. According to the matrix operation, the quantization error of the target pixel to be calculated is assigned to the unprocessed pixel to which the error is distributed according to the coefficients determined in the dispersion matrix, and added to the gradation value. Because the target pixel is changed to an unprocessed adjacent pixel each time a matrix operation is performed, the gradation value before quantization of the unprocessed pixel and the quantized value obtained by quantizing that gradation value are not determined until the unprocessed pixel itself becomes the target pixel.
[0043] In this embodiment, if the other pixels to which the quantization error is to be distributed in the matrix operation are outside the dynamic range of the display image element to which the target pixel belongs, the dithering unit 324 does not distribute the quantization error to those other pixels. The dithering unit 324 uses the quantization value finally obtained for each pixel within the 1-bit range and updates the original quantization value to the newly adopted quantization value. The dithering unit 324 notifies the drive signal generation unit 326 of the quantization value of each pixel, including the updated quantization value. In this way, the dithering unit 324 distributes the quantization error for each 1-bit range included in a series of spatially connected display image elements, and the quantization error does not propagate outside the range of that range.
[0044] The drive signal generation unit 326 generates a drive signal having a voltage corresponding to the quantized value of each pixel notified by the quantization unit 322 or the dithering unit 324. The drive signal generation unit 326 outputs a drive signal having a voltage set for each pixel at a different timing for each pixel in a frame period to the EPD panel 34. The voltage set for each pixel is applied to the EPD panel 34, and the pixel is displayed at a grayscale corresponding to the applied voltage.
[0045] Next, an example of an image displayed on the display unit 30 will be described. FIG. 3 illustrates an example of an original image with a bit depth of 8 bits for the gradation values. FIG. 4 illustrates an example of a quantized image obtained by quantizing the original image of FIG. 3 to 1 bit. FIG. 5 illustrates an example of a processed image obtained by dithering the original image of FIG. 3 to a bit depth of 1 bit. The quantized image illustrated in FIG. 4 is expressed by simply quantizing the gradation values to 1 bit. Pixels in the original image whose gradation values are equal to or greater than the intermediate value between the maximum and minimum values (e.g., 128 for an 8-bit gradation value) have the maximum gradation and are represented as black. Pixels in the original image whose gradation is less than a predetermined intermediate value have the minimum gradation and are represented as white. Therefore, the quantized image illustrated in FIG. 4 loses the gradation's gradational spatial variation in the original image, and the facial expressions of people depicted in the original image are not fully expressed. In contrast, the processed image illustrated in FIG. 5 is expressed by quantizing the gradation values to 1 bit after dithering the quantization error to diffuse. With dithering, the density of pixels with maximum gradation is higher in areas with higher gradation values, and the density of pixels with minimum gradation is lower in areas with lower gradation values.The gradation distribution of the entire image is expressed by the spatial distribution of the density of pixels with either maximum or minimum gradation values, so a person's facial expression is expressed.
[0046] Next, matrix operations related to dithering will be described. As described above, matrix operations distribute quantization errors occurring in a target pixel to be processed to other unprocessed pixels surrounding the target pixel. In this embodiment, any of methods such as the Floyd-Steinberg method, the Atkinson method, or the minimum mean error method may be employed. The Floyd-Steinberg method is a method that uses the Floyd-Steinberg matrix exemplified in FIG. 6. The Atkinson method is a method that uses the Atkinson matrix exemplified in FIG. 7. The minimum mean error method is a method that uses the matrix exemplified in FIG. 8. Either of these matrices is used to distribute quantization errors occurring in a target pixel to other unprocessed pixels adjacent to the target pixel.
[0047] For example, in FIG. 6, the * symbol indicates the target pixel. The element values of the elements adjacent to the target pixel to the lower left, directly below, lower right, and right indicate coefficients by which the quantization error is multiplied when distributing the quantization error to the corresponding adjacent pixels. Although not shown, the matrix element to the left of the target pixel is set to zero. This indicates that no quantized pixel will be distributed to the pixel to the left of the target pixel. This pixel to the left becomes a processed pixel.
[0048] For example, when applying a Floyd-Steinberg matrix to the quantization error of a target pixel, the dithering unit 324 calculates variance values by multiplying the unprocessed neighboring pixels diagonally downward to the left, directly below, diagonally downward to the right, and to the right of the target pixel by 3 / 16, 5 / 16, 1 / 16, and 7 / 16, respectively.The dithering unit 324 then updates the gradation value of each neighboring pixel by adding the calculated variance value.The updated gradation value is quantized when the neighboring pixel becomes the target pixel.
[0049] In dithering, the target pixel serving as the starting point is set to the leftmost column of the top row of the dynamic region. The dithering unit 324 sequentially changes the target pixel to the pixel immediately to the right. If there is no unprocessed pixel to the right in the dynamic region, the dithering unit 324 changes the target pixel to the pixel in the leftmost column of the row immediately below. In this manner, the dithering unit 324 changes the target pixel row by row from the left end to the right end, and then changes it to the left end of the row immediately below. If there is no unprocessed pixel in the row immediately below, the dithering unit 324 determines that there is no unprocessed pixel and terminates processing for that dynamic region. Therefore, the quantization error propagates while being updated as the target pixel moves. Then, the quantization value of the pixel to which the quantization error is distributed is changed. Therefore, if no restrictions are placed on the pixels to which the quantization error is distributed, as illustrated in Figure 9, the range sa affected by the quantization error generated in the target pixel ps extends to the entire area from the diagonally below the target pixel ps to the bottom right.
[0050] However, in this embodiment, the pixels to which the quantization error is distributed are limited to pixels within a 1-bit region associated with the same display image element. Furthermore, a series of dithering processes is performed for each 1-bit region of each element. Therefore, the quantization error resulting from dithering is confined to each individual 1-bit region. In the example of FIG. 10, the ranges sa1 and sa2 affected by the quantization error, with target pixels ps1 and ps2, respectively, are included within the dynamic regions da1 and da2. For example, the influence of the quantization error in the dynamic region da1 does not extend beyond the dynamic region da1, so changes to the quantization value in the dynamic region da1 do not occur outside that range. Therefore, limiting the region where rewriting occurs suppresses pixel degradation and increased power consumption due to repeated rewriting. Furthermore, the distribution of the quantization error is spatially discontinuous at the boundaries between the dynamic regions da1 and da2. However, the dynamic regions da1 and da2 represent different images from their surroundings. This means that the gradation is discontinuous at each boundary. Therefore, even if the quantization error becomes discontinuous at the boundaries between the dynamic areas da1 and da2, the subjective image quality does not deteriorate.
[0051] Next, we will explain a specific example of a method for defining a dynamic region where the display content changes dynamically and constantly for each element of a display image. Elements of a display image that provide a dynamic region include, for example, a moving image, an application window that contains an application image, and an image region surrounded by an edge that forms part of the display screen. The mode setting unit 106 can identify the display area of a moving image that is an element of a display image, for example, by performing the following procedure. An application list indicating predetermined applications is set in the mode setting unit 106 in advance. An application indicating a function for displaying moving images is set as the predetermined application. The mode setting unit 106 monitors the execution status of applications notified by the OS processing unit 102 and identifies the application that is currently running. The mode setting unit 106 references the application list and determines whether the identified application that is currently running corresponds to the predetermined application. The mode setting unit 106 identifies the display area of an image related to an application that is determined to correspond to the predetermined application from the execution status being monitored. The mode setting unit 106 determines the display area of the identified application as a dynamic area.
[0052] The mode setting unit 106 can identify the display area of a transitioning application window by performing the following procedure. The mode setting unit 106 monitors the execution status of applications notified by the OS processing unit 102 at predetermined observation intervals and identifies the display area of each application currently being executed. The mode setting unit 106 detects, among the identified display areas of the applications, any display area whose shape, size, or position has changed from the previous observation interval up to the most recent observation interval. If the display area is represented by a rectangular application window, it can be identified by the coordinates of one vertex of the display area and the other vertex facing that vertex. These coordinates may be specified by an operation signal input from the input device 40 in response to an operation. Therefore, the mode setting unit 106 can determine whether a transition has occurred in the application window based on whether one or both of the two opposing vertices have changed. The mode setting unit 106 determines the display area of the application window in which a transition has occurred as a dynamic area.
[0053] The mode setting unit 106 can identify an image region surrounded by an edge by performing the following procedure. The mode setting unit 106 detects edges by performing a known edge detection process on the displayed image. An edge is a region where the spatial change in gradation is significantly greater than that of its surrounding regions, and is a series of spatially adjacent regions configured so that the length is greater than the width. The mode setting unit 106 identifies a closed region surrounded by the detected edges in the displayed image as a candidate region that is a candidate for an image region. One or more candidate regions may be detected in one frame of the displayed image. When detecting one candidate region, the mode setting unit 106 identifies the detected candidate region as an image region. When detecting multiple candidate regions, the mode setting unit 106 identifies an independent candidate region that does not contain other candidate regions as a single image region. For a group of multiple candidate regions that have an inclusion relationship, the mode setting unit 106 identifies the largest candidate region that contains all of the other candidate regions as a single image region, and discards all of the other candidate regions.
[0054] The mode setting unit 106 then determines whether each detected image region corresponds to a dynamic region based on the presence or absence of dynamic characteristics in the gradation distribution in that region. The mode setting unit 106, for example, determines an image region in which fluctuations in gradation distribution occur at a frequency equal to or greater than a certain frequency within a predetermined period up to that point in time as a dynamic region. For example, if the gradation distribution in an image region determined to be a dynamic region has not fluctuated within the predetermined period up to that point in time, the mode setting unit 106 determines that image region as a non-dynamic region.
[0055] Next, an example of the drive process of the display unit 30 according to this embodiment will be described. Fig. 11 is a diagram illustrating the drive process of the display unit 30 according to this embodiment. (Step S102) The mode setting unit 106 of the host system 10 specifies a dynamic area for each element of the display image to be displayed on the display unit 30. (Step S104) The mode setting unit 106 notifies the timing controller 32 of the display unit 30 of setting information indicating the dynamic area for each identified element.
[0056] (Step S106) The quantization unit 322 of the timing controller 32 identifies the dynamic region for each element indicated in the setting information notified from the host system 10. The quantization unit 322 determines the drive mode for the identified dynamic region to be 1-bit mode, and determines the drive mode for the other region, that is, the non-dynamic region, to be a drive mode with a larger bit depth (for example, 4-bit mode). (Step S108) The quantization unit 322 quantizes the gradation values at the bit depth of the drive mode determined for each pixel, and notifies the drive signal generation unit 326 of the quantized values obtained by quantization. The dithering unit 324 diffuses the quantization error obtained by quantizing each target pixel at one bit in the dynamic region of each element to other unprocessed pixels within the dynamic region, but does not diffuse it outside the dynamic region. The dithering unit 324 notifies the drive signal generation unit 326 of the quantized value updated by diffusing the quantization error. (Step S110) The drive signal generation unit 326 drives the pixels arranged on the EPD panel 34 with a voltage corresponding to the notified quantization value for each pixel, causing the pixels to display at the gradation corresponding to the quantization value. Then, the process of FIG. 11 ends.
[0057] As described above, the information processing system S1 according to this embodiment includes a host system 10 and a display unit 30. The display unit 30 includes a controller (e.g., a timing controller 32) and an electrophoretic display panel (e.g., an EPD panel 34). The controller drives pixels arranged on the electrophoretic display panel based on a quantization value indicating the grayscale for each pixel. For each element of a display image to be displayed on the display unit 30, the host system 10 identifies a dynamic region where the display content changes dynamically. The controller quantizes the grayscale value for each pixel included in the identified dynamic region by one bit to calculate a quantization value. The controller diffuses the quantization error for each pixel within the dynamic region of the display image element to other pixels arranged within a predetermined range from the pixel in question to update the quantization value of the other pixels, and does not diffuse the quantization error outside the dynamic region. With this configuration, the diffusion of quantization error is limited to unprocessed pixels within the dynamic range of each element, and is not diffused outside the dynamic range. Because the update of the quantization value due to the diffusion of quantization error is limited to within the dynamic range, the frequency of rewriting can be reduced. Therefore, by reducing rewriting, the period until the end of life can be extended. Furthermore, power consumption caused by rewriting can be suppressed, thereby reducing power consumption.
[0058] This embodiment may also be implemented as follows. The host system 10 may define a display area of a moving image included in the display image as a dynamic area that is an element of the display image. The host system 10 may define a display area of an image of an application that is included in the display image and that is changing as a dynamic area that is an element of the display image. The host system 10 may detect edges from the display image, and define an area surrounded by the detected edges and in which the display content changes dynamically as a dynamic area that is an element of the display image.
[0059] A controller (e.g., timing controller 32) that drives pixels arranged on an electrophoretic display panel (e.g., EPD panel 34) based on a quantization value indicating a gradation for each pixel, quantizes the gradation value for each pixel included in a dynamic area for each element of a display image notified from a host system 10 at a bit depth lower than that of pixels included in a non-dynamic area to calculate a quantization value, diffuses the quantization error for each pixel within the dynamic area of the element to other pixels arranged within a predetermined range from the pixel, updates the quantization value of the other pixels, and does not diffuse the quantization error of the pixel outside the dynamic area.
[0060] A control method for an information processing system S1 including a host system 10 and a display unit 30, wherein the display unit includes a controller (e.g., a timing controller 32) and an electrophoretic display panel (e.g., an EPD panel 34), and the controller drives pixels arranged on the electrophoretic display panel based on a quantization value indicating a gray level for each pixel. The host system 10 identifies a dynamic region where the display content dynamically changes for each element of a display image to be displayed on the display unit 30, and the controller quantizes the gray level value for each pixel included in the identified dynamic region at a bit depth lower than that of pixels included in a non-dynamic region to calculate a quantization value, quantizes the gray level value for each pixel included in the dynamic region at one bit to calculate a quantization value, diffuses a quantization error for each pixel within the dynamic region of the element to other pixels arranged within a predetermined range from the pixel in question to update the quantization value of the other pixels, and does not diffuse the quantization error outside the dynamic region.
[0061] Although the embodiments of the present invention have been described above in detail with reference to the drawings, the specific configurations are not limited to the above-described embodiments, and the present invention also includes designs that do not deviate from the gist of the present invention. The configurations described in the above-described embodiments can be combined in any manner. [Explanation of symbols]
[0062] S1...information processing system, 10...host system, 12...processor, 14...main memory, 20...chipset, 22...auxiliary storage medium, 30...display unit, 32...timing controller, 34...EPD panel, 40...input device, 102...OS processing unit, 104...application execution unit, 106...mode setting unit, 108...graphics processing unit, 322...quantization unit, 324...dithering unit, 326...drive signal generation unit
Claims
1. Equipped with a host system and a display unit, The display unit comprises: A controller and an electrophoretic display panel are provided. The controller: driving pixels arranged on the electrophoretic display panel based on a quantized value indicating a gray level for each pixel; An information processing system, The host system specifying a dynamic area in which the display content dynamically changes for each element of the display image to be displayed on the display unit; The controller quantizing the gradation value of each pixel included in the dynamic region by 1 bit to calculate a quantized value; diffusing the quantization error for each pixel within the dynamic region of the element to other pixels located within a predetermined range from the pixel in question to update the quantization values of the other pixels; not diffusing the quantization error outside the dynamic region; Information processing system.
2. The host system A display area of a moving image included in the display image is defined as the dynamic area. The information processing system according to claim 1 .
3. The host system The display area of the image of the application that is included in the display image and changes is defined as the dynamic area. The information processing system according to claim 1 .
4. The host system Detecting edges from the displayed image; The area surrounded by the edge and in which the display content changes dynamically is defined as the dynamic area. The information processing system according to claim 1 .
5. A controller for driving pixels arranged on an electrophoretic display panel based on a quantized value indicating a gray level for each pixel, comprising: quantizing the grayscale value of each pixel included in the dynamic area of each element of the display image notified from the host system at a bit depth lower than that of the pixels included in the non-dynamic area to calculate a quantized value; diffusing the quantization error for each pixel within the dynamic region of the element to other pixels located within a predetermined range from the pixel in question to update the quantization values of the other pixels; not diffusing the quantization error of the pixel outside the dynamic region; controller.
6. Equipped with a host system and a display unit, The display unit comprises: A controller and an electrophoretic display panel are provided. The controller: driving pixels arranged on the electrophoretic display panel based on a quantized value indicating a gray level for each pixel; A control method in an information processing system, comprising: The host system specifying a dynamic area in which the display content dynamically changes for each element of the display image to be displayed on the display unit; The controller quantizing the gradation value of each pixel included in the dynamic region at a bit depth lower than that of pixels included in the non-dynamic region to calculate a quantized value; quantizing the gradation value of each pixel included in the dynamic region by 1 bit to calculate a quantized value; diffusing the quantization error for each pixel within the dynamic region of the element to other pixels located within a predetermined range from the pixel in question to update the quantization values of the other pixels; not diffusing the quantization error outside the dynamic region; Control method.
Citation Information
Patent Citations
Liquid crystal display device
JP2000284755A
Image processing system, display control method of the same, program and information storage medium
JP2013205731A
Integrated circuit, display device, electronic device, and display control method
JP2015057637A
Controller, display device, control method and program
JP2015064421A
Display device, display method, and program
JP2015152608A