Signaling quantization parameters

文档序号:1821947 发布日期:2021-11-09 浏览:21次 中文

阅读说明:本技术 用信号发送量化参数 (Signaling quantization parameters ) 是由 浦方君 吕陶然 尹鹏 S·T·麦卡锡 于 2020-05-27 设计创作,主要内容包括:使用两种方法描述了视频编码中SDR和HDR内容两者的量化参数信号发送机制。第一种方法是直接以高级语法的形式发送用户定义的Qp-(C)表。这使得未来的编解码器开发和视频内容编码的QP控制更灵活且更高效。第二种方法是独立地用信号发送亮度和色度QP。这种方法消除了对Qp-(C)表的需要,并消除了色度量化参数对亮度QP的依赖性。(Two approaches are used to describe quantization parameter signaling mechanisms for both SDR and HDR content in video coding. The first method is to send the user-defined Qp directly in the form of a high level syntax C Table (7). This makes future codec development and QP control for video content coding more flexible and efficient. The second approach is to signal luma and chroma QPs independently.This method eliminates the pair Qp C Table requirements and eliminates the dependency of chroma quantization parameters on luma QP.)

1. A method for decoding an encoded video bitstream, the method comprising:

a) extracting a chroma quantization parameter (Qpc) table mapping luma Quantization Parameters (QP) with chroma QP offset values QP (i) to corresponding chroma QP values Qpc (i), wherein:

i) 'i' is an index of an entry ranging from startID to endID;

ii) startID is an integer greater than or equal to 1 and less than N, N being the total number of Qpc entries; and is

iii) endID is an integer greater than startID and 1 and less than or equal to N; and

b) generating a decoded output signal based on the extracted Qpc table and the encoded video bitstream;

wherein the encoded bitstream includes a table identifier, and wherein:

in the first case:

the table identifier indicates the existence of a default table; and is

In the second case:

the encoded video bitstream further includes one or more elements signaled in a high level syntax, the one or more elements encoded based on a combination of one of a) two or more chroma Qp values, or b) one or more chroma Qp values and one or more luma Qp with chroma offset values.

2. The method of claim 1, wherein a video signal corresponding to the encoded video bitstream comprises a first chroma component and a second chroma component.

3. The method of claim 2, wherein the first and second chroma components share a same Qpc table.

4. The method of claim 2, wherein the Qpc tables comprise first and second Qpc tables corresponding to the first and second chroma components, respectively.

5. The method of claim 1, wherein the combination of one or more chroma Qp values comprises a difference between consecutive Qp parameter values.

6. The method of claim 4, wherein:

deriving a first array having a first array element dQpc1(j) from dQpc1(j) ═ Qpc1(j) -Qpc1(j-1), where Qpc1 represents the first chroma component;

deriving a second array having a second array element dQpc2(j) from dQpc2(j) ═ Qpc2(j) -Qpc2(j-1), where Qpc2 represents the second chroma component; and is

The combination of the two or more chroma Qp values includes one or more pairs of array elements, each pair of array elements including a first array element and a second array element, the first array element and the second array element having a same index.

7. The method of claim 4, wherein:

Deriving a first array having a first array element dQpc1(j) from dQpc1(j) ═ qpcl (j) -Qpc1(j-1), j ═ startID +1,. ere, endID, where Qpc1 represents the first chroma component;

deriving a second array having a second array element dQpc2(j) from dQpc2(j) ═ Qpc2(j) -Qpc2(j-1), where Qpc2 represents the second chroma component; and is

The combination of the two or more chroma Qp values comprises:

two successive index values of the first array; and

two successive index values of the second array.

8. The method of claim 6 or 7, wherein the combination of the two or more Qp values is encoded based on a huffman coding scheme or a lossless compression algorithm.

9. The method of claim 1, wherein the combination of the one or more chroma Qp values and the one or more luma Qp values with chroma offset values comprises a difference between the luma Qp with chroma offset values and corresponding chroma Qp values.

10. The method of claim 1, wherein:

the combination of the one or more chrominance Qp values and one or more luminance Qp with chrominance offset values comprises Qp (startid), Qp (end id), qpc (startid), and qpc (end id); and is

The luma QP parameter with chroma QP offset is mapped into the chroma QP parameter according to a piecewise linear function defined based on QP (startid), QP (endid), qpc (startid), and qpc (endid).

11. The method of claim 5, wherein the combination of the two or more Qp values is encoded using a run-length coding scheme.

12. The method of claim 1, wherein the default tables include one table for Single Dynamic Range (SDR) content, one table for High Dynamic Range (HDR) Perceptually Quantized (PQ) content, and one table for mixed log-type gamma (HLG) content.

13. A method for decoding an encoded stream of a video signal, the method comprising:

extracting a luma quantization parameter (Qp), a first chroma component Qp and a second chroma component Qp from the encoded stream; and

generating an output decoded video signal based on the extracted luma Qp, first and second chroma components Qp and Qp, and the encoded video bitstream;

wherein:

the encoded video stream comprises a plurality of elements signaled in a high level syntax;

encoding the plurality of elements based on a combination of the luma Qp, the first chroma component Qp, and the second chroma component Qp;

The first chroma component Qp is derived based on a prediction value of the first chroma component Qp and a bit depth of a first chroma component sample of the video signal; and is

The second chroma component Qp is derived based on a prediction value of the second chroma component Qp and a bit depth of a second chroma component sample of the video signal.

14. The method of claim 13, wherein the combination of the luminance Qp, the first chrominance component Qp, and the second chrominance component Qp comprises:

the difference of consecutive first chrominance components Qp;

the difference of consecutive second chrominance components Qp; and

difference in continuous brightness Qp.

15. The method of claim 13, wherein:

deriving a first array from CuC1QpDeltaVal (i) ═ Qpc1(i) -predQpc1(i), i ═ 1,. and N, wherein Qpc1 and predQpc1 represent the first chroma component Qp and the predicted values of the first chroma component Qp, and N is an integer representing the total number of Qpc samples;

deriving a second array from CuC2QpDeltaVal (i) ═ Qpc2(i) -predQpc2(i), i ═ 1,. and N, where Qpc2 and predQpc2 represent predictors of the second chroma component QP and the second chroma component QP;

the combination of the luminance Qp, the first chrominance component Qp, and the second chrominance component Qp includes:

A third array defined as: cuqpdeltaval (i) -Qp 1(i) -predQp1(i), i-1.. and N, where Qp1 and predQp1 represent predicted values of the luma Qp and the luma Qp;

a fourth array defined as: c1dQpDeltaVal (i) ═ CuC1QpDeltaVal (i) — cuqpdeltaval (i) — i ═ 1,.., N; and

a fifth array defined as: c2dQpDeltaVal (i) -CuC 2QpDeltaVal (i) -cuqpdeltaval (i), i-1.

16. The method of claim 13, wherein:

deriving a first array from CuC2QpDeltaVal (i) ═ Qpc2(i) -predQpc2(i), i ═ 1,. and N, wherein Qpc2 and predQpc2 represent predictors of said second chroma component QP and said second chroma component QP, and N is an integer representing a total number of Qpc samples; and is

The combination of the luminance Qp, the first chrominance component Qp, and the second chrominance component Qp includes:

a second array defined as: cuqpdeltaval (i) -Qp 1(i) -predQp1(i), i-1.. and N, where Qp1 and predQp1 represent the luminance Qp and the predicted value of the luminance Qp;

a third array defined as: CuC1QpDeltaVal (i) ═ Qpc1(i) -predQpc1(i) — 1, · N, where Qpc1 and predQpc1 represent the first chroma component Qp and the predicted values of the first chroma component Qp, and N is an integer representing the total number of Qpc samples; and

A fourth array defined as: C1C2dQpDeltaVal (i) ═ CuC2QpDeltaVal (i) — CuC1QpDeltaVal (i), i ═ 1.

17. The method of claim 13, wherein:

deriving a first array from CuC1QpDeltaVal (i) ═ Qpc1(i) -predQpc1(i), i ═ 1,. and N, wherein Qpc1 and predQpcl represent predictors of said second chroma component QP and said second chroma component QP, and N is an integer representing the total number of Qpc samples; and is

The combination of the luminance Qp, the first chrominance component Qp, and the second chrominance component Qp includes:

a second array defined as: cuqpdeltayal (i) ═ Qp1(i) -predQp1(i) ═ 1,... times, N, where Qp and predQp represent the luma Qp and its predicted values;

a third array defined as: CuC2QpDeltaVal (i) ═ Qpc2(i) -predQpc2(i), i ═ 1,.., N, where Qpc2 and predQpc2 represent predictors of the second chroma component QP and the second chroma component QP, and N is an integer representing the total number of Qpc samples; and

a fourth array defined as: C1C2dQpDeltaVal (i) ═ cuclqpdeltaval (i) — CuC2QpDeltaVal (i) ═ 1.

18. The method of claim 13, wherein:

The combination of the luminance Qp, the first chrominance component Qp, and the second chrominance component Qp includes:

a first array defined as: dQpc1(i) ═ Qp1(i) -Qpc1(i), and where i ═ 1,. said, N, Qp1, Qpc1 represent said luminance Qp and said first chrominance component Qp1, respectively, N represents the total number of luminance Qp samples; and

a second array defined as: dQpc2(i) ═ Qp1(i) -Qpc2(i), and wherein i ═ 1,. said, N, Qp1, Qpc2 represent said luminance Qp and said second chromaticity component Qp2, respectively.

Technical Field

The present disclosure relates to deriving and signalling quantization parameters when encoding video signals, and more particularly to methods, apparatuses, computer programs and computer program based devices for deriving and signalling luminance and/or chrominance quantization parameters of video signals.

Background

The Quantization Parameter (QP) is a parameter used in a video bitstream to adjust quality and bit rate. Generally, a lower QP value set during encoding results in higher quality of the encoded video, but higher number of bits that need to be consumed, where a QP of 0 means no quantization. On the other hand, the higher the QP value, the lower the quality of the encoded video and the fewer bits consumed. Furthermore, the decoder uses the QP value when reconstructing video content from the encoded video.

Universal video coding (VVC) is a standard that is being developed by the joint video exploration team (jfet) to encode both Standard Dynamic Range (SDR) content and High Dynamic Range (HDR) content. In the current (2019) VVC specification, the signaling of quantization parameters for luminance and chrominance components is handled in different ways.

For the luma component, a delta Quantization Parameter (QP) (i.e., the difference between successive quantization parameter values) is signaled and added to the initial QP value for each slice.

For chroma, the chroma quantization parameter (Qpc) is derived from the luma QP with chroma offset value (qPi) using the chroma quantization parameter table. For example, fig. 1 shows a table (100) containing different values of Qpc as a function of a luma quantization parameter with a chroma offset qPi. The data shown in table (100) corresponds to a certain chroma format. According to the VVC standard, the chroma format is based on a variable chroma _ format _ idc ranging from 0 to 3. Table (100) corresponds to a chroma format idc value of 1, which represents chroma format (4:2: 0).

The table (100) of fig. 1 is inherited from the High Efficiency Video Coding (HEVC) standard and is designed only for SDR content. However, when JCT-VC first investigated HDR Perceptual Quantization (PQ) content, it was concluded that the default SDR Qpc table is not suitable for HDR content, since it can lead to chroma artifacts at low bit rates, especially in achromatic areas. Therefore, non-canonical encoder optimization using a variable called ChromaQPOffset is introduced in HDR universal test conditions (CTCs) of HDR PQ content. ChromaQPOffset generally indicates the difference from the luma QP value and is signaled in the form of a Picture Parameter Set (PPS), meaning that a constant value is used based on the input QP. However, in some cases, QP may vary from picture to picture, which cannot be handled by a constant offset.

In a first version of HEVC, each of the two chroma components has a different QP offset at the slice level. However, at the Coding Unit (CU) level, Δ QP is applied to all three components, where chroma also passes through the luma QP based mapping table. In the range extension (Rext) version, a separate chroma QP control is introduced at the CU level by a list of chroma QP offsets specified for Cb and Cr, respectively.

Quantization parameter derivation in current VVC standards

In the process, a luminance quantization parameter Qp 'is obtained'YAnd chrominance quantization parameter Qp'CbAnd Qp'cr. Obtaining a luminance quantization parameter Qp of a sliceYThe initial values of (a) are:

SliceQpY=26+init_qp_minus26+slice_qp_delta

qPY_PREVrepresenting the previous luminance quantization parameter of the current coding unit. If the current quantized packet is the first quantized packet in a slice or block, qP will beY_PREVIs set equal to SliceQpY. Otherwise, qPY_PREVSet equal to the luminance quantization parameter Qp of the last luminance coding unit in the previous quantization packet in decoding orderY

qPY_PREDRepresents the predicted luma quantization parameter of the current coding unit. If the current quantized packet is the first quantized packet of CTB lines within a block and the top coding unit is available, then qP will beY_PREDSet as Qp of the top CUYAnd if not, the step (B),

qPY_PRED=(qPY_A+qPY_B+1)>>1

wherein if the left coding block is not the first coding block in the left quantized packet or if the left coding block is not available, then qP is used Y_AIs set to qPY_PREV(ii) a If the top coding block is not the first coding block in the top quantized packet or if the top coding block is not available, qP is appliedY_BIs set to qPY_PREV

