Nel campo dell'elaborazione video digitale, l'algoritmo Block Matching (BMA) svolge un ruolo cruciale. Questo algoritmo viene utilizzato principalmente per individuare i macroblocchi corrispondenti nelle sequenze di fotogrammi video e il suo scopo principale è la stima del movimento. La stima del movimento presuppone che gli oggetti e gli sfondi nei fotogrammi video si muovano nel tempo, generando così oggetti corrispondenti nei fotogrammi successivi.
Questo processo può rivelare ridondanza temporale nella sequenza video, rendendo più efficiente la compressione video tra fotogrammi.
Quando si implementa l'algoritmo di corrispondenza dei blocchi, il frame corrente viene diviso in più macroblocchi e ciascun macroblocco viene confrontato con il blocco corrispondente nel frame precedente e con i blocchi adiacenti. In questo modo viene generato un vettore di movimento che rappresenta lo spostamento di un macroblocco da una posizione all'altra. Il riepilogo del movimento per tutti i macroblocchi è la stima del movimento del fotogramma.
Nel processo di compressione video è fondamentale scegliere un intervallo di ricerca appropriato, determinato dal "parametro di ricerca" p. Nello specifico, p rappresenta il numero di pixel che circondano il macroblocco corrispondente nel fotogramma precedente. Se il valore di p è maggiore, significa che potrebbero esserci spostamenti maggiori, rendendo più facile trovare una buona corrispondenza, ma ciò può anche portare ad una maggiore complessità computazionale. Generalmente, la dimensione del macroblocco è di 16 pixel e il valore p dell'area di ricerca è impostato su 7 pixel.
Durante il processo di stima del movimento, il calcolo dei vettori d'azione può descrivere da un lato la transizione da un'immagine 2D a un'altra e, dall'altro, può anche prevedere i cambiamenti dell'immagine attraverso la compensazione del movimento. Questa tecnologia è la pietra angolare degli standard di compressione video come MPEG 1, 2 e 4.
La compressione video può ridurre efficacemente il numero di bit richiesti per la trasmissione dei dati attraverso la stima del movimento, poiché è più efficiente trasmettere immagini di differenze codificate rispetto a fotogrammi completamente codificati.
Tuttavia, nell'intero processo di compressione, la stima del movimento è l'operazione più costosa dal punto di vista computazionale, quindi la ricerca di un algoritmo di stima del movimento veloce e computazionalmente semplice è diventata un requisito importante per la tecnologia di compressione video.
Le funzioni di costo più comunemente utilizzate quando si confronta un macroblocco con un altro sono la differenza media assoluta (MAD) e l'errore quadratico medio (MSE). Questi indicatori possono aiutare l'algoritmo a valutare la qualità della corrispondenza:
MAD = 1/N^2 * ∑(i=0 to n-1) ∑(j=0 to n-1) |C(i,j) - R(i,j)|
MSE = 1/N^2 * ∑(i=0 to n-1) ∑(j=0 to n-1) (C(i,j) - R(i,j))^2 p>
Tra questi, N rappresenta la dimensione del macroblocco e C(i,j) e R(i,j) sono rispettivamente i pixel nel macroblocco corrente e nel macroblocco di riferimento.
Dagli anni '80, la ricerca sugli algoritmi di corrispondenza dei blocchi ha compiuto progressi significativi ed è emersa una varietà di algoritmi efficienti. Quella che segue è un'introduzione a diversi algoritmi comuni:
Questo algoritmo calcola la funzione di costo di ciascuna posizione nella finestra di ricerca e può trovare il macroblocco più corrispondente nel quadro di riferimento. Tuttavia, il suo sovraccarico computazionale è enorme ed è il più ingombrante di tutti gli algoritmi di corrispondenza dei blocchi.
Questo algoritmo si basa sulla piramide delle immagini ottimizzata per accelerare l'intero processo di ricerca e migliorare l'efficienza.
TSS è uno dei primi algoritmi di corrispondenza rapida dei blocchi che riduce significativamente il numero di macroblocchi che devono essere valutati effettuando la ricerca in più posizioni.
Rispetto a TSS, FSS offre prestazioni migliori in termini di costi computazionali e rapporto segnale-rumore di picco (PSNR) e utilizza anche un metodo di ricerca con polarizzazione centrale.
"Con il progresso della tecnologia video, in che modo lo sviluppo di algoritmi di corrispondenza dei blocchi influenzerà l'evoluzione della futura tecnologia di compressione video?"
L'efficienza e la qualità della compressione video dipendono in larga misura dall'accuratezza e dall'efficienza computazionale della stima del movimento, che a loro volta sono strettamente correlate all'algoritmo di corrispondenza del blocco selezionato. Pertanto, comprendere i pro e i contro dei vari algoritmi avrà un impatto importante sullo sviluppo della futura tecnologia video. In che modo l'algoritmo di corrispondenza dei blocchi influenzerà i futuri cambiamenti nella tecnologia video digitale?