IP Library Granted Patent US 9,706,203
Granted Patent B2
US 9,706,203 · App. 14/805,120 · Granted Jul 11, 2017

Low latency video encoder

Inventors: Pascal Eymery (Saint Martin d'Heres, FR); Christophe Chong-Pan (Grenoble, FR)
Assignee: Allegro DVT
H04N19/115H04N19/124H04N19/139H04N19/142H04N19/146H04N19/149H04N19/152H04N19/174H04N19/61
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 9,706,203
App. No.
14/805,120
Granted
Jul 11, 2017
Kind
B2
Abstract

The invention concerns a method comprising: encoding, by a video encoder and based on a first quantization factor (QP), one or more first groups of image blocks of a video frame; estimating, by a processing device, the size of an image slice comprising a plurality of further groups of image blocks to be encoded; and determining, based on the estimated size of the image slice, a second quantization factor (QP) to be applied to one or more of the further groups.

Claims (80)

1. A method comprising:

encoding, by a video encoder and based on a first quantization factor (QP), one or more first groups of image blocks of a first video frame;

estimating, by a processing device, the size of an image slice comprising a first plurality of further groups of image blocks to be encoded; and

determining, based on the estimated size of the image slice, a second quantization factor (QP) to be applied to one or more of the further groups of the first plurality of further groups.

2. The method of claim 1 , wherein the image slice is a sliding window comprising a fixed number N G of further groups of image blocks to be encoded, wherein N G is an integer equal to 2 or more.

3. The method of claim 2 , wherein the one or more first groups of image blocks are stored in a buffer, and wherein the method further comprises predicting the occurrence of buffer overflow in said buffer based on the estimated size of the sliding window.

4. The method of claim 2 , wherein the further groups of image blocks of the image slice comprise at least one group of image blocks of the first video frame and at least one group of image blocks of a second video frame following the first video frame.

5. The method of claim 2 , further comprising:

encoding, based on the second quantization factor (QP), the one or more further groups of image blocks of the first plurality of image blocks; and

estimating, by the processing device, a new size of the sliding window comprising a second plurality of N G further groups of image blocks to be encoded; and

determining, based on the estimated new size of the sliding window, a third quantization factor (QP) to be applied to one or more of the further groups of the second plurality of further groups.

6. The method of claim 1 , wherein the first video frame comprises N groups of image blocks, N being equal to 3 or more, and wherein the further groups of the first plurality comprise N′ groups, where N′ is less than N.

7. The method of claim 1 , wherein estimating the size of the image slice comprises estimating the size of each of the first plurality of further groups of image blocks based on the size of the first group of image blocks.

8. The method of claim 7 , wherein the size of each of the further groups of image blocks of the first plurality is estimated by:

identifying, for each further group of image blocks, a corresponding group of image blocks in a previous video frame; and

estimating the size of each further group of image blocks based on the size of its corresponding group of image blocks in the previous frame and on the quantization factor that was used to encode the corresponding group of image blocks, wherein estimating the size of each of the further groups of image blocks is based on the equation:

Predicted_Group

_Size

[

g

]

=

Old_Group

_Size

[

g

]

×

2

(

Old_Group

_

QP

(

g

)

-

NewQP

6

)

where Predicted_Group_Size[g] is the size estimation of the further group g, Old_Group_Size[g] is the size of the corresponding group of image blocks in the previous frame, Old_Group_QP(g) is the quantization factor that was used to encode the corresponding group of image blocks, and NewQP is the first quantization factor.

9. The method of claim 8 , wherein, for each further group of image blocks, the corresponding group of image blocks is either:

a group of image blocks of the previous frame having the same position in the image as the further group; or

a group of image blocks identified based on one or more motion vectors between image blocks of the previous video frame and image blocks of the first video frame.

10. The method of claim 1 , wherein determining the second quantization factor comprises comparing the estimated size of the image slice with an image slice size limit, and reducing or increasing the first quantization factor based on the comparison.

11. The method of claim 1 , further comprising:

detecting by the processing device whether or not a scene change occurred between the video frame and a previous video frame by comparing the size of the first group of image blocks with at least one threshold determined based on the size of a group of image blocks in a previous frame corresponding to the first group;

if a scene change is not detected, estimating the size of each further group of image blocks based on the size of a corresponding group of image blocks in the previous video frame; and

if a scene change is detected, estimating the size of each further group of image blocks based on the size of one or more encoded groups of image blocks of the current video frame.

12. The method of claim 1 , wherein each video frame comprises N groups of image blocks, and wherein the video slice comprises N groups of image blocks.

13. A processing device comprising:

estimator circuitry that determines, based on a first quantization factor (QP) used to encode one or more first groups of image blocks of a first video frame, the size of an image slice comprising a first plurality of further groups of image blocks to be encoded; and

rate control circuitry that determines, based on the estimated size of the image slice, a second quantization factor (QP) to be applied to one or more of the further groups of the first plurality of further groups.

14. A video transmission circuit comprising:

a video encoder adapted to compress a video signal based on quantization parameter;

the processing device of claim 13 for providing the quantization parameter; and

an output buffer for storing the compressed video signal.

15. A video transmission system comprising:

the video transmission circuit of claim 14 , wherein the video signal is provided by a capture device;

a receive circuit coupled to the video transmission circuit by a transmission interface, the receive circuit comprising:

an input buffer for receiving the compressed video signal;

a decoder for decoding the compressed video signal to generate a decompressed video signal; and

a display for displaying the decompressed video signal.

16. A video transmission circuit comprising:

a video encoder adapted to compress a video signal based on quantization parameter;

a processing device for providing the quantization parameter, adapted to estimate, based on a first quantization factor (QP) used to encode one or more first groups of image blocks of a first video frame, the size of an image slice comprising a first plurality of further groups of image blocks to be encoded, and to determine, based on the estimated size of the image slice, a second quantization factor (QP) to be applied to one or more of the further groups of the first plurality of further groups; and

an output buffer for storing the compressed video signal.

17. A video transmission system comprising:

the video transmission circuit of claim 16 , wherein the video signal is provided by a capture device;

a receive circuit coupled to the video transmission circuit by a transmission interface, the receive circuit comprising:

an input buffer for receiving the compressed video signal;

a decoder for decoding the compressed video signal to generate a decompressed video signal; and

a display for displaying the decompressed video signal.

Assignments (3)
CHANGE OF NAME Recorded Oct 15, 2018
From: ALLEGRO DVT
To: VEEVO
Reel/Frame 047164/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2018
From: VEEVO
To: ALLEGRO DVT2
Reel/Frame 047164/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2015
From: EYMERY, PASCAL; GHONG-PAN, CHRISTOPHE
To: ALLEGRO DVT
Reel/Frame 036518/0120 →
Priority Claims (1)
FR 14 57231 · Jul 25, 2014 · national
Continuity (1)
Related Publication 20160029020A1 · Jan 28, 2016