Patent ID: 8228214
Filing Date: 2012-07-24
Classification: G10L,H03M,H04N

Abstract:
1. A variable-length code decoding apparatus that decodes a bitstream containing variable-length encoded data, said apparatus comprising: a first storage configured to store multiple codewords used in variable-length encoding as well as decoded data and code lengths respectively corresponding to the multiple codewords; a bit outputter that includes a buffer that accumulates the bitstream and that is configured to output a bit string of a first length starting from a starting bit of an undecoded bitstream accumulated in the buffer, and when a length of the undecoded bitstream accumulated in the buffer is less than the first length, output the bit string of the first length by adding data to an end of the bit string; a first referrer configured to output decoded data and a code length corresponding to a codeword that matches a codeword at a start of the bit string output by said bit outputter with reference to said first storage; a first determiner configured to determine whether or not at least the undecoded bitstream of the first length is accumulated in the buffer; a second determiner configured to determine whether or not at least the undecoded bitstream of a second length is accumulated in the buffer, the second length being shorter than the first length; and a selector configured to select a determination result from one of said first determiner and said second determiner, wherein said bit outputter is configured to, when the determination result selected by said selector indicates that at least the undecoded bitstream of the first length or the second length is accumulated in the buffer, set a new starting bit based on the code length output by said first referrer and output a new bit string of the first length in accordance with the set starting bit; and said selector is configured to switch the selection of the determination result between said first determiner and said second determiner based on the length of the undecoded bitstream accumulated in the buffer.