Method and system for improving compressed image chroma information
11315216 · 2022-04-26
Assignee
Inventors
Cpc classification
H04N19/126
ELECTRICITY
H04N7/12
ELECTRICITY
H04N19/167
ELECTRICITY
G06T3/4015
PHYSICS
International classification
H04N7/12
ELECTRICITY
G06T3/40
PHYSICS
H04N19/126
ELECTRICITY
H04N19/167
ELECTRICITY
Abstract
Methods, systems, and computer programs for improving compressed image chroma information. In one aspect of the invention, a resolution for a red color component of a color video image is used that is higher than the resolution for a blue color component of the color video image. Another aspect includes utilizing a lower or higher value of a quantization parameter (QP) for one or more chroma channels as compared to the luminance channel. Another aspect is use of a logarithmic representation of a video image to benefit image coding. Another aspect uses more than two chroma channels to represent a video image.
Claims
1. A method comprising: receiving, at a decoder, a compressed video image comprising a luminance channel (Y), a first chroma channel (V) and a second chroma channel (U); accessing, at the decoder, at least a luminance quantization parameter value; characterized by receiving a first image-region-dependent chroma quantization parameter bias value; utilizing, with the decoder, the luminance quantization parameter value and the first image-region-dependent chroma quantization parameter bias value to determine a first chroma quantization parameter value by adding the first image-region-dependent chroma quantization parameter bias value to the luminance quantization parameter value; and decompressing an image region of the video image using the luminance quantization parameter value and the first chroma quantization parameter value, wherein the first chroma quantization parameter value is less than or equal to a predetermined maximum value, wherein the first chroma quantization parameter value is no less than one, and wherein the first chroma quantization parameter value is determined for the first chroma channel (V).
2. The method of claim 1, further comprising: receiving, at the decoder, a second image-region-dependent chroma quantization parameter bias value; utilizing, with the decoder, the luminance quantization parameter value and the second image-region-dependent chroma quantization parameter bias value to determine a second chroma quantization parameter value by adding the second image-region-dependent chroma quantization parameter bias value to the luminance quantization parameter value; and decompressing the image region of the video image using at least the second chroma quantization parameter value, wherein the second chroma quantization parameter value is determined for the second chroma channel (U), and wherein the first image-region-dependent chroma quantization parameter bias value used to determine the first chroma quantization parameter value for the first chroma channel differs from the second image-region-dependent chroma quantization parameter bias value used to determine the second chroma quantization parameter value for the second chroma channel (U).
3. The method of claim 2, further comprising setting the first chroma quantization parameter value to one if adding the first image-region-dependent chroma quantization parameter bias value to the luminance quantization parameter value is lower than one.
Description
DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5) Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
(6) Improved Color Coding Precision
(7) As the quality of images improves with respect to the attributes of reduced noise, extended dynamic range, and extended color range, human sensitivity to color also increases. In particular, it has been observed that red in an RGB representation (or U in a YUV representation) often requires higher precision and clarity than is commonly used in video compression.
(8) Unless blue is being used for processing (such as blue-screen special effects compositing or image analysis), human sensitivity to the blue-yellow chroma axis, as embodied by either blue or V, is adequately addressed by half resolution sampling horizontally and vertically. Thus, one quarter of the total number of pixels of an image provides sufficient quality for representing the blue or V chroma axis. However, unlike blue and V, one-half resolution coding of red and/or U is sometimes insufficient in quality with respect to large wide-dynamic range displays and projectors.
(9) Thus, an image may be improved by increasing the red resolution for an RGB representation (or the U resolution for a YUV representation) above the resolution used for blue (or V). Using lower resolution for the blue color component means less information needs to be compressed, such as in a motion compensated color video image compression system.
(10) In accordance with the invention, there are three preferred methods of maintaining increased red (or U) resolution with respect to a downfiltered blue (or V) resolution:
(11) 1) Use full resolution for red and/or U;
(12) 2) Use one-half resolution on only one chroma axis, either vertically or horizontally, for red and/or U; or
(13) 3) Use a filtered resolution between full size and one-half, such as ⅔ or ¾, on one or both chroma axes for red and/or U.
(14)
(15) Step 101: In an image compression system utilizing a YUV color space representation, downsize filter the V (=B−Y) channel of an input image to one-half resolution horizontally, and optionally to one-half resolution vertically.
(16) Step 102: Downsize filter the U (=R−Y) channel of the image to a resolution higher than the V (=B−Y) channel, preferably being one of:
(17) a) full resolution;
(18) b) between one-half and full resolution horizontally, but full resolution vertically;
(19) c) between one-half and full resolution horizontally and vertically;
(20) d) between one-half and full resolution vertically, but full resolution horizontally.
(21) Step 103: Compress the YUV image (having luminance Y and the downsize filtered U and V chroma information) using an MPEG-like compression system.
(22) Step 104: Decompress the images into Y, U, and V channels (usually in a different computer).
(23) Step 105: Convert the U and V channels to full resolution, using the appropriate resolution increase (i.e., the reciprocal of the downsize filter factor used in Step 101 above for V and Step 102 above for U).
(24) Step 106: Optionally, convert the YUV picture to an RGB image for viewing, analysis, or further processing.
(25) Differential QP Bias for Chroma
(26) Co-pending U.S. patent application Ser. No. 09/798,346, entitled “High Precision Encoding and Decoding of Video Images” and assigned to the assignee of the present invention (which is hereby incorporated by reference), teaches various aspects of the use of the quantization parameter (QP) during compression. Another aspect of the present invention is a technique for reducing the level of chroma noise that results from any given value of the quantization parameter (QP) used during compression, thereby improving image quality. This is accomplished by utilizing a lower value of QP for the U (=R−Y) channel than for the Y channel. Similarly, the quality of V (=B−Y) may also be improved by utilizing a lower QP value for the V channel than for the Y channel.
(27) A simple method of implementing a reduced chroma QP value is to subtract a constant value from the QP value used for the Y (luminance) channel. Alternatively, a separate constant value (lower than the QP value for Y) might be used for each of U and V. For example, “2” might be subtracted from the QP value for Y to yield the QP value for U, and “1” might be subtracted for the QP value for Y to yield the QP value for V. Any useful value of the amount to subtract can be used, limited only by a minimum value of “1” for the applied QP value.
(28) This method works for constant QP values (variable bit rate). It also works as well for variable QP values (e.g., in both constant and variable bit rate motion compensated compression systems), since the instantaneous QP value can be biased by subtracting a specified difference value from the QP value for Y to yield a QP value for each of U and V.
(29) Further, the range of these differential chroma-biased QP values can be extended using the extended QP range function or lookup, as described in the “High Precision Encoding and Decoding of Video Images” patent application referenced above.
(30) It is necessary to signal the U and V bias values from the encoder to the decoder unless a pre-arranged value is used. These can be specified once, for example, for each session, group of pictures (GOP), frame, or image region.
(31)
(32) Step 201: In an image compression system, reduce the QP value for each of the U and V chroma channels by a selected value (which may be different for each channel).
(33) Step 202: Utilize this reduced QP value for the U and V chroma channel compressions, respectively.
(34) Step 203: Optionally, if variable QP values are used, ensure that the reduced U and V QP value is at least “1”.
(35) Step 204: Unless a pre-set bias is to be used, signal or convey the QP value reduction amount to the decoder as often as it may change (once at a minimum).
(36) Step 205: Decompress (usually in a different computer) the signal using the appropriate QP value for U and V (again ensuring that the reduced QP value is at least “1”).
(37) Step 206: Optionally, view the decompressed images, or use the images for additional processing or analysis.
(38) Another aspect of the invention is a technique useful when higher compression is required. In this aspect, a positive QP bias is applied to the QP value for the Y channel for use with either or both of the U and V chroma channels (preferably checking against a QP maximum value of a compression system, if any). Separate bias can be used for each of the U and V channels. Otherwise, the steps of such an embodiment would be similar to those shown in
(39) Logarithmic Coding of Luminance and Chroma
(40) The paper entitled “The Use of Logarithmic and Density Units for Pixels,” referenced above, describes the benefits of a logarithmic representation for dynamic range. Log representations of a matching dynamic range are somewhat similar to commonly used video transfer functions. Even though similar, the logarithmic representation is more optimal in extensibility, calibration usage, and in orthogonality of color channels than are the various commonly used video representations.
(41) Another aspect of the invention is use of a logarithmic representation to benefit image coding. It has been discovered that logarithmic coding, when feasible, can improve coding efficiency for YUV color space representations of images originally represented as linear RGB pixel values (such as at the sensor of a camera). At other processing steps, a conversion to and from linear representations can be beneficial.
(42) As described in the “High Precision Encoding and Decoding of Video Images” patent application referenced above, chroma crosstalk with luminance is minimized when:
Y log=Log(Wr*R+Wg*G+Wb*B)
U=Log(R)−Y log
V=Log(B)−Y log
where Wr, Wg, and Wb are the linear weightings for the red, green, and blue components of luminance, and where R, G, and B represent a linear light space. These relationships are useful in applying this aspect of the invention.
(43)
(44) Step 301: In an image compression system, perform the following transformation on input (e.g., directly from a video camera) linear R, G, and B pixel values:
Y log=Log(Wr*R+Wg*G+Wb*B)
U=Log(R)−Y log
V=Log(B)−Y log
where Wr, Wg, and Wb are the linear weightings for the red, green, and blue components of luminance.
(45) Step 302: Optionally, reduce the resolution of the U and V chroma channels (as described above).
(46) Step 303: Perform motion-compensated compression on this Y, U, and V representation of the moving image.
(47) Step 304: Decompress the compressed images to restore Y, U, and V color components of the moving image (usually in a different computer).
(48) Step 305: If optional Step 302 was applied, reverse the resolution reduction to restore full U and V resolution.
(49) Step 306: Restore the linear R, G, and B pixel values using the following transformation:
R=anti-log(Y+U)
B=anti-log(Y+V)
G=(anti-log(Y)−Wr*R−Wb*B)/Wg
(50) Step 307: Optionally, convert to other video RGB representations (alternatively, may be done in lieu of Step 306 rather than in addition to Step 306).
(51) Additional Chroma Axes
(52) In extended dynamic range and extended contrast range images, it may be beneficial to augment visible wavelength channels with additional channels of image information, both visible and non-visible.
(53) The range of colors available from any given set of red, green, and blue primaries does not include all possible visible colors. The combining of proportions of red, green, and blue primary colors to create other visible colors such as yellow, orange, cyan, and brown, is a property of the human visual system known as the “metamerism”.
(54) As pointed out in the paper entitled “An Example Representation for Image Color and Dynamic Range which is Scalable, Interoperable, and Extensible”, referenced above, it is possible to add additional color primaries to the three primaries of red, green, and blue. In particular, cyan, magenta, and yellow color primaries help to extend the color gamut beyond the range available from most common red, green, and blue primary values. Further, violet and ultraviolet (which brightens phosphorescent colors) can also be conveyed.
(55) Beyond the visible colors, invisible infrared wavelengths have proven useful in penetrating clouds and haze, and in seeing in the dark. Ultraviolet wavelengths can also be useful for seeing low-amplitude visible image details, such as fingerprints and surface coatings.
(56) Further, even in the visible wavelengths, various materials (e.g., smog and underwater algae) often reduce the amount of contrast or dynamic range of some wavelengths. This is why smog can appear brown, giving a brown tint to all objects in the distance, having reduced the blue contrast and dynamic range. This is also why underwater photography can appear green, blue-green, or blue, since the red end of the visible spectrum is reduced in contrast and dynamic range.
(57) The logarithmic relationships between Y, U, and V, as described above, will optimize the coding of color relationships for visible light.
(58) In this aspect of the invention, additional chroma channels are added to the channels encoding three primary wavelengths, typically embodied by RGB or YUV representations. Further, when using a YUV color space, it is also possible to change the makeup of the Y (luminance) channel to favor the highest amplitude image signals. Thus, for example, the green visible channel might be coded using its own chroma channel, with luminance moving to other wavelength regions. This concept can be extended to where Y luminance is infrared, with red, green, and blue (and perhaps other visible and non-visible primaries) each having their own chroma channels.
(59) In accordance with this aspect of the invention, for each new chroma channel, the following should be determined:
(60) 1) Should the channel be coded differentially from one or more other channels (usually from luminance, such as U=R−Y)?
(61) 2) Should the channel be given full resolution with respect to luminance, or can resolution be reduced without impairing the image quality for a given intended usage?
(62) The determination in 1) is based upon the correlation of each coded channel with other channels. For example, ultraviolet or far-infrared wavelength images may be relatively uncorrelated to visible wavelengths, or to each other. In such a case, these channels might be coded without reference to other channels. However, any visible wavelengths are highly correlated, and thus can almost always benefit from being coded with respect to each other.
(63) Based upon these determinations, a set of image channels can be selected, usually exceeding (or replacing and exceeding) the three primary channels (e.g., YUV). For example, the set of selected image channels may comprise a Y′ luminance channel, and n chroma channels, such as a U′ first chroma channel, a V′ second chroma channel, and an X′ third chroma channel.
(64) Using this example, and applying motion compensated compression, the selected value of Y′ would be coded with full resolution, and the various other chroma channels (U′, V′, X′) would be differentially or independently coded. All channels can utilize the same motion vector and macroblock motion compensation structure as would be used for conventional YUV representations, except that there would be additional channels. Each such channel would utilize an appropriate resolution with respect to Y (as determined in step 2 above). In addition, a QP bias (as described above) can be independently applied to each chroma channel, to ensure that the desired compression chroma quality is achieved.
(65) Even when applied only to visible wavelengths, additional chroma channels can ensure not only extended color range and more accurate color, but also allow additional clarity, detail, and noise fidelity to be applied to such highly visible colors as magenta, orange, yellow, and aqua-cyan. These benefits can be particularly significant for wide-dynamic range and wide-contrast range images.
(66)
(67) Step 401: In an image compression system, determine an optimal luminance representation for an image, selected based upon widest dynamic range and highest resolution, including optional non-visible wavelength image signals.
(68) Step 402: Determine n additional chroma channels to represent the image, where n is at least three.
(69) Step 403: Optionally, for each chroma channel, determine whether it is beneficial to code differentially with respect to luminance and/or one or more other chroma channels.
(70) Step 404: Determine the resolution desired for each chroma channel image signal from an input with respect to the luminance image signal, such resolution being equal to or less than the resolution of the luminance, and optionally apply a resolution reduction.
(71) Step 405: Compress the Y+n chroma image signals using motion compensated compression.
(72) Step 406: Decompress the Y+n chroma images (usually in a different computer).
(73) Step 407: If resolution reduction was applied, restore the original resolutions of the chroma channels.
(74) Step 408: Combine each chroma channel with its differential counterpart, if any, from Step 403 above.
(75) Step 409: Optionally, perform any of the following: a) Convert the chroma channels to a viewing space, such as RGB, or to spaces having more than three primaries, and view as a true-color image; b) Perform the conversion of a) but view as a false-color image (such as mapping infrared to green); c) Use the chroma channels without conversion for processing and/or analysis.
(76) As another option, each chroma channel may have a biased QP value applied (either increasing or decreasing), relative to the QP value used for the luminance channel, to achieve a desired level of quality for each chroma channel (i.e., trading off chroma noise versus higher degree of compression).
(77) Implementation
(78) The invention may be implemented in hardware or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform particular functions. Thus, the invention may be implemented in one or more computer programs executing on one or more programmable computer systems each comprising at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices, in known fashion.
(79) Each such program may be implemented in any desired computer language (including machine, assembly, or high level procedural, logical, or object oriented programming languages) to communicate with a computer system. In any case, the language may be a compiled or interpreted language.
(80) Each such computer program is preferably stored on or downloaded to a storage media or device (e.g., solid state memory or media, or magnetic or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer system to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer system to operate in a specific and predefined manner to perform the functions described herein.
(81) A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, some of the steps described above may be order independent, and thus can be performed in an order different from that described. Accordingly, other embodiments are within the scope of the following claims.