Method and device for reconstructing alternating complementary colors for energy reduction

By employing spatially and temporally alternating complementary colors and a double color look-up table, the energy consumption of display devices is reduced while maintaining visual quality, addressing the mismatch between energy demands and environmental impact in display technologies.

WO2025180887A1PCT designated stage Publication Date: 2025-09-04INTERDIGITAL CE PATENT HOLDINGS SAS
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/054247
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-29
Filing Date
2025-02-18
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

The increasing energy consumption of display devices due to higher display resolutions and technologies like high dynamic range imaging is not aligned with the global need to reduce energy consumption, particularly in consumer electronics, necessitating more efficient energy-aware image and video processing techniques.

Method used

Implementing spatially and temporally alternating complementary colors (SACC and TACC) to modify images by replacing original colors with pairs of complementary colors, utilizing a double color look-up table (ACC-LUT) to optimize energy consumption while preserving visual quality.

Benefits of technology

Reduces energy consumption of display devices by minimizing the energy required to display images and videos without compromising the quality of experience through visual fusion principles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025054247_04092025_PF_FP_ABST
    Figure EP2025054247_04092025_PF_FP_ABST
Patent Text Reader

Abstract

With the current energy awareness context and the fight against climate change, facing the need to reduce energy footprint in the consumer electronics domain, several alternate complementary colors based image processing algorithms have been developed with the common objective of minimizing the energy consumed by displays when displaying video images and maximizing the quality of experience for the user. These algorithms are based on a double color look-up table associating a single color to a pair of alternate complementary colors. Multiple methods propose to optimize the reconstruction of such double color look-up table. In particular, methods operated in a uniform color space allow to carry only the first color of the pair of colors and reconstruct the second color of the pair on the receiver side. This allows to reduce the required data and thus improves the efficiency of the overall system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD AND DEVICE FOR RECONSTRUCTING ALTERNATING COMPLEMENTARY COLORS FOR ENERGY REDUCTION

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims the priority to European Application N° 24305317.0 filed 29thof February 2024, which is incorporated herein by reference in its entirety.

[0004] TECHNICAL FIELD

[0005] The disclosure is in the field of reduction of energy requirements for display devices, and at least one embodiment relates to information representative of spatially or temporally alternating complementary colors allowing to reduce energy consumption in systems handling a visual content such as for example an image or video.

[0006] BACKGROUND ART

[0007] Reducing energy consumption of electronic devices has become a requirement not only for manufacturers of electronic devices but also to limit, as much as possible, the environmental impact and to contribute to the emergence of a sustainable display industry. The increase in display resolution from SD to HD, then to 4K and soon to 8K and beyond, as well as the introduction of high dynamic range imaging, has brought about a corresponding increase in energy requirements of display devices. This is not consistent with the global need to reduce energy consumption knowing that a huge number of devices has a display (i. e. , TV, Mobile phones, tablets, etc.). Indeed, displays are the most important source of energy consumption, for consumer electronic devices, either battery-powered (e.g., smartphones, tablets, headmounted displays, car display screens) or not (e.g., television sets, advertisement display panels).

[0008] Different display technologies have been developed in the recent years. Although modem displays consume energy in a more controllable and efficient manner than older displays, they remain the most important source of energy consumption in a video chain.

[0009] It is therefore interesting to elaborate energy-aware images or videos, i.e., images or videos that will need less energy when displayed, notably on consumer electronics OLED displays. Techniques to reduce the energy consumption comprise using spatially alternating complementary colors (SACC) as described in European patent application EP22306997.2 for example or temporally alternating complementary colors (TACC) as described in European patent application EP22306995.6 for example. What is common within the techniques described in both applications is that they relate to the reduction of the energy requirements of display devices with the goal to preserve the quality of experience (QoE) based on contrast, luminance, temporal smoothness, or color levels for instance and exploit the principles of alternating complementary colors, as further described below. In both techniques, this is done by decomposing one original color of a pixel into two complementary colors, forming a color pair and displaying these new colors in either a spatially or temporally alternating manner. The color pair is optimized for each original color, depending on the display colors and power characteristics, with a purpose of, for example, reducing the energy requirements of display devices while preserving display quality of experience.

[0010] SUMMARY

[0011] With the current energy awareness context and the fight against climate change, facing the need to reduce energy footprint in the consumer electronics domain, SACC and TACC image processing algorithms have been developed with the common objective of minimizing the energy consumed by displays when using (for example displaying) video images and maximizing the quality of experience for the user. SACC and TACC algorithms are based on a double color look-up table associating a single color to a pair of alternate complementary colors.

[0012] Embodiments described hereafter have been designed with the foregoing in mind and describe different methods for optimizing the reconstruction of the double color look-up table storing the alternating complementary colors needed for applying ACC algorithms.

[0013] A first aspect is directed to a method comprising : obtaining information representative of an input color look-up table configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and, for a selected color: obtaining a first color of a pair of alternating complementary colors associated with the selected color in the input color look-up table, and determining a second color of a pair of alternating complementary colors as a symmetrical color of the first color with regard to the selected color, wherein the colors are represented in a uniform color space and operations are performed in a uniform color space.

[0014] A second aspect is directed to a method comprising iterating over pixels of an input image and, for an iterated pixel: determining a pair of alternating complementary colors associated with the color of the iterated pixel according to the first aspect, modifying the iterated pixel by applying an alternating complementary color algorithm based on the pair of alternating complementary colors associated with the color of the iterated pixel and displaying or providing the modified image.

[0015] A third aspect is directed to an apparatus comprising electronic circuitry configured to obtain information representative of an input color look-up table configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and, for a selected color: obtain a first color of a pair of alternating complementary colors associated with the selected color in the input color look-up table, and determine a second color of a pair of alternating complementary colors as a symmetrical color of the first color with regard to the selected color, wherein the colors are represented in a uniform color space and operations are performed in a uniform color space.

[0016] A fourth aspect is directed to an apparatus comprising electronic circuitry configured to iterate over pixels of an input image and, for an iterated pixel: determine a pair of alternating complementary colors associated with the color of the iterated pixel according to the first aspect, modify the iterated pixel by applying an alternating complementary color algorithm based on the pair of alternating complementary colors associated with the color of the iterated pixel and display or provide the modified image.

[0017] A fifth aspect is directed to non-transitory computer readable medium containing comprising instructions which, when the program is executed by a computer, cause the computer to carry out the described embodiments related to the first or the second aspect.

[0018] A sixth aspect is directed to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out any of the described embodiments or variants related to the first or the second aspect.

[0019] The above presents a simplified summary of the subject matter to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the subject matter. It is not intended to identify key / critical elements of the embodiments or to delineate the scope of the subject matter. Its sole purpose is to present some concepts of the subject matter in a simplified form as a prelude to the more detailed description provided below.

[0020] BRIEF SUMMARY OF THE DRAWINGS

[0021] The present disclosure may be better understood by consideration of the detailed description below in conjunction with the accompanying figures in which: Figure 1 illustrates a block diagram of an example of display device in which various aspects and embodiments are implemented.

[0022] Figure 2 illustrates the normalized response spectra of human retina cones (or spectral sensitivity functions).

[0023] Figure 3A illustrates examples of transformation of colors into complementary colors according to the technique of spatially alternating complementary colors.

[0024] Figure 3B illustrates examples of replacement of a pixel by a pair of pixels according to the technique of spatially alternating complementary colors.

[0025] Figure 4A illustrates the temporal contrast sensitivity function for various adapting fields.

[0026] Figure 4B illustrates the modulation sensitivity as a function of frequency for luminance and chromatic flicker.

[0027] Figure 5 A illustrates examples of transformation of colors into complementary colors according to the technique of temporally alternating complementary colors.

[0028] Figure 5B illustrates examples of replacement of a pixel by a pair of pixels according to the technique of temporally alternating complementary colors.

[0029] Figure 6 illustrates an ACC module implemented in a display processing chain according to embodiments.

[0030] Figure 7A illustrates an example of usage of the alternating complementary color lookup table according to embodiments.

[0031] Figure 7B illustrates an example of ACC metadata and ACC-LUT reconstruction according to a first embodiment.

[0032] Figure 7C illustrates an example of ACC metadata and ACC-LUT reconstruction according to a second embodiment.

[0033] Figure 7D illustrates an example of ACC metadata and ACC-LUT reconstruction according to a third embodiment.

[0034] Figure 7E illustrates an example of ACC metadata and ACC-LUT reconstruction according to a fourth embodiment.

[0035] Figure 7F illustrates an example of ACC metadata and ACC-LUT reconstruction according to a fifth embodiment.

[0036] Figure 7G illustrates an example of ACC metadata and ACC-LUT reconstruction according to a sixth embodiment.

[0037] Figure 8A illustrates a first example of image modification process based on ACC metadata according to embodiments. Figure 8B illustrates an example process for reconstructing a double color look-up table of alternate complementary colors according to the second embodiment, in the context of the first example of image modification process.

[0038] Figure 8C illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the fifth embodiment, in the context of the first example of image modification process.

[0039] Figure 8D illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the sixth embodiment, in the context of the first example of image modification process.

[0040] Figure 9A illustrates a second example of image modification process based on ACC metadata according to embodiments.

[0041] Figure 9B illustrates an example process for reconstructing a double color look-up table of alternate complementary colors according to the second embodiment, in the context of the second example of image modification process.

[0042] Figure 9C illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the fifth embodiment, in the context of the second example of image modification process.

[0043] Figure 9D illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the sixth embodiment, in the context of the first example of image modification process.

[0044] Figure 10 illustrates an example of ACC-LUT reconstruction process according to embodiments.

[0045] It should be understood that the drawings are for purposes of illustrating examples of various aspects, features and embodiments in accordance with the present disclosure and are not necessarily the only possible configurations. Throughout the various figures, like reference designators refer to the same or similar features.

[0046] DETAILED DESCRIPTION

[0047] Figure 1 illustrates a block diagram of an example of display device in which various aspects and embodiments are implemented. In the depicted environment, a user interacts with the display device 100, for example a television, that is connected to a server 180 for example operated by a content provider. The server 180 delivers multimedia content 190 such as video streams based on images. In a video distribution system, multiple devices 100, Ixx are interacting with multiple content providers and corresponding servers 180, 18x delivering multiple multimedia content 190, 19x. A single content provider may use a plurality of servers. The devices exchange data through a communication network 150.

[0048] The communication network 150 preferably uses a communication standard to provide interoperability between content provider and display devices. Such communication standard may be wireless, such as cellular (e.g., LTE) communications, Wi-Fi communications, and the like, to ensure the mobility of the display device. Cable, satellite or terrestrial digital television broadcast communication may also be used for the communication network 150 as well as broadband television communications. Such digital television standards may be based on well- established standards like DVB, ATSC, or the like. General purpose network standards may also be used, for example based on Ethernet.

