AV1

format de compressió de vídeo

AOMedia Video 1 (AV1) és un format de codificació de vídeo obert i lliure de drets d'autor dissenyat inicialment per a transmissions de vídeo a través d'Internet. Va ser desenvolupat com a successor de VP9 per l'Alliance for Open Media (AOMedia), un consorci fundat el 2015 que inclou empreses de semiconductors, proveïdors de vídeo sota demanda, productors de contingut de vídeo, empreses de desenvolupament de programari i proveïdors de navegadors web. L'especificació de flux de bits AV1 inclou un còdec de vídeo de referència. El 2018, Facebook va realitzar proves que s'aproximaven a les condicions del món real i el codificador de referència AV1 va aconseguir una compressió de dades un 34%, un 46,2% i un 50,3% més alta que libvpx-vp9, x264 High profile i x264 Main profile respectivament.[1]

Infotaula de format de fitxerAV1
TipusFormat de codificació de vídeo i especificació Modifica el valor a Wikidata
MIMEvideo/AV1 i video/webm; codecs="av01.*" Modifica el valor a Wikidata
DesenvolupadorAlliance for Open Media Modifica el valor a Wikidata
Versió inicial28 març 2018 Modifica el valor a Wikidata
Extensió deVP9, Daala (en) Tradueix i Thor (en) Tradueix Modifica el valor a Wikidata
EstàndardAV1 Bitstream & Decoding Process Specification (en) Tradueix Modifica el valor a Wikidata
Més informació
Wiki del format de fitxerAV1 Modifica el valor a Wikidata
Lloc webaomedia.org… Modifica el valor a Wikidata

Igual que VP9, però a diferència de H.264 (AVC) i H.265 (HEVC), AV1 té un model de llicència lliure de drets d'autor que no dificulta l'adopció en projectes de codi obert.

AVIF és un format de fitxer d'imatge que utilitza algorismes de compressió AV1.

Història

modifica

Les motivacions de l'Aliança per crear AV1 incloïen l'alt cost i la incertesa que comporta la llicència de patents d'HEVC, el còdec dissenyat per MPEG que s'espera que succeeixi a AVC. A més, els set membres fundadors de l'Aliança (Amazon, Cisco, Google, Intel, Microsoft, Mozilla i Netflix) van anunciar que l'enfocament inicial del format de vídeo seria el lliurament de vídeo web d'alta qualitat. L'anunci oficial d'AV1 va arribar amb el comunicat de premsa sobre la formació de l'Alliance for Open Media l'1 de setembre de 2015. Només 42 dies abans, el 21 de juliol de 2015, es va anunciar que l'oferta de llicència inicial d'HEVC Advance suposava un augment de les tarifes de drets d'autor del seu predecessor, AVC. A més de l'augment del cost, la complexitat del procés de llicència va augmentar amb HEVC. A diferència dels estàndards MPEG anteriors on la tecnologia de l'estàndard es podia llicenciar d'una sola entitat, MPEG LA, quan es va acabar l'estàndard HEVC, s'havien format dos grups de patents amb un tercer grup a l'horitzó. A més, diversos titulars de patents es negaven a llicenciar patents a través de qualsevol grup, augmentant la incertesa sobre les llicències d'HEVC. Segons Ian LeGrow de Microsoft, es va considerar que una tecnologia de codi obert i lliure de drets d'autor era la manera més senzilla d'eliminar aquesta incertesa sobre les llicències.

Propòsit

modifica

AV1 pretén ser un format de vídeo per a la web que sigui alhora d'última generació i lliure de drets d'autor. Segons Matt Frost, cap d'estratègia i associacions de l'equip de Chrome Media de Google, "La missió de l'Alliance for Open Media segueix sent la mateixa que el projecte WebM". Una preocupació recurrent en el desenvolupament d'estàndards, sobretot dels formats multimèdia lliures de drets d'autor, és el perill d'infringir accidentalment patents que els seus creadors i usuaris no coneixien. Aquesta preocupació s'ha plantejat pel que fa a AV1, i anteriorment VP8, VP9, Theora i IVC. El problema no és exclusiu dels formats lliures de drets d'autor, però amenaça exclusivament el seu estat de lliures de drets d'autor.

Llicència de patents AV1, VP9, Theora, Perfil base MPEG-5 VVC, HEVC, AVC, MPEG-5 Perfil principal GIF, MP3, MPEG-1, MPEG-2, MPEG-4 Part 2
Per titulars de patents coneguts Les patents han caducat Amb participació de guanys Les patents han caducat
Per titulars de patents desconeguts Impossible de determinar fins que el format sigui prou antic com per haver caducat qualsevol patent (almenys 20 anys als països de l'OMC)

Tecnologia

modifica
 
Etapes de processament d'un codificador AV1 amb tecnologies rellevants associades a cada etapa

AV1 és un format tradicional de transformació de freqüència basat en blocs que inclou noves tècniques. Basat en el VP9 de Google, AV1 incorpora tècniques addicionals que ofereixen principalment als codificadors més opcions de codificació per permetre una millor adaptació a diferents tipus d'entrada.

L'Aliança libaom va publicar una implementació de referència escrita en C i llenguatge ensamblador (aomenc, aomdec) com a programari lliure sota els termes de la llicència de 2 clàusules BSD. El desenvolupament es fa en públic i està obert a les contribucions, independentment de la pertinença a l'AOM. El procés de desenvolupament va ser tal que es van afegir eines de codificació a la base de codi de referència com a experiments, controlats per senyals que les habiliten o desactiven en temps de creació, per a la revisió d'altres membres del grup, així com d'equips especialitzats que van ajudar i garantir la compatibilitat i el compliment del maquinari. amb drets de propietat intel·lectual (TAPAS).

 
10 maneres de subparticionar unitats de codificació: en quadrats (recursivament), rectangles o mescles d'aquests ("en forma de T")

Particions

modifica

El contingut del marc es divideix en blocs adjacents de la mateixa mida anomenats superblocs. Similar al concepte de macrobloc, els superblocs tenen forma quadrada i poden tenir una mida de 128×128 o 64×64 píxels. Els superblocs es poden dividir en blocs més petits segons diferents patrons de partició. El patró de divisió de quatre vies és l'únic patró les particions del qual es poden subdividir recursivament. Això permet que els superblocs es divideixin en particions tan petites com 4 × 4 píxels.

 
Esquema de la partició del superbloc AV1. Mostra com els superblocs de 128 × 128 es poden dividir fins a blocs de 4 × 4. Com a casos especials, els blocs de 128×128 i 8×8 no poden utilitzar divisions 1:4 i 4:1, i els blocs 8×8 no poden utilitzar divisions en forma de "T".

S'introdueixen els patrons de partició "en forma de T", una característica desenvolupada per a VP10, així com les divisions horitzontals o verticals en quatre franges de proporció d'aspecte 4:1 i 1:4. Els patrons de partició disponibles varien segons la mida del bloc, tant els blocs 128×128 com els 8×8 no poden utilitzar divisions 4:1 i 1:4. A més, els blocs de 8 × 8 no poden utilitzar divisions en forma de "T".

Ara es poden utilitzar dues prediccions separades en parts espacialment diferents d'un bloc mitjançant una línia de transició suau i obliqua (predicció dividida en falques). Això permet una separació més precisa dels objectes sense les línies tradicionals d'escales al llarg dels límits dels blocs quadrats.

És possible més paral·lelisme del codificador gràcies a la dependència de predicció configurable entre les files de mosaic (ext_tile).

Predicció

modifica

L'AV1 realitza un processament intern amb una precisió més alta (10 o 12 bits per mostra), cosa que condueix a una millora de la qualitat reduint els errors d'arrodoniment.

Les prediccions es poden combinar de maneres més avançades (que una mitjana uniforme) en un bloc (predicció composta , incloent gradients de transició suaus i nítids en diferents direccions (predicció dividida en falques), així com màscares implícites que es basen en la diferència entre els dos predictors. Això permet la combinació de dues prediccions inter o una predicció inter i una intra al mateix bloc.

Transformació de dades

modifica

Per transformar l'error restant després de la predicció al domini de freqüència, els codificadors AV1 poden utilitzar DCT rectangulars quadrats, 2:1/1:2 i 4:1/1:4 (rect_tx), així com un asimètric DST per als blocs on s'espera que la vora superior i/o esquerra tingui un error més baix gràcies a la predicció dels píxels propers, o opteu per no fer cap transformació (transformació d'identitat).

Pot combinar dues transformacions unidimensionals per utilitzar diferents transformacions per a la dimensió horitzontal i vertical (ext_tx).

Quantització

modifica

AV1 té noves matrius de quantització optimitzades (aom_qm).[2] Els vuit conjunts de paràmetres de quantificació que es poden seleccionar i senyalitzar per a cada fotograma ara tenen paràmetres individuals per als dos plans de croma i poden utilitzar la predicció espacial. A cada superbloc nou, els paràmetres de quantificació es poden ajustar indicant un desplaçament.

Filtres

modifica

El filtratge en bucle combina el filtre de pas baix restringit de Thor i el filtre de deringing direccional de Daala al filtre de millora direccional restringit, cdef . Es tracta d'un filtre de substitució condicional dirigit a la vora que suavitza els blocs aproximadament al llarg de la direcció de la vora dominant per eliminar els artefactes de timbre.[3]

Perfils i nivells

modifica

AV1 defineix tres perfils per als descodificadors que són Principal, Alt i Professional. El perfil principal permet una profunditat de bits de 8 o 10 bits per mostra amb mostreig de croma 4:0:0 (escala de grisos) i 4:2:0 (quart) . El perfil alt afegeix suport per al mostreig de croma 4:4:4 (sense submostreig). El perfil Professional amplia les capacitats fins a un suport total per al submostreig de croma 4:0:0, 4:2:0, 4:2:2 (meitat) i 4:4:4 amb profunditats de color de 8, 10 i 12 bits.

AV1 defineix nivells per als descodificadors amb variables màximes per a nivells que oscil·len entre 2,0 i 6,3.[4] Els nivells que es poden implementar depenen de la capacitat del maquinari.

Les resolucions d'exemple serien 426×240@30 fps per al nivell 2.0, 854×480@30 fps per al nivell 3.0, 1920×1080@30 fps per al nivell 4.0, 3840×2160@60 fps per al nivell 5.1, 3840×2160@120 fps per al nivell 5.2 i 7680×4320@120 fps per al nivell 6.2. El nivell 7 encara no s'ha definit.[5]

Referències

modifica
  1. «AV1 beats x264 and libvpx-vp9 in practical use case» (en anglès americà). Facebook Engineering, 10-04-2018. Arxivat de l'original el 5 novembre 2019. [Consulta: 16 juliol 2020].
  2. «av1/encoder/av1_quantize.c - aom - Git at Google» (en anglès). aomedia.googlesource.com. Arxivat de l'original el 12 setembre 2021. [Consulta: 12 setembre 2021].
  3. Christopher Montgomery. «The Constrained Directional Enhancement Filter» (en anglès). Mozilla Hacks, 28-07-2018. [Consulta: 5 gener 2022].
  4. «Annex A: Profiles and Levels» (en anglès). Alliance for Open Media. Arxivat de l'original el 17 març 2021. [Consulta: 25 març 2021].
  5. «GitHub: AV1 Profiles and Levels» (en anglès). Arxivat de l'original el 1 febrer 2018. [Consulta: 13 febrer 2018].