Patent US6023296A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6023296A Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for object based rate control in a coding system

Assignee: MediaTek Inc
•
Filing: 1998-06-15
•
Granted: 2000-02-08
•
Expires: 2018-06-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for selecting a quantizer scale for each object within a frame to optimize the coding rate is disclosed. A quantizer scale is selected for each region or "object" within each frame such that the target bit rate for the frame is achieved while maintaining a uniform visual quality over the entire frame.

Inventors

  • 👤 Hung-Ju Lee
  • 👤 Tihao Chiang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:55
CPC Classifications
H; H04; H04N; H04N19/00; H04N19/10; H04N19/169; H04N19/17; H04N19/102; H04N19/124; H04N19/126; H04N19/127; H04N19/134; H04N19/136; H04N19/14; H04N19/172; H04N19/186; H04N19/60; H04N19/61; H04N19/63; H04N19/115; H04N19/146; H04N19/152; H04N19/20

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 152 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU6## where Mad i is the mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 2
Independent Claim 152 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU6## where Mad i is the mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 3
Independent Claim 174 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness+V.sub.i >margin) then V.sub.i =Max(R.sub.s /30/number.sub.-- of.sub.-- objects, margin-buffer.sub.-- fullness) where "margin" is defined as: margin=ceil((1.0-SAFETY.sub.-- MARGIN)×buffer.sub.-- fullness) where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where R s is a bit rate, where V i is said target object bit rate for object i and where number -- of -- objects is a number of objects in the input image.
Claim 4
Independent Claim 174 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness+V.sub.i >margin) then V.sub.i =Max(R.sub.s /30/number.sub.-- of.sub.-- objects, margin-buffer.sub.-- fullness) where "margin" is defined as: margin=ceil((1.0-SAFETY.sub.-- MARGIN)×buffer.sub.-- fullness) where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where R s is a bit rate, where V i is said target object bit rate for object i and where number -- of -- objects is a number of objects in the input image.
Claim 5
Independent Claim 164 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness-B.sub.pp +V.sub.i ≦SAFETY.sub.-- MARGIN×buffer.sub.-- size) then V.sub.i =B.sub.pp -V.sub.i -buffer.sub.-- fullness+SAFETY.sub.-- MARGIN×buffer.sub.-- size, where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where buffer -- size is a size of said buffer, where V i is said target object bit rate for object i and B pp is a channel output rate.
Claim 6
Independent Claim 164 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness-B.sub.pp +V.sub.i ≦SAFETY.sub.-- MARGIN×buffer.sub.-- size) then V.sub.i =B.sub.pp -V.sub.i -buffer.sub.-- fullness+SAFETY.sub.-- MARGIN×buffer.sub.-- size, where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where buffer -- size is a size of said buffer, where V i is said target object bit rate for object i and B pp is a channel output rate.
Claim 7
Independent Claim 111 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame, wherein said target frame bit rate, T frame , is derived in accordance with: ##EQU7## where R is a remaining number of bits for the image sequence, Nf is a number of remaining frames in the image sequence, T previous frame is a number of bits used for encoding a previous frame, and past -- percent is a constant; and (b) allocating said target frame bit rate among the at least one object.
Claim 8
Independent Claim 111 words
A method for allocating bits to encode each frame of an image sequence, each of said frame having at least one object, said method comprising the steps of: (a) determining a target frame bit rate for the frame, wherein said target frame bit rate, T frame , is derived in accordance with: ##EQU7## where R is a remaining number of bits for the image sequence, Nf is a number of remaining frames in the image sequence, T previous frame is a number of bits used for encoding a previous frame, and past -- percent is a constant; and (b) allocating said target frame bit rate among the at least one object.
Claim 9
Dependent Claim 174 words
Apparatus for encoding each frame of an image sequence, said frame having at least one object, said apparatus comprising: a motion compensator for generating a predicted image of a current frame; a transform module for applying a transformation to a difference signal between the current frame and said predicted image, where said transformation produces a plurality of coefficients; a quantizer for quantizing said plurality of coefficients with at least one quantizer scale; and a controller for selectively adjusting said at least one quantizer scale for a current frame in response to a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU8## where Mad i is a mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 10
Dependent Claim 174 words
Apparatus for encoding each frame of an image sequence, said frame having at least one object, said apparatus comprising: a motion compensator for generating a predicted image of a current frame; a transform module for applying a transformation to a difference signal between the current frame and said predicted image, where said transformation produces a plurality of coefficients; a quantizer for quantizing said plurality of coefficients with at least one quantizer scale; and a controller for selectively adjusting said at least one quantizer scale for a current frame in response to a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU8## where Mad i is a mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 11
Dependent Claim 22 words
The apparatus of claim 5, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness.
Claim 12
Dependent Claim 89 words
The apparatus of claim 6, wherein said target object bit rate is adjusted in accordance with: if (buffer.sub.-- fullness+V.sub.i >margin) then V.sub.i =Max(R.sub.s /30/number.sub.-- of.sub.-- objects, margin-buffer.sub.-- fullness) where "margin" is defined as: margin=ceil((1.0-SAFETY.sub.-- MARGIN)×buffer.sub.-- fullness) where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where R s is a bit rate, where V i is said target object bit rate for object i and where number -- of -- objects is a number of objects in the image.
Claim 13
Dependent Claim 80 words
The apparatus of claim 6, wherein said target object bit rate is adjusted in accordance with: if (buffer.sub.-- fullness-B.sub.pp +V.sub.i ≦SAFETY.sub.-- MARGIN×buffer.sub.-- size) then V.sub.i =B.sub.pp -V.sub.i -buffer.sub.-- fullness+SAFETY.sub.-- MARGIN×buffer.sub.-- size, where buffer -- fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where buffer -- size is a size of said buffer, where V i is said target object bit rate for object i and B pp is a channel output rate.
Claim 14
Dependent Claim 175 words
Apparatus for encoding each frame of an image sequence, said frame having at least one object, said apparatus comprising: a motion compensator for generating a predicted image of a current frame; a transform module for applying a transformation to a difference signal between the current frame and said predicted image, where said transformation produces a plurality of coefficients; a quantizer for quantizing said plurality of coefficients with at least one quantizer scale; and a controller for selectively adjusting said at least one quantizer scale for a current frame in response to a target object bit rate for the at least one object, wherein said target object bit rate is derived from a target frame bit rate, wherein said target frame bit rate, T frame , is derived in accordance with: ##EQU9## where R is a remaining number of bits for a sequence of frames, Nf is a number of remaining frames in the sequence, T previous frame is a number of bits used for encoding a previous frame, and past -- percent is a constant.
Claim 15
Dependent Claim 175 words
Apparatus for encoding each frame of an image sequence, said frame having at least one object, said apparatus comprising: a motion compensator for generating a predicted image of a current frame; a transform module for applying a transformation to a difference signal between the current frame and said predicted image, where said transformation produces a plurality of coefficients; a quantizer for quantizing said plurality of coefficients with at least one quantizer scale; and a controller for selectively adjusting said at least one quantizer scale for a current frame in response to a target object bit rate for the at least one object, wherein said target object bit rate is derived from a target frame bit rate, wherein said target frame bit rate, T frame , is derived in accordance with: ##EQU9## where R is a remaining number of bits for a sequence of frames, Nf is a number of remaining frames in the sequence, T previous frame is a number of bits used for encoding a previous frame, and past -- percent is a constant.
Claim 16
Dependent Claim 155 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU10## where Mad i is the mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 17
Dependent Claim 155 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate for the at least one object is selected in accordance with a mean absolute differences (Mad) of said object in accordance with: ##EQU10## where Mad i is the mean absolute difference (Mad) of an object i, n is a number of said objects in the frame, T frame is said target frame bit rate and V i is said target object bit rate for object i.
Claim 18
Dependent Claim 174 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness+V.sub.i >margin) then V.sub.i =Max(R.sub.s /30/number.sub.-- of.sub.-- objects, margin-buffer.sub.-- fullness) where "margin" is defined as: margin=ceil((1.0-SAFETY.sub.-- MARGIN)×buffer.sub.-- fullness) where buffer fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where R s is a bit rate, where V i is said target object bit rate for object i and where number of objects is a number of objects in the input image.
Claim 19
Dependent Claim 174 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness+V.sub.i >margin) then V.sub.i =Max(R.sub.s /30/number.sub.-- of.sub.-- objects, margin-buffer.sub.-- fullness) where "margin" is defined as: margin=ceil((1.0-SAFETY.sub.-- MARGIN)×buffer.sub.-- fullness) where buffer fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where R s is a bit rate, where V i is said target object bit rate for object i and where number of objects is a number of objects in the input image.
Claim 20
Dependent Claim 165 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness-B.sub.pp +V.sub.i ≦SAFETY.sub.-- MARGIN×buffer.sub.-- size) then V.sub.i =B.sub.pp -V.sub.i -buffer.sub.-- fullness+SAFETY.sub.-- MARGIN×buffer.sub.-- size, where buffer fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where buffer size is a size of said buffer, where V i is said target object bit rate for object i and B pp is a channel output rate.
Claim 21
Dependent Claim 165 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame; and (b) allocating said target frame bit rate among the at least one object, wherein said allocating step comprises the step of allocating said target frame bit rate in accordance with a target object bit rate for the at least one object, wherein said target object bit rate is adjusted in accordance with a measure of a buffer fullness in accordance with: if (buffer.sub.-- fullness-B.sub.pp +V.sub.i ≦SAFETY.sub.-- MARGIN×buffer.sub.-- size) then V.sub.i =B.sub.pp -V.sub.i -buffer.sub.-- fullness+SAFETY.sub.-- MARGIN×buffer.sub.-- size, where buffer fullness is a current buffer fullness of a buffer, where SAFTETY -- MARGIN is a constant, where buffer size is a size of said buffer, where V i is said target object bit rate for object i and B pp is a channel output rate.
Claim 22
Dependent Claim 113 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame, wherein said target frame bit rate T frame , is derived in accordance with: ##EQU11## where R is a remaining number of bits for the image sequence, Nf is a number of remaining frames in the image sequence, T previous frame is a number of bits used for encoding a previous frame, and past percent is a constant; and (b) allocating said target frame bit rate among the at least one object.
Claim 23
Dependent Claim 113 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps comprising of: (a) determining a target frame bit rate for the frame, wherein said target frame bit rate T frame , is derived in accordance with: ##EQU11## where R is a remaining number of bits for the image sequence, Nf is a number of remaining frames in the image sequence, T previous frame is a number of bits used for encoding a previous frame, and past percent is a constant; and (b) allocating said target frame bit rate among the at least one object.

References Cited (Backward Citations)

US5134476A Cited
US5231484A Cited
US5253059A Cited
US5440345A Cited
US5576767A Cited
US5491513A Cited
US5606371A Cited
US5594504A Cited
US5745178A Cited
US5790196A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-07 2003-08-09 2004-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-07 2007-08-09 2008-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-07 2011-08-09 2012-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag