A hardware implemented method of operating an entropy decoding engine for use in an entropy decoder operating on data compressed with a context based variable length compression scheme, the entropy decoder receiving code words and probability information, the entropy decoding engine configured to decode the code words into phrase words using N search tree lookup tables, each search tree lookup table corresponding to a probability from a set of N probabilities, the method comprising: the decoding engine receiving a code word and associated probability information; in an initial clock cycle, a branch node block of the decoding engine reading the code word and processing the code word using a lookup table corresponding to the probability information to obtain leaf node information, the branch node block making the probability information and the leaf node information available to a leaf node block of the decoding engine for a next clock cycle; in subsequent clock cycles, repeated until all code words are processed, the decoding engine executing the branch node block and the leaf block simultaneously by, in each clock cycle: the branch node block receiving a subsequent code word and subsequent probability information; the branch node block reading the subsequent code word and processing the subsequent code word using a subsequent lookup table corresponding to the subsequent probability information to obtain subsequent leaf node information, the branch node block making the subsequent probability information and the subsequent leaf node information available to the leaf node block for the next clock cycle; the leaf node block, looking up leaf node contents from the lookup table corresponding to the probability information and the leaf node information provided by the branch node block from a preceding clock cycle to locate the leaf node and outputting leaf node contents from the leaf node and an indication of the probability information, whereby the leaf node contents output by the leaf node block may be assembled to produce the phrase words; wherein leaf node information includes content location. the decoding engine receiving a code word and associated probability information; in an initial clock cycle, a branch node block of the decoding engine reading the code word and processing the code word using a lookup table corresponding to the probability information to obtain leaf node information, the branch node block making the probability information and the leaf node information available to a leaf node block of the decoding engine for a next clock cycle; in subsequent clock cycles, repeated until all code words are processed, the decoding engine executing the branch node block and the leaf block simultaneously by, in each clock cycle: the branch node block receiving a subsequent code word and subsequent probability information; the branch node block reading the subsequent code word and processing the subsequent code word using a subsequent lookup table corresponding to the subsequent probability information to obtain subsequent leaf node information, the branch node block making the subsequent probability information and the subsequent leaf node information available to the leaf node block for the next clock cycle; the leaf node block, looking up leaf node contents from the lookup table corresponding to the probability information and the leaf node information provided by the branch node block from a preceding clock cycle to locate the leaf node and outputting leaf node contents from the leaf node and an indication of the probability information, whereby the leaf node contents output by the leaf node block may be assembled to produce the phrase words; the branch node block receiving a subsequent code word and subsequent probability information; the branch node block reading the subsequent code word and processing the subsequent code word using a subsequent lookup table corresponding to the subsequent probability information to obtain subsequent leaf node information, the branch node block making the subsequent probability information and the subsequent leaf node information available to the leaf node block for the next clock cycle; the leaf node block, looking up leaf node contents from the lookup table corresponding to the probability information and the leaf node information provided by the branch node block from a preceding clock cycle to locate the leaf node and outputting leaf node contents from the leaf node and an indication of the probability information, whereby the leaf node contents output by the leaf node block may be assembled to produce the phrase words;