A decoding method for performing variable-length decoding on coded data obtained by performing variable-length coding on the non-zero coefficients of a block which are obtained by performing frequency transformation on picture data of the block that has a predetermined size of pixels, the decoding method comprising: performing variable-length decoding on coded data from a high frequency component toward a low frequency component to obtain decoded non-zero coefficients using a plurality of variable length code tables; and inverse scanning the decoded non-zero coefficients into two-dimensional coefficients of the block; wherein each of the plurality of variable length code tables includes a plurality of variable length codes which correspond to the non-zero coefficients, wherein said variable-length decoding on the coded data is performed by switching between a plurality of variable-length code tables each of which is assigned a table number and a threshold such that the first table is assigned the lowest threshold, and each following table is assigned one threshold which is different to and greater than all of the previously assigned thresholds; wherein said variable-length decoding on the coded data starts using the first table and when the absolute value of a current non-zero coefficient to be decoded exceeds the threshold assigned to the table used for decoding the current non-zero coefficient, the code table is switched to the following code table having the greater assigned threshold, the threshold value used for checking whether the absolute values of the non-zero coefficients exceed the threshold is changed to the threshold assigned to said switched table, and the next non-zero coefficient following the current non-zero coefficient is decoded using said switched table; and wherein a rate of increase in code length, corresponding to an increase in absolute values of coefficients, of the variable length codes included in each of the variable length code tables becomes smaller as the table number assigned to each of the variable length code tables becomes larger. performing variable-length decoding on coded data from a high frequency component toward a low frequency component to obtain decoded non-zero coefficients using a plurality of variable length code tables; and inverse scanning the decoded non-zero coefficients into two-dimensional coefficients of the block; wherein each of the plurality of variable length code tables includes a plurality of variable length codes which correspond to the non-zero coefficients, wherein said variable-length decoding on the coded data is performed by switching between a plurality of variable-length code tables each of which is assigned a table number and a threshold such that the first table is assigned the lowest threshold, and each following table is assigned one threshold which is different to and greater than all of the previously assigned thresholds; wherein said variable-length decoding on the coded data starts using the first table and when the absolute value of a current non-zero coefficient to be decoded exceeds the threshold assigned to the table used for decoding the current non-zero coefficient, the code table is switched to the following code table having the greater assigned threshold, the threshold value used for checking whether the absolute values of the non-zero coefficients exceed the threshold is changed to the threshold assigned to said switched table, and the next non-zero coefficient following the current non-zero coefficient is decoded using said switched table; and wherein a rate of increase in code length, corresponding to an increase in absolute values of coefficients, of the variable length codes included in each of the variable length code tables becomes smaller as the table number assigned to each of the variable length code tables becomes larger.