IP Library Granted Patent US 8,254,442
Granted Patent B2
US 8,254,442 · App. 11/875,099 · Granted Aug 28, 2012

Real time encoder with time and bit rate constraint, method, computer program product and corresponding storage means

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 8,254,442
App. No.
11/875,099
Granted
Aug 28, 2012
Kind
B2
Abstract

A real time encoder with bit rate constraint, of the type including: a capture buffer memory storing frames waiting to be processed; an encoding module receiving frames issued from the capture buffer memory and delivering compressed frames; an intermediate buffer memory, storing the compressed frames issued from the encoding module; and an emission buffer memory, storing data packets, resulting from the division of the compressed frames issued from the intermediate buffer memory, and emitting, with a controlled bit rate, the data packets on a communication channel. The encoder includes a control module, which dynamically adjusts the maximum size of the capture buffer memory, permitting the maximum size of the capture buffer memory to be temporarily increased as long as the emission buffer memory is not empty.

Claims (57)

1. Real time encoder, with a bit rate constraint and a time constraint, comprising:

a capture buffer memory, with a maximum initial size M c and for storing frames waiting to be processed;

an encoding module, receiving frames issued from the capture buffer memory and delivering compressed frames;

an intermediate buffer memory, storing the compressed frames issued from the encoding module;

an emission buffer memory, storing data packets, resulting from division of the compressed frames issued from the intermediate buffer memory, and emitting, with a controlled bit rate, said data packets on a communication channel, wherein the emission buffer memory has a filling level D v (t) expressed in number of packets contained in the emission buffer memory; and

a control module, which dynamically adjusts the maximum size of the capture buffer memory according to the following rules:

if the emission buffer memory is empty, the maximum size of the capture buffer memory is equal to said maximum initial size; and

if the emission buffer memory is not empty, the maximum size of the capture buffer memory is temporarily increased and is equal to a maximum temporary size M c ′, wherein:

M c <M c ′≦M c +D v ( t ).

2. Encoder of claim 1 , wherein the control module manages the speed of the emptying of the intermediate buffer memory according to a filling level of the capture buffer memory expressed in number of frames contained in the capture buffer memory.

3. Encoder of claim 2 , wherein said control module manages the speed of the emptying of the intermediate buffer memory according to the following rules:

if N c (t)≦M c , then the emptying of the intermediate buffer memory is carried out in synchronisation with the filling of the capture buffer memory, and

if N c (t)>M c , then the emptying of the intermediate buffer memory is carried out instantaneously and without synchronisation with the filling of the capture buffer memory,

where M c also corresponds to a maximum initial size of the intermediate buffer memory, and N c (t) is the filling level of the capture buffer memory expressed in number of frames contained in the capture buffer memory.

4. Encoder of claim 1 , wherein the control module dynamically adjusts the complexity of the encoding module by dynamic selection of a level of complexity from at least two distinct levels of complexity, according to a filling level N c (t) of the capture buffer memory expressed in number of frames contained in the capture buffer memory and the filling level D v (t) of the emission buffer memory expressed in number of packets contained in the emission buffer memory.

5. Encoder of claim 4 , wherein said control module adjusts the complexity of the encoding module according to the following rules:

if N c (t)≧k*M c ″, where M c ″=M c +D v (t), then said control module reduces the complexity of the encoding module,

otherwise, no reduction of the complexity of the encoding module,

where k<1 and M c is the maximum initial size of the capture buffer memory.

6. Encoder of claim 4 , wherein said control module adjusts the complexity of the encoding module according to the following rules:

if N c (t)>k*M c ″, where M c ″=MIN(M c +D v (t), M c +K), and if D v (t)<r*M v , then said control module reduces the complexity of the encoding module,

otherwise, no reduction of the complexity of the encoding module,

where K is a positive constant, k<1, r<1, M c is the maximum initial size of the capture buffer memory and M v is the maximum size of the emission buffer memory.

7. Encoder of claim 5 , wherein k is between 0.7 and 0.9, and in that r is between 0.2 and 0.4, and in that K=M c /2.

8. Control method of a real time encoder, with a bit rate constraint and a time constraint, the method comprising:

storing frames waiting to be processed in a capture buffer memory, which has a maximum initial size M c ;

receiving frames issued from the capture buffer memory in an encoding module and delivering compressed frames from the encoding module;

storing the compressed frames issued from the encoding module in an intermediate buffer memory;

storing data packets, resulting from division of the compressed frames issued from the intermediate buffer memory, in an emission buffer memory and emitting, with a controlled bit rate, said data packets on a communication channel, wherein the emission buffer memory has a filling level D v (t) expressed in number of packets contained in the emission buffer memory; and

dynamically adjusting the maximum size of the capture buffer memory according to the following rules:

if the emission buffer memory is empty, the maximum size of the capture buffer memory is equal to said maximum initial size; and

if the emission buffer memory is not empty, the maximum size of the capture buffer memory is temporarily increased and is equal to a maximum temporary size M c ′, wherein:

