DE69610667T2 - Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm - Google Patents

Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm

Info

Publication number
DE69610667T2
DE69610667T2 DE69610667T DE69610667T DE69610667T2 DE 69610667 T2 DE69610667 T2 DE 69610667T2 DE 69610667 T DE69610667 T DE 69610667T DE 69610667 T DE69610667 T DE 69610667T DE 69610667 T2 DE69610667 T2 DE 69610667T2
Authority
DE
Germany
Prior art keywords
video
graphics
data
memory
output
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
DE69610667T
Other languages
English (en)
Other versions
DE69610667D1 (de
Inventor
James S O'sullivan
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
Application granted granted Critical
Publication of DE69610667D1 publication Critical patent/DE69610667D1/de
Publication of DE69610667T2 publication Critical patent/DE69610667T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • 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/363Graphics controllers
    • 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/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf eine Vorrichtung und ein Verfahren für graphische Anzeigen auf einem Computerbildschirm, und genauer gesagt auf das gleichzeitige Anzeigen von Daten aus Grafikquellen und Videoquellen auf demselben Bildschirm.
  • Graphische Anwendungen werden bei Computerbenutzern zunehmend populärer. Bilder mit hoher Auflösung, bewegte Bilder (Animation) und andere visuelle und graphische Effekte, die auf einem Computerbildschirm dargestellt werden, sind im Zuge der Entwicklung von Mikroprozessoren, die eine größere Geschwindigkeit und Verarbeitungsleistung haben, allgemein üblich geworden. Graphische Benutzerschnittstellen (GUIs) werden beispielsweise in weitem Umfang verwendet. Es ist allgemein anerkannt, daß Computer mit graphischen Benutzerschnittstellen (GUIs) einfacher zu benutzen sind und daß man ein Anwendungsprogramm in einer GUI-Umgebung schneller lernen kann als in einer Nicht-GUI-Umgebung.
  • Die zunehmenden graphischen Fähigkeiten von Computern haben zu der Anzeige von Videosignalen auf Computerbildschirmen geführt. Eine Videoquelle, wie z. B. eine Videokamera, ein Fernsehempfänger etc. können verwendet werden, um ein Videosignal in einen Computer einzugeben. Komponenten wie z. B. ein Analog/Digital-Wandler (ADC) wandeln die analogen Videosignale in digitale Signale um, welche der Computer verarbeiten kann. Diese digitalen Signale sind typischerweise in "Pixeln" angeordnet, welche die grundlegenden Bildelemente eines Bildes auf einem Bildschirm sind. Der Computer sendet schließlich das digitale Videodatensignal an einen Digital/Analog-Wandler (DAC), um analoge Videosignale auf einem Computerbildschirm darzustellen, die beispielsweise wie die auf einer CRT (Kathodenstrahlröhre) eines Fernsehgerätes dargestellten Bilder und Animationen aussehen. Viele Computer können Live-Videosignale in voller Farbe und Auflösung darstellen ohne Verluste hinsichtlich der Bildwiederholrate oder der Einzelheiten.
  • Eine übliche Anwendung von auf dem Computer dargestellten Videosignalen ist die Anzeige eines Video-Fensters" auf einem Bildschirm, welches von durch den Computer erzeugter, dargestellter Grafik umgeben ist. Beispielsweise zeigt in einer GUI der Computer typischerweise einen graphischen Hintergrund, verschiedene Menüauswahlen, Formen von Icons, offenen Fenstern auf dem Bildschirm, etc. Ein Live- bzw. Realzeit-Video-Fenster kann auf einem Teil des Bildschirms dargestellt werden, während der Rest des Bildschirms standardmäßige graphische Gegenstände wiedergibt. Ein Computerbenutzer kann demnach ein Live-Video-Fenster betrachten, während er mit anderen Computeranwendungen, wie z. B. einem Textverarbeitungsfenster oder einem "spread sheet"-Fenster arbeitet. Die Größe des Video-Fensters kann bei einigen Anwendungen durch den Benutzer eingestellt werden, auch wenn die Auflösung und Bildwiederholrate für eine bestimmte Fenstergröße von der Geschwindigkeit und Verarbeitungsleistung des Computers und seines Anzeigeschaltkreises abhängt.
  • Beim gleichzeitigen Anzeigen sowohl von graphischen Daten als auch von Videodaten auf einem Computerbildschirm verwendet der Computer typischerweise einen Speicher, um die graphischen Daten und Videodaten zu speichern, bevor sie auf dem Bildschirm dargestellt werden. Fig. 1 ist ein Blockdiagramm eines typischen Anzeigesystems 10 nach dem Stand der Technik, welches auf einem Computer verwendet wird, um gleichzeitig Videodaten und Grafikdaten auf demselben Bildschirm darzustellen. Befehle von einem Mikroprozessor werden auf einem Systembus 12 an einen graphischen Adapterchip 14 geschickt, der als ein anwendungsspezifischer integrierter Schaltkreis (ASlC) realisiert sein kann. Der Grafikadapterchip 14 empfängt die Befehle, wie z. B. Zeichenbefehle, Wiedergabebefehle oder Befehle zur Übertragung von Daten in den Speicher und führt diese Befehle durch. Der Grafikadapterchip 14 sendet die erzeugten Daten auf dem Bus 15 an einen VRAM oder andere Arten von Speicherchips 16, um die erzeugten graphischen Daten zu speichern. Die Grafikdaten aus dem VRAM-Chip 16 werden an den Digital/Analog-Konverter (DAC) 18 übermittelt, wenn von dem Grafikadapterchip 14 eine entsprechende Anweisung kommt. Der DAC 18 wandelt die digitalen Grafikdaten in Analogdaten um, damit diese auf dem Anzeigebildschirm 19 dargestellt werden. Ein übliches Verfahren für die Darstellung ist die Ausgabe getrennter roter, grüner und blauer (RGB) Signale von dem DAC an einen Farbbildschirm. Ein Video-Fenster 21 wird auf einem Bildschirm 19 mit einem graphischen Hintergrund 22 dargestellt.
  • Das Anzeigesystem 10 weist auch eine Videoquelle 20 für die Eingabe eines Videosignales auf. Typischerweise werden Videoquellen wie z. B. eine Videokamera, ein Videokassettenrecorder oder ein Fernsehempfänger verwendet. Das analoge Videosignal von der Videoquelle wird an einen Analog/Digital-Wandler (ADC)/Decoder/Impulsfrequenzteiler 24 eingegeben, der das analoge Videosignal in ein digitales Signal umwandelt, welches für die Verwendung mit den anderen digitalen Komponenten des Systems geeignet ist, und extrahiert verwendbare Videodaten und Synchronisationssignale aus den digitalisierten Videodaten. Der ADC/Decoder/Impulsfrequenzteiler 24 gibt digitale Videodaten, Synchronisationsdaten und andere Daten auf den Bus 26 aus, die aus den Fachleuten wohlbekannten Komponenten abgeleitet werden, wobei der Bus 26 mit dem Ausgang des Busses 15 von dem Grafikadapterchip 14 gemischt wird. Die Videodaten werden in dem VRAM 16 gespeichert und teilen demnach den Speicher mit Grafikdaten, die von dem Grafikadapterchip 14 erzeugt werden. Typischerweise werden Videodaten in einem bestimmten Abschnitt des Speichers gespeichert und sind für den Grafikadapterchip 14 schnell verfügbar. Der Grafikadapterchip 14 empfängt Information aus dem Mikroprozessor, welche anzeigt, wo das Video-Fenster auf dem Bildschirm angeordnet ist, und bewirkt, daß Grafikdaten oder Videodaten aus dem VRAM 16 ausgegeben werden, wenn dies zweckmäßig bzw. passend ist.
  • Das Anzeigesystem nach dem Stand der Technik, wie es in Fig. 1 dargestellt ist, ist insofern zweckmäßig, als ein angezeigtes Video-Fenster in dem vorhandenen Speicher gespeichert werden kann, der auch für Grafikdaten verwendet wird, wodurch jedes Erfordernis für zusätzlichen Speicher und zusätzliche Kosten beseitigt wird. Jedoch ist dieses System durch die Bandbreite des Speicherbusses 15 begrenzt. Da Grafikdaten und Videodaten denselben Bus verwenden, ist die Menge an Grafik- und Videodaten, welche zu einem bestimmten Zeitpunkt im VRAM 16 gespeichert und an den DAC 18 übertragen werden können, beträchtlich eingeschränkt, insbesondere, wenn "Echtfarben"-Videopixel mit 24 Bit dargestellt werden, die eine große Bandbreite des Speichers erfordern. Die Leistungsfähigkeit des Anzeigesystems wird demnach vermindert und entweder wird das dargestellte Videobild auf eine kleine Größe begrenzt oder es hat eine niedrige Auflösung, damit die vollständige Bildwiederholrate des Videosignales dargestellt werden kann, oder aber die Bildwiederholrate des Videosignals wird vermindert, so daß eine bestimmte Auflösung oder Fenstergröße dargestellt werden kann. In jedem der Fälle verschlechtert sich die Qualität der Darstellung eines Videosignales in dem Video-Fenster.
  • Das US-Patent 5,412,399 offenbart eine weitere Art einer Vorrichtung für die Anzeige von Videodaten und Grafikdaten. In dieser Vorrichtung werden getrennte Speicher für Videodaten und Grafikdaten bereitgestellt, und die Speicher haben entsprechende Ausgangsanschlüsse für einen Datenbus, der zu der Anzeige führt. Die Videodaten oder Grafikdaten können dann über den Datenbus auf den Bildschirm übertragen werden, wobei die Auswahl entweder zwischen Videodaten oder digitalen Daten durch eine Bussteuerung ausgeführt wird. Ein zusammengesetztes Bild, welches sowohl Video als auch Grafik enthält, kann demnach auf dem Bildschirm dargestellt werden.
  • Was benötigt wird, ist ein Anzeigesystem eines Computersystems, welches eine große Speicherbandbreite bereitstellt, die in der Lage ist, ein großes Videofenster mit hoher Auflösung und voller Bildwiederholrate darzustellen, während auch graphische Daten auf anderen Bereichen des Bildschirmes dargestellt werden. Das Videofenster sollte ohne irgendein Beschneiden des Videobildes und ohne jegliche Einschränkungen bezüglich der Darstellungsposition auf einem Bildschirm wiedergegeben werden.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum simultanen Darstellen von Grafikdaten und Videodaten auf einem Bildschirm eines Computersystems bereitgestellt, welches einen Grafikspeicher und einen Videospeicher hat, die dafür ausgelegt sind, Bildinformation zu speichern, die auf dem Bildschirm dargestellt werden soll, wobei der Bildschirm eine Vielfalt von Pixeln zeigt bzw. aufweist und wobei der Grafikspeicher und der Videospeicher jeweils dafür ausgefegt sind, eine Folge von Blöcken von Pixeldaten an den Anzeigebildschirm auf Ausgangskanälen zu übermitteln, und wobei jeder Block aus Pixeldaten Daten für eine Mehrzahl von Bildschirmpixeln enthält, die gleichzeitig als ein Block übermittelt werden sollen, wobei das Verfahren die Schritte aufweist.
  • Speichern von Grafikdaten, die von einer Grafikquelle empfangen wurden, in einem Grafikspeicher,
  • Speichern von Videodaten, die von einer Videoquelle empfangen wurden, in einem Videospeicher,
  • selektives Ausgeben von Grafikdaten für einen Block von Pixeln gleichzeitig aus dem Grafikspeicher auf einer Anzahl von Grafikkanälen, wenn nur Grafikdaten auf Ausgangskanälen, welche mit den Grafikkanälen verbunden sind, an den Bildschirm übermittelt werden sollen, selektives Ausgeben von Videodaten für einen Block von Pixeln gleichzeitig aus dem Videospeicher auf eine Anzahl von Videokanälen, welche der Anzahl von graphischen Kanälen entsprechen, wenn nur Videodaten auf den Ausgangskanälen an den Bildschirm übermittelt werden sollen, wobei die Videokanäle mit den Grafikkanälen verbunden sind, um die Ausgangskanäle zu bilden, und wobei entweder Grafikdaten oder Videodaten auf jedem Ausgangskanal an einen Bildschirm ausgegeben werden, dadurch gekennzeichnet, daß dann, wenn sowohl Grafikdaten als auch Videodaten in einem einzigen Block von Daten auf den Ausgangskanälen an den Bildschirm übertragen werden sollen, gezielt bewirkt wird, daß die Ausgangskanäle, welche dafür vorgesehen sind, Grafikdaten zu tragen, nur Grafikdaten tragen, und gezielt bewirkt wird, daß die Ausgangskanäle, die dafür vorgesehen sind, Videodaten zu tragen, nur Videodaten übermitteln, indem ein Speicher vom Fenstertyp gelesen wird, um zu bestimmen, weiche Pixel auf dem Bildschirm dafür vorgesehen sind, Grafikdaten anzuzeigen, und welche Pixel auf dem Bildschirm dafür vorgesehen sind, Videodaten anzuzeigen.
  • Gemäß einem zweiten Aspekt der Erfindung wird eine Vorrichtung zum gleichzeitigen Anzeigen von Grafikdaten und Videodaten auf einem Anzeigebildschirm eines Computersystems bereitgestellt, wobei die Vorrichtung aufweist:
  • einen Grafikspeicher mit einem Satz von graphischen Ausgangskanälen, die geeignet sind für das gleichzeitige Übermitteln von Grafikdaten für eine Vielzahl von Bildschirmpixeln, einem Videospeicher mit einem Satz von Videoausgangskanälen, die geeignet sind für das gleichzeitige Übermitteln von Videodaten für eine Mehrzahl von Bildschirmpixeln, und einem Wandlerelement für das Umwandeln von Daten auf den Ausgangskanälen in eine Form, die geeignet ist, um den Bildschirm eines Computersystems zu treiben, dadurch gekennzeichnet, daß jeder Videokanal mit einem entsprechenden Grafikkanal verbunden ist, um ein Paar von Kanälen zu bilden, und daß jeder Ausgangskanal mit jedem der Paare von Grafikkanälen und Videokanälen verbunden ist, wobei es ein Auswahlelement gibt für das gezielte Bewirken, daß entweder Daten von dem Grafikspeicher oder Daten von dem Videospeicher auf jeden der Ausgangskanäle durchlaufen, so daß die Ausgangskanäle einen Block von Pixeldaten übertragen können, der gleichzeitig sowohl Grafikdaten als auch Videodaten enthält, welche pixelweise verteilt sind, wobei das Auswahlelement einen fensterartigen Speicher aufweist, der einen Speicherplan der Position eines Videofensters für die Anzeige auf einem Bildschirm eines Computersystems hat.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Computersystem bereitgestellt mit:
  • einer Vorrichtung gemäß dem zweiten Aspekt der Erfindung,
  • einem Prozessor,
  • einem Grafikadapter, der mit dem Prozessor verbunden ist, um von dem Prozessor Befehle aufzunehmen und Grafikdaten entsprechend den Befehlen auszugeben, wobei der Grafikspeicher mit dem Grafikadapter verbunden ist, um die Grafikdaten zu speichern,
  • einem Videowandler für das Umwandeln eines Videosignales aus einer Videoquelle in Videodaten, die geeignet sind für das Speichern in dem Videospeicher, wobei der Videospeicher mit dem Videowandler verbunden ist, um die Videodaten zu speichern, und einem Bildschirm, der mit dem Wandlerelement wirksam verbunden ist, um die durch das Wandlerelement umgewandelten Daten anzuzeigen.
  • Eine Ausführungsform der Erfindung stellt das gleichzeitige Anzeigen von Grafikdaten und Videodaten auf einem Bildschirm eines Computers bereit. Getrennte Grafik- und Videospeicher werden verwendet, so daß die Speicherbandbreite und die Datenübertragungsgeschwindigkeiten höher sind, was zu größeren Maßen des dargestellten Videofensters und zu einer realistischeren Videowiedergabe führt. Die vorliegende Erfindung verwendet in einer Ausführungsform das Einfügen von Dummy- (Ersatz-) Videopixeln, um den Verlust von Videopixeln und/oder eine Einschränkung hinsichtlich der Anordnung des Videofensters auf dem Computerbildschirm zu vermeiden.
  • Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren für das gleichzeitige Darstellen von Grafikdaten und Videodaten auf einem Bildschirm eines Computersystems bereit, einschließlich eines Grafikspeichers und eines Videospeichers, die so ausgelegt sind, daß sie Bildinformation speichern, die auf dem Bildschirm angezeigt werden soll. Der Grafikspeicher und der Videospeicher geben jeweils nacheinander Blöcke von Daten auf den Ausgangskanälen an dem Bildschirm aus und jeder Block von Daten beinhaltet Daten für eine Vielzahl von Bildschirmpixeln, welche gleichzeitig übermittelt werden. Das Verfahren beinhaltet die Schritte, daß Grafikdaten, die von einer Grafikquelle empfangen werden, in dem Grafikspeicher gespeichert werden und daß Videodaten, die von einer Videoquelle empfangen werden, in dem Videospeicher gespeichert werden. Wenn nur Grafikdaten auf dem Bildschirm in einem Block von Bildschirmpixeln dargestellt werden sollen, wird ein Block von Grafikdaten über eine Anzahl von Grafikkanälen an den Bildschirm übermittelt. Wenn auf dem Bildschirm nur Videodaten dargestellt werden sollen, wird von dem Videospeicher ein Block von Videodaten auf eine Anzahl von Videokanälen ausgegeben, die der Anzahl von Grafikkanälen entspricht. Die Videokanäle sind mit den Grafikkanälen verbunden, um Ausgangskanäle zu bilden und entweder Grafikdaten oder Videodaten können auf jedem Ausgangskanal an einen Bildschirm ausgegeben werden. Wenn sowohl Grafikdaten als auch Videodaten gleichzeitig in einem einzigen Datenblock auf den Ausgangskanälen an den Bildschirm ausgegeben werden sollen, so wird gezielt veranlaßt, daß die Ausgangskanäle, die Grafikdaten tragen sollen, nur Grafikdaten übermitteln. In ähnlicher Weise werden die Ausgangskanäle, die Videodaten tragen sollen, gezielt veranlaßt, nur Videodaten zu übermitteln. In einer Ausführungsform speichert der Videospeicher eine Reihe von Ausgangsdaten in einem Schieberegister, bevor die Reihe ausgegeben wird. Ein Teil der Ausgangsdaten wird in einen Ausgangspuffer verschoben, bevor die Daten ausgegeben werden. In einer Ausführungsform werden, um das Videobild zwischen einem Block von Grafikdaten auszurichten, eine Anzahl von Ersatzvideopixelwerten eingefügt, bevor Videodaten in das Schieberegister des Videospeichers eingegeben werden. Die Anzahl von Ersatzpixelwerten hängt von der Position des Randes des Videofensters und der Anzahl der Ausgangskanäle ab. Die Auswahl der Grafik- und Videokanäle umfaßt das Lesen eines Speichers vom Fenstertyp, um zu bestimmen, welche Pixel auf dem Bildschirm für das Darstellen von Grafikdaten und welche Pixel auf dem Bildschirm für das Anzeigen von Videodaten vorgesehen sind.
  • Eine Ausführungsform der Erfindung stellt eine Vorrichtung zum Anzeigen eines Videofensters auf einem Bildschirm eines Computersystems bereit, einschließlich eines Grafikspeichers, der einen Satz von Grafik-Ausgangskanälen hat, die geeignet sind für das gleichzeitige Übermitteln von Grafikdaten für eine Mehrzahl von Bildschirmpixeln. Die Vorrichtung weist auch einen Videospeicher auf, der einen Satz von Videoausgangskanälen hat, die für das gleichzeitige Übermitteln von Videodaten für eine Mehrzahl von Bildschirmpixeln geeignet sind. Jeder Videokanal ist mit einem entsprechenden Grafikkanal verbunden, um so ein Paar von Kanälen zu bilden, und es ist ein Ausgangskanal mit jedem der Paare aus Grafikkanal und Videokanal verbunden. Ein Auswahlelement wird verwendet, um gezielt zu bewirken, daß Daten von den Grafikkanälen oder den Videokanälen zu den jeweiligen Ausgangskanälen durchlaufen. Die Ausgangskanäle können einen Block von Pixeldaten senden, welcher gleichzeitig sowohl Grafikdaten als auch Videodaten enthält, die für die einzelnen Pixel getrennt vorgesehen sind. Ein Wandlerelement wird verwendet, um Daten auf den Ausgangskanälen in eine Form umzuwandeln, die geeignet ist, den Bildschirm des Computersystems zu treiben. In einer Ausführungsform weist das Auswahlelement einen Speicher vom Fenstertyp auf, der einen Speicherlageplan der Position eines Videofensters auf dem Computerbildschirm hat. In der bevorzugten Ausführungsform speichert der Videospeicher eine Anzahl von Ersatzpixeln, die vor den Videodaten in dem Videospeicher angeordnet werden. Diese Ersatzpixel sind kopierte Werte echter Videopixel und sie werden auf den Videokanälen ausgegeben, die nicht für das Ausgeben von Daten auf dem Computerbildschirm ausgewählt sind. Auf diese Weise werden nur die Ersatzpixel ausgesondert und die tatsächlichen Videodaten gehen nicht verloren. Eine Steuerung zur Einzelbilderfassung ist vorzugsweise mit dem Videospeicher und dem Quellenelement verbunden, um die Ausgabe von Videodaten aus dem Videospeicher zu steuern. In einer alternativen Ausführungsform der vorliegenden Erfindung kann ein Digital/Analog-Wandler verwendet werden, um Grafik- und Videozeilen auszuwerten, um Grafikpixel und Videopixel auszugeben, die in einer Reihe gespeichert sind.
  • Eine Ausführungsform der vorliegenden Erfindung ermöglicht es, daß zu einer gegebenen Zeit ein erhöhter Betrag von Pixeldaten von dem Speicher an den Anzeigebildschirm übertragen werden kann. Getrennte Grafik- und Videospeicher können jeweils eine größere Bandbreite von Daten ausgeben. Mit einer erhöhten Datenübertragungsrate kann ein größeres und realistischeres Videofenster auf dem Computerbildschirm angezeigt werden.
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung ermöglicht auch, daß ein Videofenster auf einem Anzeigebildschirm dargestellt wird, ohne daß irgendein Teil des Videobildes an der Schnittstelle zwischen den Grafikpixeln und den Videopixeln verloren gehen oder abgeschnitten werden muß. Dieses Merkmal ermöglicht auch, daß das Videofenster an irgendwelchen Grenzen der Grafikpixel angeordnet wird, die auf dem Bildschirm dargestellt sind.
  • Diese und andere Vorteile der vorliegenden Erfindung werden offensichtlich für die Fachleute, wenn sie die folgende Beschreibung lesen und die verschiedenen Figuren der Zeichnungen betrachten.
  • Ausführungsformen der Erfindung werden im folgenden, jedoch nur anhand von Beispielen, beschrieben, wobei auf die anhängenden Zeichnungen Bezug genommen wird, von denen:
  • Fig. 1 ein Blockdiagramm eines Computeranzeigesystems nach dem Stand der Technik ist,
  • Fig. 2 ein Blockdiagramm eines Computeranzeigesystems gemäß einer ersten Ausführungsform der vorliegenden Erfindung ist,
  • Fig. 2a ein schematisches Diagramm ist, welches Grafik- und Videokanäle in Multiplexschaltung in dem in Fig. 2a dargestellten Anzeigesystem zeigt,
  • Fig. 2b ein schematisches Diagramm ist, welches eine Verbindung eines einzelnen Grafikkanals und eines Videokanals zeigt, wie es in Fig. 2b dargestellt ist,
  • Fig. 3a eine schematische Wiedergabe eines Bereiches eines Anzeigebildschirms ist, der Grafik- und Videopixel eines dargestellten Videofensters zeigt, das in einer abgesetzten Umgrenzung zwischen Grafikpixelblöcken positioniert ist,
  • Fig. 3b eine schematische Darstellung eines Teils eines Bildschirms ist, welche eine Grenze zwischen Grafik- und Videodaten zeigt, die in einem mittleren Bereich innerhalb eines Pixelblockes auftritt,
  • Fig. 4 ein Blockdiagramm der Ersatzpixellogik einer Ausführungsform der vorliegenden Erfindung ist, und
  • Fig. 5 ein Blockdiagramm einer alternativen Ausführungsform eines Computeranzeigesystems ist.
  • Fig. 2 ist ein Blockdiagramm einer ersten Ausführungsform eines Computeranzeigesystems 30 für das Wiedergeben eines Videofensters auf einem Bildschirm.
  • Das Anzeigesystem 30 weist einen Mikroprozessor 31, einen Systembus 32, einen Grafikadapterchip 34, einen Grafikspeicher 36, einen Speicher 38 vom Fenstertyp, eine Videoquelle 40, Analog/Digital-Wandler (ADCs) 42, einen Decoder/Impulsfrequenzteiler 44, einen Videospeicher 46, eine Quellauswahllogik 48, einen Digital/Analog-Wandler (DAC) 50, eine Steuerschaltung 52 zur Einzelbilderfassung und einen Bildschirm 54 auf. Während Busse bestimmter Breite (das heißt 8-Bit Busse, 32-Bit Busse, etc.) im folgenden als Beispiel beschrieben werden, versteht es sich, daß eine Vielfalt verschiedener Typen von Bussen mit unterschiedlichen Anzahlen von Kanälen bzw. Leitungen in den verschiedenen Ausführungsformen verwendet werden können.
  • Der Mikroprozessor 31 ist der Hauptprozessor des Computersystems und ist mit dem Systembus 32 verbunden für die Datenübertragung an Komponenten und Peripheriegeräte des Systems, einschließlich des Anzeigesystems 30. Der Systembus 32 ist außerdem mit dem RAM, ROM, Eingangs/Ausgangsanschlüssen und anderen Komponenten verbunden, die allgemein in einem Computersystem verwendet werden (hier nicht dargestellt). Der Systembus 32 kann verwendet werden, um Datensignale, Adreßsignale und Steuersignale zu senden.
  • Der Grafikadapterchip 34 empfängt Daten über den Systembus 32 und erzeugt graphische Pixeldaten, die auf einem Bildschirm dargestellt werden sollen. Befehle von dem Mikroprozessor an das Computersystem werden in den Grafikadapterchip auf dem Systembus eingegeben und weisen den Chip an, graphische Objekte, mathematisch erzeugte Bilder, etc., zu zeichnen bzw. anzuzeigen und Pixeldaten zu erzeugen, die auf dem Bildschirm dargestellt werden sollen. Ein geeigneter Grafikadapterchip für die Verwendung in der oben beschriebenen Ausführungsform ist ein Sun GX oder TGX anwendungsspezifischer integrierter Schaltkreis (ASIC), der von Sun Microsystems, Inc. in Mountainview, Kalifornien, hergestellt wird. Dieser ASIC umfaßt eine Grafikerzeugungsmaschine, eine Speichersteuerung und eine CRT/Anzeigesteuerung auf einem einzelnen Chip. Getrennte Chips, welche diese Funktionen haben, können ebenso verwendet werden. Der Grafikadapterchip 34 gibt graphische Daten auf dem Bus 55 aus, der in der beschriebenen Ausführungsform ein 64- Bit-Bus ist. Der Bus 55 ist in zwei 32-Bit breite Busse aufgeteilt, welche Daten in den Grafikspeicher 36 eingeben. Die Grafikdaten werden vorzugsweise zu einer Anzahl von Pixeln formatiert, wobei ein Pixel das kleinste angezeigte Bildelement auf dem Bildschirm ist. Zusammengenommen bilden die Pixel ein Bild. Pixel sind generell in Zeilen und Spalten auf dem Bildschirm angeordnet. Jedes Pixel wird durch eine Anzahl von Bits repräsentiert und der numerische Wert der Bits zeigt die Eigenschaften des Pixels an, wie z. B. die Farbe oder Schattierung bzw. Helligkeit des Pixels.
  • Der Grafikadapterchip steuert die Anzeige von graphischen Pixeln, indem er kontinuierlich gespeicherte Pixel aus dem Grafikspeicher an den DAC 50 ausgibt. Der Grafikadapterchip 34 empfängt außerdem Information von dem Mikroprozessor, welche anzeigt, wo ein Videofenster auf dem Anzeigebildschirm dargestellt werden soll. Diese Information wird in den Speicher 38 vom Fenstertyp eingegeben (der unten beschrieben wird).
  • Der Grafikspeicher 36 empfängt Daten von dem Grafikadapterchip 34 und speichert die Daten, bis sie ausgegeben und auf dem Bildschirm dargestellt werden. In der beschriebenen Ausführungsform werden zwei Speicherbänke 58 und 60 verwendet, um die Grafikdaten zu speichern, wobei die ersten vier von irgendwelchen acht horizontal zusammenhängenden Pixeln in einer Bank 58 gespeichert werden und die zweiten vier Pixel in der zweiten Bank 60 gespeichert werden. Die in den Grafikspeicherbänken 58 und 60 gespeicherten Grafikpixel haben in der beschriebenen Ausführungsform pro Stück 8 Bit, die verwendet werden, um Information über die Farbe des angezeigten Pixels zu speichern. In der beschriebenen Ausführungsform ist jede Bank 58 und 60 ein 128 K · 8 VRAM-Chip. In alternativen Ausführungsformen können andere Speichertypen ebensogut verwendet werden, einschließlich eines dynamischen Speichers mit wahlweisem Zugriff (DRAM). Außerdem können in alternativen Ausführungsformen die Grafikpixel mehr oder weniger als 8 Bit pro Pixel haben, wie z. B. 16 Bit oder 24 Bit-Pixel. Wenn ein Pixel mehr als 8 Bit aufweist, so würde man typischerweise einen größeren Grafikspeicher benötigen als den beschriebenen, um die Pixel zu speichern, und auch eine größere Bandbreite des Datenweges zwischen dem Grafikspeicher und dem DAC 50 wäre erforderlich. Zusätzlich würde ein DAC 50, der die größeren Pixel und das Multiplexing unterstützt, erforderlich.
  • Der Grafikspeicher 36 gibt in der beschriebenen Ausführungsform Daten auf dem 32-Bit Bus 62 aus. Das Ausgeben der Grafikpixel wird durch den Grafikadapterchip 34 gesteuert, der Adreß- und Steuerleitungen (nicht dargestellt) verwendet. Der Grafikadapterchip gibt kontinuierlich Grafikpixel mit einer Geschwindigkeit aus, die mit der Bilderneuerungsrate des Anzeigebildschirms konsistent ist. In der beschriebenen Ausführungsform ist der Datenbus 62 auf vier Pixel mit 8 Bit pro Pixel für insgesamt 32 Bit aufgeteilt. Jeweils 8 Bits des Busses 62 werden als ein "Grafikkanal" betrachtet, welcher zu einem gegebenen Zeitpunkt Information über ein Pixel trägt. Daher umfaßt der Bus 62 in der beschriebenen Ausführungsform vier Grafikkanäle. Die vier Grafikkanäle übermitteln gleichzeitig vier Pixel aus dem Grafikspeicher. Hier werden diese vier Pixel als ein "Block" von Grafikdaten betrachtet. "N" Grafikkanäle können in anderen Ausführungsformen verwendet werden, wobei "N" ein Wert von 2 oder größer ist.
  • Jede Bank 58 oder 60 des Grafikspeichers 36 weist einen Ausgangspuffer auf, der zu einem gegebenen Zeitpunkt einen einzelnen 32-Bit Block aus vier Pixeln ausgibt. Wenn ein VRAM oder ähnlicher Typ eines Speichers verwendet wird, so können Schieberegister in dem Grafikspeicher 36 verwendet werden, um Pixel von den Speicherstellen zu dem Ausgangspuffer bereitzustellen, wie es unten unter Bezug auf den Videospeicher 46 beschrieben wird. Die Bänke 58 und 60 umfassen auch tri-state-Puffer für jedes Ausgangsbit. Diese tri-state-Puffer können freigeschaltet oder blockiert werden, um gezielt Bits an bestimmten Stellen in dem Ausgangspuffer auszugeben. Die Auswahllogik 48 für die Quelle kann die tri-state-Puffer steuern, um auszuwählen, welche Grafikkanäle für die Ausgabe von Grafikpixeln freigeschaltet werden (wie es unten beschrieben wird). Die Grafikkanäle liegen mit den Videokanälen von einem Videospeicher in einer Multiplexschaltung und werden an einen DAC übermittelt, um für den Bildschirm ausgegeben zu werden, wie es im folgenden beschrieben wird.
  • Der Speicher 38 vom Fenstertyp ist mit dem Grafikadapterchip 34 über den Bus 55 verbunden. In der beschriebenen Ausführungsform empfängt der Speicher 38 vom Fenstertyp die unteren vier Bits der durch den Grafikadapterchip 34 auf einem Bus 63 ausgegebenen Bytes. Da der Grafikadapterchip 34 vorzugsweise 8 Byte ausgibt, empfängt der Speicher 38 vom Fenstertyp 32 Bits. Der Mikroprozessor 31 schreibt Daten in den Speicher 38 vom Fenstertyp über den Grafikadapterchip 34, welcher die Anordnung der Pixel des Bildschirms anzeigt, das heißt welche Pixel auf dem Bildschirm Grafikpixel sind und welche Pixel Videopixel sind. Der Speicher vom Fenstertyp speichert das Bildschirmlayout in Form von Pixelcodes, welche eine pixelweise Beschreibung des Bildschirms anzeigen. Beispielsweise kann der Mikroprozessor eine Beschreibung der Position des Videofensters auf dem Bildschirm in dem Speicher vom Fenstertyp speichern. In dieser Beschreibung können Videopixel durch einen bestimmten Pixelcode angezeigt werden und Grafikpixel können durch einen anderen Pixelcode angezeigt bzw. gekennzeichnet werden. In der beschriebenen Ausführungsform ist der Speicher 38 vom Fenstertyp vier Bit tief; demnach kann ein Videopixel durch einen Pixelcode von 15 angezeigt bzw. gekennzeichnet werden, und ein Grafikpixel kann durch einen Pixelcode zwischen 0 und 14 gekennzeichnet werden. Die Codes zwischen 0 und 14 können andere Daten enthalten, die sich auf das Layout bzw. die Anordnung auf dem Bildschirm beziehen. Beispielsweise können Daten, die sich für jedes spezielle Anwendungsprogramm, welches auf dem Computersystem läuft, auf die Farbe von Pixeln beziehen, gespeichert werden, wie z. B. eine Farbpaletteninformation (wie unten noch beschrieben wird). In alternativen Ausführungsformen kann ein kleinerer Speicher vom Fenstertyp verwendet werden, da tatsächlich nur Pixelcodes von nur einem Bit pro Pixel erforderlich sind, um Pixel entweder als Videopixel oder als Grafikpixel in dem Speicher vom Fenstertyp zu speichern.
  • Auf die Daten in dem Speicher 38 vom Fenstertyp wird durch die Quellauswahllogik 48 über den Bus 61 zugegriffen, der vorzugsweise ein 16-Bit Bus ist. Vier 4-Bit Pixelcodes (ein Pixel für jeden Kanal) werden der Quellauswahllogik auf dem Bus 61 zugeführt. Der Bus 61 ist außerdem mit dem DAC 50 verbunden, um die vier Pixelcodes von dem Speicher vom Fenstertyp an den DAC zuzuführen. Wenn beispielsweise der DAC 50 einen Wert 15 auf dem Bus 61 aus den Daten des Speichers vom Fenstertyp liest, so erwartet er ein 24-Bit Videopixel (aus dem Videospeicher), und wenn der DAC auf dem Bus 61 einen Wert zwischen 0 und 14 liest, so erwartet er ein 8-Bit Pixel (aus dem Grafikspeicher). In der beschriebenen Ausführungsform hat der Speicher vom Fenstertyp dieselbe Größe wie jede Bank des Grafikspeichers 36, 128 K · 8.
  • Die Videoquelle 40 wird verwendet, um ein Videosignal in das Anzeigesystem 30 einzugeben. Die Videoquelle 40 kann ein Fernsehempfänger, eine Videokamera, ein Videokassettenrecorder oder irgendeine andere Vorrichtung sein, die in der Lage ist, ein analoges Videosignal zu erzeugen. Videosignale werden typischerweise nach einem von zwei Typen erzeugt. Der eine Typ, das zusammengesetzte Video, enthält einen Kanal, auf welchem ein Helligkeitssignal, ein Farbsignal und verschiedene Synchronisationssignale transportiert werden. Zusammengesetzte bzw. Komposit-Videosignale haben verschiedene Formate, einschließlich NTSC, PAL und SECAM. Der andere Typ des Videosignals ist das S-Video, welches ein Luminanzsignal und ein Chrominanzsignal enthält. In der beschriebenen Ausführungsform kann irgendeiner der Typen von Videosignalen in das Anzeigesystem 10 eingegeben werden. ADCs 42 werden verwendet, um das analoge Videoeingangssignal in ein digitales Signal umzuwandeln, welches von dem Computeranzeigesystem gehandhabt werden kann. In der beschriebenen Ausführungsform werden ein TDA8708 Kompositvideo (und Teile von S-Video) und ein TDA8709 für S-Video als die ADCs 42 verwendet, die beide von Philips/Signetics hergestellt werden. In alternativen Ausführungsformen kann eine Videoquelle ein digitales Videosignal direkt bereitstellen, so daß kein ADC 42 erforderlich ist.
  • Die ADCs 42 geben ein digitales Signal auf den Bussen 64 aus. In der beschriebenen Ausführungsform sind die Busse 64 8-Bit Busse, welche ein digitales Signal aussenden, das das analoge Videoeingangssignal wiedergibt. Zwei Busse 64 sind in der beschriebenen Ausführungsform vorgesehen, wobei jeder Bus einem Typ von Videosignal (z. B. dem Komposit- oder S-Video) entspricht. Die Busse 64 sind mit dem Decoder/Impulsfrequenzteiler 44 verbunden, der das 8-Bit Eingangssignal in ein 24-Bit Rot-Grün-Blau-(RGB-) Ausgangssignal decodiert. Ein üblicherweise verwendetes Pixelformat für digitalisiertes Video ist ein 24-Bit RGB Format, wobei jeder der drei Primärfarbauszüge (rot, grün und blau) durch 8 Bit beschrieben wird. Das 24-Bit Pixelformat wird als "Echtfarben" (true colour) angesehen, da ein viel größerer und realistischerer Bereich von Farben dargestellt werden kann, als wenn nur 8 Bit verwendet werden. Andere N-Bit Pixelformate können ebenfalls in alternativen Ausführungsformen verwendet werden, beispielsweise sind 16-Bit oder 15-Bit RGB Pixel und 16-Bit YUV Pixel übliche Formate. Der Decodierer extrahiert das Synchronisationssignal aus dem digitalen Videosignal und wandelt die rohen digitalen Daten in standardmäßige Luminanz- und Chrominanzsignale in dem RGB-Format um. Der Impulsfrequenzteiler des Decodierers/Impulsfrequenzteilers 44 skaliert auch das digitale Eingangssignal mit der standardmäßigen, vorbestimmten Auflösung, welche durch den Decoder automatisch decodiert wird, in eine Auflösung um, die durch den Mikroprozessor angegeben wird. Wenn beispielsweise ein Benutzer das Videofenster auf dem Anzeigeschirm in seiner Größe verändert, sendet der Mikroprozessor die Größe des neuen Videofensters an die Steuerung 52 der Einzelbilderfassung auf dem Systembus 32. Die Steuerung für die Einzelbilderfassung (frame grabber) sendet dann die Information über die Videofenstergröße an den Impulsfrequenzteiler 44 auf dem Bus 65. Der Impulsfrequenzteiler 44 stellt die Auflösung des Videofensters ein und gibt Videopixel aus, welche der neuen Videofenstergröße entsprechen, wie es den Fachleuten allgemein bekannt ist. In der beschriebenen Ausführungsform skaliert der Impulsfrequenzteiler das Videofenster von einer standardmäßigen Auflösung von 640 · 480 Pixel auf die gewünschte Auflösung um. Der Decodierer/Impulsfrequenzteiler kann unter Verwendung des Modells SAA 7196 realisiert werden, welcher von Philips/Signetics hergestellt wird. In der beschriebenen Ausführungsform werden 24-Bit RGB-Videodaten von dem Decodierer/Impulsfrequenzteiler 44 auf dem Bus 66 ausgegeben.
  • Der Videospeicher 46 ist mit dem Ausgang des Busses 66 von dem Decodierer/Impulsfrequenzteiler 44 verbunden. In der beschriebenen Ausführungsform verläuft der Bus 66 in Form von vier Bussen mit jeweils 24 Bit, wobei jeder Bus in eine andere Bank des Videospeichers 46 (Bänke A-C) geleitet wird. Die Bänke A-D sind in einen Speicheranschluß des Videospeichers mit sequentiellem Zugriff eingearbeitet (alle vier Bänke sind in Fig. 2 als ein Kasten 46 dargestellt). Die Daten an jeder Bank des Videospeichers werden sequentiell eingetaktet und in derselben Reihenfolge in dem Speicher gespeichert (die Daten werden vorzugsweise in Schieberegister innerhalb des Videospeichers eingetaktet und dann von den Schieberegistern aus in einen DRAM-Abschnitt (Bänke A-D) des Videospeichers gespeichert. Die Schieberegister werden im folgenden beschrieben.) Demnach sendet der Decodierer/Impulsfrequenzteüer 44 ein 24-Bit Pixel aus, welches in die Bank A eingetaktet wird, ein weiteres Videopixel, welches in die Bank B eingetaktet wird, usw. Eine Ausgabe eines Videopixels durch den Decodierer/Impulsfrequenzteiler 44 kann gleichzeitig auf mehrere Anschlüsse getaktet werden, falls gewünscht; dies wird erreicht durch das Einsetzen von "Ersatzpixeln" (Dummypixel) in den Videospeicher und wird unter Bezug auf die Fig. 3a, 3b und 4 genauer beschrieben. Der Videospeicher der beschriebenen Ausführungsform hat die Größe 1024 · 512 · 24, so daß ein Videofenster maximaler Größe, für welches 24 Bit Pixel in dem Videospeicher gespeichert sind, 1024 · 512 Pixel hat. In anderen Ausführungsformen können anders bemessene Videofenster oder Videospeicher verwendet werden, beispielsweise können zwei identische 512 · 512 · 24 Speicherfelder des Videospeichers verwendet werden, um den Videorißeffekt zu vermindern, der auftritt, wenn die Erneuerungsraten (Bildwiederholraten) des Computermonitors sich stark von den Wiederholraten von der Videoquelle unterscheiden. Die beiden identischen Speicherbereiche in dem Speicher können als zwei Puffer des Videospeichers verwendet werden, in welchen Videopixel gespeichert werden. Die beiden Puffer können abwechselnd ein vollständiges Einzelbild von Videodaten ausgeben, wenn die Puffer so aufgefüllt werden, daß keine teilweisen Bilder auf dem Bildschirm dargestellt werden.
  • Der Videospeicher 46 der beschriebenen Ausführungsform weist einen zweiten sequentiellen (oder seriellen) Speicherzugriffsanschluß auf, der für die Ausgabe von Videopixeln aus dem Videospeicher verwendet wird. Die Ausgangskanäle sind in Form von drei Bussen von jeweils 32 Bit organisiert, wobei jede Gruppe von 32 Bit für eine Primärfarbe von Rot, Grün oder Blau verwendet wird. Da 8 Bit in 24-Bit Videosignalen jede Primärfarbe repräsentieren, beinhaltet jeder der 32-Bit Busse vier Videokanäle von jeweils 8 Bit. Jeder 32-Bit Bus kann demnach eine Farbkomponente (R, G oder B) von vier Videopixeln mit einem Videopixel auf jedem Videokanal senden. Wie im folgenden beschrieben, empfängt der DAC 50 die 24-Bit Videopixel, die in die drei RGB-8-Bit-Abschnitte getrennt sind. Der Bus 74 trägt dann die roten 8-Bit Komponenten von vier Videopixeln, der Bus 70 trägt die grünen 8-Bit Komponenten von vier Videopixeln und der Bus 72 trägt die blauen 8-Bit Komponenten von vier Videopixeln. Wie hier verwendet, bezieht sich ein "Block" von Videopixeln auf die vier Videopixel, die auf den Bussen 74, 70 und 72 ausgegeben werden.
  • In der beschriebenen Ausführungsform sind die Busse 70 und 72 mit den grünen bzw. blauen Eingängen des DAC 50 verbunden, während der Bus 74 in Multiplexschaltung mit dem Grafikkanal 62 von dem Grafikspeicher 36 steht und mit dem roten Eingang des DAC 50 verbunden ist (wie im folgenden beschrieben). Da der Bus 62 und der Bus 74 jeweils vier Kanäle aufweisen, verwenden die Grafikkanäle und die Videokanäle ein Vier-Wege-Multiplexverfahren. In alternativen Ausführungsformen kann ein N-Wege-Multiplexverfahren verwendet werden, wobei N ein Wert von 2 oder mehr als 2 sein kann.
  • Wenn Videopixel von dem Videospeicher 46 ausgegeben werden, wird eine Reihe von Videopixeln in Schieberegister (oder einen Speicher mit seriellem Zugriff) geladen, die von den Bänken A-D in den Videospeicher einbezogen sind. Beispielsweise kann eine Reihe in einer horizontalen Abtastlinie 1024 Pixel haben. Ein Block von Videopixeln wird dann von den Schieberegistern in einen Ausgangspuffer verschoben, der einen Block von Videopixeln speichert und der auch in dem Videospeicher 46 aufgenommen bzw. einbezogen ist. In der beschriebenen Ausführungsform beinhaltet ein Block von Videodaten vier Videopixel, und zwar ein Pixel pro Videokanal, wobei jede Bank mit einem Videokanal verbunden ist. Der Ausgangspuffer, der dem Ausgangspuffer ähnlich ist, der mit dem Grafikspeicher 36 beschrieben wurde, gibt für drei 32-Bit Busse, und damit für insgesamt 96 Bit, einen einzelnen Block von Pixeldaten zu einer gegebenen Zeit aus. Zusätzlich sind die Videokanäle mit dem Ausgangspuffer des Videospeichers 46 verbunden und werden durch tri-state-Puffer gesteuert, welche entweder einen Videokanal freischalten, damit er Daten trägt, oder um den Videokanal abzuschalten und zu verhindern, daß Daten auf dem Bus 74 ausgegeben werden. Die tristate-Puffer des Busses 74 werden durch die Quellauswahllogik 48 gesteuert, die unten noch beschrieben wird. Vorzugsweise wird ein Block von Videopixeln von dem Ausgangspuffer ausgegeben und ein neuer Block wird von den Schieberegistern in den Ausgangspuffer verschoben. Wenn das Schieberegister entleert ist, wird die nächste Reihe von Pixeln von den Bänken A-D in das Schieberegister geladen.
  • Der Videospeicher 46 der beschriebenen Ausführungsform umfaßt vorzugsweise auch einen Anschluß für wahlweisen Zugriff, der mit einem Bus 76 verbunden ist, welcher über den Systembus 32 mit dem Mikroprozessor verbunden ist. Der Anschluß für wahlweisen Zugriff kann verwendet werden, um beliebig auf den Inhalt des Videospeichers 46 zuzugreifen. Eine Anwendung, welche einen solchen Aufbau verwendet, ist eine Telekonferenz, bei welcher ein Videosignal, welches beispielsweise das Gesicht eines Benutzers herausgreift, an den Mikroprozessor übermittelt und über eine Netzwerkschnittstelle an einen weiteren Computer/Anzeigebildschirm weitergeleitet wird. Ein Benutzer könnte daher ein Videosignal von einem anderen Benutzer empfangen, um es auf dem Computerbildschirm darzustellen, während das eigene Bild des Benutzers von einer Videokamera in der Nähe des Bildschirms aufgezeichnet werden und an den Computer des anderen Benutzers übermittelt werden würde, damit dieser Benutzer es auf seinem Bildschirm sehen kann. Wenn Videodaten von dem Anschluß des Videospeichers 46 mit wahlweisem Zugriff ausgegeben werden, wird ein Puffer 47 verwendet, um die Belastung des Mikroprozessorbusses 32 zu vermindern.
  • Der Videospeicher 46 ist ein Videospeicher mit drei Anschlüssen, wie z. B. ein MT43C8128, welcher von Micron Semiconductor hergestellt wird. Die drei Anschlüsse sind der Eingangsanschluß für seriellen Zugriff, der serielle Ausgangsanschluß und der Anschluß mit wahlweisem Zugriff. In anderen Ausführungsformen können andere Arten von Videospeicher verwendet werden. Beispielsweise kann ein Videospeicher mit Zweifachanschluß verwendet werden, der einen seriellen Zugriffsanschluß und einen Anschluß mit wahlweisem Zugriff umfaßt. Der serielle Zugriffsanschluß kann verwendet werden, um die Videopixel an den DAC 50 auszugeben und der Anschluß mit wahlweisem Zugriff kann sowohl als Eingangsanschluß für Videopixel von dem Decodierer/Impulsfrequenzteiler 44 als auch als Ausgangsanschluß verwendet werden, um Videodaten an den Mikroprozessor und für eine Telekonferenz über ein Netzwerk zu senden. Der Videospeicher mit Zweifachanschluß ist typischerweise preiswerter als der Videospeicher mit Dreifachanschluß, ist jedoch langsamer aufgrund der gemeinsamen Verwendung des Anschlusses mit wahlweisem Zugriff als Eingang und als Ausgang.
  • Die Auswahllogik 48 für die Quelle wird verwendet, um auszuwählen, wann Grafikpixeldaten und wann Videopixeldaten an den DAC 50 ausgegeben und auf dem Anzeigebildschirm dargestellt werden sollen. Die Quellauswahllogik überwacht Pixelcodes, die durch den Grafikadapterchip 34 auf dem Bus 61 von dem fensterartigen Speicher 38 ausgegeben werden. Die Quellauswahllogik empfängt die Pixelcodes über den 16-Bit-Bus 61 in Vierergruppen, wobei jeder Pixelcode ein Grafikpixel oder ein Videopixel kennzeichnet. Die Pixelcodes weisen die Quellauswahllogik an, die Ausgänge der Grafik- und Videospeicher ein- oder auszuschalten. Die Quellauswahllogik schickt Freigabe- oder Sperrsignale auf dem Bus 45 an die Dreizustandspuffer (Tri-State Buffer) am Ausgangspuffer der Bank 58 an den Grafikspeicher 36 und schickt ähnliche Signale auf dem Bus 49 an die Dreizustandspuffer der Bank 60 des Grafikspeichers 36. Einige oder alle der Dreizustandspuffer werden freigegeben, wenn der Speicher vom Fenstertyp anzeigt, welche Grafikkanäle Grafikpixel ausgeben sollten und die Dreizustandspuffer, die nicht für das Ausgeben von Pixeln ausgewählt werden, werden in einem Zustand hoher Impedanz belassen. In ähnlicher Weise weisen die Pixelcodes die Quellauswahllogik an, Freigabe- oder Sperrsignale auf dem Bus 51 an die Dreizustandspuffer des Busses 74 am Ausgangspuffer des Videospeichers 46 zu schicken. Die Dreizustandspuffer werden für Videokanäle freigegeben, für welche das Ausgeben von Videopixeln angezeigt ist.
  • In der beschriebenen Ausführungsform liefert die Quellauswahllogik 48 die folgenden Signale auf dem Bus 51 an den Videospeicher 46, welche durch die folgenden Logikgleichungen bestimmt werden:
  • EA = /(WTA0 & WTA1 & WTA2 & WTA3)
  • EB = /(WTB0 & WTB1 & WTB2 & WTB3)
  • EC = /(WTC0 & WTC1 & WTC2 & WTC3)
  • ED = /(WTD0 & WTD1 & WTD2 & WTD3)
  • wobei EA, EB, EC und ED die aktiv niedrigen (active-low) Signale sind, die die Dreizustandspuffer des Videospeichers freigeben oder sperren, und beispielsweise sind WTA [0 : 3] die vier Bits von dem Speicher vom Fenstertyp, welche einen Pixelcode bilden ("/" zeigt das Invertierte des Begriffs in Anführungsstrichen an). In der beschriebenen Ausführungsform wird, wenn die vier Bits alle auf high sind, was einem Pixelcode 15 entspricht, ein Videopixel angezeigt. Das EA-Signal wird demnach als ein Freigabe- (low) Signal abgeschickt, um den Dreizustandspuffer für den entsprechenden Ausgangsvideokanal des Busses 74 des Videospeicher 46 freizuschalten. Wenn irgendeines der Bits des Pixelcodes low ist, so wird ein Sperr- (high)-Signal an den entsprechenden Dreizustandspuffer übermittelt, um diesen Videokanal des Videospeichers zu sperren. WTB, WTC und WTD sind die drei anderen 4-Bit-Pixelcodes, die auf dem Bus 61 gelesen werden, um die entsprechenden Dreizustandspuffer des Videospeichers 46 freizuschalten oder zu sperren.
  • Die Quellauswahllogik 48 liefert die folgenden Signale auf dem Bus 45 an die Bank 58 des Grafikspeichers 36:
  • B0_EA = B0_GRE0 + WTA0 & WTA1 & WTA2 & WTA3)
  • B0_EB = B0_GRE0 + WTB0 & WTB1 & WTB2 & WTB3)
  • B0_EC = B0_GRE0 + WTC0 & WTC1 & WTC2 & WTC3)
  • B0_ED = B0_GRE0 + WTD0 & WTD1 & WTD2 & WTD3)
  • Die folgenden Signale werden auf dem Bus 49 für die Bank 60 des Grafikspeichers 36 bereitgestellt:
  • B1_EA = B0_GRE1 + WTA0 & WTA1 & WTA2 & WTA3)
  • B1_EB = B0_GRE1 + WTB0 & WTB1 & WTB2 & WTB3)
  • B1_EC = B0_GRE1 + WTC0 & WTC1 & WTC2 & WTC3)
  • B1_ED = B0_GRE1 + WTD0 & WTD1 & WTD2 & WTD3)
  • wobei B0_EA-D und B1_EA-D die im aktiven Zustand niedrigen (active-low) Signale sind, welche die Dreizustandspuffer der Bank 58 bzw. 60 freischalten oder sperren, B0_GRE0 und B0_GRE1 sind Freigabesignale von dem Grafikchip 34, um entweder die Bank 58 oder die Bank 60 freizugeben, und WTA-D[0 : 3] sind die vier Bits, welche einen Pixelcode bilden. Wenn die vier Bits für einen Kanal nicht alle high sind und das B0_GREx Signal high ist, so wird ein Grafikpixel (Pixelcode von 0-14) angezeigt und das Freigabesignal, wie z. B. B0_EA wird auf low gesetzt, um den entsprechenden Dreizustandspuffer und den Grafikkanal der angegebenen Bank des Grafikspeichers 36 freizugeben. Wenn alle Bits high sind, so wird das Freigabesignal auf high gesetzt, um die Dreizustandspuffer für diesen Kanal zu sperren. In anderen Ausführungsformen könnte eine andere Logik verwendet werden, um dieselben Ergebnisse zu erzielen.
  • Die Quellauswahllogik 48 übermittelt auch ein Freigabesignal für den Frame Grabber (Einzelbilderfassung) auf dem Bus 92 an die Frame Grabber-Steuerung 52, um der Frame Grabber- Steuerung anzuzeigen, daß sie mit der Ausgabe der Folge von Videosignalen aus dem Videospeicher 46 beginnen soll. Das Freischaltsignal für den Frame Grabber wird von der Quellauswahllogik ausgegeben, wenn die Quellauswahllogik einen Pixelcode 15 empfängt (alle vier Bits high), was ein Videopixel anzeigt, und zwar auf irgendeinem der vier Kanäle, die auf dem Bus 61 von dem Speicher 38 vom Fenstertyp ausgegeben werden. Die Quellauswahllogik 48 empfängt auch zwei Signale von der Einzelbildsteuerung auf dem Bus 92, die anzeigen, ob ein Erneuerungszyklus eines Displays aufgetreten ist und wenn dies der Fall ist, der Frame Grabber-Steuerung zu ermöglichen, daß sie die Dreizustandspuffer des Videospeichers für diesen Zyklus steuert (wie es unten noch beschrieben wird).
  • In einer alternativen Ausführungsform kann eine Multiplexerlogik verwendet werden, um spezielle Grafik- und Videokanäle auszuwählen, anstatt Memoryausgänge freizuschalten oder zu sperren, wie es den Fachleuten auf diesem Gebiet geläufig ist.
  • Der Digital/Analog-Wandler (DAC) 50 wird mit verschiedenen Eingangskanälen verbunden zu dem Zweck, digitale Eingangsdaten in analoge Ausgangsdaten umzuwandeln, die von dem Anzeigebildschirm verwendet werden, um Pixel darzustellen. In der beschriebenen Ausführungsform ist der DAC 50 ein Brooktree BT463 DAC, der einen R-Eingang, einen G-Eingang, einen B-Eingang und einen WT-Eingang hat. Der DAC 50 hat vorzugsweise zwei Betriebsarten für das Darstellen von Grafikpixeln: einen Echtfarbenanzeigebetrieb mit 24 Bits und einen "Pseudofarben"- Betriebszustand. Der Betriebszustand der Pseudofarben (pseudo colour) ist ein Betriebszustand mit einer 8-Bit-Anzeige, welche eine programmierbare Farb-"Palette" verwendet, die in dem DAC gespeichert ist, um die "Pseudo"-Farben mit 24 Bits für Grafikpixel darzustellen. Die Farbpalette ist eine (softwareprogrammierbare) Hardware-Nachschlagetabelle, die zu 24-Bit Farben paßt, wobei die 8-Bit-Grafikwerte in den DAC in dem Pseudofarb-Zustand eingegeben werden. Beispielsweise hat ein 8-Bit-Grafikpixeiwert zwischen 0 und 255, welcher in den DAC 50 eingegeben wird, einen Bezug bzw. Hinweis auf der Farbpalette, welche für jeden dieser 8-Bit-Werte einen entsprechenden 24-Bit-Wert speichert. Der entsprechende 24-Bit-Wert wird als die Farbe des 8-Bit Pixels verwendet. Die 24-Bit-Werte in der Farbpalette werden vorher so ausgewählt, daß sie speziellen 8-Bit-Werten entsprechen. Typischerweise werden unterschiedliche Farbpaletten für unterschiedliche Anwendungsprogramme verwendet, die durch den Mikroprozessor 31 ausgeführt werden (oder durch einen anderen angeschlossenen Mikroprozessor); beispielsweise liefert das aktive Anwendungsprogramm eine individuelle Farbpalette, von welcher alle dargestellten 8-Bit Pixel zugeordnet werden. Wenn das aktive Anwendungsprogramm verändert wird, kann eine neue Farbpalette mit anderen Farben geladen und durch den DAC 50 verwendet werden. Der Pseudo-Colour-Betrieb hat den Vorteil, daß die Grafikpixel weniger Speicherplatz und Verarbeitungszeit erfordern, verbunden mit dem Nachteil weniger realistischer Pixelfarben.
  • Der Betriebszustand des DAC 50 wird für jedes Pixel durch die Pixelcodes aus dem Speicher 38 vom Fenstertyp ausgewählt. Der Grafikadapterchip 34 bewirkt, daß ein Speicher 38 vom Fenstertyp Pixelcodes an den DAC 50 übermittelt. Wenn der Pixelcode von dem Speicher vom Fenstertyp ein Wert zwischen 0 und 14 ist, was ein Grafikpixel kennzeichnet, so können die Bits des Pixelcodes verwendet werden, um entweder den Echtfarbenbetrieb (24 Bit) oder den Pseudofarbenbetrieb (8 Bit) auszuwählen. Wenn beispielsweise das erste Bit des Pixelcodes 0 ist, so wird ein Betriebszustand angezeigt, und wenn das erste Bit 1 ist, so wird der andere Betriebszustand angezeigt. Diese Information über den Grafikpixelcode kann auch verwendet werden, um unterschiedliche Paletten für unterschiedliche Grafikpixel in dem Pseudo-Colour-Betrieb auszuwählen, wie es den Fachleuten auf diesem Gebiet geläufig ist.
  • Der DAC 50 verwendet alle drei Eingänge R, G und B für Videopixel. Ein Videopixel wird in drei 8-Bit-Abschnitte aufgeteilt, wobei jeder Abschnitt an einen der RGB-Eingänge eingegeben wird. Ein Videopixel wird in dem DAC 50 zu 24 Bit kombiniert. Der R-Eingang empfängt vorzugsweise die ersten 8 Bit, der G-Eingang die mittleren 8 Bit und der B-Eingang die letzten 8 Bit eines Videopixels. Jeder RGB-Eingang in der beschriebenen Ausführungsform empfängt vier Videopixel auf einmal, wobei jedes Videopixel auf einem 8-Bit Videokanal übermittelt wird. Die 32-Bit Busse, die in Fig. 2 dargestellt sind, repräsentieren jeweils vier 8-Bit Videokanäle.
  • Der R-Eingang des DAG 50 stellt einen besonderen Fall dar. Da die Grafikpixel von dem Grafikspeicher 36 (in der beschriebenen Ausführungsform) 8 Bit haben, wird nur der R-Eingang für den DAC 50 verwendet, um in der beschriebenen Ausführungsform Grafikpixel darzustellen. Da sowohl Grafikdaten als auch Videodaten den R-Eingang verwenden, werden die Grafikkanäle des Busses 62 und die Videokanäle des Busses 74, die mit dem R-Eingang verbunden sind, in einer Multiplexschaltung angeschlossen. Entweder ein Grafikpixel oder ein Videopixel wird an den R- Eingang des DAC auf jedem Kanal gesendet. In anderen Ausführungsformen können andere oder zusätzliche Eingangsgrößen an den DAC 50 in ähnlicher Weise in einer Multiplexschaltung angeschlossen werden.
  • Wie in Fig. 2a dargestellt, wird jeder 8-Bit Grafikkanal 76 des Busses 62 mit einem entsprechenden 8-Bit Videokanal 78 des Busses 74 verbunden. Die Ausgangskanäle 80 des Busses 82 werden von dem Übergang der Grafik- und Videokanäle an den DAC 50 angeschlossen. Ein Block von Ausgangspixeln umfaßt die Pixel auf den vier Ausgangskanälen 80. Wie in Fig. 2b dargestellt, umfaßt der Anschluß jedes 8-Bit Kanals 76 und 78 eine ähnliche Verbindung zwischen jeder der Grafikbitleitungen 84 in dem Kanal 76 mit jeder Videobitleitung 86 in dem Kanal 78. Eine Ausgangsbitleitung 88 wird an jede Grafik- und Videobitleitungsverbindung angeschlossen. Da entweder Grafikdaten oder Videodaten auf dem Bildschirm dargestellt werden, wird entweder ein Grafikkanal 76 oder ein angeschlossener (entsprechender) Videokanal 78 "ausgewählt", um Daten auf dem angeschlossenen Ausgangskanal 80 auszusenden (das heißt er kann seine Daten senden). Das Verfahren zum Aussenden von Grafik- und Videopixeln und das Auswählen entsprechender Kanäle wird unten noch beschrieben.
  • Gemäß Fig. 2 ist eine Frame Grabber-Steuerung 52 mit dem Mikroprozessor des Computersystems verbunden und zwar durch den Systembus 32. Die Frame Grabber-Steuerung (Steuerung der Einzelbilderfassung) kann in Form einer ASIC-Steuerung oder auch mit einer anderen Architektur realisiert werden, beispielsweise kann ein feldprogrammierbares Gate-Array (FPGA) der Serie Xilinx 4000 verwendet werden. Die Frame Grabber-Steuerung steuert die Abfolge der Videoeingangsdaten und der Videoausgangsdaten zu und von dem Videospeicher 46. Der Bus 90, einschließlich Adreß- und Steuerleitungen, wird für die generelle Steuerung des Videospeichers verwendet, einschließlich Bilderneuerung, Videotakteingang, Videoausgang und Mikroprozessorzugriff, wie es den Fachleuten auf diesem Gebiet geläufig ist. Die Frame Grabber-Steuerung umfaßt eine Dummy-Pixellogik 53 für das Einfügen von Dummy-Pixeln bzw. Ersatzpixeln in den Videospeicher, wie es unten beschrieben wird.
  • Die Frame Grabber-Steuerung 52 steuert über die Leitung 91 auch den Puffer 47. Die Leitung 91 übernimmt die Steuerung, wenn Videodaten von dem Anschluß des Videospeichers mit wahlweisem Zugriff auf dem Systembus an den Mikroprozessor gesendet werden, damit sie auf Netzwerkleitungen, wie z. B. bei Telekonferenzanwendungen, abgeschickt werden.
  • Die Frame Grabber-Steuerung 52 empfängt auch Signale von der Quellauswahllogik auf dem Bus 92 und sendet diese dahin aus. Wie oben beschrieben, umfaßt der Bus 92 vorzugsweise drei Leitungen. Eine Leitung wird verwendet, um ein Signal von der Quellauswahllogik 48 an die Frame Grabber-Steuerung 52 zu übertragen, welches anzeigt, daß Videopixel auf dem Bus 74 ausgegeben werden sollen. Die Frame Grabber-Steuerung 52 beginnt dann nach Empfang dieses Signals damit, Videopixeldaten aus dem Videospeicher 46 heraus zu verschieben.
  • Die verbleibenden beiden Leitungen des Busses 92 werden verwendet, um ein Anzeigeerneuerungssignal von der Frame Grabber-Steuerung 52 an die Quellauswahllogik 48 zu senden. Das Anzeigeerneuerungssignal ermöglicht es der Frame Grabber-Steuerung, die seriellen Ausgangsgrößen des Videospeichers während eines Anzeigeerneuerungszyklus oder während einer Überlagerung ("blanking") zu steuern. Ein Anzeigeerneuerungszyklus tritt auf, wenn eine Anzeigeeinrichtung, wie z. B. ein CRT oder Anzeigebildschirm, das Anzeigen von Daten beenden muß, so daß die Abtastzeile vom rechten Rand des Bildschirms zum linken Rand des Bildschirms an den Anfang der nächsten Abtastlinie zurückgesetzt werden kann ("retrace"). Die Frame Grabber-Steuerung weiß, wenn der Anzeigeerneuerungszyklus auftritt, und steuert so die Dreizustandspuffer des Videospeichers, damit sie während des Anzeigeerneuerungszyklus Daten in die Schieberegister in dem Videospeicher laden, wie es den Fachleuten auf diesem Gebiet bekannt ist. Die zweite Zeile des Busses 92 wählt aus, welche Logik die Dreizustandsvideopuffer steuert (entweder die Quellauswahllogik (z. B. low) oder die Frame Grabber-Steuerung (z. B. high)). Wenn die Ausgabeeinrichtung sich auf einem Anzeigeerneuerungszyklus befindet, wird die Frame Grabber-Steuerung ausgewählt. Die dritte Leitung des Busses 92 wird verwendet, um ein serielles Freigabesignal von der Frame Grabber-Steuerung zu übermitteln. Dieses Signal wird verwendet, wenn die Frame Grabber-Steuerung durch die zweite Leitung des Busses 92 ausgewählt worden ist. Das serielle Freigabesignal ermöglicht es der Frame Grabber-Steuerung, während des Anzeigeerneuerungszyklus die Dreizustandspuffer zu steuern.
  • In der beschriebenen Ausführungsform umfaßt die Frame Grabber-Steuerung 52 eine Dummy-Pixellogik 53. Die Dummy-Pixellogik bzw. Ersatzpixellogik 53 wird verwendet, um das Takten jedes Videopixels in den Videospeicher 46 aus dem Decodierer/Impulsfrequenzteiler 44 zu steuern. Die Logik 53 verwendet den Dummy-Pixelwert (Ersatzpixelwert), um festzustellen, wie viele Ersatzpixel auf einer dargestellten horizontalen Abtastlinie vor dem ersten Videopixel in den Videopixeleingangsstrom eingesetzt werden müssen. Das Einsetzen von Ersatzpixeln wird in Verbindung mit den Fig. 3a und 3b genauer beschrieben und eine bevorzugte Realisierung einer Ersatzpixellogik 53 ist in Fig. 4 dargestellt. Die Ersatzpixellogik ist auf demselben integrierten Schaltkreischip realisiert dargestellt wie die Frame Grabber-Steuerung 52. In alternativen Ausführungsformen kann die Ersatzpixellogik 53 als getrennter Chip oder beispielsweise auch auf demselben Chip wie die Queliauswahllogik 48 realisiert werden.
  • Der Anzeigebildschirm 54 ist ein Standard-Computermonitor oder eine ähnliche Anzeige, die vorzugsweise in der Lage ist, graphische Bilder mit hoher Auflösung darzustellen. Der Anzeigebildschirm 54 ist mit dem DAC 50 verbunden und empfängt analoge RGB-Ausgangsgrößen, welche die Farben der durch den Bildschirm 54 dargestellten Pixel bestimmen. Ein Videofenster 57 von Videopixeln wird vorzugsweise mitten vor einem Hintergrund von Grafikpixeln 59 dargestellt.
  • Das Anzeigesystem gemäß Fig. 2 arbeitet so, daß es Grafikdaten und Videodaten auf einem Anzeigebildschirm darstellt, wie es im folgenden beschrieben wird. Der Mikroprozessor 31 sendet Anweisungen über den Systembus 32 an den Grafikadapterchip 34, damit dieser einen Pixelcodeplan in dem Speicher 38 vom Fenstertyp speichert, welcher die aktuelle Position der Pixel eines Videofensters auf dem Anzeigebildschirm anzeigt. Der Mikroprozessor sendet Anweisungen an den Grafikadapterchip, damit dieser Grafikpixeldaten entsprechend der Befehle des Mikroprozessors erzeugt. Der Grafikadapterchip speichert die erzeugten Grafikpixel in beiden Bänken des Grafikspeichers 36. Wenn der Bildschirm für die Anzeige der Pixel bereit ist, sendet der Grafikadapterchip Signale an den Grafikspeicher 36, damit dieser die Grafikpixel entsprechend den Parametern des Anzeigebildschirms, wie z. B. die Bilderneuerungsrate, aussendet. Der Grafikadapterchip sendet kontinuierlich Grafikdaten aus dem Grafikspeicher aus.
  • Fig. 3 ist ein Ausschnitt aus einem Anzeigebildschirm, welches Videopixel in einem Videofenster 96 sowie Grafikpixel 97, welche das Videofenster 96 umgeben, zeigt. Die Pixel auf dem Anzeigebildschirm werden typischerweise in horizontalen Abtastlinien von links nach rechts dargestellt. Für eine bestimmte horizontale Abtastlinie (oder -reihe) von Pixeln 98, wird das erste Pixel 100 vom linken Rand des Bildschirms dargestellt, gefolgt von dem nächsten Pixel 102 rechts davon usw., bis der rechte Rand des Bildschirms erreicht wird. Dieser Vorgang wiederholt sich dann mit der nächsten horizontalen Reihe von Pixeln 104 unter der soeben dargestellten horizontalen Reihe, ete. Der Grafikspeicher 36 gibt in der beschriebenen Ausführungsform normalerweise Blöcke von vier Grafikpixeln gleichzeitig an den DAC 50 aus. Während dieses Vorgangs schaltet die Quellauswahllogik 48 alle Dreizustandspuffer an den Ausgängen des Grafikspeichers 36 frei und sperrt alle Dreizustandspuffer an den Ausgängen des Videospeichers 46 zu dem Bus 74, so daß nur Grafikkanäle ausgewählt werden, um Grafikdaten auszugeben (der Videospeicher speichert zu diesem Zeitpunkt eingehende Videopixel aus dem Decodierer/Impulsfrequenzteiler 44). Die Grafikpixel werden der Reihe nach auf dem Anzeigebildschirm dargestellt. Blöcke 106 von vier Grafikpixeln werden von links nach rechts dargestellt, bis der gewünschte linke Rand 108 des Videofensters erreicht wird. Zu diesem Zeitpunkt liest die Quellauswahllogik 48 Videopixelcodes für das Videofenster aus der Tabelle bzw. dem Lageplan für Bildschirmpixel in dem Speicher 38 vom Fenstertyp (das heißt Pixelcodes, die in der beschriebenen Ausführungsform einen Wert von 15 haben). Die Quellauswahllogik sperrt die Dreizustandspuffer aller Ausgänge des Grafikspeichers 36. Die Quellauswahllogik 48 gibt dann der Frame Grabber-Steuerung 52 auf der Busleitung 92 das Frame Grabber-Freigabesignal, damit diese beginnt, Blöcke von gleichzeitig jeweils vier Videopixeln der Reihe nach aus dem Memoryspeicher 46 auszugeben. Zum selben Zeitpunkt gibt die Quellauswahllogik 48 die Dreizustandspuffer auf den Ausgängen des Videospeichers 46 frei, um zu ermöglichen, daß Videopixel auf den Videopixeln 78 von dem Videospeicher an den DAC ausgegeben werden. Unter Verwendung dieses Verfahrens werden Blöcke von Grafikpixeln auf den Ausgangskanälen 80 (siehe Fig. 2a) abgesandt, wenn die Kanäle 80 ausgewählt werden, um Grafikdaten darzustellen, und Blöcke von Videopixeln werden auf den Ausgangskanälen 80 ausgesandt, wenn die Kanäle 80 ausgewählt werden, um Videodaten darzustellen.
  • Der linke Rand 108 des Videofensters 96, wie es in Fig. 3a dargestellt ist, ist mit dem Rand eines Blockes von Grafikdaten ausgerichtet, das heißt einer getrennten Grenze aus Grafikblöcken. Der linke Rand des Videofensters wird dargestellt, nachdem ein Block 106 aus vier Grafikpixeln dargestellt worden ist. In dieser Situation werden alle vier Grafikkanäle so ausgewählt (freigeschaltet), daß sie einen Block von Grafikpixeln auf den Ausgangskanälen 80 ausgeben, bis das Videofenster erreicht ist, wobei zu diesem Zeitpunkt alle Dreizustandspuffer der Grafikkanäle gesperrt werden und alle vier Dreizustandspuffer auf dem Videospeicher 46 freigeschaltet werden, um einen Block aus vier Videopixeln auf allen vier Videokanälen 78 auszugeben. Am rechten Rand des Videofensters (nicht dargestellt) liest die Quellauswahllogik einen Grafikpixelcode aus dem Speicher 38 vom Fenstertyp und sperrt in Reaktion darauf die Videokanäle, zeigt der Frame Grabber-Steuerung an, das Ausschieben von Videopixeln aus dem Videospeicher 46 zu beenden und schaltet alle vier Grafikkanäle frei. Derselbe Vorgang läuft für jede horizontale Abtastlinie ab.
  • Fig. 3b zeigt eine andere Situation, in welcher der linke Rand 108 des Videofensters innerhalb eines Grafikblockrandes dargestellt ist. In diesem Fall müssen einige der vier Ausgangskanäle 80 in der Art ausgewählt werden, daß sie Grafikpixel ausgeben und gleichzeitig müssen einige der vier Ausgangskanäle 80 so ausgewählt werden, daß sie Videopixel ausgeben. Das heißt, ein Block von Daten auf den vier Ausgangskanälen 80 muß sowohl Grafikpixel als auch Videopixel enthalten. In dem Beispiel der Fig. 3b müssen die ersten beiden Ausgangskanäle Grafikkanäle sein, so daß die Grafikpixel 110 und 112 dargestellt werden und die letzten beiden Ausgangskanäle müssen Videokanäle sein, so daß Videopixel 114 und 116 dargestellt werden.
  • Um zu ermöglichen, daß das Videofenster an einer beliebigen Grenze der Grafikpixel dargestellt werden kann, müssen die Videopixel auf speziellen Videokanälen ausgegeben werden. Die Ausgänge eines Videospeichers funktionieren typischerweise in der Weise, daß sie einen Block mit allen vier Videopixeln (32 Bit) auf einmal in den Ausgangspuffer des Videospeichers entleeren (für jeden 32-Bit Bus 70, 72 und 74). Ein Videopixel wird physikalisch auf einem Videokanal 78 nur dann ausgegeben, wenn der Dreizustandspuffer für diesen Videokanal freigeschaltet worden ist. Der nächste Block aus vier Videopixeln in dem Speicher wird dann in den Ausgangspuffer des Videospeichers geladen, um bei der nächsten Gelegenheit ausgegeben zu werden. Dies erzeugt dann ein Problem, wenn, wie in Fig. 3b dargestellt, nur einige der Videopixel ausgegeben werden müssen. Wenn nur die dritten und vierten Dreizustandspuffer freigeschaltet werden, gehen die ersten und zweiten Videopixel in dem Ausgangspuffer verloren und man kann sie nie in dem Videofenster sehen. Der Verlust von Daten erzeugt ein abgespaltenes oder "abgeschnittenes" Bild des Videofensters. Andererseits kann, wenn jedesmal alle vier Videopixel ausgegeben werden, wenn Videopixel dargestellt werden (keine Ausgänge gesperrt werden), das Videofenster nicht beliebig an irgendeiner Grenzlinie der Grafikpixel ausgerichtet werden. Das Videofenster muß dann mit horizontalen Ausrichteinschränkungen dargestellt werden in der Weise, daß bei einem System mit N-fachem Multiplex der linke Rand des Videofensters nur an jedem N-ten horizontalen Pixel angeordnet werden kann.
  • Eine Lösung dieses Problems der beliebigen Videofensterausrichtung gemäß der vorliegenden Erfindung liegt darin, eine Anzahl von Ersatzvideopixeln ("Dummy-Pixeln") in der Abfolge ausgegebener Videopixel einzufügen, um die tatsächlichen Videopixeldaten zu verschieben. In dem Beispiel gemäß Fig. 3b werden zwei Ersatzpixel vor dem Block von Videopixeldaten eingefügt. Dieses verschiebt die ersten und zweiten Videopixel des Blockes an die dritten und vierten Pixelstellen des Blockes, wobei die früheren dritten und vierten Videopixel in die ersten und zweiten Positionen des nächsten Blockes von Videopixeln verschoben werden, usw. Wenn der Block aus Videopixeln aus dem Ausgangspuffer des Videospeichers ausgegeben wird, werden die ersten und zweiten Videokanäle gesperrt und die Daten an den ersten und zweiten Pixelpositionen gehen verloren. Jedoch befinden sich nur Ersatzdaten in diesen ersten und zweiten Pixelpositionen. Die dritten und vierten Videokanäle werden freigegeben, was es den vorherigen ersten und zweiten Videopixeln ermöglicht, daß sie auf dem Bildschirm in ihrer richtigen Reihenfolge ausgegeben und dargestellt werden.
  • Die Anzahl von Ersatzvideopixeln, die erforderlich sind, um das Videofenster an einer beliebigen Grenzlinie der Grafikpixel ohne Verlust von Videodaten anzuordnen, ist gleich der Spaltenanzahl links von dem Rand des Videofensters modulo der Anzahl der Ausgangskanäle 80. In dem Beispiel der Fig. 3b beginnt das Videofenster bei der Spalte mit der Nummer 202 (vom linken Rand des Bildschirms aus gezählt). In einem Vierwege-Multiplexsystem gibt es vier Ausgangskanäle, so daß die Anzahl von Ersatzpixeln, die erforderlich ist, 202 mod 4 beträgt (der Rest von 202/4), was gleich 2 ist. Der Mikroprozessor berechnet die Anzahl der Ersatzpixel, die erforderlich sind, auf der Basis der aktuellen Position des Videofensters und speichert die Anzahl in der Frame Grabber- Steuerung. Jedesmal, wenn das Videofenster bewegt wird oder neue Maße erhält, muß der Mikroprozessor die Anzahl der Ersatzpixel in der Frame Grabber-Steuerung auf einen neuen Stand bringen. Die Frame Grabber-Steuerung 52 liefert den Wert der Dummy-Pixel (das heißt die Anzahl der einzusetzenden Dummy-Pixel) an die Ersatzpixellogik 53 (die unten noch beschrieben wird), welche das Eintakten von Daten aus dem Decodierer/Impulsfrequenzteiler 44 steuert, um die angemessene Anzahl von Ersatzvideopixeln vor jeder horizontalen Abtastlinie von Videopixeln bereitzustellen. Die Quellauswahllogik 48 verwendet die Pixelcodes von dem Speicher 38 vom Fenstertyp, um die richtigen Dreizustandspuffer an den Ausgängen des Videospeichers zu sperren.
  • In der beschriebenen Ausführungsform werden Ersatzpixel erzeugt und in den Videospeicher eingesetzt, indem identische Videopixel gleichzeitig in mehrere Bänke des Videospeichers 46 entsprechend einem Taktsignal "eingetaktet" werden (vorzugsweise werden die Videopixel zunächst in Schieberegister eingetaktet und dann in den Bänken des Videospeichers von den Schieberegistern aus gespeichert, wie oben beschrieben). Die Bänke, die in Abhängigkeit von der Anzahl der einzusetzenden Ersatzpixel getaktet werden, sind in Tabelle 1 wiedergegeben. Tabelle 1
  • Wenn beispielsweise zwei Ersatzpixel wie in Fig. 3b erforderlich sind, so wird ein einzelnes Videopixel in die Bänke A, B und C des Videospeichers gleichzeitig aus dem Decodierer/Impulsfrequenzteiler 44 eingetaktet. Das nächste Videopixel von dem Decodierer/Impulsfrequenzteiler wird in die Bank D eingetaktet. Nur die Videopixel, die an den Bänken C und D geladen sind, werden für die Ausgabe auf Videokanälen ausgewählt. Die anderen beiden Videopixel in den Bänken A und B sind Duplikatpixel der Pixel in Bank C (Ersatzpixel), die verloren gehen. Ersatzpixel werden in nur einem Videopixelblock pro horizontaler Abtastlinie am linken Rand des Videofensters ausgegeben.
  • Ersatzpixel für den Grafikspeicher werden nicht benötigt, da der Grafikadapterchip typischerweise Grafikpixel für den gesamten Bildschirm erzeugt und kontinuierlich diese Pixel aus dem Ausgangspuffer ausgibt, unabhängig davon, ob die Dreizustandspuffer an dem Grafikspeicher freigegeben oder gesperrt sind. Am rechten Rand des Videofensters wählt die Quellauswahllogik 48 einfach die geeigneten Grafik- oder Videokanäle entsprechend dem Pixelplan in dem Speicher 38 vom Fenstertyp aus.
  • Fig. 4 ist ein Blockdiagramm einer bevorzugten Ersatzpixellogik 53 der beschriebenen Ausführungsform, um das Einfügen von Ersatzpixeln in den Videopixelstrom zu steuern. Die Ersatzpixellogik 53 umfaßt vorzugsweise einen Zähler 120 und eine Kanallogik 122. In der beschriebenen Ausführungsform ist der Ersatzpixelwert, der wiedergibt, wie viele Ersatzpixel einzusetzen sind, ein 2-Bit Code, der durch den Mikroprozessor 31 in die Einzelbildsteuerung 52 (Frame Grabber-Steuerung) eingeschrieben wird. Dieser Ersatzpixelwert wird von dem Zähler 120 vor jeder eingehenden Videoabtastlinie auf dem Bus 32 empfangen. Der Zähler 120 ist vorzugsweise ein 2-Bit Zähler modulo 4, der zählt, nachdem jeweils ein Pixel in den Videospeicher 46 eingetaktet worden ist (bekannt aus dem Videotaktgeber 121, der durch die Frame Grabber-Steuerung erzeugt wird). Der Zähler 120 empfängt außerdem ein Anzeigesignal für ein Einzelbildpixel (FPI) auf der Leitung 128, welches den Zähler 120 auf 0 freiräumt, wenn das erste gültige Videopixel einer Abtastlinie in den Videospeicher eingegeben wird. Das FPI-Signal kann beispielsweise durch ein im Inneren der Frame Grabber- Steuerung befindliches Flip Flop erzeugt werden, welches das FPI vor dem ersten Videopixel auf einer Abtastlinie auf high setzt und nach dem ersten Videopixel FPI freimacht (auf low setzt). Der Ausgangswert (C) des Zählers 120 ist eine 2-Bit Zahl, die auf dem Bus 126 an die Kanallogik 122 ausgegeben wird.
  • Die Kanallogik 122 empfängt die 2-Bit Zählung C auf dem Bus 126 und empfängt außerdem das Signal FPI auf der Leitung 128. Das FPI-Signal wird bei dem ersten Videopixel auf eine Abtastlinie gesetzt und zeigt der Logik 122 an, ob das aktuell in den Videospeicher 46 eingetaktete Pixel das erste (am weitesten links liegende) Videopixel auf einer Abtastlinie ist, wie z. B. das Videopixel 114 der Fig. 3b. Die Kanallogik 122 gibt vier Taktsignale ACLK, BCLK, CCLK bzw. DCLK auf den Leitungen 130a-d aus, die in dem Adreß/Steuerungsbus 90 enthalten sind, der mit dem Videospeicher 46 verbunden ist. Jedes der vier Taktsignale 130a-d ist mit einer Eingangsbank eines Videospeichers 46 verbunden, wie es oben beschrieben wurde, so daß ACLK ein Videopixel in die Bank A eintaktet, BCLK ein Videopixel in die Bank B eintaktet, usw. Ein Videopixel wird in eine bestimmte Bank eingetaktet, indem ein Signal mit hohem Impuls auf einer entsprechenden Taktsignalleitung 130a-d angelegt wird. Wenn daher ein Impulssignal auf der Leitung 130a gesendet wird, so wird ein Videopixel in die Bank A eingetaktet.
  • Die Kanallogik 122 setzt die folgenden logischen Gleichungen um:
  • ACLK = !FPI * (C==0) + FPI
  • BCLK = !FPI * (C==1) + FPI * (C> =1)
  • CCLK = !FPI * (C==2) + FPI * (C> =2)
  • DCLK = !FPI * (C==3) + FPI * (C==3)
  • welche anzeigen, daß beispielsweise ACLK als ein Signal mit hohem Impuls auf der Leitung 130a bereitgestellt wird, wenn FPI falsch und C = 0 ist, oder wenn FPI wahr ist; BCLK ist ein Impulssignal auf der Leitung 130b, wenn FPI ein falsches Signal und C = 1 ist, oder wenn FPI wahr ist und C = 1, 2 oder 3 ist; CCLK ist ein Impulssignal auf der Leitung 130c, wenn FPI falsch und C = 2 ist, oder wenn FPI wahr und C = 2 oder 3 ist; und DCLK ist ein Impulssignal auf der Leitung 130d, wenn FPI falsch und C = 3 ist, oder wenn FPI wahr und C = 3 ist. Die Logik 122 kann mit Gates (Schaltern) und anderen elektronischen Komponenten realisiert sein, wie es den Fachleuten auf diesem Gebiet geläufig ist.
  • Fig. 5 ist eine schematische Ansicht einer zweiten Ausführungsform 30' des Anzeigesystems 30. In dem Anzeigesystem 30' ist der DAC 50 durch einen anderen Typ eines DAC 50' ersetzt worden. Der DAC 50' umfaßt einen Multiplexerschaltkreis auf dem Chip, so daß Videokanäle 78 des Busses 74 und Grafikkanäle 76 des Busses 62 mit Eingängen des DAC 50' verbunden sind statt daß sie physikalisch miteinander verbunden sind. Ein geeigneter DAC für die Verwendung als DAC 50' ist der Brooktree BT885 DAC. Dieses spezielle Modell kann nicht 24-Bit Video unter Verwendung von Vierwege-Multiplexschaltung unterstützen, wie es oben beschrieben wurde. Stattdessen wird in der bevorzugten Ausführungsform vorzugsweise ein 16-Bit Video verwendet, wobei 5 Bit für den roten Bereich, 6 Bit für den grünen Bereich und 5 Bit für den blauen Bereich des Signals verwendet werden. Demnach umfaßt ein 20-Bit Bus 74 vier Videokanäle von jeweils 5 Bit pro Kanal. Der DAC 50' wählt vorzugsweise Grafik- und Videokanäle intern aus. Es ist daher in der vorliegenden Ausführungsform keine getrennte Quellauswahllogik 48 oder ein Speicher 38 vom Fenstertyp erforderlich. Um die richtigen Kanäle auszuwählen, benötigt der DAC 50' die Position des Videofensters. Der Mikroprozessor schreibt die Ortsinformation für das Videofenster in den DAC 50' ein. Diese Information kann die Koordinaten der gegenüberliegenden Ecken des angezeigten Videofensters umfassen. Der DAC 50' weiß, wann er von dem Grafikkanal in die Videokanäle und umgekehrt umschalten sollte, indem er interne Komponenten verwendet, um die dargestellten Pixel zu verfolgen. Ein Zähler kann verwendet werden, um die Spalte zu zählen, bei welcher ein angegebenes Pixel dargestellt wird, und ein weiterer Zähler wird verwendet, um in ähnlicher Weise die Reihe bzw. Zeile des angezeigten Pixels zu zählen. Vier Register des DAC können verwendet werden, um die Position des Videofensters zu speichern, einschließlich der Spalte der oberen linken Ecke des Videofensters, der Reihe der oberen linken Ecke, der Spalte der unteren rechten Ecke des Videofensters und der Reihe der unteren rechten Ecke. Der DAC kann die aktuellen Zählerwerte der Spalte und der Zeile eines dargestellten Pixels mit den Werten der Grenzen des Videofensters vergleichen, welche in den Registern gespeichert sind, um festzustellen, ob Grafikpixel oder Videopixel ausgewählt und dargestellt werden sollten. Der DAC 50' gibt dann die geeigneten Video- und Grafikkanäle frei oder sperrt sie entsprechend den internen Bauteilen, wie es den Fachleuten auf diesem Gebiet bekannt ist. Unter Verwendung des Videospeichers der zuvor beschriebenen Ausführungsform kann der DAC 50' ein Videofenster mit 512 · 512 Pixeln darstellen.
  • Der DAC 50' umfaßt vorzugsweise auch eine kleine first in-first out-Schlange (FIFO). Videodaten können in diesem FIFO gepuffert oder gespeichert werden, bis sie dargestellt werden. Der FIFO beseitigt damit das Erfordernis des Einsetzens von Ersatzpixeln in den Videokanälen durch eine Ersatzpixellogik 53, da die Videodaten unabhängig von den dargestellten Grafikpixeln gespeichert werden können. Die anderen Komponenten des Anzeigesystems 30' arbeiten ähnlich wie die Komponenten des Anzeigesystems 30.
  • Durch Verwendung eines getrennten Videospeichers für Videodaten anstelle der gemeinsamen Verwendung eines Speichers für Grafik- und Videodaten kann die Bandbreite des Grafikspeichers wesentlich größer werden. Demnach kann man eine viel höhere Datenübertragungsrate bzw. - geschwindigkeit erreichen, wenn unter Verwendung dieser Konfiguration Grafikpixel dargestellt werden. Die Verwendung von "N" Grafikkanälen und Videokanälen ermöglicht es, daß Daten mit einer Geschwindigkeit dargestellt werden, die schnell genug ist, um in vollem Umfang die hohe Geschwindigkeit des DACs auszunutzen und die Verlangsamung von grafikintensiven Vorgängen zu vermeiden. Schließlich erlaubt die Verwendung von Ersatzvideopixeln, daß das Videofenster auf jeder beliebigen Pixelspalte des Bildschirms angeordnet werden kann (das heißt Einzelpixelauflösung) und nicht auf eine diskrete Grenze hinter einem Block von n Grafikpixeln in einem System mit n-Wege-Multipiexschaltung beschränkt ist.
  • Auch wenn hier spezielle Ausführungsformen der vorliegenden Erfindung beschrieben worden sind, so versteht es sich doch, daß andere spezielle Formen ebenso denkbar sind. Insbesondere kann die Quellauswahllogik auf viele Arten realisiert werden, um die Funktion des Auswählens von Kanälen aus Grafik- und Videospeichern durchzuführen, um ein Videofenster mit einer größeren Datenbandbreite darzustellen.
  • Das Anzeigesystem ist hier in der Anwendung an verschiedene spezielle Fälle bzw. implementierungen beschrieben worden. Es versteht sich jedoch, daß das beschriebene Anzeigesystem auf eine große Vielfalt von Anwendungsfällen angewendet werden kann. In einigen Systemen kann es beispielsweise möglich sein, spezielle Pixel aus dem Videospeicher auszugeben und das Videofenster auszurichten, ohne Ersatzvideopixel einzufügen. In anderen Implementierungen kann es wünschenswert sein, eine dritte Quelle dargestellter Pixel hinzuzufügen, so daß drei verschiedene Busse in Multiplexschaltung angeschlossen sind, bevor sie in den DAC eingegeben werden.

