B I o ckma tchin g

Transcription

B I o ckma tchin g
- 5tJ-
6 Array-Architekturen für den
BI ockmatching-Al gori thmus
Der dem Blockmatchingmit der vollständigenSucheinhärenteParallelismus
zwischenden bildpunkfttrientiertenOperationenerlaubt eine Verteilungder Operationenauf regulärvernetzte
Processing-Elemente
(PEs).ArchitekturendieserArt werdenilt der Literaturalszneidimensionales Prttzessorf'eld
oder Array bzw. im eindimensionalenFäll auch als Prozessor-Reihe
bezeichnet[4-51[63].
Die Operationsausführung
erfolgt in einer Kombinationaus Pipeliningund
Parallelverarbeitung.
In systolischen
Arrayswerdenmit jedem SystemtaktDaten in die Register
zwischenden PEs geschrieben,
von wo sie über die lokalen Kommunikationsverbindungen
den
benachbartenPEs zur Verfügung stehen.Damit auch PEs am Rand des Arrays mit jedem
Systemtaktneue Daten erhalten kiinnen. sind wie in Bild 20 dargestelltspeziellan clasArray
angepaßtelokale Speichervorzusehen.
l o ka l e r
Speicher
krkaler
Speicher
Bild 20: tslockschaltbild
einerArrav-Architekturnrit lokalenSpeichern
Für die Realisierungeiner Array-Architektur auf einem Chip mit einer geringenAnzahl von
Kontakten (Pins)ist es zweckmäßig,die lokalen Speicherund das Array gemeinsamauf clem
Chip anzuttrdnen.Daher ist im Rahmeneinessogenannten
Space-'fime-Mapping-Vertahrens
bei der Abbildung einesAlgorithmusauf eine Architektr.rrdafür zu sorgen.daß die PE-Anzahl
des Arrays nicht zu groß ist und die Leistungstähigkeit
dennochausreicht.Die Dimensionder
Arrays und die Anzahl der PEs richten sich entsprechenddem in Kapitel 4.4 beschriebenen
Vorgehennach der Zeiteinteilungs- und Projektionsprozedur.Dementsprechendunterschiedlich fällt die Komplexität der Arrays aus,die sich durch dasFläche-Zeit-Prctdukt charakterisieren läßt (4.9).Im nächstenKapitelwerdendahercharakteristische
Typender Alrays diskutierr.
die sich durch eine mehrfach durchgeführtelineare T.eiteinteilungs-und Projektionsprozedur
e r g e b e nu n d a l s G r u n d l a g ef ü r t s e i s p i e l veo n e i n - u n d z w e i d i m e n s i o n a l eAn l r a y s d i e n e n .D i e
- 59-
B e i s p i e l ew e r d e n d u r c h i h r e P E - A n z a h l . d i e A n z a h l d e r S y s t e m t a k t ep r o B i l d p u n k t u n d d i e
EEttizienz
verglichen.Anschließendwerden Maßnahmen zur Steigerungder Effizienz,Miigl i c h k e i t e n d e r S t e u e r u n gd e r A r r a y s u n d d i e A r t d e r l o k a l e n S p e i c h e rd i s k u t i e r t .
6.I Basistypenvon ein- und zweidimensionalenArrays
für das Blockmatching
Es kann wie bei den Multiprozessorarchitekturen
in Kapitel -5.Iauch davon ausgegangen
werden. daß das Blockmatchingtür eine Folge von Bildsegmentenin Zellen ausgeführtwird.
Dementsprechend
ist auchhier von einerZuorclnungder Arrayszu einerFolgevon Bildsegmenten auszugehen.Die Eigenschaftenhinsichtlich Kommunikation, Speicherkapazitäten
und
arithmetischemTbil auf der Ebene von Bildsegmentengleichenauch bei Array-Architekturen
denender Multiprozessorarchitektur
ausKapitel 5. Im Gegensatzdazuist aber mit unterschiecilichen Architektur-Konzeptenauf der Ebene einesSuchbereiches
zu rechnen.Das systematischeVttrgehenbei der Abbildungvom Blockmatchingauf die Array-Architekturenbeginnthier
deshalbmit einer Partitionierungder Aufgabenstellung
in die Tbile,die sich mit jedem Suchber e i c h w i e d e r h o l e n I. n d e n G l e i c h u n g e n ( 2 . 1 1u) n d ( 2 . 1 3 )s i n d d j e O p e r a t i o n e nd e s B l o c k m a t chingsfür einenSuchbereichspezitiziert.Da in diesenGleichungendie vier Indizes i, k. m und ri
vorkommen, ist der entsprechendeAbhängigkeitsgraph(DG) des Blockmatchingsin einern
vi erdi mensionalen (4-D) i,k,m.n-lndexraum aufgespannt.
Die mehrfäch durchgeführtelineare Zeitetnteilungs-und Projektionsprozedurentlang den i-.
k-, n- oder m-Achsen führt zu 2-D und 1-D Arrays. deren PE-Anzahl sich nach cler
BfockgrößeN und der AnzahI Q der Kandidatenbliickein einer Zeile bzw. SpaltedesSuchbereiches.Pro Suchbereichsind bei der vollständigenSucheQ2 OperationenM und S auszuführen
(Tabelle13). Mit jeweilsN2 OperationenD. B und A pro Kandiclatenblock
ergebensich clann
pro SuchbereichinsgesamtQ2'Nz Operationen D, I] unclA (3.17).Wegen der unveränderlichenOperationentblgenM-SundD-B-AführtdieAbbildungimmeraufgleichartigsrrukrurierte PEs für diese Folgen.Diese PEs werden hier als PEs vonr Typ AD und MS bezeichnet
( B i r d2 1 ) .
D ( i- l . k . m . n )
PE,AD
P E ,M S
dl'(m,n)
sp(i,k)
s5 (i+ m ,k' t n)
mdl.(m,n)
vQn,n)
D(i,k,m,n)+
sQi m,k + n))
.f(sa(i,k)-s
Bild2l: Prrrcessing-Elernente
AD undMS 1'ürdieOperationen aus Täbelle r3
mcff'(m-l,n)
v(m-1,n)
- {d)-
Durch die Zeiteinteilungs- und Projektionsprozedurentstehen aus dem 4-D DG mehrere
3-D SFGs jm i,k,m-, i,k,n-. i,nt,n- ctderk,m,n-Indexraum.Die 3-D SFGs bestehenaus Q ' N2
Knoten AD oder Q2'X Knoten AD (Tabelle1t3).Aus den 3-D SFGs wiederum ergebensich
'lyp
Arrays mit Kombinationen ausQ2,B oder einem PE vom
MS bzw. ,V2.N oclereinem PH
vom T;p AD. Die systematische
Abbildung des Blockmatchings
auf Array-Architekturenist in
Anhang F mathematischfundiert dargestellt.
Die [-eistungsfähigkeit
einesArrays verhält sich umgekehrtproportionalzu der Ausführungszeit pro Bildpunkt tpp(P)(4.7X5.5)bzw. entsprechend
(4.2)proportionalzu der Anzahl der Systemtaktepro Bildpunkt cpp(P)und der Dauer 7'des Systemtaktes.
Unter Annahme einer gleichen Systemtaktperiode
für alle Arrays reicht es, die l-eistungsfähigkeit
der Arrays durch die
Anzahl der Sysfemtakteprc Bildpunkt zu bewerten.Mit (5.5),(5.6) und (5.7) gilt dann
t'pIt (pa r r pM.s) :
maxlcpp(pt t t). t 1tp (p1a.y1l
mlt
:
cPP@a,i)
##
und
,
:
t'pp\pus)
: (*) t,,,=,,
Q2::;,: (_C_)
;;:!F:
\;;;.fr/
(6.1
)
lr,,=n
Für die meistenBlockmatching-Algorithmengilt der Fall SP2: Ä/2(AnhangA).Nach (5.tt)werd e n e r s t b e i n a p : N 2 ' n y 5 a l l e P E s k o n t i n u i e r l i c hg e n u t z t .M i t d i e s e rB e c l i n g u n g
e r g i b ts i c h
dann c'ppQtan,pus):cpp(pao): cpp(p1ts)in Thbelle 18.
neo
Q2'Nz
NMS
Dimension
cPP(Pan,Pus)
4
I lN2
Q2
-)
lo'tx1
',,:',:t:,:.'#l;:;:',:',
Ee'l#1",,',
Q 2 't v
Q. N2
a
O
a
-)
Basistyp
IIN
Q INZ
:|f,Offi\',',:
e,,:,:1.,:N
.aN.......,.,
:,;.:',fr
',:,,,,,,,:::,:;:,,
F:nwl
t,:,;,:,:,,,Q,.,,,.,:,:,:
,',',':";fit'*:';,:':,;,.:,;.,t,,,1;L;,1,1,,,,,',.,';,':
92ffi:.:,::'
NN,,.....,..
fl,/m
:.:.:.:.ru:...;'.
I
It tn'1
Qty'.l*{:1,:',,'::
ii,;.N;:i.':,.l1,...
Q2
Tabelle l8: Mögliche Kombinationen der Anzahlen nMS und n4p der I'Es AD und MS
nach (5.8), Dimensirut d.es SFG, Anzahl der Systemtaktc pro Bildpunkt
c:ppQt4p,1t14.5)
tür SPt:Nr und Bezeichnunsendei Basistyperfvon ein- unci
zweidimensionalen Arravs
Da für einen Entwurf ausschließlich
ein- und zweidimensionale
Arrays interessieren,
werclen
nur die fünf in Täbelle 1B gesonderthervorgehobenenI3asistypen
in clerweiteren Diskussion
- bt-
berücksichtigt. Zur Bewertung der Komplexität ist in Bild 22 die Anzahl der Systemtakte
cPP(Pen,pu.5)
der ein- und zweidimensionalenflasistypenüber cler PE-Anzahl nall für N: 16
und drei unterschiedlichgroßen maximalen Displacementsp dargestellt(p: N12:O:t3.
p : N: Q: 76, p : 2' N: Q:32).
Hiermit ergeben sich tiir jeden Arraytypen drei
charakteristische
Punkte.Diese durch gleichartiggestricheltel,inien verbundenencharakteristischenPunkte gehüren gemeinsamzu einem der llasistypenN, Q. NN. QN oder QQ. In
Analogie zu dem Fläche-Zeit-Produkt von (4.9) haben Arrays mit dem gleichen Produkt von
PE-Anzahl und Ausführungszeitdie gleicheKomplexität.I-iniengleicherKomplexitätsind in
Btld 22 strichpunktiertdargestellt.
c'PP(PAD,PMS)
64
\\
(]IF
o=32
CCIR_I'V
NN
o:l\
Q: B
HDTV
a\
16
32
64
128
256
512
1024 t'r,.1D
Bild 22: Anzahld_erSystemtattepro Displacemenwektor
über der PE-Anzahl
lpp|)Ar),pM5.)
n4p derPnrcessing-Elemente
AD nach(6.1)(SP2: M; ttir N: lf'. dreiunterschiedlicheAnzahlenvon Kandidatenblocken
in einerBlockzeile
Q sowiedie oberenGrenzendermaximalzulässiqen
Anzahlder Systenrtakte
pro Bildpunktfür ein Bildtelefirn_
signal(CIF).ein Fernschsignal
(CCIR-TV)und ein HDTV-Signalbei 7':20 ns
Die durch schratTierteIlalken gekennzeichnetenGrenzen in Bild 22kennzeichnencliemaximal
zufässigeAnzahl von Systemtakten
pro Bildpunktcpp(P)< Tt,lT nach(4.2)für ein Bilcltelefon-.
ein Fernseh-und ein HDTV-signal bei f :20 ns.Demnachreichendie einciimensionalen
Basistypenfür Rildtelefon- und Fernsehsignale
aus.Für HD'l'V-signale sinclnur cliezweiclimensisnalen Arrays geeignet.
Die charakteristischen
Punkte in Bild 22 stellenallerdingsnur clieic]ealenFällec1ar.bei clenen
die Array-Architekturen mit einer EffizienzvonE : l00o/r,genutztwerden. Diesesist allerclings
- 6?.-
nicht mtiglich.soferndas Array eine Lade- und lrntladezeiterfordert,in der nicht auswertbare
C)perandenkombinationen
in den PEs au{'einandertrefl'en.
Die Lade- und Entladezeiteneiner
Array-Architektur mit taktsynchronem Datentransf'errichten sich nach der Länge der Pipefines.Bei E < 100%,(4.8) steigtdie Ausführungszeit
pro Bildpunkttpp(P):cpp(P). T nach(4.2)
um l lll bzw. in Bild 22 verschiebensich die Punkte um llE nach oben. Nach (4.3). (4.ft)
und (6.1) ergibt sich die Effizienzaus dem Verhältnisder theoretischerreichbarenAnzahl von
Systemtaktenzu der tatsächlichbeniitigtenAnzahl von Systemtaktenpnr Bildpunkt:
E : S :
P
tPP@,qn,pms)_ cpp(pAD.
pMS)
rpp(P)
cpp(P)
(6.1)
Die Auswirkungder mehrfächdurchgeführtenlinearenZeiteinteilungs-und Projektionsprozedur im Zuge der systematischenAbbildung auf die Eflizienz, die Anzahl der Systemtaktcpro
Bildpunkt und die PE-Anzahl läßt sichbesondersanschaulich
für die ArraysQQ.
an tseispielen
QN. Q, NN und N aus Thbelle 18 diskutieren. In den nun tolgenden Kapiteln werden
verschiedeneAlternativenvon SFGs ein- und zweidimensionaler
Arrays gezeigt.
6.2 Beispielevon Arrays für das Blockmatching
Um die verschiedenenArray-Typenzu unterscheiden,
richtetsichihre Bezeichnungnebender
in'llabelle 1tt gewählten Form auch nach der Projektionsrichtung.Als Grundlage für die
Beispielewird hier von 3-D SFGs im i,k,m- und im i,m,n-lnrJexraumausgcgangen.
die dur.ch
eine Projektionentlangder n- bzw. der k-Achse entstehen(sieheauch AnhangF). t)ieseSI--Gs
"n"
"k".
erhalten die Bezeichnung
bzw.
Durch Anhängender weiterenProjektionsrichtungen
ergebensich die übrigen Namen der ein- und zweidimensionalen
Arrays.
6.2.1 Array QN
Die 2-D SFGs der Arrays QN entstehendurch Projektionen von zwei 3-D SFGs vom 'Iyp n I
und n2 im i,k,m-lndexraum entlang der i-Achse und der k-Achse. Es wird gezeigt.daß SFCis
mit gleicherKnotenanzahlaber unterschiecJlichen
Kantenrichtungenzu verschieclenen
l.iisungen führen.
D e r 2 - D S F G v o m e r s t e n " t y pn 1 k i n B i l d 2 3 i s t d a s R e s u l t a te i n e r P r o j e k t i o ne n t l a n gd e r
k-Achse. Das entsprechende
Array QN bestehtausQ' N PEsvom Typ AD und B Akkumulatoren vom Dp A. E,sbestehtausQ parallelenPipelinesmit einer [-ängevon je N PEs AD. In diesen
parallelenPipelineswird dasVergleichskriterium
dJ'(m,n)(2. I 1)für eine Zerle (oder Spalte)von
Kandidatenblijckenim Suchbereichparallel akkumuliert.
Die dem SFG in Bild 23 zugeordnetenZahlenkennzeichnendie Indizesi*m und k+n,Jer
Suchbereichsdaten
in der Fblge von zwei Kandidatenblockzeilenund die Indizes i und k der
Ref'erenzblockdaten,
wie sie in der Folge der Systemtaktedem Array aus einem lokalen Speicher
zugeführtwerden müssen.Die Punkte auf den Kanten beschreibendie Anzahl der Verziigerungen zwischenden PEs. Um negativeZahlen in der Darstellungder SFGszu vermeiden,werden
im Gegensatzzu den bisherigenAnnahmenin (2.11)und (2.13)nur positiveIndizesin den folsendenGrenzen verwendet:
1<i.ft<l/
0<m.n<Z'tt
(6.3)
- 63-
Der Off.setzwischenden einzelnenZeilen und Spaltender Indizeserklärt sichdurch die Verziigerung über die Registerin den parallelenPipelines.Der Datentransfervon außcn über den
Rand des Arrays muß ebensotaktsynchronwie über die lokalen Verbindungenzwischenden
PEs ablauten.Hierdurch bestehtein f'esterZusammenhangzwischender Anzahl der in llild 23
ablesbarenIndizesund der Anzahl der Systemtakte.
Für jede Kandidatenbkrckzeile
einesSuchbereicheswerden demnachN Systemtaktebeniitigt.Analog zum Eintrag in 'Iabelle l8 beträgr
bei Q Kandidatenblockzeilendie Anzahl der Systemtaktepro Bildpunkt:
-sp--
c'PP(P)ex,,*: Q . N _
I
(6.4)
l.SP':N'
(*)
u\
' tr+
'
s5(i*m,k*n)
m
"i65
,,,":,:,:
:,,,:
:,,,:,:,,,,:
$f ,,1;1,1,',',',',""""'
64
l
3'5
i4
2 . Kandidaten- l:,5,:'
blockzeile
t+
1 )
1 . Kandidatenblockzeile
)A
:13+
1-)
12
il
^')--)
))
.':':':':':^':^:
:::41
:::::.:.:..:|:LJ
')')
4l5r,,.,,,,1,,:,
54
63
tl
44
53
62
43
52,,,,,,,,,,,,,',,,,,,',tti*
l3
:' "42......... ,5,4"
;';,t""""t"""
7)
ftt+..: .
53
62
7l
43
52
61
42
-sl
41
':a A:::: :
L-)
J4
J-l
JL
L5
14
13
:, ' :
ll5,,,,:
tt4
rt3
xj
[1[, .'.,,,..
It3
til
8l
'
94
93
92
94
c)j
()2
9l
-ll
L I
0
24 23 22 21
J+
-1J -11 -1 t
44 43 42 4l
sp(i,k)
______\
dl.(m,n)
MUIX
MS
Bild 23: SFG desArraysQN vornTyp nrk dargestellt
für ly':4 und q:6,
Das Array QN vom Typ n1k nach dem SFG in Ilild 23 hat diagonalverlauf'ende
Kommunikatitlnsverbindungen.
Bei Anforderungen.die ausschließlich
orthogonalzueinanclerausgerichtete
- 64-
Leitungenzulassen,ist der SFG in Bild 23 ungeeignet.Der SFG in I]|1d24 dagegenstellt eine
Alternative mit ausschließlichorthogonalen Kommunikationsverbindungen
dar. Er entsteht
durch Projektion aus dem 3-D SFG vom'lyp n2 im i,k.m*lndexraumentlangder i-Achse.
r>
KY
m
s . 5 (*i n t . k - l n )
0
2l 3l 4r .. ql
4r 3l 2l l1
t2 22 3t .. 8t 92
42 32 22 12
13 23 .. 73 83 93
43 33 23 t3
14 .. b4 14 84 94
44 34 24 t4
,rp(i,k)
df(nt,n)
MS
MS
MS
MS
MS
MS
Bild 24: SFGdesArraysaX (fyp n2i)mit orthogonaler
Leitungsführung
dargestelltl'ür,N= 4
u n dQ : 6
Die in Btld24 dargestelltenZahlenftrlgen
beschreibendie Indizesder Suchbereichs-und Relerenzblockdatenfür eine Kandidatenblockzeile.
Aus der Numerierungder Indizesläßt sich erkennen.daß das Array für eine Kandidatenblockzeile
jeweilsQ+N-l Systenrtakteund damit
für einen Suchbereichaus O Kandidatenbkrckzeilen
cPP\P)eu,,.i:
o.Q+N-1)
SP
:(#.#)
lsP2:N2
(6.s)
Systemtakte
erfordert.[m Vergleich
zumEintragin TäbelleLBvermindert
sichmit (6.5)die Etfizienz(6.2)hier auf
EgNnj
:
Q.N
(Q+N-1).Q
:
I
\o
N \,
* "
r't"t
(6 6)
)tr"
Die Effizienznimmtmit der AnzahlQ derKandidatenblöcke
wegender zunehmenden
t.änge
der Pipelinefür die Ret'erenzblockund Suchbereichsdaten
ab.
Die SFGsin tsild23 und 24 beschreiben
die Architekturen
der endgültigen
ArraysQN nur unvollkttmmen.
In derobersten
ReihederPEsAD isteigentlich
keinAddiererfür dieDifTerenzbeträgewie in denübrigenPEsAD notwendig,
da die hiererrechnefen
Difl'erenzbeträge
zu einer
0 addiertwerden.AußerdemgenügennachdenrE,intrag
in TäbellelU bzw.nach(5.tt)weniger
- 65-
PEs MS als Knoten MS in Bild 23 dargestelltsind.Diesesläßt sichauch anschaulichdurch die
Akkumulation der Difl'erenzbeträge
erklären.ln den AkkumulatorenA werdenjeweilsN DitTerenzbeträgeakkumuliert.Daher ist nur alle N Systemtakteeine Summefür die Minimumsuche
im PE MS verfügbarund es lassensich bis zu lQlNl Akkumulationsregister
in den PEs A mit
einemThi-State-Ausgang
über eine Bnradcast-l.inemit dem Eingangeinesgemeinsamgcnutzten PE,sMS verbinden.
6.2.2 Array NN
Die SFGs der Arrays NN entstehen durch Projektionen der vom Array QN bekannten
3-D SFGs vom Typ n1 und n2 im i,k,m-Inclexraumentlangden ln-Achsen.Auch hier ergeben
sichzwei unterschiedliche
Lüsungen,die in Bild 25 und 26 dargestelltsind.tleide Arrays bestehen je ausN2 PEs AD, N PE,sA uncieinem PE,MS. Hier werclenalle Operationenparallelausgeführt, die sich einem Kandidatenblockzuordnenlassen.
L)4
s5 (i+ m,k+ n )
91
8l
11
6t
51
4I
3r
11
9Z
82
72
62
52
A1
32
22
t2
93
n3
u4
/)
64
OJ
53
+J
33
L-)
1A
{ 4
44
34
',
/l
t 1
l3
l1
sp(i,k)
df(nt,n)
Bild 25: SFG des Arrays NN vom 'Iyp n lm dargestelltfür ly':4 und O:6
- 6(r-
, r 5 (+i m , k +n )
L 12 t 3 l 4 l 5 l 6 r 7 1 l J l 9 r
sp(i,k)
12 22 32 42 52 62 12 82 92
t3 23 33 43 53 63 73 83 q3
l4 24 34 44 54 64 t4 84 91
Bild 26: SFG desArraysNN vom Typ n2mdargestellt
1'ürN:4 und 9:6-,
In den beidenSFGsvon Bild 2-5und 26 sinddie Kantenfür die Ref'erenzblockdaten
zu Schleifen
abgebildet.Die resultierendePositionder Ref'erenzblockdaten
wird durch die Indizesi und k
an den Knoten AD bezeichnet.Diese Schleit'enhaben aufgrund des Abbilclungsverfahrens
keine Verbindung zu PEs am Rand desArrays. Die Daten befindensichin Registern,clievor Beginn
der Operationsausführunggeschriebenwerden müssen.Diese Registerertordern eine Steuerung von außendurchein load-Signal[17].Da die Anzahl der Referenzblockdaten
im Vergleich
zu der Anzahl der Suchbereichsdaten
klein ist, kijnnen die Verbindungenfür die Suchbereichsdaten zum Laden dieser Register ebenfallsverwendetwerden (Bild 27).
D ( i- 1 . k . m . n )
load
, s 5 (*i m , k * n )
oder.ip(i,k)
D(i,k,m,n)-r
sQ-r m,k+ n))
/(s7(i,k)-s
Bitd 27: Bltxkschaltbild
einesPEsAD fiir dasArravNN in Bild 26
-61
Bei dieser gemeinsamenNutzung der Verbindungenfür die Suchbereishsdaten
sind N Täkte
zum Laden der N2 Registertür die Ref'erenzbkrckdaten
erfirrclerlich.Ansonstenergebensich
hier wie beim Array QN vom Typ n2i in Btld 24 auchjeweilsQ + N- I läkte für eine Zeile von
Kandidatenbliicken.Analog zu (6.5) sind dann insgesamt
?PP(P)N r1,,,,, :
o . Q + t \ / -l )
t:pp(P)NN,,,,,,
SP'
. # : ( # - # ) l s p , = r u( 6.7)
,
Systemtaktepro Bildpunkt erforderlich. Im Vereleichzum Eintras in Täbelle 1fivermindertsich
die Effizienz dann hier auf
ENNr,,u :
E N N , r . , r t:
-- \( O + o
, ,<, *a , u
N ) t \^,' n
/Q
QZ
N + ( O+ N - t t . Q
( 6.tt)
Die Eftizienz nimmt mit steigenderAnzahl von Kandidatenbliickenzu. da sich in diesemFall
eine längere Folge von im Array NN kontinuierlichverwertbarenDaten ergibt.
An dem Beispielder Ref'erenzblockdaten
der ArraysNN zeigtsich,daßeinesystematisch
durchgeführtenZeiteinteilungs-und Projektionsprozedurauch zu nichtrealisierbaren
Schaltungen
führt. sof'ernnicht nachträslichder SFG verändertwird.
6.2.3 Array QQ
Für eine Abbildung auf den 2-D SFG einesArraysQQ eignensichdie beidenbisherbetrachteten 3-D SFGs vom Typ n1 und n2 im i,k,m-lndexraum nicht mehr. Als Grundlage für ein
Array QQ ist hier der dritte 3-D SFG vom Typ kimi,m,n-lndexraum zu verwenden.Durch eine
Projektion in Richtung der i-Achse entstehtder 2-D SFG des Arrays QQ in BilcJ2t3.
In jedem der Q2 PEs AD werden clieSummenclerDifTerenzbeträge
akkumuliert unclin außerhalb desArrays aus PEs AD angeordnetenQ2tNzPEs MS miteinanderverglichen.Da cliegleichenRef'erenzblockdatenrR(i.k)
in allenKnoten desArraysbeniitigtwerden,ist esbeispielsweise möglich, sie vom Eingang in der oberstenReihe der Knoten AD in hrtrizontalerRichtung
und von jedem dieserKnoten ausin vertikalerRichtungweiterzuverteilen.
Die Suchbereichsdaten werden in dem Beispielhier parallel über Q Broadcast-Linesin dasArray transf'eriert.
Die
Verbindungenfür den Tiansf'erder Werte desVergleichskriteriumsdf(m,n) zu clenPtssMS und
die Knoten der PEs MS sind in Bild 28 wegender besserenÜbersichtnicht eingezeichnet.
Die
PEs AD und MS gleichenden Anordnungenin Rild 16 und 17 von Kapitel 5.2.1.2.
Wie aus den Folgen der lndizesin Bild 28 abzulesenist, beniitigtdas Arlay nrehrSystemtakte
pro Bildpunkt als die in Täbelle 1tl eingetrageneAnzahl:
: N.(Q+N-1)
c'pp(P)eer,
SP2
( s -, ,' \ ,
I11z
\
/
ll\Pr=N'
(6.e)
Die EffizienzdiesesArrays verhält sichim Vergleichzum Eintr agin Täbellel8 wie ( 6. 6) :
tc
_
- (
(o+N-l).N
N
\
\O+N/r(itv>t
(6.10)
- 6u-
Die Etfizienz
nimmtauch hier mit der Anzahl Q der Kandidatenbkickeab.
m
\i
sp(i,k)
l+
nY
sn(z,k)-)
:t
^,-z
>^z
t-
I U
- >^-
L
U
U
-
'-]f, >^-
- -
l l 2 13 1 4 l 5 l 6 l 7 t t i l 9 l
t2 22 32 42 52 62 12 82 92
L
U
U
t-
U
LJ
U
L-
U
U
U
14 24 34 44 51 64 14 84 ..
L
U
U
U
t5 2-535 4-5.i-565 75 ..
U
13 23 33 43 s3 63 73 83 93
16 26 -1646 56 fii ..
* m.k+ tt)
.r,1(i
t : 4 2 3 2 2 2 1 2 t ;o
c
c
o
41312lll
+
s.R(i,k)
Bild 28: SFG einesArraysQQ vom Typ ki dargestellt
für N= 4 und Q:6
ZweidimensionaleArrays erfbrdern aufgrund des parallelenDatenzugrifl'esspeziellangepaßte
lokale Speicher und damit insgesamteinen größeren Schaltungsaufwand.
Eindimensionale
Arrays dagegenktinnensogarso ausgelegtwerden.daß sie mit ausschlietllich
secluentiellen
Datenfolgenauskommen.Diese Arrays sind deshalbbesondersleicht mit den übrigenlbilen des
signalverarbeitenden
Systemszu verbinden.
Die SFGs der eindimensionalenArrays ergeben sich durch eine Zeiteinteilungs- und Projektionsprozeduraus einem 2-D SFG. Hier wird alsBeispielvon einem2-D SI-G vom
!p n 1k2
aus B' N Knoten AD im i,in-Raum ausgegangen,
der die gleicheStruktur wie der 2-D SFG
vom Typ n1k in Bild 23 aber fäst keine Verzögerungenan den Kanten hat (siehe auch
Anhang F). Dieser 2-D SFG eignet sich für eine Projektionentlangder Koordinatenachsen
i
und rn auf zwei 1-D SFGs aus Q bzw. N Knoten AD (Array N und Q).
6.2.4 Array N
Der 1-D SFGvom Typn1k2nr
desArraysN in Bild 29 entstehtdurchdie Projektionentlangder
m-Achseim 2-D SFGvomTypn1k2.Hier werdenalleOperationen
parallelausgeführt,
die einer SpalteeinesKandidatenblockes
zuzuordnen
sind.
- 69-
a)
14 r.:
) t
s 5 (+i m , k + n )
t
b)
,lp(i,k)
s.s(i* nt,k * rt)
1 2. ) i )
) ) , ,
{r
o 2 1
o
L-)
q2
)L
22
t 1
I L
,,,9r
34
x.t
,::,,,,
OI
".:51
44 ,.': .. 42 :: .) ()
A T
::tt
::::
'J:t
.
::::::
...1
I
0+N-l
I
Y
Bild 29: a) SFG deseindimensittnalen
ArraysN vonr'$p n1k2mdargestelltfür N:4 uncl
s5Q+m,k+n) (ein tskrckaus
Q:6, b) lndizesi+rn und k+ n derSuchbereichidaten
Q+ N-1 Datenist grau unterlegt)
Anhand der Folgen der Indizesder Suchbereichsdaten
in Bild 29 läßt sich erkennen,daß das
Array N vom Typ n1k2mfür eine Kandidafenblockzeile
N.(O+N-1) Sysremtaktebeniitigt.
Demnach sind prut Bildpunkt
: Q.,\.(Q+N-l)
c'PP(P),v,,,p.,,,
SP2
(#.')
I
ISP':.Vr
( 6 . r1)
Systemtakte
pro Bildpunktertbrderlich.
I m Vergleichz u d e m E , i n t r a gi n ' I ä b e l l e l t l b e t r ä g td i e
Eftizienz
ENnft.nr
e2'r,t
Q'N (0* w-,,
_
- (
o
\,
rv
\O.
)to+N>l
(6.12)
Die systematische
Abbildung auf den l-D SFG vom Typ n1k2m1
ciesArrays N in Rilcl29 ergibt
bei jedem PE,AD jeweils ein Schieberegister
ausQ+N-1 Zellen für die Referenzblockclaten,
wobeijede der Q+ N-l Zellen das gleicheDatum enthält.Um <JenSchaltungsaufwancl
zu vermindern, ist es sinnvoll.auch hier nr.rrein einzelnesRegisterim PE,AD zu verwenclen.
claseinmal geladenwird und in dem dasDatum für Q+ N-1 Systemtakre
zur Vertügungsrehr(llilrl 27).
Für dasRegisterim Akkumulator ergibtdasAbbildungsverfähren
ebenfallsQ + N- t Zellen, clie
allerdingsTeilsummendesVergleichskriteriums
f'ürQ unterschieclliche
Kandiclatenbliicke
enthalten. In diesemSchieberegister
aus Q+N-I Zellen befindensich B verwertbareDaren. Es
ist mäglich, ebenfälls Q Zellen zu verwenden. die dann allerclings angesteuert wercJen
- 10-
müssen[17]. DiesesBeispiel hier zeigt, daß eine systematische
Abbildung auch zu Registern
führt. die mehrfachdie gleichenDaten enthalten.HinsichtlicheinesgeringenSchaltungsaufwandeslassensich diese Registernachträglichzusammenfassen.
Eine einfächer strukturierte Alternative zu dem Array N in tlild 29 ergibt sich aus der Anschauung.ohne daß ein systematisches
Abbildungsverfähren
verwendetwird. Hier werdenSpalten oder Zellen eines Kandidatenbkrckesvollständigmit denen des Referenzblockes
verglichen, bevor mit dem jeweils nächstenbegonnenwird. Im Array nach dem 1-D SFG in Bild 30
werden für jeden Kandidatenblockdie Summenfür das Vergleichskriterium
vollständigakkumuliert, stl daß der Akkumulatrlr einfacherals beim Array N vom Typ n1k2mausfällt[41].
s . 5 (*i m , k * n )
sp(i,k)
.;5Q-t nt,k't n)
1 4 1 31 2 l 1
24 23 22 2l
34 33 32 3l
::
44 43 42 41
|
^ 1
A a
I + L + J
spaltenweiser
Datenaustausch
-=-
zeilenweiser
Datenaustausch
dl'Qn,n)
Bild 30: SFG einesArraysausN PEsvom Typ AD mit den Indizesder Suchbereichsund
Ret'erenzblockdaten
für N : 4
Die Zahlenwerteder Indizesin Bild 30 zeigenzwei die Alternativeneinesspaltenweisenund
eines zeilenweisenAustauschesder Daten in der Folge der Kandidatenbliicke.Dementsprechend unterschiedlichsind die lokalen Speicherzu strukturieren.
6.2.5 Array Q
Der 1-D SFG vom Typ nyk2ides Arrays Q in Bild 31 entstehtdurch die Projektionentlangder
i-Achse im 2-D SFG vom Typn1k2.Hier werdenalle Operationenparallelausgefiihrt.die einer
Spalte ctderZetle von Kandidatenblijckenzuzuordnensind. In jedem der Q PEs AD werden
N2 DifTerenzbeträge
akkumuliert,so claßalle N2 Systemtakteeine Summefür die Minimumsuche (Operation M im PE MS) verfügbar ist. Die Anzahl der PEs MS verhält sich entsprechend (5.1t)proportional zu der Anzahl der PEs AD. Die Ausgängeder Akkumulatorregister
der PEs AD können dann wie beim Array QN auch im 1l'i-State-Modusparallel geschaltet
werden.
1t_
*,,:tr:I:,:;2I,,:;Z};:,,,:4.1;:,191,,,':,61
?i,,s1.91ll 2l .. 9l 13 ..
sp(i,k)
,r.5(r*m,k*n\
22 12 t> o .) ,t ,1,:,,:,'fj;::t,t;jt,;,;,11,1
:l:.Ii:i-|'
AD
AT)
AD
AD
AD
AD
sp(i,k) +
i
< ;- s,s(+nt,k*n)
*--t
MS
--->
MS
MS
MS
MS
tl.f(,m,n)
MS
m
B i l d 3 l : S F G d e s e i n d i m e n s i t ' r n a l e n A r r a y s Q v o m Tdyapr ng 1e ks 2t ei l l t f ü r l V : 4 u n d Q : 6
mit denlndizesi+munt]k+n derSuchbereichsdatens,s(i
+m,k+n) undmit denIndizesi undk der Rel-erenzblrrckdaten.rp(i,k)
(BlfukeausQ+N-1 Datensindsrauunterlegt)
Im Array Q nach dem 1-D SFG von Bild 31 ergebensichähnlichwie beim Array N zwei Datenstrtime tür Suchbereichs-und Referenzblockdaten.Das Array Q benötigt genzruso viele
Systemtaktepro Bildpunkt wie das Array N in Bild 29:
(Q+N- l)
cPP(P)e,r,r.i Q . N .
JF
: \ "l r f * n )\l s P ' - r v
( 6 .r 3 )
Im Vergleichzum Eintragin Täbelleltt ergibtsichdanneine EfTizienzvon
Eptrftzi :
Q. N2
^ / \ ,
-- \( a + N
)t()'N>l
Q.N.(Q+N-1)
(6.14)
Im Gegensatzzuden ArraysN in Uild 29 und 30 nimmt die Eflizienzhier mit zunehmender
AnzahlQvon Kandidatenbkjcken
in einerZelle ab.Die Pipelinewirc1mit Q liingerundessind
mehr Leerlauftakte
erforderlich.
Durch die systematische
Abbildung ergeben sich für das Array Q (und Array QQ in
Kapitel6.2.3)keinePEsA, da die Akkumulationder Summed.f(m,n)
clesVergleichskriteriums
in den PEsAD vollständig
vorgen()mmen
wird.
6.3 Vergleichund Bewertungder Array-Architekturen
QN, QQ, NN, N und Q
Anhand der Beispieleder Array-Architekturen in cJenvorangegangenenKapiteln zeigtesich,
daß eine systematische
Abbildung mit einer linearenZeiteinteilungs-un<JProjekfionsprozedur
zu ineffizienten Anordnungen führt. Es sinclzusätzliche[,eerlauftaktzyklenzum Datentransfer
erfbrderlich, wodurch die benötigte Anzahl der Systemtaktepro Bilclpunktcpp(P) cliefür vollständigeAusnutzungder PEs abgeschätzteAnzahl c:pp(pan,pu,e)
nach(6.1) übersteigt.Zum Vergleichder BeispieleenthältTäbelle 19 eine Zusammenstellung
tler PE-Anzahlen,clerAnzahlen
der Systemtaktepro Bildpunkt. der Effizienzenund der Tiansistoranzahlen
clerArray-Architekt u r e n f ü r d i e A l g o r i t h m u s p a r a m e tQ
e r: N 1 2 , Q : N u n c jQ : 2 . N .
-t',
Array-Typ
NAD
NMS
cpp(P)
E
f.i]8,,( t)
7',':L|!16tfi$a
'l',"; ' ':
: ,,,,,
,:',,,, ,711111"'
Qru...,
'""
.ffi,,nit),,1',,
, ,'Q:.--iN,,
+:ii;lßüA
,.;.i.;:","r-91u*;
:,'ii:,i.....,'
,,.:i.r,,,,.,,''lii6,.ilvtt.'''..ii
",','
,,,,,,
,,,,,
,,,
':::ONr,,:'.,.
,{,t}8,i?ü0
l,'1,fii159fi
432:fl:ütl
,,:,,,,;;::
,,ö*,,iuir,j
.,..,.,,f,='fl,,..,..,,..
,, ',,
li
p'=.2 N'' '
,
.:
,':,.,.,.,
O
O
OQ
(Typ
N /')
60.600
240.300
96i.100
1V
o
2N
7E
:,Q':
Jg1A
"ffi':',,,,:"""""1"t:.t,:,,"""
?,,,6:frfl{l
2i,6ti{.fffi
i{ffiii..11:ir.n. ,lQ" N.
iüfid:,,lltffi)
,,Q,12,,,
2,1',6lfr{t.lf)
Q: N 1 2
14.20(l
14.200
14.200
(Typnrkzm) Q : N
Q:2 N
^::.....::
:.::...'::::::::::::
'314,,,N
,.,,:,,.,,:.,L,
ijNE
,:,a,:,:,1
a,a,,,,,,...,,:,.,, ,::l,:,:a
:v::.::::::
tifiltntl:
:\:aiIl..:::
*ikäil)
iö{
::::::.:
If
::::::::::::.:
::::::
afn
t,t'TtN
;;;,t,,,.,,,;.I,:!
:
:::::|:.:
:,:,,',f,i'i:;N 1 / \ :::
,
.;8',.1.t')f),
1:!;*fio
3'I.:3.0ü
Thbelle19: Anzahlender PEs AD, A und MS, Anzahlender Systemtakte
pro Bildpunkt
cpp(P),EflizienzE und Tiansistoranzahl
nt der Arrays QN, QQ, NN, N und Q
fürN:16
Bei der in Tabelle19gewählten
Darstellung
der EinträgealsFunktionder lllockgriißeN zeigt
sich,daß die 1-D Arraysaus 1/l/-mal so vielenPEswie die 2-D Arraysbestehen.Allerclings
ist die Anzahlder Systemtakte
dannauchN-mal so groß.Die'Iiansistoranzahl
wurcJe
entsprechend(C.4)in AnhangC ermittelt,Die Zahlenwerte
in Thbellel9 sindwegendervorzugsweisen
Verwendung
von 16x16-Bliicken
beidenin Kapitel3 aufgelührten
Standardisierungen
unclVerfahrentür l/: l6 ermitteltworden.AlsWortbreitepro Abtastwert
wurdevonfi bit ausgegangen.
Die EffizienzderArraysverhältsichhier bisauf denFall desArraysQN vom'typ n1kabhängig
vom VerhältnisO/N zwischen1/3 und 213.Am Beispiel<lerbeidenArraysQN zeigtsrch.claß
zweiAnordnungen
mit gleichenPE-Anzahlenabhängigvon der Verbindung
clerPEsunclcJer
Art der lokalenSpeicherdurchausunterschiedliche
Eflizienzenhabenkönnen.Bei den Arrays
NN und N nimmtdie EffizienzmitdemVerhältnisQ/N zu. dahierübereinenlängerenZeitraum
auswertbare
Operandenkombinationen
in denPipelines
der Arrayszustande
kommen.Bei clen
übrigenArraysdagegennimmtsiemit demVerhältnisO/N ab. Die geringeb,ffizienzderArrays
läßt sichdadurcherklären.daßder kontinuierlicheDatenstromirn Array beclingtclurchclieEigenschaften
desBlockmatchings
wiederholtunterbrochen
werdenmuß.Dashier betrachtete
-
I't-
systematische
Abbildungsverfahrenergibt L,iisungenfür die Arrays mit einem OperandenzugritT,wie er sich bei einem schrittweisenDisplacementvon Kandidatenbliickenentlangeincr
Kandidatenblockzeileeinstellt,der sich mit der fblgendenKandidatenblockzeilemit einem
gleichartiggerichtetenVorwärtslaufwiederholt (t.ine-Scan,Anhang D). Die F.ffizienzeinesArrayssteigtmit der Anzahl der ohne Unterbrechungauswertbaren
Operandenrelativzu der Tiefe der Pipeline.
Um mit den ineffizientenArrays dennochdie theoretischin Kapitel 6.1 angenommenel-eistungsfähigkeitzu erreichen.sind mindestens
lTpar 2
f;l
( 6 .t - s ;
Arraysparallelzu betreiben.DieseLiisungbecleutet
aberaucheineVervielfächung
desSchaltungsaufwandes.
In der LiteratursindbereitsRealisierungen
worden.cliedennoch
beschrieben
mit hoherFffizienzgenutztwerdenki)nnen,ohnedaßmehrereArraysparallelbetriebenwerden müssen.
6.4 Effizienzsteigerungdurch Meander-Scanund
Pipeline- Interleaving
Durch einen gesteuertenDatentransferim Array ist es mäglich. daf'ürzu sorgen.daß die Ph,s
i m m e r v e r w e r t b a r eO p e r a n d e ne r h a l t e n .H i e r f ü r s i n d z w e i V t r g e h e n s w e i s e nb e k a n n t . R e i
d e r e r s t e nw i r d a n s t e l l ed e s D a t e n z u g r i f f e sm i t e i n e m L . i n e - S c a ne i n e A l t e r n a t i v cv o r i r u s g c setzt,der einem Meander-Scan(oder Snake-Scan)gleicht(AnhangD). Beim Meander-Scan
wechselnein Vorwärtslauf und ein Rückwärtslaufin aufeinanderfolgendenKandidatenblockzeilen ab. Am Ende jeder Kandidatenblockzeileverschiebtsich das Datenfcnsterdes neuen
Kandidatenblockesorthogonalzu der bisherin der Kandidatenblockzeile
eingehalfenenRichtung. Hierdurch entfällen die Leerlaufsystemtaktebeim Wechselzwischenden KandidatenblockzeilenD
. i e s e r M e a n d e r - S c a nw i r d b e i m A r r a y v o n S i e m e n s[ 8 a l [ 8 5 ] u n d a u c h b e i d e r
Architektur von SGS-Thomson [7] vertblgt. Die hiermit verbundenenwechselndenDatentransf'errichtungen
und die orthogonalenVerschiebungen
der Daten im lokalen Speicherund
im Array werden über zusätzlicheMultiplexer und Leitungen realisiert.Ein Algorithmus mit
Meander-Scanläßt sichnicht mehr mit dem eintächenin AnhangF geschilderten
Vrrgehen der
systematischen
Abbildung auf eine Array-Architektur übertragen.
Die zweiteVrrgehensweiseist ausder Literaturals "Pipeline-lnterleaving"bekannt[48]. HierbeiwerdenvoneinanderunabhängigeDatensätzein einerPipelinegemeinsambearbeitet,ohne
daß es zu Kommunikationskonf'likten
kommt. E,inPipeline-lnterleavingwurde bei dem Array
von Bellcore angewendet[78][87]. Es hat eine cJemArray Q aus Kapitel 6.2.5vergleichbare
Struktur.Hierbei wird der Datenstromin dasArray derartparallelisert,daß immer auswertbare
Kombinationenvon Operandenin den PEsverfügbarsind.In den PEswercJen
über lokalc Multiplexerimmer verwertbareOperandenausgewählt.Die lokalen Multiplexerwerden über parallel zu den Daten transferierteSteuersignale
geschaltet.Wegen
der immer gleichartigenBeu'egungsrichtungder Daten im Array ist dieses Vorgehen auch rnit dem systematischen
Space-Time-Mappi n g-Verfahren ableitbar (Anhang F,6).
- 14-
Beim Pipeline-lnterleavingergibt sich die Fragestellung,
wie groß die Parallelitätder Datenstri)mesein muß, um eine vollständigeAuslastungaller PEszu erhalten.Diesesläßt sichan den
Datenfolgenin das Array Q leicht erklären. Die Folge von Suchbereichsdaten
gliedert sich in
Blcickeaus Q + N-1 Abtastwerten und die der Ref'erenzblockdaten
in Blücke aus N Abtastwerten (Bild 31). Diese Folgen wiederholensich pro SuchbereichQ N-mal. so da[Jsich hier pro
S u c h b e r e i c h Q ' N ( Q + N - t ) S y s t e m t a k t e r g e b e n( 6 . 1 3 ) .E i n A r r a y a u sB P E sA D s o l l t ee n t sprechend(6.1) aber nur Q 'N'N Systemtaktebenötigen,so daß sich beim Array Q in Bild 31
sind in Bild 31
Q' N (Q-t) Leerlauftaktepro Suchbereichergeben.DieseLeerlaufsystemtakte
auch als Folge von weiß gefüllten Punkten in der Folge der Ref'erenzblockdaten
sa(r,k)erkennbar. Um die Lücke dieserLeerlauftaktezu schließen,ist es naheliegend,die Bl(ickeder Folgen
ausQ + N*1 Suchbereichsdaten
parallelmit einemOffsetvon,V Täktenzueinanderin dasArray
zu transferieren.Bild 32 zeigt ein I3eispielfür die Folgen der lndizesder parallelin dasArray Q
transferiertenSuchbereichs-und Ret'erenzblockdaten.
Die parallelenDatenstrcimestehenzueinander im Ofl.set,so daß immer auswertbareOperandenin den PEs verfüsbarsind.
s 5 ( i+ m , k + n )
ll 21 31 41 51 61 tt 81 9t _
*_
1 4 2 4 3 4 4 4 - 5 46 4 7 4 8 4
2 2 2 1 4 2 5 2 .6 2 7 2 8 2 9 2 _ 1 5
t12
25 35 4s
13 23 33 43 53 63 73 83 93
..
.sp(i.k)
15 44 34 24 t4 43 33 23 13 42 32 22 12 4t 3l 2ltt
*
Bild 32: lndizesder parallelin dasArray Q gefiihrtenSuchbereichsund Rel'erenzbkrckdaten
(ns= l9/al :J)
Die erfbrderlicheAnzahl der parallelenDatenstriimerichtetsichhier nachcJerAnzahl O + N- I
der Daten in einem Block und nach der erreichbarenAnzahl der Systemtakte(6.1).Dabei entspricht die Anzahl der parallelenDatenströmedem Kehrwert der Etfizienz.nach (6.14):
tlQtt,k,i 2
:
f"#-'l frhl
Für das Array N ist die Parallelisierung
ebenfallsuntersuchtworden [17]. Entsprechend(6.12)
u n d ( 6 . 1 5 )s i n d h i e r
hNnkltt
2
:
f*#-'l f#l
parallele7'weigefür die Suchbereichsdaten
erfbrderlich.Bild 33 z,eigtdas Beispielder Folge
von Suchbereichsdaten
s5(i*m,k+ m) in 2 parallelenZweigen für das Array N von Bild 29.
. r ^5*(im,k+n \
{-
t1 21 31 41 5l (rt it
lit ql -
13 23 33 43 53 b3 i3..
t2 22 Zt 42 52 62 72 82 92
Bild33: Indizesder parallelin dasArrayN getührten
ftir ns: 19/t-tl:2.
Suchbereichsdaten
N:4, Q=6 (gegenüber
der Darstellung
in Bild29 urn 90' gedreht)
- -t5-
Eine Parallelisierungder Datenstrijmeist natürlich auch bei den zweidimensionalen
Arrays
miiglich.Allerdingssteigthierbei auchder paralleleZugriff autdie Inhaltein lokalenSpeichern.
so daß dann hiermit auch die Antirrderungenan die lokalen Speichersteigen.
6.5 Lokale Speicherfür Array-Architekturen
Die lokalen Speicherwerden taktsynchronmit einer der PE-Anzahl am Rand des Arrays entsprechendenWclrtbreitegelesenund angepalltan die übrigen Teile des signalverarbeitenden
Systemsgeschrieben.Hierbei sollte das Schreibeneineslokalen Speichersdie Operationsausführungim Array nicht behindern[41]. Nachden Abschätzungen
in AnhangD nimmt die mittlere Anzahl der Täkte zum Schrelbenc:ppey
des Speichersmit der Kapazitätdes Speichersab.
cppw richtet sich nach der Anzahl der pro Bildpunkt B2|SPZgeschriebenenDaten und ihrer
W o r t b r e i t eb p c l s o t i e d e r A n z a h l b p c d e r m i t j e d e m T ä k t p a r a l l e l i n d e n S p e i c h e r g e s c h r i e b e n e n
bits.DemnachbestehtfolgendeBedingungzwischender Zeitzum Schreibenpro Bildpunktund
der Ausführungszeitpro Bildpunkt:
: rty
rrv'cpp,v
W #
= r'c:pp(p)
(6.16)
Anhand einesModells wird in Anhang D die Abhängigkeitzwischender Speicherkapazität
und
der Anzahl der Systemtaktezum Schreibendes lokalen Speichersdargestellt.
Der QuotientTyylbpcin (6.16) entsprichtdem in einer Schaltungzu realisierendenTäkt zum
SchreibendesSpeichers.DieserTäkt richtetsichauchnachden Schaltungsteilen
für die übrigen
Autgabenstellungen
der Signalverarbeitung.
Busverbindungen
erfordernwegen der griißeren
unlzuladendenI-astkapazitäten
längereTäkte als kurze lokale Verbindungenin einem Array.
Die Gleichung(6.16)beschreibteinen grundlegendenZusammenhangzwischenclenAnzahlen
und der Dauer der Täktepro Bildpunkt zum Schreibender Speicherund für die Operationsausführung im Array.
Das Schreibeneineslokalen Speicherssollteauchasynchronzum Systemtaktim Array erfolgen
können. damit die zeitlichenAbläuf'ein clenübrigen Teilentjes signalverarbeirenden
Systerns
nicht von denen im Array bestimmtwerden.Der lokale Speicherbestehtdaher aus einem mit
dem Array synchrongetakteten'leilund einemweiterenasynchronzum Array betriebenenTeil.
Der asynchrongetakteteSpeicherist als FIFO oder wahltrei adressierbarer
Dual-Port-Speicher auszuführen[69]. Als synchrongetakteter'lbildes Speicherseignensich wegenclerf'esten
DatenfolgenSchieberegister
oder auch Speicherarrays
mit einer Zeigeradressierung
t31]t651.
Die Schieberegister
ergebensich direkt aus dem systematischen
Abbildungsverfähren.
Genau
genommensind alle als Punkte an den Kanten der SFGs aus Kapite\ 6.2 dargestelltenPipelining-Registerder Arraysauchein BestandteildeslokalenSpeichers.
Durch eine entsprechencle
Auswahlder Zeiteinteilungs-und Projektionsprozedur
lassensich sogarArrays gewinnen,clie
keine weiterenbesondersspezialisierten
lokalen Speicherbenritigen.Beispielehierfür sinclclas
Ar:rayN in Bild 29 und das Array Q in Bild 31. Sie habennur einen Eingangfür eine Folgevon
Suchbereichs-und Ref'erenzblockclaten.
Die zweidimensionalen
Arrays QN, NN und QQ clagegen
ertirrclerngrundsätzlichlokale Speicher. Als lokale Speichereignen sich die in Anhang D zusammengestellten
Typen.Aufgruncl
desparallelenZugriff'esdurch die zweidimensionalen
Arrayskommen für die SuchbereichscJa-
- /()-
ten Blockzeilenspeicher
geoder Suchbereichsspcicher
in Frage.Für die Ret'erenzblockdaten
nügtein Blockspeicher.
Der Schaltungsaufuancl
für die lokalenSpeicherrichtetsichin erster
Linienachder Speicherkapazitäl
Die'fransistoranzahlen
derSpeicher
sinclin'Iabelle20 einge-kansisturanzahlen
tragen.Bei einemVergleichdieser
mit denenin Iäbelle 19 zeigtsich.daß
bei den eindimensionalen
Arraysder Schaltungsaufwand
für die Speicher
sichin der gleichen
Griißenordnuns
wie die desAufwandes
für die PEsverhält.
t'M lbitl
Tiansistoranzahl
iöhei
1U.600
Blockzeilenspeicher Q : 8
24.000
36.000
Q:16
Q:32
,,',';r25|äüfr
,t|4i,:ä:$9
i'it6;äaii
Suchbereichszeilen- Q : 8
speicher
Q:76
Q:32
184p1
248 pi
376 p1
1.200pi
p;
1.-500
2.300pi
(M und'liansistoranzahl
Thbelle20: Speicherkapazitüt
für N:16 bei Speichcrzellen
mil
6 Tiansistoron
pro bit (p; - Zeilenlänge
einesBildes)
6.6 Steuerung
Systolischebzw. semisystolische
Arrays beni)tigenkeine aufwendigeSteuerungder Operationen und des Datentransfers.da die PEs nicht programmierbarsind und die Kommunikation
über Registerin unveränderlichenlokalen Verbindungenabläuft.An den Beispielenin Kapitel 6.2 zeigtesich aber, daß einzelneRegisterin den Arrayszu bestimmtenZeitpunktenauf einen definiertenWert gesetztwerdenmüssen,urn f'ehlerhafte
Resultatezuvermeiden.
Außerdem
sind bei der bereitserwähntenParallelisierung
desDatentranst'ers
für dasPipeline-lnterleaving
in den PEs die Multiplexer zu schalten.Die Ansteuerungder Multiplexerwie auchdie clerRegistermuß synchronzum SystemtaktdesArrayserfolgen.Da die Positionder Daten im Array über
die Stellungder Multiplexer und den Zeitpunkt desSetzenseinesRegistersentscheidet,
erfblgt
Transt'er
der
der Steuersignale
zweckmäßigerweise
parallel zu den Daten ebentällsüber Registerzwischenden PEs.Hierdurchsind ausschlielSlich
Steuersignale
für PEsam Rand desArravs
zu generieren.
Die SteuerungeinesArray ist wie die einesprogrammierbarenProzessors
als Zustandsautomat
(engl.:Finite-State-Machine)realisierbar.SeineStrukturläßt sichebenfallsausdem Space-f ime-Mapping-Verfahrenableiten,da diesesdie Zeitpunktefür jede Operationin den PEsspezifiziert.Für eine Steuerungbesondersanschaulichist dasModell von kaskadiertenmod(z\-Zäh-
- ]'t-
lern, deren Zustände logisch miteinanderverknüpft werden [17]. Bei der hier im Zuge des
Space-Time-Mapping-Verfährens verfolgten linearen Zeiteinteilung und Prt-rjektionentlang
den Koordinatenachsendes Indexraumesrichtet sich die Anzahl der Zähler nach der Anzahl
der Projektionen.Die Zählbereicherichten sich sichjeweilsnach der Anzahlx der ineinander
projizierten Knoten. Dementsprechendbeschreibendie Typenbezeichnungen
der Arrays QN,
NN,
N
und
indirekt
Architektur
die
QQ,
der Steuerung(Täbelle27),Die Zähler kiinnen zur
Q
Adressierungbzw Ansteuerungder lokalen Speichersowiezur Generierungder Kornponenten
der Displacementvektorenverwendetwerden. Unter der Annahme, daß rJie7.ählerständesynchrclnmit den Datenfolgenan den Eingängender Arraysübereinstimmen.
sind die Steuersignale für die PE,sA und MS über Registerkettenzu verzögern.
Array-'Iyp
aa (rypki)
Zähler-Typ
mod(N)-Zähler
mod(N +Q-l)-Zähler
N (TVpn1k2m)
morJ(Q)-7.ähler
mod(l/ + Q-l)-Zähler
mod(N* Q-l)-Zähler
möd(O)+Zählöii,,.i.,i.,.,,',,
+,,9:1,)-zähl
nrocllr,
cr
fia6(N+::8t'1|\i:rylilr:i
Thbelle2l: Zil'ilerfypenin der lokalenSteuerung
für die hier diskutiertenArravs
Die Tiansistttranzahlfür die Zähler der Steuerung ist mit der Zusammensefzungnach
Täbelle 27 im Vergleich zu der Transistoranzahlder Arrays sehr gering. Für beispielsweise
N:16mitQ:N12,Q:N
u n d Q : 2 ' N b e s t e hkt e i n e rd e rZ ä h l e ra u sm e h ra l s2 0 0 T r a n s i s t o r e n
(Anhang C). Mit zwei bis dreiZählern sowiezusätzlicherLogik 'zumYerz,i\sern
einzelnerSignale ergibt sich für eine lokale Steuerungauf der Grundlagevon Zählern insgesanrtein Schal'Iransistoren.
tungsaufwandvom 1.000bis 2.000
- 7fi
6.7 Partitionierungder Arrays
Die in Täbelle 1ti zusammengestellten
tünf ein- und zweiclimensionalen
Basistypenergeben
sich durch eine konsequenteDurchführungder linearenZeiteinteilungs-und Projektionspnrzedur im Zuge des Space-Time-Mapping-Abbildungsverfahrens.
Die Anzahlen der PEs AD
und MS richten sich nach der Block- und Suchbereichsgräße.
Die Anzahl der Systemtaktepro
Bildpunkt (6.1) dagegenverhält sich umgekehrtproportionalzu der PE-Anzahl. Sof'ernaber
die mit einem Array erreichteAusführungszeit
wesentlichkürzeralsdie vom VideosignalvorgegebeneObergrenzeist,wird dasArray nicht kontinuierlichund damit ineffizientgenutzt.In diesem Fall ist es möglich, den Schaltungsaufwand
einesArrays durch Partitionierungdes SFGs
zu vermindern.Die im SFG verschiedenen
Knoten zugeordnetenOperationenwerden dann in
der Schaltungin einem PE sequentiellausgeführt.Die Partitionierungder Arraysin q Teilevermindert die PE-Anzahl auf
n(q)an :
It1
n(q)u,s:
Irl
( 6 .l 7 )
u n d e r h ö h t d i e Anzahlder Systemtakte
pro Bildpunktauf
cPP(ct,
pu i
P,cD.
> q' cpp(pan,p y,s)
( 6 .l t 3 )
Es gibt für die Partitionierungzwei grundsätzlicheAnsätze [57][64]. Beim ersten bleibt die
Struktur der Kommunikationsverbindungen
innerhalbder TeiledesSFG erhalten(lokal-parallel-global-seriell. LPGS). Realisiertwird ein Array nach einem der durch die Partitionierung
entstehenden
lbile desSFG. Beim zweitenAnsatzwerdenalle KnoteninnerhalbeinesTeilsmiteinanderzu einem Knoten "verschmolzen"(lokal-seriell-global-parallel.LSGP). Bilcl34 zeigt
eine schematischeDarstellungdieserbeiden Ansätze.In beiden trällensind zusätzlichelokale
Registerund eine Steuerungdes Datentransferserfbrderlich.Die Anzahl der lokalen Register
richtet sich nach der Anzahl der Knoten des ursprünglichenSFGs und nach der Anzahl der
durch die Partition entstehendenTeile des SFG.
Das LPGS-Verfähren ergibt ein kleineres Array, dessenStruktur dem Teil des ursprünglichen
SFG entspricht.Beim tSGP-Verfahren dagegensindjedem PE neueRegisterspeicher
zuzuordnen, deren Inhalte über externzu steuerndeMultiplexerdem PE zugeführtwerden.Wegender
Einfachheit beim Entwurf ist das LPGS-Vertähren bei Arrays für das lllockmatching vorzuziehen.
Die fünf Arrays QN, QQ, NN, N und Q eignen sich besondersfür eine Partitionierungnach
'fyp
dem I-PGS-Verfähren[57][6a]. Bild 35 zeigt ein Beispielfür das Array QN vom
n1k aus
Bild 23. Entsprechend(6. l7) und (6.1tt)vermindertsichdie PE-Anzahl und essteigtdie Anzahl
der Systemtakte.
Alternativzur Partitionierunggrof3erArraysist es möglich,mit der linearenZeiteinteilungsund Projektionsprozedur
kleineArrayszu generieren
und dieseentsprechend
den E,chtzeitanforderungen
parallelzu einzusetzen.
- 19,
SFG
t-PGS
r------l
r-------'l
I
L
I
t-SGP
L
t-
.i LIL-'-.
Bild 34: Schematische f)arstellung LPGS- (lokal-parallel-global-seriell) und I.SGPPartitionierung(lokal-seriö_l_l-global-parallel)'eines
SFö nach [57][64],die Punktean
den Kanten kennzeichnenRegisterspöicher
6.8 Blockmatching-Algorithmen
in Array-Architekturen
Die Array-Architekturensind für das Blockmatchingmit der vollstäncJigen
Sucheoclerein
Blockmatching
mit unterabgetasteten
Bkickengeeignet,
beidemclieKandiclatenbliicke
aufden
Schnittpunkten
einesregulären
Gittersangeordnet
sindunddieSchritnveite
zwischen
denKandidatenblticken
mit der Unterabtastung
der Blöckeiclentisch
ist.Dieseswirclbeispielswcise
in
pEs
derArchitekturvonSiemens
genutzt[ti4][f]5].Eindimensionale
Arrays,in denenalle
cJirekt
mit lokalenSpeichern
verbunden
werden,eignensichsogarfür einBkrckmatching
mit Suchstrategien[8a].da hier die Pipelinekurz ist.Denkbarsinclhier Suchstrategien
mit einerregulären
Folgevon Kandidatenblöcken
wie das"Axis Search"[52]t84](Kapitel3.1).
Der EntwurfvttnArray-Architekturenwird durchein systematisches
Vorgehenerleichtert.Eine
hierbei durchgeführtelineare Zeiteinteilungs-und Prc'rjektionsprozedur
im Rahmeneines
Space-Time-Mapping-Abbildungsverfährens
ergibt regulärstrukturierteArrays rnit einfach
vtrnlokalenSpeichernunterstützbarenDatenzugriff'en.
Die AnzahlclerPEsrichtetsichhierbei
nashder Blclckgrt)ße
und der Anzahlder Kandidatenblöcke
in einemSuchbereich.
Als Grundlagefür die Diskussion
ergabensichdie Strukturen
vondreizweiclimensionalen
(2-D) unclzwei
eindimensionalen
(1-D) Anordnungen.
Durcheineentsprechende
Auswahlder Zeiteinteilung
führt die Abbildungzu systolischen
Arraysoder auchsemisystolische
Anordnungenmit sogenanntenBroadcast-Lines.
Semisystolische
ArrayserfordernetwaswenigerSchaltungsaufwand
für Resister.
- 8(),
94
s 5 (+i m , k + n )
,;;::,'-;W n;l
,,,,,,,',:ßi 92
",',;,1:,'1,,.1",.1.1'.11':,"1"';7:4,,,;
..rvrznt: :::: ::: ::::rhä.
: [{+:.:::::..:..::
:::lü
': : : :.4: i.:.1t.:.:.:.4:.4t. a a.:: :.: : a | :,.:
:,:,:,:,,,,*-2
9.i
.::-:'xI
',,,,,,,,,1,,,,:,54,
,,,,,,6i3i.;,,,,,.,,.,:,,,,,,;;,',:,,,,,,,:,,,12
6,4
' tl+
44
$
4l
m
',,"67,,',,;,,';,';,,;1;,,,,:,,;;;:1,1:1:;7,1
,,::::,:;'t4 bJ
::::::::::::::::.:.:.:::
:::::''''
<1:
'," ,5'l
4,t
t4
l3
t2
,1,1,6:t',')"'::':')""',..,..r,.,,,,,;;1,1,,:44
:,1,:t;,1,,53,
:,:,ttt:,:,t41
34
1,1
11
JJ
LJ
32
))
-1 I
: a.:::
ii
,,:::,:1L
t:.a:.t':':52
:jjj:
,62
,8,1,
5'l
:.1.'t',','11,'4:I'
l l
t l
0
tl +, t f 2 r 1
l-r I/
t t
tl
lr +
A lr 2J
l )
tz
. '
ll
24 23 22 2124 23 22 2l
1 /
t t
J+
J-r
a a
JJ
a i
1 /
-1 I .)+
1 a
t l
JJ
-1l
1 l
-1 |
44 43 42 4t 44 43 42 4l
sp(i,k)
MS
Bild 35: SFG des in
ZJvel
TeilepartitioniertenArrays QN vom Typ nrk ausBild 23
Für ein Blockmatching
mit der vollständigen
Suchereichendie l-D Arraysbei Bilcltelefonsignaleaus,wohingegen
für ein Fernsehsignal
die 2-D Arrayserforderlich
sind.Bei HDTV-Signalensindmehrereder Arraysparallelzu betreiben.
DurchPartitionierung
großerArrayssind
kleinereaber wenigerleistungstähige
Arraysrealisierbar,
sof'erndie verfügbareAustührungszeit langgenugist.
Array-Architekturen
eignensichfür einehochintegrierte
Realisierung
auf einem(ihip.SieIassensichals eigenständige
Module mit den übrigenTeileneinessignalverarbeitenclen
Systems
kombinieren.
- lli-
7 Ergebnisse
7 .l Analyseder Displacementschätzverfahren
Für die Quellencodierungvon Videosignalendensind Displacementschätzverfähren
auf der
Grundlage einer Gradientenmethode (difl'erentielle Verfähren), einer Fouriermethode
(Phasenkorrelation)
und einer Suchmethode(Blockmatching)in Diskussion[9][72l[77][tl3].trs
zeigtesich hier, daß dasBlockmatchingim Vergleichzu den beidenanderenVerfahreneine geringe Anzahl von Operationenpro Bildpunkt ertordert und sogarohne in einer Schaltungauf'wendig realisierbareMultiplikationen oder Divisionenauskommt.Deshalbist damrt zu rechnen. daß auch in zukünftigzu konzipierendenArchitekturenDisplacementschätzverfähren
auf
der Grundlagevon Blockmatching-Algorithmenrealisiertwerden.
Beim Blockmatchingwird ein Ret'erenzblock
ausdem aktuellenBild mit mehrerenKandidatenblöckenin einem Suchbereichauseinem Suchbildverglichen.Das Blockmatchingmit der vollständigenSuchealler mriglichenKandidatenbläckein einem Suchbereichist clasgrtrndlegende
Suchschema.
E,szeigtesich,daß hierbei das Blockmatchingan Operationenpro Bildpunkt das
Dreifächeder Kandidatenblockanzahl
einesSuchbereiches
ertbrdert.Daher wurden in cierl-iteraturSuchstrategien
vorgeschlagen,
bei denendie Wahlder Kandidatenbliickevon Z.wischenergebnissenabhängt[35][771.Hier vermindertsichdie Anzahl der Operationenpro Bildpunkt
auf 10 bis 15% der des Blockmatchingsmit der vollständigenSuche.
HierarchischeDisplacementschätzverfähren
ergebenbessereSchätzungen.indenr mit jeder
Hierarchiestuf'e
die Block- und Suchbereichsgrciße
vermindertund damit eine bessereApprorimation an die verschobenenObjekte erreichru'ird [9][23]tU4ll85].Die Schätzungrvirdjeweils
mit dem Ofl'setdesvorangegangen
geschätzten
Displacements
fbrtgesetzt.Eine Mittelwerttiefpaßfilterungder Mdeosignalein Kombination mit einerUnterabtastungclerBliicke (Dezimationstilter)ergibt bessereSchätzungenbei stark texturiertenBildern.
Die mit einem Displacementvektor
darstellbareAuflijsungbeträgteinentsildpunkt,da die Kandidatenblcicke
zueinanderum mindestenseinenPunkt im Abtastrasterverschobenwerdenkc)nnen. Das Abtastrasterdes Bildesund damit die darstellbareAufliisungkann durch eine bilineare Interpolationder Abtastwerteverf'einertwerden.Die Anzahl der Operationenpro Bildpunkt
für die Vrrfilterung ist im Vergleichzu der des Blockmatchingsvernachlässigbar
klein.
7.2 Echtzeitverarbeitung
von
Di splacementschätzverfah ren
Displacementschätzvertähren
lassensichin Echtzeitnur durch Parallelverarbeitung
und Pipelining ausf'ühren.Die erfbrderliche Parallelität richtet sich nach der Signaltaktperiocie.der
Systemtaktperiode
und der Anzahl der pro Bildpunkt durchzuführenden
Operationen.Bei einem 20 ns-Systemtaktund einer ausführbarenOperationpro Systemtaktstehenfür ein llildtelefonsignal20. für ein Fernsehbildsignal
5 Systerntakte
und für ein HD'IV-Signal nicht einmal
mehr ein ganzer Systemtakt pro Bildpunkt zur Verfügung. Demnach elfordert ein
- 82-
Blockmatchingmit der vollständigenSuchevon225 KancJidatenbft)cken
pro Suchbereichbei
einem Bildtelefonsignal35,bei einem Fernsehbildsignal
140und bei einem HDTV-Signal 760
parallel ausgeführteOperationen.
E,swurden bereits Architekturen für ein Blockmatchingmit Suchstrategienin für Fältungsoperationen programmierbarenSchaltungenund nichtprogrammierbarenArray-Architekturen für
ein Blockmatchingmit der vollständigenSuche realisiert.Die für Faltungsoperationen
programmierbarenSchaltungensind mit den Processing-Elementen
(PEs)von Multiprozessorarchitekturenkombiniert [37][51][55].Die Array-Architekturenbestehenausregulärvernetzten
PEs [50][76][7U][f]41.
SystolischeArrays haben ausschließlich
lokale Verbinclungen
über Register zwischenden PEs [20][a5].
Die Leistungsfähigkeiteiner Architektur läßt sich durch die Fliiche(liansistoranzahl)uncldie
Ausführungszeit(Anzahl der Systemtakte)pro Bildpunkt bewerten.E,inweiteres Bewerrungskriterium ist die Eftizienzlzll3l l. Sie stellt dasVerhältniszwischender Ausführungszeitbei kontinuierlicherNutzung aller parallelenEinheiten der Architektur zu der tatsächlicherreichten
Ausführungszeit
dar. Mit dem ausder LiteraturbekanntenFläche-Zeit-Produkt als Komplexitätsmaß[63] zeigte sich, daß sich die Komplexität einer Architektur umgekehrtproportional
zu der Effizienz und zu der Parallelitätpro Flächeverhält. Effizient genutzteund hochintegrierte Schaltungen(V[SI) haben demnacheine geringeKomplexität.
ProgrammierbareArchitekturensind bei Veränderungenvon Algorithmen flexibel anpaßbar,
wohingegenspezialisierte
ArchitektureneinenneuenEntwurf erftrrdern.Rei spezialisierten
Architekturenist wegendes geringerenSteuerungsaufwandes
mit einer hohen Leistungsfähigkeit
auf kleiner Flächezu rechnen.Ein systematisches
Vorgehenbeim EntwurfdieserArchitekturen
ist unbedingterforderlich.
7.3 Systematischer
Architekturentwurf
Ein systematischer
Entwurfder Architekturerleichtertdie Übertragung
der Operationen
und
Datenabhängigkeiten
einesAlgorithmusauf die PEs,die Steuerung,
die lokalenSpeicheruncJ
die Kommunikationsverbindungen.
Das Ziel desEntwurfsist einestrukturelleBeschreibung
der Architektur.Dahereignetsichhier ein Vertährenauf'derGruncllage
graphischen
eir-rer
Algtlrithmusbeschreibung,
welchesausder Literaturfür den E,ntwurfvon systolischen
Arraysbekannt ist 145l[47)[58][7U.Zu Beginn wird der Algorithmus als Abhängigkeitsgraph
(engl.:dependence
graph,DG) formuliert.Urn einerealisierbare
Architekturzu erhalten,
wird
der DG durch eineZeiteinteilungs-und Projektionsprozedur
auf einenein- oder zweiclimensionalenSignalflußgraphen
(engl.:signalflow graph,SFG)transformierr.
Die KnotendesDG beschreiben
die Basisoperationen
desAlgorithmus.
Die KantendesDG
sinddurchVektorendargestellt.
diedenTiansf'er
sogenannter
lokalerVariablenrepräsentieren.
Die Anordnungder KnotendesDG richtetsichnachder Variablenindizierung
und die Dimen()perationender
siondesDG nachder Anzahlder [ndizes.Wegender bildpunktorientierten
Displacementschätzvertähren
ist eszweckmäßig,
einenDG mit einerSerien-Parallel-Struktur
zu verwenden.
bei demdie KanteneineGitterstruktur
zwischen
denKnotenbilden.Kommutativeundassoziative
Operationen
erlaubenteilweise
gerichtete
beliebig
Kantenvektoren.
An einem Beispielwurde hier gezeigt,daßdasAbbildungsverfahren
im Gegensatz
zum ursprünglichenVerfährendurcheinenallgemeinfbrmulierten
DG mit variierbaren
Kantenvektoren
auch
zu einergräßerenAnzahlunterschiedlicher
Liisungenführenkann.
- 83-
Die Zeiteinteilungs- und Projektionsprozedurist der für die PF.-Anzahl und die Ausführungszeit entscheidendeSchritt des Abbildungsverfährens.Durch die Zeiteinteilung erhalten die
Knofen f'esteZeitpunkte für die Operationsausführung.
Den Kantenwerdenentsprechend
den
ZeitdifTerenzenYerziigerungenzugewiesen.Aufgrund der Kausalitätsbedingungbei nichtvertauschbarenOperationen werden mit diesem Schritt die Komponentender Kantenvektrtren
f'estgelegt.[m Rahmen der Diskussionwurde von einer linearen Zeiteinteilung und Projektion
ausgegangen,
da diesebesonderssystematisch
auf eint'achstrukturierteArchitekturenführt.
Durch die Projektion unterschiedlicher
Knoten des DG auf einen einzelnenKnoten des SFG
entstehtein programmierbaresPE, dessenInstruktionsfolgesich nach der Folge der Operationszeitpunkterichtet. Hiermit ist das Abbildungsverfähren
auch für programmierbareArchitekturen geeignet.
Der Blockmatching-Algorithmuszeigt eine hierarchischeStruktur in seinenOperationenfolgen. Daher läßt sichdie Abbildung ebenfallshierarchischstrukturierrdurchführen.indem meh"gebünrere Knoten des DG zu einem Knoten zusammengefurßt
[81] und die Kanten des DG
delt" werden.Nach erfolgterAbbildung diesesDG kann dasVertährenfür die in den einzelnen
Knoten spezitiziertenTeile desAlgorithmusnoch einmal durchgeführtwerden.Alternativ dazu
ist es auch möglich. den Algorithmus in gleichartigeTeilezu partitionieren.um das Verfähren
zu vereintächen.Diesesist immer dannvorzuziehen.wenn die grobe StrukturdesGraphenbereits bekannt ist und Schlußfolgerungenüber die Architektur zuläßt.
Die Zeiteinteilungs- und Projektionsprozedurmuß ggf. mehrfäch durchgefiihrt werden. Die
den Kanten zugewiesenenVerztigerungenwerden in einer Schaltungals Registerkette(oder
Speicher)realisiert.Da die Verzögerungenden Schaltungsaufwand
einer Architektur erheblich
bestimmen, ist es zweckmäßig.die T.eiteintellungso zu wählen. daß ausschlietllichKanten zwischen nichtvertauschbarenOperationen Verzögerungenerhalten. Weiterhin ist darauf zu achten, daß die Zeiteinteilungzu möglichstwenig Verzrigerungen
an den Kantenvektorenführt,
denn mit jedem weiteren Schritt geht die Anzahlder Verzi)gerungenals Faktor in die Gesamranzahl cierVerzägerungenein. Nur im letzten Schritt der Zeiteinteilungs- und Projekrionsprczedur ist dann jeder Kante mindestenseine Verzögerungzuzuweisen.
Hierclurchergebensich besondersleicht realisierbareDatenfolgen.
Das aus der Literatur bekannte Abbildungsverfahren
beschreibtwegender graphischenDarstellungder Algorithmen nicht den Datentransf'erüber die Ränder des Graphen hinaus.Dadurch ergebensich im SFG auch Kantenoder sogarSchleifenfür nichtrealisierbare
lokale Verbindungen, die keine Kommunikation über den Rand der ein- oder zweidimensionalen
Architektur erlauben.Um dennochrealisierbareSchaltungen
zu erhalten.muLJder Tiansf'ervon
Daten über zusätzlicheRegisterknotenvon ['Es am Rand cJes
SFG nachträglichin clasVerfähren
eingeführtwerden.Diesesogenannte"Homogenisierung"[2U]führt zu l-eerlauftakten,bei denen nichtauswerfbareOperandenkombinationen
auf'einandertretl'en.
Bei clenhier als Beispiel
gezeigtenArray-Architekturen ergibt sich eine F. ffizienzzwischen33V, und 66%.
Die lineare Zeiteinteilungund Projektion ergibt einen DatenzugrifT.
der sich mit jeder Zeile
von Bildpunkten.Kandidatenbläckenoder Suchbereichen
("|-ine-Scan").
wiederholt
In der I-iteratur wurde gezeigt,daß eine Steigerungder Effizienzdurch ein sogenantesPipeline-lnterleaving(Parallelisierung
des Datentransf'ers)
in der Architektur möglichist. so daß lokal in den
PEs immer auswertbareOperanden aus parallelen Datenstrutmenselekticrt werden ki)nnen [17][48][78]t87] Hier wurde gezeigt,daß die AnzahlderparallelenDatenstrt'ime
sichmin-
- 84-
destensproportionalzum Kehrwert der EffizienzderdurcheinelineareZeiteinteilungund Projektion abgebildetenArchitektur verhaltenmuß. um die Effiz,ienzauf 100% zu steigern.Als
"Line-Scan"
"MeanderAlternativezumparallelenDatentransf'er
beim
ist esauchmöglich.ein
Scan" mit einem entsprechendenWechselder Bewegungsrichtung
der Daten durchzuführen
[7][84][85].Dieser Wechselist allerdingsdurch eine lineareZeiteinteilungund Projektionaus
einem Algorithmus nicht abzubilden und daher für ein systematisches
Vrrgehen hier
ungeeignet.
Ein systematisches
Vorgehen beim Architekturentwurf tür Displacementschätzverfahren
fühl't
auf Anordnungen von PEs deren Parallelitätauf der hierarchischenStruktur des Blockmatchingsberuht.Für Operationenmit einerParallelitätzwischenden einzelnenBildpunktenzuzuordnenden Operationen (Rildpunktebene)oder für Operationen mit einer Parallelitiitauf
Kandidatenblockebene
wurden hier Array-Architekturendiskutiert.Für die Operationenmit
einer Parallelitätauf Suchbereichsebene
wurdenspezialisierte
PE,suntersucht,die sichden programmierbarenPEs von Multiprozessorarchitekturen
zuordnenlassen.
7.4 Displacementschätzverfahren
in
Mu ltiproze ssorarchitekturen
Aufgrund der bisherbekanntenRealisierungen
und Konzeptewurde bei der Diskussionvon einer Multiprozessorarchitektur
ausgleichartigenPEsausgegangen.
die über einenRusmiteinander verbundensind.Die PEs enthaltennebeneiner arithmetischen
EinheitlokaleSpeicher.eine
Speicheradressierung
und eine Steuerung.E,szeigtesich,daß die Diplacementschritzung
hier
unbedingtin spezialisierten
Einheitenausgeführtwerdenmuß, die entwederfür Faltungsoperatitlnenprogrammierbaroder für Displacementschätzverfahren
spezialisiert
ausgelegtsind.E,ine
nichtprogrammierbarePipelinefür eine FcllgeausSubtraktion.Betragsbildung
und Akkumulation der Differenzbeträgedes Blockmatchingsbestehtnur aus etwasmehr als L000 Ti'ansisroren. Um die Leistungsfähigkeit
zu steigern,können mehreredieserPipelinesparallelisiertwer'den. Es wurde gezeigt. daß für unterschiedlicheOperationen spezialisiertePE,s nur dann
kontinuierlich ausgelastetsind, wenn sich ihre Anzahlenproportional zu der Anzahl der pxr
Bildpunkt auszutührendenOperationenverhalten.
Ein Pipeliningbei der Instruktionsdecodierung.
Speicheradressierung,
dem Datenzugriflauf
die Speicherund der Operationsausführung
erlaubtkurze Systemtaktperioden
und damit einen
hohen Datendurchsatz.
Mit der Tiefe einer Pipelinenimmt allerdingsdie Anzahl cJerLeerlauftakte zu. Bei einem Blockmatchingmit Suchstrategien
tretendieseZeiten besondershäufigauf.
da wiederholtResultateam Ende der Pipelineüber Instruktionenam Anfang entscheiden.
Hierdurch vermindert sich die Eflizienz einer Architektur. Eine hohe EfTizienzist daher nur mit
mi)glichstkurzen Pipelinesmüglich.
Mit der Parallelitätin den PEs der Multiprozessorarchitektur
steigenauch die Anforderungen
an die lokalen Speicher.Wahlfrei adressierbareSpeicher(RAM) eignen sich für ein Blockmatchingmit Suchstrategien,
wohingegenbeit'estenZugritl'sfblgen
auchSpeichermit einerZeigeradressierungoder sclgarRegister denkbar sind. Es ist zweckmäßig,eine hierarchische
Anordnung von kleinen Speichernmit einer kurzen Ztgriftszeit in der unterstenHierarchiestufe und großenggf-.von mehrerenPEs gemeinsamgenutztenSpeichernin den oberen Stufenzu
verwenden[25][3] l. Bei einer gemeinsamenNutzungder lokalen Speicherin den PF,sfür Dis-
- lJ5,
placementschätzverfähren und die übrigen Aufgabenstellungen der Quellencodierung
bestimmt der Zugritf auf die Abtastwertefür das Blockmatchingdie Speicherkapazität.Die lokalen Speicherin den PEs enthalten die Abtastwertefür einen oder mehrere Iilöcke. eine
Blockzeile oder einen ganzenSuchbereich.Die SpeicherkapazitäteinesSuchbereichsspeichers
richtet sichnach der Blockgriißeund dem maximalenDisplacementin einem Suchbereich.Für
beispielsweise16x16-Blöckeund225 Kandidatenblöckemuß cler Suchbereichsspeicher
eine
Kapazität von mindestens[Jkbit haben. Bei hierarchischenVerfährensind die Kapazitätengriißer. Eine häufig vorgeschlageneUnterabtastungder Blijcke zur Verminderungdes Rechenaufwandesvermindert nicht die Speicherkapazität.sofern die Daten im Speicherauch für die der
UnterabtastungvorausgehendenTiefpaßfilterungverwendet werden.
7.5 Array-Architekturen
Anhand des oben genannten systematischenAbbildungsverfahrensentstehen hier drei
Beispielezweidimensionalerund zwei BeispieleeindimensionalerArrays, deren PE-Anzahl
sich nach der Anzahl der Abtastwertein einem Block und der der Kandidatenbläckein einem
Suchbereichrichtet. Die eindimensionalenArraysreichenfür Bildtelefonsignale
mit niedrigen
Quellenraten,wohingegenfür Fernseh- und HDTV-Signale zweidimensionale
Arrays erfbrderlich sind.
Die zweidimensionalenArrays bestehenfür 16x16-Blöckeund 16x16Kandidatenblöckenpro
Suchbereichaus256 PEs und die eindimensionalen
Arrays aus 16 PEs. Ein zweidimensionales
Array aus 256 PEs besteht aus über 220.000 Tiansistorenund bei 32ß2 Kandidatenblöcken
je nach Typ auf 500.000bis 1.000.000.Array-Architekturen sind bei
steigt die Thansistoranzahl
dem augenblicklichenStandder Technologieauf einemChip realisierbar.Durch Partitionieren
der großen Arrays lassen sich kleinere aber auch weniger leistungsfähigeArchitekturen
gewinnen.
Array-Architekturen lassensich nur dann effizient nutzen,wenn wiederholt zumindest in den
Datentransf'ervon einer separatenSteuerungeingegriffen wird. Die Steuerungkann als synchron mit dem Array getakteteFinite-State-Machineoder als Kaskaclcvon Zählern realisiert
werden[17]. Sie bestehtausnicht mehr als 2.000Tiansistorenund ist daherhinsichtlichdes Realisierungsaufwandesvernachlässigbarklein. E)ne Zählerkaskadezur Steuerung eignet sich
auch für die Adressierungder lokalen Speicherund der Generierungder Displacementvektorkomponenten.Die lokalen Speicherwerdensynchronmit dem Systemtaktdes Arrays gelesen.
Die Wortbreite richtet sich nach der Anzahl der PEs am Rand des Arrays.Auch hier kommen
wie bei der Multiprozessorarchitektur
Speicherfür mehrereBli)cke.eine Blockzeileoder einen
ganzenSuchbereichin Frage.
Eine ParallelisierungdesDatentransf'ers
zur Effizienzsteigerunglohnt sichbei den eindimensiclnalen Arrays eher als bei den zweidimensionalen
Arrays,da bei diesender Schaltungsaufuand
für die Multiplexer und lokalen Speichererheblichgrrißerist.Bei einemEntwurf ist letztendlich
zwischeneiner kleinen aber ineffizientenLösung oder einer hocheffizientenaber schaltungstechnischaufwendigen Li)sung zu wählen.
- u(r*
8 Zusammenfassungund Ausblick
In der vorliegendenArbeit wurden die Aspekte von Vl-SI-Architekturen für Displacementschätzverfahren
auf der GrundlagedesBlockmatching-Algorithmus
diskutiert.Zu Beginnwurden die bekannten Displacementschätzverfahren
und bereits bekannte Architekturkonzepte
analysiert.Ein besondererSchwerpunktder Diskussionlag auf der systematischen
Abbildung
vtrn den Algorithmen auf die Architekturen.DasZiel der Abbildung ist eine Ileschreibungder
verschiedenenStrukturen von Pnrcessing-E,lementen
(PEs), Kommunikationsverbincjungen
u n d l o k a l e nS p e i c h e r n .
Das hier durchgeführteAbbildungsverfahren
beruht auf einerausder Literatur bekanntenVorgehensweisefür die Abbildung auf systolischeArrays. lm Rahmen der Diskussionhier wurde
das Verfahrenverallgemeinert.Es zeigtesich,daß neue Schrittehinzugefügtwerden mußten.
die zu efTizienterenund dennoch einfach strukturierten Liisungen führen.
Für ein Blockmatchingmit der vollständigenSucheeignensichwegendesregulärenund langfristig vorhersagbarenDatenzugrifl.sbesondersArray-Architekturen aus regulär vernetztenPEs.
Für Displacementschätzverfahren
mit ergebnisabhängigem
OperanclenzugrifT
dagegen,wie er
sich bei einem Blockmatchingmit Suchstrategien
oder auch bei den hierarchischen
Vert'ahren
ergibt, eignen sich spezialisierteoder programmierbareSchaltungen,die beispielsweisenrit
Prtlzessoren
und wahlfrei adressierbaren
Speichernin Multiprozessorarchitekturen
kombiniert
werden.
Zukünttig ist damit zu rechnen.daß Displacementschätzverfahren
über dasBlockmatchinghinausgehendin Kombination mit Filteroperationenauchrekursivoder hierarchischmit variierenden Block- und Suchbereichsgrtißen
tür Fernsehbild-und HD'IV-Signale eingeserzrwerclen.
Die hier aufgezeigtenErgebnissesollen den Entwurf neuer Architekturenfür Displacementschätzverfahren
erleichtern.Außerdemeignensichdie diskutiertenErgebnisseauchfür andere
dem BlockmatchingvergleichbarstrukturierteAlgorithmen der Videosignalverarbeitung.
fl7
Literatur
"RecentAdvances
in DSPSystems".
IEEE Communications
t1] H. M. Ahmed,R. B. Kline,
M a g a z in e ,Y o l .2 9
N.o . 5 , p p .3 2 - 44,May 1991.
T'heBenjamin/Cummings
Publishing
I2l G. S.Almasi,A. Gottlieb.HighlyParallelComputing.
C)ompany,
[nc..RedwoodCity.CA, 1989.
"Standard-Signalprozessoren:
Architekturmerkmale
und Perspektiven".
l3] P. Anders.
Mikroelektronik.
Band3. Heft 1, S. 16-21.Jan./F'eb.
1989.
"A
t4l K. Aono, M. liryukara.T, Araki. A. Ohtani,H. Kodama.K. C)kamoto, Video Digital
Signal Processorwith a Pipeline Architecture".IIIEE Journulo.f Solid-Stata-Circuits.
Yol. 27, pp. 1886-1894,Dec. 1992.
A. Chimenti,R. Pioco,"Evolutionand Tiendsof HDI"V". Proc'.Atly,unc'ctl
15] F. tlellif-emine,
ComputerTbc'hnologt,
ReliableSystems
andApplication,s.5th
AnnualEuropeanComputer
Conf'erence.
ClompEuro 91, Bologna,May l99lr
"RIS(I
ArchitectureTiends". Proc.Atlvunced(ompLtterTec'hnolog,,,
t6l D. Bhandarkar,
Reliable
Systems
andApplications,5th
AnnualEuropean(lomputerConferernce,
Bologna,
p p . 3 4 5 - 3 5 2 Ma
. y 1991.
"VLSI
fbr Image processing".
SPIE hl. 1246ParallelArc'hitecture.s
I7l N. Birch,
Jor Image
Proc'essing,
pp. 25-33, March 1990.
"A
Difl'erentialDisplacementEstimationAlgorithm With Improvecl
t8l M. Bierling,
Stability". Proc'.of SecondInternationalkchnical Symposiumon Opticul und Ele<'troOpticalApplierl
Scienc'e
andEngineering,
SPIEConf.8594 lmageCoding,Cannes,F-rance.
Dezembe1
r 9U5.
Displacement,schätzung
zur Bewegungskonryensation
in digitulcn
t9l M. Bierling. Hierarchisc'he
Fernsehbildsequenzen
Dissertation,Universität Hannover, Fortschrittsberichte
VDl,
Reihe10:lntirrmatik/Kommunikationstechnik.
Nr. 179.1991.
"Efficient
BlockMotion EstimationUsingIntegralProjection
s". tEEE
[10] S. Cain,K. Sauer,
lVtrkshopon WsualSignalProcessing
and Communications(VSP(). Conf'erenceRecord,
pp. 258-263,Sept.7992.
"The global
approachto HD'IV standardization".
[11] F-.Cappuchini,M. Klivocheev,
rivistatelettrareview
c'ontributions
to telecommunic:ations
tleveloDtnent
4-5.No. l. S l7-34.
19 9 0 .
of'digitultelevision
lor studios.CICIR
[12] CICIRRecommendation601.Encodingpurameters
Recommendation
and Reports,ITU. vol. Xt, Geneva,1982.
[13] CCITT Study Group. Working Party XVl4. DescriprionoJ Ref. Model 8 (RMS).
CCIT'I Doc. 525, 19U9.
"Draft Revision Recommendation
of
H.261:
[14] CCITT StudyGroup.WorkingPartyXV/1.
Video Codec For Audiovisual Servicesat px64 kbit/s". Signal Prctt'essing:
Inuge
(' omuni cati on, Elsevier, Yol.2:221-239. i 990.
"Systolic
Models And SystolicGeometry".ISCAS ('onferenc'e
Rec'orrJ.
[15] J.-M. Delosme,
s . 2 5 0 9 - 2 5 1 21. g ft8 .
_ titi_
"
'
R. Baker,J. L. Salinas."A Vt.Sl Architecture
For TemplateMatchingand
[16] R. Dianysian.
Motion E,stimation".SPIE hl. 1001 Visuul Communicutions
an Intagc Procassirtl.
p p . 9 0 0 - 9 0 71, 9 U U .
SteuerungvonArray-Architekturerz.
Institut
Studienarbeit.
[17] S. Dreckschmidt.Thktsync'hrone
für TheoretischeNachrichtentechnik
und Intbrmationsverarbeituns.
Studienarbeit.
UniversitätHannover.Okt. 1992.
(ES2).ES2LiCPDI0LibraryDatubook.PartNo.014-0202,
Ift] EuropeanSiliconStructures
V e r s .N o . E 0 1 A 0 5 ,E S 2 ,Z o n e Industr ielle.
13106Rousset.
Fr ance.
Dec.1991.
"Video
SubbandVQ Codingat64kbit/susingshorr-kernel
[19] M. H. A. Fadzil,T, J. Dennis.
Filter Bankswith an improvedMotion EstimationTechnique".SignalProt'esing:
Image
( ' o m m un i ca ti o e
nd
. i te db y B .Gi rod, D. Pear son,
H. Yasuda,
ElsevierVr
. l.3. No. l . pp
3-21. February199I.
[ 2 0 ] . f . A . B . F o rte s," S ysto l i cA rra y s- Fr omConcepttolm plementation".Com putc r .pp.12- 1
.fuly l9tt7.
"Parallel
E,.F.Deprettere,
Architecture
firr a Pel-Recursive
l21l F..D. Frimout,J. N. Driessen,
Motittn Estimation Algorithm". lEEE Transactions
on ('ircuitsand Syste
m,sI'or Vidco
kchnologt,Vol. 2, No. 2,pp 159-16ft.
June 1992.
K. Shomura.K. Ohyama.
[22] H. Fujiwara,M. L. Liou,M.-T,Sun,K.-M. Yang,M. Maruyama.
"An AII-ASIC
Implementationof a Low llit-Rate Video Clodec".IEEE Tron,sac'tions
on
('ircuit,sand Systems
for WdeoTechnolog,Vrl. 2, No. 2, pp 123-134..lune 1992.
"Hierarchical
Displacement
EstimationWith t,ow Computational
[23] P.Gerken,H. Amor,
Effort For ApplicationsIn 64 kbit/sMovingVideoCoding".SecondInternutionulWtrkshop
on 64 kbitls CodingoJ'MovingVideo,Hannover,F. R. G., Sept.l98c).
"HDTV
Standards".IIIEE Communications
Maguzine,Vrl. 29. Nr. tl.
[24] W. Habermann,
S . 1 0 - 1 2A
. u g u s t1 9 9 1 .
ComputerArchitecture
: A Quantitiv,e
Approu<'lz.
Morgan
[25] J. H. Hennessy,D. A. Pattersctn.
KaufmanPublishers
Inc.,SanMateo.1990.
"Ein
Bewegungsschätzer
mit kleiner Chip-Fläche für eincrr
[26] K. Hienerwadel.
hochintegrierten
Video-Codecmit p.64 kbit/s".ITG-lthrkshopArchitekturund VL,SIwn
Bilclcodiereryz.
S. 11 - 12.Berlin. Juli 1990
"VLSI Architecturefor Block-MatchingMotion
Estimatiorr
l27l C..-H. Hsieh,T-P. Lin,
Algorithm". IEEE Transaction,s
on Circuilsand Systems
Video
kchnologt
Vrl.
2, No. 2.
for
p p 1 6 9 - 1 7 5Ju
, n e1 9 9 2 .
"Design
Of ConfigurableProcessorArrays".ISCAS
[2U]M. Huber. J, Teich.L. Thiele,
Conferance
Recorcl,
Vol. 1. pp. 970-973,New Orleans(f-A), 1990
Arc'hitec'ture.
and Design.JohnWiley & Sons.
[29] K. Hwang.ComputerArithmetic'-Print'iples
New York 1979.
"Advanced
ParallelProcessing
with Supercomputer
Architectures".
Pnrc:.
o.f'the
[30] K. Hwang,
I E E E . V rl . 7 5 , N o . 1 0 .p p .1 3 4 8- 1379,
Ocr . 1987.
and ParallelProc'e,r,sing.
2. Auflage,
[31] K. Hwang, F. A. Briggs. C'omputerArc'hitec'ture
McGraw-Hill Book Company.New \brk, 1986
[32] SimulationModel EditorialGroup tSO/tEClJTCl/SC2/WG1l. MPEG WdeoSimulution
Model Three(SM3) ISO/IEC J'fCl1/SC2/WG
11 Codineof MovinsPicturesan Asociafed
Audio,July 1990.
x()
"
Autliofor tligital
11.Codingo.fMovingPicturas
andAs,sot'ialed
[33] ISOiIECIJTCl SC29SC2/WG
Storage
Mediaat up toAbout 1.5Mbitls.Part2 Video,CD I1171-2.1991.
SpringerVerlagBerlin HeidelbergNew Yrrk. 1991.
l34l ts.Jähne.DigitallmageProc'essing.
"Displacement
Measurement
andlts Applicationin InterframeImage
[35] J. J. Jain,A. K. Jain,
Coding".IEEE Trans.on Comm.,Vrl. COM-29, pp. 1799-180t1.
July 1981.
"A
SystemFor Real-'[-imelmage
[36] H. Jeschke,H. Vrlkers,T, Wehberg. Multiprocessor
ProcessingBasedon An MIMD Architecture".Ktnferenzband
From Pi.relsTtt l:cuturcs.
No. 2, ESPRITBRA Workshop.pp.315-32U,Clastera-Verduzan.
France,1990.
"
K. Gaedke,P.Pirsch, Multiprocessor
performance
for Real-'fimeProcessing
[37] H. Jeschke,
of Video Coding Applications", IEEE Transar:tions
Fitr Vidco
on (lircuits und Systents
kchnolog, Vol. 2(2):227-230..f
une 1992.
"Motion
Clompensated
PredictiveCloding".Pror'.Int. kch.
[3U] S. Kappagantula,K. R. Rao,
Symposium,
SPIE,SanDiego.ClA,Aug. 1983.
"Motion-Compensated
InterframeCodingfor
[39] T, Koga,K. Iinuma,A. Hirano,Y. Iijima,
Video Cionf'erencing".
NTC8/, Proc.pp. G-5.3.1-G5.3.5,
New Orleans.LA. Dec. 1981.
"V[SI
Architectures
For BlockMatchingAlgorithms". DigitulSignul
[40] T, Komarek,P.Pirsch,
ProcessingApplied
to SpaceCommunicutiort,s,
ESA/E,STEC,pp.
211-217.Noordwijk,The
N e t h e r l a n d s,
N o v. 1 9 8 8 .
"Array Architectures
For Block MatchingAlgorithms".IEEL)
[41] l. Komarek.P. Pirsch.
Transac'tions
on Circuitsand Systems.
Vrl. 36, Nr. 10,pp. 1301-130tt.Oct. 19tt9.
"VtSI
'89
Architectures
ForBkrckMatchingAlgorithms"./(7SSP
[42] T. Komarek,P.Pirsch,
Cont'.erenc'e
Recorcl.pp.2457-2460., Glasgow,Sshottland.May 1989.
'1.
Komarek, P. Pirsch, "Vl-Sl-Architectures For Hierarchical Block Matching
[43]
Algorithms".IFIP-Workshop,
Grenoble,France,pp. 16tt-1ti1Dec. l9ll9.
"VLSI-Architectures
l--or Hierarchical lllock Matching
l44l T. Komarek, P. Pirsch,
Algorithms".1S(7S Conference
Record,pp. 45-48. New Orleans1..A., May 1990.
PrenticeHall, EnglewoodCliff.s,l9tlU.
[45] S. Y. Kung. VI-SIArray Proc'essors.
VP-(3008Vitleo[inc:orler.
ProductNote,AT&'t Microelectron[46] AT&T Microelectronics.,4
ics,Dept. 52AL330240,
555 Union Boulevard,
Allentown,PA 1u103.April 1992.
"Mapping
NestedLoc'rpAlgorithmsinfo Multidimensional
l47l P.-2. Lee, Z. M. Kedem,
SystolicArrays".IEEE Trans.on ParullelDistributed
System,;,
Vol. 1(1):64-76..1an.
1990.
"Pipeline
InterleavedProgramrnable
DSP's".IEEE
[48] E. A. Lee, D. G. Messerschmidt,
Transac'tionson Acoustic's, Speech, und Signal Proc:c,s.sing,
Vtl. ASSP-3-5.No. 9,
p p . 1 3 2 0 -1 3 3 3S, e p t.1 9 8 7 .
"Silicon
SolutionMergesVideo.Stills,andVoice".Elec'tronic'
I)esign,Penton
[49] M. Leonard,
Publication,April 1992.
('CITT
(MCP)VideoMotionCompensation
Processt)r".
[50] t-SILogicCorporation."L64720
WtJeoCompre,ssion
Databook.Order No. | 14000.1551McCarthyBlvd..Milpitas,CIA
9 5 0 3 5S, e p t e m b e1r9 9 1 .
"An
ImageSignalMultiprocessor
on a SingleOhip".IEEE
[51] M. Maruyama,H. Nakahira,
Journalrlf SolidStateCircuirs,Vol. 25.pp. 1476-1483,
Dec. i990.
"Parallel
Array Architecturesfbr motion Estimation".Proc.o.f'the
[52]T. H.-Y. Meng,
InternationalConl'erence
on ApplicationSpec'i.fic
Array Proce.ssors,
Barcelona,Spain.1991
- 90"Application
SpecificDSP at SGS'fhomson".\SCAS ConferenceRet'ortl,
[53] J. Michalina.
p p . 6 2 7 - 6 3 0 ,1 9 8 9 .
"ISDN-Bildtelefon-Codec
auf der GrundlageeinesArray[54] 1l Micke, D. Müller, R. Heiß,
Prozessor-lC".Mikro Elektronik. Nr. 3. S 116-l 19.Nlai/Juni 1991.
"A
300 MOPS
[ 5 5 ] T , M i n a m i . R K a s a i ,H . Y a m a u c h i ,Y . T a s h i r o . 1 . - 1l.ä k a h a s h i ,S . D a t e .
Mdetr Signal Processorwith a ParallelArchitecttve" . I EEE Journulof Solid StuteCirt'uit.:.
Y o l . 2 6 . p p . 1 8 6 1 t - 1 8 7 5D,e c . 1 9 9 1 .
"Ein
adaptivesVerfahren zur Rewegungsvektor-Schätzung".
ktlloquiunt Digitula
[56] P Mohr,
Vicleo,systeme,
Telenorma GmbH, Frankfurt, November t9[J9.
"Partitioning
an Mapping Algorithms int() Fixed Size
[57] D. I. Moldovan, J. A. B. Fortes,
SystolicArrays". IEEETransac'tions
on Computer.Yol.Cl-3-5,No. l. pp. l-12. Jan. 1986.
. EE
[ 5 f f ] D . l . M o l d o v a n . " A D V I S : A S o f t w a r e P a c k a g e f o r t h e D e s i g n oSf y s t o l i c A r r a y s I"E
Transac'tions
on Computer-AidetlDesign,Vol. CIAD-6. No. 1, S.33-40. Januar l9ti7.
"Advances
in PictureCloclins".Pror'.of'thaILEL,.
[59]] H. G. Musmann.P.Pirsch,H. J. Grallert,
V r l . 7 3 , N o . 4 , p p . 5 2 3 - 5 4 f t .A p r i l 1 9 U 5 .
"lnttra/lnter
Mode
[ 6 0 ] E . N a k a s u ,Y . S h i s h i k u i ,H . l m a i z u m i .H . N a k a n i s h i .Y . O h t s u k a ,
Adaptive DCT Coding System of HDTV Signals". Proc. o.f Forth Intarnutional lWtrk,shop
on HDTVand beyond.Torino. Italy, September1991.
"A
Real Time. Software ProgrammableHDTV Signal Processor".C&C
[61]|T Nishitani.
SystemsResearchLaboratories.NEC Kawasaki,Japan, LSPRIT lütrkshop, Parullelsimin
Image Proc'essing,
pp. 7-5-8tt.Bonas,France, 1990
"An
HDTV ProgrammableCodec".C&C SystemsResearch
[62] S. Nogaki, M. Ohta. M. Yano.
f-aboratttries, NEC Corporation, Kawasaki, Kanagawa. Japan. Forth Internationul
lktrkshop on HDTV and beyontl,E,URASIP.Proceedings.Turin, ltaly. Sept. lt)91
und Rec'hnerstrukturen.
Olclenbourg Verlag,
[63] W. Oberschelp, G. Vrssen. Rechnerau.fbuu
M ü n c h e nW i e n , 1 9 9 0 .
Institut
[64] R.-D. Person.Optimierungdesllntwu$s unwendungsspezifi,sc'herArray-Proze,ssoraru.
für Theoretische Nachrichtentechnik und Informationsverarbeitung,Diplomarbeit.
Universitäf Hannover. 1990.
"WSI
Design of DPCM Codecs for Video Signals". Visuul Comntunit'ution
[65] P Pirsch,
Sy,stems.
edited by A. N. Nerravali,B. Prasada,pp.2lb-227, Nov. 1987.
"A
[66] P. Pirsch,H. Jeschke. MIMD multiprocessorsystemfor real-time image processing".
Prot:.sl'$plEllS&T Syntposiunton Electronic'Imaging Scianceand kc'hnology, (]onf. 14-52
Image ProcessingAlgorithms and Techniquesll, San Jos6.Cal, 19()1.
"Vt,Sl
Architectures For Block Matching Algorithms". SPIIi Wtl.
[67] P. Pirsch. T, Komarek,
I00l Wsual Communic'utions
And Image Processing'88,Cambridge. Mass.,pp. tttt2-ltc)1.
Nov. 1988.
"VI-SI
Architectures tor Mdeo Signal Processing".Computer Syste
ms and
[6U] P. Pirsch,
Software EngineeringState-of'-the4rt, eclited by P. Dewilde and J. Vanderwalle. Kluwer
Academic Publishers.Dordrecht, 1992.
[69]] D. A. Pucknell, K. Eshraghian. Basic' VLSFDesigrz. Prentice-Hall of Australia.
Sidney,198U.
_ 9L_
"DigitalHDTV
C o d i n gw i t h M o t i o r rC o m p e n s a t e Idn t e r p o l a t i o n " .
[ 7 0 ] A . P u r i ,B . G . H a s k e l l .
Forth International Workshopon HDTV and Beyonrl,'[orino. Italy, Sept. 1991.
"Regular
lterative Algorithms and their Implemenfation on
[71] S. K. Rao. T, Kailath,
ProcessorArrays". Proceedings
of the IEEE, Vol.76, No.3. pp.259-269. March 1gtttt.
"Standards
ConversionUsing Motion Estimaticln".SignalProt'es.sing.
Vrl. 16.
l72lT Reuter.
S 73-79. ElsevierSciencePublishersB. V (North Holland). 1989.
"Chip
Setfor Motion
[73] Cf. v. Rewentlow,M. Tälmi,M. frrnst,M. Grasse,S. Wolf, L. Stenger,
Estimation based on Phasecorrelationand Blockmatching". Proc. of Forth International
ll4trkshopon HDTV antl beyoncl,hrino, Italy, September 1991.
"A
VLSI for Motion Compensation".Picture (oding
[74) G. Roth, P. Tholin. B. Wir6n,
Symposium,Stockholm, Sweden, 19ti7.
"HDTV
SubbandCodingwith AdaptiveBlock Quantization".Proc..
[75] B. Schmale.U. Pestel.
'Rrrino.
of Fitrth International Work,shop
on HDTVund beyond,
Italy. September 1991.
[76] SGs-Thtlmson Microelectnrnics: STI3220 Motion Estimation Processor.Data Sheet.
.fuly 1990.
"Predictive
CodingBasedon EfficientMotion Bstimation".Links
[77] R. Srinivasan,K. R. Rao.
the
Future,
Scienc'e
Systems
&
Services
for
for Communic'utions,P. Dewilde, C. A. May,
S. -521-526,IEEE/Elsevier SciencePublishersB. V. (North Hollancl).19tt4.
"A
FlexibleVl-Sl ArchitectureFor Full-SearchBlock-Matching[78] M.-T, Sun, K.-M. Yang.
Algorithm Motion Vectur Estimation".Proc.of ISCAS 1989.S. 179-182,19U9.
"A
, I IiEI.: 1991
[79] S. Surtadja,B. Martin, H. Rainnie,C.-S. Wang, -50MHz Vision Processor"
Custom IntegratedCircuits ConJ'erence.
pp. 12.3.1-12.3.3.1991.
-tamitani,
M. Ohta, Y. Ooi, A. Yoshida.M. Nomura, H. KOyama. T Nishirani."An
[80] I.
Encoder/Decoder Chip Set fbr the M PEG Video Standard". IEEE ICASSP-92.(lS-Press.
Los Alamitos. Calif.. 1992.
"On
The Design Ot PiecewiseRegular ProcessorArrays". Cont''erence
Rec'ord
[81] L. l'hiele.
ISCAS 1989.Portland,Oregon. 1989.
"Motion
CompensatingInterpolationConsicleringCovereclancJ
[82] R. Thoma, M. Bierling.
Uncovered Background". SignalProc'essing.
Image ('omunication,Y<tl.1, No. 2. E,lsevier.
Amsterdam,pp. 191-212, Oct. 19f19.
[83] G. A. Thomas, B. A. Hons. klevision Motion Measurementfor DATV' unrJ other
Applic:atiorzs.
BBC ResearchDepartment Report BBC RD 1987111EngeneeringDivision,
The British BroadcastingCorporation,Septemberl9ll7.
"Parameterizable
V|Sl-Architecture tirr the Full-SearchBlock[84] L. de Vrs, M. Stegherr.
Matching Algorithm". IEEE Transuction,s
on Circuit,sund Systems.Vol. 36. Nr. 10.
S . 1 3 0 9 - 1 3 1 6O
, kt. 19U9.
"VtSl-Architectures
fbr the Hierarchical Block-Matching Algorithm for
[85] L. de Vos,
HDTV applications". SPIE Vol. 1360 Wsual (lommunications and Image Proca,s,sirtg,
S. 39U-409.Lausanne.Switzerland.Okt. 1990.
- 92"Architecture
for a programmablereal tirne processorfol digital
[tt6] T Wehberg,H. Volkers,
video signals adapted to motion estimation algorithms", SPIE Wtl. I00l Visuul
('ommunir:ationsund Image Proc'essing'88.Cambridge. Mass.,pp. 90tt-916. Nov. l9ti8
"A
Rrmily VLSI Designsfor the Motion (iompensation
[87] K.-M. Yang, M.-T Sun, L. Wu,
Block-Matching Algorithm". IEEE Transuctions
on Circuitsantl S'y,rtern.r.
Vrl. 36, No. 10,
p p . 1 3 1 7 - 1 3 2 5O
, ct. 1989.
"Architecture
and lmplementationof a
[8t]] H. Yamauchi,Y. Täshiro.T, Minami. Y. Suzuki,
Highly Parallel Single-Chip Mdeo DSP". IEEE Tran,tctction,s
l:br
on Circ'uitsantl Sy,stents
Wdeo kc'hnologt, Vol. 2(2):207-220, June 1992.
_ 93_
Anhänge
A Parameterausgewählter
Displacementschätzverfahren
Hierarchiestufe
maximalesDisplacement
+tJ
Schrittweite
4
Bkrckgröße
M i ttelwerttiefpaßfenster
Unterabtastung
I6 x 1 6
4x4
+ 4
+ 2
2
I
1 6 xl 6
16x16
2f,.
1t2
1t4
Tabelle22: Hierarchisches
f)isplacementschlitzverfähren
mit drei Stul'en(Ivp t)nach de Vts
und Stegherr[85],in jeder Stuf-e
vollständige
Suche
H ierarchiestuf'e
maximalesDisplacement
Blockgrüße
Stützpunktabstand
M i ttelwerttiefpaßfenster
Unterabtastung
L 7
r 3
64x64
ti
28Y28
4
5x5
lt4
-5x-5
1t4
r l
12x12
2
3x3
1t2
Thbelle 23: Hierarchisches Displacementschätzverfahrenmit drei Stufen (Typ 2a) nach
Bierling [9], in jeder StufeBMA auf der Basisdes krg(Dfstep search
Hierarchiestufe
maximalesDisplacement
Blockgri)ße
Stützpunktabstand
Mi tteIwerttietpaßt'enste
r
Unterabtastuns
+ 1
64x64
)z
5x5
l/8
r 3
16x16
16
.lx3
U2
Tabelle 24: Hierarch_$9h.es.
Displacementschät:nrerfahren
mit ;z.weiStulen (1,vp 2b) nach
Bierling [9], in jeder Stut'eBMA auf der Basis des l.g(Dlstep seär'ch
- 94-
Suchschritt
+10
+ 5
2
16x16
k. A.
lt2
1
l6xl6
k.A
maximalesDisplacement
Schrittweite
Blockgrüße
Mitte lwerttiefpaßfenster
Unterabtastung
Thbelle252 Zweistufiges
ixis-sezrrch
auf der BasisdesBMA rnit vollständiger
Suche('fyp 3)
nach Hienerwadelt2(ll(k.A. : keineAngaben)
Suchschritt
maximalesDisplacement
+ 4
Schrittweite
*
Blockgröße
16x16
5x5
M i tte Iwertti efpaßf'en ster
Unterabtastung
1t4
+ 2
2
16x16
r 1
1
16x16
3)L3
U2
Thbelle26: Hierarchische
Dreischrittsuche
auf der Basisdeslog(Dfstep search(.Iyp4) nach
Gerkenund Amor [23]
Suchschritt
maximalesDisplacement
Blockgröße
Stützpunktabstand
+.4
+ 2
* 1
32ß2
16
16x16
16
16x16
l6
Thbelle27: IntegralProjectionMatchingOvp 5) nachcain und sauerIl0l
- 9:t,
B Parameter der wichtigsten Videosignalformate
Die Parallelität von Architekturen für Displacementschätzvertähren
richtet sich sowohl nach
der Anzahl der durchzuführendenOperationenpro Bildpunkt als auch nach der Signaltaktperiode Tp (4.1). In diesemAnhang sind die Signaltaktperioden
der wichtigstenVideosignalformate zusammengestellt.
Das grundlegendeFormat für Arbeiten mit digitalisiertenVideosignalenist von der (ICIR Study
Group XI als CCIR Recommendation601 herausgegeben
worden [12]. Hierauf beruhendie
Fttrmate.bei denen von den Standardisierungen
der Decoder von Bildübertragungssystemen
ausgegangen
wurde (Täbelle2tt).Die CCI'l-'fStudyGroup XV gingbei ihrer Ernpf'ehlun
gH.26l
vom Common SourceInput Format (CSIF) [12] und die MPEG beiihrem Standardvom Source
Input Format (SlF) aus [33]. Die Formate von HDTV-Signalen sind wegen der nicht abgeschkrssenen
Standardisierungen
noch nicht f'estgelegt[2a]. Bei den CISIFund SIF-Formaten
werden Bilder mit einem Hohen-zu-Seiten-Verhältnisvon 3:4 dargestellt.wohingegenbei
HDTv-Signalen ein Höhen*zu-Seiten*Verhältnisvon 9:16 vorgesehenist. Durch Verdopplung der Anzahl der AbtastwertedesCICIIR-TV-signalsund der Multiplikation der Zeilenzahl
mit3l4' 1619:413 ergibt sichdasFormat desHDTV-signals in Täbelle2fl.welchesmit der BezeichnungEureka 256 tür eine digitalc Übcrtragungin cler Diskussionist [-51.
Typ
CSIF
fi,lHzl
30
Pt. x PP
4,[nsl
32U.8
8w;685
#Sil:e
SIF_525
385.f1
,,,F,
3{i
HDTV
96,*5
z5
Thbelle28: Bildlogefrequenzf',Abtastrasterfür das Luminanzsignal
(1.:)uncldas (lhrominanzsignal
Punkte
in
Signaltalitperiode
7n nach(4.1)für
(9,).(lrr
1t1.Zell.en).und
eineAuswahlder wichtigstenM cleos
ignalformale
Die Einträge in Tabelle2tl beziehensich auf das Abtastrasterdes sichtbaren'lbils der flilcjer.
Der Vtrllständigkeithalber sindhier auchdie ParameterdesAbtastrasters
für die Komponenten
des Chrominanzsignalsaufgeführt.Für eine Bewertungdes Implementierungsaufwancles
genügt es hier. zwischen drei Klassen von Mdeosignalformatenzu unterscheiden.Entsprechend (4.1) sind für ClF-Bildteletonsignale (CSIF, SIF) ungetähr 71,:390 ns. für
F e r n s e h s i g n a l(eC C I R - T V ) T p : 9 7 n s u n c lt ü r ' H D T V * S i g n a l e n u r T r : 1 $ n s p r 6 R i l d p u n k t
erforderlich.
-
9(t-
C Schaltungsaufwand
Eine Aufuandsabschätzungfürdie Architekturen erfblgt zweckmäßigerweise
anhandvon BeispielenbereitsbekannterSchaltungen.Hierbei wird davonausgegangen,
dal] eine Architektur
für die Diplacementschätzung
auseinzelnenModulen besteht,die über Leitungenmiteinander
verbundensind. Diese Module sind in erster Linie die Processing-Blemente.
lokale Speicher
sowiedie Speicheradressierung
und die Steuerung.Der Schaltungsaufwand
der Module richtet
sich nach der Transistoranzahlder losischen Gatter sowie der Verclrahtunszwischenden
Gattern.
Die Tiansistoranzahltür die einzelnen Gatter kann Standardzellbibliothekenwie der
ECPDl0-Bibliothek [18] von EuropeanSilicon Structures(ES2) (l pm-Prozeß)entnommen
werden.Abschätzungenergaben.daß mit dem Prozeßparameter
2}"alskleinsteStrukturabmessungbei der ECPD l0-Bibliothek von ES2eineTiansistorfunktion
zwischen400\2< t'.7< -500\2
Flächeerfordert.Mit der Annahme.daß eine Strukturverkleinerung
in der Folgeder technologischenWeiterentwicklungdiese Zahlen nur unwesentlichbeeinflußt.ergibt sich die Schaltungsflächein mm2,wenn die kleinsteStrukturabmessung
LM in pm unclclieSchaltungsfläche
in \2 oder clieTiansistoranzahlnt bekannt ist:
: AI 2] t'U!I?' ' 10-6
: nt-Frl21
Almm2l
ry.
10-6
(c'l)
Unter der Annahme,daß die Signalverarbeitung
wird. richtetsichclie
bit-parallelausgeführt
Gatteranzahlin
denModulennachcJen
Wortbreiten
derDaten.BeieinemDisplacementschätzverfahrenauf der Grundlagedes Blockmatchings
entscheidet
neben der Wortbreitepro
Abtastwertäin bit unteranderemauchdie AnzahlSUM der Summanden
bei der Additionder
DifTerenzbeträge
zu der Distortion-Function(2.1I ) und die Anzahl(2' p + I )2der Kandidatenbliickein einemSuchbereich
überdieWortbreiten.
Die Summen
der Difl'erenzbeträse
undauch
dasResultatder Distortion-Function
werdenmit
bpd(SUM.b):
,')f
Ir,,gr(suM
: b + ll<tg2SUMl
(c.l)
bit und die Displacementvektorkomponenten
mit
b p r l ( 1 Q+' p D \ :
+ \ 2 1 : 2 ' f t t - t s z Q ' p+ 1 \ 1
[log2(2'p
(c.3)
bit dargestellt.
Als Grundlageder Diskussionüber algorithmusspezif,sche
Architekturenclienendie Blocks c h a l t b i l d e r d e r P E s A D i n Bl 6
i lu
d n d M S i n B i l dl T . A b w e i c h e n d v o n d e r E C P D l O - B i b l i o t h e k
wurdenin Täbelle29 und30 für die Register
pro Bit angenommen,
8 Transistclren
da dieseZahl
eherzu den für einemFull-Custom-Entwurf
vergleichbaren
Flächenabschätzungen
führt.
Bei der Verwendung
ist der BeitragdesEXOR-Gattersin'l?rdesMAE-Vergleichskriteriums
belle29 durch den eines Multipliziererszu ersetzen.Nach der ECPD1O-Bibliothek
von
gmr. Mit
ES2 [1t3]erfordertbeispielsweise
ein 8x8bit-Multiplizierer
eineFlächevon ,s59.300
400\2 Fläche pro Tiansistorfbnktionträgt entsprechend(C.1) dieser Multiplizierer
5.600Thansistoren
zu der Bilanzin Täbelle29 bei.
Für die PEs AD, A und MS der Array-Architekturen ergeben sich mit den Einträgen von
Tabelle29 und 30 die Tiansistoranzahlen
entsprechendden folgendendrei Glcichungen:
tltAD : tt + 84 'b + 32 'log2 SUM.aP
(c.4)
rltA:32'lb + log2SUMa)
n t M S: 3 6' (, * l o g 2 S U Mu sj+ 2 4' log2Q
Für den Vergleich und die Bewertung der Basistypender Arrays QN. QQ, NN. N in
Kapitel 6.3 wird hier SLlMaD:N2 verwendet,wenn die Arrays keine PEs A enthaltcn.In allen
übrigen Fällen ist SIJMal.r:N und SLIMA:N2.
Gattertypen
'fransistoranzah
pro Gatter
Subtraktion
Inverter
* Addierer
* Register
2
22
u
b +|
E,XOR
* Register
12
t)
fi
b
Addierer
* 2 setzb.Register
22
10
Komplementierung
Akkumulation
bit pro
Datunr
t)
b
t
b *l<tg2 SU M.qp
b * l<tg2SU Map
Thbelle29: Tiansistoranzahlen
für die Gatter des Moduls AD (Bild 16)
Gatterrypen
Tiansistoranzahl
Gatter
Vergleich
Inverter
* Addierer
* Register
f 2 :1 -Multiplexer
2
22
8
A
T
Selektionder
Register
Vektorkomponenten * 2 :1 -Multiplexer
bit pr o
Datum
b -rlog2 SUM*r.s
b *log2 SUM145
b -llog2 SUMy5
b *1og2 SUMus
Z log2 Q
2 log2 Q
Thbelle30: Tiansistoranzahlen
für dic Gatter desModulsMS (flild 17)
Setz- und rücksetzbare Zähler lassen sich zur Adressierungvon Speicher-Arrays und zur
Steuerung von Array-Architekturen verwenden. Ein Zl\hler auf der Basis von kaskadicrten
'f-Flip-Flops
und einem parallelen Carry besteht in CMos-Technologie pro bit aus
26'fransistorenund einem NAND-Gatter. dessenEingangsanzahl
sich nach der Wertigkeit i
der jeweiligenStellerichtet.Ein setzbarermod(z)-Zählerals einfachsteZählerstrukturbesteht
aus
t7t7: 26' llog2zl +
fkrg2zl
; -
(('.-s
)
I
Tiansistoren[ 17].Die Tiansistoranzahlen
in Täbelle31 zeigen,daßdie Transistoranzahl
bei gnrßen Zählbereichengegenüberder einzelnerPEs nach (C.4) nicht mehr vernachlässigbar
ist.
- gfi-
16
trti
54
3L
64
,,,,,,::;,,,;,;,;,1,.L(j
li:s0 rrt6
128
256
512 1024 2048 4{)96
' ,3ü6 35ü ' 3q6
22,4,,,' ,,,264
4:44
Tabelle 3l: Anzahl nt7 der Tiansistorenvon sertzbaren
mod(z)-Zählern nach ((1.5)
Der Schaltungsaufuand
der Speicherrichtetsichnachder Speicherkapazität.
Ein quasistatischesRegisterin CMOS-Technologie
bestehtausmindestens
pro bit; in NMOS[J'fransistoren
Technologie
sindes6 Tiansistoren
pro bit [69].Speicher-Arrays
dagegen
bieteneinekompaktere Realisierung
bei großenKapazitäten.
Hier werdeneinzelneZellen über ein Systemvon
orthogonalgeführtenl-eitungen(7.etlen,Spalten)direkt adressiert.
Es gibt Zellry.pen
mit aus
sechs,drei oder einemTiansistor.
WährendeineSechstransistorzelle
eineFlächevon 1750\2
pro bit benötigt,sindes bei einerDreitransistorzelle
bzw.bei einerEintransistrtrzelle
500 \2
und200\2 pro bit [69].Für die Aufwanclsabschätzungen
hierwirclbei einemSingle-Port-SperchervonsechsundbeieinemDual-Port-speicher
pro Zelleausgegangen.
vonachtThansistoren
- 9()
D Anzahl von Svstemtaktenzum Schreibenund
Speicherkapazität von lokalen Speichern
Die Anzahl der Systemtaktezum Schreiben eines lokalen Speichersder Architektur für
Displacementschätzvertähren
bestimmt die Zugriff-sratezum Lesen weiterer Speicher,die auch
für das übrige signalverarbeitende
Systemzugreifbarsein müssen.In so einer hierarchischen
Speicheranordnungrichtet sich die Anzahl der Systemtaktezum Lesen nach den Anfclrderung e n d e r j e w e i l su n t e r g e o r d n e t e S
n p e i c h e ro d e r n a c h d e m s i g n a l v e r a r b e i t e n d e n ' l bli-l .o k a l e
Speichermüssenweniger oft geschriebenwerden,sofernder lnhalt über eine lange Folgevon
LesezugrifTen
verwertbarist. Bei zu kleinen lokalen Speichernbestehtdann allerdingsdie Gef'ahr,daß sie wiederholt mit neuen Daten geschriebenwerden rnüssen.Damit einher geht eine
hohe Datenzugriffsratezum Lesender übergeordnetenSpeicher.Griißere lokale Speicherdagegenerfordern einen höherenSchaltungsaufwand
als kleinere.I-etztendlichist beim E,ntwurf
von Architekturen für Displacementschätzvertahren
ein zufriedenstellender
Kompromiß zwischenausreichenderSpeicherkapazitätund zulässigerDatenzugrifl.srate
zu finden. E,inZusammenhang zwischender Speicherkapazitätund der Anzahl der Systemtaktezum Schreibensoll
hier an einem Modell hergeleitetwerden.
Bei Displacementschätzverfähren
auf der GrundlagedesBlockmatchings
ergibtsichein Zugritt
auf eine systematische
Folge von einanderüberlappendenDatenf'enstern.
Als Beispieleseien
die Folgevon Kandidatenbliickenin einer Kandidatenblockzeile
oder die Folgevon Suchbereichen in einer Blockzeile genannt.Bei Filteroperationenerfolgt der Zugritf auf die Daten eines
Filterf'ensters
und für das nächsteResultatauf ein gegenüberdem erstenFilterfensterverschobenemFenster.In diesenFällenbestehteinegleichmäßige
vorhersagbare
schrittweise
Verschiebung zwischenden Datenfenstern.Diesesist die Grundlagefür die nun folgendeÜberlegung.
Es wird angenommen,
daßsichdie Datenim Speicherdem Bildpunktraster
zuordnenl as s en.
Der Speicherenthältein rechteckiges
Datent'enster
für B, By Bildpunkte.Mit bpd b i t p r o
Datumhat der Speicherdie Kapazität
CM : bpd' 8.,' B,
(D.l)
Bevorder Speichergelesenwerdenkann,ist eserforderlich,
ihn mit den Datenzu schreiben.
Die Anzahl der Systemtakte
zum Schreibendes Speichers
verhältsichproportionalzu cler
Speicherkapazität.
Mit bpc bit pro Täkt wercjenzum Schreiben
c', =
(rM
Dp(:
(D.l)
Systemtakte
benötigt.DasUngleichheitszeichen
in (D.2)drücktaus,daf.lnur im ungünstigsten
Fallder gesamteSpeicherneuzu schreiben
ist.Solltensichaberim Speichelschonvor Beginn
desSchreibens
verwertbare
Datenbefinden,
ist esmäglich,dieAnzahlderTäktezumschreiben
zu vermindern.So ein Fall tritt beispielsweise
auf,wennverschiedene
Datenfenster
in t3ezug
auf dasBildpunktraster
einanderüberlappen.
Zur Bewertung
desSchreibzugriff'es
sollauchhierwiebeimsignalverarbeitenden
TeilderMultiprozessor-und Array-Architekturendie Anzahlder Systemtakte
pro Bildpunktverwendetwerden.Als Bezugeignetsichhier die GrößeeinesBildsegmentes
ausSP" SPl,Punkten.Bei der
-100-
von Mdeosignalen
auf der (irundlageeiner Kombinationvon prädiktiver
Quellencodierung
Cttderierung
mit Transformationscodierung
und auchbei anderenweiterenblockorientierten
Algorithmender Mdeosignalverarbeitung
gleichmätlig
ist ein tlild im allgemeinen
segmentiert.
Für jedesdieserSegmente
wiederholen
sichdanndie gleichenOperationen
Mit
(D.2)be[34].
trägt die Anzahlder Systemtakte
pro Bilclpunkt:
cPPtv .-
Br' B),
bptl
bpc sP_,.s'Py
(D.3)
Das hier betrachteteModell beruht auf der Annahme.daß für eine bestimmteOperationenfolge immer auf ein Fenstervon B.' By Daten im lokalen Speicherzugegriffenwerden muß. Beim
ersten Durchgangsind alle Dafen für ein Fenstel'äusB,xB' Daten neu in den Speicherzu schreiben. Jedes weitere Datenf'ensterist gegenüberdem vorangegangenen
um rJieselbe Anzahl
von S'r Bildpunktenverschoben.Wenn beispielsweise
zueinanderjeweils um
Q, Datenf'enster
5I, Rasterpunktein x-Richtung verschclbensind, ergeben sich tür das erste Datenfenster
nach (D.2) bpdlbpc Br By und für jedesweiterebpdlbpc Sl'"'8, Schreibtakte.Die resultierende Anzahl der Systemtaktepro Zeile beträgtdann nach (D.3)
('PPLWinee,:
bpcl. q,'@, + sr,.lQ,- l))
bp.
sP.,.sPr
( D .4)
Beim Blockmatchingmit der vollständigenSucheentsprichtdieseVerschiebungdem Disptacement in einer Folge von Kandidatenbliickenentlangeiner Kandidatenblockzeile.
Dieseswiederholt sich mit der fblgenden Kandidatenblockzeilemit einem gleichartigenVrrwärtslauf
(l-ine-Scan).Der Schreibzugrifferfblgt dann pro Suchbereichmit Q Durchläufen
: Q),'('PPwtinee,
:
cPPwine
#'
Q r ,B' r . ( & + S L . ( O , - 1 ) )
s&.sPy
(D.s)
Bei einem sogenanntenMeander-ScandagegenwechselnVrrwärtslaufunclRückwärtslaufeinander ab (Bild 36). Mit Q, Kandidatenblockzeilen
und Q. Blöcken pro Kandidatenblockzeile
beni)tigtim Gegensatz,
zu (D.5) das Meander-Scannur
cPPlY,nea: cPPwince, t
bpd . (Ol- 1)' srr,' (8, + s7"' (O.- 1))
bpc:
s'P"r.s'P,
- ).)( & + s L . ( a bpct.(8, + S7r, ( 0 , , 1
bw
1))
(D.6)
sP_r..sP,
. cppwtirr.
Systemtakte.
FüralleSt < B, giltCpptynrca
DasMeander-Scan
istdannim Sinlteines
möglichstgeringenSchreibzugritl.s
attraktiverals dasLine-Scan.
DasSchemadesLine- oder Meander-Scans
kannsichbeimBlockmatching
in einerFolgevon
:
jedes
Kandidatenblöcken
für
Bildsegment
ausSP..,S'Py N2Bildpunkten
wiecjerholen.
Ein dem
Line-Scanvergleichbares
istauchbeimBlockmatching
Schema
in der Folgev<lnSuchbereichen
oder bei der Tiefpaßfilterung
in der Folgevon Filtert'enstern
irn Bild denkbar(Kapitel3.3.1).
Flierentsprichtdie Segmentgrtiße
der Anzahlder Abtastwerte
einesBildes:SPl.'SPl,:[)t,'pp.
l { ) l-
b)
sq
Bild 36: Line_-Scan
(a) und Meander-Scan
(b) in einerFolgevtxrBkrckzeilen,
die grauunterlegten Bereichesind bei einerVerschiebung
gegenüber
dem Vorgängerblrrck
neu in deJr
Speicherzu schreiben
Alternativzu den Speichern
für einzelneDatenf'enster
sindnatürlichauchSpeicherfür Zerlen
vonDatent'enstern
denkbar.Demnachkommenfür dasBlclckmatching
nebenBlock-unclSuchbereichspeicher
auchBlockzeilenspeicher
undSuchbereichszeilenspeicher
in Frage.f)iesevier
trällewerdennun genauerdiskutiert.
Ein Blockspeicher
enthältdieDatenvonM Bildpunkten
uncJ
hatnach(D.1)eineKapazität
von
CM:N2 bpd. Mit clerAnnahme,claßzueinanderbenachbarte
Kandiclatenbliicke
um einen
B i l d p u n kzt u e i n a n d eve
r rsch o b esin n d.istin ( D.5)und( D.6)S4,:,SI*: I einzusetzen
E s. gi bt
Ka
n
d
i
d
a
te
n
b
l
ö
cke
pr
:Q
i
n
e
i
n
e
r
S
uchber
eichszeile
und
Kandidatenblockz eiilm
en
Qr:Q
Suchbereich.
Die Anzahl der Systemtakte
pro Bildpunktergebensich nach (D.5) für ein
Line-Scan:
:,rr,ri,," :
cppwin,(Nr)
#
=Nr
(n . #)rsp..!.p,
(D.7)
und nach (D.6) für ein Meander-Scan:
:
cppw,,,,,,(Nt)
r ., * .
#)
# (
lsP*'sP"=1,7:
(D.ri)
E i n B l t r c k z e i l e n s p e i c h eh ra t n a c h ( D . 1 ) d i e K a p a z i t ä t C M : N . ( N + Q - D . b p d .
Eine dem
Meander-Scanähnlichehin- und rücklaut'ende
Verschiebungeiner Blockzeileim Suchbereich
ist natürlich nicht möglich (Bild 37). Mit S7": 1 ergibt sich nach (D.5) für die Anzahlder Systemtaktepro Bildpunkt:
li +
c P P r v t i , , ('((N
Q-1)):
# ( 1+ z* . # ) l.r'r',..sP,:Nt
(D.e)
-t)z-
Bild 37: Zuordnung von inveiauf'einanderfirlgenden
Blcrckzeilen,
der dunkelgrauunterlegteBereich ist bci einer Vcrschiebunggcglnüberder Vrrgängerbkrkzcil-e
ncu irr derl Spcicher zu schreiben
Die Gleichungen(D.8) und (D.9) haben identischeErgebnisse.Das SchreibeneinesBlockzeilenspeicherserfordert ungefähr demnachgleich viel Systemtaktepro Bildpunkt wie das Schreiben eines Blockspeichersmit Meander-Scan.
Ein Suchbereichsspeicher
hat eine Kapazitätvon CM : (N+ O- t)2. bpd.Mit der Annahme.ciaß
das Blockmatching tür.\irN-Blöcke durchgeführtwird, beträgt beim Suchbereichsspeicher
clie
Schrittweitefür die Verschiebungder Suchbereicheim Bild N Punkte.In (D.5) und (D.6) sincJ
entsprechenddieserVerschiebung5 Z, : ST),:N einzusetzen.Die Anzahlender Suchbereiche
pplN' undp1"lNr,die in (D.5) und (D.6) an der Stellefür Q, und
Q, einzusetzensind.verhalren
sich allerdingswegen des rechteckigenAbtastrastersder Bilder unterschiecJlich
zueinancler
(Täbelfe 28 in Anhang B). MitpllN Suchbereichen
in einerZeile undpilN ZetlenvonSuchbereichen ergibt sich bei einer Normierung auf pp'pr,:pi'pi bei einer Verschiebung cler
Suchbereicheentlang einer Folge von Suchbereichszeilen
nach (D.5) für ein Line-Scan
cpptvtirrc((N
+ e-\t)
: y ! . = ,' pri ,' p . i . ( r / +
e_1).
+ Q- 1 + rV
=bpd.N+Q-1
bpc
N
H( ' * #
('
hpc N
lp;p,>(N+Q-Dt:
und für Meander-Scan
nach(D.6):
( ' p p wt ,. ^u c+aN\ -( e-t )at\ )
bptl
I
( D .r 0 )
fi;ll
t,^'t
+p) (O_t+pi):ffi lq,*,,,
,-_ t,,t,.re_t
(D.lt)
Aus Gründender Vereintächung
wird hier nichtberücksichtigt,
dat}am BildrandkeineDaren
für denüberdenBildrandhinausragenden
TbilciesSuchbereiches
verfügbarsind,da dieserAnteil im Verhältniszu der Anzahlder Abtastwerte
einesBildesvergleichsweise
klein ist.
Ein Suchbereichszeilenspeicher
hat die KapazitatCM : (N + O- l). pi . bpd.ReieinemSpeicher
für alle Suchbereiche
entlangden Bildzeilenentsprichtist1lj:ppl bei einemSpeicher
für eine
-r03,
Spaltealler Suchbereicheuntereinanderistpi :p1,.Fine dem Meander-Scanähnlichehin- und
rücklauf'endeVerschiebungeinesSuchbereichszeilensegmentes
im Bild ist wie beim Blockzeilenspeicherauch hier nicht möglich. Die Anzahl der Systerntaktepro Bildpunkt beträgr
nach (D.-5):
c p p w i n , l+
( Qt \ / - t ) ' p i ): y . o ' '
bp,
(Q-1 + p) : !!'l
l,tor,,
pi' pi
bpc
(D.12)
Beim Suchbereichszeilenspeicher
gibt es für c'ppyy1i,,.
keinen nennenswertenUnterschiedin den
beiden Fällen,wenn der Speicherfür eine Zeile cldereine Spaltevon Suchbereichen
ausgelegt
wird.
In Täbelle 32 sind die auf die Anzahl der bit pro Datum bptl bezogenenenSpeicherkapazitäten
CMlbpd und die Anzahl der Schreibtaktepro Bildpunkt cppw'bpclbpdnach (D.7) bis (D.12) für
die vier hier diskutiertenSpeicher[penals Funktionder Blockgri)ßeN tür Q:2. N, Q : N, unci
in einer Blockzeilezusammengestellt.
Hierbei ergibtsichQ ausdem
Q: N12Kandidatenblcicke
m a x i m a l e nD i s p l a c e m e npt e n t s p r e c h e n Q
d : 2 . p + 7 : 2 . p . H i e r a u f b e r u h td i e D a r s t e l l u n g
der Anzahlen von Schreibtaktenpro Bildpunkt über den Speicherkapazitäten
in Bilcl 3tt für
16x16-Blöcke.
Q : 2' N
:::':':::
:
'
Rfockspbiche,f ,,,' t'M lbpd
cppwti,te'
bpclbpd
:
'::j'::':
::': j':::::]
Q : N
Q: NlZ
''::
CppW,nca'bpc'/bpd
ß1,ü13kiii't'in#i'äk4t"'''
cMI bpd
cppwitrc' bpclbpd
Suchbere,ichsspeithe,r
{'Mlbpd
cpptvtitte'
bpclbpt
cppwm,'' bpclbpd
'su*ffi.,u*'iürtsü11b"..,.'
{'M /bpd
speicher ,,,,,'' :'
cpptni,ta'bpc/bpd
7,,12
6'N
9
v,12
2'N
:.1v2-,lr
9
z.N2-N
: 9 ' N z- 6 . N
:4'N2-4'N
a
-)
A
a
4
2
I
: 3'N'pj
1
=2.N.pj
1
1u'2
s l 4 'N
13l4
3 1 2 'N 2- N
1 ?l 4
: 9 1 4' N 2- 3 ' 1 v
l I a
a /
1
:312'N'pi
1
Täbelle32: Auf die Anzahl der bit pro Datum bpdbezogenene
Speicherkapazitiiten
C'Mlbptt
und Anzahlder Schreibtakte
pro Bildpunktipptv' ltli'lbpd für eineAuswahlvon
vier Speichg.rffpen
Bilclpunkt1qt 0=2'N.Q=N und Q:N12 (1 wahlweise
odcr Bildzeilenanzahl)
Suchbereichsspeicher
kommen im Vergleichzu Bkrckspeichern
mit wesentlichwenigerSchreibtakten pro Bildpunkt aus: sie sind aber auch größer.Deshalb sind Suchbereichs-ocler auch
Suchbereichszeilenspeicher
als Hauptspeicherfür die gemeinsameNutzung durch parallele
signalverarbeitende
Einheiten interessant.Die KapazitätdieserSpeicherbeträgt in dem Beispielvon Bild 38 das 32-fäche der einesBlockspeichers.
Hiermit ergibt sichaber auch ein enrsprechendhoher Schaltungsaufwand.
Blockzeilen-oder Suchbereichsspeicher
stelleneinengu-
* 1 0 4-
ten Kompromiß zwischen Schaltungsaufwandund Schreibzugriffdar. Blockspeichereigenen
sich wegen ihrer vergleichsweisen
kleinen Kapazitätals lokale Speicherbei den parallelensignalverarbeitenden
Einheiten.Die lokalen Blockspeicherkijnnen dann beispielsrveise
mit den
Inhalten aus übergeordnetenSuchbereichsspeichern
oder Suchbereichszeilenspeichern
geschriebenwerden.
bpc'
t'PPr,v'
iDpa
Q:32
Ot
I
Q: : I1 6
A
B l o c k rs o e i c h e r
g:8
"'\
.':i:\
i ,,\
o
l- ine- ssan
ä
ö:. , ' \ \
o
Meander-Scan
j \
T'\ \
\.ut.,.uzeirenspeicher
I''\
?+-"-*,,,,,,,
.i..,...,,\
\
;:::::
: \\
\
.'.\
.i.r......:
\\ , ,',., ,i, ,.. ,., :il :i:, :,', i: :. ; ' :\\ '
," ,'\ , ," " " '
r-i{
,
\
\.
Suchber eichsspeicher
- : : : ....
:,,i:,,i1',',,.,,..ffi.........,.....
\^,,,,=,,,,,,,,,,,
. . . . . . . r t r : .i.:: * . :
\
,,,,,.,..'::l:,,,,,'
.'i.'jlli,lji...ll.l..\
\.".,,.'.,,.,.,.,.
::::l, ,'-\
.'ffilir ,:::,,,
'b'.,i.''.:l.:.:.:..
',;
-\
,i,;.;,.::',.'..'}*.*,...ü.,',,',,,...,,..,:.'
,,',' .. ,i,}
T*{i1,,,t.,,,,,.
,,,,,::
t"i3l.tJ:i.-.-fft'
rLrril
\-
('M
.
Dpd
Bifd 38: Auf die bit pro Datum bpd normierteAnzahlvon Schrcibtakten
q)pw pro tsilclpunkt
überder auf die bit bpd pro Datum normierteSpeicherkap
azitätCM für die ALr.swahl
von Speichern
ausTäbelle32 für N:16, pi:352 und drei unterschieclliche
Anzahlen
von Kandidatenblöcken
in einerBlockzeileQ (bpc- Anzahlder in clieSpeichergeschriebencn
bit pro Systemtakt)
, t { ) 5-
E Kapazität der Speicherin einer Multiprozessorarchitektur
In diesemAnhangsolldie Kapazitätderhierarchischen
Speicheranordnung
in der Multiprozesstrrarchitektur
abgeschätzt
werden.FürdenProgrammablauf
undDatentransfer
sindzweiAlternativenbesonders
geeignet,die in Kapitel5.3 beschrieben
sind.
In einer Architekturmit kleinenlokalenSpeichern
in den P[:swerdendie Datennachdenr
Overlap-Save-Schema
in Bild 19überdenBustransferiert.
Die kleinenlokalenSpeicher
in den
PEsgewähren
einenZugrift aufdie DatenBS2einesSuchbereiches
unddieBR2einesRef'erenzblockes.In jedemPE befindetsichbeibpdbit pro Datumein lokalerSingle-Port-Speicher
mit
der Kapazität
(.M n' : bpcl' (BS" + BRz)
(E.1)
Bei einerDual-Prtrt-Struktur
sindje ein gleichgroßerSchreib- und Lesebereicherforderlich.
Hierdurchverdoppeltsichdie Kapazitätv o n ( E . 1 ) .
Ein Dual-Port-Segmentzeilenspeicherdagegen enthält die Daten ganzet tlildzeilen aus pp
Punkten. In einer Folge von Segmentzeilenverschiebtsich das Displacementschätzverfahren
bezüglichdes Bildpunktrastersum N ZeiIen, so daß jeweilspp. N Daten aus dem Such- uncl
Ref'erenzbild
zu schreibensind.Der Lesebereichbestehtfür die Suchbereichsdaten
ausBJ uncl
für die Ref'erenzblockdatenaus BR Zellen. Der Dual-Port-Segmentzeilenspeicherhat clamit
eine Kapazitätvon
('M,srr;: bpct'pp'(BS
+ BR + 2'N)
(E.2)
Im Segmentzeilenspeicher
sind die Daten so wie die der Suchbereiche
und Ref'erenzbliicke
im
Abtastrasterdes Bildes angeordnet.Somit sind in den lokalen Single-Port-speichernuncJim
Segmentzeilenspeicher
einzelneDaten teilweisemehrfachgespeichert.
Um den Schaltungsaut'wand für die Speicherzu verminclern,ist es möglich,den Segmentzeilenspeicher
in np1,gleich
große lokale Speicherauf2uspaltenund die Teileals grrißerelokale Speicherin c1enPEs clirekt
einzusetzen.
Jederdiesergroßenlokalen Speicherenthältdie Daten von BS2+ N . 85' . (nv- I ) Suchbilclciaren
und BR2+N'BÄ'(nv-l)
Referenzblockclaten.
nv entsprichtder Anzahl der Segmenteausje
Sf2 nildpunkten, für welchein einem Processing-Element
clieOperationenausgeführtwerclen
(vgl. Bild 14).WegendesVorschubsum N Bildpunktein der trolgevon Blockzeilenkommt noch
einmal ein Schreibbereichfür N' BS + N2' (ny-7) und N . BR + N2' (nv-I) Punkte hinzu. Hiermit beträgt die Kapazitäteinesgroßenlokalen Speichers
cM pEr,,: bpcl'(BS2+ BRz + N'(Bs + BR))
+ b p d . ( N . ( B s+ B R ) + 2 . N 1 . @ v - r )
(E.3)
: bpd' (gsz+ BR2-2' tvz* nv. (N.(Bs + BR) + 2' N\)
lm Vergleichzu (E.1) fällt hier die Kapazitätder kleinenlokalenSingle-Port-Speicher
geringer
als die einesgroßen lokalen Dual-Port-Speichersnach (E.3) aus CMp1..
1('Mpt;ur. Mit n7,7,
PF.s
ergibtsichdie gesamteSpeicherkapazitätausder Summeder Kapazitätender lokalenSpeicher
_ t06_
nach (E.1) oder (E.3) und der KapazitätdesSegmentzeilenspeichers
nach(E.2). In einer Multiprozessorarchitekturdusnp6 PEs mit kleinen krkalen Speichernhaben die Speichereine Gesamtkapazitätvon
CMt:
CM526 * npn'CMp1,
^^S
1 2
: b p d 'l| p o ' (, ^B, , S+ B R + 2 ' N ) * n p t ':(. B
+ B R 1/ )
\
und in der Multiprozessorarchitektur
ausPEsmit großenlokalenSpeichern
cM2 : npp;'cM py,,,
: b p d ' ( p p '( B s + B R + 2 ' l \ \ * n p r , ' ( g s z+ B R 2 - 2 ' l l ) )
In beiden Gleichungenergibt sich der von der PE-Anzahlunabhängige
konstanteAnteil
pp' (BS+ BR + 2'N), welcherderKapazitäteinesSegmentzeilenspeichers
(E.2).Mit
entspricht
'
großenlokalenSpeichern
in denPEsistdieSpeicherkapazitätumbpc{'
ftpr:.'2N kleineralsmit
kleinenlokalenSpeichern
und einemSegmentzeilenspeicher.
- t07,
F SystematischeAbbildung des Blockmatching-Algorithmus
auf Array - Architekturen
Mit dem Space-Time-Mapping-Abbildungsverfahren
ist es miiglich.die in einem Algorithmus
spezifiziertenFunktionenauf die Struktureiner Architekturauslokal verbundenenProcessingElementen zu übertragen[a5][58][71].Das systematische
Vrrgehen erleichtertden Entwurf
neuer Arrays und erlaubt eine Dokumentationdes zeitlichenAblaut'esder Operationsausführung und des Datentransfers.
In diesemAnhangwird zunächstein möglichstallgemeingültiger
Dependence-Graph(DG) des
Bltrckmatchingsbeschrieben.Durch eine T.eiteinteilungs-und Projektionsprozedurergeben
sich aus dem DG mehrereAlternativenvon Signalflußgraphen
(SFG),welchedie Struktur von
Array-Architekturen beschreiben.Da rJieT.eiteinteilungs-und Projektionsprozedurmehrere
Lirsungenergibt, setzt sich die Beschreibungdes Abbildungsverfahrens
an einigenspeziellen
Beispielentort, die auch zu den Arrays in Kapitel 6.2 fiihren.
F.l Dependence-Graphfür den Blockmatching-Algorithmus
Die BeschreibungeinesSystemsdurch einen DG bedingt die Auf,spaltung
des Algorithmusin
Basisoperationenkombiniert mit einer Lokalisierungder Variablen.Die Basisoperationen
für
das Blockmatchingsind bereitsin Täbelle 13 (Kapitel 4.4)eingerragen.
Wegender unveränclerlichenOperationsfitlgenD-B-AsowieM-Sisteszweckmäßig.dieseFolgenjeweilsgemein'lyp
sam in einem Knoten darzustellen,die auf Processing-Elemente
(Ptrs)vom
AD und vom
Typ MS abgebildetwerden (llild 16 und t7 in Kapitel 5.2.1.2).
Durch die Lokalisierungder Variablenwerden clieErgebnisseder Basisoperationen
den lokalen Variablennur einmal zugewiesen,
um Kommunikationskonfliktein clerArchitektur zu vermeiden ("single assignment",[45]). Daher enthält der DG keine Kanren, die als Schleif'eauf
den Knoten weisen,in dem die Variable geschriebenwird. Die lokalen Variablensinclim einfachstenFall vttllständigdurch alle in den VariablendesAlgorithmusverwendetenIncJizes
incliziert. Für dasBlockmatchingenthaltendie Variablender Gleichungen (2.11) uncl(2.13)clievier
lndizesi, k, m und n. Um darüberhinausgehend
das gesamteBlockmatchinginnerhalb eines
Bif desvollständig im DG zu spezifizieren.sind noch wie in Bild I dargestelltciiezwei Ortskoordinatenx: (x,y)zu verwenden.die die Positionder Stützpunkteim Bild beschreiben.Ref'erenzblock- und Suchbereichsdaten
unterscheidensichdadurch.daß sie zwei verschieclenen
Bildern
auseiner Folge entnommenwerden.Hiermit kommt ein siebter(Zeit-) Inclexhinzu.so rlaßder
vollständigeDG für dasRlockmatchingin einemsiebendimensionaler
(7-Dz) Inciexraumautgespannt ist.
Eine direkte Überführung cles7-D-DG in ein Array ergibt eine unwirtschatilicheLcisung.Im
7-D DG des Blockmatchingsentsprichtdie Anzahl der Knoten der der clurchzuführenden
Operationenpro Bild. Bei einemVergleichdieserAnzahlenin Täbelle5 mit dem für eine Echtzeitfähigkeit tatsächlicherforderlichenSpeedupin'tbbelle 9 zeigtsich.cJaßso eine Architektur absolut überdimensioniert ist. Außerdem läßt die Silizium-Technologie nur clie
Schaltungsanordnung
in einer Ebene auf dem Wafer zu, so daf.lein Array mit der Struktur cles
7-D DG langeKommunikationsverbindungen
zwischennicht direkt auf dem Waferangeordneten PEs ertordert. Es ist daher erforderlich,das Problemder Proiektionund damit den DG zu
- l0tt-
partitionieren,um kleinere aber noch ausreichendschnelleArchitekturenzu erhalten.Ansätze
für die Partitionierungfinden sichim Parallelismus
desAlgorithmus.Dieserergibt sichzwischen
OperationenbenachbarterSuchbereiche.
denen zwischenKandidatenbli)cken
und denen zwischeneinzelnenBildpunkten.[n dieserReihenfblgeergibt sich beim Blockmatchingauch eine
Hierarchie der Operationen,die sich in der Struktur des DGs darstellt.
Für das Blockmatchingist essinnvoll,nur den DG zu betrachten,der die Operationenund Datenabhängigkeitenfür einen Suchbereichbeschreibt.Entsprechencl
den Gleichungen(2.1l) und
(2. l3) ist dieserDG in einem 4-D tndexraumaufgespannt,
dessenKoordinatenachsen
sichaus
den vier Indizesi, k, m und rz ergeben.Die lokalen Variablendes Blockmatchingssind durch
alle vier in diesenGleichungenvorkommendenIndizesvollständigindiziert.So wird in lokalis i e r t e r F o r m v o n ( 2 . l . 1 ) . 1 ( s p ( i , k ) - s s ( i * m , k + n ) )m i t a n d e r e n R e s u l t a t e nz u d e r S u m m e
D(i,k,m,n) addiert. Nach N2-1 Additionen entsprichtcJerWert von D(i,k,rn.n)dem Resultat
df(m,n).Diese Summewird mit der bisherinnerhalbeinesSuchbereiches
gefundenenkleinsten
Summemctf(m,n)verglichen(2.13).Mit der Bezeichnungu(nt,n)für die kleinere Summe gibt
esin lcrkalisierter
Form bis zu Q2Yariablen[](i.k,m,n).Das Single-Assignment-Prinzip
läßt sich
auchauf die globalenSuchbereichs-und Referenzblockdaten
anwenden.die für mehrereOperationen gebraucht werden. I-etztendlichergeben sich für das Bkrckmatchingnach (2.11)
u n d ( 2 . 1 3 )d i e v i e r l o k a l e nV a r i a b l e nS s ( i , k , m , n )S, p ( i , k , m , n D
) , ( i , k , m , n )u n d U ( i , h m , n ) .
nl.I
Kantenvektoren des Dependence-Graphen
Die lokalisierten
Variablenwerdenim DG zwischen
denKnotenentlangvon Kantenvektoren
e
transferiert.
Der DG für dasBlockmatching
wirddurchdieKantenvektoren
uncJ
die Knutenmit
dem Ortsvektorc dargestellt.
Für dasBlockmatching
befindensichdie Knotenim lndexraum
in den vom Algorithmusvorgegebenen
Indexgrenzen:
c : ( i . k , m . n ) :1 < i , k < N , 0 < m , n . ? ' p
( F . 1)
Sei c1 der Ortsvektor des Knotens mit der zuerstund c2 der des Knotensmit der anschließend
ausgeführtenOperation. gilt für die Operationszeitpunkte:
r(c1)<t(c). Der Kantenvektorentsprichtdann:
€ :
c2-cy. l(c;) < l(c2)
( F .2)
Bei assoziativenOperationenist auch die F'estlegung
t(c1)> t(c) möglich. Sie lassenentsprechend (F.2) im DG zwei zueinanderentgegengesetzte
Kantenvektorrichtungen
zu.
Die Richtung der Kantenvektorenläßt sich an dem Beispielder lokalen Summenvariablen
D(i,k,m,n) erklären. Da für jeden durch m und n spezifiziertenKandidatenblockdie Addition
mit den OperationenAD bzw. A neu begonnenund bis zur Summedf(m,n)abgeschlossen
wird.
unterscheidensich die transf'erierten
lokalen VariablenD(i,k,m,n)für jeden Kandidatenblock
nur durch die lndizesi und k und nicht durch die lndizesm und n. Die VariablenD(i,k,m,n\werden deshalb nur zwischen den Knoten AD im DG transferiert. deren Ortsvektoren
cAD: (i.k,m,n)gleicheKompclnentenm und n haben.Nach (F.2)ist dann ep : (epi,e11p,0,0).
Der
Vektor ep beschreibtden Transf'er
D(i,k,m,n)orthogonalzu einer Fläche
der Summenvariablen
im lndexraum.welche durch die Koordinatenachsenru und rz aufgespanntwird. Die beiden
Komponenten cplund ep6 richten sich nach der Operationsfolge.Sie werden crst im wcitcrcn
Verl auf des Ab bi Id ungsverfahrens f'estge
Iegt.
_ I0!)_
Es ist wünschenswert,
auch für alle übrigen Variablensp(i,k),,s5(i*m,k*n) und mdJ'@t,n)clie
Kantenvektorenes,eRund ey systematisch
aus der lndizierungabzuleiten.Hierfür eignetsich
ein ausder l,iteratur bekannterAnsatz[15][fJ1l.Die gesuchtenKantenvektorene stehenorthogonal zu den Zeilenvektorenvon sogenanntenT-spaltigen
Index-Mapping-MatrizenQ. f entsprichtder Anzahl der im AlgorithmusvorkommendenIndizes.Dre l-ösungdesfolgendenGleichungssystems
ergibt die gesuchtenKomponentender Kantenvektorene:
Q ' e*e,j :
0
( t-.3)
Der gesuchteVektor e für die lokalisierteVariableweist orthogonalzu einer Flächeim Indexraum, welche durch die Zeilenvektorender Index-Mapping-Matrixaufgespanntwird. Bei der
SummenvariablenD(i,k,m.n'\weisendieseZeilenvektorenin Richtunsder Koordinatenachsen
m und n:
Ql
:[slrä?]
Allgemeinläßtsichdie lndex-Mapping-Matrix
ausder Indizierung
x der nichtkrkalisierren
Variablenbzw.demProduktder tndex-Mapping-Matrix
i undeinernOtTQ mit demIndexvektor
s e t v e k t oi sr h e r l e i t e [n1 5 ] [ U 1 ] :
1 :
Q ' i 7 -+
i!,
( F .4)
Der ofTsetvektor
is beschreibt
konstante
Anteilein der tndizierung.
Er istbeimBlockmatc hi ng
für alle Variablen0. und kann daherhier vernachlässist
werden.
M i t d e m I n d e x v e k t o i, : ( i , k . m , n ) e r g e b e ns i c hb e i d e r M u l t i p l i k a t i o nv o n Q p m i t i d i e I n d i z e s
der Summenvariable
n dJ''(m,
n):
('r): :[rlrÄ?]
Qrl
t
Auf die gleicheWeiseergibtsichfür die übrigenVariablen
+ m,k+n) uncJ
s7i(i,k).
,s5(i
mctf'(m,n)
(F-.4)
mit
unc,
er,:
es:
eu:
[alu]
[,ull]
[;n[]]
Das Gleichungssystem
(F.3)ist für die Index-Mapping-Matrizennicht vollständigl0sbar.Deshalb verbleibenhier mit e: (ei,ep,e,,,,,€,,)
als LösungenallgemeinverwendbareIleziehungenzwischenden Vektorkomponentenvon €s,€R, elrund e17.
In einerkompaktenDarstellungsinddiese
Vektoren als Spaltenin fblgenderVektormatrixzusammengetäßt:
n :
[.ot
er'l' eD't'"r'r):
H*t,,I,1
(F.s)
- I l()-
F.1.2 Struktur des Dependence-Graphen
Die Struktur des 4-D DG für das Blockmatchingist in der zweidimensionalen
Ebeneeincr Abbildung nicht ohne weiteresdarstellbar.Ein 4-D DG entziehtsich dem menschlichenVrrstellungsvermtigen.
Die beiden Beispielein diesemKapitel hier sin<jin Hinsicht auf clieweireren
Schrittedes Abbildungsverfahrens
gewählt.
Um ein Array aus regulär miteinanderverbundenenPEs zu erhalten,ist es erforderlich,clie
Knoten mit dem Ortsvektorc auf den PunkteneinesregulärenGittersim Indcxraumzu positionieren.DiesesGitter ergibt sich beispielsweise
in der Anordnungvon Bild 39. DiesesBilcJzeigt
die Positionen,in denen sich die Knoten des DG befinden,welchedie bilclpunktorientierren
Operationenin den PEs AD beschreiben.Die Knoten für die PEs AD sind in Ebenen parallel
zur ik-Ebene angeordnet.Q dieserEbenenbeschreibendie Operationenfür eine KancliclatenbfockzeileundQ dieserZellen entlangdem Indexn angeordnetdie Operationenfür einen ganzenSuchbereich.
Kandidatenblock
Kandidatenblockzeile
Bild 39: Positionen
der Knotendes Dependence-Graphen
im vierdimensiunalen
Inclexraunr
für Q:6 Kandidatenbliicke
(N:4)
in'einertskrckzeiie
und 4x4-Blöcke
Alternativ zu der Darstellungin Bild 39 ist die vollständiganclereKnotenanordnungin tsilcJ40
müglich, die den gleichenAlgorithmus beschreibt.Hier sind clieKnoren des DG, welche clie
bildpunktorientiertenOperationen in den PEs AD beschreiben,in Ebenen parallel zu cler
mn-Ebene angeordnet.Die Knotenanordnunginnerhalbeiner Ebenerichtet sich nachclerl.age der Suchpunkteim Bild. In jeder Ebeneparallelzu dermn-E.benewerclenalle Operationen
mit den gleichenRef'erenzbkrckdaten
durchgeführt.Der vollstäntJige
DG bestehtausN2 clieser
Ebenen.lnnerhalb jeder Ebene befinden sichQ2 Knoten vom Typ AD.
Genau genommen ergibt eine Projektion der Knoten des 4-D DG für das tslockmatchingin
einen ikm-Raum die gleicheAnordnungwie in Bild 39 und eine Projektionin cJenimn-Raum
die gleicheAnordnungwie in Bild 40. In beidenRillen sindkeine Knoten ineinanclerprojiziert.
-
t t t
t I I -
Positionder
Kandidatenblircke
; .'..iiii.iiii.l
f-i,......:
i.!..',.!.9
Bild 40: Lqge {er Knoten des Dependence-Graphen
im vierdirnensionalen
Inclcxraunr1'ür
(l/: 4)
in einerBlockzeileaus4x4-Blt)cken
Q' :6' Kandidatenblticke
Auf eine Darstellungder Kantenvektorenwurde in den Bildern39 uncl40 wegender besseren
Übersichtnoch verzichtet.Außerdemist clieRichtungclerKantenvektorene in (F.-5)noch nicht
endgültig festgelegt.Es kann aber davon ausgegangen
werden, claßzueinanclerorthogonale
Vektoren sich auf einen ebenfällsorthogonalenDatentransf'er
in der Architektur abbikJenlass e n( S e r i e n - P a r a l l e l s t r u k tiunr B i l d 1 8 i n K a p i t e l 5 . 2 . 2 ) . l nd e m g e w ä h l t e nB e i s p i e d
l er SerienParallelstrukturvon Bild 4l wird die Addition in den Knoten AD vollstäncligelsr über cJen
Index k und anschließendüber den lndex i in Knoten vom Typ A clurchgeführt.
Zwischenclen
Knoten werden über die zueinander orfhogonalen Vektoren elii: (ep,,0.0.0) und
eDk: (O.epa,0,0)
die lokalisiertenVariablenD;(i,k,m.n)undDp(i,k,m,n)transferiert.BeideVektoren ergebenin (F.5) die Summe €D: e14p*epi.
Wie bei den OperationenAD und A wird für die Operation MS ebenfällseine Serien-parallelStruktur im DG angenommen. Dieses entspricht einer Suche nach cJerkleinsten Summe
mdf(m,n)zunächstinnerhalbeinzelnerund danachin cJerFolge ganzerKandiclatenblockzeilen.
Auch hier werden die lokalisiertenVariablen LJ,,,(i,k,m,n)
uncJU,,(i,k,m,n)über die Vektoren
Eunt: (0,0,e1t,,,,0)
und Eun:(0.0.0,ey,,) im DG transferiert.
Nach dem Vorbild der Vektorene2 und eu werdenauchdie übrigenin (F.5)spezifizierrenKantenvektorenin jeweils zwei zueinanderorthogonaleVektoren zerlegt:
E _
ltu"'t.ep,,7' e5;r
0
0
0
[";
€Rn
e567 epit' eplr't' es,rr'I
e^si 0 eDi
0
e.sÄ 0
-e .si 0 0
0
-cSt
0
0
eDk
0
0
"r,,rtf
(r.6)
0
0
€ r,tnt
0
,[]
Die beidenHilt'skonstruktionen
in Bild 39 und 40 sinddie Grundlagetür die irnweiterenVerlauf durchgeführte
Zeiteinteilungsund Projektionsprozedur.
- LtL-
i <-l
o
Yk
AD
Bild 4l: TciledesDependence-Graphen
in Serien-Parallel-Struktur
mit den Kantenvektrlrerr
e 7 r 4u l l d e f l ;
F.2 Zeiteinteilungs- und Projektionsprozedur
Durch die Zeiteinteilungs- und Projektionsprozedurwird der 4-D DG des Bkrckmatchings
schrittweiseauf einenein- oder zweidimensionalen
Signaltlußgraphen
(SFG) abgebildet.Wenn
verschiedeneKn<ttendesDG auf einen einzigenim SFG projiziertwerden.ist clursheine Zeiteinteilungder Operationendafür zu sorgen,daß dieseverschiedenen
Operationenauch nacheinanderdurchgefi"ihrt
werden.
Bei der Diskussion hier wird ausschließlichvon einer linearen Zeiteintetlungsuncl Projektionsprozedur ausgegangen.E,inelineare Zeiteinterlungergibt leicht realisierbareAbläuf'eder Operationen im Array. Diese läßt sich durch einen Zeiteinteilungsvektol's ("time-schedulevector", [a5]) im Indexraumspezifizieren.Mit diesemVektor wird den einzelnenKnoten mit
den Ortsvektorenc ein Operationszeitpunkt
zugewiesen[45][-5tt][71].
Für-dasBeispielaus(F.2)
mit den zwei Knoten c1 und c2 gilt dann:
/ ( c 1 ): s
"l <
l(c2): s
'"1
Die Differenzder Operationszeitpunkte
entspricht
der Verzögerung,
die dem Kantenvektor
e
nach(F.2)zwischenden Knoten c1und c2ztrzuordnen
ist:
A r ( e ) :t ( 9 ) - l ( c r ) : s ' ( c z - . , ) ' ' r : s ' e t' r > 0
(F.7)
r ist eineZeiteinheit.die bei einermehrfachen
Durchführung
derZeiteinteilungsund Projektionsprozedur
vonBedeutung
wird.Anhandvon(F.7)sindbeigegebenem
Zeiteinteilungsvektor
die bis zu diesemSchrittdesAbbildungsverfährens
nochnichtfestgelegten
Komponenten
der
Vektorene in (F.6)so festzulegen,
daßdie Kausalität
mit A/(e)> 0 immerseder Operationen
w a h r tb l e i b t.
- ll-1-
Die Anzahl der einem KantenvektorzugeordnetenZeiteinheifenentsprichtin einem Array der
Registeranzahlzwischenzwei PE,s.Beim Pipeliningist es erfbrderlich.den Vektoren e mindt-'stenseine Zeiteinheit A/(e) > 0 zuzuordnen.Für global ben(itigteVariablen sind in Array-Architekturen Kommunikationsverbindungen
ohne Registerdenkbar (broadcast-lines).Diese
sind tür einen geringerenSchaltungsaufwandes
von Vorteil.wenn die gleicheVariablefür mehrere Operationen verwendetwird. In diesemFall ist Ar(e):0. Durch eine geeigneteAuswahl
desZeiteinteilungsvektors
s und der Komponentender Vektorene läßt sichdie Anzahl der Registerund damit auch der Schaltungsaufwand
einesArrays beeinflussen
und sogarminimieren.
Durch die Projektionvon Knoten und Vektorendes DG auf die einesSFG dürfen keine 7.uweisungengleichzeitigaktiver Knoten auf den gleichenKnoten erfblgen.Es muß die durc:hden
Zeiteinteilungsvektors spezifizierteOperationenfirlgeauch in der Folge ineinanderprojizierter
K n o t e n e r h a l t e nb l e i b e n[ a - 5 ] [ 5 8 ] [ 7] :1
s'd7 > o
(F-.ti)
Bei der ProjektionverschiedenerKnotenartenineinanderentstehenneueKnotenartenim SFCi.
welcheeine Folge verschiedenerOperationenbeschreiben.Diesesführt zu Architekturenaus
PEs,die eingeschränktprogrammierbarePnrzessoren
enthalten.Bei der Projektionausschließlich gleichartigerKnotenartendes DG aufeinanderentstehennichtprogrammierbare
PEs.wie
sie in systolischenArrays vttrkommen.
Der Projektionsvektor steht senkrecht zu den Zeilenvektoren einer n. (n-l)-ProzessorbasisP,,r,-1.deren n-l Zeilenvektorenden n-1-dimensionalen(n-1-D) Indexraumnach cler
Pnrjektion auf.spannen
[45]:
' d , 1 :' 0
P n . n *r
(F.e)
Die Prozessorbasis
und der Zeiteinteilungsvektor
beschreiben
vollstänclig
cJieAbbilclung
eines
n-D DG auf einenn-1-D SFG [45].Das ErgebnisdieserProjektionsinddie Operationszeirpunkte/(9,-r)und die Ortsvektoren
für die Knotenin Matrixschreibweisel4Tl:
c,1-1
:
.,.
['!:',,,'']
['r;l:;'] ['tt]
(F.r0)
Analogdazuergibtsichmit (F.2)und(F.7)dieVerzrigerungen
At(Eo,r) derVekrorenin clerVekt o r m a t r i xE , - 1 :
:
E.*
[^'$::,'']['u;;:;'] [^F'']
( F . l1 )
Die Projektionkann mehrfächdurchgeführt
werden,um SFGsund damitletztendlich
Arrays
mit kleinerDimensionzu erhalten.Vor der erstenProjektionsindin (F,10)uncl(F.I I ) l(c,,): 1;
u n d At ( E , ): 0 e i n zu se tze n .
Vor jedemweiterenDurchgangeinerZeiteinteilung
und einerProjektionwird der SFGalsein
Instance-Graph
(lG) betrachtetIa5].Im Instance-Graph
lauf'enalle Operationen
gleichzeitig
wie beim DG innerhalbder Zeitmit der Dauerr, ab. Durchdie weitereZeiteinteilung
wird
- n4-
1, in kürzere Einheitenr,r (r/r-l unterteilt.Diese Unterteilungrichtetsich nach der AnzahlM,,
der ineinander projizierten Knoten, rJem Zeiteinteilungsvektors,, und dem Projektionsvektor d,, [45]:
| + ( , 1 4 , lt )- ' s , , ' d , =
l ft
*=
( F .l 2 )
Durch eine Zeiteinteilungs- und Pmjektionsprozedurergeben sich aus den beiden 4-D DGs
in Bild 39 und 40 mehrere 3-D SFGs, die als Grundlagetür die Beschreibungder Arrays in
Kapitel 6.2 verwendetwerden.Projektionsrichtungen
entlangden Koordinatenachsen.
clieden
Indexraum auf,spannen,
tühren mit den Vektoren in (F.6)zu regulär vernetztenrechteckigen
Arrays mit überwiegendorthogonalenDatenverbindungen.
n3 DreidimensionaleSignalflußgraphen
Durch eine Projektiondes4-D SFGsnachBild 39 entlangder n-Achse(Projekrionsvekror
da: (0,0,0,1
)) entstehtein 3-D SFG im ikm-Raum.Der Zeiteinteilungsvekror
sa: (0.0,0.l) ergibt die unkomplizierteste
Zeiteinteilung,
erfülltdie Bedingung
von (F7) und führt zu einem
regulären
DatenzugrifTüber
die Randknoten
desSFG.Mit jederneuenZeiteinheitwercJer-r
über
die entlangda ineinanderprojiziertenRandknotenneueDatenin clasArray transferiert.
Die
Prozessorbasis
Pr.
:[i:lii]
erfülltmit d+Gleichung(F-.9).
Damitnach(F.7)cJieAnzahlclerVerzögerungseinheiten
so klein
wie miiglichundpositiv(Kausalität)
bleibt,werdenbeider Projektion
clieKompr)nenren
von E4
. rn c l
i n ( F . 6 z) u c s k : - 1 . c R r : 1 u n de u n : 1 g e s e t zNt .a c hG l e i c h u n g ( F . 1u0n)c(l F . 1 1 ) i smt i rp + . u
da dann
:
['tt']l,,i-;,,]
[o,ru.rl
E3 |.'l ij
L
rl
o. rr
o. o. 0,
e^si 0
0 -1
-esr 0
eL)i 0
0
0 en* 0
0
0 es,,,
l- 1,,,:,,,
ll
Um die Beschreibungzusfraften,wird hier von folgenderKantenvektormatrixausgegangcn:
B , : 1n,rit.
:I
0
0
|
enut' e.si7' e.sft7-ertit' ent'r eltn;t erJtt,']
0
0
0
1
0
0 -1
- r 0
0
0
1 0
1
0
0
0
1
0
0
t )
DieseMatrix läßtwie in Bild 42 (W n1)und llild 43 (Typnz)dargestellt
mehreregraphische
Darstellungen
zu. Für die lokalenVariablenSp(i,k,m,n)
ergebensichin beiden3--DSFGsciie
: (0.0,0)undep,,,
: (0,0,1).Grundsätzlich
beidenVektoren€R,r
istesmijglich.cliesebeicJen
Vek-
_ I 15_
tortypenallen Knoten AD zuzuordnen.Allerdingsläßt sichder Schaltungsaufwand
vermindern.
: (0,0,0)als rückgeführteSchleifenim 3-D SFG nur den Knoten AD
wenn die Vektorer €p,1
mit dem Ortsvektor c,qo:(i,k,0) zugeordnetwerden. Hierdurch vermindert sich ihre Anzahl
von O' N2 auf l/2.
sR(i,k)
r,5(i+nt.k+n)
AD
e^st
AD
dJ'@t,n)
mdf(m,n)
Bild 42: 3-D SFG (l,vp nr) tür eineKandidatenblrckzeile
dargesrellt
1'ürN:4 und Q:61
In den durch die schwarzausgefülltenKnoten dargestelltenRegisterbleibendie lokalen Variablen Sa(i,k,m,n)für die Dauer der Displacementschätzungeines
Suchbereiches
f'estgespeichert.
Von hier werden cJieVariablen über die Verbindungen transfbriert, die clurch cJieVektoren
€R,r: (0,0.1)beschriebensind.Das gleicheProblemwie bei 511(i,k,m,n)
gibt esmit clerVariablen
SsQ,k,m,n).
Die lokalenVariablen,S5(i,k,m,n)
werdenerstüber die Vektorenes1: (0.-1.0)transferiert, die nur den KnotencAD:(i,O,m) zugeordnetsind. Erst danachgelangensie über ciie
Vektoren e.si: (1,0.-1) zu den übrigen Knoten AD.
- l16-
sn(i.ft)
AD
est
AT)
AD
AI)
AD
AT)
AD
, r r (*i m , k + n \
Y
MS
nzdl'@,n)
Bild43: 3-D SFG(Typnz)für eineKandidatenbkrckzeile
dargestellt
für N:4 undp:11
Der dritte3-D SFG vom Typk in Bild 44 dagegen
entstehtdurchdie Pnrjektioncles4-D DG
a u sBi l d 4 0 e n tl a n gd e rk-A ch se(d a :( 0,1.0,{ ) und
) ) einerZeiteinteilung
m it denrZeit ei ntei lu n g s v e k t r5) r4 :(0 .1 ,0 .0 ).
N a chGl e i c hung
( F.10)und ( F11)ist mit Pa..3
unclda:
:
[".:r']
[,,0.2,f
o'
r-o[:,,
r ft,,. o. esi
IL
I
l:|.:,,3
IO
rr
0
-esi 0
c R ,0 - 1
o,
Tt.
eDi 0
0 0
0 0
0,
0
( (lnt
0
3l
-m-
,sa(i.k)
tt^-r'-------
ss(i+ m , k +n )
clf(m,n)
Bild 44: 3-D SFG (TVpk) dargestelltfür N: 4 und e:6
Die Suchbereichsdaten
werden ähnlichwie in den bishercliskutiertenDGs enrlangvon Kanten
in Ebenen parallel zur im-Ebene transt'eriert.AIle einen Kandiddatenbkrckbetretl'enclen
Operationen werden in Knoten mit gleichenlndizesm unr|n durchgetührt.Die SummenD(i,k,nt.n)
werden über Kanten parallel zur deri-Achse transf'eriert.Da die gleichenReferenzblgckclaten
in der gesamtenEbene mit dem gleichenIndexi verfügbarseinmüssen.wird hier einezweistufi-
- Ilu-
: (0,1.0)und e,Rrt:(0.0,I )
ge Verteilung über orthogonal zueinanderangerlrdneteKanter]€R,rr
gewählt. Um die Beschreibungauch hier etwaszu strafl'en,sind die Kantenvektorenfür den
3-D SFG vom Typ k in Bild 44 in der fblgendenMatrix eingetragen:
Er:
'l
l*^"'
I' en,jt esiT' estl' errit'
eott' eu,,,t. eu,
t:
0
0
1
1
-1
0
0
0
-1
1
0
0
0
0
0
0
I
0
l
0
0
1
n4 ZweidimensionalerSignalflußgraph
Füreinesystematische
Realisierung
von Array-Architekturen
in einerzweidimensionalen
Ebene ist eserfclrderlich.
durchweitereProjektionsschritte
einenSl-'Gmit einerzwei*odereindimensionale
Strukturzu erhalten.Als Beispielsoll zunächst
ein 2-D SFG gezeigtwerden,cler
sich für weitere Projektionsschritte
eignet.Durch Projektionentlangder k-Achse. d. h.
d 3 : ( 0 , 1 , 0 )i m 3 -D S F G vo n B i l d 4 2 entstehtder 2- D SFG vom lyp n1k2in Rilcl4 5 m i t
durchs3: (0.1,0)eignetsichclerSFG
Q' N KnotenAD. Mit der hier gewähltenZeiteinteilung
vom Typn1k2in Bild 4-5als Grundlagefür die Abbildungauf 1-D Arraysmit leichtrealisierbarenDatenzugriffen
und einerkleinenRegisteranzahl.
In Täbelle33 sind alleZeiteinteilungsvektoren
s.3und Projektionsvekturen
d: für den2-D SFG
aus Bild 45 und auchalle weiteren2-D SFGsausKapitel6.2 eingetragen.
Da im Gegensatz
zu derLösungvon Bild 45 die SFGsin Kapitel6.2denAbschlußder Zeiteinteilungsund Projektionsprozedurdarstellen,wurde dort die Zeiteinteilungso gewählt.daß alle Kanten für
lokaleZwischenergebnisse
mindestens
eineVerziigerungsei
nheiterhalten.
3_D SFG
--'l
2-D SFG
Schedule- ProjektionsVektor sj
vektor dr
(1.;S.S)
3_DSFG(rvpk) --+
( B i t d44)
3*D.'.S
{
QQ (]YP ki)
(Bitd 28)
(1 . 0 , 0 )
NN (TYPn2m)
(Bild 26)
( 0 . 0 .)1
(ffi''.u.i)
'ar::::::.
3-D SFG (Typnz)
(Bild 43I
Thbelle332 Zeiteinteilungsvektorens3 und Projektionsvektorend: für dierirn Rahmen der
Diskussionbetrachteten2-D SFGs
- il9*
1 5 (+i m , k + n )
24
23
22
2l
I
34
33
32
31
44
43
42
4l
<A
53
52
5L
14 l3
64
63
62
6l
1 i
ti4
13
l2
1l
E3
E2
'----*,1--r/
,/
^D/"
'
L+
til
q4
q3
.,.
9l
../
Z-1
..,/
f
^Df
,/
€sr
,/
34 33 32 3l
^D/
44 43 42 4l
AD
.r7i(i,k)
e1)i
A
EL/N
MS
Bild 45: 2-D SFG (Typn1k2)dargestellt
für N=4 und 0=6
F ü r d e n S F G v o m T y p n 1 k 2i n R i l d 4 5 e r g e b e ns i c hm i t d e m Z e i t e i n t e i l u n g s v e k r so -r 1 : ( 0 . 1 . 0 )
und der Prozessorbasis
r
t
p
. .. \^. :2 | 1 0 0 |
lL 0 0 t I I
nach(F.10)die Operationszeitpunkte
unddie Knoten
[
l
l t ( . rl ): l n
t
- .+ t
't.1
o ,rl
L . , J L u . mI)
s o w i en a c h ( F . 1 1 )d i e V e r z ä g e r u n g s e i n h e i t m
e ni t r 3 : r . 2 . N u n d d i e K a n t e n v e k t o r e n
d e sS F G
in Bild 45:
'l
(o'
'l
'd
',;','
o
',i
'd,
:l
i|
fouu',1
L E l2 - L r o - ro
o o r o J
Der SFGvom Typn 1k2ist in Bild 45 ohnedie Kantenep,,: (0,0.0),
esr: (0,0.0)undey,,: (0.0.0)
dargestellt,
um aucheineanschauliche
Beobachtung
derzeitlichen
Abläuf'eim SFGanhandcler
-lm,k*n)
Indizierungen
der Operandens.5(i
undsp(i,ft)für eineKancJidatenblockzeile
zu ermirglichen.
Diesedrei Kantenbeschreiben
lokaleRegisterspeicher.
- t:10-
n5 Eindimensionaler Signalflullgraph
Der 2-D SFG vom Typ n1k2in Bild 4-5ist die Cirundlagefür die l-D SFGs aus Kapitet 6.2.4
und 6.2.5und dasBeispielin Bild 46. Für eine Projektionentlangden Koordinatenachsen
komm e n h i e r d i e P r o j e k t i o n s v e k t o r edn2 : ( 0 . 1 ) u n c l d 2 : ( 1 . 0 ) i n F r a g e( T a b e l l e3 4 ) . D u r c h u n t e r schiedlicheZeiteinteilungenbei der Projektion entlang dem Vektot dz:(O,1) entstehenrJas
semisystolische
Array N in Bild 29 r.rnddas systolische
Array N in Bild 46,
Schedule- ProjektionsVektor s2 vektrlrd2
.;.;'i'.N,l.ffi
';j;fi'iißim},
': (B,iltl.,,.29)
',..'
....:... ('.1,,;,X;j
=-T.-,-i-.--i
r#u:I:il
::l:N:tt:(ffi
:::inik;*11.',
',1,;,;;:1,,:::,'
:,,'
;';,(f ü1
:,'',',;,:.
f,,,;*6j,",,,,
;;:i:.=;rai;:r:r:t.1!:
t:,i
a (ryp nlk2i)
( B i t d3 l )
(1.1)
Thbefle
34: Zeiteinteilungsvektoren
s2und Pnrjektionsvektoren
d2für clicim Rahnren
der
Diskussion
betrachtcten
1-D SFCia
Beim 1-D SFG vom Typn1k2m2
in Bild 46 erhältjederVektormindestens
eineVerzi)gerung.
M i t d e r Pr u r zcsso rb a si s
P z :, [r 1 0 ]
ergebensichnach(F.10)die operationszeitpunkte
und die Knoten
r s * k t z + , ( 2i + d r , f
:
['*',]
['
sowienach(F.1I ) die Verzügerungseinheiten
mit rz:r | (:e+ A.*l) und clieVektorenclesSFG
in Bi l d 4 6 :
(rr.rr.T 1 , T 1 - T 2 ,
fo,rurll-l
E2 -L o 0 i
0
L
-J
2'13
12. T1,
1
0 0
ii'.J
- t.zrss(i* m , k * n )
a)
L 4 )
ll
t
rR(/,K)
(
.r
,
(.)
b)
r ^ 5 (* i r n . k * n )
() () 1l
L-)
t1
€Rrr
€S;
AD
() 3l
AD
AD
AA
TA
92
-)L
)2
t2
ql
Iil
l1
6l
5l
4l
3r
A
MS
T1
t l
1l
I
Y
Eltn
ELInt
Bild 46: a) SFGdeseindimensionalcn
syslolischen
ArraysN OVpn 1k2m2)
undb) Indizcsr + rr
undk+n der Suchbereichsdaten.r,(l+
m,k+n) dargdstellt
für N:4 und e:6
F.6 HomogenisierterDatentransferund Parallelisierungder
f)atenströme
DasSpace-Time-Mapping-Verfähren
führtnichtunbecJingt
immerzu realisierbaren
Architekturen.Aufgrundder Zeiteinteilungs-und Projektionsprozedur
kannein SFGentstehen,
in dem
sichvor BeginndeserstenSystemtaktes
lokaleVariablenan Knotenbefindenmüssen,
wo sie
in einerrealisierbaren
Architekturnochnichtseinkönnen.So gelangenbei e. d'l' t 0 Knoten
desDG mit Verbindungen
zu lokalenSpeichern
durchdie Projektionen
an Stelleninnerhalb
desSFG,ohnedaßeinelokaleVerbindung
zum RanddesSFGsverbleibt.In einemArraysind
dieselokalenVerbindungen
nicht realisierbar.
Bei e lld entstehen
durchdie Projektionsogar
Schleit'en
ohneVerbindungnachaußen.
Um Arraysmit ausschließlich
lokalenVerbinclun
genzu erhalten.muß der 'Tiansfervon Daten
überdie Randknoten
nachträglich
in dasVerfahren
eingeführt
werden.Im DG entspricht
dieses
einerErweiterung
um zusätzliche
Registerknoten.
überwelchedieOperanden
transf'eriert
werden("Homogenisierung",
bedeutet
dannaucheineVergrrißerung
derAn[28]).DieserTiansf'er
zahlM,, der ineinanderprojiziertenKnoten(F,.12)
und entscheidet
damitüberdie Anzahlder
pro Bildpunkt.Die Homogenisierung
Systemtakte
ist ggf.in jedemProjektionsschritt
durchzutührenund der Grund,warumdie meistenin Kapitel6.2 diskutierten
Arrayst-eerlauf.systemtaktemit nichtauswertbaren
Operandenkombinationen
erfordern.DasVrrgehentreider Ho-
mogenisierungläßt sich anhandder Projektiondes2-D SFG aus Bild 4-5auf clie1-D SFGsfür
die Arrays N in Bild 46 demonstrieren.Es wird weiterhingezeigt,wie durcheine Paralleliserung
desDatentransf'ers
Leerlauf.systemtakte
vermiedenwerdenkönnen(PipelineInterleaving[4Ul).
Die Richtungder Kanten e5;für die Suchbereichsdaten
s,s(i* m,k + n) im 2-D SFG von Bild 45
(Typnrkz) weist darauf hin. daß nach einer Projektion entlang der m-Achse (d2:(0,1) in
-labelle
34) alle Daten über das oberste PE,mit dem Ortsvektor cr:(l) im 1-D Array von
Bild 46 (Typn1k2m2)gelangenmüssen.Im 2-D SFG in Bild 45 sind hierfür die Kanten für die
Suchbereichsdaten
bis zu der gestricheltenl-inie über Registerknoten
verlängert,die durch alle
Knoten AD mit dem Ortsvektor cz: (7,n) verläuft.Mit denT,eiteinteilungsvekturen
ausTabelle 34 kommen durch den Tianst'erüber die RegisterknotenN'-1 Leerlauf.systemtakte
hinzu.
Wie nun diese l-eerlaufsystemtakte
für die Operationsausführung
durch Parallelisierung
auch
genutztwerden können, läßt sich erklären, indem noch einmal vom 3-D SFG vom Typ n1 in
BiId 42 ausgegangenwird. Dieser 3-D SFG bestehtausN in Richtungder k-Achse auf'einander"Scheiben".
gestapelten
deren Struktur dem 2-D SFG vom Typ n 1k2aus Bild 45 gleicht.Diese
N Teil-SFGs werden nun so prtrjiziert. daß sie entlang der m-Achse im im-Indexraum aufgereiht sind. Dieser neu strukturierteSFG bestehtausN.Q' l/ Knoten. Bild 47 zeigtden Übergangsbereich
zwischenzweidieserTeil-SFGsausje Q N Knoten.Bei einerweiterenProjektion
dieses2-D SFG enflang der m-Achse entstehtwiecJerder bekannte 1-D SFG vom lyp n rkzmz
wie in Bild 46.
Bild 47: Ubergangsbereichzwischenzwei lbil-l)Gs aus Q' N Knoten (Ä/= 4) rnit den Registerkn<ltenS
Bei einer Uberlagerungder'leil-SFGs aus Rild 47 entfälltwie in Bild 48 dargestelltder Übcrgangsbereichmit den Registerknoten.Die gestricheltenVektoren entsprechenden Vektoren
deslinken Teil-DGs. Die paralleleDarstellungder gestricheltenund der cJurchgezogenen
Vektoren beschreibendie parallel zu realisierendenVerbindungenim Array N.
-
tza-
11 tZ
81 22
91 32
\l
\l
\l
Bild 48: Ubergang zwischenzwei einander überlagerteninveidimensionalen
SFGs aus Uild 47
mit parallelisiertemDatentransf'er