Top 10 Articles

Zoophilia
Liste de prières et de bénédictions juives
Pastèque
Gmail
Saola
Odnoklassniki.ru
Xeroderma pigmentosum
La maladie de Minamata
Orkut
Liste de missions de maintien de la paix des Nations Unies

News:

Le cosinus discret transforment

A le cosinus discret transforment (DCT) exprime un ordre de façon finie de beaucoup de points de repères en termes de somme de cosinus fonctions oscillant à différent fréquences. DCTs sont important pour de nombreuses applications en science et technologie, de compression de lossy de audio et images (où petit des composants à haute fréquence peuvent être jetés), à méthodes spectrales pour la solution numérique de équations partielles. L'utilisation du cosinus plutôt que sinus les fonctions est critique dans ces applications : pour la compression, il s'avère que les fonctions de cosinus sont beaucoup plus efficaces (comme expliqué ci-dessous, moins sont nécessaires pour rapprocher un typique signal), tandis que pour des équations les cosinus expriment un choix particulier de états de frontière.

En particulier, un DCT est a Fourier-connexe transformez semblable au transformée de Fourier discrète (DFT), mais en utilisant seulement vrais nombres. DCTs sont équivalent à DFTs rudement deux fois de la longueur, fonctionnant sur de vraies données avec égal symétrie (puisque la transformée de Fourier d'un vrai et même d'une fonction est vraie et égale), où dans quelques variantes les données d'entrée et/ou de rendement sont décalées par moitié d'un échantillon. Il y a huit variantes standard de DCT, dont quatre sont communs.

La variante la plus commune du cosinus discret transforment est le type-II DCT, qui s'appelle souvent simplement « le DCT » ; son inverse, le type-III DCT, s'appelle également souvent simplement « le DCT inverse » ou « l'IDCT ». Deux reliés transforme sont le sinus discret transforment (DST), qui est équivalent à un DFT de vrai et impair fonctions, et le cosinus discret modifié transforment (MDCT), dont est basé sur un DCT recouvrement données.

Table des matières

Applications

Le DCT, et en particulier le DCT-II, est employé souvent dans le traitement de signal et d'image, particulièrement pour la compression de données de lossy, parce qu'elle a une propriété forte « de tassement d'énergie » (Rao et Yip, 1990) : la majeure partie d'information de signal tend à être concentrée dans quelques composants de basse fréquence du DCT, approche Karhunen-Loève transforment (qui est optimal dans le sens de decorrelation) pour des signaux a basé sur certaines limites de Processus de Markov. Comme expliqué ci-dessous, ceci provient des conditions de frontière implicites dans les fonctions de cosinus.

Un connexe transforme, modifié le cosinus discret transforment, ou MDCT (basé sur le DCT-IV), est employé dedans AAC, Vorbis, WMA, et MP3 compression audio.

DCTs sont également largement utilisés en résolvant des équations partielles par des méthodes spectrales, où les différentes variantes du DCT correspondent légèrement à différent même/états de frontière impairs aux deux fins de la rangée.

DCTs sont également étroitement liés à Polynômes de Chebyshev, et des algorithmes rapides de DCT (ci-dessous) sont employés dedans Approximation de Chebyshev des fonctions arbitraires par des séries de polynômes de Chebyshev, par exemple dedans Quadrature de Clenshaw-Curtis.

JPEG

Le DCT est employé dedans JPEG compression d'image, MJPEG, MPEG, et DV compression visuelle. Là, le DCT-II bidimensionnel de des blocs sont calculés et les résultats sont quantized et l'entropie a codé. Dans ce cas-ci, N est en général 8 et la formule de DCT-II est appliquée à chaque rangée et colonne du bloc. Le résultat est des 8 que le × 8 transforment la rangée de coefficient dans laquelle (0,0) l'élément (dessus-gauche) est le composant et des entrées de C.C (zéro-fréquence) avec l'augmentation des valeurs d'index verticales et horizontales représente des fréquences spatiales verticales et horizontales plus élevées.

Vue d'ensemble sans cérémonie

