Codificador |
Com toda a informação necessária para codificar presente nas matrizes de cor [R G B], chega a altura de codificar a imagem. Tendo o respectivo bloco de 8x8 pronto a codificar é necessário ler valor a valor até que a matriz esteja toda codificada. Sempre que um valor lido seja diferente de zero, ou haja um valor diferente de zero com menos de 15 zeros até que seja encontrado outro valor diferente de zero, pode ser codificado a correspondência código Û par (run, size), amplitude. Run é o número de zeros encontrados, size o número de bits necessários para ler amplitude, e amplitude é o próximo valor da matriz diferente de zero. Caso existam apenas zeros até ao fim da matriz é codificado o par (0, 0) indicado EOB (fim de bloco). Caso sejam encontrados 16 zeros seguidos e não estejamos na condição anterior é codificado o par (15, 0). Um diagrama deste procedimento pode ser visto de seguida:
|