DE69030211T2 - Verarbeitungsanordnung für digitale Bildsignale - Google Patents

Verarbeitungsanordnung für digitale Bildsignale

Info

Publication number
DE69030211T2
DE69030211T2 DE1990630211 DE69030211T DE69030211T2 DE 69030211 T2 DE69030211 T2 DE 69030211T2 DE 1990630211 DE1990630211 DE 1990630211 DE 69030211 T DE69030211 T DE 69030211T DE 69030211 T2 DE69030211 T2 DE 69030211T2
Authority
DE
Germany
Prior art keywords
pixels
memory
image
words
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1990630211
Other languages
English (en)
Other versions
DE69030211D1 (de
Inventor
David John Hedley
Stephen Mark Keating
Peter John Virtue
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE69030211D1 publication Critical patent/DE69030211D1/de
Application granted granted Critical
Publication of DE69030211T2 publication Critical patent/DE69030211T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Studio Circuits (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

  • Die Erfindung bezieht sich auf eine digitale Signalverarbeitungsvorrichtung.
  • Es ist selbstverständlich bekannt, ein digitales Bildsignal zu erzeugen, umfassend eine Vielzahl von digitalen Wörtern, die entsprechende Pixel (Bildelemente) repräsentieren, welche bei Anordnung in einer zweidimensionalen Anordnung das Bild ausmachen. Ein derartiges Signal kann beispielsweise ein digitales Videosignal sein, welches durch Abtasten eines analogen Videosignals und durch Digitalisierung der Abtastproben mittels Pulscodemodulation zur Bildung von digitalen Wörtern, beispielsweise von 8-Bit-Wörtern, erhalten wird. Es gibt indessen andere Anwendungen, bei denen digitale Bildsignale gebildet werden können, beispielsweise bei der digitalen Speicherung einer Bildinformation und bei der Zeichenerkennung.
  • Es ist ferner bekannt, digitale Bildsignale zu speichern. So wird beispielsweise ein digitales Videoeffekte-(DVE)-Gerät häufig eines oder mehrerer Teilbilder oder Vollbilder eines digitalen Videosignals speichern, damit das Bild zur Erzielung eines gewünschten Effekts verarbeitet oder manipuliert werden kann.
  • Bei modernen Bildverarbeitungstechniken und insbesondere (jedoch nicht ausschließlich) bei einem DVE-Gerät ist häufig ein Zugriff auf einen zweidimensionalen (2-D)-Bereich eines gespeicherten digitalen Bildsignals erforderlich. Der Bereich ist üblicherweise von einer festen Größe und kann an irgendeiner Position innerhalb des Bildes angeordnet sein. So kann es beispielsweise erwünscht sein, eine Anordnung von Pixeln in einem Festfunktions-Digitalfilter zu verarbeiten, in welchem eine Anordnung von Pixeln mit bestimmten Gewichtungen kombiniert wird, um ein Abgabe-Pixel zu erzeugen, oder in einem Interpolations-Digitalfilter zu verarbeiten, in welchem eine Anordnung von Pixeln, die eine Abgabe- Pixelposition umgeben, die mit der Position eines gespeicherten Pixels nicht koinzidiert, mit bestimmten Gewichtungen kombiniert wird, um ein Interpolations-Abgabepixel einer Sub-Pixel-Genauigkeit zu erzeugen. Ein derartiges digitales Filter in der US-A-4 240 113 angegeben.
  • Wie auch immer die Anwendung aussieht, ist es selbstverständlich erwünscht, daß ein Zugriff auf die die Pixel repräsentierenden gespeicherten digitalen Wörtern so schnell wie möglich erzielt wird, um die Verarbeitungsgeschwindigkeit zu maximieren. Zu diesem Zweck ist es in höchstem Maße erwünscht, daß die die gewünschten Pixel repräsentierenden gespeicherten Wörter parallel zugreifbar sind. Ein derartiger Parallelzugriff ermöglicht nicht nur eine schnelle Verarbeitung, sondern er ermöglicht die Verarbeitung in einer sogenannten Pipeline-Art bzw. in solcher Reihenfolge durchzuführen, daß Sätze von Wörtern einem Filter (beispielsweise parallel) zugeführt werden können, wodurch ein Ausgangssignal von dem Filter nach einer bestimmten Verzögerung auftreten wird. Ein derartiger paralleler Zugriff ist in der GB-A-2 180 378 und in den japanischen Patent-Abstracts, vol. 10, Nr. 154 (P-463) (2210), 4. Juni 1986; und in JP-A-61 00 67 71 angegeben.
  • Nachstehend angegeben und in unserer noch schwebenden europäischen Patentanmeldung EP-A-0 386 881, für die die Priorität aus der englischen Patentanmeldung Nr. 890183.3 beansprucht worden ist und die am selben Tag wie die vorliegende Anmeldung eingereicht worden ist, beansprucht ist ein Verfahren zur Erzielung eines Zugriffs auf einen zweidimensionalen Bereich eines digitalen Bildsignals. Das Verfahren ermöglicht, einen Parallelzugriff zu erzielen. Es bringt indessen eine Schwierigkeit im Aufbau eines digitalen Filters mit sich. Im besonderen umfaßt es, wie weiter unten im einzelnen beschrieben, die Speicherung von digitalen Wörtern in einer Vielzahl von Speichereinrichtungen in einer solchen Art und Weise ein, daß eine Vielzahl von möglichen Beziehungen zwischen den Wörtern eines Satzes von Wörtern, die aus unterschiedlichen Speichereinrichtungen der Speichereinrichtungen ausgelesen sind, und den entsprechenden Speichereinrichtungen vorhanden ist, in denen sie gespeichert sind.
  • Gemäß der Erfindung ist eine digitale Bildsignalverarbeitungsvorrichtung geschaffen mit einer Vielzahl von Speichereinrichtungen, die eine jeweils zugehörige Datenbusleitung aufweisen und die jeweils eine Vielzahl von digitalen Wörtern zu speichern imstande sind, welche jeweils einzelne Pixel repräsentieren, die in dem Fall, daß sie in einer zweidimensionalen Anordnung angeordnet sind, ein Bild bilden, mit einem Leseadressengenerator, der derart betrieben ist, daß eine digitale Leseadresse erzeugt wird, welche in Werten von Positionen längs zweiter orthogonaler Bildkoordinatenrichtungen die Position eines Satzes von gespeicherten Wörtern identifiziert, die aus unterschiedlichen Speichereinrichtungen der Speichereinrichtungen auszulesen sind, wobei die eine Reihe von Pixeln repräsentierenden Wörter derart relativ zueinander positioniert sind, daß zumindest einige der Pixel eines zweidimensionalen Bereiches des Bildes dargestellt sind.
  • Diese Vorrichtung ist dadurch gekennzeichnet, daß die Leseadresse zumindest ein niederwertigstes Bit für jede der Koordinatenrichtungen umfaßt,
  • daß die Werte der niederwertigsten Bits in Kombination angeben, welche Beziehung von einer Vielzahl möglicher Beziehungen zwischen den Wörtern des genannten Satzes von Wörtern und den jeweiligen Speichereinrichtungen zutrifft, in denen diese gespeichert sind,
  • und daß ein digitales Filter mit einer Vielzahl von Multipliziereinrichtungen, deren Anzahl gleich der Anzahl von Wörtern in dem genannten Satz von Wörtern ist und deren jede mit der Datenbusleitung einer entsprechenden Speichereinrichtung der Speichereinrichtungen derart verbunden ist, daß sie ein entsprechendes Wort des Satzes der daraus gelesenen Wörter aufnimmt, und mit einer Vielzahl von Koeffizientenspeichern vorgesehen ist, deren jeder mit einer entsprechenden Multipliziereinrichtung der Multipliziereinrichtungen verbunden ist und sämtliche Koeffizienten einer Vielzahl von jeweils der Position eines entsprechenden Pixels der genannten Reihe von Pixeln in dem genannten zweidimensionalen Bereich des Bildes angemessenen Gewichtungskoeffizienten speichert, und deren jeder auf die Werte der niederwertigsten Bits anspricht und zur Identifizierung der Speichereinrichtung dient, deren Datenbusleitung mit der zugehörigen Multipliziereinrichtung verbunden ist, derart, daß an die zugehörige Multipliziereinrichtung derjenige Koeffizient der gespeicherten Vielzahl von Gewichtungskoeffizienten abgegeben wird, der der Position des durch das an die zugehörige Multipliziereinrichtung abgegebene Wort repräsentierten Pixels in dem genannten zweidimensionalen Bereich des Bildes angemessen ist.
  • Wie weiter im einzelnen nachstehend erläutert, ermöglicht die vorstehende Vorrichtung die Überwindung der oben beschriebenen Schwierigkeit dadurch, daß sie sicherstellt, daß in sämtlichen Fällen jedes Wort, welches jeder Multipliziereinrichtung des Filters zugeführt wird, durch den korrekten Koeffizienten gewichtet wird bzw. ist.
  • Die Erfindung wird nunmehr unter Bezugnahme auf die beigefügten Zeichnungen anhand eines anschaulichen und nicht beschränkenden Beispiels weiter beschrieben.
  • Fig. 1 veranschaulicht einen Teil eines Bildes und zeigt, wie dieser in Pixel aufgeteilt und wie die Pixel gemeinsam in mosaikartige Bereiche entsprechender Größe und Form (Quadrat im Falle der Fig. 1) gruppiert werden können, wobei die Bereiche nachstehend als Formstücke bezeichnet werden.
  • Fig. 2 veranschaulicht eines der Formstücke in einem vergrößerten Maßstab;
  • Fig. 3 veranschaulicht eine Vorrichtung zum Speichern eines digitalen Signals, welches das Bild repräsentiert;
  • Fig. 4 zeigt vier benachbarte Formstücke in einem vergrößerten Maßstab und wird zur Beschreibung des Auslesens des gespeicherten digitalen Signals herangezogen.
  • Fig. 5 veranschaulicht in einer Ansicht entsprechend einem Teil gemäß Fig. 1 die in Mosaikbereiche in Form von Kreuzen gruppierten Pixel.
  • Fig. 6 veranschaulicht in einer Ansicht entsprechend einem Teil gemäß Fig. 1 die in Mosaikbereichen in Form von Sechsecken gruppierten Pixel.
  • Fig. 7 veranschaulicht eine Anordnung von Pixeln, für die die Wörter, welche sie repräsentieren, aus der Speichervorrichtung auszulesen und an ein Filter abzugeben sind.
  • Fig. 8 veranschaulicht, wie im Prinzip das Filter aufgebaut werden kann.
  • Fig. 9 veranschaulicht eine praktische Ausführungsform des Filters.
  • Fig. 10 veranschaulicht eine Variante eines in dem Filter gemäß Fig. 9 verwendeten programmierbaren Koeffizienten-Lesespeichers (PROM).
  • Fig. 11 veranschaulicht, wie ein Interpolationsfilter zwischen einer Anordnung von gespeicherten Wörtern, die Pixel zur Bildung eines Abgabepixels repräsentieren, welches eine Lage aufweist, die nicht mit der Lage eines gespeicherten Pixels koinzidiert, interpoliert.
  • Fig. 12 veranschaulicht wie die PROM-Speicher des Filters gemäß Fig. 9 modifiziert werden können, wenn das Filter als Interpolationsfilter zu verwenden ist.
  • Fig. 13 veranschaulicht, wie der PROM-Speicher gemäß Fig. 10 für die Verwendung als Interpolationsfilter modifiziert werden kann.
  • Fig. 1 der Zeichnungen veranschaulicht einen Teil eines Bildes. Das Bild kann als eine zweidimensionale (2-D)-Anordnung von Pixeln (Bildzellen oder -elementen) P umfassend betrachtet werden, deren Grenzen in Fig. 1 durch gestrichelte Linien dargestellt sind. Das Bild kann beispielsweise jenes sein, welches durch ein Teilbild eines Videobildes dargestellt ist. Falls beispielsweise das Videosignal ein Fernsehsignal hoher Auflösung (HDTV-Signal) ist, nämlich ein 1025 Zeilen umfassendes Videosignal mit einem Bildformat von 5:3, beträgt die Anzahl der Pixel 500 (in der vertikalen Richtung) multipliziert mit 1920 (in der horizontalen Richtung), nämlich 960.000. Der Einfachheit halber wird das Bild nachstehend für den Fall beschrieben, daß es sich um ein Bild handelt, welches sich durch ein Teilbild eines Videosignals repräsentiert ist, obwohl darauf hingewiesen werden sollte, daß die Technik zur Speicherung und zum Lesen (Zugreifen), wie nachstehend beschrieben, auf andere Bilder anwendbar ist.
  • Das Bild wird in ein Bildsignal konvertiert und danach gespeichert, und zwar durch: Abtasten des Bildes in der Mitte des jeweiligen Pixels längs aufeinanderfolgender horizontaler Bildabtastzeilen, wodurch jede Abtastung einem Pixel entspricht, durch Digitalisieren der jeweiligen Abtastprobe mittels Pulscodemodulation zur Bildung eines digitalen Wortes oder Bytes (zum Beispiel eines 8-Bit-Wortes), welches das Pixel repräsentiert; und durch Speichern der Wörter unter entsprechenden Speicheradressen.
  • Vor der Speicherung werden die Wörter Gruppen zugeordnet bzw. zugeteilt oder begrifflich in Gruppen derart aufgeteilt, daß die durch Wörter repräsentierten Pixel der jeweiligen Gruppe einen 2-D-Bereich des Bildes bilden, welcher eine Form und Größe aufweist, die dieselbe ist für sämtliche Gruppen, wobei die Form derart ist, daß die Bereiche derselben Form und Größe (welche Bereiche nachstehend als "Formstücke" bezeichnet werden) miteinander derart mosaikartig zusammengelegt sind, daß sie zumindest einen Teil des Bildes (oder vorzugsweise das Gesamtbild) bilden. Im Falle der Fig. 1 sind die Formstücke (die mit T0, T1, etc. bezeichnet sind und deren Grenzen durch voll ausgezogene Linien veranschaulicht sind,) von quadratischer Form, und ihre Größe beträgt vier Pixel zu vier Pixel, wodurch jedes Formstück 16 Pixel umfaßt. Die Größe und Form der Formstücke ist indessen unwesentlich, vorausgesetzt, daß sämtliche von gleicher Größe und Form zur Mosaikbildung imstande ist.
  • Die die Pixel repräsentierenden Wörter sind bzw. werden in einer Vielzahl physikalisch gesonderten Speichereinrichtungen, wie Schreib-Lese-Speichereinrichtungen (RAMs) gespeichert, wobei die Anzahl dieser Einrichtungen gleich der Anzahl der Pixel in jedem Formstück ist. Im Falle des Beispiels gemäß Fig. 1 werden somit 16 Speichereinrichtungen verwendet. Ferner werden die Pixel in den Speichereinrichtungen derart gespeichert, daß für jede Pixelposition in jedem Formstück die Wörter von sämtlichen Formstücken, welche die Pixel mit der betreffenden Pixelposition in dem Formstück repräsen tieren, in einer entsprechenden Speichereinrichtung der Speichereinrichtungen gespeichert werden. Demgemäß werden im Falle gemäß Fig. 1, bei der 16 Speichereinrichtungen zur Speicherung verwendet sind (die mit M0 bis M15 bezeichnet sind) die Wörter so gespeichert, wie dies schematisch in Fig. 2 veranschaulicht ist. Dies bedeutet, daß die linken oberen Wörter in sämtlichen das Bild bildenden Formstücken unter entsprechenden Adressen in der Speichereinrichtung M0 gespeichert sind bzw. werden; die Pixel zur rechten Seite sämtlicher Formstücke werden unter entsprechenden Adressen in der Speichereinrichtung M1 gespeichert; und so weiter. Mit anderen Worten ausgedrückt heißt dies, daß jede Pixellage in sämtlichen Formstücken einer entsprechenden Speichereinrichtung der Speichereinrichtungen zugeordnet ist.
  • Die Speicherkapazität jeder der Speichereinrichtungen M0 bis M15 muß selbstverständlich gleich oder größer sein als die Gesamtanzahl von Pixeln in dem Bild dividiert durch die Anzahl der Pixel in jedem Formstück. In Fortsetzung des obigen Beispiels der Speicherung eines HDTV-Teilbildes muß somit die Speicherkapazität jeder der Speichereinrichtungen M0 bis M15 nicht weniger als 960.000/16=60.000 Wörter sein. Somit könnten beispielsweise RAM-Speicher mit einer Speicherkapazität von 64kB verwendet werden.
  • Nunmehr wird der Betrieb des Einschreibens des Bildsignals in die Speichereinrichtungen (nachstehend der Kürze halber auch als "Speicher" bezeichnet) unter Bezugnahme auf Fig. 3 beschrieben. Die Speicher M0 bis M15 (die beispielsweise 16 64- kB-RAM-Speicher umfassen können, die auf einem oder mehreren Schaltungsplatten montiert sind) sind jeweils mit einer entsprechenden Datenbusleitung D und einer entsprechenden Adressenbusleitung A versehen. Die 16 Daten-Busleitungen D sind mit entsprechenden Ausgängen eines Datenschalters 10 verbunden, und die 16 Adressenbusleitungen A sind mit entsprechenden Ausgängen eines Schreibadressengenerators 12 verbunden. Die Daten in Form einer Folge von Wörtern, die durch Abtasten eines analogen Videosignals und durch Digitalisieren der Abtastproben mittels Pulscodemodulation unter Bildung der Wörter erhalten werden, werden einem Eingang des Datenschalters zugeführt. Der Datenschalter 10 schaltet jedes Wort auf die Datenbusleitung D eines entsprechenden Speichers der Speicher M0 bis M15, und der Schreibadressengenerator 12 gibt Adressensignale an die Adressenbusleitungen A der betreffenden Speicher ab, so daß die Wörter in den Speichern in der oben beschriebenen Weise gespeichert werden. Bezogen auf die oberste Zeile der Pixel in Fig. 1, die auf eine Abtastung und Digitalisierung hin die Wörter der ersten Bildzeile des Videosignals werden, werden somit die ersten vier Wörter (in dem Formstück T0) zu den Speichern M0 bis M3 durchgeschaltet und darin unter den nullten Adressen gespeichert. Die nächsten vier Wörter (in dem Formstück T1) werden ebenfalls in den Speichern M0 bis M3 unter den ersten Adressen gespeichert. Dieser Prozeß setzt sich für die gesamte erste Bildzeile fort, wobei die letzten vier Wörter (in dem Formstück T(N-1)) in den Speichern M0 bis M3 unter den (N-1)-ten Adressen gespeichert werden.
  • In der nächsten Bildzeile (noch in den Formstücken T0 bis T (N-1)) werden die Wörter in derselben Weise gespeichert, jedoch diesmal in den Speichern M4 bis M7. In entsprechender Weise werden in den dritten und vierten Bildzeilen die Wörter in derselben Weise gespeichert, jedoch diesmal in den Speichern M8 bis M11 (dritte Zeile) und M12 bis M15 (vierte Zeile). In der fünften Bildzeile werden die Wörter wieder in den Speicher M0 bis M3 gespeichert, und zwar in diesem Falle unter den N-ten (2N-1)-ten Adressen. Dieser Prozeß setzt sich für die Bildzeilen eines gesamten Teilbildes des Videosignals fort, bis das gesamte Teilbild in den Speichern M0 bis M15 gespeichert ist. Jedes Wort wird in einem entsprechenden Speicher der Speicher M0 bis M15 gespeichert, wie dies durch die Position in einem Formstück des Pixels diktiert ist, das es repräsentiert, und die Adresse jedes Wortes in dessen entsprechenden Speicher ist die Nummer (das heißt die Lage) des Formstücks, welche das das betreffende Wort repräsentierende Pixel enthält.
  • Bei modernen Bildverarbeitungstechniken, beispielsweise (jedoch nicht ausschließlich) bei einem digitalen Videoeffekte-(DVE)-Gerät, ist es häufig erforderlich, Zugriff zu einem 2D-Bereich des Bildes zu erhalten. So kann es beispielsweise erwünscht sein, einen Satz gespeicherter Wörter, die eine Anordnung von Pixeln repräsentieren, welche einen 2- D-Bereich des Bildes ausmachen, in einem festliegenden Funktionsfilter zu verarbeiten, in welchem die gespeicherten Wörter mit bestimmten Gewichtungen kombiniert werden, um ein Abgabewort zu erzeugen, oder in einem Interpolationsfilter zu verarbeiten, in welchem ein Satz der gespeicherten Wörter, die eine Anordnung von Pixeln repräsentieren, welche einen 2- D-Bereich des Bildes ausmachen, der eine Abgabe-Pixelposition umgibt, die nicht mit irgendeiner der Pixelpositionen koinzidiert, welche durch die gespeicherten Wörter repräsentiert sind, mit bestimmten Gewichtungen kombiniert wird, um ein interpoliertes Abgabepixel mit einer Sub-Pixel- Genauigkeit zu erzeugen.
  • So sei beispielsweise der Fall herangezogen, bei dem ein Zugriff auf (das Lesen von) einer 4 x 4 Pixelanordnung benötigt wird (die einen 2-D-Bildbereich derselben Form und Größe wie die Bildformstücke ausmacht). Was dies umfassen könnte ist folgendes. Zunächst ist ein Zugriff auf sämtliche Wörter erforderlich, welche die Pixel in dem Formstück T0 repräsentieren. Anschließend ist nach der Verschiebung der Zugriffs- oder Leseanordnung um einen Schritt nach rechts ein Zugriff auf die drei Spalten der Pixel auf der rechten Seite des Formstücks T0 und bis zur am weitesten links liegenden Spalte der Pixel im Formstück T1 erforderlich. Anschließend ist nach einem weiteren Schritt nach rechts ein Zugriff auf die Pixel in der rechten Hälfte des Formstücks T0 und auf die Pixel in der linken Hälfte des Formstücks T1 erforderlich; Dies geht so weiter bis herunter zur ersten Reihe bzw. Zeile (T0 bis T(N-1) der Formstücke. Somit ist in den meisten Fällen ein Zugriff auf Pixel in zwei Formstücken erforderlich.
  • Sodann wird die Lese- oder Zugriffsanordnung um ein Pixel heruntergestuft, und der Betrieb wird wiederholt, wodurch diesmal ein Zugriff in den meisten Fällen auf Pixel innerhalb von vier Formstücken benötigt wird.
  • Da dieser Prozeß zeilenweise wiederholt wird, dürfte einzusehen sein, daß in den meisten Fällen über das Bild als Ganzes ein Zugriff auf Pixel innerhalb von vier Formstücken benötigt wird. Dies bedeutet, daß die Leseanordnung, während sie von derselben Größe und Form ist wie die Bildformstücke, in den meisten Fällen nicht mit einem Bildformstück koinzidiert. Genauer gesagt wird die Leseanordnung mit einem Formstück in lediglich einer der 16 möglichen Stellen bzw. Lagen der Leseanordnung in bezug auf die Formstückgrenzen koinzidieren.
  • Es dürfte einzusehen sein, daß es dann, wenn ein gespeichertes Bild in der obigen Weise verarbeitet wird, in höchstem Maße erwünscht ist, daß es möglich ist, sämtliche Wörter in der Leseanordnung parallel zu lesen. Dies wird den Prozeß beschleunigen, der durch das Filter oder eine andere Einrichtung ausgeführt wird, das bzw. die durch die Leseanordnung gespeist wird, und es ermöglicht den Prozeß in einer Pipeline-Art auszuführen, und zwar insoweit, als Sätze von Wörtern dem Filter oder der anderen Einrichtung parallel zugeführt werden können, wodurch eine Abgabe von dem Filter oder der anderen Einrichtung nach einer bestimmten Verzögerung erfolgen wird. Im allgemeinen ist ein Parallelzugriff auf Wörter der Leseanordnung schwierig oder unmöglich. Wie nunmehr erläutert werden wird, ermöglicht jedoch die Form der oben unter Bezugnahme auf Fig. 1 bis 3 beschriebenen Speicherarchitektur tatsächlich einen Parallelzugriff zu erzielen.
  • Wie oben erläutert, wird die Leseanordnung, während sie von derselben Form und Größe ist wie die Bildformstücke T0, T1, etc., im allgemeinen nicht mit einem Bildformstück während des Leseprozesses koinzidieren. Ein Beispiel dieser Anordnung ist in Fig. 4 veranschaulicht. Fig. 4 zeigt vier benachbarte Formstücke Tn, T(n+1), Tm und T(m+1), die an einer beliebigen Stelle im Bild angeordnet sind. Es sei angenommen, daß zu einem bestimmten Zeitpunkt ein Zugriff auf die gespeicherten Wörter erforderlich ist, die den 2-D-Bildbereich repräsentieren, der durch die 4 x 4-Anordnung von Pixeln definiert ist, welche durch die gestrichelte Linie in Fig. 4 umgrenzt ist. Wie ersichtlich, überlappt der zu lesende Bildbereich alle vier Formstücke. Wie ferner ersichtlich werden wird, wird aufgrund der Tatsache, daß der zu lesende Bildbereich von gleicher Form und Größe ist wie die mosaikartigen Bildformstücke (oder genauer gesagt von einer solchen Form und Größe, daß er eine Umgrenzung aufweist, die innerhalb jener der Bildformstücke fällt), und mit Rücksicht darauf, daß die der jeweiligen Position entsprechenden Wörter in jedem Formstück in einem eindeutigen Speicher der Speicher M0 bis M15 gespeichert sind, die dem Lesebereich entsprechende Leseanordnung einen Zugriff auf nicht mehr als ein Wort in irgendeinem der Speicher benötigen. In der Tat ist ein Zugriff auf ein Wort lediglich in jedem der Speicher M0 bis M15 erforderlich, wodurch die gesamte Anordnung durch gleichzeitiges Adressieren einer einzigen Stelle in jedem der Speicher (über deren entsprechende Daten- und Adressenbusleitungen D und A) parallel gelesen werden kann.
  • Somit wird bei dem in Fig. 4 veranschaulichten spezifischen Beispiel (wobei in Erinnerung gerufen sei, daß die Adressen des jeweiligen Wortes in seinem entsprechenden Speicher die Nummer oder Lage in dem Bild des Formstücks ist, welches das das betreffende Wort repräsentierende Pixel enthält) die Anordnung durch Lesen der Wörter mit der Adresse n in den Speicher M5, M6, M7, M9, M10, M11, M13, M14 und M15 gelesen, wobei die Wörter die Adressen (n+1) in den Speichern M4, M8 und M12, die Wörter die Adresse m in den Speichern M1, M2 und M3 und die Wörter die Adresse (m+1) in dem Speicher M0 aufweisen. Wie durch genaue Betrachtung der Fig. 4 festgestellt werden kann, bei der die Position der Leseanordnung (deren Grenze, wie oben erwähnt, durch gestrichelte Linien veranschaulicht ist) derart geändert ist, daß sie irgendeine andere der 15 möglichen Stellen einnimmt, in denen die Pixelpositionen zwei oder mehr der Formstücke Tn, T(n+1), Tm und T(m+1) umfassen, wird in sämtlichen Fällen die Leseanordnung einen Zugriff allein auf die eine Adresse der Adressen in jedem der Speicher M0 bis M15 erfordern, wodurch die gesamte Anordnung im Falle sämtlicher 16 möglicher Einstellungen der Leseanordnung in bezug auf die Formstückgrenzen parallel durch gleichzeitiges Adressieren einer einzigen Stelle in jedem der Speicher (über deren entsprechende Lese- und Adressenbusleitungen D und A) gelesen werden kann.
  • Bei dem vorstehenden Beispiel war die Lese- und Zugriffsanordnung von derselben Größe und Form wie die Bildformstücke (und umfaßte somit dieselbe Anzahl von Pixeln wie die Anzahl von Speichern). Während dies üblicherweise der Fall sein wird, wird ein Parallelzugriff erreichbar, wenn die Form und Größe der Leseanordnung so sind, daß diese eine Grenze aufweist, welche innerhalb jener des Bildformstücks fällt. Somit ist es nicht notwendig, sämtliche Wörter in einer Anordnung zu lesen, die von derselben Größe und Form ist wie die Bildformstücke. Bei dem oben beschriebenen Beispiel wäre beispielsweise ein Parallelzugriff noch erreichbar, falls lediglich einige der Wörter, welche die Pixel innerhalb der 4 x 4-Zugriffsanordnungen repräsentieren, gelesen würden, beispielsweise Wörter, die gegenseitig in Abstand vorhandene ausgewählte Pixel der Pixel oder Wörter repräsentieren, die kennzeichnend sind für benachbarte Pixel der Pixel, die einen 2-D-Bereich des Bildes (zum Beispiel einer 2 x 2- oder 3 x 3- Anordnung) ausmachen, die vollständig in eine 4 x 4-Anordnung hineinfällt.
  • Wie oben ausgeführt, ist, obwohl die Bildformstücke beim vorstehenden Beispiel quadratisch sind, die Größe und Form der Formstücke unwesentlich, vorausgesetzt allerdings, daß sie von gleicher Form und Größe sind und daß die Form mosaikbildungsfähig ist. So ist es beispielsweise möglich, kreuzförmige Formstücke (wie die in Fig. 5 dargestellten 5-Pixel- Kreuze) oder polygonale Formstücke (wie die in Fig. 6 dargestellten 24-Pixel-Sechsecke) zu verwenden. Außerdem ist klar, daß eine rechteckige Form verwendet werden kann. In sämtlichen Fällen kann die Bedingung, daß die Leseanordnung lediglich zu einer Adressenstelle in jedem der Speicher Zugriff erhält, erfüllt werden. Dies kann beispielsweise aus einer Betrachtung der Fig. 5 ersehen werden, die kreuzförmige Formstücke mit fünf Pixeln verwendet, wobei fünf Speicher M0 bis M4 verwendet werden (wie bei dem obersten Formstück in Fig. 5 veranschaulicht). Somit kann die kreuzförmige Leseanordnung, die in Fig. 5 durch gestrichelte Linien umgrenzt ist, durch Lesen der Speicher M3 und M4 unter der Adresse eines der Formstücke, der Speicher M1 und M2 unter der Adresse eines zweiten Formstücks, und des Speichers M0 unter der Adresse eines dritten Formstücks gelesen werden.
  • Nunmehr wird die Art und Weise, in der in den Speichern M0 bis M15 gespeicherte Wörter für ein Filter gelesen werden, im einzelnen beschrieben. Das Filter, das in Fig. 3 mit 14 veranschaulicht ist, weist 16 Eingänge auf, die jeweils mit der Datenbusleitung D eines entsprechenden Speichers der Speicher M0 bis M15 verbunden sind. Das Lesen von gespeicherten Wörtern über die Datenbusleitungen D zu dem Filter 14 hin wird durch einen Leseadressengenerator 16 gesteuert, der einen Teil des digitalen Videoeffekte-(DVE)-Geräts bilden kann und der 16 Ausgänge aufweist, die jeweils mit der Adressenbusleitung A eines entsprechenden Speichers der Speicher M0 bis M15 verbunden sind. Für jede Taktperiode des Filters 14, das heißt jedesmal dann, wenn die Anordnung von 16 Wörtern, die gelesen wird, in bezug auf das gespeicherte Bild, wie oben beschrieben, heruntergestuft wird, erzeugt der Leseadressengenerator 16 eine digitale Leseadresse, die die Stelle der Leseanordnung in dem Bild repräsentiert. Im speziellen repräsentiert die Leseadresse in dem Bild die Lage eines Referenzpixels der Pixel der Leseanordnung in Werten von X- und Y-Koordinaten in einem Koordinatensystem, bei dem der Ursprung die linke obere Ecke in Fig. 1 ist, wobei die X-Koordinate die Anzahl der Pixel (zum Beispiel 1 bis 1920 bei dem obigen Beispiel des gespeicherten Bildes, welches ein Teilbild eines HDTV-Signals ist) in Richtung von rechts zum Ursprung hin angibt, und wobei die Y-Koordinate die Anzahl der Pixel (zum Beispiel 1 bis 500 bei demselben Beispiel) in der Richtung, die von dem Ursprung aus unten verläuft, angibt.
  • Die Leseanordnung ist in Fig. 7 veranschaulicht. Wie oben erläutert, ist sie, wie dargestellt, vorzugsweise von der gleichen Form und Größe wie die Bildformstücke, die (bei dem vorliegenden Beispiel) eine 4 x 4-Anordnung von Wörtern sind, welche die Pixel P0 bis P15 repräsentieren, wobei P0 bis P15 irgendeine 4 x 4-Anordnung von Pixeln innerhalb des Bildes sein kann. Das oben erwähnte Referenzpixel kann irgendein bestimmtes Pixel der Pixel P0 bis P15 sein. In dem Fall, daß die Anordnung ungeradzahlig ist (zum Beispiel eine 5 x 5-Anordnung), wäre es bezüglich des Referenzpixels vorteilhaft bzw. geeignet, das mittlere Pixel zu sein. Da bei einer geradzahligen Anordnung kein mittleres Pixel vorhanden ist, ist es vorteilhaft bzw. geeignet, ein Pixel nahe der Mitte, beispielsweise das Pixel P5 als Referenzpixel auszuwählen. Somit repräsentiert für jede Taktperiode des Filters 14 die durch den Leseadressengenerator 16 erzeugte Leseadresse die X- und Y-Koordinaten des betreffenden Pixels innerhalb des Bildes, das heißt, daß sie während der betreffenden Periode die Position in der Leseanordung des Pixels P5 hat bzw. angibt. Der Leseadressengenerator 16 nutzt das Signal X, Y zur Adressierung des in Frage kommenden Speichers der Speicher M0 bis M15 über dessen Adressenbusleitung A, um das das Pixel P5 repräsentierende Wort über die Datenbusleitung D des betreffenden Speichers zu dem Filter 14 hin gelangen zu lassen. Da die Lage jedes der anderen Pixel P0 bis P4 und P6 bis P15 der Leseanordnung einen bestimmten Versatz in den X- und Y-Richtungen von der Lage bzw. Stelle des Referenzpixels P5 aus aufweist, kann der Leseadressengenerator 16 ohne weiteres für die Adressen für die Wörter berechnen, die diese Pixel von jener des Referenzpixels repräsentieren, wodurch sämtliche Wörter, die die Pixel P0 bis P15 repräsentieren, gleichzeitig adressiert und von den entsprechenden Speichern M0 bis M15 über deren entsprechende Datenbusleitungen D an die Filter 14 zur parallelen Verarbeitung gleichzeitig ausgesendet werden können.
  • Wie oben erläutert, wird jedes Wort in einem entsprechendem Speicher der Speicher M0 bis M14 gespeichert, wie dies durch dessen Position innerhalb eines Bildformstücks festgelegt ist, wobei die Adresse des jeweiligen Wortes in dessen entsprechenden Speicher die Zahl (das heißt die Lage innerhalb des Bildes) des Formstücks ist, welches den das betreffende Wort repräsentierenden Pixel enthält. Aus erster Sicht könnte daher daran gedacht werden, daß der Leseadressengenerator eine komplexe Umsetzungsoperation zwischen der X-, Y-Leseadresse und der Speicherzahl sowie der Adressenzahl auszuführen hat. Wie nunmehr jedoch erläutert werden wird, ist dies nicht der Fall: Die X-, Y-Leseadresse umfaßt in der Tat die betreffende Information. In diesem Zusammenhang ist anzumerken, daß die X-, Y-Leseadresse ein digitales Signal ist, welches eine Anzahl von Bits, die in binärer Form die X-Koordinatenlage (zum Beispiel 1 bis 1920 in Dezimalform) repräsentieren, und eine Anzahl von Bits umfaßt, die in binärer Form die Y-Koordinatenlage (zum Beispiel 1 bis 500 in Dezimalform) repräsentieren. Falls die Dezimalform der X- und Y-Koordinatenstellen einer Modulo- Division durch die Anzahl der Pixel in der X-Richtung in jedem Formstück (4 beim vorliegenden Beispiel) bzw. durch die Anzahl der Pixel in der Y-Richtung im jeweiligen Formstück (ebenfalls 4 beim vorliegenden Beispiel) unterzogen wird, geben die ganzzahligen Ergebnisse die Formstücknummer (das heißt die Lage des Formstücks im Bild) und damit die Adresse innerhalb eines Speichers an, und die Reste identifizieren den Speicher. Demgemäß identifizieren bei dem tatsächlichen binären Signal die niederwertigsten Bits oder Bits niederer Wertigkeit (LSB), die den Resten entsprechen, den Speicher, und die höherwertigen Bits (MSB), die den ganzzahligen Ergebnissen entsprechen, identifizieren die Adresse innerhalb des betreffenden Speichers. Die Anzahl der LSB-Bits, die den Speicher identifizieren, hängt von den Abmessungen des Bildformstücks in den X- und Y-Richtungen ab. Bei dem vorliegenden Beispiel, bei dem diese Abmessungen jeweils gleich vier sind, identifizieren die beiden niederwertigsten Bits der X-Komponente und der Y-Komponente des Leseadressensignals jeweils eindeutig in Kombination den einen in Frage kommenden Speicher der Speicher, und die restlichen (höherwertigen) Bits geben die Adresse innerhalb des betreffenden Speichers an.
  • Die vorstehenden Ausführungen dürften ohne weiteres durch ein Beispiel verständlich werden. Es sei der Fall des in Fig. 1 durch ein Sternzeichen (*) bezeichneten Pixels herangezogen. Aus Fig. 1 kann ersehen werden, daß der bzw. das Pixel in dem Speicher gespeichert ist bzw. wird, der dem betreffenden Wort innerhalb irgendeines Formstücks zugewiesen ist, welches sich zwei Pixel nach unten und zwei Pixel in Längsrichtung befindet, nämlich in dem Speicher M5 (siehe Fig. 2); das betreffende Pixel ist in der Formstücknummer T(N+2) untergebracht; das betreffende Formstück ist nämlich das dritte längs und das zweite nach unten im Bild.
  • Es kann ferner ersehen werden, daß in Dezimalform die Koordinaten des Pixels gegeben sind mit X = 10 und Y = 6. Unterzieht man diese Werte einer Modulo-Division durch vier, so ergibt dies:
  • X = 2, Rest 2; und
  • Y = 1, Rest 2.
  • Die Reste (niederwertigsten Bits LSB in Binärform) bestätigen, daß der verwendete Speicher jener Speicher ist, der der Pixelposition zugeordnet bzw. gewidmet ist, die zwei Positionen längs und zwei Positionen nach unten in dem Formstück liegt, nämlich der Speicher M5. Die ganzzahligen Ergebnisse (das sind die höchstwertigsten Bits MSB in Binärform) identifizieren die Formstücknummer insofern, als das Y-Ergebnis das Vielfache von N ist (die Position in der Y-Richtung) und das X-Ergebnis die Zahl angibt, die dem Vielfachen von N (der Position in der X-Richtung) hinzuzuaddieren ist, was bedeutet, daß sie die Formstücknummer T(N+2) identifizieren.
  • Somit dürfte ersichtlich sein, daß die Erzeugung der X- und Y-Koordinaten eines Referenzpixels von Pixeln der Reihe von durch den Leseadressengenerator 16 zu lesenden Pixeln diesem es ohne Schwierigkeit ermöglicht, die Speicher M0 bis M15 korrekt zu adressieren, damit die Abgabe der richtigen Wörter an das Filter 14 bewirkt wird.
  • Fig. 8 veranschaulicht, wie das Filter 14 im Prinzip aufgebaut sein kann. In einer an sich bekannten Art und Weise umfaßt das Filter 14 einen Multiplizierer-Addierer-"Baum", der aus 16 Multiplizierern 20 (einem für jeden der Pixel P0 bis P15 in der Leseanordnung) und einer Anordnung von Addierern 22 besteht, die so verbunden sind, daß sie die Ergebnisse von Multiplikationsoperationen zusammenaddieren, die in den Multiplizierern 20 ausgeführt werden, um von den 16 Eingangs- Pixeln P0 bis P15 ein Ausgangs- bzw. Abgabe-Pixel Pout zu erzeugen. In den Multiplizierern 20 wird in ebenfalls an sich bekannter Art und Weise jedes der Wörter, welche die Pixel P0 bis P15 repräsentieren, mit einem entsprechenden Koeffizienten von 16 Gewichtungskoeffizienten C0 bis C15 multipliziert. Jeder der Koeffizienten C0 bis C15 ist der Position innerhalb der Leseanordnung eines entsprechenden Pixels P0 bis P15 zugeordnet. Dies bedeutet, daß der Wert jedes der Koeffizienten C0 bis C15 in Übereinstimmung mit der Position eines zugehörigen Pixels der Pixel P0 bis P15 (in der Entwurfsstufe) so berechnet wird, daß das Pixel in Übereinstimmung mit einer gewünschten 2-D-Positionsbeziehung gewichtet wird, beispielsweise entsprechend einer kreisförmigen, symmetrisch um die Mitte der Leseanordnung liegenden Gaußschen Verteilungsfunktion, wie dies in Fig. 7 veranschaulicht ist, um eine gewünschte Filtercharakteristik zu erzielen bzw. hervorzurufen. Für ein richtiges Arbeiten des Filters ist es somit wesentlich, daß jedes der die Pixel P0 bis P15 repräsentierenden Wörter mit einem Koeffizienten der Koeffizienten C0 bis C15 multipliziert wird, der der bestimmten Position des betreffenden Pixels innerhalb der Leseanordnung zugehörig ist. Dies bringt ein Problem dann mit sich, wenn es zur praktischen Ausführung des Filters kommt, wobei das Problem von folgender Art ist.
  • Die den Pixeln P0 bis P15 entsprechenden Wörter werden den Multiplizierern über die Datenbusleitungen D der Speicher M0 bis M15 zugeführt. Falls die jeweilige Datenbusleitung der Datenbusleitungen D mit einem entsprechenden Multiplizierer der Multiplizierer 20 verbunden wäre, würde das Filter nicht korrekt arbeiten, da die oben beschriebene Korrespondenz zwischen den Gewichtungskoeffizienten C0 bis C15 und den Pixelpositionen P0 bis P15 nicht erzielt würde. Der Grund hierfür liegt darin, daß, wie oben unter Bezugnahme auf Fig. 4 erläutert, die Korrespondenz zwischen den Positionen der Pixel P0 bis P15 der Leseanordnung und den Speichern M0 bis M15, in denen die die Pixel repräsentierenden Wörter untergebracht sind, variiert, wobei 16 mögliche Beziehungen zwischen den Positionen der Pixel der Leseanordnung und den Speichern vorhanden sind, in denen die die Pixel repräsentierenden Wörter untergebracht bzw. lokalisiert sind. Dies bedeutet beispielsweise im Falle der Leseanordnung, die in Fig. 4 durch gestrichelte Linien umgrenzt ist, daß das Wort, welches das Pixel (beispielsweise) in der linken oberen Ecke der Anordnung repräsentiert, nämlich das Wort, welches das Pixel P0 (siehe Fig. 7) repräsentiert, sich im Speicher M5 befindet. Bei anderen Taktperioden des Filters könnte jedoch dasselbe Wort in irgendeinem anderen der Speicher M0 bis M15 gefunden werden. Falls jede Busleitung der Datenbusleitungen D mit einem entsprechenden Multiplizierer der Multiplizierer verbunden wäre, bedeutet dies, daß eine Korrespondenz zwischen den Gewichtungskoeffizienten C0 bis C15 und entsprechenden Speichern der Speicher M0 bis M15 vorhanden wäre. Dies würde jedoch dazu führen, daß das Filter falsch arbeitet, da eine Korrespondenz zwischen den Koeffizienten C0 bis C15 und den Pixeln P0 bis P15 erforderlich ist und da das dem jeweiligen Pixel der Pixel P0 bis P15 entsprechende Wort tatsächlich in unterschiedlichen Speichern der Speicher M0 bis M15 in unterschiedlichen Taktperioden gespeichert wird bzw. ist.
  • Eine praktische Ausführungsform der Implementierung des Filters, welches das obige Problem löst, ist in Fig. 9 veranschaulicht. Das Filter gemäß Fig. 9 ist von demselben Aufbau wie jenes gemäß Fig. 8, allerdings mit der nachstehend beschriebenen Ausnahme. Demgemäß sind der Klarheit halber lediglich einige der Addierer 22 dargestellt.
  • In dem Filter gemäß Fig. 9 ist jeder der 16 Multiplizierer 20 (von denen lediglich einige dargestellt sind), wie gezeigt, mit einer entsprechenden Datenbusleitung der Datenbusleitungen (mit D(M0), etc. bezeichnet) der entsprechenden Speicher M0 bis M15 verbunden. Ferner ist jeder der 16 Multiplizierer 20, wie dargestellt, mit einem Ausgang eines entsprechenden Speichers von 16 identischen programmierbaren Koeffizienten-Festspeichern (PROM) 30 verbunden, von denen lediglich einige dargestellt sind. Ein erster Eingang jedes der Koeffizienten-PROM-Speicher 30 ist so angeschlossen, daß er das oben erwähnte niederwertigste X-Bit LSB der Leseadresse des Referenzpixels P5 der in Fig. 7 dargestellten Leseanordnung aufnimmt, und ein zweiter Eingang des jeweiligen PROM-Speichers ist so angeschlossen, daß er das niederwertigste Y-Bit LSB der Leseadresse aufnimmt. Wie oben im Hinblick auf das vorliegende Beispiel erläutert, bei dem die Länge und die Höhe (das heißt die Abmessungen in den Richtungen X und Y) der Leseanordnung jeweils vier Pixel betragen, sind zwei niederwertigste X-Bits und zwei niederwertigste Y-Bits vorhanden. Ein dritter Eingang jedes der PROM-Speicher 30 ist so angeschlossen, daß er eine bestimmte (und unveränderliche) Gruppe von Bits, die für jeden der PROM-Speicher unterschiedlich sind, aufnimmt, welche den betreffenden einen Speicher der Speicher M0 bis M15 identifiziert, der über die Datenbusleitung D(M0) bis D(M15) verfügt, welche mit dem Multiplizierer 20 verbunden ist, der mit dem betreffenden PROM-Speicher verbunden ist. Beim vorliegenden Beispiel sind dabei 16 Speicher (M0 bis M15) vorhanden; die Gruppe der Bits umfaßt vier Bits. Somit werden insgesamt acht Bits (vier gleiche für sämtliche PROM- Speicher 30, jedoch für jede Filtertaktperiode unterschiedlich, und die anderen vier zwischen jedem PROM-Speicher verschieden, jedoch im übrigen während sämtlicher Filtertaktperioden konstant) jedem der PROM-Speicher 30 eingangsseitig zugeführt.
  • Wie oben erläutert, identifizieren die niederwertigsten X- und Y-Bits den betreffenden einen Speicher der Speicher M0 bis M15, in welchem während jeder Filtertaktperiode das das Referenzpixel P5 der Leseanordnung (die Anordnung von an das Filter während der Taktperiode parallel abzugebenden Wörtern) repräsentierende Wort untergebracht ist. Dies bedeutet mit Rücksicht darauf, daß bezüglich jedes Speichers, in welchem sich das Referenzpixel P5 befindet, die Speicher bekannt sind, in denen die anderen Pixel P0 bis P4 und P6 bis P15 untergebracht sind, wobei die Werte der niederwertigsten X- und Y-Bits LSB zu jedem Zeitpunkt angeben, welche Beziehung der 16 möglichen Beziehungen zwischen den die Pixel P0 bis P15 der Leseanordnung repräsentierenden Wörtern und den entsprechenden Speichern der Speicher M0 bis M15, in denen diese derzeit gespeichert sind, zutrifft. Mit Rücksicht darauf, daß das dem dritten Eingang des jeweiligen PROM- Speichers 30 zugeführte Speicheridentifizierungssignal den bestimmten Speicher identifiziert, mit dem der den betreffenden PROM-Speicher zugehörige Multiplizierer 22 verbunden ist, das heißt die Position innerhalb eines Bildformstückes des Wortes identifiziert, welche das für den betreffenden Multiplizierer gelesene Pixel repräsentiert, gibt somit die Gesamtheit der Bitinformation, die den ersten bis dritten Eingängen des jeweiligen PROM-Speichers während irgendeiner Taktperiode zugeführt ist, eindeutig die Position innerhalb der Leseanordnung (Fig. 7) des Pixels an, welches durch das Wort repräsentiert ist, welches von dem Speicher an den den betreffenden PROM-Speicher zugehörigen Multiplizierer abgegeben worden ist; und damit ist angegeben, welcher der 16 Koeffizienten C0 bis C15 an den betreffenden Multiplizierer während der betreffenden Taktperiode abgegeben werden sollte. Sämtliche Koeffizienten C0 bis C15 werden in jedem der PROM- Speicher 30 in Form von Nachschlagetabellen gespeichert, und jeder PROM-Speicher spricht während der jeweiligen Taktperiode auf die oben erwähnte Gesamtheit der seinen Eingängen zugeführten Bitinformation an, um den in Frage kommenden Koeffizienten der Gewichtskoeffizienten C0 bis C15 an seinen zugehörigen Multiplizierer 20 während der jeweiligen Taktperiode abzugeben. Somit wird die gewünschte Korrespondenz zwischen den Gewichtungskoeffizienten C0 bis C15 und den Positionen der Pixel P0 bis P15 der Leseanordnung stets erzielt.
  • Die Arbeitsweise jedes PROM-Speichers kann unter Bezugnahme auf Fig. 10 ohne weiteres ersichtlich gemacht werden, die einen der PROM-Speicher 30 veranschaulicht, der in zwei Abschnitte, nämlich in eine Koeffizientenauswahltabelle 30A und in einen Koeffizientenspeicher 30B unterteilt ist. Die Koeffizientenauswahltabelle 30A ist eine gespeicherte Informationstabelle (Nachschlagetabelle), die auf jede mögliche Kombination der Gesamtheit der Bitinformation, welche in den Eingangssignalen (insgesamt acht Bits) vorhanden ist, die die niederwertigsten X- und Y-Bits und die Speicheridentifikation (M0) repräsentieren, eines der 16 möglichen Ausgangssignale (vier Bits) erzeugt (und an den Koeffizientenspeicher 30B abgibt), wobei das betreffende Ausgangssignal die Position innerhalb der Leseanordnung (Fig. 7) des Pixels identifiziert, das durch das Wort repräsentiert ist, welches von dem Speicher an den zugehörigen einen Multiplizierer der Multiplizierer 22 abgegeben ist, womit der betreffende eine Koeffizient der Koeffizienten C0 bis C15 identifiziert ist, der an den betreffenden Multiplizierer abgegeben werden sollte. Der Koeffizientenspeicher 30B speichert die 16 Koeffizienten C00 bis C15, und er spricht ihm von der bzw. durch die Tabelle 30A zugeführte Ausgangssignal an, um den in Frage kommenden Koeffizienten (Cx) der Koeffizienten an den zugehörigen Multiplizierer 22 abzugeben.
  • Die Anordnung gemäß Fig. 10 kann als eine konzeptionelle oder tatsächliche Implementierung der Anordnung gemäß Fig. 9 betrachtet werden. Dies bedeutet, daß man entweder einen einzelnen PROM-Speicher 30 (für jeden Multiplizierer 22) wie in Fig. 9 dargestellt, oder ein Paar von PROM-Speichern verwenden kann, die die Koeffizientenauswahltabelle 30A und den Koeffizientenspeicher 30B bilden, wie dies in Fig. 10 dargestellt ist.
  • Im Falle der Fig. 9 sind, wie oben erwähnt, die PROM-Speicher 30 alle identisch. In entsprechender Weise sind im Falle der Fig. 10 die PROM-Speicher 30A alle identisch, und die PROM- Speicher 30 sind alle identisch. Dies vereinfacht die Herstellung insofern, als die Anzahl der zu lagernden Einzelteile minimiert ist und als ein verminderter Fehlerzufall gegeben ist, der daraus resultiert, daß PROM- Speicher, falls sie unterschiedlich wären bzw. sind, an der falschen Stelle auf einer Schaltungsplatte untergebracht sind. Falls indessen dieser Vorteil nicht als bedeutend angesehen wird, kann die Größe der PROM-Speicher 30 (Fig. 9) und 30A (Fig. 10) dadurch verringert werden, daß in diese die Speicheridentifikation programmiert wird, die den dritten Eingängen zugeführt wird, wobei jeder der 16 PROM-Speicher unterschiedlich wäre, was indessen jeweils nur die niederwertigsten X- und Y-Bits aufzunehmen erforderte. Dies bedeutet, daß die vier Speicheridentifikationsbits, die in Fig. 9 und 10 durch Hardware-Verdrahtung mit den in Frage kommenden Eingangsanschlüssen der PROM-Speicher 30 und 30A erzielt werden können, tatsächlich in den PROM-Speichern durch Programmierung aufgenommen würden, weshalb keine Forderung nach Abgabe an die PROM-Speicher als Eingangssignale gegeben ist.
  • Das Filter 14, wie es oben beschrieben ist, ist ein Festfunktionsfilter in dem Sinne, daß jedes Abgabe-Pixel Pout eine Position aufweist, die der Position eines Pixels dem gespeicherten Bild entspricht oder mit dieser identisch ist. Die oben beschriebenen Techniken bzw. Verfahren sind jedoch in gleicher Weise auf ein Interpolationsfilter anwendbar, das heißt auf ein Filter, welches erforderlich ist, um Abgabe- Pixel zu erzeugen, deren Positionen von den Pixelpositionen des gespeicherten Bildes verschieden sind oder spezieller dazwischen interpoliert sind. Ein derartiges Filter führt eine gewichtete Summierung einer Anordnung von gespeicherten Pixeln durch, die die gewünschte Abgabe-Pixelposition umgeben, um eine Abschätzung des erwarteten Abgabe- Pixelwertes zu liefern, das heißt, eine Auflösung eines Bildes in einer Sub-Pixel-Genauigkeit bereitzustellen.
  • Ein Interpolationsfilter arbeitet im wesentlichen in derselben Art und Weise wie das oben beschriebene Filter, allerdings mit folgender Ausnahme. Wie zuvor identifiziert die Leseadresse, umfassend X- und Y-Komponenten, die Stelle bzw. Lage eines gespeicherten Pixels in dem gespeicherten Bild, und diese X- und Y-Komponenten ("die X- und Y- Gesamtadresse") werden wie zuvor benutzt. Darüber hinaus erzeugt jedoch der Leseadressengenerator 16 X- und Y-Reste, die die Sub-Pixel-Divergenz ((Bruchteile eines Pixelabstands) in Werten von X und Y zwischen einer gespeicherten Pixelstelle und der für ein interpoliertes Abgabe-Pixel gewünschten Stelle repräsentieren. Dies kann ohne weiteres aus einer Betrachtung der Fig. 11 verstanden werden, in der die vier Kreise die Positionen (spezieller die Mitten oder Abtaststellen) von vier gespeicherten Pixeln PX0, PX1, PX2 und PX3 repräsentieren, wobei das Quadrat die Position eines interpolierten Abgabe-Pixels Pout repräsentiert, das durch das Interpolationsfilter zu gewinnen ist, wobei die gesamte X- und Y-Adresse die Adresse des gespeicherten Pixels PX0 ist und wobei X- und Y-Reste als Xres bzw. Yres dargestellt sind. (Die Pixel PX0, PX1, PX2 und PX3 könnten die einzigen vier Pixel einer 2 x 2-Leseanordnung sein, oder sie könnten die mittleren Pixel einer größeren Anordnung von irgendeiner Form oder Größe, beispielsweise die Pixel P5, P6, P9 und P10 einer 4 x 4-Anordnung gemäß Fig. 7 bilden.)
  • Die oben unter Bezugnahme auf die Fig. 9 und 10 beschriebenen Filter können ohne weiteres so angepaßt werden, daß sie als Interpolationsfilter wirken. Im Falle der Fig. 9 werden sämtliche PROM-Speicher 30 durch PROM-Speicher 30' ersetzt, wie dies in Fig. 12 veranschaulicht ist, und die X- und Y- Reste Xres und Yres werden sämtlichen PROM-Speichern 30' zugeführt. Jeder PROM-Speicher 30' ist derselbe Speicher wie der PROM-Speicher 30, allerdings mit der Ausnahme, daß er eine weitere Information in Form einer Vielzahl von unterschiedlichen Werten der Koeffizienten C0 bis C15 für verschiedene unterschiedliche Werte von Xres und Yres speichert. Der PROM-Speicher 30' arbeitet in derselben Weise wie der PROM-Speicher 30, allerdings mit der Ausnahme, daß nach einmal erfolgter Auswahl der Abgabe eines der Koeffizienten C0 bis C15 an den zugehörigen Multiplizierer 22 der PROM-Speicher auf die ihm zugeführten Werte von Xres und Yres anspricht, um einen bestimmten Wert für den ausgewählten Koeffizienten auszuwählen, der für die Werte von Xres und Yres in Frage kommt.
  • In entsprechender Weise werden im Falle der Fig. 10, sämtliche PROM-Speicher B durch PROM-Speicher 30B' ersetzt, wie dies in Fig. 13 veranschaulicht ist, während die PROM- Speicher 30A so wie zuvor sind, und die X- und Y-Reste Xres und Yres werden sämtlichen ROM-Speichern 30B' zugeführt. Jeder PROM-Speicher 30' ist derselbe Speicher wie der PROM- Speicher 30B, allerdings mit der Ausnahme, daß er eine weitere Information in Form einer Vielzahl von unterschiedlichen Werten der Koeffizienten C0 bis C15 für verschiedene unterschiedliche Werte von Xres und Yres speichert. Der PROM-Speicher 30B' arbeitet in derselben Weise wie der PROM-Speicher 30, allerdings mit der Ausnahme, daß nach einmal erfolgter Durchführung der Auswahl eines der Koeffizienten C0 bis C15 zur Abgabe an den zugehörigen Multiplizierer 22 der PROM-Speicher auf die ihm zugeführten Werte Xres und Yres anspricht, um einen bestimmten Wert für den ausgewählten Koeffizienten auszuwählen, der für die Werte von Xres und Yres in Frage kommt.
  • Während die oben erwähnten Koeffizientenspeicher 30, 30A, 30B, 30' und 30B' als Festspeicher Festwertspeicher beschrieben worden sind, und zwar insbesondere als programmierbare Festspeicher, könnten sie stattdessen Schreib-Lese-Speicher (RAM-Speicher) sein, die von einem externen Speicher ferngeladen werden.

Claims (9)

1. Digitale Bildsignalverarbeitungsvorrichtung mit einer Vielzahl von Speichereinrichtungen (M0 bis M15), die eine jeweils zugehörige Datenbusleitung (D) aufweisen und die jeweils eine Vielzahl von digitalen Wörtern zu speichern imstande sind, welche jeweils einzelne Pixel repräsentieren, die in dem Fall, daß sie in einer zweidimensionalen Anordnung angeordnet sind, ein Bild bilden, mit einem Leseadressengenerator (16), der derart betrieben ist, daß eine digitale Leseadresse erzeugt wird, welche in Werten von Positionen längs zweier orthogonaler Bild-koordinatenrichtungen (X, Y) die Position eines Satzes von gespeicherten Wörtern identifiziert, die aus unterschiedlichen Speichereinrichtungen der Speichereinrichtungen (M0 bis M15) auszulesen sind, wobei die eine Reihe von Pixeln repräsentierenden Wörter des Satzes von Wörtern derart relativ zueinander positioniert sind, daß zumindest einige der Pixel (P0 bis P15) eines zweidimensionalen Bereiches (Fig. 7) des Bildes (1) dargestellt sind, dadurch gekennzeichnet,
daß die Leseadresse zumindest ein niederwertigstes Bit (X niederwertigstes Bit, Y niederwertigstes Bit) für jede der Koordinatenrichtungen umfaßt,
daß die Werte der niederwertigsten Bit in Kombination angeben, welche Beziehung von einer Vielzahl möglicher Beziehungen zwischen den Wörtern des genannten Satzes von Wörtern und den jeweiligen Speichereinrichtungen zutrifft, in denen diese gespeichert sind,
und daß ein digitales Filter mit einer Vielzahl von Multipliziereinrichtungen (20), deren Anzahl gleich der Anzahl von Wörtern in dem genannten Satz von Wörtern ist und deren jede mit der Datenbusleitung (D) einer entsprechenden Speichereinrichtung der Speichereinrichtungen (M0 bis M15) derart verbunden ist, daß sie ein entsprechendes Wort des Satzes der daraus gelesenen Wörter aufnimmt, und mit einer Vielzahl von Koeffizientenspeichern (30;30') vorgesehen ist, deren jeder mit einer entsprechenden Multipliziereinrichtung der Multipliziereinrichtungen (20) verbunden ist und sämtliche Koeffizienten einer Vielzahl von jeweils der Position eines entsprechenden Pixels der genannten Reihe von Pixeln in dem genannten zweidimensionalen Bereich des Bildes angemessenen Gewichtungskoeffizienten (C0 bis C15) speichert und deren jeder auf die Werte der niederwertigsten Bits (X niederwertigstes Bit, Y niederwertigstes Bit) anspricht und zur Identifizierung der Speichereinrichtung dient, deren Datenbusleitung (D) mit der zugehörigen Multipliziereinrichtung (20) verbunden ist, derart, daß an die zugehörige Multipliziereinrichtung derjenige Koeffizient der gespeicherten Vielzahl von Gewichtungskoeffizienten abgegeben wird, der der Position des durch das an die zugehörige Multipliziereinrichtung abgegebene Wort repräsentierten Pixels in dem genannten zweidimensionalen Bereich des Bildes angemessen ist.
2. Vorrichtung nach Anspruch 1, wobei die genannte Reihe von Pixeln einen zweidimensionalen Abschnitt des Bildes bildet, der vollständig in den zweidimensionalen Bereich (Fig. 7) des Bildes hineinfällt.
3. Vorrichtung nach Anspruch 1, wobei die genannte Reihe von Pixeln aus sämtlichen Pixeln (P0 bis P15) des genannten zweidimensionalen Bereiches (Fig. 7) des Bildes besteht.
4. Vorrichtung nach Anspruch 1, 2 oder 3, wobei sämtliche Koeffizientenspeicher (30; 30') identisch sind und wobei eine Einrichtung außerhalb der Koeffizientenspeicher (30; 30') vorgesehen ist, um an jeden der Koeffizientenspeicher eine Identifikation der Speichereinrichtung (M0 bis M15) abzugeben, deren Datenbusleitung (D) mit der zugehörigen Multipliziereinrichtung (20) verbunden ist.
5. Vorrichtung nach Anspruch 1, 2 oder 3, wobei in jedem Koeffizientenspeicher (30, 30') die Identität der Speichereinrichtung (M0 bis M15) gespeichert ist, deren Datenbusleitung (D) mit der zugehörigen Multipliziereinrichtung (20) verbunden ist.
6. Vorrichtung nach irgendeinem der Ansprüche 1 bis 5, wobei jeder Koeffizientenspeicher (30: 30') einen Festwertspeicher umfaßt.
7. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei jeder Koeffizientenspeicher (30; 30') einen ersten Festwertspeicher (30A), der eine Tabelle speichert, welche die Beziehung zwischen
(i) unterschiedlichen Werten der genannten niederwertigsten Bits (X niederwertigstes Bit, Y niederwertigstes Bit) und der Identität der Speichereinrichtung (Mn), deren Datenbusleitung (D) mit der zugehörigen Multipliziereinrichtung (20) verbunden ist, und
(ii) dem Gewichtungskoeffizienten angibt, der ausgewählt werden sollte,
und einen zweiten Festwertspeicher (30B) aufweist, der sämtliche Gewichtungskoeffizienten (C0 bis C15) speichert.
8. Vorrichtung nach Anspruch 6 oder 7, wobei jeder Festwertspeicher ein programmierbarer Festwertspeicher ist.
9. Vorrichtung nach irgendeinem der vorhergehenden Ansprüche, wobei das digitale Filter ein Interpolationsfilter ist, wobei der Leseadressengenerator (16) derart betrieben ist, daß außer der genannten Leseadresse Reste (X-Rest, Y-Rest) erzeugt werden, die einen Sub-Pixel-Abstand in beiden Bildkoordinatenrichtungen zwischen einer gespeicherten Pixelstelle und einer für ein interpoliertes Abgabepixel gewünschten Stelle darstellen, und wobei jeder Koeffizientenspeicher (30; 30') eine Vielzahl unterschiedlicher Werte des jeweiligen Gewichtungskoeffizienten (C0 bis C15) für entsprechend unterschiedliche Werte der Reste speichert und auf die Werte der durch den Leseadressengenerator erzeugten Reste hin einen Wert des ausgewählten Gewichtungskoeffizienten auswählt, der für die Werte der durch den Leseadressengenerator erzeugten Reste angemessen ist.
DE1990630211 1989-03-07 1990-01-31 Verarbeitungsanordnung für digitale Bildsignale Expired - Lifetime DE69030211T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8905185A GB2229060B (en) 1989-03-07 1989-03-07 Digital picture signal processing apparatus

Publications (2)

Publication Number Publication Date
DE69030211D1 DE69030211D1 (de) 1997-04-24
DE69030211T2 true DE69030211T2 (de) 1997-06-26

Family

ID=10652877

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1990630211 Expired - Lifetime DE69030211T2 (de) 1989-03-07 1990-01-31 Verarbeitungsanordnung für digitale Bildsignale

Country Status (4)

Country Link
EP (1) EP0386880B1 (de)
JP (1) JP3028548B2 (de)
DE (1) DE69030211T2 (de)
GB (1) GB2229060B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298766A (zh) * 2011-09-21 2011-12-28 北京工业大学 一种基于加权隐写图像的对lsb信息隐藏的检测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4240113A (en) * 1976-10-14 1980-12-16 Micro Consultants, Limited Picture manipulation in video systems
US4454590A (en) * 1981-10-30 1984-06-12 The United States Of America As Represented By The Secretary Of The Air Force Programmable signal processing device
EP0085210A1 (de) * 1982-01-29 1983-08-10 International Business Machines Corporation Bildverarbeitungssystem
JPS616771A (ja) * 1984-06-21 1986-01-13 Matsushita Electric Ind Co Ltd 画像信号処理装置
JPS6247786A (ja) * 1985-08-27 1987-03-02 Hamamatsu Photonics Kk 近傍画像処理専用メモリ
EP0314250A3 (de) * 1987-10-30 1992-03-04 New Microtime Inc. Digitale Verarbeitung und Anzeige von analogischen Videosignalen

Also Published As

Publication number Publication date
JP3028548B2 (ja) 2000-04-04
EP0386880A3 (de) 1991-12-04
DE69030211D1 (de) 1997-04-24
EP0386880B1 (de) 1997-03-19
JPH02276382A (ja) 1990-11-13
GB8905185D0 (en) 1989-04-19
GB2229060B (en) 1993-05-19
EP0386880A2 (de) 1990-09-12
GB2229060A (en) 1990-09-12

Similar Documents

Publication Publication Date Title
DE3114643C2 (de)
DE3688353T2 (de) Nichtrekursiver zweidimensionaler digitalfilter.
DE69028075T2 (de) Digitaler bildinterpolator
DE3144822C2 (de)
DE3036711C2 (de) Verfahren zum Verkleinern von grafischen Mustern
DE2931420C2 (de) Verfahren und Vorrichtung zur Farbbildreproduktion
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE2905990C2 (de)
DE3202365A1 (de) Datenspeicher mit fensterabtastung
DE2746969C2 (de) Einrichtung zum Vergleichen von Mustern
DE2744109C2 (de)
DE4234985C2 (de) Verfahren zum Transformieren von Farbsignalen und Vorrichtung zur Durchführung des Verfahrens
DE69031317T2 (de) Bearbeitung von einem zweidimensionalen Teilchen eines digitalen Bildsignals
DE3632639A1 (de) Einrichtung zum verarbeiten von bilddaten durch faltung
DE4215094C2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE3047695A1 (de) Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen
DE69109040T2 (de) Verbesserungen bei den nach dem Rasterverfahren arbeitenden Sichtgeräten.
DE69025706T2 (de) Verfahren zur Erzeugung gerasterter Halbtonbilder
DE3811145C2 (de)
DE3789341T2 (de) Verarbeitung von Videobildsignalen.
DE69331027T2 (de) Drehungsschaltung für numerische Bilder
DE69127759T2 (de) Abspeicherungsverfahren für die Bildverarbeitung und Gerät,um dieses einzusetzen
DE69027640T2 (de) Verfahren und gerät zur filterung von numerischen daten
DE3545157A1 (de) Verfahren und schaltungsanordnung zur aufloesungsumwandlung von binaeren pseudo-halbtonbildern
DE3904809A1 (de) Verfahren zum verkleinern eines pseudo-halbtonbildes sowie anordnung zur durchfuehrung des verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition