Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

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.

Screenshot 2024 01 13 alle 17.08.10

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

pip3 install numpy

👇 Da non perdere 👇



Questo portale web esiste da 4469 giorni (12 anni), e contiene ad oggi 7489 articoli (circa 5.991.200 parole in tutto) e 14 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.