Patent ID: 7929777

Claim:
A variable length decoding device for decoding variable length coded/run length coded data; the variable length decoding device comprising: a variable length decoder for sequentially decoding the externally input variable length coded/run length coded data to TotalCoeff representing the number of non-zero coefficients, LEVEL representing the size of a non-zero coefficient value, total_zeros representing the number of zero coefficients before the last LEVEL in the data scanning direction, run_before representing the number of successive zero coefficients before the LEVEL in the data scanning direction; a first data buffer for storing the LEVEL; a write controller for writing the LEVEL to the first data buffer in the decoded order; an initial address calculator for calculating the initial address of the LEVEL from the TotalCoeff and the number of zero coefficients of the total_zeros; an address holder for determining and holding the address of the LEVEL corresponding to data based on the initial address and the number of zero coefficients by the run_before; a read controller for reading the LEVEL from the first data buffer based on the address information held by the address holder; a selector for selecting either the LEVEL stored in the first data buffer or the zero coefficients based on the address information held by the address holder; and a post-stage processor for post-stage processing the data selected by the selector, wherein the address holder includes, an address calculator for calculating the address of the LEVEL corresponding to data based on the initial address and the number of the run_before; and an information register for controlling the selector and the read controller based on the address of the LEVEL calculated by the address calculator and the TotalCoeff.