DE60306388T2 - Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung - Google Patents

Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung Download PDF

Info

Publication number
DE60306388T2
DE60306388T2 DE60306388T DE60306388T DE60306388T2 DE 60306388 T2 DE60306388 T2 DE 60306388T2 DE 60306388 T DE60306388 T DE 60306388T DE 60306388 T DE60306388 T DE 60306388T DE 60306388 T2 DE60306388 T2 DE 60306388T2
Authority
DE
Germany
Prior art keywords
memory
strips
stripes
adjacent
strip
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
DE60306388T
Other languages
English (en)
Other versions
DE60306388D1 (de
Inventor
Ke Waltham NING
Marc Mansfield HOFFMAN
Gabby Jamaica Plain YI
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.)
Analog Devices Inc
Original Assignee
Analog Devices 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 Analog Devices Inc filed Critical Analog Devices Inc
Publication of DE60306388D1 publication Critical patent/DE60306388D1/de
Application granted granted Critical
Publication of DE60306388T2 publication Critical patent/DE60306388T2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Memory System (AREA)
  • Image Input (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich im allgemeinen auf Speichermanagement, und im genaueren bezieht sich die Erfindung auf die Verbesserung der Speichereffizienz in einem Grafikbearbeitungssystem.
  • HINTERGRUND DER ERFINDUNG
  • Zu den vielen Vorteilen von modernen Computersystemen gehört deren Fähigkeit, lebhafte grafische Anzeigen zu produzieren. Folglich wurden Computersysteme oft verwendete Werkzeuge in verschiedenen graphischen Techniken, so wie in der Fotographie und im Grafikdesign. Verstärkte Computerverwendung für diese Zwecke hat jedoch den Effekt von erhöhter Konstruktionskomplexität und folglich der Komplexität der Software, die die grafischen Bilder produziert.
  • Die Technik hat auf dieses Bedürfnis reagiert durch mehr Bearbeitungsleistung der Computersysteme. Beispielsweise haben viele Computersysteme Grafikprozessoren gewidmet, die speziell ausgelegt wurden zum Reduzieren der Rechenlast des Hauptprozessors. Viele solcher Computer weisen daher Bearbeitungsgeschwindigkeiten auf, die die Geschwindigkeit anderer Computerkomponenten, so wie dem Hauptspeicher (z. B. RAM) oder dem Cash übersteigen. Tatsächlich weisen viele konventionelle Personalcomputer Hauptprozessoren auf, die alleine die Geschwindigkeit des Hauptspeichers und des Cash übersteigen. Folglich können trotz gestiegener Prozessorgeschwindigkeiten der Hauptspeicher und der Cash Flaschenhälse innerhalb eines Computersystems erzeugen, die ungewünschter weise den Bildrasterungsprozess behindern.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der Erfindung verbessert eine Zirkularspeicher-Vorrichtung mit relativ hoher Geschwindigkeit in Kombination mit anderen Prozessen die Bildbearbeitungseffizienz. Ein Verfahren und eine Vorrichtung zum Bearbeiten von Bilddaten, die in einem Eingangsspeicher gespeichert sind, teilt das Bild logisch in eine Vielzahl von angrenzenden Streifen auf. Eine erste Vielzahl von Streifen werden in einem Arbeitsspeicher gespeichert, der eine zirkulare Adressenanordnung aufweist, wobei der Arbeitsspeicher schneller ist als der Eingangsspeicher und eine Vielzahl von sequenziellen Adressenorten aufweist. Die erste Vielzahl von Streifen ist einander angrenzend und weisen eine Startadresse auf. Zusätzlich wird die erste Vielzahl von Streifen in Arbeitsspeicher auf eine angrenzende Weise gespeichert und wird durch den Arbeitsspeicher relativ zu einer Startadresse bearbeitet.
  • In einigen Ausführungsformen wird die erste Vielzahl von Streifen auf eine angrenzende Art gespeichert, wenn angrenzende Abschnitte von unterschiedlichen Streifen (in der Vielzahl der Streifen) in angrenzenden Adressorten des Arbeitsspeichers gespeichert sind. Um die Rundheit (engl.: circularity) beizubehalten, kann der Arbeitsspeicher einen ersten Speicherort und einen letzten Speicherort aufweisen, wobei der erste Speicherort logisch angrenzend ist mit dem letzten Speicherort. Darüber hinaus kann während der Bearbeitung ein Offset von dem adressierten Start berechnet werden.
  • In anderen Ausführungsformen wird ein neuer Streifen im Arbeitsspeicher gespeichert als die erste Vielzahl von Streifen, die bearbeitet werden. Der neue Streifen ist angrenzend an die erste Vielzahl von Streifen. Somit kann mindestens ein Streifen der ersten Vielzahl von Streifen zusammen mit dem neuen Streifen bearbeitet werden. Der Arbeitsspeicher kann in eine gegebene Anzahl von Streifengebieten aufgeteilt werden, und die Bilddaten in jedem Streifen enthalten eine Vielzahl von Reihen von Bilddaten. In solchen Ausführungsformen können Streifen gespeichert werden durch Verschieben der Vielzahl von Reihen zum Speichern im Arbeitsspeicher basierend auf der gegebenen Anzahl von Streifengebieten.
  • Gemäß anderen Aspekten der Erfindung beinhaltet eine Vorrichtung zum Bearbeiten von Bilddaten, die in einem Eingangsspeicher gespeichert sind, der logisch in eine Vielzahl von angrenzenden Streifen aufgeteilt ist, einen Adressmanager zum Zugreifen auf einen Arbeitsspeicher auf eine zirkulare Weise. Der Arbeitsspeicher ist schneller als der Eingangsspeicher und weist eine Vielzahl von sequenziellen Adressorten auf. Die Vorrichtung enthält auch eine Datenübertragungseinrichtung, die eine erste Vielzahl der Streifen im Arbeitsspeicher speichert, wobei die erste Vielzahl von Streifen angrenzend sind und eine Startadresse aufweisen. Die erste Vielzahl von Streifen ist im Arbeitsspeicher auf eine angrenzende Weise gespeichert. Die Vorrichtung enthält ferner einen Prozessor zum Bearbeiten der ersten Vielzahl von Streifen über den Arbeitsspeicher relativ zur Startadresse.
  • Illustrative Ausführungsformen der Erfindung sind als ein Computerprogrammprodukt implementiert, das ein vom Computer verwendbares Medium mit einem vom Computer lesbaren Programmcode darauf aufweist. Der vom Computer lesbare Code kann von einem Computersystem gemäß konventioneller Prozesse gelesen und verwendet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Das Vorangegangene und Vorteile der Erfindung werden klarer durch die folgende Beschreibung dieser mit Bezug auf die beigefügten Zeichnungen, wobei:
  • 1 schematisch ein exemplarisches Computersystem zeigt, auf dem illustrative Ausführungsformen implementiert sein können.
  • 2 schematisch einen Rahmen eines grafischen Bildes zeigt, das bearbeitet werden kann gemäß den illustrativen Ausführungsformen der Erfindung.
  • 3 die zwei Speichereinrichtungen zeigt, die verwendet werden können zum Bearbeiten des Bildes.
  • 4A zusätzliche Details der Konfiguration des zweiten (Cash) Speichers, der in 3 gezeigt ist, zeigt.
  • 4B eine andere logische Ansicht des zweiten in 4A gezeigten Speichers zeigt.
  • 5 ein illustratives Verfahren zum Bearbeiten des in 2 gezeigten Bildes zeigt.
  • 6 ein illustratives Verfahren des Durchlaufens durch den in den 3, 4A und 4B gezeigten zweiten Speichers zeigt.
  • BESCHREIBUNG VON ILLUSTRATIVEN AUSFÜHRUNGSFORMEN
  • In illustrativen Ausführungsformen der Erfindung werden Bilddaten in einem Computersystem von einem langsameren Speicher zu einem schnelleren, zirkular konfigurierten Speicher für die Bearbeitung übertragen. Details von illustrativen Ausführungsformen werden unten diskutiert.
  • 1 zeigt schematisch ein exemplarisches Computersystem auf dem illustrative Ausführungsformen implementiert sein können. Das exemplarische Computersystem 100 aus 1 wird lediglich für beschreibende Zwecke diskutiert, jedoch sollte dies nicht als eine Limitierung der Erfindung verstanden werden. Obwohl die untere Beschreibung sich auf allgemein verwendete Ausdrücke in der Beschreibung bestimmter Computersysteme bezieht, gelten die beschriebenen Konzepte auch für andere Computersysteme, Systeme beinhaltend, die Architekturen aufweisen, die unterschiedlich zu der in 1 dargestellt sind.
  • Der Computer 100 beinhaltet eine zentrale Bearbeitungseinheit (CPU) 105, die einen konventionellen Mikroprozessor, Hauptspeicher 110 (z. B. Direktzugriffsspeicher, der im allgemeinen als „RAM" bezeichnet wird) zum temporären Speichern von Informationen, und Festwertspeicher (ROM) 115 zum permanenten Speichern von nur zu lesenden Informationen, aufweist. Zusätzlich weist der Computer 100 auf eine Speichersteuereinheit 120 zum Steuern des System-RAM 110 und eine Direktspeicherzugriffs- (DMA, Englisch: Direct Memory Access) Steuereinheit 160 zum Steuern des direkten Speicherzugriffs auf den System RAM 110 auf. Der Computer 100 enthält auch einen Hauptbus 130 zum Koppeln verschiedener interner Komponenten.
  • Massenspeicher kann bereitgestellt werden durch bekannte nichtflüchtige Speichermedien wie eine Diskette 142, eine digitale bewegliche Scheibe (die im allgemeinen in der Technik als „DVD" bezeichnet wird, Englisch: Digital Versatile Disk) eine CD-ROM 147 und eine Festplatte 152. Darüber hinaus können Daten und Software mit dem Computersystem 100 über austauschbare Medien, sowie eine Diskette 142 und die CD-ROM 147 oder über eine Netzwerkverbindung ausgetauscht werden.
  • Anwendereingaben in den Computer 100 können bereitgestellt sein durch eine Anzahl von Einrichtungen. Beispielsweise können eine Tastatur 156 und eine Maus 157 mit dem Bus 130 durch eine Tastatur- und Maussteuereinheit 155 verbunden sein. Es ist für den Fachmann offensichtlich, dass andere Eingabeeinrichtungen, sowie eine Digitalkamera, Stift und/oder Tablett und ein Mirkophon für die Spracheingabe mit dem Computer 100 über den Bus 130 und eine geeignete Steuereinheit verbunden sein können.
  • Das Computersystem 100 wird vorzugsweise gesteuert und koordiniert durch Betriebssystemsoftware, so wie das WINDOWS NT® Betriebssystem (vertrieben durch die Microsoft Corp. aus Redmond, Washington). Zusammen mit anderen Computersystemsteuerungsfunktionen steuert das Betriebssystem die Zuweisung von Systemressourcen und führt Systemaufgaben, so wie Prozessplanung, Speichermanagement, Netzwerkbetrieb und I/O-Dienste, aus. Zusammen mit anderen Dingen können illustrative Ausführungsformen (die sich auf Speichermanagement beziehen) implementiert sein als Teil des Betriebssystems oder als ein separates Dienstprogramm implementiert sein.
  • 2 zeigt schematisch einen Rahmen eines grafischen Bildes 162, das gemäß illustrativer Ausführungsformen der Erfindung bearbeitet werden kann. Das grafische Bild 162 kann ein digitalisiertes Bild sein, das von irgendeiner bekannten Quelle, so wie von einer Digitalkamera oder eine Videoeinspeisung, erzeugt sein kann. Das Bild 162 kann beispielsweise etwas Bearbeitung benötigen, sowie die Anwendung von Komprimierungsoperationen in Übereinstimmung mit konventionellen MPEG-Standards.
  • Bisher wurde das grafische Bild 162 logisch in eine Vielzahl von angrenzenden Datenstreifen aufgeteilt (nachstehend „Streifen"), die logisch betrachtet eine Vielzahl von angrenzenden Datenzellen bilden (nachstehend „Zellen"). Jeder Streifen besteht aus einem zweidimensionalen Array von Pixels, die dessen jeweiligen Abschnitt des Bildes 162 bilden. In dem in 2 gezeigten Beispiel ist das Bild 162 in zwei Reihen von sieben Streifen aufgeteilt. Jede Reihe von sieben Streifen bildet sechs Zellen. Die Streifen sind identifiziert als Streifen A–N, während die Zellen identifiziert sind als Zellen 1–12. Eine Zelle besteht aus zwei angrenzenden Streifen. Beispielsweise bilden Streifen A und B die Zelle 1. Unten ist eine Tabelle gezeigt, die Zellen und deren dazugehörige Streifen in 2 zeigen:
    Zelle Streifen
    1 A, B
    2 B, C
    3 C, D
    4 D, E
    5 E, F
    6 F, G
    7 H, I
    8 I, J
    9 J, K
    10 K, L
    11 L, M
    12 M, N
  • Zellen sind in jeder Reihe gebildet, so dass jede mittlere Zelle (d. h. weder die erste Zelle noch die letzte Zelle in einer Reihe) mit der vorangehenden oder nachfolgenden Zelle überlappt. Beispielsweise ist die Zelle 2 gebildet durch Streifen B und C, während die Zelle 3 gebildet ist durch Streifen C und D. Folglich teilen sich die Zellen 2 und 3 den Streifen C. Auf die gleiche Weise teilen sich die Zellen 1 und 2 den Streifen B. Wie detaillierter später beschrieben wird, erleichtert diese Überlappung Parallelbearbeitung durch Ermöglichen von Befehlsverknüpfung im internen Speichersystem des Computers 100. Vorteile der logischen Zuweisung von Streifen, sowie die Verbesserung von Bearbeitungsgeschwindigkeit, sollten dem Fachmann klar sein.
  • Es sollte jedoch bemerkt werden, dass die Diskussion der logischen Streifen und Zellen in 2 exemplarisch ist und nicht gedacht ist zu suggerieren, dass lediglich diese Anzahl von Streifen und Zellen ausreichen. In einigen Ausführungsformen kann z. B. eine Zelle gebildet sein durch drei Streifen oder einen Streifen. Demzufolge ist die Diskussion von spezifischen Streifen- und Zellengrößen/Anzahlen nicht gedacht, den Bereich verschiedener Ausführungsformen der Erfindung zu limitieren.
  • Die Streifen und Zellen aus dem in 2 gezeigten Bild 162 sind logisch gebildet bevor das Bild 162 im schnellen Speicher bearbeitet wird. 3 zeigt zwei Speichereinrichtungen, die verwendet werden können ein solch logisch aufgeteiltes Bild 162 zu bearbeiten. Auf einer hohen Ebene wird das Bild 162 anfangs gespeichert in einer Eingangsspeichereinrichtung (Eingangsspeicher 164) und dann zur Arbeitsspeichereinrichtung (Arbeitsspeicher 166) auf einer Streifen-für-Streifen Weise übertragen. Der Arbeitsspeicher 166 hat eine größere Geschwindigkeit als die des Eingangsspeichers 164. Die CPU 105 bearbeitet das Bild 162, während dieses im Arbeitsspeicher 166 ist.
  • Mit Bezug auf 3 kann im genaueren der Eingangsspeicher 164 ein externer SDRAM (synchroner dynamischer Direktzugriffsspeicher) sein, der das gesamte Bild 162 speichert. Die DMA-Steuereinheit überträgt Streifen des Bildes 162 in den Arbeitsspeicher 166, der in diesem Beispiel ein interner Cash-Speicher ist. Details des Verfahrens zum Übertragen und Bearbeiten des Bildes 162 werden detaillierter unten mit Bezug auf die 5 und 6 diskutiert. Es sollte bemerkt werden, dass obwohl SDRAM und Cash diskutiert werden, andere Speichertypen, die solche relative Geschwindigkeiten aufweisen, verwendet werden können. Demzufolge sollten alle langsameren Speichereinrichtungen, die Daten zum schnellen Speicher für die Bearbeitung übertragen, in vielen Ausführungsformen ausreichen.
  • 4A zeigt zusätzliche Details der Konfiguration des in 3 gezeigten zweiten (Cash) Speichers. Der Arbeitsspeicher 166 ist konfiguriert, eine feste Anzahl von Adressorten (auch als „Speicherorte" bezeichnet) aufzuweisen, die jeder Daten für ein Pixel in dem Bild 162 speichert. Beispielsweise weist der in 4A gezeigte Arbeitsspeicher Adressenorte für 96 Pixels von Daten auf. Jeder Adressort ist in der Größe geeignet ausgelegt zum Speichern der nicht bearbeitenden Bilddaten, die vom Eingangsspeicher 162 empfangen wurden. Folglich sollten alle Adressorte genug Raum aufweisen zum Speichern von Farbe (z. B. rot, grün und blau), Transparenz, Tiefe und anderen Daten, die für ein gegebenes Pixel benötigt werden.
  • Während der Bearbeitung kann jeder Adressort in Folge durchlaufen werden. Wenn z. B. der erste zu lesende Adressort der Adressort 0 ist, dann ist der zweite zu lesende Adressort der Adressort 1, und der folgende zu lesende Adressort wird der Adressort 2 sein, ect.... In alternativen Ausführungsformen sind Adressorte nicht in Folge bearbeitet. In jeder Ausführungsform wird jedoch eine Basisadresse ausgewählt (wird unten diskutiert und wird auch als „Startadresse" bezeichnet), und die Bearbeitung wird relativ zu dieser Basisadresse fortgeführt. Im genaueren wird die Bearbeitung bei relativen Abständen zur Basisadresse durchgeführt. Wenn beispielsweise die Basisadresse der Adressort 4 ist, dann spezifiziert die Logik zum Bearbeiten der Adressorte 6–8 Adressortsabstände 2–4 von dieser Basisadresse.
  • Gemäß illustrativen Ausführungsformen wird der Arbeitsspeicher 166 so konfiguriert, dass dieser ein zirkularer Speicher ist. Nachdem der Adressort 95 gelesen, übersprungen oder auf eine andere Weise durchlaufen wurde, kehrt die Bearbeitung zurück zum Adressort 0. Darüber hinaus ist der Arbeitsspeicher 166 logisch in zwei oder mehr Gruppen aufgeteilt, die den Streifen in dem Bild 162 entsprechen. Im genaueren ist der in 4A gezeigte Arbeitsspeicher 166 in drei gleich große Blöcke aufgeteilt. Die Blöcke werden hier bezeichnet als erster Block 166A, zweiter Block 166B und dritter Block 166C. Jeder Speicherblock ist konfiguriert, dieselbe Gesamtanzahl von Adressorten wie der eines Streifens von Bilddaten aufzuweisen. In illustrativen Ausführungsformen ist jeder Speicherblock daher konfiguriert, die exakte zweidimensionale Größe wie ein Streifen des Bildes 162 aufzuweisen.
  • 4B zeigt eine andere logische Ansicht des in 4A gezeigten Arbeitsspeichers 166. Im genaueren erscheint einem Zeiger oder einer andere Speicherdurchlaufvorrichtung der Arbeitsspeicher 166 ein eindimensionaler Array von Adressorten zu sein. In dem gezeigten Beispiel wird nachdem der Adressort 95 durchlaufen wurde der Adressort 0 gelesen/übersprungen oder auf eine andere Weise durchlaufen. Angrenzende Bitdaten werden nichts desto trotz in Adressorten wie in 4A gezeigt, gespeichert.
  • Auf eine Weise, die anderen Elementen der Erfindung ähnlich ist, ist die Gesamtanzahl von in den 4A und 4B gezeigten Adressorten exemplarisch. Folglich können unterschiedliche Anzahlen von Adressorten und Partitionen verwendet werden, und Speicher unterschiedlicher Größe können verwendet werden. Diskussionen über spezifische Größen können somit nicht den Bereich der Erfindung limitieren.
  • 5 zeigt ein illustratives Verfahren zum Bearbeiten des in 2 gezeigten Bildes 162. Das Verfahren beginnt bei Schritt 500, in dem das Bild 162 in eine Vielzahl von Streifen aufgeteilt wird. Beispielsweise kann das Bild wie in 2 gezeigt, aufgeteilt werden. Abhängig von der Größe des Bildes 162 kann das Bild 162 in eine oder mehr Reihen von Streifen aufgeteilt werden, wobei wie oben erwähnt, jede Reihe eine Vielzahl von überlappenden Zellen bildet. Die übrigen Schritte werden daher für jede Reihe in dem Bild 162 ausgeführt.
  • Im genaueren wird ein erster Mehrfach-Satz von angrenzenden Streifen dann vom Eingangsspeicher 164 (d. h. ein langsamerer Speicher, so wie ein Level 2 Speicher) zum Arbeitsspeicher 166 (d. h. ein schnellerer Speicher, so wie ein Level 1 Speicher) übertragen. In illustrativen Ausführungsformen können Streifen A und B (d. h. Zelle 1) zuerst in den ersten und zweiten Block 166A und 166B von dem Arbeitsspeicher 166 geladen werden. Wie in den Zeichnungen demonstriert, werden die Streifen in Arbeitsspeicher 166 auf eine angrenzende Weise geladen. Im genaueren werden angrenzende Pixels zwischen zwei der angrenzenden Streifen in angrenzenden Adressorten innerhalb des Arbeitsspeichers 166 gespeichert. In dem gezeigten Beispiel weisen zwei angrenzende Streifen angrenzende Pixels in der gleichen Reihe auf.
  • Bisher ist die DMA-Steuereinheit als eine 2D-DMA konfiguriert. Zusammen mit anderen Sachen führt diese zwei Operationen durch; nämlich, 1) eine „Lade"-Operation zum Laden einer Zelle (d. h. ein Satz von Streifen) in eine FIFO- (first-in, first-out) Leitung, und 2) eine „Speicher"-Operation zum Speichern eines Arrays von Bilddaten von der FIFO-Leitung in den Arbeitsspeicher 166 als ein zweidimensionales Array von Pixels (d. h. als einen Streifen oder Zelle). Wie oben diskutiert ist zu bemerken, dass jeder Streifen ein zweidimensionales Array von Pixeldaten ist, das einen Abschnitt des Bildes 162 bildet. Folglich gewährleisten diese Operationen, dass das Streifendatenformat beibehalten wird, wenn dieses in den Eingangsspeicher 164 gespeichert ist.
  • In illustrativen Ausführungsformen kann die Software-Semantik für die zwei DMA-Operationen wie folgt sein:
    Figure 00110001
    Figure 00130001
  • Nachdem der erste Satz von Streifen geladen wurde, wird dann ein Paar von Zeigern bei Schritt 504 gesetzt. Im genaueren ist das System konfiguriert, einen Basiszeiger aufzuweisen, der auf einen ersten Adressort (im Arbeitsspeicher 166) einer gegebenen Zelle zeigt, und einen Lese-Pointer, der auf einen Adressort (auch im Arbeitsspeicher 166) zeigt, der einen Abstand relativ zum Basiszeiger aufweist. Anfangs zeigen beide Zeiger auf dieselben Adressorte. Beispielsweise sind die Zeiger anfangs eingestellt zum Anzeigen auf den ersten Adressort im Streifen A. Wie in 6 gezeigt (wird später diskutiert), erhöht der Basiszeiger einen Satz von Nummern von Adressorten jedes Mal, wenn eine neue Zelle bearbeitet wird, während der Lese-Zeiger sukzessiv einmal (für jeden Adressort) in jeder Zelle erhöht wird, während eine solche Zelle durchlaufen wird.
  • Folglich fährt das Verfahren zu Schritt 506 fort, in dem der aktuelle Satz von Streifen (d. h. die aktuell bearbeitete Zelle) bearbeitet wird, gemäß dem mit Bezug auf 6 diskutierten Verfahren. Es wird dann bei Schritt 508 bestimmt, ob die bearbeitete Reihe zusätzliche Streifen für die Bearbeitung aufweist. Wenn zusätzliche Streifen für diese Reihe nicht zu bearbeiten sind, endet dann der Prozess (für diese Reihe).
  • Wenn umgekehrt zusätzliche Streifen zu bearbeiten sind, dann fährt der Prozess zu Schritt 510 fort, indem der nächste Satz von Streifen im Arbeitsspeicher 166 gespeichert ist. In dem in 2 gezeigten Beispiel wird ein einzelner Streifen von Daten (z. B. Streifen C) in dem nächsten folgenden Block des Arbeitsspeichers 166 gespeichert, der in diesem Fall nun der dritte Block 166C des Arbeitsspeichers 166 ist. Der Prozess kehrt dann zu Schritt 504 zurück, in dem die Zeiger zurückgesetzt werden. Bis zu diesem Punkt werden der Basis- und der Lese-Zeiger auf den Punkt des ersten Adressortes der nächsten Zelle gesetzt (z. B. der erste Speicherort des Streifens B). Folglich wird die nächste Zelle (bestehend aus Streifen B und C) bearbeitet, wodurch ermöglicht wird, dass Daten (d. h. Streifen B) wieder verwendet werden. Dieses Verfahren iteriert bis die gesamte Reihe bearbeitet ist. Wenn das Bild 162 zusätzliche Reihen aufweist, dann wird das Verfahren für die nächste Reihe wiederholt.
  • In illustrativen Ausführungsformen werden verschiedene Schritte des Verfahrens aus 5 entweder in einer unterschiedlichen Reihenfolge oder im wesentlichen simultan ausgeführt. Während beispielsweise ein aktueller Satz von Streifen bearbeitet wird (Schritt 506), kann die CPU 105 bestimmen, ob zusätzliche Streifen zu bearbeiten sind (Schritt 508), und wenn dem so ist, wird diese solche Streifen im nächsten Block des Arbeitsspeichers 166 speichern (Schritt 510). Einige Ausführungsformen kombinieren diese drei Schritte in eine im wesentlichen parallele Operation.
  • 6 zeigt ein Verfahren zum Bearbeiten des aktuellen Satzes von Streifen wie durch Schritt 506 rezitiert. Das Verfahren beginnt bei Schritt 600, in dem die Basis- und Lese-Zeiger lokalisiert werden. Dieser Schritt kann im Prozess impliziert sein und somit ein nicht bestätigter Schritt sein, der in verschiedenen Ausführungsformen benötigt wird. Der Prozess fährt dann zu Schritt 602 fort, in dem ein Satz von Adressorten für die Bearbeitung gelesen wird. Bis zu diesem Punkt wird der Lesezeiger erhöht, um einen Satz von Nummern der Adressorte von dem Basiszeiger zu lesen. In dem hier diskutierten Beispiel wird der Lese-Zeiger acht mal erhöht, um jede der ersten acht Adressorte in dessen aktuelle Zelle zu lesen. Folglich ermöglicht dieser Schritt des Verfahrens, Abschnitte von zwei angrenzenden Blöcken des Arbeitsspeichers 166 zu lesen, die Zellendaten aufweisen.
  • Nachdem der Satz von Adressorten gelesen ist, überspringt dann der Lese-Zeiger einen Satz der nächsten folgenden Adressorte (Schritt 604). In dem gezeigten Beispiel überspringt der Lese-Zeiger die nächsten vier Adressorte. Dieser Schritt erlaubt somit dem Verfahren, den einen Block des Arbeitsspeichers 166 zu überspringen, der keine Zellendaten aufweist. Dann wird bei Schritt 606 bestimmt, ob der Lese-Zeiger auf dieselbe Adresse zeigt, auf die durch den Basis-Zeiger gezeigt wird (d. h. bei der Basisadresse). Wenn dem so ist, dann endet das Verfahren, da die gesamte Zelle im Arbeitsspeicher 166 gespeichert wurde. Wenn umgekehrt der Lese-Zeiger auf einen unterschiedlichen Adresssort zeigt, dann kehrt der Prozess zurück zu Schritt 602, in dem eine feste Anzahl der nächsten Adressorte gelesen wird. Dieses Verfahren iteriert folglich, bis eine gesamte Zelle im Arbeitsspeicher 166 gespeichert ist. Wie oben erwähnt, kann die CPU, nachdem Adressorte gelesen wurden, einige Bearbeitungsfunktionen durchführen, so wie das Komprimieren der Bilddaten.
  • Das in den 5 und 6 beschriebene Verfahren ermöglicht folglich, dass zwei dimensionale Arrays von Pixel Daten im Arbeitsspeicher 166 gespeichert werden. Beginnend mit dem Lese/Speicher-Prozessen von dem Basiszeiger und Konfigurieren des Arbeitsspeichers 166 als einen zirkularen Speicher, ermöglicht dies, effektiv erreicht zu werden.
  • Unten ist ein Beispiel, das neun Iterationen des hier beschriebenen Verfahrens in dem in 4A gezeigten Arbeitsspeicher 166 zeigt. Im genaueren zeigt das Beispiel den Inhalt des Arbeitsspeichers 166 über die neun Iterationen der Bildüberarbeitung. Das Bild 162 weist Pixel auf, die sequentiell in Reihen adressiert sind. Mit anderen Worten weist jede Reihe 64 sequentiell adressierte Pixel-Orte auf. Die Parameter dieses Beispiels sind wie folgt:
    Bildgröße: 64 × 64
    Streifengröße: 4 × 8
    Anzahl von Streifen: 16 Streifen pro Reihe, 8 Reihen von Streifen, insgesamt 128 Streifen
    Zellengröße: 8 × 8 (2 Streifen)
    Zirkulare Adressgröße: 3·4·8
  • In dem unteren Beispiel wird jedes Pixel im Bild 162 in den folgenden Format identifiziert: „a (Reihe, Spalte)". Freimachungsvermerke so wie „a (0,1)" repräsentieren daher Pixel-Daten für das Pixel, das in Reihe 0 und Spalte 1 des Bildes 162 positioniert ist. Zusätzlich ist die Adressennummer jedes Speicherortes in der ersten Spalte des Arbeitsspeichers 166 direkt links von der ersten Spalte des Arbeitsspeichers 166 aufgelistet. Natürlich können alle Adressen in dem exemplarischen Arbeitsspeicher 166 mit Bezug auf 4A bestimmt werden. Schließlich ist die Basisadresse jeder Iteration groß geschrieben und unterstrichen, während der Bilddaten empfangende Speicherabschnitt fett gedruckt ist.
    Figure 00180001
    Figure 00190001
    Figure 00200001
    Figure 00210001
    Figure 00220001
  • Wie oben demonstriert, haben dieser und verwandte Prozesse den Effekt des logischen Schiebens von Reihen innerhalb der Streifen zuvor ausgewählter Zeiten. Im Speziellen wird dieses Verschieben ausgeführt basierend auf der Anzahl von Blöcken im Arbeitsspeicher 166. Nachdem der erste Satz von drei Streifen gespeichert wurde, wird im oberen Beispiel der zweite Satz von Streifen um eine Reihe herunter geschoben, wenn diese im Arbeitsspeicher gespeichert werden. Wenn die nächsten drei nachfolgenden Sätze von Streifen im Arbeitsspeicher 166 gespeichert werden, werden diese um zwei Reihen herunter geschoben. Dieser Prozess iteriert um eine Reihe pro Satz aus drei (in dem diskutierten Beispiel) bis alle Zelle in einer Reihe des Bildes bearbeitet wurden.
  • Dem Fachmann sollte klar sein, dass illustrative Ausführungsformen in Ausdrücken von Reihen der Zellen lediglich beispielhaft diskutiert wurden. Es können andere Konfigurationen von Zellen verwendet werden. Beispielweise können ähnliche Prinzipien auf Spalten von Zellen angewendet werden. Folglich sollen verschiedene Ausführungsformen nicht auf Reihen von Zellen limitiert sein.
  • Zusätzlich zu den oben beschriebenen Vorteilen benötigen die illustrativen Ausführungsformen nicht, dass die CPU 105 die Spur der Zeiger verfolgt. Anstelle dessen kann ein einfacher Modulo-Befehl und Zähler verwendet werden zum Erhöhen von Zeigern, bis bestimmte Bedingungen erreicht sind (z. B. der Lese-Zeiger zeigt auf denselben Adressort wie durch den Basis-Zeiger angezeigt wird). Folglich wird die CPU-Verwendung optimiert. Zusätzlich optimiert die Bearbeitung einer Zelle von Bilddaten, während ein anderer Streifen geladen wird, (d. h. Parallelverarbeitung) auch die Systemleistung.
  • Verschiedene Ausführungsformen der Erfindung können mindestens teilweise in einer konventionellen Computerprogrammiersprache implementiert sein. Beispielsweise können einige Ausführungsformen in einer prozeduralen Programmiersprache (z. B. „C") oder in einer objektorientierten Programmiersprache (z. B. „C++") implementiert sein. Andere Ausführungsformen der Erfindung können implementiert sein als vorprogrammierte Hardware-Elemente (z. B. anwendungsspezifische integrierte Schaltkreise, FPGAs, und digitale Signalprozessoren), oder andere verwandte Komponenten.
  • In einer alternativen Ausführungsform können die offenbarte Vorrichtung und das Verfahren implementiert sein als ein Computerprogrammprodukt für die Verwendung mit einem Computersystem. Eine solche Implementierung kann eine Reihe von Computerbefehlen beinhalten, die auf einem konkreten Medium, so wie einem computerlesbaren Medium (z. B. eine Diskette, CD-ROM, ROM, oder feste Scheibe) fixiert sind, oder an das Computersystem über ein Modem oder eine Schnittstellenvorrichtung, so wie einem Kommunikationsadapter, der mit einem Netzwerk über ein Medium verbunden ist, übertragbar ist. Das Medium kann entweder ein konkretes Medium (z. B. optische oder analoge Kommunikationsleitung) oder ein Medium sein, das mit kabelloser Technik implementiert ist (z. B. Mikrowellen, Infrarot oder andere Übertragungstechniken).
  • Die Reihe von Computerbefehlen verkörpern die gesamte oder einen Teil der Funktionalität, die hier zuvor mit Bezug auf das System beschrieben wurde. Der Fachmann sollte verstehen, dass solche Computerbefehle in einer Anzahl von Programmiersprachen für die Verwendung mit vielen Computerarchitekturen oder Betriebssystemen geschrieben sein kann. Darüber hinaus können solche Befehle in irgendeiner Speichervorrichtung gespeichert werden, so wie einem Halbleiter, magnetisch, optisch oder anderen Speichervorrichtungen, und können übertragen werden unter Verwendung jeglicher Kommunikationstechnologie, so wie optischer, infraroter, Mikrowellen, oder anderen Übertragungstechnologien.
  • Es ist zu erwarten, dass solch ein Computerprogrammprodukt als ein austauschbares Medium mit einer beigefügten gedruckten oder elektronischen Dokumentation (z. B. schrumpfverpackter Software), die mit dem Computersystem mitgeliefert wird (z. B. auf einer System ROM oder einer festen Scheibe), vertrieben wird, oder von einem Server oder elektronischen Bulltinboard über das Netzwerk (z. B. dem Internet oder dem Word Wide Web) vertrieben wird. Natürlich können einige Ausführungsformen der Erfindung implementiert sein als eine Kombination von sowohl Software (z. B. ein Computerprogrammprodukt) und Hardware. Andere Ausführungsformen der Erfindung sind gänzlich Hardware implementiert oder gänzlich Software implementiert (z. B. ein Computerprogrammprodukt).
  • Obwohl verschiedene exemplarische Ausführungsformen der Erfindung offenbart wurden, sollte dem Fachmann klar sein, dass verschiedene Veränderungen und Modifikationen gemacht werden können, die einige der Vorteile der Erfindung erreichen, ohne den wahren Bereich der Erfindung zu verlassen. Diese und andere offensichtliche Modifikationen sollen durch die beigefügten Ansprüche abgedeckt sein.

Claims (21)

  1. Ein Verfahren zum Bearbeiten von Bilddaten, die in einem Eingangsspeicher (164) gespeichert sind, das Verfahren umfassend: logisches Aufteilen des Bildes (500) in eine Vielzahl von angrenzenden Streifen (A–N); Speichern einer ersten Vielzahl von Streifen (502) in einem Arbeitsspeicher (166), der eine zirkulare Adressen-Anordnung aufweist, wobei der Arbeitsspeicher (166) schneller ist als der Eingangsspeicher (164) und eine Vielzahl von sequenziellen Adressorten aufweist, die erste Vielzahl von Streifen angrenzend ist und eine Startadresse aufweist, wobei die erste Vielzahl von Streifen in einem Arbeitsspeicher (166) in einer angrenzenden Weise gespeichert wird; und Bearbeiten der ersten Vielzahl von Streifen über den Arbeitsspeicher (166) relativ zu der Startadresse.
  2. Das Verfahren wie in Anspruch 1 definiert, wobei das Speichern der ersten Vielzahl von Streifen in einer angrenzenden Weise das Speichern von angrenzenden Abschnitten von unterschiedlichen Streifen in der Vielzahl von Streifen in angrenzenden Adressorten des Arbeitsspeichers (166) umfasst.
  3. Das Verfahren wie in Anspruch 1 definiert, wobei der Arbeitsspeicher (166) einen ersten Speicherort und einen letzten Speicherort aufweist, wobei der erste Speicherort dem letzten Speicherort logisch angrenzend ist.
  4. Das Verfahren wie in Anspruch 1 definiert, wobei das Bearbeiten einen Offset von der Startadresse berechnet.
  5. Das Verfahren wie in Anspruch 1 definiert, ferner umfassend das Speichern eines neuen Streifens in dem Arbeitsspeicher (166) als die erste Vielzahl von Streifen, die bearbeitet werden, wobei der neue Streifen angrenzend ist an die erste Vielzahl von Streifen.
  6. Das Verfahren wie in Anspruch 5 definiert, ferner umfassend das Bearbeiten von mindestens einem Streifen aus der ersten Vielzahl von Streifen zusammen mit dem neuen Streifen.
  7. Das Verfahren wie in Anspruch 1 definiert, wobei der Arbeitsspeicher (166) aufgeteilt ist in einen gegebene Anzahl von Streifenflächen (166A, 166B, 166C), wobei die Bilddaten in jedem Streifen eine Vielzahl von Reihen von Bilddaten umfassen, wobei das Speichern ferner das Verschieben der Vielzahl der Reihen zum Speichern in dem Arbeitsspeicher (166) umfasst, basierend auf der gegebenen Anzahl von Streifenflächen.
  8. Ein Computerprogrammprodukt zum Verwenden auf einem Computersystem zum Bearbeiten von Bilddaten, die in einem Eingangsspeicher (164) gespeichert sind, wobei das Computerprogrammprodukt ein computerverwendbares Medium umfasst, das computerlesbaren Programmcode darauf aufweist, wobei der computerlesbare Programmcode umfasst: Programmcode zum logischen Aufteilen des Bildes (500) in eine Vielzahl von angrenzenden Streifen (A–N); Programmcode zum Speichern einer ersten Vielzahl von Streifen (502) in einem Arbeitsspeicher (166), der eine zirkulare Adressen-Anordnung aufweist, wobei der Arbeitsspeicher (166) schneller ist als der Eingangsspeicher (164) und eine Vielzahl von sequenziellen Adressenorten aufweist, die erste Vielzahl von Streifen angrenzend ist und eine Startadresse aufweist, wobei die erste Vielzahl von Streifen in einem Arbeitsspeicher (166) in einer angrenzenden Weise gespeichert wird; und Programmcode zum Bearbeiten der ersten Vielzahl von Streifen über den Arbeitsspeicher (166) relativ zu der Startadresse.
  9. Das Computerprogrammprodukt wie in Anspruch 8 definiert, wobei der Programmcode zum Speichern der ersten Vielzahl von Streifen in einer angrenzenden Weise einen Programmcode zum Speichern angrenzender Abschnitte von unterschiedlichen Streifen in der Vielzahl von Streifen in einem angrenzenden Adressorten des Arbeitspeichers (166) umfasst.
  10. Das Computerprogrammprodukt wie in Anspruch 8 definiert, wobei der Arbeitsspeicher (166) einen ersten Speicherort und einen letzten Speicherort aufweist, wobei der erste Speicherort dem letzten Speicherort logisch angrenzend ist.
  11. Das Computerprogrammprodukt wie in Anspruch 8 definiert, wobei der Programmcode zum Bearbeiten einen Programmcode zum Berechnen eines Offsets der Startadresse enthält.
  12. Das Computerprogrammprodukt wie in Anspruch 8 definiert, ferner umfassend Programmcode zum Speichern eines neuen Streifens in dem Arbeitsspeicher (166) als die erste Vielzahl von Streifen, die bearbeitet werden, wobei der neue Streifen angrenzend ist an die erste Vielzahl von Streifen.
  13. Das Computerprogrammprodukt wie in Anspruch 12 definiert, ferner umfassend das Bearbeiten von mindestens einem Streifen aus der ersten Vielzahl von Streifen zusammen mit dem neuen Streifen.
  14. Das Computerprogrammprodukt wie in Anspruch 8 definiert, wobei der Arbeitsspeicher (166) aufgeteilt ist in einen gegebene Anzahl von Streifenflächen (166A, 166B, 166C), wobei die Bilddaten in jedem Streifen eine Vielzahl von Reihen von Bilddaten umfassen, wobei der Programmcode zum Speichern ferner Programmcode zum Verschieben der Vielzahl von Reihen zum Speichern in dem Arbeitsspeicher (166) umfasst, basierend auf der gegebenen Anzahl von Streifenflächen.
  15. Eine Vorrichtung zum Bearbeiten von Bilddaten, die in einem Eingangsspeicher (164) gespeichert sind, wobei die Bilddaten (500) in eine Vielzahl von angrenzenden Streifen (A–N) logisch aufgeteilt sind, die Vorrichtung umfassend: einen Adressenmanager zum Ansteuern eines Arbeitsspeichers (166) in einer zirkularen Weise, wobei der Arbeitsspeicher (166) schneller ist als der Eingangsspeicher (164) und eine Vielzahl von sequentiellen Adressorten aufweist; eine Datenübertragungsvorrichtung zum Speichern einer ersten Vielzahl von Streifen (502) in dem Arbeitsspeicher, wobei die erste Vielzahl von Streifen angrenzend ist und eine Startadresse aufweist, wobei die erste Vielzahl von Streifen in einem Arbeitsspeicher (166) in einer angrenzenden Weise gespeichert wird; und Ein Prozessor zum Bearbeiten der ersten Vielzahl von Streifen über den Arbeitsspeicher (166) relativ zu der Startadresse.
  16. Die Vorrichtung wie in Anspruch 15 definiert, wobei die Datenübertragungsvorrichtung angrenzende Abschnitte von unterschiedlichen Streifen in der Vielzahl von Streifen in angrenzenden Speicherorten des Arbeitsspeichers (166) speichert.
  17. Die Vorrichtung wie in Anspruch 15 definiert, wobei der Arbeitsspeicher (166) einen ersten Speicherort und einen letzten Speicherort aufweist, wobei der erste Speicherort dem letzten Speicherort logisch angrenzend ist.
  18. Die Vorrichtung wie in Anspruch 15 definiert, wobei der Prozessor einen Offset von der Startadresse berechnet.
  19. Die Vorrichtung wie in Anspruch 15 definiert, wobei die Datenübertragungsvorrichtung einen neuen Streifen in dem Arbeitsspeicher (166) als die erste Vielzahl von Streifen, die bearbeitet werden, speichert, wobei der neue Streifen angrenzend ist an die erste Vielzahl von Streifen.
  20. Die Vorrichtung wie in Anspruch 19 definiert, wobei der Prozessor ferner mindestens einen Streifen der ersten Vielzahl von Streifen zusammen mit dem neuen Streifen bearbeitet.
  21. Die Vorrichtung wie in Anspruch 15 definiert, wobei der Arbeitsspeicher (166) aufgeteilt ist in einen gegebene Anzahl von Streifenflächen (166A, 166B, 166C), wobei die Bilddaten in jedem Streifen eine Vielzahl von Reihen von Bilddaten umfassen, wobei die Datenübertragungsvorrichtung die Vielzahl von Reihen zum Speichern in dem Arbeitsspeicher (166) verschiebt, basierend auf der gegebenen Anzahl von Streifenflächen.
DE60306388T 2002-06-13 2003-04-23 Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung Expired - Lifetime DE60306388T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/170,604 US6771271B2 (en) 2002-06-13 2002-06-13 Apparatus and method of processing image data
US170604 2002-06-13
PCT/US2003/012693 WO2003107272A1 (en) 2002-06-13 2003-04-23 Method and apparatus for image data processing using image strips and circular addressing arrangement

Publications (2)

Publication Number Publication Date
DE60306388D1 DE60306388D1 (de) 2006-08-03
DE60306388T2 true DE60306388T2 (de) 2007-06-21

Family

ID=29732539

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60306388T Expired - Lifetime DE60306388T2 (de) 2002-06-13 2003-04-23 Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung

Country Status (9)

Country Link
US (1) US6771271B2 (de)
EP (1) EP1532582B1 (de)
JP (1) JP4690723B2 (de)
KR (1) KR100853912B1 (de)
CN (1) CN100545863C (de)
AT (1) ATE331257T1 (de)
AU (1) AU2003276589A1 (de)
DE (1) DE60306388T2 (de)
WO (1) WO2003107272A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
US7093157B2 (en) * 2004-06-17 2006-08-15 International Business Machines Corporation Method and system for autonomic protection against data strip loss
US20060245642A1 (en) * 2005-04-29 2006-11-02 Stmicroelectronics S.R.L. Software implemented image generating pipeline using a dedicated digital signal processor
US7822891B2 (en) * 2006-06-13 2010-10-26 Broadcom Corporation System and method for transferring a multidimensional array of data to a non-contiguous buffer
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US20140307055A1 (en) 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
CN111193837B (zh) * 2019-12-31 2021-11-02 西安翔腾微电子科技有限公司 多维图像数据的传输方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2546694B1 (fr) 1983-05-24 1989-06-02 Canon Kk Appareil de traitement d'images
JPH0814842B2 (ja) 1986-03-25 1996-02-14 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン イメ−ジ処理方法及び装置
JPS63271606A (ja) * 1987-04-30 1988-11-09 Fanuc Ltd デ−タ処理方式
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
JPH01291387A (ja) 1988-05-19 1989-11-22 Hitachi Ltd 画像処理装置
FR2677206A1 (fr) * 1991-05-31 1992-12-04 Philips Electro Grand Public Dispositif pour visualiser des vues partielles d'une image.
JPH07271966A (ja) * 1994-03-29 1995-10-20 Japan Radio Co Ltd データ記憶方法並びにこれを用いたスクロール方法及びデータ出力方法
JPH10224797A (ja) * 1997-02-04 1998-08-21 Hitachi Ltd 動きベクトル検出装置及びそれを用いた動画像符号化装置
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
JPH11288384A (ja) * 1998-04-01 1999-10-19 Canon Inc データ格納方法及び装置
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
JP3626019B2 (ja) * 1998-09-03 2005-03-02 松下電器産業株式会社 リングバッファへの画像データの読み込み制御方法と、この読み込みを制御する制御装置
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers

Also Published As

Publication number Publication date
DE60306388D1 (de) 2006-08-03
US6771271B2 (en) 2004-08-03
EP1532582A1 (de) 2005-05-25
WO2003107272A1 (en) 2003-12-24
KR20050010912A (ko) 2005-01-28
JP4690723B2 (ja) 2011-06-01
CN100545863C (zh) 2009-09-30
EP1532582B1 (de) 2006-06-21
AU2003276589A1 (en) 2003-12-31
US20030231183A1 (en) 2003-12-18
KR100853912B1 (ko) 2008-08-25
ATE331257T1 (de) 2006-07-15
CN1669051A (zh) 2005-09-14
JP2005530246A (ja) 2005-10-06

Similar Documents

Publication Publication Date Title
DE69127011T2 (de) Speicherverwaltungsverfahren mit Hilfe einer Baumstruktur
DE69205690T2 (de) Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek.
DE68926094T2 (de) Hochgeschwindigkeits-Verarbeitungssystem für Rechnergraphik
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69916646T2 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE112007002221B4 (de) Graphikanordnungslayout mit maximaler Seitenbedeckung und minimaler Beseitigung von Inhalt
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE60127253T2 (de) Bildkachelung und -kompression für die 3D-Bilddarstellung
DE69908966T3 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE69211231T2 (de) Verfahren und Vorrichtung zur Verwaltung eines gemeinsam genutzten Speichers ausserhalb des Bildschirms
DE3619420C2 (de)
DE60105510T2 (de) Bilderzeugungsgerät
DE69609534T2 (de) Rechnerbasierte 3D-Darstellungsverfahren und -System
DE69417309T2 (de) Verfahren und Einrichtung zur Datenübertragung zum Speicher
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE69230700T2 (de) Digitaldatenprozessor für höhere Befehle
DE69122147T2 (de) Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE112012004809B4 (de) Kantenverfolgung mit Hysterese-Schwellenwertbildung
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE102009038454A1 (de) System und Verfahren zum Reduzieren einer Ausführungsdivergenz in Parallelverarbeitungsarchitekturen
DE60211452T2 (de) DMA-Übertragung von Daten und Prüfinformation zu und von einem Datenspeicherungsgerät
DE69008766T2 (de) Verfahren und Vorrichtung zur linearen Abschattung für ein Rastergrafikdisplay.
DE60306388T2 (de) Verfahren und vorrichtung zur bilddatenverarbeitung unter verwendung von bildstreifen und zirkularadressierungsanordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition