US2014328391A1PendingUtilityA1

Method and system for video rate control

Assignee: APPLE INCPriority: Apr 13, 2007Filed: May 6, 2014Published: Nov 6, 2014
Est. expiryApr 13, 2027(~0.7 yrs left)· nominal 20-yr term from priority
H04N 19/00775H04N 19/00096H04N 19/15H04N 19/174H04N 19/436H04N 19/126H04N 19/146H04N 19/60
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system are provided for encoding a picture. The method includes encoding the picture into a first encoded picture using a first universal quantizer. If a size of the first encoded picture is greater than a maximum picture size, the method includes encoding the picture into a second encoded picture using small quantizers for smooth regions of the picture and large quantizers for complex regions. If a size of the second encoded picture is still greater than a maximum picture size, the method includes encoding the picture into a third encoded picture with revised quantizers for complex regions and dropping high frequency coefficients if necessary to ensure the encoded picture size never exceeds the maximum size.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A method of coding a picture within a video stream with a limited number of coding passes, comprising:
 on each pass, coding at least one slice associated with the picture, image data of the slice being subject to coefficient transform and to quantization by a quantization parameter, wherein   on a first pass, quantizing all slices with a first value of the quantization parameter that is common to all slices of the picture,   on a second pass, which is reached if a size of a coded picture data obtained from the first pass exceeds a predetermined limit, encoding a first set of selected slices with a second value of the quantization parameter,   on a third pass, which is reached if a size of coded picture data obtained from the second pass exceeds the predetermined limit, encoding a second set of selected slices with a third value of the quantization parameter, and   when a pass generates coded picture data that satisfies the predetermined limit, outputting the coded picture data to a channel.   
     
     
         2 . The method of  claim 1 , wherein
 the first value of the quantization parameter is smaller than the second value of the quantization parameter, and   the second value of the quantization parameter is smaller than the third value of the quantization parameter.   
     
     
         3 . The method of  claim 1 , wherein the second and third values of the quantization parameter are selected to provide a coded slice data size approximately equal to a pre-determined slice size. 
     
     
         4 . The method of  claim 1 , wherein
 the first set of selected slices include slices associated with a first pass encoded slice size exceeding a predetermined slice size.   
     
     
         5 . The method of claim  22 , further comprising:
 if, following the third pass, the coded data of the slice exceeds a predetermined slice limit, canceling coefficients of display components when a size of the display component reaches a predetermined or calculated size.   
     
     
         6 . The method of  claim 1 , wherein at least two of the slices in the first, second, or third passes are encoded in parallel. 
     
     
         7 . The method of  claim 1 , wherein the first value of the quantization parameter is a default value. 
     
     
         8 . A method for encoding a picture, comprising:
 encoding slices of the picture into a first encoded picture using a first universal quantizer;   if a size of the first encoded picture is greater than a maximum picture size, encoding a first subset of slices with a second slice quantizer and producing a second encoded picture from the encoded first subset and a subset of slices encoded with the first universal quantizer; and   if a size of the second encoded picture is greater than the maximum picture size, encoding a second subset of slices with a third slice quantizer and producing a third encoded picture from the encoded first subset, a subset of slices encoded with the second slice quantizer, and a second subset of slices encoded with the first universal quantizer.   
     
     
         9 . The method of  claim 8 , further comprising:
 if a size of an encoded slice encoded with the third slice quantizer is greater than a maximum slice size, dropping coefficients from the encoded portion of the picture.   
     
     
         10 . The method of  claim 9 , wherein the dropped coefficients are a set of high-frequency coefficients of the slice of the picture. 
     
     
         11 . The method of  claim 8 , wherein the method requires no more than three passes over the picture. 
     
     
         12 . The method of  claim 8 , further comprising:
 encoding a first slice of the picture on a first processor; and   encoding a second slice of the picture on a second processor substantially concurrently with the encoding of the first slice.   
     
     
         13 . The method of  claim 8 , wherein the first universal quantizer is set to a default value. 
     
     
         14 . A system for encoding a picture, comprising:
 a memory, the memory storing a first universal quantizer and a maximum picture size;   a quantization unit, the quantization unit configured to quantize an array of transform coefficients into an array of quantized coefficients; and   a controller in communication with the memory and the quantization unit, the controller configured to,
 encode slices of the picture into a first encoded picture using a first universal quantizer, 
 if a size of the first encoded picture is greater than a maximum picture size,
 calculate a second slice quantizer, and 
 encoding a first subset of slices with the second slice quantizer to produce a second encoded picture from the encoded first subset and a subset of slices encoded with the first universal quantizer, and 
 
 if a size of the second encoded picture is greater than the maximum picture size,
 calculate a third slice quantizer, and 
 encode a second subset of slices with the third slice quantizer and producing a third encoded picture from the encoded first subset, a subset of slices encoded with the second slice quantizer, and a second subset of slices encoded with the first universal quantizer. 
 
   
     
     
         15 . The system of  claim 14 , wherein if a size of an encoded slice encoded with the third slice quantizer is greater than a maximum slice size, dropping coefficients from the encoded portion of the picture. 
     
     
         16 . The system of  claim 15 , wherein the dropped coefficients are a set of high-frequency coefficients of the portion of the picture. 
     
     
         17 . The system of  claim 14 , further comprising:
 a discrete cosine transform unit, the discrete cosine transform unit configured to provide an array of transform coefficients representing a picture to the quantization unit.   
     
     
         18 . The system of  claim 14 , further comprising:
 a scanning unit, the scanning unit configured to convert an array of quantized coefficients produced by the quantization unit into a string.   
     
     
         19 . The system of  claim 14 , wherein the portion of the picture is a slice or a macroblock of the picture. 
     
     
         20 . The system of  claim 14 , further comprising:
 a second controller, wherein a second picture is encoded by the second controller and the first picture is encoded substantially concurrently.

Join the waitlist — get patent alerts

Track US2014328391A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.