DE69722859T2 - Formatumwandlung von Datenwörtern graphischer Bilder - Google Patents

Formatumwandlung von Datenwörtern graphischer Bilder Download PDF

Info

Publication number
DE69722859T2
DE69722859T2 DE69722859T DE69722859T DE69722859T2 DE 69722859 T2 DE69722859 T2 DE 69722859T2 DE 69722859 T DE69722859 T DE 69722859T DE 69722859 T DE69722859 T DE 69722859T DE 69722859 T2 DE69722859 T2 DE 69722859T2
Authority
DE
Germany
Prior art keywords
data
word
components
section
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69722859T
Other languages
English (en)
Other versions
DE69722859D1 (de
Inventor
Carlan Joseph Beheler
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69722859D1 publication Critical patent/DE69722859D1/de
Application granted granted Critical
Publication of DE69722859T2 publication Critical patent/DE69722859T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Grafik-Bildverarbeitung in einem Computersystem und insbesondere einen besonders effizienten Mechanismus zum Umarbeiten von Pixeln eines Grafik-Bildes, die in einem 16-Bit Format dargestellt sind, in Pixel, die in einem 8-Bit Format dargestellt sind.
  • HINTERGRUND DER ERFINDUNG
  • In vielen heutig verwendeten Computergrafiksystemen werden individuelle Bildelemente, d. h. Pixel, eines Grafikbildes in einem bestimmten Format gespeichert. Beispielsweise werden Einzel-Band Grauwertpixel allgemein als vorzeichenlose Acht-Bit Integer (Ganzzahlen) gespeichert, und 4-Band Farbpixel werden normalerweise als vier aneinander angrenzende vorzeichenlose Acht-Bit Integer gespeichert. Grafikbilder, die unter Verwendung von Daten erzeugt werden, die ein Modell darstellen, und unter Verwendung eines Computerprozesses, wie beispielsweise einem dreidimensionalen Modellierungssystem, beinhalten oft komplexe numerische Berechnungen. Es ist allgemein üblich, dass beim Bilden eines Grafikbilds die Pixel des Grafikbildes in einem Format dargestellt werden, das eine größere Präzision aufweist, als das spezielle Format, in dem die angezeigten Pixel gespeichert sind. Beispielsweise, wird in einem Computergrafiksystem, in dem jedes Band eines angezeigten Pixels als ein vorzeichenloser Acht-Bit Integer gespeichert ist, oft jedes Band eines Pixels während einer Verarbeitung als vorzeichenloser Sechzehn-Bit Integer gespeichert, und im wesentlichen unmittelbar vor einer Anzeige des Pixels in einen Acht-Bit vorzeichenloser Integer umgewandelt. Solch eine Formatumwandlung eines jeden Bandes eines Pixels wird allgemein als ein Umarbeiten der Pixel bezeichnet.
  • Eine Umarbeitung erfordert normalerweise (i) ein Laden, vom Speicher eines Computers, eines einzelnen Pixels oder eines einzelnen Bandes eines Pixels zu einem Zeitpunkt, (ii) Umwandeln des Pixels oder des Bandes des Pixels in ein Anzeigeformat, und (iii) Speichern des umgewandelten Pixels oder Band eines Pixels. Grafikbilder haben normalerweise ungefähr 1000 Zeilen und ungefähr 1000 Spalten von Pixeln, d. h. ungefähr eine Millionen Pixel, und Farbgrafikbilder umfassen typischerweise vier Band pro Pixel. Daher beinhaltet ein Umarbeiten durch ein solch herkömmliches Verfahren normalerweise ungefähr vier Millionen Ladeoperationen und ungefähr vier Millionen Speicheroperationen. Zusätzlich erfordert das Umarbeiten eines Pixels oder eines Bandes eines Pixels normalerweise mindestens eine Computerinstruktion pro Pixel oder pro Band eines jeden Pixels. Daher sind ungefähr weitere vier Millionen Computerinstruktionen erforderlich, um jedes Band eines jeden Pixels eines typischen Grafikbildes umzuarbeiten.
  • Eine Verarbeitung von Grafikbildern erfordert normalerweise umfangreiche Verarbeitungsressourcen. Ein Erforderlichsein wesentlicher Verarbeitungsressourcen zum Umarbeiten der Pixel eines Grafikbildes in ein Anzeigeformat fügt nur noch zu den für ein Anordnen und Anzeigen eines Grafikbildes erforderliche Ressourcen hinzu. Aufgrund der umfangreichen Computersystemressourcen, die für solch eine Grafikbildumarbeitung erforderlich sind, besteht eine Notwendigkeit in der Industrie für eine immer weiter vergrößerte Effizienz eines Umarbeitens von Pixeln oder eines Bandes von Pixeln eines Grafikbildes von einem Hochpräzisionsverarbeitungsformat in ein raumeffizientes Anzeigeformat.
  • Die US 4 141 005 beschreibt eine Datenformatumwandlungsvorrichtung zum simultanen Umwandeln multipler Bytes von in Zonen aufgeteilten dezimalen Daten in Paketdezimaldaten oder anders herum. In dem bevorzugten Ausführungsbeispiel wird diese Formatumwandlungsvorrichtung verwirklicht, indem eine minimale Menge zusätzlicher Schaltkreise zu einem für ein Bereitstellen der normalen Datenverschiebeoperationen bei einem digitalen Datenprozessor verwendeten Multibyte-Durchflussdatenschieber hinzugefügt wird. Insbesondere wird die Zonen-Dezimal-zu-Paket-Dezimalumwandlungsfähigkeit durch ein Kombinieren zusätzlicher Schaltlogik mit der normalen Schiebeschaltlogik bereitgestellt, um es den Leitern für nicht benachbarte Datenfelder auf dem Schiebereingabedatenbus zu ermöglichen, mit den Leitern für benachbarte Datenfelder auf dem Schieberausgangsdatenbus gekoppelt zu sein. Eine Paket-Dezimal-zu-Zonen-Dezimalumwandlungsfähigkeit wird durch ein Hinzufügen weiterer Schaltlogik bereitgestellt, um es den Leitern für benachbarte Datenfeldern auf dem Schiebereingangsdatenbus zu ermöglichen, mit den Leitern für nicht benachbarte Datenfelder auf dem Schieberausgangsdatenbus gekoppelt zu sein. Ein Steuerschaltkreis ist zum selektiven Ermöglichen von entweder normalen Datenschiebeoperationen oder Zonen-zu-Paketformatumwandlungsoperationen oder Paket-zu-Zonenformatumwandlungsoperationen bereitgestellt.
  • Die wesentlichen Merkmale der vorliegenden Erfindung sind in den unabhängigen Ansprüchen definiert. Bevorzugte Ausführungsformen der vorliegenden Erfindung sind in den abgängigen Ansprüchen definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockdiagramm eines Computersystems, das einen Bildprozessor enthält, der Grafikbilddaten in Übereinstimmung mit der vorliegenden Erfindung umarbeitet.
  • 2 zeigt ein Logikflussdiagramm, das ein Umarbeiten von Grafikbilddaten durch den Bildprozessor von 1 in Übereinstimmung mit der vorliegenden Erfindung veranschaulicht.
  • 3 zeigt ein Blockdiagramm, das Verbindeoperationen veranschaulicht, die durch den Bildprozessor in 1 angewendet werden, um Grafikbilddaten in Übereinstimmung mit der vorliegenden Erfindung umzuarbeiten.
  • 4 veranschaulicht in einem Blockdiagramm einen Verbindebetrieb, der durch einen Computerprozessor von 1 durchgeführt wird.
  • 5 zeigt ein Blockdiagramm des Computerprozessors von 1 mit mehr Detail.
  • DETAILLIERTE BESCHREIBUNG
  • In Übereinstimmung mit der vorliegenden Erfindung werden Datenkomponenten in einem ersten, Verarbeitungsformat, von denen jedes einen ausgewählten Abschnitt enthält, der die Datenkomponente in einem zweiten, Anzeigeformat darstellt, verbunden, um ein verschachteltes Datenwort zu bilden, in dem die ausgewählten Abschnitte von Datenkomponenten gruppiert sind. Beispielsweise werden zwei Pixelkomponenten, die in einem Zwei-Byte Format dargestellt sind, in dem das am wenigsten signifikante Byte eine jede Pixelkomponente in einem Ein-Byte Format repräsentiert, verbunden, um ein Vier-Byte verschachteltes Wort zu bilden, dem die ersten zwei Bytes höchst signifikante Bytes der Pixelkomponenten in den Zwei-Byte Format sind, und in dem die nächsten zwei Bytes die am wenigsten signifikanten Bytes der Pixelkomponenten in dem Zwei-Byte Format sind. Da die am wenigsten signifikanten Bytes der Pixelkomponenten in dem Zwei-Byte Format äquivalent zu den zwei Pixelkomponenten sind, die in dem Ein-Byte Format dargestellt sind, sind die zwei Pixelkomponenten effektiv in ein Zwei-Byte Wort umgewandelt, in dem jede Pixelkomponente durch das Ein-Byte Format dargestellt ist.
  • Hardwarekomponenten des Bildverarbeitungssystems
  • Um ein Verständnis der vorliegenden Erfindung zu erleichtern, werden die Hardwarekomponenten des Umarbeitungssystems kurz beschrieben. Das Computersystem 100 (1) umfasst einen Prozessor 102 und einen Speicher 104, der mit dem Prozessor 102 durch einen Bus 106 gekoppelt ist. Der Prozessor 102 holt von dem Speicher 104 Computerinstruktionen und führt die geholten Computerinstruktionen aus. Der Prozessor 102 liest ebenso Daten von und schreibt Daten zum Speicher 104 und sendet Daten und Steuersignale durch den Bus 106 zu einer oder mehreren Computeranzeigevorrichtungen 120 in Übereinstimmung mit den geholten und ausgeführten Computerinstruktionen. Der Prozessor 102 wird detaillierter unterhalb beschrieben.
  • Der Speicher 104 kann irgendeine Art von Computerspeicher enthalten und kann, ohne Beschränkung, Schreib-Lesespeicher (RAM), Nur-Lesespeicher (ROM), und Speichervorrichtungen umfassen, die Speichermedien wie beispielsweise magnetische und/oder optische Platten enthalten. Der Speicher 104 enthält einen Bildprozessor 110, der ein Computerprozess ist, der in den Prozessor 102 vom Speicher 104 ausgeführt wird. Ein Computerprozess ist eine Ansammlung von Computerinstruktionen und Daten, die zusammen eine durch das Computersystem 100 durchzuführende Aufgabe definieren. Wie unterhalb vollständiger beschrieben, liest der Bildprozessor 110 (i) Pixel in einem Verarbeitungsformat von einem Verarbeitungspuffer 112, (ii) arbeitet die Pixel in dem Verarbeitungsformat in Pixel in einem Anzeigeformat um, und (iii) speichert die Pixel in dem Anzeigeformat in einem Anzeigepuffer 114.
  • Verarbeitungspuffer 112 und Anzeigepuffer 114 sind in dem Speicher 104 gespeichert. Die Verarbeitungspuffer 112 speichern Daten, die Pixel eines Grafikbildes in einem Verarbeitungsformat darstellen. In einer Ausführungsform umfasst das Verarbeitungsformat einen 16-Bit vorzeichenlosen Integer, um jedes Band eines jeden Pixels darzustellen. Falls beispielsweise das durch den Verarbeitungspuffer 112 dargestellte Grafikbild ein Einzel-Band Grauwertgrafikbild ist, wird jedes Pixel des Grafikbildes durch einen einzelnen 16-Bit vorzeichenlosen Integer dargestellt. Ähnlich, falls das durch den Verarbeitungspuffer 112 repräsentierte Grafikbild ein 4-Band Farbgrafikbild ist, dessen Bänder alpha, blau, grün und rot sind, ist jedes Pixel des Grafikbildes durch vier angrenzende 16-Bit vorzeichenlose Integer repräsentiert, die Alpha-, Blau- und Grün- und Rotkomponenten des Pixels darstellen.
  • Der Anzeigepuffer 114 kann ein beliebiger Grafikbildpuffer sein, der bei Grafikbildverarbeitung verwendet wird. Beispielsweise kann der Anzeigepuffer 114 ein Z-Puffer sein, der auf bekannte Weise angewendet wird, um verdeckte Oberflächen von einem erstellten Grafikbild zu entfernen. Alternativ kann der Anzeigepuffer 114 ein Rahmenpuffer sein, dessen Inhalte unmittelbar in einer von Computeranzeigevorrichtungen 120 angezeigt werden. Jede der Computeranzeigevorrichtungen 120 kann eine beliebige Art von Computeranzeigevorrichtung sein, einschließlich und ohne Beschränkung eines Druckers, einer Kathodenstrahlröhre (CRT) einer lichtemittierenden Dioden- (LED) Anzeige, oder einer Flüssigkristallanzeige (LCD). Eine jede der Computeranzeigevorrichtungen 120 empfängt vom Prozessor 102 Steuersignale und Daten und, in Antwort auf solche Steuersignale, zeigt die empfangenen Daten an.
  • Computeranzeigevorrichtungen 120, und deren Steuerung durch den Prozessor 102 sind bekannt.
  • Das Anzeigeformat ist ein Format der Daten, das für einen Empfang und eine Anzeige der Daten durch eine oder mehrere von Computeranzeigevorrichtungen 120 geeignet ist. In einem Ausführungsbeispiel umfasst das Anzeigeformat einen 8-Bit vorzeichenlosen Integer, um jedes Band eines jeden Pixels darzustellen. Falls beispielsweise das durch den Anzeigepuffer 114 repräsentierte Grafikbild ein Einzel-Band Grauwertgrafikbild ist, wird jedes Pixel des Grafikbildes durch einen einzelnen 8-Bit vorzeichenlosen Integer dargestellt. Auf ähnliche Weise, falls das durch den Anzeigepuffer 114 repräsentierte Grafikbild ein 4-Band Farbgrafikbild ist, dessen Bänder alpha, blau, grün und rot sind, ist jedes Pixel des Grafikbildes durch vier aneinander grenzende 8-Bit vorzeichenlose Integer gebildet, die alpha, blau, grün und rote Komponenten des Pixels repräsentieren.
  • Das Umarbeiten von Pixeln von dem Verarbeitungsformat im Verarbeitungspuffer 112 in das Anzeigeformat im Anzeigepuffer 114 durch den Bildprozessor 110 ist als logisches Flussdiagramm 200 (2) veranschaulicht. Eine Verarbeitung in Übereinstimmung mit dem logischen Flussdiagramm 200 beginnt mit dem Schleifenschritt 202. Der Schleifenschritt 202 und der nächste Schritt 216 definieren eine Schleife, bei der der Bildprozessor 110 (1) ein jedes Band eines jeden Pixels des Verarbeitungspuffers 112 in Übereinstimmung mit Schritten 204214 verarbeitet. Acht Im Verarbeitungspuffer 112 repräsentierte Pixelkomponenten werden in einer einzelnen Iteration der Schleife verarbeitet, definiert durch Schleifenschritt 202 und den nächsten Schritt 216. Falls beispielsweise das im Verarbeitungspuffer 112 repräsentierte Grafikbild ein Einzel-Band Grauwertgrafikbild ist, werden acht Pixel in einer einzelnen Iteration der Schleife, definiert durch Schleifenschritt 202 und den nächsten Schritt 216, verarbeitet. Falls auf der anderen Seite das im Verarbeitungspuffer 112 repräsentierte Grafikbild ein 4-Band Farbgrafikband ist, werden acht Pixelkomponenten, die gemeinsam zwei Pixel darstellen, in einer einzelnen Iteration der Schleife, definiert durch Schleifenschritt 202 und den nächsten Schritt 216, verarbeitet. Acht Komponenten werden in diesem veranschaulichten Ausführungsbeispiel in jeder Iteration der durch die Schritte 202 und 216 definierten Schleife verarbeitet, da die größte einzelne Schreiboperation, die durch den Prozessor 102 (1) durchgeführt werden kann, auf einmal acht Komponenten im Anzeigeformat zum Anzeigepuffer 114 schreiben kann. Für jede acht der Komponenten der Pixel des Verarbeitungspuffers 112 verläuft die Verarbeitung von Schleifenschritt 202 zum Schritt 204.
  • Im Schritt 204 liest der Bildprozessor 110 (1) acht Pixelkomponenten im Verarbeitungsformat vom Verarbeitungspuffer 112. Der Prozessor 102 führt eine Leseoperation aus, bei der sechzehn aneinandergrenzende Bytes von Daten vom Speicher 104 gelesen werden können. Der Bildprozessor 110 ruft die Leseoperation auf, und bewirkt, dass der Prozessor 102 eine Datenanordnungsoperation durchführt, die die gelesenen Daten so verschiebt, dass das Byte, das die ersten der acht Pixelkomponenten vom Verarbeitungspuffer 112 präsentiert, zu verarbeiten in Übereinstimmung mit der momentanen Iteration der Schleife, definiert durch Schleifenschritt 202 (2) und den nächsten Schritt 216, an einer Acht-Byte Grenze ausgerichtet ist. Die ersten acht Bytes der ausgerichteten Daten repräsentieren vier Pixelkomponenten im Verarbeitungsformat, z. B. vier Pixelkomponenten, dargestellt durch Sechzehn-Bit vorzeichenlose Integer. Die zweiten vier Pixelkomponenten, die in der momentanen Iteration der Schleife, definiert durch Schritte 202 und 216 verarbeitet werden, werden vom Verarbeitungspuffer 112 in einer zweiten Leseoperation gelesen, und einer zweiten, entsprechenden Datenausrichteoperation.
  • In einem bevorzugten Ausführungsbeispiel bestimmt der Bildprozessor 110 (1), ob die ersten sechzehn Bytes von Daten, im Schritt 204 (2) gelesen, bereits an einer Acht-Byte Grenze ausgerichtet sind, bevor die Datenausrichteoperation durchgeführt wird. Falls die sechzehn Bytes von Daten bereits so ausgerichtet sind, führt der Bildprozessor 110 (1) die Datenausrichteoperation nicht durch, und die in einer einzelnen Leseoperation gelesenen Daten repräsentieren alle acht Pixelkomponenten.
  • Während acht Pixelkomponenten im Verarbeitungsformat repräsentierende Daten im wesentlichen gleichzeitig abgerufen werden, werden vier Pixelkomponenten repräsentierende Daten aus dem Verarbeitungsformat in das Anzeigeformat im wesentlichen gleichzeitig umgewandelt. Somit werden acht aneinander angrenzende Bytes, die ersten vier vom Verarbeitungspuffer 112 gelesenen Pixelkomponenten repräsentierend, in einem Datendoppelwort 302 (3) des Bildprozessors 110 (1) gespeichert. Das Datendoppelwort 302 (3) enthält acht partitionierte Bytes H0, L0, H1, L1, H2, L2, H3 und L3. Die Bytes H0 und L0 repräsentieren höchst signifikante und am wenigsten signifikante Bytes der ersten Pixelkomponente. Auf ähnliche Weise repräsentieren die Bytes H1 und L1 höchst signifikante und am wenigsten signifikante Bytes der zweiten Pixelkomponente; die Bytes H2 und L2 repräsentieren höchst signifikante und am wenigsten signifikante Bytes der dritten Pixelkomponente; und Bytes H3 und L3 repräsentieren höchst signifikante und am wenigsten signifikante Bytes der vierten Pixelkomponente. Im Datendoppelwort 302 wird jede der vier Pixelkomponenten so verarbeitet, dass das am wenigsten signifikante Byte einer jeden Pixelkomponente im Verarbeitungsformat äquivalent zur gleichen Pixelkomponente im Anzeigeformat ist. In einem Ausführungsbeispiel skaliert die Verarbeitung der Pixelkomponenten, während sie im Verarbeitungspuffer 112 (1) gespeichert sind, die Pixelkomponenten, so dass der am wenigsten signifikante Abschnitt einer jeden Pixelkomponente die Pixelkomponente im Anzeigeformat repräsentiert. Da eine Verarbeitung von Pixelkomponenten typischerweise ein Skalieren von Pixelkomponenten beinhaltet, kann der Skalierungsfaktor so eingestellt werden, dass das Ergebnis einer solchen Verarbeitung eine Pixelkomponente ist, deren am wenigsten signifikanter Abschnitt genau die Pixelkomponente im Anzeigeformat darstellt. In diesem veranschaulichendem Ausführungsbeispiel werden Pixelkomponenten im Verarbeitungsformat von sechzehn Bit vorzeichenlosen Integer verarbeitet, werden jedoch während der Verarbeitung skaliert, um einen Wert im Bereich von 0 bis 255 aufzuweisen, was durch die am wenigsten signifikanten acht Bits der Pixelkomponente repräsentiert wird. Als eine Folge ist der höchst signifikante Abschnitt der Pixelkomponente im Verarbeitungsformat, z. B. die acht höchst signifikanten Bits in diesem veranschaulichenden Ausführungsbeispiel, Null.
  • In einem alternativen Ausführungsbeispiel werden partitionierte arithmetische Operationen durch den Prozessor 102 (1) mit dem Datendoppelwort 302 (3) durchgeführt, um eine jede der vier Pixelkomponenten, die in dem Datendoppelwort 302 dargestellt ist, im wesentlichen gleichzeitig zu skalieren, so dass der am wenigsten signifikante Abschnitt einer jeden Pixelkomponente die Pixelkomponente im Anzeigeformat repräsentiert.
  • Im Schritt 204 (2) speichert der Bildprozessor 110 (1) die zweiten vier Pixelkomponenten im Datendoppelwort 312 (3) direkt auf zur oben mit Bezug auf das Datendoppelwort 302 beschriebenen analoge Art und Weise. Eine Verarbeitung schreitet voran vom Schritt 204 (2) zum Schritt 206.
  • Im Schritt 206 verbindet der Bildprozessor 110 (1) die Bytes H0 (3), L0, H1, und L1 mit Bytes H2, L2, H3 und L3 unter Verwendung einer P-Verknüpfungsoperation 306, die durch den Prozessor 102 (1) durchgeführt wird, und die in 4 veranschaulicht ist. Das Datenwort 402 weist 32 Bit Länge auf und enthält vier partitionierte Bytes 402A-D. Auf ähnliche Weise ist das Datenwort 402 32 Bits in Länge und enthält vier partitionierte Bytes 404A-D. Die P-Verbindeoperation verschachtelt jeweilige Bytes von Datenworten 402 und 404 in ein Doppeldatenwort 406, wie gezeigt. Das Doppeldatenwort 406 ist 64 Bits in Länge und enthält acht partitionierte Bytes 406A-H. Das Ergebnis von der P-Verbindeoperation 304 (3) ist ein Datendoppelwort 30b, das 64 Bits Länge aufweist, und dessen acht partitionierte Bytes die folgenden Werte aufweisen: H0, H2, L0, L2, H1, H3, L1 und L3. Eine Verarbeitung schreitet vom Schritt 206 (2) zum Schritt 208 voran.
  • Im Schritt 208 verbindet der Bildprozessor 110 (1) obere vier Bytes 306H (3) vom Datendoppelwort 306 und niedere vier Bytes 306L vom Datendoppelwort 306 unter Verwendung einer P-Verbindeoperation 308, was direkt analog zur P-Verbindeoperation 304, oben beschrieben, ist. Das Ergebnis der P-Verbindeoperation 308 ist ein Doppeldatenwort 310, was 64 Bits Länge aufweist, und dessen acht partitionierte Bytes die folgenden Werte aufweisen: H0, H1, H2, H3, L0, L1, L2 und L3. Eine Verarbeitung schreitet vom Schritt 208 (2) zum Schritt 210 voran.
  • Im Schritt 210 verbindet der Bildprozessor 110 (1) die zweiten vier Pixelkomponenten, die im Datendoppelwort 312 gespeichert sind, unter Verwendung einer P-Verbindeoperation 314 auf direkt zu dem analoge Art und Weise, was oben mit Bezug auf Schritt 206 (2) beschrieben wurde, um das Datendoppelwort 316 zu erzeugen, dessen acht partitionierte Bytes H4 (3), H6, L4, L6, H5, H7, L5 und L7 sind. Eine Verarbeitung schreitet zum Schritt 212 (2) voran, in dem der Bildprozessor 110 (1) obere vier Bytes 316H (3) und niedere vier Bytes 316L vom Datendoppelwort 316, die zweiten vier Pixelkomponenten repräsentierend, auf direkt zu dem analoge Art und Weise, was oben mit Bezug auf Schritt 208 (2) beschrieben wurde, verbindet. Das Ergebnis der P-Verbindeoperation 318 (3) ist ein Datendoppelwort 320, das 64 Bit Länge aufweist, und dessen acht partitionierte Bytes die folgenden Werte aufweisen: H5, H6, H7, L4, L5, L6 und L7.
  • Wie oben erläutert, repräsentiert das am wenigsten signifikante Byte einer jeden der Pixelkomponenten in dem Verarbeitungsformat genau die Pixelkomponente in dem Anzeigeformat. Da Bytes L0, L1, L2 und L3 die am wenigsten signifikanten Bytes der im Schritt 204 (2) abgerufenen ersten vier Pixelkomponenten sind, repräsentieren die Bytes L0 (3), L1, L2 und L3 genau die ersten vier Pixelkomponenten im Anzeigeformat. Auf ähnliche Weise sind die Bytes L4, L5, L6 und L7 die am wenigsten signifikanten Bytes der im Schritt 204 (2) abgerufenen zweiten vier Pixelkomponenten, und daher repräsentieren sie genau die zweiten vier Pixelkomponenten im Anzeigeformat. Im Schritt 214 schreibt der Bildprozessor 110 (1) zum Anzeigepuffer 114 niedere Bytes 310L (3) vom Datendoppelwort 310 und niedere vier Bytes 320L vom Datendoppelwort 320, was gemeinsam ein Datendoppelwort 322 bildet, dessen acht partitionierte Bytes die Werte L0, L1, L2, L3, L4, L5, L6 und L7 aufweisen. In einem Ausführungsbeispiel kombiniert der Bildprozessor 110 (1) die niederen vier Bytes 310L ( 3) vom Datendoppelwort 310 und niedere vier Bytes 320L vom Datendoppelwort 320, um ein Datendoppelwort 322 zu bilden, vor einem Schreiben des Datendoppelworts 322 in einen einzelnen Computer, vor einem Schreiben des Datendoppelworts 322 zum Anzeigepuffer 114 (1).
  • Somit werden acht Pixelkomponenten von einem Verarbeitungsformat in ein Anzeigeformat umgewandelt, unter Verwendung von nur zwei Leseoperationen und einer einzigen Schreiboperation. Zusätzlich werden vier Pixelkomponenten vom Verarbeitungsformat in nur zwei P-Verbindeoperationen in das Anzeigeformat umgewandelt. Demzufolge benötigt ein Umwandeln einer Million Vier-Band Farbpixel im Verarbeitungsformat im Verarbeitungspuffer 112 ins Anzeigeformat im Anzeigepuffer 114 nur eine Million Leseoperationen, 500.000 Schreiboperationen und 500.000 P-Verbindeoperationen. Demgegenüber benötigt eine herkömmliche Umwandlungstechnik typischerweise vier Millionen Leseoperationen, vier Millionen Schreiboperationen, und mindestens vier Millionen Operationen zur Umwandlung aller Pixelkomponenten. Daher liefert die vorliegende Erfindung eine signifikante Verbesserung gegenüber herkömmlichen Grafikbildformat-Umwandlungsverfahren.
  • Wie oben erläutert, kann eine Speicherung von Pixeln im Anzeigepuffer 114 unmittelbar oder indirekt eine Anzeige solcher Pixel an einer oder mehreren Computeranzeigevorrichtungen 120 zur Folge haben. Vom Schritt 214 (2) schreitet eine Verarbeitung durch den nächsten Schritt 216 zum Schleifenschritt 212 voran, in dem die nächsten acht Pixelkomponenten, die im Verarbeitungspuffer 112 gespeichert sind, in Übereinstimmung mit den Schritten 204214 verarbeitet werden. Sobald alle in dem Verarbeitungspuffer 112 gespeicherten Pixelkomponenten in Übereinstimmung mit der Schleife vom Schleifenschritt 202 und dem nächsten Schritt 216 verarbeitet wurden, ist eine Verarbeitung in Übereinstimmung mit dem Logikflussdiagramm 200 beendet.
  • Während es allgemein beschrieben wurde, dass alle Pixelkomponenten, die in dem Verarbeitungspuffer 112 (1) verarbeitet werden, acht Pixel pro Iteration der Schleife von dem Schleifenschritt 202 (2) und dem nächsten Schritt 216, speichern einige Puffer nicht notwendigerweise Pixel von aufeinanderfolgenden Abtastlinien in angrenzender Weise. Daher verarbeitet in einem bevorzugten Ausführungsbeispiel der Bildprozessor 110 (1), in jeder Iteration der Schleife vom Schleifenschritt 202 (2) und dem nächsten Schritt 216, acht Pixelkomponenten einer innerhalb des Verarbeitungspuffers 112 (1) gespeicherten bestimmten Abtastlinie. In diesem bevorzugten Ausführungsbeispiel verarbeitet der Bildprozessor 110 jede Abtastlinie vom Verarbeitungspuffer 112 in einer Sequenz.
  • Es versteht sich, dass Abtastlinien eines bestimmten Grafikbildes, repräsentiert durch den Verarbeitungspuffer 112, manchmal eine Anzahl von Pixelkomponenten aufweisen, die nicht genau durch acht teilbar sind. In solchen Umständen verarbeitet der Bildprozessor 110 eine, zwei, drei, vier, fünf, sechs oder sieben Pixelkomponenten, die im Verarbeitungspuffer 112 gespeichert sind, auf die oben mit Bezug auf die Schritte 202214 (2) beschriebene Art und Weise, während überschüssige Bytes von Datendoppelworten 302 (3), 306, 310, 312, 316, 320 und 322 ignoriert werden. Beispielsweise, wenn Abtastlinien eines im Verarbeitungspuffer 112 repräsentierten Grafikbildes eine Anzahl von Pixelkomponenten enthalten, die eins mehr als ein ganzzahliges Vielfaches von Acht sind, wird eine innerhalb des Verarbeitungspuffers 112 gespeicherte Pixelkomponente auf die folgende Art und Weise verarbeitet.
  • Der Bildprozessor 110 liest eine Pixelkomponente von Verarbeitungspuffer 112 und speichert die gelesene Pixelkomponente als Bytes H0 und L0 im Datendoppelwort 302 (3). Bytes H1, L1, H2, L2, H3, L3, H4, L4, H5, L5, H6, L6, H7 und L7 werden ignoriert. P-Verbindeoperationen 304 und 308 werden auf die oben beschriebene Art und Weise durchgeführt. Als eine Folge ist das Byte L0 das höchst signifikante Byte vom Datendoppelwort 322 und ist im Anzeigepuffer 114 (1) durch den Bildprozessor 110 abgespeichert. Bytes L2–7 (3) vom Datendoppelwort 322 werden ignoriert.
  • Prozessor 102
  • Der Prozessor 102 ist detaillierter in 5 gezeigt, und kurz hierin beschrieben, und genauer in der '572 Anmeldung. Der Prozessor 102 enthält eine Vorab-Hol- und Absetzeinheit (PDU) 46, einen Instruktionscache 40, eine Integer Ausführungseinheit (IEU) 30, eine Integer Registerdatei 36, eine Fließkomma Ausführungseinheit (FPU) 26, eine Fließkomma Registerdatei 38, und eine Grafikausführungseinheit (GRU) 28, die jeweils miteinander verbunden sind, wie dies gezeigt ist. Zusätzlich enthält der Prozessor 102 zwei Speicherverwaltungseinheiten (IMMU & DMMU) 44a44b, und eine Lade- und Speichereinheit (LSU) 48, die ihrerseits einen Datencache 120 enthalten, gekoppelt mit allen anderen und den vorhergehend beschriebenen Elementen, wie dies gezeigt ist. Zusammen holen die Komponenten vom Prozessor 102, setzen ab, führen aus, und speichern Ausführungsergebnisse von Computerinstruktionen, z. B. Computerinstruktionen vom Bildprozessor 110 (1), auf eine Pipeline-Art.
  • Die PDU 46 (5) holt Instruktionen vom Speicher 104 (1) und setzt die Instruktionen zur IEU 30 (5), FPU 26, GRU 28 und LSU 48 in entsprechender Weise ab. Vorab geholte Instruktionen werden im Instruktionscache 40 gespeichert. Die IEU 30, FPU 26 und GRU 28 führen Integer-, Fließkomma-, beziehungsweise Grafikoperationen durch. Allgemein werden die Integeroperanten und Ergebnisse in der Integer Registerdatei 36 gespeichert, wohingegen die Fließkomma- und Grafikoperanden und Ergebnisse in der Fließkomma Registerdatei 38 gespeichert werden. Zusätzlich führt die IEU 30 auch eine Anzahl von Grafikoperationen aus, und fügt Adressspeicheridentifizierer (ASI) zu Adressen von Lade/Speicherinstruktionen für die LSU 48 hinzu, was die Adressräume identifiziert, auf die zugegriffen wird. Die LSU 48 erzeugt Adressen für alle Lade- und Speicheroperationen. Die LSU 48 unterstützt ebenso eine Anzahl von Lade- und Speicheroperationen, speziell für Grafikdaten ausgelegt.
  • Speicherbezüge werden in virtuellen Adressen durchgeführt. Die MMUs 44a44b bilden virtuelle Adressen auf physikalische Adressen ab.
  • Die PDU 46, IEU 30, FPU 26, die Integer- und Fließkomma Registerdateien 36 und 38, die MMUs 44a44b und die LSU 48 können miteinander auf eine beliebige einer Anzahl von Konfigurationen verknüpft sein, wie dies genauer in der '572 Anmeldung beschrieben ist. Wie genauer in der '572 Anmeldung mit Bezug auf die 8a8d darin beschrieben, führt die GRU 28 eine Anzahl von getrennt partitionierten Multiplikationsoperationen und partitionierten Additionsoperationen durch. Verschiedene partitionierte Operationen, durch den Bildprozessor 110 (1) verwendet, werden genauer unterhalb erläutert.
  • Wie oben beschrieben, enthält der Prozessor 102 vier (4) getrennte Verarbeitungseinheiten, d. h. die LSU 48, IEU 30, FPU 26 und die GRU 28. Jede dieser Verarbeitungseinheiten ist vollständiger in der '572 Anmeldung beschrieben. Diese Verarbeitungseinheiten arbeiten parallel und können eine jeweilige Computerinstruktion durchführen, während andere der Verarbeitungseinheiten eine andere Computerinstruktion durchführen. Die GRU 28 führt die oben beschriebenen P-Verbindeoperationen durch.
  • In einem Ausführungsbeispiel ist der Prozessor 102 der UltraSPARC Prozessor und das Computersystem 100 (1) ist die U1traSPARCstation, die beide von Sun Microsystems, Inc. auf Mountain View, California, verfügbar sind. Sun, Sun Microsystems und das Sun Logo sind Warenzeichen oder registrierte Warenzeichen von Sun Microsystems, Inc. in den Vereinigten Staaten und anderen Ländern. Alle SPARC Warenzeichen werden unter Lizenz verwendet und sind Warenzeichen von SPARC International, Inc. in den Vereinigten Staaten und anderen Ländern. Produkte mit den SPARC Warenzeichen basieren auf einer Architektur, die durch Sun Microsystems, Inc. entwickelt ist.

Claims (16)

  1. Verfahren zum Konvertieren eines ersten Datenwortes (302), welches vier Datenkomponenten enthält, welche in einem ersten Datenformat sind, wobei jede Daten von den Datenkomponenten einen ersten Abschnitt (Hi) und einen zweiten Abschnitt (Li) haben, wobei ein ausgewählter Abschnitt von den Abschnitten die Datenkomponente in einem zweiten Datenformat darstellt, in ein zweites Datenwort, welches die vier Datenkomponenten in dem zweiten Datenformat enthält, wobei das erste Datenwort partitioniert ist in einen ersten Teil (302H) und einen zweiten Teil (302L), wobei das Verfahren die Schritte enthält: a. Verschachteln i) des ersten Teiles (302H) des ersten Datenwortes (302), welches eine erste von den vier Datenkomponenten enthält und ii) des zweiten Teiles (302L) des ersten Datenwortes (302), welches eine zweite von den vier Datenkomponenten enthält, um verschachtelte Daten (306H) auszubilden, welche einen ersten Abschnitt (H0) von der ersten Datenkomponente, welche angrenzend zu einem ersten Abschnitt (H2) von der zweiten Datenkomponente ist, und einen zweiten Abschnitt (L0) von der ersten Datenkomponente, welche angrenzend zu dem zweiten Abschnitt (L2) von der zweiten Datenkomponente ist, enthält, wobei die ersten Abschnitte von der ersten und zweiten Datenkomponente die erste und zweite Datenkomponente in dem zweiten Datenformat darstellen; und
  2. Einschließen des ersten und zweiten Abschnitts von der ersten und zweiten Datenkomponente, derart verschachtelt in einen ersten Teil (306H) von einem verschachtelten Datenwort (306); c. Verschachteln i) des ersten Teiles (302H) von dem ersten Datenwort (302), welches eine dritte von den vier Datenkomponenten enthält und ii) des zweiten Teiles (302L) von dem ersten Datenwort (302), welches eine vierte von den vier Datenkomponenten enthält, um verschachtelte Daten (306L) zu bilden, welche einen ersten Abschnitt (H1) von der dritten Datenkomponente enthalten, welche angrenzend ist zu einem ersten Abschnitt (H3) von der vierten Datenkomponente, und einen zweiten Abschnitt (L1) von der dritten Datenkomponente, welche angrenzend ist zu dem zweiten Abschnitt (L3) von der vierten Datenkomponente, wobei die ersten Abschnitte von der dritten und vierten Datenkomponente die dritte und vierte Datenkomponente in dem zweiten Datenformat darstellen; und
  3. Einschließen des ersten und zweiten Abschnittes von der dritten und vierten Datenkomponente, derart verschachtelt in einen zweiten Teil (306L) von dem verschachtelten Datenwort (306);
  4. wobei das Verfahren ferner den Schritt (308) eines Anwendens der Schritte wie in a. bis d. definiert, auf das verschachtelte Datenwort (306) enthält, um das zweite Datenwort (310) zu bilden, wobei die ersten Abschnitte von den vierten Datenkomponenten zusammenhängend in einem ersten Teil von dem zweiten Datenwort angeordnet werden, und die zweiten Abschnitte von den vier Datenkomponenten zusammenhängend in einem zweiten Teil von dem zweiten Datenwort angeordnet werden.
  5. Verfahren nach Anspruch 1, wobei der Schritt des Verschachtelns ausgeführt wird durch einen Computerprozessor (102) in einem einzigen Instruktionszyklus des Computerprozessors (102).
  6. Verfahren nach Anspruch 1, ferner enthaltend: Lesen des ersten Datenwortes, welches in einem Speicher (104) des Computers gespeichert ist.
  7. Verfahren nach Anspruch 1, wobei der ausgewählte Abschnitt von der ersten Datenkomponente zumindest ein signifikanter Abschnitt des ersten Datenwortes ist; und wobei ferner der ausgewählte Abschnitt von der zweiten Datenkomponente zumindest ein signifikanter Abschnitt des zweiten Datenwortes ist.
  8. Verfahren nach Anspruch 1 ferner enthaltend: Speichern des zweiten Datenwortes in einem Speicher (104) von einem Computer.
  9. Computerprogrammprodukt, welches ein computerverwendbares Medium enthält, welches einen darin enthaltenen computerlesbaren Code hat zum Konvertieren eines ersten Datenwortes (302), welches vier Datenkomponenten in einem ersten Datenformat enthält, in ein zweites Datenwort, welches die vier Datenkomponenten in einem zweiten Datenformat enthält, wobei der computerlesbare Code ausführt: ein Verfahren nach einem der Ansprüche 1 bis 5.
  10. Datenumgestalter zum Konvertieren eines ersten Datenwortes (302), welches vier Datenkomponenten in einem ersten Datenformat enthält, in ein zweites Datenwort, welches die vier Datenkomponenten in einem zweiten Datenformat enthält, wobei der Datenumgestalter enthält: eine Vorrichtung nach einem der Ansprüche 1 bis 5.
  11. Computersystem mit: einem Speicher (104); einem Computerprozessor (102), welcher betrieblich mit dem Speicher (104) verbunden ist; und einer Datenumgestalter-Vorrichtung nach Anspruch 7.
  12. System zum Verbreiten eines Codes (i), welcher auf einem computerlesbaren Medium gespeichert ist, (ii) welcher durch einen Computer ausführbar ist, und (iii) welcher mindestens ein Modul enthält, von denen jedes wiederum konfiguriert ist zum Durchführen mindestens einer Funktion, welche durch den Computer ausgeführt wird, wobei die mindestens eine Funktion ein Konvertieren enthält eines ersten Datenwortes (302), welches vier Datenkomponenten in einem ersten Datenformat enthält, in ein zweites Datenwort, welches die vier Datenkomponenten in einem zweiten Datenformat enthält, wobei das System enthält: eine Vorrichtung zum Durchführen aller Schritte des Verfahrens nach einem der Ansprüche 1 bis 5.
  13. Vorrichtung zum Konvertieren eines ersten Datenwortes (302), welches vier Datenkomponenten enthält, welche in einem ersten Datenformat sind, wobei jede Daten von den Datenkomponenten einen ersten Abschnitt (Hi) und einen zweiten Abschnitt (Li) haben, wobei ein ausgewählter Abschnitt von den Abschnitten die Datenkomponente in einem zweiten Datenformat darstellt, in ein zweites Datenwort, welches die vier Datenkomponenten in dem zweiten Datenformat enthält, wobei das erste Datenwort partitioniert ist in einen ersten Teil (302H) und einen zweiten Teil (302L), wobei die Vorrichtung enthält: ein Merger-Modul, welches konfiguriert ist zum Verschachteln (i) eines ersten Abschnittes (302H) des ersten Datenwortes (302), welches eine erste von den vier Datenkomponenten enthält und ii) eines zweiten Abschnittes (302L) des ersten Datenwortes (302), welches eine zweite von den vier Datenkomponenten enthält, um ein verschachteltes Datenwort (306) auszubilden, welche einen ersten Abschnitt (H0) von der ersten Datenkomponente, welche angrenzend zu einem ersten Abschnitt (H2) von der zweiten Datenkomponente ist, und einen zweiten Abschnitt (L0) von der ersten Datenkomponente, welche angrenzend zu dem zweiten Abschnitt (L2) von der zweiten Datenkomponente ist, enthält, wobei die ersten Abschnitte von der ersten und zweiten Datenkomponente die erste und zweite Datenkomponente in dem zweiten Datenformat darstellen; und ein Datenauswahlmodul, welches betrieblich mit dem Merger-Modul verbunden ist und zum Einschließen der ersten und zweiten Datenkomponente von dem verschachtelten Datenwort (306) in dem zweiten Datenwort konfiguriert ist; wobei der erste Abschnitt (302H) von dem ersten Datenwort (302) ferner eine dritte von den vier Datenkomponenten enthält; (a) wobei ferner der zweite Abschnitt (302L) von dem ersten Datenwort (302) ferner eine vierte der vier Datenkomponenten enthält; (b) wobei ferner das verschachtelte Datenwort (30b) ferner einen ersten Abschnitt (H2) von der dritten Datenkomponente und einen ersten Abschnitt (H3) von der vierten Datenkomponente enthält, wobei die ersten Abschnitte von der dritten und vierten Datenkomponente zueinander angrenzend sind, innerhalb des verschachtelten Wortes (306); (c) wobei ferner die ersten Abschnitte von der dritten und vierten Datenkomponente die dritte und vierte Datenkomponente in dem zweiten Datenformat darstellen; (d) wobei ferner die Vorrichtung ferner enthält: (i) ein von dem zuvor genannten Merger-Modul unterschiedliches zweites Merger-Modul, welches betrieblich mit dem ersten Merger-Modul und dem Datenauswahlmodul verbunden ist, und konfiguriert ist zum Verschachteln eines ersten Abschnitts (302H) des verschachtelten Wortes mit einem zweiten Abschnitt (306L) des verschachtelten Wortes (310), um ein zweites verschachteltes Wort zu bilden, in welchem der ausgewählte Abschnitt von der ersten, zweiten, dritten und vierten Datenkomponente im wesentlichen zusammenhängend ist; und (e) wobei ferner das Datenauswahlmodul ferner konfiguriert ist zum Einschließen der ausgewählten Abschnitte von der dritten und vierten Datenkomponente in das zweite Datenwort.
  14. Vorrichtung nach Anspruch 10, wobei das Merger-Modul ferner konfiguriert ist zum Verschachteln des ersten (302H) und zweiten Abschnitts (302L) von dem ersten Datenwort (302) in einem einzigen Instruktionszyklus von einem Computerprozessor (102).
  15. Vorrichtung nach Anspruch 11, ferner enthaltend: ein Datenkomponente-Abrufmodul, welches betrieblich mit dem Merger-Modul verbunden ist, und konfiguriert ist zum Lesen des ersten Datenwortes von einem Speicher (104) eines Computers.
  16. Computerprogrammprodukt nach Anspruch 6, wobei der computerlesbare Code ferner enthält: ein Datenkomponente-Speichermodul, welches betrieblich mit dem Datenauswahlmodul verbunden ist, und konfiguriert ist zum Speichern des zweiten Datenwortes in einem Speicher (104) eines Computers.
DE69722859T 1996-07-01 1997-07-01 Formatumwandlung von Datenwörtern graphischer Bilder Expired - Fee Related DE69722859T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/674,510 US5867145A (en) 1996-07-01 1996-07-01 Graphical image recasting
US674510 1996-07-01

Publications (2)

Publication Number Publication Date
DE69722859D1 DE69722859D1 (de) 2003-07-24
DE69722859T2 true DE69722859T2 (de) 2004-05-13

Family

ID=24706894

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69722859T Expired - Fee Related DE69722859T2 (de) 1996-07-01 1997-07-01 Formatumwandlung von Datenwörtern graphischer Bilder

Country Status (4)

Country Link
US (1) US5867145A (de)
EP (1) EP0817003B1 (de)
JP (1) JPH1079039A (de)
DE (1) DE69722859T2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995716A (en) * 1997-01-21 1999-11-30 Xerox Corporation System for organizing codes representing selectable colors in a digital printing apparatus
WO2001042903A1 (fr) * 1999-12-07 2001-06-14 Hitachi, Ltd. Appareil et systeme de traitement de donnees
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US20040133745A1 (en) 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US6803922B2 (en) * 2002-02-14 2004-10-12 International Business Machines Corporation Pixel formatter for two-dimensional graphics engine of set-top box system
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
EP1949221B1 (de) 2005-10-28 2018-04-11 Nxp B.V. Slave- und master-einrichtung, system mit den einrichtungen und verfahren zum betrieb der slave-einrichtung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4141005A (en) * 1976-11-11 1979-02-20 International Business Machines Corporation Data format converting apparatus for use in a digital data processor
GB8614876D0 (en) * 1986-06-18 1986-07-23 Rca Corp Display processors
US5068644A (en) * 1988-05-17 1991-11-26 Apple Computer, Inc. Color graphics system
JP2997513B2 (ja) * 1990-07-25 2000-01-11 株式会社日立製作所 シエアードプリンタシステム
US5241658A (en) * 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
US5469190A (en) * 1991-12-23 1995-11-21 Apple Computer, Inc. Apparatus for converting twenty-four bit color to fifteen bit color in a computer output display system
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
JP3124648B2 (ja) * 1993-03-19 2001-01-15 富士通株式会社 色データ管理方法及び装置
US5524256A (en) * 1993-05-07 1996-06-04 Apple Computer, Inc. Method and system for reordering bytes in a data stream

