Dct

(Cliquez-ici pour accéder à la version originale de cette discussion avec couleurs et images)







Posted by: Aoyama

Bonjour,

je suis en train d'étudier la compression graphique pour mon tipe, j'ai essayé d'appliquer la dct ("transformée en cosinus discret" si l'abbréviation ne vous parle pas) à des matrices 8x8 dans Maple. Pour des matrices avec des valeurs corrélées, on obtient un gros coefficient et les autre valeurs proches de 0, mais je ne comprends pas très bien comment l'interpréter mathématiquement.
J'ai lu qu'on pouvait l'interpréter comme un changement de base ou encore comme un "passage dans le domaine fréquentiel", mais ça reste assez vague...

Pourriez-vous m'éclairer ?

Merci d'avance



Posted by: alben

Bonjour,

Très schématiquement, imagine une image noir et blanc sur laquelle tu isoles un carré de 8 x 8 pixels. La luminosité de chaque pixel peut être désigné par une fonction L(i,j) où i et j prennent les valeurs 0 à 7
On peut aussi dire que
L(i,j)= C_{0,0}+C_{0,1}cos(\pi /7)+....+C_{i,j}cos(i\pi /7)cos(j\pi /7).....
C'est une sorte de décomposition du morceau d'image en harmoniques. Comme tu as 64 coefficients à fixer et 64 valeurs connues, le système a une solution.
(le calcul est fait très simple, on n'a pas besoin de poser les 64 équations)
Les coeff sont placés dans une matrice.
A ce niveau, il n'y pas de perte d'info (ni d'ailleur de gain de données, on remplace une matrice de valeurs par une matrice de fréquences). Le 1er coeff représente l'intensité moyenne du petit carré, celui à droite et en dessous représentent les deux "fondamentales".
Si les 64 pixels ont la même intensité, la matrice est pleine de zéros sauf le coef en haut à gauche. Si le carré est formé de bandes verticales, seule la première ligne est remplie etc...
L'intérêt réside dans le fait que la valeurs des points évolue mollement et que les harmoniques élevées ont des coef faibles. On élimine les coef dont la valeur est inférieure à un seuil, il y a perte d'info mais réduction des données à transmettre. La conséquence en sera un amollissement des contrastes brutaux.



Posted by: Aoyama

Merci pour cet éclaircissement, mais je ne comprends pas vraiment pourquoi on peut écrire cette décomposition.
Il faut dire que je n'ai pas encore fait les séries de Fourier mais j'ai un peu regardé en quoi ça consistait et là ça m'a quand même l'air assez différent : ce n'est pas une somme infinie et pourquoi ce produit de 2 cosinus dans chaque terme ?



Posted by: alben

Bonsoir,

Tu as entrevu les séries de Fourier mais on ne t'a pas montré que la décomposition d'une fonction périodique en fonctions trigo n'était que la partie visible d'un ensemble beaucoup plus vaste.
Il n'est pas question ici de séries mais de "transformation". Donc c'est très différent, encore que...

Pourquoi on ne pourrait pas transormer un tableau de 64 chiffres en un autre ? On pourrait aussi par exemple chercher les 64 coefficients d'un polynome du genre a_0 + a_1i +a_2j+a_3ij+a_4i^2.....+a_{63} i^8 j^7
Le problème c'est que ça serait difficile à calculer et que l'on ne serait pas capable de voir quels coeff sont négligeables.

Pourquoi un produit de cosinus ?
En gros l'idée c'est de dire que sur un petit carré, la luminusité suit une évolution assez lisse sur une coupe horizontale et une autre sur une coupe verticale. En pratique ça se vérifie assez bien car les carrés de base sont petits. On arrive facilement à diviser par 20 le volume d'info d'une image sans dégrader la qualité.
Et là on retrouve bien l'analogie avec les séries de Fourier : quand tu enregistre la voix humaine ou des sons, tes appareils (micros, haut parleurs, ampli) perdent les harmoniques les plus élevées mais tu ne l'entend pas ou presque.











-