Trasformata del coseno discreto (DCT): cos’è e come funziona


La Trasformata del Coseno Discreto (DCT, acronimo di Discrete Cosine Transform) è una trasformazione matematica che converte una sequenza di dati discreti, tipicamente una sequenza di valori campionati da un segnale analogico, in una rappresentazione nel dominio delle frequenze. La DCT è ampiamente utilizzata in vari campi, soprattutto nell’elaborazione del segnale e nella compressione dell’immagine e del suono.

La DCT è simile alla Trasformata di Fourier, ma è specificamente progettata per lavorare su dati discreti. La DCT converte un segnale in una combinazione di coefficienti di coseni. Questa trasformazione è utilizzata in particolare nella compressione di immagini e video, come ad esempio nello standard di compressione JPEG per le immagini e nell’MPEG per i video.

La DCT ha diverse varianti, tra cui la DCT del Tipo I, II, III, e IV. La DCT del Tipo II è spesso la più utilizzata e comunemente associata alla compressione di immagini. La DCT è anche utilizzata nell’algoritmo di compressione audio noto come MP3. La sua capacità di concentrare l’energia del segnale in un numero relativamente ridotto di coefficienti rende la DCT una scelta efficace per la compressione senza perdita di informazioni significative.

La formula della DCT rappresenta una somma ponderata dei coseni di diverse frequenze, ognuna pesata dalla sua relativa importanza nel segnale originale. La DCT è una trasformazione lineare che converte un segnale dal dominio del tempo a quello delle frequenze, consentendo di concentrare l’energia del segnale in un numero limitato di coefficienti, rendendola utile per la compressione di dati.

DCT in Python

Nel codice di esempio che riportiamo, np.fft.dct viene utilizzata per calcolare la DCT. L’argomento type=2 specifica che stiamo utilizzando la DCT del Tipo II, che è comunemente usata in applicazioni di compressione come JPEG. L’argomento norm='ortho' specifica una normalizzazione ortogonale, che è spesso utilizzata per garantire che l’inversa della DCT sia simile all’originale senza alcuna normalizzazione aggiuntiva.

import numpy as np

# Definizione della sequenza di dati
x = np.array([4, 7, 2, 11])

# Calcolo della DCT utilizzando la funzione dct di NumPy
X = np.fft.dct(x, type=2, norm='ortho')

# Stampare i risultati
print("Sequenza di dati originale:")
print(x)
print("\nCoefficienti DCT:")
print(X)

Assicurati di avere la libreria NumPy installata nel tuo ambiente Python, puoi farlo eseguendo il seguente comando:

pip install numpy

oppure

Pubblicità – Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito
Pubblicità – Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito
pip3 install numpy

👇 Da non perdere 👇



Trovalost esiste da 4633 giorni (13 anni), e contiene ad oggi 4348 articoli (circa 3.478.400 parole in tutto) e 22 servizi online gratuiti. – Leggi un altro articolo a caso
Numero di visualizzazioni (dal 21 agosto 2024): 12
Pubblicità – Continua a leggere sotto :-)
Segui il canale ufficiale Telegram @trovalost https://t.me/trovalost
Seguici su Telegram: @trovalost
Privacy e termini di servizio / Cookie - Il nostro network è composto da Lipercubo , Pagare.online e Trovalost
Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Questo sito contribuisce alla audience di sè stesso.