Tecnologie |
Dettaglio dell'articolo:
giovedì 08 ottobre 2009
Codec Video: Motion-JPEG MPEG-4 e H.264
Un'immagine di un video non compressa occupa una dimensione di circa 1Mb. Per ottenere un video che sembri fluido è necessario avere una frequenza di almeno 25 o 30 immagini al secondo, il che produce un flusso di dati di circa 30 Mb/s, ossia più di 1.5 Gb al minuto. E' evidente che questo tipo di capacità di banda è poco compatibile con gli spazi di stoccaggio dei PC ne tanto meno con le connessioni di rete di privati o di piccole e medie imprese.
Per ovviare a questo problema, sono stati creati i cosiddetti CoDec (COmpressione/DECompressione) , ovvero degli algoritmi che sono in grado di ridurre-comprimere i flussi di dati video, attraverso la rimozione dei dati ridondanti, riducendo notevolmente le dimensioni dei file con effetti minimi o comunque non negativi sulla qualità delle immagini.
I codec video si basano su tecnologie di compressione standard o proprietarie. Oggi la maggior parte dei fornitori di tecnologie video di rete utilizza tecniche di compressione standard, in quanto garantiscono compatibilità e interoperabilità. Inoltre l'utilizzo di sistemi basati su standard, soprattutto nel caso si stia progettando un sistema di videosorveglianza, permette agli utenti finali di scegliere tra diversi fornitori, anziché essere legati a uno solo.
Da tener presente che i codec video di standard diversi non sono generalmente compatibili tra loro, ovvero il video compresso con uno standard (es: MPEG-4) non può essere decompresso usando un altro standard (es: H.264); in quanto i due standard usano algoritmi di compressioni diversi. Tuttavia è possibile implementare più algoritmi nello stesso software o hardware e consentire in questo modo la coesistenza di più formati. Un esempio di ciò è dato dalla telecamera di rete P3344 della Axis Gli standard di compressione
I vari standard di compressione utilizzano metodi diversi per ridurre i dati e offrono, quindi, velocità di trasmissione in bit, qualità e latenze (ovvero il tempo richiesto per comprimere, trasmettere, decomprimere e visualizzare un file) diverse.
Gli algoritmi di compressione si suddividono in due tipi: compressione delle immagini e compressione video.
La compressione delle immagini utilizza una tecnologia di codifica intra-fotogramma: i dati vengono ridotti all'interno di un fotogramma/immagine semplicemente rimuovendo le informazioni non necessarie che potrebbero essere non visibili all'occhio umano. Motion JPEG è un tipico esempio di standard di compressione di questo tipo. Motion JPEG o M-JPEG
Motion JPEG è il formato più comunemente usato dai sistemi video di rete. Le telecamere di rete, come le videocamere digitali, acquisiscono le singole immagini e le comprimono nel formato JPEG. Una telecamera di rete è in grado di acquisire e comprimere, ad esempio, 30 immagini singole al secondo (ovvero 30 fps -fotogrammi al secondo) e di trasmettere un flusso continuo di immagini in rete alla postazione di visualizzazione. Se la velocità di trasmissione è pari o superiore a 16 fotogrammi al secondo, le immagini vengono percepite come video full motion. Questo metodo viene chiamato Motion JPEG o M-JPEG. Poiché ogni immagine rappresenta un'immagine JPEG completa, tutte le immagini hanno sempre la stessa qualità che varia a seconda del livello di compressione scelto per la telecamera di rete o il server video.
Nel formato Motion JPEG le tre immagini della sequenza mostrata vengono codificate e trasmesse come immagini univoche distinte senza dipendenze tra loro. MPEG-4MPEG-4 è una delle tecnologie di streaming audio e video più note che si basa sulla la predizione inter-fotogramma. Questa tecnica prevede che la prima immagine compressa del video registrato dalla telecamera, ovvero il primo fotogramma, venga usa come fotogramma di riferimento; mentre per i fotogrammi successivi vengono trasmesse solo variazioni-movimenti rispetto al primo fotogramma, mentre le parti statiche non vengono ritrasmesse . Le postazioni di rete utilizzate per la visualizzazione ricostruiscono tutte le immagini utilizzando l'immagine di riferimento e i dati degli elementi diversi, e riproducendole nella sequenza video originale.
Nel formato MPEG-4 solo la prima immagine (fotogramma di riferimento) viene codificata interamente. Per le due immagini successive vengono stabiliti dei collegamenti agli elementi statici della prima immagine, come la casa. Solo gli oggetti in movimento, come l'uomo che corre, vengono codificati in modo da ridurre la quantità di informazioni trasmesse e memorizzate. H.264 o MPEG-4 Parte 10/AVC
Lo standard H.264 o MPEG-4 Parte 10/AVC (dove AVC è l'acronimo di Advanced Video Coding) rappresenta uno straordinario avanzamento nell'ambito della tecnologia di compressione video.
Confronto tra la velocità di trasmissione in bit di un flusso video della durata di 115 secondi offerto dai vari standard di compressione video, a parità di qualità delle immagini. I codificatori che utilizzano lo standard H.264 sono tre volte più efficienti rispetto a quelli che utilizzano lo standard MPEG-4 senza compensazione del movimento e fino a sei volte più efficienti rispetto allo standard Motion JPEG./italic>
Semplificando, lo standard H.264, funziona nel seguente modo: il fotogramma di ogni video viene suddiviso in una griglia di blocchi (da 16x16 pixels fino ad un minimo di 4x4 pixels), e per ogni blocco viene ricercata una corrispondenza tra i fotogrammi precedenti o successivi allo stesso (tecnica nota come stima di movimento).Quando viene individuata una corrispondenza tra un blocco di un fotogramma e quello del fotogramma precedente, i dati corrispondenti a questo blocco non vengono ritrasmessi, ma viene inviato solo un vettore che punta alla struttura corrispondente del fotogramma di riferimento insieme ad alcune informazioni per correggere eventuali piccole differenze di struttura. Nei casi in cui la stima del movimento non riesca a trovare dele corrispondenze adeguate, l'algoritmo di compressione usa la struttura dei blocchi vicini nello stesso frame per predire la struttura a blocchi e conservare la differenza tra la struttura prevista e quella effettiva.
H.264 utilizza blocchi di compressione più piccoli in aree con molto movimento Commenti:
Scrivi un commento:
|
|
||||||||||||||