Vai al contenuto
Libellus
LibellusLe ultime scoperte scientifiche, spiegate a tuttiGratuito · Indipendente · Senza fini di lucro · Tradotto in 5 lingue
A figure skater's silhouette, seen from behind at a distance, glides across a large empty indoor ice rink; the glossy ice reflects overhead lights and dark unmarked seats surround the arena.

Una diretta di pattinaggio può richiedere solo kilobyte di dati se trasmette scheletri e angoli di camera, non fotogrammi video

9 min di lettura

Quando un pattinatore scivola sul ghiaccio olimpico, la diretta video odierna invia milioni di pixel per pista, pubblico e angolo di camera ancora e ancora. GenStream propone una strada diversa: trasmettere solo la posa dell'atleta in movimento, una semplice cornice attorno a lui o lei e il punto di vista necessario per ricostruire la scena. Il dispositivo dello spettatore dipinge poi corpi realistici all'interno di un'arena 3D precompilata. L'idea promette flussi molto più piccoli per video sportivi e di spettacolo, ma sposta lavoro pesante dalla rete allo schermo.

In breve

  • In un clip olimpico di pattinaggio di 50 secondi, GenStream ha trasportato l'azione live in circa 110 kilobyte mentre un file HEVC comune conteneva lo stesso footage in circa 134 megabyte.
  • Il test copriva 4 prestazioni di Pyeongchang in 48 clip brevi, ma restava entro una sola pista con spettatori per lo più fermi e un singolo pattinatore vicino al centro.
  • Un broadcaster live avrebbe bisogno di rilevamento e masking delle persone più veloci perché il metodo accurato in due fasi è troppo lento mentre la versione a passaggio unico in tempo reale può produrre risultati meno stabili.
  • Il prototipo attuale ha bisogno di una scheda grafica potente per costruire figure in movimento e compositarle nella scena, hardware che telefoni e smart TV spesso non hanno.
  • Prima che sport generici o concerti possano usarlo, il metodo ha ancora bisogno di un allineamento camera migliore, preparazione dell'impianto più rapida, rendering client-side più leggero e test percettivi sotto condizioni di rete reali.

Perché un’arena fissa continua a essere inviata

Un’arena fissa appare quasi immobile sullo schermo, ma il video comune continua a pagarla ancora e ancora. Ogni fotogramma porta con sé ghiaccio, banchine, sedili e luci anche quando nulla è cambiato. L’abitudine viene da codec che trattano ogni pixel come se potesse essere informazione nuova nel fotogramma successivo. In una trasmissione di pattinaggio, la parte in movimento è spesso una sola persona su un grande piano statico di ghiaccio. Il resto della scena si ripete, ma l’encoder continua a spendere bit per descriverla fotogramma dopo fotogramma. Più telecamere possono peggiorare questo spreco perché mostrano la stessa arena da lati diversi durante lo stesso evento. Un modello 3D condiviso dell’impianto rimuove quello sfondo ripetuto dalla diretta prima che la riproduzione inizi. Una volta che i client hanno già la pista, il mittente può smettere di descriverne muri e ghiaccio in ogni fotogramma. Invece, il flusso porta solo ciò che cambia: posizione del pattinatore, posa corporea e angolo di camera per ogni istante. Si tratta di un piccolo insieme di numeri piuttosto che di un’immagine completa dell’arena o dei suoi dintorni. L’idea è inviare struttura, non scenografia, così la rete può concentrarsi su movimento e significato. Per un’arena fissa, quella distinzione cambia ciò che conta come dati video utili in una diretta. Rende anche il flusso meno dipendente dalla fedeltà pixel per pixel nelle parti che non si muovono mai. Lo spettatore vede ancora una trasmissione completa, ma lo sfondo ripetuto viene fornito da un modello invece di essere ricodificato. Il risparmio nasce dal riconoscere che un’arena può essere nota in anticipo e riusata molte volte. Solo l’azione live deve attraversare la rete come informazione nuova mentre l’impianto resta fisso.

Un pattinatore come diciassette numeri e un angolo di camera

Invece di inviare un’immagine in movimento, il sistema invia per ogni pattinatore una breve lista di punti corporei. Ogni fotogramma porta 17 landmark scheletrici che marcano articolazioni e arti. Una bounding box viaggia insieme a loro, fornendo un contorno approssimativo di dove la persona si trova sul ghiaccio. L’angolo di camera viene ridotto a 7 numeri anziché 12, fissando come la pista debba essere vista.

Quei valori sono abbastanza piccoli da stare in formati numerici compatti. In alta definizione, le coordinate corporee possono stare in interi di circa 11 bit, mentre le versioni 4K ne richiedono circa 12. I valori della camera usano numeri a virgola mobile standard, il che mantiene il punto di vista compatto senza perdere precisione. Il risultato è un flusso fatto di struttura anziché di pixel.