Comme Fourier-connexe transformez, le cosinus discret transforme (DCTs) expriment une fonction ou un signal en termes de somme de sinusoids avec différent fréquences et amplitudes. Comme transformée de Fourier discrète (DFT), un DCT opère une fonction à un nombre fini de points de repères discrets. La distinction évidente entre un DCT et un DFT est que les anciennes fonctions de cosinus d'utilisations seulement, alors que les derniers cosinus et sinus d'utilisations (sous forme de exponentials complexes). Cependant, cette différence évidente est simplement une conséquence d'une distinction plus profonde : un DCT implique différent états de frontière que le DFT ou autre relié transforme.

Le Fourier-connexe transforme qui opèrent une fonction au-dessus d'un fini domaine, comme le DFT ou le DCT ou l'a Série de Fourier, peut être considéré en tant que définir implicitement prolongation de cette fonction en dehors du domaine. C'est-à-dire, une fois que vous écrivez une fonction f(X) comme somme de sinusoids, vous en pouvez évaluer cette somme à X, même pour X là où l'original f(X) n'a pas été indiqué. Le DFT, comme la série de Fourier, Implique a périodique prolongation de la fonction originale. Un DCT, comme a le cosinus transforment, implique égal prolongation de la fonction originale.

Cependant, parce que DCTs opèrent fini, discret les ordres, deux questions surgissent qui pour le cosinus continu ne transforment pas. D'abord, on doit indiquer à si la fonction est égale ou impaire tous les deux les frontières gauches et droites du domaine (c.-à-d. la minuten et maximumn frontières dans les définitions ci-dessous, respectivement). En second lieu, on doit indiquer autour quel point la fonction est égale ou impaire. En particulier, considérez un ordre abcd de quatre points de repères équidistants, et dites que nous indiquons un égal gauche frontière. Il y a deux possibilités sensibles : l'un ou l'autre les données sont même au sujet de l'échantillon a, dans ce cas la prolongation égale est dcbabcd, ou les données sont même au sujet du point à mi-chemin entre a et le point précédent, dans ce cas la prolongation égale est dcbaabcd (a est répété).

Ces choix mènent à toutes variations standard de DCTs et également le sinus discret transforme (DSTs). Chaque frontière peut être égale ou impaire (2 choix par frontière) et peut être symétrique au sujet d'un point de repères ou du point à mi-chemin entre deux points de repères (2 choix par frontière), pour un total de possibilités. Moitié de ces possibilités, ceux où gauche la frontière est égale, correspondent aux 8 types de DCT ; l'autre moitié sont les 8 types de DST.

Ces différents états de frontière affectent fortement les applications de la transformation, et mènent aux propriétés uniquement utiles pour les divers types de DCT. Le plus directement, quand employer Fourier-connexe transforme pour résoudre équations partielles par méthodes spectrales, les conditions de frontière sont directement indiqués comme une partie du problème étant résolu. Ou, pour MDCT (basé sur le type-IV DCT), les conditions de frontière sont intimement impliqués dans la propriété critique du MDCT de l'annulation de crénelage de temps-domaine. D'une mode plus subtile, les conditions de frontière sont responsables des propriétés « de tassement d'énergie » qui rendent DCTs utile pour l'image et la compression audio, parce que les frontières en affectent le taux de convergence de Fourier-comme des séries.

En particulier, il en est bien connu que discontinuités dans une fonction réduisez taux de convergence de la série de Fourier, De sorte que plus de sinusoids soient nécessaires pour représenter la fonction avec une exactitude donnée. Le même principe régit l'utilité du DFT et autre transforme pour la compression de signal : le lissoir une fonction est, quelques limites dans son DFT ou DCT sont exigées pour le représenter exactement, et plus il peuvent être comprimés. (Ici, nous pensons au DFT ou au DCT comme approximations pour Série de Fourier ou série de cosinus d'une fonction, respectivement, afin de parler de sa « douceur.  ») Cependant, la périodicité implicite des moyens de DFT que les discontinuités se produisent habituellement aux frontières : n'importe quel segment aléatoire d'un signal est peu susceptible d'avoir la même valeur les aux deux les frontières gauches et droites. (Le problème semblable d'A surgit pour le DST, dans lequel l'état de frontière gauche impair implique une discontinuité pour n'importe quelle fonction qui ne s'avère pas justement être zéro à cette frontière.) en revanche, un DCT où tous les deux les frontières sont égales toujours rapporte une prolongation continue aux frontières (bien que pente est généralement discontinu). C'est pourquoi DCTs, et en particulier DCTs des types I, II, V, et VI (les types qui ont deux même frontières) généralement exécuter mieux pour la compression de signal que DFTs et DSTs. Dans la pratique, un type-II DCT est habituellement préféré pour de telles applications, en partie pour des raisons de convenance informatique.

Définition formelle

Formellement, le cosinus discret transforment est a linéaire, inversible fonction F : RN -> RN (où R dénote l'ensemble de vrais nombres), ou d'une manière equivalente un inversible N × N matrice carrée. Il y a plusieurs variantes du DCT avec des définitions légèrement modifiées. N vrais nombres X0, ..., XN-1 sont transformés en N vrais nombres X0, ..., XN-1 selon une des formules :

DCT-I

Quelques auteurs autres multiplient X0 et XN-1 les limites par √2, et multiplient également X0 et XN-1 limites par 1/√2. Ceci fait la matrice de DCT-I orthogonal, si on autre multiplie par un facteur de balance global de , mais casse la correspondance directe avec un DFT vrai-égal.

Le DCT-I est exactement équivalent (jusqu'à un facteur de balance global de 2), à un DFT de 2N − 2 vrais nombres avec la symétrie égale. Par exemple, un DCT-I de Nvrais nombres =5 abcde est exactement l'équivalent à un DFT de huit vrais nombres abcdedcb (même symétrie), divisée par deux. (En revanche, les types II-IV de DCT comportent un décalage de moitié-échantillon dans le DFT équivalent.)

Note, cependant, que le DCT-I n'est pas défini pour N moins de 2. (Tous autres types de DCT sont définis pour le positif N.)

Ainsi, le DCT-I correspond aux conditions de frontière : Xn est égal autour n=0 et égalisent autour n=N-1; pareillement pour Xk.

DCT-II

Le DCT-II est probablement la forme la plus utilisée généralement, et souvent désigné simplement sous le nom « du DCT ».

Ceci transforment est exactement équivalent (jusqu'à un facteur de balance global de 2) à un DFT de 4N vraies entrées de symétrie égale où les éléments égal-classés sont zéro. C'est-à-dire, c'est moitié du DFT du 4N entrées yn, où y2n = 0, y2n + 1 = Xn pour , et y4Nn = yn pour 0 < n < 2N.

Quelques auteurs autres multiplient X0 limite par 1/√2 (voir ci-dessous pour le changement correspondant de DCT-III). Ceci fait la matrice de DCT-II orthogonal, si on autre multiplie par un facteur de balance global de , mais casse la correspondance directe avec un DFT vrai-égal d'entrée moitié-décalée.

Le DCT-II implique les conditions de frontière : Xn est égal autour n=-1/2 et égalisent autour n=N-1/2; Xk est égal autour k=0 et impair autour k=N.

DCT-III

Puisque c'est l'inverse de DCT-II (jusqu'à un facteur de balance, voir ci-dessous), cette forme désigné parfois simplement sous le nom « du DCT inverse » (« IDCT »).

Quelques auteurs autres multiplient X0 la limite par 1/√2 (voir ci-dessus pour le changement correspondant de DCT-II), de sorte que les DCT-II et les DCT-III soient transpose d'un un autre. Ceci fait la matrice de DCT-III orthogonal, si on autre multiplie par un facteur de balance global de , mais casse la correspondance directe avec un DFT vrai-égal de rendement moitié-décalé.

Le DCT-III implique les conditions de frontière : Xn est égal autour n=0 et impair autour n=N; Xk est égal autour k=-1/2 et égalisent autour k=N-1/2.

DCT-IV

La matrice de DCT-IV devient orthogonal si on autre multiplie par un facteur de balance global de .

Une variante du DCT-IV, où les données de différent transforment sont recouvert, s'appelle le cosinus discret modifié transforment (MDCT).

Le DCT-IV implique les conditions de frontière : Xn est égal autour n=-1/2 et impair autour n=N-1/2; pareillement pour Xk.

DCT V-VIII

Les types I-IV de DCT sont équivalents à DFTs vrai-égal d'ordre égal (indépendamment de si N est égal ou impair), puisque le DFT correspondant est de la longueur 2 (N−1) (pour DCT-I) ou 4N (pour DCT-II/III) ou 8N (pour DCT-VIII). En principe, il y a réellement quatre types additionnels dont de cosinus discret transforment (Martucci, 1994), correspondant essentiellement DFTs vrai-égal d'ordre logiquement impair, ayez les facteurs dans les dénominateurs des arguments de cosinus.

D'une manière equivalente, DCTs des types I-IV impliquent les frontières qui sont même/impair autour d'un point de repères pour les deux frontières ou à mi-chemin entre deux points de repères pour les deux frontières. DCTs des types V-VIII impliquent les frontières qui égalisent/impair autour d'un point de repères pour une frontière et à mi-chemin entre deux points de repères pour l'autre frontière.

Cependant, ces variantes semblent être rarement employées dans la pratique. Une raison, peut-être, est que les algorithmes de FFT pour l'impair-longueur DFTs sont généralement plus compliqués que des algorithmes de FFT pour l'égal-longueur DFTs (par exemple. les algorithmes radix-2 les plus simples sont seulement pour des longueurs égales), et cette complexité accrue reporte au DCTs comme décrit ci-dessous.

(La rangée vrai-égale insignifiante, une longueur-un DFT (longueur impaire) d'un nombre simple a, correspond à un DCT-V de longueur N=1.)

L'inverse transforme

L'inverse de DCT-I est DCT-I multiplié par 2 (N-1). L'inverse de DCT-IV est DCT-IV multiplié par 2N. L'inverse de DCT-II est DCT-III multiplié par 2N (et vice-versa).

Comme pour DFT, le facteur de normalisation devant ces derniers transforment des définitions est simplement une convention et diffère entre les traitements. Par exemple, quelques auteurs multiplient transforme près de sorte que l'inverse n'exige aucun facteur multiplicatif additionnel. Combiné avec des facteurs appropriés de √2 (voir ci-dessus), ceci peut être employé pour faire la matrice de transformation orthogonal.

DCTs multidimensionnel

Les variantes multidimensionnelles des divers types de DCT suivent simplement des définitions unidimensionnelles : ils sont simplement un produit séparable (d'une manière equivalente, une composition) de DCTs le long de chaque dimension.

Par exemple, un DCT-II bidimensionnel d'une image ou d'une matrice est simplement le DCT-II unidimensionnel, d'en haut, exécuté le long des rangées et puis le long des colonnes (ou vice versa). C'est-à-dire, le 2d DCT-II est donné par la formule (omettant la normalisation et d'autres facteurs de balance, comme ci-dessus) :

Techniquement, calculant des deux (ou multi) DCT dimensionnels par des ordres de DCTs unidimensionnel le long de chaque dimension est connu comme a rangée-colonne algorithme (après le cas bidimensionnel). Comme avec algorithmes multidimensionnels de FFT, cependant, là existent d'autres méthodes pour calculer la même chose tout en exécutant les calculs dans un ordre différent (c.-à-d. intercaler/combinant les algorithmes pour les différentes dimensions). ``

L'image vers la droite montre la combinaison des fréquences horizontales et verticales pour des 8 x 8 (N1 = N2 = 8) DCT bidimensionnel. Chaque étape de gauche à droite et dessus au fond est une augmentation de la fréquence de le cycle de 1/2. Par exemple, la droite mobile une de la place dessus-gauche rapporte une augmentation de moitié-cycle de la fréquence horizontale (va de blanc au noir). Un autre mouvement vers la droite rapporte deux moitié-cycles (blancs au noir au blanc). Un déplacer rapporte vers le bas deux moitié-cycles horizontalement et un moitié-cycle verticalement. Les données de base (8x8) sont transformées à a combinaison linéaire de ces places de 64 fréquences.

Calcul

Bien que l'application directe de ces formules exige O (N2) des opérations, il est possible de calculer la même chose avec seulement de l'O (N notation N) complexité en factorisant le calcul pareillement au transformée de Fourier rapide (FFT). On peut également calculer DCTs par l'intermédiaire de FFTs combiné avec de l'O (N) étapes pré et de post-traitement.

Les algorithmes les plus efficaces, en principe, sont habituellement ceux qui sont spécialisés directement pour le DCT, par opposition à employer un FFT ordinaire plus O (N) opérations supplémentaires (voir ci-dessous pour une exception). Cependant, même « a spécialisé » des algorithmes de DCT (toute l'y compris ceux qui réalisent les plus bas comptes arithmétiques connus, au moins pour puissance-de-deux des tailles) sont en général étroitement liées à FFT algorithme-puisque DCTs sont essentiellement DFTs des données vrai-égales, une peuvent concevoir un algorithme rapide de DCT en prenant un FFT et en éliminant les opérations superflues dues à cette symétrie. Ceci peut même être fait automatiquement (Frigo et Johnson, 2005). Algorithmes basés sur Algorithme de Cooley-Tukey FFT soyez le plus commun, mais n'importe quel autre algorithme de FFT est également applicable. Par exemple, l'algorithme de Winograd FFT mène aux algorithmes de minimal-multiplication pour le DFT, quoique généralement au coût de plus d'additions, et à un algorithme semblable a été proposé par Feig et Winograd (1992) pour le DCT. Puisque tous les algorithmes pour DFTs, DCTs, et semblable transforme sont tellement étroitement liés, n'importe quelle amélioration des algorithmes pour un transforment mèneront théoriquement aux gains immédiats pour l'autre transforme aussi bien (Duhamel et Vetterli, 1990).

Tandis que les algorithmes de DCT qui utilisent un FFT non modifié ont souvent quelques frais généraux théoriques comparés aux meilleurs algorithmes spécialisés de DCT, les anciens ont également un avantage distinct : les programmes fortement optimisés de FFT sont largement disponibles. Ainsi, dans la pratique, il est souvent plus facile d'obtenir le rendement élevé pour des longueurs générales N avec des algorithmes FFT-basés. (L'exécution sur le matériel moderne typiquement n'est pas dominée simplement par des comptes arithmétiques, et l'optimisation exige l'effort de technologie substantiel.) les algorithmes spécialisés de DCT, d'une part, voient que l'utilisation répandue pour transforme de petites, fixes tailles telles que DCT-II utilisé dedans JPEG la compression, ou le petit DCTs (ou MDCTs) ont typiquement employé dans la compression audio. (Le nombre d'instructions réduit peut également être une raison d'employer un DCT spécialisé pour des applications d'enfoncer-dispositif.)

En fait, même les algorithmes de DCT employant un FFT ordinaire sont parfois équivalent à tailler les opérations superflues d'un plus grand FFT des données vrai-symétriques, et ils peuvent même être optimaux de la perspective des comptes arithmétiques. Par exemple, un type-II DCT est équivalent à un DFT de taille 4N avec la symétrie vrai-égale dont égal-a classé les éléments sont zéro. Une des méthodes les plus communes pour calculer ceci par l'intermédiaire d'un FFT (par exemple. la méthode employée dans FFTPACK et FFTW) est dû à Makhoul (1980), et cette méthode rétrospectivement peut être vue en tant qu'une étape d'un algorithme de Cooley-Tukey du décimation-dans-temps radix-4 appliqué au DFT vrai-égal « logique » correspondant au DCT II. (L'étape radix-4 réduit la taille 4N DFT à la taille quatreN DFTs de vraies données, deux dont sont zéro et deux dont soyez égal à une une autre par la symétrie égale, par conséquent donnant une taille simpleN FFT de vraies données plus O(N) papillons.) Puisque les éléments égal-classés sont zéro, cette étape radix-4 est exactement identique qu'une étape de dédoubler-base ; si la taille suivanteN les vrai-données FFT sont également exécutées par des vrai-données algorithme de dédoubler-base (comme en Sorensen et autres., 1987), puis les matchs résultants d'algorithme réellement le plus bas compte arithmétique édité pour puissance-de-deux DCT-II (2Nnotation2NN + 2 opérations de vrai-arithmétique[1]). Ainsi, il n'y a rien intrinsèquement mauvais au sujet de calculer le DCT par l'intermédiaire d'un FFT d'une arithmétique que perspective-il est parfois simplement une question de si l'algorithme correspondant de FFT est optimal. (Comme question pratique, fonction-appelez les frais généraux en appelant une routine séparée de FFT pourrait être significatif pour petit N, mais c'est une exécution plutôt qu'une question algorithmique puisqu'il peut être résolu par le déroulement/inlining.)

Notes

  1. ^ Le compte précis de vraies opérations arithmétiques, et en particulier le compte de vraies multiplications, dépend légèrement de la graduation de la définition de transformation. 2Nnotation2NN + 2 le compte est pour la définition de DCT-II montrée ici ; deux multiplications peuvent être sauvées si la transformation est mesurée par une combinaison facteur. Des multiplications additionnelles peuvent être sauvées si on permet aux sorties de la transformation d'être rescaled individuellement, comme a été montré par Arai et autres. (1988) pour le cas size-8 utilisé dans le JPEG.

Références

  • N. Ahmed, T. Natarajan, et K. R. Rao, « cosinus discret transforment », IEEE trans. Ordinateurs, 90-93, jan. 1974.
  • Y. Arai, T. Agui, et M. Nakajima, « un arrangement rapide de DCT-SQ pour des images, » Trans. IEICE 71 (11), 1095-1097 (1988).
  • P. Duhamel et M. Vetterli, « Fourier rapide transforme : une revue d'instruction et une situation actuelle, «  Traitement des signaux 19, 259-299 (1990).
  • E. Feig, S. Winograd. « Les algorithmes rapides pour le cosinus discret transforment, » Transactions d'IEEE sur le traitement des signaux 40 (9), 2174-2193 (1992).
  • Matteo Frigo et Steven G. Johnson : FFTW, http://www.fftw.org/. Un libre (GPL) Bibliothèque de C qui peut calculer DCTs rapide (types I-IV) dans une ou plusieurs dimensions, de taille arbitraire. En outre M. Frigo et S. G. Johnson, « La conception et l'exécution de FFTW3," Démarches de l'IEEE 93 (2), 216-231 (2005).
  • John Makhoul, « un cosinus rapide transforment dans une et deux dimensions, » IEEE trans. Acoust. La parole Sig. Proc. 28 (1), 27-34 (1980).
  • S. A. Martucci, « convolution symétrique et le sinus et le cosinus discrets transforme, » IEEE trans. Sig. Traitement SP-42, 1038-1051 (1994).
  • A. V. Oppenheim, R. W. Schafer, et J. R. Mâle, Traitement des signaux de temps discret, deuxième édition (Apprenti-Hall, New Jersey, 1999).
  • K. R. Rao et P. Yip, Le cosinus discret transforment : Algorithmes, avantages, applications (Édition académique, Boston, 1990).
  • H. V. Sorensen, D. L. Jones, M. T. Heideman, et C. S. Burrus, « algorithmes rapides à valeurs réelles de transformée de Fourier, » IEEE trans. Acoust. La parole Sig. Traitement ASSP-35, 849-863 (1987).

Voyez également

  • JPEG - Contient un plus facile de comprendre l'exemple de la transformation de DCT

Liens externes


The original article is from Wikipedia. To view the original article please click here.
Creative Commons Licence