DE60301303T2 - Videoverarbeitung - Google Patents

Videoverarbeitung Download PDF

Info

Publication number
DE60301303T2
DE60301303T2 DE60301303T DE60301303T DE60301303T2 DE 60301303 T2 DE60301303 T2 DE 60301303T2 DE 60301303 T DE60301303 T DE 60301303T DE 60301303 T DE60301303 T DE 60301303T DE 60301303 T2 DE60301303 T2 DE 60301303T2
Authority
DE
Germany
Prior art keywords
image
primitive
pixel
original
foreground
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60301303T
Other languages
English (en)
Other versions
DE60301303D1 (de
Inventor
Sarah Elizabeth Basingstoke Witt
Alan Hogg Basingstoke Turner
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.)
Sony Europe BV United Kingdom Branch
Original Assignee
Sony United Kingdom Ltd
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 Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Application granted granted Critical
Publication of DE60301303D1 publication Critical patent/DE60301303D1/de
Publication of DE60301303T2 publication Critical patent/DE60301303T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Videoverarbeitung.
  • Der Ausdruck "Videoeffekte" umfasst eine Vielzahl von Prozessen, die bei Videobildern zur Anzeige angewandt werden können. Einige Beispiele sind sogenannte "Verzerrungs"-Effekte, beispielsweise Seitendrehungen, Welleneffekte, Bildbeschneidung, Texturbildung, Bild-in-Bild, Chroma-Bildcodierung, und Lichtquellen-Bildaufbereitung. Mit der laufenden Technologie ist es fast allgemein, dass diese Effekte digital angewandt werden, so dass die Vorrichtung, die dies ausführt, häufig als "Digitalvideoeffekt" (DVE) – oder "Digital-Multieffekt" (DME) – Vorrichtung bezeichnet wird.
  • Die DVE-Vorrichtung kann man als zwei Kategorien betrachten, Realzeit und Nicht-Realzeit. Realzeit-DVE-Prozessoren haben die Neigung, teuer zu sein, und zwar in der Größenordnung von einigen tausenden Pfund, die auf den professionellen Markt abzielen. Ein Beispiel eines Realzeit-DVE-Prozessors ist der DME 7000, der von Sony Corporation geliefert wird. Dagegen kann die Nicht-Realzeit-DVE-Vorrichtung, die einen privaten Markt zum Ziel hat, die Form einer peripheren Personalcomputer-Karte mit geeigneter Software annehmen. Ein derartiges System könnte in der Größenordnung von hunderten von Pfund kosten und erlaubt es üblicherweise dem Benutzer, Videomaterial (beispielsweise Camcorder-Material) zum Editieren und zur Effektverarbeitung nach oben zu laden. Diese Effektverarbeitung und die Bildaufbereitung werden dann in Nicht-Realzeit ausgeführt, für die man häufig viele Stunden in Abhängigkeit von der Komplexität der Effekte und der Verarbeitungsgeschwindigkeit des Host-PC benötigt. Schließlich wird das bild-aufbereitete Material zum Speichern auf einem Band oder einem anderen Medium ausgegeben. Ein Beispiel dieser Art von System ist "Studio-DVPlus", welches von Pinnacle geliefert wird.
  • Die Notwendigkeit, gewisses Bildglätten bereitzustellen, ist beiden DVE-Systemarten gemeinsam. Das Bildglätten ist der Prozess zum Verwischen von scharfen Rändern in den verarbeiteten Bildern, um schroffe, "stufenförmige" oder flackernde Linien zu vermeiden, die auftreten, wenn die Bilder auf einem diskreten Pixelanzeigebildschirm angezeigt werden. Das Bildglätten ist ein allgemeiner Ausdruck für eine Familie von Verfahren, wobei jedoch grundsätzlich die Notwendigkeit besteht, scharfe Ränder zu ermitteln und dann eine Art an Filterungsprozess für die Bildbereiche rundum die ermittelten Ränder anzuwenden. Die EP-A 0 686 941 beschreibt ein Verfahren zur Randermittlung und Filtern auf der Basis der Randermittlungsinformation.
  • Die EP-A 0 686 941 beschreibt ein "Superabtast"-Bildglättungsverfahren, wodurch jedes Anzeigepixel in m × n -Subpixel aufgelöst wird. Die Berechnungen, die erforderlich sind, Bilder zur Ausgabe zu erzeugen, werden in Bezug auf die Sub-Pixel durchgeführt, und eine Bandbreitenbegrenzung wird ebenfalls angewandt, um Flackern zu reduzieren. Die Sub-Pixel werden dann zurück zu Anzeigepixel durch einen Wichtungsmittelwertprozess umgesetzt. Dies ist jedoch sehr teuer hinsichtlich der Verarbeitungskapazität, die benötigt wird, zumindest m × n -Extraberechnungen für jedes Anzeigepixel auszuführen.
  • Die US 6 088 036 offenbart die Überlagerung eines Grundelements auf der Basis eines Vordergrundbilds auf einem Hintergrundbild, wobei Bildglättungsfilterung in Bezug auf die Ränder des Vordergrundbilds durchgeführt wird.
  • Eine solche Vorrichtung, beispielsweise Videospielmaschinen, erzeugt Bilder zur Anzeige in Realzeit unter Verwendung eines Bildaufbereitungsverfahrens auf Polygon-Basis. Ein zu erzeugendes oder aufzubereitendes Bild wird in eine große Anzahl von Mosaikgrundelement-Polygonen unterteilt, wobei jedes Polygon ein kleiner Bildbereich ist, beispielsweise eine dreiecksförmige Gruppe von Pixeln. Beispielsweise kann die Spielstation 2 (Playstation 2), die von Sony Computer Entertainment Inc. geliefert wird, mehrere unterschiedliche Arten von Grafikgrundelementen verwenden, insbesondere Punkte, Linien, Linienstreifen (eine Gruppe von fortlaufenden Linien, die sich Endpunkte anteilig teilen) Dreiecken, Dreiecksstreifen (eine Gruppe von fortlaufenden Dreiecksseiten, die anteilig genutzt werden), Dreiecks-Fächern (eine Gruppe von fortlaufenden Dreiecken, die sich einen Scheitel teilen), und Sprites (unabhängige Rechtecke). In Wirklichkeit kann die Playstation 2 Geometrieberechnungen bis zu 66 Millionen Polygonen pro Sekunde und gekrümmte Flächenerzeugung bis zu 16 Millionen Polygonen pro Sekunde verarbeiten.
  • Die Playstation 2 kann Bildglättung für jede Zeile oder Dreieck in Bezug auf die folgenden Grundelemente durchführen: Linie, Linienstreifen, Dreieck, Dreieckstreifen und Dreieck-Fächer. Die Bildglättung wird durch Ermitteln der sogenannten "Deckung" jedes Randpixels erreicht, d.h., wie stark der wirkliche Bereich des Grundelements diese Pixelposition deckt. Dann wird ein Prozess, der als Alpha-Mischen bezeichnet wird, verwendet, um die Farbe des Pixelrands mit der Farbe eines "Bestimmungs"-Pixels zu kombinieren, d.h., eines Pixels entfernt von diesem Grundelement in einem Verhältnis in Abhängigkeit von der De ckungs-Variablen. Innerhalb eines Bildbereichs werden die Ränder aller Grundelemente diesem Bildglättungsprozess unterworfen, sogar, obwohl viele von diesen gut in diesem Bildbereich sein können. Die Gesamtheit dieses Prozesses wird in Realzeit durchgeführt.
  • Dieser Prozess ist für Spielprogramme gut geeignet, wo die Reihenfolge, mit der Grafikgrundelemente gezeichnet werden, sorgfältig gesteuert werden kann. Wenn das Bildaufbereiten so gesteuert wird, dass die Hintergrundobjekte zuerst gezeichnet werden, wird die Qualität des endgültigen bildgeglätteten Bilds akzeptabel sein. Wenn jedoch Bilder aufbereitet werden, um Videoeffekte zu bilden, ist es schwierig, die Reihenfolge zu steuern, mit der die Grafikgrundelemente gezeichnet werden, so dass die Hintergrundbilder nicht immer zuerst gezeichnet werden. Wenn der Hintergrund nicht zuerst gezeichnet wird, wird dieses Verfahren ein subjektiv verzerrendes Muster über dem Bild ergeben, welches die Grenzen der Polygone als verwischte Regionen und/oder mit reduzierten räumlichen Details zeigt.
  • Die vorliegende Erfindung stellt ein Videoverarbeitungsverfahren zum Vorbereiten eines Bildglättungs-Vordergrundbilds zur Anzeige über einem Bildhintergrund bereit, wobei das Verfahren folgende Schritte aufweist:
    • (i) Vorbereiten des Bildhintergrunds zur Anzeige;
    • (ii) Erzeugen eines ursprünglichen Vordergrundbilds durch Manipulation einer angrenzenden Gruppe von Grafikgrundelementen;
    • (iii) Anwenden von Bildglättungsfilterung auf die Ränder jedes Grundelements, um ein grundelement-verarbeitetes Bild zu erzeugen;
    • (iv) Überlagern des grundelement-verarbeiteten Bilds über dem Bildhintergrund; und
    • (v) Überlagern des ursprünglichen Vordergrundbilds über dem grundelement-verarbeiteten Bild.
  • Verschiedene entsprechende Gesichtspunkte und Merkmale der Erfindung sind in den beigefügten Patentansprüchen definiert.
  • Ausführungsformen der Erfindung werden nun lediglich beispielhaft mit Hilfe der beiliegenden Zeichnungen beschrieben, in denen:
  • 1 die gesamte Systemarchitektur der Playstation 2 schematisch zeigt;
  • 2 die Architektur einer Bewegungsmaschine schematisch zeigt;
  • 3 den Aufbau eines Grafik-Synthesizer schematisch zeigt;
  • 4 ein schematisches Blockdiagramm ist, welches die Zeichnungsverarbeitung zeigt, die durch den Grafik-Synthesizer durchgeführt wird;
  • 5A bis 5G alternative Grundelement-Grafikobjekte zeigen, die durch den Grafik-Synthesizer verwendet werden;
  • 6 schematisch eine Systemarchitektur zeigt, die ein peripheres Komponentenzwischenverbindungs-Einsteckmodul für digitale Videoeingabe/-ausgabe hat;
  • 7 schematisch einen seriellen Universalbus (USB)-Analogeingangsmodul zeigt, um Video- und Audiodaten in die Playstation 2 zu importieren;
  • 8 schematisch eine Ausführungsform der Erfindung zeigt, bei der der Schaltungsaufbau, der erforderlich ist, die Videorealzeiteditierung durchzuführen, auf einer PCI-Karte vorgesehen ist, die in einem Standard-Personalcomputer eingesetzt ist;
  • 9A schematisch ein verarbeitetes Grundelementbild zeigt, bei dem Standard-Playstation 2-Bildglättung von Grafik-Grundelementen angewandt wurde;
  • 9B schematisch ein Bild zeigt, welches durch Überlagern einer ursprünglichen Nicht-Bildglättungs-Bildversion des Bilds über der verarbeitenden Grundelementversion von 9A gebildet wird;
  • 9C schematisch den Prozess zeigt, durch den horizontales und vertikales Filtern einer nicht-bild-geglätteten Bildversion durchgeführt wird, um ein weiches Bild zu erzeugen;
  • 9D schematisch zeigt, wie ein bildgeglättetes Endbild durch Ersetzen von Bereichen der Bildversion 2 von 9B erzeugt wird, mit entsprechenden Bereichen des geglätteten Bilds von 9C; und
  • 10 ein Flussdiagramm ist, welches eine Übersicht über die Stufen zeigt, die bei der Konstruktion der Endversion des bildgeglätteten Bilds umfasst sind.
  • 1 zeigt schematisch die Gesamtsystemarchitektur der Playstation 1. Das System weist auf: eine Bewegungsmaschine 100; einen Grafik-Synethesizer 200; eine Tonprozessoreinheit 300, welche einen dynamischen Speicher mit wahlfreiem Zugriff hat (DRAM); einen Nur-Lese-Speicher (ROM) 400; eine Compact Disc (CD) und eine digitale vielseitig verwendbare Platteneinheit (DVD) 450; einen Rambus-Dynamic-Speicher mit wahlfreiem Zugriff (RDRAM) 500; einen Eingangs-/Ausgangsprozessor 700 mit eigens dafür bestimmten RAM 750 und ein externes Festplattenlaufwerk (HDD) 800.
  • Die Bewegungsmaschine 100 ist eine 128-Bit-Zentralverarbeitungseinheit (CPU), die speziell zur effizienten Simulierung von dreidimensionalen Grafiken (3D) für Spielanwendungen ausgebildet ist. Die Bewegungsmaschine besitzt einen Datenbus, einen Cach- Speicher und Register, von denen alle 128-Bit-Vorrichtungen sind. Dies erleichtert schnelle Verarbeitung großer Volumina von Multimediadaten. Herkömmliche PCs haben als Vergleich grundsätzlich eine 64-Bit-Datenstruktur. Die Gleitkomma-Berechnungsleistung der Playstation 2 beträgt 6,2 GFLOPs. Die Bewegungsmaschine besitzt außerdem eine MPEG2-Decoderschaltungsanordnung, die simultanes Verarbeiten von 3D-Grafikdaten und DVD-Daten zulässt. Die Bewegungsmaschine führt geometrische Berechnungen einschließlich mathematischer Transformationen und Übersetzungen durch, und sie führt außerdem Berechnungen in Verbindung mit der Physik von Simulationsobjekten aus, beispielsweise eine Reibungsberechnung zwischen zwei Objekten. Sie erzeugt Sequenzen von Bildaufbereitungsbefehlen, die nachfolgend durch den Grafik-Synthesizer 200 verwendet werden. Die Bildaufbereitungsbefehle werden in Form von Anzeigelisten ausgegeben. Eine Anzeigeliste ist eine Sequenz von Zeichnungsbefehlen, welche dem Grafik-Synthesizer angeben, welche Grundelement-Grafikobjekte (beispielsweise Punkte, Linien, Dreiecke, Sprites) auf dem Bildschirm und bei welchen Koordinaten zu zeichnen sind. So eine typische Anzeigeliste wird Befehle aufweisen, um Scheitel zu zeichnen, Befehle, um die Fläche von Polygonen zu schattieren, Bitmaps aufbereiten usw.. Die Bewegungsmaschine 100 kann mehrere Anzeigelisten asynchron erzeugen.
  • Der Grafik-Synthesizer 200 ist ein Videobeschleuniger, der das Bildaufbereiten der Anzeigelisten, die durch die Bewegungsmaschine 100 erzeugt werden, durchführt. Der Grafik-Synthesizer 200 umfasst eine Grafikschnittstelleneinheit (GIF), die die mehreren Anzeigelisten handhabt, aufspürt und verwaltet. Die Bildaufbereitungsfunktion des Grafik-Synthesizers 200 kann Bilddaten erzeugen, die mehrere alternative Standardausgabe-Bildformate unterstützt, beispielsweise NTSC/PAL, hochauflösendes digitales TV und VESA. Allgemein ist die Bildaufbereitungsfähigkeit von Grafiksystemen durch die Speicherbandbreite zwischen einer Pixelmaschine und einem Videospeicher definiert, von denen jeder innerhalb des Grafikprozessors angeordnet ist. Herkömmliche Grafiksysteme verwenden einen Videospeicher mit wahlfreiem Zugriff (VRAM), der mit der Pixellogik über einen Off-Chip-Bus verbunden ist, der dazu neigt, die verfügbare Bandbreite einzuschränken. Der Grafik-Synthesizer 200 der Playstation 2 stelle jedoch die Pixellogik und den Videospeicher auf einem einzelnen Hochleistungschip bereit, der eine vergleichsweise große Speicherbandbreite von 38,4 Gigabyte pro Sekunde zulässt. Der Grafik-Synthesizer ist theoretisch in der Lage, eine Spitzenzeichnungsfähigkeit von 75 Millionen Polygonen pro Sekunde zu erreichen. Sogar mit einem vollen Bereich an Effekten, beispielsweise Texturen, Ausleuchtung und Transparenz kann eine unterstützte Rate von 20 Millionen Polygonen pro Sekunde fortlaufend gezeichnet werden. Somit ist der Grafik-Synthesizer 200 in der Lage, ein Bild in Filmqualität bild-aufzubereiten.
  • Der Eingangs-/Ausgangsprozessor 700 besitzt zwei USB-Ports und einen IEEE 1394-Port (iLink ist die Ausführung von Sony Corporation des IEEE 1394-Standards). Der IOP 700 handhabt alle USBs, iLink und den Spielsteuerungs-Datenverkehr. Wenn beispielsweise ein Benutzer ein Spiel spielt, empfängt der IOP 700 Daten von der Spielsteuerung und richtet diese auf die Bewegungsmaschine 100, die den aktuellen Zustand des Spiels entsprechend aktualisiert. Der IOP 700 besitzt eine Direktspeicher-Zugriffsarchitektur (DMA)-Architektur, um schnelle Datenübertragungsraten zu erleichtern. Der DMA umfasst Datenübertragung vom Hauptspeicher zu einer Einrichtung, ohne die Daten über die CPU zu schicken. Die USB-Schnittstelle ist mit der Offen-Host-Steuerungsschnittstelle (OHCI) kompatibel und kann Datenübertragungsraten zwischen 1,5 Mbps und 12 Mbps handhaben. Das Bereitstellen dieser Schnittstellen bedeutet, dass die Playstation 2 potentiell mit peripheren Einrichtungen, beispielsweise Videokassettenrekordern (VCRs), Digitalkameras, Settop-Boxen, Drucker, Tastatur, Maus und Joystick kompatibel ist.
  • Die Tonprozessoreinheit (SPU) 300 ist effektiv die Soundcard des Systems, die in der Lage ist, 3D-Digitalton unter Verwendung des Digital-Theater-Surround-Ton (DTS®) und AC-3 zu erkennen, auch als Dolby Digital bekannt, welches als das Tonformat ist, welches für universell verwendbare Digitalplatten (DVDs) verwendet wird.
  • Der Hauptspeicher, der die Bewegungsmaschine 100 unterstützt, ist das RDRAM-Modul 500, welches durch Rambus Incorporated erzeugt wird. (Rambus Dynamic Random Access Memory). Dieses RDRAM-Speicher-Subsystem umfasst einen RAM, eine RAM-Steuerung und einen Bus, der den RAM mit der Bewegungsmaschine 100 verbindet.
  • 2 zeigt schematisch die Architektur der Bewegungsmaschine 100 von 1. Die Bewegungsmaschine 100 weist auf: eine Gleitkomma-Einheit (FPU) 104, einen Zentralverarbeitungseinheit-Kern (CPU-Kern) 102; eine Vektoreinheit 0 (VU0) 106; eine Vektoreinheit 1 (VU1) 108; eine Grafikschnittstelleneinheit (GIF) 110; eine Programmunterbrechungssteuerung (INTC) 112; eine Timereinheit 114; eine Direktspeicher-Zugriffssteuerung 116; eine Bilddaten-Prozessoreinheit (IPU) 116; eine dynamische Direktzugriffs-Speichersteuerung (DRAMC) 120; eine Hilfsbus-Schnittstelle (SIF) 122; wobei alle diese Komponenten über einen 128-Bit-Hauptbus 124 miteinander verbunden sind.
  • Der CPU-Kern 102 ist ein 128-Bit-Prozessor, der mit 300 MHz getaktet ist. Der CPU-Kern 102 besitzt Zugriff auf 32 MB des Hauptspeichers über den DRAMC 120. Der CPU-Kern-Instruktionssatz basiert auf MIPS III RISC mit einigen MIPS-IV-RISC-Instruktionen zusammen mit zusätzlichen Multimedia-Instruktionen. MIPS III und IV sind reduzierte Instruktionssatz-Computerinstruktions-Satzarchitekturen, die zu MIPS-Technologies, Inc. gehören, Standard-Instruktionen sind 64-Bit, sind zwei-wege-superscalar, was bedeutet, dass zwei Instruktionen simultan ausgeführt werden können. Multimedia-Instruktionen nutzen dagegen 128-Bit-Instruktionen über zwei Leitungen. Der CPU-Kern 102 besitzt einen 16 KB-Instruktions-Cache, einen 8 KB-Daten-Cache und einen 16 KB-Datenpuffer-RAM, der ein Bereich des Cache ist, der für unmittelbare private Verwendung durch die CPU reserviert ist.
  • Die FPU 104 dient als erster Coprozessor für den CPU-Kern 102. Die Vektoreinheit 106 wirkt als zweiter Coprozessor. Die FPU 104 besitzt eine Gleitkomma-Produktsummen-Logikrecheneinheit (FMAC) und einen Gleitkomma-Teilungsrechner (FDIV). Sowohl die FMAC als auch die FDIV arbeiten in Bezug auf 32-Bit-Werte, so dass, wenn ein Betrieb in Bezug auf einen 128-Bit-Wert ausgeführt wird (bestehend aus vier 32-Bit-Werten) ein Betrieb in Bezug auf alle vier Teile gleichzeitig ausgeführt werden kann. Beispielsweise kann das Addieren von zwei Vektoren zusammen im gleichen Zeitpunkt durchgeführt werden.
  • Die Vektoreinheiten 106 und 108 führen mathematische Operationen durch und sind wesentlich spezialisierte FPUs, die bei der Auswertung von Multiplikation und Addition von Vektorgleichungen extrem schnell sind. Sie verwenden Gleitkomma-Multiplizier-Addier-Rechner (FACs) für Additions- und Multiplikationsoperationen und Gleitkomma-Dividierer (FDIVs) für Divisions- und Quadratwurzel-Operationen. Sie besitzen Einbauspeicher zum Speichern von Mikroprogrammen, und bilden eine Schnittstelle mit dem Rest des Systems über Vektorschnittstelleneinheiten (VIFs). Die Vektoreinheit 0 106 kann als Coprozessor zum CPU-Kern 102 über einen eigens dafür bestimmten 128-Bit-Bus 124 arbeiten, so dass diese im Wesentlichen eine zweite spezialisierte FPU ist. Die Vektoreinheit 1 108 hat dagegen einen eigens dafür bestimmten Bus für den Grafik-Synthesizer 200 und kann somit als vollständig separater Prozessor angesehen werden. Das Einbinden von zwei Vektoreinheiten erlaubt es, dass der Software-Entwickler die Arbeit zwischen unterschiedlichen Teilen der CPU aufteilen kann und die Vektoreinheiten in entweder serieller oder paralleler Verbindung verwendet werden können.
  • Die Vektoreinheit 0 106 umfasst 4 FMACS und 1 FDIV. Sie ist mit dem CPU-Kern 102 über eine Coprozessorverbindung verbunden. Sie hat einen Vektoreinheitsspeicher von 4 Kb für Daten und einen Mikrospeicher von 4 Kb für Instruktionen. Die Vektoreinheit 0 106 ist für das Durchführen von physikalischen Berechnungen in Verbindung mit den Bildern zur Anzeige nützlich. Sie führt hauptsächlich eine Nicht-Muster-Geometrie-Verarbeitung zusammen mit dem CPU-Kern 102 aus.
  • Die Vektoreinheit 1 108 besitzt 5 FMACS und 2 FDIVs. Sie besitzt keinen direkten Pfad zum CPU-Kern 102, obwohl sie einen direkten Pfad zur GIF-Einheit 110 hat. Sie hat einen Vektoreinheitsspeicher für Daten von 16 Kb eines Mikrospeichers für Instruktionen von Kb. Die Vektoreinheit 1 108 ist zum Durchführen von Transformationen nützlich. Sie fuhrt hauptsächlich Muster-Geometrie-Verarbeitung aus und gibt unmittelbar eine erzeugte Anzeigliste an die GIF 110 aus.
  • Die GIF 110 ist eine Schnittstelleneinheit zum Grafik-Synthesizer 200. Sie setzt Daten gemäß einer Kennzeichenspezifikation am Anfang eines Anzeigelistenpakets um und überträgt Zeichnungsbefehle zum Grafik-Synthesizer 200, während sie Mehrfachtransfer abwechselnd bestimmt. Die Programmunterbrechungs-Steuerung (INTC) 112 dient dazu, Interrupts von peripheren Gräben mit Ausnahme der DMAC 116 zu entscheiden.
  • Die Timereinheit 114 besitzt vier unabhängige Timer mit 16-Bit-Zählern. Die Timer werden entweder durch den Bustakt (mit 1/16 oder 1/256-Intervallen) oder über einen externen Takt angesteuert. Die DMAC 116 handhabt die Datenübertragung zwischen dem Hauptspeicher und peripheren Prozessoren oder dem Hauptspeicher und dem Datenpufferspeicher. Sie bestimmt im gleichen Zeitpunkt den Hauptbus 124. Leistungsoptimierung des DMAC 116 ist ein Schlüsselweg, um dadurch Bewegungsmotorleistung zu verbessern. Die Bildverarbeitungseinheit (IPU) 118 ist ein Bilddatenprozessor, der dazu verwendet wird, komprimierte Animationen und Textur-Bilder zu expandieren. Er führt I-Bild-Makro-Blockdecodierung, Farbraumumsetzung und Vektorquantisierung durch. Schließlich ist die Hilfsbus-Schnittstelle (SIF) 122 eine Schnittstelleneinheit für den IOP 700. Sie hat ihren eigenen Speicher und Bus, um I(O-Einrichtungen zu steuern, beispielsweise Ton-Chips und Speichereinrichtungen.
  • 3 zeigt schematisch den Aufbau des Grafik-Synthesizers 200. Der Grafik-Synthesizer weist auf: eine Host-Schnittstelle 202; eine Setup-/Rastereinheit 204; eine Pixel-Leitung 206; eine Speicherschnittstelle 208; einen örtlichen Speicher (Befehlsspeicher) 212 einschließlich eines Rahmenseitenpuffers 214 und eines Texturseitenpuffers 216; und einen Videoumsetzer 210.
  • Die Host-Schnittstelle 202 überträgt Daten mit dem Host (in diesem Fall dem CPU-Kern 102 der Bewegungsmaschine 100). Sowohl Zeichnungsdaten als auch Pufferdaten vom Host laufen über diese Schnittstelle. Die Ausgangsdaten von der Host-Schnittstelle 202 werden zum Grafik-Synthesizer 200 geliefert, der die Grafik entwickelt, um Pixel auf Basis der Scheitelinformation zu zeichnen, die von der Bewegungsmaschine 100 empfangen werden, und berechnet Information, beispielsweise den RGBA-Wert, den Tiefenwert (beispielsweise Z-Wert), den Texturwert und den Schleierwert für jedes Pixel. Der RGBA-Wert gibt die Rot-, Grün-, Blau- (RGB) Farbkomponenten an, und die A-Komponente (Alpha)-Komponente zeigt Lichtundurchlässigkeit eines Bildobjekts. Ein Alpha-Wert kann im Bereich von Kompletttransparenz zu totaler Lichtundurchlässigkeit reichen. Das Pixel wird zur Pixelleitung 206 geliefert, welche Prozesse durchführt, beispielsweise Texturabbildung, Schleierbildung und Alpha-Mischung (wie später erläutert) und bestimmt die endgültige Zeichnungsfarbe auf der Basis der berechneten Pixelinformation.
  • Die Pixelleitung 206 umfasst 16 Pixelmaschinen PE1, PE2 ... PE16, so dass sie maximal 16 Pixel gleichzeitig verarbeiten kann. Die Pixelleitung 206 läuft mit 150 MHz mit einer 32-Bit-Farbe und einem 32-Bit-Z-Puffer. Die Speicherschnittstelle 208 liest Daten vom lokalen Grafik-Synthesizer-Speicher 212 und schreibt Daten auf diesen. Sie schreibt die Zeichnungspixelwerte (RGBA und Z) auf den Speicher am Ende einer Pixeloperation und liest die Pixelwerte vom Rahmenpuffer 214 vom Speicher. Diese Pixelwerte, welche vom Rahmenpuffer 214 gelesen werden, werden für einen Pixeltest oder Alpha-Mischung verwendet. Die Speicherschnittstelle 208 liest außerdem aus dem lokalen Speicher 212 die RGBA-Werte für den aktuellen Inhalt des Rahmenpuffers. Der lokale Speicher 212 ist ein 32-Mbit-Speicher (4 MB), der in den Grafik-Synthesizer 200 eingebaut ist. Es kann als Rahmenpuffer 214, als Texturpuffer 216 und auch als 32-Bit-Z-Puffer 215 organisiert sein. Der Rahmenpuffer 214 ist der Bereich des Videospeichers, wo Pixeldaten, beispielsweise Farbinformation gespeichert ist.
  • Der Grafik-Synthesizer verwendet einen 2D- bis 3D-Texturabbildungsprozess, um optische Details zur 3D-Geometrie hinzuzufügen. Jede Textur kann um ein 3D-Bildobjekt geschlungen werden und wird gestreckt und verdreht, um einen 3D-Grafikeffekt zu ergeben. Der Texturpuffer wird dazu verwendet, die Texturinformation für Bildobjekte zu speichern. Der Z-Puffer 215 (auch als Tiefenpuffer bekannt) ist der Speicher, der verfügbar ist, die Tiefeninformation für ein Pixel zu speichern. Bilder werden von Basisgebäudeblöcken, die als Grafik-Grundelemente oder Polygone bekannt sind, konstruiert. Wenn ein Polygon durch Z-Puffern bild-aufbereitet wird, wird der Tiefenwert jedes seiner Pixel mit dem entsprechenden Wert, der im Z-Puffer gespeichert ist, verglichen. Wenn der Wert, der im Z-Puffer gespeichert ist, größer ist als oder gleich ist wie die Tiefe des neuen Pixelwerts, wird bestimmt, dass die ses Pixel sichtbar ist, so dass es bild-aufbereitet werden sollte, und der Z-Puffer wird mit der neuen Pixeltiefe aktualisiert. Wenn jedoch der Z-Puffer-Tiefenwert kleiner als der neue Pixel-Tiefenwert ist, ist der neue Pixelwert hinter dem, was schon gezeichnet wurde und wird nicht bild-aufbereitet.
  • Der lokale Speicher 212 besitzt einen 1024-Bit-Lese-Port und einen 1024-Bit-Schreib-Port zum Zugreifen auf den Rahmenpuffer und den Z-Puffer und einen 512-Bit-Port zum Textur-Lesen. Der Videoumsetzer 210 ist betreibbar, den Inhalt des Rahmenspeichers in einem spezifizierten Ausgabeformat anzuzeigen.
  • 4 ist ein schematisches Blockdiagramm, welches die Zeichnungsverarbeitung zeigt, die durch den Grafik-Synthesizer 200 durchgeführt wird. Die Zeichnungsverarbeitungsmodule weisen auf: Ein Texturabbildungsmodul 252; ein Schleierbildungsmodul 254; ein Bildglättungsmodul 256; ein Bildtestmodul 258; in Alphamischmodul 260; und ein Formatierungsmodul 262.
  • Wie oben erläutert empfängt der Grafik-Synthesizer 200 Anzeigelisten von der Bewegungsmaschine 100. Jede Anzeigeliste ist vorverarbeitet, so dass ein Gradient (beispielsweise Schattierungskoeffizient) und andere Parameter, welche für Zeichnungsgrafik-Grundelemente notwendig sind, auf der Basis der Scheitelinformation, die in der Anzeigeliste enthalten ist, berechnet werden. Die Pixel eines Grafik-Grundelements werden durch einen digitalen Differentialalgorithmus (DDA) während eines Prozesses erzeugt, der als Rasterbildung bekannt wird. Dieser Rastergrafikbildungsprozess umfasst das gleichzeitige Erzeugen von Werten für 8 oder 16 Pixel. Insbesondere wird ein 3D-Bild in einen Satz gefärbter Pixel transformiert, und die Farbe, die jedem Pixel zugeteilt wird, wird von Lichtquellen, der Position des Objekts, welches das Pixel zeigt, der Textur, die für das Objekt angewandt wird, usw. abhängen. Ein RGBA-Wert, der Z-Wert, der Texturwert und der Schleierwert werden für jedes Pixel auf der Basis des Gradientenwerts berechnet, der während der Vorverarbeitung berechnet wird, und diese Daten werden zur Pixelleitung 206 geleitet.
  • Das Texturabbildungsmodul 252 bildet Texturen für Pixel ab. Jede Textur hat ihre eigene beschränkte Palette von Farben, die auf eine Farbnachschlagetabelle (CLUT) bezogen sind. Die CLUT wird für 4 oder 8 Bitfarben benötigt, jedoch nicht für beispielsweise 16 oder 32 Bitfarben. Das Texturabbildungsmodul 252 wendet eine Texturfunktion auf einen Textur-CLUT-RGBA-Wert an, der von dem Texturseitenpuffer 216 gelesen wird, und auch auf den RGBA-Wert an (wie berechnet für Pixelwerte jedes Grafik-Grundelements, wobei der DDA verwendet wird). Der Verschleierungsprozess, der durch das Verschleierungsmodul 254 aus geführt wird, umfasst das Mischen eines Teils einer Bildszene mit einer bestimmten Farbe. Dieses Verfahren kann verwendet werden, Schleier darzustellen oder um bestimmte Grafik-Grundelemente auszulöschen.
  • Das Bildglättungsmodul 256 führt den Prozess zum Bildglätten durch, der das Glätten von Linien und Kurven eines Bilds umfasst, wobei mehrere Farben gemischt werden. Es ist beabsichtigt, die unerwünschte schroffe und stufenförmige Erscheinungsform von nichtgefilterten Winkellinien in einem Bild oder Grafik zu beseitigen. Um eine perfekt glatte Diagonale oder gekrümmte Linie auf einem Bildschirm zu zeichnen, würde es erfordern, dass lediglich Teilbereiche einiger Pixel gemäß der Linie eingefärbt werden. Der Bildschirm besteht jedoch aus einem diskreten Satz von Pixeln und ein bestimmtes Pixel kann nicht teilweise eingefärbt werden, so dass mehrere kleinere Linien gezogen werden müssen, um die gewünschte glatte fortlaufende Linie zu zeigen. Wenn man beispielsweise wünscht, eine dicke schwarze diagonale Linie auf einem weißen Hintergrund zu zeichnen, werden, wenn diese Linien nicht parallel zur Hauptdiagonale des Bildschirms positioniert wird, die Ränder der Linie schroff. Die Lösung, welche durch Bildglätten bereitgestellt wird, besteht darin, die Pixel, die mit den schroffen Rändern in Verbindung stehen, in verschiedenen Schattierungen von grau zu färben, um dadurch zu verwischen, jedoch die Ränder der Linie zu glätten.
  • Das Bildglättungsmodul 256 des Grafik-Synthesizers 200 kann Bildglättung für die folgenden Grafik-Grundelemente durchführen: Linie, Linienstreifen, Dreieckstreifen und Dreieck-Fächer. Diese werden schließend mit Hilfe von 5 beschrieben. Das Bildglätten wird aktuell durch Berechnen eines "Deckungs"-werts durchgeführt, was das Verhältnis der Fläche der aktuellen Linie ist, welches jedes Pixel am Rand des Grafik-Grundelements deckt. Der Deckungswert wird so angenommen, dass dieser der Alpha-Wert für das Pixel ist, und es wird ein Verfahren, welches als Alpha-Mischen (unten beschrieben) bekannt ist, in Bezug auf die Farbbestimmung (d.h., die Farbe im Hintergrund des Grafik-Grundelements) und der Grundelementfarbe durchgeführt. Um eine genaue Bildglättung zu erzielen, ist es notwendig, Grafik-Grundelemente in einer Positionsreihenfolge zu zeichnen, die mit denjenigen beginnt, die im Hintergrund am weitesten sind und mit denjenigen beendet, die dem Zuschauer/dem Bildschirm am nächsten sind. Das Bildglätten wird separat in Bezug auf den Durchmesser jedes Grafik-Grundelements durchgeführt.
  • Das Pixeltestmodul 258 empfängt die RGB-Werte, die Alpha-Werte und die x-, yund z-Pixel-Koordinaten. Die Alpha-Werte und die Z-Werte werden durch das Pixeltestmodul 258 vom lokalen Speicher 212 über die Speicherschnittstelle 208 gewonnen. Das Pixeltest modul führt eine Sequenz von Tests durch, um zu bestimmen, ob ein Pixel in Abhängigkeit von seinen XYZ- oder RGBA-Werten gezeichnet werden soll oder nicht. Der Pixeltest ändert den Pixelwert selbst nicht. Die Sequenz von Tests umfasst: einen Scherenschnitttest; einen Alpha-Test; und einen Tiefen-Test. Der Scherenschneidetest prüft, ob die XYZ-Koordinatenwerte des Pixels, die zu zeichnen sind, in einem rechteckigen Bereich (Scherenschneidebereich) liegen, der im Fensterkoordinatensystem spezifiziert ist. Pixel, für die bestimmt wird, dass sie außerhalb des Scherenschneidebereichs liegen, werden nicht weiter verarbeitet. Der Alpha-Test umfasst das Vergleichen des Alpha-Werts des Pixelzeichens und des vorher festgelegten Standard-Alpha-Werts. Die Verarbeitung fährt fort, wenn das Pixel zu der vorher festgelegten Vergleichsbedingung passt. Der Alpha-Bestimmungstest prüft den Alpha-Wert des Pixels, um diesen in den Rahmenpuffer zu zeichnen (d.h. prüft den Bestimmungsortwert). Schließlich vergleicht der Tiefen-Test den Z-Wert des Zeichnungspixels und den entsprechenden Z-Wert im Z-Puffer.
  • Das Alpha-Mischmodul 260 führt einen Prozess durch, der als Alpha-Mischen bekannt ist, was ein Verfahren ist, welches verwendet wird, um Transparenzeffekte zu erzeugen (d.h., solche Dinge darzustellen, wie Glas, Nebel oder Wasser), um zwei Texturen zu mischen oder um eine Textur auf dem Kopf einer anderen Textur abzubilden, ohne den Texturuntergrund total zu verdecken. Insbesondere kann dieses Alpha-Misch-Verfahren dazu verwendet werden, mit einer anderen Textur zu mischen, was schon bild-aufbereitet wurde (und was schon im Rahmenpuffer ist).
  • Wenn das Alpha-Mischen durchgeführt wird, werden zwei Farben kombiniert: eine Quellenfarbe und eine Bestimmungsfarbe. Die Quellenfarbe ist der Beitrag vom (zumindest teilweise) transparenten Vordergrundobjekt. Die Bestimmungsfarbe ist die Farbe, die schon am Pixelort, der in betracht gezogen wird, existiert, und ist somit das Ergebnis zum Bildaufbereiten eines anderen Objekts, welches hinter dem transparenten Objekt ist. Die Bestimmungsfarbe ist die Farbe, die durch das transparente Objekt sichtbar sein wird. Jedes Farbpixel innerhalb jeder Textur wird einem Alpha-Wert zugeteilt, der dessen Transparenzgrad zeigt. Die Alpha-Werte werden dann dazu verwendet, Wichtungsdurchschnittswerte der Farben der beiden Texturen für jedes Pixel zu berechnen. Beispielsweise kann die folgende Alpha-Misch-Formel verwendet werden: Endfarbe = Objektfarbe·Quellenmischfaktor + Pixelfarbe·Bestimmungsmischfaktorwobei Objektfarbe der Beitrag vom Grafik-Grundelement, welches in der aktuellen Pixelposition bild-aufbereitet wird, ist, und Pixelfarbe der Beitrag vom Rahmenpuffer an der aktuel len Pixelposition ist, während Quellenmischfaktor und Bestimmungsmischfaktor vorher festgelegte Wichtungsfaktoren sind. Das Alpha-Mischmodul gewinnt RGB-Werte vom lokalen Speicher 212. Das Mischen des RGB-Werts eines Pixels eines Objekts, welches aktuell bildaufbereitet wird, und des entsprechenden RGB-Werts im Rahmenspeicher 214 wird gemäß dem Alpha-Wert des Pixels oder dem Alpha-Wert im Rahmenspeicher durchgeführt.
  • Im Anschluss an das Verarbeiten durch das Alpha-Misch-Modul 260 werden die Daten zum Formatierungsmodul 262 geliefert, wo die Pixelwerte zum Zeichnen in das Datenformat des Rahmenpuffers umgesetzt werden. Das Phasenmodulieren und das Farbklemmen kann ebenfalls in dieser Stufe angewandt werden. Der Phasenmodulationsprozess umfasst das Bilden einer neuen Farbe durch Mischen mehrerer Farben, welche schon verfügbar sind. Dieses Verfahren kann dazu verwendet werden, die Illusion zu ergeben, dass ein Bild mit 64 K-Farben Bild-aufbereitet wurde, obwohl dies aktuell mit 256 Farben aufbereitet wurde. Das Farbklemmen ist ein Prozess, wodurch der RGB-Wert eines Pixels so gesteuert ist, dass er innerhalb des Bereichs von 0–255 (8-Bit-Wert) liegt. Da der Wert eines Pixels gelegentlich diesen Bereich nach Operationen übersteigt, beispielsweise dem Alpha-Mischen, wird das Ergebnis mit 9-Bits für jeden RGB-Wert gespeichert.
  • Ausgangsdaten vom Datenformatierungsmodul werden zur Speicherschnittstelle 208 (3), über die das Lesen/Schreiben durchgeführt wird, zum lokalen Speicher 212 geliefert. Die Operationen, die durch die Speicherschnittstelle unterstützt werden, weisen auf: Schreiben von Zeichnungspixelwerten RGBA und Z in den Speicher im Anschluss an eine Pixeloperation; Lesen von Pixelwerten in den Rahmenpuffer beispielsweise während eines Pixeltests und von Alpha-Misch-Prozessen; und Lesen von RGBA-Werten vom Speicher zur Anzeige auf dem Bildschirm.
  • 5A bis 5G zeigen alternative Grundelement-Grafikobjekte, die durch den Grafik-Synthesizer 200 verwendet werden. Die alternativen Grafik-Grundelemente weisen einen Punkt, eine Linie, einen Linienstreifen, ein Dreieck, einen Dreieckstreifen, einen Dreieckfächer und einen Sprite auf. 5A zeigt drei unabhängige Punkte, von denen jeder mit einer einzelnen Scheitelstückinformation gezeichnet ist. 5B zeigt zwei unabhängige Linien, von denen jede mit zwei Scheitelinformationsstücken gezeichnet ist. 5C zeigt eine Streifenlinie, die vier Linien aufweist, die sich Endpunkte teilen. In diesem Fall wird die erste Linie mit zwei Scheitelinformationsstücken gezeichnet, während die folgenden Linien mit einem einzelnen Scheitelinformationsstück gezeichnet werden. 5D zeigt zwei unabhängige Dreiecke, von denen jedes unter Verwendung von drei Scheitelinformationsstücken gezeich net ist. 5E zeigt einen dreieckigen Streifen, der fünf Dreiecke aufweist, die fortlaufend dahingehend sind, dass sie sich Seiten anteilig teilen. In diesem Fall ist das erste Dreieck unter Verwendung von drei Scheitelinformationsstücken gezeichnet, und jedes nachfolgende Dreieck ist gezeichnet, jedes Mal wenn ein einzelnes Scheitelinformationsstück hinzugefügt ist. 5F zeigt einen Dreiecksfächer, der fünf Dreiecke aufweist, die sich einen gemeinsamen Scheitel 1 anteilig teilen. Das erste Dreieck erfordert drei Scheitelinformationsstücke, während nachfolgende Dreiecke gezeichnet sind, jedes Mal, wenn ein einzelnes Scheitelinformationsstück hinzugefügt wird. 5G zeigt zwei unabhängige Rechtecke, die als Sprites (Geister) bekannt sind. Jedes Sprite ist unter Verwendung von zwei Scheitelinformationsstücken gezeichnet, die diagonal gegenüberliegende Ecken des Rechtecks zeigen.
  • Die allgemeine Zeichnungsprozedur, welche durch den Grafik-Synthesizer 200 durchgeführt wird, weist auf: zunächst Einstellen des Grundelemententypus und Initialisieren des Zustands einer Scheitelpunktschlange; zweitens Einstellen der Scheitelpunktinformation einschließlich des Zeichnens von Koordinaten, Scheitelpunktfarbe, Texturkoordinaten und Schleierkoeffizienten in Scheitelpunktinformations-Einstellungsregistern; drittens Durchführen einer "Scheitel-Kick"-Operation, wodurch die Scheitelinformation, die auf diesen Punkt eingerichtet ist, in die Scheitelpunktschlange versetzt und die Schlange einen Schritt nach vorne geht; und schließlich, wenn die notwendige Scheitelpunktinformation in der Scheitelpunktschlange angeordnet ist, Beginnen des Zeichnungsprozesses.
  • Es ist notwendig, eine Schnittstelle vorzusehen, um Video- und Audiodaten in die Playstation 2 zu importieren. Die HDD 900 erfordert Videodaten lediglich im MPEG2-Rahmenformat und Audiodaten im PCM-Format, so dass Hardware erforderlich ist, entweder DV-Datenströme oder analoge Video-/Audiodaten in das Format umzusetzen, welches durch die HDD gefordert wird. Hardware muss ebenfalls vorgesehen werden, um zu erlauben, dass die Videoausgangs- und Audioausgangsdaten zurück in das DV-Format umgesetzt werden können, so dass diese durch den Benutzer digital aufgezeichnet werden können.
  • 6 zeigt schematisch eine Systemarchitektur, die ein peripheres Komponentenverbindungs-Einsteckmodul (PCI) für digitale Videoeingabe/Ausgabe hat. Diese Vorrichtung besitzt die Tonprozessoreinheit 300, den IOP 700, die Bewegungsmaschine 100 und den Grafiksynthesizer 200 der Playstation 2-Haupteinheit, wie oben mit Hilfe von 1 beschrieben wurde. Die Vorrichtung nach 6 besitzt außerdem eine PCI-Schnittstelle 902, mit der ein zusätzliches Hardwaremodul 904, welches ein Festplattenlaufwerk (HDD) 906 und ein DV-MPEG2-Einstellmodul 908 hat, verbunden ist. Der IOP 700 ist mit zwei USB-Ports, zwei Steuerports und zwei Speicherkartenports und einem Vollgeschwindigkeits-400Mbps-IEEE 1394-Port (iLink) 702 versehen. DV-Video ist ein Kompressionsstandard für Camcorder und Videobandrekorder. DV-Formatdaten werden im Binärformat bevorzugt zum Analogformat gespeichert. MPEG2 ist ein Standard, durch Moving Pictures Expert Group entwickelt wurde. Dieser ist eine digitale Codiertechnologie, mit der man in der Lage ist, einen Video-Plus-Audiobitstrom mit variablen Codierraten bis 15 Mbits/s zu codieren, wobei Video bis zu 9,8 Mbit/s einnehmen. Das MPEG2-Codieren wird bei DVDs verwendet.
  • Die sogenannte "iLink" ist die Sony Corporation-Einführung des IEEE 1394-Hochleistungs-Seriellbus-Standards. Dieser Standard beschreibt einen seriellen Bus oder einen Pfad zwischen einer oder mehreren peripheren Einrichtungen und einer Mikroprozessoreinrichtung. iLink stellt eine einzelne Einsteck-Sockelverbindung bereit, auf der bis zu 63 periphere Einrichtungen angebracht werden können. Der iLink-Port 702 des IOP 700 kann dazu verwendet werden, DV-Video zu importieren, welches zu dem DV-MPEG2-Einsteckmodul 908 durchgeleitet wird, welches am PCI-Port 902 angebracht ist. Unter Verwendung dieser Vorrichtung kann das Ausgangsvideo von MPEG2 in DV umgesetzt und über den iLink-Port 702 ausgegeben werden. Um die Eingabe von analogen Eingangsvideo/Ausgangsdaten (beispielsweise S-Video oder zusammengesetztes Video-Stereo-Audio) zu erleichtern, müssen zusätzliche Verbinder (nicht gezeigt) in das Hardwaremodul 904 eingefügt werden.
  • Das DV/MPEG2-Modul 904 wird dazu verwendet, Eingangsvideodaten im DV-Format in MPEG2-Video und pulscode-moduliertes Audio (PCM) umzusetzen, welche dann auf der HDD 906 bei Eingabe gespeichert werden. In der Ausgangsstufe kann das Hardwaremodul 904 dazu verwendet werden, ausgegebenes Video und Audio in das DV-Format umzusetzen, welches über den iLink-Port 702 ausgegeben wird.
  • 7 zeigt schematisch ein analoges USB-Eingangsmodul zum Importieren von Video- und Audiodaten in die Playstation 2. Der USB stellt im Wesentlichen die gleiche Steck-Spiel-Fähigkeit wie der IEEE 1394-Standard bereit und ist eine preiswertere Technologie. Die Datenübertragungsrate von USB ist jedoch auf 12 Mbps begrenzt (während IEEE 1394 bis zu 400 Mbps bereitstellt). Obwohl 12 Mbps eine ausreichende Bandbreite ist, einen MPEG2-I-Rahmen-Kompressions-Videodatenstrom zu unterstützen, ist diese keine ausreichende Bandbreite, den Transport eines nicht-komprimierten MPEG2-Datenstroms zurück aus der Vorrichtung zur Rückumsetzung in das DV-Ausgangsformat zu unterstützen. Der USB-Port ist in der Lage, begrenzte Leistung (bis zu 500 mA bei 5 V) zu peripheren Einrichtungen zu liefern, obwohl diese beschränkte Leistung unwahrscheinlich in der Lage ist, einen DV-Codec wie auch einen MPEG2-Codierer zu unterstützen.
  • Das in 7 gezeigte USB-Modul ist trotzdem zur Verwendung bei analogen Camcordern geeignet, da die USB-Leistung und Bandbreite ausreichend sind, Analog-MPEG2-Umsetzung zu unterstützen. Das Modul 1200 nimmt analoge Videodaten als Eingang und liefert diese nachfolgend zu einem Videodecoder 1202, einen Analog-Digital-Umsetzer (ADC) und einen MPEG2-Codierer 1206, der ein dafür bestimmtes RAM-Modul 1208 hat. Audiodaten werden dem Modul zugeführt, und rechte und linke Audiokanäle (L, R) werden zunächst über ein ADC-Modul 1212 geführt, wobei das digitale Ausgangssignal davon vorübergehend in einem FIFO-Puffer 1214 gespeichert wird. Sowohl die MPEG2-Videodaten, welche durch den Codierer 1206 ausgegeben werden, als auch die digitalen Audiodaten vom FIFO-Puffer werden zu einer USB-Steuerung 1210 geliefert. Die USB-Steuerung liefert die Daten über einen USB-Port zur Playstation 2.
  • 8 zeigt schematisch eine Ausführungsform der Erfindung, bei der der Schaltungsaufbau, der erforderlich ist, die Realzeit-Videoeditierung auszuführen, auf einer PCI-Karte vorgesehen ist, die in einem Standard-Personalcomputer (PC) eingesteckt ist. Diese Figur umfasst einen Monitor 1310, eine Tastatur 1320, eine Systemeinheit 1330 und eine PCI-Karte 1340, die in die Systemeinheit 1340 eingesteckt ist. Bei dieser Ausführungsform werden die SPU 300, der IOP 700, die Bewegungsmaschine 100, der Grafik-Synthesizer 200 und das DV/MPEG2-Modul 908 funktionell alle über die PCI-Karte 1340 bereitgestellt. In diesem Fall wird die Festplatte des PCs selbst dazu verwendet, Video- und Audiodaten in das System zu importieren.
  • 9A zeigt schematisch ein Bild, bei dem Standard-Playstation 2-Bildglättung von Grafik-Grundelementen angewandt wurde. Beim Bilden der Bildversion 1 von 9A wird ein Videohintergrundbild erzeugt. Das Hintergrundbild ist ein einfaches nichttransformiertes Vollbildschirmvideo, welches als Textur-Sprite gezeichnet ist, welches die volle Größe des Bildschirms hat. Keine Ziegelbildung von Grafik-Grundelementen, Bildglättung und Lichteffekte sind erforderlich. In nachfolgenden Stufen wird das Hintergrundbild mit dem Vordergrund unter Verwendung der Alpha-Werte des Vordergrundbilds alpha-vermischt.
  • Das Vordergrundbild in 9A in 9 ist in Form einer Seite, von der die untere rechte Ecke lockenartig umgeschlagen ist. Der Aufbau des umgeschlagenen Eckenbereichs des Vordergrundbilds bringt nicht-lineare 3D-Effekte mit sich. Das Vordergrundbild ist aus einer fortlaufenden Gruppe von Dachziegelgrafik-Grundelementen gebildet, und jedes Grafik- Grundelement besitzt eine Textur, die darauf abgebildet ist. Der 3D-Effekt ist in kleinen Ziegeln gezeichnet (ungefähr 8 Pixel pro 8 Feldzeilen), die in horizontalen Dreieckstreifen angeordnet sind. Der nicht-lineare Effekt wird auf einer Reihe pro Reihenbasis im CPU-Kern 102 der Bewegungsmaschine berechnet. Der CPU-Kern 102 schickt dann die Koordinaten in Verbindung mit dem nicht-linearen Effekt zur Vektoreinheit 1 108, wo der lineare Teil des 3D-Effekts (Translation und Rotation) durchgeführt wird.
  • Die Vektoreinheit 1 108 berechnet auch das geeignete Ausleuchten für jeden Ziegelscheitel der Seitenlocke. Das geeignete Ausleuchten wird von dem Winkel zwischen der Normalen zum Ziegel an diesem Scheitelpunkt und der Linie, welche die Lichtquelle mit dem Scheitel verbindet, bestimmt. Die Ausleuchtungseffekte werden unter Verwendung einer Kombination von RGB-Verstärkung und Weiß-Schleierbildung durchgeführt. Für Bereiche der Seitenlockenfläche, die fast senkrecht zur Ebene des Bildschirms sind, werden die Ausleuchtungswerte nicht auf Alpha angewandt (obwohl das RGB-Ausleuchten noch angewandt wird). Diese Bereiche des Bilds werden als diejenigen identifiziert, für welche der nichtlineare Teil der Transformation nicht den z-Wert eines der Scheitel des Grundelements ändert.
  • Die Vektoreinheit 1 108 gibt die Parameter für die transformierten Scheitel einschließlich Ausleuchtungswerte und die Texturkoordinaten entsprechend jedem Scheitel an den Grafik-Synthesizer 200 zur Bildaufbereitung aus.
  • Im Spezialfall einer Ausblendoperation ist es nötig, das Vordergrundvideobild zu zeichnen und dann den Vordergrund-Alpha-Wert zu verwenden, um diesen mit dem Hintergrundbild zu mischen, welches später hinzugefügt wird. Wenn ansonsten das Vordergrundvideo sich selbst überlappt und dann ausgelöscht wird, wird sich das überlappende Video mit dem Video unterhalb davon mischen, so dass das Maß an Hintergrundbild, welches durchschaut, mit der Anzahl von Überlappungsschichten variieren würde, was unnatürlich aussieht. Dies wird dadurch vermieden, dass das Vordergrundbild zuerst gezeichnet wird, so dass der Alpha-Wert, der verwendet wird, mit dem Hintergrund zu mischen, so ist, dass dieser mit der Kopfschicht des Vordergrundvideos verknüpft ist. Der Fall eines Überblendbetriebs ist eine Ausnahme. Für alle anderen Operationen ist es wahrscheinlich, dass das Zeichnen von Vordergrundobjekten vor Hintergrundobjekten eine Verminderung der Bildqualität zur Folge hat.
  • Das Vordergrundbild von 9A hat Bildglättung, die beim Umfang jedes Grafik-Grundelements angewandt wird. Folglich werden wir dies als "grundelement-verarbeitetes" Bild bezeichnen. Wie oben beschrieben umfasst der Bildglättungsprozess, der durch den Grafik-Synthesizer 200 durchgeführt wird, das Berechnen einer "Deckung" (welches das Ver hältnis der Fläche der aktuellen Linie ist, die jedes Pixel überdeckt) zu jedem Pixel am Rand des Grafik-Grundelements. Es wird angenommen, dass der Deckungswert der Alpha-Wert für das Pixel ist und das Alpha-Mischen auf der Bestimmungsfarbe (d.h., der Farbe im Hintergrund des Grafik-Grundelements) und der Grafik-Grundelementfarbe durchgeführt wird. Das Bildglätten hat die Wirkung, die Ränder der Grafik-Grundelemente im grundelement-verarbeiteten Bild zu verwischen. Obwohl dies effektiv Details zerstört, hat dies allgemein gute Effekte beim Verbessern der optischen Erscheinungsform des Bilds. Wenn jedoch Videoverarbeitung durchgeführt wird, wo die Zeichnungsreihenfolge unvorhersagbar ist, hat das Bildglätten rundum den Durchmesser der Grafik-Grundelemente ein unerwünschtes Musterbilden im Körper des Bilds in Verbindung mit den verwischten Rändern der Grafik-Grundelemente zur Folge. Außerdem werden die Alpha-Werte der Ränder der Grafik-Grundelemente während der Bildglättungsprozedur geändert, so dass die Grafik-Grundelementränder halbtransparent werden. Die Bildglättungsränder verbessern jedoch das Bilderscheinungsbild rundum den Umfang der Seite.
  • 9B zeigt schematisch ein Bild, welches durch Überlagerung einer Nicht-Bildglättungsversion des Bilds über dem grundelement-verarbeiteten Vordergrundbild von 9A gebildet ist. Um den unerwünschten Musterbildungseffekt im Körper des grundelement-verarbeiteten Bilds von 9A zu überwinden, wird eine nicht-grundelement-verarbeitete Version des Vordergrundbilds erzeugt, d.h., eine "Ursprungsbild"-Version, bei der die Grafik-Grundelementränder nicht bildgeglättet wurden. Das Ursprungsbild wird dem grundelement-verarbeiteten Bild überlagert, um eine Bildversion 2 zu erzeugen, welche das "kombinierte" Bild ist, welches in 9B gezeigt ist. Da die Umfangsränder des grundelement-verarbeiteten Vordergrundbilds aufgrund der Bildglättung verwischt sind, erstrecken sich diese verwischten Ränder außerhalb des Bereichs, der durch das Ursprungsbild eingenommen wird, und verbleiben frei, auf die die Überlagerung folgt. Für die Zwecke der Überlagerung ist Alpha = 1 für alle Pixel des Ursprungsbilds, d.h., es ist vollständig lichtundurchlässig, so dass dieses die darunterliegenden grundelement-verarbeiteten Bildbereich total verdeckt. Im freigelegten Umfangsbereich des grundelement-verarbeiteten Bilds entspricht der Alpha-Wert dem Wert, der von dem Deckungsverhältnis während des Bildglättungsprozesses berechnet wurde. Es wird ein z-Test durchgeführt, um zu bestimmen, welcher Teil des Bilds auf dem Kopf ist: Wenn znew ≥ zold, ist der neue Pixelwert am Kopf des alten Pixelwerts sichtbar und daher bildaufbereitet.
  • 9C zeigt schematisch den Prozess, durch den horizontales und vertikales Filtern des vollen Bildschirms von Video entsprechend dem kombinierten Bild von 9B durchgeführt wird, um eine weiche Bildversion zu erzeugen. Die kombinierte Bildversion wird manipuliert, um ein weiches Bild zu erzeugen. Horizontales Filtern wird durch Verschieben des Bilds um horizontal 1/2 Pixel erzielt, welches Interpolation erzwingt. Eine einfache Verschiebung würde nicht so effektiv eine Filterung in der vertikalen Richtung wegen der Verschachtelungsnatur des Bilds sein. Anstelle davon wird vertikales Filtern durch Verdoppeln der vertikalen Größe des Bilds erreicht, um Interpolation von Pixelwerten zu erzwingen, die eingefügt werden müssen, um die vertikale Ausdehnung zu verdoppeln. Das Bild wird nachfolgend bezüglich der Größe vertikal um 1/2 reduziert, so dass eine Durchschnittsbildung von Pixelwerten erreicht wird, und das Bild wird zurück horizontal um 1/2 Pixel verschoben. Das Ergebnis dieses horizontalen und vertikalen Filterns ist eine "aufgeweichte" Bildversion. Diese aufgeweichte Bildversion wird dazu verwendet, vorher festgelegte Bereiche der Bildversion 2 zu ersetzen, die in 9B gezeigt ist.
  • 9D zeigt schematisch, wie das endgültige bildgeglättete Bild erzeugt wird, wobei Bereiche der Bildversion 2 von 9B durch entsprechende Bereiche des aufgeweichten Bilds von 9C ersetzt werden. Die aufgeweichte Bildversion wird dazu verwendet, einen Bereich eines Grafik-Grundelements (8 Pixel breit bei dieser Ausführungsform) unmittelbar innerhalb der Umfangsgrenze des nicht-bildgeglätteten Bereichs in 9B zu ersetzen. Ein Umfangsbereich der Bildversion 2 wird durch den entsprechenden Bereich des aufgeweichten Bilds ersetzt. Jeder Bildbereich, für den der Alpha-Wert kleiner ist als eins, wird in dieser Stufe durch den entsprechenden Bereich des aufgeweichten Bilds ersetzt. Dies wird Bereiche umfassen, die mit dem Seitenlockeneffekt, der in 9D gezeigt ist, verknüpft sind.
  • 10 ist ein Flussdiagramm, welches eine Übersicht über die Stufen gibt, die bei dem Aufbau der Endversion des Bildglättungsbilds involviert sind. In der Stufe 1510 ist ein grundelement-verarbeitetes Vordergrundbild aus einer Gruppe von Grafik-Grundelementen gebildet, und der Umfang jedes Grafik-Grundelements ist bildgeglättet. In der Stufe 1520 wird ein Hintergrundbild aus einem einzigen Sprite gebildet. Die Größe des vollen Bildschirms und das Hintergrundbild werden mit dem Vordergrundvideo alpha-vermischt unter Verwendung der Vordergrund-Alpha-Werte, um das Bild 1 von 9A zu bilden. In der Stufe 1530 wird eine ursprüngliche Nichtbildungsglättungsversion des Vordergrundbilds auf dem Kopf der grundelement-verarbeiteten Version gezeichnet. Aufgrund des Verwischens der Ränder, was sich aus dem Bildglätten ergibt, bleibt der äußere Umfang des darunterliegenden grundelement-verarbeiteten Bilds frei. In der Stufe 1540 wird die Größe des kombinierten Bilds von 9B vertikal verdoppelt und um 1/2 Pixel horizontal verschoben, um Interpolation von Pixelwerten zu erzwingen. In der Stufe 1550 wird die Größe des kombinierten Bilds um 1/2 reduziert und zurück horizontal um 1/2 Pixel verschoben. Das Ergebnis ist ein aufgeweichtes Bild, welches horizontal und vertikal gefiltert wurde. Schließlich wird in der Stufe 1560 das aufgeweichte Bild dazu verwendet, die Bildregionen, für die Alpha kleiner als eins ist, einschließlich der peripheren Bereiche des Bilds 2 zu ersetzen.
  • Man wird aus den obigen Ausführungsformen es würdigen, dass die Erfindung als Computer-Software ausgeführt werden kann, die auf einem Speichermedium oder über ein Übertragungsmedium, beispielsweise ein Netzwerk oder das Internet geliefert werden kann.

Claims (16)

  1. Videoverarbeitungsverfahren zum Vorbereiten eines Bildglättungs-Vordergrundbilds zur Anzeige über einem Bildhintergrund, wobei das Verfahren folgende Schritte aufweist: (i) Vorbereiten des Bildhintergrunds zur Anzeige; (ii) Erzeugen eines ursprünglichen Vordergrundbilds durch Manipulation einer angrenzenden Gruppe von Grafikgrundelementen; (iii) Anwenden von Bildglättungsfilterung auf die Ränder jedes Grundelements, um ein grundelement-verarbeitetes Bild zu erzeugen; (iv) Überlagern des grundelement-verarbeiteten Bilds über dem Bildhintergrund; und (v) Überlagern des ursprünglichen Vordergrundbilds über dem grundelement-verarbeiteten Bild.
  2. Verfahren nach Anspruch 1, bei dem das Ergebnis von Schritt (v) ein kombiniertes Bild ist, wobei das Verfahren folgende Schritte aufweist: (vi) Tiefpassfiltern des kombiniertes Bilds, um ein tiefpass-gefiltertes Vordergrundbild zu erzeugen; (vii) Ermitteln von peripheren Randbereichen der Gruppe von Garfik-Grundelementen; und (viii) Überlagern lediglich der peripheren Randbereiche des tiefpass-gefilterten Bilds über dem kombinierten Bild.
  3. Verfahren nach Anspruch 2, bei dem der Tiefpass-Filterungsschritt einen Horizontal-Tiefpass-Filterungsschritt und einen Vertikal-Tiefpass-Filterungsschritt aufweist.
  4. Verfahren nach Anspruch 3, bei dem Horizontal-Tiefpass-Filterungsschritt aufweist: Interpolieren einer Pixel-Verschiebungs-Version des ursprünglichen Vordergrundbilds, wobei das pixel-verschobene Bild horizontal durch eine nicht-ganzzahlige Anzahl von Pixeln verschoben wird; und Verschieben des pixel-verschobenen Bilds zurück um die nicht-ganzzahlige Anzahl von Pixeln.
  5. Verfahren nach Anspruch 4, bei dem die nicht-ganzzahlige Anzahl von Pixeln die Hälfe eines Pixels ist.
  6. Verfahren nach einem der Ansprüche 3 bis 5, bei dem der Vertikal-Tiefpass-Filterungsschritt aufweist: Interpolation eines vertikal-expandierenden Bilds von dem ursprünglichen Vordergrundbild; und Interpolation eines nicht-vertikal-expandierenden Bilds von dem vertikalexpandierten Bild.
  7. Verfahren nach Anspruch 6, wobei das vertikal-expandierte Bild um einen Vertikalfaktor von 2 expandiert wird.
  8. Verfahren nach einem der Ansprüche 2 bis 7, bei dem: jedes Pixel des ursprünglichen Vordergrundbilds einen damit verknüpften Transparenz-Koeffizienten hat; und bei dem die Schritte (vi) und (viii) aufweisen: Einstellen des Transparenz-Koeffizienten auf einen Wert, der einen hohen Grad an Transparenz zeigt, für Pixel in der Nähe eines Umfangrands der Gruppe von Grafik-Grundelementen; und Schreiben des tiefpass-gefilterten Bilds über dem ursprünglichen Vordergrundbild, so dass das ursprüngliche Vordergrundbild durch Pixel des tiefpass-gefilterten Bilds in Abhängigkeit von dem Transparenz-Koeffizienten in Verbindung mit jeder Anzeigeposition des ursprünglichen Vordergrundbilds modifiziert wird.
  9. Verfahren nach Anspruch 8, bei dem der Schritt (ii) aufweist: Anwenden einer Transformation auf ein Quellenbild, um das ursprüngliche Vordergrundbild zu erzeugen, wobei die Transformation das Manipulieren von Teilen des Quellenbilds aufweist, um nicht parallel zur Anzeigeebene orientiert zu sein; und bei dem der Einstellungsschritt aufweist: Einstellen des Transparenz-Koeffizienten in Verbindung mit Pixeln des ursprünglichen Vordergrundbilds, welches Bildbereiche des ursprünglichen Vordergrundbilds darstellt, welche nicht parallel zur Anzeigeebene orientiert sind, auf einen Wert, der einen Nicht-Null-Grad an Transparenz zeigt.
  10. Verfahren nach Anspruch 9, wobei der Einstellungsschritt aufweist: Einstellen des Grads an Transparenz für Pixel des ursprünglichen Vordergrundbilds, welches Bildbereiche des ursprünglichen Vordergrundbilds darstellt, die nicht parallel zur Ebene des Bildhintergrunds orientiert sind, auf einen Wert in Abhängigkeit vom Winkel zwischen diesen Bildbereichen und der Anzeigeebene.
  11. Verfahren nach Anspruch 9 oder 10, bei dem der Einstellungsschritt aufweist: Einstellen des Transparenz-Koeffizienten in Verbindung mit Pixeln innerhalb eines Grafik-Grundelements auf einen Wert, der einen Nicht-Null-Grad an Transparenz zeigt, lediglich dann, wenn das Grundelement nicht einen Teil eines angrenzenden parallelen Satzes an Grundelementen bildet.
  12. Computer-Software, die den Programmcode zum Ausführen eines Verfahrens gemäß einem der vorhergehenden Ansprüche hat.
  13. Bereitstellungsmedium zum Bereitstellen von Software nach Anspruch 12.
  14. Medium nach Anspruch 13, wobei das Medium ein Übertragungsmedium ist.
  15. Medium nach Anspruch 13, wobei das Medium ein Speichermedium ist.
  16. Videoverarbeitungsvorrichtung zum Vorbereiten eines Bildglättungs-Vordergrundbilds zur Anzeige über einem Bildhintergrund, wobei die Vorrichtung aufweist: eine Einrichtung zum Vorbereiten des Bildhintergrunds zur Anzeige; eine Einrichtung zum Erzeugen eines ursprünglichen Vordergrundbilds durch Manipulation einer angrenzenden Gruppe von Grafik-Grundelementen; ein Bildglättungsfilter zum Anwenden von Bildglättungsfilterung auf die Ränder jedes Grundelements, um ein grundelement-verarbeitetes Bild zu erzeugen; eine Einrichtung zum Überlagern des grundelement-verarbeiteten Bilds über dem Bildhintergrund; und eine Einrichtung zum Überlagern des ursprünglichen Vordergrundbilds über dem grundelement-verarbeiteten Bild.
DE60301303T 2002-07-17 2003-06-26 Videoverarbeitung Expired - Fee Related DE60301303T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0216683 2002-07-17
GB0216683A GB2390949A (en) 2002-07-17 2002-07-17 Anti-aliasing of a foreground image to be combined with a background image

Publications (2)

Publication Number Publication Date
DE60301303D1 DE60301303D1 (de) 2005-09-22
DE60301303T2 true DE60301303T2 (de) 2006-06-01

Family

ID=9940690

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60301303T Expired - Fee Related DE60301303T2 (de) 2002-07-17 2003-06-26 Videoverarbeitung

Country Status (5)

Country Link
US (1) US20040109005A1 (de)
EP (1) EP1383315B1 (de)
JP (1) JP2004054953A (de)
DE (1) DE60301303T2 (de)
GB (1) GB2390949A (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078356A (ja) * 2003-08-29 2005-03-24 Toshiba Corp 情報処理装置
US7486337B2 (en) * 2003-12-22 2009-02-03 Intel Corporation Controlling the overlay of multiple video signals
JP2007156525A (ja) * 2005-11-30 2007-06-21 Matsushita Electric Ind Co Ltd 描画処理装置及び画像処理方法
US7720283B2 (en) 2005-12-09 2010-05-18 Microsoft Corporation Background removal in a live video
JP5028064B2 (ja) * 2006-10-16 2012-09-19 富士通株式会社 アウトラインフォント輝度値補正システムおよび方法、並びにアウトラインフォント輝度値の補正を実行するためのプログラム
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
WO2008092104A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US8648858B1 (en) 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
WO2011094537A2 (en) * 2010-01-29 2011-08-04 Hillcrest Laboratories, Inc. Embedding argb data in a rgb stream
CN103154867B (zh) 2010-10-12 2017-09-22 纽约大学 用于传感利用瓷片、具有一组板的传感器和多点触摸表面目标识别的装置和方法
CN102752523B (zh) * 2011-08-26 2017-09-19 新奥特(北京)视频技术有限公司 一种对dve进行实时控制的方法及装置
EP2615834A1 (de) 2012-01-16 2013-07-17 Thomson Licensing Verfahren zur Aufhebung des Aliasing und Vorrichtung für die 3D-Ansichtsynthese
US9575184B2 (en) * 2014-07-03 2017-02-21 Continental Advanced Lidar Solutions Us, Inc. LADAR sensor for a dense environment
WO2016049757A1 (en) * 2014-10-01 2016-04-07 Nuralogix Corporation System and method for detecting invisible human emotion
CN108376417B (zh) * 2016-10-21 2021-10-22 腾讯科技(深圳)有限公司 一种虚拟对象的显示调整方法及相关装置
KR102374945B1 (ko) * 2019-02-22 2022-03-16 지멘스 메디컬 솔루션즈 유에스에이, 인크. 영상 처리 방법 및 영상 처리 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773354B2 (ja) * 1990-02-16 1998-07-09 ソニー株式会社 特殊効果装置及び特殊効果発生方法
GB2245805A (en) * 1990-06-29 1992-01-08 Philips Electronic Associated Generating an anti-aliased image
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
US6005580A (en) * 1995-08-22 1999-12-21 Micron Technology, Inc. Method and apparatus for performing post-process antialiasing of polygon edges
US6154576A (en) * 1997-12-03 2000-11-28 Flashpoint Technology, Inc. System and method for anti-aliasing of text overlays on electronic images
US6115050A (en) * 1998-04-08 2000-09-05 Webtv Networks, Inc. Object-based anti-aliasing
US6614445B1 (en) * 1999-03-23 2003-09-02 Microsoft Corporation Antialiasing method for computer graphics
JP3262772B2 (ja) * 1999-12-17 2002-03-04 株式会社ナムコ 画像生成システム及び情報記憶媒体
DE19962730C2 (de) * 1999-12-23 2002-03-21 Harman Becker Automotive Sys Videosignalverarbeitungssystem bzw. Videosignalverarbeitungsverfahren
US6919906B2 (en) * 2001-05-08 2005-07-19 Microsoft Corporation Discontinuity edge overdraw

Also Published As

Publication number Publication date
JP2004054953A (ja) 2004-02-19
GB0216683D0 (en) 2002-08-28
EP1383315B1 (de) 2005-08-17
US20040109005A1 (en) 2004-06-10
DE60301303D1 (de) 2005-09-22
EP1383315A1 (de) 2004-01-21
GB2390949A (en) 2004-01-21

Similar Documents

Publication Publication Date Title
DE60301303T2 (de) Videoverarbeitung
DE60300788T2 (de) Bild mit Feldtiefe aus Z-Pufferbilddaten und Alphamischung
EP0927496B1 (de) Vorrichtung und verfahren zur erzeugung eines kompositbildes
DE69831924T2 (de) Verfahren und Vorrichtung zur Anzeige von Panoramen mit Videodaten
DE69534751T2 (de) Bilddatenerzeugungsverfahren, Bilddatenverarbeitungsvorrichtung und Aufzeichnungsmedium
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE69431329T2 (de) Verfahren zur Erzeugung von Bilddaten
DE69528627T2 (de) Verfahren zur Erzeugung von Bilddaten und zugehöriger Aufzeichnungsträger
DE69727109T2 (de) Verfahren und Gerät zur Bilddatenübertragung, Bildverarbeitung und Aufzeichnungsmedien dafür
DE69427574T2 (de) NTSC-Anzeige der Animation bewegter Bilder
DE60115034T2 (de) Verfeinerung von dreidimensionalen polygonalen gitterdaten
DE69628266T2 (de) Preisgünstiges Hochleistungsvideospielsystem mit Koprozessor zur Bereitstellung von effizienten Hochgeschwindigkeits-dreidimensionalen Graphiken und digitaler Audio-Signalverarbeitung
DE69908334T2 (de) Eine mehrfachdatenstrom-schalterbasierte-videoeditierarchitektur
DE69802738T2 (de) Durchsichtige Farbanzeige von Objekten auf einem Bildhintergrund
DE69432385T2 (de) Bilderzeugung
DE69331486T2 (de) Bilddatenverarbeitung
DE69937714T2 (de) Bilderzeugungsgerät, Verfahren zum Umschalten zwischen dargestellten Szenen für das Bilderzeugungsgerät, computerlesbares Aufzeichnungsmedium mit einem Programm zum Umschalten zwischen dargestellten Szenen und Videospielvorrichtung
EP0862141A2 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
US7084927B2 (en) Video processing
US8817013B2 (en) Method for processing a spatial image
DE69325867T2 (de) Verarbeitungsapparat für Ton- und Bilddaten
DE69420819T2 (de) Bildverarbeitung
US7876325B1 (en) Effect transitioning based on key locations in spatial dimensions
DE69910980T2 (de) Antialiasing mit unterabtastung für textur-raender

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee