DE69525261T2 - System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem - Google Patents

System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem

Info

Publication number
DE69525261T2
DE69525261T2 DE69525261T DE69525261T DE69525261T2 DE 69525261 T2 DE69525261 T2 DE 69525261T2 DE 69525261 T DE69525261 T DE 69525261T DE 69525261 T DE69525261 T DE 69525261T DE 69525261 T2 DE69525261 T2 DE 69525261T2
Authority
DE
Germany
Prior art keywords
video
data
control information
frame
video data
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
DE69525261T
Other languages
English (en)
Other versions
DE69525261D1 (de
Inventor
C. Baker
P. Mulligan
J. Schell
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.)
Brooktree Broadband Holding Inc
Original Assignee
Brooktree Corp
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 Brooktree Corp filed Critical Brooktree Corp
Application granted granted Critical
Publication of DE69525261D1 publication Critical patent/DE69525261D1/de
Publication of DE69525261T2 publication Critical patent/DE69525261T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/641Multi-purpose receivers, e.g. for auxiliary information
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display 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/02Handling of images in compressed format, e.g. JPEG, MPEG
    • 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/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/06Transmission systems characterised by the manner in which the individual colour picture signal components are combined
    • H04N11/12Transmission systems characterised by the manner in which the individual colour picture signal components are combined using simultaneous signals only
    • H04N11/14Transmission systems characterised by the manner in which the individual colour picture signal components are combined using simultaneous signals only in which one signal, modulated in phase and amplitude, conveys colour information and a second signal conveys brightness information, e.g. NTSC-system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/06Transmission systems characterised by the manner in which the individual colour picture signal components are combined
    • H04N11/12Transmission systems characterised by the manner in which the individual colour picture signal components are combined using simultaneous signals only
    • H04N11/14Transmission systems characterised by the manner in which the individual colour picture signal components are combined using simultaneous signals only in which one signal, modulated in phase and amplitude, conveys colour information and a second signal conveys brightness information, e.g. NTSC-system
    • H04N11/16Transmission systems characterised by the manner in which the individual colour picture signal components are combined using simultaneous signals only in which one signal, modulated in phase and amplitude, conveys colour information and a second signal conveys brightness information, e.g. NTSC-system the chrominance signal alternating in phase, e.g. PAL-system

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color Television Systems (AREA)
  • Television Systems (AREA)
  • Digital Computer Display Output (AREA)

Description

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein ein System und ein Verfahren zum Erzeugen von Videosignalen in einem Computersystem. Die Erfindung betrifft insbesondere ein System und ein Verfahren zum Umsetzen von digitalen Pixeldaten in ein zusammengesetztes Videosignal (Farb-Bild-Austast-Synchron-Signal) für die Ausgabe auf ein analoges Videogerät, beispielsweise einen Monitor, einen Videorecorder usw.
  • 2. Hintergrund
  • Seit ihrer Einführung vor nahezu zwanzig Jahren haben sich Personalcomputer und Arbeitsplatzrechner rasant entwickelt. Gewaltige Fortschritte in der Prozessor-, Darstellungs- und Audiotechnologie haben den Personalcomputer in ein Multimediagerät verwandelt, das in einer einzigen Programmanwendung Farbgrafik, Video und Stereoton verbinden kann.
  • Die meisten herkömmlichen Systeme erfordern jedoch getrennte Buseinrichtungen für die Unterstützung von Grafik, Video und Klängen. Die Klangeinrichtungen sind häufig mit dem Expansionsbus verbunden; dagegen sind Grafik- und Videoeinrichtungen auf den Localbus gewandert, um von den höheren Datenübertragungsraten zu profitieren.
  • Unglücklicherweise hat dieser zerstückelte Ansatz zum Bereitstellen von Multimediafähigkeiten zur Entwicklung von getrennten Grafik-, Video- und Audiosubsystemen geführt, die unterschiedliche Controller mit unverträglichen Datentypen aufweisen. Dies kann zu vergeudetem Speicherplatz und zu vergeudeter Speicherbandbreite führen, zu mehrfacher Bus- Schnittstellenlogik und zu überflüssigen CPU-Zyklen für die Verwaltung der unabhängigen Untersysteme.
  • Benötigt wird eine Vorrichtung und ein Verfahren zum Verbinden von Grafik, Video und Audio auf einer einzigen Busvorrichtung, wobei eine einzige Busschnittstelle verwendet wird. Ein solches System erlaubt bevorzugt die gemeinsame Benutzung eines einzigen Puffers und weiterer Komponenten in zahlreichen Multimediaanwendungen, die Audio, Grafik, Videoeingabe und Videoausgabe umfassen.
  • Die Aufnahme von Video in ein derartiges System bringt einige Herausforderungen mit sich. Videodaten verbrauchen viel Bandbreite und Speicher, und die Umsetzung von digitalen Pixeldaten in ein zusammengesetztes Videosignal verlangt komplizierte Hardware für die Datenumsetzung und das Erzeugen von Timingsignalen. Zum Erzeugen eines zusammengesetzten Videosignals aus digitalen Pixeldaten sind einige Schritte erforderlich. Diese Schritte können umfassen: Farbraumumwandlungen, Erzeugung eines zusammengesetzten Luminanzsignals, das Erzeugen von Chrominanzsignalen und Hilfsträgern, Signalen für die vertikale und horizontale Synchronisierung und Digital- Analog-Umsetzung. Siehe hierzu Keith Jack, Video Demystified, A Handbook for the Digital Engineer, Seite 106-196 (HighText 1993) (im Weiteren als "Video Demystified" bezeichnet).
  • Die in Computergrafiken und Bildgebersystemen verwendeten Daten benutzen gewöhnlich das Rot-, Grün- und Blau-Farbraumformat (RGB) und müssen in ein Video- oder Sendeformat umgesetzt werden, um zusammengesetzte Videosignale zu erzeugen. In üblichen RGB- Grafiksystemen wird jedem Pixel auf der Anzeige ein unterschiedlicher Rot-, Grün- und Blaupegel zugewiesen, die zusammengefasst die Pixelfarbe bestimmen. Video- und Sendeformate besitzen dagegen in der Regel Luminanzkomponenten, die die Helligkeit darstellen, und modulierte Chrominanzkomponenten, die die Farbinformation liefern. Weit verbreitete Videoformate sind NTSC (National Television System Committee), PAL (Phase Alternation Line), und SECAM (Sequential Color with Memory).
  • Zusätzlich müssen zahlreiche weitere Umsetzungen und Informationen für zusammengesetzte Videosignale bereitgestellt werden. Wird ein Video auf einem Fernsehgerät dargestellt (oder auf eine andere Videovorrichtung ausgegeben), so wird ein Schirmbild aus zwei Halbbildern aufgebaut, wobei jedes Halbbild die Hälfte der Abtastzeilen enthält, die zum Aufbau eines Videovollbilds (Frame) erforderlich sind. Ein Halbbild enthält die geradzahligen Abtastzeilen. Das andere Halbbild besteht aus den ungeradzahligen Abtastzeilen. Halbbilder treten nur in Zeilensprung-Abtastsystemen auf. In einem Zeilensprungsystem verwendet man im Allgemeinen zwei (es könnten auch mehr sein, zwei ist jedoch am gebräuchlichsten) ineinander verschachtelte Halbbilder zum Abtasten eines Videovollbilds. Daher ist die Anzahl der Zeilen in einem Halbbild halb so groß wie die Anzahl der Zeilen in einem Frame. Bei NTSC sind in einem Halbbild 262,5 Zeilen (525 Zeilen pro Vollbild) enthalten; bei PAL sind es 312,5 Zeilen je Halbbild. Die beiden Halbbilder sind ineinander verschachtelt, d. h., dass alle ungeradzahligen Zeilen in einem Halbbild enthalten sind, die geradzahligen Zeilen jedoch das andere Halbbild aufbauen. Bei NTSC, PAL und SECAM gehört jede weitere Abtastzeile zum gleichen Halbbild. Jedes Halbbild wird nacheinander auf den Bildschirm geschrieben, d. h. zuerst das eine Halbbild und dann das andere. Zahlreiche Computermonitore arbeiten dagegen ohne Zeilensprung, und die Grafikdaten werden nicht in getrennten Halbbildern angeliefert.
  • Nach jeder Zeile Videodaten und nach jedem Halbbild erhält der Bildschirm eine Austastinformation. Auf dem Bildschirm verläuft die Abtastzeile von der linken Kante zur rechten Kante, springt dann zurück zur linken Kante und beginnt von vorn usw. bis zum unteren Ende des Bildschirms. Trifft die Abtastzeile auf die rechte Grenze und muss nun zur linken Kante zurückgeführt werden, so wird das Videosignal ausgetastet, damit man den Rückkehrpfad des Abtaststrahls von rechts zur linken Kante nicht sehen kann. Dies wird als Horizontalaustastung bezeichnet. Am Ende eines jeden Halbbilds erfolgt eine Vertikalaustastung, damit sich die Abtastzeile auf dem Bildschirm von unten nach oben bewegen kann.
  • Bekanntlich werden nach jeder Zeile und nach jedem Halbbild noch weitere Informationen geliefert. Beispielsweise wird die Synchronisierung mit einem Sync-Signal erzeugt. Das Sync-Signal teilt der Anzeige im Wesentlichen mit, wo das Bild anzuordnen ist. Das horizontale Sync-Signal oder abgekürzt HSYNC teilt der Anzeige mit, wo das Bild zwischen links und rechts anzuordnen ist. Das vertikale Sync-Signal (VSYNC) teilt der Anzeige mit, wo das Bild zwischen oben und unten anzuordnen ist. Zum Erzeugen eines analogen zusammengesetzten Videosignals müssen Austastsignale, Synchronisierung und andere Informationen erzeugt, und in den Videostrom eingefügt werden. Weitere Informationen zu Videoformaten findet man in Video Demystified.
  • Herkömmliche Systeme zum Umsetzen von digitalen Videodaten in ein analoges zusammengesetztes Videosignal bestehen in der Regel aus integrierten Schaltungsvorrichtungen und können eine beträchtliche Menge analoger Schaltungen enthalten. Diese Systeme bewältigen die Umsetzung von digitalen Daten in Analogsignale mit stufenweiser Verarbeitung und schließen die Umsetzung mit einer Weiterverarbeitung des entstehenden Analogsignals ab. Bei diesen herkömmlichen Systemen treten Probleme bei der analogen Signalverarbeitung auf, beispielsweise bei Schaltungen, deren Antwort sich abhängig von der Temperatur ändert, und durch die Erfordernis, Frequenzen, Phasen und Pegel einzustellen sowie durch die relativ hohen Kosten der Analogschaltungen. Siehe hierzu das US-Patent 5,119,176 in Spalte 2, Zeilen 16-26. Die vorherrschenden digitalen Systeme verwenden dagegen für die Koeffizienten der Luminanz- und Chrominanzkomponenten meist Tabellen in einem fest zugewiesenen RAM oder ROM. Dies kann ein wirksames Verfahren zum Umsetzen der Videodaten bieten; es erfordert jedoch zusätzlichen Speicher, der unbenutzt bleiben kann, wenn keine Videodaten verarbeitet werden. Man benötigt eine Vorrichtung, die es erlaubt, dass andere Mediensubsysteme diesen Speicher wirksam nutzen, wenn keine Videodaten verarbeitet werden.
  • Zusätzlich müssen die vorherrschenden digitalen Systeme die horizontale und vertikale Videosteuerinformation (einschließlich der Austastung und der Synchronisierung) als Teil des digitalen Stroms liefern. Wird diese Information an der Eingangsseite des Systems erzeugt, so nimmt die erforderliche Bandbreite zum Verarbeiten- der Videodaten auf dem gesamten Datenweg zu. Wird dagegen diese Information von einem integrierten Codierer kurz vor dem Ende des Codiervorgangs zugefügt, so können komplizierte Logik- und Timingsignale erforderlich sein.
  • Das US-Patent 5,293,483 betrifft eine kombinierte Bild- und Steuerdaten-Bildspeichervorrichtung, in der man gleichzeitig auf Bild- und Steuerdaten zugreifen kann.
  • Das europäische Patent EP 0601647 offenbart ein weiteres bekanntes Verfahren zum Erzeugen eines zusammengesetzten Bilds, besitzt jedoch komplizierte Multiplexanordnungen.
  • Benötigt wird eine relativ einfache, bevorzugt digitale Vorrichtung, die Videosteuerinformation in einen Videodatenstrom einfügt, ohne dass die erforderliche Bandbreite wesentlich zunimmt. Benötigt wird auch ein Verfahren zum Einsparen von Speicher, der zum Ablegen der Videodaten verwendet wird, ohne dass die Kosten oder die Komplexität der Verarbeitungshardware wesentlich steigen.
  • In herkömmlichen Systemen sind in aller Regel Digitalfilter, Multiplizierer und weitere Hardware nötig, die die Kosten und die Komplexität des Systems erhöhen. Zudem können zum Unterstützen verschiedener Videoformate unterschiedliche Hardwareanordnungen nötig sein. Man benötigt ein System und ein Verfahren zum Erzeugen eines zusammengesetzten Videosignals mit unterschiedlichen Formaten, wobei im Wesentlichen die gleichen Hardwarekomponenten verwendet werden und keine Digitalfilter, Multiplizierer und weitere komplexe Hardware nötig sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein Aspekt der Erfindung stellt ein System und ein Verfahren bereit, das zusammengesetzte Videosignale von einem Digitalcomputer liefert. Bevorzugt werden die Videodaten von Programmen vorverarbeitet, und die Hardware ist bevorzugt größtenteils formatunabhängig. Es ist ein Vorteil dieser und weiterer Aspekte der Erfindung, dass zahlreiche Videoformate flexibel unterstützt werden können. Ein weiterer Vorteil ist, dass der Hardwareentwurf einfacher wird. Die Erfindung stellt insbesondere ein System und ein Verfahren bereit, das gemäß Anspruch 1 bis 23 einen formatierten Videodatenstrom aus einem Strom aktiver Videodaten erzeugt.
  • Ein weiterer Aspekt des Systems stellt ein Multimediasubsystem bereit, das Video, Grafik und Klang verbindet. Ein anderer Aspekt des Systems stellt einen Anzeigespeicher bereit, der zum Speichern aktiver Videodaten und Videosteuerinformation sowie von Grafik- und Klangdaten dient. Es ist ein Vorzug dieser und weiterer Aspekte des Systems, dass zahlreiche unverträgliche Untersysteme für Grafik, Video und Klang beseitigt werden können. Es ist ein weiterer Vorzug dieser und anderer Aspekte des Systems, dass die Anzahl der Speicher und weiterer Komponenten kleiner werden kann.
  • Ein weiterer Aspekt des Systems stellt eine Datenstruktur zum Speichern von Videoausgabedaten in einem Speicher bereit. Diese Struktur kann mit videobezogenen Daten vorbelegt werden, die nach jeder Zeile, jedem Halbbild und/oder Vollbild ausgegeben werden. Diese videobezogenen Daten können Austastung, Farbbursts, Synchronisierung und weitere Videosteuerinformation enthalten.
  • Es ist ein Vorteil dieser und weiterer Aspekte des Systems, dass keine komplizierte Hardware zum Erzeugen gewisser videobezogener Signale benötigt wird, z. B. Signale für Videosteuerinformation. Diese Signale können vorab generiert und zur Verwendung mit unterschiedlichen aktiven Videodaten in einem Speicher abgelegt werden. Es ist zusätzlich vorteilhaft, dass die Bandbreite geringer werden kann, da man die videobezogenen Daten, die im Videostrom wiederholt werden müssen, nur einmal in den Speicher laden muss.
  • Ein weiterer Aspekt des Systems stellt eine Kompression für videobezogene Daten in einem Speicher bereit. Videobezogene Daten können insbesondere gezielt komprimiert werden. Wiederholt auftretende videobezogene Daten, z. B. Videosteuerinformation, können komprimiert und vorab in einen Speicher geladen werden, wogegen aktive Videodaten in unkomprimierter Form in den Speicher geschrieben werden können. Es ist ein Vorteil dieser und weiterer Aspekte des Systems, dass die Anforderungen an Speicher und Bandbreite geringer werden. Es ist ein weiterer Vorteil, dass sich die Verarbeitungslogik vereinfacht, da die aktiven Videodaten nicht komprimiert werden müssen. Statt dessen kann man diejenigen Abschnitte der Videodaten gezielt komprimieren, bei denen die Kompression am größten ist.
  • Ein weiterer Aspekt des Systems stellt eine gezielte Decodierung komprimierter Daten bereit. Dies erfolgt bevorzugt am hinteren Ende des Videocodiervorgangs. Es ist ein Vorteil dieses Aspekts, dass Speicher- und Bandbreitenanforderungen geringer werden können.
  • Ein weiterer Aspekt des Systems stellt eine Tabelle für modulierte Chrominanzdaten bereit. Die Modulation erfolgt bevorzugt mit einer Geschwindigkeit, bei der ein Takt gemeinsam mit anderen Mediensubsystemen verwendet werden kann. Es ist ein Vorteil dieser und weiterer Aspekte des Systems, dass die Berechnung der modulierten Chrominanz stark vereinfacht wird, und dass Komponenten gemeinsam mit anderen Mediensubsystemen genutzt werden.
  • Ein weiterer Aspekt des Systems stellt eine Abtasttaktrate bereit, die eine vereinfachte Modulationslogik erlaubt. Die Abtasttaktrate ist bevorzugt das Vierfache der Frequenz des Chrominanzhilfsträgers. Es ist ein Vorteil dieses Aspekts des Systems, dass die Modulationslogik wesentlich einfacher wird und man weder eine Tabelle noch komplizierte Analogschaltungen benötigt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fachleute können mit Hilfe der folgenden ausführlichen Beschreibung und der anliegenden Zeichnungen diese und weitere Merkmale und Vorteile der Erfindung besser verstehen.
  • Es zeigt:
  • Fig. 1A ein vereinfachtes Blockdiagramm eines Systems gemäß einer ersten Ausführungsform der Erfindung zum Erzeugen eines zusammengesetzten Videosignals in einem Personalcomputer;
  • Fig. 1B ein vereinfachtes Blockdiagramm eines Systems gemäß einer zweiten Ausführungsform der Erfindung;
  • Fig. 1C ein vereinfachtes Blockdiagramm eines Systems gemäß einer dritten Ausführungsform der Erfindung;
  • Fig. 2 ein Blockdiagramm, das ausführlicher Teile eines der Blöcke in Fig. 1A darstellt, wobei dieser Block in Fig. 1A als "Media Stream Controller" bezeichnet ist;
  • Fig. 3 ein Flussdiagramm, das eine Vorgehensweise zum Erzeugen eines zusammengesetzten Videosignals in einem System gemäß der ersten Ausführungsform der Erfindung erläutert;
  • Fig. 4 ein Blockdiagramm, das ausführlicher Teile eines der Blöcke in Fig. 2 darstellt, wobei dieser Block in Fig. 2 als "NTSC/PAL Video Out" bezeichnet ist;
  • Fig. 5 ein vereinfachtes Blockdiagramm der Struktur einer Chrominanztabelle gemäß der ersten Ausführungsform;
  • Fig. 6 ein Flussdiagramm, das eine Vorgehensweise zum Erzeugen von zusammengesetzten Videopixeldaten gemäß der ersten Ausführungsform erläutert;
  • Fig. 7 ein vereinfachtes Blockdiagramm, das die Struktur eines Video Frame Tables und eines Video Frame Buffers zum Speichern und Zurückholen von zusammengesetzten digitalen Videodaten gemäß der ersten Ausführungsform erläutert;
  • Fig. 8 Videodaten, die gemäß einem Aspekt der ersten Ausführungsform lauflängencodiert werden können;
  • Fig. 9A ein Blockdiagramm, das ausführlicher Teile eines der Blöcke in Fig. 1A darstellt, wobei dieser Block in Fig. 1A als "PACDAC" bezeichnet ist; und
  • Fig. 9B ein Blockdiagramm, das ausführlicher Teile einer anderen Ausführungsform eines der Blöcke in Fig. 1A darstellt, wobei dieser Block in Fig. 1A als "PACDAC" bezeichnet ist.
  • BEGRIFFSVERZEICHNIS
  • Ein "Frame" oder "Vollbild" sind die Videodaten für ein Schirmbild bzw. ein Bild aus dem Videostrom. Die Videodaten können digital oder analog vorliegen und können komprimiert oder nicht komprimiert sein. So wie der Begriff hier verwendet wird, kann ein Frame sowohl aktives Video als auch Videosteuerinformation enthalten, und er kann aus mehreren Halbbildern bestehen.
  • "Aktives Video" sind Videodaten, die zum Bestimmen von Intensität und/oder Farbe verwendet werden. Diese Videodaten sind in der Regel in Pixel unterteilt und können digitale oder analoge Form haben.
  • "Videosteuerinformation" sind Videodaten, die nicht zum Bestimmen von Intensität und Farbe verwendet werden. Diese Videodaten werden üblicherweise nach einer Zeile, einem Halbbild oder Vollbild von aktivem Video eingefügt. Diese Videodaten können umfassen: horizontale oder vertikale Austastung, horizontale oder vertikale Synchronisierung und/oder Farbburst, sind aber nicht hierauf eingeschränkt. Diese Videodaten können digitale oder analoge Form haben.
  • Ein "Field" oder "Halbbild" sind Videodaten für eine Menge von Zeilen, die einen Teil eines Schirmbilds oder Bilds aus einem Videostrom bilden. Bei Zeilensprungsystemen besteht ein Frame in der Regel aus zwei Halbbildern. Ein Halbbild enthält die geradzahligen Zeilen der Videodaten, und das andere Halbbild besteht aus den ungeradzahligen Zeilen der Videodaten. In einem Zeilensprungsystem wird jedes Halbbild vollständig angezeigt, d. h., es werden alle ungeradzahligen Zeilen dargestellt, dann die geraden, dann die ungeraden usw.
  • Der Begriff "Pixel" ist eine Abkürzung für "picture element" und bedeutet die kleinste Einheit, aus der ein Bild aufgebaut ist. Normalerweise ist dies die kleinste Fläche, auf der sich Intensität und Farbe nicht ändern. Ein physikalisches Pixel stellt eine Fläche auf einem Grafik- oder Videobildschirm dar. Ein Pixel im Speicher stellt einen Datenpunkt für einen Teil eines Bilds dar. Ein Pixel im Speicher kann von einem einzigen physikalischen Pixel abweichen, falls sich die Auflösung des physikalischen Schirmbilds von der Auflösung des im Speicher abgelegten Bilds unterscheidet.
  • "Pixeldaten" sind Daten, die die Farbe und/oder Intensität eines Video- oder Grafikpixels darstellen.
  • "Komponenten-Pixeldaten" sind Pixeldaten, die mit anderen Pixeldaten kombiniert werden müssen, damit sie die Farbe und Intensität eines Pixels festlegen. Im RGB-Farbraum (rot, grün und blau) weist beispielsweise jedes Pixel drei Komponenten- Pixeldaten auf, nämlich eine rote Komponente, eine grüne Komponente und eine blaue Komponente. Die meisten Videoformate bestehen ebenfalls aus drei Komponenten-Pixeldaten, nämlich einer Luminanzkomponente, die die Intensität darstellt, und zwei Chrominanzkomponenten, die die Farbe darstellen. Komponenten-Pixeldaten können entweder moduliert oder nicht moduliert sein. Im NTSC-Videoformat umfassen die Komponenten- Pixeldaten beispielsweise eine Luminanzkomponente (Y) und zwei nicht modulierte Chrominanzkomponenten (U und V). Die Chrominanzkomponenten werden moduliert (Usinωt und Vcosωt, wobei gilt ω = 2πFSC), bevor sie zu einem zusammengesetzten Videosignal zusammengefasst werden.
  • "Zusammengesetzte Pixeldaten" sind, Daten, die die Farbe und Intensität eines Video- oder Grafikpixels darstellen.
  • Normalerweise sind zusammengesetzte Pixeldaten für Videoformate eine Kombination aus der Luminanzkomponente und den modulierten Chrominanzkomponenten. Beim NTSC-Videoformat, das den YUV- Farbraum verwendet, werden beispielsweise die Komponenten gemäß der Beziehung Y + Usinωt + Vcosωt zusammengefasst, wobei gilt ω ist gleich 2π mal der Frequenz des Hilfsträgersignals FSC.
  • "Digitale zusammengesetzte Videodaten" sind digitalisierte Videodaten, die sowohl aktives Video als auch Videosteuerinformation enthalten. Es handelt sich in der Regel um den digitalisierten Verlauf eines zusammengesetzten Videosignals, wobei dem Synchronisier-, Austast- und Weißpegel besondere Digitalwerte zugewiesen sind.
  • Ein "zusammengesetztes Videosignal" ist ein einziges analoges Signal, in dem aktives Video und Videosteuerinformation zusammengefasst sind.
  • BESCHREIBUNG
  • Fig. 1A zeigt ein vereinfachtes Blockdiagramm eines allgemein mit 100 bezeichneten Systems für die Erzeugung eines zusammengesetzten Videosignals in einem Personalcomputer gemäß einer ersten Ausführungsform der Erfindung. Dieses System, siehe Fig. 1A, enthält eine Zentraleinheit 102 (CPU) und einen Hauptspeicher 104, der sowohl ausführbare Anweisungen als auch Daten für das System speichert. Im System in Fig. 1A sind die CPU 102 und der Hauptspeicher 104 mit einem Localbus 106 verbunden. Das in Fig. 1A dargestellte System 100 enthält auch einen Peripheriebuscontroller 108, der mit dem Localbus 106 verbunden ist. In der ersten Ausführungsform stellt der Peripheriebuscontroller 108 bevorzugt ein PCI-Bussystem bereit; es können jedoch auch ändere Bussysteme unterstützt werden. Ein Peripheriebus 110 besitzt gemeinsame Anschlüsse mit dem Peripheriebuscontroller 108, einer Peripherie-I/O-Schnittstelle 112 und dem Media Stream Controller 114. In der ersten Ausführungsform ist der Peripheriebus 110 über den Peripheriebuscontroller 108 mit dem Localbus verbunden. Weitere Ausführungsformen der Erfindung können so angepasst werden, dass sie andere Verbindungsverfahren zum Localbus unterstützen, z. B. die direkte Verbindung, die gepufferte Verbindung oder eine Verbindung über eine Kombination aus Cache und Bridge. Siehe hierzu Tom Shanley und Don Anderson, PCI System Architecture, PC System Architecture Series Volume 4 bei 12-30 (MindShare Press 2nd ed. 1994).
  • Fig. 1B enthält im Einzelnen ein System gemäß einer zweiten Ausführungsform der Erfindung, allgemein mit 100b bezeichnet, das nahezu die gleichen Komponenten wie die erste Ausführungsform in Fig. 1A enthält. Der Media Stream Controller 114b ist jedoch direkt mit dem Localbus 106b verbunden. In der zweiten Ausführungsform stellt der Localbus 106b bevorzugt ein VESA- Localbussystem bereit, obwohl auch andere Bussysteme unterstützt werden können. In der Ausführungsform in Fig. 1B sind die Elemente mit den gleichen Bezugszeichen bezeichnet wie in Fig. 1A; die Elemente sind jedoch zusätzlich durch ein angehängtes "b" gekennzeichnet. Man beachte, dass in Fig. 1B der Peripheriebuscontroller 108b nicht zwischen den Media Stream Controller 114b und die CPU 102b geschaltet ist. Abgesehen von diesem Unterschied arbeitet das System in Fig. 1B im Wesentlichen genauso wie das System in Fig. 1A. Aufgrund dieser nahezu gleichen Funktionalität arbeitet das System in Fig. 1B beim Erzeugen eines zusammengesetzten Videosignals in ähnlicher Weise wie das System in Fig. 1A.
  • Fig. 1C zeigt eine dritte Ausführungsform, die dafür gedacht ist, in einem System mit einem schnellen Random-Access-Memory-Bus zu arbeiten, der als "RAMBUS" bezeichnet wird. Das "RAMBUS"- System ist in Fachkreisen bekannt. Beispielsweise offenbart die International Application PCT/US 91/02590, veröffentlicht am 31. Oktober 1991, ein derartiges System. Die Blöcke im System in Fig. 1C stimmen häufig mit den Blöcken in Fig. 1A und 1B überein; sie sind jedoch anders angeordnet als die Blöcke in Fig. 1A und 1B. Derartige Blöcke sind in Fig. 1C mit den gleichen Bezugszeichen wie die Blöcke in Fig. 1A und 1B bezeichnet, es ist jedoch ein "c" angehängt.
  • Das System in Fig. 1C ist allgemein mit 100c bezeichnet. In der Ausführungsform in Fig. 1C ist ein Localbus 106c zwischen die CPU 102c und einen schnellen Peripheriebuscontroller 180 geschaltet. Alle anderen Elemente im System 100c und der Peripheriebuscontroller 180 sind mit einem schnellen Bus 182 (bezeichnet als "RAMBUS") verbunden. Damit erfolgt die gesamte Kommunikation zwischen den verschiedenen Elementen (mit Ausnahme der CPU 102c) über den schnellen Bus 182.
  • Da nahezu die gesamte Kommunikation über den schnellen Bus 182 erfolgt, kann die Kommunikation schneller ablaufen als in den Systemen in Fig. 1A und 1B. Man sieht jedoch, dass die Ausführungsform in Fig. 1C im Wesentlichen die gleichen Vorteile hat wie die Ausführungsformen in Fig. 1A und 1B.
  • Die Peripherie-I/O-Schnittstelle 112, siehe Fig. 1A, ist mit einem Peripheriegerät 116 verbunden. Der Peripheriebus 110 in der ersten Ausführungsform kann ein PCI-Bus sein, der eine Datenbandbreite von zweiunddreißig (32) Bit parallel bietet, und der zukünftig bis zu vierundsechzig (64) Bit parallel bieten kann. Das Peripheriegerät 116 kann beispielsweise ein Drucker oder ein Plattenlaufwerk sein und wird durch Befehle von der CPU 102 betrieben. Fachleuten ist die Verbindung und Arbeitsweise dieser Komponenten bekannt.
  • Der Peripheriebus 110 in Fig. 1A ist mit einem Media Stream Controller 114 verbunden, der in Fig. 1A als einzelner Block und in Fig. 2 als vereinfachtes Blockdiagramm dargestellt ist. Der Media Stream Controller 114 kann in einem integrierten Schaltungschip untergebracht sein.
  • Der Media Stream Controller 114, siehe Fig. 1A, empfängt Eingangssignale von einem Videoeingabecontroller 118. Der Videoeingabecontroller 118 erhält über einen Bus 120 Eingangssignale von einer Videoquelle 122, die in herkömmlicher Weise aufgebaut sein kann. Der Media Stream Controller 114 empfängt auch Eingangssignale von einem Audio-I/O-Controller 124, der in herkömmlicher Weise aufgebaut sein kann, und liefert Ausgangssignale an ihn. Der Audio-I/O-Controller 124 kann Lautsprecher oder andere Klangausgabegeräte (nicht dargestellt) mit Klangausgaben versorgen, oder er empfängt Eingangssignale von einem Lautsprecher oder anderen Klangeingabegeräten (nicht dargestellt). Bevorzugt verwendet man eine serielle Standard- AES/EBU-Audioschnittstelle für die Kommunikation zwischen dem Media Stream Controller 114 und dem Audio-I/O-Controller 124. Das Audiosubsystem und zugehörige Abschnitte des Systems 100 sind ausführlicher im gleichzeitig anhängigen Patent WO-A-9615499 mit dem Titel "System and Method for Command Processing and Data Transfer in a Computer System for Sound or the Like", eingereicht am 10. Nov. 1994, beschrieben. Das Patent stammt von Paul B. Wood und Marc M. Stimak als gemeinsame Erfinder und wurde dem Abtretungsempfänger der Niederschrift übertragen.
  • Ein Randombus 126 verbindet den Media Stream Controller 114 und einen Anzeigespeicher 128. Der Randombus 126 ermöglicht bevorzugt eine hohe Datenübertragungsgeschwindigkeit zwischen dem Media Stream Controller 114 und dem Anzeigespeicher 128. In der ersten Ausführungsform unterstützt der Randombus 126 eine Datenübertragungsrate von ungefähr 100 Megabit/Sekunde (100 Mbs) und enthält einen zweiunddreißig (32) Bit breiten Datenbus.
  • Der Anzeigespeicher 128 weist unterschiedliche Teile für die Speicherung von Daten und Steuerinformation auf, die sich auf verschiedene Mediensubssysteme beziehen. Der Anzeigespeicher 128 besitzt beispielsweise einen mit "GUI FIFO Memory" bezeichneten Abschnitt 130, der Befehle auf Überlaufbasis speichert. Der GUI FIFO Memory Abschnitt 130 und zugehörige Teile des Systems sind ausführlich im gleichzeitig anhängigen US-Patent 5,715,437 mit dem Titel "System for, and Method of, Processing in Hardware Commands Received from Software without Polling of the Hardware by the Software", eingereicht am 10. Nov. 1994, beschrieben. Das Patent stammt von David C. Baker and Michael D. Asal als gemeinsame Erfinder und wurde dem Abtretungsempfänger der Niederschrift übertragen. Der Anzeigespeicher 128 besitzt auch einen Audiospeicherabschnitt 132, der Information im Zusammenhang mit der digitalen Klang- Ein/Ausgabe speichert. Der Audiospeicher 132 ist ausführlicher im gleichzeitig anhängigen Patent WO-A-9615499 mit dem Titel "System and Method for Command Processing and Data Transfer in a Computer System for Sound or the Like", eingereicht am 10. Nov. 1994, beschrieben. Das Patent stammt von Paul B. Wood und Marc M. Stimak als gemeinsame Erfinder und wurde dem Abtretungsempfänger der Niederschrift übertragen.
  • Der Anzeigespeicher 128 enthält auch einen Grafikframepufferspeicher 134 für die Speicherung von Grafikdaten, beispielsweise Daten für eine Entnahmetabelle, und einen Videoausgabespeicher 136 für die Speicherung von digitalen zusammengesetzten Videodaten. Es kann auch ein Videoeingabespeicherabschnitt (nicht dargestellt) vorgesehen sein. Ein System zum Speichern von Grafikdaten und Videodaten in verschiedenen Abschnitten eines Anzeigespeichers ist im gleichzeitig anhängigen US-Patent 5,406,306 mit dem Titel "System for, and Method of, Displaying Information from a Graphics Memory and a Video Memory on a Display Monitor", eingereicht am 5. Februar 1993, ausführlich offenbart und beansprucht. Das Patent stammt vom Jonathan I. Siann, Conrad M. Coffey und Jeffrey L. Easley und wurde dem Abtretungsempfänger der Niederschrift übertragen.
  • Man kann sehen, dass nicht alle Teile des Anzeigespeichers 128 gleichzeitig aktiv oder resident sein müssen. Beispielsweise sind in der ersten Ausführungsform die Videoeingabe und die Ausgabe des zusammengesetzten Videos aufgrund von Einschränkungen bei der Bandbreite und beim Speicher nicht gleichzeitig aktiv. In der Tat bietet die erste Ausführungsform allgemein nur eine Speicher- und Grafikauffrischung während zusammengesetzte Videosignale umgewandelt und ausgegeben werden. Der Speicher und die Bandbreite können in anderen Ausführungsformen jedoch vergrößert werden, damit zusätzliche Mediensubsysteme gleichzeitig arbeiten können.
  • Die Ausführungsformen in Fig. 1A und 1B enthalten einen Anzeigespeicher 128, in dem ein Videospeicher mit wahlfreiem Zugriff (VRAM, VRAM = Video Random Access Memory) verwendet wird. Der Gebrauch eines Video Random Access Memorys als Anzeigespeicher 128 hat gewisse Vorteile, da er mit einem relativ schnellen seriellen Ausgabetakt arbeitet und weil er ein serielles Ausgaberegister zum Hinausschieben von Digitaldaten besitzt, die von unterschiedlichen Stellen im Anzeigespeicher stammen. Fachleuten ist natürlich bekannt, dass man andere Speicherarten einsetzen kann, ohne den Bereich der Erfindung zu verlassen. Dazu gehören, jedoch ohne Einschränkung darauf, ein schneller dynamischer Speicher mit wahlfreiem Zugriff (DRAM), siehe Fig. 1C, und ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM).
  • Die Ausgangssignale des Grafikframepufferspeichers 134 und des Videoausgabespeichers 136 können auf einer Leitung 138 geliefert werden, die mit "Display Data to PACDAC" bezeichnet ist. Das Ausgangssignal auf der Leitung 138 gelangt zum PACDAC 140 und kann sowohl Daten als auch Steuerinformation aus dem Anzeigespeicher 128 enthalten. Der Ausdruck "PACDAC" bezeichnet einen paketgestützten Digital-Analog-Umsetzer (DAC). Ein PACDAC und zugehörige Teile des Systems sind ausführlich im US-Patent 5,640,332 mit dem Titel "Multimedia Graphics System", eingereicht am 16. März 1994, beschrieben und beansprucht. Das Patent stammt von David C. Baker und Jonathan I. Siann und wurde dem Abtretungsempfänger der Niederschrift übertragen. Der PACDAC verwendet einen First-In/First-Out-Puffer (FIFO) zum Puffern von Paketen, die zu Video, Grafik oder Steuerung gehören und vom Anzeigespeicher 128 empfangen werden. Die zu Video oder Grafik gehörenden Pakete können in analoge Form umgesetzt und an eine Video- oder Grafikeinrichtung ausgegeben werden. Die Leitung 138 gestattet bevorzugt eine hohe Datenübertragungsgeschwindigkeit zwischen dem Anzeigespeicher 128 und dem PACDAC 140. In der ersten Ausführungsform unterstützt die Leitung 138 eine Datenübertragungsrate von ungefähr zweihundert Megabit/Sekunde (200 Mbs) und enthält einen zweiunddreißig (32) Bit breiten Datenbus.
  • Zusätzlich zum Empfang von Daten und Steuerinformation über die Leitung 138 empfängt der PACDAC 140 Steuerinformation vom Media Stream Controller 114 auf der Leitung 160, die in Fig. 1 mit "Packet Type" bezeichnet ist. Diese Steuerinformation bezeichnet den Typ des Pakets (Video, Grafik, Steuerinformation usw.) und wird zu beliebigen Zeitpunkten an den PACDAC 140 gesendet. Der PACDAC 140 liefert dem Media Stream Controller 114 gewisse Informationen. Der PACDAC liefert dem Media Stream Controller 114 auf der Leitung 150 ein Video Ready Signal (VRDY), das in Fig. 1 mit VRDY bezeichnet ist. Das Video Ready Signal meldet dem Media Stream Controller 114, dass der PACDAC 140 zum Empfang von videobezogenen Daten aus dem Anzeigespeicher 128 bereit ist. Der PACDAC 140 liefert dem Media Stream Controller 114 auch gewisse Statusinformationen über einen Bus 170, der bevorzugt ein Standard-I²C-Bus ist.
  • Im PACDAC 140 der ersten Ausführungsform kann auch Taktungsinformation erzeugt werden. In der ersten Ausführungsform werden Taktsignale erzeugt, die Frequenzen von ungefähr 16,9344 Megahertz (MHz) und 24,576 MHz haben. Diese Taktsignale können dem Media Stream Controller 114 über die Leitung 172 geliefert werden. Der Media Stream Controller 114 kann das Taktsignal von 24,576 MHz durch zwei teilen und ein Taktsignal mit 12,288 MHz erzeugen. Dies liefert zusätzlich zum Taktsignal mit 16,9344 MHz ein Taktsignal mit 12,288 MHz. Die beiden Taktsignale mit 12,288 MHz und 16,9344 MHz werden in der ersten Ausführungsform für die Audioverarbeitung genutzt. Das Taktsignal mit 24,576 MHz kann auch verdoppelt werden (auf nahezu 50 MHz) oder vervierfacht (auf nahezu 100 MHZ) und dann als schnelle Taktung im Media Stream Controller 114 dienen. Die Taktsignale mit 16, 9344 MHz und 24,576 MHz werden im PACDAC 140 auch dazu verwendet, die Video- und Grafikverarbeitung zu steuern.
  • Im PACDAC 140 der ersten Ausführungsform wird ein FIFO und ein DAC dazu verwendet, ein analoges zusammengesetztes Videosignal aus im Anzeigespeicher 128 gespeicherten Daten zu erzeugen. Das zusammengesetzte Videosignal der ersten Ausführungsform kann über den NTSC/PAL-Port 142 an eine Videoeinrichtung geliefert werden, beispielsweise einen Videorecorder, einen NTSC/PAL-Monitor usw. Zusätzlich kann der PACDAC einen Speicher mit wahlfreiem Zugriff (RAM) und weitere Digital-Analog-Umsetzer für Grafikzwecke aufweisen. Für die Grafik kann die binäre Information im Grafikframepufferspeicher 134 Positionen in einer RAM-Tabelle darstellen. Diese Positionen können binäre Werte haben, die Pseudofarben darstellen. Die Binärwerte werden in Digital-Analog-Umsetzern in analoge Werte umgesetzt und liefern über die Ports 144 mit der Bezeichnung RGB die Farben an unterschiedlichen Pixelpositionen auf dem Grafikanzeigebildschirm. In dem gemeinsam anhängigen US-Patent US-A-5,406,306 ist offenbart, dass Videoinformation aus einem Videoeingabespeicher (nicht dargestellt) auch in eine Form umgesetzt werden kann, die mit der Grafikinformation für den Grafikframepufferspeicher 134 kompatibel ist. Diese umgesetzte Videoinformation kann über die Ports 144 auf einem Grafikanzeigebildschirm dargestellt werden.
  • Der Media Stream Controller 114 liefert in der ersten Ausführungsform die Hauptkoordination zwischen den verschiedenen Medienkomponenten. Abschnitte des Media Stream Controllers 114 sind in Fig. 2 ausführlicher wiedergegeben. Der Media Stream Controller 114, siehe Fig. 2, kommuniziert über ein Main Bus Interface 200 mit dem Peripheriebus 110. Das Main Bus Interface 200 ist mit einem internen 3-Zustands-Hbus 202 verbunden, der eine Kommunikation mit verschiedenen funktionalen Modulen erlaubt, die am Hbus liegen. Die Module können neben anderen Vorrichtungen umfassen: eine Videoeingabeschnittstelle 203, die Videodaten aufnimmt, einen VGA-Controller 204 für Grafik, ein Audiomodul 206 für Klänge, ein NTSC/PAL-Videoausgabemodul 207, das Videodaten ausgibt, ein Speicherrefreshmodul 208, das den Refresh des Anzeigespeichers 128 steuert, und einen Media Buffer Access Controller 209 enthalten, der es Daten ermöglichen kann, durch den Media Stream Controller und über einen MBus 210 und einen Media Buffer Memory Controller 212 zum Anzeigespeicher zu gelangen. Wie dargestellt kann auch ein GUI Accelerator 214 bereitgestellt sein. Dem IBus können noch weitere Module zugefügt sein, z. B. Flash-ROMs oder ein Yamaha POL Support.
  • Jedes dieser Module ist mit einem internen MBus 210 verbunden, der die Kommunikation mit dem Media Buffer Memory Controller 212 herstellt. Der Media Buffer Memory Controller 212 ist ein Speichercontroller für den Anzeigespeicher 128; er kommuniziert auch über den Randombus 126 mit dem Anzeigespeicher. Jedes dieser Module kann über den MBus 210, den Media Butter Memory Controller 212 und den Randombus 126 Datenpakete zum Anzeigespeicher transportieren und/oder von dort empfangen.
  • Der Media Stream Controller 114 weist auch einen PACDAC- Controller 218 auf. Der PACDAC-Controller versorgt den PACDAC 140 mit Steuerinformation. Der PACDAC-Controller 218 ist mit dem MBus 210 verbunden und kann PACDAC-Steuerdatenpakete über den MBus 210 zum Media Buffer Memory Controller 212 übertragen. Zusätzlich kann der PACDAC-Controller 218 über die Leitung 224 weitere PACDAC-Steuerinformation an den Media Buffer Memory Controller 212 senden. Die Steuerinformation für den PACDAC kann dann durch den Anzeigespeicher 128 zum PACDAC 140 gesendet werden. Der PACDAC-Controller 218 liefert dem PACDAC 140 auch über die Leitung 160 Signale, die in Fig. 1 mit "Packet Type" bezeichnet sind, und anzeigen, ob ein Paket, das der PACDAC 140 vom Anzeigespeicher 128 empfangen hat, Steuerinformation oder Video oder grafikbezogene Information enthält.
  • Der VGA-Controller 204, das NTSC/PAL-Videoausgabemodul 207, der PACDAC-Controller 218 und ein I²C-Controller 220 sind mit dem Bus 222 verbunden und können darüber kommunizieren. Der Media Stream Controller 114 kann mit anderen Teilen des Multimediasystems der ersten Ausführungsform über die Videoeingabeschnittstelle 203, das Audiomodul 206, den Media Buffer Memory Controller 212, den PACDAC-Controller 218 und die I²C-Schnittstelle 220 kommunizieren. Bevorzugt werden Standardschnittstellen wie AES/EBU und I²C unterstützt.
  • Das NTSC/PAL-Videoausgabemodul 207 kann zusätzlich über die VRDY-Leitung 150 ein Video Ready Signal vom PACDAC 140 empfangen. Ein Signal auf der VRDY-Leitung 150 zeigt an, dass der PACDAC 140 bereit ist, ein Paket oder mehrere Pakete von zusammengesetzten digitalen Videodaten zu empfangen, die der PACDAC 140 umsetzt und ein analoges zusammengesetztes Videosignal erzeugt. Empfängt das NTSC/PAL-Videoausgabemodul ein Video Ready Signal, so sendet es über den MBus 210 eine Anforderung an den Media Buffer Memory Controller 212. Der Media Buffer Memory Controller 212 veranlasst nun, dass das angeforderte Paket digitaler zusammengesetzter Videodaten vom Anzeigespeicher 128 zum PACDAC übertragen wird. Nach der Bedienung der Anforderung vom NTSC/PAL-Videoausgabemodul 207 sendet der Media Buffer Memory Controller über die Leitung 226 ein Bestätigungssignal an das NTSC/PAL-Videoausgabemodul 207. Das NTSC/PAL-Videoausgabemodul 207 sendet solange auf ein Video Ready Signal hin keine weiteren videobezogenen Pakete, bis es das Bestätigungssignal empfangen hat. Dies erlaubt es dem PACDAC 140, das erste Paket zu empfangen und das Video Ready Signal wenn nötig wegzunehmen, um zu verhindern, dass das NTSC/PAL-Videoausgabemodul 207 weitere Pakete sendet.
  • Weitere Aspekte eines Multimediasystems sind in der gleichzeitig anhängigen Patentschrift US-A-5,940,610 offenbart, die von David C. Baker, Michael D. Asal, Jonathan L. Siann, Paul Wood, Jeff Nye, Steve Glennon und Mathew Bates als gemeinsame Erfinder eingereicht und dem Abtretungsempfänger der Niederschrift übertragen wurde.
  • Fachleute sehen sofort, dass das beschriebene System eine Architektur liefert, die es erlaubt, dass Hardwarekomponenten, die ohne Beschränkung darauf das Main Bus Interface 200, den Anzeigespeicher 128 und den PACDAC 140 umfassen, von zahlreichen Mediensubsystemen gemeinsam benutzt werden. Man beachte, dass Grafik-, Video- und Audiosubsysteme traditionsgemäß getrennte Speicherbereiche und Busanschlüsse verwenden, und zwar wegen unabhängigen Controllern mit unverträglichen Datentypen. Dies kann zu vergeudetem Speicherplatz und zu vergeudeter Speicherbandbreite führen, zu mehrfacher Bus-Schnittstellenlogik und zu überflüssigen CPU-Zyklen für die Verwaltung der unabhängigen Untersysteme. Folglich sind die Kosten zum Bereitstellen dieser Fähigkeiten relativ hoch. Es ist ein Vorteil des Systems der ersten Ausführungsform, dass Komponenten gemeinsam verwendet werden können, und dass die Kosten und die Komplexität der gesamten Multimedialösung sinken.
  • Das Bereitstellen zusammengesetzter Videoausgangssignale mit dem System der ersten Ausführungsform bringt jedoch zusätzliche Herausforderungen mit sich. Das Erzeugen eines zusammengesetzten Videosignals erfordert normalerweise komplexe Schaltungen und verbraucht sehr viel Bandbreite. Im System der ersten Ausführungsform wird jedoch bevorzugt ein Videoausgabesystem bereitgestellt, das hauptsächlich gemeinsame Hardwarekomponenten nutzt. Zudem bietet die erste Ausführungsform eine flexible Architektur, die es erlaubt, mit der gleichen Hardware unterschiedliche Videoformate zu unterstützen. Große Teile der Sonderbearbeitung werden in die Software verlagert, so dass man eine einfachere und weniger spezielle Hardware verwenden kann. Weiterhin erlaubt es ein nur einmal arbeitendes Vorverarbeitungssystem, wiederholt auftretende videobezogene Daten, z. B. Videosteuerinformation, vorab in komprimiertem Format zu erzeugen und mit unterschiedlichem aktiven Video wiederzuverwenden. Dies beseitigt die komplizierten Schaltungen, die bisher erforderlich waren, um diese Signale rasch zu erzeugen, und die Anforderungen an Speicher und Bandbreite sinken gleichzeitig.
  • ÜBERSICHTSDARSTELLUNG DES BETRIEBS
  • Fig. 3 zeigt ein Flussdiagramm, das den Gesamtvorgang der Erzeugung eines zusammengesetzten Videosignals im System der ersten Ausführungsform erläutert. Für die erste Ausführungsform sei angenommen, dass die gewünschte Digitalgrafik oder die Videopixeldaten auf einer Festplatte gespeichert sind, siehe den Abschnitt 300 in Fig. 3. Die Daten sollen beispielsweise im bekannten Standarddateiformat ".AVI" vorliegen. Natürlich können andere Datenquellen oder -formate ebenfalls leicht unterstützt werden.
  • Diese digitalen Pixeldaten werden zunächst von einem Anwendungsprogramm verarbeitet, das die CPU 102 ausführt. Das Anwendungsprogramm kann die digitalen Pixeldaten von einem Peripheriegerät 116, z. B. einem Plattenlaufwerk, in den Hauptspeicher 104 laden, wenn dies für die Verarbeitung erforderlich ist. Die nötige Verarbeitung durch die Anwendung hängt natürlich vom Format der ursprünglichen digitalen Pixeldaten ab. Übliche Verarbeitungsschritte, die erforderlich sein können, sind in Fig. 3 dargestellt. Man kann leicht sehen, dass man durch den Einsatz von Programmen für die Erstverarbeitung eine große Flexibilität in das System einbauen kann, so dass unterschiedliche Eingabeformate und verschiedene Verarbeitungsschritte unterstützt werden. Weitere Informationen über Videoformate und Verarbeitungen findet man bei Keith Jack, Video Demystified. A Handbook for the Digital Engineer (HighText 1993) (im Weiteren als "Video Demystified" bezeichnet).
  • Für die Erläuterung sei angenommen, dass die Anfangsdaten- Eingabedatei digitale Grafikpixeldaten im Farbraumformat RGB (Rot, Grün und Blau) enthält. Der RGB-Farbraum wird für Computergrafik und Bildgebung häufig verwendet. In üblichen RGB-Grafiksystemen werden jedem Pixel auf der Anzeige unterschiedliche Rot-, Grün- und Blaupegel zugewiesen, die gemeinsam die Farbe des Pixels bestimmen. Weitere Informationen zum RGB-Farbraum und zu Grafiksystemen findet man in Video Demystified bei 27-196.
  • Sollten die digitalen Anfangsdaten in einem anderen Farbraum oder Format vorliegen, so kann man - wie Fachleuten bekannt ist - ähnliche Verfahren wie bei den RGB-Pixeldaten anwenden.
  • Zum Erzeugen eines zusammengesetzten Videosignals werden die RGB-Pixeldaten in ein Video- oder Sendeformat umgesetzt. Video- und Sendeformate verwenden in der Regel Luminanz- und Chrominanzkomponenten. Die Luminanzkomponente (als "Y" bezeichnet) stellt die Intensitätsinformation dar. Die Chrominanzkomponenten (als "U" und "V" bezeichnet) bestimmen die darzustellende Farbe. Der YUV-Farbraum ist der grundlegende Farbraum, der in zahlreichen Videostandards einschließlich PAL, NTSC und SECAM verwendet wird. Man kann auch andere verwandte Farbräume verwenden, z. B. YIQ, YDrDb oder YCrCb. Die Umwandlungen zwischen diesen Formaten sind bekannt, siehe Video Demystified bei 28-54. Liegen die digitalen Anfangsdaten bereits im gewünschten Format vor, so ist natürlich keine Farbraumumsetzung erforderlich.
  • Der erste Schritt 302 der Umsetzung, den das Anwendungsprogramm der ersten Ausführungsform ausführt, ist die Gammakorrektur. Die Gammakorrektur stellt die linearen RGB- Pixeldaten so ein, dass die nichtlinearen Eigenschaften der Leuchtstoffe in der Anzeige (und einiger Kameras) berücksichtigt werden. Die gammakorrigierten RGB-Pixeldaten werden nun in den YUV-Farbraum umgesetzt, siehe Schritt 304 in Fig. 3. Natürlich kann innerhalb des Bereichs der Erfindung die Umsetzung in andere Formate (z. B. YIQ) leicht unterstützt werden. Derartige Gamma- und Farbraumumsetzungen sind bekannt, siehe Video Demystified bei 109-110. Weitere Formatumsetzungen, die zum Erzeugen passender YUV-Komponentenpixeldaten erforderlich sind, führt das Anwendungsprogramm der ersten Ausführungsform mit Hilfe bekannter Vorgehensweisen im Schritt 304 ebenfalls aus. Diese Verarbeitung kann beispielsweise das Erzeugen der zusammengesetzten Luminanz einschließen, siehe Video Demystified bei 111.
  • Das Programm der ersten Ausführungsform, siehe den Schritt 306, skaliert nun die konvertierten YUV-Komponentenpixeldaten passend zum Erzeugen der QCIF-Auflösung. Im QCIF-Format stellt jedes Pixel in den Daten sechzehn physikalische Pixel dar, wenn mit voller Auflösung angezeigt wird. Das QCIF-Format wird derzeit bevorzugt, da es die Bandbreiten- und Speicheranforderungen der ersten Ausführungsform verringert. Natürlich kann innerhalb des Bereichs der Erfindung eine andere Skalierung, z. B. CIF (Common Interchange Format) unterstützt werden. Eine Beschreibung der Zusammenhänge zwischen voller Auflösung, CIF und QCIF für verschiedene Videosignale findet man in Video Demystified bei 15. Die Bandbreitenanforderungen in der ersten Ausführungsform werden durch eine Unterabtastung der unmodulierten Chrominanzkomponenten (U und V) mit dem Faktor vier weiter verringert. Damit gehört zu vier Luminanzkomponenten (Y) ein einziges Paar unmodulierter Chrominanzkomponenten (U und V). Bei der QCIF- Auflösung stellt damit jedes Paar unmodulierter Chrominanzkomponenten (U und V) vierundsechzig (64) Pixel dar, wenn die volle Auflösung angezeigt wird. Bevorzugt ordnet man beim Ausführen dieser Unterabtastung die Daten derart an, dass auf ein einziges Paar unmodulierter Chrominanzkomponenten (U und V) vier Luminanzkomponenten (Y) folgen, da dies die Reihenfolge ist, die der Media Stream Controller 114 in der ersten Ausführungsform erwartet.
  • An diesem Punkt kann man die umgesetzten Pixeldaten bei 308 komprimieren und bei 310 zur weiteren Verwendung auf der Platte speichern. Die Konversion der Pixeldatenformate ist hiermit von der Echtzeitausgabe des zusammengesetzten Videosignals entkoppelt. Später können die Pixeldaten bei 312 für die Weiterverarbeitung entkomprimiert werden. Sind genügend Verarbeitungskapazität und Bandbreite vorhanden, so kann das Anwendungsprogramm wahlweise die Pixeldaten in Echtzeit konvertieren und übertragen, siehe den Pfeil vom Schritt 306 zum Schritt 314 in Fig. 3.
  • Im Schritt 314 sendet das Anwendungsprogramm in der ersten Ausführungsform die umgesetzten Videopixeldaten zur Weiterverarbeitung an den Media Stream Controller 114. Wegen der vertikalen QCIF-Kompression sendet das Anwendungsprogramm eine Zeile der Videopixeldaten viermal. Die Expandierung in horizontaler Richtung erfolgt in der ersten Ausführungsform im Media Stream Controller 114, siehe die folgende Beschreibung.
  • Die Vorverarbeitung durch Programme der ersten Ausführungsform verwendet mehrere bekannte Verfahren. Die Kombination dieser Verfahren als Programm, siehe oben, erlaubt eine stark vereinfachte Videoverarbeitung durch die Hardware. Zusätzlich bietet das Programm Flexibilität, da in der ersten Ausführungsform unterschiedliche Datenformate und Skalierungen ohne Änderung der Hardware unterstützt werden können.
  • In der ersten Ausführungsform sendet das Anwendungsprogramm, das auf der CPU 102 ausgeführt wird, die konvertierten digitalen Videopixeldaten an den Media Stream Controller 114. Der Media Stream Controller 114, siehe den Schritt 316 in Fig. 3, erzeugt nun digitale zusammengesetzte Pixeldaten, die im Anzeigespeicher 128 gespeichert werden. Die digitalen zusammengesetzten Pixeldaten stellen einen pulscodemodulierten Digitalwert (PCM) für ein Pixel im zusammengesetzten Videosignal dar. Jede Luminanzkomponente (Y) wird auf vier horizontale Pixel expandiert, um die QCIF-Kompression zu berücksichtigen. Jedes Paar Chrominanzkomponenten (U und V) wird sechzehnfach expandiert, um die QCIF-Kompression und die Unterabtastung der Chrominanzkomponenten mit dem Faktor vier zu berücksichtigen. Zum Bilden eines zusammengesetzten Videosignals für jedes Videopixel werden bekanntlich die nicht modulierten Chrominanzkomponenten (U und V) mit der Frequenz eines Hilfsträgersignals moduliert und aufaddiert, so dass sie eine zusammengesetzte Chrominanz bilden. Siehe hierzu Video Demystified bei 55-105 und bei 118-124. Die zusammengesetzte Chrominanz wird nun zur Luminanzkomponente (Y) addiert, damit zusammengesetzte digitale Pixeldaten entstehen. Tabelle 1 zeigt Gleichungen zum Berechnen zusammengesetzter NTSC- und PAL-Videosignale, wobei gilt ω gleich 2π mal die Frequenz des Hilfsträgersignals FSC. Die Frequenz des Hilfsträgersignals für die unterschiedlichen Videostandards ist in Fachkreisen bekannt.
  • Tabelle 1
  • (1) zusammengesetztes NTSC mit YIQ-Farbraum = Y + Qsin(ωt + 33º) + Icos(ωt + 33º)
  • (2) zusammengesetztes NTSC mit YUV-Farbraum = Y + Usinωt + Vcosωt
  • (3) zusammengesetztes PAL mit YUV-Farbraum = Y + Usinωt + Vcosωt
  • Bekanntlich ändert sich das Vorzeichen von V für zusammengesetztes PAL zwischen je zwei Zeilen (bekannt als PAL- Umschaltung). In herkömmlichen Systemen kann komplizierte Hardware, die Multiplizierer oder Filter umfasst, zum Berechnen der modulierten Chrominanz erforderlich sein. Im System der ersten Ausführungsform vereinfacht sich diese Berechnung durch den Gebrauch einer Chrominanztabelle 318, die im Videoausgabespeicherabschnitt 136 des Anzeigespeichers 128 abgelegt ist. In der ersten Ausführungsform wird die Chrominanztabelle 318 vorher berechnet und vorab in den Anzeigespeicher geladen, bevor die Verarbeitung der Videoausgabe beginnt. Dies kann das Anwendungsprogramm bei der Initialisierung ausführen. Die Chrominanztabelle 318 enthält modulierte Werte der U- und V-Chrominanzkomponenten (oder der Q- und I-Chrominanzkomponenten) für aufeinander folgende diskrete Werte von FSC, die durch die Pixelabtastrate bestimmt sind. Die Pixelabtastrate ist bevorzugt mindestens zweimal FSC. In der ersten Ausführungsform beträgt die Pixelabtastrate entweder 12,288 MHZ oder 16,9344 MHz, so dass man die gleichen Taktsignale für das NTSC/PAL-Videoausgabemodul 207 und das Audiosubsystem verwenden kann. Wie im Weiteren beschrieben wird, können sich gewisse Verarbeitungsschritte in einer anderen Ausführungsform vereinfachen, wenn man eine Pixelabtastrate von viermal FSC verwendet. In der ersten Ausführungsform kann die Chrominanztabelle 318 alle diskreten Werte für Usinωt und Vcosωt für das NTSC- und/oder PAL-Format enthalten. Natürlich können auch andere Farbräume (z. B. YIQ) und andere Videoformate unterstützt werden. Es ist ein Vorteil dieses Systems, dass die Hardware einfacher wird, und dass verschiedene Videoformate einfach dadurch unterstützt werden können, dass man unterschiedliche Werte in die Chrominanztabelle 318 lädt. Obgleich die Chrominanztabelle 318 sehr groß werden kann, wird kein besonderer Speicher benötigt, da der Anzeigespeicher 128 bereits für die Grafik und andere Verwendungen bereitgestellt ist. Durch den gemeinsamen Gebrauch des Anzeigespeichers 128 treten Kosten für getrennte Audio-, Grafik- und Videopuffer nicht mehr auf.
  • In der ersten Ausführungsform werden zusammengesetzte Videopixeldaten erzeugt, indem man einfach Tabelleneinträge dazu benutzt, die modulierten Chrominanzkomponenten zu erhalten, und dann diese Werte zu der Luminanzkomponente addiert. Die zusammengesetzten Pixeldaten werden dann, siehe Schritt 320 in Fig. 3, im Videoausgabespeicherabschnitt 136 des Anzeigespeichers 128 abgelegt. Die zusammengesetzten Pixeldaten werden in Halbbildern in der Reihenfolge gespeichert, in der die Pixel ausgegeben werden. Die horizontale Videosteuerinformation, die am Ende einer jeden aktiven Videozeile ausgegeben werden muss, wird vorab so in den Anzeigespeicher 128 geladen, dass sie am Ende einer jeden Zeile der zusammengesetzten Pixeldaten liegt. Die vertikale Videosteuerinformation, die am Ende eines jeden Halbbilds ausgegeben werden muss, wird ebenfalls vorab in den Anzeigespeicher geladen. Die horizontale und vertikale Videosteuerinformation ist bevorzugt lauflängencodiert (RLE, RLE = Run Length Encoded), um den für die Ablage erforderlichen Speicherplatz zu verkleinern und die erforderliche Bandbreite im System zu verringern. Das Vorabladen kann beim Initialisieren des Anwendungsprogramms erfolgen. Dies führt zu einer Schablone für die Videodaten im Anzeigespeicher 128, bei der die Videosteuerinformation bereits voreingestellt ist. Es müssen lediglich noch die zusammengesetzten Pixeldaten in die passenden Pixelpositionen im Anzeigespeicher 128 geladen werden.
  • Ein Vorteil dieses Systems gegenüber herkömmlichen Systemen besteht darin, dass keine komplizierte Hardware zum Erzeugen der Austast- und Synchronisiersignale erforderlich ist. Diese Information wird vorab berechnet und in den Anzeigespeicher 128 geladen. Zudem wird keine Bandbreite zwischen der CPU 102, dem Hauptspeicher 104 und dem Anzeigespeicher 128 verbraucht, da die Information bereits vor dem Beginn der Verarbeitung geladen wird. Schließlich wird Bandbreite zwischen dem Anzeigespeicher 128 und dem PACDAC 140 gespart, da eine Lauflängencodierung (RLE) verwendet wird.
  • Nach dem Ablegen der zusammengesetzten Pixeldaten im Anzeigespeicher 128 in der ersten Ausführungsform werden die digitalen zusammengesetzten Videodaten (einschließlich der Videosteuerinformation) aus dem Anzeigespeicher 128 gelesen und an den PACDAC 140 geliefert. Der PACDAC, siehe den Schritt 322 in Fig. 3, decodiert wenn nötig die lauf längencodierte Information. Nicht lauflängencodierte Daten, beispielsweise die zusammengesetzten PCM-Pixeldaten, werden unverändert durchgereicht. Der Analog-Digital-Umsetzer des PACDAC setzt nun die lauflängendecodierten Daten in analoge Form um, siehe den Schritt 324. In der ersten Ausführungsform können zusammengesetzte NTSC- oder PAL-Videosignale an einen Standardvideoausgang oder eine Verarbeitungsvorrichtung geliefert werden.
  • Fachleute erkennen sofort, dass es die Verarbeitung und die Architektur der ersten Ausführungsform erlaubt, zahlreiche formatbezogene Überlegungen vom Hardwareentwurf abzutrennen. Die Programmverarbeitung (Farbraumumsetzung, Gammakorrektur usw.), die modulierten Chrominanzkomponenten in der Chrominanztabelle 318 und die Videosteuerinformation können unabhängig von der Hardware bestimmt werden. Dies bietet sowohl Flexibilität als auch einen vereinfachten Systementwurf.
  • Einzelheiten des Betriebs
  • Gewisse Aspekte der ersten Ausführungsform einschließlich des Erzeugens der zusammengesetzten Pixeldaten, der Speicherung der Videodaten im Anzeigespeicher 128 und der Decodierung und Umsetzung, die der PACDAC 140 ausführt, werden nun ausführlicher beschrieben.
  • Fig. 4 zeigt in ausführlicherer Darstellung Abschnitte des NTSC/PAL-Videoausgabemoduls 207 und des Media Stream Controllers 114, die zum Erzeugen der zusammengesetzten Pixeldaten in der ersten Ausführungsform dienen. Im NTSC/PAL- Videoausgabemodul sind Register 400 und 402 vorgesehen, die eine erste Chrominanzkomponente (U) bzw. eine zweite Chrominanzkomponente (V) speichern. Die Register 400 und 402 sind mit U bzw. V bezeichnet; natürlich können trotzdem andere Chrominanzkomponenten für andere Videoformate oder Farbräume ebenso verwendet werden. Es ist auch ein Indexzähler 404 vorhanden, der einen Indexwert speichert und inkrementiert. Der Indexwert dient der Entnahme von Werten aus der Chrominanztabelle im Anzeigespeicher 128. Die Chrominanzkomponenten und der Index werden verbunden und liefern einen Abstand in der Chrominanztabelle 318. Jeder Index entspricht einem diskreten Wert von t, der zum Berechnen der modulierten Chrominanz gemäß der Gleichungen in Tabelle 1 verwendet wird. Aufeinander folgende Werte des Indexes werden in der ersten Ausführungsform dazu verwendet, Untertabellen zu adressieren, die die modulierten Chrominanzkomponenten für sechzehn (16) aufeinander folgende Werte von t enthalten. Eine Erhöhung des Indexes springt zur folgenden Untertabelle, die Einträge für die nächsten sechzehn (16) aufeinander folgenden Werte von t enthält. Das Anwendungsprogramm lädt zu Beginn einer jeden Zeile Videodaten einen Anfangsindex in den Indexzähler.
  • Die Register 400 und 402 und der Indexzähler 404 sind mit dem Hbus 202 verbunden und können damit Eingabewerte von dem Anwendungsprogramm empfangen. Sie sind auch an den MBus 210 angeschlossen und können somit dazu verwendet werden, auf modulierte Chrominanzkomponenten zuzugreifen. Die von der Tabelle zurückgelieferten modulierten Chrominanzkomponenten werden im Register 407 gespeichert. Da die Chrominanzkomponenten (U und V) mit dem Faktor vier unterabgetastet werden und das QCIF-Format zu einer weiteren vierfachen Kompression führt, liefert jede Tabellenentnahme in der Tat sechzehn Werte zurück, so dass man Videosignale mit voller Auflösung erzeugen kann.
  • Fig. 5 zeigt den Aufbau einer beispielhaften Chrominanztabelle 318 gemäß der ersten Ausführungsform. Die Chrominanztabelle 318 befindet sich im Videoausgabespeicherabschnitt 136 des Anzeigespeichers 128. Fig. 5 erläutert eine beispielhafte NTSC-Chrominanztabelle, die Einträge für eine Pixelabtastrate von 12,288 MHz enthält. Die Chrominanztabelle 318 enthält vormultiplizierte Werte von Usinωt und Vcosωt für eine Zeile aktives NTSC-Video. Bei einer Pixelabtastrate von beispielsweise 12, 288 MHz gibt es in der ersten Ausführungsform 640 diskrete Werte von t für eine Zeile aktives NTSC-Video. Zudem gibt es in der ersten Ausführungsform 256 mögliche Werte für U und V (im Bereich von -128 bis 127). Damit treten 163840 (640 · 256) Einträge für modulierte U-Chrominanzkomponenten und 163840 Einträge für modulierte V-Chrominanzkomponenten auf. Diese 327680 Einträge sind in 40 Untertabellen 500-539 eingeteilt. Jede Untertabelle 500-539 enthält zweihundertsechsundfünfzig Zeilen 550, d. h. eine für jeden möglichen Wert von U und V. Jede Zeile enthält sechzehn Werte von Usincωt in einer ersten Spalte 555 gefolgt von sechzehn Werten von Vcosωt in einer zweiten Spalte 560, und zwar alle für den gegebenen Wert von U und V, den die Zeile festlegt. In Fig. 5 ist der am weitesten links stehende Eintrag als Eintrag "0" bezeichnet, und der am weitesten rechts stehende Eintrag ist als Eintrag "15" bezeichnet. In vergleichbarer Weise ist der am weitesten links stehende Eintrag für Vcosωt (in Spalte 560) als Eintrag "0" bezeichnet, und der am weitesten rechts stehende Eintrag ist als Eintrag "15" bezeichnet. Die Einträge in jeder Zeile stellen modulierte Chrominanzkomponenten für sechzehn (16) aufeinander folgende diskrete Werte von t dar, wobei t die Anzahl der Abtastungen geteilt durch 12,288 MHz ist. Für die Zwecke dieser Berechnung ist die Startabtastzahl in der beispielhaften Chrominanztabelle einhunderteinundzwanzig (121), wodurch die korrekte Anfangsphase geliefert wird. Der letzte Abtastwert in der Tabelle ist damit siebenhuriderteinundsechzig (761). Dies ist die Pixelanzahl in einer aktiven NTSC-Videozeile bei einer Abtastrate von 12,288 MHz (640) zusammen mit der Startabtastzahl (121).
  • Zum Entnehmen von Werten aus der Chrominanztabelle 318 werden der Index aus dem Indexzähler 404 und die erste und die zweite Chrominanzkomponente aus den Registern 400 und 402 an die Adressleitungen des MBus 210 gelegt, siehe Fig. 4. Der Index wird an die oberen Adressleitungen gelegt und dient zum Auswählen einer besonderen Untertabelle 500-539 der Chrominanztabelle 318. Für die Entnahme der ersten Chrominanzkomponente (U) wählt ein Multiplexer 408 (MUX) das Ausgangssignal des Registers 402 und sendet es an die unteren Adressleitungen des Mbus, damit eine besondere Zeile der Untertabelle 500-539 gewählt wird. Damit werden ein einziger Index und die erste Chrominanzkomponente (U) dazu verwendet, einen Versatz auf eine Zeile von sechzehn aufeinander folgenden modulierten Chrominanzkomponenten (Usinωt) zu liefern. Diese Werte können auf den Datenleitungen des Mbus bereitgestellt und in die Register 407 geladen werden. Damit spricht ein einziger Wert der ersten Chrominanzkomponente (U) sechzehn modulierte Chrominanzkomponenten (16 Usinωt) an, womit der vierfachen Unterabtastung von U und der QCIF- Kompression Rechnung getragen wird.
  • Für die Tabellenentnahme der zweiten Chrominanzkomponente legt der MUX 408 das Ausgangssignal des Registers 404 an die Mbus-Adressleitungen, und zusätzlich wird ein Bit der Mbus- Adresse gesetzt, das einen Versatz in die zweite Spalte der Untertabelle bewirkt, die die Werte für Vcosωt enthält. Bei der Rückgabe der sechzehn Werte für Vcosωt werden sie zu den sechzehn Werten von Usinωt addiert, die bereits in die Register 407 geladen sind. Dies erreicht man mit Hilfe der Durchführung der modulierten Chrominanzkomponenten durch die Zusammensetz- Plus/Minus-Logik 414. Diese Logik kann einen Doppelwort (Dword)- Addierer/Subtrahierer enthalten. Bei modulierten acht (8) Bit Chrominanzkomponenten kann die Addition der sechzehn (16) modulierten Chrominanzkomponenten durch den Dword-Addierer in vier Zyklen erfolgen, wobei der Übertrag zwischen Bytes unterdrückt wird. Die Ergebnisse werden im Register 407 abgelegt. Damit enthält das Register 407 nach einer einzigen Entnahme sechzehn (16) Werte von Usinωt + Vcosωt, die die zusammengesetzte Chrominanz für sechzehn (16) aufeinander folgende Videopixelabtastungen darstellen. Nach jeder Entnahme wird der Indexzähler 404 erhöht und zeigt auf die folgende Untertabelle. Damit gibt die nächste Tabellenentnahme die nächsten sechzehn aufeinander folgenden modulierten Chrominanzkomponenten zurück. Natürlich ist leicht einzusehen, dass im Bereich der Erfindung die Struktur und die Einträge der Chrominanztabelle vom Videoformat, der Pixelabtastrate und der unterstützten Kompressionsebene abhängen können. PAL kann beispielsweise dadurch unterstützt werden, dass man eine andere Chrominanztabelle in den Anzeigespeicher 128 lädt. Für PAL wären jedoch aufgrund der PAL-Umschaltung doppelt so viele Einträge bereitzustellen. Anstatt die Einträge für eine Zeile aktives Video zu speichern würden Einträge für zwei Zeilen gespeichert. Der zweite Satz Einträge würde dazu dienen, die modulierte Chrominanz für die Umschalt-Videozeilen zu berechnen. Diese zusätzlichen Einträge würden Werte liefern, bei denen die Phase von V aufgrund der PAL-Umschaltung um 180º verschoben ist.
  • Das Register 410, siehe Fig. 4, ist dazu bereitgestellt, Luminanzkomponenten (Y) vom Anwendungsprogramm zu empfangen. In der ersten Ausführungsform werden vier Luminanzkomponenten (4 Y) auf einmal geliefert. Unter Berücksichtigung der QCIF- Kompression interpoliert ein Interpolator 411 die vier Luminanzkomponenten (4 Y) und erzeugt daraus sechzehn interpolierte Luminanzkomponenten (16 Yi), die den sechzehn (16) Chrominanzkomponenten entsprechen, die die Tabelle zurückgibt und die im Register 407 gespeichert sind. Der Interpolator 411 verwendet einen einfachen Addier- und Schiebemechanismus zum Interpolieren mehrerer Werte aus den anfänglichen vier Luminanzkomponenten. Die letzte Luminanzkomponente, die für den vorhergehenden Datensatz verwendet worden ist, bleibt im Register 412 gespeichert. Sie kann damit dazu verwendet werden, Werte zwischen ihr und der folgenden Luminanzkomponente zu interpolieren, die im Register 410 bereitsteht. Am Beginn einer jeden neuen Videodatenzeile liefert das Programm eine Anfangsluminanzkomponente an das Register 412, die für die erste Interpolation verwendet wird. Das Programm kann die Register 410 und 412 über den Hbus 202 laden.
  • Nach dem Holen der sechzehn modulierten Chrominanzkomponenten aus dem Anzeigespeicher und dem Ablegen im Register 407, und nachdem der Interpolator 411 die sechzehn interpolierten Luminanzkomponenten (16 Yi) erzeugt hat, kann sie die Zusammensetz-Plus/Minus-Logik 414 zusammensetzen und sechzehn zusammengesetzte Pixeldaten-Abtastwerte erzeugen, die in aufeinander folgenden Pixelorten im Anzeigespeicher 128 abgelegt werden, siehe unten. Das Anwendungsprogramm kann mit Befehlen über den Hbus 202 den Betrieb der Zusammensetz-Plus/Minus-Logik steuern. Das Anwendungsprogramm kann insbesondere einen Zusammensetz-Plus-Befehl senden, der zusammengesetzte Pixeldaten gemäß Y + Usin + Vcos erzeugt. Einen Zusammensetz-Minus-Befehl kann man dazu verwenden, zusammengesetzte Videopixeldaten für Umschaltzeilen zu erzeugen. Der Zusammensetz-Minus-Befehl erzeugt zusammengesetzte Videopixeldaten gemäß Y - Usin - Vcos. Abwechselnde Zusammensetz-Plus- und Zusammensetz-Minus-Befehle führen zu einer Phasenverschiebung von 180º zwischen benachbarten Zeilen im NTSC-Format. Dies vermindert die in der Chrominanztabelle zu speichernde Zeilenanzahl um den Faktor 2.
  • Anhand von Fig. 6 wird nun der Erzeugungsvorgang von zusammengesetzten Pixeldaten in der ersten Ausführungsform ausführlicher beschrieben. Fig. 6 ist ein Flussdiagramm, das den Erzeugungsvorgang von zusammengesetzten Pixeldaten in der ersten Ausführungsform erläutert. Zuerst, siehe 600, schreibt das Anwendungsprogramm einen Zusammensetzindex und eine erste Luminanzkomponente (Y) in das NTSC/PAL-Videoausgabemodul 207 des Media Stream Controllers 114. Dieser Befehl wird durch ein Memory-Mapped-Write (speicherzugeordnetes Schreiben) auf den Anzeigespeicher 128 implementiert, wobei Bitflags gesetzt sind, die anzeigen, dass es sich um einen "Write Composite Index and First Y Value"-Befehl handelt. Das Main Bus Interface 200 entnimmt diese Adresse vom Peripheriebus 110 und sendet sie zusammen mit Daten vom Datenbusabschnitt des Peripheriebusses 110 zum NTSC/PAL-Videoausgabemodul 207. Die Daten enthalten einen Zusammensetzindexwert, der als Anfangswert für die aktuelle Videodatenzeile in den Indexzähler 404 geladen wird. Die Daten enthalten auch eine Anfangsluminanzkomponente (Y), die für die Interpolation in das Last-Luminance-Register 412 geladen wird.
  • Das Anwendungsprogramm der ersten Ausführungsform, siehe 602, schreibt nun wie oben angegeben mit Hilfe eines Memory- Mapped-I/O-Befehls ein Paar U- und V-Chrominanzkomponenten. Dieser Befehl bewirkt, dass nicht modulierte U- und V-Chrominanzkomponenten aus den Datenbus in die Register 400 bzw. 402 geladen werden. Dieser Befehl bewirkt auch, dass modulierte Chrominanzkomponenten aus der Chrominanztabelle 318 in den Anzeigespeicher 128 geholt werden. Zuerst werden die U-Chrominanzkomponente aus dem Register 400 und der Index aus dem Indexzähler 404 verknüpft. Sie liefern einen Versatz in eine Tabelle mit Werten der modulierten U-Chrominanzkomponente (Usinωt). Anschließend zählt eine Automatik durch und holt sechzehn aufeinander folgende Werte aus der Tabelle der modulierten U-Chrominanzkomponenten, siehe den Schritt 604 in Fig. 6. Jeder Wert unterscheidet sich durch eine diskrete Zunahme im Wert von t bei der Erzeugung des Werts von Usinwt und stellt modulierte Punkte auf der Hilfsträgerkurve dar. Diese modulierten U-Chrominanzkomponenten werden im Register 407 gespeichert. Wie beschrieben werden anschließend sechzehn Werte der modulierten V-Chrominanzkomponenten geholt und zu den modulierten U-Chrominanzkomponenten addiert, die im Register 407 gespeichert sind, siehe den Schritt 605. Am Ende dieses Befehlszyklus wird der Indexzähler erhöht, siehe den Schritt 606. Diese Erhöhung bewirkt einen Sprung zur folgenden Untertabelle in der Chrominanztabelle, wodurch die nächsten U- und V-Werte geeignet moduliert werden.
  • Das Anwendungsprogramm der ersten Ausführungsform gibt nun einen "Zusammensetz-Plus-" oder "Zusammensetz-Minus-Memory- Mapped-I/O-Befehl". Ein "Zusammensetz-Minus-Befehl" wird für abwechselnde Zeilen von NTSC-Videodaten ausgegeben. Die zusammen mit diesen Befehlen gesendeten Daten enthalten vier Luminanzkomponenten, die in das Register 410 gelangen, siehe Schritt 608 in Fig. 6. Der Interpolator 411, siehe Schritt 610 in Fig. 6, verwendet nun die Werte aus den Registern 410 und 412 zur Erzeugung von sechzehn interpolierten Luminanzkomponenten. Diese sechzehn interpolierten Luminanzkomponenten werden anschließend von der Zusammensetz-Plus/Minus-Logik 414 mit den sechzehn zusammengesetzten Chrominanzkomponenten (Usinωt + Vcosωt) verknüpft, siehe Schritt 612 in Fig. 6. Wird ein "Zusammensetz- Plus-Befehl" geliefert, so werden die jeweils entsprechenden interpolierten Luminanzkomponenten (Y) und die zusammengesetzten Chrominanzkomponenten (Usinωt + Vcosωt) aufaddiert, so dass sechzehn zusammengesetzte Pixel entstehen. Wird ein "Zusammensetz-Minus-Befehl" geliefert, so werden die zusammengesetzten Chrominanzkomponenten von den Luminanzkomponenten subtrahiert.
  • Die entstehenden zusammengesetzten Pixeldaten, siehe Schritt 614 in Fig. 6, werden in aufeinander folgende Plätze im Anzeigespeicher 128 geschrieben. Die Adresse des "Zusammensetz- Plus-" oder "Zusammensetz-Minus-Befehls" bestimmt den Ort für die zusammengesetzten Pixeldaten im Anzeigespeicher 128. Wie im Weiteren beschrieben wird, werden die zusammengesetzten Pixeldaten bevorzugt in aufeinander folgenden Plätzen angeordnet, die aufeinander folgenden Videopixeln in einer Zeile eines Video- Halbbilds entsprechen. Für ein Zeilensprungverfahren, siehe unten, kann man die zusammengesetzten Videodaten für gerade Zeilen in einem geraden Halbbildabschnitt des Speichers unterbringen und die ungeraden Zeilen ordnet man in einem ungeraden Halbbildabschnitt des Speichers an. In der ersten Ausführungsform werden die zusammengesetzten Videodaten (einschließlich der vorab geladenen horizontalen Videosteuerinformation) so aufgereiht, dass man aufeinander folgende Plätze lesen kann, um ein Halbbild von NTSC- oder PAL-Video in der korrekten Folge zu erhalten.
  • Im Schritt 616 in Fig. 6 ermittelt das Programm der ersten Ausführungsform, ob aus den gleichen Luminanz- und Chrominanzkomponenten erzeugte sechzehn Pixel auf vier benachbarten Zeilen angeordnet sind. Gleiche Komponenten müssen dazu verwendet werden, Pixel auf vier benachbarten Zeilen zu erzeugen, damit die QCIF-Daten vertikal auf volle Auflösung expandiert werden. Da die gleichen Komponenten verwendet werden, müssen natürlich die Komponenten abwechselnd mit "Zusammensetz-Plus" und "Zusammensetz-Minus" verknüpft werden, um die Phasenverschiebung von 180º zwischen benachbarten Zeilen zu berücksichtigen. Sind die Schreibvorgänge auf vier Zeilen noch nicht abgeschlossen, so wiederholt das Anwendungsprogramm die Schritt 608 bis 614 und stellt dabei im Schritt 608 die gleichen Luminanzkomponenten bereit. Natürlich wird dabei eine andere Anzeigespeicheradresse verwendet, wodurch die entstehenden zusammengesetzten Pixeldaten an Speicherplätze für eine andere Videozeile geschrieben werden. Wird mit dem Zeilensprungverfahren gearbeitet, so werden aufeinander folgende Zeilen an verschiedene Halbbilder gesendet. Geradzahlige Zeilen werden an ein gerades Halbbild gesendet und ungeradzahlige Zeilen an ein ungerades Halbbild. Zusätzlich wechseln sich im Schritt 612 Zusammensetz-Plus- und Zusammensetz- Minus-Befehle ab, um der Phasenverschiebung von 180º zwischen benachbarten Zeilen Rechnung zu tragen.
  • Nach dem Schreiben der zusammengesetzten Pixeldaten für sechzehn (16) Videopixel auf vier benachbarte Zeilen prüft das Programm gemäß der ersten Ausführungsform, ob eine horizontale Zeile der zusammengesetzten Pixeldaten vollständig ist, siehe Schritt 618 in Fig. 6. Ist eine horizontale Zeile noch nicht abgeschlossen, so werden die Schritte 602-616 für die nachfolgenden UV-Chrominanzkomponenten wiederholt. Nach dem Abschluss einer horizontalen Zeile kann das Programm mit einer neuen horizontalen Zeile beginnen, indem es wie im Schritt 600 dargestellt einen neuen Index und eine Anfangsluminanzkomponente schreibt. Aufgrund der Expansion des ursprünglichen QCIF-Formats ist klar, dass der Abschluss einer horizontalen Datenzeile vier benachbarte Zeilen zusammengesetzter Pixeldaten im Anzeigespeicher belegt. Das Programm der ersten Ausführungsform überwacht die Adressen zum Schreiben der zusammengesetzten Pixeldaten in den Anzeigespeicher. Beginnt eine neue horizontale Zeile, so korrigiert das Programm die Adressen, um die gerade geschriebenen vier benachbarten Zeilen (und die vorab geladene horizontale Videosteuerinformation) zu überspringen, so dass die folgenden vier Zeilen abgelegt werden können. Dieser Vorgang geht solange weiter, bis ein vollständiges Schirmbild aus zusammengesetzten Pixeldaten in den Anzeigespeicher (der beim Zeilensprungverfahren ein gerades und ein ungerades Halbbild enthält) geschrieben ist.
  • Für das PAL-Videoformat geht das Programm geringfügig anders vor. Bei PAL enthält die Chrominanztabelle doppelt so viele Untertabellen. Diese zusätzlichen Untertabellen liefern in Anbetracht der PAL-Umschaltung Werte fürabwechselnde Zeilen. Bei PAL gibt die erste Entnahme Werte zurück, bei denen die zweite modulierte Chrominanzkomponente Vcosωt ist. Diese Werte werden wie beschrieben verwendet. Anstatt diese Werte auf vier benachbarte Zeilen anzuwenden, werden sie bei zwei Umschaltzeilen verwendet (beispielsweise den Zeilen 1 und 3). Das Programm bewirkt nun eine zweite Tabellenentnahme in einer der zusätzlichen Untertabellen, die eine zweite modulierte Chrominanzkomponente -Vcosωt liefert. Diese Werte werden bei den beiden anderen Umschaltzeilen (beispielsweise den Zeilen 2 und 4) verwendet.
  • Man beachte, dass in der ersten Ausführungsform das Programm aufgrund der QCIF-Kompression eine vertikale Expansion der Daten vornimmt (vier benachbarte Zeilen werden mit den gleichen YUV- Komponentenpixeldaten geschrieben). Dagegen erfolgt die horizontale Expansion für Luminanzkomponenten (vier Y-Werte werden interpoliert, um sechzehn Werte zu erzeugen) und für unterabgetastete Chrominanzkomponenten (jedes UV-Paar wird für sechzehn Videopixel verwendet) in der Hardware. Bei einer vollen Datenauflösung wären diese Umwandlungen natürlich nicht erforderlich. Dies würde jedoch mehr Bandbreite auf dem Localbus und/oder Peripheriebus 106 und 110 erfordern. Verwendet man komprimierte Daten, so könnten die Umsetzungen auch durch Programme erfolgen; dies würde jedoch auch zu Lasten einer höheren Bandbreite gehen. Das System der ersten Ausführungsform ist vorteilhaft, denn es spart durch die horizontale Expansion im Media Stream Controller 114 Bandbreite, und es vereinfacht die Hardware, weil die vertikale Expansion durch das Programm erfolgt. Da die Programme die vertikale Expansion steuern, können zudem sowohl NTSC- als auch PAL-Videoformate mit der gleichen Hardware unterstützt werden. Das Programm führt lediglich zusätzliche Tabellenentnahmen aus, um die PAL-Umschaltung zu berücksichtigen. Eine unterschiedliche Arithmetik-Logik-Hardware ist nicht erforderlich.
  • Fig. 7 zeigt ein vereinfachtes Blockdiagramm der Struktur einer Videoframetabelle und eines Videoframepuffers zum Speichern und Zurückholen zusammengesetzter digitaler Videodaten gemäß der ersten Ausführungsform. Die zusammengesetzten digitalen Videodaten sind in einer Framepufferstruktur 700 im Anzeigespeicher 128 organisiert. Der Framepuffer 700 ist so eingerichtet, dass er Videodaten generell in der Reihenfolge speichert, die die NTSC- und PAL-Videoformate vorgeben. Natürlich können auch andere Formate unterstützt werden.
  • In der ersten Ausführungsform richtet das Anwendungsprogramm den Framepuffer 700 beim Initialisieren so ein, dass er das gewünschte Videoformat widerspiegelt. Das Anwendungsprogramm führt Zeiger auf die verschiedenen Abschnitte des Framepuffers 700 mit, damit das Programm bei der Verarbeitung darauf zugreifen kann. Die Abschnitte 702 und 704 des Framepuffers 700 sind für die vertikale Videosteuerinformation reserviert. Diese Information wird nach jedem Halbbild ausgegeben und kann die vertikale Synchronisierung, Austastung sowie irgendwelche weiteren Informationen enthalten, die das gewünschte Videoformat benötigt. Diese Information unterscheidet sich in der Regel für gerade und ungerade Halbbilder; daher sind getrennte Abschnitte 702 und 704 für die gerade und ungerade vertikale Videosteuerinformation reserviert.
  • Die Abschnitte 706-716 sind für die Halbbilddaten vorgesehen. Jedes Halbbild enthält Zeilen von zusammengesetzten PCM-Pixeldaten 718, die der Media Stream Controller 114 während der Verarbeitung liefert, und horizontale Videosteuerinformation 720 für jede Zeile. Die horizontale Videosteuerinformation kann horizontale Synchronisierung, Austastung und irgendwelche weiteren Informationen enthalten, die nach jeder Zeile für das Videoformat erforderlich sind.
  • In der ersten Ausführungsform werden drei Paare gerader und ungerader Halbbilder (706 und 708, 710 und 712, 714 und 716) bereitgestellt. Dies erlaubt es, Daten in einem Halbbildpaar abzulegen, während aus einem anderen gelesen wird. In der ersten Ausführungsform führt dies zu einem dreifachen Pufferungssystem. Der Media Stream Controller 114 kann beispielsweise den Framepuffer 700 durchlaufen und veranlassen, dass aufeinander folgende Halbbilder der zusammengesetzten digitalen Videodaten über die Leitung 138 an den PACDAC 140 ausgegeben werden. Es werden die ersten geraden und ungeraden Halbbilder ausgegeben, und es folgen die zweiten und die dritten geraden und ungeraden Halbbilder. Anschließend werden wieder die ersten geraden und ungeraden Halbbilder ausgegeben, und der Ablauf wiederholt sich. Während der Ausgabe der zusammengesetzten digitalen Videodaten aus irgendeinem gegebenen Halbbildpaar kann der Media Stream Controller 114 neue zusammengesetzte Pixeldaten in den anderen beiden Halbbildern ablegen. Diese führt zu einer nahtlosen Übertragung der Videodaten und erhöht die Bandbreite, da es eine hohe Datenübertragungsrate zwischen dem Media Stream Controller 114 und dem Anzeigespeicher 128 erlaubt.
  • Natürlich könnte man auch eine Doppelpufferung verwenden. Dies erfordert jedoch eine zusätzliche Koordination zwischen der Eingabe und der Ausgabe aus dem Framepuffer. Ein Einzelpuffersystem mit einem geraden und einem ungeraden Halbbild wäre auch verwendbar. Die Koordination muss jedoch so erfolgen, dass die Eingabe in den Framepuffer stets der Ausgabe vorausgeht. Bei einem Videoformat ohne Zeilensprung benötigt man natürlich keine gerade und ungerade Videosteuerinformation; sie ist durch eine einzige vertikale Steuerinformation und Halbbildabschnitte des Speichers ersetzbar.
  • In der ersten Ausführungsform wird die vertikale und horizontale Videosteuerinformation vor der Videoausgabeverarbeitung festgelegt. Diese Information wird bei der Initialisierung vorab in den Framepuffer 700 geladen. Mithin bietet der Framepuffer 700 eine Schablone für Videodaten, in der man nur die zusammengesetzten Pixeldaten in die Zeilen der Halbbilder 706-716 einsetzen muss.
  • Zum Einsparen von Speicher können in der ersten Ausführungsform mehrere Halbbilder eines Doppel- oder Dreifach- Pufferungssystems die vertikale Videosteuerinformation gemeinsam nutzen. Bevor die Daten aus den ungeraden Halbbildern 706, 710 und 714 ausgegeben werden, wird damit die gleiche vertikale Videosteuerinformation aus dem Abschnitt 702 ausgegeben. In ähnlicher Weise benutzen die ungeraden Halbbilder 708, 712 und 716 die ungerade Videosteuerinformation im Abschnitt 704 gemeinsam. In der ersten Ausführungsform wird die horizontale Videosteuerinformation nicht gemeinsam benutzt. Sie ist am Ende einer jeden Zeile bereitgestellt, da man sie in einem wesentlich · kleineren Bereich speichern kann. Natürlich könnte in anderen Ausführungsformen die horizontale Videosteuerinformation gemeinsam benutzt werden.
  • Zur weiteren Einsparung von Speicher und zum Verringern der verbrauchten Bandbreite zwischen dem Anzeigespeicher 128 und dem PACDAC 140 wird die vertikale und horizontale Videosteuerinformation im lauflängencodierten (RLE) Format gespeichert und übertragen. Die Lauflängencodierung ist ein bekanntes Datenkompressionsverfahren. Treten mehrere Werte wiederholt auf, so wird ein Code verwendet, der den Wert und einen Zähler mit der Anzahl der Wiederholungen angibt. Dies ist eine Alternative zum mehrfachen Speichern des Werts. Derzeit bevorzugt man RLE; natürlich könnte man andere Kompressionsverfahren für Einsparungen beim Speicher und der Bandbreite einsetzen, die von der Videosteuerinformation benötigt werden.
  • In der ersten Ausführungsform kann ein PCM-Escape-Bitflag zusammen mit einem Zählerwert gesendet werden, das anzeigt, dass eine gewisse Anzahl PCM-Abtastwerte ohne Lauflängencodierung folgen. Dies erlaubt es, PCM-Daten mit RLE-Daten zu mischen. Man beachte, dass in der ersten Ausführungsform die zusammengesetzten Pixeldaten und ebenso Abschnitte der Videosteuerinformation als PCM-Abtastwerte ohne RLE gesendet werden. In der ersten Ausführungsform sind RLE-Codes drei Byte lang; dagegen sind jeweils PCM-Abtastwerte acht Bit lang. Im nicht ausgetasteten Teil einer Zeile enthält jedes Byte einen Abtastwert, der direkt in den DAC des PACDAC eingespeist wird. Am Ende der nicht ausgetasteten Periode wird der Bytestrom als Drei-Byte-RLE- Code behandelt.
  • Jeder RLE-Code enthält ein Zählerfeld, (12 Bit), acht Bit laufende DAC-Daten und ein Bit, das angibt, ob das nächste Byte das erste Byte des folgenden RLE-Codes oder das nächste Byte der PCM-Abtastwerte ist. Der letzte RLE-Code vor dem Ende der Austastung decodiert sich im Wesentlichen zur Anzahl von nachfolgenden Bytes, die PCM-Abtastwerte sind. Ihm folgt diese Anzahl PCM-Abtastwerte. Am Ende dieser zahlreichen Abtastwerte unterstellt der Decoder, dass das folgende Byte das erste Byte eines RLE-Codes ist. Der Drei-Byte-RLE-Code ist in Tabelle 2 beschrieben. Tabelle 2 Tabelle 2, Fortsetzung
  • Fig. 8 erläutert die horizontale Videosteuerinformation, die gemäß der ersten Ausführungsform lauflängencodiert sein kann. Bei der in Fig. 8 dargestellten Signalform beachte man, dass die vorderen Schwarzschulter-Abtastwerte als ein RLE-Code gesendet werden, wogegen der Farbburst als ein Strom von PCM- Abtastwerten gesendet wird, genauso wie der nicht ausgetastete Bereich als ein Strom von PCM-Abtastwerten gesendet wird. Der tatsächliche Bytestrom sieht ungefähr wie die Darstellung in Tabelle 3 aus; es können jedoch gewisse Modifikationen nötig sein, um die Neigungen und Übergangszeiten gewisser Signale zu steuern, siehe unten. Tabelle 3 Tabelle 3, Fortsetzung
  • Es kann erwünscht sein, PCM-Abtastwerte in ausgewählte Abschnitte der lauflängencodierten Videosteuerinformation einzufügen, um die Kurvenform genauer zu steuern. Beispielsweise legen Videostandards häufig die Anstiegs- und Abfallzeiten der Sync-Impulse fest. Die Lauflängencodierung in Tabelle 3 kann bewirken, dass der Sync-Übergang zu rasch erfolgt, und es kann ein Filter am Videoausgang zum Glätten des Videokurvenverlaufs erforderlich sein. Der Umfang der Filterung kann reduziert oder das Filter überflüssig werden, indem man PCM-Abtastwerte einfügt, um eine gewünschte Neigung für den Anstieg und Abfall des Sync- Impulses herzustellen. Zudem steuern die Videoformate in der Regel die Synchronisierung mit dem Übergang der fallenden Flanke des Sync-Impulses. Auch bei der Verwendung von PCM-Abtastwerten zum Formen der fallenden Flanke des Sync-Impulses kann dieser Übergang zwischen zwei PCM-Abtastwerten erfolgen. Zum Steuern der Übergangszeit kann es erwünscht sein, die PCM-Abtastwerte zu beiden Seiten des Übergangs zu verändern. Man kann die Übergangszeit präziser steuern, wenn man den PCM-Abtastwert auf einer Seite des gewünschten Übergangspunkts geringfügig über dem Übergangswert einstellt und den PCM-Abtastwert auf der anderen Seite des Übergangspunkts geringfügig unter dem Übergangswert einstellt. Somit können bei Bedarf PCM-Abtastwerte zum präziseren Steuern des Kurvenverlaufs eingefügt werden, obgleich sonst die Lauflängencodierung zum Komprimieren der Videosteuerinformation verwendet wird.
  • In der ersten Ausführungsform liefert das NTSC/PAL- Videoausgabemodul 207 wie bereits anhand von Fig. 2 beschrieben die zusammengesetzten PCM-Pixeldaten für jedes aktive Videopixel. Das Anwendungsprogramm liefert dem Media Stream Controller 114 und dem NTSC/PAL-Videoausgabemodul 207 Adressen, die angeben, wo im Framepuffer 700 besondere zusammengesetzte Pixeldaten geschrieben werden sollen. Die zusammengesetzten Pixeldaten werden über den MBus 210 und durch den Media Bus Controller 212 zum Framepuffer 700 im Anzeigespeicher 128 geführt. Im Einzelnen gelangen geradzahlige Zeilen der zusammengesetzten Pixeldaten zu geraden Halbbildern und ungeradzahlige Zeilen gelangen zu ungeraden Halbbildern. Die Pixeldaten für ein Schirmbild gelangen an die ersten geraden und ungeraden Halbbilder 706 und 708. Das folgende Schirmbild gelangt an die zweiten geraden und ungeraden Halbbilder 710 und 712, und das dritte Schirmbild gelangt an die dritten geraden und ungeraden Halbbilder 714 und 716. Die nachfolgenden Schirmbilder werden zyklisch durchgewechselt und beginnen wieder bei den ersten geraden und ungeraden Halbbildern 706 und 708. Zum Steuern dieses Vorgangs hält das Anwendungsprogramm die Adressen der verschiedenen Abschnitte des Framepuffers 700 in internen Variablen im Hauptspeicher 104 oder in Registern in der CPU 102.
  • Die Programme der ersten Ausführungsform überschreiben ein Halbbild nicht, bevor es gelesen und an den PACDAC 140 gesendet ist. Die zusammengesetzten digitalen Videodaten (einschließlich der Steuerinformation) werden aus dem Framepuffer 700 mit Hilfe einer Frametabelle 730 im Anzeigespeicher 128 und eines Basisadressenregisters 732 und Frametabellenzeigers 734 im Media Stream Controller 114 ausgelesen. Das Basisadressenregister 732 enthält die Anfangsadresse der Frametabelle 730 im Anzeigespeicher 128. Das Frametabellenzeiger-Register 734 enthält einen Versatz auf einen besonderen Eintrag 740-766 in der Frametabelle 730. Der aktuelle Eintrag, auf den das Frametabellenzeiger-Register 734 zeigt, gibt an, welcher Abschnitt des Framepuffers 700 an den PACDAC 140 ausgegeben wird. Das Programm kann über Memory-Mapped-I/O auf das Basisadressenregister 732, das Frametabellenzeiger-Register 734 und die Frametabelle 730 zugreifen. Vor dem Schreiben auf ein Halbbild prüft das Programm der ersten Ausführungsform das Frametabellenzeiger-Register 734, um sicherzustellen, dass das Halbbild bereits vollständig an den PACDAC 140 ausgegeben ist.
  • Jeder Eintrag 740-766 in der Frametabelle 730 der ersten Ausführungsform enthält einen Versatz auf einen Abschnitt des Framepuffers 700 und einen Zählerwert, der die Anzahl von Datenabtastwerten in diesem Abschnitt angibt. Das NTSC/PAL- Videoausgabemodul 207 enthält Logik, die die Frametabelle 730 durchsucht und zusammengesetzte digitale Videodaten (einschließlich der Steuerinformation) an den PACDAC 140 ausgibt. Nach der Ausgabe der Anzahl Datenwerte gleich dem Zählerwert eines Frametabelleneintrags wird der Frametabellenzeiger 734 auf den folgenden Eintrag in der Frametabelle 730 erhöht. Ein Wert Null für den Zähler in einem Frametabelleneintrag 766 kennzeichnet das Ende der Frametabelle 730. Erreicht das NTSC/PAL-Videoausgabemodul 207 diesen Eintrag in der Frametabelle, so ignoriert es den Versatz- und Zeigerteil des Eintrags, kehrt an den Anfang der Frametabelle zurück und beginnt die Verarbeitung von dort aus erneut.
  • Zum Herstellen der Koordinierung zwischen der Eingabe und der Ausgabe von Videodaten durch den Framepuffer 700 kann das Programm einen Wert auf das NTSC/PAL-Videoausgabemodul 207 schreiben, um die Videoausgabe zu unterbrechen. Das Frametabellenzeiger-Register wird solange nicht erhöht, bis das Programm das NTSC/PAL-Videoausgabemodul 207 wieder freigibt.
  • Beim Durchqueren der Frametabelle 730 kann das NTSC/PAL- Videvausgabemodul 207 Daten im gewünschten Videoformat ausgeben und die vertikale Videosteuerinformation gemeinsam benutzen. Dies führt zu einem mehrfach gepufferten System, das es erlaubt, zusammengesetzte Pixeldaten in einen Satz Halbbilder zu schreiben und gleichzeitig aus einem weiteren Satz Halbbilder zu lesen.
  • Zusätzlich kann die Ausgabehardware im NTSC/PAL-Videoausgabemodul 207 dadurch relativ einfach sein. Sie braucht nur eine Adresse aus der Frametabelle 730 zu berechnen und die gewünschte Anzahl Datenabtastwerte aus diesem Abschnitt des Framepuffers 700 mit der Pixelabtastrate auszugeben (die in der ersten Ausführungsform entweder 12,288 MHz oder 16,944 MHz beträgt, so dass dieser Takt auch vom Audiosubsystem verwendet werden kann). In der ersten Ausführungsform werden die Videodaten bei ungefähr 200 Mbs über die Leitung 138 an den PACDAC 140 ausgegeben.
  • Fig. 9A zeigt ein Blockdiagramm, das ausführlich den Ausgabeabschnitt für zusammengesetztes Video des PACDAC 140 darstellt. Der PACDAC 140 empfängt über die Leitung 138 Pakete vom Anzeigespeicher 128. Die Pakete können zusammengesetzte digitale Videodaten, Grafik oder Steuerinformation darstellen. Die Art der Pakete ist durch Signale vom PACDAC-Controller 218 auf der Leitung 160 bestimmt, die von der FIFO-Schreibsteuerung 901 empfangen werden.
  • Das Ausgangssignal der FIFO-Schreibsteuerung 901 gelangt über die Leitung 906 zum Steuer-FIFO 902 und zum Video-FIFO 904. Das Signal auf der Leitung 906 gibt an, welches FIFO ein Paket annehmen soll, das über die Leitung 138 an das Steuer-FIFO 902 und das Video-FIFO 904 gelangt. Zeigt das "Pakettyp-Signal" auf der Leitung 160 an, dass ein zusammengesetztes digitales Videopaket empfangen wird, so wird das Paket im Video-FIFO 904 gepuffert. Zeigt das "Pakettyp-Signal" auf der Leitung 160 an, dass ein Steuerpaket empfangen wird, so wird das Paket im Steuer- FIFO 902 gepuffert. In ähnlicher Weise kann ein Grafik-FIFO (nicht dargestellt) vorgesehen sein, das Grafikpakete empfängt. Durch das Bereitstellen mehrerer FIFOs und der Paketumschaltung zwischen verschiedenen Paketarten mit der FIFO-Schreibsteuerung 901 kann man einen seriellen Datenpaketstrom auf der Leitung 138 erzielen. In einer anderen Ausführungsform könnte man ein einziges FIFO bzw. einen einzigen Puffer bereitstellen, und man könnte das "Pakettyp-Signal" auf der Leitung 160 dazu verwenden, die Daten zu leiten, wenn sie aus dem FIFO oder Puffer ausgelesen werden. Ist nur die Ausgabe von zusammengesetzten Videosignalen zu unterstützen, so kann eine Paketumschaltung überflüssig sein, und man kann eine vereinfachte PACDAC- oder DAC-Stufe zum Erzeugen eines zusammengesetzten Videosignals verwenden.
  • Das Puffern der Pakete in FIFOs erlaubt es zudem, die Übertragungsrate aus dem Anzeigespeicher 128 von der Pixelausgaberate zu entkoppeln. Damit können Pakete mit hoher Geschwindigkeit zu den unterschiedlichen FIFOs übertragen werden und mit niedrigerer Rate aus dem PACDAC ausgegeben werden. Dies führt zu einer höheren Bandbreite auf der Leitung 138 und erlaubt es dem PACDAC, sowohl Grafik als auch Video zu unterstützen. Zudem kann das FIFO 904 während der Lauflängendecodierung gefüllt werden, und die Leitung 138 kann dann für andere Zwecke freigegeben werden, z. B. die Übertragung von Grafik oder Steuerpaketen.
  • Die Steuerlogik 908 kann über die Leitung 910 Steuerinformationspakete aus dem Steuer-FIFO 902 auslesen. Diese Steuerinformation kann zum Kontrollieren der Einstellungen und des Betriebs des PACDAC 140 verwendet werden. Die Steuerlogik 908 ist mit dem Taktgenerator 912 verbunden. Der Taktgenerator 912 liefert über die Leitungen 914 bzw. 916 Taktsignale mit 24,576 MHz und 16,944 MHz an die Steuerlogik 908. Diese Taktsignale werden über die Taktleitung 172 auch an den Media Stream Controller 114 geliefert. Die Steuerlogik 908 verwendet diese Taktsignale zum Steuern der Pixelausgaberate. Die Steuerlogik 908 erzeugt entweder ein Pixelausgaberaten-Taktsignal mit 12, 288 MHz oder 16,944 MHz und legt es an die Leitung 918. Die Pixelrate 12,288 MHz erhält man durch das Halbieren des Takts mit 24, 576 MHz auf der Leitung 914. Die Steuerinformation, die über die Steuerlogik 908 vom Steuer-FIFO 902 empfangen wird, bestimmt, welche der beiden Pixelausgaberaten 12,288 MHz oder 16,944 MHz an die Leitung 918 angelegt wird.
  • Die Steuerlogik 908 steuert das Video-FIFO 904 und einen Lauflängendecoder 920 über die Leitung 921. Zudem erhält der Lauflängendecoder 920 die Pixelausgaberate auf der Leitung 918. Der Lauflängendecoder liest mit Hilfe der Leitungen 922 und 924 Daten aus dem FIFO und gibt sie mit der Pixelabtastrate über die Leitung 928 an den DAC 926 aus. Der DAC 926 empfängt die lauflängendecodierten zusammengesetzten digitalen Videodaten auf der Leitung 928 und setzt sie in analoge Form um. Dies erzeugt ein zusammengesetztes analoges Videosignal, das am Port 142 ausgegeben wird und mit "NTSC/PAL Out" bezeichnet ist. Dieses Signal kann, wenn nötig mit Hilfe von Standardfilterverfahren, an eine NTSC- oder PAL-Vorrichtung geliefert werden.
  • Ein Paket mit zusammengesetzten digitalen Videodaten wird zuerst vom Video-FIFO 904 auf der Leitung 138 empfangen. Beim Empfang eines Pakets mit zusammengesetzten digitalen Videodaten auf der Leitung 138 geben Signale auf der "Pakettypleitung" 160 an, dass es sich bei diesem Paket um zusammengesetztes digitales Video handelt. Die FIFO-Schreibsteuerung 901 empfängt die Signale von der Leitung 160 und liefert ein entsprechendes Signal auf der Leitung 906, das anzeigt, dass das Video-FIFO 904 das Paket annehmen soll. Eine Leitung 150 mit dem Namen VRDY führt vom Video-FIFO 904 zum NTSC/PAL-Videoausgabemodul 207 des Media Stream Controllers 114 und dient der Regulation der Videodatenmenge, die das Video-FIFO 904 empfängt. VRDY wird gesetzt, wenn das Video-FIFO weniger als halb voll ist. Ist VRDY gesetzt, so sendet das NTSC/PAL-Videoausgabemodul 207 ausreichend Videodaten zum Füllen des Video-FIFO 904. Anschließend wartet es, bis VRDY wieder gesetzt wird, bevor es weitere Videodaten sendet. Dies hilft zu verhindern, dass das Video-FIFO 904 überläuft. Läuft das Video-FIFO 904 über oder leer, so kann ein Fehlersignal in einem Statusregister (nicht dargestellt) abgelegt und dem Media Stream Controller 114 über den I²C-Bus 170 (in Fig. 1A dargestellt) zugeführt werden.
  • In der ersten Ausführungsform werden die Daten aus dem Video-FIFO 904 dem Lauflängendecoder 920 über die Leitung 924 byteweise zugeführt. Der Lauflängendecoder fordert Daten vom Video-FIFO 904 an, indem er ein Anforderungssignal auf der Leitung 922 setzt. Das Video-FIFO 904 antwortet mit dem Liefern des folgenden Datenbytes auf der Leitung 924. Die höchste Datenübertragungsrate vom Video-FIFO 904 zum Lauflängendecoder 920 ist bevorzugt wesentlich größer als die Pixelausgaberate. Der Lauflängendecoder 920 expandiert nun alle Lauflängencodierungen im Datenstrom und liefert ihn über die Leitung 928 an den DAC 926. Wie bereits bei der ersten Ausführungsform beschrieben geht jeder Datenübertragung ein Vierundzwanzig-Bit (24) Lauflängencode voraus, der einen Zwölf-Bit (12) Zähler, einige Steuerflags und einen Anfangsabtastwert enthält. Der Lauflängendecoder 920 lädt diese Werte in ein Zählerregister 930, ein Flagregister 932 und ein Datenregister 934. Zeigen die Flags an, dass der RLE-Code lauflängencodiert ist, so beendet der Lauflängendecoder 920 die Anforderung von Daten vom Video- FIFO 904. Der Lauflängendecoder 920 wiederholt nun den Wert im Datenregister 934 gemäß der Anzahl der Pixelausgabezyklen, die das Zählerregister 930 angibt. In jedem Pixelausgabezyklus werden die lauflängencodierten Daten auf der Leitung 928 wiederholt, und der Zähler im Zählerregister 930 wird um eins dekrementiert. Ist der Zähler im Zählerregister 930 verbraucht, so wird über die Leitung 922 ein neuer Lauflängencode vom Video- FIFO 904 angefordert. Der Lauflängendecoder 920 lädt den neuen RLE-Code von der Leitung 924.
  • Enthält der RLE-Code ein PCM-Escape-Flag, so fordert der Lauflängendecoder 920 gemäß der Anzahl von Pixelausgabezyklen, die der Zähler im Zählerregister 930 angibt, weitere Daten vom Video-FIFO 904 an. Für den ersten Pixelausgabezyklus wird der Datenwert aus dem RLE-Code an den DAC 926 angelegt. Für die Zyklenanzahl, die der Zähler angibt, werden zusätzliche Datenwerte aus dem Video-FIFO 904 gelesen, in das Datenregister 934 geladen und über die Leitung 928 an den DAC 926 geliefert.
  • Bei jedem Pixelausgabezyklus wird der Zähler im Zählerregister 930 um eins dekrementiert. Ist der Zähler verbraucht, so wird ein neuer Lauflängencode vom Video-FIFO 904 angefordert. Dieses System erlaubt es, komprimierte RLE-Daten und unkomprimierte PCM-Daten in einem einzigen Videostrom zu vermischen.
  • Der DAC 926 setzt jeden auf der Leitung 928 empfangenen digitalen Datenabtastwert mit bekannten Verfahren in Analogwerte um. Das entstehende Ausgangesignal in der ersten Ausführungsform ist ein zusammengesetztes NTSC- oder PAL-Videosignal. Aufgrund des flexiblen Systementwurfs können natürlich - wie beschrieben - andere Videoformate unterstützt werden. Man beachte insbesondere, dass die Struktur des PACDAC 140 nicht vom verwendeten Videoformat abhängt.
  • Es reicht aus, den DAC 926 und das Video-FIFO 904 zusammen mit einem moderaten Aufwand an Logik im Lauflängendecoder 920 bereitzustellen, damit der PACDAC 140 eine beträchtliche Verminderung der Bandbreite ermöglicht, die von Systemkomponenten gefordert wird, beispielsweise einer Festplatte und dem Localbus 106.
  • Fig. 9B zeigt ein vereinfachtes Blockdiagramm eines PACDAC 900b für den Einsatz in einer weiteren Ausführungsform der Erfindung. Der PACDAC 900b enthält einige Bausteine, die den Elementen des PACDAC 140 in Fig. 9A entsprechen. Diese Bausteine sind mit den gleichen Bezugszeichen bezeichnet, die für die entsprechenden Elemente in Fig. 9A verwendet werden; den Bezugszeichen in Fig. 9B wurde jedoch eine zusätzliche Endung "b" angefügt. Die Funktion dieser Bausteine gleicht der Funktion der Elemente, die in Fig. 9A beschrieben wurden.
  • In der weiteren Ausführungsform erzeugt ein Taktgenerator 912b eine Pixelausgaberate, die eine vereinfachte Chrominanzmodulation erlaubt. In der weiteren Ausführungsform wird über die Leitung 160 bevorzugt ein Taktsignal zugeführt, das ein ganzzahliges Vielfaches von FSC ist. Insbesondere wird bevorzugt ein Takt mit einer Frequenz von viermal FSC zugeführt. Man kann hierfür nicht den Audiotakt verwenden; die Chrominanzmodulation wird jedoch wesentlich einfacher. Insbesondere vereinfachen sich die für die Modulation verwendeten Werte von sinωt und cosωt auf abwechselnde Werte von -1, 0 und 1. Damit benötigt man in der weiteren Ausführungsform keine Chrominanztabelle. Das NTSC/PAL-Videoausgabemodul 207 im Media Stream Controller 114 speichert die Y-, U- und V-Werte einfach als unmodulierte Komponentenpixeldaten in einem Framepuffer. Die unmodulierten Komponentenpixeldaten können anschließend über die Leitung 138 zum Video-FIFO 904b des PACDAC 900b gesendet werden. Für den Empfang der Daten vom Video-FIFO 904b ist ein Controller 960 vorgesehen. Die Daten werden auf der Leitung 922b angefordert und auf der Leitung 924b empfangen. Unmodulierte Nicht-RLE- Videopixeldaten können nun über die Leitung 962 an den Modulator 964 gesendet werden. Abhängig vom Pixelausgabezyklus besteht die Modulation des Modulators 964 darin, dass er die U- und V-Komponenten invertiert, zu Null setzt oder unverändert lässt. Der Modulator 964 addiert nun die Y-, U- und V-Komponenten und bildet ein moduliertes zusammengesetztes digitales Videopixel. Diese modulierten Videodaten gelangen auf der Leitung 968 zum MUX 966.
  • Wie in der ersten Ausführungsform beschrieben können nach wie vor RLE-Daten für die vertikale und horizontale Steuerinformation bereitgestellt werden. Dies RLE-Daten werden wie erläutert vom Controller 960 über die Leitung 970 zum Lauflängendecoder 920b gesendet. Die lauflängendecodierten Videodaten werden dem MUX 966 über die Leitung 972 geliefert. Der Controller 960 steuert den MUX 966 dadurch, dass er über die Leitung 974 ein Auswahlsignal an den MUX 966 legt. Abhängig vom Auswahlsignal auf der Leitung 974 führt der MUX 966 entweder Daten von der Leitung 968 oder Daten von der Leitung 972 über die Leitung 976 an den DAC 926b. Die Daten auf der jeweils anderen Leitung 968 oder 972 werden im MUX 966 blockiert. Der Controller 960 steuert den MUX 966 so, dass dieser ausgewählt modulierte zusammengesetzte digitale Pixeldaten von der Leitung 968 oder lauflängendecodierte Videosteuerinformation von der Leitung 972 mit der Pixelausgaberate durchlässt, damit auf der Leitung 976 ein passend formatierter Strom zusammengesetzter digitaler Videodaten erzeugt wird. Der DAC 926b setzt nun die zusammengesetzten digitalen Videodaten in ein zusammengesetztes analoges Videosignal um, das am Port 142 ausgegeben wird.
  • Durch das Verlegen der Modulation in den PACDAC 900b wird in der weiteren Ausführungsform die Kompliziertheit des Gesamtsystems wesentlich geringer. Insbesondere benötigt das NTSC/PAL-Videoausgabemodul 207 keinen Tabellenmechanismus zum Erzeugen von modulierter Chrominanz. In der weiteren Ausführungsform benötigt man jedoch ein zusätzliches Taktsignal, das im System der ersten Ausführungsform nicht vorhanden ist.
  • Die obige Beschreibung dient nur dazu, jedem Fachmann den Gebrauch der Erfindung zu ermöglichen. Die Beschreibungen besonderer Entwürfe sind nur als Beispiele angegeben. Für Fachleute sind verschiedene Abwandlungen der bevorzugten Ausführungsform naheliegend, und man kann die hier bestimmten grundlegenden Prinzipien auf weitere Ausführungsformen und Anwendungen übertragen, ohne den Bereich der Erfindung zu verlassen, der in den beigefügten Ansprüchen bestimmt ist. Es ist daher nicht beabsichtigt, die Erfindung auf die dargestellten Ausführungsformen einzuschränken.
  • Beispielsweise kann man eine zusätzliche weitere Ausführungsform bereitstellen, in der ein vereinfachter Modulator (der mit einer Pixelabtastrate von viermal FSC betrieben wird) im NTSC/PAL-Videoausgabemodul und nicht im PACDAC 900b vorgesehen ist. Dieses System würde nach wie vor mit einer vereinfachten Logik auskommen, würde es jedoch auch erlauben, die Videodaten in modulierter Form im Anzeigespeicher abzulegen. In diesem System könnte man zudem einen einfacheren PACDAC verwenden als in der weiteren Ausführungsform in Fig. 9B.
  • Zudem kann man anstelle des VRAM als Anzeigespeicher auch einen anderen Puffer zum Speichern von Videodaten bereitstellen. Damit kann man ein Videoausgabesystem gemäß der Erfindung in Fällen, in denen dies erwünscht ist, unabhängig von den Grafik- und Klangsystemen entwickeln.
  • Man kann auch erkennen, dass die Vorgehensweisen der Erfindung breit anwendbar sind und nicht auf irgendwelche besonderen Videoformate, Bussysteme oder Computerarchitekturen beschränkt sind. Aspekte der Erfindung können jederzeit dann anwendbar sein, wenn man wünscht, die Erzeugung von zusammengesetzten Videosignalen aus digitalen Daten zu unterstützten. Die Technik, eine Schablone für häufig verwendete Daten in einem Anzeigespeicher bereitzustellen, ist zudem auch in zahlreichen Situationen anwendbar, in denen die Daten kein Video darstellen.
  • Die Erfindung ist mit Bezug auf besondere Ausführungsformen beschrieben und erläutert worden. Fachleuten ist klar, dass der Bereich der Erfindung nicht auf die offenbarten Ausführungsformen eingeschränkt ist, sondern dass im Gegenteil beabsichtigt ist, zahlreiche andere Abwandlungen und gleichartige Anordnungen abzudecken, die im Bereich der folgenden Ansprüche enthalten sind.

Claims (23)

1. System zum Erzeugen eines formatierten Videodatenstroms aus einem Strom aktiver Videodaten, wobei der formatierte Strom eine Anzahl Frames enthält, von denen jeder einen ersten Abschnitt aufweist, der Videosteuerinformation enthält, und einen zweiten Abschnitt, der aktive Videodaten enthält, und das System umfasst:
eine erste Menge Framepuffer (702, 704) zum Speichern der Videosteuerinformation;
eine zweite Menge Framepuffer (706-716) zum Speichern des Stroms aktiver Videodaten;
eine Videoframetabelle (730), die eine Folge von Befehlen enthält;
eine Vorrichtung, die wiederholt die Anzahl Frames des formatierten Videodatenstroms bildet, indem sie abhängig von der Befehlsfolge in der Videoframetabelle Daten aus einem der Framepuffer in der ersten Menge entnimmt und Daten aus mindestens einem der Framepuffer in der zweiten Menge entnimmt; und
eine Vorrichtung, die abwechselnd die Anzahl Frames des formatierten Videodatenstroms (114) ausgibt.
2. System nach Anspruch 1, zudem umfassend eine Vorrichtung, die die zweite Menge Framepuffer mit dem aktiven Videodatenstrom lädt, umfassend:
eine erste Controllerschaltung (207), die dafür eingerichtet ist, die zweite Menge Framepuffer beim Empfang eines Signals mit einem entsprechenden folgenden Abschnitt der aktiven Videodaten zu laden; und
eine Vorrichtung, die wiederholt das Signal (102) erzeugt.
3. System nach Anspruch 2, zudem umfassend eine Vorrichtung, die die erste Menge Framepuffer mit Videosteuerinformation (102, 114) lädt.
4. System nach irgendeinem der vorhergehenden Ansprüche, wobei die Vorrichtung, die abwechselnd die Anzahl Frames des formatierten Videodatenstroms ausgibt, umfasst:
mindestens einen Speicherzeiger, der abwechselnd auf eine erste Adresse zeigt, die zur ersten Menge gehört, und eine zweite Adresse, die zur zweiten Menge gehört;
eine Ausgabeschaltung, die in der ersten Menge enthaltene Daten ausgibt, wenn der Speicherzeiger auf die erste Adresse zeigt, und in der zweiten Menge enthaltene Daten ausgibt, wenn der Speicherzeiger auf die zweite Adresse zeigt; und
einen zweiten Controller, der den Speicherzeiger wiederholt mit einer Adressenfolge lädt, die die erste Adresse und die zweite Adresse enthält.
5. System nach irgendeinem der vorhergehenden Ansprüche, wobei der erste und der zweite Speicherpuffer auf einer einzigen integrierten Schaltung (128) angeordnet sind.
6. System nach irgendeinem der vorhergehenden Ansprüche, wobei die Videosteuerinformation die Vertikalsynchronisation und die Austastinformation enthält.
7. System nach irgendeinem der vorhergehenden Ansprüche, wobei die Videosteuerinformation im ersten Speicherpuffer komprimiert ist.
8. System nach irgendeinem der vorhergehenden Ansprüche, wobei die Videosteuerinformation im ersten Speicherpuffer lauflängencodiert ist.
9. System nach irgendeinem der vorhergehenden Ansprüche, wobei der zweite Speicherpuffer Abschnitte (720) zum Speichern von Zeilensteuerinformation enthält.
10. System nach irgendeinem der vorhergehenden Ansprüche, wobei der zweite Abschnitt der Segmente des formatierten Stroms zudem Zeilensteuerinformation enthält.
11. System nach irgendeinem der vorhergehenden Ansprüche, wobei die Zeilensteuerinformation komprimiert ist.
12. System nach irgendeinem der vorhergehenden Ansprüche, zudem umfassend eine Vorrichtung, die ausgewählt Abschnitte des formatierten Stroms (140) entkomprimiert.
13. System nach irgendeinem der vorhergehenden Ansprüche, zudem umfassend eine Vorrichtung, die den formatierten Strom in ein analoges zusammengesetztes Videosignal (140) umwandelt.
14. System nach Anspruch 1, wobei die erste Menge Framepuffer einen ersten Framepufferabschnitt zum Speichern einer ersten Videosteuerinformation umfasst und einen zweiten Framepufferabschnitt zum Speichern einer zweiten Videosteuerinformation,
und die Vorrichtung zum abwechselnden Ausgeben der Anzahl Frames des formatierten Videodatenstroms eine Vorrichtung enthält, die abwechselnd die Videosteuerinformation aus dem ersten Framepufferabschnitt und dem zweiten Framepufferabschnitt ausgibt.
15. System nach Anspruch 14, wobei die im ersten bzw. zweiten Frameabschnitt gespeicherten Abschnitte der Videosteuerinformation der geradzahligen bzw. ungeradzahligen Vertikalsteuerinformation eines Zeilensprung-Videosignals zugeordnet sind.
16. System nach irgendeinem der vorhergehenden Ansprüche, wobei die zweite Menge Framepuffer einen ersten Framepufferabschnitt zum Speichern eines ersten Frames der aktiven Videodaten enthält, und einen zweiten Framepufferabschnitt zum Speichern eines zweiten Frames der aktiven Videodaten,
und die Vorrichtung, die die zweite Menge Framepuffer mit aufeinander folgenden Abschnitten der aktiven Videodaten lädt, eine Vorrichtung enthält, die die aktiven Videodaten für einen gegebenen Frame entweder in den ersten oder in den zweiten Framepufferabschnitt lädt, während Daten eines anderen Frames aus dem anderen Framepufferabschnitt ausgegeben werden.
17. System nach Anspruch 16, wobei der erste und der zweite Framepufferabschnitt den geradzahligen bzw. ungeradzahligen aktiven Videodaten eines Zeilensprung-Videosignals zugeordnet sind.
18. Verfahren zum Erzeugen eines formatierten Videodatenstroms aus einem Strom aktiver Videodaten, wobei der formatierte Strom eine Anzahl Segmente enthält, von denen jedes einen ersten Abschnitt aufweist, der Videosteuerinformation enthält, und einen zweiten Abschnitt, der aktive Videodaten enthält, und das Verfahren die Schritte umfasst:
das Speichern der Videosteuerinformation in einer ersten Menge Framepuffer;
das Speichern von aufeinander folgenden Abschnitten des Stroms aktiver Videodaten in einer zweiten Menge Framepuffer; und
das wiederholte Ausbilden der Anzahl Frames des formatierten Videodatenstroms durch das Entnehmen von Daten aus einem der Framepuffer in der ersten Menge und das Entnehmen von Daten aus mindestens einem der Framepuffer in der zweiten Menge abhängig von einer Befehlsfolge in einer Videoframetabelle; und
das abwechselnde Ausgeben der Anzahl Frames des formatierten Videodatenstroms.
19. Verfahren nach Anspruch 18, wobei die Videosteuerinformation im ersten Speicherpuffer komprimiert ist.
20. Verfahren nach irgendeinem der Ansprüche 18 und 19, wobei die Videosteuerinformation im ersten Speicherpuffer lauflängencodiert ist.
21. Verfahren nach irgendeinem der Ansprüche 18, 19 und 20, wobei der zweite Speicherpuffer Abschnitte (720) zum Speichern von Zeilensteuerinformation enthält.
22. Verfahren nach irgendeinem der Ansprüche 18, 19, 20 und 21, wobei die Zeilensteuerinformation komprimiert ist.
23. Verfahren nach irgendeinem der Ansprüche 18, 19, 20, 21 und 22, zudem umfassend eine Vorrichtung, die ausgewählt Abschnitte des formatierten Stroms (140) entkomprimiert.
DE69525261T 1994-11-10 1995-10-27 System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem Expired - Lifetime DE69525261T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33735094A 1994-11-10 1994-11-10
PCT/US1995/013705 WO1996016505A2 (en) 1994-11-10 1995-10-27 System and method for generating video data and video control data in a computer system

