$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Il software utilizzato è elencato nella Tabella dei Materiali.
Configurazione del dataset
Il dataset UCF-1013 è stato ottenuto ed estratto nella directory Videos/UCF-101 . L'integrità del dataset veniva valutata tramite verifica del checksum o riproduzione manuale, e eventuali file corrotti venivano esclusi dall'elaborazione successiva.
Ambiente computazionale
Tutti gli esperimenti sono stati condotti in Python 3.10 su Windows 10/11 o Ubuntu 20.04+. L'ambiente software includeva tensorflow==2.17.0, opencv-python, scikit-image, numpy, pandas e tqdm. Veniva utilizzato un minimo di 8 GB di RAM e l'accelerazione GPU veniva impiegata quando disponibile.
Estrazione del telaio
I fotogrammi video venivano letti tramite CV2. VideoCapture() e la conversione in scala di grigi venivano effettuate utilizzando cv2.cvtColor. I frame risultanti venivano memorizzati in ordine sequenziale all'interno della directory Frames per preservare la coerenza temporale.
Rete di funzionalità di base
Una rete neurale convoluzionale sequenziale è stata impiegata per elaborare i 224 × 224 frame in scala di grigi. Sono stati utilizzati strati convoluzionali, pooling e densi, e il modello è stato addestrato per cinque epoche con l'ottimizzatore Adam e la perdita binaria di entropia incrociata per stabilire rappresentazioni di caratteristiche di base.
Allocazione e compressione del bitrate
La complessità dei frame a livello di pixel veniva stimata e utilizzata per determinare l'allocazione proporzionale del bitrate. Veniva applicata la compressione JPEG con Q-values adattivi, e i frame processati venivano salvati nella directory Processed per ulteriori valutazioni.
Valutazione della qualità
Per ogni frame elaborato venivano eseguiti calcoli SSIM, PSNR e MSE. Le metriche risultanti venivano compilate in file CSV, e i grafici di visualizzazione venivano generati e memorizzati nella directory Output .
Esecuzione finale
L'intero flusso di lavoro veniva eseguito utilizzando framework.run(). Questa esecuzione ha prodotto l'insieme finale di frame elaborati, riassunti metrici e grafici di valutazione.
1. Ottimizzazione dello streaming video di qualità adattiva
1.1 Panoramica dell'architettura di sistema
Qui viene presentato un metodo per ottimizzare lo streaming video specificamente per reti 5G e oltre attraverso il framework AQVSO. L'approccio combinava diversi elementi all'avanguardia che si completavano a vicenda per migliorare la QoE e massimizzare l'uso delle risorse di rete. Veniva utilizzata una pipeline complessa per elaborare i flussi video, con ogni componente specializzato in un'area specifica dell'ottimizzazione video. Durante tutto il processo di streaming, il sistema ha garantito una manutenzione ottimale della qualità e un'elaborazione bilanciata.
1.2 Pre-elaborazione video e analisi iniziale
1.2.1 Estrazione dei frame e base di qualità
Il framework di ottimizzazione fornito si basava sul passaggio di pre-processing video, che utilizzava tecniche avanzate di analisi per stabilire standard di qualità e preparare il contenuto video per l'elaborazione successiva. All'ingresso nel sistema, un flusso video veniva sottoposto a una procedura accurata di estrazione dei fotogrammi che suddivideva il video in singoli fotogrammi ed esaminava le correlazioni temporali tra i fotogrammi successivi. Questa elaborazione preliminare catturava la dinamica temporale del video e impostava i parametri di elaborazione appropriati per l'intero stream. Per un video in input V, i fotogrammi venivano estratti e processati attraverso la seguente formulazione matematica:
(1)
La risoluzione dei fotogrammi veniva calcolata come m e il conteggio totale dei fotogrammi come n. I fotogrammi venivano estratti preservando la coerenza temporale del video per consentire l'elaborazione parallela nelle fasi successive. La base di qualità è stata stabilita implementando un approccio innovativo alla fusione. Sono stati combinati più metriche di qualità per creare una valutazione di qualità completa. La QoE iniziale complessiva è stata determinata utilizzando i parametri specificati.
(2)
È stata considerata l'importanza di questo approccio di fusione, poiché affrontava i limiti delle singole metriche di qualità. L'Indice di Similarità Strutturale (SSIM) ha catturato aspetti della qualità percettiva che le metriche tradizionali avrebbero potuto trascurare, mentre il Rapporto Segnale-Rumore (PSNR) ha fornito una misurazione oggettiva della qualità, e l'Errore Quadratico Medio (MSE) ha offerto un confronto diretto a livello di pixel. I fattori di ponderazione α1.α 2.α 3 non erano statici; invece, si adattavano dinamicamente in base alle caratteristiche del contenuto. Ilfattore di peso i è stato calcolato usando:
(3)
Dove,
Qi è il sistema i, i = 1,2... n
Qj è il j-esimo frame, j = 1,2... n, i non è uguale a j
I fattoriimportanti μ sono stati determinati attraverso un'ampia analisi empirica di vari tipi di contenuti video per garantire che l'aggiustamento dinamico del peso mantenesse una valutazione della qualità rilevante tra diversi tipi di contenuti video e condizioni di visione. Sono stati considerati fattori come la complessità del movimento, la densità della texture e l'importanza percettiva delle diverse regioni.
1.2.2 Analisi della complessità dei contenuti
La complessità dei contenuti è stata analizzata come componente cruciale del quadro attraverso un approccio multidimensionale che quantificava vari aspetti dei contenuti video. Questa analisi è stata fondamentale per decisioni informate sull'allocazione delle risorse e sui parametri di compressione nelle fasi successive. È stata introdotta una metrica di complessità completa che considerava gli aspetti spaziali, temporali e percettivi dei contenuti video, data da:
(4)
La componente di complessità spaziale Cs(f) è stata calcolata analizzando i dettagli e la distribuzione delle texture all'interno di ogni fotogramma tramite l'analisi del gradiente. Questa misurazione veniva utilizzata per identificare aree che richiedevano una maggiore allocazione di bit per mantenere la qualità.
(5)
La componente di complessità temporale Ct(f) è stata calcolata per quantificare l'intensità del movimento tra fotogrammi consecutivi, poiché questa misurazione era essenziale per prevedere il comportamento di compressione e determinare le dimensioni dei buffer appropriate.
(6)
La componente di complessità percettiva Cp(f) ha integrato modelli di visione umana per dare priorità alle regioni che erano percettivamente significative per gli spettatori.
(7)
1.3 Estrazione di caratteristiche usando reti convoluzionali di attenzione a grafi scarsi
Una nuova architettura Sparse Graph Attention Convolutional Network (SGA-ConvNet) è stata implementata nella fase di estrazione delle caratteristiche di AQVSO, segnando un miglioramento sostanziale rispetto alle reti convoluzionali convenzionali per l'elaborazione video. L'SGA-ConvNet è stato progettato per essere particolarmente adatto alla gestione di dati video ad alta dimensione in contesti a risorse limitate, combinando l'efficacia delle convoluzioni rase con l'adattabilità dei meccanismi di attenzione. Questa architettura di rete affrontava il problema fondamentale della cattura delle dipendenze temporali e spaziali nei contenuti video. Durante l'elaborazione dei fotogrammi video veniva costruito un grafo dinamico, con ogni nodo che rappresentava un punto caratteristico importante e gli archi indicavano come queste caratteristiche si relazionavano tra loro. Il sovraccarico computazionale è stato significativamente ridotto concentrando le risorse sulle regioni rilevanti preservando la connettività scarsa, a differenza delle reti convoluzionali convenzionali. Il funzionamento del core in ciascun livello è stato definito attraverso:
(8)
H(l) rappresentava le rappresentazioni delle caratteristiche allo strato l, con A ̃ che indicava la matrice di adiacenza dell'attenzione normalizzata. W(l) conteneva le matrici di pesi apprendibili e σ rappresentava la funzione di attivazione non lineare. La rete era consentita ad apprendere rappresentazioni gerarchiche delle caratteristiche mantenendo la scarsità nel grafo di calcolo. Il meccanismo di attenzione, cruciale per l'elaborazione adattiva delle caratteristiche, veniva calcolato dai:
(9)
αij rappresentava il coefficiente di attenzione tra i e j, e [hi ∣∣ hj] indicava la concatenazione dei loro vettori caratteristiche. L'attivazione LeakyReLU veniva utilizzata per prevenire gradienti di nullità preservando la capacità della rete di apprendere dalle caratteristiche negative. Il meccanismo di attenzione aggiustava dinamicamente l'importanza delle diverse connessioni di caratteristiche in base alla loro rilevanza per il contenuto del frame corrente.
1.4 Controllo della velocità dinamica tramite reti neurali adattiva a spiking
Il controllo del tasso dinamico è stato implementato nel framework AQVSO (Figura 1) tramite l'architettura ASNN, un approccio biologicamente ispirato alla gestione delle velocità di streaming video. L'ASNN è stato progettato specificamente per gestire la dinamica temporale dello streaming video adattandosi alle condizioni di rete in rapido cambiamento. Questo componente è stato ritenuto cruciale per preservare la qualità dello streaming ottimizzando al contempo l'uso della larghezza di banda in diverse condizioni di rete. Le informazioni venivano elaborate tramite picchi discreti nell'ASNN, imitando le reti neurali biologiche, offrendo diversi vantaggi in termini di efficienza energetica e elaborazione temporale. Il potenziale di membrana dei neuroni che spikano è stato lasciato evolvere secondo il seguente:
(10)
V(t) rappresentava il potenziale di membrana al tempo t, Va riposo era impostato come potenziale di riposo e τm come la costante di tempo della membrana. I(t) è stato calcolato a partire dalle condizioni della rete e dalla complessità dei contenuti. Il rumore adattivo è stato introdotto tramite σ(t)N(0,1) per migliorare la robustezza. Questo termine di rumore aiutava la rete a mantenere la stabilità quando affrontava rapide fluttuazioni nelle condizioni di rete. Il meccanismo di controllo del tasso è stato implementato utilizzando uno schema di adattamento sofisticato:
(11)
R(t) rappresentava il bitrate target, S(t) rappresentava il tasso di picco della rete neurale, B(t) indicava la larghezza di banda disponibile ed E(t) rappresentava il termine di errore derivato da metriche di qualità. Il termine esponenziale expp(-λE(t)) è stato utilizzato per fornire un adattamento fluido alle variazioni di qualità prevenendo al contempo il comportamento oscillatorio nel sistema di controllo del tasso.
1.5 Ottimizzazione della compressione guidata dalla qualità
Un approccio innovativo è stato implementato nella fase di ottimizzazione della compressione che combinava metriche di qualità percettiva con strategie di compressione consapevoli dei contenuti. Questa fase è stata resa fondamentale per ottenere compromessi ottimali tra qualità e dimensione nel flusso video compresso. È stato utilizzato uno schema di compressione adattivo a regione che allocava i bit in base sia all'importanza del contenuto sia ai requisiti di qualità percettiva.
(12)
C (r,t) rappresentava il rapporto di compressione per la regione r al tempo t, e C base(r) veniva usato come rapporto di compressione di base determinato dalla complessità del contenuto. Q(r,t) è stato definito come indicativo del fattore qualità. φi (r,t) è stato implementato per rappresentare vari fattori di aggiustamento, tra cui intensità del movimento, densità dei bordi e importanza percettiva.
1.6 Allocazione delle risorse attraverso reti di credenze profonde con ottimizzazione delle colonie di formiche
Il meccanismo di allocazione delle risorse in AQVSO è stato configurato per implementare un approccio ibrido che combina Deep Belief Networks (DBN) con Ant Colony Optimization (ACO), stabilendo una soluzione innovativa al complesso problema della distribuzione ottimale delle risorse nei sistemi di streaming video. Le capacità di apprendimento delle reti di credenze profonde sono state sfruttate per il riconoscimento di pattern nell'uso delle risorse, mentre i punti di forza di ottimizzazione degli algoritmi di colonie di formiche sono stati utilizzati per decisioni di allocazione delle risorse in tempo reale. Il sistema DBN-ACO è stato progettato per affrontare la sfida fondamentale di bilanciare i requisiti immediati di risorse con gli obiettivi di ottimizzazione a lungo termine in ambienti di rete dinamici. Il componente DBN è stato implementato utilizzando una struttura di apprendimento gerarchica composta da più Restricted Boltzmann Machines (RBM), con ogni livello che cattura schemi sempre più astratti nell'utilizzo delle risorse. La distribuzione di probabilità dell'attivazione delle unità nascoste è stata modellata attraversando:
(13)
hi rappresentava le unità nascoste, v le unità visibili, bi i i i e Wij i i pesi di connessione. Questa modellazione probabilistica è stata utilizzata per catturare dipendenze complesse nei modelli di utilizzo delle risorse mantenendo l'adattabilità alle condizioni mutevoli. La componente ACO è stata implementata con una strategia di ottimizzazione dinamica basata su feromoni.
(14)
(15)
τij rappresentava i livelli di feromoni, con p che fungeva da tasso di evaporazione Δτij (t). era definito come l'aggiornamento dei feromoni, e ηIJ rappresentava il valore euristico basato sulle condizioni attuali della rete e sulla disponibilità delle risorse.
1.7 Gestione adattiva del buffer e recupero errori
Un sofisticato sistema di gestione dei buffer è stato implementato nel framework AQVSO che si adattava dinamicamente alle diverse condizioni di rete e alle caratteristiche dei contenuti. Questo sistema è stato progettato per mantenere la continuità dello streaming minimizzando la latenza e prevenendo condizioni di sottoflusso o overflow del buffer. È stato implementato un approccio adattivo innovativo che considerava sia le statistiche di rete sia la complessità dei contenuti.
(16)
B(t) veniva mantenuto come dimensione target del buffer, QoE(t) come qualità attuale dell'esperienza, σ(t) veniva monitorato come metrica di stabilità di rete e φ(σ(t)) implementato come funzione adattativa per modulare la dimensione del buffer in base alla variabilità della rete. Il meccanismo di recupero errore è stato eseguito utilizzando un approccio multilivello che combinava la prevenzione proattiva degli errori con strategie di recupero reattivo. All'interno del sistema veniva mantenuta una finestra scorrevole di riferimenti ai telai.
(17)
p veniva usato per rappresentare la probabilità di successo di un singolo tentativo di recupero, n veniva preso come il numero di tentativi e T(t) veniva applicato per rappresentare il tempo trascorso dal rilevamento dell'errore. Questo termine di decadimento esponenziale è stato utilizzato per garantire che gli sforzi di recupero fossero adeguatamente prioritizzati in base alla rilevanza temporale.
1.8 Valutazione della qualità e integrazione del feedback
Il sistema di valutazione della qualità ha implementato un approccio completo che combinava molteplici metriche di qualità con fattori di esperienza utente. Questa integrazione è stata cruciale per mantenere un'alta QoE ottimizzando al contempo l'utilizzo delle risorse. Il sistema implementò una nuova fusione metrica di qualità:
(18)
NB(t) veniva calcolato come il rapporto di buffering normalizzato, SB(t) come frequenza di commutazione e M(t) come fattore di qualità del movimento. I pesiw i sono stati regolati dinamicamente in base al tipo di contenuto e alle condizioni di visione.
(19)
Θi era rappresentato come i pesi base, e f(C(t)) veniva applicato come funzione di aggiustamento dipendente dal contenuto. Il sistema di integrazione a retroazione è stato implementato come un meccanismo di controllo ad anello chiuso.
(20)
e(t) era impostato per rappresentare l'errore tra la metrica di qualità target e quella raggiunta, mentre K1,K 2,K 3 erano definiti come parametri di guadagno adattivi che si adattavano in base alle condizioni di rete e alle caratteristiche del contenuto.