Chrome 70 mendukung [daftar fitur] dan AV1 - mengapa dukungan codec begitu penting?

Versi 69 dari Chrome adalah pembaruan besar , seperti menunjukkan antarmuka baru untuk versi desktop dan seluler. Chrome 70 tidak begitu radikal, tetapi fitur-fitur barunya sangat penting. Kami membuat terjemahan yang disesuaikan dan menambahkan materi tentang yang paling penting, menurut pendapat kami, penting dalam versi baru - dukungan untuk AV1 codec, yang menetapkan bar baru untuk kinerja. Sejauh ini, codec hanya akan digunakan ketika memutar video, tetapi kami berharap bahwa itu akan sampai ke WebRTC - ini akan memberi kita kesempatan untuk menggunakan pengkodean lanjutan dalam panggilan video dan konferensi (misalnya, menggunakan SDK Web kami ).



Mendukung AV1


Hampir 10 tahun yang lalu, Google meluncurkan codec kompetitornya sendiri untuk H.264 - VP8 . Sementara pesaing teknologi tidak jauh berbeda, VP8 gratis, dan H.264 memerlukan lisensi. Android mendukung VP8 di luar kotak, dimulai dengan 2.3 Gingerbread. Juga, semua browser utama (dengan pengecualian Safari) dapat memutar video VP8.

Google sekarang menjadi bagian dari Alliance for Open Media, sekelompok perusahaan yang sedang mengembangkan penerus VP8 / VP9 yang disebut AV1. Facebook telah menguji codec pada ribuan video populer dan menemukan bahwa itu memberikan peningkatan kompresi lebih dari 30% dibandingkan dengan VP9, ​​yaitu sebesar 50,3%, 46,2% dan 34% (dibandingkan dengan profil x264 utama, tinggi profil x264 dan libvpx-vp9, masing-masing).

Dimulai dengan Chrome 70, AV1 codec mendukung default untuk desktop dan Android. Dan meskipun codec akan membutuhkan waktu untuk digunakan secara luas, ini masih merupakan langkah penting, karena belum ada browser lain yang mendukung AV1.

AV1 secara detail


Penjelasan: Bagian ini adalah kutipan dari artikel video generasi berikutnya: Memperkenalkan AV1 .

Chroma dari luma


Chroma dari prediksi Luma (selanjutnya - CfL) adalah salah satu metode peramalan baru yang digunakan dalam AV1. CfL memprediksi warna dalam suatu gambar (chroma) berdasarkan nilai luma. Pertama, nilai luminance dikodekan / didekodekan, kemudian CfL mencoba untuk memprediksi warna. Jika upaya ini berhasil, maka jumlah informasi warna yang perlu disandikan berkurang; oleh karena itu, ruang disimpan.

Perlu dicatat bahwa CfL pertama kali muncul tidak dalam AV1. Dokumen pendirian CfL berasal dari tahun 2009; pada saat yang sama, LG dan Samsung mengusulkan implementasi awal CfL dengan nama LM Mode , tetapi semua ini terhambat selama pengembangan HEVC / H.265. Codec Thor Cisco menggunakan teknik serupa, dan HEVC telah mengimplementasikan versi yang disempurnakan yang disebut Cross-Channel Prediction (CCP).

Prediksi intra ditingkatkan


Sampai saat ini, kompresi video didasarkan pada prediksi antar-bingkai , mis. pada perbedaan frame dari yang lain, ketika prediksi didasarkan pada frame referensi . Terlepas dari kenyataan bahwa teknik ini telah berkembang pesat, masih membutuhkan frame referensi yang tidak bergantung pada frame lain. Akibatnya, frame referensi hanya menggunakan prediksi intra-frame.

60 frame pertama dari video uji. Histogram dimulai dengan kerangka referensi ~ 20 kali lebih besar dari yang lain.

Kerangka referensi jauh lebih besar daripada yang menengah - karena itu mereka mencoba menggunakannya sesedikit mungkin. Tetapi jika ada banyak bingkai referensi, ini meningkatkan bitrate video. Untuk mengatasi hal ini dan mengurangi ukuran frame referensi, peneliti codec fokus pada peningkatan prakiraan intra-frame (yang juga dapat diterapkan untuk frame menengah).

Ringkasnya, dapat dikatakan bahwa CfL justru merupakan teknik canggih peramalan intra-frame, karena Ini bekerja berdasarkan kecerahan dalam bingkai .

Krayon berwarna


CfL pada intinya adalah pewarnaan gambar monokrom berdasarkan prediksi yang masuk akal dan akurat. Prediksi difasilitasi oleh fakta bahwa gambar berdetak menjadi blok-blok kecil tempat pengkodean terjadi secara independen.

Memblokir untuk memaksimalkan akurasi pengkodean.

Karena pembuat enkode tidak bekerja dengan seluruh gambar, tetapi dengan fragmennya, itu cukup untuk mengungkapkan korelasi di area kecil - ini cukup untuk memprediksi warna untuk kecerahan yang diberkati. Ambil blok gambar kecil:


Berdasarkan fragmen ini, pembuat enkode akan menetapkan bahwa terang = hijau, dan semakin gelap, semakin sedikit saturasi. Begitu juga dengan sisa balok.

CFL ke AV1


CfL tidak mulai menggunakan algoritma PVQ , sehingga biaya untuk domain piksel dan frekuensi kira-kira sama. Selain itu, AV1 menggunakan transformasi sinus diskrit dan transformasi identitas domain piksel, sehingga tidak mudah untuk melakukan AV1 CfL dalam domain frekuensi. Tapi - kejutan - AV1 tidak perlu CfL di domain frekuensi, karena Persamaan CfL dasar bekerja sama di kedua bidang.

CFL dalam AV1 dirancang untuk menyederhanakan rekonstruksi sebanyak mungkin. Untuk melakukan ini, Anda harus secara eksplisit menyandikan α dan menghitung β pada dasarnya, meskipun ... Anda tidak dapat menghitung β, tetapi alih-alih gunakan shift DC-color yang sudah diprediksi oleh encoder (itu akan kurang akurat, tetapi masih cocok):

Perbandingan perkiraan DC default (perhitungan berdasarkan piksel tetangga) dengan nilai β yang dihitung (perhitungan berdasarkan piksel di blok saat ini).

Dengan demikian, kompleksitas perkiraan pada sisi encoder secara optimal dioptimalkan melalui penggunaan prediksi. Jika perkiraan tidak cukup, maka transformasi yang tersisa dilakukan; jika prediksi tidak memberikan manfaat dalam bit, maka prediksi tersebut tidak digunakan sama sekali.

Beberapa tes


Open Media Alliance menggunakan serangkaian tes , yang juga tersedia di Are We Compressed Yet?

Di bawah ini adalah tabel dengan bit rate dalam konteks berbagai indikator. Perhatikan CIE delta-E 2000, ini adalah metrik kesalahan warna yang seragam secara seragam. Terlihat bagaimana bitrate disimpan? Hingga 8%!
Bd-rate
PSNRPSNR-HVSSSIMCIEDE2000PSNR CbPSNR CrMS SSIM
Rata-rata-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
Layar 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

... dan item baru lainnya di Chrome 70


PWA di Windows


Meskipun dukungan untuk Aplikasi Web Progresif terutama diterapkan pada platform seluler , Google tidak melupakan desktop. Di desktop Chrome 67, tombol instalasi PWA muncul, dan sudah Chrome 70 membawa beberapa perbaikan untuk pengguna Windows.


Sekarang Chrome menampilkan pop-up "Instal aplikasi?" untuk PWA (setelah Anda berinteraksi dengan mereka untuk sementara waktu). Jika Anda menginstal PWA, browser akan membuat pintasan untuk PWA di menu Mulai. Mirip dengan pengalaman seluler, antarmuka browser akan disembunyikan di PWA terbuka.

Google berjanji untuk meluncurkan fungsionalitas ini untuk Mac dan Linux dalam versi 72.

API Deteksi Bentuk


