IP Library › Granted Patent US 8,687,708
Granted Patent B2
US 8,687,708 · App. 13/140,958 · Granted Apr 1, 2014

Method and apparatus for rate distortion optimisation

Inventor: Anthony Dencher (Southampton, GB)
Assignee: Telefonaktiebolaget L M Ericsson (publ)
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,687,708
App. No.
13/140,958
Granted
Apr 1, 2014
Kind
B2
Abstract

There is provided a method of optimizing Rate Distortion Optimization candidate assessment in hardware apparatus, comprising determining which Rate Distortion Optimization candidates out of a plurality of candidates are separately processable, determining a processing delay of critical portions of candidate assessment hardware, determining a rule set governing how the separately processable candidates may be ordered for processing, determining an optimized processing order for processing the separately processable candidate assessments, dependent on the processing delay of critical portions of the candidate assessment hardware and the determined rule set, and processing the candidates according to the determined processing order. There is also provided an apparatus for carrying out the improved Rate Distortion Optimization method.

Claims (131)

1. A method of optimising Rate Distortion Optimisation candidate assessment in hardware apparatus, comprising:

determining which Rate Distortion Optimisation candidates out of a plurality of candidates are separately processable, wherein the candidates are partitions of a picture;

determining a processing delay of critical portions of candidate assessment hardware, wherein the critical portions of candidate processing hardware include a Rate Distortion Optimization Best Candidate Decision Block; a Motion Vector Predictor Calculation Block; and a Sum and Langrangian Multiplication Block;

determining a rule set governing how the separately processable candidates may be ordered for processing, wherein the rule set for ordering the separately processable candidates depends on the input video resolution;

determining an optimised processing order for processing the separately processable candidate assessments, dependent on the processing delay of critical portions of the candidate assessment hardware and the determined rule set;

spending enough clock cycles processing other candidates in between partitions of the same size, such that the best candidate for a given partition can be set in time to calculate a motion vector difference (MVD) bit cost (RMV) for the next partition; and

processing the candidates according to the determined processing order.

2. The method of claim 1 , wherein the rule set is dependent on the number of candidates being processed during Rate Distortion Optimisation.

3. The method of claim 1 , wherein an input video resolution is 1080i, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 7 ;

B. 16×8 partition 1 ×candidates 0 - 7 ;

C. 8×16 partition 0 ×candidates 0 - 7 ; D. 8×16 partition 1 ×candidates 0 - 7 ;

E. 8×8 partition 0 ×candidates 0 - 8 ;

F. 8×8 partition 1 ×candidates 0 - 8 ;

G. 8×8 partition 2 ×candidates 0 - 8 ; H. 8×8 partition 3 ×candidates 0 - 8 ;

I. 16×16 MB×candidates 0 - 2 ;

J. 16×16 MB×candidates 3 - 4 ;

K. 16×16 MB×candidates 5 - 6 ;

L. 16×16 MB×candidates 7 - 8 ;

M. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB; and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1; D>C+1;

F>E+1;

G>F+1;

H>G+1;

J>1; K>J;

L>K; and

M is last.

4. The method of claim 1 , wherein an input video resolution is 1080p, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 2 ;

B. 16×8 partition 1 ×candidates 0 - 2 ;

C. 8×16 partition 0 ×candidates 0 - 2 ;

D. 8×16 partition 1 ×candidates 0 - 2 ; E. 8×8 partition 0 ×candidates 0 - 3 ;

F. 8×8 partition 1 ×candidates 0 - 3 ;

G. 8×8 partition 2 ×candidates 0 - 3 ; H. 8×8 partition 3 ×candidates 0 - 3 ; I. 16×16 MB×candidates 0 - 1 ; J. 16×16 MB×candidates 2 - 3 ;

K. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB;

and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1;

D>C+1;

F>E+1;

G>F+1;

H>G+1;

J>1; K is last.

5. The method of claim 1 , wherein an input video resolution is SDTV, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 7 ;

B. 8×16 partition 0 ×candidates 0 - 7 ;

C. 16×8 partition 1 ×candidates 0 - 7 ;

D. 8×16 partition 1 ×candidates 0 - 7 ; E. 16×16 MB×candidates 0 - 2 ;

F. 8×8 partition 0 ×candidates 0 - 32 ;

G. 16×16 MB×candidates 3 - 4 ;

H. 8×8 partition 1 ×candidates 0 - 32 ;

I. 16×16 MB×candidates 5 - 6 ; J. 8×8 partition 2 ×candidates 0 - 32 ;

K. 16×16 MB×candidates 7 - 8 ;

L. 8×8 partition 3 ×candidates 0 - 32 ;

M. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB;

and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1;

D>C+1;

F>E+1; G>F+1;

H>G+1;

J>1;

K>J;

L>K;

M is last.

