jpeg - périodisation pour DCT - Divers - Programmation
Marsh Posté le 30-11-2004 à 10:12:32
lynx_n2 a écrit : bonjour, |
Pour ce qui est de la norme, il existe ce bouquin qui est très bien (je l'avais feuilleté je crois):
http://www.amazon.com/exec/obidos/ [...] 2?v=glance
Pour ce qui est de la DCT, ce n'est hélas pas un produit matriciel, sinon il n'y aurait pas des millions de dollars investis à optimiser cette partie en hard ou soft (c'est la plus gourmande de la compression/décompression, juste devant la conversion RGB->YCbCr). Mais il existe des algorithmes performants (il y en a 2 qui sont courramment utilisés) pour faire de l'IDCT.
Pour ce qui est de la "périodisation", c'est une erreur (grossière) dans ta doc il me semble. La DCT ne fonctionne pas comme une Transformée de Fourier ou comme une ondelette. Il n'y a pas besoin de périodiser.
A moins que je ne me trompe et que parles du downsampling 4 :2 :2 ou 4 :2 :1 ?
Marsh Posté le 30-11-2004 à 01:18:51
bonjour,
je suis en train d'essayer à programmer un petit programme de compression jpeg,
je cherche donc à appliquer la DCT à des blocs de 8 pixels par 8 pixels, mais je trouve dans certains doc qu'on metionne qu'il faut périodiser l'image avant d'appliquer la DCT pour supprimer les effets de bord, mais je vois pas trop de quoi il s'agit, à priori toute l'informations du bloc de 8x8 est déjà contenue dans ce bloc et le périodiser n'apporte pas d'autre information,
de plus la version matritielle de la DCT est un produit matritiel avec une matrice de passage unitaire de taille 8x8, si on périodise l'image, on va obtenir des blocs de 16x16 ou 32x32 et alors on ne peu plus effectuer le produit matriciel avec la matrice de la DCT qui est de 8x8 !
y aurait-il qqun d'autre par ici qui aurait déjà bidouiller le JPEG et qui pourrait m'apporter une réponse?
merci d'avance.
PS si jamais qqun saurait me dire où je peux trouver la norme officielle du JPEG (qui parait-il fait 700 pages) ce serait tout à fait bienvenu. (j'arrive pas à touver même sur le site officiel du jpeg)