Also Published As

Publication number Publication date
US5867145A (en) 1999-02-02
EP0817003A2 (de) 1998-01-07
EP0817003A3 (de) 1998-02-04
DE69722859D1 (de) 2003-07-24
EP0817003B1 (de) 2003-06-18
JPH1079039A (ja) 1998-03-24

Similar Documents

Publication Publication Date Title
DE69722859T2 (de) Formatumwandlung von Datenwörtern graphischer Bilder
DE68924389T2 (de) Verfahren und Einrichtung zur Anzeige einer Vielzahl von graphischen Bildern.
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69127915T2 (de) System und Verfahren von Prioritätsfarbabbildung
DE69222247T2 (de) Gammakorrektur und invertierte Gammakorrektur mit Nachschlagtabellen für hochauflösende Rasterpuffer
DE3751720T2 (de) Schaltung für die bildschirmwiedergabe von computern
DE3587209T2 (de) Datenanzeigesystem mit Möglichkeit zum Mischen von Anzeigequellen und mit Benutzung eines Anzeigegerätes vom Speichertyp.
DE3486494T2 (de) Graphisches Musterverarbeitungsgerät
DE69122557T2 (de) Bilderzeugung
DE69328070T2 (de) Maske zum Auswählen von Kompenenten in einem Verbundoperand
DE2724125C2 (de)
DE69418646T2 (de) Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger
DE19920214C2 (de) Verfahren und Einrichtung zum Konvertieren einer Zahl zwischen einem Gleitkommaformat und einem Ganzzahlformat
DE69417309T2 (de) Verfahren und Einrichtung zur Datenübertragung zum Speicher
DE3424962C2 (de)
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE69018519T2 (de) Rechnergesteuerte Bildüberlagerung.
DE3636394C2 (de) Einrichtung und Verfahren zur Speicherorganisation
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE69430857T2 (de) Zeichnungsverarbeitungsgerät für drei-dimensionalen graphischen Hoch-Leistungsbeschleuniger
DE2421130C2 (de)
DE3889240T2 (de) Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen.
DE4403917A1 (de) Vorrichtung zum Berechnen einer Besetzungszählung
DE3786633T2 (de) Zweiunddreissig-Bit-Bitscheibe.
DE69804562T2 (de) Prozessarchitektur und Verfahren zur Durchführung von verschiedenen Adressierungsarten

Legal Events

Date Code Title Description
8339 Ceased/non-payment of the annual fee