Requisiti dei codec video per l'API Meet Media

Questa pagina fornisce i requisiti di base per i codec video del client dell'API Google Meet Media per garantire una buona esperienza utente.

Requisiti funzionali

Questa sezione specifica i requisiti per i tipi e le funzionalità di codec.

Funzionalità Requisito
Profilo AV1 VP9 VP8
Main Profile 0 N/D
Scalabilità Il decoder deve supportare la scalabilità temporale, la scalabilità spaziale o entrambe, se richiesto dalle specifiche di codifica per un determinato tipo e profilo di codec.
Formato video grezzo

Il codec deve essere in grado di elaborare risoluzioni dispari (ad esempio quando la larghezza o l'altezza del frame non sono multipli di 2; ad esempio, 133 × 141). Per i formati di crominanza con sottocampionamento, il numero di campioni di crominanza per dimensione deve essere arrotondato per eccesso quando viene derivato dal numero di campioni di luminanza.

Non sono consentiti ritagli, padding o ridimensionamenti. La risoluzione del frame di output deve corrispondere alla risoluzione del frame di input.

Requisiti operativi

Questa sezione specifica i requisiti per le varie condizioni in cui è previsto il funzionamento del codec video. La violazione di questi requisiti potrebbe limitare l'utilizzo del codec a un sottoinsieme di scenari, ma non ne impedisce necessariamente l'utilizzo. Ad esempio, se il numero massimo di istanze del codec è inferiore a quello richiesto, il codec può comunque essere utilizzato insieme a codec di altri tipi o implementazioni.

Parametro Requisito
Risoluzione minima, pixel ≤ 128 × 128
Risoluzione massima, pixel ≥ 2880 × 1800
Frequenza frame minima, FPS ≤ 1
Frequenza fotogrammi massima, FPS ≥ 30
Velocità in bit minima, kbps ≤ 30
Velocità in bit massima, kbps ≥ 5000
Numero massimo di istanze del decodificatore ≥ 3
Throughput di decodifica totale massimo, pixel al secondo ≥ 3 × 2880 × 1880 × 30

Requisiti di rendimento

Questa sezione specifica i requisiti relativi alle prestazioni del codec. La violazione di questi requisiti può influire notevolmente sull'esperienza utente e bloccherà quasi sicuramente l'utilizzo del codec.

Parametro Requisito
Tempo di elaborazione interframe massimo, secondi 1 / max(30, encode_target_frame_rate_fps)
Tempo massimo di elaborazione dei fotogrammi chiave, secondi 2 / max(30, encode_target_frame_rate_fps)

Il tempo di elaborazione del frame è la differenza di tempo tra due eventi: 1) il codec fornisce il frame e 2) il codec riceve il frame. Il tempo medio di elaborazione dei frame viene calcolato su una finestra mobile di almeno 10 secondi di durata contenente almeno 10 frame. Il tempo massimo di elaborazione dei frame è il valore più alto tra tutti i singoli valori di tempo di elaborazione dei frame.

Il throughput viene calcolato come il numero di frame elaborati, inclusi quelli eliminati, diviso per il delta temporale tra i due eventi: 1) il codec invia l'ultimo frame e 2) il codec invia il primo frame.

Scenari di test

Di seguito sono riportati i casi di test che puoi utilizzare:

Test
Velocità effettiva di decodifica Decodifica fino a tre stream 2880 × 1880 × 30 contemporaneamente e verifica che i decoder non violino i requisiti di prestazioni.
Conformità del decoder Decodifica un insieme di bitstream pre-codificati. L'output del decodificatore di test deve corrispondere all'output di un decodificatore di riferimento (libvpx per VP8 e VP9, libaom per AV1).
Scalabilità temporale Decodifica video con più livelli temporali (2 e 3). L'output del decodificatore di test deve corrispondere a quello del decodificatore di riferimento.
Scalabilità spaziale Decodifica video con più livelli spaziali (2 e 3). L'output del decodificatore di test deve corrispondere all'output del decodificatore di riferimento.