I criteri per le molte scelte

Netflix ci ha sorpreso da subito con la qualità del suo streaming, ma da qualche giorno le cose sono migliorate ancora, soprattutto per chi ha linee poco veloci.

Avatar di Giancarlo Calzetta

a cura di Giancarlo Calzetta

-

Considerate le domande esposte e i limiti imposti dalla piattaforma, gli ingegneri di Netflix devono fare una serie di scelte, motivate da molti fattori.

Innanzitutto, il materiale video di Netflix deve esser visibile su tutti i dispositivi certificati Netflix in passato, quindi si è cominciato con il definire le risoluzioni da supportare: 1920x1080, 1280x720, 720x480, 512x384, 384x288 e 320x240.

Poi è la volta dei bitrates disponibili, che coprono una gamma molto ampia e sono diversi tra loro di un 5% circa. Tra un encoding e un altro dello stesso contenuto, però, c'è un altro parametro da considerare: è inutile creare encoding che stiano molto sotto al limite di differenza percepita dall'occhio dell'utente, ma non bisogna andare oltre la soglia che determina la percezione stessa.

In altre parole, tra due gradini di encoding, la differenza deve essere a malapena percettibile, in modo da risparmiare banda senza dare degli "strappi" all'utente che guarda un filmato mentre lo streaming si stabilizza.

L'immagine qui sotto aiuta a farsi un'idea più concreta di come funzioni l'encoding su più livelli di qualità per molte risoluzioni.04 qualityladder

In questo grafico di esempio, che ricordiamo varia da titolo a titolo adesso, vediamo che sotto al mezzo megabit di banda conviene usare una risoluzione di 720x480, restando sulla 1280x720 fino a circa 768 kbps e passare alla HD solo oltre il megabit per secondo.

Elaborare meno pixel con una maggior precisione, infatti, spesso produce risultati migliori che non elaborare più pixel con una precisione grandemente limitata dalla compressione.

Ecco quindi che tutto l'encoding della nuova tecnologia "per titolo" viene basato su di un concetto che si può riassumere nel grafico qui di seguito.05 encondingConcept

Le linee blu sono le linee della qualità restituita dall'encoding a una data risoluzione, mentre quella rossa rappresenta la linea ideale che Netflix dovrebbe fornire ai suoi clienti.

Purtroppo, non tutte le posizioni della linea rossa sono ottenibili perché richiederebbero un infinito numero di codifiche. Netflix, quindi, si limita a selezionare un certo numero di risoluzioni, quelle che abbiamo indicato sopra, e fornire di volta in volta la codifica che nel grafico si trova più vicina alla linea rossa.

Di conseguenza, ecco un esempio pratico dei miglioramenti ottenibili:

06 cavallo

 

07 cavallomigliore

La scena di Bojack Horseman in alto usa 1750kbps con la vecchia tecnologia (e quindi una risoluzione di 480P), mentre quella sotto usa 1740kbps ma alla risoluzione FullHD.

Su scene più complesse, il miglioramento è meno evidente, ma comunque comodo per le connessioni meno performanti. Qui sotto, infatti, vediamo come le due scene di Orange is the New Black siano praticamente identiche, ma quella sotto richieda "solo" 4680kbps rispetto ai 5800 di quella superiore.

08 orange

 

09 orange