Inviare immagini ritagliate del pattinatore sembrerebbe più semplice, ma le dimensioni dei ritagli cambiano mentre il corpo si muove e ruota. Riempiendo ogni ritaglio a una dimensione fissa si sprecano banda. Inviare ogni ritaglio come flusso video separato perde anche la compressione tra i fotogrammi. Lo scheletro funziona quindi come sostituto strutturale minimo dei pixel.

In un clip di 50 secondi, il flusso conteneva circa 64 kilobyte di posa e movimento del pattinatore. Conteneva anche meno di 4 kilobyte di bounding box e circa 42 kilobyte di punti di vista della camera. Il test usava video 1080p a 30 fotogrammi al secondo. Quei numeri mostrano perché la trasmissione può ridursi così tanto sotto il video codificato comune.

Il computer dello spettatore diventa lo studio

Nell’esempio del pattinaggio, GenStream invia allo spettatore un piccolo insieme di numeri della scena. Lo sfondo non viene reinviato come pixel in ogni fotogramma. Invece, lo spettatore ha già un modello tridimensionale precompilato dell’impianto. Il server invia posizioni delle articolazioni, cornici e angoli di camera per ogni fotogramma. Sulla macchina dello spettatore, un generatore AI trasforma quei punti in un corpo completo. Quella figura viene poi collocata all’interno del modello 3D della pista. L’angolo di camera fornito decide da dove lo spettatore vede il pattinatore. Questo passaggio di rendering locale è ciò che fa agire il computer come uno studio. La macchina deve costruire un corpo plausibile e fondere la scena. È più lavoro rispetto al semplice decodifica di un file video comune. I codec comuni inviano immagini finite, mentre questo design invia istruzioni per ricostruirle. Il dispositivo dello spettatore diventa il luogo dove i pixel vengono finalmente creati. Il risultato può essere renderizzato a diversi livelli di qualità a seconda del dispositivo. Una macchina più veloce può mostrare un pattinatore più nitido, mentre una più lenta ne mostra uno più semplice. Lo studio non è più solo il camion della trasmissione fuori dall’arena. Ora è in parte dentro il computer dello spettatore. Quel cambiamento modifica ciò che una diretta deve trasportare. Modifica anche dove cade il carico creativo e tecnico.

Il pattinaggio olimpico mostra quanto può essere piccolo il flusso

Nel test di pattinaggio olimpico, un clip di 50 secondi di pattinaggio artistico è stato confrontato con un file video in alta definizione comune. Il materiale sorgente girava in 1080p a 30 fotogrammi al secondo per circa 50 secondi. Come file codificato HEVC, occupava circa 134 megabyte. Il flusso continuo prodotto da GenStream richiedeva solo circa 110 kilobyte mentre la stessa azione veniva riprodotta sullo schermo. Si tratta di una riduzione superiore al 99,9 percento del tasso dati che deve continuare a muoversi durante la riproduzione.

La differenza viene da ciò che viene inviato dopo che lo spettatore ha già i pezzi grandi necessari per costruire la scena. Il modello della pista e il software usato per ricostruire figure umane sono assunti disponibili prima dell’inizio del flusso. Una volta che quelle risorse sono pronte, ogni fotogramma non ha più bisogno di un’immagine completa fatta di milioni di pixel. Invece, il sistema invia informazioni compatte sull’atleta in movimento e sulla posizione della camera. Nell’esempio del pattinaggio, la maggior parte di quel piccolo payload descriveva come il pattinatore si muoveva nel tempo. Una parte più piccola segnava dove il pattinatore appariva nel fotogramma, e un’altra portava il punto di vista necessario per collocare correttamente la scena sullo schermo dello spettatore.

La dimensione è facile da sottovalutare finché non viene messa accanto al video comune. 134 megabyte possono contenere una lunga porzione di footage in alta definizione, mentre 110 kilobyte si avvicina alla quantità usata da uno scambio breve di testo o da un’immagine thumbnail piccola. Il test del pattinaggio mostra quindi che un’immagine sportiva live può non dover essere trasportata affatto come fotografia mobile completa. Se lo sfondo è già noto e solo poche persone cambiano, il contenuto essenziale può ridursi da megabyte al minuto a kilobyte al secondo.

Cosa resta tra una demo e una diretta

Una diretta dovrebbe sopravvivere a condizioni che un clip di laboratorio non affronta. Il prototipo attuale è stato verificato su 4 prestazioni di pattinaggio artistico dalle Olimpiadi di Pyeongchang 2018, per oltre 40000 fotogrammi in totale attraverso 48 clip brevi. Quei clip condividono una sola pista, spettatori per lo più fermi e un singolo pattinatore che si muove al centro del ghiaccio. Quella impostazione stretta rende il risultato facile da leggere, ma lascia aperto se il metodo reggerebbe su una partita di calcio, un concerto o un palco affollato.

L’ostacolo più grande è la velocità. Un processo accurato in due fasi rileva prima ogni persona e poi costruisce una maschera precisa, ma quella seconda fase è troppo lenta per l’uso live. Un metodo a passaggio unico più veloce può stare al passo con l’elaborazione in tempo reale, ma il suo output è meno stabile. Finché quei due bisogni non saranno conciliati, un broadcaster dovrà scegliere tra perdere l’azione e rischiare un’immagine instabile.

Il lavoro di camera è un altro bordo incompiuto. La demo può stimare dove la lente era puntata, ma quella parte della pipeline produce ancora disallineamenti geometrici quando viene spostata nel motore di rendering. Un percorso usa una mappa 3D precompilata dell’impianto e cerca di abbinarvi i fotogrammi live. Un altro ottimizza direttamente la camera rispetto a una scena renderizzata, il che è troppo costoso per ogni fotogramma in una diretta. La soluzione provvisoria attuale risolve completamente solo il primo fotogramma e poi traccia piccoli cambiamenti da un fotogramma all’altro.

Conta anche il modello di sfondo. Nel test, la pista di ghiaccio era stata costruita a mano in un motore di gioco, con linee, illuminazione e riflessi regolati per corrispondere al footage della trasmissione. Un evento live avrebbe bisogno di un modello simile prima dell’inizio dello spettacolo, oppure dovrebbe essere creato rapidamente da risorse degli organizzatori e footage precedenti. Non è impossibile, ma aggiunge lavoro preparatorio che lo streaming comune non richiede.

Il lato spettatore porta il suo vincolo. Il prototipo ha bisogno di una scheda grafica potente per costruire figure in movimento e compositarle nella scena, e quell’hardware non è tipico su telefoni o smart TV. Se il metodo deve raggiungere salotti comuni, deve girare con modelli più leggeri, calcoli compressi o parte del lavoro spostata su server vicini. Senza quel passaggio, i risparmi di banda sarebbero compensati da dispositivi che non riescono a stare al passo.

Ci sono anche questioni di qualità non risolte dai soli numeri. Le metriche video standard possono punteggiare l’immagine ricostruita più in basso perché non corrisponde a ogni pixel della trasmissione originale. Il contenuto semantico può restare chiaro per replay, analisi o visione a bassa banda, ma serve ancora un test percettivo formale. Il sistema dovrebbe essere più tollerante verso fotogrammi persi e jitter perché il dettaglio mancante può essere rigenerato, ma quel vantaggio non è stato valutato sotto stress di rete reale.

Presi insieme, questi gap definiscono la distanza da una prova di concetto a un servizio su cui un broadcaster potrebbe fare affidamento. L’idea spiega perché il video comune spreca banda su arena stabili e pixel ripetuti. Ciò che resta è il lavoro poco glamouroso di rendere ogni fase veloce, robusta e utilizzabile sui dispositivi che le persone possiedono davvero.

Un flusso più leggero, uno spettatore più pesante

Il test del pattinaggio indica un contratto diverso per il video live. Invece di spingere ogni pixel attraverso la rete, il sistema invia una piccola descrizione di ciò che si muove e lascia a ogni schermo ricostruire l’immagine. Quel cambiamento può rendere le trasmissioni molto più economiche da trasportare, soprattutto quando un solo atleta si muove in un’arena grande e stabile. Apre anche porte che i flussi comuni lasciano chiuse: replay da angoli non catturati dalle telecamere, versioni adattate a dispositivi diversi o highlight assemblati da dati semantici anziché da footage memorizzato.

La promessa è reale, ma si regge su uno scambio diseguale. La rete riceve sollievo mentre la macchina dello spettatore assume più lavoro. Un telefono o una smart TV deve generare un corpo credibile, collocarlo in un impianto 3D e mantenere il risultato abbastanza fluido per la visione live. Oggi quel compito richiede potenza grafica seria, quindi i risparmi non sono ancora disponibili sui dispositivi che la maggior parte delle persone usa davvero. La stessa cautela vale oltre le piste di ghiaccio. Folla, atleti sovrapposti, illuminazione variabile e impianti sconosciuti metteranno alla prova se il metodo può generalizzare senza perdere plausibilità o velocità.

Se quegli ostacoli si riducono, lo streaming semantico potrebbe cambiare ciò che una trasmissione è autorizzata a essere. Diventerebbe meno simile a una registrazione fissa e più simile a una scena condivisa che ogni spettatore può entrare in modo diverso. La domanda più difficile è se i pubblici accetteranno un’immagine costruita per inferenza quando i pixel originali non vengono più inviati affatto.

Continua a leggere

Continua con l’articolo successivo

Continua con l’articolo successivo

Continua con l’articolo successivo