[0049] The display device 100 comprises a processor 101. The processor 101 may be any type of electronic circuitry such as a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, an integrated circuit (IC), a state machine, and the like. The processor may perform data processing such as the image modification processes 800 and 900 of figures 8A and 9B respectively, or the ACC-LUT reconstruction process 1000 of figure 10.

[0050] The processor 101 may be coupled to an input unit 102 configured to convey user interactions. Multiple types of inputs and modalities can be used for that purpose. Physical keypad or a touch sensitive surface are typical examples of input adapted to this usage although voice control could also be used. In addition, the input unit may also comprise a digital camera able to capture still pictures or video in two dimensions or a more complex sensor able to determine the depth information in addition to the picture or video and thus able to capture a complete 3D representation.

[0051] The processor 101 may be coupled to a display unit 103 configured to output visual data to be displayed on a screen. Multiple types of displays can be used for that purpose such as a liquid crystal display (LCD) or organic light-emitting diode (OLED) display unit. The processor 101 may also be coupled to an audio unit 104 configured to render sound data to be converted into audio waves through an adapted transducer such as a loudspeaker for example.

[0052] The processor 101 may be coupled to a communication interface 105 configured to exchange data with external devices. The communication preferably uses a wireless communication standard to provide mobility of the display device, such as cellular (e.g., LTE) communications, Wi-Fi communications, and the like.

[0053] The processor 101 may access information from, and store data in, the memory 106, that may comprise multiple types of memory including random access memory (RAM), readonly memory (ROM), a hard disk, a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, any other type of memory storage device. In embodiments, the processor 101 may access information from, and store data in, memory that is not physically located on the device, such as on a server, a home computer, or another device.

[0054] The processor 101 is configured to execute an image energy reduction algorithm that modifies an input image into one or more images that requires less energy when being used, for example displayed, in comparison to using the input image. Different techniques have been disclosed to provide such feature.

[0055] The processor 101 may receive power from the power source 108 and may be configured to distribute and / or control the power to the other components in the device 100. The power source may be any suitable device for powering the device. As examples, the power source may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), and the like), solar cells, fuel cells, and the like.

[0056] While the figure depicts the processor 101 and the other elements 102 to 108 as separate components, it will be appreciated that these elements may be integrated together in an electronic package or chip. It will be appreciated that the display device 100 may include any sub-combination of the elements described herein while remaining consistent with the embodiments described hereafter. The processor 101 may further be coupled to other peripherals or units not depicted in figure 1 which may include one or more software and / or hardware modules that provide additional features, functionality and / or wired or wireless connectivity. For example, the peripherals may include a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like. For example, the processor 101 may be coupled to a localization unit configured to localize the display device within its environment. The localization unit may integrate a GPS chipset providing longitude and latitude position regarding the current location of the display device but also other motion sensors such as an accelerometer and / or an e-compass that provide localization services.

[0057] In at least one embodiment, the processor 101 of the display device 100 is configured to display on the display unit 103 an image according to embodiments described further below. In a first variant embodiment, the image 190 is obtained from the content provider server 180 through the communication network 150. In a second variant embodiment, the image is obtained from the memory 106, stored for example after being captured by the input unit 102 or being transferred from a server.

[0058] Typical examples of device 100 are smartphones, tablets, laptops, monitors, headmounted displays, television sets, video projectors, computer screens, vehicles (e.g., control and / or entertainment systems for cars, planes, boats, etc.), advertisement display panels, medical monitors, etc. However, any device or composition of devices that provides similar functionalities can be used as display device 100 while still conforming with the principles of the disclosure.

[0059] In at least one embodiment, the device does not include a display unit but prepares data representative of an energy -reduced visual content so that another device can utilize the energy- reduced visual content for further processing. In at least one embodiment, such device prepares data to be displayed by another device such as a screen. Examples of such devices are set top boxes, media players, desktop computers, encoders, decoders, servers, computing grids, cloud computers, etc.

[0060] At least one example of an embodiment can involve a device including an apparatus as described herein and at least one of (i) an antenna configured to receive a signal, the signal including data representative of the image information, (ii) a band limiter configured to limit the received signal to a band of frequencies that includes the data representative of the image information, and (iii) a display configured to display an image from the image information.

[0061] At least one example of an embodiment can involve a device as described herein, wherein the device comprises one of a television, a television signal receiver, a set-top box, a gateway device, a mobile device, a cell phone, a tablet, a computer, a laptop, or other electronic device.

[0062] Two techniques allow to minimize the energy consumption when displaying (or more generally when using) an image. These techniques are based on using alternating complementary colors to modify an image so that it requires less energy. The first technique modifies the image through a spatial alternating arrangement (figures 2, 3 A, 3B) and the second uses a temporal alternating arrangement (figures 4A, 4B, 5A, 5B).

[0063] Figure 2 illustrates the normalized response spectra of human retina cones (or spectral sensitivity functions). Electromagnetic radiation is characterized by its wavelength (or frequency) and its intensity. The range of wavelengths humans can perceive is approximately from 380 nm to 780 nm. When the wavelength is within this range, it is known as “visible light”. Perception of color is based upon the varying sensitivity of different cells in the retina (color receptors: cones and rods) to light of different wavelengths. Human observers have three types of color receptors, known as cone cells. This confers trichromatic color vision, cones being usually labeled either according to the wavelengths of the peaks of their spectral sensitivities: short (S), medium (M), and long (L), or simply according to the primary colors those peaks are centered on: Blue, Green, or Red as illustrated in figure 2.

[0064] Trichromatic theory teaches us that the color a human observer perceives of a light spectrum can be characterized by 3 single scalar values. From a mathematical point a view, this initial step of human vision could be compared to that of a triple-kernel energy computation process. Let si(X) be the wavelength response of a given light spectrum, and 1(X), m(X), and s(X) be respectively the spectral sensitivity functions of the L, M, and S cones, equation 1 below defines Li, Mi, and Si. These are the 3 scalar values that characterize the color of spectrum s i (X) seen by a human observer.

[0065] Lt= fSl(X).l(X)dX

[0066] + CX3

[0067] Mi = fSi(X).m(X)dX (1)

[0068] + .50

[0069] Si = fSi(X).s(X)dX

[0070] Although the spectrum of light reaching the eye from a given direction determines the color sensation in that direction, there are many more possible spectral combinations that result in the same color sensations. In colorimetry, the term metamerism refers to the matching of a same apparent color of light signals with different spectral power distributions. Color spectra that match this way are called metameric spectra. Based on Equation (1), the mathematical definition of metamerism would be VX 6 R, X being expressed in nm: where s I (? ) and s2(X) are the spectral compositions of two metameric (yet different) spectra.

[0071] The term spatial resolution refers to the distance between independent measurements, or the physical dimension that represents a pixel of an image. It is thus the distance between two adjacent pixels of a displayed image. Visual acuity of human eye limits the spatial resolution that the visual system can process. According to various studies performed, human visual system can discern spatial differences of ~0.6 arcminutes. As T x JI / (60 x 180) = 0.0002909rad, 0.6 arcminutes = 0.0001745328rad. Above a given viewing distance, two adjacent pixels cannot be resolved, they are perceived as a single pixel. The luminous power from the various subpixels is summed up and this gives the apparent continuity of images as seen on a screen. This is the notion of spatial fusion. Embodiments described herein are designed to benefit from the visual fusion of the human visual system and more particularly, the unification of visual excitations from the corresponding retinal images of adjacent pixels into a single visual percept. For example, the usual viewing distance for a mobile phone screen is 25-30cm. So, if the distance between two-point size light sources is less than 0.044-0.052mm, they will appear as single source. For a TV screen, if the distance between two-point size light sources is less than 0.52mm, they will appear as single source.

[0072] At least one technique uses these principles to determine a pair of colors that, when being spatially combined, is perceived by a human observer as another (single and stable) color. Indeed, the technical effect used herein relies on the visual fusion characteristic of the human vision system. In other words, when visualizing a display of spatially alternating complementary colors, the human visual system perceives a single corresponding color that visually has the same perceptual characteristics.

[0073] Therefore, the high-level principle of a first technique to minimize the energy consumption can be considered as adding a dimension to the image signal by replacing a color by two visually complementary colors, the two colors being arranged spatially. The two adjacent pixels of spatially alternating complementary colors would be perceived by the user as a single pixel with maximal visual similarity. This principle is herein named spatially alternating complementary colors (SACC).

[0074] A first technique to reduce the energy needed to display the modified pixels on a display device is based on modifying a pair of color pixels using SACC while preserving as much as possible the visual similarity with the original pair of pixels and quality of experience. Such methods exploit the principle of visual and spatial fusion and propose to set the colors of a pair of adjacent pixels of the image to a pair of spatially alternating complementary colors requiring less energy for display. A pair of spatially alternating complementary colors is selected so that the average color of the pair of colors is perceptually identical to an input color or an average of input colors and the energy of the pair of colors is lower than the energy of the input color. The term “energy of the color” should be understood here as the energy needed for rendering a pixel of the color.

[0075] Different types of spatial replacement are described: pixel doubling, pixel skipping and pixel averaging.

[0076] A first method for SACC is based on pixel doubling (it may also be understood as pixel splitting). In other words, the number of pixels of an input image is doubled to create a couple of adjacent pixels, either in width only or in height only or in both dimensions, thus adding new “duplicated” pixels forming the second half of the pair of adjacent pixels. A pixel of the original image is replaced by two pixels of same color (thus the notion of splitting). The pair of adjacent pixels (an original pixel and a duplicated pixel) is then replaced by a pair of pixels of spatially alternating complementary colors, in other words, the pair of spatially alternating complementary colors is assigned to the adjacent pixels. In the case where the original content sent to a display is of a lower resolution than the resolution of the display, some internal upsampling is usually undergone inside the display itself. In such case, this upsampling may be replaced by this first embodiment based on pixel doubling which implicitly uses an upsampled resolution.

[0077] A second method for SACC is based on pixel skipping where one pixel over two is set free by cancelling the content initially displayed on it, and the pair of spatially alternating complementary colors is determined based on the color of the first pixel of each adjacent pair of pixels of the original image only, thus no more taking into account the color of the second pixel of the original pair. This allows to set the colors of an original pair of adjacent pixels by a pair of spatially alternating complementary colors: the first pixel of the original pair being assigned the first color of the pair of spatially alternating complementary colors, and the second pixel of the original pair being assigned the second color of the pair of spatially alternating complementary colors.

[0078] A third method for SACC is based on pixel averaging where the pair of spatially alternating complementary colors is determined based on an average color computed from the colors of the first and second pixels of a couple of adjacent pixels of the original image. The first pixel of the original adjacent pair is assigned the first color of the pair of spatially alternating complementary colors and the second pixel of the original adjacent pair is being assigned the second color of the pair of spatially alternating complementary colors. Unlike the second embodiment based on pixel skipping, this embodiment takes into account the colors of all the pixels of the original image or video.

[0079] For all three embodiments, different arrangements of adjacent pixels can be used, for example based on stripe patterns, mosaic patterns or random patterns.

[0080] The notion of adjacent pixel is introduced above to facilitate the understanding. However, the three SACC methods described above share the same principle of replacing an input pixel of an input color by a couple of pixels of spatially alternating complementary colors.

[0081] Figure 3A illustrates examples of transformation of colors into complementary colors according to the technique of spatially alternating complementary colors. In this figure, the line

[0082] 300 corresponds to an extract of an original image and represents a line of pixels 301 to 306. The three numbers inside each block correspond to the color of the corresponding pixel, represented by RGB values here expressed using an 8-bit depth. For example, the first pixel

[0083] 301 is defined by the following values for the color components of the pixel: 147 for red, 107 for green and 0 for blue. This results in a brown pixel. The colors of the other pixels are respectively medium grey for second pixel 302, navy blue for the third pixel 303, dark magenta for the fourth pixel 304, reddish brown for the fifth pixel 305, and bright green for the sixth pixel 306.

[0084] The figure illustrates a method based on pixel doubling in horizontal direction. For that, it is necessary to duplicate the pixels 301 to 306, thus leading to the line 310 where for example the pixel 301 is duplicated into pixels 301’ and 301”. In this embodiment, the pixels whose color is to be replaced are horizontally adjacent, in other words, the pixels 301 ’ and 301” for a pair of adjacent pixels, the next pair is 302’ and 302”, and so on up to the pair 306’ and 306”.

[0085] Line 310 shows a set of pairs of pixels (301A, 301B to 306A, 306B) having spatially alternating complementary colors and used to replace the original pixels 301 to 306. Similar to line 300, the values inside the blocks represent the colors of the pixels. Thanks to the spatial fusion of the human visual system, the spatial arrangement of the green pixel 301A and the red pixel 301B is perceived by a human observer as a brown pixel identical in perceived color to pixel 301, or more generally to the combination of pixels 301’ and 301”. A complete example is described below in relation with figure 3B. In other embodiments, for example when increasing the image resolution is not possible, other techniques are used, such as pixel skipping or pixel averaging.

[0086] Figure 3B illustrates examples of replacement of a pixel by a pair of pixels according to the technique of spatially alternating complementary colors. In the figure, the array 340 represents an example of an original (i.e., before being modified) image to be displayed, here comprising three rows of four pixels each (for the sake of simplicity of the drawings). Each pixel is represented by a rectangle comprising a color value according to the colors defined in figure 3A. For example, the pixel 341 in the upper left comer is a brown pixel. In a first variant of such embodiment (not illustrated), the width is doubled compared to the original image. For example, if the input image would have a resolution of 1920 by 1080 pixels, the modified image where the original pixels would be replaced by spatially alternating complementary color pixels would have a resolution of 3840 by 1080 pixels. In a second variant of such embodiment (not illustrated), the height is doubled compared to the original image. For example, if the input image would have a resolution of 1920 by 1080 pixels, the modified image where the original pixels would be replaced by spatially alternating complementary color pixels would have a resolution of 1920 by 2160 pixels.

[0087] In a third variant of such embodiment as illustrated in the figure, both the width and the height are doubled compared to the original image. For example, if the input image would have a resolution of 1920 by 1080 pixels, the modified image where the original pixels would be replaced by spatially alternating complementary color pixels would have a resolution of 3840 by 2160 pixels. In other words, each pixel would be replaced by a set of four pixels of two spatially alternating complementary colors. The array 350 represents an image based on the original image of array 340 and modified according to this third variant. The processor first inserts additional columns (second, fourth, sixth and eight columns) and lines (second, fourth, sixth and eight lines) to create duplicate pixels. Then the processor selects a first pair of adjacent pixels, for example the horizontal pair of pixels 351 and 352. From the color (301) of the original pixel 341 , the processor determines a pair of spatially alternating complementary colors (301A, 301B) that, when combined, look identical in perceived color to the original color 301 but require less energy for its display. This process may use a table storing an association between a color and a pair of colors looking similar in perceived color but requiring less energy. These colors are then used to set the colors of the pair of adjacent pixels. As a result, the color of pixel 351 is set to 301A while the color of pixel 352 is set to 301B. The process is iterated over all pairs of adjacent pixels in both the horizontal and the vertical directions. The result is a modified image, whose pixels have the value of the array 350, that looks identical to the original image but requires less energy for its display when displayed on a screen. For example, the brown pixel 341 is replaced by four pixels 351, 352, 353, 354 of respective colors values 301A (green), 301B (red), 301B (red) and 301A (green). The determining of the pair of spatially alternating complementary colors corresponding to the color 301 of original pixel 341 needs to be done only once. It results on the pair (301A, 301B) that is applied onto the 4 pixels 351, 352, 353, 354 in a mosaic arrangement (i.e., changing the order between the colors of the pair for the second line) to provide a good spatial distribution of the colors.

[0088] The first and second variants may be implemented internally in a display panel by physically doubling the number of pixels in one of the directions but without providing access to the additional pixels to the outside world. The third variant is of more general use. Indeed, the resolution of content currently available is often inferior to the capabilities of the display device. It is quite common to have a full HD content (1920x1080) displayed on a UHD-capable (3840x2160) or4K-capable (4096x2160) device. Therefore, this technique could be considered as a simple upscaling function that while providing the additional pixels for the upscaling also provides a reduction of the energy required for displaying the upscaled image.

[0089] In these embodiments, the first pixel of a pair of pixels is always replaced by the first color of the pair of spatially alternating complementary colors. In at least one embodiment, an altemance is introduced between lines (respectively columns) regarding the order of selection of the pair of colors. In a first line (respectively column), the color of the first pixel of a pair of pixels is replaced by the first color of the pair of spatially alternating complementary colors and the color of the second pixel of a pair of pixels is replaced by the second color of the pair of spatially alternating complementary colors but in the second line (respectively column), the color of the first pixel of a pair of pixels is replaced by the second color of the pair of spatially alternating complementary colors and the color of the second pixel of a pair of pixels is replaced by the first color of the pair of spatially alternating complementary colors.

[0090] A second technique to minimize the energy consumption uses temporally alternating complementary colors to modify an image. This second technique is based on the principles described in relation with figure 2 and the principles described hereafter in figures 4A and 4B.

[0091] Figure 4A illustrates the temporal contrast sensitivity function for various adapting fields. In the spatial domain, spatial vision can be characterized by the contrast sensitivity function (CSF). To thoroughly investigate the visual system sensitivity to flicker, a Temporal Contrast Sensitivity Function (TSF) or a De Lange function can be plotted (De Lange, 1958). A TSF is a plot of how flicker varies with contrast and vice versa. In this figure, the area above the curve represents the area where no flicker is perceived by a human observer and the area below the curve represents the area where flicker is perceived. The eye appears to be most sensitive to a flicker frequency of 15 to 20 Hz at higher luminances (photopic vision). At photopic light levels, less than 1% contrast is required to detect the stimulus and the high temporal frequency cut off is close to 60 Hz. At lower light levels the maximum contrast is about 20% and the high temporal frequency cut off is approximately 15 Hz. To detect flicker of high frequencies, maximum contrast is required. Temporal resolution is not as efficient at low luminances (scotopic vision).

[0092] Figure 4B illustrates the modulation sensitivity as a function of frequency for luminance and chromatic flicker. In this figure, the luminance levels are measured in trolands (td) that characterize retinal illuminance. This figure was obtained by psychovision studies, in atypical application of Heterochromatic Flicker Photometry (HFP). The participants viewed a stimulus that alternated rapidly in time between two lights of different colors; the participant then had to adjust the intensity of one of the two lights (i.e., the amplitude of the light’s spectrum) to minimize the sensation of flicker produced by the alternating lights. The figure on the left side is related to luminance flicker while the figure on the right side is related to chrominance flicker. HFP has long been the standard psychophysical method for finding equiluminant colors.

[0093] While the SACC technique previously described is based on spatial fusion, another technique, hereafter named Temporal Alternating Complementary Colors (TACC) is based on temporal fusion. The principles illustrated in figures 5A and 5B are used to determine a pair of colors that, when being temporally combined, are perceived by a human observer as another (single and stable) color. The technical effect used herein relies on temporal psychovisual modulation and the existence of a maximum cutoff frequency in the flicker sensitivity of human eye. Therefore, the high-level principle of TACC can be considered as adding a dimension to the image signal by temporally duplicating each pixel into two visually complementary temporally successive pixels and using this added dimension to minimize the pixel equivalent energy consumption. The two temporally successive pixels would be perceived by the user as a single pixel if the altemance between these pixels is faster than the flicker fusion frequency.

[0094] Normal flicker fusion frequency is about 50Hz to 60Hz and depends on retinal illumination. However, sensitivity to flicker in equiluminance situations is smaller (20Hz to 30Hz) than in situations where luminance varies between the two images of a pair. Then with the additional specific condition that the difference in luminance between two colors is small enough, flicker caused by the alternation of two colors is minimal. This equiluminant condition, mixed with the basic colors altemance configuration, can be used to limit the visibility of flicker.

[0095] Figure 5A illustrates examples of transformation of colors into complementary colors according to the technique of temporally alternating complementary colors. In this figure, the line 500 shows a succession of pixels 501 to 506. The three numbers inside each block correspond to the color of the corresponding pixel, represented by RGB values expressed using an 8-bit depth. For example, the first pixel is defined by the following values for the color components of the pixel: 147 for red, 107 for green and 0 for blue. This results in a brown pixel. The colors of the other pixels are respectively medium grey for second pixel 502, navy blue for the third pixel 503, dark magenta for the fourth pixel 504, reddish brown for the fifth pixel 505, and bright green for the sixth pixel 506.

[0096] Line 510 shows a set of pairs of temporally successive pixels (501A, 501B) to (506A, 506B). These pairs of temporally successive pixels correspond to the alternating complementary colors that could be used to replace the original pixels 501 to 506. Similar to line 500, the values inside the blocks represent the colors of the temporally successive pixels. In at least one embodiment, the temporally successive pixels are half the duration of the original pixels. In other words, a first image frequency (for instance 60Hz) is doubled into a second image frequency (for instance 120 Hz) and an input image is decomposed into an output image pair displayed at the second image frequency. For example, the pixel 501 displayed in the input image at a frequency of 60 Hz could be replaced by the succession of the pixels 501A (green pixel) and 501 B (red pixel) displayed at a global frequency of 120 Hz. The succession of the green and red pixels is perceived by a human observer as a brown pixel, thanks to the heterochromatic flicker fusion. A complete example is described below in relation with figure 5B.

[0097] Figure 5B illustrates examples of replacement of a pixel by a pair of pixels according to the technique of temporally alternating complementary colors. In this embodiment based on frame doubling, the display frequency is doubled compared to the original image frequency. For example, if the sequence of images was intended to be displayed at 50Hz, the display frequency is doubled to display a sequence of modified images at 100Hz, allowing to replace the original pixels by alternating complementary color pixels and thus allowing to reduce the energy consumption of the display while preserving the quality of experience.

[0098] In the figure, the line 550 represents a temporal sequence of original (i. e. , before being modified) images to be displayed, here comprising three images 551, 552, and 553. These images are displayed respectively during the periods tl, t2 and t3. In the example of a 50Hz display frequency, the length of these periods is 20ms. For the sake of simplicity of the drawings, the images 551 , 552, and 553 are composed of 2 rows of three pixels each. The pixels are represented here by numbered blocks. The number identifies the pixel color with reference to the colors introduced in figure 5 A. For example, the first line of image 551 is composed of pixels 301, 302, and 303. Therefore, the first pixel 301 of this line is brown with RGB value of 147, 107, 0, the second pixel 302 is navy blue with RGB values of 127, 141, 141, and the third pixel 303 is dark magenta with RGB values of 82, 108, 160. In the second line, the three pixels are respectively navy blue, brown and dark magenta.

[0099] The line 560 represents a temporal sequence of the modified image to be displayed, comprising images 561, 562, 563, 564, and 565. Each of these images is displayed for half the duration compared to the line 550, in correspondence with the frequency doubling. Therefore, the initial 50Hz display frequency for line 550 is doubled to 100Hz in line 560 and the periods tlA, tlB, t2A, t2B and t3A are 10ms long. Compared to line 550, a double number of images are displayed in line 560. This allows to insert intermediate images to introduce the alternating complementary color pixels, thus allowing to reduce the energy consumption when displaying the image.

[0100] For each pixel of the original image 551, a color pair is determined as described earlier in relation to figure 5A. This color pair is used to define a first pixel of the first color of the color pair for image 561 and a second pixel of the second color for image 562, the two pixels being displayed successively at the double frequency of the expected display of the original pixels. For example, the brown pixel 301 of image 551 is replaced by a green pixel 301 A in image 561 and a red pixel 301B in image 562. These replacement red and green pixels are displayed half the time of the original brown pixel. As described previously, thanks to the human visual system color fusion, when displayed in altemance at a double frequency, these pixels will be perceived by a human viewer as having the brown color of pixel 301, while requiring less energy for their display.

[0101] The frame doubling mechanism for pixel replacement by alternating complementary color pixels has been presented in figure 5B when applied to a sequence of images, in other words, a video. However, the same principle applies when displaying a single static image (e.g., text edition application on a computer screen content, configuration screen on a tablet, email application on a smartphone, static image on an advertisement screen, etc). In this case, the figure 5B would be restricted to the elements related to image 551 (the single image to be displayed) and the images 561 and 562. Instead of conventionally displaying the image 551 at a given frequency, the images 561 and 562 would be displayed in altemance at a double frequency.

[0102] In other embodiments, for example when doubling the display frequency is not possible, other techniques are used to replace a color by a pair of colors, such as frame skipping or frame averaging. For both techniques, referring to figure 5B, the original video would display a second image (551’) during tl between the image 551 and the image 552. The frame skipping method simply discards this second image 551’ so that the same principles than the frame doubling technique described above apply. The frame averaging method also discards this second image 551’ but before that, the values of pixels of the image 551 are replaced by the average values of pixels of the image 551 and of the discarded image 551’. After that step, the same principles than the frame doubling technique described above apply.

[0103] Both the SACC and TACC techniques are based on an association between an input color and a pair of replacement colors. This association is determined by selecting the pair of colors that satisfies two conditions: visual identity and energy reduction. The first condition is that the average of the colors of a couple of pixels of the pair of replacement colors in a SACC or TACC modified image is equal to the level of the color of a pixel of the input color in the input image. This means that the pair of replacement pixels will be perceived by a viewer as identical to the input pixel. The second condition is that the energy needed to display the pair of replacement colors in a SACC or TACC modified image is lower than the energy needed to display the input color. In practice, this is not feasible for every input pixel. In an optimal implementation of SACC or TACC, the color pair chosen is the pair that provides the highest energy reduction.

[0104] Embodiments described hereafter have been designed with the foregoing in mind and provide an ACC module, supporting the SACC or TACC methods, that takes as input an image and ACC-related metadata, and produces as output one (SACC) or two (TACC) images transformed with the ACC process. The ACC module uses a specific data structure based on a single-color-in - double-color-out look-up table, hereafter named ACC-LUT and uses a corresponding algorithm to build the ACC-LUT. The ACC-LUT is used by one of the SACC or TACC methods to produce modified images, for example with reduced energy consumption. Embodiments comprise different methods for the reconstruction of the ACC-LUT based on different variations of ACC-related metadata.

[0105] Although described in the context of energy reduction, the purpose of the ACC-LUT may target another objective. Indeed, any image processing application using a double color look-up table may benefit from a data structure like the ACC-LUT described herein.

[0106] Embodiments may use any color encoding representations, for example RGB, YUV, Lab with the adequate adaptations in the below formulations.

[0107] ACC processing is strongly related to the display model and characteristics. For this reason, the proposed ACC module may be located at the very end of the color processing chain, for example in the display device after any color processing usually provided by the manufacturer in TV sets. In this position, the correspondence between original colors and color pairs has more relevance and stability compared to other locations for the ACC module in the processing chain.

[0108] Embodiments describe hereafter different techniques to construct and optimize an ACC-LUT to be used in the ACC module, as well as the metadata needed to represent the ACC related parameters and consider an implementation of these elements in display devices such as a television, a monitor, a smartphone, a tablet, a vehicle entertainment system, and the like.

[0109] Figure 6 illustrates an ACC module implemented in a display processing chain according to embodiments. The ACC module 600 is for example implemented in display devices such as a television, a monitor, a smartphone, a tablet, a vehicle entertainment system, and the like. The ACC module may also be implemented in other devices that do not comprise a display such as a set top box, a cable television receiver, a satellite television receiver and the like. It may be implemented as a hardware or software module or a combination of both. The ACC module 600 receives an input image 650 and provides one or more output images 651 for which colors of the pixels have been transformed, for example to obtain an energy reduction based on a SACC or TACC method. The ACC module obtains ACC related metadata describing pre-processing parameters, post-processing parameters, algorithm parameters, LUT information. Some of these parameters are optional (e.g.: post-processing parameters). The ACC module may comprise an ACC pre-processing unit, an ACC LUT reconstruction unit, an ACC-LUT (double color look-up table), and an ACC post-processing unit.

[0110] The ACC pre-processing unit 612 is optional and may be bypassed when no preprocessing operation is required and / or when no pre-processing parameters are available. It may be used for example to prepare the image data before applying the ACC process, for example for pixels doubling (upsampling), skipping or averaging in the case of SACC as described in relation with figure 3B or frame doubling, skipping or averaging in the case of TACC as described in relation with figure 5B. In at least one embodiment, default preprocessing operations are specified.

[0111] The ACC post-processing unit 613 is optional and may be bypassed when no postprocessing operation is required and / or when no post-processing parameters are available. In at least one embodiment, default post-processing operations are specified. It may be used for example to prepare the image data after having applied the ACC process, for example for pixels interleaving to avoid flickering as described in EP application 22306994.9.

[0112] The ACC-LUT construction unit 611 obtains the LUT information allowing to reconstruct the appropriate ACC-LUT 601 (more exactly the double color look-up table). In at least one embodiment, this reconstruction is iterated on a set of colors, for example a predetermined set of colors or all colors of the color space. In this case, pixels of the input image are only taken into account once the reconstruction is completed. In another embodiment, the reconstruction is performed by iterating on the pixels of the input image, i.e., determining the values for the double color look-up table for the color of a pixel of the input image. In this case, the ACC-LUT construction unit also receives the input color, after preprocessing if needed, (dotted line on the figure). In both cases, the double color look-up table may not be fully reconstructed since the input image may not comprise all colors of the color space. However, this method is more efficient since it does not reconstruct non-used entries of the LUT therefore less computations are required.

[0113] The ACC module 600 obtains the algorithm parameters allowing to select the appropriate ACC algorithm, for example selecting between SACC and TACC, or for example selecting between different possible LUT reconstruction algorithms. The ACC module 600 obtains the input image 650 and applies the selected ACC algorithm to pixels of the image (for example to each pixel of the image) by determining pairs of colors for colors of the pixels of the image according to the reconstructed ACC-LUT 601. In embodiments using SACC, the ACC module 600 generates the output image 651 with spatially alternating complementary colors. In embodiments using TACC, the ACC module 600 generates a pair of output images 651 with temporally alternating complementary colors.

[0114] In at least one embodiment, the ACC module 600 is inserted after any color adjustment performed in the display, such as the color modes selection (e.g.: Dynamic / Vivid - Standard - Natural - Movie / Cinema -Sports - Game, etc.) or any other color modification corresponding to a configuration setting, in other words, after any color processing done under control of the manufacturer or any other third party. In such situation, the ACC module 600 only depends on the display panel characteristics, thus on less parameters.

[0115] In at least one embodiment, instead of locating the ACC module 600 at the most final stage of color processing, the ACC module 600 can be located before some additional processing, e.g., from the display. In this case, the data structures or functions can as well be related to a given setup of the considered display for example implementing or considering TV modes modifying colors (like cinema or gaming mode, sensor mode, etc.). Such other embodiments, although feasible, add complexity to the calibration and data management and are less recommended as possibilities are multiple and add complexity compared to the simpler first embodiment, however they may still be considered in some specific embodiments, possibly a large number actually.

[0116] In embodiments, the LUT information obtained from the ACC metadata does not comprise an entry for each color value but is subsampled to a lower color resolution to reduce the amount of data. In this case, the ACC LUT reconstruction unit 611 performs some interpolation to generate an ACC-LUT 601 with full color resolution.

[0117] Figure 7A illustrates an example of usage of the alternating complementary color lookup table according to embodiments. The decomposition of original colors into color pairs has been described with various solutions related to SACC or TACC in the above listed applications. In all cases this decomposition is mainly dependent on the display electrical and optical (color rendering) characteristics. Basically, the decomposition is defined by the minimization of the consumed power, preserving color rendering when replacing an original pixel color by the two alternating colors of a color pair. The result of this minimization generates an ACC-LUT, for example implemented as a single-color-in - double-color-out look-up table allowing to establish a correspondence between the source color set (the set of original colors of an input image) and a double color destination set (the color pairs used by the ACC process). In other words, the ACC-LUT associates each input color with a corresponding pair of (output) colors. The single-color-in - double-color-out look-up table may be implemented as a pair of look-up tables, a first look-up table ACC-LUTA for the first color of the pair of colors, and a second look-up table ACC-LUTB for the second color of the pair of colors.

[0118] Embodiments herein rely on data structures and / or functions, and their usage to form algorithms that will construct an ACC-LUT. A data structure is for example a color look-up table, possibly with adjunct functions. A data structure may also be another generic or specific data structure or function. A simple definition of a color look-up table is “a matrix of color data that is indexed in order to change a source set of colors to a destination set”. For example, LUT indices are the original colors RGB values. In such classical usage of a 3D look-up table, the number of parameters that require storage or transmission may be lowered to decrease the number of nodes and thus the size of the data to be stored and / or transmitted. For example, a 256A3 look-up table gives the full resolution for a 3x8 bits video or image signal by providing an 8-bit resolution for each of the RGB component. In this case, there is no need of interpolation. However, the corresponding data may be too large to be used practically. It is therefore common to down-sample the color resolution. Every lower color resolution actually needs interpolation and when using the look-up table, one color over 256 / N is interpolated in each of the R, G or B direction. In practice, color look-up tables often mix indexing and mathematical function. A function, as defined herein, is the use of mathematics to convert source colors into destination colors in a similar way as a color look-up table does, or as a complement to a color look-up table. Interpolation functions (which are part of color look-up tables) and color transform functions (an additional mathematical transformation to change color space) are some examples of adjunct functions.

[0119] Any other ways of implementing a data structure representing such correspondence may be used. The term look-up table should here be understood as the generic solution for implementing such correspondence.

[0120] In the example of the figure, the ACC-LUT 701 provides the correspondence between the input color 702 (a brown pixel like element 301 of figure 3A or element 501 of figure 5A) into the pair of output colors 702A (a green pixel like element 301A of figure 3A or element 501A of figure 5A) and 702B (a red pixel like element 301B of figure 3A or element 501B of figure 5A). The correspondence may be implemented as the combination of two look-up tables ACC-LUTA 701A and ACC-LUTB 701B. Embodiments herein describe how to optimize the reconstruction of these correspondences.

[0121] In the frame of the present embodiments, the source color set (the set of original colors) has a double destination set (storing each corresponding ACC color pair). Embodiments herein describe how to optimize the retrieval of ACC metadata for the purpose of the ACC processing and how a receiver can reconstruct the double color look-up table from these metadata. Indeed, the ACC-LUT is reconstructed by the display device from the obtained ACC metadata. Different examples to prepare and reconstruct the ACC-LUT from data structures and / or functions are illustrated in figures 7B to 7D. In these figures, the elements in the middle represent the LUT information that are part of the ACC metadata transmitted to a display device. The left side illustrates how an encoder or transmitter device packages the ACC-LUTA and ACC-LUTB into information to be transmitted with the ACC metadata, while the right side illustrates the operations performed by a receiver (for example a display device) to reconstruct ACC-LUTA and ACC-LUTB from the information retrieved from the ACC metadata.

[0122] In all embodiments and variants described below, the look-up tables may be subsampled at their generation and interpolated when being used. This allows to reduce the size of these tables.

[0123] In all embodiments and variants described below, the look-up tables may be reconstructed iteratively. In other words, adding a new entry in the look-up table when a new input color (i.e., an input color for which no association exists in the look-up table) is obtained. This allows to minimize the computation by preventing any unnecessary operation.

[0124] Figure 7B illustrates an example of ACC metadata and ACC-LUT reconstruction according to a first embodiment. This is the simplest embodiment where the ACC metadata comprises one look-up table LUTA (713) representing the look-up table ACC- LUTA ( 10) for the first color of the pairs of colors and a second look-up table LUTB (714) representing the look-up table ACC-LUTB (711) for the second color of the pairs of colors. No real reconstruction is needed at the receiver side to obtain the ACC- LUTA (715) and ACC- LUTB (716) to be used since it is directly the information as LUTA ( 13) and LUTB (714).

[0125] Based on this principle, the receiver obtains directly (except an interpolation if the table was subsampled) the look-up tables LUTA and LUTB indexed by an input color Ci from the ACC metadata. These look-up tables are used to determine a pair of output colors corresponding to an input color of a pixel by getting the values of each of the tables corresponding to the input color value. This pair of colors may then be used by the SACC or TACC algorithm with the determined pair of colors. In summary:

[0126] The pair of colors obtained through these look-up tables is then used according to the SACC or TACC to modify the color of a pixel. Figure 7C illustrates an example of ACC metadata and ACC-LUT reconstruction according to a second embodiment. This embodiment is based on using a differential value instead of the look-up table for the second color of the pair of colors. On the encoding side, the ACC metadata for the second color of the pair of colors is a differential look-up table LUTA

[0127] (725) obtained by subtracting (722) the values of the look-up table ACC- LUTB (721) for the second color of the pair of colors from the values of the look-up table ACC- LUTA (720) for the first color of the pair of colors. The operations are performed separately on each color component. Obviously, values of the differential look-up table LUTA may be negative. For the first pair, the ACC-LUTA is directly packaged as LUTA (724). On the receiver side, the receiver obtains the ACC- LUTA (728) from LUTA (724) and reconstructs ACC- LUTB (729) by adding

[0128] (726) LUTA (724) and LUTA (725). In summary:

[0129] As described above, the pair of colors obtained through the look-up tables LUTA and LUTA is then used according to the SACC or TACC to modify the color of a pixel.

[0130] Figure 7D illustrates an example of ACC metadata and ACC-LUT reconstruction according to a third embodiment. This embodiment is based on using a differential value based on an approximation of a color symmetric to the first color of the pair of colors instead of the look-up table of the second color of the pair of colors. In such embodiment, the encoding of the look-up table may be more efficient since the range of values for the look-up table of the second color of the pair is lower than the total range. On the encoding side, the ACC metadata for the first color of the pair is directly using ACC-LUTA (730), directly packaged as LUTA

[0131] (735). For the second color of the pair, the ACC metadata is a differential look-up table LUTA’

[0132] (736) obtained by subtracting (734) the values of the look-up table ACC- LUTB (731) from the result of the subtraction (733) of the values of the look-up table ACC- LUTA (730) from the values of the input color , which serves as index of the look-up tables, multiplied by two (732). Obviously, values of the differential look-up table LUTA’ may be negative. Since the operations are not performed in a uniform color space, the result of the operation 733 is only an approximation of the second color of the pair of colors, so that LUTA’ represents the correction needed when performing the same approximation on the receiver side. On the receiver side, the receiver obtains the ACC- LUTA (740) from LUTA (735) and reconstructs ACC- LUTB (741) by adding (739) the values of the look-up table LUTA’ (736) from the result of the subtraction (738) of the values of the look-up table ACC- LUTA (735) from the values of the input color multiplied by two (737). The operations are performed separately on each color component. As introduced above, the reconstruction operations may be performed on all colors or a subset of colors of the color space, or on all color of a subset of colors of the colors of the input image. Indeed, the operations 737 and 738 allow to reconstruct an approximation of the color CStthat is symmetric to the color of the first color of pair of colors. Operation 739 then allows to reconstruct the second color of the pair of colors. In summary:

[0133] As described above, the pair of colors obtained through the look-up tables LUTA and LUTA’ is then used according to the SACC or TACC algorithm to modify the color of a pixel.

[0134] Figure 7E illustrates an example of ACC metadata and ACC-LUT reconstruction according to a fourth embodiment. This embodiment is based on using a differential value based on an average color of the pair of colors. In such embodiment, the encoding of the lookup table may be more efficient since the range of values for the look-up table of the second color of the pair is lower than the total range. On the encoding side, the ACC metadata for the first color of the pair is directly using ACC-LUTA (750), directly packaged as LUTA (752). For the second color of the pair, the ACC metadata is a differential look-up table LUTA” (753) obtained by subtracting from an input color , which serves as index of the look-up tables, the average values of the look-up tables ACC- LUTA (750) and ACC- LUTB (751). Obviously, values of the differential look-up table LUTA” may be negative. On the receiver side, the receiver obtains the ACC- LUTA (754) from LUTA (752) and reconstructs ACC- LUTB (755) by adding, for a given input color , the value of the input color to the corresponding differential look-up table LUTA” value, multiplying the result by two and subtracting the ACC- LUTA (754) values. In summary: As introduced above, the reconstruction operations may be performed on all colors or a subset of colors of the color space, or on all color of a subset of colors of the colors of the input image.

[0135] Variant embodiments of the first, second, third and fourth embodiments are operating in the RGB color space, i.e., performing operations directly on the RGB values. In this case, the formulas introduced above are modified as follows.

[0136] For the second embodiment:

[0137] For the third embodiment:

[0138] For the fourth embodiment:

[0139] As described above, the pair of colors obtained through these look-up tables is then used according to the SACC or TACC to modify the color of a pixel.

[0140] Other embodiments are based on performing the operations in a uniform color space, for example CIELab, IPT, OKLab or others. Uniform color spaces are built such that the same geometrical distance anywhere in the color space reflects the same amount of perceived color difference in human vision. Since images are conventionally using RGB values, color transforms are used to operate in a uniform color space, for example to transform RGB values into so-called Lab coordinates. Most often forward color transforms Lab = TT RGB) act on RGB to compute first CIE)XYZ and then Lab or equivalent visual coordinates RGB -» XYZ -» Lab. Lab coordinates can also be computed directly from RGB: RGB -» Lab. To go back to RGB, inverse color transforms RGB = JT Lab) apply inverse operations Lab -» XYZ -» RGB or Lab -» RGB . Parameters of the forward and inverse transform functions TT ( ) and JT( ) may be pre-determined (for example part of the firmware) or may be obtained as metadata in case of variation of these functions.

[0141] Figure 7F illustrates an example of ACC metadata and ACC-LUT reconstruction according to a fifth embodiment. This embodiment operates in a uniform color space, for example Lab color space, and uses a color space conversion function as part of the color LUT processing. On the encoding side, the ACC metadata for the first color of the pair of colors is using ACC-LUTA (760, 763) directly packaged as LUTA (762). Contrary to the former embodiments, in this embodiment no ACC metadata is signaled for the second pair. Instead, the receiver reconstructs the second color of the pair of colors as the symmetrical color of the first color of the pair of colors with regard to a given input color. When a color RGBt is received as input, this color is transformed using a forward transform (764) into Lab color space, thus obtaining the lab coordinates Lab^. The corresponding first color RGBAiof the pair of colors is obtained from the color look-up table based on the input color and transformed into Lab color space using a forward transform operation (767), thus obtaining the lab coordinates LabAi. The symmetrical color for the first color of the pair of color is then computed (765, 766) in the Lab color space as LabBi= 2 Labi — LabAi. The operations are performed separately on each color coordinate. The Lab coordinates are transformed back into RGB values using the inverse transform (768). In summary:

[0142] This variant embodiment allows important gains in transmission since only a single color look-up table comprising the set of first colors of the set of pairs of colors needs to be used at the receiver side. Indeed, no information related to the original ACC-LUTB (761) are used in this case. The second pair is determined on the receiver side as the symmetrical color in a uniform color space. In one embodiment, the principle of figure 7E is used to generate a look-up table (769) for the second color of the pair of colors. In another embodiment, the principle of determining the second color as the symmetrical color as illustrated in figure 7E is used to directly generate the second color of the pair of colors so that it is not necessary to generate the look-up table (769) for the second color of the pair of colors. In addition, there is a gain in precision as the relation LabBi= 2 Labi — LabAi. corresponding to the symmetry operation, is always satisfied.

[0143] Figure 7G illustrates an example of ACC metadata and ACC-LUT reconstruction according to a sixth embodiment. This embodiment is similar to the fifth embodiment with the difference that the ACC metadata for the first color of the pair of colors does not use RGB values but uses Lab coordinates instead, in the form of a LabLUTA (773). Therefore, the computation of the symmetrical color to the first color of the pair of colors is done directly based on the elements of this look-up table. At the encoding side, the elements of the ACC- LUTA are transformed into their corresponding Lab coordinates using a forward transform (772). No metadata related to the second color of the pair of colors needs to be packaged in this embodiment. On the receiver side, the look-up table ACC- LUTA (775) for the first color of the pair of colors is converted into RGB values using an inverse transform (774). Optionally, when a color RGBi is received as input, this color is transformed using a forward transform into Lab color space, thus obtaining the lab coordinates Labi. The symmetrical color for the first color of the pair of colors is then computed in the Lab color space as LabBi= 2 Labi ~ LabAland transformed back into RGB values using the inverse transform (776). In summary:

[0144] Like the previous embodiment, this allows important gains in transmission since only a single color look-up table comprising the set of first colors of the set of pairs of colors needs to be transmitted, here using Lab coordinates instead of RGB values. Indeed, no information related to the original ACC-LUTB (771) are used in this case. In addition, there is a gain in precision as the relation LabBi= 2 Labi ~ LabAl. corresponding to the symmetry operation, is always satisfied.

[0145] The use of 3 color lists as LUTs can be replaced by a description and use of their interpolation functions from a quantized version of the LUT. A basic hypothesis in the preferred embodiment is that the decomposition introduced above is static. Indeed, and for example, on OLED displays, the color replacement of one original color by a color pair can apply to all pixels of a video, spatially and over time. This is what we mean by “static”.

[0146] In the example cases when the decomposition depends on design choices or other constraints (like TV modes), then the decomposition will need parameters to describe the various states, and these parameters need to be applied to data structures or functions.

[0147] In at least one embodiment, instead of a unique double color look-up table, multiple sets of double color look-up tables, each being associated to a specific set of parameters are used. An example is related to viewing parameters corresponding to a TV mode (cinema, game, dynamic, or other modes), selected by a configuration parameter or by a viewer through a user interface) complemented with adjustment parameters (brightness, contrast, etc.).

[0148] In at least one embodiment, instead of a unique double color look-up table, multiple sets of double color look-up tables are used, each being associated to a specific type of ACC processing (for example SACC, TACC), especially in the case where the quality of the rendered colors is taken into account to choose color pairs that reduce less the gain in terms of power consumption, but with the constraint to improve the quality of experience and reduce the flicker artifacts for example.

[0149] In at least one embodiment, instead of a unique double color look-up table, multiple sets of double color look-up tables are used, each being associated to a specific region of the input image.

[0150] Figure 8A illustrates a first example of image modification process based on ACC metadata according to embodiments. This process 800 is for example implemented in a display device 100 and executed by the processor 101 of figure 1. In step 810, the processor obtains the ACC metadata comprising at least information representative of ACC algorithm parameters and information representative of at least one look-up table. In step 820, the processor reconstructs a double color look-up table of alternate complementary colors based on the obtained information representative of at least one look-up table. The reconstructed double color look-up table comprises, for an input color, a corresponding pair of alternate complementary colors for modifying an image using alternate complementary colors algorithms. As described in the further figures, the step 820 comprises an iteration over a set of colors for determining a corresponding pair of alternate complementary colors based on the obtained ACC metadata. In this first example, the iteration is done over colors of the color space, for example a subset of colors of the color space or all colors of the color space).In step 830, the processor obtains at least one input image, for example as a part of a video sequence. In block 835, the processor iterates steps 840, 850, 860, 870 over a plurality of pixels of the obtained image, for example on all the pixels. Optionally, in step 840, the at least one input image is pre-processed. Examples of pre-processing comprise pixels doubling, skipping or averaging in the case of SACC as described in relation with figure 3B or frame doubling, skipping or averaging in the case of TACC as described in relation with figure 5B. In step 850, the processor obtains from the reconstructed double color look-up table a pair of alternate complementary colors corresponding to the color of an iterated pixel. In step 860, the processor applies the alternate complementary colors process using a selected ACC algorithm to modify the iterated pixel of the image by using the pair of alternate complementary colors. In step 870, the processor may optionally perform post-processing operations such as interleaving pixels to avoid flickering. Once all pixels have been processed by the steps of block 835, in step 880, the modified image is displayed. Thanks to the ACC processing, the energy consumption for displaying the modified image is lower than the energy that would be required to display the unmodified (i.e., input) image.

[0151] In at least one embodiment, instead of displaying the modified image, the modified image is provided, in step 890, to another device for being displayed. Such embodiment is adapted to devices like set top boxes, media players, media receivers, and those type of devices that do not comprise display capabilities.

[0152] One drawback of this first example is that the double color look-up table is fully reconstructed. This is not optimal since the image to be displayed may not comprise all colors and therefore some of the pairs of alternate complementary colors may have been reconstructed unnecessarily (i.e., never used). In a second example of image modification process described in figure 9A, the iteration is done over colors of an input image, allowing an accumulative construction of the double color look-up table of alternate complementary colors.

[0153] Figure 8B illustrates an example process for reconstructing a double color look-up table of alternate complementary colors according to the second embodiment, in the context of the first example of image modification process. The process 820B corresponds to the step 820 of the process 800 of figure 8A. In step 822B, the processor obtains information representative of LUTA from the ACC metadata. In step 824B, the processor obtains information representative of LUT from the ACC metadata. The processor iterates on steps 825B, 826B and 828B over a set of colors. In step 825B, the processor stores the value of LUTA as the value of ACC-LUTA for the color z, in other words the first color of the pair of alternate complementary colors for an input color i. In step 826B, the processor adds the value of LUT for a color i to the value of LUTA for the color i and in step 828B stores the obtained value as LUTB value for the color z, in other words the second color of the pair of alternate complementary colors for an input color i.. The result of the process 820B is a double color look-up table of alternate complementary colors to be used when applying the SACC or TACC algorithms.

[0154] The process for reconstructing a double color look-up table of alternate complementary colors according to the third embodiment is very similar to the process 820B. The only differences are related to steps 824B and 826B. In step 824B, the processor obtains the LUT ’ from the ACC metadata. In step 826B, the processor adds the value of LUTA’ for a color z to the result of the subtraction of the value of LUTA for the color z from twice the value of the color z.

[0155] The process for reconstructing a double color look-up table of alternate complementary colors according to the fourth embodiment is very similar to the process 820B. The only differences are related to steps 824B and 826B. In step 824B, the processor obtains the LUTA” from the ACC metadata. In step 826B, the processor subtracts the value of LUTA for the color z from twice the addition of the value of the color z and the value of LUTA” for a color z .

[0156] Figure 8C illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the fifth embodiment, in the context of the first example of image modification process. In this embodiment, the computations are done in a uniform color space. The process 820C corresponds to the step 820 of the process 800 of figure 8 A. In step 822C, the processor obtains information representative of LUTA from the ACC metadata. The processor iterates on steps 824C, 825C, 826C and 828C over a set of colors. In step 824C, the processor stores the value of LUTA for the color z as the value of ACC- LUTA (the first color of the pair of alternate complementary colors) for the color z and, in step 825C, applies a forward transform to determine coordinates of the first color in uniform color space. In step 826C the processor determines the value of the symmetrical color to the obtained color with regard to color z by subtracting the forward transformed value of the first color of the pair from LUTA from twice the value of the coordinates of color z in uniform color space. In step 828C, the processor stores the inverse transform of the obtained value as ACC-LUTB (second color of the pair of alternate complementary colors) for the color i. The result of the process 820C is a double look-up table of alternate complementary colors to be used when applying the SACC or TACC algorithms.

[0157] Figure 8D illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the sixth embodiment, in the context of the first example of image modification process. In these embodiments, the computations are done in a uniform color space. The difference with the fifth embodiment is that the look-up table carried by the ACC metadata is defined in a uniform color space. The process 820D corresponds to the step 820 of the process 800 of figure 8A. In step 822D, the processor obtains information representative of LUTA from the ACC metadata. The processor iterates on steps 824D, 825D, 826D and 828D over a set of colors. In step 824D, the processor obtains the value of the first color of the pair from LUTA for the color i and, in step 825D, stores the inverse transform of this value as the value of ACC-LUTA for the color i. In step 826D the processor determines the value of the symmetrical color to the obtained color with regard to color i by subtracting value of the first color of the pair from LUTA from twice the value of color i. In step 828D, the processor stores the inverse transform of the obtained value as ACC-LUTB for the color i. The result of the process 820D is a double look-up table of alternate complementary colors to be used when applying the SACC or TACC algorithms.

[0158] Figure 9A illustrates a second example of image modification process based on ACC metadata according to embodiments. This process 900 is for example implemented in a display device 100 and executed by the processor 101 of figure 1. Instead of reconstructing the complete double colour look-up table of alternate complementary colors as described in the first example of figure 8A, the process 900 proposes an accumulative construction of the double color look-up table, driven by the scanning of pixels of the image and the iterative discovery of colors. In step 910, the processor obtains the ACC metadata comprising at least information representative of ACC algorithm parameters and information representative of at least one look-up table. In step 920, the processor obtains at least one input image, for example as a part of a video sequence. In block 930, the processor iterates steps 940, 950, 960, 970 over a plurality of pixels of the obtained image, for example over all pixels. Optionally, in step 940, an iterated pixel of the at least one input image is pre-processed. Examples of pre-processing comprise pixels doubling, skipping or averaging in the case of SACC as described in relation with figure 3B or frame doubling, skipping or averaging in the case of TACC as described in relation with figure 5B. In step 950, the processor reconstructs an entry corresponding to the iterated pixel of the double color look-up table of alternate complementary colors based on the obtained information representative of at least one look-up table. The reconstructed double color look-up table comprises, for an input color, a corresponding pair of alternate complementary colors for modifying an image using alternate complementary colors algorithms. In step 960, the processor applies the alternate complementary colors process using a selected ACC algorithm to modify the iterated pixel of the image by using the pair of alternate complementary colors. In step 970, the processor may optionally perform post-processing operations such as interleaving pixels to avoid or attenuate flickering. Once the plurality or all pixels of the input image have been processed by the steps of block 930, in step 980, the modified image is displayed. Thanks to the ACC processing, the energy consumption for displaying the modified image is lower the energy that would be required to display the unmodified (i.e. , input) image. In at least one embodiment, instead of displaying the modified image, the modified image is provided, in step 990, to another device for being displayed. Such embodiment is adapted to devices like set top boxes, media players, media receivers, and those type of devices that do not comprise display capabilities.

[0159] Figure 9B illustrates an example process for reconstructing a double color look-up table of alternate complementary colors according to the second embodiment, in the context of the second example of image modification process. The process 950B corresponds to the step 950 of the process 900 of figure 9A. It is very similar to the process 820B of figure 8B, execpt that in this case, there is no iteration on colors but only the determining of a single pair of alternate complementary colors for a color of a pixel of the input image. In other words, the iteration for reconstructing the double color look-up table is done at the pace of the colors of pixels of the image. Therefore, the process 950B does not perform any iteration and is performed for a single color i of a pixel of the image. In order to further optimize the reconstruction process, the process 950B should only be performed for new colors, i.e. colors for which the reconstruction has not been performed yet. A method to signal this state could consist in filling the double color lookup table with ‘O’. If the pair of colors for an input color is the couple ‘O’, ‘O’, then the reconstruction process 950B must be performed. Any other method providing the same effect may be used such as a binary table indicating which entry of the LUT has been computed. This optimization is optional.

[0160] In step 952B, the processor obtains information representative of LUTA from the ACC metadata for the color i. In step 954B, the processor obtains information representative of LUTA from the ACC metadata for the color i. In step 955B, the processor stores the value of LUTA as the value of ACC-LUTA for the color z, in other words the first color of the pair of alternate complementary colors for an input color i. In step 956B, the processor adds the value of LUT for a color i to the value of LUTA for the color i and in step 958B stores the obtained value as LUTB value for the color z, in other words the second color of the pair of alternate complementary colors for an input color z.

[0161] The process for reconstructing a double color look-up table of alternate complementary colors according to the third embodiment (as described in figure 7D) is very similar to the process 950B. The only differences are related to steps 954B and 956B. In step 954B, the processor obtains the LUTA’ from the ACC metadata. In step 956B, the processor adds the value of LUTA’ for a color z to the result of the subtraction of the value of LUTA for the color z from twice the value of the color z.

[0162] The process for reconstructing a double color look-up table of alternate complementary colors according to the fourth embodiment (as described in figure 7E) is very similar to the process 950B. The only differences are related to steps 954B and 956B. In step 954B, the processor obtains the LUTA ” from the ACC metadata. In step 956B, the processor subtracts the value of LUTA for the color z from twice the addition of the value of the color z and the value of LUTA” for a color z.

[0163] Figure 9C illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the fifth embodiment, in the context of the second example of image modification process. In this embodiment, the computations are done in a uniform color space. The same principles related to iteration and optimization as described for 9B apply also here. The process 950C corresponds to the step 950 of the process 900 of figure 9A and is performed for a single color z of a pixel of the image. In step 952C, the processor obtains information representative of LUTA from the ACC metadata. In step 954C, the processor stores the value of LUTA for the color z as the value of ACC-LUTA (the first color of the pair of alternate complementary colors) for the color z and, in step 955C, applies a forward transform to determine coordinates of the first color in uniform color space. In step 956C the processor determines the value of the symmetrical color to the obtained color with regard to color z by subtracting the forward transformed value of the first color of the pair from LUTA from twice the value of the coordinates of color in uniform color space. In step 958C, the processor stores the inverse transform of the obtained value as ACC-LUTB (second color of the pair of alternate complementary colors) for the color i.

[0164] Figure 9D illustrates an example of process for reconstructing a double color look-up table of alternate complementary colors according to the sixth embodiment, in the context of the second example of image modification process. In these embodiments, the computations are done in a uniform color space. The same principles related to iteration and optimization as described for 9B apply also here. The difference with the fifth embodiment is that the look-up table carried by the ACC metadata is defined in a uniform color space. The process 950D corresponds to the step 950 of the process 900 of figure 9A and is performed for a single color i of a pixel of the image. In step 954D, the processor obtains information representative of LUTA from the ACC metadata and determines the value of the first color of the pair from LUTA for the color i. In step 955D, the processor stores the inverse transform of this value as the value of ACC-LUTA for the color i. In step 956D the processor determines the value of the symmetrical color to the obtained color with regard to color i by subtracting value of the first color of the pair from LUTA from twice the value of color. In step 958D, the processor stores the inverse transform of the obtained value as ACC-LUTB for the color i.

[0165] Figure 10 illustrates an example of ACC-LUT reconstruction process according to embodiments. This process 1000 is for example implemented in a display device 100 and executed by the processor 101 of figure 1. In step 1010, the processor obtains information representative of an input color look-up table configured to associate input colors with output colors. For a selected input color, in step 1030, the processor obtains a first color associated with the selected input color in the input color look-up table. In step 1040, the processor determines a second color as the symmetrical color of the first color with regard to the selected input color. In step 1050, the processor stores the association between the selected input color and the first color in a first color look-up table and stores the second color in a second color look-up table. .

[0166] In a first example of image modification process, the selection of the input color is done by iterating over all color of the color space or by sub-sampling the color space. In such example, the double color look-up table may be determined before receiving any image.

[0167] In a second example of image modification process, the selection of the input color is done by scanning pixels of an input image to be modified. In such example, the double color look-up table may be determined in an accumulative manner and may be completed (i.e. all entries populated) only after having handled a plurality of images.

[0168] Although some parts of the description refer to images, the embodiments are not restricted to images and apply to any type of visual media content such as conventional (2D) videos, stereoscopic (3D) images or videos, 360° immersive images or video, holographic images or video, point clouds, augmented reality images, based on the same principles as described above but iterated temporally and / or spatially.

[0169] In general, one or more other examples of embodiments can also provide a computer readable storage medium, e.g., anon-volatile computer readable storage medium, having stored thereon instructions for encoding or decoding picture information such as video data according to the methods or the apparatus described herein. One or more embodiments can also provide a computer readable storage medium having stored thereon a bitstream generated according to methods or apparatus described herein. One or more embodiments can also provide methods and apparatus for transmitting or receiving a bitstream or signal generated according to methods or apparatus described herein.

[0170] Many of the examples of embodiments described herein are described with specificity and, at least to show the individual characteristics, are often described in a manner that may sound limiting. However, this is for purposes of clarity in description, and does not limit the application or scope of those aspects. Indeed, all the different aspects can be combined and interchanged to provide further aspects. Moreover, the embodiments, features, etc. can be combined and interchanged with others described in earlier filings as well.

[0171] Various implementations involve decoding. “Decoding”, as used in this application, can encompass all or part of the processes performed, for example, on a received encoded sequence to produce a final output suitable for display. In various embodiments, such processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, inverse transformation, and differential decoding. In various embodiments, such processes also, or alternatively, include processes performed by a decoder of various implementations described in this application.

[0172] As further examples, in one embodiment “decoding” refers only to entropy decoding, in another embodiment “decoding” refers only to differential decoding, and in another embodiment “decoding” refers to a combination of entropy decoding and differential decoding. Whether the phrase “decoding process” is intended to refer specifically to a subset of operations or generally to the broader decoding process will be clear based on the context of the specific descriptions and is believed to be well understood by those skilled in the art. Various implementations involve encoding. In an analogous way to the above discussion about “decoding”, “encoding” as used in this application can encompass all or part of the processes performed, for example, on an input video sequence in order to produce an encoded bitstream. In various embodiments, such processes include one or more of the processes typically performed by an encoder, for example, partitioning, differential encoding, transformation, quantization, and entropy encoding.

[0173] As further examples, in one embodiment “encoding” refers only to entropy encoding, in another embodiment “encoding” refers only to differential encoding, and in another embodiment “encoding” refers to a combination of differential encoding and entropy encoding. Whether the phrase “encoding process” is intended to refer specifically to a subset of operations or generally to the broader encoding process will be clear based on the context of the specific descriptions and is believed to be well understood by those skilled in the art.

[0174] Note that the syntax elements as used herein are descriptive terms. As such, they do not preclude the use of other syntax element names.

[0175] When a figure is presented as a flow diagram, it also provides a block diagram of a corresponding apparatus. Similarly, when a figure is presented as a block diagram, it also provides a flow diagram of a corresponding method / process.

[0176] In general, the examples of embodiments, implementations, features, etc., described herein can be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed can also be implemented in other forms (for example, an apparatus or program). An apparatus can be implemented in, for example, appropriate hardware, software, and firmware. One or more examples of methods can be implemented in, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users. Also, use of the term "processor" herein is intended to broadly encompass various configurations of one processor or more than one processor.

[0177] Reference to “one embodiment” or “an embodiment” or “one implementation” or “an implementation”, as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment.

[0178] Additionally, this application may refer to “determining” various pieces of information. Determining the information can include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.

[0179] Further, this application may refer to “accessing” various pieces of information. Accessing the information can include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, moving the information, copying the information, calculating the information, determining the information, predicting the information, or estimating the information.

