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
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:35
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 |