Hue change gamut mapping

文档序号:1652337 发布日期:2019-12-24 浏览:39次 中文

阅读说明:本技术 色相改变色域映射 (Hue change gamut mapping ) 是由 尤尔根·施陶德尔 艾尼塔·奥翰德 科琳·波林 于 2018-02-26 设计创作,主要内容包括:本公开原理的一个方面在于用于对来自源色域或内容色域的颜色向目标色域进行色域映射的方法和系统。将源特定颜色的源色相和内容特定颜色的源色相向对应目标特定颜色的目标色相改变。基于映射后的特定颜色,针对整个源色域或内容色域的源颜色执行向所述目标色域的色域映射。所述特定颜色选自原色、副色以及原色和副色组。(One aspect of the disclosed principles is directed to a method and system for gamut mapping colors from a source gamut or a content gamut to a target gamut. The source hue of the source specific color and the source hue of the content specific color are changed toward the target hue of the corresponding target specific color. Performing gamut mapping to the target gamut for source colors of the entire source gamut or the content gamut based on the mapped specific colors. The specific color is selected from the group consisting of a primary color, a secondary color, and a group of primary and secondary colors.)

1. A method for gamut mapping colors from one of a first source gamut or a second source gamut to a target gamut, the method comprising:

accessing at least one first set of colors (403), the first set of colors (403) comprising a colorless color (O), a specific color of the first source gamut, a corresponding specific color of the second source gamut, and a corresponding specific color of the target gamut;

accessing at least one second set of colors (404), the second set of colors (404) comprising colors of constant hue corresponding to the hue of the particular color of the target gamut;

performing gamut mapping (507) to the target gamut for one of the colors of the first or second source gamut based on a difference between a hue of at least one color from the at least one first set of colors (403) and a hue of at least one other color from the at least one second set of colors (404), the other color from the second set of colors (404) having the same chromaticity as the one color from the first set of colors (403);

wherein the specific color is at least one color selected from a primary color group, a secondary color group, and a primary color and a secondary color group.

2. The method of claim 1, wherein the first source gamut, the second source gamut, and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, and wherein performing gamut mapping on one of the colors comprises rotating a hue of the color toward a hue of a mapped color based on the hue difference.

3. The method of any of claims 1 or 2, wherein performing gamut mapping on one of the colors of the first or second source gamut further comprises: the method comprises determining at least one color of at least one other first set of colors of the first set of colors, and interpolating a hue of the color based on a hue difference for the at least one color of the at least one first set of colors and a hue difference for the at least one color of the at least one other first set of colors.

4. The method of any of claims 1-3, wherein performing gamut mapping on one of the colors of the first or second source gamut further comprises saturation compression such that the mapped color is within the target gamut or saturation expansion such that the mapped color fills a larger portion of the target gamut.

5. A system for gamut mapping source colors from one of a first source gamut or a second source gamut to a target gamut, the system comprising:

a processor configured to:

accessing at least one first set of colors (403), the first set of colors (403) comprising a colorless color (O), a specific color of the first source gamut, a corresponding specific color of the second source gamut, and a corresponding specific color of the target gamut; and

accessing at least one second set of colors (404), the second set of colors (404) comprising colors of constant hue corresponding to the hue of the particular color of the target gamut;

wherein the processor is further configured to perform gamut mapping (507) to the target gamut for one of the colors of the first or second source gamut based on a difference between a hue of at least one color from the first set of colors (403) and a hue of at least one other color from the at least one second set of colors (404), the other color from the second set of colors (404) having the same chromaticity as the one color from the first set of colors (403);

wherein the specific color is at least one color selected from a primary color group, a secondary color group, and a primary color and a secondary color group.

6. The system of claim 5, wherein the first source gamut, the second source gamut, and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, and wherein the processor is further configured to perform gamut mapping of one of the colors by: rotating the hue of the color to the hue of the mapped color based on the hue difference.

7. The system of any of claims 5 or 6, wherein the processor is further configured to perform gamut mapping on one of the colors of the first or second source gamut by: the method comprises determining at least one color of at least one other first set of colors of the first set of colors, and interpolating a hue of the color based on a hue difference for the at least one color of the at least one first set of colors and a hue difference for the at least one color of the at least one other first set of colors.

8. The system of any of claims 5 to 7, wherein the processor is further configured to perform gamut mapping on one of the colors of the first or second source gamut by: saturation compression or saturation expansion is further performed, the saturation compression causing the mapped color to be within the target color gamut, the saturation expansion causing the mapped color to fill a greater portion of the target color gamut.

9. A non-transitory computer readable storage medium comprising a computer program comprising a set of processor-executable instructions for gamut mapping of colors from one of a first source gamut or a second source gamut to a target gamut, comprising:

accessing at least one first set of colors (403), the first set of colors (403) comprising a colorless color (O), a specific color of the first source gamut, a corresponding specific color of the second source gamut, and a corresponding specific color of the target gamut;

accessing at least one second set of colors (404), the second set of colors (404) comprising colors of constant hue corresponding to the hue of the particular color of the target gamut;

performing gamut mapping to the target gamut for one of the colors of the first or second source gamut based on a difference between a hue of at least one color from the first set of colors (403) and a hue of at least one other color from the at least one second set of colors (404), the other color from the second set of colors (404) having the same chroma as the one color from the first set of colors (403);

wherein the specific color is at least one color selected from a primary color group, a secondary color group, and a primary color and a secondary color group.

10. The non-transitory computer-readable medium of claim 9, further comprising determining a look-up table, wherein the look-up table comprises a mapping of input LUT colors to resulting LUT colors, the resulting LUT colors determined based on: performing gamut mapping of colors of the first source gamut or the second source gamut to the target gamut based on the chromaticity difference.

11. The non-transitory computer readable medium of any of claims 9 or 10, wherein the first source gamut, the second source gamut, and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, and wherein performing gamut mapping on one of the colors comprises rotating a hue of the color toward a hue of the mapped color based on the hue difference.

12. The non-transitory computer-readable medium of any of claims 9 to 11, wherein performing gamut mapping on one of the colors of the first or second source gamut further comprises: the method comprises determining at least one color of at least one other first set of colors of the first set of colors, and interpolating a hue of the color based on a hue difference for the at least one color of the at least one first set of colors and a hue difference for the at least one color of the at least one other first set of colors.

13. The non-transitory computer readable medium of any of claims 9 to 12, wherein performing gamut mapping on one of the colors of the first or second source gamut further comprises saturation compression such that the mapped color is within the target gamut or saturation expansion such that the mapped color fills a larger portion of the target gamut.

Technical Field

The invention relates to color processing of source colors. The invention further relates to a hue change gamut mapping for changing the hue of a source color to the hue of a target color.

Background

One way to perform image and video processing color processing is known as gamut mapping.

A "color gamut" is a collection of colors. For example, a color gamut may be a set of: the color of the real object under real illumination; the color of the image to be displayed on a monitor or reproduced by film projection; composite colors in animated movies (e.g., CGI animations); or any other color visible to a person or light capture device. In practice, the color gamut may be defined by: scene lighting, real objects, image capture devices, image rendering devices, color spaces, standards such as NTSC, ITU-R btrec.709 ("rec.709"), ITU-R BT rec.2020 ("rec.2020"), Adobe RGB, DCI-P3, or any other existing or future standard for color rendering or any other limitation on color diversity.

"gamut mapping" is the process of mapping or redistributing the colors of a source gamut ("source colors") to the colors of a target gamut ("target colors"). The source gamut may be associated with any gamut. Likewise, the target gamut may also be associated with any gamut. For example, a source gamut may be associated with input image data according to a standard, and a target gamut may be associated with a display device (e.g., a user device). The gamut mapping may include changes in saturation, hue, brightness, contrast or other aspects of the color, changes in black, white or other colors of the source gamut and/or the target gamut. For example, the gamut mapping may comprise tone mapping.

Gamut mapping has important applications in the field of image and video processing (e.g., video content production or post-production). For example, gamut mapping is an important tool for color processing of video content (e.g., gamut mapping can be utilized to ensure that display constraints of a device are met). Gamut mapping may also be used to meet artistic requirements and/or as a tool for colorists. Gamut mapping may also be used to convert original video into a different video type for rendering or transmission, such as in a movie theater, television, or the internet. Gamut mapping may also be used in cameras. For example, in a camera, gamut mapping may be used to adapt a scene captured by a camera sensor to a given standard so that the captured colors can be accurately reproduced (e.g., on a display device). The source camera color gamut may be defined depending on the color filters of the camera sensor. Gamut mapping may also be used in display devices to accurately display images or video content. The target display gamut may be defined by the primaries of the display panel. During processing, gamut mapping may be repeated at various pixel frequencies.

The discussion of gamut mapping includes:

·J.Morovic and M.R.Luo,“The Fundamentals of Gamut Mapping:A Survey”,Journal of Imaging Science and Technology,45/3:283-290,2001.

·Montag E.D.,Fairchild M.D,“Psychophysical Evaluation of Gamut Mapping Techniques Using Simple Rendered Images and Artificial GamutBoundaries”,IEEE Trans.Image Processing,6:977-989,1997.

·P.Zolliker,M.K.Simon,On the Continuity of Gamut Mapping Algorithms,Color Imaging X:Processing,Hardcopy,and Applications.Edited byEschbach,Reiner;Marcu,Gabriel G.Proceedings of the SPIE,Volume 5667,pp.220-233,2004.

the existing gamut mapping methods are problematic because they result in a degradation of color consistency after gamut mapping (e.g., neighborhood distortion in the resulting target gamut). This problem is due to the compression or expansion of the saturation and/or hue and/or brightness of the color with respect to the boundary of the source and target color gamuts in the prior art methods. In practice, these boundaries have insubstantial edges, which can result in color neighborhood distortion when used to define a gamut mapping method. The brightness of a color may be specified by the L coordinate of the CIELAB color space or Lab color space (e.g., defined by CIE in 1976). Similarly, the brightness may also be specified by the I coordinate of the IPT color space. For example, Ebner Fritz and MarkDBrightness is discussed in the paper "Development and testing of a Color space (IPT) with improved brightness uniformity" (Color and Imaging Conference in 1998). However, brightness, intensity, or illumination may be used without making changes. Psychophysical experimentation can be used to obtain the hue of a color. However, different viewing conditions and/or different models may result in different hue definitions. The hue of a color may be specified by the cylinder angle represented by the cylinder coordinates of the color space (e.g., in CIELAB color space). Alternatively, a formula may be used to obtain the hue from the color coordinates (e.g., in color space, may be obtained fromTo define the hue) the boundary of the gamut in the color space is the skin (hull) that includes all the colors of the gamut.

Most of the existing gamut mapping methods compress or expand the saturation (or chromaticity) of a color and/or the luminance of a color with respect to the boundary of the gamut. In gamut mapping, uneven saturation modification may occur when there is a significant mismatch (e.g., misaligned gamut boundaries) between the primaries defining the source gamut and the primaries defining the target gamut. Thus, the saturation modification caused by the tip gamut mapping may be quite different for similar hues (e.g., saturation may be divided by a factor of 1.6 for hue angle 75 °, and saturation may be divided by a factor of 1.2 for hue angle 85 °). This leads to a problem that the consistency of the mapped colors in the color neighborhood is degraded.

An additional problem arises when a singularity (e.g. primary or secondary) in the gamut boundary of the source gamut has a different hue than the corresponding singularity in the gamut boundary of the target gamut. At these points, the gamut boundary abruptly changes the surface orientation and is not insignificant. When the source color has the same hue as such discontinuity of the curvature of the gamut boundary, the color neighborhood may be degraded during gamut mapping using chromaticity compression or expansion. If, otherwise, the conditions remain unchanged, the negative impact on the color neighborhood may be stronger if the hues of the respective singularities of the boundaries of the source and target color gamut are close but not identical, respectively.

To avoid these problems, Green and Luo discussed full hue rotation mapping in the 2000 published article "Extending the CARISMA gamut mapping model" at the Color Image Science conference. The full hue rotation aligns the hues of the source and target gamuts such that at least the non-differentiable points of the cusp line have the same hue. Full hue rotation has the additional advantage that most saturated source colors (primary and secondary) become the most saturated target colors (primary and secondary). This preserves artistic intent. However, such full hue rotation causes a problem of significant shift in hue.

Full hue rotation is also used in U.S. patent publication No. US2005/248784 to Henley et al ("Henley"). Henley discloses a method of gamut mapping known as shear mapping. Clipping mapping maps the cusps of the source gamut to the cusps of the target gamut in a constant hue lobe in a color space (e.g., CIELAB color space). The tip in the constant hue lobe is the color with the highest chroma. Henley discloses a hue rotation that is performed to maintain a maximum level of hue saturation. The hue rotation in Henley is a full hue rotation that maps the hue of each primary and secondary color of the input (source gamut) to the hue of the primary or secondary color of the target (target gamut).

Another reference is WO2016206981, which attempts to solve this problem by applying a partial hue shift. The method adaptively changes the hue of the source specific color to the target hue of the corresponding target specific color based on the difference between the source specific color and the target specific color. The specific color may include a primary color and a secondary color. This approach has the ability to retain part of the artistic intent since the maximum hue shift is applied only when needed. Furthermore, if a partial hue mapping is applied before the chroma mapping, most saturated source colors (primary and secondary) are more saturated than if no hue mapping was applied. Another advantage includes partial preservation of the color neighborhood, thereby increasing the uniformity of saturation modification of the gamut mapping.

However, most known methods for color mapping source colors are designed to map the source colors of the main distributed source gamut. For example, the advantages of CARISMA or WO2016206981 only hold under this assumption. Indeed, CARISMA and WO2016206981 depend to a large extent on the shape of the source gamut. The advantages of the gamut mapping as proposed in CARISMA or WO2016206981 will not hold if the shape of the gamut of the actual source colors (called the content gamut) does not correspond to the shape of the source gamut.

If the source color of the content does not fill the entire source color gamut, the content is actually smaller than the source color gamut. For example, in an image encoded with ITU-R bt.2020 RGB color coordinates, there is no red object. Thus, the content gamut of the image is smaller than the source gamut of ITU-R BT.2020 and does not include red. Gamut mapping methods that map a content gamut, rather than a source gamut, into a target gamut are referred to as image-dependent or content-dependent methods. In contrast, since the source color gamut generally corresponds to a source color device, the method of mapping the entire source color gamut into the target color gamut is referred to as a device-dependent method. Giesen et al studied some content-Dependent Mapping methods in an article entitled "Image-Dependent Mapping application method", published by IEEE Transactions on Image Processing, Vol.16, No.10 in 2007. The authors compared these methods with known device-dependent methods.

When content is represented using color coordinates of a source color space having a source color gamut, the content color gamut is always equal to or smaller than the source color gamut by definition. However, other scenarios are possible. In general, first content may be generated within a first source color space having a first source color gamut, and second content may be generated within a second source color space having a second source color gamut. In this general case, a gamut mapping method may be used to map colors from the first gamut or the second gamut to the target gamut. However, known methods such as CARISMA or WO2016206981 aimed at mapping a first source gamut to a target gamut do not achieve their advantages when the content fills the second source gamut. In the same way, known methods such as CARISMA or WO2016206981, which aim at mapping a second source gamut to a target gamut, do not achieve their advantages when the content fills the first source gamut.

In another general case, the content may be generated within a second source color space having a second source color gamut and then represented within a first source color space having a first source color gamut. If the second source gamut is not included in the first source gamut, the negative color coordinates of the first source color space are used according to the prior art to represent colors from the second source gamut outside the first source gamut. In this other general case, the mapping method described above may be used to map colors from the first gamut or the second gamut to the target gamut.

All known gamut mapping algorithms have the problem that they are not optimal for the source gamut and the content gamut, or for the first source gamut and the further second source gamut, simultaneously. This becomes clear in the following use cases. The exemplary monochrome gamut mapping method is used for both types of images. The first type of image contains a first type of source colors distributed throughout the source gamut. The second type of image contains a second type of source colors distributed in a content gamut, the content gamut being different from and smaller than the source gamut. All images are encoded in the color coordinates of the same source color space with the source color gamut. For this use case, since all known gamut mapping methods are not optimal, since these methods are not optimized for the source gamut and the content gamut at the time.

For example, WO2016206981 is optimized for the source gamut, but if a second type of image is to be mapped, the color neighborhood may not be best preserved. Furthermore, the most saturated content colors (primary and secondary colors of the content gamut) are not mapped to or towards the most saturated colors (primary and secondary colors of the target gamut) of the target gamut. Instead, most saturated content colors are mapped into other, less saturated, target colors (causing a greater reduction in saturation). For example, the method studied by Giesen et al is optimized for content gamut, but if an image of the first type is to be mapped, the color neighborhood may not be best preserved. Furthermore, the method does not define a color mapping outside the content gamut and still within the source gamut.

Disclosure of Invention

One aspect of the disclosed principles avoids and provides a solution to the above-mentioned problems.

One aspect of the present principles is to change the hue of a source color to the hue of a target color in consideration of a first source color gamut, a second source color gamut (e.g., a content color gamut), and the target color gamut.

One aspect of the disclosed principles relates to a method for gamut mapping colors from one of a first source gamut or a second source gamut to a target gamut. The method comprises accessing at least one first color set comprising an achromatic color, a specific color of a first source gamut, a corresponding specific color of a second source gamut, and a corresponding specific color of a target gamut; accessing at least one second color set comprising colors of constant hue corresponding to the hue of a particular color of the target gamut; one of the colors from one of the first or second source gamut is gamut mapped to a target gamut based on a difference between a hue of at least one color from the first set of colors and a hue of at least one other color of the second set of colors, the other color having a same hue as the at least one color from the first set. The specific color is at least one color selected from a primary color group, a secondary color group, and a primary color and a secondary color group. In fact, a first specific color from the first gamut corresponds to a second specific color from the second gamut if no other specific color of the second gamut has a color closer to the hue of the first specific color than the second specific color. Typically, the corresponding specific colors have the same color name, e.g., "red".

In a particular feature of the method, the first source gamut, the second source gamut and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, for example a color space selected from the group of Lab color space and IPT color space, and performing the color mapping of one of the colors comprises rotating a hue of the color towards a hue of the mapped color based on a hue difference. In another feature, performing a hue mapping of one of the colors of the first or second source hue further comprises: the method comprises determining at least one color in at least one other first set of colors in the first set of colors, and interpolating a hue difference based on a hue of the color for the at least one color in the at least one first set of colors and interpolating a hue difference for the at least one color in the at least one other first set of colors.

One aspect of the disclosed principles relates to a system for gamut mapping a source color from one of a first source gamut or a second source gamut to a target gamut. The system comprises a processor configured to access at least one first set of colors comprising an achromatic color, a specific color of a first source gamut, a corresponding specific color of a second source gamut, and a corresponding specific color of a target gamut; accessing at least one second set of colors, the second set of colors comprising colors of constant hue corresponding to the hue of the particular color of the target gamut; the processor is further configured to gamut map one of the colors from one of the first or second source gamuts to a target gamut based on a difference between a hue of at least one color from the first set of colors and a hue of at least one other color from the second set of colors, the other color having a same hue as the at least one color from the first set. The specific color is at least one color selected from a primary color group, a secondary color group, and a primary color and a secondary color group.

In a particular feature of the system, wherein the first source gamut, the second source gamut and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, for example a color space selected from the group of Lab color space and IPT color space, the processor is further configured to perform a color mapping on one of the colors by: based on the hue difference, the hue of the color is rotated towards the hue of the mapped color. In another feature, the processor is further configured to hue map one of the colors of the first or second source gamut by: the method comprises determining at least one color of at least one other first set of colors of the first set of colors, and interpolating a hue of the color based on a hue difference for the at least one color of the at least one first set of colors and a hue difference for the at least one color of the at least one other first set of colors.

One aspect of the disclosed principles resides in a non-transitory computer-readable storage medium including a computer program comprising a set of instructions executable by a processor, the instructions comprising: accessing at least one first set of colors comprising an achromatic color, a specific color of the first source gamut, a corresponding specific color of the second source gamut, and a corresponding specific color of the target gamut; one of the colors from one of the first source gamut or the second source content gamut is gamut mapped to a target gamut based on a difference between a hue of at least one color from the first set of colors and a hue of at least one other color of the second set of colors, the other color having a same hue as the at least one color from the first set. Wherein the specific color is at least one color selected from the group consisting of a primary color group, a secondary color group, and a primary color and a secondary color group.

In a particular feature of the non-transitory computer readable storage, a look-up table is determined, wherein the look-up table comprises a mapping of input LUT colors to resulting LUT colors, the resulting LUT colors being determined based on: performing gamut mapping of colors of the first source gamut or the second source gamut to the target gamut based on the chromaticity difference. . In another particular feature, wherein the first source gamut, the second source gamut and the target gamut are in at least one color space having a luminance axis and a chromaticity plane, for example a color space selected from the group of Lab color space and IPT color space, and performing the color mapping of one of the colors comprises rotating a hue of the color towards a hue of the mapped color based on a hue difference.

One aspect of the disclosed principles is applicable to any device configured to include features of gamut mapping, such as a camera, a display, a transmission system (e.g., converting between different gamut mapping standards), a professional encoder, a professional decoder, a set-top box, a video player, a video recorder, or a video game console.

Drawings

The invention will be more clearly understood by reading the following detailed description, given by way of non-limiting example and with reference to the accompanying drawings, in which:

fig. 1 illustrates an exemplary color gamut in an RGB color space;

FIG. 2 illustrates an exemplary hue rotation map;

FIG. 3a shows an exemplary graph of saturation gain;

FIG. 3b shows an exemplary plot of hue rotation;

FIG. 4a illustrates an exemplary gamut mapping in accordance with the principles of the present disclosure;

FIG. 4b illustrates an exemplary portion of an exemplary hue rotation map in accordance with the principles of the present disclosure;

FIG. 5 illustrates an exemplary method according to the principles of the present disclosure;

FIG. 6 illustrates an exemplary system according to the principles of the present disclosure;

FIG. 7 illustrates an exemplary device according to the principles of the present disclosure;

fig. 8 illustrates another exemplary gamut mapping in accordance with the principles of the present disclosure.

Detailed Description

The gamut mapping includes a Gamut Boundary Description (GBD). The GBD defines the boundary surface or skin of the gamut in the color space. GBD typically includes an explicit generic 3D representation such as a triangular mesh or a volumetric model. For example, the GBD of a gamut may be based on a mesh of triangles, each triangle being defined by three vertices in the color space of the GBD. These vertices are colors that lie on the gamut boundary.

Color and GBD are typically represented in a color space, although not necessarily in the same color space. A color space is a space in which colors can be represented by color coordinates. The color space may correspond to the type of display or to the input source (e.g., camera). The same color gamut may be represented in a different color space (RGB, Lab, ipt.). However, the color gamut represented in the different color spaces typically has a different shape in each of these different color spaces. One type of color space is a three-dimensional space that includes a luminance-L-axis, a chrominance-C-axis, and a hue-h-axis. In some color spaces (e.g., Lab or IPT), hue may be defined as the angle around the central vertical axis of the cylindrical representation of the color space, chroma (i.e., saturation) may be defined as the distance from this axis, and brightness may be defined as the distance along this axis.

The tip of the gamut is a set of colors, where each color has a larger chroma (i.e., saturation) than other colors within the same constant hue leaf of the 3D color space and within the gamut. The constant hue leaf extends along the luminance (L) axis and the chrominance (C) axis. When describing a color gamut by a GBD based on discrete surface elements such as triangles, the cusps include singularities (vertices) or lines (edges) on the boundary surface that limits the color gamut. For the gamut of a three-color additive display, the top end typically includes the primary colors red, green, blue, and the secondary colors yellow, magenta, cyan. The primary and secondary colors are, to a minimum or maximum extent, in at least one of the color channels of the input of the display. The cusps of the gamut can be modeled by using a gamut boundary description based on a triangular mesh, where the cusps are closed polygons based on the vertices of some triangles. The cusp colors corresponding to these vertices are typically defined as the largest chroma gamut-in-gamut color in a given constant hue lobe.

The tip line of the color gamut is a line connecting the tip colors. When a color gamut is represented by a color space having a measure for chromaticity (e.g., a Lab color space or JCh color space according to the CIECAM-02 model defined by CIE in 2002, or an IPT color space defined by "Development and characterization of a color space (IPT) with improved hue uniformity" published in the color and imaging conference of 1998 in EbnerFritz and Mark d. The chromaticity (i.e., saturation) of a color can be obtained from a human observer using psycho-physical experiments. However, different viewing conditions and/or different models may result in different chromaticity (i.e., saturation) definitions. For example, in Lab color space (and accordingly in IPT color space), chroma (i.e. saturation) is defined as the square root of the sum of the squares of a and b (and accordingly P and T). The plane defined by the constant phase is commonly referred to as a "constant phase lobe". More generally, the cusp colors typically correspond to singularities ("vertices") or to singularities ("edges") on the boundary surfaces that limit the color gamut. The cusp lines of a gamut can generally be modeled as lines that form closed polygons on the gamut boundaries of the gamut.

A gamut mapping method (or gamut mapping algorithm) may map source colors from a source gamut (which has its own source cusp point or source cusp line) to a target gamut (which also has its own target cusp point or destination cusp line), where the source colors are distributed in a content gamut (which has its own source cusp point or source cusp line). The content gamut is included in the source gamut. To take advantage of the color range in the target gamut, the gamut mapping method may map the source cusp point/line into the target cusp point/line. Such gamut mapping algorithms are called sophisticated gamut mapping algorithms.

Fig. 1 shows an example of a color gamut 100 in an RGB color space. The color gamut 100 of fig. 1 may be that of a three-color display or a three-color camera. The color gamut 100 corresponds to the cube (interior and surface) shown in fig. 1.

As shown in fig. 1, the RGB color gamut 100 includes a tip line 105. The tip line 105 is a dashed line forming a closed polygon corresponding to a set of lines connecting the primary colors to the secondary colors. The tip line 105 includes a odd line connecting each primary color (e.g., red 153, green 158, and blue 155) of the display with secondary colors (e.g., yellow 152, magenta 157, and cyan 156) having the primary color as a component. For example, the tip line 105 may connect colors as follows: red 153 and yellow 152, red 153 and magenta 157, green 158 and yellow 152, green 158 and cyan 156, blue 155 and cyan 156, and blue 155 and magenta 157. The tip line 105 is shown by a dashed line in fig. 1.

Fig. 2 shows an example of hue rotation gamut mapping in the PT plane of the IPT color space. Fig. 2 includes a tip of a source gamut 201, a tip of a target gamut 202, and a tip of a source gamut 203 after hue mapping using full hue rotation, wherein the tip of the source gamut 201 is generated by projecting a 3D tip of the source gamut into a PT plane, the tip of the target gamut 202 is generated by projecting a 3D tip of the target gamut into the PT plane, and the tip of the source gamut 203 after hue mapping is generated by projecting a 3D tip of the source gamut after hue mapping into the PT plane. The P-axis and T-axis are the two color axes of the IPT color space. The hue-mapped source gamut 203 is the result of aligning the hues of the primary and secondary colors of the source gamut 201 with the hues of the corresponding primary and secondary colors of the target gamut 202, thereby providing full hue rotation.

Fig. 3a shows an exemplary graph 300 of saturation modification from gamut mapping using chroma compression or expansion, with or without full hue rotation. As used herein, the modification of saturation may be defined as the ratio of color saturation before and after gamut mapping. For example, when the chromaticity compression or the chromaticity expansion is used without the hue rotation, the saturation ratio of the tip point of the source color gamut may correspond to a ratio between the saturation of the tip point in the source color gamut and the saturation of the tip point having the same hue in the target color gamut.

The graph 300 illustrates the modification of saturation caused by gamut mapping using chroma compression. The vertical axis of the graph 300 relates to the saturation ratio. The horizontal axis of graph 300 relates hue angle measured in degrees. The graph 300 includes a curve 301 showing the saturation ratio versus hue angle in the absence of hue rotation. Curve 301 relates to mapping a source gamut to a target gamut (using chroma compression without hue rotation). The graph 300 also includes a curve 302 that shows the saturation ratio versus hue angle for a full hue rotation. Curve 302 relates to mapping a source gamut to a target gamut (using gamut mapping with full hue rotation, such as Henley).

Fig. 3b shows an exemplary plot 310 of hue rotations from gamut mapping with or without full hue rotation. The graph 310 shows the hue rotation (change in hue) caused by a full hue rotation mapping from the source gamut to the target gamut. The vertical axis of graph 310 relates to hue rotation angle in degrees. The horizontal axis of graph 310 relates hue angle in degrees. Graph 310 includes a curve 311 showing hue rotation angle versus hue angle in the absence of hue rotation. Graph 310 also includes a curve 312 showing hue rotation angle versus hue angle for a full hue rotation. As shown in fig. 3b, when there is a full hue rotation, most colors are shifted by a large amount. As can be seen from fig. 3a and 3b, full hue rotation also causes color shifts as it effectively improves the uniformity of the saturation ratio.

One aspect of the disclosed principles relates to hue mapping of colors of a first source gamut and a second source gamut, where the first source gamut and the second source gamut are, for example, a source gamut and a content gamut. One aspect of the disclosed principles is hue mapping. One aspect of the disclosed principles is to map the source gamut and the content gamut to the target gamut, but not necessarily to the target gamut. For example, the hues of the colors in the source gamut or the content gamut may be modified such that the resulting hue-mapped source gamut and the resulting hue-mapped content gamut are closer to the target gamut. However, after the hue mapping, some colors of the hue-mapped content gamut may still be outside the target gamut, and/or the target gamut may not be completely covered by the hue-mapped content gamut. In the same way, after the hue mapping, some colors of the hue-mapped source gamut may still be outside the target gamut, and/or the target gamut may not be completely covered by the hue-mapped source gamut. Thus, the hue-mapped colors may need to be further mapped to the target gamut such that all hue-mapped colors are within the target gamut and/or the target gamut is completely covered by the hue-mapped colors.

Fig. 4a shows an example of hue rotation gamut mapping in the PT plane of the IPT color space. Fig. 4a includes the tip of the source gamut 201, the tip of the target gamut 202, the tip of the content gamut 401, and the tip of the content gamut 402 after hue mapping using full hue rotation. The content gamut 402 after hue mapping is a primary color and a secondary color (C) of the content gamut 401C2) And the corresponding primary and secondary colors (C) of the target color gamut 202T2) Provides full hue rotation as a result of the alignment of the hues. As shown in fig. 4a, if the content gamut 401 is smaller than the source gamut 201, then for some hues (at C)TNear 2), the target gamut 202 may exhibit lower chroma than the content gamut 201 and than the source gamut 401, while for other hues (at C), the target gamut 202 may exhibit lower chroma than the content gamut 201 and than the source gamut 401TAround 5) then have a more chromatic color. Virtually any gamut mapping is compatible with the hue mapping of the present principles.

In one example of the disclosed principles, hue mapping may exclude or may include other mapping processes, such as tip gamut mapping. In one example, gamut mapping with chroma compression or chroma expansion is applied after hue mapping, thereby minimizing color neighborhood degradation.

One aspect of the disclosed principles is a method for gamut mapping such that a source gamut is changed or modified to a target gamut and simultaneously a content gamut is changed or modified to the target gamut. One aspect of the disclosed principles is a hue mapping based on a mapping of the hues of the primary and secondary colors of the source and content gamuts to the hues of the respective primary and secondary colors of the target gamut. The mapping or modification may comprise a complete hue mapping (similar to the known CARISMA algorithm) from a primary or secondary color of the source or content gamut to a corresponding primary or secondary color of the target gamut such that the hue of the mapped primary or secondary color is the same as the hue of the corresponding primary or secondary color of the target gamut. The mapping or modification may also comprise an adaptive hue mapping (similar to the known method in WO 2016206981) from a primary or secondary of the source gamut or the content gamut to a corresponding primary or secondary of the target gamut, such that the hue of the mapped primary or secondary is closer to the hue of the corresponding primary or secondary of the target gamut than before the mapping.

As used herein, the "corresponding" primary (C) of the target color gamutT1、CT3、CT5) Or secondary color (C)T2、CT4、CT6) Primary or secondary colors corresponding to the source gamut (only C is exhibited)S2) Or primary or secondary colors of the content gamut (only C is shown)C2). For example, the "red" color of the target color gamut is a target color corresponding to the "red" of the source color gamut and the "red" of the content color gamut. These three different "reds" are the corresponding specific colors. Alternatively, the respective colors of the target color gamut may refer to specific colors having hues closest to the specific colors of the source color gamut and the content color gamut in the target color gamut.

