A 69ª versão do Chrome foi uma grande atualização , pois mostrou uma nova interface para versões para computadores e dispositivos móveis. O Chrome 70 não é tão radical, mas seus novos recursos são muito importantes. Fizemos uma tradução adaptada e adicionamos material sobre o mais importante, em nossa opinião, importante na nova versão - suporte ao codec AV1, que define um novo padrão para o desempenho. Até o momento, o codec será usado apenas ao reproduzir vídeo, mas esperamos que ele chegue ao WebRTC - isso nos dará a oportunidade de usar a codificação avançada em videochamadas e conferências (por exemplo, usando
nosso Web SDK ).
Suporte AV1
Quase 10 anos atrás, o Google lançou seu próprio codec concorrente para o H.264 - era o
VP8 . Embora os concorrentes tecnológicos não fossem muito diferentes, o VP8 era gratuito e o H.264 exigia uma licença. O Android suportou o VP8 imediatamente, começando com 2.3 Gingerbread. Além disso, todos os principais navegadores (com exceção do Safari) podem reproduzir vídeo VP8.
O Google agora faz parte da Alliance for Open Media, um grupo de empresas que está desenvolvendo um sucessor do VP8 / VP9 chamado AV1.
O Facebook já testou o codec em milhares de vídeos populares e descobriu que ele aumenta a compactação em mais de 30% em comparação ao VP9, ou seja, em 50,3%, 46,2% e 34% (comparado ao perfil principal x264, perfil x264 e libvpx-vp9, respectivamente).
A partir do Chrome 70, o codec AV1 suporta o padrão para desktop e Android. E embora o codec leve tempo para se tornar amplamente utilizado, esse ainda é um passo importante, porque nenhum outro navegador suporta o AV1 ainda.
AV1 em detalhes
Explicação: Esta seção é trechos do artigo da
próxima geração de vídeos: Introdução ao AV1 .
Croma de luma
O croma da previsão de Luma (daqui em diante - CfL) é um dos novos métodos de previsão usados no AV1. CfL prediz cores em uma imagem (croma) com base em um valor de luma. Primeiro, os valores de luminância são codificados / decodificados, depois o CfL tenta prever as cores. Se a tentativa for bem-sucedida, a quantidade de informações sobre cores que precisa ser codificada é reduzida; portanto, o espaço é salvo.
Vale a pena notar que o CfL apareceu pela primeira vez não no AV1. O documento fundador da CfL remonta a 2009; ao mesmo tempo, LG e Samsung propuseram uma implementação antecipada do CfL sob o nome
LM Mode , mas tudo isso foi reduzido durante o desenvolvimento do HEVC / H.265. O codec Thor da Cisco usa uma técnica semelhante e o HEVC implementou uma versão aprimorada chamada Cross-Channel Prediction (CCP).
Previsão intra melhorada
Até recentemente, a compactação de vídeo era baseada na
previsão entre quadros , ou seja, na diferença do quadro dos outros, quando a previsão é baseada em
quadros de referência . Apesar de essa técnica ter se desenvolvido rapidamente, ainda requer quadros de referência que não dependem de outros quadros. Como resultado, os quadros de referência usam apenas previsão intra-quadro.
Os primeiros 60 quadros do vídeo de teste. O histograma começa com um quadro de referência ~ 20 vezes maior que o restante.Os quadros de referência são muito maiores que os intermediários - portanto, eles tentam usá-los o menos possível. Mas se houver muitos quadros de referência, isso aumentará a taxa de bits do vídeo. Para lidar com isso e reduzir o tamanho dos quadros de referência, os pesquisadores de codec se concentraram em melhorar a previsão intra-quadro (que também pode ser aplicada a quadros intermediários).
Resumindo, pode-se argumentar que CfL é precisamente a técnica avançada de previsão intra-frame, porque Funciona com base no brilho
dentro do quadro .
Giz de cera colorido
O CfL é a cor de uma imagem monocromática com base em uma previsão razoável e precisa. A previsão é facilitada pelo fato de a imagem bater em pequenos blocos nos quais a codificação ocorre independentemente.
Bloqueio para maximizar a precisão da codificação.Como o codificador não funciona com toda a imagem, mas com seus fragmentos, basta revelar correlações em pequenas áreas - é suficiente para prever cores para um brilho abençoado. Pegue um pequeno bloco de imagem:
Com base nesse fragmento, o codificador estabelecerá que brilhante = verde e, quanto mais escuro, menor a saturação. E assim com o resto dos blocos.
CFL para AV1
O CfL não começou a usar o algoritmo
PVQ , portanto, os custos para os domínios de pixel e frequência são aproximadamente os mesmos. Além disso, o AV1 usa transformação discreta de seno e transformação de identidade de domínio de pixel, portanto, não é muito fácil executar o AV1 CfL no domínio de frequência. Mas - uma surpresa - o AV1 não precisa de CfL no domínio da frequência, porque As equações básicas de CfL funcionam igualmente em ambas as áreas.
O CFL no AV1 foi projetado para simplificar o máximo possível a reconstrução. Para fazer isso, você deve codificar explicitamente α e calcular β com base, embora ... Você não pode calcular β, mas use a mudança de cor DC já prevista pelo codificador (será menos preciso, mas ainda adequado):
Comparação da previsão de CD padrão (cálculo com base nos pixels vizinhos) com o valor β calculado (cálculo com base nos pixels no bloco atual).Assim, a complexidade da aproximação no lado do codificador é otimizada ao máximo através do uso de previsão. Se a previsão não for suficiente, as transformações restantes serão executadas; se a previsão não fornecer benefícios em bits, ela não será usada.
Alguns testes
A Open Media Alliance usa uma
série de testes , que também estão disponíveis no site Já
estamos compactados?Abaixo está uma tabela com uma taxa de bits no contexto de diferentes indicadores. Preste atenção ao CIE delta-E 2000, esta é uma métrica de erro de cor perceptualmente uniforme. É notável como a taxa de bits é salva? Até 8%!
| Bd-rate |
| PSNR | PSNR-HVS | SSIM | CIEDE2000 | PSNR Cb | PSNR Cr | MS SSIM |
Média | -0,43 | -0,42 | -0,38 | -2,41 | -5,85 | -5,51 | -0,40 |
1080p | -0,32 | -0,37 | -0,28 | -2,52 | -6,80 | -5,31 | -0,31 |
Tela de 1080p | -1,82 | -1,72 | -1,71 | -8,22 | -17,76 | -12,00 | -1,75 |
720p | -0,12 | -0,11 | -0,07 | -0,52 | -1,08 | -1,23 | -0,12 |
360p | -0,15 | -0,05 | -0,10 | -0,80 | -2,17 | -6,45 | -0,04 |
... e outros novos itens no Chrome 70
PWA no Windows
Embora o suporte a aplicativos progressivos da Web seja implementado principalmente em
plataformas móveis , o Google não esquece o desktop. No Chrome 67 da área de trabalho, o botão de instalação do PWA apareceu e o Chrome 70 já trouxe várias melhorias para os usuários do Windows.
Agora, o Chrome mostra o pop-up "Instalar aplicativo?" para PWA (depois de interagir com eles por um tempo). Se você instalar o PWA, o navegador criará um atalho para o PWA no menu Iniciar. Semelhante à experiência móvel, a interface do navegador ficará oculta no PWA aberto.
O Google promete implementar essa funcionalidade para Mac e Linux na versão 72.
API de detecção de forma
Os aplicativos da Web podem ler códigos de barras e reconhecer rostos de maneiras diferentes, geralmente usando bibliotecas JS de aprendizado de máquina, mas isso pode funcionar muito lentamente. Para tornar esse recurso mais acessível e produtivo, o Google está apresentando sua própria funcionalidade na detecção de formas do Chrome.
A API de detecção de forma no Chrome 70 é um teste de origem, ou seja, ainda não está pronto para uso generalizado. A API pode definir 3 tipos de objetos / imagens - faces, códigos de barras e texto. No momento, a compatibilidade varia entre plataformas, porque o sistema operacional requer funcionalidade para definir objetos. Você pode tentar a demonstração
aqui .
TLS 1.3
O Transport Layer Security é um protocolo que permite transferir dados com segurança pela Internet. Quando você usa o site em HTTPS, provavelmente os dados são enviados via TLS. O Chrome 70 suporta o TLS 1.3, lançado no mês passado.
A lista de alterações está disponível
aqui , mas, em geral, a versão 1.3 melhora a eficiência e a segurança (por exemplo, BREACH e CRIME "venceram", graças à qual você pode novamente usar com segurança a compactação no https -
comentário do tradutor , graças à
menstenebris ). Menos etapas são necessárias para estabelecer uma conexão, para que você possa notar uma ligeira melhora no tempo (se o site visitado for compatível com TLS 1.3, é claro). Aqui está uma comparação clara das diferenças
do CloudFlare :
Com o lançamento do TLS 1.3, o suporte para recursos antigos, como SHA1 e MD5, também cessa. O Google anunciou isso na
página de status :
O TLS 1.3 foi um projeto plurianual que reuniu apoiadores de várias indústrias, grupos de pesquisa e outros participantes enquanto trabalhava no padrão. Anteriormente, experimentamos versões de rascunho do padrão, mas quando o padrão foi totalmente implementado, podemos finalmente implementá-lo no Chrome.
O Firefox 60 adicionou suporte ao TLS 1.3 (rascunho 23), lançado em maio deste ano; então o CloudFlare começou a usá-lo.
Outros recursos
Como sempre, o Chrome 70 inclui inovações para usuários e desenvolvedores. Aqui está uma lista de outras alterações nesta atualização:
- A API de síntese de fala não funcionará até que a página tenha interagido pelo menos uma vez com essa API. Essa API é frequentemente usada para pop-ups de spam em dispositivos móveis até a nova política de reprodução automática no Chrome 66;
- O Touch ID no Macbook Pro pode ser usado como um método de login na API de autenticação da Web;
- se a página estiver no modo de tela cheia, a aparência do pop-up trará a página para fora da tela cheia;
- O AppCache não funciona mais em páginas NÃO https;
- em dispositivos Android, o número de compilação do OC (por exemplo, "NJH47F") não é mais incluído no agente do usuário para impedir a identificação do navegador. O Chrome no iOS deixará o número de compilação “15E148” em vez de removê-lo completamente para acompanhar a implementação no Safari;
- o opus audio agora é suportado para contêineres MP4, Ogg e WebM;
- O WebUSB agora usa o contexto de um trabalhador individual, o que deve aumentar a produtividade;
- O Bluetooth da Web agora funciona no Windows 10;
- nova caixa de diálogo de sincronização da área de trabalho;
- os funcionários do serviço podem receber nomes;
- A API de gerenciamento de credenciais agora suporta PublicKeyCredential ;
- implementações iniciais de elementos personalizados, importações de HTML, navigator.getGamepads e a API Shadow DOM agora estão com status obsoleto;
- O Lazy Loading agora pode ser ativado usando os sinalizadores # enable-lazy-frame-loading e # enable-lazy-image-loading .