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

Podobne dokumenty