Obtaining the variable Qp of each coding unitYThe following were used:

QpY

((qPY_PRED+CuQpDehaVal+64+2*QpBdOffsetY)%(64+QpBdOffsetY))-QpBdOffsetY

CuQpDeltaVal is designated at the transform unit level with cu _ qp _ delta _ abs and cu _ qp _ delta _ sign _ flag.

Obtaining a brightness quantization parameter Qp'YThe following were used:

Qp′Y=QpY+QpBdOffsetY

when ChromaArrayType is not equal to 0 and treeType is SINGLETREE or DUAL _ TREE _ CHROMA, the following applies:

when treeType equals DUAL _ TREE _ CHROMA, the variable QpYThe luminance quantization parameter Qp of the current luminance coding unit set equal to the cover luminance position (xCb + cbWidth/2, yCb + cbHeight/2)Y

Get the variable qPCbAnd qPCrThe following were used:

qPiCb=Clip3(-QpBdOffsetC,69,QpY+pps_cb_qp_offset+slice_cb_qp_offset)

qPiCr=Clip3(-QpBdOffsetC,69,QpY+pps_cr_qp_offset+slice_cr_qp_offset)

if ChromaArrayType is equal to 1, qPi equals qPi based on index respectivelyCbAnd qPiCrLet variable qPCbAnd qPCrSet equal to Qp specified in table 1CValues (shown again below for convenience).

Otherwise, qPi are equal to qPi based on index respectivelyCbAnd qPiCrLet variable qPCbAnd qPCrIs set equal to Min (qPi, 63).

Obtaining chrominance quantization parameters Qp 'of Cb and Cr'CbAnd Qp'CrThe following were used:

Qp′Cb=qPCb+QpBdOffsetC

Qp′Cr=qPCr+QpBdOffsetC

disclosure of Invention

The current video content is different from the SDR content for which the original default SDR Qpc table was designed. As one example, the luma and chroma components of SDR and HDR content may be encoded using the Y' CbCr or ICtCp signal formats. For HDR content, the situation is more complex. HDR content may also be encoded using HLG or PQ transmission characteristics. It may be beneficial to signal different chrominance quantization parameters for different chrominance component types and transmission characteristics. It may also be beneficial to signal different chroma quantization parameters for two different chroma components Cb and Cr or Ct and Cp. It may also be beneficial to signal the chrominance quantization parameter in a content-dependent manner. The disclosed method and apparatus addresses the above-mentioned problems and needs.

The apparatus and method according to the present disclosure provide a solution to the problem of chroma qp (qpc) to get HDR content. Further, an apparatus and method for signaling such a resulting chroma QP for HDR is also disclosed. According to a first aspect of the present disclosure, a method for decoding an encoded video bitstream is disclosed, the method comprising: a) extracting a chroma quantization parameter (Qpc) table mapping luma Quantization Parameters (QP) with chroma QP offset values QP (i) to corresponding chroma QP values Qpc (i), wherein: i) 'i' is an index of an entry ranging from startID to endID; ii) startID is an integer greater than or equal to 1 and less than N, N being the total number of Qpc entries; and iii) endID is an integer greater than startID and 1 and less than or equal to N; and b) generating a decoded output signal based on the extracted Qpc table and the encoded video bitstream; wherein the encoded bitstream includes a table identifier, and wherein: in the first case: the table identifier indicates the existence of a default table; and in a second case: the encoded video bitstream further includes one or more elements signaled in a high level syntax, the one or more elements encoded based on a combination of one of a) two or more chroma Qp values, or b) one or more chroma Qp values and one or more luma Qp with chroma offset values.

According to a second aspect of the present disclosure, a method for decoding an encoded stream of a video signal is disclosed, the method comprising: extracting a luma quantization parameter (Qp), a first chroma component Qp and a second chroma component Qp from the encoded stream; and generating an output decoded video signal based on the extracted luminance Qp, first and second chrominance components Qp, Qp and the encoded video bitstream; wherein: the encoded video stream comprises a plurality of elements signaled in a high level syntax; encoding the plurality of elements based on a combination of the luma Qp, the first chroma component Qp, and the second chroma component Qp; the first chroma component Qp is derived based on a prediction value of the first chroma component Qp and a bit depth of a first chroma component sample of the video signal; and the second chrominance component Qp is derived based on a prediction value of the second chrominance component Qp and a bit depth of a second chrominance component sample of the video signal.

