{'fraction_non_alphanumeric': 0.02158273381294964, 'fraction_numerical': 0.0051387461459403904, 'mean_word_length': 5.1257861635220126, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
High speed architecture of arithmetic coder

A high speed arithmetic coder architecture is proposed in this paper. An out-of-order execution mechanism for different types of context is used that can allocate the context symbol to the idle arithmetic coding core with a different order compared with the input order. For the balance of the input rate of contexts, in one arithmetic coder, there exist N cores for processing different contexts, where N is the number of context type. Furthermore, the same bit detection (SBD) circuit is used for unrolling the renormalization stage of arithmetic coding. Moreover, because of time consuming for underflowing, a dedicated circuit is designed to unrolling the internal loop which can process underflowing situation in a few clock cycles. Experimental results demonstrate that the proposed architecture attains a throughput of 375.50 MCPS (Mega Contexts per Second) at its maximum based on field programmable gate arrays (FPGAs).