O implementacjach sprzętowych transformacji falkowej
Transkrypt
O implementacjach sprzętowych transformacji falkowej
Waldemar RAKOWSKI* O implementacjach sprzętowych transformacji falkowej W połowie lat siedemdziesiątych zaczęto wykorzystywać dekompozycję podpasmową sygnałów cyfrowych w kompresji sygnałów [9]. Okazało się, że sygnał cyfrowy, rozszczepiony na dwa sygnały: dolnopasmowy i górnopasmowy, poddane następnie decymacji, tj. zachowaniu tylko co drugiej próbki (co powoduje, że liczba próbek w obydwu sygnałach podpasmowych i liczba próbek w sygnale oryginalnym są takie same) może być zrekonstruowany na podstawie zdecymowanych sygnałów podpasmowych. Dostrzeżono, że dwa zdecymowane sygnały podpasmowe mogą być efektywnie kwantowane i kodowane, a parametry kompresji, tj. współczynnik kompresji i zniekształcenia zrekonstruowanego sygnału, osiągają wartości znacznie lepsze niż w znanych wcześniej metodach kompresji sygnałów. Do połowy lat osiemdziesiątych poszukiwano filtrów cyfrowych umożliwiających, w przypadku zaniechania kwantowania, zrekonstruowanie sygnału równego dokładnie sygnałowi oryginalnemu. Pierwsze takie filtry opisano w [27], a Martin Vetterli w [29] określił tzw. warunki doskonałej rekonstrukcji sygnału, tj. równania, które muszą spełniać transmitancje filtrów, aby sygnał zrekonstruowany był równy sygnałowi oryginalnemu. Pod koniec lat osiemdziesiątych odkryto, że wśród filtrów spełniających warunki doskonałej rekonstrukcji sygnału są filtry, dla których istnieją funkcje umożliwiające konstruowanie baz aproksymujących przestrzeń funkcji o skończonej energii. Wszystkie funkcje bazowe są odpowiednio przeskalowaną i przesuniętą wersją jednej funkcji bazowej, nazywanej matką, generowanej przez filtr. Aproksymacja w tych bazach ma charakter wielorozdzielczy. Aproksymata jest podwójną sumą funkcji bazowych, w której jeden indeks określa skalę – czyli szerokość funkcji bazowej, drugi indeks określa przesunięcie – czyli położenie funkcji bazowej na osi zmiennej niezależnej. Ideę aproksymacji wielorozdzielczej zawdzięczamy głównie Stefanowi Mallat [22]. Ingrid Daubechies w pracy [11] pokazała, jak konstruować filtry o skończonej odpowiedzi impulsowej i takie, w których odpowiadające im funkcje bazowe matki mają zwarty nośnik, tzn. wszędzie poza skończonym odcinkiem są równe zeru i tworzone z nich bazy są ortogonalne. Istotną cechą omawianych tu funkcji jest ich dobra lokalizacja zarówno w czasie, jak i w dziedzinie częstotliwości, gdyż – oprócz zwartego nośnika – moduł transformaty Fouriera tych funkcji „szybko” zanika. Ze względu na wymienione tu własności, funkcje te nazwano falkami (ang. wavelet, fr. ondelette). Fundamentalna praca Stefana Mallata [22] dała początek nowej technice kompresji sygnałów i obrazów, tzw. metodzie falkowej. W latach dziewięćdziesiątych skonstruowano nowe filtry i nowe falki, odkryto też nowe – specyficzne dla reprezentacji falkowej – metody kwantowania i kodowania. Powstał nowy standard kompresji obrazów nieruchomych JPEG 2000, wykorzystujący reprezentację falkową obrazów. Kompresja obrazu metodą falkową jest złożonym procesem obliczeniowym. Pierwszym krokiem kompresji falko- ROCZNIK LXXVI wej jest obliczenie reprezentacji falkowej sygnału lub obrazu. Współczynniki rozwinięcia falkowego sygnału mogą być obliczone za pomocą układu filtrów jak na rysunku 1. Cztery filtry muszą spełniać tzw. warunki doskonałej rekon~ strukcji sygnału, tj. zapewniać x [n] = x [n] (gdzie x [n] jest ~ sygnałem oryginalnym, a x [n] sygnałem zrekonstruowanym) – oraz dodatkowe wymagania stawiane filtrom falkowym. Filtry h – (dolnoprzepustowy) i g (górnoprzepustowy) oraz występujące za nimi decymatory (przepuszczają co drugą próbkę) służą do dekompozycji falkowej sygnału cyfrowego x [n], tj. do oblicze~ nia transformaty falkowej sygnału, zaś filtry h (dolnoprzepusto~ wy) i g (górnoprzepustowy) oraz występujące przed nimi ekspandery (wstawiają zero między każde dwie próbki) służą do rekonstrukcji falkowej sygnału cyfrowego, tj. do obliczenia odwrotnej transformaty falkowej sygnału. Głównym krokiem obliczeniowym prostej i odwrotnej transformaty falkowej jest operacja filtracji cyfrowej, którą opisuje następujące równanie: L y [n ] = ∑h [k ] x [n − k ], (1) k =0 gdzie y[n] oznacza wartość sygnału na wyjściu filtru o odpowiedzi impulsowej h pobudzonego sygnałem x[n]. Etap ten bardzo efektywnie realizuje się za pomocą procesorów sygnałowych, jak i za pomocą układów FPGAs (Field-Programmable Gate Arrays). Konwencjonalne obliczenie wartości prawej strony powyższego równania polega na akumulowaniu wyników mnożeń stałych współczynników odpowiedzi impulsowej filtru z wartościami próbek sygnału wejściowego. W realizacji za pomocą układów FPGA można wyeliminować kosztowne, w sensie niezbędnej liczby konfigurowalnych bloków logicznych (CLBs – Configurable Logic Blokcs), układy mnożące przez zastosowanie do obliczania sumy (1) arytmetyki rozproszonej (distributed arithmetic) [24, 34, 13]. Dalej przedstawiono realizację filtracji cyfrowej w szeregowej arytmetyce rozproszonej. FILTRACJA CYFROWA W ARYTMETYCE ROZPROSZONEJ W arytmetyce rozproszonej wykorzystuje się układ logiczny nazywany LUT (Look-Up-Table), odwzorowujący jednoznacznie ciągi binarne K-bitowe w ciągi binarne M-bitowe. W realizacji filtracji cyfrowej za pomocą filtru o odpowiedzi impulsowej: * Wydział Informatyki Politechniki Białostockiej e-mail: [email protected] PRZEGLĄD TELEKOMUNIKACYJNY O Rys. 1. Banki filtrów dekompozycji i rekonstrukcji sygnału nr 2--3/2003 77 h [0], h [1], ..., h [L] (2) układ LUT odwzorowuje liczbę reprezentowaną przez ciąg binarny: b0 b1 ... bL (3) w liczbę równą gdzie drugi indeks oznacza numer bitu wartości xk. W zapisie uzupełnień do 2 m x k = − x k ,0 + (4) i =0 Równanie (9) przyjmuje zatem postać: L y= Zapis uzupełnień do 2 W zapisie uzupełnień do 2 ciąg binarny: b0 b1 ... bm (5) m = m ∑ hk − x k ,0 + ∑ x k ,i 2−i = k =0 Jak zostanie pokazane dalej, zastosowanie układów LUT umożliwia realizację operacji MAC (Multiply and Accumulate) bez układu mnożącego, wystarczy tylko sumator. Niezbędny jest jednak wybór sposobu reprezentacji wartości liczbowych ze znakiem. Operację sumowania najprościej realizuje się w zapisie uzupełnień do 2. Dlatego w dalszym ciągu liczby ze znakiem będą reprezentowane w zapisie stałoprzecinkowym uzupełnień do 2. Wprawdzie często współczynniki odpowiedzi impulsowej filtrów w naturalny sposób są reprezentowane w zapisie zmiennoprzecinkowym, jednakże ze względu na znacznie większą złożoność układów arytmetycznych zmiennoprzecinkowych niż stałoprzecinkowych i istniejącą zawsze możliwość konwersji z zapisu zmiennoprzecinkowego na stałoprzecinkowy [33], w dalszym ciągu będzie stosowany zapis stałoprzecinkowy uzupełnień do 2, scharakteryzowany krótko w następnym punkcie. (11) i =1 L ∑ b i ⋅ h [i ]. ∑ x k , j 2− i . (12) i =1 L L ∑ ∑ x k ,i h k ⋅ 2−i − ∑ x k ,0 h k i =0 k =0 (13) k =0 Wprowadzając pomocniczą zmienną Bi zdefiniowaną następująco: L Bi = ∑ x k ,i h k , (14) k =0 wartość próbki sygnału wyjściowego można zapisać jako: m y= ∑ B i 2 −i − B 0 . (15) i =1 Prawą stronę powyższego równania można obliczyć za pomocą następującego schematu: y: = 0; y: = y/2 + Bi, dla i = m, m -1,..., 1; y: = y – B0. Z powyższego algorytmu wynika bezpośrednio układ realizujący filtrację cyfrową w szeregowej arytmetyce rozproszonej, pokazany na rysunku 2. przy założeniu, że przecinek leży między bitem z indeksem 0 i bitem z indeksem l, reprezentuje wartość: m − b0 + ∑ b i 2− i . (6) i =0 Powyższe założenie o położeniu przecinka nie wprowadza istotnego ograniczenia ogólności rozważań i będzie obowiązywało dalej. Najbardziej znaczący bit, z indeksem 0, określa znak liczby i będzie dalej nazywany pozycją znaku. Wartości liczbowe określone wzorem (6) należą do przedziału: − 1, 1− 2− m . (7) FILTR CYFROWY W SZEREGOWEJ ARYTMETYCE ROZPROSZONEJ Równanie (1) definiujące filtrację cyfrową w krótszej formie może być zapisane jako: L y [n ] = ∑ h k x k [n ] . (8) k =0 Pamiętając, że obowiązuje ono dla n-tej chwili czasowej, można pominąć operator indeksowania [n] i rozpatrywać w postaci: O Rys. 2. Układ filtracji cyfrowej wykorzystujący szeregową arytmetykę rozproszoną Sterowanie układu z rysunku 2 powinno wymuszać w sumatorze dodawanie argumentów wchodzących na lewą i prawą stronę sumatora dla indeksu: i = m, m – 1, ..., 1 i odejmowanie prawej strony od lewej dla indeksu i = 0. Wartości Bi mogą być pobierane z układu LUT, w którym wcześniej „zaszyto” współczynniki odpowiedzi impulsowej filtru hk. Zgodnie ze wzorem definicyjnym (14) Bi są równe: L ∑ x k ,i h k i takie wartości powinien zwracać układ LUT. Jeżeli z bitów: L y= ∑ hk x k , W dalszym ciągu wartość próbki wejściowej xk będzie reprezentowana przez ciąg binarny 78 (17) utworzy się adres: w której y oznacza próbkę wyjściową w chwili n-tej, x0 próbkę wejściową w chwili n-tej, x1 próbkę wejściową w chwili (n-l) -szej itd. xk,0 xk,1 ... xk,m , xL,i xL–1,i ... x1,i x0,i (9) k =0 (16) k =0 (10) L ∑ x k ,i 2k , (18) k =0 to układ LUT można traktować jak pamięć zawierającą pod powyższym adresem wartość określoną wzorem (16), co ilustruje tabela 1. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 2--3/2003 O Tabela 1. Definicja LUT w układzie filtrującym z rys. 3 Wejście LUT (adres) Wyjście LUT 0 0 1 h [0] 2 h [1] 3 h [0]+ h [1] 4 h [2] 5 h [0]+ h [2] 6 h [1]+h [2] 7 h [0]+ h [1]+ h [2] ... ... ∑Lk=0 h [k] 2L+1 – 1 Na rysunku 3 pokazano układ zawierający LUT o pojemności 2 L+1 słów M-bitowych, gdzie M jest równe liczbie bitów niezbędnych do reprezentowania w zapisie uzupełnień do 2 każdej możliwej wartości określonej wzorem (16). Jeżeli wartości współczynników odpowiedzi impulsowej filtru hk są reprezentowane przez ciągi N-bitowe, to M ≤ N + log2K, gdzie K = L+1 jest liczbą współczynników odpowiedzi impulsowej filtru. cej danemu rejestrowi powinna być taka, jak długość rejestru, zaś słowa powinny być 1-bitowe. Można użyć jednego wspólnego dla wszystkich pamięci rejestru adresowego. W i-tym takcie obliczeniowym bit x0, i jest pobierany z wyjścia rejestru przesuwnego o numerze 0, zaś pozostałe bity, tj. x1,i, x2,i , ..., xL,i, są jednocześnie odczytywane z poszczególnych pamięci spod adresu i. Po podaniu odczytanych wartości na wejścia układu LUT do pierwszej pamięci jest zapisywany pod adresem i bit z wyjścia rejestru o numerze 0. Do k-tej pamięci, k = 2, 3,..., L pod adresem i jest zapisywany bit odczytany wcześniej z pamięci (k – 1)-szej, po czym adres w rejestrze adresowym jest zwiększany o l (modulo pojemność pamięci). Pojemność układu LUT wynosi 2K słów, gdzie K jest długością filtru. W przypadku długich filtrów, np. o 16 współczynnikach odpowiedzi impulsowej, realizacja LUT wymaga bardzo dużej liczby bloków logicznych układu FPGA. Z tego względu celowe może być zdekomponowanie układu LUT na tablice o mniejszej pojemności. W następnym punkcie pokazano sposób takiej dekompozycji. Dekompozycja LUT Niech liczba wejść LUT będzie liczbą parzystą równą 2p. Wówczas wartości, które ma zwracać LUT, są równe: 2 p −1 B= ∑ d k hk = (20) k =0 = p −1 2 p −1 k =0 k −p ∑ d k hk + ∑ d k hk p −1 = ∑ k =0 O Rys. 3. Układ filtracji cyfrowej z rysunku 2, wykorzystujący LUT Jak pokazuje rysunek 3, na wejście układu LUT muszą być podane w danej chwili bity o tym samym indeksie następujących próbek sygnału wejściowego: x [n], x [n – 1], ... , x [n – L] (19) Bity te mogą być przechowywane w układzie rejestrów przesuwnych, jak na rysunku 4. Rejestr o numerze 0 jest ładowany równolegle próbką x [n]. Pozostałe rejestry są ładowane szeregowo po każdym kroku pętli, w pokazanym wcześniej algorytmie obliczania wartości próbki na wyjściu filtru y[n]. Każdy z rejestrów przesuwnych o numerach od l do L można zastąpić pamięcią typu RAM. Pojemność pamięci odpowiadają- O Rys. 4. Układ rejestrów przesuwnych przechowujących próbki filtrowanego sygnału PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 2--3/2003 = (21) p −1 d k hk + ∑ d p +k h k +1 k =0 (22) gdzie dk ∈ {0,1}. Z powyższego widać, że układ LUT o pojemności 22p można zastąpić dwiema tablicami każda o pojemności 2p i sumatorem. Współczynniki odpowiedzi impulsowej filtru h0, h1, ... , hp–1 „zaszywa się” w jednej tablicy o pojemności 2p słów, a pozostałe współczynniki hp, hp+1, ... h2p–1 w drugiej. O ile zachodzi potrzeba, każda z tych tablic może być analogicznie zdekomponowana na dwie mniejsze tablice, co prowadzi do struktury drzewiastej układu. Przykład dekompozycji układu LUT o 16 wejściach na 4 tablice o 4 wejściach pokazano na rysunku 5. Jeżeli porównać liczbę elementarnych bloków logicznych układu FPGA niezbędnych do realizacji pewnego filtru i filtru O Rys. 5. Układ dekompozycji LUT o pojemności 216 słów na cztery tablice po 24 słów 79 r razy dłuższego, to przy jednym układzie LUT filtr r razy dłuższy wymaga 2 r razy więcej bloków. Konstrukcja filtru o r-krotnej długości za pomocą tablic o takiej samej liczbie wejść, jak w filtrze odniesienia, wymaga tylko 2r – l razy więcej bloków, co wynika z liczby węzłów drzewa dekompozycji. Przykładowo gdy r = 4, zmniejsza się liczba niezbędnych bloków ponad dwukrotnie (24/(2 ⋅ 4 – 1) = 2,28), podczas gdy dla r = 8 liczba ta wynosi 17. Decymacja w arytmetyce rozproszonej W transformacie falkowej występuje tylko co druga próbka sygnału wyjściowego określonego wzorem (1), co nazywane jest decymacją. O Rys. 6. Układ rejestrów przesuwnych przechowujących próbki filtrowanego sygnału i realizujących decymację sygnału na wyjściu filtru Oznacza to, że – w celu obliczenia kolejnej próbki sygnału wyjściowego y – należy wprowadzić dwie nowe próbki1) sygnału wejściowego x. Odpowiadający temu układ rejestrów przesuwnych przechowujących próbki sygnału wejściowego i połączenia z układem LUT pokazano na rysunku 6. Układy z filtrami symetrycznymi W zastosowaniach transformaty falkowej w kompresji sygnałów i obrazów największe znaczenie mają filtry o liniowej cha- rakterystyce fazowej. Filtry takie mają symetryczne (albo antysymetryczne) współczynniki odpowiedzi impulsowej, którą to własność wyraża równanie2): h [k] = h [L – k]. (23) Wykorzystanie symetrii współczynników umożliwia zmniejszenie do połowy liczby wejść układu LUT. W takim przypadku na wejście układu LUT należy podać nie bit xk, i, ale sumę bitów xk, i i xL–k, i. Można to zrealizować w układzie sumatora szeregowego jak na rysunku 7, wykorzystującego sumator jednobitowy i rejestr typu D. ✽✽✽ W artykule omówiono ideę transformacji falkowej sygnałów i przedstawiono szczegółowo algorytmy arytmetyki rozproszonej, umożliwiające realizację sprzętową transformacji falkowej za pomocą układów FPGA. Pierwszą implementację sprzętową dyskretnej transformaty falkowej podał Knowles w [15]. We wspomnianym projekcie użyto dużych multiplekserów do przekazywania wyników pośrednich, co jest niewygodne z punktu widzenia realizacji w technologii VLSI. Lewis i Knowles w [18] przedstawili efektywną architekturę z wykorzystaniem filtrów ortogonalnych Daubechies o 4 współczynnikach, jednakże nie była to architektura efektywna dla innych filtrów. W pracach [14, 16, 17] przedstawiono architektury systoliczne filtrów falkowych. Różnego rodzaju architektury dwuwymiarowej dyskretnej transformaty falkowej przedstawiono w pracach [23, 31, 32, 4, 5, 6]. Arytmetykę rozproszoną przedstawili jako pierwsi Croisier i jego współpracownicy w [10] oraz Peled i Lui w [24]. Implementacje filtrów o skończonej odpowiedzi impulsowej w arytmetyce rozproszonej i z wykorzystaniem układów FPGA przedstawiono w [1, 2, 13]. Przykład implementacji filtrów w arytmetyce rozproszonej w postaci karty rozszerzeń komputera z magistralą PCI V. 2.1 przedstawiono w [25]. Na karcie umieszczono układy FPGA firmy Xilinx z rodziny XC4000XL. Częstotliwość zegara karty wynosi 40 MHz. Do karty dołączono sterowniki VxD i WDM, umożliwiające jej wykorzystanie w systemach operacyjnych Windows 95, 98 i 2000. Dynamiczny rozwój układów konfigurowalnych i rekonfigurowalnych [30, 8, 19, 20, 21] umożliwia budowę za ich pomocą zarówno układów realizujących transformatę falkową, jak i koderów piramid falkowych. Informacje na ten temat można znaleźć w pracach [3, 28, 12, 7, 26]. Ważne zastosowania znajduje transformata falkowa w odszumianiu sygnałów i obrazów oraz w kompresji dźwięku i obrazu. Transformacja falkowa sygnału dekoreluje współczynniki rozkładu i „skupia” energię sygnału w niewielkiej liczbie współczynników. Reprezentację falkową sygnału można efektywnie kwantyzować i kodować, osiągając bardzo dobre wyniki kompresji w sensie kryterium: średnia bitowa – zniekształcenie. Cechy te wykorzystano w standardzie kompresji obrazów JPEG 2000 i w systemach wizyjnego monitoringu, np. oferowanych przez firmę Philips. LITERATURA [1] Serial distributed arithmetic FIR filter. Product Specification, 17 July 1998, http://www.xilinx.com/products/logicore/dsp/sdafir.pdf [2] Distributed arithmetic FIR filter. Product Specification, 10 Dec. 1999, http://www.xilinx.com/ipcenter/catalog/logicore/docs/C_DA_ _FIR_V1_0. pdf O Rys. 7. Układ uwzględniający symetrię filtru z 1-bitowym sumatorem szeregowym 80 –––––––– 1) Wzór na próbkę sygnału wyściowego po decymacji ma postać y [n] = Σk h [2n – k] x [k]. 2) Filtr antysymetryczny spełnia zależność h [k] = –h [L – k]. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 2--3/2003 [3] Brown S., Rose J.: Architecture of FPGAs and CPLDs: A Tutorial. IEEE Design and Test of Computers, vol. 13, no. 2, 1996, http://citeseer.nj.nec.com/brown96architecture.html [4] Chacrabarti C., Yishwanath M.: Efficient realizations of the discrete and continous wavelet transforms: From single chip implementations to SIMD parallel computers. IEEE Trans. on Signal Processing, 43, March 1995 [5] Chacrabarti C., Yishwanath M., Owens R. M.: A survey of architectures for the discrete and continuous wavelet transforms. Journal of VLSI Signal Processing Systems, Nov. 1996 [6] Chacrabarti C., Mumford C.: Efficient realizations of encoders and decoders based on 2-D Discrete Wavelet Transform. IEEE Transaction on VLSI Systems, 1998, http://citeseer.nj.nec.com/248383. html [7] Chou H., Chen F., Yalentino D., Huang L., Yillasenor J.: Large scale implementation of optimal image compression algorithms. W: San Diego SPIE Proceedings Vol. 2431, Feb. 1995, http://www.icsl. ucla.edu/~ipl/papers/SPIE_HC.html [8] Compton K., Hauck S.: Configurable computing: A survey of systems and software. Technical report, Nortwestern University, Dept. of ECE, 1999, http: //citeseer.nj.nec.com/compton99configurable. html [9] Croisier A., Esteban D., Galand C.: Perfect channel splitting by use of interpolation/decimation techniques. W: Internat. Conf. on Information Sciences and Systems, Patras, Greece, August 1976 [10] Croisier A., Esteban D. J., Levilion M. E., Riso V.: Digital Filter for PCM Encoded Signals. U. S. Patent 3777 130, Dec. 4 1973 [11] Daubechies I.: Orthonormal bases of compactly supported wavelets. Communications in Pure and Applied Mathematics, 41, 1988 [12] Ding Z.: Image Wavelet Compression Implementation using a Run-Time Reconfigurable Gustom Computing Machine. Master's thesis, Virginia Polytechnic Institute and State University, June 2000 [13] Xilinx Editor: The Role of Distributed Arithmetic in FPGA-based Signal Processing. Xilinx application note, Xilinx Inc., 1997, http://www.xilinx.com/appnotes/theoryl.pdf [14] Grzeszczak A., Mandal M. K., Panchanathan S.: VLSI implementation of discrete wavelet transform. IEEE Transactions on VLSI Systems, 4 (4), December 1996 [15] Knowles G.: VLSI architecture for discrete wavelet transform. Electron. Lett., 26 (15), July 1990 [16] Lang R., Plesner E., Schroder H., Spray A.: An efficient systolic architecture for the one-dimensional wavelet transform. In H. H. Szu, editor, Wavelet Applications, Proc. SPIE 2242, 1994, http://citeseer. nj.nec.com/lang94efficient. html [17] Lang R., Spray A., Schroder H.: 1-d wavelet transform architecture. Technical Report EE9457, Department of Electrical and Computer Engineering, University of Newcastle, Australia, Nov. 17 1994, http://citeseer.nj.nec.com/5495.html [18] Lewis A. S., Knowles G.: VLSI architecture for 2-d daubechies wavelet transform without multipliers. Electron. Lett., 27 (2) Jan. 1991 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 2--3/2003 [19] Łuba T., Zbierzchowski B.: Komputerowe projektowanie układów cyfrowych. Wydawnictwa Komunikacji i Łączności, Warszawa, 2000 [20] Łuba T., Zbierzchowski B., Jóźwiak L.: Nowoczesna mikroelektronika jako sprzętowe oblicze technik informacyjnych. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, LXXIII (l), 2000 [21] Łuba T., Zbierzchowski B., Zbysiński P.: Układy reprogramowalne dla potrzeb telekomunikacji cyfrowej. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, LXXV (5), 2002 [22] Mallat S. G.: A theory for multiresolution signal decomposition: The wavelet representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 11 (7), July 1989 [23] Parhi K. K., Nishitani T.: VLSI Architectures for Discrete Wavelet Transforms. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 1 (2), 1993 [24] Peled A., Liu B.: A new hardware realization of digital filters. IEEE Trans. on Acoust., Speech, Signal Processing, ASSP-22, Dec. 1974 [25] Raczinski J. -M., Sladek S., Chevalier L.: Filter Implementation on SYNTHUP. W: Proceedings of the 2nd COST G-6 Workshop on Digital Audio Effects (DAFx99), NTNU, Trondheim, Dec. 9-11 1999 [26] Schoner B., Villasenor J., Molloy S., Jain R.: Techniques for FPGA implementation of video compression systems. W: ACM/SIGBA International Symposium on Field-Programmable Gate Arrays, 1995, http://www.icsl.ucla.edu/~ipl/papers/FPGAnew.pdf [27] Smith M. J. T., Barnwell T. P.: Exact reconstruction techniques for tree-structured subband coders. IEEE Trans. on ASSP, 34, 1986 [28] Tessier R., Burleson W.: Reconfigurable Computing for Digital Signal Processing: A Survey. Journal of VLSI Signal Processing, 28, 2001, http://www.ecs.umass.edu/ece/tessier/jvsp00.pdf [29] Vetterli M.: Filter banks allowing perfect reconstruction. Signal Processing, 10 (3), April 1986 [30] Villasenor J., Mangione-Smith W. H.: Configurable Computing. Scientific American, 276 (6), June 1997, http://www.sciam.com/ /0697issue/0697villasenor.html [31] Vishwanath M., Owens R. M., Irwin M. J.: VLSI architectures for discrete wavelet transform. IEEE Trans. on Circuits and Systems, 42 (5), May 1995 [32] Wasilewski P.: 2-D discrete wavelet transform implementation in FPGA device for real-time image processing. W: Wavelet Applications in Signal and Image Processing, San Diego, CA, 30 Jul.-l Aug. 1997 [33] Weeks M.: Precision for 2-D Discrete Wavelet Transform Processors. W: 2000 IEEE Workshop on Signal Processing Systems (SiPS), Lafayette, Louisiana, October 10–13 2000, http://carmaux.cs.gsu. edu/precission.pdf [34] White S. A.: Applications of distributed arithmetic to digital signal processing. IEEE ASSP Magazine, 6 (3), July 1989 Artykuł recenzowany (Artykuł nadesłano do redakcji – październik 2002 r.) 81