Publications (2)

Publication Number Publication Date
DE69525261D1 DE69525261D1 (de) 2002-03-14
DE69525261T2 true DE69525261T2 (de) 2002-10-10

Family

ID=23320207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69525261T Expired - Lifetime DE69525261T2 (de) 1994-11-10 1995-10-27 System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem

Country Status (5)

Country Link
US (3) US5777601A (de)
EP (1) EP0791265B1 (de)
JP (1) JPH10509291A (de)
DE (1) DE69525261T2 (de)
WO (1) WO1996016505A2 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0997039A1 (de) 1993-04-21 2000-05-03 WASHINO, Kinya Multiformat-audio-video-produktionssystem mit bildfrequenzumwandlung
US5940610A (en) * 1995-10-05 1999-08-17 Brooktree Corporation Using prioritized interrupt callback routines to process different types of multimedia information
JP3472667B2 (ja) * 1996-08-30 2003-12-02 株式会社日立製作所 ビデオデータ処理装置およびビデオデータ表示装置
JP3695861B2 (ja) * 1996-10-16 2005-09-14 ローム株式会社 スキャンコンバータ
JP3867296B2 (ja) * 1996-11-07 2007-01-10 セイコーエプソン株式会社 画像再生装置、プロジェクタ、画像再生システム及び情報記憶媒体
US6295090B1 (en) * 1997-03-31 2001-09-25 Compaq Computer Corporation Apparatus for providing video resolution compensation when converting one video source to another video source
US20020118296A1 (en) * 1999-05-06 2002-08-29 Schwab Barry H. Integrated multi-format audio/video production system
US20040071211A1 (en) * 1997-04-07 2004-04-15 Kinya Washino Video production system with mixed frame removal
US6370198B1 (en) 1997-04-07 2002-04-09 Kinya Washino Wide-band multi-format audio/video production system with frame-rate conversion
US5999220A (en) * 1997-04-07 1999-12-07 Washino; Kinya Multi-format audio/video production system with frame-rate conversion
JP2959519B2 (ja) * 1997-04-24 1999-10-06 日本電気株式会社 グラフィックス表示装置
JP3085242B2 (ja) * 1997-04-30 2000-09-04 日本電気株式会社 ビデオデータ転送方式
US6037994A (en) * 1997-05-09 2000-03-14 Lg Electronics, Inc. Sync signal processing device for combined video appliance
US6069664A (en) * 1997-06-04 2000-05-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus for converting a digital interlaced video signal from a film scanner to a digital progressive video signal
US5963263A (en) * 1997-06-10 1999-10-05 Winbond Electronic Corp. Method and apparatus requiring fewer number of look-up tables for converting luminance-chrominance color space signals to RGB color space signals
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6057862A (en) * 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
US5949441A (en) * 1997-08-01 1999-09-07 International Business Machines Corporation Multimedia terminal with an encoder for converting analog video data to compressed digitized video data
US6226040B1 (en) * 1998-04-14 2001-05-01 Avermedia Technologies, Inc. (Taiwan Company) Apparatus for converting video signal
US6285404B1 (en) * 1998-08-03 2001-09-04 Ati Technologies Inc. Systolic video encoding system
US6028590A (en) * 1998-08-20 2000-02-22 Intel Corporation Color conversion for processors
US6658093B1 (en) 1999-09-13 2003-12-02 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for travel availability information
US6937599B1 (en) * 1999-10-21 2005-08-30 Matsushita Electric Industrial Co., Ltd. Data source, data conversion device, inverse data conversion device, auxiliary data file generation device, reception method, medium and information aggregate
US6678728B1 (en) * 1999-12-03 2004-01-13 3Com Corporation Method and apparatus for automatically loading device status information into a network device
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US20050078118A1 (en) * 2000-05-12 2005-04-14 Microsoft Corporation Table indexing system and method
US7023442B2 (en) * 2000-06-28 2006-04-04 Sun Microsystems, Inc. Transferring a digital video stream through a series of hardware modules
WO2002045005A1 (en) * 2000-12-01 2002-06-06 Lizardtech, Inc. Method for lossless encoding of image data by approximating linear transforms and preserving selected properties
US6864900B2 (en) * 2001-05-18 2005-03-08 Sun Microsystems, Inc. Panning while displaying a portion of the frame buffer image
US6654021B2 (en) 2001-05-18 2003-11-25 Sun Microsystems, Inc. Multi-channel, demand-driven display controller
US20030016302A1 (en) * 2001-07-09 2003-01-23 Brian Fudge Apparatus and method for conditioning digital image data for display of the image represented thereby
US6741263B1 (en) * 2001-09-21 2004-05-25 Lsi Logic Corporation Video sampling structure conversion in BMME
CN100350448C (zh) * 2001-12-27 2007-11-21 奇美电子股份有限公司 液晶显示器的过载驱动***与方法
US7603559B2 (en) * 2002-06-24 2009-10-13 Koninklijke Philips Electronics N.V. Real-time signature embedding in video
ITTO20020570A1 (it) * 2002-07-01 2004-01-02 St Microelectronics Srl Procedimento e dispositivo per elaborare segnali video per la visualizzazione su un display e relativo prodotto informatico.
DE60325057D1 (de) * 2002-07-11 2009-01-15 Panasonic Corp Audio-video-datenumwandlungseinrichtung und -verfahren
US20040012610A1 (en) * 2002-07-22 2004-01-22 Taneja Nimita J. Anti-aliasing interlaced video formats for large kernel convolution
US6831658B2 (en) * 2002-07-22 2004-12-14 Sun Microsystems, Inc. Anti-aliasing interlaced video formats for large kernel convolution
US7508943B2 (en) 2003-05-16 2009-03-24 Mo-Dv, Inc. Multimedia storage systems and methods
US7382924B2 (en) * 2003-08-14 2008-06-03 Broadcom Corporation Pixel reordering and selection logic
US7769198B2 (en) * 2004-01-09 2010-08-03 Broadcom Corporation System, method, apparatus for repeating last line to scalar
US7941645B1 (en) * 2004-07-28 2011-05-10 Nvidia Corporation Isochronous pipelined processor with deterministic control
US7405741B1 (en) 2004-08-31 2008-07-29 Pixelworks, Inc. Fuzzy logic based LCD overdrive control method
US7443370B1 (en) 2004-08-31 2008-10-28 Pixelworks, Inc. YUV compression for boost
US7427993B1 (en) 2004-08-31 2008-09-23 Pixelworks, Inc. Motion adaptive pixel boost with data compression and decompression
US8190809B2 (en) * 2004-11-23 2012-05-29 Efficient Memory Technology Shunted interleave for accessing plural memory banks, particularly those having partially accessed cells containing data for cache lines
CN101069211A (zh) * 2004-11-23 2007-11-07 高效存储技术公司 分页存储器及其智能存储器区段的交错寻址的多次缩略的方法和装置
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
WO2007114816A1 (en) * 2006-03-31 2007-10-11 Conexant Systems, Inc. Comb filter that utilizes host memory
US8072547B2 (en) * 2006-03-31 2011-12-06 Conexant Systems, Inc. Comb filter that utilizes host memory
US20080276233A1 (en) * 2007-05-03 2008-11-06 Macrovision Corporation Method And System For Collecting Data to Support Installed Software Applications
US20090254956A1 (en) * 2008-04-04 2009-10-08 Sunrise Telecom Incorporated Communication signal characteristic measurement system
US10324605B2 (en) 2011-02-16 2019-06-18 Apple Inc. Media-editing application with novel editing tools
US8751795B2 (en) 2010-09-14 2014-06-10 Mo-Dv, Inc. Secure transfer and tracking of data using removable non-volatile memory devices
US9099161B2 (en) 2011-01-28 2015-08-04 Apple Inc. Media-editing application with multiple resolution modes
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US9412414B2 (en) 2011-02-16 2016-08-09 Apple Inc. Spatial conform operation for a media-editing application
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
KR20150029121A (ko) * 2013-09-09 2015-03-18 삼성전자주식회사 디스플레이장치 및 그 이미지 처리방법
CN105450965B (zh) * 2015-12-09 2019-07-19 北京小鸟看看科技有限公司 一种视频转换方法、装置和***

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412250A (en) * 1981-06-24 1983-10-25 Rca Corporation Memory-type sync generator with reduced memory requirements
US4386368A (en) * 1981-04-01 1983-05-31 Rca Corporation Memory conservation method in a programmable ROM sync generator system
US4536848A (en) * 1982-04-15 1985-08-20 Polaroid Corporation Method and apparatus for colored computer graphic photography
US4488244A (en) * 1982-06-07 1984-12-11 Polaroid Corporation Computer graphic system with foreground/background discrimination
US4567521A (en) * 1983-06-28 1986-01-28 Racal Data Communications Inc. Processor controlled digital video sync generation
US4606068A (en) * 1984-08-13 1986-08-12 Recognition Equipment Incorporated Video compressor for video format unit
US4755937A (en) * 1986-02-14 1988-07-05 Prime Computer, Inc. Method and apparatus for high bandwidth shared memory
GB8614877D0 (en) * 1986-06-18 1986-07-23 Rca Corp Display processors
US4740832A (en) * 1986-10-14 1988-04-26 Technology, Inc., 64 Image storage using separately scanned luminance and chrominance variables
US4803476A (en) * 1986-10-24 1989-02-07 Visual Technology Incorporated Video terminal for use in graphics and alphanumeric applications
KR930001681B1 (ko) * 1987-08-31 1993-03-08 세이꼬 엡슨 가부시끼가이샤 영상신호 처리장치
GB2219178A (en) * 1988-02-11 1989-11-29 Benchmark Technologies State machine controlled video processor
US4872054A (en) * 1988-06-30 1989-10-03 Adaptive Video, Inc. Video interface for capturing an incoming video signal and reformatting the video signal
JP2531534B2 (ja) * 1989-05-26 1996-09-04 三菱電機株式会社 表示装置
US5258750A (en) * 1989-09-21 1993-11-02 New Media Graphics Corporation Color synchronizer and windowing system for use in a video/graphics system
US5555030A (en) * 1989-10-20 1996-09-10 Accom, Inc. Component video signal to composite video signal encoding system, control system and method
US5093722A (en) * 1990-03-01 1992-03-03 Texas Instruments Incorporated Definition television digital processing units, systems and methods
US5241281A (en) * 1990-03-19 1993-08-31 Capetronic Group Ltd. Microprocessor controlled monitor
US5119176A (en) * 1990-03-28 1992-06-02 Matsushita Electric Industrial Co., Ltd. System and method for direct digital conversion of digital component video signals to NTSC signal
US5276458A (en) * 1990-05-14 1994-01-04 International Business Machines Corporation Display system
US5420643A (en) * 1990-06-01 1995-05-30 Thomson Consumer Electronics, Inc. Chrominance processing system for compressing and expanding video data
US5262861A (en) * 1990-06-29 1993-11-16 Sony Electronics Inc. Computer controllable video synchronization and frame pulse signal generator
US5327156A (en) * 1990-11-09 1994-07-05 Fuji Photo Film Co., Ltd. Apparatus for processing signals representative of a computer graphics image and a real image including storing processed signals back into internal memory
US5426731A (en) * 1990-11-09 1995-06-20 Fuji Photo Film Co., Ltd. Apparatus for processing signals representative of a computer graphics image and a real image
JPH056304A (ja) * 1990-11-30 1993-01-14 Matsushita Electric Ind Co Ltd 画像メモリ装置
US5245322A (en) * 1990-12-11 1993-09-14 International Business Machines Corporation Bus architecture for a multimedia system
US5272520A (en) * 1991-04-08 1993-12-21 Nec Corporation CIF converter with reduced multipliers
US5283819A (en) * 1991-04-25 1994-02-01 Compuadd Corporation Computing and multimedia entertainment system
US5192999A (en) * 1991-04-25 1993-03-09 Compuadd Corporation Multipurpose computerized television
JPH0519734A (ja) * 1991-07-15 1993-01-29 Victor Co Of Japan Ltd 画像処理装置
SG42859A1 (en) * 1991-07-18 1997-10-17 Ibm System and method for combining multiple composite video signals
US6088045A (en) * 1991-07-22 2000-07-11 International Business Machines Corporation High definition multimedia display
US5333299A (en) * 1991-12-31 1994-07-26 International Business Machines Corporation Synchronization techniques for multimedia data streams
US5371518A (en) * 1992-02-27 1994-12-06 Silicon Graphics, Inc. Video timing and display ID generator
US5355391A (en) * 1992-03-06 1994-10-11 Rambus, Inc. High speed bus system
US5268756A (en) * 1992-03-30 1993-12-07 Panasonic Technologies, Inc. Generation of synchronization samples for a digital PAL signal
US5243447A (en) * 1992-06-19 1993-09-07 Intel Corporation Enhanced single frame buffer display system
US5377018A (en) * 1992-06-22 1994-12-27 Media Vision Video compression and decompression using block selection and subdivision
GB9219596D0 (en) * 1992-09-16 1992-10-28 Videologic Ltd Improvments relating to computer graphics and video systems
US5402147A (en) * 1992-10-30 1995-03-28 International Business Machines Corporation Integrated single frame buffer memory for storing graphics and video data
EP0601647B1 (de) * 1992-12-11 1997-04-09 Koninklijke Philips Electronics N.V. System zum Kombinieren von Videosignalen verschiedener Formate und aus verschiedenen Quellen
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5333135A (en) * 1993-02-01 1994-07-26 North American Philips Corporation Identification of a data stream transmitted as a sequence of packets
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
US5455627A (en) * 1993-06-30 1995-10-03 Silicon Graphics, Inc. Programmable video output format generator
US5369617A (en) * 1993-12-21 1994-11-29 Intel Corporation High speed memory interface for video teleconferencing applications
EP1005010A3 (de) * 1994-03-16 2001-10-24 Brooktree Corporation Datenverarbeitungsverfahren in einem Multimedia-grafischen System
US5510852A (en) * 1994-04-28 1996-04-23 Winbond Electronics, Corp. Method and apparatus using symmetrical coding look-up tables for color space conversion
US5519438A (en) * 1994-06-30 1996-05-21 Intel Corporation Computer with a video subsystem that contains timers which are used to create calibration tables correlating time intervals with the decoding and converting of video input signals
US5526055A (en) * 1995-05-15 1996-06-11 Aitech International Apparatus and method to derive a television color subcarrier frequency signal from a computer video signal