One aspect of the disclosed principles is directed to hue mapping in a color space characterized by a hue of a color represented by a cylindrical angle, a lightness of the color represented by coordinates on a vertical axis represented by cylindrical coordinates of the color space, and a chroma of the color represented by a distance of the color from the vertical axis. The luminance axis (O) corresponds to an achromatic color. The hue mapping includes rotating cusps of the source and content gamuts about a luminance axis. As shown in fig. 4a, the color can be rotated within the ab-plane in the Lab color space or within the PT space in the IPT color space. The rotation may then be applied to modify the source color represented in any other color space (e.g., RGB, YUV).

One aspect of the disclosed principles is to hue map two colors within the same hue leaf in different ways. In accordance with a salient feature of the present principles, the hue mapping of a color of the same hue leaf depends on the chroma of the color. This is in contrast to known methods such as CARISMA and WO2016206981, in which a rotation of the tip point of a hue leaf defines a rotation of all colors of the hue leaf. In one example, the rotation angle varies with hue. FIG. 4b illustrates a schematic diagram according to the principles of the present disclosureExemplary portion of an exemplary hue rotation map. The colors C and C' of the source gamut have the same hue and are therefore part of the same hue leaf. In accordance with the principles of the present disclosure, one color of the first set of colors (403) and one color of the second set of colors (404), respectively (i.e., C, respectively)SOr C'S) For each of the colors C and C', is hue mapped. For example, the C with the sum of the C and the sum ofSOr C'SEach of C and C' differing by the same value defines a hue rotation angle. Due to CSAnd C'SUsually, the hue difference of (A) is different, so that the hue rotation angles of C and C' are usually different.

One aspect of the disclosed principles is a method for mapping colors of a source gamut to colors of a target gamut in a color space, where any of hue, saturation and brightness may be directly represented by or obtained from coordinates of the color space.

Hue rotations for colors other than the colors of the first color set may be determined based on hue rotation angles determined for the colors of the at least one first color set. For example, hue rotation angles for such other colors may be obtained by interpolating hue rotation angles of colors having the same or close chromaticity in the at least one first color set. Alternatively, the hue rotation angles may be obtained by interpolating hue rotation angles of colors having the same or close luminance in the at least one first color set.

One aspect of the disclosed principles allows for improved uniformity of saturation gain caused by gamut mapping while taking into account potential hue modifications. One aspect of the disclosed principles relates to a method that improves the uniformity of saturation gain for colors distributed throughout the source color gamut, but also improves the uniformity of saturation gain for colors distributed throughout the content color gamut. One aspect of the disclosed principles relates to a method that not only improves the uniformity of saturation gain, minimizing color neighborhood degradation, but also minimizes the average change in hue. One aspect of the disclosed principles is the preservation of a color neighborhood, which includes preserving spatial uniformity in the color space of the features (e.g., luminance, chromaticity, or hue) of the content color after mapping to the target gamut. In one example, one aspect of the principles of the present disclosure is a hue rotation angle that is less than a full hue rotation angle.

In one example, the range of hue rotations is between a minimum rotation and a maximum rotation, where the minimum value is 0 (no rotation) and the maximum value is the hue angle difference (alignment of the source primary color hue and the target primary color hue) between a particular color in the source or content color gamut and the corresponding particular color in the target color gamut.

In another example, the range of hue rotations is between a minimum rotation and a maximum rotation, where the minimum value is a negative hue angle difference between a particular color in the source gamut and a corresponding particular color in the target gamut (source primary or secondary C color)S2 hue and target primary or secondary CT2) and the maximum value is a positive hue angle difference between a specific color in the content color gamut and a corresponding specific color in the target color gamut (content primary color or secondary color C)C2 and the target primary or secondary color CT2) alignment of hues).

In another example, the range of hue rotations is between a minimum rotation and a maximum rotation, where the minimum value is a negative hue angle difference between a particular color in the content gamut and a corresponding particular color in the target gamut (alignment of the content primary hue and the hue of the target primary), and the maximum value is a positive hue angle difference between a particular color in the source gamut and a corresponding particular color in the target gamut (alignment of the source primary hue and the hue of the target primary). This example is shown in fig. 4a for a specific target color CT 1.

In one example, the range of hue rotations is between a minimum rotation and a maximum rotation, where the minimum value is a negative hue angle difference between a particular color in the source or content gamut and a corresponding particular color in the target gamut (the source or content primary hue and the target color gamut, respectively)Alignment of the hues of the primaries, with respect to CT3、CT4 and CT5) And the maximum value is 0 corresponding to no rotation.

The method can be applied to primary colors only, or advantageously to primary and secondary colors. In the simplest implementation, interpolation of hue rotation angles of adjacent primaries (and advantageously secondary colors) is also used to rotate other colors of the source gamut, the rotation angles for colors of the same chromaticity being piecewise linear functions of hue. In one example, the method is applied to a 2D projection of a 3D tip on a chromaticity plane (ab plane in Lab space, PT plane in IPT space). However, the angle measured in 3D color space can be used, applied to the 3D tip without modification. In this particular case, the hue change may depend on the third coordinate (i.e., brightness, intensity, or luminance). In one other example, two adjacent specific colors (e.g., CT1, CT2) of the color (C or C ') and the rotated hue of the color (C or C') is interpolated based on the hue difference for each of the two adjacent specific colors. Advantageously, the rotation angles of the same chromaticity of the color C are for two adjacent specific colors (C)T1、CT2) The hue of each particular color in (a) differs by a linear function of the hue applied.

In one example, advantages of the disclosed principles include the ability to optimize mapping to both the source gamut and the content gamut. Advantages of the disclosed principles can include the ability to preserve artistic intent, since in most cases a modest hue shift is applied, while a maximum hue shift is applied only when needed. Another advantage includes preserving color neighborhoods, thereby improving the uniformity of saturation gain of the tip gamut mapping for both types of source color distributions simultaneously, where the first distribution uses the entire source gamut and the second distribution uses only the content gamut.

Fig. 5 illustrates a flow chart of a method 500 for hue mapping in accordance with the principles of the present disclosure. In one example, the method 500 consists in performing a hue rotation mapping of the source gamut and the content gamut to the target gamut. The method 500 may comprise changing the hue of the color of the source gamut.

The method 500 may include a block 501 for receiving information about a source color gamut. Block 501 may receive source gamut information, e.g., information identifying an entire gamut. In another example, block 501 may receive an identifier identifying stored color gamut information (e.g., an identifier identifying pre-stored color gamut information). The received source gamut information may be information identifying a source gamut. The source gamut may be limited to primary colors, coordinates of secondary colors, achromatic points, gamut boundary descriptions, coordinates of certain colors, cusp lines, cusp points, etc. The source gamut may be represented in any defined color space (e.g., RGB, XYZ, Lab, and IPT). The source gamut may be received from any source (e.g., a device that transmits input content, such as a camera, a set-top box, a camera sensor, an HDMI receiver, a communications interface, a mobile network (including 3G or 4G networks), a wireless network (including Wi-Fi, bluetooth networks, or links), a TV broadcast network (e.g., DVB or ATSC receiver interfaces), a wired network (including web networks), a wired link or bus (including HMDI, USB), an optical disc player (including DVD or blu-ray players, video streams, or storage media (e.g., blu-ray disc, memory)). alternatively or additionally, the source gamut may conform to a standard (e.g., rec.709, rec.2020).

Block 502 may determine a tip line of the received source gamut. Block 502 may determine each cusp point for each hue. In one example, block 502 may determine the color with the greatest saturation for each hue. The block 502 may represent the tip line as saturation by hue. In another example, block 502 may represent the tip line based on the 3D coordinates of the tip point.

The method 500 may further comprise a block 503 for receiving information on the target color gamut. Block 503 may receive target color gamut information, e.g., information identifying the entire color gamut. In another example, block 503 may receive an identifier identifying stored color gamut information (e.g., an identifier identifying pre-stored color gamut information). The received target color gamut information may be information identifying a target color gamut. The target color gamut may be limited to primary colors, coordinates of secondary colors, achromatic points, gamut boundary descriptions, coordinates of certain colors, cusp lines, cusp points, etc. The target gamut may be represented in any defined color space (e.g., RGB, XYZ, Lab, and IPT). The target color gamut may be sent from any device/system (e.g., a device that is to display content, such as a television, monitor, smartphone, tablet, laptop, game interface, or any other type of display; a communication interface; a destination interface or communication link (e.g., Wi-Fi, USB), or a wired link (e.g., HDMI, local area network)). Alternatively or additionally, the target gamut may be a gamut compliant with a standard (e.g., rec.709, rec.2020). The target color gamut may be transmitted and/or received via a destination interface (e.g., an interface with a display) or a communication link, including a wireless (e.g., Wi-Fi, USB) or wired link (e.g., HDMI, local area network).

In one example, the color space of the target color gamut may be different from the color space of the source color gamut. In one example, the target color gamut information may be received from a different device/system than the source color gamut information. For example, the source image will be mapped to a target color in the target image, where the source color of the source image is from a system using an RGB color space according to bt.2020 and the target color of the target image is for a system using an RGB color space according to bt.709.

Block 504 may determine a tip line of the target color gamut. The block 504 may determine the tip line according to the principles described in connection with the block 502.

The method 500 may also include a block 505 for receiving information regarding a content color gamut. Block 505 may receive content color gamut information, e.g., information identifying the entire color gamut. In another example, block 505 may receive an identifier identifying stored color gamut information (e.g., an identifier identifying pre-stored color gamut information). The received content color gamut information may be information identifying a content color gamut. The content gamut may be limited to primary colors, coordinates of secondary colors, white points, gamut boundary descriptions, coordinates of certain colors, cusp lines, cusp points, etc. The content gamut may be represented in any defined color space (e.g., RGB, XYZ, Lab, and IPT). The content gamut may be sent from any device/system (e.g., a device that is to display content, such as a television, monitor, smartphone, tablet, laptop, game interface, or any other type of display; a communication interface; a destination interface or communication link (e.g., Wi-Fi, USB), or a wired link (e.g., HDMI, local area network)). Alternatively or additionally, the content gamut may be a standard compliant gamut (e.g., rec.709, rec.2020). The content gamut may be sent and/or received via a destination interface (e.g., an interface with a display) or a communication link, including a wireless (e.g., Wi-Fi, USB) or wired link (e.g., HDMI, local area network).

In one example, the color space of the content gamut may be different from the color space of the source gamut. In one example, the content gamut information may be received from a different device/system than the source gamut information.

Block 506 may determine a tip line of the content gamut. The block 506 may determine the tip line according to the principles described in connection with the block 502.

Block 507 may determine a hue rotation angle. In one example, block 507 may determine a hue rotation angle based on the primary colors. In another example, block 507 may determine the hue rotation angle based on the secondary color. In one example of the disclosed principles, block 507 may determine the hue rotation angle based on the primary colors only. In another example of the disclosed principles, block 507 may determine the hue rotation angle based on the secondary color only. In another example, block 507 may determine a hue rotation angle based on both the primary color and the secondary color.

Block 507 may determine a change in hue for each source color, particularly for each particular color (i.e., primary and/or secondary). As used herein, "specific color" is defined as a primary color, a secondary color, or both a primary color and a secondary color of a color gamut. Block 507 may determine a change in hue of a particular color of the source gamut in the direction of the hue of the corresponding primary and/or secondary color of the target gamut. In one example, block 507 may determine the change in hue by determining a hue rotation defined by the rotation angle.

In one example, block 507 may determine a hue change, i.e., a hue rotation angle, for any hue (including hues of non-specific colors). In one example, block 507 may determine the hue rotation angle based on an interpolation (e.g., linear, spline) of hue rotation angles obtained for the primary and/or secondary colors. In one example, the rotation angles of colors other than the specific color may be determined by linear interpolation of the rotation angles of the specific color around (i.e., adjacent to) the hue angle of the specific color in the source gamut. Other interpolation methods (e.g., spline interpolation) may be used. In one example, block 507 may perform this principle.

In another example, non-specific colors (colors other than the primary and/or secondary colors) of the source gamut may be rotated using linear interpolation of hue rotation angles of adjacent primary colors (and optionally also secondary colors) in the source gamut. The hue rotation angle can be a piecewise linear function of the hue. In one example, block 507 may perform this example.

In one example, block 507 may determine a look-up table ("LUT") for mapping input colors (e.g., colors from an input image/video) to output colors (e.g., an output image/video).

Block 507 may determine hue rotation angles for the primary and/or secondary colors according to principles described in connection with steps 1-4 below.

Block 508 may apply hue rotation based on the determination in block 507. In one example, block 508 may apply a hue rotation based on the hue rotation angle from block 507. In one example, block 508 may determine an output color to generate a LUT based on applying the hue rotation determination from block 507 to each input color. In another example, block 508 may apply hue rotation based on a LUT previously determined in accordance with the principles of the present disclosure, including hue rotation determination of block 507. Once the LUT is generated in accordance with the principles of the present disclosure, it may be stored for future use without performing the determination of block 501-507. The LUT may be generated according to the principles described in connection with block 501 and 507 and steps 1-4.

Block 508 may receive input color information. The input color information may be color information of input pixels of the input video. In one example, block 508 may determine an output color determined based on the rotated hue. Block 508 may then provide the output color.

In one example, blocks 509 and 510 may apply color space conversion to input or output colors (e.g., pixels). The color conversion may be performed in the same step or in the same process as the hue rotation. The color space conversion may change the representation of the color from a first color space to another color space. In one example, blocks 509 and 510 may be optional. In one example, blocks 509 and 510 may apply a color space conversion based on the color space representation of the LUT. In another example, blocks 509 and 510 may apply color space conversion based on the color space used to perform the hue rotation. The method 500 discusses an example of performing aspects of the present principles in a color space such as Lab or IPT. In such a color space, the modification of the hue corresponds to a rotation of the color.

Method 500 may be modified for other embodiments, such as embodiments utilizing LUTs with modified hues. For example, if the method 500 is modified to utilize a LUT, the block 508 may implement a LUT. In this example, the LUT may be generated with or without block 501 and block 507.

Fig. 8 shows an exemplary schematic diagram 800 of a source gamut 201, a content gamut 401 and a target gamut 202 for a particular luminance level in the ab plane of the CIELAB color space.

In one example, block 507 of FIG. 5 may determine hue rotation angles for primary and/or secondary colors in the following manner. The hue rotation angles for the primary or secondary colors of the source gamut are determined such that after the hue mapping the hue of the mapped primary or secondary color of the source gamut is the same as the hue of the corresponding primary or secondary color of the target gamut (alignment of the source primary or secondary color and the hue of the target primary or secondary color). The hue rotation angles for the respective primary or secondary colors of the content gamut are determined such that after the hue mapping the hue of the mapped primary or secondary color of the content gamut is the same as the hue of the corresponding primary or secondary color of the target gamut (alignment of the content primary or secondary color and the hue of the target primary or secondary color).

In another example, block 507 of fig. 5 may determine hue rotation angles in the following manner for the selected first set of source colors. The set of selected colors 403 is defined by a color passing through white (i.e., the origin of the ab-plane or luminance axis) and passing through the source, content, and target color gamuts (e.g., C, respectively)S2、CC2、CT2) Is defined by a curve of all three corresponding primary and secondary colors. Such a curve corresponds to a first contiguous set of selected colors. According to a variant, only the first discrete set of colors of the continuous set of selected colors of the curve is used. In a non-limiting example, the first discrete set of colors includes 10 color samples. This variant is particularly suitable for reducing the processing capacity for carrying out the method. In one example, the curve is a piecewise straight line. In one other example, the curve is a spline. A hue rotation for the selected source color set is defined such that after the hue rotation, the mapped selected source color set and selected target color set 404. The set 404 of selected target colors is defined by a curve of the corresponding primary or secondary colors passing through white (i.e. the origin of the ab-plane or luminance axis or the achromatic color) and the target gamut. Such a curve 404 corresponds to a second contiguous set of selected colors. Advantageously, the curve 404 is a straight line corresponding to a constant or same hue lobe. As for the first set of colors, the second set of colors may be discrete. Such straight lines limit artifacts when the chroma is compressed in another chroma mapping step of the gamut mapping method.

In total, for all six primary and secondary colors "red", "green", "blue", "cyan", "magenta" and "yellow", six sets 403 of selected source colors are mapped to six sets 404 of selected target colors. In this example, the hue rotation angle depends on the chromaticity. One source color in the selected set of source colors is a source gamut primary or secondary color (alignment of the source primary or secondary color phase with the hue of the target primary or secondary color) that is mapped to the corresponding primary or secondary color. One of the selected source colors in the set of source colors is a content gamut primary or secondary color (alignment of the content primary or secondary color and the hue of the target primary or secondary color) mapped to the corresponding primary or secondary color. If the hues of the primary colors or the secondary colors of the source color gamut and the content color gamut are different, respectively, the hue rotation angles of the primary colors or the secondary colors of the source color gamut and the content color gamut are different, respectively.

In one example of the disclosed principles, the selected set 403 of source colors does not pass through the target color.

In one example of the disclosed principles, the hue rotation angle (θ) may be determined as follows. The following example may be implemented by block 507 of FIG. 5. The following steps are applied:

1. for a source sample color and corresponding content sample and target sample colors, a first set of colors (801) is accessed, the first set of colors (801) comprising an achromatic color, a specific color of a source gamut, a corresponding specific color of a content gamut, and a corresponding specific color of a target gamut. In one example, a curve is created in block 507 that passes through the origin and three specific colors (403), or the curve is recovered from the information about the color gamut (403). The colors of the curve are referred to as a set of selected source colors or a first set of consecutive colors.

2. For a source sample color and corresponding content sample color and target sample color, a second set of colors (404) is accessed, the second set of colors (404) comprising colors of constant hue corresponding to the hue of a particular color of the target color gamut. In one example, a curve is created (404) that passes through the origin and a particular target color, or the curve is recovered (404) from information about the color gamut. This curve is different from the curve of step 1 (403). The colors of the curve are referred to as a set of selected target colors or a second set of colors.

3. In a preliminary step of step 4, a color difference between a first sample color from a first color set (403) to a second color set (404) is calculated. The hue difference corresponds to the hue rotation angle of a first sample color of the first color set (403) such that when any sample color from the first color set is rotated by the hue rotation angle, the mapped sample color of the first color set will coincide with the color of the second color set (404). This hue difference for the particular color selected may be stored in the LUT for subsequent use in step 4.

4. For any given color of one of the source gamut or the content gamut, performing gamut mapping to the target gamut is based on the hue difference of the sample color having the same chromaticity as the given color and calculated in step 3. In one example, the hue rotation angle (θ) is calculated by interpolating the hue rotation angles of, for example, 2 adjacent sample colors calculated in step 3.

The source specific color C according to step 1 can be constructed using the definition of the keypoints for constructing the cubic spline curve, for example, in the following mannerSTarget specific color CTAnd a content specific color CCCorresponding first set of consecutive colors:

-defining a set of keypoints in a color space comprising:

specific color C of the source gamutSA corresponding one of the points is set to be,

o and the specific color C of the target color gamutTA corresponding one of the points is set to be,

o and the specific color C of the content gamutCA corresponding one of the points is set to be,

one reserved point for not modifying the low chroma hue, its first anchor point C on the luminance axisA1Specific color C of target color gamutTOn-line from the first anchor point CA120% distance: cP=CA1+0.2(CT-CA1) Wherein the first anchor point CA1Having a reaction with CTThe same luminance but with zero chromaticity coordinates. In CIELAB space, if CT=(LT,aT,bT) Then the first anchor point is CA1=(LT0, 0) and the retention point is CP=(LT,0.2aT,0.2bT). Another first anchor point may be selected according to the artistic intent of color preservation, such as anchor point C of half maximum luminance on the luminance axisA1(50, 0, 0). The outlier directs the cubic spline curve to and C for lower chromaticities within 20% of the target gamutTThe same hue of color. Dependent on hue retention of low chromaArtistic intent, the percentage of 20% may be increased (e.g., 25%) or may be decreased (e.g., 15%).

One outer interpolation point with a chromaticity larger than all three specific colors of the source, target and content color gamuts. E.g. as C in FIG. 4aS5, if a specific color C is presentS5 has a larger chromaticity than the corresponding specific color of the target color gamut and the content gamut, the outer interpolation point is selected as CE=CS5+0.2(CS5-CA2) Wherein the second anchor point CA2Having a reaction with CS5 the same luminance but with 0 chromaticity coordinates. In CIELAB space, if CS5=(LS,aS,bS) Then the second anchor point CA2=(LS0, 0) and extrapolate point CE=(LS,1.2aS,1.2bS). Another second anchor point may be selected according to the artistic intent of the color extrapolation, e.g. anchor point C of half maximum luminance on the luminance axisA2(50, 0, 0). The outlier directs the cubic spline to the sum C for maximum chroma beyond the maximum color gamutS5 same hue color. Depending on the artistic intent of the mapping behavior for larger chromaticities, a factor of 0.2 may be increased (e.g., 0.3) or decreased (e.g., 0.1).

-key point { CT,CS,CC,CP,CEWith corresponding chrominance values cT,cS,cC,cP,cEAre associated with, in CIELAB spacecC、cP、cEThe same is true.

-calculating three cubic spline curves f using known methodsL(c)、fa(c)、fb(c) For example, a method "interplated" from the module "interplate" of the Python library "recipe", wherein

According to key points { CT,CS,CC,CP,CELuminance value of { L }T,LS,LC,LP,LEAnd the corresponding chrominance value cT,cS,cC,cP,cEF to calculate a first curve fL(c) In that respect According to key point { CT,CS,CC,CP,CEA coordinate value s { a }T,aS,aC,aP,aEAnd the corresponding chrominance value cT,cS,cC,cP,cEF to calculate a second curve fa(c)。

According to key points { CT,CS,CC,CP,CEB coordinate value of { b }T,bS,bC,bP,bEAnd the corresponding chrominance value cT,cS,cC,cP,cEF to calculate a third curve fb(c)。

-then, by { (L, a, b)/L ═ fL(c),a=fa(c),b=fb(c),0<c<cmaxH to give a first contiguous set of colors, where cmaxIs the chromaticity of a specific color having the largest chromaticity among the corresponding specific colors of the source color gamut, the target color gamut, and the content color gamut. For example, for a particular color CS5, c, a first color continuummaxIs CS5 chroma.

In step 3 above, hue rotation angles may be calculated for a set of N sample colors outside the first color continuum, e.g., { (L)i,ai,bi)/Li=fL(ci),ai=fa(ci),bi=fb(ci),ci=cmaxi/N, i is more than or equal to 0 and less than N-1 }. If C is presentT=(LT,aT,bT) Is the corresponding specific color of the target color gamut, and the rotation angle is the vector in the ab plane of the CIELAB space { (a)i,bi) Is multiplied by a vector { (a)T,bT) Angle between. Resulting rotation angle { αi=angle((ai,bi),(aT,bT) I < N-1 ≦ 0 ≦ i { (L) may be derived from a look-up table (LUT) { (L)i,ai,bi,αi) I < N-1, which is specific to a color in a color space (L)i,ai,bi) Indicating the corresponding hue rotation angle alphaiThe hue rotation angle alpha is appliediAnd carrying out hue mapping on the color. Such LUTs may be created for each first color continuum of all particular colors of the source gamut, and all of these LUTs may be combined into a global LUT, e.g., { (L)i,ai,bi,αi) I < 6N-1, assuming that the three primary and three secondary colors will be specific colors of the source gamut.

In step 4 above, for hue mapping any given color of one of the source gamut or the content gamut, it may be passed through the global LUT { (L)i,ai,bi,αi) The hue rotation angle (theta) is calculated by interpolation of the entries of/0 ≦ i < 6N-1 }. Any known interpolation method may be used, such as bilinear interpolation of the two nearest LUT entries.

In step 4 above, after hue mapping, chroma compression or expansion may be applied in order to bring the mapped colors into the target gamut (by compression), or to fill the entire target gamut with the mapped colors (by expansion). In the case of compression, for example, a chroma mapping algorithm may be used which maps colors along straight mapping trajectories anchored respectively to anchor points belonging to the achromatic L-axis. Each hue-mapped color is chroma-mapped to a target color along a mapping trajectory in a direction toward an anchor point. The mapping of hue-mapped colors can be described as: and modifying the distance D between the color after the hue mapping and the anchor point into the distance D' between the obtained target color and the same anchor point.

To map D to D', known three-segment mapping functions may be used, such as those published by Montag et al in the IS & T/SID six Color Imaging Conference and titled "Gamut mapping: evaluation of chromatography techniques for the same purposes as discussed in the paper of Evaluation of chromatography standards for the same. The mapping function has

The first segment, with slope one, covers 40% of the chromaticity,

the end segment, which is a hard clip,

and a middle segment, connecting the other two segments, covering 60% of the chromaticity.

These examples, as well as the principles described in connection with steps 1-4, may be performed by block 507 of method 500 shown in fig. 5.

Fig. 6 illustrates an exemplary system 600 according to the principles of the present disclosure. System 600 may include one or more of an intermediary system 601, an intermediary system 602, and a display system 603. It is understood that the system 600 may include only one of these systems 601-603. Alternatively, system 600 may include some or all of systems 601-603. Alternatively, system 600 may include additional or different systems for performing gamut mapping in addition to systems 601-603. In one example, each of the systems 601-603 may be a device similar to the device 700 of FIG. 7. Alternatively, each of the systems 601-603 may be implemented in whole or in part with the device 700 of FIG. 7.

System 600 shows a first gamut 604, a second gamut 605, and a third gamut 606. Alternatively, one or more of color gamuts 604-606 may be included, or may further include a different color gamut than the examples provided herein.

Each of the color gamuts 604-606 may be received or may be signaled. Additionally, as used herein, the word "signal" refers to information indicative of something, such as a stored color gamut or color gamut mapping information. For example, the system may receive a signal identifying a known color gamut (e.g., a standardized color gamut). The system may signal one or more parameters related to the gamut in order to let the system know which gamut to use on the gamut mapping system side. In this way, the color gamut may be identified with a parameter or identifier. Savings can be achieved by avoiding the transmission of any actual parameters. It should be appreciated that the signaling may be accomplished in a variety of ways. For example, the message may be signaled using one or more syntax elements, flags, and the like.

Each of the color gamuts 604 through 606 may correspond to a color gamut, such as a color gamut of a display panel, a color gamut of a camera, a color gamut of a current or future color gamut standard (e.g., NTSC, rec.709, rec.2020, Adobe RGB, and DCI-P3). The color gamut 604 and 606 can be received from any device/system (e.g., a device that transmits input content, such as a camera, set-top box, blu-ray player, camera sensor, HDMI receiver, communication interface). Alternatively or additionally, the color gamut may conform to a standard (e.g., rec.709, rec.2020). The color gamut may be received from any medium (e.g., a mobile network (including 3G or 4G networks), a wireless network (including Wi-Fi, bluetooth networks or links), a TV broadcast network (e.g., DVB or ATSC receiver interfaces), a wired network (including web networks), a wired link or bus (including HMDI, USB), a compact disc player (including DVD or blu-ray players, video streaming or storage media (e.g., blu-ray disc, memory)).

Each of the systems 601-603 may include a gamut mapping block 610. The gamut mapping block 610 may perform gamut mapping according to the principles described in connection with fig. 5 and steps 1-4. Gamut mapping 610 may be performed locally, or may be performed remotely in whole or in part (e.g., on a server, in the cloud).

In one example, the intermediate system 601 may be a camera. The intermediate system 601 may perform gamut mapping 610 in accordance with current principles to map the camera sensor gamut to another gamut (e.g., a standardized gamut or a gamut of a camera display). In one example, the intermediate system 601 may be a broadcast encoder. The intermediate system 601 may perform gamut mapping 610 in accordance with the principles of the present disclosure to map a gamut of the original video content (e.g., a standard gamut such as rec.2020) to a gamut of the transmission channel (e.g., a standard gamut such as rec.709). In one example, the intermediate system 602 may be a set-top box system, a video recorder, or a blu-ray player for performing color gamut mapping between two different standards (e.g., NTSC, rec.709, rec.2020, AdobeRGB, and DCI-P3). As shown in fig. 6, the intermediate system 602 may be provided with a source color gamut, a target color gamut, or both the source color gamut and the target color gamut. In one example, there may be multiple intermediate systems 602 that may perform gamut mapping during transmission/reception of gamut information. In one example, the display system 603 may be a display. The display system 603 may perform gamut mapping 610 in accordance with the principles of the present disclosure to map the gamut of the video content (e.g., using rec.2020) to the gamut of the actual display panel (e.g., as defined by its primary and secondary colors).

Alternatively, each of the systems 601-603 may apply a LUT determined according to the principles described in connection with FIG. 5 and steps 1-4. In accordance with the principles of the present disclosure, the LUT may be determined based on hue rotation. In this particular case, steps 1-4 can be utilized to obtain hue rotation angles for particular colors (e.g., primary and/or secondary colors). During generation of the LUT, each possible color input of the LUT may be provided as an input for the applied hue rotation (e.g., block 508 of fig. 5). The output of the applied hue rotation is then stored in the LUT, corresponding to the possible color inputs.

In one example, during generation of the LUT, each possible LUT input color value may optionally be first converted (e.g., block 509) to a working color space (e.g., Lab or IPT) depending on the format of the LUT input (e.g., RGB or YUV, 8-bit, 12-bit, or 16-bit). The hue rotation angle may then be determined for each possible LUT input value. Hue rotation may then be applied (e.g., block 508) to the color before optionally converting the color to a LUT output color space (e.g., Lab, IPT, RGB, or YUV) (e.g., block 510). The output color values may be referred to as LUT results and may be stored in a LUT. The LUT input may have a smaller resolution than the actual system input and the missing information may be interpolated before applying the LUT. Thus, the LUT provides a mapping of input LUT colors to resulting LUT-processed colors, wherein the resulting LUT colors are processed according to the principles of the present disclosure, including the principles described in connection with steps 1-4 and fig. 5.

Fig. 7 shows an exemplary architecture of a device 700, where the device 700 may be configured to implement the methods described with respect to fig. 5 and steps 1-4. The disclosed principles may be performed locally or may be performed remotely in whole or in part (e.g., on a server, in the cloud). As described above, device 700 may be part of one or more of systems 601, 602, and 603 of fig. 6.

In one example, fig. 7 shows an apparatus that may be configured to implement a color processing method according to the principles of the present disclosure.

The device 700 comprises the following elements connected together by a data and address bus 701:

a microprocessor 702 (or CPU), e.g., a DSP (or digital signal processor);

ROM (or read only memory) 703;

-a RAM (or random access memory) 704;

an I/O interface 705 for receiving data to be transmitted from an application;

a battery 706 (or other suitable power source).

According to one example, the battery 706 is external to the device. In each memory mentioned, the word "register" used in the description may correspond to a small-capacity area (some bits) or a very large area (e.g. the whole program or a large amount of received or decoded data). The ROM 703 includes at least programs and parameters. The algorithm of the method according to the invention is stored in the ROM 703. When turned on, the CPU702 uploads the program into the RAM and executes the corresponding instructions.

The RAM 704 includes, in registers, programs executed by the CPU702 and uploaded after the device 700 is turned on, input data in the registers, intermediate data of different states of the method in the registers, and other variables for executing the method in the registers.

The embodiments described herein may be implemented in, for example, a method or 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 (e.g., discussed only as a method or device), the implementation of features discussed can also be implemented in other forms (e.g., a program). The apparatus may be implemented in, for example, appropriate hardware, software and firmware. The method may be implemented in an apparatus such as a processor, which refers generally to a processing device including, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communication devices (e.g., computers, cellular telephones, portable/personal digital assistants ("PDAs")), and other devices that facilitate the communication of information between end-users. The system 700 may include a memory 703 and/or 704 and a processor 702. In one example, the processor 702 may perform the operations described in conjunction with fig. 5. In one example, memory 703 and/or memory 704 may store data related to the operations described in connection with fig. 5.

The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile storage. Other hardware, conventional and/or custom, may also be included.

Further, the software may be implemented as an application program tangibly embodied on a program storage unit. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units ("CPU"), a random access memory ("RAM"), and input/output ("I/O") interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.

Although the invention is described with respect to a particular embodiment, it should be understood that the invention is not limited to that embodiment. Accordingly, those skilled in the art will recognize that the claimed invention encompasses variations from those embodiments described herein.

It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present principles are programmed.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:照相装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类