DE69817633T2 - Faltung von Zeilenrasterdarstellungen - Google Patents

Faltung von Zeilenrasterdarstellungen Download PDF

Info

Publication number
DE69817633T2
DE69817633T2 DE69817633T DE69817633T DE69817633T2 DE 69817633 T2 DE69817633 T2 DE 69817633T2 DE 69817633 T DE69817633 T DE 69817633T DE 69817633 T DE69817633 T DE 69817633T DE 69817633 T2 DE69817633 T2 DE 69817633T2
Authority
DE
Germany
Prior art keywords
image
scan line
scan lines
scan
lines
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
DE69817633T
Other languages
English (en)
Other versions
DE69817633D1 (de
Inventor
George Macquarie Fields Politis
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of DE69817633D1 publication Critical patent/DE69817633D1/de
Application granted granted Critical
Publication of DE69817633T2 publication Critical patent/DE69817633T2/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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators

Description

  • Gebiet der Erfindung
  • Die Erfindung bezieht sich im Allgemeinen auf Bildfaltungstechniken und insbesondere auf eine Durchführung von Faltungen digitaler Bilder oder objektbasierter Grafiken in einer Abtastzeilenbereitstellungs-Umgebung.
  • Stand der Technik
  • Derzeitige Bildfaltungssysteme führen Bildfaltungen unter Verwendung von Halbleiterspeicher-Rahmenzwischenspeichern durch. Dies kann jedoch möglicherweise die Bildgröße, auf die Faltungen angewandt werden können, auf das beschränken, was in einem verfügbaren Speicher gespeichert werden kann, besonders dann, wenn eine Hochgeschwindigkeits-Bereitstellung eines Bildes benötigt wird. Ferner erlauben derzeitige Systeme eine Anwendung von Faltungen nur auf Bilder, die aus bildpunktbasierten Bilddaten gebildet sind, und nicht im Allgemeinen auf Bilder, die aus objektbasierten grafischen Bilddaten gebildet sind.
  • Mit Bezug auf 1 kann eine Faltung eines Bildes mit einer beliebigen mathematischen Funktion wie folgt definiert werden. Ein Bild 10 kann mittels einer Funktion I(x,y) angegeben werden, wobei x eine horizontale Position entlang einer Abtastlinie 11 und y eine vertikale Position am Bild 10 hinunter ist, ausgehend von der oberen linken Ecke des Bildes 10. Ein Bildpunkt 12 mit Bildpunkt-Integerkoordinaten p und q hat einen von der Funktion I(x,y) zurückgegebenen Wert in dem Bereich p ≤ x ≤ p + 1, q ≤ y + 1. In der Praxis ist ein Bild üblicherweise als eine Reihe von Farbkomponenten dargestellt, wie zum Beispiel rot, grün und blau, die als RGB-Werte bekannt sind. Daher gibt I(x,y) üblicherweise mehrere Funktionen an, eine für jede Farbkomponente: IR(x,y) , IG(x,y) und IB(x,y) . Die Faltung des Bildes 10 mit einer vorbestimmten Funktion f(x,y) ist mathematisch definiert als
    Figure 00020001
    wobei f theoretisch über einen unbegrenzten oder begrenzten Definitionsbereich definiert sein kann. Im praktischen Sinn wird eine Faltung üblicherweise durch Darstellung von f(x,y) mittels einer (auch als Kern bzw. „Kernel" bekannten) begrenzten Maske 21 kij mit i = –m, ..., m, j = –n, ..., n durchgeführt, die in 2 gezeigt und so dargestellt ist, dass das Zentralelement oder der Koeffizient der Maske das k00-Element 22 ist. Die Faltung wird an jedem Bildpunkt (p,q) mit
    Figure 00020002
    berechnet, wobei die Verwendung von I eine Reihe von unabhängigen Berechnungen auf jeder Farbkomponente, je nach Bedarf, angibt.
  • 3 zeigt eine Berechnung einer Faltung gemäß der begrenzten Maske 21 gemäß 2. Jeder Bildpunkt 31 in einem Ausgabebild 32 hängt von einer Nachbarschaft einer Vielzahl von Bildpunkten 33 über eine Vielzahl von Abtastzeilen eines Eingabebildes 34 hinweg ab. Bei herkömmlichen Systemen wird ein Gesamtbild-Halbleiter-Rahmenzwischenspeicher verwendet, um das Eingabebild 34 in seiner Gesamtheit derart zu speichern, dass beim Zugreifen auf diesen Nachbarschaftsbereich von Bildpunkten keine Schwierigkeit besteht.
  • Während dieser ganzen Beschreibung ist, wenn nicht anders vermerkt, ein Bezug auf „Speicher" als ein Bezug auf einen Speicher mit hoher Datenübertragungsrate und vorzugsweise niedriger Zugriffszeit zu interpretieren, wie es etwa ein halbleiterbasierter Direktzugriffsspeicher ist, der im Wesentlichen höhere Datenübertragungsraten und niedrigere Zugriffszeiten bereitstellt als zum Beispiel ein (magnetischer) Festplattenspeicher oder ein optischer Plattenspeicher. Andere Beispiele für einen Speicher von hoher Datenübertragungsrate und niedriger Zugriffszeit umfassen einen Blasenspeicher und einen Quecksilber-Laufzeitspeicher und dergleichen.
  • Jedoch wirft die Verwendung eines Rahmenzwischenspeichers für Bildfaltungen neben anderen Bildmanipulations-Vorgängen eine Anzahl von Problemen und Nachteilen auf. Erstens bleibt ein derartiger Speicher relativ teuer, obwohl die Kosten für einen derartigen Speicher über die vergangenen Jahre gefallen sind. Daher ist die typischerweise in Computersystemen verwendete Kapazität eines derartigen Speichers oft durch die gleichzeitige Ausführung eines Betriebssystems und eines von mehreren Anwendungsprogrammen verbraucht, die alle dazu tendieren, vor der Verwendung eines langsamen Speichers (z. B. einer Festplatte) schnelle Speicherressourcen zur Zwischenspeicherung zu verwenden. Des Weiteren fördert die Bereitstellung eines Rahmenzwischenspeichers das Bereitstellen von grafischen Objekten in bildpunktbasierter Form, wodurch weitere Speicherressourcen belegt und die vorstehend erwähnten Probleme verstärkt werden.
  • Die US-A-5241372 offenbart eine Bildverarbeitungsvorrichtung mit einem Operator mit einer begrenzten Maske zur Verarbeitung der in einem Videobild enthaltenen Bildpunkte. Eine Speichereinrichtung wie etwa ein Rahmenspeicher, der im Wesentlichen die gleichen Bildpunktlagen wie die Bildpunkte in dem eingegebenen Videobild aufweist, ist bereitgestellt, wobei ein zweidimensionales Filter auf die Bildpunkte angewandt wird, um verarbeitete Ausgabebildpunkte zu erzeugen.
  • Die WO-A-96/35203 offenbart eine Vorrichtung und ein Verfahren zum Ausgleichen von Hochfrequenzinformationen in einer verschachtelten computererzeugten Anzeige. Das computererzeugte RGB-Signal wird in ein YUV-Signal umgewandelt, das dann in seine Y-, U- und V-Komponenten aufgeteilt wird. Die Y-Komponente wird mittels einer Mittelwertbildung der aktuellen Abtastzeile mit der Zeile über und der Zeile unter der aktuellen Abtastzeile gefaltet, wodurch ein Flimmern vermieden wird.
  • Es ist daher eine Aufgabe der Erfindung, sich mit einem oder mehreren Schwierigkeiten zu befassen, die mit Anordnungen gemäß dem Stand der Technik in Zusammenhang stehen.
  • Kurzfassung der Erfindung
  • Die Erfindung berücksichtigt die Verwendung von Abtastzeilen-Zwischenspeichern (oder Band-Zwischenspeichern) anstelle von herkömmlichen Rahmen- Zwischenspeichern, um Bildfaltungsoperationen durchzuführen, und dies wird besonders vorteilhaft, wenn grafische objektbasierte Bilder behandelt werden.
  • Gemäß einem Aspekt der Erfindung ist ein Verfahren zum Anwenden eines Faltungsoperators mit einer begrenzten Maske auf ein Bild bereitgestellt, wobei die begrenzte Maske eine Vielzahl von in einer vorbestimmten Anzahl von Zeilen und einer vorbestimmten Anzahl von Spalten angeordneten Koeffizienten aufweist, wobei das Verfahren gekennzeichnet ist durch die Schritte:
    Bereitstellen von zumindest einer vorbestimmten Anzahl von Abtastzeilen von zumindest einem Objekt, das aus einer Vielzahl von einzeln manipulierbaren, das Bild definierenden grafischen Objekten ausgewählt ist, und Speichern der bereitgestellten Abtastzeilen in einer Zwischenspeichereinrichtung, die zum Speichern eines Anteils des Bildes angepasst ist, wobei die vorbestimmte Anzahl von Abtastzeilen gleich der Anzahl von Zeilen oder der Anzahl von Spalten der Maske ist; und
    Anwenden der Maske auf die bereitgestellte Vielzahl von Abtastzeilen, um eine Abtastzeile eines Ausgabebildes zu erzeugen.
  • Vorzugsweise werden die Bereitstellen-Schritte und Anwenden-Schritte zum Erzeugen einer Vielzahl von Abtastzeilen des Ausgabebildes wiederholt, wobei beim Bereitstellen-Schritt für jede Abtastzeile des Ausgabebildes eine Abtastzeile verworfen und eine nächste Abtastzeile bereitgestellt wird.
  • Höchstwünschenswert ist, dass das Bild in einer objektbasierten Grafikumgebung dargestellt wird. In einem derartigen Fall wird das Bild mittels einer Ausdrucksbaumdarstellung mit einer Vielzahl von Knoten dargestellt. Typischerweise sind die Knoten entweder als ein Operator oder als ein Grundelement gekennzeichnet. Wahlweise kann das Bild mittels einer Befehlsfolge oder mittels einer hierarchischen Datendarstellung dargestellt werden. Im Allgemeinen weisen ein oder mehrere Knoten des Ausdrucksbaumes oder jeder Befehl der Befehlsfolge eine mit ihnen in Verbindung stehende Bereitstellungsnummer auf. Typischerweise stellt die Bereitstellungsnummer die Anzahl von Abtastzeilen dar, die vor einer aktuellen Abtastzeile für den Knoten oder den Befehl bereitzustellen sind.
  • Gemäß einem zweiten Aspekt der Erfindung ist eine Vorrichtung zum Anwenden eines Faltungsoperators mit einer begrenzten Maske mit einer Vielzahl von Koeffizienten bereitgestellt, wobei die Koeffizienten in einer vorbestimmten Anzahl von Zeilen und einer vorbestimmten Anzahl von Spalten angeordnet sind, wobei die Vorrichtung dadurch gekennzeichnet ist, dass sie aufweist:
    eine Zwischenspeichereinrichtung, die zum Speichern eines Anteils zumindest eines Objektes angepasst ist, dass aus einer Vielzahl von einzeln manipulierbaren, das Bild definierenden grafischen Objekten ausgewählt ist;
    eine zweite Einrichtung, die zum Bereitstellen von zumindest einer vorbestimmten Anzahl von Abtastzeilen des zumindest einen Objektes in dem Bild für die Zwischenspeichereinrichtung eingerichtet ist, sowie zum Speichern der bereitgestellten Abtastzeilen in einer Zwischenspeichereinrichtung, wobei die vorbestimmte Anzahl von Abtastzeilen gleich der Anzahl von Zeilen oder der Anzahl von Spalten der begrenzten Maske ist; und
    eine dritte Einrichtung zum Anwenden der begrenzten Maske auf die Vielzahl von Abtastzeilen, um eine Abtastzeile eines Ausgabebildes zu erzeugen.
  • Der Aufbau eines Ausgabebildes auf Abtastzeilen-Basis oder optional auf Band-für-Band-Basis, wobei jedes Band eine Vielzahl von Abtastzeilen aufweist, ist dort vorteilhaft, wo eine Reduzierung der Speicherkapazität eines Speichers nötig oder wünschenswert ist. Gleichermaßen ist es häufig wünschenswert, nur einen Anteil eines Eingabebildes zu speichern, zum Beispiel nur eine minimale Anzahl von Abtastzeilen des Eingabebildes, die zum Durchführen einer Faltungsoperation benötigt wird, wie es nachfolgend beschrieben werden.
  • Kurze Beschreibung der Zeichnungen
  • Einige Aspekte des Standes der Technik und eine Zahl von Ausführungsbeispielen der Erfindung werden nun unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben, wobei die Zeichnungen zeigen:
  • 1 ein digitales Bild mit einer Vielzahl von Bildpunkten, die mittels Integerkoordinaten (p,q) und räumlichen Koordinaten (x,y) adressiert sind;
  • 2 eine schematische Darstellung einer Faltungsmaske; und
  • 3 eine Faltung eines Bildes gemäß dem Stand der Technik unter Verwendung eines Rahmenzwischenspeichers.
  • 4 eine schematische Darstellung von Abtastzeilenfaltungen gemäß einem Ausführungsbeispiel der Erfindung, wobei ein Band eines Eingabebildes zu einer Ausgabe einer einzelnen Abtastzeile gefaltet wird;
  • 5 eine Ausdrucksbaumdarstellung eines einfachen objektbasierten Grafikbildes;
  • 6 Beispiele von auf zwei Anteilen eines Bildes arbeitenden Zusammensetzungsoperationen;
  • 7 ein anderes Beispiel einer Ausdrucksbaumdarstellung für ein Bild;
  • 8 eine Befehlsfolgendarstellung der Ausdrucksbaumdarstellung gemäß 7;
  • 9A den Inhalt eines temporären Abtastzeilen-Zwischenspeichers in einer Vielzahl von Stufen der partiellen Auswertung der Befehlsfolge gemäß 8;
  • 9B eine Abtastzeile eines Ausgabebildes entsprechend den verschiedenen Stufen gemäß 9A;
  • 10 einen zeitintegrierten Inhalt eines temporären Abtastzeilen-Zwischenspeichers gemäß 9A;
  • 11 ein bereitgestelltes Bild gemäß dem Ausdrucksbaum gemäß 7 oder der Befehlsfolge gemäß 8;
  • 12 eine Ausdrucksbaumdarstellung eines Bildes mit einer Unschärfe-Faltungsoperation;
  • 13 eine entsprechende Befehlsfolgendarstellung der Ausdrucksbaumdarstellung gemäß 12;
  • 14 ein bereitgestelltes Ausgabebild gemäß der Ausdrucksbaumdarstellung gemäß 12 oder der Befehlsfolgendarstellung gemäß 13;
  • 15 einen zeitintegrierten Inhalt der partiellen Auswertung der Befehlsfolge gemäß 13 oder der Ausdrucksbaumdarstellung gemäß 12, wobei eine Unschärfe-(Faltungs-) Operation durchgeführt wurde;
  • 16 eine Ausdrucksbaumdarstellung des Bildes gemäß 14 unter Verwendung einer Abtastzeilen-Bereitstellung gemäß einem Ausführungsbeispiel der Erfindung;
  • 17 eine entsprechende Befehlsfolgendarstellung der Ausdrucksbaumdarstellung gemäß 16;
  • 18A den Inhalt eines in der Befehlsfolge gemäß 17 beschriebenen Eingabe-Bandzwischenspeichers gemäß dem Ausführungsbeispiel der Erfindung;
  • 18B einen temporären Abtastzeilen-Zwischenspeicher und seinen Inhalt gemäß einer Unschärfe-(Faltungs-) Operation gemäß dem Ausführungsbeispiel der Erfindung;
  • 18C bereitgestellte Abtastzeilen eines Ausgabebildes entsprechend dem temporären Abtastzeilen-Zwischenspeicher gemäß 18B; und
  • 19 eine schematische Darstellung eines Computersystems, mit dem die Ausführungsbeispiele durchgeführt werden können.
  • Ausführliche Beschreibung
  • 4 zeigt ein Beispiel eines aktuellen Bandes 40 eines Eingabebildes 41, das nach einer Verarbeitung gemäß einem Ausführungsbeispiel der Erfindung in einem Aufbau oder einer Bildung einer einzelnen aktuellen Abtastzeile 42 eines Ausgabebildes 43 resultiert. Dementsprechend stellen das aktuelle Band 40 des Eingabebildes 41 und die aktuelle Abtastzeile 42 des Ausgabebildes 43 jeweils bevorzugte Anteile des Eingabebildes 41 und des Ausgabebildes 43 dar, die eine Speicherung im Speicher benötigen. Ob das Eingabebild 41 mittels Software erzeugt ist (d. h. zum Beispiel aus Grafikobjekten bereitgestellt) oder von einer externen Quelle in den Speicher eingelesen ist (z. B. bildpunktbasierte Daten von einer Festplatte, einem Scanner, einer CD-ROM, etc.), benötigt nur ein Anteil des Eingabebildes 41 eine Speicherung im Speicher, um eine Faltung durchzuführen. Für eine Faltungsmaske (N × M) mit „N" Zeilen und „M" Spaltenelementen umfasst der bevorzugte im Speicher gespeicherte Anteil des Eingabebildes N Abtastzeilen. Jedoch genügt ein Anteil jeder der N Abtastzeilen, um eine Faltung gemäß dem Ausführungsbeispiel der Erfindung durchzuführen.
  • Während „N" und „M" abhängig von der Größe der Faltungsmaske 21 jeden positiven Integerwert annehmen können, ist es wünschenswert, „N" und „M" als ungeradzahlige positive Integers derart auszuwählen, dass sich das (zum Beispiel in 2 zu sehende) Zentralelement „k00" 22 am geometrischen Zentrum der Faltungsmaske befindet.
  • Als ein veranschaulichendes Beispiel einer Faltungsmaske mit „2n + 1" Zeilen und „2m + 1" Spalten, wobei „N" und „M" beliebige positive Integers darstellen, ist eine Speicherung einer Vielzahl von Abtastzeilen 40 (z. B. ein Band) des Eingabebildes 41 im Speicher zur Verarbeitung erforderlich, um eine einzelne Abtastzeile 42 des Ausgabebildes 43 zu bilden. Für das vorliegende Beispiel ist eine Speicherung der Abtastzeilen „q – n" bis „q + n" im Speicher erforderlich, um eine Abtastzeile „q" 42 des Ausgabebildes 43 auszugeben. Nach einer Verarbeitung des Bandes 40 unter Verwendung der Faltungsmaske, um die Abtastzeile „q" 42 des Ausgabebildes auszugeben, wird die Abtastzeile „q – n" des Bandes 40 aus dem Speicher verworfen und Abtastzeile „q + n + 1" wird in den Speicher eingelesen. Das Band 40 ist nun um eine Abtastzeile vorgerückt, um ein neues, die Abtastzeilen „q – n + 1" bis „q + n + 1" aufweisendes Band 44 zu bilden. Das neue Band 44 wird unter Verwendung der Faltungsmaske verarbeitet, um eine Abtastzeile 45 „q + 1" des Ausgabebildes 43 zu erzeugen. Wenn eine Ausgabe-Abtastzeile erzeugt ist (z. B. Ausgabe-Abtastzeile „q" 42), wird die Abtastzeile ausgegeben, zum Beispiel an eine Anzeigeeinrichtung oder ein Speichermedium gesendet, und der vorstehend beschriebene Vorgang wird für alle Ausgabe-Abtastzeilen fortgesetzt, bis ein gewünschtes Ausgabebild erhalten ist.
  • In einer objektbasierten Grafikumgebung wird ein Bild mittels einer Reihe von mittels Operatoren verbundener grafischer Grundelemente beschrieben. Derartige Grundelemente schließen typischerweise ein: geometrisch definierte Formen, ob einfache wie etwa Kästen und Kreise oder komplexe wie etwa parametrische Splinekurven; Text; oder digitale bildpunktbasierte Bilder.
  • In einem einfachen Beispiel von objektbasierten Grafiken wie gemäß 5 gezeigt, werden Grundelemente 51, 55 und 56 in einer vorbestimmten Reihenfolge mit einem Hintergrund 53 unter Verwendung von zum Beispiel „over"-Operatoren 52, 54 und 57 zusammengesetzt, wodurch eine hierarchische „Ausdrucksbaum"-Darstellung 50 für einen derartigen Vorgang angegeben ist. Andere Zusammensetzungsoperatoren als der „over"-Operator sind wahlweise für den Aufbau von komplexeren Ausdrucksbaumdarstellungen als der gemäß 5 gezeigten verfügbar. Zu diesen Operatoren gehören in Tabelle 1 nachstehend dargestellte Zusammensetzungsoperatoren, wobei Dc das vormultiplizierte Ziel oder die resultierende Farbe ist, Do das Ziel oder der resultierende α-Kanalwert, Ac die vormultiplizierte Bildpunktfarbe eines ersten Anteiles einer ersten Quelle A, Ao der Wert entsprechend dem Bildpunkt, dessen Farbe Ac ist, Bc der vormultiplizierte Bildpunktfarbwert eines Anteils eines Bildes einer zweiten Quelle B, und Bo der α-Kanalwert des Bildpunktes entsprechend Bc der Quelle B. Im Speziellen zeigt Tabelle 1 verschiedene Zusammensetzungsverfahren zum Kombinieren zweier unterschiedlicher Bilder unter Verwendung unterschiedlicher Operatoren. Zusätzliche Operatoren sind auch möglich. Die unterschiedlichen Operatoren können hauptsächlich zur Umsetzung spezieller Effekte verwendet werden.
  • 6 zeigt unterschiedliche Beispiele des endgültigen Bildes, das erzeugt wird, wenn verschiedene Operationen, wie in Tabelle 1 dargestellt, bei der Zusammensetzung von zwei komplett undurchsichtigen Kreisen A und B eingesetzt werden. Es soll erwähnt werden, dass die Operatoren „rover", „rin", „rout" und „ratop" jeweils äquivalent zum Umtauschen der Operanden gegenüber dem „r" (umgekehrten) Operator und anwenden des entsprechenden Operators „over", „in", „out" und „atop" sind.
  • Ein komplexerer Ausdrucksbaum als der gemäß 5 kann eine Vielfalt von Knotentypen beinhalten, einschließlich binäre Zusammensetzungsoperatoren, unäre Operatoren und Grundelemente. Unäre Operatoren umfassen typischerweise Fachtransformationen, Bildfaltungen, affine Transformationen und Bildverwerfungen.
  • Tabelle 1: Zusammensetzungsoperatoren
    Figure 00130001
  • Mit Bezug auf 7 bis 11 ist eine Ausdrucksbaumdarstellung 70 (7) mit Komponenten 71 bis 77 eines gemäß 11 gezeigten Bildes 90 dargestellt. Eine alternative Darstellung von 7 ist eine Folge von Zeichnungsbefehlen 80 bis 84 wie in 8 dargestellt. Das vorliegende Beispiel der alternativen Darstellung gemäß 8 bezieht sich bei Schritten 80 und 81 auf einen „Puffer 1" genannten Zwischen-Abtastzeilen-Zwischenspeicher, und der Inhalt von „Puffer 1" bei verschiedenen Stufen der Bereitstellung des Bildes 90 ist gemäß 9A gezeigt. Schritte 82, 83 und 84 finden jeweils innerhalb des „Hauptpuffers" statt, wobei dieser der zum Erzeugen einer Ausgabe-Abtastzeile benötigte Puffer ist.
  • Mit Bezug auf 9A und 9B ist ein Beispiel einer Abtastzeilen-Bereitstellung des Bildes 90 unter Verwendung eines Zwischen-Abtastzeilen-Zwischenspeichers 110 gezeigt. Der Zwischen-(Abtastzeilen-) Zwischenspeicher 110 weist typischerweise eine Größe auf, die zum Speichern des Äquivalents einer einzelnen Abtastzeile eines bereitgestellten Bildes in der Lage ist, aber optional als ein Band-Zwischenspeicher einer Vielzahl von aufeinander folgenden Abtastzeilen implementiert werden kann. Typischerweise weist ein Bild mindestens viele Hundert Abtastzeilen auf und ein einzelnes Band wird im Allgemeinen aus einer Vielzahl von Abtastzeilen gebildet, die im Wesentlichen weniger sind als die das gesamte Bild besetzenden. Entsprechend sind die Anforderungen eines Zwischen-Abtastzeilen-Zwischenspeichers im Wesentlichen geringer als die eines Rahmenzwischenspeichers. Wo es angemessen oder gewünscht ist kann die Kapazität und/oder die Lage des Zwischen-Abtastzeilen-Zwischenspeichers dynamisch rekonfigurierbar sein, um Bildmanipulationen zu optimieren. Zum Abtastzeilen-Bereitstellen des Bildes 90 durch die Verwendung von zum Beispiel der Befehlsfolge gemäß 8, wird der Zwischen-Abtastzeilen-Zwischenspeicher 110 bei der Ausführung der Befehle verwendet, um eine einzelne Abtastzeile des Ausgabebildes zusammenzusetzen.
  • Die Befehlsfolge gemäß 8 wird wiederholt ausgeführt und bei jeder vollständigen Ausführung der Folge wird eine Abtastzeile des Ausgabebildes 90 erzeugt. Der Inhalt des Zwischen-Zwischenspeichers 110 ist gemäß 9A bei drei Stufen 111, 112 und 113 während der wiederholten Ausführungen der Befehle gemäß 8 gezeigt.
  • Ein zeitintegrierter Inhalt des Zwischen-Abtastzeilen-Zwischenspeichers 110 („Puffer 1") ist gemäß 10 gezeigt und stellt ein Bild 104 dar, das erhalten worden wäre, wenn die ersten beiden Zeichnungsbefehle 80, 81 auf einem Rahmenzwischenspeicher auszuführen gewesen wären. Der Inhalt von „Puffer 1" 110 wird im Allgemeinen nicht auf einer Anzeigeeinrichtung angezeigt und wird vorzugsweise mit jeder Wiederholungsausführung der Befehlsfolge gemäß 8 überschrieben. Wie gesehen entspricht Stufe 111 einem leeren Anteil 101 des Bildes 104, Stufe 112 einem Anteil 102 an der Spitze des Textzeichens „A" und Stufe 113 entspricht einem Anteil 103 innerhalb der Beine des Textzeichens „A".
  • 9B zeigt drei bereitgestellte Abtastzeilen 114, 115 und 116 des Ausgabebildes 90, die jeweils jeder den drei Stufen 111, 112 und 113 gemäß 9A entsprechen. Bei diesen Darstellungen ist das vorherig bereitgestellte Textzeichen „A" dazu bereitgestellt, einen schwarzen Kreis wie in 11 gesehen zu überlagern, wobei die Anteile 91, 92 und 93 des Ausgabebildes 90 jeweils den Stufen 114, 115 und 116 entsprechen.
  • 12 bis 18 bilden ein Beispiel einer Abtastzeilen-Bereitstellung eines mittels eines Ausdrucksbaumes 120 mit Komponenten 121 bis 129 (12) oder mittels einer Befehlsfolge 130 mit Komponenten 131 bis 136 (13) dargestellten Bildes, mit zumindest einem Faltungsoperator 121. Bei dem vorliegenden Beispiel ist der Faltungsoperator ein „blur"- bzw. „Unschärfe"-Operator 121, der eine Unschärfe (oder Diffusion) eines Bildes oder eines Anteils eines Bildes erzeugt, auf das/den die Unschärfe angewandt wird.
  • Der Ausdrucksbaum 120 gemäß 12 ist im Wesentlichen ähnlich zu dem Ausdrucksbaum 70 gemäß 7, außer dass nun eine „blur"- bzw. „Unschärfe"-Faltungsoperation 121 als ein Knoten des Baumes 120 eingefügt wurde. Ein mittels der Darstellung des Ausdrucksbaumes 120 gemäß 12 dargestelltes Bild 140 ist gemäß 14 gezeigt bei dem vorliegenden Beispiel ist ein Operand des „blur"-bzw. „Unschärfe"-Operators ein Unterbaum 122 mit einem „in"-Operator 123 mit einem ersten 124 und einem zweiten 125 Grundelement als Operanden.
  • Der Unterbaum 122 wird mit einer beliebigen Funktion gefaltet, die einen mittels des Unterbaumes 122 dargestellten Anteil des Bildes 141 in einer gemäß 14 zu sehenden Art und Weise verwischt bzw. getrübt, bei der die Kanten des Textzeichens „A" verwischt oder in den schwarzen Kreis, über dem das Zeichen liegt, vermischt werden. In einer objektbasierten Grafikumgebung kann ein Faltungsoperator als Teil eines Ausdrucksbaumes oder als ein Befehl 131 einer Folge von Befehlen 130 (siehe 13) eingefügt und entsprechend ausgeführt werden.
  • Um einen Faltungsoperator in einer objektbasierten Umgebung anzuwenden, werden zusätzlich zu dem Hauptzwischenspeicher bzw. Hauptpuffer zwei Zwischen-Zwischenspeicher verwendet. Ein Bandzwischenspeicher („Puffer 2") mit einem darin gespeicherten Anteil eines Bildes, auf das eine Faltung anzuwenden ist, und ein erster Zwischen-Abtastzeilen-Zwischenspeicher („Puffer 3"), um eine aus der Anwendung einer Faltung auf den Inhalt von „Puffer 2" resultierende Ausgabe zu speichern. 15 zeigt einen zeitintegrierten Inhalt 150 des ersten Zwischen-Zwischenspeichers („Puffer 3") nach der „blur"- bzw. „Unschärfe-Operation" 121 oder entsprechend nach der Ausführung eines „blur"- bzw. Unschärfe-Faltungsbefehles 131 aus der Befehlsfolge.
  • Mit Bezug auf 16 ist eine Ausdrucksbaumdarstellung 160 mit Komponenten 162 bis 169 dargestellt, die an eine Abtastzeilen-Bereitstellung angepasst ist. Eine Bereitstellungsnummer 161 ist in Verbindung mit jedem Operator bei jedem internen Knoten 162 und für jedes Grundelement bei jedem Blattknoten 163 gezeigt, die darstellt, wie viele Abtastzeilen dieser Knoten vor einer aktuellen Abtastzeile des Ausgabezwischenspeichers bereitgestellt haben muss. Zum Beispiel werden, nachdem zumindest n Abtastzeilen vor einer aktuellen Abtastzeile bereitgestellt wurden, weitere n Abtastzeilen vor der aktuellen Abtastzeile eines mit „grauer Kasten" beschrifteten Grundelementes und n Abtastzeilen vor der aktuellen Abtastzeile eines mit „Text A" beschrifteten Grundelementes in einem Zwischen-Zwischenspeicher unter Verwendung eines „in"-Operators 164 bereitgestellt bevor eine Operation einer Faltungsunschärfe 162 auf den vorherigen Abtastzeilen, der aktuellen Abtastzeile und n Abtastzeilen vor der aktuellen durchgeführt werden kann. Typischerweise wird jede Abtastzeile des Unterbaumes auf einer Abtastzeile-für-Abtastzeile-Basis bereit gestellt, um so n Abtastzeilen vor einer aktuellen Zeile bereitzustellen, wobei jede Abtastzeile von „grauer Kasten" und von „Text A" mittels dem „in"-Operator 164 bearbeitet wird bis n Abtastzeilen bereitgestellt wurden. Insgesamt ist das Bereitstellen von „2n + 1" Abtastzeilen des Unterbaumes 165 in den Zwischen-Zwischenspeicher erforderlich bevor der Faltungsoperator 162 angewandt werden kann, wobei die gesamten „2n + 1" Abtastzeilen eine minimale Anzahl von Abtastzeilen sind, die eine Bereitstellung vor einer Anwendung einer Faltungsmaske mit „2n + 1" Zeilen benötigen. Außerdem müssen in einem Abtastzeilen-Bereitstellungssystem n diese Abtastzeilen vor der aktuellen Abtastzeile des Ausgabezwischenspeichers bereitgestellt werden.
  • 17 ist eine der Ausdrucksbaumdarstellungen gemäß 16 entsprechende Darstellung einer Befehlsfolge 170. Jeder Befehl 172 bis 177 in der Folge 170 wird von einer Zahl 171 gefolgt, die das Befehlsfolgendarstellungs-Äquivalent der Bereitstellungsnummer 161 gemäß 16 ist.
  • Die die Anzahl von Abtastzeilen vor einer aktuellen Abtastzeile bestimmende Bereitstellungsnummer unterliegt kumulativen Effekten mehrfacher Faltungsanwendungen. Zum Beispiel, wenn ein Operant einer ersten Faltung mit einer Maske mit 2n + 1 Zeilen ein Unterbaum ist, der einen zweiten Faltungsoperator mit einer Maske mit 2m + 1 Zeilen enthält, muss der Operand der zweiten Faltung n + m Abtastzeilen vor einer aktuellen Abtastzeile bereitstellen.
  • Mit Bezug auf die 18A bis 18C ist nun ein erster Zwischen-Zwischenspeicher 180 (z. B. Puffer 2) gezeigt, der zum Speichern von 2n + 1 Abtastzeilen in der Lage ist, und ein zweiter Zwischen-Zwischenspeicher 190 (z. B. Puffer 3), der zum Speichern einer einzigen Abtastzeile in der Lage ist, und ein Ausgabe-(Haupt-) Zwischenspeicher bzw.-Puffer 200, der ebenfalls zum Speichern einer einzigen Abtastzeile in der Lage ist. 18A bis 18C zeigen verschiedene Stufen einer Bereitstellung gemäß der Ausdrucksbaumdarstellung 160 gemäß 16 oder der Darstellung mittels Befehlsfolge 170 gemäß 17.
  • Ein Anteil 181 eines Bildes wird von dem Unterbaum 165 der Ausdrucksbaumdarstellung 160 bereitgestellt und eine Faltungsunschärfe 162 wird auf den Anteil 181 des Bildes angewandt, um eine aktuelle Abtastzeile 191 der Faltung zu erzeugen, und wird in dem zweiten Zwischenspeicher 190 plaziert. Der Inhalt des zweiten Zwischenspeichers 190 wird zusammen mit weiteren Knoten des Ausdrucksbaumes 160 verarbeitet, um eine aktuelle 201 Abtastzeile des Bildes 140 auszugeben.
  • Jeder Befehl in einer Folge oder jeder Operator an Knoten eines Ausdrucksbaumes beeinflusst nicht zwingend jede Abtastzeile des endgültigen Bildes. In diesem Fall ist eine „active list" bzw. „Aktivliste" von Befehlen wünschenswert, die vorzugsweise nur eine aktuelle Abtastzeile beeinflussen. Wenn jede Abtastzeile erzeugt wird, werden die Abtastzeile beeinflussende Befehle in die Aktivliste eingefügt, während jene, die das nicht tun entfernt werden. Auf diese Art und Weise wird die zum Erzeugen eines Ausgabebildes benötigte Zeit oft erheblich reduziert.
  • Vorzugsweise wird das Verfahren auf horizontalen Abtastlinien eines Bildes umgesetzt und das Bild entsprechend bereitgestellt. Jedoch kann der Vorgang auf vertikalen Abtastzeilen eines Bildes umgesetzt und entsprechend bereitgestellt werden, ohne den Schutzbereich der Erfindung zu verlassen.
  • Das Ausführungsbeispiel der Erfindung kann vorzugsweise unter Verwendung eines herkömmlichen allgemein nützlichen Computers wie dem gemäß 19 gezeigten praktiziert werden, wobei der mit Bezug auf 4 bis 18 beschriebene Vorgang als auf dem Computer ausgeführte Software umgesetzt wird. Der Computer 500 weist das Computermodul 501, Eingabeeinrichtungen wie etwa eine Tastatur 502 und eine Maus 503, sowie eine Anzeigeeinrichtung 504 auf.
  • Das Computermodul 501 weist zumindest eine Prozessoreinheit 505, eine Speichereinheit 506, die typischerweise einen Halbleiter-Direktzugriffsspeicher (RAM) und einen Nur-Lese-Speicher (ROM) enthält, eine Eingabe/Ausgabe-(I/O) Schnittstelle mit einer Video-Schnittstelle 507 und einer Tastatur-Schnittstelle 508 auf. Eine Speichereinrichtung 509 ist bereitgestellt und kann eine oder mehrere der folgenden Einrichtungen aufweisen: eine Diskette, ein Festplattenlaufwerk, ein CD-ROM-Laufwerk oder gleichermaßen eine dem Fachmann bekannte nicht-flüchtige Speichereinrichtung. Die Komponenten 505 bis 509 des Computermoduls 501 kommunizieren typischerweise über einen verbundenen Bus 510 und auf eine Art und Weise, die in einer üblichen Betriebsart des Computers 500 resultiert, die dem jeweiligen Fachmann bekannt ist. Zu Beispielen von Computern, auf denen das Ausführungsbeispiel praktiziert werden kann, gehören IBM-PC/ATs und Kompatible, Sun Sparcstations oder ähnliche Computersysteme. 19 zeigt auch Zeilen-/Band-Zwischenspeicher 511, die innerhalb des Speichers 506 bereitgestellt sind, um die vorstehend offenbarte Abtastzeilenbereitstellung und Faltungen zu ermöglichen. Die Zwischenspeicher 511 weisen eine begrenzte Kapazität auf und belegen daher keinen freien Speicher, der andernfalls von einem Rahmenzwischenspeicher benutzt werden würde, um ähnliche Funktionen durchzuführen. Die Zwischenspeicher 511 sind eingerichtet, um Bildpunktdaten von Abtastzeilen beizubehalten und haben bei dem bevorzugten Ausführungsbeispiel eine Kapazität, um Bänder beizubehalten, die jeweils eine Vielzahl von Abtastzeilen aufweisen. Es soll erwähnt werden, dass sich die Zwischenspeicher 511 an festen Positionen innerhalb des Speichers 506 befinden können oder wahlweise dynamisch in Lage und/oder Größe rekonfigurierbar und mittels einem virtuellen Speicheradressierungsverfahren oder mittels einem Speicheraustausch zugreifbar sind. Zum Beispiel findet mit einem bildpunktbasierten Bild oder in dem grafischen Beispiel gemäß 16 nur ein einziger Faltungsprozess („blur" bzw. Unschärfe 162) statt, der in einem einzigen Zwischenspeicher durchgeführt werden kann. Jedoch können für grafische Bereitstellungen, die mehr als eine Faltung beinhalten (zum Beispiel, wenn eine Unschärfeoperation in den Ausdrucksbaum 160 zwischen den over-Operatoren 166 und 169 eingefügt wird), eine Anzahl von Zwischen-Zwischenspeichern verwendet werden, um eine im Wesentlichen gleichzeitige Bereitstellung der grafischen Objekte, ihrer einzelnen Faltungen und das darauf folgende Kombinieren unter Verwendung des over-Operators 169 zu ergänzen.
  • Ausführungsbeispiele der Erfindung können in einem einzelnen Computer 500 ausgeführt werden, oder wahlweise in einem System, das eine Vielzahl von Computern beinhaltet, wie etwa ein Computernetzwerk (z. B. lokales Netzwerk bzw. „local area network", Internet). Im Speziellen können die Ausführungsbeispiele erlangt werden, indem ein oder mehrere Programme an den/die Computer direkt über ein Speichermedium wie etwa eine Diskette oder eine optische Platte, oder indirekt über das Computernetzwerk bereitgestellt werden. In jedem Fall kann das Programm zum Gebrauch in der Speichereinrichtung 509 zum anschließenden Lesen durch den Prozessor 505 und Umsetzung in Übereinstimmung mit dem Speicher 506 und den Zwischenspeichern 511 gespeichert werden. Weiter kann die begrenzte Faltungsmaske mit den Programmen bereitgestellt werden, getrennt von den Programmen und/oder in der Speichereinrichtung 509 bereit für eine anschließende Verwendung gespeichert werden, woraufhin auf die Maske zugegriffen werden kann und temporär in dem Speicher 506 zum Falten mit den Bilddaten beibehalten werden kann. Wahlweise kann die begrenzte Faltungsmaske dynamisch mit einer Ausführung des Programms/der Anwendung erzeugt werden. Gemäß einer Betriebsart des Computersystems 500 werden derartige Programme typischerweise von der Prozessoreinheit 505 ausgeführt, die betreibbar ist, bildpunktbasierte Bilddaten zu und von den Zwischenspeichern 511 zu übertragen, genauso wie bildpunktbasierte Bilddaten von grafischen Objekten bereitzustellen. Im letzteren Fall kann die Bereitstellung direkt in die Zwischenspeicher 511 erfolgen.
  • Das Vorhergehende beschreibt nur ein Ausführungsbeispiel der Erfindung, jedoch können Modifikationen und/oder Veränderungen von einem Fachmann darauf durchgeführt werden ohne den Schutzbereich der Erfindung zu verlassen. Zum Beispiel kann eine alternative hierarchische Datendarstellung wie etwa ein direkter azyklischer Graph (DAG) verwendet werden.

Claims (28)

  1. Verfahren zum Anwenden eines Faltungsoperators mit einer begrenzten Maske auf ein Bild, wobei die begrenzte Maske eine Vielzahl von in einer vorbestimmten Anzahl von Zeilen und einer vorbestimmten Anzahl von Spalten angeordneten Koeffizienten aufweist, gekennzeichnet durch die Schritte: Bereitstellen von zumindest einer vorbestimmten Anzahl von Abtastzeilen von zumindest einem Objekt, das aus einer Vielzahl von einzeln manipulierbaren, das Bild definierenden grafischen Objekten ausgewählt ist, und Speichern der bereitgestellten Abtastzeilen in einer Zwischenspeichereinrichtung (511), die zum Speichern eines Anteils des Bildes angepasst ist, wobei die vorbestimmte Anzahl von Abtastzeilen gleich der Anzahl von Zeilen oder der Anzahl von Spalten der Maske ist; und Anwenden der Maske auf die bereitgestellte Vielzahl von Abtastzeilen, um eine Abtastzeile eines Ausgabebildes zu erzeugen.
  2. Verfahren gemäß Anspruch 1, gekennzeichnet durch Wiederholen der Bereitstellen- und Anwenden-Schritte zum Erzeugen einer Vielzahl von Abtastzeilen des Ausgabebildes, bei dem beim Bereitstellen-Schritt für jede Abtastzeile des Ausgabebildes eine Abtastzeile verworfen und eine nächste Abtastzeile bereitgestellt wird.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem das Bild in einer objektbasierten Grafikumgebung dargestellt wird.
  4. Verfahren gemäß Anspruch 3, bei dem das Bild mittels einer Ausdrucksbaumdarstellung (50; 70; 120; 170) mit einer Vielzahl von Knoten dargestellt wird.
  5. Verfahren gemäß Anspruch 4, bei dem die Knoten dadurch gekennzeichnet sind, dass sie entweder ein Operator oder ein Grundelement sind.
  6. Verfahren gemäß Anspruch 3, bei dem das Bild mittels einer Befehlsfolge dargestellt wird.
  7. Verfahren gemäß Anspruch 3, bei dem das Bild mittels einer hierarchischen Datendarstellung dargestellt wird.
  8. Verfahren gemäß Anspruch 4, bei dem ein oder mehrere Knoten des Ausdrucksbaums eine mit ihnen in Verbindung stehende Anzahl von Abtastzeilen aufweisen, die vor einer aktuellen Abtastzeile für den Knoten bereitzustellen sind.
  9. Verfahren gemäß Anspruch 6, bei dem jeder Befehl der Befehlsfolge eine mit ihm in Verbindung stehende Anzahl von Abtastzeilen aufweist, die vor einer aktuellen Abtastzeile für den Befehl bereitzustellen sind.
  10. Verfahren gemäß Anspruch 8 oder 9, bei dem die Anzahl von Vorab-Abtastzeilen mit der Anzahl von Zeilen oder der Anzahl von Spalten des Operators in Bezug steht.
  11. Verfahren gemäß Anspruch 10, bei dem eine Vielzahl von Faltungsoperatoren existieren, und bei dem die Anzahl von Vorab-Abtastzeilen zu der kumulativen Wirkung aller den Knoten oder den Befehl betreffenden Faltungsoperatoren in Bezug steht.
  12. Verfahren gemäß einem der vorangehenden Ansprüche, bei dem die vorbestimmte Anzahl von Abtastzeilen zumindest eine vor einer aktuellen Abtastzeile bereitgestellte Abtastzeile enthält.
  13. Vorrichtung zum Anwenden eines Faltungsoperators mit einer begrenzten Maske mit einer Vielzahl von Koeffizienten, wobei die Koeffizienten in einer vorbestimmten Anzahl von Zeilen und einer vorbestimmten Anzahl von Spalten angeordnet sind, dadurch gekennzeichnet, dass sie aufweist: eine Zwischenspeichereinrichtung (511), die zum Speichern eines Anteils zumindest eines Objekts angepasst ist, das aus einer Vielzahl von einzeln manipulierbaren, das Bild definierenden grafischen Objekten ausgewählt ist; eine zweite Einrichtung (505), die zum Bereitstellen von zumindest einer vorbestimmten Anzahl von Abtastzeilen des zumindest einen Objekts in dem Bild für die Zwischenspeichereinrichtung (511) eingerichtet ist, sowie zum Speichern der bereitgestellten Abtastzeilen in der Zwischenspeichereinrichtung (511), wobei die vorbestimmte Anzahl von Abtastzeilen gleich der Anzahl von Zeilen oder der Anzahl von Spalten der begrenzten Maske ist; und eine dritte Einrichtung (505) zum Anwenden der begrenzten Maske auf die Vielzahl von Abtastzeilen, um eine Abtastzeile eines Ausgabebildes zu erzeugen.
  14. Vorrichtung gemäß Anspruch 13, bei der die zweite Einrichtung (505) für jede erzeugte Abtastzeile des Ausgabebildes eingerichtet ist, um eine vorher gefaltete Abtastzeile aus der Zwischenspeichereinrichtung (511) zu verwerfen, und sie eine weitere Abtastzeile des Bildes an die Zwischenspeichereinrichtung (511) bereitstellen.
  15. Vorrichtung gemäß Anspruch 14, bei der die Zwischenspeichereinrichtung (511) auf eine Größe eingestellt ist, um zumindest zwei Abtastzeilen des zumindest einen Objekts in dem Bild zu speichern, und die zweite Einrichtung (505) ist eingerichtet, um die Abtastzeilen des Bildes in einer zeilenweisen Anordnung an die Zwischenspeichereinrichtung (511) bereitzustellen.
  16. Vorrichtung gemäß Anspruch 15, bei der die Zwischenspeichereinrichtung (511) auf eine Größe eingestellt ist, um zumindest eine Schar von Abtastzeilen des zumindest einen Objekts in dem Bild zu speichern, und die zweiten Einrichtung eingerichtet ist, um die Abtastzeilen des zumindest einen Objekts in dem Bild in scharweiser Anordnung an die Zwischenspeichereinrichtung (511) bereitzustellen, wobei eine Abtastzeile der Schar des zumindest einen Objekts nach dem Falten mit der Matrix zum Erzeugen einer Abtastzeile des Ausgabebildes aus der Zwischenspeichereinrichtung (511) verworfen wird.
  17. Vorrichtung gemäß einem der Ansprüche 13 bis 16, bei der das Eingabebild mittels einer Ausdrucksbaumdarstellung (50; 70; 120) mit einer Vielzahl von Knoten dargestellt ist.
  18. Vorrichtung gemäß Anspruch 17, bei der die Knoten aus der aus einem Operator und einem Grundelement bestehenden Gruppe ausgewählt werden.
  19. Vorrichtung gemäß einem der Ansprüche 13 bis 16, bei der das Bild mittels einer Befehlsfolge dargestellt ist.
  20. Vorrichtung gemäß einem der Ansprüche 13 bis 16, bei der das Bild mittels einer hierarchischen Datendarstellung dargestellt ist.
  21. Vorrichtung gemäß Anspruch 18, bei der ein oder mehrere Knoten des Ausdrucksbaums (50; 70; 120; 170) eine mit ihnen in Verbindung stehende Anzahl von Abtastzeilen aufweisen, die vor einer aktuellen Abtastzeile für den Knoten bereitzustellen sind.
  22. Vorrichtung gemäß Anspruch 19, bei der jeder Befehl der Befehlsfolge eine mit ihm in Verbindung stehende Anzahl von Abtastzeilen aufweist, die vor einer aktuellen Abtastzeile für den Befehl bereitzustellen sind.
  23. Vorrichtung gemäß Anspruch 13, bei der jede der Zwischenspeichereinrichtung (511) und der zweiten und der dritten Einrichtung Komponenten eines Computersystems (500) aufweisen.
  24. Vorrichtung gemäß Anspruch 23, bei der die zweiten und dritten Einrichtung einen Prozessor des Computersystems (500) enthalten.
  25. Vorrichtung gemäß einem der Ansprüche 13 bis 24, bei der die vorbestimmte Anzahl von Abtastzeilen zumindest eine Abtastzeile enthält, die vor einer aktuellen Abtastzeile bereitgestellt wurde.
  26. Computerprogrammprodukt mit auf einem von einem Computer lesbaren Medium gespeicherten Computercode zum Steuern des Betriebs eines Computers, um ein Verfahren zum Bereitstellen eines Bildes in einer objektbasierten Grafikumgebung durchzuführen, bei dem zumindest ein solcher Bereitstellungs-Betrieb mittels einer Faltungsmaske mit einer Vielzahl von in einer vorbestimmten Anzahl von Zeilen und einer vorbestimmten Anzahl von Spalten angeordneten Koeffizienten definiert ist, wobei das Verfahren die Schritte aufweist: Bereitstellen von zumindest einer vorbestimmten Anzahl von Abtastzeilen von zumindest einem Objekt, das aus einer Vielzahl von einzeln manipulierbaren, das Bild definierenden grafischen Objekten ausgewählt ist, und Speichern der bereitgestellten Abtastzeilen in einer Zwischenspeichereinrichtung, die zum Speichern eines Anteils des Bildes angepasst ist, wobei die vorbestimmte Anzahl von Abtastzeilen gleich der Anzahl von Zeilen oder der Anzahl von Spalten der Maske ist; und Anwenden der Maske auf die bereitgestellte Vielzahl von Abtastzeilen, um eine Abtastzeile eines Ausgabebildes zu erzeugen.
  27. Computerprogrammprodukt gemäß Anspruch 26, bei dem die vorbestimmte Anzahl von Abtastzeilen zumindest eine Abtastzeile enthält, die vor einer aktuellen Abtastzeile bereitgestellt wurde.
  28. Computerprogrammprodukt mit von einem Prozessor ausführbaren Schritten zum Durchführen aller Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 12.
DE69817633T 1997-01-24 1998-01-22 Faltung von Zeilenrasterdarstellungen Expired - Lifetime DE69817633T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPO4788A AUPO478897A0 (en) 1997-01-24 1997-01-24 Scan line rendering of convolutions
AUPO478897 1997-01-24

Publications (2)

Publication Number Publication Date
DE69817633D1 DE69817633D1 (de) 2003-10-09
DE69817633T2 true DE69817633T2 (de) 2004-06-24

Family

ID=3799092

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69817633T Expired - Lifetime DE69817633T2 (de) 1997-01-24 1998-01-22 Faltung von Zeilenrasterdarstellungen

Country Status (5)

Country Link
US (1) US6580836B2 (de)
EP (1) EP0855682B1 (de)
JP (1) JP4109740B2 (de)
AU (1) AUPO478897A0 (de)
DE (1) DE69817633T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330374B1 (en) * 1998-11-13 2001-12-11 Ricoh Company, Ltd. Image manipulation for a digital copier which operates on a block basis
US6701028B1 (en) * 2000-01-11 2004-03-02 Applied Materials, Inc. Method and apparatus for fast signal convolution using spline kernel
EP1527397A2 (de) * 2001-05-29 2005-05-04 Applied Materials, Inc. Verfahren und vorrichtung zur schnellen signalfaltung mit separiertem spline-kern
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions
US7901378B2 (en) * 2006-05-11 2011-03-08 Y-Med, Inc. Systems and methods for treating a vessel using focused force
US8316408B2 (en) * 2006-11-22 2012-11-20 Verizon Patent And Licensing Inc. Audio processing for media content access systems and methods
US20090091564A1 (en) * 2007-10-03 2009-04-09 Raju Thevan System and method for rendering electronic documents having overlapping primitives

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4347580A (en) * 1980-07-21 1982-08-31 The United States Of America As Represented By The Secretary Of The Navy Array convolver/correlator
US4328425A (en) * 1980-08-04 1982-05-04 Xerox Corporation Filter for image pixels
US4623923A (en) * 1983-03-14 1986-11-18 Honeywell Inc. Real-time video image enhancement system
US4720871A (en) * 1986-06-13 1988-01-19 Hughes Aircraft Company Digital image convolution processor method and apparatus
FR2638871B1 (fr) * 1988-11-09 1994-06-03 Jutand Francis Procede et circuit de filtrage de signal de representation d'image
US5005011A (en) 1988-12-23 1991-04-02 Apple Computer, Inc. Vertical filtering apparatus for raster scanned display
JP2956213B2 (ja) * 1990-11-30 1999-10-04 ソニー株式会社 画像処理装置
DE69132796T2 (de) 1990-11-30 2002-04-25 Sun Microsystems Inc Verfahren und gerät zur darstellung von grafischen bildern
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
US5485568A (en) * 1993-10-08 1996-01-16 Xerox Corporation Structured image (Sl) format for describing complex color raster images
US5838299A (en) 1995-05-03 1998-11-17 Apple Computer, Inc. RGB/YUV video convolution system
US5838229A (en) * 1995-07-18 1998-11-17 Schrader-Bridgeport International, Inc. Remote tire pressure monitoring system employing coded tire identification and radio frequency transmission and enabling recalibration upon tire rotation or replacement
US5748178A (en) * 1995-07-18 1998-05-05 Sybase, Inc. Digital video system and methods for efficient rendering of superimposed vector graphics
CA2173651A1 (en) * 1996-04-09 1997-10-10 Stephen B. Sutherland Method of rendering an image
US5949920A (en) * 1996-08-13 1999-09-07 Hewlett-Packard Co. Reconfigurable convolver circuit

Also Published As

Publication number Publication date
AUPO478897A0 (en) 1997-02-20
DE69817633D1 (de) 2003-10-09
US20020085012A1 (en) 2002-07-04
EP0855682A3 (de) 1998-12-16
EP0855682B1 (de) 2003-09-03
EP0855682A2 (de) 1998-07-29
US6580836B2 (en) 2003-06-17
JPH10247241A (ja) 1998-09-14
JP4109740B2 (ja) 2008-07-02

Similar Documents

Publication Publication Date Title
DE69625561T2 (de) Antialiasing für Silhouetteränder
DE69833531T2 (de) Vollszenen-Antialiasing mit verbesserten Überabtastungstechniken
DE69835408T2 (de) Verfahren und Vorrichtung zur Komposition von Bildfarben unter Speicherbeschränkungen
DE69831385T2 (de) Verfahren und Anordnung zum Mischen von graphischen Objekten mit Planarkarten
DE60008520T2 (de) Darstellung von durchsichtigen schichten
DE69839277T2 (de) Verfahren und anordnung zur ausführung von farbschlüsseln, transparenz und nebelfunktionen
DE69725809T2 (de) Anpassungsschichten für die Manipulation von zusammengesetzten Bildern
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE69534558T2 (de) Effizientes Verfahren, Gerät und Rechnerprogramm zur Auswertung graphischer Programmiersprache
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE3712639A1 (de) Verfahren und einrichtung zum abbilden von volumendaten
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE112005000804T5 (de) Multi-Label-Bildsegmentierung mit GPU
DE3339178A1 (de) Graphisches anzeigesystem
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE60008867T2 (de) Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE102007050615B4 (de) Brick-basierter Fusionsrenderer
EP0625762B1 (de) Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens
DE3490148C2 (de) Vorrichtung zur Erzeugung unterschiedlicher Figuren in einem computergesteuerten Darstellungssystem
DE102019005885A1 (de) Umgebungskartengenerierung und Lochfüllung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition