IP Library Granted Patent US 9,319,702
Granted Patent B2
US 9,319,702 · App. 13/692,118 · Granted Apr 19, 2016

Dynamic slice resizing while encoding video

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,319,702
App. No.
13/692,118
Granted
Apr 19, 2016
Kind
B2
Abstract

An apparatus having a plurality of processors is disclosed. The processors may be configured to (i) gather a plurality of statistics by encoding a current picture in a video signal, (ii) calculate a plurality of complexity values in response to both the statistics and a plurality of coefficients and (iii) partition a next picture in the video signal into a plurality of slices in response to the complexity values such that each of the slices has a similar coding complexity. The statistics generally characterize how the current picture was encoded. The coefficients may correspond to a plurality of coding modes.

Claims (25)

1. An apparatus comprising: a plurality of processors configured to (i) gather a plurality of statistics by encoding a current picture in a video signal, (ii) calculate a plurality of complexity values in response to both said statistics and a plurality of coefficients and (iii) partition a next picture in said video signal into a plurality of slices in response to said complexity values such that each of said slices has a similar coding complexity, wherein (a) said statistics characterize how said current picture was encoded and (b) said coefficients correspond to a plurality of coding modes, wherein:

said complexity values correspond to a plurality of respective macroblock rows in said current picture; and

said statistics per each of said macroblock rows comprise (i) a number of bits created by said encoding, (ii) a number of inter-coded macroblocks, (iii) a number of intra-coded macroblocks, (iv) a number of skip-coded macroblocks, (v) a number of sub-pixel motion estimations, (vi) a number of intra-block motion estimations and (vii) a number of transformations from a spatial domain to a frequency domain.

2. The apparatus according to claim 1 , wherein (i) said processors are further configured to encode said next picture operating and (ii) each one of said slices is encoded by a respective one of said processors operating in parallel.

3. The apparatus according to claim 1 , wherein said processors are further configured to calculate a first of said coefficients in response to a plurality of first parameters that control an inter-prediction mode of said coding modes.

4. The apparatus according to claim 3 , wherein said processors are further configured to calculate a second of said coefficients in response to a plurality of second parameters that control an intra-prediction mode of said coding modes.

5. The apparatus according to claim 1 , wherein said complexity values are calculated in further response to one or more weight values.

6. The apparatus according to claim 1 , wherein said processors are further configured to (i) divide one of said macroblock rows into two sub-sections and (ii) divide one of said complexity values into two of said complexity values that correspond to said two sub-sections.

7. The apparatus according to claim 1 , wherein said encode comprises an H.264 encode.

8. The apparatus according to claim 1 , wherein said apparatus is implemented as one or more integrated circuits.

9. A method for dynamic slice resizing while encoding video, comprising the steps of: (A) gathering a plurality of statistics by encoding a current picture in a video signal, wherein said statistics characterize how said current picture was encoded by a plurality of processors; (B) calculating a plurality of complexity values in response to both said statistics and a plurality of coefficients, wherein said coefficients correspond to a plurality of coding modes; and (C) partitioning a next picture in said video signal into a plurality of slices in response to said complexity values such that each of said slices has a similar coding complexity, wherein:

said complexity values correspond to a plurality of respective macroblock rows in said current picture; and

said statistics per each of said macroblock rows comprise (i) a number of bits created by said encoding, (ii) a number of inter-coded macroblocks, (iii) a number of intra-coded macroblocks, (iv) a number of skip-coded macroblocks, (v) a number of sub-pixel motion estimations, (vi) a number of intra-block motion estimations and (vii) a number of transformations from a spatial domain to a frequency domain.

10. The method according to claim 9 , further comprising the step of: encoding said next picture using said processors, wherein each one of said slices is encoded by a respective one of said processors operating in parallel.

11. The method according to claim 9 , further comprising the step of: calculating a first of said coefficients in response to a plurality of first parameters that control an inter-prediction mode of said coding modes.

12. The method according to claim 11 , further comprising the step of: calculating a second of said coefficients in response to a plurality of second parameters that control an intra-prediction mode of said coding modes.

13. The method according to claim 9 , wherein said complexity values are calculated in further response to one or more weight values.

14. The method according to claim 9 , further comprising the steps of: dividing one of said macroblock rows into two sub-sections; and dividing one of said complexity values into two of said complexity values that correspond to said two sub-sections.

15. The method according to claim 9 , wherein said encoding comprises an H.264 encoding.

16. An apparatus comprising:

means for gathering a plurality of statistics by encoding a current picture in a video signal, wherein said statistics characterize how said current picture was encoded;

means for calculating a plurality of complexity values in response to both said statistics and a plurality of coefficients, wherein said coefficients correspond to a plurality of coding modes; and

means for partitioning a next picture in said video signal into a plurality of slices in response to said complexity values such that each of said slices has a similar coding complexity, wherein:

said complexity values correspond to a plurality of respective macroblock rows in said current picture; and

said statistics per each of said macroblock rows comprise (i) a number of bits created by said encoding, (ii) a number of inter-coded macroblocks, (iii) a number of intra-coded macroblocks, (iv) a number of skip-coded macroblocks, (v) a number of sub-pixel motion estimations, (vi) a number of intra-block motion estimations and (vii) a number of transformations from a spatial domain to a frequency domain.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded May 29, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION
Reel/Frame 035797/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2012
From: DZIK, DARIUSZ
To: LSI CORPORATION
Reel/Frame 029391/0927 →