PatentDe  


Dokumentenidentifikation DE3486316T2 15.09.1994
EP-Veröffentlichungsnummer 0378253
Titel System und Verfahren zum Umformen und Filtern von Videobildern.
Anmelder Ampex Systems Corp., Redwood City, Calif., US
Erfinder Beaulier, Daniel A., Menlo Park, California, US;
Marsh, Theodore A., San Fransisco, California, US
Vertreter Weickmann, H., Dipl.-Ing.; Fincke, K., Dipl.-Phys. Dr.; Weickmann, F., Dipl.-Ing.; Huber, B., Dipl.-Chem.; Liska, H., Dipl.-Ing. Dr.-Ing.; Prechtel, J., Dipl.-Phys. Dr.rer.nat.; Böhm, B., Dipl.-Chem.Univ. Dr.rer.nat., Pat.-Anwälte, 81679 München
DE-Aktenzeichen 3486316
Vertragsstaaten DE, FR, GB
Sprache des Dokument En
EP-Anmeldetag 30.03.1984
EP-Aktenzeichen 901055012
EP-Offenlegungsdatum 18.07.1990
EP date of grant 08.06.1994
Veröffentlichungstag im Patentblatt 15.09.1994
IPC-Hauptklasse H03H 17/02
IPC-Nebenklasse G06F 15/68   G06F 15/62   

Beschreibung[de]
1. Gebiet der Erfindung

Diese Erfindung bezieht sich auf digitale Datentransformationsfilter und insbesondere auf ein Transformations- und Filtersystem sowie ein Verfahren für Fernsehvideodaten.

2. Hintergrund der Erfindung

An der Verarbeitung oder Transformation eines in einem Bildspeicher gespeicherten Rasters von Daten, beispielsweise eines Fernsehvideobildes sind zwei Prozesse beteiligt. Ein Prozeß besteht in der Adressierung oder Bewegung der das Bild repräsentierenden Datenwerte an Quellenbild-Abtastpunkten von ihrer Anfangslage im Quellenbild zu einer transformierten Stelle in einem Zielbild. Beim anderen Prozeß handelt es sich um Filterung.

Zur Behandlung der Datenpunkte im transformierten Zielbild, welche zwischen Abtastpunkte des Quellenbildes fallen, ist eine Filterung erforderlich. D.h., daß das Zielbild als Raster von Zielbild-Abtastdatenpunkten strukturiert werden muß, von denen jeder von transformierten Quellenbild-Datenpunkten abgeleitet ist, welche zwischen Zielbild-Datenpunkte fallen können. Soll darüber hinaus die Größe des Bildes geändert werden, so muß das Quellenbild einer Tiefpaßfilterung unterzogen werden, so daß das transformierte Bild eine maximale Frequenz besitzt, welche kleiner als die Hälfte der vorgegebenen Abtastfrequenz des Zielbildes ist, um dem Nyquist-Abtastkriterium zu genügen. Dies gilt insbesondere für eine Bildkompression, wobei ein derartiger fehlerhafter Vorgang zu Problemen, wie beispielsweise einer Verfremdung, führt.

In Videoprozessorsystemen gewöhnlich verwendete Bildspeicher speichern ein Videobild als Raster von abgetastete Datenpunkte repräsentierenden Bildpunkten oder Digitalwerten. Wird ein Videobild von einer Analogquelle, beispielsweise einer Kamera, empfangen, so muß es zunächst periodisch abgetastet und digitalisiert und sodann als Raster von Bildpunkten oder Datenpunktwerten in einen Bildspeicher geschrieben werden. Soll ein gespeichertes Bild etwa durch Kompression, Vergrößerung oder Parallelverschiebung transformiert werden, so führen die meisten bekannten Systeme ein Transversalfilter fester Länge vor der Transformation über die Datenpunkte im Quellenbildspeicher. Durch Verwendung ausgewählter Filterparameter wird die Grenzfrequenz des Filters geändert, um bei zunehmendem Betrag der Bildkompression eine fortschreitend kleinere Grenzfrequenz zu erzeugen. Damit wird die Frequenz der Zieldaten unterhalb der halben Zieldaten-Abtastfrequenz nach Kompression gehalten. Oft ist es erwünscht, dem Betrachter ein graduell kleiner werdendes Bild zu präsentieren. Während einer graduellen Zunahme des Kompressionsverhältnisses von aufeinanderfolgenden Bildern müssen jedoch bei fortschreitend kleiner werdendem Zielbild von Zeit zu Zeit neue Sätze von Filterparametern in das Filter geschaltet werden. Jede Änderung der Filterparameter führt zu einer ästhetisch unangenehmen plötzlichen Änderung der Frequenzcharakteristik des betrachteten Zielbildes. Weiterhin ist für hochkomprimierte Bilder eine sehr kleine Grenzfrequenz erforderlich. Aus Kostengründen sind praktische Filter auf zehn oder weniger Abgriffe bzw. Abtastpunkte beschränkt. Bei abnehmender Bildgröße führt dies zu weniger und weniger Abtastpunkten im transformierten Zielbild. Fällt das Zielbild unter die durch das Filter noch zu realisierende Minimalgröße, so treten schwerwiegende Verfremdungsprobleme auf und die Bildqualität wird schnell schlechter.

Die bekannte Filterentwicklungstheorie geht von der Entwicklung eines hypothetischen kontinuierlichen Referenzfilters mit einer Grenzfrequenz gleich der halben Abtastfrequenz des Systems, d. h. der Abtastfrequenz des Zielbildes aus. Dieses Referenzfilter wird sodann zeitlich durch den inversen antizipierten Kompressionsfaktor normiert, um das richtige Filter im Quellenraum zu erhalten. Mit anderen Worten wird die Impulscharakteristik des Referenzfilters "gedehnt", so daß bei Auftreten einer Kompression die ursprüngliche Impulscharakteristik rückgebildet wird. Die Filterkoeffizienten für ein Digitalfilter können aus diesem imaginären gedehnten kontinuierlichen Filter durch Abtastung seiner Impulscharakteristik an Stellen abgeleitet werden, die mit einem Gitter von Quellenbild-Abtastpunkten zusammenfallen.

Da die Referenzimpulscharakteristik im Quellenraum gedehnt wird, spannt sie mehr und mehr Gitterpunkte auf, was ein Filter mit vielen Koeffizienten erforderlich macht. Erstreckt sich beispielsweise die Bildreferenzcharakteristik für volle Größe über acht Abtastpunkte, so ist für eine Kompression von 10 : 1 ein Filter mit 80 Punkten und für eine Kompression von 20 : 1 ein Filter mit 160 Punkten erforderlich. Dies ist wirtschaftlich unpraktisch. Entsprechend macht eine sich über vier Abtastpunkte erstreckende Referenzcharakteristik für ein Bild voller Größe für Kompressionen von 10 : 1 bzw. 20 : 1 ein Filter mit 40 bzw. 80 Punkten erforderlich.

Eine weitere diesem Problem Rechnung tragende Technik ist die sog. Vordezimalisierung, wie sie in der EP-0049288 mit dem Titel "System zur räumlichen Transformation von Bildern" beschrieben ist. Die Vordezimalisierungstechnik macht die aufeinander folgende Erzeugung und Speicherung von Mehrfachkopien mit halber Größe jeder Zeile eines Videobildes erforderlich. Die Reduzierung der erforderlichen Zielgröße erfolgt dann durch Wahl der kleinsten vordezimalisierten Kopie, welche größer als die Zielgröße ist, und Realisierung der weiteren zur Erreichung der Endzielgröße erforderlichen Kompression. Bei dieser Dezimalisierungstechnik werden ökonomisch praktische Filter hoher Qualität verwendet, da die Kompression für jeden Einzelfilterdurchlauf niemals größer als 2 : 1 ist. Um jedoch mit Echtzeit-Videofrequenzen zu arbeiten, macht die Vordezimalisierung teure schnelle im Parallelbetrieb geschaltete Schaltungsanordnungen erforderlich. Darüber hinaus ist in der Frequenzcharakteristik des Zielbildes bei einer kontinuierlichen Änderung des Kompressionsverhältnisses eine sichtbare Diskontinuität vorhanden, wenn das System von einer vordezimalisierten Kopie auf die nächste vordezimalisierte Kopie schaltet.

Im vorliegenden Beispiel wird ein zielbildbezogenes Filtersystem im Zusammenhang mit einem digitalen elektronischen Einzelbildspeicher für Fernsehbilder beschrieben. Ein gleichartiges eine Quellenbild bezogene Filterung ausnutzendes System ist in dem Taylor et al erteilten U.S. Patent 4,302,776 mit dem Titel "Digitales Einzelbild-Speichersystem mit Größenänderungsmöglichkeiten" gezeigt.

Zusammenfassung der Erfindung

Ein Bildtransformations-Filtersystem und -Verfahren gemäß der Erfindung arbeitet statt im Quellenbildraum im Zielbildraum und nutzt Filtertechniken auf der Basis von seriellen Akkumulatorregistern an Stelle von Transversalfiltern fester Länge.

Die effektive Länge eines deartigen Filters wird durch die Menge der summierten Quellenbildpunkte festgelegt, was eine Funktion der Systemsteuerparameter ist und im Prinzip ohne gleichzeitige Erweiterung der Hardware willkürlich erfolgen kann. In dieser Anmeldung ist die Filterlänge in Bezug auf den Zielraum auf eine kleine Anzahl von typischerweise 3 bis s Zielbildern festgelegt. Mit zunehmendem Kompressionsverhältnis des Quellenbildes nimmt die Anzahl der in diesen Bereich fallenden Quellenpunkte proportional zu. Das Akkumulatorfilter kann alle derartigen Punkte bis zu einer vorgewählten Grenze, typischerweise mehr als 100 Punkte verarbeiten.

Um aus einem einzigen Durchlauf von Quellenbilddaten ein vollständiges Zielbild zu erzeugen, ist eine Vielzahl von unabhängigen Filtern erforderlich. Im Bedarfsfall können sich mehrere Filter eine bestimmte gemeinsame Hardware auf sequentieller Zeitteilungs-Multiplexbasis zur Reduzierung von Hardwarekosten in einem Zeitversatzsystem teilen. Die erforderliche Anzahl von Filtern ist exakt gleich der Anzahl der durch jedes einzelne Filter aufgespannten Zielpunkte, wobei es sich um die vorgenannte kleine Anzahl zwischen 3 und 8 handelt. Werden den Filtern jeweils einzeln Zielbild-Abtastpunkte in Folge zugeordnet, so können die Filter auf Umlaufbasis arbeiten, um alle Zielbild-Abtastpunkte abzudecken, wobei das letzte zugeordnete Filter, das die Speicherung von gefilterten Videodaten für einen Zielbild-Abtastpunkt abschließt und für eine Neuzuordnung unmittelbar dann zur Verfügung steht, wenn die empfangenen Quellenbilddaten in den Bereich eines nächsten Zielbild-Abtastpunktes gelangen.

Da jeder Quellenvideo-Datenpunktwert ausgegeben wird, erzeugt ein Koeffizientenadreßgenerator eine die transformierte Lage des Quellenbildpunktes im Zielbild repräsentierende Adresse. Diese Adresse kann generell eine Unterbildpunkt- Adreßstelle im Zielvideobild definieren. Jeder Filterprozessor arbeitet (sequentiell in einem Zeitversatzsystem oder parallel in einem sehr schnellen Echtzeitsystem), um aus der Adresse einen Wert abzuleiten, der ein Maß für die Verschiebung zwischen der transformierten oder abgebildeten Adresse und dem zugeordneten Zielbild-Abtastpunkt ist. Die Verschiebungsanzeige wird dann für den Zugriff auf eine Filterkoeffizienten-ROM-Speicherung für ausgewählte Verschiebungsinkremente verwendet, wobei Filterkoeffizienten einer vorgegebenen Filter-Impulscharakteristikfunktion entsprechen. Der angesprochene Filterkoeffizient wird mit dem laufenden Quellenbild-Datenpunktwert multipliziert, wobei das resultierende Filterprodukt in einem Akkumulatorregister summiert wird.

Da sowohl die Anzahl als auch der Wert der einen Ziel-Datenpunktwert erzeugenden Filterkoeffizienten vom Kompressionsverhältnis und der augenblicklichen Zieladreßstelle abhängt, kann eine Änderung der Verstärkung des Filters mit dem Kompressionsfaktor und der Parallelverschiebung von Quelle zu Ziel erwartet werden. Das Filterausgangssignal muß daher zur Aufrechterhaltung einer Verstärkung von 1 kontinuierlich normiert werden. Da es verboten ist, alle möglichen Normierungsfaktoren für alle Größen und Lagen in einer Nachschlagetabelle zu speichern, ist es wichtig, das Filter in der Weise zu entwickeln, daß der Normierungsfaktor leicht als in einem vorgegebenen Fehlerbereich liegend vorhersagbar ist. Um weiterhin eine punktweise Berechnung des Faktors zu vermeiden, sollte er lediglich eine Funktion der Größe nicht aber der Lage sein. Dies erfordert die richtige Anwendung der bekannten Filtertheorie.

Da Daten mit der Bild-Videodatenfrequenz empfangen und verarbeitet werden, bleibt die Bildfrequenz des Transformationsfiltersystems konstant. Mit zunehmendem Kompressionsverhältnis sind zur Erzeugung jedes Zielbildpunktes mehr Quellenbildpunkte erforderlich, wobei jedoch die Gesamtbildfrequenz konstant bleibt, weil weniger Zielbildpunkte vorhanden sind. Durch Doppelpufferung aufeinanderfolgender Teilbilder des Zielbildes, derart, daß ein laufendes Zielteilbild mit Filterfrequenz in einen Puffer geschrieben wird, während das vorhergehende Teilbild mit Videofrequenzen aus dem anderen ausgelesen wird, ist ein Echtzeitbetrieb möglich.

Insbesondere enthält ein Bildkompressions-Filtersystem gemäß der Erfindung eine Videodatenquelle, wie beispielsweise einen Bildspeicher oder einen magnetischen Plattenspeicher zur Speicherung eines Quellenvideobildes und sequentieller Ausgabe von das Quellenvideobild in Rasterabtastfolge repräsentierenden Quellenbilddaten, eine gegebene Anzahl N von Filterprozessoren, einen zur Erzeugung der entsprechenden Koeffizientenadresse für jeden Datenquellenwert gekoppelten Koeffizientenadreßgenerator, sowie einen zur Aufnahme und Speicherung jedes durch einen der Filterprozessoren ausgegebenen Zieldatenwert gekoppelten Zielbildspeicher.

Jeder Filterprozessor wird in Folge einem unterschiedlichen Zielvideobild-Datenpunkt zugeordnet und enthält einen Koeffizientenspeicher, der zur Ausgabe eines Filterkoeffizienten für eine vorgewählte Filterfunktion in Abhängigkeit von einer Koeffizientenadresse geschaltet ist, die ein Maß für eine Verschiebung im Zielbild zwischen dem Zielvideobild- Datenpunkt, dem die Prozessorstufe zugeordnet ist, und einer Stelle eines in das Zielvideobild transformierten oder abgebildeten Quellendatenpunktes ist. Jeder Filterprozessor enthält weiterhin einen Multiplizierer, der zur Aufnahme des Wertes jedes Quellendatenpunktes und eines entsprechenden Filterkoeffizienten sowie zur Erzeugung von deren Produkt als Ausgangssignal gekoppelt ist. Ein Speicherregister ist zur Summierung einer gegebenen Anzahl M von M Filterpunktprodukten repräsentierenden aufeinander folgenden Multipliziererausgangssignalen gekoppelt, um einen Zielpunkt-Datenwert zu erzeugen, welcher den Ziel-Videobildpunkt repräsentiert, dem der Filterprozessor zugeordnet ist. Die Anzahl von zur Erzeugung eines Zielpunkt-Datenwertes summierten M Filterpunktprodukten ist näherungsweise proportional zum Kehrwert des Kompressionsverhältnisses. Jeder Prozessor ist zur Ausgabe der gespeicherten Summe gekoppelt und beginnt Produkte für einen neuen Zieldatenpunkt zu summieren, wenn N Zielpunkte durch den Koeffizientenadreßgenerator aufgespannt und damit M Filterpunktprodukte summiert worden sind.

Die Normierung der summierten Filterprodukte kann zweckmäßigerweise durch eine Nachnormierungs-Bitverschiebung, welche die Summe um eine ganzzahlige Potenz von 2 teilt, sowie eine Vornormierungsmultiplikation jedes Quellenbild-Datenpunktwertes mit einem Normierungsfaktor erfolgen, welche zusammen mit der Vornormierungs-Bitverschiebung den erforderlichen Normierungsfaktor erzeugt.

Kurze Beschreibung der Zeichnungen

Ein besseres Verständnis der Erfindung ergibt sich aus der Betrachtung der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen, in denen

Fig. 1 eine Blockschaltbilddarstellung eines elektronischen Einzelbild-Speichersystems unter Verwendung von zielbildorientierten Horizontal- und Vertikalfiltern gemäß der Erfindung ist;

Fig. 2 eine Block- bzw. Schaltbilddarstellung eines Steuersystems für ein Vertikalfilter nach Fig. 1 ist;

Fig. 3A, 3B und 3C Block- bzw. Schaltbilddarstellungen eines Datenweges für ein Vertikalfilter nach Fig. 1 sind;

Fig. 4 eine graphische Darstellung von Vertikalzeittaktsignalen ist, welche für das Verständnis der Wirkungsweise des Einzelbild-Speichersystems nützlich sind;

Fig. 4B eine graphische Darstellung von im System nach Fig. 1 verwendeten Filterkoeffizientenwerten ist;

Fig. 4C eine graphische Darstellung einer typischen Filterfrequenzcharakteristik ist;

Fig. 4D eine graphische Darstellung einer typischen Filterfrequenzcharakteristik mit zur Störung der niederfrequenten Verstärkung rückgefalteten Hochfrequenzpunkten ist;

Fig. 5A, 5B, 5C, 5D und 5F Block- bzw. Schaltbilddarstellungen eines Steuersystems für ein Horizontalfilter nach Fig. 1 sind;

Fig. 6A und 6B Block- bzw. Schaltbilddarstellungen eines Datenwegen für ein Horizontalfilter nach Fig. 1 sind;

Fig. 7 eine Blockschaltbilddarstellung einer im System nach Fig. 1 verwendeten Horizontal-Ausführungs- ("who done") -Signalgeneratorschaltung ist; und

Fig. 8 eine Echtzeitausführungsform des Filtersystems nach den Fig. 3A und 3B ist.

Gemäß Fig. 1 enthält ein Einzelbild-Speichersystem 10 mit einem zielpunktbestimmten Zeitversatz-Filtersystem gemäß der Erfindung eine Bildpunktdatenquelle 10, beispielsweise ein Plattenantriebssystem, das vorgegebene Videodaten speichert und die Videodaten in unverschachtelter Horizontalraster- Abtastfolge für ein Vertikalfilter 14 ausgibt, das die Bildpunktdaten von der Bildpunktdatenquelle 12 empfängt und eine ausgewählte Dreizieldatenpunkt-Filteroperation für die Daten durchführt, sowie ein Horizontalfilter 16, das die vertikal gefilterten Daten unter Steuerung durch ein Betriebsartsteuersignal HDISKINEN über eine Auswahlschaltung 13 entweder vom Vertikalfilter 14 oder direkt von der Bildpunktdatenquelle 12 empfängt. Das Horizontalfilter 16 filtert die Daten in Horizontalrichtung. Ein Ausgangs-FIFO (beispielsweise ein FIFO-Pufferspeicher) empfängt die gefilterten Daten von einer Auswahlschaltung 15, welche unter Steuerung durch ein Betriebsartsteuersignal *HTOOUT arbeitet, um Daten entweder vom Ausgang des Vertikalfilters 14 oder des Horizontalfilters 16 auszuwählen. Die gefilterten Daten werden vom Ausgangs-FIFO 17 auf einen Bildspeicher 18 geführt, welcher die Daten in Abhängigkeit von einem Zugriff durch ein Videoanzeigesystem 24 empfängt und speichert. Somit können in Abhängigkeit von der gewählten Betriebsart den Bildspeicher 18 erreichende Videodaten nur durch das Vertikalfilter 14, nur durch das Horizontalfilter 16 oder durch die beiden Filter 14, 16 gefiltert werden.

Zwar kann die Filtertechnik gemäß vorliegender Erfindung in einer Vielzahl von unterschiedlichen Gebieten verwendet werden und ist immer dort vorteilhaft, wo eine Komprimierung eines Zielbildes relativ zu einem Quellenbild auftritt; das angegebene Beispiel wird jedoch im Zusammenhang mit einem Filtersystem für ein elektronisches Einzelbild-Speichersystem 10 beschrieben. Das elektronische Einzelbild- Speichersystem 10 enthält in konventioneller Weise einen Systembus 20, welcher die verschiedenen Komponenten des Systems 10 zur Verteilung von Status- und Steuerinformation zwischen den Komponenten koppelt.

Der Systembus 20 wird durch eine CPU 22 gesteuert, welche vor jeder Bildstartzeit Betriebsartsteuerinformation für die Komponenten des Systems 10 erzeugt und verteilt. Nach der Einleitung der Erzeugung der Betriebsartsteuerinformation durch die CPU 22 arbeitet das System 10 im Sinne einer Verarbeitung eines Videoinformationsbildes. Ein Videoanzeigesystem 24 ist für einen Zugriff auf die im Bildspeicher 18 gespeicherten gefilterten Videodaten und Umsetzung dieser Daten in ein sichtbares Bild oder zur Integration des Bildes mit einem TV-Sendesignal gekoppelt.

Das in Fig. 1 im einzelnen nicht dargestellte jedoch nachfolgend genauer beschriebene Horizontalfilter 16 entspricht in seiner Konzeption dem Vertikalfilter 14. Das Horizontalfilter 16 besitzt jedoch einige Unterschiede in seiner Realisierung, welche sich aus der Tatsache ergeben, daß die Filterrichtung für das Vertikalfilter 14 senkrecht zur Rasterabtasterichtung und die Filterrichtung für das Horizontalfilter 16 parallel zur Rasterabtastrichtung verläuft. Die beiden Filter 16 und 18 realisieren eine vorgegebene Anzahl von Filterpunkten (in diesem Beispiel 3) im Zielbildraum. Der Bildspeicher 18 kann konventioneller Natur sein und speichert ein Raster von Bildpunktdaten für wenigstens ein Bild einer Videoanzeige.

Der Videoeingang zum Vertikalfilter 14 enthält einen Frequenzanpassungspuffer 30, welcher einen FIFO-Speicher enthält, der Daten von der Bildpunktdatenquelle 12 mit deren Datenfolgefrequenz (die sich von Anordnung zu Anordnung beträchtlich ändern kann) eingibt und die ausgewählten Daten mit einer mit den Arbeitsgeschwindigkeiten des Vertikalfilters 14 kompatiblen Folgefrequenz für einen Vornormierungsmultiplizierer 32 ausgibt.

Ein Vornormierungsregister 34 empfängt von einer CPU 22 über den Systembus 20 einen normalerweise im Bereich von 0,5 bis 1,0 liegenden Vornormierungswert, während ein Vornormierungsinultiplizierer 32 Bildpunktdatenwerte vom Frequenzanpassungspuffer 30 empfängt und diese Werte mit dem im Vornormierungsregister 34 gespeicherten Vornormierungswert multipliziert. Das Produkt wird zu einem Koeffizientenmultiplizierer 36 ausgegeben.

Der Vornormierungsmultiplizierer 32 arbeitet in Verbindung mit einem Nachnormierungsschieber 40 und seinem zugehörigen Nachnormierungsregister 42, das entsprechend dem Vornormierungsregister 34 einen Nachnormierungswert vom Systemcomputer über den Systembus 20 empfängt. Der im Nachnormierungsregister 42 gespeicherte Nachnormierungswert ist durch eine ganzzahlige Potenz von zwei festgelegt, so daß der Nachnormierungsschieber 40 als billiger Schieber realisiert werden kann. Es sei daran erinnert, daß die Verschiebung eines Wertes um N Bitstellen nach links einer Multiplikation mit 2N entspricht, während die Verschiebung eines Wertes um N Bitstellen nach rechts einer Division durch 2N bzw. einer Multiplikation mit 2-N entspricht. Das Produkt des Vornormierungswertes und des Nachnormierungswertes repräsentiert einen Gesamtnormierungswert, welcher gleich dem Kompressionsfaktor bzw. anders ausgedrückt, dem Kehrwert des Kompressionsverhältnisses von Zielbild zu Quellenbild ist. Extreme Kompressionsverhältnisse jenseits der Kapazität des Nachnormierungsschiebers können zur Verwendung eines Vornormierungswertes von weniger als 0,5 führen, um den richtigen Gesamtnormierungswert zu erhalten.

Da die Anzahl von Zielabtastpunkten im Sinne einer Konstanthaltung im Zielbild (drei im vorliegenden Beispiel) festgelegt ist, nimmt die Anzahl der aus dem Zielbild zur Ableitung eines Zielbild-Datenpunktes gespeicherten Abtastdatenpunkte proportional zum Kompressionsverhältnis zu. Beispielsweise für ein Kompressionsverhältnis von 1 : 1 ist für jeden Punkt im Zielbild ein Punkt im Quellenbild vorhanden, wobei jeder Zielpunkt als Summe von drei Quellenbild-Bildpunktwerten, die jeweils mit einem Filterfunktionswert multipliziert werden, abgeleitet wird. Die Filterfunktionswerte werden so gewählt, daß bei einem Kompressionsverhältnis von 1 : 1 der Zieldaten-Bildpunktwert in seiner Größe den Quellendaten-Bildpunktwerten entspricht. Mit anderen Worten ausgedrückt, ist eine Gleichspannungsverstärkung von 1 vorhanden. Als vereinfachtes Beispiel sei angenommen, daß ein gegebener Satz von Quellenvideodaten eine konstante Intensitätsgröße von 10 über wenigstens 3 Bildpunkte besitzt, welche zur Ableitung eines Zielbild- Bildpunktwertes abgetastet werden, während die entsprechenden Filterkoeffizienten dafür 0,2, 0,6 und 0,2 sind. Der gefilterte Zielbildpunktwert ergibt sich dann zu 10·0,2 + 10·0,6 + 10·0,2 = 10 und ist gleich jedem der drei Quellenabtast-Bildpunktwerte, welche zum Zieldatenwert beitragen. Ist jedoch das Kompressionsverhältnis statt 1 : 1 gleich 2 : 1, so werden mehr Quellenpunkte summiert. Wir können dann beispielsweise die Koeffizientenfolge 0,1, 02, 0,4, 0,6 0,4, 0,2, 0,1 sehen. Der entsprechende Zielbildpunkt-Datenwert ist dann nicht gleich 10 sondern gleich 20. Der entsprechende Normierungsfaktorwert von ein Halb normiert dann den abgeleiteten Zieldatenwert auf eine Größe, welche den Quellenbild-Datenwerten entspricht.

Durch Aufteilung der Normierungsfunktion in eine Vornormierungsfunktion und eine Nachnormierungsfunktion kann die Nachnormierungsfunktion in Form des billigen Nachnormierungsschieber 40 realisiert werden, wobei der Vornormierungsmultiplizierer 32 Differenzen zwischen der durch den Nachnormierungsschieber 40 durchgeführten Multiplikation mit 2N und dem geforderten tatsächlichen Normierungswert kompensiert. Gleichzeitig kann der Vornormierungswert auf einen Bereich zwischen 0,5 und 1,0 beschränkt werden, so daß höchstens eine signifikante Binärziffer aus den ankommenden Quellenbildpunkt-Datenwerten verloren geht und ein Rundungsfehler im Vertikalfilter 14 minimiert wird.

Während der Vornormierungsmultiplizierer 32 einen vornormierten Datenquellenwert für den Koeffizientenmultiplizierer 36 liefert, liefert ein Phasenspeicherregister 44 eine entsprechende Adresse für einen Koeffizientenspeicher 46. Das Phasenspeicherregister 44 erzeugt eine Adresse, welche der Stelle des laufenden Quellenbild-Abtastdatenpunktes relativ zum Quellenbildpunkt (nicht notwendigerweise ein Abtastpunkt) entspricht, der exakt dem Zielbildpunkt entspricht, für den Daten entwickelt werden. Diese Adresse bewirkt, daß der Koeffizientenspeicher 44 einen entsprechenden Filterkoeffizientenwert für den Koeffizientenmultiplizierer 36 ausgibt. Für eine typische Filterkoeffizientenkurve ist der durch den Koeffizientenspeicher 46 ausgegebene Koeffizientenwert um so größer, je näher der laufende Abtastdatenpunkt an der Stelle des Zielbild-Datenpunktes im Quellenbild liegt. Der exakte Wert hängt jedoch von der speziellen Filterfunktion ab, welche ausgewählt und im Koeffizientenspeicher 46 gespeichert wird. Der Koeffizientenmultiplizierer 36 berechnet das Produkt des vornormierten Quellenbild-Abtastdatenwertes und des entsprechenden Filterkoeffizientenwertes und gibt das Produkt für einen Addierer 48 aus.

Der Addierer 48 arbeitet in Verbindung mit einem Teilproduktspeicher 50 zur Speicherung der Summen der einem Zielbild-Bildpunktdatenwert zugeordneten Multiplikationsprodukte. Bei Zuführung jedes neuen Produktes vom Koeffizientenmultiplizierer 36 zum Addierer 48 wird dieses neue Produkt der Summe der im Teilproduktspeicher 50 gespeicherten vorherigen Produkte hinzuaddiert und die neue Summe in den Teilproduktspeicher 50 zurückgeführt. Dieser Prozeß setzt sich sequentiell fort, bis alle dem Zielbild-Datenpunktwert zugeordneten Teilprodukte summiert worden sind. Sodann aktiviert das nächste Auftreten eines Produktwertes vom Koeffizientenmultiplizierer 36 eine symbolisch als Schaltfunktion 52 dargestellte Schaltfunktion, wobei das Produkt für den nächsten Zielbild-Datenpunktwert mit einem Wert Null summiert wird, während die vorher erzeugte vollständige Produktsumme für den vorhergehenden Zieldatenpunktwert vom Teilproduktspeicher 50 zum Nachnormierungsschieber 40 ausgegeben wird.

Der Nachnormierungsschieber 40 vervollständigt die Normierung des Zielbild-Datenpunkt-Bildwertes und gibt den normierten Wert auf einen Frequenzanpassungspuffer 54. Dieser Frequenzanpassungspuffer 54 nimmt die Ziel-Bildpunktdaten mit der Betriebsfrequenz des Vertikalfilters 14 auf und gibt diese Daten mit einer für das nächste Element in der Kette annehmbaren Kommunikationsfrequenz aus, wobei es sich in diesem Fall um das Horizontalfilter 16 handelt. In dem in Fig. 1 dargestellten Konzept ist das Horizontalfilter 16 mit der Ausnahme mit dem Vertikalfilter 14 identisch, daß es die Daten statt in Vertikalrichtung in Horizontalrichtung filtert. Das bedeutet, daß alle Abtastdatenpunkte im Quellenbild für einen gegebenen Zielbild-Datenpunkt statt auf einer vertikal verlaufenden Linie auf einer horizontal verlaufenden Linie liegen. Nach Filterung und Kompression in Horizontalabmessung durch das Horizontalfilter 16 werden die Zielbild-Datenpunkte auf den Bildspeicher 18 gegeben, in dem sie als Raster von Zielbild-Datenpunktwerten gespeichert und selektiv auf ein Videoanzeigesystem ausgegeben werden können.

Das zielmäßig festgelegte Filtersystem kann als federndes Fenster verstanden werden, das sich über eine ausgewählte Anzahl von Abtastdatenpunkten in einem Zielbild erstreckt. Die Anzahl von Abtastdatenpunkten ist im vorliegenden Beispiel gleich drei. Dieses federnde Fenster wird sodann gedehnt, um die gleichen Zieldatenpunkte bei deren Rückabbildung auf das Zielbild abzudecken. Beispielsweise werden für ein Kompressionsverhältnis von 2 : 1 die drei Zielbild- Datenpunkte in sechs Quellenbild-Datenpunkte rückabgebildet, wobei das federnde Fenster sich im Effekt so dehnt, daß sechs Quellenbild-Datenpunkte im Fenster enthalten sind. Für ein Kompressionsverhältnis von 4 : 1 fallen zwölf Quellendatenpunkte in das Fenster, wobei das federnde Fenster sich so dehnt, daß es 12 Punkte im Quellenbildvideopunkt umfaßt. Da die Anzahl der abgetasteten Datenpunkte im Zielbildpunkt unabhängig vom Bildkompressionsverhältnis konstant bleibt, nimmt die Bildqualität mit zunehmendem Kompressionsverhältnis nicht ab.

Während die Realisierung der zielbildmäßig ausgerichteten Filterfunktion im Konzept unkompliziert ist, wird die Realisierung doch durch die Reihenfolge, in der Videodaten von der Bildpunktdatenquelle 12 empfangen werden, und hinsichtlich des Vertikalfilters durch die Tatsache etwas komplizierter, daß Daten in Horizontal-Abtastzeilenreihenfolge empfangen werden, während die Filterdimension vertikal verläuft. Dies macht die Speicherung von drei Zeilen von Teilproduktdaten erforderlich, die jeweils einer unterschiedlichen Zeile von Zielbild-Datenpunkten im Zielbild entsprechen, wobei jede Zeile einem unterschiedlichen Filterprozessor entspricht.

Das Einzelbildspeichersystem 10 verarbeitet Videodaten im Dreifarbkomponenten-Format, in dem jede Komponente durch ein Byte bzw. Daten mit 8 Bit repräsentiert ist. Die drei Komponenten sind eine mit Y bezeichnete Luminanz-Komponente, eine mit R bezeichnete Rot-Y-Komponente und eine mit B bezeichnete Blau-Y-Komponente. Die Quellenbild-Datenpunktwerte werden in der Reihenfolge Y&sub1;, R&sub1;, B&sub1;, Y&sub2;, Y&sub3;, R&sub3;, B&sub3;, Y&sub4; usw. empfangen. In Horizontalrichtung ist die Chromaauslösung gleich der halben Intensitätsauflösung. R- und B- Chromawerte werden lediglich für den ersten Wert und sodann für jeden zweiten Intensitätswert (y) geliefert. Dies bedeutet, daß die Filter 14, 16 Schaltungen enthalten müssen, welche verfolgen, welcher Typ von Videodaten gegenwärtig verarbeitet wird, um zu vermeiden, daß einem Rot- oder Blau- Chromateil-Produktwert ein Intensitätsbildpunktwert hinzuaddiert wird. In Vertikalrichtung sind die Intensität und die Chromaauflösungen gleich, so daß das Datenraster für jede Zeile das gleiche ist.

Gemäß Fig. 2 spricht das Vertikalsteuersystem 60 für das Vertikalfilter 14 auf Synchronsteuersignale an und erzeugt interne Steuersignale, welche sicherstellen, daß durch das Vertikalfilter 14 die richtigen Antworten im richtigen Zeitpunkt gegeben werden.

Die Zeittakt- und Steuersignale für die Funktion des Vertikalfilters 14 werden durch ein Vertikalsteuersystem 60 erzeugt, das seinerseits von einem als Systemtakt SYSCK bezeichneten rechteckförmigen Haupttaktsignal mit 13,5 MHz gesteuert werden. Am D-Eingang eines Flip-Flop wird ein Signal Vertikal-FIFO-Bereit *VFIFOR ("*" bezeichnet einen invertierten bzw. aktiven tiefen Signalzustand) empfangen, das anzeigt, daß der Frequenzanpassungspuffer 30 einen Videodatenbildpunkt von der Datenquelle 12 empfangen hat, der für die Verarbeitung durch das Vertikalfilter 14 bereitsteht. Ein Antibündelungszähler 64 mit 4 Bit ist 50 geschaltet, daß er sequentiell und wiederholt von 10 bis 15 zählt. Erreicht der Zähler 64 einen Zählwert von 15, so wird sein Endzählausgang auf ein NOR-Gatter 66 geschaltet, das mit einem zweiten Eingang an den Q-Ausgang des Flip-Flop 62 geschaltet ist. Beim Auftreten des zwischengespeicherten Signals *VFIFOR und des *Endzählwertes des Zählers 64 liefert das NOR-Gatter 66 ein hier als "Steuermarke" bezeichnetes Signal mit dem logischen Wert 1 für den Dateneingang eines mit einem Datenzwischenspeicher 68 verbundenen Schieberegisters mit 16 Bit. Da das Signal TC vom Zähler 64 lediglich alle sieben Perioden des Systemtaktsignals einen aktiven tiefen Zustand annimmt, wird das NOR-Gatter 66 freigegeben, um lediglich einmal für jeweils sieben Taktperioden die Verarbeitung eines nächsten Bildpunktes von Quellenvideodaten auszulösen. Damit wird sichergestellt, daß aufeinanderfolgende Bildpunktdaten-Bytes nicht näher als sieben Taktperioden aufeinanderliegend zusammengeschoben werden können, wenn sie durch eine Pipeline-Prozessorschaltung des Datenweges für das Vertikalfilter 14 geführt werden.

