IP Library Granted Patent US 9,179,147
Granted Patent B2
US 9,179,147 · App. 13/776,858 · Granted Nov 3, 2015

Soft decision and iterative video coding for MPEG and H.264

Inventors: En-hui Yang (Petersburg, CA); Xiang Yu (Kitchener, CA)
Assignee: BlackBerry Limited
H04N19/00781H04N19/103H04N19/147H04N19/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,179,147
App. No.
13/776,858
Granted
Nov 3, 2015
Kind
B2
Abstract

A method of encoding video data using soft decision quantization makes use of iterative encoding to provide the ability to optimize encoding across different functional elements in a hybrid video encoder. Iterative encoding is used to allow quantization step size, motion prediction and quantization levels to be optimized despite their interrelated nature.

Claims (35)

1. A method for obtaining an optimal sequence of quantized coefficients for a block of transform residuals from a video, for encoding the video in a video encoder, the method comprising:

obtaining a sequence of quantized coefficients for the block of transform residuals;

calculating for the obtained sequence a rate-distortion cost based on a distortion cost and on a rate cost based on a context-adaptive entropy encoder, wherein the context-adaptive entropy encoder encodes each quantized coefficient by selecting at least one context from a plurality of contexts by determining an index for a set of contexts based, at least in part, on a previous quantized coefficient in the sequence of quantized coefficients; and

changing a value of one of said quantized coefficients of the obtained sequence to produce a new sequence of quantized coefficients, so that a resulting rate-distortion cost for the new sequence of quantized coefficients is smaller than a rate-distortion cost for the obtained sequence.

2. The method of claim 1 , wherein changing a value comprises evaluating a plurality of candidate levels for said one of said quantized coefficients by determining a new rate cost and a new distortion cost resulting from each candidate level and selecting the candidate level that results in the minimum rate-distortion cost for the new sequence.

3. The method of claim 2 , wherein one of the candidate levels comprises the magnitude of said one of the quantized coefficients increased by 1 and another of the candidate levels comprises the magnitude of said one of the quantized coefficients decreased by 1.

4. The method of claim 2 , wherein said one the said quantized coefficients equals zero, and wherein one of the candidate levels comprises a non-zero value.

5. The method of claim 2 , wherein evaluating a plurality of candidate levels for said one of said quantized coefficients includes identifying possible candidate levels for said one of said quantized coefficients and determining possible contexts associated with each possible candidate level.

6. The method of claim 5 , wherein determining the new rate cost comprises determining the new rate cost for each combination of possible candidate level and possible contexts associated with that candidate level.

7. The method of claim 6 , wherein the context component of one of the combinations comprises a coding table having a rate function, and wherein determining the new rate cost for said one of the combinations includes applying the rate function.

8. The method of claim 5 , wherein determining the new rate cost for each combination of possible candidate level and possible context associated with that candidate level comprises adaptively selecting a coding table for each combination.

9. The method of claim 2 , wherein determining the new rate cost resulting from each candidate level comprises:

determining possible contexts associated with that candidate level; and

calculating a rate cost associated with that candidate level for each of the possible contexts.

10. A video encoder for encoding a video by obtaining an optimal sequence of quantized coefficients for a block of transform residuals from the video, the video encoder comprising:

a processor;

memory;

a video encoding application executable by the processor and which, when executed, configures the processor to:

obtain a sequence of quantized coefficients for the block of transform residuals;

calculate, for the obtained sequence, a rate-distortion cost based on a distortion cost and on a rate cost based on a context-adaptive entropy encoder, wherein the context-adaptive entropy encoder encodes each quantized coefficient by selecting at least one context from a plurality of contexts by determining an index for a set of contexts based, at least in part, on a previous quantized coefficient in the sequence of quantized coefficients; and

change a value of one of said quantized coefficients of the obtained sequence to produce a new sequence of quantized coefficients, so that a resulting rate-distortion cost for the new sequence of quantized coefficients is smaller than a rate-distortion cost for the obtained sequence.

11. The video encoder of claim 10 , wherein the processor is configured to change a value by evaluating a plurality of candidate levels for said one of said quantized coefficients by determining a new rate cost and a new distortion cost resulting from each candidate level and selecting the candidate level that results in the minimum rate-distortion cost for the new sequence.

12. The video encoder of claim 11 , wherein one of the candidate levels comprises the magnitude of said one of the quantized coefficients increased by 1 and another of the candidate levels comprises the magnitude of said one of the quantized coefficients decreased by 1.

13. The video encoder of claim 11 , wherein said one the said quantized coefficients equals zero, and wherein one of the candidate levels comprises a non-zero value.

14. The video encoder of claim 11 , wherein the processor is configured to evaluate a plurality of candidate levels for said one of said quantized coefficients by identifying possible candidate levels for said one of said quantized coefficients and determining possible contexts associated with each possible candidate level.

15. The video encoder of claim 14 , wherein the processor is configured to determine the new rate cost by determining the new rate cost for each combination of possible candidate level and possible context associated with that candidate level.

16. The video encoder of claim 15 , wherein the context component of one of the combinations comprises a coding table having a rate function, and wherein the processor is configured to determine the new rate cost for said one of the combinations by applying the rate function.

17. The video encoder of claim 14 , wherein the processor is configured to determine the new rate cost for each combination of possible candidate level and possible context associated with that candidate level by adaptively selecting a coding table for each combination.

18. The video encoder of claim 11 , wherein the processor is configured to determine the new rate cost resulting from each candidate level by:

determining possible contexts associated with that candidate level; and

calculating a rate cost associated with that candidate level for each of the possible contexts.

19. A non-transitory computer-readable medium storing processor-executable instructions, for obtaining an optimal sequence of quantized coefficients for a block of transform residuals from a video, wherein the instructions, when executed, configure one or more processors to:

obtain a sequence of quantized coefficients for the block of transform residuals;

calculate for the obtained sequence a rate-distortion cost based on a distortion cost and on a rate cost based on a context-adaptive entropy encoder, wherein the context-adaptive entropy encoder encodes each quantized coefficient by selecting at least one context from a plurality of contexts by determining an index for a set of contexts based, at least in part, on a previous quantized coefficient in the sequence of quantized coefficients; and

change a value of one of said quantized coefficients of the obtained sequence to produce a new sequence of quantized coefficients, so that a resulting rate-distortion cost for the new sequence of quantized coefficients is smaller than a rate-distortion cost for the obtained sequence.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Jul 29, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 036207/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: MULTICOM TECHNOLOGIES INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 029874/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: YANG, EN-HUI
To: MULTICOM TECHNOLOGIES INC.
Reel/Frame 029874/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: YU, XIANG
To: YANG, EN-HUI
Reel/Frame 029874/0402 →
Continuity (4)
Continuation 13244751 · Sep 26, 2011
Continuation 12900627 · Oct 8, 2010
Continuation 11377583 · Mar 17, 2006
Related Publication 20140010288A1 · Jan 9, 2014