Netflix: tutte le tecnologie usate per migliorare la fluidità delle immagini

Nicola Zucchini Buriani 13 Giugno 2023, alle 14:17 Media, HD e 4K

Il colosso dello streaming ha pubblicato un articolo sul proprio tech blog, illustrando tutte le soluzioni adottate per eliminare gli scatti durante la riproduzione dei video


- click per ingrandire -

Netflix ha inserito un interessante articolo sul suo tech blog per spiegare come viene gestito l'adattamento del frame rate nei contenuti proposti in streaming. Molti dei lettori più esperti sono sicuramente al corrente di queste tematiche per via delle problematiche che si generano quando il frame rate e la frequenza di aggiornamento non corrispondono. Per comprendere al meglio di cosa parliamo partiamo comunque dall'inizio, prima di approfondire tutte le soluzioni adottate da Netflix.

 

L'ADATTAMENTO DEL FRAME RATE ALLA FREQUENZA DI AGGIORNAMENTO


La conversione (FRC) da 24 a 60 fps
- click per ingrandire -

I contenuti presenti nel catalogo di Netflix sono girati e codificati con frame rate diversi che spaziano dai 23,97 ai 60 fotogrammi al secondo. Nel blog si specifica che la maggior parte del catalogo è costituita da contenuti con frame rate tra i 23,97 e i 30 fotogrammi al secondo. Quando questi video vengono visualizzati su schermo, è necessario compiere un processo di adattamento per far corrispondere il numero di fotogrammi al secondo alla frequenza di aggiornamento di TV, proiettori, monitor, smartphone eccetera, in pratica di qualsiasi schermo usato per guardare Netflix.

Questo processo prende il nome di Frame Rate Conversion (FRC) e solitamente porta il numero di fotogrammi dei contenuti a 50 o 60 fps. Da notare che anche se sul blog si parla di HDMI, lo stesso principio vale anche per le applicazioni integrate. Questa conversione non è però un processo così immediato: tutto scorre liscio solo nei casi in cui la frequenza di aggiornamento dello schermo è un multiplo intero dei fotogrammi presenti all'interno del film, serie TV o documentario che l'utente vuole visualizzare.

 
Fluidità con scatti e senza scatti

Se quindi si passa da 24 a 48 fps, da 25 a 50 fps, da 30 a 60 fps o da 24 a 120 fps, la conversione è assolutamente perfetta e l'utente non nota alcun difetto. In molti casi questo però non avviene, come ad esempio quando FRC porta semplicemente il frame rate a 50 o 60 fps. In queste situazioni il processo di adattamente introduce il cosiddetto "judder", cioè scatti che si presentano su schermo a cadenza regolare. La conversione da 24 a 60 fps sfrutta un metodo che prende il nome di "pulldown 3:2", così chiamato perchè si alternano fotogrammi ripetuti 3 volte e 2 volte. È questa asincronia a causare gli scatti.

La conversione da 24 a 50 fps è ancora più ostica e rende più visibile la perdita di fluidità. Per comprendere la complessità di questa conversione basta analizzarne i principali passaggi:

  • I fotogrammi da mandare su schermo sono 50 al secondo;
  • Si devono quindi replicare i 24 frame presenti nel contenuto in modo da compensare la mancanza di 26 frame, che si ottengono sottraendo i 24 già citati ai 50 da raggiungere come obiettivo della conversione;
  • 22 dei fotogrammi vengono perciò duplicati per arrivare a 44, mentre gli altri 2 frame (sui 24 originali) vengono ripetuti 3 volte andando così a colmare i 6 che mancano per arrivare a 50.

Anche in questo caso abbiamo quindi un'evidente asincronia che viene percepita sotto forma di scatti.

 

LE SOLUZIONI PER MITIGARE GLI SCATTI


La conversione (FRC) da 24 a 50 fps
- click per ingrandire -

Netflix ha studiato vari metodi per mitigare o eliminare gli scatti. I metodi applicati ad oggi sono tre, necessariamente differenziati in modo da potersi adattare ai tanti dispositivi disponibili, non tutti provvisti delle stesse funzionalità. Ci sono infatti dispositivi dotati di sistemi operativi capaci di sincronizzare frame rate e frequenza di aggiornamento (serve comunque anche il supporto lato sofware sulle app) e altri che dispongono di Quick Media Switching, una novità che al momento funziona solo sui TV LG 2023 come la serie G3 (qui il nostro primo contatto) e sulla terza generazione di Apple TV 4K.

La prima soluzione adottata da Neflix consiste nel far corrispondere la frequenza di aggiornamento con il frame rate del contenuto, direttamente o tramite la ripetizione dei fotogrammi. Ripredendo l'esempio di video a 24 fps già fatto in precedenza, ciò che viene fatto è solitamente una moltiplicazione dei fotogrammi per numeri interi, ad esempio da 24 a 48 fps o da 24 a 120 fps. In questo modo non si generano asincronie e non ci sono scatti. Resta però un limite legato al funzionamento di HDMI: quando il frame rate cambia si verifica un temporaneo oscuramento del segnale, una sorta di blackout che serve alla catena video per trasmettere le nuove informazioni e ripristinare la visione.

Questa limitazione è presente su qualsiasi dispositivo dotato di HDMI, fatta eccezione per i pochissimi prodotti dotati della già citata funzione Quick Media Switching. È proprio quest'ultima a rappresentare la seconda soluzione scelta da Netflix: in pratica si tratta sempre di inviare su schermo il contenuto con il suo frame rate originale, facendolo corrispondere alla frequenza di aggiornamento, ma senza più oscuramenti durante i cambi di frequenza, quindi da 24 a 60 Hz per esempio. Apparentemente questo metodo sembra perciò risolutivo e senza limitazioni, quindi perché non lo si adotta sempre? La risposta è semplice: il numero di prodotti compatibili è limitato a quei pochissimi dispositivi che abbiamo già citato, anche per via di un errore nell'implementazione che ne ha ulteriormente ridotto la diffusione.


La funzione Quick Media Switching su Apple TV 4K
- click per ingrandire -

Per un corretto funzionamento di queste due funzioni è necessario che ogni dispositivo su cui gira l'app di Netflix fornisca alcune informazioni, ovvero la capacità di supportare il frame rate nativo e la compatibilità con Quick Media Switching. Vanno poi tenute in considerazione le scelte effettuate dall'utente, che può aver disabilitato la possibilità di far corrispondere il frame rate del video alla frequenza di aggiornamento dello schermo, spesso indicata da voci come "Match Content Frame Rate". L'applicazione delle due soluzioni citate deve poi tener conto della navigazione all'interno dell'intefaccia di Netflix, cioè nella cosiddetta UI.

Quando si scorrono i titoli presenti nel catalogo è sufficiente fermarsi per qualche istante su un qualsiasi contenuto per far partire un trailer. I trailer seguono la stessa logica dei video completi e sono quindi realizzati con vari frame rate. Per evitare scatti si dovrebbe riprodurli per multipli interi, evitando conversioni e optando invece per la sincronia che abbiamo descritto sopra. Nascono però due problematiche: su prodotti privi di Quick Media Switching ogni cambiamento nella frequenza di aggiornamento porterebbe ad un oscuramento dello schermo. In pratica la navigazione nella UI sarebbe continuamente interrotta da continui blackout del segnale video.

I prodotti dotati di Quick Media Switching risolverebbero questa seccatura ma andrebbero incontro ad un altro difetto: la navigazione all'interno della UI diventerebbe poco fluida e scattosa. Il motivo è semplice da capire: per eliminare gli scatti dai trailer occorre rispettare il frame rate originale senza convertirlo e come abbiamo visto la maggior parte dei contenuti non supera i 30 fps. Ciò significa che l'aggiornamento delle immagini, compresa ovviamente l'interfaccia grafica, dovrebbe sottostare alle stesse logiche adeguandosi perciò ad un frame rate insufficiente per garantire una buona sensazione di fluidità durante la navigazione nella UI.


La gestione del frame rate durante la navigazione e la riproduzione di contenuti
- click per ingrandire -

Per questi motivi Netflix ha scelto di visualizzare i contenuti con frame rate nativo (senza conversione) solo durante la visione a tutto schermo, quando gli elementi grafici dell'interfaccia sono pochi o del tutto assenti. Quando l'utente naviga all'interno dell'app, il frame rate è fissato sempre a 60 fps, in modo da assicurare una fluidità ottimale e senza interruzioni continue del segnale video.

L'ultima soluzione si applica infine ai casi in cui non è possibile evitare una conversione del frame rate: pensiamo ad esempio a tutti i dispositivi che forzano la frequenza in uscita a 50 o 60 Hz o a quelli che, pur potendo gestire la sincronia tra contenuti e frequenza di aggiornamento a livello di sistema, non sono dotati di applicazioni aggiornate e quindi non possono sfruttarla in concreto. Un esempio è la Fire TV Stick 4K Max di Amazon, che pur avendo da tempo la possibilità di gestire la sincronia del frame rate lato sorgente e lato display, solo di recente ha reso disponibile questa funzione all'interno dell'app Netflix.

In queste situazioni Netflix utilizza un FRC intelligente, pensato appositamente per minimizzare gli scatti. Prendiamo a titolo di esempio una conversione da 24 a 50 fps: come abbiamo visto si tratta di un processo tutt'altro che semplice e infatti gli scatti sono evidenti, ancora di più che nell'adattamento da 24 a 60 fps. Come si può risolvere? L'idea vincente è di David Zheng, membro del Partner Experience Technology team di Netflix. Anziché considerare la conversione su un arco che copre un secondo, si è pensato di espandere l'adattamento ad un periodo di 3 secondi. In pratica si parte da una base di 24 fps moltiplicati per 3, cioè 72 fotogrammi nativi che, portati a 50 al secondo, diventano 50 x 3, cioè 150 fps. Come si procede?


La conversione (FRC) ottimizzata per ridurre gli scatti
- click per ingrandire -

Nei primi 2 secondi vengono inviati 25 fotogrammi ciascuno per un totale di 50. Al terzo secondo vengono invece mandati i restanti 22 secondi che portano così il totale ai 72 nativi. Ovviamente va poi applicata la conversione da 72 a 150. Per i primi due secondi i fotogrammi vengono semplicemente ripetuti due volte, ottenendo 50 frame per ogni secondo senza generare scatti, dato che la moltiplicazione è per interi.

Nel terzo secondo si applica lo stesso metodo che abbiamo visto per la conversione da 24 a 50 fps: tutti i 22 frame vengono ripetuti 2 volte e poi si interviene ulteriormente per triplicare solo 6 dei 22 frame. In pratica si moltiplicano prima i 22 x 2, ottenendo 44 fotogrammi e poi si ricava un terzo fotogramma mediante un'ulteriore ripetizione di 6 fotogrammi, arrivando così a 50. Sommando i frame ottenuti con la conversione spalmata su 3 secondi si arriva a 150, cioè l'obiettivo da raggiungere.

Questo metodo non elimina completamente gli scatti ma li riduce in modo sostanziale, dato che nei primi 2 secondi si applica una semplice duplicazione e non c'è pertanto asincronia. Solo al terzo secondo la conversione è più invasiva e genera qualche scatto ma in misura minore rispetto alla conversione da 24 a 50 fps effettuata elaborando un singolo secondo di video.

Fonte: Netflix

Commenti

Focus

News