Das Schieberegister 68 gibt jede Steuermarke oder Bit mit dem logischen Wert 1 sequentiell durch seine 16 Verschiebungsstufen beginnend mit der Stufe 0 unter Steuerung durch das Signal SYSCK. Wenn die Steuermarke in eine gegebene Verschiebungsstufe eintritt, bewirkt sie die Aktivierung des entsprechenden Ausgangssignals RT15 bis RT0 in den logischen Zustand 1 und zeigt damit das Vorhandensein der Steuermarke in dieser Stufe an. Wenn die einem gegebenen Bildpunkt zugeordnete Steuermarke durch das Schieberegister 68 geschoben wird, sind daher 16 Verarbeitungszustände vorhanden, welche einem gegebenen Bildpunkt zugeordnet werden können, wenn dieser durch den Pipeline-Datenweg des Vertikalfilters 14 geleitet wird. Da das Schieberegister 68 16 diskrete Zustände repräsentiert und jede Steuermarke durch ein Minimum von sieben diskreten Zuständen getrennt sein muß, können im Schieberegister 68 jeweils bis zu drei Steuermarken aktiv sein, was der gleichzeitigen Verarbeitung von drei unterschiedlichen Bildpunkten von Quellenvideoinformation durch das Vertikalfilter 14 in jedem gegebenen Zeitpunkt entspricht.

Ein feldprogrammierbares Gate-Array 70 spricht auf die Aktivierung der Schieberegister-Zustandssignale RT15-RT0 an und erzeugt 17 mit GA16 bis GA0 bezeichnete Gate-Array-Hauptzeittaktsignale.

Das Gate-Array 70 ist lediglich ein großer Block kombinatorischer Logik, die bewirkt, daß jedes seiner 17 Ausgangssignale in vorgegebenen Zeitpunkten, welche durch die Schieberegister-Zeittaktsignale RT15 bis RT0 festgelegt sind, einen aktiven hohen Zustand annimmt.

Gibt das Schieberegister 68 in Abhängigkeit vom Auftreten einer Steuermarke in ihm einen gegebenen Zeittaktzustand aus, so werden die entsprechenden durch ein FPGA 70 ausgegegebenen Steuerzustände durch den Datenzwischenspeicher 72 um eine System-Taktimpulszeit später weitergegeben. Als Bezugsrahmen bezeichnete am Ausgang des Zwischenspeichers 72 auftretende Systemtaktimpuls-Perioden werden als Zeitzellen 0 bis 16 bezeichnet, welche in Bezug auf die am Ausgang des Schieberegisters 68 auftretenden entsprechenden Zeittaktzustände RT0 bis RT15 um eine Taktimpulsperiode verzögert sind.

Die vom Zwischenspeicher 2 aus gegebenen Signale werden wie folgt angegeben:

Q0-VCS0 - Vertikalkomponentenauswahl 0. Dieses Signal nimmt in Zeitzellen 6 und 7 einen aktiven tiefen Zustand an, um bei Freigabe durch ein höchstwertiges Adreßbit eine von zwei Speicherkomponenten auszuwählen, welche ein Zeilenpufferfilter 0 umfassen.

Q1-VCS3 - Vertikalkomponentenauswahl 3. Dieses Signal liegt in Zeitzellen 6 und 7 aktiv hoch, um bei Freigabe durch ein höchstwertiges Adreßbit eine zweite von zwei Speicherkomponenten auszuwählen, die ein Zeilenpuffer-filter 0 umfassen.

Q2-*VROMENO- *Vertikal-ROM-Freigabe 0. Dieses Signal nimmt in Zeitzellen 2 und 3 einen aktiven tiefen Pegel an, um den Koeffizienten-ROM-Speicher 46 für einen Filterprozessor 0 zur Ausgabe eines Filterkoeffizientenwertes freizugeben.

Q3-*VRAAW0 - *Vertikal-RAM-Schreiben 0. Dieses Signal nimmt zusammen mit einem Signal *VW in einer Zeitzelle 7 zur Steuerung des Schreibens einer Teilproduktsumme für einen Filterprozessor 0 einen aktiven tiefen Pegel an.

Q4-VM1DATCK - Vertikalmultiplizierer 1-Datentakt. Ein Taktsignal zum Laden eines Byte von Videodaten in den Vornormierungsmultiplizierer 32 während einer Zeitzelle 0.

Q5-VM1PRODCK - Vertikalmultiplizierer 1-Produkttakt. Ein Signal, das den vornormierten Datenwert während einer Zeitzelle 3 in den Y-Eingangszwischenspeicher des Koeffizientenmultiplizierers 36 lädt.

Q6-VM2DATCK - Vertikalmultiplizierer 2-Datentakt. Ein Signal, welches den vornormierten Datenwert während einer Zeitzelle 3 in den Y-Eingangszwischenspeicher des Koeffizientenmultiplizierers 36 lädt.

Q7-VM2COFCK - Vertikalmultiplizierer 2-Koeffiziententakt. Ein Signal, das den Filterkoeffizientenwert während Zeitzellen 3, 5 und 7 in den X- Eingangszwischenspeicher des Koeffizientenmultiplizierers 36 lädt.

Q8-VM2PRODCK - Vertikalmultiplizierer 2-Produkttakt. Ein Signal, das den berechneten Koeffizientenproduktwert während Zeitzellen 5, 7 und 9 in den Ausgangszwischenspeicher des Koeffizientenmultiplizierers 36 lädt.

Q9-VM2RECK - Vertikalmultiplizierer-2-Ergebnistakt. Ein Signal, das das das Koeffizientenprodukt in Zeitzellen 6, 8 und A (Hex) in einen Haltezwischenspeicher lädt.

Q10-*VW - *Vertikalschreiben. Ein Signal, das eine Summe von Koeffizientenproduktdaten während Zeitzellen 7, 9 und B vom Addierer 48 auf den Speicherdatenbus für den Teilproduktspeicher 50 gibt.

Q11-VDATFBCK - Vertikaldaten-Rückkoppeltakt. Ein Signal, das Teilsummen-Koeffizientendaten vom Teilproduktspeicher 50 dadurch in einen Speicherdaten-Pufferzwischenspeicher lädt, daß es während Zeitzellen 7, 9 und B in einen tiefen Zustand übergeht.

Q12-*VRAMADEN - *Vertikal-RAM (Koeffizientenspeicher 46)- Adreßfreigabe. Ein Signal, das während einer Zeitzelle 5 auf einen aktiven tiefen Pegel geht, um die Dekrementierung eines Zeilenlängenzählers, welcher Zeilenendfunktionen steuert, sowie die Inkrementierung eines Modulo-4-Zählers freigibt, der den laufenden Zustand der Luminanz-, Chrominanz- und Luminanz (LCCL)-Wiederholungs-Sequenz von Eingangsdatenbytes definiert.

Q13-VDATFBCLREN - Vertikaldaten-Rückkoppellöschfreigabe. Ein Signal, das einen Filterprozessor-Abschlußteil des Vertikalsteuersystems 60 freigibt. Dieses Signal liegt für Zeitzellen 5 und 6 hoch.

Q14-VFINEN - Vertikalabschlußfreigabe. Ein Signal, das einen Filterprozessor-Abschlußteil des Vertikalsteuersystems 60 freigibt. Dieses Signal liegt für eine Zeitzelle 5 hoch.

Q15-VQCTRLCK - Vertikalausgangs-Steuertakt. Ein Signal, das einen Zwischenspeicher zur Steuerung der Erzeugung von Steuersignalen taktet, welche auf den Abschluß einer Filteroperation bezogen sind. Dieses Signal liegt für eine Zeitzelle 3 hoch.

Q16-VPHFBCK - Vertikalphasen-Rückkoppeltakt. Ein Signal, das ein Flip-Flop im Vertikalsteuersystem 60 zur Steuerung der Erzeugung von Signalen taktet, welche ihrerseits steuern, ob das Adreßregister für den Koeffizientenspeicher 46 fortgeschaltet oder neu gestartet wird. Dieses Signal nimmt während einer Zeitzelle 1 jedoch lediglich bei Freigabe durch ein Zeilenendesignal *EOL einen aktiven hohen Zustand an.

Der untere Teil von Fig. 2 enthält eine digitale Logik, welche zur Steuerung einer speziellen Verarbeitung gekoppelt ist, die am Beginn eines Bildes und bei Aufaddierung aller Teilkoeffizientenprodukte für einen gegebenen Filterprozeß erforderlich ist. Eine als Teil des Vertikaldatenweges vorgesehene Koeffizientenspeicher-Adressierungsschaltung steuert den relativen Fortgang jedes Filterprozessors nach und erzeugt für jeden der drei Filterprozessoren jeweils ein Ausführungs-V0-2-Signal, wenn ein vollständiger Satz einer Filterverarbeitung abgeschlossen worden ist. Diese drei Ausführungs-V0-2-Signale werden als ein Eingangssignal auf jeweils eines von drei ODER-Gattern 74, 75, 76 mit zwei Eingängen gegeben. Das zweite Eingangssignal der ODER-Gatter 74, 75, 76 ist ein Vertikalphasen-Inkrementierungsfreigabesignal *VPHINCEN, das am Q-Ausgang eines Flip- Flop 78 erzeugt wird. Der D-Eingang des Flip-Flop 78 liegt an 0, während am Vorsetzeingang das Systemrücksetzsignal liegt, so daß das Flip-Flop 75 in Abhängigkeit vom Rücksetzsignal, das vor dem Beginn der Verarbeitung für jedes neue Datenbild erzeugt wird, vorgesetzt wird. Am Takteingang des Flip-Flop 78 liegt ein Vertikalphasen-Rückkopplungstaktsignal VPHFBCK, das in einer Zeitzelle 7 einen aktiven tiefen Zustand annimmt und sodann am Beginn eines Zeitsignals 8 des ersten Bildpunktes der zweiten Zeile auf den hohen Zustand zurückkehrt, um das Flip-Flop 78 auf 0 rückzusetzen und das Signal *VPHINCEN auf den aktiven tiefen Zustand zu bringen. Der Q-Ausgang des Flip-Flops 78 erzeugt ein Vertikalphasen- Startfreigabesignal VPHSTEN, bei dem es sich um das Komplement des Signals *VPHINCEN handelt.

Ein Zwischenspeicher 80 mit 6 Bit nimmt einen ersten Satz von drei Eingangssignalen, nämlich der drei WHODONEV0-2- Signale und als zweiten Satz von drei Signalen die Ausgangssignale der ODER-Gatter 74, 75, 76 auf, welche die Veroderung der drei Ausführungssignale mit dem *VPHINCEN- Signal repräsentieren. Der Zwischenspeicher 80 wird durch einen am Q15-Ausgang des Zwischenspeichers 72 erzeugten Vertikalausgangs-Steuertakt VOCTRLCK getaktet, der am Beginn der Zeitzelle 3 in den aktiven hohen Zustand übergeht, um den Zwischenspeicher 80 zur Abtastung seiner sechs Eingangssignale zu veranlassen. Die Ausgangssignale Q0 bis Q2 des Zwischenspeichers 80 zeigen daher an, ob ein gegebener Filterprozeß vollständig ist oder nicht, während die Ausgangssignale Q3 bis Q5 anzeigen, daß der Filterprozeß abgeschlossen bzw. eine erste Datenzeile durch das Vertikalfilter verarbeitet worden ist. Diese Bedingungen zeigen an, daß die Teilprodukte gelöscht werden müssen.

Eine Synchronisationsschaltung 82 nimmt die Ausgangssignale Q0 bis Q2 des Zwischenspeichers 80 über drei NAND-Gatter 84, 85, 86 mit zwei Eingängen auf.

Ein mit dem Zwischenspeicher 88 verbundenes Schieberegister mit fünf Bit ist mit seinem D0-Eingang an den Ausgang des NAND-Gatters 86 angekoppelt. Der D2-Eingang des Zwischenspeichers 88 ist über ein UND-Gatter 90 angekoppelt, welches selektiv das Ausgangssignal von der Stufe Q1 weiterleitet oder das Ausgangssignal des NAND-Gatters 85 eingibt, wenn dieses Ausgangssignal aktiv tief liegt. Ein NAND-Gatter 92 nimmt das invertierte und vom D4-Eingang gelieferte Ausgangssignal von der Stufe Q3 auf. Ein NAND-Gatter 92 nimmt selektiv das Ausgangssignal des NAND-Gatters 84 auf und invertiert es, wenn dieses Ausgangssignal aktiv tief liegt. Der Q4-Ausgang des Zwischenspeichers 88 erzeugt einen V- Nachnormierungstakt VPOSTCK, welcher die Wirkungsweise des Nachnormierungsschiebers 40 steuert. Die Synchronisationsschaltung 82 nimmt daher die drei Ausführungssignale für die drei Filter auf und liefert in Abhängigkeit vom Vertikalendfreigabesignal VFINEN in der Zeitzelle 6 das Ausführungssignal als ein mit VPOSTCK bezeichnetes Ausgangssignal mit einer Verzögerung von 1, 3 oder 5 Zeitzellen entsprechend den jeweiligen Filterprozessoren 0, 1 und 2.

Eine Synchronisationsschaltung 96 ist im wesentlichen gleich der Synchronisationsschaltung 82 mit der Ausnahme, daß sie zur Aufnahme der drei Ausführungssignale V0-2, die mit dem Signal *VPHINCEN verodert sind, an die Q3 bis Q5-Ausgänge des Zwischenspeichers 80 angekoppelt ist. Das Ausgangssignal a Q4 ist als Vertikalfreigabe-Datenrückkopplung *VENDATFB bezeichnet.

Ein Paar von Zwischenspeichern 98, 100, nimmt sequentiell die vier Ausgangssignale Q0 bis Q3 vom Zwischenspeicher 72 auf, welcher die Wirkungsweise des Filterprozessors 0 steuert, verzögert diese Signale um zwei Zeitzellenperioden entsprechend der Multiplikationsberechnungsverzögerung und liefert vier entsprechende Signale VCS1, VCS4, *VROMEN1 und *VRAMW1 für den Filterprozessor 1. Entsprechend nimmt ein Paar von Zwischenspeichern 102, 104 sequentiell die vier Ausgangssignale vom Zwischenspeicher 100 auf und erzeugt eine zusätzliche Zeitverzögerung von zwei Zeitzellen vor der Ausgabe der entsprechenden Signale VCS2, VCSS, *VROMEN2 und *VRAMW2 zur Steuerung von Betriebsweisen für den Filterprozessor 2. Der Synchronisiere-r 96 wird jedoch durch ein Signal VDATFBCLREN abgetastet, das während des Vertikalfreigabe-Datenrückkoppelsignals *VENDATFB für die Zeitzellen 5 und 6 aktiv wird, wobei das letztgenannte Signal durch den Synchronisierer 96 mit 1, 3 und 5 Zellenverzögerungen für den Filterprozessor 0, 1 bzw. 2 erzeugt wird und damit während Zeitzellen 6-B (hexadezimal) beide Zustände annimmt. Dieses Signal legt fest, ob ein laufendes Koeffizientenprodukt einer vorher aufaddierten Teilsumme oder 0 hinzuaddiert wird, um die Verarbeitung für einen neuen Datenpunktwert zu beginnen.

Der Vertikalfilter-Prozessordatenweg für das Filter 14 ist in den nunmehr zu erläuternden Fig. 3A und 3B dargestellt. Die sequentiellen Bytes von Eingangsbildpunktdaten von der Quelle 1 werden über einen Puffer 130 in einen FIFO-Kellerspeicher 132 eingespeichert. Die Daten sind von einem Quellendaten-Taktsignal SDATCK begleitet, das die Bildpunktdaten in den FIFO 132 lädt. Der FIFO 132 ist durch zwei Parallelabschnitte realisiert, deren Ausgangsbereitschaftssignale OR0, OR1 durch ein NAND-Gatter 134 abgetastet werden, um ein Vertikal-FIFO-Bereitsschaftssignal *VFIFOR zu erzeugen, wenn ein Datenbyte im FIFO 132 gespeichert und für eine Filterverarbeitung bereit ist. Gemäß Fig. 4, auf die nunmehr Bezug genommen wird, wird dieses Signal für eine für das Byte von Videobildpunktdaten durchgeführte Operationsfolge zu einem Startbefehl.

Ein Exclusiv-ODER-Gatter 136 nimmt das höchstwertige Bit FIFO7 des Ausgangsbytes des FIFO 136 auf und invertiert es. Dieses Bit entspricht dem Vorzeichenbit für Chrominanzbytes, welche in einer mit Vorzeichen versehenen zweier Komplement- Negativzahldarstellung empfangen werden. Am Q-Ausgang eines Binärzählers 118 (Fig. 2) wird zur Anzeige, daß ein Chrominanzdatenbyte verarbeitet wird, ein Signal VFLIPMSB in Form eines höchstwertigen V-Kippbit erzeugt. Es sei daran erinnert, daß die Daten als sich wiederholende Folge mit vier Zuständen von Luminanz-, Chrominanz-, Chrominanz- und Luminanzdaten auftreten, wobei die Luminanzdaten die doppelte horizontale räumliche Auflösung der Chrominanzdaten besitzen. Der Zähler 118 wird auf einen Zustand von 1 vorgesetzt und in der Zeitzelle 2 für jedes verarbeitete Byte von Bildpunktdaten inkrementiert. Das Ausgangssignal Q1 des Modulo- 4-Zählers 118 nimmt daher in Verbindung mit dem Empfang von Chrominanzdaten einen hohen Pegel an, um die Inversion des Vorzeichenbits und die Umwandlung von einer mit Vorzeichen versehenen Zweierkomplement-Negativzahldarstellung in eine umgewandelte Darstellung zu bewirken, in der sequentielle Datenwerte von 0 bis 255 einem monoton zunehmenden Satz von Werten für die Videodaten entsprechen. Dies macht eine Verarbeitung der Chrominanzdaten als positive Werte ohne Vorzeichen und eine spätere Rückumwandlung in eine mit Vorzeichen versehene Zweierkomplementform möglich.

Im Betrieb des Vertikalfiltersystems 14 setzt die CPU 22 die Filter 14 und 16 vor dem Empfang von Videobildpunktdaten unter Ausnutzung des Systembus 22 zurück, um Betriebsartauswahlparameter zu laden und das Systemrücksetzsignal *RST zu erzeugen. Bei Empfang eines Byte von Bildpunktdaten erzeugt die FIFO-Kellerspeicherschaltung 132 die Ausgangsbereitschaftssignale, welche das NAND-Gatter 134 veranlassen, das Signal *VFIFOR in der Zeitzelle -2 zu erzeugen. Das Signal VFIFOR wird beim Auftreten des nächsten SYSCK-Signals in der Zeitzelle -1 durch den Zwischenspeicher 62 (Fig. 2) zwischengespeichert. Aus Zweckmäßigkeitsgründen sei angenommen, daß der Zähler 64 mit 4 Bit seinen Endzählwert von 15 gleichzeitig mit dem Laden des Zwischenspeichers 62 am Beginn der Zeitzelle -1 erreicht. Die Gleichzeitigkeit dieser beiden Signale (tatsächlich kann zwischen dem Auftreten des Signals *VFIFOR in der Zeitzelle -2 und dem Endzählwertsignal in der Zeitzelle -1 eine Zeitverzögerung vorhanden sein) ermöglicht es einem NOR-Gatter 66, eine Steuermarke in das Vertikal-Hauptzeittakt-Schieberegister 68 am Beginn der Zeitzelle 0 zu laden. Dieses Laden der Steuermarke entsprechend dem ersten Byte von Videodaten definiert das Auftreten der Zeitzelle 0. In der Zeitzelle 0 wird das Signal VM1DATCK zum Laden des ersten Bildpunktes von Videodaten in den Y- Eingangszwischenspeicher eines Vornormierungsmultiplizierer 138 und Ausgeben des ersten Bildpunktes aus dem FIFO-Kellerspeicher in der FIFO-Kellerspeicherschaltung 132 erzeugt.

Im X-Eingangszwischenspeicher des Vornormierungsmultiplizierers 138 ist ein Vornormierungswert zwischen 0,5 und 1,0 gespeichert, der vom Systembus 20 in Abhängigkeit von einem decodierten Adreßsignal LDVM1PRE in Form eines Lade-Vertikalmultiplizierer 1-Vornormierungswertes während der Systeminbetriebnahme und vor dem Empfang des ersten Bildpunktdatenbytes geladen wurde.

Während der mit TC0 und TC1 bezeichneten Zweitaktperioden in Form der Zeitzellen 0 und 1 berechnet der Multiplizierer 138 das Produkt des ersten Eingangsbildpunkt-Datenwertes und des Vornormierungswertes, so daß dieses Produkt beim Empfang des Signals VM1PRODCK, nämlich des Vertikalmultiplizierers 1- Produkttaktes am Beginn der Zeitzelle 2 in einen Ausgangszwischenspeicher des Vornormierungsmultiplizierers 138 geladen werden kann.

Der Vornormierungswert ist daher während der Zeitzelle 2 am Ausgang des Vornormierungsmultiplizierers 138 verfügbar, wobei am Beginn der Zeitzelle 3 das Signal VM2DATCK, nämlich der Vertikalmultiplizierer 2-Datentakt erzeugt wird, um die vornormierten Bildpunktdaten in einen Satz von Y-Eingangszwischenspeichern für einen Koeffizientenmultiplizierer 140 zu laden.

Während der Zeitzelle 3 wird auch das Signal VM2COFCK, nämlich der Vertikalmultiplizierer 2-Koeffiziententakt erzeugt, um einen Filterkoeffizientenwert in den X-Eingangszwischenspeicher des Koeffizientenmultiplizierers 140 zu laden. Während der Zeitzellen 3 und 4 berechnet der Koeffizientenmultiplizierer 140 das Produkt des vornormierten Bildpunktdatenwertes und des Filterkoeffizientenwertes für den Filterprozessor 0 zur Erzeugung eines Teilkoeffizientenproduktwertes, der am Beginn der Zeitzelle 5 in Abhängigkeit von einem Signal VM2PRODCK in Form eines Vertikalmultiplizierer 2-Produkttaktes in einen Ausgangszwischenspeicher geladen wird. Das Signal VM2COFCK, nämlich der Vertikalmultiplizierer 2-Koeffiziententakt wird sodann während der Zeitzelle 5 gleichzeitig mit dem Signal VM2PRODCK erneut erzeugt, um einen zweiten Filterkoeffizienten entsprechend der Filterprozessorzahl 1 in die X- Eingangszwischenspeicher des Koeffizientenmultiplizierers 140 zu laden. Am Beginn der Zeitzelle 6 überträgt ein Signal VM2RECK, nämlich ein Vertikalmultiplizierer 2-Ergebnistakt das Teilkoeffizientenprodukt für das Filter 0 in einen Haltezwischenspeicher 142. Während der Zeitzellen 5 und 6 berechnet der Koeffizientenmultiplizierer 140 das Produkt des ersten vornormierten Bildpunktdatenwertes und des Koeffizientenwertes für das Filter 1, wobei dieses Produkt am Beginn der Zeitzelle 7 in Abhängigkeit vom Signal VM2PRODCK für das Teilprodukt 1 des Filterprozessors 1 am Ausgang zwischengespeichert wird.

Der Prozeß wird sodann für den dritten Filterprozessor (Prozessor 2) ein drittes Mal wiederholt, wobei der Filterkoeffizient für den Filterprozessor 2 in der Zeitzelle 7 in Abhängigkeit vom Signal VM2COFCK in Form des Vertikalmultilizierer 2-Koeffiziententaktes in den X-Eingang des Koeffizientenmultiplizierers 140 geladen wird, wenn das vorher berechnete Filter 1-Teilprodukt durch den Ausgangszwischenspeicher des Koeffizientenmultiplizierers 140 in Abhängigkeit vom Signal VM2PROCK zwischengespeichert wird. Der Datenweg des Vertikalfilters 14 arbeitet daher in zeitversetzter Weise als Pipeline, um das einzige Byte von Eingangsvideodaten für drei sequentiell gephaste Filter sequentiell zu verarbeiten, wobei jedes Filter einem unterschiedlichen Abtastdatenpunkt im Zielraum entspricht. Der Zwischenspeicher 142 wird weiterhin in den Zeitzellen 8 und A unter Steuerung des Signals VM2RECK zum Laden der Teilproduktdaten für die Filter 1 und 2 getaktet. Die drei Teilproduktwerte werden sequentiell vom Ausgang des Zwischenspeichers 142 auf einen A-Eingang eines Addierers 144 geführt. Dreizehn mit CP15-3 bezeichnete signifikante Bits der Teilproduktdaten werden dem A-Eingang des Addierers 144 angeboten. Der B-Eingang des Addierers 144 wird durch einen Addiererbus 146 gesteuert, welcher an den Ausgang eines Zwischenspeichers 148 und weiterhin an einen Inverterpuffer 150 angekoppelt ist. Das Vertikalfreigabe-Datenrückkoppelsignal *VENDATFB gibt abwechselnd den Zwischenspeicher 148 oder den invertierenden Puffer 150 frei. Im Normalbetrieb nimmt der Zwischenspeicher 148 die Teilkoeffizientenprodukt-Summendaten von drei Zeilenpuffern 154, 155 und 156 für das Filter 0, 1 bzw. 2, auf die sequentiell zugegriffen wird, auf und führt eine Zwischenspeicherung der Zugriffsdaten für die Eingabe in den B-Eingang des Addierers 144 durch. Am Bildbeginn und bei Verarbeitungsabschluß für einen gegebenen Zielbild-Datenpunkt nimmt das Signal VENDATFB jedoch zur Freigabe des Puffers 150 einen hohen Wert an, um Daten mit dem logischen Wert 0 auf den Addiererbus 146 zu geben, so daß eine Verarbeitung für einen neuen Filterdatenpunkt beginnt und das Koeffizientenprodukt für den ersten Datenwert zu 0 addiert und durch die aus der Verarbeitung des vorhergehenden Zielbild-Datenpunktes im entsprechenden Zeilenpuffer 154 bis 156 verbleibenden Daten nicht beeinflußt wird.

Die mit PCP15-0 bezeichneten Ausgangswerte mit 16 Bit des Addierers 144 werden auf einen nicht-invertierenden Puffer 160 gegeben, dessen Ausgang in den Zeitzellen 7, 9 und B für den Filterprozessor 0, 1 bzw. 2 in Abhängigkeit von einem Vertikalschreibsignal *VW freigegeben wird. Durch Freigabe des Puffers 116 wird eine Summe von Teilproduktwerten auf einen Speicherdatenbus 162 gegeben, welcher auf den D- Eingang des Zwischenspeichers 148 sowie den Dateneingang/ Ausgang der drei Zeilenpuffer 154 bis 156 koppelt. Der Speicherdatenbus 162 führt auch auf den Nachnormierungsschieber 40. Somit können bei Abschluß der Verarbeitung für einen gegebenen Zielbild-Filterdatenpunkt die abgerufenen Daten von einem der Zeilenpuffer 154 bis 156 statt einer Rückführung auf den Addierer 144 in den Nachnormierungsschieber 40 geschrieben werden. Bei Abschluß der Verarbeitung für einen gegebenen Zielbild-Datenpunkt nimmt das Vertikal-Nachnormierungstaktsignal VPOSTCK in den Zeitzellen 7, 9 und B für das Filter 0, 1 bzw. 2 einen aktiven hohen Wert an, um Daten in den Nachnormierungsschieber 40 zu laden. Ein Satz von vier mit *VPOSTEN3-0 bezeichneten, von der CPU während der Vorbildinitialisierung gelieferten Signalen steuert das Schieben des Nachnormierungsschiebers 40, um im Effekt eine Teilung durch 0, 2, 4 oder 8 durchzuführen. Der Nachnormierungsschieber 40 ist in konventioneller Weise durch vier Zwischenspeicher realisiert, deren Eingänge an der Summe des Koeffizientenproduktbus 162 liegen, wobei zur Realisierung des gewünschten Schiebeeffektes ein Schiebeversatz von 0, 1, 2 oder 3 Bitpositionen für die vier jeweiligen Zwischenspeicher vorhanden ist. Eines der vier Signale *VPOSTEN3-0, nämlich das Vertikal-Nachnormierungsfreigabesignal 3-0 gibt lediglich den Ausgang eines ausgewählten Zwischenspeichers dieser vier Zwischenspeicher frei, um einen Ausgangsbus 164 so anzusteuern, daß die gewünschte Anzahl von Bits der Verschiebung nach rechts erreicht wird.

Der Nachnormierungsschieber-Ausgangsbus 164 führt auf ein Paar von Puffern 166, 168, welche die höchstwertigen acht Bit vom Nachnormierungsschieber 40 auf den entsprechenden Horizontalfiltereingang auf einem mit DIN7-0 bezeichneten Bus oder den Ausgangs-FIFO 17 des Horizontalfilters 16 auf einem mit Datenausgang DOUT7-0 bezeichneten Bus führen. Das höchstwertige Bit bzw. Vorzeichenbit muß für die Chrominanzdaten in sein Komplement überführt werden, um es vom über führten Format in eine mit Vorzeichen versehene Zweierkomplement-Negativzahldarstellung zurückzuführen, in der es empfangen wurde. Ein Signal in Form eines höchstwertigen Vertikal-Ausgangskippbit VOFMSB wird immer dann erzeugt, wenn ein Chrominanzbyte ausgegeben wird. Das Signal VOFMSB wird auf ein Exklusiv-ODER-Gatter 170 geführt, das weiterhin das höchstwertige Bit bzw. Vorzeichenbit auf dem Bus 164 empfängt und selektiv invertiert.

Ein Phasenstart-Zwischenspeicherpaar 176 nimmt vom Systembus 20 während der Initialisierungszeit Daten auf, welche die Startphase für die Filterkoeffizientenspeicher definieren. Der Zwischenspeicher 176 ist in zwei Teilen realisiert, wobei ein höchstwertiges Byte in Abhängigkeit vom System- Adreßbus-Decodiersignal LDVPHSTM als höchstwertiges Lade- Vertikalphasen-Startbyte und das geringstwertige Byte in Abhängigkeit vom System-Adreßbus-Decodiersignal LDVPHSTL als geringstwertiges Lade-Vertikalphasen-Startbyte geladen wird. Das Ausgangssignal des Zwischenspeichers 176 wird unter Steuerung durch ein Vertikalphasen-Startfreigabesignal *VPHSTEN auf einen Phasenaddierer-Eingangsbus 178 gegeben. Lediglich die vierzehn geringstwertigen Bits Q13 bis Q0 vom Zwischenspeicher 176 werden auf den Phasenaddierer-Eingangsbus 178 gegeben. Das im Zwischenspeicher 176 gespeicherte Phasenstartwort definiert im Effekt die vierzehn geringstwertigen Bits der Startadresse für die Filterverarbeitung im Quellenvideobild, wobei der Binärpunkt zwischen den Bits 13 und 12 auftritt. Die vierzehn Bits auf dem Eingangsbus 178 sind mit AINC13 bis AINC0 bezeichnet. Die beiden höchstwertigen Bits AINC13 und AINC12 werden auf AI und A2-Adreßeingänge eines Phasen-ROM 180 gegeben, während die Bits AINC11-0 auf den A-Eingang eines Phasenaddierers 182 gegeben werden.

Der Phasenstartwert gibt die Auswahl des Quellenbild-Vertikalstartpunktes in einem Bereich eines Bildpunktes frei. Der Bereich für einen Bildpunkt wird durch Auswahl der Quellenbildposition festgelegt, in der der erste Bildpunktdatenwert auf das Vertikalfilter gegeben wird.

Ein Phaseninkrementierungszwischenspeicher 184 stellt das Gegenstück zum Phasenstartzwischenspeicher 176 dar und speichert einen Initialisierungswert, welcher den Betrag angibt, um den die Filterphase für jeden Bildpunktwert zu inkrementieren ist. Die Dateneingänge zum Zwischenspeicher 184 sind mit dem Systembus 20 verbunden, wobei die beiden Teile mit einem Byte durch die Adreßdecodiersignale LDVPHINCM, das höchstwertige Lade-Vertikalphasen-Inkrementierungsbyte und LDVPHINCL, das geringstwertige Lade-Vertikalphasen-Inkrementierungsbyte getaktet werden. Der Ausgang des Zwischenspeichers 184 wird in Abhängigkeit vom Vertikalphasen-Inkrementierungsfreigabesignal *VPHINCEN freigegeben. Der im Zwischenspeicher 184 gespeicherte Inkrementierungswert ist im Effekt der Kehrwert des Kompressionsverhältnisses. Das bedeutet, daß der Zwischenspeicher 184 mit dem Wert von 0,5 initialisiert wird, wenn ein Bild bei der Verarbeitung im Verhältnis 2 : 1 komprimiert werden soll. Der Ausgang des Zwischenspeichers 184 ist auf den Addierereingangsbus 178 gekoppelt. Da sich die Phasenlage für das Vertikalfilter lediglich am Ende jeder Zeile von Bildpunktdaten ändert, braucht die Phasenschaltung lediglich vor dem Bildstart initialisiert zu werden, wobei bis zur Verarbeitung eines neuen Videodatenbildes keine weitere Initialisierung erforderlich ist.

Ein Phasenpuffer 188 für die laufende Phase wird vor dem Bildstart als Teil des Initialisierungsprozesses rückgesetzt und ist mit seinem Ausgang mit einem mit FB14-0 bezeichneten FB-Bus 190 verbunden. Signale FB11-0 werden auf den B-Eingang des Phasenaddierers 182 gegeben, während Signale FB14-12 auf Adreßeingänge-A5, A4, A3 des Phasen-ROM 180 gegeben werden. Ein C0-Übertragsausgang des Phasenaddierers 182 ist mit einem A0-Adreßeingang des Phasen-ROM 180 verbunden. Die mit Q2 bis Q0 bezeichneten drei geringstwertigen Ausgangsbits des Phasen-ROM 180 sind als die drei höchstwertigen Bits eines Addierers programmiert, um in Verbindung mit dem Phasenaddierer 182 ein Adreßsignal mit 15 Bit zu erzeugen, das auf einen FC ROM Adreßbus 190 und die D14-0 Eingänge des Zwischenspeichers 188 für die laufende Phase gegeben wird. Der Inhalt des Phasen-ROM 180 ist in Tabelle I in hexadezimaler Darstellung und numerischer Reihenfolge dargestellt. Es sei darauf hingewiesen, daß bei der hier in Rede stehenden Konfiguration lediglich die sechs geringstwertigen Adreßeingänge ausgenutzt werden und lediglich die ersten 64 Wortplätze brauchbare Daten repräsentieren.

Im Betrieb wird beim Start jedes Bildes der Zwischenspeicher 188 für die laufende Phase auf 0 gesetzt, wobei dieser Wert durch den Phasenaddierer 182 dem im Zwischenspeicher 176 gespeicherten Phasenstartwert hinzuaddiert wird. Die Summe aus Phasenstartwert plus 0 wird dem Zwischenspeicher 188 für die laufende Phase und weiterhin den drei mit FCROM0-2 bezeichneten Filterkoeffizienten-ROMs 192, 193 und 194 zugeführt. Am Ende der ersten Videodatenzeile wird der Ausgang des Zwischenspeichers 176 abgeschaltet, während der Ausgang des Phaseninkrementierungszwischenspeichers 184 freigegeben wird, um die Addition des Inkrementierungswertes zum Startwert zu ermöglichen, was nunmehr durch den Zwischenspeicher 188 für die laufende Phase gespeichert wird. Danach wird der durch den Zwischenspeicher 188 für die laufende Phase gespeicherte Wert um den Wert im Phaseninkrementierungszwischenspeicher 154 am Ende jeder Zeile von Eingangsquellendaten inkrementiert.

Der Binärpunkt für die Phasenadresse liegt zwischen den Bits 13 und 12. Das Übertragseingangssignal im Adreßplatz des Phasen-ROM 180 entspricht der Bitposition 12. Bits 12 bis 0 repräsentieren Bruchteils- bzw. Unterbildpunkt-Bitpositionen und werden in normaler binärer Form addiert (oder "gezählt"). Da jedoch das Vertikalfilter 14 drei Bildpunktstellen im Zielbildraum auf spannt und für ein Größenverhältnis von 1 : 1 normiert ist (wobei zur Speicherung eines Inkrementierungswertes ungleich Eins im Zwischenspeicher 184 unterschiedliche Größenverhältnisse in Rechnung gestellt werden) spannt das Filter ebenfalls drei Bildpunktstellen im Quellenbildraum auf. Die ganzzahligen Bits 14 und 13 sind daher zur "Zählung" auf einer Modulo-3-Basis gemäß dem Raster 0, 1, 2, 0, 1, 2, 0, usw. erforderlich.

Die drei höchstwertigen Bits Q5 bis Q3 des Phasen-ROM 180 werden so programmiert, daß die Phasenpunkte angezeigt werden, an denen die Verarbeitung für die drei Filter und entsprechende Erzeugung von Signalen WHODONEV2-0 abgeschlossen ist.

Gemäß Fig. 4B definieren die im Filterkoeffizienten-ROM 192 bis 194 gespeicherten Filterkoeffizientenfunktionen eine generell glockenförmige Kurve mit einem Spitzenwert von hexadezimal CC und einem Minimalwert von 0. Liegt der Binärpunkt auf der linken Seite des höchstwertigen Ausgangssignals Q7, so wird eine Translation in den Dezimalwert 0,797 bzw. 0 erzeugt. Ein Größenverhältnis von 1 der Filterkoeffizientenkurven kann in Form von periodischen Funktionen mit einer Periode von 3 angesehen werden. Jeder Zielbild-Abtastdatenpunkt bildet sich in einen Quellenbildpunkt ab, wobei konzeptionell ein Fenster von 1,5 Bildpunkten (entsprechend 1,5 Zeilen in Vertikalrichtung) auf beiden Seiten des Abbildungspunktes liegt. Damit der gefilterte Zielbild-Datenwert durch die dem Abbildungspunkt nächstliegenden Quellenbildwerte am stärksten beeinflußt wird, ist die Filterkoeffizientenfunktion mit ihrer Spitze zur Mitte des Fensters und mit ihren Minima zum linken und rechten Rand des Filterfensters ausgerichtet. Eine Reduzierung des Phaseninkrementparameters bei zunehmendem Größenverhältnis ergibt den Effekt der Abtastung einer zunehmenden Anzahl von Bildpunkten im Quellenbildraum. In jedem Falle repräsentiert jedes Minimum der periodischen Filterkoeffizienten-Filterfunktion eine Grenze zwischen dem rechten Rand eines Fensters für einen gegebenen Zielbild-Abtastdatenpunkt c und dem rechten Rand des Fensters für den nächsten Zielbild-Datenpunkt p +3, der durch den gleichen Filterprozessor verarbeitet wird.

Die Signale WHODONEV2-0 werden daher erzeugt, wenn die Nodulo-3-Bildpunktphasenadresse über den Minimumpunkt der entsprechenden Filterkoeffizientenfunktion hinaus inkrementiert wird. Für das Filter 0 liegt die Koeffizientenkurve in der Phase mit einer Spitze bei der Adresse 0 und dem Minimum bei der Bildpunktadresse 1,5 (Binäradresse 15·128 1 = 19). Das Phasen-ROM 180 wird daher geladen, um den Q3-Ausgang (Signal WHODONEV0) aktiv hoch zu machen, wenn die Modulo-3-Phasenadresse für den laufenden Bildpunkt um einen Wert von 1,5, jedoch um einen Betrag übersteigt, welcher kleiner als der Phaseninkrementwert ist, wie er durch die in die Adreßeingänge A2, A1 des Phasen-ROM 180 eingegebenen Signale AINC13- 12 angezeigt wird. Damit wird sichergestellt, daß das Signal WHODONE0 jedesmal dann für exakt eine Zeilenzeit erzeugt wird, wenn die Bildpunktphasenadresse über eine Fenstergrenze hinaus inkrementiert wird.

Die Signale WHODONEV1, 2 werden in entsprechender Weise erzeugt, wobei jedoch die Phase relativ zur Bildpunktphasenadresse verschoben ist, um die relative Phasenlage der entsprechenden Filterkoeffizientenkurve darzustellen. Die Filterkoeffizientenkurve für das Filter 1 ist um eine Bildpunktstelle relativ zur Filterkoeffizientenkurve für das Filter 0 mit einer Spitze bei der Bildpunktphasenadresse 1 (binäre Adresse 128) und einem den rechten Rand eines Fensters bei 2,5 (binäre Adresse 2,5·128 1 = 319) verschoben. Das Signal WHODONEV1 wird daher während des ersten Inkrements erzeugt, nachdem die Bildpunktphasenadresse gleich 2,5 auf einer Modulo-3-Basis ist oder diesen Wert übersteigt (d. h., der Bereich 3,0 bis 3,5 bildet sich in den Bereich 0 bis 0,5 ab).

Entsprechend ist die Filterkoeffizientenkurve für das Filter 2 um 2 Bildpunktpositionen relativ zur Filterkoeffizientenkurve für das Filter 0 verzögert. Die Koeffizientenkurve für das Filter 2 besitzt eine Spitze bei der Bildpunktphasenadresse 2 (binäre Adresse 256) und ein den rechten Rand eines Fensters bei 0,5 definierendes Minimum (binäre Adresse 0,5·128 1 = 63). Das Signal WHODONEV2 wird daher während des ersten Inkrementes erzeugt, nachdem die Bildpunktphasenadresse gleich 0,5 ist oder diesen Wert übersteigt.

Tabelle I
Tabelle I

Die drei Filterkoeffizienten-ROMs 192, 193, 194 speichern jeweils Filterkoeffizientenwerte für die drei Filter 0, 1 und 2. Die Daten in den ROMs sind mit Ausnahme des Phasenzusammenhangs im wesentlichen gleich. Daher sind in Tabelle II lediglich die Filterkoeffizientenwerte für das Filter 0 in hexidezimaler Darstellung und in binärer Adressenspaltenfolge angegeben. Die Werte sind weiterhin in Fig. 4B graphisch dargestellt.

Diese Koeffizienten eignen sich zur Realisierung des in Rede stehenden Dreipunktfilters. Um im generellen Fall zufriedenstellende Ergebnisse zu erzielen, müssen die Koeffizienten in Abhängigkeit von einem speziellen Kriterium ausgewählt werden.

Das Ziel besteht darin, ein als Funktion des Kompressionsverhältnisses gut gesteuertes Filterverstärkungsverhalten zu erzielen. Da die Verstärkung des Filters ein Punkt auf der Frequenzcharakteristikkurve des Filters ist (beispielsweise Charakteristik bei der Frequenz Null), reicht es aus, die Frequenzcharakteristik als Funktion des Kompressionsverhältnisses festzulegen. Dies ist seinerseits eine Funktion der Frequenzcharakteristik des Filterprototyps, aus dem der vollständige Satz von Koeffizienten abgeleitet wird.

Wir definieren N1 als die durch das Filter aufgespannte Anzahl von Zielraumpunkten und N2 als Gesamtanzahl von Koeffizienten im PROM. Im Beispiel ist N1 = 3 und N2 = 384. Der vollständige Satz von Koeffizienten beschreibt ein Filter, das bei N3 = N2/N1 mal dem Abtastmerkpunkt des Zielbildspeichers arbeitet. Eine typische Frequenzcharakteristik ist in Fig. 4C dargestellt. Die Hardware arbeitet jedoch so, daß lediglich bestimmte Koeffizienten aus diesem vollständigen Satz von Koeffizienten ausgewählt werden. Für eine Kompression von 1 : 1 werden lediglich N1 Elemente ausgewählt, wobei generell für einen Kompressionsfaktor von F:1 näherungsweise N1 F Elemente ausgewählt werden. Die Koeffizienten sind im Effekt Abtastwerte mit einer Frequenz von N·F/N2. Es ist an sich bekannt, daß die Charakteristik eines auf diese Weise gebildeten Filters einer Spektralfaltung unterliegt. Gemäß Fig. 4D wird die ursprüngliche Charakteristik mit Vielfachen der Abtastfrequenz wiederholt, wobei die Charakteristik der Abtastungen gleich der Summe der ursprünglichen Charakteristik plus aller Wiederholungen ist.

Speziell werden andere Punkte auf der Charakteristikkurve so zurückgefaltet, daß sie die Nullfrequenz- und Niederfrequenz-Filtercharakteristik stören.

Bei Berücksichtigung aller möglichen Kompressionsverhältnisse und damit aller Filterabtastdichten oberhalb N1 F/N2 wird jeder Punkt der Prototypkurve nach Fig. 4C, welcher höher als die Ursprungszielbild-Speicherabtastcharakteristik liegt, mit irgendeinem Kompressionsverhältnisses auf die Frequenz Null zurückgefaltet. Um Änderungen der Verstärkung zu verhindern, welche sich von denen der Kompressionsrate direkt proportionalen Verstärkungen unterscheiden, muß das Filter so ausgelegt werden, als ob es ein angezapftes N2- Filter wäre, das bei der N2/N1fachen Zielbild-Speicherabtastfrequenz arbeitet, wobei die kleinste brauchbare Seitenkeulenamplitude oberhalb der Zielbild-Speicherabtastfrequenz mit einem sinnvollen Durchlaßband unterhalb der halben Zielbild-Speicherabtastfrequenz vereinbar ist.

Zur Entwicklung von Transversalfiltern mit einer großen Anzahl von Abgriffen gemäß Kriterien einschließlich des obengenannten Kriteriums existieren an sich bekannte digitale Computertechniken. Eine Seitenkeulenamplitude von -70 db hat sich als brauchbar erwiesen und ist für die beschriebene Anwendung annehmbar.

Tabelle II
Tabelle II

Die Zeilenende-Steuerschaltung 196 enthält ein Zeilenlängenregister 198, das mit einem Zeilenlängenwert initialisiert wird, der die Anzahl von Bildpunkten pro Zeile unter Steuerung von Adreßdecodierersignalen LDVLINIM in Form eines höchstwertigen Lade-Vertikalzeilenlängen-Byte und LDVLINL in Form eines geringstwertigen Zeilenlängenbyte angibt. Der Zeilenlängenwert wird während der Verarbeitung eines Bildes von Daten gespeichert und zum Laden eines Zeilenlängen-Abwärtszählers 200 am Beginn jeder Zeile ausgenutzt. Der Zeilenlängen-Abwärtszähler 200 wird bei Empfang jedes aufeinanderfolgenden Bytes von Bildpunktdaten bis auf 0 dekrementiert, um seinen Endzählwertausgang zu aktivieren und am Ende einer Horizontalzeile von Eingangssignalen ein Endbildpunkt-Vollständigkeitssignal *TPC zu erzeugen. Ein Modulo-4- Zähler 202 wird an jedem Zeilenbeginn zusammen mit der Initialisierung des Zeilenlängenzählers 200 auf 0 vorgesetzt und zusammen mit dem Zeilenlängenzähler 200 in Abhängigkeit von einem Vertikal-RAM-Adreßfreigabesignal *VRAMADEN freigegeben, um an seinem Q1-Ausgang ein Vertikalkomponentensignal VC (L oder C) zu erzeugen, das zur Ausgangssequenzisierung verwendet wird. Das Signal wird weiterhin durch ein Flip-Flop 204 zwischengespeichert, um an dessen Q-Ausgang ein Signal VOFMSB in Form eines höchstwertigen Vertikalausgangsbits zu erzeugen, das in der oben beschriebenen Weise die Funktion des Exklosiv-ODER-Gatters 170 steuert.

Die Ladesteuerungen für den Zeilenlängen-Abwärtszähler 200 und den Modulo-4-Zähler werden durch ein ODER-Gatter 206 erzeugt, das ein Vertikal-RAM-Adreßfreigabe-Eingangssignal *VRAMADEN und das Ausgangssignal eines UND-Gatters 208 aufnimmt, dessen zwei Eingänge durch das Signal *TPC vom Endzählwertausgang des Zeilenlängenzählers 200 und ein Q-Ausgangssignal von einem Flip-Flop 210 angesteuert werden, das seinerseits durch das Signal *VRANADEN getaktet wird. Das Flip-Flop 210 wird vor dem Bildbeginn in Abhängigkeit des Signals *RST selektiv gelöscht und nimmt an seinem D-Eingang eine logische 1 auf, so daß es gesetzt wird und gesetzt bleibt, wenn das Signal VRAAADEN am Ende der ersten Zeile erzeugt wird. Der Q-Ausgang des Flip-Flops 210 ist auf einen Eingang eines ODER-Gatters 212 geführt, dessen anderer Eingang das *TPC-Signal vom Endzählwertausgang des Zeilenlängenzähles 200 aufnimmt. Am Ausgang des ODER-Gatters 212 wird ein Zeilenendesignal *EOL erzeugt, wobei der Q- Ausgang des Flip-Flops 210 die Erzeugung des aktiven tiefen Zustandes für dieses Signal sperrt, bis die erste Zeile vervollständigt ist.

Ersichtlich arbeitet also das Vertikalfilter 14 durch Empfang von Bytes von Videobildpunktdaten in horizontaler Rasterabtastfolge. Bei Empfang des ersten Datenbytes wird dieses sequentiell mit drei sequentiell gephasten Filterkoeffizientenwerten multipliziert, wobei die Teilprodukte in einer ersten Stelle jedes der drei Zeilenpuffer 154, 155 und 156 gespeichert werden. Die tatsächliche Adresse wird durch das Ausgangssignal des Zeilenlängenzählers 200 definiert. Bei Empfang des zweiten Byte wird dieses in entsprechender Weise sequentiell mit den drei Filterkoeffizientenwerten multipliziert, wobei die resultierenden drei Koeffizientenprodukte in einer zweiten Stelle der drei Zeilenpuffer 154, 155 und 156 gespeichert werden. In entsprechender Weise wird jedes der Bildpunktbytes für die erste Zeile von Quellenvideodaten mit den drei Filterkoeffizientenwerten multipliziert, wobei das resultierende Produkt in jeweils einem anderen Speicherplatz im entsprechenden Zeilenpuffer 154, 155 oder 156 gespeichert wird. Am Ende der ersten Zeile speichert jeder der Zeilenpuffer 154 bis 156 einen Teilproduktwert für jeden Bildpunkt in der Zeile. Wird die zweite Datenzeile empfangen, so wird wiederum jeder Bildpunktwert sequentiell mit dem entsprechenden Filterkoeffizientenwert multipliziert, der nunmehr so geändert ist, daß er das Fortschreiten der nächsten Zeile anzeigt, wobei das Koeffizientenprodukt zum entsprechenden Koeffizientenprodukt für die vorhergehende Zeile hinzuaddiert wird. Dieser Prozeß setzt sich fort, bis eines der beiden Ausführungs-V-Signale WHODONEV2-0 anzeigt, daß die Verarbeitung für einen der Filterprozessoren abgeschlossen ist. Wird sodann die nächste Zeile von Eingangsvideodaten empfangen, so werden die entsprechenden Koeffizientenfilterprodukte für das Filter, das abgearbeitet ist, zu 0 addiert und die im entsprechenden Zeilenpuffer 154 bis 156 gespeicherten aufaddierten Koeffizientenprodukte entweder zum Ausgangs-FIFO 17 (zum Bildspeicher) oder im Falle des Normalbetriebs zum Horizontalfilter ausgegeben. Die Koeffizientenprodukte für den anderen Filterprozessor, welche noch nicht vollständig ausgeführt sind, werden weiter aufaddiert. Dieser Prozeß wird für jeden Bildpunktdatenwert in der Quellenbild-Abtastzeile wiederholt. Das Vertikalfilter 14 arbeitet daher unabhängig vom Kompressionsverhältnis im Sinne der Realisierung eines Dreipunktfilters im Zielbildraum, welcher in Abhängigkeit vom Kompressionsverhältnis einer Anzahl von Punkten im Quellenbildraum entspricht. Die effektive Größe des Filterfensters im Quellenbildraum wird daher ohne Änderung der Systemhardware durch Aufaddierung von mehr und mehr Koeffizientenprodukte bei zunehmendem Kompressionsverhältnis mit dem Kompressionsverhältnis vergrößert. Da der Phaseninkrementwert kleiner gemacht wird, sind mehr Schritte erforderlich, bevor der Bildpunkt-Phasenadreßwert über eine Fenstergrenze hinaus inkrementiert wird.

Die Horizontalsteuerschaltung für das Horizontalfilter 16 ist in den Fig. 5A bis 5G dargestellt. Abgesehen von bestimmten Unterschieden zwischen der Horizontal- und der Vertikalsteuerschaltung zur Berücksichtigung der unterschiedlichen Richtungen, in denen sich die Filter erstrecken, und der Tatsache, daß die Daten-Rasterabtastfolge parallel zur Horizontalfilterrichtung und senkrecht zur Vertikalfilterrichtung ist, sind die Schaltungen gleichartig.

Gemäß Fig. 5A liefert ein Steuermarken-Schieberegister 216 eine Hauptzeittaktsteuerung entsprechend derjenigen für die Vertikalsteuerschaltung. Ein Flip-Flop 218 wird durch den Signalsystemtakt getaktet und nimmt an seinem D-Eingang das Horizontal-FIFO-Bereitschaftssignal HIFOR auf. Der Q-Ausgang des Flip-Flop 218 ist mit einem Eingang eines NOR-Gatters 220 verbunden, dessen weiterer Eingang mit dem Endzählwertausgang eines Zyklus-Modulo-7-Zählers 222 verbunden ist. Der Zähler 222 gibt das durch das Flip-Flop 218 zwischengespeicherte Horizontal-FIFO-Bereitschaftssignal zur Abtastung nach jeweils sieben Zählwerten des Systemtaktsignals frei; ist es vorhanden, so wird es in den D0-Eingang des Steuermarken-Schieberegisters 216 mit 16 Bit eingegeben, welches durch das Systemtaktsignal getaktet wird. Ein feldprogrammierbares Gate-Array 224 ist mit 16 Eingängen mit den 16 Ausgängen des Steuermarken-Schieberegisters 216 verbunden und erzeugt dabei 13 Horizontal-Hauptzeittaktsignale, welche auf einen Haltezwischenspeicher 226 gegeben werden. Ebenso wie bei der Vertikalsteuerschaltung definiert das Ausgangssignal des Haltezwischenspeichers 226 eine Zeitzelle 0, wobei die 12 Ausgänge Q11 bis Q0 den Hauptzeittakt und die Steuerung für das Horizontalfilter 16 liefern.

Der Q-Ausgang des Zwischenspeichers 226 erzeugt in einer Zeitzelle 2 ein Horizontal-Multiplizierer 1-Punkttaktsignal HM1PRODCK zur Ladung des berechneten Vornormierungswertes für einen Ausgangszwischenspeicher eines Vornormierungsmultiplizierers.

Der Ausgang Q1 erzeugt ein Horizontal-Multiplizierer 2- Datentaktsignal HM2DATCK in einer Zeitzelle 3, das zum Laden des berechneten Vornormierungswertes in einen Eingangszwischenspeicher für einen als Multiplizierer 2 bezeichneten Koeffizientenmultiplizierer dient.

Der Q2-Ausgang des Zwischenspeichers 226 erzeugt ein Horizontal-Multiplizierer 2-Koeffiziententaktsignal HM2COFCK, das in Zeitzellen 3, 5 und 7 die drei Filterkoeffizientenwerte aufeinanderfolgend in den Koeffizientenmultiplizierereingang lädt.

Der Q3-Ausgang des Zwischenspeichers 226 erzeugt ein Horizontal-Multiplizierer 2-Produkttaktsignal HM2PRODCK, das den Ausgangszwischenspeicher des Koeffizientenmultiplizierers veranlaßt, die drei berechneten Koeffizientenprodukte entsprechend den drei Filterprozessoren in Zeitzellen 5, 7 und 9 aufeinanderfolgend zwischenzuspeichern und zu halten, wodurch für jedes der drei Koeffizientenprodukte eine Berechnungszeit von 2 Zellen möglich wird.

Der Q4-Ausgang des Zwischenspeichers 226 erzeugt ein Horizontal-Multiplizierer 2-Ergebnistaktsignal HM2RECK in Zeitzellen 6, 8 und A, um den berechneten Produktkoeffizienten in einen Haltezwischenspeicher zu laden.

Der Q5-Ausgang des Zwischenspeichers 226 erzeugt ein Horizontal-RAM-Schreibsignal *HRAMW, das den Lese/Schreibbetrieb des Horizontal-Speicherregister-Teilkoeffizientenprodukt- Speicher entweder auf das Auslesen vorher gespeicherter Daten oder auf das Speichern eines neuen Datensatzes steuert. Das Signal *HRAMW nimmt während Zeitzellen 7, 9 und B einen aktiven tiefen Zustand an.

Der Q6-Ausgang des Zwischenspeichers 226 erzeugt ein Teilprodukt-Zellsignal PPCNT in Zeitzellen 2, 4 und 6, welches einen Modulo-3-Zähler zur Indizierung der drei Filterprozessoren für das Horizontalfilter fortschaltet.

Der Q7-Ausgang erzeugt ein Horizontaldaten-Rückkoppeltaktsignal HDATFBCK in Zeitzellen 6, 8 und A zur Steuerung der Addition von aufaddierten Koeffizientenprodukten zu einem nächsten Koeffizientenprodukt.

Der Q8-Ausgang erzeugt ein Horizontalphasen-Rückkoppeltakt- Freigabesignal HPHFBCKEN in einer Zeitzelle TO zur Steuerung der Fortschaltung des Horizontalphasenzählers.

Der Ausgang Q9 erzeugt ein Abtastzählsignal *SAMCNT, das in einer Zeitzelle 1 aktiv tief wird, um die Inkrementierung eines Modulo-4-Zählers zu steuern, der den Gleichlauf der sich wiederholenden Folge von vier Bildpunkten gewährleistet, die aus Luminanz-, Chrominanz-, Chrominanz- und Luminanzdaten besteht.

Der Q10-Ausgang erzeugt ein Horizontaldatenrückkoppel-Löschfreigabesignal HDATFBCLREN in einer Zeitzelle 6 zur Freigabe der Ausgabe von 0-Daten im Gegensatz zu auf addierten Koeffizientenproduktwerten für den Beginn der Verarbeitung eines neuen Zielbild-Datenpunktes.

Der Q11-Ausgang erzeugt ein Horizontalende-Freigabesignal HFINEN in einer Zeitzelle 6 zur Freigabe der Ausgabe der Horizontalfilterdaten.

Der Q12-Ausgang des Zwischenspeichers 226 erzeugt ein Horizontal-Multiplizierer 1 -Datentaktsignal HM1DATCK in einer Zeitzelle 0, welches das Laden eines nächsten Bildpunkt-Videodatenbytes in den Vornormierungsmultiplizierer des Horitzontalfilters 16 steuert. Es sei darauf hingewiesen, daß der größte Teil dieser Hauptsteuersignale im Typ und im Zeittakt den gleichartigen Steuersignalen für das Vertikalfilter 14 entspricht.

Ein Zeilenlängenregister 230 wird mit Daten vom Systembus 20 in Abhängigkeit von Adreßdecodiersignalen LDHSIZEM, nämlich einem höchstwertigen Lade-Horizontalgrößenbyte und LDHSIZEL, nämlich einem geringstwertigen Lade-Horizontalgrößenbyte initialisiert. Am Beginn jeder Zeile wird ein Zeilenlängen- Abwärtszähler 232 mit dem Zeilenlängenwert vom Register 230 geladen und bei Empfang eines nächsten Bildpunktes von Eingangsdaten in Abhängigkeit vom Taktsignal SYSCK und einem Freigabesignal *SAMCNT in der Zeitzelle 1 dekrementiert. Das Endzählwert-Ausgangssignal des Zeilenlängenzählers 232 wird in einen Eingang eines UND-Gatters 234 eingegeben, dessen anderer Eingang mit dem Q-Ausgang eines Flip-Flop 236 verbunden ist. Das Flip-Flop 236 wird während der Initialisierung für ein Datenbild durch das Signal *RST rückgesetzt und bleibt rückgesetzt, bis es am Ende der Zeitzelle 1 für das erste Byte von Bildpunktdaten durch Signale RSAMCNT getaktet wird. Der Ausgang des UND-Gatters 234 ist mit einem ODER- Gatter 238 verbunden, um das Endzählwertsignal vom Zeilenzähler 232 nach der Verarbeitung des ersten Bildpunktes für eine gegebene Zeile weiterzugeben. Der andere Eingang des ODER-Gatters 238 nimmt das Signal *SAMCNT auf. Der Ausgang des ODER-Gatters 238 ist mit einem Eingang eines UND-Gatters 240 verbunden, das ebenfalls das Signal *RST aufnimmt und ein Horizontalphasen-Rückkoppellösch-Ausgangssignal *HPHFBCLR erzeugt, das (u. a.) in den Ladeeingang des Zeilenlängenzählers 232 eingegeben wird, damit dieser am Beginn jeder Zeile neu geladen wird.

Fig. 5B zeigt die Steuerschaltung zur Unterscheidung zwischen den Luminanz- und Chrominanzdaten sowie zur Steuerung der Fortschaltung für die drei sequentiellen Filterprozessoren, welche gleichzeitig mit gleich versetzter Phasenlage betrieben werden. Ein Modulo-4-Bildpunktzähler 244 nimmt an seinen Dateneingängen eine logische 0 und an seinem Takte ingang das Systemtaktsignal auf. Der Ladeeingang nimmt das Rücksetzsignal *RST auf, während der Zählfreigabeeingang das Abtastzählsignal *SAMCNT aufnimmt. Der Zähler 244 wird daher in der Zeitzelle 1 für jeden Bildpunkt von Eingangsvideodaten inkrementiert. Da der Bildpunktzähler 244 am Beginn jedes Bildpunktverarbeitungszyklus inkrementiert wird, entspricht ein Zählwert von 1 im Effekt den Luminanzdaten, ein Zählwert von 2 den Rot-Y-Chrominanzdaten, ein Zählwert von 3 den Blau-Y-Chrominanzdaten und ein rückgeschalteter Zählwert von 0 dem gerade numerierten Byte von Luminanzdaten, für die keine entsprechenden Chrominanzdaten vorhanden sind. Ersichtlich wird daher am Q1-Ausgang angezeigt, daß Chrominanzdaten verarbeitet werden. Dieses mit CROM. bezeichnete Signal wird in den höchstwertigen Eingang eines 3 : 8 Decodierers 246 eingegeben. Der Q-Ausgang des Zählers 244 ist weiterhin auf ein UND-Gatter 248 geführt, dessen zweiter Eingang mit dem Q0-Ausgang des Zählers 244 verbunden ist. Das UND-Gatter 248 decodiert daher einen Zählerwert von 3 entsprechend den Blau-Chrominanzdaten. Ein Exklusiv-ODER- Gatter 250 ist mit seinem Eingang an den Q1- und Q0-Ausgang des Zählers 244 angeschaltet. Das Exklusiv-ODER-Gatter 250 erzeugt ein Signal FLIPMSB in Form eines höchstwertigen Kippbits, das die Invertierung des Vorzeichenbits vor seiner Ausgabe aus dem Horizontalfilter 16 bewirkt. Dieses Signal wird vor seiner Ausnutzung um eine Eingangsbildpunktzeit verzögert, so daß es im Zeitpunkt seiner Ausnutzung zur Steuerung der Überführung eines höchstwertigen Bits bzw. Vorzeichenbits von Daten in sein Komplement richtig zu den Chrominanzdaten ausgerichtet ist. Das Signal FLIPMSB wird durch ein Invertergatter 256 ebenfalls in sein Komplement überführt und auf ein UND-Gatter 254 gegeben. Ein zweiter Eingang des UND-Gatters 254 nimmt das Horizontalphasen- Taktfreigabesignal HPHCKEN auf, wobei am Ausgang das Horizontalphasen-Rückkoppeltaktsignal HPHFBCK erzeugt wird. Der Ausgang des UND-Gatters 254 ist mit dem Takteingang eines Zwischenspeichers 256 verbunden, der an seinem Q-Ausgang das Horizontalphasen-Inkrementierungsfreigabesignal HPHINCEN und an seinem -Ausgang das Horizontalphasen- Startfreigabesignal *HPHSTEN erzeugt. Diese Signale steuern, ob ein Startwert oder ein Inkrementierungswert zur Steuerung eines Horizontalstellungs-Phasenzählers im Horizontalfilter-Datenweg ausgenutzt wird. Der Zwischenspeicher 256 dient zum Vorsetzen in Abhängigkeit vom Horizontalphasen- Rückkoppellöschsignal *HPHFBCLR.

Das Ausgangssignal HPHFBCK des UND-Gatters 254 wird weiterhin auf einen D0-Eingang eines als dreistufiges Schieberegister geschalteten Zwischenspeichers 258 gegeben. Das Schieberegister 258 wird durch das Systemtaktsignal getaktet und erzeugt am Q3-Ausgang ein Signal HPHFBCK+3, welches das um drei Zeitzellen verzögerte Signal HPHFBCK repräsentiert. Dieses verzögerte Signal dient zur Taktung der Ausführungs-Haltezwischenspeicher, welche den gleichartigen Zwischenspeichern in der Vertikalsteuerschaltung entsprechen. Ein Modulo-3-Filterzähler 260 wird in Abhängigkeit vom Signal *RST auf den Zustand 1, 0 vorgesetzt und unter Steuerung durch das Signal PPCNT getaktet. Der Q0 und Q1- Ausgang zeigen an, welcher Filterprozessor aktiv ist, und sind auf den Decoder 246 geführt. Decoderausgänge Y0 bis Y2 zeigen daher aktive Zustände für die Luminanzfilter 0, 1 und 2 an, während die Ausgänge Y4 bis Y6 aktive Zustände für die Chrominanzfilter 0, 1 und 2 anzeigen. Der Q0 und Q1-Ausgang des Zählers 260 sind ebenfalls auf den A- und B-Eingang einer vierzelligen Verzögerungsschaltung 261 geführt, die entsprechende Ausgangssignale HRAAAD0 in Form einer Horizontal-RAM-Adresse 0 und HRMAMAD1 in Form einer Horizontal-RAM- Adresse 1 vier Zeitzellen später erzeugt. Der C- und D-Eingang der vierzelligen Verzögerungsschaltung 261 nehmen das Chrominanzsignal bzw. das Signal für den Zählwert 3 auf. Nach einer Verzögerung von vier Zeitzellen erzeugen der QC und QD-Ausgang der Verzögerungsschaltung 261 entsprechende Signale HRMAD2 in Form einer Horizontal-RAM-Adresse 2 und HRMAD3 in Form einer Horizontal-RAM-Adresse 3. Das Signal HRMAD2 wird auf den D-Eingang eines Haltezwischenspeichers 262 gekoppelt, der an seinem Q-Ausgang das Horizontalsteuersignal HC erzeugt. Der Zwischenspeicher 262 wird durch den Signalsystemtakt getaktet.

Gemäß Fig. 5C nimmt ein Systembus-Adreßdecoder 270 die Systembus-Adreßsignale auf und decodiert diese Signale zur Erzeugung der Steuersignale für das Laden der Daten auf dem Systembus 20 in die Haltezwischenspeicher während einer Vorbildinitialisierung. Es ist zu beachten, daß das Signal *RST als decodiertes Adreßsignal erzeugt wird. Es ist nicht von Bedeutung, welcher genaue Adreßcode welchem Signal zugeordnet ist, so daß diese Decodierungsfunktion hier im einzelnen nicht beschrieben wird.

Das Ladeweg-Ausgangssignal LDPATHSEL wird auf den Takte ingang eines Wegauswahlregisters 272 gekoppelt, welches ein Datenbyte auf dem Systembus lädt, das die Art definiert, in der Videodaten durch die Filter 14, 16 laufen. Es ist zu beachten, daß ein Ausgang Q6 ein Signal *OUTEN erzeugt, bei dem es sich um ein generelles System-Ausgangsfreigabesignal handelt, während ein Ausgang Q3 ein Signal *HDISKINEN und ein Ausgang Q2 ein Signal *HTOOUT erzeugt. Es sei daran erinnert, daß diese Betriebsartsteuersignale steuern, welches der Filter 14, 16 zur Verarbeitung von Videodaten arbeitet. Bits Q5 und Q4 vom Register 72 sind auf den R- und B-Eingang eines Vertikaldecodierers 264 gekoppelt, welcher entsprechende Ausgangssteuersignale *VPOSTEN3-0 in Form von Vertikalpositions-Freigabesignalen 3 bis 0 erzeugt. Diese Signale definieren die Anzahl von Bitpositionen, für die eine Verschiebung im Vertikal-Nachnormierungsschieber 40 auftritt.

Entsprechend spricht ein Decodierer 266 auf Q0 und Q1-Ausgangssignale des Registers 272 zur Definition der Anzahl von Bits an, um die Horizontalfilterdaten durch einen Nachnormierungsschieber entsprechend demjenigen im Vertikaldatenweg zu verschieben sind. Die Ausgangssignale sind mit HPOSTEN3-0 bezeichnet. Der Q2-Ausgang des Registers 272 erzeugt ein Signal *HTOOUT, das durch ein Invertergatter 268 zur anderweitigen Verwendung im System in sein Komplement überführt wird.

Gemäß Fig. 5D werden die mit WHODONEL2-0 bezeichneten Horizontal-Ausführungsluminanzsignale auf drei ODER-Gatter 275, 276 und 277 gegeben. Jedes dieser Gatter nimmt ein zweites Eingangssignal *HPHINCEN auf, während ihre Ausgänge auf die D5 bis D3-Eingänge eines Haltezwischenspeichers 280 gekoppelt sind. Entsprechend sind die WHODONEL2-0-Signale direkt auf die D2 bis D0-Eingänge des Haltezwischenspeichers 280 gekoppelt. Der Haltezwischenspeicher 280 wird durch das Signal HPHFB+3 getaktet, wobei sein Ausgang in Abhängigkeit von einem aktiv tiefen Chrominanzsignal freigegeben wird.

Entsprechend werden drei Ausführungs-Chrominanzsignale WHODONEC2-0 auf drei ODER-Gatter 283, 284 und 285 gekoppelt. Ein zweiter Eingang jedes dieser ODER-Gatter nimmt das Signal *HPHINCEN auf. Die Ausgänge der drei ODER-Gatter 283 bis 285 sind jeweils auf die D5 bis D3-Eingänge eines Haltezwischenspeichers 288 gekoppelt. Eingänge D2 bis D0 des Zwischenspeichers 288 nehmen die drei Ausführungschrominanzsignale direkt auf. Die sechs Ausgänge Q5 bis Q0 des Zwischenspeichers 288 sind auf sechs ODER-Gatter 287 bis 292 gekoppelt. Um einen richtigen Zeittakt zu gewährleisten, nehmen die ODER-Gatter 287 bis 289 die Ausgangssignale der ODER-Gatter 283 bis 285 direkt sowie über den Zwischenspeicher 288 mit einer Luminanzabtast-Zeitverzögerung auf, während ODER-Gatter 290 bis 292 die beiden Ausführungschrominanzsignale direkt sowie über den Zwischenspeicher 288 mit einer Luminanzabtast-Zeitverzögerung aufnehmen. Die Ausgänge der ODER-Gatter 287 bis 292 sind mit den D5 bis D0- Eingängen eines Chrominanz-Haltezwischenspeichers 294 verbunden, welcher gleichzeitig wie der Haltezwischenspeicher 280 für Luminanzdaten durch ein Signal HPHFB+3 getaktet wird. Der Ausgang des Zwischenspeichers 294 wird durch den aktiv hohen Zustand des Signals CHROM freigegeben. Der Zustand des Signals CHROM wählt daher abwechselnd entweder den Luminanzzwischenspeicher 280 oder den Chrominanzzwischenspeicher 294 zur Ausgabe zu einer Horizontalfreigabe-Datenrückkoppel-Synchronisationsschaltung 296 oder einer Horizontalnachtakt-Synchronisationsschaltung 298 aus. Diese Synchronisationsschaltungen realisieren Zeitzellen 1, 3 oder 5 entsprechend den Filtern 0, 1 und 2 vor Erzeugung eines Horizontalfreigabe-Datenrückkoppelsignals *HENDATFB- bzw. eines Horizontalnachtaktes HPOSTCK. Diese Schaltungen sind analog und arbeiten entsprechend der Vertikalsteuerschaltung gemäß Fig. 2.

Gemäß Fig. 5E spricht ein Modulo-5-Zähler auf das Taktsignal SYSCK an und arbeitet zur wiederholten Zählung von 11 bis 15. Der Endzählwertausgang ist an einen Eingang eines ODER-Gatters 302 angekoppelt. Ein Ausgangsfreigabesignal *OR von der Horizontalfilterausgangs-FIFO-Schaltung ist auf den DO-Eingang eines Zwischenspeichers 304 gekoppelt, dessen Takteingang das Signal SYSCK aufnimmt. Der Q0-Ausgang des Zwischenspeichers 304 ist auf den zweiten Eingang des ODER- Gatters 302 gekoppelt, dessen Ausgang mit dem D1-Eingang eines Zwischenspeichers 304 verbunden ist, um wiederum an dessen Q1-Ausgang ein Schreibsteuersignal zu erzeugen. Das Signal an diesen Q1-Ausgang wird durch Koppeln auf den D2- Eingang des Zwischenspeichers 304 um eine Zeitzelle verzögert, wobei der Zwischenspeicher 304 an seinem Q2-Ausgang das Ausgangstaktsignal OUTCK erzeugt. Der Ausgang des Zwischenspeichers 304 wird in Abhängigkeit von Ausgangs freigabesignalen *OUTEN freigegeben. Diese Signale steuern den Zeittakt für die Ausgabe von gefilterten Daten zu einer externen Anordnung.

