Un computer riproduce immagini e suoni interpretando numeri secondo una codifica. Per un'immagine quei numeri descrivono il colore dei pixel; per l'audio rappresentano campioni di un segnale raccolti nel tempo. Un video mette insieme una sequenza di immagini, una scansione temporale e, quasi sempre, una traccia sonora.

Dopo aver visto come il computer elabora le informazioni, applico gli stessi principi ai contenuti multimediali. Parto da casi semplici per arrivare da una sequenza di bit a quello che vedi e senti.

Dati e interpretazione

Una sequenza di bit non contiene l'indicazione di che cosa rappresenti. È il formato a dire come leggerla: testo, valori numerici, colori, altro.

I programmi decodificano il contenuto e coordinano i dispositivi che lo rendono percepibile. Per le immagini entrano in gioco il sistema grafico e lo schermo; per l'audio la catena deve trasformare i dati in un segnale che muova un altoparlante.

Un'immagine in bianco e nero: un bit per pixel

Immagina una griglia dove ogni punto può essere solo nero o bianco. Due valori, quindi un bit per pixel.

Se la griglia è 8 × 8, sono 64 punti: i soli valori dell'immagine occupano 64 bit, cioè 8 byte. Un file reale pesa di più, perché contiene anche informazioni su formato, dimensioni e modo di leggere i dati.

L'esempio della lampadina accesa o spenta serve a capire la codifica. Non descrive come funziona uno schermo.

Scala di grigi e profondità di colore

Per le sfumature servono più valori. Con 8 bit per pixel distingui 256 livelli, dal nero al bianco.

Continuiamo a parlare di bit: un byte è semplicemente un gruppo di otto. Aumentare la profondità significa aumentare le combinazioni disponibili.

Bit per pixel Combinazioni possibili
1 2
8 256
16 65.536
24 16.777.216

Sono combinazioni codificabili. Come vengono interpretate dipende dal formato e dal modello di colore.

RGB: combinare rosso, verde e blu

In una rappresentazione RGB a 24 bit ogni pixel usa tre componenti da 8 bit: rosso, verde, blu. Ognuna prende 256 valori.

Nero è (0, 0, 0), bianco è (255, 255, 255). Variando le tre intensità ottieni tutto il resto.

Cito anche ciano, magenta e giallo, e va fatta una distinzione: RGB è sintesi additiva, legata alla luce. I modelli sottrattivi come CMY e CMYK servono in altri contesti, la stampa su tutti. Non sono nomi diversi per la stessa cosa.

Risoluzione e spazio occupato

La risoluzione in pixel dice quante colonne e righe compongono l'immagine. Non stabilisce la dimensione fisica di un pixel sullo schermo: per quella contano dimensione del pannello e densità.

Per un'immagine RGB non compressa, senza canale alfa e con 8 bit per componente, i soli dati sono:

larghezza × altezza × 3 byte

Un'immagine 1.920 × 1.080 richiede 6.220.800 byte, circa 6,22 MB decimali. Un JPEG o un PNG pesano diversamente, perché entrano in gioco compressione e struttura del file.

Un video è una sequenza organizzata nel tempo

I fotogrammi sono le immagini che si susseguono. La frequenza dei fotogrammi dice quante ne vengono presentate al secondo: 25, 30, 60.

Risoluzione e frequenza sono grandezze diverse: la prima riguarda le dimensioni in pixel, la seconda la successione temporale. E non esiste una risoluzione minima valida per ogni video o sistema televisivo.

I codec comprimono sia i singoli fotogrammi sia le relazioni fra fotogrammi consecutivi. Ecco perché il peso di un filmato non si ottiene moltiplicando un'immagine non compressa per la durata.

Come si trasforma un suono in numeri

Un microfono trasforma variazioni di pressione in un segnale elettrico. Per rappresentarlo digitalmente servono due operazioni: campionamento e quantizzazione.

Il campionamento misura il segnale a intervalli regolari, e la frequenza di campionamento dice quante misure fai in un secondo. La quantizzazione assegna a ogni misura uno dei valori rappresentabili con la profondità scelta.

Sono due assi distinti: più campioni descrivono più fittamente il tempo, più bit per campione danno più livelli di ampiezza. Il risultato dipende anche dal segnale e dalla catena di acquisizione.

L'esempio degli 8.000 campioni al secondo

Voce campionata a 8.000 Hz con 8 bit per campione. Per un canale, senza compressione:

8.000 campioni/s × 8 bit/campione = 64.000 bit/s

Cioè 64 kbit/s, 8.000 byte al secondo. Fra due campioni passano 125 microsecondi.

È un esempio legato alla telefonia a banda stretta, non una descrizione di tutte le frequenze della voce umana. Per un segnale limitato in banda, il criterio di campionamento richiede una frequenza superiore al doppio della massima frequenza da rappresentare — e nella pratica servono filtri, oltre a fare i conti con gli errori di quantizzazione.

Dalla rappresentazione alla riproduzione

Quando ascolti, i campioni vengono decodificati e convertiti in un segnale analogico che il trasduttore rende udibile. Quando guardi, i valori dell'immagine guidano la visualizzazione sullo schermo.

La parte che trovo affascinante è la continuità del ragionamento: definisci una rappresentazione, elabori i dati, li trasformi in qualcosa che puoi percepire. Immagini, video e musica diventano esempi concreti di come l'informatica organizzi informazioni diversissime con regole precise.