Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

 

ALLEGATO SI-IES

NOTA TECNICA

ALGORITMI DI COMPRESSIONE AUDIO VIDEO

1

       

        
              Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

Sommario 

1.  2. 

INTRODUZIONE ........................................................................................................................... 4  DIFFERENZA TRA FLUSSI AUDIO E VIDEO .................................................................................... 5  2.1  Formato container .............................................................................................................. 6 

3.  4 

COMPRESSIONE .......................................................................................................................... 8  TECNICHE DI COMPRESSIONE ................................................................................................... 13  4.1  4.2  4.3  4.4  4.5  Tecniche di compressione intra‐frame ............................................................................. 13  Tecniche di compressione intra‐frame: DPCM ................................................................. 13  Tecniche di compressione intra‐frame: tecniche a trasformata ....................................... 15  Tecniche di compressione inter‐frame ............................................................................. 19  Tecniche di compressione inter‐frame: motion compensation  ....................................... 20  .

CODIFICA ................................................................................................................................... 22 

5.1  Codifica dei vettori di spostamento: vector quantization ........................................................ 22  5.2  5.3  Qualità dei CODEC ............................................................................................................. 23  Algoritmi di Change Detection .......................................................................................... 25  Change detection: Full Frame Scene Change Detection (FDY e FDYUV)  .................. 26  . Change detection: Morphological Scene Change Detection .................................... 27 

5.3.1  5.3.2  5.4  5.5  6 

Il Codec adattivo e il decimatore di frame adattivo .......................................................... 30  Tag e ricerca intelligente ................................................................................................... 35 

ALGORITMO JPEG  ..................................................................................................................... 36  . 6.1  M‐JPEG .............................................................................................................................. 40 

STANDARD DI CODIFICA: MPEG ................................................................................................ 42  7.1  Componenti dell'MPEG‐4 .................................................................................................. 49 

STANDARD  ITU H.263 ............................................................................................................... 52  8.1  Stima e compensazione del moto ..................................................................................... 55 

2

       

        
              Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

8.2  8.3  8.4  9. 

L’Entropy coding................................................................................................................ 57  Controllo della codifica ..................................................................................................... 58  Il decoder .......................................................................................................................... 58 

STANDARD H.264 ...................................................................................................................... 60 

10.  ANALISI DEI CODEC ................................................................................................................... 67  10.1  10.2  Codec Lossless analizzati: .................................................................................................. 67  Codec Lossy analizzati ....................................................................................................... 70  MPEG‐4 AVC .............................................................................................................. 70  MPEG‐4 ASP .............................................................................................................. 71  non‐MPEG‐4 .............................................................................................................. 72 

10.2.1  10.2.2  10.2.3 

11  VALUTAZIONE ........................................................................................................................... 75  11.1  11.2  Codec Lossless ................................................................................................................... 75  Codec Lossy ....................................................................................................................... 76 

3

    4 .  Questo  fatto  è  dovuto  alla  recente  nascita  di  applicazioni  come  le  videoconferenze  e  la  videotelefonia.  si  pensi  al  problema  di  voler  trasmettere  un  filmato  in  forma  digitale  senza  compressione  di  dimensioni 720 x 576 (quelle dello standard PAL).G.263.  Lo  stream  sarà  quindi  così  composto:  8  bit  per  ogni  campione  delle  componenti  che  rappresentano il colore. 414 720 pixel (720  x 576) per ogni frame. 3 componenti di colore (R. Si ottiene  una banda necessaria di 248832000 bit = 250Mbit/s circa.  In questa direzione si muovono numerosi gruppi di ricerca sia nel mondo dell’industria sia  in  quello  accademico. che certamente rappresenta un  valore decisamente elevato.  Volendo  avere  un’idea  dell’ordine  di  grandezza  delle  quantità  in  questione.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  1. INTRODUZIONE  Negli  ultimi  anni  è  decisamente  cresciuto  l’interesse  che  i  nuovi  settori  della  tecnologia  hanno rivolto alle tematiche di codifica video digitale. e  che fa parte di un insieme numeroso di algoritmi per il trattamento di dati audio e video.   Il bisogno di trattare informazioni sempre meno ridondanti e ridurre la quantità effettiva  di bit usati è quindi particolarmente sentito in tutte le applicazioni multimediali.B) per ogni pixel.   Si tratta di uno standard reso tale dalla International Telecommunication Union (ITU). 25 frame/s come frequenza di ripetizione delle immagini. sono comunque  sovente insufficienti per la grande mole di dati che si vuole trattare.  I  canali  di  telecomunicazione  hanno  un’intrinseca  limitatezza  in  termini  di  capacità  di  trasportare dati: un risparmio di banda comporta quindi inevitabilmente una diminuzione  dei  costi  nel  realizzare  i  sistemi  e  la  possibilità  di  sfruttare  al  meglio  le  risorse  a  disposizione.  ed  è  in  questa  ottica  che  è  stato  sviluppato  il  sistema  di  codifica  H.   Questi ultimi.  oltre  che  alla  necessità  di  immagazzinare  e  trasportare  informazione  di  tipo video su supporti elettronici. pur crescendo in continuazione in dimensioni e prestazioni.

62 MB.  Facendo  alcuni  esperimenti  si  nota  subito  come  un  piccolo  cambiamento  nel  settaggio  della  codifica  video  influisca  molto  sul  file‐ size  finale. tipicamente 16 o 24 bit (al massimo 32).100 = 705. DIFFERENZA TRA FLUSSI AUDIO E VIDEO  Quando si vuole comprimere un video ci si trova a dover fare i conti con diversi parametri  di  configurazione.000 bit = 605. E' quindi un valore a 4 dimensioni in cui i fattori sono:  valore  del  pixel.  E'  importante  a  questo  punto  capire  la  differenza.  in  termini  di  spazio  occupato. anche se la qualità video sarà scarsa.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  2.800 MB.  Un  dato  video.  Un  minuto  di  audio  stereo  non  compresso  pesa  10  MB.  Un  minuto  di  video non compresso pesa 1780 MB.  qualsiasi  codec  si  utilizzi.080.  larghezza.  in  relazione  alla  frequenza  desiderata. Questo valore  viene registrato un certo numero di volte in un determinato intervallo di tempo (di solito  un  secondo).  mentre  cambiando  i  parametri  per  l'audio  non  si  ottengono  variazioni  significative.  ha  bisogno  tipicamente  anch'esso  di  24‐bit  per  essere  rappresentato  correttamente  ma  questo  valore  va  moltiplicato  per  il  numero  di  linee  orizzontali e verticali dell'immagine.  tra  differenti  tipi  di  dato  multimediale.  un  ora  605  MB. Quindi  un flusso audio campionato tipicamente a 16 bit e 44.1 Khz (qualità cd) occuperà  16 x 44.  Come  già  detto  nell’introduzione  per  un  immagine PAL 720x576  occorreranno circa 30MB/s. quindi si registrano 2 flussi audio) non compresso  saranno quindi necessari 2 x 16 x 44.  Campionare  un  suono  a  32  Khz  significa registrare la variazione del segnale di ampiezza 32.100 x 60 x 60 = 5.  Un  flusso  audio  è  in  un  certo  senso  bidimensionale:  un  suono  ha  bisogno  di  un  solo  numero  per  la  sua  rappresentazione  (il  valore di ampiezza del segnale). un'ora 106. Abbiamo quindi un rapporto di  178:1. Si  conclude  che  lo  spazio  richiesto  per  memorizzare  un  flusso  video  non  compresso  è  enormemente  maggiore  di  quello  richiesto  per  memorizzare  un  flusso  audio.320.  Pertanto  una corretta e bilanciata codifica di un documento audiovisivo avrà sempre un audio di  ottima qualità.600 bit/s = 86.  o  pixel.  Nei  codec  lossy  però  il  rapporto  di  compressione  (ovvero  lo  spazio  di  memorizzazione  richiesto dal file compresso comparato a quello richiesto dal file non compresso) su dati  5 . ovvero i dati video non compressi pesano 178 volte più di quelli audio (stereo).13 KB/s  Per un'ora di audio stereo (a 2 canali.  altezza  e  tempo.000 volte al secondo.

mkv” è  un  formato  container  Matroska.1 Formato container  Un formato container è un formato di file che può contenere vari tipi di dati multimediali.  I  formati  container  più  semplici  possono  contenere  un  solo  tipo  di  audio o video codificato.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  di tipo video è quasi sempre largamente superiore rispetto a quello su dati di tipo audio. L'estensione di un file caratterizza il tipo di container: per esempio “prova. sottotitoli. Popolarità: quanto largamente è diffuso e supportato un container.  Da  notare  che  il  termine  “formato  container”  viene  spesso  abbreviato  solo  in  “container”  oppure  direttamente  in  “formato”  creando  così  una  certa  confusione  terminologica. Un film di due ore in AVI può occupare fino a 3 MB in più dello  stesso film in Matroska. specializzato  per i dati multimediali. I container più vecchi come AVI non  supportano  nuove  funzionalità  come  B‐Frames. capitoli e meta‐dati (tags).  VFR  nativo. Conoscendo le specifiche del container il programma dedicato è in  grado  di  identificare  e  interpretare  i  differenti  tipi  di  dato  e  di  farne  l'interleaving  (ad  esempio individuare e settare un valore che stabilisce quanto spesso i flussi audio e video  sono  sincronizzati).  Le  differenze tra i vari container risiedono in cinque principali punti:  1. ma creando così problemi di  incompatibilità  6 .  VBR  audio.  L'audio  può  essere  compresso  a  10:1  senza  perdita  di  qualità  percettibile.  Si potrebbe dire che il container sia un sottoinsieme del concetto di formato. AVI è ancora il  container  più  popolare  sebbene  ormai  sia  obsoleto.  “prova. insieme con le informazioni necessarie  per riprodurre i vari flussi sincronizzati. video.rm”  è  un  formato  container  Real  Media. mentre i più avanzati (e flessibili) sono in grado di raggruppare  audio.  Ad esempio WAV è un container audio semplice  mentre mp4 è un container flessibile che può gestire al suo interno molti tipi di audio e  video. Supporto per funzionalità avanzate dei codec.  3. Sovra‐spazio:  è  la  differenza  in  MB  tra  due  file  con  lo  stesso  contenuto  ma  due  container diversi.  Questo di fatto attenua un po' la forbice tra audio e video.  perché  è  stato  lo  standard  adottato nei sistemi Microsoft  2.  sebbene  possano essere "truccati" per aggiungere il supporto.  il  video  può  essere  compresso  anche  oltre  300:1  senza  che  l'occhio  umano  scorga  le  differenze.    2.

 come capitoli. meta‐tags.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  4. sottotitoli. Supporto per lo streaming. 7 .  5. Supporto per contenuto avanzato.      Confronto tra i container più diffusi: Matroska è il formato container di dominio pubblico: è sicuramente il  migliore e il più flessibile. user‐data.

  Supponiamo  di  rimuovere  le  vocali.  l’unico  modo  per  far  occupare  meno  spazio  ad  un  file  è  eliminare  alcuni  bit. Gli oggetti da comprimere sono in questo caso rappresentati dai file.  modificando  l’informazione  in  esso  contenuta.  8 .  Il  concetto  di  compressione.  essendo  dotate  di  una  CPU.  l’informazione  risultante sarà: “Dmn ptrbb pvr”.  Modificare  l’informazione.  si  riflette  nel  mondo  informatico  con  significati  simili  alla  compressione fisica. ma una tazza.                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  COMPRESSIONE  Per il trasferimento d'immagini.  hanno  la  capacità  di  calcolo  sufficiente  per  questa  operazione.  che  occupa  23  locazioni. vista la grossa mole di dati che compone i file audio/video  è necessario ricorrere a strumenti di compressione.  è  equivalente  però a cambiare la natura dell’oggetto.  di  qualsiasi  natura  essi  siano  e  il  volume  occupato  prima  e  dopo  la  compressione  è  associabile allo spazio occupato dal file sul supporto di memorizzazione.  La  compressione  e  la  gestione  della  stessa  è  demandata  alle  telecamere  digitali  che.  Il vantaggio che si ottiene con questi strumenti è una riduzione dei dati da trasferire. che rappresentano l’ informazione. Il file sarebbe praticamente inutilizzabile.  Il  termine  “compressione”  viene  solitamente  associato  all’operazione  che  implica  la  modifica  della  forma  di  un  oggetto  reale  affinché  occupi  un  volume  inferiore  rispetto  a  quello  occupato  nella  forma  originale. inoltre la natura stessa dell’oggetto compresso non cambia.  Per  capire  meglio  cosa  comporta  la  compressione  di  un  file.  non è possibile comprimere i bit avvicinandoli come si farebbe con un qualsiasi oggetto  fisico.  ma  solo  una  diminuzione del volume. ma  per contro un'altra compressione comporta anche un alto degrado dell'immagine.  supponiamo  di  avere  una  stringa di 30 locazioni nella quale abbiamo memorizzato la frase: “Domani potrebbe   piovere”.        3. in tal caso l’unita  di misura dello spazio occupato non saranno i metri cubi ma i byte.  Si  osservi  tuttavia  che  la  compressione  di  un  oggetto  reale  non  comporta  in  alcun  modo  una  diminuzione  del  peso. è come se una bottiglia di plastica schiacciata non  fosse più una bottiglia di plastica.  La  differenza  fra  compressione  fisica  e  informatica  riguarda  la  natura  degli  oggetti  da  comprimere: un file è una sequenza di numeri binari.

  non  riusciremmo  però  a  capirne  il  senso  e  pertanto  l’informazione compressa è inutilizzabile se usata in tale forma. Di seguito si descriveranno le tecniche  di compressione sulle quali si basano i principali algoritmi.   Esso  si  basa  sull’analisi  statistica  del  dato  da  comprimere. più economica in termini di spazio occupato. per poterne in seguito recuperare il contenuto  nella sua interezza o in casi specifici.  l’algoritmo  è  usato  per  la  compressione  dei  testi  e  richiede  lo  studio  della  frequenza con la quale ciascun carattere compare nelle parole.  Riassumendo.  La  compressione  statistica.  mentre  i  file  video  e  audio.  come  suggerito  dal  nome.  è  sostituito  un  codice  di  lunghezza  inferiore.  In  linea  di  principio. il modo in cui deve essere costruita una sua buona  approssimazione.  generalmente  molto  capienti.  ma  tale  processo  lo  rende  inutilizzabile.  possono  essere  scaricati da un terminale remoto più velocemente.  Consideriamo  un  file  di  testo.  il  principio  di  funzionamento  è  molto  semplice:  ad  ogni  carattere  codificato  con  un  codice  a  8  bit.     I dati compressi presentano altri vantaggi oltre quello di recuperare spazio sui supporti di  memorizzazione: dati di dimensioni ridotte possono essere recuperati più facilmente dai  database.  Si  supponga  per  esempio  di  voler  comprimere  la  frase  “ciao  mamma”:  tenendo  conto  del  carattere  “spazio”  (‘  ‘)  la  9 .  di almeno  1  bit.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  La  frase  compressa.  l’unico  modo  per  comprimere  un  file  è  modificare  l’informazione  in  esso  contenuta  rimuovendo  parte  degli  elementi  costituenti.  occupa  uno  spazio  di  13  locazioni.  Il  problema  da  porsi  quando  si  progetta  un  algoritmo  di  compressione.  si  basa  sullo  studio  statistico  dei  dati  da  comprimere.  è  quindi il modo in cui sarà compresso il file. Se ora volessimo sapere che tempo farà domani e andassimo a leggere il  contenuto  della  stringa.    Le tecniche di compressione sono due ed entrambe si basano proprio sulla ripetizione di  elementi  costituenti  l'informazione:  compressione  statistica  e  compressione  mediante  sostituzione di testo o con dizionario.  Un  esempio  è  rappresentato  dall’algoritmo  di  Huffman.  sono  disponibili  in  totale  17  locazioni  per  memorizzare  altre  informazioni  rispetto  alle  7  disponibili  prima  della  compressione.  in  particolare  sulla  frequenza  con  la  quale  si  ripetono  i  suoi  elementi.

  L’ultimo  nodo  della  lista. si  cercano  i  due  nodi  con  ricorrenza  inferiore  e  viene  generato  un  nuovo  nodo etichettandolo con la somma delle ricorrenze di ciascun carattere nel  testo. quindi le associazioni sono: C:1. Il processo  avviene in 3 momenti:  1.  Nella seconda fase viene generato un albero detto albero di Huffman. M =11. etichettato con il valore 10. “O”. “ ‘ ‘ “ si ripetono una volta.  2.   Nella  seguente  figura  è  possibile  osservare  come  viene  modificata  la  lista  ad  ogni  iterazione. il processo di compressione avviene in quattro fasi. i caratteri “A” ed “M” si  ripetono tre volte.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  frase  è  lunga  10  caratteri. O =  010. I nodi‐foglia diventano figli del nodo generato. ’ ’:1. ciascun  nodo rappresenta un carattere.  3. O:1. Nel nostro caso si ottiene la seguente codifica: C = 000.  si  ottiene  percorrendo  l’albero  di  Huffman  dalla  radice  alla foglia corrispondente al carattere da codificare e concatenando le etichette associate   agli archi percorsi. “I”. il nuovo nodo viene aggiunto alla lista dei nodi. A = 10. I:1.  Applicando l’algoritmo di Huffman.   Nella  prima  fase  viene  esaminato  il  testo  contando  le  ricorrenze  di  ciascun  carattere  e  fornendo  in  output  le  associazioni  “carattere:ricorrenza”. viene generata una lista di nodi raggruppati in ordine di ricorrenza. ‘ ’ = 011.  La  codifica  di  ciascun  carattere. I = 001.  quindi  la  codifica  richiede  80  bit  (8  bit  x  10  char  =  80  bit).  10 . M:3.  Nel  nostro  caso i caratteri “C”.  Il secondo e il terzo passo vengono iterati finché non rimane un solo nodo. rappresenta ovviamente la radice dell’albero di Huffman  le cui foglie sono i caratteri che compaiono nel testo da comprimere. A:3.    Il processo si conclude etichettando gli archi a sinistra con zero e quelli a destra con 1.  Il  risultato  dell’elaborazione  è  mostrato  nel  riquadro  5.

  La  necessità  di  conoscere  le  proprietà  del  file  da  comprimere  fa  spesso  preferire  alla  compressione statistica. Luisa  Si è associato a ciascuna parola un indice in relazione all’ordine con il quale le parole sono  state  memorizzate  nel  dizionario.  5. inoltre  quanto  maggiori  saranno  le  ricorrenze  di  stringhe  identiche. a tutte è associato un indice.  la  sorella  di  Sara. Sara  2. usciranno questa sera. supponiamo di voler comprimere il seguente testo: “Sara indossa  un  maglione  giallo.”  Il dizionario risultante dalla scansione è il seguente:  1. l'indice. la compressione mediante sostituzione. si cercano nel testo le stringhe ripetute e viene sostituito ad ognuna  un  puntatore  alla  locazione  occupata  nel  dizionario. Un  4. vengono cercate le stringhe di caratteri che si ripetono nel testo  e viene definito un dizionario nel quale memorizzarle.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Sul  risultato  ottenuto  possono  essere  fatte  importanti  osservazioni.  Il  principio  di  compressione  si  basa  sul presupposto che un puntatore occupa meno spazio di una stringa di caratteri. La tecnica si compone di  due fasi: nella prima fase. è in definitiva:    “1 2 3 4 giallo.  usciranno questa sera.  che  sottolineano  l’importanza dell’algoritmo di Huffman per la compressione dei file e quanto sia in realtà  complessa la logica alla base. Indossa  3.  Luisa.  indossa  un  maglione  verde.”    11 . Maglione  5.  Il  testo  risultante  dalla  compressione.  ottenuta  sostituendo alle parole del dizionario che compaiono nella frase.  5 e 1.  tanto  maggiore  sarà  la  compressione  del  file. 2 3 4 verde.  Per  capire  meglio  i  vantaggi  offerti  dalla  tecnica  di  compressione  mediante sostituzione. la sorella di 1.   Nella seconda fase.  Luisa  e  Sara.

 Il problema sta nel determinare  quali  sono  i  livelli  di  grigio  più  probabili  nell’insieme  di  tutte  le  scene  possibili. i livelli di grigio o di colore) non sono equiprobabili. In altri termini. La codifica di Huffmann  usa un bit‐rate variabile (VBR).  vengono  conservate  le  caratteristiche  originali  dei  dati.  ed  è  possibile  usare  tali  informazioni nel passaggio dalla forma compressa a quella non compressa per ricostruire  il file originale.  i  codificatori di Huffmann utilizzati dai compressori video si basano su statistiche effettuate  su  un  gruppo  di  immagini  campione.   Gli algoritmi di compressione si basano tutti sul tali tecniche. riducendo così il bit‐rate medio.  dalle  quali  vengono  estrapolati  i  simboli  più  probabili.                            12 . cioè assegna meno bit (quindi parole più corte) ai simboli  più probabili. ovviamente ciascuna tecnica  di adatta particolarmente alla compressione di specifici tipi di file. e quindi  non occorre usare parole di uguale lunghezza per rappresentarli.   La  codifica  di  Huffmann  permette  di  fare  una  compressione  loss‐less  e  si  basa  sul  fatto  che i simboli (in questo caso. e più bit ai  simboli meno probabili.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  La  compressione  mediante  sostituzione  ha  un  ulteriore  vantaggio:  la  possibilità  di  ricostruire facilmente il testo originale sostituendo ai puntatori le stringhe corrispondenti  e preservando quindi la natura stessa dell’informazione contenuta nel file.

  ma  sottrarre.  Si  può  comprimere  quindi  tagliando  le  componenti  ridondanti  (a  cui  l’occhio non è sensibile) con filtri numerici.    13 .  e  che  quindi  porta  informazioni su se e sugli altri.  significa  derivare.2 Tecniche di compressione intra‐frame: DPCM  Σi[αi sen(ωi) + βi(ωi)] La  codifica DPCM  è  la via  più  semplice  per eliminare  la  ridondanza  spaziale.  e  cioè  amplificare  il  rumore  deteriorando così l’immagine.  in  modo  tale  che  il  rumore.  modellizzato  come  AWGN.  che  rappresenta  l’immagine digitale trasformata nel dominio della frequenza.  Si  potrebbe  quindi  pensare  di  trasmettere solo il primo pixel per intero. mentre è molto sensibile a quelle a  basse  frequenze.        4                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  TECNICHE DI COMPRESSIONE  Tecniche di compressione intra‐frame  4. e  parte  dal  presupposto  che  un  pixel  è  correlato  sempre  con  quelli  adiacenti.  in  matematica  discreta.    4. Per ovviare a questo basta predire il pixel attuale con quelli  adiacenti  pesati.    Altre  codifiche  intra‐frame  si  basano  su  test  psicovisivi  fatti  sull’occhio  umano  che  descrivono  la  sua  sensibilità  a  certe  componenti  frequenziali:  l’occhio  umano  non  percepisce le componenti ad alte frequenze spaziali. ricordando che molti segnali possono essere  rappresentati come somma pesata di sinusoidi:      I  coefficienti  αi  e  βi  possono  essere  organizzati  in  una  matrice. e i successivi come differenza del precedente.1 Osservando  una  qualunque  immagine  si  osserva  che  questa  è  divisibile  in  tante  regioni  che  hanno  valori  di  luminanza  e  crominanza  molto  simili:  i  pixel  di  ciascuna  di  queste  regioni  quindi  sono  molto  correlati  spazialmente.  si  autoelmini  come nel caso dell’utilizzo della tecnica DPCM.

 e predirre i  pixel  successivi  dai  pixel  adiacenti  già  compressi. Per evitare questo occorre ricostruire l’immagine a trasmettitore.  14 .  Il  predittore  esegue  una  combinazione  lineare  dei  pixel  adiacenti  pesati  con  dei  coefficienti  ci.  verrà  acquisita  solo  l’informazione. poiché ogni pixel dipende da quelli adiacenti.  scelti  in  modo  da  minimizzare  l’errore  quadratico  medio  tra  la  predizione  e  il  pixel  attuale  su  una  vasta  gamma di immagini (addestramento del predittore).  così  da  ridurre  notevolmente  la  propagazione dell’errore.  cioè  la  reale  informazione contenuta in quello. In questo modo. ma non  lo è: il predittore potrebbe produrre un valore non intero.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    Quindi  tramite  i  pixel  adiacenti  (logicamente  quelli  passati)  viene  predetta  parte  dell’informazione  del  pixel  attuale  tramite  un  predittore. l’errore si propagherà  e  aumenterà  (poiché  la  quantizzazione  introdurrà  altri  errori)  fino  a  distruggere  l’immagine. cioè arrotondata. Tuttavia. A prima vista questo processo sembra loss‐less. così che l’informazione debba  essere quantizzata. ottenendo così in ricezione un’immagine diversa da  quella reale. togliendo al pixel  attuale  l’informazione  predetta.

 i punti con alte frequenze orizzontali e verticali rappresentano i vertici.  Qf =W-1 Q W       15 . che posso trasformare nel dominio  della frequenza tramite la matrice dei coefficienti W.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO      4. La trasformata di Q è quindi:                                             Un’immagine  trasformata  si  presenta  come  un  insieme  di  punti  concentrati  per  lo  più  lungo  le  assi  x  e  y  delle  frequenze  spaziali  che  rappresentano  le  transizioni  di  livello  di  grigio.3 Tecniche di compressione intra‐frame: tecniche a trasformata  Un’immagine digitale equivale a una matrice Q (N×N).

  possiamo  considerare  quest’ultimi  come  componenti  ridondanti  sotto  l’aspetto  psicovisivo.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Poiché  l’occhio  umano  vede  solo  i  contorni  e  le  macchie  di  colore.  otterrò  una  matrice  trasformata  a  valori  reali:  questo  equivale  a  applicare  la  DCT  (Discrete  Cosine  Tranform).  16 .  Occorre  quindi  trovare  il  modo  di  replicare  la  nostra  immagine in modo da trasformarla in un segnale periodico pari.  ma  non  distingue  i  vertici.  e  questo  è  dovuto  alla  discontinuità delle repliche dell’immagine. infatti se trasformo tramite la DFT una matrice  pari.  Una trasformata possibile è la DFT ( Discrete Fourier Transform): per fare questa occorre  replicare infinite volte l’immagine lungo le 2 dimensioni       L’unico  inconveniente  della  DFT  è  che  produce  valori  complessi. Quindi è possibile comprimere un’immagine in maniera lossy filtrando via le  componenti psicovisive ridondanti.

  0  se  l’elemento  è  da  filtrare  via.  17 . tramite l’immagine di warping.  Il  numero  di  bit  usati  per  quantizzare  gli  elementi della matrice filtrata sono scritti in un’altra matrice detta Bit‐Allocation Map.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    Quindi. posso effettuare la DCT ricavando così una matrice  trasformata a valori reali. A questo punto devo filtrare la matrice trasformata in modo da  tagliare via le componenti ridondanti: questo sarà fatto tramite una matrice delle stesse  dimensioni della matrice di warping detta Zonal Coding Mask. che vale 1 se l’elemento è  da  tenere.

 utilizzando una quantizzazione piuttosto grezza che porta alla perdita del  dettaglio  più  fine  rendendo  estremamente  visibile  la  struttura  a  blocchi  dell'immagine ricostruita.. Gli  artefatti  di  tipo  blocking  (chiamati  anche  macroblocchi.  la  maggior  parte  dei  bit  viene  spesa  per  la  codifica  dei  vettori  di  moto  piuttosto  che  per  la  codifica  del  residuo.)  che  derivano  dalla  decomposizione  in  blocchi:  quando  il  bit‐rate  scende.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    Il  problema  fondamentale  dei  codificatori  ibridi  DPCM/DCT  sono  le  distorsioni..  18 .  che  generano 2 tipi di artefatti:   1.

  questo  è  dovuto  al  fatto  che  l’intertempo  tra  due  frame  consecutivi  è  piccolo.  Tuttavia  se  c’è  un  movimento  più  veloce  (sia  della  telecamera. Gli  artefatti  di  tipo  Ringing  .  usando  la  prima  immagine come predizione della seconda: in questo modo si invierebbe solo una piccola  quantità d’informazione  avendo eliminato la ridondanza temporale.  e  trascurare  quello  rotatorio:  questa  tecnica  è  detta  compensazione  del  movimento  o  motion  compensation  (MC)  ed  è  un  potente  strumento  per  ridurre  la  ridondanza  temporale tra due frame.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  2. il  frame verrebbe compresso  in  maniera  molto  efficiente.  sia  dell’oggetto).  cioè  quella  serie  di  aloni  che  si  possono  notare  sui  contorni principali delle immagini decodificate.4 Tecniche di compressione inter‐frame  Consideriamo 2 frame consecutivi di un video: se gli oggetti o la telecamera si muovono  lentamente le 2 scene sono altamente correlate temporalmente. riuscendo invece a predire il movimento di un oggetto nel frame successivo.  i  due  frame  non  risultano  più  correlati  e  quindi  il  metodo  esposto  prima  non  sarebbe  così  efficiente.  19 . è possibile quindi fare la  differenza  tra  il  secondo  frame  ed  il  primo  e  trasmettere  questa.  per  cui  è  possibile  apprezzare  solo  il  movimento  traslatorio.    4.

 in cui il blocco può essersi spostato.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  4.  viene  ricercato  nel  frame  n‐1  il  blocco  più  simile  nella  target  window:  il  criterio  di  similitudine  si  basa  sulla  minimizzazione  di  una  funzione  MAD.  Dopo  aver  applicato  questa  operazione  al  frame  n‐1.  supponiamo  inoltre  che  nessun blocco possa superare una certa velocità limite di traslazione: conoscendo quindi  la  durata  di  ciascun  frame.5 Tecniche di compressione inter‐frame: motion compensation  Considerando  2  frame  consecutivi  n‐1  e  n  e  dividendoli  in  blocchi  quadrati  di  8×8  pixel  (blocchi da 64 pixel).  si  ricava  il  vettore  di  spostamento.    Supponiamo che tutti i pixel dello stesso blocco facciano lo stesso movimento e che ogni  blocco  presente  nell’immagine  n  provenga  dall’immagine  n‐1.  chiamata target window. nell’immagine n‐1.  posso  definire  una  regione  limitata  nell’immagine  n‐1. individuiamo tutti i blocchi da 64 pixel  possibili:  2  blocchi  contigui  sono  quelli  che  differiscono  di  1  riga/colonna  di  pixel.  questo  viene  moto‐ compensato.  Trovato  il  blocco  più  simile.  Considerando  quindi  un  blocco  8×8  dell’immagine  n. cioè vengono spostati opportunamente i pixel dei blocchi secondo il vettore  20 .     All’interno della target window.

                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  di moto ricavato e quindi viene sottratto dal frame corrente creando quello che si chiama  residuo  o  errore  di  predizione.  A  questo  punto  anziché  codificare  il  frame  corrente  vengono codificati i vettori di moto e i coefficienti DTC del residuo che sarà più facilmente  comprimibile.                                                    21 .  Questa  tecnica  di  MC  si  chiama  block  matching  proprio  perché  confronta  blocco a blocco.

 Vediamo  come funziona: usando il block matching si osserva che gruppi di blocchi 8×8 si muovono  più  o  meno  nella  stessa  direzione  e  con  la  stessa  velocità  (poiché  rappresentano  il  medesimo  oggetto  in  movimento).  La codifica più semplice si chiama SIMINI che permette di comprimere i vettori del 50%:  non si inviano più due componenti.        5                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  CODIFICA  Codifica dei vettori di spostamento: vector quantization  5. e viene associato ad ognuno di essi un gruppo in base alla vicinanza. ma una sola.  Quindi.   22 .  si  vuole  trovare  una  tecnica  che  mi  comprima  la  rappresentazione dei vettori.  supponiamo  che  siano  stati  contati  N  gruppi. e se quantizzo a  8  bit  occorreranno  16  bit.  allora  dispongo  sulla  diagonale  principale  N  nodi  (tanti  quanti  il  numero dei gruppi).     Un  computer  riesce  ad  individuare  gruppi  di  oggetti  e  a contarli. introducendo dei piccoli errori.1 Supponiamo di voler codificare un vettore 2D: necessitano 2 componenti. otteniamo sottoinsiemi di punti raggruppati.  se  rappresentiamo  in  un  grafico  i  possibili  spostamenti dei blocchi.

     Si  definisce  code‐book  lo  strumento  che  associa  ad  ogni  classe  (zona)  un  vettore  che  individua il suo baricentro.2 Qualità dei CODEC  I  metodi  d’analisi  scelti per  confrontare  i  codec  sono  2:  un  approccio parametrico  e  un  approccio psicovisuale.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    Quindi viene spostato ogni nodo nel baricentro del gruppo assegnatogli e divido lo spazio  2D  in  N  regioni. È chiaro il fatto che più alto è N e più è alta l’accuratezza.  enfatizzando  gli  errori  più  grossolani  rispetto  a  quelli  23 . quali:   • La distanza euclidea (RMSE) tra i frame originali e quelli elaborati.  ognuna  delle  quali  sarà  identificata  dal  vettore  che  ne  individuerà  il  baricentro.   5. che esprime la  somiglianza  tra  i  2  stream. L’analisi parametrica consiste nella ricerca del codec ottimo per le  necessità del sistema esaminando un insieme di parametri numerici.

  in  modo  da  scegliere  un  codec che non oberi troppo la CPU.  dovuta  a  componenti  frequenziali  spaziali  alte  (poco  rilevanti  per  24 . che è definito come:  PSNR(framei) = 10 log (255)2⁄MSE     ed  è  misurato  in  decibel. Dalla distanza e dallo SNR. non si riescono a capire :  a) gli effetti del rumore.  • Il bit‐rate all’uscita dell’encoder.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  più  piccoli. Più alto è SNR e maggiore è la fedeltà.  visto  che  la  distanza  euclidea  è  una  misura  dell’errore. occorrerà stare all’interno di un certo range per  soddisfare  le  specifiche  dei  sistemi  di  comunicazione  usati.  questo  perché  alla  trasmissione  video  non  sarà  dedicata  una  rete.  ma  lo  stream  utilizzerà  la  stessa  rete usata anche per altri servizi. infatti.  • Il rapporto segnale – rumore (SNR). tramite il confronto visivo  tra lo stream originale e quello elaborato.  • Il  numero  di  bit  in  uscita  dell’encoder  per  valutare  le  dimensioni  dei  frame  e  quindi il rapporto di compressione.  piccoli  valori  rappresentano maggiore fedeltà.   L’analisi  psicovisuale  consiste  nel  raffronto  visivo  tra  lo  stream  originale  e  quello  compresso‐decompresso. che è definito come:        dove MSE è il quadrato della distanza euclidea.  • L’utilizzo  della  CPU  durante  la  processazione  dei  dati. gli aspetti sensibili che la distanza e lo SNR tra  frame non riescono a estrarre.  b) le componenti frequenziali che li determinano. questa analisi permette di valutare.  SNR  enfatizza  i  piccoli errori rispetto a quelli grossolani. Le valutazioni verranno fatte in media.  • Il rapporto segnale‐rumore di picco (PSNR).  A  differenza  della  distanza  euclidea. un codec con una distanza  alta.

  Questo  sistema  è  molto  robusto al rumore ma poco efficiente in real‐time. Tali  variazioni significative si chiamano cambi di scena.  5.  2.3 Algoritmi di Change Detection  I  sistemi  di  video  sorveglianza  hanno  il  compito  di  controllare  ambienti  e  usualmente  contengono  moduli  che  permettono  il  rilevamento  le  variazioni  significative  del  luogo  vigilato: insomma questi moduli misurano la dissimilarità tra l’immagine attuale e quella  di riferimento.   In realtà esisterebbe un altro algoritmo basato sull’ edge‐comparison.  ma  influenzata  da  frequenze  più  basse  e  quindi  più  rilevanti  per  l’occhio.  ma è poco robusto nei confronti del rumore. come per esempio l’ingresso di una persona  25 .  Un  cambio  di  scena  per  esempio  potrebbe  essere  l’ingresso  di  un  uomo  in  una  stanza  prima  vuota.  può  essere  migliore  di  un  codec  con  una  distanza  più  piccola. In un sistema di video sorveglianza per interni come quello in questione  sarà data maggiore importanza al rilevamento di “nuovi oggetti” o “blob” all’interno del  frame attuale rispetto a quello precedente. che però ha un alto  costo  computazionale  e  quindi  non  è  indicato  per  sistemi  con  richieste  temporali  stringenti come il real‐time. e inoltre controllano se questa dissimilarità sia significativa oppure no.  Gli algoritmi di change detection sono oltre caratterizzati da una metrica. Algoritmi  region‐based:  comparano  regioni  di  pixel  di  un’immagine  con  corrispondenti  regioni  dell’immagine  di  riferimento.  Questo  sistema  presenta  il  vantaggio di essere semplice e utilizzabile facilmente nelle applicazioni real‐time.  Le  tecniche  di  change  detection  presentate in letteratura sono sostanzialmente due:  1.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  l’occhio  umano). Algoritmi pixel‐based: che elaborano l’output analizzando e confrontando pixel a  pixel  l’immagine  attuale  e  quella  di  riferimento.   La scelta degli algoritmi di change‐detection per le specifiche del progetto in questione si  basano  su  constatazioni  riguardo  al  maggiore  o  minore  contenuto  significativo  delle  singole immagini. e gli algoritmi che permettono questo  sono  detti  di  Change  Detection. introdotta per  quantificare  la  differenza  tra  pixel/regioni  e  per  mettere  una  soglia  che  permette  di  decidere se il pixel/la regione analizzata è cambiata rispetto a quella di riferimento.

1 Change detection: Full Frame Scene Change Detection (FDY e FDYUV)  L’algoritmo  di  Full  Frame  Scene  Change  Detection  (FDY  e  FDYUV)  è  un  metodo  pixel‐ based  e  basa  la  misura  della  dissimilarità  sul  confronto  tra  gli  istogrammi  di  luminanza.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  nella  scena  fino  ad  allora  immobile. V in un solo byte con una distribuzione di bit del genere: Y : U : V = 2 : 3 : 3. Morphological Scene Change Detection.  V  rispettivamente  4.  8.  dati  gli  istogrammi  Hr  (dell’immagine  di  riferimento)  e  Hj  (dell’immagine  attuale).  U. Full  Frame  Scene  Change  Detection  (FDY  e  FDYUV).  Per  questo  sono  stati  scelti  2  algoritmi che rispettino queste necessità:  1. per il rilevamento dei blob.3.  2.  cioè  vengono  assegnati  a  Y.  Allo  stesso  modo  è  possibile  realizzare  questo  algoritmo  in  modo  tale che tenga conto anche delle informazioni di crominanza: sarà chiamato FDYUV (full  decompression luminance and crominance histogram scene detection algorithm).  definisco  indice  di  similitudine  normalizzato il valore:      È  facile  vedere  che  la  somma  al  denominatore  è  il  numero  totale  di  pixel  per  frame.  e  sapendo  che  ognuno  presenta  n  livelli  di  grigio.  5. L’unica  differenza tra FDY e FDYUV è che viene considerata l’informazione colore quantizzando il  vettore Y.  per  il  rilevamento  delle  variazioni di luminanza e crominanza.  come  nel  caso  di  un  incendio.  La  ragione  per  cui  si  26 .  o  al  rilevamento  di  rapide  variazioni  dei  valori  di  luminanza  e  crominanza.  A  questo punto è possibile definire l’indice di dissimilarità di 2 immagini come:      Chiamiamo questo algoritmo FDY (full decompression with luminance histogram scene  detection  algorithm). U.  8  livelli.

  come  quello  di  opening  (erosion  +  dilation)  e  quello  di  closing  (dilation  +  erosion).3.2 Change detection: Morphological Scene Change Detection  L’algoritmo del Morphological Scene Change Detection è un ibrido tra il pixel‐based e il  region‐based. lo SE Bi centrato nel pixel i‐ esimo viene diviso in 2 regioni disgiunte.  5. che avvengono frequentemente. per il basso costo computazionale e per  la  maggiore  efficienza  rispetto  al  mathematical  morphology  viene  utilizzato  il  mathematical soft morphology. che genera un aumento di dimensioni dell’oggetto considerato. Per definire un operatore morfologico occorre scegliere  uno Structuring Element (SE) B.  Nel metodo mathematical soft morphology con dati binari.  • Erosione. dei quali 2 deterministici  (mathematical  morphology  and  soft  morphology)  e  2  stocastici  (statistical  morphology  and statistical soft morphology).  È  possibile  rappresentare  un  SE  centrato  sul  pixel  i‐esimo  come  un  gruppo  di  pixel  adiacenti.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  assegnano meno bit alla componente Y è per ridurre la probabilità di falsi allarmi causati  da cambi di illuminazione. Per la semplicità.  In letteratura è possibile trovare 4 tipi di operatori morfologici.  In  questo progetto verrà considerato un SE quadrato. A (hard structuring element o HSE) e Bi/A (soft  27 . e definire il comportamento delle 2 funzioni elementari:  • Dilatazione. le forme più comuni di SE sono:    La  composizione  degli  operatori  di  dilatazione  ed  erosione  da  vita  a  filtri  più  complessi. poiché presenta i vantaggi di ambedue: si ottiene questo usando un filtro  binario morfologico che ad ogni pixel di input associa un pixel di output che dipende sia  da se stesso che da quelli vicini.  Un SE può essere visto come una filtering mask. che genera una diminuzione di dimensioni dell’oggetto considerato. che mi individua i pixel adiacenti a quello  attuale e sui quali effettuare le 2 operazioni elementari.

 MAi0  rappresentano rispettivamente il numero di bit pari a “1” all’interno dello  HSE  Ai  e  il  numero  di  bit  pari  a  “0”  all’interno  dello  HSE  Ai.  mentre  M1Bi/Ai.      Quindi viene definita la dilatazione come:  Hi= 1      if r*MAi1 +MBi\Ai1> r  Hi= 0      otherwise    E l’erosione come:  Hi= 1      if r*MAi0 +MBi\Ai0 > r  Hi= 0      otherwise    dove MAi1.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  structuring  element  o  SSE).  e  viene  scelto  un  parametro  di  peso  r  che  da  maggiore  importanza ai pixel dello HSE. in particolare:  r = HSE2‐ HSE/2    Quindi un sistema di change detection basato su operatori morfologici binari presenta la  seguente architettura:  28 .  M0Bi/Ai  rappresentano  rispettivamente  il  numero  di  bit  pari  a  “1”  all’interno  dello  SSE  Bi/Ai  e  il  numero  di  bit  pari  a  “0”  all’interno  dello  SSE  Bi/Ai.  Al  peso  r  viene  assegnato  un  valore  leggermente minore del numero di pixel dello HSE.

 questa distanza è uguale a un livello di grigio.  se  questa  differenza  è  maggiore  di  un  valore  di  soglia th.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO      Il primo passo è quello di confrontare l’immagine di riferimento o background B = {B(i)|i =  1… N} (N è il numero totale di pixel di un frame).  Quando le immagini processate assumono una forma vettoriale.  29 .  allora  l’operazione  di  binarize  difference  viene  applicata  a  ogni  canale  dell’immagine. e i risultati binari saranno ottenuti effettuando l’OR logico tra gli output di  ogni canale. che rappresenta o l’ambiente controllato  o maglio ancora un frame poco precedente. per  fare  questo  viene  eseguita  una  binarize  difference. per esempio nel formato  RGB. e l’immagine attuale It = {It(i)|i = 1… N}. ma a causa del  rumore  introdotto  dai  dispositivi  di  acquisizione. La soglia th indica la minima differenza di illuminazione per considerare 2 pixel  differenti.  che  consiste  nell’effettuare  la  sottrazione  pixel  a  pixel  tra  il  background  e  l’immagine  attuale  e  fissando  il  valore  di  output  per  il  pixel  in  questione  a  “1”. nel caso ideale.  l’operazione  sarà  più  robusta  se  sarà  fissata  una  soglia  più  alta  (una  soglia  reale  è  compresa  tra  i  10  e  i  25  livelli  di  grigio).

 Il  quant  member  che  fissa  il  valore  del  quantizzatore  della  DCT.  5.  I  coefficienti  di  dissimilarità.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Dopo  la  differenza  binaria. produrranno un fattore di qualità (qf.  I  parametri  presi  in  considerazione  per  variare la qualità sono:  1. che. tramite l’erosione.  generati  dagli  algoritmi  di  change  detection.  viene  utilizzato  il  morphological  processing  per  eliminare  i  pixel isolati e dovuti al rumore e compattarli nelle regioni in cui è avvenuto veramente un  cambio: per fare questo si usa l’algoritmo di opening.4 Il Codec adattivo e il decimatore di frame adattivo  Codec  adattivo  significa  un  codec  che  si  adegua  a  delle  circostanze  in  modo  tale  da  soddisfare  certe  specifiche. in modo tale da far variare il livello di qualità della compressione a  ogni  variazione  dell’indice  di    dissimilitudine  dell’immagine  attuale  rispetto  a  quella  di  riferimento. che fissano l’algoritmo di ME (Motion Estimation).  può  assumere  valori  che  vanno  da  1  (massima  qualità)  a  31  (minima  qualità). tramite la dilatazione.  I “motion” flags.  Verrà utilizzato  il  30 .  in  questo  studio  il  codec  si  “adatterà”  allo  stream  video  in  base ai cambi di scena.  2.  che  chiamerò  indice  di  dissimilarità. rimuove i  pixel isolati. e. I “VOP” flags.  confrontatati con soglie. ricompone le regioni divise dall’erosione. che fissano i parametri per la generazione dei vettori di spostamento  dei VOP.        A  questo  punto  calcolo  il  valore  percentuale  dei  pixel  “bianchi”.  e  che  andrà  a  pilotare  il  livello  di  qualità  del  compressore:  a  ogni  valore  di  qf  corrisponderà  un  livello  di  qualità.  3. che può assumere valori  che  vanno  da  0  a  6).

    Il codec adattivo sarà composto essenzialmente da 2 oggetti:  Un grabber che recupererà l’immagine non compressa e farà partire gli algoritmi  di change detection. da un lato.    Gli algoritmi di change detection utilizzati sono quelli menzionati precedentemente: Full  Frame  Scene  Change  Detection  (FDY  e  FDYUV).    CODEC ADATTIVO    Un’altra  strada  parallela  per  diminuire  il  bit‐rate  medio  è  quella  di  agire  sul  frame‐rate.  poiché  più  sensibile  alle  variazioni  dei  livelli  di  luminanza  e    crominanza.  in  particolare il mathematical morphology. È  da  notare  che  non  verranno  recuperati  tutti  i  frames.  L’ encoder.  ma  solo  alcuni  distanti  temporalmente un certo intervallo ΔT variabile da utente. in modo che. 25]. non si abbia una qualità  troppo bassa. il cui livello di qualità sarà controllato dalle oscillazioni dei parametri  logici introdotti dagli algoritmi di change detection. più sensibile al movimento. dall’altro. non si ottengano frame troppo  grossi e si rallenti la velocità di processazione. e.  utilizzando infatti la relazione che lega il frame‐rate istantaneo col bit‐rate istantaneo        31 fr = br\n . avendo come immagine di riferimento quella precedente.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  range di valori [10.  e  il  Morphological  Scene  Change  Detection.

  Un  grabber  che  permetterà  il  calcolo  del  bit‐rate  medio  fino  a  quel  momento  e  quindi del frame rate necessario a stare sotto‐soglia.  Il  filtro  decimatore è pilotato in maniera adattiva:  1.  quindi  per  valori  non  significativi  di  change  detection.  che  elimina  frame  equidistanziati  in  modo  da  ridurre  il  frame  rate  a  un  valore  voluto. altrimenti. viene utilizzato il valore di frame‐rate associato al valore di  qf.  Per  valori  bassi  di  qf  (<  2.  32 . dai valori di qf : a ogni valore di qf è associato un valore di frame‐rate.      Il decimatore adattivo sarà composto essenzialmente da 3 oggetti:  Il decimatore di frame. che imposterà un frame‐rate che dipenderà. dal  valore  massimo  di  bit‐rate  medio  richiesto  da  utente  utilizzando  al  relazione  precedente.  che  equivale  a  un  frame  con  basso  contenuto  informativo)  il  framerate  è  il  minore  tra  i  2  proposti.  per  realizzare  questo  è  viene  progettato  un  filtro  decimatore.  2. avendo come immagine di riferimento quella precedente. posso scartare frame riducendo il bit‐rate medio senza perdere informazioni  significative. come detto  dal valore di qf e dalla soglia di bit‐rate medio  Un grabber che recupererà l’immagine non compressa e farà partire gli algoritmi  di change detection. cercando di perdere il meno possibile frame con alto contenuto informativo. per qf ≥ 2.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  fr= Frame Rare           br= Bit Rate            n= Numero di Bit per Frame    e  considerando  il  fatto  che  frame  adiacenti  hanno  più  o  meno  lo  stesso  contenuto  informativo.

  Vengono proposte 2 strade per la generazione della soglia:  Lineare: le soglie sono equispaziate di un valore percentuale di 14.  Innanzi  tutto  sono  possibili 3 configurazioni per la scelta dell’indice di dissimilarità da utilizzare:  1.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    L’ultima  cosa  da  analizzare  è  la  generazione  del  fattore  di  qualità  qf  in  funzione  degli  indici  di  dissimilarità  calcolati  dai  2  algoritmi  di  change  detection. visto che sono  contemplati 7 livelli di qf  33 . L’utilizzo  l’indice  di  dissimilarità  prodotto  dall’algoritmo  di  Morphological  Scene  Change Detection  2. L’utilizzo del valore massimo dei due indici  Quindi  occorre  definire  una  politica  di  generatore  di  soglie  con  cui  confrontare  l’indice  scelto. L’utilizzo  l’indice  di  dissimilarità  prodotto  dall’algoritmo  di  Full  Frame  Scene  Change Detection (FDY e FDYUV)  3.

  e  in  generale  i  livelli  più  bassi.  sarebbero  superati  troppo  velocemente  con  frame  con  contenuti  informativi  troppo  bassi.  rischiando di sprecare banda.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    Esponenziale: l’andamento delle soglie segue un andamento logaritmico secondo  la legge    Tuttavia  così  facendo  il  livello  di  qualità  “0”. Quindi la legge è stata modificata allargando il livello “0”:    34 .

  sarà  possibile  individuare  spezzoni di video che hanno tag maggiori uguali di queste soglie e vederli in playback.5 Tag e ricerca intelligente  Gli algoritmi di change detection. o suoi multipli.  sono uno strumento che mi permette di catalogare lo stream video in gruppi di frames.  quindi. oltre che permettere la realizzazione del codec adattivo.  Inserendo.  dei  valori  di  soglia  da  utente.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    A  questo  punto  è  possibile  creare  una  relazione  univoca  che  lega  il  valore  dell’indice  di  dissimilarità con il livello di qualità.  Quindi  ad  ogni  frame  analizzato  col  change  detection  verranno  associati  dei  tag  che  esprimeranno  il  livello  di  dissimilarità  tra  l’immagine  in  considerazione  e  quella  precedente.  pari al numero di immagini per ogni intervallo di tempo di scansione ΔT.  5.                  35 .

  ma  perde  la  percezione  del  colore.   Le specifiche JPEG descrivono tra l’altro un formato di compressione non distruttivo.   A riprova di quanto detto è sufficiente osservare che in condizioni di luce ridotta. l’occhio  si  abitua  a  tale  condizione.   il secondo passo implica l’applicazione della Trasformata Coseno Discreta (DCT).  Spesso  capita  di  sentir  parlare  del  JPEG  come  di  un  formato di compressione non distruttivo.        6                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  ALGORITMO JPEG  Si è già accennato alla descrizione del formato di compressione JPEG (Joint Photographic  Expert  Group).   il  primo  passo  implica  la  trasformazione  dell’immagine  dalla  modalità  RGB  alla  modalità YUV. In  secondo  luogo.  Si  è  notato anzitutto che le immagini. nello specifico le fotografie.  i  primi  3  passi  sfruttano i risultati ottenuti dalla ricerca.  Tali  differenze sono praticamente invisibili all’occhio umano nel complesso dell’immagine. presentano delle variazioni  di  colore  e  luminosità  graduali  con  differenze  infinitesimali  tra  pixel  adiacenti. ma a tale proposito occorre fare una precisione.   36 . il motivo di  tanto  successo  è  facilmente  comprensibile:  osservando  attentamente  un’immagine  nel  suo formato standard e la stessa immagine compressa in formato JPEG.  Il  merito  di  questo  risultato  sorprendente  è  da  ricercarsi  negli  studi  sulla  percezione  dell’occhio  umano.  Di  queste.  condotti  per  progettare  l’algoritmo  usato  per  la  compressione.  la  sperimentazione  ha  portato  alla  conclusione  che  l’occhio  umano  è  molto più sensibile alla luminosità di quanto non lo sia al colore delle immagini.  che  fa  parte  degli  algoritmi  di  compressione  di  tipo  lossy.  Questi  due  importati  risultati  della  ricerca  hanno  portato  alla  progettazione  di  un  algoritmo  di  compressione  JPEG  che  si  sviluppa  in  sei  fasi. eppure lo spazio occupato risulta notevolmente inferiore nel  caso dell’immagine JPEG.  In  altre  parole  i  colori  sono  percepiti  solo  in  condizioni  appropriate di luminosità.  JPEG  è  uno dei formati più usati in assoluto e non solo dalla comunità informatica. esse risulteranno  apparentemente identiche.  La  proposta  come standard venne presentata e approvata nel 1991 e nel 1992 e il JPEG è diventato  ufficialmente  uno  standard  ISO.  riuscendo  a  distinguere  solo  immagini  in  bianco  e  nero. non  più  usato  a  causa  della  sua  ridotta  efficienza  rispetto  alla  versione  “distruttiva”.

  E’ risaputo che numerosi formati di immagine rappresentano ciascun pixel con la triade di  colori  Red  Green  Blue  (RGB).  Il  primo  passo  dell’algoritmo  di  compressione  JPEG  implica  la  trasformazione  dell’immagine  dalla  modalità  di  rappresentazione  del  colore  RGB.   Un esempio è la rappresentazione YUV 4:2:2 che consente di rappresentare per ciascun  pixel.  cioè  24  bit  (3  x  8  bit)  per  ciascun pixel dell’immagine.  alla  modalità  YUV  (o  YCbCr). la U e la V sono dette invece componenti  differenza e rappresentano la crominanza.   L’immagine viene divisa in gruppi di pixel e per ogni gruppo si memorizza la luminanza di  ciascun pixel per intero.   La Y rappresenta la componente di luminanza.  per  quanto  detto  non  tutti  i  colori sono percepibili dall’occhio umano. tali componenti possono anche essere indicate  rispettivamente come Componente differenza del blue (Cb) e Componente differenza del  rosso (Cr). la luminanza con 1 byte e la crominanza con 1/2 byte per un totale di 2 byte per  pixel contro i 3 byte della rappresentazione RGB e YUV standard.  tuttavia. che sfrutta le caratteristiche percettive dell’occhio umano. La ricerca e gli studi condotti sulla percezione  delle immagini hanno portato alla conclusione che la luminosità è molto più rilevante del  colore.  La  somma  dei  contributi  di  ciascun  elemento  della  triade  consente  di  creare  qualsiasi  sfumatura  di  colore.   E’  evidente  che  la  trasformazione  non  implica  una  riduzione  di  spazio:  se  sono  infatti  necessari  8  bit  per  rappresentare  ciascuna  componente  RGB.  Queste  differenze  sono  alla  base  dell’idea  che  ha  portato  alla  definizione  dello  standard YUV.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  il terzo passo implica la rimozione degli elementi non percepibili dell’immagine. mentre si sceglie un campione di informazioni sulla crominanza  per ciascun gruppo. saranno necessari altrettanti bit per rappresentare un pixel  con la triade YUV. Il processo di conversione richiede l’applicazione di  37 .  Il  primo  passo  della  compressione  JPEG  implica  la  conversione  dell’immagine  dalla  rappresentazione RGB in quella YUV. Per ridurre lo spazio occupato  si ricorre ad una tecnica. inoltre tale processo non è irreversibile. con un risparmio di circa  il  33%.  Gli  effetti  della  compressione  JPEG  sono  quindi  evidenti  dal  primo  passo  dell’algoritmo ed è da subito chiara l’irreversibilità del processo.

 che  sfrutti  la  caratteristica  dell’occhio  umano  di  percezione  della  crominanza  e  della  luminanza.  La  DCT  trasforma  la  base  canonica  in  una  nuova  base  più  adatta  alla  compressione.    Per sfruttare meglio la ridondanza di pixel e semplificare i calcoli.  in  particolare trasforma il blocco di 8 X 8pixel nel dominio dello spazio.  i  blocchi  rappresentano  una  base  detta  base  canonica  per  le  immagini.   Altre rappresentazioni YUV sono: YUV 4:4:4 (come la YUV standard).     Come anticipato il terzo passo di compressione implica l’applicazione dell’algoritmo della  Trasformata Coseno Discreta (DCT).  in  queste  zone  l’intensità  del  contrasto  è  maggiore. Il  38 .  il  blocco  rappresentato  nel  dominio  della  frequenza  rappresenterà  valori  di  frequenza crescente dal coefficiente in alto a sinistra al coefficiente in basso a destra.  ogni  blocco  trasformato  sarà  rappresentato  da  uno  spettro  di  frequenza  dell’immagine costituita da un raggruppamento di pixel bianchi e neri. E’ evidente che la tecnica descritta comporta una perdita di informazione  e quindi è irreversibile. in un blocco di 8 X 8  coefficienti  nel  dominio  delle  frequenze. completata la fase di conversione.  sono  indicative  di  una  maggiore  concentrazione  di  energia.  In  termini  più  elementari.  che  meglio  si  adatta  alle  caratteristiche dei pixel che lo compongono.  Il  vantaggio  della  conversione  in  frequenza  delle  immagini  risiede  nella  possibilità  di  individuare con maggiore semplicità e precisione le aree di poco interesse.  Le  aree  bianche  di  uno  spettro  di  frequenza. può essere visto come un  vettore  nello  spazio  a  64  dimensioni. Ogni blocco di 8 X 8 pixel. YUV 4:4:0 (guadagno  di circa il 50%).  dopo  l’applicazione  dell’algoritmo.  a  tal  proposito  si  consideri  il  concetto  di  matrice  multidimensionale  in  C. le immagini sono divise  in  piani  che  a  loro  volta  sono  suddivisi  in  blocchi  di  8  X  8  pixel  (secondo  passo  di  compressione).  Ogni  piano  subisce  un’elaborazione  differente. si procede poi con il secondo  passo per la compressione JPEG.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  un semplice sistema lineare e di una tecnica per consentire una compressione iniziale.  In  generale. Queste aree  sono  rappresentate  da  alti  valori  di  frequenze  non  percepibili  dall’occhio  umano  e  rappresentano sezioni dell’immagine sacrificabili.

 apportando un contributo rilevante allo scopo.  Il  passo  successivo  è  strettamente  legato  ai  risultati  ottenuti  dall’applicazione  dell’algoritmo  DCT  ed  è  significativo nel processo di compressione.  I  coefficienti  vengono  infine  organizzati  in  modo  sequenziale  favorendo  una  lettura  a  zig‐zag.  consentendo  una  maggiore  efficienza degli algoritmi di compressione applicati. rappresentati nel dominio dello spazio.  Questa  disposizione  favorisce  la  lettura  sequenziale  di  elementi  simili  tra  loro. tutti gli altri in basso a destra saranno  azzerati.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  primo coefficiente del blocco in alto a sinistra rappresenta la media dei valori del blocco  nel  dominio  dello  spazio  ed  è  detto  Componente  Continua  (DC).  In  generale.  data  l’organizzazione di tali valori all’interno di un blocco.  quelli  più  alti  in  corrispondenza delle basse frequenze. in blocchi di  64 coefficienti. Il quarto passo dell’algoritmo di compressione JPEG.  procedendo  con  l’applicazione  di  un  algoritmo  di  compressione  non  distruttivo.  La  quantizzazione  comporterà  l’azzeramento  di  molti  coefficienti  del  blocco  in  corrispondenza  di  valori  di  frequenza  elevati  (valori  poco  rilevanti).  Quest’ultimo  è  generalmente  l’algoritmo  di  Huffman  già  descritto in modo esaustivo nel paragrafo sulla compressione dei file.  Questi valori.  consente  di  individuare  facilmente le  zone  “sacrificabili”  dell’immagine o  meglio  le aree  da tagliare per ridurne le dimensioni. I valori  più  bassi  sono  forniti  in  corrispondenza  delle  alte  frequenze. detti “coefficienti di quantizzazione”. rappresentati nel dominio della frequenza. Il processo implica l’arrotondamento all’intero più  vicino.  è detto di quantizzazione ed esegue l’eliminazione fisica di tali aree.   39 . tramite il processo di trasformazione descritto trasforma i blocchi di 64  pixel dell’immagine da comprimere.  Ovviamente  valori  bassi  implicheranno  un  maggior  numero  di  coefficienti  azzerati  con  una  più  evidente  granulosità  a  favore  di  una  maggiore  compressione.  Il  fattore  di  compressione  all’immagine  così  approssimata  viene  infatti  ulteriormente  migliorato  nel  quinto  passo.   Il  processo  implica  la  moltiplicazione  del  blocco/matrice  di  8  X  8  coefficienti  con  i  corrispondenti valori contenuti in una tabella detta “tabella di quantizzazione”. Questo processo come detto.  La scelta di un fattore di compressione delle immagini JPEG implica in definitiva la scelta  di  un  valore  di  scala  della  tabella  di  quantizzazione. sono tutti compresi tra 0 e 1. si avrà una piccola concentrazione di  elementi diversi da zero in alto a sinistra del blocco.  L’algoritmo DCT.

   Le  informazioni  sono  tali  da  poter  risalire  ad  una  rappresentazione  dell’immagine  che  consenta all’utente di sceglierne la qualità. nel sesto  e ultimo passo del processo di compressione vengono aggiunti al file JPEG così ottenuto la  tabella di quantizzazione e il vocabolario risultante dalla compressione con Huffman.  Per  consentire  una  certa  portabilità  dell’immagine  o  meglio.1 M‐JPEG  Il  Motion  JPEG  o  M‐JPEG  è  forse  il  più  usato  tra  gli  algoritmi  di  compressione  video. Il processo di decompressione è l’esatto opposto di  quello di compressione.  Le  telecamere  digitali  effettuano  acquisizioni  di  singoli  fotogrammi  e  ne  effettuano  la  compressione  in  formato  JPEG.  6.  per  consentire  di  variarne  il  formato di rappresentazione in base agli usi che se ne faranno successivamente. potendo se necessario optare per un fattore di  compressione superiore o inferiore.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    La  compressione  vera  e  propria  è  ora  conclusa  ed  è  chiaro  che  la  serie  di  interventi  eseguiti  sull’immagine  non  consentirà  più  di  risalire  al  suo  formato  originario.  A  compressione  avvenuta  la  telecamera  genera  una  trasmissione in flusso continuo di max. 30 immagini al secondo (30fps). Nel caso di una  trasmissione  superiore ai  16fps  le  immagini  vengono  percepite  dall'occhio  umano  come  40 .

 di solito  5  fotogrammi  al  secondo  o  meno.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  un movimento fluido. le  dimensioni  del  file  immagine  possono  diventare  piuttosto  grandi  e  utilizzare  una  larghezza  di  banda  e  uno  spazio  di  memorizzazione  maggiori.  Uno dei vantaggi dello standard Motion JPEG risiede nel fatto che le varie immagini di una  sequenza  video  possono  avere  la  stessa  qualità.264. nel senso che se durante la trasmissione si perde un fotogramma.  che  varia  a  seconda  del  livello  di  compressione  scelto  per  la  telecamera  di  rete  o  per  il  codificatore  video.  Lo  svantaggio  principale  dello  standard  Motion  JPEG  è  rappresentato  dal  fatto  che  non  utilizza tecniche di compressione video per ridurre i dati. In alcune  condizioni.  il  video  Motion  JPEG è "solido".      41 .  Poiché  non  esistono  legami  tra  i  fotogrammi  in  formato  Motion  JPEG. minore è la qualità delle immagini e la dimensione file. il resto  del video non verrà compromesso.  Il  formato  Motion  JPEG  è  uno  standard  caratterizzato  da  un'ampia  compatibilità  ed  è  diffuso in applicazioni in cui sono necessari singoli fotogrammi di una sequenza video (ad  esempio. per l'analisi) e in cui vengono utilizzate velocità di trasmissione ridotte.  Maggiore  è  il  livello di compressione. ad esempio di scarsa illuminazione o quando una ripresa diventa complessa.  Lo  standard  Motion  JPEG  può  essere  utile  anche  per  applicazioni che richiedono l'integrazione con sistemi che supportano solo Motion JPEG. poiché consiste in una serie di  immagini fisse e complete. Il risultato è una velocità di trasmissione in bit relativamente  alta o un rapporto di compressione basso per la qualità offerta rispetto agli standard di  compressione video MPEG‐4 e H.  Per  impedire  l'aumento  della  larghezza  di  banda  e  dello  spazio  di  memorizzazione  utilizzati.  i  prodotti  con  tecnologia  video  di  rete  consentono  all'utente  di  impostare  un  limite  massimo  di  dimensione file per un fotogramma immagine. Questo algoritmo di compressione prende il nome di Motion JPEG  perché  di  fatto  vengono  trasmesse  tante  immagini  complete  con  lo  stesso  livello  di  compressione/qualità in formato JPEG.

  Tale  formato  può  essere  considerato  un'evoluzione  dell'MPEG‐2 nella gestione di immagini provenienti dalla televisione digitale.  MPEG è nato nel 1988 e da allora ha prodotto diverse versioni dello standard.  MPEG‐2  E'  stato  sviluppato  a  partire  dall'MPEG‐1  ma  progettato  per  una  varietà  più ampia di applicazioni. ed è il soprannome attribuito all'  ISO/IEC JTC1 SC29 WG11:  • ISO: International Organization for Standardization  • IEC: International Electrotechnical Committee  • JTC1: Joint Technical Commitee 1  • SC29: Sub‐committee 29  • WG11: Working Group 11  MPEG è quindi un gruppo di lavoro internazionale che stabilisce degli standard dei sistemi  di  compressione  per  immagini  in  movimento  con  audio  associato.  cioè  la  possibilità  di  creare  soluzioni  di  codifica  e  decodifica  più  o  meno complesse in base al tipo di prodotto da realizzare.  nella  distribuzione  e  nell'accesso  di  42 .  Definito  a  livello  di  standard  nel  1992.  MPEG‐3  Inizialmente  sviluppato  per  HDTV  in  seguito  si  è  scoperto  che  l'MPEG‐2  era sufficiente per HDTV e quindi questo nuovo standard venne abbandonato  MPEG‐4 Sviluppato dal 1993 al 1998.15 Mbit/s per il video e dai 384 ai 192 Kbit/s per l'audio. è stato progettato per la codifica audiovisiva  a  bassissimo  bitrate. dalle  applicazioni  grafiche  interattive. La sua caratteristica principale è  la  scalabilità. nei DVD e nel digitale terrestre. ma è efficiente anche  per  applicazioni  con  bitrate  superiori  come  HDTV. L'applicazione primaria è la trasmissione  a qualità televisiva CCIR 601 con un bitrate tra 3 e 10 Mbit/s. la Competitività (realizzare standard il più duraturi possibili)  e la Convergenza (integrare in un'unica soluzione le proposte promettenti e valide). Esiste dal 1994.  MPEG‐1: Utilizzato nei Video CD è un formato a bassa qualità (analoga al sistema  VHS).        7                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  STANDARD DI CODIFICA: MPEG  MPEG è l'acronimo di "Moving Pictures Experts Group".  questo  formato  è  stato  progettato  per  la  codifica  di  immagini  in  movimento  e  per  l'audio  ad  esse  associato  con  bitrate fino a circa 1.  E'  utilizzato  nelle  trasmissioni  satellitari digitali. che riguardano i Requisiti (requisiti degli obiettivi  che si desidera raggiungere).  La  metodologia  adottata suddivide il lavoro in tre fasi.

  non  viene  inviato  niente.  MPEG‐7 Un sistema formale per descrivere i contenuti multimediali  MPEG‐21  Gruppo  nato  per  sviluppare  una  piattaforma  comune  per  le  future  applicazioni multimediali  Quello  che  ci  interessa  maggiormente  è  l'MPEG‐4  in  quanto  è  lo  standard  che  attualmente si è affermato in quasi tutti i campi della codifica video digitale.  ma  il  vettore  non  è  ben  definito  allora  il  blocco  viene codificato solo intraframe.  lo standard di codifica MPEG utilizza le seguenti tecniche di compressione:  • Motion  compensation  con  block  matching  su  blocchi  8×8  o  16×16  in  modo  da  eliminare la ridondanza temporale  • DCT  e  zonal  masking  per  eliminare  la  ridondanza  spaziale  Il  compressore  MPEG  prende delle decisioni.  ma  a  livello  di  bitrate  il  risparmio  è  significativo.        43 . cioè non tratta tutti i blocchi allo stesso modo:  o Se  un  blocco  non  si  è  mosso.  si  sono  diffusi  sul  mercato  prodotti  hardware  e  software che implementano questo standard. Nonostante  le  sue  specifiche  siano  ormai  "vecchie". A livello qualitativo lo standard non offre miglioramenti evidenti come  nel  passaggio  da  MPEG‐1  a  MPEG‐2.264.  o Se  un  blocco  si  è  mosso  con  un  vettore  ben  definito.  lo  standard  supporta  anche  caratteristiche  specificate  da  terze  parti  come  una  particolare gestione dei Digital Rights Management o una gestioneinterattiva dei  contenuti.  allora  si  applica  la  motion compensation.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  multimedialità in rete.  e  ci  si  riferisce  all’immagine precedente. La principale caratteristica è la capacità di gestire la codifica  di  singoli  oggetti:  audio. Per la codifica video è stabilito lo standard H . Nel corso degli anni sono state aggiunte ed  elaborate delle altre parti ed alcune di queste sono tutt'ora in evoluzione.  o Se  un  blocco  si  è  mosso.  sottotitoli  sono  considerati  indipendenti.  video.

  con  l’utilizzo  della  DCT.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Lo  standard  MPEG‐1  non  prevede  la  struttura  interallacciata  e  invia  3  matrici:  1  di  luminanza  e  2  di  crominanza  sottocampionate  di  un  fattore  2  sia  verticalmente  che  orizzontalmente (4:2:2). Intra‐picture  (I‐picture).  backward  o  in  modo  bi‐interpolato  (predetta  44 . l’altro viene codificato.  immagini  codificate  anche  interframe  (motion  compensation con block matching su blocchi di 8×8 o 16×16 pixel) con predizione  forward  o  backward  da  una  I‐picture  o  da  un’altra  P‐picture. della zonal masking e della codifica di Huffmann.  L’elaborazione  a  GOP  facilita  l’accesso  random  ai  frame:  mentre  un  video  che  ha  come  unità costitutiva il frame. Bidirectional‐Interpolated‐picture  (B‐picture). Questa  caratteristica permette anche il fast forward/fast reverse e l’editing all’interno di ciascun  GOP. con la tecnica GOP occorre decodificare solo la prima immagine  del  gruppo  fino  ad  arrivare  a  quella  più  vicina  ad  N.  immagini  codificate  solo  intra‐frame.  immagini  codificate  anche  inter‐ frame (motion compensation con block matching su blocchi di 8×8 o 16×16 pixel)  con  predizione  forward. per passare dalla posizione 0 alla N‐esima deve elaborare tutte  le immagini ivi comprese. tuttavia nei successivi. mentre uno viene trasmesso. Predicted‐picture  (P‐picture). Il GOP è costituito da frame di 3 tipi:  1.  a  questo  punto  basterà  elaborare  pochi frame (al massimo la lunghezza del GOP) per raggiungere l’immagine voluta. il fattore di compressione  non è quindi elevatissimo  2.  il  fattore  di  compressione è elevato  3.    Un filmato MPEG‐1 è un insieme i tanti GOP (group of pictures) e il codec lavora GOP a  GOP:  in  questo  modo  viene  introdotto  un  ritardo  iniziale  dovuto  all’elaborazione  del  primo GOP.

  identifica  quindi  il  numero  di  B‐picture  tra  una  I‐picture  una  P‐picture  o  una  P‐ picture e un’altra (M‐1)  All’interno  del  GOP  non  è  detto  che  venga  mantenuto  l’ordine  dei  frame.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  dall’interpolazione  di  un  immagine  precedente  e  successiva)  da  parte  delle  I‐ picture e P‐picture.  Un  GOP  inizia  sempre  con  una  I‐picture  e  finisce  con  la  I‐picture  del  GOP  successivo.  poiché  non  è  detto che il frame precedente dia la miglior predizione del successivo: l’ordine di codifica  (coding order) può essere diverso dall’ordine di visualizzazione (display order). Nelle P‐picture e B‐picture. La  distanza  tra  una  I‐picture  e  una  P‐picture.  per  evitare  la  propagazione  eccessiva  degli  errori  di  quantizzazione: in questo modo l’errore di quantizzazione si propaga al massimo fino alla  successiva I‐picture. Per comodità si tende a dare una struttura regolare al GOP che viene  mantenuta costante durante tutta la codifica del filmato.  o  tra  una  P‐picture  e  un’altra  (M).  L’utilizzo  delle  I‐picture  come  primo  frame  del  GOP  è  necessario. il fattore di compressione è elevatissimo    N. Esempio  45 . La lunghezza del GOP (N)  2.  oltre  che  per  dare  la  possibilità  di  un  accesso  random. nel caso in cui nel frame di riferimento non si trova una  buona predizione inter‐frame del blocco. questo viene codificato intra‐frame come una I‐ picture.     Il GOP viene specificato mediante 2 parametri che sono:  1.B.

  per  rendere  possibile  la  codifica  con  predizione.  4:4:2.    Lo standard MPEG‐2 si differenzia dal precedente per 2 fattori principali:  1. prevede  3  diverse  configurazioni  delle  matrici  di  luminanza  e  crominanza  (4:2:2.  nel  display  order.  occorre  che  sia  l’encoder che il decoder abbiano un buffer dove tenere le immagini già decompresse. ma  che  servono  come  riferimento.  le  B‐picture  compaiano  sempre  dopo  i  propri  frame  di  riferimento.  formando  un  frame.  in  modo  tale  che.  Occorre  inoltre  che. questi siano già stati elaborati e si trovino nel buffer.  in  cui  i  semiquadri  pari  e  dispari  vengono  trasmessi  fusi  insieme.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO      Quindi  notiamo  che.        46 . 4:4:4)  2. accetta  sia  video  interallacciati  che  progressivi  MPEG‐2  prevede  quindi  2  configurazioni di frame:    • Interlaced  Frame  Picture.  al  momento  della decodifica.

  in  cui  i  semiquadri  sono  inviati  separatamente. per video interallacciati. P‐frame picture.       Quindi nei GOP possono essere presenti:  • I‐frame picture. B‐frame picture.  Un  top  field  può  essere  predetto  sia  dal  47 .                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  • Interlaced  Bottom  and  Top  Field  Picture. P‐frame picture.  cioè  è  possibile  predire  il  field  attuale  usando  come  riferimento  uno  o  più  field  precedenti.  B‐field picture.    Esistono quindi 2 tipi di predizione per la compensazione del moto:  • Simple  Field  Prediction. B‐frame picture e/o I‐field picture. P‐field picture. per video progressivi  • I‐frame picture.

  posso  quindi  considerare un frame come un insieme di tanti VOP. Come  impostazione  è  molto  simile  allo  standard  MPEG‐2. un bottom field può essere  predetto solamente dal top field appartenente alla stessa immagine.  oppure  il  background  immobile  di  un  frame).  48 . ma useremo i GOV (Group Of VOP) e i suoi 3 differenti tipi di VOP  (I‐VOP.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  precedente top field che dal precedente bottom field.  la  tessitura.  in  modo da soddisfare meglio le necessità richieste dai moderni sistemi multimediali.  cioè  un’entità  omogenea sulla quale viene eseguita la compressione e la codifica (per esempio un VOP  potrebbe  essere  un  uomo. P‐VOP. i GOP e i suoi 3  differenti tipi di picture. spatial scalability.    MPEG‐2  è  un  compressore  che  permette  la  scalabilità. mente le  frame  picture  possono  avere  predizioni  sia  di  tipo  simple  field  prediction  che  di  tipo  simple frame prediction.  i  livelli  successivi  (enhancement  layer)  contengono  le  informazioni  aggiuntive  che  permettono  di  avere  una  risoluzione  e  una  qualità  maggiore.    Lo  standard  MPEG‐4  risulta  molto  più  flessibile  rispetto  ai  precedenti  compressori. B‐VOP). temporal scalabilità adatti  alle diverse che si possono avere in differenti applicazioni. Le field picture possono avere delle predizioni di tipo simple field prediction.  come  la  forma.  cioè  la  possibilità  di  variare  la  risoluzione  del  video  in  base  alle  richieste  dell’utente. cioè è possibile predire un frame riferendosi a uno o più  frame precedenti    NB.  prevede  tre  profili:  il  più  basso  (base  layer)  contiene  le  informazioni  relative  alla  risoluzione  e  alla  qualità  più  bassa.  e  quindi  estrapolabili dalla scena in cui compaiono.   Ciascun  VOP  è  caratterizzato  da  proprietà  caratteristiche.  ma  differisce  da  questo  in  modo  decisivo  poiché  la  sua  unità  di  misura  non  è  più  il  frame.  ma  il  concetto  di  oggetto:  il  punto  centrale  dello  standard  MPEG‐4  è  il  Video  Object  picture  (VOP).  • Simple Frame Prediction. non considereremo più. quindi.  il  movimento:  quindi  possiamo  vedere  i  VOP  come  elementi  autonomi.  Esistono  quindi  tre  diversi  schemi di codifica scalabile: SNR scalability.

  Anche MPEG‐4 prevede formati scalabili come MPEG‐2.1 Componenti dell'MPEG‐4  Ecco  la  lista  dei  diversi  sotto‐standard  divisi  in  Part  (parti). posso considerare un gruppo di immagini rettangolari come VOP.  ma.  in  sistemi  dove  l’unica  necessità  è  la  compressione. still textures.  quelli  evidenziati  sono  di  maggiore interesse per i nostri scopi:  Part  Tipo  1  2  Systems  Visual  Descrizione  Descrive la sincronizzazione e il multiplexing di video e audio  Codec per dati visivi (video. Uno  dei molti "profili" in Part 2 è l'Advanced Simple Profile (ASP)  3  4  5  6  Audio  Conformance  Reference Software  Delivery Multimedia   Codec per la compressione di segnali audio  Descrive le procedure per testare la conformità delle altre part  Fornisce software per mostrare e chiarire le altre part  Interfaccia tra l'applicazione e il trasporto  49 .                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  I VOP possono essere creati in vari modi (tramite segmentazione o l’utilizzo di descrizioni  parametriche  usate  in  computer  graphics).    7. synthetic images ecc). ma con la differenza che questi  sono  applicabili  ai  singoli  VOP:  in  uno  stesso  frame  posso  avere  oggetti  con  differenti  gradi di scalabilità.

  noto  anche  come  MPEG‐4  Visual  (evidenziato  in  tabella). E' tecnicamente identico allo standard ITU‐T  H.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Integration  Framework(DMIF)  7    Optimized  Reference  Fornisce  esempi  di  come  fare  al  meglio  le  implementazioni  (è  in  Software  relazione con la part 5)  on  IP  Specifica un metodo per trasportare il contenuto MPEG‐4 su reti IP  8  Carriage  networks  9  Reference Hardware  Fornisce  disegni  hardware  per  mostrare  come  implementare  le  altre  part    10  Advanced  Coding (AVC)  Video  Codec per segnali video.264  11  Scene  and  description  Può essere usato per contenuto 3D o sottotitoli  Application  engine (BIFS)  12  ISO  Base  Media  File  Formato file per memorizzare contenuto multimediale  Format  13  Intellectual Property  Management  Protection  Extension  14  15  MPEG‐4 File Format  AVC File Format  Il formato file designato come container. che è basato sulla part 12  Per la memorizzazione di video AVC (basato sulla part 12)    16  Animation  Framework  eXtension (AFX)  17  Timed  Text  subtitle  Gestisce i sottotitoli  format    Gestisce le animazioni      Gestisce i diritti d'autore  and    (IPMP)  L'MPEG è molto usato nello streaming audio/video.  L'MPEG  nel  50 . di solito si fa riferimento allo standard  MPEG‐4  Parte  2.

                                51 .                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  corso degli anni è stato migliorato ed attualmente l’MPEG‐4 riesce a superare i limiti dei  25/30fps  delle  prime  versioni  mantenendo  un  bit  rate  relativamente  basso.  Anche  lo  standard  MPEG‐4  Part  10‐AVC  ha  caratteristiche  che  ben  si  adattano  ad  applicazioni  richiedono immagini di alta qualità e con larghezza di banda virtualmente limitata.

263  Lo  standard  di  codifica  H.  Dalle  considerazioni  fatte  finora.  A  64  kbps.  emerge  che  l’introduzione  del  codec  ITU  H.263.261.  Un’ulteriore funzionalità introdotta con l’algoritmo H.263 è stato introdotto come  elevato  standard  di  compressione  non  specificatamente  incentrato  su  bit  –  rate  molto  bassi.  La loro primaria applicazione riguarda la compressione di dati audio e video sia a basso bit  rate per la telefonia mobile sia ad alta qualità per le applicazioni HDTV.  il  guadagno  di  performance  dell’H.  è  valutato  intorno  ai  2  dB  in  termini  di  PSNR  (Peak  Signal  to  Noise  Ratio).  rispetto  al  precedente.263 è il sistema “advanced picture  mode” che utilizza quattro vettori per la stima del moto su un blocco 8 x 8 invece di un  singolo vettore 16 x 16. su sistemi avanzati di tipo “prediction mode”. la cui implementazione nell’algoritmo di base è  certamente opzionale e basate.  Resta comunque il fatto che l’algoritmo di compressione H. oltretutto prevalente in  diversi standard esistenti quali ad esempio l’H.  riguardano  essenzialmente lo schema  “motion compensated”.        8                        Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  STANDARD  ITU H.     Le caratteristiche avanzate dell’algoritmo. oltretutto.261 riuscendo a raggiungere una stima del moto con un’accuratezza pari a ½ pixel. MPEG‐1 e MPEG‐2.263  renderebbe possibile buoni guadagni in fase di codifica.  Tale  soluzione  dovrebbe  essere  in  grado  di  accrescere  la  risoluzione  temporale  con  un  impegno minimo in fase di riproduzione video.  rispetto  al  precedente  H.  I  miglioramenti  apportati  con  tale  algoritmo. migliorando sensibilmente la qualità dell’immagine processata.  Infine.263  rappresenta  ad  oggi  un  diretto  discendente  della  metodologia di compressione DCT di tipo “motion compensated”.261.  La  risoluzione  del  dato  elaborato  è  stata  oltretutto  incrementata  rispetto  all’algoritmo  H.  ovvero  il  fattore  che  rappresenta la misura della distorsione introdotta comprimendo l'immagine.  è  stato  implementato  nell’algoritmo  un  nuovo  tipo  di  frame  chiamato  PB‐frame  (bidirectional  prediction  frame)  che  consiste  in  un  normale  P‐frame  e  un  nuovo  frame  predittivo bi‐direzionale. potendo da un lato ridurre il bit –  52 .  riuscirebbero ad indurre un’ulteriore guadagno sulla qualità della compressione valutabile  pari a circa 1 dB.

                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  rate  di  uscita  della  codifica  e  dall’altro  aumentare  il  fattore  di  qualità  delle  immagini  compresse a spese di un lieve accrescimento della complessità computazionale.     Tabella.  questo  è  dovuto  al  fatto  che  tale  componente  è  quella  che  contiene  la  maggior  parte  dell’informazione. quindi anche dimensioni doppie.   Le  immagini  campionate.  cioè  l’informazione  in  bianco  e  nero.  la  tabella  seguente riassume le caratteristiche dei formati supportati.  posseggono  una  maggiore  informazione  per  quanto  riguarda  la  componente  di  luminanza.  H.   Vedendo  un’immagine  come  una  matrice  di  pixel  di  dimensioni  dx  *  dy  . Elenco dei formati supportati da H.  mentre  le  componenti  di  crominanza.  sono  campionate  secondo  entrambe  le  direzioni orizzontale e verticale.  Cb  e  Cr.  L’immagine intera è strutturata a diversi livelli in unità sempre più elementari per poter  essere trattata dal codificatore in modo ordinato ed efficiente.  quindi.263    Il  componente  di  luminanza  dell’immagine  è  campionato  a  quelle  risoluzione  di  frame.  e  per  questo  motivo  l’occhio  umano  non  risente  di  un  eventuale  sottocampionamento.  53 .263 può ricevere 5 formati di immagini standardizzati come ingresso:  sub‐QCIF (88x72)  QCIF (176x144)  CIF (352x288)  4CIF (704x576)  16 CIF (1408x1152)  Per  tutti  i  formati  vale  il  fatto  che  la  componente  di  luminanza  ha  risoluzione  doppia  rispetto a quelle di crominanza.

  per  la  rimozione  delle  ridondanze  spaziali  e  l’uso della stima e compensazione del moto per la rimozione delle ridondanze temporali.263 standard è basato sull’uso della DCT.  Quando un frame risorsa è codificato con l’utilizzo della DCT.  un  numero che è dipendente dalla risoluzione dell’immagine. l’encoder si dice che opera  in modalità intracoding e il frame codificato corrispondente viene chiamato I‐picture.  Nel  caso  in  cui  viene  utilizzata  la  predizione  temporale. l’H.261 standard.  l’encoder  si  dice  che  opera  in  modalità intercoding e il frame corrispondente viene denominato P‐picture. ovvero la  trasformata  “Discrete  Cosine  Transform”.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Ogni immagine nella sequenza video di input è divisa in macroblocchi. che consistono a  loro volta di quattro blocchi di luminanza di 8 pixel x 8 linee seguite da un blocco Cb ed un  blocco Cr.  Un  gruppo  di  blocchi  (GOB)  è  definito  come  un  numero  intero  di  macroblocchi  riga.  Un diagramma a blocchi di un tipico encoder è riportato nella figura seguente.   54 .  Per esempio. ognuno costituito da 8 pixel x 8 linee.   La  codifica  video  mira  a  fornire  una  rappresentazione  compatta  dell’informazione  nei  frame  video  rimuovendo  le  ridondanze  spaziali  che  esistono  dentro  i  frame  stessi  ed  anche le ridondanze temporale tra frame successivi.  Come nel caso dell’H. un GOB consiste di un singolo macroblocco riga alla risoluzione QCIF.

 invece di lavorarlo  nella sua completezza come descritto precedentemente.  Un  approccio  certamente  più  sofisticato  per  incrementare  l’efficienza  della  codifica  consisterebbe nel lavorare il frame corrente a livello di macro‐blocchi.1 Stima e compensazione del moto  Spesso accade che i frame video contigui nel tempo siano anche simili fra di loro.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO    8.  Un primo approccio per la realizzazione di tale logica operativa consiste semplicemente in  un’analisi differenziale tra il frame corrente ed il precedente di riferimento.  È  ovvio  che  quando  i  due  frame  risultano  molto  similari  tra di  loro  sarà  certamente  più  conveniente  processare  le  differenze  che  il  frame  originale  rendendo  così  il  frame  precedente come uno strumento di stima del frame successivo.  In  tal  senso  sarebbe  certamente  più  funzionale  rielaborare  il  frame  in  esame  sulla  base  delle informazioni ricevute dal frame immediatamente precedente in modo da snellire il  flusso dati.  55 .

  In  virtù  di  tale  criterio.  Questi  punti  di  ricerca  sono  definiti  attraverso  la  definizione  di  vettori di  predizione  del  moto (prediction motion vectors) il cui calcolo è basato su vettori di moto di macroblocchi  precedentemente codificati. ovvero Sum of Absolute Differences.   Per  la  valutazione  delle  similitudini  possono  essere  definiti  più  criteri  tra  i  quali  il  più  diffuso è il SAD.  predizione a compensazione di moto ed è basata sul principio che nella maggior parte del  moto complessivo si registrano nei macro‐blocchi moti tendenzialmente di tipo traslatori. solitamente si provvede a definire una finestra di ricerca  all’interno  dell’algoritmo  dell’encoder  all’interno  della  quale  viene  implementata  la  funzione di ricerca del miglior blocco di accoppiamento.  più  precisamente.   Questo approccio si propone di trovare.  dispendiosa dal punto di vista computazionale ma.263  di  base. per ogni blocco 16 x 16 di luminanza di un macro‐ blocco nel frame corrente.  56 .  la  quantizzazione  è  implementata  utilizzando  lo  stessa  ampiezza  di  step  all’interno  di  un  macroblocco. il miglior blocco di matching nel frame precedente.  lavorando  sempre  con  una  matrice  di  quantizzazione uniforme.  Un approccio più efficiente da questo punto di vista consiste nel restringere la ricerca a  pochi  punti  solamente  in  un’intera  area  di  ricerca. garantisce una buona resa di  matching.  L’identificazione dei macroblocchi di confronto  viene quindi utilizzata per la costruzione  del frame di predizione che viene quindi utilizzato per il confronto con il frame in esame  per la produzione di un frame residuo da codificare.  Il moto di un blocco 16 x 16 di un macroblocco viene rappresentato attraverso un vettore  di  moto  che  ha  due  componenti  in  cui  la  prima  componente  indica  la  disposizione  orizzontale mentre la seconda indica la disposizione verticale.  Per la realizzazione di tale logica. tuttavia.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Il  processo  descritto  prende  il  nome  di  “motion  compensation”  o.  ovvero  dove  c’è  più  probabilità  di  trovare un buon matching.  la  fase  di  ricerca  del  migliore  accostamento  consiste  nella  valutazione del SAD per ogni locazione di pixel con dentro la finestra di ricerca specifica. solitamente.  Questo approccio è denominato full search o anche exhaustive search ed è.  Nell’algoritmo  H.

  Dalle considerazioni e dalle funzionalità esposte della DCT emerge che.  La  stringa  risultante  contiene  un  numero  di  entrate  non  nulle  e  probabilmente  molte  entrate nulle.   La parola chiave è generata in base a tre parametri (LAST. i numeri di zeri in un segmento).  Quindi.  I vettori di moto di differenza sono i VLC codificati.  Questa  riorganizzazione  colloca  per  primo  il  coefficiente  DC  nella  stringa  ed  i  restanti  coefficienti AC sono ordinati dalla bassa verso l’alta frequenza.  Il simbolo RUN è definita come la distanza tra due coefficienti non nulli nella stringa (per  esempio. RUN. sono ammessi livelli di quantizzazione in un range compreso tra 2 e 62.263 rende possibile utilizzare un range esteso della  DCT ed un’ampiezza di step modificata per la crominanza.  I  vettori  di  moto  sono  prima  predetti  settando  i  valori  dei  loro  componenti  sul  valor  medio di quelli vicini già trasmessi.  Il simbolo LEVEL è il valore non nullo immediatamente seguente una sequenza di zeri. LEVEL).  mentre  per  i  segmenti meno frequenti ha un numero più alto di bit. essi vengono prima convertiti in una stringa  monodimensionale  per  l’entropy  encoding  attraverso  un’operazione  di  scansione  a  zigzag.  L’uso di  Annex T in alcuni dei profili H. si riesce ad incrementare anche la  fedeltà sulla crominanza.  Per codificare efficientemente l’intera stringa.  che  per  i  segmenti  più  frequenti  ha  un  numero  minimo  di  bit. parallelamente ad  una maggiore flessibilità per quanto riguarda l’encoder.2 L’Entropy coding  L’entropy  coding  è  implementata  attraverso  codici  di  lunghezza  variabile  (VLC  “Variable  Length Codes) ed è usato per rappresentare efficientemente i vettori stimati di moto ed i  coefficienti quantizzati della DCT.  dove ogni segmento contiene uno o più (o nessuno) zeri seguiti da coefficienti non nulli. la stringa può essere rappresentata come un numero di segmenti cuciti insieme. ad ogni segmento è assegnata una parola  chiave.  Come per i coefficienti quantizzati della DCT.  57 .                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Eccetto  per  il  primo  coefficiente  di  un  intra  blocco  che  viene  codificato  utilizzando  uno  step di 8.    8.

3 Controllo della codifica  La funzionalità di controllo della codifica consente lo switching.  tra le modalità inter e intracoding.  l’encoder  esegue  solamente  la  quantizzazione  inversa  e  le  operazioni  inverse  di  trasformazione  DCT  per  ricostruire  il  macroblocco  originale. il decoder opera esegue la quantizzazione inversa  e  le  operazioni  inverse  di  trasformazione  DCT  sulla  base  dei  coefficienti  DCT  corrispondenti alla predizione residua.4 Il decoder  Un diagramma a blocchi di un decoder tipico è mostrato nella figura seguente.  Una  volta  ricostruito.  L’H.  Quest’ultimo  è  successivamente  aggiunto  al  residuo  per  ricostruire  il  macroblocco  originale.    8.  Nel  caso  di  un  macroblocco  intracoded.  il  frame  completo  viene  quindi  immagazzinato  per  un  suo  utilizzo  nella decodifica del frame immediatamente seguente.  Il  criterio  usato  per  decidere  la  modalità  di  codifica  è  spesso  il  valore  SAD  per  un  dato  macroblocco.  Nel caso di un macroblocco intercoded. allora.263 standard non specifica come eseguire il controllo della codifica.  allora  l’encoder  può  saltare  la  codifica  per  quel  macroblocco  e  il  decoder  ripeterà  semplicemente    il  macroblocco  collocato  nell’allocazione  spaziale  del  macroblocco  soggetto nell’immagine di riferimento.  è  usato  per  indicare  l’ultimo  segmento  nella  stringa.  Il macroblocco originale è.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Il  simbolo  LAST. a livello del macroblocco.  Il  decoder  utilizza  anche  l’informazione  nei  vettori  di  moto  per  trovare  il  miglior  macroblocco di matching nel frame precedentemente ricostruito.  quando  impostato  a  1.     8. usato nel frame ricostruito.    58 . precedentemente descritto.  Se  il  macroblocco  non  cambia  significativamente  rispetto  all’immagine  di  riferimento.

                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO                                              59 .

 In ambito ITU lo standard. Video Coding Experts Group). L'ITU sviluppò indipendentemente l'H. STANDARD H.  sarà  pubblicato  come  ITU‐T  H. AVC (Advanced Video Coding).262 nel  1995.263+  e  H. inizialmente indicato provvisoriamente come H.263.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  9.  di  stabilire  un  gruppo  congiunto.26L.264  e  MPEG‐4  part  10  sono  quindi  tecnicamente  identici.  il  JVT  (Joint  Video Team) per portare a termine il lavoro di definizione di un unico sistema di codifica  video.263 e due estensioni (pubblicate sotto forma  di  annessi)  denominate  H. come parte 10 dello standard MPEG‐4 ISO/IEC  14496‐10. Motion Picture Expert Group) e ITU (VCEG.  H.      60 . per evitare divergenze nello sviluppo ed i problemi di sincronizzazione  fra  i  due  organismi  di  standardizzazione.   Nel 2001 fu deciso. partendo come  base da H. Nella riunione MPEG‐4 del marzo 2003 a Pattaya venne approvato il nuovo sistema  di codifica.264  La  codifica  delle  informazioni  video  è  oggetto  di  studio  dei  gruppi  di  normalizzazione  ISO/IEC (MPEG.264.  il cui lavoro portò alla definizione della parte 2 di MPEG‐2 e allo standard ITU‐T H.263++.  Nel  frattempo  in  MPEG  si  procedeva  allo  sviluppo della parte 2 relativa alla codifica video dello standard MPEG‐4.

  così.264  è  infatti  in  grado  di  ridurre  le  dimensioni  dei  file  video  digitali di oltre l'80% rispetto al formato Motion JPEG e fino al 50% rispetto allo standard  MPEG‐4.  Questi  ultimi  sono  infatti  gli  ambiti  in  cui  la  riduzione  della  larghezza di banda e dello spazio di memorizzazione necessario può offrire i vantaggi più  significativi. senza compromessi in termini di qualità delle immagini. Un codificatore  che  supporta  lo  standard  H.  Lo  standard  H.  Benché  offra  vantaggi  significativi  in  termini  di  larghezza  di  banda  e  spazio  di  memorizzazione.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  L'H.  Lo  standard  H.264  venga  rapidamente  adottato  per  applicazioni  che  richiedono  risoluzioni  e  velocità  di  trasmissione  elevate.  non  definisce  un  CODEC. bensì la sintassi del flusso dati (stream syntax) e il metodo di decodificarlo.  questo  standard  richiede  l'implementazione di telecamere di rete e stazioni di monitoraggio ad alte prestazioni. ovvero che è possibile ottenere immagini di qualità più elevata a parità di velocità  di trasmissione in bit.  come  avviene  nel  caso  di  MPEG‐1  e  MPEG‐2.  è  altamente  probabile  che  lo  standard  di  compressione  H.  Il  nuovo  standard  presenta  tuttavia  anche  degli  svantaggi.  noto  anche  come  MPEG‐4  Parte  10/AVC.264 fa parte di un nuova generazione di algoritmi di compressione in via di sviluppo il  cui scopo è quello di ottenere elevata compressione dei dati mantenendo un'alta qualità  delle  immagini  ed  avendo  inoltre  un  bit  rate  inferiore  agli  standard  precedenti.  È  sicuramente destinato a diventare lo standard video più diffuso in futuro.  è  lo  standard  MPEG  più  recente  per  la  codifica  video.264  è  destinato  probabilmente  anche  ad  accelerare  la  diffusione  delle  telecamere  di  rete  con  risoluzione  megapixel  poiché  questa  tecnologia  di  compressione  ultra‐efficiente  è  in  grado  di  ridurre  le  dimensioni  dei  file  grandi  e  la  velocità  di  trasmissione  in  bit  senza  compromettere  la  qualità  delle  immagini.  Lo  standard  AVC.  Nel  settore  della  videosorveglianza. Ciò significa che per la  gestione  dei  file  video  sono  necessari  meno  spazio  di  memorizzazione  e  larghezza  di  banda.  ad  esempio  per  la  sorveglianza  di  autostrade.  aeroporti  e  casinò.264.  61 .  dove  l'uso  di  30/25  fotogrammi  (NTSC/PAL)  al  secondo  rappresenta  la  norma.  dove  AVC  è  l'acronimo  di  Advanced  Video  Coding.

 ad esempio videotelefonia.  anche  con  video  interlacciato.  più  datate. adottati sono sostanzialmente quelli conosciuti in letteratura : la  maggiore  efficienza  di  codifica  è  dovuta  alla  cura  dei  dettagli  di  ciascun  elemento  funzionale.  tra cui MPEG‐4 ASP e MPEG‐4 AVC (sono due standard diversi.  ‐ Main  Profile  (MP):  per  applicazioni  diffusive  o  generiche. La tabella illustra le differenze.  Lo  standard  supporta la codifica del video nel formato 4:2:0.  ‐ Extended Profile (XP): per applicazioni mobili e streaming. cioè gli algoritmi. indirizzati ad applicazioni differenti:  ‐ Baseline Profile (BP): destinato ad applicazioni in cui si richieda un ridotto ritardo  dovuto alla codifica/decodifica.264/AVC sono previsti differenti profili. interlacciato o progressivo. uno rispetta le specifiche  della  part‐2.  più  recenti).                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO      I tool.  62 .  l'altro  le  specifiche  della  part‐10.  In MPEG‐4 H. a livello di algoritmi usati. tra i vari standard.

  ‐ High 4:2:2 Profile (Hi422P): principalmente orientato alle applicazioni professionali  che  usano  video  interlacciato.  questo  profilo  è  superiore  all'High  Profile.  possono essere sintetizzati in:  • applicazione della trasformata su blocchi più piccoli  • miglioramenti relativi alla valutazione e alla compensazione del movimento  • filtro  di  ricostruzione  nel  loop  di  decodifica  per  ridurre  l'effetto  di  blocchettizzazione  • miglioramento della codifica entropica.  ‐ High 10 Profile (Hi10P): andando oltre le capacità dei prodotti consumer di oggi.  si  pone  al  di  sopra  dello  standard  Hi10P.  aggiungendo  il  supporto  fino  a  10  bit  per campione di precisione dell'immagine decodificata.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  ‐ High Profile (HiP): per applicazioni broadcasting e di disc storage.    I miglioramenti di H‐264 rispetto all’MPEG2 sono riportati nella seguente tabella:    63 .  aggiungendo il supporto per il formato di campionamento colori 4:2:2 oltre ai 10  bit già citati per Hi10P. in particolare per  le applicazioni televisive HD (è il profilo adottato in HD‐DVD e Blu‐ray).  rispetto  ad  MPEG‐2.  Per  ciascun  elemento  funzionale  i  miglioramenti  apportati  in  AVC.

264/AVC              64 .                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Sono definiti diversi livelli in AVC (che si trovano per esempio nei parametri di  settaggio):   Schema dei livelli per H.

 A parità di qualità. Come si può vedere le performance del formato H‐264 sono eccellenti.263+.                                 Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Compariamo  infine le  prestazioni  dell’  H.  si  ottiene  un  risparmio  di  bistream  di  quasi  il  40%  rispetto  all'  MPEG4  e  di  oltre  il  60%  rispetto all'MPEG2.264  con  le  prestazioni  dell’  H.  MPEG4  e  MPEG2.  65 .

   Attualmente  i  vari  vendor  stanno  mettendo  a  punto  i  propri  codec  per  le  varie  applicazioni.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  H.  sia  per  applicazioni  di  comunicazione  real time  a  banda  media  (video  conferenza).5G e 3G).                                                  66 .  Il  compito  non  è  semplice  perchè  la  fase  di  compressione  di  uno  stream  H.  stretta  (web  conferencing) e ultra‐stretta (cellulari 2.264  si  pone  quindi  come  il  futuro  della  compressione  video  sia  per  applicazioni  di  broadcasting  e  storage  (DVD  del  futuro  e  TV  digitali  del  futuro  su  linee  xDSL).264 può richiedere risorse superiori del 300% rispetto ad un codec MPEG4 SP.

 cercando di ottenere risultati scientificamente validi. verranno premiati:  • Velocità  • rapporto di compressione  • versatilità  Nei codec lossy invece verranno premiati:  • velocità  • compressione  • qualità visiva  • versatilità  10. non essendoci variazioni di qualità visiva.).                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  10.  67 .e.1 Codec Lossless analizzati:  Alpary v2. ecc. Comunque il codec permette  di convertirlo in YUV (i. Può essere usato come input solo un segnale RGB. Non  supporta il codec instance.  Contiene  due  tipi  di  codec  a  seconda  dell'uso.  E'  indicato  dagli  autori  come  l'ideale  per  animazione  digitale  o  l'animazione  in  3DCGs. Nel  confronto dei codec lossless. ANALISI DEI CODEC  Cercheremo  ora  di  valutare  nella  pratica  il  comportamento  dei  più  recenti  codec  di  compressione  video  sia  lossless  che  lossy.0 (13/03/2003)  Codec molto veloce ottimizzato per le applicazioni di screen capture.  tra  i  quali:  popolarità.3  E'  un  codec  lossless  per  Video  For  Windows.2.0 build 957. basati su criteri affidabili.  AVIzlib v2. YUV2 o YV12) senza perdita visibile all'occhio umano.  trial  versions.  efficienza  già  comprovata  (escludendo  quindi  quei  codec  le  cui  performance  sono  molto  al  di  sotto  della  media)  e  disponibilità  (free.  CamStudio Lossless codec 1. Si valuteranno i risultati di test effettuati a differenti bitrate e su differenti  video.040607 (12/04/2005)  Creato dalla società Alparysoft. supporta compressione lossless in RGB. YUY2 e YV12.  La  scelta  dei  codec  è  stata  determinata  da  diversi  fattori.

 FFV1 è un codec lossless semplice ma efficacie incluso  nel software.  Ha  inoltre  l'abilità  di  scrivere  P‐frames  e  di  auto‐decidere  quando farlo. con  un ricco set di filtri postprocessing.  comprime  i  cartoni  animati  e  le  animazioni  in  CG  molto  bene  e  in  molti  casi  meglio di HuffYUV e Loco.24 o 32‐bit RGB bitmaps. Il piccolo file size  prodotto con l'algoritmo GZIP lo rende ideale per scopi di archivio.8 (12/03/2006)  Si tratta di un codec opensource scritto da Ben Greenwood.  CorePNG v0. ma  la velocità di encoding è comparabile a quella di molti altri codec lossless.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  ‐ ‐ ‐ Opera in RGB ed è in grado di comprimere a 16. usando libavcodec.  HuffYUV 2. ogni frame è compresso come un'immagine PNG quindi ciò che fa il PNG  lo  fa  anche  questo  codec. E' stato disegnato con pochi  ma chiari obiettivi in testa:  ‐ Velocità: lo stesso creatore riconosce che non è veloce come il codec Huffyuv.  HuffYUV  è  un  codec  lossless  per  WIN32  molto  veloce. fddshow (29/11/2005)  fddshow è un codec DirectShow e VFW per codificare/decodificare molti formati audio e  video.  FFV1. anche se  68 . Il Pframe prende la differenza tra il frame precedente e il frame corrente e  la  codifica  come  un  PNG.3. inclusi filmati DivX e XviD.  Supporta la compressione temporale  Può comprimere utilizzando 2 algoritmi diversi di compressione: LZO o GZIP.  E'  abbastanza  veloce  da  comprimere in real‐time a piena risoluzione un video CCIR 601 (720 x 480 x 30fps) su un  misero Celeron a 416Mhz. LZO è  molto  veloce  ed  è  usato  per  lo  screen  capturing.  GZIP  è  molto  utile  quando  si  converte/ricomprime un file AVI già compresso con CamStudio.8.  California). xvid e altre librerie opensource.  Lagarith v1.2  Essenzialmente.  E'  ritenuto  da  tutti  come  uno  dei  migliori  e  per  questo  si  propone  di  rimpiazzare  il  formato  video  di  cattura  uncompressed  YUV.  CorePNG  è  stato  inizialmente  sviluppato  per  l'uso  con  i  sottotitoli. Supporta anche la compressione lossless di dati RGB. quindi è  molto versatile ed in più è free software.1.  L'output  del  decompressor  è  identico  bit  a  bit  con  l'input  originale.1 (18/05/2004)  Scritto  da  Ben  Rudiak‐Gould  (università  di  Berkeley.

  gruppo  di  ricerca  autorevole  nel  campo  della  compressione  video. Ciò rende il cutting.  è  sia  un  codec  Video  for  Windows  che  un  filtro  di  trasformazione  DirectShow. RGB e RGBA  ‐ keyframes: non permettere l'inter‐prediction significa che ogni frame è codificato  separatamente. il joining e il seeking più veloci. comprime RGB a 24‐bit usando Predictor 1 lossless JPEG.  Vanta  di  essere  assolutamente  lossless.  PICVideo Lossless JPEG codec v3 (25/02/2003)  Ottimizzato  da  Pegasus  Imaging  Corporation.  unite  al  fatto  che  è  più  potente  di  Huffyuv.3 (01/05/2006)  Può  essere  usato  come  capture  codec  ma  l'uso  principale  potrebbe  essere  quello  di  comprimere  video  generati  dal  computer  o  film  di  animazione.   Queste  tre  cose.  Supporta  il  parallelizing  nei  sistemi multi‐processore.  MindVid 1.  YUY2  e  YV12  e  restituisce  l'output  nello  stesso  formato.  Può  convertire  per  esempio un file SWF (Flash) o un Power Point in un file AVI.  contrariamente  all'ideale  di  una  compressione  lossless.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  la  velocità  di  decoding  potrebbe  essere  inferiore.    69 .  ‐ Supporto  color‐space:  le  conversioni  color‐space  possono  causare  errori  di  arrotondamento. Ha inoltre una funzionalità chiamata "denoising" che  dovrebbe  aumentare  addirittura  la  qualità  dell'immagine  sorgente  e  contemporaneamente il livello di compressione.  Disegnato  per  l'editing  professionale  e  per  applicazioni di video mediche.  Le  recensioni  indicano  che  raggiunge  alti  livelli  di  compressione  usando  lo  stesso  tempo  di  coding  e  decoding.6 (25/09/2005)  Sicuramente uno dei migliori.  MSU lossless video codec v0.  Lagarith  cerca  di  evitare  questo  problema  supportando  direttamente i colorspace YV12.  seppur  permettendo  la  conversione tra un formato e l'altro.  E  accetta  in  input  RGB.  rendono  Lagarith  un  codec utile per lo stadio di editing video.  LZOcodec v0.  evvero  uguale  bit  a  bit  al  file  sorgente. sviluppato direttamente dal team di Compression Project.  introducendo  perdita  di  dati.0 Beta 1 (06/06/2006)  Semplicità  e  facile  utilizzazione  è  ciò  che  è  alla  base  di  questo  codec. YUY2.

  mulitple Reference Frames. PAR. Supporta 2pass.1 MPEG‐4 AVC  Mainconcept H.  Leader  nella  creazione  di  multimedia  nel  mondo Macintosh. è disponibile anche per piattaforma Windows. P‐Frame  Reorder. Loop. no multi Ref.     70 .3.  no  CABAC. Adaptive Quant.  CAVLC  only. Multiple B‐Vops.  Adapt.  P8x8. weighted prediction.2 Codec Lossy analizzati  Suddividiamo tali codec in  a) MPEG‐4 AVC: codec conforme alle specifiche MPEG‐4 part 10  b) MPEG‐4 ASP: codec conforme alle specifiche MPEG‐4 part 2  c) non‐MPEG‐4: codec non conforme alle specifiche MPEG‐4    10.0). max 1  B‐frame.264/AVC v2 / Elecard  E' un programma stand alone molto completo.  Quicktime 7.  Quant..1  Il  celebre  pacchetto  Apple  per  l'audio/video.  Mainconcept  è  stata  leader  nei  codec  MPEG‐2  e  rappresenta  sicuramente  un  punto  di  riferimento nel mercato professionale.  no  Weighted  Pred.I4x4. RDO  Mpegable  Sviluppato  dalla  DIGAS. Multiple Ref.  supporta  1pass  (fixed  quants)  uses  P‐Frames  only. 16x16 B‐Frame  Blocksizes.  Non  consente la modalità 2‐pass  Nero AVC  Co‐sviluppato da Nero AG e Ateme. CABAC.                                 Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  10. 8x8 P‐Frame Blocksizes.B8x8.  è  stato  utilizzato  attraverso  il  software  X4Live. L'encoding va fatto  tramite il software apposito. Il codec è sviluppato da una collaborazione  tra  Elecard  e  Mainconcept  e  deve  essere  usato  all'interno  dell'applicazione  apposita.  5  Slices. 4x4 P‐Frame Sizes.  Sorenson AVC Pro  Utilizzato attraverso il software Sqeeze 4. multiple B‐Frames. (adaptive) Loop. include un encoder e un decoder. CABAC.  Loop  (0.2.  8x8  P‐Frame  Blocksizes.  Loop. Supporta 1pass (CBR/VBR/fixed Quants). Supporta 2pass.

2.263 optimized. multiple Reference Frames.5 (15/06/2006)  E'  sicuramente  il  codec  più  popolare  ma  forse  non  è  il  più  performante.2. Impostazioni: default + Quantization:  H.264 (ovvero l'H.264 v2.  FFmpeg  è  una  collezione  di  free‐software  che  raccoglie  al  suo  interno  molti  dei  progetti  opensource  legati  alla  71 . multiple B‐Frames.  DivX v6. 4. Loop.    10.  che  contiene  tutti  i  codificatori  e  decodificatori  audio/video  di  Ffmpeg  (DirectShow  e  VFW).  Però  è  facile  da  usare  e  per  ragioni  storiche  e  commerciali  è  sicuramente  il  più  compatibile.  segnale  anamorfico  e  High  Profile:  8x8  dct  e  intra  prediction.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Vss H. 4x4 P‐ Frame.5.  Il  nuovo  codec  rappresenta  una  validissima  alternativa  ad  i  codec  attuali  sia  per  prestazioni  che  per  qualità. CABAC.  Libavcodec  fa  parte  del  pacchetto  ffdshow.  ed  è  sicuramente  una  delle  più  importanti  promesse  che  appare  oggi  sullo  scenario  del  digitale.  E'  l'unica  implementazione  opensource  e  free‐software  dello  standard  H.  Fdd_H.3  Sviluppato dalla Vsofts.264.2 MPEG‐4 ASP  3ivx 4. per intendersi Divx 3. B‐References.)  rappresenta un po' i codec del passato. Non è un codec H.  rate  distortion..  8x8  B‐Frame  Blocksizes.  Supporta  2‐ pass. le prime versioni di XviD o  al  massimo  le  prime  versioni  del  codec  DivX  5.  ecc.  Impostazioni:  default  +  MPEG  Quantizer  (ASP) + Adaptive Quantization.  che  dopo  mesi  di  gavetta  arriva  finalmente  a  produrre  delle  versioni  sempre  più  stabili.1  Nella  sua  semplicità  (manca  compressione  con  B‐frames.  sebbene  ancora  nuove  versioni  vengano  rilasciate  con  cadenza  quasi  settimanale.264/AVC.  e  questo  è  un  punto  molto grosso a suo favore. matrici di quantizzazione lossless e custom.  x264 v352 (12/06/2006)  Si  tratta  del  video  codec  opensource.  E'  stato  sottoposto a molti test dalle comunità di sviluppo del video digitale e le sue prestazioni  sono  risultate  abbastanza  deludenti  rispetto  agli  avversari.264 di libavcodec)  Compare  nella  lista  dei  codec  disponibili  quando  si  installano  le  librerie  libavcodec. è utilizzabile in VirtualDub.

  che è ancora in versione beta ma non è disponibile al pubblico.  E'  stato  scelto  perchè  rappresenta  uno  dei  codec più usati della vecchia generazione.3 non‐MPEG‐4  FLV1 (libavcodec)  Un  altro  dei  codec  video  di  libavcodec.  xine  e  VideoLan. L'installazione fornisce numerosi tools per  l'analisi.  XviD v1.5.  HDX4 1.11  Originariamente  sviluppato  da  Intel  e  poi  passato  nelle  mani  della  società  Ligos.264  più  veloce  sul  mercato  e  i  primi  test  effettuati effettivamente confermano questa ipotesi. la gestione e il debugging del codec.2. Molti sviluppatori di Ffmpeg  fanno  parte  di  altri  progetti  quali  Mplayer.419 (19/04/2006)  E'  stato  ufficialmente  rilasciato  nel  2005  da  Jomigo  Visual  Technology  GmbH.0 (30/12/2005)  Il codec più popolare nel mondo opensource.  Mianconcept MPEG‐2 v1. Non permette la modalità 2‐pass.    10.  Germany.  Il  progetto  è  partito  da  Gerard  Lantau.  RealVideo 10  E'  il  celebre  codec  maggiormente  usato  negli  ultimi  anni  per  lo  streaming  su  Internet  e  infatti  viene  utilizzato  con  un  software  prettamente  orientato  al  broadcasting  e  allo  streaming.  un  alter‐ego  di  Fabrice  Bellard ma è attualmente gestito da Michael Niedermayer.1.    72 .  Sul  sito  ufficiale  si  presenta  come  il  codec  H.  Non  si  sa  molto  sulla  sua  provenienza  ma  è  abbastanza performante. Si attende con ansia il rilascio della versione AVC.  è stato  usato  per  molti  anni  per  la  codifica  lossy  .4. Ho usato la build compilata per windows 32‐ bit da Koepi.  Output:  RGB24.  pertanto  è  stata  utilizzata  come  referenza  per  il  confronto  con  il  "vecchio" codec MPEG‐2.5 (2005)  L'implementazione  MPEG‐2  di  Mainconcept  è  universalmente  riconosciuta  come  la  migliore  sul  mercato. che è una delle migliori.  Indeo 5.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  codifica  audio/video.  Non  permette la modalità 2‐pass.

       

        
              Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

Theora 1.0 alpha6 (30/05/2006)  Si  tratta  di  un  altro  interessante  codec  non‐MPEG‐4  freeware  facente  parte  di  ffdshow.  Sviluppato dalla fondazione Xiph.org come parte del loro progetto Ogg (un progetto che  mira  ad  integrare  il  codec  video  VP3,  il  codec  audio  Vorbis  e  il  container  Ogg  per  competere con MPEG‐4). Theora è derivato direttamente dal codec VP3 di On2 (società  che poi ha continuato il suo sviluppo fino ad ottenere l'attuale VP7)  VP7  True  Motion  VP7  (VP70)  è  sviluppato  da  On2  Technologies  come  successore  dei  codec  VP3,  VP5  e  TrueMotion  VP6.  Ha  il  supporto  sia  VFW  che  DirectShow  e  sembra  abbia  la  migliore compressione nella famiglia di codec MPEG‐4 e H.264.  Windows Media Video 9 (Wmv9)  Windows  Media  Video  è  il  nome  generico  per  una  serie  di  tecnologie  proprietarie  sviluppate da Microsoft per lo streaming di file video. Fa parte della piattaforma Windows  Media.  A  partire  dalla  versione  7  (WMV1),  Microsoft  ha  usato  una  sua  versione  modificata dello standard MPEG‐4. Lo stream video è spesso abbinato a quello audio di  Windows  Media  Audio.  Microsoft  ha  sottoposto  alla  Society  of  Motion  Picture  and  Television  Engineers  (SMPTE)  lo  standard  VC‐1  per  l'approvazione  come  standard  internazionale  e  poco  tempo  fa  è  stato  approvato,  diventando  quindi  ufficialmente  il  maggior  rivale  di  MPEG‐4.  Windows  Media  Video  9  è  una  implementazione  di  questo  standard.  Questo  codec  è  usato  anche  per  la  diffusione  della  televisione  ad  alta  definizione  su  DVD  in  un  formato  che  Microsoft  commercializza  col  marchio  WMV  HD.  Questo formato può essere riprodotto anche su computer o lettori DVD compatibili.                    73

       

        
              Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

Prezzi e containers dei codec 

    74

       

        
              Control Auto Configurable Data                Network for MObiles

                                                                                                                                                           CADMO 

11 VALUTAZIONE  11.1 Codec Lossless 

I  risultati  ottenuti  (per  frame/s,  risoluzione,  tipo  di  filmato,  ...)  sono  risultati  quasi  del  tutto identici. Utilizzando il principio di induzione si potrebbe quindi pensare che i risultati  siano simili per qualsiasi video venga compresso. Diamo una valutazione per ogni codec:  • Alpary: E' risultato il codec più veloce e comprime piuttosto efficacemente in tutti  gli spazi colore. Una buona scelta per la compressione real‐time.  • Avizlib: E' il fanalino di coda per quanto riguarda la compressione. Restituisce un  file dalle dimensioni quasi identiche a quello del video non compresso e funziona  solo con RGB. Praticamente inutile.   • Camvideo: Come Avizlib, funziona solo in RGB e produce un file poco compresso.  Però ha il vantaggio di poter scegliere tra due tipi di compressione diversi e se si  utilizza l'algoritmo lzo si può fare sufficientemente bene acquisizioni in real‐time.  • CorePNG: E' un codec dalle prestazioni mediocri, ma si ha la sicurezza che funzioni  dappertutto.  • Ffv1: La scelta migliore per la compressione nello spazio YV12 in quanto è veloce  ed efficace senza necessità di nessun settaggio. Si installa col pacchetto fddshow  quindi  è  facile  da  utilizzare.  Il  fatto  che  funzioni  solo  in  YV12  riflette  una  certa  tendenza dell'opensource di creare solo cose “intelligenti” e utili (come abbiamo  visto  i  vantaggi  di  comprimere  in  YV12  sono  molti).  Peccato  però  che  in  molti  ambiti professionali si utilizzi solo RGB o YUY2,quindi escludendoli si “autolimita”  l'utilizzo e la diffusione.  • Huffyuv:  Lo  standard  de  facto  nel  mondo  dei  codec  lossless  ma  dai  test  non  è  risultato il migliore in assoluto e inoltre ha il grosso difetto di non comprimere in  YV12, che lo penalizza parecchio. Comunque è un buon codec.  • Lagarith:  Se  si  pensa  che  questo  codec  è  stato  creato  da  un  matematico  per  usi  personali, la cosa sembra incredibile. Nei test è risultato senz'altro il miglior codec  lossless  disponibile:  veloce,  efficace  e  molto  versatile  (funziona  in  tutti  gli  spazi  colore con ottime prestazioni). 

75

  Dividendo  in  categorie  e  facendo  una  media  tra  miglior  velocità.  di  alcune  comunità  scientifiche  riconosciute  a  livello  mondiale.  Se  il  tempo  non  è  un  problema e si ha una macchina potente. Nel trarre le valutazioni ci baseremo sui risultati.  sicuramente  autorevoli.  Gzip  è  meglio  non  considerarlo nemmeno. Però le loro  analisi non prendevano in considerazione il fattore velocità. ha la facoltà di  utilizzare  2  algoritmi  diversi  per  la  compressione:  gzip  o  lzo. come Camvideo.  76 . che infatti risulta un  grosso  tallone  d'Achille  di  questo  codec  (è  lentissimo).  • Mindvid: E' ancora in versione beta ma già. In effetti  MSU è il codec che riesce a comprimere con un'efficienza migliore di tutti gli altri  in tutti gli spazi colore e questo conferma quanto pubblicato sul sito. E' un codec dalle prestazioni mediocri che funziona  solo in RGB. inserisce  una frase di disturbo nel video.  Nel  complesso: scarso  E'  difficile  determinare  quale  sia  in  assoluto  il  codec  più  veloce  o  quello  con  migliore  compressione.2 Codec Lossy  E' difficile trarre delle conclusioni assolute in quanto i codec hanno caratteristiche diverse  tra di loro e le loro prestazioni variano a seconda del video e della risoluzione. Lzo invece è molto veloce ma non è efficace come Ffv1.  se  invece  va  male  andrà  male  in  tutti  i  bitrate. ce le  avrà  anche  per  tutti  i  bitrate. Anche questo codec.  • Picvideo:  E'  molto  veloce  ma  comprime  poco  e  funziona  solo  in  RGB.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  • Lzo: Funziona solo in YV12.  • MSU lossless: Veniva annunciato come il miglior codec lossless nei risultati dei test  di confronto fatti dallo stesso team scientifico russo che l'ha sviluppato. Una cosa  abbastanza certa è che se un codec ha delle buone prestazioni per un certo bitrate. è la scelta obbligata.    11. se non si registra il prodotto.  Una di queste è il CS MSU Graphics&Media Lab Video Group.  Da  ciò  si  deduce  che  per  testare  i  codec  sarebbe  più  opportuno  fare  molti  test  su  molti  video  diversi tra loro ma a pochi bitrate precisi. che ha effettuato dei test su  alcuni dei codec che si sono presi in analisi (con più di 3000 grafici e numerosissimi test su  tutti i bitrate).  miglior  compressione e miglior bilanciamento il codec lossless migliore risulta essere il Lagarith.  perché  come  abbiamo  visto  non  tutti  i  codec  supportano  tutti  gli  spazi  colore.

  sono  ancora  quelli  che  garantiscono  maggior  compatibilità.  Sicuramente non è male.264/AVC di ultimissima generazione. dell'I‐pod. Real Video 10 è una di queste.  VP7  non  è  AVC  ma  si  è  rivelato  un'alternativa  molto  valida all'MPEG‐4 ed è gratuito.  senza  frameserving.  accetterebbero  solo  AVI  in  input.  di tutto ciò che circonda il mondo Apple.  stand‐alone  e  senza bisogno di nessuna configurazione o conoscenza particolare. Visivamente il codec di  casa Redmond è molto valido alle basse risoluzioni.   In  definitiva. I codec più veloci sono  DivX  e  HDX4  ma  tra  i  due  è  preferibile  il  primo  perché  alla  stessa  velocità  si  ottiene  maggior qualità dell'immagine.   Il codec Microsoft Wmv9 ha prestazioni velocistiche scandalose.  che  fornisce  un'ottima  piattaforma  click'n  go.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  Sebbene  i  codec  VFW  (Video  For  Windows)  siano  ancorati  ad  AVI  e  non  sfruttino  le  potenzialità  dei  nuovi  container.  tra  i  codec  AVC  più  versatili  c'è  sicuramente  x.  x. Molti addetti ai lavori sono  comunque d'accordo e ritengono questi due codec tra i migliori.  Sorenson  AVC  Pro  è  un  codec  AVC  senza  grandi  pretese  ma  con  un  software  di  utilizzo  intuitivo e funzionale.   77 .  Molti utenti Macintosh conoscono solo questo codec e si trovano comunque bene.  che  in  teoria. Il costo della licenza  non corrisponde alle prestazioni reali:  è lento  e tende a “spalmare” l'immagine eliminando molti dettagli. ma ciò non ne giustifica l'utilizzo se  paragonato ad alternative gratuite e più performanti.  A  parte  i  software  di  misurazione  oggettiva. ma la pecca di Quicktime è la lentezza. può scegliere vari formati di output ed essendo ancora in via  di sviluppo potrà solo migliorare le sue funzionalità. con  un  ottimo  livello  qualitativo  dell'immagine  ma  poiché  utilizza  container  e  standard  proprietari ne limita la diffusione tra la massa.  c'è  tutta  una  serie  di  applicazioni  per  l'editing e la visione degli AVI che è sicuramente più vasta e intercompatibile rispetto ad  mp4.  I  codec  con  migliore  qualità  visiva  mi  sono  sembrati  x. è gratuito e opensource e questo  è  un  grosso  punto  a  suo  favore.264 è un codec H.   Quicktime 7 è il codec di Mac OSX.264  e  VP7  ma  qui  l'incertezza  è  molta considerato che la qualità varia a seconda del filmato.264:  permette  il  settaggio  manuale di molti parametri. Il più maneggevole e facile da usare è  sicuramente  Nero  Digital.

  E'  molto  simile  a  DivX  nelle  prestazioni.264.264.264 sono indubbiamente validi ma hanno poca.5  sembra  apportare  dei  miglioramenti  significativi  rispetto  alle  versioni  passate. secondo noi.  I codec di ffdshow Flv1 e ffd_H. come dire.  ed  è  comunque ancora un buon punto di riferimento per i codec non‐AVC.  Theora  è  interessante  ma  non  da  molta  sicurezza  per  il  futuro.  era  il  miglior  codec  video  opensource  disponibile.  come  compare  nel  messaggio  bene  in  vista  sull'interfaccia  “Usare  solo  per  scopi  sperimentali.  3ivx è un po' vecchio ma dice ancora la sua se comparato con i nuovi codec. è sicuramente un buon codec AVC ma considerando che non è  gratuito forse è meglio preferire altri.  prima  dell'avvento  del  recentissimo  x264.                               Control Auto Configurable Data                Network for MObiles                                                                                                                                                            CADMO  VSS sta un po' nel mezzo.  mentre  la  licenza di DivX è a pagamento.  ma  visivamente  non  all'altezza  dei  codec H.   La  battaglia  tra  DivX  e  Xvid  si  chiude  in  un  sostanziale  pareggio.                         78 . il miglior codec lossy è.  considerato  che  è  gratuito  e  opensource.  I  due  codec  si  comportano  in  modo  simile  ed  è  inutile  insistere  sul  confronto  tra  questi  due.  “personalità”.   XviD.  il  codec  potrebbe diventare incompatibile in futuro”. l’ x.  DivX  6.  Tenendo conto di tutto.  quindi  in  generale  buono.  Possiamo  concludere  che  tra  DivX e  XviD  è  sicuramente  preferibile  il  secondo.