SCALABLE CODING OF VIDEO SEQUENCES USING TONE MAPPING AND DIFFERENT COLOR GAMUTS
A Scalable Video Coding (SVC) process is provided for scalable video coding that takes into account color gamut primaries along with spatial resolution. The process provides for re-sampling using video color data obtained from an encoder or decoder process of a base layer (BL) in a multi-layer system to enable improved encoding and decoding in an enhancement layer (EL) or higher layers taking into account color conversion between layers. Examples of applicable SVC include MPEG-4 Advanced Video Coding (AVC) and High Efficiency Video Coding (HEVC). With the SVC process, video data expressed in one color gamut space can be used for prediction in encoding with a possibly different color space, and accommodation for different spatial resolution and bit-depth can be made as well.
This application claims priority under 35 U.S.C. §119(e) from earlier filed U.S. Provisional Application Ser. No. 61/955,773 filed on Mar. 19, 2014 and incorporated herein by reference in its entirety.
BACKGROUND1. Technical Field
The present invention relates to the process of using a two layer Scalable Video Coding (SVC) scheme for encoding and decoding of video sequences derived from the same source with differences in resolution. More specifically, it relates to arranging, prediction and reconstruction of video data obtained from an encoder or decoder process during scalable coding. Examples of scalable encoder or decoder processes include MPEG-4 Advanced Video Coding (AVC) and High Efficiency Video Coding (HEVC) that can be labeled Scalable HEVC (SHVC).
2. Related Art
An example of a scalable video coding system using two layers where color tone mapping can be applied is shown in
In spatial scalability, the BL is typically at a lower spatial resolution than Full Resolution (FR), as illustrated in
The CL information from the BL later can be used after upsampling to enhance the coding of the FR video in the EL. In the system of
Embodiments of the present invention provide systems for SVC that account for color gamut conversion between layers as well as spatial resolution conversion in some embodiments. The process provides for re-sampling using video color data obtained from an encoder or decoder process of a base layer (BL) in a multi-layer system to enable improved encoding and decoding in an enhancement layer (EL) or higher layers taking into account color conversion between layers. For example, with the reconstructed data, video data expressed in a lower resolution in one color gamut space can be used to predict a higher resolution video in another color gamut space and can also account for a different bit-depth.
In one further embodiment, a different color mapping is applied to different regions of a video frame. The mapping to different frame regions can be done by at least one of the following procedures: (a) signaling linear or non-linear 3DLUT color mapping parameters with an adaptive quad-tree structure; (b) signaling mapping parameters in the slice or tile headers to create the same spatial freedom for correcting the color tones; (c) signaling to reuse collocated partitioning and color mapping parameters from previous frames; and (d) using the adaptive quad-tree partitioning to adaptively signal filter parameters in the case that spatial scalability is also applied.
In a further embodiment, both color tone mapping from a base to a target color gamut and spatial scaling are separately applied in an order where one is applied first and then the other. In one embodiment when the color gamut scaling is applied for a tone mapping function in an encoder side, the tone mapping function occurs after spatial scaling. Then the reverse order of spatial scaling applied first and then tone mapping applied occurs at a decoder side.
In a further embodiment, the tone mapping is applied as a function mapping from a vector of three color values in one color gamut space to a corresponding vector of three color values in a different gamut space. The mapping can also map to values in the same color space. The mapping at the encoder is then applied on a three-color-component grid that is different than a grid a Base Layer (BL) is on. In this embodiment, a relative location of luma and chroma samples in vertical and horizontal dimensions are signaled to a decoder to enable the decoder to adjust the sample locations to reverse the one used for the tone mapping in a forward direction.
Further details of the present invention are explained with the help of the attached drawings in which:
To properly display a captured picture or video on different displays, in embodiments of the present invention a color mapping is applied to map the video display content from one color space to another, or within a same color space. For this process, in its most common form, color tones from a set of primary color values in one layer for a pixel are mapped in the picture to a different set of color values for another layer, referred to as a target color gamut. The mapping is applied so that the color values for the second layer are suitable for presentation of the content on displays conforming to the target color gamut. The sections below describe features of a Scalable Video Coding (SVC) process that provides for such color tone mapping.
I. Scalability Process Accounting for Color Gamut and Bit-depthIn some embodiments of the present invention, the same capture content needs to be displayed on different displays with a different color gamut specification and possibly with a different bit-per sample and possibly with a different resolution. The process of color mapping takes a triplet sample from one color gamut space and maps it to the corresponding sample in the same spatial location of the other color gamut space. This process can be non-linear and content or region dependent. The process on downsampling that considers color and spatial conversion from the FR to the BL layer is illustrated in
The process of upsampling which involves different color gamut spaces and resolutions from BL to EL are shown in
In module 500, a set of input samples in a video signal x is first selected. In general, the samples can be a two-dimensional subset of samples in x, and a two-dimensional filter or two dimensional mapping structure can be applied to the samples, depending on the set of input samples. The module 502 receives the data samples in x from module 500 and identifies an appropriate filter or map function in module 504 to direct the samples toward.
For the case where separate filters are used, a filter h[n; m] is applied along the rows and columns to the selected samples to produce an output value of y′, or in this case y′[m] for each of the columns. Typically, this can be implemented with a set of M filters h, where for the output value y′[m] at output index m, the filter h[n; m mod M] is chosen and is applied to the corresponding input samples x of the rows. The filters h[n; p] where p=m mod M generally correspond to filters with M different phase offsets, for example with phase offsets of p/M, where p=0, 1, . . . , M−1. The total output of the filtering process using the selected filter h[n;m] on the selected input samples produces output value y′.
In addition to filtering, a color mapping calculation may be applied to convert to a different or the same color space. This mapping operation can be performed to minimize an error cost.
The modules in
The following sections describe further features that can be applied in embodiments of the present invention for SVC that better account for color and spatial conversion.
A. Signaling the Order of Spatial Scaling and Color MappingIn cases that both spatial scaling and color gamut scaling are required, the order in which those processes are done at the encoder can be varied. Since the down-sampling and tone mapping are usually highly non-linear and non-reversible operations, it is proposed in some embodiments to signal the order by which the decoder should reconstruct the prediction for higher resolution at a different color gamut and spatial scaling.
An example of combined spatial and color gamut scalability is from 1080p BT.709 for BL to 4K BT.2020 for EL. In this case the encoder can have the option of going from 4K BT.2020 to 4K BT.709 first and then down-sample the 4K BT.709 to 1080p BT.709. In another example the down-sampling takes place first to generate 1080p BT.2020 and then the color mapping takes place to create 1080p BT.709 from 1080p BT2020.
In a further embodiment, a flag in the bitstream would indicate, in a normative manner, the order in which BL reconstructed samples will be processed to generate the EL prediction samples. For example in one case shown in
If a video sequence should be processed to have a desired color gamut at a resolution different than the resolution and color gamut in which the video is captured, then it is proposed to apply the tone mapping functions, in the encoder side, after the spatial scaling takes place. One advantage of this proposed order is to create less interference with the intended colors for the BL video. It is also expected that the proposed order will result in higher coding efficiency of the scalable compression, since the reverse tone mapping (at the decoder) would be more accurate if would be performed before up-sampling and thus avoiding the distortion caused by spatial scaling.
B. Signaling Color Mapping Parameters Based on Content in Regions of a FrameAs color mapping is usually done to maintain the artistic intention of the scene, it is expected that different mappings can be applied to a different region of the frame. Therefore it is proposed to allow the encoder to signal different color mapping parameters for different locality in a given BL picture.
In one example this can be done by signaling linear or non-linear (e.g. by a 3 dimensional look up table (3DLUT)) color mapping parameters with an adaptive quad-tree structure. In another example color mapping parameters can be signaled in the slice or tile headers to create the same spatial freedom for correcting the color tones. Due to similar artistic modifications in local content among consecutive frames, it is possible to signal to re-use collocated partitioning and color mapping parameters from previous frames. In addition, the adaptive quad-tree partitioning can be used to adaptively signal filter parameters in the case that spatial scalability is also applied.
C. Content Dependent Assignment of BL and EL to a Pair of Sequences With Different Color GamutsIf there are no other criteria, such as resolution or video quality preference, it is proposed to assign sequences with different color gamuts to BL and EL, such that a cost or error can be minimized. For example, the scalable encoding of two 1080p sequences, one in BT.2020 and the other in BT.709 color spaces can result in different overall bit-rate and average PSNR, if BT.709 be used as BL and BT.2020 is used as EL vs. using BT.2020 as BL and BT.709 as EL.
D. Proposed Signaling of Chroma-Luma Alignment for Color MappingIn most cases the tone mapping function is a mapping from a vector of three color values in one color gamut space to a corresponding vector of three color values in a different gamut space. There are cases where the color mapping at the encoder has been applied on a three-color-component grid which is different than the grid that the BL is on (e.g. due to color sub-sampling 4:4:4 vs 4:2:0 or spatial scalability). It is proposed that in these cases the relative location of luma and chroma samples (vertically and horizontally) should be signaled so the decoder can adjust the sample locations to reverse the one used for forward tone mapping.
Although the present invention has been described above with particularity, this was merely to teach one of ordinary skill in the art how to make and use the invention. Many additional modifications will fall within the scope of the invention as that scope is defined by the following claims.
Claims
1. A method for scalable video coding comprising:
- receiving sampling signals from a video of the first coding layer and providing an output signal to a second coding layer that codes video with an enhanced resolution having a higher resolution than the base resolution;
- selecting a picture from the input samples of the video signal in the first coding layer for coding video with the base resolution;
- selecting either a plurality of filters or a mapping formula that converts a set of primary color values for a pixel in the picture with a primary color gamut in the first coding layer to a different set of color values making up a target color gamut that is suitable for presentation on a display used for the second coding layer that conforms to the target color gamut.
2. The method of claim 1,
- wherein in addition to color gamut scaling from the primary color gamut to the target color gamut, spatial scaling is provided.
3. The method of claim 2,
- wherein the spatial scaling and color gamut scaling are applied in order with one of the spatial scaling and color gamut being applied first, and then the other.
4. The method of claim 3,
- wherein spatial scaling is applied, and
- wherein when the color gamut scaling is applied for a tone mapping function in an encoder side, the tone mapping function occurs after spatial scaling.
5. The method of claim 4,
- wherein a reverse order of the spatial scaling and the tone mapping are applied at a decoder side.
6. The method of claim 2, wherein a flag is provided in a bitstream of the video, to indicate the order in the color gamut scaling and the spatial scaling are provided.
7. The method of claim 1,
- wherein a different mapping would be applied to different regions of a frame for the picture.
8. The method of claim 7,
- wherein the different mapping in the different frame regions is done by at least one of the following: (a) signaling linear or non-linear three dimensional look up table (3DLUT) color mapping parameters with an adaptive quad-tree structure; (b) signaling mapping parameters in the slice or tile headers to create the same spatial freedom for correcting the color tones; (c) signaling to reuse collocated partitioning and color mapping parameters from previous frames; and (d) using an adaptive quad-tree partitioning to adaptively signal filter parameters in the case that spatial scalability is also applied.
9. The method of claim 1,
- wherein the primary color gamut and target color gamut are assigned different sequences for a Base Layer (BL) and an Enhancement Layer (EL).
10. The method of claim 1,
- when the color gamut scaling is applied for a tone mapping function,
- wherein the tone mapping is a function mapping from a vector of three color values in one color gamut space to a corresponding vector of three color values in a different gamut space, and
- wherein the mapping at the encoder is applied on a three-color-component grid that is different than a grid a Base Layer (BL) is on.
11. The method of claim 10,
- wherein a relative location of luma and chroma samples in vertical and horizontal dimensions are signaled to a decoder to enable the decoder to adjust the sample locations to reverse the one used for the tone mapping in a forward direction.
12. The method of claim 1,
- when the color gamut scaling is applied for a tone mapping function,
- wherein the tone mapping is a function mapping from one color gamut space to the same gamut space.
13. A system for scalable video coding comprising:
- a first coding layer comprising modules for coding video with a base resolution;
- a second coding layer comprising modules for coding video with an enhanced resolution having a higher resolution than the base resolution;
- an upsampling unit receiving sampling signals from the first coding layer and providing an output signal to the second coding layer after an upsampling process, wherein the upsampling unit output signal enables more efficient coding in the second coding layer,
- wherein the first coding layer modules comprise: a sampling module that provides sampling signals of a video for the first coding layer; a picture selection module that selects a picture from the input samples of the video signal from the sampling module; a color conversion module that selects either a plurality of filters or a mapping formula for converting a set of primary color values for a pixel in the picture with a primary color gamut in the first coding layer to a different set of color values making up a target color gamut that is suitable for presentation on a display used for the second coding layer that conforms to the target color gamut for providing to the upsampling unit.
14. The system of claim 13, wherein the first coding layer modules further comprise:
- a spatial scaling module that provides spatial scaling separate from the color conversion from the first coding layer for providing to the second coding layer.
15. The system of claim 14,
- wherein when the color gamut scaling is applied for a tone mapping function in an encoder side, the tone mapping occurs after the spatial scaling, and
- wherein a reverse order of the spatial scaling and the tone mapping are applied at a decoder side.
16. The system of claim 14, wherein a flag is provided in a bitstream of the video to indicate the order in the color gamut scaling and the spatial scaling are provided.
17. The system of claim 13,
- wherein a different mapping would be applied to different regions of a frame, for the picture, and
- wherein the different mapping in the different frame regions is done by at least one of the following: (a) signaling linear or non-linear three dimensional look up table (3DLUT) color mapping parameters with an adaptive quad-tree structure; (b) signaling mapping parameters in the slice or tile headers to create the same spatial freedom for correcting the color tones; (c) signaling to reuse collocated partitioning and color mapping parameters from previous frames; and (d) using an adaptive quad-tree partitioning to adaptively signal filter parameters in the case that spatial scalability is also applied.
18. The system of claim 13,
- wherein when the color gamut scaling is applied for a tone mapping function,
- wherein the tone mapping is a function mapping from a vector of three color values in one color gamut space to a corresponding vector of three color values in a different gamut space, and
- wherein the mapping at the encoder is applied on a three-color-component grid that is different than a grid a Base Layer (BL) is on.
19. The system of claim 18,
- wherein a relative location of luma and chroma samples in vertical and horizontal dimensions are signaled to a decoder to enable the decoder to adjust the sample locations to reverse the one used for the tone mapping in a forward direction.
20. The system of claim 13,
- when the color gamut scaling is applied for a tone mapping function,
- wherein the tone mapping is a function mapping from one color gamut space to the same gamut space.
Type: Application
Filed: Mar 19, 2015
Publication Date: Sep 24, 2015
Patent Grant number: 11363281
Inventors: Koohyar Minoo (San Diego, CA), Ajay K. Luthra (San Diego, CA), David M. Baylon (San Diego, CA)
Application Number: 14/662,376