Encoding apparatus, decoding apparatus, information processing system, and computer-readable storage medium

An encoding apparatus includes a unit that calculates a plurality of normalized values by dividing input values in an input signal by either a normalization coefficient that is closest to a maximum value of absolute values of the input values or a normalization coefficient that is closest to the maximum value from among normalization coefficients that are larger than the maximum value; a unit that generates a plurality of quantized values by quantizing the plurality of normalized values; a unit that stores a code table in which the smaller the probability of occurrence of the plurality of quantized values, the longer the code length of a variable-length code allocated to the plurality of quantized values; and a unit that outputs, when the plurality of quantized values are all zero, a variable-length code allocated to a combination of a plurality of quantized values in accordance with the code table.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing system, and more particularly to an encoding apparatus that performs encoding by using a variable-length code, a decoding apparatus corresponding to the encoding apparatus, an encoding processing method, and a program that causes a computer to execute the encoding processing method.

2. Description of the Related Art

There are many encoding apparatuses that compress information such as images and audio by encoding the information. For example, an encoding apparatus that encodes quantized data by referring to a Huffman code table generated in accordance with, for example, the frequencies of occurrence corresponding to the probabilities of occurrence of pieces of quantized data has been proposed (for example, see Japanese Unexamined Patent Application Publication No. 07-212243 (FIG. 1)).

SUMMARY OF THE INVENTION

In the above-described existing technology, pieces of quantized data are encoded by referring to the Huffman code table generated in accordance with the frequencies of occurrence of the pieces of quantized data, and thus the pieces of the encoded quantized data can be compressed. In such an encoding apparatus, the smaller the frequency of occurrence of a symbol corresponding to a piece of quantized data to which a code is to be allocated, the longer the code length of a code allocated to the symbol. Thus, there may be a case in which the coding efficiency may be lowered because a long code length corresponding to the frequency of occurrence is allocated to a symbol whose frequency of occurrence is significantly low.

It is desirable to increase the coding efficiency by excluding a symbol whose frequency of occurrence is low from targets to be encoded.

According to an embodiment of the present invention, there are provided an encoding apparatus, a processing method for the encoding apparatus, and a program that causes a computer to execute the processing method, the encoding apparatus including a normalization unit that calculates a plurality of normalized values by dividing a plurality of input values in an input signal by either a normalization coefficient that is closest to a maximum value of absolute values of the plurality of input values or a normalization coefficient that is closest to the maximum value from among normalization coefficients that are larger than the maximum value; a quantization unit that generates a plurality of quantized values by quantizing the plurality of normalized values; a code-table storage unit that stores a code table in which the smaller the probability of occurrence of the plurality of quantized values, the longer the code length of a variable-length code allocated to the plurality of quantized values; and a code output unit that outputs, when the plurality of quantized values are all zero, a variable-length code allocated to a combination of a plurality of quantized values, which are different from the plurality of the quantized values, in accordance with the code table. When a plurality of quantized values, which are a unit of encoding, are all zero, the encoding apparatus, the processing method, and the program work to output, in accordance with a code table, a variable-length code allocated to a combination of a plurality of quantized values, which are different from the plurality of quantized values.

Moreover, according to the embodiment of the present invention, when the plurality of quantized values are all zero, the code output unit may output, in accordance with the code table, a variable-length code corresponding to a plurality of quantized values in which only one quantized value is nonzero, from among combinations of a plurality of quantized values included in the code table. Thus, when a plurality of quantized values are all zero, the code output unit works to output, in accordance with the code table, a variable-length code corresponding to a plurality of quantized values in which only one quantized value is nonzero, from among combinations of a plurality of quantized values shown in the code table.

According to the embodiment of the present invention, the code output unit may include a quantized-value replacing unit that selects, when the plurality of quantized values are all zero, one of combinations of a plurality of quantized values included in the code table and replaces the plurality of quantized values with the selected combination of a plurality of quantized values, and an encoding unit that encodes the plurality of quantized values output from the quantized-value replacing unit by generating the variable-length code in accordance with the code table. Thus, the quantized-value replacing unit works to replace a plurality of quantized values that are all zero with a combination of a plurality of quantized values, the combination being randomly selected from among the combinations of a plurality of quantized values shown in the code table.

Moreover, according to the embodiment of the present invention, the code-table storage unit may store a Huffman code table as the code table. Thus, the code-table storage unit works to output a code of a Huffman code corresponding to a plurality of quantized values in accordance with the code table.

Moreover, according to the embodiment of the present invention, the normalization unit may perform division on the plurality of input values by using the normalization coefficients including a normalization coefficient that is close to zero. Thus, the normalization unit works to divide the plurality of input values by the normalization coefficient set to be close to zero.

According to another embodiment of the present invention, there is provided a decoding apparatus that includes a code-table storage unit that stores a code table in which a variable-length code corresponding to a plurality of quantized values that are all zero is not included; a decoding unit that decodes a variable-length code into the plurality of quantized values in accordance with the code table generated in accordance with the probability of occurrence of the plurality of quantized values; and an inverse-normalization unit that generates a plurality of output values, as a plurality of input values in an input signal, by using a plurality of normalized values generated by dequantizing the plurality of quantized values obtained as a result of decoding performed by the decoding unit and a normalization coefficient corresponding to the plurality of normalized values. This decoding apparatus works to decode a variable-length code into a plurality of quantized values in accordance with the code table in which a variable-length code corresponding to a plurality of quantized values that are all zero is not included.

According to another embodiment of the present invention, there is provided an information processing system that includes an encoding apparatus that includes a normalization unit that calculates a plurality of normalized values by dividing a plurality of input values in an input signal by either a normalization coefficient that is closest to a maximum value of absolute values of the plurality of input values or a normalization coefficient that is closest to the maximum value from among normalization coefficients that are larger than the maximum value, a quantization unit that generates a plurality of quantized values by quantizing the plurality of normalized values, a code-table storage unit that stores a code table in which the smaller the probability of occurrence of the plurality of quantized values, the longer the code length of a variable-length code allocated to the plurality of quantized values, and a code output unit that outputs, when the plurality of the quantized values are all zero, a variable-length code allocated to a combination of a plurality of quantized values, which are different from the plurality of quantized values, in accordance with the code table; and a decoding apparatus that includes a code-table storage unit that stores a code table the same as that stored in the encoding apparatus, a decoding unit that decodes the variable-length code output from the encoding apparatus into the plurality of quantized values in accordance with the code table, and an inverse-normalization unit that generates a plurality of output values, as the plurality of input values, by using a plurality of normalized values generated by dequantizing the plurality of quantized values obtained as a result of decoding performed by the decoding unit and the normalization coefficient corresponding to the plurality of normalized values. When a plurality of quantized values, which are a unit of encoding, are all zero, this information processing system works to cause the encoding apparatus to output, in accordance with the code table, a variable-length code corresponding to a combination of a plurality of quantized values, which are different from the plurality of quantized values, and to cause the decoding apparatus to generate, as the plurality of input values, a plurality of output values obtained by decoding the variable-length code in accordance with the code table the same as that of the encoding apparatus.

