IP Library Granted Patent US 10,440,365
Granted Patent B2
US 10,440,365 · App. 13/930,089 · Granted Oct 8, 2019

Methods and devices for emulating low-fidelity coding in a high-fidelity coder

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,440,365
App. No.
13/930,089
Granted
Oct 8, 2019
Kind
B2
Abstract

Methods of encoding and decoding video in a low-fidelity mode are described. A coding unit level low-fidelity flag is present in the bitstream to signal whether low-fidelity mode is enabled for a particular coding unit or not. If enabled, then, for that coding unit, the chroma quantization parameter is determined using the luma quantization parameter adjusted by a low-fidelity-mode offset. If not enabled, then, for that coding unit, the chroma quantization parameter is determined using the luma quantization parameter without adjustment by the low-fidelity-mode offset. The chroma quantization parameter is then used in the scaling of quantized chroma transform domain coefficients. Use with luma or other video components is also proposed.

Claims (54)

1. A method of decoding video from a bitstream of encoded video using a video decoder, the video including a picture partitioned into coding units, the method comprising:

for one of the coding units,

decoding, from the bitstream, a chroma-low-fidelity flag associated with that coding unit and associated with a chroma video component;

if the chroma-low-fidelity flag is set, then determining a chroma quantization parameter for the chroma video component based upon a luma quantization parameter and a low-fidelity-mode offset;

if the chroma-low-fidelity flag is not set, then determining the chroma quantization parameter for the chroma video component based upon the luma quantization parameter without using the low-fidelity-mode offset; and

dequantizing decoded coefficients of the chroma video component for that coding unit, based upon the chroma quantization parameter, to produce dequantized coefficients.

2. The method claimed in claim 1 , wherein decoding the chroma-low-fidelity flag comprises decoding the chroma-low-fidelity flag from a coding unit header associated with said one of the coding units.

3. The method claimed in claim 1 , the method further comprising:

if the chroma-low-fidelity flag is set, determining the minimum transform size used to decode a transform block associated with the chroma video component of that coding unit, based upon a low-fidelity-specific minimum;

if the chroma-low-fidelity flag is not set, using a pre-determined minimum transform size for use in decoding a transform block associated with that coding unit; and

decoding, from the bitstream, a transform tree in the chroma video component for the coding unit based upon the minimum transform size, to produce decoded coefficients.

4. The method claimed in claim 1 , the method further comprising:

if the chroma-low-fidelity flag is set, determining the number of intra prediction modes associated with the chroma video component of that coding unit to be one;

if the chroma-low-fidelity flag is not set, determining the number of intra prediction modes associated with the chroma video component of that coding unit, based upon the partitioning of the coding unit; and

decoding, from the bitstream, the determined number of intra prediction modes for the chroma video component of that coding unit.

5. The method claimed in claim 1 , wherein the low-fidelity-mode offset is decoded from a picture parameter set or a sequence parameter set.

6. The method of claim 1 , wherein regardless of whether the chroma-low-fidelity flag is set or not set, determining the chroma quantization parameter is further based on a predetermined chroma QP offset value.

7. The method claimed in claim 6 , wherein if the chroma-low-fidelity flag is set, determining is based upon the sum of the luma quantization parameter, the predetermined chroma QP offset value, and the low-fidelity-mode offset.

8. The method of claim 6 , wherein if the chroma-low-fidelity flag is set, then the determining is based upon indexing a first look-up table with the sum of the luma quantization parameter, the predetermined chroma QP offset value, and the low-fidelity-mode offset, and if the chroma-low-fidelity flag is not set, then the determining is based upon indexing a second look-up table with the sum of the luma quantization parameter and the predetermined QP offset value.

9. The method claimed in claim 8 , wherein the bitstream is encoded in a high-fidelity format, and wherein indexing the first look-up table to determine the chroma quantization parameter comprises indexing a chroma-subsampled format look-up table of chroma quantization parameters, and indexing the second look-up table comprises indexing a high-fidelity format look-up table different from the chroma-subsampled format look-up table.

10. The method claimed in claim 9 , wherein the high-fidelity format is one of 4:4:4 and 4:2:2, and wherein the chroma-subsampled format is 4:2:0.

11. The method of claim 8 , wherein the first look-up table is the same as the second look-up table.

12. A decoder for decoding a bitstream of encoded video to dequantize coefficients in a video decoder, the video including a picture partitioned into coding units, the decoder comprising:

a processor;

a non-transitory memory; and

a decoding application stored in the memory and containing instructions that, when executed by the processor, cause the processor to:

for one of the coding units,

decode, from the bitstream, a chroma-low-fidelity flag associated with that coding unit and associated with a chroma video component;

if the chroma-low-fidelity flag is set, then determine a quantization parameter for the chroma video component based upon a luma quantization parameter and a low-fidelity-mode offset;

if the chroma-low-fidelity flag is not set, then determine the chroma quantization parameter for the chroma video component based upon the luma quantization parameter without using the low-fidelity-mode offset; and

dequantize decoded coefficients of the chroma video component for that coding unit, based upon the chroma quantization parameter, to produce dequantized coefficients.

13. The decoder claimed in claim 12 , the instructions further comprising instructions that, when executed, cause the processor to:

if the chroma-low-fidelity flag is set, determine the minimum transform size used to decode a transform block associated with the chroma video component of that coding unit, based upon a low-fidelity-specific minimum;

if the chroma-low-fidelity flag is not set, use a pre-determined minimum transform size for use in decoding a transform block associated with that coding unit; and

decode, from the bitstream, a transform tree in the chroma video component for the coding unit based upon the minimum transform size, to produce decoded coefficients.

14. The decoder claimed in claim 12 , the instructions further comprising instructions that, when executed, cause the processor to:

if the chroma-low-fidelity flag is set, determine the number of intra prediction modes associated with the chroma video component of that coding unit to be one;

if the chroma-low-fidelity flag is not set, determine the number of intra prediction modes associated with the chroma video component of that coding unit, based upon the partitioning of the coding unit; and

decode, from the bitstream, the determined number of intra prediction modes for the chroma video component of that coding unit.

15. The decoder of claim 12 , wherein the instructions cause the processor to decode the low-fidelity mode offset from a picture parameter set or a sequence parameter set.

16. The decoder of claim 12 , wherein the instructions cause the processor to, regardless of whether the chroma-low-fidelity flag is set or not, determine the chroma quantization parameter further based on a predetermined QP offset value.

17. The decoder claimed in claim 16 , wherein if the chroma-low-fidelity flag is set, the instructions cause the processor to determine the chroma quantization parameter based upon the sum of the luma quantization parameter, the predetermined chroma QP offset value, and the low-fidelity-mode offset.

18. The decoder of claim 16 , wherein if the chroma-low-fidelity flag is set, then the determining is based upon indexing a first lookup table with the sum of the luma quantization parameter, the predetermined chroma QP value offset value, and the low-fidelity-mode offset and if the chroma-low-fidelity flag is not set, then the determining is based upon indexing a second lookup table with the sum of the luma quantization parameter and the predetermined QP offset value.

19. The decoder claimed in claim 18 , wherein the bitstream is encoded in a high-fidelity format, and wherein indexing the first look-up table to determine the chroma quantization parameter comprises indexing a chroma-subsampled format look-up table of chroma quantization parameters, and indexing the second look-up table comprises indexing a high-fidelity format look-up table different from the chroma-subsampled format look-up table.

20. The decoder claimed in claim 19 , wherein the high-fidelity format is one of 4:4:4 and 4:2:2, and wherein the chroma-subsampled format is 4:2:0.

21. The decoder of claim 18 , wherein the first look-up table is the same as the second look-up table.

22. The decoder of claim 12 , wherein when the chroma-low-fidelity flag is set the instructions cause the processor to determine the chroma quantization parameter by using a clipping operation.

23. The decoder of claim 12 , wherein when the chroma-low-fidelity flag is set the instructions cause the processor to determine the chroma quantization parameter further based on a bit depth of the picture.

24. A non-transitory processor-readable medium storing processor-executable instructions to decode video from a bitstream of encoded video, the video including a picture partitioned into coding units, wherein the instructions, when executed, cause one or more processors to:

for one of the coding units,

decode, from the bitstream, a chroma-low-fidelity flag associated with that coding unit and associated with a chroma video component;

if the chroma-low-fidelity flag is set, then determine a chroma quantization parameter for the chroma video component based upon a luma quantization parameter and a low-fidelity-mode offset;

if the chroma-low-fidelity flag is not set, then determine the chroma quantization parameter for the chroma video component based upon the luma quantization parameter without using the low-fidelity-mode offset; and

dequantize decoded coefficients of the video component for that coding unit, based upon the chroma quantization parameter, to produce dequantized coefficients.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: BLACKBERRY LIMITED
To: VELOS MEDIA, LLC
Reel/Frame 047525/0606 →
CHANGE OF NAME Recorded Mar 15, 2016
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 038087/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: NGUYEN, NGUYEN; HE, DAKE; FLYNN, DAVID
To: BLACKBERRY LIMITED
Reel/Frame 031005/0574 →