Fig. 5F zeigt eine Steuerschaltung zur Erzeugung von Luminanz- und Chrominanz-Bildpunkttaktsignalen zum Laden der Bildpunktdaten in die Ausgangs-FIFOs mit einem ersten Bildpunkt, der durch ein Luminanzbyte und zwei Chrominanzbytes definiert ist und unvollständige Daten enthält, welche selektiv ignoriert werden. Ein Zwischenspeicher 310 wird unter Steuerung des Systembusadreß-Decodiersignals LDHPHSTM in Form eines höchstwertigen Lade-Horizontalphasen-Startbytes getaktet, um das Ausgangssignal eines NAND- Gatters 312 in Abhängigkeit davon zu laden. Das NAND-Gatter 312 nimmt zwei Eingangsbits 5 und 4 vom Systembus 20 auf. Sind diese Bits beide wahr, so geht das Ausgangssignal des NAND-Gatters 12 auf einen tiefen Wert, um die Ignorierung von 0-Ausgangsdatenbildpunkten zu steuern. Besitzt entweder das Bit 5 oder das Bit 4 den logischen Wert 0, so nimmt das Ausgangssignal des NAND-Gatters 312 einen hohen Wert an, um die Ignorierung des ersten Ausgangsbildpunktes zu steuern. Das für ein volles Bild gehaltene Ausgangssignal des Zwischenspeichers 310 wird in den D-Eingang eines Zeilenhalte- Flip-Flops 314 eingegeben, das durch den Q4-Ausgang einer Verzögerungsschaltung 316 für fünf Zeitzellen getaktet wird. Der Q-Ausgang des Zwischenspeichers 314 ist mit einem Eingang eines UND-Gatters 318 verbunden, wobei der zweite Eingang durch das Signal HTOOUT angesteuert wird. Der Ausgang des UND-Gatters 318 ist mit einem Eingang eines ODER- Gatters 320 verbunden, dessen zweiter Eingang ein Signal *LUMINANCE aufnimmt, das die Luminanzdaten anzeigt. Dieses Signal wird durch den Daten 0-Ausgang eines 32·8 Steuer- ROM 322 erzeugt. Das Steuer-ROM 322 nimmt Adreßeingangssignale HPOSTCK, VPOSTCK, *HTOOUT, HC und VC auf. Am D1- Ausgang wird ein Chrominanztaktsignal CHROM CK erzeugt; der Dateninhalt des ROM 322 ist in Tabelle III dargestellt.

Tabelle III

Der Ausgang des ODER-Gatters 320 ist mit dem D1-Eingang eines Zwischenspeichers 324 verbunden, der an seinem Q1- Ausgang unter Steuerung durch das Zwischenspeichertaktsignal SYSCK ein Bildpunkt-Luminanztakt-Ausgangssignal *PIXLCK erzeugt. Das Signal *PIXLCK kann am Beginn jeder Zeile unter Steuerung der Systembus-Bits 5, 4 (wenn die Bits 5, 4 = 1, 1 sind) selektiv verzögert werden, um die unvollständigen Ausgangsdaten für die ersten beiden Chrominanzbytes zu ignorieren. Ein UND-Gatter 326 nimmt als erstes Eingangssignal das Signal HTOOUT und als zweites Eingangssignal das Endzählwert-Ausgangssignal eines Aufwärtszählers 328 auf, welcher in Abhängigkeit vom Signal am Q4-Ausgang der fünf Zellen-Verzögerungsschaltung 316 mit eine Zählwert von 13 geladen wird und sodann um zwei Zählungen auf den Endzählwert aufwärts zählt, wobei dann ein weiteres Zählen gesperrt wird. Ein zweiter Zählfreigabeeingang zum Zähler 328 ist mit dem D1-Ausgang des ROM 322 verbunden, welches das Chrominanztaktsignal CHROM CK erzeugt. Der Ausgang des UND-Gatters 326 ist mit einem Eingang eines ODER-Gatters 330 verbunden, dessen zweiter Eingang das Chrominanztaktsignal CHROM CK aufnimmt. Der Ausgang des ODER-Gatters 330 ist mit dem D0- Eingang des Zwischenspeichers 324 verbunden, der an seinem Q0-Ausgang das Bildpunkt-Chrominanztaktsignal *PIXCCK erzeugt, das zur Taktung des Eingangs des Chrominanzausgangs- FIFO dient.

Fig. 5G zeigt eine Zeilenendesignal-Generatorschaltung 332, welche das externe Zeilenendsignal EXTEOL erzeugt, das zur Steuerung des externen Bildspeichers 18 dient. Der Zweck des Signals EXTEOL besteht darin, die Bildspeicheradresse um eine Zeile in Y zu inkrementieren und X auf den Zeilenbeginn rückzusetzen. Ein FIFO-Rücksetzsignal *FRST wird zur Rücksetzung der Horizontal-Filterausgangs-FIFO-Kellerspeicher am Ende jeder Zeile erzeugt. Das Signal *FRST wird am Ende jeder Zeile für eine Zeitperiode verzögert, die ausreichend ist, um ein letztes Byte gültiger Daten durch den Ausgangs-FIFO 17 zum Bildspeicher 18 zu führen. Die Zeilenende-Steuerschaltung 332 enthält vier sequentiell geschaltete D-Zwischenspeicher 334 bis 337. Die Zwischenspeicher 334, 335 und 336 besitzen invertierte Löscheingänge, die mit dem Ausgang eines UND-Gatters 340 verbunden sind. Das UND-Gatter 340 spricht an einem Eingang auf das Hauptrücksetzsignal *RST und an einem zweiten Eingang auf das Signal am Q-Ausgang des Zwischenspeichers 337 an. Der Zwischenspeicher 337 wird durch das Signal SYSK getaktet, während die Zwischenspeicher 335, 336 durch das Signal HM1DATCK getaktet werden. Beim Auftreten eines Horizontalphasen-Rückkoppellöschsignals *HPHFBCLR am Ende einer Zeile wird daher der Zwischenspeicher 334 vorgesetzt und der Zwischenspeicher 336 nach einer Verzögerung von zwei Byteverarbeitungszeiten gesetzt, um ein ODER-Gatter 344 mit seinem Q-Ausgang freizugeben und den Zwischenspeicher 337 um eine Taktzeit später auf einen Zustand von 0 zu bringen. Dieser 0-Zustand wird auf ein UND- Gatter 340 gegeben, um wiederum den Zwischenspeicher 334 bis zum Ende der nächsten Teile rückzusetzen. Bevor jedoch die Schaltung 332 rückgesetzt wird, wird das Signal am Q-Ausgang des Zwischenspeichers 336 über das ODER-Gatter 344 auf ein UND-Gatter 346 gegeben, um das Signal *FRST zu erzeugen und einen invertierenden Puffer freizugeben, der mit seinem Eingang zur Erzeugung des Signals EXTEOL mit 0 verbunden ist. Ein zweiter Eingang des UND-Gatters 346 nimmt das Systemrücksetzsignal *RST auf, um die externen Zeilenendrücksetzungen und eine FIFO-Rücksetzung zu realisieren. Die Schaltung 332 dient zur Verzögerung des FIFO-Rücksetzsignals FRST solange wie möglich am Ende jeder Zeile, um alle gültigen Daten auszulesen, bevor das Ende der Zeilen FIFO-Rücksetzung auftritt.

Der Horizontaldatenweg 350 wird nun anhand der Fig. 6A und 6B beschrieben. Der Horizontaldatenweg entspricht im Zeittakt und in der Wirkungsweise in vieler Hinsicht dem Vertikaldatenweg, so daß das detaillierte Zeittaktdiagramm gemäß Fig. 4A für den Vertikaldatenweg hier nicht noch einmal im einzelnen für den Horizontaldatenweg erläutert wird. Generell ist das Pipelining der drei sequentiellen Filterprozessoren mit jeweils einem Prozessor für jedes Filter im Zielbildbereich im wesentlichen das gleiche. Detaillierte Realisierungsunterschiede ergeben sich aus der Richtung des Filters und der Notwendigkeit zur Unterscheidung zwischen Luminanzdaten und den beiden Arten von Chrominanzdaten mit zugeordneter unterschiedlicher räumlicher Auflösung.

Eine Horizontal-FIFO-Kellerspeicherschaltung 352 nimmt Eingangs-Videobildpunktdaten entweder vom Vertikalprozessor 14 auf einem mit DIN7-0 bezeichneten Bus oder von einer Eingangs-Bildpunktdatenquelle, wie beispielsweise der Quelle 12 auf einem mit DISK DATA 7-0 auf. Ein Horizontal-Platteneingangsfreigabesignal *HDISKINEN schaltet selektiv den Ausgang eines Puffers 354 wirksam, um die Eingabe von Daten direkt von einer Plattendatenquelle freizugeben. Der Eingangstakt ICK des FIFO 352 ist mit dem Ausgang eines NOR-Gatters 356 verbunden, das einen ersten mit einem UND-Gatter 358 verbundenen Eingang und einen zweiten mit dem Ausgang eines UND- Gatters 360 verbundenen Eingang besitzt. Das UND-Gatter 358 gibt bei Freigabe durch das Horizontal-Platten-Eingangs freigabesignal HDISKINEN ein externes Datentaktsignal DT CK weiter, während das UND-Gatter 360 bei Freigabe durch das Signal *HDISKINEN das Vertikal-Filterausgangs-Taktsignal VPOSTCK weitergibt. Der FIFO 352 wird während der Initialisierung durch das Signal *RST rückgesetzt und ist mit der Ausgangstaktsteuerung OCK zum Empfang des Komplementes des Horizontal-Multiplizierers 1-Datentaktsignals HM1DATCK gekoppelt.

Ebenso wie beim Vertikalfiltersystem ist der FIFO 352 in zwei Teilen realisiert, wobei die beiden Ausgangsbereitschaftssignale auf ein NAND-Gatter 362 gekoppelt werden, das ein Horizontal-FIFO-Bereitschaftssignal *HFIFOR erzeugt, wenn beide Abschnitte Bildpunktdaten enthalten. Ein Exklusiv-ODER-Gatter 364 invertiert selektiv das höchstwertige Bit von Chrominanzdaten in Abhängigkeit vom Signal FLIPMSB, dem höchstwertigen Kippbit aus oben bereits erläuterten Gründen. Das Ausgangssignal des FIFO 352 wird in Abhängigkeit vom Y-Eingangstaktsignal HM1DATCK auf eine erste Multiplikationsschaltung bzw. Vornormierungsmultiplikationsschaltung 366 gegeben. Der X-Eingang der Vornormierungsmultiplikationsschaltung 366 empfängt und lädt den Vornormierungsmultiplikationswert vom Systembus 20 in Abhängigkeit vom Adreßdecodiersignal LDHM1PRE, dem Lade-Horizontalmultiplizierer 1-Vornormierer. Das berechnete Produkt wird in einem Ausgangszwischenspeicher in Abhängigkeit vom Produkttaktsignal HM1PRODCK, dem Horizontalmultiplizierer 1- Produkttakt gespeichert. Das zwischengespeicherte Ausgangssignal des Multiplizierers 366 wird unter Steuerung durch das Taktsignal HM2DATCK, dem Horizontalmultiplizierer 2-Datentakt auf einen Y-Eingang eines Koeffizientenmultiplizierers 368 gegeben. Der X-Eingangsmultiplizierer 368 nimmt sequentiell drei Filterkoeffizientenwerte von Filter- ROMs 0, 1 und 2 370 bis 372 unter Steuerung durch das Taktsignal HM2COFCK, dem Horizontalmultiplizierer 2-Koeffiziententakt auf. Zwei Zellenzeiten nach jedem der drei Koeffiziententaktsignale wird das Ausgangssignal in Abhängigkeit vom Signal HM2PRODCK, dem Horizontalmultiplizierer 2-Produkttakt weitergegeben. Ein Zwischenspeicher 364 nimmt in Abhängigkeit vom Taktsignal HM2RECK, dem Horizontalmultiplizierer 2-Ergebnistakt, welcher dem Produkttakt um eine Zellenzeit nachläuft, die 13 höchstwertigen Ausgangsbits vom Koeffizientenmultiplizierer 368 auf und führt eine Zwischenspeicherung durch.

Die Phasensteuerschaltung 378 für das Horizontalfilter 16 entspricht derjenigen des Vertikalfilters 14. Ein Startzwischenspeicher 380 nimmt vom Systembus 20 zwei Bytes von Startlokalisierungsdaten in Abhängigkeit von decodierten Adreßsignalen LDHPHSTM, einem höchstwertigen Ladephasen- Startbyte und LDHPHSTL, einem geringstwertigen Ladephasen- Startbyte auf. Der Ausgang des Zwischenspeichers 380 wird in Abhängigkeit vom Horizontalphasen-Startfreigabesignal *HPHSTEN freigegeben. Ein Intekrementierungszwischenspeicher 382 nimmt über den Systembus 20 während der Initialisierungszeit zwei Bytes auf, welche das Inkrement für jeden Horizontalbildpunkt definieren, bei dem es sich im wesentlichen um den reziproken Wert des Kompressionsverhältnisses handelt. Dieser Wert wird in Abhängigkeit vom decodierten Adreßsignal LDHPHINCM, dem höchstwertigen Ladehorizontalphasen-Inkrementierungsbyte und LDHPHINCL, dem geringstwertigen Ladehorizontalphasen-Inkrementierungsbyte gespeichert. Der Ausgang des Zwischenspeichers 382 wird in Abhängigkeit vom Horizontalphasen-Inkrementierungsfreigabesignal *HPHINCEN freigegeben. Damit liefert das Startregister 380 ebenso wie beim Horizontalfilter eine relative Startadresse für jede Zeile, während das Inkrementierungsregister 382 einen Inkrementierungswert liefert, der danach beim Auftreten eines Bytes von Luminanzdaten dem Startwert hinzuaddiert wird.

Ein Kombinationsaddierer 384 und ein Festwertspeicher 386 addieren vorhergehende Adreß- bzw. Phasenwerte plus jedem neuen Inkrement mit dem Ergebnis einer Speicherung in einem Adreßzwischenspeicher 388 auf. Der Adreßzwischenspeicher 388 wird während der Zeitzelle 0 unter Steuerung des Signals HPHFBCK (Fig. 5B) geladen und am Beginn jeder Zeile durch das Signal *HPHBCLR gelöscht. Das aufaddierte Ausgangssignal des Addierers 384 und des ROM 386 werden ebenfalls als Adreßeingangssignale auf die drei Abschnitte der Koeffizientenfilter-ROMs 0, 1 und 2 gegeben. Es ist darauf hinzuweisen, daß das ROM in Abhängigkeit von den Signalen *HROMEN0 und HROMEN4 unter Steuerung eines höchstwertigen Adreßbits freigegeben wird. Entsprechend wird das Filter ROM1 371 in Abhängigkeit von Signalen *HROMEN1 und 5 freigegeben, welche relativ zu den ROM0-Freigabesignalen um zwei Zeitzellen verzögert sind, während das Filter-ROM2 372 in Abhängigkeit von Signalen *HROMEN2 und 6 freigegeben wird, welche relativ zu den Filter ROM1-Freigabesignalen um zwei Zeitzellen verzögert sind.

Die Horizontalfilterkoeffizienten-ROMs 370 bis 372 speichern jeweils Koeffizientenwerte für zwei Filterkoeffizientenkurven. Es handelt sich dabei um eine Kurve für Luminanzdaten, welche identisch mit der Vertikalkoeffizientenkurve nach Tabelle II ist, sowie um eine gesonderte Kurve für Chrominanzdaten gemäß Tabelle IV. Für Chrominanzhorizontalkoeffizienten ist eine gesonderte Kurve erforderlich, weil Chrominanzdaten lediglich die halbe räumliche Auflösung der Luminanzdaten in Horizontalrichtung besitzen. Signale *HROMEN0 bis 2 geben Abschnitte der Filter-ROMs 370 bis 372 zur Speicherung von Luminanzfilterkoeffizienten frei, während Signale *HROMEN4-6 Abschnitte der Filter-ROMs 370 bis 372 zur Speicherung von Chrominanzfilterkoeffizienten freigeben.

Tabelle IV definiert die Chrominanzkoeffizientendaten für das FROM0 370. Ebenso wie bei den Luminanzdaten sind die Koeffizientenfunktionen für die Filter 1 und 2 mit der Ausnahme gleich, daß sie jeweils aufeinanderfolgend um eine Bildpunktposition (128 Adreßzählwerte) nach rechts verschoben sind (Adressen, auf die durch das Modulo 3-Zählschema nicht zugegriffen wird, werden ignoriert).

Tatsächlich sind die Horizontal-L- und C-Kurve gleich. Die Chrominanzfilter sind effektiv doppelt so breit wie die Luminanzfilter, wobei dies jedoch in den PROMs durch Indexierung durch das Chroma "doppelt so schnell" kompensiert wird. Das bedeutet, daß die Chroma-PROMs eine Phasenadresse sehen", die um einen Platz in Bezug auf die von den Luminanz-PROMs "gesehenen" nach links verschoben ist. Die Differenz im PROM-Inhalt ergibt sich dann vollständig aus Diskontinuitäten im Modulo-3-Adreß(Phasen)-Raum, welche für eine verschobene Adresse in unterschiedlicher Weise auftreten.

Tabelle IV
Tabelle IV

Das Horizontalphasen-ROM 386 erzeugt an seinen drei geringstwertigen Ausgängen Q2 bis 0 die drei höchstwertigen Phasenadreßbits in der gleichen Weise wie das entsprechende Vertikalphasen-ROM 180. Der arithmetische Punkt liegt zwischen Bits 13 und 12, wobei die beiden geringstwertigen ganzzahligen Bits 14 und 13 auf Modulo-3-Basis in Übereinstimmung mit der Dreipunkt-Filterlänge im Zielbildraum "gezählt" werden. Bit 15 zählt Überläufe von den Bits 14, 13 auf Modulo-2-Basis.