Drawings

Fig. 1 shows an example of a table containing different values of a chrominance quantization parameter as a function of a luminance quantization parameter.

Fig. 2 illustrates an exemplary HDR Qpc table in accordance with embodiments of the disclosure.

Fig. 3 illustrates an exemplary Qpc table according to an embodiment of the disclosure.

Fig. 4A shows an exemplary Qpc table of HDR PQ content types.

Fig. 4B shows an exemplary Qpc table of HDR mixed logarithmic gamma (HLG) content types.

Fig. 5 shows a luma quantization parameter based on an exemplary SDR Qpc mapping function.

Detailed Description

Definition of

In this document, the technical terms used in relation to video encoding and decoding are defined according to the general video coding (draft 5), joint video experts group (JFET) of documents JFET-N1001-v 3, ITU-T SG 16WP3 and ISO/IEC JTC 1/SC 29/WG 11, conference 14: 19-27 days 3 months 2019, geneva, switzerland.

Description

1. Deriving chroma PQ based on user-defined Qpc tables

According to embodiments of the present disclosure, chroma QP of HDR content may be determined using a user-defined Qpc table. Fig. 2 shows a table (200) representing an exemplary HDR Qpc table in accordance with an embodiment of the disclosure. The effect of the table (200) on HDR content is substantially the same as the effect of the default SDR Qpc table specified in the current VVC on SDR content. Those skilled in the art will appreciate that the disclosed method based on a user-defined Qpc table for HDR content will unify codec design for all SDR and HDR signal types and make QP control for future codec development more flexible and efficient.

According to embodiments of the present disclosure, the HDR Qpc table as described may be signaled directly in a high level syntax like Video Parameter Set (VPS), Signal Parameter Set (SPS), PPS, Adaptation Parameter Set (APS), slice header and SEI message. To reduce signaling overhead, the default Qpc table may be used as a normative table in a standard specification or as a non-normative example in a standard specification, in accordance with other embodiments of the present disclosure.

Referring to fig. 2, and in SPS, a new syntax element chroma _ qp _ table _ idc may be added. A value of chroma _ qp _ table _ idc equal to 0 refers to the original SDR Qpc table in the VVC specification text, see table (100) in fig. 1. When the value of chroma _ qp _ table _ idc is equal to 1, the table (200) of fig. 2 is referred to. According to an embodiment of the present disclosure, for a ChromaArrayType equal to 1, the variable chroma _ qp _ table _ idc is an indication of the index of the Qpc array as a function of qPi. The value of chroma _ qp _ table _ idc may range from 0 to 1 (inclusive).

According to further embodiments of the present disclosure, one Qpc table may be signaled and shared by both Cb and Cr, or two separate tables designed for Cb and Cr, respectively, may be signaled. To reduce signaling overhead, each Qpc table may be differentially encoded, approximated using piecewise linear functions, run-length encoded, encoded using a Lempel-Ziv-Welch (LZW) or similar algorithm, or encoded using a mixture of the above-mentioned techniques.

The Qpc table described above can be used for HDR content using HLG or PQ transfer characteristics. Referring back to fig. 1-2, it is observed from the tables (100, 200) and Qpc tables designed for other content types such as HLG that some Qpc values are either equal to qPi or can be derived directly by subtracting a constant value. To save coding bits, the range of table elements in the bitstream that need to be signaled can be specified with a start and end index startID, endID.

Hereinafter, various methods for signaling chroma QP values in accordance with the teachings of the present disclosure will be described. Throughout this disclosure, the term "Δ Qp" (also denoted as "dQp") will be used to describe the difference between two consecutive Qp values.

Method 1a

In this method, the difference between two adjacent Qpc entries within [ startID, endID ] is encoded:

dQpC[i]=QpC[i]-QpC[i-1] (1)

in general, SDR and HDR Qpc tables in accordance with the teachings of the present disclosure may include only dQp values of 0 and 1. The delta QP value may be signaled directly. Alternatively, the codeword may consist of multiple Δ QP values. For example, the Δ QP values for Cb and Cr pairs having the same index value may be combined. As another example, for Cb and similarly for Cr, the Δ QP values for two successive index values may be combined. Optionally, the sequence of codewords constructed from the combination of Δ QP values may be further compressed using methods such as huffman coding or other lossless compression algorithms. For delta QP other than 0 and 1 cThe value, the maximum delta value can be specified in the syntax. In some cases, the startID and endID may be limited to even or odd values to reduce the number of bits that need to be signaled.

