La recherche de 8x8 (ou nxn) transformée en Cosinus Discrète (DCT)/IDCT Pseudo-Code

J'ai été à la recherche Google pour un certain temps maintenant de trouver le pseudo-code d'un décemment efficace 8x8 (ou nxn) DCT algorithme, et je ne trouve rien!

J'ai mis en place l'approche naïve, et il a fallu beaucoup trop de temps pour s'exécuter.

Si vous pouviez poster quelques pseudo-code de référence ou un bon livre/document/site web, qui pourrait être utile.

C ou C++ exemples serait encore mieux!

  • C'est bizarre, un assez naïfs approche fonctionne très vite ici, combien de temps est "trop long"?
  • J'ai été le traitement d'une image 512x512 avec 3 canaux, et elle a été prise quelques minutes avant que je l'ai éteint. J'ai peut-être mis en œuvre de manière incorrecte ou s'est coincé dans une boucle infinie en quelque sorte. Permettez-moi d'essayer de nouveau.
  • J'ai eu précalculées le cosinus tables de cours, mais d'autres que c'était juste l'approche naïve de le faire exactement comme la définition l'indique. Mais même avec ceux de cosinus, il ne devrait pas prendre longtemps.
  • Êtes-vous à l'aide de la divisibilité? @harold
  • Je ne sais pas, pour être honnête, je ne suis pas un expert sur les DCT - je suis l'aide de deux boucles imbriquées les deux allant de 0 à 8, au lieu de le faire d'abord dans une dimension, puis dans l'autre, c'est que ce que cela signifie?
  • Oui. Pourriez-vous poster votre code source? Je suis en train de faire quelques stéganographie, et j'ai besoin d'un simple dct et idct de cacher des informations dans l'espace. @harold

InformationsquelleAutor user904963 | 2011-12-02