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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 PROJETO DE ARQUITETURA DE CODIFICADOR DE ENTROPIA PARA COMPRESSÃO JPEG DE IMAGENS EM TONS DE CINZA Luciano Volcan Agostini Ivan Saraiva Silva* *Universidade Federal do Rio Grande do Norte DIMAp - Natal - Brasil Universidade Federal do Rio Grande do Sul Grupo de Microeletrônica Caixa Postal Porto Alegre Brasil Sergio Bampi bampi@inf.ufrgs.br ABSTRACT This paper presents the design of an architecture to be used in the last stage of the JPEG compression: the entropy coding. This paper focuses in the compression of gray scale images, but the proposed architecture can be easily adapted to the compression of color images. The entropy coder architecture was described in VHDL and was synthesized for an Altera Flex10kE FPGA. This architecture reaches a processing rate of 76 images per second, for 640 x 480 pixels images. This performance is larger than the performance demanded by real time applications and it encourages the use of the entropy coder architecture in a JPEG compressor designed in hardware. RESUMO Este artigo propõe e desenvolve uma arquitetura para a última etapa da compressão JPEG: a codificação de entropia. O foco do artigo é dado na compressão de imagens em tons de cinza, mas a arquitetura proposta pode facilmente ser adaptada à compressão de imagens coloridas. A arquitetura do codificador de entropia foi completamente descrita em VHDL e sintetizada para FPGAs Altera da família Flex10kE, atingindo uma taxa máxima de processamento de 76 imagens por segundo, para imagens de 640 x 480 pixels. Este desempenho é superior ao exigido para aplicações de tempo real e encoraja o seu uso em um compressor JPEG completamente desenvolvido em hardware. 1. INTRODUÇÃO A compressão JPEG é a compressão mais utilizada para imagens fotográficas, dada a sua elevada taxa de compressão e as perdas não muito significativas inseridas na qualidade da imagem pelo processo de compressão. Os compressores JPEG em software estão amplamente difundidos, mas a restrição de tempo de processamento acaba por inviabilizar o seu uso em várias aplicações onde o desempenho é o fator crítico. Para satisfazer os requisitos destas aplicações foi necessário o desenvolvimento de hardwares dedicados para partes e mesmo para todo o compressor JPEG. Como o processo para a compressão JPEG é bastante complexo, o desenvolvimento de um compressor em hardware não é uma atividade simples. Este artigo apresenta uma arquitetura para a codificação de entropia, que é o último passo da compressão JPEG. Esta arquitetura está inserida em um conjunto de arquiteturas já desenvolvidas que realizam todas as etapas da compressão JPEG [1] [2] [3] [4]. A arquitetura desenvolvida no artigo é direcionada para a codificação de entropia de imagens em tons de cinza, mas esta arquitetura pode ser facilmente adaptada para ser usada na compressão de imagens coloridas. As principais aplicações alvo para o compressor JPEG em hardware em desenvolvimento são a monitoração e controle de tráfego automotivo e a segurança predial. O item 2 do artigo apresenta, resumidamente, a compressão de imagens JPEG, enquanto que o item 3 apresenta em maiores detalhes a codificação de entropia. O item 4 apresenta a arquitetura desenvolvida, subdividindo-a em suas sete partes principais: codificação diferencial, codificação RLE, cálculo de tamanho, codificação VLC, codificação de Huffman, pre-montagem e montagem. O item 5 apresenta os resultados de síntese obtidos e, por fim, o item 6 apresenta as conclusões do artigo. 2. A COMPRESSÃO JPEG O padrão de compressão de imagens JPEG foi proposto originalmente em 1987 pelo Join Photographic Expert Group [5]. Rapidamente este padrão passou a ser o mais utilizado para imagens fotográficas, mantendo este status até os dias de hoje. Existem quatro modos básicos de operação previstos no padrão JPEG: sem perdas, hierárquico, progressivo e seqüencial [6]. Os três últimos modos de operação realizam uma compressão com perdas, isto é, parte da informação contida na imagem original é perdida durante o processo de compressão. Estas perdas podem ser

2 controladas para causarem efeitos minimamente perceptíveis ao olho humano. O modo seqüencial possui um subgrupo chamado de baseline. O modo baseline é aquele que possui o número mínimo de requisitos para considerar um processo de compressão como sendo JPEG [7]. Por sua simplicidade e eficiência, é o modo de operação mais utilizado em compressores JPEG em hardware ou software [8]. O modo baseline é o alvo da arquitetura proposta por este artigo, por isso não serão dados maiores detalhes dos demais modos de operação. A compressão JPEG com perdas tem como núcleo o uso da Transformada Discreta do Coseno em duas dimensões (DCT 2-D). A DCT 2-D transforma a informação da imagem do domínio tempo para o domínio das freqüências. Então toda a manipulação dos dados, com o objetivo de reduzir o número de bits necessários para representar a imagem, é realizado neste domínio. A imagem de entrada é dividida em blocos de 8x8 pixels para serem comprimidos e cada elemento destes blocos possui 8 bits. A compressão JPEG baseline para imagens em tons de cinza pode ser dividia em três operações principais, de acordo com a Fig. 1: DCT 2-D, quantização e codificação de entropia. Figura 1 Operações da compressão JPEG baseline de imagens em tons de cinza. Para a compressão de imagens coloridas, mais duas operações se fazem necessárias: conversão do espaço de cores e dowsampling [7] [8]. Estas operações são realizadas antes da aplicação da DCT 2-D e não serão detalhadas neste artigo. A primeira operação para a compressão JPEG de imagens em tons de cinza é um deslocamento de nível nos dados de entrada. Este deslocamento faz com que o valor médio dos componentes da entrada seja igual a zero, possibilitando uma maior uniformidade no processamento da imagem [8]. Esta operação resume-se a uma simples subtração de 128 em todos os valores de entrada Após o deslocamento de nível as matrizes devem passar pela DCT 2-D. A DCT 2-D não realiza nenhum tipo de compressão, ela apenas prepara os dados para serem comprimidos pelos passos seguintes da compressão JPEG. Não se entrará, neste artigo, em detalhes e definições sobre a DCT 2-D, por este ser um ferramental matemático extremamente difundido. Uma abordagem da DCT 2-D, direcionada para o processamento de imagens, pode ser encontrada em [8] e [9]. Em [2] foi apresentado o projeto de uma arquitetura de DCT 2-D para uso na compressão JPEG, que teve como referência a arquitetura proposta em [10]. Os coeficientes da DCT 2-D passam, então, pela operação de quantização [6] [7]. A quantização é uma divisão inteira dos resultados da DCT 2-D por uma matriz de valores predeterminados, chamada de matriz de quantização. O objetivo da quantização é reduzir a zero a maior parte dos elementos da matriz de coeficientes, sem, no entanto, causar perdas muito perceptíveis na qualidade da imagem. A operação de quantização, por ser uma divisão inteira, é uma operação irreversível, isto significa que as perdas geradas pela quantização não podem ser recuperadas com uma simples operação inversa [8]. A última operação na compressão JPEG é a codificação de entropia [6] [7] [8], que une várias técnicas de compressão sem perdas para diminuir o número de bits necessários para representar as matrizes quantizadas. Estas técnicas são a codificação diferencial, a codificação de comprimento variável (Variable Length Coding - VLC), a codificação por seqüências de ocorrências (Run-Length Encoding - RLE) e a codificação de Huffman. Como a codificação de entropia é o foco deste trabalho, esta operação será abordada em maiores detalhes no próximo item deste artigo. 3. CODIFICAÇÃO DE ENTROPIA NA COMPRESSÃO JPEG Na compressão JPEG para imagens em tons de cinza, a codificação de entropia é a operação onde é efetivamente realizada a redução no número de bits utilizados para representar cada uma das informações de cor da imagem. A codificação de entropia é realizada sobre a matriz 8x8 de coeficientes quantizados da DCT 2-D. Nesta matriz, o primeiro componente (linha 0, coluna 0) é tratado de maneira diferenciada dos demais pela codificação de entropia. Este componente é chamado de componente DC da matriz, enquanto que os demais são chamados de componentes AC [6]. A Fig. 2 apresenta genericamente as etapas da codificação de entropia, onde destaca-se o fluxo diferenciado entre os componentes DC e os componentes AC da matriz de entrada. Este fluxo diferenciado será detalhado a seguir. Figura 2 Etapas da codificação de entropia

3 Após o processo de quantização, a matriz resultante terá muitas ocorrências de zeros. Como a DCT 2-D concentra a maior parte da energia da imagem no canto superior esquerdo da matriz [8], as freqüências localizadas nesta região são as que possuem maior amplitude e, então, são as que têm maior probabilidade de terem valores diferentes de zero após a quantização. Então a matriz resultante da quantização é lida em ziguezague pelo codificador de entropia com o objetivo de agrupar as ocorrências de zeros em grandes seqüências. Este agrupamento das seqüências de zeros potencializa o uso da compressão obtida através da codificação RLE [6] Codificação de Entropia dos Componentes DC A primeira etapa na codificação de entropia dos componentes DC é a codificação diferencial. Como os componentes DC de blocos consecutivos possuem um alto grau de correlação [6], o valor da diferença entre estes dois componentes possui uma amplitude menor do que a amplitude original de um componente DC. A codificação diferencial é efetuada com uma subtração do valor DC do bloco anterior pelo valor DC do bloco atual (DC i DC i-1 ), gerando um campo que será chamado de Amplitude DC neste artigo. Após a codificação diferencial, a codificação de entropia determina qual é o menor número de bits necessários para representar o campo Amplitude DC, através do cálculo de tamanho. Esta operação é realizada tendo como referência a tabela de tamanhos, apresentada no padrão JPEG [6]. De acordo com a faixa de valores do campo Amplitude DC, este campo é classificado em categorias que variam de 0 a 11. Cada categoria informa o tamanho do resultado em bits através do seu identificador. Este resultado será chamado de Tamanho neste artigo. O campo Tamanho é então codificado por Huffman [9]. A codificação de Huffman é uma codificação de comprimento de palavra variável que utiliza a estatística para determinar qual palavra deve ser associada a cada símbolo. Os símbolos com maior número de ocorrências recebem os menores códigos e os símbolos com menor número de ocorrências recebem os maiores códigos. A codificação de Huffman pode ser estática ou dinâmica. Na codificação dinâmica as estatísticas são montadas para cada diferente imagem, gerando um resultado ótimo em termos de compressão. Por outro lado, na codificação estática tabelas predefinidas são utilizadas, diminuindo significativamente a complexidade do processo de codificação, aumentando o seu desempenho, mas reduzindo a taxa de compressão. O padrão JPEG [6] sugere tabelas de Huffman estáticas para uso geral, indicando que estas tabelas possuem desempenho razoável para a maioria das aplicações. Para imagens em tons de cinza a compressão JPEG baseline utiliza apenas duas tabelas de Huffman: uma para os componentes DC e outra para os componentes AC. O codificador de Huffman gera o campo Código de Huffman. A codificação VLC, da mesma forma que a codificação de Huffman, utiliza palavras de comprimento variável para representar os símbolos codificados. A diferença é que a codificação VLC não utiliza dados estatísticos, ela apenas descarta todos os bits que não são significativos no símbolo de entrada. Mesmo o bit de sinal é descartado. Os dados de entrada, para o codificador VLC, são: o campo Amplitude DC, que será codificado; e o campo Tamanho, que define o número de bits que serão considerados pela codificação VLC. A codificação VLC gera o campo chamado de Amplitude. Por fim, o campo Código de Huffman é concatenado com o campo Amplitude, gerando o par Código de Huffman / Amplitude, que é a codificação do componente DC gerada pelo codificador de entropia Codificação de Entropia dos Componentes AC Para os componentes AC, a primeira etapa é a codificação RLE. O princípio básico da codificação RLE é a substituição de um conjunto de símbolos repetidos em uma seqüência de dados pelo número de repetições e o próprio símbolo [9]. Por isso a codificação RLE é indicada para casos onde exista um grande número de repetições de símbolos em seqüência. Na compressão JPEG existem grandes seqüências de zeros após a leitura em zigue-zague da matriz resultante da quantização, por isso a codificação RLE foi simplificada para apenas contar a ocorrência deste símbolo, além disso, como apenas os zeros é que são contados, não é necessário que o símbolo apareça após o número de ocorrências. Então a codificação RLE na compressão JPEG conta quantos zeros existem antes de um componente não zero e gera um par Ocorrências / Amplitude AC, onde o campo Ocorrências informa o número de zeros que antecedem o valor não zero e o campo Amplitude AC é o próprio valor do componente não zero. O padrão JPEG define em 15 o tamanho máximo do campo Ocorrências, então uma seqüência de 16 ou mais zeros gera um par Ocorrências / Amplitude AC especial, 15/0, que indica a existência de 15 zeros seguidos por mais um zero e que reinicializa o contador de zeros. Outro par especial é gerado quando a matriz de entrada termina com zeros, este par é 0/0. Após a codificação RLE a codificação de entropia do componente AC, de forma similar ao que ocorre na codificação dos componentes DC, determina qual é o menor número de bits necessários para representar o campo Amplitude AC, através da tabela de tamanhos, também gerando o campo chamado de Tamanho. O próximo passo para codificação de entropia dos componentes AC é a concatenação do campo Ocorrências, gerado pela codificação RLE, com o campo Tamanho, gerado a partir da tabela de tamanhos. Esta concatenação gera o par Ocorrências / Tamanho, que

4 deve passar pela codificação de Huffman, de modo similar ao que ocorre com o campo Tamanho na codificação dos componentes DC. A diferença está na tabela de Huffman que será utilizada. O campo gerado também é chamado de Código de Huffman neste artigo. Simultaneamente à codificação de Huffman do par Ocorrências / Tamanho, o campo Amplitude AC passa pela codificação VLC, que é efetuada da mesma forma que para os componentes DC, gerando o campo Amplitude. Por fim o campo Código de Huffman é concatenado com o campo Amplitude, gerado pela codificação VLC gerando o par Código de Huffman / Amplitude, que é a codificação do componente AC gerada pelo codificador de entropia. 4. A ARQUITETURA DESENVOLVIDA A arquitetura proposta e desenvolvida neste artigo está apresentada, genericamente, na Fig. 3. O codificador de entropia recebe como entrada valores de 12 bits gerados pela arquitetura da quantização. A saída do codificador de entropia consiste de palavras JPEG de 32 bits, que são entregues de forma assíncrona. A arquitetura apresentada na Fig. 3 consome um valor de entrada a cada ciclo de clock e opera em um pipeline de quatro estágios. Na Fig. 3 estão destacados os registradores usados como barreira temporal para permitir o uso do pipeline. A entrada da arquitetura do codificador de entropia é síncrona, mas a sua saída é assíncrona. O assincronismo é gerado por dois motivos. O primeiro diz respeito a arquitetura do codificador RLE, que possui uma saída assíncrona (como será visto em detalhes no item 4.2 deste artigo) propagando este assincronismo para os demais blocos da arquitetura. O segundo motivo é causado pelas codificações VLC e de Huffman, que possuem comprimento de palavra variável, fazendo com que os 32 bits da saída sejam entregues em uma taxa completamente dependente do conjunto de entradas consideradas em cada caso. Este assincronismo da saída não dificulta o cálculo do desempenho do codificador de entropia, uma vez que a taxa de consumo de entradas é fixa e que esta taxa pode ser usada na definição do desempenho da arquitetura. A arquitetura apresentada na Fig. 3 está dividida em sete partes principais, abordadas nos próximos itens deste artigo. Estas partes são: codificador diferencial, codificador RLE, cálculo de tamanho, codificador de Huffman, codificador VLC, pré-montador e montador Codificador Diferencial O codificador diferencial é usado apenas para os componentes DC e é a primeira operação na codificação de entropia destes componentes. Como já foi dito, a operação básica realizada pelo codificador diferencial é uma subtração. O resultado gerado por esta operação é chamado, neste artigo, de Amplitude DC. A arquitetura desenvolvida para o codificador diferencial é muito simples e está apresentada na Fig. 4. A arquitetura consiste de um subtrator de 12 bits e de um registrador, para armazenar o código DC do bloco anterior. A escrita no registrador Anterior é habilitada pelo sinal AC/DC, que indica se o valor de entrada é um valor DC e, caso o valor seja AC, a escrita não é permitida. A saída do codificador diferencial terá 12 bits. Figura 4 Arquitetura do codificador diferencial Figura 3 Arquitetura genérica para o codificador de entropia

5 4.2. Codificador RLE A codificação RLE é realizada somente nos componentes AC da entrada, sendo simplificada para atuar como um contador de zeros, como já foi exposto anteriormente. A arquitetura desenvolvida para o codificador RLE está apresentada na Fig. 5, onde os registradores Amp. AC e Ocorrências são os mesmos apresentados na arquitetura global (Fig. 3). A linha tracejada na Fig. 5 delimita o bloco chamado de Codificador RLE na Fig. 3. Figura 5 Arquitetura do codificador RLE Esta arquitetura opera de forma assíncrona. Os valores são consumidos na entrada a uma taxa constante de um valor por ciclo de clock, mas a saída não respeita nenhuma forma predeterminada de sincronismo. Se o valor de entrada é zero a escrita nos registradores de saída fica desabilitada. Esta escrita só é permitida quando o valor de entrada for não zero. Como não é possível prever quando um valor não zero irá aparecer na matriz de entrada, é necessária a existência de um sinal de sincronismo que indica que o valor na saída é um novo valor válido. Este sinal está apresentado na Fig. 5 como OK e é utilizado para habilitar a operação dos demais estágios da arquitetura global. Existem duas situações especiais no padrão JPEG, previstas pela arquitetura proposta, em que o valor de entrada é zero e é permitida a escrita na saída. Como o campo Ocorrências tem o tamanho fixo de 4 bits, seqüências de mais de 16 zeros não são permitidas, então caso existam 15 zeros seguidos de mais um zero na entrada, uma nova saída válida deve ser escrita, no caso o registrador Ocorrências recebe o valor 15 e o registrador Amp. AC o valor zero. Esta situação é controlada pela arquitetura proposta através do carry out do contador de zeros que, quando tem valor igual a um (16º zero), habilita a escrita na saída. Desta forma o par Ocorrências / Amplitude AC é gerado corretamente porque a entrada é zero e é armazenada no registrador Amp. AC e o conteúdo do registrador ACC é 15 e este valor é armazenado no registrador Ocorrências. A outra situação onde a entrada é zero e a escrita nos registradores de saída deve ser habilitada é quando a matriz de entrada termina com uma seqüência de zeros, neste caso o valor escrito deve ser zero para os registradores Ocorrências e Amp. AC. Esta situação é controlada pelo sinal Last na Fig. 5, que indica que o componente na entrada é o último componente da matriz. Se este for o caso e a entrada for zero, então os registradores de saída são resetados. Quando o codificador RLE está operando em modo normal (em nenhuma das situações acima), uma entrada igual a zero inicia a operação no contador, desabilita a escrita na saída e mantém o flag OK em zero, indicando que a saída não está pronta. Se a entrada for não zero, o conteúdo do registrador ACC é copiado para o registrador Ocorrências, o registrador ACC é resetado e o valor não zero da entrada é escrito no registrador Amp. AC. Sempre que uma nova saída válida é gerada, o flag OK é posto em nível lógico um, habilitando a operação das demais arquiteturas do codificador de entropia. O codificador RLE está no mesmo estágio de pipeline que o codificador diferencial Por isso as operações realizadas pelos dois codificadores devem consumir exatamente o mesmo número de ciclos de clock, para possibilitar uma ligação transparente com o estágio seguinte do pipeline. As saídas dos codificadores diferencial e RLE passam por um multiplexador, que seleciona qual das duas saídas deve ser utilizada pelo próximo passo da arquitetura. Este multiplexador está apresentado na Fig. 3 e é controlado pelo sinal AC/DC, que indica se o valor em processamento é AC ou DC. A saída deste multiplexador é chamada de Amplitude do Coeficiente neste artigo Cálculo de Tamanho O campo Amplitude do Coeficiente passa por um cálculo de tamanho, que indica quantos bits são significativos (sem contar como o bit de sinal) nos 12 bits deste campo. A arquitetura desenvolvida para este cálculo foi feita através de uma simples lógica combinacional, similar com a proposta em [10]. Esta arquitetura gera a saída chamada Tamanho do Coeficiente, que possui 4 bits. A saída Tamanho do Coeficiente será usada para controlar o codificador VLC e o pré-montador e como entrada para o codificador de Huffman Codificador VLC O codificador de tamanho de palavra variável ou Variable Length Coder (VLC) é usado para identificar os bits significativos da entrada Amplitude do Coeficiente e para descartar os bits não significativos, incluindo o bit de sinal.

6 A arquitetura proposta identifica os bits significativos e prepara o campo Amplitude do Coeficiente para ser montado pelo pré-montador, gerando a saída Amplitude VLC. Esta saída possui 12 bits portanto não possui um tamanho de palavra variável. Os bits não significativos são descartados a posteriori, quando da operação de prémontagem. O codificador VLC é um barrel shifter controlado pelo campo Tamanho do Coeficiente. O valor do campo Amplitude do Coeficiente é deslocado para a esquerda para que o seu primeiro bit significativo ocupe a posição mais significativa da palavra. A Tab. 1 apresenta o número de deslocamentos à esquerda para cada valor do campo Tamanho do Coeficiente. bits. Então a saída das memórias e do próprio codificador de Huffman será formada por dois campos: o Código de Huffman e o Tamanho de Huffman. O campo Tamanho de Huffman é necessário para a montagem das palavras JPEG, uma vez que o campo Código de Huffman deve ser montado em conjunto com o campo Amplitude VLC e como ambos possuem comprimento de palavra variável, o pré-montador necessita do tamanho do Código de Huffman e do tamanho da Amplitude VLC para poder realizar a sua função. Tabela 1 Deslocamentos para a esquerda gerados pelo VLC para cada valor do campo Tamanho do Coeficiente Tamanho Codificador de Huffman Nº de deslocamentos O valor Tamanho do Coeficiente (para os coeficientes DC) e a concatenação entre o campo Tamanho do Coeficiente e o campo Ocorrências (para os coeficientes AC) são codificados por Huffman. Este artigo utiliza as tabelas de Huffman estáticas propostas pelo padrão JPEG [6]. A arquitetura do codificador de Huffman está apresentada na Fig. 6. Como o codificador de entropia foi desenvolvido para ser utilizado para imagens em tons de cinza, existem apenas duas tabelas de Huffman [6]: uma para os elementos DC e outra para os elementos AC. As tabelas de Huffman foram projetadas utilizando memórias ROM internas ao FPGA. Os próprios valores a serem codificados por Huffman são usados como endereços para estas memórias. Além do código de Huffman, também está armazenado nestas memórias, o tamanho deste código em números de Figura 6 Codificador de Huffman O uso das memórias foi otimizado ao máximo e uma das operações realizadas neste sentido foi inverter o par Ocorrências / Tamanho, proposto pelo padrão JPEG, o que exigiu uma inversão equivalente no conteúdo da tabela de Huffman utilizada. Esta inversão possibilitou o uso direto do par Tamanho / Ocorrências como endereço para a memória que contém a tabela de Huffman de componentes AC usando o menor número possível de posições de memória. Com o uso do par, tal qual proposto pelo padrão, várias posições de memória reservadas não seriam usadas. Este enfoque diferenciado em relação ao padrão não implica em nenhuma incompatibilidade, uma vez que a diferença reside no processo e não no produto, no caso as palavras JPEG, que são idênticas às propostas pelo padrão. Ainda assim foram inseridas 14 posições vazias, referentes àqueles valores de entrada que possuem probabilidade de ocorrência igual a zero. São 162 possíveis códigos de Huffman referentes aos elementos AC. Foram usadas 176 posições de memória para esta tabela, com 8 bits de endereço. São 12 os possíveis códigos de Huffman relativos aos elementos DC, sendo que nesta memória não foram inseridas palavras vazias. São usados 4 bits de endereço para esta memória. O comprimento de palavra de cada memória também foi otimizado. A tabela de Huffman DC utiliza 9 bits para os códigos de Huffman e 4 bits para o tamanho do código. A tabela AC usa 16 bits para o código de Huffman e 5 para o tamanho do código. Como o tamanho dos códigos de Huffman é variável, optou-se por colocar o primeiro bit significativo de cada código, no bit mais significativo de cada palavra de memória, de forma similar ao que ocorre na codificação VLC.

7 Como as saídas das duas memórias possuem tamanhos de palavra diferentes, para padronizar o número de bits na saída do codificador, na saída da memória com a tabela de Huffman para os códigos DC são inseridos, entre o código e o tamanho, 8 zeros. A seleção de qual saída da memória deve ser entregue na saída do codificador de Huffman é feita por um multiplexador controlado pelo sinal AC/DC1, que indica se o valor que está sendo processado é AC ou DC. A saída do codificador entrega, para o pré-montador, dois valores, o Código de Huffman e o Tamanho de Huffman, que são obtidos com uma simples separação entre os bits da saída do multiplexador. Os 16 bits mais significativos formam o Código de Huffman, enquanto que os 5 bits menos significativos formam o Tamanho de Huffman. A saída Amplitude utilizará 28 bits e a saída Tamanho utilizará 5 bits Montador A montagem final das palavras JPEG é realizada pela arquitetura do montador. Esta arquitetura, apresentada na Fig. 8, monta as palavras JPEG considerando apenas os bits significativos do valor Amplitude, efetivando a codificação de comprimento variável realizadas pelo codificador VLC e indicadas pelo campo Tamanho, gerado por estas arquiteturas e adicionados pelo prémontador. A arquitetura do montador foi inspirada na arquitetura proposta por [11] Pré-Montador A arquitetura do pré-montador, apresentada na Fig. 7, recebe quatro valores na entrada: Amplitude VLC, Tamanho do Coeficiente, Código de Huffman e Tamanho de Huffman. Na saída são entregues dois valores para o montador: Amplitude e Tamanho. Figura 8 Arquitetura do montador Figura 7 Arquitetura do pré-montador Os bits da Amplitude do VLC são deslocados para a direita por um barrel shifter controlado pelo Tamanho de Huffman. Nenhum bit é perdido nesta operação. Este valor deslocado é montado com o Código de Huffman por uma operação lógica ou, sendo que o Código de Huffman é concatenado com zeros à direita, que servem de máscara para os valores deslocados da Amplitude do Coeficiente. Esta operação de montagem preserva apenas os bits significativos do código Huffman, realizando, de fato, a codificação de comprimento variável referente ao codificação de Huffman. O resultado da operação lógica ou é a saída Amplitude que será entregue ao montador. O número de bits significativos da Amplitude é dado pela soma do Tamanho de Huffman com o Tamanho do Coeficiente. Esta soma gera a saída Tamanho. A operação realizada pelo montador é similar à operação realizada pelo pré-montador, consistindo de um barrel shifter controlado pelo campo Tamanho e uma operação lógica ou para montar e agrupar os bits significativos das diferentes entradas. A montagem das palavras é controlada por um somador que acumula os diferentes tamanhos das amplitudes de entrada. O montador usa dois registradores para montar as palavras JPEG. O registrador High armazena os primeiros 32 bits da saída e, quando estes 32 bits estão prontos, este valor é enviado para a saída. O registrador Low é usado para armazenar o overflow quando o valor gerado tiver mais que 32 bits. Este overflow é armazenado no registrador High quando uma nova palavra JPEG começa a ser montada. O flag OK indica que uma nova palavra JPEG válida está pronta na saída do montador e, por conseqüência, na saída da arquitetura do codificador de entropia. 5. RESULTADOS DA SÍNTESE A Tab. 2 apresenta os resultados de síntese da arquitetura proposta e desenvolvida para o codificador de entropia. A família de dispositivos utilizados para a síntese foi Flex10KE [12] da Altera e o dispositivo usado foi um EPF10K30ETC144-1.

8 Tabela 2 Resultados de síntese Arquitetura Células lógicas Bits de Período Memória (ns) Codificador Diferencial ,5 Codificador RLE ,1 Cálculo de Tamanho ,6 Codificador de Huffman ,6 Codificador VLC Pre-montador e montador ,2 Codificador de Entropia ,5 Como pode ser calculado a partir da Tab. 2, a freqüência de operação do codificador de entropia atingiu 23,5MHz. Desta maneira, uma matriz de entrada de 8x8 elementos é completamente processada em 2,9µs e uma imagem de 640 x 480 pixels é processada em 13,1ms. Esse tempo de processamento para imagens de 640 x 480 pixels permite a codificação de entropia a uma taxa de 76 imagens em tons de cinza por segundo. 6. CONCLUSÕES Este artigo apresentou a proposta e desenvolvimento de uma arquitetura para a codificação de entropia, última etapa da compressão JPEG. A compressão JPEG considerada no artigo é a compressão para imagens em tons de cinza no modo baseline. O artigo preocupou-se com a contextualização do codificador de entropia inserido na compressão JPEG para então apresentar a arquitetura desenvolvida e seus resultados. Os resultados obtidos através da síntese em FPGAs da Altera indicam que uma imagem de 640 x 480 pixels é completamente codificada em 13,1ms pela arquitetura desenvolvida, o que permitiria uma taxa de processamento de 76 imagens por segundo. É importante salientar que a taxa de processamento obtida pelo codificador de entropia é cerca de duas vezes superior à obtida pela arquitetura de cálculo da DCT 2-D [2], que é o principal gargalo na compressão JPEG e no compressor que está sendo desenvolvido em hardware. Deste modo o uso da arquitetura do codificador de entropia para o compressor JPEG em hardware é encorajado pelos resultados obtidos. REFERÊNCIAS [1] L. Agostini; S. Bampi. Integrated Digital Architecture for JPEG Image Compression. In: ECCTD 01 European Conference on Circuit Theory and Design 2001, 2001, Epoo - Finlândia. Vol. III, p [2] L. Agostini; I. Silva; S. Bampi. Pipelined Fast 2-D DCT Architecture for JPEG Image Compression. In: SBCCI XIV Symposium on Integrated Circuits and System Design, 2001, Pirenópolis - GO - Brasil. p [3] L. Agostini; S. Bampi. Projeto de uma Arquitetura de DCT 1D para a Compressão de Imagens JPEG. In: VII Workshop IBERCHIP, 2001, Montevidéo Uruguai. [4] L. Agostini; S. Bampi. Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG. In: VII Workshop IBERCHIP, 2001, Montevidéo Uruguai. [5] Home site of the JPEG and JBIG committees < [6] The International Telegraph and Telephone Consultative Committee (CCITT). Information Technology Digital Compression and Coding of Continuous-Tone Still Images Requirements and Guidelines. Rec. T.81, [7] W. Pennebaker and J. Mitchell. JPEG Still Image Data Compression Standard, Van Nostrand Reinhold, USA, [8] V. Bhaskaran and K. Konstantinides. Image and Video Compression Standards Algorithms and Architectures Second Edition, Kluwer Academic Publishers, USA, [9] J. Miano. Compressed Image File Formats JPEG, PNG, GIF, XBM, BMP. Addison Wesley Longman Inc, USA, [10] M. Kovac and N. Ranganathan. JAGAR: A Fully Pipeline VLSI Architecture for JPEG Image Compression Standard. Proceedings of the IEEE, vol. 83, n. 2, 1995, pp [11] S. Lei; M. Sun. An Entropy Coding System for Digital HDTV Applications. IEEE Transactions on Circuits and Systems for Video Technology. 1991, pp [12] Altera Digital Library 2001 version 1, Altera Corporation, 2001.

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

Projeto de uma Arquitetura de DCT 1D para a Compressão de Imagens JPEG Projeto de uma Arquitetura de DCT 1D para a Compressão de Imagens JPEG Luciano Agostini, Sergio Bampi Grupo de Microeletrônica Instituto de Informática Universidade Federal do Rio Grande do Sul Cx. Postal

Leia mais

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

Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG Arquitetura Integrada para Conversor de Espaço de Cores e Downsampler para a Compressão de Imagens JPEG Luciano Agostini, Sergio Bampi Grupo de Microeletrônica Instituto de Informática Universidade Federal

Leia mais

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

CONVERSOR DE ESPAÇO DE CORES PARALELO PARA A COMPRESSÃO DE IMAGENS JPEG CONVERSOR DE ESPAÇO DE CORES PARALELO PARA A COMPRESSÃO DE IMAGENS JPEG Luciano Volcan Agostini Ivan Saraiva Silva* Sergio Bampi** agostini@inf.ufrgs.br ivan@dimap.ufrn.br bampi@inf.ufrgs.br Grupo de Arquiteturas

Leia mais

Compressão com perdas

Compressão com perdas Compressão com perdas Codificação por transformadas e o padrão JPEG Anderson L Menezes Leonardo G Tampelini Maxiwell S Garcia Introdução Um método é dito com perdas (lossy data) quando a informação obtida

Leia mais

Compressão de Imagens

Compressão de Imagens Compressão de Imagens Compressão de Imagens Geradas por Computador (Gráficos) Armazenamento (e transmissão) como um conjunto de instruções (formato de programa) que geram a imagem Utilização de algum esquema

Leia mais

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

Leia mais

Exploração no Espaço de Projeto da Hadamard 4x4 Direta do Padrão de Compressão de Vídeo H.264/AVC

Exploração no Espaço de Projeto da Hadamard 4x4 Direta do Padrão de Compressão de Vídeo H.264/AVC Exploração no Espaço de Projeto da Hadamard 4x4 Direta do Padrão de Compressão de Vídeo H264/AVC André Marcelo Silva 1, Thaísa Silva 1, Marcelo Porto 1, Roger Porto 1, José Güntzel 1, Ivan Silva 2, Sergio

Leia mais

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão)

Codificação/Compressão de Vídeo. Tópico: Vídeo (Codificação + Compressão) Tópico: Vídeo (Codificação + Compressão) Um vídeo pode ser considerado como uma seqüência de imagens estáticas (quadros). Cada um desses quadros pode ser codificado usando as mesmas técnicas empregadas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

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

Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG 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,

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores Introdução Ivan Saraiva Silva Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann IAS Máquina de Von Neuman

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

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

Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Implementações e Comparação de Multiplicadores de Alta Velocidade para Dispositivos Reconfiguráveis Tiago dos Santos Patrocinio, Ivan Saraiva Silva Departamento de Computação Universidade Federal do Piauí

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Universidade Federal de Viçosa Departamento de Informática &XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Flaviano Aguiar Liziane Santos Soares Jugurta Lisboa Filho (Orientador) PROJETO UNESC@LA Setembro de

Leia mais

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

AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG Giovano Camaratta 1, Fábio Daitx 1, Luciano Agostini 1,2, Sergio Bampi 1 1 Grupo de Microeletrônica (GME)

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Imagem digital. Unidade 3

Imagem digital. Unidade 3 Imagem digital Unidade 3 Objectivos Reconhecer o potencial comunicativo/ expressivo das imagens; Reconhecer as potencialidades narrativas de uma imagem; A criação de sentido nas associações de imagens

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo Organização e Arquitetura de Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO Amanda 5ª Atividade: Codificador e codificação de linha e seu uso em transmissão digital Petrópolis, RJ 2012 Codificador: Um codoficador

Leia mais

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2 MEMÓRIA CONCEITO Bit- 0 1 Essência de um sistema chamado BIESTÁVEL Ex: Lâmpada 0 apagada 1 acesa 0 e 1 únicos elementos do sistema de numeração de base 2 A que se destina a memória: Armazenamento das instruções

Leia mais

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Memória Virtual Prof Dr José Luís Zem Prof Dr Renato Kraide Soffner Prof Ms Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Espaço de Endereçamento Virtual

Leia mais

Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem. Reversível.

Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem. Reversível. Compressão sem Perda Explora a redundância entre pixels na codificação. Nenhum dado é perdido durante o processo de compressão. Preserva todas as informações que permitirão a reconstrução exata da imagem.

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

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

EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D. Roger Endrigo Carvalho Porto, Luciano Volcan Agostini EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D Roger Endrigo Carvalho Porto, Luciano Volcan Agostini Grupo de Arquiteturas e Circuitos Integrados DMEC Universidade Federal de Pelotas (UFPEL) Caixa

Leia mais

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores ARQUITETURA DE COMPUTADORES Sistemas de Numeração 1 Sistemas de Numeração e Conversão de Base Sistema Decimal É o nosso sistema natural. Dígitos 0,1,2,3,4,5,6,7,8 e 9. Números superiores a 9; convencionamos

Leia mais

Projeto de Máquinas de Estado

Projeto de Máquinas de Estado Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira Universidade Federal de Alagoas Instituto de Matemática Imagem Prof. Thales Vieira 2014 O que é uma imagem digital? Imagem no universo físico Imagem no universo matemático Representação de uma imagem Codificação

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. SISTEMAS DIGITAIS Memórias Alterado para lógica positiva por Guilherme Arroz Sistemas Digitais 1 Tipos de memórias Existem vários tipos de memórias em sistemas digitais As memórias internas dos dispositivos,

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

ESTUDOS SOBRE A IMPLEMENTAÇÃO ONLINE DE UMA TÉCNICA DE ESTIMAÇÃO DE ENERGIA NO CALORÍMETRO HADRÔNICO DO ATLAS

ESTUDOS SOBRE A IMPLEMENTAÇÃO ONLINE DE UMA TÉCNICA DE ESTIMAÇÃO DE ENERGIA NO CALORÍMETRO HADRÔNICO DO ATLAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA ESTUDOS SOBRE A IMPLEMENTAÇÃO ONLINE DE UMA TÉCNICA DE ESTIMAÇÃO DE ENERGIA NO CALORÍMETRO HADRÔNICO DO ATLAS EM CENÁRIOS DE ALTA LUMINOSIDADE ALUNO: MARCOS VINÍCIUS

Leia mais

A figura abaixo, à direita, mostra uma apresentação gerada no MS PowerPoint. Uma apresentação desse tipo é útil para:

A figura abaixo, à direita, mostra uma apresentação gerada no MS PowerPoint. Uma apresentação desse tipo é útil para: INTRODUÇÃO AO POWERPOINT 16.1 Objetivo Apresentar o PowerPoint, o software para montar apresentações na forma de slides da Microsoft. Isso será feito obedecendo-se a uma seqüência que demonstre como montar

Leia mais

Lição 1 - Criação de campos calculados em consultas

Lição 1 - Criação de campos calculados em consultas 1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

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

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 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 Aula 6-T 2. Máquinas Sequencias Síncronas: Comparação entre

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

Funções básicas Cronograma Cronograma Funções Básicas

Funções básicas Cronograma Cronograma Funções Básicas Funções Básicas Fevereiro 2015 - 1) Selecionar o menu Portfólio > Projetos, clique para janela projetos abrir. 2) Selecione botão incluir para abrir um projeto. Preencha os campos obrigatórios nos Dados

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Circuitos Digitais Cap. 6

Circuitos Digitais Cap. 6 Circuitos Digitais Cap. 6 Prof. José Maria P. de Menezes Jr. Objetivos Flip-Flops e Dispositivos Correlatos Latch com portas NAND Latch com portas NOR Sinais de Clock e Flip-Flops com Clock Flip-Flop S-C

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir. O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio: ELETRÔNICA DIGITAl I 1 SISTEMAS DE NUMERAÇÃO INTRODUÇÃO A base dos sistemas digitais são os circuitos de chaveamento (switching) nos quais o componente principal é o transistor que, sob o ponto de vista

Leia mais

Conversores D/A e A/D

Conversores D/A e A/D Conversores D/A e A/D Introdução Um sinal analógico varia continuamente no tempo. Som Temperatura Pressão Um sinal digital varia discretamente no tempo. Processamento de sinais digitais Tecnologia amplamente

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos UNIPAC Sistemas Digitais Sistemas de Numeração Engenharia da Computação 3 Período Alex Vidigal Bastos 1 Agenda Objetivos Introdução Sistema Binário Sistema Octal Sistema Hexadecimal Aritméticas no Sistema

Leia mais

CALCULADORA SIMPLES COM ULA

CALCULADORA SIMPLES COM ULA CALCULADORA SIMPLES COM ULA Versão 2012 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam

Leia mais

Thales Trigo. Formatos de arquivos digitais

Thales Trigo. Formatos de arquivos digitais Esse artigo sobre Formatos de Arquivos Digitais é parte da Tese de Doutoramento do autor apresentada para a obtenção do titulo de Doutor em Engenharia Elétrica pela Escola Politécnica da USP. Thales Trigo

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS

ÍNDICE 1 INTRODUÇÃO. 04 2 ACESSO AOS SISTEMAS. 05 3 DOCUMENTOS MANUTENÇÃO. 08 08 3.2 10 3.3 OCR. 11 4 REGISTRO DE DOCUMENTOS. 13 5 GERANDO DOCUMENTOS ÍNDICE 1 INTRODUÇÃO... 04 2 ACESSO AOS SISTEMAS... 05 3 DOCUMENTOS MANUTENÇÃO... 08 3.1Tipos de Documentos... 08 3.2 Relações entre Documentos... 10 3.3 OCR... 11 4 REGISTRO DE DOCUMENTOS... 13 5 GERANDO

Leia mais

CAPÍTULO 6 ARITMÉTICA DIGITAL

CAPÍTULO 6 ARITMÉTICA DIGITAL CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES TRANSFORMANDO DADOS EM INFORMAÇÕES Em geral, parece que os computadores nos entendem porque produzem informações que nós entendemos. Porém, tudo o que fazem é reconhecer dois estados físicos distintos

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação

Leia mais

Microsoft Project 2003

Microsoft Project 2003 Microsoft Project 2003 1 [Módulo 4] Microsoft Project 2003 2 Definindo durações Inter-relacionamentorelacionamento Caminho crítico Microsoft Project 2003 3 1 Duração das Atividades Microsoft Project 2003

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Usando o Excel ESTATÍSTICA. A Janela do Excel 2007. Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.

Usando o Excel ESTATÍSTICA. A Janela do Excel 2007. Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação. Barra de deslocamento ESTATÍSTICA Barra de menus Barra de título Barra de ferramentas padrão e de formatação Barra de fórmulas Conjuntos e Células (Intervalos) Área de trabalho Separador de folhas Barra

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

Microsoft Office Excel 2007

Microsoft Office Excel 2007 1 Microsoft Office Excel 2007 O Excel é um programa dedicado a criação de planilhas de cálculos, além de fornecer gráficos, função de banco de dados e outros. 1. Layout do Excel 2007 O Microsoft Excel

Leia mais

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f Monitor de Rede Elétrica Som Maior Pro Manual do Usuário Versão 3.9f 2 ÍNDICE PÁG. 1 APRESENTAÇÃO...03 2 DESCRIÇÃO DO EQUIPAMENTO...04 2.1 ROTINA INICIAL DE AVALIAÇÃO DA REDE ELÉTRICA...04 2.2 TROCA DE

Leia mais

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial Manual de Conversão para PDF Manual de Conversão para PDF 3 Conversão para PDF Microsoft Office 2003 Instalação da impressora PDF O pacote de aplicativo Office 2003 não possui nativamente o recurso de

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

Voz sobre ATM. Prof. José Marcos C. Brito

Voz sobre ATM. Prof. José Marcos C. Brito Voz sobre ATM Prof. José Marcos C. Brito 1 Camada de adaptação Voz não comprimida (CBR) AAL 1 Voz comprimida (VBR) AAL 2 Para transmissão de voz sobre a rede ATM podemos utilizar a camada de adaptação

Leia mais

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal

Leia mais

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS 92 CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS Sumário 6.. Introdução... 94 6... Máquina de Estados de Moore... 94 6..2. Máquina de Estados de Mealy... 95 6.2. Projeto de Redes Sequenciais...

Leia mais

4 RECURSOS AUTOMATIZADOS DO EXCEL

4 RECURSOS AUTOMATIZADOS DO EXCEL 4 RECURSOS AUTOMATIZADOS DO EXCEL 4.1 Auto Preenchimento O Excel possui um recurso de grande ajuda para quem necessita digitar uma seqüência de células cujo conteúdo é seqüencial. Esse recurso, chamado

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se

Leia mais

Sistemas de Numeração

Sistemas de Numeração Universidade Tecnológica Federal do Paraná Bacharelado em Ciência da Computação IC3A Introdução à Ciência da Computação Sistemas de Numeração Marcos Silvano O. Almeida Baseado no material do prof. Rogério

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

2. ENTRADA DE DADOS 2.1. TEXTOS

2. ENTRADA DE DADOS 2.1. TEXTOS 2. ENTRADA DE DADOS Os dados digitados em uma célula são divididos em duas categorias principais: constantes ou fórmulas. Um valor constante é um dado digitado diretamente na célula e que não é alterado.

Leia mais

2. O que é Redundância de código ou informação? Como a compressão Huffman utiliza isso? Você conhece algum formato de imagem que a utiliza?(1.

2. O que é Redundância de código ou informação? Como a compressão Huffman utiliza isso? Você conhece algum formato de imagem que a utiliza?(1. Respostas do Estudo Dirigido Cap. 26 - Reducing the information:... ou Image Compression 1. Para que serve comprimir as imagens? Que aspectos estão sendo considerados quando se fala de: Compression Rate,

Leia mais

Aula 8 Circuitos Integrados

Aula 8 Circuitos Integrados INTRODUÇÃO À ENGENHRI DE COMPUTÇÃO PONTIFÍCI UNIVERSIDDE CTÓLIC DO RIO GRNDE DO SUL FCULDDE DE ENGENHRI ula Circuitos Integrados Introdução Portas Lógicas em Circuitos Integrados Implementação de Funções

Leia mais

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

Leia mais

Circuitos Digitais 144L

Circuitos Digitais 144L Circuitos Digitais Notas de Aula - 02 INSTITUTO: CURSO: DISCIPLINA: Instituto de Ciências Exatas e Tecnologia Ciência da Computação e Sistemas de Informação Circuitos Digitais 144L 1.0 Circuitos Combinacionais.

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens IntroduçãoàTecnologiaWeb HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage FormatosdeImagens ProfªMSc.ElizabeteMunzlinger ProfªMSc.ElizabeteMunzlinger FormatosdeImagens Índice 1 FORMATOS

Leia mais