Quantization of residuals in video coding
A method of decoding an encoded signal is provided, said encoded signal received within a bitstream, the method comprising: receiving a set of quantized data associated with the encoded signal; determining at least one dequantization parameter; and dequantizing the quantized data based at least in part of the at least one dequantization parameter.
1 . A method of decoding an encoded signal received within a bitstream, the method comprising:
receiving the bitstream comprising the encoded signal, the bitstream comprising a first portion and a second portion, the first portion comprising quantized data that, when decoded, results in decoded data, the second portion comprising a first sub-portion indicating a dequantization parameter to be used for dequantizing the quantized data within the first portion and comprising a second sub-portion that indicates a process to be used for dequantizing the quantized data within the first portion;
accessing a set of quantized data associated with the encoded signal from within the first portion of the bitstream;
determining at least one dequantization parameter from the first sub-portion of the second portion of the bitstream;
determining from the second sub-portion of the second portion of the bitstream the process which will be used for dequantizing the quantized data of the first portion;
dequantizing the quantized data using the process determined from the second sub-portion and based at least in part on the at least one dequantization parameter determined from the first sub-portion;
wherein the quantized data comprises a plurality of subsets of quantized data, and wherein the at least one dequantization parameter comprises a plurality of dequantization parameters, each one of the plurality of dequantization parameters corresponding to a respective one of the plurality of subsets of quantized data, and wherein the dequantizing operation further comprises dequantizing each of the plurality of subsets of quantized data based at least in part on its respective dequantization parameter from the plurality of dequantization parameters;
wherein the plurality of dequantization parameters comprises at least a quantization step width parameter, said quantization step width parameter received in the bitstream, and at least one scaling factor, wherein the at least one scaling factor comprises a plurality of scaling factors, each of the plurality of scaling factors corresponding to a respective one of the plurality of subsets of quantized data, wherein determining the at least one dequantization parameter comprises deriving a plurality of dequantization parameters, each of the plurality of dequantization parameters being obtained by processing the quantization step width parameter with a respective one of the plurality of scaling factors;
wherein actual quantization parameters SW(s) actual are computed by processing a received quantization step width parameter SW signalled with scaling factors SF(s) computed , by a function of at least these two factors according to:
S
W
(
s
)
actual
=
f
(
S
W
s
i
g
n
a
l
l
e
d
,
S
F
(
s
)
computed
,
…
)
;
wherein the function f(⋅) is a multiplication according to:
S
W
(
s
)
a
c
t
u
a
l
=
S
W
s
i
g
n
a
lled
*
SF
(
s
)
c
o
m
p
u
t
e
d
;
and
wherein the dequantization operation comprises dequantized data being computed as
d
i
(
)
=
SW
actual
i
*
q
i
(
)
,
wherein q i (⋅) is the quantized data subset, and
SW
actual
i
is the actual quantization step for the i-th quantized data subset.
2 . The method according to claim 1 , wherein the step of determining further comprises:
deriving from a bitstream comprising the encoded signal an indication of the dequantization operation to be applied for dequantizing the quantized data; and
determining said at least one dequantization parameter based at least in part on said indication.
3 . The method according to claim 2 , wherein the dequantization operation comprises using at least one predetermined dequantization parameter for determining the at least one dequantization parameter, and wherein the at least one pre-determined dequantization parameter corresponds to a default dequantization parameter.
4 . The method according to claim 3 , wherein the encoded signal comprises a sequence of samples, and wherein the at least one pre-determined dequantization parameter corresponds to a dequantization parameter used for decoding a previous sample.
5 . The method according to claim 1 , wherein the dequantization operation comprises updating the at least one pre-determined dequantization parameter using at least one updated parameter received in the bitstream.
6 . The method according to claim 1 , wherein the at least one dequantization parameter comprises a quantization step width parameter, said quantization step width parameter being received in the bitstream.
7 . The method according to claim 6 , wherein the at least one dequantization parameter further comprises at least one scaling factor, and wherein determining the at least one dequantization parameter comprises processing the quantization step with the at least one scaling factor.
8 . The method according to claim 1 , wherein actual quantization parameters SW(s) actual are computed further based on step width modifiers SW(s) modifier , and wherein dequantization offsets are used for the dequantization operation, according to:
S
W
(
s
)
actual
=
f
(
S
W
s
i
gnalled
,
SF
(
s
)
computed
,
SW
(
s
)
modifier
)
.
9 . The method according to claim 8 , wherein f(⋅) is a function according to:
S
W
(
s
)
actual
=
(
(
S
W
s
i
gnalled
*
S
F
(
s
)
computed
)
+
S
W
(
s
)
modifier
)
,
and
wherein the dequantization operation comprises dequantized data being computed as
d
i
(
)
=
SW
actual
i
*
q
i
(
)
+
DO
i
wherein q i (⋅) is the quantised data subset, and
SW
actual
i
is the actual quantization step for the i-th quantized data subset, and DO i is the dequantization offset for the specific i-th quantized data subset.
10 . The method according to claim 1 , wherein the set of quantized data comprises a group of transformed coefficients scaled using a linear quantizer, and wherein the linear quantizer uses a non-centred de-quantization offset.
11 . The method according to claim 10 , wherein the value of the dequantization offset is received from an encoder, and wherein the received offset value offset is added to a received quantized value prior to dequantization based on a stepwidth.
12 . The method according to claim 1 , wherein the method further comprises receiving a base decoded signal coded with a first codec, wherein the dequantized data represents a set of residuals, the method further comprising combining the dequantized data with a base decoded signal to produce a reconstructed signal.
13 . The method according to claim 12 , wherein the method further comprises:
receiving a further set of quantized data associated with a further encoded signal, the further encoded signal received within the bitstream;
receiving a further set of quantized data associated with the further encoded signal;
determining at least one further dequantization parameter;
dequantizing the further quantized data based at least in part on the at least one dequantization parameter;
upsampling the reconstructed signal to produce an upsampled reconstructed signal;
combining the further dequantized data with the upsampled reconstructed signal to produce a further reconstructed signal.
14 . A decoder for decoding an encoded stream into a reconstructed output video, the decoder being configured to:
receive the bitstream comprising the encoded signal, the bitstream comprising a first portion and a second portion, the first portion comprising quantized data that, when decoded, results in decoded data, the second portion comprising a sub-portion indicating a dequantization parameter to be used for dequantizing the quantized data within the first portion and comprising a second sub-portion that indicates a process to be used for dequantizing the quantized data within the first portion;
access a set of quantized data associated with the encoded signal from within the first portion of the bitstream;
determine at least one dequantization parameter from the first sub-portion of the second portion of the bitstream;
determine from the second sub-portion of the second portion of the bitstream the process which will be used for dequantizing the quantized data of the first portion;
dequantize the quantized data using the process determined from the second sub-portion and based at least in part of the at least one dequantization parameter determined from the first sub-portion;
wherein the quantized data comprises a plurality of subsets of quantized data, and wherein the at least one dequantization parameter comprises a plurality of dequantization parameters, each one of the plurality of dequantization parameters corresponding to a respective one of the plurality of subsets of quantized data, and wherein the dequantizing operation further comprises dequantizing each of the plurality of subsets of quantized data based at least in part on its respective dequantization parameter from the plurality of dequantization parameters;
wherein the plurality of dequantization parameters comprises at least a quantization step width parameter, said quantization step width parameter received in the bitstream, and at least one scaling factor, wherein the at least one scaling factor comprises a plurality of scaling factors, each of the plurality of scaling factors corresponding to a respective one of the plurality of subsets of quantized data, wherein determining the at least one dequantization parameter comprises deriving a plurality of dequantization parameters, each of the plurality of dequantization parameters being obtained by processing the quantization step width parameter with a respective one of the plurality of scaling factors;
wherein actual quantization parameters SW(s) actual are computed by processing a received quantization step width parameter SW signalled with scaling factors SF(s) computed , by a function of at least these two factors according to:
S
W
(
s
)
actual
=
f
(
S
W
s
i
g
n
a
l
l
e
d
,
S
F
(
s
)
computed
,
…
)
;
wherein the function f(⋅) is a multiplication according to:
S
W
(
s
)
a
c
t
u
a
l
=
S
W
s
i
g
n
a
lled
*
SF
(
s
)
c
o
m
p
u
t
e
d
;
and
wherein the dequantization operation comprises dequantized data being computed as
d
i
(
)
=
SW
actual
i
*
q
i
(
)
,
wherein q i (⋅) is the quantized data subset, and
SW
actual
i
is the actual quantization step for the i-th quantized data subset.
15 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
receive the bitstream comprising the encoded signal, the bitstream comprising a first portion and a second portion, the first portion comprising quantized data that, when decoded, results in decoded data, the second portion comprising a sub-portion indicating a dequantization parameter to be used for dequantizing the quantized data within the first portion and comprising a second sub-portion that indicates a process to be used for dequantizing the quantized data within the first portion;
access a set of quantized data associated with the encoded signal from within the first portion of the bitstream;
determine at least one dequantization parameter from the first sub-portion of the second portion of the bitstream;
determining from the second sub-portion of the second portion of the bitstream the process which will be used for dequantizing the quantized data of the first portion;
dequantize the quantized data using the process determined from the second sub-portion and based at least in part of the at least one dequantization parameter determined from the first sub-portion;
wherein the quantized data comprises a plurality of subsets of quantized data, and wherein the at least one dequantization parameter comprises a plurality of dequantization parameters, each one of the plurality of dequantization parameters corresponding to a respective one of the plurality of subsets of quantized data, and wherein the dequantizing operation further comprises dequantizing each of the plurality of subsets of quantized data based at least in part on its respective dequantization parameter from the plurality of dequantization parameters;
wherein the plurality of dequantization parameters comprises at least a quantization step width parameter, said quantization step width parameter received in the bitstream, and at least one scaling factor, wherein the at least one scaling factor comprises a plurality of scaling factors, each of the plurality of scaling factors corresponding to a respective one of the plurality of subsets of quantized data, wherein determining the at least one dequantization parameter comprises deriving a plurality of dequantization parameters, each of the plurality of dequantization parameters being obtained by processing the quantization step width parameter with a respective one of the plurality of scaling factors;
wherein actual quantization parameters SW(s) actual are computed by processing a received quantization step width parameter SW signalled with scaling factors SF(s) computed , by a function of at least these two factors according to:
S
W
(
s
)
actual
=
f
(
S
W
s
i
g
n
a
l
l
e
d
,
S
F
(
s
)
computed
,
…
)
;
wherein the function f(⋅) is a multiplication according to:
S
W
(
s
)
a
c
t
u
a
l
=
S
W
s
i
g
n
a
lled
*
SF
(
s
)
c
o
m
p
u
t
e
d
;
and
wherein the dequantization operation comprises dequantized data being computed as
d
i
(
)
=
SW
actual
i
*
q
i
(
)
,
wherein q i (⋅) is the quantized data subset, and
SW
actual
i
is the actual quantization step for the i-th quantized data subset.