The following description of further embodiments will focus on the differences between the embodiments and the previously described embodiments. Thus, features common to both embodiments will be omitted from the following description, and it should therefore be assumed that features of the previously described embodiments may or at least may be implemented in further embodiments, unless the following description of further embodiments requires otherwise.

Force method 1b

In this method, the difference between each pair { qPi, Qpc } within [ startID, endID ] can be encoded as:

dQp[i]=qPi[i]-QpC[i] (2)

the Δ QP value between qPi and Qpc may be in the range of 0 to 18. This indicates that method 1a may be more encoding friendly than method 1 b.

Method 1c

The method is based on fitting qPi a Qpc mapping curve by a piecewise linear function defined as:

wherein the content of the first and second substances,

method 1d

In this approach, the dQp defined in equation (1) can be coded using run length codingC[i]The value is encoded. Referring to table (100) of fig. 1, as an example, a series of 0 and 1 values of Δ Qp are obtained. The delta value (0 or 1) and the count of subsequent values may be encoded. Fig. 3 shows a table (300) as an exemplary illustration of a Qpc table based on this approach.

According to embodiments of the present disclosure, a default Qp may be predefined for each of the different signal types (e.g., SDR, PQ, and HLG content)CTable (7). Fig. 4A-4B show tables (400A, 400B) of exemplary Qpc tables representing HDR PQ and HLG content, respectively. If user defined QpCThe table does not exist, instead, the encoder and decoder may apply a default QpCTable (7). Embodiments according to the present disclosure may be envisaged, i.e. wherein the user-defined Qp is not signaledC. This approach has the benefit of saving more bits.

The following table corresponds to method 1a above, showing an exemplary syntax of the raw byte sequence payload (RBSB) of the SPS and Tile (Tile) group header, where syntax elements according to the teachings of the present disclosure are depicted in highlighted fonts in contrast to other existing syntax elements. Followed by a detailed description of various syntax elements. A default Qpc table specified in the form of SPS may be signaled by a default Qpc table type index. If no default table is provided, the predefined Qpc table may be sent in SPS form with a Δ Qp value between two adjacent table elements. One or more alternative QPc tables for use in slices may be signaled in the form of PPS to override the SPS QPc tables.

sps _ default _ qpc _ table _ flag equal to 1 specifies that the default chroma quantization parameter table should be used, and thus no Qp needs to be sentCTable (7). Instead, an index is signaled to indicate which default Qp to useCTable (7). sps _ default _ qpc _ table _ flag equal to 0 specifies that the default Qp has not been definedCAnd the table needs to be transmitted in SPS form.

default _ qpc _ table _ type _ idx indicates which default QpC table to use when sps _ default _ qpc _ table _ flag is equal to 1. default _ QpC _ table _ type _ idx equal to 0 and pps _ slice _ QpC _ table _ present _ flag equal to 0 indicate that one or more default SDR QpC tables should be used. default _ QpC _ table _ type _ idx equal to 1 and pps _ slice _ QpC _ table _ present _ flag equal to 0 indicate that one or more HDR PQ QpC tables should be used. default _ QpC _ table _ type _ idx equal to 2 and pps _ slice _ QpC _ table _ present _ flag equal to 0 indicate that one or more default HLG QpC tables should be used. Default _ qpc _ table _ type _ idx equal to 3 is reserved for future use.

sps _ separate _ qpc _ table _ enable _ flag equal to 1 specifies that Cb and Cr use separate QpC tables. SPS _ Cr _ qp _ delta [ i ] and spS _ Cr _ qp _ gap _ idx are defined and signaled in SPS form, and slice _ Cr _ qp _ delta [ i ] and slice _ Cr _ qp _ gap _ idx are defined in slice headers. sps _ separate _ qpc _ table _ enable _ flag equal to 0 specifies that Cb and Cr use the same QpC table.

sps _ qpc _ table _ start _ index _ div2 specifies the starting index from which QpC table elements should be signaled with a Δ QP value. The index is defined as an even number between 0 and 63. For table elements with indices less than sps _ qpc _ table _ start _ index _ div2 × 2, QpC is set to be the same as qPi.

sps _ qpc _ table _ end _ index _ div2 specifies the end index before which QpC table elements should be signaled with a Δ QP value. The index is defined as an even number between 0 and 63. For table elements with indices greater than sps _ qpc _ table _ end _ index _ div2 × 2, sps _ cb _ qp _ delta [ i ] and sps _ cr _ qp _ delta [ i ] are set to 1.

SPS _ Cb _ qp _ delta [ i ] specifies the delta value between spsQpcb [ i1 and spsQpcb [ i-1], where SPS _ Cb _ qp _ delta [0] to construct a quantization parameter table for Cb defined in the form of SPS. The ith entry of the Cb quantization parameter table in SPS form is derived as follows: spsQpcb [ i ] ═ sps _ cb _ qp _ delta [ i ] + spsQpcb [ i-1 ].

SPS _ Cr _ qp _ delta [ i ] specifies the delta value between spsQpcr [ i ] and spsQpcr [ i-1], where SPS _ Cr _ qp _ delta [0] to construct a quantization parameter table for Cr defined in the form of SPS. The ith entry of the Cr quantization parameter table in SPS form is obtained as follows: spsQpcr [ i ] ═ sps _ cr _ qp _ delta [ i ] + spsQpcr [ i-1 ].

pps _ slice _ qpc _ table _ present _ flag equal to 1 specifies that quantization parameter tables for Cb and Cr components of the current slice exist and are defined in the form of slice headers. pps _ slice _ qpc _ table _ present _ flag equal to 0 specifies that the quantization parameter tables for the Cb and Cr components of the current slice do not exist in the form of slice headers, and that the default quantization parameter tables are applicable for Cb and Cr.

slice _ Cb _ qp _ delta [ i ] specifies the delta value between slice qpcb [ i ] and slice qpcb [ i-1], where slice _ Cb _ qp _ delta [0] to construct a slice quantization parameter table for Cb. The ith entry of the table of slices QpC for the Cb component is: sliceQpcb [ i ] ═ slice _ cb-qp-delta [ i ] + sliceQpcb [ i-1 ].

Slice _ Cr _ qp _ delta [ i ] is defined to specify a delta value between slice qpcr [ i ] and slice qpcr [ i-1] when sps _ partition _ qpc _ table _ enable _ flag is equal to 1, where slice _ Cr _ qp _ delta [0] to construct a slice quantization parameter table of Cr. The i-th entry of the table of slices QpC for the Cr component is: sliceQpcr [ i ] ═ slice _ cr _ qp _ delta [ i ] + sliceQpcr [ i-1 ].

2. Independent of the brightness QPGet chroma QP

According to further embodiments of the present disclosure, the luminance Qp and the chrominance Qp may be signaled independently. The benefit of this approach is the elimination of chroma QP dependency on luma QP. Chroma QP derivation in accordance with embodiments of the present disclosure is described in detail below,

The initial values of the chroma quantization parameters SliceQpCb and SliceQpCr for the slices can be obtained as follows:

SliceQpCb=26+init_qp_minus26+slice_cb_qp_delta

(3)

SliceQpCr=26+init_qp_minus26+slice_cr_qp_delta (4)

if the current quantized packet is the first quantized packet in a slice or block, qP will beCb_PREVAnd qPCr_PPEVAre respectively set equal to SliceQpCbAnd SliceQpCr. Otherwise, qPCb_PREVAnd qPcr_PREVSet equal to the chrominance quantization parameter Qp of the last chrominance coding unit in the previous quantization packet in decoding orderC

qPCb_PREDAnd qPCr_PREDIs the predicted chroma quantization parameter for the current coding unit. If the current quantized packet is the first quantized packet of CTB lines within a block and the top coding unit is available, then qP will beCb_PREDAnd qPCr_PREDSet as Qp of the top CUCAnd if not, the step (B),

qPCb_PRED=(qPCb_A+qPCb_B+1)>>1 (5)

qPCr_PRED=(qPCr_A+qPCr_B+1)>>1 (6)

wherein if the left coding block is not the first coding block in the left quantized packet or if the left coding block is not available, then qP is usedCb_AAnd qPCr_AAre respectively set to qPCb_PREVAnd qPCr_PREV(ii) a If the top coding block is not the first coding block in the top quantized packet or if the top coding block is not available, qP is appliedCb_BAnd qPCr_BAre respectively set to qPCb_PREVAnd qPCr_PREV

The variables QpCb and QpCr for each coding unit can be found as follows:

QpCb=((qPCb_PRED+CuCbQpDeltaVal+64+2*QpBdOffsetC)%(64+QpBdOffsetC))-QpBdOffsetC (7)

QpCr=((qPCr_PRED+CuCrQpDeltaVal+64+2*QpBdOffsetC)%(64+QpBdOffsetC))-QpBdOffsetC (8)

then, obtaining a chrominance quantization parameter Qp'CbAnd Qp'CrThe following were used:

Qp′Cb=QpCb+QpBdOffsetC (9)

Qp′Cr=QpCr+QpBdOffsetC (10)

the differences CuCbQpDeltaVal and CuCrQpDeltaVal between the quantization parameter of the current coding unit and its prediction can be specified at the transform unit layer. There are several ways that the Δ QP value can be encoded:

Hereinafter, an exemplary method according to the teachings of the present disclosure will be described. Further, the difference between the QP of each color component (e.g., luma, chroma Cb and chroma Cr) and its predictor is abbreviated dPQ' to distinguish from dPQ, which indicates the difference between consecutive QPs in the Qpc table context as previously described.

Method 2a

In this method, dPQ' of three color components (luminance, chrominance Cb and chrominance Cr) represented by the variables CuQpDeltaVal, CuCbQpDeltaVal and CuCrQpDeltaVal, respectively, are encoded.

The following description of further embodiments will focus on the differences between the embodiments and the previously described embodiments. Thus, features common to both embodiments will be omitted from the following description, and it should therefore be assumed that features of the previously described embodiments may or at least may be implemented in further embodiments, unless the following description of further embodiments requires otherwise.

Method 2b

In this method, dQP' (CuQpDeltaVal) of the luminance component is encoded. Further, the difference between dQp 'and luma dQp' for each chroma component is encoded according to the following:

CbdQpDeltaVal=CuCbQpDeltaVal-CuQpDeltaVal (11)

CrdQpDeltaVal=CuCrQpDeltaVal-CuQpDeltaVal (12)

method 2c

In this method, an element CrCbdQpDeltaVal defined as follows is encoded

CrCbdQpDeltaVal=CuCrQpDeltaVal-CuCbQpDeltaVal (13)

Wherein the elements cucrqpdeltaVal and cucbqpdeltaVal have the same definitions as in the case of method 2c described above.

Method 2d

In this method, an element CrCbdQpDeltaVal defined as follows is encoded

CrCbdQpDeltaVal=CuCrQpDeltaVal-CuCbQpDeltaVal

Wherein the elements CuCrQpDeltaVal and CuCbQpDehaVal have the same definitions as in the case of method 2c described above.

Method 2e

In this method, the difference between chroma QP and luma QP defined as follows is encoded.

dQp′Cb=Qp′Y-Qp′Cb (14)

dQp′Cr=Qp′Y-Qp′Cr (15)

Signaling of method 2e is similar to method 2a, and there is no need to signal slice _ cb _ qp _ delta and slice _ cr _ qp _ delta in the form of slice headers (see below).

The following table corresponds to method 2a above, showing an exemplary syntax of the raw byte sequence payload (RBSB) of the SPS and tile group header, where syntax elements according to the teachings of the present disclosure are depicted in italics in contrast to other existing syntax elements. Followed by a detailed description of various syntax elements.

The methods and systems described in this disclosure may be implemented in hardware, software, firmware, or any combination thereof. Features described as blocks, modules, or components may be implemented together (e.g., in a logic device such as an integrated logic device) or separately (e.g., as separately connected logic devices). The software portion of the methods of the present disclosure may include a computer readable medium comprising instructions that when executed perform, at least in part, the described methods. The computer-readable medium may include, for example, Random Access Memory (RAM) and/or Read Only Memory (ROM). The instructions may be executed by a processor (e.g., a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a field programmable logic array (FPGA), a Graphics Processing Unit (GPU), or a general purpose GPU).

Various embodiments of the present disclosure have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments are within the scope of the following claims.

The above examples are provided as complete disclosures and descriptions of how to make and use embodiments of the present disclosure to those of ordinary skill in the art, and are not intended to limit the scope of what the inventor/s regard as their disclosure.

Modifications of the above-described modes for carrying out the methods and systems disclosed herein that are obvious to those skilled in the art are intended to be within the scope of the following claims. All patents and publications mentioned in the specification are indicative of the levels of those skilled in the art to which the disclosure pertains. All references cited in this disclosure are incorporated by reference to the same extent as if each reference had been individually incorporated by reference in its entirety.

It is to be understood that this disclosure is not limited to a particular method or system, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in this specification and the appended claims, the singular forms "a", "an", and "the" include plural referents unless the context clearly dictates otherwise. The term "plurality" includes two or more of the referents unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于帧间预测的参数推导

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类