[0180] Additionally, this application may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information can include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, “receiving” is typically involved, in one way or another, during operations such as, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.

[0181] It is to be appreciated that the use of any of the following “and / or”, and “at least one of’, for example, in the cases of “A / B”, “A and / or B” and “at least one of A and B”, is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B). As a further example, in the cases of “A, B, and / or C” and “at least one of A, B, and C”, such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C). This may be extended, as is clear to one of ordinary skill in this and related arts, for as many items as are listed.

[0182] As will be evident to one of ordinary skill in the art, implementations can produce a variety of signals formatted to carry information that can be, for example, stored or transmitted. The information can include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal can be formatted to carry the bitstream of a described embodiment. Such a signal can be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting can include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries can be, for example, analog or digital information. The signal can be transmitted over a variety of different wired or wireless links, as is known. The signal can be stored on a processor-readable medium.

[0183] Various embodiments are described herein. Features of these embodiments can be provided alone or in any combination, across various claim categories and types.

Claims

CLAIMS1. A method comprising:- obtaining information representative of an input color look-up table configured to associate an input color with a corresponding first color of a pair of alternating complementary colors; and, for a selected color:- obtaining a first color of a pair of alternating complementary colors associated with the selected color in the input color look-up table; and- determining a second color of a pair of alternating complementary colors as a symmetrical color of the first color with regard to the selected color, wherein the colors are represented in a uniform color space and operations are performed in a uniform color space.

2. The method of claim 1 further comprising storing the association between the selected color and the first color of a pair of alternating complementary colors in a first color look-up table and storing the association between the selected color and the second color of a pair of alternating complementary colors in a second color look-up table.

3. The method of any of claim 1 or 2, further comprising performing an inverse transform of the second color before storing it in the second color look-up table.

4. The method of claim 3, wherein the colors of the input color look-up table are defined as coordinate values in a uniform color space and further comprising performing an inverse transform of the first color before storing it in the first color look-up table.

5. The method of any of claims 1 to 4, wherein the color is selected by iterating on pixels of an input image.

6. The method of any of claims 1 to 4, wherein the color is selected by iterating over all colors of the color space.

7. The method of any of claims 1 to 4, wherein the color is selected by sub-sampling the color space.

8. A method comprising:- obtaining information representative of a first color look-up table and of a second color lookup table, wherein the first color look-up table is configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and wherein the second color look-up table is configured to associate an input color with a difference between a corresponding first color of a pair of alternating complementary colors and a corresponding approximated second color of a pair of alternating complementary colors; and, for a selected color:- obtaining a first color of the pair of alternating complementary colors associated with the selected color in the first color look-up table;- determining an approximated second color as the symmetrical color of the first color with regard to the selected color;- obtaining a value associated with the selected color in the second color look-up table and- determining a second color of the pair of alternating complementary colors by adding the approximated second color to the obtained value; wherein the colors are represented in a non uniform color space and the operations are performed in a non uniform color space.

9. A method comprising:- obtaining information representative of a first color look-up table and of a second color lookup table, wherein the first color look-up table is configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and wherein the second color look-up table is configured to associate an input color with a difference between a corresponding first color of a pair of alternating complementary colors and a corresponding second color of a pair of alternating complementary colors; and, for a selected color:- obtaining a first color of the pair of alternating complementary colors associated with the selected color in the first color look-up table;- obtaining a value associated with the selected color in the second color look-up table;- determining a second color of the pair of alternating complementary colors by adding the first color of the pair of alternating complementary colors to the obtained value, wherein the colors are represented in a non-uniform color space and the operations are performed in a non-uniform color space.

10. The method of claim 8 or 9 further comprising storing the association between the iterated color and the first color of the pair of alternating complementary colors in a third color lookup table and storing the association between the iterated color and the second color of the pair of alternating complementary colors in a fourth color look-up table.

11. The method of any of claim 8 to 10, wherein the color is selected by iterating on pixels of an input image.

12. The method of any of claims 8 to 10, wherein the color is selected by iterating over all colors of the color space.

13. The method of any of claims 8 to 10, wherein the color is selected by sub-sampling the color space.

14. A method comprising:- determining a pair of color look-up tables respectively configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and to associate an input color with a corresponding second color of a pair of alternating complementary colors according to claim 6, 7, 12 or 13;- modify an input image by applying an alternating complementary color algorithm to pixels of the input image based on the pair of color look-up tables; and- display or provide the modified image.

15. A method comprising:- iterating over pixels of an input image and, for an iterated pixel:- determining a pair of alternating complementary colors associated with the color of the iterated pixel according to claim 5 or 11 ;- modify the iterated pixel by applying an alternating complementary color algorithm based on the pair of alternating complementary colors associated with the color of the iterated pixel; and- display or provide the modified image.

16. The method of any of claim 14 or 15, further comprising a pre-processing operation of the at least one image before applying the alternating complementary color algorithm.

17. The method of claim 16, wherein the pre-processing is selected in a set of pre-processing operations comprising pixels doubling, pixel skipping, pixel averaging, frame doubling, frame skipping or frame averaging.

18. The method any of claim 14 to 17, further comprising a post-processing operation of the modified at least one image before displaying it.

19. The method of claim 18, wherein the post-processing operation comprises pixel interleaving to avoid flickering.

20. An apparatus comprising electronic circuitry configured to:- obtain information representative of an input color look-up table configured to associate an input color with a corresponding first color of a pair of alternating complementary colors; and, for a selected color:- obtain a first color of a pair of alternating complementary colors associated with the selected color in the input color look-up table; and- determine a second color of a pair of alternating complementary colors as a symmetrical color of the first color with regard to the selected color, wherein the colors are represented in a uniform color space and operations are performed in a uniform color space.

21. The apparatus of claim 20 further comprising storing the association between the selected color and the first color of a pair of alternating complementary colors in a first color look-up table and storing the association between the selected color and the second color of a pair of alternating complementary colors in a second color look-up table.

22. The apparatus of any of claim 20 or 21, further comprising performing an inverse transform of the second color before storing it in the second color look-up table.

23. The apparatus of claim 22, wherein the colors of the input color look-up table are defined as coordinate values in a uniform color space and further comprising performing an inverse transform of the first color before storing it in the first color look-up table.

24. The apparatus of any of claims 20 to 23, wherein the color is selected by iterating on pixels of an input image.

25. The apparatus of any of claims 20 to 23, wherein the color is selected by iterating over all colors of the color space.

26. The apparatus of any of claims 20 to 23, wherein the color is selected by sub-sampling the color space.

27. An apparatus comprising electronic circuitry configured to:- obtaining information representative of a first color look-up table and a second color look-up table, wherein the first color look-up table is configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and wherein the second color look-up table is configured to associate an input color with a difference between a corresponding first color of a pair of alternating complementary colors and a corresponding approximated second color of a pair of alternating complementary colors; and, for a selected color:- obtaining a first color of the pair of alternating complementary colors associated with the selected color in the first color look-up table;- determining an approximated second color as the symmetrical color of the first color with regard to the selected color; and- obtaining a value associated with the selected color in the second color look-up table;- determining a second color of the pair of alternating complementary colors by adding the approximated second color to the obtained value, wherein the colors are represented in a non-uniform color space and the operations are performed in a non-uniform color space.

28. An apparatus comprising electronic circuitry configured to:- obtaining information representative of a first color look-up table and a second color look-up table, wherein the first color look-up table is configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and wherein the second color look-up table is configured to associate an input color with a difference between a corresponding first color of a pair of alternating complementary colors and a corresponding second color of a pair of alternating complementary colors; and, for a selected color:- obtaining a first color of the pair of alternating complementary colors associated with the selected color in the first color look-up table;- obtaining a value associated with the selected color in the second color look-up table;- determining a second color of the pair of alternating complementary colors by adding the first color of the pair of alternating complementary colors to the obtained value, wherein the colors are represented in a non-uniform color space and the operations are performed in a non-uniform color space.

29. The apparatus of claim 27 or 28 further comprising storing the association between the iterated color and the first color of the pair of alternating complementary colors in a third color look-up table and storing the association between the iterated color and the second color of the pair of alternating complementary colors in a fourth color look-up table.

30. The apparatus of any of claim 27 to 29, wherein the color is selected by iterating on pixels of an input image.

31. The apparatus of any of claims 27 to 29, wherein the color is selected by iterating over all colors of the color space.

32. The apparatus of any of claims 27 to 29, wherein the color is selected by sub-sampling the color space.

33. An apparatus comprising electronic circuitry configured to:- determining a pair of color look-up tables respectively configured to associate an input color with a corresponding first color of a pair of alternating complementary colors and to associate an input color with a corresponding second color of a pair of alternating complementary colors according to claim 25, 26, 31, or 32;- modify an input image by applying an alternating complementary color algorithm to pixels of the input image based on the pair of color look-up tables; and- display or providing the modified image.

34. An apparatus comprising electronic circuitry configured to:- iterating over pixels of an input image and, for an iterated pixel:- determining a pair of alternating complementary colors associated with the color of the iterated pixel according to claim 24 or 30;- modify the iterated pixel by applying an alternating complementary color algorithm based on the pair of alternating complementary colors associated with the color of the iterated pixel; and- display or providing the modified image.

35. The apparatus of any of claim 33 or 34, further comprising a pre-processing operation of the at least one image before applying the alternating complementary color algorithm.

36. The apparatus of claim 35, wherein the pre-processing is selected in a set of pre-processing operations comprising pixels doubling, pixel skipping, pixel averaging, frame doubling, frame skipping or frame averaging.

37. The apparatus of any of claim 33 to 36, further comprising a post-processing operation of the modified at least one image before displaying it.

38. The apparatus of claim 37, wherein the post-processing operation comprises pixel interleaving to avoid flickering.

39. A computer program including instructions, which, when executed by a computer, cause the computer to carry out the method according to any of claims 1 to 19.

40. A non-transitory computer readable medium storing executable program instructions to cause a computer executing the instructions to perform a method according to any of claims 1 to 19.

41. The method of claim 5 or 11, wherein the color is selected by iterating on pixels of a conventional 2D video, stereoscopic 3D image or video, 360° immersive image or video, holographic image or video, point cloud, or augmented reality image.

42. The apparatus of claim 24 or 30, wherein the color is selected by iterating on pixels of a conventional 2D video, stereoscopic 3D image or video, 360° immersive image or video, holographic image or video, point cloud, or augmented reality image.

Citation Information

Patent Citations

  • Image processing apparatus capable of inputting image data

    US20150235618A1

  • EP22306994A

  • EP22306995A

  • EP22306997A