Aplikasi web dapat membaca barcode dan mengenali wajah dengan cara yang berbeda, biasanya menggunakan pustaka pembelajaran mesin JS, tetapi ini bisa bekerja sangat lambat. Untuk membuat fitur ini lebih mudah diakses dan produktif, Google memperkenalkan fungsionalitasnya sendiri dalam deteksi bentuk Chrome.

API Deteksi Bentuk di Chrome 70 adalah uji coba asal, mis. belum siap untuk digunakan secara luas. API dapat mendefinisikan 3 jenis objek / gambar - wajah, barcode, dan teks. Saat ini, kompatibilitas bervariasi antar platform, karena OS memerlukan fungsionalitas untuk mendefinisikan objek. Anda dapat mencoba demo di sini .

TLS 1.3


Transport Layer Security adalah protokol yang memungkinkan Anda mentransfer data dengan aman melalui Internet. Ketika Anda menggunakan situs di HTTPS, maka kemungkinan besar data dikirim melalui TLS. Chrome 70 mendukung TLS 1.3, yang dirilis bulan lalu.

Daftar perubahan tersedia di sini , tetapi secara umum, versi 1.3 meningkatkan efisiensi dan keamanan (misalnya, BREACH dan CRIME “dimenangkan”, berkat itu Anda dapat menggunakan kompresi lagi dengan aman di https - komentar penerjemah , terima kasih untuk menstenebris ). Lebih sedikit langkah diperlukan untuk membuat koneksi, sehingga Anda dapat melihat sedikit peningkatan dalam waktu (jika situs yang Anda kunjungi mendukung TLS 1.3, tentu saja). Berikut ini adalah perbandingan yang jelas dari perbedaan dari CloudFlare :



Dengan rilis TLS 1.3, dukungan untuk fitur lama, seperti SHA1 dan MD5, juga berhenti. Google mengumumkan ini di Halaman Status :
TLS 1.3 adalah proyek multi-tahun yang menyatukan para pendukung dari berbagai industri, kelompok penelitian, dan peserta lainnya saat mengerjakan standar. Sebelumnya, kami bereksperimen dengan versi konsep standar, tetapi ketika standar sepenuhnya diterapkan, kami akhirnya dapat mengimplementasikannya di Chrome.

Firefox 60 menambahkan dukungan untuk TLS 1.3 (draft 23), yang diluncurkan pada Mei tahun ini; kemudian CloudFlare mulai menggunakannya.

Fitur lainnya


Seperti biasa, Chrome 70 mencakup inovasi untuk pengguna dan pengembang. Berikut adalah daftar perubahan lain dalam pembaruan ini:

  • API sintesis Ucapan tidak akan berfungsi sampai halaman memiliki setidaknya satu kali berinteraksi dengan API ini. API ini sering digunakan untuk pop-up spammer pada perangkat seluler hingga kebijakan putar otomatis baru di Chrome 66;
  • Touch ID pada Macbook Pro dapat digunakan sebagai metode login di API Otentikasi Web;
  • jika halaman dalam mode layar penuh, tampilan pop-up akan membawa halaman keluar dari layar penuh;
  • AppCache tidak lagi berfungsi di halaman NOT https;
  • pada perangkat Android, nomor build OC (misalnya, "NJH47F") tidak lagi disertakan dalam agen pengguna untuk mencegah identifikasi browser. Chrome di iOS akan meninggalkan nomor build "15E148" alih-alih menghapusnya sepenuhnya untuk mengikuti implementasi di Safari;
  • audio opus sekarang didukung untuk wadah MP4, Ogg, dan WebM;
  • WebUSB sekarang menggunakan konteks pekerja individu, yang seharusnya meningkatkan produktivitas;
  • Web Bluetooth sekarang berfungsi di Windows 10;
  • dialog sinkronisasi desktop baru;
  • pekerja layanan dapat diberi nama;
  • API Manajemen Kredensial sekarang mendukung PublicKeyCredential ;
  • implementasi awal Custom Elements, impor HTML, navigator.getGamepads dan Shadow DOM API sekarang dalam status usang;
  • Lazy Loading sekarang dapat diaktifkan menggunakan flag # enable-lazy-frame-loading dan # enable-lazy-image-loading .

Source: https://habr.com/ru/post/id427021/


All Articles