System and method for a multi-primary wide gamut color system

Information

  • Patent Grant
  • 11955044
  • Patent Number
    11,955,044
  • Date Filed
    Thursday, November 3, 2022
    2 years ago
  • Date Issued
    Tuesday, April 9, 2024
    7 months ago
Abstract
Systems and methods for a multi-primary color system for display. A multi-primary color system increases the number of primary colors available in a color system and color system equipment. Increasing the number of primary colors reduces metameric errors from viewer to viewer. One embodiment of the multi-primary color system includes Red, Green, Blue, Cyan, Yellow, and Magenta primaries. The systems of the present invention maintain compatibility with existing color systems and equipment and provide systems for backwards compatibility with older color systems.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention

The present invention relates to color systems, and more specifically to a wide gamut color system with an increased number of primary colors.


2. Description of the Prior Art

It is generally known in the prior art to provide for an increased color gamut system within a display.


Prior art patent documents include the following:


U.S. Pat. No. 10,222,263 for RGB value calculation device by inventor Yasuyuki Shigezane, filed Feb. 6, 2017 and issued Mar. 5, 2019, is directed to a microcomputer that equally divides the circumference of an RGB circle into 6×n (n is an integer of 1 or more) parts, and calculates an RGB value of each divided color. (255, 0, 0) is stored as a reference RGB value of a reference color in a ROM in the microcomputer. The microcomputer converts the reference RGB value depending on an angular difference of the RGB circle between a designated color whose RGB value is to be found and the reference color, and assumes the converted RGB value as an RGB value of the designated color.


U.S. Pat. No. 9,373,305 for Semiconductor device, image processing system and program by inventor Hiorfumi Kawaguchi, filed May 29, 2015 and issued Jun. 21, 2016, is directed to an image process device including a display panel operable to provide an input interface for receiving an input of an adjustment value of at least a part of color attributes of each vertex of n axes (n is an integer equal to or greater than 3) serving as adjustment axes in an RGB color space, and an adjustment data generation unit operable to calculate the degree of influence indicative of a following index of each of the n-axis vertices, for each of the n axes, on a basis of distance between each of the n-axis vertices and a target point which is an arbitrary lattice point in the RGB color space, and operable to calculate adjusted coordinates of the target point in the RGB color space.


U.S. Publication No. 20130278993 for Color-mixing bi-primary color systems for displays by inventors Heikenfeld, et al., filed Sep. 1, 2011 and published Oct. 24, 2013, is directed to a display pixel. The pixel includes first and second substrates arranged to define a channel. A fluid is located within the channel and includes a first colorant and a second colorant. The first colorant has a first charge and a color. The second colorant has a second charge that is opposite in polarity to the first charge and a color that is complimentary to the color of the first colorant. A first electrode, with a voltage source, is operably coupled to the fluid and configured to moving one or both of the first and second colorants within the fluid and alter at least one spectral property of the pixel.


U.S. Pat. No. 8,599,226 for Device and method of data conversion for wide gamut displays by inventors Ben-Chorin, et al., filed Feb. 13, 2012 and issued Dec. 3, 2013, is directed to a method and system for converting color image data from a, for example, three-dimensional color space format to a format usable by an n-primary display, wherein n is greater than or equal to 3. The system may define a two-dimensional sub-space having a plurality of two-dimensional positions, each position representing a set of n primary color values and a third, scaleable coordinate value for generating an n-primary display input signal. Furthermore, the system may receive a three-dimensional color space input signal including out-of range pixel data not reproducible by a three-primary additive display, and may convert the data to side gamut color image pixel data suitable for driving the wide gamut color display.


U.S. Pat. No. 8,081,835 for Multiprimary color sub-pixel rendering with metameric filtering by inventors Elliot, et al., filed Jul. 13, 2010 and issued Dec. 20, 2011, is directed to systems and methods of rendering image data to multiprimary displays that adjusts image data across metamers. The metamer filtering may be based upon input image content and may optimize sub-pixel values to improve image rendering accuracy or perception. The optimizations may be made according to many possible desired effects. The patent discloses a display system comprising: a display, said display capable of selecting from a set of image data values, said set comprising at least one metamer; an input image data unit; a spatial frequency detection unit, said spatial frequency detection unit extracting a spatial frequency characteristic from said input image data; and a selection unit, said unit selecting image data from said metamer according to said spatial frequency characteristic.


U.S. Pat. No. 7,916,939 for High brightness wide gamut display by inventors Roth, et al., filed Nov. 30, 2009 and issued Mar. 29, 2011, is directed to a device to produce a color image, the device including a color filtering arrangement to produce at least four colors, each color produced by a filter on a color filtering mechanism having a relative segment size, wherein the relative segment sizes of at least two of the primary colors differ.


U.S. Pat. No. 6,769,772 for Six color display apparatus having increased color gamut by inventors Roddy, et al., filed Oct. 11, 2002 and issued Aug. 3, 2004, is directed to a display system for digital color images using six color light sources or two or more multicolor LED arrays or OLEDs to provide an expanded color gamut. Apparatus uses two or more spatial light modulators, which may be cycled between two or more color light sources or LED arrays to provide a six-color display output. Pairing of modulated colors using relative luminance helps to minimize flicker effects.


SUMMARY OF THE INVENTION

It is an object of this invention to provide an enhancement to the current RGB systems or a replacement for them.


In one embodiment, the present invention is a system for displaying a six primary color system, including a set of image data, wherein the set of image data is comprised of a first set of color channel data and a second set of color channel data, wherein the set of image data further includes a bit level, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters is modifiable, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the bit level of the set of image data, thereby creating an updated bit level, wherein the image data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted by the image data converter for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate that the set of image data being displayed on the at least one display device is using a six-primary color system.


In another embodiment, the present invention is a system for displaying a six-primary color system, including a set of image data, wherein the set of image data includes a first set of color channel data and a second set of color channel data, wherein the set of image data includes a bit level, a magenta primary value, wherein the magenta primary value is derived from the set of image data, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters are modifiable, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the bit level for the set of image data to a new bit level, wherein the at least one data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate the magenta primary value and that the set of image data being displayed on the at least one display device is using a six-primary color system.


In yet another embodiment, the present invention is a system for displaying a set of image data using a six-primary color system, including a set of image data, wherein the set of image data includes a bit level, a magenta primary value, wherein the magenta primary value is derived from the set of image data, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters are modifiable, at least one electronic luminance component, wherein the electronic luminance component is derived from the set of image data, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the set of image data to a new bit level, wherein the data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate the magenta primary value, the at least one electronic luminance component, and that the set of image data being displayed on the at least one display device is using a six-primary color system.


These and other aspects of the present invention will become apparent to those skilled in the art after a reading of the following description of the preferred embodiment when considered with the drawings, as they support the claimed invention.





BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.



FIG. 1 illustrates one embodiment of a six primary system including a red primary, a green primary, a blue primary, a cyan primary, a magenta primary, and a yellow primary (“6P-B”) compared to ITU-R BT.709-6.



FIG. 2 illustrates another embodiment of a six primary system including a red primary, a green primary, a blue primary, a cyan primary, a magenta primary, and a yellow primary (“6P-C”) compared to SMPTE RP431-2 for a D60 white point.



FIG. 3 illustrates yet another embodiment of a six primary system including a red primary, a green primary, a blue primary, a cyan primary, a magenta primary, and a yellow primary (“6P-C”) compared to SMPTE RP431-2 for a D65 white point.



FIG. 4 illustrates Super 6Pa compared to 6P-C.



FIG. 5 illustrates Super 6Pb compared to Super 6Pa and 6P-C.



FIG. 6 illustrates an embodiment of an encode and decode system for a multi-primary color system.



FIG. 7 illustrates a sequential method where three color primaries are passed to the transport format as full bit level image data and inserted as normal (“System 2”).



FIG. 8 illustrates one embodiment of a system encode and decode process using a dual link method (“System 3”).



FIG. 9 illustrates one embodiment of an encoding process using a dual link method.



FIG. 10 illustrates one embodiment of a decoding process using a dual link method.



FIG. 11 illustrates one embodiment of a six-primary color system encode using a 4:4:4 sampling method.



FIG. 12 illustrates one embodiment for a method to package six channels of primary information into the three standard primary channels used in current serial video standards by modifying bit numbers for a 12-bit SDI and a 10-bit SDI.



FIG. 13 illustrates a simplified diagram estimating perceived viewer sensation as code values define each hue angle.



FIG. 14 illustrates one embodiment for a method of stacking/encoding six-primary color information using a 4:4:4 video system.



FIG. 15 illustrates one embodiment for a method of unstacking/decoding six-primary color information using a 4:4:4 video system.



FIG. 16 illustrates one embodiment of a 4:4:4 decoder for a six-primary color system.



FIG. 17 illustrates one embodiment of an optical filter.



FIG. 18 illustrates another embodiment of an optical filter.



FIG. 19 illustrates an embodiment of the present invention for sending six primary colors to a standardized transport format.



FIG. 20 illustrates one embodiment of a decode process adding a pixel delay to the RGB data for realigning the channels to a common pixel timing.



FIG. 21 illustrates one embodiment of an encode process for 4:2:2 video for packaging five channels of information into the standard three-channel designs.



FIG. 22 illustrates one embodiment for a non-constant luminance encode for a six-primary color system.



FIG. 23 illustrates one embodiment of a packaging process for a six-primary color system.



FIG. 24 illustrates a 4:2:2 unstack process for a six-primary color system.



FIG. 25 illustrates one embodiment of a process to inversely quantize each individual color and pass the data through an electronic optical function transfer (EOTF) in a non-constant luminance system.



FIG. 26 illustrates one embodiment of a constant luminance encode for a six-primary color system.



FIG. 27 illustrates one embodiment of a constant luminance decode for a six-primary color system.



FIG. 28 illustrates one example of 4:2:2 non-constant luminance encoding.



FIG. 29 illustrates one embodiment of a non-constant luminance decoding system.



FIG. 30 illustrates one embodiment of a 4:2:2 constant luminance encoding system.



FIG. 31 illustrates one embodiment of a 4:2:2 constant luminance decoding system.



FIG. 32 illustrates a raster encoding diagram of sample placements for a six-primary color system.



FIG. 33 illustrates one embodiment of the six-primary color unstack process in a 4:2:2 video system.



FIG. 34 illustrates one embodiment of mapping input to the six-primary color system unstack process.



FIG. 35 illustrates one embodiment of mapping the output of a six-primary color system decoder.



FIG. 36 illustrates one embodiment of mapping the RGB decode for a six-primary color system.



FIG. 37 illustrates one embodiment of an unstack system for a six-primary color system.



FIG. 38 illustrates one embodiment of a legacy RGB decoder for a six-primary, non-constant luminance system.



FIG. 39 illustrates one embodiment of a legacy RGB decoder for a six-primary, constant luminance system.



FIG. 40 illustrates one embodiment of a six-primary color system with output to a legacy RGB system.



FIG. 41 illustrates one embodiment of six-primary color output using a non-constant luminance decoder.



FIG. 42 illustrates one embodiment of a legacy RGB process within a six-primary color system.



FIG. 43 illustrates one embodiment of packing six-primary color system image data into an ICTCP (ITP) format.



FIG. 44 illustrates one embodiment of a six-primary color system converting RGBCYM image data into XYZ image data for an ITP format.



FIG. 45 illustrates one embodiment of six-primary color mapping with SMPTE ST424.



FIG. 46 illustrates one embodiment of a six-primary color system readout for a SMPTE ST424 standard.



FIG. 47 illustrates a process of 2160p transport over 12G-SDI.



FIG. 48 illustrates one embodiment for mapping RGBCYM data to the SMPTE ST2082 standard for a six-primary color system.



FIG. 49 illustrates one embodiment for mapping YRGB YCYM CR CB CC CY data to the SMPTE ST2082 standard for a six-primary color system.



FIG. 50 illustrates one embodiment for mapping six-primary color system data using the SMPTE ST292 standard.



FIG. 51 illustrates one embodiment of the readout for a six-primary color system using the SMPTE ST292 standard.



FIG. 52 illustrates modifications to the SMPTE ST352 standards for a six-primary color system.



FIG. 53 illustrates modifications to the SMPTE ST2022 standard for a six-primary color system.



FIG. 54 illustrates a table of 4:4:4 sampling for a six-primary color system for a 10-bit video system.



FIG. 55 illustrates a table of 4:4:4 sampling for a six-primary color system for a 12-bit video system.



FIG. 56 illustrates sequence substitutions for 10-bit and 12-bit video in 4:2:2 sampling systems in a Y Cb Cr Cc Cy color space.



FIG. 57 illustrates sample placements of six-primary system components for a 4:2:2 sampling system image.



FIG. 58 illustrates sequence substitutions for 10-bit and 12-bit video in 4:2:0 sampling systems using a Y Cb Cr Cc Cy color space.



FIG. 59 illustrates sample placements of six-primary system components for a 4:2:0 sampling system image.



FIG. 60 illustrates modifications to SMPTE ST2110-20 for a 10-bit six-primary color system in 4:4:4 video.



FIG. 61 illustrates modifications to SMPTE ST2110-20 for a 12-bit six-primary color system in 4:4:4 video.



FIG. 62 illustrates modifications to SMPTE ST2110-20 for a 10-bit six primary color system in 4:2:2 video.



FIG. 63 illustrates modifications to SMPTE ST2110-20 for a 12-bit six-primary color system in 4:2:0 video.



FIG. 64 illustrates an RGB sampling transmission for a 4:4:4 sampling system.



FIG. 65 illustrates a RGBCYM sampling transmission for a 4:4:4 sampling system.



FIG. 66 illustrates an example of System 2 to RGBCYM 4:4:4 transmission.



FIG. 67 illustrates a Y Cb Cr sampling transmission using a 4:2:2 sampling system.



FIG. 68 illustrates a Y Cr Cb Cc Cy sampling transmission using a 4:2:2 sampling system.



FIG. 69 illustrates an example of a System 2 to Y Cr Cb Cc Cy 4:2:2 Transmission as non-constant luminance.



FIG. 70 illustrates a Y Cb Cr sampling transmission using a 4:2:0 sampling system.



FIG. 71 illustrates a Y Cr Cb Cc Cy sampling transmission using a 4:2:0 sampling system.



FIG. 72 illustrates a dual stack LCD projection system for a six-primary color system.



FIG. 73 illustrates one embodiment of a single projector.



FIG. 74 illustrates a six-primary color system using a single projector and reciprocal mirrors.



FIG. 75 illustrates a dual stack DMD projection system for a six-primary color system.



FIG. 76 illustrates one embodiment of a single DMD projector solution.



FIG. 77 illustrates one embodiment of a color filter array for a six-primary color system with a white OLED monitor.



FIG. 78 illustrates one embodiment of an optical filter array for a six-primary color system with a white OLED monitor.



FIG. 79 illustrates one embodiment of a matrix of an LCD drive for a six-primary color system with a backlight illuminated LCD monitor.



FIG. 80 illustrates one embodiment of an optical filter array for a six-primary color system with a backlight illuminated LCD monitor.



FIG. 81 illustrates an array for a Quantum Dot (QD) display device.



FIG. 82 illustrates one embodiment of an array for a six-primary color system for use with a direct emissive assembled display.



FIG. 83 illustrates one embodiment of a six-primary color system in an emissive display that does not incorporate color filtered subpixels.



FIG. 84 illustrates one embodiment of a primary triad system for a multi-primary system including red, green, blue, cyan, magenta, and yellow primaries.



FIG. 85 illustrates one embodiment of out-of-gamut color mapping.



FIG. 86 illustrates another embodiment of out-of-gamut color mapping.



FIG. 87 illustrates a process to validate the ACES-to-6P-to-ACES conversion process according to one embodiment of the present invention.



FIG. 88 illustrates one embodiment of a system with at least eight primary triads.



FIG. 89 illustrates a flow chart of an embodiment of a system with eight triads in a six-primary system.



FIG. 90 illustrates one embodiment of a system with primary triads including a virtual primary.



FIG. 91 is a schematic diagram of an embodiment of the invention illustrating a computer system.





DETAILED DESCRIPTION

The present invention is generally directed to a multi-primary color system.


In one embodiment, the present invention is a system for displaying a six primary color system, including a set of image data, wherein the set of image data is comprised of a first set of color channel data and a second set of color channel data, wherein the set of image data further includes a bit level, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters is modifiable, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the bit level of the set of image data, thereby creating an updated bit level, wherein the image data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted by the image data converter for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate that the set of image data being displayed on the at least one display device is using a six-primary color system.


In another embodiment, the present invention is a system for displaying a six-primary color system, including a set of image data, wherein the set of image data includes a first set of color channel data and a second set of color channel data, wherein the set of image data includes a bit level, a magenta primary value, wherein the magenta primary value is derived from the set of image data, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters are modifiable, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the bit level for the set of image data to a new bit level, wherein the at least one data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate the magenta primary value and that the set of image data being displayed on the at least one display device is using a six-primary color system.


In yet another embodiment, the present invention is a system for displaying a set of image data using a six-primary color system, including a set of image data, wherein the set of image data includes a bit level, a magenta primary value, wherein the magenta primary value is derived from the set of image data, an image data converter, wherein the image data converter includes a digital interface, wherein the digital interface is operable to encode and decode the set of image data, at least one transfer function (TF) for processing the set of image data, a set of Session Description Protocol (SDP) parameters, wherein the set of SDP parameters are modifiable, at least one electronic luminance component, wherein the electronic luminance component is derived from the set of image data, at least one display device, wherein the at least one display device and the image data converter are in network communication, wherein the image data converter is operable to convert the set of image data to a new bit level, wherein the data converter is operable to convert the set of image data for display on the at least one display device, wherein once the set of image data has been converted for the at least one display device the set of SDP parameters are modified based on the conversion, and wherein the at least one display device is operable to display a six-primary color system based on the set of image data, such that the SDP parameters indicate the magenta primary value, the at least one electronic luminance component, and that the set of image data being displayed on the at least one display device is using a six-primary color system.


The present invention relates to color systems. A multitude of color systems are known, but they continue to suffer numerous issues. As imaging technology is moving forward, there has been a significant interest in expanding the range of colors that are replicated on electronic displays. Enhancements to the television system have expanded from the early CCIR 601 standard to ITU-R BT.709-6, to SMPTE RP431-2, and ITU-R BT.2020. Each one has increased the gamut of visible colors by expanding the distance from the reference white point to the position of the Red (R), Green (G), and Blue (B) color primaries (collectively known as “RGB”) in chromaticity space. While this approach works, it has several disadvantages. When implemented in content presentation, issues arise due to the technical methods used to expand the gamut of colors seen (typically using a more-narrow emissive spectrum) can result in increased viewer metameric errors and require increased power due to lower illumination source. These issues increase both capital and operational costs.


With the current available technologies, displays are limited in respect to their range of color and light output. There are many misconceptions regarding how viewers interpret the display output technically versus real-world sensations viewed with the human eye. The reason we see more than just the three emitting primary colors is because the eye combines the spectral wavelengths incident on it into the three bands. Humans interpret the radiant energy (spectrum and amplitude) from a display and process it so that an individual color is perceived. The display does not emit a color or a specific wavelength that directly relates to the sensation of color. It simply radiates energy at the same spectrum which humans sense as light and color. It is the observer who interprets this energy as color.


When the CIE 2° standard observer was established in 1931, common understanding of color sensation was that the eye used red, blue, and green cone receptors (James Maxwell & James Forbes 1855). Later with the Munsell vision model (Munsell 1915), Munsell described the vision system to include three separate components: luminance, hue, and saturation. Using RGB emitters or filters, these three primary colors are the components used to produce images on today's modern electronic displays.


There are three primary physical variables that affect sensation of color. These are the spectral distribution of radiant energy as it is absorbed into the retina, the sensitivity of the eye in relation to the intensity of light landing on the retinal pigment epithelium, and the distribution of cones within the retina. The distribution of cones (e.g., L cones, M cones, and S cones) varies considerably from person to person.


Enhancements in brightness have been accomplished through larger backlights or higher efficiency phosphors. Encoding of higher dynamic ranges is addressed using higher range, more perceptually uniform electro-optical transfer functions to support these enhancements to brightness technology, while wider color gamuts are produced by using narrow bandwidth emissions. Narrower bandwidth emitters result in the viewer experiencing higher color saturation. But there can be a disconnect between how saturation is produced and how it is controlled. What is believed to occur when changing saturation is that increasing color values of a color primary represents an increase to saturation. This is not true, as changing saturation requires the variance of a color primary spectral output as parametric. There are no variable spectrum displays available to date as the technology to do so has not been commercially developed, nor has the new infrastructure required to support this been discussed.


Instead, the method that a display changes for viewer color sensation is by changing color luminance. As data values increase, the color primary gets brighter. Changes to color saturation are accomplished by varying the brightness of all three primaries and taking advantage of the dominant color theory.


Expanding color primaries beyond RGB has been discussed before. There have been numerous designs of multi-primary displays. For example, SHARP has attempted this with their four-color QUATTRON TV systems by adding a yellow color primary and developing an algorithm to drive it. Another four primary color display was proposed by Matthew Brennesholtz which included an additional cyan primary, and a six primary display was described by Yan Xiong, Fei Deng, Shan Xu, and Sufang Gao of the School of Physics and Optoelectric Engineering at the Yangtze University Jingzhou China. In addition, AU OPTRONICS has developed a five primary display technology. SONY has also recently disclosed a camera design featuring RGBCMY (red, green, blue, cyan, magenta, and yellow) and RGBCMYW (red, green, blue cyan, magenta, yellow, and white) sensors.


Actual working displays have been shown publicly as far back as the late 1990's, including samples from Tokyo Polytechnic University, Nagoya City University, and Genoa Technologies. However, all of these systems are exclusive to their displays, and any additional color primary information is limited to the display's internal processing.


Additionally, the Visual Arts System for Archiving and Retrieval of Images (VASARI) project developed a colorimetric scanner system for direct digital imaging of paintings. The system provides more accurate coloring than conventional film, allowing it to replace film photography. Despite the project beginning in 1989, technical developments have continued. Additional information is available at https://www.southampton.ac.uk/˜km2/projs/vasari/ (last accessed Mar. 30, 2020), which is incorporated herein by reference in its entirety.


None of the prior art discloses developing additional color primary information outside of the display. Moreover, the system driving the display is often proprietary to the demonstration. In each of these executions, nothing in the workflow is included to acquire or generate additional color primary information. The development of a multi-primary color system is not complete if the only part of the system that supports the added primaries is within the display itself.


Referring now to the drawings in general, the illustrations are for the purpose of describing one or more preferred embodiments of the invention and are not intended to limit the invention thereto.


Additional details about multi-primary systems are available in U.S. Pat. No. 10,607,527, U.S. application Ser. No. 17/082,741, and U.S. Publication Nos. 20200251039, 20210027693, 20210020094, and 20210035487, each of which is incorporated herein by reference in its entirety.


The multi-primary system of the present invention includes at least four primaries. The at least four primaries preferably include at least one red primary, at least one green primary, and/or at least one blue primary. In one embodiment, the at least four primaries include a cyan primary, a magenta primary, and/or a yellow primary.


In one embodiment, the multi-primary system includes six primaries. In one preferred embodiment, the six primaries include a red primary, a green primary, a blue primary, a cyan primary, a magenta primary, and a yellow primary.


6P-B


6P-B is a color set that uses the same RGB values that are defined in the ITU-R BT.709-6 television standard. The gamut includes these RGB primary colors and then adds three more color primaries orthogonal to these based on the white point. The white point used in 6P-B is D65 (ISO 11664-2).


In one embodiment, the red primary has a dominant wavelength of 609 nm, the yellow primary has a dominant wavelength of 571 nm, the green primary has a dominant wavelength of 552 nm, the cyan primary has a dominant wavelength of 491 nm, and the blue primary has a dominant wavelength of 465 nm as shown in Table 1. In one embodiment, the dominant wavelength is approximately (e.g., within ±10%) the value listed in the table below. Alternatively, the dominant wavelength is within ±5% of the value listed in the table below. In yet another embodiment, the dominant wavelength is within ±2% of the value listed in the table below.














TABLE 1






x
y
u′
v′

custom character








W (D65)
0.3127
0.3290
0.1978
0.4683



R
0.6400
0.3300
0.4507
0.5228
609 nm


G
0.3000
0.6000
0.1250
0.5625
552 nm


B
0.1500
0.0600
0.1754
0.1578
464 nm


C
0.1655
0.3270
0.1041
0.4463
491 nm


M
0.3221
0.1266
0.3325
0.2940



Y
0.4400
0.5395
0.2047
0.5649
571 nm










FIG. 1 illustrates 6P-B compared to ITU-R BT.709-6.


6P-C


6P-C is based on the same RGB primaries defined in SMPTE RP431-2 projection recommendation. Each gamut includes these RGB primary colors and then adds three more color primaries orthogonal to these based on the white point. The white point used in 6P-B is D65 (ISO 11664-2). Two versions of 6P-C are used. One is optimized for a D60 white point (SMPTE ST2065-1), and the other is optimized for a D65 white point.


In one embodiment, the red primary has a dominant wavelength of 615 nm, the yellow primary has a dominant wavelength of 570 nm, the green primary has a dominant wavelength of 545 nm, the cyan primary has a dominant wavelength of 493 nm, and the blue primary has a dominant wavelength of 465 nm as shown in Table 2. In one embodiment, the dominant wavelength is approximately (e.g., within ±10%) the value listed in the table below. Alternatively, the dominant wavelength is within ±5% of the value listed in the table below. In yet another embodiment, the dominant wavelength is within ±2% of the value listed in the table below.














TABLE 2






x
y
u′
v′

custom character








W (D60)
0.3217
0.3377
0.2008
0.4742



R
0.6800
0.3200
0.4964
0.5256
615 nm


G
0.2650
0.6900
0.0980
0.5777
545 nm


B
0.1500
0.0600
0.1754
0.1579
465 nm


C
0.1627
0.3419
0.0960
0.4540
493 nm


M
0.3523
0.1423
0.3520
0.3200



Y
0.4502
0.5472
0.2078
0.5683
570 nm










FIG. 2 illustrates 6P-C compared to SMPTE RP431-2 for a D60 white point.


In one embodiment, the red primary has a dominant wavelength of 615 nm, the yellow primary has a dominant wavelength of 570 nm, the green primary has a dominant wavelength of 545 nm, the cyan primary has a dominant wavelength of 423 nm, and the blue primary has a dominant wavelength of 465 nm as shown in Table 3. In one embodiment, the dominant wavelength is approximately (e.g., within ±10%) the value listed in the table below. Alternatively, the dominant wavelength is within ±5% of the value listed in the table below. In yet another embodiment, the dominant wavelength is within ±2% of the value listed in the table below.














TABLE 3






x
y
u′
v′

custom character








W (D65)
0.3127
0.3290
0.1978
0.4683



R
0.6800
0.3200
0.4964
0.5256
615 nm


G
0.2650
0.6900
0.0980
0.5777
545 nm


B
0.1500
0.0600
0.1754
0.1579
465 nm


C
0.1617
0.3327
0.0970
0.4490
492 nm


M
0.3383
0.1372
0.3410
0.3110



Y
0.4470
0.5513
0.2050
0.5689
570 nm










FIG. 3 illustrates 6P-C compared to SMPTE RP431-2 for a D65 white point.


SUPER 6P


One of the advantages of ITU-R BT.2020 is that it can include all of the Pointer colors and that increasing primary saturation in a six-color primary design could also do this. Pointer is described in “The Gamut of Real Surface Colors, M. R. Pointer, Published in Colour Research and Application Volume #5, Issue #3 (1980), which is incorporated herein by reference in its entirety. However, extending the 6P gamut beyond SMPTE RP431-2 (“6P-C”) adds two problems. The first problem is the requirement to narrow the spectrum of the extended primaries. The second problem is the complexity of designing a backwards compatible system using color primaries that are not related to current standards. But in some cases, there may be a need to extend the gamut beyond 6P-C and avoid these problems. If the goal is to encompass Pointer's data set, then it is possible to keep most of the 6P-C system and only change the cyan color primary position. In one embodiment, the cyan color primary position is located so that the gamut edge encompasses all of Pointer's data set. In another embodiment, the cyan color primary position is a location that limits maximum saturation. With 6P-C, cyan is positioned as u′=0.096, v′=0.454. In one embodiment of Super 6P, cyan is moved to u′=0.075, v′=0.430 (“Super 6Pa” (S6Pa)). Advantageously, this creates a new gamut that covers Pointer's data set almost in its entirety. FIG. 4 illustrates Super 6Pa compared to 6P-C.


Table 4 is a table of values for Super 6Pa. The definition of x,y are described in ISO 11664-3:2012/CIE S 014 Part 3, which is incorporated herein by reference in its entirety. The definition of u′,v″ are described in ISO 11664-5:2016/CIE S 014 Part 5, which is incorporated herein by reference in its entirety. λ defines each color primary as dominant color wavelength for RGB and complementary wavelengths CMY.














TABLE 4






x
y
u′
v′

custom character








W (D60)
0.3217
0.3377
0.2008
0.4742



W (D65)
0.3127
0.3290
0.1978
0.4683



R
0.6800
0.3200
0.4964
0.5256
615 nm


G
0.2650
0.6900
0.0980
0.5777
545 nm


B
0.1500
0.0600
0.1754
0.1579
465 nm


C
0.1211
0.3088
0.0750
0.4300
490 nm


M
0.3523
0.1423
0.3520
0.3200



Y
0.4502
0.5472
0.2078
0.5683
570 nm









In an alternative embodiment, the saturation is expanded on the same hue angle as 6P-C as shown in FIG. 5. Advantageously, this makes backward compatibility less complicated. However, this requires much more saturation (i.e., narrower spectra). In another embodiment of Super 6P, cyan is moved to u′=0.067, v′=0.449 (“Super 6Pb” (S6Pb)). Additionally, FIG. 5 illustrates Super 6Pb compared to Super 6Pa and 6P-C.


Table 5 is a table of values for Super 6Pb. The definition of x,y are described in ISO 11664-3:2012/CIE S 014 Part 3, which is incorporated herein by reference in its entirety. The definition of u ‘,v’ are described in ISO 11664-5:2016/CIE S 014 Part 5, which is incorporated herein by reference in its entirety. λ defines each color primary as dominant color wavelength for RGB and complementary wavelengths CMY.














TABLE 5






x
y
u′
v′

custom character








W (ACES D60)
0.32168
0.33767
0.2008
0.4742



W (D65)
0.3127 
0.3290
0.1978
0.4683



R
0.6800 
0.3200
0.4964
0.5256
615 nm


G
0.2650 
0.6900
0.0980
0.5777
545 nm


B
0.1500 
0.0600
0.1754
0.1579
465 nm


C
0.1156 
0.3442
0.0670
0.4490
493 nm


M
0.3523 
0.1423
0.3520
0.3200



Y
0.4502 
0.5472
0.2078
0.5683
570 nm









In a preferred embodiment, a matrix is created from XYZ values of each of the primaries. As the XYZ values of the primaries change, the matrix changes. Additional details about the matrix are described below.


Formatting and Transportation of Multi-Primary Signals


The present invention includes three different methods to format video for transport: System 1, System 2, and System 3. System 1 is comprised of an encode and decode system, which can be divided into base encoder and digitation, image data stacking, mapping into the standard data transport, readout, unstack, and finally image decoding. In one embodiment, the basic method of this system is to combine opposing color primaries within the three standard transport channels and identify them by their code value.


System 2 uses a sequential method where three color primaries are passed to the transport format as full bit level image data and inserted as normal. The three additional channels are delayed by one pixel and then placed into the transport instead of the first colors. This is useful in situations where quantizing artifacts may be critical to image performance. In one embodiment, this system is comprised of the six primaries (e.g., RGB plus a method to delay the CYM colors for injection), image resolution identification to allow for pixel count synchronization, start of video identification, and RGB Delay.


System 3 utilizes a dual link method where two wires are used. In one embodiment, a first set of three channels (e.g., RGB) are sent to link A and a second set of three channels (e.g., CYM) is sent to link B. Once they arrive at the image destination, they are recombined.


To transport up to six color components (e.g., four, five, or six), System 1, System 2, or System 3 can be used as described. If four color components are used, two of the channels are set to “0”. If five color components are used, one of the channels is set to “0”. Advantageously, this transportation method works for all primary systems described herein that include up to six color components.


Comparison of Three Systems


Advantageously, System 1 fits within legacy SDI, CTA, and Ethernet transports. Additionally, System 1 has zero latency processing for conversion to an RGB display. However, System 1 is limited to 11-bit words.


System 2 is advantageously operable to transport 6 channels using 16-bit words with no compression. Additionally, System 2 fits within newer SDI, CTA, and Ethernet transport formats. However, System 2 requires double bit rate speed. For example, a 4K image requires a data rate for an 8K RGB image.


In comparison, System 3 is operable to transport up to 6 channels using 16-bit words with compression and at the same data rate required for a specific resolution. For example, a data rate for an RGB image is the same as for a 6P image using System 3. However, System 3 requires a twin cable connection within the video system.


Nomenclature


In one embodiment, a standard video nomenclature is used to better describe each system.


R describes red data as linear light. G describes green data as linear light. B describes blue data as linear light. C describes cyan data as linear light. M describes magenta data as linear light. Yc and/or Y describe yellow data as linear light.


R′ describes red data as non-linear light. G′ describes green data as non-linear light. B′ describes blue data as non-linear light. C′ describes cyan data as non-linear light. M′ describes magenta data as non-linear light. Yc′ and/or Y′ describe yellow data as non-linear light.


Y6 describes the luminance sum of RGBCMY data. YRGB describes a System 2 encode that is the linear luminance sum of the RGB data. YCMY describes a System 2 encode that is the linear luminance sum of the CMY data.


CR describes the data value of red after subtracting linear image luminance. CB describes the data value of blue after subtracting linear image luminance. CC describes the data value of cyan after subtracting linear image luminance. CY describes the data value of yellow after subtracting linear image luminance.


Y′RGB describes a System 2 encode that is the nonlinear luminance sum of the RGB data. Y′CMY describes a System 2 encode that is the nonlinear luminance sum of the CMY data. −Y describes the sum of RGB data subtracted from Y6.


C′R describes the data value of red after subtracting nonlinear image luminance. C′B describes the data value of blue after subtracting nonlinear image luminance. C′C describes the data value of cyan after subtracting nonlinear image luminance. C′Y describes the data value of yellow after subtracting nonlinear image luminance.


B+Y describes a System 1 encode that includes either blue or yellow data. G+M describes a System 1 encode that includes either green or magenta data. R+C describes a System 1 encode that includes either green or magenta data.


CR+CC describes a System 1 encode that includes either color difference data. CB+CY describes a System 1 encode that includes either color difference data.


4:4:4 describes full bandwidth sampling of a color in an RGB system. 4:4:4:4:4:4 describes full sampling of a color in an RGBCMY system. 4:2:2 describes an encode where a full bandwidth luminance channel (Y) is used to carry image detail and the remaining components are half sampled as a Cb Cr encode. 4:2:2:2:2 describes an encode where a full bandwidth luminance channel (Y) is used to carry image detail and the remaining components are half sampled as a Cb Cr Cy Cc encode. 4:2:0 describes a component system similar to 4:2:2, but where Cr and Cb samples alternate per line. 4:2:0:2:0 describes a component system similar to 4:2:2, but where Cr, Cb, Cy, and Cc samples alternate per line.


Constant luminance is the signal process where luminance (Y) are calculated in linear light. Non-constant luminance is the signal process where luminance (Y) are calculated in nonlinear light.


Deriving Color Components


When using a color difference method (4:2:2), several components need specific processing so that they can be used in lower frequency transports. These are derived as:







Y
6


=


0.1063

R



+

0.23195

Y

c





+

0.3576

G



+

0.19685

C



+

0.0361

B



+

0.0712

M











G
6


=


(

1

0.3576
Y


)

-

(

0.1063

R



)

-

(

0.0361

B



)

-

(

0.19685

C



)

-

(

0.23195

Y


C






)

-

(

0.0712

M



)









-

Y



=


Y
6


-

(


C


+

Y


c





+

M



)












C
R


=



R


-

Y
6



1.7874






C
B


=



B


-

Y
6



1.9278






C
C


=



C


-

Y
6



1.6063






C
Y


=



C


C





-

Y
6



1.5361

















R


=



C
R


-

Y
6



1.7874






B


=



C
B


-

Y
6



1.9278






C


=



C
C


-

Y
6



1.6063






Y


C





=



C
Y


-

Y
6



1.5361








The ratios for Cr, Cb, Cc, and Cy are also valid in linear light calculations.


Magenta can be calculated as follows:







M


=





B


+

R





B


×

R






or


M

=


B
+
R


B
×
R







System 1


In one embodiment, the multi-primary color system is compatible with legacy systems. A backwards compatible multi-primary color system is defined by a sampling method. In one embodiment, the sampling method is 4:4:4. In one embodiment, the sampling method is 4:2:2. In another embodiment, the sampling method is 4:2:0. In one embodiment of a backwards compatible multi-primary color system, new encode and decode systems are divided into the steps of performing base encoding and digitization, image data stacking, mapping into the standard data transport, readout, unstacking, and image decoding (“System 1”). In one embodiment, System 1 combines opposing color primaries within three standard transport channels and identifies them by their code value. In one embodiment of a backwards compatible multi-primary color system, the processes are analog processes. In another embodiment of a backwards compatible multi-primary color system, the processes are digital processes.


In one embodiment, the sampling method for a multi-primary color system is a 4:4:4 sampling method. Black and white bits are redefined. In one embodiment, putting black at midlevel within each data word allows the addition of CYM color data.



FIG. 6 illustrates an embodiment of an encode and decode system for a multi-primary color system. In one embodiment, the multi-primary color encode and decode system is divided into a base encoder and digitation, image data stacking, mapping into the standard data transport, readout, unstack, and finally image decoding (“System 1”). In one embodiment, the method of this system combines opposing color primaries within the three standard transport channels and identifies them by their code value. In one embodiment, the encode and decode for a multi-primary color system are analog-based. In another embodiment, the encode and decode for a multi-primary color system are digital-based. System 1 is designed to be compatible with lower bandwidth systems and allows a maximum of 11 bits per channel and is limited to sending only three channels of up to six primaries at a time. In one embodiment, it does this by using a stacking system where either the color channel or the complementary channel is decoded depending on the bit level of that one channel.


System 2



FIG. 7 illustrates a sequential method where three color primaries are passed to the transport format as full bit level image data and inserted as normal (“System 2”). The three additional channels are delayed by one pixel and then placed into the transport instead of the first colors. This method is useful in situations where quantizing artifacts is critical to image performance. In one embodiment, this system is comprised of six primaries (RGBCYM), a method to delay the CYM colors for injection, image resolution identification to all for pixel count synchronization, start of video identification, RGB delay, and for YCCCCC systems, logic to select the dominant color primary. The advantage of System 2 is that full bit level video can be transported, but at double the normal data rate.


System 3



FIG. 8 illustrates one embodiment of a system encode and decode process using a dual link method (“System 3”). System 3 utilizes a dual link method where two wires are used. In one embodiment, RGB is sent to link A and CYM is sent to link B. After arriving at the image destination, the two links are recombined.


System 3 is simpler and more straight forward than Systems 1 and 2. The advantage with this system is that adoption is simply to format non-RGB primaries (e.g., CYM) on a second link. So, in one example, for an SDI design, RGB is sent on a standard SDI stream just as it is currently done. There is no modification to the transport and this link is operable to be sent to any RGB display requiring only the compensation for the luminance difference because the CYM components are not included. CYM data is transported in the same manner as RGB data. This data is then combined in the display to make up a 6P image. The downside is that the system requires two wires to move one image. This system is operable to work with most any format including SMPTE ST292, 424, 2082, and 2110. It also is operable to work with dual HDMI/CTA connections. In one embodiment, the system includes at least one transfer function (e.g., OETF, EOTF).



FIG. 9 illustrates one embodiment of an encoding process using a dual link method.



FIG. 10 illustrates one embodiment of a decoding process using a dual link method.


Transfer Functions


The system design minimizes limitations to use standard transfer functions for both encode and/or decode processes. Current practices used in standards include, but are not limited to, ITU-R BT.1886, ITU-R BT.2020, SMPTE ST274, SMPTE ST296, SMPTE ST2084, and ITU-R BT.2100. These standards are compatible with this system and require no modification.


Encoding and decoding 6P images is formatted into several different configurations to adapt to image transport frequency limitations. The highest quality transport is obtained by keeping all components as RGBCMY components. This uses the highest sampling frequencies and requires the most signal bandwidth. An alternate method is to sum the image details in a luminance channel at full bandwidth and then send the color difference signals at half or quarter sampling (e.g., Y Cr Cb Cc Cy). This allows a similar image to pass through lower bandwidth transports.


Six-Primary Color Encode Using a 4:4:4 Sampling Method



FIG. 11 illustrates one embodiment of a six-primary color system encode using a 4:4:4 sampling method.


Subjective testing during the development and implementation of the current digital cinema system (DCI Version 1.2) showed that perceptible quantizing artifacts were not noticeable with system bit resolutions higher than 11 bits. Current serial digital transport systems support 12 bits. Remapping six color components to a 12-bit stream is accomplished by lowering the bit limit to 11 bits (values 0 to 2047) for 12-bit serial systems or 9 bits (values 0 to 512) for 10-bit serial systems. This process is accomplished by processing RGBCYM video information through a standard Optical Electronic Transfer Function (OETF) (e.g., ITU-R BT.709-6), digitizing the video information as four samples per pixel, and quantizing the video information as 11-bit or 9-bit.


In another embodiment, the RGBCYM video information is processed through a standard Optical Optical Transfer Function (OOTF). In yet another embodiment, the RGBCYM video information is processed through a Transfer Function (TF) other than OETF or OOTF. TFs consist of two components, a Modulation Transfer Function (MTF) and a Phase Transfer Function (PTF). The MTF is a measure of the ability of an optical system to transfer various levels of detail from object to image. In one embodiment, performance is measured in terms of contrast (degrees of gray), or of modulation, produced for a perfect source of that detail level. The PTF is a measure of the relative phase in the image(s) as a function of frequency. A relative phase change of 180°, for example, indicates that black and white in the image are reversed. This phenomenon occurs when the TF becomes negative.


There are several methods for measuring MTF. In one embodiment, MTF is measured using discrete frequency generation. In one embodiment, MTF is measured using continuous frequency generation. In another embodiment, MTF is measured using image scanning. In another embodiment, MTF is measured using waveform analysis.


In one embodiment, the six-primary color system is for a 12-bit serial system. Current practices normally set black at bit value 0 and white at bit value 4095 for 12-bit video. In order to package six colors into the existing three-serial streams, the bit defining black is moved to bit value 2048. Thus, the new encode has RGB values starting at bit value 2048 for black and bit value 4095 for white and CYM values starting at bit value 2047 for black and bit value 0 as white. In another embodiment, the six-primary color system is for a 10-bit serial system.



FIG. 12 illustrates one embodiment for a method to package six channels of primary information into the three standard primary channels used in current serial video standards by modifying bit numbers for a 12-bit SDI and a 10-bit SDI. FIG. 13 illustrates a simplified diagram estimating perceived viewer sensation as code values define each hue angle. TABLE 6 and TABLE 7 list bit assignments for computer, production, and broadcast for a 12-bit system and a 10-bit system, respectively. In one embodiment, “Computer” refers to bit assignments compatible with CTA 861-G, November 2016, which is incorporated herein by reference in its entirety. In one embodiment, “Production” and/or “Broadcast” refer to bit assignments compatible with SMPTE ST 2082-0 (2016), SMPTE ST 2082-1 (2015), SMPTE ST 2082-10 (2015), SMPTE ST 2082-11 (2016), SMPTE ST 2082-12 (2016), SMPTE ST 2110-10 (2017), SMPTE ST 2110-20 (2017), SMPTE ST 2110-21 (2017), SMPTE ST 2110-30 (2017), SMPTE ST 2110-31 (2018), and/or SMPTE ST 2110-40 (2018), each of which is incorporated herein by reference in its entirety.









TABLE 6







12-Bit Assignments














Computer

Production

Broadcast















RGB
CYM
RGB
CYM
RGB
CYM

















Peak
4095
0
4076
16
3839
256


Brightness


Minimum
2048
2047
2052
2032
2304
1792


Brightness
















TABLE 7







10-Bit Assignments














Computer

Production

Broadcast















RGB
CYM
RGB
CYM
RGB
CYM

















Peak
1023
0
1019
4
940
64


Brightness


Minimum
512
511
516
508
576
448


Brightness









In one embodiment, the OETF process is defined in ITU-R BT.709-6, which is incorporated herein by reference in its entirety. In one embodiment, the OETF process is defined in ITU-R BT.709-5, which is incorporated herein by reference in its entirety. In another embodiment, the OETF process is defined in ITU-R BT.709-4, which is incorporated herein by reference in its entirety. In yet another embodiment, the OETF process is defined in ITU-R BT.709-3, which is incorporated herein by reference in its entirety. In yet another embodiment, the OETF process is defined in ITU-R BT.709-2, which is incorporated herein by reference in its entirety. In yet another embodiment, the OETF process is defined in ITU-R BT.709-1, which is incorporated herein by reference in its entirety.


In one embodiment, the encoder is a non-constant luminance encoder. In another embodiment, the encoder is a constant luminance encoder.


Six-Primary Color Packing/Stacking Using a 4:4:4 Sampling Method



FIG. 14 illustrates one embodiment for a method of stacking/encoding six-primary color information using a 4:4:4 video system. Image data must be assembled according the serial system used. This is not a conversion process, but instead is a packing/stacking process. In one embodiment, the packing/stacking process is for a six-primary color system using a 4:4:4 sampling method.



FIG. 15 illustrates one embodiment for a method of unstacking/decoding six-primary color information using a 4:4:4 video system. In one embodiment, the RGB channels and the CYM channels are combined into one 12-bit word and sent to a standardized transport format. In one embodiment, the standardized transport format is SMPTE ST424 SDI. In one embodiment, the decode is for a non-constant luminance, six-primary color system. In another embodiment, the decode is for a constant luminance, six-primary color system. In yet another embodiment, an electronic optical transfer function (EOTF) (e.g., ITU-R BT.1886) coverts image data back to linear for display. In one embodiment, the EOTF is defined in ITU-R BT.1886 (2011), which is incorporated herein by reference in its entirety. FIG. 16 illustrates one embodiment of a 4:4:4 decoder.


System 2 uses sequential mapping to the standard transport format, so it includes a delay for the CYM data. The CYM data is recovered in the decoder by delaying the RGB data. Since there is no stacking process, the full bit level video can be transported. For displays that are using optical filtering, this RGB delay could be removed and the process of mapping image data to the correct filter could be eliminated by assuming this delay with placement of the optical filter and the use of sequential filter colors.


Two methods can be used based on the type of optical filter used. Since this system is operating on a horizontal pixel sequence, some vertical compensation is required and pixels are rectangular. This can be either as a line double repeat using the same RGBCYM data to fill the following line as shown in FIG. 17, or could be separated as RGB on line one and CYM on line two as shown in FIG. 18. The format shown in FIG. 18 allows for square pixels, but the CMY components requires a line delay for synchronization. Other patterns eliminating the white subpixel are also compatible with the present invention.



FIG. 19 illustrates an embodiment of the present invention for sending six primary colors to a standardized transport format using a 4:4:4 encoder according to System 2. Encoding is straight forward with a path for RGB sent directly to the transport format. RGB data is mapped to each even numbered data segment in the transport. CYM data is mapped to each odd numbered segment. Because different resolutions are used in all of the standardized transport formats, there must be identification for what they are so that the start of each horizontal line and horizontal pixel count can be identified to time the RGB/CYM mapping to the transport. The identification is the same as currently used in each standardized transport function. TABLE 8, TABLE 9, TABLE 10, and TABLE 11 list 16-bit assignments, 12-bit assignments, 10-bit assignments, and 8-bit assignments, respectively. In one embodiment, “Computer” refers to bit assignments compatible with CTA 861-G, November 2016, which is incorporated herein by reference in its entirety. In one embodiment, “Production” and/or “Broadcast” refer to bit assignments compatible with SMPTE ST 2082-0 (2016), SMPTE ST 2082-1 (2015), SMPTE ST 2082-10 (2015), SMPTE ST 2082-11 (2016), SMPTE ST 2082-12 (2016), SMPTE ST 2110-10 (2017), SMPTE ST 2110-20 (2017), SMPTE ST 2110-21 (2017), SMPTE ST 2110-30 (2017), SMPTE ST 2110-31 (2018), and/or SMPTE ST 2110-40 (2018), each of which is incorporated herein by reference in its entirety.









TABLE 8







16-Bit Assignments










Computer
Production












RGB
CYM
RGB
CYM














Peak Brightness
65536
65536
65216
65216


Minimum Brightness
0
0
256
256
















TABLE 9







12-Bit Assignments














Computer

Production

Broadcast















RGB
CYM
RGB
CYM
RGB
CYM

















Peak
4095
4095
4076
4076
3839
3839


Brightness


Minimum
0
0
16
16
256
256


Brightness
















TABLE 10







10-Bit Assignments














Computer

Production

Broadcast















RGB
CYM
RGB
CYM
RGB
CYM

















Peak
1023
1023
1019
1019
940
940


Brightness


Minimum
0
0
4
4
64
64


Brightness
















TABLE 11







8-Bit Assignments














Computer

Production

Broadcast















RGB
CYM
RGB
CYM
RGB
CYM

















Peak
255
255
254
254
235
235


Brightness


Minimum
0
0
1
1
16
16


Brightness









The decode adds a pixel delay to the RGB data to realign the channels to a common pixel timing. EOTF is applied and the output is sent to the next device in the system. Metadata based on the standardized transport format is used to identify the format and image resolution so that the unpacking from the transport can be synchronized. FIG. 20 shows one embodiment of a decoding with a pixel delay.


In one embodiment, the decoding is 4:4:4 decoding. With this method, the six-primary color decoder is in the signal path, where 11-bit values for RGB are arranged above bit value 2048, while CYM levels are arranged below bit value 2047 as 11-bit. If the same data set is sent to a display and/or process that is not operable for six-primary color processing, the image data is assumed as black at bit value 0 as a full 12-bit word. Decoding begins by tapping image data prior to the unstacking process.


Six-Primary Color Encode Using a 4:2:2 Sampling Method


In one embodiment, the packing/stacking process is for a six-primary color system using a 4:2:2 sampling method. In order to fit the new six-primary color system into a lower bandwidth serial system, while maintaining backwards compatibility, the standard method of converting from RGBCYM to a luminance and a set of color difference signals requires the addition of at least one new image designator. In one embodiment, the encoding and/or decoding process is compatible with transport through SMPTE ST 292-0 (2011), SMPTE ST 292-1 (2011, 2012, and/or 2018), SMPTE ST 292-2 (2011), SMPTE ST 2022-1 (2007), SMPTE ST 2022-2 (2007), SMPTE ST 2022-3 (2010), SMPTE ST 2022-4 (2011), SMPTE ST 2022-5 (2012 and/or 2013), SMPTE ST 2022-6 (2012), SMPTE ST 2022-7 (2013), and/or and CTA 861-G (2016), each of which is incorporated herein by reference in its entirety.


In order for the system to package all of the image while supporting both six-primary and legacy displays, an electronic luminance component (Y) must be derived. The first component is: E′Y6. It can be described as:

E′Y6=0.10634E′Red+0.23195E′Yellow+0.3576E′Green+0.19685E40 Cyan+0.0361E′Blue+0.0712E′Magenta


Critical to getting back to legacy display compatibility, value E′−Y is described as:

E′−Y=E′Y6−(E′Cyan+E′Yellow+E′Magenta)


In addition, at least two new color components are disclosed. These are designated as Cc and Cy components. The at least two new color components include a method to compensate for luminance and enable the system to function with older Y Cb Cr infrastructures. In one embodiment, adjustments are made to Cb and Cr in a Y Cb Cr infrastructure since the related level of luminance is operable for division over more components. These new components are as follows:








E
CR


=


(


E
R


-

E

Y
6




)

1.7874


,


E
CB


=


(


E
B


-

E

Y
6




)

1.9278


,


E
CC


=


(


E
C


-

E

Y
6




)

1.6063


,


E
CY


=


(


E
Y


-

E

Y
6




)

1.5361






Within such a system, it is not possible to define magenta as a wavelength. This is because the green vector in CIE 1976 passes into, and beyond, the CIE designated purple line. Magenta is a sum of blue and red. Thus, in one embodiment, magenta is resolved as a calculation, not as optical data. In one embodiment, both the camera side and the monitor side of the system use magenta filters. In this case, if magenta were defined as a wavelength, it would not land at the point described. Instead, magenta would appear as a very deep blue which would include a narrow bandwidth primary, resulting in metameric issues from using narrow spectral components. In one embodiment, magenta as an integer value is resolved using the following equation:







M
INT

=

[




B
INT

2

+


R
INT

2


2

]





The above equation assists in maintaining the fidelity of a magenta value while minimizing any metameric errors. This is advantageous over prior art, where magenta appears instead as a deep blue instead of the intended primary color value.


Six-Primary Non-Constant Luminance Encode Using a 4:2:2 Sampling Method


In one embodiment, the six-primary color system using a non-constant luminance encode for use with a 4:2:2 sampling method. In one embodiment, the encoding process and/or decoding process is compatible with transport through SMPTE ST 292-0 (2011), SMPTE ST 292-1 (2011, 2012, and/or 2018), SMPTE ST 292-2 (2011), SMPTE ST 2022-1 (2007), SMPTE ST 2022-2 (2007), SMPTE ST 2022-3 (2010), SMPTE ST 2022-4 (2011), SMPTE ST 2022-5 (2012 and/or 2013), SMPTE ST 2022-6 (2012), SMPTE ST 2022-7 (2013), and/or and CTA 861-G (2016), each of which is incorporated herein by reference in its entirety.


Current practices use a non-constant luminance path design, which is found in all the video systems currently deployed. FIG. 21 illustrates one embodiment of an encode process for 4:2:2 video for packaging five channels of information into the standard three-channel designs. For 4:2:2, a similar method to the 4:4:4 system is used to package five channels of information into the standard three-channel designs used in current serial video standards. FIG. 21 illustrates 12-bit SDI and 10-bit SDI encoding for a 4:2:2 system. TABLE 12 and TABLE 13 list bit assignments for a 12-bit and 10-bit system, respectively. In one embodiment, “Computer” refers to bit assignments compatible with CTA 861-G, November 2016, which is incorporated herein by reference in its entirety. In one embodiment, “Production” and/or “Broadcast” refer to bit assignments compatible with SMPTE ST 2082-0 (2016), SMPTE ST 2082-1 (2015), SMPTE ST 2082-10 (2015), SMPTE ST 2082-11 (2016), SMPTE ST 2082-12 (2016), SMPTE ST 2110-10 (2017), SMPTE ST 2110-20 (2017), SMPTE ST 2110-21 (2017), SMPTE ST 2110-30 (2017), SMPTE ST 2110-31 (2018), and/or SMPTE ST 2110-40 (2018), each of which is incorporated herein by reference in its entirety.









TABLE 12







12-Bit Assignments











Computer
Production
Broadcast

















EY6
ECR, ECB
ECC, ECY
EY6
ECR, ECB
ECC, ECY
EY6
ECR, ECB
ECC, ECY




















Peak
4095
4095
0
4076
4076
16
3839
3839
256


Brightness


Minimum
0
2048
2047
16
2052
2032
256
2304
1792


Brightness
















TABLE 13







10-Bit Assignments











Computer
Production
Broadcast

















EY6
ECR, ECB
ECC, ECY
EY6
ECR, ECB
ECC, ECY
EY6
ECR, ECB
ECC, ECY




















Peak
1023
1023
0
1019
1019
4
940
940
64


Brightness


Minimum
0
512
511
4
516
508
64
576
448


Brightness










FIG. 22 illustrates one embodiment for a non-constant luminance encoding process for a six-primary color system. The design of this process is similar to the designs used in current RGB systems. Input video is sent to the Optical Electronic Transfer Function (OETF) process and then to the EY6 encoder. The output of this encoder includes all of the image detail information. In one embodiment, all of the image detail information is output as a monochrome image.


The output is then subtracted from E′R, E′B, E′C, and E′Y to make the following color difference components:

E′CR,E′CB,E′CC,E′CY

These components are then half sampled (×2) while E′Y6 is fully sampled (×4).



FIG. 23 illustrates one embodiment of a packaging process for a six-primary color system. These components are then sent to the packing/stacking process. Components E′CY-INT and E′CC-INT are inverted so that bit 0 now defines peak luminance for the corresponding component. In one embodiment, this is the same packaging process performed with the 4:4:4 sampling method design, resulting in two 11-bit components combining into one 12-bit component.


Six-Primary Non-Constant Luminance Decode Using 4:2:2 Sampling Method



FIG. 24 illustrates a 4:2:2 unstack process for a six-primary color system. In one embodiment, the image data is extracted from the serial format through the normal processes as defined by the serial data format standard. In another embodiment, the serial data format standard uses a 4:2:2 sampling structure. In yet another embodiment, the serial data format standard is SMPTE ST292. The color difference components are separated and formatted back to valid 11-bit data. Components E′CY-INT and E′CC-INT are inverted so that bit value 2047 defines peak color luminance.



FIG. 25 illustrates one embodiment of a process to inversely quantize each individual color and pass the data through an electronic optical function transfer (EOTF) in a non-constant luminance system. The individual color components, as well as E′Y6-INT, are inversely quantized and summed to breakout each individual color. Magenta is then calculated E′Y6-INT is combined with these colors to resolve green. These calculations then go back through an Electronic Optical Transfer Function (EOTF) process to output the six-primary color system.


In one embodiment, the decoding is 4:2:2 decoding. This decode follows the same principles as the 4:4:4 decoder. However, in 4:2:2 decoding, a luminance channel is used instead of discrete color channels. Here, image data is still taken prior to unstack from the E′CB-INT+E′CY-INT and E′CR-INT E′CC-INT channels. With a 4:2:2 decoder, a new component, called E′−Y, is used to subtract the luminance levels that are present from the CYM channels from the E′CB-INT+E′CY-INT and E′CR-INT+E′CC-INT components. The resulting output is now the R and B image components of the EOTF process. E′−Y is also sent to the G matrix to convert the luminance and color difference components to a green output. Thus, R′G′B′ is input to the EOTF process and output as GRGB, RRGB, and BRGB. In another embodiment, the decoder is a legacy RGB decoder for non-constant luminance systems.


In one embodiment, the standard is SMPTE ST292. In one embodiment, the standard is SMPTE RP431-2. In one embodiment, the standard is ITU-R BT.2020. In another embodiment, the standard is SMPTE RP431-1. In another embodiment, the standard is ITU-R BT.1886. In another embodiment, the standard is SMPTE ST274. In another embodiment, the standard is SMPTE ST296. In another embodiment, the standard is SMPTE ST2084. In yet another embodiment, the standard is ITU-R BT.2100. In yet another embodiment, the standard is SMPTE ST424. In yet another embodiment, the standard is SMPTE ST425. In yet another embodiment, the standard is SMPTE ST2110.


Six-Primary Constant Luminance Decode Using 4:2:2 Sampling Method



FIG. 26 illustrates one embodiment of a constant luminance encode for a six-primary color system. FIG. 27 illustrates one embodiment of a constant luminance decode for a six-primary color system. The process for constant luminance encode and decode are very similar. The main difference being that the management of EY6 is linear. The encode and decode processes stack into the standard serial data streams in the same way as is present in a non-constant luminance, six-primary color system. In one embodiment, the stacker design is the same as with the non-constant luminance system.


System 2 operation is using a sequential method of mapping to the standard transport instead of the method in System 1 where pixel data is combined to two color primaries in one data set as an 11-bit word. The advantage of System 1 is that there is no change to the standard transport. The advantage of System 2 is that full bit level video can be transported, but at double the normal data rate.


The difference between the systems is the use of two Y channels in System 2. YRGB and YCYM are used to define the luminance value for RGB as one group and CYM for the other.



FIG. 28 illustrates one example of 4:2:2 non-constant luminance encoding. Because the RGB and CYM components are mapped at different time intervals, there is no requirement for a stacking process and data is fed directly to the transport format. The development of the separate color difference components is identical to System 1.


The encoder for System 2 takes the formatted color components in the same way as System 1. Two matrices are used to build two luminance channels. YRGB contains the luminance value for the RGB color primaries. YCYM contains the luminance value for the CYM color primaries. A set of delays are used to sequence the proper channel for YRGB, YCMY, and the RBCY channels. Because the RGB and CYM components are mapped at different time intervals, there is no requirement for a stacking process, and data is fed directly to the transport format. The development of the separate color difference components is identical to System 1. The Encoder for System 2 takes the formatted color components in the same way as System 1. Two matrices are used to build two luminance channels: YRGB contains the luminance value for the RGB color primaries and YCMY contains the luminance value for the CMY color primaries. This sequences YRGB, CR, and CC channels into the even segments of the standardized transport and YCMY, CB, and CY into the odd numbered segments. Since there is no combining color primary channels, full bit levels can be used limited only by the design of the standardized transport method. In addition, for use in matrix driven displays, there is no change to the input processing and only the method of outputting the correct color is required if the filtering or emissive subpixel is also placed sequentially.


Timing for the sequence is calculated by the source format descriptor which then flags the start of video and sets the pixel timing.



FIG. 29 illustrates one embodiment of a non-constant luminance decoding system. Decoding uses timing synchronization from the format descriptor and start of video flags that are included in the payload ID, SDP, or EDID tables. This starts the pixel clock for each horizontal line of identify which set of components are routed to the proper part of the decoder. A pixel delay is used to realign the color primarily data of each subpixel. YRGB and YCMY are combined to assemble a new Y6 component which is used to decode the CR, CB, CC, CY, and CM components into RGBCYM.


The constant luminance system is not different from the non-constant luminance system in regard to operation. The difference is that the luminance calculation is done as a linear function instead of including the OOTF. FIG. 30 illustrates one embodiment of a 4:2:2 constant luminance encoding system. FIG. 31 illustrates one embodiment of a 4:2:2 constant luminance decoding system.


Six-Primary Color System Using a 4:2:0 Sampling System


In one embodiment, the six-primary color system uses a 4:2:0 sampling system. The 4:2:0 format is widely used in H.262/MPEG-2, H.264/MPEG-4 Part 10 and VC-1 compression. The process defined in SMPTE RP2050-1 provides a direct method to convert from a 4:2:2 sample structure to a 4:2:0 structure. When a 4:2:0 video decoder and encoder are connected via a 4:2:2 serial interface, the 4:2:0 data is decoded and converted to 4:2:2 by up-sampling the color difference component. In the 4:2:0 video encoder, the 4:2:2 video data is converted to 4:2:0 video data by down-sampling the color difference component.


There typically exists a color difference mismatch between the 4:2:0 video data from the 4:2:0 video data to be encoded. Several stages of codec concatenation are common through the processing chain. As a result, color difference signal mismatch between 4:2:0 video data input to 4:2:0 video encoder and 4:2:0 video output from 4:2:0 video decoder is accumulated and the degradation becomes visible.


Filtering within a Six-Primary Color System Using a 4:2:0 Sampling Method


When a 4:2:0 video decoder and encoder are connected via a serial interface, 4:2:0 data is decoded and the data is converted to 4:2:2 by up-sampling the color difference component, and then the 4:2:2 video data is mapped onto a serial interface. In the 4:2:0 video encoder, the 4:2:2 video data from the serial interface is converted to 4:2:0 video data by down-sampling the color difference component. At least one set of filter coefficients exists for 4:2:0/4:2:2 up-sampling and 4:2:2/4:2:0 down-sampling. The at least one set of filter coefficients provide minimally degraded 4:2:0 color difference signals in concatenated operations.


Filter Coefficients in a Six-Primary Color System Using a 4:2:0 Sampling Method



FIG. 32 illustrates one embodiment of a raster encoding diagram of sample placements for a six-primary color 4:2:0 progressive scan system. Within this compression process, horizontal lines show the raster on a display matrix. Vertical lines depict drive columns. The intersection of these is a pixel calculation. Data around a particular pixel is used to calculate color and brightness of the subpixels. Each “X” shows placement timing of the EY6-INT sample. Red dots depict placement of the E′CR-INT+E′CC-INT sample. Blue triangles show placement of the E′CB-INT+E′CY-INT sample.


In one embodiment, the raster is an RGB raster. In another embodiment, the raster is a RGBCYM raster.


Six-Primary Color System Backwards Compatibility


By designing the color gamut within the saturation levels of standard formats and using inverse color primary positions, it is easy to resolve an RGB image with minimal processing. In one embodiment for six-primary encoding, image data is split across three color channels in a transport system. In one embodiment, the image data is read as six-primary data. In another embodiment, the image data is read as RGB data. By maintaining a standard white point, the axis of modulation for each channel is considered as values describing two colors (e.g., blue and yellow) for a six-primary system or as a single color (e.g., blue) for an RGB system. This is based on where black is referenced. In one embodiment of a six-primary color system, black is decoded at a mid-level value. In an RGB system, the same data stream is used, but black is referenced at bit zero, not a mid-level.


In one embodiment, the RGB values encoded in the 6P stream are based on ITU-R BT.709. In another embodiment, the RGB values encoded are based on SMPTE RP431. Advantageously, these two embodiments require almost no processing to recover values for legacy display.


Two decoding methods are proposed. The first is a preferred method that uses very limited processing, negating any issues with latency. The second is a more straightforward method using a set of matrices at the end of the signal path to conform the 6P image to RGB.


In one embodiment, the decoding is for a 4:4:4 system. In one embodiment, the assumption of black places the correct data with each channel. If the 6P decoder is in the signal path, 11-bit values for RGB are arranged above bit value 2048, while CYM level are arranged below bit value 2047 as 11-bit. However, if this same data set is sent to a display or process that does not understand 6P processing, then that image data is assumed as black at bit value 0 as a full 12-bit word.



FIG. 33 illustrates one embodiment of the six-primary color unstack process in a 4:2:2 video system. Decoding starts by tapping image data prior to the unstacking process. The input to the 6P unstack will map as shown in FIG. 34. The output of the 6P decoder will map as shown in FIG. 35. This same data is sent uncorrected as the legacy RGB image data. The interpretation of the RGB decode will map as shown in FIG. 36.


Alternatively, the decoding is for a 4:2:2 system. This decode uses the same principles as the 4:4:4 decoder, but because a luminance channel is used instead of discrete color channels, the processing is modified. Legacy image data is still taken prior to unstack from the E′CB-INT+E′CY-INT and E′CR-INT+E′CC-INT channels as shown in FIG. 37.



FIG. 38 illustrates one embodiment of a non-constant luminance decoder with a legacy process. The dotted box marked (1) shows the process where a new component called E′−Y is used to subtract the luminance levels that are present from the CYM channels from the E′CB-INT+E′CY-INT and E′CR-INT+E′CC-INT components as shown in box (2). The resulting output is now the R and B image components of the EOTF process. E′−Y is also sent to the G matrix to convert the luminance and color difference components to a green output as shown in box (3). Thus, R′G′B′ is input to the EOTF process and output as GRGB, RRGB, and BRGB. In another embodiment, the decoder is a legacy RGB decoder for non-constant luminance systems.


For a constant luminance system, the process is very similar with the exception that green is calculated as linear as shown in FIG. 39.


Six-Primary Color System Using a Matrix Output


In one embodiment, the six-primary color system outputs a legacy RGB image. This requires a matrix output to be built at the very end of the signal path. FIG. 40 illustrates one embodiment of a legacy RGB image output at the end of the signal path. The design logic of the C, M, and Y primaries is in that they are substantially equal in saturation and placed at substantially inverted hue angles compared to R, G, and B primaries, respectively. In one embodiment, substantially equal in saturation refers to a ±10% difference in saturation values for the C, M, and Y primaries in comparison to saturation values for the R, G, and B primaries, respectively. In addition, substantially equal in saturation covers additional percentage differences in saturation values falling within the ±10% difference range. For example, substantially equal in saturation further covers a ±7.5% difference in saturation values for the C, M, and Y primaries in comparison to the saturation values for the R, G, and B primaries, respectively; a ±5% difference in saturation values for the C, M, and Y primaries in comparison to the saturation values for the R, G, and B primaries, respectively; a ±2% difference in saturation values for the C, M, and Y primaries in comparison to the saturation values for the R, G, and B primaries, respectively; a ±1% difference in saturation values for the C, M, and Y primaries in comparison to the saturation values for the R, G, and B primaries, respectively; and/or a ±0.5% difference in saturation values for the C, M, and Y primaries in comparison to the saturation values for the R, G, and B primaries, respectively. In a preferred embodiment, the C, M, and Y primaries are equal in saturation to the R, G, and B primaries, respectively. For example, the cyan primary is equal in saturation to the red primary, the magenta primary is equal in saturation to the green primary, and the yellow primary is equal in saturation to the blue primary.


In an alternative embodiment, the saturation values of the C, M, and Y primaries are not required to be substantially equal to their corollary primary saturation value among the R, G, and B primaries, but are substantially equal in saturation to a primary other than their corollary R, G, or B primary value. For example, the C primary saturation value is not required to be substantially equal in saturation to the R primary saturation value, but rather is substantially equal in saturation to the G primary saturation value and/or the B primary saturation value. In one embodiment, two different color saturations are used, wherein the two different color saturations are based on standardized gamuts already in use.


In one embodiment, substantially inverted hue angles refers to a ±10% angle range from an inverted hue angle (e.g., 180 degrees). In addition, substantially inverted hue angles cover additional percentage differences within the ±10% angle range from an inverted hue angle. For example, substantially inverted hue angles further covers a ±7.5% angle range from an inverted hue angle, a ±5% angle range from an inverted hue angle, a ±2% angle range from an inverted hue angle, a ±1% angle range from an inverted hue angle, and/or a ±0.5% angle range from an inverted hue angle. In a preferred embodiment, the C, M, and Y primaries are placed at inverted hue angles (e.g., 180 degrees) compared to the R, G, and B primaries, respectively.


In one embodiment, the gamut is the ITU-R BT.709-6 gamut. In another embodiment, the gamut is the SMPTE RP431-2 gamut.


The unstack process includes output as six, 11-bit color channels that are separated and delivered to a decoder. To convert an image from a six-primary color system to an RGB image, at least two matrices are used. One matrix is a 3×3 matrix converting a six-primary color system image to XYZ values. A second matrix is a 3×3 matrix for converting from XYZ to the proper RGB color space. In one embodiment, XYZ values represent additive color space values, where XYZ matrices represent additive color space matrices. Additive color space refers to the concept of describing a color by stating the amounts of primaries that, when combined, create light of that color.


When a six-primary display is connected to the six-primary output, each channel will drive each color. When this same output is sent to an RGB display, the CYM channels are ignored and only the RGB channels are displayed. An element of operation is that both systems drive from the black area. At this point in the decoder, all are coded as bit value 0 being black and bit value 2047 being peak color luminance. This process can also be reversed in a situation where an RGB source can feed a six-primary display. The six-primary display would then have no information for the CYM channels and would display the input in a standard RGB gamut. FIG. 41 illustrates one embodiment of six-primary color output using a non-constant luminance decoder. FIG. 42 illustrates one embodiment of a legacy RGB process within a six-primary color system.


The design of this matrix is a modification of the CIE process to convert RGB to XYZ. First, u′y′ values are converted back to CIE 1931 xyz values using the following formulas:









x
=


9

u




(


6


u



-

16


v



+
12

)






y
=


4

v




(


6


u



-

16


v



+
12

)






z
=

1
-
x
-
y








Next, RGBCYM values are mapped to a matrix. The mapping is dependent upon the gamut standard being used. In one embodiment, the gamut is ITU-R BT.709-6. The mapping for RGBCYM values for an ITU-R BT.709-6 (6P-B) gamut are:









