Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG

Documentos relacionados
EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D. Roger Endrigo Carvalho Porto, Luciano Volcan Agostini

IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA

AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG

Projeto de uma Arquitetura de DCT 1D para a Compressão de Imagens JPEG

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Projetos de Circuitos Digitais em VHDL e FPGA

CONVERSOR DE ESPAÇO DE CORES PARALELO PARA A COMPRESSÃO DE IMAGENS JPEG

Técnicas Digitais para Computação

EXPLORAÇÃO DO ESPAÇO DE PROJETO EM ARQUITETURAS PARA CÁLCULO DA RAIZ QUADRADA INTEIRA

Arquitetura de Computadores I

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

Capítulo 6 Aritmética Digital: Operações e Circuitos

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação

Introdução a Sistemas Digitais

Opções de Design para Circuitos Integrados CMOS

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

Montagem, testes, depuração e documentação de circuitos digitais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

Somador de quatro bits terá um total de: Esquema interno do somador é apresentado a seguir.

Exercícios de Laboratório 2

PROJETO, SÍNTESE E SIMULAÇÃO DAS INTERFACES DE REUSO DE HARDWARE DO PADRÃO OCP (OPEN CORE PROTOCOL)

PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS

PROJETO DE ARQUITETURAS SÍNCRONAS E DE ALTO DESEMPENHO PARA OS BLOCOS DAS TRANSFORMADAS DIRETAS E INVERSAS DA COMPRESSÃO H.264/AVC

Somadores Binários E.T.M./2005 (revisão)

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

Padrões de Compressão de Imagens

Projeto de CI Semidedicados

CIRCUITOS SOMADORES = = =

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis

PROGRAMA DA DISCIPLINA

Compressão de Imagens de Satélites: Embarcada e em Solo

Arquitetura de Computadores. Tiago Alves de Oliveira

Organização de Computadores

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Projeto com Linguagens de Descrição de Hardware

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

PROJETO DE ARQUITETURA DE CODIFICADOR DE ENTROPIA PARA COMPRESSÃO JPEG DE IMAGENS EM TONS DE CINZA

ARQUITETURA MULTITRANSFORMADA DE ALTO DESEMPENHO COM PARALELISMO PROGRAMÁVEL E DIRECIONADA PARA O PADRÃO DE COMPRESSÃO DE VÍDEO H.

FERRAMENTA PARA ENSINO DAS TÉCNICAS DE COMPRESSÃO DE VÍDEO UTILIZADAS NO PADRÃO MPEG-2

MÉTODOS E RESULTADOS DE OTIMIZAÇÕES DE CIRCUITOS IMPLEMENTADOS SOBRE O AMBIENTE DE SÍNTESE LÓGICA ELIS

ARQUITETURA DE HARDWARE DEDICADA PARA A DECODIFICAÇÃO EXP-GOLOMB DO PADRÃO H.264 DE COMPRESSÃO DE VÍDEO

6 Estudos de Casos Porta Lógica OU de 4 Entradas

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

CALCULADORA SIMPLES COM ULA

Projeto com Dispositivos Programáveis

Dispositivos de Lógica Programável

Televisão Digital 5ºano 2006/2007. Compressão/Descompressão de Imagens JPEG. Trabalho realizado por: Carla Neves, nº

XOR, Detecção de Erro, Comparadores

Projeto de Hardware para a Compensação de Movimento do Padrão H.264/AVC de Compressão de Vídeo

ENGC40 - Eletrônica Digital

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4

Programa Analítico de Disciplina INF251 Organização de Computadores I

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

AVALIAÇÃO DE CIRCUITOS SOMADORES DE 32 BITS EM VHDL UTILIZANDO DISPOSITIVOS DE LÓGICA PROGRAMÁVEL

Relatório Circuitos Lógicos. Calculadora 4 bits

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4)

UM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹

Técnicas Digitais para Computação

Introdução à Computação

QUANTIZAÇÃO DIRETA E INVERSA DE ALTA PERFORMANCE PARA A COMPRESSÃO DE VÍDEO H.264/AVC DIRECIONADA PARA HDTV

TUTORIAL PARA SIMULAÇÃO

Representação de quantidade(número)

Circuitos Aritméticos Somadores

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Classificação e Pesquisa de Dados. Aula 27 Compressão de Dados Multimídia: Compressão de Imagens

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Departamento de Engenharia Elétrica e de Computação SEL 405 Lab. de Introdução aos Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 6

Parte # 2 - Circuitos Combinatórios

Representação de quantidade(número) Expressão de significância posicional

VHDL Circuitos Combinacionais

Eletrônica Digital I (EDL I)

Departamento de Engenharia Elétrica e de Computação EESC-USP. Guia de Projetos VHDL utilizando o QUARTUIS II. Profa. Luiza Maria Romeiro Codá

Prof. Leonardo Augusto Casillo

Hierarchical Add-One Carry-Select Adder: Um Somador Select-Adder com Cadeia de Carry Logarítmica

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Performance and Power Consumption Analysis of Full Adders Designed in 32nm Technology

Multiplicador Binário com Sinal

Circuito de Aritmética Decimal

Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01)

Capítulo 6 Aritmética Digital: Operações e Circuitos

Sistemas Digitais Unidade Lógica e Aritmética - ULA

Calculadora Simples em VHDL

Codificador de Entropia Segundo o Perfil Baseline do padrão H.264/AVC de Compressão de Vídeo

Operações com números binários

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA

Organização e Arquitetura de Computadores I

Implementação de um Algoritmo Customizado para o Cálculo de FFT usando o NIOS (ALTERA)

YAROG: UM GERADOR AUTOMÁTICO DE MEMÓRIA ROM INDEPENDENTE DE TECNOLOGIA

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Acadêmicos: Cassiano Cesar Casagrande Claudir Galesky Junior Rafael Voltolini

Projeto Moderno de Sistemas Digitais

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

3 a Lista de Exercícios

Transcrição:

Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG Roger Endrigo Carvalho Porto, Luciano Volcan Agostini GACI - Grupo de Arquiteturas e Circuitos Integrados Departamento de Matemática, Estatística e Computação Universidade Federal de Pelotas (UFPel) Caixa Postal 354 96.010-900 Pelotas RS Brasil {rogerecp,agostini}@ufpel.edu.br Abstract. This paper presents an architectural exploration on the JPEG compressor proposed and implemented by Agostini [Agostini 2002]. This exploration took as base the substitution of the operators used in the 2-D DCT of the compressor with main focus in the carry lookahead, hierarchical carry lookahead and carry select architectures [Hwang 1979, Weste and Eshraghian 1995]. The new operators were described in VHDL and inserted in the 2-D DCT calculation architecture for synthesis directed for an Altera FPGA [Altera Corporation 2002]. With this space project exploration, the higher performance obtained for the 2-D DCT was 23% higher than the original, using 11% more logic cells. Resumo. Este artigo apresenta uma exploração arquitetural sobre o compressor JPEG proposto e implementado por Agostini [Agostini 2002]. Esta exploração tomou como base a substituição dos operadores usados na DCT 2-D do compressor com foco principal nas arquiteturas carry lookahead, carry lookahead hierárquico e carry select [Hwang 1979, Weste e Eshraghian 1995]. Os novos operadores foram descritos em VHDL e inseridos na arquitetura de cálculo da DCT 2-D para síntese direcionada para um FPGA da Altera [Altera Corporation 2002]. Com esta exploração arquitetural, o maior desempenho obtido para a DCT 2-D foi de 23% mais alto que o original, usando 11% a mais em células lógicas. 1. Introdução O padrão JPEG de compressão de imagens [The International Telegraph and Telephone Consultative Committee 1992] foi desenvolvido pelo Joint Photographic Expert Group [JPEG e JBIG Committees 2001]. No contexto dessa compressão, a informação é transformada para o domínio das freqüências pela transformada discreta do co-seno em duas dimensões (DCT 2-D). A partir daí, as freqüências mais elevadas (que geralmente contribuem menos com a informação da imagem) são atenuadas ou até mesmo eliminadas pela quantização que é o processo seguinte à DCT 2-D na compressão JPEG. A compressão JPEG de imagens em tons de cinza, então, pode ser dividida em três operações principais: DCT 2-D, quantização e codificação de entropia, como pode ser observado na fig. 1.

Figura 1. Operações da compressão JPEG de imagens em tons de cinza No compressor JPEG, a DCT 2-D é o bloco mais crítico em se tratando de desempenho, devido a grande complexidade dos cálculos realizados. No nível arquitetural este ponto crítico é responsabilidade das operações de soma sobre entradas com número elevado de bits e do conseqüente atraso gerado pela propagação do carry out na arquitetura ripple carry utilizada nos somadores originais [Agostini 2002]. Então, o objetivo principal deste trabalho foi maximizar o desempenho do compressor de imagem JPEG através da substituição das arquiteturas utilizadas nos somadores, com foco principal nas arquiteturas carry look ahead e carry select [Weste e Eshraghian 1995, Hwang 1979]. Também foram avaliados os impactos, em termos do uso de recursos, gerados por cada substituição. As seções deste artigo apresentam as arquiteturas da DCT 2-D e da DCT 1-D, as arquiteturas alternativas de somadores usadas neste trabalho, a descrição e validação dos operadores, os resultados de síntese e as conclusões. 2. Arquitetura da Transformada Discreta do Co-seno em Duas Dimensões A arquitetura da DCT 2-D usada no compressor JPEG é genericamente apresentada na fig. 2. Esta arquitetura foi desenvolvida para alcançar uma alta freqüência de operação com o uso de técnicas de pipeline e é baseada na arquitetura proposta por Kovac [Kovac e Ranganathan 1995] com algumas modificações. Então, a arquitetura foi dividida em duas arquiteturas de DCT 1-D e um buffer de transposição. Figura 2. Arquitetura genérica da DCT 2-D 2.1 Arquitetura da Transformada Discreta do Co-seno em Uma Dimensão A arquitetura da DCT 1-D proposta por Kovac [Kovac e Ranganathan 1995] e usada neste artigo é apresentada na fig. 3. Considerando os passos do algoritmo usado pela DCT 1-D, o uso de pipeline entre estes passos se torna natural. Já que o algoritmo possui seis passos independentes entre si, o pipeline também foi desenvolvido com seis estágios, onde cinco efetuam adições e subtrações e um efetua multiplicações. Os cinco somadores na arquitetura original da DCT são ripple carry e o multiplicador é baseado em operações de somas de deslocamentos. Então, arquitetura da DCT 1-D é composta por buffers ping-pong (que mantém os dados estáveis nas entradas dos operadores), multiplexadores (para selecionar o valores a serem colocados nas entradas dos operadores) e os operadores, como pode ser visto na fig. 3.

Figura 3. Arquitetura para o cálculo da DCT 1-D Os somadores utilizados na arquitetura da DCT 1-D são do tipo ripple carry [Weste e Eshraghian 1995]. A arquitetura destes somadores é bastante simples e amplamente difundida. Sua principal vantagem é o reduzido uso de recursos. Porém, há a desvantagem do baixo desempenho provocado pela propagação do carry. É esta propagação que define o caminho crítico da arquitetura de cálculo da DCT 1-D e, por conseqüência, da própria DCT 2-D. 3. Algumas Arquiteturas Alternativas de Somadores Três arquiteturas alternativas de somadores foram desenvolvidas neste trabalho: carry lookahead, carry lookahead hierárquico e carry select. Todas as três arquiteturas têm como propósito aumentar a velocidade de propagação do carry [Hwang 1979]. 3.1 Somadores Carry Lookahead Este tipo de arquitetura de somador se utiliza de uma técnica chamada de carry lookahead (CLA) que se baseia em examinar todos os estágios de entrada do somador e, simultaneamente, produzir os carries apropriados para cada um destes estágios. Para isso são usadas duas funções auxiliares: carry generate e carry propagate. A arquitetura em blocos de um somador carry lookahead de 8 bits pode ser vista na fig. 4. Figura 4. Arquitetura em blocos de um somador CLA de 8 bits

3.2 Somadores Carry Lookahead Hierárquico Uma outra arquitetura a ser analisada é a do somador carry lookahead hierárquico. Esta arquitetura tem um propósito adicional que é diminuir a complexidade das equações produzidas quando se usa a técnica carry lookahead em um somador. Neste tipo de arquitetura usa-se um bloco de controle para agrupar m somadores de n-bits formando um somador de m n bits. Para maior clareza, um exemplo deste tipo de somador é ilustrado na fig. 5. Figura 5. Arquitetura em blocos de um somador CLA Hierárquico de 8 bits 3.3 Somadores Carry Select Outra abordagem adicional de arquitetura para acelerar a propagação do carry são os somadores carry select [Weste e Eshraghian 1995]. Usualmente, divide-se o somador em sessões de soma. Cada uma destas sessões, por sua vez, é composta por duas estruturas de somadores ripple carry, uma com carry in e outra sem [Hwang 1979], e um multiplexador para selecionar a soma apropriada. O esquema básico de um somador carry select de 8 bits é mostrado na fig. 6. Figura 6. Arquitetura em blocos de um somador CSA de 8 bits

4. Descrição dos Somadores em VHDL A descrição dos operadores utilizados neste trabalho foi feita em linguagem VHDL, utilizando-se o editor de textos do Max Plus II da Altera. Foram desenvolvidos 18 arquivos de descrições para a arquitetura carry lookahead, 38 para a arquitetura carry lookahead hierárquico e 19 para a arquitetura carry select, totalizando 75 arquivos de descrições para as três arquiteturas alternativas apresentadas. A quantidade de descrições implementadas para cada alternativa arquitetural difere da quantidade original (15 descrições). Isto se deve à necessidade de arquivos auxiliares para que as características específicas de cada arquitetura fossem respeitadas. No caso da arquitetura carry lookahead hierárquico foram desenvolvidas duas alternativas para cada operador. Foi desenvolvido um total aproximado de 8100 linhas de código VHDL para descrever todos os operadores. Na implementação das arquiteturas carry lookahead hierárquico e carry select, utilizou-se a vantagem da hierarquização, através da reutilização do código de outras descrições. Em outras palavras, blocos comuns a vários operadores foram descritos de forma separada para que pudessem ser instanciados como componentes nestes somadores. Com isso, o código das descrições ficou, além de mais curto, mais claro. Posteriormente, os operadores originais da DCT 2-D (ripple carry) foram substituídos pelos novos operadores implementados para que fosse feita a síntese e avaliação de resultados. A substituição dos operadores levou em conta a equivalência entre os operadores em relação ao número de bits e a ocorrência ou não de carry out. Essa equivalência é mostrada na tab. 1. Tabela 1. Equivalência entre as diferentes arquiteturas implementadas Bits RCA CLA CSA CLA Hierárquico 8 addsub8c addsub8clac addsub8csac addsub8cla2hc / addsub8cla4hc 9 addsub9c addsub9clac addsub9csac addsub9cla3hc / addsub9cla5hc 10 addsub10c addsub10clac addsub10csac addsub10cla2hc / addsub10cla5hc 11 addsub11c addsub11clac addsub11csac addsub11cla3hc / addsub11cla4hc 12 addsub12 addsub12cla addsub12csa addsub12cla3h / addsub12cla4h addsub12c addsub12clac addsub12csac addsub12cla3hc / addsub12cla4hc 13 addsub13c addsub13clac addsub13csac addsub13cla3hc / addsub13cla4hc 14 addsub14c addsub14clac addsub14csac addsub14cla2hc / addsub14cla5hc 15 addsub15 addsub15cla addsub15csa addsub15cla3h / addsub15cla5h 16 add16 add16cla add16csa add16cla4h add16c add16clac add16csac add16cla4hc add20dct1 add20cladct1 add20csadct1 add20cla4hdct1 / add20cla5hdct1 20 add20 add20cla add20csa Add20cla4h / add20cla5h add20c add20clac add20csac add20cla4hc / add20cla5hc 24 add24dct2 add24cladct2 add24csadct2 add24cla4hdct2 / add24cla6hdct2 5. Resultados de Síntese A etapa seguinte à descrição dos operadores foi a síntese dos mesmos. A síntese foi direcionada a FPGAs da família ACEX1K da Altera e utilizou o software Max Plus II. Inicialmente, todos os operadores descritos foram sintetizados separadamente. Após, foram sintetizados dentro dos blocos da primeira e da segunda DCT 1-D. Por fim, foi sintetizada a DCT 2-D com os novos operadores.

