Adaptive color space transform coding
Patent Information
- Authority / Receiving Office
- TW · TW
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2014-04-21
- Publication Date
- 2022-06-16
Smart Images

Figure TWG2TA000863319_001 
Figure TWG2TA000863319_002 
Figure TWG2TA000863319_003
Abstract
Description
[Previous Technology]
[0001] Image data (such as image data contained in a video) may contain a large amount of information related to color, pixel position, and time. To process this large amount of information, it may be necessary to compress or encode the image data without losing too much information from the original video and without increasing the complexity of data compression, which may reduce the speed of image data processing. Encoded image data may need to be decoded later to transform back or restore the original video information. To encode an image, pixel color data can first be converted to color data in an appropriate color space coordinate system. Then, the converted data is encoded. For example, image data may have original pixel color data in the Red, Green, Blue (RGB) color space coordinate system. To encode the image data, the original pixel color data in the RGB color space can be converted to color data in the YCbCr color space coordinate system by separating the lightness component and the chroma component. Then, the color data in the YCbCr color space coordinate system can be encoded. By doing so, redundant information that may exist between the original three colors can be compressed by removing redundancy during color space conversion. Additional redundancy in image data can be removed during the encoding of converted image data by performing spatial and temporal prediction, followed by additional encoding of any remaining residual data to the desired extent, and entropy encoding of data within individual frames at a given point in time and / or data over the duration of the video sequence. Spatial prediction can predict image data within a single frame in a timely manner to eliminate redundant information between different pixels within the same frame. Temporal prediction can predict image data over the duration of the video sequence to eliminate redundant information between different frames. Residual images can be generated from the difference between unencoded image data and predicted image data. Some color space formats, such as RGB 4:4:4, can be less efficient for native coding because different color planes may not have been effectively decorrelated. That is, redundant information can exist between different components that may not have been removed during encoding, resulting in reduced coding efficiency relative to alternative color spaces. On the other hand, encoding this material in alternative color spaces such as YUV 4:4:4, YCoCg, and YCoCg-R 4:4:4 may be undesirable in some applications due to the color conversion that must be performed outside the code loop and the potential losses that may be introduced through color conversion. Therefore, there is a need for improved methods to efficiently convert and encode image data.
Implementation Method
[0003] Priority Claim This application claims priority to U.S. Patent Application No. 13 / 940,025, filed July 11, 2013, a partial continuation of U.S. Patent Application No. 13 / 905,889, filed May 30, 2013, the entire contents of which are incorporated herein by reference. According to one embodiment illustrated in FIG. 1, system 100 may include an analyzer 130, a selectable residual converter 160, and an encoder 170. The analyzer 130 may analyze a current image region in input video 110 to select a conversion. The selectable residual converter 160 may be controlled by the analyzer 130 to perform a selectable conversion on residual images generated from a previous image region and a predicted current image region to produce a converted residual image. The encoder 170 may encode the converted residual image to produce output data 190. The analyzer 130 can control the encoder 170 to encode information to identify selectable transitions and indicate that the selectable transition of the current image region differs from the transition of a previous image region of the input video. Depending on the situation, the system 100 may include a frame buffer 120 to store information from the input video 110, such as previously processed image data. This data in the frame buffer 120 can be used by inter-frame prediction 150, controlled by the analyzer 130 to perform temporal prediction, i.e., generating predicted image data for the current image region based on data from previous frames. Alternatively, this data in the frame buffer 120 can be used by intra-frame prediction 152, controlled by the analyzer 130 to perform spatial prediction, i.e., generating predicted image data for the current image region based on data from another part of the current frame. Depending on the situation, the analyzer 130 may perform its analysis based on the data stored in the frame buffer 120. The predicted image region generated by inter-frame prediction 150 and / or intra-frame prediction 152 can be combined (or subtracted from) the current image region of the input video 110 by integrator 140 to generate a residual image. According to one embodiment, the current image region can be one of a frame, a tile, and a code tree structure unit. Selectable transformations may include color space transformations. Encoder 170 may include an entropy encoder. Identifying the encoded information of selectable transformations can specify coefficients for selectable inverse transformations. The encoded information of selectable transformations may be contained in one of a sequence parameter set, an image parameter set, and a tile header before the encoded residual image data of the current image region. Encoder 170 may include a converter 172 and / or a quantizer 174, which can be controlled by analyzer 130 to perform quantization. The analyzer 130 can select and change the selectable conversion of the selectable residual converter 160 and accordingly change (e.g.) the parameters of inter-frame prediction 150, intra-frame prediction 152 and encoder 170 to optimize for data encoding, data decoding, encoded data size, error rate and / or system resources required for encoding or decoding.The next-generation High Efficiency Video Encoding (HEVC) standard introduces several new video encoding tools in an effort to improve video encoding efficiency compared to previous video encoding standards and technologies (such as MPEG-2, MPEG-4 Part 2, MPEG-4 AVC / H.264, VC1, and VP8). The new standard supports encoding YUV 4:2:0 8- or 10-bit material using well-defined profiles (e.g., master profile, master 10 profile, and master still image profile). Significant attention is being paid to developing formats that support higher (greater than 10 bits) sample precision (bit depth) and different color sampling formats and color spaces (including YUV or RGB 4:4:4) in professional and consumer applications such as cinema, capture, video editing, archiving, and gaming, particularly for screen content compression and sharing. The encoding principle of higher color sampling formats / spaces can be similar to that of formats with lower sampling precision (i.e., 4:2:0 YUV) to properly handle the resolution difference of chroma components. One of the color components can be perceived as equivalent to the luminance component in 4:2:0 YUV encoding, while the remaining color components can be treated similarly as chroma components, while simultaneously addressing the higher resolution. That is, prediction tools such as in-frame prediction and motion compensation need to address the increase in resolution, and conversion and quantization procedures also need to handle the additional residual data of the color components. Similarly, other procedures such as entropy coding, deblocking, and sample adaptability shift (SAO) may need to be extended to handle the increase in video data. Alternatively, all color components can be separately encoded into separate monochrome images, where each color component serves as luminance information during the encoding or decoding process. To improve coding performance, additional color space conversion can be performed on the residual data, which can lead to better decorrelation (lower redundancy) between all color components. Selectable color space conversion can be applied to dequantized (inverse quantized) and inverse conversion residual data using an adaptively derived color space conversion matrix. For example, the color conversion matrix can be derived using previously recovered image data (such as image data to the left or above the current conversion unit or image data from conversion units in a previous frame). This derivation may involve normalizing the reference samples in each color plane by subtracting the average of the reference samples in each color plane and by calculating and normalizing the covariance matrix across all color planes. This approach can achieve some "regional" coding performance benefits without adding any new communication overhead to the HEVC specification. However, this approach can add complexity to the derived conversion parameters in both the encoder and decoder. To simplify adaptive color conversion in video encoding and decoding, color conversion is applied only to the residual data. According to the invention, additional color conversions can be selected and communicated by the encoder, and the decoder can select and perform corresponding inverse color conversions based on the communication from the decoded encoded data.In detail, one or more color conversions can be implicitly or explicitly communicated at different levels within a codec such as HEVC. For example, the encoder can implicitly communicate known color conversions from the RGB color space, such as conversions on finite or full-range YUV Rec.709, Rec.2020, or Rec.601 and YcoCg. The encoder can explicitly communicate color conversions by communicating or specifying all inverse color conversion coefficients with predefined precision (e.g., by listing the conversion coefficients or their relationships in several parts of the encoded data). Color conversions, including type, parameters, and coefficients, can be communicated or specified in the Sequence Parameter Set (SPS) NALU, Picture Parameter Set (PPS), and / or tile header. Communication within the Write Tree Unit (CTU) is also possible, although it may require an additional bit depending on the bit rate (which may be less than ideal). If this transformation information is specified for different levels of a video sequence (i.e., sequences, frames, and pixel blocks of a CTU), the transformation can be predicted within the hierarchy of these elements. That is, transformations in the PPS can be predicted from transformations defined in the SPS, and transformations in the tile header can be predicted from transformations in the PPS and / or SPS. New syntax elements and units can be defined and used to allow this prediction of transformations between different levels of video sequence hierarchy, including predictions or non-predictions of transformations from the specified transformation or higher-level transformations, as well as predictions or non-predictions for the precision of the transformation coefficients and the coefficients themselves. The derivation of explicitly defined color transformations can be based on available data, such as sample data from the entire sequence, image, tile, or CTU. The encoder can select or choose to use data corresponding to the current pixel sample (if available), or use data from previously encoded frames or units. Principal component analysis methods (e.g., covariance methods, iterative methods, nonlinear iterative partial least squares, etc.) can be used to derive transformation coefficients. The system can instruct that only a single conversion applies to the entire sequence, thus disallowing any changes to color conversions within any sub-component of the sequence (i.e., within an image, tile, CTU, or conversion unit (TU)) via communication or semantics (i.e., by means of the codec or configuration file / level enforcement). Similar constraints can be enforced at lower levels, i.e., within images, tiles, or CTUs. However, it is also possible for the system to allow switching of color conversions within a sequence, image, tile, or even CTU. Switching of color conversions for each image and tile can be done by communicating new color conversion parameters for each new data block, which modify the conversion parameters of higher levels or previous blocks. Additional conversion parameters can be communicated at lower levels, effectively allowing switching of color conversions for the entire CTU, write unit (CU), or even TU. However, this communication can consume a significant number of bits in the resulting encoded data stream, thus increasing the data stream size. Alternatively, color conversion can be derived based on multiple predefined or signaled conditions in the bitstream.In detail, specific color transitions can be pre-assigned to specific transition block sizes, code unit sizes, or prediction modes (e.g., in-frame to out-of-frame). For example, assuming that the transition units for luminance and chrominance data are aligned for a specific video sequence, if the luminance transition size to be used is 16×16, then color transition A is used; if an 8×8 luminance transition is used, then color transition B is used; and for 32×32 or 4×4 transitions, no color transition is applied. If the transition units for luminance and chrominance data are misaligned, alternative but similar methods derived from predefined conditions of the color transition can be used to resolve the misalignment. The system can buffer or cache several predefined color transitions along with associated processing algorithms during encoding or decoding, allowing the system to store a codebook that can (e.g.) look up predefined color transitions via a lookup table (LUT). The system can also calculate or predict color transitions and store them in a buffer for later lookup. In some codec standards, prediction units (PUs) and transition units (TUs) can be defined within a single control unit (CU) without strict dependency between them. Therefore, PUs and TUs may not be directly related in size. In other codec standards, if a TU is strictly defined within a PU, PU information such as prediction lists and reference indices can be used to derive color transitions. For systems where complexity is not a concern, a combination of these methods can be used. That is, for each CTU, CU, or transition block, the encoder can signal in the encoded data stream whether to use a previously defined / signaled color transition, or whether to derive a color transition separately for the current unit based on neighbor information. This allows the system to control decoder complexity and avoids situations where insufficient information is available from its neighbors to derive color transitions. This is particularly true around object or color edges or noisy data, where neighbor information can be decorrelated. Adaptively computed color transitions can be calculated and updated less frequently (e.g., once per CTU column or even once per CTU) to reduce decoder complexity. The stability of color transformations can be increased by slowly adjusting the color transformation using previously generated values. That is, calculating the current color transformation in units (e.g., transformation units) n can be performed as: Transform(n) = w0*Transform(n-1) + w1*ComputedTransform(n), where ComputedTransform(n) is a transformation estimated purely based on local pixel group information. The two weights w0 and w1 can be predefined or communicated within the system, providing further flexibility in how the color transformation calculation is controlled. Specifically, increasing the value of w0 relative to w1 increases the dependency of the resulting color transformation Transform(n) on its neighboring color transformation Transform(n-1).Encoding systems can determine all necessary transitions for encoding a video sequence by, for example, analyzing the image data within the sequence and performing cost-benefit assessments to optimize encoding, decoding, data quality, and / or the size of the encoded data. For instance, if the encoding system has sufficient computational resources, it can perform a "brute-force" analysis by applying multiple possible color transitions to all individual frames and transition units, and then select the color transition that results in the lowest rate distortion for each transition unit while optimizing for rate distortion. However, this "brute-force" analysis would require significant computational resources and would be slow, and therefore may not be useful in applications where encoding needs to be performed near "real-time" (e.g., in "live" video streaming). Using different color transitions for each block can affect other parts of the encoding and decoding process. In detail, (for example) based on the entropy coding assumption of context-adaptive binary arithmetic coding (CABAC), coefficients in adjacent blocks are in the same color gamut, the statistics of the entropy coding procedure can be accumulated accordingly, and the quantization parameter (QP) used can be applied to each color component when filtering block edges during deblocking. However, this may not be the case in systems using block-level adaptive color conversion that can affect coding performance. In the case of entropy coding, the impact may be insignificant, and therefore the difference in color space can be ignored. Considering that the procedure is limited to adjacent data in the same color space can degrade complexity and implementation performance because more context may need to be processed and compensated for each new color conversion that may have been used. Therefore, the system may not need to change the coding procedure used for adaptive color conversion. On the other hand, adaptive color conversion changes can be more easily resolved during deblocking. In detail, given the QP value used for writing the converted residual, when deriving appropriate threshold values for each color component of the decoded block, the transmitted QP value can be used without considering the color space used, or the QP value can be approximated in the native color gamut. For example, a simple approach is to apply the same color conversion applied to the residual data to the quantizer value as well, or to define and transmit an additional conversion that helps translate the converted quantizer value used in the converted residual to the native color space quantizer value. For simplicity, the system may not need to translate or adjust the quantization value of the adaptive color conversion. According to one embodiment illustrated in Figure 2, system 200 may include decoder 230, selectable residual inverse converter 220, and integrator 240. Decoder 230 can receive and decode input data 210. Selectable residual inverse converter 220 can be controlled by decoder 230 to perform a selectable inverse conversion on the decoded input data to produce an inverse-converted residual image. Integrator 240 can combine the reverse-converted residual image with the predicted image of the current image region to generate the restored current image region of output video 290.Decoder 230 can select a selectable inverse transformation based on encoded information in input data 210. This encoded information identifies selectable inverse transformations and indicates that the selectable inverse transformation of the current image region differs from the transformation of a previous image region in output video 290. Depending on the situation, system 200 may include a frame buffer 280 to store information of output video 290, such as previously processed image data. This data in frame buffer 280 can be used by inter-frame prediction 250, controlled by decoder 230 to perform temporal prediction, i.e., generating predicted image data for the current image region based on data from previous frames. Intra-frame prediction 260 can be controlled by decoder 230 to perform spatial prediction, i.e., generating predicted image data for the current image region based on data from another part of the current frame. The predicted image region generated by inter-frame prediction 250 and / or intra-frame prediction 260 can be combined (or added to) by integrator 240 with the inverse-conversion residual image from selective residual inverse converter 220 to generate the recovered current image region of output video 290. System 200 may include adjuster 270, which adjusts the recovered current image region of output video 290. Adjuster 270 may include deblocking 272 and Sample Adaptability Offset (SAO) 274. Adjuster 270 may output to output video 290 and / or frame buffer 280. According to one embodiment, the current image region may be one of a frame, a tile, and a write-code tree structure unit. Selective inverse conversion may include color space conversion. Decoder 230 may include entropy decoder. Encoded information identifying selective inverse conversion can specify the coefficients of selective inverse conversion. The encoded information for the selectable inverse conversion may be contained in one of the sequence parameter set, image parameter set, and tile header before the encoded residual image data of the current image region. Decoder 230 may include inverse converter 232 and / or dequantizer 233 capable of performing quantization. Output video 290 may be connected to and displayed on a display device (not shown). Decoder 230 may select and change the selectable inverse conversion of selectable residual inverse converter 220, and accordingly modify (e.g.,) the parameters of inter-frame prediction 250, intra-frame prediction 260, and adjuster 270 based on the encoded information in the received input data for the selectable inverse conversion. Figure 3 illustrates method 300 according to one embodiment. Method 300 may include block 310, whereby an analyzer analyzes the current image region in the input video to select a conversion. At block 320, a selectable conversion is performed on the residual image generated from the current image region and the predicted current image region by a selectable residual converter controlled by the analyzer to produce a converted residual image. At block 330, the converted residual image is encoded by the encoder to generate output data.According to one embodiment, the analyzer can control the encoder to encode information to identify selectable transformations and indicate that the selectable transformation of the current image region differs from the transformation of a previous image region of the input video. According to one embodiment, the analyzer can analyze the input video and select an overall sequence color transformation for the entire video sequence, and analyze and select residual color transformations for individual frames, tiles, pixel blocks, CTUs, etc. The analyzer can continuously analyze the input video and perform on-site selection of color transformations for each frame as the input video is received and encoded. Alternatively, the analyzer can fully analyze the entire input video sequence before selecting color transformations and starting encoding. Figure 4 illustrates a method 400 according to one embodiment. Method 400 may include block 410, whereby input data is received and decoded by a decoder. At block 420, a selectable inverse transformation is performed on the decoded input data by a selectable residual inverse converter controlled by the decoder to produce an inverse-transformed residual image. At block 430, an integrator combines the inverse-converted residual image with the predicted image of the current image region to generate the recovered current image region of the output video. According to one embodiment, the decoder can select a selectable inverse conversion based on encoded information in the input data, which identifies selectable inverse conversions and indicates that the selectable inverse conversion of the current image region differs from a conversion of a previous image region of the input video. According to one embodiment, the selectable residual converter 160 in FIG1 can perform color conversion, wherein one color component of the result can be based on only one color component of the input. For example, the selectable residual converter 160 can perform the following color conversion: if each of the input data has N bits, the color conversion can be combined into N bits including a plus or minus sign by simple quantization. The subtraction in the above calculation can be performed in two ways. First, a right shift operation (i.e., derived by (B - G + 1) >> 1 via the write code Rb). Second, clipping operation [i.e., min(max_range, max(min_range, B - G)), where min_range and max_range are the minimum and maximum values allowed in the conversion, and can be pre-specified in the agreement, communicated by the encoding system, or dynamically calculated (e.g., max_range = (1 << (N-1)) – 1, and min_range = -max_range -1)]. This conversion can be advantageous because it is a "causally related" sequence corresponding to how color components in image data can be decoded, often starting with green (or luminance in the case of YCbCr or YCgCo / YCgCo-R color space), followed by B (or Cb), and then R (or Cr). The first color component can depend on only one color component of the input data and can be independent of other (uncoded) color components of the input data.However, after encoding the first color component, it can be used as a factor to calculate the predictions of other color components. A corresponding decoding system can implement an inverse color conversion corresponding to the above color conversion. This allows for the implementation of encoding and decoding systems that operate serially on these color planes, enabling the processing of these color components using the relatively simple calculations shown above as they are sent or received sequentially, without adding additional delays while waiting for all color components to be queued and / or processed. The selectable residual converter 160 in Figure 1 can implement a separate or split processing path for each color component, where the input data can be split into individual color components, and the resulting converted color components can be later merged by the encoder 170. According to one embodiment, the selectable residual converter 160 in Figure 1 can be implemented using "closed-loop" optimization of color conversion. That is, the selectable residual converter 160 can receive feedback data for use in color conversion. The selectable residual converter 160 can use the original sample as input data to perform color conversion. For example, in a GRbRr conversion, the original GBR color space data samples can be used to perform color conversion, where each new set of converted data is independently computed using a new set of the original GBT color space data samples. Given the serial nature of the color conversion illustrated in the above examples, the green component data can first be color converted and encoded, followed by the other colors. The selectable residual converter 160 in Figure 1 can use the reconstructed green component data as input for color conversion of other color components by, for example, using the following equations: G* = IQT(QT(G'), where QT is the quantization function and IQT is the corresponding inverse quantization function, G' represents the green residual data, and G* represents the reconstructed green residual data, Rb' = (B - G*), where B represents the blue component data, and Rb' represents the residual data of the Rb component, Rb* = IQT(QT(Rb'), where Rb* represents the reconstructed Rb residual data, Rr' = (R - G*), where R represents the red component data, and Rr' represents the residual data of the Rr component, Rr* = IQT(QT(Rr'), where Rr* represents the reconstructed Rr residual data. Through the above color conversion, encoded data components Rb', Rb*, Rr', and Rr* are generated based on the reconstructed green residual data. This situation can help the corresponding decoding system achieve better performance. Because the corresponding decoding system may only have the reconstructed color component data (such as G*) for inverse color conversion and does not have the original color data sample, the encoding system using the reconstructed color component data will be better matched with the decoding system, thereby reducing any potential color component leakage caused in the quantization process. It should be understood that the present invention is not limited to the described embodiments and can resolve any number of scenarios and embodiments with conflict points.Although the invention has been described with reference to several exemplary embodiments, it should be understood that the terms used are descriptive and explanatory, and not limiting. Changes may be made within the scope and spirit of the invention as stated and modified herein without departing from the scope and spirit of the invention in its various forms. Although the invention has been described with reference to specific components, materials, and embodiments, it is not intended to be limited to the details disclosed; rather, it extends to all functionally equivalent structures, methods, and uses such as those within the scope of the appended claims. While a computer-readable medium may be described as a single medium, the term "computer-readable medium" includes single or multiple media, such as centralized or distributed databases, and / or associated cache memory and servers storing one or more instruction sets. The term "computer-readable medium" should also include any medium capable of storing, encoding, or carrying instruction sets for execution by a processor or causing a computer system to perform any or more of the embodiments disclosed herein. Computer-readable media may include non-transitory computer-readable media and / or contain transient computer-readable media. In a particular non-limiting exemplary embodiment, computer-readable media may include solid-state memory, such as a memory card, or other package housing one or more non-volatile read-only memories. Additionally, computer-readable media may be random access memory or other volatile rewritable memory. Furthermore, computer-readable media may include magneto-optical or optical media, such as magnetic disks or magnetic tapes, or other storage devices for capturing carrier signals, such as signals transmitted via a transmission medium. Therefore, the invention is considered to include any computer-readable media or other equivalent and subsequent media capable of storing data or instructions. Although this application describes specific embodiments that can be implemented as segments in computer-readable media, it should be understood that dedicated hardware implementations, such as application-specific integrated circuits, programmable logic arrays, and other hardware devices, may be constructed to implement one or more of the embodiments described herein. Applications that may include the various embodiments set forth herein can broadly encompass a wide variety of electronic and computer systems. Therefore, this application may cover software, firmware, and hardware implementations, or combinations thereof. This specification describes components and functions implemented in specific embodiments with reference to specific standards and protocols, but the invention is not limited to such standards and protocols. These standards are periodically replaced by faster or more efficient equivalents that have essentially the same function. Therefore, replacement standards and agreements with the same or similar function are considered their equivalents. The descriptions of the embodiments described herein are intended to provide a general understanding of various embodiments. These descriptions are not intended to constitute a complete description of all elements and features of apparatuses and systems utilizing the structures or methods described herein. Many other embodiments will become apparent to those skilled in the art upon review of this invention. Other embodiments may be utilized and other embodiments may be derived from this invention, allowing for structural and logical substitutions and changes without departing from the scope of the invention. Furthermore, these descriptions are representative only and may not be drawn to scale.Some proportions may be exaggerated in these descriptions, while others may be minimized. Therefore, the invention and drawings are to be considered illustrative rather than restrictive. One or more embodiments of the invention may be referred to individually and / or uniformly herein by the term "disclosure," which is used for convenience only and is not intended to voluntarily limit the scope of this application to any particular disclosure or inventive concept. Furthermore, although specific embodiments have been described and illustrated herein, it should be understood that any subsequent configuration designed to achieve the same or similar purpose may replace the specific embodiments shown. The invention is intended to cover any and all subsequent adaptations or variations of the various embodiments. Those skilled in the art will recognize, upon review of the description, combinations of the above embodiments and other embodiments not specifically described herein. Furthermore, in the foregoing [Description], various features may be grouped together or described in a single embodiment for the purpose of streamlining the invention. The invention is not to be construed as reflecting an intention that the claimed embodiments require more features than are expressly stated in each claim. In reality, as reflected in the following claims, the subject matter of this invention may apply to fewer than all features of any of the disclosed embodiments. Therefore, the following claims are incorporated into [Embodiments], wherein each claim is independent by defining the subject matter of the separate claims. The subject matter disclosed above should be considered illustrative rather than restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments that fall within the true spirit and scope of this invention. Therefore, to the greatest extent permitted by law, the scope of this invention should be determined by the broadest permissible interpretation of the following claims and their equivalents, and should not be construed as limited or restricted by the foregoing embodiments. [Simplified Explanation of the Diagram]
[0002] FIG1 illustrates an encoding system according to one embodiment of the present invention. FIG2 illustrates a decoding system according to one embodiment of the present invention. FIG3 illustrates an encoding method according to one embodiment of the present invention. FIG4 illustrates a decoding method according to one embodiment of the present invention.
Claims
1. An apparatus for decoding video data, the apparatus comprising: The system comprises: a decoding component for decoding encoded video data to determine residual sample data and color transformation parameters for a current image region; a determining component for determining a selected inverse color transform for the current image region from the color transformation parameters; a performing component for performing the selected inverse color transform on the residual sample data to generate inverse residual sample data; and a combining component for combining the inverse residual sample data with motion-predicted image data to generate restored image data for the current image region of an output video.
2. The apparatus of claim 1, wherein a first color component of the inverse-converted residual sample data is generated based on only one color component of the converted residual sample data, and other color components of the inverse-converted residual sample data are predicted based on the first color component of the inverse-converted residual sample data.
3. The apparatus of claim 1, wherein the encoded video data is split into individual color components, and wherein the processing paths for each color component are separate from each other.
4. The apparatus of claim 1, wherein decoding the encoded video data includes entropy decoding.
5. The apparatus of claim 1, wherein the color conversion parameters specify the two coefficients of the selected inverse color conversion.
6. The apparatus of claim 1, wherein: A first color component of the inverse-converted residual sample data is generated based on only one first color component of the converted residual sample data. A second color component is predicted by multiplying the first color component of the inverse-converted residual sample data by a first of the color conversion parameters. A third color component is predicted by multiplying the first color component of the inverse-converted residual sample data by a second of the color conversion parameters.