[


(






x


y


z




R


0.64


0.33


0.03




G


0.3


0.6


0.1




B


0.15


0.06


0.79




C


0.439


0.54


0.021




Y


0.165


0.327


0.509




M


0.32


0.126


0.554



)



(




R


G


B


C


Y


M




x




0
.
6


4

0





0
.
3


0

0





0
.
1


5

0





0
.
4


3

9





0
.
1


6

5





0
.
3


1

9





y




0
.
3


3

0





0
.
6


0

0





0
.
0


6

0





0
.
5


4

0





0
.
3


2

7





0
.
1


2

6





z




0
.
0


3

0





0
.
1


0

0





0
.
7


9

0





0
.
0


2

1





0
.
5


0

9





0
.
5


5

4




)


]

=


(





0
.
5


1

9





0
.
3


9

3





0
.
1


4

0







0
.
3


9

3





0
.
4


6

0





0
.
1


6

0







0
.
1


4

0





0
.
1


6

0





0
.
6


5

0




)






In one embodiment, the gamut is SMPTE RP431-2. The mapping for RGBCYM values for a SMPTE RP431-2 (6P-C) gamut are:







[


(






x


y


z




R


0.68


0.32


0.




G


0.264


0.691


0.045




B


0.15


0.06


0.79




C


0.45


0.547


0.026




Y


0.163


0.342


0.496




M


0.352


0.142


0.505



)



(






R


G


B


C


Y


M




x


0.68


0.264


0.15


0.45


0.163


0.352




y


0.32


0.69


0.06


0.547


0.342


0.142




z


0.


0.045


0.79


0.026


0.496


0.505



)


]

=

(



0.565


0.4


0.121




0.4


0.549


0.117




0.121


0.117


0.65



)





Following mapping the RGBCYM values to a matrix, a white point conversion occurs:









X
=

x
y





Y
=
1




Z
=

1
-
x
-
y








For a six-primary color system using an ITU-R BT.709-6 (6P-B) color gamut, the white point is D65:









0.9504
=

0.3127
0.329





0.3584
=

1
-
0.3127
-
0.329








For a six-primary color system using a SMPTE RP431-2 (6P-C) color gamut, the white point is D60:








0
.
9


5

4

1

=





0
.
3


2

1

8



0
.
3


3

7

2



0.341

=

1
-


0
.
3


2

1

8

-


0
.
3


3

7

2







Following the white point conversion, a calculation is required for RGB saturation values, SR, SG, and SB. The results from the second operation are inverted and multiplied with the white point XYZ values. In one embodiment, the color gamut used is an ITU-R BT.709-6 color gamut. The values calculate as:









[




S
R






S
G






S
B




]


ITU
-

R


BT
.709

-
6


=

[


(





5
.
4


4

5





-

4
.
6



4

4





-

0
.
0



2

5

3







-

4
.
6



4

4





6
.
3


3

7





-

0
.
5



6

3







-

0
.
0



2

5

3





-

0
.
5



6

3





1
.
6


8

2




)



(





0
.
9


5

0





1






0
.
3


5

8




)


]




Where





[




S
R






S
G






S
B




]


ITU
-

R


BT
.709

-
6


=

[





0
.
5


2

2







1
.
7


2

2







0
.
0


1

5




]






In one embodiment, the color gamut is a SMPTE RP431-2 color gamut. The values calculate as:









[




S
R






S
G






S
B




]



SMPTE


RP

431

-
2


=

[


(





3
.
6


9

2





-

2
.
6



4

9





-

0
.
2



1

1







-

2
.
6



4

9





3
.
7


9

5





-

0
.
1



8

9







-

0
.
2



1

1





-

0
.
1



8

9





1
.
6


1

1




)



(





0
.
9


5

4





1






0
.
3


4

1




)


]




Where





[




S
R






S
G






S
B




]



SMPTE


RP

431

-
2


=

[





0
.
8


0

2







1
.
2


0

3







0
.
1


5

9




]






Next, a six-primary color-to-XYZ matrix must be calculated. For an embodiment where the color gamut is an ITU-R BT.709-6 color gamut, the calculation is as follows:







[



X




Y




Z



]

=

[



(





0
.
5


1

9





0
.
3


9

3





0
.
1


4

0







0
.
3


9

3





0
.
4


6

0





0
.
1


6

0







0
.
1


4

0





0
.
1


6

0





0
.
6


5

0




)


ITU
-

R


BT
.709

-
6





(





0
.
5


2

2





1
.
7


2

2





0
.
1


5

3







0
.
5


2

2





1
.
7


2

2





0
.
1


5

3







0
.
5


2

2





1
.
7


2

2





0
.
1


5

3




)


D

65



]





Wherein the resulting matrix is multiplied by the SRSGSB matrix:







[



X




Y




Z



]

=



[





0
.
2


7

1





0
.
6


7

7





0
.
0


0

2







0
.
2


0

5





0
.
7


9

2





0
.
0


0

3







0
.
0


7

3





0
.
2


7

6





0
.
0


1

0




]

[



R




G




B




C




Y




M



]


ITU
-

R


BT
.709

-
6






For an embodiment where the color gamut is a SMPTE RP431-2 color gamut, the calculation is as follows:







[



X




Y




Z



]

=

[



(





0
.
5


6

5





0
.
4


0

1





0
.
1


2

1







0
.
4


0

1





0
.
5


4

9





0
.
1


1

7







0
.
1


2

1





0
.
1


1

7





0
.
6


5

0




)



SMPTE


RP

431

-
2






(





0
.
8


0

2





1
.
2


0

3





0
.
1


5

9







0
.
8


0

2





1
.
2


0

3





0
.
1


5

9







0
.
8


0

2





1
.
2


0

3





0
.
1


5

9




)


D

60



]





Wherein the resulting matrix is multiplied by the SRSGSB matrix:







[



X




Y




Z



]

=



[





0
.
4


5

3





0
.
4


8

2





0
.
0


1

9







0
.
3


2

1





0
.
6


6

0





0
.
0


1

9







0
.
0


9

7





0
.
1


4

1





0
.
1


0

3




]

[



R




G




B




C




Y




M



]



SMPTE


RP

431

-
2






Finally, the XYZ matrix must converted to the correct standard color space. In an embodiment where the color gamut used is an ITU-R BT709.6 color gamut, the matrices are as follows:








[



R




G




B



]


ITU
-

R


BT

709.6



=


[





3
.
2


4

1





-

1
.
5



3

7





-

0
.
4



9

9







-

0
.
9



6

9





1
.
8


7

6





0
.
0


4

2







0
.
0


5

6





-

0
.
2



0

4





1
.
0


5

7




]

[



X




Y




Z



]





In an embodiment where the color gamut used is a SMPTE RP431-2 color gamut, the matrices are as follows:








[



R




G




B



]



SMPTE


RP

431

-
2


=


[





2
.
7


3





-

1
.
0



1

8





-

0
.
4



4

0







-

0
.
7



9

5





1
.
6


9

0





0
.
0


2

3







0
.
0


4

1





-

0
.
0



8

8





1
.
1


0

1




]

[



X




Y




Z



]





Packing A Six-Primary Color System into ICTCP


ICTCP (ITP) is a color representation format specified in the Rec. ITU-R BT.2100 standard that is used as a part of the color image pipeline in video and digital photography systems for high dynamic range (HDR) and wide color gamut (WCG) imagery. The I (intensity) component is a luma component that represents the brightness of the video. CT and CP are blue-yellow (“tritanopia”) and red-green (“protanopia”) chroma components. The format is derived from an associated RGB color space by a coordination transformation that includes two matrix transformations and an intermediate non-linear transfer function, known as a gamma pre-correction. The transformation produces three signals: I, CT, and CP. The ITP transformation can be used with RGB signals derived from either the perceptual quantizer (PQ) or hybrid log-gamma (HLG) nonlinearity functions. The PQ curve is described in ITU-R BT2100-2:2018, Table 4, which is incorporated herein by reference in its entirety.



FIG. 43 illustrates one embodiment of packing six-primary color system image data into an ICTCP (ITP) format. In one embodiment, RGB image data is converted to an XYZ matrix. The XYZ matrix is then converted to an LMS matrix. The LMS matrix is then sent to an optical electronic transfer function (OETF). The conversion process is represented below:







[



L




M




S



]

=


[


(




a

1

1





a

1

2





a

1

3







a

2

1





a

2

2





a

2

3







a

3

1





a

3

2





a

3

3





)




(





0
.
3


5

9





0
.
6


9

6





-

0
.
0



3

6







-

0
.
1



9

2





1
.
1


0

0





0
.
0


7

5







0
.
0


0

7





0
.
0


7

5





0
.
8


4

3




)


]

[



R




G




B



]






Output from the OETF is converted to ITP format. The resulting matrix is:






(



0.5


0.5


0




1.614



-
3.323



1.71




4.378



-
4.246




-
0.135




)





FIG. 44 illustrates one embodiment of a six-primary color system converting RGBCYM image data into XYZ image data for an ITP format (e.g., 6P-B, 6P-C). For a six-primary color system, this is modified by replacing the RGB to XYZ matrix with a process to convert RGBCYM to XYZ. This is the same method as described in the legacy RGB process. The new matrix is as follows for an ITU-R BT.709-6 (6P-B) color gamut:







[



L




M




S



]

=


(





0
.
2


7

1





0
.
6


7

7





0
.
0


0

2







0
.
2


0

5





0
.
7


9

2





0
.
0


0

3







0
.
0


7

3





0
.
2


7

7





0
.
1


0

0




)





(





0
.
3


5

9





0
.
6


9

6





-

0
.
0



3

6







-

0
.
1



9

2





1
.
1


0

0





0
.
0


7

5







0
.
0


0

7





0
.
0


7

5





0
.
8


4

3




)

[



R




G




B




C




Y




M



]


ITU
-

R


BT

.709

-
6







RGBCYM data, based on an ITU-R BT.709-6 color gamut, is converted to an XYZ matrix. The resulting XYZ matrix is converted to an LMS matrix, which is sent to an OETF. Once processed by the OETF, the LMS matrix is converted to an ITP matrix. The resulting ITP matrix is as follows:






(



0.5


0.5


0




1.614



-
3.323



1.71




4.378



-
4.246




-
0.135




)




In another embodiment, the LMS matrix is sent to an Optical Optical Transfer Function (OOTF). In yet another embodiment, the LMS matrix is sent to a Transfer Function other than OOTF or OETF.


In another embodiment, the RGBCYM data is based on the SMPTE ST431-2 (6P-C) color gamut. The matrices for an embodiment using the SMPTE ST431-2 color gamut are as follows:







[



L




M




S



]

=


(





0
.
4


5

3





0
.
4


8

1





0
.
0


1

9







0
.
3


2

1





0
.
6


6

0





0
.
0


1

9







0
.
0


9

7





0
.
1


4

1





0
.
1


0

3




)





(





0
.
3


5

9





0
.
6


9

6





-

0
.
0



3

6







-

0
.
1



9

2





1
.
1


0

0





0
.
0


7

5







0
.
0


0

7





0
.
0


7

5





0
.
8


4

3




)

[



R




G




B




C




Y




M



]



SMPTE


ST

431

-
2








The resulting ITP matrix is:






(



0.5


0.5


0




1.614



-
3.323



1.71




4.378



-
4.246




-
0.135




)




The decode process uses the standard ITP decode process, as the SRSGSB cannot be easily inverted. This makes it difficult to recover the six RGBCYM components from the ITP encode. Therefore, the display is operable to use the standard ICtCp decode process as described in the standards and is limited to just RGB output.


Converting to a Five-Color Multi-Primary Display


In one embodiment, the system is operable to convert image data incorporating five primary colors. In one embodiment, the five primary colors include Red (R), Green (G), Blue (G), Cyan (C), and Yellow (Y), collectively referred to as RGBCY. In another embodiment, the five primary colors include Red (R), Green (G), Blue (B), Cyan (C), and Magenta (M), collectively referred to as RGBCM. In one embodiment, the five primary colors do not include Magenta (M).


In one embodiment, the five primary colors include Red (R), Green (G), Blue (B), Cyan (C), and Orange (O), collectively referred to as RGBCO. RGBCO primaries provide optimal spectral characteristics, transmittance characteristics, and makes use of a D65 white point. See, e.g., Moon-Cheol Kim et al., Wide Color Gamut Five Channel Multi-Primary for HDTV Application, Journal of Imaging Sci. & Tech. Vol. 49, No. 6, November/December 2005, at 594-604, which is hereby incorporated by reference in its entirety.


In one embodiment, a five-primary color model is expressed as F=M·C, where F is equal to a tristimulus color vector, F=(X, Y, Z)T, and C is equal to a linear display control vector, C=(C1, C2, C3, C4, C5)T. Thus, a conversion matrix for the five-primary color model is represented as






M
=

(




X
1




X
2




X
3




X
4




X
5






Y
1




Y
2




Y
3




Y
4




Y
5






Z
1




Z
2




Z
3




Z
4




Z
5




)





Using the above equation and matrix, a gamut volume is calculated for a set of given control vectors on the gamut boundary. The control vectors are converted into CIELAB uniform color space. However, because matrix M is non-square, the matrix inversion requires splitting the color gamut into a specified number of pyramids, with the base of each pyramid representing an outer surface and where the control vectors are calculated using linear equation for each given XYZ triplet present within each pyramid. By separating regions into pyramids, the conversion process is normalized. In one embodiment, a decision tree is created in order to determine which set of primaries are best to define a specified color. In one embodiment, a specified color is defined by multiple sets of primaries. In order to locate each pyramid, 2D chromaticity look-up tables are used, with corresponding pyramid numbers for input chromaticity values in xy or u′v′. Typical methods using pyramids require 1000×1000 address ranges in order to properly search the boundaries of adjacent pyramids with look-up table memory. The system of the present invention uses a combination of parallel processing for adjacent pyramids and at least one algorithm for verifying solutions by checking constraint conditions. In one embodiment, the system uses a parallel computing algorithm. In one embodiment, the system uses a sequential algorithm. In another embodiment, the system uses a brightening image transformation algorithm. In another embodiment, the system uses a darkening image transformation algorithm. In another embodiment, the system uses an inverse sinusoidal contrast transformation algorithm. In another embodiment, the system uses a hyperbolic tangent contrast transformation algorithm. In yet another embodiment, the system uses a sine contrast transformation execution times algorithm. In yet another embodiment, the system uses a linear feature extraction algorithm. In yet another embodiment, the system uses a JPEG2000 encoding algorithm. In yet another embodiment, the system uses a parallelized arithmetic algorithm. In yet another embodiment, the system uses an algorithm other than those previously mentioned. In yet another embodiment, the system uses any combination of the aforementioned algorithms.


Mapping a Six-Primary Color System into Standardized Transport Formats


Each encode and/or decode system fits into existing video serial data streams that have already been established and standardized. This is key to industry acceptance. Encoder and/or decoder designs require little or no modification for a six-primary color system to map to these standard serial formats.



FIG. 45 illustrates one embodiment of a six-primary color system mapping to a SMPTE ST424 standard serial format. The SMPTE ST424/ST425 set of standards allow very high sampling systems to be passed through a single cable. This is done by using alternating data streams, each containing different components of the image. For use with a six-primary color system transport, image formats are limited to RGB due to the absence of a method to send a full bandwidth Y signal.


The process for mapping a six-primary color system to a SMPTE ST425 format is the same as mapping to a SMPTE ST424 format. To fit a six-primary color system into a SMPTE ST425/424 stream involves the following substitutions: G′INT+M′INT is placed in the Green data segments, R′INT+C′INT is placed in the Red data segments, and B′INT+Y′INT is placed into the Blue data segments. FIG. 46 illustrates one embodiment of an SMPTE 424 6P readout.


System 2 requires twice the data rate as System 1, so it is not compatible with SMPTE 424. However, it maps easily into SMPTE ST2082 using a similar mapping sequence. In one example, System 2 is used to have the same data speed defined for 8K imaging to show a 4K image.


In one embodiment, sub-image and data stream mapping occur as shown in SMPTE ST2082. An image is broken into four sub-images, and each sub-image is broken up into two data streams (e.g., sub-image 1 is broken up into data stream 1 and data stream 2). The data streams are put through a multiplexer and then sent to the interface as shown in FIG. 47.



FIG. 48 and FIG. 49 illustrate serial digital interfaces for a six-primary color system using the SMPTE ST2082 standard. In one embodiment, the six-primary color system data is RGBCYM data, which is mapped to the SMPTE ST2082 standard (FIG. 48). Data streams 1, 3, 5, and 7 follow the pattern shown for data stream 1. Data streams 2, 4, 6, and 8 follow the pattern shown for data stream 2. In one embodiment, the six-primary color system data is YRGB YCYM CR CB CC CY data, which is mapped to the SMPTE ST2082 standard (FIG. 49). Data streams 1, 3, 5, and 7 follow the pattern shown for data stream 1. Data streams 2, 4, 6, and 8 follow the pattern shown for data stream 2.


In one embodiment, the standard serial format is SMPTE ST292. SMPTE ST292 is an older standard than ST424 and is a single wire format for 1.5 GB video, whereas ST424 is designed for up to 3 GB video. However, while ST292 can identify the payload ID of SMPTE ST352, it is constrained to only accepting an image identified by a hex value, 0h. All other values are ignored. Due to the bandwidth and identifications limitations in ST292, a component video six-primary color system incorporates a full bit level luminance component. To fit a six-primary color system into a SMPTE ST292 stream involves the following substitutions: E′Y6-INT is placed in the Y data segments, E′Cb-INT+E′Cy-INT is placed in the Cb data segments, and E′Cr-INT+E′Cc-INT is placed in the Cr data segments. In another embodiment, the standard serial format is SMPTE ST352.


SMPTE ST292 and ST424 Serial Digital Interface (SDI) formats include payload identification (ID) metadata to help the receiving device identify the proper image parameters. The tables for this need modification by adding at least one flag identifying that the image source is a six-primary color RGB image. Therefore, six-primary color system format additions need to be added. In one embodiment, the standard is the SMPTE ST352 standard.



FIG. 50 illustrates one embodiment of an SMPTE ST292 6P mapping. FIG. 51 illustrates one embodiment of an SMPTE ST292 6P readout.



FIG. 52 illustrates modifications to the SMPTE ST352 standards for a six-primary color system. Hex code “Bh” identifies a constant luminance source and flag “Fh” indicates the presence of a six-primary color system. In one embodiment, Fh is used in combination with at least one other identifier located in byte 3. In another embodiment, the Fh flag is set to 0 if the image data is formatted as System 1 and the Fh flag is set to 1 if the image data is formatted as System 2.


In another embodiment, the standard serial format is SMPTE ST2082. Where a six-primary color system requires more data, it may not always be compatible with SMPTE ST424. However, it maps easily into SMPTE ST2082 using the same mapping sequence. This usage would have the same data speed defined for 8K imaging in order to display a 4K image.


In another embodiment, the standard serial format is SMPTE ST2022. Mapping to ST2022 is similar to mapping to ST292 and ST242, but as an ETHERNET format. The output of the stacker is mapped to the media payload based on Real-time Transport Protocol (RTP) 3550, established by the Internet Engineering Task Force (IETF). RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, including, but not limited to, audio, video, and/or simulation data, over multicast or unicast network services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide control and identification functionality. There are no changes needed in the formatting or mapping of the bit packing described in SMPTE ST 2022-6: 2012 (HBRMT).



FIG. 53 illustrates one embodiment of a modification for a six-primary color system using the SMPTE ST2202 standard. For SMPTE ST2202-6:2012 (HBRMT), there are no changes needed in formatting or mapping of the bit packing. ST2022 relies on header information to correctly configure the media payload. Parameters for this are established within the payload header using the video source format fields including, but not limited to, MAP, FRAME, FRATE, and/or SAMPLE. MAP, FRAME, and FRATE remain as described in the standard. MAP is used to identify if the input is ST292 or ST425 (RGB or Y Cb Cr). SAMPLE is operable for modification to identify that the image is formatted as a six-primary color system image. In one embodiment, the image data is sent using flag “0h” (unknown/unspecified).


In another embodiment, the standard is SMPTE ST2110. SMPTE ST2110 is a relatively new standard and defines moving video through an Internet system. The standard is based on development from the IETF and is described under RFC3550. Image data is described through “pgroup” construction. Each pgroup consists of an integer number of octets. In one embodiment, a sample definition is RGB or YCbCr and is described in metadata. In one embodiment, the metadata format uses a Session Description Protocol (SDP) format. Thus, pgroup construction is defined for 4:4:4, 4:2:2, and 4:2:0 sampling as 8-bit, 10-bit, 12-bit, and in some cases 16-bit and 16-bit floating point wording. In one embodiment, six-primary color image data is limited to a 10-bit depth. In another embodiment, six-primary color image data is limited to a 12-bit depth. Where more than one sample is used, it is described as a set. For example, 4:4:4 sampling for blue, as a non-linear RGB set, is described as C0′B, C1′B, C2′B, C3′B, and C4′B. The lowest number index being left most within the image. In another embodiment, the method of substitution is the same method used to map six-primary color content into the ST2110 standard.


In another embodiment, the standard is SMPTE ST2110. SMPTE ST2110-20 describes the construction for each pgroup. In one embodiment, six-primary color system content arrives for mapping as non-linear data for the SMPTE ST2110 standard. In another embodiment, six-primary color system content arrives for mapping as linear data for the SMPTE ST2110 standard.



FIG. 54 illustrates a table of 4:4:4 sampling for a six-primary color system for a 10-bit video system. For 4:4:4 10-bit video, 15 octets are used and cover 4 pixels.



FIG. 55 illustrates a table of 4:4:4 sampling for a six-primary color system for a 12-bit video system. For 4:4:4 12-bit video, 9 octets are used and cover 2 pixels before restarting the sequence.


Non-linear GRBMYC image data would arrive as: G′INT+M′INT, R′INT+C′INT, and B′INT+Y′INT Component substitution would follow what has been described for SMPTE ST424, where G′INT+M′INT is placed in the Green data segments, R′INT+C′INT is placed in the Red data segments, and B′INT+Y′INT is placed in the Blue data segments. The sequence described in the standard is shown as R0′, G0′, B0′, R1′, G1′, B1′, etc.



FIG. 56 illustrates sequence substitutions for 10-bit and 12-bit video in 4:2:2 sampling systems in a Y Cb Cr Cc Cy color space. Components are delivered to a 4:2:2 pgroup including, but not limited to, E′Y6-INT, E′Cb-INT+E′Cy-INT, and E′Cr-INT+E′Cc-INT. For 4:2:2 10-bit video, 5 octets are used and cover 2 pixels before restarting the sequence. For 4:2:2 12-bit video, 6 octets are used and cover 2 pixels before restarting the sequence. Component substitution follows what has been described for SMPTE ST292, where E′Y6-INT is placed in the Y data segments, E′Cb-INT+E′Cy-INT is placed in the Cb data segments, and E′Cr-INT+E′Cc-INT is placed in the Cr data segments. The sequence described in the standard is shown as Cb0′, Y0′, Cr0′, Y1′, Cr1′, Y3′, Cb2′, Y4′, Cr2′, Y5′, etc. In another embodiment, the video data is represented at a bit level other than 10-bit or 12-bit. In another embodiment, the sampling system is a sampling system other than 4:2:2. In another embodiment, the standard is STMPE ST2110.



FIG. 57 illustrates sample placements of six-primary system components for a 4:2:2 sampling system image. This follows the substitutions illustrated in FIG. 56, using a 4:2:2 sampling system.



FIG. 58 illustrates sequence substitutions for 10-bit and 12-bit video in 4:2:0 sampling systems using a Y Cb Cr Cc Cy color space. Components are delivered to a pgroup including, but not limited to, E′Y6-INT, E′Cb-INT, +E′Cy-INT, and E′Cr-INT+E′Cc-INT. For 4:2:0 10-bit video data, 15 octets are used and cover 8 pixels before restarting the sequence. For 4:2:0 12-bit video data, 9 octets are used and cover 4 pixels before restarting the sequence. Component substitution follows what is described in SMPTE ST292 where E′Y6-INT is placed in the Y data segments, E′Cb-INT+E′Cy-INT is placed in the Cb data segments, and E′Cr-INT+E′Cc-INT is placed in the Cr data segments. The sequence described in the standard is shown as Y′00, Y′01, Y′, etc.



FIG. 59 illustrates sample placements of six-primary system components for a 4:2:0 sampling system image. This follows the substitutions illustrated in FIG. 58, using a 4:2:0 sampling system.



FIG. 60 illustrates modifications to SMPTE ST2110-20 for a 10-bit six-primary color system in 4:4:4 video. SMPTE ST2110-20 describes the construction of each “pgroup”. Normally, six-primary color system data and/or content would arrive for mapping as non-linear. However, with the present system there is no restriction on mapping data and/or content. For 4:4:4, 10-bit video, 15 octets are used and cover 4 pixels before restarting the sequence. Non-linear, six-primary color system image data would arrive as G′INT, B′INT, R′INT, M′INT, YINT, and C′INT. The sequence described in the standard is shown as R0′, G0′, B0′, R1′, G1′, B1′, etc.



FIG. 61 illustrates modifications to SMPTE ST2110-20 for a 12-bit six-primary color system in 4:4:4 video. For 4:4:4, 12-bit video, 9 octets are used and cover 2 pixels before restarting the sequence. Non-linear, six-primary color system image data would arrive as G′INT, B′INT, R′INT, M′INT, and C′INT. The sequence described in the standard is shown as R0′, G0′, B0′, R1′, G1′, B1′, etc.



FIG. 62 illustrates modifications to SMPTE ST2110-20 for a 10-bit six primary color system in 4:2:2 video. Components that are delivered to a SMPTE ST2110 pgroup include, but are not limited to, E′Yrgb-INT, E′Ycym-INT, E′Cb-INT, E′Cr-INT, E′Cy-INT, and E′Cc-INT. For 4:2:2, 10-bit video, 5 octets are used and cover 2 pixels before restarting the sequence. For 4:2:2:2, 12-bit video, 6 octets are used and cover 2 pixels before restarting the sequence. Component substitution follows what is described for SMPTE ST292, where E′Yrgb-INT or E′Ycym-INT are placed in the Y data segments, E′Cr-INT or E′Cc-INT are placed in the Cr data segments, and E′Cb-INT or E′Cy-INT are placed in the Cb data segments. The sequence described in the standard is shown as Cb′0, Y′0, Cr′0, Y′l, Cb′l, Y′2, Cr′1, Y′3, Cb′2, Y′4, Cr′2, etc.



FIG. 63 illustrates modifications to SMPTE ST2110-20 for a 12-bit six-primary color system in 4:2:0 video. Components that are delivered to a SMPTE ST2110 pgroup are the same as with the 4:2:2 method. For 4:2:0, 10-bit video, 15 octets are used and cover 8 pixels before restarting the sequence. For 4:2:0, 12-bit video, 9 octets are used and cover 4 pixels before restarting the sequence. Component substitution follows what is described for SMPTE ST292, where E′Yrgb-INT or E′Ycym-INT are placed in the Y data segments, E′Cr-INT or E′Cc-INT are placed in the Cr data segments, and E′Cb-INT or E′Cy-INT are placed in the Cb data segments. The sequence described in the standard is shown as Y′00, Y′01, Y′, etc.


Table 14 summarizes mapping to SMPTE ST2110 for 4:2:2:2:2 and 4:2:0:2:0 sampling for System 1 and Table 15 summaries mapping to SMPTE ST2110 for 4:4:4:4:4:4 sampling (linear and non-linear) for System 1.













TABLE 14








Bit
Pgroup














Sampling
Depth
Octets
Pixels
Y PbPr Sample Order
6P Sample Order















4:2:2:2:2
 8
4
2
CB′,Y0′,CR′,Y1′




10
5
2
CB′,Y0′,CR′,Y1′
CB′+Cy′,Y0′,CR′+Cc′,Y1′



12
6
2
CB′,Y0′,CR′,Y1′
CB′+Cy′,Y0′,CR′+Cc′,Y1′



16, 16f
8
2
C′B,Y′0,C′R,Y′1
CB′+Cy′,Y0′,CR′+Cc′,Y1′


4:2:0:2:0
 8
6
4
Y′00,Y′01,Y′10,Y′11,CB′00,







CR′00




10
15
8
Y′00,Y′01,Y′10,Y′11,CB′00,
Y′00,Y′01,Y′10,Y′11,CB′00+Cy′00,






CR′00
CR′00+Cc′00






Y′02,Y′03,Y′12,Y′13,CB′01,
Y′02,Y′03,Y′12,Y′13,CB′0I+Cy′0I,






CR′01
CR′0I+Cc′0I



12
9
4
Y′00,Y′01,Y′10,Y′11,CB′00,
Y′00,Y′01,Y′10,Y′11,CB′00+Cy′00,






CR′00
CR′00+Cc′00




















TABLE 15








Bit
pgroup














Sampling
Depth
Octets
pixels
RGB Sample Order
6P Sample Order















4:4:4:4:4:4
 8
3
1
R,G,B



Linear
10
15
4
R0, G0, B0, R1, G1, B1, R2,
R + C0, G + M0, B + Y0, R + C1,






G2,B2
G + M1, B + Y1, R + C2, G + M2,







B + Y2



12
9
2
R0, G0, B0, R1, G1, B1
R + C0, G + M0, B + Y0, R + C1,







G + M1, B + Y1



16, 16f
6
1
R, G, B
R + C, G + M, B + Y


4:4:4:4:4:4
 8
3
1
R′, G′, B′



Non-
10
15
4
R0′, G0′, B0′, R1′, G1′, B1′,
R′ + C′0, G′ + M′0, B′ + Y′0,


Linear



R2′, G2′,B2′
R′ + C′1, G′ + M′1, B′ + Y′1,







R′ + C′2, G′ + M′2, B′ + Y′2



12
9
2
R0′, G0′, B0′, R1′, G1′, B1′
R′ + C′0, G′ + M′0, B′ + Y′0,







R′ + C′1, G′ + M′1, B′ + Y′1



16, 16f
6
1
R′, G′, B′
R′ + C′, G′ + M′, B′ + Y′









Table 16 summarizes mapping to SMPTE ST2110 for 4:2:2:2:2 sampling for System 2 and Table 17 summaries mapping to SMPTE ST2110 for 4:4:4:4:4:4 sampling (linear and non-linear) for System 2.













TABLE 16









pgroup














Sampling
Bit Depth
octets
pixels
Y PbPr Sample Order
6P Sample Order















4:2:2:2:2
 8
8
2
CB′,Y0′,CR′,Y1′
CB′, Cy′, YRGB0′,CR′, Cc, YCMY0′ CB′, Cy′,







YRGB1 ′



10
10
2
CB′,Y0′,CR,Y1′
CB′, Cy′, YRGB0′,CR′, Cc, YCMY0′ CB′, Cy′,







YRGB1 ′



12
12
2
CB′,Y0′,CR,Y1′
CB′, Cy′, YRGB0′,CR′, Cc, YCMY0′ CB′, Cy′,







YRGB1 ′



16, 16f
16
2
C′B, Y′0,C′R,Y′1
CB′, Cy′, YRGB0′,CR′, Cc, YCMY0′ CB′, Cy′,







YRGB1 ′




















TABLE 17








Bit
pgroup














Sampling
Depth
octets
pixels
RGB Sample Order
6P Sample Order















4:4:4:4:4:4
 8
3
1
R,G,B
R,C,G,M,B,Y


Linear
10
15
4
R0, G0, B0, R1, G1,
R0, C0, G0, M0, B0, Y0, R1, C1, G1,






B1, R2, G2,B2
M1, B1, Y1, R2, C2, G2, M2,B2+Y2



12
9
2
R0, G0, B0, R1, G1,
R0,C0,G0,M0,B0,Y0,






B1
R1,C1,G1,M1,B1,Y1



16, 16f
6
1
R, G, B
R,C,G,M,B,Y


4:4:4:4:4:4
 8
3
1
R′, G′, B′
R′,C′,G′,M′,B′,Y′


Non-Linear
10
15
4
R0′, G0′, B0′, R1′,
R0′, C0′, G0′, M0′, B0′, Y0′, R1′, C1′,






G1′, B1′, R2′, G2′,B2′
G1′,M1′,B1′,Y1′,R2′,C2′,







G2′,M2′,B2′+Y2′



12
9
2
R0′, G0′, B0′, R1′,
R0′, C0′, G0′, M0′,B0′, Y0′,






G1′, B1′
R1′,C1′,G1′,M1′,B1′,Y1′



16, 16f
6
1
R′, G′, B′
R′,C′,G′,M′,B′,Y′









Session Description Protocol (SDP) Modification for a Six-Primary Color System


SDP is derived from IETF RFC 4566 which sets parameters including, but not limited to, bit depth and sampling parameters. In one embodiment, SDP parameters are contained within the RTP payload. In another embodiment, SDP parameters are contained within the media format and transport protocol. This payload information is transmitted as text. Therefore, modifications for the additional sampling identifiers requires the addition of new parameters for the sampling statement. SDP parameters include, but are not limited to, color channel data, image data, framerate data, a sampling standard, a flag indicator, an active picture size code, a timestamp, a clock frequency, a frame count, a scrambling indicator, and/or a video format indicator. For non-constant luminance imaging, the additional parameters include, but are not limited to, RGBCYM-4:4:4, YBRCY-4:2:2, and YBRCY-4:2:0. For constant luminance signals, the additional parameters include, but are not limited to, CLYBRCY-4:2:2 and CLYBRCY-4:2:0.


Additionally, differentiation is included with the colorimetry identifier in one embodiment. For example, 6PB1 defines 6P with a color gamut limited to ITU-R BT.709 formatted as System 1, 6PB2 defines 6P with a color gamut limited to ITU-R BT.709 formatted as System 2, 6PB3 defines 6P with a color gamut limited to ITU-R BT.709 formatted as System 3, 6PC1 defines 6P with a color gamut limited to SMPTE RP 431-2 formatted as System 1, 6PC2 defines 6P with a color gamut limited to SMPTE RP 431-2 formatted as System 2, 6PC3 defines 6P with a color gamut limited to SMPTE RP 431-2 formatted as System 3, 6PS1 defines 6P with a color gamut as Super 6P formatted as System 1, 6PS2 defines 6P with a color gamut as Super 6P formatted as System 2, and 6PS3 defines 6P with a color gamut as Super 6P formatted as System 3.


Colorimetry can also be defined between a six-primary color system using the ITU-R BT.709-6 standard and the SMPTE ST431-2 standard, or colorimetry can be left defined as is standard for the desired standard. For example, the SDP parameters for a 1920×1080 six-primary color system using the ITU-R BT.709-6 standard with a 10-bit signal as System 1 are as follows: m=video 30000 RTP/AVP 112, a=rtpmap:112 raw/90000, a=fmtp:112, sampling=YBRCY-4:2:2, width=1920, height=1080, exactframerate=30000/1001, depth=10, TCS=SDR, colorimetry=6PB1, PM=2110GPM, SSN=ST2110-20:2017.


In one embodiment, the six-primary color system is integrated with a Consumer Technology Association (CTA) 861-based system. CTA-861 establishes protocols, requirements, and recommendations for the utilization of uncompressed digital interfaces by consumer electronics devices including, but not limited to, digital televisions (DTVs), digital cable, satellite or terrestrial set-top boxes (STBs), and related peripheral devices including, but not limited to, DVD players and/or recorders, and other related Sources or Sinks.


These systems are provided as parallel systems so that video content is parsed across several line pairs. This enables each video component to have its own transition-minimized differential signaling (TMDS) path. TMDS is a technology for transmitting high-speed serial data and is used by the Digital Visual Interface (DVI) and High-Definition Multimedia Interface (HDMI) video interfaces, as well as other digital communication interfaces. TMDS is similar to low-voltage differential signaling (LVDS) in that it uses differential signaling to reduce electromagnetic interference (EMI), enabling faster signal transfers with increased accuracy. In addition, TMDS uses a twisted pair for noise reduction, rather than a coaxial cable that is conventional for carrying video signals. Similar to LVDS, data is transmitted serially over the data link. When transmitting video data, and using HDMI, three TMDS twisted pairs are used to transfer video data.


In such a system, each pixel packet is limited to 8 bits only. For bit depths higher than 8 bits, fragmented packs are used. This arrangement is no different than is already described in the current CTA-861 standard.


Based on CTA extension Version 3, identification of a six-primary color transmission would be performed by the sink device (e.g., the monitor). Adding recognition of the additional formats would be flagged in the CTA Data Block Extended Tag Codes (byte 3). Since codes 33 and above are reserved, any two bits could be used to identify that the format is RGB, RGBCYM, Y Cb Cr, or Y Cb Cr Cc Cy and/or identify System 1 or System 2. Should byte 3 define a six-primary sampling format, and where the block 5 extension identifies byte 1 as ITU-R BT.709, then logic assigns as 6P-B. However, should byte 4 bit 7 identify colorimetry as DCI-P3, the color gamut would be assigned as 6P-C.


In one embodiment, the system alters the AVI Infoframe Data to identify content. AVI Infoframe Data is shown in Table 10 of CTA 861-G. In one embodiment, Y2=1, Y1=0, and Y0=0 identifies content as 6P 4:2:0:2:0. In another embodiment, Y2=1, Y1=0, and Y0=1 identifies content as Y Cr Cb Cc Cy. In yet another embodiment, Y2=1, Y1=1, and Y0=0 identifies content as RGBCMY.


Byte 2 C1=1, C0=1 identifies extended colorimetry in Table 11 of CTA 861-G. Byte 3 EC2, EC1, EC0 identifies additional colorimetry extension valid in Table 13 of CTA 861-G. Table 14 of CTA 861-G reserves additional extensions. In one embodiment, ACE3=1, ACE2=0, ACE1=0, and ACE0=X identifies 6P-B. In one embodiment, ACE3=0, ACE2=1, ACE1=0, and ACE0=X identifies 6P-C. In one embodiment, ACE3=0, ACE2=0, ACE1=1, and ACE0=X identifies System 1. In one embodiment, ACE3=1, ACE2=1, ACE1=0, and ACE0=X identifies System 2.



FIG. 64 illustrates the current RGB sampling structure for 4:4:4 sampling video data transmission. For HDMI 4:4:4 sampling, video data is sent through three TMDS line pairs. FIG. 65 illustrates a six-primary color sampling structure, RGBCYM, using System 1 for 4:4:4 sampling video data transmission. In one embodiment, the six-primary color sampling structure complies with CTA 861-G, November 2016, Consumer Technology Association, which is incorporated herein by reference in its entirety. FIG. 66 illustrates an example of System 2 to RGBCYM 4:4:4 transmission. FIG. 67 illustrates current Y Cb Cr 4:2:2 sampling transmission as non-constant luminance. FIG. 68 illustrates a six-primary color system (System 1) using Y Cr Cb Cc Cy 4:2:2 sampling transmission as non-constant luminance. FIG. 69 illustrates an example of a System 2 to Y Cr Cb Cc Cy 4:2:2 Transmission as non-constant luminance. In one embodiment, the Y Cr Cb Cc Cy 4:2:2 sampling transmission complies with CTA 861-G, November 2016, Consumer Technology Association. FIG. 70 illustrates current Y Cb Cr 4:2:0 sampling transmission. FIG. 71 illustrates a six-primary color system (System 1) using Y Cr Cb Cc Cy 4:2:0 sampling transmission.


HDMI sampling systems include Extended Display Identification Data (EDID) metadata. EDID metadata describes the capabilities of a display device to a video source. The data format is defined by a standard published by the Video Electronics Standards Association (VESA). The EDID data structure includes, but is not limited to, manufacturer name and serial number, product type, phosphor or filter type, timings supported by the display, display size, luminance data, and/or pixel mapping data. The EDID data structure is modifiable and modification requires no additional hardware and/or tools.


EDID information is transmitted between the source device and the display through a display data channel (DDC), which is a collection of digital communication protocols created by VESA. With EDID providing the display information and DDC providing the link between the display and the source, the two accompanying standards enable an information exchange between the display and source.


In addition, VESA has assigned extensions for EDID. Such extensions include, but are not limited to, timing extensions (00), additional time data black (CEA EDID Timing Extension (02)), video timing block extensions (VTB-EXT (10)), EDID 2.0 extension (20), display information extension (DI-EXT (40)), localized string extension (LS-EXT (50)), microdisplay interface extension (MI-EXT (60)), display ID extension (70), display transfer characteristics data block (DTCDB (A7, AF, BF)), block map (FO), display device data block (DDDB (FF)), and/or extension defined by monitor manufacturer (FF).


In one embodiment, SDP parameters include data corresponding to a payload identification (ID) and/or EDID information.


Multi-Primary Color System Display



FIG. 72 illustrates a dual stack LCD projection system for a six-primary color system. In one embodiment, the display is comprised of a dual stack of projectors. This display uses two projectors stacked on top of one another or placed side by side. Each projector is similar, with the only difference being the color filters in each unit. Refresh and pixel timings are synchronized, enabling a mechanical alignment between the two units so that each pixel overlays the same position between projector units. In one embodiment, the two projectors are Liquid-Crystal Display (LCD) projectors. In another embodiment, the two projectors are Digital Light Processing (DLP) projectors. In yet another embodiment, the two projectors are Liquid-Crystal on Silicon (LCOS) projectors. In yet another embodiment, the two projectors are Light-Emitting Diode (LED) projectors.


In one embodiment, the display is comprised of a single projector. A single projector six-primary color system requires the addition of a second cross block assembly for the additional colors. One embodiment of a single projector (e.g., single LCD projector) is shown in FIG. 73. A single projector six-primary color system includes a cyan dichroic mirror, an orange dichroic mirror, a blue dichroic mirror, a red dichroic mirror, and two additional standard mirrors. In one embodiment, the single projector six-primary color system includes at least six mirrors. In another embodiment, the single projector six-primary color system includes at least two cross block assembly units.



FIG. 74 illustrates a six-primary color system using a single projector and reciprocal mirrors. In one embodiment, the display is comprised of a single projector unit working in combination with at first set of at least six reciprocal mirrors, a second set of at least six reciprocal mirrors, and at least six LCD units. Light from at least one light source emits towards the first set of at least six reciprocal mirrors. The first set of at least six reciprocal mirrors reflects light towards at least one of the at least six LCD units. The at least six LCD units include, but are not limited to, a Green LCD, a Yellow LCD, a Cyan, LCD, a Red LCD, a Magenta LCD, and/or a Blue LCD. Output from each of the at least six LCDs is received by the second set of at least six reciprocal mirrors. Output from the second set of at least six reciprocal mirrors is sent to the single projector unit. Image data output by the single projector unit is output as a six-primary color system. In another embodiment, there are more than two sets of reciprocal mirrors. In another embodiment, more than one projector is used.


In another embodiment, the display is comprised of a dual stack Digital Micromirror Device (DMD) projector system. FIG. 75 illustrates one embodiment of a dual stack DMD projector system. In this system, two projectors are stacked on top of one another. In one embodiment, the dual stack DMD projector system uses a spinning wheel filter. In another embodiment, the dual stack DMD projector system uses phosphor technology. In one embodiment, the filter systems are illuminated by a xenon lamp. In another embodiment, the filter system uses a blue laser illuminator system. Filter systems in one projector are RGB, while the second projector uses a CYM filter set. The wheels for each projector unit are synchronized using at least one of an input video sync or a projector to projector sync, and timed so that the inverted colors are output of each projector at the same time.


In one embodiment, the projectors are phosphor wheel systems. A yellow phosphor wheel spins in time with a DMD imager to output sequential RG. The second projector is designed the same, but uses a cyan phosphor wheel. The output from this projector becomes sequential BG. Combined, the output of both projectors is YRGGCB. Magenta is developed by synchronizing the yellow and cyan wheels to overlap the flashing DMD.


In another embodiment, the display is a single DMD projector solution. A single DMD device is coupled with an RGB diode light source system. In one embodiment, the DMD projector uses LED diodes. In one embodiment, the DMD projector includes CYM diodes. In another embodiment, the DMD projector creates CYM primaries using a double flashing technique. FIG. 76 illustrates one embodiment of a single DMD projector solution.



FIG. 77 illustrates one embodiment of a six-primary color system using a white OLED display. In yet another embodiment, the display is a white OLED monitor. Current emissive monitor and/or television designs use a white emissive OLED array covered by a color filter. Changes to this type of display only require a change to pixel indexing and new six color primary filters. Different color filter arrays are used, placing each subpixel in a position that provides the least light restrictions, color accuracy, and off axis display.



FIG. 78 illustrates one embodiment of an optical filter array for a white OLED display.



FIG. 79 illustrates one embodiment of a matrix of an LCD drive for a six-primary color system with a backlight illuminated LCD monitor. In yet another embodiment, the display is a backlight illuminated LCD display. The design of an LCD display involves adding the CYM subpixels. Drives for these subpixels are similar to the RGB matrix drives. With the advent of 8K LCD televisions, it is technically feasible to change the matrix drive and optical filter and have a 4K six-primary color TV.



FIG. 80 illustrates one embodiment of an optical filter array for a six-primary color system with a backlight illuminated LCD monitor. The optical filter array includes the additional CYM subpixels.


In yet another embodiment, the display is a direct emissive assembled display. The design for a direct emissive assembled display includes a matrix of color emitters grouped as a six-color system. Individual channel inputs drive each Quantum Dot (QD) element illuminator and/or micro LED element.



FIG. 81 illustrates an array for a Quantum Dot (QD) display device.



FIG. 82 illustrates one embodiment of an array for a six-primary color system for use with a direct emissive assembled display.



FIG. 83 illustrates one embodiment of a six-primary color system in an emissive display that does not incorporate color filtered subpixels. For LCD and WOLED displays, this can be modified for a six-primary color system by expanding the RGB or WRGB filter arrangement to an RGBCYM matrix. For WRGB systems, the white subpixel could be removed as the luminance of the three additional primaries will replace it. SDI video is input through an SDI decoder. In one embodiment, the SDI decoder outputs to a Y CrCbCCCy-RGBCYM converter. The converter outputs RGBCYM data, with the luminance component (Y) subtracted. RGBCYM data is then converted to RGB data. This RGB data is sent to a scale sync generation component, receives adjustments to image controls, contrast, brightness, chroma, and saturation, is sent to a color correction component, and output to the display panel as LVDS data. In another embodiment the SDI decoder outputs to an SDI Y-R switch component. The SDI Y-R switch component outputs RGBCYM data. The RGBCYM data is sent to a scale sync generation component, receives adjustments to image controls, contrast, brightness, chroma, and saturation, is sent to a color correction component, and output to a display panel as LVDS data.


Primary Triads


A conversion between XYZ and any three primary system (e.g., RGB) yields an exact solution. However, in systems with more than three primaries, there is not an exact solution. For example, a six primary system with an RGBCMY to XYZ is overdetermined. This requires a mathematical pseudo-inverse (e.g., Moore-Penrose pseudo-inverse), which provides one of an infinite number of solutions. An algorithm is required to go from XYZ to RGBCMY.


In one embodiment, the system uses at least one triad in the algorithm. Each of the at least one triad is formed using three points (e.g., primaries). Although a larger number of permutations is possible for the three points, the order of the three points is not important (e.g., ABC functions the same as BCA). Therefore, for each set of primaries, a number of possible triads is calculated using the following equation:







C

(

n
,

r

)

=




n


C
r


=


n
!



(

n
-
r

)



!

r
!










where n=the number of primaries and r=3. Thus, for three primaries, there is one possible triad; for four primaries, there are 4 possible triads; for five primaries, there are 10 possible triads; for six primaries, there are 20 possible triads; for seven primaries, there are 35 possible triads; for eight primaries, there are 56 possible triads; for nine primaries, there are 84 possible triads; for ten primaries, there are 120 possible triads; for eleven primaries, there are 165 possible triads; and for twelve primaries, there are 220 possible triads.


In one embodiment, the system uses at least five primary triads. In one embodiment, the at least five primary triads are formed using at least six primaries (e.g., P1-P6). In one embodiment, the first triad is formed using P1, P2, and P3; the second triad is formed using P1, P5, and P6; the third triad is formed using P1, P3, and P5; the fourth triad is formed using P2, P3, and P4; and the fifth triad is formed using P1, P2, and P6. For example, in a six primary system using RGBCMY, the first triad is formed using RGB, the second triad is formed using CMY, the third triad is formed using RMB, the fourth triad is formed using CGB, and the fifth triad is formed using RGY. Alternate numbers of primaries, numbers of triads, and alternate triads are compatible with the present invention.


In a preferred embodiment, a color value (e.g., ACES APO) is converted to a colorimetric position (e.g., XYZ), and corresponding values for the at least five primary triads are calculated. In one embodiment, the conversion process first converts an RGB value in ACES APO to XYZ with a D65 white point. Alternative white points are compatible with the present invention. To convert the RGB value in ACES APO to XYZ for a 6P-C system using a D65 white point, the following equation is used:








[



X




Y




Z



]


D

65


=



[





0
.
9


3

8

6

5

3





-

0
.
0



0

5

7

4

0





0
.
0


1

7

5

1

7







0
.
3


3

8

1

0

2





0
.
7


2

7

2

2

7





-

0
.
0



6

5

3

2

8







0
.
0


0

0

7

2

1





0
.
0


0

0

8

1

6





1
.
0


8

7

2

6

4




]

[



R




G




B



]


ACES

D

6

5







In one embodiment, a color value in ACES APO is converted to XYZ with a D65 white point. In one embodiment, the conversion from ACES APO to XYZ with a D65 white point is performed using the following equation:








[



X




Y




Z



]


D

65


=



[





0
.
9


5

0

3

4

8





0
.
0


0

0

0

0

0





0
.
0


0

0

1

0

1







0
.
3


4

3

1

7

0





0
.
7


3

4

6

8

9





-

0
.
0



7

7

8

5

9







0
.
0


0

0

0

0

0





0
.
0


0

0

0

0

0





1
.
0


8

8

9

1

7




]

[



R




G




B



]


ACES

A

P

0







In one embodiment, a color value in ACES APO is converted to XYZ with a D60 white point. In one embodiment, the conversion from ACES APO to XYZ with a D60 white point is performed using the following equation:








[



X




Y




Z



]


D

60


=



[





0
.
9


5

2

5

5

2





0
.
0


0

0

0

0

0





0
.
0


0

0

0

9

4







0
.
3


4

3

9

6

6





0
.
7


2

8

1

6

6





-

0
.
0



7

2

1

3

3







0
.
0


0

0

0

0

0





0
.
0


0

0

0

0

0





1
.
0


0

8

8

2

5




]

[



R




G




B



]


ACES

A

P

0







In one embodiment, a color value in ACES APO with a D60 white point is converted to ACES APO with a D65 white point. In one embodiment, the conversion from ACES APO with a D60 white point to ACES APO with a D65 white point is performed using a Bradford chromatic adaptation. In one embodiment, the conversion from ACES APO with a D60 white point to ACES APO with a D65 white point is performed using the following equation:








[



R




G




B



]


ACES


A

P

0

-

D

6

5




=



[





0
.
9


8

6

7

7

9





-

0
.
0



0

5

8

1

7





0
.
0


0

3

8

2

3







0
.
0


0

1

8

6

8





0
.
9


9

6

0

6

4





-

0
.
0



0

0

9

8

6







0
.
0


1

5

6

1

3





0
.
0


0

3

5

5

9





1
.
0


0

1

6

3

7




]

[



R




G




B



]


ACES


A

P

0

-

D

6

0








In one embodiment, a color value in XYZ with a D60 white point is converted to XYZ with a D65 white point. In one embodiment, the conversion from XYZ with a D60 white point to XYZ with a D65 white point is performed using a Bradford chromatic adaptation. In one embodiment, the conversion from XYZ with a D60 white point to XYZ with a D65 white point is performed using the following equation:








[



X




Y




Z



]


D

65


=



[





0
.
9


8

7

2

3

9





-

0
.
0



0

7

5

9

2





0
.
0


0

3

0

6

7







-

0
.
0



0

6

1

0

7





1
.
0


0

1

8

6

4





-

0
.
0



0

5

0

8

6







0
.
0


1

5

9

2

7





0
.
0


0

5

3

2

1





1
.
0


8

1

5

3

7




]

[



X




Y




Z



]


D

60






In one embodiment, a color value in ACES APO is converted to XYZ with a D65 white point using a Bradford chromatic adaptation. In one embodiment, the conversion from


ACES APO to XYZ with a D65 white point is performed using the following equation:








[



X




Y




Z



]


D

65


=



[





0
.
9


3

7

7

8

5





-

0
.
0



0

5

5

2

8





0
.
0


0

3

7

3

4







0
.
3


3

8

7

9

0





0
.
7


2

9

5

2

3





-

0
.
0



7

7

3

9

9







0
.
0


1

7

0

0

1





0
.
0


0

3

8

7

5





1
.
0


9

0

6

9

9




]

[



R




G




B



]


ACES

A

P

0







In one embodiment, the system uses equations found in RP 177 to generate a normalized set of values for color conversion matrices. “RP 177:1993-SMPTE Recommended Practice-Derivation of Basic Television Color Equations,” in RP 177:1993, vol., no., pp. 1-4, 1 Nov. 1993, doi: 10.5594/SMPTE.RP177.1993, is incorporated herein by reference in its entirety. In one embodiment, the calculation of the normalized set of values for the color conversion matrices uses the following equations:






X
=



xY
y


Y

=


1

Z

=



(

1
-
x
-
y

)


Y

y







An RGB-to-XYZ matrix and a CMY-to-XYZ matrix are created using a white point (e.g., D65) of the system. In each of these triads, the white point is within the triad. The RGB-to-XYZ matrix determines what ratio of each normalized primary (R, G, and B) is required to achieve the D65 white with an RGB value of [1 1 1], and then scales the matrix such that the input of [1 1 1] yields the XYZ of D65. Similarly, the CMY-to-XYZ matrix determines what ratio of each normalized primary (C, M, and Y) is required to achieve the D65 white with a CMY value of [1 1 1], and then scales the matrix such that the input of [1 1 1] yields the XYZ of D65. With these two matrices, additional triad-to-XYZ matrices are created by using the columns in the RGB-to-XYZ matrix and the CMY-to-XYZ matrix. For example, an RMB-to-XYZ matrix is created by taking the RGB-to-XYZ matrix and replacing the second column with the second column from the CMY-to-XYZ matrix. In this case, as well as all other triads, the D65 white point is not inside the triad, so in that case no combination of RMB can achieve the D65 color point.


In one embodiment, a hardware calibration is required to create the conversion matrices. For example, if a projector has 7 signals (e.g., RGBCMYW) for a six primary system, the output is measured as real XYZ for the individual primaries at maximum and for white when all six primaries are at maximum. A projector calibration is required to adjust the intensities of the primaries to achieve a white point (e.g., D65) from a [1 1 1 1 1 1] position. The matrices are then created as described above.


A normalized matrix is used when a multi-primary display device is calibrated such that full power of all primaries yields the intended white point (e.g., D65). If the multi-primary display device has primaries such that the result from all primaries being at full power gives a white point that is not the desired white point, then the non-normalized method is used and the calibration is done (e.g., via software, a look-up table (LUT)) to scale the primaries such that the full power values result in the desired white point. In one embodiment, the LUT is a three-dimensional (3D) LUT.


Alternatively, the system uses a non-normalized method to generate a set of values for the color conversion matrices. For example, a set of six primaries P1-P6 has a set of xyz primary values as shown in Table 18. Although this example shows a set of six primaries, this process is operable to be used with at least four primaries.














TABLE 18









P1xyz
P1x
P1y
P1z



P2xyz
P2x
P2y
P2z



P3xyz
P3x
P3y
P3z



P4xyz
P4x
P4y
P4z



P5xyz
P5x
P5y
P5z



P6xyz
P6x
P6y
P6z










In one embodiment, an XYZ-to-P1P2P3 matrix is created using the inverse of the result from transposing a P1XYZ matrix created from the primary values in Table 18, a P2XYZ matrix created from the primary values in Table 18, and a P3XYZ matrix created from the primary values in Table 18. The conversion from XYZ color space to P1P2P3 is shown below in the following equation:







[




P
1






P
2






P
3




]

=




(


[





P
1


x





P
1


y





P
1


z







P
2


x





P
2


y





P
2


z






p

3
x






P
3


y





P
3


z




]

T

)


-
1


[



X




Y




Z



]

=


(


[





P
1


x





P
2


x





P
3


x







P
1


y





P
2


y





P
3


y







P
1


z





P
2


z





P
3


z




]


-
1


)

[



X




Y




Z



]






Similarly, in one embodiment, an XYZ-to-P4P5P6 matrix is created using the inverse of the result from transposing a P4xyz matrix created from the primary values in Table 18, a P5xyz matrix created from the primary values in Table 18, and a P6xyz matrix created from the primary values in Table 18. The conversion from XYZ color space to P4P5P6 is shown below in the following equation:







[




P
4






P
5






P
6




]

=




(


[





P
4


x





P
4


y





P
4


z







P
5


x





P
5


y





P
5


z






p

6
x






P
6


y





P
6


z




]

T

)


-
1


[



X




Y




Z



]

=


(


[





P
4


x





P
5


x





P
6


x







P
4


y





P
5


y





P
6


y







P
4


z





P
5


z





P
6


z




]


-
1


)

[



X




Y




Z



]






This process is used to create additional matrices for alternative triads. As stated above, although this process is shown using six primaries, alternate numbers of primaries, numbers of triads, and alternate triads are compatible with the present invention.



FIG. 84 illustrates one embodiment of a primary triad system for a multi-primary system including red, green, blue, cyan, magenta, and yellow primaries. The primary triad system includes an RGB triad, a CMY triad, an RMB triad, a CGB triad, and an RGY triad.


Primary values for each color value (RGBCMY) are listed in Table 19 below.














TABLE 19









Rxyz
0.68
0.32
0



Gxyz
0.265
0.69
0.045



Bxyz
0.15
0.06
0.79



Cxyz
0.1617
0.3327
0.5056



Mxyz
0.3383
0.1372
0.5245



Yxyz
0.4470
0.5513
0.0017










In one embodiment, an XYZ-to-RGB matrix is created using the inverse of the result from transposing an Rxyz matrix created from the primary values in Table 19, a Gxyz matrix created from the primary values in Table 19, and a Bxyz matrix created from the primary values in Table 19. For example, to obtain the RGB triad, an inverse is taken of the transpose of a matrix created using the first three rows of Table 19 for 6P-C. The conversion from D65 XYZ color space to RGB in a 6P-C system using a D65 white point is shown below in the following equation:








[



R




G




B



]



6

P

-
C


=



[





1
.
7


8

4

2

1





-

0
.
6



6

6

4

4

7





-

0
.
2



8

8

1

5

8







-

0
.
8



3

1

5

7

9





1
.
7


6

7

1

1





0
.
0


2

3

6

8

4

2







0
.
0


4

7

3

6

8

4





-

0
.
1



0

0

6

5

8





1
.
2


6

4

4

7




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-CMY matrix is created using the inverse of the result from transposing a Cxyz matrix created from the primary values in Table 19, an Mxyz matrix created from the primary values in Table 19, and a Yxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to CMY in a 6P-C system using a D65 white point is shown below in the following equation:








[



C




M




Y



]



6

P

-
C


=



[





-

3
.
0



6

1

2

5





2
.
4


7

8

0

1





1
.
3


2

6

2

9







2
.
9


4

7

3

3





-

2
.
3



9

1

6

7





0
.
6


3

1

1

8

4







1
.
1


1

3

9

2





0
.
9


1

3

6

6

8





-

0
.
9



5

7

4

7

3




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-RMB matrix is created using the inverse of the result from transposing an Rxyz matrix created from the primary values in Table 19, an Mxyz matrix created from the primary values in Table 19, and a Bxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to RMB in a 6P-C system using a D65 white point is shown below in the following equation:








[



R




M




B



]



6

P

-
C


=



[





-

9
.
5



6

4

5

4




2


3
.
4


4

9

6





0
.
0


3

5

0

6

5

9






3


1
.
4


3

5





-
6



6
.
7


9

9

3





-

0
.
8



9

5

3







-
2



0
.
8


7

0

4




4


4
.
3


4

9

7





1
.
8


6

0

2

3




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-CBG matrix is created using the inverse of the result from transposing a Cxyz matrix created from the primary values in Table 19, a Bxyz matrix created from the primary values in Table 19, and a Gxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to CBG in a 6P-C system using a D65 white point is shown below in the following equation:








[



C




B




G



]



6

P

-
C


=



[





-
2



2
.
6


0

9

9





8
.
4


4

5

3

6





3
.
6


5

1

6






1


3
.
9


1

8

3





-

5
.
2



8

1

7

9





-

0
.
9



7

5

7

3

9







9
.
6


9

1

6

2





-

2
.
1



6

3

5

7





-

1
.
6



7

5

8

6




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-RGY matrix is created using the inverse of the result from transposing an Rxyz matrix created from the primary values in Table 19, a Gxyz matrix created from the primary values in Table 19, and a Yxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to RGY in a 6P-C system using a D65 white point is shown below in the following equation:








[



R




G




Y



]



6

P

-
C


=



[





2
.
4


1

6

8

4





-

2
.
0



1

0

7

9




1


6
.
5


9

9

6







0
.
0


5

5

6

2

6

6





-

0
.
1



1

8

2

0

6




2


3
.
7


0

7

1







-

1
.
4



7

2

4

7





3
.
1


2

8

9

9





-
3



9
.
3


0

6

7




]

[



X




Y




Z



]


D

65






The XYZ value is multiplied by each of the XYZ-to-triad matrices shown above (i.e., the XYZ-to-RGB matrix, the XYZ-to-CMY matrix, the XYZ-to-RMB matrix, the XYZ-to-CBG matrix, the XYZ-to-RGY matrix). The result of each multiplication is filtered for negative values. If a resulting matrix includes one or more negative values, all three values in the resulting matrix are set to zero. This results in a set of triad vectors. The primary components of the at least five primary triads are added together on a per-component basis (e.g., {SUM (R), SUM (B), SUM (G), SUM (C), SUM (M), SUM (Y)}). In one embodiment, if any of the merged colors are present in at least two triads, the primary components are divided by a number of the at least two primary triads to create a set of final values. For example, if any of the merged colors are present in two triads (e.g., RGB and RMB), the values are divided by two (2) and merged back into the matrices, resulting in a set of final 6P values. If the merged colors are only present in one triad, this represents the set of final 6P values.


If the signal values for two triads are non-negative, the sums for each component are divided by two. In the embodiment described above (i.e., RGB, CMY, RBM, CBG, and RGY), it is not possible for more than two triads to be completely non-negative. In alternative embodiments, with a different set of at least five triads, it is possible for more than two triads to be completely non-negative. In the six primary system described above, the result is output as an RGBCMY value.


If all of the values for the at least five primary triads resulting from each multiplication are negative, the color is out-of-gamut for the at least six primaries and must be mapped to an in-gamut color. In one embodiment, signals from the triad with the least negative minimum value are used, with the negative signal values clipped to zero. These signal values are then used on a per-component basis for each out-of-gamut signal. After including all of the out-of-gamut signals, the signal values for each of the at least six primaries (e.g., RGBCMY) are clipped to one.


In one embodiment, the system includes a three-dimensional look up table that converts an out-of-gamut color value to an in-gamut color value for the at least six primary system. In one embodiment, XYZ values for the out-of-gamut color value are converted to xyY. The out-of-gamut color value is substituted to an in-gamut color value with a new xy and the original Y, thereby creating a new xyY. The new xyY is then transformed to XYZ. If any channel is greater than 1.0, the complete triad is divided by the maximum, scaling the channel to a maximum value of 1.0.


In a preferred embodiment, the system maps the out-of-gamut color to an in-gamut color by defining a vector using a white point and the out-of-gamut color and mapping the out-of-gamut color to a locus edge of the multi-primary system along the vector as shown in FIG. 85. Points inside the shape are white and represent points that do not need to be remapped. Advantageously, mapping along the straight line to the white point provides a more radially consistent and more operationally reasonable position. Alternatively, the system maps the out-of-gamut color value to the nearest in-gamut color regardless of a location of the white point (e.g., perpendicular reference) as shown in FIG. 86. In one embodiment, the mapping is done in xyY color space. The colorimetric xy values are mapped from the out-of-gamut color to the in-gamut color. In a preferred embodiment, the Y is carried along unchanged and merged with the new remapped x,y in-gamut color.


The set of final 6P values is converted back to XYZ space with a D65 white point using a 6P-to-XYZ matrix. The conversion from 6P-to-XYZ for 6P-C is shown below in the following equation:








[



X




Y




Z



]


D

65


=



[





0
.
4


8

6

5

7

0

9

5





0
.
2


6

5

6

6

7

6

9





0
.
1


9

8

2

1

7

2

9





0
.
3


2

2

9

5

9

6

2





-

0
.
5



4

9

6

9

8

0

0





1
.
1


7

7

1

9

9

4

3

5







0
.
2


2

8

9

7

4

5

6





0
.
6


9

1

7

3

8

5

2





0
.
0


7

9

2

8

6

9

1





0
.
6


7

8

6

7

1

7

5





-

0
.
2



2

2

0

3

2

4

0





0
.
5


4

3

3

6

0

7

0

0







0
.
0


0

0

0

0

0

0

0





0
.
0


4

5

1

1

3

3

8





1
.
0


4

3

9

4

4

3

7





0
.
9


8

3

3

6

9

3

6





-

0
.
7



8

8

5

8

1

9

0





0
.
8


9

4

2

7

0

2

5

0




]

[



R




G




B




C




M




Y



]



6

P

-
C






Once this conversion is complete, the XYZ values are converted to ACES using an XYZ-to-ACES matrix. This matrix is the inverse of the ACES-to-XYZ matrix. The conversion from XYZ-to-ACES is shown below in the following equation:








[



R




G




B



]


ACES

D

65



=



[





1
.
0


6

2

3

4

3





0
.
0


0

8

4

0

4





-

0
.
0



1

6

6

1

1







-

0
.
4



9

3

9

3

4





1
.
3


7

1

0

8

7





0
.
0


9

0

3

4

0







-

0
.
0



0

0

3

3

4





-

0
.
0



0

1

0

3

4





0
.
9


1

9

6

8

3




]

[



X




Y




Z



]


D

65






In one embodiment, the ISO 17321 matrix/chart values are defined using a perfect reflecting diffuser matrix (0.97784 0.97784 0.97784), an 18% grey card matrix (0.18 0.18 0.18), and the 24 patches of the ISO 17321-1 chart, as illuminated using CIE D60:

    • (0.11877 0.08709 0.05895), (0.40002 0.31916 0.23737),
    • (0.18476 0.20398 0.31311), (0.10901 0.13511 0.06493),
    • (0.26684 0.24604 0.40932), (0.32283 0.46208 0.40606),
    • (0.38606 0.22744 0.05777), (0.13822 0.13037 0.33703),
    • (0.30203 0.13752 0.12758), (0.0931 0.06347 0.13525),
    • (0.34876 0.43654 0.10614), (0.48656 0.36686 0.08061),
    • (0.08732 0.07443 0.27274), (0.15366 0.25691 0.09071),
    • (0.21742 0.0707 0.0513), (0.5892 0.53943 0.09157),
    • (0.30904 0.14818 0.27426), (0.14901 0.23378 0.35939),
    • (0.86653 0.86792 0.85818), (0.57356 0.57256 0.57169),
    • (0.35346 0.35337 0.35391), (0.20253 0.20243 0.20287),
    • (0.09467 0.0952 0.09637), (0.03745 0.03766 0.03895).


      These are the ACES RICD values for a perfect reflecting diffuser, an 18% gray card, and the 24 patches of the ISO 17321-1 chart, as illuminated using CIE D60.


While the process shown in FIG. 87 is using the ACES RICD values for a perfect reflecting diffuser, an 18% gray card, and the 24 patches of the ISO 17321-1 chart, as illuminated using CIE D60, it can be used to validate any conversion from ACES-to-6P-to-ACES.


It is important to note that 6P {1,1,1,1,1,1} converts to ACES-0 {2,2,2}. In one embodiment using ITU-R BT.2100 color space, it is necessary to perform a scaling operation of the linear display-referred RGB values, followed by applying an inverse Perceptual Quantizer (PQ) EOTF. The scaling is such that 6P data {1,1,1,1,1,1} maps to 10-bit PQ {668,668,668}. In one embodiment, the scaling maps at a rate of 403 candelas per square meter (cd/m2).


In a more preferred embodiment, the system uses at least eight primary triads. FIG. 88 illustrates one embodiment of a system with at least eight primary triads. In one embodiment, the at least eight primary triads are formed using at least six primaries. In one embodiment, a multi-primary system includes six primaries (e.g., P1-P6) and eight primary triads. In one embodiment, the first triad is formed using P1, P2, and P3; the second triad is formed using P1, P5, and P6; the third triad is formed using P1, P3, and P5; the fourth triad is formed using P2, P3, and P4; the fifth triad is formed using P1, P2, and P6; the sixth triad is formed using P3, P1, and P5; the seventh triad is formed using P2, P1, and P6; and the eighth triad is formed using P1, P5, and P6. Any point is included in a first triad of a first set of triads (e.g., P1P2P3, P1P2P5, P1P3P6, or P2P3P4) and a second triad of a second set of triads (e.g., P4P5P6, P2P4P5, P1P5P6, or P3P4P6). For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), a cyan primary (C), a yellow primary (Y), and a magenta primary (M). Any point is present in one of RGB, RGY, RMB, or CGB and in one of CMY, CGY, RMY, or CMB. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:






RGBCMY
=


(


[




R

G

B





RGY





R

M

B






C

G

B




]

+


[



CMY




CGY




RMY





C

M

B




]


)

/
2





In a preferred embodiment, the third triad, the fourth triad, and the fifth triad are formed by doing one replacement in the first triad, and the sixth triad, the seventh triad, and the eighth triad are formed by doing one replacement in the second triad. In one embodiment, red replaces cyan, blue replaces yellow, green replaces magenta, cyan replaces red, yellow replaces blue, and/or magenta replaces green. For example, RGB is modified to RMB, RGY, and CGB, and CMY is modified to RMY, CGY, and CMB. In a preferred embodiment, the primary triads are selected such that none of the primary triads include both a primary and its complement (e.g., no triad contains R and C, no triad contains B and Y, no triad contains G and M). Primary triads including both a primary and its complement are not needed for a full color description of the system. In a preferred embodiment, the primary triads are selected such that the first triad includes the white point, the second triad includes the white point, and no other triads include the white point. For example, RGB includes the white point, CMY includes the white point, and no other triads include the white point.


Alternate numbers of primaries, alternate numbers of triads, and alternate triads are compatible with the present invention. Advantageously, this embodiment provides an easier method of calculating luminance because every color is included in two triads and a simple divide by two provides a final result while still describing the full gamut using the primary triads. Out-of-gamut colors are mapped to in-gamut colors as previously described.


The XYZ-to-RGB matrix, the XYZ-to-CMY matrix, the XYZ-to-RMB matrix, the XYZ-to-CBG matrix, and the XYZ-to-RGY matrix are calculated as previously described. Additionally, in one embodiment, an XYZ-to-CMB matrix, an XYZ-to-RMY matrix, and an XYZ-to-CGY matrix are calculated as described below.


In one embodiment, an XYZ-to-CMB matrix is created using the inverse of the result from transposing a Cxyz matrix created from the primary values in Table 19, an Mxyz matrix created from the primary values in Table 19, and a Bxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to CMB in a 6P-C system using a D65 white point is shown below in the following equation:








[



C




M




B



]



6

P

-
C


=



[





-

1
.
5



2

4

7

5





3
.
7


3

8

2

8





0
.
0


0

5

5

9

0

1

2







4
.
6


0

8

8

1





-

1
.
0



2

8

8

8





-

0
.
7



9

6

9

4

9







-

2
.
0



8

4

0

6





-

1
.
7



0

9

4





1
.
7


9

1

3

6




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-RMY matrix is created using the inverse of the result from transposing an Rxyz matrix created from the primary values in Table 19, an Mxyz matrix created from the primary values in Table 19, and a Yxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to RMY in a 6P-C system using a D65 white point is shown below in the following equation:








[



R




M




Y



]



6

P

-
C


=



[





2
.
3


7

5

4

8





-

1
.
9



2

2

8

9





-

1
.
0



2

9

1

8







0
.
0


0

4

4

7

2

6

7





-

0
.
0



0

9

5

0

4

4

2





1
.
9


0

6

1

8







-

1
.
3



7

9

9

5





2
.
9


3

2

3

9





0
.
1


2

2

9

9

8




]

[



X




Y




Z



]


D

65






In one embodiment, an XYZ-to-CGY matrix is created using the inverse of the result from transposing a Cxyz matrix created from the primary values in Table 19, a Gxyz matrix created from the primary values in Table 19, and a Yxyz matrix created from the primary values in Table 19. The conversion from D65 XYZ color space to CGY in a 6P-C system using a D65 white point is shown below in the following equation:








[



C




G




Y



]



6

P

-
C


=



[





0
.
2


9

7

8

4





-

0
.
2



4

7

8





2
.
0


4

5

6

5







-

3
.
5



0

5

3

5





2
.
8


4

4

4

9





-

0
.
7



5

0

6

8

6







4
.
2


0

7

5

1





-

1
.
5



9

6

6

9





-

0
.
2



9

4

9

6

7




]

[



X




Y




Z



]


D

65






A set of matrices is defined for the at least eight triads based on the XYZ values of the at least six primaries in a multi-primary system. For each set of XYZ values (per pixel), the values for each of the at least eight triads are derived by multiplying the XYZ value by each triad inverse matrix. Each set of triad values is checked for negative values, and any triad with a negative value is set to (0, 0, 0). Like components from each triad are summed for each pixel and a set of values in the multi-primary system are created for each pixel. The sum is divided by a number of triads with non-negative values to compensate for luminance. For example, if a point is found in one triad, the sum is the final value; if a point is found in two triads, the sum is divided by two to provide the final value; if a point is found in three triads, the sum is divided by three to provide the final value; if a point is found in four triads, the sum is divided by four to provide the final value; etc.


As previously described, in a six primary system, there are a total of 20 possible triads. Thus, points may be included in more than two triads of the total of 20 possible triads. However, in the embodiment of the present invention described above using eight triads (i.e., RGB, CMY, RMB, CBG, RGY, CMB, RMY, and CGY), no point is included in more than two triads. This is advantageous over a system that uses all possible triads (e.g., 20 for RGBCMY) because it requires significantly less processing for calculations. Further, a simple divide by two is always required for calculations, which simplifies logic and reduces processing required to complete the calculations.



FIG. 89 illustrates a flow chart of an embodiment of a system with eight triads in a six-primary system (i.e., RGBCMY).


Triads in Four Primary and Five Primary Systems


In one embodiment, a multi-primary system includes four primaries (e.g., P1-P4). Any point is included in a first triad of a first set of triads including P1P4 (e.g., P1P4P2 or P1P4P3) and a second triad of a second set of triads including P2P3 (e.g., P2P3P1 or P2P3P4). For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), and a cyan primary (C). Any point is present in one of RGB or CGB and in one of RCB or RCG. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:







R

G

B

C

=


(


[




R

G

B






C

G

B




]

+


[




R

C

B






R

C

G




]


)

/
2





In one embodiment, a multi-primary system includes five primaries (e.g., P1-P5). Any point is included in a first triad of a first set of triads (e.g., P1P4P3, P1P4P5, or P4P2P5) and a second triad of a second set of triads (e.g., P1P2P5, P1P2P3, or P2P3P4). For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), a cyan primary (C), and a yellow primary (Y). Any point is present in one of RCY, RCB, or CGY and in one of RGY, RGB, or CGB. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:







R

G

B

C

=


(


[



RCY





R

C

B





CGY



]

+


[



RGY





R

G

B






C

G

B




]


)

/
2





Advantageously, each color point resides within only two triads. As previously described, in a five primary system, there are a total of 10 possible triads. Thus, points may be included in more than two triads of the total of 10 possible triads. However, in the embodiment of the present invention described above using six triads (i.e., RGB, RGY, CGB, RCB, CGY, and CRY), no point is included in more than two triads. This is advantageous over a system that uses all possible triads (e.g., 10 for RGBCY) because it requires significantly less processing for calculations. Further, a simple divide by two is always required for calculations, which simplifies logic and reduces processing required to complete the calculations.


In one embodiment, the system uses at least one virtual primary in at least one triad. In one example, an RGBC system uses a virtual magenta primary and a virtual yellow primary. In one embodiment, the virtual magenta primary is an average of a red primary point and a blue primary point. In one embodiment, the virtual yellow primary is an average of a red primary point and a green primary point. In another example, an RGBY system uses a virtual magenta primary and a virtual cyan primary. In one embodiment, the virtual cyan primary is an average of a green primary point and a blue primary point. In yet another example, an RGBCY system uses a virtual magenta primary. In one embodiment, the at least one virtual primary is located on a line connecting two non-virtual primaries. Advantageously, using the virtual primaries allows for the eight triads described above (e.g., RGB, CMY, RBM, CBG, RGY, CMB, RMY, and CGY) to be used within a four primary system and/or a five primary system.


Triads with Two Primaries and a Virtual Primary


In another embodiment, the three points forming a triad include two primaries and a point within the color gamut used as a virtual primary. In a preferred embodiment, the virtual primary is a white point (e.g., D65). Each triad is formed using two adjacent primaries and the virtual primary (e.g., the white point). For example, in an RGBCMY system with a white point (“W”), the triads include WRY, WYG, WGC, WCB, WBM, and WMR as shown in FIG. 90. Advantageously, using the white point as a virtual primary covers the complete color area, and points are only within one triangle. Thus, a four primary system with an additional virtual primary results in four triads, a five primary system with an additional virtual primary results in five triads, a six primary system with an additional virtual primary results in six triads, a seven primary system with an additional virtual primary results in seven triads, an eight primary system with an additional virtual primary results in eight triads, a nine primary system with an additional virtual primary results in nine triads, a ten primary system with an additional virtual primary results in ten triads, an eleven primary system with an additional virtual primary results in eleven triads, a twelve primary system with an additional virtual primary results in twelve triads, etc.


The white point W is a virtual primary defined as [1 1 1 1 1 1] of RGBCMY. All color points are in only one of the six triads for a six primary system. If a color point is on the line between two triads, the system determines in which triad the color point resides (e.g., based on significant figures and precision of a processor).


For example, when reconstructing the RGBCMY from a RYW triad, the XYZ-to-RYW gives the following matrix:

[R Y W]=[0.244 0.572 0.345]


All RGBCMY values are set to the virtual primary value, which is 0.345 in the example above. Thus, RGBCMY(R)=RGBCMY(R)+R (=0.244 in the example above) and RGBCMY(Y)=RGBCMY(Y)+Y (=0.572 in the example above), which yields the following matrix:

[R G B C M Y]=[0.589 0.345 0.345 0.345 0.345 0.917]


Further away from the white point, the W value decreases substantially. The W gives positive RGBCMY, and if the magnitude of W is greater than the magnitude of one of the other elements, the result might still be all positive in RGBCMY. From the above example, if R=−0.244, then the final R value would still be positive (i.e., R=0.345− 0.244=0.101).


Advantageously, the addition of the virtual primary (e.g., white point) constrains the system to a finite number of values when converting from XYZ to a multi-primary color gamut (e.g., RGBCMY). The virtual primary is not necessary when converting from the multi-primary color gamut (e.g., RGBCMY) to XYZ because this operation is well-defined by a 3×6 matrix (e.g., RGBCMY-to-XYZ matrix) and an absolute inverse of the 3×6 matrix is not possible.


In one embodiment, the multi-primary system includes at least one internal primary (e.g., at least one white point) and at least three peripheral primaries. For example, the multi-primary system includes P peripheral primaries and I internal primaries. There will be I sets of P triads formed from the P peripheral primaries and each of the I internal primaries. Any point will only be within one of the P triads including each of the I internal primaries. These resulting values are then averaged together.


In one embodiment, a multi-primary system includes three peripheral primaries (e.g., P1-P3) and an internal primary (I). Any point is included in one triad of a set of triads including I (e.g., P1P2I, P1P3I, or P2P3I) and a triad formed with the three peripheral primaries (e.g., P1P2P3). These resulting values from the one triad of the set of triads including I and the triad formed with the three peripheral primaries are added together and divided by two. For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), and a white primary (W). Any point is present in one of RGW, RBW, or GBW and in RGB. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:







R

G

B

W

=


(


[




R

G

W






R

B

W






G

B

W




]

+
RGB

)

/
2






In another embodiment, the value of RGW, RBW, or GBW is used without dividing by two to produce RGBW.


In one embodiment, a multi-primary system includes three peripheral primaries (e.g., P1-P3) and two internal primaries (e.g., I1-I2). Any point is included in a first triad of a first set of triads including I1 (e.g., P1P2I1, P1P3I1, or P2P3I1) and a second triad of a second set of triads including I2 (e.g., P1P2, P1P3I2, or P2P3I2). These resulting values from the first triad of the first set of triads and the second triad of the second set of triads are added together and divided by two. For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), a first white primary (W1), and a second white primary (W2). Any point is present in one of RGW1, RBW1, or GBW1 and in one of RGW2, RBW2, or GBW2. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:







