14.9 Descodificador (versión real)

  1. Sean L 0000, H FFFF y V los primeros 16 bits de entrada.
  2. Mientras existan símbolos que descodificar:
    1. Encontrar el símbolo cuyo intervalo contiene a V . Este es el símbolo descodificado.
    2. Calcular el siguiente intervalo de forma análoga al paso 2.a del codificador.
    3. Ejecutar en un lazo los siguientes pasos:
      1. Si el MSb de L y H son iguales a 1, hacer L L - 8000, H H - 8000 y V V - 8000.
      2. Si 4000 L < H < C000 (situación de posible underflow), hacer L L - 4000, H H - 4000 y V V - 4000.
      3. En cualquier otro caso, salir del lazo.
      4. Expandir el intervalo de codificación, igual que en el paso 4 del codificador.
      5. Insertar como LSb el siguiente bit de código aritmético en V y desplazar el resto de bits hacia posiciones más significativas.