Claims (25)

1. Verfahren des gleichzeitigen Darstellens graphischer Daten und Videodaten auf einem Anzeigebildschirm (54) eines Computersystems mit einem Graphikspeicher (58, 60) und einem Videospeicher (46), der vorgesehen ist, Bildinformationen zu speichern, die auf dem Anzeigebildschirm (54) angezeigt werden sollen, wobei der Anzeigebildschirm (54) eine Vielzahl von Bildpunkten bzw. Pixeln anzeigt, wobei der Graphikspeicher (58, 60) und der Videospeicher (46) jeweils vorgesehen sind, eine Sequenz von Blöcken aus Pixeldaten zu dem Anzeigeschirm (54) auf Ausgangskanälen (82) zu übermitteln, und wobei jeder Block aus Pixeldaten Daten für eine Mehrzahl von Schirmpixeln beinhaltet, die gleichzeitig als ein Block übertragen werden sollen, wobei das Verfahren die Schritte aufweist:
Ablegen graphischer Daten, die von einer Graphikquelle (31, 34) empfangen wurden, in dem Graphikspeicher (58, 60),
Ablegen von Videodaten, die von einer Videoquelle (40) empfangen wurden, in dem Videospeicher (46),
selektive Ausgabe von Graphikdaten für einen Pixelblock gleichzeitig aus dem Graphikspeicher (58, 60) auf eine Anzahl von Graphikkanäle (62), wenn nur Graphikdaten über die Ausgangskanäle (82), die mit den Graphikkanälen (62) verbunden sind, zu dem Schirm übermittelt werden sollen,
selektive Ausgabe von Videodaten für einen Pixelblock gleichzeitig aus dem Videospeicher (46) auf eine Anzahl von Videokanäle (74), die der Anzahl von Graphikkanälen (62) entspricht, wenn nur Videodaten über die Ausgangskanäle (82) zu dem Schirm übermittelt werden sollen, wobei die Videokanäle (74) mit den Graphikkanälen (62) gekoppelt sind, um die Ausgangskanäle (82) zu bilden und worin entweder Graphikdaten oder Videodaten zu einem Anzeigeschirm (54) auf jeden Ausgangskanal (82) ausgegeben werden, dadurch gekennzeichnet, daß
wenn sowohl Graphikdaten als auch Videodaten gleichzeitig zu dem Schirm in einem einzelnen Datenblock über die Ausgangskanäle (82) übermittelt werden sollen, selektives Veranlassen der Ausgangskanäle, die dafür gedacht sind Graphikdaten zu übertragen, nur Graphikdaten zu übertragen und selektives Veranlassen der Ausgangskanäle, die dazu gedacht sind, Videodaten zu tragen, nur Videodaten zu übertragen und zwar durch Lesen eines fensterartigen (window-type) Speichers (38), um zu bestimmen, welche Pixel auf dem Schirm (54) dafür vorgesehen sind, Graphikdaten darzustellen und welche Pixel auf dem Schirm (54) vorgesehen sind, Videodaten darzustellen.
2. Verfahren nach Anspruch 1, wobei der Schritt des selektiven Veranlassens der Ausgangskanäle (82), die dafür gedacht sind Graphikdaten zu tragen, nur Graphikdaten zu übertragen und des selektiven Veranlassens derjenigen Ausgangskanäle (82), die dafür gedacht sind Videodaten zu tragen, nur Videodaten zu übertragen, das Ausgeben von Graphikdaten von dem Graphikspeicher (58, 60) nur über die vorgesehenen Graphikkanäle (62) und Ausgeben der Videodaten von dem Videospeicher nur über die vorgesehenen Videokanäle (74) beinhaltet.
3. Verfahren nach Anspruch 2, wobei das Ausgeben von Graphikdaten von dem Graphikspeicher (58, 60) dadurch erreicht wird, daß Pufferspeicher an einem Ausgang des Graphikspeichers freigegeben wird, und wobei das Ausgeben von Videodaten durch Freigeben von Pufferspeicher an einem Ausgang des Videospeichers (46) ermöglicht wird.
4. Verfahren nach Anspruch 2 oder 3, wobei der Graphikspeicher (58, 60) einen Ausgangspufferspeicher beinhaltet, der mit den Graphikkanälen (62) verknüpft ist und wobei der Videospeicher (46) einen Ausgangspufferspeicher beinhaltet, der mit den Videokanälen (74) verbunden ist, wobei die Ausgangspuffer jeweils Pixeldaten speichern, die von den jeweiligen Speichern ausgegeben werden, wenn die Speicher das nächste Mal instruiert werden, Daten auszugeben.
5. Verfahren nach Anspruch 4, wobei der Videospeicher (46) ein Schieberegister für das Speichern von Pixeldaten beinhaltet, wobei ein Teil der Pixeldaten von dem Schieberegister zu dem Ausgangspufferspeicher geschoben wird, wenn die Pixeldaten ausgegeben werden sollen.
6. Verfahren nach Anspruch 4 oder Anspruch 5, das weiterhin einen Schritt des Einfügens einer Anzahl von Scheinvideopixelwerten vor die Videodaten in dem Schieberegister aufweist, wobei die Anzahl von Scheinpixelwerten dabei auf der Position der Grenze, die die Graphikpixel und die Videopixel auf dem Schirm teilt und der Anzahl von Ausgangskanälen basiert.
7. Verfahren nach Anspruch 6, wobei der Schritt des Einfügens der Scheinvideopixelwerten das Takten eines Videopixelwertes in einer Vielzahl von Pixelorten in dem Schieberegister des Videospeichers (46) aufweist, wenn die Videodaten von der Videoquelle (40) empfangen werden, so daß die Scheinvideopixelwerte nicht von dem Videospeicher (46) ausgegeben werden.
8. Verfahren nach einem der vorherigen Ansprüche, wobei die Anzahl von Graphikkanälen (62) und die Anzahl von Videokanälen (74) vier ist.
9. Verfahren nach einem der vorherigen Ansprüche, das weiterhin einen Schritt des Empfangs eines analogen Videosignals von der Videoquelle (40) des Konvertierens des analogen Videosignals in digitale Videodaten und des Speicherns der digitalen Videodaten in den Videospeicher (46) aufweist.
10. Verfahren nach Anspruch 9, das weiterhin den Schritt des Skalierens der digitalen Videodaten auf eine vorbestimmte Größe aufweist.
11. Verfahren nach einem der vorherigen Ansprüche, wobei die Videodaten, die zu dem Schirm übertragen werden, 24-bit-Echtfarbenvideodaten sind.
12. Vorrichtung zum gleichzeitigen Anzeigen von Graphikdaten und Videodaten auf einem Anzeigeschirm eines Computersystems, wobei die Vorrichtung aufweist:
ein Graphikspeicher (58, 60), der einen Satz von Ausgangsgraphikkanälen (62) hat, die geeignet sind, gleichzeitig Graphikdaten für eine Vielzahl von Schirmpixeln zu übertragen, ein Videospeicher (46), der einen Satz von Ausgangsvideokanälen (74) hat, die geeignet für die gleichzeitige Übertragung von Videodaten für eine Mehrzahl von Schirmpixeln sind, und ein Wandlerelement (50) zum Wandeln der Daten auf den Ausgangskanälen (82) in eine Form, die geeignet ist, einen Anzeigeschirm (54) eines Computersystems anzutreiben, dadurch gekennzeichnet, daß jeder Videokanal (74) mit einem entsprechenden Graphikkanal (62) gekoppelt ist, um ein Kanalpaar zu bilden, und dadurch, daß ein Ausgangskanal (82) mit jedem der Paare von Graphikkanälen (62) und Videokanälen (74) gekoppelt ist, wobei ein Auswahlelement (48) vorhanden ist, um wahlweise entweder Daten von dem Graphikspeicher (58, 60) oder Daten von dem Videospeicher (46) zu veranlassen, die Ausgangskanäle (82) zu passieren, so daß die Ausgangskanäle einen Block von Pixeldaten übertragen können, die gleichzeitig sowohl Graphikdaten und Videodaten beinhalten, aufgeteilt auf einer diskreten Pixel für-Pixel-Basis, wobei das Auswahlelement einen Speicher (38) vom Fenstertyp beinhaltet, der einen Speicherplan der Anordnung eines Videofensters zum Anzeigen auf einem Anzeigeschirm (54) eines Computersystems besitzt.
13. Vorrichtung nach Anspruch 12, wobei der Graphikspeicher (58, 60) einen VRAM-Chip aufweist, der Graphikdaten von einem Graphikchip speichert.
14. Vorrichtung nach Anspruch 12 oder 13, wobei der Videospeicher (46) einen VRAM-Chip zum speichern von Videodaten, die von einer Videoquelle (40) empfangen werden, aufweist.
15. Vorrichtung nach Anspruch 14, wobei der Video-VRAM-Chip einen VRAM-Chip mit drei Anschlüssen beinhaltet, mit zwei sequentiellen Zugriffsanschlüssen und einem Direktzugriffsanschluß.
16. Vorrichtung nach einem der Ansprüche 12 bis 15, wobei das Auswahlelement eine Logik (48) für die Quellenauswahl aufweist, die in der Lage ist, den Speicherplan in dem fensterartigen Speicher (38) zu lesen und die Daten auf den Ausgangskanälen (82) in Übereinstimmung mit dem fensterartigen Speicher auszuwählen.
17. Vorrichtung nach Anspruch 16, wobei die Logik (48) zur Quellenauswahl mit dem Graphikspeicher (48, 60) und dem Videospeicher (46) verbunden ist und in der Lage ist, Ausgangspufferspeicher des Graphikspeichers und des Videospeichers freizugeben, um die Daten auf den Ausgangskanälen (82) auszuwählen.
18. Vorrichtung nach einem der Ansprüche 12 bis 17, wobei das Wandlerelement (50) einen Digital-Analog-Wandler (DAC) beinhaltet.
19. Vorrichtung nach Anspruch 18, wobei der DAC des Wandlerelements (50) mit dem Videospeicher (46) verbunden ist und in der Lage ist, ein digitales Videosignal von dem Videospeicher (46) in ein analoges Signal umzuwandeln, das auf dem Anzeigeschirm (54) dargestellt werden kann.
20. Verfahren nach einem der Ansprüche 12 bis 19, wobei der Satz von Graphikkanälen (62) und der Satz von Videokanälen (74) jeweils vier Kanäle beinhaltet.
21. Vorrichtung nach einem der Ansprüche 12 bis 20, wobei der Videospeicher (46) so betreibbar ist, daß eine Anzahl von Scheinpixeln, die vor den Videodaten positioniert sind in dem Videospeicher abgelegt werden, so daß die Scheinpixel an Videokanäle ausgegeben werden, die nicht ausgewählt wurden, um an das Wandlerelement (50) auszugeben.
22. Vorrichtung nach einem der Ansprüche 12 bis 21, die weiterhin einen Kontroller (52) für die Einzelbilderfassung aufweist, der mit dem Videospeicher (46) und dem Auswahlelement (50) verbunden ist, um den Ausgang der Videodaten von dem Videospeicher (46) zu kontrollieren.
23. Ein Computersystem, das aufweist:
eine Vorrichtung nach einem der Ansprüche 12 bis 22,
einen Prozessor (31),
einen Graphikadapter (34), der mit dem Prozessor (31) verbunden ist, um Befehle von dem Prozessor zu erhalten und Graphikdaten entsprechend den Befehlen auszugeben, wobei der Graphikspeicher (58, 60) mit dem Graphikadapter (34) verbunden ist, um die Graphikdaten zu speichern,
einen Videowandler (42, 44) zum Umwandeln eines Videosignals von einer Videoquelle (40) in Videodaten, die geeignet sind, in dem Videospeicher (46) gespeichert zu werden, wobei der Videospeicher mit dem Videowandler (50) verbunden ist, um die Videodaten zu speichern und
einen Anzeigeschirm (54), der mit dem Wandlerelement (50) verbunden ist und in der Lage ist, die Daten, die von dem Wandlerelement umgewandelt wurden, darzustellen.
24. Computersystem nach Anspruch 23, wobei der Videowandler (42, 44) einen Analog-nach- Digitalwandler (ADC) (42) beinhaltet, um ein analoges Videosignal in ein digitales Signal umzuwandeln.
25. Computersystem nach Anspruch 24, wobei der Videowandler (42, 44) einen Decoder/Skalierer (44) beinhaltet, der mit dem ADC (42) gekoppelt ist und in der Lage ist, das digitale Ausgangssignal von dem ADC (42) in Videodaten umzuwandeln, die geeignet für die Speicherung in dem Videospeicher (46) sind.
DE69610667T 1995-07-05 1996-06-28 Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm Expired - Lifetime DE69610667T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/498,012 US5896140A (en) 1995-07-05 1995-07-05 Method and apparatus for simultaneously displaying graphics and video data on a computer display