R

G

B


W
1



W
2


=


(


[




R

G


W
1







R

B


W
1







G

B


W
1





]

+


[




R

G


W
2







R

B


W
2







G

B


W
2





]


)

/
2





In one embodiment, a multi-primary system includes four peripheral primaries (e.g., P1-P4) and two internal primaries (e.g., I1-I2). Any point is included in a first triad of a first set of triads including I1 (e.g., P1P2I1, P2P4I1, P3P4I1, or P1P3I1) and a second triad of a second set of triads including I2 (e.g., P1P2I2, P2P4I2, P3P4I2, or P1P3I2). These resulting values from the first triad of the first set of triads and the second triad of the second set of triads are added together and divided by two. For example, a multi-primary system includes a red primary (R), a green primary (G), a blue primary (B), a cyan primary (C), a first white primary (W1, and a second white primary (W2). Any point is present in one of RGW1, GCW1, BCW1, or RBW1 and in one of RGW2, GCW2, BCW2, or RBW2. In one embodiment, the resulting values are added together and divided by two as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:







R

G

B

C


W
1



W
2


=


(


[




R

G


W
1







G

C


W
1







B

C


W
1







R

B


W
1





]

+


[




R

G


W
2







G

C


W
2







B

C


W
2







R

B


W
2





]


)

/
2





In one embodiment, a multi-primary system includes three peripheral primaries (e.g., P1-P3) and three internal primaries (e.g., I1-I3). Any point is included in a first triad of a first set of triads including I1 (e.g., P1P2I1, P1P3I1, or P2P3I1), a second triad of a second set of triads including I2 (e.g., P1P2I2, P1P3I2, or P2P3I2), and a third triad of a third set of triads including I3 (e.g., P1P2I3, P1P3I3, or P2P3I3). These resulting values from the first triad of the first set of triads, the second triad of the second set of triads, and the third triad of the third set of triads are added together and divided by three. For example, a multi-primary system includes a first red primary (R1), a second red primary (R2), a first green primary (G1), a second green primary (G2), a first blue primary (B1), and a second blue primary (B2). The second red primary, the second green primary, and the second blue primary are contained within a triad formed by the first red primary, the first green primary, and the first blue primary. Any point is present in one of R1G1R2, R1B1R2, or G1B1R2, in one of R1G1G2, or G1B1G2, and in one of R1G1B2, R1B1B2, or G1B1B2. In one embodiment, the resulting values are added together and divided by three as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:








R
1



R
2



G
1



G
2



B
1



B
2


=


(


[





R
1



G
1



R
2








R
1



B
1



R
2








G
1



B
1



R
2





]

+


[





R
1



G
1



G
2








R
1



B
1



G
2








G
1



B
1



G
2





]

+


[





R
1



G
1



B
2








R
1



B
1



B
2








G
1



B
1



B
2





]


)

/
3





In another embodiment, the multi-primary system includes the three peripheral primaries (e.g., P1-P3) and the three internal primaries (e.g., I1-I3). Any point is included in a first triad of a first set of triads (e.g., P1P2I1, P1I1I3, P2P3I2, P1I3I3, P1P3I3, P3I2I3, or I1I2I3) and a second triad (e.g., P1P2P3). These resulting values from the first triad of the first set of triads and the second triad are added together and divided by two. For example, a multi-primary system includes a first red primary (R1), a second red primary (R2), a first green primary (G1), a second green primary (G2), a first blue primary (B1), and a second blue primary (B2). The second red primary, the second green primary, and the second blue primary are contained within a triad formed by the first red primary, the first green primary, and the first blue primary. Any point is present in one of R1G1R2, R1R2B2, G1B1G2, G1R2G2, R1B1B2, B1G2B2, or R2G2B2 and in R1G1B1. In one embodiment, the resulting values are added together and divided by three as shown in the equation below (e.g., for an XYZ input), wherein a point is present in only one triad in each set shown in brackets:








R
1



R
2



G
1



G
2



B
1



B
2


=


(


[





R
1



G
1



R
2








R
1



R
2



B
2








G
1



B
1



G
2








G
1



R
2



G
2








R
1



B
1



B
2








B
1



G
2



B
2








R
2



G
2



B
2





]

+

[


R
1



G
1



B
1


]


)

/
2






FIG. 91 is a schematic diagram of an embodiment of the invention illustrating a computer system, generally described as 800, having a network 810, a plurality of computing devices 820, 830, 840, a server 850, and a database 870.


The server 850 is constructed, configured, and coupled to enable communication over a network 810 with a plurality of computing devices 820, 830, 840. The server 850 includes a processing unit 851 with an operating system 852. The operating system 852 enables the server 850 to communicate through network 810 with the remote, distributed user devices. Database 870 may house an operating system 872, memory 874, and programs 876.


In one embodiment of the invention, the system 800 includes a network 810 for distributed communication via a wireless communication antenna 812 and processing by at least one mobile communication computing device 830. Alternatively, wireless and wired communication and connectivity between devices and components described herein include wireless network communication such as WI-FI, WORLDWIDE INTEROPERABILITY FOR MICROWAVE ACCESS (WIMAX), Radio Frequency (RF) communication including RF identification (RFID), NEAR FIELD COMMUNICATION (NFC), BLUETOOTH including BLUETOOTH LOW ENERGY (BLE), ZIGBEE, Infrared (IR) communication, cellular communication, satellite communication, Universal Serial Bus (USB), Ethernet communications, communication via fiber-optic cables, coaxial cables, twisted pair cables, and/or any other type of wireless or wired communication. In another embodiment of the invention, the system 800 is a virtualized computing system capable of executing any or all aspects of software and/or application components presented herein on the computing devices 820, 830, 840. In certain aspects, the computer system 800 may be implemented using hardware or a combination of software and hardware, either in a dedicated computing device, or integrated into another entity, or distributed across multiple entities or computing devices.


By way of example, and not limitation, the computing devices 820, 830, 840 are intended to represent various forms of electronic devices including at least a processor and a memory, such as a server, blade server, mainframe, mobile phone, personal digital assistant (PDA), smartphone, desktop computer, notebook computer, tablet computer, workstation, laptop, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the invention described and/or claimed in the present application.


In one embodiment, the computing device 820 includes components such as a processor 860, a system memory 862 having a random access memory (RAM) 864 and a read-only memory (ROM) 866, and a system bus 868 that couples the memory 862 to the processor 860. In another embodiment, the computing device 830 may additionally include components such as a storage device 890 for storing the operating system 892 and one or more application programs 894, a network interface unit 896, and/or an input/output controller 898. Each of the components may be coupled to each other through at least one bus 868. The input/output controller 898 may receive and process input from, or provide output to, a number of other devices 899, including, but not limited to, alphanumeric input devices, mice, electronic styluses, display units, touch screens, signal generation devices (e.g., speakers), or printers.


By way of example, and not limitation, the processor 860 may be a general-purpose microprocessor (e.g., a central processing unit (CPU)), a graphics processing unit (GPU), a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gated or transistor logic, discrete hardware components, or any other suitable entity or combinations thereof that can perform calculations, process instructions for execution, and/or other manipulations of information.


In another implementation, shown as 840 in FIG. 91 multiple processors 860 and/or multiple buses 868 may be used, as appropriate, along with multiple memories 862 of multiple types (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core).


Also, multiple computing devices may be connected, with each device providing portions of the necessary operations (e.g., a server bank, a group of blade servers, or a multi-processor system). Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.


According to various embodiments, the computer system 800 may operate in a networked environment using logical connections to local and/or remote computing devices 820, 830, 840 through a network 810. A computing device 830 may connect to a network 810 through a network interface unit 896 connected to a bus 868. Computing devices may communicate communication media through wired networks, direct-wired connections or wirelessly, such as acoustic, RF, or infrared, through an antenna 897 in communication with the network antenna 812 and the network interface unit 896, which may include digital signal processing circuitry when necessary. The network interface unit 896 may provide for communications under various modes or protocols.


In one or more exemplary aspects, the instructions may be implemented in hardware, software, firmware, or any combinations thereof. A computer readable medium may provide volatile or non-volatile storage for one or more sets of instructions, such as operating systems, data structures, program modules, applications, or other data embodying any one or more of the methodologies or functions described herein. The computer readable medium may include the memory 862, the processor 860, and/or the storage media 890 and may be a single medium or multiple media (e.g., a centralized or distributed computer system) that store the one or more sets of instructions 900. Non-transitory computer readable media includes all computer readable media, with the sole exception being a transitory, propagating signal per se. The instructions 900 may further be transmitted or received over the network 810 via the network interface unit 896 as communication media, which may include a modulated data signal such as a carrier wave or other transport mechanism and includes any deliver media. The term “modulated data signal” means a signal that has one or more of its characteristics changed or set in a manner as to encode information in the signal.


Storage devices 890 and memory 862 include, but are not limited to, volatile and non-volatile media such as cache, RAM, ROM, EPROM, EEPROM, FLASH memory, or other solid state memory technology, discs (e.g., digital versatile discs (DVD), HD-DVD, BLU-RAY, compact disc (CD), or CD-ROM) or other optical storage; magnetic cassettes, magnetic tape, magnetic disk storage, floppy disks, or other magnetic storage devices; or any other medium that can be used to store the computer readable instructions and which can be accessed by the computer system 800.


In one embodiment, the computer system 800 is within a cloud-based network. In one embodiment, the server 850 is a designated physical server for distributed computing devices 820, 830, and 840. In one embodiment, the server 850 is a cloud-based server platform. In one embodiment, the cloud-based server platform hosts serverless functions for distributed computing devices 820, 830, and 840.


In another embodiment, the computer system 800 is within an edge computing network. The server 850 is an edge server, and the database 870 is an edge database. The edge server 850 and the edge database 870 are part of an edge computing platform. In one embodiment, the edge server 850 and the edge database 870 are designated to distributed computing devices 820, 830, and 840. In one embodiment, the edge server 850 and the edge database 870 are not designated for computing devices 820, 830, and 840. The distributed computing devices 820, 830, and 840 are connected to an edge server in the edge computing network based on proximity, availability, latency, bandwidth, and/or other factors.


It is also contemplated that the computer system 800 may not include all of the components shown in FIG. 91 may include other components that are not explicitly shown in FIG. 91 or may utilize an architecture completely different than that shown in FIG. 91. The various illustrative logical blocks, modules, elements, circuits, and algorithms described in connection with the embodiments discussed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application (e.g., arranged in a different order or positioned in a different way), but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.


The above-mentioned examples are provided to serve the purpose of clarifying the aspects of the invention, and it will be apparent to one skilled in the art that they do not serve to limit the scope of the invention. By nature, this invention is highly adjustable, customizable and adaptable. The above-mentioned examples are just some of the many configurations that the mentioned components can take on. All modifications and improvements have been deleted herein for the sake of conciseness and readability but are properly within the scope of the present invention.

Claims
  • 1. A method for color conversion in a multi-primary color system, comprising: providing a color signal corresponding to XYZ coordinates of a color;providing at least four primaries, at least four triads, and at least four XYZ-to-triad matrices, wherein each of the at least four triads includes three of the at least four primaries, wherein each of the at least four XYZ-to-triad matrices corresponds to one of the at least four triads;multiplying the XYZ coordinates by the at least four XYZ-to-triad matrices to determine one or more of the at least four triads in which the XYZ coordinates are located;determining a sum of primary components of the one or more of the at least four triads on a per-component basis;dividing the sum by a number of the one or more of the at least four triads, thereby creating an updated color signal; anddisplaying the updated color signal on at least one display device.
  • 2. The method of claim 1, wherein the at least four primaries are at least five primaries, wherein the at least five primaries include at least four color primaries and a white point, and wherein the at least four triads each include two adjacent color primaries of the at least four color primaries and the white point.
  • 3. The method of claim 1, wherein each of the at least four triads does not contain a primary and its complement.
  • 4. The method of claim 1, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), magenta (M), and yellow (Y), wherein the at least four triads are eight triads, and wherein the eight triads include RGB, CMY, RBM, CGB, RGY, CMB, RMY, and CGY.
  • 5. The method of claim 1, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), magenta (M), and yellow (Y), wherein the at least four triads are five triads, and wherein the five triads include RGB, CMY, RBM, CGB, and RGY.
  • 6. The method of claim 1, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), and yellow (Y), wherein the at least four triads are six triads, and wherein the six triads include RGB, RGY, CGB, RCB, CGY, and CRY.
  • 7. The method of claim 1, wherein the one or more of the at least four triads is not more than two of the at least four triads.
  • 8. The method of claim 1, wherein the color is an out-of-gamut color, further including remapping the out-of-gamut color to an in-gamut color along a straight line between the out-of-gamut color and a white point.
  • 9. The method of claim 1, further including setting all values in a resulting matrix from the multiplying the XYZ coordinates by the at least four XYZ-to-triad matrices to zero if any value in the resulting matrix is negative.
  • 10. The method of claim 1, further including selecting the at least four triads such that a first triad includes a white point, a second triad includes the white point, and no other triads include the white point.
  • 11. The method of claim 1, wherein the at least four primaries includes at least one virtual primary.
  • 12. The method of claim 11, wherein the at least one virtual primary is a virtual magenta primary, a virtual yellow primary, a virtual cyan primary, and/or a white point.
  • 13. A method for color conversion in a multi-primary color system, comprising: providing a color signal corresponding to XYZ coordinates of a color;providing six primaries, eight triads, and eight XYZ-to-triad matrices, wherein each of the eight triads includes three of the six primaries, wherein each of the eight XYZ-to-triad matrices corresponds to one of the eight triads;multiplying the XYZ coordinates by the eight XYZ-to-triad matrices to determine two of the eight triads in which the XYZ coordinates are located;determining a sum of primary components of the two triads on a per-component basis;dividing the sum by two, thereby creating an updated color signal; anddisplaying the updated color signal on at least one display device.
  • 14. The method of claim 13, wherein each of the eight triads does not contain a primary and its complement.
  • 15. The method of claim 13, wherein the six primaries include red (R), green (G), blue (B), cyan (C), magenta (M), and yellow (Y).
  • 16. The method of claim 13, wherein the eight triads include RGB, CMY, RBM, CGB, RGY, CMB, RMY, and CGY.
  • 17. A method for color conversion in a multi-primary color system, comprising: providing a color signal corresponding to XYZ coordinates of a color;providing at least four primaries, at least four triads, and at least four XYZ-to-triad matrices, wherein each of the at least four triads includes three of the at least four primaries, wherein the at least four triads are selected such that a first triad includes a white point, a second triad includes the white point, and no other triads include the white point, wherein each of the at least four XYZ-to-triad matrices corresponds to one of the at least four triads;multiplying the XYZ coordinates by the at least four XYZ-to-triad matrices to determine one or more of the at least four triads in which the XYZ coordinates are located;setting all values in a resulting matrix from the multiplication of the XYZ coordinates and the at least four XYZ-to-triad matrices to zero if any value in the resulting matrix is negative;determining a sum of primary components of the one or more of the at least four triads on a per-component basis;dividing the sum by a number of the one or more of the at least four triads, thereby creating an updated color signal; anddisplaying the updated color signal on at least one display device.
  • 18. The method of claim 17, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), magenta (M), and yellow (Y), wherein the at least four triads are eight triads, and wherein the eight triads include RGB, CMY, RBM, CGB, RGY, CMB, RMY, and CGY.
  • 19. The method of claim 17, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), magenta (M), and yellow (Y), wherein the at least four triads are five triads, and wherein the five triads include RGB, CMY, RBM, CGB, and RGY.
  • 20. The method of claim 17, wherein the at least four primaries include red (R), green (G), blue (B), cyan (C), and yellow (Y), wherein the at least four triads are six triads, and wherein the six triads include RGB, RGY, CGB, RCB, CGY, and CRY.
CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 17/521,380, filed Nov. 8, 2021, which is a continuation of U.S. application Ser. No. 17/345,666, filed Jun. 11, 2021, which is a continuation of U.S. application Ser. No. 17/180,441, filed Feb. 19, 2021, which is a continuation-in-part of U.S. application Ser. No. 17/009,408, filed Sep. 1, 2020, which is a continuation-in-part of U.S. application Ser. No. 16/887,807, filed May 29, 2020, which is a continuation-in-part of U.S. application Ser. No. 16/860,769, filed Apr. 28, 2020, which is a continuation-in-part of U.S. application Ser. No. 16/853,203, filed Apr. 20, 2020, which is a continuation-in-part of U.S. patent application Ser. No. 16/831,157, filed Mar. 26, 2020, which is a continuation of U.S. patent application Ser. No. 16/659,307, filed Oct. 21, 2019, now U.S. Pat. No. 10,607,527, which is related to and claims priority from U.S. Provisional Patent Application No. 62/876,878, filed Jul. 22, 2019, U.S. Provisional Patent Application No. 62/847,630, filed May 14, 2019, U.S. Provisional Patent Application No. 62/805,705, filed Feb. 14, 2019, and U.S. Provisional Patent Application No. 62/750,673, filed Oct. 25, 2018, each of which is incorporated herein by reference in its entirety.

US Referenced Citations (263)
Number Name Date Kind
3481258 Mori et al. Dec 1969 A
3971065 Bayer Jul 1976 A
4489349 Okada Dec 1984 A
5216522 Ishikawa Jun 1993 A
5479189 Chesavage et al. Dec 1995 A
5844629 Murray et al. Dec 1998 A
5937089 Kobayashi Aug 1999 A
6118441 Kobayashi et al. Sep 2000 A
6160579 Shiraiwa et al. Dec 2000 A
6175644 Scola et al. Jan 2001 B1
6539110 Myers Mar 2003 B2
6570584 Cok et al. May 2003 B1
6769772 Roddy et al. Aug 2004 B2
6870523 Ben-David et al. Mar 2005 B1
6897876 Murdoch et al. May 2005 B2
6962414 Roth Nov 2005 B2
7077524 Roth Jul 2006 B2
7113152 Ben-David et al. Sep 2006 B2
7242478 Dombrowski et al. Jul 2007 B1
7535433 Ledebohm et al. May 2009 B2
7627167 Roth et al. Dec 2009 B2
7787702 Elliott et al. Aug 2010 B2
7812797 Joo et al. Oct 2010 B2
7876341 Credelle et al. Jan 2011 B2
7916939 Roth et al. Mar 2011 B2
7929193 Roth Apr 2011 B2
7948507 Okada et al. May 2011 B2
7990393 Higgins Aug 2011 B2
8018476 Credelle et al. Sep 2011 B2
8044967 Belik et al. Oct 2011 B2
8063862 Hisatake Nov 2011 B2
8081835 Elliott et al. Dec 2011 B2
8228275 Langendijk Jul 2012 B2
8237751 Belik Aug 2012 B2
8248430 Hekstra et al. Aug 2012 B2
8310498 Ben-Chorin et al. Nov 2012 B2
8339344 Okada et al. Dec 2012 B2
8390652 Nakanishi et al. Mar 2013 B2
8405675 Peng et al. Mar 2013 B2
8405687 Miyazaki et al. Mar 2013 B2
8411022 Elliott et al. Apr 2013 B2
8436875 Ueki et al. May 2013 B2
8451405 Roth et al. May 2013 B2
8599226 Ben-Chorin et al. Dec 2013 B2
8654050 Ueki et al. Feb 2014 B2
8698856 Roth et al. Apr 2014 B2
8717348 Basile et al. May 2014 B2
8773340 Tomizawa et al. Jul 2014 B2
8837562 Betts et al. Sep 2014 B1
8885120 Ben-David et al. Nov 2014 B2
8911291 Liu Dec 2014 B2
8922603 Yonemaru et al. Dec 2014 B2
8979272 Roth Mar 2015 B2
8982038 Higgins et al. Mar 2015 B2
8982144 Park Mar 2015 B2
9035969 Ivashin et al. May 2015 B2
9041724 Zeng et al. May 2015 B2
9091884 Kim et al. Jul 2015 B2
9099046 Whitehead et al. Aug 2015 B2
9117711 Suzuki et al. Aug 2015 B2
9147362 Znamenskiy et al. Sep 2015 B2
9280940 Chen et al. Mar 2016 B2
9307616 Robinson et al. Apr 2016 B2
9311841 Nakagawa et al. Apr 2016 B2
9317939 Yang et al. Apr 2016 B2
9318075 Kim et al. Apr 2016 B2
9324286 Mori et al. Apr 2016 B2
9373305 Kawaguchi Jun 2016 B2
9412316 Ben-David et al. Aug 2016 B2
9430974 Roth Aug 2016 B2
9430986 Ito et al. Aug 2016 B2
9583054 Nakagawa et al. Feb 2017 B2
9607576 Buckley Mar 2017 B2
9659517 Wu May 2017 B2
9697761 Li Jul 2017 B2
9886932 Yoshida et al. Feb 2018 B2
9911176 Griffin et al. Mar 2018 B2
9911387 Kim et al. Mar 2018 B2
9953590 Ben-David et al. Apr 2018 B2
9966014 Yashiki May 2018 B2
10079963 Liu et al. Sep 2018 B1
10162590 Ritter Dec 2018 B2
10185533 Kim et al. Jan 2019 B2
10222263 Shigezane Mar 2019 B2
10289205 Sumter et al. May 2019 B1
10504437 Zhang et al. Dec 2019 B2
10607527 Mandle Mar 2020 B1
10832611 Xi et al. Nov 2020 B2
10847498 Nakamura et al. Nov 2020 B2
10896635 Xi et al. Jan 2021 B2
20010021260 Chung et al. Sep 2001 A1
20020130957 Gallagher et al. Sep 2002 A1
20030137610 Ohsawa Jul 2003 A1
20040017379 Ajito et al. Jan 2004 A1
20040070736 Roddy et al. Apr 2004 A1
20040070834 Hendrix et al. Apr 2004 A1
20040111627 Evans et al. Jun 2004 A1
20040145599 Taoka et al. Jul 2004 A1
20040196381 Matsuzaka Oct 2004 A1
20040263638 Ohsawa et al. Dec 2004 A1
20050083344 Higgins Apr 2005 A1
20050083352 Higgins Apr 2005 A1
20050099426 Primerano et al. May 2005 A1
20050134808 Pettitt Jun 2005 A1
20050190967 Ok et al. Sep 2005 A1
20050244051 Shiohara Nov 2005 A1
20050275806 Roth Dec 2005 A1
20050280851 Kim et al. Dec 2005 A1
20060285217 Roth Dec 2006 A1
20070001994 Roth Jan 2007 A1
20070035752 Evans et al. Feb 2007 A1
20070052861 Osawa et al. Mar 2007 A1
20070070086 Elliott et al. Mar 2007 A1
20070118821 Yee et al. May 2007 A1
20070160057 Kimn et al. Jul 2007 A1
20070165946 Hong et al. Jul 2007 A1
20070176948 Ben-David et al. Aug 2007 A1
20070189266 Izumi et al. Aug 2007 A1
20070199039 Diroo et al. Aug 2007 A1
20070220525 State et al. Sep 2007 A1
20070268205 Sasaguri Nov 2007 A1
20080012805 Duncan et al. Jan 2008 A1
20080018506 Raveendran Jan 2008 A1
20080024410 Ben-David et al. Jan 2008 A1
20080158097 Guo Jul 2008 A1
20080204469 Jaspers Aug 2008 A1
20080252797 Hamer et al. Oct 2008 A1
20080303927 Khanh Dec 2008 A1
20090058777 Cheng Mar 2009 A1
20090085924 Ben-Chorin et al. Apr 2009 A1
20090091582 Ajito et al. Apr 2009 A1
20090096815 Fukuda et al. Apr 2009 A1
20090116085 Yoshimura et al. May 2009 A1
20090220120 Yen et al. Sep 2009 A1
20090313669 Boudani et al. Dec 2009 A1
20100103200 Langendijk Apr 2010 A1
20100118047 Ajito et al. May 2010 A1
20100188437 Itoh et al. Jul 2010 A1
20100214315 Nguyen et al. Aug 2010 A1
20100225806 Hsu et al. Sep 2010 A1
20100254452 Unger Oct 2010 A1
20100265283 Langendijk et al. Oct 2010 A1
20110080520 Tomizawa et al. Apr 2011 A1
20110148910 Botzas et al. Jun 2011 A1
20110188744 Sun Aug 2011 A1
20110255608 Kim et al. Oct 2011 A1
20110273493 Yoshiga et al. Nov 2011 A1
20110303750 Wang Dec 2011 A1
20110316973 Miller et al. Dec 2011 A1
20120117365 Navy et al. May 2012 A1
20120242719 Klompenhouwer et al. Sep 2012 A1
20120287146 Elliott et al. Nov 2012 A1
20120287168 Botzas et al. Nov 2012 A1
20120299946 Kim et al. Nov 2012 A1
20120320036 Kang Dec 2012 A1
20130010187 Yamashita Jan 2013 A1
20130057567 Frank et al. Mar 2013 A1
20130063573 Erinjippurath Mar 2013 A1
20130258147 Kachi Oct 2013 A1
20130278993 Heikenfeld et al. Oct 2013 A1
20140022410 Gish et al. Jan 2014 A1
20140028698 Maier et al. Jan 2014 A1
20140028699 Kurtz et al. Jan 2014 A1
20140043371 Langendijk et al. Feb 2014 A1
20140092105 Guttag et al. Apr 2014 A1
20140218511 Lee Aug 2014 A1
20140218610 Chujoh et al. Aug 2014 A1
20140225912 Govil et al. Aug 2014 A1
20140341272 Miller et al. Nov 2014 A1
20150009360 Takasumi et al. Jan 2015 A1
20150022685 Gish et al. Jan 2015 A1
20150062124 Goel et al. Mar 2015 A1
20150123083 Xi et al. May 2015 A1
20150189329 Wada Jul 2015 A1
20150256778 Kusaka Sep 2015 A1
20150339996 Schuck et al. Nov 2015 A1
20160005349 Atkins et al. Jan 2016 A1
20160117993 Buckley et al. Apr 2016 A1
20160125580 He May 2016 A1
20160189399 Liu et al. Jun 2016 A1
20160205367 Wallace et al. Jul 2016 A1
20160300538 Lee et al. Oct 2016 A1
20160360214 Rojals et al. Dec 2016 A1
20170006273 Borer et al. Jan 2017 A1
20170026646 Minoo et al. Jan 2017 A1
20170054989 Stessen et al. Feb 2017 A1
20170085878 Rojals et al. Mar 2017 A1
20170085896 Ramasubramonian et al. Mar 2017 A1
20170140556 Safaee-Rad et al. May 2017 A1
20170147516 De May 2017 A1
20170153382 Wang et al. Jun 2017 A1
20170178277 Sharma et al. Jun 2017 A1
20170185596 Spirer Jun 2017 A1
20170200309 Qian et al. Jul 2017 A1
20170201751 Seo Jul 2017 A1
20170285307 Kamm et al. Oct 2017 A1
20170339418 Ramasubramonian et al. Nov 2017 A1
20180007374 Atkins et al. Jan 2018 A1
20180063500 Rusanovskyy et al. Mar 2018 A1
20180084024 Xie et al. Mar 2018 A1
20180146533 Goodman et al. May 2018 A1
20180160126 Andersson et al. Jun 2018 A1
20180160127 Ström et al. Jun 2018 A1
20180198754 Kielhofner et al. Jul 2018 A1
20180224333 Sakakibara et al. Aug 2018 A1
20180308410 Chen Oct 2018 A1
20180308450 Appu et al. Oct 2018 A1
20180324481 Bordes et al. Nov 2018 A1
20180348574 Lin et al. Dec 2018 A1
20180350322 Marcu et al. Dec 2018 A1
20180376047 Li et al. Dec 2018 A1
20190043179 Lucas et al. Feb 2019 A1
20190069768 Chiba Mar 2019 A1
20190098317 Lu et al. Mar 2019 A1
20190130519 Hu et al. May 2019 A1
20190141291 McNelley et al. May 2019 A1
20190147832 Kim et al. May 2019 A1
20190158894 Lee et al. May 2019 A1
20190172415 Davis et al. Jun 2019 A1
20190189084 Anderson et al. Jun 2019 A1
20190265552 Shiomi Aug 2019 A1
20190356881 Huang et al. Nov 2019 A1
20200045340 Chen et al. Feb 2020 A1
20200105221 Marcu et al. Apr 2020 A1
20200105657 Lee et al. Apr 2020 A1
20200128220 Bao et al. Apr 2020 A1
20200144327 Lee et al. May 2020 A1
20200209678 Hsu et al. Jul 2020 A1
20200226965 Xi et al. Jul 2020 A1
20200226967 Mandle Jul 2020 A1
20200251039 Mandle et al. Aug 2020 A1
20200258442 Mandle et al. Aug 2020 A1
20200294439 Mandle et al. Sep 2020 A1
20200402441 Mandle Dec 2020 A1
20210020094 Bogdanowicz et al. Jan 2021 A1
20210027692 Mandle et al. Jan 2021 A1
20210027693 Mandle et al. Jan 2021 A1
20210035486 Mandle Feb 2021 A1
20210035487 Bogdanowicz et al. Feb 2021 A1
20210043127 Bogdanowicz et al. Feb 2021 A1
20210097922 Mandle Apr 2021 A1
20210097923 Mandle Apr 2021 A1
20210097943 Wyatt Apr 2021 A1
20210174729 Mandle Jun 2021 A1
20210209990 Bogdanowicz et al. Jul 2021 A1
20210233454 Mandle et al. Jul 2021 A1
20210272500 Mandle Sep 2021 A1
20210280118 Mandle et al. Sep 2021 A1
20210295762 Mandle et al. Sep 2021 A1
20210304656 Mandle et al. Sep 2021 A1
20210304657 Mandle Sep 2021 A1
20210327330 Bogdanowicz et al. Oct 2021 A1
20210335188 Mandle Oct 2021 A1
20210343218 Bogdanowicz et al. Nov 2021 A1
20210343219 Bogdanowicz et al. Nov 2021 A1
20210390899 Mandle Dec 2021 A1
20220051605 Bogdanowicz et al. Feb 2022 A1
20220059008 Bogdanowicz et al. Feb 2022 A1
20220165198 Bogdanowicz et al. May 2022 A1
20220165199 Mandle et al. May 2022 A1
20220172663 Bogdanowicz et al. Jun 2022 A1
20220215787 Mandle et al. Jul 2022 A1
20220254295 Mandle et al. Aug 2022 A1
Foreign Referenced Citations (3)
Number Date Country
2003315529 Nov 2003 JP
2005260318 Sep 2005 JP
2017184784 Oct 2017 WO
Non-Patent Literature Citations (38)
Entry
“Affordable Colour Grading Monitors”, downloaded@https://jonnyelwyn.co.uk/film-and-video-editing/affordable-colour-grading-monitors-2/, posted on Apr. 4, 2015 (Year: 2015).
“Color Temperature Scale”, downloaded@https://web.archive.org/web/20170711064110/https://www.atlantalightbulbs.com/color-temperature-scale/, available online Jul. 2017 (Year: 2017).
Ajito, T., Obi, T., Yamaguchi, M., & Ohyama, N. (2000). Expanded color gamut reproduced by six-primary projection display. In Projection Displays 2000: Sixth in a Series (vol. 3954, pp. 130-138). International Society for Optics and Photonics. https://doi.org/10.1117/12.383364.
Anzagira “Color filter array patterns for small-pixel image sensors with substantial cross talk”, J. Opt. Soc. Am. A vol. 32, No. 1, Jan. 2015 (Year: 2015).
Baylor University, U.S. Appl. No. 17/516,143, Non-Provisional Patent Application; Entire Document.
Brill, M. H., & Larimer, J. (2005a). Avoiding on-screen metamerism in N-primary displays. Journal of the Society for Information Display, 13(6), 509-516. https://doi.org/10.1889/1.1974003.
Brill, M. H., & Larimer, J. (2005b). Color-matching issues in multi-primary displays. SID Conference Record of the International Display Research Conference, 119-122.
Centore, et al., Extensible Multi-Primary Control Sequences, Oct. 2011.
Chan, C.-C., Wei, G.-F., Hui, C.-K., & Cheng, S.-W. (2007). Development of multi-primary color LCD.
Chang, C.-K. (2013). The Effect on Gamut Expansion of Real Object Colors in Multi-primary Display. Retrieved from http://www.color.org/events/chiba/Chang.pdf.
Charles Poynton “Digital Video and HD Algorithms and Interfaces” ISBN 978-0-12-391926-7, 2012 (Year: 2012).
Colorspace.Rgb, downloaded@https://web.archive.org/ web/20171113045313/ https://developer.android.com/reference/ android/graphics/ ColorSpace.Rgb.html, archived on Nov. 13, 2017 (Year: 2017).
Consumer Technology Association CTA Standard CTA-861-G (Nov. 2016). A DTV Profile for Uncompressed High Speed Digital Interfaces including errata dated Sep. 13, 2017 and Nov. 28, 2017.
CYGM filter, Wikipedia published on Dec. 14, 2017, downloaded@https://en.wikipedia.org/w/index.php?title=CYGM_filter&oldid=815388285 (Year: 2017).
De Vaan, A. T. S. M. (2007). Competing display technologies for the best image performance. Journal of the Society for Information Display, 15(9), 657-666. https://doi.org/10.1889/1.2785199.
Decarlo, Blog “4:4:4 vs 4:2:0: Which Chroma Subsampling Do You Need for Your Video Application?”, posted on May 2, 2014 @ https://www.semiconductorstore.com/blog/2014/444-vs-420-chroma-subsampling/667/ (Year: 2014).
Display Daily WCG Standards Needed for Multi-Primary Displays, Matthew Brennesholtz. https://www.displaydaily.com/article/display-daily/wcg-standards-needed-for-multi-primary-displays.
Dolby Labs white paper V7.2 What is ICtCp? https://www.dolby.com/us/en/technologies/dolby-vision/ICtCp-white-paper.pdf.
Eliav, D., Roth, S., & Chorin, M. B. (2006). Application driven design of multi-primary displays.
Hsieh, Y.-F., Chuang, M.-C., Ou-Yang, M., Huang, S.-W., Li, J., & Kuo, Y.-T. (2008). Establish a six-primary color display without pixel-distortion and brightness loss. In Emerging Liquid Crystal Technologies III (vol. 6911, p. 69110R). International Society for Optics and Photonics. https://doi.org/10.1117/12.762944.
Jansen, “The Pointer's Gamut—The Coverage of Real Surface Colors by RGB Color Spaces and Wide Gamut Displays”, TFT Central, downloaded @https://tftcentral.co.uk/articles/pointers_gamut, posted on Feb. 19, 2014 (Year: 2014).
Kerr, The CIE XYZ and xyY Color Space, downloaded @ https://graphics.stanford.edu/courses/cs148-10-summer/docs/2010-kerr--cie_xyz.pdf, Mar. 21, 2010 (Year: 2010).
Langendijk, E. H. A., Belik, O., Budzelaar, F., & Vossen, F. (2007). Dynamic Wide-Color-Gamut RGBW Display. SID Symposium Digest of Technical Papers, 38(1), 1458-1461. https://doi.org/10.1889/1.2785590.
Li, Y., Majumder, A., Lu, D., & Gopi, M. (2015). Content-Independent Multi-Spectral Display Using Superimposed Projections. Computer Graphics Forum, 34(2), 337-348. https://doi.org/10.1111/cgf.12564.
Lovetskiy et al. “Numerical modeling of color perception of optical radiation”, Mathematical Modelling and Geometry, vol. 6, No. 1, pp .21-36, 2018 (Year: 2018).
Nagase, A., Kagawa, S., Someya, J., Kuwata, M., Sasagawa, T., Sugiura, H., & Miyata, A. (2007). Development of PTV Using Six-Primary-Color Display Technology. SID Symposium Digest of Technical Papers, 38(1), 27-30. https://doi.org/10.1889/1.2785217.
Noble, The Technology Inside the New Kodak Professional DCS 620x Digital Camera High-Quality Images at Extremely High ISO Settings, available online @ https://web.archive.org/web/20160303171931/http://www.modernimaging.com/Kodak_DCS-620x_ Technology.htm on Mar. 3, 2016 (Year: 2016).
Pascale, A Review of RGB Color Spaces, downloaded @https://www.babelcolor.com/index_htm_files/A%20review%20of%20RGB%20color%20spaces.pdf, 2003 (Year: 2003).
Pointer, M. R. (1980), The Gamut of Real Surface Colours. Color Res. Appl., 5: 145-155. doi: 10.1002/col.5080050308.
Poynton, Chroma subsampling notation, downloaded @ https://poynton.ca/PDFs/Chroma_subsampling_notation.pdf, published on Jan. 24, 2008 (Year: 2008).
RFC4566, SOP: Session Description Protocol, published in Jul. 2006 (Year: 2006).
Samsung You tube video “Quantum Dot Technology on Samsung monitors”, posted on Mar. 24, 2017 (Year: 2017).
Song et al. Studies on different primaries for a nearly-ultimate gamut in a laser display, Optics Express, vol. 36, No. 18, Sep. 3, 2018 (Year: 2018).
Susstrunk, “Computing Chromatic Adaptation”, PHD thesis, Univ. of East Anglia Norwich, Jul. 2005 (Year: 2005).
Toda et al. “High Dynamic Range Rendering for YUV Images with a constraint on Perceptual Chroma Preservation”, CIP 2009 (Year: 2009).
Tremeau, A., Tominaga, S., & Plataniotis, K. N. (2008). Color in Image and Video Processing: Most Recent Trends and Future Research Directions. EURASIP Journal on Image and Video Processing, 2008, 1-26. https://doi.org/10.1155/2008/581371.
Urban, “How Chroma Subsampling Works”, downloaded @ https://blog.biamp.com/how-chroma-subsampling-works/, posted on Sep. 14, 2017 (Year: 2017).
Xilinx, Implementing Smpte Sdi Interfaces with 7 Series GTX transceivers, 2018 (Year: 2018).
Related Publications (1)
Number Date Country
20230093757 A1 Mar 2023 US
Provisional Applications (4)
Number Date Country
62876878 Jul 2019 US
62847630 May 2019 US
62805705 Feb 2019 US
62750673 Oct 2018 US
Continuations (4)
Number Date Country
Parent 17521380 Nov 2021 US
Child 17980151 US
Parent 17345666 Jun 2021 US
Child 17521380 US
Parent 17180441 Feb 2021 US
Child 17345666 US
Parent 16659307 Oct 2019 US
Child 16831157 US
Continuation in Parts (5)
Number Date Country
Parent 17009408 Sep 2020 US
Child 17180441 US
Parent 16887807 May 2020 US
Child 17009408 US
Parent 16860769 Apr 2020 US
Child 16887807 US
Parent 16853203 Apr 2020 US
Child 16860769 US
Parent 16831157 Mar 2020 US
Child 16853203 US