DE69328601T2 - Elektronisches Bildverarbeitungssystem und -methode - Google Patents
Elektronisches Bildverarbeitungssystem und -methodeInfo
- Publication number
- DE69328601T2 DE69328601T2 DE69328601T DE69328601T DE69328601T2 DE 69328601 T2 DE69328601 T2 DE 69328601T2 DE 69328601 T DE69328601 T DE 69328601T DE 69328601 T DE69328601 T DE 69328601T DE 69328601 T2 DE69328601 T2 DE 69328601T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- image
- data
- source
- modified
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Facsimiles In General (AREA)
- Storing Facsimile Image Data (AREA)
Description
- Die Erfindung betrifft ein elektronisches Bildverarbeitungssystem sowie ein Bildverarbeitungsverfahren, und insbesondere, jedoch nicht ausschließlich, betrifft die Erfindung ein System und ein Verfahren zum Modifizieren von Ausgangsbilddaten zum Erzeugen von Daten, die ein modifiziertes Bild repräsentieren.
- Es sind elektronische Bildverarbeitungssysteme bekannt zum Modifizieren eines Ausgangsbilds zum Erzeugen eines modifizierten Bilds mit anderer Gestalt, Größe und/oder Position im Vergleich zu denjenigen des Ausgangsbilds. Beispielsweise offenbaren unsere britische Patentanmeldung, die als GB-A-2,113,950 veröffentlicht ist, sowie das korrespondierende US-Patent US-A-4,602,286 ein System zum Durchführen einer Bildzusammensetzung. Unsere als GB-A-2,1 19,594 veröffentlichte britische Patentanmeldung sowie das korrespondierende US-Patent US-A-4,563,703 offenbaren beide ein System zum Erzeugen von Effekten durch Schreiben von Eingangsvideosignalen, die in einer Rasterfolge empfangen werden, in einer derartigen Folge in einen Speicher, daß die Gestalt, Größe und/oder Position des Bilds verändert wird. Unsere als GB-A-2,158,671 veröffentlichte britische Patentanmeldung offenbart ebenfalls ein System, in dem Bilddaten unter Verwendung von dreidimensionalen Transformationen derart modifiziert werden, daß die Gestalt, Größe und/oder Position des Bilds eine entsprechende Veränderung im dreidimensionalen Raum zu erfahren scheint. Einmal modifiziert, werden die dreidimensionalen Signale in zweidimensionale Signale gewandelt, die das Bild so repräsentieren, wie es erscheinen würde, falls es auf einen Betrachtungsschirm projiziert wird, wodurch ein perspektivischer Effekt in dem modifizierten Bild erzeugt wird. Eine ähnliche Perspektivmanipulation ist in unserer als EP-A-283,158 veröffentlichten europäischen Patentanmeldung sowie dem korrespondierenden US- Patent US-A-4,951,040 offenbart.
- Die in den oben erwähnten Patentbeschreibungen offenbarten Systeme sind auf die Modifizierung von Bilddaten mit Fernsehauflösung bis zu hochauflösenden Standards, z. B. 1250 Zeilen bei 50 Hz, gerichtet. Wenn die Größe oder die Auflösung eines Bilds steigt, so gibt es einen entsprechenden Anstieg der Menge von Daten, die zu modifizieren sind, um einen gegebenen Effekt zu erreichen. Es gibt ferner einen entsprechenden Anstieg in der Größe der Zeit, die es dauert, die Daten zu verarbeiten, und wenn Bilder mit Druckqualität, etwa umfassend 8000 · 10000 Bildpunkte, zu manipulieren sind, so wird für den Benutzer des Systems die Verzögerung bemerkbar und unakzeptabel.
- Wenn es eine Veränderung der Perspektive des Bilds gibt, so variieren die auf die Bilddaten anzuwendenden Transformationen längs der Höhe und/oder Breite des Bilds, um den Effekt der mit Perspektivansichten verbundenen Verkürzung zu erzielen. Das Erfordernis, die auf Bildelemente zwischen einem Element und dem nächsten Element anzuwendenden Transformationen zu variieren, führt einen weiteren Grad an Komplexität in das System ein.
- Die US-A-5131080 beschreibt einen Graphikhalbbildpuffer mit RGB-Pixelcache, welches System eine programmierbare Dateigrößenform verwendet, die durch eine Halbbildpufferspeicherorganisation unterstützt wird, wobei (X, Y)-Pixel-Adressen abgebildet sind in regelmäßig versetzte Permutationen auf Gruppen von RAM- Adressen und Datenleitungszuweisungen.
- Die EP-A-423930 beschreibt ein elektronisches Graphiksystem, welches ein Steuerbild niedriger Auflösung verwendet, welches System für eine Verwendung beim Modifizieren von Daten geeignet ist, die ein Ausgangsbild hoher Auflösung definieren.
- Gemäß einem Aspektder Erfindung wird ein elektronisches Bildverarbeitungssystem zum Erzeugen von Daten bereitgestellt, die eine modifizierte Form eines Bilds von Daten repräsentieren, die ein Ausgangsbild repräsentieren, wobei das System umfaßt: einen Quellenspeicher zum Speichern von Daten, die ein Ausgangsbild repräsentieren; einen Zielspeicher zum Speichern von Daten, die ein modifiziertes, von dem Ausgangsbild abgeleitetes Bild repräsentieren, wobei die Daten in dem Quellenspeicher und dem Zielspeicher als Datensequenzen mit wahlfreier Sequenzfolge zugänglich sind; einen Cachespeicher mit kleiner Kapazität und wahlfreiem Zugriff zum Speichern von Ausgangsbilddaten, die einen Teil des Ausgangsbilds repräsentieren, umfassend mehrere Datensequenzen von dem Quellenspeicher; einen Filter zum Durchführen von Transformationen an den Daten in dem Cachespeicher, um modifizierte Bilddaten zu erzeugen, die einen modifizierten Teil des Bilds für eine Speicherung als mehrere Datensequenzen umfassend einen Teil der modifizierten Bilddaten in dem Zielspeicher repräsentieren; und einen Prozessor zum Bestimmen der durch den Filter durchzuführenden Transformationen, zum Identifizieren in dem Quellenspeicher der Ausgangsbilddatensequenzen, die zusammen den Ausgangsbildteil definieren, durch Bestimmen eines Bereichs in der modifizierten Form des Bilds, der durch Daten repräsentiert wird, die durch Manipulieren einer Menge von Ausgangsbilddaten erzeugt werden, die nicht größer als die Kapazität des Cachespeichers ist, und zum Steuern der Übertragung von Datensequenzen umfassend den Ausgangsbildteil von dem Quellenspeicher zu dem Cachespeicher und von dem Filter zu dem Zielspeicher.
- Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren bereitgestellt zum Erzeugen von Daten, die eine modifizierte Form eines Bilds repräsentieren, aus Daten, die ein Ausgangsbild repräsentieren, wobei das Verfahren umfaßt: Speichern von Daten in einem Quellenspeicher, die ein Ausgangsbild repräsentieren; Speichern von Daten in einem Zielspeicher, die ein modifiziertes Bild repräsentieren, das von dem Ausgangsbild abgeleitet ist, wobei die gespeicherten Daten als Datensequenzen in wahlfreier Sequenzfolge zugänglich sind; Speichern von Ausgangsbilddaten in einem Cachespeicher mit kleiner Kapazität und wahlfreiem Zugriff, die einen Teil des Ausgangsbilds umfassend mehrere Datensequenzen von dem Quellenspeicher repräsentieren; Durchführen von Transformationen an den Daten in dem Cachespeicher mittels eines Filters, um modifizierte Bilddaten zu erzeugen, die einen modifizierten Teil des Bilds für eine Speicherung als mehrere Datensequenzen umfassend einen Teil der modifizierten Bilddaten in dem Zielspeicher repräsentieren; Bestimmen der durch den Filter durchzuführenden Transformationen; Identifizieren in dem Quellenspeicher der Ausgangsbilddatensequenzen, die zusammen den Ausgangsbildteil definieren, durch Bestimmen eines Bereichs in der modifizierten Form des Bilds, der durch Daten repräsentiert wird, die durch Manipulieren einer Menge von Ausgangsbilddaten erzeugt werden, die nicht größer ist als die Kapazität des Cachespeichers; und Steuern der Übertragung von Datensequenzen umfassend den Ausgangsbildteil von dem Quellenspeicher zu dem Cachespeicher und von dem Filter zu dem Zielspeicher.
- Die obigen und weitere Merkmale der Erfindung sind insbesondere in den beigefügten Ansprüchen angegeben und werden zusammen mit deren Vorteilen aus der Betrachtung der nachfolgenden detaillierten Beschreibung einer beispielhaften Ausführungsform der Erfindung klarer, die mit Bezug auf die beigefügten Zeichnungen gegeben wird.
- In den Zeichnungen ist:
- Fig. 1 ein schematisches Diagramm eines elektronischen Bildverarbeitungssystems;
- Fig. 2 ein schematisches Diagramm, das die Ausleguung der Daten in einem Speicher zeigt; und zeigt
- Fig. 3 schematische Ansichten, die ein gespeichertes Bild repräsentieren.
- Es wird nun auf Fig. 1 der beigefügten Zeichnungen Bezug genommen. Hierbei umfaßt ein elektronisches Bildverarbeitungssystem 1 einen Speicher 2. Der Speicher 2 ist ein Speicher hoher Kapazität, der dazu geeignet ist, wenigstens zwei große oder hochauflösende Bilder zu speichern. Unsere als GB-A-2269291 veröffentlichte, ebenfalls anhängige britische Patentanmeldung Nr. 9215949 offenbart einen Speicher hoher Kapazität, der gut dazu geeignet ist, wenigstens zwei hochauflösende Bilder zu speichern. Typischerweise ist ein großes oder hochauflösendes Bild, nachfolgend einfach als hochaufgelöstes Bild bezeichnet, ein Bild, welches Größenordnungsmäßig 8000 · 10000 Bildelemente aufweist. Das System 1 umfaßt auch einen Massenspeicher (nicht gezeigt) für die Offline- Speicherung von Bilddaten, die durch das System modifiziert wurden oder zu modifizieren sind, welcher Massenspeicher mit dem Speicher 2 verbunden ist.
- Der Speicher umfaßt zwei Speicherbereiche, die jeweils als ein Quellenbereich 3 und ein Zielbereich 4 bezeichnet sind. Diese zwei Speicherbereiche sind vollkommen unabhängig und können tatsächlich als separate Quellen- und Zielspeicher aufgebaut sein, die unabhängig voneinander gesteuert werden. Die Erläuterung des Systems ist jedoch vereinfacht, wenn der Speicher 2 als eine einzige Einheit des Systems betrachtet wird. Die in Fig. 1 gezeigte Konfiguration ist bevorzugt gegenüber einer Anordnung, die zwei separate Speicher umfaßt, weil sie in der Praxis einfacher aufzubauen ist als ein System mit zwei Speichern.
- Für Fachleute ist es verständlich, daß die Begriffe "Quelle" und "Ziel" hier lediglich der Bequemlichkeit halber verwendet werden, um zwischen dem Bereich des Speichers 2, der zum Speichern von Daten, die ein unmodifiziertes Bild repräsentieren, verwendet wird (der Quellenbereich), und dem Bereich des Speichers 2 zu unterscheiden, in den modifizierte Daten geschrieben werden, die das modifizierte Bild repräsentieren (der Zielbereich). Der Speicher 2 ist aus dynamischen Speichereinrichtungen mit wahlfreiem Zugriff (DRAMs) aufgebaut, die bei relativ geringen Kosten eine große Speicherkapazität bereitstellen, die jedoch relativ langsam bei der Übertragung von Daten dorthin und von dort heraus sind. Selbst relativ schnelle (und entsprechend teure) DRAM-Einrichtungen, die gegenwärtig verfügbar sind, besitzen Zykluszeiten von etwa 120-140 ns.
- Jedoch ist es nicht erforderlich, diese teuren schnellen DRAM-Einrichtungen in dem in Fig. 1 gezeigten System 1 zu verwenden und es können viel langsamere und billigere DRAMs verwendet werden.
- Um die Zugriffszeit zu beschleunigen, ist der DRAM-Speicher 2 derart angeordnet, daß auf Gruppen von Speicherstellen in dem Speicher gemeinsam zugegriffen werden kann. Wie es in Fig. 2 der beigefügten Zeichnungen gezeigt ist, sind Stellen in dem Speicher in horizontale Gruppen (nachfolgend als "Schläuche" bezeichnet) a, b, c, d aufgeteilt. Ein Schlauch von Daten wird in einem einzigen Lesezyklus von dem Speicher 2 gelesen und somit werden die Bildelemente in dem Schlauch effektiv gleichzeitig von jeweiligen Stellen in dem Quellenbereich 3 des Speichers 2 ausgelesen. Es ist für Fachleute verständlich, daß der Speicher zu diesem Zweck eine Steuerschaltungsanordnung mit Multiplexern (nicht gezeigt) umfaßt, die ähnlich der in unserer oben erwähnten auch anhängigen britischen Patentanmeldung Nr. 9215949 beschriebenen ist. Die Verwendung von Schläuchen zur Steigerung der Geschwindigkeit, mit der Daten von einem Speicher gelesen werden, ist für sich wohlbekannt. Die Menge von Daten in jedem Schlauch hängt von der Struktur der Speichersteuerschaltungsanordnung und deren Fähigkeit zum Multiplexen von Daten in den Schläuchen auf Ausgangsleitungen des Speichers ab. Vorzugsweise enthält in dem System 1 ein Schlauch Daten, die 128 Bildelemente betreffen und von horizontal benachbarten Stellen im Speicher 2 gelesen werden. Die Verwendung von Schläuchen dieser Größe ermöglicht es, die Geschwindigkeit, mit der Bildelementdaten von dem Speicher gelesen werden, größenordnungsmäßig um einen Faktor 128 zu steigern. Allerdings kann diese Art von Zugriffszeit nur erreicht werden, wenn das Ziel für die angeforderten Daten gut geeignet ist, Daten in großen horizontalen Blöcken zu empfangen. Beispielsweise baut eine Rasterabtastanzeige ein Anzeigebild als eine Reihe von horizontalen Zeilen auf und ist deshalb gut geeignet, Daten als eine Reihe von Schläuchen zu empfangen.
- Es ist zu bemerken, daß der Ansatz einer Verwendung von Schläuchen nicht immer zu einem Anstieg der Geschwindigkeit führt. Ein Nachteil der Verwendung von Schläuchen ist es, daß der Speicher eine Flexibilität verliert, weil er nicht länger eine Einrichtung mit echtem wahlfreien Zugriff ist. Jeder Schlauch ist eine Sequenz von Pixeln und unabhängig davon, wie wenig Pixel angefordert werden, so muß dennoch auf ganze Schläuche zugegriffen werden. Wenn z. B. somit Daten für vier Pixel w, x, y, z, wie in Fig. 2 gezeigt, angefordert werden und jeder Pixel in einem anderen Schlauch e, f, g, h ist, so ist es notwendig, vier Schläuche von Daten zu lesen, d. h. Daten für 512 Pixel, um auf die angeforderten vier Pixel zuzugreifen.
- Im Gebrauch enthält der Quellenbereich 3 Daten, die ein zu modifizierendes Bild repräsentieren, und der Zielbereich 4 enthält Daten, die das einmal modifizierte Bild repräsentieren. Daten werden durch einen Steuerprozessor 5 entsprechend Transformationsparametern modifiziert, wie denjenigen, die in der oben erwähnten EP-A-283,159 offenbart sind. Zu diesem Zweck reagiert der Steuerprozessor 5 auf eine Stylus/Sensortablett-Einrichtung 6. Das System umfaßt auch einen Anzeigespeicher 7 zum Speichern von Daten, die ein anzuzeigendes Bild repräsentieren, sowie einen Monitor 8 zum Anzeigen des Bilds. Der Monitor 8 ist vorzugsweise dazu geeignet, Bilder in einem HDTV-Standard anzuzeigen, z. B. mit 1250 Zeilen, und der Anzeigespeicher 7 umfaßt ausreichend Speicherstellen für wenigstens ein Halbbild von Bilddaten.
- Das System ist derart ausgebildet, daß das auf dem Monitor 8 angezeigte Bild aus Daten abgeleitet werden kann, die entweder in dem Quellenspeicherbereich 3 oder dem Zielspeicherbereich 4 gespeichert sind. Das angezeigte Bild kann ein Teil des durch die Daten, etwa in der Quelle 3, repräsentierten Bilds sein, oder das angezeigte Bild kann eine Version des ganzen Bilds, etwa in dem Ziel 4, sein, abwärtsgewandelt von der hohen Auflösung des Ziels 4 (8000 · 10000 Bildelemente) zu der relativ geringen Auflösung des Monitors 8 (ungefähr 1250 · 2000 Bildelemente) oder es kann natürlich ein Teil des hochaufgelösten Bilds abwärtsgewandelt um einen geeigneten Faktor zur Anzeige auf dem Monitor 8 sein.
- Das System 1 ist dazu ausgebildet, in einem Vorschaumodus zu arbeiten, während dem der Benutzer mit Transformationen des Bilds experimentieren kann, ohne an eine gegebene Transformation gebunden zu sein, bis er mit dem Effekt zufrieden ist. In diesem Vorschaumodus werden Bilddaten von der Quelle 3 in geeigneter Weise abwärtsgewandelt, mit den zu diesem Zeitpunkt durch die Handhabung des Stylus/Sensortabletts des Benutzers definierten Parametern transformiert und die transformierten Daten zu dem Zielbereich des Quellenspeichers 2 zur Ausgabe zu dem Anzeigespeicher 7 geschrieben. Die Abwärtswandlung der Daten, die an sich wohlbekannt ist, wird durch den Steuerprozessor 5 durchgeführt, wenn Daten von dem Quellenspeicher 2 zu dem Anzeigespeicher 7 übertragen werden. Der Anzeigespeicher 7 wird regelmäßig mit Daten für eine Anzeige des transformierten Bilds auf dem Monitor 8 aktualisiert. Somit wird, in Reaktion auf die Manipulationen der Stylus/Sensortablett-Einrichtung 6 des Benutzers, ein Bild auf dem Monitor 8 angezeigt, das sich entsprechend den Manipulationen verändert. Die Anzeigedaten werden von den Bilddaten in der Quelle 3 im wesentlichen in Echtzeit abgeleitet, so daß der Benutzer sofort den Effekt seiner Manipulationen an dem Bild sehen kann. Dies ermöglicht es dem Benutzer, verschiedene Effekte auszuprobieren, bevor er an eine bestimmte Transformation gebunden ist. Wenn der Benutzer einmal mit einem Effekt zufrieden ist, so wird dieser ausgewählt, wodurch das System veranlaßt wird, das hochaufgelöste Bild aus dem Quellenspeicherbereich 3 zu modifizieren und Daten des somit modifizierten hochaufgelösten Bilds in dem Zielspeicherbereich 4 zu speichern.
- Ein Cachespeicher 9 empfängt Daten von der Quelle 3 unter der Steuerung des Steuerprozessors 5. Es ist zu bemerken, daß der Steuerprozessor 5 den Betrieb des Systems 1 als Ganzes steuert, daß jedoch der Klarheit halber lediglich einige Steuerleitungen gezeigt sind, die den Steuerprozessor mit anderen Einheiten in dem System 1 verbinden. Der Cachespeicher 9 ist aus statischen RAM-Einrichtungen (SRAM) aufgebaut, die für eine relativ schnelle Übertragung von Daten dorthin und von dort heraus sorgen. Typischerweise besitzen SRAMs eine Zugriffszeit von 20 - 30 ns, was 5 oder 6 mal schneller als die Zugriffszeit der schnelleren gegenwärtig verfügbaren DRAMs ist. Die Kosten von SRAM-Einrichtungen sind relativ hoch und deshalb ist der Cachespeicher 9 wesentlich kleiner als der Speicher 2, um die Kosten niedrig zu halten. Typischerweise umfaßt der Cachespeicher 9 128 · 256 Speicherstellen und somit kann der Cachespeicher 9 mit 256 Schläuchen von Daten von dem Speicher 2 gefüllt werden. Dies bedeutet, daß der Cachespeicher 9 relativ rasch mit Daten von dem Speicher 2 gefüllt werden kann, und wenn die Daten einmal in dem Cachespeicher 9 sind, sind sie extrem rasch in einer wirklich wahlfreien Folge zugänglich.
- Es ist für Fachleute verständlich, daß die Kombination eines großen Speichers auf DRAM-Basis zusammen mit einem kleinen Cachespeicher auf SRAM-Basis eine kostengünstige Speicherkonfiguration mit hoher Kapazität bereitstellt, in der auf Daten, die kleinen Bildbereichen entsprechen, extrem rasch zugegriffen werden kann, wobei auf Daten, die einzelnen Bildelementen entsprechen, wahlfrei zugegriffen werden kann. Da Bildtransformationen einen wahlfreien Zugriff hoher Geschwindigkeit auf einzelne Bildelemente in kleinen Bildbereichen erfordern, um die notwendigen Transformationen durchzuführen, ist diese Art von Speicherkonfiguration gut geeignet, Daten für eine Bildtransformation mit einer Geschwindigkeit zu liefern, die für eine Echtzeitanzeige mit hochauflösenden Anzeigeraten geeignet ist.
- Das System umfaßt ferner einen Filter 10, der räumliche Transformationen an den Bilddaten in dem Cachespeicher 9 durchführt und die damit transformierten Daten zu dem Ziel 4 schreibt, wodurch die von dem Benutzer gewählte Manipulation an dem Bild durchgeführt wird. Sowohl der Cachespeicher 9 als auch der Filter 10 werden in Reaktion auf die Manipulationen der Stylus/Sensortablett-Einrichtung 6 durch den Steuerprozessor 5 gesteuert. Der Steuerprozessor 5 reagiert auf derartige Manipulationen durch Berechnung von Adressen in dem Cachespeicher 9, an welchem Daten gespeichert sind, die zu transformierende Pixel repräsentieren, und berechnen für jeden Pixel die Transformationskoeffizienten, die zu dem Filter 10 ausgegeben werden. Die Verwendung eines Filters 10, der separat von dem Steuerprozessor 5 ist, erleichtert die Verarbeitung von Daten während Transformationen, die eine Änderung der Perspektive betreffen, indem dem Prozessor 5 erlaubt ist, den nächsten Satz von zu verwendenden Transformationsparametern zu berechnen, während der Filter den aktuellen Satz von Transformationsparametern auf gewählte Quellenbildelemente anwendet, um ein Zielbildelement zu bestimmen.
- Aus der vorangegangenen Beschreibung ist ersichtlich, daß der Speicher 2 eine Mehrfachanschlußeinrichtung ist, die wenigstens einen Anschluß 1 l zum Lesen von Daten davon für den Cachespeicher 9, einen Anschluß 12 zum Schreiben von Daten dorthin von dem Filter 10 sowie einen Anschluß 13 zum Übertragen von Daten zu dem Anzeigespeicher 7 umfaßt. In der Praxis wird den hohen Datenraten, die von dem HDTV-Monitor 8 verlangt werden, Genüge getan, indem ein zweiter Videoanschluß 14 zum optionalen Übertragen von Daten des Ausgangsbilds oder des modifizierten Bilds zu dem Anzeigespeicher 7 bereitgestellt wird. Der Speicher 2 umfaßt somit vier Anschlüsse, die jeweils einen Zugriff zu den Daten darin erfordern. Der Zugriff über die Anschlüsse 11 bis 14 auf den Speicher 2 ist dazu ausgebildet, auf einer zyklischen Basis stattzufinden, wobei der Anschluß 11 während einer ersten Zeitdauer Zugriff hat, der Videoanschluß 13 während einer zweiten Zeitdauer Zugriff hat, der Anschluß 12 während einer dritten Zeitdauer Zugriff hat und der Videoanschluß 14 während einer vierten Zeitdauer Zugriff hat. Mit anderen Worten ist der Videozugriff zeitlich verschachtelt mit dem Lesen und Schreiben von Daten aus und in den Speicher 2. Selbstverständlich erhöht dies weiter, um einen Faktor vier, die zum Lesen von Daten von dem Speicher 2 oder zum Schreiben von modifizierten Daten zurück zu dem Speicher 2 benötigte Zeit. Ein Zugreifen auf Daten in dem Speicher 2 dauert deshalb etwa 500 ns, ein relativ langsamer Vorgang. Diese Verringerung der Geschwindigkeit wird jedoch mehr als kompensiert durch den Cachespeicher 9 mit wahlfreiem Zugriff, der es ermöglicht, einen Stapel von z. B. 128 · 256 Bildpixeln für eine Verarbeitung mit wahlfreiem Zugriff zwischen den Zeiten zu speichern, in denen der Anschluß 11 Zugriff auf den Speicher 2 hat.
- Die Bilddatenverarbeitung wird durch das System 1 mit sogenannten leseseitigen Transformationen durchgeführt, d. h. Bilddaten werden von einer Quelle (in diesem Fall dem Cachespeicher) in wahlfreier Folge gelesen und modifiziert, um Daten zu erzeugen, die ein transformiertes Bild repräsentieren und die in Rasterabtastfolge in einem Ziel gespeichert werden (Im Gegensatz dazu werden bei einer schreibseitigen Transformation Daten von einer Quelle (d. h. dem Cachespeicher) in Rasterabtastfolge ausgelesen und in wahlfreier Folge zu einem Ziel geschrieben).
- Die Art und Weise, in der die Bilddatenverarbeitung durchgeführt wird, wird mit Bezug auf Fig. 3 der beigefügten Zeichnungen beschrieben.
- Es wird Bezug auf Fig. 3 genommen. Ein Ausgangsbild 15 repräsentierende Daten sind in der Quelle 3 gespeichert. Wenn die Stylus/Sensortablett-Einrichtung 6 manipuliert wird, berechnet der Steuerprozessor auf die das Ausgangsbild 15 repräsentierenden Daten anzuwendenden Transformationsparameter, um daraus Daten abzuleiten, die ein transformiertes Bild 16 repräsentieren. Einmal abgeleitet, werden die das transformierte Bild 16 repräsentierenden Daten in dem Zielspeicher 4 gespeichert.
- Wenn die Größe, Gestalt und Position des transformierten Bilds 16 in dem Ziel 4 einmal berechnet wurde (wie in der EP-A-283,159 beschrieben), ist es eine einfache Angelegenheit, zu bestimmen, wie ein Bereich des transformierten Bilds 16 erscheinen würde, falls er zurück in den Quellenspeicher 3 abgebildet werden würde. Hiervon wird Gebrauch gemacht, um Gruppen von Pixeldaten zu identifizieren, die von dem Quellenbereich 3 des Speichers 2 zu dem Cachespeicher 9 zu übertragen sind, um die Ableitung der transformierten Bilddaten zu optimieren. Ein Bereich 17 wird in dem Ziel 4 identifiziert und in einen entsprechenden Bereich 17' in der Quelle 3 abgebildet. Der Bereich 17 wird gewählt durch Probieren von Bereichen verschiedener Größe in dem Ziel 4, bis einer gefunden ist, der wenigstens den Teil 18 des transformierten Bilds 16 enthält, und der, wenn in dem Quellenspeicher 2 abgebildet, einen entsprechenden Bereich 17' definiert, der kleiner ist als ein Bereich 19 in der Quelle 3, der der Größe des Cachespeichers 9 entspricht. Der entsprechende Bereich 17' enthält einen Bereich 18' von Ausgangsbilddaten, die dem Teil 18 in dem transformierten Bild 16 entsprechen. Wenn der Bereich 17' von Daten in der Quelle 3 einmal identifiziert wurde, werden sie zu dem Cachespeicher 9 übertragen.
- Wie es oben erwähnt wurde, führt das System eine leseseitige Verarbeitung durch, und somit wird auf die Daten in dem Cachespeicher 9 wahlfrei zugegriffen, um dem Filter zu ermöglichen, aufeinanderfolgende benachbarte Bildelemente für den Zielbereich 4 zu erzeugen. Jedes Bildelement in dem Ziel wird gebildet aus Beiträgen von wenigstens einem und gewöhnlich vielen Bildelementen in der Quelle. Dementsprechend werden mehrere Bildelemente von dem Cachespeicher zu dem Filter 10 ausgelesen, wo sie z. B. in einer gewichteten Addition basierend auf Transformationsdaten, die durch den Steuerprozessor 5 bestimmt werden, kombiniert werden, um ein einzelnes transformiertes Bildelement (Pixel) zu erzeugen, das in dem Zielbereich 4 des Speichers 2 gespeichert wird. Der Vorgang wird auf einer Pixel-für-Pixel-Basis wiederholt, bis alle Pixel in dem Bereich 17 des transformierten Bilds erzeugt und in dem Zielbereich 4 gespeichert sind.
- Ein Berechnen der Transformationsdaten auf einer Pixel-für-Pixel-Basis schafft ein flexibles System und ermöglicht es dadurch, komplexere Transformationen durchzuführen. Beispielsweise wird durch ein derartiges System eine perspektivische Verkürzung in einfacher Weise durchgeführt. Während Transformationen durch den Filter an den Daten in dem Bereich 17' angewendet werden, berechnet der Steuerprozessor 5 den nächsten Bereich des Ausgangsbilds 15, der zu dem Cachespeicher 9 zu übertragen ist. Der Prozeß wird wiederholt, bis die Daten für das vollständige modifizierte Bild 16 berechnet und in dem Zielbereich 4 des Speichers 2 gespeichert sind.
- Der DRAM-Speicher 2 ist eine inhärent langsame Einrichtung, die langsamer gemacht wird durch das Erfordernis, Video-, Lese- und Schreib-Zyklen zu verschachteln. Die Verwendung von Schläuchen kann die Geschwindigkeit, mit der auf Daten in dem Speicher zugegriffen wird, in dem Fall erhöhen, in dem eine große Anzahl von horizontal benachbarten Stellen involviert sind, jedoch verringert dieser Ansatz die Flexibilität beim Zugreifen auf den Speicher. Selbst bei Verwendung eines schnellen DRAM würde es etwa 500 ns dauern, einen Schlauch von Pixeln aus dem Quellenspeicher zu lesen.
- Die Verwendung eines schnellen Cachespeichers 9 zusammen mit einem Filter 10 erhöht beträchtlich die Geschwindigkeit, mit der ein transformiertes Bild repräsentierende Daten erzeugt werden können. Wenn die Daten für Pixel in dem Bereich 17' von der Quelle zu dem Cachespeicher übertragen sind, kann auf jeden neuen Pixel in dem Cache in etwa 20-30 ns zugegriffen werden und dies erhöht beträchtlich die Rate, mit der das transformierte Bild repräsentierende Daten erzeugt werden. Der Zugriff auf den Cachespeicher ist nicht verschachtelt und der Cachespeicher wird von einem SRAM gebildet, der inhärent schneller als ein DRAM ist.
- Nachdem somit die vorliegende Erfindung mit Bezug auf eine bevorzugte Ausführungsform beschrieben wurde, ist es gut verständlich, daß die in Rede stehende Ausführungsform lediglich beispielhaft ist und daß Modifikationen und Variationen, die im Bereich fachmännischen Wissens und fachmännischer Fähigkeiten liegen, gemacht werden können, ohne den Rahmen der Erfindung zu verlassen, wie er in den beigefügten Ansprüchen angegeben ist.
Claims (15)
1. Elektronisches Bildverarbeitungssystem zum Erzeugen von Daten, die eine
modifizierte Form eines Bilds repräsentieren, aus Daten, die ein Ausgangsbild
repräsentieren, wobei das System umfaßt:
einen Quellenspeicher (2, 3) zum Speichern von Daten, die ein Ausgangsbild
repräsentieren;
einen Zielspeicher (2, 4) zum Speichern von Daten, die ein modifiziertes, von
dem Ausgangsbild abgeleitetes Bild repräsentieren, wobei die Daten in dem
Quellenspeicher und dem Zielspeicher als Datensequenzen in wahlfreier
Sequenzfolge zugänglich sind;
einen Cachespeicher (9) mit kleiner Kapazität und wahlfreiem Zugriff zum
Speichern von Ausgangsbilddaten, die einen Teil des Ausgangsbilds
repräsentieren und mehrere Datensequenzen von dem Quellenspeicher (2, 3)
umfassen;
einen Filter (10) zum Durchführen von Transformationen an den Daten in dem
Cachespeicher (9), um modifizierte Bilddaten zu erzeugen, die einen
modifizierten Teil des Bilds repräsentieren, für eine Speicherung als mehrere
Datensequenzen umfassend einen Teil der modifizierten Bilddaten in dem
Zielspeicher; und
einen Prozessor (5) zum Bestimmen der durch den Filter (10) durchzuführenden
Transformationen, zum Identifizieren in dem Quellenspeicher (2, 3) derjenigen
Ausgangsbilddatensequenzen, die zusammen den Ausgangsbildteil definieren,
durch Bestimmen eines Bereichs in der modifizierten Form des Bilds, der durch
Daten repräsentiert wird, die durch ein Manipulieren einer Menge von
Ausgangsbilddaten erzeugt werden, die nicht größer als die Kapazität des
Cachespeichers (9) ist, und zum Steuern der Übertragung von Datensequenzen
umfassend den Ausgangsbildteil von dem Quellenspeicher (2, 3) zu dem
Cachespeicher (9) und von dem Filter (10) zu dem Zielspeicher (2, 4).
2. System nach Anspruch 1, wobei der Quellenspeicher (3) und der Zielspeicher
(4) als separate Bereiche eines einzigen Speichers (2) hoher Kapazität gebildet
sind.
3. System nach Anspruch 2, wobei der Speicher (2) hoher Kapazität dynamische
Speichereinrichtungen mit wahlfreiem Zugriff umfaßt und der Cachespeicher
(9) statische Speichereinrichtungen mit wahlfreiem Zugriff umfaßt.
4. System nach Anspruch 1 oder 2 oder 3, wobei der Prozessor (5) dazu
ausgebildet ist, Transformationsparameter zur Verwendung durch den Filter
(10) abzuleiten.
5. System nach Anspruch 4, wobei der Prozessor (5) dazu ausgebildet ist,
Adressen abzuleiten in dem Quellenspeicher (2, 3), an denen Daten gespeichert
sind, die den gewählten Teil repräsentieren, und in dem Zielspeicher (2, 4), an
denen Daten gespeichert sind, die den modifizierten Teil repräsentieren.
6. System nach einem der vorangehenden Ansprüche, ferner umfassend einen
Anzeigespeicher (7) zum Speichern von Daten, die ein anzuzeigendes Bild
repräsentieren, welche Daten durch den Prozessor (5) aus den Daten in dem
Quellenspeicher (2, 3) oder in dem Zielspeicher (2, 4) abgeleitet sind.
7. System nach Anspruch 6, ferner umfassend einen Monitor (8) zum Anzeigen
des Bilds, das durch die Daten in dem Anzeigespeicher repräsentiert wird.
8. System nach einem der vorangehenden Ansprüche, ferner umfassend eine
durch einen Benutzer bedienbare Eingabeeinrichtung (6), wobei der Prozessor
(5) die Transformationsparameter in Reaktion auf die Manipulationen der
Eingabeeinrichtung des Benutzers ableitet.
9. System nach Anspruch 8, wobei die von einem Benutzer bedienbare
Eingabeeinrichtung eine Stylus/Sensortablett-Einrichtung (6) umfaßt.
10. System nach Anspruch 8 oder 9, wobei der Prozessor (5) dazu ausgebildet ist,
kontinuierlich den Anzeigespeicher (7) mit Daten zu aktualisieren, die das
Ausgangsbild repräsentieren, wie es entsprechend den in Reaktion auf die
durch einen Benutzer bedienbare Eingabeeinrichtung (6) abgeleiteten
Transformationsparametern modifiziert ist.
11. Verfahren zum Erzeugen von Daten, die eine modifizierte Form eines Bilds
repräsentieren, aus Daten, die ein Ausgangsbild repräsentieren, wobei das
Verfahren umfaßt:
Speichern von Daten in einem Quellenspeicher, die ein Ausgangsbild
repräsentieren;
Speichern von Daten in einem Zielspeicher, die ein aus dem Ausgangsbild
abgeleitetes modifiziertes Bild repräsentieren, wobei die gespeicherten Daten
als Datensequenzen in wahlfreier Sequenzfolge zugänglich sind;
Speichern von Ausgangsbilddaten in einem Cachespeicher kleiner Kapazität mit
wahlfreiem Zugriff, die einen Teil des Ausgangsbilds repräsentieren und
mehrere Datensequenzen von dem Quellenspeicher umfassen;
Durchführen von Transformationen an den Daten in dem Cachespeicher mittels
eines Filters, um modifizierte Bilddaten zu erzeugen, die einen modifizierten Teil
des Bilds repräsentieren, für eine Speicherung als mehrere Datensequenzen
umfassend einen Teil der modifizierten Bilddaten in dem Zielspeicher;
Bestimmen der Transformationen, die durch den Filter durchzuführen sind;
Identifizieren in dem Quellenspeicher der Ausgangsbilddatensequenzen, die
zusammen den Ausgangsbildteil definieren, durch Bestimmen eines Bereichs in
der modifizierten Form des Bilds, der durch Daten repräsentiert wird, die durch
Manipulieren einer Menge von Ausgangsbilddaten erzeugt werden, die nicht
größer als die Kapazität des Cachespeichers ist; und
Steuern der Übertragung von Datensequenzen umfassend den Ausgangsbildteil
von dem Quellenspeicher zu dem Cachespeicher und von dem Filter zu dem
Zielspeicher.
12. Verfahren nach Anspruch 11, wobei die Ausgangsbilddaten in einem
Quellenspeicher gespeichert werden und die transformierten Bilddaten in einem
Zielspeicher gespeichert werden.
13. Verfahren nach Anspruch 11 oder 12, wobei jede der Sequenzen wenigstens
einem Teil einer horizontalen Zeile in dem Bild entspricht.
14. Verfahren nach einem der Ansprüche 11 bis 13, wobei eine Repräsentation des
Bilds auf einem Monitor angezeigt wird und die Transformationsparameter in
Reaktion auf Modifikationen abgeleitet werden, die an dem angezeigten Bild
durchgeführt werden.
15. Verfahren nach Anspruch 14, wobei das angezeigte Bild kontinuierlich
aktualisiert wird, wenn Modifikationen daran durchgeführt werden, wodurch
es ermöglicht wird, den Effekt von Modifikationen an dem angezeigten Bild im
wesentlichen in Echtzeit zu betrachten.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9220266A GB2271035B (en) | 1992-09-25 | 1992-09-25 | An electronic image processing system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69328601D1 DE69328601D1 (de) | 2000-06-15 |
| DE69328601T2 true DE69328601T2 (de) | 2000-08-31 |
Family
ID=10722495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69328601T Expired - Fee Related DE69328601T2 (de) | 1992-09-25 | 1993-09-24 | Elektronisches Bildverarbeitungssystem und -methode |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0589724B1 (de) |
| JP (1) | JPH06209406A (de) |
| DE (1) | DE69328601T2 (de) |
| GB (1) | GB2271035B (de) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0843284B1 (de) | 1996-11-18 | 2012-08-22 | FUJIFILM Corporation | Verfahren und System für Druckbilderzeugung und Aufzeichnungsmaterial |
| EP1377023A1 (de) * | 2002-06-28 | 2004-01-02 | Océ-Technologies B.V. | System für Bildabtastung und Bildverarbeitung, Verfahren zur Abtastung und Behandlung eines Bildes, und Verfahren zur Selektion eines Bildes aus verschiedenen Masterdateien, die Kodingdaten eines abgetasteten Bildes enthalten |
| EP1377025B1 (de) * | 2002-06-28 | 2010-03-03 | Océ-Technologies B.V. | System und Verfahren der Bildabtastung und der Bildbehandlung, und Verfahren einen eines Mehrzahls von Masterdateien, die Daten eines kodierten abgetaszteten Bildes aufweisen, auszuwählen |
| GB2410637A (en) * | 2004-01-27 | 2005-08-03 | Nec Technologies | Telecommunications system having selective image distortion |
| US8437805B2 (en) | 2006-03-28 | 2013-05-07 | Research In Motion Limited | Method and apparatus for transforming images to accommodate screen orientation |
| EP1840820A1 (de) | 2006-03-28 | 2007-10-03 | Research In Motion Limited | Verfahren und Vorrichtung zur Umwandlung von Bildern zur Anpassung der Bildschirmausrichtung |
| GB2521958B (en) * | 2012-09-13 | 2019-12-04 | Adobe Inc | System and method for producing edited images using embedded plug-in |
| JP6156653B2 (ja) * | 2014-10-06 | 2017-07-05 | コニカミノルタ株式会社 | 画像変形装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1547119A (en) * | 1977-12-09 | 1979-06-06 | Ibm | Image rotation apparatus |
| GB2137856B (en) * | 1983-04-06 | 1987-07-08 | Quantel Ltd | Image processing system |
| JPS6370381A (ja) * | 1986-09-12 | 1988-03-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | イメ−ジ・デ−タの回転方法 |
| US5131080A (en) * | 1987-08-18 | 1992-07-14 | Hewlett-Packard Company | Graphics frame buffer with RGB pixel cache |
| US5028995A (en) * | 1987-10-28 | 1991-07-02 | Hitachi, Ltd. | Picture signal processor, picture signal coder and picture signal interpolator |
| GB2235856B (en) * | 1989-09-01 | 1993-11-17 | Quantel Ltd | Improvements in or relating to electronic graphic systems |
| GB9006870D0 (en) * | 1990-03-28 | 1990-05-23 | Quantel Ltd | Video graphics systems |
| GB2261803B (en) * | 1991-10-18 | 1995-10-11 | Quantel Ltd | An image processing system |
-
1992
- 1992-09-25 GB GB9220266A patent/GB2271035B/en not_active Expired - Fee Related
-
1993
- 1993-09-24 DE DE69328601T patent/DE69328601T2/de not_active Expired - Fee Related
- 1993-09-24 EP EP93307604A patent/EP0589724B1/de not_active Expired - Lifetime
- 1993-09-24 JP JP5237090A patent/JPH06209406A/ja not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| GB2271035B (en) | 1996-11-13 |
| JPH06209406A (ja) | 1994-07-26 |
| EP0589724B1 (de) | 2000-05-10 |
| GB9220266D0 (en) | 1992-11-11 |
| EP0589724A3 (de) | 1994-12-28 |
| DE69328601D1 (de) | 2000-06-15 |
| EP0589724A2 (de) | 1994-03-30 |
| GB2271035A (en) | 1994-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE68928744T2 (de) | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen | |
| DE3346458C2 (de) | ||
| DE69128731T2 (de) | Schaltungsanordnung für die Konvertierung von pyramidenförmigen Texturkoordinaten und diese enthaltendes Anzeigegerät | |
| DE10053439B4 (de) | Grafik-Beschleuniger mit Interpolationsfunktion | |
| DE69130848T2 (de) | Aufzeichnung von abrollenden aus Zeichen zusammengesetzten Hintergrundbildern | |
| DE3702220C2 (de) | ||
| DE69729916T2 (de) | Dynamische bildgrössenänderung | |
| DE69109821T2 (de) | Anzeigevorrichtung für Bildhintergrund und externe Speichereinheit. | |
| DE4231158C5 (de) | Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern | |
| DE10101073B4 (de) | Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür | |
| DE3650486T2 (de) | Videobildgestaltungssysteme | |
| DE69228299T2 (de) | Anzeigetechniken für zeitlich erfasste Bildersequenzen | |
| DE3882365T2 (de) | Einrichtung zur erzeugung eines cursormusters auf einer anzeige. | |
| DE69016697T2 (de) | Video-Direktzugriffsspeicher. | |
| DE3015125A1 (de) | Einrichtung zur speicherung und darstellung graphischer information | |
| DE3518416A1 (de) | Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige | |
| DE3887340T2 (de) | Videowiedergabesystem. | |
| DE3788925T2 (de) | Interpolator für Fernsehtricksystem. | |
| DE69229033T2 (de) | Bildverarbeitungssystem | |
| DE3882386T2 (de) | Bildanzeigegerät. | |
| DE4227733A1 (de) | Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher | |
| DE69802041T2 (de) | Graphisches Verarbeitungsgerät und -verfahren | |
| DE68927245T2 (de) | Bildverarbeitungssystem | |
| DE69328601T2 (de) | Elektronisches Bildverarbeitungssystem und -methode | |
| DE68925569T2 (de) | Dynamischer Video-RAM-Speicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |