Philipp W. Besslich . Tian Lu Diskrete o rthogo nal transformationen Algorithmen und FluBgraphen fur die Signalverarbeitung Mit 91 Abbildungen Springer-Verlag Berlin Heidelberg GmbH Prof. Dr.-Ing. Philipp W. Besslich Institut nirTheoretische Elektrotechnik und Digitale Systeme FBIIUniversitiit Bremen 2800 Bremen Dipl.-Ing. Tian Lu Steegerstra{3e 11 a \000 Berlin 65 CI P-Tilelaufnahme der Dculs<:hen BibliOlhck Besslkh. Philipp: Diskrele Orlhogonallransformalionen : Algorilhmcn und Flul3graphcn IUr die Signalverarbeilung 1 Philipp W. Bcssli<:h ; Tian Lu. Berlin; Ileidelberg ; New York ; London; Paris; Tokyo; Iiong Kong: Springer. 1990 ISBN 978-3-540-52151-8 ISBN 978-3-642-48933-4 (eBook) DOl 10.1007/978-3-642-48933-4 NE:Tian.Lu Dieses Werk isl urhcberre<:hlli<:h geschiilZI. Die dadur<:h begriindelen Rechle. insbesondere die derUber selzung. des Nachdrucks. des Vortrags. der Enlnahme von Abbildungen und Tabellen. der Funksendung. der Mikroverlilmung oder der Vervieillilligung aur anderen Wegen und der Speicherung in Dalenver arbeilungsanlagen. bleiben. auch bei nur auszugsweiser Verwertung. vorbehallen. Eine Vervieiralligung dieses Werkes oder von Teilen dieses Werkes isl auch im Einzelrall nur in den Grenzen der geselzlichen Bestimmungen des Urheberrechtsgesetzes derBundesrepublik Deuls<:hland yom 9. Seplemberl9b5 inder jeweils gellenden Fassung zulassig. Sie ist grundsalzlich vergiilungspllichlig. Zuwiderhandlungen unter liegen den Slralbeslimmungen des Urheberrechtsgeselzes. © Springer-Verlag Berlin Heidelberg 1990 Urspriinglich erschienen bei Springer-Verlag Berlin Heidelberg New York 1990. Die Wiedergabe von Gebrauchsnamen. Handelsnamen. Warenbezeichnungen usw. in diesem Buch berechligl auch ohne besondere Kennzeichnung nichl zu der Annahme.dal3 solche Namen im Sinne der Warenzeichen-und Markenschulz-Gesetzgebung als rrei zu belrachlen waren und daher von jedermann benutzl werden diirflen. Sollte in diesem Werk direkl oderindirektaurGeselze. Vorschriften oder Richllinien (z.B. D! N. VD!. VDE) Bezuggenommen oderaus ihnen zitiert worden sein.so kann derVerlag keine GewiihrlUr Richligkeit. VolI stiindigkeil oder Aklualitiil iibernehmen. Es empfiehlt sich. gegebenenralls IUr die eigenen Arbeilen die vollstiindigen Vorschriflen oder Richllinien in der jeweils giiltigen Fassung hinzuzuziehen. 2068/3020543210 -Gedruckt aur siiurerreiem Papier Vorwort Sei t Bekanntwerden "schneller" Algori Uunen haben orthogonale Transformatio nen in der digitalen Signalverarbeitung zunehmend an Bedeutung gewonnen. Ausgehend vom "klassischen" Cooley-Tukey-Algorithmus der diskreten Fourier Transformation wurde eine Vielzahl anderer Algori thmen mit dem Ziel ent wickelt. den Rechenaufwand weiter zu reduzieren. So entstanden z.B. der Primfaktor-Algorithmus. der Winograd-Algorithmus und der Split-Radix-AIgo rithmus der DFT. AuBerdem wurden schnelle Algorithmen fur andere Transforma tionen. wie die Walsh-. Haar-. Cosinus-Transformation etc. bekannt. Viele dieser Transformationsalgorithmen kennen vom Rechner stufenweise. d.h. in Iterationen abgearbeitet werden. so daB La. eine speichersparende "in place"-Verarbeitung mOg~ich ist. Wegen der rasanten Entwicklung auf dem Gebiet der digitalen Bildverarbeitung hat das Interesse an zweidimensionalen Orthogonaltransformationen in letzter Zeit stark zugenommen. Infolgedessen entstanden zahlreiche Algorithmen fur 2D-Transformationen. Haufig wird hierbei von der Separierbarkeit in Zeilen und Spal tentransformationen Gebrauch gemacht. Es hat sich jedoch gezeigt. daB anders geartete Algorithmen (z.B. die Berechnung aus Koeffizienten nie drigerer Ordnung) vorteilhafter sein kennen. Vor dem Hintergrund der Verfugbarkeit von integrierten Schaltungen zur DurchfUhrung orthogonaler Transformationen gewinnt die Signalverarbeitung im Transformationsbereich eine neue Dimension. Die Moglichkeit. spezielle Transformationsalgorithmen als (semJ-) kundenspezifische integrierte Schal tungen zu realisieren. laBt die Kenntnis bestehender Algorithmen sowie der ihnen zugrunde liegenden Prinzipien besonders aktuell erscheinen. Mit diesem Buch werden mehrere Ziele verfolgt: Nach einer Ubersicht uber die wichtigsten Orthogonaltransformationen (Kapitel 2) werden einige grundsatz- VI liche Probleme der diskreten "schnellen" Transformations-Algorithmen behan delt (Kapitel 3). Dazu ziililen u.a.: KomplexiUi.t. Berechnungs-Strategien (z .B. direkte und indirekte Berechnung der Transformationskoeffizienten). Anwendung der Restklassenari thmetik. Faktorisierung der Transformationsma trizen sowie der Zusammenhang zwischen der Iterationsfolge und der Reihen folge von Objektdaten und Koeffizienten. FUr zweidimensionale Transformatio nen treten weitere Fragestellungen hinzu. wie Separierbarkeit. ZuruckfUhrung auf eine eindimensionale Transformation. hierarchische Berechnung. etc. (Ka- piteI5). Basierend auf diesen aligemeinen Uberlegungen werden die wichtigsten AIgo rithmen fur ein- und zweidimensionale Orthogonaltransformationen (Kapitel 4 und 6) vorgestellt. Dabei wird auf eine vereinheitlichte Terminologie Wert gelegt. sowohl bei den Herieitungen wie bei den zugehorigen SignalfluBgra phen. Anwendung finden die hier vorgestellten Transformationsalgorithmen in Pro grammen fur Allzweckrechner. Mikro- oder Signalprozessoren oder fur spe zielle Transformations-Hardware. 1m ersten Fall werden die Programme i.a. in einer Hochsprache geschrieben. wiilirend Mikro- und Signalprozessoren haufig in ihren Assembler-Sprachen programmiert werden. Insbesondere bei der Trans formation gro13erer Blldmatrizen konnen jedoch die Verarbeitungszeiten be trachtlich sein. Deshalb ist man bemUht. hierfur spezielle parallelverarbei tende Architekturen zu entwickeln. Abschlie13end (Kapitel 7) werden Hinweise auf die Implementierung der Algorithmen in Software und Hardware gegeben. Dieses Buch wendet sich in erster Linie an Ingenieure und Student en der In formationstechnik. aber auch an Informatiker und Wissenschaftler anderer Disziplinen. die vor der Aufgabe stehen. einen geeigneten Algorithmus einer ein- oder zweidimensionalen Transformation in Software oder Hardware zu im plementieren. Wegen der Erorterung einiger allgemeiner Gesichtspunkte mag das Buchauch fUr diejenigen von Nutzen sein. die sich mit der Entwicklung neuer Algorithmen befassen. Herrn Prof. Dr. P. Noll. Institut fUr Fernmeldetechnik der TU Berlin. danken wir vielmals fur seine FOderung bei der Erstellung des Manuskripts. Wir dan ken gleichfalls Herrn Prof. Dr. A. Wasil jeff • Institut fUr Telekonmunika- VII tionstechnik der Universitat Bremen !ur !ruchtbare Diskussionen sowie Frau Ch. Stinner !ur die graphische Gestaltung. Ein besonderer Dank gebUhrt Herrn Dr. James W. Cooley. IBM T. J. Watson Research Center. Yorktown Heights. NY. der es trotz drangender Termine erm6glichte. unser Manuskript durchzusehen und Anregungen zu einigen Verbesserungen zu geben. Bremen. FrUhjahr 1990 Philipp W. Besslich Berlin Tian Lu InhaItsverzeichnis Abkurzungen und Formelzeichen ............................. XII 1 Einfuhrung 1.1 Anwendungsbereiche von Orthogonaltransformationen in der Signal verarbei tung ........................................ . 1.2 Diskrete orthogonale Trans!ormationen ............................. 5 1.3 Darstellungsformen und Komplexitat der Trans!ormationsalgorithmen ........................................ 8 1.4 Organisation des Buches .......................................... 10 2 Die wichtigsten diskreten Orthogonaltransformationen 12 2.1 Fourier-Transformation ........................................... 12 2.2 Hartley-Transformation ........................................... 17 2.3 Cosinus- und Sinus-Transformation ................................ 19 2.4 Walsh-Hadamard-Transformation .................................... 21 2.5 Haar-Transformation .............................................. 34 2.6 Slant-Transformation ............................................. 37 3 Strategien. Berechnungs- und Darstellungsformen .......... 43 3.1 Berechnungsstrategien ............................................ 43 3.1.1 Direkte Berechnung der Trans!ormationskoe!fizienten ........ 43 3.1.2 Berechnung aus Koef!izienten von Teilfolgen ................ 43 3.1.3 Berechnung aus den Koeffizienten einer anderen Trans!ormation 44 3.2 Anwendung der Restklassenarithmetik .............................. 45 3.3 Faktorisierung der Trans!ormationsmatrix ......................... 50 IX 3.4 Indizierung der Daten im Objekt- und im Transformationsbereich ... 57 3.4.1 Aufteilung in Module ....................................... 57 3.4.2 Darstellung durch SignalfluBgraphen ........................ 60 3.4.3 Beziehungen zwischen Iterationenfolge. Objektdaten- und Koeffizientenreihenfolge .................. 64 4 Algorithmen eindimensionaler Transformationen ............ 74 4.1 Algorithmen fur die diskrete Walsh-Transformation ................ 74 4.1.1 Algorithmen fur die Paley-. Hadamard- und Walsh-Qrdnung .... 74 4.1.2 Berechnung der WHT aus Koeffizienten von Teilfolgen ........ 77 4.2 Algorithmen fur die diskrete Fourier-Transformation .............. 78 4.2.1 Cooley-Tukey- und Sande-Tukey-Algorithmus .................. 80 4.2.2 Radix-4- und Split-Radix-Algorithmus fur die FFT ........... 90 4.2.3 Primfaktor-Algorithmus fur die DFT ......................... 97 4.2.4 Winograd-Algorithmus ...................................... 103 4.2.5 Berechnung der DFT aus Walsh-Koeffizienten ................ 107 4.2.6 Berechnung der DFT aus Koeffizienten von Teilfolgen 113 4.2.7 FFT-Algorithmus fur reelle. symmetrische oder antisymmetrische Datensequenzen ........................... 120 4.3 Algorithmen fur die diskrete Hartley-Transformation ............. 130 4.3.1 DHYT-Algorithmus mit Zeitdezimierung ...................... 131 4.3.2 DHYT-Algorithmus mit Frequenzdezimierung .................. 134 4.3.3 Primfaktor-Algorithmus fUr die DHYT ....................... 136 4.3.4 Split-Radix-Algorithmus fur die DHYT ...................... 138 4.3.5 Berechnung der DHYT aus Koeffizienten von Teilfolgen ...... 141 4.3.6 DHYT-Berechnung aus Walsh-Koeffizienten ..... '" ........... 146 4.3.7 Konversion zwischen. DFT~ und DHYT-Koeffizienten ........... 151 4.4 Algorithmen fur die diskrete Cosinus-Transformation ............. 153 4.4.1 DCT-Berechnung mittels 2N-Punkte-DFT ...................... 154 4.4.2 DCT-Berechnung mittels N-Punkte-DFT ....................... 159 4.4.3 DCT-Berechnung aus DHYT-Koeffizienten ..................... 165 4.4.4 DCT-Algorithmus mit Matrixfaktorisierung .................. 167 4.4.5 Algorithmus zur direkten DCT-Berechnung ................... 174 4.4.6 DCT-Berechnung aus KoeHizienten von Teilfolgen ........... 178 4.4.7 Algorithmus fur eine modifizierte DCT ..................... 182 x 4.5 Algorithmen fur die diskrete Sinus-Transformation ............... 187 4.5.1 DST-Algorithmus mit Matrixfaktorisierung .................. 187 4.5.2 DST-Berechnung uber die OCT ............................... 191 4.6 Algorithmen fur die diskrete Haar-Transformation 193 4.6.1 HT-Algor ithmus ohne "in-place"-Eigenschaft 194 4.6.2 Algorithmen zur "in-place"-Berechnung der HT .............. 196 4.7 Algorithrnen fur die Slant-Transformation ........................ 198 4.7.1 SLT-Algorithmus mit Faktorisierung der Trans!ormationsmatrix 198 4.7.2 SLT-Algorithmus unter Verwendung der Walsh-Transformation. 198 4.7.3 SLT-Algorithmus unter Verwendung der Haar-Transformation .. 203 5 Berechnungsstrategien zweidimensionaler Transformationen 204 5.1 Berechnung der 2D-Koef!izienten durch eine 1D-Trans!ormation (und umgekehrt) ............................... 208 5.2 Separierung in Zeilen- und Spaltentransformation ................ 211 5.3 Direkte Berechnung der 2~{oe!!izienten aus der 2D-Datenmenge ... 215 5.4 Berechnung aus 2D-Koef!izienten niedrigerer Ordnung ............. 221 6 Algorithmen zweidimensionaler Transformationen .......... 225 6.1 Algorithrnen fur die 2D-Walsh-Trans!ormation ..................... 225 6.2 Algorithmen fur die 2D-Fourier-Trans!ormation ................... 231 6.2.1 ZeilejSpalte-Algorithmus der DFT 233 6.2.2 Vektor-Radix-Algorithmus der DFT 235 6.2.3 Direkter 2D-FFT-Algorithmus ............................... 241 6.2.4 Berechnung der 2D-FFT aus Koeffizienten niedrigerer Ordnung ....................................... 250 6.2.5 Vereinheitlichte Behandlung der zweidimensionalen DFT-Algorithmen 256 6.2.6 DFT-Algorithrnen fur reel Ie 2D-Datenarrays ................. 266 6.3 Algorithmen fur die diskrete 2D-Hartley-Transformation .......... 270 6.3.1 ZeilejSpalte-Algorithmus der DHYT 271 6.3.2 Vektor-Radix-Algorithmus der DHYT 273 6.4 Algorithmen fUr die diskrete 2D-Cosinus-Transformation .......... 277 XI 6.4.1 DCT-Algorithmus zur direkten Anwendung auf die 2D-Da tenmenge ............................................. 279 6.4.2 DCT-Berechnung aus Koef!izienten niedrigerer Ordnung ...... 289 7 Implementierung der Algorithmen ......................... 293 7.1 Software-Implementierung ........................................ 293 7.2 Hardware-Realisierung ........................................... 296 Literaturverzeichnis ...................................... 301 Sachverzeichnis ........................................... 309 Abkiirzungen und Formelzeichen Walsh-Transformation: wal{k.t) kontinuierlich delinierte Walsh-Funktion Wal{k.n) diskrete Walsh-Funktion wal.{k.t) nach Walsh geordnete wal(k.t) Walw{k.n) nach Walsh geordnete Wal(k.n) WHT Wal sh-Hadamard-Transf ormation (WHT)w nach Walsh geordnete WHT Xw(k) (WHT)w-Koelfizienten von x(n) [Hw] (WHT)w-Matrix hw(k.n) Elemente von [Hw{L)] wah (k. t) nach Hadamard geordnete wal(k.t) WaIH(k.n) nach Hadamard geordnete Wal(k.n) (WHTh nach Hadamard geordnete WHT XwH(k) (WHT)H-Koelfizienten von x(n) [HH] (WHTh-Matrix hH(k.n) Elemente von [HH{L)] wal (k. t) nach Paley geordnete wal(k.t) p Walp(k.n) nach Paley geordnete Wal(k.n) (WHT)P nach Paley geordnete WHT Xwp (k) (WHT)p-Koelfizienten von x{n) [Hp] (WHT)p-Matrix hp(k.n) Elemente von [Hp(L)] cal(k.t) kontinuierlich delinierte Cal-Funktion Cal(k.n) diskrete Cal-Funktion sal(k.t) kontinuierlich delinierte Sal-Funktion Sal(k.n) diskrete Sal-Funktion wal ••· (k.t) wal(k.t) in Cal-Sal-Qrdnung Walcs(k.n) Wal(k.n) in Cal-Sal-Qrdnung