Discussion:Transformée en cosinus discrète

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Premiers commentaires[modifier le code]

il est vraiment pas bon cet article ;-) . je crois que je vais faire une petite traduction de l'anglais qui - comme d'hab - est excellent Sylenius 3 mai 2006 à 21:20 (CEST)[répondre]


Est-ce que par hasard on ne dirait pas plutôt Transformée en cosinus discrète ? (c'est la transformée qui me parait être discrète, non le cosinus). --213.103.143.248 19 août 2006 à 19:41 (CEST)[répondre]

c'est exact ! j'avais même pas vu ! Sylenius 20 août 2006 à 18:36 (CEST)[répondre]
done ! Sylenius 20 août 2006 à 18:37 (CEST)[répondre]

Erreur DCT-III IDCT(8) (méthode de calcul rapide)[modifier le code]

Il semblerait qu'il y ait une erreur sur l'image de la matrice pour la DCT-III http://upload.wikimedia.org/math/a/1/f/a1f984506a310c8d6dc12633446a3dcd.png

En fait ce n'est pas : x4 x5 x6 x7

Mais : x7 x6 x5 x4

J'ai trouvé ça là : Madisetti, A.; Willson, A.N., Jr., "DCT/IDCT processor design for HDTV applications," Signals, Systems, and Electronics, 1995. ISSSE '95, Proceedings., 1995 URSI International Symposium on , vol., no., pp.63-66, 25-27 Oct 1995 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=497935&isnumber=10650

Et mes tests le confirment --Shaga (d) 19 novembre 2008 à 11:49 (CET)[répondre]

N'hésite pas à modifier toi même si tu es sûr de toi, ce n'est pas une image mais du code LaTeX, donc c'est facile à modifier. Je ne peux pas accéder au papier cité, je ne peux pas vérifier, donc je préfère ne rien modifier. Sylenius (d) 21 novembre 2008 à 21:29 (CET)[répondre]
C'est fait --Shaga (d) 10 décembre 2008 à 14:52 (CET)[répondre]

Optimisation du code[modifier le code]

Une petite optimisation du code est possible, à plusieurs endroits on retrouve l'expression "8*i" 16 fois dans "lignes" et dans "colonnes". L'expression est donc calculé à 256 reprises au lieu de 16 nécessaires.

je propose : avec variable intermédiaire

...
float out[64];
  short v;
  int k ;
  // Lignes
  for(int i=0;i<8;i++) {
    k = 8*1
    x0 = (float)block[0+k];    x1 = (float)block[1+k];
...

on peut même envisager l'usage du décalage à gauche qui est théoriquement moins couteux que la multiplication (mais c'est chipoter)

on peut aussi factoriser un peu au prix de boucles itératives imbriqués— Le message qui précède, non signé, a été déposé par Ribeyren (discuter)

On peut même se passer de cette multiplication inutile :
...
  for(int i=0;i<64;i += 8) {
    x0 = (float)block[0+i];    x1 = (float)block[1+i];
...
Émoticône sourireArkanosis 6 juillet 2010 à 10:23 (CEST)[répondre]
naturellement, mais l'itérateur n'est pas multiplié partout par 8 dans le code. Et il faut aussi se poser la question, de faire un code compréhensible ou optimum. Si on choisis optimum, il faut passer les x0..x7 dans un tableau et y accéder avec un pointeur, ne plus utiliser de multiplication par 8 mais un décalage à gauche de 3 (déjà utilisé pour la division à la fin du code)--Ribeyren (d) 15 juillet 2010 à 00:25 (CEST)[répondre]

Harmonisation des titres des articles Transformée de/en XXX et Transformation de/en XXX[modifier le code]

Bonjour,

afin d'harmoniser les titres des différentes transformées, un vote (informel) est en cours sur cette page. N'hésitez pas à y participer et à donner votre avis ! Valvino (discuter) 25 mars 2018 à 23:34 (CEST)[répondre]