An image coding method using arithmetic coding, the image coding method comprising: selecting (S141; S181-S183) a context set to be used in the arithmetic coding on a target coefficient block obtained by dividing a target coding block by setting the context set to 0 if the target coefficient block has the lowest frequency in the target coding block, otherwise setting the context set to 2; determining (S153) a first context to be used in the arithmetic coding on a first flag that indicates whether or not an absolute value of a target coefficient in the target coefficient block is greater than 1; performing arithmetic coding (S143;S154) on the first flag using the first context; determining (S163) a second context to be used in the arithmetic coding on a second flag that indicates whether or not the absolute value is greater than 2; performing arithmetic coding (S144;S164) on the second flag using the second context; wherein the first context and the second context are determined based on the context set; binarizing (S173) a remainder according to a transform table designated by a binarization parameter from among a plurality of transform tables, when the absolute value of the target coefficient is greater than 2, wherein the remainder indicates a value obtained by subtracting 3 from the absolute value; and updating (S175;S254) the binarization parameter by incrementing by one the value of the binarization parameter, when the absolute value of the target coefficient is greater than a threshold value, wherein the threshold value is three times of a value which is equal to 1 left shifted by the value of the binarization parameter; and incrementing (S185) by one the context set when the binarization parameter of the immediately-prior coefficient block that has been coded immediately prior to the target coefficient block is greater than zero;. selecting (S141; S181-S183) a context set to be used in the arithmetic coding on a target coefficient block obtained by dividing a target coding block by setting the context set to 0 if the target coefficient block has the lowest frequency in the target coding block, otherwise setting the context set to 2; determining (S153) a first context to be used in the arithmetic coding on a first flag that indicates whether or not an absolute value of a target coefficient in the target coefficient block is greater than 1; performing arithmetic coding (S143;S154) on the first flag using the first context; determining (S163) a second context to be used in the arithmetic coding on a second flag that indicates whether or not the absolute value is greater than 2; performing arithmetic coding (S144;S164) on the second flag using the second context; wherein the first context and the second context are determined based on the context set; binarizing (S173) a remainder according to a transform table designated by a binarization parameter from among a plurality of transform tables, when the absolute value of the target coefficient is greater than 2, wherein the remainder indicates a value obtained by subtracting 3 from the absolute value; and updating (S175;S254) the binarization parameter by incrementing by one the value of the binarization parameter, when the absolute value of the target coefficient is greater than a threshold value, wherein the threshold value is three times of a value which is equal to 1 left shifted by the value of the binarization parameter; and incrementing (S185) by one the context set when the binarization parameter of the immediately-prior coefficient block that has been coded immediately prior to the target coefficient block is greater than zero;. <EOS>