Also Published As

Publication number Publication date
WO1996016505A2 (en) 1996-05-30
EP0791265A2 (de) 1997-08-27
US5790110A (en) 1998-08-04
DE69525261D1 (de) 2002-03-14
JPH10509291A (ja) 1998-09-08
EP0791265B1 (de) 2002-01-30
US5812204A (en) 1998-09-22
US5777601A (en) 1998-07-07
WO1996016505A3 (en) 1996-09-12

Similar Documents

Publication Publication Date Title
DE69525261T2 (de) System und verfahren zur erzeugung von video- und synchronisationsdaten in einem rechnersystem
DE69228832T2 (de) Verfahren und vorrichtung zum decodieren von codierten videodaten
DE69022752T2 (de) Interaktive Audio-Video-Anzeige.
DE69721299T2 (de) Videosignalprozessor für verschiedene formate
DE69411477T2 (de) Videosynchronisiering von mehrfachquellen.
DE69626072T2 (de) Aufzeichnung und Wiedergabe von Untertiteln
DE69123883T2 (de) Dreifacher Halbbildpuffer für Fernsehbildspeicherung und Anzeige auf graphischen Rasterdarstellungsgerät
DE19756210C2 (de) Verfahren und Vorrichtung zum Decodieren eines codierten MPEG-Videodatenstroms
DE69432660T2 (de) Vorrichtung und verfahren zur kodierung/dekodierung von daten für untertitel
DE4231158C5 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE69518778T2 (de) Multimedia graphische Systeme mit andauernd hoher Taktrate
DE69223443T2 (de) Druckersteuerungsvorrichtung
DE69121626T2 (de) Einrichtung zur Fernsehsignalumwandlung
DE69020753T2 (de) Farbfernsehbildfenster für ein Videoanzeigegerät.
DE3431200A1 (de) Farbfernsehwiedergabegeraet
DE3114923C2 (de) Video-Ausgabe-Prozessor für ein Computer-Graphiksystem
DE19521973A1 (de) Bilddecodiervorrichtung
DE3114925C2 (de)
DE3442039A1 (de) Verfahren und vorrichtung zum zuordnen von farbwerten zu bit-speicherplaetzen in einem anzeige-abbildungsspeicher
DE69119812T2 (de) Bildwiedergabegerät
EP0369285B1 (de) Bildverarbeitungssystem
DE69623055T2 (de) Vorrichtung und verfahren zur erzeugung von osd-nachrichten mit zeilenverdopplung
DE3431261A1 (de) Farbfernsehwiedergabegeraet
DE3882231T2 (de) Anzeigeprozessor für bilddaten mit nicht-konstanter pixelgrösse für chromatische werte.
DE69623824T2 (de) Vorrichtung und verfahren zur erzeugung von osd nachrichten mit halbbildverdopplung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: BROOKTREE BROADBAND HOLDING,INC.(N.D.GES.D.STA, US