# MPEG-4

In elettronica e telecomunicazioni MPEG-4, nato nel 1996 e finalizzato nel 1998 (fu presentato pubblicamente a settembre di quell'anno), è il nome dato a un insieme di standard per la codifica dell'audio e del video digitale sviluppati dall'ISO/IEC Moving Picture Experts Group (MPEG). L'MPEG-4 è uno standard utilizzato principalmente per applicazioni come la videotelefonia e la televisione digitale, per la trasmissione di filmati via Web, e per la memorizzazione su supporti CD-ROM.

## Descrizione

MPEG-4 è basato sugli standard MPEG-1, MPEG-2 e Apple QuickTime technology, supportandone tutte le caratteristiche; ISO approvò il formato QuickTime come base per lo standard MPEG-4, dato che l'MPEG group riteneva che fosse la migliore base di partenza e che integrasse già alcune caratteristiche essenziali. Lo standard evolutosi possedeva inoltre tutta una serie di nuove funzioni come la gestione tridimensionale degli oggetti (tramite un'estensione del VRML). I flussi audio e video vengono trattati dallo standard MPEG-4 come oggetti che possono essere manipolati e modificati in tempo reale bidirezionalmente. Lo standard supporta caratteristiche specificate da terze parti come una particolare gestione dei DRM o una gestione interattiva dei contenuti.
La maggior parte delle caratteristiche dell'MPEG-4 sono opzionali e quindi la loro implementazione è lasciata alla discrezione dello sviluppatore. Questo implica che parte dei lettori multimediali di file MPEG-4 potrebbero non essere in grado di gestire tutte le caratteristiche del formato. Per permettere un'elevata interoperabilità, nel formato sono stati inclusi i concetti di profilo e di livello, quindi i vari lettori MPEG-4 potranno essere suddivisi a seconda dei profili e livelli supportati.

## Componenti MPEG-4

MPEG-4 è suddiviso in vari sotto standard chiamati part (termine inglese che in italiano significa "parte"):
MPEG-4 parts :
| Parte | Standard | Data 1º rilascio (1ª edizione) | Data ultimo rilascio (edizione) | Data ultimo miglioramento | Titolo | Descrizione |
| Part 1 | ISO/IEC 14496-1 | 1999 | 2010 | 2014 | Systems | Descrive la sincronizzazione e la multiplazione del video e dell'audio. Per esempio, la versione 1 del formato file MPEG-4 (diventato obsoleto dalla versione 2 definita nell'MPEG-4 Part 14). La funzionalità di trasporto di un protocollo stack per la trasmissione o/e la raccolta dei contenuti conformi alla norma ISO/IEC 14496 non rientra nell'ambito del 14496-1 e viene considerata solo l'interfaccia rispetto a questo livello (DMIF). Le informazioni sul trasporto del contenuto dell'MPEG-4 è definito ad esempio nell'MPEG-2 Transport Stream, RTP Audio Video Profiles e altri. |
| Part 2 | ISO/IEC 14496-2 | 1999 | 2004 | 2013 | Visual | Un codec di compressione per i dati visivi (video, still textures...). Uno dei tanti "profili" della parte 2 è il Advanced Simple Profile (ASP). |
| Part 3 | ISO/IEC 14496-3 | 1999 | 2009 | 2017 | Audio | Un set di formati di compressione per la codifica percettiva di segnali audio, incluse alcune variazioni di "Advanced Audio Coding" (AAC) nonché altri strumenti di codifica audio/vocale (come Audio Lossless Coding (ALS), Scalable Lossless Coding (SLS), Structured Audio, interfaccia di sintesi vocale (TTSI), HVXC, CELP e altro). |
| Part 4 | ISO/IEC 14496-4 | 2000 | 2004 | 2016 | Conformance testing | Descrive le procedure per testare la conformità con le altre parti dello standard. |
| Part 5 | ISO/IEC 14496-5 | 2000 | 2001 | 2017 | Reference software | Fornisce software di riferimento per dimostrare e chiarificare le altre parti dello standard. |
| Part 6 | ISO/IEC 14496-6 | 1999 | 2000 | | Delivery Multimedia Integration Framework (DMIF). | |
| Part 7 | ISO/IEC TR 14496-7 | 2002 | 2004 | | Optimized reference software for coding of audio-visual objects | Fornisce esempi di come migliorare le implementazioni (per esempio, in relazione alla parte 5). |
| Part 8 | ISO/IEC 14496-8 | 2004 | 2004 | | Carriage of ISO/IEC 14496 contents over IP networks | Specifica il metodo per trasportare i contenuti MPEG-4 su reti IP. |
| Part 9 | ISO/IEC TR 14496-9 | 2004 | 2009 | | Reference hardware description | Fornisce progetti hardware per dimostrare come implementare le altre parti dello standard. |
| Part 10 | ISO/IEC 14496-10 | 2003 | 2014 | 2016 | Advanced Video Coding (AVC) | Codec per i segnali video che è tecnicamente identica allo standard ITU-T H.264. |
| Part 11 | ISO/IEC 14496-11 | 2005 | 2015 | 2010 | Scene description and application engine | Può essere usata per contenuti ricchi ed interattivi con profili multipli, incluse versioni 2D e 3D. MPEG-4 Part 11 revisionato MPEG-4 Part 1 - ISO/IEC 14496-1:2001 e due miglioramenti all'MPEG-4 Part 1 Presenta una descrizione a livello di sistema di un motore di un'applicazione (consegna, ciclo di vita, formato e comportamento del codice Java scaricabile), il BIFS (Binary Format for Scene) e il formato estendibile MPEG-4 Testuale (XMT) -una rappresentazione testuale del contenuto multimediale MPEG-4 utilizzando XML, ecc. (È anche conosciuto come BIFS, XMT, MPEG-J. L'MPEG-J è stato definito nella parte 21 MPEG-4) |
| Part 12 | ISO/IEC 14496-12 | 2004 | 2015 | 2017 | ISO base media file format | Un formato file per la memorizzazione dei contenuti multimediali in base al tempo. È un formato generale che costituisce la base per una serie di altri formati file più specifici (per esempio 3GP, Motion JPEG 2000, MPEG-4 Part 14). È tecnicamente identica alla norma ISO/IEC 15444-12 (JPEG 2000 per la codifica delle immagini parte 12). |
| Part 13 | ISO/IEC 14496-13 | 2004 | 2004 | | Intellectual Property Management and Protection (IPMP) Extensions. | L'MPEG-4 Part 13 è un miglioramento all'MPEG-4 Part 1 - ISO/IEC 14496-1:2001/Amd 3:2004. |
| Part 14 | ISO/IEC 14496-14 | 2003 | 2003 | 2010 | Formato file MP4 | È anche conosciuto come "formato file MPEG-4 file versione 2". Questo formato file contenitore, designato per i contenuti MPEG-4, è basato sulla Parte 12. Rivisita e sostituisce completamente la clausola 13 dell'ISO/IEC 14496-1 (MPEG-4 Parte 1: Sistemi), nel quale il formato MPEG-4 è stato precedentemente specificato. |
| Part 15 | ISO/IEC 14496-15 | 2004 | 2017 | | Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format | Per la raccolta dei video "Parte 10". Questo formato file è basato sulla Parte 12, ma permette anche la raccolta in altri formati file. |
| Part 16 | ISO/IEC 14496-16 | 2004 | 2011 | 2017 | Animation Framework eXtension (AFX). | Specifica il modello MPEG-4 Estensione Animazione Framework (AFX) per rappresentare i contenuti grafici in 3D L'MPEG-4 è ora esteso a livelli alti per gli oggetti sintetici, per specificare la geometria, le texture, le animazioni e algoritmi di compressione dedicati. |
| Part 17 | ISO/IEC 14496-17 | 2006 | 2006 | | Streaming text format | Formato per i sottotitoli sincronizzati |
| Part 18 | ISO/IEC 14496-18 | 2004 | 2004 | 2014 | Font compression and streaming | (per font OpenType). |
| Part 19 | ISO/IEC 14496-19 | 2004 | 2004 | | Synthesized texture stream | Sono usate flussi di texture sintetizzate per la creazione di clip video sintetici con bitrate molto basso. |
| Part 20 | ISO/IEC 14496-20 | 2006 | 2008 | 2010 | Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF). | I requisiti LASeR (Lightweight Application Scene Representation) (efficienza di compressione, compression efficiency, codice e memoria attiva) sono soddisfatti con la loro costruzione sull'esistente formato SVG (Scalable Vector Graphics) definito dal World Wide Web Consortium. |
| Part 21 | ISO/IEC 14496-21 | 2006 | 2006 | 2007 | MPEG-J Graphics Framework eXtensions (GFX) | Descrive un ambiente programmabile leggero per applicazioni multimediali ed interattive avanzate. - un framework che sposa un sottoinsieme dell'ambiente applicativo Java dello standard MPEG (MPEG-J) con Java API. (stage "FCD" nel luglio 2005, FDIS nel gennaio 2006, pubblicato come standard ISO il 22 novembre 2006). |
| Part 22 | ISO/IEC 14496-22 | 2007 | 2015 | 2017 | Open Font Format | (OFFS) è basato sulla versione specifica 1.4 del formato font OpenType, ed è tecnicamente equivalente a quella specifica. (raggiunse lo stage "CD" nel luglio 2005, pubblicato come standard ISO nel 2007) |
| Part 23 | ISO/IEC 14496-23 | 2008 | 2008 | | Symbolic Music Representation (SMR) | (raggiunse lo stage "FCD" nell'ottobre del 2006, pubblicato come standard ISO il 28 gennaio 2008) |
| Part 24 | ISO/IEC TR 14496-24 | 2008 | 2008 | | Audio and systems interaction | It describes the desired joint behavior of MPEG-4 File Format and MPEG-4 Audio |
| Part 25 | ISO/IEC 14496-25 | 2009 | 2011 | | 3D Graphics Compression Model | Defines a model for connecting 3D Graphics Compression tools defined in MPEG-4 standards to graphics primitives defined in any other standard or specification. |
| Part 26 | ISO/IEC 14496-26 | 2010 | 2010 | 2016 | Audio Conformance | sostituisce gli amendamenti (Amd) 8, 11, 13, 14, 15, 18, 19, 20 e 22 ed i corrigenda (Cor) 5 e 6 della versione del 2004 della parte 4 di questo standard (14496-4:2004) |
| Part 27 | ISO/IEC 14496-27 | 2009 | 2009 | 2015 | 3D Graphics conformance | sostituisce gli amendamenti (Amd) 7, 12, 16, 21, 32ed il corrigenda (Cor) 3 della versione del 2004 della parte 4 di questo standard (14496-4:2004) |
| Part 28 | ISO/IEC 14496-28 | 2012 | 2012 | 2015 | Composite font representation | |
| Part 29 | ISO/IEC 14496-29 | 2015 | 2015 | | Web video coding | |
| Part 30 | ISO/IEC 14496-30 | 2014 | 2014 | 2015 | Timed text and other visual overlays in ISO base media file format | |
| Part 31 | ISO/IEC 14496-31 | 2018 | 2018 | | Video coding for browsers | |
| Part 32 | ISO/IEC 14496-32 | | | | Conformance and reference software | (attualmente alla fase "30.20" di preparazione) |
| Part 33 | ISO/IEC 14496-33 | | | | Internet video coding | (attualmente alla fase "50.00" di preparazione) |
I profili inoltre sono definiti all'interno di diverse Part, in modo che un'esecuzione di alcune caratteristiche di una Part non implichi la necessità di supportare l'intera Part.
MPEG-1, MPEG-2, MPEG-7 e MPEG-21 sono altri standard MPEG.

## Funzionamento

Il concetto alla base del codec (COdificatore-DECodificatore) MPEG-4 è la quantizzazione. Senza scendere nello specifico, si può riassumere come quel processo che permette di trasmettere solamente la variazione dell'immagine mediante un apposito algoritmo di compressione. Al momento attuale esistono due modi per eseguire questa operazione:
* I-frame
Codifica l'immagine senza un riferimento a quella precedente (refresh puro): è più preciso ma più pesante per le applicazioni via rete.
* P-frame4
Codifica solo le zone dell'immagine che sono cambiate rispetto a quella precedente. In altre parole, esegue una compensazione nella variazione del movimento (motion-compensated frames) analizzando, appunto, la differenza di immagine tra due frame consecutivi: la parte uguale nei due frame non viene ritrasmessa.