Vp8
-
Upload
rogeriohenrique -
Category
Technology
-
view
457 -
download
1
Transcript of Vp8
![Page 1: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/1.jpg)
VP8
Luiz Augusto dos Santos Carvalho 50448Nayara Consuelo Gomes Rangel 50457
![Page 2: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/2.jpg)
Problemas
● Nenhum codec de video opensource com poder suficiente para concorrer com H.264
● Nenhum codec padrão para videos na internet.● Utilizados atualmente:
– H.264: codec patenteado.– Theora: tecnologia ultrapassada.
![Page 3: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/3.jpg)
História
● VP8 é o codec de vídeo mais recente da On2 Technologies, desenvolvido para substituir seu precedente VP7. Foi anunciado em 13 de setembro de 2008.
● Google adquire On2 em 2010.● No dia 19 de Março de 2010, a Google durante
a conferência I/O, liberou o VP8 sob código aberto ( licença BSD ).
![Page 4: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/4.jpg)
História
● Implementação do codec VP8 mais rápido desenvolvido pelos desenvolvedores do x264 em julho de 2010 o ffvp8.
● Codec VP8 ainda não é padronizado, o código é o padrão.
● Situação de patente ainda obscuro.
![Page 5: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/5.jpg)
História
● MPEG LA ameaça processar Google por quebra de patentes.
● MPEG LA faz uma chamada para que outras empresas se juntem a ela para processar o Google em fevereiro de 2011.
● Até o momento não houve nenhum processo por parte da MPEG LA contra o Google.
![Page 6: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/6.jpg)
WebM Project
● http://www.webmproject.org/● Fundada pela Google em maio de 2010● Opensource, licença BSD.● Otimizado para internet.
– Baixa complexidade computacional– Container simples
![Page 7: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/7.jpg)
WebM
● Container é uma simplificação do container Matroska que contêm:
– VP8 video– Vorbis audio
● Extensão *.webm
![Page 8: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/8.jpg)
Web video
● O grande problema que surgiu entre Google e MPEG LA foi devido ao codec que será utilizado no HTML 5, que ainda não foi decidido.
![Page 9: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/9.jpg)
Aplicações
● Algumas aplicações importantes utilizando WebM:
– Youtube – Adicionar &webm=1 na url– Flash– Skype 5.0– Nvidia
![Page 10: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/10.jpg)
WebM
● Suporte de hardware:– AMD– ARM– Broadcom– MIPS– Nvidia– Texas Instruments
![Page 11: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/11.jpg)
WebP
● O algoritmo de compressão do WebP é baseado na codificação intraframe do VP8 com o container RIFF.
![Page 12: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/12.jpg)
WebP
![Page 13: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/13.jpg)
Como funciona o VP8
![Page 14: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/14.jpg)
Cores
![Page 15: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/15.jpg)
Diagrama
![Page 16: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/16.jpg)
Geração de blocos
![Page 17: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/17.jpg)
Geração de blocos
![Page 18: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/18.jpg)
Intra frame prediction
![Page 19: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/19.jpg)
Intra frame prediction
● Explora coerência espacial entre os frames.● Utiliza blocos já codificados dentro do frame
atual.● Aplica aos macroblocos do frame interno e
também dos macroblocos de um frame chave.● Componentes 16x16 luma e 8x8 chroma são
previstos de forma independente.
![Page 20: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/20.jpg)
Modos de predição chroma
● Horizontal
● Vertical
![Page 21: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/21.jpg)
Modos de predição chroma
● DC
![Page 22: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/22.jpg)
Modos de predição chroma
● TrueMotion
![Page 23: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/23.jpg)
Modos de predição luma
● Praticamente os mesmos dos do chroma com 16x16
● Mais o modo B que divide o bloco em subblocos 4x4 que são previstos separadamente e cada um deles possui 10 modos de previsão.
![Page 24: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/24.jpg)
Estimativa de movimento
![Page 25: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/25.jpg)
Estimativa de movimento
● Vetores de movimento para blocos 16x16, 16x8, 8x16, 8x8 e 4x4.
● Vetores de movimento vizinhos podem ser referenciados.
![Page 26: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/26.jpg)
Compensação de movimento
![Page 27: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/27.jpg)
Compensação de movimento
● Aplica vetores de movimento nos frames anteriores.
● Gera um frame previsto.● Somente a diferença é transmitida.
![Page 28: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/28.jpg)
Inter frame prediction
![Page 29: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/29.jpg)
Inter frame prediction
● Explora as coerências entre os frames vizinhos.
● Tipos:– Frames chave– Frames previstos– BFrames
![Page 30: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/30.jpg)
Inter frame prediction
● Explora as coerências entre os frames vizinhos.
● Tipos:– Frames chave– Frames previstos– BFrames
![Page 31: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/31.jpg)
Tipos de frames previstos
● Frame anterior– Ultimo frame decodifidado
● Alternate Reference Frame– Frame buffer decodifidado– Usado para redução de ruido
● Golden Reference Frame– Buffer de imagem totalmente decodifidado– Usado para recuperação de erros
![Page 32: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/32.jpg)
Recuperação de erro
![Page 33: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/33.jpg)
Transformação
![Page 34: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/34.jpg)
Transformação
● DCT● WalshHadamard, funciona como uma simples
multiplicação de matrizes.
● Divisão dos macroblocos em subblocos.
![Page 35: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/35.jpg)
Quantização
![Page 36: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/36.jpg)
Quantização
● Quantização dos coeficientes de transformação:
– Menos dados por coeficiente– Mais zeros
● Quantização adaptativa, de até 4 segmentos:
![Page 37: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/37.jpg)
Adaptive Loop Filtering
![Page 38: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/38.jpg)
Adaptive Loop Filtering
![Page 39: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/39.jpg)
Adaptive Loop Filtering
![Page 40: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/40.jpg)
Entropy Encoding
![Page 41: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/41.jpg)
Entropy Encoding
● Frames são divididos em 3 partições.● Codificados em 2 passos:
– Huffman tree– Aritmética binária
![Page 42: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/42.jpg)
H.264 x VP8
● http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html
● http://www.quavlive.com/video_codec_comparison
![Page 43: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/43.jpg)
H.264 x VP8
![Page 44: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/44.jpg)
H.264 x VP8
![Page 45: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/45.jpg)
Conclusão
● VP8 é bom o suficiente para concorrer com o H.264, com a vantagem de ser opensource.
● Ainda é muito cedo para saber qual o futuro do VP8, muitos testes foram realizados em 2010 revelam que a qualidade do VP8 não é muito inferior ao H.264
● Possivel problema de patentes.● Nenhuma especificação ainda foi feita, o código
é usado como especificação.
![Page 46: Vp8](https://reader034.fdocumentos.com/reader034/viewer/2022052411/5562fb37d8b42a275f8b4a69/html5/thumbnails/46.jpg)
Referências
● http://x264dev.multimedia.cx
● http://multimedia.cx/eggs
● http://www.slideshare.net/DSPIP/googlevp8
● http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html
● http://tools.ietf.org/html/draftbankoskivp8bitstream01
● http://www.webmproject.org/