HINTERGRUND DER ERFINDUNG
-
Diese Erfindung betrifft eine Vorrichtung zum Detektieren
sich bewegender und nicht bewegender Bereiche in einem sich
bewegenden Bild, welche in zahlreichen Systemen, wie einem
Videodatenkompressions system oder einem
Szenenänderungsdetektionssystem verwendbar ist.
-
Es gibt bekannte Vorrichtungen zum Detektieren von Zuständen
eines sich bewegenden Bildes. Wie später erläutert werden
wird, haben diese bekannten Vorrichtungen ein Problem.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es ist ein Ziel dieser Erfindung, eine ausgezeichnete
Vorrichtung zum Detektieren sich bewegender und nicht
bewegender Bereiche in einem sich bewegenden Bild zu schaffen.
-
Eine Vorrichtung zum Detektieren sich bewegender und nicht
bewegender Bereiche in einem sich bewegenden Bild gemäß der
Erfindung ist in Anspruch 1 definiert.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Fig. 1 ist ein Blockdiagramm einer Vorrichtung zum
Detektieren sich bewegender und nicht
bewegender Bereiche in einem sich bewegenden
Bild gemäß einer Ausführungsform dieser
Erfindung.
-
Fig. 2 ist ein Blockdiagramm des Adreßgenerators in
Fig. 1.
-
Fig. 3 ist ein Blockdiagramm der
Multiplikations/Additionseinheit in Fig. 1.
-
Fig. 4 ist ein Blockdiagramm der
Determinantenberechnungseinrichtung in Fig. 1.
-
Fig. 5 ist ein Blockdiagramm des
Q/P-Signalgenerators in Fig. 1.
-
Fig. 6 ist ein Blockdiagramm einer Vorrichtung zum
Detektieren eines Geschwindigkeitsfeldes
nach dem Stand der Technik.
-
Fig. 7 ist ein Blockdiagramm einer Vorrichtung zum
Unterscheiden des Auftretens eines
unerwarteten Objektes nach dem Stand der Technik.
-
Fig. 8 ist ein Blockdiagramm eines
Beurteilungsabschnitts in der Vorrichtung der
Ausführungsform dieser Erfindung.
BESCHREIBUNG DES STANDES DER TECHNIK
-
Verfahren und Vorrichtungen nach dem Stand der Technik
werden nachstehend für ein besseres Verständnis dieser
Erfindung erläutert.
-
Es ist bekannt, ein sich bewegendes Objekt einem sich
bewegenden Bild auf Basis der Helligkeit des Objektes zu
detektieren. In diesem bekannten Verfahren werden die
Geschwindigkeiten der jeweiligen Punkte des sich bewegenden Bildes und
die Richtungen der Bewegungen der Punkte aus räumlichen und
zeitlichen Gradienten der Helligkeiten berechnet. In dem
bekannten Verfahren bezieht sich die erhaltene Information
auf eine Geschwindigkeit des gesammten Bildes, das heißt ein
Feld von Bewegungsvektoren, und das sich bewegende Objekt
wird umgekehrt aus dem Bewegungsvektorfeld detektiert.
-
Eine Gleichung für die Helligkeit, welche gemäß der Bewegung
eines Bildes variiert, wird nun bestimmt. Die Helligkeit
eines Punktes (x, y) zu einem Zeitpunkt t wird als I(x, y,
t) bezeichnet. Vom mikroskopischen Blickpunkt aus gelten für
die Bewegung eines Bildes die Bedingungen, wo das
Helligkeitsmuster I(x, y, t) gemäß einem Geschwindigkeitsfeld an
jedem von lokalen Bereichen übersetzt wird. Wenn diese
Bedingungen von einem Koordinatensystem aus gesehen werden, das
sich bei einer identischen Geschwindigkeit mit einer lokalen
Geschwindigkeit bewegt, erfährt das Muster keine Variation
und die Lagrange-Differentiation des Musters beträgt 0. Aus
diesem Grund gilt die folgende Gleichung.
-
Die Gleichung (1) ist bei jedem von lokalen Bereichen des
gesamten Bildes erfüllt. Da die Gleichung (1) zwei unbekannte
Werte U und V aufweist, ist es nicht möglich, die Gleichung
(1) zu lösen.
-
Um die Gleichung (1) zu lösen, führen Horn und Schunk die
folgenden Abhängigkeiten ein (siehe "Determining Optical
Flow", Artificial Intelligence, Band 17, 1981, Seiten
185-203).
-
Im allgemeinen, wenn ein Objekt eine starre Bewegung
erfährt, ist das Objekt außer isolierten diskontinuierlichen
Punkten gleichmäßig und benachbarte Punkte auf dem Objekt
weisen ähnliche Geschwindigkeiten auf. Diese Tatsache wird
in dem Geschwindigkeitsfeld widergespiegelt. Entsprechend
ist das Geschwindigkeitsfeid mit einer Abhängigkeit
versehen,
so daß das Geschwindigkeitsfeld gleichmäßig variiert,
solange wie das Objekt eine gleichmäßige Bewegung erfährt.
Der Gleichmäßigkeitsgrad wird durch das Quadrat von
Gradienten des Geschwindigkeitsfeldes gemessen. Somit ist die
folgende Abhängigkeit gegeben.
-
Die Abhängigkeitsgleichung (2) wird auf Gleichung (1)
angewendet und somit wird eine Variationsfunktion bestimmt. Ein
abschließendes Geschwindigkeitsfeld (U, V) ist gegeben, wenn
die folgende Gleichung auf ein Minimum zurückgeführt wird.
-
wobei der Buchstabe λ einen Wichtungskoeffizienten
bezeichnet, der umgekehrt proportional zu einem S/N (einem
Signal/Rausch-Verhältnis) ist. Der erste Ausdruck auf der
rechten Seite der Gleichung (3) enthüllt, daß eine
abschließende Lösung sich gemessenen Daten so nahe wie möglich
annähert. Der zweite Ausdruck auf der rechten Seite der
Gleichung (3) ist eine Abhängigkeit zum Glätten der Lösung.
Der Grad der Minimierung wird durch den
Wichtungskoeffizienten λ bestimmt. In dem Fall, wo genaue Daten verwendet
werden, wird ein Stören des ersten Ausdrucks hohe Kosten
verursachen und der Wichtungskoeffizient λ wird klein
gemacht. In dem Fall, wo verwendete Daten ein kleines S/N
aufweisen, sollte der zweite Ausdruck verstärkt und der
Wichtungskoeffizient λ groß gemacht werden.
-
Energie E(U, V) ist eine quadratische Funktion von
unbekannten Werten U und V. Gemäß einem allgemeinen Verfahren der
Berechnung einer Variation werden
Euler-Lagrange-Differentialgleichungen wie die folgenden linearen Gleichungen bezüglich
der Werte U und V ausgedrückt.
-
Auf diese Weise gibt es zwei lineare Gleichungen für jeden
Punkt.
-
Die Gleichungen (4) werden wie folgt gelöst. Die Gleichungen
(4) können in folgende Differenzgleichungen umgewandelt
werden.
-
wobei der Laplace-Operator (²)
durch eine Näherung ersetzt
wird, unter Verwendung von fünf orthogonalen Gitterpunkten.
-
Fig. 6 zeigt eine Vorrichtung nach dem Stand der Technik,
die Gleichung (5) verwendet. Mit Bezug auf Fig. 6 ist ein
Speicher 601 mit Daten von Helligkeitsmustern eines sich
bewegenden Bildes geladen, welches zu einem Zeitpunkt t
auftritt. Ein Speicher 602 wird mit Daten von
Helligkeitsmustern des sich bewegenden Bildes geladen, welches zum
Zeitpunkt t+Δt auftritt. Eine Gradientenberechnungseinheit 603
nimmt die Helligkeitsmuster aus den Speichern 601 und 602
und berechnet Gradienten Ix, Iy und It, wo Ix=∂I/ x,
Iy=∂I/ y und It=∂I/ t. Besonders können die Gradienten aus
den Bilddaten unter Verwendung eines geeigneten
Differenzieroperators, wie dem Robert-Gradienten, berechnet werden.
Daten der berechneten Gradienten Ix, Iy und It werden von
der Gradientenberechnungseinheit 603 in Speichern 604, 605
bzw. 606 gespeichert. Es sollte angemerkt werden, daß die
Kapazität der Speicher 601, 602, 604, 605 und 606 so gewählt
ist, daß sie der Anzahl von in den Gleichungen (5)
verwendeten Gitterpunkten entspricht.
-
Eine Differenzgleichungslösungseinheit 607 wirkt, um die
Gleichungen (5) zu lösen. Die
Differenzgleichungslösungseinheit 607 empfängt Werte Ixij, Iyij und Itij für einen
Gitterpunkt (i, j) aus den Speichern 604, 605 bzw. 606 und leitet
Werte Uij und Vij durch Verwendung einer geeigneten
Randbedingung ab und gibt die Werte Uij und Vij aus.
-
Das japanische Magazin "NIKKEI ELECTRONICS 1988. 8. 8 (Nr.
453)", Seiten 171-185 oder die Zeitschrift in den
Vereinigten Staaten "LEEE COMPUTER", Band 21, Nr. 3, Seiten 52-63
offenbaren ein Verfahren zum schnellen Lösen der Gleichungen
(5) durch Bezug auf Widerstandsnetzwerke.
-
Fig. 7 zeigt eine Vorrichtung nach dem Stand der Technik zum
Unterscheiden des Auftretens eines unerwarteten Objektes,
welches typischerweise auftritt, wenn sich die Szene einer
Folge von sich bewegenden Bildern ändert. Mit Bezug auf Fig.
7 werden Speicher 701 und 702 jeweils mit Daten der Werte
Uij und Vij geladen, die von der Vorrichtung von Fig. 6 für
ein gegenwärtiges Vollbild eines sich bewegenden Bildes
ausgegeben werden. Speicher 703 und 704 werden jeweils mit
Daten der Werte Uij und Vij geladen, die von der Vorrichtung
von Fig. 6 für ein nachfolgendes Vollbild des sich
bewegenden Bildes ausgegeben werden.
-
In der Vorrichtung von Fig. 7 wird eine Variation des
Geschwindigkeitsfeldes des sich bewegenden Bildes aus
sukzessiven Geschwindigkeicsfeldbildern detektiert und eine Änderung
der Szene des sich bewegenden Bildes wird als vorhanden
beurteilt, wenn die detektierte Variation groß ist. Entsprechend
empfängt ein Komparator 705 die sukzessiven
Geschwindigkeitswerte Uij aus den Speichern 701 und 703 und berechnet die
Differenz ΔUij zwischen den sukzessiven
Geschwindigkeitswerten Uij. Ähnlich empfängt ein Komparator 706 die
sukzessiven Geschwindigkeitswerte Vij aus den Speichern 702 und 704
und berechnet die Differenz ΔVij zwischen den sukzessiven
Geschwindigkeitswerten Vij.
-
Ein Diskriminator 707 empfängt die Differenzen ΔUij und ΔVij
aus den Komparatoren 705 und 707 und detektiert eine
Veränderung der Szene aus den Differenzen ΔUij und ΔVij durch Bezug
auf die folgende Gleichung.
-
wobei der Buchstabe T eine vorbestimmte Schwelle bedeutet.
Besonders wird eine Veränderung der Szene als vorhanden
beurteilt, wenn der Wert P der Gleichung (6) positiv ist.
Eine Veränderung der Szene wird als nicht vorhanden
beurteilt, wenn der Wert P der Gleichung (6) negativ ist.
-
Wie vorher beschrieben, wird in der Vorrichtung und in dem
Verfahren nach dem Stand der Technik, auf das in Fig. 7
Bezug genommen wird, ein Geschwindigkeitsfeld berechnet und
eine Veränderung der Szene eines sich bewegenden Bildes wird
als vorhanden beurteilt, wenn das berechnete
Geschwindigkeitsfeld eine große Variation erfährt. Aus diesem Grund
wird zuerst das Geschwindigkeitsfeld berechnet, um eine
Veränderung der Szene eines sich bewegenden Bildes zu
detektieren.
-
Jedoch ist eine Veränderung der Szene im allgemeinen ein
singulärer Zeitpunkt, wo es im allgemeinen schwierig ist, ein
Geschwindigkeitsfeld zu bestimmen. Dies ist so, weil Objekte
plötzlich bei einer Veränderung der Szene auftreten und
verschwinden. Zusätzlich erfahren jeweilige Punkte eines
Objektes bei einer Veränderung der Szene nicht lokal eine
Translation, so daß die Gleichung (1) nicht erfüllt ist.
-
Daher werden die Vorrichtung und das Verfahren nach dem
Stand der Technik, auf das in Fig. 7 Bezug genommen wird,
gezwungen, das Auftreten und Verschwinden eines Objektes unter
Verwendung eines Geschwindigkeitsfeldes mit einer geringen
Verläßlichkeit handzuhaben. Eine Überprüfung der Berechnung
der Bewegung und Struktur von Objekten aus einer Sequenz von
Bildern ist in den Berichten der I.E.E.E. Band 76, Seite 917
ff. (1988) zu finden.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Diese Erfindung löst das vorher erwähnte Problem in der
Vorrichtung und in dem Verfahren nach dem Stand der Technik.
Diese Erfindung ist auf eine Vorrichtung zum Detektieren
sich bewegender und nicht bewegender Bereiche in einem sich
bewegenden Bild gerichtet. Die Vorrichtung dieser Erfindung
detektiert verläßlich das Auftreten und das Verschwinden
eines Objektes und detektiert auch verläßlich eine
Veränderung einer Szene.
-
Das Konzept dieser Erfindung wird nachstehend erläutert. In
dieser Erfindung berechnet eine erste Berechnungseinrichtung
Helligkeitsgradientenmuster Ixij, Iyij und Itij bei jedem
von Gitterpunkten eines Bildes. Dann werden Werte Sxx bis
Stt auf der Basis der Helligkeitsgradientenmuster Ixij, Iyij
und Itij unter Verwendung der Werte innerhalb eines
Bereiches F um den Gitterpunkt (i, j) berechnet. Besonders wird
die Berechnung der Werte Sxx bis Stt durch Bezug auf die
folgenden Gleichungen ausgeführt.
-
Nachfolgend berechnet eine zweite Berechnungseinrichtung den
Wert dete [S] durch Bezug auf die folgende Gleichung.
-
Als nächstes berechnet eine dritte Berechnungseinrichtung
die Auftretenscharakteristikmenge Qij und die
Bewegungscharakteristik Pij durch Bezug auf die jeweiligen folgenden
Gleichungen
-
wobei s&sup4; = t² = 0,5² NO und der Buchstabe NO die Anzahl
von Pixeln innerhalb des Bereichs Γ bedeutet. Nachfolgend
beurteilt eine Beurteilungseinrichtung, ob eine Variation in
Daten bei jedem Gitterpunkt von dem Auftreten/Verschwinden-
Typ oder vom Bewegungstyp ist, auf Basis der Werte Qij und
Pij.
-
Die vorstehend erwähnten Berechnungseinrichtungen und die
Beurteilungseinrichtung werden weiter erläutert. Ein Bereich
um jeden Punkt (x, y, t) eines sich bewegenden Bildes wird
durch das Zeichen Γ bezeichnet und die erste
Berechnungseinrichtung bestimmt die Werte Sxx bis Stt durch Berechnen
der folgenden Integrale, die den Gleichungen (7-a) bis (7-f)
entsprechen.
-
wobei Ix ∂I/ x, Iy ∂I/ y und It ∂I/ t.
-
Der Parameter II t(Ix, Iy, It) wird eingeführt (das Zeichen
"t" bedeutet Transponieren) und die Matrix S, die in der
zweiten Berechnungseinrichtung gehandhabt wird, ist wie
folgt gegeben.
-
Der Wert det [S] ist gleich oder größer als 0. Dies wird wie
folgt bewiesen.
-
Für einen willkürlichen Vektor x = t(x1, x2, x3), ist die
folgende Relation erfüllt.
-
wobei a = tIIx. Da die quadratische Form txSx gleich oder
größer als 0 ist, wie oben gezeigt, ist die Determinante det [S]
auch gleich oder größer als 0. Mit anderen Worten, all die
Eigenwerte der Matrix S sind gleich oder größer als 0.
-
Bedingungen, um sicherer zu Erlauben, daß der Wert det [S] 0
beträgt, werden erzeugt, wenn die Gleichung (1) erfüllt ist.
Dies bedeutet die folgende Relation.
-
det [S] = 0 < => UIx + VIy + WIt = 0 ... (12)
-
Es sollte angemerkt werden, daß ein Teilen beider Seiten der
rechten Gleichung (12) durch W und Neudefinieren von U/W und
V/W als U und W zu der Gleichung (1) führt. Die Relation
(12) wird wie folgt bewiesen.
-
Der Beweis, der sich auf eine notwendige Bedingung bezieht,
wird zuerst geführt. Da det [S]=0, sind die Reihenvektoren
der Matrix S nicht linear und unabhängig. Die Reihenvektoren
der Matrix S werden mit (U, V, W) multipliziert, die sich
von (0, 0, 0) unterscheiden, und die Ergebnisse werden
addiert, so daß die folgenden Gleichungen erhalten werden.
-
USxx + VSxy + WSxt = 0
-
USxy + VSyy + WSyt = 0
-
USxt + VSyt + WStt = 0
-
Somit sind die folgenden Gleichungen gegeben.
-
Die Gleichungen (13-a), (13-b) und (13-c) werden jeweils mit
U, V bzw. W multipliziert und die Ergebnisse summiert. Somit
wird die folgende Gleichung erhalten
-
Dadurch ist bewiesen, daß UIx + VIy + WIt = 0.
-
Als zweites wird der Beweis geführt, der sich auf eine
hinreichende Bedingung bezieht. Da die Relation "UIx + VIy +
WIt = 0" innerhalb des Bereichs F gilt, sind die folgenden
Gleichungen gegeben.
-
Diese Gleichungen stimmen mit den folgenden Gleichungen
überein.
-
USxx + VSxy + WSxt = 0
-
USxy + VSyy + WSyt = 0
-
USxt + VSyt + WStt = 0
-
Somit ist gezeigt, daß die Reihenvektoren der Matrix S
linear abhängig sind. Somit wird zur Relation "det [S]=0"
gelangt.
-
Mit anderen Worten, eine Beurteilung, ob jeder Punkt in dem
sich bewegenden Bild eine Bewegung oder Nicht-Bewegung
erfährt, kann ausgeführt werden, indem geprüft wird, daß
det [S]=0 ist. Entsprechend wird der Wert det [S] für jeden
Punkt des sich bewegenden Bildes berechnet. Wenn der
berechnete Wert det [S] näher bei 0 liegt, wird der
betreffende Punkt so betrachtet, als daß er sicherer
Bewegung ausgesetzt ist. Wenn der berechnete Wert det [S]
positiv ist und weiter von 0 entfernt ist, wird der
betreffende Punkt so betrachtet, als daß er sicherer
stationär ist. Somit kann eine Veränderung der Szene oder
ein ähnlicher Zustand auf Basis der Tatsache detektiert
werden, daß die Werte det [S] für die jeweiligen Punkte
ausreichend groß sind.
-
Jedoch hängt der Wert der Charakteristikmenge det [S] von den
Skalierungen der Zeitachse und der Amplitude der Helligkeit
eines Bildes ab. Bewegung oder Nicht-Bewegung eines Punktes
ist eine Charakteristik, die im wesentlichen unabhängig von
der Skalierung derartiger Parameter ist. Aus einem
praktischen Blickpunkt ist es nur möglich, daß eine Beurteilung,
ob der Wert det [S] nahe bei 0 liegt, durch einen relativen
Vergleich mit anderen Parametern durchgeführt wird.
Entsprechend wird erwogen, daß der Wert det [S] dimensionslos und
normiert gemacht wird.
-
Zuerst werden die Dimensionen der jeweiligen Elemente der
Matrix S in Übereinstimmung gebracht. Dieser Prozeß bedeutet,
daß eine einzigartige lokale Relation zwischen Zeiteinheit
und Entfernungseinheit gegeben ist. Es wird nun angenommen,
daß die lokale Zeitskalierung innerhalb des Bereiches Γ so
gewählt ist, um {Sxx+Syy}/2 und Stt auszugleichen. Somit ist
die folgende Gleichung gegeben.
-
ν²{Sxx+Syy} = 2stt ... (14)
-
Die Dimension von ν ist [LT&supmin;¹]. Die folgende Matrix wird nun
betrachtet.
-
Die Dimensionen der jeweiligen Elemente dieser Matrix
stirnmen mit der Dimension von Stt überein. Die folgenden
Relationen gelten.
-
det (Σ) = ν&sup4;det[S]
-
trace (Σ) ν²(Sxx+Syy) + Stt 3stt
-
Da die Matrix S positiv def mit ist, sind die Eigenwerte λ&sub1;,
λ&sub2; und λ&sub3; der Matrix Σ gleich oder größer als 0. Die Werte
det (Σ) und trace (Σ) sind wie folgt gegeben.
-
det (Σ) = λ&sub1; λ&sub2; λ&sub3;
-
trace (Σ) = λ&sub1; + λ&sub2; + λ&sub3;
-
Das Verhältnis U zwischen dem Wert det (Σ) und der dritten
Potenz des Wertes trace (Σ)/3 wird nun wie folgt eingeführt.
-
Da das arithmetische Mittel und das geometrische Mittel die
Relation "(λ&sub1; λ&sub2; λ&sub3;)1/3 ≤ λ&sub1; + λ&sub2; + λ&sub3;)" aufweisen, ist
dieses Verhältnis U eine dimensionslose Größe im Bereich
zwischen 0 und 1.
-
Unter Idealbedingungen ist das Verhältnis U eine Größe, die
darstellt, ob sich jeder Punkt bewegt oder nicht bewegt.
Wenn das Verhältnis U direkt bei der Detektion von Bewegung
verwendet wird, neigt eine bedeutungslose Bewegung eines
Grades, der einem Rauschpegel vergleichbar ist, dazu, als eine
signifikante Bewegung beurteilt zu werden. Entsprechend
werden Rauschausdrücke s&sup4; und t² eingeführt und die
Auftretenscharakteristikmenge Q ist wie folgt definiert.
-
Da die Energie eines Quantisierungsfehlers ungefähr 0,5²
beträgt, werden die Rauschausdrücke s&sup4; und t² vorzugweise
als s&sup4; = t² = 0,5² NO eingestellt, wobei der Buchstabe
NO die Anzahl von Pixeln innerhalb des Bereiches Γ bedeutet.
-
Eine Variation, die sich nicht auf eine Erscheinung bezieht,
kann als eine Bewegung betrachtet werden und daher ist die
Bewegungscharakteristikmenge P wie folgt gegeben.
-
Die Summe R der Werte P und Q kennzeichnet Variationen
irgendeines Typs. Die Summe R wird wie folgt ausgedrückt.
-
Durch Bezug auf die Charakteristikmengen P und Q ist es
möglich, zu bestimmen, ob eine Variation an jedem Punkt eines
sich bewegenden Bildes von einer Bewegung oder dem Auftreten
eines Objektes herrührt. Die vorliegende Erfindung verwendet
dieses Prinzip.
-
Eine Ausführungsform dieser Erfindung wird nachstehend mit
Bezug auf die Zeichnungen beschrieben. Fig. 1 zeigt eine
Vorrichtung zum Detektieren sich bewegender und nicht
bewegender Bereiche in einem sich bewegenden Bild gemäß einer
Ausführungsform dieser Erfindung.
-
Mit Bezug auf Fig. 1 ist ein Speicher 101 mit Daten von
Helligkeitsmustern eines sich bewegenden Bildes geladen, welche
zu einem Zeitpunkt t auftreten. Ein Speicher 102 ist mit
Daten von Helligkeitsmustern des sich bewegenden Bildes
geladen, welche zu einem Zeitpunkt t+Δt auftreten. Eine
Gradientenberechnungseinheit 103 nimmt die Helligkeitsmuster aus
den Speichern 101 und 102 und berechnet Gradienten Ix, Iy
und It, wo Ix=∂I/ x, Iy=∂I/ y und It=∂I/ t. Insbesondere
könnten die Gradienten aus den Bilddaten unter Verwendung
eines geeigneten Differenzieroperators, wie des Robert-
Gradienten, berechnet werden. Daten der berechneten
Gradienten Ix, Iy und It werden aus der
Gradientenberechnungseinheit 103 in Speicher 104, 105 bzw. 106 gespeichert. Es
sollte angemerkt werden, daß die Kapazität der Speicher 101,
102, 104, 105 und 106 so ausgewählt ist, daß sie der Anzahl
von Gitterpunkten entspricht, die in den Gleichungen (5)
verwendet werden.
-
Ein Adreßgenerator 107 gibt Adreßsignale an Speicher 104,
105 und 106 aus. Daten der Gradienten Ix, Iy und It, welche
durch die Adreßsignale bezeichnet sind, werden aus den
Speichern 104, 105 und 106 ausgelesen und dann in
Multiplikations/Additionseinheiten 110, 111, 112, 113, 114 und 115
eingespeist. Der Adreßgenerator 107 gibt Schreibsignale an
die Multiplikations/Additionseinheiten 110-115 aus, welche
einen Zeitpunkt für das Schreiben der Daten in
Eingangsspeicherungsabschnitte der Einheiten 110-115 bestimmen. Der
Adreßgenerator 107 und die
Multiplikations/Additionseinheiten 110-115 nehmen ein Fenstergrößendetektionssignal 109
auf, welches die Anzahl benachbarter Pixel bestimmt, die den
Bereich Γ bilden. Die Erzeugung der Adreßsignale von dem
Adreßgenerator 107 wird ausgeführt, indem ein START-Signal
108 aktiviert wird, das in den Adreßgenerator 107
eingespeist wird. Wenn der Speicherungsabschnitt der
Multiplikations/Additionseinheit 110 vollständig mit den Eingangsdaten
gefüllt ist, gibt die Einheit 110 ein FULL-Signal 118 an den
Adreßgenerator 107 aus, um ein Schreibsignal 119 zu
deaktivieren und somit weiteres Schreiben der Daten in die Einheit
110 zu unterbrechen. Ähnlich kann ein weiteres Schreiben der
Daten in die anderen Multiplikations/Additionseinheiten
111-115 auch unterbrochen werden. Die Details werden später
mit Bezug auf Fig. 2 erläutert.
-
Die Multiplikations/Additionseinheit 110 empfängt die Daten
des Gradienten Ix aus dem Speicher 104. Die
Multiplikations/Additionseinheit 111 empfängt die Daten der Gradienten Ix
und Iy aus den Speichern 104 und 105. Die
Multiplikations/Additionseinheit 112 empfängt Daten der Gradienten Ix und It
aus den Speichern 104 und 106. Die
Multiplikations/Additionseinheit 113 empfängt die Daten des Gradienten Iy aus dem
Speicher 105. Die Multiplikations/Additionseinheit 114
empfängt die Daten der Gradienten Iy und It aus den
Speichern 105 und 106. Die Multiplikations/Additionseinheit 115
empfängt die Daten des Gradienten It aus dem Speicher 106.
Die Multiplikations/Additionseinheiten 110-115 berechnen die
Werte Sxx, Sxy, Sxt, Syy, Syt und Stt aus den empfangenen
Daten der Gradienten durch Bezug auf die jeweiligen
Gleichungen (7-a) bis (7-f). Die
Multiplikations/Additionseinheiten 110-115 geben Daten der berechneten Werte Sxx, Sxy,
Sxt, Syy, Syt und Stt an eine
Determinantenberechnungseinrichtung 116 aus. Die Größe des Bereichs F, der der
Multiplikation/Addition durch die
Multiplikations/Additionseinheiten 110-115 ausgesetzt ist, wird durch das
Fenstergrößenbezeichnungssignal 109 bestimmt. Die Details werden später
mit Bezug auf Fig. 3 erläutert.
-
Die Determinantenberechnungseinrichtung 116 berechnet die
Determinante detes] aus den Werten Sxx, Sxy, Sxt, Syy, Syt
und Stt durch Bezug auf Gleichung (8). Wenn
Eingangsspeicherungsabschnitte der Determinantenberechnungseinrichtung 116
vollständig mit den Eingangsdaten gefüllt sind und keine
weiteren Eingangsdaten aufnehmen können, gibt die
Determinantenberechnungseinrichtung 116 FULL-Signale FULLxx-FULLtt an
die Multiplikations/Additionseinheiten 110-115 aus, um eine
weitere Einspeisung von Daten aus den 110-115 in die
Determinantenberechnungseinrichtung
116 zu unterbrechen. Die
Determinantenberechnungseinrichtung 116 gibt Daten des
berechneten Wertes det [S] an einen Q/P-Signalgenerator 117 aus. Die
Daten der Werte Sxx, Syy und Stt werden in den
Q/P-Signalgenerator 117 durch die Determinantenberechnungseinrichtung
116 eingespeist. Die Determinantenberechnungseinrichtung 116
gibt ein WT-Signal 120 an den Q/P-Signalgenerator 117 aus,
welcher einen Zeitpunkt des Schreibens der Daten in
Eingangsspeicherungsabschnitte des Q/P-Signalgenerators 117
bestimmt. Die Deterrninantenberechnungseinrichtung 116 wird
in Abhängigkeit von dem START-Signal 108 aktiviert. Die
Details werden später mit Bezug auf Fig. 4 erläutert.
-
Der Q/P-Signalgenerator 117 berechnet die
Auftretenscharakteristikmenge Q aus den Werten det [S], Sxx, Syv und Stt
durch Bezug auf die Gleichung (17). Zusätzlich berechnet der
Q/P-Signalgenerator 117 die Bewegungscharakteristikmenge P
aus den Werten det [S], Sxx, Syy und Stt durch Bezug auf die
Gleichung (18). Der Q/P-Signalgenerator 117 gibt Daten der
berechneten Auftretenscharakteristikmenge Qij und der
berechneten Bewegungscharakteristikmenge Pij aus. Zusätzlich gibt
der Q/P-Signalgenerator 117 ein Schreibsignal WT aus,
welches ein Schreiben der Ausgangsdaten in einen Speicher
(nicht gezeigt) freigibt. Die Details werden später mit
Bezug auf Fig. 5 erläutert.
-
Fig. 2 zeigt die innere Struktur des Adreßgenerators 107.
Wie in Fig. 2 gezeigt, umfaßt der Adreßgenerator 202 ein
Register 201, das Daten des Fenstergrößenbezeichnungssignals
109 speichert, welches die Anzahl benachbarter Pixel
bestimmt, die der Multiplikation/Addition ausgesetzt sind. Die
Fenstergrößenbezeichnungsdaten werden aus dem Register 201
in einen Steuerungsschaltkreis 202 eingespeist. Wenn die
Fenstergrößenbezeichnungsdaten "3" darstellen, werden 3X3
benachbarte Pixel an und um den Gitterpunkt (i, j) des
gegenwärtigen
Pixels bezeichnet und der Adreßgenerator 107 gibt
ein Adreßsignal aus, um sequentiell die Daten der
bezeichneten Pixel aus den Speichern 104, 105 und 106 auszulesen.
-
Beispielsweise besteht der Steuerungsschaltkreis 202 aus
einem programmierbaren Mikroprozessor. Der
Steuerungsschaltkreis 202 wird in Abhängigkeit von dem START-Signal 108
aktiviert. Wenn das START-Signal 108 einen aktiven Zustand
annimmt, wird der Steuerungsschaltkreis 202 in einen
Anfangszustand bewegt. Dann arbeitet der Steuerungsschaltkreis 202,
um die Daten der bezeichneten benachbarten Pixel aus den
Speichern 104-106 zu den Multiplikations/Additionseinheiten
110-115 zu übertragen.
-
Der Betrieb des Steuerungsschaltkreises 202 wird weiter
erläutert. Wenn der Steuerungsschaltkreis 202 den
Anfangszustand annimmt, gibt der Steuerungsschaltkreis 202 ein
Steuersignal CLEAR an Auswahleinrichtungen 203 und 204 aus, so daß
"0" zu Registern 205 und 206 übertragen wird. Wie
nachstehend verdeutlicht wird, werden die i-Komponente und die
j-Komponente von Daten des Gitterpunktes (i, j) des
gegenwärtigen Pixels in den Registern 205 bzw. 206 gespeichert.
-
In dem Fall, wo die gespeicherten Dateninhalte des Registers
205 "i" und die gespeicherten Dateninhalte des Registers 206
"j" sind, steuert der Steuerungsschaltkreis 202 verschiedene
Vorrichtungen wie folgt. Der Steuerungsschaltkreis 202 teilt
die Fenstergrößenbezeichnungszahl durch zwei und wandelt
denn resultierenden Quotienten in eine entsprechende
negative Zahl um. Daten der negativen Zahl werden an Addierer 207
und 208 als Signale xCNST und yCNST ausgegeben. Der Addierer
207 addiert die negative Zahl xCNST und die Zahl, die durch
die gespeicherten Inhalte des Registers 205 dargestellt
wird. Die Ausgangsdaten von dem Addierer 207 werden in einem
Register 209 gespeichert. Der Addierer 208 addiert die
negative
Zahl yCNST und die Zahl, die durch die gespeicherten
Inhalte des Registers 206 dargestellt wird. Die Ausgangsdaten
von dem Addierer 208 werden in dem Register 209 gespeichert.
Das Register 209 gibt ein Speicheradreßsignal aus, das aus
den Ausgangsdaten von den Addierern 207 und 208
zusammengesetzt ist. Das Speicheradreßsignal wird in Speicher 104-106
(siehe Fig. 1) eingespeist. Das Speicheradreßsignal
bezeichnet Ein-Pixel-Daten, die aus den Speichern 104-106
ausgelesen werden. Dann aktiviert der Steuerungsschaltkreis 202 ein
Speicherlesesignal 210, das in die Speicher 104-106
eingespeist wird, und aktiviert ein fifo-Schreibsignal 211, das
in Eingangs-fifo-(first in first out bzw. zuerst herein
zuerst heraus) -Speicher der Multiplikations/Additionseinheiten
110-115 eingespeist wird, was ermöglicht, daß die
bezeichneten Ein-Pixel-Daten aus den Speichern 104-106 zu den
Multiplikations/Additionseinheiten 110-115 übertragen werden.
-
In dem Fall, wo ein fifo-Voll-Signal 212 aktiv ist, das aus
den Multiplikations/Additionseinheiten 110-115 in den
Steuerungsschaltkreis 202 eingespeist wird, das heißt in dem
Fall, wo die Eingangs-fifo-Puffer der
Multiplikations/Additionseinheiten 110-115 vollständig mit Daten gefüllt sind
und keine weiteren Daten aufnehmen können, hält der
Steuerungsschaltkreis 202 das fifo-Schreibsignal 211 inaktiv,
bis das fifo-Voll-Signal 212 zu dem inaktiven Zustand
zurückkehrt.
-
In der vorher erwähnten Sequenz werden die Ein-Pixel-Daten
aus den Speichern 104-106 zu den
Multiplikations/Additionseinheiten 110-115 übertragen. Dann werden die Daten eines
nachfolgenden Pixels aus den Speichern 104-106 zu den
Multiplikations/Additionseinheiten 110-115 wie folgt übertragen.
Der Steuerungsschaltkreis 202 inkrementiert die Zahl xCNST
um "1" und aktualisiert dadurch die Zahl xCNST, die in den
Addierer 207 eingespeist wird, hält aber die Zahl yCNST
unverändert,
die in den Addierer 208 eingespeist wird. Der
Addierer 207 addiert die neue Zahl xCNST und die Zahl, die
durch die gespeicherten Inhalte des Registers 205
dargestellt wird. Der Addierer 208 addiert die ungeänderte Zahl
yCNST und die Zahl, die durch die gespeicherten Inhalte des
Registers 206 dargestellt wird. Infolgedessen wird das
Speicheradreßsignal aktualisiert und bezeichnet eine neue
Adresse, deren i-Komponente um "1" relativ zu der vorhergehenden
i-Komponente inkrementiert ist, aber deren j-Komponente
unverändert ist. Daten werden aus den Speichern 104-106 in
Abhängigkeit von dem neuen Speicheradreßsignal ausgelesen.
-
Ein derartiger Prozeß wird iterativ wiederholt, während die
i-Komponente der Adresse wiederholt um "1" inkrementiert
wird. Wenn die i-Komponente der Adresse den Adreßwert der
rechten Kante des Fensterbereiches erreicht, wird die
i-Komponente der Adresse zu dem Adreßwert der linken Kante
des Fensterbereiches zurückgeführt und die j-Komponente der
Adresse wird um "1" inkrernentiert. Dann wird ein Prozeß des
Auslesens der Daten aus den Speichern 104-106 wiederholt,
während die i-Komponente der Adresse wiederholt um "1"
inkrernentiert, aber die j-Komponente der Adresse unverändert
gehalten wird.
-
Beispielsweise in dem Fall, wo die
Fenstergrößenbezeichnungszahl "3" beträgt und der Gitterpunkt des gegenwärtigen
Pixels durch die Adresse (i, j) bezeichnet ist, werden die
folgenden neun Adressen, die das gegenwärtige Pixel und
benachbarte Pixel um das gegenwärtige Pixel herum bezeichnen,
sequentiell in dem Register 209 vorbereitet: (i-1, j-1), (i,
j-1), (i+1), j-1), (i-1, j), (i, j), (i+1), (i-1, j+1),
(i, j+1) und (i+1, j+1).
-
Wenn der Zugriff zu den Daten des gegenwärtigen Pixels und
der benachbarten Pixel um das gegenwärtige Pixel herum
abgeschlossen
ist, setzt der Steurungsschaltkreis 202 die Zahl
xCNST auf "1". Der Addierer 207 addiert "1" und die Zahl,
die durch die Daten in dem Register 205 dargestellt wird.
Gleichzeitig steuert der Steurungsschaltkreis 202 die
Auswahleinrichtung 204 so, daß die Ausgangsdaten von dem
Addierer 207 zu dem Register 205 übertragen werden. In dem
Register 205 werden die vorhergehenden Daten durch die
Ausgangsdaten von dem Addierer 207 ersetzt, so daß die
i-Kornponente der Adresse um "1" inkrementiert wird. Während
dieser Periode verbleibt die j-Komponente der Adresse,
welche in dem Register 206 gespeichert ist, solange
unverändert, wie das gegenwärtige Pixel von einem Ende einer
Abtastzeile getrennt ist. Auf diese Weise wird die Adresse
des gegenwärtigen Pixels von (i, j) zu (i+1, j) verändert.
-
Wenn die j-Komponente der Adresse das Ende der Abtastzeile
erreicht, setzt der Steuerungsschaltkreis 202 das Register
205 auf "0" und inkrementiert die Zahl in dem Register 206
um "1". Diese Prozesse werden wie folgt verwirklicht. Der
Steuerungsschaltkreis 202 steuert die Auswahleinrichtung 204
so, daß "0" zu dem Register 205 übertragen und darin
gespeichert wird. Der Steuerungsschaltkreis 202 setzt auch
die Zahl yCNST auf "1". Der Addierer 208 addiert "1" und die
Zahl, die durch die Daten in dem Register 206 dargestellt
wird. Gleichzeitig steuert der Steuerungsschaltkreis 202 die
Auswahleinrichtung 203 so, daß die Ausgangsdaten von dem
Addierer 208 zu dem Register 206 übertragen werden. In dem
Register 206 werden die vorhergehenden Daten durch die
Ausgangsdaten von dem Addierer 208 ersetzt, so daß die
j-Komponente der Adresse um "1" inkrernentiert wird. Infolgedessen
wird die Adresse des gegenwärtigen Pixels als (0, j+1)
festgelegt.
-
Ähnliche Prozesse werden für alle Abtastzeilen durchgeführt.
Wenn die Prozesse abgeschlossen sind, das heißt, wenn alle
Daten aus den Speichern 104-106 ausgelesen sind, bewegt sich
der Steuerungsschaltkreis 202 in einen Stand-by-Zustand oder
einen Wartezustand.
-
Die Multiplikations/Additionseinheiten 110-115 weisen
ähnliche innere Strukturen auf. Fig. 3 zeigt die innere
Konstruktion von einer der Multiplikations/Additionseinheiten
110-115. Wie in Fig. 3 gezeigt, umfaßt die
Multiplikations/Additionseinheit Eingangs-fifo-Speicher 301 und 302, die mit
Daten eines Pixels aus zweien der Speicher 104-106 (siehe
Fig. 1) vorgeladen sind. Der Zeitpunkt des Ladens der Daten
in die fifo-Speicher 301 und 302 wird durch Schreibsignale
QWRiTE1 und QWRiTE2 bestimmt, die aus dem Adreßgenerator 107
eingespeist werden (siehe Fig. 1). Bei Abwesenheit einer
leeren Spalte der fifo-Speicher 301 und 302, geben die
fifo-Speicher 301 und 302 aktive Voll-Signale QFULL1 und
QFULL2 an den Adreßgenerator 107 aus (siehe Fig. 1), um eine
weitere Übertragung von Daten zu den fifo-Speichern 301 und
302 zu verhindern.
-
Ein Multiplizierer 304 berechnet das Quadrat der Zahl, die
durch das Fenstergrößenbezeichnungssignal dargestellt wird.
Die Ausgangsdaten von dem Multiplizierer 304 werden in einem
Register 309 gespeichert. Durch Verwendung der Zahl, die
durch die Ausgangsdaten von dem Multiplizierer 304
dargestellt wird, bestimmt ein Steuerungsschaltkreis 305 die
Anzahl von Daten, welche aus den fifo-Speichern 301 und 302
gelesen werden sollten, um die Multiplikation/Addition
durchzuführen.
-
Beispielsweise besteht der Steuerungsschaltkreis 305 aus
einem programmierbaren Mikroprozessor. In dem Fall, wo das
START-Signal aktiv ist, wiederholt der Steuerungsschaltkreis
305 die folgenden Prozesse solange iterativ, wie Daten in
den fifo-Speichern 301 und 302 vorhanden sind, das heißt,
solange wie QEMP-Signale, die von den fifo-Speichern 301 und
302 ausgegeben werden, inaktiv sind. Zuerst steuert der
Steuerungsschaltkreis 305 eine Auswahleinrichtung 307, so daß
"0" in einem Register 308 gespeichert wird. Zusätzlich
werden die Inhalte des Registers 309 in einen Zähler 310
kopiert. Zu diesem Zeitpunkt gibt der Steuerungsschaltkreis
305 aktive QREAD-Signale an die fifo-Speicher 301 und 302
aus und überträgt die Daten von den fifo-Speichern 301 und
302 zu einem Multiplizierer 306. Der Multiplizierer 306
multipliziert die Daten, die aus den fifo-Speichern 301 und 302
eingespeist werden. Die Ausgangsdaten von dem Multiplizierer
306 und die Ausgangsdaten von dem Register 308 werden durch
einen Addierer 306 addiert. Der Steuerungsschaltkreis 305
steuert die Auswahleinrichtung 307, so daß die Ausgangsdaten
von dem Addierer 306 zu einem Register 308 übertragen und
darin gespeichert werden. Entsprechend werden die in dem
Register 308 gespeicherten Daten aktualisiert.
-
Als nächstes wird die Zahl, die durch die Daten in dem
Zähler 310 dargestellt wird, um "1" dekrernentiert. Solange wie
die Zahl, die durch die Daten in dem Zähler 310 dargestellt
wird, von "0" abweicht, aktiviert der Steuerungsschaltkreis
305 die QREAD-Signale und überträgt nachfolgende Daten aus
den fifo-Speichern 301 und 302 zu dem Multiplizierer 303.
Der Multiplizierer 306 multipliziert die Daten, die aus den
fifo-Speichern 301 und 302 eingespeist werden. Die
Ausgangsdaten von dem Multiplizierer 306 und die Ausgangsdaten von
dem Register 308 werden durch einen Addierer 306 addiert.
Die Ausgangsdaten von dem Addierer 306 werden in das
Register 308 übertragen und darin gespeichert. Entsprechend
werden die in dem Register 308 gespeicherten Daten
aktualisiert.
-
Wenn die Zahl, die durch die Daten in dem Zähler 310
dargestellt wird, gleich "0" ist, gibt der Steurungsschaltkreis
305 ein aktives WRITE-Signal an die
Determinantenberechnungseinrichtung 116 aus(siehe Fig. 1) und überträgt die Daten
von dem Register 308 zu der
Determinantenberechnungseinrichtung 116 als Ausgangsdaten von der
Multiplikations/Additionseinheit. In dem Fall, wo die
Determinantenberechnungseinrichtung 116 nicht für den Empfang von Daten bereit ist, das
heißt, in dem Fall, wo ein QFULL-Signal aktiv ist, das von
der Determinantenberechnungseinrichtung 116 zu dem
Steuerungsschaltkreis 305 ausgegeben wird, wird die Übertragung
der Daten von dem Register 308 zu der
Determinantenberechnungseinrichtung 116 ausgesetzt, bis das QFULL-Signal
inaktiv wird.
-
Wenn diese Prozesse abgeschlossen sind, wird ein Stück der
Multiplikations/Additionsdaten zu der
Determinantenberechnungseinrichtung 116 übertragen. Dann, um nachfolgende
Multiplikations/Additionsdaten zu erzeugen, kopiert der
Steuerungsschaltkreis 305 die Inhalte des Registers 309 in den
Zähler 310 und aktiviert die QREAD-Signale, um die
Multiplikation/Addition wieder zu starten.
-
Somit wird der Wert der Daten D, die von der
Multiplikations/Additionseinheit 110 ausgegeben werden, wie folgt
ausgedrückt.
-
wobei der Buchstabe N die Größe von einer Seite des Fensters
bezeichnet und das Zeichen Ixij die Daten des Pixels (i, j)
bezeichnet, welche in dem Speicher 104 gespeichert sind.
Somit berechnet die Multiplikations/Additionseinheit 110 den
Wert, der durch die Gleichung (7-a) gegeben wird.
-
Fig. 4 zeigt die innere Struktur der
Determinantenberechnungseinrichtung 116. Wie in Fig. 4 gezeigt, umfaßt die
Determinantenberechnungseinrichtung 116
Eingangs-fifo-Speicher 401, 402, 403, 404, 405 und 406, die mit den Daten der
jeweiligen Werte Sxx, Sxt, Syy, Sxy, Stt und Syt aus den
Multiplikations/Additionseinheiten 110-115 geladen sind
(siehe Fig. 1). Die Zeitpunkte des Ladens der Daten in die
fifo-Speicher 401-406, werden durch jeweilige Schreibsignale
Wtxx, Wtxt, Wtyy, Wtxy, Wttt und Wtyt bestimmt, die aus den
Multiplikations/Additionseinheiten 110-115 eingespeist
werden (siehe Fig. 1). Bei Abwesenheit einer leeren Spalte
der fifo-Speicher 401-406, geben die fifo-Speicher 401-406
aktive Voll-Signale FULLxx, FILLxt, FULLyy, FULLxy, FULLtt
und FULLty an die Multiplikations/Additionseinheiten 110-115
aus (siehe Fig. 1), um ein weiteres Übertragen von Daten zu
den fifo-Speichern 401-406 zu verhindern.
-
Ein Steuerungsschaltkreis 407 erzeugt verschiedene Signale,
um den Wert det [S] unter Verwendung der folgenden Gleichung
zu berechnen.
-
det [S] = SxxSyyStt + SxySytSxt + SxtSxySyt
-SxxSyt² - SyySxt² - SttSxy²
-
Beispielsweise besteht der Steuerungsschaltkreis 407 aus
einem programmierbaren Mikroprozessor. Der
Steuerungsschaltkreis 407 arbeitet wie folgt.
-
Wenn das START-Signal aktiviert wird, beginnt der
Steuerungsschaltkreis 407 die folgenden Prozesse iterativ zu
wiederholen. Zuerst gibt der Steuerungsschaltkreis 407 ein aktives
CLEAR-Signal an eine Auswahleinrichtung 418 aus, so daß "0"
zu einem Register 417 übertragen wird. Der
Steuerungsschaltkreis 407 gibt ein CLK-Signal an das Register 417 aus, wobei
"0" in dem Register 417 gespeichert wird. Als nächstes,
solange wie die fifo-Speicher 401-406 nicht leer sind, das
heißt, solange wie QEMP-Signale, die von den fifo-Speichern
401-406 an den Steuerungsschaltkreis 407 ausgegeben werden,
inaktiv sind, gibt der Steuerungsschaltkreis 407 aktive
RD-Signale an die fifo-Speicher 401-406 aus und liest die
Daten aus den fifo-Speichern 401-406 aus. Der
Steuerungsschaltkreis 407 gibt Signale S0, S1 und S2 an
Auswahleinrichtungen 408, 409 und 410 aus, um die Auswahleinrichtungen
408, 409 bzw. 410 zu steuern. Anfangs wählen die
Auswahleinrichtungen 408, 409 und 410 die Ausgangsdaten Sxx, Syy
und Stt aus den fifo-Speichern 401, 403 und 405 aus, so daß
Multiplizierer 411 und 412 die Daten Sxx, Syy und Stt
multiplizieren, um den Wert Sxxsyystt zu berechnen. Der
Steuerungsschaltkreis 407 setzt eine Berechnungseinrichtung 413
in einen Additionsmoduszustand, so daß die
Berechnungseinrichtung 413 die Ausgangsdaten SxxSyyStt aus dem
Multiplizierer 412 und die Ausgangsdaten "0" aus dem Register 417
addiert. Der Steuerungsschaltkreis 407 steuert die
Auswahleinrichtung 418 so, daß die Ausgangsdaten von der
Berechnungseinrichtung 413 zu dem Register 417 übertragen und
darin gespeichert werden. Auf diese Weise werden die Daten
in dem Register 417 auf den Wert SxxSyyStt aktualisiert. Als
nächstes wählen die Auswahleinrichtungen 408, 409 und 410
die Ausgangsdaten Sxy, Syt und Sxt aus den fifo-Speichern
404, 406 und 402 aus, so daß die Multiplizierer 411 und 412
die Daten Sxy, Syt und Sxt multiplizieren, um den Wert
Sxysytsxt zu berechnen. Der Steuerungsschaltkreis 407 hält
die Berechnungseinrichtung 413 in dem Additionsmoduszustand,
so daß die Berechnungseinrichtung 413 die Ausgangsdaten
Sxysytsxt von dem Multiplizierer 412 und die Ausgangsdaten
Sxxsyystt von dem Register 417 addiert. Der
Steuerungsschaltkreis
407 steuert die Auswahleinrichtung 418, so daß die
Ausgangsdaten von der Berechnungseinrichtung 413 zu dem
Register 417 übertragen und darin gespeichert werden. Auf
diese Weise werden die Daten in dem Register 417 auf den
Wert SxxSyyStt+SxySytSxt aktualisiert. Als nächstes wählen
die Auswahleinrichtungen 408, 409 und 410 die Ausgangsdaten
Sxt, Sxy und Syt aus den fifo-Speichern 402, 404 und 406
aus, so daß die Multiplizierer 411 und 412 die Daten Sxt,
Sxy und Syt multiplizieren, um den Wert SxtSxySyt zu
berechnen. Der Steuerungsschaltkreis 407 hält die
Berechnungseinrichtung 413 in dem Additionsmoduszustand, so daß die
Berechnungseinrichtung 413 die Ausgangsdaten SxtSxySyt von
dem Multiplizierer 412 und die Ausgangsdaten
SxxSyyStt+SxySytSxt von dem Register 417 addiert. Der
Steuerungsschaltkreis 407 steuert die Auswahleinrichtung 418 so,
daß die Ausgangsdaten von der Berechnungseinrichtung 413 zu
dem Register 417 übertragen und darin gespeichert werden.
Auf diese Weise werden die Daten in dem Register 417 auf den
Wert SxxSyyStt+SxySytSxt+SxtSxySyt aktualisiert. Als
nächstes wählen die Auswahleinrichtungen 408, 409 und 410
die Ausgangsdaten Sxx, Syt und Syt aus den fifo-Speichern
401 und 406 aus, so daß die Multiplizierer 411 und 412 die
Daten Sxx, Syt und Syt multiplizieren, um den Wert SxxSyt²
zu berechnen. Der Steuerungsschaltkreis 407 ändert die
Berechnungseinrichtung 413 in einen
Subtraktionsmoduszustand, so daß die Berechnungseinrichtung 413 die
Ausgangsdaten SxxSyt² des Multiplizierers 412 von den Ausgangsdaten
SxxSyyStt+SxySytSxt+SxtSxySyt des Registers 417 subtrahiert.
Der Steuerungsschaltkreis 407 steuert die Auswahleinrichtung
418 so, daß die Ausgangsdaten von der Berechnungseinrichtung
413 zu dem Register 417 übertragen und darin gespeichert
werden. Auf diese Weise werden die Daten in dem Register 417
auf den Wert SxxSyyStt+SxySytSxt+SxtSxySyt-SxxSyt²
aktualisiert. Als nächstes wählen die Auswahleinrichtungen 408, 409
und 410 die Ausgangsdaten Sxt, Syy und Sxt aus den fifo-
Speichern 402 und 4Q3 so aus, daß die Multiplizierer 411 und
412 die Daten Sxt, Syy und Sxt multiplizieren, um den Wert
SyySxt² zu berechnen. Der Steuerungsschaltkreis 407 hält die
Berechnungseinrichtung 413 in dem Subtraktionsmoduszustand,
so daß die Berechnungseinrichtung 413 die Ausgangsdaten
SyySxt² des Multiplizierers 412 von den Ausgangsdaten
SxxSyyStt+SxySytSxt+SxtSxySyt-SxxSyt² des Registers 417
subtrahiert. Der Steuerungsschaltkreis 407 steuert die
Auswahleinrichtung 418 so, daß die Ausgangsdaten von der
Berechnungseinrichtung 413 zu dem Register 417 übertragen
und darin gespeichert werden. Auf diese Weise werden die
Daten in dem Register 417 auf den Wert
SxxSyyStt+SxySytSxt+SxtSxySyt-SxxSyt²-SyySxt² aktualisiert.
Schließlich wählen die Auswahleinrichtungen 408, 409 und 410
die Ausgangsdaten Sxy, Sxy und Stt aus den fifo-Speichern
404 und 405 aus, so daß die Multiplizierer 411 und 412 die
Daten Sxy, Sxy und Stt multiplizieren, um den Wert SttSxy²
zu berechnen. Der Steuerungsschaltkreis 407 hält die
Berechnungseinrichtung 413 in dem Subtraktionsmoduszustand,
so daß die Berechnungseinrichtung 413 die Ausgangsdaten
SttSxy² des Multiplizierers 412 von den Ausgangsdaten
ten in dem Register 417 auf den Wert
SxxSyyStt+SxySytSxt+SxtSxySyt-SxxSyt²-SyySxt²-SyySxt² des Registers
417 subtrahiert. Der Steuerungsschaltkreis 407 steuert die
Auswahleinrichtung 418 so, daß die Ausgangsdaten von der
Berechnungseinrichtung 413 zu dem Register 417 übertragen
und darin gespeichert werden. Auf diese Weise werden die
Daten in dem Register 417 auf den Wert
SxxSyyStt+SxySytSxt+SxtSxySyt-SxxSyt²-SyySxt²-SyySxt² gleich
dem Wert det [S] aktualisiert.
-
Zu diesem Zeitpunkt werden die Daten Sxx, Syy und Stt in
Registern 414, 415 bzw. 416 gespeichert. In dem Fall, wo ein
FULL-Signal inaktiv ist, das von dem Q/P-Signalgenerator 117
(siehe Fig. 1) in den Steuerungsschaltkreis 407 eingespeist
wird, gibt der Steuerungsschaltkreis 407 ein aktives
Wt-Signal
an den Q/P-Signalgenerator 117 aus (siehe Fig. 1), um
die Daten Sxx, Syy, Stt und det aus den Registern 414-417
zu dem Q/P-Signalgenerator 117 zu übertragen.
-
Nachdem das Ausgeben eines Satzes der Daten von der
Determinantenberechnungseinrichtung 116 an den Q/P-Signalgenerator
117 abgeschlossen ist, startet der Steuerungsschaltkreis 407
Prozesse des Auslesens der nachfolgenden Daten aus den
fifo-Speichern 401-406 und des Erzeugens der nächstens Werte
Sxx, Syv, Stt und det [S]
-
Fig. 5 zeigt die innere Struktur des Q/P-Signalgenerators
117. Wie in Fig. 5 gezeigt, umfaßt der Q/P-Signalgenerator
117 Eingangs-fifo-Speicher 501, 502 und 503 und 504, welche
mit jeweiligen Daten det [S], Sxx, Syy und Stt von der
Determinantenberechnungseinrichtung 116 geladen sind (siehe Fig.
1) in Abhängigkeit von WT-Signalen, die von der
Determinantenberechnungseinrichtung 116 eingespeist werden. Bei der
Abwesenheit einer leeren Spalte der fifo-Speicher 501-504
geben die fifo-Speicher 501-504 aktive FULL-Signale an die
Determinantenberechnungseinrichtung 116 aus (siehe Fig. 1),
um ein weiteres Übertragen von Daten zu den fifo-Speichern
501-504 zu verhindern.
-
Ein Steuerungsschaltkreis 505 wird in Abhängigkeit von dem
START-Signal aktiviert. Der Steuerungsschaltkreis 505
erzeugt verschiedene Signale, um Ausgangsdaten Qij und Pij
von den Werten det [S], Sxx, Syy und Stt abzuleiten.
Zusätzlich gibt der Steuerungsschaltkreis 505 ein WT-Signal zum
Schreiben der Daten Qij und Pij in einen externen Speicher
aus. Beispielsweise besteht der Steuerungsschaltkreis 505
aus einem programmierbaren Mikroprozessor. Der
Steuerungsschaltkreis 505 arbeitet wie folgt.
-
In dem Fall, wo QEMP-Signale inaktiv sind, die aus den
fifo-Speichern 501-504 in den Steuerungsschaltkreis 505
eingespeist werden, das heißt, in dem Fall, wo Daten in den
fifo-Speichern 501-504 vorhanden sind, gibt der
Steuerungsschaltkreis 505 aktive RD-Signale an die fifo-Speicher
501-504 aus und liest die Daten det [S] Sxx, Syy und Stt aus
den fifo-Speichern 501-504 aus. Die Ausgangsdaten det [S] aus
dem fifo-Speicher 501 werden einer 2-Bit-Verschiebung nach
links durch einen Schieber 506 ausgesetzt und werden in den
Wert 4det [S] umgewandelt. Ein Addierer 508 addiert die Werte
Sxx und Syy und speist das resultierende Sxx+Syy in einen
Multiplizierer 509 ein. Der Multiplizierer 509 quadriert den
Wert Sxx+Syy und leitet den Wert (Sxx+Syy)² ab. Ein
Multiplizierer 510 multipliziert die Ausgangsdaten (Sxx+Syy)² von
dem Multiplizierer 509 mit den Daten Stt und berechnet den
Wert (Sxx+Syy)²Stt. Ein Addierer 511 addiert die
Ausgangsdaten (Sxx+Syy)²Stt von dem Multiplizierer 510 und einen
vorbestimmten Wert B. Der vorbestimmte Wert B entspricht dem
Rauschterrn s&sup4; t² in den Gleichungen (17) und (18).
Insbesondere wird der Wert B wie folgt festgelegt.
-
B = (0,5² NO)²,
-
wobei der Buchstabe NO die Anzahl von Pixeln innerhalb des
Fensters bezeichnet. Somit gibt der Addierer 511 den Wert
(Sxx+Syy)²Stt+ s&sup4; t² aus, wobei der Term s&sup4; t² gleich dem
vorbestimmten Wert B ist. Ein Subtrahierer 507 subtrahiert
die Ausgangsdaten 4det [S] des Schiebers 506 von den
Ausgangsdaten (Sxx+Syy)²Stt des Multiplizierers 510 und leitet den
Wert (Sxx+Syy)²Stt-4det [S] ab. Ein Dividierer 512 dividiert
die Ausgangsdaten 4det [S] von dem Schieber 506 durch die
Ausgangsdaten (Sxx+Syy)²Stt+ s&sup4; t² von dem Addierer 511 und
leitet den Wert ab, der wie folgt ausgedrückt wird.
-
{4det [S] }/{ (Sxx+Syy)²Stt+ s&sup4; t²}
-
Die Ausgangsdaten von dem Dividierer 512 stimmen mit dem
Auftretenscharakteristikwert Qij überein, der durch die
Gleichung (17) gegeben wird. Ein Dividierer 513 dividiert die
Ausgangsdaten (Sxx+Syy)²stt-4det [S] von dem Subtrahierer 507
durch die Ausgangsdaten (Sxx+Syy)²Stt+ s&sup4; t² von dem
Addierer 511 und leitet den Wert ab, der wie folgt
ausgedrückt wird.
-
{(Sxx+Syy)²Stt-4det [S] }/{ (Sxx+Syy)²Stt+ s&sup4; t²}
-
Die Ausgangsdaten von dem Dividierer 513 stimmen mit dem
Bewegungscharakteristikwert Pij überein, der durch Gleichung
(18) gegeben wird.
-
Auf diese Weise können der Auftretenscharakteristikwert Qij
und der Bewegungscharakteristikwert Pij an den
Ausgangsanschlüssen der Dividierer 512 und 513 erhalten werden. Für
jeden der Punkte eines sich bewegenden Bildes ist es
möglich, zu detektieren, ob ein Charakter der Daten an dem
Punkt von dem sich bewegenden Typ oder von dem sich nicht
bewegenden Typ ist, auf der Basis des
Auftretenscharaktenstikwertes Q und des Bewegungscharakteristikwertes P.
Zusätzlich ist es möglich, die Bewegung eines Objektes
innerhalb des sich bewegenden Bildes, das Auftreten eines
unerwarteten Objektes innerhalb des sich bewegenden Bildes
und das Vorhandensein eines fremden Objektes innerhalb des
sich bewegenden Bildes zu detektieren.
-
Fig. 8 zeigt einen Beurteilungsabschnitt der Vorrichtung der
Ausführungsform dieser Erfindung. Wie in Fig. 8 gezeigt,
umfaßt der Beurteilungsabschnitt Komparatoren 805 und 806,
welche jeweils den Bewegungscharakteristikwert Pij bzw. den
Auftretenscharakteristikwert Qij von dem Q/P-Signalgenerator
117 (siehe Fig. 1) aufnehmen. Der Komparator 805 vergleicht
den Bewegungscharakteristikwert Pij mit einem vorbestimmten
Schwellenwert PH. Wenn der Bewegungscharakteristikwert Pij
den Schwellenwert PH überschreitet, übergibt der Komparator
805 den Wert Pij an einen Komparator 807. Wenn der
Bewegungscharakteristikwert Pij gleich oder kleiner als der
Schwellenwert PH ist, gibt der Komparator 805 "0" an den Komparator
807 aus. Auf diese Weise unterscheidet der Komparator 805
zwischen einem vernachlässigbaren
Bewegungscharakteristikwert und einem merklichen Bewegungscharakteristikwert und
weist den vernachlässigbaren Bewegungscharakteristikwert
zurück. Der Komparator 806 vergleicht den
Auftretenscharakteristikwert Qij mit einem vorbestimmten Schwellenwert QH.
Wenn der Auftretenscharakteristikwert Qij den Schwellenwert
QH überschreitet, übergibt der Komparator 806 den Wert Qij
an den Komparator 807. Wenn der Auftretenscharakteristikwert
Qij gleich oder kleiner als der Schwellenwert QH ist, gibt
der Komparator 806 "0" an den Komparator 807 aus. Auf diese
Weise unterscheidet der Komparator 806 zwischen einem
vernachlässigbaren Auftretenscharakteristikwert und einen
merklichen Auftretenscharakteristikwert und weist den
vernachlässigbaren Auftretenscharakteristikwert zurück. Der
Komparator 807 vergleicht die Ausgangsdaten von den Komparatoren
805 und 806. Wenn der Ausgangswert von dem Komparator 805
den Ausgangswert von dem Komparator 806 überschreitet, das
heißt, wenn die Bewegungscharakteristik dominant ist, gibt
der Komparator 807 "2" aus. Wenn der Ausgangswert von dem
Komparator 805 gleich oder kleiner als der Ausgangswert von
dem Komparator 806 ist, das heißt, wenn die
Auftretenscharakteristik dominant ist, gibt der Komparator 807 "1"
aus. Wenn sowohl der Ausgangswert von dem Komparator 805 als
auch der Ausgangswert von dem Komparator 806 "0" betragen,
das heißt, wenn sowohl die Bewegungscharakteristik als auch
die Auftretenscharakteristik vernachlässigbar sind, gibt der
Komparator 807 "0" aus. Auf diese Weise stellt das
Ausgangssignal von dem Komparator 807 dar, ob der Zustand von Daten
des Pixels vom sich bewegenden Typ, vom auftretenden Typ
oder von dem sich nicht bewegenden Typ ist. Insbesondere
wenn das Ausgangssignal von dem Komparator 807 "2" annimmt,
ist der Zustand von Daten des Pixels von dem sich bewegenden
Typ. Wenn das Ausgangssignal von dem Komparator 807 "1"
annimmt, ist der Zustand von Daten des Pixels vorn
auftretenden Typ. Wenn das Ausgangssignal von dem Komparator 807
"0" annimmt, ist der Zustand von Daten von dem Pixel von dem
sich nicht bewegenden Typ. Die Ausgangsdaten von dem
Komparator 807 werden an einem Speicherungsort eines Speichers 808
gespeichert, welcher durch eine Adresse (i, j) bezeichnet
wird.
-
Ein sich bewegender Bereich in einem sich bewegenden Bild
wird durch Prüfen der gespeicherten Dateninhalte des
Speichers 808 wie folgt detektiert. Zuerst werden Pixel mit dem
Datenwert "1" in dem Speicher 808 verfolgt und die
Begrenzung eines sich bewegenden/auftretenden Bereiches wird
detektiert. Dann werden die Datenwerte der Pixel innerhalb des
sich bewegenden/auftretenden Bereiches geprüft. Wenn die
Datenwerte der Pixel innerhalb des sich
bewegenden/auftretenden Bereiches "2" betragen, wird der sich
bewegende/auftretende Bereich als ein sich bewegender Bereich beurteilt.
Wenn die Datenwerte der Pixel innerhalb des sich
bewegenden/auftretenden Bereiches "1" betragen, wird der sich
bewegende/auftretende Bereich als ein auftretender Bereich
beurteilt.