Adreßbits 14 bis 6 koppeln auf Adreßeingänge 8 bis 0 von Luminanzdaten speichernden Abschnitten der ROMs 370 bis 273 in mit den ROMs 192 bis 194 für das Vertikalfilter 14 verwandter Weise. Da Chrominanzdaten jedoch lediglich die halbe Auflösung von Luminanzdaten besitzen, werden zur Realisierung der gleichen Filterauflösung die Adreßeingänge 8 bis 0 für die Chrominanzabschnitte der Filter-ROMs 370 bis 372 auf Adressen 15 bis 7 gekoppelt. Das bedeutet, daß die Verbindungen um eine Bitposition relativ zu den Luminanzverbindungen verschoben werden. Der Inhalt des Horizontalphasen- ROM 386 ist in Tabelle V dargestellt.

Tabelle V
Tabelle V

Unter spezieller Bezugnahme auf Fig. 6B werden die Koeffizientenproduktbits 15 bis 3 vom Koeffizientenproduktzwischenspeicher 374 auf die A12-0 Bits eines Horizontaladdierers 390 mit 16 Bit gegeben. Das Ausgangssignal mit 16 Bit des Horizontaladdierers 390 wird auf einen Speicher 392 mit wahlfreiem Zugriff für 16 Wörter mit 16 Bit gegeben. Im Gegensatz zum Vertikalfilter 14, das drei vollständige Datenzeilen mit jeweils einer Zeile für jeden Filterprozessor speichern muß, muß das Horizontalfilter 16 lediglich neun Wörter von auf addierten Teilprodukt-Filterdaten speichern. Es werden jeweils eines von drei Luminanzdatenwörtern für jeden Filterprozessor, jeweils eines von drei Rot-Y-Chrominanzdatenwörtern für jeden Filterprozessor und jeweils eines von drei Blau-Y-Chrominanzdatenwörtern aufaddiert. Das RAM 392 reicht daher zur Realisierung dieser Filteranforderungen mehr als aus. Der Schreibeingang des RAM 392 wird durch ein Horizontal-RAM-Schreibsignal *HRAMW angesteuert, während die Adreßeingänge durch ein Horizontal-RAM-Adreßsignal HRAMAD3-0 für Adressen 3 bis 0 angesteuert werden. Der Ausgang mit 16 Bit des RAM 392 ist mit einem Bilddatenbus PDAT15-5 verbunden, der auf einen Zwischenspeicher 394 sowie den Nachnormierungsschieber 396 führt. Ersichtlich kann daher bei Aufaddierung einer Teilfiltersumme der Betrag im Zwischenspeicher 394 gespeichert werden, um auf den B-Eingang des Horizontaladdierers 390 rückgeführt zu werden, wobei bei Aufaddierung einer vollständigen Summe der Betrag auf den Nachnormierungsschieber 396 gegeben werden kann. Werden vervollständigte Daten auf den Nachnormierungsschieber 396 gegeben, so ändert ein Horizontalfreigabe-Datenrückkoppelsignal *HENDATFB seinen Zustand, um den Ausgang des Zwischenspeichers 394 abzuschalten und den Ausgang eines Puffers 398 freizugeben, wodurch Daten mit dem logischen Wert 0 auf den B-Eingang des Addierers 390 gegeben und zum nächsten Koeffizienten-Teilproduktwert hinzuaddiert werden.

Die Wirkungsweise des Nachnormierungsschiebers 396 ist im wesentlichen die gleiche wie beim Vertikalfilter 15. Die vier Zwischenspeicher werden in Abhängigkeit vom Horizontalnachtaktsignal HPOSTCK geladen, wobei deren Ausgänge in Abhängigkeit von Horizontal-Nachfreigabesignalen 3 bis 0 *HPOSTEN3-0 selektiv freigegeben werden, um ein selektiv verschobenes Ausgangssignal auf einen Datenausgangsbus DOUT7-0 zu geben, der weiterhin mit dem gepufferten Ausgang des Vertikalfilters 14 verbunden ist. Der Bus DOUT7-0 koppelt für eine getrennte Aufaddierung von Luminanz- und Chrominanzdaten durch eine Horizontalausgangs-Luminanz-FIFO- Komponente 400 und ein Horizontalausgangs-Chrominanz-FIFO- Komponente 402. Die Komponenten 400, 402 bilden den auf den Bildspeicher 18 koppelnden Ausgangs-FIFO 17. Der Eingang der FIFO-Komponente 400 wird in Abhängigkeit vom Bildpunkt-Luminanztaktsignal PIXLCK getaktet, während der Ausgang in Abhängigkeit vom Ausgangstaktsignal OUTCK getaktet wird. Der Eingang der Horizontalchrominanz-FIFO-Komponente 402 wird in Abhängigkeit vom Bildpunktchrominanz-Taktsignal PIXCCK getaktet, während der Ausgang in Abhängigkeit vom Ausgangstaktsignal getaktet wird. Beide FIFO-Speicherkomponenten 400, 402 werden in Abhängigkeit vom FIFO-Rücksetzsignal *FRST gelöscht, während ihre Ausgänge in Abhängigkeit vom Ausgangsfreigabesignal OUTEN freigegeben werden. Die vier die beiden FIFO-Ausgangskomponenten 400, 402 umfassenden Abschnitte sind mit ihren Ausgangsfreigabesignalen mit einem NAND-Gatter 404 verbunden, das ein Ausgangsfreigabesignal *OR erzeugt, wenn ein Luminanzdatenbyte und ein Chrominanzdatenbyte gleichzeitig zur Ausgabe an eine externe Schaltung freigegeben werden. Das in den HOUT-Chroma-FIFO 402 eingegebene Vorzeichenbit wird durch einen Inverter 406 in sein Komplement überführt, um die Chrominanzdaten auf eine Zweierkompliment-Negativzahldarstellung zurückzuführen.

Gemäß Fig. 7 arbeitet ein Ausführungshorizontal-ROM 408 entsprechend dem signifikanteren Teil des Vertikalphasen-ROM 180 zur Erzeugung von Signalen WHODONEC 2-0 und WHODONEL 2-0 an seinen D5 bis D3- und D2 bis D0-Ausgängen. Der Inhalt des Ausführungs-H-ROM 408 ist in Tabelle VI angegeben.

Tabelle VI
Tabelle VI

Ein Echtzeit-Filtersystem 514 für das Vertikalfilter 14 enthält gemäß Fig. 8 einen Filterprozessor 0 418, einen Filterprozessor 1 419 sowie einen Filterprozessor 2 420 in Parallelschaltung. Der Filterprozessor 0 418 ist im wesentlichen gleich dem Vertikalfilterprozessor 0 gemäß den Fig. 3A und 3B. Entsprechende Komponenten sind mit gleichen Bezugszeichen versehen, wobei eine erneute Beschreibung nicht erfolgt, weil die Wirkungsweise die gleiche wie die oben beschriebene Wirkungsweise bleibt.

Die Filterprozessoren 1 419 und 2 420 sind mit der Ausnahme identisch mit dem Filterprozessor 0 418, daß die in den Filterkoeffizienten-ROMs gespeicherten Filterkoeffizientendaten aufeinanderfolgend um eine Bildpunktposition in der Phase verschoben werden, wie dies in Verbindung mit Fig. 3A beschrieben wurde. Die drei Filterprozessoren nach Fig. 8 arbeiten gleichzeitig und parallel statt in einem zeitsequentiellen Betrieb, wie dies bei der zeitverschobenen Ausführung gemäß den Fig. 3A und 3B der Fall ist. Die der sequentiellen Verarbeitung zugeordneten Zeitverzögerungen können daher eliminiert werden, so daß die empfangenen Bildpunktdaten mit der Echtzeit-Dateneingangsfrequenz verarbeitet werden können. Zwar werden die Zeittaktzusammenhänge für das Echtzeitfilter 415 nicht im einzelnen beschrieben; für den Fachmann ist jedoch ersichtlich, daß die eine Sequenz von drei Impulsen erzeugenden Signale jetzt lediglich den ersten Impuls bzw. den 0 Impuls gemäß Fig. 4 erzeugen müssen, der gleichzeitig auf alle drei Filterprozessoren 418 bis 420 gegeben wird. Die Steuersignale für den Nachnormierungsschieber 410 und die Puffer 166, 168 können zeitlich um vier Zeitzellen früher auftreten.

Eine Echtzeitversion des Horizontalfilters 16 ist nicht explizit dargestellt. Ersichtlich kann jedoch eine Echtzeitversion durch Eliminierung der sequentiellen Zeitmultiplexoperationen und gleichzeitige parallele Durchführung derartiger Operationen wie bei der Ausführung nach Fig. 8 realisiert werden.

Zwar wurden oben verschiebene Ausführungen eines elekronischen Einzelspeichersystems mit einem zielbildorientierten Filter mit dem Zweck beschrieben, den Fachmann in die Lage zu versetzen, die Erfindung auszuführen und zu verwenden; ersichtlich ist die Erfindung jedoch nicht darauf beschränkt. Es sind daher Modifikationen, Abänderungen oder äquivalente Ausführungen im Rahmen des Umfangs der beigefügten Ansprüche als im Rahmen der Erfindung liegend anzusehen.


Anspruch[de]

1. Verfahren zur Filterung einer Folge von Quellenbild- Datenwerten zwecks Erzeugung eines Zielrasters von Zielbild-Datenwerten, die für ein Zielbild ein ausgewähltes Größenverhältnis relativ zu einem Quellenbild angeben, bei dem

eine Filterfunktion realisiert wird, die Filterkoeffizienten als Funktion einer Verschiebung von einem Zielpunkt im Zielraster definiert;

jeder Quellendatenwert im Quellenraster in das Zielraster abgebildet wird; und

für jeden Punkt im Zielraster ein zugehöriger Zieldatenwert als Summe der Produkte jedes Wertes einer Vielzahl von Quellendatenwerten im Quellenraster und eines entsprechenden Filterkoeffizienten in Abhängigkeit von der Verschiebung des jeweiligen abgebildeten Quellendatenwertes vom jeweiligen Zielpunkt im Zielraster erzeugt wird, wobei die Anzahl von Quellendatenwerten in der Vielzahl zunimmt, wenn das ausgewählte Größenverhältnis abnimmt.

2. Verfahren nach Anspruch 1, bei dem die Summe der Filterkoeffizienten relativ zu einem Zieldatenpunkt in Bezug auf die jeweilige Verschiebung invariant ist.

3. Filterverfahren nach Anspruch 1 oder 2, bei dem weiterhin die Produkte zur Erzeugung von Ausgangs-Zielbild- Datenwerten, die in der Größe entsprechenden Quellenbild-Datenwerten entsprechen, normiert werden.

4. Filterverfahren nach Anspruch 3, bei dem die Normierung die Schritte einer Vornormierung jedes Quellenbild-Datenwertes durch einen ausgewählten Vornormierungsfaktor und einer Nachnormierung der Zieldatenwerte durch einen ausgewählten Nachnormierungsfaktor umfaßt.

5. Verfahren nach den vorhergehenden Ansprüchen, bei dem die Abbildungs- und Erzeugungsschritte die Inkrementierung eines Phasenparameters mit dem reziproken Wert eines ausgewählten Größenverhältnisses jedes Mal, wenn ein Quellenbild-Datenwert empfangen wird; die Ausnutzung des Phasenparameters für einen Zugriff auf eine gegebene Anzahl von Filterkoeffizienten entsprechend Filterpunkten, die durch die Filterkoeffizientenfunktion im Zielraum aufgespannt werden, zwecks Gewinnung einer diesen entsprechenden gegebenen Anzahl von Filterkoeffizientenwerten; die Multiplikation jedes Filterkoeffizientenwertes mit einem jeweiligen Quellenbild-Datenwert zwecks Erzeugung eines zu einem entsprechenden Zielbild-Datenpunkt gehörenden Koeffizientenproduktes; die Beibehaltung eines Teilsummenparameters für jeden durch den Quellenbild-Datenwert beeinflußten Zielbild-Datenpunkt; die Addition jedes Koeffizientenproduktes zum Teilsummenparameter zwecks Erzeugung eines neuen Teilsummenparameters für den diesem entsprechenden Zielbild-Datenpunkt, bis ein letzter den Zielbild-Datenpunkt beeinflussender Quellenbild-Datenwert empfangen worden ist, sowie zwecks nachfolgender Ausgabe des Teilsummenparameters als Zielbild-Datenpunktwert, Rücksetzen des Teilsummenparameters und Neuzuordnen des Teilsummenparameters zu einem nächsten Zielbild-Datenpunkt in Folge; und die Wiederholung der vorgenannten Schritte, bis keine weiteren Quellenbild-Datenwerte mehr vorhanden sind, umfassen.

6. Transformationsfilter, das eine Folge von Quellendatenwerten empfängt und Mittel (44, 46) zur Erzeugung einer gegebenen Vielzahl von Filterkoeffizienten für jeden empfangenen Quellendatenwert, wobei jeder Filterkoeffizient einem anderen Zieldatenpunkt zugeordnet und in Abhängigkeit von einer ausgewählten Filterfunktion und einer Verschiebung zwischen dem Punkt, in den sich der empfangene Quellendatenwert in ein Zielraster abbildet, und einem zugehörigen Zieldatenpunkt festgelegt ist; Mittel (36) zur Multiplikation jedes erzeugten Filterkoeffizienten mit einem empfangenen Quellendatenwert zwecks Erzeugung einer gegebenen Anzahl von Produkten für jeden empfangenen Quellendatenwert, wobei jedes Produkt die gleiche Zuordnung zu einem Zieldatenpunkt wie der Filterkoeffizient, aus dem es erzeugt wurde, besitzt; und Mittel (48, 50) zur getrennten Summation der jedem unterschiedlichen Zieldatenpunkt zugeordneten Produkte zwecks Erzeugung eines entsprechenden Zieldatenwertes, wenn alle Produkte summiert worden sind, die sich aus allen Quellendatenwerten, welche den Zieldatenwert in Abhängigkeit von der ausgewählten Filterfunktion beeinflussen, ergeben, umfaßt.

7. Transformationsfilter nach Anspruch 6, weiterhin umfassend auf die Summierung aller einem gegebenen Zieldatenpunkt zugeordneten Produkte ansprechende Mittel (52) zur Ausgabe des entsprechenden Zieldatenwertes und Ersatz der Zuordnung der Filterkoeffizienten-Erzeugungsmittel zu dem gegebenen Zieldatenpunkt durch eine Zuordnung zum nächsten folgenden nicht zugeordneten Zielbild-Datenpunkt, so daß die Zieldatenwerte in Folge festgelegt werden.

8. Transformationsfilter nach Anspruch 7, bei dem jeder Zieldatenwert aus einer gegebenen Vielzahl von Produkten besteht und die den Filterkoeffizienten zugeordneten Zieldatenpunkte sequentiell derart gestaffelt sind, daß jedes Mal dann, wenn ein nächster Quellendatenwert einen nächsten nicht zugeordneten Zielbild-Datenpunkt beeinflußt, ein vorher zugeordneter Zieldatenwert vervollständigt worden ist und der dazu zugeordnete Filterkoeffizient den nächsten Quellendatenwert zugeordnet werden kann.

9. Transformationsfilter nach Anspruch 6, bei dem die Mittel zur Erzeugung der Filterkoeffizienten eine Koeffizientenspeicher-Adressierungsschaltung (44), die zur Ausgabe einer Bildpunktphasenadresse sowie deren Inkrementierung proportional zum reziproken Wert eines ausgewählten Größenverhältnisses zwischen einem Zieldatum und einem Quellendatum jedes Mal, wenn ein sich auf einen nächsten Quellendatenpunkt beziehender Quellendatenwert empfangen wird, gekoppelt ist; und einen Filterkoeffizientenspeicher (46), der zum Empfang der Bildpunktphasenadresse als Adreßeingangssignal und Ausgabe der Filterkoeffizientenwerte in Abhängigkeit von einer ausgewählten Filterimpulsfunktion und einer Verschiebung zwischen jedem durch den Quellendatenwert beeinflußten Zieldatenpunkt und dem Quellendatenwert bei durch die Bildpunktadresse festgelegter Abbildung in einen Zielraum gekoppelt ist, umfassen.

10. Filter nach Anspruch 9, bei dem die Summierungsmittel einen Speicher (50), der zum Empfang und Speicherung von sich auf jeden Punkt einer Vielzahl von Zielbild- Datenpunkten beziehenden Summen von Koeffizientenprodukten gekoppelt ist; einen Addierer (48), der zur Addition jedes Koeffizientenproduktes zu einer entsprechenden im Speicher gespeicherten Summe von Koeffizientenprodukten zwecks Erzeugung einer neuen Summe und Rückführung der neuen Summe auf den Speicher für die Speicherung anstelle der Summe von Koeffizienten gekoppelt ist; und eine Ausgangssteuerschaltung, die zur Ausgabe einer Teilsumme als Zieldatenwert und Rücksetzen eines entsprechenden gespeicherten Teilsummenwertes in Abhängigkeit von der Bildpunktphasenadresse, wenn diese anzeigt, daß alle sich auf einen gegebenen Zieldatenpunkt beziehenden Koeffizientenprodukte empfangen worden sind, gekoppelt ist, umfassen.

11. Filter nach Anspruch 10 weiterhin umfassend, einen Normierungsmultiplizierer, der zur Multiplikation eines zu dem Zieldatenpunkt-Werten beitragenden Wertes mit einem für die Realisierung einer gegebebenen Filterfunktion gewählten Normierungsfaktor gekoppelt ist.

12. Filter nach den Ansprüchen 6 bis 11, bei dem die Summe der Filterkoeffizienten relativ zu einem Zieldatenpunkt in bezug auf die jeweilige Verschiebung invariant ist.

13. Bildtransformations-Filtersystem zur Transformation einer Folge von Quellenbild-Datenabtastwerten in ein Raster von Zielbild-Datenabtastwerten mit einem ausgewählten Größenkompressionsverhältnis umfassend eine Vielzahl von Filtern, die Datenwerte für in zyklischer Folge ausgewählte Zielbild-Datenpunkte liefern, wobei jedes Filter Mittel zum Aufaddieren einer Summe von Produkten von Quellenbild-Datenabtastwerten und Filterkoeffizienten in Abhängigkeit von den Lagen der Quellenbild-Datenabtastwerte relativ zum Zielraster umfaßt und ausgedrückt in Zielbild-Datenpunkten eine der Vielzahl gleiche Länge und ausgedrückt in der Anzahl der durch es aufgespannten Quellenbild-Datenpunkte eine mit dem Kompressionsverhältnis zunehmende Länge besitzt.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com