O Que é Keyframe de um DivX;-)?

Sim, "keyframe" no caso de filmes Mpeg é MAIS ou MENOS isto, é um frame que tem informações completas, não só sobe a imagem, mas também sobre o sincronismo com a trilha sonora. Para efeitos didáticos e práticos um "keyframe" é um quadro com informações completas. No exemplo acima apenas o primeiro quadro é um "keyframe". O "keyframe" serve de referência para todos os quadros contidos dali em diante até o próximo "keyframe". O padrão do Flask Mpeg é adicionar um "keyframe" a cada dez segundos, isto implica em dizer que, em um filme PAL-m, com 25 fps, os 249 quadros entre um keyframe e o seguinte seriam compostos apenas de fragmentos de imagem, combinando com o keyframe anterior e todos os demais blocos de imagem dos "frames" anteriores desde este "keyframe" forma-se a imagem de um determinado quadro situado entre dois "keyframes". O quadro imediatamente anterior a um "keyframe" acumula informações de todos os 249 quadros anteriores, incluindo o último "keyframe" (que a esta altura está a 249 quadros de distância) para formar sua imagem.
Entendido, mas qual o motivo de colocar um "keyframe" por segundo, a imagem fica melhor? A resposta é um retumbante NÃO, a imagem não fica melhor (até pelo contrário, como veremos adiante), as vantagens são outras. A principal vantagem é que o filme fica muito mais fluido para avançar e retroceder, de fato se a distância entre os "keyframes" for muito grande, o simples fato retroceder um único quadro pode levar mais de um minuto para o computador montar a imagem, pois ele precisará recolher todas as informações desde o último "keyframe" para formar o a imagem do quadro para o qual você retrocedeu.
Ué! Mas porque que o mesmo não ocorre quando estamos simplesmente assistindo a um filme DivX;-)? Cada "frame" não é montado utilizando-se todas as informações desde o último "keyframe"? Não, quer dizer, sim. Sim e não =). Acontece que quando estamos assistindo um filme o computador já tem montado o último quadro, então ele simplesmente adiciona as informações de blocos do próximo quadro à imagem já existente na memória para formar este novo quadro. As informações são acumuladas desde o último "keyframe" mas isto é feito quadro a quadro, para apresentar um quadro entre dois "keyframes" não são feitos todos os cálculos de modificações que ocorreram desde o último "keyframe", mas simplesmente adicionadas informações sobre o último quadro. Mas quando retrocedemos ou adiantamos o filme estas informações acumuladas são esquecidas, o computador procura então um "keyframe" anterior ao quadro que selecionamos ao adiantar ou retroceder e monta a imagem procurando todas as modificações que ocorreram desde este "keyframe", se houver um número muito grande de informações intermediárias este poderá vir a ser um processo demorado.
O melhor programa para para assistir um DivX;-) Mpeg-4, na minha opinião é o MicroDVD (http://aw-clan.gnw.de/mdvdp), seus controles são perfeitos e suas opções completas. Por algum motivo ele também é muito mais eficiente para avançar e retroceder filmes do que, por exemplo, o Windows Media Player, embora compartilhem os mesmos codecs.

 

1

2

3

4

 

 

 

É vedada a cópia total ou parcial deste artigo sem a expressa concordância do autor.