Image dithering for electronic ink devices
The method for dithering source image data on e-ink displays addresses the limited color space issue by redistributing color error vectors, ensuring accurate and visually appealing color representation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2026-03-26
AI Technical Summary
E-ink display devices have a limited color space, leading to incorrect color rendering, missing colors, and poor representation of images with gradients and shades, which can confuse customers and misrepresent products, especially in retail environments.
A method for dithering source image data involves processing each pixel, identifying current source and target colors, calculating color error vectors, and redistributing error components to adjacent pixels based on predefined criteria using dithering matrices, ensuring accurate color representation on e-ink displays.
The method enhances color accuracy and smooth gradients on e-ink displays, preventing color mismatches and artifacts, improving visual appeal and customer experience.
Smart Images

Figure EP2024076691_26032026_PF_FP_ABST
Abstract
Description
[0001] Applicant: VusionGroup GmbH
[0002] Title: Image dithering for electronic ink devices
[0003] Our ref.: VSG31358PCT
[0004] Date: September 23, 2024
[0005] Image dithering for electronic ink devices
[0006] Technical Field
[0007] The invention relates to a method for dithering source image data and a display device for the representation of dithered image data.
[0008] Technological Background
[0009] Electronic-ink or e-ink display devices are used in many everyday situations, such as supermarkets, where the e-ink display devices are used to advertise products, display product information, e.g., product prizes, or to indicate the location of different product categories to the end customer.
[0010] However, e-ink display devices have a limited color space that can lead to an incorrect color rendering, which may affect customer experience. For example, if colors displayed on an e-ink display device are incorrect, the product's appearance or other product information may be misrepresented. This is particularly problematic for items where color is a critical factor, like clothing, home decor, or cosmetics. Also, sales, discounts, or special offers highlighted in specific colors might not be properly communicated if the display colors are inaccurate, leading to confusion or missed opportunities for both customers and retailers. Furthermore, trademarks and logos may be misrepresented, which may confuse customers.
[0011] One particular problem is that due to the limited color space of e-ink display devices, an image shown may have missing colors, color gradients and / or color shades.
[0012] Summary of the invention
[0013] It is an object of the present invention to provide an improved method for dithering source image data.
[0014] Therefore, a method for dithering source image data from a source color space for the representation on an e-ink display device in a target color space is suggested. Applicant: VusionGroup GmbH
[0015] Title: Image dithering for electronic ink devices
[0016] Our ref.: VSG31358PCT
[0017] Date: September 23, 2024
[0018] The source image data comprise a pixel matrix, each pixel of the pixel matrix having a source color vector in the source color space, wherein the source color vectors have one or more source color vector components, wherein each source color vector component corresponds to one dimension of the source color space.
[0019] The method comprises processing each pixel of the pixel matrix, and for every pixel of the pixel matrix: identifying a current source color vector in the source color space; determining a current target color of the target color space based on a current source color defined by the current source color vector in the source color space and determining a current target color vector representing the current target color; calculating a current color error vector, wherein the current color error vector indicates the difference between the current source color vector and the current target color vector; if the current color error vector fulfills a predefined criterion, redistributing the current color error vector to at least one source color vector of at least one unprocessed pixel of the pixel matrix in the source color space; if the current color error vector does not fulfill the predefined criterion, redistributing at least one component of the current color error vector component to at least one component of the current source color vector of at least one unprocessed pixel of the pixel matrix in the source color space; wherein the at least one component of the current color error vector and the at least one component of the source color vector of the at least one unprocessed pixel correspond to different dimensions of the source color space.
[0020] E-ink display devices may refer to display devices that are able to display colors or gray scales by using for example microcapsules filled with charged pigment particles suspended in a clear fluid. These particles may be manipulated by applying an electric field, causing them to move to the surface or retreat into the background, thereby creating visible images or text. The display device may retain the image without additional power, making it energy-efficient in comparison to liquid crystal displays (LCD). The technology of e-ink display devices may be ideal for applications requiring low power consumption and good readability in various lighting conditions, such as electronic shelf labels (ESL) in retail environments. An ESL may be placed next to a product and display product information, e.g., a product prize, name or other information related to the product.
[0021] However, before displaying a source image on the e-ink display device, various preprocessing steps might be necessary due to the specific properties of the e-ink display device. For example, e- ink display devices may have a limited color palette. To present colored information on the e-ink device, the image data may first be preprocessed by a dithering step. Dithering helps to simulate a wider range of colors and gradients by strategically placing pixels of different colors next to each Applicant: VusionGroup GmbH
[0022] Title: Image dithering for electronic ink devices
[0023] Our ref.: VSG31358PCT
[0024] Date: September 23, 2024 other. This creates the illusion of intermediate shades and smoother transitions, which would usually not be possible due to the limited color palette. Without dithering, images might appear blocky, with harsh edges and less detail, making them less visually appealing and harder to interpret.
[0025] The source image data comprises a pixel matrix. The pixel matrix may refer to a one-dimensional pixel matrix or a two-dimensional pixel matrix. For example, a two-dimensional pixel matrix has a height and a width, for example of 100x50 pixels. Each pixel of the source image data may be associated with a source color vector, where the source color vector determines the color of the pixel in the source color space.
[0026] The source color space is spanned by the source color vectors and contains all possible colors that can be represented. Each source color vector has one or more source color vector components, wherein each component of the source color vector corresponds to one dimension of the source color space. For example, the source color space may only include grey scales. In this case, each source color vector may only have a single component that indicates the brightness-dimension, wherein the value of the component indicates the brightness. For example, the source color space may be a RGB color space. Then, each source color vector may have three dimensions, wherein the first dimension indicates the red dimension, the second dimension indicates the green dimension, and the third dimension indicates the blue dimension.
[0027] The method according to the invention processes each pixel of the pixel matrix. In other words, the method is applied in a loop over every pixel of the pixel matrix. This may refer to a loop in which the pixels are processed one after another. The end of the loop may be reached if all pixels are processed once. However, in some cases, it may be beneficial to loop multiple times over the set of pixels of the pixel matrix.
[0028] The processing of the pixels may involve a predefined scan order over the pixel matrix in which the pixels are processed. For example, the pixels of a row of the pixel matrix may be processed from left to right or right to left and then move to the next row. It is also possible that the pixels of a column of the pixel matrix may be processed from top to bottom or bottom to top and then move to the next column. It is also possible that the pixels of a row of the pixel matrix may be processed from left to right, and in the next row processed from right to left. It is also possible that the pixels of a column of the pixel matrix may be processed from top to bottom, and from bottom to top in the next column. It is also possible that the pixels are processed along the diagonal of the pixel array or along a certain tilted angle. Applicant: VusionGroup GmbH
[0029] Title: Image dithering for electronic ink devices
[0030] Our ref.: VSG31358PCT
[0031] Date: September 23, 2024
[0032] The pixels to which the method has been applied to may be referred to as processed pixels, whereas the pixels to which the method has not been applied to may be referred to as unprocessed pixels. The pixel to which the steps of the method are currently applied to is referred to as the current pixel. When a source color vector of an unprocessed pixel is amended by redistributing at least one component of the current color error vector, during processing of a current pixel, said unprocessed pixel remains an unprocessed pixel. Thus, only when the method selects a pixel as current pixel, the pixel becomes a processed pixel.
[0033] The loop that processes every pixel of the pixel matrix generates a set of processed pixels. The set of processed pixels after the loop has processed all pixels is called dithered image data.
[0034] The step of identification of the current source color vector may refer to the process of examining a specific color, i.e. the current source color of a pixel, as it is represented in the source color space. Identifying may refer to assessing or evaluating the properties of the current source color vector, such as its brightness, saturation, hue, or how it relates to other colors within the same source color space. Identifying may also refer to determining or reading the source color vector directly and / or determining or reading individual values then forming the source color vector.
[0035] The step of determining a current target color in the target color space based on a current source color defined by the current source color vector in the source color space and a current target color vector representing the current target color may be understood as follows. The current source color may be a color which is not existent in the target color space. Therefore, the current target color in the target color space may be a color which is similar to current source color in the source color space but not identical. In particular, a similar color may be a is close to the source color in the source color space or in another color space, e.g. an intermediate color space, as explained further below. In case, the current target exists in the source color space, a current target color vector can be defined in the source color space.
[0036] For example, the source color is yellow, and the source color space contains red, green blue and yellow. For example, the target color space only contains red and green. Then, the target color may be green, as it might be the closest color to the source color yellow. As, green also exists in the source color space, the target color vector in the source color space represents green.
[0037] The step of determining the current target color vector may also refer to a vector transformation between the source color space and the target color space using transformation matrices. Applicant: VusionGroup GmbH
[0038] Title: Image dithering for electronic ink devices
[0039] Our ref.: VSG31358PCT
[0040] Date: September 23, 2024
[0041] For example, the current source color vector represents a current color in the source color space, which could be RGB, CMYK, CIELAB, or another color space. This current source color vector may be defined by its components, such as [R, G, B] in RGB color space. In an RGB color space the value of each color component may have a value in the range of 0 to 255.
[0042] If the target color exits in the source color space, the target color can directly be transformed to the source color space. For example, one could directly transform from the e-ink target color red to the RGB source color space, as the RGB can represent the color red.
[0043] An intermediate color space, such as CIELAB orXYZ, may be used, when the target color cannot be represented in the source color space. Using an intermediate color space typically involves mathematical transformations, such as matrix multiplications or non-linear functions, to map the source color vector and the target color vector to the intermediate color space. In the intermediate color space, the target color providing the closest representation of the source color may be determined.
[0044] An intermediate color space may also be used, to take into account that different color vectors in the source color space may refer to colors that cannot be distinguished by the human eye. For example, this may apply, if respective color vectors refer to the same color in the CIELAB space. Thus, in some cases, using an intermediate color space may provide a more accurate color error vector, which may improve the visual quality of the dithered image data.
[0045] In other words, the target color vector may represent the target color in the source color space and / or in an intermediate color space.
[0046] The current target color of the target color space may be chosen based on the Euclidian distance between the current source color vector and the current target color vector in the source color space and / or in the intermediate color space. This may refer to a way of measuring how similar or different two colors are, by treating each color as a point in a color space and calculating the straight-line (Euclidean) distance between these two points. The Euclidean distance between the current source color vector and the current target color vector is a numerical value that quantifies the difference between them. The smaller the distance, the more similar the colors may be, and vice versa.
[0047] The step of calculating the of current color error vector between the current source color vector and the current target color vector may refer to the process of determining the difference between the Applicant: VusionGroup GmbH
[0048] Title: Image dithering for electronic ink devices
[0049] Our ref.: VSG31358PCT
[0050] Date: September 23, 2024 current source color vector and the current target color vector. In particular, it may refer to the calculation of the color error vector components.
[0051] The current color error vector may be calculated by subtracting the current target color vector from the current source color vector. For example, in RGB space, the current color error vector might have components for red, green, and blue [AR, AG, AB] = [R source Rtarget, Gsource Gtarget, Bsource Btar- get]. Each component represents how much the component of the current target color vector deviates from the component of the current source color vector.
[0052] The current color error vector indicates a color error. The current color error may refer to the Euclidian distance between the source color vector and the target color vector. For example, the current color error vector is [AR, AG, AB] = [49, 50, 51], then the Euclidian distance between the current source color vector and the current target color vector is (492+502+512)-1 / 2= 86. The current color error may also refer to the maximum absolute value of a color error vector component. For example, the color error vector is [-70, 1 , 5], then the color error may be 70.
[0053] According to the invention, the color error is redistributed to unprocessed pixels differently based on a criterion of the color error. In the following the two different cases are discussed.
[0054] If the current color error fulfills the predefined criterion, the current color error vector is redistributed to at least one source color vector of at least one unprocessed pixel of the pixel matrix in the source color space.
[0055] For example, the current color error vector may be added to or subtracted from the source color vector of an adjacent pixel. It is also possible that a first portion of the current color error vector is added or subtracted from a source color vector of a first unprocessed pixel and that a second portion of the current color error vector is added or subtracted from a source color vector of a second unprocessed pixel.
[0056] If the current color error vector does not fulfill the predefined criterion, at least one component of the current color error vector is redistributed to at least one component of a source color vector of at least one unprocessed pixel of the pixel matrix in the source color space, wherein the at least one component of the current color error vector and the at least one component of the source color vector of the at least one unprocessed pixel correspond to different dimensions of the source color space.
[0057] For example, the red component of the current color error vector may be added to or subtracted from the green component of a source color vector of an adjacent pixel. It is also possible that a first Applicant: VusionGroup GmbH
[0058] Title: Image dithering for electronic ink devices
[0059] Our ref.: VSG31358PCT
[0060] Date: September 23, 2024 portion of the red component of the current color error vector is added to or subtracted from the green component of a source color vector of a first unprocessed pixel and that a second portion of the red component of the current color error vector is added to or subtracted from the blue component of the source color vector of the first unprocessed pixel.
[0061] The method may have the following advantages. As the source color space and the target color space are not congruent, the source color vector may lay outside the target color space, i.e. the target color space does not comprise the source color vector. If such a source color vector has to be represented in the target color space, the color error might be very large. If this color error is redistributed to other color channels, the color error of the unprocessed pixels may be reduced, and a color shading or visible color mismatches may be prevented in the dithered image.
[0062] For example, during the determination step, it may be found that a pixel having a cyan color vector in RGB space [0, 255, 255] may have as a target color the color white [255, 255, 255], In this case, the color error vector may be [-255, 0, 0], However, if the adjacent unprocessed pixel is also cyan, the color error of [-255, 0, 0] cannot be adequately redistributed to the adjacent pixels, as RGB colors with negative components do not exist. Redistributing the color error to the other color channels of the unprocessed pixel, e.g. the cyan pixel, thus prevents the determination step from generating the same color error vector for the next unprocessed pixel. Furthermore, the color error is spread over several components, such that the error in a single component is not dominant. This may prevent color shades on the e-ink display device.
[0063] If the current color error vector fulfills the predefined criterion, the current color error vector may be redistributed to the at least one source color vector of the at least one unprocessed pixel of the pixel matrix in the source color space, according to a first dithering matrix. The first dithering matrix may refer to a matrix that selects adjacent and / or surrounding unprocessed pixels of the current pixel. For example, the first dithering matrix may select the neighboring pixels or the nearest neighboring pixels of the current pixel.
[0064] The first dithering matrix may further determine the amount of the color error vector to be redistributed to the selected pixels. For example, the unprocessed pixel to the right of the current pixel and the unprocessed pixel to the bottom of the current pixel may share the color error vector with 50% each. In this case, redistributing the color error vector may refer to allocating 50% of the color error vector to each source color vector. In other words, the selected unprocessed pixels are offset by an amount of the color error vector. Applicant: VusionGroup GmbH
[0065] Title: Image dithering for electronic ink devices
[0066] Our ref.: VSG31358PCT
[0067] Date: September 23, 2024
[0068] If the current color error vector does not fulfill the predefined criterion, the at least one component of the current color error vector may be redistributed to the at least one component of a source color vector of the at least one unprocessed pixel of the pixel matrix in the source color space, according to a second dithering matrix.
[0069] The second dithering matrix may select the same pixels as the first dithering matrix. The second dithering matrix may also only select a single pixel. The second dithering matrix may also select other pixels than the first dithering matrix. For example, the second dithering matrix may select the pixel diagonal to the bottom right.
[0070] The at least one component of the color error vector may correspond to the color error in a first dimension of the source color space. The at least one component of the current color error vector may be redistributed to a second component of a source color vector of at least one unprocessed pixel. For example, in RGB color space, the red error of the color error vector may be allocated to the green value of the source color vector of the selected unprocessed pixels.
[0071] For example, as mentioned above, the second dithering matrix may select the unprocessed pixels to the right and to the bottom of the current pixel, and 50% of the color vector is assigned to each selected pixel. In this case, the pixel to the right may offset the blue value and the green value with 50% of the red error and the pixel to the bottom may offset the blue channel and the green channel with 50% of the red error.
[0072] It is also possible that the different unprocessed pixels according to the second dithering matrix have different redistribution patterns. For example, the second dithering matrix may select the unprocessed pixels to the right and to the bottom of the current pixel, and the selected pixels share the color error vector with 50% each. Then the pixel to the right of the current pixel may offset the green value with 50% of the red error and the pixel to the bottom of the current pixel may offset the blue value with 25% of the red error and the green value with 25% of the red error.
[0073] The first dithering matrix and the second dithering matrix may be different or identical.
[0074] Redistributing the at least one component of the current color error vector may comprise redistributing the at least one component of the current color error vector to two or more components of the source color vector of the at least one unprocessed pixel with a specific weight for each of the two or more components.
[0075] The specific weight may refer to the factor with which the color error of the component of the color error vector is shared between the at least two components of the source vector of an unprocessed Applicant: VusionGroup GmbH
[0076] Title: Image dithering for electronic ink devices
[0077] Our ref.: VSG31358PCT
[0078] Date: September 23, 2024 pixel. For example, the green error may be distributed to 75% to the blue value and to 25% to the red value. This may enable to reduce the color shadings in the dithered image further.
[0079] It is also possible that the first component of the current color error vector component is redistributed partially to the first component of the source color vector and to at least one other component of the source color vector of the unprocessed pixel. For example, the red error of the color error vector may be used to offset the red value and the blue value of the source color vector of the unprocessed pixels.
[0080] The current color error vector may fulfill the predefined criterion if the current color error vector is below a color error threshold and the current color error vector may not fulfill the predefined criterion if the current color error vector is above a color error threshold. The color error threshold may refer to a maximum allowable Euclidian distance between the current source color vector and the current target color vector. This may allow to reduce the global color error, as all color error components of the current color error vector are considered equally in the Euclidian distance. For example, the Euclidean distance between the current source color vector and the current target color vector is 10 and the color error threshold is 5, then the predefined criterion is fulfilled.
[0081] The color error threshold may refer to a maximum allowable absolute value of current color error vector. This may allow to reduce singular extreme color errors in a single color channel. For example, if the color error vector is [AR, AG, AB] = [10, 5, -20] and color error threshold is 15, the predefined criterion is fulfilled, as the absolute value of blue error is above the color error threshold.
[0082] The criterion may be fulfilled, if the current color error vector is calculated on the current source color, wherein the current source color defined by the current source color vector is cyan or magenta or pink. In a 24-bit RGB color space, wherein each color is encoded using 8 bit, cyan may correspond to an RGB color of [R, G, B] = [0, 255, 255] and magenta may corresponds to an RGB color of [R, G, B] = [255, 0, 255], This may mean that the predefined criterion is already fulfilled, if the source color vector is cyan or magenta or pink, independent of the color error vector. Cyan, magenta and pink colors often produce very large color errors, as e-ink display devices cannot represent these colors, this may allow to handle these source color vectors separately.
[0083] However, in general cyan may correspond to an RGB color, wherein the green and blue components have a maximum value, e.g., 255, and the red component has minimum value, e.g., 0, and / or wherein magenta corresponds to an RGB color, wherein the red and the blue components have a maximum value and the green component has a minimum value. Applicant: VusionGroup GmbH
[0084] Title: Image dithering for electronic ink devices
[0085] Our ref.: VSG31358PCT
[0086] Date: September 23, 2024
[0087] For example, cyan may correspond to an RGB color of [R, G, B] = [0, 255, 255] and magenta may correspond to an RGB color of [R, G, B] = [255, 0, 255], The components have a maximum value if the corresponding color has a full intensity in the specific component.
[0088] The first dithering matrix and / or the second dithering matrix may be a Floyd-Steinberg dithering matrix. The Floyd-Steinberg dithering matrix is a specific matrix that allows to redistribute the color error vector to unprocessed pixels. The Floyd-Steinberg dithering matrix requires that 7 / 16 of the error is sent to the unprocessed pixel to the right of the current pixel, 1 / 16 is sent to the unprocessed pixel below and to the right of the current pixel, 5 / 16 is sent to the unprocessed pixel directly below the current pixel, and 3 / 16 is sent to the unprocessed pixel below and to the left of the current pixel. By using this pattern, the Floyd-Steinberg dithering algorithm helps to minimize visible color banding and creates smoother gradients. The Floyd-Steinberg dithering matrix may distribute the error in a way that blends it into the surrounding pixels, reducing noticeable artifacts.
[0089] The source image data may be encoded in RGB color space. The RGB color space represents colors through the combination of red, green, and blue light, which are the primary colors of additive color mixing. Each color in the RGB space is defined by three values corresponding to the intensity of red, green, and blue channels. For example, in a 24-bit system, every color component can be represented by 8 bits, thus the color component range from 0 to 255. When combined at full intensity, these colors create white light, while the absence of all three results in black. The RGB color space is widely used in electronic displays and digital imaging due to its direct correlation with how light colors combine. This model is effective for representing colors on screens, where varying intensities of red, green, and blue produce a broad spectrum of colors.
[0090] The source image data may be provided as a PNG, TIFF or BMP encoded image.
[0091] PNG offers lossless compression, preserving image quality without data loss. It supports transparency with an alpha channel, making it ideal for images with transparent or semi-transparent backgrounds. PNG also supports 24-bit color depth and is well-suited for graphics, logos, and images requiring high clarity. It is commonly used on the web for high-quality images and graphics.
[0092] TIFF supports both lossless and lossy compression, offering high-quality images with flexible options for image storage. It supports multiple layers and channels, making it suitable for professional photography, printing, and archiving. TIFF files can be very large, but they are preferred for high- resolution scans and detailed images. Its ability to maintain quality and additional metadata makes it valuable for various professional applications. Applicant: VusionGroup GmbH
[0093] Title: Image dithering for electronic ink devices
[0094] Our ref.: VSG31358PCT
[0095] Date: September 23, 2024
[0096] BMP is a simple, uncompressed image format that stores pixel data in a straightforward manner, ensuring high image quality. It supports various color depths and is often used in situations where image quality is more important than file size. BMP files are easy to read and write but can become very large due to their lack of compression. The format is useful for applications requiring raw image data and high fidelity.
[0097] The method may also comprise a step of resizing the source image data to the resolution of the e- ink display device. For example, the source image data may be resized to 2560 times 1440 pixels.
[0098] Resizing the source image data to match the resolution of an e-ink display device may ensure optimal visual quality, as the image aligns perfectly with the grid, thus eliminating blurriness or distortion. This also improves performance by reducing the computational load on the device, as there is no need to scale the image data. Additionally, it can help saving storage space and bandwidth when transmitting the image data, as the file size may be reduced if the resolution is reduced.
[0099] Resizing the source image resolution may involve changing the number of pixels. The process begins with selecting a target resolution, which defines the new width and height in terms of pixels for the image. Next, a resampling algorithm, such as nearest-neighbor, bilinear, or bicubic interpolation, may be applied to calculate new pixel values based on the original image data. This algorithm adjusts the pixel grid to fit the new resolution, either adding new pixels (for upscaling) or removing existing ones (for downscaling). Finally, the image is saved or displayed at the new resolution, ensuring that the visual quality is appropriately maintained or adjusted.
[0100] The method may also comprise creating vertex values for the pixels.
[0101] A vertex value refers to a value in which intermediate calculation results are stored. Every pixel of the pixel matrix may have a corresponding vertex value. For example, a vertex value is not restricted to the numeric values of the RGB color space. The vertex value can also have negative numbers, numbers above 255 and decimal numbers. The vertex value may for example be stored as a “float” or “double” value. For example, the Floyd-Steinberg dithering matrix requires to transfer 7 / 16 of a color error vector, which is likely to produce decimal numbers. After all pixels are processed or after processing each current pixel, the vertex values of all pixels or the vertex values of the pixels adapted during processing the respective current pixel may be transformed to the required numerical accuracy, for example by clipping values above 255 and below 0 and by rounding the values to integers. In case an RGB color space is used and at least one component of an adapted source color vector is above 255 or below 0, at least one, preferably all, components of said source color vector that are not above 255 or below 0 may also be adapted, in addition to the Applicant: VusionGroup GmbH
[0102] Title: Image dithering for electronic ink devices
[0103] Our ref.: VSG31358PCT
[0104] Date: September 23, 2024 adaptation of the at least one component that is above 255 or below 0. For example, one or more components that are not above 255 or below 0 may be adapted proportionally or in relation to the adaptation of at least one component that is above 255 or below 0. For example, after redistributing the current error vector to an adjacent pixel, said adjacent pixel may have a source color vector of [R, G, B] = [302, 10, 100], This source color vector may then be adapted to [R, G, B] = [255, 8, 84], Such adaptation of all components may provide more accurate colors.
[0105] The method may also comprise a blurring step.
[0106] Blurring may refer to a technique used to smooth an image by reducing high-frequency noise and detail, which reduces sharpness of the image. For example, the process may involve applying a Gaussian filter, which is a matrix that represents a bell-shaped curve, to each pixel in the image. Each pixel's new value is calculated as a weighted average of its neighboring pixels, with weights determined by the Gaussian function. This blurring effect softens edges and reduces noise while preserving the overall structure of the image. Gaussian blurring is commonly used for image preprocessing, noise reduction, and creating artistic effects. The blurring may be applied before the dithering method.
[0107] The method may also comprise the step of increasing contrast of the source image data.
[0108] Increasing contrast may involve altering the difference between the darkest and lightest areas of an image to enhance visual clarity. This is done by stretching or compressing the range of pixel values, making shadows darker and highlights brighter. Increasing contrast can make details more distinct and images appear more dynamic, while decreasing contrast can smooth out harsh differences and produce a softer look. Proper contrast adjustment helps improve image readability and depth, making details more apparent and colors more vibrant. Overall, it enhances the overall visual impact and ensures the image better represents the intended mood and details.
[0109] As images typically lose contrast on e-ink devices due to dither and properties of the e-ink device, increasing the contrast of the source image data before dithering improves the representation of details and highlights on e-ink display devices.
[0110] The method may also comprise the step of increasing saturation.
[0111] Increasing saturation may involve modifying the intensity of colors in an image, making them more vivid or subdued. This process adjusts the strength of the color channels, increasing or decreasing their contribution to the overall image color. Enhancing saturation makes colors more vibrant and Applicant: VusionGroup GmbH
[0112] Title: Image dithering for electronic ink devices
[0113] Our ref.: VSG31358PCT
[0114] Date: September 23, 2024 eye-catching, while reducing it can create a more muted or pastel effect. Proper saturation adjustment helps achieve a desired visual impact and can correct color imbalances. Overall, it improves the visual appeal and clarity of images, making them engaging and true to the intended artistic or realistic representation.
[0115] The color saturation of a source image is typically partially lost on e-ink display devices, due to limited gamut. Increasing the saturation of the source image data before dithering improves the vibrancy of the colors on the e-ink display device.
[0116] The method may also comprise the step of increasing brightness of the source image device.
[0117] Adjusting the brightness of an image involves increasing or decreasing the intensity of all the pixels uniformly, making the overall image appear lighter or darker. This process alters the image's luminance without changing its color balance or contrast.
[0118] As e-ink displays typically do not emit light, the brightness of the source image may be lost partially. Therefore, increasing the brightness of the source image data before the dithering may allow for a brighter appearance of the image on the e-ink display device.
[0119] The method may also comprise the step of adjusting gamma of the source image device.
[0120] Adjusting gamma may involve modifying the brightness and contrast of an image to correct how colors and shades are represented on a display. By applying a gamma correction to each pixel, images are adjusted for more accurate visual representation. This process enhances detail in shadows and highlights and ensures consistent appearance across different devices. Proper gamma correction improves color accuracy and visual comfort, making images look as intended on the display. Overall, it ensures better image quality and uniformity in display performance.
[0121] After the above steps of increasing the contrast, increasing the saturation and increasing the brightness of the source image data, the source image may require reducing the gamma, as this allows to enable a realistic appearance on the e-ink display device.
[0122] The target color space may have less colors than the source color space.
[0123] Each color space may comprise a predefined number of colors. The number of colors in a color space may be determined by the bit depth assigned to each color channel (e.g., Red, Green, Blue in RGB). For example, an 8-bit per channel color space (24-bit RGB) can represent 28X28X28=224=16,777,216 colors. In general, the total number of colors may be calculated as 2nxc, Applicant: VusionGroup GmbH
[0124] Title: Image dithering for electronic ink devices
[0125] Our ref.: VSG31358PCT
[0126] Date: September 23, 2024 where n is the number of bits per channel, and c is the number of channels. Higher bit depths and more channels allow for a broader range of colors within the color space. However, less colors may require less memory space. The number of colors in a color space may also not directly correlate with the bit depth, i.e. the number of colors may be less than the maximum possible values. For example, the colors of a color space having three discrete colors may be stored in 2 bits. In that case, one value of the 22=4 values remains unused. Often even 4 bits are used as smallest size for storing a value, as such values can easily be processed by a processor, due to the size of a processor word.
[0127] The target color space may only comprise the colors black, white. The target color space may additionally comprise yellow and / or red. The target color space may additionally comprise blue and green. The target color space may comprise one or more additional colors. In these cases, the number of colors in the target color space may not necessarily correspond to bit-depth, as mentioned above.
[0128] These colors may be represented by an e-ink display. As the e-ink display might not be able to display more colors, dithering to this target color space allows to reduce the size of the target image data but also to generate a smooth color rendering.
[0129] The method may also comprise a step of remapping the dithered image data resolution.
[0130] A remapping of the image resolution may refer to a rearrangement of the pixels. For example, an image with a resolution of 2560 times 1440 pixel may be remapped to a pixel matrix of 5120 times 720 pixels, in case 32-inch display devices are used. Such a remapping may comply with the e-ink display devices internal electronic structure. The e-ink structure may require the image data to be provided as a byte array, in which each byte encodes two pixels. In order to create said byte array, it is advantageous to remap the dithered image data by collapsing rows into columns.
[0131] The target image data may be encoded in a 4 bits per pixel format.
[0132] The 4bpp-format may refer to a target image data that uses 4 bits per pixel (bpp) to represent the color. With 4 bits, each pixel can display one of 16 possible colors, as 4 bits allow for 24= 16 combinations. These colors are typically defined in a palette, where each color corresponds to a specific entry. The pixel then selects the entry of the color palette instead of storing the color value itself. For example, 32-inch e-ink display devices may need a byte array of 2,340,000 bytes, where each byte (8 bits) is holding information of two pixels. Applicant: VusionGroup GmbH
[0133] Title: Image dithering for electronic ink devices
[0134] Our ref.: VSG31358PCT
[0135] Date: September 23, 2024
[0136] The 4bpp-format may save memory storage in e-ink displays, such that smaller and cheaper memory devices can be used in e-ink displays.
[0137] According to another aspect of the invention, a display device is suggested which is configured for the representation of dithered source image data, wherein the display device is an e-ink display device, wherein the display device comprises at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the display device to display source image data dithered according to the method according to the invention.
[0138] The at least one processor and at least one memory may further store instructions that, when executed by the at least one processor, cause the display device to dither the source image data according to the method according to the invention.
[0139] In other words, the display device is configured to display the dithered image data, and / or the display device is configured to dither source image data and to display the dithered image data.
[0140] The display device may comprise at least one communication module. A communication module refers a component responsible for handling the device’s wireless or wired communication functions. It can include hardware and software for supporting various communication protocols such as Wi-Fi, Bluetooth, cellular networks, or other wireless communication standards.
[0141] A first communication module of the display device may be configured to communicate with a portable handheld device, in particular a smartphone and / or a remote control. For example, a handheld device may be used to send dithered image data or image data to be dithered to the display device.
[0142] The signal range of the first communication module may be less than 30 cm, preferably less than 20 cm, more preferably less than 10 cm. An advantage of short-range communication protocols may be the power efficiency, making them ideal for battery-powered devices like wearables, sensors, or display devices. They can operate efficiently without frequent recharging. Furthermore, due to the limited range, short-range communication is inherently more secure. The shorter distance reduces the risk of unauthorized interception or eavesdropping.
[0143] The first communication module may comprise a RFID and / or NFC interface and / or BLW interface and / or UWB interface and / or BLE interface and / or Wi-Fi interface. RFID (radio frequency identification) is a technology used for automatically identifying and tracking tags attached to objects. It uses electromagnetic fields to transfer data from an RFID tag to a reader. RFID systems typically comprise an RFID reader and RFID tags that store information. NFC (near field communication) is technology that enables the exchange of data between devices over a distance of a few centimeters. Applicant: VusionGroup GmbH
[0144] Title: Image dithering for electronic ink devices
[0145] Our ref.: VSG31358PCT
[0146] Date: September 23, 2024
[0147] BLE (Bluetooth low energy) is a technology designed for low power consumption. It is used for applications that require short-range wireless data communication. UWB (ultra-wide band) is a technology that uses very low energy for short-range, high-bandwidth communications. It is commonly used for radar, localization, and data transmission over short distances.
[0148] A second communication module of the display device may be configured to communicate with a base station, in particular a router and / or a mobile communication station. A base station is a fixed communication device that connects wireless devices to a network. It typically serves as a hub for communication, often acting as the intermediary between a wireless device and a network such as cellular or local network.
[0149] The signal range of the second communication module may be less than 30 m, preferably less than 20 m, more preferably less than 10 m. Wide-range communication may be that it allows display devices to stay connected over large distances, making it suitable for applications where mobility or connectivity across larger geographic areas is essential, such as transportation of goods in a warehouse. Furthermore, wide-range communication technologies often support higher bandwidth, enabling faster data transfer rates, which are ideal for real-time data applications that require a robust, continuous connection. Limiting the range of the wide-range network may allow only addressing display devices in the vicinity of the base station. As communication over wide-range networks requires significant amounts of energy, only communicating with display devices in the vicinity may reduce energy consumption. For example, wide-range communication can be used for updating various display devices simultaneously.
[0150] The second communication module may comprise a Wi-Fi interface and / or a proprietary protocol interface using a license-free frequency, in particular ISM radio bands. Wi-Fi is a technology that allows electronic devices to connect to a wireless local area network (WLAN), primarily using the 2.4 GHz and 5 GHz frequency bands. ISM (Industrial, Scientific, and Medical) bands are portions of the radio spectrum that are reserved internationally for non-commercial purposes like industrial, scientific, and medical applications. This may have the advantage that the frequencies can be used internationally.
[0151] The second communication module may comprise a mobile communication interface, in particular a 5G and / or a 4G and / or a 3G interface. In case the second communication module has a limited range, a third communication module may be used. It should be noted that not all three communication modules need to be present in the display device. Also, the functionality of the different communication modules may be grouped into a single communication module. The 5G interface is the fifth generation of mobile networks, which enables ultra-fast, low-latency communication for industrial Applicant: VusionGroup GmbH
[0152] Title: Image dithering for electronic ink devices
[0153] Our ref.: VSG31358PCT
[0154] Date: September 23, 2024 automation, loT and supporting real-time data transfer. The 4G interface is the fifth generation of mobile networks, which is widely used in industry for mobile broadband, remote monitoring, and communication in manufacturing and logistics, offering reliable connectivity and data services. The 3G interface is the third generation of mobile networks, which supports basic machine-to-machine communication and remote monitoring.
[0155] The display device may comprise one or more antennas, and an antenna interface, configured to send and receive electromagnetic signals. The antenna interface refers to a point of connection between the one or more communication modules and the respective antenna. This interface typically includes circuitry and connectors that transmit signals between the communication module and the antenna, enabling the device to send and receive radio frequency (RF) signals which transport information. As the display device may send and receive information, it is possible to read, update and control the display device remotely.
[0156] Using one or more communication modules, the display device may receive image data dithered with a method according to the invention or image data to be dithered.
[0157] The display device may comprise at least one circuit board. The circuit board may comprise one or more processors (CPU) executing instructions and processing data and user inputs, memory, e.g., RAM (Random Access Memory), temporarily storing data that the one or more processors use while performing tasks, data storage that stores an operating system, software and user data, in particular user input data. The display device may further comprise power supply that provides the necessary electrical energy to the components. The circuit board may allow the abovementioned components to communicate with each other. In particular, the display device may perform the method according to the invention with the above components.
[0158] The display device may be configured to represent the colors black and white. Additionally, the display device may be configured to represent yellow and / or red. Additionally, the display device may be configured to represent blue and green. The display device may thus be able to represent six colors. Representing colors on the display device refers to the colors of the pixel and not the colors perceived by the human eye. A display device configured to represent 6 colors can produce pixel values in 6 different colors, for example black, white, yellow, red, blue and green. On e-ink displays, the color white may not correspond to a clear white but may be light gray. This color is however referred to herein as white, Applicant: VusionGroup GmbH
[0159] Title: Image dithering for electronic ink devices
[0160] Our ref.: VSG31358PCT
[0161] Date: September 23, 2024
[0162] Using pixels of different colors, e.g., 6 colors, and placing them in a specific pattern allows the e-ink display device to represent a large number of different colors. For example, e-commerce logos, trademarks or images of the products can be presented with a high color accuracy.
[0163] The display device may have a diameter between 50 cm and 130 cm, in particular, between 60 cm and 90 cm, in particular 81 .3 cm. The diameter of the display may be between 20 inch and 50 inch, in particular between 25 inch and 35 inch, in particular 32 inch.
[0164] Large e-ink displays may be particularly suitable for product advertising that needs to be seen and understood from a distance. For example, such large screens within a supermarket can be used to steer customers to different product categories, where products are presented with a high color accuracy. This is particularly important as the consumer will see the product and the e-ink display side-by-side such that color inaccuracies will stand out.
[0165] The display device may have a resolution of 2560 pixels in a first dimension and 1440 pixels in a second dimension or 5120 in a first dimension and 720 pixels in a second dimension.
[0166] A high display resolution provides sharper and more detailed images, improving visual clarity and making text, graphics, and videos appear crisper. It allows for more screen space, enabling fitting more content on the screen simultaneously. Additionally, high resolution enhances the overall viewing experience, particularly for tasks like photo editing, gaming, and watching high-definition media.
[0167] It is a further object of the present invention to provide a computer program or computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the above-mentioned improved method for dithering source image data. The computer may be the above-motioned display device or another computer.
[0168] It is a further object of the present invention to provide a computer-readable medium or storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the above-mentioned improved method for dithering source image data. The medium may be non- transitory. The computer may be the above-motioned display device or another computer.
[0169] Brief description of the drawings
[0170] The present disclosure will be more readily appreciated by reference to the following detailed description when being considered in connection with the accompanying drawings in which:
[0171] Figure 1 is a schematic view of the method according to the invention; Applicant: VusionGroup GmbH
[0172] Title: Image dithering for electronic ink devices
[0173] Our ref.: VSG31358PCT
[0174] Date: September 23, 2024
[0175] Figure 2A to 2D show different scan orders;
[0176] Figure 3 shows the step of identifying the source color vector;
[0177] Figure 4 shows the step of transforming the source color vector to the target color vector and the step of calculating the color error vector;
[0178] Figure 5A, B show the application of first and second dithering matrices;
[0179] Figure 6 shows schematically the redistribution of a color error;
[0180] Figure 7 shows schematically the redistribution of a color error;
[0181] Figure 8 shows a comparison of the source image data and the dithered image data; and
[0182] Figure 9 shows a display device according to the invention displaying dithering im- age data.
[0183] Detailed description of preferred embodiments
[0184] In the following, the invention will be explained in more detail with reference to the accompanying figures. In the figures, like elements are denoted by identical reference numerals and repeated description thereof may be omitted in order to avoid redundancies.
[0185] Figure 1 shows a schematic representation of the method for dithering source image data from a source color space for the representation on an e-ink display device in a target color space.
[0186] The source image data comprise a pixel matrix, each pixel of the pixel matrix having a source color vector in a source color space, wherein the source color vectors have one or more source color vector components, wherein each source color vector component corresponds to one dimension of the source color space.
[0187] The method comprises processing each pixel of the pixel matrix, and for every pixel of the pixel matrix the following steps.
[0188] In a first step S1 of the method, the current source color vector in the source color space is identified. In a second step S2, a current target color is determined in the target color space based on a current source color defined by the current source color vector in the source color space and a current target color vector representing the current target color. In a third step S3, a current color error Applicant: VusionGroup GmbH
[0189] Title: Image dithering for electronic ink devices
[0190] Our ref.: VSG31358PCT
[0191] Date: September 23, 2024 vector is calculated, wherein the current color error vector indicates the difference between the current source color vector and the current target color vector.
[0192] If the current color error fulfills a predefined criterion, the current color error vector is redistributed S4 to at least one source color vector of at least one unprocessed pixel 12 of the pixel matrix 1 in the source color space 3.
[0193] If the current color error vector does not fulfill the predefined criterion, at least one component of the current color error vector is redistributed S5 to at least one component of a source color vector of at least one unprocessed pixel 12 of the pixel matrix 1 in the source color space 3, wherein the at least one component of the current color error vector and the at least one component of the source color vector of the at least one unprocessed pixel correspond to different dimensions of the source color space 3.
[0194] The loop that processes every pixel of the pixel matrix generates a set of processed pixels. The set of processed pixels after the loop has processed all pixels is called dithered image data.
[0195] One or more of optional steps B1 to B7 before the mandatory steps S1 to S5 may also be applied on the source image data, before the dithering method starts. In particular, steps B1 to B7 may involve the steps of resizing the source image data to the resolution of the e-ink display device B1 , creating a vertex value of current pixels B2, blurring of the source image data B3, increasing contrast of the source image data B4, increasing saturation of the source image data B5 increasing brightness of the source image data B6 and reducing gamma of the source image data B7.
[0196] One or more of optional steps A1 and A2 after the mandatory steps S1 to S5 may also be applied on the dithered image data. Step A1 may involve remapping the dithered image data, whereas step A2 may involve encoding the dithered image data in a 4 bits per pixel format.
[0197] The different steps and characteristics of the dithering method are explained in the following figures.
[0198] Fig. 2A shows a schematic representation of a pixel matrix 1 of source image data 2. The pixel matrix 1 comprises a set of pixels 10, 11 , 12 that may be arranged in one or two dimensions. In Fig. 2A the set of pixels 10, 11 , 12 is arranged in two dimensions, such that the pixel matrix 1 has a height and a width. The method according to the invention processes each pixel of the pixel matrix 1 in a specific scan order.
[0199] As shown in Fig. 2A, the scan order in which the pixels are accessed and processed, shown as the straight arrow. In every step of the loop, the method selects a particular pixel, the current pixel 11 , Applicant: VusionGroup GmbH
[0200] Title: Image dithering for electronic ink devices
[0201] Our ref.: VSG31358PCT
[0202] Date: September 23, 2024 applies the method and subsequently turns to the next unprocessed pixel in the scan order. In other words, after the current pixel 11 is processed, the next pixel would be the unprocessed pixel 12 to the right of the current pixel 11 . All pixels which have been processed by the method are unprocessed pixels 10. In Fig. 2A, the pixels of a row are processed from left to right. After all pixels of the row are processed, the unprocessed pixels in the next row are processed again from left to right.
[0203] Fig. 2B shows another meander-like scan order. The pixels of a column are processed from top to bottom. After all pixels of the column are processed, the unprocessed pixels of the next column are processed from bottom to top.
[0204] Fig. 2C shows another scan order. The pixels are processed always from right to left. After all pixels of the row are processed, the pixels of the next row are again processed from right to left.
[0205] Fig. 2D shows another scan order. The pixels are always processed diagonally. After all pixels of the current diagonal are processed, the pixels of the next diagonal are processed.
[0206] Fig. 3 shows step S1 of identifying the current source color vector in more detail. Each pixel of the pixel matrix 1 that corresponds to the source image data 2, is identified. For example, in RGB color space the current source color vector comprises three components [R, G, B], Every component corresponds to one dimension of the RGB color space. The step of identifying the current source color vector may be a reading step of the respective color coordinate in the source color space.
[0207] Fig. 4 shows step S2 of determining the current target color vector in the source color space and the calculation of the current color error vector. Fig. 4 shows three different color spaces 3, 3’, 3”. Color space 3” shows the CIELAB color horseshoe, which is a graphical representation of the range of colors perceivable by the human eye, based on the CIELAB color space. A CIELAB color space is a color space in which differences between colors correspond to how humans perceive those color differences. The CIELAB color space 3” may be used as an intermediate color space, as explained below.
[0208] The "horseshoe" shape refers to the chromaticity diagram, where the curve represents pure spectral colors (wavelengths of light) and includes the full range of visible hues. The horseshoe represents all possible combinations of these spectral colors with varying levels of lightness and saturation. The CIELAB model is widely used in color science for accurate color representation and comparison. Applicant: VusionGroup GmbH
[0209] Title: Image dithering for electronic ink devices
[0210] Our ref.: VSG31358PCT
[0211] Date: September 23, 2024
[0212] Color space 3 shows an RGB color space. The RGB color space 3 may be contained in the CIELAB color space 3”. The RGB color space is a color model used to represent colors through the combination of red, green, and blue light. By adjusting the intensity of each of these three primary colors, a wide spectrum of colors can be created, with the RGB values typically ranging from 0 to 255 for each color channel. This model is commonly used in digital displays, cameras, and web design, as it aligns with how electronic screens emit light to produce color.
[0213] Another color space may be the target color space 3’. The target color space 3’ may be fully contained in the CIELAB color space 3” and / or the RGB color space 3. However, the target color space 3’ may also be only partially contained in the RGB color space 3 and fully contained in the CIELAB color space 3”. In this case the CIELAB color space 3” could be used as an intermediate color space 3” to determine the target color vector. The target color space 3’ may be the color space of the e-ink display device. The target color space may only comprise a discrete set of colors, i.e. the target color space may contain no mixtures of the discrete color values.
[0214] In the case of Fig. 4, the discrete set of colors is shown as black dots, for example white, black, red, yellow, green and blue. As can be seen from Fig. 4, not all colors of the RGB color space 3 are contained in the target color space 3’
[0215] Step S2 of determining the current target color vector 33 may contain a step of finding the closest target color vector 33 in the source color space 3. The target color 32 is the closest representation of the source color 30 in the target color space 3’. To determine the target color 32 and target color vector 33, the target color space 3’ and / or the target colors of the target color space 3’ may be transformed to the source color space 3. The current target color 32 may then be obtained by determining the smallest Euclidian distance to the current source color 30. The current target color vector 33 represents the determined target color 32 in the source color space 3.
[0216] For example, the current source color 30 may be a green tone marked as a black circle. The current source color vector 31 is shown as a dashed line. The current target color 32 may be the closest color of the target color space 3’ transformed to the source color space 3, which is shown as the black dot. The current target color vector 33, shown as a dotted line, may be the vector of the target color 32 in the source color space 3, as the target color 32 exists in the source color space 3’. The current target color vector 32 and the current source color vector 31 are connected with the current color error vector 34, shown as a solid arrow. Applicant: VusionGroup GmbH
[0217] Title: Image dithering for electronic ink devices
[0218] Our ref.: VSG31358PCT
[0219] Date: September 23, 2024
[0220] In case a target color 32’ of the target color space 3’ cannot be represented in the source color space 3, an intermediate color space 3” may be used in which at least the relevant colors of the target color space 3’and the source color space 3 may be fully represented. In this case, the target color vector and the color error vector can be determined in the intermediate color space 3”.
[0221] In a third step S3, the current color error vector 34 is calculated. The current color error vector 34 may be given as the vector that points from the current target color 32 to the current source color 30 or vice versa (basically the direction where the vector 34, 34’ points to). The current color error can be determined based on the current color error vector 34. For example, the length of the current color error vector 34 denotes the current color error. It is also possible that the current color error is given by one or more components of the current color error vector 34. For example, the e-ink display is only able to display black, white and red colors, then the minimization of the red color error might be particularly interesting.
[0222] If the current color error fulfills a predefined criterion, the method according to the invention may redistribute the color error to at least one unprocessed pixel according to a first dithering matrix 4, as shown in Figures 5A and 5B.
[0223] Fig. 5A shows the redistribution of the current color error vector to three unprocessed pixels 12, i.e. the pixel to the right of the current pixel 11 , the pixel directly below the current pixel 11 and the pixel to the bottom right of the current pixel 11 . The current color error vector may be redistributed equally or according to specific factors a, p, y which may be determined by the first dithering matrix 4. In Fig. 5A the pixel to the right of the current pixel obtains the portion a of the current color error vector, the pixel directly below the current pixel obtains the portion p of the current color error vector and the pixel to the bottom right obtains the portion y of the current color error vector. The specific factors a, p, y may sum up to 1 , so that the current color error vector is redistributed completely.
[0224] For example, if the current color error vector is [100, 50, 0] in RGB color space, then the pixel to the right of the current pixel 11 is offset by a*[100, 50, 0], the pixel directly below the current pixel 11 is offset by p*[100, 50, 0] and the pixel to the bottom right of the current pixel 11 is offset by y *[100, 50, 0],
[0225] Fig. 5B shows the application of another first dithering matrix, called the Floyd-Steinberg-Matrix. Here, the pixel to the right of the current pixel 11 obtains 7 / 16 of the current color error vector, the pixel directly below of the current pixel 11 obtains 5 / 16 of the current color error vector, the pixel to the bottom right of the current pixel 11 obtains 1 / 16 of the current color error vector and the pixel to the bottom left of the current pixel 11 obtains 3 / 16 of the current color error vector. Applicant: VusionGroup GmbH
[0226] Title: Image dithering for electronic ink devices
[0227] Our ref.: VSG31358PCT
[0228] Date: September 23, 2024
[0229] If the current color error does not fulfill the predefined criterion, the method redistributes the components of the current color error vector to other components of the source color vector, as shown in figures 6 and 7.
[0230] Fig. 6 shows the case if the color error does not fulfill the predefined criterion. In this step S5, at least one component of the color error vector is redistributed to at least one component of the source color vector component of at least one unprocessed pixel of the pixel matrix in the source color space, wherein the component of the color error vector and the component of the source color vector correspond to different dimensions of the source color space 3.
[0231] In other words, the error in the color dimension R (red), denoted as AR, may be redistributed to the color dimension G (green) of the unprocessed pixel 12, or redistributed to the G- and B(blue)-color dimensions of the unprocessed pixel 12 or redistributed to the color dimensions R, G and B of the unprocessed pixel 12.
[0232] The selection of the respective unprocessed pixels as well as the amount of the color error which is redistributed may be obtained by specific factors a, p defined by a second dithering matrix 5. For example, the second dithering matrix 5 depicted in Fig. 6 transfers a portion a to the unprocessed pixel to the right of the current pixel 11 and a portion p to the unprocessed pixel below the current pixel 11 .
[0233] As can be seen, the error in the B-dimension, denoted as AB, can be transferred to the R-color dimension, or the error in the R-color dimension AR can be transferred to the G-color dimension or the error in the G-color dimension, denoted as AG, can be transferred to the B-color dimension. In particular, for every dimension, the error component may even be scaled with an individual weight w, which may be specific for the selected pixel of the dithering matrix, indicated by the indexed specific factor a, p, and the color component R, G, B.
[0234] However, each color error vector component AR, AG, AB may be transferred completely by the second dithering matrix 5. For example, the error in the G-dimension AG is redistributed to the B-color dimension of the pixel to the right of the current pixel 11 and to the R-and G-color dimensions of the pixel below the current pixel 1 1 . In other words, = AG.
[0235] Fig. 7 shows another example if the color error does not fulfil the predefined criterion. For example, the current source color vector is cyan which corresponds to [0, 255, 255] in the RGB color space 3. If the determined target color is white, which corresponds to [255, 255, 255] in the RGB color space Applicant: VusionGroup GmbH
[0236] Title: Image dithering for electronic ink devices
[0237] Our ref.: VSG31358PCT
[0238] Date: September 23, 2024
[0239] 3, the color error vector may be [-255, 0, 0] in the RGB color space 3. However, if the next unprocessed pixel 12 in the scan order is also cyan, then the current color error could not be redistributed to the red channel of the next unprocessed pixel 12, as each channel in the RGB color space is limited to values between 0 and 255. However, the current color error may be redistributed to the G- and B-color dimensions of the next unprocessed pixel 12 in the scan order. In particular, the current color error of in the R-dimension can be equally redistributed to the G- and B-dimensions or weighted. For example, WG = 0,7 and WB = 0,3.
[0240] Fig. 8 shows the source image data 2 and the dithered image data 6. The source image data 2 here is a grey scale image where each pixel comprises a specific grey scale value. The dithered image on the other hand only comprises black and white. The smooth gradients and the perceived grey scales in the dithered image data are basically due to the arrangement of the black dots on the white background which is generated using a dithering matrix, as for example the first and second dithering matrices 4, 4’, 5.
[0241] The dithered image data may be remapped to another resolution in a step A1 , to comply with technical requirements of the display device. Furthermore, the dithered data may be stored in a 4bit per pixel format, which allows to save memory space on the display device.
[0242] Fig. 9 shows a display device 7 according to the invention. The display device is an e-ink display that has a limited color space 3’ compared to the RGB color space 3 or the CIELAB color space. However, the color accuracy is of great importance for various applications. The display device may be an electronic shelf label (ESL) used to advertise and / or indicate the product price in supermarkets. For example, the shown display device may be a 32” display device, which may be used in a supermarket for advertisement or for providing the customer with information about the localization of a certain product. For example, the e-ink display may only be able to display black, white, red, yellow, green and blue colors. For example, the display may have a resolution of 2560 times 1440 pixels.
[0243] A wrong color on the display device used as an ESL could irritate customers, if they compare the product with the product image displayed on the device. This may lead to uncertainty, whether the ESL even corresponds to the product placed next to it. For example, if the display shows tomatoes, which appear yellow, it is unclear to the customer, whether this applies to the red tomatoes placed next to the display. Also, trademarks and logos not displayed in the correct colors may confuse costumers. Furthermore, with a wrong or erroneous color representation, the product categories may not be correctly determined by the customer, e.g., a glass of foaming lemonade could be mistakenly Applicant: VusionGroup GmbH
[0244] Title: Image dithering for electronic ink devices
[0245] Our ref.: VSG31358PCT
[0246] Date: September 23, 2024 confused with a glass of beer. Dithering the source image data with the method according to the invention however may reduce color shades and color errors in the display images on the display device, thus overcoming the above disadvantages.
[0247] It will be obvious for a person skilled in the art that these embodiments and items only depict exam- pies of a plurality of possibilities. Hence, the embodiments shown here should not be understood to form a limitation of these features and configurations. Any possible combination and configuration of the described features can be chosen according to the scope of the invention.
[0248] Applicant: VusionGroup GmbH
[0249] Title: Image dithering for electronic ink devices
[0250] Our ref.: VSG31358PCT
[0251] Date: September 23, 2024
[0252] List of reference numerals
[0253] 1 pixel matrix
[0254] 10 processed pixel
[0255] 11 current pixel 12 unprocessed pixel
[0256] 2 source image data
[0257] 3, 3’, 3”color space
[0258] 30, 30’ source color
[0259] 31 source color vector 32, 32’ target color
[0260] 33 target color vector
[0261] 34 error vector
[0262] 4, 4’ first dithering matrix
[0263] 5 second dithering matrix 6 dithered image data
[0264] 7 display device
Claims
Applicant: VusionGroup GmbHTitle: Image dithering for electronic ink devicesOur ref.: VSG31358PCTDate: September 23, 2024Claims1 . Method for dithering source image data (2) from a source color space (3) for the representation on an e-ink display device (7) in a target color space (3’), wherein the source image data (2) comprise a pixel matrix (1), each pixel of the pixel matrix having a source color vector in the source color space (3), wherein the source color vectors have one or more source color vector components, wherein each source color vector component corresponds to one dimension of the source color space (3), wherein the method comprises processing each pixel of the pixel matrix (1), and for every pixel of the pixel matrix (1): identifying (S1) a current source color vector in the source color space (3), determining (S2) a current target color of the target color space based on a current source color defined by the current source color vector in the source color space and determining a current target color vector representing the current target color, calculating (S3) a current color error vector, wherein the current color error vector indicates the difference between the current source color vector and the current target color vector, if the current color error vector fulfills a predefined criterion, redistributing (S4) the current color error vector to at least one source color vector of at least one unprocessed pixel (12) of the pixel matrix (1) in the source color space (3), if the current color error vector does not fulfill the predefined criterion, redistributing (S5) at least one component of the current color error vector to at least one component of a source color vector of at least one unprocessed pixel (12) of the pixel matrix (1) in the source color space (3), wherein the at least one component of the current color error vector and the at least one component of the source color vector of the at least one unprocessed pixel correspond to different dimensions of the source color space (3)2. Method according to any of the preceding claims, wherein the target color vector represents the target color in the source color space (3) and / or in an intermediate color space (3”).Applicant: VusionGroup GmbHTitle: Image dithering for electronic ink devicesOur ref.: VSG31358PCTDate: September 23, 20243. Method according to any of the preceding claims, wherein, if the current color error vector fulfills the predefined criterion, redistributing (S4) the current color error vector to the at least one source color vector of at the least one unprocessed pixel (12) of the pixel matrix (1) in the source color space (3), according to a first dithering matrix.
4. Method according to any of the preceding claims, wherein, if the current color error vector does not fulfill the predefined criterion, redistributing (S5) the at least one component of the current color error vector to the at least one component of a source color vector of the at least one unprocessed pixel (12) of the pixel matrix (1) in the source color space (3), according to a second dithering matrix.
5. Method according to claims 3 and 4, wherein the first dithering matrix (4) and the second dithering matrix (5) are different or identical (S5).
6. Method according to any of the preceding claims, wherein redistributing (S5) the at least one component of the current color error vector comprises redistributing the at least one component of the current color error vector to two or more components of the source color vector of the at least one unprocessed pixel (12) with a specific weight (w) for each of the two or more components.
7. Method according to any of the preceding claims, wherein the current color error vector fulfills the predefined criterion if the current color error vector is below a color error threshold and wherein the current color error vector does not fulfill the predefined criterion if the color error is above a color error threshold.
8. Method according to claim 7, wherein the color error threshold corresponds to the Euclidian distance between the current source color vector and the current target color vector.
9. Method according to any of the preceding claims, wherein the predefined criterion is not fulfilled if the current color error is calculated based on the current source color vector, wherein the current source color defined by the current source color vector is cyan, magenta or pink.
10. Method according to any of the preceding claims, wherein the source color space (3) is an RGB color space.Applicant: VusionGroup GmbHTitle: Image dithering for electronic ink devicesOur ref.: VSG31358PCTDate: September 23, 202411 . Method according to claim 7 and 8, wherein cyan corresponds to an RGB color, wherein the green and blue components have a maximum value, and the red component has a minimum value and / or wherein magenta corresponds to an RGB color, wherein the red and the blue components have a maximum value, and the green component has a minimum value.
12. Method according to any of the preceding claims, wherein the method further comprises at least one of the following steps: resizing (B1) the source image data (2) to the resolution of the e-ink display device (7) and / or blurring (B3) of the source image data.
13. Method according to any of the preceding claims, wherein the method further comprises at least one of the following steps: increasing the contrast (B4) of the source image data (2) and / or increasing the saturation (B5) of the source image data (2) and / or increasing brightness (B6) of the source image data (2) and / or reducing the gamma (B7) of the source image data (2).
14. Method according to any of the preceding claims, wherein the target color space (3’) has less colors than the source color space (3).
15. Method according to any of the preceding claims, wherein the target color space (3’) comprises the colors red or yellow and black and white, preferably red, yellow, black and white, more preferably blue, green, red, yellow, black and white.
16. Method according to any of the preceding claims, wherein the method further comprises a least one of the following steps: remapping (A1) the dithered image data (6) resolution and / or encoding (A2) the dithered image data (6) in a 4 bits per pixel format.
17. Display device (7) for the representation of dithered source image data (6), wherein the display device (7) is an e-ink display device, wherein the display device (7) comprises at leastApplicant: VusionGroup GmbHTitle: Image dithering for electronic ink devicesOur ref.: VSG31358PCTDate: September 23, 2024 one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the display device (7) to display source image data (6) dithered according to claim 1 .
18. Display device (7) according to claim 17, wherein the at least one processor and at least one memory further storing instructions that, when executed by the at least one processor, cause the display device (7) to dither the source image data (2) according to the method of claim 1 .
19. Display device (7) according to any of claims 17 to 18, wherein the display device (7) is configured to represent the colors red or yellow and black and white, preferably red, yellow, black and white, more preferably blue, green, red, yellow, black and white.
20. Display device (7) according to any of claims 17 to 19, wherein the display device (7) has a diameter between 50 cm and 130 cm, in particular between 60 cm and 90 cm, in particular 81 .3 cm.21 . Display device (7) according to any of claims 17 to 20, wherein the display device (7) has a resolution of 2560 pixels in a first dimension and 1440 pixels in a second dimension or 5120 in a first dimension and 720 pixels in a second dimension.
22. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method according to anyone of claims 1 to 16.
23. A computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to anyone of claims 1 to 16.
Citation Information
Patent Citations
Method and apparatus for rendering color images
US20220139341A1
Variable dithering for GIF
US6844882B1