JCTVC-B111 [K. Misra, J. Zhao, A. Segall (Sharp Labs)] Entropy slices for parallel entropy coding
The concept of an Entropy Slice was proposed for the HEVC system. Entropy slices enable separate entropy coding neighborhoods in the entropy decoding and reconstruction loops. Motivations for entropy slices were suggested as follows:
As a first benefit, it was asserted that the system enables parallel decoding with negligible overhead. This includes both the context adaptation and bin coding stages, and it accommodates all of the entropy coding engines currently in the TMuC.
As a second benefit, it was asserted that the degree of parallelization is flexible – an encoder may generate a bit-stream that supports a wide range of decoder parallelization factors without knowledge of the target platform.
As a third benefit, it was asserted that the entropy slice concept enables more meaningful profile and level definitions for entropy coding. Specifically, profiles/levels may define bin limits per entropy slice, as opposed to imposing such limits for an entire picture. This was asserted to be useful for all applications, but with an especially significant benefit to emerging higher rate and higher resolution scenarios.
A participant commented that needing to obey a bin limit on an entropy slice might be a burden on encoder designs, and suggested that such a limit should perhaps be imposed that does not include the last macroblock of the slice.
The proponent emphasized that the header size for the proposed entropy slice design is small.
The need to buffer the decoded symbols in the decoder was also mentioned as an implementation issue.
No particular further experiment appears to be needed on this topic, at least at this time.
The basic concept of desiring enhanced high-level parallelism of the entropy coding stage to be in the HEVC design is agreed.
It was remarked that interleaved entropy slices (JCTVC-A101) is a somewhat competing concept.
Plan to establish an AHG on parallel entropy coding. The AHG should study the merits of these approaches (and potentially others if such can be identified). The study does not necessarily need to be in the TMuC context, although that would be preferred.
Entropy slice contains a definable maximum number of bins for which the decoding is independent of other entropy slices (unlike usual slices which have variable number of bins). Signaled in the slice header by entropy slice flag plus information that is necessary to initialize the entropy decoder.
Output of the parallel entropy decoders needs to be buffered to allow further parallel processing.
Questions are raised whether this also allows parallel processing at the encoder.
Experimental results (using 32 entropy slices on a 1080p picture which are processed by 4 parallel decoders) show that the effect on coding efficiency is low (<0.1%) for the tested configurations.
Conclusion: Basic concept of including parallelism at high level is agreed; establish AHG to elaborate concepts to include such a concept in the TMuC (there is also JCTVC-A101 that proposed a similar concept). If experimentation is necessary, it would
Dostları ilə paylaş: |