H.261
L'H.261 è uno standard di codifica video dell'ITU-T, ratificato il 25 novembre 1988.[1][2]
Progettato originalmente per la trasmissione lungo le linee ISDN sulle quali le velocità dei dati sono multiple di 64 kbit/s, è membro della famiglia H.26x degli standard di codifica video elaborati dal Video Coding Experts Group (VCEG) dell'ITU-T. L'algoritmo di codifica fu progettato per poter funzionare a velocità di trasmissione video comprese tra 40 kbit/s e 2 Mbit/s.
Lo standard supporta vari formati video, ad esempio QCIF e CIF che utilizzano uno schema di campionamento di 4:2:0.
Formati video di qualità superiore come 4CIF, 9CIF e 16CIF, necessitano l'utilizzo dello standard successivo all'H.261, ovvero l'H.263.
Ha anche un accorgimento compatibile all'indietro[3] per trasmettere grafiche di immagini fisse con una risoluzione di luminanza 704x576 e una risoluzione di crominanza 352x288 (aggiunta in una successiva revisione del 1993).
Storia
[modifica | modifica wikitesto]Vi sono tre versioni della raccomandazione ITU-T H.261. La prima versione risale al 1988, la seconda al 1990 e la terza (ancora in vigore) al 1993. Sebbene l'H.261 fosse preceduto nel 1984 dall'H.120 (che subì anche una revisione nel 1988 di una certa importanza storica) come standard di codifica video digitale, l'H.261 fu il primo standard di codifica video digitale veramente pratico (in termini di supporto del prodotto in quantità significative). Infatti, tutti i successivi standard internazionali di codifica video (MPEG-1 Parte 2, H.262/MPEG-2 Parte 2, H.263, MPEG-4 Parte 2 e H.264/MPEG-4 Parte 10) si sono basati strettamente sul progetto dell'H.261, In più, i metodi usati dal comitato di sviluppo dell'H.261 per elaborare collaborativamente lo standard sono rimasti il processo operativo basilare per il successivo lavoro di standardizzazione in questo campo (si veda S. Okubo, "Reference model methodology-A tool for the collaborative creation of video coding standards", Proceedings of the IEEE, vol. 83, no. 2, Feb. 1995, pp. 139–150). L'algoritmo di codifica usa un ibrido di predizione inter-fotogramma compensata per il movimento e di codificazione di trasformata spaziale con quantizzazione scalare, scansione a zig-zag e codificazione entropica.
Progetto dell'H.261
[modifica | modifica wikitesto]L'unità fondamentale di elaborazione del progetto è chiamata macroblocco, e l'H.261 fu il primo standard in cui apparve il concetto di macroblocco. Ciascun macroblocco consiste di un vettore 16x16 di campioni della luminanza e di due corrispondenti vettori 8x8 di campioni della crominanza, usando il campionamento 4:2:0 e uno spazio dei colori YCbCr.
La predizione inter-fotogramma riduce la ridondanza temporale, con i vettori di movimento usati per aiutare il codec a compensare il movimento. Sebbene nell'H.261 siano supportati soltanto i vettori di movimento con valori interi, al segnale di predizione può essere applicato un filtro anti-offuscamento — che mitiga in parte la mancanza di precisione del vettore di movimento del campionamento frazionato. La codifica di trasformazione che usa una trasformata discreta del coseno (discrete cosine transform, DCT) 8x8 riduce la ridondanza spaziale. Si applica poi la quantizzazione scalare per arrotondare i coefficienti della trasformata all'appropriato livello di precisione determinato da un parametro di controllo dell'ampiezza del segnale (step size), e i coefficienti della trasformata quantizzata sono scansionati a zig-zag e codificati entropicamente (usando un codice di lunghezza variabile "run-level") per eliminare la ridondanza statistica.
Lo standard H.261 effettivamente specifica soltanto come decodificare il video. I progettisti del codificatore (cioè del programma di codifica) furono lasciati liberi di progettare i propri algoritmi di codificazione, purché il loro prodotto fosse opportunamente vincolato per poter essere decodificato da qualsiasi decodificatore fatto secondo lo standard. I codificatori sono inoltre lasciati liberi di eseguire qualsiasi pre-elaborazione vogliano sul loro input video, e ai decodificatori si consente di eseguire qualsiasi post-elaborazione vogliano sul loro video decodificato prima di mostrarlo. Una tecnica efficace di post-elaborazione che divenne un elemento chiave dei migliori sistemi basati sull'H.261 si chiama filtraggio debloccante (deblocking filtering). Questo riduce la comparsa di artefatti a forma di blocchi (i cosiddetti "quadretti") causata dalla compensazione di movimento basata sui blocchi e dalle parti della trasformata spaziale del progetto. In effetti gli artefatti a blocchi sono un fenomeno familiare per quasi tutti coloro che abbiano visto un video digitale. Il filtraggio debloccante è diventato da allora una parte integrante dello standard più recente, l'H.264 (sebbene, anche quando si usa l'H.264, la post-elaborazione aggiuntiva è ancora permessa e può aumentare la qualità visiva se ben eseguita).
Le migliorie di progetto introdotte nei successi sforzi di standardizzazione hanno prodotto significativi miglioramenti nella capacità di compressione rispetto al progetto dell'H.261. Questo ha avuto come conseguenza che l'H.261 diventasse essenzialmente obsoleto, sebbene sia ancora utilizzato come modo di retrocompatibilità[3] in alcuni sistemi di videoconferenza e per alcuni tipi di video su Internet. Tuttavia, l'H.261 rimane un'importante pietra miliare nella storia dello sviluppo del campo della codifica video.
Implementazioni del software
[modifica | modifica wikitesto]Il libavcodec con licenza LGPL include un codificatore e un decodificatore H.261. È supportato dai lettori multimediali liberi VLC media player e MPlayer, e nei progetti dei decodificatori ffdshow e FFmpeg.
Note
[modifica | modifica wikitesto]- ^ (Nokia position paper) Web Architecture and Codec Considerations for Audio-Visual Services (PDF), su w3.org.«H.261, which (in its first version) was ratified in November 1988.»
- ^ ITU-T, H.261 : Video codec for audiovisual services at p x 384 kbit/s - Recommendation H.261 (11/88), su itu.int, 1988. URL consultato il 21 ottobre 2010.
- ^ a b Con l'espressione "compatibile all'indietro" in informatica si intende un sistema, dispositivo o programma compatibile con le versioni precedenti. Si veda: Daniela Cancila e Stefano Mazzanti, Il Dizionario enciclopedico di informatica Inglese-Italiano Italiano-Inglese, Bologna, Zanichelli, 2009, ISBN 978-88-081-9351-3.