Encoder and decoder using arithmetic stage to compress code space that is not fully utilized
View Patent ↗An encoder/decoder architecture including an arithmetic encoder that encodes the MSB portions of a Factorial Pulse Coder output, and that encodes an output of a first-level source encoder, e.g., MDCT. Sub-parts (e.g., frequency bands) of portions (e.g., frames) of the signal are sorted in increasing order based on a measure related to signal energy (e.g., signal energy itself). In a system that overlays Arithmetic Encoding on Factorial Pulse coding, the result is bits re-allocated to bands with higher signal energy content, yielding higher signal quality and higher bit utilization efficiency.
1. A communication device comprising:
a first encoder stage adapted to produce a sequence of multi-bit codes;
a second encoder stage adapted to:
divide at least a K TH first multi-bit code into a K TH most significant bits code and a K TH least significant bits code; and
combine said K TH most significant bits code with at least a portion of at least one of said sequence of multi-bit codes using an arithmetic encoder.
2. The communication device according to claim 1 wherein said second encoder stage is adapted to divide each of said first multi-bit codes, thereby producing a sequence of most significant bit codes and a sequence of least significant bit codes.
3. The communication device according to claim 2 wherein said second encoder is further adapted to concatenate said sequence of least significant bit codes.
4. The communication device according to claim 1 wherein said arithmetic encoder produces a codeword that is a function of a set of maximum possible values G i max of said K TH most significant bits code and said at least portion of said at least one of said sequence of multi-bit codes.
5. The communication device according to claim 4 wherein said codeword is of a length that includes a coding efficiency term given by:
η
=
∑
i
=
1
M
-
1
log
2
(
1
1
-
2
-
w
G
i
max
)
where, i is a symbol index and refers to said K TH most significant bits code and said at least portion of said at least one of said sequence of multi-bit codes;
M is a total number of said at least portion of said at least one of said sequence of multi-bit codes and
W is a number of bits used by said arithmetic encoder to represent code space intervals.
6. The communication device according to claim 4 wherein said codeword is of a length that is determined by recursively selecting a smallest sub-range of an arithmetic code space that can be selected by each symbol position in a hypothetical symbol sequence wherein a size of said smallest sub-range is inversely related to G i max for each i TH symbol position.
7. The communication device according to claim 1 wherein the first encoder stage includes a combinatorial coder.
8. The communication device according to claim 7 wherein said combinatorial coder comprises a factorial pulse coder.
9. The communication device according to claim 1 wherein the arithmetic encoder computes the size of a successive sub-range from a preceding sub-range using the following formula:
z
=
round
(
y
·
(
G
i
+
1
)
G
i
max
)
-
round
(
y
·
G
i
G
i
max
)
where z is the size of the successive sub-range;
y is the size of the preceding sub-range;
G i is a value of an i TH symbol in a symbol sequence that includes said K TH most significant bits code and said at least portion of said at least one of said sequence of multi-bit codes; and
G i max is a maximum possible value for the i TH symbol.
10. A communication device comprising:
a decoder adapted to:
receive a plurality of least significant bit codes and
an arithmetic code representing a plurality of most significant bit codes;
arithmetically decode said arithmetic code to obtain said most significant bit codes; and
combine said least significant bit codes with said most significant bit codes to reconstitute complete codes.
11. A communication device according to claim 10 wherein said decoder is adapted to recover encoded most significant bit codes by evaluating an expression:
ñ=└ (2 x·n+n− 1)/2 y┘
where n-tilda is an encoded most significant bit code,
x is a position in an arithmetic code space,
y represents an interval width in said arithmetic code space; and
n represents a maximum possible value of said encoded most significant bit code.
12. The communication device according to claim 10 wherein said arithmetic code is of a length that includes a coding efficiency term given by:
η
=
∑
i
=
1
M
-
1
log
2
(
1
1
-
2
-
w
G
i
max
)
where M is a number of most significant bit codes; and
W is a number of bits used to represent arithmetic code space intervals.
13. The communication device according to claim 10 wherein said arithmetic code is of a length that is determined by recursively selecting a smallest sub-range of an arithmetic code space that can be selected by each symbol position in a hypothetical symbol sequence wherein a size of said smallest sub-range is inversely related to a maximum possible most significant bit code G i max for each i TH symbol position.
14. The communication device according to claim 10 wherein said decoder further comprises a combinatorial decoder adapted to decode said complete codes and produce combinatorial decoder output.
15. The communication device according to claim 14 wherein said combinatorial decoder comprises a factorial pulse decoder.
16. The communication device according to claim 15 further comprising a first level source decoder adapted to receive said factorial pulse decoder output and reproduce a portion of a signal.
17. The communication device according to claim 16 wherein said first level source decoder is an MDCT decoder.