CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITAL
|
|
|
- Laura Irene Sequeira Alcântara
- 9 Há anos
- Visualizações:
Transcrição
1 CODIFICAÇÃO AVANÇADA DE VÍDEO DIGITAL Fernando Pereira Instituto Superior Técnico
2 Vídeo Digital: Algumas Dúvidas Essencialmente, as normas de vídeo digital disponíveis seguem o mesmo paradigma da televisão analógica! Será que a lógica mais do mesmo ainda que com algum aumento da qualidade (?) vai ser suficiente para convencer os utentes? Será que os utentes confrontados com o paradigma da Internet e dos jogos, com que estão cada vez mais familiarizados, não vão querer mais sem ser do mesmo? Não será por este motivo que quase todos os operadores de televisão digital tentam misturar o acesso à Internet com a televisão?
3 Convergências O desenvolvimento tecnológico- processadores, memórias, codificação, etc.- levou a que mundos até agora separados Telecomunicações, Televisão e Computadores Voz, Imagem e Dados tendam a evoluir- convergir- integrando elementos típicos uns dos outros, p.e. imagem nas telecomunicações ou interactividade na televisão. E então surgem novos desafios...
4 Novas Capacidades,, Novas Necessidades Maior facilidade em interagir com a informação audiovisual (AV), nomeadamente ao nível do conteúdo Re-utilização da informação AV, natural e sintética, combinando-a de vários modos Disponilização da informação digital AV em qualquer local, através de qualquer meio e terminal Identificação rápida da informação procurada Protecção dos direitos de autor Necessidades surgem dos utentes, dos autores de conteúdo e dos fornecedores de serviços!
5 Um Único Ambiente de Codificação para...
6 Um Novo Modelo de Dados: Composição de Objectos Informação audiovisual representada como uma composição de objectos (com valor semântico ou funcional) Integração de objectos de vários tipos, naturais e sintéticos Processamento e codificação ao nível do objecto Interacção e re- utilização independente ao nível dos objectos Princípios independentes do débito binário
7 Conteúdo Baseado em Objects Sports results: Benfica - Sporting Stock information... Sports Stock results: information Benfica - Sporting...
8 Sistema Audiovisual Convencional enc. enc. sync & multiplexer demultiplexer dec.... dec. compositor
9 Sistema Audiovisual Baseado em Objectos AV objects coded AV objects coded AV objects uncoded Comp. Info Comp. enc. enc.... enc. sync & multiplexer demultiplexer dec. Comp. dec. dec.... dec. compositor interacção
10 MPEG-4: o Modelo de Serviço Fonte D e l i v e r y D e m u lt i p le x Compos. Vídeo Áudio Animação Texto/Gráf. C o m p o s i ç ã o A p r e s e n t a ç ã o Interacção
11 MPEG-4: Codificação de Objectos Audiovisuais Novo modelo de dados baseado no conceito de Objecto o que dá um valor semântico à estrutura de dados Novas funcionalidades, nomeadamente interacção ao nível de objecto, accesso universal e maior eficiência de compressão Criação de conteúdos com objectos e re-utilização e manipulação de objectos Integração de vários tipos de objectos áudio e vídeo, naturais e sintéticos e exploração de sinergias, e.g. entre codificação de vídeo, visão por computador, computação gráfica.
12 MPEG-4: Codificação de Objectos com Forma Arbitrária Coded shape bitstream video_object_layer_shape Shape decoding Previous reconstructed VOP Demultiplexer Coded motion bitstream Coded texture bitstream Motion decoding Variable length decoding Inverse AC/DC prediction Inverse quantization Texture Decoding Motion compensation Inverse scan Inverse DCT VOP reconstruction Decoded VOP
13 O Problema da Segmentação
14 Segmentação: O Problema que nem Sempre Existe...
15 Segmentação Automática e em Tempo Real: O Pior Caso!
16 Ferramentas MPEG-4 4 (1): Os Codecs Codificação eficiente de vídeo desde muito baixos débitos binários até muito alta qualidade Codificação eficiente de música e fala para uma gama alargada de débitos, nomeadamente desde música com qualidade transparente até fala a muito baixo débito Codificação eficiente de texto e gráficos Codificação eficiente de objectos 3D dinâmicos bem como de objectos 3D mais específicos como faces e corpos humanos Codificação eficiente de áudio e fala sintéticos bem como de espaço áudio 3D Capacidades de resiliência a erros ao nível da codificação de fonte para todos os tipos de dados codificados, nomeadamente com vista a ambientes com características de canal difíceis
17 Conteúdo Sintético: Animação Facial e Muito Mais
18 Jogos 3D para 3G na Coreia
19 Ferramentas MPEG-4 4 (2): O Nível de Sistema Representação independente dos vários objectos na cena, nomeadamente objectos visuais, permitindo o seu acesso, manipulação e reutilização de forma independente Composição de objecto visuais e de áudio, naturais e sintéticos, na mesma cena Capacidade de descrição de objectos e eventos na cena Capacidades de hyperlinking e interacção Capacidades ao nível da protecção e gestão dos conteúdos que forma a que só utentes autorizados os possam consumir
20 MPEG-4: Exemplos de Aplicação Vídeo na Internet Comunicações em tempo real Teledifusão multimedia DVD Interactivo Estúdio TV e post-processamento Infotainment Bases de dados baseadas no conteúdo Comunicações pessoais avançadas, p.e. móveis Vigilância e controlo remotos Reuniões virtuais
21 Usando Objectos
22 O Caso Bloomberg Já Hoje! Eficiência de codificação Personalização automática ou manual do conteúdo Personalização automática ou manual do layout do écrã com base em conteúdo global ou objectos, eventos, linguagem ou critérios mais complexos definidos pelo utente
23 Objectos mas Também...
24 Vídeo na Internet Número de objectos transmitidos dependente dos recursos computacionais e de banda Integração simples e eficiente de vários tipos de dados, naturais e sintéticos Interacção local ao nível dos objectos Personalização do conteúdo e do layout do écran Re-utilização de conteúdos Escalabilidade de espaço e tempo ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
25 Vídeo na Internet Número de objectos transmitidos dependente dos recursos computacionais e de banda Integração simple e eficiente de vários tipos de dados, naturais e sintéticos Interacção local ao nível dos objectos Personalização do conteúdo e do layout do écran Re-utilização de conteúdos Escalabilidade de espaço e tempo ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
26 Vídeo na Internet Número de objectos transmitidos dependente dos recursos computacionais e de banda Integração simple e eficiente de vários tipos de dados, naturais e sintéticos Interacção local ao nível dos objectos Personalização do conteúdo e do layout do écran Re-utilização de conteúdos Escalabilidade de espaço e tempo ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
27 Vídeo na Internet Número de objectos transmitidos dependente dos recursos computacionais e de banda Integração simple e eficiente de vários tipos de dados, naturais e sintéticos Interacção local ao nível dos objectos Personalização do conteúdo e do layout do écran Re-utilização de conteúdos Escalabilidade de espaço e tempo ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
28 Vídeo na Internet Número de objectos transmitidos dependente dos recursos computacionais e de banda Integração simple e eficiente de vários tipos de dados, naturais e sintéticos Interacção local ao nível dos objectos Personalização do conteúdo e do layout do écran Re-utilização de conteúdos Escalabilidade de espaço e tempo ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
29 Comunicações em Tempo Real Número de objectos transmitidos dependente dos recursos computacionais e de banda Adição simples e eficiente de texto e elementos gráficos Escalabilidade temporal ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
30 Comunicações em Tempo Real Número de objectos transmitidos dependente dos recursos computacionais e de banda Adição simples e eficiente de texto e elementos gráficos Escalabilidade temporal ao nível dos objectos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância
31 Teledifusão Multimédia Integração simples e eficiente de vários tipos de dados, naturais e sintéticos Personalização automática/manual do conteúdo e do layout do écran Interacção local ao nível dos objectos Re-utilização de conteúdos Cada objecto com uma qualidade e protecção contra erros dependente da sua relevância Número de objectos transmitidos dependente dos recursos computacionais e de banda
32 Volta à França : Hoje!
33 Volta à França : Mudar de Posição!
34 Volta à França : Combinando Objectos!
35 Volta à França : Browsing!
36 Estrutura de Cena para o Tour de France Cena AV Mapa Botões à esquerda Botões à direita... Vídeo Áudio...
37 Algumas Partes do MPEG-4 Parte 1: Systems Especifica ferramentas de composição, multiplexagem, sincronização, gestão de memória e gestão e protecção de propriedade intelectual Parte 2: Visual Especifica a codificação de objectos visuais, naturais e sintéticos Parte 3: Audio - Especifica a codificação de objectos auditivos (música e fala), naturais e sintéticos Parte 4: Conformance Testing Especifica as condições para conformidade de fluxos binários e terminais Parte 5: Reference Software Inclui software correspondente às ferramentas das várias partes; este software pode ser usado para implementação de produtos conformes à norma sem copyright Parte 6: Delivery Multimedia Integration Framework (DMIF) Especifica um protocolo de sessão para a gestão de streaming multimedia através de vários tipos de canais Parte 10: Advanced Video Coding Especifica a codificação avançada de vídeo rectangular (em conjunto com ITU-T, norma H.264)
38 MPEG-4 4 Profiling: Interoperabilidade versus Complexidade A norma MPEG-4 oferece inúmeras ferramentas em cada uma das suas Partes. Existem muitas ferramentas em cada uma das Partes que são inúteis (ou demasiado caras) para certas classes de aplicações. É essencial oferecer soluções adequadas a cada classe de aplicações com complexidade adequada. A criação de Perfis tem o objectivo de oferecer soluções técnicas adequadas para certas classes de aplicações de forma a criar bons compromissos entre a maximização da interoperabilidade e a minimização da complexidade.
39 Elementos Básicos do MPEG-4 4 Profiling Object Type Define a sintaxe do fluxo binário para um certo objecto (p.e. audio, vídeo) que corresponde a uma dada entidade na cena. Profile Define o conjunto de ferramentas de um certo tipo, p.e. descodificação de vídeo, que podem ser usada num dado terminal; os perfis visuais e de áudio são definidos em termos de object types ou seja um perfil visual corresponde ao conjunto de object types que o terminal aceita. Level Define as limitações, p.e. em débito, memória, impostas a cada perfil ou seja às ferramentas correspondentes a esse perfil.
40 Object Type: um Sub-conjunto de Ferramentas SIMPLE VISUAL OBJECT TYPE I-VOP and P-VOPP AC/DC prediction 4_MV, Unrest. MV Error resilience Short Header
41 Alguns Perfis Video ACE ARTS N-bit Advanc. Scal.Te Simple Scalable Simple Core Scalable Texture Main Stream. Video Core Scalable Studio
42 Perfis MPEG-4: Quantos são Precisos? Um bom perfil é um perfil que é usado pela indústria e satifaz os utentes! A existência de demasiados perfis diminui a interoperabilidade e cria confusão junto da indústria. A existência de demasiado poucos perfis pode implicar a necessidade de usar um perfil demasiado complexo para uma dada classe de aplicações. Os perfis devem ir sendo definidos à medida que a sua necessidade é identificada pela indústria. O mais importante é que os perfis necessários sejam definidos mesmo que entretanto sejam também criados alguns que nunca venham a ser usados.
43 Níveis: a Segunda Dimensão Os perfis restringem o conjunto de ferramentas mas não a complexidade, p.e. em termos de número de operações por segundo, memória, etc. Os níveis permitem fixar um limite para o máximo de complexidade que um descodificador é obrigado a ser capaz de suportar ou seja estabelecem o limiar inferior de complexidade para as implementações de descodificadores. Os limites fixados pelos níveis referem-se ao conjunto de todos os objectos na cena e não individualmente a cada objecto já que as limitações estão globalmente associados ao terminal. A definição de níveis em MPEG-4 pode ser bastante complexa uma vez que os bits MPEG-4 podem estar associados a complexidades muito diferentes em virtude da grande variedade de tipos de dados e ferramentas de codificação.
44 Codificação de Vídeo no MPEG-4 Existem 2 partes na norma MPEG-4 que especificam codificação de vídeo (fluxo binário e descodificação): Parte 2: Visual (1998) Especifica inúmeras ferramentas com vista a codificação eficiente, resiliência a erros e escalabilidade para vídeo, faces e corpos 3D, etc. Parte 10: Advanced Video Coding (AVC) (2003) Especifica ferramentas mais eficientes de codificação e resiliência a erros para vídeo; esta Parte foi desenvolvida em conjunta com a ITU-T sendo também a norma H.264 deste organismo. Cada uma destas partes especifica vários perfis de codificação de vídeo, com diferentes funcionalidades. Enquanto a Parte 2 tem perfis baseados em objectos rectangulares e de forma arbitrária, a Parte 10 só considera codificação de objectos rectagulares.
45 Tools Object Type Simple Core Main Simple Scalable N-bit Animated 2D Mesh Basic Animated Texture Still Scalable Texture Simple Face Object types MPEG-4 Visual Basic tools I-VOP, P-VOP AC/DC Prediction X X X X X X 4-MV, Unrestricted MV Error resilience Slice Resynchronization Data Partitioning X X X X X X Reversible VLC Short Header X X X X X B-VOP X X X X X M ethod 1/M ethod 2 Quantization X X X X P-VOP based temporal scalability Rectangular X X X X Arbitrary Shape Binary Shape X X X X X Grey Shape X Interlace X Sprite X Temporal Scalability (Rectangular) X Spatial Scalability (Rectangular) X N-Bit (4-12 bit) X Scalable Still Texture X X X 2D Dynamic Mesh with uniform topology X X 2D Dynamic Mesh with Delaunay topology X Facial Animation Parameters X
46 Alguns Perfis MPEG-4 4 Visual Profiles Simple Simple Scaleable Core Main N-Bit Scaleable Texture Simple FA Basic Animated Hybrid Object types Texture Simple Simple Scalable Core Main N-Bit Animated 2D Mesh Basic Animated Texture Scalable Texture Simple Face Number of Levels
47 Os Níveis para Alguns Perfis Visual Profile L e v e l Typical Visual Session Size Max objects Maximum number per type N-Bit L2 CIF x Core or Simple or N-Bit Main L x 1088 Main L3 CCIR x Main or Core or Simple x Main or Core or Simple Main L2 CIF x Main or Core or Simple Core L2 CIF x Core or Simple Core L1 QCIF 4 4 x Core or Simple Simple Scalable Simple Scalable L2 CIF 4 4 x Simple or Simple Scalable L1 CIF 4 4 x Simple or Simple Scalable Max. VMV buffer size (MB) Max VCV buffer size (MB) VCV decoder rate (MB/s) VCV Boundary MB decoder rate (MB/s) Max total VBV buffer size (units of bits) Max VBV buffer size (units of bits) Max bitrate (kbit/s) N.A N. A Simple L3 CIF 4 4 x Simple N. A Simple L2 CIF 4 4 x Simple N. A Simple L1 QCIF 4 4 x Simple N. A
48 Perfis MPEG-4 Parte 2: Visual Os perfis Simple e Advanced Simple são os perfis do MPEG-4 Parte 2 mais usados na prática! O perfil Simple é muito semelhante ao H.263 com algumas ferramentas para resiliência a erros. Existem inúmeros produtos no mercado usando este perfil nomeadamente pequenas máquinas fotográficas. O perfil Advanced Simple usa também compensação de movimento global e compensação de movimento a ¼ pixel e codifica vídeo entrelaçado.
49 MPEG-4 Advanced Video Coding (AVC) (ou ITU-T H.264)
50 Norma H.264/AVC (2003): Objectivo Codificação com eficiência melhorada, nomeadamante cerca de 50% menos débito para a mesma qualidade em comparação com as normas já existentes,, e.g. H.263, MPEG-2 2 Video. A norma (conjunta MPEG e ITU-T) também oferece boa flexibilidade em termos de compromissos eficiência versus complexidade e bom desempenho em termos de robustez a erros para ambientes móveis e a Internet fixa e wireless (formatos progressivos e entrelaçados).
51 Alcance da Norma A norma especifica apenas a sintaxe (e restrições) do fluxo binário e o processo de descodificação: Permite vários tipos de optimizações na codificação Permite reduzir a complexidade da implementação na codificação (à custa da qualidade) Não permite garantir qualquer nível de qualidade Aquisição Pre-Processing Pré-Processam. Codificador Encoding Visualização Pós-Processam. Post-Processing & Error Recovery Descodificador Decoding Norma
52 Ganhos,, Como? A norma H.264/AVC baseia-se na mesma estrutura de codificação híbrida usada para as normas anteriores mas com algumas diferenças importantes, nomeadamente: Compensação de movimento com blocos de tamanho variável (e menores) Múltiplas tramas de referência Transformada com blocos menores Filtro deblocking no loop de predição Codificação entrópica melhorada que permitem oferecer ganhos substanciais em termos do débito necessário para garantir um certo nível de qualidade. A norma H.264/AVC destina-se a um vasto conjunto de aplicações desde comunicações pessoais, a gravação e difusão com qualidades e resoluções variadas.
53 Estrutura da Imagem Imagem (Y,Cr,Cb; 4:2:0; 8 bit/amostra): Slice: - Uma imagem (trama ou campo) é dividida em 1 ou mais slices - Uma slice é uma sequência de macroblocos - As slices são self-contained Macrobloco: - É a unidade básica da sintaxe e de processamento - Contem amostras de luminância e amostras de crominância - Os macroblocos dentro de uma slice dependem uns dos outros - Os macroblocos podem ser ainda subdivididos Slice #0 Slice #1 Slice # Macroblock #40
54 Slices e Slice Groups Slice Group: - Padrão de macroblocos definido através de um mapa de alocação de MBs - Um slice group pode conter 1 ou mais slices Tipos de mapas de alocação de MBs: - Slices groups entrelaçados - Slice groups de foreground e de background -... Codificação dos Slices: - Slices I: todos os seus MBs são codificados usando predição Intra - Slices P: os seus MBs podem também usar uma predição com compensação de movimento - Slices B: os seus MBs podem ainda usar predição bidireccional com compensação de movimento Slice Group #0 Slice Group #0 Slice Group #1 Slice Group #2 Slice Group #0 Slice Group #1 Slice Group #1 Slice Group #2
55 Processamento de Conteúdo Entrelaçado Modo Campo: - cada campo é codificado como uma imagem separada usando os campos para fazer a compensação de movimento Modo Trama: - Tipo 1: cada trama completa é codificada como uma imagem separada - Tipo 2: a trama é varrida aos pares de macroblocos e para cada um destes pares escolhe-se entre o modo campo e o modo trama A Pair of Macroblocks in Frame Mode Macroblock Pair Top/Bottom Macroblocks in Field Mode
56 Estrutura Básica de Codificação H.264/AVC Input Video Signal Split into Macroblocks 16x16 pixels - Coder Control Transform/ Scal./Quant. Decoder Scaling & Inv. Transform Control Data Quant. Transf. coeffs Entropy Coding Intra/Inter Intra-frame Prediction Motion- Compensation Deblocking Filter Output Video Signal Motion Estimation Motion Data
57 Características Comuns a Outras Normas Macroblocos: amostras de luminância amostras de crominância Original: Luminância e correspondentes crominâncias com subamostragem 4:2:0 (metade das linhas e das colunas) Compensação de movimento ao nível do bloco Compensação de movimento fora dos limites da imagem Compensação de movimento para blocos de tamanho variável Transformada ao nível do bloco Quantificação escalar Modos de codificação I, P, e B
58 Predição Intra De forma a aumentar a eficiência da codificação Intra, explora-se a correlação entre blocos ou MBs adjacentes de uma imagem. Se um bloco ou MB for codificado em modo Intra, constrói-se um bloco ou MB de predição a partir dos blocos ou macroblocos que foram anteriormente codificados e reconstruídos na mesma imagem. O bloco ou MB de predição é subtraído ao bloco ou MB que se pretende codificar. Nesta predição podem apenas utilizar-se as amostras que estejam contidas na mesma slice de forma a garantir a independência entre slices. Este tipo de codificação Intra pode implicar propagação de erros se se usarem na predição espacial MBs adjacentes codificados em modo Inter -> Constrained Intra coding mode (apenas MBs adjacentes codificados em modo Intra são usado na predição espacial)
59 Tipos de Predição Intra A predição em modo Intra pode ser realizada a vários níveis: 1. Predição única para todo o macrobloco (Intra16 16): quatro modos (vertical, horizontal, DC e planar) -> zonas uniformes 2. Predições individuais para as 16 amostras dos blocos 4 4 (Intra4 4): nove modos (DC e 8 direccionais) -> zonas com detalhe 3. Predição única para a crominância: quatro modos (vertical, horizontal, DC e planar) Predição espacial direccional (9 tipos para luma, 1 para croma) Control Data Q A B C D E F G H I a Quant. b c d J Transf. e f g coeffs h K i j k l L m n o p Output Video Signal 3 7 Entropy Coding 8 1 e.g., Modo 5: Predição diagonal Motion para baixo à direita Data a, f, k, p são preditos como (A + 2Q + I + 2) /
60 Modos de Predição Intra para Blocos Média de todos os pixels vizinhos A componente de luminância pode ser predita da mesma forma para todas as amostras pertencentes a um macrobloco > modos referidos como Intra16 16, adequados a zonas da imagem que variam suavemente. - Modo 0 utiliza as amostras reconstruídas do topo do MB de forma a que as colunas do MB de predição tenham o mesmo valor que a amostra que se encontra no topo. - Modo 1 utiliza as amostras reconstruídas à esquerda do MB de forma a que as linhas do MB de predição tenham o mesmo valor que a amostra que se encontra mais à esquerda em cada linha. - Modo 2, todas as amostras do MB de predição possuem um valor igual à média das amostras reconstruídas do topo e à esquerda do MB. - Modo 3 usa uma função linear que se adapta às amostras do topo e à esquerda do MB para obter os valores das amostras do MB de predição.
61 Modos de Predição Intra para Blocos 4 4
62 Compensação de Movimento Flexível Cada MB pode ser dividido em partições de dimensão fixa, utilizadas para descrever o movimento da luminância a 1/4 pixel. São definidos vários tipos de partições, nomeadamente desde a 4 4 amostras de luminância, com muitas opções entre estas duas variantes. A componente de luminância de cada MB (16 16 amostras) pode ser dividida de 4 formas, Inter16 16, Inter16 8, Inter8 16 e Inter8 8, que correspondem a 4 modos de predição ao nível do MB. Se o modo Inter8 8 for escolhido, cada um dos sub-mbs (com 8 8 amostras) pode ser dividido (ou não) de novo, obtendo-se partições com dimensões de 8 8, 8 4, 4 8 ou 4 4, que correspondem a 4 modos de predição ao nível do sub-mb. Um máximo de 16 vectores de movimento pode ser usado para um MB P.
63 Divisão de MBs e sub-mbs para Compensação de Movimento Macroblocos Sub-macroblocos Vectores de movimento são codificados diferencialmente mas não entre slices.
64 Múltiplas Tramas de Referência A norma H.264/AVC suporta compensação de movimento com múltiplas referências, i.e. mais do que uma imagem anteriormente codificada pode ser utilizada simultaneamente como referência para a compensação de movimento (à custa de memória). Tanto o codificador como o descodificador guardam as imagens de referência a utilizar numa memória com múltiplas imagens. O descodificador possui as mesmas imagens na memória que o codificador através de operações de controlo do conteúdo da memória que são transmitidas no fluxo binário codificado.
65 Tramas B Generalizadas O conceito de tramas B é generalizado no H.264/AVC uma vez que qualquer imagem pode utilizar como referência imagens do tipo B para a compensação de movimento ou seja a escolha das imagens de predição só depende da gestão de memória efectuada pelo codificador. As slices do tipo B são codificadas de forma a que para alguns blocos ou MBs a predição corresponde a uma média pesada de dois valores distintos obtidos a partir de dois blocos ou MBs depois da compensação de movimento (ambos passados, ambos futuros ou um passado e um futuro). As imagens do tipo B utilizam duas memórias de referência, referidas como a primeira e a segunda memória de imagens de referência. As imagens de referência que estão em cada uma destas memórias dependem de uma decisão que cabe ao codificador. Esta predição pesada permite obter uma predição Inter mais eficiente, i.e. com um menor erro de predição.
66 Predição Pesada Para uma dada partição de um macrobloco é possível utilizar uma predição pesada obtida a partir de duas imagens de referência. A predição pesada consiste em efectuar a compensação de movimento para as duas imagens de referência e calcular uma soma pesada a partir de um conjunto de pesos w 1 e w 2 e das duas imagens compensadas de movimento, para se obter a predição final. Com esta ferramenta é possível codificar transições (e.g. fades) ou diferenças de intensidade (devido a alterações da iluminação) presentes na maior parte do conteúdo, de uma forma mais eficiente.
67 As Novas Dependências no Tempo As dependências conhecidas, p.e. MPEG-1, MPEG-2 I P P P P Novos tipos de dependências: - a ordem de referência e a ordem de display deixam de estar relacionadas - o tipo de imagem e a sua capacidade de servir para predição deixam de estar relacionadas, p.e. é possível usar uma trama B como referência B B B B B B B B I P B B P B B B B B P B B
68 = 3 Múltiplas Tramas de Referência e Tramas B Generalizadas = 1 4 tramas previamente descodificadas estão aqui disponíveis para ser usadas como referências = 0 1. O parâmetro permite definir qual a trama de referência usada de entre as disponíveis. 2. Para tramas B, 2 conjuntos de vectores de movimento podem Imagem actual ter de ser descodifcados. Se a dimensão da memória permitir guardar mais do que uma imagem, o índice da imagem de referência é transmitido para cada partição 16 16, 8 16, 16 8 ou 8 8 de um MB, indicando ao descodificador a imagem de referência que deve utilizar de todas as disponíveis na memória.
69 Desempenho Comparativo: : Mobile & Calendar, CIF, 30 Hz PSNR Y [db] ~40% PBB... with generalized B pictures PBB... with classic B pictures PPP... with 5 previous references PPP... with 1 previous reference R [Mbit/s]
70 Múltiplas Transformadas A norma H.264/AVC usa 3 transformadas dependendo do tipo de resíduo de predição a ser codificado: 1. Transformada Hadamard 4 4 para os coeficientes DC de luminância em MBs codificados com o modo Intra Transformada Hadamard 2 2 para os coeficientes DC de crominância em qualquer MB 3. Transformada inteira 4 4 baseada na DCT para todos os outros blocos
71 Transformadas, Onde? Hadamard Luma 4x4 DC: Apenas para Intra_16x16 MB Cb 16 Cr 17 2x2 DC AC Ordem dos blocos Luma 4x4 para predição Intra e Inter 4x4 DCT Inteira Ordem dos blocos 4x4 para codificação residual 4x4 (16-25) e codificação Intra 4x4 (18-25)
72 Transformada DCT Inteira A norma H.264/AVC utiliza codificação de transformada para codificar o erro residual de predição. A transformada principal é aplicada a blocos 4 4 usando uma transformada separável com propriedades semelhantes a um DCT 4 4 C4 x4 = Tv B4 x4 T v, T h : matriz de transformação vertical e horizontal T = T Transformada DCT Inteira Mais fácil implementação (apenas somas e deslocamentos) - Ausência de mismatch na transformada inversa T T h v h 1 =
73 Quantificação A quantificação remove componentes da imagem consideradas irrelevantes, permitindo obter uma redução muitas vezes substancial do débito binário. A operação de quantificação corresponde a dividir cada coeficiente por um factor de quantificação e a operação de quantificação inversa (reconstrução) corresponde a multiplicar cada coeficiente pelo mesmo factor. Para quantificar os coeficientes, a norma H.264/AVC utiliza quantificação escalar e o factor de quantificação é igual para todos os coeficientes da transformada. Um de 52 valores possíveis para o factor de quantificação (Q step ) é seleccionado para cada macrobloco, indexado através do passo de quantificação (Q p ) e de uma tabela que estabelece a relação entre cada Q p e Q step. Os valores da tabela foram obtidos de forma a haver um decréscimo de aproximadamente 12.5% do débito binário para cada incremento de 1 do valor do passo de quantificação.
74 Filtro de Deblocking in the Loop A norma H.264/AVC especifica a utilização de um filtro de bloco adaptativo que opera nas fronteiras dos blocos com vista a melhorar a qualidade subjectiva e objectiva. Este filtro tem de estar presente no codificador e no descodificador, uma vez que os blocos filtrados são de seguida utilizados na compensação de movimento. Este filtro tem um desempenho superior em relação a um filtro de pós-processamento. Este filtro possui duas vantagens principais: - As fronteiras dos blocos são suavizadas, sem tornar a imagem difusa, melhorando a qualidade subjectiva da imagem. - Os macroblocos filtrados são utilizados na compensação de movimento (filtro no loop), resultando num resíduo menor depois da predição ou seja reduzindo o débito binário para a mesma qualidade objectiva. - A filtragem é aplicada às fronteiras verticais e horizontais dos blocos 4 4 de um macrobloco.
75 Filtro de Deblocking in the Loop A ideia do filtro de deblocking é que uma diferença grande entre amostras junto à fronteira de 2 blocos só deve ser filtrada se puder ser explicada devido à quantificação; senão essa grande diferença deve fazer parte da imagem e não deve ser filtrada. O filtro é adaptativo face ao conteúdo removendo essencialmente o efeito de bloco sem alisar desnecessariamente a imagem - Ao nível da slice, a força do filtro pode ser ajustada às características da sequência de vídeo em questão. - Ao nível de cada fronteira entre blocos, a força do filtro é ajustada consoante a codificação é intra/inter, o movimento e os resíduos codificados. - Ao nível de cada amostra, o filtro pode ser desligado consoante o tipo de quantificação. - O filtro adaptativo é controlado por um parâmetro B s que representa a força do filtro; para Bs = 0 nenhuma amostra é filtrada e para B s = 4 o filtro reduz ao máximo o efeito de bloco.
76 Funcionamento do Filtro de Deblocking q 0 q 2 q 1 Visualização unidimensional de uma transição (vertical ou horizontal) A filtragem de p 0 e q 0 só é efectuada se: 1. p 0 - q 0 < α(qp) 2. p 1 - p 0 < β(qp) 3. q 1 - q 0 < β(qp) p 2 p 0 p 1 Fronteira entre blocos 4x4 Ondeβ(QP) é consideravelmente menor queα(qp) A filtragem de p 1 e q 1 sé é efectuada se 1. p 2 - p 0 < β(qp) ou q 2 - q 0 < β(qp) (QP = quantization parameter)
77 Comparação com e sem Filtro (intra coding a 0.28 bit/amostra) 1) Sem filtro 2) Com filtro deblocking H.264/AVC
78 Codificação Entrópica SOLUÇÃO 1 Códigos Exp-Golomb são usados para todos os símbolos excepto os coeficientes da transformada Context adaptive VLCs (CAVLC) são usados para a codificação dos coeficientes da transformada - Não há end-of-block; descodifica-se o número de coeficientes - Coeficientes são varridos do fim para o início - Contextos dependem dos próprios coeficientes SOLUÇÃO 2 (5-15% menos débito) Context-based Adaptive Binary Arithmetic Codes (CABAC) - Usam-se modelos adaptativos de probabilidade para a maioria dos símbolos - Explora-se a correlação entre símbolos através da criação de contextos
79 Qualidade à custa da Complexidade A complexidade (memória e computação) aumenta tipicamente 3 na descodificação e 4 na codificação em relação à norma MPEG-2 Vídeo (perfil Main). Aspectos problemáticos: Compensação de movimento com blocos mais pequenos (acesso à memória) Filtros mais complexos (mais longos) na compensação de movimento a ¼ pixel (acesso à memória) Compensação de movimento multitrama (mais memória para tramas de referência) Mais tipos de segmentação dos macroblocos à escolha (mais procura no codificador) Mais formas de predição intra (mais procura no codificador) Codificação aritmética (mais cálculo)
80 EXTENDED SI/SP slices MAIN BASELINE I & P slices FMO B slices ¼ pel MC Diff. block sizes Red. pictures Weighted features Multiple ref. frames CAVLC prediction In-loop deb. filter ASO Field coding Intra prediction MB-AFF CABAC Data partitioning A norma H.264/AVC especifica vários perfis entre os quais: - Baseline mais simples do que o Main em termos de compressão mas com resiliência a erros, p.e. comunicações pessoais, vídeo movél - Main elevada compressão, p.e. broadcasting - Extended capacidades adicionais para streaming mais eficiente - High inclui transformada 8 8, matrizes de quantificação não uniformes e codificação sem perdas
81 Comentários Finais A norma H.264/AVC baseia-se nas normas anteriores mas consegue um ganho típico de cerca de 50%, sobretudo à custa do aumento da complexidade de codificação. O ganho de eficiência está essencialmente ligado à compensação de movimento com blocos de tamanho variável (e menores), múltiplas tramas de referência, transformada com blocos menores, filtro deblocking no loop de predição e ccodificação entrópica melhorada. A norma H.264/AVC representa hoje o estado da arte em codificação de vídeo e está hoje a ser adoptada com um número crescente de organismos e empresas.
82 Bibliografia The MPEG-4 Book, Fernando Pereira, Touradj Ebrahimi, Prentice Hall, 2002 H.264 and MPEG-4 Video Compression, Iain Richardson, John Wiley & Sons, 2003
4 H Conceitos importantes
H.264 51 4 H.264 Foi desenvolvido pelos grupos MPEG (Moving Picture Expert Group) e VCEG (Video Coding Expert Group), através de um esforço conjunto denominado JVT (Joint Video Team), um novo padrão de
MPEG-4 & H.264. Dissertação, entendimento e comparativo entre e com o MPEG-2
MPEG-4 & H.264 Dissertação, entendimento e comparativo entre e com o MPEG-2 UFF Departamento de Engenharia de Telecomunicações 2005/1 Mestrado em Eng. de Telecomunicações Professora Debora Christina Muchaluat
Codificação de Videotelefonia segundo a Norma ITU-T H.261
INSTITUTO SUPERIOR TÉCNICO GUIA DO 2º TRABALHO DE LABORATÓRIO DE SISTEMAS DE COMUNICAÇÕES Codificação de Videotelefonia segundo a Norma ITU-T H.261 Ano Lectivo de 2007/2008 Questões sobre a 2ª. sessão
normas de compressão vídeo: H.264
normas de compressão vídeo: H.264 H.264 MPEG-4, H.264, AVC conceitos principais e áreas de aplicação semelhanças com outras normas e valor acrescentado Perfis e ferramentas extensões à norma 1 MPEG4 e
Televisão Digital. MPEG-2 Video
Televisão Digital MPEG-2 Video Pedro A. Amado Assunção - Pólo de Coimbra Instituto Politécnico de Leiria - ESTG 1 Sumário Introdução. Características principais da norma MPEG-2. Compressão de vídeo: princípios
Módulo 6 Compressão Vídeo Sistemas Multimédia
Módulo 6 Compressão Vídeo Sistemas Multimédia Universidade de Aveiro 1 Sumário O sinal vídeo O vídeo digital- CCITT 601 Os formatos de vídeo Compressão de vídeo Redução de informação Redundância temporal
9 CODIFICAÇÃO DE VÍDEO Sérgio Faria, Fernando Pereira 9.1 Introdução
ÍNDICE 1 INTRODUÇÃO FERNANDO PEREIRA 1.1 Introdução 1.2 Evolução dos Sistemas de Comunicação Audiovisual 1.2.1 Telefonia 1.2.1 Televisão 1.3 Acerca das normas 1.4 Objectivo deste livro 2 SOM, LUZ E COR
Fundamentos da Compressão de Vídeo
Sistemas de Telecomunicações 2007-2008 Televisão Digital Fundamentos da Compressão de Vídeo Rui Marcelino Abril 2008 Engenharia Electrica e Electrónica - TIT Sumário 1. Motivação para Compressão de Vídeo
Codificação de Vídeo em MPEG-4
Codificação de Vídeo em MPEG-4 Agenda O que é MPEG-4 Evolução da Norma Especificação Ferramentas e Algoritmos Empacotamento Scopus Aplicações Presentation for SSPI event 05-06-07 Entendendo a Sopa de Letrinhas
Compressão de áudio. Marcio Dahia e Geber Ramalho
Compressão de áudio Marcio Dahia e Geber Ramalho O que é compressão de dados? Processo de codificar uma mensagem a fim de reduzir o número de bits necessários para representá-la 2 tipos de compressão Sem
Compressão de Imagens: Padrão JPEG
Compressão de Imagens: Padrão JPEG PTC2547 Princípios de Televisão Digital Guido Stolfi 09/2017 EPUSP - Guido Stolfi 1 / 75 Temas Abordados Justificativas para Compressão de Imagens Codificador JPEG Transformada
Compressão de Imagens. Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE
Compressão de Imagens Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE Imagens digitais necessitam de grande quantidade de espaço para armazenamento e
HIKVISION Tecnologia de Codificação H.265+ Reduza sua Largura de Banda e Armazenagem pela Metade Desfrute da Ultra HD e da Fluência
HIKVISION Tecnologia de Codificação H.265+ Reduza sua Largura de Banda e Armazenagem pela Metade Desfrute da Ultra HD e da Fluência Índice 1. Background... 3 2. Key Technologies... 3 2.1. Prediction Encoding...
COMUNICAÇÃO DE ÁUDIO E VÍDEO. MEEC e MERC PROBLEMAS. (com soluções abreviadas) Fernando Pereira
COMUNICAÇÃO DE ÁUDIO E VÍDEO MEEC e MERC PROBLEMAS (com soluções abreviadas) Fernando Pereira INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Electrotécnica e de Computadores Fevereiro 2009 Problemas
Formatos de Áudio e Vídeo Digital Introdução ao Vídeo
Redes Multimídia 2016.2 Formatos de Áudio e Introdução ao Vídeo Curso Superior de Tecnologia em Sistemas para Internet Turma: TEC.SIS.4T Redes Multimídia Conteúdo Programático :: 1 a Unidade 1. Aplicações
Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto
Processamento de Imagem Prof. MSc. André Yoshimi Kusumoto [email protected] Definição Compressão de Imagem Formas de diminuir a área de armazenamento dos dados, reduzindo a quantidade de bits
COMUNICAÇÃO DE ÁUDIO E VÍDEO. MEEC e MERC PROBLEMAS. (com soluções abreviadas) Fernando Pereira
COMUNICAÇÃO DE ÁUDIO E VÍDEO MEEC e MERC PROBLEMAS (com soluções abreviadas) Fernando Pereira INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Electrotécnica e de Computadores Fevereiro 2011 Problemas
3 Estimação e Compensação de movimento na codificação de vídeo
Estimação e Compensação de movimento na codificação de vídeo 36 3 Estimação e Compensação de movimento na codificação de vídeo O objetivo do modelo temporal (que engloba as fases de estimação e compensação
Tópicos. Compressão de Vídeo
Tópicos Introdução Representação de Informação Multimídia Digitalização Mídias Texto, Imagem, Áudio e Vídeo Compressão, Padrões de Compressão (Texto, Imagem, Áudio e Vídeo) Comunicação Multimídia Protocolos
SISTEMAS MULTIMÉDIA TESTE FORMATIVO ADICIONAL 1
21110 SISTEMAS MULTIMÉDIA TESTE FORMATIVO ADICIONAL 1 2009 Teste Formativo GRELHA DE RESPOSTAS Questões Alternativas A B C D E 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 Leia atentamente as questões
Influência do Tamanho do Bloco na DCT
LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES TELEVISÃO DIGITAL 2005/06 Influência do Tamanho do Bloco na DCT Autores: Carlos Graf Nuno Lima Grupo 4 Novembro de 2005 ÍNDICE 1. INTRODUÇÃO...
COMPRESSÃO DE SINAIS DE ELETROMIOGRAFIA
Universidade de Brasília UnB Faculdade de Tecnologia FT Departamento de Engenharia Elétrica ENE COMPRESSÃO DE SINAIS DE ELETROMIOGRAFIA Marcus Vinícius Chaffim Costa 1, Alexandre Zaghetto 2, Pedro de Azevedo
Formatos de Áudio e Vídeo Digital Compactação de Vídeo
Redes Multimídia 2016.2 Formatos de Áudio e Vídeo Digital Compactação de Vídeo Curso Superior de Tecnologia em Sistemas para Internet Turma: TEC.SIS.4T Redes Multimídia Conteúdo Programático :: 1 a Unidade
FUNDAMENTOS DE SISTEMAS MULTIMÍDIA INTEGRAÇÃO DE OBJETOS MPEG-4
FUNDAMENTOS DE SISTEMAS MULTIMÍDIA INTEGRAÇÃO DE OBJETOS MPEG-4 UFF UNIVERSIDADE FEDERAL FLUMINENSE FERNANDO DE MATTOS MACIEL MATR.: 100.41.014-2 Fevereiro de 2004 APRESENTAÇÃO: Introdução; Objetivos do
QUANTIZAÇÃO DIRETA E INVERSA DE ALTA PERFORMANCE PARA A COMPRESSÃO DE VÍDEO H.264/AVC DIRECIONADA PARA HDTV
QUANTIZAÇÃO DIRETA E INVERSA DE ALTA PERFORMANCE PARA A COMPRESSÃO DE VÍDEO H.264/AVC DIRECIONADA PARA HDTV Marcelo Porto 1, Roger Porto 1, José Luís Güntzel 1, Ivan Silva 2, Sergio Bampi 3, Luciano Agostini
Planeamento e Projecto de Redes. Capítulo 2. Serviços em Telecomunicações
Planeamento e Projecto de Redes Capítulo 2 Serviços em Telecomunicações João Pires Planeamento e Projecto de Redes (09/10) 61 Serviços Objectivo das redes de Telecomunicações: fornecer serviços aos clientes
Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA. Utilizando JAVA. TCC - Monografia
Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA TCC - Monografia Wanderson Câmara dos Santos Orientador : Prof. Dr. Luiz Felipe de Queiroz Silveira 1 Departamento
Modelo Alternativo de Complexidade para a Norma MPEG-4 Visual
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Modelo Alternativo de Complexidade para a Norma MPEG-4 Visual João Manuel Malveiro Valentim (licenciado) Dissertação para obtenção do Grau de Mestre
Transformada de Discreta de Co senos DCT
Transformada de Discreta de Co senos DCT O primeiro passo, na maioria dos sistemas de compressão de imagens e vídeo, é identificar a presença de redundância espacial (semelhança entre um pixel e os pixels
Sistemas de Comunicações VIDEOCONFERÊNCIA VIDEOTELEFONIA E. Instituto Superior Técnico. Fernando Pereira
VIDEOTELEFONIA E VIDEOCONFERÊNCIA Fernando Pereira Instituto Superior Técnico Vídeo Digital Vídeo versus Imagem Serviços de Imagem Fixa - não têm à partida requisitos temporais rigorosos Serviços de Vídeo
VIDEOTELEFONIA E VIDEOCONFERÊNCIA
VIDEOTELEFONIA E VIDEOCONFERÊNCIA Fernando Pereira Instituto Superior Técnico Vídeo Digital Vídeo versus Imagem Serviços de Imagem Fixa - não têm à partida requisitos temporais rigorosos Serviços de Vídeo
T4.1 Processamento de Imagem
T4.1 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas 4.
Desenvolvimento da Arquitetura Integrada dos Codificadores de Entropia Adaptativos ao Contexto CAVLC e CABAC do padrão H.264/AVC
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL ESCOLA DE ENGENHARIA INSTITUTO DE FÍSICA INSTITUTO DE INFORMÁTICA INSTITUTO DE QUÍMICA PROGRAMA DE PÓS-GRADUAÇÃO EM MICROELETRÔNICA CRISTIANO CARAFINI THIELE Desenvolvimento
Capítulo III Processamento de Imagem
Capítulo III Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas
COMUNICAÇÃO DE ÁUDIO E VÍDEO. Fernando Pereira
COMUNICAÇÃO DE ÁUDIO E VÍDEO V Fernando Pereira Relação Professor-Alunos Página Web e Reflector de Mensagens http://www.img.lx.it.pt/~fp/cav/com.htm Para inscrição no reflector de mensagens da cadeira,
Video Analógico. Pedro Alípio Telemédia
Video Analógico Pedro Alípio Telemédia 1 Medias Dinâmicos Medias Dinâmicos Também designados por Temporais ou Contínuos As dependências temporais entre os elementos que constituem a informação fazem parte
Fundamentos Multimídia
1. Introdução Padrão MPEG-7 Fundamentos Multimídia Aumento da quantidade de informações AV digitais disponíveis Impulsionado pelo aumento da largura de banda e do processamento das máquinas e pela possibilidade
Princípios de Telecomunicações AULA 1. Elementos de um sistema de comunicações. Prof. Eng. Alexandre Dezem Bertozzi, Esp.
Princípios de Telecomunicações AULA 1 Elementos de um sistema de comunicações Prof. Eng. Alexandre Dezem Bertozzi, Esp. COMUNICAÇÃO TRANSMISSÃO DE INFORMAÇÃO DE UM PONTO A OUTRO, ATRAVÉS DE UMA SUCESSÃO
Rede Telefónica Pública Comutada - Principais elementos -
- Principais elementos - Equipamento terminal: o telefone na rede convencional Equipamento de transmissão: meio de transmissão, e.g. cabos de pares simétricos, cabo coaxial, fibra óptica, feixes hertzianos,
COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO
COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO Evelio M. G. Fernández - 2011 Introdução à Teoria de Informação Em 1948, Claude Shannon publicou o trabalho A A Mathematical Theory of Communications.
INTRODUÇÃO AO MULTIMÉDIA DIGITAL
Oficina de Multimédia B 2015-2016 Noção de Média Noção de Multimédia Noção de Multimédia Digital Tipos de produtos Multimédia O que significa MÉDIA? um meio - media - é o recurso técnico ou físico de conversão
Duração do Teste: 2h.
Telecomunicações e Redes de Computadores Licenciatura em Engenharia e Gestão Industrial Prof. João Pires 1º Teste, 2007/2008 30 de Abril de 2007 Nome: Número: Duração do Teste: 2h. A prova é composta por
5. Tipos de produtos multimédia Baseados em páginas
5. Tipos de produtos multimédia 5.1. Baseados em páginas 1 2 Baseados em páginas Os tipos de produtos multimédia baseados em páginas são desenvolvidos segundo uma estrutura organizacional do tipo espacial
Conceitos Básicos de Áudio Digital
Aula 07 Conceitos Básicos de Áudio Digital Diogo Pinheiro Fernandes Pedrosa Universidade Federal do Rio Grande do Norte Departamento de Ciências Exatas e Naturais Ciência da Computação Som Conceitos Iniciais
Universidade de Pernambuco Escola Politécnica de Pernambuco
Universidade de Pernambuco Escola Politécnica de Pernambuco TV Analógica e Digital O Padrão de Televisão Digital Nacional Prof. Márcio Lima E-mail:[email protected] 01.07.2014 Introdução No Brasil,
António Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
Arquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
