摘要 |
A block transform-based digital media codec more efficiently encodes transform coefficients by jointly-coding non-zero coefficients along with succeeding runs of zero-value coefficients (Fig. 14). When a non-zero coefficient is the last in its block, a last indicator is substituted for the run value in the symbol for that coefficient (Fig. 14, item 1435). Initial non-zero coefficients are indicated in a special symbol which jointly-codes the non-zero coefficient along with initial and subsequen runs of zeroes (Fig. 14, item 1440). The codec allows for multiple coding contexts by recognizing breaks in runs of non¬ zero coefficients and coding non-zero coefficients on either side of such a break separately (Fig. 14, item 1460). The codec also reduces code table size by indicating in each symbol whether a non-zero coefficient has absolute value greate than 1 and whether runs of zeros have positive value (Fig. 14, item 1475), and separately encodes the level of the coefficients and the length of the runs outside of the symbols (Fig. 14, item 1490). |