Embodiments of the present invention have an advantageous effect in that the coding efficiency can be increased by excluding a symbol whose frequency of occurrence is low from targets to be encoded.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments of the present invention (hereinafter referred to as embodiments) will be described. The description will be made in the following order.

1. First Embodiment (an example of variable-length coding in which a plurality of quantized values that are all zero are replaced)

2. Second Embodiment (an example of variable-length coding in which an error due to replacement of quantized values is reduced)

3. Third Embodiment (an example of code-table generation processing in which a Huffman code is generated in which a symbol corresponding to a plurality of quantized values that are all zero is excluded from symbols)

1. First Embodiment

FIG. 1is a block diagram of an example of the structure of an information processing system100according to a first embodiment of the present invention. The information processing system100includes an encoding apparatus200, which encodes an input signal and outputs encoded data of the input signal to a network110, and a decoding apparatus400, which decodes the encoded data transmitted from the network110.

The encoding apparatus200generates encoded data by normalizing and quantizing input values in an input signal including information such as an image or audio and by allocating variable-length codes to the quantized values obtained as a result of the quantization. For example, the encoding apparatus200converts an audio signal as an input signal into frequency components, and normalizes the frequency components obtained as a result of the conversion. Then, the encoding apparatus200generates encoded data by quantizing the normalized frequency components and by encoding the quantized values, which are obtained as a result of the quantization, by Huffman coding.

Moreover, the encoding apparatus200outputs, to a code-string output line209, a code string (a bitstream) obtained by multiplexing the encoded data by time division in order to transmit the encoded data to the decoding apparatus400via the network110in response to a request from the decoding apparatus400. Here, the encoding apparatus200is an example of an encoding apparatus described in the claims.

The network110is a network for performing communication between the encoding apparatus200and the decoding apparatus400. The network110transmits a code string output from the encoding apparatus200to the decoding apparatus400via a code-string input line401.

The decoding apparatus400reconstructs an input signal input to the encoding apparatus200, by decoding a code string received from the code-string input line401. For example, the decoding apparatus400generates quantized values by separating a code string into encoded data and encoding information for decoding the encoded data and by decoding the encoded data. Then, the decoding apparatus400generates frequency components of an audio signal by dequantizing the quantized values and by performing inverse-normalization on the dequantized values, and converts the generated frequency components into a time-domain signal. Here, the decoding apparatus400is an example of a decoding apparatus described in the claims.

As described above, the information processing system100can generate encoded data, which is data obtained by compressing information regarding an input signal, by encoding the input signal by using the encoding apparatus200. The information processing system100can reconstruct the input signal by decoding the encoded data by using the decoding apparatus400.

Thus, the information processing system100can transmit, to the network110, an input signal compressed by converting the input signal into encoded data, so that a load on the network110can be reduced. Here, the information processing system100is an example of a signal processing system described in the claims. Next, an example of the structure of the encoding apparatus200in the information processing system100will be described in the following with reference toFIG. 2.

FIG. 2is a block diagram of an example of the structure of the encoding apparatus200according to the first embodiment of the present invention. The encoding apparatus200includes a restricted-normalization unit210, a quantization unit220, a code-table storage unit230, a multiplexing unit240, and a code output unit300. The code output unit300includes a quantized-value replacing unit310and an encoding unit320. Here, it is assumed that frequency components of an audio signal are successively supplied via a signal line101as a plurality of input values in an input signal, the frequency components being obtained by dividing the frequencies of the audio signal into certain frequency ranges. Here, “a plurality of input values” means a unit of encoding, to which one code is allocated.

The restricted-normalization unit210normalizes, for each of certain frequency ranges, frequency components of an audio signal supplied from the signal line101by using a plurality of predetermined normalization coefficients, so that the restricted-normalization unit210calculates a plurality of normalized values for the certain frequency range. That is, the restricted-normalization unit210selects one normalization coefficient in accordance with the magnitudes of the absolute values of a plurality of input values, from among a predetermined number of normalization coefficients for normalizing a plurality of input values, and divides the plurality of input values by the selected normalization coefficient.

For example, the restricted-normalization unit210restricts, for each of the certain frequency ranges, the selection of a normalization coefficient in such a manner that only the normalization coefficient that is closest to the maximum value of the absolute values of the frequency components of the certain frequency range is selected from among a plurality of normalization coefficients. By restricting the selection of such a normalization coefficient, the probability that a plurality of quantized values become all zero can be reduced.

Moreover, for example, the restricted-normalization unit210restricts, for each of the certain frequency ranges, the selection of a normalization coefficient in such a manner that only the normalization coefficient that is closest to the maximum value of the absolute values of the frequency components of the certain frequency range is selected from among normalization coefficients that are larger than the maximum value. In this example, when the normalization coefficient that is closest to the maximum value of the absolute values of a plurality of input values is smaller than the maximum value, a normalization coefficient that is next to and larger than the normalization coefficient that is closest to the maximum value is selected. In this case, the probability that a plurality of quantized values become all zero can also be reduced.

Moreover, the restricted-normalization unit210divides the frequency components of the certain frequency range, which are the plurality of input values, by the selected normalization coefficient. Moreover, the restricted-normalization unit210supplies, as a plurality of normalized values, the frequency components of the certain frequency range obtained as a result of the division to the quantization unit220via a signal line219. Together with these normalized values, the restricted-normalization unit210supplies the normalization coefficient used to perform division to the multiplexing unit240via a signal line218because the normalization coefficient is necessary when the decoding apparatus400performs decoding processing. Here, the restricted-normalization unit210is an example of a normalization unit in an information processing system and an encoding apparatus described in the claims.

The quantization unit220quantizes a plurality of normalized values of the certain frequency ranges supplied from the restricted-normalization unit210. That is, the quantization unit220generates a plurality of quantized values, which are a unit of encoding, by quantizing a plurality of normalized values. For each of the certain frequency ranges, the quantization unit220converts a plurality of normalized values in the certain frequency range into discrete values in accordance with the number of quantization steps determined by using quantization accuracy information set for the certain frequency range.

Moreover, the quantization unit220supplies, as quantized values, discrete values obtained as a result of the conversion, which are integer values, to the quantized-value replacing unit310via a signal line229. Together with these discrete values, the quantization unit220supplies, for each of the certain frequency ranges, quantization accuracy information, which is necessary when the decoding apparatus400performs decoding processing, to the multiplexing unit240via a signal line228. The quantization accuracy information for one certain frequency range differs from that for another certain frequency range. Here, the quantization unit220is an example of a quantization unit in an information processing system and an encoding apparatus described in the claims.

The code-table storage unit230stores a code table in which variable-length codes are allocated to combinations of a plurality of quantized values in such a manner that the lower the probability of occurrence of a combination of a plurality of quantized values contained in a certain frequency range, the longer the code length of a variable-length code allocated to the combination of a plurality of quantized values. The code-table storage unit230stores, for example, a Huffman code table as a variable-length code table.

The code table stored in the code-table storage unit230shows codes of a Huffman code allocated to combinations of a plurality of quantized values. In this code table, any code of the Huffman code is not allocated to a plurality of quantized values that are all zero. That is, this code table does not include a code of the Huffman code corresponding to a plurality of quantized values that are all zero. Moreover, the code-table storage unit230outputs the stored code table to the quantized-value replacing unit310and the encoding unit320. Here, the code-table storage unit230is an example of a code-table storage unit in an information processing system and an encoding apparatus described in the claims.

The code output unit300converts a plurality of quantized values supplied from the quantization unit220into a variable-length code in accordance with the code table stored in the code-table storage unit230, and outputs the variable-length code obtained as a result of the conversion as encoded data. When a plurality of quantized values are all zero, the code output unit300outputs a variable-length code allocated to a combination of a plurality of quantized values, which are different from the plurality of quantized values, in accordance with the code table stored in the code-table storage unit230.

Moreover, when a plurality of quantized values that are not all zero are supplied from the quantization unit220, the code output unit300outputs a variable-length code corresponding to the combination of the plurality of quantized values in accordance with the code table stored in the code-table storage unit230. Here, the code output unit300is an example of a code output unit described in the claims.

When a plurality of quantized values that are all zero are supplied from the quantization unit220, the quantized-value replacing unit310replaces the plurality of quantized values with one of combinations of a plurality of quantized values shown in the code table stored in the code-table storage unit230. That is, when a plurality of quantized values that are all zero are supplied, the quantized-value replacing unit310replaces the plurality of quantized values that are all zero with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero, included in the code table stored in the code-table storage unit230.

For example, when a plurality of quantized values are all zero, the quantized-value replacing unit310selects one of the combinations of a plurality of quantized values included in the code table at random, and replaces the plurality of quantized values with the selected combination of a plurality of quantized values. Alternatively, for example, every time the quantized-value replacing unit310performs the replacement, the quantized-value replacing unit310performs the replacement in such a manner that a combination of a plurality of quantized values for the current replacement is different from that for the last replacement. As described above, the reason why the quantized-value replacing unit310is installed is that although the probability of occurrence of a plurality of quantized values that are all zero can be reduced by restricting the selection of a normalization coefficient by using the restricted-normalization unit210, the probability of occurrence is not completely “0”.

Moreover, when a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero, is supplied from the quantization unit220, the quantized-value replacing unit310simply supplies the plurality of quantized values supplied from the quantization unit220to the encoding unit320. Here, the quantized-value replacing unit310is an example of a quantized-value replacing unit described in the claims.

The encoding unit320encodes a plurality of quantized values output from the quantized-value replacing unit310by generating a variable-length code in accordance with the code table stored in the code-table storage unit230. That is, the encoding unit320generates, by referring to the code table stored in the code-table storage unit230, a code of the Huffman code corresponding to the plurality of quantized values supplied from the quantized-value replacing unit310. Moreover, the encoding unit320outputs the generated code of the Huffman code as encoded data to the multiplexing unit240. Here, the encoding unit320is an example of an encoding unit described in the claims.

The multiplexing unit240relates encoded data supplied from the encoding unit320, a normalization coefficient supplied from the restricted-normalization unit210, and quantization accuracy information supplied from the quantization unit220to one another for each of the certain frequency ranges, and performs time division thereon to obtain one multiplexed code string. The multiplexing unit240outputs the multiplexed code string to the code-string output line209.

As described above, even when the quantization unit220generates a plurality of quantized values that are all zero, the plurality of quantized values that are all zero can be replaced with a plurality of quantized values shown in the code table by the quantized-value replacing unit310installed. Hence, a plurality of quantized values that are all zero can be excluded from targets to be encoded, and thus generation of a code of a Huffman code having a long code length can be suppressed. Next, the structure of the quantized-value replacing unit310will be briefly described in the following with reference toFIG. 3.

FIG. 3is a block diagram of an example of the structure of the quantized-value replacing unit310according to the first embodiment of the present invention. The quantized-value replacing unit310includes a symbol determination unit311, a random-number generation unit312, a symbol selection unit313, and a quantized-value output unit314. In this example, the code table stored in the code-table storage unit230is output to the symbol determination unit311and the symbol selection unit313.

The symbol determination unit311determines whether a symbol representing a plurality of quantized values supplied from the quantization unit220via the signal line229is included in the code table stored in the code-table storage unit230. That is, the symbol determination unit311determines whether the combination of the plurality of quantized values supplied from the signal line229is included in the combinations of a plurality of quantized values included in the code table stored in the code-table storage unit230.

When the combination of the plurality of quantized values supplied from the signal line229is included in the code table, the symbol determination unit311simply supplies the plurality of quantized values as a symbol to the quantized-value output unit314. In contrast, when the combination of the plurality of quantized values supplied from the signal line229is not included in the code table, the symbol determination unit311generates a random-number generation signal for generating a random number, and supplies the generated random-number generation signal to the random-number generation unit312.

That is, when a plurality of quantized values supplied from the signal line229are not all zero, the symbol determination unit311simply outputs the plurality of quantized values to the quantized-value output unit314. When the plurality of quantized values are all zero, the symbol determination unit311supplies a random-number generation signal to the random-number generation unit312.

The random-number generation unit312generates a random number value, which is restricted to the number of symbols shown in the code table stored in the code-table storage unit230, in accordance with the random-number generation signal supplied from the symbol determination unit311. The random-number generation unit312outputs the generated random number value to the symbol selection unit313.

The symbol selection unit313selects, in accordance with the random number value output from the random-number generation unit312, one of a plurality of symbols, each of which corresponds to a corresponding one of the combinations of a plurality of quantized values included in the code table stored in the code-table storage unit230. The symbol selection unit313prestores, for example, a correspondence table which shows a correspondence relationship between random number values and symbols, and selects a symbol corresponding to the random number value supplied from the random-number generation unit312in accordance with the correspondence table. Moreover, the symbol selection unit313outputs, to the quantized-value output unit314, a plurality of quantized values corresponding to the selected symbol by referring to the code table stored in the code-table storage unit230.

The quantized-value output unit314selects a plurality of quantized values supplied from the symbol determination unit311or a plurality of quantized values supplied from the symbol selection unit313, and supplies the selected plurality of quantized values to the encoding unit320via the a signal line319. When a plurality of quantized values are supplied from the symbol determination unit311, the quantized-value output unit314selects the plurality of quantized values and outputs the plurality of quantized values to the signal line319.

When a plurality of quantized values are supplied from the symbol selection unit313, the quantized-value output unit314selects the plurality of quantized values and outputs the plurality of quantized values to the signal line319. That is, the quantized-value output unit314outputs a plurality of quantized values, with which the combination of the plurality of quantized values supplied from the quantization unit220has been replaced and which are different from the combination of the plurality of quantized values supplied from the quantization unit220, to the signal line319.

As described above, when a plurality of quantized values are all zero, one of the combinations of a plurality of quantized values included in the code table can be selected at random by the random-number generation unit312installed. Thus, the quantized-value replacing unit310can replace a plurality of quantized values that are all zero with a combination of a plurality of quantized values selected at random. Hence, in a case in which errors caused by performing the replacement using a certain combination of a plurality of quantized values have a periodicity, the effect of noise perceptible to the human ear due to a specific frequency component included in the output signal obtained as a result of decoding performed by the decoding apparatus400can be reduced. Next, an example of the structure of the decoding apparatus400, which decodes a code string generated by the encoding apparatus200, will be described in the following with reference toFIG. 4.

FIG. 4is a block diagram of an example of the structure of the decoding apparatus400according to the first embodiment of the present invention. The decoding apparatus400includes a separation unit410, a decoding unit420, a code-table storage unit430, a dequantization unit440, and an inverse-normalization unit450. Here, it is assumed that a code string output from the encoding apparatus200via the network110illustrated inFIG. 1is supplied to a code-string input line401.

The separation unit410separates a code string supplied from the code-string input line401into encoded data, a normalization coefficient, and quantization accuracy information. Moreover, the separation unit410supplies the encoded data obtained as a result of the separation, to the decoding unit420via a signal line419. Together with this encoded data, the separation unit410supplies the quantization accuracy information corresponding to the encoded data to the dequantization unit440via a signal line418, and supplies the normalization coefficient corresponding to the encoded data to the inverse-normalization unit450via a signal line417.

The decoding unit420generates a plurality of quantized values corresponding to a variable-length code, which is the encoded data supplied from the separation unit410, by referring to the code table stored in the code-table storage unit430. That is, the decoding unit420decodes the variable-length code into the plurality of quantized values in accordance with the code table generated in accordance with the probabilities of occurrence of combinations of a plurality of quantized values included in the code-table storage unit430. Moreover, the decoding unit420supplies the plurality of quantized values, which are obtained as a result of decoding, to the dequantization unit440. Here, the decoding unit420is an example of a decoding unit in an information processing system and a decoding apparatus described in the claims.

The code-table storage unit430stores a code table the same as that stored in the code-table storage unit230in the encoding apparatus200illustrated inFIG. 2. That is, the code-table storage unit430stores the code table in which a plurality of quantized values that are all zero are not included as a symbol. Moreover, the code-table storage unit430outputs the code table stored therein to the decoding unit420. Here, the code-table storage unit430is an example of a code-table storage unit in an information processing system and a decoding apparatus described in the claims.

The dequantization unit440generates a plurality of normalized values by dequantizing a plurality of quantized values supplied from the decoding unit420in accordance with quantization accuracy information supplied from the signal line418. The dequantization unit440supplies the generated normalized values to the inverse-normalization unit450.

The inverse-normalization unit450generates a plurality of output values by performing inverse-normalization on a plurality of normalized values supplied from the dequantization unit440, by using a normalization coefficient supplied from the signal line417. The inverse-normalization unit450calculates a plurality of output values by multiplying a plurality of normalized values supplied from the dequantization unit440by a normalization coefficient supplied from the signal line417. That is, the inverse-normalization unit450generates a plurality of output values by using a plurality of normalized values generated by dequantizing a plurality of quantized values obtained as a result of decoding performed by the decoding unit420and a normalization coefficient corresponding to the plurality of normalized values.

Moreover, the inverse-normalization unit450outputs the plurality of generated output values, as a plurality of input values in the reconstructed input signal, to a signal line409. Then, the plurality of output values, which are in a frequency domain, output to the signal line409are converted into, for example, an audio signal in a time domain. Here, the inverse-normalization unit450is an example of an inverse-normalization unit in an information processing system and a decoding apparatus described in the claims.

As described above, the decoding apparatus400can obtain a reconstructed input signal from a code string generated by the encoding apparatus200by storing the code table the same as that stored in the code-table storage unit230included in the encoding apparatus200. Next, an overview of an operation of the information processing system100will be described in the following with reference toFIGS. 5A to 5E.

FIGS. 5A to 5Eare schematic diagrams regarding an example of an operation of the information processing system100according to the first embodiment of the present invention.FIGS. 5A and 5Bare schematic diagrams of an example in which two input values supplied from the signal line101are normalized and quantized in the encoding apparatus200.FIG. 5Cis a diagram of symbols in the code table stored in the code-table storage units230and430.FIGS. 5D and 5Eare schematic diagrams of an example in which coded data is dequantized and inverse-normalized in the decoding apparatus400. Moreover, here, it is assumed that, as a plurality of input values serving as a unit of encoding in an input signal, two input values are supplied to the restricted-normalization unit210.

In this example, input and output values are set to have a range from “−4.0” to “4.0”, normalization coefficients are “4.0”, “2.0”, and “1.0”, and quantization accuracy information is “1”. That is, quantized values are “−1”, “0”, and “1”. In the quantization unit220, when a normalized value is “0.5” or higher, the quantized value is “1”. When a normalized value is less than “0.5” and greater than “−0.5”, the quantized value is “0”. When a normalized value is “−0.5” or less, the quantized value is “−1”. In the dequantization unit440, quantized values are converted into real numbers.

FIG. 5Aillustrates amplitude values A611and B612as the two input values serving as a unit of encoding. Here, the vertical axis represents the magnitude V of an amplitude value. Moreover, the vertical axis represents a value corresponding to a normalization coefficient N.

The amplitude values A611and B612are input values as information to be encoded, and are “1.8” and “−0.4”, respectively. Here, the normalization coefficient (2.0) that is closest to the maximum value (1.8) of the absolute values of the two amplitude values A611and B612is selected by the restricted-normalization unit210as a normalization coefficient for normalizing the amplitude values A611and B612. As another example of the selection of a normalization coefficient, the normalization coefficient (2.0) that is closest to the maximum value (1.8) may be selected by the restricted-normalization unit210from among normalization coefficients (2.0 and 4.0) that are larger than the maximum value (1.8).

Here, in the existing technology, there may be a case in which a normalization coefficient “4.0”, which is larger than “2.0”, is selected so as to cause the distribution of probability of occurrence of quantized values to have a large value near “0”. In contrast, in an embodiment of the present invention, the normalization coefficient that is closest to the maximum value of the absolute values of a plurality of input values in an input signal or the normalization coefficient that is closest to the maximum value from among the normalization coefficients that are larger than the maximum value is selected.

FIG. 5Billustrates normalized values A621and B622and quantized values A631and B632calculated by the encoding apparatus200. Here, the vertical axis represents the magnitude NV of a normalized value. Moreover, the vertical axis represents values corresponding to three quantized values.

The normalized values A621and B622are values obtained by dividing the amplitude values A611and B612by the normalization coefficient (2.0) selected by the restricted-normalization unit210. The normalized values A621and B622represent “0.9” and “−0.2”, respectively. Here, in a case in which the normalization coefficient that is closest to the maximum value of the absolute values of a plurality of input values is selected by the restricted-normalization unit210, when a normalization coefficient that is smaller than the maximum value is selected, a range of normalized values exceeds the range from “−0.1” to “1.0”. Thus, it is necessary to correct the normalized values so as to fall within the range from “−0.1” to “1.0”. For example, when the normalized value A621or B622is larger than “1.0”, the normalized values A621or B622, which is larger than “1.0”, is corrected to be treated as “1.0”.

The quantized values A631and B632are values obtained by quantizing the normalized values A621and B622by using the quantization unit220. The quantized values A631and B632represent “1” and “0”, respectively.

FIG. 5Cillustrates a table of combination640, which is two-dimensional, representing whether each combination regarding the quantized values A631and B632has a symbol. Here, it is assumed that a combination of two quantized values A631and B632is encoded as one symbol.

A circle mark shown in the table of combination640denotes that a combination of the quantized values A631and B632exists as a symbol in the code table stored in the code-table storage units230and430. That is, this means that a code is allocated to a combination of the quantized values A631and B632having the circle mark.

A cross mark shown in the table of combination640means that a combination of the quantized values A631and B632does not exit as a symbol in the code table stored in the code-table storage units230and430. That is, this means that a code is not allocated to a combination of the quantized values A631and B632having the cross mark.

As described above, a code is not allocated to the quantized values A631and B632that are both “0”, which are a plurality of quantized values whose probability of occurrence is significantly low, in the code table stored in the code-table storage units230and430. That is, a code table in which a plurality of quantized values that are all zero are not included as a symbol is stored in the code-table storage units230and430.

In this example, a circle mark is allocated to a combination in which the quantized value A631is “1” and the quantized value B632is “0” in the table of combination640, and thus, the plurality of quantized values A631and B632are encoded. Then, the encoded quantized values A631and B632are decoded by the decoding apparatus400in accordance with the code table the same as that of encoding apparatus200.

The quantized values A651and B652are values obtained as a result of decoding performed by the decoding unit420in accordance with the code table. The quantized values A651and B652represent “1” and “0”, respectively. As described above, the values the same as the quantized values A631and B632generated by the encoding apparatus200are saved for the quantized values A651and B652obtained as a result of decoding performed by the decoding apparatus400.

The normalized values A′661 and B′662 are values obtained by dequantizing the quantized values A651and B652by using the dequantization unit440. The normalized values A′661 and B′662 represent “1.0” and “0.0”, respectively.

FIG. 5Eillustrates amplitude values A′671and B′672as two output values. Here, the vertical axis represents the magnitude V′ of an amplitude value. Moreover, the vertical axis represents values corresponding to normalization coefficients N.

The amplitude values A′671and B′672are output values calculated by multiplying the normalized values A′661and B′662by a normalization coefficient (2.0) by using the inverse-normalization unit450. The amplitude values A′671and B′672represent “2.0” and “0.0”, respectively.

As described above, only the normalization coefficient that is closest to the maximum value of the absolute values of the amplitude values A611and B612, which are a plurality of input values, can be selected from among three normalization coefficients by the restricted-normalization unit210installed. Thus, except for the case in which both of the amplitude values A611and B612are less than “0.5” and larger than “−0.5”, either one of the quantized values becomes “1”. As a result, the probability of occurrence of a plurality of quantized values in which both the quantized values are “0” can be reduced. Thus, the occurrence of an error due to the replacement of a plurality of quantized values that are all zero with a plurality of quantized values, which are different from the plurality of quantized values that are all zero, can be reduced.

Moreover, the probability of occurrence of a plurality of quantized values that are all “0” can be reduced more significantly than before by preventing a large normalization coefficient from being set on purpose, which was performed as necessary in the existing technology in order to increase the probability of occurrence of the quantized value “0”. That is, the probability of occurrence of a plurality of quantized values that are all zero can be reduced by selecting the normalization coefficient that is closest to the maximum value of the absolute values of a plurality of input values or the normalization coefficient that is closest to the maximum value from among the normalization coefficients that are larger than the maximum value.

Here, even when both of the amplitude values A611and B612are less than “0.5” and greater than “−0.5”, the quantized-value replacing unit310can replace a plurality of quantized values that are all “0” with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all “0”. Thus, the symbol corresponding to a plurality of quantized values that are all “0” can be excluded from the code table. Here, the Huffman code table stored in the code-table storage units230and430will be described in the following with reference toFIGS. 6A and 6B.

FIGS. 6A and 6Bare diagrams regarding an existing Huffman code table.FIG. 6Ais a diagram of a table of combination841regarding quantized values A and B. In the table of combination841, nine symbols S1to S9corresponding to combinations of the quantized values A and B are illustrated. In this example, the frequencies of occurrence corresponding to the probabilities of occurrence of the symbols S1and S2are “8”, the frequencies of occurrence of the symbols S3and S4are “4”, the frequencies of occurrence of the symbols S5to S8are “2”, and the frequency of occurrence of the symbol S9is “1”.

FIG. 6Bis a diagram of an example of a Huffman tree generated in accordance with the frequencies of occurrence of the symbols S1to S9described with reference toFIG. 6A. As illustrated in this Huffman tree, codes of a Huffman code “01”, “10”, “001”, “110”, “0000”, “0001”, “1110”, “11110”, and “11111” are allocated to the symbols S1to S9, respectively.

FIG. 7is a diagram regarding codes of the Huffman code generated under conditions described with reference toFIGS. 6A and 6B. Here, a code843, a code length844, and a frequency of occurrence845are illustrated for every symbol842illustrated inFIG. 6A. For example, a code843, which is “01”, is allocated to the symbol S1, which is one of symbols842. The code length844of this code is “2” bits and the frequency of occurrence845thereof is “8”.

In this example, the maximum code length is 5 bits. Moreover, the average code length is 2.88 (=(2×8×2+3×4×2+4×2×3+5×2×1+5×1×1)/(8×2+4×2+2×4+1×1)) bits. Here, this average code length is calculated by subtracting the sum of the frequencies of occurrence845from the sum of the products of the code lengths844and the frequencies of occurrence845, each product being obtained by multiplying the code length844of one of the symbols842by the frequency of occurrence845of the symbol842.

As described above, in Huffman coding, the smaller the frequency of occurrence of a symbol corresponding to the probability of occurrence, the longer the code length of a variable-length code allocated to the symbol. In general, since the frequency of occurrence of the symbol S9, which means that both of the quantized values A and B are “0”, is significantly small, a long code length is allocated to the symbol S9. Thus, when an input signal such as a silent audio signal is input, the symbol S9, which means that both of the quantized values A and B are “0”, is generated. As a result, the coding efficiency significantly decreases. In contrast to this, the code table stored in the code-table storage units230and430will be described in the following with reference toFIGS. 8A to 9.

FIGS. 8A and 8Bare diagrams regarding the code table stored in the code-table storage units230and430according to the first embodiment of the present invention.FIG. 8Ais a diagram of a table of combination641regarding the quantized values A and B. The table of combination641corresponds to the table of combination640illustrated inFIG. 5C. In the table of combination641, eight symbols S1to S8corresponding to combinations of the quantized values A and B are illustrated. Here, the frequencies of occurrence of the symbols S1and S2are “8”, the frequencies of occurrence of the symbols S3and S4are “4”, and the frequencies of occurrence of the symbols S5to S8are “2”.

FIG. 8Bis a diagram of a Huffman tree generated in accordance with the frequencies of occurrence of the symbols S1to S8described with reference toFIG. 8A. As illustrated in this Huffman tree, codes of a Huffman code “01”, “10”, “001”, “110”, “0000”, “0001”, “1110”, and “1111” are allocated to the symbols S1to S8, respectively.

FIG. 9is a diagram regarding the codes of the Huffman code generated under conditions described with reference toFIGS. 8A and 8B. Here, a code643, a code length644, and a frequency of occurrence645are illustrated for every symbol642illustrated inFIG. 8A. For example, a code643, which is “01”, is allocated to the symbol S1, which is one of symbols642. The code length644of this code is “2” bits and the frequency of occurrence645thereof is “8”. Moreover, combinations of a plurality of quantized values corresponding to the symbols642and codes643corresponding to the symbols642are illustrated in the code table stored in the code-table storage unit230.

In this example, the maximum code length is 4 bits and is shorter than the maximum code length for the existing code table described with reference toFIG. 7. Moreover, the average code length is 2.75 (=(2×8×2+3×4×2+4×2×4)/(8×2+4×2+2×4)) bits and is shorter than the average code length for the existing code table.

As described above, the maximum code length and the average code length can be shortened by excluding a symbol whose quantized values A and B are both “0” from targets to be encoded. Thus, the coding efficiency can be increased. That is, a decrease in the coding efficiency can be suppressed by suppressing generation of a code whose code length is longest and that corresponds to a plurality of quantized values that are all zero.

Next, an operation of the information processing system100according to the first embodiment of the present invention will be described with reference toFIGS. 10 and 11.

FIG. 10is a flowchart illustrating an example of a processing procedure of an encoding method for the encoding apparatus200according to the first embodiment of the present invention. Here, it is assumed that the Huffman code table in which a plurality of quantized values that are all zero are excluded from targets to be encoded is stored in the code-table storage unit230.

First, the restricted-normalization unit210selects, from among predetermined normalization coefficients, the normalization coefficient that is closest to the maximum value of the absolute values of a plurality of input values in an input signal (step S911). Here, the restricted-normalization unit210may select instead the normalization coefficient that is closest to the maximum value of the absolute values of the plurality of input values in the input signal from among the normalization coefficients that are larger than the maximum value.

Then, the restricted-normalization unit210calculates a plurality of normalized values by dividing the plurality of input values by the selected normalization coefficient (step S912). Here, the restricted-normalization unit210supplies the normalization coefficient to the multiplexing unit240. Here, steps S911and S912are an example of a normalization process described in the claims.

Then, the quantization unit220generates a plurality of quantized values by quantizing the plurality of normalized values calculated by the restricted-normalization unit210in accordance with the quantization accuracy information (step S913). Here, the quantization unit220supplies the quantization accuracy information to the multiplexing unit240. Here, step S913is an example of a quantization process described in the claims.

Thereafter, the quantized-value replacing unit310determines whether the plurality of quantized values output from the quantization unit220are all zero (step S914). When the plurality of quantized values are not all zero, the quantized-value replacing unit310simply outputs the plurality of quantized values output from the quantization unit220, to the encoding unit320.

In contrast, when the plurality of quantized values are all zero, the quantized-value replacing unit310replaces the plurality of quantized values with one of combinations of a plurality of quantized values included in the code table stored in the code-table storage unit230(step S915). Here, every time the plurality of quantized values that are all zero are replaced with a plurality of quantized values illustrated in the code table stored in the code-table storage unit230, the plurality of quantized values used in the current replacement may be made different from a plurality of quantized values used in the last replacement.

Next, the encoding unit320encodes the plurality of quantized values by outputting, in accordance with the code table, a code of the Huffman code corresponding to the plurality of quantized values output from the quantized-value replacing unit310(step S916). That is, when the plurality of quantized values are all zero, the code output unit300outputs a variable-length code, a code of the Huffman code, allocated to a combination of a plurality of quantized values, which are different from the plurality of quantized values, in accordance with the code table stored in the code-table storage unit230. Here, steps S914to S916are an example of a code output process described in the claims.

