A residual color Transform (rct) technique directly encodes 4:2:0 Red-Green-Blue (RGB) data without data loss prior to compression. After transmission or storage, the coded 4:2:0 RGB data is directly decoded and interpolated to generate missing RGB data prior to display.
|
1. A residual color Transform (rct) coding method for 4:2:0 Red-Green-Blue (RGB) data, said method comprising:
interpolating RGB data to generate at least one missing Green color component to form 4:2:0 RGB data, wherein said interpolating is performed with a device comprising a processor and a memory; and
directly encoding the 4:2:0 RGB-based data without data loss.
9. A video coding system for directly coding 4:2:0 RGB data, said system comprising:
a. a 4:2:0 coder for directly coding 4:2:0 RGB data using an rct coding tool by interpolating RGB data to generate at least one missing Green color component to form 4:2:0 RGB data; and
b. directly encoding the 4:2:0 RGB-based data without data loss;
c. wherein said 4:2:0 coder comprises a processor and a memory.
3. A residual color Transform (rct) coding method for 4:2:0 Red-Green-Blue (RGB) data, said method comprising:
interpolating RGB data to generate at least one missing Green color component to form 4:2:0 RGB data, wherein said interpolating is performed with a device comprising a processor and a memory;
subsampling an 8×8 Green residual to form a single 4×4 Green residual;
converting the 4×4 Green residual, a corresponding 4×4 Red residual and a corresponding 4×4 Blue residual to ycocg-based data;
4×4 transforming the ycocg-based data;
quantizing the 4×4 transformed ycocg-based data to form ycocg coefficients; and
coding the ycocg coefficients into a bitstream.
12. A video coding system for directly coding 4:2:0 RGB data, said system comprising:
a 4:2:0 coder for directly coding 4:2:0 RGB data using an rct coding tool by interpolating RGB data to generate at least one missing Green color component to form 4:2:0 RGB data; and
directly encoding the 4:2:0 RGB-based data;
wherein said 4:2:0 coder comprises a processor and a memory;
a sub-sampler for sub-sampling an 8×8 Green residual to form a single 4×4 Green residual;
a converter for converting the 4×4 Green residual, a corresponding 4×4 Red residual and a corresponding 4×4 Blue residual to ycocg-based data;
a transformer for 4×4 transforming the ycocg-based data;
a quantizer for quantizing the 4×4 transformed ycocg-based data to form ycocg coefficients; and
an entropy coder for coding the ycocg coefficients into a bitstream.
2. The method according to
4. The method according to
dequantizing the ycocg coefficients;
inverse 4×4 transforming the dequantized ycocg coefficients to reconstruct the YCoCb-based data;
converting the ycocg-based data to RGB-based data;
reconstructing 4×4 G residual data;
2×2 up-sampling the 4×4 G residual data to form an 8×8 G residual prediction;
forming a 2nd-level 8×8 Green residual based on a difference between the 8×8 G residual prediction and the 8×8 Green residual;
transforming the 2nd-level 8×8 Green residuals by one of a 4×4 transformation and an 8×8 transformation;
quantizing the transformed 2nd-level 8×8 Green residual to form Green coefficients; and
coding the Green coefficients into the bitstream.
5. The method according to
entropy decoding the bitstream to form ycocg coefficients; de-quantizing the ycocg coefficients;
inverse-transforming the de-quantized ycocg coefficients to form an 8×8 Green residual prediction and 4×4 Red and Blue residuals; and
forming an 8×8 Green residual from the 8×8 Green residual prediction.
6. The method according to
entropy decoding the bitstream to form Green coefficients;
de-quantizing the Green coefficients to form an 8×8 Green residual;
inverse-transforming the dequantized Green coefficients to form a 2nd-level 8×8 Green residual; and
combining the 2nd-level 8×8 Green residual with the 8×8 Green residual prediction to form the 8×8 Green residual.
7. The method according to
directly decoding the encoded 4:2:0 RGB data; and
interpolating the decoded 4:2:0 RGB data for generating at least one of a missing Blue color component and a missing Red color component.
8. The method according to
10. The system according to
11. The system according to
13. The system according to
a dequantizer for dequantizing the ycocg coefficients;
an inverse transformer for inverse 4×4 transforming the dequantized ycocg coefficients to reconstruct the YCoCb-based data;
a converter for converting the ycocg-based data to RGB-based data;
a reconstructor for reconstructing 4×4 G residual data;
an up-sampler for 2×2 up-sampling the 4×4 G residual data to form an 8×8 G residual prediction;
a differencer for forming a 2nd-level 8×8 Green residuals based on a difference between the 8×8 G residual prediction and the 8×8 Green residuals;
a second transformer for transforming the 2nd-level 8×8 Green residuals by one of a 4×4 transformation and an 8×8 transformation; and
a second quantizer for quantizing the transformed 2nd-level 8×8 Green residual to form Green coefficients,
wherein the entropy coder further codes the Green coefficients into the bitstream.
14. The system according to
an entropy decoder for decoding the bitstream to form ycocg coefficients;
a first de-quantizer for de-quantizing the ycocg coefficients;
a first inverse-transformer for inverse-transforming the de-quantized ycocg coefficients to form an 8×8 Green residual prediction and 4×4 Red and Blue residuals; and
a residual former for forming an 8×8 Green residual from the 8×8 Green residual.
15. The system according to
a second de-quantizer for de-quantizing the Green coefficients to form an 8×8 Green residual;
a second inverse-transformer for inverse-transforming the dequantized Green coefficients to form a 2nd-level 8×8 Green residual; and
a combiner for combining the 2nd-level 8×8 Green residual with the 8×8 Green residual prediction to form the 8×8 Green residual.
|
The present patent application is related to U.S. patent application entitled “Video Compression For Raw RGB Format Using Residual Transform,” invented by Shawmin Lei and Shijun Sun, U.S. Pat. Ser. No. 10/907,082, which is filed concurrently herewith and incorporated by reference herein.
1. Field of the Invention
The present invention relates to video coding. In particular, the present invention relates to a system and a method for encoding 4:2:0 Red-Green-Blue (RGB) video data.
2. Description of the Related Art
Residual Color Transform (RCT) is a coding tool for the H.264 High 4:4:4 profile that is intended to be used for efficient coding of Red-Green-Blue-format (RGB-format) video sequences.
The difference between conventional video coding system 100 (
In contrast, the corresponding compression process in conventional video coding system 100 is depicted by functional blocks 102-104. At 102, RGB data is converted into a YCbCr (or YCoCg) format. Intra/inter prediction is performed on the YCbCr-formatted (or YCoCg-formatted) data at 103, and a spatial transform is performed at 104. The corresponding decompression process is depicted by functional blocks 110-112 in which an inverse spatial transform is performed at 110. Intra/inter compensation is performed at 111. Lastly, the YCbCr (or YCoCg) data is transformed to RGB-based data at 112.
The color conversion in RCT at 203 in
The main challenge for RCT, as RCT is applied in practice, does not related to compression, but relates to video capture and display. Moreover, most video-capture and video-display devices currently do not support the RGB format not because extra hardware and software resources are needed internally to convert data from RGB-based data but based on the bandwidth requirements for the 4:4:4 RGB format.
For a single-chip-color-sensor digital video camera, each pixel actually has only one color component.
Consequently, what is needed is a residual color transformation (RCT) coding tool for a 4:2:0 RGB format in which compression is performed directly on 4:2:0 RGB without data loss prior to compression.
The present invention provides a residual color transformation (RCT) coding technique for a 4:2:0 RGB format in which compression is performed directly on 4:2:0 RGB without data loss prior to compression.
The present invention provides a Residual Color Transform (RCT) coding method for 4:2:0 Red-Green-Blue (RGB) data in which RGB data is interpolated to generate at least one missing Green color component to form 4:2:0 RGB data and then directly encoded. According to the present invention, video encoding of the 4:2:0 RGB data encodes the 4:2:0 RGB data without data loss. Additionally, interpolating RGB data includes using a 1:1.5 expansion technique. More specifically, directly encoding the 4:2:0 RGB-based data includes subsampling an 8×8 Green residual to form a single 4×4 Green residual and then converting the 4×4 Green residual, a corresponding 4×4 Red residual and a corresponding 4×4 Blue residual to YCoCg-based data. The YCoCg-based data is 4×4 transformed and quantized to form YCoCg coefficients. The YCoCg coefficients are then coded into a bitstream.
Coding the YCoCg coefficients into the bitstream further includes dequantizing the YCoCg coefficients and inverse 4×4 transforming the dequantized YCoCg coefficients to reconstruct the YCoCb-based data. The YCoCg-based data is converted to RGB-based data to form 4×4 G residual data. The 4×4 G residual data is reconstructed and 2×2 up-sampled to form an 8×8 G residual prediction. A 2nd-level 8×8 Green residual is formed based on a difference between the 8×8 G residual prediction and the 8×8 Green residual. The 2nd-level 8×8 Green residuals is transformed by a 4×4 transformation or an 8×8 transformation and quantized to form Green coefficients. The Green coefficients are then coded into the bitstream. After storage and/or transmission, the encoded 4:2:0 RGB data is directly decoded and interpolating for generating at least one of a missing Blue color component and a missing Red color component prior to display.
The present invention also provides a method of entropy decoding the bitstream to form YCoCg coefficients, de-quantizing the YCoCg coefficients, inverse-transforming the de-quantized YCoCg coefficients to form an 8×8 Green residual prediction and 4×4 Red and Blue residuals, and forming an 8×8 Green residual from the 8×8 Green residual prediction. According to the invention, forming the 8×8 Green residual from the 8×8 Green residual prediction includes entropy decoding the bitstream to form Green coefficients, de-quantizing the Green coefficients to form an 8×8 Green residual, inverse-transforming the dequantized Green coefficients to form a 2nd-level 8×8 Green residual, and combining the 2nd-level 8×8 Green residual with the 8×8 Green residual prediction to form the 8×8 Green residual.
The present invention also provides a video coding system that directly codes 4:2:0 RGB data using a RCT coding tool by interpolating RGB data to generate at least one missing Green color component to form 4:2:0 RGB data and then directly encoding the 4:2:0 RGB-based data. The system video encodes the 4:2:0 RGB data without data loss. The system also directly decodes the encoded 4:2:0 RGB data, and interpolates the decoded 4:2:0 RGB data for generating missing at least one of a Blue color component and a Red color component prior to display.
The system includes a sub-sampler sub-sampling an 8×8 Green residual to form a single 4×4 Green residual, a converter converting the 4×4 Green residual, a corresponding 4×4 Red residual and a corresponding 4×4 Blue residual to YCoCg-based data, a transformer 4×4 transforming the YCoCg-based data, a quantizer quantizing the 4×4 transformed YCoCg-based data to form YCoCg coefficients, and an entropy coder coding the YCoCg coefficients into a bitstream. The system also includes a dequantizer dequantizing the YCoCg coefficients, an inverse transformer inverse 4×4 transforming the dequantized YCoCg coefficients to reconstruct the YCoCb-based data, a converter converting the YCoCg-based data to RGB-based data, a reconstructor reconstructing 4×4 G residual data, an up-sampler 2×2 up-sampling the 4×4 G residual data to form an 8×8 G residual prediction, a differencer forming a 2nd-level 8×8 Green residuals based on a difference between the 8×8 G residual prediction and the 8×8 Green residuals, a second transformer transforming the 2nd-level 8×8 Green residuals by one of a 4×4 transformation and an 8×8 transformation, and a second quantizer quantizing the transformed 2nd-level 8×8 Green residual to form Green coefficients. The entropy coder further codes the Green coefficients into the bitstream.
The present invention also provides a decoder that includes a entropy decoder that entropy decodes the bitstream to form YCoCg coefficients, a first de-quantizer that de-quantizes the YCoCg coefficients, a first inverse-transformer that inverse-transforms the de-quantized YCoCg coefficients to form an 8×8 Green residual prediction and 4×4 Red and Blue residuals, and a residual former that forms an 8×8 Green residual from the 8×8 Green residual prediction. Additionally, the entropy decoder entropy decodes the bitstream to form Green coefficients. The residual former includes a second de-quantizer that de-quantizes the Green coefficients to form an 8×8 Green residual, a second inverse-transformer that inverse-transforms the dequantized Green coefficients to form a 2nd-level 8×8 Green residual, and a combiner that combines the 2nd-level 8×8 Green residual with the 8×8 Green residual prediction to form the 8×8 Green residual.
The present invention is illustrated by way of example and not by limitation in the accompanying figures in which like reference numerals indicate similar elements and in
The present invention provides a Residual Color Transform (RCT) coding tool for 4:2:0 RGB in which compression is performed directly on 4:2:0 RGB without data loss prior to compression.
The encoded 4:2:0 RGB data is then transmitted and/or stored, as depicted by channel/storage 504. The decoding process operates directly on the 4:2:0 RGB data at 505. At 506, interpolation is performed for generating missing Blue and Red color components. The resulting data is RGB displayed at 507.
Interpolation for the Blue and Red color components (functional block 506) is deferred in the present invention until the bitstreams have been decoded. Additionally, it should be noted that the Blue and Red color component interpolation (functional block 506) could be part of a post-processing for video decoding at 505 or part of a preprocessing for RGB display at 507.
The YCoCg coefficients generated at block 608 are dequantized at block 610 and inverse 4×4 transformed at block 611 to reconstruct the YCoCg-based data before being converted to RGB-based data at block 612 to form a reconstructed 4×4 G residual at block 613. The 4×4 G residual is 2×2 up-sampled at block 614 to form an 8×8 G prediction residual at block 615. The up-sampling process at block 614 could be, for example, a duplicative operation. Alternatively, any interpolation filtering technique could be used for block 614. The differences between the 8×8 G residual at block 601 and the 8×8 G residual prediction at block 615 are used to form the second-level 8×8 G residual at block 616. The second-level 8×8 G residual goes through a transformation at 617 and a quantization process at block 618 to form Green (G) coefficients at block 619. The G coefficients are coded into bitstreams by the entropy coder at block 620.
At block 701, a bitstream is entropy decoded by an entropy decoder to form G coefficients at 702 and YCoCg coefficients at 707. The G coefficients are dequantized at 703 and an 8×8 or a 4×4 inverse transform is performed at 704 to form a 2nd-level 8×8 G residual at 705.
The YCoCg coefficients at 707 are dequantized at 708 and 4×4 inverse transformed at 709. At 710 the YCoCg coefficients are transformed to RGB-based data. A reconstructed 4×4 B residual is formed at 711, a reconstructed 4×4 R residual is formed at 712, and a reconstructed 4×4 G residual is formed at 715. The reconstructed 4×4 G residual is up-sampled at 714 to form an 8×8 G residual prediction.
At 706, the two 2nd-level 4×4 G residuals (at 705) are summed with the 8×8 G residual prediction (at 715) to form a reconstructed 8×8 G residuals at 716.
There are several considerations that should be kept in mind when designing a codec for use with the present invention. For example, because the up-sampling process at block 602 and the down-sampling process at block 614 in
Another consideration would be that for coefficient coding, there are four total components that require coding: Y, Co, Cg, and the 2nd-level G. Separate Quantization Parameter (QP) values should be defined for each of the four components. In particular, the QPs for Y and for the 2nd-level G could be different. Coded block patterns (cbp) parameters should similarly be defined for each of the four components. Yet another consideration would be that for G intra prediction, 8×8 prediction modes are preferred; while for R/B, 4×4 intra modes could be used for the 4:2:0 format.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced that are within the scope of the appended claims. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Patent | Priority | Assignee | Title |
10091509, | Oct 06 2014 | Telefonaktiebolaget LM Ericsson (publ) | Coding and deriving quantization parameters |
10262451, | Apr 09 2018 | 8i Limited | View-dependent color compression |
8150178, | Mar 23 2006 | Samsung Electronics Co., Ltd. | Image encoding/decoding method and apparatus |
8170355, | Mar 23 2006 | Samsung Electronics Co., Ltd. | Image encoding/decoding method and apparatus |
8761503, | Mar 23 2006 | Samsung Electronics Co., Ltd. | Image encoding/decoding method and apparatus |
8855432, | Dec 04 2012 | Sony Corporation | Color component predictive method for image coding |
9106936, | Jan 25 2012 | ALTERA CORPORATOPM | Raw format image data processing |
9609362, | Oct 06 2014 | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | Coding and deriving quantization parameters |
Patent | Priority | Assignee | Title |
6975354, | Jun 29 2000 | Texas Instruments Incorporated | Digital still camera color filter array interpolation system and method |
7002627, | Jun 19 2002 | Intellectual Ventures I LLC | Single-step conversion from RGB Bayer pattern to YUV 4:2:0 format |
7139022, | Jun 19 2002 | Intellectual Ventures I LLC | Edge enhancer for RGB-Beyer to YUV 4:2:0 converter with sharpened-Y feedback to U, V transformer |
20030185439, | |||
20060083432, | |||
JP2005160108, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 18 2005 | Sharp Laboratories of America, Inc. | (assignment on the face of the patent) | / | |||
Mar 18 2005 | SUN, SHIJUN | Sharp Laboratories of America, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015800 | /0777 | |
Oct 18 2010 | SHARP LABORATORIES OF AMERICA INC | Sharp Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025150 | /0514 |
Date | Maintenance Fee Events |
Apr 18 2014 | REM: Maintenance Fee Reminder Mailed. |
May 27 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 27 2014 | M1554: Surcharge for Late Payment, Large Entity. |
Oct 24 2014 | ASPN: Payor Number Assigned. |
Apr 23 2018 | REM: Maintenance Fee Reminder Mailed. |
Oct 15 2018 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Sep 07 2013 | 4 years fee payment window open |
Mar 07 2014 | 6 months grace period start (w surcharge) |
Sep 07 2014 | patent expiry (for year 4) |
Sep 07 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 07 2017 | 8 years fee payment window open |
Mar 07 2018 | 6 months grace period start (w surcharge) |
Sep 07 2018 | patent expiry (for year 8) |
Sep 07 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 07 2021 | 12 years fee payment window open |
Mar 07 2022 | 6 months grace period start (w surcharge) |
Sep 07 2022 | patent expiry (for year 12) |
Sep 07 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |