IP Library › Granted Patent US 11,405,617
Granted Patent B1
US 11,405,617 · App. 16/880,542 · Granted Aug 2, 2022

Method and system to enhance compression efficiency in encoded video by using dual pass entropy coding

Inventor: Akrum Elkhazin (Sunnyvale, CA)
Assignee: Xilinx, Inc.
H04N19/13G06F17/18H04N19/146H04N19/172
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 11,405,617
App. No.
16/880,542
Granted
Aug 2, 2022
Kind
B1
Abstract

Methods and systems for improving encoding of a picture or a frame are disclosed. According to one embodiment, a method for encoding video frames includes receiving for a frame, several binarized symbols that include a number of bins corresponding to one or more contexts. For each context from one or more contexts, the method includes entropy encoding in a first pass bins associated with the context using an initial probability distribution for the context; generating counts of zeros and ones in a set of bins associated with the context; updating the initial probability distribution using the respective counts of zeros and ones, to obtain an updated probability distribution; and entropy encoding in a second pass the bins associated with the context using the updated probability distribution, to provide at least a part of an encoded bitstream.

Claims (53)

1. A method for encoding video frames, the method comprising:

receiving for a frame, a plurality of binarized symbols comprising a plurality of bins corresponding to one or more contexts;

for each context from the one or more contexts:

entropy encoding in a first pass a set of bins associated with the context using an initial probability distribution for the context;

generating counts of zeros and ones in a set of bin types associated with the context based on the entropy encoding the set of bins in the first pass;

updating the initial probability distribution using the respective counts of zeros and ones, to obtain an updated probability distribution; and

entropy encoding in a second pass the set of bins associated with the context using the updated probability distribution, to provide at least a part of an encoded bitstream.

2. The method of claim 1 , wherein:

the step of entropy encoding in the first pass is performed by a first entropy encoder for a current frame; and

the step of entropy encoding in the second pass is performed simultaneously by a second entropy encoder for a previous frame.

3. The method of claim 1 , wherein a size in pixels of the frame is 1280×720, 1920×1080, or 3840×2160.

4. The method of claim 1 , wherein the step of entropy encoding in the first pass and the step of entropy encoding in the second pass are incorporated within a standardized encoding process.

5. The method of claim 4 , wherein the standardized encoding process is selected from a group consisting of HEVC, VP9, and AV1.

6. The method of claim 1 , wherein the step of entropy encoding in the first pass and the step of entropy encoding in the second pass are incorporated within a real-time encoding process.

7. The method of claim 1 , further comprising:

estimating in the step of entropy encoding in the first pass a size in bits or bytes of the frame upon encoding thereof; and

supplying the estimated size of the frame to a rate control mechanism.

8. The method of claim 7 , further comprising:

supplying in the step of entropy encoding in the second pass an actual size in bits or bytes of the frame, upon encoding thereof, to a rate control mechanism.

9. The method of claim 7 , further comprising:

adjusting by the rate control mechanism a quantization parameter for encoding subsequent frames using the estimated size of the frame.

10. The method of claim 1 , wherein the step of entropy encoding in the first pass and the step of entropy encoding in the second pass are performed sequentially using a single entropy encoder.

11. A system for encoding video frames, comprising:

a processor; and

a memory in communication with the processor and comprising instructions which, when executed by the processor, program the processor to:

receive for a frame, a plurality of binarized symbols comprising a plurality of bins corresponding to one or more contexts;

for each context from the one or more contexts:

initiate entropy encoding in a first pass a set of bins associated with the context using an initial probability distribution for the context;

obtain counts of zeros and ones in a set of bin types associated with the context based on the entropy encoding the set of bins in the first pass;

update the initial probability distribution using the respective counts of zeros and ones, to obtain an updated probability distribution; and

initiate entropy encoding in a second pass the set of the bins associated with the context using the updated probability distribution, for providing at least a part of an encoded bitstream.

12. The system of claim 11 , further comprising:

a first entropy encoder that is initiated by the processor to perform entropy encoding in the first pass for a current frame; and

a second entropy encoder this is initiated by the processor to perform entropy encoding in the second pass simultaneously for a previous frame.

13. The system of claim 12 , wherein the instructions further program:

the processor to operate as the first encoder or the second encoder; or

another, different processor to operate as the second encoder or the first encoder.

14. The system of claim 12 , wherein the first encoder or the second encoder comprises a field programmable gate array (FPGA) based processor.

15. The system of claim 11 , wherein a size in pixels of the frame is 1280×720, 1920×1080, or 3840×2160.

16. The system of claim 11 , wherein the instructions further program the processor to perform one or more additional operations of a standardized encoding process.

17. The system of claim 11 , wherein the processor is in communication with and integrated with an image compression system adapted to implement one or more operations of a standardized encoding process.

18. The system of claim 17 , wherein the standardized encoding process is selected from a group consisting of HEVC, VP9, and AV1.

19. The system of claim 11 , wherein the processor is included within a real-time encoding system.

20. The system of claim 11 , wherein the instructions further program the processor to:

estimate during the operation entropy encode in the first pass a size in bits or bytes of the frame upon encoding thereof; and

supply the estimated size of the frame to a rate control mechanism.

21. The system of claim 20 , wherein the instructions further program the processor to:

supply during the operation entropy encode in the second pass an actual size in bits or bytes of the frame, upon encoding thereof, to a rate control mechanism.

22. The system of claim 20 , further comprising:

the rate control mechanism configured to adjust a quantization parameter for encoding subsequent frames using the estimated size of the frame.

23. The system of claim 11 , further comprising:

a single entropy encoder configured to perform sequentially both operations: (i) entropy encode in the first pass and (ii) entropy encode in the second pass.

24. The system of claim 23 , wherein the instructions program the processor or another processor to operate as the single entropy encoder.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2022
From: ELKHAZIN, AKRUM
To: XILINX, INC.
Reel/Frame 058989/0700 →
Continuity (1)
Provisional Application 62850948 · May 21, 2019