Conceitos de Vídeo: Blocos do padrão MPEG-2: Amostragem de vídeo analógico: Inicialmente o sinal analógico é amostrado e digitalizado de acordo com a configuração escolhida. Redundância Temporal: Este bloco é responsável pela eliminação de informações desnecessárias na composição de uma imagem. Redundância Espacial: Assim como o bloco de redundância temporal, tem a finalidade de descartar informações desnecessárias para a formação de imagem, diminuindo assim a taxa de bits para a transmissão de determinado quadro ou imagem. Quantização do Coeficiente DCT: Este bloco reduz consideravelmente a taxa de bits a ser transmitida, aproveitando-se das limitações visuais do ser humano. VLC e RLC: RLC (Run Lenght Code) que verifica repetição de caracteres numa determinada informação, agrupando-os e enviando-os em seqüência de acordo com seu posicionamento. VLC (Variable Lenght Code) ou código de Huffman, este bloco faz um tratamento em seqüências repetidas de caracteres. Buffer: A função do buffer é de controlar o fluxo de informação no MPEG-2, garantindo que a taxa de bits seja constante na saída do compressor. Redundância Temporal: Este bloco é responsável pela eliminação de informações desnecessárias na composição de uma imagem. Na redundância temporal, aproveita-se a semelhança que existe nos inúmeros quadros que formam uma imagem. Através de algoritmos especiais, consegue uma grande eficiência no que diz respeito a retirada de informação descartável, conseguindo assim diminuir a taxa de bits necessária para enviar determinada informação. A divisão da imagem em quadro I, P e B é realizada neste bloco. Redundância Espacial: Assim como o bloco de redundância temporal, tem a finalidade de descartar informações desnecessárias para a formação de imagem, diminuindo assim a taxa de bits para a transmissão de determinado quadro ou imagem. A redundância espacial aproveita a similaridade entre pixels adjacentes de uma imagem, onde através de algoritmos organiza-se de modo a transmitir imagens em movimento, percebendo quais pixels são estáticos, fazendo assim que os mesmos não precisem ser retransmitidos, ou seja, compara os quadros que formam uma imagem formando-os somente com informação variável, o restante não precisa ser retransmitido enquanto permanecer inalterado Streaming de vídeo: é uma forma de distribuir informação multimídia numa rede através de pacotes. Ela é frequentemente utilizada para distribuir conteúdo multimídia através da Internet. Em streaming, as informações da mídia não são usualmente arquivadas pelo usuário que está recebendo a stream (a não ser a arquivação temporária no cache do sistema ou que o usuário ativamente faça a gravação dos dados) - a mídia geralmente é constantemente reproduzida à medida que chega ao usuário se a sua banda for suficiente para reproduzir a mídia em tempo real (ver underflow). Isso permite que um usuário reproduza mídia protegida por direitos autorais na Internet sem a violação dos direitos, similar ao rádio ou televisão aberta. Ex.: Vídeo on demand, YouTube, Vídeos ao vivo, TV Online. Vídeo 3D: A forma mais comum de captura de vídeo 3D é através da captura das imagens em duas lentes ao mesmo tempo, estas lentes devem estar posicionadas aproximadamente na distância dos olhos humanos, com isso as imagens são gravadas de dois pontos de visão diferentes. Depois disso os quadros são sobrepostos, e o filme é montado. Para se visualizar estes filmes com o efeito 3D é necessário o uso de óculos que têm a função de direcionar cada parte da imagem para um de nossos olhos, e ao perceber as imagens os nosso cérebro consegue através de uma ilusão de ótica perceber profundidade no vídeo Principais formatos de vídeo digital: FLV, AVI, MOV,WMV, VOB,RMVB,MKV, MPEG. Principais Padrões de compressão (codecs) de vídeo digital: DivX, DiviX HD, XviD, MPEG-1, MPEG-2, OGM, H.264 Principais tamanhos de quadros de vídeo digital: 1024×768, 1280×800, 1280×1024, 1440×900, 800×600, 1680×1050, 1152×864, 1920×1200, 1280×768, 1280×960 Conceitos de Imagem: Principais padrões de compressão de imagem: GIF, TIFF, JPEG,PCX,BMP,TGA,PNG,MNG,JPEG Filtragem passa-altas: Filtragem que destaca as regiões de borda e os contornos de uma imagem. Usando as máscaras de Sobel pode-se encontrar os contornos horizontais e verticais e depois combiná-los Explique a filtragem passa-baixas: Filtragem que suaviza uma imagem sendo quanto maior a máscara de filtro mediano maior será o efeito de suavização Compressão com perdas e compressão sem perdas: Algoritmos sem perdas eliminam somente as informações redundantes, possibilitando, assim, a reconstrução total da imagem original após o processo de descompressão. Já os algoritmos de compressão com perdas eliminam, além das informações redundantes, as informações irrelevantes, possibilitando somente a reconstrução aproximada da imagem original após a descompressão. Transformada Discreta de Cossenos (DCT): É uma transformada que concentra a energia dos blocos 8x8 de uma imagem, permitindo a compressão de sinais 2D. Blocos básicos usados no padrão JPEG: 1º Passo: Divide-se a imagem em blocos 8x8. 2º Passo: Aplica-se a transformada discreta de cossenos (DCT) em cada bloco. 3º Passo: Aplica-se uma varredura em Zig Zag a fim de se capturar os coeficientes da DCT mais importantes 4º Passo: Arredonda-se os valores Defina e explique os blocos básicos usados no padrão JPEG? . Imagem com muitas e com poucas componentes de frequência: Imagens com muitos detalhes possuem muitas componentes de frequencia OBS: Imagens mais simples são comprimidas com maior eficiência Explique a forma em que as imagens coloridas podem ser representadas Uma imagem colorida é geralmente representada por uma matriz com 3 camadas, sendo R (Vermelho), G (Verde) e B (Azul). A cor de um pixel será determinada pela combinação dos valores de cada camada. Por exemplo, se para um determinado pixel R=255,G=255 e B=255 teremos a cor branca. Geralmente cada pixel, possui 24 bits, sendo 8 bits usados para cada camada Limiarização de imagens Limiarização é uma forma de se eliminar pixels com intensidades que estão dentro de uma faixa de valores. Por exemplo, se executarmos a seguinte linha no Matlab f(f<40)=255; todos os pixels com intensidade menor que 40 irão para branco. Além do Baseline, quais são os perfis do JEPG? Explique? Perfis/Tipos de JPEG Baseline / Sequencial Encoding Progressive Encoding (Internet) Lossless Hierarchical Encoding Matlab: MATLAB (MATrix LABoratory) é um software interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional. O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos problemas numéricos em apenas uma fração do tempo que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C. Além disso, as soluções dos problemas são expressas quase exatamente como elas são escritas matematicamente. Exemplos de comandos Matlab: f=imread % faz leitura e coloca na varivel f whos f % exibe propriedade da imagem imagesc (f) % mostra imagem na tela max (f(:)) % extrai valor maximo da imagem min (f(:)) % extrai valor minimo da imagem figure (1) % abre uma nova figura NCL: O que é NCL: Criada no Laboratório TeleMídia da PUC-Rio, a linguagem NCL Nested Context Language - é uma linguagem declarativa para autoria de documentos hipermídia baseados no modelo conceitual NCM - Nested Context Model. O modelo da linguagem NCL visa não apenas o suporte declarativo à interação do usuário, mas ao sincronismo espacial e temporal em sua forma mais geral, tratando a interação do usuário como um caso particular. NCL visa também o suporte declarativo a adaptações de conteúdo e de formas de apresentação de conteúdo; o suporte declarativo a múltiplos dispositivos de exibição, interligados através de redes residenciais (HAN – Home Area Networks) ou mesmo em área mais abrangente; e a edição/produção da aplicação em tempo de exibição, ou seja, ao vivo. Como esses são os focos da maioria das aplicações para TV digital, NCL se torna a opção preferencial no desenvolvimento da maioria de tais aplicações. Para os poucos casos particulares, como por exemplo, quando a geração dinâmica de conteúdo é necessária, NCL provê o suporte de sua linguagem de script Lua. Resumido (coloquei na última prova e estava correto): NCL é uma linguagem de programação geralmente utilizada para a criação de conteúdo multimídia: NLC é geralmente utilizado para exibição de conteúdo multimídia, como por exemplo, streaming de vídeos, imagens, e áudio, sistemas de EAD e TV digital Linguagem LUA: Lua é a linguagem de script de NCL. Lua é uma linguagem de programação imperativa eficiente, rápida e leve, projetada para estender aplicações. Lua combina uma sintaxe simples para programação imperativa com construções poderosa para descrição de dados baseadas em tabelas associativas e em semântica extensível. Lua é tipada dinamicamente, é interpretada e tem gerenciamento automático de memória, com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida (geração rápida de aplicações). Nó e Elo Resumido (coloquei na última prova e estava correto): Um nó pode ser qualquer componente de mídia, como por exemplo vídeo, áudio ou imagem. Um elo, se define por dois ou mais nós, e identifica como os nós interagem. Estrutura de um documento hipermídia (colei um print, porque precisa de senha pra dar control+c no manual que ele mandou) Explicando programas NCL: PS: O que está no corpo do programa é geralmente o que o programa faz, normalmente será executar um nó (vídeo ou música principalmente) na tela. Ele sempre pede para explicar cada linha e dizer o que o programa faz.