SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
VP8




    Luiz Augusto dos Santos Carvalho 50448
    Nayara Consuelo Gomes Rangel    50457




                       
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.



                                   
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 ).
                                 
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.



                              
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.

                               
WebM Project

    ●   http://www.webmproject.org/
    ●   Fundada pela Google em maio de 2010
    ●   Open­source, licença BSD.
    ●   Otimizado para internet.
           –   Baixa complexidade computacional
           –   Container simples


                                    
WebM

    ●   Container  é  uma  simplificação  do  container 
        Matroska que contêm:
           –   VP8 video
           –   Vorbis audio
    ●   Extensão *.webm




                                
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.




                                
Aplicações

    ●   Algumas aplicações importantes utilizando 
        WebM:
           –   Youtube – Adicionar &webm=1 na url
           –   Flash
           –   Skype 5.0
           –   Nvidia



                                 
WebM

    ●   Suporte de hardware:
           –   AMD
           –   ARM
           –   Broadcom
           –   MIPS
           –   Nvidia
           –   Texas Instruments

                                    
WebP

    ●   O algoritmo de compressão do WebP é 
        baseado na codificação intra­frame do VP8 
        com o container RIFF.




                              
WebP




      
Como funciona o VP8




              
Cores




       
Diagrama




        
Geração de blocos




             
Geração de blocos




             
Intra frame prediction




               
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.

                                 
Modos de predição chroma

    ●   Horizontal




    ●   Vertical



                      
Modos de predição chroma

    ●   DC




                     
Modos de predição chroma

    ●   TrueMotion




                      
Modos de predição luma

    ●   Praticamente os mesmos dos do chroma com 
        16x16
    ●   Mais o modo B que divide o bloco em sub­
        blocos 4x4 que são previstos separadamente e 
        cada um deles possui 10 modos de previsão.




                              
Estimativa de movimento




                
Estimativa de movimento

    ●   Vetores de movimento para blocos 16x16, 
        16x8, 8x16, 8x8 e 4x4.
    ●   Vetores de movimento vizinhos podem ser 
        referenciados.




                              
Compensação de movimento




                
Compensação de movimento

    ●   Aplica vetores de movimento nos frames 
        anteriores.
    ●   Gera um frame previsto.
    ●   Somente a diferença é transmitida.




                               
Inter frame prediction




               
Inter frame prediction

    ●   Explora as coerências entre os frames vizinhos.


    ●   Tipos:
           –   Frames chave
           –   Frames previstos
           –   B­Frames



                                   
Inter frame prediction

    ●   Explora as coerências entre os frames vizinhos.


    ●   Tipos:
           –   Frames chave
           –   Frames previstos
           –   B­Frames



                                   
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
                                  
Recuperação de erro




              
Transformação




           
Transformação

    ●   DCT
    ●   Walsh­Hadamard, funciona como uma simples 
        multiplicação de matrizes.


    ●   Divisão dos macroblocos em sub­blocos.




                              
Quantização




          
Quantização

    ●   Quantização dos coeficientes de 
        transformação:
           –   Menos dados por coeficiente
           –   Mais zeros
    ●   Quantização adaptativa, de até 4 segmentos:




                                  
Adaptive Loop Filtering




                
Adaptive Loop Filtering




                
Adaptive Loop Filtering




                
Entropy Encoding




            
Entropy Encoding

    ●   Frames são divididos em 3 partições.
    ●   Codificados em 2 passos:
           –   Huffman tree
           –   Aritmética binária




                                     
H.264 x VP8

    ●   http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html
    ●   http://www.quavlive.com/video_codec_comparison




                                   
H.264 x VP8




          
H.264 x VP8




          
Conclusão

    ●   VP8 é bom o suficiente para concorrer com o 
        H.264, com a vantagem de ser open­source.
    ●   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.
                              
Referências

    ●   http://x264dev.multimedia.cx
    ●   http://multimedia.cx/eggs
    ●   http://www.slideshare.net/DSPIP/google­vp8
    ●   http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html
    ●   http://tools.ietf.org/html/draft­bankoski­vp8­bitstream­01
    ●   http://www.webmproject.org/




                                      

Mais conteúdo relacionado

Semelhante a Vp8

Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannTchelinux
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento redeAndré Déo
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Marcos Basilio
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansãoMarcos Basilio
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceLeandro Magnabosco
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Planejamento de Capacidade com ferramentas gratuitas
Planejamento de Capacidade com ferramentas gratuitasPlanejamento de Capacidade com ferramentas gratuitas
Planejamento de Capacidade com ferramentas gratuitasRodrigo Campos
 
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...Joao Galdino Mello de Souza
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazTchelinux
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreSe você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreMarcio Martins
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Apresentacao Relatorio
Apresentacao RelatorioApresentacao Relatorio
Apresentacao RelatorioAécio Pires
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
Multimídia - Imagens
Multimídia - ImagensMultimídia - Imagens
Multimídia - ImagensJean Pimentel
 