6. The method of claim 1 wherein a plurality of the separately processable candidate assessments comprises a single logical set of candidate assessments, and the method further comprises temporarily storing intermediate results from a one of the plurality of separately processable candidate assessments in the single logical set of candidate assessments for use by another one of the plurality of separately processable candidate assessments in the single logical set of candidate assessments, in logical order.

7. Apparatus for Rate Distortion Optimisation processing adapted to carry out the method of claim 1 .

8. The apparatus of claim 7 , wherein the apparatus is a video encoder.

9. The method of claim 1 , wherein the apparatus is pipelined.

10. The method of claim 1 , wherein the rule set requires that candidates be processed in an order such that a partition is never processed directly after a neighbouring partition of the same size.

11. A video decoder comprising a control state machine configured to:

determine which Rate Distortion Optimisation candidates out of a plurality of candidates are separately processable, wherein the candidates are partitions of a picture;

determine a processing delay of critical portions of candidate assessment hardware, wherein the critical portions of candidate processing hardware include a Rate Distortion Optimization Best Candidate Decision Block; a Motion Vector Predictor Calculation Block; and a Sum and Langrangian Multiplication Block;

determine a rule set governing how the separately processable candidates may be ordered for processing, wherein the rule set for ordering the separately processable candidates depends on the input video resolution;

determine an optimised processing order for processing the separately processable candidate assessments, dependent on the processing delay of critical portions of the candidate assessment hardware and the determined rule set;

spend enough clock cycles processing other candidates in between partitions of the same size, such that the best candidate for a given partition can be set in time to calculate a motion vector difference (MVD) bit cost (RMV) for the next partition; and

process the candidates according to the determined processing order.

12. The video coder of claim 11 , wherein the rule set requires that candidates be processed in an order such that a partition is never processed directly after a neighbouring partition of the same size.

13. The method of claim 11 , wherein an input video resolution is 1080i, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 7 ;

B. 16×8 partition 1 ×candidates 0 - 7 ;

C. 8×16 partition 0 ×candidates 0 - 7 ; D. 8×16 partition 1 ×candidates 0 - 7 ;

E. 8×8 partition 0 ×candidates 0 - 8 ;

F. 8×8 partition 1 ×candidates 0 - 8 ;

G. 8×8 partition 2 ×candidates 0 - 8 ; H. 8×8 partition 3 ×candidates 0 - 8 ;

I. 16×16 MB×candidates 0 - 2 ;

J. 16×16 MB×candidates 3 - 4 ;

K. 16×16 MB×candidates 5 - 6 ;

L. 16×16 MB×candidates 7 - 8 ;

M. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB; and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1; D>C+1;

F>E+1;

G>F+1;

H>G+1;

J>1; K>J;

L>K; and

M is last.

14. The method of claim 11 , wherein an input video resolution is 1080p, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 2 ;

B. 16×8 partition 1 ×candidates 0 - 2 ;

C. 8×16 partition 0 ×candidates 0 - 2 ;

D. 8×16 partition 1 ×candidates 0 - 2 ; E. 8×8 partition 0 ×candidates 0 - 3 ;

F. 8×8 partition 1 ×candidates 0 - 3 ;

G. 8×8 partition 2 ×candidates 0 - 3 ; H. 8×8 partition 3 ×candidates 0 - 3 ; I. 16×16 MB×candidates 0 - 1 ; J. 16×16 MB×candidates 2 - 3 ;

K. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB;

and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1;

D>C+1;

F>E+1;

G>F+1;

H>G+1;

J>1; K is last.

15. The method of claim 11 , wherein an input video resolution is SDTV, and wherein the separately processable candidate assessments comprise:

A. 16×8 partition 0 ×candidates 0 - 7 ;

B. 8×16 partition 0 ×candidates 0 - 7 ;

C. 16×8 partition 1 ×candidates 0 - 7 ;

D. 8×16 partition 1 ×candidates 0 - 7 ; E. 16×16 MB×candidates 0 - 2 ;

F. 8×8 partition 0 ×candidates 0 - 32 ;

G. 16×16 MB×candidates 3 - 4 ;

H. 8×8 partition 1 ×candidates 0 - 32 ;

I. 16×16 MB×candidates 5 - 6 ; J. 8×8 partition 2 ×candidates 0 - 32 ;

K. 16×16 MB×candidates 7 - 8 ;

L. 8×8 partition 3 ×candidates 0 - 32 ;

M. Best 16×8 partitions as complete MB, Best 8×16 partitions as complete MB, Best 8×8 partitions as complete MB;

and wherein the rule set for ordering the separately processable candidates comprises:

B>A+1;

D>C+1;

F>E+1; G>F+1;

H>G+1;

J>1;

K>J;

L>K;

M is last.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2011
From: DENCHER, ANTHONY
To: TELEFONAKTIEBOLAGET L M ERICSSON
Reel/Frame 026466/0339 →
Continuity (1)
Related Publication 20110255603A1 · Oct 20, 2011