A method of decoding an image in a video or image decoder from a bitstream, the bitstream having header information for a set of blocks, the decoder having an arithmetic decoder to convert the bitstream into bins, the decoder including a default binarizer for inverse binarizing bins to reconstruct symbols, the method comprising: obtaining the header information from the bitstream; determining from the header information that a modified binarizer is to be used, instead of the default binarizer, with respect to a sequence of bins for the set of blocks, and in response selecting the modified binarizer for the sequence of bins; arithmetic decoding the bitstream into the sequence of bins; and reconstructing a sequence of symbols from the sequence of bins using the selected binarizer to inverse binarize the sequence of bins, wherein the default binarizer comprises a first coding tree for the inverse binarization, the modified binarizer comprises a second coding tree for the inverse binarization having a different tree structure of internal and leaf nodes from the first coding tree; a symbol represented by a path in a coding tree consisting of branches from the internal nodes starting from the root node of the coding tree to a respective leaf node; the first and second coding trees comprising internal node probabilities associated with the branches of the internal nodes of the respective coding tree; the internal node probabilities of the selected binarizer are used by the arithmetic decoder for arithmetic decoding; wherein the header information comprises information specifying the structure of the second coding tree and an allocation of symbols to leaf nodes of the second coding tree; wherein the first and second coding trees are used for decoding tokens; wherein a token is a binary string that indicates the magnitude of a quantized transform domain coefficient; and wherein the second coding tree is determined to satisfy for any i ≠ j: if the number of times that token i appears in the set of blocks f i is larger than the number of times that token j appears in the set of blocks f j, then the number of bins used to represent token i by using the second coding tree l i is less than or equal to the number of bins used to represent token j by using the second coding tree l j; the method further comprising: generating the second coding tree based on the header information. obtaining the header information from the bitstream; determining from the header information that a modified binarizer is to be used, instead of the default binarizer, with respect to a sequence of bins for the set of blocks, and in response selecting the modified binarizer for the sequence of bins; arithmetic decoding the bitstream into the sequence of bins; and reconstructing a sequence of symbols from the sequence of bins using the selected binarizer to inverse binarize the sequence of bins, wherein the header information comprises information specifying the structure of the second coding tree and an allocation of symbols to leaf nodes of the second coding tree; wherein the first and second coding trees are used for decoding tokens; wherein a token is a binary string that indicates the magnitude of a quantized transform domain coefficient; and wherein the second coding tree is determined to satisfy for any i ≠ j: if the number of times that token i appears in the set of blocks f i is larger than the number of times that token j appears in the set of blocks f j, then the number of bins used to represent token i by using the second coding tree l i is less than or equal to the number of bins used to represent token j by using the second coding tree l j; the method further comprising: generating the second coding tree based on the header information.