Os resultados da síntese para FPGAs da família ACEX1K da Altera são apresentados na tabelas seguintes. Os resultados de síntese para a primeira DCT 1-D, arquitetura por arquitetura, podem ser comparados na tab. 2. Tabela 2. Comparação dos resultados de síntese da primeira DCT 1-D para o dispositivo EP1K50TC144-1 da família ACEX1K da Altera 1ª DCT 1-D RCA CLA CLA H. CSA Células Lógicas 1660 1664 1734 1842 Período 37,8 ns 35,3 ns 34,8 ns 34,3 ns Freqüência 26,45 MHz 28,32 MHz 28,73 MHz 29,15 MHz Ganho em Desempenho* - 7,08 % 8,62 % 10,21 % Perda no Uso de Recursos* - 0,24 % 4,46 % 10,96 % * resultados comparativos com a arquitetura original (RCA) A tab. 3 apresenta o mesmo tipo de comparação da tab. 2 mas para a segunda DCT 1-D. Tabela 3. Comparação dos resultados de síntese da segunda DCT 1-D para o dispositivo EP1K50TC144-1 da família ACEX1K da Altera 2ª DCT 1-D RCA CLA CLA H. CSA Células Lógicas 2241 2243 2331 2490 Período 41,1 ns 39,6 ns 40,8 ns 40,1 ns Freqüência 24,33 MHz 25,25 MHz 24,5 MHz 24,93 MHz Ganho em Desempenho* - 3,78 % 0,7 % 2,47 % Perda no Uso de Recursos* - 0,09 % 4,02 % 11,11 % * resultados comparativos com a arquitetura original (RCA) A tab. 4 mostra os resultados gerais, ou seja, uma comparação dos resultados de síntese da DCT 2-D para o dispositivo EP1K100QC208-1 da família ACEX1K da Altera, utilizando-se as três arquiteturas alternativas desenvolvidas. Tabela 4. Comparação dos resultados de síntese da DCT 2-D para o dispositivo EP1K100QC208-1 da família ACEX1K da Altera DCT 2-D RCA CLA CLA H. CSA Células Lógicas 4181 4192 4343 4621 Período 45,7 ns 44,1 ns 41,6 ns 36,9 ns Freqüência 21,88 MHz 22,67 MHz 24,03 MHz 27,10 MHz Ganho em Desempenho* - 3,61 % 9,83 % 23,86 % Perda no Uso de Recursos* - 0,26 % 3,87 % 10,52 % * resultados comparativos com a arquitetura original (RCA) 6. Validação dos Operadores A validação dos operadores levou em conta os resultados da síntese e da simulação do funcionamento. A simulação do funcionamento dos operadores foi feita com o auxílio do editor de formas de onda do Max Plus II (fig. 7). No processo de simulação foi avaliado o correto funcionamento dos operadores, observando-se o comportamento da saída em função dos valores das entradas. Não somente os operadores foram simulados mas sim todas as descrições implementadas incluindo os arquivos auxiliares.

Figura 7. O editor de formas de onda do Max Plus II 7. Conclusões Este artigo apresentou o desenvolvimento de arquiteturas de somadores para uso na compressão de imagens JPEG, mais especificamente, para uso na DCT 2-D do compressor. Estes somadores foram desenvolvidos com o objetivo de indicar alternativas para o aumento do desempenho do compressor. No total, foram desenvolvidas 75 descrições e aproximadamente 8100 linhas de código VHDL para as três alternativas arquiteturais utilizadas na implementação dos operadores. Foram apresentados, também, os resultados da síntese (direcionada a FPGAs da Altera) e das simulações realizadas para validar os somadores desenvolvidos. As freqüências máximas de operação da DCT 2-D, obtidas como resultado para cada uma das arquiteturas alternativas implementadas, foram todas maiores do que a freqüência máxima de operação original obtendo-se, por exemplo, um ganho em desempenho em torno de 23 % para a arquitetura carry select. Os resultados obtidos mostraram também que para todas as três alternativas arquiteturais implementadas os impactos no desempenho foram maiores que seus respectivos impactos no uso de recursos. Considerando-se que o objetivo principal do trabalho foi maximizar o desempenho do compressor de imagens JPEG, os resultados obtidos foram considerados satisfatórios. Como trabalhos futuros, indicam-se o desenvolvimento de novas alternativas arquiteturais de somadores, como carry skip adder, para que novas avaliações e comparações possam ser realizadas. Também espera-se desenvolver alguns destes operadores em layout full custom e standard cell, para realizar comparações mais precisas, tomando por base os resultados de simulações elétricas e de análise de timing de mais baixo nível. 8. Referências Bibliográficas The International Telegraph and Telephone Consultative Committee (CCITT). (1992). "Information Technology Digital Compression and Coding of Continuous-Tone Still Images Requirements and Guidelines". Rec. T.81. Geneva: International Telecommunication Union. Agostini, L. (2002) "Projeto de Arquiteturas Integradas para a Compressão de Imagens JPEG", Porto Alegre: PPGC da UFRGS, 2002. Dissertação de Mestrado em Computação. Universidade Federal do Rio Grande do Sul.

Weste, N. e Eshraghian, K. (1995) "Principles of CMOS VLSI Design - Second Edition", Addison-Wesley, USA. Hwang, K. (1979) "Computer Arithmetic: Principles, Architecture and Design", New York: John Wiley & Sons. Altera Corporation. (2002) "Altera: The Programmable Solutions Company", San Jose: Altera Corporation. Disponível em: <http://www.altera.com>. JPEG and JBIG Committees. (2001) "Home Site of the JPEG and JBIG Committees", Disponível em: <http://www.jpeg.org>. Kovac, M. e Ranganathan, N. (1995) "JAGUAR: A Fully Pipelined VLSI Architecture for JPEG Image Compression Standard", Proceedings of the IEEE, New York, v.83, n.2, p. 247-258.