Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
First Claim
1. An adaptive quantization method in a coding process for coding data values corresponding to each picture element (pel) of a portion of a video frame, the method comprising the steps of:
- selecting, for each portion of a video frame, a quantizer set Rx of quantizer values from a group of quantizer sets, wherein each quantizer value in each quantizer set is a multiple of a quantization coefficient QP and the quantizer sets are selected from the group consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.1 ={0,±
3QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.2 ={0,±
3QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.4 ={0,±
2QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.5 ={0,±
2QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.6 ={0,±
2QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.8 ={0,±
4QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.9 ={0,±
1QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.10 ={0,±
1QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.11 ={0,±
1QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.12 ={0,±
1QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.13 ={0,±
1QP-α
,±
2QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
where the quantization set size QP is any number between 1 and 31 and α
=1 if QP is an even number and α
=0 if QP is an odd number; and
correlating each data value with a quantizer value from the selected quantizer set Rx to provide a quantized set of values corresponding to the pel data values.
12 Assignments
0 Petitions
Accused Products
Abstract
A compression system and process include adaptive quantization for selection of one quantizer, for each video frame or frame portion, from a group of quantizers, where each quantizer is a set of predefined quantizer values, and coding of the quantized values using a common entropy coding table for all quantizers, or a separate entropy coding table for each quantizer. The entropy coding tables are obtained during a training procedure. The selection of the quantizer is based on a formula which takes into account the distortion and bit rate characteristics of each quantizer. A similar formula, based on the distortion and bit rate characteristics, is used to select the particular quantizer value within the chosen quantizer for each video signal value being coded.
149 Citations
18 Claims
-
1. An adaptive quantization method in a coding process for coding data values corresponding to each picture element (pel) of a portion of a video frame, the method comprising the steps of:
-
selecting, for each portion of a video frame, a quantizer set Rx of quantizer values from a group of quantizer sets, wherein each quantizer value in each quantizer set is a multiple of a quantization coefficient QP and the quantizer sets are selected from the group consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.1 ={0,±
3QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.2 ={0,±
3QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.4 ={0,±
2QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.5 ={0,±
2QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.6 ={0,±
2QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.8 ={0,±
4QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.9 ={0,±
1QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.10 ={0,±
1QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.11 ={0,±
1QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.12 ={0,±
1QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.13 ={0,±
1QP-α
,±
2QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31 and α
=1 if QP is an even number and α
=0 if QP is an odd number; andcorrelating each data value with a quantizer value from the selected quantizer set Rx to provide a quantized set of values corresponding to the pel data values.
-
-
2. An adaptive quantization method in a coding process for coding data values corresponding to each picture element (pel) of a portion of a video frame, the method comprising the steps of:
-
selecting, for each portion of a video frame, a quantizer set Rx of quantizer values from a group of a plurality of quantizer sets, wherein each quantizer value in each quantizer set is a multiple of a quantization coefficient QP and the quantizer sets are selected from the group consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31 and α
=1 if QP is an even number and α
=0 if QP is an odd number; andcorrelating each data value with a quantizer value from the selected quantizer set Rx to provide a quantized set of values corresponding to the pel data value.
-
-
3. A method of coding sampled video signal data values corresponding to picture elements (pels) of at least a portion of a video frame, comprising the steps of:
-
adaptively quantizing the sampled data values by correlating each sampled data value to a value selected from a predefined set Rx of quantizer values which are multiples of a quantization coefficient QP, wherein said quantizer set is chosen from a group R0 -Rn of quantizer sets based on a distortion and bit rate characteristics of each quantizer value in the set Rx ; determining and quantifying the distortion and bit rate characteristics provided by each quantizer set in the group R0 -Rn for each portion of the video frame being coded; calculating an error value E for each set in the group R0 -Rn according to the formula;
E=D+λ
f(QP)r, where D is a quantified distortion value for the portion of the video frame, r is a quantified bit rate value for the portion of the video frame, λ
is a weighting value selected based on the desired effect of r on the overall E and f(QP) is a function of the quantization coefficient QP;selecting the quantizer set Rx that exhibits the lowest E value of the quantizer sets within the group R0 -Rn ; calculating an error value E'"'"' for each pel of said portion of the video frame and for each quantizer value in the quantizer set Rx according to the formula;
E'"'"'=D'"'"'+λ
'"'"'r'"'"', where D'"'"' is a quantified distortion value for each pel, r'"'"' is a quantified bit rate value for each pel and λ
'"'"' is a weighting value selected based on the desired effect of r'"'"' on the overall E'"'"';selecting the quantizer value that exhibits the lowest E'"'"' value for the pel selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and coding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
-
4. A method of coding sampled video signal data values corresponding to picture elements (pels) of at least a portion of a video frame, comprising the steps of:
-
adaptively quantizing the sampled data values by correlating each sampled data value to a value selected from a predefined set Rx of quantizer values which are multiples of a quantization coefficient QP, wherein said quantizer set is chosen from a group R0 -Rn of quantizer sets based on the a distortion and bit rate characteristics of each quantizer value in the set Rx ; selecting at least one VLC table having an entry for each pel event with a high probability of occurrence, each of said pel event being defined by three event parameters;
a Level, a Run, and a Last;wherein the Level is a level index to the quantizer set Rx corresponding to the selected quantizer value, the Run indicates a number of zero pels before the current event, and the Last indicates the last pel in a block which has a non-zero value; coding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table; wherein said coding step comprises a joint probability distribution binary coding step for simultaneous coding of all three event parameters to reduce an average binary code length for each event; and saving the binary code for each event with the sign of the actual pel input value in the VLC table. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method of coding sampled video signal data values corresponding to picture elements (pels) of at least a portion of a video frame, comprising the steps of:
-
adaptively quantizing the sampled data values by correlating each sampled data value to a value selected from a predefined set Rx of quantizer values which are multiples of a quantization coefficient QP, wherein said quantizer set is chosen from a group of quantizer sets based on a distortion and bit rate characteristics of each quantizer value in the set Rx ; said group of quantizer sets consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.1 ={0,±
3QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.2 ={0,±
3QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.4 ={0,±
2QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.5 ={0,±
2QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.6 ={0,±
2QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.8 ={0,±
4QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.9 ={0,±
1QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.10 ={0,±
1QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.11 ={0,±
1QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.12 ={0,±
1QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.13 ={0,±
1QP-α
,±
2QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31, and α
=1 if QP is an even number and α
=0 if QP is an odd number;selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and coding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
-
10. A method of coding sampled video signal data values corresponding to picture elements (pels) of at least a portion of a video frame, comprising the steps of:
-
adaptively quantizing the sampled data values by correlating each sampled data value to a value selected from a predefined set Rx of quantizer values which are multiples of a quantization coefficient QP, wherein said quantizer set is chosen from a group of quantizer sets based on a distortion and bit rate characteristics of each quantizer value in the set Rx ; said group of quantizer sets consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31, and α
=1 if QP is an even number and α
=0 if QP is an odd number;selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and coding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
-
11. A system for coding sampled video signal data corresponding to picture elements (pels) of at least a portion of a video frame, comprising:
-
a storage means for storing a plurality of sets R0 -Rn of quantizer values; means for selecting, for each portion of the video frame being coded, a quantizer set Rx of quantizer values, which are multiples of a quantization coefficient QP, from a group of sets R0 -Rn, dependent on a quantified distortion and bit rate of the selected set Rx ; said selecting means comprising; means for calculating an error E for each portion of the video frame being coded and for each quantizer set in the group R0 -Rn, according to the formula;
E=D+λ
f(QP)r, where D is a quantified distortion value for the portion of the video frame, r is a quantified bit rate value for the portion of the video frame, λ
is a weighting value selected based on the desired effect of r on the overall E and f(QP) is a function of the quantization coefficient QP; andmeans for selecting the quantizer Rx that exhibits the lowest E value of the quantizer sets within the group R0 -Rn ; means for correlating each video signal data value for each frame portion being coded with a quantizer value from the quantizer set Rx selected for that frame portion; said correlating means comprising; means for determining and quantifying the distortion and bit rate characteristics of each quantizer value within the set Rx ; and means for selecting the quantizer value based on the distortion and bit rate characteristics provided by each quantizer value in the set Rx ; means for selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and means for encoding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
-
12. A system for coding sampled video signal data corresponding to picture elements (pels) of at least a portion of a video frame, comprising:
-
a storage means for storing a plurality of sets R0 -Rn of quantizer values; means for selecting, for each portion of the video frame being coded, a quantizer set Rx of quantizer values, which are multiples of a quantization coefficient QP, from a group of sets R0 -Rn, dependent on a quantified distortion and bit rate of the selected set Rx ; means for correlating each video signal data value for each frame portion being coded with a quantizer value from the quantizer set Rx selected for that frame portion; means for selecting at least one VLC table having an entry for each pel event with a high probability of occurrence;
each of said pel event being defined by three event parameters;
a Level, a Run, and a Last;wherein the Level is a level index to the quantizer set Rx corresponding to the selected quantizer value, the Run indicates a number of zero pels before the current event, and the Last indicates the last pel in a block which has a non-zero value; means for encoding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table; and wherein said variable length adaptive entropy coding method comprises a joint probability distribution binary coding method for simultaneous coding of all three event parameters to reduce an average binary code length for each event, and the binary code for each event is saved with the sign of the actual pel input value in the VLC table.
-
-
13. A system for coding sampled video signal data corresponding to picture elements (pels) of at least a portion of a video frame, comprising:
-
a storage means for storing a plurality of sets R0 -Rn of quantizer values; means for selecting, for each portion of the video frame being coded, a quantizer set Rx of quantizer values, which are multiples of a quantization coefficient QP, from a group of sets R0 -Rn, dependent on a quantified distortion and bit rate of the selected set Rx ; means for correlating each video signal data value for each frame portion being coded with a quantizer value from the quantizer set Rx selected for that frame portion; means for selecting at least one VLC table having an entry for each pel event with a high probability of occurrence;
each of said pel event being defined by three event parameters;
a Level, a Run, and a Last;wherein the Level is a level index to the quantizer set Rx corresponding to the selected quantizer value, the Run indicates a number of zero pels before the current event, and the Last indicates the last pel in a block which has a non-zero value; means for encoding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table; and means for determining the at least one VLC table in a training procedure using a training signal, comprising; means for keeping a count of occurrences for each event from the training signal in at least one counter table; means for calculating a probability of occurrences of each said event from a total number of occurrences of the event in the training signal; and means for generating at least one probability table to save probabilities for each combination of the three event parameters to be used in the encoding means so that the shortest binary code is assigned to the event which has the highest probability of occurrence. - View Dependent Claims (14, 15, 16)
-
-
17. A system for coding sampled video signal data corresponding to picture elements (pels) of at least a portion of a video frame, comprising:
-
a storage means for storing a plurality of sets of quantizer values; means for selecting, for each portion of the video frame being coded, a quantizer set Rx of quantizer values, which are multiples of a quantization coefficient QP, from a group of quantizer sets, dependent on a quantified distortion and bit rate of the selected set Rx ; said group of quantizer sets consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.1 ={0,±
3QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.2 ={0,±
3QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.4 ={0,±
2QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.5 ={0,±
2QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.6 ={0,±
2QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.8 ={0,±
4QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.9 ={0,±
1QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.10 ={0,±
1QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.11 ={0,±
1QP-α
,±
4QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.12 ={0,±
1QP-α
,±
3QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.13 ={0,±
1QP-α
,±
2QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31, and α
=1 if QP is an even number and α
=0 if QP is an odd number;means for correlating each video signal data value for each frame portion being coded with a quantizer value from the quantizer set Rx selected for that frame portion; means for selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and means for encoding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
-
18. A system for coding sampled video signal data values corresponding to picture elements (pels) of at least a portion of a video frame, comprising the steps of:
-
a storage means for storing a plurality of sets of quantizer values; means for selecting, for each portion of the video frame being coded, a quantizer set Rx of quantizer values, which are multiples of a quantization coefficient QP, from a group of quantizer sets, dependent on a quantified distortion and bit rate of the selected set Rx ; said group of quantizer sets consisting of;
space="preserve" listing-type="equation">R.sub.0 ={0,±
3QP-α
,±
5QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.3 ={0,±
2QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.7 ={0,±
4QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};
space="preserve" listing-type="equation">R.sub.14 ={0,±
5QP-α
,±
6QP-α
,±
7QP-α
, . . . ,±
255QP-α
};where the quantization set size QP is any number between 1 and 31, and α
=1 if QP is an even number and α
=0 if QP is an odd number;means for correlating each video signal data value for each frame portion being coded with a quantizer value from the quantizer set Rx selected for that frame portion; means for selecting at least one VLC table having an entry for each pel event with a high probability of occurrence; and means for coding the quantizer values with a variable length adaptive entropy coding method using the at least one VLC table.
-
Specification