Publications (2)

Publication Number Publication Date
DE69610667D1 DE69610667D1 (de) 2000-11-23
DE69610667T2 true DE69610667T2 (de) 2001-05-10

Family

ID=23979258

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69610667T Expired - Lifetime DE69610667T2 (de) 1995-07-05 1996-06-28 Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm

Country Status (4)

Country Link
US (1) US5896140A (de)
EP (1) EP0752695B1 (de)
JP (1) JPH09237073A (de)
DE (1) DE69610667T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831638A (en) * 1996-03-08 1998-11-03 International Business Machines Corporation Graphics display system and method for providing internally timed time-varying properties of display attributes
JP2970558B2 (ja) * 1996-10-25 1999-11-02 日本電気株式会社 オーディオ/ビデオ/コンピュータグラフィクス同期再生合成方式及び方法
US6789146B1 (en) * 1998-02-12 2004-09-07 Micron Technology, Inc. Socket for receiving a single-chip video controller and circuit board containing the same
EP0954171A1 (de) * 1998-04-29 1999-11-03 CANAL+ Société Anonyme Empfänger/Dekodierer und Verfahren zur Videodatenbearbeitung
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US7911483B1 (en) 1998-11-09 2011-03-22 Broadcom Corporation Graphics display system with window soft horizontal scrolling mechanism
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US8913667B2 (en) 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US9668011B2 (en) 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
WO2001045426A1 (en) * 1999-12-14 2001-06-21 Broadcom Corporation Video, audio and graphics decode, composite and display system
JP4526145B2 (ja) * 1999-12-28 2010-08-18 富士通セミコンダクター株式会社 Mpegビデオ復号器およびmpegビデオ復号方法
US7445551B1 (en) 2000-05-24 2008-11-04 Nintendo Co., Ltd. Memory for video game system and emulator using the memory
EP1160759A3 (de) * 2000-05-31 2008-11-26 Panasonic Corporation Bildausgabevorrichtung und Verfahren zur Steuerung der Bildausgabe
KR20020013009A (ko) * 2000-08-10 2002-02-20 구자홍 모니터의 화면 조정장치 및 방법
US20030210267A1 (en) * 2002-05-13 2003-11-13 Kylberg Robert Lee Systems and methods for providing asynchronous client rendering in a graphical user interface (GUI) environment
US6873341B1 (en) 2002-11-04 2005-03-29 Silicon Image, Inc. Detection of video windows and graphics windows
TW589880B (en) * 2003-03-07 2004-06-01 Asustek Comp Inc Processing method and system for real-time video stream
JP2004294973A (ja) * 2003-03-28 2004-10-21 Nec Plasma Display Corp ディジタル画像処理装置
US7667710B2 (en) 2003-04-25 2010-02-23 Broadcom Corporation Graphics display system with line buffer control scheme
US8063916B2 (en) * 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US11278793B2 (en) 2004-03-31 2022-03-22 Nintendo Co., Ltd. Game console
US8267780B2 (en) 2004-03-31 2012-09-18 Nintendo Co., Ltd. Game console and memory card
US20090049399A1 (en) * 2007-08-13 2009-02-19 At&T Knowledge Ventures, L.P. System for presenting graphical user interface windows
US8823719B2 (en) 2010-05-13 2014-09-02 Mediatek Inc. Graphics processing method applied to a plurality of buffers and graphics processing apparatus thereof
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
CN103297855B (zh) * 2012-03-02 2015-05-20 腾讯科技(深圳)有限公司 一种应用展示方法以及一种终端

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807189A (en) * 1987-08-05 1989-02-21 Texas Instruments Incorporated Read/write memory having a multiple column select mode
US5097257A (en) * 1989-12-26 1992-03-17 Apple Computer, Inc. Apparatus for providing output filtering from a frame buffer storing both video and graphics signals
JPH07105914B2 (ja) * 1990-05-23 1995-11-13 三菱電機株式会社 画像出力制御装置
US5274753A (en) * 1990-05-24 1993-12-28 Apple Computer, Inc. Apparatus for distinguishing information stored in a frame buffer
US5345554A (en) * 1992-04-17 1994-09-06 Intel Corporation Visual frame buffer architecture
US5406306A (en) * 1993-02-05 1995-04-11 Brooktree Corporation System for, and method of displaying information from a graphics memory and a video memory on a display monitor
US5821918A (en) * 1993-07-29 1998-10-13 S3 Incorporated Video processing apparatus, systems and methods
US5517612A (en) * 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations

Also Published As

Publication number Publication date
US5896140A (en) 1999-04-20
EP0752695A2 (de) 1997-01-08
EP0752695A3 (de) 1997-10-15
JPH09237073A (ja) 1997-09-09
DE69610667D1 (de) 2000-11-23
EP0752695B1 (de) 2000-10-18

Similar Documents

Publication Publication Date Title
DE69610667T2 (de) Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm
DE68928773T2 (de) Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen
DE69411771T2 (de) Vorrichtung und Verfahren zur Anzeige von Informationen aus einem grafischen Speicher und einem Videospeicher auf einem Anzeigegerät
DE69712799T2 (de) Interpolieren von pixelwerten und alphawerten in einer anzeigevorrichtung für computergrafiken
DE69611347T2 (de) Anzeigevorrichtung mit einer Vielzahl von Schirmen
DE69132796T2 (de) Verfahren und gerät zur darstellung von grafischen bildern
DE69518778T2 (de) Multimedia graphische Systeme mit andauernd hoher Taktrate
DE69708270T2 (de) Videobildmischung in einem heimkommunikationsterminal
DE4231158C5 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE69535693T2 (de) Einzelrasterpufferbildverarbeitungssystem
DE69022752T2 (de) Interaktive Audio-Video-Anzeige.
DE69126909T2 (de) Videosignalanzeigevorrichtung
DE69331031T2 (de) Vorrichtung zur parallelen Bilderzeugung
DE3718501A1 (de) Videoanzeigegeraet
DE3736195C2 (de) Raster-Videoanzeigeeinrichtung
DE3887340T2 (de) Videowiedergabesystem.
DE3851680T2 (de) Einrichtung zur Änderung der Bildelementdaten, die in einem Direktzugriffsspeicher gespeichert sind.
DE69129975T2 (de) Rechnergraphiksystem
DE3688145T2 (de) Videoanzeigesystem.
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE69029987T2 (de) Verfahren und Gerät zur parallelen Wiedergabe von Polygonen und Pixeln
DE69716376T2 (de) Fensterverarbeitung in einem Bildschirmanzeigensystem
DE3804460A1 (de) Anzeigesteuerung fuer ein datensichtgeraet
DE69020753T2 (de) Farbfernsehbildfenster für ein Videoanzeigegerät.
DE69324399T2 (de) Videoprozessorsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition