A method of encoding transform coefficients generated by a block-based transform of residual data from spatial or temporal prediction in a video coding process, the method comprising: encoding a significance map flag for transform coefficients in a chunk of transform coefficients, wherein the significance map flag indicates whether or not a particular transform coefficient has an absolute value greater than zero; encoding a sign flag for transform coefficients in the chunk, wherein the sign flag indicates the sign of the particular transform coefficient; encoding a greater-than-one flag for transform coefficients in an inverse scan order in the chunk indicated as having an absolute value larger than zero by the significance map flag, wherein the greater-than-one flag indicates whether or not the particular transform coefficient has an absolute value greater than one,; encoding a greater-than-two flag for transform coefficients in the chunk indicated as having an absolute value larger than one by the greater-than-one flag, wherein the greater-than-two flag indicates whether or not the particular transform coefficients has an absolute value greater than two; encoding a level remaining value for transform coefficients in the chunk, and signaling the sign flag, the significance map flag, the greater-than-one flag, the greater-than-two flag and the level remaining value in an encoded video bitstream, wherein the level remaining value represents the absolute value of a corresponding coefficient minus three for transform coefficient in the chunk having a coded greater-than-two flag that indicates that the particular transform coefficient has an absolute value greater than two, and wherein the significance map flag, the greater-than-one flag, and the greater-than-two flag are coded using context adaptive binary arithmetic coding (CABAC) with an adaptive context model, and wherein the level remaining value is coded in CABAC bypass mode, and wherein the sign flag is coded in CABAC bypass mode, characterized in that a greater-than-one flag is coded only for a first M1 non-zero transform coefficients in the inverse scan order, wherein M1 is less than a maximum number of transform coefficients in the chunk, and in that the level remaining value represents the absolute value of a corresponding coefficient minus one for transform coefficients in the chunk that are non-zero but do not have a coded greater-than-one flag. encoding a significance map flag for transform coefficients in a chunk of transform coefficients, wherein the significance map flag indicates whether or not a particular transform coefficient has an absolute value greater than zero; encoding a sign flag for transform coefficients in the chunk, wherein the sign flag indicates the sign of the particular transform coefficient; encoding a greater-than-one flag for transform coefficients in an inverse scan order in the chunk indicated as having an absolute value larger than zero by the significance map flag, wherein the greater-than-one flag indicates whether or not the particular transform coefficient has an absolute value greater than one,; encoding a greater-than-two flag for transform coefficients in the chunk indicated as having an absolute value larger than one by the greater-than-one flag, wherein the greater-than-two flag indicates whether or not the particular transform coefficients has an absolute value greater than two; encoding a level remaining value for transform coefficients in the chunk, and signaling the sign flag, the significance map flag, the greater-than-one flag, the greater-than-two flag and the level remaining value in an encoded video bitstream, wherein the level remaining value represents the absolute value of a corresponding coefficient minus three for transform coefficient in the chunk having a coded greater-than-two flag that indicates that the particular transform coefficient has an absolute value greater than two, and wherein the significance map flag, the greater-than-one flag, and the greater-than-two flag are coded using context adaptive binary arithmetic coding (CABAC) with an adaptive context model, and wherein the level remaining value is coded in CABAC bypass mode, and wherein the sign flag is coded in CABAC bypass mode, characterized in that a greater-than-one flag is coded only for a first M1 non-zero transform coefficients in the inverse scan order, wherein M1 is less than a maximum number of transform coefficients in the chunk, and in that the level remaining value represents the absolute value of a corresponding coefficient minus one for transform coefficients in the chunk that are non-zero but do not have a coded greater-than-one flag.