M c <M c ′≦M c +D v ( t ).

9. Method of claim 8 , wherein the method comprises managing the speed of the emptying of the intermediate buffer memory according to a filling level of the capture buffer memory expressed in number of frames contained in the capture buffer memory.

10. Method of claim 9 , wherein in said step of managing the speed of the emptying of the intermediate buffer memory, the following rules are applied:

if N c (t)≦M c , then the emptying of the intermediate buffer memory is carried out in synchronisation with the filling of the capture buffer memory, and

if N c (t)>M c , then the emptying of the intermediate buffer memory is carried out instantaneously and without synchronisation with the filling of the capture buffer memory,

where M c is also corresponds to a maximum initial size of the intermediate buffer memory, and N c (t) is the filling level of the capture buffer memory expressed in number of frames contained in the capture buffer memory.

11. Method of claim 8 , wherein the method comprises dynamically adjusting the complexity of the encoding module by dynamic selection of a level of complexity from at least two distinct levels of complexity, according to a filling level N c (t) of the capture buffer memory expressed in number of frames contained in the capture buffer memory and of the filling level D v (t) of the emission buffer memory expressed in number of packets contained in the emission buffer memory.

12. Method of claim 11 , wherein in said step of dynamic adjustment of the complexity of the encoding module, the following rules are applied:

if N c (t)≧k*M c ″, where M c ″=M c +D v (t), then the complexity of the encoding module is reduced,

otherwise, the complexity of the encoding module is not reduced,

where k<1 and M c is the maximum initial size of the capture buffer memory.

13. Method of claim 11 , wherein in said step of dynamic adjustment of the complexity of the encoding module, the following rules are applied:

if N c (t)>k*M c ″, where M c ″=MIN(M c +D v (t), M c +K), and if D v (t)<r*M v , then the complexity of the encoding module is reduced,

otherwise, the complexity of the encoding module is not reduced,

where K is a positive constant, k<1, r<1, M c is the maximum initial size of the capture buffer memory and M v is the maximum size of the emission buffer memory.

14. Method of claim 12 , wherein k is between 0.7 and 0.9, in that r is between 0.2 and 0.4, and in that K=M c /2.

15. A non-transitory computer readable medium that may be read by a computer, storing a set of instructions that may be run by said computer in order to implement a control process of a real time encoder, with a bit rate constraint and a time constraint, the control process comprising:

storing frames waiting to be processed in a capture buffer memory, which has a maximum initial size;

receiving frames issued from the capture buffer memory in an encoding module and delivering compressed frames from the encoding module;

storing the compressed frames issued from the encoding module in an intermediate buffer memory; and

storing data packets, resulting from division of the compressed frames issued from the intermediate buffer memory, in an emission buffer memory and emitting from the emission buffer memory, with a controlled bit rate, said data packets on a communication channel, wherein the emission buffer memory has a filling level D v (t) expressed in number of packets contained in the emission buffer memory; and

dynamically adjusting the maximum size of the capture buffer memory according to the following rules:

if the emission buffer memory is empty, the maximum size of the capture buffer memory is equal to said maximum initial size; and

if the emission buffer memory is not empty, the maximum size of the capture buffer memory is temporarily increased and is equal to a maximum temporary size M c ′, wherein:

M c <M c ′≦M c +D v ( t ).

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2025
From: CITIBANK, N.A., AS AGENT
To: MK SYSTEMS USA INC.
Reel/Frame 073070/0114 →
SECURITY INTEREST Recorded Oct 10, 2025
From: MK SYSTEMS USA INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073062/0487 →
SECURITY INTEREST Recorded May 20, 2022
From: MK SYSTEMS USA INC.
To: CITIBANK, N.A., AS AGENT
Reel/Frame 060134/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: MK SYSTEMS US HOLDCO INC.
To: MK SYSTEMS US SUB-HOLDCO INC.
Reel/Frame 053774/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: MK SYSTEMS US SUB-HOLDCO INC.
To: MK SYSTEMS USA INC.
Reel/Frame 053774/0639 →
MERGER AND CHANGE OF NAME Recorded Sep 15, 2020
From: ERICSSON IT SOLUTIONS & SERVICES SAS; ERICSSON FRANCE
To: ERICSSON FRANCE
Reel/Frame 053780/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: LEONE MEDIA INC.
To: MK SYSTEMS US HOLDCO INC.
Reel/Frame 053772/0734 →
MERGER AND CHANGE OF NAME Recorded Sep 15, 2020
From: ENVIVIO FRANCE; ERICSSON IT SOLUTIONS & SERVICES SAS
To: ERICSSON IT SOLUTIONS & SERVICES SAS
Reel/Frame 053771/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: ERICSSON FRANCE
To: LEONE MEDIA INC.
Reel/Frame 053772/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2008
From: PERSON, TANGUY; GUIONNET, THOMAS; ROPERT, MICHAEL
To: ENVIVIO FRANCE
Reel/Frame 020337/0977 →