Then, the multiplexing unit240generates a code string by associating the code of the Huffman code supplied from the code output unit300, the normalization coefficient supplied from the restricted-normalization unit210, and the quantization accuracy information supplied from the quantization unit220with one another and multiplexing the code of the Huffman code supplied from the code output unit300, the normalization coefficient supplied from the restricted-normalization unit210, and the quantization accuracy information supplied from the quantization unit220(step S917). That is, the multiplexing unit240performs multiplex processing.

FIG. 11is a flowchart illustrating a processing procedure of a decoding method for the decoding apparatus400according to the first embodiment of the present invention. Here, it is assumed that the code-table storage unit430stores a code table the same as that stored in the code-table storage unit230described with reference toFIG. 10.

First, the separation unit410separates the code string generated by the encoding apparatus200into the code of the Huffman code, which is encoded data, and the quantization accuracy information and normalization coefficient corresponding to the code of the Huffman code by performing separation processing (step S921). Then, the decoding unit420decodes the encoded data obtained as a result of the separation processing performed by the separation unit410into a plurality of quantized values by referring to the code table stored in the code-table storage unit430(step S922).

Thereafter, the dequantization unit440converts the plurality of quantized values obtained as a result of decoding performed by the decoding unit420into a plurality of normalized values by performing dequantization processing in accordance with the quantization accuracy information supplied from the separation unit410(step S923). Then, the inverse-normalization unit450generates a plurality of output values by performing inverse-normalization processing by using the plurality of normalized values obtained as a result of the conversion performed by the dequantization unit440and the normalization coefficient supplied from the separation unit410(step S924).

As described above, in the first embodiment of the present invention, when a plurality of quantized values are all zero, a code of the Huffman code corresponding to a combination of a plurality of quantized values, which are different from the above-described plurality of quantized values, can be output. Thus, the maximum code length and the average code length for the encoding apparatus200can be shortened, and the coding efficiency can be increased. Here, an error caused by replacing a plurality of quantized values that are all zero with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero, will be described in the following with reference toFIGS. 12A to 12E.

FIGS. 12A to 12Eare schematic diagrams regarding an error due to the replacement of quantized values performed by the information processing system100according to the first embodiment of the present invention. Here, conditions under which the information processing system100is operated are the same as those described with reference toFIGS. 5A to 5E, and thus description thereof will be omitted.

FIG. 12Cillustrates the table of combination641, which is two-dimensional, representing whether symbols corresponding to combinations of the quantized values A633and B634exist. The code (1110) illustrated inFIG. 9is the code corresponding to the symbol S7, which is a symbol corresponding to the combination in which the quantized value A633is “−1” and the quantized value B634is “0”, in the table of combination641, and is output as encoded data. Then, the encoded data (1110) is decoded by the decoding apparatus400in accordance with the code table which is the same as that stored in the code-table storage unit230of the encoding apparatus200.

Moreover, the normalized values A′663and B′664are obtained by dequantizing the quantized values A′653and B654, respectively, by using the dequantization unit440. The normalized values A′663and B′664represent “1.0” and “0.0”, respectively.

As described above, when both of the amplitude values A613and B614are less than “0.5” and greater than “−0.5”, both of the quantized values A633and B634become “0”. As a result, the quantized-value replacing unit310replaces the quantized values A633and B634with a combination of the quantized values A′653and B654, which are different from the quantized values A633and B634. Thus, the amplitude value A′673, which is an output value, has the error e2as described above.

In this example, since a plurality of quantized values, only one of which is nonzero and is “−1”, is used for the replacement from among combinations of a plurality of quantized values included in the code table, only the amplitude value A′673, which is an output value, has the error e2. Thus, when a plurality of quantized values are all zero, the number of output values that have the error e2can be minimized by outputting a variable-length code corresponding to a plurality of quantized values, only one of which is nonzero, by using the code output unit300in accordance with the code table. As a result, the amount of errors which a plurality of output values have and which are due to the replacement of a plurality of quantized values can be reduced.

Here, for example, when an input signal whose signal level is low such as a silent audio signal is input to the encoding apparatus200, both of the amplitude values A613and B614become less than “0.5” and greater than “−0.5”. Thus, even when an output value is slightly increased by the error e2, this does not greatly affect the result. However, there may be a case in which the error e2due to the replacement of a plurality of quantized values by using the quantized-value replacing unit310affects the resulting sound acoustically. In contrast to this, a second embodiment is an improved embodiment in which the error e2is reduced.

2. Second Embodiment

FIGS. 13A to 13Eare schematic diagrams regarding an error due to the replacement of a plurality of quantized values performed by the information processing system100according to the second embodiment of the present invention. Here, the basic structure of the encoding apparatus200in the information processing system100is similar to that of the encoding apparatus200illustrated inFIG. 2. Moreover, the structure of the decoding apparatus400in the information processing system100according to the second embodiment of the present invention is also similar to that of the decoding apparatus400illustrated inFIG. 4.

In this example, a case is assumed in which a normalization coefficient may be selected by the restricted-normalization unit210from among “0.50” and “0.25” in addition to “4.00”, “2.00” and “1.00” illustrated inFIG. 5A. Other conditions under which operation is performed are similar to those described with reference toFIGS. 5A to 5E, and thus description thereof will be omitted. Moreover,FIGS. 13B to 13Dare similar toFIGS. 12B to 12D, and thus description thereof will be omitted.

As described above, when the magnitude of the minimum normalization coefficient is reduced from “1.00” to “0.25”, the number of normalization coefficients increases. Thus, there may be a case in which the number of allocated bits for transmitting a normalization coefficient to the decoding apparatus400is increased and the amount of information to be transmitted is increased. However, the error e3according to the second embodiment can be more greatly reduced than the error e2illustrated inFIG. 12Eby reducing the magnitude of the minimum normalization coefficient in the restricted-normalization unit210. That is, in the second embodiment of the present invention, the amount of information to be transmitted is increased by performing division on a plurality of input values by using the normalization coefficients whose minimum normalization coefficient is set to close to zero; however, an error due to the replacement of a plurality of quantized values that are all zero can be reduced.

Next, a Huffman-code generation apparatus500will be described, which generates, in advance, a Huffman code table used in encoding and decoding processing performed by the information processing system100according to the first and second embodiments of the present invention. It is assumed that the Huffman-code generation apparatus500performs processing, which is performed by the encoding apparatus200in the first and second embodiments of the present invention, and includes a structure similar to the restricted-normalization unit210, quantization unit220, and quantized-value replacing unit310included in the encoding apparatus200. Here, the structure of the Huffman-code generation apparatus500will be described in the following with reference toFIG. 14.

FIG. 14is a block diagram of an example of the structure of the Huffman-code generation apparatus500according to a third embodiment of the present invention. The Huffman-code generation apparatus500includes a sample-data supplying unit510, a restricted-normalization unit520, a quantization unit530, a quantized-value replacing unit540, a frequency-of-occurrence calculation unit550, a Huffman-code generation unit560, and a code-table storage unit570. The restricted-normalization unit520, the quantization unit530, and the quantized-value replacing unit540are similar to the restricted-normalization unit210, the quantization unit220, and the quantized-value replacing unit310illustrated inFIG. 2. Accordingly, description thereof will be omitted.

The sample-data supplying unit510supplies sample data for generating a Huffman code table. The sample-data supplying unit510supplies sample data, which is assumed to be an input signal to be encoded by the encoding apparatus200, to the restricted-normalization unit520.

For each of symbols, which are combinations of a plurality of quantized values, output from the quantized-value replacing unit540, the frequency-of-occurrence calculation unit550calculates a frequency of occurrence. The frequency-of-occurrence calculation unit550obtains “0” as the calculated frequency of occurrence of a plurality of quantized values that are all zero since the quantized-value replacing unit540replaces the plurality of quantized values that are all zero with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero. The frequency-of-occurrence calculation unit550supplies the calculated frequencies of occurrence to the Huffman-code generation unit560.

The Huffman-code generation unit560generates codes of a Huffman code in accordance with the frequencies of occurrence for the symbols supplied from the frequency-of-occurrence calculation unit550. The smaller the frequency of occurrence of a symbol, the longer the code length of a code of the Huffman code allocated to the symbol by the Huffman-code generation unit560. Moreover, the Huffman-code generation unit560supplies, as the Huffman code table, the codes of the Huffman code allocated to the symbols to the code-table storage unit570.

The code-table storage unit570stores the Huffman code table supplied from the Huffman-code generation unit560. The Huffman code table stored in the code-table storage unit570is transferred to the code-table storage unit230included in the encoding apparatus200and the code-table storage unit430included in the decoding apparatus400.

As described above, a plurality of quantized values that are all zero can be replaced with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero, by the quantized-value replacing unit540installed. Thus, the symbol corresponding to a plurality of quantized values that are all zero can be excluded from the code table. Next, an example of an operation of the Huffman-code generation apparatus500will be described in the following with reference toFIG. 15.

FIG. 15is a flowchart illustrating an example of a processing procedure of a code generation method for the Huffman-code generation apparatus500according to the third embodiment of the present invention.

First, the restricted-normalization unit520selects a normalization coefficient from among a plurality of normalization coefficients, the absolute value of the difference between the normalization coefficient and the maximum value of the absolute values of a plurality of input values supplied from the sample-data supplying unit510being smallest (step S931). Then, the restricted-normalization unit520calculates a plurality of normalized values by dividing the plurality of input values by the selected normalization coefficient (step S932). Then, the quantization unit530generates a plurality of quantized values by quantizing the plurality of normalized values calculated by the restricted-normalization unit520in accordance with the quantization accuracy information (step S933).

Thereafter, the quantized-value replacing unit540determines whether the plurality of quantized values output from the quantization unit530are all zero (step S934). When the plurality of quantized values are not all zero, the quantized-value replacing unit540simply outputs the plurality of quantized values supplied from the quantization unit220to the encoding unit320. In contrast, when the plurality of quantized values are all zero, the quantized-value replacing unit540replaces the plurality of quantized values with a combination of a plurality of quantized values, which are different from the plurality of quantized values, (step S935).

Then, the frequency-of-occurrence calculation unit550calculates the frequency of occurrence for the plurality of quantized values or the combination of a plurality of quantized values supplied from the quantized-value replacing unit540(step S936). In this way, steps S931to S936are repeatedly performed until processing of the sample data supplied from the sample-data supplying unit510has finished. Moreover, when processing of the sample data supplied from the sample-data supplying unit510is finished (step S937), the Huffman-code generation unit560generates codes of the Huffman code, each of which is generated in accordance with the frequency of occurrence of a corresponding one of combinations of a plurality of quantized values (step S938). Then, the Huffman-code generation unit560generates a Huffman code table by using the generated codes, and the code-table storage unit570stores the Huffman code table (step S939).

As described above, a code table that does not include the symbol corresponding to the plurality of quantized values that are all zero can be generated by replacing a plurality of quantized values that are all zero with a combination of a plurality of quantized values, which are different from the plurality of quantized values that are all zero, in the third embodiment of the present invention.

Hence, according to the embodiments of the present invention, the maximum code length and the average code length can be shortened by excluding a plurality of quantized values that are all zero from the targets to be encoded.

Here, in the embodiments of the present invention, an audio signal is used as an example of the input signal input to the information processing system100; however, an image signal may be input to the information processing system100as an input signal.

Moreover, in the embodiments of the present invention, the example in which the Huffman code table is stored in the code-table storage unit230of the encoding apparatus200has been described; however, the encoding apparatus200may be provided with the Huffman-code generation apparatus500. For example, the encoding apparatus200may be further provided with the quantized-value replacing unit540, the frequency-of-occurrence calculation unit550, and the Huffman-code generation unit560.

Note that the embodiments of the present invention are examples for realizing the present invention, and as clearly described in the embodiments of the present invention, there is a correspondence relationship between each of the items described in the embodiments of the present invention and a corresponding one of elements used to define inventions described in the claims. Similarly, there is a correspondence relationship between each of the elements used to define inventions described in the claims and a corresponding one of the items having the same name as the element. However, the present invention is not limited to the embodiments, and the present invention may be realized by embodiments on which various modifications have been made without departing from the gist of the present invention.

Moreover, the processing procedures described in the embodiments of the present invention may be treated as methods, each of which has a corresponding one of the processing procedures, or may be treated as programs, each of which is used to execute a corresponding one of the processing procedures. The programs may be stored in a recording medium. As such a recording medium, for example, a compact disc (CD), a MiniDisc (MD), a digital versatile disc (DVD), a memory card, a Blu-ray Disc (registered trademark), and the like can be used.

The present application contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2009-234692 filed in the Japan Patent Office on Oct. 9, 2009, the entire content of which is hereby incorporated by reference.