Semelhante a Vp8 (20)

Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansão
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Planejamento de Capacidade com ferramentas gratuitas
Planejamento de Capacidade com ferramentas gratuitasPlanejamento de Capacidade com ferramentas gratuitas
Planejamento de Capacidade com ferramentas gratuitas
 
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...
Planejamento de Capacidade com ferramentas Gratuítas, por Rodrigo Albani de C...
 
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes VazNovidades no OpenBSD 4.3 - Leonardo Menezes Vaz
Novidades no OpenBSD 4.3 - Leonardo Menezes Vaz
 
Arm Cortex
Arm CortexArm Cortex
Arm Cortex
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreSe você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
 
Wordpress
WordpressWordpress
Wordpress
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Apresentacao Relatorio
Apresentacao RelatorioApresentacao Relatorio
Apresentacao Relatorio
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
Multimídia - Imagens
Multimídia - ImagensMultimídia - Imagens
Multimídia - Imagens
 

Mais de rogeriohenrique (8)

Google voice
Google voiceGoogle voice
Google voice
 
Google shopper
Google shopperGoogle shopper
Google shopper
 
Google earth
Google earthGoogle earth
Google earth
 
Estereoscopia
EstereoscopiaEstereoscopia
Estereoscopia
 
Midias opticas
Midias opticasMidias opticas
Midias opticas
 
Skype
SkypeSkype
Skype
 
Kinect
KinectKinect
Kinect
 
Media lab
Media labMedia lab
Media lab
 

Vp8

  • 1. VP8 Luiz Augusto dos Santos Carvalho 50448 Nayara Consuelo Gomes Rangel    50457    
  • 2. 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.    
  • 3. 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 ).    
  • 4. 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.    
  • 5. 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.    
  • 6. WebM Project ● http://www.webmproject.org/ ● Fundada pela Google em maio de 2010 ● Open­source, licença BSD. ● Otimizado para internet. – Baixa complexidade computacional – Container simples    
  • 7. WebM ● Container  é  uma  simplificação  do  container  Matroska que contêm: – VP8 video – Vorbis audio ● Extensão *.webm    
  • 8. 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.    
  • 9. Aplicações ● Algumas aplicações importantes utilizando  WebM: – Youtube – Adicionar &webm=1 na url – Flash – Skype 5.0 – Nvidia    
  • 10. WebM ● Suporte de hardware: – AMD – ARM – Broadcom – MIPS – Nvidia – Texas Instruments    
  • 11. WebP ● O algoritmo de compressão do WebP é  baseado na codificação intra­frame do VP8  com o container RIFF.    
  • 12. WebP    
  • 14. Cores    
  • 19. 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.    
  • 20. Modos de predição chroma ● Horizontal ● Vertical    
  • 22. Modos de predição chroma ● TrueMotion    
  • 23. Modos de predição luma ● Praticamente os mesmos dos do chroma com  16x16 ● Mais o modo B que divide o bloco em sub­ blocos 4x4 que são previstos separadamente e  cada um deles possui 10 modos de previsão.    
  • 25. Estimativa de movimento ● Vetores de movimento para blocos 16x16,  16x8, 8x16, 8x8 e 4x4. ● Vetores de movimento vizinhos podem ser  referenciados.    
  • 27. Compensação de movimento ● Aplica vetores de movimento nos frames  anteriores. ● Gera um frame previsto. ● Somente a diferença é transmitida.    
  • 29. Inter frame prediction ● Explora as coerências entre os frames vizinhos. ● Tipos: – Frames chave – Frames previstos – B­Frames    
  • 30. Inter frame prediction ● Explora as coerências entre os frames vizinhos. ● Tipos: – Frames chave – Frames previstos – B­Frames    
  • 31. 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    
  • 34. Transformação ● DCT ● Walsh­Hadamard, funciona como uma simples  multiplicação de matrizes. ● Divisão dos macroblocos em sub­blocos.    
  • 36. Quantização ● Quantização dos coeficientes de  transformação: – Menos dados por coeficiente – Mais zeros ● Quantização adaptativa, de até 4 segmentos:    
  • 41. Entropy Encoding ● Frames são divididos em 3 partições. ● Codificados em 2 passos: – Huffman tree – Aritmética binária    
  • 42. H.264 x VP8 ● http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html ● http://www.quavlive.com/video_codec_comparison    
  • 45. Conclusão ● VP8 é bom o suficiente para concorrer com o  H.264, com a vantagem de ser open­source. ● 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.  
  • 46. Referências ● http://x264dev.multimedia.cx ● http://multimedia.cx/eggs ● http://www.slideshare.net/DSPIP/google­vp8 ● http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.html ● http://tools.ietf.org/html/draft­bankoski­vp8­bitstream­01 ● http://www.webmproject.org/